智能温室控制系统设计.docx

上传人:b****0 文档编号:9979366 上传时间:2023-05-22 格式:DOCX 页数:59 大小:624.81KB
下载 相关 举报
智能温室控制系统设计.docx_第1页
第1页 / 共59页
智能温室控制系统设计.docx_第2页
第2页 / 共59页
智能温室控制系统设计.docx_第3页
第3页 / 共59页
智能温室控制系统设计.docx_第4页
第4页 / 共59页
智能温室控制系统设计.docx_第5页
第5页 / 共59页
智能温室控制系统设计.docx_第6页
第6页 / 共59页
智能温室控制系统设计.docx_第7页
第7页 / 共59页
智能温室控制系统设计.docx_第8页
第8页 / 共59页
智能温室控制系统设计.docx_第9页
第9页 / 共59页
智能温室控制系统设计.docx_第10页
第10页 / 共59页
智能温室控制系统设计.docx_第11页
第11页 / 共59页
智能温室控制系统设计.docx_第12页
第12页 / 共59页
智能温室控制系统设计.docx_第13页
第13页 / 共59页
智能温室控制系统设计.docx_第14页
第14页 / 共59页
智能温室控制系统设计.docx_第15页
第15页 / 共59页
智能温室控制系统设计.docx_第16页
第16页 / 共59页
智能温室控制系统设计.docx_第17页
第17页 / 共59页
智能温室控制系统设计.docx_第18页
第18页 / 共59页
智能温室控制系统设计.docx_第19页
第19页 / 共59页
智能温室控制系统设计.docx_第20页
第20页 / 共59页
亲,该文档总共59页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

智能温室控制系统设计.docx

《智能温室控制系统设计.docx》由会员分享,可在线阅读,更多相关《智能温室控制系统设计.docx(59页珍藏版)》请在冰点文库上搜索。

智能温室控制系统设计.docx

智能温室控制系统设计

图书分类号:

密级:

毕业设计(论文)

 

智能温室控制系统设计

THEDESIGNOFINTELLIGENTGREENHOUSECONTROLSYSTEM

 

学生学号

学生姓名

学院名称

专业名称

指导教师

2012年

5月

29日

徐州工程学院学位论文原创性声明

本人郑重声明:

所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。

除文中已经注明引用或参考的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品或成果。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标注。

本人完全意识到本声明的法律结果由本人承担。

论文作者签名:

    日期:

  年 月  日

徐州工程学院学位论文版权协议书

本人完全了解徐州工程学院关于收集、保存、使用学位论文的规定,即:

本校学生在学习期间所完成的学位论文的知识产权归徐州工程学院所拥有。

徐州工程学院有权保留并向国家有关部门或机构送交学位论文的纸本复印件和电子文档拷贝,允许论文被查阅和借阅。

徐州工程学院可以公布学位论文的全部或部分内容,可以将本学位论文的全部或部分内容提交至各类数据库进行发布和检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

论文作者签名:

  导师签名:

  

日期:

  年 月  日日期:

  年 月  日

 

摘要

本文提出了一种以51单片机为主控器和射频nRF905为无线收发模块的智能温室控制系统的总体设计方案和实现方法。

系统设置了一个主机和两个从机,通过无线通信方式,实现了两个节点的温湿度数据采集。

主机通过从机预设的不同地址来实现区分两个节点发送来的温湿度数据。

本设计采用nRF905射频模块为无线传输模块,DS18B20为温度传感器模块,DHT11为湿度采集模块从而实现温室的温湿度监测与控制。

51单片机和nRF905之间通过模拟高速串口SPI实现双向通信,SPI支持高速数据传输,从而满足了温室温湿度数据的实时传输。

用VB6.0中的MScomm控件编写了温湿度接收界面,通过串口将采集到的温湿度数据显示在PC机上。

关键词STC89C51;nRF905;DS18B20;DHT11

 

Abstract

