1. 引言
在科技高速发展的今天,高效灌溉管理已成为农业生产的重要环节。然而农业生产节奏加快使人工管理效率受限,精准灌溉成为作物生长的关键问题。针对此现象,设计一款能自动检测土壤湿度并智能调控的灌溉系统具有现实意义。当前国外单片机浇灌系统虽技术成熟但价格高昂,国内主流的灌溉设备(如浙江产)虽经济实惠,却存在自动化程度低的短板。随着农业规模化发展与资源集约化需求提升,开发符合中国消费需求的高性价比智能灌溉系统,成为解决种植户管理难题的有效方案。与近5~10年智能灌溉领域产品相比,具有实时检测,自动化程度高,性价比较高,水资源利用率高的特点。
2. 系统的硬件设计
2.1. LCD1602显示接口线路
本设计采用LCD1602液晶显示模块实现数值信息显示。该型号显示屏基于液晶分子电场控制原理,通过调节电极状态改变透光特性实现字符显示,相比传统显示器件具有显著的轻量化优势(在重量上比相同显示面积的传统显示器要轻得多[1]),且静态功耗极低(无背光时仅几微安,带背光时约10~50 mA),同时硬件成本与开发维护成本低。模块采用标准16引脚接口设计,其引脚配置及功能如表1。
Table 1. Pin function
表1. 引脚功能
引脚名 |
引脚功能 |
1引脚 |
GND电源端 |
2引脚 |
VCC 5V电源正极 |
3引脚 |
V0显示器对比调整端 |
4引脚 |
RS为寄存选择端 |
5引脚 |
RW为读写信号线 |
6引脚 |
E为使能端 |
7~14引脚 |
D0~D7为8位双向数据端 |
15引脚 |
BLA为背光正极 |
16引脚 |
BLK为背光负极[2] |
由图看到显示屏的RS引脚和E引脚分别与单片机的P1.0与P1.2引脚相连,通过程序设定P1.0与P1.2引脚的高低电平的改变来控制液晶显示屏的命令选择和数据的读取。其中RW与单片机的P1.1引脚相连。RS引脚与RW引脚同为低电平时,处于写指令状态;RS引脚为高电平,RW为低电平时处于写数据状态,而E引脚在高电平时处于读取信息状态,负跳变时才会执行指令[3]。显示线路如图1所示。
Figure 1. Liquid crystal display circuit
图1. 液晶显示电路
2.2. ADC0832简介
ADC0832是8位逐次逼近式A/D模数转换器,它可以根据地址码锁存译码后的信号。只选通8路模拟输入信号中的一个进行A/D转换是目前国内应用最广泛的8位通用A/D芯片[4]。片选使能端(CS)连接至单片机P1.3端口,该引脚采用低电平有效机制。当CS保持低电平时芯片进入工作状态,进行模数转换期间必须维持该低电平直至转换完成,高电平时芯片进入禁用状态。时钟输入端(CLK)与单片机P1.4端口连接,负责接收单片机产生的时序脉冲。数据通道选择端(DI)与数据输出端(DO)采用分时复用设计,通过并联方式共同接入单片机P1.5端口,该设计基于芯片通信时序中DI/DO信号不会同时有效的特性。通道配置方面,CH0 (模拟输入通道0)和CH1 (模拟输入通道1)为两路独立模拟信号输入端。特别注意:在首个时钟下降沿到来前,必须确保DI端维持高电平,该信号特征作为模数转换的启动标识。芯片工作时序要求:当CS置低电平启动转换后,单片机需通过CLK端口输出时钟脉冲序列,同时在时钟下降沿期间通过DI端发送通道选择控制字(包含输入通道选择及单/差分模式配置信息),转换完成后通过DO端以串行方式输出转换结果数据,连接图如图2所示。
Figure 2. ADC pin connection diagram
图2. ADC引脚连接图
2.3. 湿度传感器介绍
此次设计所使用的是yl-69土壤湿度传感器,其具有测量精度高(误差可低至±3%),稳定性好,性价比高等优点。通过按键模块调节土壤湿度值,可以实现自动浇水,数字量输出D0可以与单片机直接相连,通过单片机来检测高低电平,由此来检测土壤湿度[5]。具体连接方式为传感器板上的VCC接电源,GND接地,A0接单片机模拟输入,D0接数据输入。湿度传感器模拟电路如图3。
Figure 3. Humidity sensor analog circuit
图3. 湿度传感器模拟电路
2.4. 报警器模块
蜂鸣器作为电子发声器件,根据驱动原理可分为有源型与无源型两类。在本报警器模块设计中,选用具有内置振荡电路的有源蜂鸣器作为声学输出装置。电路中三极管Q1承担电子开关的核心功能:当其基极接收低电平信号时,三极管进入饱和导通状态,为蜂鸣器提供完整工作回路,使其产生报警音效;当基极输入高电平信号时,三极管截止关断,蜂鸣器供电回路被切断,从而停止发声[6]。这种电平控制方式实现了对报警器工作状态的精准控制。蜂鸣器报警电路如图4。
Figure 4. Buzzer alarm circuit
图4. 蜂鸣器报警电路
2.5. 按键模块
本设计采用的是低电压读取按键的方法,单片机先是处于高电压的状态,当按下按键时给单片机发送一个低电压[7]。以此来调节显示屏上的数值(图5)。
Figure 5. Key-press module
图5. 按键模块
此次设计主要用到了四个按键,单片机处是复位键,其他三个分别是湿度值上调键、湿度值下调键和湿度值确认键。为了提高设计的精确度,在按键部分要注意抖动,联系以前学过的知识,对此所做出的解决方法就是先查询是否有低电平出现,有的话立即延迟,需要注意的是当延迟过后需要再读一次I/0口的值,如果读出的是1的话,则表示没有按按键,当读出的是0时,表示有按键按下[8]。
3. 系统的软件设计
该主程序流程图是硬件初始化之后,设定好数值。然后采集湿度样本,把湿度样本传给单片机之后,单片机系统处理该湿度数值,判断湿度值是不是在设定值范围内。如果高于湿度值,停止灌溉;假如低于湿度值,返回到湿度采样,再次判断湿度值,直到达到湿度值结束。主程序流程图如图6所示。
Figure 6. Main program
图6. 主程序
报警器模块描述的是在采集到湿度样本以后,对采集到的样本值进行判断,是否达到预定值,如果未达到预定值,也就是土壤湿度过于干燥,报警器则会报警,开始浇灌。如果采集到的值高于预定值,报警器不报警。具体流程图如图7所示。
土壤温湿度采集与显示系统以单片机STC89C52为控制核心,通过软件设置达到显示的目的。土壤的温湿度是由ADC0832和两个点位器进行模拟并送入单片机,通过单片机的I/O口把检测到的土壤温湿度值用LCD显示出来。同时,如果系统在智能浇水设置情况下,则该值与设定的浇水上下限值相比较,若低于下限值,则单片机发出一个控制信号,开始浇水;若高于上限值时,单片机再发出一个控制信号控制,停止浇水[9]。该模块主要简述了LCD1602显示的土壤湿度值的流程,通过传感器模块对采集到的湿度样本进行判断后,将最终的数值显示出来。显示模块流程如图8所示。
Figure 7. Alarm and automatic watering program
图7. 显示模块流程图
Figure 8. Display module flowchart
图8. 报警及自动浇水程序
4. 系统仿真与分析
这款专业仿真软件在功能设计和性能表现上均具备显著优势:(1) 创新性地实现了SPICE高精度仿真电路与嵌入式单片机系统的深度整合;(2) 配备完整的虚拟实验平台架构,提供示波器、逻辑分析仪等多样化的专业虚拟仪器设备。这种集成化设计不仅显著提升开发效率,更能有效满足从基础电路验证到复杂系统开发的多元化项目需求;(3) 具备软硬件相结合的系统仿真功能。不仅如此,Proteus软件也可以通过第三方软件的开发环境,与Keil等软件进行联合使用,从而获得更加理想的仿真结果[10]。在完成硬件架构设计与嵌入式软件编程后,本阶段通过Proteus仿真平台开展系统级联合调试。具体实施流程体现为:依托Proteus集成的精准器件模型库,可快速完成元件筛选与参数配置;运用直观的布线工具构建电路,并验证电气连接可靠性。继而用Keil μVision集成开发环境生成的机器码(.hex文件)载入AT89C51微控制器内核,依托Proteus虚拟示波器、逻辑分析仪等诊断工具,实现硬件电路与软件算法的实时交互验证,利用PC机写进proteus程序图芯片内进行仿真测试,并对其出现的错误进行修改。Keil编译程序成功如图9所示。
Figure 9. The program was successfully compiled in Keil
图9. Keil编译程序成功
仿真结果见图10~12,图10当模拟湿度为10时基于土壤湿度控制的智能农业灌溉系统效果图,可见蜂鸣器鸣叫,LED灯闪烁,水泵开始旋转,同时液晶显示屏显示正常。图11为通过调节滑动变阻器使得设置湿度增加到50,此时蜂鸣器和LED灯停止供电,而水泵还在持续转动,液晶显示屏显示正常。图12为模拟湿度为80时的效果图,此时水泵也停转,只有液晶显示器正常工作。由此可见,该系统能对不同的土壤湿度做出准确的反应。
通过计算机仿真模拟可以精准识别系统存在的缺陷和短板,基于仿真数据可对系统进行针对性改进以提升运行效能和可靠性。当系统响应速度不理想时,可采取两种优化路径:一是改进控制核心算法,通过降低积分和微分环节的时间常数或采用预测控制等高效策略缩短响应延迟;二是优化设备物理参数,例如对水泵的电感、电阻等关键参数进行数值微调,并借助仿真平台反复验证参数组合效果,最终形成算法与硬件参数的最优匹配方案。这种基于数字模型的闭环优化方式,能够在虚拟环境中快速验证改进措施,确保系统在提升响应速度的同时维持稳定运行。
Figure 10. Simulation results (the relative humidity is 10%)
图10. 仿真结果图(湿度为10)
Figure 11. Simulation results (the relative humidity is 50%)
图11. 仿真结果图(湿度为50)
Figure 12. Simulation results (the relative humidity is 80%)
图12. 仿真结果图(湿度为80)
5. 总结与展望
此次C52单片机自动浇灌系统主要介绍了基于土壤湿度控制的智能农业灌溉系统的设计思路和设计原理,通过湿度传感器间的电压差来反映土壤湿度,从而向单片机传递信号,再由单片机控制水泵与报警装置。这款基于土壤湿度控制的智能农业灌溉系统设计主要用到了C52系列单片机、湿度传感器、LCD1602显示器。整个自动浇灌由采集显示土壤湿度和湿度值设置两个部分组成,可以完成数据处理,湿度测量,阈值湿度显示等功能。实验结果表明,该系统能够实现对土壤湿度的测量显示和水泵的动作。该系统在性能与实用性上展现出多重优势:检测精度高,能精准捕捉土壤湿度的细微变化;响应速度快,可迅速对监测信息作出反馈与调整;稳定性强,在复杂工况下仍能保持持续可靠运行。同时,它具备实时检测能力,可动态掌握土壤湿度状况;自动化程度突出,能实现灌溉流程的智能自主调控,大幅减少人工介入;性价比优势显著,以合理成本实现高效功能;通过更科学的灌溉策略显著提升水资源利用率,兼顾精准、高效与节水等优点。
NOTES
*通讯作者。