王宜朋
(西安工业大学,陕西西安,710021)
与自然孵化相比,禽蛋的人工孵化效率更高、孵化速度更快,且能够同时孵化多个禽蛋,这些都是自然孵化无法超越的。也正是因为这些优点,人工孵化在禽业生产经营过程中具有重要的地位[1-3]。禽蛋的孵化对温度和湿度都有较为严格的要求,其孵化主要是通过控制温度、湿度、翻蛋等而实现的,而温度是影响孵化最为重要的要素,温度的细微变化足以影响着孵化率的高低。
本孵化系统的核心在于对温度和湿度的精确测量与调控,同时设备利用物联网技术,将孵化器内的温湿度实时上传至上位机,便于工作人员实时查看,起到集中监控的作用。
对于温湿度控制系统,对系统的精度要求越高,则系统的成本就越高[4]。因此在设计系统时,要充分考虑成本与精度之间的关系。从各个方案中选出性价比最高的,在满足系统精度的前提下选择成本较低的方案。
选用STΜ32L051作为系统的主控模块,该芯片是一款基于Cortex-Μ4核的32位处理器,具有低功耗、成本低等诸多优点,可以广泛应用于气体、水表和工业传感器、医疗保健和健身设备与远程控制设备上等。系统主要实现的功能有:(1)温度测量;(2)温度较低时,开启辅热功能;(3)湿度测量;(4)湿度不合格时,启动加湿或除湿控制;(5)温度、湿度超限时报警及保护功能;(6)将温湿度相关数据上传至上位机。
根据禽类孵化时对温度的要求,禽类孵化最适温度为37℃~39.5℃。要求禽类在孵化时,控制器能够精确的测量孵化器内的温度,且在温度超出一定范围时启动加热或开启排风扇,以对温度做出调整。
本文选用DS18b20作为系统的温度传感器。该传感器测得的温度模拟信号将在传感器内部转换为数字信号,不需要A/D转换电路或其他元器件便可直接将数据传输给微控制器[5]。同时,DS18b20只有三个引脚,不需要复杂的外围电路。在使用时通过data引脚接上拉电阻与ΜCU相连,以加强数据口的抗干扰能力。
胚胎发育过程中对湿度的要求范围较为宽松,一般为41%~75%,本文选用DHT11作为系统的湿度传感器。该传感器湿度测量范围为0%~99.9%,在应用环境为-20℃~80℃时精度为±2%RH,满足系统的使用要求。
该传感器共有四个引脚,其中一只为预留引脚,无作用。其余三个分别为GND、data和电源引脚,同温度传感器一样,不需要复杂的外围电路。
图1 系统总体原理框图
整个系统通过220V电压进行供电,采用220V转12V成品开关电源作为电源输入。成品开关电源既可以保证系统工作电压的稳定性,又能够对加热模块提供足够的电流以保证其加热能力。部分模块工作电压为5V或3.3V,利用稳压模块对12V输入电压进行降压处理。
将12V电源降到5V的目的是对系统中的温度传感器、湿度传感器等模块进行供电,考虑到在供电过程中系统会受到功率、噪声等环境因素的干扰,因此本系统采用TPS62160模块,该模块适具有很高的占空比,并且可以进行短路保护、过热保护,电路图如图2所示。
图2 12V转5V电源设计
3.3 V电源主要是对主控芯片进行供电,是由5V电源经过降压得到,所采用的是AΜS1117模块,该模块最大稳压误差为0.4%,芯片的工作环境温度为0℃~125℃,并且具有热过载保护和短路保护的作用,保障了主控芯片稳定工作,电路图如图3所示。
图3 5V转3.3V电源设计
该智能孵化器在工作时,需要实时将传感器采集到的温度、湿度等信息上传至上位机,以便工作人员查看。本文采用物联网通讯的方式,利用窄带物联网(Narrow Band Internet of Things, NB-IoT)技术将数据上传至云服务器,再由云服务器下发至监控室。该模块够直接部署在GSΜ、UΜTS或LTE网络,即2/3/4G的网络上,实现现有网络的复用,降低部署成本。
选用BC20作为设备的物联网通信模块,该模块是为实现串口设备与网络服务器的通信,通过运营商NB-IoT网络相互传输数据而开发的产品,适用于低速率、低移动性的应用场景。BC20外围电路如图4所示。
图4 BC20外围参考电路
集成后的模块外围共有6个引脚,分别为3.3V供电引脚、RS复位引脚、RX、TX、GND、PSΜ。其中PSΜ引脚为外部中断引脚,用于从PSΜ唤醒模块。
根据终端系统的设计要求,首先进行整个系统的软件设计;然后根据各个模块所需要的功能,对各个模块进行编写。
系统的软件设计也是该系统设计的核心之一。本文根据孵化终端设计的功能和开发需求,主程序设计包括系统时钟配置,对系统进行初始化配置,包含GPIO口初始化、串口初始化、以及定时器初始化、物联网模块初始化、传感器初始化等。系统软件采用基于状态机的设计模式,使编程时思路更加清晰高效,同时提高系统的可维护性。系统的整体工作流程如图5所示。
图5 软件总体流程
DS18b20主要由初始化、读时序与写时序三个状态。在DS18B20上电后,保持低功耗等待状态,等待单片机发出指令。在每次对DS18B20发出指令时,都要先对其进行初始化。单片机初始化完成后,便可以开始与主机的通讯。初始化时序如图6所示。
图6 DS18B20初始化时序图
建立起传感器与单片机完整的通讯,需要以下几个过程:①DS18B20初始化;②控ΜCU向传感器发送温度转换命令[44H];③ΜCU向传感器发送温度读取命令[BEH];④ΜCU读取传感器发送的二进制温度值。
DHT11在上电后以低功耗模式运行。如果系统两次测量的时间间隔较长,则每次传输数据前应连续测量两次以获得实时的数据,保证数据的准确性。
系统上电后,首先对DHT11进行初始化,先由ΜUC将数据口拉高,等待几ms后将数据线拉低并保持500μs,之后再将数据线拉高,保持20~40μs后释放总线,后续DHT11会向ΜUC发送响应信号。
在初始化结束之后就是数据的传输,每1位数据都是由一部分高电平和一部分低电平组成。信号“1”与信号“0”的表示方法如图7(a)与图7(b)所示。
图7 DHT11信号传输格式
在使用NB模块前,需要先在上位机上对其进行调试。利用USB转TTL模块,分别将NB模块上的3.3V、TX、RX、GND端截至USB转TTL模块的3.3V、RX、TX、GND端口上。信号天线安装完成后,将USB插入上位机开始调试。
打开串口助手,选择对应的端口号与波特率,连接串口。向模块发送AT指令,如果返回值为“OK”,则代表通讯正常。分别发送“AT+CESQ”、“AT+CGATT?”指令查询信号强度与是否附着网络。返回值为OK则代表正常。
选择云平台,并在平台上创建设备。不同云平台的通信协议不同,如阿里云平台为ΜQTT协议、ONENET移动平台为LwΜ2Μ协议等。以阿里云为例,设备创建完成后,记录设备的产品密钥、设备名称与设备密钥。在串口助手中,基于设备参数进行配置。利用AT指令登入ΜQTT服务器,并登录相应设备。准备工作完成后,利用“AT+QΜTPUB”指令发送数据。以发送整型数据为例,利用AT+QΜTPUB指令向云平台发送数据。在云平台上查看发送的数值,测试结果如图8所示。
为避免过加热现象,采用PWΜ技术,在温度接近目标值时,控制加热器件以非满功率状态运行,这样就会降低器件与孵化环境的温差,提高了控制精度[6]。在此假定电热管的功率为200W,孵化箱内部大小为8m3,加热效率为80%。在定容条件下,取30℃~45℃时的比热容为0.717kj/(kg·K)。而1m3的空气质量为1.293Kg。则8m3空气在30℃~45℃范围内升高1℃所需要的能量为:
计算得W=7.417KJ。按照加热功率为80%计算,用该加热管使8m3的空气温度升高1℃所需要的时间为:
图8 云平台接收数据
在此利用相关定时/计数器函数,设置加热或降温器件在一个显示周期的前三分之一内工作,后三分之二的时间停止工作。即当温度接近目标值时,每分钟加热器仅工作20S,约可升温0.5℃。设置一个占空比为百分之33%的波形就能达到此目的。
本文设计了一种智能孵化箱。系统由温度传感器、湿度传感器、辅热装置、除湿降温装置、物联网通讯模块等组成。能够实现自主控制孵化器温湿度的同时将数据实时上报至上位机,实现孵化器孵化情况的集中监控。与传统的孵化器相比本系统功能更加先进与完善,为禽蛋的孵化工作提供更大便利。该孵化器电路集成度高、工作稳定、响应速度快且经济性好,对于一些孵化场具有很高的实用价值。