单片机温度控制器_第1页
单片机温度控制器_第2页
单片机温度控制器_第3页
单片机温度控制器_第4页
单片机温度控制器_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)PAGE521引言1.1课题的背景及意义温度是工业生产中需要控制的最常见最基本的工艺参数之一,例如:冶金、机械、电子、石油、化工、制造等行业中广泛使用的各种加热炉、热处理反映炉等,对工件的处理温度要求严格控制。PID温度控制是最早发展起来的控制策略之一,PID控制结构简单、容易实现,并且具有较强的鲁棒性,因而被广泛应用于各种工业过程控制中,是最广泛的一种控制策略。从发展初期至今,PID控制器的各种参数整定方法层出不穷。但是由于PID控制器简单的结构使它在品质控制上有着局限性,并且使得PID控制器对大时滞、不稳对象等被控对象的控制性能不是很好,同时PID控制器无法同时满足对设定值跟踪和抑制外扰的不同性能要求[1]。因此在实际应用中,这些先进的整定方法并没有像预期的那样产生完美的控制效果。随着被控对象越来越复杂,如具有非线性、参数时变、数学模型无法精确获得等特点的对象,传统PID设计方法已经很难取得良好的控制效果了。此时,用一些先进的智能算法来改进PID控制器已经成为一种必然的趋势了。发展至今,温度控制技术发展经历了三个阶段:1、定值开关控制;2、PID控制;3、智能控制。定值开关控制方法的原理是通过将所测温度与设定温度相比较,如果低于设定温度,则启动控制开关加热,反之则关断控制开关。其控温方法比较简单,没有考虑温度变化的滞后性,导致系统控制精度低、超调量大、震荡明显。PID控制温度的效果主要取决于P、I、D三个参数。PID控制对于确定的温度系统,常用于一些线性定常系统的控制,控制效果良好,但对于非线性系统,例如控制大滞后、大惯性、时变性温度系统,控制品质难以保证。智能控制为解决这问题提供了新的思路,因此成为目前工业控制质量的重要途经。模糊控制是智能控制研究中最为活跃而富有成果的领域,对于温度控制这种复杂对象更具有良好的控制效果[2]。本文的研究对象为试验箱,实现其对温度的控制,由于其结构相对简单,故本文采用了改进型PID控制的方法,即分阶段切换控制的思想,以下将对该研究对象做一个详细的介绍。1.2国内外研究现状当今国内外的自动控制技术都是基于反馈的概念。反馈理论的要素包括三个部分:测量、比较和执行。测量关心的变量,与期望值相比较,用这个误差纠正调节控制系统的响应。这个理论和应用自动控制的关键是,做出正确的测量和比较后,如何才能更好地纠正系统,PID控制器作为最早实用化的控制器已有50多年历史,由于PID具有简单、直观、鲁棒性好的特点,成为工业过程控制中最为常用的控制方式。目前,不管是国外还是国内的温度控制也主要采用PID控制。PID控制效果与控制参数的选择有很大关系,而PID参数的整定是一项十分繁琐的工作。虽然PID参数的整定和优化的方法很多,但传统的非智能整定方法如Zieger-Nichols法显然是一种经验法且并非最优解,不能获得理想的控制效果[3]。目前智能型整定方法如模糊PID、神经网络PID虽然能较好地实现PID控制参数的优化,但需要在线整定,计算量大,使得控制器的负担很重。温控的控制受到被控对象、环境等诸多因素的影响,难以建立精确的数学模型,采用传统的控制方式控制器参数选择将是件很困难的事。1.3一些先进理论1.3.1神经网络与PID的结合神经网络是一种利用数理模型的方法模拟生物神经细胞结构及对信息的记忆和处理而构成的信息处理方法。神经网络以其高度的线性映射、自组织、自学习和联想记忆等功能,可对复杂的线性系统建模[4]。该方法响应速度快,抗干扰能力强、算法简单,且易于用硬件和软件实现。在温度控制系统中,将温度的影响因素作为网络的输入,将其输出作为PID控制器的参数,以实验数据作为样本,在微机上反复迭代,自我完善与修止,直至系统收敛,得到网络权值,达到自整定PID控制器参数的目的。1.3.2模糊控制与PID的结合模糊控制与PID的具体结合形式有多种,主要是Fuzzy—PID复合控制和模糊自整定PID参数的方法。Fuzzy—PID复合控制是指当系统偏差较大时采用模糊控制[5],这样响应速度快,动态性能好:当系统偏差较小时采用PID控制,使其具有好的静态性能,保证控制精度,是一种模糊控制和PID控制分阶段切换控制的方法。模糊自整定PID参数的方法是根据系统偏差和偏差变化率,由模糊推理来调整PID参数,也就是一种以模糊规则来调节PID参数的自适应控制方法[6]。1.3.3模糊控制与神经网络的结合模糊控制所依赖的专家经验一般不容易获得,一成不变的控制规则也很难适应不同被控对象的要求,所以应该使模糊控制向着自适应的方向发展。基于这样的要求,可以利用神经网络的学习能力来修正系统偏差和偏差变化率的比例系数、修正模糊控制的隶属函数,从而达到优化模糊控制器的作用,进一步改进实时控制的效果[7]。综上所述,模糊控制、神经网络以及它们与传统PID控制的结合,都属于智能控制方法,都能够适应像温控箱这样具有非线性、大惯性、纯滞后、时变等特点的系统,尤其是模糊控制,无需知道系统的精确信息。1.4本文的主要工作本设计任务是要设计一个实验箱,控制对象为实验箱的气体,实现的功能是温度测量和控温:在测量部分,要求测量室温~80℃的温度范围,测量的精度不高于0.5ºC,测温的结果要求显示。在控制部分,要求提高温度控制系统性能,缩短调节时间,提高控制精度,并在液晶显示屏显示温度随时间的实时变化。主要性能指标有:(1)测量精度:±0.5℃;(2)控制精度:±1℃;(3)温度设定范围:室温~80℃。(4)显示:液晶显示当前温度和设定温度,并绘制出温度的实时曲线。

2方案论证2.1硬件设计方案对题目进行深入的分析和思考,可将整个系统分为以下几个部分:控制器电路、温度测量电路、键盘与液晶显示电路、功率驱动电路,PC上位机系统。2.1.1控制器电路

方案一:采用运放等模拟电路搭建一个控制器,用模拟方式实现PID控制,对于纯粹的温度控制,这是足够的。但是附加显示、温度设定等功能,还要附加许多电路,稍显麻烦。同样,使用逻辑电路也可实现控制功能,但总体的电路设计和制作比较烦琐。方案二:采用FPGA实现控制功能。使用FPGA时,电路设计比较简单,通过相应的编程设计,可以很容易地实现控制和显示、键盘等功能,是一种可选的方案。但与单片机相比,价格较高,显然大材小用[8]。方案三:采用单片机最小系统同时完成控制、显示、键盘等功能,电路设计和制作比较简单,成本也低,是一种非常好的方案。综上所述本设计采用方案三作为控制电路。对于单片机的型号有如下两个方案:方案一:采用凌阳公司的SPCE061A单片机作为控制器的方案。该单片机I/O资源丰富,并集成了语音功能。芯片内置JTAG电路,但价格较高,相对性价比较低,且需要一定基础。方案二:采用STC89C52单片机实现系统中数据采集及处理,它是MCS-52系列单片机的派生产品,使用时容易掌握。STC89C52运行高速(最高时钟频率90MHz)、低功耗、价格低、稳定可靠、应用广泛、通用性强,在系统/在应用可编程(ISP,IAP),不占用户资源。本系统利用了STC89C52单片机,采用外部11.0592MHz晶振[9]。 将两个方案比较便可得出一个结论,采用STC89C52单片机来实现本题目,电路简单,成本较低,经实验运行证明工作可靠,故选用STC89C52为该控制系统的核心。

