温度控制系统.docx
- 文档编号:20470541
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:42
- 大小:247.24KB
温度控制系统.docx
《温度控制系统.docx》由会员分享,可在线阅读,更多相关《温度控制系统.docx(42页珍藏版)》请在冰豆网上搜索。
温度控制系统
温度控制系统控制算法的研究
(硬件设计与调试)
系别:
专业班:
姓名:
学号:
指导教师:
2010年6月
温度控制系统控制算法的研究
(硬件设计与调试)
ResearchonTemperatureControl
SystemandControlAlgorithm
(TheHardwareDesignandDebugging)
摘要
系统采用闭环控制原理,利用线性温度传感器LM35和双积分A/D转换器ICL7135对温度信号采集。
由单片机(C8051f020)对偏差经PID运算输出PWM控制信号,控制达林顿管,继电器的切换来实现制冷片的加热与制冷,最终实现对温度自动调节,系统能实现定点恒温控制。
本系统采用单片机(C8051F020)作为温度自动控制系统的控制、计算、显示的核心部件,来实现对控制系统的温度的自动控制与可调。
电路由温度信号采集、温度控制、PWM变换、显示及声光指示等四部分组成。
温度传感器选用线性温度/电压传感器LM35,采用TI公司生产的四位半双积分A/D转换器ICL7135读取温度值采样。
然后我们利用它所采集的反馈值与目标温度进行比较后,采用PID控制算法,有效地减小系统的超调量与稳态误差,来快速地达到所要求的5℃~35℃的范围内的某一设定值。
采用陶瓷半导体制冷片作为加热、制冷的换能元件。
系统采用闭环控制原理,使用PID算法,在线调试整定其比例系数KP、积分系数KI、微分系数KD,决定PWM的占空比,变换成0—12V的可调电压作用在制冷片的两端,通过继电器的切换,实现加热与制冷。
关键词:
温度采集与变换PID算法PWM波输出单片机(C8051F020)
Abstract
Thissystemsbasedonclosedloopcontroltheory,usinglineartemperaturesensorLM35anddoubleintegralA/DconverterICL7135temperaturesignalacquisition.TheMCU(C8051f020)operatesonthedeviationofPID,sendPWMcontrolsignaltocontrolDarlington,relayswitchingofrefrigerationchiptoachievecoolingandheatingfunction,whichcancontrolthetemperatureautomatically,thenthesystemcanachievefixed-pointtemperaturecontrol.
ThesystemadoptsMCU(C8051f020)asthecoreparttocontrol,computeanddisplay,tomakethetemperatureofthecontrolsystemadjustableandcanbecontrolledautomatically.Thecircuitiscomposedbytemperaturesignalcollection,temperaturecontrol,PWMtransformation,displayofsoundandlightetc.Weselectlineartemperature/voltagesensorLM35combinedwithfoursemi-doubleintegralA/DconverterICL7135whichisproducedbyTIcompanytocollecttemperaturesample,andthencomparedthefeedbackofthecollectedtemperaturesamplewiththetargettemperature,usingPIDcontrolalgorithmreducethesystemovershootandsteady-statedeviationeffectivelyandquicklyreachthetemperaturwhichisintherangeof5℃~35℃aswesetbefore.Ceramicsemiconductorchipisusedforheatingandcooling.Thisclosed-loopcontrolprinciplesystemusesthePIDalgorithm,debuggingtheproportionalcoefficientKP,integralcoefficientKI,differentialcoefficientKDon-line,decisingthePWMdutycycle,whichconvertedinto0-12Vadjustablevoltageactingoninbothsidesofrefrigerationfilm.Throughtherelayswitch,toachieveheatingandcoolingfunction.
Keywords:
temperatureacquisitionandconversionPIDalgorithmPWMwaveoutputMCU(C8051f020)
目录
摘要I
AbstractⅡ
绪论1
1系统总体设计2
1.1设计要求2
1.2设计方案的设计与论证3
1.2.1控制对象分析3
1.2.2方案选择3
1.3系统总体结构4
1.4PID控制的原理5
1.4.1PID增量算法控制的特点5
1.4.2PID参数整定调试5
2系统的硬件电路的设计与实现7
2.1A/D转换器ICL71357
2.2PWM波变换电路的设计8
2.3制冷片的加热与制冷切换电路8
2.4键盘与液晶显示板9
3软件系统设计10
3.1PID参数工程整定法11
3.216位脉宽调制器方式11
3.316位脉宽调制器方式PWM输出子函数12
3.4PCACLOCK信号13
3.5数字滤波13
3.6PID算法程序14
4系统调试与测试15
4.1温度采集部分调试15
4.2控制与采集电路调试15
4.3温度自动控制测试结果15
结论16
致谢17
参考文献18
附录1系统总硬件原理图19
附录2系统总硬件PCB板图20
附录3系统主程序21
绪论
温度是工业生产中常见的工艺参数之一,任何物理变化和化学反应过程都与温度密切相关,因此温度控制是生产自动化的重要任务。
对于不同生产情况和工艺要求下的温度控制,所采用的加热方式,燃料,控制方案也有所不同。
例如冶金、机械、食品、化工等各类工业生产中广泛使用的各种加热炉、热处理炉、反应炉等;燃料有煤气、天然气、油、电等;控制方案有直接数字控制(DDC),推断控制,预测控制,模糊控制(Fuzzy),专家控制(ExpertControl),鲁棒控制(RobustControl),推理控制等[1]。
1温度控制的发展及意义
在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面,随着人们生活质量的提高,酒店厂房及家庭生活中都会见到温度控制的影子,温度控制将更好的服务于社会。
2课题的背景
温度检测与控制系统在工业控制中应用广泛,像在半导体、冶金、化工等领域随处可见。
温度采集与控制系统的设计对自动化专业的学生而言是经典的、涵盖知识面广的题目。
温度采集与控制系统是单片机系统应用、高精度检测以及控制算法的程序实现的集合。
采用单片机为CPU的系统对某些控制系统的控制可以得到良好的效果。
作为毕业设计的课题,它具有很强的实用性。
随着集成电路技术的发展,单片微型计算机的功能也不断增强,许多高性能的新型机种不断涌现出来。
单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,在工业生产中如:
用于热处理的加热炉、用于融化金属的坩锅电阻炉、反应炉、锅炉等,在日常生活中如:
热水器、电热毯等等,都用到了电阻加热的原理。
随着生产的发展,在工业中,上述设备对温度的控制要求越来越高,随着人们生活水平的提高,对日常用品的自动化也提出了更高的要求,单片机的不断更新换代,满足了上述的要求,达到自动控制品质的目的。
1系统总体设计
1.1课题设计要求
设计并制作一个温度自动控制系统,控制一封闭木盒内的温度(其内空间为100mm×100mm×100mm)。
在木盒左侧面的中间开一个安装半导体致冷器件的窗口(尺寸与致冷器件一致),致冷器件的外侧面涂敷导热硅脂并加散热片,致冷器件的内侧面也允许加散热片,但厚度不能超过20mm;在木盒顶部的中间钻两个小孔,其中一个用于插入温度自动控制单元的温度传感器,另一个用于盒内温度的检测;在木盒右侧面采用透明有机玻璃,以便观察。
其温度控制对象结构示意图如图1-1所示。
有机玻璃面
温度传感器
散热片
图1-1温度控制对象结构系统装置示意图
基本要求
(1)温度可调节范围为5℃~35℃,最小设定分度为1℃。
(2)具有温度显示功能,分辨率为0.1℃。
(3)当温度达到某一设定值并稳定后,盒内温度的波动控制在±2℃以内。
要求温度调控达到稳定状态时,必须给出声或光提示信号。
(4)当设定的调节温差为15℃时,要求达到稳定状态的调节时间小于等于3分钟,稳定状态下的温度波动在±2℃以内。
发挥部分
(1)当温度达到某一设定值并稳定后,盒内温度的波动控制在±1℃以内。
(2)当设定的调节温差为15℃时,尽量减少达到稳定状态的调节时间,并要求超调量不超过3℃,稳定状态下的温度波动在±1℃以内。
(3)能记录并实时显示温度调节过程的曲线,显示的误差绝对值小于2℃。
(4)其他。
本次设计的论文题目是温度控制系统的程序设计。
主要涉及三个方面:
控制算法的实现以及应用程序的设计;设计系统输出驱动电路的实现;单片机系统设计及将其应用于温度采集与控制系统中。
围绕着实际应用的要求,重点解决:
单片机应用系统中控制程序设计、系统对输出控制精度、对可靠性、稳定性的要求等方面的电路设计。
1.2方案的设计与论证
1.2.1控制对象分析:
被测对象是100mm*100mm*100mm的箱体,对于温控对象,其数学模型一般可认为具有以下的传递函数形式,见式(1-1)。
(1-1)
其中,K—比例系数,T—时间常数,τ—滞后时间。
由于被控制对象的非线性,并且具有较大的惯性和滞后的特点,设计时采用PID控制算法,利用单片机的脉宽调制输出达到系统性能指标的要求。
1.2.2方案选择
(1)单片机的选择
方案一:
此方案采用单片机89C52作为系统控制核心。
该单片机软件编程灵活,自由度大,可用软件编程实现各种控制算法和逻辑控制。
但由于其I/O口线较少,片内数据存储器与程序存储器有限,若扩展外部存储器,则系统较为复杂,故不选用此方案。
方案二:
本方案采用的单片机C8051F020作为温度自动控制系统的控制、计算、显示的核心部件。
该单片机内部存储空间大,运算速度快,其内部自带PWM输出模块,可大大提高单片机的控制效率。
其I/O口线较多,能处理繁杂的键盘与液晶显示任务,增强了单片机对外围接口的处理能力[2]。
故我们选用方案二。
(2)温度传感器的选择
方案一:
选用数字温度传感器DS18B20,它是数字温度传感器,不需要A/D转换,使用起来方便,但其固有分辨率只有0.5℃,这种温度数字式的温度传感器,测量精度较差[3]。
方案二:
选用性能较好的线性温度--电压传感器LM35DZ,该传感器是温度--电压变换器,其转换关系见式(1-2)。
Vout=10mV/℃*T℃(1-2)
其中,T为温度值,Vout是温度所对应的电压值。
LM35DZ的性能如表1-1所示。
表1-1LM35DZ性能:
平均斜率
10mv/℃(min-max)
非线性
±0.2℃(0-100℃)
负载调整率
±0.4℃(25℃)
负载电流
0-1mA
线性调整率
±0.01mv/V(25℃)
静态电流
56μA(25℃)
LM35温度传感器与7135A/D转换器配合使用,测量精度可以达到0.01℃。
经过研究与比较后,我们选用方案二。
1.3系统总体结构
在系统构建时选取单片机C8051F020作为该系统的控制核心,以实现对系统温度的自动控制与可调[4]。
单片机通过对4½双积分A/D转换器ICL7135所采集的反馈值与目标温度进行比较后,采用PID控制算法,有效地减小系统的超调量与稳态误差,来快速地达到所要求的5℃~35℃的范围内的某一设定值,最终由C8051F020产生的PWM波通过光耦隔离器件经线性变换电路产生0-12V可调电压,并通过对继电器的通断调节来实现制冷片的加热与制冷,从而实现对控制对象温度的自动调节。
系统总体框图如图1-2所示。
图1-2系统总框图
1.4PID控制的原理
1.4.1PID增量型算法的特点
PID增量型算法表达式见公式(1-3)
△U(n)=KP[e(n)-e(n-1)]+KIe(n)+KD[e(n)-2e(n-1)+e(n-2)](1-3)
误差为e(n)=r(n)-c(n)。
其中,n—第n次采样,r(n)—设定温度,c(n)—实际温度。
当|e|>c时,uk(n)=最大(Max)或最小(Min);
当0<|e| uk(n)=KPe(n)+KI +KD (1-4) 式中,c—根据实验得到的温差整定。 增量型算法具有以下优点: (1)增量型算法不需要做累加,控制量增量的确定仅与最近的几次误差采样值有关,计算误差或计算精度问题对控制量的计算影响较小。 (2)增量型算法得出的是控制量的增量,例如阀门控制中,只输出阀门开度的变化部分,误动作影响小,必要时通过逻辑判断限制或禁止本次输出,不会严重影响系统的工作。 (3)采用增量型算法,易于实现手动到自动的无冲击切换。 1.4.2PID参数整定调试 比例系数KP的增大能够加快系统的响应,在有静差的情况下有利于减小静差。 但过大的比例系数Kp会使系统有较大的超调,并产生振荡,使稳定性变坏。 积分系数KI的减小有利于减小超调,减小振荡,使系统更加稳定,但系统静差的消除将随之减慢。 微分系数KD的增大亦将有利于加快系统响应,使超调量减小,稳定性增加,但系统对扰动的抑制能力减弱,对扰动有较敏感的响应。 在对参数实行下述先比例、后积分、再微分的整定步骤。 (1)整定比例部分。 将比例系数由小变大,并观察相应的系统响应,直至得到反应快、超调小的响应曲线。 如果系统没有静差或静差已小到允许范围内,并且响应曲线已属满意,那么只需要比例控制器即可,比例系数可由此确定。 (2)加入积分环节。 如果在比例调节的基础上系统的静差不能满足设计的要求,则需要加入积分环节。 整定时首先置积分时间TI为一较大值,并将第一步整定得到的比例系数略微缩小(如缩小为原值的0.8倍),然后减小积分时间,使在保持系统良好动态性能的情况下,消除静差。 在此过程中,可根据响应曲线的好坏反复改变比例系数与积分时间,以期得到满意的控制过程与整定参数。 (3)加入微分环节。 若使用比例积分控制器消除了静差,但动态过程经反复调整依旧不能满意,则可加入微分环节,构成比例积分微分控制器。 在整定时,可先置微分时间TD为零。 在第二步整定的基础上,增大TD,同时相应地改变比例系数与积分时间,逐步凑试,以获得满意的调节效果和控制参数[5]。 2系统的硬件电路的设计 2.1A/D转换器ICL7135 ICL7135与C8051F020接口电路原理图如图2-1所示[6]。 图2-1ICL7135与C8051F020简易接口电路原理图 ICL7135仅用三根I/O口线与单片机C8051F020相接。 图中用ICL7135的BUSY端接CPU的外部中断INT0,利用BUSY信号作为计数器的门控信号。 POL为信号的极性输出端,接CPU的P0.0,高电平表示被测信号为正极性,低电平表示被测信号为负极性。 CPU的ALE端口为ICL7135提供921.6KHZ的CLK信号。 在A/D转换阶段,状态输出引脚BUSY为高电平,这个高电平一直持续到A/D转换结束。 我们利用单片机内部定时器对ICL7135的时钟脉冲计数。 ICL7135对信号积分阶段10001个计数脉冲是固定的,则有式(2-1)。 输入信号的A/D转换值=BUSY高电平期间内计数器计数值–10001(2-1) 在中断服务程序中,读出输入信号的A/D转换值,即可转换为当前的温度值。 为了满足精度的要求,采用了精密的电压基准源MC1403为ICL7135提供0.5V的基准电压。 ICL7135的满量程为基准电压的两倍。 因此,LM35与ICL7135配合使用,200个数字量/℃,测量精度能达到0.01℃。 2.2PWM波变换电路的设计 对该部分电路设计,主要应解决两方面的问题: 强电和弱电的隔离及对制冷片的加热与制冷的控制。 这里我们利用了PWM波的线性变换来实现该要求。 首先,CPU对PID算法产生的控制量送P1.0,经光电隔离,稳压、放大,两级RC滤波,最后经射级跟随电路,功放达林顿管TIP142实现电压可控,其电路原理图如图2-2所示。 图2-2PWM波的线性变换原理图 2.3制冷片的加热与制冷切换电路 通过对继电器的切换来实现制冷片的加热与制冷,最终实现对控制对象的温度自动调节。 PWM波的线性变换电路与制冷片的制冷、加热电路原理图见图2-3[7]。 图2-3制冷片的加热与制冷电路原理图 2.4键盘与液晶显示板 本系统采用内藏T6963C控制器的240*128液晶显示器及6个按键,通过按键可以设置目标温度,加热或致冷。 液晶实时显示相应的温度调节曲线。 3软件系统设计 温度自动控制系统结构方框图如图3-1所示。 图3-1温度自动控制系统结构方框图 为了快速实现制冷片的加热与制冷,改善调节时间、超调量及稳态误差,系统采用PID控制算法,以减少系统超调和静态误差[8]。 系统总程序流程图如图3-2所示。 图3-2总程序流程图 3.1PID参数工程整定法 PID参数工程整定法的步骤如下: (1)先将切除PID控制器中的积分与微分作用,取比例增益Kp较小值,并投入闭环运行; (2)将Kp由小到大变化,对应于某一值Kp作小幅度的设定值阶跃响应,直至产生等幅振荡; (3)设等幅振荡时振荡周期为Tcr、控制器增益Kcr,再根据控制器类型选择以下PID参数,如表3-1所示。 表3-1PID参数选择表 控制规律 Kc Ti Td P 0.5Kcr PI 0.45Kcr 0.83Tcr PID 0.6Kcr 0.5Tcr 0.12Tcr 3.216位脉宽调制器方式 C8051F020每个PCA0模块都可以工作在16位PWM方式。 在该方式下,16位捕捉/比较模块定义PWM信号低电平时间的PCA0时钟数。 当PCA0计数器与模块的值匹配时,CEXn的输出被置为高电平;当计数器溢出时,CEXn的输出被置为低电平。 为了输出一个占空比可变的波形,新值的写入应与PCA0CCFn匹配中断同步。 置‘1’PCA0CPMn寄存器中的ECOMn、PWMn和PWM16n位将使能16位脉冲宽度调制器方式。 为了输出一个占空比可变的波形,应将CCFn设置为逻辑‘1’以允许匹配中断。 16位PWM方式的占空比见式(3-1)[9]。 (3-1) 关于捕捉/比较寄存器的重要注意事项: 当向PCA0的捕捉/比较寄存器写入一个16位数值时,应先写低字节。 向PCA0CPLn的写入操作将清‘0’ECOMn位;向PCA0CPHn写入时将置‘1’ECOMn位,最大占空比为100%(PCA0CPn=0),最小占空比为0.0015%(PCA0CPn=0xFFFF)。 可以通过清‘0’ECOMn位产生0%的占空比。 PCA的16位PWM方式原理框图如图3-3所示。 图3-3PCA的16位PWM方式原理框图 3.316位脉宽调制器方式PWM输出子函数 voidsetting_PWM(floatpercentage)//输出占空比一定的PWM波 {unsignedintresult; if(percentage>100)percentage=100; if(percentage<0)percentage=0.0001; percentage=percentage/100; percentage=65536-percentage*65536; result=percentage; PCA0CPL1=(result&0x00ff); PCA0CPH1=(result&0xff00)>>8; } 功能: setting_PWM(40),P0.1发出占空比为40%的16位PWM波。 3.4PCACLOCK信号 此CLOCK提供给7135双积分AD转换器,除了5个16位的通用计数器/定时器之外,C8051F020MCU系列还有一个片内可编程计数器/定时器阵列(PCA)。 PCA包括一个专用的16位计数器/定时器时间基准和5个可编程的捕捉/比较模块。 时间基准的时钟可以是下面的六个时钟源之一: 系统时钟/12、系统时钟/4、定时器0溢出、外部时钟输入(ECI)、系统时钟和外部振荡源频率/8。 每个捕捉/比较模块都有六种工作方式: 边沿触发捕捉、软件定时器、高速输出、频率输出、8位脉冲宽度调制器和16位脉冲宽度调制器。 PCA捕捉/比较模块的I/O和外部时钟输入可以通过数字交叉开关连到MCU的端口I/O引脚[10]。 在主函数内要调用PCA_Init()。 CLOCK信号输出函数: voidPCA_Init() {PCA0CN=0x40;//直接给7135加CLOCK信号 PCA0MD=0x01; PCA0CPM0=0x46; PCA0CPH0=0x01; PCA0CPM1=0xC2;//PWM波生成 EIE1=0x08;//PCA 3.5数字滤波 所谓数字滤波,就是通过一定的计算或判断程序减少干扰在有用信号中的比重,也即是一种程序滤波或软件滤波。 数字滤波克服了模拟滤波器的不足,是用程序实现的,不需要增加硬设备,所以可靠性高、稳定性好,且无阻抗匹配问题。 常见的数字滤波方法有: 程序判断滤波、算术平均滤波、中值滤波、惯性
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度 控制系统