基于单片机的温室自动灌溉系统设计与实现 - 图文

更新时间:2024-03-28 19:34:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于单片机的温室自动灌溉系统设计

摘 要

我国设施农业节水灌溉已成为农业工程领域中重点关注的问题之一,由于国内外的自动灌溉系统造价高、使用复杂而难以推广,开发满足当前设施农业生产需求的灌溉控制系统具有重要意义。

本文设计了一种基于单片机的温室自动灌溉系统,实现了作物根系处土壤湿度的监测与自动控制。该系统以CC2430单片机为核心,采用模块化设计思路,主要包含微处理器模块、数据采集模块、控制模块、电源供应模块及人机交互模块。系统将周期采集的土壤湿度数据传送到微处理器模块,由决策算法对数据进行分析后做出是否灌溉的指令,在灌溉过程中由数据采集模块持续监测土壤湿度,并根据监测结果,反馈控制灌溉设备的启停,以此实现土壤湿度维持在预设范围。系统采用人机交互模块实现灌溉阈值的可配置,满足不同设施作物种植的参数定制需求,同时提供实时土壤湿度查看和灌溉设备状态管理功能。

初步试验表明,系统把土壤湿度提高30%所需的时间在50~60min之内,控制误差在3%以内,且运行稳定,操作简单,准确性和快速性指标能满足设施农业灌溉要求。系统成本低、可维护性强,从而具有良好的推广应用前景。

关键词:温室自动灌溉;土壤湿度监测;单片机

目录

1 绪论 ...................................................................................................................................................... - 1 -

1.1 研究背景 .................................................................................................................................... - 1 - 1.2 研究现状 .................................................................................................................................... - 1 - 1.3 研究目的 .................................................................................................................................... - 2 - 1.4 论文结构 .................................................................................................................................... - 2 -

2 系统结构设计及器件选型 ............................................................................................................. - 3 -

2.1 系统结构设计 ............................................................................................................................ - 3 - 2.2 器件选型 .................................................................................................................................... - 4 -

2.2.1 微处理器选型 ................................................................................................................ - 4 - 2.2.2 土壤湿度传感器选型 .................................................................................................... - 5 - 2.2.3 LCD液晶显示模块选型 ................................................................................................. - 5 - 2.3 本章小结 .................................................................................................................................... - 6 -

3 硬件电路设计与实现 ...................................................................................................................... - 7 -

3.1 应用软件介绍 ............................................................................................................................ - 7 - 3.2 微处理器模块设计 .................................................................................................................... - 8 -

3.2.1 CC2430概述 ................................................................................................................... - 8 - 3.2.2 CC2430外围电路设计 ................................................................................................... - 8 - 3.2.3 微处理器复位及调试接口电路设计 ............................................................................ - 9 - 3.3 数据采集模块设计 .................................................................................................................. - 10 - 3.4 电源供应模块设计 .................................................................................................................. - 10 - 3.5 控制模块硬件设计 ...................................................................................................................- 11 - 3.6 人机交互模块设计 .................................................................................................................. - 12 -

3.6.1 显示模块原理图设计 .................................................................................................. - 12 - 3.6.2 按键电路设计 .............................................................................................................. - 12 - 3.7 PCB电路板制作 ....................................................................................................................... - 13 - 3.7.1 绘制PCB板 .................................................................................................................. - 13 - 3.8 系统实物制作 .......................................................................................................................... - 16 - 3.9 本章小结 .................................................................................................................................. - 16 -

4 系统软件设计 .................................................................................................................................. - 17 -

4.1 应用软件介绍 .......................................................................................................................... - 17 - 4.2 系统需求分析 .......................................................................................................................... - 18 - 4.3 系统程序设计 .......................................................................................................................... - 19 -

4.3.1 系统主程序设计 .......................................................................................................... - 19 -

4.3.2 传感器采集程序设计 .................................................................................................. - 21 - 4.3.3 显示程序设计 .............................................................................................................. - 22 - 4.4 灌溉模型设计 .......................................................................................................................... - 24 - 4.5 系统应用方案设计 .................................................................................................................. - 26 -

4.5.1 控制方式的选择 .......................................................................................................... - 26 - 4.5.2 工作方式的选择 .......................................................................................................... - 26 - 4.6 本章小结 .................................................................................................................................. - 27 -

5 系统应用验证 ....................................................................................................................................... 27

I

