基于单片机的模糊控制在节水灌溉系统中实现_第1页
基于单片机的模糊控制在节水灌溉系统中实现_第2页
基于单片机的模糊控制在节水灌溉系统中实现_第3页
基于单片机的模糊控制在节水灌溉系统中实现_第4页
基于单片机的模糊控制在节水灌溉系统中实现_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章总体设计2.1设计要求(1)节约用水。本系统的第一个核心目的是节水灌溉,所以要求在能解决植物的正常需水量和不影响植物生长状态的前提下,尽可能节约水资源。(2)监测功能。传统农业浇灌是通过农民以当前的天气,降雨量,已经植物对水的需求量等环境因素来判断的,这种判断十分模糊,没有科学依据,对于经验不足的农民来说有一定难度。所以本系统需要有一个检测模块对植物进行实时监测,便于农民收集种植信息。(3)控制功能。本系统对的第二个核心目的是实现灌溉的自动化,所以当通过监控模块,收集到当前的土壤湿度,还需要一个计算模块来计算判断出植物当前是否缺水,缺水多少水,能够自动的控制灌水输出量。(4)显示功能,本系统需要拥有一个的显示模块,以方便管理者实时了解到目前系统的所处于的状态,还能通过该模块实时了解到检测模块检测到的当前土壤湿度状况,显示出灌水时间。(5)低成本要求,本智能灌溉系统是应用于农业种植,在实现系统所需的各种前提下还要考虑到实际情况,即经济成本要求要低,能够广泛的应用于各种规模程度的种植。2.2控制方案国内目前较为常用的控制方案有三种,分别为:继电器控制、单片机控制、和PLC控制。继电器控制主要由主接触器,中间接触器,过载热继电器组成。主要原理是根据继电器触点和延迟操作的触点的串联和并联电路,使用硬接线逻辑来完成控制,以实现输出模块的控制。单片机控制的核心就是单片机芯片,将CPU、存储器、I/O端口和其他模块集中在单个微芯片上,并通过导入的c语言程序控制各种外部电路。PLC控制采用存储器逻辑,其控制逻辑以程序的形式存储在存储器中。变更控制逻辑只需变更程序即可,故称为“软接线”。PLC控制系统是以传统的序列控制器为基础,导入微电子技术、计算机技术、自动控制技术和通信技术的新型逻辑控制。其目的是取代继电器、执行逻辑、时间记录、数据记录和其他顺序控制功能,以建立灵活的远程控制系统。单片机控制和PLC控制的区别就是,PLC控制主要突出在继电器逻辑控制,相对简单,容易入门。而单片机控制对于使用者的要求要高一些,但是单片机控制灵活性高,功能性较强,更适用于相对复杂的环境。所以在自动节水灌溉系统中选用单片机控制。单片机控制较常用的有传统PID控制和模糊控制。传统PID控制相对简单,主要由三个PID参数Kp、Ti、Td对系统进行控制,适用于数学模型精确的线性系统。而模糊控制是以模糊数学的理论为基础,对难以建立精确数学模型的系统进行仿人化模糊控制,适用于非线性系统。因本文的自动节水灌溉系统较为复杂,输入量难以建立,模糊控制更为适用,所以下文将重点介绍模糊控制方法。2.2.1模糊控制发展系统的核心控制技术将选用模糊逻辑控制技术,简称模糊控制,英文名FuzzyControl。是一种由模糊集合论、模糊语言转换和模糊逻辑规则为基础,并基于计算机的数字控制系统[13]。由美国的L.A.Zadeh于1965年创建模糊集合论,并发表了著名论文《FuzzySets》,在1973年又给出模糊逻辑控制的相关定义和定理。Zadeh创立的[14]模糊数学,对不明确控制系统的发展做出极大贡献。模糊理论的诞生,解决了控制系统中难以建立的模糊数学模型问题。在1974年,英国的E.H.Mamdani第一次根据模糊控制语句创建出模糊控制器,并把它应用到锅炉和蒸汽机中,取得了实验室的成功。七十年代,基于模糊数学的思想和理论发展出的模糊控制器,使得模糊控制领域发展中向前迈出了第一大步。模糊控制实际上是一种非线性控制,属于智能控制领域。它的有一特点是不仅拥有很系统的理论,还拥有大量的实践应用。模糊控制技术起步阶段在西方发展缓慢,但是在日本却得到大力发展与应用。经过多年发展来,模糊控制的理论和技术发展成熟。在自动控制领域中作用突出,被广泛的应用到生产生活中的各个地方。比如家用电器方面的热水器、洗衣机、空调等,工业方面的污水处理、化学反应釜、发酵处理等。在农业方面也有着十分强大的潜力。它具有以下特点:模糊控制是基于模糊规则的控制,它直接采用语言型规则来进行控制,根据专家和操作人员长期积累的经验知识,来进行规则的制定。被控对象也不需要进行精确的数学模型建立。使得控制原理简单明了,便于应用。从工业过程的定性认识来看,比较简单的建立语言控制规则,因而模糊控制对得不到数学模型、动态特性难获取和变化量多的对象很适用。由于模型的控制算法和系统设计方式的出发点和性能指标不一样,会产生较大的误差;但是根据系统语言控制规则的独立性,利用控制规律中的模糊连接可以折中选择,使控制效果要比一般控制器要好。模糊控制是根据启发性的知识和语言决策规则来设计的,可以近视模拟人工控制的过程和方法,增强其适应能力,让其拥有一定的智能水平。模糊控制的鲁棒性很强,干扰和参数波动对其影响不大,适合在非线性、时变及纯滞后系统的应用。2.2.2模糊控制原理模糊控制就像是从大脑的抽象层面来进行模仿,比如:在我们渴了想要喝水的时候,我们并不会精确的计算我们咬合多少克水,而是用喝一点,小半杯,大半杯等模糊量来描述。从而判断出我们是不渴,有点渴还是很渴。模糊控制就是使用数学来模拟出人的这种思维方式[15]。模糊控制是根据人的知识对控制对象进行控制的一种方法,一般使用“if...then...”语句,所以称之为语言控制[16]。一般用于无法通过精确地数学模型来建立的控制对象,通过专家的知识经验来对系统进行规制控制。总的来说就是根据人的智力,模糊的控制系统就是模糊控制。模糊控制器原理图如下:图2-2模糊控制系统原理图原理图中的核心部分是模糊控制器。它的模糊控制过程是:首先通过土壤湿度传感器收集精确数据,经过数据转换后传输到控制器。将测量数据与事先设定好的数值进行比较计算,得到输入偏差e,再将当前的偏差e与上一次计算的偏差e相减后再除以采样时间,得出输入偏差变化率ec。将偏差e和偏差变化率ec的精确值进行模糊处理得到模糊值E和EC,在通过模糊规则决策后得到输出U的模糊值,最后解模糊得到输出U的精确值,传输到执行机构进行控制。2.2.3模糊控制结构模糊控制器的本质是一个采用模糊控制算法的计算机或者芯片,模糊控制的结构主要有三个部分:将输入的精确量模糊化;使用模糊规则进行模糊推理;把推理过后得到的输出模糊量进行解模糊,转换成精确量。①输入精确量的模糊化模糊控制可以分为单输入单输出,双输入单输出,或者多输入多输出的形式。有n个输入一个输出叫做n维模糊控制器。由于一维的模糊控制器所能产生的系统动能一般,而三维或者三维以上的控制器又十分的复杂,所以一般使用的控制器都是二维的[17]。输入的精确量转化成模糊量也可以分为三个步骤:第一步是确定变量的语言值,语言变量的个数越多控制的规则就会越多,控制效果越好,语言变量个数少,语言规则少,计算简单,控制效果达不到要求。所以一般的语言变量控制在5到7个。在模糊控制系统中用{负大,负中,负小,零,正小,正中,正大}语言集合来描述语言变量,简写为{NB,NM,NS,ZO,PS,PM,PB}。本系统的语言变量变化表如下,因为U为输出控制时间,所以没有负值,语言变量表如下:表2-1语言变量表ENB,NM,NS,ZO,PS,PM,PBECNB,NM,NS,ZO,PS,PM,PBUZO,PS,PM,PB第二步确定输入变量的论域等级和输入变量的论域实际值。一般在控制效果要求较高的场合下,输入变量U可以分为13或者15级,输入变量的论域实际变化范围[a,b]如下13级{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}15级{-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7}一般在控制效果要求一般的场合下,输入变量U可以分为9或者11级,输入变量的论域实际变化范围[a,b]如下9级{-4,-3,-2,-1,0,1,2,3,4}11级{-5,-4,-3,-2,-1,0,1,2,3,4,5}一般在控制效果要求较低的场合下,输入变量U可以分为5或者7级,根据上一节介绍的语言变量,本模糊控制系统设计的论域为输入7级。输入变量的论域实际变化范围[a,b]如下5级{-2,-1,0,1,2}7级{-3,-2,-1,0,1,2,3}输入变量x分的实际变化范围[a,b]为n级,则它的论域为[-(n-1)/2,(n-1)/2]。第三步就是把各模糊状态的隶属函数定义。隶属度函数的选择非常重要,它将关系到模糊控制的确切性和稳定性[18]。隶属函数有很多,比较常用的有三角形、梯形、正态型隶属函数。根据控制要求高低,设置隶属函数个数,隶属函数越多控制效果越好。隶属函数类型图如下:图2-3三角函数图图2-4梯形函数体图2-5正态型函数图因为三角形的隶属函数计算量比较小,性能差距不大,所以一般隶属函数都选择使用三角形。②建立模糊控制规则模糊控制器的核心就是模糊规则。根据专家的经验和知识进行推理,将大量成功的控制策略整理好加工后,把它总结为一条条模糊条件语句集合。常用的模糊控制规则语句有:(1)单输入单输出模糊控制语句ifAthenBifAthenBelseC多输入单输出模糊控制语句ifAandBand...andNthenC双输入多输出模糊控制语句ifAandBthenCandifAandBthenDandifAandBthenEand.........┇andifAandBthenZ双输入单输出模糊控制语句ifEandECthenU目前模糊控制器一般使用双输入单输出控制模式,使用这种模式不仅可以有可靠地稳定性,还可以减少超调量和震荡,控制精度也能够满足要求。图2-6双输入单输出模糊控制器图其中的模糊集合E属于论域x由系统的误差e模糊变换而来,而模糊集合EC属于论域y由系统误差的变化率模糊变换而来,E和EC构成两个二维输入,模糊集合U则是属于论域z的反映控制量变化的一维输出。本系统所使用的的模糊控制器就是二维模糊控制器,输入e代表土壤湿度误差,ec代表湿度误差变化率,输出u代表灌水输出时间。模糊控制规则的语言格式为:andifE=EiandEC=ECjthenU=Uij(i,j=1,2,3...)。有一些模糊控制规则可以合并,模糊控制规则表如表2-2。在得到E、EC、U的模糊控制规则表后,就可以根据模糊控制规则得到控制关系R,利用模糊控制推理方法对其进行模糊判决,就可以得到模糊控制的查询表。表2-2模糊控制规则表EUECNBNMNSZOPSPMPBNBZOZOZOZOZOZOZONMZOZOZOZOZOZOZONSZOZOZOZOZOPSPSZOZOZOZOZOPSPBPMPSZOZOZOPSPMPBPBPMZOZOPSPMPBPBPBPBZOZOPMPBPBPBPB③信息输出的解模糊解模糊就是把书出模糊集合的模糊量转换成精确量,经过模糊判决后输出的控制量是模糊值,这种模糊的集合执行机构不能识别,所以得经过解模糊,也就是反模糊化[19]。解模糊有几种方式,但须注意的是在解模糊过程中出现一点细小的差别都会影响控制稳定性,所以选择一种合适的解模糊方法很重要。下面将介绍几种常用的解模糊方法:最大隶属法最大隶属法就是将几个模糊输出经模糊判决所取得的值集合在一起,选择其中隶属度最大的元素作为输出的值,送至执行机构,它的数学公式如2-1:2-1在选取过程中如果同时出现几个最大的隶属度函数,则对它们的输出值求取平均值,具体公式如2-2:2-2M:最大隶属度函数个数。最大隶属法的特点是不需要考虑隶属函数图形,直接选取最大隶属函数值进行计算取值,简单方便。应用于控制精度要求不高的场合。 中位数法中位数法就是把输出模糊集中的中位数作为控制的输出。而中位数就是把隶属函数和横坐标所围成的面积平分成两份的z*,设,z*的计算公式如2-3:2-3中位数法比最大隶属法所包含的信息更加多,但是主要信息不突出,计算复杂,使用这种方法的较少。加权平均法加权平均法也就是重心法,在模糊控制系统解模糊中这是一种比较常用的方法。它的数学公式为2-4:2-4式中的W(x)为权函数,wi为权系数。将模糊集U中点z处的隶属值作为权函数或者权系数,加权平均法就可以转换成中心法,公式如下2-5:2-5这种方法既突出了主要信息,也囊括了次要信息,据专家研究这种方法要优于以上两种方法。各种方法各有优缺点,在实际应用中还得看情况使用。在完成解模糊后还应当注意,解模糊得到的数据仅是其论域确切值,还需根据输入变量实际值转换成论域值的逆变换方法,将输出变量的论域值转换为实际值,最后才能将数据传输到执行机构进行控制[20][21]。2.3总体设计本节将采取模块划分的方式,对自动控制节水灌溉系统进行设计。首先将整个系统分为上位机和下位机两个部分。上位机负责人机交互,下位机负责具体控制。下位机也可以分为几个重要的模块:(1)输入模块本系统检测模块决定采用传感器收集数据。主要功能是测量土壤湿度数值,然后将采集到的的值传送至下一模块。(2)数据转换模块数据转换模块主要负责将传感器所采集到的数据模拟量转换成数字量,以便于单片机的识别计算。(3)控制模块控制模块的主要功能是,通过接收到的采集数据,进行计算对比,最后得出控制量,将控制量传送至显示模块和输出模块。(4)显示模块显示模块选用LED灯,其特点是结构简单,使用方便,价格便宜,通过设计可以让其实现显示要求。(5)输出模块输出模块分为驱动和执行两个部分,主要作用是根据单片机所计算出的输出控制量,控制灌水管道的开关,最终完成节水灌溉。最后根据以上模块的划分方式,制作出整体系统结构图:图2-1总体设计结构图2.4本章小结本章根据系统的设计要求,首先对继电器、单片机、PLC三种控制方案进行简单介绍,并选取模糊控制作为系统的控制方案,随后介绍了模糊控制的发展、原理和结构。最后简要的介绍了总体设计的五个结构模块,并制作出总体设计的结构图,为后续的软、硬件设计做出了基本框架。第3章硬件设计基于自动节水灌溉方面的硬件设计,需要实现以下功能:可以人为的设定植物的灌水阀值,系统自动收集植物的需水状态,然后对当前的需水状态进行判断是否需要灌水,如需灌水则计算出所需灌水量,最后通过执行机构完成自动控制节水灌溉。硬件设计大体可以分为:控制、输入和输出、数据转换、显示几个模块。本设计是应用于农业种植生产方面,所以在硬件选择上要有一定的经济适用性,在满足基本功能和不影响效率的情况下,要尽可能的降低经济成本。本系统的实际操作上还需要求简单易懂,可以让缺少专业知识的种植户也能过快速的熟悉系统,从而对其进行操作使用。我们通过对土壤湿度的测量,与植物所需的土壤湿度值进行对比,再通过单片机内置控制规则对土壤湿度来进行控制。本章节在硬件的设计与选取方面通过浏览大量资料文献和对各种硬件进行对比筛选,最终设计出本系统的所有硬件结构。3.1控制模块MillionInstruc\o"TI社区"TIonsPerSecond简称MIPS,意思是微控制器计算能力。随着单片机技术的不断发展,各种功能要求不断增加,32位单片机的面世,使得单片机的MIPS不断加强。传统的CPU无法满足当今市场的需求,所以以往的8、16位单片器逐渐被厂商抛弃,对于需要用到32位单片机的系统无疑是很好的,但是用32位MCU来解决8位和16位单片机的自身限制将会导致过高的成本,对于某些任务来说32位处理器却并不是最合适的。选择控制器时并不是只考虑系统的性能越高就越好,能够有较低的功耗的同时、单片机丰富的内外设计和实时的信号处理能力对于整个系统来说才是最为重要的。8位、16位这些传统的单片机就已经可以处理好这些问题。通过对市面上各种单片机的比较分析和实际情况,本系统选择使用AT89C51型单片机作为控制模块。它的外观程黑色长条,体积小,两边有两排金属引脚,分插入式和贴片式,可以和外部链接。它的体积虽小,但是功能齐全,和普通计算机的结构相似,也是由中央处理器,储存器和各I/O口组成,实际上就是缩小版的计算机,即单芯片微型计算机简称单片机。AT89C51的特点是高性能低价格、体积小功能齐全、低电压低功耗。它的价格很低,单价只要几元到几十元,但是它在功能上却相当于一台微型的计算机。它除了内置了八位CPU、RAM数据存储器、ROM程序存储器、定时/计数器外,还可以把许多的外围功能器件集成在单片机里,从而减少器件的外部连接,提高其抗干扰能力。它一般可以工作在5v电压下,有些特别的单片机还可以工作在1.8-3v电压下,且功耗可以降至UA级。例如MSP430超低功耗型单片机,依靠两个纽扣电池可以工作的时间接近十年。这种低电耗特性十分适用于各种智能产品的开发设计。AT89C51是由美国的ATMEL公司所生产的89系列标准型单片机,属于8位单片机,拥有一个4k字节的FLASH只读存储器,使用了公司的高密度非易失性存储器核心技术。是一种价格便宜,但性能成熟的单片机。它的主要性能:4k字节的FLASH存储器,可反复擦写达1000多次与MCS-51兼容32根可编程I/O口2个16定时器/计数器6个中断源、5个中断矢量、2级优先权的中断结构可编程串行通道片内时钟振荡器128的RAM图3-1AT89C51引脚图引脚功能:Vc:接电源,Gnd接地XTAL1,XTAL2:外部晶振RST:复位ALE/PROG:传送低字节地址和数据,还可做外部定时脉冲PSEN:低电平有效,可将程序存储器的内容被送至P0口E:外部程序存储器访问允许信号P1.0-P3.0:带有内部上拉电阻的8位双向I/O口。其中P3.0(RXD)还可做串行输入口,P3.1(TXD)串行输出口,P3.2(INT0)外部中断0,P3.3(INT1)外部中断1,P3.4(T0)定时器0的外部输入,P3.5(T1)定时器1的外部输入,P3.6(WR)外部数据存储器写选通,P3.7(RD)外部数据读选通[22]。图3-2单片机最小系统图图3-2为单片机最小系统电路图。单片机的最小系统是由单片机芯片外接上复位电路、时钟电路和电源所构成。复位电路的作用就是把特殊的功能寄存器的数据复位成默认的数据,单片机在正常运行中遇到各种情况导致单片机卡死,需要复位电路使其重新运行。单片机的时钟电路的核心是晶体振荡器,简称晶振。它可以提供时钟频率,时钟的频率决定当前单片机运行的快慢。如果没有时钟电路单片机就无法运行程序,无法工作。3.2输入模块输入模块选用土壤湿度传感器,土壤湿度传感器经过长期的发展,目前的种类,款式非常多。主要分为以下几个类型:电容型、电阻型、光敏型、离子敏型、声表面波形等。本系统选用的是DHT11温湿度传感器,它属于电阻型传感器。它的湿度测量范围为20%-90%[23]。它具有结构简单、抗扰性强、反应快、价格便宜等特点,并拥有极高的稳定性和可靠性。电阻式感湿元件和NTC测温元件是传感器的核心。它的接口采用单线制,把其集成为一个简单方便的系统。小巧的外形、超低的耗能和厂商可根据客户要求改变其封装得以让它适用于各种复杂的环境中。它外部设计有4个独立的引脚,可以方便连接使用,分别为:①vdd供电引脚②DATA串行数据引脚③NC空脚④GND接地具体引脚图如图3-3。图3-3DHT11引脚图3.3数据转换模块AD转换器中文名称模数转换器,它在各种数据收集电路中是必不可少的。我们现实生活里到处都是模拟信号,而转换器的作用就是将传感器收集到的各种连续的模拟信号转换成在时间和幅值都离散的数字信号,然后传输给下一级进行数据处理[24]。AD转换器主要类型有:积分型、逐次逼近型、并行比较型/串并行型、Σ-Δ调制型、电容阵列逐次比较型及压频变换型。本系统选用的AD数据转换器为ADC0832。它是一款8位分辨率,拥有双通道A/D转换芯片,与TTL/CMOS兼容,输入电压为0~5V,工作在250KHZ频率下,低功耗仅为15w等特点。它体积小,兼容性高,数据处理快,成本低等优点,在单片机设计方面应用广泛[25]。图3-4ADC0832引脚图ADC0832引脚作用:①CS:片选端,低电平有效②CH0,CH1:两路模拟信号输入端③DI:两路模拟输入选择输入端④DO:模数转换结果串行输出端⑤CLK:串行时钟输入端⑥Vcc/REF:正电源端和基准电压输入端⑦GND:电源地如图3-8为土壤湿度传感器和A/D数据转换器连接电路图。A/D转换器ADC0832直接与DHT11土壤湿度传感器连接,接受传感器收集到的模拟信号,转换成芯片可以识别的数字信号。DO、DI输入输出口单片机的P3.3引脚,CLK时钟口接P3.4引脚,CS片选使能口接P3.5引脚,DHT11电源端接+5v电压电源,ADC0832接+5v电压电源。图3-5数模转换电路图3.4显示模块单片机常选用4位LED灯(发光二极管)和LCD显示器作为显示电路,4位LED灯显示器采用的是共阳极的接法,即将发光二极管的八个阳极连接在一起。LED灯电路连接图如3-6:图3-6LED显示电路LED灯的特点是成本低、配装方便、与单片机有较好的连接性,LED灯不仅价格低,使用寿命长,对电路电压电流要求低,可以多路实现都是它的特点。LCD显示器选用广州大彩公司所生产的基础型串口屏,它可以提供人机交互功能,主要有按键功能,文本功能,仪表功能,进度条功能等。相较于普通的人机交互模块的功能单一、电路复杂、干扰量大等问题它都可以解决。只需通过串口线与单片机进行连接就可以实现功能,简单方便,稳定性高,还可以为整体设计节省时间。3.5输出模块输出模块的设计主要分为驱动和执行两个部分。驱动部分的设计是可以根据单片机输出的控制信息,判断灌水管道的开关;而灌溉部分的设计则是实行具体灌溉的方式。继电器分为直流继电器和交流继电器,本系统的驱动部分选用交流式继电器。它的作用特点是控制、放大、保护和调节。系统主要由一个光电耦合驱动器MOC3061和一个双向晶闸管KS构成。光电耦合驱动器MOC3061的作用是隔离单片机和继电器和触发晶闸管。当MOC3061接收到单片机发送的低电平信号时,开关KS通路,继电器RL1导通;当其接收到高电平时,KS断开,继电器RL1关闭。其电路图如3-7。图3-7交流电磁式继电器功率接口图目前灌溉技术发展种类繁多,有滴管、喷灌、微喷、膜下灌溉、地下灌溉、渗透灌溉等方式。各种灌溉方式各有好坏,本系统根据应用范围和实际情况选择滴灌模式,滴管系统主要由水源、过滤器、管道、和滴头四部分组成。通过水泵抽水或者将水源设置在地势较高处通过重力把水送入管道,然后通过过滤器将水中杂质过滤以免堵塞滴头,最后通过毛管将滴头设置于植物根部附近进行精准滴灌。滴灌模式具有水压需求不高,渗透力强,灌溉精准,可以水肥混合灌溉等特点,可以有效的达到节水增产效果。3.6本章小结本章节根据总体设计对自动节水灌溉系统的硬件部分做出口设计,主要包括了核心控制器AT89C51,以及选取它的原因和对它性能的详细介绍;还对输入模块、数据转换模块、显示模块、输出模块做出了设计和分析介绍;还给出了各模块的连接电路图,为软件设计做好了基础。第4章软件设计在对本系统的硬件方面进行选择和设计后,接下来就要对软件方面进行设计。通过软件程序的编写实现对功能模块的编译调试。软件开发部分选择KeiluVISION5,采用c语言进行编程。本系统因采用模块化设计,所以编程也使用模块化编程。再完成整个程序的编写调试后,通过KeiluVISION5生成.HEX文件,然后再通过USBISP下载线把程序下载到单片机中[26]。图4-1下载线软件的设计主要分为以下几个部分:主程序、A/D数据转换、模糊控制、LED显示、输出执行。keiluVision5软件是一款c语言开发系统,由美国的KeilSoftware公司所研发。Keil软件包含了C语言编译器、链接器、宏汇编、库管理和仿真调试等功能,由这些功能而创建了一个集成开发环境。图4-2Keil软件主界面图4.1主程序如图4-3为主程序图,主程序是整个软件设计的核心部分,关系着系统的稳定性,高效性和流畅性。本系统程序分为主程序部分和子程序部分,在主程序中调用子程序,分工合作,各模块的作用清晰,方便程序的设计和修改。主程序流程图如下图4-3主程序设计流程图我们可以根据流程图来对程序进行编写、调试、修改和下载。主程序中主要包括定义变量、赋值、I/O口的初始化、定时等功能。系统启动之后首先是进行主控制器的初始化,开关中断等程序,然后发送命令让土壤湿度传感器开始采集数据,然后将传感器采集到的数据通过A/D转换器转换为数字量传送给单片机,单片机在通过显示模块显示出来,然后再通过与上位机设置的数据进行计算,得到湿度差e,和湿度变化率ec,通过查询模糊控制规则,进行判断是否需要灌水。4.2A/D数据转换数据转换程序流程图如4-4,A/D转换器的主要功能是把土壤湿度传感器收集到的电压信号模拟量转换成数字信号,以便于单片机的识别。在执行A/D数据转换的时候,首先是将触发器复位,低电平开始转换,转换完成后变成高电平。单片机读取数据,并进行保存,将数据进行处理后,在LED灯上显示。图4-4A/D数据转换设计流程图图4-6显示模块流程图4.3LED显示如图4-6为LED显示流程图,用于显示当前土壤湿度数据和当前灌水开关状态。例如当控制系统没有灌水4位LED灯显示“CL**”,其中的**表示当前土壤湿度值;当控制系统开启灌水时则显示“OP**”,**表示灌水剩余时间。4.4模糊控制算法如图4-5是根据基于单片机的模糊控制的运行方式所制作的流程图。在进行模糊控制算法程序的设计时,要考虑到是使用单片机,基于单片机的性能,尽量做到高效、节能、可靠。模糊控制首先要将以往前辈累积的大量经验得到的模糊控制规则表导入到单片机的ROM中。然后将湿度传感器所采集到的数据进行计算取平均值,再将得到的数据与设定值进行计算对比,得到偏差和偏差的变化率,通过一系列转换将其模糊化,然后查询模糊控制规则表得出控制值,再解模糊单片机得到输出进行判断是否灌水。自动灌溉是一个非常复杂的系统,它在数据测量时受到土壤土质本身、土壤水分渗透速率不稳定等影响,导致系统呈现出非线性、时变性、变化性。在本系统中,要求灌溉控制器不仅要根据土壤的湿度来自动灌溉,还要确定灌溉量,在解决植物生长所需供水的前提下,还需要节约用水。为了解决这些问题本系统决定采用基于单片机的模糊控制器系统。模糊控制器与一般的控制器结构相差不大,但是它能有效的通过模糊量来进行模糊控制,拥有很好的鲁棒性。图4-5模糊控制算法设计流程图4.5输出执行经过单片机模糊控制推理得到输出控制量,传送执行机构,控制继电器打开电池阀进行灌溉。模糊控制所计算出的控制量为时间量,也就是继电器打开的时间。继电器是对总水泵的电机进行控制,而电磁阀对各管道开关的进行控制。图4-7执行模块流程图4.6本章小结本章节根据总体设计要求对硬件设计的各模块做出了软件设计,主要对主程序、A/D数据转换、LED显示、模糊控制算法、输出执行的软件流程进行了简单的介绍,然后对其设计了软件流程图。仿真与测试本文所设计的自动节水灌溉系统的核心部分是基于单片机的模糊控制技术,而实现模糊控制技术的方法是将单片机原本的数字控制算法用模糊控制算法来代替,通过模糊控制的编制软件将模糊控制算法程序导入单片机中,就能创造出一个模糊控制器。所以本章节将使用模糊控制算法工具箱创建出一个能够应用于自动节水灌溉系统的模糊控制器,然后将控制器导入算法仿真当中,通过算法仿真模拟出模糊控制算法在实际中的应用,然后观察对比各控制技术在自动节水灌溉系统中的控制效果,最终得出结论。5.1仿真工具介绍本系统为实现模糊控制仿真选择使用MATLAB软件。MATLAB是美国的MATHWORKS公司所开发的,它是一款商业数学软件,主要功能是算法开发、数据分析、数据透明化和数据计算的高科技计算语言和交互式环境,主要由MATLAB和SIMULINK两个部分组成[27]。MATLAB英文全称由MATRIX和LABORATORY两个单词组成,意思是矩阵实验室。它将数据分析、矩阵计算、数据可视化、非线性动态系统的建模和仿真等诸多功能集成在一个便于操作的窗口中,为科学设计、研究研发提供便利,代表着当代高级的计算软件。图5-1MATLAB软件操作主界面5.2模糊控制器的创建MATLAB软件拥有几百个内部函数和三十多种工具包。而本设计所使用的的工具箱名为模糊逻辑工具箱,英文名FuzzyLogicToolbox。MATLAB模糊控制工具箱为模糊控制器的仿真设计提供了一种非常方便的途径,通过输入参数,它就可以代替我们进行复杂的模糊化、模糊推理、解模糊等运算,得到模糊控制器。具体操作在MATLAB的命令窗口中输入命令fuzzy,回车后就会弹出模糊逻辑工具箱,如图5-2。①按照本系统设计要求,需再增加一个模糊输入端口,构成双输入单输出的二维控制结构,如图5-3。②然后将输入端改名为土壤湿度偏差E和土壤湿度偏差变化率EC,输出端改为输出控制量U。隶属函数设置成三角函数。然后将输入输出端各种数据导入模糊逻辑工具箱,E和EC的模糊子集为{NB,NM,NS,ZO,PS,PM,PB},取值范围为(-3,3),如图5-4。③U的模糊子集为(ZO,PS,PM,PB),取值范围为(0,3),如图5-5。图5-2模糊逻辑工具箱操作界面图5-3双输入单输出控制结构图图5-4输入端E和EC隶属函数图图5-5输出端U隶属函数图④解模糊选取重心法如下图5-6。图5-6重心法设置图⑤下一步通过查询第六章模糊控制规则表,将49条模糊控制规则导入模糊逻辑工具箱后模糊控制器构建完成,点击保存生成.fis文件。下图为设置好的模糊控制规则:图5-7模糊规则编辑界面图49条模糊规则图如下:(a)(b)(c)(d)(e)图5-8模糊控制规则图建立好模糊控制器后,通过可以工具箱得到经重心法解模糊后的输出特性曲面图和规则查看图。图5-9输出特性曲面图图5-10模糊规则查看图5.3仿真结果分析与对比在节水灌溉的过程中,土壤湿度的变化过程是一个比较缓慢且复杂的过程。经过查找大量文献资料得到一个能基本反应出土壤湿度变化的函数5-1[28]:5-1公式中的Δy代表土壤湿度变化,t为输出控制时间。使用MATLAB软件中SIMULINK模块,制作模糊控制仿真模型。具体由输入阶跃信号模块模拟DHT11湿度传感器发送数据,比例模块对采集到的数据进行计算处理的到与给定值的偏差E和偏差变化率EC,模糊控制器模拟出单片机AT89C51的模糊控制过程、由反馈模块重新反馈到输入后构成闭环系统,然后通过SIN函数、阶跃函数、延迟模块,最后由输出显示模块SOCPE的波形图模拟出系统的输出控制效果。具体仿真如下图5-11。图5-11模糊控制器仿真模型图为了对比模糊控制器的控制效果,还设计了一个常规PID控制仿真模型,如图5-12。图5-12PID控制仿真模型图通过查找资料得出小麦的最适生长湿度为30%,将土壤含水量上限定额设置为30%。将两个仿真模型的总体运行时间设置为100秒,输入阶跃信号设置为1s,延时时间设为1s,将仿真模型参数设置好后,运行仿真模型。通过显示模块SOCPE得到两输出曲线图5-13,图5-14:图5-13模糊控制仿真结果图图5-14PID控制仿真结果图从两个输出曲线图可以看出,模糊控制几乎没有超调量,而PID控制则有较为明显的超调量。模糊控制的输出曲线较为平滑,达到稳定的调节时间仅需9秒,而PID控制的则需23秒。可以明显看出模糊控制器的曲线更为平滑,控制效果要比传统PID控制效果好,鲁棒性更高,模糊控制更适合在节水灌溉系统中应用。5.4本章小结本章节主要对模糊控制进行算法仿真,主要内容包括对仿真软件和模糊控制器的详细创建过程进行介绍,然后设计出模糊控制算法和PID算法仿真,并将模糊控制器应用于算法仿真当中;对比两种控制的仿真结果,可以看出模糊控制应用于自动节水灌溉系统的控制效果十分良好。第6章总结展望6.1总结本文就我国当前农业灌溉发展技术落后的背景下,对自动控制灌溉系统进行了比较深入的研究和设计。经济的高速发展离不开对自然水资源的索取,就这一情况国家开始号召节约用水,可持续发展的行动。而农业灌溉的耗水量占比很大,能做到节约用水、智能灌溉的意义非常重大。本文就这一现状,从植物生长土壤湿度入手,以土壤湿度值作为指标,对自动控制灌溉技术进行了深入的研究设计。并将单片机的模糊控制技术应用到系统中,通过仿真实验进行对比,发现该设计系统能达到较好的控制效果。本文主要工作如下:对整个自动节水灌溉系统做出了详细的设计和介绍。以串口屏作为上位机进行人机交互功能,以单片机AT89C51为核心的下位机。通过收集植物土壤的湿度值,对植物的需水状态做出判断,最后实现定时定量浇水灌溉。通过浏览大量文献,对单片机的模糊控制技术进行深入研究。确定了模糊控制的模糊规则和模糊化、解模糊的方式,并根据单片机的原理和结构对单片机的模糊控制技术进行详细介绍。根据整体设计方案对系统做出了硬件和软件方面的设计,硬件设计方面包括采集、数据处理、控制、显示、执行模块。对各模块的硬件做出了对比选择,通过使用Proteus软件设计出硬件连接电路图;对软件方面设计了各个模块的软件程序流程图,介绍了Keil软件作为设计工具。使用Matlab软件中的Fuzzy工具箱对模糊控制器进行创建,然后使用Simulink模块对模糊控制器做出了仿真,为了对比控制效果还制作了一个PID控制器。最后通过仿真输出波形图得出模糊控制更适用于自动节水灌溉系统的结论。6.2展望由于近段时间国内疫情特殊情况和时间限制,再加上条件和水平有限,本系统设计还有许多地方需要改进,主要存在以下两个问题:(1)输入量只有土壤湿度值,过于单调,没有对天气,温度,土质等影响因素作出相应的研究和应对方案。(2)还可以结合自动节水灌溉系统设计一个植物养分自动供给系统,将肥料溶解于水源,实现水肥一体化,从而节省劳动力,使作物增产。参考文献[1]杨健美,马哲,李晓翠.浅谈水资源的保护与综合利用[J].建筑工程技术与设计,2018,000(034):3842.[2]郭久亦,于冰(译).世界水资源短缺:节约用水和海水淡化[J].世界环境,2016,000(002):58-61.[3]殷平.数据中心研究(8):水资源利用[J].暖通空调,2018.[4]薛鹏飞.中国水资源与可持续发展[J].丝路视野,2017,000(019):187.[5]汪易森,杨元月.中国南水北调工程[J].人民长江,2005,036(007):2-5.[6]袁寿其,李红,王新坤.中国节水灌溉装备发展现状、问题、趋势与建议[J].排灌机械工程学报,2015,33(1):78-92.[7]高雪梅.中国农业节水灌溉现状、发展趋势及存在问题[J].天津农业科学,2012,18(1).[8]吕国虎.节水灌溉技术的发展现状及趋势[J].吉林农业,2018,000(005):76.[9]许朗,唐梦琴.Problems

