蔬菜大棚温度控制系统设计学年论文课案_温度控制系统设计论文
蔬菜大棚温度控制系统设计学年论文课案由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“温度控制系统设计论文”。
湖南财政经济学院信息管理系学年论文
本科学年论文(设计)
蔬菜大棚温度控制系统设计
二O一五 年 五
月
系
别 信息管理系 专 业 电子信息工程 届 别 学生姓名 指导教师
2012 刘超群
班 级 电子信息工程
职 称
副教授
I
湖南财政经济学院信息管理系学年论文
摘 要
蔬菜大棚温度自动控制系统由主控制器AT89C51单片机、温度传感器DS1820和LED显示器等构成,实现对蔬菜大棚温度的检测与控制,从而有效提高蔬菜的产量。文中提出了具体设计方案,讨论了蔬菜大棚温度检测与控制的基本原理,进行了可行性论证。由于利用了单片机及数字控制系统的优点,系统的各方面性能得到了显著的提高。用户可通过键盘设置需要报警的上下限值。文中从硬件和软件两方面介绍了温度控制系统,对硬件原理图和程序流程图进行了系统的描述。并用Keil作为软件调试界面,PROTEUS作为硬件仿真界面,实现了系统的总体调试,结果表明该系统能实现温度的自动测量和自动控制功能,可将棚内的温度始终控制在适合蔬菜生长的温度范围内。
关键词:温度传感器;单片机;LED显示器
II
湖南财政经济学院信息管理系学年论文
1.绪论
由于现代农业发展得非常快速,受控农业的研究受到很多的重视,特别是温室工程,已经变成工厂化高效农业的一个重要组成部分。研究温室环境信息进行模拟、分析、预测,研究开发基于作物成长栽培环境的温室环境多因子智能化综合测控系统,研究高效生产的温室环境综合测控模式与配套设施等将是今后主要研究内容。
本文设计的是一种基于单片机的温度测量控制系统,数字温度传感器通过单总线与单片机连接,系统结构简单,抗干扰能力强,很适合用于蔬菜温室大棚温度控制。
2.蔬菜大棚的系统设计
2.1控制系统整体结构
温度传感器的作用是采集大棚内的温度,并进行判断和显示。由于智能温度传感器DS18B20既能对温度进行测量,又能设定所需要控制的温度,并对温度值能够把二进制转换成十进制,所以本设计系统中选用智能温度传感器DS18B20。多个DS 18B20可以并联到3或2根线上,CPU只需一根端口线就能与诸多DS18B20进行通信,而它们只需简单的通信协议就能加以识别,这样就节省了大量的引线和逻辑电路。
本系统中的单片机选用AT89S51做控制器。主要功能是:实现对数字量的采集,并把采集来的数据在LCD液晶显示器上进行显示;可以通过键盘设置参数,可以进行声光报警;可以通过按键来完成手动/自动控制方式的切换;可以通过串行接口把采集到的数据和控制信息传送至上位机,可以接收上位机命令实现参数设置;可以进行输出控制。
2.2系统的工作原理
该温度测控系统的工作原理就是进行计算机编程和单片机编程,使智能温度传感器DS18B20正常工作,去检测大棚内实际的温度,并由数字显示电路显示出当时的温度值。如果采集的温度值高于上限报警温度,系统将发出报警,并同时起动制冷设备,把温度降下来,当温度降到一定的程度,即低于上限复位值时,立即关闭制冷设备,使制冷设备停止工作。当采集的温度值低于下限报警温度值时,系统又发出报警,并同时起动制热设备,使大棚内的温度上升,当温度上升到一定的程度,即高于下限复位值时,立即关闭制热设备,使制热设备停止工作,从而使温室大棚的温度值维持在一定的范围内。本温度系统分为两个部分,主机和温度检测与控制部分。原理框图如下图所示。
湖南财政经济学院信息管理系学年论文
图1原理框图
3.系统各模块的硬件设计
3.1 单片机模块简介
单片机应用电路模块由核心芯片,时钟电路和复位电路组成。该模块的功能是让单片机正常工作。AT89C51单片机通常采用上电自动复位和开关手动复位两种方式。本设计采用上电复位电路,所谓上电复位,是指单片机只要一上电,便自动地进入复位状态。在通电瞬间,电容C通过电阻R充电,RST端出现正脉冲,用以复位。
3.1.1温度采集模块
温度控制在计算机与自动化测控领域有很多应用,而传统的测量温度控制通常是热电偶进行测量,为了进行准确的温度测量,必须给热电偶提供一个良好的恒流源,由于热电偶输出的信号是模拟信号,所以信号在输给CPU之前应该先进行A/D转换。首先选用DS18B20智能温度传感器,与传统的测温电阻相比,它能直接读出被测温度,同时可以通过简单的编程实现数字输出,它的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰能力更强。它的工作周期可以分为两个部分,及温度检测和数据处理。
3.1.2电路原理图
下图是所用51单片机的电路原理图 3.1.3温度传感器电路介绍
下图可知温度传感器与单片机如何连接
图2电路原理图
图3单片机与传感器连接图
湖南财政经济学院信息管理系学年论文
湖南财政经济学院信息管理系学年论文
3.2 LED驱动电路
LED显示器是由发光二极管显示字段的显示器件,也可称为数码管。其外形结构如图2-7所示,由图可见它由8个发光二极管(以下简称字段)构成,通过不同的组合来显示出0~
9、A、B、C、D、E、F以及小数点“.”等字符。
图4 LED驱动电路图
3.3A/D转换接口
A/D转换器的种类繁多、特性各异。在设计数据采集系统、测控系统和智能仪器仪表时,应选择性能合适、性能价格比高的A/D转换器芯片。
本设计选择的A/D转换器芯片为ADC0809。ADC0809是8路8位逐次逼近型A/D转换CMOS器件,在过程控制和机床控制等应用中,能对多路模拟信号进行分时采集和A/D转换,输出数字信号通过三态缓冲器,可直接与微处理器的数据总线相连接。
3.3.1 ADC0809芯片
ADC0809是采样分辨率为8位的、以逐次逼近原理进行的A/D转换器件。内有一个8通道多路开关以及微处理机兼容的控制逻辑的CMOS组件。它由比较器、逐次逼近器、D/A转换器及控制和定时5部分组成,输出具有TTL三态锁存缓冲器,可以直接连到单片机数据总线上。
(1)ADC0809的内部逻辑结构
由图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8 路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。3.3.2 ADC0809与单片机的接口方式
图5 ADC0809的内部结构
ADC0809对输入模拟量要求:信号单极性,电压范围是0~5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
有上面的简述,可以看出,用单片机控制ADC时,可采用查询和中断控制两种方式。
查询方式是在单片机把启动信号送到ADC之后,执行别的程序,同时对0809的EOC引脚的状况经行查询,以检查ADC转换是否已经结束,如查询到变换已经结束,则读入转换完毕的数据。中断控制方式是在启动信号送到ADC之后,单片机执行别的程序。0809转换结束并向单片机发出中断请求信号时,单片机响应此中断请求,进入中断服务程序,读入转换数据。中断控制方式效率高所以特别适合于转换时间较长的ADC。
ADC0809与单片机的连接电路如下图所示。
图6 ADC0809与单片机的连接电路
湖南财政经济学院信息管理系学年论文
湖南财政经济学院信息管理系学年论文
3.3.3 A/D转换电路的工作原理
由图可知,ADC0809的A/D转换结果输出端out8-out1与单片机的P0口相连,EOC与P3.3口相连,EOC端是A/D转换完成信号,当转换结束时,EOC发出一个脉冲向单片机提出中断申请,单片机响应中断请求。单片机的WR接ADC0809的START,来操作ADC0809的转换开始,当转换结束后EOC变低电位。
在此次的设计中由于有8路信号输入,所以在通道选择有A、B、C三引脚来选择。其多路开关的作用主要是用于信号切换, 如在某一时刻接通某一路检测信号, 而此刻其他路断开, 从而达到信号转换的目的。
3.4电源电路
在实际的应用中,单片机的电压5V和运放的12V电压都需要从外部的220V交流电源来提供。这就需要把220V的交流电转换成5V和12V的直流电。
在这个设计中,采用了简单的实用的变压器,根据理想变压器原副边匝数比公式,则可通过计算来调节参数达到转换为低电压所谓目的。低压的交流信号在通过整流稳压等操作实现了交流向直流转换的要求了。其电路图如图所示。
图7电源电路
4.软件设计
4.1程序流程图及分析
4.1.1主程序
本系统的工作流程是,操作人员可以从键盘上输入要设定的温度值。当此温度值与当前温度不同时,单片机控制系统采取调节的动作。当设定温度大于测定温度时,则使加热器工作;当设定温度小于测定温度时,则开启降温风扇。此程序流程包括4个部分。第一部分是主程序,它描述的是程序的总体结构;第二部分是定时器T0的描述,它的功能是将实际温度和设定的温度比较,再作出相应
湖南财政经济学院信息管理系学年论文的动作;第三部分是键盘扫描部分;第四部分是显示部分,用于显示温度值。
图8主程序流程图
关键代码如下
void sw_detect()interrupt 0 {
unsigned char temp,i;IE0 = 0;sw = 0;P2 &= 0x8f;for(i = 0;i
temp =(P2 & 0x70);
while(P3 & 0x04 == 0)
LED_display();
if(temp)
sw_temp[0] = temp >> 4;
switch(sw_temp[0])
{
case 6:sw_temp[0] = max;break;
case 5:sw_temp[0] = min;break;
湖南财政经济学院信息管理系学年论文
case 3:sw_temp[0] = mode;break;
default:sw_temp[0] = sw_temp[0];
}
if(sw_temp[0]!= 0)
sw_flag = 1;//有新的按键中断发生,置标志位
} LED_display();}
4.1.2A/D转换的程序
首先用指令选择0809的一个模拟输入通道,当执行开启A/D转换指令时,单片机的/WR信号有效,从而产生一个启动信号,给0809的START引脚送入脉冲,开始对选通信号进行转换。当转换结束后,0809发出转换结束EOC(高电平)信号,该信号可作为向单片机发出中断请求信号,当执行A/D转换指令时,单片机发出读控制/RD信号,OE端有高电平,且把经过0809转换完毕的数字量读到A累加器中。中断服务程序流程图如图所示。
图9 A/D转换的程序流程图
关键代码如下 void main(){ initdac0809();startadc();while(1){
while(EOC==0)/*ADC0809正常转换*/
OE=1;/*转换完毕,打开输出*/
湖南财政经济学院信息管理系学年论文
} } ad_data[--i]=P0/*从P0读取结果*/ startadc();/*开始第二次AD转换*/ OE=0;/*禁止输出*/ 5.仿真与分析
运行Proteus的ISIS,进入仿真软件的主界面。通过左侧的工具栏区的P(从库中选择元件)命令,在Pick devices窗口中选择系统所需元器件,还可以选择元件的类别,生产厂家等。本设计所需主要元器件有:AT89C51芯片,ADC0808芯片,一个八位七段数码显示器,可变电阻,电阻,电容,按键,7447芯片,74HC138芯片,发光二极管,74HC164芯片等。选择元器件后连接的电路图如图所示。
U3(CLOCK)106U3CLOCKSTARTEOCOUT1OUT2OUT3OUT4OUT5OUT6OUT7OUT8R15R14R13R12R11R10R9R8C419VCC10k10k10k10k10k10k10k10k***22122232425P2.426P2.527P2.628oe***7RXDTXDsweoc1***114113112111eoc1111121***1***9188151417U1XTAL1C31nFX1C51nFR120018XTAL29RST9R210k293031PSENALEEAOEADC0808VREF(+)VREF(-)1216P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDVCCP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7IN0IN1IN2IN3IN4IN5IN6IN7U3(IN0)***2322U3(IN0)U3(IN4)GNDRV11kADD AADD BADD CALEVCCR20BUZ1BUZZERGNDP3.7R19Q72N39041234H_led5zhi_leng6L_led7jia_re8VCCP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51R5R3R4Y0AY1U4BY2CY3Y474LS138Y5E1Y6E2Y7E312310k10k10kGND3546217P3.7LTRBIBI/RBODCBAU27447gQGfQFeQEdQDcQCbQBaQA14******413U7:AU7:B6U7:CU7:D7404***09712P2.4P2.5+-modeVCC***P2.***14H_led74LS11TXD89L_ledsw1211121321RXDU7:E7404U7:FU5:AU674HC164RC1/->&R6330R7330SRG81D***H_ledL_ledD1D2D3D4D5D6D7abcdefg111213141516GND3D10D9D8LED-REDLED-REDLED-REDLED-REDLED-REDLED-REDLED-REDLED-RED 图10 仿真图1 5.1PROTEUS仿真结果
单击仿真运行结束按钮,仿真结束。
仿真电路中有三个按键,一个MODE键,一个加一键,一个减一键。无论是设置温度范围,还是查看哪一路的温度,都要先按下MODE键。按一下MODE键,进入设置高报警温度点模式,在按下MODE键,进入设置低报警温度点模式,按第三下时,进入通道选择模式。
假如设定最低温度为5,最高温度为30,通过调节可调电阻的阻值,当ADC0808芯片的引脚的电压在[0.25V,1.5V]范围内,电路工作在正常范围内,只有数码管工作,蜂鸣器不响,74HC164控制的发光二极管不亮,报警点的二极管也不亮,其仿真电路如图10所示;当超出这个电压范围,监控电路就会启动,串口控制的二极管,蜂鸣器都会工作,其仿真电路如图11所示;当设置的最高温度时,高报警点的二极管会发光,即可以按加一或减一键来设置,其仿真电路
湖南财政经济学院信息管理系学年论文
如图12所示;当要设置最低温度时,低报警点的二极管会亮,其仿真电路如图13所示。
U3(CLOCK)106U3CLOCKSTARTEOCOUT1OUT2OUT3OUT4OUT5OUT6OUT7OUT8R15R14R13R12R11R10R9R8C419VCC10k10k10k10k10k10k10k10k***22122232425P2.426P2.527P2.6oe***617RXDTXDsweoc1***114113112111eoc1111121***1***9188151417U1XTAL1C31nFX1C51nFR120018XTAL29RST9R210k293031PSENALEEAOEADC0808VREF(+)VREF(-)1216P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDVCCP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7IN0IN1IN2IN3IN4IN5IN6IN7U3(IN0)***2322U3(IN0)V=4.52962U3(IN4)V=1.50003GNDRV11kADD AADD BADD CALEVCCR20BUZ1BUZZERGNDP3.7R19Q72N39041234H_led5zhi_leng6L_led7jia_re8VCCP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51R5R3R4Y0AY1U4BY2CY3Y474LS138Y5E1Y6E2Y7E312310k10k10kGND3546217P3.7LTRBBRBODCBAU27447gQGQFeQEdQDcQCbQBaQA14******413U7:AU7:B6U7:CU7:D7404***09712P2.4P2.5+-modeVCC***P2.***14H_led74LS11TXD89L_ledsw1211121321RXDU7:E7404U7:FU5:AU674HC164RC1/->&R6330R7330SRG81D***H_ledL_ledD1D2D3D4D5D6D7abcdeg111213141516GND3D10D9D8LED-REDLED-REDLED-REDLED-REDLED-REDLED-REDLED-REDLED-RED(a)图10正常工作状态仿真图
(b)图11 越限报警仿真电路图
湖南财政经济学院信息管理系学年论文
(c)图12 设置高报警点
U3(CLOCK)106U3CLOCKSTARTEOCOUT1OUT2OUT3OUT4OUT5OUT6OUT7OUT8R15R14R13R12R11R10R9R8C419VCC10k10k10k10k10k10k10k10k***22122232425P2.426P2.527P2.628oe***7RXDTXDsweoc1***114113112111eoc1111121***1***9188151417U1XTAL1C31nFX1C51nFR120018XTAL29RST9R210k293031PSENALEEAOEADC0808VREF(+)VREF(-)1216P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDVCCP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7IN0IN1IN2IN3IN4IN5IN6IN7U3(IN0)***2322U3(IN0)V=5.54698U3(IN4)V=1.50003GNDRV11kADD AADD BADD CALEVCCR20BUZ1BUZZERGNDP3.7R19Q72N39041234H_led5zhi_leng6L_led7jia_re8VCCP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51R5R3R4Y0AY1U4BY2CY3Y474LS138Y5E1Y6E2Y7E312310k10k10kGND3546217P3.7LTRBIBI/RBODCBAU27447gQGfQFeQEdQDcQCbQBaQA14******413U7:AU7:B6U7:CU7:D7404***09712P2.4P2.5+-modeVCC***P2.***14H_led74LS11TXD89L_ledsw1211121321RXDU7:E7404U7:FU5:AU674HC164RC1/->&R6330R7330SRG81D***H_ledL_ledD1D2D3D4D5D6D7abcdefg111213141516GND3D10D9D8LED-REDLED-REDLED-REDLED-REDLED-REDLED-REDLED-REDLED-RED(d)图13 设置低报警点
6.结 论
早在选题之前,我就利用平时的时间看DS18B20芯片资料,当初认为DS18B20延时要很精确,所以我必须写出精确的延时程序。但是C语言延时是不好精确地,为了写出那种很精确的延时程序,在网上找了很多资料,也学会了利用反汇编来计算延时,还有可以利用keil这个软件进行一些调试,也可测出延时时间。延时解决后,以为一切都会很顺利,但往往看起来容易的事情总有想不到的问题。因为没有经验,很多细节上处理的不是很好。所以自己只有不断地去学习别人怎么处理,然后结合自身来处理细节上的问题。利用了几天的时间,终
湖南财政经济学院信息管理系学年论文
于是在PROTEUS上仿真成功了。但我的设计还是存在一些问题,比如反映时间不是很快,这些问题是值得去注意的。再者,在Proteus上仿真通过,而没有做出实物,那也永远只是理论水平。通过这次课程设计,让我对于单片机的项目有了一个认知。我更近一步看清了前方的路。很多东西是接下来必须去做的。总之,要学的还很多,只有不断地学习,才能轻松的处理事情。有句话说的很对“只有很努力,才能看起来毫不费力”。
本论文本着最大限度的节省人力物力为基础,方便快捷为目的,加上高效低成本为原则对元件进行了选择,特别是采用了先进的器件进行温度测量体现了速度快、精度高、测点多、布线少等诸多优点,可以实现温度的巡回测量和显示,大大的提高了蔬菜的成活率以及大幅度减轻管理者的负担,使蔬菜种植能获得一种可观的经济收益。写这篇论文锻炼了我的分析问题解决问题的能力,虽然本论文已经完成,但其中也难免出现不足和漏洞,希望老师指正。
湖南财政经济学院信息管理系学年论文
参考文献
[1] 徐伟忠.计算机技术在农业领域的应用.丽水:丽水市科技出版社.2014.10 [2]胡乾斌.单片微型计算机原理与应用.武汉:华中科技大学出版社.2006.04 [3]杨振江.A/D D/A转换器接口技术与实用线路.西安:西安电子科技大学出版社.2009.03 [4]黄惠媛,李润国.单片机原理与接口(自动化控制专业).北京:海军出版社.2006.09 [5]杨金岩.8051单片机数据传输接口扩展技术与应用实例.北京:人民邮电出版社.2005.02 [6]胡学海.单片机原理及应用系统设计.北京:电子工业出版社.2005.06 [7]沙占友,王彦朋,孟志永.单片机外围电路设计.北京:电子工业出版社.2013.12 [8]王新贤,蒋富瑞.实用计算机控制技术手册.济南:山东科学技术出版社.2004.04 [9]周继明,江世明.传感技术与应用.长沙:中南大学出版社.2005.08 [10]李莉.单片机典型模块设计实例导航.北京:人民邮电出版社.2011.11