Thispaperpresentsamethodbasedon51singlechipmicrocomputerasamaincontrollerandnRF905aswirelesstransceivermoduletodesigntheintelligentgreenhousecontrolsystem.Thesystemprovidedamasterandtwoslaves,mastercanacquistthedataoftemperatureandhumidityfromtwoslavesthroughthewirenesscommunicationmode.Themastercandistinguishthedatafromtwodifferentplacesthroughdifferentaddress.ThisdesignusenRF905moduleaswirelesstransmissionmodule,DS18B20astemperaturesensorandDHT11ashumidityacquisitionmoduletosensethegreenhousetemperatureandhumidity.51singlechipmicrocomputerandnRF905canrealizetwo-waycommunicationthroughthesimulationofhighspeedserialSPI,SPIsupporthighspeeddatatransmission,soitcanmeettheneedsofthegreenhousetemperatureandhumiditydatareal-timetransmission.ThetemperatureandhumidityreceivinginterfacecanbemadebyVB6.0MScommcontroller,thegreenhousetemperatureandhumiditydatacanbedisplayedonPCmachinethroughtheserialport.

KeywordsSTC89C51;nRF905;DS18B20;DHT11

 

 

1绪论

1.1背景及意义

温室控制技术是现代农业研究的重要内容,针对长期以来温室大棚效率低、生产成本高、消耗人力资源多等缺点,温室智能控制系统能有效地克服这些困难。

本系统主要由上、下位机模块构成,下位机主要是对温室内环境因素中的温度、湿度等进行检测并按照一定的通信方式将数据传给上位机,上位机实时接收下位机上传的数据使用户能在远程监测温室的环境参数,下位机根据一定的算法控制喷淋、遮阳、通风、加热等执行系统,调节环境参数,实现温室智能控制,达到农作物优质、高产、高效的栽培目的。

1.2工作原理

智能温室控制系统是一种基于射频技术的无线温湿度检测与控制系统。

本系统由传感器、显示器、上位机、控制执行单元构成。

传感器部分包括数字温度传感器DS18B20、单片机STC89C51、低功耗无线模块nRF905和天线。

显示器由LCD1602构成。

上位机是由VB的Mscomm控件编写而成。

本系统由三个单片机模块构成,其中两个模块用作数据采集的从机,另外一个模块用作数据接收的主机。

从机采集温室温湿度并将数据送LCD1602显示,无线发射模块nRF905将采集到的温湿度发送给主机,主机将接收到的数据通过串口发送给上位机,上位机显示温室数据给用户,单片机从机将采集到的数据与预设值比较,决定是否打开控制执行单元,以达到智能控制的效果。

 

2系统总体设计

2.1系统的整体结构

本系统包含一台主机和两台从机。

系统的整体结构框图如图2-1所示。

 

从机1

 

主机

从机2

图2-1系统整体结构框图

2.2课题需要完成的任务

一、完成系统的硬件设计与调试。

二、完成温湿度采集的程序设计。

三、完成温湿度用LCD1602显示的程序设计。

四、完成nRF905无线收发模块收发数据的程序设计。

五、完成主机与PC机实现串口通信的程序设计。

六、完成控制执行单元软硬件的设计。

七、完成VB上位机程序的设计。

 

3系统硬件设计

3.1主控制器的选用

本系统涉及的主要器件包括:

主控芯片、DS18B20温度传感器、DHT11湿度传感器、nRF905无线模块,所涉及的器件较多,选择一款合适的主控芯片直接影响到系统的整体性能和设计的最终效果。

STC89C51单片机作为目前市场上最为常用的单片机具有结构简单、可控性好、I/0口多、下载程序方便、价格低廉的特点,符合本系统的设计要求,故选用STC89C51单片机作为主控制器。

3.2无线传感器nRF905模块

3.2.1芯片结构

nRF905片内集成了电源管理、晶体振荡器、低噪声放大器、频率合成器功率、放大器等模块,使用非常方便其详细结构如图3-1所示。

图3-1nRF905的详细结构图

3.2.2接口电路管脚说明

nRF905封装如图3-2所示。

 

图3-2nRF905封装

各引脚说明如表3-1所示。

表3-1nRF905管脚说明表

管脚

名称

管脚功能

说明

1

VCC

电源

电源+1.9-3.6VDC

2

TX_EN

数字输入

TX_EN=1发送模式TX_EN=0接收模式

3

TRX_CE

数字输入

使能芯片发射或接收

4

PWR_UP

数字输入

芯片上电

5

uCLK

时钟输出

本模块弃用

6

CD

数字输出

载波检测

7

AM

数字输出

地址匹配

8

DR

数字输出

接收或发射数据完成

9

MISO

SPI接口

SPI输出

10

MOSI

SPI接口

SPI输入

11

SCK

SPI时钟

SPI时钟

12

CSN

SPI使能

SPI使能

13

GND

接地

14

GND

接地

注意:

(1)nRF905供电范围为3-3.6V之间,超出这个范围就会烧毁nRF905模块。

