1、选用AD574A模/数转换器实现对温度信号的转换。AD574A是12位逐次逼近型A/D转换器,转换时间为25s,转换精度为0.05%。二、数字控制器的设计理论分析和实验结果表明,电阻炉是一个具有自平衡能力的对象,可以近似为带有纯滞后的一阶惯性环节。由被控对象实验得到的飞升曲线,确定出被控对象的纯滞后时间=1.2 min和被控对象的惯性时间常数TP=1.2 min。当/TP0.5时,可采用PID算法控制;当/TP 0.5时,可采用达林算法控制,本系统/TTP0.5,故采用达林算法控制。三、硬件的设计和实现1、温度检测及功率放大电路本系统采用镍铬-镍硅热电偶检测电阻炉中的温度,热电偶测温是基于物体
2、的热电效 应,它由两种不同的金属或合金组成,其优点是结构简单,可将温度信号转换成电压信号,测温范围广、精度高,可实现远距离测量和传送,使用稳定、可靠,因此被广泛应用。其不足之处是测温精度受冷端温度(即环境温度)的影响,为了提高热电偶测温精度,需要在热电偶冷端进行温度补偿。温度检测电路及功率放大电路如图所示。热电偶冷端温度补偿采用的是集成温度传感器AD590,流过AD590的电流Iu=273A+ T01A/,式中,T0为室温。负载电阻R3上输出电压UOUT= Iu R3,选择电阻R3使UOUT在AD590允许输入电压范围内。本系统选择R3=10 k。这种测量方法冷端温度准确,克服了常规方法补偿误
3、差大和不方便的缺点。热电偶传感器输出的电压信号较为微弱(只有几毫伏到几十毫伏),因此在进行A/D转换之前必须进行信号变送,由高放大倍数的电路将它放大到A/D转换器通常所要求的电压范围,热电偶的输出热电势为056 mV。本系统前级选用自稳态高精度斩波运放 ICL7650,输入信号为差动信号,放大倍数为15倍。后级运放选用较廉价的A741,放大倍数可调,最大可达100倍,主要完成反相功能。ICL7650输入端的钳位二极管起保护作用,避免输入线路发生故障时的瞬态尖峰干扰损坏运放,输入电压可直接送入AD574A进行转换。2、AD574A模/数转换电路如下图所示,AD574A工作在12位状态,转换值分两
4、次输出,高8位从DB4DB11输出,低4位从DB0DB3输出,并直接和单片机的数据线相连,AD574A的片选端接锁存器的Q7端,低电平有效;CE为片选使能端,高电平有效;CS 和CE共同用于片选控制,只有当两个信号同时有效时,才能选中本芯片工作。A0端接锁存器74LS373的Q1端。A0=0时启动A/D转换。R/接锁存器74LS373的Q0端。R/=0时,启动A/D转换;R/=1时,允许读出转换后的数据。AT89C51的和经“与非”门74LS00与AD574A的CE端相接。12/8接地表示AT89C51要分两次从AD574A读出A/D转换的12位数字量。3、执行机构传统的SSR控制采用移相触发
5、电路,通过改变晶闸管导通角的大小来调节输出功率,从而达到自动控温的目的。这种移相方式输出一种非正弦波,实践表明这种控制方式产生相当大的中频干扰,并通过电网传输给电力系统造成“公害”。本系统采用单片机控制的固态继电器控温电路,其波形为完整的正弦波,对电阻炉这样的惯性较大的被控对象,是一种稳定、可靠、较合理的控制方法。调功原理为:设电网连续 N个完整的周波为一个控制周期TC,则 TC= 式中,f为电网频率。若在设定的控制周期TC内控制主回路导通 n(nN)个完整的周波,则负载功率为 P= 式中,U为电网电压有效值; 为负载的有效电阻。因此,控制在设定周期TC内主回路导通的周波数 n的个数,就可调节
6、负载的功率P。采用交流过零型固态继电器控温时需交流过零检测电路,此电路输出对应于50 Hz交流电压过零时刻的脉冲,在交流电压过零时刻导通。如图11-4所示是一种由两个光电耦合器和一个单稳态电路组成的交流过零检测电路。其中,GD1、GD2为光电耦合器,具有检零和隔离功能,R10为限流电阻。在交流正半周,GD1导通,GD2截止,VA为低电平;在交流负半周,GD1截止,GD2导通,VA仍为低电平。只有在交流过零点时,GD1和GD2均截止,VA为高电平。VA再经过74LS123单稳态电路整形,得到一过零脉冲序列VB,VB波形如图11-5所示。VB脉冲序列再与单片机P1.X输出的触发脉冲信号进行“与非”
7、运算后得到控制信号。用它来控制固态继电器,从而调节电阻炉温度。交流过零检测电路4、报警电路设计:正常运行时绿灯亮,在保温阶段炉内温度超出系统允差范围,就要进行报警。报警时报警红灯亮,电笛响,同时发送中断信号至CPU进行处理。如图2-3图2-3加热炉报警系统图5、设计输入输出通道输入通道:因为所控的实际温度在50 350,即(35050)300所以选用8位A/D转换器,其分辨率约为1.5/字,再加放大器偏置措施实现。(通过调整放大器的零点来实现偏置)这里采用一般中速芯片ADC0809。ADC0809是带有8位A/D转换器,8路多路开关以及微型计算机兼容的控制逻辑的CMOS组件,其转换方法为逐次逼
8、近型。8路的模拟开关由地址锁存器和译码器控制,可以在8个通道中任意访问一个通道的模拟信号。这种器件无需进行零位和满量程调整。由于多路开关的地址输入部分能够进行锁存和译码,而且其三态TTL输出也可以锁存,所以它易于与微型计算机接口。其具有较高的转换速度和精度,受温度影响较小,能较长时间保证精度,重现性好,功耗较低,故用于过程控制是比较理想的器件。图2-4ADC0809应用接线图输出通道:据其实际情况,D/A转换器的位数可低于A/D转换器的位数,因为一般控制系统对输出通道分辨率的要求比输入通道的低,所以这里采用常用的DAC0832芯片DAC0832是8位D/A转换器,与微处理器完全兼容。期间采用先
9、进的CMOS工艺,因此功耗低,输出漏电流误差较小。它的内部具有两级输入数据缓冲器和一个R-2RT型电阻网络,因DAC0832电流输出型D/A转换芯片,为了取得电压输出,需在电流输出端接运算放大器,Rf为为运算放大器的反馈电阻端。双极性电压输出的D/A转换电路通常采用偏移二进制码、补码二进制码和符号一数值编码。只要在单极性电压输出的基础上再加一级电压放大器,并配以相关电阻网络就可以构成双极性电压输出。在上图中,运算放大器A2的作用是把运算放大器A1的单向输出电压转变为双向输出。、数字控制器的设计1、控制算法:电阻加热炉温度控制系统框图:.大林算法的设计目标是设计一个合适的数字控制器,使整个闭环系
10、统的传递函数相当于一个带有纯滞后的一阶惯性环节,即:通常认为对象与一个零阶保持器相串联。、软件设计1、系统程序流程图 系统主程序框图 A/D转换子程序流程图c、LED显示流程图d、报警程序流程图e、数字控制算法子程序流程图2、程序清单ORG 0000HAJMP MAINORG 0003HAJMP KEYSORG 000BHAJMP PIT0ORG 001BHAJMP PIT1 ;中断入口及优先级MAIN: MOV SP,#00H CLR 5FH :清上下限越限标志 MOV A,#00HMOV R7,#09HMOV R0,#28HLP1: MOV R0,AINC R0 DJNZ R7,LP1MO
11、V R7,#06HMOV R0,#39HLP2:INC R0DJNZ R7,LP2MOV RO,#50HLP3:DINZ R7,LP3 ;清显示缓冲区MOV 33H,#00HMOV 34H,#00H ;赋KP高低字节MOV 35H,#00HMOV 36H,#00H ; 赋KI高低字节MOV 37H,#00H MOV 38H,#00H ; 赋KD高低字节MOV 42H,#00HMOV 43H,#00H ;赋K高低字节MOV TMOD,#56H ;T0方式2,T1方式1计数MOV TLO,#06HMOV THO,#06H MOV 25H,#163H ;设定值默认值350SETB TR0 ;键盘高优
12、先级SETB ET0SETB EX0SETB EA ;开键盘T0。T1中断LOOP: MOV R0,#56H MOV R1,#55H LCALL SCACOV ;标度转化 MOV R0,#53H LCALL DIR NOP LCALL DLY10MS AJMP LOOP ;等中断键盘子程序KEYS: CLR EX0 CLR EA PUSH PSW PUSH ACC ;关中断 LCALL DLY10MS ;消抖CC: JB P3.2 AASETB 5DH ;置“显示设定值温度值标志”MOV A,25H ;取运算位的值MOV B,#10H ;BCD码转化DIV A BMOV 52H,AMOV A,
13、 BMOV 51H, AMOV R0,#50HLCALL DIR ;显示设定温度NOPLCALL DLY10MSLCALL DLY10MSJB P1.7 ,BBMOV R1,#25HLCALL DAAD1 LCALL DLY10MS AJMP CCBB: JB P1.6 CCLCALL DEEC1AJMP CCAA: POP ACCPOP PSWSETB EA ;出栈RETI显示子程序DIR: MOV SCON ,#00H ;置串行口移位寄存器状态SETB P1.4 ;开显示JB 5DH,DL1 ;DL2: MOV DPTR,#SEGTDL0: MOV A,R0MOVC A,A+DPTRMOV
14、 SBUF ,ALOOP1: JNB TI, LOOP1 CLR TIMOV A,R0ANL A, #7FH ;使数带小数点LOOP2: JNB TI,LOOP2CLR TIMOV SBUF,ALOOP3: JNB TI,LOOP3CLR P1.4CLR 5DHRETDL1: MOV 50H,#0AH ;小数位黑屏 AJMP DL2SEGT: DB 0C0H ,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH加一子程序DAAD1: MOV A,#00H ORL A,R1 ADD A,#01H CJNE A,#30H,DAAD2 ;超过48度了吗?DAAD
15、3: MOV R1,ADAA: RETDAAD2: JC DAAD3MOV R1,#15EH ;超过48则转回到355AJMP DAA减一子程序DEEC1: MOV A,R1DEC A CJNE A,#15EH,DEEC2 ;低于355度了吗?DEEC3: MOV R1,A DEE : RETDEEC2: JNC DEEC3 MOV R1,#30H ;低于355则转回到48AJMP DEE T0中断子程序PTT0: CLR EAPUSH ACCPUSH PSWPUAH DPLPUSH DPHSETB EA ;压栈后开中断响应键盘PPP: LCALL SMAP ;采样数据LCALL FILTER
16、 ;数字滤波MOV A,2AH ;取采样值CJNE A,#07H,AAA ;下限48比较AJMP BBBAAA: JC CCC ;小于48度转CJNE A,#0FEH ,DDD ;上限355比较AJMP BBB ;转至48355正常范围处理DDD: JC BBCLR P1.2 ;大于355黄灯亮SETB 5EHCLR P1.1 ;置标志 启动风扇AJMP PPPCCC: CLR P1.3 ;小于48红灯亮SETB 5FHBBB: CLR P1.0 ;置标志启动电炉AJMP PPPSETB P1.0SETB P1.1SETB P1.2SETB P1.3CLR 5EHCLR 5FH ;50350之
17、间正常LCALL PIDJNB 20H,EEF ;设定温度小于实际值转到风扇MOV A,29HLCALL FFFCLR P1.0LOOP10: MOV R0,#56H ;存放相乘结果的首址MOV R1,#55H ;赋显示缓冲区最高位地址LCALL SCACOV ; MOV R0,#53H ;;赋显示首址 CLR DIR JB D5H,LOOP10 ;等待T1中断 POP DPH POP DPL POP PSWSETB EAPOP ACCEEE: MOV A,28H ;风扇处理 LCALL FFF CLR P1.1AJMP LOOP10FFF: CRL A ;根据PID结果计算T1初值 INC
18、A MOV TL1,A MOV TH1,#0FFH SETB PI1 SETB TR1 SETB ET1采样子程序SWAP: MOV R0,#20H MOV R1,#03HSAW1: MOV DPTR,#7FF8H MOVX DPTR A ;A/D转化 MOV R2,#20HDLY: DJNZ R2,DLY ;延时HERE: JB P3.3 ,HEREMOV DPTR,#7FF8HMOVX A,DPTR ;读转化结果MOV R0,ADJNZ R1,SAM1FILTER: MOV A, 20HCJNE A,2DH CMP1AJMP CMP2CMP1: JNC CMP2 XCH A,2DH XCH A,2CHCMP2: MOV A,2DH CJNE A,22EH,CMP3 MOV 2AH,A AJMP RRCMP3: JC CMP4CMP4: MOV A,2EHCJNE A,2CH,CMP5MOV 2AH ,AAJMP RRCMP5: JC CMP6CMP6: MOV 2AH,ARR:PIT1: CLR 00HJB 20H, GGGSETB P1.0 ;关闭电炉GG: CLR PT1GGG: SETB P1.1 ;关闭风扇CLR 20H AJMP GG
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1