基于单片机的小型智能灌溉系统设计_孙小春

孙小春,孙小迎. 基于单片机的小型智能灌溉系统设计[J]. 湖北农业科学,2020,59(21):171-173 .
基于单片机的小型智能灌溉系统设计
孙小春1,孙小迎2
(1. 杨凌职业技术学院,陕西 杨凌 712100;2. 南昌工学院,南昌 330108)
摘要:以 51 单片机为控制器,根据农作物生长特性的需求,设置合理湿度参数范围,单片机对土壤湿度信息进行采集、分析和处理,进而控制抽水电机抽水灌溉,同时对土壤湿度数据进行实时显示,最终实现智能节水灌溉系统的设计。经过测试,该系统能实时监测数据,实现智能灌溉要求。
关键词:单片机;灌溉系统;显示器
中图分类号:TP13;S275 文献标识码:A文章编号:0439-8114(2020)21-0171-03
DOI:10.14088/j.cnki.issn0439-8114.2020.21.037 开放科学(资源服务)标识码(OSID)
Design of small intelligent irrigation system based on singlechip microcomputer
SUN Xiao-chun1,SUN Xiao-ying2
(1. Yangling Vocational and Technical College,Yangling 712100,Shaanxi,China;2. Nanchang Institute of Technology,Nanchang 330108,China)
Abstract:51 singlechip microcomputer was used as the controller,according to the requirements of crop growth characteristics,a rea⁃ sonable humidity parameter range was set. The singlechip microcomputer collects,analyzes and processes the soil humidity informa⁃ tion,and then controls whether the pump motor pumps water for irrigation. At the same time,it displays the soil humidity data in real time,and finally realizes the design of intelligent water-saving irrigation system. After testing,the system can monitor the data in real time and realize the requirements of intelligent irrigation.
Key words:singlechip;irrigation system;screen
当前很多农业种植户都需根据土壤墒情进行大水浇灌,这种灌水特点是连续的,选取这种灌溉方式仅仅只能保证农作物不会缺水而死,经常是水量过多,该方式对作物来说并不是最好的生长环境,浪费了水资源又无法使农作物健康生长。种植户必须定期到农田进行巡查,灌溉的智能化程度也很低,需要较多劳动力,因此迫切需要一个小型的智能灌溉系统[1],减少劳动力,增加经济收入。
基于单片机的小型智能节水灌溉系统以 51 单片机作为控制中心,设置适合农作物的湿度参数范围,利用土壤湿度传感器对土壤湿度信息进行实时采集,并对该湿度信息进行分析、处理和实时显示, 单片机根据数据分析结果发出不同的控制信号去控制抽水电机的启动和停止,从而控制水泵抽水灌溉, 最终实现智能节水灌溉系统的设计。
1 系统框架设计方案
灌溉系统以单片机为控制核心,湿度传感器把土壤湿度信息传给单片机,单片机对湿度信息实时采集并进行分析处理,当湿度数值小于下线设定值时,单片机发出报警信息,同时发出控制信号给水泵控制阀门启动水泵电机,并显示当前的土壤湿度数据,当湿度数值大于设定的上限值时单片机控制关闭阀门,停止水泵电机。设计结构框见图 1。
该设计以单片机为核心,在 LCD1602 显示器上实时显示测试的土壤湿度,而且用户可以通过按键来设置水泵电机工作、停止的边界值。
单片机选用 AT89C51 芯片,由于其性价比高、电压低,兼容标准的 51 指令系统,使其更容易应用。系统采用直流 5 V 电源,亦可由 USB 输入直接供
![]()
收稿日期:2020-01-16
基金项目:杨凌职业技术学院科学研究基金项目(A2018041);江西省教育厅2018 年科学技术研究项目(GJJ181058)
![]()
![]()
作者简介:孙小春(1976-),女,陕西富平人,副教授,硕士,主要从事电气自动化的教学与科研工作,(电话)18710310229(电子信箱)
172 湖 北 农 业 科 学 2020 年

图1 设计结构框
3 软件设计
根据硬件电路设计,结合 C 语言特点,进行软件设计。其软件控制流程如图 3 所示。
![]()
![]()
![]()
电;数据采集模块主要用 YL-69 土壤湿度传感器; 湿度数据实时显示模块选用 LCD1602 液晶显示屏, 可显示字母、数字、符号等;水泵电机驱动模块,单片机根据湿度数据的分析、处理结果,发出不同的控制信号,控制水泵电机的工作状态,当超出预设的数值范围可以进行声光报警。
2 系统硬件设计
2.1 湿度采集电路设计原理
土壤湿度传感器选用 YL-69,其内部有一个电容,当电容受到不同湿度的影响,它的电阻值可以改变。当土壤含水量发生变化时,它的电阻值立即发生变化,从而可以产生不同大小的电信号,这样就能将土壤的湿度信息直接转化成电信号。YL-69 传感器的模拟量电压输出接口为 AO,将 AO 与ADC0809 芯片的 IN0 模拟输入端口相连进行 A/D 转换,将转换后的数字信号由 DO 端口传输给单片机。
湿度对应的电压范围为:5.0 V 干燥,对应 0%湿度,4.0 V 对应 25% 湿度,1.0 V 对应湿度 80%。程序设计水泵电机的开关,当湿度为 25% 也就是
4.0 V 时候,电机开启水泵。
2.2 水泵电机驱动控制电路
图 2 是水泵电机驱动控制原理。智能灌溉系统的电机部分主要由 AT89C51、驱动放大电路、电机部分组成[2,3]。

