基于继电反馈PID 自整定的加热系统

2024-03-18 05:13王晓忠
科技创新与应用 2024年7期
关键词:设定值触摸屏测温

王晓忠

(江苏联合职业技术学院无锡立信分院,江苏 无锡 214153)

PID(Proportional Integral Derivative)控制是工业过程中一种比较常见的控制方法,其将偏差(给定值和实际输出值的差)的比例P、积分I、微分D,通过线性组合构成控制量,用在被控对象。

1922 年,米罗斯基对PID 给出了控制规律公式,多年之后,自动控制器被设计出来;1942 年以后,PID控制器的各种算法被研究出来,得到了广泛的应用。1984 年Astrom 等提出基于继电反馈自整定的方法,通过继电控制使系统产生振荡,得到临界比例系数Ku和振荡周期Tu。然后根据Ziegler-Nichols(Z-N)整定公式,计算出有关PID 的各个参数[1-3]。经过多年国内外对PID 控制算法的研究,现在逐渐向人工神经网络等多种复合控制多方面发展,以获得更好的控制效果。

某工厂需要一种小型的加热温控设备用于某种液体的调温控制;由于电加热系统具有较大的惯性滞后,被加热液体化学反应比较复杂,具有时变、非线性的特点;加热控制过程比较复杂,由人工整定得不到理想的PID 控制参数,需要研究自整定控制算法,以获得比较好的温控效果。

1 加热系统的硬件设计

1.1 PID 自整定硬件电路设计概述

本设计基于STM32F103C8T6 单片机,主要由触摸屏模块、电源模块、过零触发模块和测温模块等组成。各模块之间的关系如图1 所示。

图1 PID 自整定加热系统框图

加热温度由触摸屏输入,通过485 接口传输给SMT32 核心板;STM32 核心板通过检测市电过零点的时刻控制固态继电器进行过零点功率调节,从而准确控制加热系统对液体的加热。在加热过程中,通过测温系统,实时把温度数值反馈给STM32 核心板,用于PID的调节,同时温度曲线显示在触摸屏的界面中。在调试的时候,计算机通过RS232 串口把指令发送给STM32核心板,用于改变工作状态和查看系统运行情况,以便更好地调整系统。

在系统工作的时候,触摸屏和单片机之间用Modbus-RTU 通信协议;测温系统和单片机之间用SPI通信协议;计算机和单片机之间用RS232 通信协议。单片机采用外部中断的上升沿触发和下降沿触发检测市电过零点。为了更好地处理各部分之间的关系,STM32 单片机采用ProtoThread 机制编制程序。

1.2 各主要模块工作原理

1.2.1 过零触发模块

在加热系统中,采用可控硅进行功率调节,通过过零触发控制市电电压波形出现的次数控制可控硅输出的功率。过零触发,降低了谐波分量,输出的线性较好,能比较准确地控制输出功率的百分比,在控制中通过记录过零的次数就可以方便地计算出输出的功率比。

在图2 中,220 V 交流电经过整流后在波形上半周使PC817 导通,触发单片机中断,在波形下半周,使光隔关断,单片机外部中断引脚由高电平变为低电平,再一次触发单片机中断,每个周期单片机外部中断2 次;在波形每次过零点都可以比较准确地控制可控硅的通断,从而比较准确地控制加热系统的输出功率比。

图2 过零监测电路

1.2.2 测温模块

测温电路实时检测液体的温度。采用PT100 作为温度传感器,金属铂(PT)的电阻值随温度的变化而变化,并具有良好的稳定性和重现性,PT100 在-200 ℃~+850 ℃内测温精确、线性度比较好,且不需要冷端补偿。电路采用1 mA 的激励源,因为PT100 输出信号比较小,需要采用放大器进行信号处理[4]。选用Microchip 精密运放MCP609,其具有80 pA 的低输入偏置电流。

如图3(a)所示,由2 个运放构成了一个1 mA 的电流源,电流的精度取决电阻R13 的精度,电流计算公式如下

图3 测温模块示意图

在电压一定的情况下,电流的精度取决于R13 电阻的精度。系统中R13 选取金属箔无感低温漂5 ppm的电阻。

PT100 采用3 线制传感器,如图3(b)所示,图中RW1、RW2、RW3为PT100 的线阻,运放U79D 为差分输入,同相输入端电压为

反向输入端电压为

假定PT100 线阻RW1=RW3,则有VRW1=VRW3,电路中选取R16=R17,则输出电压为

从上面推导可以看出,运放U79D 消除了PT100线阻的影响。运放U79C 和周边电路组成了带增益的Sallen-Key 滤波器电路,考虑到温度变化比较缓慢截止频率设置为2 Hz 左右。

