Abstract:This paper designed an automatic watering system based on single-chip microcomputer control. The system uses AT89C51 as the control chip, and uses soil moisture sensor to detect the relative humidity of the plant soil. Then it processes the information through the AT89C51 microcontroller and outputs the control signal to control the opening of the water valve. Together, complete the automatic watering work according to the required amount, stop the watering when the soil moisture reaches the set value, the design contains an automatic alarm system, buzzer alarm before the start of watering, all the control use C language. The programming of the MCU and the development of the system software all use KeiluVision3, and the 1602 liquid crystal display module is used to intuitively reflect the working status of the system. The intelligent watering system realizes automatic watering on time according to need in an unmanned state, which can make the soil moisture reach the optimum value for plant growth and greatly facilitate the life of people.
Key words: Soil humidity sensor Microcontroller Water valve C programming language 1602-LED
【中图分类号】TP212.9 【文献标识码】B 文章编号1606-5123(2018)06-0000-00
1 引言
随着人们生活水平的提高,许多城乡居民为了绿化环境,净化空气,喜欢在家中阳台上种植一些花草植物。植物离不开水,常需浇灌,而伴随着人们快节奏的生活和工作,人们已经没有很多时间去精心照顾自己种的花卉植物,尤其出差时,植物的供水就会间断,随后势必面临干旱。基于这个问题,就需要一种智能系统来代替人类进行浇水工作。现在国内外均有自动浇花系统的应用,大多采用了虹吸原理,即通过渗透的方式浇花,还有一些仅可以设定浇灌时间的自动浇水系统,但这些持续的、不中断的方式只能够保证花不会干旱而死,并不是按需灌溉,极有可能造成浇水过度,从而致使花卉死亡。所以需要设计一款能够按需进行自动浇水的智能系统。
不同的花卉、植物的生长习性也有差异,不同种类花卉、植物的生长对土壤湿度、养料成分的要求也不一样。设计时还需考虑浇水时间,即按合理时间浇水,尽量让水温和土温相差5℃范围内,以防产生发生根系损伤。具体到每日,在春、秋、冬三季,上午10:00和下午16:00以后是浇花的最适宜时间;盛夏由于中午气温高,植物的蒸腾作用较强,浇水时间应该在早晨7:00和下午17:00以后[1]。
本文基于单片机设计的智能浇水系统能够真正实现按需、按时自动浇花,该系统通过土壤湿度传感器检测土壤湿度,如果土壤湿度检测值达不到设定值,通过数据分析与处理后单片机输出控制信号,打开水阀进行浇水,当湿度值达到设定值后停止浇水。本系统既能够避免浪费,节约用水,又能保证花草生长于适宜的环境中,具有很大的实用价值。
2 系统分析
2.1智能浇花控制系统的硬件组成
整个系统的控制中枢由AT89C51单片机及相应的外部电路组成,主要包括AT89C51单片机、土壤湿度传感器、键盘及液晶显示电路、报警电路等。土壤湿度传感器测量出土壤湿度信号后,单片机采集土壤湿度信号进行这些分析与处理信号,然后输出控制信号,控制水阀的开合,从而达到按需按时浇花的目的。
2.2 各单元功能作用介绍
(1)AT89C51单片机
AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的高性能、低电压CMOS 8位微处理器,也称为单片机。该器件利用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,它为很多嵌入式控制系统提供了一种价廉且灵活性高的方案[2]。其外形及引脚排列如图1所示。
AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。单片机中断结构图如图2所示。
(2)土壤湿度传感器
土壤湿度传感器的工作原理为:土壤湿度传感器由声报警电路和湿度检测电路等部分构成。湿度下限预置点为RP1,湿度上限预置点为RP2。当土壤中的湿度处在预置湿度的上限和下限湿度之间时,由于探头 a、h间的 土壤电阻值在规定范围内,c点的电位低于 RPI的滑动端电位,故比较器I输出高电平,red不发光;RP2的滑动端电位低于 c 点电位,则比较器II输出高电平,green也不发 光。若土壤的湿度达到或超过 RP2设定的上限湿度时,ab探头间电阻变小,从而探头分压减小,比较器II的同相输入端电位低于比较器反相端电位,则比较器II翻转输出低电平,green发光 ,同时 SS8550II导通蜂鸣器发声,表示土壤湿度过大。若土壤干燥达到或超过 RP1设定的下限湿度时,a、b探头间电阻增大,从而探头分压增大高于比较器I同相端电压,比较器I输出低电平,red发光 ,同时 SS8550I导通蜂鸣器发声,表示土壤湿度过小。蜂鸣器设计是便于用户设置报警点,当设置完毕可将电键 SP断开 ,由下位机统一报错 [3]。
本设计中选用优质土壤传感器做土壤湿度的检测,表面采用镀镍处理,有加宽的感应面积,能够提高导电性能,避免接触土壤容易生锈的问题,延长使用寿命;此传感器能够宽范围控制土壤的湿度,利用电位器调节控制相应阀值,湿度低于设定值时,DO输出高电平,高于设定值时,DO输出低电平;其比较器选用LM393芯片,工作稳定;其工作电压为3.3V-5V;此传感器设有固定螺栓孔,便于安装。利用电位器调节土壤湿度控制阀值能够自动浇水并控制家庭花盆土壤湿度。
(3)键盘及液晶显示电路
本设计选用1602液晶显示器,它是指显示的内容为16×2,即可以显示两行,每行16个字符液晶模块。开机显示:“welcome to use automatic watering device”,单片机初始化完成后,当无按键选择功能的时候,系统会按默认方式进行工作。其电路图如图3所示,键盘电路如图4所示。
(4)报警系统
因本系统应用环境预设在客厅或阳台,为防止系统突然浇水惊扰主人,在系统中设置了报警电路,先有几次“嘀嘀嘀”的报警声,之后才开始浇水。蜂鸣器发声原理是电流经过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,所以需要一定的电流才能启动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上启动不了蜂鸣器,所以需要添加一个电流放大的电路[4]。该电路包括:一个三极管,蜂鸣器,续流二极管,滤波电容器。程序中改变单片机引脚输出波形的频率,可以调整控制蜂鸣器音调,产生各类不同音色、音调的声音。另外,改变输出电平的高低电平占空比,能够控制蜂鸣器的声音大小。
(5)电控水阀
本设计采用2W二位二通大口径直动式常闭型电磁阀,其电压为DC24V,接口为G1/2,单片机通过电磁继电器控制电磁阀的关闭和开启,此模块采用5V继电器,低电平触发。该模块工作时,单片机IO1输出高电平、IO2输出低电平,经过三极管的电流放大电路驱动电磁继电器,继电器1簧片吸合,继电器2的簧片断开。正脉冲输出低电平,负脉冲端输出高电平,产生负脉冲,电磁阀关闭。继电器1簧片断开,继电器2的簧片吸合。电磁阀驱动电路如图5所示。
3 智能浇花系统软件设计
3.1 智能浇水系统工况分析
本系统选用C语言作为编程语言,系统软件的开发全部采用KeiluVision3进行模块化设计方法。系统通电后,系统液晶显示器会显示“welcome to use automatic watering device”,而后进入初始化界面,如果时钟不正常,可以通过按键值1、2、3、4设定时钟的分、时、日、月。土壤湿度传感器会自动检测土壤湿度,如果检测值低于设定湿度,单片机会启动报警装置,然后自动开启水阀,进行浇水。当湿度值达到设定湿度时,单片机会自动关闭水阀,完成浇水过程。主程序流程图如图6所示。
主程序如下所示[5]:
//LCD显示 welcome to use automatic watering device
write_com(0x80);
print_string("welcome to use");
delay_ms(2000); //当晶振较高时加延时
write_com(0x01);//清屏
write_com(0x80);
print_string("automatic ");
write_com(0xc0);//DDRAM AD set to 00h
print_string("watering device");
delay_ms(3000); //当晶振较高时加延时
write_com(0x01);//清屏
Sbit famen_flag = P2^7; //阀门开关
Sbit spkear = P 3^4 //报警引脚开关
void main( )
{
while(1)
{
if(tshidu_flag ==1) //土壤湿度不够
{
famen_flag =1; //开启水阀
spkear =1; //启动报警
red_led = 0; //红灯亮,需要浇水
delay(1000); //延时跳出再检测
}
else if(tshidu_flag == 0)//土壤湿度足够
{
famen_flag =0; //不开启水阀
spkear =1; //无需启动报警
red_led = 1;//红灯灭,不需要浇水
delay(1000); //延时跳出再检测
}
}
}
3.2 土壤湿度检测
当土壤湿度传感器检测到的湿度足够不需要浇水时,红灯灭,其电路图如图7所示;当土壤湿度传感器检测到的湿度不够时浇水,红灯亮,其电路图如图8所示。
本设计使用的液晶显示器为1602液晶显示器,初始化程序如下所示:
#define ucharunsigned char
#define uint unsignedint
#define DATA_PORT P0
//------------------------------------
// 管脚定义
//------------------------------------
3.4 报警初始化程序
本设计采用的报警器需要实现的效果是嘀0.2秒钟,而后断0.2秒钟,这样循环下去,假如嘀声的频率为1KHz,则报警声时序图如图9所示。因为要产生图9所示报警信号,把产生的信号分成两部分,一部分为1KHZ方波,占用时间为0.2秒;另外一部分为电平,同样是占用0.2秒;所以,我们采用单片机的定时/计数器T0作为定时,可以定时0.2秒;同时,也要用单片机产生1KHZ的方波,对于1KHZ的方波信号周期为1ms,高电平占用0.5ms,低电平占用0.5ms,所以也利用定时器T0来完成0.5ms的定时;最后,可以选定定时/计数器T0的定时时间为0.5ms,而要定时0.2秒则是0.5ms的400倍,也就是说以0.5ms定时400次就可以达到0.2秒的定时时间了[6]。
C语言源程序如下所示:
#include <reg51.h>
unsignedint t02s;
unsigned char t05ms;
bit flag;
void main( )
{
TMOD=0x01;
TH0=(65536-500)/256;
TL0=(65536-500)%256;
TR0=1;
ET0=1;
EA=1;
while(1);
}
void t0(void) interrupt 1 using 0
{
TH0=(65536-500)/256;
TL0=(65536-500)%256;
t02s++;
if(t02s==400)
{
t02s=0;
flag=~flag;
}
if(flag==0)
{
P2_5=~P2_5;
}
}
4 结束语
本文主要从硬件和软件两个方面对智能自动浇水系统进行了详细的介绍,硬件方面主要介绍了AT89C51单片机、土壤湿度传感器以及1602液晶显示器、水阀、键盘和报警电路等,软件方面主要是通过C语言对各个硬件进行编程。该设计以方便养花人的生活为出发点,实现了自动按需按时浇花的功能,实验结果表明,花卉的生长状况与未使用该装置的花卉相对比具有更良好的效果。由于该装置简易、使用方便、功耗低且性能稳定,在家庭、小型办公场所自动为花卉浇水方面,具有广阔的应用前景。
参考文献
[1]章银柯,包志毅.园林苗木容器栽培中的节水灌溉技术研究[J].现代化农业,2004年 (10):26-28.
[2]谢维成,杨加国.单片机原理与应用及C51程序设计(第2版)[M].清华大学出版社,2009.
[3]郁有文,常键.传感器原理及工程应用[M].西安电子科技大学出版社,2008.
[4]杨冶杰,电子元器件选用与检测一本通[M].天津,化学工业出版社,2010.06.
[5]陈火旺,刘春林,谭庆平,赵克佳,刘越. 程序设计语言编译原理(第3版)[M].北京,国防工业出版社,2001,08.
[6]刘纯利,张玉山,左晖,查正伟.单片机火警报警系统设计[J].《安徽技术师范学院学报》2004(8):37-38.
作者简介
李国珊 (1993-) 女 研究生 研究方向:汽车设计与制造
共0条 [查看全部] 网友评论