内容摘要
随着控制理论和电子技术的发展,工业控制器的适应能力增强和高度智能化正逐步成为现实。其中以单片机为核心实现的数字控制器因其体积小、成本低、功能强、简便易行而得到广泛应用。PID温度控制器作为一种重要的控制设备,在化工、食品等诸多工业生产过程中得到了广泛的应用。本文主要讨论在过程控制中得到广泛应用的数字PID控制在单片机温度控制系统中的应用和设计。本文详细阐述了基于单片机的温度控制系统的硬件组成、软件设计及相关的接口电路设计。并且充分考虑了系统的可靠性,采取了相应的措施予以保证。从中发现问题,并根据实际,提出硬件及软件的设计方案,为优化当前单片机之温度探制系统问题提供一定的参考及借鉴。
关键词:单片机,温度控制,数据处理
-.
.
目 录
内容摘要 ............................................................ I 引 言 ............................................................. 2 1 温度测控技术的发展与现状 ......................................... 3 1.1 定值开关控温法 ................................................. 3 1.2 PID线性控温法 .................................................. 4 1.3 智能温度控制法 ................................................. 4 2 系统总体设计方案 ................................................. 5 2.1 系统性能要求及特点 ............................................. 5 2.2 系统硬件方案分析 ............................................... 6 2.3 系统软件方案分析 ............................................... 7 3 硬件设计 ......................................................... 7 3.1 系统硬件总体结构 ............................................... 7 3.2 主控模块器件选型及设计 ......................................... 8 3.2.1 单片机的选用 ................................................. 8 3.2.2 单片机介绍 ................................................... 9 3.2.3 主控模块设计 ................................................. 9 3.3 输入通道设计 .................................................. 10 3.3.1 Ptl00温度传感器 ............................................. 10 3.3.2 A/D转换 .................................................... 12 3.4 输出通道设计 .................................................. 14 3.4.1 温控箱的功率调节方式 ........................................ 14 3.4.2 可控硅输出电路 .............................................. 15 3.5 串行通信接口电路 .............................................. 15 3.6 电源电路 ...................................................... 16 3.7 硬件抗干扰措施 ................................................ 16 4 软件设计 ........................................................ 17 4.1 软件设计思想 .................................................. 17 4.2 软件组成 ...................................................... 18
-.
.
4.3 主程序模块 .................................................... 18 4.4 数据采集模块 .................................................. 19 4.5 数据处理模块 .................................................. 20 4.5.1 数字滤波 .................................................... 20 4.5.2 显示处理 .................................................... 21 4.6 软件抗干扰措施 ................................................ 21 5 结论 ............................................................ 22 参考文献 ........................................................... 23
-.
.
引 言
在实际的生产实验环境下,由于系统内部与外界的热交换是难以控制的,其他热源的干扰也是无法精确计算的,因此温度量的变化往往受到不可预测的外界环境扰动的影响。为了使系统与外界的能量交换尽可能的符合人们的要求,就需要采取其他手段来达到这样一个绝热的目的,例如可以让目标系统外部环境的温度与其内部温度同步变化。根据热力学第二定律,两个温度相同的系统之间是达到热平衡的,这样利用一个与目标系统温度同步的隔离层,就可以把目标系统与外界进行热隔离。
另外,在大部分实际的环境中,增温要比降温方便得多。因此,对温度的控制精度要求比较高的情况下,是不允许出现过冲现象的,即不允许实际温度超过控制的目标温度。特别是隔热效果很好的环境,温度一旦出现过冲,将难以很快把温度降下来。这是因为很多应用中只有加热环节,而没有冷却的装置。同样道理,对于只有冷却没有加热环节的应用中,实际温度低于控制的目标温度,对控制效果的影响也是很大的。
鉴于上述这些特点,高精度温度控制的难度比较大,而且不同的应用环境也需要不同的控制策略。所以本文据此问题,通过查阅大量文献资料并结合当前温度测探技术的实际应用情况进行分析,从中发现问题,并根据实际,提出硬件及软件的设计方案,为优化当前单片机之温度探制系统问题提供一定的参考及借鉴。
-.
.
1 温度测控技术的发展与现状
近年来,温度的检测在理论上发展比较成熟,但在实际测量和控制中,如何保证快速实时地对温度进行采样,确保数据的正确传输,并能对所测温度场进行较精确的控制,仍然是目前需要解决的问题。
温度测控技术包括温度测量技术和温度控制技术两个方面。
在温度的测量技术中,接触式测温发展较早,这种测量方法的优点是:简单、可靠、低廉、测量精度较高,一般能够测得真实温度;但由于检测元件热惯性的影响,响应时间较长,对热容量小的物体难以实现精确的测量,并且该方法不适宜于对腐蚀性介质测温,不能用于超高温测量,难于测量运动物体的温度。另外的非接触式测温方法是通过对辐射能量的检测来实现温度测量的方法,其优点是:不破坏被测温场,可以测量热容量小的物体,适于测量运动物体的温度,还可以测量区域的温度分布,响应速度较快。但也存在测量误差较大,仪表指示值一般仅代表物体表观温度,测温装置结构复杂,价格昂贵等缺点。因此,在实际的温度测量中,要根据具体的测量对象选择合适的测量方法,在满足测量精度要求的前提下尽量减少投入。
温度控制技术按照控制目标的不同可分为两类:动态温度跟踪与恒值温度控制。动态温度跟踪实现的控制目标是使被控对象的温度值按预先设定好的曲线进行变化。在工业生产中很多场合需要实现这一控制目标,如在发酵过程控制,化工生产中的化学反应温度控制,冶金工厂中燃烧炉中的温度控制等;恒值温度控制的目的是使被控对象的温度恒定在某一给定数值上,且要求其波动幅度(即稳态误差)不能超过某允许值。本文所讨论的基于单片机的温度控制系统就是要实现对温控箱的恒值温度控制要求,故以下仅对恒值温度控制进行讨论。
从工业控制器的发展过程来看,温度控制技术大致可分以下几种:
1.1 定值开关控温法
所谓定值开关控温法,就是通过硬件电路或软件计算判别当前温度值与设定目标温度值之间的关系,进而对系统加热装置(或冷却装置)进行通断控制。若当前温度值比设定温度值高,则关断加热器,或者开动制冷装置;若当前温度值比设定温度值低,则开启加热器并同时关断制冷器。这种开关控温方法比较简单,在没有计算机参与的情况下,用很简单的模拟电路就能够实现。目前,采用这种控制方法的温度控制器在我国许多工厂的老式工业电炉中仍被使用。由于这种控制方式是当系统温度上升至设定点时关断电源,当系统温度下降至设定点时开通
-.
.
电源,因而无法克服温度变化过程的滞后性,致使被控对象温度波动较大,控制精度低,完全不适用于高精度的温度控制。
1.2 PID线性控温法
这种控温方法是基于经典控制理论中的PID调节器控制原理,PID控制是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好、可靠性高等优点被广泛应用工业过程控制中,尤其适用于可建立精确数学模型的确定性控制系统。由于PID调节器模型中考虑了系统的误差、误差变化及误差积累三个因素,因此,其控制性能大大地优越于定值开关控温。其具体控制电路可以采用模拟电路或计算机软件方法来实现PID调节功能。前者称为模拟PID控制器,后者称为数字PID控制器。其中数字PID控制器的参数可以在现场实现在线整定,因此具有较大的灵活性,可以得到较好的控制效果。采用这种方法实现的温度控制器,其控制品质的好坏主要取决于三个PID参数(比例值、积分值、微分值)。只要PID参数选取的正确,对于一个确定的受控系统来说,其控制精度是比较令人满意的。但是,它的不足也恰恰在于此,当对象特性一旦发生改变,三个控制参数也必须相应地跟着改变,否则其控制品质就难以得到保证。
1.3 智能温度控制法
为了克服PID线性控温法的弱点,人们相继提出了一系列自动调整PID参数的方法,jtflPID参数的自学习,自整定等等。并通过将智能控制与PID控制相结合,从而实现温度的智能控制。智能控温法以神经网络和模糊数学为理论基础,并适当加以专家系统来实现智能化。其中应用较多的有模糊控制、神经网络控制以及专家系统等。尤其是模糊控温法在实际工程技术中得到了极为广泛的应用。目前已出现一种高精度模糊控制器,可以很好的模拟人的操作经验来改善控制能,从理论上讲,可以完全消除稳态误差。所谓第三代智能温控仪表,就是指基于智能控温技术而研制的具有自适应PID算法的温度控制仪表。
目前国内温控仪表的发展,相对国外而言在性能方面还存在一定的差距,它们之间最大的差别主要还是在控制算法方面,具体表现为国内温控仪在全量程范围内温度控制精度比较低,自适应性较差。这种不足的原因是多方面造成的,如针对不同的被控对象,由于控制算法的不足而导致控制精度不稳定。
-.
.
2 系统总体设计方案
本论文所讨论的基于单片机的温度控制系统是某型号气相色谱仪的温度控制子系统,其目的是对两个温控箱的温度进行恒值温度控制。温控箱的温度控制范围在室温到摄氏600℃之间,温度控制的精度要求为±0.1℃。下面讨论系统的总体设计方案,包括:系统的性能要求及特点以及系统的软、硬件方案分析。
2.1 系统性能要求及特点
(1)系统性能要求:
(a)可以人为方便地通过控制面板或PC机设定控制期望的温度值,系统应能自动将温控箱加热至此设定温度值并能保持,直至重新设定为另一温度值,即能实现温度的自动控制;
(b)能够实现对温控箱温度的测量并且通过控制面板上的液晶显示实时的显示出来;
(c)具有加热保护功能的安全性要求。如果实际测得的温控箱温度值超过了系统规定的安全温度,保护电路就会做出反应,从而对温控箱实现超温保护;
(d)模块化设计,安装拆卸简单,维修方便; (e)系统可靠性高,不易出故障;
(f)尽量采用典型、通用的器件,一旦损坏,易于在市场上买到同样零部件进行替换。
(2)系统特点:
鉴于上述系统功能要求以及智能仪表应具有的体积小、成本低、功能强、抗干扰并尽可能达到更高精度的要求。本系统在硬件设计方面具有如下特点:控制主板采用AT89C52作为核心芯片。作为与MCS-51系列兼容的单片机,无论在运算速度,还是在内部资源上均可胜任本系统的性能要求。根据温控箱测温范围的要求,本系统适合采用Ptl00铂电阻作为温度传感器,而Ptl00铂电阻在大温度范围内测温时表现出的不可忽视的非线性不容忽视,因此在温度测量的过程中必须对铂电阻温度传感器的非线性进行优化,从而提高系统温度测量的精确度。本文采用最小二乘法拟合的方法对铂电阻的非线性进行优化。为了简化系统硬件,控制量采用双向可控硅输出,这样就省去了D/A转换环节。
整个系统遵循了冗余原则及以软代硬的原则,并尽可能选用典型、常用、易于替换的芯片和电路,为系统的开放性、标准化和模块化打下良好基础。系统扩展和配置在满足功能要求的基础上留有适当裕量,以利于扩充和修改。
-.
.
2.2 系统硬件方案分析
目前,温度控制仪的硬件电路一般采用模拟电路(Analog Circuit)和单片机(Microcontroller)两种形式。
模拟控制电路的各控制环节一般由运算放大器、电压比较器、模拟集成电路以及电容、电阻等外围元器件组成。它的最大优点是系统响应速度快,能实现对系统的实时控制。根据计算机控制理论可知,数字控制系统的采样速率并非越快越好,它还取决于被控系统的响应特性。在本系统中,由于温度的变化是一个相对缓慢的过程,对温控系统的实时性要求不是很高,所以模拟电路的优势得不到体现。另外,模拟电路依靠元器件之间的电气关系来实现控制算法,很难实现复杂的控制算法。
单片机是大规模集成电路技术发展的产物,属于第四代电子计算机。它是把中央处理单元CPU(Central Processing Unit)、随机存取存储器RAM(Random Access Memory)、只读存储器ROM(Read only Memory)、定时/计数器以及I/O(Input/Output)输入输出接口电路等主要计算机部件都集成在一块集成电路芯片上的微型计算机,它的特点是:功能强大、运算速度快、体积小巧、价格低廉、稳定可靠、应用广泛。由此可见,采用单片机设计控制系统,不仅可以降低开发成本,精简系统结构,而且控制算法由软件实现,还可以提高系统的兼容性和可移植性。
另外,随着微电子技术和半导体工业的不断创新和发展,片上系统SOC(System On Chip)得到了十足的发展。一些厂家根据系统功能的复杂程度,将这种SOC芯片应用到先进的控制仪表中。SOC芯片通常含有一个微处理器核(CPU),同时,它还含有多个外围特殊功能模块和一定规模的存储器(RAM和ROM),并且这种片上系统一般具有用户自定义接口模块,使得其功能非常强大,适用领域也非常广。它不仅能满足复杂的系统性能的需要,而且还使整个系统的电路紧凑,硬件结构简化。
从实现复杂系统功能和简化硬件结构的角度出发,SOC是实现温度控制系统的最佳选择,但目前市场上SOC的价格还比较昂贵,并且SOC的封装形式几乎都采用贴片式封装,不利于实验电路板的搭建。从降低成本,器件供货渠道充足的角度看,应用单片机实现温度控制系统是比较经济实用的。
目前,市面上的单片机不仅种类繁多,而且在性能方面也各有所长。AT89C52单片机是ATMEL公司出品的与MCS51系列兼容的低电压、高性能CMOS 8位单片机。本系统选择AT89C52为核心器件组成的控制系统。此外,在选取外围扩展芯片时,本着节约成本的原则,尽量选取典型的、易于扩展和替换的芯片及器件。
-.
.
2.3 系统软件方案分析
目前,MCS-51单片机的开发主要用到两种语言:汇编语言和C语言。与汇编语言相比,C语言具有以下的特点:
(1)具有结构化控制语句
结构化控制语言的显著特点是代码和数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护及调试;
(2)适用范围广和可移植性好
同其他高级语言一样,C语言不依赖于特定的CPU,其源程序具有良好的可移植性。目前,主流的CPU和常见的MCU都有C编译器。加之集成开发环境KEIL编译生成的代码效率很高(仅比汇编语言生成的代码效率低10%一15%)。所以,本系统的软件选择使用C语言开发。
由于整个系统软件比较复杂,为了便于编写、调试、修改和增删,系统程序的编制适合采用模块化的程序结构,故要求整个控制系统软件由许多独立的小模块组成,它们之间通过软件接口连接,遵循模块内数据关系紧凑,模块间数据关系松散的原则,将各功能模块组织成模块化的软件结构。
温度控制算法方面,在对温控箱数学模型辨识的基础之上,结合本温控系统的要求采用了经典的PID控制算法,这主要是由于PID控制相对来说算法简单、鲁棒性好和可靠性高。此外,在设计PID控制器时,依靠经验和试验的方法在系统调试时确定PID控制器的参数KP、KI、KD,然后用代码实现了算法。
3 硬件设计
3.1 系统硬件总体结构
本文所研究的温度控制系统硬件部分按功能大致可以分为以下几个部分:单片机主控模块、输入通道、输出通道、保护电路等。硬件总体结构框图如图1所示。由结构框图可见,温度控制系统以AT89C52单片机为核心,并扩展外部存储器构成主控模块。温控箱的温度由Ptl00铂电阻温度传感器检测并转换成微弱的电压信号,再通过16位的A/D转换器AD7705转换成数字量。此数字量经过数字滤波之后,一方面将温控箱的温度通过控制面板上的液晶显示器显示出来;另一方面将该温度值与设定的温度值进行比较,根据其偏差值的大小,采用PID控制算法进行运算,最后通过控制双向可控硅控制周期内的通断占空比(即控制温控箱加热平均功率
-.
.
的大小),进而达到对温控箱温度进行控制的目的。如果实际测得的温度值超过了系统给定的极限安全温度,保护电路会做出反应,从而保护温控箱。
温度传感器 AD转换 温控箱
加热部件 可控硅 保护电路 MCU 设定温度值 时钟电路 温度显示 3.2 主控模块器件选型及设计
3.2.1 单片机的选用
针对一定的用途,恰当的选择所使用的单片机是十分重要的。对于明确的应用对象,选择功能过少的单片机,无法完成控制任务;选择功能过强的单片机,则会造成资源浪费,使产品的性能价格比下降。目前,市面上的单片机不仅种类繁多,而且在性能方面也各有不同。在实际应用中,针对不同的需求要选择合适的单片机,选择单片机时要注意下几点:
(1)单片机的基本性能参数,例如指令执行速度,程序存储器容量,中断能力及I/O口引脚数量等;
(2)单片机的增强功能,例如看门狗,双串口,RTC(实时时钟),EEPROM,CAN接口等;
(3)单片机的存储介质,对于程序存储器来说,Flash存储器和OTP(一次性可编程)存储器相比较,最好是选择Flash存储器:
(4)芯片的封装形式,如DIP封装,PLCC封装及表面贴附封装等。选择DIP封装在搭建实验电路时会更加方便一些;
(5)芯片工作温度范围符合工业级、军品级还是商业级,如果设计户外产品,必须选用工业级芯片;
(6)单片机的工作电压范围,例如设计电视机遥控器时,使用2节干电池供电,至少选择的单片机能够在1.8V~3.6V电压范围内工作;
(7)单片机的抗干扰性能好;
(8)编程器以及仿真器的价格,单片机开发是否支持高级语言以及编程环境要好用易学;
-.
串行通信 图1 硬件总体结构框图
.
(9)供货渠道是否畅通,价格是否低廉,是否具有良好的技术服务支持。根据上面所述的原则,结合本系统实际情况综合考虑,本文讨论的温度控制系统选用ATMEL公司生产的AT89C52单片机作为主控模块的核心芯片。 3.2.2 单片机介绍
本系统选用ATMEL公司生产的AT89系列单片机中的AT89C52,AT89C52单片机是一种新型的低功耗、高性能的8位CMOS微控制器,与工业标准MCS-51指令系列和引脚完全兼容。具有超强的三级加密功能,其片内闪电存储器(Flash Memory)的编程与擦除完全用电实现,数据不易挥发,编程/擦除速度快。 3.2.3 主控模块设计
主控模块电路由AT89C52单片机、外部时钟电路、复位电路、存储器扩展电路组成。
由于AT89C52内部存储器容量不能满足本系统的需求,所以需要对其存储器进行扩展。这里选择用紫外线擦写的64K×8的EPROM 27512和静态数据存储器8K×8的SRAM 6264扩展单片机的存储器。存储器扩展时,AT89C52的P0口作为数据总线和低8位地址线,P2口作为高8位地址线。由于P0口的分时复用所以需要使用地址锁存器74HC373对低8位地址进行锁存。
单片机的复位是由外部复位电路来实现的。在单片机的复位引脚RST(9脚)上保持两个机器周期的高电平就能使AT89C52完全复位。复位电路的接法很多,本系统中采用上电复位和手动复位键复位相结合的方式。
系统时钟电路设计采用内部方式。AT89C52内部有一个用于构成振荡器的高增益反相放大器。引脚XTALl(19脚)和XTAL2(18脚)分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容构成并联谐振电路,接在放大器的反馈回路中。本系统电路采用的晶体振荡器频率为11.0592MHz。采用这种频率的晶体振荡器的原因是可以方便的获得标准的波特率。复位电路和时钟电路如图2所示。
-.
.
图2 复位电路和时钟电路
3.3 输入通道设计
系统输入通道的作用是将温控箱的温度(非电量)通过传感器电路转化为电量(电压或电流)输出,本系统就是将温度转化为电压的输出。由于此时的电量(电压)还是单片机所不能识别的模拟量,所以还需要进行A/D转换,即将模拟的电量转化成与之对应的数字量,提供给单片机判断和控制。输入通道由传感器、A/D转换等电路组成。
3.3.1 Ptl00温度传感器
温度传感器的种类比较繁杂,各种不同的温度传感器由于其构成材料、构成方式及测温原理的不同,使得其测量温度的范围、测量精度也各不相同。因此,在不同的应用场合,应选择不同的温度传感器。Ptl00型铂电阻,在-200℃~850℃范围内是精度最高的温度传感器之一。与热电偶、热敏电阻相比较,铂的物理、化学性能都非常稳定,尤其是耐氧化能力很强,离散性很小,精度最高,灵敏度也较好。这些特点使得铂电阻温度传感器具有信号强、精度高、稳定性和复现性好的特点。由于在本系统中,测温范围较大(在室温到600℃之间),且要求检测精度高、稳定性好,因此选用Ptl00铂电阻作为本温度控制系统的温度传感器。
铂电阻温度传感器主要有两种类型:标准铂电阻温度传感器和工业铂电阻温度传感器。在测量精度方面,工业铂电阻的测量稳定性和复现性一般不如标准铂电阻,这主要有两个方面的原因,其一是高温下金属铂与周围材料之间的扩散使其纯度受到污染,从而降低了铂电阻测温的复现性能,其二是因为高温条件下的应力退火影响了其复现性能。但是标准铂电阻温度传感器也存在价格昂贵,维护起来较为困难等缺点。考虑到成本,故在本系统中采用工业级Ptl00铂电阻作为温度传感器。
铂电阻测温电路的工作方式一般分为恒压方式和恒流方式两种。按照接线方式的不同又可以分为二线制、三线制和四线制几种。本系统采用的是恒流四线制接法对Ptl 00铂电阻进行采样。铂电阻温度传感器采样电路如图3所示。该电路将温控箱的温度转化为电压输出。
采用恒流四线制接法的测温电路中需要用到一个稳定的基准电压源。本系统采用精密基准电压源LM399H产生基准电压,图中参考电压%EP即来自LM399H。基准电压源电路如图4所示。
LM399H是内置恒温槽高精度基准电压源,输出电压6.9999V。它是迄今为止同
-.
.
类产品中温度系数最低的器件,内部有恒温电路,保证了器件的长期稳定性。本系统中基准电压源产生的电压不仅提供给铂电阻采样电路而且还提供给A/D转换电路使用。
图3 温度传感器电路 图4 基准电压源电路 铂电阻温度传感器是利用其电阻值随温度的变化而变化这一特性进行温度测量的,根据IEC(International Electrician Committee)标准751-1983:
RtRo[1AtBt2C(t100)t3] (-200℃ 图5 铂电阻温度/电阻曲线 由于本系统中温控箱的温度范围在室温至600℃之间,故只针对(2)式进行讨论。 由(2)式可知,铂电阻温度传感器在其测量范围内具有非线性,即阻值变化具有饱和特性。为了减少铂电阻的饱和特性给温度测量带来的误差,这里采用最小二乘法对铂电阻的非线性进行优化。 在0-800℃之间均匀的抽取100个温度点,对应的铂电阻阻值利用(2)式计算出来,然后将此电阻值代入图3所示采样电路求得电压值,这样就有100组数据点。 -. . 对这100组温度和电压数据利用最小二乘法进行拟合,求出温度与电压关系的三次多项式为: 3t247.7032399.380Uo68.165Uo2460.117Uo (3) 求解出测温多项式后,在0-800℃之间随机抽取1O个点,对此多项式进行检验,其结果如表1所示。 表1 实际温度、测得温度对照表 实际温度(℃) 39.00 117.00 195.00 291.00 351.00 429.00 507.00 624.00 702.00 780.00 计算温度(℃) 38.993 117.019 195.013 282.995 350.982 428.982 506.996 624.023 702.019 779.961 误差(℃) -0.007 0.019 0.013 -0.005 -0.018 -0.018 -0.004 0.023 0.019 -0.039 由上表可以看到经过最小二乘法优化之后,(2-3)式误差绝对值的最大值仅为0.039℃,测量精度已经满足系统的要求。 3.3.2 A/D转换 在单片机控制系统中,控制或测量对象的有关变量,往往是一些连续变化的模拟量,如温度、压力、流量、位移、速度等物理量。但是大多数单片机本身只能识别和处理数字量,因此必须经过模拟量到数字量的转换(A/D转换),才能够实现单片机对被控对象的识别和处理。完成A/D转换的器件即为A/D转换器。 A/D转换器的主要性能参数有: (1)分辨率表示A/D转换器对输入信号的分辨能力。A/D转换器的分辨率以输出二进制数的位数表示; (2)转换时间指A/D转换器从转换控制信号到来开始,到输出端得到稳定的数字信号所经过的时间。不同类型的转换器转换速度相差甚远: (3)转换误差表示A/D转换器实际输出的数字量和理论上的输出数字量之间的差别,常用最低有效位的倍数表示; (4)线性度指实际转换器的转移函数与理想直线的最大偏移。目前有很多类型的A/D转换芯片,它们在转换速度、转换精度、分辨率以及使用价值上都各具特色,其中大多数积分型或逐次比较型的A/D转换器对于高精度测量,其转换效果不够理想。温度控制中A/D转换是非常重要的一个环节。传统的电路设计方法是 -. . 在A/D转换前增加一级高精度的测量放大器,这样 就增加了成本,电路也较为复杂。综合考虑,本系统选用AD(ANALOG DEVICES)公司生产的16位AD转换芯片AD7705作为本温控系统的A/D转换器。 AD7705是AD公司生产的16位Σ-Δ型A/D转换器。它包括由缓冲器和增益可编程放大器(PGA)组成的前端模拟调节电路、调制器、可编程数字滤波器等部件组成。能直接将传感器测量到的多路微小信号进行A/D转换。 AD7705采用三线串行接口,具有两个全差分输入通道,能达0.003%非线性的16位无误码输出,其增益和输出更新率均可编程设定,还可以选择输入模拟缓冲器,以及自校准和系统校准方式。工作电压3V或5V,在3VI作电压时,器件的最大功耗仅为lmW。AD7705弓|脚如图6所示。 图6 AD7705引脚图 AD7705引脚功能描述如下: (1)SCLK串行时钟,将一个外部的串行时钟加于这一输入端口,以访问AD7705的串行数据。该串行时钟可以是连续时钟以连续的脉冲串传送所有数据,反之,它也可以是非连续时钟,将信息发送给AD7705; (2)MCLKIN为转换器提供主时钟信号,能以晶体/谐振器或外部时钟的形式提供。晶体/谐振器可以接在MCLKIN和MCLKOUT两弓|脚之间,时钟频率的范围为500kHz-5MHz; (3)MCLKOUT,当主时钟为晶体/谐振器时,晶体/谐振器被接在MCLKIN和MCLKOUT之间,如果在MCLKIN引脚处接上一个外部时钟,MCLKOUT将提供一个反向时钟; (4) CS片选信号,低电平有效; (5) RESET复位输入,低电平有效; (6)AIN2(+)差分模拟输入逶道2的正输入端{ -. . (7)AINl(+)差分模拟输入通道1的正输入端; (8)AINl(-)差分模拟输入遥道l的负输入端; (9)AIN2(-)差分模拟输入通道2的负输入端; (10)REFIN(+)差分基准输入的正输入端,基准输入是差分的,并规定REFIN(+)必须大于REFIN(-),REFIN(+)可以取VDD和GND之间的任何值; (11) DRDY(-)差分基准输入的负输入端,REFIN(-)可以取VDD和GND之间的任何值,且必须满足REFIN(+)大于REFIN(-); (12)DRDY逻辑输出,这个输出端上的逻辑低电平表示可以从AD7705的数据寄存器获取新的输出字。完成对一个完全的输出字的读操作后,该引脚立即回到高电平。当该引脚处于高电平时,不能进行读操作,当数据更新后,该引脚又返回低电平: (13)DOUT串行数据输出端,从片内的输出移位寄存器读出的串行数据由此端输出。根据通信寄存器中的寄存器选择位,移位寄存器可以容纳来自通信寄存器、时钟寄存器或数据寄存器的信息; (14)DIN串行数据输入端,向片内的输入移位寄存器写入的串行数据由此输入。 3.4 输出通道设计 3.4.1 温控箱的功率调节方式 温控系统均采用可控硅来实现功率调节。可控硅的控制模式有两种:控制和零位控制(分配式零位控制、时间比例零位控制)。 (1)相位控制:作用于每一个交流正弦波,改变正弦波每个正半波和负半波的导通角来控制电压的大小,进而可以调节输出电压和功率的大小。采用相位控制模式的可控硅控制器可以叫做调压器,它可以方便的调节电压有效值,可用于电炉温度控制、灯光调节、异步电机降压软启动和调压调速等。 (2)零位控制:在设定的周期Tc内,触发信号使主回路接通几个周波(几个完整的正弦波),再断开几个周波,改变可控硅在设定周期内的通断时间比例,以调节负载上的交流电的平均功率,即可达到调节负载功率的目的。根据输出电压分布的不同,零位控制又分为分配式零位控制(在Tc周期内根据输出百分比平均分布周波)和时间比例零位控制(在Tc周期内根据输出百分比连续接通几个周波,然后在Tc周期剩余的时间内连续关断几个周波)。它多用于大惯性的加热器负载,采用这种控制,既实现了温度控制,又消除了相位控制时带来的高次谐波污染电网。 -. . 本系统采用分配式零位控制的模式,控制温控箱的加热电阻的平均加热功率,进而控制温控箱的温度。 3.4.2 可控硅输出电路 可控硅是一种功率半导体器件,简称SCR,也称晶闸管。它分为单向可控硅和双向可控硅,在微机控制系统中,可作为功率驱动器件。可控硅具有控制功率小、无触点、长寿命等优点,在交流电机调速、调功、随动等系统有着广泛的应用。双向可控硅相当于两个单向可控硅反向并联。双向可控硅与单向可控硅的区别是: (1)它在触发之后是双向导通: (2)在控制极上不管是加正的还是负的触发信号,一般都可以使双向可控硅导通。 因此双向可控硅特别适合用作交流无触点开关。 本系统中与可控硅配套使用的是MOC3041光电耦合双向可控硅驱动器,与一般的光耦器件不同之处是MOC3041输出部分是硅光敏双向可控硅,还带有过零触发检测器,以保证电压接近零时触发可控硅。 3.5 串行通信接口电路 目前,广泛使用的串行数据接口标准有RS-232,RS-422与RS-485三种。其中RS-232是美国电子工业协会正式公布的串口总线标准,也是目前最为常用的串行接口标准,用来实现计算机与计算机之间,计算机与外设之间的数据通讯。串行通信接口的基本任务是实现数据格式化。来自CPU的是普通的并行数据,接口电路应具有实现不同串行通信方式下的数据格式化的任务。具体任务是: (1)进行串一并转换; (2)控制数据传输速率; (3)进行错误检测; (4)进行TTL与EIA电平转换; (5)提供EIA—RS.232接口标准所要求的信号线。 由于CMOS电平和RS-232电平不匹配,因此要实现单片机和PC机之间的通信,必须在它们之间加接电平转换器。系统设计采用MAXIM公司的RS-232接口芯MAX232,这是一种标准的RS-232接口芯片。MAX232只需+5V电源供电,其内部的电源变化成±10V电源用于RS232通信。该芯片集成有两路收发器,可将单片机输入的TTL/CMOS电平转换为RS232电平发送给PC机,或将从PC机接收的RS232电平转换为TTL/CMOS电平发送给单片机。MAX232为双列直插16脚封装。系统串口通信电路 -. . 如图9所示。 图9 串口通信电路 其中T20UT连接上位机串口的RX端,R2IN连接上位机串口的TX端,R20UT和T2IN是TTL/CMOS发送器的输出和输入端,分别连接单片机的RX(P3.0)和TX(P3.1)端。 3.6 电源电路 系统所用直流电源由三端集成稳压器组成的串联型直流稳压电源提供。设计中选用LM7805,LM7815和LM7915三个三端集成稳压器,分别提供+5V、+15V和一15V直流电压,输出电流均为1A。LM7805、LM7815和LM7915的连接方法一样。变压器将220V的市电降压后再通过整流桥整流之后采用了大容量的电解电容进行滤波,以减小输出电压纹波。由于电解电容器在高频下工作存在电感特性,对于来自电源侧的高频干扰不能抑制,因此在整流电路后加入高频电容改善纹波。 3.7 硬件抗干扰措施 硬件抗干扰是应用系统最基本和最主要的抗干扰手段,一般从防和抗两方面入手来抑制干扰。其总的原则是:抑制或消除干扰源,切断干扰对系统的耦合通道,降低系统对干扰信号的敏感性。对于本系统,硬件抗干扰设计具体措施有:隔离、接地、滤波等常用方法。 (1)隔离主要用于过程通道的隔离。光电耦合器能有效地抑制尖峰脉冲及各种噪声干扰,提高信噪比。在输入、输出通道采用光电耦合器将控制系统与外围接口隔离; (2)接地接地应遵循的基本原则是:数字地、模拟地、屏蔽地应该合理接地,不能混用。要尽可能地使接地电路各自形成回路,减少电路与地线之间的电流耦合。合理布置地线使电流局限在尽可能小的范围内,并根据地电流的大小和频率设计相应宽度的印刷电路和接地方式。模拟电源和数字电源各自并接0.1uF的陶瓷 -. . 电容(去耦电容): (3)滤波电源系统干扰源主要是高次谐波。无源滤波器是一个简单的、有效的低通滤波器,它只让电网中基波通过,而对高次谐波有急剧的衰减作用,对串模干扰和共模干扰信号具有很强的双向抑制作用。 4 软件设计 在微机测控系统中,软件与硬件同样重要。硬件是系统的躯体,软件则是灵魂,当系统的硬件电路设计好之后,系统的主要功能还是要靠软件来实现,而且软件的设计在很大程度上决定了测控系统的性能。为了满足系统的要求,编制软件时一般要符合以下基本要求: (1)易理解性、易维护性要达到易理解和易维护等指标,在软件的设计方法中,结构化设计是最好的一种设计方法,这种设计方法是由整体到局部,然后再由局部到细节,先考虑整个系统所要实现的功能,确定整体目标,然后把这个目标分成一个个的任务,任务中可以分成若干个子任务,这样逐层细分,逐个实现; (2)实时性是电子测量系统的普遍要求,即要求系统及时响应外部事件的发生,并及时给出处理结果。近年来,由于硬件的集成度与运算速度的提高,配合相应的软件,实时性比较容易满足设计要求; (3)准确性对整个系统具有重要意义,尤其是测量系统,系统要进行一定量的运算,算法的正确性和准确性对结果有着直接的影响,因此在算法的选择、计算的精度等方面都要符合设计的要求; (4)可靠性是系统软件最重要的指标之一,作为能够稳定运行的系统,抗干扰技术的应用是必不可少的,最起码的要求是在软件受到干扰出现异常时,系统还能恢复正常工作。结合上述编制系统软件的基本要求,首先讨论软件的设计思想。 4.1 软件设计思想 很多的单片机软件系统都是采用如图12所示的前、后台系统(也称超循环系统)。其中,应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成是后台行为(background)。中断服务程序处理异步事件,这部分可以看成是前台行为(foreground)。后台也可以叫做任务级。前台也可以叫做中断级。时间相关性很强的关键操作(critical operation)一定是靠中断服务来保证的。 本系统软件正是基于这种软件思想编制的。 -. . 图10 前后台系统 4.2 软件组成 由于整个系统软件相对比较庞大,为了便于编写、调试、修改和增删,系统软件的编制采用了模块化的设计。即整个控制软件由许多独立的小模块组成,它们之间通过软件接口连接,遵循模块内部数据关系紧凑,模块之间数据关系松散的原则,按功能形成模块化结构。 系统的软件主要由主程序模块、数据采集模块、数据处理模块、控制算法模块等组成。主模块的功能是为其余几个模块构建整体框架及初始化工作;数据采集模块的作用是将A/D转换的数字量采集并储存到存储器中;数据处理模块是将采集到的数据进行一系列的处理,其中最重要的是数字滤波程序:控制算法模块完成控制系统的PID运算并且输出控制量。 下面就介绍本系统几个主要的程序模块。 4.3 主程序模块 主程序模块要做的主要工作是上电后对系统初始化和构建系统整体软件框架,其中初始化包括对单片机的初始化、A/D芯片初始化和串口初始化等。然后等待温度设定,若温度已经设定好了,判断系统运行键是否按下,若系统运行,则依次调用各个相关模块,循环控制直到系统停止运行。主程序模块的程序流程 -. . 图如图11所示。在附录中给出了系统初始化源程序。 图11 主程序流程图 4.4 数据采集模块 数据采集模块的任务是负责温度信号的采集以及将采集到的模拟量通过A/D转换器转化为相应的数字量提供给单片机。数据采集模块的程序流程图如图12和图13所示。 -. . 图12 数据采集模块程序流程图 图13 A/D转换程序流程图 4.5 数据处理模块 数据处理模块负责处理A/D转换后的数字量。其中最重要的环节是数字滤波,所以这里主要讨论系统采用的数字滤波程序。 4.5.1 数字滤波 模拟信号都必须经过A/D转换后才能为单片机接受,如果模拟信号受到扰动影响,将使A/D转换结果偏离真实值。因此仅仅对模拟量采样一次,我们是无法确定该结果是否可信的,必须经过多次采样,得到一个A/D转换的数据序列,通过某种处理后,才能得到一个可信度较高的结果。这种从数据序列中提取逼近真值数据的软件算法,通常称为数字滤波算法。 数字滤波克服了模拟滤波器的不足,它与模拟滤波器相比具有以下几个方面的优点: (1)由于数字滤波是用程序实现的,因而不需要增加硬件设备,而且可以多个输入通道共用一个滤波程序; (2)由于数字滤波不需要硬件设备,因而可靠性高、稳定性好,各回路之间不存在阻抗匹配等问题; (3)数字滤波可以对频率很低(如O.01HZ)的信号实现滤波,克服了模拟滤波器的缺陷,而且通过改变数字滤波程序,可以实现不同的滤波方法或改变滤波参数,这比改变模拟滤波器的硬件要更灵活方便。 常用的数字滤波方法有程序判断滤波法、中值滤波法、算术平均滤波法、一阶滞后滤波法、去极值平均滤波法等等,下面简要介绍这几种数字滤波方法。 (1)程序判断滤波法首先要从经验出发,定出一个目标参数最大可能的变化范围。每次采样后都和上次的有效采样值进行比较,如果变化幅度不超过经验值,本次采样有效,否则,本次采样值应视为干扰而放弃,以上次采样值为准。该算法适用于变化缓慢的物理参数的采样过程,如湿度、液位等。 (2)中值滤波法对目标参数连续进行若干次采样,然后将这些采样进行排序,选取中间位置的采样值为有效值。对于变化较为剧烈的参数,此滤波方法不宜采用。 (3)算术平均滤波法是对目标参数进行连续采样,然后求其算术平均值作为有效采样值。该算法适用于抑制随机干扰。采样次数越大,平滑效果越好,但系统的灵敏度要下降。算术平均滤波不能将明显的脉冲干扰消除,只是将其影响削弱。 -. . (4)一阶滞后滤波法是一种动态滤波方法,其表达式为: Y(1a)XnaYn1 (4) 式中 Xn:第n次采样值 Yn1:上次滤波结果输出值 Yn:第n次采样后滤波结果输出值 a:滤波平滑系数:a τ:滤波环节时间常数 T:采样周期 通常采样周期远小于滤波环节的时间常数,也就是输入信号的频率快,而滤波环节时间常数相对地小,这是一般滤波器的概念,所以这种滤波方法相当于RC滤波器。 (5)去极值平均滤波法既采用去极值法去掉明显的脉冲干扰,又可对采样值进行平滑处理,在高、低速数据采集系统中,它都能削弱干扰,提高数据处理能力。本系统就采用了去极值平均滤波法。即对目标参数连续采样6次数据,然后对6次采样的数据由小到大排序,分别去掉最小值和最大值,将剩余的4个数据求其算术平均值,即得到本次A/D转换后的数字量。 4.5.2 显示处理 显示处理模块主要完成人机交互作用,具体实现将采样温度值、设定温度值以字符的形式通过液晶显示出来。本系统使用HTl621作为显示驱动器。HTl621是128点内存映象和多功能驱动器。附录中给出了显示处理模块的源程序。 T 4.6 软件抗干扰措施 本系统中,在软件方面的抗干扰措施主要从以下两个个方面来考虑: (1)按键的软件消抖措施 按键是一个机械开关,当键按下时,开关闭合;当键松开时,开关断开。其特点之一就是它的抖动性,这是由按键的机械特性所决定的,抖动的时间一般约为10ms-20ms。 对于按键消抖的具体措施目前有两种:一是用硬件电路来实现,即用RC滤波电路滤除抖动。另一种是用软件延时的方法来解决,即利用软件的延时避开按键的按下与抬起时都有的抖动期,从而避免检测到干扰信号。本文采用的就是软件延时消抖的方法。附录中给出了延时程序的源程序,同时延时程序还作为通用功能模块被其他模块调用; -. . (2)数字滤波 数字滤波是将一组输入数字序列进行一定的运算而转换成另一组输出数字序列的方法,采用软件滤波算法不需要增加硬件设备,可靠性高,功能多样,使用灵活,但是要占用一定的处理器运行时间。在本系统设计中,采用了数字滤波的软件抗干扰措施,所采用的数字滤波算法是去极值平均滤波法。 5 结论 随着工业的发展,对象的复杂程度不断加深,尤其对于大滞后、时变的、非线性的复杂系统:其中有的参数未知或缓慢变化;有的带有延时或随机干扰;有的无法获得较精确的数学模型或模型非常粗糙。加之人们对控制品质的要求日益提高,常规PID控制的缺陷也逐渐暴露出来。因此人们在应用PID控制的同时,也不断地对其进行了各种改进。主要体现在两个方面:一是对常规PID控制器本身结构的改进,即变结构PID控制;另一方面随着智能控制如模糊控制、神经网络控制和专家系统等先进控制技术的迅速发展,它们与常规PID控制相结合,扬长避短,发挥各自的优势,形成所谓的智能PID控制。这种新型智能PID控制器已引起人们的普遍关注和极大的兴趣,也已得到较为广泛的应用。结合上面的论述,今后还需要做进一步的研究和解决的问题有: (1)硬件方面,采用DSP、ARM或者利用第一章提到的片上系统SOC对系统的硬件进行重新设计; (2)软件方面,摒弃传统的前后台系统软件编程模式,改用基于实时操作系统的系统软件开发; (3)控制算法方面,尝试采用现在得到快速发展的智能控制方法,如模糊控制、神经网络控制和模糊PID控制等等。 -. . 参考文献 [1]陈国将.基于模糊PID控制的玻璃纤维机械温度控制系统研究[D].西安建筑科技大学硕士学位论文,2006 [2]张文娜.电控空气悬架PID控制系统设计与实验研究[D].江苏大学硕士学位论文,2006 [3]张宇.高精度恒温箱温度控制理论研究与系统设计[D].合肥工业大学硕士学位论文,2005 [4]薛定宇.控制系统计算机辅助设计(第二版)[M].北京:清华大学出版社,2006 [5]李朝青.单片机&DSP外围数字IC技术手册(第二版)[M].北京:北京航空航天大学出版社,2005 [6]求是科技.8051系列单片机c程序设计完全手册[M].北京:人民邮电出版社,2006 [7]孙广清.便携式温度传感标定装置[D].西北工业大学硕士学位论文,2007 [8]冯博琴主编.微型计算机原理与接口技术[M].北京:清华大学出版社,2006 [9]沈怀洋.高精度铂电阻温度调节器[D].沈阳工业大学硕士学位论文,2004 [10]郑善锋,郑华杰等.利用微机数据处理提高温度测量精度[J].电路与系统学报,2005年第10卷第1期 -. 因篇幅问题不能全部显示,请点此查看更多更全内容