基于PID的恒温箱温度控制系统设计.docx
- 文档编号:7337308
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:37
- 大小:648.35KB
基于PID的恒温箱温度控制系统设计.docx
《基于PID的恒温箱温度控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于PID的恒温箱温度控制系统设计.docx(37页珍藏版)》请在冰豆网上搜索。
基于PID的恒温箱温度控制系统设计
基于PID的恒温箱温度控制系统设计
2008届)
2008年6月
摘要
本设计是恒温箱温度控制系统设计。
可供各类实验室、医疗机构、食品加工、生产部门等使用。
在周围温度不断变化条件下,使用恒温箱,可以使一定范围的温度恒定在特定温度下,从而适应生活和工作。
控制的温度范围为50—1200C恒温箱可以在线设定温度,并对温度进行实时数码显示。
设计内容包括硬件和软件两个部分。
硬件主要由AT89S52单片机、DS18B20数字温度传感器、8155片外存储器、继电器,LED数码管和报警器等组成。
电原理图包括数据采集、温度显示、键盘设定、温度控制和复位电路等几个模块。
软件部分主要对PID算法进行了数学建模和编程。
本设计由键盘电路输入设定温度信号给单片机,温度信号采集电路采集现场温度信号给单片机,单片机根据输入与反馈信号的偏差进行PID计算,输出控制信号给加温控制电路,实现加温和停止。
当实际温度比设定温度大2摄氏度以上时,则清P1.3输出口,从而停止对电阻丝的加热。
当实际温度比设定温度小2摄氏度以上时,取PID的最大值,实现全功率输出。
在它们之间时,实现PID算法控制,控制可控硅的接触时间,调节电阻丝功率。
显示电路实现现场温度的实时监控。
软件部分,采用PID控制和时间最优控制相结合的控制方案,实现了控制速度快、超调小、线性控制精度高和实现成本低等的优点。
硬件部分采用单片机来实现温度控制,不仅具有控制方便、简单、灵活等优点,而且可以大幅度的提高被控温度的技术指标,从而大大提高产品的质量。
关键词:
恒温控制,单片机,数字PID算法
ABSTRACT
Thesystemofthisdesignisthetemperaturecontrollerofaconstanttemperaturebox.Canbeprovidedaseachkindoflaboratory,medicaltreatmentorganization,foodprocessingandproducethesectionetc.usage.Undertheconditionthatthesurroundingstemperaturecontinuouslychange,theusageconstanttemperaturebox,canmakethetemperaturemaintainingofthecertainscopesettleundertheparticulartemperature,thusadaptthelifeandworks.Thetemperaturescopeofthecontrolis50-120,Theconstanttemperatureboxcanwithon-lineenactmenttemperature,andcarryonthesolidhourtothetemperaturefiguresmanifestation.Whenbeplacedintosettheappearance,figurestubemanifestationenactmenttemperature,circulate,manifestationactualtemperature.
Designcontentincludinghardwareandsoftwaretwoparts.Thehardwaremainlybyat89S52monolithicintegratedcircuit,theDS18B20digittemperaturesensor,8155pieceofexternalmemory,therelay,theLEDnixietubeandthealarmapparatusandsooniscomposed.Electricityschematicdiagramincludingdataacquisition,temperaturedemonstration,keyboardhypothesis,temperaturecontrolandresetcircuitandsoonseveralmodules.ThesoftwarepartmainlyhascarriedonmathematicsmodellingandtheprogrammingtothePIDalgorithm.
Thecircuitdesignofthekeyboardinputfromthesettemperaturesignaltothemicrocontroller,TemperatureSignalAcquisitionCircuitcollecttemperaturesignaltothemicrocontroller,AccordingtoSCMinputandfeedbacksignal,theerrorforPID,theoutputcontrolsignalstotheheatingcontrolcircuit,Heatingandachievestop.Showcircuitsceneofthereal-timemonitoringoftemperature.Whenactualtemperaturecomparestosettemperaturebigmorethan2degrees,thenthepureexportation,thusstoptoelectricresistancesilkofheating.Whentheactualtemperaturecomparestosetsmallerthan2degrees,takingthePIDbiggestvalue,carryingoutthewholepowerexportation.amongthetwo,carryoutthePIDcalculatewaycontrol,controlcontacttimethatcontrovablesilicon,regulatetheelectricresistancesilkpower.
softwarepart,theadoptionPIDcontrolandthecontrolprojectthattimesuperiorcontrolcombinetogether,carriedouttocontrolthespeedquick,superadjustsmall,linecontroltheaccuracyishighandcarryoutthecostadvantageoflowetc..Thehardwarepartadoptsamachinetocarryoutthetemperaturecontrol,notonlyhavethecontrolconvenience,simple,vividetc.advantage,andcaniscontrolwiththesignificantexaltationthetechniqueindexsignofthetemperature,raisethequantityoftheproductthusandconsumedly.
Keywords:
Temperature,control,microcontroller,PID,algorithm,MATLAB
绪论
把温度作为被控参数进行研究无论在工业生产,还是在日常生活中,都已经变得非常适用和广泛了。
在工业生产中,例如冶金工业、化工生产、电力工程、食品加工、机械制造、医疗以及科研研究室等,人们对需要对温度进行监测和控制;而日常生活中的家用电器如电烤箱、微波炉、烘干箱、保温箱等等,也是我们不可或缺的。
因此,就恒温箱的研究就有极其重要的现实意义。
本设计系统主要由AT89S52单片机、8155片外存储器、继电器、27128片外存储器和DS18B20数字温度传感器等组成。
电原理图包括数据采集、BCD码转换和温度显示、键盘设定、温度控制和复位电路等几个模块。
通常,采用单片机系统来实现对温度的控制,不仅具有控制方便、简单、灵活等优点,而且可以大幅度的提高被控温度的技术指标。
在本设计中,需要达到以下几点技术要求:
(1)控制温度范围50-120°C,控制精度为2C。
(2)温度采集数字量输入。
(3)键盘按键输入,具有设定功能。
(4)显示功能,数码管显示设定值及当前所测温度值。
(5)具有超温报警功能。
本课题应该解决的问题:
在设计过程中,对硬件选型时一定要注意控制精度。
所选用的芯片必须达到我们设计任务书中的精度要求。
显然,恒温箱的微机系统的设计是一个闭环控制系统,虽然可以到达一定的精度,但是仍然有极限。
核心设计内容是硬件和软件部分,硬件是基础,在软件设计中,分析清楚各个功功能模块,如主程序,中断服务程序,以及包含在中断程序中的数据采集,PID控制,温度显示子程序。
第一章方案设计分析
控制模块的选择,数字比较器与模拟控制器相比较,数字比较器具有以下几个优点:
1、模拟调节器调节能力有限,当控制规律较为复杂时,就难以甚至无法实现。
而数字控制器能实现复杂控制规律的控制。
2、计算机具有分时控制能力,可实现多回路控制。
3、数字控制器具有灵活性。
起控制规律可灵活多样,可用一台计算机对不同的回路实现不同的控制方式,并且修改控制参数或控制方式一般只可改变控制程序即可,使用起来简单方便,可改善调节品质,提高产品的产量和质量
4、采用计算机除实现PID数字控制外,还能实现监控、数据采集、数字显示等其他功能。
综合考虑,本设计控制模块采用数字PID调节器。
本系统是一个恒温箱的温度控制器。
其控温范围是50-120摄氏度。
控制器
可以在线设定控制温度,并对温度进行实时数码显示。
当系统处于设定状态时,数码管显示设定温度值,平时显示实际温度。
当实际温度与设定温度偏差达小于负2时,全功率加热电阻丝,当偏差值在正负2的范围内时,实行PID控制来达到控制温度的目的,当偏差值大于2时,停止加热,从而达到恒温控制的目的。
这样的一闭环控制系统,其控制速度快,超调小、线性控制精度高和实现成本低。
根据上面分析,结合控制要求,总体方案确定如下为了使设计的成本低、抗干扰强,系统动态性能与稳态性能好的前提下,设计方案的总体结构框图如图
1.4所示:
图1.4设计总体结构框图
此系统主要有单片机系统、用户接口、温度控制电路、传感器等组成。
单片机系统主要用来运行控制软件,接受温度设定和控制指令,输入采样温度信息,输出加热控制信号、温度显示数据。
(1)用户接口包括温度显示,报警和按键三部分。
由于控温范围为50-120摄氏度,可以采用三位8段LED数码管显示。
温度超过一定的范围报警。
按钮设置四个,分别为设定键、增键、减键和移位键。
(2)DS18B2C采集到的就是为数字信号。
(3)继电器的接通时间来控制电阻丝的加热功率,而继电器的接通时间又由P1.3上的触发
脉冲来控制。
其中我主要负责按键、LED显示、温度采集
第2章恒温控制系统硬件设计
考虑到尽量降低成本和避免与复杂的电路,此系统所用到的元器件均为常用的电子器件。
而主控器采用低功耗、高性能、片内含8kbyte可反复檫写的Flash、只读程序器CMOS位单片机AT89S52温度传感器采用DALLAS公司生产的单总线数字温度传感器DS18B20采用控制端TTL电平,即可实现对继电器的开关,使用时完全可以用NPN型三极管接成电压跟随器的形式驱动;单片机所需要的+5V工作电源是通过220V交流电压通过变压、整流、稳压、滤波得到。
用DS18B20定时采集环境温度存到EEPRQM通过三个LED实时显示采集到的温度值,并用此温度与设定的温度比较,通过单片机对偏差进行PID运算,控制继电器的通断,加热或断开热敏电阻,使温度上升或下降,温度达到时断开继电器,使温度自然下降,不够时接通继电器加热,控制显示器、键盘并通过单片机来完成键盘扫描与输出动态显示。
2.1AT89S52单片机简介
2.1.1AT89S52单片机资源简介
AT89S52的结构如图2.1所示。
由于它的广泛使用使得市面价格较8155、8255、8279要低,所以说用它是很经济的。
该芯片具有如下功能:
①有1个专用的键盘/显示接口;②有1个全双工异步串行通信接口;③有2个16位定时/计数器。
这样,1个89S52,承担了3个专用接口芯片的工作;不仅使成本大大下降,而且优化了硬件结构和软件设计,给用户带来许多方便。
89S52有40个引脚,有32个输入端口(I/O),有2个读写口线,可以反复插除。
所以可以降低成本。
主要功能特性:
(1)兼容MCS5指令系统
(2)32个双向I/O口线
(3)3个16位可编程定时/计数器中断
(4)2个串行中断口
(5)2个外部中断源
(6)2个读写中断口线
(7)低功耗空闲和掉电模式
(8)8k可反复擦写(>1000次)FlashROM
(9)256x8bit内部RAM
(10)时钟频率0-24MHZ
(11)可编程UART串行通道
(12)共6个中断源
(13)3级加密位
(14)软件设置睡眠和唤醒功能
2.1.2
AT89S52芯片
AT89SS2
2.1.3AT89S52单片机时钟和复位电路
时钟电路
单片机内部有一个高增益反向放大器,输入端为芯片引脚XTAL1,输出端
为引脚XTAL2。
而在芯片外部XTAL1和XTAL?
之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。
晶体震荡频率高,则系统的时钟频率也高,单片机运行速度也就快,但反过来运行速度快对存储器的速度要求就高,对印制电
路板的工艺要求也高,所以,这里使用震荡频率为6MHZ勺石英晶体。
震荡电路产生的震荡脉冲并不直接是使用,而是经分频后再为系统所用,震荡脉冲经过二分频后才作为系统的
时钟信号。
在设计电路板时,振荡器和电容应尽量靠近单片机,以避免干扰。
需要注意的是:
电路板时,振荡器和电容应尽量安装得与单片机靠近,以减小寄生
电容的存在更好的保障振荡器稳定、可靠的工作电路图如图2.2所示
复位电路
单片机的复位电路分上电复位和按键复位两种方式。
(a)上电复位:
在加电之后通过外部复位电路的电容充电来实现的。
当Vcc的上升时间不超过1ms就可以实现自动上电复位,即接通电源就完成了系统的初始化电路原理图。
RST上的电压必须
保证在斯密特触发器的阀值电压以上足够长时间,满足复位操作的要求。
(b)按键复位:
程序运行出错或操作错误使系统处于死锁状态时,为了摆脱困境,也需按复位键以重新启动。
RST引脚是复位信号的输入端,复位信号是高电平有效。
按键复位又分按键脉冲复位(图2.3)和按键电平复位。
电平复位将复位端通过电阻与Vcc相连,按键脉冲复位
是利用RC分电路产生正脉冲来达到复位的。
(c)注意:
因为按键脉冲复位是利用RC微分电路产生正脉冲来达到复位的。
所以电平复位要将复位端通过电阻与Vcc相连.如复位电路中R、C的值选择不当,使复位时间过长,单片机将处于循环复位状态。
故本设计采用按键复位。
2.2DS18B20数字温度传感器简介
2.2.1DS18B2C数字温度传感器资源简介
新的"一线器件"DS18B20体积更小、适用电压更宽、更经济。
美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持"一线总线"接口的温度传感器,在其内部使用了在板(ON-BOAR)专利技术。
全部传感元件及转换电路集成在形如一只三极管的集成电路内。
一线总线独
特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
现在,新一代的DS18B20体积更小、更经济、更灵活。
使你可以充分发挥“一线总线”的优点。
目前DS18B20批量采购价格仅10元左右。
DS18B20DS1822"一线总线"数字化温度传感器
同DS1820-样,DS18B20也支持"一线总线"接口,测量温度范围为-55°C〜+125°C,在-10〜+85°C范围内,精度为土0.5°GDS1822的精度较差为土2°Co现场温度直接以"一线总线"的数字方式传输,大大提高了系统的抗
干扰性。
适合于恶劣环境的现场温度测量,如:
环境控制、设备或过程控制、测温类消费电子产品等。
与前一代产品不同,新的产品支持3V〜5.5V的电压范围,使系统设计更灵活、方便。
而且新一代产品更便宜,体积更小。
DS18B20DS1822的特性
DS18B20可以程序设定9〜12位的分辨率,精度为土0.5°G可选更小的封装方式,更宽的电压适用范围。
分辨率设定,及用户设定的报警温度存储在EEPRO中,掉电后依然保存。
DS18B20勺性能是新一代产品中最好的!
性能价格比也非常出色!
DS1822与DS18B20软件兼容,是DS18B20勺简化版本。
省略了存储用户定义报警温度、分辨率参数的EEPROM精度降低为土2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。
继"一线总线"的早期产品后,DS1820开辟了温度传感器技术的新概念。
DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。
2.2.2DS18B20数字温度传感器引脚介绍
DS18B20引脚定义:
(1)DQ为数字信号输入/输出端;
(2)GND为电源地;
(3)
VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
DALLAS
DS18B20电路图参考图:
2.2.3DS18B20数字温度传感器的使用
一、DS18B20勺主要特性
(1)适应电压范围更宽,电压范围:
3.0〜5.5V,在寄生电源方式下可由数据线供电
(2)独特的单线接口方式,DS18B2睢与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20勺双向通讯
(3)DS18B20支持多点组网功能,多个DS18B2呵以并联在唯一的三线上,实现组网多点测温
(4)DS18B2唯使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内
(5)温范围—55C〜+125C,在-10〜+85C时精度为土0.5C
(6)可编程的分辨率为9〜12位,对应的可分辨温度分别为0.5C、0.25C、0.125C和0.0625C,可实现高精度测温
(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快
(8)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU同时可传送CRC校验码,具有极强的抗干扰纠错能力
(9)负压特性:
电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
二、DS18B20勺内部结构
DS18B20内部结构主要由四部分组成:
64位光刻ROM温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
三、DS18B2C工作原理
DS18B20的读写时序和测温原理与DS182C相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750msDS18B20测
温原理如图3所示。
图中低温度系数晶振的振荡频率受温度影响很小,用于产生
固定频率的脉冲信号送给计数器1。
高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。
计数器1和温度寄存器被预置在-
55C所对应的一个基数值。
计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。
DS18B20有4个主要的数据部件:
(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20勺地址序列码。
64位光刻ROM勺排列是:
开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1。
光刻ROM勺作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20勺目的。
(2)DS18B2C中的温度传感器可完成对温度的测量,以12位转化为例:
用16位符号扩展的二进制补码读数形式提供,以0.0625C/LSB形式表达,其中S为符号位。
表1:
DS18B20温度值格式表
LSbyte
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
23
22
21
20
2-1
2-2
2-3
2-4
LSbyte
:
Bit15
:
Bit14
:
Bit13
:
Bit12
Bit11
Bit10
Bit9
Bit8
S
SS
S
S
S
26
25
24
这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。
例如+125C的数字输出为07D0H+25.0625C的数字输出为0191H,
-25.0625C的数字输出为FF6FH-55C的数字输出为FC90H
TEMPERATURE
DIGITALOUTPUT
DIGITALOUTPUT
+125C
0000011111010000
[07D0H
+85C
0000010101010000
0550H
+25.0625C
0000000110010001
0191H
+10.125C
0000000010100010
r00A2H
+0.50C
000000000000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 PID 恒温箱 温度 控制系统 设计