农业温室大棚温湿度监控系统设计与应用

2023-11-03 08:49
南方农机 2023年22期
关键词:中断上位湿度

孙 涛

(1.湖南省高铁运行安全保障工程技术研究中心,湖南 株洲 412005;2.湖南铁路科技职业技术学院,湖南 株洲 412005)

0 引言

随着乡村振兴的深入推进,基于新技术的智能化产品不断在农业生产领域中使用,温室大棚作为种植农业果蔬的主要地点,在我国农业生产体系中发挥着越来越重要的作用[1]。环境监控系统主要对相对密闭环境中的物理环境参数和运行参数,如湿度、温度、水浸、玻璃破碎等各种环境变量进行实时监测,并对各种超过监测数据的危险信号进行迅速报警。实时监测设备还需要诊断采集的环境数据、处理各种故障和分析相关的数据,从而保证温室大棚在无人值守的情况下正常运行。

传统意义上的环境监控系统大都采用分散监控和维护的方式,不仅浪费物力、财力和人力,而且系统的可靠性相对较差[2]。因此,本文提出基于嵌入式技术的智能化农业温室大棚环境监控系统,不仅降低了系统监控成本,而且使设备维护管理更为便捷,极大地提高了工作效率。

1 技术要求

1)遵循GB/T 19165—2003《日光温室和塑料大棚结构与性能要求》等相关标准[3]。

2)监控系统上位机具有直观友好的图形显示界面,且易于观察、方便操作。

3)监控系统是完全独立的,若监控系统发生故障,不会对农业生产设备的正常运行产生影响。

4)监控系统具有实时报警功能,且任何时刻都可以关闭报警。

5)监控系统具有数据回放和数据记录功能,便于查看历史数据。

6)监控系统具有各类常见的通信接口,便于与其他设备进行数据交换。

7)监控系统能根据实际情况控制空调、加湿器等设备,对环境进行调节。

8)监控系统除了可应用于本研究中的农业温室大棚环境中,还适用于不同领域的较密闭的空间中[4]。

2 系统方案

本研究主要对农业温室大棚环境参数、温度、湿度等进行监测,并设计实现了对空调和加湿器的控制,实现与预设环境参数的匹配,即实现了集监督与控制功能于一体。本监控系统分为上位机子系统和下位机子系统,系统拓扑图如图1所示。

图1 系统拓扑图

上位机负责对采集到的数据进行处理,然后把结果直观地显示在界面上。用户可通过界面了解环境情况,并进行简单控制。除此之外,上位机还需实现报警功能、数据记录功能、数据回放功能。

下位机采集环境的各项数据,采集的数据可由下位机简单处理或者直接传到上位机,借助上位机强大的处理能力处理数据。下位机还可接收上位机传来的控制命令,对空调等设备进行控制,其结构图如图2所示。上位机与下位机通过串口或者工业常用的CAN总线进行数据通信。

图2 下位机结构图

3 系统设计

3.1 温度模块设计

不同于传统的采用热敏电阻的温度检测系统,现在越来越多的系统采用专用的温度传感器,这类芯片一般输出数字信号,与热敏电阻相比,它具有简单、可靠、精度高等特点[5]。本设计的温度检测模块采用美国达拉斯公司生产的DS18B20温度传感器。

3.1.1 温度模块硬件设计

DS18B20传感器(TO-92封装)只有三个引脚[6]:1-GND、3-VCC、2-DQ。它和单片机只通过DQ引脚连接,通信为单总线通信。单总线在一根信号线上进行数据和时钟信号的双向数据传输,线路简单,成本低,还便于扩展。通过单总线传输时一般先初始化器件,再识别器件,最后进行数据交换。温度模块电路原理如图3所示。

图3 温度模块电路原理

温度模块连接至AVR单片机的PD1引脚,单片机通过对此引脚写0/1或者读取此引脚来模拟单总线。通过单总线访问DS18B20的过程如下:初始化—操作ROM的命令—操作存储器的命令—传输数据。

