APP下载

禽舍环境监测系统的设计

2013-04-29王丽芬

湖北农业科学 2013年6期
关键词:实时监控单片机传感器

王丽芬

摘要:监控系统的设计基于STC89C52单片机,利用光敏、光电等多种用于检测环境参数的传感器对禽舍环境进行实时监控,以维持舍内适宜禽类生长的环境参数,节省劳动力,提高饲养收益。整体系统采用模块化设计,以温度光照监控模块为例进行详细设计,具有操作简单、工作稳定、便于调试等优点。

关键词:单片机;传感器;温度光照;实时监控

中图分类号:S831.4+5;S126 文献标识码:A 文章编号:0439-8114(2013)06-1432-03

随着养殖业的发展、科技的进步,人们越来越倾向于利用现代技术自动化管理禽舍环境,使禽舍能够投入最少的劳动力而产生最大的效益。禽舍环境自动控制系统[1]的工作原理是人工上电后,装置上的温度、光感、烟雾等传感器实时检测室内环境,当环境的某一参数偏离预设值时,系统便会自动执行相应动作,以使环境恢复到正常水平。自动控制系统的应用可大大减少人工劳力,并可高效率改善禽舍内环境,进而促进家禽生长,提高产蛋率[2]。

1 系统硬件设计

系统硬件的设计大致包括中央控制单元、温度采集部分、光照采集部分、温度显示部分四大硬件部分(图1)。系统温度光照监控部分所需器件包括STC89C52单片机(图2)、DS18B20数字温度传感器、光敏电阻、74LS245驱动芯片、ADC0804数模转换器、74HC573锁存器、4位LED数码管、继电器、发光二极管、直流风扇等。

1.1 中央控制单元——STC89C52单片机

STC89C52单片机[3]是基于80C51内核,采用PHILIPS高密度CMOS技术设计制造,包含中央处理单元、8kB非异失性Flash、只读程序存储器EPROM、256B内部数据存储器RAM、32个双向输入/输出(I/O)口、2个16位定时器/计数器和中断源,采用4层优先级中断嵌套结构,可用于多机通信的串行I/O口、I/O扩展、片内时钟振荡电路。其最小系统包括复位电路和由2个电容及1个12M晶振组成的振荡器。STC89C52采用低功耗静态设计,宽工作频率为DC-33MHz,宽工作电压范围为2.7~5.5 V,两种软件方式选择电源空闲和掉电模式。空闲模式下,冻结CPU而RAM定时器、串行口和中断系统维持其功能。由于是静态设计,所以掉电模式下,时钟振荡停止,RAM数据得以保存,芯片内其他功能停止。CPU唤醒后,从时钟断点处恢复执行程序。同时,STC89C52有PLCC44、DIP40和LQFP44等多种封装形式,以适应不同产品的需求[4]。

1.2 温度的采集、显示

DS18B20数字温度传感器设置于禽舍内,用于实时采集温度参数。上电后,单片机通过P1.7口向DS18B20的DQ端写开启温度采集及转换命令字,温度传感器开始工作。传感器所采集到的室内模拟温度量值经由内部模数转换后,向中央控制单元传送数字化温度值,供单片机分析处理[5]。DS18B20数字温度传感器将采集到的实时温度传送给控制单元后,由单片机P0口外设的4位8段共阴极LED数码管实时显示出来。另外数码管还兼有由4组按键来显示可自行设置的上、下限温度值。数码管的显示采用动态驱动方式,应用两片74HC573锁存器[6]分别控制4位位选端及8位段选端。锁存器的输入数据由P0口提供,并由软件动态扫描4位数码管,控制何位显示、显示何值。由于扫描速度快、周期短及人眼视觉停留,其效果与静态显示相同。

1.3 光照的采集

利用置于禽舍窗外的光敏电阻监测外界光照强度。光敏电阻利用不同光照强度下,其自身电阻值不同的特性(入射光强,电阻减小;入射光弱,电阻增大),将光照强度模拟信号首先传送给模数转换芯片ADC0804,转换成量化的光照值经P1口传送至处理单元。此时处理单元将与开灯与否的临界值进行比较,从而发出相应指令。

2 系统的软件设计

