一种婴儿洗澡水温度监测报警器的设计*

2021-03-01 02:45宋秦中
机电工程技术 2021年1期
关键词:数码管子程序温度传感器

宋秦中,周 宇

(苏州市职业大学机电工程学院,江苏苏州 215104)

0 引言

婴儿皮肤娇嫩、体温调节系统还不成熟,对温度不敏感,在洗澡时为了防止烫伤,应严格控制宝宝洗澡水的水温,不宜太热也不宜太冷。一般在家里给婴儿洗澡时,很多家长都习惯了先倒点热水,然后慢慢加冷水,接着用手腕或者手背部来测试水温。医学推荐的水温在37~40 ℃是合适的,但成年人靠手腕或者手背部感受水温不准确,某些温度对成年人来说可能没有任何感觉,但对婴幼儿影响却比较大,因此设计一款经济适用的水温监测报警器,科学、准确地进行水温监测报警具有一定的现实意义。从经济角度出发,采用单片机作为温控系统,通过对外部水温进行温度的检测,设定上下限温度,当检测水温低于或超过设定温度,蜂鸣器报警,从而提醒添加冷热水。

1 方案设计

设计的温度监测报系统包括3 个部分:主控芯片、温度检测部分和温度显示部分,如图1所示。与传统的温度计相比,其具有读数方便、测温范围广、测温准确等优点。另外,输出温度采用数字显示,测温准确、直观。

图1 总体设计方框图

具体要求如下:(1)测温范围37~40 ℃;(2)精度误差0.1 ℃;(3)数码管直读显示;(4)具有扩展功能,可以设置任意的温度来检测上下限报警温度。

从性价比和开发的难易程度考虑,使用STC89C51 单片机作为主控芯片,使用数码管作为显示温度部分。剩下的是温度监测部分的选型,其核心是温度传感器的选择[1-6]。传统的方案是采用热敏电阻,这种设计需要使用一个模数转换电路,测温电路比较麻烦。而采用数字型温度传感器,从成本考虑还是在软硬件的设计方案复杂程度上,都占一定优势。因此,最终选定STC89C51单片机作为主控芯片,数字温度传感器DS18B20 构建温度检测部分,数码管作为温度显示部分。

图2 温度传感器电路原理图

2 系统设计与实现

2.1 硬件设计

硬件设计包括单片机最小系统、温度传感器系统、报警电路、显示电路和电源电路等部分等设计,设计的温度监测报警器电路原理图如图2所示。

最小系统包括晶振电路、复位电路、按键设置部分,具体电路设计如图3所示。

图3 单片机最小系统电路

温度传感器系统采用DS18B20 数字型温度传感器,通过编程实现9~12位数字读出模式,如表1所示。DS18B20 实现温度转换之后,就把测得的温度值与RAM 中的TH、TL 字节内容作对比。如果所测得的温度高于上限值或低于下限值时,则向主系统发出的报警命令作出呼应。另外,根据本系统的特点,温度传感器的电路设计利用单线进行数据传输。

表1 DS18B20部分温度对应值表

报警电路主要由蜂鸣器、三极管、电源等所组成的。显示电路中主要的组成部分为数码管和三极管,数码管主要是来显示所需要的信息。电源电路采用的是USB 接口供电,而自锁开关来控制电源的开关,当按下自锁开关时,数码管就会显示并工作。

2.2 软件设计

依据方案设计以及单片机的主要芯片设计主程序的流程图:先是程序的初始化设计,然后再读取报警温度,之后判断所设置的温度是否超过40 ℃或者低于37 ℃,如果在这范围之间就会执行测温的程序,如果不在就会报警,然后返回读取报警温度的程序,直至其在这温度范围才进行下一步的程序;紧接着就是进行测温的程序,然后判断温度是否超标,如果超标就报警,如果没有超标就执行判断的程序看其是否超过所设置的温度。主程序的系统流程如图4所示。

图4 主程序流程图

一个完整的软件程序的系统,离不开主程序与子程序的组成,本设计由DS18B20 温度传感器的初始化子程序、显示温度子程序、显示报警温度子程序、报警子程序、中断子程序等组成。在子程序设计当中,主要的是DS18B20 温度传感器子程序的设计,其流程如图5所示。

图5 DS18B20温度传感器子程序流程图

3 系统调试与测试

3.1 仿真测试

用Keil 进行程序编译,将生成的HEX 文件导入Proteus 电路图的单片机中,进行仿真测试。在电路初始化的过程中通过调整DS18B20 温度传感器的温度值,数码管将显示相应的数值。

设置报警温度上限时,按一下设置按钮,从温度显示模式进入温度上限设置模式,可以通过仿真图中的加减按钮来设置其上限温度值,当温度超过系统下限时,系统会发出声光报警,蜂鸣器会发出报警声,黄灯闪烁。当温度超过设定上限时,系统会报警,蜂鸣器会响,红灯闪烁,如图6所示。

3.2 实物测试

通过本设计的电路原理图以及PCB 原理图对其进行实物焊接,先将焊接好的实物进行软件程序的烧录,之后对其进行调试。

(1)初始状态调试

首先将焊接好实物平整地放在桌面上,再利用USB接口来连接电源与实物,按下自锁开关,然后检查其初始状态。

(2)传感器检查

检验温度传感器是否起作用,用手触摸它来发现其温度是否改变。

(3)按键检查

先检查复位按键是否有作用,按下复位按键,看显示屏是否变成初始状态。

(4)实物测试

检验温度设定按钮,先按下温度范围设置按钮,按一下设置按键,调动温度上调按键来设置最高上限为40°C,如图7(a)所示。当测量热水时高于其上限温度,红灯亮,蜂鸣器报警,如图7(b)所示。

图6 超过上限报警仿真图

图7 实物测试

4 结束语

使用STC89C51单片机作为主控芯片,采用数字温度传感器DS18B20 作为温度检测部分,选用数码管作为温度显示部分,完成了一种水温监测报警系统的设计。仿真和实物调试证明,设计的系统能够实时测量及显示温度,超出温度范围声光报警,上下限温度可通过按键设定等。

将设计的系统进行产品化设计与包装后能够应用于婴儿洗澡水水温监测与报警,温控系统对洗澡水水温进行温度检测,按照实际情况设定适宜的上下限温度,当检测水温低于或超过设定温度,蜂鸣器报警,从而提醒添加冷热水,从而保护婴儿洗浴安全。

设计的系统具有简单、易上手、易操作,应用范围广等优点,可以拓展到多种温度监测报警场合。

猜你喜欢
数码管子程序温度传感器
微课教学设计之“数码管动态显示”
Arduino编程
温度传感器DS18B20在温度计设计中的应用
MC9S08FL16单片机数码管静态显示分析
一种高性能CMOS温度传感器
单片机控制的四位数码管动态显示编程
XTR105电流变送器在温度传感器中的应用
浅谈子程序在数控车编程中的应用
温度传感器在笔记本电脑散热系统中的应用
子程序在数控车加工槽中的应用探索