5.1 验证内容 ....................................................................................................................................... 28 5.2 本章小结 ....................................................................................................................................... 28

6 总结与展望 ........................................................................................................................................... 29

6.1 总结 ............................................................................................................................................... 29 6.2 展望 ............................................................................................................................................... 29

参考文献 .................................................................................................................................................... 30 致 谢 ........................................................................................................................................................... 31

II

绪论

1 绪论

1.1 研究背景

自古以来,我国就是一个以农业为主的国家,即便到了现代社会,农业仍是我国国民经济的基础。但我国农业生产效率低下,长期以来一直以经验种植为主,农业生产效率仅为发达国家的1/10。为解决三农问题,国家正大力发展现代农业,温室是其中一个重要的组成部分,可增加作物年均成熟次数,增大作物产量,提高农业生产效率,因此,大力发展温室产业,对我国这样一个人口多耕地少的国家而言具有极大的战略意义[1]。目前,我国的温室面积已突破210万hm,总面积达世界第一,但我国温室管理水平落后,大多控制系统采用定时控制或者手动控制方式[2]。在灌溉管理方面,通常存在浇水不及时、不均、灌水不足或过量灌水等现象[3]。

自动灌溉系统通常对作物根系的土壤湿度进行实时监测,获得作物根系的需水量,以此作为自动灌溉的依据。温室自动灌溉可实现土壤湿度和营养成分的有效管理,是保证设施作物优质高产的重要措施[4]。随着精准感知技术、定量控制技术的迅速发展,自动控制技术在节水灌溉中有了新的发展[5],通过灌溉控制器适时、适量地灌水,在节省水、人工和提高作物产量方面取得了一定的成效,可显著提高灌溉精准度,提高水的利用率。

本文设计一种操作简单、精确灌溉的低成本自动化控制灌溉系统,使之既能保证植物的良好的生长状态,又能做到尽量节水,对温室农业的发展具有重要意义。 1.2 研究现状

在国外,早在20世纪50年代,利用电子设备、计算机设备和程序控制的灌排系统就得到很大发展,并在法国、美国、日本等发达国家得到日益广泛的应用。1966年美国利用虚拟仪器技术开发了一套AgriMate自动灌溉系统,系统中的现场处理器由LabVIEW的个人计算机控制。现场处理器配置了模拟输入、锁存和继电器板,用户可以监控水箱水位、阀门位置、泵的状态和土壤湿度等,而修改设定点即可改变灌溉计划。水的用法、水箱水位和降水情况等都是存储在灌溉数据库文件里的数据,用户能够读出这些数据以与当前数据进行比较,以图形方式显示给定月份的土壤湿润度和外加的水,其发展程度已经非常高[6]。相关研究依靠气象数据,通过对比过去灌区的蒸发量及灌水量,结合各分灌区的植物种类分布、地形、土壤成分等数据进行自动分析,并自动制定出当前各项灌溉指标的灌溉系统,存在灌溉依据的间接性,很可能偏离灌溉目标[5]。近年来相关研究已经深入到将气象因素、蒸腾量和土壤含水率相结合的综合灌溉控制系统。但国外的设备普遍价格昂贵、专业性较强,不适合普通用户使用。

国内在这方面的研究起步较晚,但也取得一定成就[7-12],比如北京农业工程大学研制了以INTEL公司的8031系统单片机为核心的自动化灌溉系统,该系统为多通道土壤水分检测、多路控制灌溉的控制系统。张建丰等研发的多功能网络式自动灌溉方法及其

- 1 -

2

总结与展望

装置,实现了定时、定量,根据土壤湿度,预先制定灌溉计划的灌水功能。但总体上,国内灌溉自动化程度不高,相关设备落后,与国外的先进水平还有很大的差距。

国内外专家在这方面已做出了不可否认的成就[9-16],但这些自动灌溉系统由于造价高、专业性强而难以推广。本文设计的系统通过实时监测作物根域的土壤湿度信号,从而对作物进行适时适量按需灌溉,不但可以做到精准灌溉,达到节水的目的,而且操作简单,开发成本低,适于推广。 1.3 研究目的

温室在作物生长过程中,根系会从土壤孔隙中吸取水分,通过对作物根域附近的土壤湿度的实时监测直接反映作物根系的需水量。我国现阶段大多灌溉控制系统采用定时控制或者手动控制方式,浇水不及时、不均、灌水不足或过量灌水现象时有发生;更为先进的,依靠气象数据和对比过去灌区的蒸发量及灌水量制定出当前各项灌溉指标的灌溉系统,存在灌溉依据的间接性,很可能偏离灌溉目标。