PT100 信号经过放大处理后,送到AD 采集输入端,其示意图如图3(c)所示。经过AD 芯片多次采集后,求取平均值作为传感器的输出值。AD 芯片采用TI公司ADS1256 芯片,该器件具有24 位△-Σ型高性能模数转换器,高达23 bit 的无噪声精度、数据速率高达30 kSPS(次采样/秒)、±0.001 0%非线性特性(最大值)。ADS1256 芯片通过SPI 接口和STM32 单片机相连进行数据通信。ADS1256 芯片按照官方手册推荐电路进行外围器件的配置,以保证芯片的采集精度。

1.2.3 其他模块的配置

触摸屏采用MCGS,屏幕通过RS485 和STM32 单片机相连接,采用Modbus-RTU 协议进行通信,MCGS触摸屏设置了多个界面,如测试界面、实时温度曲线界面、历史温度曲线界面和PID 参数读/写界面等,以方便操作及观察设备的运行状态。STM32 通过RS232 接口和电脑进行通信,用于数据的传输;电源模块把220 V 交流电通过AC-TO-DC 模块变为DC+5 V,然后通过DC-TO-DC 模块变为DC+3.3 V 供给系统使用;加热系统采用普通的220 V 电热棒进行加热,外部设置了过流和过热等硬件保护电路,以保护加热系统的安全。

2 继电自整定相关原理

2.1 PID 算法简介

PID 调节器是一种线性调节器,如图4 所示,其将给定值r(t)与实际输出值c(t)的偏差e(t)的比例(P)、积分(I)、微分(D)通过线性组合构成控制量,通过执行机构对控制对象进行控制[5-11]。

图4 PID 控制系统框图

其中偏差e(t)与输出u(t)的关系为

式中:Kp×e(t)为比例部分为积分部分;为微分部分。这3 部分共同控制调节系统以达到预设目标。

为了便于计算机的采集和控制,对公式进行离散化处理,以T作为采样周期,k作为采样序列号,则离散采样时间kT对应着连续时间t,用矩形法数值积分近似代替积分,用一阶后向差分近似替代微分得

式中:k为采集序号,k=0,1,2,3…;uk为第k次采样时刻的计算机输出值;ek为第k次采集时刻输入的偏差值;ek-1为第k-1 次采集时刻输入的偏差值;Ki=Kp×T/Ti为积分系数;Kd=Kp×Td/T为微分系数。

在采集过程中周期T足够小,则离散的PID 表达式近似计算可以获得足够精度的结果,离散控制过程与连续过程十分接近。

2.2 继电反馈特性分析

Astrom 和Hagglund 在1984 年提出基于继电反馈的PID 参数整定法;在自整定方法中引入继电反馈控制(图5)。

图5 继电反馈控制示意图

由图5 所示,在继电反馈框图中,当开关K 在b端为继电反馈系统;r为设定值,e为偏差,u为控制输入,GP为被控对象传递函数,y为控制输出;回路中放置一个幅值为d的继电环节。计算e(t)=r(t)-y(t),当e(t)>=0 时,取控制量u(t)为最大值d;当e(t)<0 时,取控制量u(t)为最小值-d。不同的控制量在切换继电控制回路的时候,产生一个周期为Tu的极限振荡;此时继电反馈实验测得的极限振荡频率ωu为

从Fourier series 展开来看,可以认为输出振荡的幅值a为继电输出的主谐波。此时极限增益Ku可以近似地认为

式中:d为继电的高度,可以根据实际情况进行设定。

开关K 在b 端时,通过继电反馈计算出极限振荡周期Tu和极限增益Ku。然后根据表1 可知,Z-N 参数整定规则计算出有关参数。

表1 Z-N 参数整定表

开关K 合在a 端时,根据不同被控对象的动态特性和控制响应要求;在表1 中选择不同的控制形式,计算出各个参数,对系统进行PID 调节[9]。

如图5 所示,在继电输入和输出波形图中,当y(t)的值小于设定值r时,继电输出为d,系统全速加热;当y(t)的值大于设定值r时,继电输出为-d,系统不加热自然散热(有些设备需要强制冷却),由于继电输入在最大值和最小值之间变换,使输出产生振荡。在实际测量时,因为第一个振荡波形不稳定,不能准确地反映出系统的正常工作情况,需要从第二个波形开始计算有关参数,在t1 时刻记录峰值数值,在t2 时刻记录谷值数值,(峰值+谷值)/2=a(公式(8)中输出振荡的幅值a)。在第二个波形中2 个相邻过零点的时间就是Tu/2(振荡周期),振荡周期也可以表示为:Tu=2(t2-t1)。