2.1.2温度测量电路温控箱控制系统是一个过程控制系统,在设计的过程中,必须明确它的组成部分。过程控制系统的组成部分有:控制器、执行器、被控对象和测量变送单元。如图所示。图2—1控制系统结构框图由图可知,在这个系统的设计中,主要设计如图几个部分。除此之外,根据题目要求,还要选取合适的控制算法来达到系统参数的要求。对于执行器件、测量变送元件将在部分电路设计中有说明。在这个部分主要是对控制器的确定和控制算法的选择作一个详细的介绍。因为这两部分是实现本系统控制目的的关键。它们选取的好坏将直接影响着整个系统实现效果的优劣,所以这是一项不容忽视的工作。 方案一:采用pt100或pt1000,但使用时往往有可能因为某些原因导致整体系统不能达到pt100或pt1000自身所能实现的精度,且需配套使用AD7705A/D转换器,大大增加了复杂性和成本。况且在应用时,调理过程相当的复杂,价格比较贵。 方案二:采用DS18B20,该传感器测温范围为-55℃-+125℃,12位可编程测量分辨率为0.0625℃,在10~70℃的绝对精度也大多满足0.5℃。最重要的是,18B20传输方式为数字式,采用单总线专用技术,非常节约I/O口[10]。既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位),适配各种单片机或系统机,内含寄生电源,这大大降低了操作和编程的难度。相对于Pt00或Pt000,DS18B20的价格低廉。 将此两个方案作比较,最终选择DS18B20作为温度传感器。2.1.3键盘与液晶显示电路

键盘功能:选择被标定和分析的传感器,设置温度范围,选择要查看的对象,综合这些要求,本系统采用四个独立小按键,分别为启动模式、设置模式、赋值模式、换位模式。液晶显示部分方案一:采用液晶1602显示温度,1602可以显示温度数值和ASCII码,但无法显示汉字且其两行中间有间断,不适合显示温度随时间变化的曲线显示测量温度值。方案二:采用12864液晶显示器。12864是一种内置8192个16×16点汉字库和128个字符(8×16)及64×256点阵显示RAM(GDRAM)的图形点阵液晶显示器,它主要由行驱动器、列驱动器及128×64全点阵液晶显示屏组成,含有2MBROM提供的8192个汉字和16KBROM提供的128个字符,可完成图形显示,也可以显示汉字[11]。12864液晶显示器能识别18条指令,分别实现光标显示、画面移位、自定义字符、睡眠模式等多种功能。与微处理器的连接方式有并口和串口两种。并口相对于串口虽然用了较多的I/O口,但是数据传输速度快得多。综合比较而言,我们最终选择了12864液晶显示器作为液晶显示模块。2.1.4功率驱动电路本设计采用电热丝发热,交流220V电压供电。由于采用的STC89C52单片机可以直接产生PWM波,所以不需要再另行设计产生PWM波的模拟电路。为了将控制电路与驱动电路进行有效的电气隔离,将STC89C52单片机的I/O口输出之间接到光电耦合器上。但是光电耦合芯片输出的电流功率太小,不足以驱动加热体。在实际应用中发现,加热系统需要较大功率,使用开关电源供电,大功率开关电源较难找,所以改用市电220V作为加热体电源。其驱动电路改为过零触发型固态继电器。2.1.5硬件设计最终方案

