电阻加热炉温度控制精选文档TTMS system office room 【TTMS16H-TTMS2A-TTMS8Q8-微型计算机控制技术课程设计----电阻加热炉温度控制学院:信息工程学院专业班级:自动化0703班姓名:唐凯学号:07001139目录一、摘要二、总体方案设计1、设计内容及要求2、工艺要求3、要求实现的系统基本功能4、对象分析5、系统功能设计三、硬件的设计和实现四、数字控制器的设计)五、软件设计)1、系统程序流程图2、程序清单六、完整的系统电路图七、系统调试八、设计总结九、参考文献一、摘要温度是工业对象中主要的被控参数之一。
特别是在冶金、化工、机械各类工业中,广泛使用各种加热炉、热处理炉、反应炉等。
由于炉子的种类不同,所采用的加热方法及燃料也不相同,如煤气、天然气等。
但就控制系统本身的动态特性而言,均属于一阶纯滞后环节,在控制算法上基本相同,可采用PID 控制或其他纯滞后补偿算法。
为了保证生产过程正常安全地进行,提高产品的质量和数量,以及减轻工人的劳动强度,节约能源,对加热用的各种电炉要求在一定条件下保持恒温,不能随电源电压波动或炉内物体而变化,或者有的电炉的炉温根据工艺要求按照某个指定的升温或保温规律而变化,等等。
因此,在工农业生产或科学实验中常常对温度不仅要不断地测量,而且要进行控制。
二、总体方案设计设计任务用一台计算机及相应的部件组成电阻炉炉温的自动控制系统,并使系统达到工艺要求的性能指标。
1、设计内容及要求电阻加热炉用于合金钢产品热力特性实验,电加热炉用电炉丝提供功率,使其在预定的时间内将炉内温度稳定到给定的温度值。
在本控制对象电阻加热炉功率为8KW,有220V交流电源供电,采用双向可控硅进行控制。
系统模型:2、工艺要求按照规定的曲线进行升温和降温,温度控制范围为50—350℃,升温和降温阶段的温度控制精度为+5℃,保温阶段温度控制精度为+2℃。
3、要求实现的系统基本功能微机自动调节:正常工况下,系统投入自动。
模拟手动操作:当系统发生异常,投入手动控制。
微机监控功能:显示当前被控量的设定值、实际值,控制量的输出值,参数报警时有灯光报警。
4、对象分析在本设计中,要求电阻炉炉内的温度,按照上图所示的规律变化,从室温开始到50℃为自由升温阶段,当温度一旦到达50℃,就进入系统调节,当温度到达350℃时进入保温段,要始终在系统控制下,一保证所需的炉内温度的精度。
加工结束,要进行降温控制。
保温段的时间为600—1800s。
过渡过程时间:即从开始控制到进入保温阶段的时间要小于600s。
在保温段当温度高于352℃或低于348℃时要报警,在升温和降温阶段也要进行控制,使炉内温度按照曲线的斜率升或降。
采用MCS—51单片机作为控制器,ADC0809模数转换芯片为模拟量输入,DAC0832数模转换芯片为模拟量输出,铂电阻为温度检测元件,运算放大器和可控硅作为功率放大,电阻炉为被控对象,组成电阻炉炉温控制系统,另外,系统还配有数字显示,以便显示和记录生产过程中的温度和输出值。
5、系统功能设计计算机定时对炉温进行测量和控制一次,炉内温度是由一铂电阻温度计来进行测量,其信号经放大送到模数转换芯片,换算成相应的数字量后,再送入计算机中进行判别和运算,得到应有的电功率数,经过数模转换芯片转换成模拟量信号,供给可控硅功率调节器进行调节,使其达到炉温变化曲线的要求。
三、硬件的设计和实现1、计算机机型:MCS—51 8031(不包含ROM、EPROM)系统总线:PC总线2、设计输入输出通道输入通道:因为所控的实际温度在50 ~ 350℃左右,即(350-50)=300所以选用8位A/D转换器,其分辨率约为℃/字,再加放大器偏置措施实现。
(通过调整放大器的零点来实现偏置)这里采用一般中速芯片ADC0809。
ADC0809是带有8位A/D转换器,8路多路开关以及微型计算机兼容的控制逻辑的CMOS组件,其转换方法为逐次逼近型。
8路的模拟开关由地址锁存器和译码器控制,可以在8个通道中任意访问一个通道的模拟信号。
输出通道:据其实际情况,D/A转换器的位数可低于A/D转换器的位数,因为一般控制系统对输出通道分辨率的要求比输入通道的低,所以这里采用常用的DAC0832芯片DAC0832是8位D/A转换器,与微处理器完全兼容。
期间采用先进的CMOS 工艺,因此功耗低,输出漏电流误差较小。
因DAC0832电流输出型D/A转换芯片,为了取得电压输出,需在电流输出端接运算放大器,Rf为为运算放大器的反馈电阻端。
3、设计支持计算机工作的外围电路矩阵键盘技术:温度输出显示技术:LED静态显示接口技术,所谓静态显示,即CPU输出显示值后,由硬件保存输出值,保持显示结果.特点:占用机时少,显示可靠.但元件多,线路复杂、成本高,功耗大。
报警电路设计:正常运行时绿灯亮,在保温阶段炉内温度超出系统允差范围,就要进行报警。
报警时报警灯亮,电笛响,同时发送中断信号至CPU进行处理。
4、元器件的选择传感器的选择:铂铑10—铂热电偶,S型,正极性,量程0—1300C,使用温度小于等于600C,允差+。
执行元件的选择:电阻加热炉采用晶闸管(SCR)来做规律控制,结合电阻炉的具体要求,为了减少炉温的纹波,对输出通道采用较高的分辨率的方案,因此采用移相触发方式,并且由模拟触发器实现移相触发。
变送器的选择:因为系统要求有偏置,又需要对热电偶进行冷端补偿,所以采用常规的DDZ系列温度变送器。
控制元件:采用双向可控硅进行控制,其功能相当于两个单向可控硅反向连接,具有双向导通功能,其通断状态有控制极G决定。
在控制极加上脉冲可使其正向或反向导通。
四、数字控制器的设计1、控制算法:电阻加热炉温度控制系统框图:整个闭环系统可用一个带纯滞后的一阶惯性环节来近似,所以其控制算法采用大林算法。
电阻加热炉温度控制系统模型为其广义的传递函数为:大林算法的设计目标是设计一个合适的数字控制器,使整个闭环系统的传递函数相当于一个带有纯滞后的一阶惯性环节,即:通常认为对象与一个零阶保持器相串联, 相对应的整个闭环系统的脉冲传递函数是:11788.2)(40+=-s e s G s2、计算过程:连同零阶保持器在内的系统广义被控对象的传递函数]11788.21[)(40+-=--s e s e Z z G sTs])1178(1[)1(8.2401+-=--s s Z zz T]11781781[)1(8.2401+--=--s s Z zz T]1111[)1(8.211781141---------=z ez z z15945.01154.0---=z z系统闭环传递函数]11[)()()(+-==Φ--s e s e Z z R z C z NTsTs τ111)1(-------=z eezTTN ττ数字控制器:)](1)[()()(z z G z z D Φ-Φ=)(])1(1[)1(111z G z e z eez N TTTN ------------=τττ51510110105154.0945.01])1(1[)1(-------------=z z z ez eez τττ511933.0007.01)945.01(448.6------=z z z]933.0933.0933.0933.01)[1()945.01(448.6)(432111------++++--=z z z z z z z D消除振铃现象后的数字控制器:111)945.01(448.6)(----=z z z D111945.0297.1297.1)()()(---⨯-==z z z E z U z D将上式离散化:U (Z )—U (Z )Z —1=(Z )—(Z )Z —1U (K )—U (K —1)=(K )—(K —1) 最终得:U (K )=U (K —1)+(K )—(K —1)五、软件设计1、系统程序流程图a、系统主程序框图b、A/D转换子程序流程图C、数字控制算法子程序流程图d、LED显示流程图2、程序清单ORG 0000HAJMP MAINORG 0003HAJMP KEYSORG 000BHAJMP PIT0ORG 001BHAJMP PIT1 ;中断入口及优先级MAIN: MOV SP,#00HCLR 5FH :清上下限越限标志MOV A,#00HMOV R7,#09HMOV R0,#28HLP1:MOV @R0,AINC R0DJNZ R7,LP1MOV R7,#06HMOV R0,#39HLP2:MOV @R0,AINC R0DJNZ R7,LP2MOV R7,#06HMOV RO,#50HLP3:MOV @R0,AINC R0DINZ R7,LP3 ;清显示缓冲区MOV 33H,#00HMOV 34H,#00H ;赋KP高低字节MOV 35H,#00HMOV 36H,#00H ;赋KI高低字节MOV 37H,#00HMOV 38H,#00H ;赋KD高低字节MOV 42H,#00HMOV 43H,#00H ;赋K高低字节MOV TMOD,#56H ;T0方式2,T1方式1计数MOV TLO,#06HMOV THO,#06HMOV 25H,#163H ;设定值默认值350SETB TR0 ;键盘高优先级SETB ET0SETB EX0SETB EA ;开键盘T0。
T1中断LOOP:MOV R0,#56HMOV R1,#55HLCALL SCACOV ;标度转化MOV R0,#53HLCALL DIRNOPLCALL DLY10MSNOPLCALL DLY10MSAJMP LOOP ;等中断键盘子程序KEYS:CLR EX0CLR EAPUSH PSWPUSH ACC ;关中断LCALL DLY10MS ;消抖CC:JB AASETB 5DH ;置“显示设定值温度值标志”MOV A,25H ;取运算位的值MOV B,#10H ;BCD码转化DIV A BMOV 52H,AMOV A, BMOV 51H, ALCALL DIR ;显示设定温度NOPLCALL DLY10MSNOPLCALL DLY10MSJB ,BBMOV R1,#25HLCALL DAAD1NOPLCALL DLY10MSAJMP CCBB: JB CCMOV R1,#25HLCALL DEEC1NOPLCALL DLY10MSAJMP CCAA: POP ACCPOP PSWSETB EX0SETB EA ;出栈RETI显示子程序DIR: MOV SCON ,#00H ;置串行口移位寄存器状态SETB ;开显示JB 5DH,DL1 ;显示设定温度DL2: MOV DPTR,#SEGTDL0: MOV A,@R0MOVC A,@A+DPTRMOV SBUF ,ALOOP1: JNB TI, LOOP1CLR TIINC R0MOV A,@R0MOVC A,@A+DPTRANL A, #7FH :使数带小数点LOOP2: JNB TI,LOOP2CLR TIINC R0MOV A,@R0MOVC A,@A+DPTRMOV SBUF,ALOOP3: JNB TI,LOOP3CLR TICLRCLR 5DHRETDL1: MOV 50H,#0AH ;小数位黑屏AJMP DL2SEGT: DB0C0H ,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH加一子程序DAAD1: MOV A,#00HORL A,@R1ADD A,#01HCJNE A,#30H,DAAD2 ;超过48度了吗?DAAD3: MOV @R1,ADAA: RETDAAD2: JC DAAD3MOV @R1,#15EH ;超过48则转回到355AJMP DAA减一子程序DEEC1: MOV A,@R1DEC ACJNE A,#15EH,DEEC2 ;低于355度了吗?DEEC3: MOV @R1,ADEE : RETDEEC2: JNC DEEC3MOV @R1,#30H ;低于355则转回到48AJMP DEET0中断子程序PTT0: CLR EAPUSH ACCPUSH PSWPUAH DPLPUSH DPHSETB EA ;压栈后开中断响应键盘PPP: LCALL SMAP :采样数据LCALL FILTER ;数字滤波MOV A,2AH ;取采样值CJNE A,#07H,AAA ;下限48比较AJMP BBBAAA: JC CCC ;小于48度转CJNE A,#0FEH ,DDD ;上限355比较AJMP BBB ;转至48~355正常范围处理DDD: JC BBBCLR ;大于355黄灯亮SETB 5EHCLR ;置标志启动风扇AJMP PPPCCC: CLR ;小于48红灯亮SETB 5FHBBB: CLR ;置标志启动电炉AJMP PPPSETBSETBSETBSETBCLR 5EHCLR 5FH ;50~350之间正常LCALL PIDJNB 20H,EEF ;设定温度小于实际值转到风扇MOV A,29HLCALL FFFCLRLOOP10: MOV R0,#56H ;存放相乘结果的首址MOV R1,#55H ;赋显示缓冲区最高位地址LCALL SCACOV ;标度转化MOV R0,#53H ;赋显示首址CLR DIRJB D5H,LOOP10 ;等待T1中断CLR EAPOP DPHPOP DPLPOP PSWSETB EAPOP ACCRETIEEE: MOV A,28H ;风扇处理LCALL FFFCLRAJMP LOOP10FFF: CRL A ;根据PID结果计算T1初值INC AMOV TL1,AMOV TH1,#0FFHSETB PI1SETB TR1SETB ET1RET标度转化SCACOV :PROC NEARMOV DX,0MOV DATA1,#258HMOV DATA2,#708HMOV DATA3,#960HPROC NEARMOV DX,0MOV AX,DATAP ;取采样时间CMP AX,DATA3 ;时间大于2400?JAE Q3DORCMP AX,DATA2JAE Q3-Q2 ; 1800<时间<2400CMP AX,DATA3JAE Q2-Q1 ; 600<时间<1800Q0: MOV BX, ;<600S Q=50+t/2 MUL BXADC DX,0JMP DONEQ2-Q1: MOV AX,#15EH ;Q=350Q3-Q2: SUB AX,DATA2 ;Q=350-(t-1800)/2MOV BX,MUL BXMOV AX,#15EHSUB AX,BXMOV @R1,APP: RET采样子程序SWAP: MOV R0,#20HMOV R1,#03HSAW1: MOV DPTR,#7FF8HMOVX @DPTR A ;A/D转化MOV R2,#20HDLY: DJNZ R2,DLY ;延时HERE: JB ,HEREMOV DPTR,#7FF8HMOVX A,@DPTR ;读转化结果MOV @R0,AINC R0DJNZ R1,SAM1RET数字滤波FILTER: MOV A, 20HCJNE A,2DH CMP1AJMP CMP2CMP1: JNC CMP2XCH A,2DHXCH A,2CHCMP2: MOV A,2DHCJNE A,22EH,CMP3MOV 2AH,AAJMP RRCMP3: JC CMP4MOV 2AH,AAJMP RRCMP4: MOV A,2EHCJNE A,2CH,CMP5MOV 2AH ,AAJMP RRCMP5: JC CMP6XCH A,2CHCMP6: MOV 2AH,ARR: RETT1中断PIT1: CLR 00HJB 20H, GGGSETB ;关闭电炉GG: CLR PT1RETIGGG: SETB ;关闭风扇CLR 20HAJMP GG延时10MS子程序DLY10MS: MOV R7,#0A0HDLOO: MOV R6,#0FFHDL11: DJNZ R6,DL11DJNZ R7,DL00RET数字PID算法子程序PID: MOV R5,#00HMOV R4,2DH ;取NX值MOV R3,#00HMOV R2,#32H ;取50LCALL CPL1LCALL DSUM ;求(NX-32H)值MOV R0,#5AH ;赋乘法算法运算暂存单元地址首址MOV R5,#05HMOV R4,#1CH ;赋参数LCALL MULT ;调无符号数乘法MOV 31H ,5BHMOV 32H ,5AH ;存放结果有效值MOV R5,31HMOV R4,32H ;取双字节UR(设定)MOV R3,2AHMOV R2,#00H ;取双字节实测值ACALL CPL1 ;取U(K)补码ACALL DSUM ;计算E(K)MOV 39H, R7MOV 3AH,R6 ;存E(K)MOV R5,35HMOV R4,36H ;取KI参数MOV R0,#4AHACALL MULT1 ;计算PI=KI*E(K)MOV R2,39HMOV R4,3AH ;取E(K)MOV R3,3BHMOV R2,3CH ;取E(K-1)MOV R5,33HMOV R4,34H ;取KP参数MOV R0,#46HACALL MULT1 ;KP*[ E(K)- E(K-1)]MOV R5,49HMOV R4,48HMOV R3,4DHMOV R2,4CHLCALL DSUM ;KP*[ E(K)- E(K-1)]+ KI*E(K)MOV 4AH, R7MOV 4BH,R6 ;保存上式之和MOV R5,39HMOV 3CH,3AH ;存E(K)到E(K-1)MOV A,31H ;取设定值CJNE A,2AH,AA2 ;比较设定值与实测值AA3: CLR 20H ;清电炉标志AA1: RETAA2 JNC AA3SETB 20H ; 清风扇标志位MOV R3,39HMOV R2,3AHLCALL CPL1MOV A,R3MOV R7,AMOV A,R2MOV R6,AMOV R5,42HMOV R4,43H ;取K1风扇标志MOV R0,#5AHACALL MULT1 ;计算P=K*E(K)且结果存在51H,50H 单元中MOV 28H,5BH ;取8位有效值存在28H单元AJMP AADSUM: MOV A,R4 ;双字节加法子程序(R5R4)+(R3R2) (R7R6) ADD A,R2MOV R6,AMOV A,R5ADDC A,R3MOV R7,ARET双字节求补CPL1: MOV A,R2CPL AADD A,#01HMOV R2,AMOV A,R3CPL AADDC A,#00HMOV R3,ARET乘法被乘数R7R6乘数R5R4MULT1: MOV A,R7RLC AMOV 5CH,C ;被乘数符号C1 5CH位JNC POS1 ;为正数则转MOV A,R1 ;为负数求补CPL AADD A,#01HMOV R6,AMOV A,R7CPL AADDC A,#00HMOV R7,APOS1: MOV A,R5 ;取乘数RLC A ;乘数符号C2 5DHMOV 5DH,CJNC POS2 ;为正数则转MOV A,R4CPL AADD A,#01HMOV R4,AMOV A,R5CPL AADDC A,#00HMOV R5,APOS2: ACALL MULTMOV C,5CHANL C,5DHJC TPL ;负负相乘转MOV C,5CHMOV C,5DHJNC TPL ;正正相乘转DEC R0MOV A,@ROCPL AADD A,#01MOV @R0,AINC R0MOV A,@R0CPL AADDC A,#00HMOV @R0,ATPL: RETMULT: MOV A,R6MOV B,R4 ;取低位相乘MUL ABMOV @R0,AMOV R3,BMOV A,R4MOV B,R7MUL ABADD A,R3MOV R3,AMOV A,BADDC A,#00HMOV R2,AMOV A,R6MOV B,R5MUL ABADD A,R3INC R0MOV @R0,ACLR 5BHMOV A,R2ADDC A,BMOV R2,AJNC LASTSETB 5BH ;置进位标志LAST: MOV A,R7MOV B,R5MUL ABADD A,R2INC R0MOV @R0,A ;存积MOV A,BADDC A,#00HMOV C,5BHADDC A,#00HINC R0MOV @R0,ARETEND六、完整的系统电路图七、系统调试在设计完成后进行调试,根据设计逻辑图制作好实验样机,就可以进入硬件调试,调试的主要任务是排除样机的故障,其中包括设计错误和工艺性故障,然后在进行软件的调试用微型机对MCS51系列单片机程序进行交叉汇编。