基于单片机的猪舍环境监测模块的设计
2023-08-09李俞浩李海波何伟伟付成果王占奎
李俞浩,杨 辉,李海波,陈 婷,何伟伟,付成果,王占奎
(河南科技学院 机电学院,河南 新乡 453003)
根据《规模猪场环境参数及环境管理》(GB/T 17824.3—2008)要求,环境质量包括温湿度、空气卫生(NH3、H2S、CO2、细菌总数、粉尘)、猪舍通风、猪舍采光和猪舍噪声等10项参量[1-2]。为了提高生猪养殖质量,多环境参数监控必然成为趋势。环境监测模块是猪舍环境调控系统研究的关键部分,运行稳定和监测准确是核心性能要求。学者们利用单片机设计了相应的环境监控系统,对猪舍环境中的NH3、CO2以及温湿度等环境参数进行监测,取得了较好的试验效果[3-7]。环境监控系统平台一般包括传感器、单片机或PLC模块,大部分集成传感器的主板和传感器探头多是通过焊接形式实现的连接,不利于后期的重复利用与维护。
针对以上问题,本文提出了一种方便维护,支持二次开发,能够满足多参数测量的基于单片机的猪舍环境监测模块。该监测模块通过接线端子与外界传感器连接,可集成包括温湿度、NH3、H2S、PM2.5、CO2、风速和光照强度等多种传感器,支持UART通信、RS-485通信以及无线网络通信3种方式的数据输出。此外,在实验室搭建模拟猪舍环境监测平台,对实验室中的相关参量进行监测,以验证本监测模块的可行性和监测的准确性,以期为多场景环境监测提供参考。
1 总体设计
环境监测模块采用ATmega 2560芯片作为控制核心,搭配温湿度、CO2、NH3、H2S、PM2.5以及风速传感器等多种通信协议传感器。通信模块选择ESP8266模块和RS-485模块。电路系统包括复位电路、晶振电路、LED显示电路以及传感器电路。环境监测模块的主要功能特点如下:①可搭载多种环境传感器,可对多种环境数据进行同时监测;②对控制主板及其加载电路进行独立密封,通过外置的接线端子与传感器连接,可适应多种复杂场景,且便于维护;③支持UART通信、RS-485通信以及无线网络通信;④模块外部预留有2路串口、1路I2C总线、1路RS-485总线、3对5 V供电端口、1对3.3 V供电端口、8路PWM引脚、8路数字量引脚以及8路模拟量引脚,便于后期加载其它设备。猪舍环境监测模块总体设计框图如图1所示。
图1 猪舍环境监测模块总体设计框图
2 模块组成
2.1 控制核心
控制核心选用的是ATmega 2560[8]芯片,是一款低功耗CMOS 8位微控制器,基于AVR增强的RISC架构。ATmega 2560在单个时钟周期内可执行135个指令,可实现接近1 MIPS/MHz的数据吞吐量,且允许系统设计人员对其功耗与处理速度进行优化提升。该芯片工作电压为4.5~5.5 V,时钟频率为16 MHz,拥有54路数字端口和16路模拟量端口,数字引脚包括15路PWM引脚,4 路URAT引脚以及1路I2C引脚。
2.2 传感器
传感器是环境监测模块的采集部分,可支持模拟量、PWM、I2C以及RS-485协议型等多种型号传感器的接入。该部分可根据实际需求添加传感器,常用的猪舍环境监测传感器主要有温湿度传感器、光照强度传感器、NH3传感器、灰尘传感器以及风速传感器等。
2.3 通信模块
除了采用串口传输外,还可在串口通信的基础上加载ESP 8266无线通信模块和RS-485通信模块,以此达到更加多元化的通信。
无线通信选用的是ESP-07S[9]芯片。该模块体积小,集成了业界领先的 Tensilica L106 超低功耗 32 位微型 MCU,主频支持 80 MHz 和 160 MHz,支持 RTOS,可为现有的设备添加联网功能,也可以构建独立的网络控制器。支持二次开发,有着较高的实用性,可进行远程通信,实现远程监测。
RS-485[10]通信模块选用的是UN485E芯片,该模块最多允许256个设备连接在同一条总线上,有线通信距离最远可达到千米以上。同时,该芯片拥有较好的系统稳定性以及通信速率高等诸多优点。
3 硬件电路设计
3.1 电源电路
猪舍环境监测模块采用DC 5 V电压供电,内部可分为DC 5 V和DC 3.3 V供电电路。
5 V供电电路的VCC引脚为电路中其它电子元件以及传感器的正极引脚,AVCC引脚为ATmega 2560的模拟电源引脚。在电源两端并联有4个容量为100 nF的电容,起到稳压和滤除杂波等作用;在AVCC极前端串联电感L1起到稳流和储能等作用。3.3 V供电电路采用ASM1117-3.3 V[11]芯片,属于正向低压差稳压器,内部集成有过热保护和限流电路;输入电容C9和C10可防止电路断电后电压发生倒置;输出滤波电容C11和C12用于抑制自激振荡。
3.2 复位电路
复位电路的作用是初始化单片机,让单片机内部的程序重新开始执行,运行时钟处于稳定状态,让端口和寄存器处于初始化状态[12]。复位电路如图2所示。
图2中,RESET连接ATmega 2560的RESET引脚,系统通电时button处于断路状态,此时RESET处于高电位;button按钮按下时,正负极形成通路,此时RESET处于低电位,单片机进行低电平复位。
3.3 晶振电路
晶振的主要作用是在电路中产生振荡频率[13],振荡频率越高,单片机运行速度越快。晶体振荡器分为无源晶振和有源晶振两种类型。猪舍环境监测模块选择成本较低的无源晶振,结合单片机内部的电路,可提供单片机所必须的时钟频率。晶振电路如图3所示。图3中,Y1为SMD-3225贴片无源晶振,属于石英晶体振荡器,是一种高精度、高稳定震荡器;C8和C7为匹配晶体的负载电容;O1和O2引脚分别与芯片的XTAL1管脚和XTAL2管脚相连接,进而组成振荡电路,生成一定频率和峰值的正弦波。
3.4 传感器电路
传感器电路主要指的是不同通信协议传感器与单片机的连接方式,监测模块中按通信方式传感器大致可分为3类。传感器电路图如图4所示。
图4 传感器电路图
1)模拟量输出型传感器。该类型的传感器主要有NH3传感器、H2S传感器以及风速传感器。其输出方式比较简单,只需要利用单片机模拟量端口读取模拟量数值,进而通过专有的公式进行转换,即可得出相应的环境参数值。NH3传感器采用MQ137[14],工作电压为DC 5 V,模拟信号输出引脚为AOUT,与单片机PF1引脚连接。H2S传感器采用MQ136[14],工作电压为DC 5 V,以模拟电压方式输出,与单片机的PF0引脚连接。风速传感器采用D6F-V03A1,工作电压为DC 3.3 V,采用模拟量输出,经信号转换后,其信号输出引脚与单片机PF3引脚连接。
2)PWM输出型传感器。PWM输出型传感器指的是CO2传感器和PM2.5传感器。该类型传感器输出的脉冲周期为1 s,单片机通过PWM端口采集一个脉冲周期内高电平和低电平的持续时间,进而通过公式进行数值转换,得到所监测环境的具体数值。CO2传感器选用MH-Z19E,工作电压为DC 5 V,数据输出为PWM,与单片机的PE4引脚连接。灰尘传感器采用ZH07,数据输出为PWM,与单片机PE3接口连接。
3)I2C型传感器。温湿度传感和光照强度传感器属于I2C通信协议传感器。I2C通信需要用到2条总线线路,分别为:①串行数据线(SDA),负责数据的发送接收;②串行时钟线(SCL),用于产生所有数据发送或接收的时钟。温湿度传感器和光照强度传感器通过并联连接在一条I2C总线上。温湿度传感器采用SHT30[15], SCL和SDL引脚分别接单片机PD0和PD1引脚。光照强度传感器选用BH1750FVI,供电电压为DC 5 V,其SCL和SDA接口分别与主控板的PD0和PD1引脚连接。
3.5 数据输出电路
猪舍环境监测模块的信号输出主要有3种方式,分别为串口输出、无线网络输出以及RS-485输出。
1)串口输出。ATmega 2560共有4路UART串口,可以扩展多种通信模块。在该模块中,PE0和PE1主要负责数据的收发和代码的上传工作;PJ0和PJ1连接UART转RS-485模块;PD2和PD3连接ESP 8266无线通信模块。该模块在工作状态下,通过示波器可测得控制芯片TX引脚数据输出波形图。
2)无线模块。无线通信采用的是ESP-07S模块,其电路图如图5所示。图5中,RST与复位电路相连接,高电平工作,低电平复位;EN为使能端口,连接高电平进行工作;VCC为DC3.3 V供电端口;RXD0与TXD0负责收发数据;GPIO0可通过P1与P2的通断进行工作模式与下载模式的转换;ESP 8266串口输出高电平为3.3 V,ATmega 2560串口输出为5 V,因此模块间相互通信需要进行电平转换。电平转换电路通过三极管Q1和肖特基二极管D1实现。串口通信时序图如图6所示。
图5 无线通信模块电路图
(a) 3.3 V转5 V (b) 5 V转3.3 V
3)RS-485通信模块。RS-485通信模块选用半双工UN485E芯片,既可以做为从机向主机发送数据,也可以作为主机接收从机的数据。无线通信模块电路图如图7所示。图7中,RO为信号输出端;RE为接收器的输出使能(低电平使能)和DE驱动器输出使能(高电平有效)共线;DI为驱动器输入连接GND,处于低电平;PJ0与PJ1为单片机引脚编号。当单片机向RS-485模块发送高电平信号时,Q2三极管导通,此时RE与DE处于低电平,接收器输出使能,R0输出有效,解析A、B引脚接收到的差分信号。当单片机向RS-485模块发送低电平信号时,三极管Q2截止,此时RE与DE处于高电平,驱动器输出有效,DI外加低电平使驱动器同向端A输出为低电平,驱动器反向端B输出为高电平。RS-485模块A、B引脚分别加装了上拉电阻和下拉电阻,避免差分信号在闲置状态下失效。TVS1、TVS2以及TVS3为TVS瞬态抑制二极管,对RS-485通信串口起到保护作用,避免电路元器件受瞬态高能量冲击而损坏。通信接口处的W1、W2为贴片保险丝,起到过流保护作用。电阻R16为匹配电阻,其作用是防止信号反射,提高信号质量。
图7 无线通信模块电路图
3.6 LED电路
LED电路的主要作用是对电路运行状态进行显示提示,方便用户直观地了解电路的运行状态,包括提示电路通电状况、端口工作情况、电路状态。LED电路主要根据用户需求进行设计,并不影响实际的环境监测效果。
4 测试与验证
在河南科技学院机器人实验室中搭建模拟猪舍环境监测平台,实验室长14 m,宽7.2 m,高3.7 m,中间设置有4排高度为80 cm的实验桌,传感器监测模块安置在实验室正中间,距地面高度为110 cm。测试时间为2023年4月7日,室外温度为5~19 ℃,实验室内常驻人口为3人,人口数量最大时为20人。窗户全部处于密闭状态,风扇及空调等设备均未开启。
对房间内的温度、湿度、光照强度、PM2.5浓度、CO2浓度、NH3浓度、H2S浓度以及风速进行24 h监测。猪舍内的细菌总数一般需要通过棉拭子法采样检测后才能得出相应数值,无法通过传感器进行监测[16],在此进行讨论。现场环境参数监测结果如图8所示。
(a) 温度 (b) 湿度 (c) PM2.5浓度
从图8可以看出,在该模拟猪舍环境下,NH3和H2S传感器并未监测到数值变化,符合实际情况,也验证了本监测模块的准确性。温度随着实验室内人流量增大,最高达到21.4 ℃,在夜间会受到室外低温的影响出现下降。相对湿度会随着温度增加而降低,受温度峰值影响,在13∶00左右出现最低值34.8 %RH。在人流量较低的情况下,PM2.5浓度相对较低,但随着人员增多带动空气的流动,在20∶00左右达到峰值44 μg/m3。CO2浓度分别在11∶00和18∶00人流量最大的时刻出现了2次峰值,最高峰值达到1 110 mg/L。光照强度受灯光和室外光照影响较大,在9∶00左右产生突变,10∶00左右达到峰值后,随着室外光照变弱,逐渐开始下降。风速传感器受人员走动的影响,数值会产生明显的波动,但基本稳定在0.4 m/s以下。此次实验采集的数据符合正常变化趋势,验证了本监测模块的可靠性。
5 结论
基于单片机的猪舍环境监测模块按照环境监测的多参量要求进行设计,可连接多路传感器进行环境数据采集。环境数据可通过串口、RS-485模块以及ESP 8266模块进行数据传输,其独立性的密封设计满足了设计要求。实际环境测试表明,该模块运行稳定,数据准确;通过分析,该监测模块能够满足规模猪场环境参数测量要求,在畜禽养殖的环境监测场景中具有较好的应用前景。但是,该环境监测模块仍然存在着较大的局限性:①传感器达到一定数量后,可能发生过载的情况,此时传感器可能需要单独安装外置电源;②该模块无法为5 V以上工作电压的传感器,进行供电。