本课题将研究解决以上问题,设计了一种基于单片机的信息采集与自动灌溉控制一体化系统,它具有设备成本低、可维护性强、可靠性高等独特的优势,并能给用户提供预警支持,从而减少农民劳作强度,增加产量。 1.4 论文结构

本论文章节结构按如下安排:

第一章介绍温室自动灌溉系统的研究背景、国内外研究现状、研究目的和论文结构。 第二章给出系统设计原理框图,选择器件类型以及对设计中用到的元器件的介绍。 第三章硬件电路的设计,包括微处理器模块、数据采集模块、控制模块、电源供应模块以及人机交互模块电路设计。

第四章主要是软件设计与实现,介绍单片机开发软件IAR,重点是各个模块软件设计。

第五章主要是系统的应用与验证。 第六章主要是总结与展望。

- 2 -

系统结构设计及器件选型

2 系统结构设计及器件选型

本系统以单片机(CC2430)为核心,采用模块化设计方法,主要由微处理器模块、数据采集模块、控制模块、电源供应模块、人机交互模块及相关软件组成。

单片机是整个系统的核心,它控制本系统的各种功能,因此选择性能可靠的单片机就显得尤为重要,考虑到满足功能要求、稳定性、性价比、开发等因素,选用TI生产的CC2430。

土壤湿度传感器是本系统的测量元件,传感器性能的好坏直接影响到本系统性能的好坏。本设计采用的FDS-100,其技术参数为:工作电压5~12V,工作电流15mA,测量精度≤3%,探针长度5.3cm,输出模拟信号。

在本系统中,采用LCD作为显示单元,LCD液晶显示器具有功耗低、寿命长、无辐射、不易引起视疲劳等优点,正在广泛应用于仪表、家用电器、计算机、医疗仪器及交通和通信领域。本系统采用OCM12864-9液晶显示模块,它是128×64点阵型液晶模块,可显示各种字符及图形,可与CPU直接接口。 2.1 系统结构设计

所谓的模块化设计,简单的说就是将产品的某些要素组合起来,构成一个具有特定功能的子系统,将这个子系统作为通用性的模块与其他产品要素进行多种组合,构成新的系统,产生多种不同功能或相同功能、不同性能的系列产品。模块化是在传统设计基础上发展起来一种新的设计思想,现已成为一种新的设计思想被广泛采用,尤其是信息时代电子产品不断推陈出新,模块化设计的产品正在不断涌现。模块化设计已被广泛用于机床、电子产品、航空、航天等设计领域。模块化设计是绿色设计方法之一,它已经从理念转变为比较成熟的设计方法[17]。

本文设计的温室自动灌溉系统是实现温室作物根系处土壤湿度的自动控制,采用模块化设计方法,系统主要由微处理器模块、数据采集模块、控制模块、电源供应模块以及人机交互模块组成。整个系统以单片机(CC2430)为控制核心,系统运行时,首先将数据采集模块采集到的土壤湿度数据传送到微处理器模块上,并将采集到的土壤湿度数据显示在液晶屏上,由存储在单片机的决策算法对数据进行分析后做出是否灌溉的指令,与此同时数据采集模块对土壤湿度进行实时监测,将土壤湿度参数信息送入微处理器模块发出是否继续灌水的指令,直到土壤湿度维持在我们预先设定的灌溉阈值停止灌水。另外系统针对不同农作物及其不同发育期,可预先通过人机交互模块输入相关参数,使得土壤湿度达到我们预期的标准,达到节水和精确灌溉的目的,灵活适用于多种场合。系统示意图如2-1所示:

- 3 -

总结与展望

CC2430CC2420FLASH2.4GHz计算机人机交互模块UART按键通用数字I/O通用数字I/O光耦TLP521LCD8051MPU驱动模块A/DFDS-100控制模块数据采集模块电源供应模块(电池/市电/太阳能可选)灌溉设备水流开关

图2-1 温室自动灌溉系统示意图

2.2 器件选型

在系统的硬件设计上,最重要的是低功耗的设计。低功耗的设计可以分为硬件和软件两个方面,在硬件方面体现在芯片的选择上。 2.2.1 微处理器选型

