基于LPC2132的多通道温度控制器设计

2017-11-01 07:18肖永松
计算机测量与控制 2017年8期
关键词:热电偶控制算法测温

肖永松

(江南大学 物联网工程学院,江苏 无锡 214122)

基于LPC2132的多通道温度控制器设计

肖永松

(江南大学 物联网工程学院,江苏 无锡 214122)

针对众多工业设备需要同步控制数量较多加热设备的需求,给出了一种基于ARM处理器的多通道温度控制器设计方案;各通道温度传感器信号经由模拟选择开关分时选用后送至仪表运放AD620放大,再由AD芯片AD7705转换成数字信号后传送给ARM处理器LPC2132进行处理转换成实际温度;结合期望的目标温度,利用积分分离PID算法计算输出控制量并以PWM方式驱动固态继电器调节加热器件在控制周期内通电时间的占空比;实验结果表明温度控制器的测温一致性和温控性能均能得到有效提升。

温度控制器;多通道;PID控制;ARM

0 引言

温度作为工业生产过程中最基本的参数之一,其检测与控制直接与产品质量和生产效率以及能耗等重大技术指标密切相关,此外温度也是众多生产设备需要同时大量监测和控制的变量之一,例如注塑机设备以及制袋机设备等。目前市面上可以轻易找到众多专用或者通用的温度控制器,且均能获得较好的控制精度同时也有不少具有同时监控多通道温度的能力,但是不少产品也存在一定程度的改进空间。例如同时监控的温度通道数量较少[1];过于追求较低的硬件成本导致模块温漂增大[2];人机交互界面不太友好[3];另有些方案设计的温控器测温范围相对较窄且适用的温度传感器比较单一[4],等等。

针对上述问题,本文设计方案决定采用具有较多内置外设和GPIO口的ARM处理器作为主控芯片以满足多通道扩展的需求,同时ARM芯片的高速处理能力也能够有效提升控制算法的运算速度,满足本温度控制器适应各种工业现场总线在通信方面的速度要求,因此本设计方案中具体采用在工业应用中具有较好抗干扰性能的NXP公司LPC2100系列芯片作为主控芯片。在温度信号检测方面,选择采用仪表放大器AD620对温度传感器信号进行放大然后再经由16位AD转换芯片AD7705转换成数字信号送主控芯片处理,以保证测量温度的分辨率可以达到0.1 ℃。控制算法部分则考虑采用积分分离的数字PID算法以缩短温度企稳时间和过程的平滑。

1 测温原理及信号处理方案设计

测温的方式可以按照接触式和非接触式两种方式进行划分,本方案重点考虑接触式测温方式,接触式温度传感器中主要有测温芯片、热电阻和热电偶三种类型。常见的测温芯片如DS18B20,LM75A等均可以直接输出数字信号供处理器直接采用,不需要额外的处理电路,使用简便,不过它们一般测温范围比较窄,较多用于测量环境温度;热电阻是基于导体或半导体的电阻值随着温度的变化而变化的特性来测温,其测温范围一般在-200~500℃之间;热电偶是利用正负两端的电势差与探头温度成正比的原理来获取温度,随着热电偶类型的不同其测温范围也有一定差异,相对于热电阻具有更大的测温范围,最高可以超过1 500℃。本系统重点考虑测温范围相对更宽,性能稳定,结构也比较简单的热电偶作为测温元件。

不同类型热电偶的测温范围有一定的差异,所适用的环境也不尽相同,但是传感器端输出的信号均为毫伏级别的弱电压差分信号,在实际应用中均需要预先对信号进行调理,放大后再由主控芯片处理。对于差分信号的放大常见的有三种选择,第一种选择是使用专门的测温芯片如MAX6675直接将热电偶输出的毫伏信号转换成数字信号并可以由处理器转换成温度值,冷端的温度补偿也是由MAX6675自己解决,但是它最大的缺陷是只能适用K型热电偶一种测温元件[1];第二种选择是类似于文献[2]选用常规运算放大器自行搭建差分放大电路,此方案的主要优势就是成本低廉,但是缺点也很明显,即电路结构相对复杂且随着器件的温漂影响可能会导致批量产品的一致性较差;第三种选择是选用性能优异的仪表放大器,虽然仪表运放的价格相对较高,但是其电路简便带来的稳定性和一致性升高带来的效益也非常明显,具体选用的方案则还需根据实际需求确定,本设计针对第三种方案展开,具体是以AD620芯片为基础搭建差分毫伏信号的放大电路。

