物联网毕业设计-基于stm32的温湿度监控系统

一、引言

        近年来,随着科技的进步,计算机和电子技术在各个领域的应用越来越广泛,人们对温湿度的要求也越来越高。现在用于食品、药品和环境监测的仪器、仪表和计算机等设备越来越多,它们与人们生产、生活的关系越来越密切。如何实现温湿度的实时监控,避免因环境条件异常而影响产品质量和使用性能是一项很有意义的工作。但目前各种温湿度传感器较多,且价格较高;温度测量范围集中在0~40℃之间;湿度测量范围在95%~98% RH之间。这就给温湿度监控带来很大困难。

        传统温湿度监测系统主要是基于数字通信技术,采用模拟量的方式来测量温度、湿度和光照度等参数,随着微电子技术和通信技术的不断发展,现在已经发展到了以 ARM单片机为核心的数字采集系统和以太网传输技术。随着单片机技术的不断发展和广泛应用,传统数据采集系统正向数字式温湿度传感器方向发展,温湿度传感器已经由简单的显示测量功能向更加精确、更加智能、更能适应多种场合等方向发展。

        目前已经开发出一系列基于STM32系列单片机为核心的温湿度监控系统,这一系列系统主要包括:RS485串口通信模块、 LCD液晶显示模块、 LCD背光模块、LCD1602液晶显示模块、按键识别模块、报警检测模块等。在设计时根据实际应用中所需要的功能和数据进行选择和配置,同时要保证硬件电路紧凑简单,软件功能完善易操作,便于维护。

二、系统构成

        该系统采用基于 ARMCortex-M3内核的STM32处理器,具有强大的数据处理能力、高可靠性、低功耗、可移植性等特点,并且价格低廉,采用Cortex-M3内核的STM32系列处理器的特点:

(1)集成了片上系统(SOC),能够实现高度的可编程性;

(2)集成了片上系统(SOC)所拥有的强大通信功能,通过STM32处理器内置的 CAN通信功能实现与 PC机的远程通信,从而使得远程监控系统能够进行灵活可靠的数据交互;

(3)使用了高性能处理器(Cortex-M3)和低功耗Cortex-M3内核,具有超强处理能力,能够实现高精度、高实时性的控制任务;

(4)具有多种串口类型,能支持多种串口通信协议,例如RS232/RS485/WI-FI等。

        通过STM32系列处理器良好的可扩展性,以及软件开发工具包 Keil 4的强大开发工具,结合上位机监控软件 VisualStudio2010和C#. NET平台实现了远程温湿度监控系统。该系统可实时查看数据曲线、显示历史数据和报表等信息;当温湿度超过阈值时,可以通过手机或电脑进行报警信息。在该系统中包括下位机软件和上位机软件两部分。下位机软件是一个基于Cortex-M3内核的STM32控制器与上位机交互的平台。该平台不仅能够完成硬件电路设计和调试功能,同时还可以进行无线温湿度测量、报警信息显示、控制和通信等功能。

        下位机软件的主要功能是:

(1)测量采集模块:该模块采用DS18B20数字温湿传感器,该传感器可以实现对温度和湿度的测量,并将温度和湿度值通过 ZigBee网络发送到 PC机。同时,通过串口调试助手软件可以实现对DS18B20数字温湿度传感器的串口调试。

(2)无线通信模块:该模块采用带有 CAN接口的8051单片机,并且能够支持多种通信协议。该模块可以通过 CAN总线将温度和湿度值发送给 PC机,并实现无线温湿度的传输。

(3)报警模块:该模块可以通过 LED指示灯实时显示当前温湿度值,并通过 LED灯闪烁、蜂鸣器报警等方式及时提醒用户,从而避免造成损失。

(4)上位机监控软件:该软件主要实现对下位机软件的监控和报警功能,并通过与下位机的通信实现对下位机软件的控制。

(5)报表查询模块:该模块能够实时查看当前的温度和湿度值,以及历史曲线,并提供报表查询功能。