3.1.2 温度模块软件设计

单片机读取温度的函数:U16 readTemperature (void)。此函数不需要传递参数,返回值为16位温度寄存器的值,当返回0xFFFF时,表示读DS18B20出错,此数据无效。DS18B20采集温度需要先发出启动温度转化的命令,然后才能读取数据,读取温度的流程如图4所示。

图4 读取温度流程

3.2 湿度模块设计

测量湿度的传感器有很多种,包括湿涨式、电容式、电阻式等,它们是根据空气中的湿度变化引起其化学或物理性质改变而工作的。其中,电容式湿度传感器由于具有反应速度快、精确度高、可靠性高、稳定性强等诸多优点而被广泛采用[7]。本设计采用MHS1101湿敏电容来设计湿度检测模块。

3.2.1 湿度模块硬件设计

MHS1101湿敏电容基于独特的湿敏分子而设计,可被用于大批量、成本敏感的产品,如工控领域、办公自动化和家具产品等所有需要湿度检测的场合。它的工作温度在-40 ℃~+125 ℃之间,相对湿度测试范围为0%~100%。

湿敏电容就是对湿度敏感的电容,它的电容会随着湿度的变化而变化,所以用MHS1101测试湿度,就相应地转化为了测试电容的大小,然后根据电容大小和MHS1101的湿度/电容变化曲线计算湿度。测电容可以用555振荡电路,将电容容量的变化转化为频率的变化,然后测试频率。

555芯片用作振荡器使用时,可以通过两个外部电阻和电容来控制输出频率。用MHS1101做555芯片的外围电容器件,电容的变化可以反映出输出频率。具体的电路设计如图5所示。这个电路是555稳态电路,MHS1101可变电容一端接地,一端连接THR(6)和TRIG(2)引脚。其中,R23电阻用作内部温度补偿,由它引入的温度效应来匹配MHS1101的温度效应。

图5 湿度测量模块电路设计

湿度模块连接到AT90CAN128的PD2引脚,此引脚可作普通输入输出端口,也可以作外部中断引脚。由于本设计的下位机同时采集环境温度,所以可以用采集到的温度对湿度进行修正,使采集的湿度数据更加准确。

3.2.2 湿度模块软件设计

湿度检测模块与单片机的连接只有一个频率输出线,AT90CAN128可以通过PD2引脚采集湿度模块输出的频率,由此计算湿度值。PD2引脚可以用作外部中断(外部中断2),也可用作普通输入输出,采集信号频率时用中断方式比较合适。配置外部中断2为下降沿或者上升沿触发,一个振荡周期产生一次中断,单位时间内中断发生的次数就是频率。本设计读取频率的方式是:用单片机的定时器1定时1 s,用外部中断采集振荡的输出频率。

单片机读取湿度的函数:U16 readHs1101Fre(void)。此函数不需要传递参数,返回值为16位频率值,当返回0xFFFF时,表示此次采集频率出错,数据无效。此函数读一次湿度大概用时1 s,函数流程如图6所示。

图6 读取湿度频率的函数流程

在读函数的过程中,首先设置外部中断2为下降沿中断,打开外部中断,为了防止其他中断干扰,可关闭其他外部中断。由于限定读取1 s由定时器1实现,所以还要打开定时器1的溢出中断。然后,初始化定时器1的初始值、时钟源,再让定时器开始计时。此时,读函数进入死循环,直到发生定时器溢出中断。最后,当计时1 s后,读出频率变量中存储的频率值。可以根据频率值查找频率/湿度对照表,从表中查到对应的湿度值。若湿度值超出允许范围则报警,否则,函数返回当前的湿度值。

在外部中断2的中断函数中,只需要把频率变量增加1即可。在定时器1的溢出中断中,需要关闭定时器的溢出中断,并且关闭外部中断2,最后设置定时器溢出标志变量,从而使读函数从死循环中跳出。