in

Development

of

Water-saving

Irrigation

and

Countermeasures%浅谈节水灌溉发展中存在的问题及对策[J].价值工程,2014,000(018):88-88,89.[10]魏军,刘明倩.滴灌技术发展应用的思考[J].文摘版:工程技术(建筑),2016,000(005):P.261-261,275.[11]金宏智,严海军,钱一超.国外节水灌溉工程技术发展分析[J].农业机械学报,2010,41(Z1):59-63.[12]赵裕明.国外节水灌溉技术[J].农村新技术,2018.[13]楚焱芳,张瑞华.模糊控制理论综述[J].科技信息,2009,000(020):529,530.[14]周浩亮.模糊数学基本理论及其应用[J].建井技术,1994,000(004):70.[15]陈文洁.节水灌溉新理念及其重要意义[J].节水灌溉,2004.[16]琚垚,郑伟.浅谈模糊控制器的基本工作原理[J].中国科技博览,2013,000(014):P.311-312.[17]ZHANGEnqin,SHISongjiao,GAOWeihua.Recent

Researches

and

Developments

on

Fuzzy

Control

System%模糊控制系统近年来的研究与发展[J].控制理论与应用,2001,18(1):7-11.[18]张兵,袁寿其.单片机模糊智能控制在灌溉中的应用[J].节水灌溉,2002(06):23-24.[19]Mamdani