(6) Web网页界面:该界面能够显示当前温湿度值、历史曲线、报警信息等。

(7)远程控制模块:该模块能够实现对下位机软件的远程控制,并在 PC机上对下位机软件进行操作和显示。

        上位机监控软件主要实现与下位机软件进行通信以及对当前温度和湿度值进行显示、报警等功能。上位机监控软件主要由用户登陆界面、温湿度显示界面、历史曲线显示界面、报警信息显示界面等几个部分构成。用户登陆界面是一个登录账户和密码的选择界面,其中包括登录名和登录密码两部分。

登录名为用户名,其中包括用户名、密码保护代码和用户名密码保护代码,可以设置为数字或字母。登录密码与用户登录名一致。

温湿度显示界面中包含了温湿度传感器DS18B20数字温湿度值的测量值和当前的温湿度显示,其显示内容如图2所示。

温湿度显示界面能够实时显示当前的温湿度值,当温湿度值超过设定值时,能够以蜂鸣器报警、 LED灯闪烁等方式进行提醒。另外,当温湿度数值超过设定阈值时,会自动进入到历史曲线显示界面中,能够实时查看历史曲线,并提供报表查询功能。

报警信息显示界面中包含了当前的温度和湿度的报警信息(数值、日期、时间等)、历史曲线和历史报警记录等内容,同时该界面能够保存历史曲线。

监控软件中的用户界面设计如图3所示。

        监控软件的主要功能是:

(1)实现对下位机软件的控制,包括设置参数、修改数据等功能;

(2)实时查看当前的温湿度值以及历史曲线;

(3)当温湿度超过设定值时能够进行报警提醒;

(4)提供报表查询功能;

(5)实现远程控制模块,能够在 PC机上对下位机软件进行操作和显示。

采用上位机监控软件VisualStudio2020和C#. NET语言设计开发的远程温湿度监控系统,具有良好的人机交互界面、运行效率高、安装维护方便等优点。在使用时只要将上位机监控软件和下位机软件分别安装到 PC机上,就能够在 PC机上对下位机进行操作和显示,从而实现对下位机软件的控制。

三、系统调试

软件调试的主要内容有以下几点:

(1)系统的初始化,包括软件的初始化和硬件的初始化。硬件方面,需要检测温湿度传感器的电阻、电容值是否为最大值和最小值、是否为静态。在初始化完之后,需要检测温湿度传感器与STM32芯片间的接口是否是正确的,在系统初始化完成之后,STM32芯片进入到主程序界面,首先调用系统函数 getSetInstanceFieldManager ();其次调用 getInstanceFieldManager ();然后调用 getInstanceOutput (),最后调用 getInstanceOutput ()方法,使STM32芯片进入到主程序界面。

(2)采集温度值的程序开发。系统中采用了以温度为横坐标,以湿度为纵坐标的函数button.bin,在不同温度下采集对应的湿度值,并绘制成曲线图。以STM32芯片为例,温度和湿度函数button.bin分别保存在主程序的C:\ Users\\ Documents\tools_busy_data_home目录下和C:\ Users\\ Documents\tools_busy_data_home目录下。当检测到温度值时,用stm32芯片上的一个中断请求处理程序来触发数据采集程序工作。

在中断请求处理程序中,首先会检测温度值,如果不是该温度下的值,则调用stm32芯片上的一个中断服务程序来实现;如果是该温度下的值,则调用stm32芯片上的一个中断服务程序来实现。其中,stm32芯片上的一个中断服务程序可以在主程序中打开相应的功能函数,以实现不同温度下对应的湿度值的采集;另外一个中断服务程序是在主程序中用来与温湿度传感器接口进行数据通信,通过串口发送到温湿度传感器。

(3)绘制温湿度曲线图。本系统采用了实时曲线显示方法,将各测得的温度值和湿度值绘制在一条曲线图上,该曲线图显示了温湿度传感器探测到的温度值和湿度值,并将温湿度传感器探测到温度时所对应的数据转换为相应数据绘制成曲线图。

