1、大棚自动灌溉系统的设计与制作陈扬济浙江工贸职业技术学院电子工程系,班级:机电 0901摘要:我国设施农业节水灌溉已成为农业工程领域中重点关注的问题之一,由于国内外的自动灌溉系统造价高、使用复杂而难以推广,开发满足当前设施农业生产需求的灌溉控制系统具有重要意义. 为解决三农问题,国家正在大力发展现代农业,自动灌溉系统是其中一个重要的组成部分。可及时为作物提供所需的水分,增大作物产量,提高生产效率。自动灌溉系统通常对作物环境的温度进行实时监测,获得作物根系的需水量, 以此作为自动灌溉的依据。大棚自动灌溉系统可实现环境温度和所需水分进行有效管理,是保证设施作物优质高产的重要措施。随着精准感知技术、定
2、量控制技术的迅速发展,自动控制技术在节水灌溉中有了新的发展,通过灌溉控制器适时、适量的灌水,在节省水、人工和提高作物产量方面取得了一定的成效,可显著提高灌溉精准度,提高水的利用率。因此自动灌溉技术技能保证植物的良好生长状态,又能做到尽量节水,对大棚农业的发展具有重要意义。本次是采用单片机 AT89S52 来设计一个由温度传感器采集信号,控制电磁阀的开启与关闭,来达到灌溉的目的。关键词:自动灌溉系统;生产效率;实时监测;AT89S52一、绪论(一)课题背景自古以来,我国就是一个以农业为主的国家,即便到了现代社会,农业仍是我国国民经济的基础。但我国农业生产效率低下,长期以来一直以经验种植为主,农业
3、生产效率仅为发达国家的 1/10。为解决三农问题,国家正大力发展现代农业,温室是其中一个重要的组成部分,可增加作物年均成熟次数,增大作物产量,提高农业生产效率,因此,大力发展温室产业,对我国这样一个人口多耕地少的国家而言具有极大的战略意义。目前,我国的温室面积已突破 210 万 hm2,总面积达世界第一,但我国温室管理水平落后,大多控制系统采用定时控制或者手动控制方式。在灌溉管理方面,通常存在浇水不及时、不均、灌水不足或过量灌水等现象。自动灌溉系统通常对作物根系的土壤湿度进行实时监测,获得作物根系的需水量,以此作为自动灌溉的依据。温室自动灌溉可实现土壤湿度和营养成分的有效管理,是保证设施作物优
4、质高产的重要措施。随着精准感知技术、定量控制技术的迅速发展,自动控制技术在节水灌溉中有了新的发展,通过灌溉控制器适时、适量地灌水,在节省水、人工和提高作物产量方面取得了一定的成效,可显著提高灌溉精准度,提高水的利用率。本文设计一种操作简单、精确灌溉的低成本自动化控制灌溉系统,使之既能保证植物的良好的生长状态,又能做到尽量节水,对温室农业的发展具有重要意义。(二)方案论证1.液晶显示屏的选用根据课题,本次采用 LCD12864 液晶显示屏,但由于这种显示屏有 2 种,一是不带中文字库,二是带有中文字库,区别在于:不带字库的,如果要显示什么,都要自己根据点阵的形式去做字库,比如说图案什么的,要自己
5、去做,而且要编写程序,那样对于单片机的内存,就要比较大的要求。有字库的,就可以调用字库里面的字符,很多字都是直接用就好了,不必自己做字库那么繁琐。这两者在价格上有很大的差别,不带字库的比带字库的大概贵一半左右。所以,综上所述,选择了带有字库的,具有经济效益。再根据传输的区别,有串行跟并行,串行是一位一位的传输数据,并行是 8 位的传输数据,所以本课题采用串行输出方式。2.单片机的选择根据课题以及老师的建议,在市场上有很多种单片机。在之前实训的时候用的是单片机 AT89C51,与 STC89C58RD+的区别是,前者内存只有 4K,后者内存有 16K,所以假如需要较多的程序编写,那么选择较大的内
6、存,而我的指导老师建议用 AT89S52,那么这款单片机是 AT89C51 的增强型,内存是 8K(够用) ,S52 比 C51,定时器多一个T2,RAM 多 128B,ROM 多 4K,中断多 2 个,多一个看门狗,在掉电、数据指针等方面还有一些改进。S52 的最高外接晶振可以达到 33MHz,C51 大概只有 24MHz。而且这 2款价格差别不大。所以,选择 AT89S52 单片机。3.温度传感器的选用对于温度传感器,了解不是很多,根据测温范围,接口方式,工作电压,分辨率,以及价格,在网上查找了一下,有 DS18B20 这款温度传感器比较适用,其具体性能特点在第 3 章元器件的介绍中,会详
7、细提到它的结构以及工作方式。(三)硬件所要完成的任务大棚自动灌溉系统的理解。电路整体的设计。硬件的购买、组装、焊接。电路板的检测、补焊。实物的调试和分析。(四)整体结构方案为了更好的完成本次的设计内容要求,所以在进行设计之前,先进行方案的构思,如图 1。单片机电源模块复位电路按键模块传感模块LCD 显示声光报警电路图 1 系统框架图二、自动灌溉系统设计原理(一)自动灌溉系统工作原理1.结构框图:根据本次的课题,以及我结合我的方案,自动灌溉系统由电动机,温度传感器,单片机,液晶显示屏,电磁阀,灌溉喷头,若干个水管,还有个水源,具体流程如图2 所示。但由于时间仓促,以及材料的不足,我只做到了温度传
8、感器,单片机,液晶显示屏,这 3 部分,没有实物的电动机,以及喷头来灌溉。所以这是不足之处。2.实现原理:根据不同的作物对环境温度的不同需求,以及对含水量的需求,先在单片机设定一个当前温度值,由于环境温度的变化,温度传感器实时进行监测,温度传感器单片机系统水管电磁阀水源电动机模拟信号灌溉喷头显示当前温度水泵图 2 系统结构原理将模拟信号传送给单片机,当环境温度上升或者下降到比设定温度高或者低时,单片机就会驱动电动机和电磁阀的开启或者关闭,然后水就从水源被水泵抽起,进入各个水管,打开电磁阀,水就从灌溉喷头出来,以达到灌溉的目的。(二)主程序设计原理图软件启动后首先进行初始化设置,如单片机串口初始
9、化等。串口的初始化包括:确定编程寄存器的工作方式、确定串行口控制及需要进行的中断设置等。接收数据进入寄存器,并由软件读入数据,检查数据读入的位数,当数据完整时程序返回数据,由温度转化函数转化为十进制数,传递给数据分析、决策控制模块,然后判定是否打开阀门。阀门开启后实时监控环境温度值,在环境温度值满足阈值后,关闭阀门。如果未达到阈值则开启阀门重新灌溉,如果达到阈值则存储出水量、阀门打开时间、参考阈值及系统时间等,然后关闭数据接收。系统主程序流程图如图 3 所示。三、主要原件的介绍(一)芯片 AT89S52 的结构AT89S52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编
10、程 Flash开始值送单片机停止灌溉采样温度设定值输入初始化环境温度是否达到预设值?当前温度值灌溉Y N图 3 系统主程序设计图存储器。它的引脚配置(如图 4)所示,各引脚功能如下:P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8 个 TTL 门电流。即可作为通用 I/O 口使用,也可作为地址数据总线,在单片进行系统扩展时作为系统总线。P1 口:作为通用 I/O 口使用。P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,还可作为高八位地址线,用于系统扩展。 P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口。 P3 口也可作为 AT89S52
11、 的一些特殊功能口,如下所示: P3 口管脚备选功能 P3.0RXD(串行输入口) P3.1TXD(串行输出口) P3.2/INT0(外部中断 0) P3.3/INT1(外部中断 1) P3.4T0(记时器 0 外部输入) P3.5T1(记时器 1 外部输入) P3.6/WR(外部数据存储器写选通) P3.7/RD(外部数据存储器读选通) P./T2EX34567RS9xDINWALVCU图 4 AT89S52 芯片引脚图XTAL1(第 19 引脚):片内振荡器反相放大器的输入端。XTAL2(第 18 引脚):片内振荡器反相放大器的输出端。RST:复位输入。当振荡器复位器件时,要保持 RST
12、脚两个机器周期的高电平时间。PSEN(第 29 引脚):外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。 ALE/PROG(第 30 引脚):当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程时,用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置
13、0。此时, ALE 只有在执行 MOVX,MOVC指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE禁止,置位无效。 EA/VPP(第 31 引脚):当 EA/VPP 是保持低电平时,则在此期间内外部程序存储器(0000H-FFFFH) ,不管是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当/EA 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP) 。 (二)LCD12864 显示屏1.概述带中文字库的 128X64 是一种具有 4 位/8 位并行、2 线或 3 线串行多种
14、接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12864, 内置 8192 个 16*16 点汉字,和 128 个 16*8 点 ASCII 字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84 行 1616 点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。2.基本特性:(1)低电源电压(VDD:+3.0-+5.5V)(2)显示分辨率:12864 点 (
15、3)内置汉字字库,提供 8192 个 1616 点阵汉字(简繁体可选) (4)内置 128 个 168 点阵字符 (5)2MHZ 时钟频率 (6)显示方式:STN、半透、正显 (7)驱动方式:1/32DUTY,1/5BIAS (8)视角方向:6 点(9)背光方式:侧部高亮白色 LED,功耗仅为普通 LED 的 1/51/10 (10)通讯方式:串行、并口可选(11)内置 DC-DC 转换电路,无需外加负压(12)无需片选信号,简化软件设计(13)工作温度: 0 - +55 ,存储温度: -20 - +60(三)温度传感器1.概述DS18B20 可以程序设定 912 位的分辨率,精度为0.5C。
16、掉电后依然保存,测量温度范围为-67F+125C,在-10+85C 范围内,精度为0.5C。DS18B20 的主要特性:(1)适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电。(2)独特的单线接口方式,DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。(3)DS18B20 支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,实现组网多点测温。(4)DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。(5)温范围55125,在-10+85时精度为0.5。(6)可编程
17、的分辨率为 912 位,对应的可分辨温度分别为 0.5、0.25、0.125和 0.0625,可实现高精度测温。(7)在 9 位分辨率时最多在 93.75ms 内把温度转换为数字,12 位分辨率时最多在750ms 内把温度值转换为数字,速度更快。(8)测量结果直接输出数字温度信号,以“一线总线”串行传送给 CPU,同时可传送 CRC 校验码,具有极强的抗干扰纠错能力。(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。DS18B20 的外形与内部结构:DS18B20 内部结构主要由四部分组成:64 位光刻 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器
18、。四、硬件电路设计(一)单片机系统单片机采用 AT89S52,如图 5 是单片机的最小系统与功能结构图。1.复位电路单片机在启动时都需要复位,以使 CPU 及系统各部件处于确定的初始状态,并从初态开始工作。单片机的复位信号是从 RST 引脚输入到芯片内的施密特触发器中的。当系 12YMHZC630p7P./TEX48RS9xDINWALVUuk-B图 5 单片机最小系统统处于正常工作状态时,且振荡器稳定后,如果 RST 引脚上有一个高电平并维持2 个机器周期(24 个振荡周期)以上,则 CPU 就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位。我用的是按键复位。如图 6。
19、图 6 复位电路图2.晶振单片机是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格的时序进行工作。时钟电路用于产生单片机工作所需的时钟信号。如图 7。图中的,2 个电容都取 30pF 左右;晶振的频率范围是 1.2-12MHz。晶体振荡频率越高,系统的时钟频率也就越高,单片机的运行速度也就越快。一般情况下,振荡频率为 6MHz 或 12MHz。 1Y3.68kHZC0p图 7 时钟振荡电路3.按键电路利用单片机 P3.4、P3.5、P3.6、P3.7 的按钮作为控制键,P3.4、P3.5 用来控制设定温度,P3.6、P3.7 用来控制时间与日期。如图 8 所示。S4W-PBR9V5图 8 单片机按键电路图(二)电源模块所选单片机跟器件都是 5V 供电所以采用单电源供电。220V 交流电通过 9V 电源适配器变成直流电源再经过 470uF,0.33uF,47uF,0.1 uF 和 7805 稳压成+5V 电压直接为单片机及其他芯片提供电源。如图 9。7805 系列为 3 端正稳压电路,TO-220 封装,能提供多种固定的输出电压,应用