天津德力仪器设备有限公司 天津300392
摘要:近年来,环境温度和湿度需要在许多场合进行测试,对测量精度的要求也逐渐提高。单片机技术的应用在很大程度上实现了温湿度测量的自动化和数字化。特别是由高精度数字温湿度传感器、显示模块、无线通信模块和报警输出模块组成的温湿度测控系统,具有读取数据方便、测量数据准确、测量数据准确、控制精度高、控制精度高等特点。d性能稳定。它的优点远远高于传统的手工测量仪器。因此,数字温湿度测量与控制技术已逐渐应用于一些需要高精度温湿度的领域。通过实际温湿度测控系统的设计,说明了单片机在该系统中的应用。
关键词:单片机;温湿测控技术;应用
1系统的总体设计
温湿度测控系统由CPU模块、温湿度传感器、按键输入模块、液晶显示模块、无线通信模块和报警输出模块组成。CPU模块是系统的核心,由C8051F020单片机、复位电路和晶体振荡电路组成。系统设计了八个温湿度采集通道,可同时检测八个测点的温湿度值。测量传感器均采用数字温湿度传感器TH10,具有测量精度高、读取数据方便、功耗低等优点。按键输入模块主要用于设置温湿度上下限报警值;LCD显示模块采用2×16字符液晶1602显示采集到的八通道温湿度值;无线通信模块采用Wi-Fi模块HM-WF82。负责将采集的温湿度值和系统状态数据实时传送到主机。报警输出模块包括声光报警电路的两部分。根据8路温湿度采集数据,显示各回路的工作状态。如果报警超出限制,将根据不同情况进行报警。
2系统硬件设计
系统的核心C8051F020单片机具有丰富的片内资源、功能强大,片内FLASH存储器还具有在系统重新编程能力,可用于非易失性数据存储,在本系统中用来存放设置的8路温度、湿度的上下限报警值,掉电后设置的数据不丢失。CZ6是JTAG调试电路接口,用来下载用户程序;由电阻R20、电阻R21、电容C1等元件组成一个上电复位电路,由晶振Q1、电容C2、C3等元件晶体振荡电路,以上是单片机进行正常工作时所必须的硬件电路。
CG1~CG8是8路数字温湿度传感器TH10组成的温湿度采集电路,也是本系统的关键部分,它直接影响温湿度的采集精度和系统的稳定性,本系统选用的数字温湿度传感器TH10的温度测量范围为:-40℃~90℃,在+20℃~+60℃范围内的温度测量精度为±0.1℃,其湿度测量范围为:0-100%RH,在0-80%RH范围内的湿度测量精度为±1.5%RH,可见该器件具有很高的测量精度,在本系统中TH10采用I2C串行接口与C8051F020单片机相连接,8路TH10分成2组,其中CG1~CG4连接到C8051F020的I/O接口P4.0、P4.1,分别通过10KΩ电阻R25、R26上拉至VDD,CG5~CG8连接到C8051F020的I/O接口P4.2、P4.3,分别通过10KΩ电阻R27、R28上拉至VDD。单片机依据TH10的读写时序,依次从8路传感器中读出温湿度值,并分别比较各路的温湿度上下限报警值,对报警状态做出相应的处理。
按键输入模块由<设置>、<▲>、<▼>这3个按键组成,分别连接到C8051F020的I/O接口P2.0、P2.1、P2.2,没有键按下时这3个I/O口线均为高电平,而当某个键按下时,相对应的I/O口线变为低电平,软件程序就可根据读取到的P2口数据判别出按下的键号,从而执行相应的键处理程序,实现8路信号温度、湿度的上下限报警值的设置,并把设置好的数据存储到C8051F020单片机内部的FLASH存储器中,掉电后设置的数据不变,使得用户的操作更加方便简洁。
LCD显示模块采用2×16字符的LCD1602,本系统使用高4位数据线的接法,可以减少单片机I/O接口的负担。使用C8051F020单片机P7口的高4位(P7.7~P7.4)连接到LCD1602的高4位数据线(D7~D4),P6.6连接到命令/数据选择端RS,P6.5连接到器件使能端E,读写控制端RW接地,器件的写使能一直有效,使用此种连接方法,需要在器件初始化时设置LCD1602为4bit工作方式。在本系统中LCD1602用来显示采集到的8路温度和湿度值,每屏显示2路温度值和湿度值、停留2秒换显下一屏内容,循环显示出8路的温湿度值。
本系统扩展了一个HM-WF8266B模块实现无线通讯功能,它拥有完整的且自成体系的Wi-Fi网络功能,用户可以通过AT+指令集、AndroidAPP等方式对HM-WF8266B进行网络配置。在本系统中C8051F020单片机P6口的P6.1、P.2、P6.3分别连接到HM-WF8266B的GPIO14(HSPI_CLK)、GPIO13(HSPI_SI)、GPIO12(HSPI_SO)端口,用SPI通讯方式把采集到的温湿度值、系统状态数据送给Wi-Fi模块,再通过IPv4网络协议传送给上位管理主机,上位机系统可以根据检测到的数据对加热器、加湿器和风机等设备进行控制,使得温湿度值保持在用户设定的范围内,达到实时联网控制的目的。
报警输出模块由声报警和光报警两部分的电路组成,其中声报警电路由电阻R23、三极管T1、二极管D21和蜂鸣器Bell组成,C8051F020单片机P6口的P6.7为高电平时,T1导通,蜂鸣器发出“嘟..嘟..”报警声,提示8路信号中有温度或者湿度超限,此时用户通过观察光报警的状态来确定报警的路号,以便采用相应的措施;光报警电路又分为温度报警状态指示和湿度报警状态指示两部分,温度状态指示由电阻R1~R8、发光二极管D1~D8组成,分别连接到C8051F020单片机的P3.0~P3.7,湿度状态指示由电阻R9~R16、发光二极管D9~D16组成,分别连接到C8051F020单片机的P1.0~P1.7,均采用灌电流接法,当单片机的I/O输出低电平时,对应连接的发光二极管亮,提示该路报警的状态:常亮表示超过上限值,闪亮表示低于下限值;这样我们就可以根据报警的状态信息来直观得出相关环境的温湿度状况。
3系统软件设计
软件设计对于单片机系统来说至关重要,软件程序的优劣直接影响系统的测量精度和运行的可靠性。本系统软件由C8051F020单片机汇编语言编写,代码效率高,采用模块化设计,结构清晰,使用KeilC51开发工具进行程序的调试和代码的烧写。本系统软件包括主程序、温湿度采集子程序、键盘扫描子程序、显示子程序、数据通讯子程序和报警处理子程序等程序模块。
主程序模块首先完成系统的初始化工作,包括温湿度模块TH10、Wi-Fi模块HM-WF8266B、显示模块LCD1602的初始化,关闭声光报警等;接着执行键盘扫描程序,如果有键按下,进行键处理对报警参数进行设置;然后依次从8路TH10中读取8路温湿度采样数据,并对每路读出的数据按照公式(1)、公式(2)转换为实际温度值和湿度值,将数据存储到缓冲区后,接下来把温湿度值送LCD进行显示,调用数据通讯子程序发送给上位管理主机;最后对每路温度值、湿度值分别和设定的上下限值进行比较,更新温湿度的报警状态,返回执行键盘扫描程序,重复以上程序模块的运行。
(式中T为实际温度值、ST为读出的16进制温度数据,单位:℃)
(式中RH为实际湿度值、SRH为读出的16进制湿度数据,单位:%RH)
结论
随着单片机的应用逐渐渗透到各个行业,相关数字温湿度测控技术的优势日益明显。最突出的特点是具有读数方便、测量范围宽、精度高等优点。它能在特殊环境下准确测量,同时能保证自身性能的稳定性。因此,研究单片机数字温湿度测控技术具有重要意义。
参考文献:
[1]张明超,高军伟,官晟,孙涛,黄振兴.基于单片机和上位机的温湿光照在线监测系统[J].工业仪表与自动化装置,2018(05):33-35.
[2]周俊,杨平,单联柱.基于单片机的电力线载波温湿控制系统设计[J].微型机与应用,2018,29(15):100-102.
论文作者:王庆伟
论文发表刊物:《科学与技术》2019年第09期
论文发表时间:2019/9/30
标签:温湿度论文; 单片机论文; 模块论文; 湿度论文; 测量论文; 数据论文; 系统论文; 《科学与技术》2019年第09期论文;