(4)当显示温度和湿度曲线图时,STM32芯片要能正确检测出当前所测温度值和对应的湿度值。

(5)当温湿度出现异常时,系统发出警报信息。当检测到数据采集程序或温湿度传感器检测到异常时,将报警信息以邮件或短信形式发送到用户手机上。

(6)用户可以通过触摸屏进行上位机对采集程序或温湿度传感器等硬件设备进行控制。可以通过触摸屏上的菜单对上位机进行相应的控制操作,并可对数据进行实时查询、超限报警、历史数据查询等操作。

(7)当出现异常情况时,用户可以通过短信和电话方式向用户发送报警信息。

(8)可以利用网络将本系统与上位机联系起来,从而实现远程监控功能。

(9)当采集到温湿度数值的时候,可以在上位机上查询,查看当前的温湿度数值。

(10)当温湿度超过报警阈值时,上位机自动报警。

(11)可以通过上位机实时显示当前的温湿度数值和曲线图,并对其进行相应的控制操作。

(12)可以设置温湿度的上限值和下限值,当超过设定阈值时,上位机自动报警;当低于设定的下限值时,上位机自动报警。

(13)可以利用上位机串口向下位机发送数据。其中,上位机发送给下位机的数据采集程序或温湿度传感器探测到的温度值和对应的湿度值,下位机发送给上位机的数据包括从上位机接收到的温度和湿度数据。

(14)上位机对温湿度数值进行查询时,可以对查询时间、日期、温湿度数值进行设定。

(15)通过上位机向下位机发送的数据可以包括时间、日期和报警信息等内容。

(16)可以通过上位机串口向下位机发送对下位机相应功能和设备进行控制操作的命令,并能完成相应指令功能。

(17)可以将采集到的温湿度数值按照不同时间间隔采样,绘制成不同时间间隔和日期间隔下对应的温度和湿度曲线图,并在上位机上实时显示。

(18)可以将采集到的数据以图表、曲线等多种形式展示出来,并可对其进行实时查询、超限报警、历史查询等操作。

(19)可以通过上位机对温湿度传感器和温湿度报警设备进行控制操作,对温湿度传感器或温湿度报警设备进行启停操作,并可根据需求设置温度值、湿度值的最大值、上限值等参数。

四、结束语

本系统结合了单片机的控制、数字温湿度传感器和以太网技术,是一种非常有前景的温湿度监控系统,具有良好的实用价值,由于本系统是基于STM32F103ZET6微处理器芯片,因此其具有成本低、性价比高的优点。

1.温度检测方面,本文采用了STM32F103ZET6芯片为主控芯片,在其内部集成了4个温度传感器和2个湿度传感器,可以对温湿度进行很好的采集,这在很大程度上解决了传统温湿度监控系统中采用的温度传感器和湿度传感器有其本身的缺陷,同时利用STM32F103ZET6芯片内部集成了 LCD控制器以及A/D转换器、定时器等,能够进行温湿度的精确测量;

2.温湿度数据显示方面:由于采用了单片机来作为主控芯片,所以软件中可以对温湿度数据进行实时显示、趋势图显示和打印等功能,同时也可以通过串口将采集到的数据发送到 PC机进行图形化显示;

3.系统的稳定性方面:由于采用了STM32F103ZET6芯片为主控芯片来实现温湿度监控系统的设计,因此在整个设计过程中系统具有较强的稳定性;

4.本系统最大的特点就是采用了单片机控制技术、数字温湿度传感器技术和以太网传输技术来实现温湿度监控系统,在设计过程中充分考虑到了这些技术的优势以及其应用前景。

本文主要是介绍了基于STM32F103ZET6芯片的温度监控系统的设计与实现,其中还包括了软件部分以及硬件部分的设计与实现,最后通过实验验证了本系统能够实现预期目标。

想要了解更多毕业设计实例,敬请关注哦!

物联沃分享整理
物联沃-IOTWORD物联网 » 物联网毕业设计-基于stm32的温湿度监控系统

发表评论