基于DS18B20智能温度控制器的研制

时间:2022-06-21 11:22:20

基于DS18B20智能温度控制器的研制

摘要:本文所设计温控器采用了DS18B20传感器采集温度信号,以STC89C52单片机为核心芯片,采用DS12C887时钟芯片为系统提供高精度实时时钟。该温度控制系统配有数码管显示和大功率继电器输出,在监测室温的同时还能控制设备的体表温度,可广泛用于加热设备,具有系统精简、可靠性好、功能强大的特点。

关键字:DS18B20;STC89C52;温控器

中图分类号:TP273 文献标识码:A

前言

温度是一种基本的环境参数,无论是日常生活还是在工业生产中都要对环境温度进行监测并依据温度做出相应的控制,特别是加热器、热水器、电暖器等家电产品,更是要实时监测与控制温度,这就需要时刻采集温度信号。传统的办法是用热电阻或热电偶等元件来采集温度信息,但需要AD转换模块将采集的模拟量转换为数字量,然后才能进行相应处理,这就造成了硬件的复杂以及成本的提高[1],同时也降低系统的可靠性和精度。DS18B20的出现大大解决了上述问题,它是美国DALLAS公司生产的新型单总线数字式温度传感器,集温度测量与AD转换为一体,直接输出数字量,单总线、硬件简单,可以实现多点测量,具有体积小,硬件成本低,抗干扰能力强,精度高,附加功能强等特点,广泛的应用于仓储管理、工农业生产制造、气象观测、科学研究以及日常生活中。

1 硬件结构

本文所设计的智能温度传感器以STC89C52单片机为主控芯片,采用DS18B20采集温度信号,DS12C887提供实时时钟,设计了数码管显示与继电器输出控制,并设计了良好的人机交互界面,方便用户操作,其系统框图如图1所示。

系统工作原理:按键或是红外遥控输入控制命令,包括开机、设定温度、定时选择,系统置位继电器对采暖设备进行加热。实时采集DS18B20温度传感器的信息,并将室温的采集值和设定温度值显示到数码管上,当室温达到指定值时系统控制继电器停止加热,进入保温状态(低功耗加热),在加热的工程中如检测到设备温度超过上限,同样断开继电器停止加热以保护设备,并让蜂鸣器蜂鸣3次提醒用户温度超限了。DS12C887为系统提供准确的时钟,用户可以设定定时开机与定时关机,设定时数码管将切换到显示时间值,设定完成后则继续显示温度值,并可以实时查询设定的时间值和设备表面的温度值。该系统采用了双温双控的控制原理,并设计了低功耗保温,在降低功耗的同时有效的保护了采暖设备。

1.1 STC89C52单片机

STC89C52单片机是宏晶科技推出的新一代单片机之一,指令完全兼容传统的8051系列单片机,可以选择12时钟/机器周期和6时钟/机器周期,具有很高的速率和极低的功耗,抗干扰能力强,具有8K的Flash和512K的RAM,存储空间大,并支持在系统编程(ISP)和在应用中编程(IAP),编写和下载程序极为的方便,并且下载过程可以对应用程序加密,大大提高了产品的安全性。极小的封装有效减少了目标板的体积,定时器、中断、看门狗的等功能模块满足了温控器功能的要求。

1.2 DS18B20温度传感器

DS18B20是美国DALLAS(达拉斯)公司生产的,它是一款新型单总线数字式温度传感器,及温度测量与AD转换为一体,直接输出数字量,硬件电路极为简单。检测温度范围为-55℃~+125℃,测量误差可达±0.5℃,可设置为9位~12位数字量输出,并且每一个DS18B20都具有唯一的序列号,这就可以实现单总线上挂多个DS18B20以实现不同地方的温度多点检测[2]。本文采用了两个DS18B20传感器,一个用于监测室温一个用于采集设备的温度,其连接原理图如图2所示。

DS18B20只有3个管脚,VDD接电源, 3V~5V,GND为地;DQ为数据的输入输出。DQ作为输出时为漏极开路,必须加4.7kΩ的上拉电阻,本文采用了10K的上拉电阻。DS18B20内集成了一个温度传感器、64位ROM、9字节RAM、3字节EERAM(掉电可保存),可将温度信号转换为数字信号直接输出。DS18B20与外部的接口为单总线方式,即数据的输入、输出及同步均由同一根线完成[3]。单片机经过单线接口DQ访问DS18B20的工作流程为:对DS18B20进行初始化,然后发送ROM指令,再发送RAM操作指令,等到转换完成即可处理转换结果。

1.3 时钟日历芯片DS12C887

DS12C887芯片也是美国DALLAS公司生产的,能产生世纪、年、月、日、分、秒等信息具有很丰富的功能。DS12C887中自带有锂电池,外部掉电时,其内部时间信息还能够保持 10年之久;对于一天内的时间记录有12小时制和 24小时制两种模式,12小时制分为AM和PM,并具有闰年自动补偿功能,时间的表示可以选二进制或是BCD码表示,具有可编程方波输出方式和三种可编程中断方式[4],能为系统提供精确的时钟。DS12C887时钟芯片能为系统提供精确的时钟,为温控器定时功能的提供了可靠的保障。DS12C887与STC89C52的连接示意图如图3所示。

1.4 数码管显示电路

选用了4位数码管显示当前温度和设定温度值以及定时时间,数码管采用了静态显示的方法。选用了74HC573锁存器锁存P0口的状态,一个用于输出数码管的段码,一个用于数码管的位选,原理图如图4所示。

1.5 继电器和蜂鸣器控制

继电器与蜂鸣器选用了三极管的开关原理控制继电器或是蜂鸣器的通与断,当I/O口输出低电平时,三极管导通,继电器或是蜂鸣器置位;当I/O口输出高电平时三极管截止,继电器或是蜂鸣器停止工作。I/O口需串接1K的电阻以起到限流的作用。

2 系统软件设计

系统的软件采用了模块化思想,根据温控器的功能要求,设计了主函数、温度检测函数、显示函数、定时开关机函数、按键处理函数以及红外解码函数。

主函数主要任务是初始化、比较温度值、调用子函数;温度检测主要是采集两个DS18B20的温度值,并返回转换完成的值;显示函数主要是显示当前温度值和设定温度值,还负责显示定时设定的时间和设备的表面温度等信息;定时开关机函数提供设定定时时间,并负责系统的定时开机与关机;按键处理及红外解码函数负责检测按键信息以及接收红外遥控的控制信息,并依据信息作出处理,包括开关机、设定温度值的调节和定时时间的设置。流程图如图5所示。

3 结语

本文所设计的智能温度控制器采用双温双控的原理,可以红外遥控和手动按键控制,可随时调节设定环境温度值和设备安全上限温度值,具有定时开关机的功能。结构简单、功能强大,系统可靠性高、实时性强,用户操作方便,具有很强的实用性,能应用于各种加热设备,具有广泛的应用。

参考文献

[1] 易丽华,黄 俊. 基于AT89C51单片机与DS18B20的温度测量系统[J]. 电子与封装,2009,9(5):39-42.

[2] 张 军. 智能温度传感器DS18B20及其应用[J]. 仪表技术,2010(4):68-69.

上一篇:一种新型非晶丝磁引信炸雷的作用原理 下一篇:油井工况自动诊断软件的研究与应用