基于单片机的温室自动灌溉系统设计与实现(共34页).doc

上传人:飞****2 文档编号:13370092 上传时间:2022-04-29 格式:DOC 页数:34 大小:1.48MB
返回 下载 相关 举报
基于单片机的温室自动灌溉系统设计与实现(共34页).doc_第1页
第1页 / 共34页
基于单片机的温室自动灌溉系统设计与实现(共34页).doc_第2页
第2页 / 共34页
点击查看更多>>
资源描述

《基于单片机的温室自动灌溉系统设计与实现(共34页).doc》由会员分享,可在线阅读,更多相关《基于单片机的温室自动灌溉系统设计与实现(共34页).doc(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上基于单片机的温室自动灌溉系统设计 摘 要我国设施农业节水灌溉已成为农业工程领域中重点关注的问题之一,由于国内外的自动灌溉系统造价高、使用复杂而难以推广,开发满足当前设施农业生产需求的灌溉控制系统具有重要意义。本文设计了一种基于单片机的温室自动灌溉系统,实现了作物根系处土壤湿度的监测与自动控制。该系统以CC2430单片机为核心,采用模块化设计思路,主要包含微处理器模块、数据采集模块、控制模块、电源供应模块及人机交互模块。系统将周期采集的土壤湿度数据传送到微处理器模块,由决策算法对数据进行分析后做出是否灌溉的指令,在灌溉过程中由数据采集模块持续监测土壤湿度,并根据监测结果

2、,反馈控制灌溉设备的启停,以此实现土壤湿度维持在预设范围。系统采用人机交互模块实现灌溉阈值的可配置,满足不同设施作物种植的参数定制需求,同时提供实时土壤湿度查看和灌溉设备状态管理功能。初步试验表明,系统把土壤湿度提高30所需的时间在5060min之内,控制误差在3以内,且运行稳定,操作简单,准确性和快速性指标能满足设施农业灌溉要求。系统成本低、可维护性强,从而具有良好的推广应用前景。关键词:温室自动灌溉;土壤湿度监测;单片机专心-专注-专业目录1 绪论1.1 研究背景自古以来,我国就是一个以农业为主的国家,即便到了现代社会,农业仍是我国国民经济的基础。但我国农业生产效率低下,长期以来一直以经验

3、种植为主,农业生产效率仅为发达国家的1/10。为解决三农问题,国家正大力发展现代农业,温室是其中一个重要的组成部分,可增加作物年均成熟次数,增大作物产量,提高农业生产效率,因此,大力发展温室产业,对我国这样一个人口多耕地少的国家而言具有极大的战略意义1。目前,我国的温室面积已突破210万hm2,总面积达世界第一,但我国温室管理水平落后,大多控制系统采用定时控制或者手动控制方式2。在灌溉管理方面,通常存在浇水不及时、不均、灌水不足或过量灌水等现象3。自动灌溉系统通常对作物根系的土壤湿度进行实时监测,获得作物根系的需水量,以此作为自动灌溉的依据。温室自动灌溉可实现土壤湿度和营养成分的有效管理,是保

4、证设施作物优质高产的重要措施4。随着精准感知技术、定量控制技术的迅速发展,自动控制技术在节水灌溉中有了新的发展5,通过灌溉控制器适时、适量地灌水,在节省水、人工和提高作物产量方面取得了一定的成效,可显著提高灌溉精准度,提高水的利用率。本文设计一种操作简单、精确灌溉的低成本自动化控制灌溉系统,使之既能保证植物的良好的生长状态,又能做到尽量节水,对温室农业的发展具有重要意义。1.2 研究现状在国外,早在20世纪50年代,利用电子设备、计算机设备和程序控制的灌排系统就得到很大发展,并在法国、美国、日本等发达国家得到日益广泛的应用。1966年美国利用虚拟仪器技术开发了一套AgriMate自动灌溉系统,

5、系统中的现场处理器由LabVIEW的个人计算机控制。现场处理器配置了模拟输入、锁存和继电器板,用户可以监控水箱水位、阀门位置、泵的状态和土壤湿度等,而修改设定点即可改变灌溉计划。水的用法、水箱水位和降水情况等都是存储在灌溉数据库文件里的数据,用户能够读出这些数据以与当前数据进行比较,以图形方式显示给定月份的土壤湿润度和外加的水,其发展程度已经非常高6。相关研究依靠气象数据,通过对比过去灌区的蒸发量及灌水量,结合各分灌区的植物种类分布、地形、土壤成分等数据进行自动分析,并自动制定出当前各项灌溉指标的灌溉系统,存在灌溉依据的间接性,很可能偏离灌溉目标5。近年来相关研究已经深入到将气象因素、蒸腾量和

6、土壤含水率相结合的综合灌溉控制系统。但国外的设备普遍价格昂贵、专业性较强,不适合普通用户使用。国内在这方面的研究起步较晚,但也取得一定成就7-12,比如北京农业工程大学研制了以INTEL公司的8031系统单片机为核心的自动化灌溉系统,该系统为多通道土壤水分检测、多路控制灌溉的控制系统。张建丰等研发的多功能网络式自动灌溉方法及其装置,实现了定时、定量,根据土壤湿度,预先制定灌溉计划的灌水功能。但总体上,国内灌溉自动化程度不高,相关设备落后,与国外的先进水平还有很大的差距。国内外专家在这方面已做出了不可否认的成就9-16,但这些自动灌溉系统由于造价高、专业性强而难以推广。本文设计的系统通过实时监测

7、作物根域的土壤湿度信号,从而对作物进行适时适量按需灌溉,不但可以做到精准灌溉,达到节水的目的,而且操作简单,开发成本低,适于推广。1.3 研究目的温室在作物生长过程中,根系会从土壤孔隙中吸取水分,通过对作物根域附近的土壤湿度的实时监测直接反映作物根系的需水量。我国现阶段大多灌溉控制系统采用定时控制或者手动控制方式,浇水不及时、不均、灌水不足或过量灌水现象时有发生;更为先进的,依靠气象数据和对比过去灌区的蒸发量及灌水量制定出当前各项灌溉指标的灌溉系统,存在灌溉依据的间接性,很可能偏离灌溉目标。本课题将研究解决以上问题,设计了一种基于单片机的信息采集与自动灌溉控制一体化系统,它具有设备成本低、可维

8、护性强、可靠性高等独特的优势,并能给用户提供预警支持,从而减少农民劳作强度,增加产量。1.4 论文结构本论文章节结构按如下安排:第一章介绍温室自动灌溉系统的研究背景、国内外研究现状、研究目的和论文结构。第二章给出系统设计原理框图,选择器件类型以及对设计中用到的元器件的介绍。第三章硬件电路的设计,包括微处理器模块、数据采集模块、控制模块、电源供应模块以及人机交互模块电路设计。第四章主要是软件设计与实现,介绍单片机开发软件IAR,重点是各个模块软件设计。第五章主要是系统的应用与验证。第六章主要是总结与展望。2 系统结构设计及器件选型本系统以单片机(CC2430)为核心,采用模块化设计方法,主要由微

9、处理器模块、数据采集模块、控制模块、电源供应模块、人机交互模块及相关软件组成。单片机是整个系统的核心,它控制本系统的各种功能,因此选择性能可靠的单片机就显得尤为重要,考虑到满足功能要求、稳定性、性价比、开发等因素,选用TI生产的CC2430。土壤湿度传感器是本系统的测量元件,传感器性能的好坏直接影响到本系统性能的好坏。本设计采用的FDS-100,其技术参数为:工作电压512V,工作电流15mA,测量精度3%,探针长度5.3cm,输出模拟信号。在本系统中,采用LCD作为显示单元,LCD液晶显示器具有功耗低、寿命长、无辐射、不易引起视疲劳等优点,正在广泛应用于仪表、家用电器、计算机、医疗仪器及交通

10、和通信领域。本系统采用OCM12864-9液晶显示模块,它是12864点阵型液晶模块,可显示各种字符及图形,可与CPU直接接口。2.1 系统结构设计所谓的模块化设计,简单的说就是将产品的某些要素组合起来,构成一个具有特定功能的子系统,将这个子系统作为通用性的模块与其他产品要素进行多种组合,构成新的系统,产生多种不同功能或相同功能、不同性能的系列产品。模块化是在传统设计基础上发展起来一种新的设计思想,现已成为一种新的设计思想被广泛采用,尤其是信息时代电子产品不断推陈出新,模块化设计的产品正在不断涌现。模块化设计已被广泛用于机床、电子产品、航空、航天等设计领域。模块化设计是绿色设计方法之一,它已经

11、从理念转变为比较成熟的设计方法17。本文设计的温室自动灌溉系统是实现温室作物根系处土壤湿度的自动控制,采用模块化设计方法,系统主要由微处理器模块、数据采集模块、控制模块、电源供应模块以及人机交互模块组成。整个系统以单片机(CC2430)为控制核心,系统运行时,首先将数据采集模块采集到的土壤湿度数据传送到微处理器模块上,并将采集到的土壤湿度数据显示在液晶屏上,由存储在单片机的决策算法对数据进行分析后做出是否灌溉的指令,与此同时数据采集模块对土壤湿度进行实时监测,将土壤湿度参数信息送入微处理器模块发出是否继续灌水的指令,直到土壤湿度维持在我们预先设定的灌溉阈值停止灌水。另外系统针对不同农作物及其不

12、同发育期,可预先通过人机交互模块输入相关参数,使得土壤湿度达到我们预期的标准,达到节水和精确灌溉的目的,灵活适用于多种场合。系统示意图如2-1所示:图2-1 温室自动灌溉系统示意图2.2 器件选型在系统的硬件设计上,最重要的是低功耗的设计。低功耗的设计可以分为硬件和软件两个方面,在硬件方面体现在芯片的选择上。2.2.1 微处理器选型微处理器是整个系统的核心,直接关系到系统的整体性能、价位、开发难度等。在选择微处理器芯片时需考虑以下因素:A、芯片集成度高低有些芯片内部集成有FLASH、AD等外围设备,外围设备越多,硬件电路越简单,系统功耗也会越小,因此应尽量选择集成度高的芯片。B、开发商开发套件

13、完备程度不同的开发商提供的开发系统不尽相同,开发套件完备程度关系到系统开发的难度,选择芯片时应考虑开发商提供的资料是否满足开发需求。C、价格高低下面首先对当前几种主流的微处理器芯片加以介绍。(1)TI公司的CC2430A、高性能8位8051微控制器核,是常规8051CPU处理速度的8倍。B、128KB可编程FLASH和8KB的RAM。C、接收模式功耗低于27mA,发射模式低于25mA。D、休眠模式仅0.9A的功耗,在待机模式时少于0.6A的功耗。E、集成可编程的8-14位8路输入模数转换ADC。(2)SN250:A、16位XAP2b微处理器。B、128KB的FLASH及5KB的RAM。C、两种

14、休眠模式:处理器空闲Processor idle;深度休眠Deep sleep,功耗1.0uA。D、集成有12位ADC。(3)JN5121:A、16MHz32位的RISC处理器。B、96K RAM,64K ROM。对比以上各芯片的性能参数,TI公司的CC2430具有最低的系统功耗,较高的主频速度,较多的外围设备。低功耗对以电池供电的温室设备而言极为重要,超低工作功耗并具有休眠功能的CC2430在此方面有着最为出色的表现;8路8-14位的内部可编程ADC应用方便,可以省去外接ADC芯片,集成的128 KB可编程闪存和8KB的RAM,系统设计时不需考虑外接ADC和扩展存储器。2.2.2 土壤湿度传

15、感器选型当前土壤水分传感器基本为模拟型号,数字型的非常少见,下面罗列了几种型号:A、FDS-100土壤水分传感器:测量范围:0100%;测量精度:3%;供电:5V10V;输出信号:02.0VDC;工作电流:21mA 。B、SWR2土壤水分传感器:测量范围:0100%;测量精度:050%(m3/m3)范围内为2%;供电:4.5V5.5V;输出信号:02.5VDC;工作电流:60mA。C、TR-5A 型土壤水分传感器:测量范围:0100%;测量精度:050%(m3/m3)范围内为2%;供电:12V24V;输出信号:420mA标准电流环;工作电流:50mA。比较以上几种传感器,FDS-100传感器功

16、耗最低,测量精度虽然稍为逊色,但价格最为便宜,并且应用也最多,主要考虑功耗和价格因素,因此本系统采用FDS-100型传感器 用于测量土壤水分含量。 2.2.3 LCD液晶显示模块选型LCD液晶屏采用OCM12864-9,该LCD具有16*8的英文字母显示能力和8*4的汉字显示能力。由于CC2430的I/O口有限,为了节省有限的系统资源,故采用74HC595串并转换芯片,显示数据经CC2430串行输入74HC595后再由其并行输入给LCD。OCM12864-9字符点阵液晶显示模块描述: 主要工艺:COG 显示内容:128X64点阵 显示模式:STN,POSITIVE 驱动条件:1/64Duty,

17、1/9Bias 背光:LED,白色 工作温度:-20+70 储存温度:-30+80 2.3 本章小结本章主要是对温室自动灌溉系统的总体设计,以及设备各模块元器件的选用和相关介绍。3 硬件电路设计与实现3.1 应用软件介绍本文使用Protel DXP 2004作为绘制底层硬件电路板的工具。Protel DXP 2004是Altium公司在于2004年推出的电路设计软件,是一个32位的电子设计系统。它是一套构建在板设计与实现特性基础上的EDA设计软件,其主要功能包括电路原理图设计、印刷电路板设计、改进型拓扑自动布线、模拟/数字混合信号仿真、布局前后信号完整性分析、PLD2004可编程逻辑系统,以及

18、完整的计算机辅助输出和编辑性能等。本文从电路原理图设计开始,最终得到所需的印刷电路板图。下文对系统的各个功能模块进行了讲述,绘制原理图是绘制PCB板的前提,只有正确的绘制原理图并形成正确的网络表才能绘制PCB板。系统原理图如图3-1所示,最终绘制成的PCB电路板如图3-9、图3-10和图3-11所示,根据该电路板及相关设备选型制作出的实物图如图3-12所示。图3-1 系统原理图3.2 微处理器模块设计3.2.1 CC2430概述CC2430是TI公司设计的一款真正的片上系统解决方案,专为Zigbee应用量身制作,其内部集成有一个高性能的CC2420射频收发器和工业级标准的高性能8051MCU,

19、另外还有一些其它的强大的功能特性,配合业界领先的Zigbee协议栈,CC2430提供了市场上最具竞争力的Zigbee解决方案。其关键性能如下:A、高性能低功耗的8051微控制器内核。B、符合802.15.4标准的CC2420射频收发器。C、优良的无线接收灵敏度和强大的抗干扰性。D、32/64/128KB片内可编程FLASH,8KB静态RAM,其中4KB可在掉电状况下保持数据。E、低功耗。接收模式为27mA,发送模式为25mA;休眠模式时仅0.9A的流耗,外部的中断或RTC 能唤醒系统;在待机模式时少于0.6A的流耗,外部的中断能唤醒系统。F、较宽的电压范围(2.0V-3.6V)。G、21个通用

20、I/O口,两个具有20 mA的吸收电流能力。H、8路8-14位可编程ADC。I、2个强大的支持几组协议的USART。J、一个IEEE802.15.4MAC定时器,一个通用16位定时器和2个8位定时器;一个看门狗定时器。3.2.2 CC2430外围电路设计基于TI公司推出的CC2430实现嵌入式ZigBee应用的微处理器模块硬件电路如图4所示。微处理器模块主要包括微处理器电路和调试电路。数据发送通过单极天线(ANT)来实现,非平衡变压器及配套元件(L1、L2、L3、C6)优化了天线性能,使节点间的最远传输距离可达120米。晶振XTAL2满足了组网需要,晶振XTAL1用于终端节点休眠。仿真器通过J

21、TAG接口连接CC2430内部JTAG调试模块。端口P2.1为调试时钟接口,P2.2为调试数据接口。通过该两端口可对片上闪存编程,访问存储器和寄存器,并可以设置断点、单步操作和修改寄存器。P1口作为数据输出端,与LCD液晶显示模块相连,为节省微处理器的I/O口,将CC2430的P1.3、P1.5、P2.0与移位寄存器74HC595相连,寄存器的输出口与LCD数据口(DB0-DB7)连接作为数据输入,再通过软件模拟OCM12864-9的时序,实现实时数据的查询与显示。图3-2 微处理器模块硬件电路3.2.3 微处理器复位及调试接口电路设计图3-3 复位与调试接口电路(1)复位电路 CC2430有

22、3种复位模式:强制复位引脚RESET_N为低电平、上电复位、看门狗定时器复位。如图3-4所示为外部复位电路,引脚10为复位引脚,当按键S1按下时引脚10输入一低电平脉冲,使系统复位。(2)调试接口电路JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。JTAG技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路TAP(Test Access Port,测试访问口),通过专用的JTAG测试工具对内部节点进行测试。CC2430可通过两线接口对芯片进行调试。端口P2.1为调试时钟接口,P2.2为调试数据

23、接口。通过该两端口可对片上闪存进行编程,可以访问存储器和寄存器,并可进行设置断点、单步操作和修改寄存器。当芯片处于非调试模式时,端口P1.1和端口P2.2可用作普通I/O口。在RESET_N输入引脚为低电平时,在P2.2端口施加两个高电平则系统进入调试模式。3.3 数据采集模块设计数据采集模块由传感器及其接口电路组成,主要完成作物根系处土壤湿度数据采集,传感器需具备较高的精度及较低的功耗,完成土壤湿度的准确测量。按传感器工作特性设计外围接口电路,通过数据线采集数据、电源线驱动传感器。本系统所采用的土壤水分传感器型号为FDS-100,其技术参数为:工作电压512V,工作电流15mA,测量精度3%

24、,探针长度5.3cm,输出模拟信号。由于CC2430内部集成了8通道的814位ADC,所以无需外置A/D转换器,通过P0.0口即可实现信号的传输。另外,本系统采用水流开关来监测灌溉阀门的状态、管路中液体是否流动和流动的量是否达到要求,以此来监测系统运行的可靠性。 图3-4 传感器通用接口电路3.4 电源供应模块设计电源供电部分采用24V直流输入的电源适配器供电,电源输入后,经过桥整、电容滤波后,分为两路,经过LM2596和TPS79533后分别为板子提供5V和3.3V(VCC33)两种电平输入。本系统用到的电压有24V、12V、5V、3.3V。TI公司的电源管理芯片TPS79533解决了5V到

25、3.3V的转换。系统的电源电路如图3-5所示,其中,VCC33跟电池输出的作用一样,都是为板上的元器件和芯片提供合适的工作电源;而VCC5则是用来给控制板上的元器件和芯片供电;另外,它也可以为以5V为工作电压的传感器供电(监测节点上留有土壤湿度传感器的接口,可用于扩展)。图3-5 系统的电源电路3.5 控制模块硬件设计控制模块主要由执行机构及其驱动电路组成。本系统的执行机构采用了中间继电器,它按照微处理器的命令执行相应的操作。而驱动电路是连接微处理器与执行机构的桥梁,在本电路中连接了CC2430和中间继电器。功率驱动部分主要由光电耦合器TPL521和三极管2N3904开关电路构成。光电耦合器T

26、PL521由VCC33供电,主要起隔离作用,把微处理器的控制信号和执行机构的功率信号隔离开来,提高系统抗干扰性,保护温室自动灌溉系统。TPL521的输入为来自微处理器CC2430的小功率信号,经过隔离后把该信号输出至三极管2N3904。三极管2N3904的作用是放大从处理器CC2430输出的控制信号,把其变成可以驱动执行机构的信号。控制模块硬件电路如图3-6所示,P0.3口为低电平时,光耦导通,进而使三极管导通把LED点亮,表示该路控制的强电设备正常工作。图3-6 控制模块硬件电路图为了提高精度,本系统在温室中多点采集作物根系的土壤湿度,微处理器接收多点采集的同一时刻的同一环境参数,根据相应的

27、算法进行均值估算,最后根据需要向相应的执行机构下达任务,执行灌溉命令。3.6 人机交互模块设计加装显示设备,可以更好的实现人机交互,使系统更人性化,本课题采用两种显示方式:LED显示方式和LCD显示方式。本设计采用OCM12864-9液晶显示模块,它是12864点阵型液晶模块,可显示各种字符及图形,可与CPU直接接口,OCM12864-9液晶显示模块对外提供了以下几种信号线:8位标准数据总线(DB0-DB7),读写控制线(R/W),片选信号线(CS),数据/指令选择线(A/O),允许信号线(E),还有复位信号线(/RST)。3.6.1 显示模块原理图设计根据信号线的逻辑电平,选择合适的微处理器

28、CC2430的I/O引脚与之相连接。 为节省微处理器的I/O口,将CC2430的P1.3、P1.5、P2.0与移位寄存器74HC595相连,寄存器的输出口与液晶屏数据口(DB0-DB7)连接作为数据输入,再通过软件模拟OCM12864-9的时序,实现实时数据的查询与显示。另外,通过调节LCD的LED+引脚的偏置电压,对LCD背光进行点亮、熄灭控制,即使在环境光亮程度较低的情况下,可以清晰的观察LCD液晶屏上显示的界面和数据。液晶显示模块硬件接口电路图如图3-7所示。 图3-7 液晶显示模块硬件接口电路图3.6.2 按键电路设计用户通过键盘与系统交互,可对系统程序的运行做出某些配置,系统的键盘电

29、路如图3-8所示。 图3-8 系统的键盘电路图中按键S1、S2、S5和S6实现原理为由P0.6端口采集按键电压,然后经CC2430片内AD转换器识别电压值来判断按键值,S3和S4直接经由端口P0.5和P0.6产生系统中断来判断按键值。端口P1.0和P1.1具有20 mA的吸收电流能力,因此可用于驱动LED,以做显示之用。3.7 PCB电路板制作3.7.1 绘制PCB板本文将整个系统设计为三个PCB板:主板、控制板和CC2430小模块板。主板只包括用户常用的电源模块、人机交互模块;控制板包括控制模块、数据采集模块和电源模块;CC2430小模块主要包括微处理器模块,单独画一块微处理器模块板子主要考

30、虑CC2430可以复用,系统调试过程中如果CC2430被烧坏,主板和控制板仍可以继续使用,减少了系统开发的费用。在绘制PCB板之前,需要给各个元器件添加自己的封装,有些封装在Protel软件中的标准元件库中可以直接找到,但是有些元器件的封装需要自己绘制,如OCM128649、74HC595、LM2596以及单片机CC2430等等都需要自己绘制封装,这就要求查明芯片手册,弄清楚引脚以及元器件各部分尺寸,制作好这些封装后添加到库里就可以直接使用。 规划电路板在给原理图添加好封装后就可以绘制PCB板。电路板采用双层,电路板的大小形状尺寸都要考虑进去,考虑到所选盒子的包装,所以版面尺寸设计的比较大。在

31、规划电路板时还要考虑电路板与外界的接口部分,操作是否方便,是否便于测量等等,如适配器插头、电源开关以及温湿度传感器都要要放到板的边缘。同时还要注意单片机的时钟电路尽量靠近单片机。 手动布线自动布线遵循的原则是路线最短,但是如果采用自动布线,PCB板的美观性就显得很差,而且对于高频电路,自动布线容易造成高频对信号线的干扰,还有就是如果顶层和底层信号线平行的话,容易产生电容耦合,从而造成信号干扰。所以此次设计采用手动布线,对于简单的电路部分可以部分自动布线。 覆铜和补泪滴在完成所有布线并检查无误后就可以进行覆铜,增强板子的抗干扰能力,考虑到大多数厂子制版条件,本设计采用网格法覆铜。补泪滴可以保护焊

32、盘,避免多次焊接时焊盘的脱落,还可以减少阻抗的急剧跳变。覆铜后板如下图所示:图3-9 微处理器模块TOP层图3-10 主板TOP层图3-11控制板TOP层3.8 系统实物制作当PCB板画完之后,将印制板文件送到制板厂家进行电路板的制作,在实验室完成元器件的插装、焊接并装入包装盒后。考虑到温室环境具有湿度大、酸性大、基础设施少、作物众多且动态变化等特点,系统包装盒在设计上需要考虑密封,防止温室中的水蒸气进入设备,使系统的电子器件短路。另外在考虑到美观等因素,系统采用航空接头作为 接插件。 3.9 本章小结本章重点介绍了各个功能模块的硬件电路设计,借助Protel DXP 2004电路设计软件完成

33、原理图以及PCB版的制作,为以后的软件设计打下基础。4 系统软件设计4.1 应用软件介绍IAR Embedded Workbench(简称EW)的C/C+交叉编译器和调试器是今天世界最完整的和最容易使用专业嵌入式应用开发工具。EW对不同的微处理器提供一样直观用户界面。EW今天已经支持35种以上的8位、16位、32位ARM的微处理器结构。IAR界面如图4-1所示图4-1 IAR主界面操作步骤: 使用IAR开发环境首先应建立一个新的工作区。用户打开IAR Embedded Workbench时,已经建好了一个工作区,可选择打开最近使用的工作区或向当前工作区添加新的工程。 单击Project菜单,选

34、择Create New Project,弹出建立新工程对话框,确认 Tool chain已经选择8051,在Project templates选择Empty project单击下方OK按钮。 根据需要选择工程保存的位置,更改工程名,如ledtest单击Save来保存。这样便建立了一个空的工程。系统产生两个创建配置:调试和发布。在这里我们只使用 Debug 即调试。项目名称后的星号(*)指示修改还没有保存。选择菜单 FileSaveWorkspace,保存工作区文件,并指明存放路径,这里把它放到新建的工程目录下。 选择ProjectMake或按F7键编译和连接工程,如图4-2所示。图4-2 IA

35、R编译连接界面成功编译工程,并且没有错误信息提示后,按照下图连接硬件系统。图4-3 IAR连接图选择IAR集成开发环境中菜单ProjectDebug或按快捷键CTRL+D进入调试状态,也可按工具栏上按钮进入程序下载,程序下载完成后,IAR将自动跳转至仿真状态。 安装完成仿真器驱动后,通过USB接口把ZigBee开发系统与计算机连接后,进入IAR编译环境进行仿真调试。选择菜单ProjectDebug或按快捷键CTRL+D进入调试状态,也可按工具栏上按钮进入调试。4.2 系统需求分析温室环境具有湿度大、基础设施少、作物众多且动态变化等特点。温室设施农业中的灌溉如果能够自动控制,则可以减少不必要的劳

36、动,因此信息化的应用在农业方面是比较重要的。比如管理一个连栋温室,面积很大,在灌溉中需要人跑好远去打开开关,然后才能灌溉,等灌溉完毕还需要再去关闭开关。当然也可以通过在每个灌水开关(电气开关)布线,将所有线路连接到一个配电室。其基本思路如下图4-4所示,当然这可以实现,有专门的人员去管理每个灌溉线路,确保指定时间后按时关闭电线开关。这个时候,管理员必须要非常的尽职尽责。可是,人都会有犯错误、疏忽的时候,如果一次的失误如忘记拉开关,可能会导致温室灌水太多,从而造成经济上的损失。 图4-4非自动控制条件下的作物灌溉系统示意图农业技术的进一步发展使得对各种作物的种植都具有了一定的科学数据,如果能把各

37、种信息采集设备所获取的数据应用到作为栽培之中,那么势必会大大的提高生产力。本文主要探讨作物需水自动化控制系统在作物灌溉中的应用。主要解决以下一些问题:(1)科学的灌溉模型;(2)通过对作物根域的土壤湿度信号进行实时监测,直接反映作物根系的需水量;(3)针对不同作物及其不同发育期,通过人机交互系统输入相关参数,使得土壤湿度达到预期的标准,达到节水和精确灌溉的目的,并能灵活适用于多种场合;(4)实时监测灌溉阀门的状态,并且做到自动控制和手动控制皆可使用。这些问题的解决,对于作物灌溉系统的智能化以及自动化具有重要的现实意义。4.3 系统程序设计4.3.1 系统主程序设计软件启动后首先进行初始化设置,

38、如单片机串口初始化等。串口的初始化包括:确定编程寄存器的工作方式、确定串行口控制及需要进行的中断设置等。接收数据进入寄存器,并由软件读入数据,检查数据读入的位数,当数据完整时程序返回数据,由湿度转化函数转化为十进制数,传递给数据分析、决策控制模块,然后判定是否打开阀门。阀门开启后实时监控土壤湿度值,在土壤湿度值满足阈值后,关闭阀门。如果未达到阈值则开启阀门重新灌溉,如果达到阈值则存储出水量、阀门打开时间、参考阈值及系统时间等,然后关闭数据接收。软件流程图如图4-5所示。图4-5 系统主程序设计图针对不同的控制对象,本系统可根据需要设计不同的控制策略。结合农民已有的经验,根据不同地区土壤条件、气

39、候条件、作物种类及生长阶段、按照灌溉的要求特性及作物的生长状况,制定出合理的、便于实施的灌溉制度,包括不同作物、不同生育期的灌水起始点,灌水上限,预警阈值等方面。合理灌溉技术的关键是控制灌水的均匀度,以适量的水进行适时灌溉,既能满足作物对水的需要,又不至于造成土壤含水量过多和空气湿度过大,引起作物发生各种霉病。4.3.2 传感器采集程序设计本系统选用的土壤水分传感器FDS-100,模拟传感器输出模拟信号,在用CC2430处理相应的数据之前需先将模拟信号转换为数字信号,然后再交由CC2430处理。将模拟信号转换为数字信号的设备是ADC(模数转换器),CC2430内部带有一个8-14位的ADC,并

40、且具有8路可配置的通道以及一个参考电压发生器。在使用CC2430内部的AD之前需先根据实际需求对其做出相应的配置,以使其工作在合适的状态下。1. ADC主要特性(1)参考电压参考电压为AD转换的基准电压,CPU正是以其为标准来计算模拟输入信号的大小。CC2430内部的ADC经过寄存器配置可以选择多种形式的参考电压:A、内部1.25V参考电压。B、P0.7输入电压。C、CC2430供电电压。D、P0.6和P0.7两个引脚的差分输入电压。(2)输入通道输入通道为模拟信号的输入端口,通道越多,CPU可采集的模拟信号路数越多。经过寄存器配置可将CC2430P0口的8个引脚均配置为内部AD的输入通道。在

41、设计电路时,需将不同模拟传感器的信号输出连接至8路通道中的一个。(3)分辨率分辨率为模拟信号转化为数字信号后的位数,是ADC的一个重要参数,分辨率越高,转换后的信号越精确,但相应的转换时间也越长。CC2430内部ADC总共有四种形式的分辨率:8位、10位、12位、14位,这可通过相应的寄存器来配置,本文选用14位分辨率的ADC。2.模拟传感器采集程序设计因为CC2430内部ADC具有连续转换多个通道的功能,因此在设计程序时应将几个通道的输入信号依次转换完毕以简化程序设计,并降低系统转换功耗。具体程序流程如图4-6所示。图4-6 数据采集程序流程4.3.3 显示程序设计要想实现土壤湿度及时间的显

42、示,最重要的是对LCD12864的读写操作,LCD12864有自己的RAM地址及指令,以及自身的标准字符库。液晶显示模块OCM128649指令表如表4-1所示。表41 液晶显示模块OCM128649指令表指令指令代码用途A0 /RD /WRD7 D6 D5 D4 D3 D2 D1 D0显示开关0 1 01 0 1 0 1 1 1 00:关闭 1:开始显示行列开始0 1 00 1 显 示 开 始 地 址设置RAM显示和地址行显示页码地址设置0 1 01 0 1 1 页 码 地 址设置RAM页码地址行显示状态读取0 0 1状 态 0 0 0 0读取状态数据显示数据读取1 0 1读 取 数 据从RA

43、M中读数据显示数据写入1 1 0写 入 数 据向RAM中写数据ADC选择0 1 01 0 1 0 0 0 0 00:正常1不正常显示正常与否0 1 01 0 1 0 0 1 1 00:正常1不正常结束0 1 01 1 1 0 1 1 1 0清理读/修改/写复位0 1 01 1 1 0 0 0 1 0内部复位电源控制设置0 1 00 0 1 0 1 设置模式选择内部电源控制模式设置空指令0 1 01 1 1 0 0 0 1 1空指令代码测试0 1 01 1 1 1 * * * *芯片代码测试读/修改/写0 1 01 1 1 0 0 0 0 0写:+1 读:0显示所有点开关0 1 01 0 1 0

44、 0 1 0 00:正常显示 1:所有点开始 LCD初始化函数如下:void LCDInit(void) P1DIR |= 0xFF;P2DIR |= 0xFF;P0DIR |= 0xFF;P1_2 = 0;/打开背景灯delay_us(1000); WriteLCD(COMMAND , 0xE2);/复位delay_us(1000);WriteLCD(COMMAND , 0xA3);delay_us(1000);WriteLCD(COMMAND , 0xA0);delay_us(1000);WriteLCD(COMMAND , 0xC8);delay_us(1000);WriteLCD(CO

45、MMAND , 0x24);delay_us(1000);WriteLCD(COMMAND , 0x81);delay_us(1000);WriteLCD(COMMAND , 0x14);delay_us(1000);WriteLCD(COMMAND , 0x2F); delay_us(1000);WriteLCD(COMMAND , 0x40);/从第一列开始显示delay_us(1000);WriteLCD(COMMAND , 0xB0);delay_us(1000);WriteLCD(COMMAND , 0x10);delay_us(1000);WriteLCD(COMMAND , 0x00);delay_us(1000);WriteLCD(COMMAND , 0xAF);WriteLCD(COMMAND , 0x81);WriteLCD(COMMAND , 0x1b);ClearScreen(); SetContrast(20,80);4.4 灌溉模型设计在温室栽培条件下,土壤水分平

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