对于热电偶信号在传送给放大器芯片之前相关的滤波抗干扰和保护措施则继续选择使用文献[2]所述的处理方式。

2 热电偶信号转换设计

将热电偶信号转换成温度的途径一般有两种,一是采用查询由IEC584-1标准计算出的真值表方式,利用温度和电势值对应关系获取准确的温度,但是在单片机控制系统中存储五位真值表需要耗费大量宝贵的存储空间,尤其是当系统设计为需要适用多种类型的热电偶时凸显的耗费内存问题尤为突出,从而就要求在考虑主控芯片时需要选择带有更大容量内存的器件才行[2];第二种方式是采用一些尽可能简单,阶次相对较低的拟合公式,如利用最小二乘算法得出的拟合公式等实时计算得到。考虑到本设计方案中的控制器除了需要检测温度外还需要进行精确的温度控制以及满足一定的通信要求,对主控芯片的内部资源需求较多,因此希望温度测量部分能尽量少的占用内部存储空间的宝贵资源,而且主控芯片内部存储空间的减少同时也意味着硬件成本的节约。

根据IEC584-1标准得到的热电偶五位真值表中温度和电势的分辨率分别为0.5℃和0.5 μV ,文献[5]在REMES算法基础上做了一定的改进,得到一个弱REMES算法,在保证算法收敛速度和计算精度前提下,通过确立更接近真值的初始点的方式减少算法循环的次数,从而克服了原有算法计算量特别大的缺点,最终将K型热电偶在0~1372℃的测温范围内温度转换为电势的关系用五段四阶拟合公式表示,电势转换为温度的关系用二段四阶拟合公式进行表示;S型热电偶的温度转换为电势的关系同样用五段四阶拟合公式表示,电势转换为温度的关系则用三段四阶拟合公式表示。本设计方案将以K型热电偶为例,将应用上述拟合公式进行温度测量并与文献[2]中方案的测控效果进行比较。

3 功能模块设计

温度控制器准确测量到温度是最终达到预期控制效果的基础,此外还需要多个其它诸如系统参数的掉电保存、电源监控、站点地址设定、手动输入、显示输出以及输出驱动等多个功能模块才能完成对温度的有效控制,同时考虑到控制器需要有良好的人机交互性能以方便用户根据实际情况实时对控制器进行参数设定和调整,还需要具备良好的通信功能。

综合考虑控制器上述各种功能需求,本方案选择采用的ARM处理器LPC2132包含有丰富的内部外设资源,其内嵌的64kB高速Flash存储器保证了一定规模代码的存储和运行空间;多达47个通用I/O口除了提供多通道的控制输出、状态指示输出、模拟开关的控制信号以及AD芯片的控制信号等大约20个I/O口的需求外还有充足余量供其它内置外设如标准UART串口、I2C、SPI等通信串口以及扩展功能使用;2个32位定时器/计数器以及多达16个可动态分配的优先级中断向量为通信以及控制算法程序的设计提供了足够的便利。其片内Boot装载的软件可以实现在系统编程(ISP)功能,为控制器后期程序的维护和功能更新提供极大的便利。

基于上述对控制器各项功能的需求分析,给出系统总体如图1所示。其中虚线框内为单个多通道温度控制器,触摸屏通过RS485总线可以同时挂接多个同一类型的温控器,从而实现同时对更多通道的温控参数进行监控。

图1 系统总体结构框图

对于多通道信号的处理,选择采用模拟开关对各通道信号进行轮番选择并送至AD进行转换的方式实现。本方案中将重点介绍四个通道的温度控制实现方式,模拟开关采用双4选1的模拟电子开关CD4052BE来实现对信号的选通。具体的电路如图2所示。

图2 多通道选择电路

图2中,INx+和INx-分别为4个通道的热电偶信号的正负端,具体通道的选择通过主控芯片控制AB两个引脚电平来实现,选中的信号则从IN+和IN-两个引脚送出。在实际应用中可以根据实际需要增加相同的电路来扩展温度通道数量,每增加一块模拟电子开关芯片可扩展得到4个通道的温度,同时仅需要主控芯片多分配一个I/O口用于通道的选择控制信号即可。

由于热电偶的电势信号一般在零至几十毫伏之间,对该信号进行模数转换之前必须放大才便于处理,本方案采用的仪表运放AD620具有宽增益范围以及高精度和低失调漂移特性,仅需要一个外部电阻即可设置增益,因此能够以非常简洁的电路完成信号放大的任务,并且能够保证批量时的可靠性和一致性。同时,为了便于软件上处理测量到的低于室温的温度值,在对信号进行前期处理时将其参考电压提升到0.8 V并经过一个电压跟随器缓冲后作为AD620的REF输入,具体的放大电路设计如图3所示,其中增益调节电阻R79可以选用50 ppm低温漂的精密电阻以保证增益的稳定性。

