2024年2月21日发(作者:)

基于STM32的温湿度监控系统设计

温湿度的监测对于当前控制室内环境,改善室内环境起着重要的作用,为了提高室内用户的舒适度,一般都会对室内的温湿度进行监控,通过监测温湿度的变化情况来确定下一步的动作,例如在温室中严格监控室内温度,使得温室内的植物能到最合适的生存环境。文章就基于STM32的温湿度监控系统设计问题进行了全面分析,通过其有效提高温度的时效性管理意义重大。

标签:STM32;温湿度;ucosII系统;监控系统设计

此次的基于STM32的温湿度监控系统设计主要是32位的单片机为主控芯片,DHT11为温湿度监测装置,搭载的是ucosII操作系统,显示设备为主控ITL9438的彩屏,通过DHT11采集的信息对经过单片机的内部程序的处理,将其以数字的形式显示在彩屏上,并且同时根据单片机内部的温度设定值进行相应的动作,实现的室内温湿度的智能控制。

1 温湿度监控系统设计

1.1 温湿度监控系统硬件设计

系统主控芯片为STM32F103ZET6,除了必须的STM32单片机正常的驱动的电路之外,彩屏为使用的是已经做成模块的ITL9438彩屏,而采集模块则是使用的DHT11,如图所示为使用的DHT11的引脚图,可得知只要通过采集Dout引脚的输出的电平变化,查看数据手册,根据DHT11的时序图写出相应的驱动程序,驱动DHT11温湿度传感器。彩屏的程序可以直接使用的屏幕厂家写好的程序,移植到STM32上既可,而通过将Dout引脚上的高低电平变化,进行相应的数据处理可以将温湿度数据已数字的形式显现在彩屏上,通过内部的程序根据比较当前的温湿度值与设定的参数值进行比较,使得进行下一步的温湿度调节动作,通过向外部电路发送信号,例如温度高了,打开排风机降低室内的温度等措施优先对温度的控制,这与空调的原理类似,但是系统比空调电路简捷的多。

DHT11数字湿温度传感器采用单总线数据格式,单个数据引脚端口完成输入输出双向传输。其数据包由5Byte(40Bit)组成。数据分小数部分和整数部分,一次完整的数据传输为40bit,高位先出。DHT11的数据格式为:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和。其中校验和数据为前四个字节相加,传感器数据输出的是未编码的二进制数据。数据(湿度、温度、整数、小数)之间应该分开处理。

1.2 温湿度监控系统软件设计

此次的温湿度监控系统软件设计主要实在keil4中完成,操作系统为UCOSII,将UCOSII系统移植到当前单片机上,并且建立相应的任务堆栈,通过调用任务堆栈的形式实现系统运行,将DHT11的Dout引脚与PG11连接,PG11

引脚设置的为输入模式,用于采集Dout引脚的电平变化。开机的时候先检测是否有DHT11存在,如果没有,则提示错误。只有在检测到DHT11之后才开始读取温湿度值,并显示在LCD上,如果发现了DHT11,则程序每隔100ms左右读取一次数据,并把温湿度显示在LCD上。同时会使用一个LED来指示程序运行状况。

温湿度监控系统的软件设计主要分为的LED驱动程序、LCD驱动程序、DHT11驱动程序以及STM32单片机的启动文件等几个部分,其中LCD驱动程序主要是有屏幕生产厂家提供,并不需要自己編写,直接移植厂家提供的LCD驱动程序即可,而设计者主要是编写的LED驱动和DHT11的驱动。DHT11并不需要使用IIC接口或者是SPI接口,所以直接配置两个I/O引脚,通过DHT11的读写时序编写相应的驱动程序即可,如图1中的’1’时序和’0’时序图。

通过图1中时序图,我们可以编写出DHT11相应的读函数与写函数,再通过数据发送流程时序便可以写出DHT11的驱动程序。将上述几个主要的驱动程序编写好之后,编写相应的DHT11数据处理函数,通过函数参数返回值将实际的数据显示在LCD屏幕上。屏幕上显示的参数在主函数中的出现编写即可。

2 温湿度监控系统的运行情况

单片机所使用电源为3.3V,供电电压不得超过3.3V,否则将会烧掉STM32单片机芯片,上电系统便开始启动,设计一个LED指示灯来显示程序的运行状况,而系统检测DHT11是否存在,存在便会将采集的温湿度数据显示在彩屏上,不存在则会提示没有DHT11,温度为30℃,湿度为33%,每100ms刷新一次,动态显示数据变化,如果DHT11出现问题,将会显示没有设备,请检查设备等字样。

在实际的测试中,可以发现本次设计,屏幕上数据精确程度较低,而且数据的刷新率较慢,所以在数据的处理方面还要进行加强。

3 结束语

通过此次温湿度监控系统设计,可以看出此系统在改善室内环境中发挥着巨大的作用,需要深入研究,重点在于对DHT11数据的分析精确程序加强,这样才能提高系统的运作效率,此外STM32单片机所设计的温湿度控制系统与8位单片机设计的温湿度控制系统有着明显的进步,但是通过上述设计也可以看出的,基于STM32的温湿度控制系统还存在很多的不足,需要加以改进才能运用到实际的工作、生活中。

参考文献

[1]任哲.嵌入式实时操作系统uc/os-II原理与应用[M].北京航空航天出版社,2013.

[2]廖义奎.Cortex-m3之STM32嵌入式系统设计[M].中国电力出版社,2013.

[3]刘博文.ARM Cortex-M3应用开发实例详解[M].电子工业出版社,2011.

作者简介:王江红(1993-),男,云南曲靖人,汉族,学生,在读本科,所学专业:通信工程。