作者:未知 来源:网络
点温度控制系统
摘要
本文介绍了以AT89S51单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。文中介绍了该控制系统的硬件部分,包括:温度检测电路、温度控制电路、PC机与单片机串口通讯电路和一些接口电路 。单片机通过对信号进行相应处理,从而实现温度控制的目的。文中还着重介绍了软件设计部分,在这里采用模块化结构,主要模块有:数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、继电器控制程序、单片机与PC机串口通讯程序。
关键字:单片机 DS18B20温度芯片 温度控制 串口通讯
一、方案设计与论证
1、测量部分
方案一:
采用热敏电阻,可满足40摄氏度至90摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测1摄氏度的信号是不适用的。而且使用热敏电阻,需要用到十分复杂的算法,一定程度上增加了软件实现的难度。
方案二:
采用温度芯片DS18B20测量温度。该芯片的物理化学性很稳定,它能用做工业测温元件,且此元件线形较好。在0—100摄氏度时,最大线形偏差小于1摄氏度。该芯片直接向单片机传输数字信号,便于单片机处理及控制。本制作的最大特点之一就是直接采用温度芯片对温度进行测量,使数据传输和处理简单化。
采用温度芯片DS18B20测量温度,体现了作品芯片化这个趋势。部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。所以芯片的使用将成为电路发展的一种趋势。本方案应用这一温度芯片,也是顺应这一趋势。
2、主控制部分
方案一:
此方案采用AT89C51八位单片机实现。单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。但是,AT89C51单片机需要用仿真器来实现软硬件的合成在线调试,较为繁琐,很不简便。而且AT89C51的地位已经渐渐
的被AT89S51所取代。逐渐成为历史。事实也证明了AT89S51在工业控制上有着广泛的应用。
方案二:
此方案采用AT89S51八位单片机实现。它除了89C51所具有的优点外,还具有可在线编程,可在线仿真的功能,这让调试变得方便。当与凌阳十六位单片机相比时,AT89S51八位单片机的价格便宜,再编程方便。而且AT89S51在工业控制中有广泛的应用,编程技术及外围功能电路的配合使用都很成熟。这对于在网上查找相关资料和在图书馆查找相关资料时非常方便的。
总结:综上所述实际采用电路方案如下图:
工作流程说明
开始,先接通电源,然后将开关打到开的位置,七段数码管显示器就自动显示出当前温度,并且显示出设置温度的缺省值00。此时继电器不工作。
按下F1按键,温度控制系统进入温度控制点1的设制。
按下F2按键,温度控制系统则相应进入温度控制点2的设置。
这个时候,显示设置温度的数码管闪烁。 此时可以通过键盘输入预设置的温度。当按下“确定”按键的时候,单片机就会根据所写入的程序,对系统进行控制。
当设置的温度高于当前的温度时,单片机通过继电器控制加热电路连通。温度慢慢升高。
当设置的温度低于当前的温度时,单片机通过继电器控制加热电路断开。温度慢慢下降。
就这样通过温度芯片的反馈信息,实现水的温度保持在设置温度上,从而达到自动控制温度的功能。
一、 各电路的设计
1、键盘电路:
单片机应用系统中的键输入
单片机应用系统中除了复位按键有专门的复位电路,以及专一的复位功能外,其它的按键或键盘都是以开关状态来设置控制功能或输入数据。键盘有编码和非编码两种。非编码键盘硬件电路极为简单故本系统采用。
(1)键输入接口与软件解决的任务
A. 键开关状态的可靠输入
为了去抖动我们采用软件方法,它是在检测到有键按下时,执行一个10ms的延时程序后,再确认该键电平是否仍保持闭合状态电平,如保持闭合状态电平则确认为真正键按下状态,从而消除了抖动影响。
B. 对按键进行编码给定键值或给出键号
对于按键无论有无编码,以及采用什么编码,最后都要转换成为与累加器中数值相对应的键值,以实现按键功能程序的散转转移。
为使编码间隔小,散转入口地址安排方便,常采用依次序排列的键号。
C. 选择键盘监测方法
对是否有键按下的信息输入方式有中断方式与查询方式两种。
(2)行列式键盘
本系统用行列式键盘,即用I/O口线组成行列式结构,按键设置在行列的交点上。在按键数较多时,可节省I/O口线。
本系统键盘采用的工作方式为编程扫描工作方式,它是利用CPU在完成其他工作的空余,调用键盘扫描子程序,来响应键输入要求。在执行键功能程序时,CPU不再响应键输入要求。编程扫描工作方式只有在CPU空闲时才调用键盘扫描子程序。键盘采用的扫描法扫描方式,扫描法是在判定有键按下后逐行(或列)置低电平,同时读入行(或列)状态,如果行(或列)状态出现非全1状态,这时0状态的行、列交点的键就是所按下的键 。
在其他的作品中,要改变设置温度时,每按一次按键,相应位上的数字自加一。当要输入的数字比较大的时候,需要按很多次,使用起来比较麻烦。然而,键盘就很好地解决了这个问题。当要修改设置温度时,只需要按两次按键,再加上“确定”按键即可。所以本电路采用了使用方便的键盘控制电路。键盘的按键分布如下图所示:
P2.4 |
F1 |
|
F2 |
P2.0 |
7 |
8 |
9 |
P2.1 |
4 |
5 |
6 |
P2.2 |
1 |
2 |
3 |
P2.3 |
清除 |
0 |
确定 |
|
P2.5 |
P2.6 |
P2.7 |
键盘设定如下:
键盘共有14个按键,用于方便设定温度。
采用14按键的键盘代替其他作品的自加1按键和自减1按键,虽然增加了按键的个数,但是却方便了输入所需要设置的温度,使得温度设定操作更为简单。这也是本作品相对于其它作品改进的一个重要方面。
1、加热器控制电路
单片机通过三极管控制继电器的通断,最后达到控制电热器的目的。
当温度未达到要求时,单片机发送高电平信号使三极管饱和导通,继电器使电源与电热器接通,电热器加热。温度慢慢升高。
当温度上升到预定温度时,单片机发送低电平信号三极管进入截止状态,继电器的弹片打到另一侧,使电热器与电源断开,电热器停止加热。
继电器电路中有一个三极管8050的保护电路,即将一个二极管反向接到三机管的两端。连接方法如图所示。其原理是:
当继电器突然断电时,继电器产生很大的反向电流。二极管的作用是将反向电流分流,使流过三级管8050的电流比较小,达到保护三极管8050的作用。
3、温度测试电路
这里我们用到温度芯片DS18B20。使用集成芯片,能够有效的减小外界的干扰,提高测量的精度,简化电路的结构。使用集成芯片,已经慢慢的成为设计电路的一种趋势。本系统使用温度芯片也正是顺应了这一趋势。
DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
DS18B20支持“一线总线”接口,测量温度范围为 -55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。
温度芯片DS18B20转换速度快,转换精度高,与微处理器的接口简单,给硬件设计工作带来了极大的方便,能有效地降低成本,缩短开发周期。
4、七段数码管显示电路
本部分电路主要使用七段数码管和移位寄存器芯片74LS164。单片机通过I2C总线将要显示的数据信号传送到移位寄存器芯片74LS164寄存,再由移位寄存器控制数码管的显示,从而实现移位寄存点亮数码管显示。由于单片机的时钟频率达到12M,移位寄存器的移位速度相当快,所以我们根本看不到数据是一位一位传输的。从人类视觉的角度上看,就仿佛是全部数码管同时显示的一样。
在本系统中使用移位寄存器芯片74LS164时,是用芯片的贴片封装。贴片封装直接焊接在数码管电路的背面,这样既能实现强大的功能又合理利用电路的空间,而且整个显示电路小巧玲珑,在总体安装时方便。采用移位寄存器控制数码管显示出本系统要显示的数据,也是本系统的一个亮点。
1、串口通讯电路:
51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。
我们采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,但是对我们来说已经足够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接。
三、程序设计
概 述
整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、打印、通讯等。每一个执行软件也就是一个小的功能执行模块。设计者应将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后,就可以规划监控程序了。
首先要根据系统的总体功能和键盘设置选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。
1、程序结构分析
主程序调用了5个子程序,分别是数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、继电器控制程序、单片机与PC机串口通讯程序。
键盘扫描电路及按键处理程序:实现键盘的输入按键的识别及进入相应的程序。
温度信号处理程序:对温度芯片送过来的数据进行处理,进行判断和显示。
数码管显示程序:向数码的显示送数,控制系统的显示部分。
继电器控制程序:控制继电器动作
串口通讯程序:实现PC机与单片机通讯,将温度数据传送给PC机
将各个功能程序以子程序的形式写好,当写主程序的时候,只需要调用子程序,然后在寄存器的分配上作一下调整,消除寄存器冲突和I/O冲突即可。程序应该尽可能多的使用调用指令代替跳转指令。因为跳转指令使得程序难以看懂个程序段之间的结构关系。而调用指令则不同,调用指令使得程序结构清晰,无论是修改还是维护都比较方便。将功能程序段写成子程序的形式,除了方便调用之外,还有一个好处那就是以后写程序的时候如果要用到,就可以直接调用这个单元功能模块。
2、主程序
程序开始的时候先设置初始化,然后就控制数码管显示当前温度。接着就判断F1、F2按键是否被按下。按下F1进入温度控制点1的程序、按下F2进入温度控制点2的程序。程序控制设置温度的两个数码管闪烁的,此时键盘输入有效。有按键按下的时候进入按键处理程序。按下“确定”按键后,程序进入判断程序和继电器控制程序。继电器动作后,程序回到显示当前程序,并开始循环。
四、测试方法和测试结果
1、测试环境
环境温度28摄氏度
测试仪器:数字万用表,温度计0----100摄氏度
2、测试方法
使系统运行,采用温度计同时测量水温度变化情况,得出系统的温度指标。
3、测试结果
设定温度由40摄氏度到60摄氏度
标定温差<=1摄氏度 调节时间 0.5s
静态误差<=1摄氏度 最大超调量1摄氏度
4、测试结果分析
因为芯片是塑料封装,所以对温度的感应灵敏度不是相当高,需要一个很短的时间才能达到稳定。
五、总结
89S51的时钟最高可达12M,I/O口可达32个,高的时钟频率和丰富的I/O,都为我们实现电路功能提供了非常有利的条件。同时也因为开发环境友好,易用,方便,大大加快本系统设计开发。
键盘的使用,使操作更为简洁,易懂和迅速。
本制作的设计中使用了继电器控制的只是插座电路,因此,该系统的可扩展性很强。随着插入插座的电器的不同,可以实现许多其它功能的电路。
六、应用举例:
1、 控制过板机的温度
过板机的使用温度一般是在60摄氏度----90摄氏度之间。使用该系统时,当过板机的温度小于设置温度时,系统自动接通电源,过板机加热;当过板机刚刚超过设置温度时,系统自动断开电源,过板机冷却,以此保证过板机不至于被烧坏。
2、 控制水的温度
当需要某一温度的水的时候,既可设置温度,然后系统就自动为你效劳。不怕因为忘了时间,而把事情弄糟。
3、控制孵化室的温度
【参考文献】
(1)曹巧媛主编. 单片机原理及应用(第二版). 北京:电子工业出版社,2002
(2)全国大学生电子设计竞赛组委会编.第五届全国大学生电子设计竞赛获奖作品选编(2001), 北京:北京理工大学出版社,2003
(3)何力民编. 单片机高级教程. 北京:北京航空大学出版社,2000
(4)金发庆等编. 传感器技术与应用.北京机械工业出版社,2002
附:使用说明
1、将温度控制箱上的开关全部打到“关”的位置
2、将温度芯片插到温度控制箱的指定位置
3、用串口线将温度控制箱与计算机相连,打开相应的应用程序
4、将用电器的插头插到温度控制箱的插座
5、接上温度控制箱的电源、并打开开关。在温度控制箱上的数码管显示出当前温度
6、按F1键,进入温度点1的设置。通过键盘设置所需要的温度,然后按“确定”键。系统会将设置值与当前值进行比较,通过温度芯片的反馈,单片机控制加热或冷却水的温度,使水的温度稳定在设置的温度上。从而达到控制温度的作用。
7、按F2键则相应进入温度点2 的设置。与F1键的使用方法相同。
8、当要关闭系统时,先关掉开关,然后再拔掉电源。
框图表示:
附:外观图
敬告:本站论文载自网络,本站不予评论和纠错!所以内容读者自行论证!更多设计论文陆续添加中...