基于单片机恒温箱温度控制系统毕业论文带pid控制.doc
《基于单片机恒温箱温度控制系统毕业论文带pid控制.doc》由会员分享,可在线阅读,更多相关《基于单片机恒温箱温度控制系统毕业论文带pid控制.doc(46页珍藏版)》请在冰豆网上搜索。
江西理工大学应用科学学院毕业设计
第1章绪论
1.1研究的目的和意义
温度是工业生产中主要被控参数之一,温度控制自然是生产的重要控制过程。
工业生产中温度很难控制,对于要求严格的的场合,温度过高或过低将严重影响工业生产的产质量及生产效率,降低生产效益。
这就需要设计一个良好温度控制器,随时向用户显示温度,而且能够较好控制。
单片机具有和普通计算机类似的强大数据处理能力,结合PID,程序控制可大大提高控制效力,提高生产效益。
本文采用单片机STC89C52设计了温度实时测量及控制系统。
单片机STC89C52能够根据温度传感器DS18B20所采集的温度在LCD1602液晶屏上实时显示,通过PID控制从而把温度控制在设定的范围之内。
通过本次课程实践,我们更加的明确了单片机的广泛用途和使用方法,以及其工作的原理。
1.2国内外发展状况
温度控制采用单片机设计的全数字仪表,是常规仪表的升级产品。
温度控制的发展引入单片机之后,有可能降低对某些硬件电路的要求,但这绝不是说可以忽略测试电路本身的重要性,尤其是直接获取被测信号的传感器部分,仍应给予充分的重视,有时提高整台仪器的性能的关键仍然在于测试电路,尤其是传感器的改进。
现在传感器也正在受着微电子技术的影响,不断发展变化。
恒温系统的传递函数事先难以精确获得,因而很难判断哪一种控制方法能够满足系统对控制品质的要求。
但从对控制方法的分析来看,PID控制方法最适合本例采用。
另一方面,由于可以采用单片机实现控制过程,无论采用上述哪一种控制方法都不会增加系统硬件成本,而只需对软件作相应改变即可实现不同的控制方案。
因此本系统可以采用PID的控制方式,以最大限度地满足系统对诸如控制精度、调节时间和超调量等控制品质的要求。
现在国内外一般采用经典的温度控制系统。
采用模拟温度传感器对加热杯的温度进行采样,通过放大电路变换为0~5V的电压信号,经过A/D转换,保存在采样值单元;利用键盘输入设定温度,经温度标度转换转化成二进制数,保存在片内设定值单元;然后调显示子程序,多次显示设定温度和采样温度,再把采样值与设定值进行PID运算得出控制量,用其去调节可控硅触发端的通断,实现对电阻丝加热时间的控制,以此来调节温度使其基本保持恒定。
1.3温度控制系统的设计内容
本系统从硬件和软件两方面来讲述恒温箱温度自动控制过程,在控制过程中主要应用STC89C52、LCD1602液晶显示器,而主要是通过DS18B20数字温度传感器采集环境温度,以单片机为核心控制部件,并通过LCD1602显示实时温度的一种数字温度计。
软件方面采用C语言来进行程序设计,使指令的执行速度快,节省存储空间。
而系统的过程则是:
首先,通过设置按键,设定恒温运行时的温度值,并且用LCD1602显示这个温度值.然后,在运行过程中将DS18B20采样的温度经过处理后的数字量用LCD1602进行显示,结合PID控制得出的信号传给单片机,用单片机的相应引脚来控制加热器,进行加热或停止加热,直到能在规定的温度下恒温加热,如果温度超过了恒温设定值,用单片机控制制冷片对恒温箱进行降温,最后保证恒温箱在设定的温度下运行。
第2章总体方案设计
2.1方案一
测温电路的设计,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
2.2方案二
考虑使用温度传感器,结合单片机电路设计,温度传感器的选择,采用温度芯片DS18B20测量温度,该芯片的物理化学性能很稳定,它能用做工业测温元件,且此元件线性较好。
在0-100摄氏度时,最大线性偏差小于1摄氏度。
该芯片直接向单片机传输数字信号,便于单片机处理及控制。
本制作的最大特点之一是直接采用温度芯片对为温度进行测量,使数据传输和处理简单化,直接读取被测温度值,之后进行转换,依次完成设计要求。
比较以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计容易实现,故实际设计中拟采用方案二。
电路设计方框图如图2-1所示,它主要由五部分组成:
控制部分主芯片采用单片机STC89C52;显示部分采用LCD1602液晶显示;温度设定部分采用按键设定;温度温度采集部分采用DS18B20温度传感器;加温部分采用光电可控硅MOC3061控制制大功率加热器;降温部分采用继电器控制TEC1-12706半导体制冷片。
STC89C52
晶振电路
复位电路
按键电路
DS18B20
温度采集
LCD1602
显示电路
光电双向可控硅控制加热器工作
半导体
制冷片工作
图2-1温度控制系统的总体设计方案
第3章温度控制系统的器件和模块选用
3.1单片机的选择
3.1.1STC89C52简介
STC89C52单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。
主要特性如下:
(1)增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051。
(2)工作电压:
5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)。
(3)工作频率范围:
0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz。
(4)用户应用程序空间为8K字节,片上集成512字节RAM。
(5)通用I/O口(32个),复位后为:
P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
(6)具有EEPROM功能,具有看门狗功能。
(7)共3个16位定时器/计数器,即定时器T0、T1、T2。
(8)外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒。
(9)通用异步串行口(UART),还可用定时器软件实现多个UART。
(10)工作温度范围:
-40~+85℃(工业级)/0~75℃(商业级)。
3.1.2STC89C52单片机的工作模式
(1)掉电模式:
典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行原程序。
(2)空闲模式:
典型功耗2mA;正常工作模式:
典型功耗4Ma~7mA。
(3)掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备。
3.1.3单片机最小系统结构
本系统以STC89C52单片机为核心,本系统选用11.05926MHZ的晶振,使得单片机有合理的运行速度,复位电路为按键高电平复位。
STC89C52单片机最小系统电路设计如图3-1所示。
图3-1单片机最小系统框
3.1.4STC89C52的引脚说明
STC89C52的引脚图如图3-2:
图3-2STC89C52引脚图
VCC(40引脚):
电源电压。
VSS(20引脚):
接地。
P0端口(P0.0~P0.7,39~32引脚):
P0口是一个漏极开路的8位双向I/O口。
作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。
在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。
此时,P0口内部上拉电阻有效。
在FlashROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。
验证时,要求外接上拉电阻。
P1端口(P1.0~P1.7,1~8引脚):
P1口是一个带内部上拉电阻的8位双向I/O口。
P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。
对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。
P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流。
此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体参见表3-1。
在对FlashROM编程和程序校验时,P1接收低8位地址。
表3-1P1.0和P1.1引脚复用功能
引脚号
功能特性
P1.0
T2(定时器/计数器2外部计数输入),时钟输出
P1.1
T2EX(定时器/计数器2捕获/重装触发和方向控制)
P2端口(P2.0~P2.7,21~28引脚):
P2口是一个带内部上拉电阻的8位双向I/O端口。
P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。
对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。
P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
P3端口(P3.0~P3.7,10~17引脚):
P3是一个带内部上拉电阻的8位双向I/O端口。
P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。
P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流。
在对FlashROM编程或程序校验时,P3还接收一些控制信号。
P3口除作为一般I/O口外,还有其他一些复用功能,如表3-2所示。
表3-2P3口引脚复用功能
引脚号
复用功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
INT0(外部中断0)
P3.3
INT1(外部中断1)
P3.4
T0(定时器0的外部输入)
P3.5
T1(定时器1的外部输入)
P3.6
WR(外部数据存储器写选通)
P3.7
RD(外部数据存储器读选通)
RST(9引脚):
复位输入。
当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。
看门狗计时完成后,RST引脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
ALE/PROG(30引脚):
地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在Flash编程时,此引脚(PROG)也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址位8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOV指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位(地址位8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
PSEN(29引脚):
外部程序存储器选通信号PSEN是外部程序存储器选通信号。
当STC89C52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而访问外部数据存储器时,PSEN将不被激活。
EA/VPP(31引脚):
访问外部程序存储器控制信号。
为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。
注意加密方式1时,将内部锁定位RESET。
为了执行内部程序指令,EA应该接VCC。
在Flash编程期间,EA也接收12伏VPP电压。
XTAL1(19引脚):
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2(18引脚):
振荡器反相放大器的输入端。
3.2温度传感器的选择
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温。
这一部分主要完成对温度信号的采集和转换工作,由DS18B20