微处理器是整个系统的核心,直接关系到系统的整体性能、价位、开发难度等。在选择微处理器芯片时需考虑以下因素:

A、芯片集成度高低

有些芯片内部集成有FLASH、AD等外围设备,外围设备越多,硬件电路越简单,系统功耗也会越小,因此应尽量选择集成度高的芯片。

B、开发商开发套件完备程度

不同的开发商提供的开发系统不尽相同,开发套件完备程度关系到系统开发的难度,选择芯片时应考虑开发商提供的资料是否满足开发需求。

C、价格高低

下面首先对当前几种主流的微处理器芯片加以介绍。 (1)TI公司的CC2430

A、高性能8位8051微控制器核,是常规8051CPU处理速度的8倍。 B、128KB可编程FLASH和8KB的RAM。

C、接收模式功耗低于27mA,发射模式低于25mA。

D、休眠模式仅0.9μA的功耗,在待机模式时少于0.6μA的功耗。 E、集成可编程的8-14位8路输入模数转换ADC。 (2)SN250:

- 4 -

系统结构设计及器件选型

A、16位XAP2b微处理器。

B、128KB的FLASH及5KB的RAM。

C、两种休眠模式:处理器空闲[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 土壤湿度传感器选型

当前土壤水分传感器基本为模拟型号,数字型的非常少见,下面罗列了几种型号: A、FDS-100土壤水分传感器:测量范围:0~100%;测量精度:±3%;供电:5V~10V;输出信号:0~2.0VDC;工作电流:21mA 。

B、SWR2土壤水分传感器:测量范围:0~100%;测量精度:0~50%(m3/m3)范围内为±2%;供电:4.5V~5.5V;输出信号:0~2.5VDC;工作电流:60mA。

C、TR-5A 型土壤水分传感器:测量范围:0~100%;测量精度:0~50%(m3/m3)

范围内为±2%;供电:12V~24V;输出信号:4~20mA标准电流环;工作电流:50mA。 比较以上几种传感器,FDS-100 传感器功耗最低,测量精度虽然稍为逊色,但价格最为

便宜,并且应用也最多,主要考虑功耗和价格因素,因此本系统采用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,1/9Bias ? 背光:LED,白色 ? 工作温度:-20℃—+70℃

- 5 -

总结与展望

? 储存温度:-30℃—+80℃ 2.3 本章小结

本章主要是对温室自动灌溉系统的总体设计,以及设备各模块元器件的选用和相关介绍。

- 6 -

硬件电路设计与实现

3 硬件电路设计与实现

3.1 应用软件介绍

本文使用Protel DXP 2004作为绘制底层硬件电路板的工具。Protel DXP 2004是Altium公司在于2004年推出的电路设计软件,是一个32位的电子设计系统。它是一套构建在板设计与实现特性基础上的EDA设计软件,其主要功能包括电路原理图设计、印刷电路板设计、改进型拓扑自动布线、模拟/数字混合信号仿真、布局前后信号完整性分析、PLD2004可编程逻辑系统,以及完整的计算机辅助输出和编辑性能等。本文从电路原理图设计开始,最终得到所需的印刷电路板图。

下文对系统的各个功能模块进行了讲述,绘制原理图是绘制PCB板的前提,只有正确的绘制原理图并形成正确的网络表才能绘制PCB板。系统原理图如图3-1所示,最终绘制成的PCB电路板如图3-9、图3-10和图3-11所示,根据该电路板及相关设备选型制作出的实物图如图3-12所示。

图3-1 系统原理图

- 7 -

总结与展望

3.2 微处理器模块设计 3.2.1 CC2430概述

CC2430是TI公司设计的一款真正的片上系统解决方案,专为Zigbee应用量身制作,其内部集成有一个高性能的CC2420射频收发器和工业级标准的高性能8051MCU,另外还有一些其它的强大的功能特性,配合业界领先的Zigbee协议栈,CC2430提供了市场上最具竞争力的Zigbee解决方案。其关键性能如下:

A、高性能低功耗的8051微控制器内核。 B、符合802.15.4标准的CC2420射频收发器。 C、优良的无线接收灵敏度和强大的抗干扰性。

D、32/64/128KB片内可编程FLASH,8KB静态RAM,其中4KB可在掉电状况下保持数据。

E、低功耗。接收模式为27mA,发送模式为25mA;休眠模式时仅0.9μA的流耗,外部的中断或RTC 能唤醒系统;在待机模式时少于0.6μA的流耗,外部的中断能唤醒系统。

F、较宽的电压范围(2.0V-3.6V)。

G、21个通用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用于终端节点休眠。仿真器通过JTAG接口连接CC2430内部JTAG调试模块。端口P2.1为调试时钟接口,P2.2为调试数据接口。通过该两端口可对片上闪存编程,访问存储器和寄存器,并可以设置断点、单步操作和修改寄存器。P1口作为数据输出端,与LCD液晶显示模块相连,为节省微处理器的I/O口,将CC2430的P1.3、P1.5、P2.0与移位寄存器74HC595相连,寄存器的输出口与LCD数据口(DB0-DB7)连接作为数据输入,再通过软件模拟OCM12864-9的时序,实现实时数据的查询与显示。

- 8 -

3.2.3 微处理器复位及调试接口电路设计

(2)调试接口电路

(1)复位电路

时引脚10输入一低电平脉冲,使系统复位。

硬件电路设计与实现

图3-2 微处理器模块硬件电路

图3-3 复位与调试接口电路

定时器复位。如图3-4所示为外部复位电路,引脚10为复位引脚,当按键S1按下

CC2430有3种复位模式:强制复位引脚RESET_N为低电平、上电复位、看门狗

- 9 -

总结与展望

JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。JTAG技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路TAP(Test Access Port,测试访问口),通过专用的JTAG测试工具对内部节点进行测试。

CC2430可通过两线接口对芯片进行调试。端口P2.1为调试时钟接口,P2.2为调试数据接口。通过该两端口可对片上闪存进行编程,可以访问存储器和寄存器,并可进行设置断点、单步操作和修改寄存器。当芯片处于非调试模式时,端口P1.1和端口P2.2可用作普通I/O口。在RESET_N输入引脚为低电平时,在P2.2端口施加两个高电平则系统进入调试模式。 3.3 数据采集模块设计

数据采集模块由传感器及其接口电路组成,主要完成作物根系处土壤湿度数据采集,传感器需具备较高的精度及较低的功耗,完成土壤湿度的准确测量。按传感器工作特性设计外围接口电路,通过数据线采集数据、电源线驱动传感器。本系统所采用的土壤水分传感器型号为FDS-100,其技术参数为:工作电压5~12V,工作电流15mA,测量精度≤3%,探针长度5.3cm,输出模拟信号。由于CC2430内部集成了8通道的8~14位ADC,所以无需外置A/D转换器,通过P0.0口即可实现信号的传输。另外,本系统采用水流开关来监测灌溉阀门的状态、管路中液体是否流动和流动的量是否达到要求,以此来监测系统运行的可靠性。

图3-4 传感器通用接口电路

3.4 电源供应模块设计

电源供电部分采用24V直流输入的电源适配器供电,电源输入后,经过桥整、电容滤波后,分为两路,经过LM2596和TPS79533后分别为板子提供5V和3.3V(VCC33)两种电平输入。本系统用到的电压有24V、12V、5V、3.3V。TI公司的电源管理芯片TPS79533解决了5V到3.3V的转换。系统的电源电路如图3-5所示,其中,VCC33跟电池输出的作用一样,都是为板上的元器件和芯片提供合适的工作电源;而VCC5则是用来给控制板上的元器件和芯片供电;另外,它也可以为以5V为工作电压的传感器供电(监测节点上留有土

- 10 -

硬件电路设计与实现

壤湿度传感器的接口,可用于扩展)。

图3-5 系统的电源电路

3.5 控制模块硬件设计

控制模块主要由执行机构及其驱动电路组成。本系统的执行机构采用了中间继电器,它按照微处理器的命令执行相应的操作。而驱动电路是连接微处理器与执行机构的桥梁,在本电路中连接了CC2430和中间继电器。功率驱动部分主要由光电耦合器TPL521和三极管2N3904开关电路构成。光电耦合器TPL521由VCC33供电,主要起隔离作用,把微处理器的控制信号和执行机构的功率信号隔离开来,提高系统抗干扰性,保护温室自动灌溉系统。TPL521的输入为来自微处理器CC2430的小功率信号,经过隔离后把该信号输出至三极管2N3904。三极管2N3904的作用是放大从处理器CC2430输出的控制信号,把其变成可以驱动执行机构的信号。控制模块硬件电路如图3-6所示,P0.3口为低电平时,光耦导通,进而使三极管导通把LED点亮,表示该路控制的强电设备正常工作。

图3-6 控制模块硬件电路图

为了提高精度,本系统在温室中多点采集作物根系的土壤湿度,微处理器接收多点采集的同一时刻的同一环境参数,根据相应的算法进行均值估算,最后根据需要向相应的执行机构下达任务,执行灌溉命令。

- 11 -

系统软件设计

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菜单,选择Create New Project,弹出建立新工程对话框,确认 Tool chain已经选择8051,在Project templates选择Empty project单击下方OK按钮。

??根据需要选择工程保存的位置,更改工程名,如ledtest单击Save来保存。这样便建立了一个空的工程。系统产生两个创建配置:调试和发布。在这里我们只使用 Debug 即调试。项目名称后的星号(*)指示修改还没有保存。选择菜单 File\\Save\\Workspace,保存工作区文件,并指明存放路径,这里把它放到新建的工程目录下。

??选择Project\\Make或按F7键编译和连接工程,如图4-2所示。

- 17 -

总结与展望

图4-2 IAR编译连接界面

成功编译工程,并且没有错误信息提示后,按照下图连接硬件系统。

图4-3 IAR连接图

选择IAR集成开发环境中菜单Project\\Debug或按快捷键CTRL+D进入调试状态,也可按工具栏上按钮进入程序下载,程序下载完成后,IAR将自动跳转至仿真状态。

? 安装完成仿真器驱动后,通过USB接口把ZigBee开发系统与计算机连接后,进入IAR编译环境进行仿真调试。选择菜单Project\\Debug或按快捷键CTRL+D进入调试状态,也可按工具栏上按钮进入调试。 4.2 系统需求分析

温室环境具有湿度大、基础设施少、作物众多且动态变化等特点。温室设施农业中的灌溉如果能够自动控制,则可以减少不必要的劳动,因此信息化的应用在农业方面是比较重要的。比如管理一个连栋温室,面积很大,在灌溉中需要人跑好远去打开开关,然后才能灌溉,等灌溉完毕还需要再去关闭开关。当然也可以通过在每个灌水开关(电气开关)布线,将所有线路连接到一个配电室。其基本思路如下图4-4所示,当然这可以实现,有专门的人员去管理每个灌溉线路,确保指定时间后按时关闭电线开关。这个

- 18 -

系统软件设计

时候,管理员必须要非常的尽职尽责。可是,人都会有犯错误、疏忽的时候,如果一次的失误如忘记拉开关,可能会导致温室灌水太多,从而造成经济上的损失。

图4-4非自动控制条件下的作物灌溉系统示意图

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

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

- 19 -

总结与展望

开始初始化系统N参数设置Y控制方式、灌溉阈值设置AD采样处理土壤湿度数据显示Y水泵关闭NN小于灌溉阈值Y发出灌溉指令开启水泵大于灌溉阈值YN关闭水泵

图4-5 系统主程序设计图

针对不同的控制对象,本系统可根据需要设计不同的控制策略。结合农民已有的经验,根据不同地区土壤条件、气候条件、作物种类及生长阶段、按照灌溉的要求特性及作物的生长状况,制定出合理的、便于实施的灌溉制度,包括不同作物、不同生育期的灌水起始点,灌水上限,预警阈值等方面。合理灌溉技术的关键是控制灌水的均匀度,以适量的水进行适时灌溉,既能满足作物对水的需要,又不至于造成土壤含水量过多和空气湿度过大,引起作物发生各种霉病。

- 20 -

系统软件设计

4.3.2 传感器采集程序设计

本系统选用的土壤水分传感器FDS-100,模拟传感器输出模拟信号,在用CC2430处理相应的数据之前需先将模拟信号转换为数字信号,然后再交由CC2430处理。将模拟信号转换为数字信号的设备是ADC(模数转换器),CC2430内部带有一个8-14位的ADC,并且具有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的输入通道。在设计电路时,需将不同模拟传感器的信号输出连接至8路通道中的一个。

(3)分辨率

分辨率为模拟信号转化为数字信号后的位数,是ADC的一个重要参数,分辨率越高,转换后的信号越精确,但相应的转换时间也越长。CC2430内部ADC总共有四种形式的分辨率:8位、10位、12位、14位,这可通过相应的寄存器来配置,本文选用14位分辨率的ADC。

2.模拟传感器采集程序设计

因为CC2430内部ADC具有连续转换多个通道的功能,因此在设计程序时应将几个通道的输入信号依次转换完毕以简化程序设计,并降低系统转换功耗。具体程序流程如图4-6所示。

- 21 -

总结与展望

配置参考电压配置输入通道启动转换配置分辨率转换完毕读取数据配置转换模式数据处理

图4-6 数据采集程序流程

4.3.3 显示程序设计

要想实现土壤湿度及时间的显示,最重要的是对LCD12864的读写操作,LCD12864有自己的RAM地址及指令,以及自身的标准字符库。液晶显示模块OCM12864—9指令表如表4-1所示。

- 22 -

系统软件设计

表4—1 液晶显示模块OCM12864—9指令表

指令

指令代码

A0 /RD /WR D7 D6 D5 D4 D3 D2 D1 D0

显示开关 显示行列开始

0 1 0

1 0 1 0 1 1 1 0

0:关闭 1:开始 设置RAM显示和地址行显示

页码地址设置

0 1 0 1 0 1 1 页 码 地 址

设置RAM页码地址行显示

状态读取 显示数据读取 显示数据写入 ADC选择 显示正常与否 结束 复位 电源控制设置

0 0 1 状 态 0 0 0 0 1 0 1 1 1 0

读 取 数 据 写 入 数 据

读取状态数据 从RAM中读数据 向RAM中写数据 0:正常1不正常 0:正常1不正常 清理读/修改/写

内部复位 选择内部电源控制模式设置

空指令 测试 读/修改/写

0 1 0 1 1 1 0 0 0 1 1 0 1 0 1 1 1 1 * * * * 0 1 0 1 1 1 0 0 0 0 0

空指令代码 芯片代码测试 写:+1 读:0 0:正常显示 1:所有点开始

用途

0 1 0 0 1 显 示 开 始 地 址

0 1 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 1 0 1 1 1 0 0 0 1 0 0 1 0 0 0 1 0 1 设置模式

显示所有点开关 0 1 0 1 0 1 0 0 1 0 0

LCD初始化函数如下: void LCDInit(void) {

P1DIR |= 0xFF; P2DIR |= 0xFF; P0DIR |= 0xFF; P1_2 = 0;//打开背景灯

delay_us(1000); delay_us(1000); delay_us(1000);

WriteLCD(COMMAND , 0xE2);//复位 WriteLCD(COMMAND , 0xA3); WriteLCD(COMMAND , 0xA0);

- 23 -

总结与展望

delay_us(1000); delay_us(1000); delay_us(1000); delay_us(1000); delay_us(1000);

WriteLCD(COMMAND , 0xC8); WriteLCD(COMMAND , 0x24); WriteLCD(COMMAND , 0x81); WriteLCD(COMMAND , 0x14); WriteLCD(COMMAND , 0x2F); delay_us(1000);

WriteLCD(COMMAND , 0x40);//从第一列开始显示

delay_us(1000); delay_us(1000); delay_us(1000); delay_us(1000);

WriteLCD(COMMAND , 0xB0); WriteLCD(COMMAND , 0x10); WriteLCD(COMMAND , 0x00); WriteLCD(COMMAND , 0xAF); WriteLCD(COMMAND , 0x81); WriteLCD(COMMAND , 0x1b); ClearScreen(); SetContrast(20,80); }

4.4 灌溉模型设计

在温室栽培条件下,土壤水分平衡公式可表示为:

I?G?E?T?D?ASW

式中:I——T时间段内的灌水量(mm); G——T时间段内的地下水补给量(mm); T——T时间段内的作物蒸发量(m1): E——T时间段内的作物用水量(ml) D——深层渗水量(mm); 。

ASW——T时间段内土壤有效储水量的变化量(mm):

- 24 -

系统软件设计

在温室条件下,将上述公式表述的灌溉过程和用水过程可用图4-7平衡示意图进行表示:

灌水量 I植物用水量和蒸发量 ET作物根系层深度储水增加 ASW储水减少 ASW渗水量 D地下水A 灌溉过程地下水补给量 GB 用水过程

图4-7 温室土壤水平衡示意图

在温室灌溉过程中,灌溉水量主要用于补充作物根系层的含水量,同时会有少量水分渗漏到地下水中,而灌溉的主要目的是补充作物根系层的土壤含水量,由此可以确定每次灌溉水量定额。一般将能够为根系提供所需全部水分的80%~90%的根系深度确定为有效根系层,由于高度不同和根的类型不同,不同作物有效根系的深度也不相同,因此灌水的深度不相同。土壤临界含水量和土壤持水量之间的土壤含水量最适于植物的吸收利用,将其定义为适宜含水量。一般情况下,土壤持水量和临界含水量之间的差值是允许耗水量,一般为30%~70%,据此我们可以确定一次灌水的定额,净灌水定额可用下列公式计算:

In???Fd?Wo?Z?Pw10?

式中: In——灌溉定额(mm):

β——允许耗水量占有效含水量的百分比(%);

Fd——土壤持水量,体积百分比(%); Wo——作物凋萎系数,体积百分比(%);

Z——有效根系层深度(cm);

Pw——土壤湿润比,体积百分比(%);

η——灌溉水利用系数,体积百分比(%)。

结合温室管理人员已有的经验,根据不同地区土壤条件、作物种类及生长阶段、按照灌溉的要求特性及作物的生长状况,本系统可根据需要制定出合理的、便于实施的灌溉策略,包括不同作物在不同生育期的净灌水定额,灌溉水利用系数,灌水起始点,灌水上限,预警阈值等方面。合理灌溉技术的关键是控制灌水的均匀度,以适量的水进行适时灌溉,既能满足作物对水的需要,又不至于造成土壤含水量过多和空气湿度过大,引起作物发生各种霉病。

- 25 -

总结与展望

4.5 系统应用方案设计

基于项目的实际情况,本系统采用轮灌的方式对温室作物进行灌溉,以解决水资源竞争问题,也有利于灌溉水在土壤较粘的情况时充分下渗。把大区域划分成小区域实施轮灌的做法克服了水压不够、水源不足的困难,能提高灌溉水利用效率,从而实现精准灌溉的目的。

4.5.1 控制方式的选择

目前我国设施农业中灌溉控制设备很不统一,有电机、水泵、电磁阀等,要使系统的控制信号具有通用性就要用系统的控制信号去控制一个开关,而这个开关去控制灌溉输水控制设备的电源的通断,从而达到系统控制灌溉的目的。继电器是目前使用得最广泛的可控开关,性能也比较可靠,因此系统设计时就选用继电器作为控制灌溉输水控制设备电源的开关。继电器有大有小,有交流控制也有直流控制,它的触点开关既能通过直流也能通过交流。由于是控制继电器开关的吸合,因此,要选用直流控制的继电器。这种直流控制的继电器功率一般较小,不能承受大电流交流电流过。对于交、直流供电且电流较小的灌溉输水控制设备来说,可以直接用这种继电器来控制。但是对于交流供电且电流较大的灌溉输水控制设备来说,就不能直接用这种继电器来控制电源。这时,可以再加一个可通过较大电流的交电器,用直流小功率继电器去控制大功率交流继电器,大功率交流继电器又去控制灌溉输水控制设备的交流电源,这样系统同样可以实现温室灌溉的自动控制。也就是说,本文设计的温室自动灌溉系统给出的控制信号具有通用性。

4.5.2 工作方式的选择

土壤湿度是灌溉控制的最重要参数,由于温室设施农业中土壤比较平整均匀,具有一定的一致性,可以在一定面积范围的土壤内设置几个测试点,取几个测试点的平均值来代表这一面积范围土壤的含水状况,这样既可以不需要太多的成本去购置传感器又可以使土壤水分的测量比较准确。当系统用来控制灌溉时,可以将两个传感器均匀分布埋设在这片土壤里,再取两个传感器测量的平均值来表示整片土壤的含水状况,根据这个平均值来控制灌溉。同时还可以用于花卉、盆景等经济植物的栽培中,分别将两个传感器插在不同种类的花卉盆或盆景中,根据不同种类花卉或盆景对水分的不同要求设置不同的土壤缺水判断标准和灌溉方式。

针对不同的作物和不同的作物发育期需要有不同的土壤缺水判断标准和灌溉方式。这里所说的土壤缺水判断标准指的就是作物缺水或是不缺水状态下土壤水吸力的界限值。系统根据要求设置了两种灌溉方式以供操作者在面对不同土质时选择使用。

① 闭环控制方式

在这种浇灌方式下,可以设定土壤湿度上限值、下限值两个参数。当系统监测到土

- 26 -

本文来源:https://www.bwwdw.com/article/v4kr.html

Top