(衢州学院浙江衢州324000)
摘要:本文介绍一种基于单片机的温度测控系统。通过单片机定期采样,利用温度传感器采集的温度数据,在其内部进行模拟信号与数字信号的转换,同时将数据显示在数码管上。当温度超过原先设定的上下限值时,报警系统控制一个蜂鸣器发音。在进行温度测量之前可对系统测量的温度范围进行设定。通过以上设置可有效达到温度控制的目的。
关键词:单片机;温度控制;蜂鸣器;数码管
1引言
温度控制系统广泛应用于各领域,比如温室种植、冷藏、冶金等。在现当代的生产与生活当中,人们对于温度控制的现实需求越来越大。而随着科技的快速发展,温度控制的精度与快速性得到了极大的提高,这很大程度上促进了产品的生产,同时也提高了人们的生活质量。从温度控制系统的提出,到现如今发展到包括PID控制、模糊控制、神经控制等方法,温控系统的发展从未停止过前进的脚步。而伴随着电子科技的迅猛发展,电子器件的加入使得温度控制系统的前景更加开阔。利用简单的电子元件可以方便研究人员更好地进行设计与开发,而模块化的设计与廉价的电子器件,让温度控制在电子行业中占得头衔。本文将采用AT89C51单片机,DS1621温度传感器等元器件完成温度测控系统。DS1621温度传感器是由DALLAS公司生产的具有2-WIRE结构的数字温度传感器,它能够利用I²C接口与单片机进行连接,且能够将模拟信号转换为数字信号,方便的同时有效地减少了资源的消耗。系统还设有按键功能,可进行温度范围的设定,而温度调控部分将会对温度进行升温或是降温处理。
2温度控制系统总体框图
温度控制系统所采用的设备装置主要由单片机、温度传感器、温度调节装置和显示器组成。温度采集系统将采集到的数据传递给单片机,经过单片机的处理后在数据显示装置上进行数值显示,同时与原先设定的温度进行对比,之后通过温度调节装置进行温度的升高和降低。具体结构如图1所示。
3温度采集电路
温度采集系统是使用DS1621温度传感器与AT89C51单片机进行相连,利用DS1621温度传感器进行温度的测量和信号的转换,通过I²C总线传递给AT89C51单片机,以此做到温度的采集及传输。为了提高测量精度和测量范围,本文设计的的是多点测量,将3块DS1621温度传感器并联一起,同时利用A0、A1、A2口进行地址设定,从而让每个温度传感器都可测得数据。而最终在显示器上显示的是这三个数值的平均值。图2为AT89C51单片机与DS1621温度传感器连接的温度采集电路图。
4液晶显示电路图
显示电路采用的是LCD1602液晶显示器,通过程序编辑可显示温度的设定范围,以及DS1621温度传感器测得的实时数值,另外为方便数值调整及切换,1602还将显示功能值。根据设计要求设计如图3所示的液晶显示电路:
5温度控制电路
温度控制电路主要实现的目的是进行温度的“升高”与“降低”,在进行测量之前我们会设置一个温度的范围,当从单片机传递过来的测量平均值高于DS1621温度传感器中原先设定的最高值时,单片机会给固态寄存器发出一个高电平,然后通过继电器进行开关的“通”与“断”操作,从而使得风扇开始运作(考虑到成本与简化操作目的,这里使用的降温方式为风扇降温);而当从单片机传递回来的测量平均值低于原先设定的最低温度值时,单片机会给另一个固态继电器传递一个高电平信号,然后通过继电器进行开关的“通”与“断”操作,从而使得加热电阻开始通电,达到加热的效果。通过这两个控温装置,再进行编程,即可达到控制温度的目的。温控系统降温电路如图4所示,温控系统升温电路如图5所示。
6报警电路
报警电路由一个电阻、一个蜂鸣器和一个NPN构成,当对单片机的I/O口通低电平信号时,蜂鸣器通电并开始报警。该电路的主要实现目的是当温度超出原先设定的温度值时,报警系统会发出报警信号。具体电路如下图6所示:
7按键系统
按键部分主要由K1、K2、K3、K4四个按键开关组成,主要实现的功能是对温度测量范围的设定,K1的功能是选择模式,当电路通电启动后,按一次K1键可在1602上显示出2,此时可通过K2、K3键进行对最高值的设定;当再次按K2键时2会变成1,此时可进行对最低值的设定。而K2、K3键分别为增加、降低的功能,两者按一次均可对数值的单次调整,最后的K4键为确定键,当设定完毕后可通过按K4键对所设的温度范围进行确定及保存,同时数值1会变成0,该状态下表示为确定。图7为按键系统。
8仿真软件程序线路调试
通过硬件的设计与软件的编写,在PROTEUS上进行系统的仿真。一开始先化整为零,将总系统划分为单一的模块,方便检查与编写程序。然后将每个模块进行连接调试,通过keil软件将程序生成HEX文件,最后在PROTEUS软件上进行仿真。图8系统仿真图中包含着报警系统、按键系统、温度测量系统、温度调控系统以及存储系统。其中存储系统为AT24C04存储器,该存储器具有与I²C相兼容的接线接口,具有简单的存储功能,本文不多做介绍。
进行系统电路的调试,将HEX文件导入单片机中,利用按键设置温度上下限,当平均温度高于原先设定的最高值时,蜂鸣器报警。
降温设备开始运作,如图9所示。图中P22口显示为蓝色。标志着此时报警系统是在运作,另外P21口也显示为蓝色,同样标志着此时的降温设备是在运作。同样方法,当平均温度值低于原先设定的最低温度值时蜂鸣器启动开始报警。升温设备开始运作,P22口显示为蓝色。标志着此时报警系统是在运作,另外P20口也显示为蓝色,同样标志着此时的降温设备是在运作。
5结论
该温度控制系统具有操作简单、编程方便、测量精度高的优点,在对系统电路进行整体检验时可方便查询出错点,有利于修正。同时温度调控的智能化,利用程序的编译来进行自动化的设定,只要先对系统的温度测量范围进行设定,之后的温度控制就可以由系统自行进行判定执行,这样就不用人为的进行升温与降温操作,利用该特点可设计出智能化温控设备,可用于温室栽培、冷藏等领域。
参考文献:
[1]彭伟.单片机C语言程序设计实训100例-基于8051+Proteus仿真[M].北京:电子工业出版社,2012.10:225-254,431-437.
[2]高晶,张志伟.基于I2C总线的温度测量系统设计[J].电子测试,2011(10):75-78.
[3]刘玉红.基于I2C总线的单片机应用系统设计与实现[J].甘肃科技,2004,20(7):67-70.
[4]冯江,刘小梅,张晓莉,温如春.基于I2C总线接口的智能温控系统[J].兵工自动化,2005,24(4):91-94.
[5]孙延辉.基于I2C总线的多点温度采集系统设计[J].科学技术与工程,2009,9(22):6843-6852.