基于单片机的温室自动灌溉系统设计与实现.doc
《基于单片机的温室自动灌溉系统设计与实现.doc》由会员分享,可在线阅读,更多相关《基于单片机的温室自动灌溉系统设计与实现.doc(35页珍藏版)》请在冰豆网上搜索。
基于单片机的温室自动灌溉系统设计
摘要
我国设施农业节水灌溉已成为农业工程领域中重点关注的问题之一,由于国内外的自动灌溉系统造价高、使用复杂而难以推广,开发满足当前设施农业生产需求的灌溉控制系统具有重要意义。
本文设计了一种基于单片机的温室自动灌溉系统,实现了作物根系处土壤湿度的监测与自动控制。
该系统以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.3LCD液晶显示模块选型 6
2.3本章小结 6
3硬件电路设计与实现 7
3.1应用软件介绍 7
3.2微处理器模块设计 8
3.2.1CC2430概述 8
3.2.2CC2430外围电路设计 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.7PCB电路板制作 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
5.1验证内容 28
5.2本章小结 28
6总结与展望 29
6.1总结 29
6.2展望 29
参考文献 30
致谢 31
绪论
1绪论
1.1研究背景
自古以来,我国就是一个以农业为主的国家,即便到了现代社会,农业仍是我国国民经济的基础。
但我国农业生产效率低下,长期以来一直以经验种植为主,农业生产效率仅为发达国家的1/10。
为解决三农问题,国家正大力发展现代农业,温室是其中一个重要的组成部分,可增加作物年均成熟次数,增大作物产量,提高农业生产效率,因此,大力发展温室产业,对我国这样一个人口多耕地少的国家而言具有极大的战略意义[1]。
目前,我国的温室面积已突破210万hm2,总面积达世界第一,但我国温室管理水平落后,大多控制系统采用定时控制或者手动控制方式[2]。
在灌溉管理方面,通常存在浇水不及时、不均、灌水不足或过量灌水等现象[3]。
自动灌溉系统通常对作物根系的土壤湿度进行实时监测,获得作物根系的需水量,以此作为自动灌溉的依据。
温室自动灌溉可实现土壤湿度和营养成分的有效管理,是保证设施作物优质高产的重要措施[4]。
随着精准感知技术、定量控制技术的迅速发展,自动控制技术在节水灌溉中有了新的发展[5],通过灌溉控制器适时、适量地灌水,在节省水、人工和提高作物产量方面取得了一定的成效,可显著提高灌溉精准度,提高水的利用率。
本文设计一种操作简单、精确灌溉的低成本自动化控制灌溉系统,使之既能保证植物的良好的生长状态,又能做到尽量节水,对温室农业的发展具有重要意义。
1.2研究现状
在国外,早在20世纪50年代,利用电子设备、计算机设备和程序控制的灌排系统就得到很大发展,并在法国、美国、日本等发达国家得到日益广泛的应用。
1966年美国利用虚拟仪器技术开发了一套AgriMate自动灌溉系统,系统中的现场处理器由LabVIEW的个人计算机控制。
现场处理器配置了模拟输入、锁存和继电器板,用户可以监控水箱水位、阀门位置、泵的状态和土壤湿度等,而修改设定点即可改变灌溉计划。
水的用法、水箱水位和降水情况等都是存储在灌溉数据库文件里的数据,用户能够读出这些数据以与当前数据进行比较,以图形方式显示给定月份的土壤湿润度和外加的水,其发展程度已经非常高[6]。
相关研究依靠气象数据,通过对比过去灌区的蒸发量及灌水量,结合各分灌区的植物种类分布、地形、土壤成分等数据进行自动分析,并自动制定出当前各项灌溉指标的灌溉系统,存在灌溉依据的间接性,很可能偏离灌溉目标[5]。
近年来相关研究已经深入到将气象因素、蒸腾量和土壤含水率相结合的综合灌溉控制系统。
但国外的设备普遍价格昂贵、专业性较强,不适合普通用户使用。
国内在这方面的研究起步较晚,但也取得一定成就[7-12],比如北京农业工程大学研制了以INTEL公司的8031系统单片机为核心的自动化灌溉系统,该系统为多通道土壤水分检测、多路控制灌溉的控制系统。
张建丰等研发的多功能网络式自动灌溉方法及其装置,实现了定时、定量,根据土壤湿度,预先制定灌溉计划的灌水功能。
但总体上,国内灌溉自动化程度不高,相关设备落后,与国外的先进水平还有很大的差距。
国内外专家在这方面已做出了不可否认的成就[9-16],但这些自动灌溉系统由于造价高、专业性强而难以推广。
本文设计的系统通过实时监测作物根域的土壤湿度信号,从而对作物进行适时适量按需灌溉,不但可以做到精准灌溉,达到节水的目的,而且操作简单,开发成本低,适于推广。
1.3研究目的
温室在作物生长过程中,根系会从土壤孔隙中吸取水分,通过对作物根域附近的土壤湿度的实时监测直接反映作物根系的需水量。
我国现阶段大多灌溉控制系统采用定时控制或者手动控制方式,浇水不及时、不均、灌水不足或过量灌水现象时有发生;更为先进的,依靠气象数据和对比过去灌区的蒸发量及灌水量制定出当前各项灌溉指标的灌溉系统,存在灌溉依据的间接性,很可能偏离灌溉目标。
本课题将研究解决以上问题,设计了一种基于单片机的信息采集与自动灌溉控制一体化系统,它具有设备成本低、可维护性强、可靠性高等独特的优势,并能给用户提供预警支持,从而减少农民劳作强度,增加产量。
1.4论文结构
本论文章节结构按如下安排:
第一章介绍温室自动灌溉系统的研究背景、国内外研究现状、研究目的和论文结构。
第二章给出系统设计原理框图,选择器件类型以及对设计中用到的元器件的介绍。
第三章硬件电路的设计,包括微处理器模块、数据采集模块、控制模块、电源供应模块以及人机交互模块电路设计。
第四章主要是软件设计与实现,介绍单片机开发软件IAR,重点是各个模块软件设计。
第五章主要是系统的应用与验证。
第六章主要是总结与展望。
-31-
系统结构设计及器件选型
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所示:
图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:
A、16位XAP2b微处理器。
B、128KB的FLASH及5KB的RAM。
C、两种休眠模式:
处理器空闲[Processoridle];深度休眠[Deepsleep],功耗1.0uA。
D、集成有12位ADC。
(3)JN5121:
A、16MHz32位的RISC处理器。
B、96KRAM,64KROM。
对比以上各芯片的性能参数,TI公司的CC2430具有最低的系统功耗,较高的主频速度,较多的外围设备。
低功耗对以电池供电的温室设备而言极为重要,超低工作功耗并具有休眠功能的CC2430在此方面有着最为出色的表现;8路8-14位的内部可编程ADC应用方便,可以省去外接ADC芯片,集成的128KB可编程闪存和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.3LCD液晶显示模块选型
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℃
Ø储存温度:
-30℃—+80℃
2.3本章小结
本章主要是对温室自动灌溉系统的总体设计,以及设备各模块元器件的选用和相关介绍。
硬件电路设计与实现
3硬件电路设计与实现
3.1应用软件介绍
本文使用ProtelDXP2004作为绘制底层硬件电路板的工具。
ProtelDXP2004是Altium公司在于2004年推出的电路设计软件,是一个32位的电子设计系统。
它是一套构建在板设计与实现特性基础上的EDA设计软件,其主要功能包括电路原理图设计、印刷电路板设计、改进型拓扑自动布线、模拟/数字混合信号仿真、布局前后信号完整性分析、PLD2004可编程逻辑系统,以及完整的计算机辅助输出和编辑性能等。
本文从电路原理图设计开始,最终得到所需的印刷电路板图。
下文对系统的各个功能模块进行了讲述,绘制原理图是绘制PCB板的前提,只有正确的绘制原理图并形成正确的网络表才能绘制PCB板。
系统原理图如图3-1所示,最终绘制成的PCB电路板如图3-9、图3-10和图3-11所示,根据该电路板及相关设备选型制作出的实物图如图3-12所示。
图3-1系统原理图
3.2微处理器模块设计
3.2.1CC2430概述
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口,两个具有20mA的吸收电流能力。
H、8路8-14位可编程ADC。
I、2个强大的支持几组协议的USART。
J、一个IEEE802.15.4MAC定时器,一个通用16位定时器和2个8位定时器;一个看门狗定时器。
3.2.2CC2430外围电路设计
基于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的时序,实现实时数据的查询与显示。
图3-2微处理器模块硬件电路
3.2.3微处理器复位及调试接口电路设计
图3-3复位与调试接口电路
(1)复位电路
CC2430有3种复位模式:
强制复位引脚RESET_N为低电平、上电复位、看门狗定时器复位。
如图3-4所示为外部复位电路,引脚10为复位引脚,当按键S1按下时引脚10输入一低电平脉冲,使系统复位。
(2)调试接口电路
JTAG(JointTestActionGroup,联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。
JTAG技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路TAP(TestAccessPort,测试访问口),通过专用的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为工作电压的传感器供电(监测节点上留有土壤湿度传感器的接口,可用于扩展)。
图3-5系统的电源电路
3.5控制模块硬件设计
控制模块主要由执行机构及其驱动电路组成。
本系统的执行机构采用了中间继电器,它按照微处理器的命令执行相应的操作。
而驱动电路是连接微处理器与执行机构的桥梁,在本电路中连接了CC2430和中间继电器。
功率驱动部分主要由光电耦合器TPL521和三极管2N3904开关电路构成。
光电耦合器TPL521由VCC33供电,主要起隔离作用,把微处理器的控制信号和执行机构的功率信号隔离开来,提高系统抗干扰性,保护温室自动灌溉系统。
TPL521的输入为来自微处理器CC2430的小功率信号,经过隔离后把该信号输出至三极管2N3904。
三极管2N3904的作用是放大从处理器CC2430输出的控制信号,把其变成可以驱动执行机构的信号。
控制模块硬件电路如图3-6所示,P0.3口为低电平时,光耦导通,进而使三极管导通把LED点亮,表示该路控制的强电设备正常工作。
图3-6控制模块硬件电路图
为了提高精度,本系统在温室中多点采集作物根系的土壤湿度,微处理器接收多点采集的同一时刻的同一环境参数,根据相应的算法进行均值估算,最后根据需要向相应的执行机构下达任务,执行灌溉命令。
3.6人机交互模块设计
加装显示设备,可以更好的实现人机交互,使系统更人性化,本课题采用两种显示方式:
LED显示方式和LCD显示方式。
本设计采用OCM12864-9液晶显示模块,它是128×64点阵型液晶模块,可显示各种字符及图形,可与CPU直接接口,OCM12864-9液晶显示模块对外提供了以下几种信号线:
8位标准数据总线(DB0-DB7),读写控制线(R/W),片选信号线(CS),数据/指令选择线(A/O),允许信号线(E),还有复位信号线(/RST)。
3.6.1显示模块原理图设计
根据信号线的逻辑电平,选择合适的微处理器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按键电路设计
用户通过键盘与系统交互,可对系统程序的运行做出某些配置,系统的键盘电路如图3-8所示。
图3-8系统的键盘电路
图中按键S1、S2、S5和S6实现原理为由P0.6端口采集按键电压,然后经CC2430片内AD转换器识别电压值来判断按键值,S3和S4直接经由端口P0.5和P0.6产生系统中断来判断按键值。
端口P1.0和P1.1具有20mA的吸收电流能力,因此可用于驱动LED,以做显示之用。
3.7PCB电路板制作
3.7.1绘制PCB板
本文将整个系统设计为三个PCB板:
主板、控制板和CC2430小模块板。
主板只包括用户常用的电源模块、人机交互模块;控制板包括控制模块、数据采集模块和电源模块;CC2430小模块主要包括微处理器模块,单独画一块微处理器模块板子主要考虑CC2430可以复用,系统调试过程中如果CC2430被烧坏,主板和控制板仍可以继续使用,减少了系统开发的费用。
在绘制PCB板