《电阻炉温度控制系统 微控课设报告.doc》由会员分享,可在线阅读,更多相关《电阻炉温度控制系统 微控课设报告.doc(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、中原工学院信息商务学院微机控制课程设计说明书摘要温度控制是工业对象中主要的控制参数之一,其控制系统本身的动态特性属于一阶纯滞后环节,象冶金、机械、食品、化工各类工业中,广泛使用的各种加热炉、热处理炉、反应炉等,对工件的处理温度要求严格控制,计算机温度控制系统使温度控制指标得到了大幅度提高。以8031单片机为核心,采用温度变送器桥路和固态继电器控温电路,实现对电炉温度的自动控制。该控制系统具有硬件成本低、控温精度较高、可靠性好、抗干扰能力强等特点。电阻炉炉温控制系统的控制过程是:单片机定时对炉温进行检测,经A/D转换芯片得到相应的数字量,经过计算机进行数据转换,得到应有的控制量,去控制加热功率,
2、从而实现对温度的控制。关键词:电炉 温度控制系统 ADC0809AD转换器目 录1 控制方案总述12 硬件电路设计22.1 温度检测和变送器部分32.2 接口电路32.2.1 主要特性32.2.2 内部结构42.2.3 外部特性(引脚功能)42.3 接口电路63 软件设计73.1 主程序83.2 T0中断服务程序83.3 子程序103.3.1采样子程序SAMP103.3.2 数字滤波子程序FILTER103.3.3积分分离PID控制算法的程序设计114 基于MATLAB仿真被控对象135 结果分析15设计小结17参考文献18附录1924温度控制系统设计1 控制方案总述随着电子技术的发展,特别是
3、随着大规模集成电路的产生,给人们的生活带来了根本性的变化,特别是微型计算机的出现使现代的科学研究得到了质的飞跃,利用单片机来改造落后的设备具有性价比高、提高设备的使用寿命、提高设备的自动化程度的特点。本设计就是利用单片机来控制高温加热炉的温度,传统的以普通双向晶闸管(SCR)控制的高温电加热炉采用移相触发电路改变晶闸管导通角的大小来调节输出功率,达到自动控制电加热炉温度的目的。这种移相方式输出一种非正弦波,实践表明这种控制方式产生相当大的中频干扰,并通过电网传输,给电力系统造成“公害”。采用固态继电器控温电路,通过单片机控制固态继电器,其波形为完整的正弦波,是一种稳定、可靠、较先进的控制方法。
4、为了降低成本和保证较高的控温精度,采用普通的ADC0809芯片和具有零点迁移、冷端补偿功能的温度变送器桥路,使实际测温范围缩小。采用AT80C51为核心,结合温度传感器热电偶和AD转换器来监测被控温度数据,并把数据传递给单片机同时显示实时数据。同时键盘会给与要求的控制温度大小供单片机把其和测量温度进行比较处理,从而控制执行系统的开关量的通断状态,达到温度检测、赋值和控制的作用。其系统结构框图如图1所示:2 硬件电路设计 硬件电路如图2所示: 图2 硬件电路图现对各部分电路分述如下:2.1 温度检测和变送器部分温度计的检测元件和变送器的类型选择与被控温度及进度等级有关。镍鉻/镍铝热电偶适用于01
5、000摄氏度的温度测量范围,相应输出电压为041.32mV。变送器由毫伏变送器和电流/电压变送器组成:毫伏变送器用于把热电偶输出的041.32mV变换成010mA范围内的电流;电流/电压变送器用于把毫伏变送器输出的010mA电流变换成05V范围内的电压。为了提高测量精度,变送器可以进行零点迁移。例如,若温度测量范围为0300摄氏度,则热电偶输出为012.396mV,毫伏变送器零点迁移后输出010mA范围的电流。这样,采用8位A/D转换器就可以量化温度误差达到正负2.34摄氏度以内。2.2 接口电路8031的接口电路有8155、2732和ADC0809等芯片。8155用于键盘LED显示器接口,2
6、372可以作为8031的外部ROM存储器,ADC0809为温度测量电路的输入接口。ADC0809是采样频率为8位的、以逐次逼近原理进行模数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。2.2.1 主要特性1)8路8位AD转换器,即分辨率8位。2)具有转换起停控制端。3)转换时间为100s4)单个5V电源供电5)模拟输入电压范围05V,不需零点和满刻度校准。6)工作温度范围为-4085摄氏度7)低功耗,约15mW。2.2.2 内部结构ADC0809是CMOS单片型逐次逼近式AD转换器,内部结构如图1322所示,它由8路模拟
7、开关、地址锁存与译码器、比较器、8位开关树型DA转换器、逐次逼近。2.2.3 外部特性(引脚功能)ADC0809芯片有28条引脚,采用双列直插式封装,如图3所示。图3 ADC0809引脚图下面说明各引脚功能。IN0IN7:8路模拟量输入端。2-12-8:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路ALE:地址锁存允许信号,输入,高电平有效。START: A/D转换启动信号,输入,高电平有效。EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。OE:数据输出允许信号,输入,高电平有效。当A/D转换结束
8、时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。REF(+)、REF(-):基准电压。Vcc:电源,单一5V。GND:地。ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。815
9、5有40条引脚,如图4所示。图4 8155引脚图下面说明各引脚功能:AD0AD7:三态地址/数据线。是低8位地址与数据复用线。地址可以是8155片内RAM单元地址或I/O端口地址。AD0AD7上的地址由ALE的下降沿素存到8155片内地址锁存器。也就是由AIE信号来区别AD0AD7上出现的地址信息还是数据信息。ALE:地址锁存允许信号。在ALE信号的下降沿把ADOAD7上的8位地址信息,CE片选信号及IO/M信号都锁存到8155内部存储器中。IO/:I/O端口和RAM选择信号。当IO/=1时,AD0AD7的地址位8155I/O端口地址,选择I/O端口。当IO/=0时,AD0AD7的地址位815
10、5片内RAM单元地址,选择RAM存储单元。CE:片选信号。低电平有效。由ALE信号的下降沿锁存到8155内部存储器。RD:读选通信号。低电平有效。当RD=0,CE=0时开启AD0AD7的缓冲器,被选中的片内RAM单元或IO口的内容送到AD0AD7上。WR:写选通信号。低电平有效,当CE,WR都有效时,CPU输出到AD0AD7上的信息想偶尔到8155片内PAM单元或I/O端口。PA0PA7:A口的I/O线。PB0PB7:B口的I/O线。PC0PC5:C口的I/O线。TMRIN:定时器输入。TMROUT:定时器输出。2.3 接口电路8031对温度的控制是通过可控硅调功器电路实现的,如硬件电路图(图
11、2)所示。双向可控硅管和加热丝串接在交流220V,50Hz交流电回路中。在给定周期T内,8031只要改变可控硅的接通时间便可改变加热丝的功率,以达到调节温度的目的。如下图所示,可控硅在给定周期内具有不同接通时间的情况。显然,可控硅在给定周期的100%时间内接通时的功率最大。可控硅接通时间可以通过可控硅控制极上的触发脉冲控制。该触发脉冲由8031用软件在P1.3引脚上产生,经过零同步脉冲同步后经光耦管和驱动器输出送到可控硅的控制极上。可控硅调功器输出功率与通断时间的关系如图5所示。图5 可控硅调功器输出功率与通断时间的关系 _ .-() o( )_-_3 软件设计温度控制程序的设计应考虑如下问题
12、:1.键盘扫描、键码识别和温度显示;2.炉温采样,数字滤波;3.数据处理时把所有数按定点纯小数补码形式转换,然后把8位温度采样值Umin和Umax都变成16位参加运算,运算结果取8位有效值;4.越限报警和处理;5.PID计算,温度标度转换。通常,符合上述功能的温度控制程序由主程序和T0中断服务程序组成。3.1 主程序主程序应包括8051本身的初始化、8155初始化等。流程图如6所示。设定堆栈指针清标志和暂存单元清显示缓冲器区T0初始化 开CPU中断扫描键盘温度显示停止输出清标志D5HT1中断程序图6 主程序流程图返回3.2 T0中断服务程序T0中断服务程序时温度控制系统的主体程序,用于启动A/
13、D转换、读入采样数据、数字滤波、越限温度报警和越限处理、PID计算和输出可控硅的同步触发脉冲等。P1.3引脚上输出的该同步脉冲宽度由T1计数器的溢出中断控制,8051利用等待T1溢出中断空隙时间完成把本次采样值转换成显示值并放入显示缓冲区和调用温度显示程序。8051从T1中断服务程序返回后便可恢复现场并返回主程序,以等待下次T0中断。流程图如图7所示。图7 T0中断服务流程图3.3 子程序3.3.1采样子程序SAMP 采样子程序流程图如图8所示。采样起始地址送R0,采样次数送R2选通IN0,启动ADC延时A/D完成?所有采样结束?YY图8 采样子程序流程图返回3.3.2 数字滤波子程序FILT
14、ER数字滤波子程序用于滤去来自控制现场对采样值的干扰。流程图如图9所示。图9 数字滤波子程序流程图3.3.3积分分离PID控制算法的程序设计PID算法的表达式为:式中u(t):调节器的输出信号;e (t):偏差信号;:调节器的比例系数;TI:调节器的积分时间;TD:调节器的微分时间。在计算机控制中,为实现数字控制,必须对上式进行离散化处理。用数字形式的差分方程代替连续系统的微分方程。设系统的采样周期为T,在t=kT时刻进行采样,式中e(k):根据本次采样值所得到的偏差; e(k-1):由上次采样所得到的偏差。将上面的三个式子代入,则有式中,T为采样时间,项为积分项的开关系数积分分离PID控制算
15、法程序流程图如图10所示。图10 积分分离PID控制算法程序流程图4 基于MATLAB仿真被控对象采用simulink仿真,通过simulink模块实现积分分离PID控制算法。仿真图如图11所示。图11 Simulink仿真选择合适的Kp,Ki,Kd使系统的仿真效果趋于理想状态。MATLAB编写程序如下:clear all;close all;ts=10; %采样时间10ssys=tf(1,30,1,inputdelay,80);dsys=c2d(sys,ts,zoh); %将sys离散化num,den=tfdata(dsys,v); %求sys多项式模型参数kp=5.2;Ti=0.005;T
16、d=0.005;end仿真波形如图12所示。图12 Matlab仿真波形图5 结果分析当Ti,Td一定,即当Ti=Td=0.005时,改变Kp的值观察波形可以知道其对系统超调量的影响。当Kp增大时,设Kp=5.8,此时的波形如图13。图13 Kp=5.8时的波形图当Kp减小时,设Kp=4.6,此时的波形如图14。图14 Kp=4.6时的波形图由图12,图13,图14我们可以观察到当Kp增大时系统超调量增大,当Kp减小时系统超调量减小。设计小结通过两周的课程设计对温度控制系统有了初步的了解,在本次课程设计中,通过查阅资料基本完成了硬件的设计,然后根据硬件电路进行软件设计,基本实现了电炉的温度控制
17、。传统的以普通双向晶闸管(SCR)控制的高温电加热炉采用移相触发电路改变晶闸管导通角的大小来调节输出功率,达到自动控制电加热炉温度的目的。这种移相方式输出一种非正弦波,实践表明这种控制方式产生相当大的中频干扰,并通过电网传输,给电力系统造成“公害”。采用固态继电器控温电路,通过单片机控制固态继电器,其波形为完整的正弦波,是一种稳定、可靠、较先进的控制方法。为了降低成本和保证较高的控温精度,采用普通的ADC0809芯片和具有零点迁移、冷端补偿功能的温度变送器桥路,使实际测温范围缩小。在老师的指导和同学们的帮助下,我顺利完成了这次课程设计,通过这次课程设计,使我对单片机的应用、微控控制技术、传感器
18、技术等等好多专业知识有了更深的了解,解决了许多在学习过程中不能理解的知识,并且提高了自己理论联系实际的能力,为今后在工作中专业知识的应用积累了宝贵的经验。通过这次毕业设计,使我对单片机原理有了更新的认识,掌握了常用芯片如AT80C51、ADC0809、8155等器件的功能,懂得了这些器件在实际生产中的最基础的应用,掌握计算机的一些画图、排版等软件的应用 ,真的是受益非浅。参考文献1 张艳兵,王忠庆,鲜浩编著,计算机控制技术.北京:国防工业出版社,20062 于海生编著,微型计算机控制技术.北京:清华大学出版社,19993 杨进才,沈显君,刘蓉编著,C+语言程序设计教程.北京:清华大学出版社,2
19、0064 夏云龙编著,最新Visual C+ 使用手册.北京:电子工业出版社,20055 黄迪明,许家珆,胡德昆编著,C语言程序设计.成都:电子科技大学出版社,20086 颜永军等,Protel99电路设计与应用,国防工业出版社,20017 楼然苗,李光飞,51系列单片机设计实例(第二版),2006附录主程序 ORG 0400HDISM0 DATA 78HDISM1 DATA 79HDISM2 DATA 7AHDISM3 DATA 7BHDISM4 DATA 7CHDISM5 DATA 7DH MOV SP,#50H ;50H送SP CLR 5EH ;清本次越限标志 CLR 5FH ;清上次越
20、限标志 CLR A ;清累加器A MOV 2FH,A ; MOV 30H,A ; MOV 3BH,A ; MOV 3CH,A ; MOV 3DH,A ; 清暂存单元 MOV 3EH,A ; MOV 44H,A ; MOV DISM0,A ; MOV DISM1,A ; MOV DISM2,A ; MOV DISM3,A ; 清显示缓冲区 MOV DISM4,A ; MOV DISM5,A ; MOV TMOD,#56H ;设T0为计数器方式2,T1为方式1 MOV TL0,#06H ; MOV TH0,06H ; T0赋初值 CLR PT0 ;令T0为低中断优先级 SETB TR0 ;启动T0
21、工作 SETB ET0;允许T0中断 SETB EA ;开CPU中断LOOP:ACALL DISPLY ;调用显示程序 ACALL SCAN ;调用扫描程序 AJMP LOOP ;等待中断T0中断服务程序 ORG 000BH AJMP CT0 ORG 0100HCT0: PUSH ACC ; PUSH DPL ;保护现场 PUSH DPH ; SETB D5H ;置标志 ACALL SAMP ;调用采样子程序 ACALL FILTER ;调用数字滤波程序 CJNE A,42H,TPL ;若Ui(k)不等于Umax,则TPLWL: MOV C,5EH ; MOV 5FH,C ; 5EH送5FH
22、CLR 5EH ;清5EH单元 ACALL UPL ;转上限处理程序 POP DPH POP DPL POP ACC RETI ;中断返回TPL: JNC TPL1 ;若Ui(k)大等Umax,则TPL1 CLR 5FH;清上次越限标志 CJNE A,43H,MTPL ;若Ui(k)不等于Umin,则MTPLHAT: SETB P1.1 ;若温度不越限则令绿灯亮 ACALL PID ;调用计算PID子程序 MOV A,2FH ;PID值送A CPL A ; INC A ; 对PID值求补,作为TL1值NM: SETB P1.3 ;令p1.3输出高电平脉冲 MOV TL1,A ; MOV TH1
23、,#0FFH ; T1赋初值 SETB PT1 ;T1高优先级中断 SETB TR1 ;启动T1 SETB ET1 ;允许T1中断 ACALL TRAST ;调用标度转换程序LOOP: ACALL DISPLY ; 显示温度 JB D5H,LOOP ;等待T1中断 POP DPH ; POP DPL ; 恢复现场 POP ACC ; RETI ;中断返回MTPL: JNC HAT ;若Ui(k)大于Umin,则HAT SETB P1.0 ;否则越下限声光报警 MOV A,45H ;取PID最大值输出 CPL A ; INC A ; 对PID值求补,作为TL1 AJMP NM ;转NM执行TPL
24、1: SETB 5EH ;若Ui(k)大于Umax,则5EH单元置位 JNB 5FH,WL ;若上次未越限,则转WL INC 44H ;越限计数器加1 MOV A,44H CLR C SUBB A,#N ;越限N次? JNZ WL ;越限小于N次,则WL SETB P1.2 ;否则,越上限声光报警 CLR 5EH ; CLR 5FH ; 清越限标志 POP DPH ; POP DPL ; 恢复现场 POP ACC ; RETI ;中断返回T1中断服务程序 ORG 001BH AJMP CT1 ORG 0200HCT1: CLR D5H ;清标志 CLR P1.3 ;令p1.3变为低电平 RET
25、I ;中断返回子程序采样子程序SAMP:SAMP: MOV R0,#2CH ;采样值起始地址送R0MOV R2,#03H ;采样次数初值送R2MOV DPTR,#03F8 SAM1:MOVX DPTR,A ;启动ADC0809工作MOV R3,#20H DLY: DJNZ R3,DLY ;延时HERE:JB P3.3,HERE ;等待AD完成MOVX A,DPTR ;采样值送AMOV R0,A ;存放采样值INC R0 DJNZ R2,SAM1 ;若采样未完,则SAM1RET ;若已采样完,则返回数字滤波子程序FILTER:用于滤去来自控制现场对采样值的干扰FILTER:MOV A,2CH ;
26、2CH送A CJNE A,2DH,CMP1 ;若2CH不等于2DH,则CMP1 AJMP CMP2 ;否则转CMP2 CMP1 JNC CMP2 ;若2CH大于2DH,则CMP XCH A,2D ;2CH与2DH交换 XCH A,2C ; CMP2: MOV A,2DH ;2DH送A CJNE A,2EH,CMP3 ;若2DH不等于2EH,则CMP3 MOV 2AH,A ;否则,2DH送2AH RET ;返回CMP3: JC CMP4 ;若2DH小于2EH,则CMP4 MOV 2AH,A ;否则,2DH送2AH RET ;返回CMP4: MOV A,2EH ;2EH送A CJNE A,2CH,CMP5 ;若2EH不等于2CH,则CMP5 MOV 2AH,A ;否则,2EH送2AH RET ; 返回CMP5: JC CMP6 ;若2EH小于2CH则CMP6 XCH A,2CH ;否则,2EH与2CH交换CMP6: MOV 2AH,A ;A送2AH RET ;返回