图3 信号放大电路

根据AD620的增益计算公式:

(1)

可知,当RG(R79)取值为2 kΩ时,信号的放大倍数为25.7倍。经放大后的信号即可直接送至16位的∑-△模数转换器AD7705转换成数字量再给主控芯片处理。模数转换部分的具体电路如图4所示。

图4 模数转换电路

对于人机交互部分的接口电路设计,本方案继续采用文献[2]所述的RS485接口设计,采用标准MODBUS总线协议实现与上位机之间的通信,并选择触摸屏显示输出运行参数以及实现对系统参数的设定。

4 系统软件设计

运行可靠的硬件可确保准确测量到被控对象的温度,但这只是控制器有效发挥作用的基础,而控制加热器件快速准确的响应并稳定在目标值附近则需要有运行高效的算法和程序才能实现,这也是温度控制的最终目的。

控制器软件的主程序流程如图5所示,在系统参数化阶段完成的工作主要包括对所有用到的GPIO、I2C接口、定时器、通信串口、AD转换芯片的初始化等等。加载参数阶段主要完成从掉电非易失性存储芯片AT24C16中加载控制器的默认设置参数如各通道的PID参数、控制周期、温度传感器的类型以及通信串口参数等等。待系统正常运行后将优先响应上位机从串口传递过来的参数设置(修改)指令,随后依次完成对当前通道的温度检测以及控制任务,然后再切换到下一个通道。

图5 主程序流程

在本设计方案图5中所述控制算法采用积分分离的PID控制算法来实现。由于控制算法最终需要在单片机中编程实现,所以选择使用的是离散PID算式,另外由于加热器通过处理器输出的PWM进行调节,其不具有记忆特性,所以只能使用位置式PID算法,具体算式表示如下:

(2)

其中:u(k)为控制算法的输出,经过归一化处理后控制PWM输出来调节一个周期内加热器的通电时间;e(k)=r(k)-c(k),表示k时刻设定温度值r(k)与当前温度值c(k)之差,为控制算法的输入;Kp,Ki,Kd分别表示控制器的比例放大系数,积分系数和微分系数。

在PID控制中,积分环节的主要作用是消除静差,提高控制的精度,但是在被控量与设定值相差较大的起始环节以及在结束环节或者在大幅度修改设定值的时候会产生比较大的积分积累量,非常容易使系统产生比较大的超调量,甚至产生振荡从而导致算法无法收敛到设定值附近,这就是出现了所谓的积分饱和现象。因此,针对上述积分饱和现象,实际的算法对PID算法做一定的改进,积分分离PID控制算法即是需要根据系统偏差e(k)的大小来确定积分作用对算法的作用。在此我们可以为式(2)中的积分系数Ki引入一个关于偏差e(k)的函数β,

(3)

式中,a和b分别作为积分分离区间的界限,具体取值的大小跟实际被控对象的升温特性和控制周期等参数密切相关,需根据对象通过实验确定合适的值。通过后续实际运行效果可知这种方法设计的温度控制策略具有较强的鲁棒特性。

考虑到控制对象的不确定性,而不同对象对控制算法的参数要求也必定相去甚远,或者是同一个对象随着使用时间的增加自身特性逐渐发生漂移,导致原先的参数不再能够保证控制器获得最优的控制效果,这就要求算法具有一定的参数自整定功能。参数的设定和自整定也是PID算法最困难的部分,不少文献中提出的参数自整定方法往往是假定被控对象为一个一阶加纯滞后或者是二阶加纯滞后的模型然后采用一定的整定方法获取参数[7],或者也有不通过模型而直接基于数据对参数进行整定[8],但是众多文献提出的方法更多的还是通过仿真软件进行了验证,并未在实际工业应用环境中看到其效果,而且相对复杂的算法要在单片机中编程实现往往也会带来更多额外的困难。所以在实际工业过程中,PID参数往往还是通过实验试凑法获取,在具体的生产工艺条件下该参数也相对比较稳定,并不需要经常调整。在本控制器的设计方案中也仅考虑控制器参数基本确定情况下,针对加热器随环境变化或自身老化带来参数漂移后,算法对参数做出一定自适应修正。

5 结语