系统采用了现在流行的C语言编程[7],易于实现、移植和扩展。

2.1 流程图的设计

温度监控流程和光照监控流程分别见图3和图4。

2.2 设计的部分程序

温度监控子程序:

#include

sbit DUAN=P2^6;//74HC573的LE端,LED的段选端

sbit WEI=P2^7;//74HC573的LE端,LED的位选端

sbit TMDAT=P1^7;//DS1820温度接口

sbit fengshan=P2^2;//风扇接口

sbit jiare=P2^3;//加热器接口

sbit gao=P3^2;//显示上限温度值按键接口

sbit di=P3^4;//显示下限温度值按键接口

sbit jia=P3^6;//升高上下限温度值按键接口

sbit jian=P3^7;//降低上下限温度值按键接口

void main()

{while(1)

{get_temperature();//获得温度

if(tempdf≥8)tempdf=5;//0.5°精度显示

else tempdf=0;

if(gao==0&&di==1)

{xianshigao(); //显示温度上限值

if (jia==0){delay(20);i=i+1;}

else if(jian==0){delay(20);i=i-1;}}

if(gao==1&&di==0)

{xianshidi();//显示温度下限值

if (jia==0){delay(20);j=j+1;}

else if(jian==0){delay(20);j=j-1;}}

if(gao==1&&di==1)

{disp_temp();//显示温度

if( tempint≥i)//可以自己设定报警的温度

{ fengshan=0;delay(62);}//温度超过上限值开风扇

else fengshan=1;}

if(tempint≤j)//温度低于下限值开加热器

{jiare=1;delay(62);}

else jiare=0;} }[11]

光照监控子程序:

#include"reg52.h"

#include"intrins.h"

#include"math.h"

#define uint unsigned int//定义无符号整型变量

#define uchar unsigned char//定义无符号字符变量

sbit ADC0804_SC=P2^0;//模数转换器片选接口

sbit ADC0804_RD=P3^7;//模数转换器读接口

sbit ADC0804_WR=P3^6;//模数转换器片写口

sbit kaideng=P2^2;//灯光控制端口

void main()

{uchar ADC0804_data;

ADC0804_SC=0;//让SC一直为低

while(1)

{adc0804_start();//启动ADC0804

delay(5);//延时

ADC0804_RD=0;//RD为低

delay(5);//延时

ADC0804_data=P1;//将ADC0804的数据传出

delay(5); //延时

ADC0804_RD=1;//RD为高

delay(5);//延时

if(ADC0804_data≤100)//采光量不足,开灯操作

kaideng=1;

else kaideng=0; } }

3 小结

该系统设计的初衷是整合多路传感器,以最低成本对禽舍环境参数进行实时监控,以维持舍内适宜禽类生长的环境参数,智能化管理,提高效益。在完成硬件电路的焊接、测试及软件程序的编写与调试后,经过反复的模拟试验、观测分析,该模块大致可实现对舍内气体、温度、光照等环境参数的有效监测与控制功能。

参考文献:

[1] 赵 艳,张广庆,薛其岩,等.鸡舍内有害气体的控制措施[J].山东畜牧兽医,2010(2):57-58.

[2] 王自然.光照与温度对鸡产蛋率的影响[J]. 养殖技术顾问,2005(3):5.

[3] 张毅坤,陈善久,裘雪红.单片微型计算机原理及应用[M].西安:西安电子科技大学出版社,1998.

[4] 余锡存,曹国华.单片机原理及接口技术[M].西安:西安电子科技大学出版社,2007.

[5] 余成波.传感器与自动检测技术[M].北京:高等教育出版社,2009.

[6] 曹汉房.数字电路与逻辑设计基础[M].北京:电子工业出版社,2007.119-120.

[7] 谭浩强.C程序设计[M].北京:清华大学出版社,2005.95-121.

猜你喜欢

实时监控单片机传感器
康奈尔大学制造出可拉伸传感器
简述传感器在物联网中的应用
基于单片机的SPWM控制逆变器的设计与实现
“传感器新闻”会带来什么
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
跟踪导练(三)2
智能投料过程动态监控系统研发及应用
基于无线传感器网络的绿色蔬菜生长环境监控系统设计与实现
一种煤矿瓦斯检测系统的设计与实现