基于物联网的自动灌溉系统设计与实现
2022-10-20夏思凡伍军友
夏思凡,伍军友
(西南交通大学 希望学院,四川 成都 610400)
0 引 言
现在我们国家正在迅速发展蔬菜产业,并且我们国家的蔬菜园面积在世界排在前列,但我们国家的蔬菜园智能管理技术远远跟不上蔬菜园数量的增长,使蔬菜的产量受到了影响。温度、湿度和光照是蔬菜生长环境的重要参数,大多数的蔬菜要求环境温度保持在15 ℃至25 ℃之间,湿度保持在60%至80%之间,光照和PH 值也因蔬菜种类不同而异。采用人工方式进行环境调节和控制,手动去浇水或施肥,这样不但效率低下,而且缺乏科学性。因此,本文设计一套能够24 小时检测蔬菜园状态,根据预定值进行工作的系统,养殖人员花费少量的时间和精力下提高了生产效率。同时,还配有专门的手机APP,让用户随时监测温湿度,灵活智能的实现远程控制,本设计在农业领域具有广阔的应用前景。
国外针对这领域的研究起步较早,美国的Bissonnett M W 等人研发了智能花园装置,通过采集生长状态数据,实现监测。美国的Click and Grow 公司推出了由锂电池,蓄水箱及检测控制模块组成的智能花盆,使用者可以通过智能花盆检测作物的生长信息,进而对作物进行浇水和施肥等操作。法国的Parrot 公司设计的FlowerPower 产品可以对作物的生长状态进行监测,用户可以通过手机对作物进行管理操作。我国的赵金涛也设计了一种基于Wi-Fi 的农田自动灌溉系统,可以通过远程进行灌溉控制。袁闻杰、宋朝伟、刘源等则针对花卉设计了一种基于单片机的自动浇花装置。
1 系统设计原则
本系统设计了一套自动灌溉系统,此系统完成对温湿度的监测及手机端对灌溉的控制。以单片机为核心的嵌入式系统是软件与硬件的结合,软硬一体化专用的设备常常用在专业的场合。因此必须遵循可靠性,易维护性,可扩展性的设计原则才能满足实用的需求。这里提出几个重要原则指导开发的进行。
1.1 以应用为导向以系统集成为核心
任何系统的开发必须以实用性为向导,朴素的思想就是带着实际的应用任务来开发,严格遵守目标导向。系统的处理能力,开发成本,实用成本,设备功耗,体积,鲁棒性都要考虑在内,以便开发者更好的使用相关资源完成系统集成。
1.2 节省开发成本
优先使用成熟技术,借鉴成熟设计,最大化的减少对硬件的电路设计,软件底层代码的编写。这样会大大减少调试时间;成熟的产品,成熟的设计在应用方面有众多的资料可以使用,众多厂家良好的支持,减少不必要的工作量。
1.3 软件硬件开发相辅相成互相促进
自动灌溉系统对使用者来说是一体化的设备,从使用者的角度来说,硬件软件是一体的,所以在开发阶段需要软件硬件联调联试,综合分析从软件的角度最大化发挥硬件的功能,从硬件的增强系统的可靠性和易维护性,提高执行速度和增加可扩展性。当硬件连接完成,需要对软件程序的编写,在编写数据采集和交互的时候,需要考虑到系统会因为程序的异常或者某个错误而有可能导致整个系统瘫痪,所以在编写程序的时候就需要考虑这些情况并进行相应的方式去弥补,从而才能提升整个系统的性能。
2 系统硬件选择
2.1 单片机选择
本系统选用STC89C52 进行数据处理和控制,STC89C52 单片机在原有的51 内核芯片的基础上进行了大量的技术改进,功能较普通51 芯片强大数倍。无论是抗干扰能力还是芯片接口资源丰富,都有了超强的技术优势。STC98C52系列单片机的供应是当下芯片市场占比相当大的,是由国内宏晶科技一手研发的国产芯片,具有非凡的价值。其性能与性价比在当今芯片市场是占据着不可或缺的地位。
2.2 温度传感器的选择
本设计中采用数字式温度传感器DS18B20 对温度进行检测,DS18B20 是美国DALLAS 半导体公司在模拟的基础上改进开发的数字温度传感器,为单总线的通信方式简单,芯片体积小,成本低,范围广,精度高。
2.3 湿度传感器的选择
本设计采用FC-28 土壤湿度传感器负责检测土壤的湿度。该产品的传感元件及信号处理并进行集成,输入预先标定的数字信号,使产品具有了很高的可靠性和长期稳定性,并具有响应速度快,抗干扰能力强和性价比高,体积小和低功耗的优点,采用了更人性化的连接方式,更有利于更换。
2.4 通信模块的选择
下位机与手机APP 之间的无线通信选择ESP8266 Wi-Fi通信模块实现。ESP8266 为Soc 芯片,并且可以独立运行的32 位微控制器,承担其联接互联网的功能。
2.5 显示模块的选择
采用LCD1602 液晶屏。它是一种字符型的液晶模块,能够显示2 行,每行16 个字符,其内部存储了若干个不同的点阵字符位,采用并行和串行两种方式传输。
2.6 按键的选择
采用独立按键,独立按键所占的空间很少,也可以节省PCB 板的空间,用户使用也更容易上手。本设计只需要通过按键设置温湿度的阈值,独立按键即可实现目的,电路的焊接也更容易,系统的形象也更简洁。
3 系统总体方案
3.1 总体设计框图
系统总体设计框图如图1所示。手机APP 通过Wi-Fi模块与下位机进行通信,监测蔬菜园的温湿度数据,并可通过手机APP 开启水泵进行灌溉;系统以STC89C52 单片机为核心,通过温度和湿度传感器检测温湿度,并将输出信号传输给单片机,单片机对传感器数据进行实时处理,当温度高于设定阈值或者湿度低于设定的阈值时,单片机驱动蜂鸣器报警,且控制继电器动作,驱动水泵抽水,进行灌溉。同时单片机通过Wi-Fi 模块将检测到的温湿度数据传输到手机APP,手机APP 软件界面实时显示温湿度数据,并可灵活控制水泵,进行灌溉。液晶实时显示温湿度数据,按键对温湿度的阈值进行设置,实现良好的人机交互功能。
图1 自动灌溉系统总体设计框图
3.2 总体硬件电路
自动灌溉系统的总体硬件设计以STC89C52 单片机作为关键控制芯片展开,通过继电器控制电路、电源电路等协同完成自动灌溉系统设计的功能需求。系统总体硬件电路设计包括以下11 个部分:
(1)STC89C52 最小系统电路,STC89C52 芯片具有3 个16 位的定时器/计数器,512 字节的RAM,4 个外部中断,8 KB字节的FLASH,4 KB 的EEPROM,1 个7 向量4 级中断结构。
(2)晶振电路,本系统在单片机外部加了一个晶振电路作为时钟振荡器,选用的是12 MHz 的低频晶振,既提高了计时的准确性,又满足了低功耗的要求。
(3)复位电路,负责整个系统的硬件复位。当程序执行到与预想的结果不一样时,或者整个系统出现紊乱,异常情况,则强制将程序复位至初始状态,单片机内部时序得到清零。
(4)供电电路,STC89C52 单片机的正常工作电压为5 V 左右,因此需要将12 V/2 A 的备用电源经过LM7805芯片进行降压,转换为5 V 后为系统工作。
(5)温度采集电路,DS18B20 温度传感器是可编程分辨率的单总线新型数字式温度传感器,可直接得到出温度值,工作的误差是0.5 ℃,它可形成总线结构,即一个I/O 口可以读很多个温度传感器数据。
(6)湿度采集电路,模拟量输出A0 与PCF8591 芯片的模拟输入引脚直接相连,通过I2C 总线来与STC89C52 单片机进行通信,将土壤湿度值传输给STC89C52 单片机。
(7)Wi-Fi 传输电路,ESP8266 Wi-Fi 模块内置TCP/IP协议,支持AT+控制指令集,只要将模块当做无线传输模块使用即可,无需进行任何操作,使用方便。
(8)按键电路,按键电路功能主要是为了设置温湿度的阈值。在本次系统设计中,当有按键按下去的时候,单片机I/O 会被拉成低电平,通过运行程序按键检测子程序,从而可得知哪个按键按下。
(9)液晶显示电路,LCD1602 液晶,主要可以用来显示字符、数字、字母等,其分为串行与并行控制方式,显示字符变化多样,可基本满足该系统设计目的。它包含几个5×7 或5×11 点矩阵字符位,其字符位控制方式一一对应,主要预先分配字库控制方式,LCD1602 背面内置芯片,可存储字库,采用单片机控制方式可大大减少烦琐步骤。
(10)蜂鸣器报警电路,实现温湿度超过阈值时的报警功能,蜂鸣器采用较为普遍的5 V 有源蜂鸣器,通过S8550三极管的导通和截止来驱动蜂鸣器。
(11)继电器控制电路,用于驱动水泵的电机运转,当湿度低于设定值时,则发出指令让继电器工作,让小水泵实现自动浇水。
自动灌溉系统总体硬件电路设计如图2所示。
图2 自动灌溉系统的总体硬件设计原理图
3.3 系统控制流程图
当系统上电后,STC89C52 单片机开始运行,首先完成系统初始化,传感器的初始化;接下来采集温湿度;单片机将检测到的温湿度数据和相应的设定值进行对比,超出设定值则进行相应的处理,然后进行串口通信和,将数据传输给手机APP,最后进行液晶显示。系统控制流程如图3所示。
图3 系统控制流程图
4 系统调试
完成系统设计与开发之后,就需要进行硬件电路的调试,首先确认电源和GND 引脚是否连接成功,有无遗漏。第二步确认待焊接芯片是否与原理图完全一致,主要检查芯片的型号和封装,检查完成后开始焊接工作。接着需要借助万能表来测试焊接电路是否能够正确导通,用万能表测试过程中如果万能表的蜂鸣器正常响起那就说明是可以导通,反之就是不导通,有可能就是存在虚焊、焊接错误等问题,这时就需要仔细去排查,虚焊问题可以通过电烙铁来重新焊接,焊接完成再用万能表测试,蜂鸣器正常响起那就说明是正常状态,最后检查无误后系统上电,完成系统调试。系统硬件调试如图4所示。
图4 系统硬件调试图
5 结 论
本文在反复的调研和求证下,通过对现有的自动灌溉系统进行详细分析的基础上,构建了自动灌溉系统的方案。本方案实现了低功耗、智能控制、抗干扰性强的自动灌溉系统。本系统主要研究成果如下:
(1)根据现阶段国内外的自动灌溉系统的发展现状以及现阶段能够实现的技术条件,设计并构建了总体设计方案;
(2)软硬件都采用了模块化设计,方便在设计过程中理清思路,为之后的软硬件测试以及故障维修过程提供了便利。
(3)自动灌溉系统以STC89C52 单片机为核心,通过温湿度传感器实时检测温湿度,最后通过Wi-Fi 传输方式将数据传输给手机APP 进行监测和控制,完成自动灌溉功能。