基于DS18B20温度控制器的设计

2019-01-17 02:08薛晓珍
机械管理开发 2018年12期
关键词:数码管蜂鸣器原理图

薛晓珍

(山西大医院, 山西 太原 030032)

引言

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

1 硬件结构

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

图1 温度控制系统图

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

1.1 STC89C52单片机

STC89C52单片机具有很高的速率和极低的功耗,抗干扰能力强,具有8K的Flash和512K的RAM,存储空间大,并支持在系统编程(ISP)和在应用中编程(IAP),编写和下载程序极为的方便。极小的封装有效减少了目标板的体积,定时器、中断、看门狗等功能模块满足了温控器功能的要求。该单片机体积小、功耗低、成本低,完全能满足温度控制器的功能需求。

1.2 DS18B20温度传感器

DS18B20是美国DALLAS公司生产的,它是一款新型单总线数字式温度传感器,及温度测量与AD转换为一体,直接输出数字量,硬件电路极为简单[2]。本文采用了两个DS18B20传感器,一个用于监测室温一个用于采集设备的温度,其连接原理图如图2所示。

图2 DS18B20连接原理图

DS18B20只有3个管脚,VDD接电源,3V~5V,GND为地;DQ为数据的输入输出。DQ作为输出时为漏极开路,必须加4.7 kΩ的上拉电阻[3],本文采用了10 K的上拉电阻。单片机经过单线接口DQ访问DS18B20的工作流程为:对DS18B20进行初始化,然后发送ROM指令,再发送RAM操作指令,等到转换完成即可处理转换结果。

1.3 时钟日历芯片DS12C887

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

图3 DS12C887时钟芯片与单片机连接原理图

1.4 数码管显示电路

选用了4位数码管显示当前温度和设定温度值以及定时时间,数码管采用了静态显示的方法。选用了74HC573锁存器锁存P0口的状态,一个用于输出数码管的段码,一个用于数码管的位选[5],原理图如图4所示。需要显示数字时,首先单片机置位复位P0口8个管脚的不同状态控制锁存器的逻辑,用于选定不同的数码管段位信息,为了静态显示,应用74HC573锁存器,然后单片机将需要显示的数字信息通过P2口进行输出,高低电平状态决定了数码管点亮的位,从而显示出需要的数字信息。

图4 数码管元件与单片机连接原理图

1.5 继电器和蜂鸣器控制

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

2 系统软件设计

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

主函数的主要任务是初始化、比较温度值、调用子函数;温度检测主要是采集两个DS18B20的温度值,并返回转换完成的值;显示函数主要是显示当前温度值和设定温度值,还负责显示定时设定的时间和设备的表面温度等信息;定时开关机函数提供设定定时时间,并负责系统的定时开机与关机;按键处理及红外解码函数负责检测按键信息以及接收红外遥控的控制信息,并依据信息作出处理,包括开关机、设定温度值的调节和定时时间的设置[6]。为了进一步提高系统的执行效率和降低系统功耗,子函数均采用中断的方式,当不需要该功能模块时,系统不调用,只有满足中断条件时才对调用该函数,这样可提高软件系统的运行效率和抗干扰程度,并提供了休眠模式降低系统的功耗。

3 结论

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

猜你喜欢
数码管蜂鸣器原理图
电动自行车产品车速提示音检测现状和整改技术研究(2)
微课教学设计之“数码管动态显示”
掌控板制作简易钢琴
浅谈STM32核心板原理图设计
电路原理图自动布图系统的设计与实现
基于Protel DXP 2004层次原理图的设计
Arduino编程
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
单片机驱动蜂鸣器的程序设计