养鸡场智能监控系统设计.docx
《养鸡场智能监控系统设计.docx》由会员分享,可在线阅读,更多相关《养鸡场智能监控系统设计.docx(41页珍藏版)》请在冰豆网上搜索。
养鸡场智能监控系统设计
内容摘要
养鸡场在现代社会中占据着重要的作用,用它有效地控制温度、光照、湿度、气体浓度等是改变鸡禽生长环境、为鸡禽生长创造最佳条件、避免外界四季变化和恶劣气候对其影响的前提。
本设计以STC89C5单片机为核心完成了对空气温度、湿度、光照度进行数据的采集、处理、显示等系统的基本框图和工作原理控制的设计的工作。
主要内容有:
(1)通过数字温湿度传感器DHT11采集实时温、湿度。
(3)通过光敏电阻采集实时光照度。
(4)通过气体传感器MQ-2检测室内是否有某种气体浓度过量。
通过以上设计可以对鸡禽生长过程中的环境温度、湿度和光照度进行
了实时地、连续地检测、直观地显示。
克服了传统的人工测量方法不能进行连续测量的弊端,节省了工作量,并避免了人为的疏漏或错误造成的不必要的损失。
关键词
单片机;温湿度传感器;光敏电阻;气体传感器;LCD
第一章概述1
1.1选题背景1
1.2国内外的发展现状1
1.3课题内容、目的及思路2
1.4设计过程及工艺要求2
第二章系统的总体设计3
2.1系统设计目标3
2.2系统的组成和工作原理3
2.3环境参数检测方案的比较和选择5
2.3.1湿度传感器的选择5
2.3.2温度传感器的选择6
2.3.3光亮度传感器的选择8
2.3.4气体传感器的选择8
2.3.5方案选择总结9
第三章硬件的设计9
3.1MCU选型9
3.2湿湿度测量电路10
3.3光照度测量电路11
3.4数据显示电路12
3.5复位电路13
3.6气体浓度检测电路14
3.7电源电路14
总结致谢错误!
未定义书签。
参考文献15
附录系统源代码16
基于单片机的养鸡场温湿度亮度气体监控系统设
计
第一章概述
1.1选题背景
现代化禽类养殖中的重要一环就是对养殖环境的一些重要参数进行检测和控制。
例如:
空气的温度、湿度、光照强度、二氧化碳含量、土壤的含水量等。
养殖环境与生物的生长、发育、能量交换密切相关,进行环境测控是实现禽类养殖生产管理自动化、科学化的基本保证,通过对监测数据的分析,结合生物生长发育规律,控制环境条件,使养殖达到优质、高产、高效的目的。
以养殖鸡禽为代表的现代养殖设施在现代化养殖生产中发挥着巨大的作用,所以对养殖场的温度、湿度与光照强度等参数的控制就显的非常重要了。
传统的方法是用毛发湿度表、酒精温度计等进行人工测量,再对不符合的温度、湿度、光照度通过在养殖场进行降温、遮光等控制来调节,这种人工测控的方法费时费力、效率低、且无法保证测量的连续性,测量的误差大、随机性大,随意性强。
为了克服以上几点不足,我们需要一种造价低廉,使用方便且测量准确的自动测控系统。
1.2国内外的发展现状
国外的养殖设施己经发展到比较完备的程度,并形成了一定的标准,但
是价格非常昂贵,缺乏与我国气候特点相适应的测控软件,不利于在我国广
泛地推广,而当今在我国大多数地方对养殖场温度、湿度、光照强度的检测与控制都采用人工管理,存在着测控精度低、劳动强度大及由于测控不及时等弊端,容易造成不可弥补的损失,结果不但大大增加了成本,浪费了人力资源,而且很难达到预期的效果。
本系统主要针对养殖场内温度、湿度,光照强度研制了单片机控制的养殖场自动控制系统,综合考虑系统的精度、效率以及经济性要求三个方面因素之后,最终确定以单片机为控制核心,选用性价比比较高的传感器,实现对温湿度的精确测量与准确控制,同时又具有价格低等优点,便于在我国推广。
1.3课题内容、目的及思路
本系统主要采用单片机作为系统的控制核心,由养殖场内的空气温度湿度传感器、光照度传感器采集数据,经过模数转换后送入单片机,由单片机根据采集的数据做出相应的控制,例如控制继电器的开合,使换气风扇、滴灌设备、遮阳幕等设备的启动或停止,达到控制养殖场内各项参数的目的。
同时在外接的LCD液晶上显示实时参数,便于观察。
1.4设计过程及工艺要求
在本系统中为了保证对温度、湿度和光照度的检测的实时性和准确性,采用了数字温湿度传感器来检测温、湿度。
采用光敏电阻检测光照度。
最后通过单片机处理后显示在LCD液晶显示屏上,对养殖场的各个参数进行实时监控,以便及时作出调整,以达到鸡禽生长的环境条件。
本系统的基本功能有:
检测空气温度、湿度、环境光照度和各气体浓度情况并显示以上各项参数。
第二章系统的总体设计
2.1系统设计目标
本设计的要求是以单片机为控制核心,以湿度传感器、温度传感器、光敏电阻完成对养殖场内的各项参数进行测量,并将数据输入到单片机中,有单片机根据所编写的程序,及时将通过各种传感器测的数据实时地显示在液晶屏上。
2.2系统的组成和工作原理
硬件系统主要有信号采集、信号分析、信号处理三个部分组成。
(1)信号采集由湿度传感器、温度传感器、光敏电阻组成。
(2)信号分析由单片机基本系统组成。
(3)信号处理由并行口LCD夜晶显示屏。
单片机通过湿度传感器检测土壤的湿度,若土壤的湿度过低,单片机就打开滴灌设备的电磁阀一分钟,对作物进行滴灌作业,增加土壤湿度,经过一段时间,单片机再次检测土壤湿度,如果湿度过高,就关闭滴灌设备的电磁阀,停止滴灌作业。
如果开始检测的土壤湿度在适宜的范围,单片机则维持现有状态不变。
温度传感器
韻度传感器
养
单
片
=^>
光照传嬴器
场
机
A
气体浓度传感器
设计的原理框图:
2.3环境参数检测方案的比较和选择
2.3.1湿度传感器的选择
单片机作为控制核心,要有被检测信号输入,由单片机处理。
如何准确的确定外围环境的各项参数就显的非常重要。
传感器是实现测量与控制的首要环节,是测控系统的关键部件,如果没有传感器对原始信号进行准确可靠的捕捉和转换,系统就无法实现要求的各项功能。
工业生产过程中的自动化的测量和控制,大部分主要依靠各种传感器来检测和控制生产过程中的各项参量,使系统工作在最佳的状态下。
测量空气湿度的方法有很多种,其原理是根据某种物质从其周围的空气中吸收水分后引起的物理或化学的性质的变化,间接的获得空气的湿度。
电容式、电阻式和湿涨式湿敏元件分别是根据其高分子材料吸水后的介电常数、电阻率和体积发生的变化进行湿度的测量。
方案一:
采用HOS-201湿敏传感器。
HOS-201湿敏传感器为高湿度开关传感器,它的工作电压为交流1V以下,频率为50HZ-1KHZ测量范围为0%-100%RH工作温度为0〜50C,阻抗在75%RH(2&)时为1MQ。
这种传感器主要用于开关的传感器,不能在宽频域内检测湿度。
这种传感器只限于一定范围内使用时具有良好的线性度。
方案二:
采用DHT11湿度传感器。
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。
传感器包括一个电阻式感湿元件和一个NTC测温元件并与一个高性能8位单片机相连接,因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点
综合比较方案一和方案二,方案一虽然满足精度和测量温度的要求,但是只是限定于一定的范围内使用时具有良好的线性度。
因此,我们选择方案二作为本设计的湿度传感器。
232温度传感器的选择
方案一:
采用AD590温度传感器。
AD590温度传感器是美国模拟器件公司生产的单片集成两端感温电流源。
AD590性能描述:
测量范围在-50C-
+150C,满刻度范围误差为士0.3C,当电源电压在5—10V之间,稳定度为1%时,误差只有士0.01C。
AD590为电流型传感器温度每变化1C其电流变化1uA在35C和95C时输出电流分别为308.2uA和368.2uA。
方案二:
采用DHT11湿度传感器。
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。
传感器包括一个电阻式感湿元件和一个NTC测温元件并与一个高性能8位单片机相连接,因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。
综合比较方案一和方案二,两方案都可以满足设计所要求的精度温度要求,但方案一的后续电路复杂,需要经过放大,数模转换等步骤,增加了设计的复杂度和成本,并需要占用单片机较多的I/O口。
方案二的后续电路简
单,占用的I/O口数量少,为整体设计留出了足够的I/O口资源。
故我们采用方案二作为本系统的温度传感器。
1、传感器性能说明
参数
条件
Min
Typ
Max
单位
湿度
分辨率
1
1
1
%RH
16
Bit
重复性
±1
%RH
精度
25C
±4
%RH
0-50C
±5
%RH
互换性
可完全互换
量程范围
0C
30
90
%RH
25C
20
90
%RH
50C
20
80
%RH
响应时间
1/e(63%)25C,
1m/s空气
6
10
15
S
迟滞
±1
%RH「
长期稳定性
典型值
±1
%RH/yr
温度
分辨率
1
1
1
c
16
16
16
Bit「
重复性
±1
c
精度
±1
±2
c
量程范围
0
50
c
响应时间
1/e(63%)
6
30
S
2、接口说明
建议连接线长度短于20米时用5K上拉电阻,大于20米时根据实际情况使
用合适的上拉电阻。
VDDVDD
I5K1叶
MCU-_DHT11
4Pin
GND
典型应用电路
3、电源引脚
DHT11的供电电压为3-5.5V。
传感器上电后,要等待1s以越过不稳定状态
在此期间无需发送任何指令。
电源引脚(VDDGND之间可增加一个100nF的
电容,用以去耦滤波
2.3.3光亮度传感器的选择
方案一:
采用光照度传感器M124749该光照度传感器采用先进的电路模
块技术开发变送器,用于实现对环境光照度的测量,输出标准的电压及电流信号,体积小,安装方便,线性度好,传输距离长,抗干扰能力强,量程可调。
但价格昂贵,性价比不高,且不易购买。
方案二:
采用光敏电阻。
光敏电阻的工作原理是当有光线照射时,电阻内原本处于稳定状态的电子受到激发,成为自由电子,所以光线越强,产生的自由电子也就越多,电阻就会越小。
光敏电阻的优点有内部的光电效应和电极无关(光电二极管才有关),即可以使用直流电源。
灵敏度和半导体材料、以及入射光的波长有关,价格低廉,性价比高。
比较以上两个方案,方案一虽然具有更好的设计精度和线性度,但性价比不如光敏电阻好。
方案二具有较高的性价比且同时也能满足系统的设计要求,故采用光敏电阻作为光照度传感器。
2.3.4气体传感器的选择
MQ-2气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。
当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。
使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。
以检测空气中co的含量是否在一般情况下。
基于本次只是检测空气中一氧化碳含量是否超标,我们经过详细的探
讨最终决定使用气体传感器MQ-2。
2.3.5方案选择总结
1)
湿度传感器采用
DHT11。
2)
温度传感器采用
DHT11。
3)
光亮度传感器采用光敏电阻
4)
气体传感器采用
MQ-2。
第三章硬件的设计
3.1MCU选型
STC89C52是一种低功耗、高性能CMOS位微控制器,具有8K在系统可编程Flash存储器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程
Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能:
8k字节Flash,512字节RAM32位I/O口线,
看门狗定时器,内置4KBEEPRQMMAX81C复位电路,三个16位定时器/计数器,全双工串行口,最高运作频率35MHZ它是MCS-51系列单片机的派生产品,在指令系统、硬件结构和片内资源上与标准8052单片机完全兼容,DIP40封装系列与8051兼容均为Pin-to-Pin,使用时容易掌握;
高速、低功耗、价格低、稳定可靠、应用广泛、通用性强,在系统/在应用可编程(ISP,IAP),不占用户资源。
STC89C5单片机管脚如图3-1:
葺r
<£>
■m>
i1
e^si
H
-K-
*
e
三:
K.-
j-nz--
图3-1STC89C52单片机管脚定义图
3.2湿湿度测量电路
DHT1数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合
传感器。
它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有
极高的可靠性与卓越的长期稳定性。
传感器包括一个电阻式感湿元件和一个NT(测温兀件,并与一个咼性能8位单片机相连接。
因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。
每个DHT1传感器都在极为精确的湿度校验室中进行校准。
校准系数以程序的形式储存在0T内存中,
传感器内部在检测信号的处理过程中要调用这些校准系数。
单线制串行接口,使系统集成变得简易快捷。
超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。
产品
为4针单排引脚封装。
连接方便,特殊封装形式可根据用户需求而提供。
图3-2温湿度测量电路
3.3光照度测量电路
系统采用价格低廉的光敏电阻⑸测量光照度,因其没有良好的线性度,所以只能大致的测量。
根据光敏电阻在不同的光照下有不同的阻值,经过A/D转换后输入到单片机内进行处理。
图3-3光敏传感器连接电路
3.4数据显示电路
12864引脚说明:
1VSS-模块的电源地
2VDD-模块的电源正端
3V0-LCD驱动电压输入端
4RS(CS)H/L并行的指令/数据选择信号;串行的片选信号
5R/W(SID)H/L并行的读写选择信号;串行的数据口
6E(CLK)H/L并行的使能信号;串行的同步时钟
7DB0H/L数据0
8DB1H/L数据1
9DB2H/L数据2
10DB3H/L数据3
11DB4H/L数据4
12DB5H/L数据5
13DB6H/L数据6
14DB7H/L数据7
15PSBH/L并/串行接口选择:
H-并行;L-串行
16NC空脚
17/RETH/L复位低电平有效
18NC空脚
19LED_A-背光源正极(LED+5V
20LED_K背光源负极(LED-OV逻辑工作电压(VDD):
4.5〜5.5V电源地(GND):
0V
图3-4LCD12864与单片机的连接电路图
3.5复位电路
为了确保系统中的电路温度可靠工作,复位电路是必不可少的部分,其第一功能就是高电平复位,高电平复位是在通电瞬间通过充电来实现的。
手动复位是指通过接通一按键开关,使单片机进入复位状态。
系统上电运行后,如果需要复位,只需通过手动复位就可以实现。
本系统使用的复位电路如图3-7所示:
图3-5复位电路图
3.6气体浓度检测电路
图3-6气体检测电路
3.7电源电路
由于STC89C52勺工作电压为+5V,所以电源需要输出+5V稳定电压可以使单片
机可以稳定正常的工作,电源电路如图3-9所示:
图3-电源电路
总体电路图:
参考文献
[1]梅晓榕,柏桂珍,张卯瑞•自动控制元件及线路[M].北京:
科学出版社,2007
[2]张义和,王敏男,许宏昌,余长春•例说51单片机(C语言版)[M].北京:
人民邮电出版社,2010,6
[3]胡汉才•单片机原理与接口技术[M].清华大学出版社,1996.
[4]黄贤斌,郑筱霞•传感器原理与应用[M].北京:
高等教育出版社•成都:
电子科技大学出版
社,2004,3(2009.1重印)
[5]何立民•单片机应用系统设计[M].北京:
北京航天航空出版社.1990,50-490
[6]刘笃仁,韩保君•传感器原理及应用技术[M].机械工业出版社.2003,8
[7]王勇等.凌阳单片机原理及其毕业设计精选[M].科学出版社
[8]童诗白.模拟电路基础[M],北京:
高等教育出版社,2001
[9]马忠梅,籍顺心,张凯等.单片机的C语言应用程序设计[M].北京航天航空大学出版社,2003
[10]<美〉M考夫曼,AH塞得.电子计算手册[M].国防科技出版社.
[11]王毅.单片机器件应用手册[M].北京:
人民邮电出版社,1994
[12]谭浩强C程序设计(第二版)》清华大学出版社,1999年12月。
附录
系统源代码
#include
code
unsigned
char
wendu[]={"温度
#include
//Keillibrary
"};
#include
//Keillibrary
code
unsigned
char
shidu[]={"湿度
#include
RH"};
code
unsigned
char
guangzhao[]={"光照
LM"};
#include"12864.h"codeunsignedcharAboutme[]={"智能养鸡场
#include"bh1750.h""};
#include"main.h"
#include"DHT11.h"U16a,b,t;
U8flag,i;
#defineBCD2DEC(X)U8temp_fordh11[2];
(((X&0x70)>>4)*10+(X&0x0f))
#defineDEC2BCD(X)((X/10)<<4|(X%10))
voidmain()
{
voiddelay_nms(unsignedintk);
voidGUI_init(void);
//毫秒延时
**************************
floattemp;
voiddelay_nms(unsignedintk)
{
unsignedinti,j;
for(i=0;i{
for(j=0;j<121;j++)
{;}}
}
voidwendu_fuhao(void)
{
WriteCommandLCD(0x86,0);
WriteDataLCD(0xa1);
WriteDataLCD(0xe6);
}
unsignedchartemp_for_gz[5];t=0;
flag=0;
P1_0=1;
P2=0xff;
Delay(40);
delay_nms(200);//延时200ms
//初始化LCD
Init_BH1750();//初始化BH1750
LCDInit();
Single_Write_BH1750(0x01);//poweron
Single_Write_BH1750(0x10);
GUI_init();
while
(1)//
{
循环
voidGUI_init(void)
{
DisplayListChar(0,1,wendu);
DisplayListChar(0,2,shidu);
DisplayListChar(0,3,guangzhao);
DisplayListChar(0,4,Aboutme);wendu_fuhao();
RH();
WriteCommandLCD(0x83,0);temp_fordh11[0]=(U8T_data_H)/10;temp_fordh11[1]=(U8T_data_H)%10;
WriteDataLCD(0x30+temp_fordh11[0]);
WriteDataLCD(0x30+temp_fordh11[1]);
WriteCommandLCD(0x93,0);
宏定义
charX,
temp_fordh11[0]=(U8RH_data_H)/10;temp_fordh11[1]=(U8RH_data_H)%10;WriteDataLCD(0x30+temp_fordh11[0]);
WriteDataLCD(0x30+temp_fordh11[1]);
delay_nms(180);//延时
180ms
Multiple_Read_BH1750();//连续读
出数据,存储在BUF中
dis_data=BUF[0];
dis_data=(dis_data<<8)+BUF[1];//合成数
据
temp=(float)(dis_data/1.2);
conversion(temp);//计算数据和
显示
temp_for_gz[0]=wan;
temp_for_gz[1]=qian;
temp_for_gz[2]=bai;
temp_for_gz[3]=shi;
temp_for_gz[4]=ge;
WriteCommandLCD(0x8b,0);
WriteDataLCD(temp_for_gz[0]);
WriteDataLCD(temp_for_gz[1]);
WriteDataLCD(temp_for_gz[2]);
WriteDataLCD(temp_for_gz[3]);
WriteDataLCD(temp_for_gz[4]);}
}
#ifndef_12864_H
#define_12864_H
#include"reg52.h"
/********IO引脚定义
******************************************
*****************/
sbitLCD_RS=P"O;
sbitLCD_RW=P1A1;
sbitLCD_E=P"2;
sbitRest1=P1A3;
sbitNC1=P1A7;
sbitPSB=P1A6;//PSB脚为12864-12系列
的串、并通讯功能切换,使用8位并行接口,PSB=1
/********
******************************************
*****************/
#defineLCD_DataP0
#defineBusy0x80//用于检测LCD状态字中
的Busy标识
/********函数声明
******************************