(2)nRF905的引脚可与5V单片机的I/O口直接相连,VCC和接地端除外。

(3)没有SPI接口的单片机可以模拟SPI。

(4)与51系列单片机P0口相连时,需加10K的上拉电阻。

3.2.3nRF905工作方式

nRF905有两种工作模式和两种节能模式。

两种工作模式分别ShockBurstTM接收模式和ShockBurstTM发送模式,两种节能模式分别是关机模式和空闲模式。

nRF905的工作模式由TRX_CE、TX_EN和PWR_UP三个引脚决定,其工作模式如表3-2所示。

表3-2nRF905工作模式

PWR_UP

TRX_CE

TX_EN

工作模式

0

X

X

关机模式

1

0

X

空闲模式

1

1

0

接收模式

1

1

1

发送模式

nRF905发送流程

典型的nRF905发送流程分以下几步:

A.微控制器通过SPI接口按时序把地址和数据发送给nRF905;

B.PWR_UP=1,TRX_CE=1,TX_EN=1启动发送模式;

C.nRF905开始发送数据;

D.AUTO_RETRAN被置高,nRF905不断重发,直到TRX_CE被置低;

E.当TRX_CE被置低,nRF905发送过程完成,自动进入空闲模式;

nRF905接收流程

A.TRX_CE=1、TX_EN=0,nRF905进入接收模式;

B.等待650us,nRF905不断监测,等待接受数据;

C.若从机上的nRF905检测到的载波频段与自身的相同时,CD=1;

D.若接收地址与自身地址匹配,AM=1;

E.当一个数据包接收完毕后DR=1;

F.TRX_CE=0,nRF905等待下一次接收数据;

G.数据通过SPI口以一定速率进入微控制器;

H.若数据接收完成,DR=0,AM=0;

3.2.4nRF905模块配置

1)SPI接口寄存器配置

SPI接口由5个寄存器组成,其中状态寄存器存储AM和DR引脚信息,射频和输出功能信息由射频配置寄存器保存,接收机地址和数据字节数信息由发送地址寄存器保存,待发送的数据信息由发送数据寄存器保存,要接收的数据字节数等信息由接收数据寄存器保存。

2)SPI指令设置

SPI接口的指令如表3-3所示。

表3-3SPI串行接口指令设置

指令名称

指令格式

操作

WC

0000AAAA

写配置寄存器

RC

0001AAAA

读配置寄存器

WTP

00100000

写TX有效数据1-32字节写操作全部从字节0开始

RTP

00100001

读TX有效数据1-32字节读操作全部从字节0开始

WTA

00100010

写TX地址1-4字节写操作全部从0字节开始

RTA

00100011

读TX地址1-4字节读操作全部从字节0开始

RRP

00100100

读RX有效数据1-32字节读操作全部从字节0开始

CC

100pphccccccccc

快速配置寄存器

3.2.5nRF905与单片机的硬件连接原理图

nRF905与单片机的硬件连接原理图如图3-3所示。

图3-3nRF905与单片机的硬件连接原理图

3.3温度传感器DS18B20

3.3.1DS18B20主要特性

(1)供电范围:

3.0V-5.5V,在寄生电源方式下可由数据线供电。

(2)在使用中不需要任何外围元件。

(3)独特的单总线接口方式只需要一根信号线即可实现单片机与DS18B20的通信。

(4)测温范围:

-55°C~+125°C,在-10~+85°C时精度为±0.5°C。

(5)分辨率为9-12位,对应的可分辨温度分别为0.5°C、0.25°C、0.125°C和0.0625°C,可实现高精度测温。

(6)在9位分辨率时最多在93.75ms内把温度值转换为数字,12位分辨率时最多在750ms内把温度值转换为数字。

(7)多个DS18B20可以挂在一根数据线上,实现多点测温。

3.3.2DS18B20的外部结构

DS18B20采用如图3-4所示的3脚PR-35封装或8脚SOIC封装。

图中管脚定义如下:

(1)I/O:

数字信号输入输出端。

(2)GND:

电源地。

(3)VDD:

外接供电电源输入端(在寄生电源接线方式时接地)。

图3-4DS18B20封装

3.3.3DS18B20的数据处理

DS18B20的高速暂存存储器由9个字节组成,其分配见表3-4,当温度转换命令发布后,经转换所得的温度值以2字节补码形式存放到高速暂存存储器的第0和第1个字节。