图2 电机驱动电路
![]()
图3 软件流程
首先,进入系统初始化,LCD1602 显示初始化;其次,采集土壤湿度数据并送给 ADC0809 进行模式转换,单片机读取转换输出的八位二进制数据,给该数值乘以 0.019 6(5/255)转换成湿度传感器对应的电压信息,并由 LCD1602 液晶显示模块直接显示该电压信息。同时,把该电压值与预先设定好的数值进行比较,单片机根据比较结果给 P2.3 引脚(水泵控制模拟单元与单片机的 P2.3 引脚连接)发出不同的控制信号,即通过改变 P2.3 引脚的高低电平来控制水泵电机的工作和停止。当传感器检测到的电压值大于 4 V 时,说明土壤湿度低于 25%,农作物需要进行灌溉,单片机就给三极管输出一个高电平,电机驱动电路处于导通状态,继电器接通和电机相连接的开关,就使水泵进行抽水灌溉(继电器工作,水泵开启)。在灌溉的过程中,当湿度传感器检测到的电压值低于 4 V 时,单片机又给三极管输出一个低电平,这时三极管截止,相当于继电器断开,使水泵停止灌溉(继电器停止工作,水泵停止),将程序写入单片机后,通过单片机 P2.3 引脚对三极管的控制便能控制水泵是否进行灌溉。该程序软件循环工作,即可做到智能节水灌溉。部分程序和代码如下。
1) A/D 转换和数据读取程序。
unsigned int shu;// 保存读取数据
sbit clock=P3^3;//定义时钟sbit start=P3^0;
sbit eoc=P3^1; sbit oe=P3^2;
第 21 期 孙小春等:基于单片机的小型智能灌溉系统设计 173
TMOD=0X20; TH1=206; TL1=206; EA=1; ET1=1; TR1=1;
oe=0; while(1)
{
start=0; start=1;
start=0;// 转换开始 while(eoc==0);// 转换结束 oe=1;//读取数据 temp=P0;
oe=0; shu=shu*0.0196;
}
void t1()interrupt 3
{
clock=~clock;//时钟信号
}
2) 液晶显示程序部分。 sbit RS=P2.0;//定义引脚 sbit RW=P2.1;
sbit E=P2.2;
void lcd_w_cmd(unsigned char com);//写命令子
4 仿真测试
用输入 0~5 V 模拟电压代替湿度传感器测量信息进行仿真测试。当湿度低于 25%,测量电压大于 4 V 时,测试电压为 4.35 V,LCD1602 和电压表显示
都为 4.35 V,电机开启,转速 497 r/min,水泵进行灌溉(图 4);当湿度大于 25%,测量电压小于 4 V 时,测试电压为 0.7 V,LCD1602 电压表显示都为 0.70 V,电机停止,转速为 0,水泵停止灌溉(图 5);在其他不同湿度进行测量时,电机都可以按设计功能工作。

图4 湿度低于25% 的仿真效果
函数
void lcd_w_dat(unsigned char dat);//写数据子
函数
unsigned char lcd_r_star(t );//查询状态子函数
void lcd_in(t );//初始化函数
void delay(unsigned int i);//延时函数
图5 湿度大于25% 的仿真效果
Void xiansh(i
{
)//显示数据
5 结论
unsigned char lcd[]=“数据”; unsigned char i;
P1=0xff;//关闭 lcd_in(t ); delay(255); lcd_w_cmd(0x83); delay(255);
系统使用湿度传感器检测湿度信息,由 51 单片机进行湿度信息的实时采集、处理和显示,根据湿度信息控制抽水电机的工作状态,实现智能节水灌溉。在实际应用中可以设置适合农作物生长的湿度参数范围。该系统实现了智能灌溉功能,且经济实用,具有很高的应用价值。
参考文献:
fo(r
i=0;lcd[i]!=‘\0’;i++)
[1]张秋艳 . 基于单片机的智能节水灌溉系统设计[J]. 榆林学院学
{lcd_w_da(t lcd[i]); delay(200);} while(1);
}
报,2017,27(6):32-33.
[2]王新华,杨学坤,蒋 晓. 节水灌溉自动控制技术的研究现状与发展趋势[J]. 农业开发与装备,2014(12):80-81.
![]()
[3]彭汉莹,王 宇,韩改宁,等. 基于单片机的智能灌溉系统设计[J]. 软件工程,2017,20(2):41-42.