1、炉温控制系统摘要:温度是工业生产中常见的工艺参数之一,任何物理变化和化学反应过程都与温度密切相关,因此温度控制是生产自动化的重要任务。对于不同生产情况和工艺要求下的温度控制,所采用的加热方式,燃料,控制方案也有所不同。随着集成电路技术的发展,单片微型计算机的功能也不断增强,许多高性能的新型机种不断涌现出来。本文主要介绍了利用8051为主控制电路实现的炉温调节控制系统,详细阐述了系统的功能,硬件组成以及软件设计,利用热电偶采集温度信号经 A/D 转换器转化后与给定信号送入微机系统,系统分析控制算法,信号再经 D/A 转换后控制调节可控硅控制器来改变炉内的温度。关键字:8051;可控硅;热电偶;转
2、换器设计要求一进行化学纤维加热的炉体,温度要求 800C 左右,加热方式是把电阻丝绕炉体周边,通 220V 市电加热。功率大约为 5000W。试按下列要求设计其控制系统。(1)温度要求不大于 1%,设计单回路控制系统选择控制计算机及仪表;选用可控硅控制;设计控制算法;画出原理框图(2)如果要求温度不大于 0.5%,怎样设计控制系统说明解决方案;画出原理框图(3)预算一下两种情况工程成本,说明在保证可靠情况下如何降低成本1 设计方案温度控制系统的硬件设计框图如图 1 所示.用热电偶来检测炉的温度,将炉温转变成毫伏级的电压信号,经温度变送器放大并转换成电流信号。由电阻网络讲电流信号变成电压信号,送
3、入 A/D 转换器,通过采样和模数转换,所检测到的电压信号和炉温给定值的电压信号都转换成数质量送入单片机进行比较,其差值即为实际炉温和给定炉温的偏差,以单片机为核心的数字 PID 控制器对偏差按照给定的方法运算,运算结果送 DAC0832 转换成模拟电压,经功率放大器放大后送入晶闸管调压器,触发晶闸管并改变其导通角的大小,从而控制电阻炉的加温电压,起到炉温调节的作用。温度给定值 ADC0809放大电路功 率放大器热电偶 8051单片机DAC0832晶闸管调压器晶闸管加热炉 滤波电路温 度显示电路图 1 温度控制原理框图2 方案所采用的仪器(1)测温电路采用 K 型热电偶。K 型也即镍铬镍硅热电
4、偶,它是一种能测量较高温度的廉价热偶。由于这种合金具有较好的高温抗氧化性,可适用于氧化性或中性介质中。它可长期测量 1000 度的高温,短期可测到 1200 度。它比S 型热偶要便宜很多,它的重复性很好,产生的热电势大,因而灵敏度很高,而且它的线性很好。(2)放大电路采用 LTC2053 放大仪器。作为热电偶放大器必须满足一些特殊要求,通常采用的 K 型热电偶的灵敏度为 40.6,而电路的输出一般要求为 10mV,因此,要选用额定增益为 246 的精密放大器。另外,热电偶一般容易受到工业环境中电子噪声的影晌,因此,仪用放大器允许输入不同的电压有助于消除由于共模噪声引起的误差。为了避免出故障,采
5、取的保护措施是不能让热电偶无意识地接触到瞬变电源或高电压,但保护措施不能兼顾到精度。LTC2053 有满足这些要求的补偿特性,它在任何引脚上都可以承受 10mA 的故障电流。图 2 放大电路电路中 LTC1025 对热电偶进行温度补偿,确保在各种环境条件下温度的测量精度,并要靠近热电偶的节点安装,以便对温度进行最佳的跟踪。LTC1025对不同的环境温度输出相应的电压,输出灵敏度为 10mV,因此,0时输出电压为 10mV,室温(25)时输出 250mV。测量探头温度相应的电压是补偿电压和被放大的热电偶电压之和,补偿电路的输出端与 LTC2053 的 REF(5 脚)输入端连接的所有这一切都要加
6、上这两种电压。对于这种电路结构,考虑的仅是校正的电压必需能供出或吸收反馈电阻中电流。由于,LTC1025 只供出电流,因此,可采用缓冲器 LTC2050 驱动 REF,LTC2050 是一种零漂移的运算放大器。采用单电源的缺点是,对于有效的输出探头和放大器单元的温度都必须超过0。若需要对负温度进行调节的话,可采用简单的充电泵变换器,例如LTC1046 构成负电源。(3)采用三相桥式全控整流如下图图 3 三相桥式全控整流(4)转换器采用 ADC0809、DAC0832 芯片。A/D 转换器是将模拟电压或电流转换成数字量的期间或装置,它是一种模拟系统和计算机之间的接口,它在数据采集和控制系统中,得
7、到了广泛的应用,常用的 A/D 转换器有 ADC0809. 它是一种带有 8 通道模拟开关的 8 位逐次逼近式 A/D 转换器,转换时间为 100us 左右,线性误差为1/2LSB,采用 28 脚双立直插式封装,ADC0809 由 8 通道模拟开关、通道选择逻辑、8 位 A/D 转换器及三态输出锁存缓冲器组成。图 4 ADC0809 引脚图D/A 转换器的功能是把二进制数字量电信号转换为与其数值成正比的模拟量电信号。常用 D/A 转换器为 DAC0832 芯片。DAC0832 工作在单缓冲寄存器方式,即当 信号来时, 数据线送来的数据直通进行 D/A 转换,当CS0D7变高时,则此数据便被锁存
8、在寄存器中,因此 D/A 转换的输出也保持不变。IOWDAC0832 讲输入的数字量转换成差动的电流输出( 和 ) ,为了将其编1OUTI2程电压输出,必须经过运算放大器,使其输出 0+5V( 为-5V)或REFV0+10V( 为-10V) ,若要形成负电压输出,则 需接正的基准电压。REFVDAC0832 是双列直插式 8 位 D/A 转换器。能完成数字量输入到模拟量(电流)输出的转换。图 5 为 DAC0832 的引脚图。其主要参数如下:分辨率为 8 位,转换时间为 1s,满量程误差为1LSB,参考电压为(+10?/span-10)V,供电电源为(+5+15)V,逻辑电平输入与 TTL 兼
9、容。在 DAC0832 中有两级锁存器,第一级锁存器称为输入寄存器,它的允许锁存信号为 ILE,第二级锁存器称为 DAC寄存器,它的锁存信号也称为通道控制信号 /XFER。图 5 DAC0832 引脚图 (5)键盘电路采用 8279 接口芯片。接收来自键盘的输入数据并作预处理;完成数据显示的管理和数据显示器的控制。单片机应用系统采用 8279 管理键盘和显示器,软件编程极为简单,显示稳定,且减少了主机的负担。(6)温度显示电路采用四位数码管。显示器普遍地用于直观地显示数字系统的运行状态和工作数据,按照材料及生产工艺,单片机应用系统中常用的显示器有:发光二极管 LED 显示器、液晶 LCD 显示
10、器、CRT 显示器等。LED 显示器是现在最常用的显示器之一。图 6图 6 中的译码器 74LS138 与共阴极 LED 数码管驱动器 CD4511 是由单片机的P1 口控制的,其中,P1.0、P1.1、P1.2 与译码器的输入相接,C 为高位,A 为地位。对四个共阴极数码管实现位选。在一个单片机系统中,对共阴极 LED 显示器的控制采用“接地方式”,即通过控制 LED 的“GND”引脚的电平高低来达到选通的目的,该引脚即通常所说的位选线。例如:我们想要让第三位数码管工作,那么需要使 L3 的位选线接低电平来达到目的,也就是使译码器的输出中的 Y3 为 0,其他为 1。本系统中,我们采用动态显
11、示方式,因此,需要不断的片选,而共阴极 LED 显示器的发光二极管负极接地,当发光二极管的正极为高电平时,发光二极管被点亮。这就由 CD4511 来驱动,例如:要显示 0 字形时,需要 LED 显示器的 8 个发光二极管“a,b,c,d,e,f,g”七个字段中的a,b,c,d,e,f 亮,那么,就需要 CD4511 输出中的 A、B、C、D、E、F 为高电平。这是 CD4511 芯片内部已设定好的,表 2 为 CD4511 芯片内部的二进制与输入与输出的对应关系列表。表 1 CD4511 输入输出逻辑对应关系D C B A dp G F E D C B A0 0 0 0 0 0 1 1 1 1
12、 1 10 0 0 1 0 0 0 0 0 1 1 00 0 1 0 0 1 0 1 1 0 1 10 0 1 1 0 1 0 0 1 1 1 10 1 0 0 0 1 1 0 0 1 1 00 1 0 1 0 1 1 0 1 1 0 10 1 1 0 0 1 1 1 1 1 0 00 1 1 1 0 0 0 0 0 1 1 11 0 0 0 0 1 1 1 1 1 1 11 0 0 1 0 1 1 0 0 1 1 1LED显示器的基本结构和原理:LED显示器采用发光二极管显示字段。单片机中经常采用的是八段显示器,即LED显示器中有8个发光二极管,代表“a,b,c,d,e,f,g”七个字段和一
13、小数点“dp ”。它有共阴和共阳两种结构。共阴极LED显示器的发光二极管负极接地,当发光二极管的正极为高电平时,发光二极管被点亮。共阳极LED显示器的发光二极管正极相连,当二极管的负极为低电平时,发光二极管被点亮。在一个单片机系统中,对共阴极LED显示器的控制采用“接地方式”,即通过控制LED的“GND”引脚的电平高低来达到选通的目的,该引脚即通常所说的位选线。共阳极LED显示器控制方式则相反。两种控制方式中,共阴极LED控制方式受系统器件功耗限制,只能用在小尺寸的LED显示器中。对于大尺寸LED显示器的控制(如大屏幕计时器)一般使用共阳极方式。LED的显示和接口方式:LED数码管的显示有静态
14、和动态两种方式。从接口上分又有并行和串行两种,这要视接口和驱动芯片而定。常用的并行LED接口芯片有8155、8255 以及键盘和显示专用芯片8279等。与并行方式相比,串行方式仅占用CPU 少数几根I/O 口线便可实现LED显示功能,以前的51 单片机系统经常通过串口通信线TXO 、RXD( P3.0.、P3.1 )加移位寄存器74LS164实现LED显示功能。近年来国内外各大厂商纷纷推出了基于串行总线方式的LED显示器接口芯片,如MAXIN公司的MAX7219 、力源的PS7219 以及周立功的ZLG7289 等等。这些芯片与单片机的接口一般采用SPI 总线方式,具有占用I/O 口线少,与单
15、片机接口程序易于实现的特点,使用起来十分方便。LED 显示器按照接口不同有静态和动态两种方式。静态显示方式中,多个LED 显示器中的每一个段代码都与一个独立的 8 位并行口连接,公共端则根据LED 的种类(共阴或共阳)连接到“地”或“VCC ”上。四位静态 LED 显示电路中,每个 LED 的段代码都由独立的并行 8 位 I/O 口线控制,可以在同一时间内显示不同的字符。静态 LED 显示方式的优点是编程容易,但功耗大,占用CPU I/O 口线较多,成本较高。因此在单片机应用系统中较多使用的还是动态显示方式。所谓动态显示,实质上就是各个不同的 LED 显示器按照一定的顺序轮流显示。它利用了人眼
16、的“视觉暂留现象”,只要多个 LED 显示器的选通扫描速率足够快,人眼就觉察不到数码管的闪烁现象。动态扫描方式的所有 LED段选线并联在一起,只由一个 8 位的 I/O 口控制,而各个 LED 的位选线则由另外一组 I/O 口控制。动态 LED 显示方式的优点是功耗较低,占用 CPU I/O 线少,外围接口简单,本系统便是采用了动态 LED 显示方式。动态扫描从左到右进行,显示缓冲区首地址为 79H。因此各位显示器都扫过一遍之后,就返回监控程序。经过一段时间间隔后,再调用显示扫描程序。通过这种反复调用来实现 LED 显示器的动态扫描。3 系统硬件设计用热电偶来检测炉的温度,将炉温转变成毫伏级的
17、电压信号,经温度变送器放大并转换成电流信号。由电阻网络讲电流信号变成电压信号,送入 A/D 转换器,通过采样和模数转换,所检测到的电压信号和炉温给定值的电压信号都转换成数质量送入单片机进行比较,其差值即为实际炉温和给定炉温的偏差,以单片机为核心的数字 PID 控制器对偏差按照给定的方法运算,运算结果送DAC0832 转换成模拟电压,经功率放大器放大后送入晶闸管调压器,触发晶闸管并改变其导通角的大小,从而控制电阻炉的加温电压,起到炉温调节的作用。图 7 硬件设计图4 控制算法由以上分析,本次设计采用的是积分分离 PID 控制算法,PID 调节时连续系统中技术中最成熟的,应用广泛的一种调节控制方式
18、。在模拟控制系统中,PID 算法的表达为: )()(1)()(0tDIp dteTetKtuu:调节器的输出信号;e:偏差信号;K:调节器的比例系数;TI:调节器的积分时间;TD:调节器的微分时间。在计算机控制中,为实现数字控制,必须对式上式进行离散化处理。用数字形式的差分方程代替连续系统的微分方程。设系统的采样周期为 T,在 t=kT时刻进行采样, kitTede00)()(Tkedte)1)((式中 e(k):根据本次采样值所得到的偏差;e(k-1):由上次采样所得到的偏差。由以上可得:T1kekiekeKiTudk0ipiI )()()()( )()()()()( D式中,T 为采样时间
19、, 项为积分项的开关系数)(01ke积分积分分离 PID 控制算法程序框图如图 8 所示:图 8 积分分离 PID 控制算法程序框图5 系统改进炉温控制是一个大滞后,非线性的控制。简单的单回路可能无法满足工艺的要求。因此再次基础上,将系统改进。采用增加副回路构成串级控制系统。副控制器的给定为单片机的输出,副控制器的输入是电流的检测。(1)串级控制系统的组成这种系统具有 2 个调节器、2 个闭合回路和两个执行对象。2 个调节器分别设置在主、副回路中,设在主回路的调节器称主调节器,设在副回路的调节器称为副调节器。两个调节器串联连接,主调节器的输出作为副回路的给定量,副调节器的输出去控制执行元件。主
20、对象的输出为系统的被控制量中下水箱液位,副对象的输出是一个辅助控制变量。(2)串级系统的抗干扰能力串级系统由于增加了副回路,对于进入副环内的干扰具有很强的抑制作用,因此作用于副环的干扰对主被控量的影响就比较小。系统的主回路是定值控制,而副回环是一个随动控制。在设计串级控制系统时,要求系统副对象的时间常数要远小于主对象。此外,为了指示系统的控制精度,一般主调节器设计成 PI或 PID 调节器,而副调节器一般设计为比例 P 控制,以提高副回路的快速响应。在搭实验线路时,要注意到两个调节器的极性(目的是保证主、副回路都是负反馈控制)。 (3)串级控制系统与单回路的控制系统相比串级控制系统由于副回路的
21、存在,改善了对象的特性,使等效对象的时间常数减小,系统的工作频率提高,改善了系统的动态性能,使系统的响应加快,控制及时。同时,由于串级系统具有主副两只控制器,总放大倍数增大,系统的扰干扰能力增强。因此,它的控制质量要比单回路控制系统高。温度给定值 ADC0809放大电路功 率放大器热电偶 8051单片机DAC0832晶闸管调压器晶闸管加热炉 滤波电路副控制 器温 度显示电路ADC 0809图 9 串级控制原理框图6 预算成本串级控制成本接近单回路控制成本的两倍。附录ADZH:MOV IE,#00H ;A/D 转换子程序MOV DPTR,#88FFHCLR P0.0CLR P0.1MOVX DP
22、TR,A ;启动 A/DNOP NOPNOPNOPNOPNOP LOOP:JB P0.3,LOOPSETB P0.0MOVX A,DPTR ;读转换结果 8 位MOVX ADH,A ;存转换结果高 8 位NOPNOPNOPNOPNOPSETB P0.1MOVX A,DPTRMOV ADL,AMOV IE,#81HRETAJMP KEY1KS1: MOV A,#0FFHMOV P1,A MOV A,P1 ;读 P1 口键值CPL A ;A 取反,无键按下则全“0” ANL A,0FH ;屏蔽 A 高半字节RETKEY1: ACALL KS1 ;检查是否有键闭合JNZ LK1 ;A 非“0” 则转
23、移ACALL DISP ;显示一次(延时 10 ms)AJMP KEY1LK1: ACALL DISP ;有键闭合二次消抖延时 20 msACALL DISP ACALL KS1 ;再检查有键闭合否JNZ LK2 ;有键闭合,转 LK2ACALL DISPAJMP KEY1 ;经去抖动确认无键闭合,延时 10 ms 后转 KEY1LK2:MOV R2,#0EH ;扫描初值进 R2MOV R4,#00H ;扫描列号送 R4LK4: MOV P1,A ;扫描初值送 P1 口MOV A,P1 ;读 P1 口JB ACC.0,LONE ;ACC.0=1,第 0 行无键闭合,转 LONEMOV A,#0
24、0H ;装第 0 行行值AJMP LKPLONE: JB ACC.1,LTWO ;ACC.1=1,第 1 行无键闭合,转 LTWOMOV A,#04H ;装第 1 行行值AJMP LKPLTWO:JB ACC.2,LTHR ;ACC.2=1,第 2 行无键闭合,转 LTHRMOV A, #08H ;装第 2 行行值AJMP LKPLTHR: JB ACC.3,NEXT ;ACC.3=1,第 3 行无键闭合则转 NEXTMOV A,#0CH ;装第 3 行行值LKP: ADD A,R4 ;计算键值PUSH ACC ;保护键值,将键值入栈LK3: ACALL DISP ;延时 10ms 消抖ACA
25、LL KS1 ;查键是否继续闭合,若闭合再延时JNZ LK3POP ACC ;若键起,则键码送 ARETNEXT: INC R4 ;扫描列号加 1MOV A,R2JNB ACC.3,KND ;笫 3 位为“0”,已扫完最高列则转 KENDRLA A ;循环左移一位MOV R2,AAJMP LK4 ;进行下一列扫描KEND: AJMP KEY1 ;扫描完毕,开始新的一轮KEY: MOV R2,#0FFH ;计算键值子程序,初始化键值寄存单元MOV DPTR,#KEYTABLE ;向 DPTR 加载键码表CHAZ: INC R2 ;键值加 1MOV A,R2 ;键值送给 AMOVC A,A+DPT
26、R ;查出对比键码CJNE A,#0FFH ,CHA ;搜索对比键码结束? 否,跳到 CHARET ;是,最终没找出有效键值,直接返回CHA: CJNE A,R4,CHAZ ;对比键码与当前扫描结果(键码) 一致?;否,跳到 CHAZ 再搜索LCALL SHOW ;是,显示出来RET ;返回KEYTABLE: ;键码表DB 07EH,07DH,07BH,077HDB 0BEH,0BDH,0BBH,0B7HDB 0DEH,0DDH,0DBH,0D7HDB 0EEH,0EDH,0EBH,0E7HDB 0FFH初始化子程序:DISPP:MOV P1,73HLCALL DELAYTIMERET显示键值
27、子程序:SHOW: MOV A,R2MOV B,#10DIV ABSHOWX: MOV DPTR,#LEDTABLEXCH A,BMOVC A,A+DPTRMOV SBUF,ACLR TIJNB TI,$XCH A,BMOVC A,A+DPTRMOV SBUF,ACLR TIJNB TI,$RETDELAYTIME: ;50mS 延时子程序MOV TMOD,#01HHH: MOV TH0,#4CHMOV TL0,#00HSETB TR0CLR TF0NB TF0,$CLR TR0RETLEDTABLE:DB 0FCH,060H ,0DAH,0F2H ,066H,0B6H;LED 字型码表DB 0BEH,0E0H,0FEH ,0E6H,02HEND