单片机可通过单总线接口读取到该数据,读取时低位在前,高位在后。

 

表3-4字节分配

功能

0

温度转换后的低字节

1

温度转换后的高字节

2

高温度触发器TH

3

低温度触发器TL

4

配置寄存器

5

保留

6

保留

7

保留

8

CRC校验寄存器

表3-5所列是DS18B20温度采集转化后得到的12位数据,存储在DS18B20的两个8bit的RAM中,二进制的前5位是符号位,如果测的温度大于或等于0,这五位为0,只要将测得数值乘以0.0625即可得到实际温度;如果温度小于0,这五位为1,测的数值需要取反加1再乘以0.0625即可得到实际温度。

单片机对DS18B20的访问流程是:

先对DS18B20初始化,再进行ROM操作命令,最后才能进行存储器操作和数据操作。

DS18B20的操作要遵循一定的工作时序和通信协议。

如单片机控制DS18B20完成温度转换这一过程,要经过以下几个步骤:

对DS18B20读写之前先进行复位,再发送ROM指令,最后发送RAM指令。

DS18B20有六条控制命令,如表3-6所示。

表3-5DS18B20部分温度数据表

温度/

16位二进制编码

十六进制表示

+125

0000011111010000

07D0H

+85

0000010101010000

0550H

+25.0625

0000000110010001

0191H

+10.125

0000000010100010

00A2H

+0.5

0000000000001000

0008H

0

0000000000000000

0000H

-0.5

1111111111111000

FFF8H

-10.125

1111111101011110

FF5EH

-25.0625

1111111001101111

FE6FH

-55

1111110010010000

FC90H

 

表3-6DS18B20控制命令

指令

约定代码

操作说明

温度转换

44H

启动DS18B20

读暂存器

BEH

读暂存器9个字节内容

写暂存器

4EH

将数据写入暂存器的TL、TH字节

复制暂存器

48H

把暂存器的TH、TL字节写到E2RAM中

重新调E2RAM

B8H

把E2RAM中的TH、TL字节写到暂存器TH、TL字节

读电源供电方式

B4H

发送电源供电方式给CPU

3.3.4单片机与DS18B20的硬件连接原理图

单片机和DS18B20的硬件连接图见图3-5,DS18B20的单总线DQ与单片机STC89C51的P1.6端口连接,另加一个上拉电阻。

详细原理图见附录1。

图3-5单片机和DS18B20的硬件连接图

3.4湿度传感器DHT11

3.4.1DHT11接口说明

DHT11引脚图如图3-6所示。

图3-6DHT11引脚图

DHT11引脚说明如表3-7所示。

表3-7DHT11引脚说明

Pin

名称

注释

1

VDD

供电3-5.5V

2

DATA

串行数据单总线

3

NC

空脚,悬空

4

GND

接地

3.4.2DHT11与单片机的硬件连接

DHT11与单片机的硬件连接图如图3-7所示。

图3-7单片机与DHT11湿度传感器硬件连接图

3.5LCD1602液晶显示模块

3.5.1控制器接口说明

各引脚符号及功能如表3-8所示。

表3-8接口信号表

引脚编号

引脚名称

引脚功能

14-7

D7-D0

数据线

6

E

片选信号,写数据控制

5

R/W

读/写方向控制信号,低电平为写入,高电平为输出

4

RS

寄存器选择信号

续表3-8

3

V0

驱动电压调节

2

VDD

+5V

1

VSS

地线

15

V--

背光电压负端(GND)

16

V+

背光电压正端(+5V)

3.5.2基本时序操作

(1)读状态:

输入:

RS=L,RW=H,E=H输出:

D0~D7=状态字

(2)写指令:

输入:

RS=L,RW=L,D0~D7=指令码,输出:

(3)读数据:

输入:

RS=H,RW=H,E=H输出:

D0~D7=数据

(4)写数据:

输入:

RS=H,RW=L,D0~D7=数据,输出:

3.5.3显示数据存储器(DDRAM)

LCD控制器的指令系统规定,在发送待显示字符代码的指令之前,先要送DDRAM的地址,实际上是待显示的字符所要显示的位置。

若LCD为双行字符显示,每行40个显示位置,第一行地址为00H~27H;第二行地址为40H~67H。

双行显示的DDRAM地址与显示位置的对应关系见表3-9。

表3-9双行显示的DDRAM地址与显示位置的对应关系

显示位置

1

2

3

4

5

6

7

……