最终方案的选择经过上述各个模块电路的分别讨论,本着简单、实用的原则,综合考虑硬件构成件编程的复杂程度以及价格和题目所要求的精确度等因素,最后决定选用了一个比较典型的硬件方案:(1)采用STC89C52芯片(2)温度传感器选用DS18B20集成数组测温电路(3)液晶显示采用12864液晶(4)键盘采用4个独立按键(5)驱动电路由固态继电器,碳纤维加热丝等组成(6)上位机串口通讯使用MAX232芯片2.2软件设计方案如前文所述,温度控制经历了三个阶段。第一是定值开关控制,第二是基本PID控制,第三是智能控制。由于定值开关控制原理上比较简单,所以此处我们暂且不介绍。关于基本PID控制与文中采用的改进型PID控制算法,我们将在下文予以详细介绍。2.2.1PID控制技术简介PID控制是在连续生产过程控制中,将偏差的比例(Proportional)、积分(Integral)、微分(Derivative)通过线形组合构成控制量,对控制对象进行控制。在常规PID的应用中P、I、D三个参数往往根据现场设备情况或调试经验人工设定的,通过调试实验改变参以改变控制性能。PID控制是最早发展起来的控制策略之一,由于其算法简单、易于实和可靠性高,被广泛应用于工业过程控制,尤其适用于可建立精确数学模型的确定性控系统。对于PID这样简单的控制器,能够适用于如此广泛的工业与民用对象,并仍以很高的性能/价格比在市场中占据着重要地位,充分地反映了PID控制器的良好品质。概括地讲,PID控制的优点主要体现在以下两个方面:(1)实现方便,控制原理简单,是一种能够满足大多数实际需要的基本控制器。(2)控制器适用于多种截然不同的对象,算法在结构上具有较强的鲁棒性。确切的说,在很多情况下其控制品质对被控对象的结构或参数变化不敏感。但从另一方面来讲,控制算法的普遍适应性也反映了PID控制器在控制品质上的局限性。具体分析,其局限性主要来自以下几方面:(1)算法结构的简单性决定了PID控制比较适用于SISO最小相位系统,在处理大时滞、开环不稳定过程等难控对象时,需要通过多个PID控制器或与其它控制器的组合,才能得到较好的控制效果。(2)结构的简单性同时决定了PID控制只能确定闭环系统的少数主要零极点,闭环特性从根本上是基于动态特性的低阶近似假定的。(3)出于同样原因,决定了常规PID控制器无法同时满足跟踪设定值和抑制扰动的不同性能要求。2.2.2PID控制原理在模拟控制系统中,最常见的控制规律就是PID控制。模拟PID控制系统的原理框图如图2-1所示,系统由PID控制器和被控对象组成。图2-2PID控制结构框图1、PID调节器的微分方程式中2、PID调节器的传输函数(1)比例作用对控制性能的影响比例增益KP引入是为了及时地反映控制系统的偏差信号,一旦系统出现了偏差,比例调节作用立即产生调节作用,使系统偏差快速向减小的趋势变化。当比例增益KP大的时候,PID控制器可以加快调节,但是过大的比例增益会使调节过程出现较大的超调量,从而降低系统的稳定性,在某些严重的情况下,甚至可能造成系统不稳定。(2)积分作用对控制性能的影响积分作用的引入是为了使系统消除稳态误差,提高系统的无差度,以保证实现对设定值的无静差跟踪。假设系统己经处于闭环稳定状态,此时的系统输出和误差量保持为常值Uo和Eo,则由式(2-5)可知,只有当且仅当动态误差e(t)=o时,控制器的输出才是常数。因此,从原理上看,只要控制系统存在动态误差,积分调节就产生作用,直至无PID控制器参数自整定方法的研究与实现差,积分作用就停止,此时积分调节输出为一个常值。积分作用的强弱取决于积分时间常数TI的大小,TI越小,积分作用越强,反之则积分作用弱。积分作用的引入会使系统稳定性下降,动态响应变慢。实际中,积分作用常与另外两种调节规律结合,组成PI控制器或者PD控制器。(3)微分作用对控制性能的影响微分作用的引入,主要是为了改善控制系统的响应速度和稳定性。微分作用能反映系统偏差的变化律,预见偏差变化的趋势,因此能产生超前的控制作用。直观而言,微分作用能在偏差还没有形成之前,就己经消除偏差。因此,微分作用可以改善系统的动态性能。微分作用的强弱取决于微分时间TD的大小,TD越大,微分作用越强,反之则越弱。在微分作用合适的情况下,系统的超调量和调节时间可以被有效的减小。从滤波器的角度看,微分作用相当于一个高通滤波器,因此它对噪声干扰有放大作用,而这是我们在设计控制系统时不希望看到的。所以我们不能过强地增加微分调节,否则会对控制系统抗干扰产生不利的影响。此外,微分作用反映的是变化率,当偏差没有变化时,微分作用的输出为零。2.2.3PID控制器参数整定的基本方法PID参数的整定方法可以分为时域整定和频域整定两大类。时域方法中最基本的是Ziegler和Nichol提出的Z-N阶跃响应法[12]。在实际的应用中传统的Z-N定方法有着多种变型,最常见的有Cohen-Coon法与CHR法。其中CHR方法就是通过改变阶跃响应以得出较好的闭环特性的一种方法[13]。CHR方法有两种控制策略,即“无超调的最快响应”控制策略和“具有20%超调的最快响应”控制策略。相对于时域方法,在工业实践中频域响应方法的应用更为广泛。基本的原理就是在一个就是或更多频率点设法获得被控过程的某些特征从而实现PD控制器的参数整定。这种方法是非参数估计方法。与之对应的基于被控过程模型参数估计的参数整定方法按控制器参数设计原理可分为:基于极点配置、基于相消原理、基于经验规则和基于二次型性能指标等几类。基于频域的参数整定方法主要有如下几种:1)Z-N:应用最广的方法就是Z-N频域响应法又称Z-N第二方法。通过增加比例控制器的增益使控制回路达到临界稳定状态的试验方法来确定临界点。在频域上就是Nyquist曲线和负实轴的交点,得到临界增Ku,临界周期Tu。2)一些超调规则(SO-OV):目的是为了使设定值变化响应的超调量减少。3)无超调规则(NO-OV):使设定值变化的响应没有超调。4)Mantz-Tacconiz-N(MT-ZN):可获得Z-N规则调节性能的两自由度控制器[7]。5)改进Ziegler-Nichols法(RZN):该规则在Z-N整定规则中增加了标准化增益k和准化滞后时间,整定方法因此又叫做KT法[8]。6)平方时间加权偏差的积分(ISTE):基于传递函数模型的PID控制器优化设计整定式。基于参数估计的PD参数整定方法有Cohen和Coon提出的针对FOPDT模型用于抗负载干扰的基于极点配置的时域参数整定方法[14]。该方法通过配置主导极点产生一个25%的衰减比。以上几个就是比较常用的PID控制器参数整定的基本方法。之后产生的改进算法也是基于此基础上行程的。2.2.4PID控制器的优缺点对于PID这样简单的控制器,能够适用于如此广泛的工业与民用对象,并仍以很高的性能/价格比在市场中占据着重要地位,充分地反映了PID控制器的良好品质。概括地讲,PID控制的优点主要体现在以下两个方面:1)原理简单、实现方便,是一种能够满足大多数实际需要的基本控制器。2)控制器适用于多种截然不同的对象,算法在结构上具有较强的鲁棒性。确切的说,在很多情况下其控制品质对被控对象的结构或参数变化不敏感。但从另一方面来讲,控制算法的普遍适应性也反映了PID控制器在控制品质上的局限性。具体分析,其局限性主要来自以下几方面:3)算法结构的简单性决定了PID控制比较适用于SISO最小相位系统,在处理大时滞、开环不稳定过程等难控对象时,需要通过多个PID控制器或与其它控制器的组合,才能得到较好的控制效果[15]。4)结构的简单性同时决定了PID控制只能确定闭环系统的少数主要零极点,闭环特性从根本上是基于动态特性的低阶近似假定的。5)出于同样原因,决定了常规PID控制器无法同时满足跟踪设定值和抑制扰动的不同性能要求。2.2.5软件最终设计方案本文的研究对象为温控试验箱,由于控制对象空气具有大滞后、大惯性、时变性等特征,单纯的PID控制难以达到控制的目的,控制品质难以保证。本文在研究了PID算法的优缺点之后结合,提出了改进型PID控制算法的思想,即分阶段控制的思想[16]。该控制算法具有较强的自适应能力和鲁棒性,因此,能够满足多干扰,变参数和非线性控制的要求。其核心是大偏差采用全功率加热的控制思想,小偏差采用经典PID控制算法的思想,这样既提高了响应速度,又增加了控制精度,从而使两者的优点得以充分发挥,更重要的是P,I,D的三个参数可以上位机上进行实时调整。

