基于单片机的智能浇灌系统设计.docx
- 文档编号:4734703
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:18
- 大小:1.28MB
基于单片机的智能浇灌系统设计.docx
《基于单片机的智能浇灌系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能浇灌系统设计.docx(18页珍藏版)》请在冰豆网上搜索。
基于单片机的智能浇灌系统设计
第十一届“博创杯”全国大学生嵌入式设计大赛
作品设计报告
室内自动浇花系统
Auto-wateringSysteminourHouse
设
计
报
告
队伍编号:
参赛学校:
西北民族大学
作者:
沙苗宋开强周乾斌
指导教师:
邓克岩贺艳萍
组别:
□硕士组□本科组□高职组
摘要
在这个信息技术高速发展的社会中,智能控制为人们的生产生活带来了诸多便利。
在家庭中,很多花草养殖爱好者由于工作、出差等原因对花草缺少照顾而由于产生许多烦恼。
如何利用智能控制对此产生便利便是我们要加以研究的一个问题。
本系统是基于AT89C51单片机的家庭智能浇花系统,使用YL-69作为土壤湿度传感模块,LCD1602作为显示数据的模块,蜂鸣器作为通知模块,按键是用来设定报警的数值。
通过YL-69湿度传感器进行土壤湿度的采集,单片机AT89C51进行信息处理,输出控制信号,控制信号通过控制继电器控制水泵电源是否通断,从而完成自动浇水,浇水的同时蜂鸣器会发出声音提示。
关键词:
AT89C51、YL-69、LCD1602、水泵
Abstract
Inthesociety,withthedevelopment
Keywords:
AT89C51、YL-69、LCD1602、水泵
第1章绪论
随着人们生活水平的提高,花卉逐渐收到人们的青睐,陶冶情操,净化空气。
利用单片机设计了一款家庭智能浇花器实现自动浇花,节省人力,方便人们出差的时候,不至于影响花卉的生长,如果在家也可以关断浇花器,手动浇花。
浇花器设置为根据土壤湿度浇花。
采用这种方式定量浇花时,数码管显示时间和流水时间。
因为不同的花和植物需要水的不同特点,所以合理地浇水会使植物生长良好,也能达到节约用水的目的,因此,高效的灌溉系统是能够根据人们的意愿进行适量、适时的方向发展。
所以,本设计主要包括两个方面,一是测量,获取土壤水分信息,并根据土壤水分、湿度和植物需水特性的多少来确定浇水的水量。
这将摆脱过去,只有浇水的经验,给植物浇水要在科学基础上的决策。
二是控制,根据对土壤研究及植物需水特性进行合理的浇水决策,即将传统的只是凭经验由人工手控制洒水器的方式,变化为自动进行适量的、适时的、按需的灌溉控制。
系统根据由测量土壤湿度和植物合理的生活环境,通过抽水装置控制给水量的多少,从而使得水资源能够得到高效的使用,同时也节省了人力,达到智能灌溉的目的。
第2章系统方案
2.1方案论证
2.1.1总体方案设计
在国内外都是用自动灌溉装置,其中大部分都是使用虹吸原理进行灌溉的,即是使用渗透的方法灌溉,这种灌溉的方法是连续地、不间断的。
采用这种浇花系统仅仅只能保证花卉不应缺水而干枯死,但是对于植物来讲并不是其生长的良好环境,并且浪费水资源。
本设计提供了一种智能浇灌的系统,这个系统可以在没有人的环境下在对植物进行浇灌,在浇水的过程中,根据植物需要水分的不同,对植物进行浇水控制。
这个系统是根据单片机原理,运用土壤湿度传感器进行数据的收集,然后通过按键调整上下限,在通过单片机对收集数据的分析及处理,进而判断外界土壤湿度值,假如土壤湿度低于设置的下限,单片机控制水泵浇水同时蜂鸣器发出通知,当土壤湿度达到上限就停止浇水,从而达到自动浇花的目的。
本实验重要完成以下的几个功能:
1.用YL-69检测土壤湿度;2.使用LCD1602显示测量的数据3.通过分析植物生存的最佳环境设置浇灌的上下限;4.使用单片机对采集到的数据进行分析和处理,在控制水泵是否需要进行浇灌。
这个系统是由硬件部分及软件部分组成的,硬件划分为单片机主控、显示、土壤湿度的检测、按键输入、水泵浇灌、蜂鸣器发出通知六大模块。
主控模块位AT89C51单片机是负责对数据的分析及处理;YL-69作为湿度检测模块;湿度的上下限是通过按键模块输入;显示模块是显示土壤湿度检测器检测出来的湿度数值及其上限数值;水泵和蜂鸣器是用来执行系统命令的。
软件结构与硬件配置相适应,同样是使用模块化,它主要包含主程序、湿度采集子程序、显示数据子程序、按键输入子程序、执行子程序及系统定时中断服务程序等组成。
这个系统很灵活,有较强的交互性,可以随时设置湿度的上下限;在系统的开发设计中,应当将软件和硬件相互结合起来,并且个个部件都使用模块化的设计思路。
实验检验说明,该系统测量数据误差小、运行稳定,有着很可靠的使用效果,所以可以被广泛的推广使用。
2.1.2芯片的选择
●芯片的选择:
AT89C51是由Atmel生产的低电压、高性能CMOS8位单片机,同时AT89C51有着便宜的价格,而且它和MCS-51系列有这很好的兼容性。
因此在这个系统中采用AT89C51作为控制芯片。
●A/D转换:
ADC0832是具有双通道和8位分辨率的A/D转换芯片。
由于其性价比高、体积较小、兼容性很强的特点,因此深受广企业欢迎及单片机爱好者喜爱,目前的普及率已经很高。
●继电器选择:
设备在设计过程中是需要一个继电器来控制电磁阀的工作。
由于工作电压在只需要5V左右,并且成本相对而言比较低。
所以在这个系统中选择了型号为松乐SRS-05VDC-SL型号的继电器。
其工作电压在5V,其触电容值为3A/250VAC/30VDC,而且在市场上的价格为1.5元左右。
●显示器的选择:
在系统的设计过程需要一个显示土壤湿度值的显示器。
LCD1602是一种专门可以显示英文字母、阿拉伯数字及符号的点阵型液晶,其能够同时显示16*02即32个字符。
市场价格大概为8元左右。
2.1.3系统结构
本系统有电源接口电路、显示电路、土壤检测电路、继电器控制潜水泵电路、蜂鸣器电路、按键设置六大部分组成。
系统原理图如图1所示。
图1系统原理图
2.2系统硬件设置
2.2.1AT89S51主要性能参数
●与MCS—51系列彻底兼容;
●4K字节可重复擦写Flash闪速存储器;
●1000次擦写周期;
●4.0—5.5V的工作电压范围;
●全静态工作模式:
0HZ—24HZ;
●三级程序加密锁;
●32个可以编程的I/O接口;
●低功率空闲和掉电模式;
●有6个中断源;
●内部RAM字节为128*8;
●2个16位定时计数器;
●全双工串行UART通道;
●看门狗(WDT)及双数据指针;
●掉电标识和快速编程特性;
图2AT89C51引脚图
2.2.2时钟电路
在单片机AT89C51里面包括了一个高增益方向的发达器,其中XTAL1和XTAL2引脚为放大器的输入端与输出端,为了构成一个稳定的自激式的振荡电路,需要在XTAL1与XTAL2引脚上接上晶体振荡器或是陶瓷振荡器,该振荡器电路的输出可直接送入内部时序电路。
单片机AT89C51产生时钟的方式有两种,即为内部时钟和外部时钟。
图3单片机AT89C51的时钟电路
1)内部时钟方式:
内部时钟模式即是由单片机里面的高增益方相放大器以及外部跨接的晶体、微调电容结构时钟电路产生的方式,如图3所示为装置的工作原理。
在内部时钟方式里,C1、C2通常使用30pF或40pF;C1、C2能够轻微的调整频率,陶瓷谐振器或者晶振的频率的选择应在1.2MHZ~12MHZ之间。
为了能够保护振荡器的可靠性、稳定性、减少寄生电容产生,在安装的时候应该将电容及振荡器安装在离单片机引脚XTAL1和XTAL2更近的地方。
单片机系统中大多数使用外部电路连接简单的内部时钟方式。
在现实中常常使用FSOC来表示内部时钟方式产生的时钟信号的频率(晶振固有频率)。
如果fsoc为12*106HZ,那么应该选择12MHZ的晶振。
2)外部时钟方式:
外部时钟方式的产生是在发生单片机之外的电路中,其直接连接到单片机的XTAL1引脚端口,不与XTAL2引脚端口相连,电路图如图3所示:
2.2.3AT89C51的复位电路
AT89C51单片机的复位端RST端口,在单片机上有电通过的时候,时钟电路就会进行运作,如果在运作过程中有大于2个周期的高电平存在并通过RST端口,那么单片机将会进行复位操作。
还有一种方式能够使单片机进行复位操作的,那就定时器计数溢出。
复位后的单片机,PC=0000H,CPU从程序存储器的0000H开始取值执行单片机的外部复位电路有上电自动复位和按键手动复位两种。
1)上电复位电路。
如图4所示,这是一个最简单的上电复位电路,其是由电阻和电容串联形成的。
在通电的那一瞬间,由于电容的固有特性使得其两端的电压不能够瞬间发生改变,所以单片机的RST引脚电压端VR的电压为VCC,在电容重点的时候,RST引脚的电压会下降,到图5所示的t1时刻,RST端电压降到3.6V,跟着由时间的增加电容会充完点,RST端口的电压将会接近0V。
如图5所示为RST引脚的电压变化。
要使得单片机进行成功的复位操作,t1的时间不应该小于2和机械周期的时间之和,在单片机中,机器周期是由晶振频率决定的,图4中,电阻R不能够很小,最典型值位8.2kΩ;图4中的C3可以通过电阻R和其频率f算出。
图4RC上电复位电路图5RST引脚电压-时间关系图6组合复位电路
2)上电复位和按键复位组合电路
在图6组合复位电路,电阻R2的数值大多是较小的,仅仅为几十欧姆,在按下复位按钮之后,电容C3快速通过电阻R2进行放电,放电完成后VR=(R1*Vcc)/(R1+R2),由于R2远远小于R1,电压VR与VCC基本相同,使得RST引脚的电压为高电平,将复位键松开后,过程与上电复位相同。
3)实际应用中的复位电路。
实际应用中常采用两种复位电路,即同步复位电路和采用微处理器复位、监控专用集成电路。
4)施密特触发器复位电路。
在单片机的系统中,位了能够使复位键稳定的工作,需要将RC电力连接施密特电路以后,再和单片机复位键相连接,这样是为了能够使系统的干扰性大大提高。
如果在系统中需要多个复位芯片时,而这些复位芯片的要求和单片机的复位系统相同时,可以将芯片的复位端连接到单片机的复位端。
施密特触发器复位电路如图5所示,图774HCl4为施密特反相器。
5)微处理器复位、监控专用集成电路。
为了保证单片机应用系统更可靠地工作,实际应用系统的复位电路也常采用微处理器复位、监控集成电路,如MAX706等。
这种专用集成电路除了提供可靠的、足够宽的高低电平的复位信号外,同时具备电源监控、看门狗定时器功能,有的芯片内部还集成了一定数量的串行EEPROM或RAM,功能强大,接线简单。
在单片机应用系统中经常使用。
单片机复位后,ALE和为输入状态;片内RAM不受复位影响;P0~P3口输出高电平,且这些双向口皆处于输入状态,堆栈指针SP被置成07H,PC被置成0000H,接着,单片机将从程序存储器的0000H开始重新执行程序。
因此,单片机运行出错或进入死循环时,可通过复位使其重新运行。
图774HCl4为施密特反相器
2.2.4YL-69土壤湿度传感器
YL-69是一个简单的土壤湿度传感器,其原理为湿敏电容,当环境的湿度发生改变时,会使得湿敏电容存在的环境中的介质发生改变,导致湿敏电容中的电容数值产生变化,电容的数值正比于湿度值。
由于湿敏电容有这很高的灵敏度、响应速度快、滞后量小的特点,所以湿敏电容很容易小型化和集成化。
在系统中,土壤湿度数据的采集是有YL-69完成的。
其在系统中电路原理图如图8,JP2位YL-69探头。
图8YL-69与AD转化电路
2.2.5ADC0832功能特点及引脚
ADC0832是串行接口8位A/D转换器,它是由一家名为NS(NationalSemiconductor)的公司生产的。
ADC0832与单片机通过三根线连接,其有着性价比高、耗能低的特点,适合使用在小型的智能设备中。
ADC0832是8位分辨率的,所以其分辨率最高级能够达到256级,一般的模拟量都不成问题。
ADC0832的数据校对是通过双数据输出来完成的,这是为了达到减少误差的目的,转换的速度快并且有很强的稳定性。
ADC0832为了减少数据的误差,其校对数据是使用具双数据的,有较快转换速度并且稳定性强。
ADC0832能够独立输入,因此处理器能够更方便的控制多个器件。
使用DI端进行数据输入,可以让通道功能的选择变的简单。
其主要特点如下:
●8位分辨率,基准电压为5V;
●功耗低仅仅为15mW。
●5V的电源供电;
●输入和输出电平与CMOS及TTL兼容;
●输入模拟信号的电压范围在0到5V之间;
●有两种可以供给选择的模拟输入通道;
●在时钟频率为250KHZ时,转换时间是32us;
ADC0832有DIP和SOIC两类,DIP的ADC0832引脚排列如图9所示。
各引脚说明如下:
●CS——片选端,低电平有效。
●CH0,CH1——两路模拟信号的输入端。
●DI——数据信号输入,选择通道控制。
●DO——数据信号输出,转换数据输出。
●CLK——串行时钟输入端。
●Vcc/REF——电源的输入和参考电压输入。
●GND——电源地。
图9ADC0832引脚图
2.2.6ADC0832的控制原理
ADC0832在通常的情况下有4个引脚与单片机相连,这4个引脚分别为CLK、DI、CS、DO。
由于ADC0832的在通信并不是会同时使用DO端口和DI端口,并且DO和DI端口与单片机的接口是双向的,所以在设计电路中可以用一根线将DO端和DI端连接到一起。
在ADC0832没有运行时,它的端口CS为高电平,这个时候芯片将会禁止,DO/DI和CLK可以为任意电平。
如果需要进行A/D转换,那么CS端口必须为低电平并且需要保持到A/D转换完成为止。
在芯片开始工作的时候,处理器将会向ADC0832的时钟输入端CLK提供时钟脉冲,DI端口将会进行数据信号的选择,在第1个时钟脉冲信号来到前,DI端口一定要是高电平,这就表示ADC0832启动。
在第2、3个时钟脉冲到来以前,DI端口应该输入2位数据用于选择通道功能,其功能项如表1所示。
表1ADC0832的配置位
输入形式
配置位
选择通道
CH0
CH1
CHO
CH1
差分输入
0
0
+
-
0
1
-
+
单端输入
1
0
+
1
1
+
如表1所看到的,在配置位CH0与CH1的数字为1、0时,仅仅可以对CH0进行单通道转换。
在配置位CH0与CH1数字为1、1时,仅仅可以对CH1进行单通道转换。
在配置位CH0与CH1数字为0、0时,正输入端IN+为CH0和负输入端IN-为CH1,将其两者进行输入。
在配置位CH0与CH1数字为0、1时,负输入端IN-位CH0,正输入端IN+位CH1,将其两者进行输入。
在第三个脉冲来到以后,DI端口就失去了输入电平的功能,在这以后DI/DO端就会开始通过DO数据输出端进行转换数据的读取。
从第四个时钟脉冲起,转换数据的最高位D7将由DO端口输出。
直到最低位数据从第11个脉冲发出时,这就完成了一个字节数据的输出。
与此同时相反字节数据也将输出,这是从第11个时钟脉冲开始输出的。
从第11个到第19个输出8个时钟脉冲,到19个时钟脉冲输出之后,A/D转换即完成了一次。
在将CS设置为高电平,使得芯片不能够使用,最后对转换的数据进行预订的处理就可以了。
2.2.7继电器
继电器作为一种电控制的器件,是当输入量(激励量)的变化抵达器件规定的要求时,在电气输出的电量里会被控制发生预定阶跃变化的一种电器。
继电器的控制系统(输入回路)与被控制系统(输出回路)之间是相互有着联系的。
继电器常常被应用其控制自动化的电路中,其实际上可以看做是用小电流去控制较大的电流工作的一类“自动开关”。
因此继电器在电路中起着保护电路、自动开关的作用。
继电器种类很多,本系统采用的是电磁继电器,电磁继电器大多数是由线圈、铁芯、衔铁及触点簧片等构成的。
只要有一定的电流在线圈的两端流过,继电器内部就会产生电磁效应产生磁力,在磁力吸引的作用下,衔铁快克服了弹簧拉力的作用,将会吸附在常开触点上,使得电机M开始工作。
在线圈没有通上电的时候,电磁效应也会同时消失,衔铁快会在弹簧拉力的作用下回到其原有的位置即断开触点,通过控制线圈的通电与断电,从而达到衔铁快与两触点之间的选择连接,使得达到电路断开及导通的目的。
图10继电器控制水泵
图10中Q2PNP型三级管的b基级低电位时,三极管导通,继电器控制K1单刀双掷开关向右边偏离,电机M水泵通电,D2的LED灯亮起,水泵开始工作。
2.2.8蜂鸣器及按键
蜂鸣器:
蜂鸣器位本系统中涉及的报警系统部分,其电路图结构如图11所示。
当PNP三极管导通时,蜂鸣器响起。
图11蜂鸣器报警
按键:
按键设计如图12所示。
S1位复位键、S2位设置湿度值的按键、S3湿度值调整加键、S4湿度值调整减键。
图12按键电路
2.3系统软件设计
2.3.1系统流程图
系统软件设计包括对土壤湿度检测程序、对采集到的数据进行处理的程序、设置湿度上下限的程序、显示程序、蜂鸣器程序等。
主程序流程如图3所示。
图13程序流程图
2.3.2LCD1602显示程序
液晶显示器LCD1602的显示是通过液晶的物理特性原理来实现的,使用电压能够控制显示区域,当有电的时候,液晶就能够显示图像。
液晶显示器很薄,能够在大规模电路下直接被驱动运行,很容易实现彩色显示,当前已经被广泛使用在平板电脑、智能相机、移动通信工具等方面,LCD1602液晶显示器的写指令以及写数据程序如下所示:
voidwrite_com(ucharcom)/写指令
{
rs=0;
rd=0;
lcden=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
voidwrite_date(uchardate)/写数据
{
rs=1;
rd=0;
lcden=0;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
2.3.3按键程序
按键是有机械特性。
但按键闭合式,并不能马上保存良好的接触,二十来回弹跳。
这个时间很短,我们的手根部感觉不出来。
但是对于每秒能够执行上百万次指令的单片机来说,这个时间相对来说还是很长的。
在这段上下抖动的时间里,单片机会读到很多次的高低电平。
如果不对其进行适当的处理,那么系统会认为按键被按了多次。
而事实上,我们是手一直按这并么有重复多次。
若是要想正确的判断按键是否按下,系统就需要避开这段时间。
根据一般按键的机械特征,这段时间一般在10ms~30ms之间。
按键流程图如图14所示。
图14按键流程图
unsignedcharv_readkey_f(void);/////延时程序
{
unsignedcharkey;
if(P17=0)
{
delay(30);/延时30ms
if(P17=0)
{
key=1;
while(!
P17)/等待释放
}
else
key=0
}
}
2.3.4ADC0832芯片接口程序
为了能够让信息的流通变得快速有效,系统需要使用C语言进行接口程序的编写。
模数转换装置ADC0832的转换时间只有32us,因此A/D转换的频率会非常快,这也保证了A/D转换数据在一些特定场合的要求。
数据在程序中是以子程序的方式形成的,这样可以方便程序的移植。
ADC0832读取数据流程图如图15所示。
图15ADC0832读取数据流程图
第3章仿真设计与硬件调试
3.1仿真设计
本次仿真实现了通过对右边可变电阻模拟湿度传感器,使得LCD显示相应的数值。
再通过对中间按键模块输入相应的温湿度上下限,当湿度低于一定数值时,单片机控制蜂鸣器进行通知处理。
提示湿度已经低于一定数值,需要进行浇水,单片机控制电磁阀进行浇水。
当湿度达到一定值时,单片机控制电磁阀关闭浇水。
仿真如图14所示。
图14仿真图
3.2硬件调试
根据电路原理图,焊接出实物,在将程序烧录到AT89C51单片机中。
接通电源,改变土壤湿度值,观察实物是否正常运行。
若正常运行则不需要进行硬件的调试工作,反之需要进行硬件的调试。
调试步骤如下:
1、检查电路板电路焊接是否正确及各部件是否松动和安装正确;
2、用万用表检查是否有虚焊、引脚短路现象;
3、测试元件是否毁坏;
4、联机仿真调试;
测试结果及结论
1、本系统经过一段时间的运行检测,工作正常,说明本系统稳定性良好;
2、系统可以在不同的土壤湿度条件下进行正常的工作,与理论相符,说明程序正确;
3、系统可以快速准确的测量出土壤的湿度,因此认为系统在响应时间上能满足要求。
第4章结论
这次植物自动浇灌系统,这系统是根据电子类自动浇水装置工作原理为基准,采用现代传感技术采集土壤水数据进行采集,再通过单片机控制系统对各个部分进行控制,使其浇灌模块是否进行运作。
这个植物自动浇灌系统分为两个部分,一个是通过检测土壤数据并在LCD1602上进行显示,二是通过系统分析对浇灌系统进行控制。
YL-69作为土壤湿度检测的传感器模块,在把土壤检测到的数据传输到单片机系统中,并通过单片机是I/O输出到LCD上进行显示。
在LCD上显示的数值即是土壤湿度值,这也是判断是否进行浇灌的数值。
自动浇花部分和检测到土壤湿度并显示部分构成了系统的控制部分和数据检测部分。
它设计为智能性,自动浇花部分是通过单片机分析有YL-69土壤湿度检测装置检测到的土壤数据,当系统检测到土壤湿度值低于设定的下限值时,那么系统通过控制继电器控制浇灌装置进行浇灌,当开始浇水一段时间后,系统通过土壤湿度检测装置检测都土壤湿度数值高于设定的上限值时,系统再次控制继电器控制浇灌系统停止浇水。
参考文献
[1]张兆明.基于AT89C52的家庭智能浇花器的设计[J].电子设计工程,2011.03
[2]程捷、何晨.基于单片机的温湿度检查系统设计与实现[J].仪表技术,2011.06
[3]赵丽、张春林.基于单片机的智能浇花系统设计与实现[J].长春大学学报,2012.09
[4]袁腾、王帅、梅明、姜天华.基于单片机原里的可定时自动浇花器[J].高科技产品研发,2012.07
[5]刘明真、陈鸿.基于单片机智能节水灌溉系统的设计[J].学术问题研究,2011.01
[6]甘龙辉.基于单片机自动灌溉系统的设计[J]
[7]郭天祥.51单片机C语言教程[M]
[8]AT89S51单片机的硬件结构5da7148.html2012.11.24
[9]NileshR.PatelRahulB.LanjewarMicrocontrollerBasedDripIrrigationSystemUsing
SmartSensor[J],2013.8.13
致谢
在我学年论文即将完成之际,标志我的大学生活还有半年就将结束。
回想起这三年半的大学生涯,我的心情久久不能平静,我的求学生涯在家人、师长、同学朋友的大力支持和帮助下,走的艰辛却也收获丰盛。
尽管我崇尚伟人、名人,可是今天的我需要将我的敬意和赞美献给一位平凡的人,我的导师XXX副教授。
您治学严谨,学识渊博,思想深邃,视野雄阔,为我营造了一种良好的精神氛围。
授人以鱼不如授人以渔,置身其间,耳濡目染,潜移默化,使我不仅接受了全新的思想观念,树立了宏伟的学术目标,领会了基本的思考方式。
从论文的选题至论文的写作到最后的修改,您都给予我中肯的建议和悉心的指导。
感谢我的爸爸妈妈,焉得谖草,言树之背,养育之恩,无以回
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 智能 浇灌 系统 设计