3.3 人机界面设计

本研究基于QT Designer[8]开发上位机人机界面,上位机界面属于上层应用程序,它不需关心底层的硬件实现,只需要通过设备文件的操作来收发CAN总线的数据即可。根据驱动部分的设计,控制设备文件的步骤如下:

1)调用open( )函数打开设备,此时会初始化SJA1000。

2)调用read( )函数读出收到的总线数据包。

3)通过write( )函数向总线发送数据。

4)最终调用close( )函数关闭设备驱动文件。

界面应用程序初始化时,首先,绘制背景(包括文字等)和组件(按钮等),绘制完成后启动一个定时器(定时刷新界面用)。然后,主程序进入循环。在定时器函数中,程序会读取CAN总线收到的数据,然后根据读到的温度、湿度等数据值刷新界面。

3.4 上下位机通信设计

CAN总线的驱动电路如图7所示,由于SJA1000芯片没有集成总线驱动器,所以需要通过PC82C250芯片扩展[9],PC82C250的1脚为TX发送引脚,4脚为RX接收引脚,6脚为CANL,7脚为CANH,CANH、CANL经过5 Ω电路接到总线,并且用30 pF电容过滤高频干扰。

图7 总线驱动电路

4 系统调试

4.1 温度调试模块

温度传感器DS18B20采用单总线和单片机通信,单总线对时序的要求是很精确的。Saleae中可以放大采集到的数据时序,并观察通过串口上传的温度数据。从波形上可以看到,主机最后发出的命令字节为0xBE(读温度值),随后总线上传递出温度寄存器的值0x6D和0x01,与串口收到的数据一致。按照程序设计部分介绍的计算方法,此时的温度值应为正值,T=0x16D×0.062 5=22.812 5 ℃。

4.2 湿度采集模块

湿度采集模块输出频率,测试频率是用单片机的定时器定时1 s[10],用外部中断的方式记脉冲下降沿的个数,最终得出频率。测试过程中可以用串口接收湿度数据,用Saleae采集输出的波形,湿度模块采集到的数据如图8所示。

图8 湿度模块采集到的数据

4.3 上位机界面调试

界面的调试主要是测试界面的显示效果和各项功能,以随机24 h内温度、湿度数据回放的画面为例,如图9所示。在画面中,大棚湿度以图像上部黄色曲线配合右侧数值显示,温度以图像下部绿色曲线配合左侧数值显示,当前时间以倒三角形式红色线条指出。

图9 数据回放图

5 结论

本文详细分析了农业温室大棚环境监控系统的温度、湿度信号采集模块硬件电路设计和程序设计,并对上位机扩展CAN总线做了介绍,在上位机上实现了功能强大的用户界面。仿真结果表明,基于嵌入式技术的农业温室大棚环境监控系统实现了以下功能:

1)采用带Linux操作系统的上位机,功能非常强大。

2)上位机界面非常友好、直观,方便了用户进行人机交互。

3)监控系统的上位机和下位机功能独立。下位机既可以独立工作,也可以组成监控网络,并且监控网络中一个下位机节点损坏不会影响其他节点。

4)监控网络中可以有多个下位机,也可以有多个上位机,便于大范围监控和分级监视。

5)采用流行的总线通信技术,并制定了应用层的通信协议,与遵循相同协议的产品可互连。

6)下位机预留了扩展接口,便于以后扩展其他模块。

7)监控系统应用范围广,适用于所有需要环境监控的地方。

猜你喜欢
中断上位湿度
工业锅炉饱和蒸汽湿度的运行控制
基于湿度控制的室内空气净化器高压电源设计
特斯拉 风云之老阿姨上位
泰州大桥主缆纵向湿度分布及相关性分析
跟踪导练(二)(5)
千里移防,卫勤保障不中断
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
以新思路促推现代农业上位
跟踪导练(二)(2)