单片机控制的节水灌溉系统【字数:6414】
第一章绪论
1.1研究的目的和意义
水是生命之源,地球上的生命都起源于水。在能源危机问题将越来越突出的今天,水资源的短缺的问题更加不容忽视,其短缺程度已达到了前所未有的状况,且这一状况有愈演愈烈的态势,不禁让人担忧。目前世界各国都高度重视水资源短缺问题,并通过科技的手段来缓解目前的水资源危及。
我国的水资源危及也越来越突出,面临着两方面的矛盾,突出表现在农业用水方面,农业用水面临着水资源短缺,然而农业用水采用的漫灌、畦灌等灌溉方式导致水资源的严重浪费。这样的灌溉方式使得水的利用率比较低,农业用水浪费严重。同时我国的旱地面积大,约占耕地面积的百分之六十左右,但是降水的生产率却只有0.3kg/m3~0.4kg/时`132。农业水生产率低也制约着我国农业的进一步发展。
面对我国水资源短缺的现状,国家和地方政府把节水灌溉作为一项基础性工作来抓,并加大了在此项工作中的投入。此外,还鼓励、倡导学者和科研人员从事节水灌溉新理论和新技术的研究,并为他们创造良好的科研环境。与此同时,我国还积极引进国外先进的节水灌溉技术和相应的设备,并将其应用到农业生产实际中来,取得了一定的效果。然而,由于我国在这方面的研究起步较晚,大多数只是起到示范性应用的作用,并没有得到大面积的推广和使用。与节水技术相对发达的国家和地区相比,我国的灌溉管理技术水平比较低、方法也比较落后,这直接导致了产品在技术层面上存在不足,系统功能方面的设计也存在缺陷,制造相对粗糙,亟需进一步的完善。这其中最大的制约因素是缺乏适应性强的硬件设施和合理的灌溉控制技术,特别是测控系统的自动化程度水平不高。因此,我国在节水灌溉工作中的出路是研究出高效的节水灌溉设施,努力提高农业灌溉的水利用效率。
本文结合以往对自动灌溉的研究,设计出一套基于单片机控制的灌溉控制器。在完成对灌溉控制器的整体设计之后,分别进行了软硬件的设计。以土壤含水量作为灌溉指标,并对土壤水分快速测量的方法进行探究,分析各种测量方法的优缺点,选择出适合本研究的测量方法。通过比较,最终采用介电法中基于频域反射原理的土壤水分传感器准确采集土壤水分信息,为了确保测量的准确性要进行土壤水分传感器的标定和测量准确性的实验。根据以单片机为核心构建的控制单元模块内置的控制规则,结合模糊控制理论,指导灌溉,执行机构由继电器控制电磁阀来动作。为了更好的配合灌溉控制器的工作,尽可能的对灌水量进行定量控制,达到节水灌溉的目的,保证水分的充分利用,选用滴灌的饶灌方式。为了更好的监测整个灌溉过程,设计了监测界面,能够实时完成对所接收数据的显示、存储、查询等功能。在实验室完成灌溉控制器的总装后,通过一定的栽培试验来验证灌溉控制器的性能。
1.2国内外研究的现状
灌溉自动化技术的研究和应用始于二次世界大战前夕。大约在20世纪30年代,法国通过运行水利自动闸门,实现了自动化渠系灌溉,率先提出了一套相对完整的自动化灌溉农作物的控制方法,开辟了自动控制灌溉作物的先河,大大减少了人力的参与。到了20世纪50年代,电子学和计算机技术得到了快速发展,同步得到长足发展的还有利用电子设备、计算机设备和程序控制的灌溉技术,并在法国、加拿大、美国等发达国家得到了广泛的应用,在一些发展中国家的应用也相当广泛,控制模式也更加先进科学,现在可以实现遥测、遥控的集中控制的模式。
1.2.1土壤水分快速测量技术的国内外研究现状
外国学者在土壤水分快速测量技术方面,起步较早,做了大量的研究工作,取得了丰硕的研究成果。早些年,分别利用中子衰减法进行了快速测量土壤含水量的研究中子法提出后,相关学者们对其产生了浓厚的兴趣,纷纷加入到其中的研究中来。1976年,人们最早将基于介电特性的时域反射法运用到土壤水分快速测量的研究中来,它克服了中子法的许多缺点,具有较高的测量精度,适合长期定点观测,经过不断的深入研究,已渐渐成为一种较为成熟的测量方法,应用范围比较广泛。1983年,有学者开始利用—射线来进行快速测量土壤湿度可行性的研究。同年,考虑到单点布设一射线测定的结果受容重的影响较大,通过使用在两点布设一射线的形式来监测灌溉数小时内水分在土壤中运动的状况,采用双点能够同时探测容重和土壤含水量,以消除土壤容重变化造成的影响。1991年,在实验室内利用近红外的方法测量土壤含水量,经过试验得出此种方法具有较好的使用效果。
我国在土壤含水量的测量方面,经过不断地研究,已由射线法、介电特性法以及遥感光谱法等新方法逐步取代一开始的传统烘干方法。为了寻找一种适合我国国情的土壤水分快速测量技术,除了在价格上具有优势之外,还要使用方便和利于推广。为此,国家加大了在此方面人力和物力的投入。早在上世纪七十年代末,国内的一些大学就对土壤湿度快速测量技术进行了相关的研究,开发出了一些水分测定仪的样机。我国科研人员从很早就开始从事利用阻抗方法测量土壤含水量方面的研究,并取得了一定的研究成果。直到二十世纪末,我国在土壤湿度快速测量技术方面取得了重大突破,利用驻波电压的方法,成功研制出了基于驻波率原理的快速土壤湿度测量仪。通过与和两种测量方法进行性能对比试验,验证了此法的可靠性和可行性,并且性能优良,在一定程度上缩短了我国在土壤湿度快速测量技术方面与世界先进水平的差距。
1.2.2灌概自动化技术的国内外研究现状
40多年前,灌溉工作几乎全部靠人力完成,费时且费力,而且自动化控制技术也未应用到灌溉工程这个领域中。以色列是最早面临着水资源严重匮乏问题的国家,使得他们不得不大力发展节水灌溉农业,经过几十年的发展,以色列在自动控制灌溉方面取得了重大突破,走在了世界的前列。简单的定时器构成了早期的灌溉控制器。由于电子科学技术的不断发展,以检测土壤中水分的信息来决定灌溉的控制器应时而生。像以色列美国等国家,在节水灌溉控制系统的开发上起步较早,并由最初的水力、机械控制的灌溉系统,发展到由机械电子混合控制,再到与电子科学技术相结合的计算机控制、模糊控制等。在温室等设施内,使用较为普遍的是小型灌溉控制器,通过内置的灌溉管理程序,进行灌溉条件的设定,操作方便,自动化程度高。不仅节省了人力,还能够对灌溉过程的控制达到一定的控制精度。在不断的更新发展中,系统在控制精度和智能化程度、稳定性、可靠性上都具备了较高水平,操作也非常简便。美国在早些年开发出了一套灌溉控制器,它能够通过检测土壤中含有水分的多少来确定是否打开灌溉控制器阀门的动作。后来的学者在他们的研究中,都是把土壤湿度选为控制对象,是否灌溉是通过比较采集到的土壤湿度与设定值之间的关系来决定的。整个系统构成一个闭环控制系统,从而保证土壤中的水分保持在一定量,以满足作物对水分的需求量。系统经过运行后发现,如果节水灌溉系统想要运行的更好,就必须在传感器的可靠性、系统的硬件设计、系统所采用的控制算法、电磁阀和压力调节装置以及灌溉装置等设备的性能方面进行改进和提高。1990年,采用红外线热电偶来测量土壤温度,将空气湿度、土壤湿度等参数信息考虑到其中,研制出了一套多参数融合的综合决策灌溉控制器。1992年,设计了一种以计算作物蒸腾量为研究对象,对作物的需水量进行控制的滴灌控制系统。1997年,在计算作物蒸腾量时通过使用模糊控制逻辑,构建了一个以太阳福射和空气相对湿度为指标来估算作物蒸腾量的数学模型,并将估算出的作物蒸腾量与已有方法的计算结果进行比较,比较结果显示此估算模型相关性良好。在后来的研究中把输入数据选为土壤湿度和作物蒸腾量,研制出了一套基于模糊控制的实时灌溉系统。
1.3主要研究内容及技术路线
1.3.1主要研究内容
为了给小型区域自动绕灌提供一种便携、快速、准确的灌溉控制器设备,本文主要做了以下研究工作:
(1)设计了基于STC89C52单片机的灌溉控制器硬件部分。主控制器单元采用STC89C52单片机,以此为核心构建A/D转换电路、LC1D显示电路、土壤湿度测量电路和电磁阀控制电路。在硬件部分中,还包括程序下载电路、单片机与机的串口通信电路和电源电路。
(2)设计完成了基于单片机的灌溉控制系统的模糊控制,输入量为所测土壤湿度与植物土壤含水定额的偏差和偏差的变化率,输出量为灌溉时间,依次为规则建立起模糊控制,求出模糊控制表,用查表法来实现模糊控制算法。
(3)设计基于STC89C52单片机的灌溉控制系统中控制器的软件程序。软件程序设计采用的是C语言,并选择keil uVision 4编程软件来编写系统的总体程序,程序中包括主程序、LCD显示子程序、模数转换子程序、电磁阀控制子程序等程序的编写。使用C#完成监测界面的设计。
(4)设计基于STC89C52单片机的灌溉控制器的控制单元硬件原理图,并焊接相应元器件,制作控制单元电路板,并完成整个灌溉控制器的装配,之后进行软硬件的联合调试,以达到预期控制效果,并加以试验进行验证。试验结果表明,基于单片机控制的灌水系统的运行状况良好,工作相对稳定,控制比较准确,反应灵敏度较强,完全可以满足节水自动灌溉的要求。
第二章灌溉控制器硬件的设计与实现
本文针对以基于介电法测量土壤含水量的土壤水分传感器进行灌溉控制器的研究和设计,通过土壤湿度传感器测得土壤的湿度值,与之前设定的适合植物生长的土壤湿度值作比较,通过单片机内置的控制规则,控制水的灌溉量,以满足植物正常生长所需要的水分。为了达到这个目的,需要设计整个灌溉控制器,选型硬件部分和设计电路,最终完成灌溉控制器硬件部分的设计与制作。
2.1灌溉控制器总体设计
灌溉控制器的控制核心选取的是STC89C52单片机,由土壤湿度釆集和处理模块、LCD显示模块、控制单元模块、灌溉执行模块和电源模块等组成。使用开关电源作为电源模块。选用开关电源是因为整个系统中的多个电子元器件需要供电,且供电电压不完全相同,为了确保整个系统的正常工作,依据此设计的灌溉控制器,开关电源应具备5V、12V、24V三种电压。灌溉控制器的整体结构框图如图3-1所示
图3-1
2.2灌溉系统控制器设计
本章节重点是对单片机模块、数据采集模块、转换模块、显示模块、控制单元程序下载模块、单片机与机的串口通讯、执行机构,喷灌装置等部分进行硬件的设计与制作。
2.2.1 STC89C52单片机简介
STC89C52是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。这种存储器可擦除只读存,并且支持反复100次的擦除。该器件的制造技术采用的是ATMEL高密度非易失存储器制造技术,兼容工业标准MCS-51指令集合输出管脚,使用STC89C5252单片机是因为它性能灵活且价格相对便宜,并且在单个芯片中具有多功能8位CUP和闪烁存储器的组合,ALMEL的STC89C52也是一种高效微控制器。其基本组成框图如图3-2-1所示。
图3-2-1
2.2.2 STC89C52主要特性:
(1)与MCS-51兼容
(2)4K字节可编程闪烁存储器
(3)寿命:1000写、擦循环
(4)数据保留时间:10年
(5)全静态工作:0Hz-24Hz
(6)三级程序存储器锁定
(7)128*8位内部RAM
(8)32可编程I/O线
(9)16位计数器、定时器各两个
(10)5个中断源
(11)可编程串行通道
(12)低功耗的闲置和掉电模式
(13)片内时钟电路和振荡器
2.2.4 STC89C52的管脚说明STC89C52的引脚图如图3-2-4所示。
图3-2-4
2.2.5 STC89C52单片机的存储器
在单片机中存储器有ROM和RAM之分,ROM为程序存储器,RAM为数据存储器,ROM和RAM独立编址。STC89C52单片机芯片内配置的Flash程序存储器为8KB(0000H-1FFFH),数据存储器RAM为256字(00H-FFH),同时支持最大64KB的ROM和64KB的RAM扩展。STC89C52单片机有4部分的存储器结构,分别为片内和片外程序存储器、片内数据存储器和片外程序存储器。
STC89C52单片机的存储器分布空间如图3-2-5所示。左侧框中为单片机自身提供的256字节数据存储器RAM和8KBFlash程序存储器。右侧框中即为可扩展的64KB的ROM和RAM。
图3-2-5
2.2.6程序存储器
8KB的Flash程序存储器是STC89C52单片机出厂时片内就带有的,使用得时候,引脚/EA要按的是高电平(5V),因为这样复位后CPU从片内ROM区读取指令代码是从0000H单元开始一直运行到1FFFH单元结束,若外部扩展有ROM,则CPU读取指令代码时会自动转移到片外程序存储器ROM空间2000H-FFFH。
2.2.7数据存储器
256字节的数据存储器RAM是STC89C52单片机出厂时片内就带有的,同样支持片外扩展,最大可支持扩展64KB RAM.
片内ROM的00H-7FH单元可划分成3个部分:工作寄存器所用的是00H-1FH块;位寻址功能的单元区所用的是20-2FH块;普通RAM区所用的是30H-3FH。工作寄存器也由4组组成,在行程序中是否被激活由程序状态寄存器PEW的RS1,RS0两位决定。
2.3土壤湿度传感器的选用
土壤湿度传感器是用来检测土壤湿度,即土壤容积含水量,其用途相当广泛,如可以用来监测土壤墒情、用于农业灌溉以及林业防护等等。在现实生活中常用到的土壤湿度传感器有两种型号,分别是FDR型和TDR型。目前比较流行的是FDR型。本系统选用土壤水分传感器,是由中国农业大学电子电力工程学院研制的一款国产高性价比的传感器,型号为SWR一2型,其外形如图2.3所示。
图2.3
2.4振荡电路和时钟
STC89C52单片机芯片中有一个时钟发生器和振荡电路,内部时钟的构成是在引脚XTAL1和XTAL2之间接入晶体振荡器和电容。使用外部振荡器同样也是可以的,外部时钟是由外部振荡器产生的信号直接加载到振荡器的输入端,作为CPU的时钟源的方式。采用这种时钟方式时,外部振荡器的输出信号接至XTAL1,XTAL2悬空。本次设计使用的是内部时钟方式。内外部时钟这两种方式的电路连接图如图3-4所示。
图3-4
时钟发生器在芯片内部,是一个二分频触发器,其输入是振荡器输出的fosc,两相状态时钟信号为其输出,频率为振荡器输出信号频率fosc的一半。低字节地址锁存信号ALE是状态时钟经三分频后的信号,振荡器输出信号频率fosc的六分之一为其频率,经六分频后为机器周期信号,频率为fosc/12。C1,C2一般取20-30pF的陶瓷电容器。
2.5 STC89C52的中断系统
小型键盘和LCD显示屏结合在一起,是控制软件的一个重要组成部分,同时也是人机交换的一个桥梁。工作人员操作小键盘是可以料及系统的工作状态,通过键盘和显示,根据实际生产的需要设置和修改参数。在STC89C52单片机设置中断系统,其的目是为了提高系统的工作效率,同时也节省CUP的工作时间,因此采用中断方式响应按键要求。
2.5.1中断控制
中断的定义指的是单片机由于某种特殊原因,在执行某一段程序的过程中暂时中止当前程序,相应的去执行处理程序,待相应的处理程序处理结束后,再次返回到之前被打断的程序处,继续执行原程序的过程。本次设计中采用的是定时器/计数器0中断,它的中断控制寄存器包括中断允许控制寄存器IE和定时器/计数器0、1控制寄存器TCON。
定时器控制寄存器TCON
TCON是一个可寻址的具有特殊功能的寄存器,定时器/计数器和外部中断两者合用TCON,格式如下表格所示:
D7 D6 D5 D4 D3 D2 D1 D0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
中断允许控制寄存器IE的格式如下表格所示:
D7 D6 D5 D4 D3 D2 D1 D0
EA ET2 ES ET1 EX1 ET0 EX0
各控制定义如下:
EA:中断总控制位,EA=1。,CPU能否响应中断的前提是CPU要开中断,只有在CPU开中断的前提下,若某中断源的中断允许置位1,应该中断源的中断请求方能响应。当EA=0时,在中断源中无论哪个有请求,CPU都不回应中断请求。
ET2:定时器/计数器T2中断控制位,ET2=1,允许T2计数溢出中断;ET=2,禁止T2中断。
ES:串行口中断控制位,ES=1,允许串行口发送/接受中断;ES=0禁止串行口中断。
ET1:定时器/计数器T1中断控制位,ET1=1,允许T1计数溢出中断;ET1=0,禁止T1中断。
EX1:外部中断1控制位,EX1=1,允许中断;EX=0,禁止外部中断1中断。
ET0:定时器/计数器T0中断控制位,ET0=1,允许T0计数溢出中断;ET0=0,禁止T0中断。
EX0:外部中断0控制位,EX0=1,允许中断;EX0=0,禁止外部中断0中断。
2.6定时器/计数器
在STC89C52单片机中设有可编程定时器/计数器,是两个16位的,分别为定时器/计数器0和定时器/计数器1。除此之外还有一个可编程定时器/计数器2。
2.6.1与定时器/计数器0和1相关的特殊功能寄存器
计数器寄存器TH0、TL0和TH1、TL1
16位的计数寄存器在启动定时器的时候需要对它设定初始值。计数器寄存器的高8位是THX,低8位是TLX。TH0、TL0对应T/C0,TH1,TL1对应T/C1。
定时器/计数器控制寄存器TCON的格式如下所示:
TF1 TR1 TF0 TR1 IE1 IT1 IE0 IT0
TF1为T/C1的溢出标志,溢出时由硬件置1,进入中断后又由硬件自动清0。
TR1为T/C1的启动和停止位,由软件控制。置1时启动T/C1;清0时停止T/C1。
TF0和TR0的功能和使用方法以TF1、TR1类似,只是它们针对的是T/C0.
(3)定时器/计数器方式控制寄存器TMOD
定时器/计数器方式控制寄存器TMOD的格式如下所示。它的控制位都是由软件控制的,其中高4位是针对T/C1的,低4位是针对T/C0的,其功能和使用方法相似。
GATE M1 M0 GATE M1 M0
现在以T/C0来说明各控制位的使用方法:GATE是一个选通位,当GATE位置1时,T/C0受到双重控制,只有/INT0为高电平且TR0位置1是T/C0才开始工作,当GATE位清0时,T/C0仅受到TR0的控制。C//T用来选择工作在定时器方式还是计数器方式。当该位置1时工作在计数器方式,清0时工作在定时器方式。M1和M0联合起来用于选择操作模式,一共有四种操作模
原文链接:http://www.jxszl.com/lwqt/yzlw/180603.html