假如选取表1 中PID(原始Z-N 法)的控制形式:Kp=Ku/1.7,Ti=Tu/2,Td=Tu/8,根据公式(6)—(8)可得

根据公式(9)可以计算出PID 调节的比例系数,公式(10)为积分系数,公式(11)为微分系数,根据这3 个系数就可以进行PID 调节;所以继电振荡的PID 参数自整定算法可归纳如下[6-11]。

第一,启动自整定(图5 中开关K 合在b 端)。

第二,计算e(t)=r(t)-y(t),当e(t)>0 时,选取控制量为最大(图5 中幅值d);当e(t)<0 时,选取控制量为最小值(图5 中幅值-d)。参数d(继电特性的幅值)根据不同系统取值不同。

第三,根据图5 中的y1、y2、t1 和t2 的值计算极限振荡的Ku及Tu。

第四,根据不同的控制形式,用Z-N 参数整定表(表1)计算PID 参数的值。

第五,退出自整定过程,转入PID 控制模式(图5中开关K 合在a 端)。

3 软件设计

STM32 单片机程序采用C 语言编制,利用ProtoThread 机制处理各个模块之间的关系。PID 继电自整定子程序流程如图6 所示。

图6 自整定子程序流程图

在图6 中,SV为设定温度,PV为测量温度,C用来记录实际循环次数,NO. 为根据不同的情况设置的循环次数。在自整定的时候如果连续3~5 次波峰y1(图5)的值偏差在30%以内,系统软件判定系统振荡成功,系统自整定成功。在自整定过程中可以让系统多次振荡求取Ku和Tu的平均值,这样更能准确地反映出系统的工作状态。系统根据测量值和设定值的关系对参数进行控制,在测量时为了得到准确的测量温度值,STM32 单片机控制ADS1256 芯片每次采集5个数据,去掉采集数据中的最大值和最小值,其余求平均值作为一个数据;然后软件采用递推平均滤波法:把连续取得的N个数据值排成队列,每次得到的一个新数据放入队尾,并扔掉原来队首的一个数据(先进先出原则);把队列中的数据求取平均值,作为新的滤波结果,这样处理就能比较准确地测试出当前温度。

在程序自整定的开始时刻由于设定值和测量值的不同,原始状态可以分为SV>=PV和SV<PV两种状态;测量时,在求取y1、y2、t1 和t2 时,第一个峰值有时是波峰,有时是波谷,程序需要做出一定的判断。

在切换到PID 控制的时候,设置最大和最小温度值,当检测到当前温度小于最小温度的时候需要全速加热,反之需要停止加热;当前温度在范围内,则进行PID 调节。在PID 调节过程中,设置温度死区范围,如果偏差在死区范围内,则保持当前的输出不变;如果在偏差范围以外,则进行PID 调节。

4 结束语

系统设定好温度后,开始自整定,经过3 个震荡周期后自动计算出有关参数,经过系统PID 调节,温度能平稳地稳定在设定值附近。工作时可以通过MCGS 触摸屏实时监控测试设备的各个参数,也可对有关参数进行修改,用于调节控制系统,从而达到理想状态。系统整定完成后,主要参数会自动记录在单片机中,下次加热液体时可以直接进入PID 调节状态;如果液体成分发生改变,也可以重新整定有关参数,设备操作灵活,适应性强。

经过多次测试后表明,系统稳定后,加入一定量的低温液体或者加入一定量的高温液体,经过系统PID自动调节,能快速重新稳定在设定值附近;系统稳定后,把设定温度适当地提高或者降低,系统能平稳地过渡到新的工作点附近。自整定算法,能在1 h 内整定出比例、积分、微分系数;其工作可靠,能够克服加热系统的过程滞后、惯性滞后和液体复杂的时变性;在PID 控制的时候,能使温度偏差控制在±0.3 ℃以内;系统温度控制误差较小,获得较满意的控制效果,达到了设计指标,满足厂家提出的要求。

猜你喜欢
设定值触摸屏测温
冷轧镀锌光整机延伸率控制模式的解析与优化
PLC和触摸屏在卫生间控制系统的应用
基于WiFi无线通信测温系统的设计
皮肤“长”出触摸屏
变压器光纤测温探头的安装固定
基于DS18B20的单片机测温系统
西气东输二线人机交互界面的防呆系统
目标设定值传感器的原理与检修
对工频耐压试验跳闸电流设定值问题的探讨
投射式多点触控电容触摸屏