E

H.Applications

of

Fuzzy

Algorithms

for

Control

of

Simple

Dynamic

Plant[J].Proc

Iee,1974,121(121):1585-1588.[20]李书巳.模糊控制基本原理与实现方法研究[J].数字技术与应用,2015(05):17.[21]戎月莉.计算机模糊控制原理及应用[M].北京航空航天大学出版社,1995.[22]卢进军.The

Design

of

a

Data

Acquisition

System

Based

on

AT89C51%基于AT89C51的数据采集系统设计[J].河南科学,2014,000[23]刘向举,姚沈结.温室温湿度智能测控系统研究[J].齐齐哈尔大学学报:自然科学版,2018,v.34(01):23-27.[24]卫海燕.8位高速A/D转换器的研究与设计[D].合肥工业大学,2018.[25]梁廷贵,王裕琛,晁树明.积分式A/D转换器其它专用集成电路分册[M].科学技术文献出版社,2002.[26]余丹.单片机系统软件仿真的设计与实现[J].湖北农机化,2019(24).[27]石辛民,郝整清.模糊控制及其MATLAB仿真[M].清华大学出版社,2008.[28]徐立鸿,邵波.一种新型温室滴灌控制算法[C].中国农业工程学会第七次全国会员代表大会及学术年会论文集.2004.致谢四年的读书生活在这个季节即将划上一个句号,而于我的人生却只是一个逗号,我将面对又一次征程的开始。四年的求学生涯在师长、亲友的大力支持下,走得辛苦却也收获满囊,在论文即将付梓之际,思绪万千,心情久久不能平静。伟人、名人为我所崇拜,可是我更急切地要把我的敬意和赞美献给一位平凡的人——我的指导老师蒋近。我不是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论