系统经过实际调试和运行,和文献[2]所述方案相比,首先在温度的采集方面,由于采用性能优异的仪表放大器从而简化了温度信号的调理检测电路,有效避免了器件温漂带来的影响。分别以20套控制器在室温环境为16℃条件下选用K型热电偶测量100℃开水的温度进行试验,文献[2]所述方案的测量结果偏差为±3℃,而采用本方案设计的控制器测量的结果偏差在±1℃之内,可以明显看出在测量的一致性方面有明显提升,基本可以省去对每个控制器进行零点校准的步骤。

虽然放大电路部分在硬件成本方面明显需要增加一定的投入(大约为7RMB),但是由于本方案采用文献[5]中所述拟合公式计算替代查表方式对温度信号进行转换能够大幅度减少主控芯片所需的存储空间(原先使用带有512KB高速Flash的LPC2138可以使用带有64 kB高速Flash的LPC2132替换),相应减少的硬件成本也完全可以弥补放大电路部分的增加投入,并且本设计方案能够适用更多类型的热电偶。

再对两款温度控制器最终的温度控制效果进行比较,设定值温度均定为200℃,分别选用1.5 kW、2 kW以及4 kW的烫刀作为被控对象,在使用相同的初始参数条件下,基于本设计方案的控制稳态误差平均要小1℃,此外控制的上升时间和超调量等特性均有一定的改善,整体控制效果得到了明显的提升。

综合考虑控制器的温度检测和控制效果以及整体成本核算可知,基于本方案设计的多通道温度控制器在继续保持了友好的人机交互功能基础上,有效提高了控制精度,提升了控制器的整体性价比。

[1] 唐洪富, 张兴波. 基于STC系列单片机的智能温度控制器设计[J]. 电子技术应用, 2013(5): 86-88.

[2] 翟 阳, 曹亦轩, 肖永松. 热封切制袋机中多通道温控系统的设计[J]. 包装工程, 2013(17): 68-71.

[3] 罗 浩, 刘尚武, 王书易, 等. 基于STC12C5A60S多路温度监控系统设计[J]. 信阳师范学院学报自然科学版, 2014(1): 106-110.

[4] 邬 琦, 杨江涛. 一种恒温箱温度控制系统的设计与实现[J]. 计算机测量与控制, 2014 (8): 2455-2458.

[5] 赵修文. 铂铑10—铂及镍铬—镍硅热电偶特性曲线的最佳拟合公式[J]. 化工自动化及仪表, 1992(3): 38-42.

[6] 杨久红, 王小增. 积分分离PID算法的电阻炉温度控制系统[J]. 计算机测量与控制, 2012, 20(1): 66-69.

[7] 刘兆坤, 李 烨, 王亚刚, 等. 基于阶跃辨识的PID自整定研究及软件开发[J]. 计算机测量与控制, 2014, 22(7): 2306-2308.

[8] 房 耀, 董学平, 张薛礼. 基于数据驱动的PID自整定方法的研究[J]. 合肥工业大学学报自然科学版, 2016,39(1):46-49.

Design of Multi-channel Temperature Controller Based on LPC2132

Xiao Yongsong

(School of IoT Engineering, Jiangnan University, Wuxi 214122, China)

For the requirement of synchronous control of multiple heater in many industrial facilities, a design of multiple channel temperature controller based on ARM processor is introduced. Signals of temperature sensor from each channel are selected separately by analog switch and sent to instrumentation amplifier AD620. Amplified signals are transferred by AD chip AD7705 to digital signals which can be proceeded by ARM processor LPC2132. Combining the desired temperature, the output control variable which is obtained by using integral separated PID algorithm, is introduced to adjusting the duty ratio of powering time for heater. Results of the trail indicated that the consistency of temperature measurement and control performance can be promoted obviously.

temperature controller; multiple channel; PID control; ARM

2017-02-16;

2017-03-04。

国家自然科学基资助项目(61203111)。

肖永松(1982-),男,江西萍乡人,硕士,实验师,主要从事系统建模、自适应控制方向的研究。

1671-4598(2017)08-0064-04

10.16526/j.cnki.11-4762/tp.2017.08.017

TP273

A

猜你喜欢
热电偶控制算法测温
Nadcap热处理认证高温测量中热电偶的技术探究
一种热电偶在燃烧室出口温度场的测量应用
热电偶时间常数检测分拣系统设计
基于ARM+FPGA的模块化同步控制算法研究
高精度位置跟踪自适应增益调度滑模控制算法
变压器光纤测温探头的安装固定
基于DS18B20的单片机测温系统
基于航迹差和航向差的航迹自动控制算法
一种非圆旋转工件支撑装置控制算法
基于ARM的高精度测温系统设计与实现