基于STM32F417IGT6的苹果灾害智能防护系统设计
2021-10-15李蓓茹杨延宁张健鹏
李蓓茹,杨延宁,2,王 凯,张健鹏,邹 彬
(1.延安大学 物理与电子信息学院,陕西 延安 716000;2.陕西省能源大数据智能处理省市共建重点实验室,陕西 延安 716000)
因为所处环境昼夜温差大且光照充足,山地苹果的品质优良,深受消费者喜爱。但山地地形复杂,沟壑纵横,山坳处通风不畅,春季易发生霜冻,夏季又因为气流对流严重[1],导致冰雹天气频繁发生。霜冻和冰雹天气给苹果的生长及产量造成了极大的损害[2]。目前果园里用来防霜冻和防冰雹的措施主要是防冻窖坑烧柴禾法和简易防雹网,这些措施在一定程度上可以减少霜冻、冰雹灾害对苹果生长的影响,但也存在着很多问题,例如防冻窖里的点火与灭火时间完全依赖人工判断,不能被精确控制;简易防雹网属于固定模式,长期搭建在果树上方影响果实生长[3],长期日晒雨淋降低了使用寿命,并且安装拆卸费时费力,这些都增加了苹果生产的成本。因此,有必要开发一种智能防霜冻和防冰雹装置系统,使其可以在霜冻、冰雹天气来临时提前向用户的手机客户端发出指令并启动装置,以便有效防止灾害天气对果树生长的影响,提高苹果的质量与产量。
1 系统设计原理
系统以STM32F417IGT6单片机为主控芯片,总体设计可分为4个模块,分别是DHT11传感器模块、远程操控模块、L298N电机驱动模块和无线通信模块。DHT11温湿度传感器负责收集近地面气温变化,其与单片机STM32F417IGT6的I/O端口相连接来获得温湿度数据,并根据温度数据信息决定是否启动L298N电机模块。系统在通信过程中主要依靠ESP8266串口连接进行无线通信,在春季果园温度低于4 ℃(结霜温度)时,及时向用户手机APP发出警报,打开防霜冻风扇电机,利用冷热空气的梯度分布原理,通过风扇转动将果树上方的热空气输运到树体上达到防霜冻的目的;当温度低至0 ℃时,向用户手机APP发出警报并自启点火装置,提高树体周围环境温度,减少霜冻天气带来的危害。点火器采用DC12 V供电的双针接法点火器。防冰雹电路采用ESP8266串口无线模块技术和STM32F417IGT6单片机控制技术实时监视冰雹天气。手机客户端与智能防冰雹装置无线连接,将天气信息反馈给用户。冰雹天气时,启动防冰雹装置打开防雹网;冰雹结束时,自动收起防雹网。苹果灾害防治系统总体原理图如图1所示。
图1 系统总体原理图
2 系统硬件设计
系统采用由意法半导体公司生产的STM32F417IGT6芯片[4],芯片原理如图2所示。该芯片具有高性能、低功耗、低成本的特点,最高工作频率为168 MHz,在信号和浮点运算上具有很强的处理能力[5]。系统以STM32F417IGT6为核心芯片来集成各个模块,将硬件设计分为电机驱动、数据采集和无线通信3个主要模块,其中电机驱动模块包括防冰雹卷网电机的设计和防霜冻风扇电机的设计,通过各模块电路设计来完成总体的硬件设计。
图2 STM32F417IGT6芯片原理图
2.1 电机驱动模块
电机驱动模块L298N是SGS公司生产的直流电机驱动集成电路[6-7]。L298N由主控芯片STM32F417IGT6的PWM输出,通过控制输出波形的占空比来控制电动机的速度,进而控制防冰雹卷网电机1和防霜冻风扇电机2。图3为电机驱动模块原理图。
图3 电机驱动模块
主控芯片STM32F417IGT6与电机驱动模块的连接通过使能ENA和ENB之后,从IN1和IN2输入PWM信号驱动电机1的转速和方向,从IN3和IN4输入PWM信号驱动电机2的转速和方向。卷网电机运行时,当IN1=1、IN2=0时,电机正转达到卷网功能;IN1=0、IN2=1时,电机反转达到收网功能;IN1=1、IN2=1或IN1=0、IN2=0时,电机停止运动。风扇电机运行时,IN3=1、IN4=0或IN3=0、IN4=1控制风扇转动;IN3=1、IN4=1或IN3=0、IN4=0时电机停止运动[8]。
2.2 数据采集模块
数字温湿度DHT11是一款含有已校准数字信号输出的温湿度复合传感器,它应用专有的数字模块采集技术和温湿度传感技术,确保产品具有较高的可靠性和卓越的长期稳定性[9]。传感器DHT11利用单根总线与单片机STM32F417IGT6进行双向的串行数据分析,有严格的时序,信号传输距离可到20 m以上,符合系统设计要求[10]。系统设计中将传感器DHT11与单片机的I/O端口相连接,将采集到的果树周围温湿度信息以数字形式传送给单片机,一次完整的数据传输为40 bit。
2.3 无线通信模块
ESP8266系列模组是安信可(Ai-Thinker)公司采用乐鑫ESP8266芯片开发的一系列WiFi 模组模块[11],内部自带固件,用户操作简单,无需编写时序信号, 其模块原理如图4所示。单片机STM32F417IGT6通过WiFi模块ESP8266中的RS232协议进行串口通信[12]。WiFi模块的硬件连接为TX连接RX,VCC连接3.3 V,GND连接GND,用CH_PD连接3.3 V选择串口号对模块进行配置,将模块配置成多连接模式。通过ESP8266连接互联网并通过SmartWeatherAPI接口获取天气信息并进行数据解析[13],为防霜冻和防冰雹装置启动服务。
图4 ESP8266模块原理图
3 系统软件设计
STM32F417IGT6单片机程序采用Keil MDK进行集成开发环境的开发[14-15],系统主要由防冰雹模块和防霜冻模块两个程序构成。首先对单片机进行初始化,STA模式提前获取天气预报,传感器DHT11实时采集外界温度信息,对不同的天气数据进行对比。当检测到的数据与冰雹天气数据库中的数据相一致时,装置对手机客户端发出预警并采取相应的措施。冰雹天气时,用户使用手机客户端控制防冰雹卷网电机的收缩,减少冰雹带来的灾害,装置工作流程如图5所示。
图5 防冰雹流程图
根据获取到的天气信息判断是否打开风扇电机,温度降至4 ℃时,启动电机,风扇电机可将高空较暖的空气吹向地面。温度降至0 ℃时,启动点火装置点燃防冻窖,释放热量,提高果树周围环境温度。放霜冻装置工作流程如图6所示。
图6 防霜冻流程图
4 系统调试
检查系统软件工作环境,将编辑好的程序输入到程序编译器中,编译结果正确则使用该程序,编译结果有误根据提示更改程序直到运行结果正确。硬件调试需要检查单片机STM32F417IGT6的最小系统和各硬件电路供电是否正常,无误后进行软件调试。将传感器DHT11与单片机的I/O端口相连接,通过One-Wire模式同行获得温湿度数据。单片机STM32F417IGT6与WiFi模块ESP8266的输入输出串口相连接,通过SmartWeatherAPI接口获取天气信息并进行解析。利用ESP8266模块的RS232协议进行通信,用户便可通过手机APP发出对系统装置的控制指令。对霜冻天气在程序编写时设定两个温度阈值,传感器持续检测外界温度。当检测到温度低于4 ℃时,防霜冻风扇开始转动;当温度低于0 ℃时,点燃防冻窖的柴禾,迅速释放烟雾并产生大量气溶胶气体颗粒,减少土壤和植物的热辐射散失,将霜冻地的湿冷空气化解成水,释放一定的热量,提升周围环境温度[16],化解霜冻的危害,降低损失。防冰雹装置需要STA模式提前获取天气预报,当检测到与冰雹历史天气数据一致时,用户端提前获得信息,及时打开防冰雹卷网电机。当传感器DHT11检测到冰雹天气结束时,随即控制卷网电机反转将防雹网收紧,以免影响到苹果正常的光合作用。
5 测试结果
延安地区霜冻天气一般在4月中旬到5月期间,多发生在夜间[17]。样机测试在陕西省延安市川口乡山地果园进行,根据调试过程及夜间逆温效应得出风扇的安装高度应为6.5 m,角度为俯角25°,安装数量为每1 500 m2果园4个风扇[18]。设置启动风扇电机和防冻窖点火阈值分别为4 ℃和0 ℃。表1为2020年4月22日霜冻天气的测试数据。
表1 防霜冻装置测试结果
根据表1数据可以看出,系统检测到装置温度在结霜温度4 ℃及以下时,启动风扇电机,继续检测温度降至0 ℃及以下时,启动防冻窖的点火装置。在装置检测到温度未达到设定阈值时不采取任何措施。系统装置对于不同的温度能及时采取相应的措施,有效避免了霜冻天气对果树的危害,基本达到防霜冻的设计目的,与传统方法相比更加智能、快捷。
延安地区冰雹一般发生在夏季,一天中的降雹时间70%集中在13时~19时,在14时~16时之间发生概率最大[19]。2020年5月25日下午,该果园遇到冰雹灾害。实地测试结果表明,样机可以提前20 min向用户手机端发出预警,控制防雹网在2 min内全部展开。冰雹结束后,可快速收回防雹网。装置能及时启动和关闭装置,各项测试参数都达到了设计指标。
6 结束语
本文设计了一种以STM32F417IGT6芯片为核心的实时苹果灾害智能防护系统,将防冰雹、 防霜冻功能综合设计,系统对外界天气数据进行收集和比对并进行及时的预警和反馈,使得用户可以根据天气情况做出相应的措施,基本满足了系统设计的要求。后续仍需在风扇电机、卷网电机的功率选择、烟雾燃烧系统和放热反应装置的精确控制以及装置的果园布点方面做进一步研究,以便进行系统的优化和应用推广。