1、I摘 要随着农业产业规模的提高,对于数量较多的大棚,传统的温度控制措施就显现出很大的局限性。为此,在现代化的蔬菜大棚管理中通常有温湿度自动控制系统,以控制蔬菜大棚温湿度,适应生产需要。本论文主要阐述了基于 P89LPC938 单片机的温室大棚温湿度监测系统设计原理,主要电路设计及软件设计等。该系统采用 LPC938 单片机作为控制器,DHT11 进行温湿度采集,并通过无线模块 NRF24L01 进行主机与从机的无线通信,利用其 I2C 总线技术控制 SRL_11280W_LCD 液晶实时显示。使用户在控制室即可监测温室大棚内的实时温湿度,从而方便用户对温室大棚的管理。关键词: 单片机 P89L
2、PC938; 传感器 DHT11;液晶 SRL_11280W_LCD; 无线模块 NRF24L01东南大学成贤学院毕业论文1第一章 绪 论1.1 课题研究背景目前,我国农业正处于从传统农业向以优质、高效、高产为目标的现代化农业转化新阶段。而大棚作为现代化农业设施的重要产物,在国内多数地区得到了广泛应用。大棚可以避开外界种种不利因素的影响,人为控制或创造适宜农作物生长的气候环境,可以看成是一个半封闭式的人工生态环境。由于大棚中各种环境因素是可以人为控制的,因此控制技术直接决定着大棚中农作物的产量和质量。大棚监测系统一般包括三个模块:环境参数采集模块、数据处理模块和执行模块。在目前的监测系统中,需
3、采集的环境参数主要包括温度、湿度、CO2 浓度、光照强度、土壤湿度等。在实际设计中还需根据大棚的规模及所在区域设定不同的采集方式,确保数据采集的准确性。例如我国北方地区,冬季寒冷而漫长,大棚监测最主要的一部分就是温度的调节。这时可将一天分为午前、午后、前半夜和后半夜 4 个时段来进行温度调节。午前以增加同化量为主,一般应将棚温保持在 2530为宜;午后光合作用呈下降趋势,以 2025为好,避免高温下养分消耗过多;日落后 45h 内,要将棚内温度从 20逐渐降到 15上下,以促进体内同化物的运转。此后,再将夜温降到 1012,以抑制呼吸、减少消耗、增加积累,但也不能降得过低,以免冻伤植物 。考虑
4、外界环境因素的同时也不能忽略植物本身的生理过程,比如植物的蒸腾作用、光合作用等,事实上大棚内的水分养料供给可以通过蒸腾这样的实测数据来决定;而 CO2 浓度则可根据光合作用的情况来决定,这一系列监测过程都可通过单片机系统来实现。1.2 国内外研究概况1.2.1 国外研究概况美国是最早发明计算机的国家,也是将计算机应用于大棚控制和管理最早、最多的国家之一。美国开发的大棚计算机控制与管理系统可以根据作物的特点和生长发育所需要的条件,对大棚内光照、温度、水、气、肥等诸多因子进行自动调控,还可利用温差管理技术实现对花卉、果蔬等产品的开花和成熟期进行控制。在日本,作为设施农业主要内容的设施园艺相当发达,
5、塑料大棚和其它人工栽培设施达到普遍应用,设施栽培面积位居世界前列,蔬菜、花卉、水果等普遍实行设施栽培生产。针对种苗生产设施的高温、多湿等不良环境,日本进行了几种设施项目的研究,主要有设施内播种装置、苗接触刺激装置、苗灌水装置、换气扇的旋转和遮光装置的开闭装置(温度、湿度及光照控制)、缺苗不良苗的监测及去除和补栽装置、CO2施肥装置等方面的自动化研究。2002 年,英国伦敦大学农学院利用计算机遥控技术,可以观测 50km 以外大棚内的温度、湿度等环境状况并进行遥控。为保证 CO2 气体在大棚分布均匀,大棚中通常安装通风机,搅动空气使大棚中的 CO2 浓度一致。荷兰的园艺大棚也发展较早,由于地处高
6、纬度地区,日照短,全年平均气温较低,因此,集中较大力量发展经济价值高的鲜花和蔬菜,大规模地发展玻璃大棚和配套的工程设施,全部采用计算机控制。另外,国外大棚业正致力于高科技发展。遥测技术、网络技术、控制局域网已逐渐应用于大棚的管理与控制中,随着工业制造工艺的不断发展,越来越多高精度、低价格的传感器件也在温室大棚中广泛应用,东南大学成贤学院毕业论文2并且近几年各国温湿度控制技术提出建立大棚行业标准,也使得大棚行业朝着网络化,大规模,无人化的方向发展。1.2.2 国内研究概况国内的计算机应用开始于上世纪 70 年代中期,当时主要用于数据的统计分析和计算。70 年代末起,我国陆续从以色列、美国、日本、
7、荷兰等国引进了许多先进的现代化大棚,在吸收国外发达国家高科技大棚生产技术的基础上,我国农业科研工作人员进行了大棚内部温度、湿度、光照、CO2 浓度等环境参数控制技术的综合研究。1987 年中国农业科学院引进了 FELIXC 512 系统,并建立了全国农业系统的第一个计算机应用研究机构。到了 90 年代初期,计算机开始用于大棚的管理和控制领域。2000 年,金钰研究了工业控制机 IPC 在自动化大棚控制中的应用。该研究是以工业控制机为核心采集环境信息,控制执行机构。实现了大棚的封闭环境控制,但该系统布线复杂,维护困难且成本过高。2005 年,杜辉等研究了基于蓝牙技术的分布式大棚监控系统。该系统将
8、蓝牙技术和现场总线技术相结合运用于大棚群的监控,提高了系统的可靠性、降低了数据传输过程中干扰。但由于蓝牙技术本身的不成熟,该系统的实际应用仍需要一定的时间。2007 年,唐娟等研究了基于新型 AVR 单片机的大棚测控系统。该系统把个体生产和规模化生产相结合,在单个大棚生产实现智能自动化的基础上实现连栋大棚的规模化生产。但是所有性能都集中在单片机上,单片机系统一旦出现故障,整个系统都会失控。2008 年,周茂雷,郭康权研究出了基于 ARM7 微处理器的大棚控制器系统。该系统能通过 AD 算法实现大棚各路模拟量、开关量实时动态采集,将采集到的数据经处理后定时保存并送出控制量。1.3 选题的现实意义
9、随着单片机和传感技术的迅速发展,自动检测领域发生了巨大变化,温室环境自动监测控制方面的研究有了明显的进展,并且必将以其优异的性能价格比,逐步取代传统的温湿度控制措施。但是,目前应用于温室大棚的温湿度监测系统大多采用模拟温度传感器、多路模拟开关、A/D 转换器及单片机等组成的传输系统。这种温湿度度采集系统需要在温室大棚内布置大量的测温电缆,才能把现场传感器的信号送到采集卡上,安装和拆卸繁杂,成本也高。同时线路上传送的是模拟信号,易受干扰和损耗,测量误差也比较大。为了克服这些缺点,本文参考了一种基于单片机并采用数字化单总线技术的温度测控系统应用于温室大棚的的设计方案,根据实用者提出的问题进行了改进
10、,提出了一种新的设计方案,在单总线上传输数字信号。即采用 DHT11 温湿度传感器解决传输模拟量误差大的问题,以及采用高技术的无线收发模块来代替之前大量的电缆,具有更好的经济与实用价值。本文介绍的温湿度测控系统就是基于单总线技术及其器件组建的。该系统能够对大棚内的温湿度进行采集,利用温湿度传感器将温室大棚内温湿度的变化,变换成数字量,其值由单片机处理,最后由单片机去控制液晶显示器,显示温室大棚内的实际温湿度,同时通过无线通信模块,将大棚内的温湿度自动发送给控制室,并在控制室的液晶显示器上实时显示出来。这种设计方案实现了温湿度实时测量、显示和无线传输。该系统抗干扰能力强,具有较高的测量精度,不需
11、要任何固定网络的支持,安装简单方便,性价比高,可维护性好。这种温湿度测控系统可应用于农业生产的温室大棚,实现对温湿度的实时监测,是一种东南大学成贤学院毕业论文3比较智能、经济的方案,适于大力推广,以便促进农作物的生长,从而提高温室大棚的亩产量,以带来很好的经济效益和社会效益。1.4 课题主要研究内容与目标本课题主要研究如何制作一个应用于中小型大棚的可达到温湿度实时监测功能的系统。设计完成包括环境参数采集、数据处理、实时显示以及无线传输等模块。具体实施主要通过选择传感器件、设计应用电路、编写功能程序等步骤来实现该课题所需要求。系统的最终目标是达到大棚温湿度参数实时测量及显示,并通过无线传输模块将
12、数据发送至控制室并显示。东南大学成贤学院毕业论文4第二章 温室大棚温湿度监测系统设计方案论证2.1 设计思想系统的一大特点是用户可以通过控制室内(主机)的液晶显示屏实时监测大棚内的温湿度,也可以通过大棚内(从机)的液晶显示屏直接监测,从而实现用户对大棚内温湿度更加方便快捷的监测,为用户控制大棚参数提供数据基础。系统从机设在种植植物的大棚内,从机中的温湿度传感器可以将环境中的温湿度非电量参数转化成电量信号,再将这些信号进行处理后送至从机中的单片机,单片机读取数据后将数据送到缓冲区内,通过液晶LCD进行实时显示。同时从机中的无线通信模块不断将单片机处理过的数据发送出去,控制室内的主机中的无线通信模
13、块则不断的接收数据,接收到数据后再送到主机中的单片机,单片机读取数据后将数据送到缓冲区内,通过液晶LCD进行实时显示。2.2 要实现的功能温室大棚温湿度监测系统要实现以下几大功能:(1)数据采集:接通从机电源后,温湿度传感器自动采集实时数据,并将采集到的温湿度转换成数字信号,然后发送给单片机进行处理。(2)现场显示:将发送到单片机中的数字信号处理后,通过 LCD 实时显示出来。(3)无线传输:利用无线传输模块将采集来的数据传输到附近的控制室,即主机。(4)主机显示:该功能是将无线传输过来的数据在控制室中显示出来,方便用户的实时监测。(5)无线传输:利用无线传输模块收发离自己较近的节点的控制系统
14、的数据并传给 PC 机实现实时监控。2.3 方案可行性论证最终方案:温室大棚温湿度监测系统结构框图如图 2-1 所示。L P C 9 3 8 单 片 机( 从 机 )L P C 9 3 8 单 片 机( 主 机 )液 晶 屏S R L _ 1 1 2 8 0 W _ L C D温 湿 度 传 感 器D H T 1 1液 晶 屏S R L _ 1 1 2 8 0 W _ L C D无 线 模 块N R F 2 4 L 0 1( 发 送 )无 线 模 块N R F 2 4 L 0 1( 接 收 )东南大学成贤学院毕业论文5图 2-1 温室大棚温湿度监测系统结构框图最终方案可行性论证:(1)适应系统
15、要求。现代大棚的实质是实现环境因子实时显示并自动调节作物生长环境条件,这些功能是通过一个闭环系统来实现的。因此,传感器的性能应该与控制系统相适应,尤其是传感器的长距离布点、传感器灵敏度的一致性、传感器的响应时间等,这样才能使系统真正做到快速反应和高效调控环境。本方案中采用的传感器、无线模块等均满足现代大棚的环境监测要求。(2)长期稳定性好。本方案中采用的 DHT11 传感器具有着良好的稳定性,且其测量范围广,能够适应大棚内的使用环境。(3)优良的性能价格比。考虑到实际运用与较大环境内的信息监测,则需要用到大量的传感器,因此,必须要求其价格较低廉,否则难以推广。本方案中采用的元器件均为低能耗、低
16、价格器件,价格低廉但性能强大,所以具有一定的可行性。东南大学成贤学院毕业论文6第三章 温室大棚温湿度监测系统硬件设计3.1 单片机部分3.1.1 概述P89LPC938 是一款单片封装的微控制器。它采用了高性能的处理器结构,指令执行时间只需 2 到 4 个时钟周期。6 倍于标准 80C51 器件。P89LPC938 集成了许多系统级的功能,这样可大大减少元件的数目和电路板面积并降低系统的成本,在这里本文只介绍本系统使用到的部分。3.1.2 管脚信息图 3-1 P89LPC938 管脚信息3.1.3 CPU 时钟(OSCCLK)LPC938 提供几个可由用户选择的振荡器选项来产生 CPU 时钟。
17、本系统用到的是 RCCLK 内部振荡器输出的 7.373MHZ 时钟信号。这样就省去了外部晶振部分,给设计带来很大方便。3.1.4 中断P89LPC938 采用 4 个中断优先级结构。有 4 个特殊功能寄存器与四个中断优先级相关,分别是IP0、IP0H、IP1、IP1H。每个中断都由两个位 IPx 和 IPxH(x=0,1)控制。3.1.5 I/O 口P89LPC938 有 4 个 I/O 口,P0、P1、P2 和 P3。P0、P1 和 P2 为 8 位 I/O 口而 P3 为 2 位 I/O 口。东南大学成贤学院毕业论文7除了 3 个口以外,P89LPC938 其他所有的 I/O 口均可由软
18、件配置成 4 种输出类型之一。四种输出类型分别为:推挽,准双向口(标准 8051 输出模式),开漏输出或仅为输入。每个口配置 2 个控制寄存器控制每个管脚输出类型。P1.5 ( RST ) 只能作为输入口,无法进行配置。P1.2 (SCL/T0) 和 P1.3(SDA/ INT0 )只能配置为输入口或开漏口。本系统把 P0 口配置成纯输入口,而 P2 则配置成准双向 I/O 口。3.1.6 定时器计数器 0 P89LPC938 有两个通用定时/计数器,与标准 80C51 定时器 0 及定时器 1 兼容。定时器 0 及定时器 1 有 5 种工作模式(模式 0, 1, 2, 3 和 6) 。模式
19、0、1、2 和 6 对于两个定时/计数器是一样的。模式 3 则不同。3.1.7 A/D 转换器P89LPC938 包含 1 个 10 位、8 路逐步逼近式模数转换模块。每个 A/D 转换器由一个 8 输入多路转换器组成。多路转换器的输出通过采样保持电路,为两个比较器提供一个输入信号。控制逻辑连同逐次逼近式寄存器(SAR)来驱动一个数模转换器,为比较器提供另外一个输入。比较器的输出又回到 SAR。本系统用到的是 AD0 通道。A/D 转换的启动有多种模式,可以连续、多通道扫描、或由定时器的溢出启动,因而 CPU 在这方面不需要花费时间。转换结束后可使用中断服务程序将数据取出处理。A/D 转换器使
20、用单电源,仅支持单极性信号的 A/D 转换。对于双极性信号,必须加上模拟电压偏移电路,必要时,可能还需要增加信号压缩电路。8 路 10 位分辨力的逐次比较式 A/D 转换器的功能很强:有 8 对寄存器用于存放转换结果;转换器有 6种操作模式;有三种转换启动模式;A/D 转换的时钟频率为 9MHz 时,转换时间仅 4s;可以以中断或者轮询方式工作;具有高、低边界检测中断功能;带时钟分频器;具有掉电工作模式。3.1.8 串行外围接口(SPI)P89LPC938 还提供另一种高速串行通信接口SPI 接口。SPI 是一种全双工、高速、同步的通信总线,有两种操作模式:主模式和从模式。主模式或从模式可支持
21、高达 3Mbit/s 的速率。还具有传输完成标志和写冲突标志保护。SPI 接口有 4 个管脚:SPICLK, MOSI, MISO 和 SS , SPICLK, MOSI 和 MISO 通常和两个或更多 SPI 器件连接在一起。数据通过 MOSI(主机输出从机输入)从主机传送到从机,通过MISO(主机输入从机输出)从机传送到主机。SPICLK 信号在主模式时为输出,在从模式时为输入。如果SPI 系统被禁止,即 SPEN(SPCTL.6)=0(复位值),这些管脚都可作为 I/O 口使用。 SS 为从机选择管脚。在典型的配置中,SPI 主机使用 I/O 口选择一个 SPI 器件作为当前的从机。SP
22、I 从器件通过其 SS 脚确定是否被选择。本系统的无线模块将用此接口。无线模块的 SPI 总线,在该系统中,仅调试到可以通信,其 SPI 初始化程序如下:unsigned char SPI_RW(unsigned char byte)unsigned char i;for(i=0; i8; i+) / 循环 8 次东南大学成贤学院毕业论文8MOSI = (byte / byte 最高位输出到 MOSIbyte = 1; / 低一位移位到最高位SCK = 1; / 拉高 SCK,nRF24L01 从 MOSI 读入 1 位数据,同时从 MISO 输出 1 位数据byte |= MISO; / 读
23、 MISO 到 byte 最低位SCK = 0; / SCK 置低return(byte); / 返回读出的一字节unsigned char SPI_RW_Reg(unsigned char reg, unsigned char value)unsigned char status;CSN = 0; / CSN 置低,开始传输数据status = SPI_RW(reg); / 选择寄存器,同时返回状态字SPI_RW(value); / 然后写数据到该寄存器CSN = 1; / CSN 拉高,结束数据传输return(status); / 返回状态寄存器unsigned char SPI_Rea
24、d(unsigned char reg)unsigned char reg_val;CSN = 0; / CSN 置低,开始传输数据SPI_RW(reg); / 选择寄存器reg_val = SPI_RW(0); / 然后从该寄存器读数据CSN = 1; / CSN 拉高,结束数据传输return(reg_val); / 返回寄存器数据unsigned char SPI_Read_Buf(unsigned char reg, unsigned char * pBuf, unsigned char bytes)unsigned char status, i;CSN = 0; / CSN 置低,开
25、始传输数据status = SPI_RW(reg); / 选择寄存器,同时返回状态字for(i=0; ibytes; i+)pBufi = SPI_RW(0); / 逐个字节从 nRF24L01 读出CSN = 1; / CSN 拉高,结束数据传输return(status); / 返回状态寄存器东南大学成贤学院毕业论文9unsigned char SPI_Write_Buf(unsigned char reg, unsigned char * pBuf, unsigned char bytes)unsigned char status, i;CSN = 0; / CSN 置低,开始传输数据s
26、tatus = SPI_RW(reg); / 选择寄存器,同时返回状态字for(i=0; ibytes; i+)SPI_RW(pBufi); / 逐个字节写入 nRF24L01CSN = 1; / CSN 拉高,结束数据传输return(status); / 返回状态寄存器3.1.9 I2C 接口I2C 总线用两条线(SDA 和 SCL)在总线和器件之间传递信息。总线的主要特性如下:主机和从机之间为双向数据传送;多主机总线(无中央主机)多主机同时传送时进行仲裁避免总线上数据冲突;串行时钟同步使得不同位速率的器件可以通过一条串行总线进行通信;串行时钟同步可作为握手机制,用于挂起和恢复串行传输;I 2C 总线可用于测试和诊断。P89LPC938 器件提供字节方式的 I2C 接口。所支持的最大数据传输速率为 400kHz。本系统的 LCD 就是用的这一总线。该液晶模块主要用的是 I2C 总线,液晶 I2C 初始化程序如下:void start_i2c_bus(void) /启动 I2C 总线 LCD_SDA=1;SomeNOP;LCD_SCL=1;SomeNOP;LCD_SDA=0;SomeNOP;LCD_SCL=0;SomeNOP;void stop_i2c_bus(void) /停止 I2C 总线LCD_SDA=0;SomeNOP;LCD_SCL=1;SomeNOP;