基于STM32 的温湿度检测系统设计及实现*
2020-08-26宋江明刘心蕊张铭朗何英昊
宋江明,刘心蕊,张铭朗,何英昊
(大连理工大学城市学院,辽宁大连 116600)
0 引言
对环境温湿度的检测在农业大棚、粮仓存储及呼吸睡眠等都有重要的作用,尤其是在农业生产方面。我国是农业大国,实现农业现代化是我国农业发展的根本目标,也是我国农业发展的基本方向。目前,大多数农场还是通过老式的温湿度计监测环境状况,由工人不停地循环查看和调整外界环境来维持理想状态。这种方式不仅浪费劳动力,而且人工调整的外围环境波动较大,会对生活生产造成一定的影响[1]。
市场上普遍的监测系统大部分都是基于以MCU-51 为处理器的8位单片机,虽然也实现了实时监控,但由于8 位处理器的处理速度和内存的限制,外接的传感器极为有限,而且程序不够稳定,经常出现程序卡顿、系统崩溃等不足。针对以上问题,本文设计并实现了一款基于STM 32的温湿度监测系统。该系统由STM 32 芯片作为核心处理器,DHT11 温湿度传感器模块作为检测传感器,并由OLED 显示屏进行显示。STM32处理器为16位处理器,通用版有144 引脚,若加上外围电路,可以实现对大农场各个位置的全方位监控[2]。DHT11温湿度传感器与同类处理器相比,以价格低廉、监测灵敏、体积小、应用环境广泛等优点在市场上得到广泛应用[3]。投入到实际生产生活中,可以实现一个控制台、多个监测点、实时反馈、适度调整等功能[4]。
1 整体电路设计
整体电路如图1所示,由4部分构成:传感器外接电路;时钟晶振电路;供电、降压、稳压电路;复位和下载电路。传感器外接电路是用于DHT11 温湿度传感器和OLED显示模块与处理器构成联系,建立信息交流通道[5];时钟晶振电路为处理器提供“脉搏”,保证整个系统正常运行;供电、降压、稳压电路为整个系统提供稳定、电压合适的电能;下载电路用于给处理器下载程序不用依靠核心板,复位电路用来对整个系统的重启。
图1 整体电路图
2 硬件设计
图2所示为硬件设计图。硬件由DHT11 温湿度传感器、OLED显示屏及STM32 芯片构成,系统应当按照硬件设计图建立电气联系,进行数据传输。
图2 硬件设计图
2.1 STM 32 芯片
STM 32系列32位Flash微控制器是基于ARM CortexTM-M的处理器,以为MCU用户提供新的开发自由度为宗旨。最高工作频率72 MHz,1.25DMIPS/MHz,片上集成32 ~512 kB的Flash存储器,6 ~64 kB的SRAM存储器。STM 32包括一系列的32位产品,保持了高集成度的同时,还保留了易于开发的特点,将高性能、实时功能、数字信号处理、低功耗与低电压操作等特性集于一身[6]。
2.2 DHT11 温湿度传感器
DHT11 温湿度传感器是一款具有已校准数字信号传输的温湿度监测两用传感器。它拥有专用的数字模块采集技术及温湿度传感技术,具有高可靠性和长期稳定性,成本低廉,具有相对湿度和温度测量,响应快,抗干扰性强,信号传输距离长,数字信号输出,精确校准。
2.3 0.96 寸OLED显示屏
相比较传统的LCD 12864 显示屏,OLED 屏无需背光,显示单元能自发光,功耗低。像素点密集,更利于人眼观察。采用IIC通信方式,占用的IO口少,响应速度快,画面不会出现卡顿或延迟。制作工艺简单,成本低。
3 软件设计
3.1 IIC总线
本系统OLED采用IIC 总线[7]与微处理器进行通信。IIC总线有一条时钟线SCL,一条信号线SDA。所有接入到IIC总线设备上的串行数据线SDA都接入到总线的SDA上,各设备的时钟线SCL 接入到总线的SCL 上。通常主机都是微处理器,总线的数据传输均由主机控制。被主机寻访的设备称为从机,每个接入IIC 总线的从机设备都有且只有唯一地址,以便于主机的寻访。IIC总线上可以接入多个微处理器和各种外围设备,为了保证数据的可靠传输,任意一时刻总线只能被某一台主机控制,各主机应在总线空闲的时候发送启动数据,开始进行寻访。
3.2 单总线协议
本系统DHT11采用单总线协议[7]与微处理器进行通信。单总线协议主机和从机通过一根信号线通信,它既可以传输时钟,又可以传输数据,数据可双向传输,一个主设备可以拥有一个或多个从设备。与IIC 协议相仿,每个从机有唯一地址以供主机寻访并通信。
3.3 程序框图
图3所示为程序框图。软件的重点是对温度、湿度的读取和处理。系统上电后,先对各个模块进行初始化,然后从DHT11温湿度传感器模块中读取数据,处理器内部进行数据的整理和转换,将二进制数据转换成10进制小数点后一位数据,转换完成后,发送到OLED显示模块进行显示。
图3 程序框图
4 系统测试
4.1 硬件调试
在本系统中,硬件部分首先通过Altium Designer 19 电路板绘制软件完成对电路的绘制[8]。为了使制作的电路板上的电路走线清晰明了,器件布局合理,在实现基本功能的同时,电路板应尽量美观。供电、降压、稳压电路如图4 所示,12 V电压进入该电路后,通过LMS2596降压芯片,输出5 V电压,再通过LM1117降压芯片,输出3.3 V电压,并利用电容的充放电原理,进行对电源的稳压,再输入到各个模块。时钟晶振电路、下载电路、复位电路如图5 所示,晶振电路由外部晶振和低速外部晶振构成,为STM 32 芯片提供“脉搏”,保证系统的正常工作;下载电路预留下载接口,保证程序的下载;复位电路由开关、电阻和电容构成,用于必要是对系统的重启。传感器外接电路如图6 所示,预留DHT11温湿度传感器及OLED显示屏的外接接口,便于与处理器建立电气联系,传输数据。电路板制作完成后,首先测试电路是否导通,其次检查电路设计是否合理规范且正确。检查无误后,硬件调试完成。
图5 时钟晶振电路、下载电路、复位电路
图6 传感器外接电路
4.2 软件调试
在软件调试中,首先在STM 32 开发板上实现对DHT11温湿度传感器模块的数据读取,图7 所示为在上位机上显示数据,以及利用OLED显示模块对数据显示的操作,以便于后期将程序移植到独立系统之中。
图7 串口调试助手显示数据
4.3 整体调试
在分别进行硬件调试与软件调试后,将两者相结合共同调试,其中要注意软件程序是否与硬件电路相吻合,有无数据口错误的情况出现。图8所示为整体调试图。
图8 整体调试结果
5 结束语
针对以51单片机为核心的温湿度检测系统存在的问题,本文设计并实现了一款基于STM 32的温湿度监测系统。该系统以STM 32芯片作为核心处理器,DHT11 温湿度传感器模块作为检测传感器,并由OLED 显示屏进行显示。实验结果表明,系统实现了对温度、湿度实时监测,并且该系统具有设计简单、可靠性高、监控数据准确、易于安装、经济实用等特点,在生活、生产、工业等领域中具有一定应用价值。如将该系统应用于农业大棚时,实现实时检测的同时,也可借助WIFI模块实现数据的无线传输,从而实现远程监测,真正做到基于互联网+的农业。