基于单片机的自动节水灌溉系统.docx
《基于单片机的自动节水灌溉系统.docx》由会员分享,可在线阅读,更多相关《基于单片机的自动节水灌溉系统.docx(21页珍藏版)》请在冰豆网上搜索。
![基于单片机的自动节水灌溉系统.docx](https://file1.bdocx.com/fileroot1/2022-10/9/94bb7a43-736f-446e-a506-2210730b6751/94bb7a43-736f-446e-a506-2210730b67511.gif)
基于单片机的自动节水灌溉系统
基于单片机控制的节水灌溉系统
题目:
基于单片机的节水灌溉系统
班级:
13级34班
姓名:
程雪园
学号:
B13043428
指导老师:
第1节引言…………………………………………………………………………3
1.1节水灌溉系统概述……………………………………………………………3
1.2本设计任务和主要内容………………………………………………………4
第2节系统主要硬件电路设计………………………………………………………5
2.1单片机控制系统原理…………………………………………………………5
2.2单片机主机系统电路…………………………………………………………5
2.2.1时钟电路………………………………………………………………6
2.2.2复位电路………………………………………………………………6
2.2.3数据存储器的扩展电路………………………………………………6
2.3数据采集处理电路……………………………………………………………7
2.4LED显示系统电路……………………………………………………………8
2.5超限报警电路…………………………………………………………………10
第3节系统软件设计…………………………………………………………………11
3.1系统主程序设计………………………………………………………………11
3.2采样子程序设计………………………………………………………………12
3.3数据处理…………………………………………………………………………13
3.3.1数字滤波技术……………………………………………………………13
3.3.2标度变换…………………………………………………………………15
3.3.3BCD转换………………………………………………………………18
3.4LED动态显示程序…………………………………………………………18
第4节结束语…………………………………………………………………………21
参考文献…………………………………………………………………………22
基于单片机的自动节水灌溉系统
第1节引言
自动控制节水灌溉技术的高低代表着农业现代化的发展状况,灌溉系统自动化水平较低是制约我国高效农业发展的主要原因。
单片机控制的滴灌节水灌溉系统,该系统可对不同土壤的湿度进行监控,并按照作物对土壤湿度的要求进行适时、适量灌水,其核心是单片机和PC机构成的控制部分,主要对土壤湿度与灌水量之间的关系、灌溉控制技术及设备系统的硬件、软件编程各个部分进行实现。
单片机控制部分采用AT89C51单片机为核心,主要由土壤湿度传感器,信号处理电路,显示电路,输出控制电路,故障报警电路等组成,软件选用汇编语言编程。
单片机可将土壤湿度传感器检测到的土壤湿度模拟量转换成数字量,显示于LED显示器上。
该系统灵活性强,易于操作,可靠性高,将会有更广阔的开发前景。
1.1节水灌溉系统概述
生命之起源,水为必要条件,没有了水,地球上的生命将会枯竭。
随着21世纪的到来,能源危机将接踵而至。
比能源危机更可怕的是,作为
人类生命之源的水的短缺到了前所未有的程度,这一状况还将随着时间的推移和
社会的发展继续恶化。
水资源危机已成为全球性的突出问题,利用科技手段缓解这一危机,将是人类主要的出路。
农业是人类社会最古老的行业,是各行各业的基础,也是人类顿以生存的最
重要的行业。
农业的发展从长远来看很重要,一是水的问题,二是科技的问题。
农业的根本出路在科技,在教育。
由传统农业向现代化农业转变,由粗放经营向
集约经营转变,必须要求农业科技有一个大的发展,进行一次新的农业技术革命。
农业与工业、交通等行业相比仍然比较落后,农业灌溉技术尤其落后。
灌溉系统
自动化水平较低是制约我国高效农业发展的主要原因。
传统的灌溉模式自动化程
度极低,基本上属粗放的人工操作,即便对于给定的量,在操作中也无法进行有
效的控制,为了提高灌溉效率,缩短劳动时间和节约水资源,必须发展节水灌溉
控制技术。
现代智能型控制器是进行灌溉系统田间管理的有效手段和工具,它可提高操
作准确性,有利于灌溉过程的科学管理,降低对操作者本身素质的要求。
除了能
大大减少劳动量,更重要的是它能准确、定时、定量、高效地给作物自动补充水
分,以提高产量、质量,节水、节能。
现代灌溉控制器的研究使用在我国农、林、及园艺为数不多,与发达国家相
比,有较大的差距,还基本停留在人工操作上,即使有些地方搞了一些灌溉工程
的自动化控制系统,也是根据经验法来确定每天灌溉次数和每次灌溉量,如果灌
溉量与作物实际需水量相比太少,便不能有效的促进作物健康成长;而灌溉量太
多,肥水流失,又会造成资源浪费,同时传统的灌溉法还需要相关专家的实时观
察并经验指导生产,劳动生产率低,这也不能与现代化农业向优化、高效化方向
发展要求同步。
随着计算机技术和传感器技术的迅猛发展,计算机和传感器的价格日益降
低,可靠性日益提高,用信息技术改造农业不仅是可能的而且是必要的。
用高新
技术改造农业产业,实施节水灌溉已成为我国农业乃至国民经济持续发展带战略
性的根本大事。
本文旨在设计一套能对作物生长的土壤湿度进行自动监控的系
统,它能对作物进行适时、适量的灌水,起到高效灌溉,节水、节能的作用。
第2节系统主要硬件电路设计
2.1单片机控制系统原理
图2单片机控制系统原理框图
2.2单片机主机系统电路
AT89C51单片机是51系列单片机的一个成员,是8051单片机的简化版。
内部自带2K字节可编程FLASH存储器的低电压、高性能COMS八位微处理器,与IntelMCS-51系列单片机的指令和输出管脚相兼容。
由于将多功能八位CPU和闪速存储器结合在单个芯片中,因此,AT89C2051构成的单片机系统是具有结构最简单、造价最低廉、效率最高的微控制系统,省去了外部的RAM、ROM和接口器件,减少了硬件开销,节省了成本,提高了系统的性价比。
2.2.2单片机的最小系统
单片机的最小系统应包括振荡电路和复位电路等[8]。
振荡电路(时钟电路)的主要任务是为AT89S52单片机正常工作需要的时钟电路提供一个稳定的工作频率。
根据AT89S52单片机时钟周期的要求,回路需要选用频率为12MHz的晶振。
晶振回路由电容和陶瓷谐振器并联组成,作为单片机的时钟源。
AT89S52内部有一个用于构成振荡器的高增益反相放大器,此放大器的输入和输出端分别是引脚XTAL1和XTAL2,在XTAL1和XTAL2端口接上时钟电源即可构成时钟电路。
本设计中采用内部时钟产生方式,如图2.2所示。
在XTAL1和XTAL2两端跨接晶振,与内部的反相器构成稳定的自激振荡器。
其发出的时钟脉冲直接送入单片机内定时控制部件。
电容C8和C9对频率有微调作用。
电容C1和C3,应尽可能的安装在单片机芯片附近,以减少寄生电容,保证振荡器稳定可靠的工作。
复位电路的功能就是对CPU进行实时监测,当CPU落入死循环之后,能及时发现并使整个系统复位。
为确保微机系统中电路稳未定可靠工作,复位可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。
一般微机电路正常工作需要供电电源为4.75〜5.25V。
由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC上电时,只有当VCC超过4.75V,低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。
单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。
89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。
当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位
。
图3单片机主机系统图
2.3数据采集处理电路
ADC0809是一种8位逐次逼近式A/D转换器,内部具有锁存控制的8路模
拟开关,外接8路模拟输入端,可同时对8路0-5V的输入模拟电压信号分时进
行采集转换,本系统只用到INO和INl两路输入通道。
ADC0809转换器的分辨
率为8位,最大不可调误差小于士1LSB,采用单一+5V供电,功耗为15mW,
不必进行零点和满度调整。
由于ADC0809转换器的输出数据寄存器具有可控的
三态输出功能,输出具有TTL三态锁存缓冲器,故其8位数据输出引脚可直接
与数据总线相连。
A/D转换器需外部控制启动转换信号方能进行转换,这一启动
转换信号可由CPU提供,不同型号的A/D转换器,对启动转换信号的要求也不
同,分脉冲启动和电平启动两种,ADC0809采用脉冲启动转换,只需给A/D转
换器的启动控制转换的输入引脚((START)上,加入正脉冲信号,即启动A/D
转换器进行转换,转换开始后,转换结束信号输出端(EOC)信号变低,转换结
束时,EOC返回高电平,以通知主机读取转换结果的数字量,这个信号可以作
为A/D转换器的状态信号供查询,也可以用作中断请求信号。
本系统中ADC0809与AT89C51单片机的接口如图5所示,采用等待延时方式。
ADC0809的时钟频率范围要求在10-1280kHz,AT89C51单片机的ALE脚的频率是单片机时钟频率的1/6,因此当单片机的时钟频率采用6MHz,ADC0809输入时钟频率即为CLK=1MHz,发生启动脉冲后需延时
100Us才可读取A/D转换数据。
2.4LCD显示系统电路
2.5报警电路
为了在某些紧急状态或反常状态下,能使操作人员不致忽视,以便及时处理,往往需要有某种更能引起人们注意提起警觉的报警信号产生,这种报警信号通常有三种类型:
闪光报警、鸣音报警、语音报警,本系统采用简单易行的鸣音报警电路。
如图8所示报警电路,报警设备选用压电式蜂鸣器,它约需要10mA的驱动电流,只需在其两条引线上加3一15V的直流电压,即可产生3KHz左右的蜂鸣声音,图中蜂鸣器的一端接在高电平+SV,另一端接Pl.0,在初态Pl.0始终输出高电平1,当需要报警时,程序对其端口清零即可,声音的长短可用延时程序控制实现。
第3节系统的软件设计
系统软件程序设计主要包括:
主程序设计,采样子程序设计,数据处理程序,显示子程序,串口通信程序等。
3.1软件设计的整体思想
对于系统而言,要完成各项功能,首先必须要有较完善的硬件作保证。
同时还必须得到相应设计合理的软件的支持,尤其是单片机应用高速发展的今天。
许多由硬件完成的工作,都可通过软件编程来代替,甚至有些用很复杂的硬件电路才能完成的工作,用软件编程的时候,往往会变得很简单,如数字滤波,信号处理等等。
系统进行软件设计时,先要对本设计硬件有一个熟练的掌握,知道系统的组成,数据的传输,信号是如何被控制的,以及信号的显示。
然后进行软件设计时,先搞清楚各个部分的子程序及他们的流程图,然后进行C语言编程,最后将它们系统的编程[11]。
本设计是以AT89C51单片机为核心,采用C语言编程。
它采用模块化设计,由主程序、读出湿度子程序、LCD1602显示子程序、以及有关ADC0809的程序等模块组成。
本系统设计的工作流程是,开始并初始化后,传感器读取湿度值,读取成功后,线性拟合数据,然后LCD显示数据,如果湿度过限,则报警并且启动控制设备;如果数据在湿度上下限范围内,则显示湿度值。
3.2程序流程图设计
整个系统的软件设计采用模块化编程,主要的功能子程序有:
系统初始化,ADC0809的初始化,LCD-1602的初始化。
主程序流程图如图3-1所示。
图3-1主程序流程图
3