高志滨
(漳州城市职业学院电子信息工程系,福建漳州363000)
数字存储式温湿度测量系统设计
高志滨
(漳州城市职业学院电子信息工程系,福建漳州363000)
为实现实验室实验环境检测与管理,准确测量温湿度,提出一种数字存储式温湿度测量系统设计方案。硬件电路方面,采用STC89C52RC为主控芯片,设计了单片机最小系统电路、DHT22温湿度传感器控制电路、SD卡控制电路、LCD液晶显示控制电路、按键控制电路和报警电路,并且借助Altium Designer软件完成印制电路板设计。软件系统设计包括初始化程序、温湿度采集程序、LCD液晶显示程序、SD存储卡驱动程序、按键处理程序、报警程序等。实验结果证明,数字存储式温湿度测量系统运行稳定、测量精度高。
数字存储式;温湿度测量系统;STC89C52RC;DHT22;SD存储卡
温湿度与实验室实验密切相关,例如:温湿度对铀矿石放射性的影响实验[1]、温湿度对稻纵卷叶螟卵的影响实验[2]、环境温湿度对蜂群生命活动的影响实验[3]等。环境温湿度不仅影响实验数据,还影响人的身体健康、农产品储备时间和仪器寿命等[4-5],因此获取准确的温湿度数据具有一定的现实意义。随着电子信息技术的发展,智能仪器以其体积小、功耗低等特点,广泛应用于电子测量、自动化控制等领域。基于单片机的数字温度测量系统将计算机技术与测控技术结合,实时监测环境温湿度,有效辅助实验室实验。DHT22温湿度传感器不需要复杂的信号调理电路和外置AD转换电路,相比传统的DHT11温湿度传感器[6-8],有着更好的测量精度与稳定性。
数字存储式温湿度测量系统如图1所示。
图1 数字温湿度测量系统
数字存储式温湿度测量系统电路以MCU为控制核心,温湿度传感器模块主要负责采集实时温湿度数据。系统运行时,MCU驱动DHT22温湿度传感器工作,DHT22采集的实时温湿度数据通过LCD液晶屏显示。按键控制模块主要负责温湿度预警值设置,当温湿度值达到预警值时,MCU将驱动报警模块工作。数字存储式温湿度测量系统还有存储卡模块,用于保存实时温湿度数据,为有关温湿度实验提供依据。
数字温湿度测量系统电路如图2所示。整个电路分为主控芯片与配置电路、温湿度传感器控制电路、SD卡控制电路、液晶控制电路、按键控制电路、预警电路等。
图2 数字温湿度测量系统电路图
2.1 主控芯片与配置电路
主控芯片采用STC公司生产的8位单片机STC89C52RC,它使用经典的MCS-51内核,低功耗,高性能,内置8 kB的ROM、512 B的RAM、2 kB的EEPROM,在智能产品领域应用广泛。配置电路由时钟电路和复位电路组成,时钟电路模块提供系统运行的时钟信号,晶体振荡频率为11.059 2 MHz,复位电路由按键复位电路和上电复位电路构成。
2.2 DHT22温湿度传感器模块
DHT22温湿度传感器包含一个电容式感湿器件和NTC感温器件,供电电压为3.3~5.5 V,采用单总线通信协议,输出信号为已校准数字信号,可直接与MCU相连。系统上电后,MCU维持数据线处于高电平状态,至少持续1 s,之后当用户拉低总线发送一次开始信号后,即可触发温湿度传感器进行一次数据采集。当系统空闲时数据线为高电平,此时DHT22处于低功耗状态。
DHT22有4个引脚:引脚1为供电端;引脚2为通信端,负责MCU和传感器的指令与数据传输,当测量距离在20 m内时,使用5 kΩ上拉电阻,当测量距离大于20 m时,上拉电阻应适当减小;引脚3为GND端;引脚4悬空。
DHT22温湿度传感器工作时,必须严格遵守通信时序。查询与响应时序如图3所示。当MCU读取DHT22采集的数据时,需要发起查询指令,拉低总线至少500 μs,之后释放总线20~40 μs,等待DHT22响应信号。DHT22的响应信号为一个80 μs左右的低电平信号,随后释放总线,维持80 μs左右,表示即将进入数据传输阶段。
图3 查询与响应时序图
DHT22数据传输协议:每一位数据都是由一个低电平时序和一个高电平时序组成,低电平时序表示数据的起始,高电平表示数据位,较长的高电平表示数据位“1”,较短的高电平表示数据位“0”。实际操作时,只需用while语句等待低电平数据起始位的到来,之后延时约78 μs~120 μs,判断数据总线是高电平还是低电平,即可判断数据位表示“0”还是“1”。读“0”和读“1”时序如图4所示。
图4 读“1”和读“0”时序
DHT22温湿度数据传输格式:16 bit湿度数据+16 bit温度数据+8 bit校验和高位先出。温度数据的最高位表示温度的正负值,“1”表示负温度,“0”表示正温度。
2.3 存储卡模块
SD卡支持2种通信方式:SD方式和SPI方式。SD方式采用6线制,SPI方式采用4线制。本设计采用SPI方式,需要用到片选线SDCS、时钟线CLK、输入输出线MISO和MOSI。对SD卡操作主要有初始化、复位、读扇区和写扇区操作等。初始化操作命令为CMD1,由0x41、0x00、0x00、0x00、0x00、0xff组成;复位操作命令为CMD0,由0x40、0x00、0x00、0x00、0x00、0x95组成;读扇区命令为CMD17,由0x51、32位读地址、0xff组成;写扇区命令为CMD24,由0x58、32位写地址、0xff组成。
2.4 液晶显示模块、按键控制模块和报警模块
液晶显示模块采用低功耗、可靠性高的LCD1602字符型液晶,8位通信方式,每次可显示2×16个字符,第一行可显示设定温湿度值,第二行可显示实际温湿度值。
按键控制模块由KEY1~KEY5共5个轻触按键组成,KEY1为模式选择按键,KEY2为加1按键,KEY3为减1按键,KEY4和KEY5按键为预留扩展按键。数字存储式温湿度测量系统主要有5种模式:正常模式、温度上限预警值设定模式、温度下限预警值设定模式、湿度上限预警值设定模式、湿度下限预警值设定模式。当需要设定温度预警值或湿度预警值时,需要使用KEY1进行模式选择。系统运行时,当实验室温度或湿度达到预警值时,MCU将驱动报警电路工作,进行预警。
数字存储式温湿度检测系统软件设计包括:温湿度传感器初始化程序、SD卡初始化程序、LCD初始化程序、温湿度采集程序、SD卡读/写程序、LCD显示程序、键盘扫描程序、预警程序等。系统主程序和温湿度采集程序流程图如图5所示。
图5 系统主流程图和温湿度采集流程图
系统启动后,先进行硬件初始化,之后MCU驱动DHT22采集实时温湿度数值,并将温湿度数值送入LCD1602液晶屏显示,当温湿度数值到达预先设定的预警值时,将启动报警,若没有达到预警值,则DHT22继续采集当前温湿度,报警模块不启动。系统运行过程中,可以通过按键进行温湿度预警值设定。
◆工作电压:DC 5 V(常用);
◆温度测量范围:-40~+80 ℃;
◆温度测量误差:±0.5 ℃;
◆相对湿度测量范围:0~99%;
◆相对湿度测量误差:±2%;
◆响应时间:小于5 s。
由DHT22温湿度传感器构成的数字存储式温湿度测量系统,具有成本低、体积小、测量精度高等特点。将数字存储式温湿度测量系统引入实验室实验中,实现实验室温湿度24 h实时监测,监测数据可以得到有效保存,减轻了实验员的工作量。高精度的测量数值,为温湿度相关实验提供了准确的科学依据,有利于实验者进行实验数据的分析和处理。数字存储式温湿度测量系统还可以进一步提高整机功能,根据实际需要可以引入继电器模块,结合空调系统,对环境温湿度进行精确控制。
[1]赖二平,乐仁昌,张鑫煌,等.温湿度对矿石短期释氡与活性炭短期吸氡的影响研究[J].核电子学与探测技术,2015,35 (11):1082.
[2]方源松,廖怀建,钱秋,等.温湿度对稻纵卷叶螟卵的联合作用[J].昆虫学报,2013,56 (7):786.
[3]汪天澍,刘芳,余林生,等.蜜蜂蜂群温湿度调节的研究进展[J].生态学报,2015,35(10):1.
[4]廖建尚.基于物联网的温室大棚环境监控系统设计方法[J].农业工程学报,2016,32 (11):233.
[5]曹昌勇,贾伟建.基于AT89C52和DHT11数字式粮库温湿度监控系统设计[J].齐齐哈尔大学学报,2014,30 (1):31.
[6]倪天龙.单总线传感器DHT11在温湿度测控中的应用[J].单片机与嵌入式系统应用,2010(6):60-62.
[7]韩丹翱,王菲.DHT11数字式温湿度传感器的应用性研究[J].电子设计工程,2013,21 (13):83.
[8]颜丽娜,王顺忠,张铁民.基于DHT11温湿度测控系统的设计[J].海南师范大学学报(自然科学版),2013,26 (4):397.
责任编辑:周泽民
A Digital Storge Temperature and Humidity Measuring System
GAO Zhibin
(Department of Electronic and Information Engineering,Zhangzhou City College,Zhangzhou 363000)
A scheme for digital storage temperature and humidity measuring system is proposed to monitor and control the laboratorary environment through accurate temperature and humidity measurement.For hardware circuit,the system is designed with STC89C52RC as the controlling core.The smallest system circuit of single-chip microcomputer,DHT22 control circuit,SD memory card control circuit,LCD display circuit,button control circuit and alarm circuit are designed.The PCB is designed by the software Altium Designer.The software system includes initialization program,temperature and humidity acquisition program,LCD display program,SD memory card driver program,key handing program,alarm program,etc..The experimental results show that the digital storage temperature and humidity measuring system is stable and precise.
digital storage;temperature and humidity measuring system;STC89C52RC;DHT22;SD memory card
10.3969/j.issn.1671-0436.2016.05.008
2016- 07- 15
高志滨(1986— ),男,硕士,助教。
TP274
A
1671- 0436(2016)05- 0035- 04