基于单片机空调温度控制系统
2014-01-12赵伟光
赵伟光
【摘 要】本文详细介绍了一种以单片机89C52为核心的空调温度控制系统。空调温度控制系统的设计原理以达到更优的系统性能为目的,由单片机完成数据的采集,处理,显示。该系统以在普通环境下测量到的温度值为确定条件,利用单片机控制空调制冷和制暖来达到所需温度。
【关键词】DS18B20;单片机;温度控制;LED显示
在今天手机得到广泛应用,一般手机信号发射机要求工作温度在之间,这也就要求手机信号发射机室内温度得在5-45度之间,我们可以设计一个温度控制电路来控制空调的温度,从而使手机信号发射机正常工作。
一、总体方案
考虑到该温度控制系统功能比较少,由单片机控制即可实现。而89C52单片机体积小、重量轻、抗干扰能力强、对环境要求不高、价格低廉、可靠性高、灵活性好,故本系统选择采用89C52单片机。采用单线数字温度传感器DS18B20进行数据采集。DSB18B20S数字温度计提供9到12位温度读数,指示器件的温度信息经过单线接口送入DS18B20送出,因此从中央处理器到DS18B20仅需连接一条线和地,读写和完成温度变换所需的电源可以由数据线本身提供,甚至不需要外部电源。
二、系统工作原理
该空调控制系统用到89C52单片机作为系统的CPU进行控制控制,由数字传感器DS18B20进行数据采集,89C52对采集到的数据进行处理,得到各种信号。而这些信号将分别作为LED数码管显示的信号输入和启动空调制冷、制热的输入。同时将利用单片机的其它使能端口实现系统的复位,手动调节和自动调节。
三、系统硬件设计
系统的硬件部分主要可分为温度采集电路,信号处理与控制控制,温度显示电路,温度调节电路,控制指示电路五大部分。
四、系统软件设计
DS18B20通信,其命令序列有3步:初始化、ROM命令(跟随需要交换的数据)和功能命令(跟随需要交换的数据)。
每次访问DS18B20,必须严格遵守这个命令时序,如果出现序列混乱,则单总线则单总线器件不会响应主机。这个准则对于搜索ROM命令和报警搜索命令例外,在执行两者中任何一条命令之后,主机不能执行其后的功能命令,而必须返回至第一步。
(一)初始化
单总线上的所有传输过程都是以初始化开始的,初始化过程由主机发出的复位脉冲和从机响应的应答脉冲组成,应答脉冲使主机知道总线上有从机设备且准备就绪。
(二)ROM命令
在主机检测到应答脉冲后,就可以发出ROM命令。ROM命令与各个从机设备的唯一64位ROM代码相关,允许主机在单总线上连接多个从机设备时,指定操作某个从机设备。ROM命令还允许能够检测到总线上有多少个从机设备及其设备类型,或者有没有设备处于报警状态。
(1)搜索ROM
当系统初始上电时,主机必须找出总线上所有从机设备的ROM代码,这样主机才能够判断出从机的数目和类型。主机通过重复执行搜索ROM循环(搜索ROM命令跟随着位数据交换),以找出总线上所有的从机设备。如果总线只有一个从机设备,则可以采用读ROM命令来替代搜索ROM命令。在每次执行完搜索ROM循环后,主机必须返回至命令序列的第一步:初始化。
(2)读ROM
该命令仅适用于总线上只有一个从机设备,它允许主机直接读出从机的64位ROM代码,而无须执行搜索ROM过程。如果该命令用于多节点,系统则必然发生数据冲突,因为每个从机设备都会响应该命令。
(3)匹配ROM
匹配ROM命令跟随64位ROM代码,从而允许主机访问多节点系统中某个指定的从机设备。仅当从机完全匹配64位ROM代码时,才会响应主机随后发出的功能命令,其他设备将处于等待复位脉冲状态。
(4) 跳跃ROM
主机能够采用该命令同时访问总线上的所有从机设备,而无须发出任何ROM代码信息。
(5) 报警搜索
除那些设置了报警标志的从机响应外,该命令的工作方式完全等同于搜索ROM命令,该命令允许主机设备判断哪些从机设备发生了报警(如最近的测量温度过高或过低等)。同搜索ROM命令一样,在完成报警搜索循环后,主机必须返回至命令序列的第一步。
(三)功能命令
在主机发出ROM命令,以访问某个指定的DS18B20,接着就可以发出DS18B20的某个功能命令。这些命令允许主机写入或读出DS18B20的存储器,启动温度转换以及判断从机的供电方式。
(1) 读RAM存储器
此命令读RAM存储器的内容,开始读字节0,并继续读到第九个字节(CRC)。如果不是所有位置均可读,那么主机可以再任何时候发出一复位命令以中止读操作。
(2)复制RAM存储器
此命令读RAM存储器的内容,开始读字节0,并继续读到第九个字节(CRC)。如果不是所有位置均可读,那么主机可以再任何时候发出一复位命令以中止读操作。
(3)重新调出EERAM
此命令把存储在EERAM中TH、TL、CONF的值重新调至RAM存储器。这种重新调出的操作在对DS18B20上电时也自动发生,因此只要器件一接电,暂存存储器内就有有效的数据可供使用。
(4) 读电源
在此命令送至DS18B20之后最先发出的读数据时间片,器件都会给其电源方式的信号:0=强上拉电阻供电;1=电源供电。
(5)写RAM存储器
写数据到RAM存储器,地址为第2、第3、第4字节(TH、TL、CONF)。
(6)温度变换
此命令开始温度变换,不需要另外的数据。温度变换将被执行,接着DS18B20便保持在空闲状态。
五、调试结果
从实物图可以看出,温度控制器能正常显示温度值,当超出18-26℃这个温度范围时输出启动制冷或电暖设备信号。
六、结论
基于DS18B2O的数字温度计在实际应用中取得了良好的效果,提高了温度采集系统的可靠性,且硬件电路简单、工作稳定、可靠,体积小巧、线路简单、成本低、应用灵活、测温精度和的实现转换速度足以保证大多数测温系统工作的要求。
参考文献:
[1]李广弟,朱月秀,王秀山. 单片机基础[M]. 北京:北京航空航天大学出版社,2001.
[2]何立民. 单片机应用技术选编(1)[M]. 北京:北京航空航天大学出版社,1993.
[3]丁镇生.传感器及传感器技术 [M].北京:电子工业出版社,1998.
[4]彭国贤.数码显示 [M].北京:电子工业出版社,1993.
[5]王雪文,张志勇.传感器原理及应用[M]. 北京:北京航空航天大学出版社,2004.
[6]余永权,ATMEL89系列FLASH单片机原理及应用[M]. 电子工业出版社, 2001.