基于单片机的温室大棚温度控制系统设计本科毕业论文Word格式.docx
《基于单片机的温室大棚温度控制系统设计本科毕业论文Word格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的温室大棚温度控制系统设计本科毕业论文Word格式.docx(29页珍藏版)》请在冰豆网上搜索。
图1系统原理框图
该系统分为六个模块,分别是单片机小系统模块、温度采集模块、显示模块、键盘扫描模块、加热模块和降温模块。
(三)基于AT89C51的单片机小系统
本系统采用Atmel公司所生产的AT89C51单片机。
AT89C51单片机小系统如图2所示:
图2单片机小系统
这个小系统由时钟脉冲和复位电路组成,AT89C51内部已具备振荡电路,只要在接地引脚上面的两个引脚(即19、18脚)连接简单的石英晶体即可。
AT89C51的时钟频率为12MHz。
AT89C51的复位引脚为第9脚,当此引脚连接高电平超过2个机器周期(一个机器周期为6个时钟脉冲),即可产生复位的动作。
以12MHz的时钟脉冲为例,每个时钟脉冲1μs,两个机器周期为12μs,因此,在第9脚上连接一个12μs以上的高电平脉冲,即可产生复位的动作。
对于上电复位,复位引脚上串接了一个电容,当复位引脚接+5V电压时,电容相当于短路,经过一段时间(在这段时间内完成复位)后,电容处于充电状态,相当于断开。
还有一种是手动复位,它的接法是在AT89C51复位引脚所串连的电容上并联接一个按钮开关。
当按钮没按下时,电容处于充电状态;
当按钮按下时,电容对复位引脚放电,从而在这个引脚上产生高电平,达到复位的目的。
(四)温度采集模块
本系统的温度采集和转换电路原理图如图3所示,它的工作过程为:
系统通过AD590采集外界的温度参数,并通过三个放大器的作用将温度转化为电流模拟量;
此模拟量通过ADC0804的转化变成数字量,以便单片机辨认接收。
图3AD590温度传感器工作的系统结构电路图
根据电路图,说明各个器件的功能如下:
OPA1:
以0℃为标准,调节可变电阻R10使其输出电压为2.73伏特。
OPA2:
减2.73伏特,并反相。
OPA3:
放大5倍并反相。
例如:
AD590输出电压为1.5伏特,则其温度为:
1.5/5(OPA3)+2.732(OPA2)=3.302伏特;
3.302/10K=303.2微安培;
303.2-273.2=30微安培→30℃。
温度值
OPA1
OPA2
OPA3
ADCVIN
ADC输出值
0℃
2.732V
0V
00H
10℃
2.832V
-0.1V
0.5V
19H
20℃
2.932V
-0.2V
1V
32H
30℃
3.032V
-0.3V
1.5V
4BH
40℃
3.132V
-0.4V
2V
64H
50℃
3.232V
-0.5V
2.5V
7DH
60℃
3.332V
-0.6V
3V
96H
70℃
3.432V
-0.7V
3.5V
AFH
80℃
3.532V
-0.8V
4V
C8H
90℃
3.632V
-0.9V
4.5V
E1H
100℃
3.732V
-1V
5V
FAH
表1各温度与3个OPA及ADC0804的输入与输出关系
图4ADC0804
如图4,A/D转换器就是模拟/数字转换器,是将输入的模拟信号转换成数字信号。
信号输入端的信号可以是传感器或是转换器的输出,而ADC输出的数字信号可以提供给微处理器,以便更广泛地应用。
ADC0804电压输入与数字输出关系如下表2所示:
十六进制
二进制码二
与满刻度的比率
相对电压值VREF=2.56伏
高四位字节
低四位字节
高四位字节电压
低四位字节电压
F
1111
15/16
15/256
4.800
0.300
E
1110
14/16
14/256
4.480
0.280
D
1101
13/16
13/256
4.060
0.260
C
1100
12/16
12/256
3.840
0.240
B
1011
11/16
11/256
3.520
0.220
A
1010
10/16
10/256
3.200
0.200
9
1001
9/16
9/256
2.880
0.180
8
1000
8/16
8/256
2.560
0.160
7
0111
7/16
7/256
2.240
0.140
6
0110
6/16
6/256
1.920
0.120
5
0101
5/16
5/256
1.600
0.100
4
0100
4/16
4/256
1.280
0.080
3
0011
3/16
3/256
0.960
0.060
2
0010
2/16
2/256
0.640
0.040
1
0001
1/16
1/256
0.320
0.020
0000
表2ADC0804电压输入与数字输出关系
VIN=3V,由上表可知2.880+0.120=3V,为10010110B=96H。
AD590产生的电流与绝对温度成正比,它可接收的工作电压为4V——30V,检测的温度范围为-55℃——+150℃,它有非常好的线性输出性能,温度每增加1℃,其电流增加1微安培。
当摄氏温度为0℃时,AD590的电流为273.2微安培,经10千欧姆电阻后其电压为2.732伏特。
余者依上述方法类推。
利用AD590以及接口电路把温度转换成模拟电压,经由ADC0804转换成数字信号后传送给AT89C51处理。
温度采集和AD590温度传感器工作的系统结构电路图为图3。
(五)显示模块
译码IC及温度显示的电路图如图5所示。
显示部分的工作原理是,它将温度转换的数字量,即温度值,经由AT89C51的P1口由两个译码IC输出并分别送入两个七段数码管显示,这两个LED都是共阳极的。
图5译码IC及温度显示
BCD码转换成7段LED数码管的译码驱动IC,如图6所示,首推7447系列,包括7446、7449、74LS49。
其中的7446及7447输出低电平驱动的显示码,用以推动共阳极7段LED数码管;
而7448及74LS49输出高电平驱动显示码,用以推动共阴极7段LED数码管,7446、7447与7448的引脚相同(双并排16pins)。
图6译码IC7447
D、C、B、A:
BCD码输入引脚。
a、b、c、……g:
7段数码管输出引脚。
LT:
本引脚为测试引脚,当接高电平时,所连接的7段LED数码管全亮。
正常显示下应接低电平。
RBI:
本引脚为涟波淹没输入引脚,正常显示下应接低电平。
BI和RBO:
本引脚为淹没输入或涟波淹没输出引脚,正常显示下应接低电平。
7段LED数码管是利用7个LED组合而成的显示设备,可以显示0到9共10个数字。
当要显示多个数码管,可分别驱动每个数码管;
当要利用人类的视觉暂留现象,则可以采用快速扫描的方式,只要一组驱动电路即可达到显示多个数码管的目的。
一般来说,7段LED数码管可分为共阳极和共阴极两种,共阳极就是把所有LED的阳极连接到共同的接点com,而每个LED的阴极分别为a、b、c、d、e、f、g及dp(小数点);
同样的,共阴极就是把所有LED的阴极连接到共同的接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点)。
(六)键盘扫描
图7键盘扫描电路
图7是键盘扫描的电路图,其中74922是键盘扫描IC。
键盘扫描电路的原理是,将键盘接在一个键盘扫描IC74922上,当在键盘上按下键时,相关的键码将通过74922的A、B、C、D口线传递给AT89C51单片机。
键盘采用电话式键盘,结构如图8所示。
键盘是接在键盘扫描IC74922(上图6所示)上面的,键盘的输入通过74922的X1——X3和Y1——Y4输入。
X1X2X3
*
#
Y1
Y2
Y3
Y4
图8电话式键盘
鉴于键盘扫描IC为4*4形式,以下键盘编码每行后面都有0FFH,以配合硬件使用。
按键
对应编码
01H
02H
03H
04H
05H
06H
07H
08H
09H
0AH
OBH
表3键盘编码
键盘扫描IC74922的工作过程:
X1—X3接键盘的行,Y1——Y4接键盘的列,按键信息由这几个口输入,由A、B、C、D四个口输出到P3口的低四位,再通过P1口经过译码IC显示在LED上。
键盘扫描芯片不断查询是否有按键输入,当查询到有按键时,DA置1,同时执行相应的程序,比较温度是否超出上、下限,进而决定是加热还是降温。
(七)WP型温室加热器
如图7所示,在AT89C51的P2.1口上接一个继电器,将加热器接在此继电器上。
需要提高温度时,单片机控制P2.1口,使之置1,进而控制加热器加热。
(八)降温模块
如图7所示,在AT89C51的P2.2口上接一个继电器,将降温风扇接在此继电器上。
需要降温时,单片机控制P2.2口,使之置1,进而控制降温风扇降温。
二、软件设计
本系统的工作流程是,操作人员可以从键盘上输入要设定的温度值。
当此温度值与当前温度不同时,单片机控制系统采取调节的动作。
当设定温度大于测定温度时,则使加热器工作;
当设定温度小于测定温度时,则开启降温风扇。
此程序流程包括4个部分。
第一部分是主程序,它描述的是程序的总体结构;
第二部分是定时器T0的描述,它的功能是将实际温度和设定的温度比较,再作出相应的动作;
第三部分是键盘扫描部分;
第四部分是显示部分,用于显示温度值。
(一)主程序
图9