MCS51单片机温度自动控制系统设计.docx
- 文档编号:8626949
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:32
- 大小:334.21KB
MCS51单片机温度自动控制系统设计.docx
《MCS51单片机温度自动控制系统设计.docx》由会员分享,可在线阅读,更多相关《MCS51单片机温度自动控制系统设计.docx(32页珍藏版)》请在冰豆网上搜索。
MCS51单片机温度自动控制系统设计
毕业设计说明书
MCS-51单片机温度控制系统
作者:
张兵林
学号:
120094304028
学院(系):
高职院电气系
专业:
生产过程自动化技术
指导教师:
赵明刘海江刘莉
日期:
2011年12月28日
5参考文献……………………………………………………………………………………………….31
MCS-51单片机温度控制系统
摘要
单片机在检测和控制系统中得到了广泛的应用,温度是一个系统经常需要测量、控制和保持的量,而温度是一个模拟量,不能直接与单片机交换信息,采用适当的技术将模拟的温度量转化为数字量在原理上虽然不困难但成本较高,还会遇到其它方面的问题。
因此对单片机温度控制系统的研究有重要目的和意义。
本文主要介绍了以MCS-51系列单片机8031、AD574、8155、可控硅、LM311等芯片组成的温度检测电路,模/数转换电路,键盘/LED显示电路,报警电路,信号放大电路;在描述了外围硬件电路的同时,还做了大量的软件工作,包括数据处理软件,PID控制算法。
本设计有效的提高了控制系统的实时性和控制精度大大改善了炉温控制的自动化程度,具有较高的实用价值。
关键词:
单片机,PID算法,温度采样,温度控制
1引言
1.1课题研究的目和意义
在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。
例如:
在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。
采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。
单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,为自动化和各个测控领域中广泛应用的器件,在工业生产中称为必不可少的器件,尤其是在日常生活中发挥的作用也越来越大。
因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。
本论文以上述问题为出发点,设计实现了温度实时测量、显示、控制系统。
本设计方案具有较高的测量精度,更加适合对温度精度要求较高的化工生产、电力工程等行业,并希望通过本设计得到举一反三和触类旁通的效果。
1.2温度控制系统方案
结合本设计的要求和技术指标,通过对系统大致程序量的估计和系统工作速度的估计以及I/O口需求量的估计,考虑价格因素。
选定8031单片机作为系统的主要控制芯片,外围扩展并行接口8155,程序存储器EPROM2732,12位模数转换器AD574,采用镍铬/镍硅热电偶进行温度检测其测温范围为0-1000℃,外接指示灯作为报警电路,8031对温度的控制是通过双向可控硅实现的。
双向可控硅管和加热丝串接在交流220V、50Hz市电回路。
在给定周期T内,8031只要改变可控硅管的接通时间即可改变加热丝的功率,以达到调节温度的目的。
2单片机温度控制系统总体设计及原理
2.1系统的主要功能
(1)对炉温的温度检测和升温、恒温控制。
(2)显示检测温度值。
(3)当超越上限或下限时自动报警。
(4)设定和修改要保持的温度值。
2.2系统的工作原理
在温控系统中,需要将温度的变化转换为对应的电信号的变化,由于热电偶的结构简单制造容易,测量范围广,在高温测量中有较高的精度,所以选用镍铬/镍硅热电偶做热电传感器,测温范围0℃-1000℃,最高可测量1300℃。
热电偶把测量的炉温温度信号转换成弱电压信号,经过信号放大电路,放大后的信号输人到A/D转换器(AD574)转换成数字信号输人主机(单片机8031),并送往外接显示电路,主机对电炉温度和设定温度进行比较后如果越限,则软件触发用8031的P1口控制报警系统输出控制脉冲,该控制脉冲与单稳态同步触发器输出的同步脉冲送人控制门(与非门),门电路信号输人光偶管转换成电流信号,经过三级放大电路输人可控硅的门极,可控硅导通由程序控制同步触发脉冲的来临时间,从而控制可控硅的通断时间,以达到对电炉加热丝温度的调节和功率的改变,实现对电炉的恒温和升温控制。
2.3系统的主要技术指标
测温范围:
0℃-1000℃
温度分辨率:
±0.5V
LED显示位数:
6
2.4系统的总体结构
系统的硬件电路有温度检测、信号放大、A/D转换、键盘接口、LED显示、单稳态触发电路、可控硅控制电路等部分组成,系统结构图见图1.1
图2.1系统框图
3温度控制系统的硬件设计
3.1温度测量放大电路
3.1.1温度传感器的选择及基本工作原理
测量温度的方法虽然很多,但从感受温度的途径来分,不外两大类:
一类是接触式的,即通过测温元件与被测物体的接触而感知物体的温度;另一类是非接触的,即通过接收被测物体发出的辐射热来判断温度。
由于本系统测量的温度值在:
0—1000℃,所以最常用的最经济的方法是用热电偶来测量。
当两种不同的导体或半导体连接成闭合回路时,若两个接点温度不同,回路间就会出现热电动势,并产生电流。
从物理上看,这一热电势主要是由接触电势组成的。
当两种不同导体J、B接触时,由于两边的自由电子密度的不同,在交界面上产生电子的相互扩散。
若J中自由电子密度大扩散的多,使J失去较多的电子而带正电荷,相反,B带负电荷。
致使在盘J、B接触处产生电场,以阻碍电子的进一步积累,最后达到平衡。
在J、B两导体间的电位差称为接触热电势。
电炉常用热电偶的材料要求:
1.耐高温--热电偶的测温范围主要取决于热电极的高温性能,也就是说,在高温介质中,热电极的物理化学性能越稳定,则由它组成的热电偶的测温范围就越宽。
2.灵敏度高,线性好--要求电偶所产生的温差热电势足够大,并与温度呈线性关系;
3.要求热电有为材料除能满足上述几点要求外,并希望它的电阻系数和电阻温度系数尽可能地小,且其价格便宜、货源充足。
热电偶型号比较多,不同的型号有不同的测温区,对于本系统镍铬/镍硅热电偶——其分度号为K,正极成分是9—10%铬、0.4%硅,其余为镍,负极成分为2.5—3%硅,<0.6%铬,其余为镍。
这类热电偶的优点是有较强的抗氧化性和抗腐蚀性,其化学稳定性好,热电势较大,热电势与温度间的线性关系好,其热电极材料的价格便宜,可在1000℃以下长期连续使用,短期测温可达1300℃。
最高温度1300℃,所以镍铬-镍硅热电偶就可以了。
3.1.2放大电路的设计
0℃-1000℃的温度对应0mV—41.3mV,热电偶出来的mV电压,大概热端变化一度,热电耦有40微伏的电位差输出,无法直接进行A/D转换,必须进行放大处理。
采用OOP07运放组成低漂移高精度前置放大器,对几十微伏变化信号测量比较精确,其放大倍数与
/
成正比,可根据需要设计。
其中OP07的1、4、5端与
构成调零电路。
再接一级有运放741构成的续接放大器就可将毫伏级信号放大到需要的幅度,放大倍数可自己设定,741的1、4、5端与
构成调零电路。
741的输出送给后面的模数转换电路。
具体接法如图3.1
图3.1放大电路
因为传感器输出电压为0mV-42.30mV,而AD574段输入电压为0V—10V,所以应该放大240倍,取OP07放大10倍,741放大24倍,取
=150Ω,
=200Ω
由运放原理知道:
=20×
=3
=24×
=4.8
3.2主要的接口电路
3.2.1模数转换电路
A/D转换电路是测控仪表制作的另一个关键所在。
A/D转换的位数,精度,速度,性能都直接影响着系统的相关性能。
考虑到本系统要求精度比较高,选用美国AD公司研制的12位逐次逼近式AD574A,它适合高精度快速采集,所以本系统不用设计采样保持电路,节省了硬件。
AD574的主要特性如下:
A/D分辨率:
12或8位。
转换时间:
25
转换精度:
≤0.05%。
单极性模拟输入:
0V—10V,0V—20V
双极性模拟输入:
±5V,±10V
正电源供电:
+12V—+15V
负电源供电:
-12V—-5V
内部集成有转换时钟,参考电压源和三态输出锁存器,可直接与16位或8位机直接相连,而且无需外接时钟。
其逻辑真值表如表3.1
表3.1AD574真值表
该转换电路的具体接法如图3.2,因为片内有时钟,故无须外加,该电路采用单极性输入方式,可对0V—10V模拟信号转换,其中图3.1中管脚8,10,12把AD574置成单极性10V输入,无论启动、转换,还是结果输出,都要保证CE端为高电平,故用8031的
和
端通过与非门74LS00与AD574的CE端相连。
转换结果分高八位、低四位与P0口相连,分两次读入,所以
接地。
在读取转换结果时保持相应的电平,将来自单片机的控制信号经74LS373锁存后再从Q0接入,选通信号经译码器译码后选通,AD574有两个选口地址,由A0口区分,把译码器Q7Q6Q5Q4Q3Q2Q1=111000B端接到
则AD574的两个选口地址为F0和F1H,其中写F0H启动12位转换,写F1H启动8位转换,读F0H用于读取高八位数字量,读F1H用于读取低4位数字量,
图3.2模数转换电路
单片机可采用中断、查询、软件延时等方式读取转换结果。
本设计时按查询法输入A/D转换后的数字量。
3.2.2键盘接口和数码显示
在单片机应用系统中,同时需要使用键盘与显示器接口时,为了节省I/O口线常常把键盘和显示电路接在一起,构成实用键盘和显示电路,图3.3是典型实用的、采用8155并行扩展口构成的键盘、显示器电路,图中设置了16个键,如增加PC口可以增加到61个,单片机应用系统中除了复位按键有专门的复位电路,以及专一的复位功能外,其它的按键或键盘都是以开关状态来设置控制功能或输入数据。
键盘有编码和非编码两种。
非编码键盘硬件电路极为简单故本系统采用。
6个LED显示器采用共阴极方式,段选码由8155PB口提供,位信号有PA口提供。
键盘的列扫描也由PA口提供,查询输入由PC0—PC1提供,LED采用动态显示软件,键盘采用逐列扫描查询工作方式。
键盘设定如下:
键盘共有12个按键,用于方便设定温度。
数字按键10个,输入数字0—9和小数点;确认键一个,设置的确认,修改设置温度时进行确认;清除键一个,设置的清除,修改设置温度时进行删除;F1键一个,显示及设置转换到预设温度点,按此按键后,显示预设置温度的数码管闪烁;此外,还有两个功能键。
图3.3键盘接口/LED显示
3.2.3温度控制电路
晶闸管又叫可控硅。
自从20世纪50年代问世以来已经发展成了一个大的家族,它的主要成员有单向晶闸管、双向晶闸管、光控晶闸管、逆导晶闸管、可关断晶闸管、快速晶闸管,等等。
今天大家使用的是单向晶闸管,也就是人们常说的普通晶闸管,它是由四层半导体材料组成的,有三个PN结,对外有三个电极:
第一层P型半导体引出的电极叫阳极A,第三层P型半导体引出的电极叫控制极G,第四层N型半导体引出的电极叫阴极K,它和二极管一样是一种单方向导电器。
晶闸管的特点:
是“一触即发”。
但是,如果阳极或控制极外加的是反向电压,晶闸管就不能导通。
控制极的作用是通过外加正向触发脉冲使晶闸管导通,却不能使它关断。
那么,用什么方法才能使导通的晶闸管关断呢?
使导通的晶闸管关断,可以断开阳极电源或使阳极电流小于维持导通的最小值(称为维持电流)。
如果晶闸管阳极和阴极之间外加的是交流电压或脉动直流电压,那么,在电压过零时,晶闸管会自行关断。
该控制部分的原理框图如图3.5:
图3.5温度控制原理框图
8031对温度的控制是通过可控硅调功电路实现的,双向可控硅观和加热丝串接在交流220V、50HZ交流市电回路中。
在给定的周期T内,8031只要改变可控硅管的接通时间便可改变加热丝功率,以达到调解温度的目的。
可控硅在给定周期T内具有不同接通时间的情况。
显然可控硅在给定周期T的100%时间内接通时的功率最大。
可控硅接通时间可以通过可控硅控制极上的触发脉冲控制。
该触发脉冲由8031用软件在P1.3引脚上产生,受过零脉冲同步后经光耦管和驱动器输出送到可控硅的控制级上。
过零同步脉冲是一种50HZ交流电压过零时刻的脉冲,可使可控硅在交流电压正弦波过零时刻触发导通。
过零同步脉冲由过零触发脉冲电路产生,图中电压比较器LM311用于把50HZ正弦交流电压变成方波。
方波的正边沿和负边沿分别作为两个单稳态触发器的输入触发信号,单稳态触发器输出的两个窄脉冲经二极管或门混合后就可得到对应于交流200V市电的过零同步脉冲。
此脉冲一方面作为可控硅的触发同步脉冲加到温度控制电路,另一方面还作为计数器脉冲加到8031的T0,T1端。
光电耦合器,是近几年发展起来的一种半导体光电器件,把电子信号转换成为光学信号,然后又回复电子信号的半导体器件。
由于它具有体积小、寿命长、抗干扰能力强、工作温度宽及无触点输入与输出及在电气上完全隔离等特点,被广泛地应用在电子技术领域及工业自动控制领域中,它可以代替继电器、变压器、斩波器等,而用于隔离电路、开关电路、数模转换、逻辑电路、过流保护、长线传输、高压控制及电平匹配等。
4温度控制系统的软件设计
4.1主程序设计及中断服务程序设计
4.1.1温度控制主程序流程简图
温度控制程序的设计应考虑如下问题:
1炉温采样,数字滤波程序
2键盘扫描,键码识别和温度显示程序
3温度标度转换程序
4PID计算程序(双字节加法程序DSUM,双字求补程序CPL1,双字节带符号乘法程序MULT1)
为简化起见,本设计思想只给出有关8031本身的初始化,8155初始化,标志、暂存单元和显示缓冲单元区清零、T0初始化,断开CPU中断、温度显示和键盘扫描等程序,详细见附录源程序清单,程序框图如图4.1所示。
图4.1主程序流程简图
在主程序设计中,由于T0被设定为计数器方式2,初值为06H,故它的溢出中断时间为250个过零同步触发脉冲。
为了保证系统正常工作,T1中断服务程序的执行时间必须满足T0的这一时间要求,因为T1的中断是嵌套在T0中断之后的。
4.1.2中断服务程序设计
因为本设计中T1的中断是嵌套在T0中断之后的,而T0中断是温度控制系统的主程序,用于启动A/D转换、读入采集数据、数字滤波、越限温度报警和越限处理、PID计算输出可控硅的同步触发脉冲等。
P1.3引脚上输出的该同步触发脉冲宽度由T1计数器的溢出中断控制,8031利用等待T1溢出中断的时间完成把本次采样值转换成显示值放入显示缓冲区和调用温度显示程序。
8031从T1中断服务程序返回后便可恢复现场和返回主程序,以待下次T0中断。
在T0中断服务程序中,还需要用到一系列程序,例如:
采样温度子程序、数字滤波子程序、越限处理程序、PID计算程序、标度转换程序和温度显示程序。
PID计算程序中,也需要用到双字节加法程序DSUM,双字求补程序CPL1,双字节带符号乘法程序MULT1。
T1中断服务程序流程图如图4.2,T2中断程序流程图如图4.3.
图4.2T1中断程序流程图
图4.3T0中断服务程序流程图
4.2温度控制程序子程序
4.2.1键盘扫描和温度显示程序设计
1为了简化电路,降低成本,将所有的段选线并联在一起,由一个8位I/O口控制,而选通断采用分时选通,LED显示器工作于共阴极动态显示,逐位轮流点亮各个LED,每一位保持1ms,在10ms—20ms内再一次点亮重复不止,这样利用人的视觉暂留,好像6位LED同时点亮了,显示子程序流程图如图4.4。
图4.4显示程序流程
2本设计采用行列式矩阵键盘,单片机对它的控制采用程序扫描即中断查询方式,A口为选通口,B口为显示口,C口为查询输入口。
键盘扫描子程序功能如下:
(1)判断键盘上有无键按下,方法为:
PA口输出全扫描字00H,读PC口状态,若PC0—PC1口全为1,则键盘无键按下,若不全为1则有键按下。
(2)去键的机械抖动影响:
在判断有键按下后,软件延时一断时间(5ms—10ms)后再判断键盘状态,如果仍为有键按下状态,则认为确实有键被按下;否则,按照键抖动处理。
(3)判别闭合键的键号:
对键盘的列线进行扫描,扫描口为PA0—PA7,依次输出扫描字为FEH,FDH,FBH,F8H,EFH,DFH,BFH,7FH,读出PC口的状态,若全为1则列线输出为0的这一列上没有键闭合;否则,这一列有键闭合。
闭合键的键号等于处于低电平的列号加上低电平的行的首键号,例如:
PA口的输出为11111101,读出PC1—PC0为01,则1行1列的键闭合,
(4)CPU对键的一次闭合仅作一次处理,采用的方法是等待键释放后再将键号送入累加器A中。
键盘扫描子程序流程图如图4.5
图4.5键盘扫描子程序流程图
4.2.2炉温采样、数字滤波程序设计
采样子程序SAMP:
流程图如图4.6
图4.6采样子程序流程图
图4.8标度转换程序
4.3PID控制算法
4.3.1PID算法基本原理
通常,电炉炉温的控制采用偏差控制算法。
偏差控制的原理是先求出实测炉温对所需炉温的偏差值,然后对偏差处理,从而获得控制信号去调节电炉的加热功率,以实现对炉温的控制。
在工业上,偏差控制又称为PID(ProportionalIntegralandDifferential,比例积分与微分)。
这是工业控制过程中应用广泛的一种控制形式,一般都能收到令人满意的效果。
控制论告诉我们,PID控制的理想微分方程为:
U(t)=
(4.2)
其中e(t)=r(t)-y(t)称为偏差值,可作为温度调节器的输入信号,其中r(t)为给定值,y(t)为被测变量的值;
为比例系数;
为积分时间常数;
为微分时间常数;u(t)为调节器的输出控制器输出控制信号。
4.3.2PID算法及子程序
PID控制算法要用到双字节加法程序DSUM,完成R4R5+R3R2→R7R6。
双字节求补程序CPL1对R3R2求补,双字节带符号乘法子程序MULT1,因加法和求补算法比较简单,仅对双字节带符号乘法作详细介绍。
入口条件:
R7R6=被乘数
R5R4=乘数
出口条件:
积为32位,按R0存入
标志位:
SIGN1为地址5CH
SIGN2为地址5DH
具体算法如图4.10带符号双字节乘法程序
图4.10带符号双字节乘法程序流程图
5结论与展望
MCS-51单片机,体积小,重量轻,抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,本文的温度控制系统,只是单片机广泛应用于各行各业中的一例。
本设计仅以炉温度为例进行恒温控制,稍加改动后,可以广泛应用于铸造、热处理等电热恒温及保温控制场合。
设计实现了温度实时测量、显示、控制系统。
本设计温度控制电路具有较高的抗干扰性,实时性;在使用键盘与显示器接口时,为了节省I/O口线常常把键盘和显示电路接在一起,构成实用键盘和显示电路;控制算法采用传统的PID控制算法。
方案具有较高的测量精度,温度控制实时性更高,更加适合对温度精度要求较高的化工生产、电力工程等行业,并希望通过本设计收到举一反三和触类旁通的效果。
在设计过程中,首先在老师的指导下熟悉了系统的工艺,进行对象的分析,按照要求确定方案。
然后进行硬件和软件的设计。
通过设计使我掌握了微型机控制系统I/O接口的扩展方法,模拟量输入/输出通道的设计,常用控制程序的设计方法,数据处理及线性标度技术,PID算法的设计思想。
在领到课题时,本人对单片机的基本知识了解甚少,而汇编语言也是刚接触,所以花了大量的时间去做准备工作。
在老师的指导和帮助下,克服了一系列困难终于完成了本设计,基于本人能力有限,该设计还有许多不足之处有待改进。
针对本课题目前的研究进展,作以下几点展望:
1、本课题所设计的硬件电路和软件程序,目前还处于理论设计阶段,所有的功能模块有待实验室调试通过。
2、本设计的所用到的PID控制算法有待优化。
基于PID控制,神经网络控制,模糊控制的神经网络模糊PID控制算法对存在滞后性、非线性、时变性、不确定随机干扰的系统的控制将会收到良好的效果。
3、为了能实现更精确的控制,可设置多个温度采样点。
附录C:
系统源程序
ORG0000H
AJMPMAIN
ORG0100H
AJMPCT0
ORG00BH
AJMPCT1
ORG001B
MAIN:
DISM0DATA78H
DISM1DATA79H
DISM2DATA7AH
DISM3DATA7BH
DISM4DATA7CH
DISM5DATA7DH
MOVSP,#50H;50H送SP
CLR5EH;清本次越限标志
CLR5FH;清上次越限标志
CLRA;清累加器A
MOV2FH,A;
MOV30H,A;
MOV3BH,A;
MOV3CH,A;
MOV3DH,A;
MOV3EH,A;
MOV44H,A;
MOVDISM0,A;
MOVDISM1,A;
MOVDISM2,A;
MOVDISM3,A;
MOVDISM4,A;
MOVDISM5,A;
MOVDPTR,#7F00H
MOVA,#07H,
MOVX@DPTR,A;8155初始化
MOVTMOD,#056H;
MOVTL0,#06H;T0赋初值
MOVTH0,#06H;
CLRPT0;令T0为底中断优先级
SETBTR0;启动T0工作
SETBET0;允许T0中断
SETBEA;开CPU中断
LOOP:
ACALLDISPLY;调用显示程序
ACALLSCAN;调用扫描程序
AJMPLOOP;等待中断
CT0:
PUSHACC;
PUSHDPL;保护现场
PUSHDPH;
SETBD5H;置标志
ACALLSAMP;调用采样子程序
ACALLFILTER;调用数字滤波程序
CJNEA,42H,TPL;若Ui(K)≠Umax则TPL
WL:
MOVC,5EH;
MOV5FH,C;
CLR5EH;清5EH单元
ACALLUPL;转上限处理程序(略)
POPDPH;
POPDPL;
POPACC;
RETI;中断返回
TPL:
JNCTPL1;若Ui(K)>Umax则TPL1
CLR5FH;清上次越限标志
CJNEA,43H,MTPL;若Ui(K)≠Umin
HAT:
SETBP1.1;若温度不越限,则绿灯亮
ACALLPID;调用计算PID子程序
MOVA,2FH;PID值送A
CPLA;
INCA;
NM:
SETBP1.3;另P1.3输出高电平脉冲
MOVTL1,A;
MOVTH1,#0FFH;
SETBPT1;T1高优先级中断
SETBTR1;启动T1
SETBET1;允许T1中断
ACALLTRAST;调用标度转换程序
LOOP:
ACALLDISPLY;显示
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS51 单片机 温度 自动控制系统 设计