最新室内环境监控系统设计Word文件下载.docx
《最新室内环境监控系统设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《最新室内环境监控系统设计Word文件下载.docx(62页珍藏版)》请在冰豆网上搜索。
方案二则具备液晶显示参量值,保存数据和补偿模式设置功能,该方案通过1602液晶查看以往的参量数据,但参看方式只能是文字方式,不直观,同时不具备查看各个参量随时间变化曲线图的功能。
方案三中单片机测量环境参量值,进行自动补偿,通过无线方式将数据传输给PC机,通过电脑绘制曲线图查看量某段时间的变化情况。
该方案不足之处在于价格高,且无线方式传输的数据易出现错误,不能在大棚实地查看相关环境参量值。
方案四则综合了方案二、三的优点并作了一些改进,在大棚处用12864液晶显示环境参量值,单片机通过记录时钟芯片提供的时间值,可在12864液晶上画出一定时间内的环境参量随时间的变化关系曲线图,同时还能设置补偿模式,如定时补偿,自动补偿等,方便了大棚管理人员对大棚环境的管理。
故我们选择方案四。
三.理论分析与方案论证
理论分析:
温室环境复杂多样影响的条件因素多,但是影响生产的主要因素是:
温度、湿度、CO2浓度以及光照强度,其他的条件对温室作物的生长影响极小。
因此,只要控制好这几个主要的环境条件就能有效提高温室的生产效率。
控制的前提是有效的监测,因此,设计的主体是传感器,本系统采用“温湿传感器、CO2传感器、光强传感器”3个传感器模块能够有效测量“温度、湿度、CO2浓度以及光照强度”这几个主要环境参数。
采用单片机作为核心处理器完全可以实现采集术、处理数据并做出调整。
综合考虑,本系统完全具有可行性。
方案论证:
温湿生产现在越来越来普遍,但是对于温湿环境的控制基本上处于凭经验判断的状态,对于温室内环境的主要参数:
“温度、湿度、CO2浓度和光强”,除了温度外都没有一个具体的科学的定量分析。
这大大降低了温室的生产效率,而且浪费人力。
而市面上出现的一些专业的测量装置或者智能温室管理设计,不仅价格昂贵,而且操作复杂,无法推广。
因此,非常有必要设计一款经济适用、操作简单且有效的测控设备。
总体设计
一、硬件实现:
本系统基于STC89C516单片机,采集4路信息并做出处理,整个系统具有一定的智能化。
首先,采集数据:
本系统采集“温度,湿度,CO2浓度,光照强度”4路信息;
综合考虑采用3个传感器:
温湿传感器、CO2传感器、光强传感器。
其次,良好的人机交互平台,这部分功能由“12864+键盘”实现;
12864界面采用“汉字+图形”的菜单模式,键盘采用四个独立按钮,由中断模式读取按键,多层读取按键操作菜单。
再次,实现数据清晰明了、一目了然,采用“字符+波形”的显示模式;
温室环境瞬时变化极小,需要采用一定长的时间里持续观测数据,同时需要实现菜单设置掉电保存,系统使用一片E2PROM芯片记录菜单设置模式和测量数据;
再次,为了使历史记录具有可读性,测量数据与测量时刻必须一一对应,系统采用一片DS1302时钟芯片,记录时间。
最后,数据处理及实现自动调整功能:
自动调整系统设置继电器,控制自动调整装置;
数据处理参考下面的软件支持。
系统总的硬件框图:
关键技术及创新点:
1、为节省单片机的引脚资源,我们采用了DHT21基于单总线方式的温湿度传感器,该传感器将实时温度、湿度数据经过一条数据线传输给单片机。
2、为可查看参量数据随时间的变化情况,我们采用了DS1302实时时钟芯片来产生时间数据,同时将所测实时参量数据保存在24C16中,单片机通过读取时间24C16中的相关数据,在12864液晶上以时间数据为横轴,参量数据为纵轴,绘制出相应曲线。
3、12864液晶的操作界面,采用“文字+图形”的方式,采用菜单模式界面,界面友好直观,十分适合用户操作。
二、软件支持:
首先,实现菜单功能:
采用编码模式,每个单元对应一个编码,由按键改变编码实现菜单操作。
其次,数据采集及处理:
主程序调用模块函数采集信号并通过转换函数将信号电压转换成实际的参数,进而进行相应的调整处理。
单元电路设计
一、温湿度传感器模块
选用DHT21数字温湿度传感器。
DHT21数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。
传感器包括一个电容式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。
传感器具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。
每个DHT21传感器都在极为精确的湿度校验室中进行校准。
校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。
测量精度达到:
温度±
0.5℃,湿度±
0.5%RH。
单线制串行接口,使系统集成变得简易快捷,超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。
由于DHT21数字温湿度传感器采用单总线输出,方便连线,但软件比较麻烦。
串行数据读取由高电平的持续时间区分串行的“0”、“1”位,因此在程序中需要测试高电平的持续时间,需严格的时间延时。
二、光敏电阻模块
温室环境对光强灵敏度要求不高,
因此选择光敏二极管将光强信号,
转换成电信号,然后用ADC0832
采集电信号。
光敏二极管的电阻
随光强变化,光强越强电阻值越
低。
因此,将光敏二极管与一定
值电阻串联就能得到随光强变化
的电信号。
本模块采用4个光敏
二极管(增加采集面),采集两路
信号,每两个光敏二极管并联采
集一路信号,取强信号为光强信号。
我们将所测光强数值自定义分为
1-10级,分别表示不同强度的光照。
模块电路图如右图10所示。
三、CO2传感器模块
1.二氧化碳传感器原理:
外电源(6±
0.1V)加热元件,当其表面温度达到足够高时,元件相当一个电池,在其信号脚两端输出电压(0.2-0.5V)信号(与能斯特方程符合较好)。
连线如图11。
2.测量条件:
二氧化碳传感器对测量条件要求较高,电源6±
0.1V,信号采集电流控制在1PA以下.因此,要求测量阻抗达到200G-1000G.
3.采集电路:
实际应用如下图所示.采用高输入阻抗的运放OP07(输入阻抗达200G以上)做前级电压跟随器OP07的共模输入阻抗达到120G,因此两端各采用一个电压跟随器,从而使测量电阻达到200G的要求.电压跟随器后面接一个差分放大器INA128U,将信号电压放大10倍,然后用ADC0832进行A/D转换采集信号.
4.电路说明:
经过测试OP07与INA128U构成的前级电路完全能满足要求,放大后的信号电压误差在1%以内.ADC0832为8位双通道串行A/D转换芯片,可以采集0-5V的信号,256级电压精度.直接测量显然精度不够,将信号放大10倍后,精度达到预期要求(面对温室环境测量,其对于CO2精度精度要求不高,而且传感器响应灵敏度足够高(1/10000)).电路连线图如图12:
四、键盘模块
本系统用到了4个按键,而每一次按键都产生一个中断,故我们选取了74LS21芯片4输入与门,4个按键连接输入信号,输出连接外部中断1的引脚,则每次按键,与门输出就会产生一个中断信号,再结合键值,就能准确判断出按键。
硬件电路图如图:
五、继电器及补偿模块
继电器:
继电器模块十分简单,原理就不多介绍了.本系统使用了两个继电器,在电路设计上直接使用三极管提供驱动(继电器多的话可以使用74HC573或达林管UN2003等驱动)。
在实际电路中要注意在继电器的电源端一定要反接一个二极管;
同时;
最好在靠近继电器的电源端接入1000uF以上的电容,以增强电路的稳定性。
补偿模块:
采用风扇和照明灯模拟,风扇提供通风使CO2浓度和湿度恢复正常值,照明灯提供光照和温度补偿。
六、24C16外接ROM模块
24C16串行E2PROM总容量为2K字节,内部分成8个2K比特的地址区域,通过改变“a、b、c”三个寻址位寻址不同的地址区间。
每个区间内部的寻址由10位地址码寻址每一个地址,对其数据的写入写出操作采用“地址+数据”的模式。
七、12864液晶模块
128*64点阵的汉字图形模块内置8192个中文汉字、128个字符及64*256点阵显示RAM,串并(8位并行)两种界面与微机连接。
本系统采用串行通信模式,即“数据线+时钟线”模式。
串行通信的优点有很多:
首先,减少线路连接,不仅仅减少工作量,而且节约硬件成本;
其次,节约微机I/O口;
最后,有利于硬件维护。
经测试在写入速度上影响不大,对本系统来说完全够用。
12864液晶模块显示曲线图形及实现反白的时候,要注意入写数据的算法.图形模式下Y轴是按位寻址,但X轴按双字节寻址,奇数字节没有独立的地址。
八、电源模块
220V电源输入,正负电源输出。
220V电源接5w变压器降压到15伏,通过由4个二极管构成的桥式整流器整流得到±
18V,后面接78系列(7815、7915、7805)和LM317集成稳压芯片实现稳压输出。
具体电路图如下图14:
单元电路测试
本系统各单元模块在接入系统前都经过独立测试并通过,传感器模块无法提供真,对其都采用实物测试。
24C16、DS1302、12864液晶模块均仿真通过。
温湿模块测试数据:
表1
测量次数
物理
量
08:
00
09:
40
12:
14:
30
15:
20
温度(℃)
17.4
19.6
20.7
21.3
25.3
湿度(%RH)
32.2
35.3
34.3
33.5
33.7
CO2模块测量数据:
表2
CO2(ppm)
325
340
356
350
370
输出电压(V)
0.401
0.388
0.367
0.357
0.346
光强测量:
表3
光强等级
1级
2级
3级
4级
5级
2.0
2.5
3.0
3.5
4.0
整体测试
在分别对传感器,键盘,继电器,12864液晶模块进行测试后,我们进行整体单元电路的测试。
1、显示实时环境参量数据,12864液晶上显示实时环境参量数值:
湿度:
40.3%RH
温度:
19.8℃
CO2浓度:
330ppm
光照强度:
相应的时间:
17:
46:
30星期三
2、按键进行参数范围设置,补偿模式,设置测量时间间隔,12864液晶采用菜单模式显示。
菜单模式结构如下表2:
(主界面)
欢迎使用
德州学院
40ppm
功
能
设
置
参
数
测量间隔(10分钟—60分钟)
时间设置
温度设置
湿度设置
CO2浓度设置
光强范围
模
式
自动补偿
手动补偿
定时补偿
记
录
处
理
上次记录
作
图
湿度作图
温度作图
CO2浓度作图
光强作图
复位
将系统恢复到初始状态
表4
3、在菜单中选择作图,则单片机读取外接ROM的24C16中的数据,以参量值为纵坐标,时间为横坐标,得到相应的横纵坐标值,通过键盘选择,可在液晶屏上绘制相关参量随时间变化的曲线。
4、设置过程中,若超过1分钟没有按键,液晶屏关闭背景灯,减少耗电。
5、当环境的光强较低或温度较低时,单片机控制照明灯亮,进行补偿;
当湿度值超过下限或CO2浓度超出范围时,单片机通过继电器控制风扇工作,进行补偿。
结论
基于单片机的温室测控系统对各项指标的实现情况较好,系统设在种植植物的大棚内,数据采集模块中的温湿度传感器,CO2传感器,光敏电阻,可以将环境中的温湿度等非电量的信号参数转化为电量信号,再将这些信号进行处理后送至单片机,并在24C16中保存,单片机读取数据后,将数据送到缓冲区,通过12864液晶实时显示,但由于人们对光照强度的概念较模糊,我们对光强设置了十个等级,较直观地表示光强。
用户可以通过键盘及液晶显示模块输入温度、湿度、CO2浓度的上下限值和预置值,可在菜单中的记录处理项查看上次记录,绘制相关参量曲线。
可预置补偿模式,定时补偿,自动补偿,手动补偿。
在自动补偿模式下,单片机将所测实时数据与原先内部设定的参数值进行比较处理;
单片机根据比较结果对执行设备发出相应的信号,并通过继电器的控制对相应的设备如照明灯,风扇等进行操作,调节大棚内的温湿度,CO2,和光照状态,直到它们的状态处于上下限值以内为止。
在系统设计过程中,本系统紧密结合温室大棚的实际情况,综合目前市面上相关产品的特点,我们采用了直观友好的操作界面,操作简单,数据显现可以通过文字方式,还可绘制相应曲线,使用户方便查看,查询和设置。
本系统具有结构简单,成本低,高效率,运行可靠性好等优点,具有很好的应用前景。
本系统实现了我们预期的所有目标,但由于时间紧,我们对一些目标进行了简化。
如果时间充足,我们可以改进本系统的一个不足之处:
不能保存较长一段时间的各个参量实测数据。
我们的改进设想是将参量值数据通过单片机的串口传输给PC机,由PC机保存各个参量长期的数据。
如在24C16中的数据存满时,则单片机将24C16中的数据全部传输给PC机,PC机收到数据后,保存在特定的文档里,同时经过相应的软件处理可在PC机上绘制各个参量该段时间的变化曲线。
参考文献:
【1】新编MCS-51单片机应用设计/张毅刚编著.哈尔滨:
哈尔滨工业大学出版社,2008.3,180-192页。
【2】电子工程师制图与制版技术—Protel99SE应用.北京:
科学出版社,2004,8-100页。
【3】谭浩强.《C程序设计》.北京:
清华大学出版社,2005(2007年重印),第三版,156-166页,204-214页。
【4】《无线电》杂志10年第一期(53-61页)、第二期(52-57页)数字示波器DIY——魏坤。
【5】单片机应用系统开发实例详解.北京:
机械工业出版社,2007.10,15-38页。
附录
整体电路图
程序清单
#include<
reg52.h>
//"
头文件"
12864.h>
cat24c.h>
ds1302.h>
0832.h>
wenshi.h>
image.h>
sfrAUXR=0x8e;
sfrAUXR1=0xa2;
//"
key记录键值;
k自动控制标志;
i、b用于显示"
unsignedcharkey=0,k=0,i=0,b=0,m=0,j=0,l=0,g=10,s=0;
//"
m、l、j、g用于计时"
unsignedcharxdatashow[8];
用于显示转换"
unsignedcharxdatawet[6];
//"
湿度[0:
1]、温度[2:
3]、CO2[4]、光强[5]"
unsignedcharxdatamax[6]={0};
unsignedcharxdatamin[6]={0};
unsignedcharxdatat0ime[8]={1,2,3,5,6,7,8,9};
/*----*///"
比较参量0,时间[0:
1]、湿度[2:
3]、温度[4:
5]、CO2[6]、光强[7]"
unsignedcharxdatat1ime[8]={1,2,3,5,6,7,8,9};
比较参量1,时间[0:
unsignedcharaddress=0x10;
RAM地址"
sbitkey1=P1^7;
按键1"
sbitkey2=P0^1;
2"
sbitkey3=P0^2;
3"
sbitkey4=P0^0;
4"
sbitled=P0^3;
12864背灯"
sbitco2=P3^7;
CO2加热"
sbitmo=P2^0;
电机"
sbitli=P2^1;
加热灯"
voidmenu();
voidwelcome()//"
欢迎界面"
{chn_disp(0x92,4,"
欢迎使用"
);
chn_disp(0x98,8,"
德州学院"
}
voidreadall()//"
读取时间、湿、温、CO2、光强"
{Read_RTC();
RH(wet);
wet[4]=Adc0832
(1);
wet[5]=Adc0832
(1);
voidchange(unsignedcharn)//"
数据格式转换"
{unsignedchark;
unsignedintg;
switch(n)
{case0:
for(k=0;
k<
3;
k++)
{show[6-3*k]=set_rtc_code[k]/16+'
0'
;
show[7-3*k]=set_rtc_code[k]%16+'
}
show[5]=show[2]='
:
'
break;
case1:
show[0]=set_rtc_code[6]/16+'
show[1]=set_rtc_code[6]%16+'
show[4]=set_rtc_code[4]/16+'
show[5]=set_rtc_code[4]%16+'
show[6]=set_rtc_code[3]/16+'
show[7]=set_rtc_code[3]%16+'
case2:
show[0]=t0ime[1]/16+'
show[1]=t0ime[1]%16+'
show[3]=show[2]='
-'
show[4]=t0ime[0]/16+'
show[5]=t0ime[0]%16+'
case3:
show[0]=t1ime[1]/16+'
show[1]=t1ime[1]%16+'
show[4]=t1ime[0]/16+'
show[5]=t1ime[0]%16+'
case4:
g=wet[0]*0x100+wet[1];
show[0]=g/100+'
show[1]=(g/10)%10+'
show[2]='
.'
show[3]=g%10+'
show[4]='
%'
case5:
g=wet[2]*0x100+wet[3];
case6:
g=CO2_deal(wet[4]);
show[0]=g/1000+'
show[1]=(g/100)%10+'
show[2]=(g/10)%10+'