39

40

DDRAM

Line1

00H

01H

02H

03H

04H

05H

06H

……

26H

27H

地址

Line2

40H

41H

42H

43H

44H

45H

46H

……

66H

67H

3.5.4LCD1602控制命令字设置

LCD1602控制命令字设置如表3-10所示。

表3-10LCD1602控制命令字设置

命令字

功能

0x38

设置显示模式

0x06

光标和显示开关设置

0x80

数据指针设置

0x01

清屏

0x02

显示回车

3.5.5单片机与LCD1602的硬件连接原理图

本设计选用STC89C51单片机的P2口和P3口的一部分,LCD1602采用8位数据线工作方式。

STC89C51的P2口与LCD1602的8位数据线连接,STC89C51的P3口的P3.4、P3.5端口分别与LCD1602的使能端口、读\写选择端口连接。

硬件连线原理图见图3-8,LCDl602的RW选择接地,详细原理图见附录1。

图3-8单片机与LCD1602的硬件连接原理图

3.6控制执行单元的设计

在本系统中控制执行单元的作用是接受从机的控制命令以弱电控制强电设备,由于温室中的控制设备大多为强电设备,直接用单片机控制不能驱动这些设备,故需要一个中间设备来驱动它们。

本系统控制执行单元的设计思想是将继电器放在驱动设备的主回路中,用单片机控制继电器的通断来间接控制加热器、喷淋器、排风扇的电源通断从而达到调节温室温湿度的效果。

本设计选用的继电器型号为HK3FF-DC5V-SHG,该继电器可以用小电压控制220V的强电符合设计的要求。

由于单片机的驱动电流很小,故需要在继电器与单片机之间加一个三极管起放大信号的作用,其原理图如图3-9所示。

图3-9控制执行单元原理图

3.7PC机与单片机之间的RS485通信

本系统中温室中的温湿度数据需要经过远距离传输才能传送到计算机,传统的RS232通信方式不能满足远距离传输的要求。

RS485通信最大传输距离能达到1219m,最大传输距离能达到10Mb/s,在100Kb/s的传输速率下能达到最大传输距离符合本系统的设计要求。

RS485接口电路图如图3-10所示,单片机的TTL电平信号通过MAX485芯片转换成RS485信号使数据能够远距离传输,PC机数据接收端有一个RS485转RS232转换器,通过MAX485芯片和MAX232芯片能将RS485信号转换成RS232信号以此使单片机主机与PC机能进行远程通信。

图3-10RS485接口电路

4系统软件设计

4.1主机软件设计

4.1.1主程序设计

主程序开始后先进行初始化操作,包括nRF905的初始化和串口的初始化。

初始化后将主机的nRF905置为发送状态,主机发送所要数据的从机地址,从机收到地址后发送应答信号,主机收到应答信号后将nRF905设置为接收状态,接收来自从机的数据,数据接收完成后主机通过串口将数据送PC机显示。

主程序流程图如图4-1所示。

4.1.2nRF905软件设计

由于STC89C51单片机没有专门的SPI口,需要用普通I/O口模拟SPI其操作过程如下所示:

1.SPI写操作

(a)取发送数据一个字节的最高位。

(b)判断最高位是1还是0。

(c)如果为1则MOSI引脚置为高电平,否则MOSI引脚置为低电平。

(d)SCK=1。

(e)将数据左移一位,如此循环8次直至一个字节数据发送完成。

(f)SCK=0。

SPI写操作的流程图如图4-2所示。

2.SPI读操作

(a)数据左移一位。

(b)SCK=1。

(c)判断MISO引脚电平是1还是0。

(d)如果是1数据最后一位置1,否则置0。

(e)SCK=0。

(f)如此循环8次直至读完一个字节。

SPI读操作的流程图如图4-3所示。

图4-1主程序流程图

 

图4-2SPI写数据流程图

图4-3SPI读数据流程图

4.1.3主机串口软件设计

本串口软件的主要功能是将主机接收到的数据通过串口发送给PC机,PC机接收到数据后通过VB实时显示温室的温湿度,其数据发送流程如图4-4所示。

图4-4串口数据发送流程图

4.2从机软件设计

4.2.1从机主程序设计

从机主程序首先进行初始化设置,其内容包括nRF905初始化设置、LCD1602初始化设置、DS18B20初始化设置和DHT11初始化设置,调用DS18B20温度采集子程序和DHT11湿度采集子程序进行数据采集,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2