3系统硬件设计部分图3-1系统总体框图本系统是基于单片机的应用开发,集环境温度的信号采集、数据的处理及温度的保持控制等等为一体的数字控制系统。系统的设计思想:本系统STC89C52单片机为核心,采用温度传感器DS18B20,MAX232芯片及PID算法实现了对温度的精确控制。实现对范围、温度值的设定,执行、显示实时温度。3.1温度试验箱的结构设计只有性能良好,结构设计合理的试验箱与控制电路精密配合,才能获得高的温度稳定度,从而保证达到系统要求。对试验箱的结构和工艺主要要求是:密封性能好;保温层导热系数小,以保证保温性能好;加热体有足够的热容量。只有满足这些要求,才能减小起始加热功率、平衡状态下加热功率、稳定加热时间和箱内控制温度的波动。本温度试验箱用厚度为15mm木板制作,加工方便,满足实验所要求的温度20~110ºC,其热导系数低,保温效果好。3.2PC上位机串口通讯单片机有一个全双工的串行通信口,所以单片机和PC机之间可以方便地进行串口通信,用以下载程序或者在线调试。进行串行通信时要满足一定的条件PC机的串口是RS-232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,一般采用专用芯片MAX232进行转换[17]。MAX232的引脚图如图2-9所示。图3-2MAX232引脚图MAX232内部有电荷汞电压转换器,可将+5V电源变换成RS232所需的±10V电压,以实现电压的转换,既符合RS-232的要求,又可实现+5V单电源供电;所以MAX232收发器电路给短距离串行通信带来极大的方便。其内部结构如图3-3所示。图3-3MAX232的内部结构从图3-3中可以看出,其结构基本可分为三个部分,即:1.电荷泵电路由1、2、3、4、5、6脚和4只电容构成。功能是产生+12V和-12V两个电源,提供给RS-232串口电平的需要。2.数据转换通道由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到PC机的串行接口;串行口RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。3.供电15脚DNG、16脚VCC(+5V)。3.312864液晶显示模块图3-412864液晶框图12864A-1汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)[18]。主要技术参数和显示特性:电源:VDD3.3V~+5V(内置升压电路,无需负压);显示内容:128列×64行显示颜色:黄绿显示角度:6:00钟直视LCD类型:STN与MCU接口:8位或4位并行/3位串行配置LED背光多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等3.4DS18B20温度传感器DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。(1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(2)在使用中不需要任何外围元件。(3)可用数据线供电,电压范围:+3.0~+5.5V。(4)测温范围:-55~+125℃。固有测温分辨率为0.5℃。(5)通过编程可实现9~12位的数字读数方式。(6)用户可自设定非易失性的报警上下限值。(7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。图3-5DS18B20测温原理图DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。DS18B20测温原理如图3-5所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。3.5继电器模块固态继电器(SolidStateRelays,缩写SSR)是一种无触点电子开关,由分立元器件、膜固定电阻网络和芯片,采用混合工艺组装来实现控制回路(输入电路)与负载回路(输出电路)的电隔离及信号耦合,由固态器件实现负载的通断切换功能,内部无任何可动部件[19]。尽管市场上的固态继电器型号规格繁多,但它们的工作原理基本上是相似的。主要由输入(控制)电路,驱动电路和输出(负载)电路三部分组成。固态继电器的输入电路是为输入控制信号提供一个回路,使之成为固态继电器的触发信号源。固态继电器的输入电路多为直流输入,个别的为交流输入。直流输入电路又分为阻性输入和恒流输入。阻性输入电路的输入控制电流随输入电压呈线性的正向变化。恒流输入电路,在输入电压达到一定值时,电流不再随电压的升高而明显增大,这种继电器可适用于相当宽的输入电压范围。固态继电器的驱动电路可以包括隔离耦合电路、功能电路和触发电路三部分。隔离耦合电路,目前多采用光电耦合器和高频变压器两种电路形式。常用的光电耦合器有光-三极管、光-双向可控硅、光-二极管阵列(光-伏)等。高频变压器耦合,是在一定的输入电压下,形成约10MHz的自激振荡,通过变压器磁芯将高频信号传递到变压器次级。功能电路可包括检波整流、过零、加速、保护、显示等各种功能电路。触发电路的作用是给输出器件提供触发信号。固态继电器的输出电路是在触发信号的控制下,实现固态继电器的通断切换。输出电路主要由输出器件(芯片)和起瞬态抑制作用的吸收回路组成,有时还包括反馈电路。目前,各种固态继电器使用的输出器件主要有晶体三极管(Transistor)、单向可控硅(Thyristor或SCR)、双向可控硅(Triac)、MOS场效应管(MOSFET)、绝缘栅型双极晶体管(IGBT)等。固态继电器原理固态继电器(SolidstateRelay,SSR)是一种由固态电子组件组成的新型无触点开关,利用电子组件(如开关三极管、双向可控硅等半导体组件)的开关特性,达到无触点、无火花、而能接通和断开电路的目的,因此又被称为“无触点开关”。相对于以往的“线圈—簧片触点式”继电器(ElectromechanicalRelay,EMR),SSR没有任何可动的机械零件,工作中也没有任何机械动作,具有超越EMR的优势,如反应快、可靠度高、寿命长(SSR的开关次数可达108"109次,比一般EMR的106高出百倍)、无动作噪声、耐震、耐机械冲击、具有良好的防潮防霉防腐特性。这些特点使SSR在军事、化工、和各种工业民用电控设备中均有广泛应用。固态继电器的控制信号所需的功率极低,因此可以用弱信号控制强电流。同时交流型的SSR采用过零触发技术,使SSR可以安全地用在计算机输出接口,不会像EMR那样产生一系列对计算机的干扰,甚至会导致严重当机。比较常用的是DIP封装的型式。控制电压和负载电压按使用场合可以分成交流和直流两大类,因此会有DC-AC、DC-DC、AC-AC、AC-DC四种型式,它们分别在交流或直流电源上做负载的开关,不能混用.按负载电源的类型不同可将SSR分为交流固态继电器(AC—SSR)和直流固态继电器(DC—SSR)。AC—SSR是以双向晶闸管作为开关器件,用来接通或断开交流负载电源的固态继电器。AC—SSR的控制触发方式不同,又可分为过零触发型和随机导通型两种。过零触发型AC—SSR是当控制信号输入后,在交流电源经过零电压附近时导通,故干扰很小。随机导通型AC—SSR则是在交流电源的任一相位上导通或关断,因此在导通瞬间可能产生较大的干扰。工作原理过零触发型AC—SSR为四端器件,其内部电路如图1所示。1、2为输入端,3、4为输出端。R0为限流电阻,光耦合器将输入与输出电路在电气上隔离开,V1构成反相器,R4、R5、V2和晶闸管V3组成过零检测电路,UR为双向整流桥,由V3和UR用以获得使双向晶闸管V4开启的双向触发脉冲,R3、R7为分流电阻,分别用来保护V3和V4,R8和C组成浪涌吸收网络,以吸收电源中带有的尖峰电压或浪涌电流,防止对开关电路产生冲击或干扰。图3-6固态继电器典型应用图要指出的是所谓“过零”并非真的必须是电源电压波形的零处,而一般是指在10~25V或-(10~25)V区域内进行触发,如图2所示。图中交流电压分三个区域,Ⅰ区为-10V~+10V范围,称为死区,在此区域中加入输入信号时不能使SSR导通。Ⅱ区为10~25V和-(10~25)V范围,称为响应区,在此区域内只要加入输入信号,SSR立即导通。Ⅲ区为幅值大于25V的范围,称为抑制区在此区域内加入输入信号,SSR的导通被抑制。图3-7SSR导通特性图当输入端未加电压信号时,光耦合器的光敏晶体管因未接收光而截止,V1饱和,V3和V4因无触发电压而截止,此时SSR关闭。当加入输入信号时,光耦合器中的发光二极管发光,光敏晶体管饱和,使V1截止。此时若V3两端电压在-(10~25)V或10~25V范围内时,只要适当选择分压电阻R4和R5,就可使V2截止,这样使V3触发导通,从而使V4的控制极上得到从R6→UR→V3→UR→R7或反方向的触发脉冲,而使V4导通,使负载接通交流电源。而若交流电压波形在图2中的Ⅲ区内时,则因V2饱和而抑制V3和V4的导通,而使SSR被抑制,从而实现了过零触发控制。由于10~25V幅值与电源电压幅值相比可近似看作“零”。因此,一般就将过零电压粗略地定义为0~±25V,即认为在此区域内,只要加入输入信号,过零触发型AC—SSR都能导通。当输入端电压信号撤除后,光耦合器中的光敏晶体管截止,V1饱和,V3截止,但此时V4仍保持导通,直到负载电流随电源电压减小到小于双向晶闸管的维持电流时,SSR才转为截止。SSR的输出端器件可分为双向晶闸管和两只单向晶闸管反并联形式。若负载为电动机一类的感性负载,则其静态电压上升率dv/dt是一个重要参数。由于单向晶闸管静态电压上升率(200V/μs)大大高于双向晶闸管的换向指标(10V/μs),因此若采用两只大功率单向晶闸管反并联代替双向晶闸管,一方面可提高输出功率;另一方面也可提高耐浪涌电流的冲击能力,这种SSR称为增强型SSR。3.6碳纤维加热丝使用大功率水泥电阻充当发热体,在水泥电阻外加装散热片提高散热速率。强制试验箱箱内空气流动,减小整个温度控制系统滞后系数。经过论证,选择电热丝充当发热体,采用220v安全电压供电,PWM控制,由于电热丝热容量小,通电后升温快,加热丝本身热容量小,温度控制精度高。3.7键盘输入电路本系统中,键盘输入电路采用独立式的键盘,本键盘完成的功能为输入控制系统的设定值。通过设定值和系统的采样值进行比较,求出系统的误差及误差变化率,供PID控制子程序使用。系统中的4个键均选用按钮开关。为此,采用4个键来搭配键盘电路,4位键盘输入分别连接到单片机的P1.0到P1.3。键盘电路如图3-8所示:图3-8键盘电路第1个键用来判断是否转入键盘处理子程序运行。若未按下,则在系统程序中运行,若按下则转入键盘处理子程序运行,并且在设置完成后,通过按该键确认设定值,返回主程序中。若设置键按下,则后面2个键开始起作用。设置键是让程序进入设置状态,设置升温温度上限。换位键改变当前设置位,百位、十位、个位依次循环。当换到哪个位时,按下赋值键,当前位数字从0到9循环改变。设置完按启动键,系统确认输入值并启动系统。系统中编写的键盘处理子程序,主要注重以下3个问题:l、如何减少开关的使用次数,提高开关的使用寿命。2、如何更快捷、更方便的给出设定值。3、如何更有利于程序的整体调度。本设计尽量减少了键盘数,减少了对单片机I/O占用。

4系统软件设计部分图4-1主程序流程图温度控制系统的程序设计有着丰富的先例,本设计主程序调用了5个子程序,分别是LCD显示程序,按键扫描及处理程序,温度采集程序,温度判决程序,驱动程序。LCD显示程序,用于温度等数据的实时显示;按键扫描及处理程序,实现按键识别、按键输入及相关处理;温度采集程序负责把DS18B20所采集的现场温度读入到指定的数组中;温度判决程序,对现场温度与设定的温度上下限进行比较,并得出需要输出的控制量。主程序流程图如图4-1所示。4.1数字PID控制的实现在连续-时间控制系统(模拟PID控制系统)中,PID控制器应用得非常广泛。其设计技术成熟,长期以来形成了典型的结构,参数整定方便,结构更改灵活,能满足一般的控制要求。随着计算机的快速发展,人们将计算机引入到PID控制领域,也就出现了数字式PID控制[20]。由于计算机基于采样控制理论,计算方法也不能沿袭传统的模拟PID控制算法,所以必须将控制模型离散化,离散化的方法:以T为采样周期,k为采样序号,用求和的形式代替积分,用增量的形式(求差)代替微分,这样可以将连续的PID计算公式离散:这样就可以让计算机或者单片机通过采样的方式实现PID控制,具体的PID控制又分为位置式PID控制和增量式PID控制,公式6.4给出了控制量的全部大小,所以称之为全量式或者位置式控制;如果计算机只对相邻的两次作计算,只考虑在前一次基础上,计算机输出量的大小变化,而不是全部输出信息的计算,这种控制叫做增量式PID控制算法,其实质就是求Δμ的大小,而Δk=μk-μ(k-1);4.2温度控制PID算法设计图4-2增量式PID控制算法程序流程图本设计利用了上面所介绍的位置式PID算法,将温度传感器采样输入作为当前输入,然后与设定值进行相减得偏差,然后再对之进行PID运算产生输出结果,然后让控制定时器的时间进而控制加热器。为了方便PID运算,首先建立一个PID的结构体数据类型,该数据类型用于保存PID运算所需要的P、I、D系数,以及设在实际运算时,由于空气具有很大的热惯性,而且PID运算中的I(积分项)具有非常明显的延迟效应所以不能保留,我们必须把积分项去掉,相反微分项则有很强的预见性,能够加快反应速度,抑制超调量,系统最终选择PD控制方案[21]。4.3程序流程图改进型PID算法模型温度调节曲线如下:图2-6PID算法温度调节曲线图中T为系统温度,Ta为设定温度。控温过程分三个阶段进行:快速加热、温度调节和恒温保持。其中第一阶段只有快速升温过程,后两阶段均由升温和降温过程即温度调节过程组成。根据设计需要对各阶段如下:在快速加热阶段即在温度达到Tr之前,加热速度要快,使系统温度在尽量短的时间内达到温度Ta。在达到Ta使就停止加热,之后由于热惯性,系统温度继续升高,使得系统温度超过Ta达到最高点A点。在温度调节阶段,以T1、T2为分界点,降温与升温过程重复出现。进入恒温维持阶段,要求系统温度T能稳定在设定温度Ta附近并保持足够的时间。曲线上A、B、C为极大值点,D、E、F为极小值点,他们的绝对值随时间增加都在减小,进入恒温维持阶段阶段后在误差允许的范围内趋于稳定。模型曲线中控制参量的确定:模型曲线中的控制参量值是在反复多次试验的基础上确定的。在模型曲线中,Ta是预设的温度值,Tr和T2是系统停止加热的起始点,T1是系统开始加热的起始点.T1=Ta-T1=5℃,△T2=T2-Ta=-5℃是系统加热和调节过程中的两个门限值。在快速加热的过程中,当系统的温度第一次达到预置的某个阶段的设定温度即达到Tr时,系统就立刻停止加热。之后系统由于热惯性会继续升温到最大值A点,尔后开始降温;在降温过程中,T达到T1点即T-Ta=5℃时,系统开始预加热,即缓冲缓冲系统的温度下降的幅度;在升温过程中,当达到T2时即T-Ta=-5℃时,停止加热,防止由于热惯性导致的温度极大值过大。由此可见,Tr、T1和T2点的温度值是软件设计过程中需要考虑的重要参量。4.3.1主程序流程图图4-3主程序流程图如图4-3,当按下温度设定键时,比较设定值与实际温度的值,若当前温度差小于5度,则运用PID控制算法进行运算,调整单位时间的占空比驱动加热模块对其进行加热;若此时温度差值大于5度,运用模糊控制规则对其进行运算,并驱动继电器对其加热。4.3.212864液晶子程序流程图图4-4液晶子程序流程图当液晶显示屏初始化化后,显示的效果图如下:图4-5液晶显示屏初始化效果4.3.2DS18B20子程序流程图图4-6DS18B20子程序流程图数据采集系统以STC89C52芯片为核心,它控制温度传感器DS18B20复位和读写操作。对温度进行采集,按时序直接从温度传感器读入温度值的数字信号(这就是所测的温度值,因为DS18B20是最新单线数字温度传感器,最后存入内存。由于精度准确、分辨率高、抗干扰性好、无需校验。由于所读出的数据格式为二进制数的补码,所以求出温度值的原码(当然正数是不必转换)。在显示温度值时,还需要进行十进制的转换,字符代码的转换。

5系统的调试系统的调试是以程序为主,硬件调试比较简单,首先检查电路的焊接是否正确,然后用万用表检测或通电检测,软件调试可以先编写显示程序并进行硬件的正确性检验。然后分别进行主函数、温度的采集与识别函数、LED显示函数、键盘扫描函数、加热控制函数等程序的编程与调试。由于DS18B20与单片机采用串行数据传送,因此,对DS18B20进行读/写编程时必须严格地保证读/写时序,否则将无法读取测量结果。本程序采用单片机C言编写,用KEIL集成开发环境进行编程调试。软件调试目标为:能显示当前温度值和设定温度,按键动作能够被反映到显示器上以及被执行。5.1温度测量电路的调试关键是DS18B20的测量精度、单片机的采样时间以及显示温度和实际温度的校准。DS18B20的精度:DS18B20的准确度为0.5℃,最小分辨率为0.0625℃。5.1.1测量误差的测试在加热的过程中,在某个时刻温度计的示数与液晶显示器的示数之间的误差,其测量结果如下表所示:表5-1某时刻的温度计与液晶显示器的示数对比温度计示数/℃液晶示数/℃动态误差/34.042.10.847.449.11.755.256.21.0分析:温度计的摆放位置和温度传感器的摆放位置不同,当温度趋于设定值时,液晶显示的温度与设定的温度之间的误差,以及温度测量有滞后性的特点,导致它们的误差大[22]。在设定的温度32.0℃时,测得的温度值为下表所示:31.131.932.232.732.232.85.1.2DS18B20温度传感器校准显示温度和实际温度的校准:水银温度的最小刻度为0.1℃,我们可以利用水银温度计的读书来校准液晶显示器12864所显示的温度值。我们分别测量了十组数据,实验测量数据结果如下表:由下表可以发现显示温度始终比实际温度相差不大,符合题目要求表5-2实际与测量温度数据对比实际温度/℃显示温度/℃偏差/℃24.324.50.832.434.80.555.456.10.763.573.10.482.482.20.2由上表可以发现显示温度始终与实际温度相差不大,符合题目要求。5.2PID参数整定本控制系统采用改进型PID调节,由于温度控制系统是一个大滞后的系统,所以必须加入微分(D)控制,微分控制的作用是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。所以对于有较大惯性或滞后的被控对象,微分控制器能改善系统在调节过程中的动态性能。参数整定时先整定比例(P)系数,从小到大增大比例系数,并观察相应的系统响应趋势,直到得到反应快、超调小的响应曲线。这时系统往往存在静差,为了消除静差,需要加入积分环节(I),整定时一般先置一个较大的积分时间系数,因为积分时间系数越大,积分作用越弱。同时将上一步整定得到的比例系数减小一些(比如取原来的80%),反复调节这两个参数,直到得到满意的控制过程和整定参数。如果动态过程仍不尽满意,则可以加入微分环节(D)。在整定时先把微分时间系数为零,在第二步的基础上,增大微分时间系数,同时相应地改变比例系数和积分时间系数,逐步试凑,以获得满意的调节效果。控制系统的控制质量与被控制对象的特性、干扰信号的形式和幅值、控制方案及控制器的参数等因素有着密切的关系。对象的特性和干扰情况是受工艺操作和设备的特性限制的,不可能随意改变,这样,一旦控制方案确定了,对象各个通道的特性就成定局,这时控制系统的控制质量就只取决于控制器的参数。因此,参数的整定是过程控制系统设计的核心内容。所谓控制器的参数整定,就是通过一定的方法和步骤,确定系统处于最佳过渡过程时控制器的比例度、积分时间和微分时间的具体数值。所谓最佳过渡过程,就是在某质量指标下,系统达到最佳调整状态,此时的控制器参数就是所谓的最佳整定参数。在简单过程控制系统中,调节器参数整定通常以系统瞬态响应的衰减率=0.75~0.9(对应衰减比为4:1~10:1)为主要指标,以保证系统具有一定的稳定裕量(对于大多数过程控制系统来说,系统过渡过程的瞬态响应曲线达到4:1的衰减比状态时,则为最佳的过程曲线)。此外,在满足主要指标的条件下,还应尽量满足系统的稳态误差(又称静差、余差)、最大动态偏差(超调)和过渡过程时间等其它指标。由于不同的过程控制系统对控制品质的要求有不同的侧重点,也有用系统响应的平方误差积分(ISE)、绝对误差积分(IAE)、时间乘以绝对误差的积分(ITAE)分别取极小作为指标来整定调节器参数的[23]。调节器参数整定的方法很多,概括起来可以分为两大类:一是理论计算整定法。它主要是依据系统的数学模型,采用控制理论中的根轨迹法,频率特性法等,经过理论计算确定调节器参数的数值。二是工程整定方法,它主要依靠工程经验,直接在过程控制系统的实验中进行,且方法简单、易于掌握。由于本系统有别于工业实际系统因此对于参数整定来说,使用工程参数整定法效果不是很好,该系统参数整定采用经验凑试法。经验凑试法是通过模拟或闭环运行观察系统的响应曲线,然后根据各调节参数对系统响应的大致辞影响,反复凑试参数,以达到满意的响应,从而确定PID调节参数[24]。在凑试时,可参考以上参数对控制过程的影响趋势,对参数实行下述比例、后积分、再微分的整定步骤:⑴整定比例部分将比例系数由小变大,并观察相应的系统响应,直至得到反应快、超调小的响应曲线。如果系统没有静差或静差已小到允许范围内,并且响应曲线已属满意,那么只需用比例调节器即可,比例系数可由此确定。⑵加入积分环节如果在比例调节的基础上系统的静差不能满足设计要求,则须加入积分环节。整定时首先置积分时间为一较大值,并将经第一步整定得到的比例系数略微缩小(如缩小为原来的0.8倍),然后减小积分时间,使在保持系统良好动态性能的情况下,静差得到消除。在此过程中,可根据响应曲线的好坏反复改变比例系数与保持时间,以期得到满意的控制过程与整定参数。⑶加入微分环节若使用比例积分调节器消除了静差,但动态过程经反复调整仍不能满意,则可加入微分环节,构成比例积分微分调节器。在整定时,可先置微分时间为零。在第二步整定的基础上,增大,同时相应地改变比例系数和积分时间,逐步凑试,以获得满意的调节效果和控制参数。 所谓“满意”的调节效果,是随不同的对象和控制要求而异的。此外PID调节器的参数对控制质量的影响不十分敏感,因而在整定中参数的先定并不是唯一的。事实上,在比例、积分、微分三部分产生的控制作用中,某部分的减小往往可由其它部分的增大来补偿。因此,用不同的整定参数完全有可能得到同样的控制效果。从应用的角度看,中要被控过程主要指标已达到设计要求,那么即可选定相应的调节器参为有效的控制参数。对于该温度控制系统,最终整定的P,I,D参数分别为8,0,10.5.3加热效果测试题目要求在规定的时间内将温控箱中的空气加热到一定的温度。如果在所要求的时间内不能完成加热任务,就应该考虑用加热功率更大的加热器。实验测得的数据如下:表5-3加热温度的对比测试起始温度/℃终末温度/℃所用时间/S23.130.06830.035.04335.040.05540.045.05745.050.04450.055.04755.060.04360.075.05575.080.04680.085.042由上表可以看出,碳纤维加热丝工作正常,加热温度变化均匀,时间间隔不大,能有效达到加热控温的目的。加热模块为均匀排布在保温箱内壁上的碳纤维电热丝构成,直接接220V市电,电流约2A电路总功率约300W。对其进行全功率加热测试,每30秒记录一次,环境温度约24度,室内。测试曲线如下图5-1,X轴为分钟,Y轴为摄氏度。图5-1加热速率曲线图在5.5分钟时刻,切断加热电源,继续记录数据,得到如图5-2曲线图5-2停止加热后保温箱温度升降曲线由以上两曲线可得,本设计最大升温速率约为8℃/min,系统滞后时间约为两分钟,系统自然冷却速率约为1.4℃/min。在实际使用时,为防止温度过高导致电热丝起火燃烧,在电路中加热温控开关。但在一次测试加热时,电热丝与电线接头处发生高温烧焦现象。经检查后发现,由于此接头没有固定,经常搬动箱体导致接头摇晃松动,接触电阻增大导致局部温度过高,由于采用的线缆,接头均为阻燃材质,才没有发生起火事故。改进方法是固定箱内所有接头,防止类似事故发生。5.4PC上位机界面5.4.1MAX232芯片串口调试将单片机通过USB转RS-232口与PC相连[25],实际测试环境温度,在PC机和LCD12864上显示的温度分别如图5-3、图5-4图5-3LCD12864显示图5-4VB程序显示其中图5-3显示的第三行数据中,前一组数据为PWM波占空比,后一组数据为温差(设置温度减去当前温度),当当前温度大于设置温度,即温差为负值时,后一组数据显示为无意义数字,这是由于在单片机中负数以补码形式存储,在调用相同的显示子程序时就无法正确显示,但不影响系统运行。5.4.2PC端监控软件PC端程序采用VB编写,软件界面如图5-5图5-5温度监控软件界面此软件功能包括显示当前温度,设置升温温度,设置PID参数,实时显示温度曲线,保存曲线,显示历史文件,启动/停止这个控制系统。软件操作说明将单片机通过USB转RS-232口与PC相连后,启动温度监控软件,在软件界面下半部分单击鼠标右键,弹出如图5-6菜单,选择设置,弹出如图5-7的串口设置对话框,设置好串口参数后,单击确定图5-6右键菜单图5-7串口设置菜单然后仍然单击右键,选择打开端口,此时程序和单片机通讯,显示当前温度。选择PID参数,并在设置温度框内输入所要设置的温度,单击设置,设置信息发送到单片机,单击“启/停”键,系统开始运行。当设置温度超过80℃时,软件会弹出错误对话框,提示重新设置,如图5-8图5-8错误对话框在软件运行时,在界面左下角选择“实时显示”并单击“开始”按钮,此时上方区域开始绘制温度曲线,单击保存,弹出保存对话框,设置保存路径和文件名称,默认文件名为当前时间。如图5-9图5-9波形数据保存对话框绘制曲线图形是可以选择使用点绘图(用Pset绘图)或使用线绘图(用Line绘图),在绘图区域单击右键,可以选择背景色和前景色,以达到最好的显示效果。5.5.3上位机界面实时温度变化分析图5-10VB上位机显示界面由VB上位机显示界面所示,温度变化的实时温度曲线稳定性好,能有效达到控温的目的。

6结论温度是工业生产过程中需要控制的最常见最基本的工艺参数之一,在冶金、机械、电子、石油、化工、制造等行业中,温度控制起着非常重要的作用。对于一些较简单的控制对象,一般的PID控制基本就能满足对温度控制性能指标的要求。本文完成了基于STC89C52单片机的温度控制系统的设计,包括系统的硬件设计,软件的编程与调试等。在完成过程中,主要做的工作有:(1)以ATMEL公司的STC89C52单片机为核心进行系统硬件设计,输入通道包含DS18B20温度传感器和四个独立按键;输出通道包括键盘与液晶显示电路和驱动电路,其中显示电路为12864液晶显示屏,驱动模块通过对占空比的调节来实现对实验箱的温度控制。(2)本文对传统PID控制算法的特点进行了理论探讨,温度控制系统中采用改进型PID控制的方法[26]。此外,PID的三个参数可以进行调节,具有较强的自适应能力和鲁棒性,因此,能够满足多干扰,变参数和非线性控制过程的要求。而且,程序比较容易实现,在知道控制系统模型的基础之上,根据测量数据反映的温度变化规律对其采取相应的控制策略。(3)采用C语言对系统软件进行编程,这样大大缩短了软件的开发周期。为了便于编写,调试,修改和删除,系统软件的编制采用了模块化的设计方法[27]。(4)为了解温度的实时变化情况,采用PC机与上位机通信,实时显示系统运行情况,并可对运行参数进行修改。本设计用VB开发了人机接口界面,由温度变化曲线可反映其动态响应速度,稳定性等相关性能指标[28]。在本设计中,由上位机界面温度实时变化曲线可以看出,该温度控制系统不仅具有良好的稳态性能,其控制精度也达到了相关要求。

7展望本系统采用STC89C52单片机为控制核心,这种单片机本身资源较少,不利于系统的扩展,目前日益普及的是基于ARM或DSP结构的微处理器,在系统的扩展能力方面,处理数据的能力各个方面都远远超过了8位单片机[29]。传统的单片机编程采用时间片轮转的方式,即将实时性要求不高的工作放在主函数之中,依次轮流执行;实时性要求高的,使用中断技术及时处理,这样构成前后台处理程序,程序中间通过软件标志,全局变量等完成通信与联络。本系统的软件就是基于这种方式开放的。随着微处理器芯片性能的提高和价格的下降及对软件的可重复性和可维护性的提高,采用实时操作系统已经成为大势所趋[30]。随着工业的发展,对象的复杂程度不断加深,尤其是对大滞后,时变的,非线性的复杂系统:其中有的参数未知或缓慢变化;有的带有延时或随机干扰;有的无法获得较精确的数学模型或模型非常粗糙。加之人们对控制品质的要求日益提高,常规PID控制的缺陷也逐渐暴露出来。因此人们在应用PID控制的同时,也不断的对其进行了各种改进。主要体现在两个方面:一是对常规PID控制器本身结构的改进,即变结构PID控制[31];另一方面随着智能控制如模糊控制,神经网络和专家控制等先进控制技术的迅速发展,它们与常规PID控制相结合,扬长避短,发挥各自的优势,形成所谓的智能PID控制[32]。这种新型智能PID控制器已引起人们的普遍关注和极大的兴趣,也已得到较为广泛的应用。结合上面的论述,今后还需要做进一步的研究和解决的问题有:硬件方面,采用DSP,ARM或者利用片上系统的SOC对系统的硬件进行重新设计。软件方面,摒弃传统的前后台系统软件编程模式,改用基于实时操作的系统软件开发[33]。控制算法方面,尝试采用现在得到快速发展的智能控制方法,如模糊控制,神经网路控制和模糊PID控制等等。本设计其更深远意义在于了解更为广泛的温度控制系统的共性,为了便于用户方便使用,对于一些诸如高温,辐射的控制应用场合,可在原基础之上加入红外遥感装置,对其进行远距离控制。

参考文献[1]郭天祥.51单片机C语言教程入门、提高、开发、拓展全攻略[M].北京:电子工业出版社,2009.[2]蔡美琴,毛敏等.MCS-51系列单片机系统及其应用[M].北京:高等教育出版社,2009.[3]陶红艳,余成波.传感器与现代检测技术[M].北京:清华大学出版社,2009.[4]闫胜利.AltiumDesigner实用宝典—原理图与PCB设计[M].北京:电子工业出版社,2007.[5]朱清惠等.Proteus教程:电子线路设计制版与仿真[M].北京:清华大学出版社,2009.[6]王文海.单片机应用于实践项目化教程[M]..北京:化学工业出版社,2010.[7]铃木雅成.晶体管电路设计[M].科学出版社,2010.[8]黄坚.自动控制原理及其应用[M].北京:高等教育出版社,2004.1[9]孙德宝.自动控制原理[M].北京:化学工业出版社,2002.7[10]周伯敏.自动控制理论[M].北京:机械工业出版社,1999.1[11]夏德钤,翁贻芳.自动控制理论[M].北京:机械工业出版社,2004.1[12]刘金琨.先进PID控制及其MATLAB仿真[M].北京:电子工业出版社,2003.1[13]陶永华.新型PID控制及其应用[M].北京:机械工业出版社,2002.9[14]李兆军,纪平,娄晓光.高精度温度控制系统设计[J].电子测量技术,2007,30(2):146-148.[15]周钦,张博舒.单片机温度控制系统探究[J].安徽电子信息职业技术学院学报,2011,10(53).[16]陆仲达,张金凤,王玉主.恒温箱控制系统的硬件设计[J].齐齐哈尔大学学报,2002,18(1):52-54.[17]陈国将.基于模糊PID控制的玻璃纤维机械温度控制系统研究[D].西安建筑科技大学硕士学位论文,2006[18]苏卫东,任思聪等.温控箱数学模型的建立及其自适应PID控制[J].中国惯性学报,1995年第27卷第11期[19]赖寿宏.微型计算机控制技术[M].北京:机械工业出版社,1999[20]张文娜.电控空气悬架PID控制系统设计与实验研究[D].江苏大学硕士学位论文,2006[21]蒋静.恒温箱温度调节及参数整定方法[J].仪器仪表用户,2009,16(3):110-111.[22]邱迎.恒温箱系统自动控制方法的研究[J].应用科学,2010:121-122.[23]林向阳.恒温箱校准经验[J].中国计量,2011-8:99-100.[24]高正中,刘隆吉,苑红波.基于C8051F的高精度温度控制系统设计[J].煤矿机械,2008,29(9):33-35.[25]张靖,刘少强.检测技术与系统设计[M].北京:中国电力出版社,2002.[26]夏大勇,周晓辉,赵增,等.MCS-51单片机温度控制系统[J].工业仪表与自动化装置,2007(1):43.[27]徐科军,马修水,李晓林,等.传感器与检测技术[M].北京:电子工业出版社,2008.160-190.[28]彭军.传感器与检测技术[M].西安:西安电子科技大学出版社,2003.[29]梅丽凤,王艳秋,汪毓铎,等.单片机原理及接口技术[M].北京:清华大学出版社,2006.[30]张宇.高精度恒温箱温度控制理论研究与系统设计[D].合肥工业大学硕士学位论文,2006[31]邵裕森,戴先中.过程控制工程[M].北京:机械工业出版社,2000.[32]MaryMcCarthy,EamonnDillon.ADCRequirementsforTemperatureMeasurementSystems[Z].[33]BiChongwei,YangChuchun,DuBao.DesignandExperimentofAHigh—PrecisionTemperatureControlSystem[A].2010InternationalConferenceOilMeasuringTechnologyandMechatronicsAutomation.

致谢大学四年生活即将画上一个句号,在这四年中认识了许多人,经历了许多事,也有许多的感受。大学时光是我一生中非常重要的一段经历,我要感谢所有带给我经历的朋友,感谢所有老师,是你们教会了我许多的知识,是你们使我懂得了如何做人,是你们使我学会了如何面对人生。我还要感谢母校中原工学院给了我一次健康成长的机会,使我更好的面对人生。特别的,我要感谢我的毕业设计指导教师张海峰老师,从最初的资料的选取,张老师就给了我很大的帮助。对于我们工作中遇到的困难,张老师一定会给我们指导直到我们弄懂为止。从最初资料的选取开始,一直到最后论文的反复修改、润色,张老师始终认真负责地给予我深刻而细致地指导,帮助我们开拓研究思路,精心点拨、热忱鼓励。正是张老师的无私帮助与热忱鼓励,我的毕业论文才能够得以顺利完成,谢谢张老师。同时我要感谢答辩组的答辩老师,在开题和中期时给我提出许多宝贵的意见,让我在毕业设计中一步步得以完善。最后,再次对关心、帮助我的老师和同学表示衷心地感谢!

附录A原理图附录B部分程序/*名称:LCD12864字库液晶芯片组st7920日期:2009.5修改:无内容:*/#include<stdio.h>#include<math.h>#include<reg52.h>#include<string.h>#include"subfuncs.h"sbitRUN=P1^0;//启动sbitSET=P1^1;//设置sbitSETNUM=P1^2;//赋值sbitSWITCH=P1^3;//换位sbitLEDRUN=P3^4;//运行指示灯sbitLEDSET=P3^5;//设置标志灯sbitLEDALERT=P3^6;//警报灯sbitCAT=P3^7;//板上资源控制sbitRLYCTL=P2^6;/******************************************************************//*外部函数与变量声明*//******************************************************************/externunsignedintReadTemperature(void);externvoidUART_Init(void);externvoidDisTimer0(void);externvoidTimer0Init(void);externunsignedchardataPWMCycle,PWMDuty;/*PWM周期与占空比的调节,单位10ms*/externunsignedintdataPIDtimer;unsignedchardatapram=92;//用于调节PID曲线整定参数intdataerr=0,err1=0,serr=0;unsignedchardatarunctl=0;//为串口控制而添加,为1相当于按下一次RUN键unsignedchardataPIDP=8,PIDI=0,PIDD=10;/******************************************************************//*定义变量/数组*//******************************************************************/unsignedintdataguiSetTemp=0;//设置温度*10unsignedintdataguiNowTemp=0;//当前温度*10unsignedcharcodepic2[];//unsignedcharcodepic3[];/******************************************************************函数功能:显示4位数字的温度,将1234显示为123.4。add为要显示在的地址******************************************************************/voiddisplayTemp(unsignedcharadd,unsignedintdatatemp_buff){ unsignedchardatasled_data[6]; sled_data[0]=temp_buff/1000+'0'; sled_data[1]=temp_buff%1000/100+'0'; sled_data[2]=temp_buff%100/10+'0'; sled_data[3]='.'; sled_data[4]=temp_buff%10+'0'; sled_data[5]=''; Disp_HZ(add,sled_data,6); }voidSetTemp(void){ unsignedchardatasetdata[4],i; LEDSET=0; setdata[0]=guiSetTemp/1000; setdata[1]=guiSetTemp%1000/100; setdata[2]=guiSetTemp%100/10; setdata[3]=guiSetTemp%10; displayTemp(0x85,guiSetTemp); Write_Cmd(0x85); delayms(10); Write_Cmd(0x0F);//开游标 delayms(10); for(i=0;i<4;) { while(1) { if(!SETNUM) { while(1) { while(!SETNUM); delayms(20); if(SETNUM)break; } setdata[i]++; if(setdata[i]==10)setdata[i]=0; guiSetTemp=setdata[0]*1000+setdata[1]*100+setdata[2]*10+setdata[3]; displayTemp(0x85,guiSetTemp); delayms(5); if(i<2)Write_Cmd(0x85); elseif(i<3)Write_Cmd(0x86); elseWrite_Cmd(0x87); } if(!SWITCH) { while(1) { while(!SWITCH); delayms(20); if(SWITCH)break; } i++; if(i<2)W

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论