温室环境智能化检测与控制系统设计毕业论文.docx
- 文档编号:7018049
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:25
- 大小:11.07MB
温室环境智能化检测与控制系统设计毕业论文.docx
《温室环境智能化检测与控制系统设计毕业论文.docx》由会员分享,可在线阅读,更多相关《温室环境智能化检测与控制系统设计毕业论文.docx(25页珍藏版)》请在冰点文库上搜索。
温室环境智能化检测与控制系统设计毕业论文
---文档均为word文档,下载后可直接编辑使用亦可打印---
绪论
1.1选题研究意义
在我国科技大力发展的推动下,温室业发展迅速,目前我国温室建筑面积非常大[1]。
虽然我国的温室建筑面积很大,但是我国温室作物的产量并不高,其主要的原因是我国现存的温室主要以传统的温室大棚为主,智能化程度低,主要依靠人工对温室环境进行检测,通过人工启动调节设备对温室环境进行调节,而大多数温室作物对温室环境的要求很高,传统的温室根本无法为温室作物创造最适合生长的环境,从而导致了我国温室作物普遍产量都不高。
因此,想要提高我国温室的产量,就必须充分利用现代科学技术,提高我国温室的智能化程度,实现温室的智能化管理。
温室环境智能化检测与控制系统是以提高我国温室智能化程度为目的而研发的一款系统,它是农业自动化未来的发展方向。
和传统的温室控制系统对比,该系统优势明显。
通过上位机系统控制下位机进行温室环境的实时检测与调节,在提高温室作物产量、降低生产成本、增加务农人员收入等方面具有明显的成效。
传统的温室对工作人员的需求量大,浪费了劳动力,且无法实现温室环境的实时检测与调控,导致了产量低。
1.2国内外研究现状
1.2.1国内发展情况
相对于国外对于温室环境的检测与控制系统的研究,我国对于该方面的研究开始时间较晚,主要在20世纪80年代后期才正式开始发展[2]。
我国目前有很多科研机构和相关企业对温室环境智能化检测与控制系统进行了深入的研究,并取得了不错的成果,近年来我国对于温室的研究发展极快。
如齐云鹤团队研发的温室控制系统等,由数据采集器收集数据,并把数据上传到计算机进行处理,有效控制了系统底层,使温室作物的产量得到了极大地提高[3]。
1.2.2国外发展情况
东京大学在上世纪80年代初的时候,就研发出了智能化温室调控系统[4]。
由于国外对于温室环境控制的研究起步较早,且在该方面投入了大量的资金和科研力量,所以温室环境智能化检测与控制系统在国外发展迅速,尤其是在那些农业非常发达的国家,该系统得到了大面积的推广和普及,从而使得国外的温室总体呈现出温室作物产量高、智能化程度高等优点。
1.3研究内容及技术指标
1.3.1研究内容
设计以STC15W4K56S4为主控芯片的温室环境智能化检测与控制系统,该系统通过多变量采集系统检测温室中各变量的值,并由单片机读取,对检测到的数据进行处理,当温室中变量的值超出设定的上下限时,由单片机发出命令,开启警报,并把信号送给过程控制系统,进行补光、降温、通风等操作。
并通过上位机对采集的数据进行实时显示。
且该系统设有智能门禁模块,从而实现了对温室工作人员的有效管理。
1.3.2技术指标
以STC15W4K56S4为主控芯片设计温室环境智能化检测与控制系统,主要由无线数传模块、变量采集、过程控制、上位机四部分组成,且可以通过上位机界面进行远距离监控。
该系统实现了对温室环境进行智能化检测与调控。
其技术指标主要有四点。
系统能够对温室环境中主要变量进行实时检测和调控。
由上位机对检测数据进行实时监控。
通过智能门禁,实现对进出温室的工作人员进行科学的管理。
实现当温室中变量的值超出设定的范围时,自启动警报装置。
2系统设计方案
2.1系统设计原则
在产品设计时,使软硬件的设计都符合当今时代的潮流[5];
在设计系统的过程中,要考虑到安全系统,当出现小故障时,系统可以自我解决,当出现大型故障时,系统会启动警报系统,发出警报,提醒工作人员。
在设计系统时,应该仔细考虑成本问题,在保证质量的前提下,应该尽可能的从各方面节约成本[6]。
系统应具有自修复能力,当出现故障时,系统可以迅速的找出故障,并进行自我修复。
在设计系统时,软件和硬件均应支持二次开发,并且系统留有与外设通信接口。
2.2总体系统设计方案
系统以STC15W4K56S4为主控芯片,通过数据采集系统检测温室中各变量的值,由单片机读取,并通过上位机进行实时显示。
当温室环境中主要变量超出设定范围时,由单片机发出命令,触发警报系统并启动过程控制系统,对环境进行调节,使温室中各变量尽快达到正常状态。
温室工作人员通过刷卡的方式进出温室,实现了温室工作人员的科学管理。
总体的系统结构如图2-1所示。
图2-1系统结构图
2.3软件架构设计
首先根据系统应具备的功能,将系统模块化,然后根据各模块的需要进行引脚的配置和变量的定义,开始设计系统时,先将串口和IO口初始化,然后根据系统需要设计温室环境检测函数、过程控制函数、门禁系统函数、接收数据函数、发送数据函数,最后编写主函数。
程序的框架如图2-2所示。
图2-2程序架构图
2.4硬件架构设计
12V电压通过降压模块成功降压后给CPU供电,CPU根据数据采集系统和232转TTL模块所接收到的数据和控制命令来控制对应的动作,使整个系统做出反应,从而使相应的硬件模块完成功能。
硬件结构设计如图2-3所示。
图2-3硬件结构设计图
2.5系统特点
此系统实现了对温室环境的实时检测与调控,使温室环境中各变量保持在设定的范围内,温室环境智能化检测与控制系统主要有以下特点:
1.该系统可以通过上位机显示检测到的数据,实现了远程监控。
2.本系统采用了特殊的数据校验机制,有效的防止了数据的丢失,并确保了数据的准确性。
3.本系统设置了智能门禁模块,员工通过刷卡的方式进出温室,操作简单,而且实现了进出温室人员的科学化管理,有效地保证了温室安全性。
3硬件设计
3.1硬件结构框图
降压模块把12V电压成功降为5V后,给CPU供电;CPU通过数据采集系统中的器件采集温室中各变量的数据,并由上位机界面进行显示和实时监控。
当温室环境中变量超标时,由单片机发出命令,启动警报系统,并控制过程控制系统中的加热器、风扇、遮阳帘、通风窗、补光灯对温室环境进行调节,使温室环境尽快恢复正常。
员工通过刷卡的方式进出温室。
硬件结构框图如图3-1所示。
图3-1硬件结构框图
3.2硬件电路设计
3.2.1STC15W4K56S4单片机主控模块
温室环境智能化检测与控制系统主控模块设计使用的是STC15W4K56S4芯片,是一款性能较好的单片机,其封装为PDIP40格式[7]。
STC15W4K56S4芯片属于1T的单片机,且内部已集成高可靠复位电路和高精度时钟,不需外部晶振和复位电路。
利用STC15W4K56S4单片机系统板实现以下几点功能。
串口向上位机发送实时检测数据并接收由上位机发出的控制参数。
②控制温室环境检测模块的正常运行。
③控制过程控制系统的正常运行,实现对温室环境的实时调节。
④控制警报模块增强整个系统的安全性。
⑤控制智能门禁模块的正常运行。
STC15W4K56S4单片机有以下特点。
相对于其他的单片机体积较小,在各种项目里面都能够方便的使用[8];
相较与别的型号的单片机,运行速度更快。
该单片机具有大容量的SRAM。
3.2.2232转TTL模块
SP3232E芯片引脚功能如表3-1所示。
表3-1SP3232E芯片引脚功能表
管脚序号
管脚名
用途
1
C1+
倍压电荷泵电容的正极
2
V+
电荷泵产生的+5.5V电压
3
C1-
电容的负极
4
C2+
反相电荷泵电容的正极
5
C2-
电容的负极
6
V-
-5.5V电压
7
DOUT2
RS-232输出
8
RIN2
RS-232输入
9
ROUT2
TTL/CMOS输出
10
DIN2
TTL/CMOS输入
11
DIN1
TTL/CMOS输入
12
ROUT1
TTL/CMOS输出
13
RIN1
RS-232输入
14
DOUT1
RS-232输出
15
GND
地
16
VCC
电源
STC15W4K56S4通过P0.4引脚和P0.5引脚将TTL电平输入到RIN2、DOUT2,因此,SP3232芯片上的RIN2引脚和DOUT2引脚输出便是232电平信号。
通过芯片上的RIN1引脚和DOUT1引脚接入单片机外设,接收上位机的数据,这样,芯片上的DIN1引脚和DOUT1引脚输出的便是TTL电平,通过P1.4、P1.5两个引脚接进STC15W4K56S4进行处理。
3.2.3数传模块
上位机和主控板之间通过无线数传模块进行数据的传输,该模块相当于一座桥梁,实现了两者的通信[9]。
无线数据传输如图3-2所示。
图3-2无线数据传输示意图
单片机通过串口1发送TTL电平,TTL电平经过SP3232E芯片转换为232电平,送至无线数传模块(发送器);之后无线数传模块(发送器)将信号传送给无线数传模块(接收器),无线数传模块(接收器)通过标准的232接口接收232信号,232电平经过SP3232E芯片转化为TTL电平,传送给上位机。
3.2.4数据存储模块
为了防止断电数据丢失,本系统采用了AT24C02数据保存芯片。
AT24C02是基于I2C-BUS的存储器件,其串行同步半双工的工作方式,以及采用主从通信方式保证了数据传输的准确性,而且其独特的存储方式保障了数据掉电不会丢失,AT24C02在现代自动化控制方面应用广泛。
AT24C02芯片如图3-3所示。
图3-3AT24C02芯片图
AT24C02芯片有256个存储单元,可以保存大量数据,且其理论擦写次数达100万次,具有使用寿命长的优点。
AT24C02芯片采用I2C通信协议,一条总线上可挂接多个AT24C02,每个芯片可以通过自己唯一的地址与CPU通信,AT24C02与CPU之间进行双向的数据传输。
存储电路如图3-4所示。
图3-4存储电路图
3.2.5AD转换模块
为了将环境中不断变化的物理量转化为数字量信息,便于工作人员对环境的监测,本系统采用以PCF8591芯片为核心的AD转化模块。
该芯片是单集成8-bitCMOS数模转换器件,数模转换模块电路如图3-5所示。
图3-5数模转换模块电路图
PCF8591芯片采用I2C通信协议。
芯片上AIN0到AIN3四个引脚为模拟量输入通道,用于采集模拟量,并将模拟量转化成数字量,A0到A2三个引脚用于PCF8591地址的配置,一条总线上至多可挂接8个PCF8591芯片,AOUT引脚为模拟量输出引脚,可将接收到的数字量转化成模拟量输出,Vref和AGND分别为参考电压和参考地引脚,为PCF8591提供转化量程的上下限。
光敏传感器连接到AIN0引脚,光敏电阻的成分为硫化镉,伴随光照强度的改变它的阻值会发生改变,因此从AIN0通道转化回的数字量发生改变,将得到的数字量进行转化得到光照强的值,便于工作人员对光照强及时进行监测。
工作人员可以设置光照强度的上下限值,当光照强度超出设定的范围时,系统会启动警报系统,提醒工作人员环境参数已超标。
3.2.6C02浓度检测模块
控制好温室环境中C02的浓度是一项关键技术,本系统用MG811来检测温室环境中C02的浓度值,MG811对C02的灵敏度高,而且稳定性非常好,几乎不受周围温湿度变化的影响,可以保证C02浓度检测模块实时的、准确的检测温室中C02的值。
MG811实物图如图3-6所示。
图3-6MG811实物图
由于其输出的阻抗高,不能直接将输出接入AD转化芯片的输入端,在MG811信号输出端后面接阻抗变换电路,将阻抗值降至可测级别。
由于MG811工作时内核温度很高,因此本模块设计了温度补偿电路,使传感器实现全温测量,测量的精准度更高,将该模块的模拟信号输出端接入AD转化芯片的AIN2端,由于MG811输出的电压值与温室环境中C02浓度成比例关系,所以可根据该比例关系,将AD转化芯片转化回的数字值转化成C02浓度的值,单片机通过读取AD转化芯片上AIN2通道转化回的值,实现对C02浓度的检测。
3.2.7温度检测模块
该模块以DS18B02为核心,以满足温度检测模块高精度、高可靠性的要求。
DS18B20体积小、硬件开销低、且具有强大的附加功能,可以直接与一个高性能单片机相连接。
DS18B20电路图如图3-7所示。
图3-7温度检测模块电路图
DS18B20采用1—wire总线接口,由它组成的系统线路简单,体积小,且每个DS18B02都有自己独特的序列码,可以在一条总线上挂接多个DS18B02。
该器件的测温范围广,且在-10度到+85度范围内,其精确度为±0.5℃。
DS18B02为三针单排引脚封装,采用外部供电接法,VDD引脚接电源,GND接地,DQ引脚接总线,总线上加弱上拉电阻。
DS18B02按照单总线协议进行通讯,且在任何通讯前应先将其初始化,单片机每向DS18B02发送一次温度转化指令,DS18B02进行一次温度转化,且将转化回的数据存在高速暂存器中,之后保持等待,在没有收到转化命令时DS18B02不会自动进行温度转化。
读取过程则由单片机向DS18B02发送读暂存器指令,从暂存器的第一个字节开始读,成功读取温度值后,由单片机发送命令,DS18B02终止读取,完成一次温室环境中温度值的采集。
且单片机可以通过写暂存器指令,来配置DS18B02暂存器中byte4中的值,使其工作在9到12位精度模式下,该系统中DS18B02工作在12位模式下。
且DS18B02有报警温度设置功能,通过配置DS18B02暂存器中byte2和byte3的值来设置报警温度的上下限,当温度超出设定的上下限时,DS18B02发出信号,由单片机触发警报系统,提醒工作人员温度超标。
3.2.8湿度检测模块
为了确保湿度检测模块的稳定性,系统设计了以DHT11为核心的湿度检测模块。
DHT11响应迅速,而且可以长距离传输,使得DHT11成为湿度检测系统的首选。
DHT11实物图如图3-8所示。
图3-8DHT11实物图
DHT11采用单线制接口,VDD引脚接电源,GND接地,DATA引脚接总线,总线加上拉电阻。
由于系统对采集温度的精度要求较高,所以该系统仅使用DHT11采集的湿度值。
DHT11服从主从通信方式。
DHT11与单片机按单总线协议通信,当DHT11上电后会检测环境温湿度并保存数据,之后等待单片机发出的起始信号,DHT11收到信号后,待起始信号结束后,DHT11发出响应信号,之后由DHT11的DATA端输出数据,之后DHT11转为等待状态,内部重新检测温湿度数据并保存,等待下次起始信号的到来,完成对湿度值的采集。
3.2.9光耦隔离模块
因为STC15W4K56S4单片机的IO口驱动能力非常弱,一般在几十毫安左右,而负载通常所需的电流较大,可能会烧坏CPU,因此,为了防止电流过大而烧坏CPU,本系统采用了光耦隔离模块。
光耦隔离模块电路如图3-9所示。
图3-9光耦隔离模块电路图
如果在CH1处输入高电平,会在1、2会产生压降,则3、4两端导通,因此在C1处输出3.3V电压。
如果在CH1处输入低电平,那么1、2之间就不会产生压降,则3、4两端不会导通,因此在C1处输出0V电压。
3.2.10电机驱动模块
电机驱动模块电路如图3-10所示。
图3-10电机驱动模块电路图
把D1端置高(U=3.3V)、D2端置低(U=0)时Q1、Qmh2导通,Qmh1、Q2关闭,此时right端处于低电平,left端处于高电平,
把D1端置低、D2端置高时,Q1、Qmh2关闭,Qmh1、Q2导通,此时right端处于高电平,left端处于低电平。
与其他的H桥电路相比,此H桥电路无论控制端处于哪种状态,此电路均不会出现短路故障。
以电机为主体,分别构成了遮阳帘、通风窗、风扇等温室环境调节装置。
当温室内的光照值超过由上位机设置的上限值时,由单片机做出判断,发出关闭遮阳帘命令,关闭遮阳帘,实现对温室中光照值的调节。
当温室中的温度值超出设定的上限值时,由单片机做出判断,发出开启风扇的命令,启动风扇,实现对温室中温度值的调节。
如果湿度值C02浓度超标,由单片机做出判断,发出开启通风窗命令,开启通风窗,实现对温室中湿度值和C02浓度值的调节。
3.2.11温度、光照补偿模块
为了能够使环境中温度值和光照强度值稳定在设置的范围内,本系统设计了温度、光照补偿模块。
该模块以电热器和补光灯为主体,可以有效地为温室升温和补光。
电热器和补光灯的实物图如图3-11和3-12所示。
图3-11电热器实物图
图3-12补光灯实物图
当由温度检测模块检测到的温度值小于上位机设置的最小值时,由单片机做出判断,发出开启电热器的命令,启动电热器,使温室中的温度值尽快恢复到正常值。
当环境中光照值过小时,由单片机做出判断,发出开启补光灯的命令,打开补光灯,为温室补光,使光照强度值尽快恢复到正常值。
3.2.12智能门禁模块
为了提高温室的安全性,对进出温室人员进行科学化管理,本系统设置了智能门禁模块,该模块采用了FIRD技术,每一位工作人员都有自己的FIFD卡,FIRD卡的应用解决了传统的密码门禁系统难记忆、操作繁琐的缺点,员工只需要刷卡即可进入温室,操作简单。
而且该模块成本低,不像生物识别系统需要很高的成本费,且该系统具有较好的安全性。
本模块采用MFRC522读卡芯片,该芯片尺寸小,使用方便。
MFRC522支持多种模式与单片机通讯,该模块中MFRC522工作在UART总线模式下。
MFRC522引脚图如图3-13所示。
图3-13MFRC522引脚图
MFRC522通过UART总线模式与单片机进行数据传输,单片机通过对MFRC522内部寄存器读写的方式来控制MFRC522芯片。
单片机向读卡芯片发送寻卡命令,MFRC522接到指令后,依照ISO14443A协议工作。
ISO14443A协议流程图如图3-14所示。
图3-14ISO14443A格式流程图
每一个员工都有自己的射频卡,卡片上储存着员工自己的身份信息,根据每个员工射频卡的序列号,在上位机数据库建立个人信息,并可以更改数据库中的个人信息,通过写卡操作更改员工射频卡的信息。
员工进门刷卡时,读卡器按照ISO14443A协议格式,将读得的射频卡数据发送到单片机,单片机将该信息与上位机发送来的数据进行比对,若完全一样,则启动开门,否则开门失败。
若多次刷卡失败,会由单片机启动警报系统,提醒安保人员非工作人员试图进入温室,从而在最大程度上确保温室的安全性。
4软件设计
4.1整体程序设计
程序开始运行,将串口初始化,串口完成初始化之后,检测串口是否接收到上位机发送的控制参数,从而确定系统的控制参数。
然后通过数传模块,将各变量的数据上传到上位机。
并由单片机做出判断,若存在变量超标,则发出命令,启动相应的设备进行调节,否则继续判断。
整体程序设计如图4-1所示。
图4-1整体程序设计图
4.2分散模块程序设计
4.2.1串口程序设计
打开串口,首先将串口初始化,开启串口中断,然后把数据存储区内的数据写入发送缓冲寄存器,发送数据,然后判断数据是否发送完成,若发送失败,则再次将数据存储区内的数据写入发送缓冲寄存器,再次发送数据;若发送完成,则结束此次发送。
串口程序如图4-2所示。
图4-2串口程序设计图
4.2.2环境控制模块程序设计
首先,进行串口初始化,初始化完成后,对串口进行检测,判断串口是否接收到由上位机发送的控制参数,若接收到上位机发送的数据,则单片机以最新接收到的控制参数为标准,对采集到的温室中的各个变量值进行判断,若没有接收到数据,则以之前保存的控制参数为标准,进行判断,若温室中存在变量超标,则根据超标的变量,由单片机发出相应的控制命令,启动相应的设备对温室环境进行调节,否则单片机继续进行判断。
环境控制模块程序设计如图4-3所示。
图4-3环境控制模块程序设计图
4.2.3ADC程序设计
首先,初始化ADC,然后配置好I2C总线,然后由单片机读取相应ADC通道的数据,若成功读取数据,则多次读取得平均值,否则继续读取相应ADC通道的数据,之后将得到的平均值按效应公式进行转换,最后将数据保存到单片机中。
ADC程序设计如图4-4所示。
图4-4ADC程序设计图
4.2.4I2C总线程序设计
首先,将总线进行初始化,配置好与总线相关的引脚,然后配置I2C总线的通信协议,配置完成后,测试I2C总线是否可以正常通讯,若总线通讯正常,则根据需要分配好挂接到I2C总线上的器件的地址,单片机与I2C总线上的器件进行半双工同步串行通讯,由单片机发出读写命令,器件服从单片机的命令,进行数据的接收或发送。
I2C总线程序设计图如图4-5所示。
图4-5I2C总线程序设计图
AT24C02模块和ADC转化模块与单片机进行通讯是通过该程序完成的,总线上挂接的器件都有各自的地址,便于主机进行查询,单片机与器件进行通讯前,首先进行器件地址的匹配,然后进行通讯,且每个发送的字节后面都跟着个应答位,从而判断器件是否可以成功地接收数据。
4.2.51-wire总线程序设计
首先,将总线初始化,配置好与总线相关的引脚,然后配置1-wire总线协议,配置完成后测试总线是否可以正常通讯,若可以通讯,则把所需的器件挂接到总线上,器件与单片机按照单总线协议进行双向通讯。
1-wire总线程序设计图如图4-6所示。
图4-61-wire总线程序设计图
DS18B02温度传感器与单片机之间进行通讯是通过该程序完成的,每个挂接到总线上的器件都有自己的序列码,单片机访问总线上的器件时,应首先初始化,然后由单片机发送指令,确认总线上所有器件的编码,然后进行编码匹配,匹配成功后,由单片机发送功能指令,使器件完成相应的功能
5系统调试
5.1硬件调试
5.1.1TTL转232模块调试
在硬件调试的过程中发现,主控板的信号通过该模块后无法实现与上位机的通信,我跳过该模块,继续对其他模块进行调试,在确保其他部分都没有问题时,我怀疑是SP3232芯片已被烧毁,在更换了新的芯片后,主控板的信号通过该模块后可以与上位机进行通信,由此我可以确定是芯片出了问题。
我解决了主控板与上位机之间的通讯的问题后,我发现,通过SP3232芯片发送的数据有时会出现乱码,因此,我对程序进行了重新测试,在确保程序不存在问题后,我可以确定是硬件出现了问题,经过多次检查后,发现SP3232芯片在焊接环节出现了虚焊的问题,我将SP3232芯片重新焊接了一遍,发送的数据就不存在问题了。
5.1.2电源模块调试
在电源模块的调试过程中,发现了巨大的问题,通电后,经降压模块的电压被迅速降低,电源电流迅速上升。
出现该问题后迅速关断电源,避免因电流过大而烧坏其他器件,出现该问题存在两种可能,不是电源的正负极接反了,便是存在其他器件的正负极短接了。
因为我采用的稳压电源供电,若是电源的正负极接反了,稳压电源会即刻断电,但没有出现这种情况,因此排除了第一种可能。
我认真检查电路后发现,别的模块存在正负极短接的情况,在我将其重新焊接后,故障得到解决。
在调试12V降3.3V电路时,我发现了和之前一样的毛病,原因是降压模块的正负极接反了。
在经过重新焊接之后,电源模块可以正常工作。
5V降压电路输入、输出电压的数值如表5-1所示。
表5-112V降5V测试表
第1次
第2次
第3次
第4次
第5次
输入电压(V)
12
12
12
12
12
输出电压(V)
4.99
5.01
5.0
4.99
5.0
5V降压电路得到的输入信号和输出信号如图5-1所示。
图5-112V降5V示意图
3.3V降压电路
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温室 环境 智能化 检测 控制系统 设计 毕业论文