打印
[应用相关]

理解STM32控制中常见的PID算法

[复制链接]
1133|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
两只袜子|  楼主 | 2024-6-14 15:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  分享本文,总结万能的PID算法。
PID的数学模型
在工业应用中PID及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法,如果能够熟练掌握PID算法的设计与实现过程,对于一般的研发人员来讲,应该是足够应对一般研发问题了,而难能可贵的是,在很多控制算法当中,PID控制算法又是最简单,最能体现反馈思想的控制算法,可谓经典中的经典。经典的未必是复杂的,经典的东西常常是简单的,而且是最简单的。



PID算法的一般形式
PID算法通过误差信号控制被控量,而控制器本身就是比例、积分、微分三个环节的加和。这里我们规定(在t时刻):



1.输入量为图片



2.输出量为图片


3.偏差量为 图片图片


PID算法的数字离散化
假设采样间隔为T,则在第K个T时刻:



偏差= 图片



积分环节用加和的形式表示,即: 图片


微分环节用斜率的形式表示,即:图片


PID算法离散化后的式子: 图片


则可表示成为:
图片
其中式中:


比例参数图片:控制器的输出与输入偏差值成比例关系。系统一旦出现偏差,比例调节立即产生调节作用以减少偏差。

特点:过程简单快速、比例作用大,可以加快调节,减小误差;但是使系统稳定性下降,造成不稳定,有余差。



积分参数图片:积分环节主要是用来消除静差,所谓静差,就是系统稳定后输出值和设定值之间的差值,积分环节实际上就是偏差累计的过程,把累计的误差加到原有系统上以抵消系统造成的静差。


微分参数图片:微分信号则反应了偏差信号的变化规律,或者说是变化趋势,根据偏差信号的变化趋势来进行超前调节,从而增加了系统的快速性。


PID的基本离散表示形式如上。目前的这种表述形式属于位置型PID,另外一种表述方式为增量式PID,由上述表达式可以轻易得到:图片


那么:图片


上式就是离散化PID的增量式表示方式,由公式可以看出,增量式的表达结果和最近三次的偏差有关,这样就大大提高了系统的稳定性。需要注意的是最终的输出结果应该为:输出量 = 图片+ 增量调节值。


目的
PID 的重要性应该无需多说了,这个控制领域的应用最广泛的算法了。本篇文章的目的是希望通过一个例子展示算法过程,并解释以下概念:



(1)简单描述何为PID?为何需要PID?PID 能达到什么作用?



(2)理解P(比例环节)作用:基础比例环节。



缺点:产生稳态误差。



疑问:何为稳态误差 为什么会产生稳态误差。



(3)理解I(积分环节)作用:消除稳态误差。



缺点:增加超调



疑问:积分为何能消除稳态误差?



(4)理解D(微分环节)作用:加大惯性响应速度,减弱超调趋势



疑问:为何能减弱超调?



(5)理解各个比例系数的作

图片



何为PID以及为何需要PID?
以下即PID控制的整体框图,过程描述为:



设定一个输出目标,反馈系统传回输出值,如与目标不一致,则存在一个误差,PID根据此误差调整输入值,直至输出达到设定值






疑问:那么我们为什么需要PID呢,比如我控制温度,我不能监控温度值,温度值一到就停止吗?



这里必须要先说下我们的目标,因为我们所有的控制无非就是想输出能够达到我们的设定,即如果我们设定了一个目标温度值,那么我们想要一个什么样的温度变化呢?


比如设定目标温度为30度,目标无非是希望达到图1希望其能够快速而且没有抖动的达到30度。


那这样大家应该就明白,如果使用温度一到就停止的办法,当然如果要求不高可能也行,但肯定达不到图1这样的要求,因为温度到了后余温也会让温度继续升高。而且温度自身也会通过空气散热的。



图片

系统输出的响应目标



综上所述,我们需要PID的原因无非就是普通控制手段没有办法使输出快速稳定的到达设定值。




控制器的P、I、D项选择
下面将常用的各种控制规律的控制特点简单归纳一下:



(1)比例控制规律P:采用P控制规律能较快地克服扰动的影响,它的作用于输出值较快,但不能很好稳定在一个理想的数值,不良的结果是虽较能有效的克服扰动的影响,但有余差出现。它适用于控制通道滞后较小、负荷变化不大、控制要求不高、被控参数允许在一定范围内有余差的场合。如:金彪公用工程部下设的水泵房冷、热水池水位控制;油泵房中间油罐油位控制等。



(2)比例积分控制规律(PI):在工程中比例积分控制规律是应用最广泛的一种控制规律。积分能在比例的基础上消除余差,它适用于控制通道滞后较小、负荷变化不大、被控参数不允许有余差的场合。如:在主线窑头重油换向室中F1401到F1419号枪的重油流量控制系统;油泵房供油管流量控制系统;退火窑各区温度调节系统等。



(3)比例微分控制规律(PD):微分具有超前作用,对于具有容量滞后的控制通道,引入微分参与控制,在微分项设置得当的情况下,对于提高系统的动态性能指标,有着显著效果。因此,对于控制通道的时间常数或容量滞后较大的场合,为了提高系统的稳定性,减小动态偏差等可选用比例微分控制规律。如:加热型温度控制、成分控制。需要说明一点,对于那些纯滞后较大的区域里,微分项是无能为力,而在测量信号有噪声或周期性振动的系统,则也不宜采用微分控制。如:大窑玻璃液位的控制。



(4)例如积分微分控制规律(PID):PID控制规律是一种较理想的控制规律,它在比例的基础上引入积分,可以消除余差,再加入微分作用,又能提高系统的稳定性。它适用于控制通道时间常数或容量滞后较大、控制要求较高的场合。如温度控制、成分控制等。



鉴于D规律的作用,我们还必须了解时间滞后的概念,时间滞后包括容量滞后与纯滞后。其中容量滞后通常又包括:测量滞后和传送滞后。测量滞后是检测元件在检测时需要建立一种平衡,如热电偶、热电阻、压力等响应较慢产生的一种滞后。而传送滞后则是在传感器、变送器、执行机构等设备产生的一种控制滞后。纯滞后是相对与测量滞后的,在工业上,大多的纯滞后是由于物料传输所致,如:大窑玻璃液位,在投料机动作到核子液位仪检测需要很长的一段时间。



总之,控制规律的选用要根据过程特性和工艺要求来选取,决不是说PID控制规律在任何情况下都具有较好的控制性能,不分场合都采用是不明智的。如果这样做,只会给其它工作增加复杂性,并给参数整定带来困难。当采用PID控制器还达不到工艺要求,则需要考虑其它的控制方案。如串级控制、前馈控制、大滞后控制等。



Kp、Ti、Td三个参数的设定是PID控制算法的关键问题,相关视频请移步:演示PID三个参数的控制作用。一般说来编程时只能设定他们的大概数值,并在系统运行时通过反复调试来确定最佳值。因此调试阶段程序必须得能随时修改和**这三个参数。





数字PID控制器
(1)模拟PID控制规律的离散化  



图片



(2)数字PID控制器的差分方程



图片





参数的自整定
在某些应用场合,比如通用仪表行业,系统的工作对象是不确定的,不同的对象就得采用不同的参数值,没法为用户设定参数,就引入参数自整定的概念。实质就是在首次使用时,通过N次测量为新的工作对象寻找一套参数,并**下来作为以后工作的依据。具体的整定方法有三种:临界比例度法、衰减曲线法、经验法。



1、临界比例度法(Ziegler-Nichols)



1.1 在纯比例作用下,逐渐增加增益至产生等副震荡,根据临界增益和临界周期参数得出PID控制器参数,步骤如下:



(1)将纯比例控制器接入到闭环控制系统中(设置控制器参数积分时间常数Ti =∞,实际微分时间常数Td =0)。



(2)控制器比例增益K设置为最小,加入阶跃扰动(一般是改变控制器的给定值),观察被调量的阶跃响应曲线。



(3)由小到大改变比例增益K,直到闭环系统出现振荡。



(4)系统出现持续等幅振荡时,此时的增益为临界增益(Ku),振荡周期(波峰间的时间)为临界周期(Tu)。



(5) 由表1得出PID控制器参数。



图片

表1



1.2  采用临界比例度法整定时应注意以下几点:

(1)在采用这种方法获取等幅振荡曲线时,应使控制系统工作在线性区,不要使控制阀出现开、关的极端状态,否则得到的持续振荡曲线可能是“极限循环”,从线性系统概念上说系统早已处于发散振荡了。

(2)由于被控对象特性的不同,按上表求得的控制器参数不一定都能获得满意的结果。对于无自平衡特性的对象,用临界比例度法求得的控制器参数往往使系统响应的衰减率偏大(ψ>0.75 )。而对于有自平衡特性的高阶等容对象,用此法整定控制器参数时系统响应衰减率大多偏小(ψ<0.75 )。为此,上述求得的控制器参数,应针对具体系统在实际运行过程中进行在线校正。

(3) 临界比例度法适用于临界振幅不大、振荡周期较长的过程控制系统,但有些系统从安全性考虑不允许进行稳定边界试验,如锅炉汽包水位控制系统。还有某些时间常数较大的单容对象,用纯比例控制时系统始终是稳定的,对于这些系统也是无法用临界比例度法来进行参数整定的。

(4)只适用于二阶以上的高阶对象,或一阶加纯滞后的对象,否则,在纯比例控制情况下,系统不会出现等幅振荡。

1.3  若求出被控对象的静态放大倍数KP=△y/△u ,则增益乘积KpKu可视为系统的最大开环增益。通常认为Ziegler-Nichols闭环试验整定法的适用范围为:图片


(1) 当KpKu > 20时,应采用更为复杂的控制算法,以求较好的调节效果。
(2)当KpKu < 2时,应使用一些能补偿传输迟延的控制策略。
(3)当1.5 <KpKu< 2时,在对控制精度要求不高的场合仍可使用PID控制器,但需要对表1进行修正。在这种情况下,建议采用SMITH预估控制和IMC控制策略。
(4)当KpKu< 1.5时,在对控制精度要求不高的场合仍可使用PI控制器,在这种情况下,微分作用已意义不大。



2、衰减曲线法



衰减曲线法与临界比例度法不同的是,闭环设定值扰动试验采用衰减振荡(通常为4:1或10:l),然后利用衰减振荡的试验数据,根据经验公式求取控制器的整定参数。整定步骤如下:

(1)在纯比例控制器下,置比例增益K为较小值,并将系统投入运行。



(2)系统稳定后,作设定值阶跃扰动,观察系统的响应,若系统响应衰减太快,则减小比例增益K;反之,应增大比例增益K。直到系统出现如下图(a)所示的4:1衰减振荡过程,记下此时的比例增益Ks及和振荡周期Ts数值。



图片



(3)利用Ks和Ts值,按下表给出的经验公式,计算出控制器的参数整定值。     



图片



(4)10:1衰减曲线法类似,只是用Tr带入计算。



采用衰减曲线法必须注意几点:

(1)加给定干扰不能太大,要根据生产操作要求来定,一般在5%左右,也有例外的情况。
(2)必须在工艺参数稳定的情况下才能加给定干扰,否则得不到正确的整定参数。
(3)对于反应快的系统,如流量、管道压力和小容量的液位调节等,要得到严格的4:1衰减曲线较困难,一般以被调参数来回波动两次达到稳定,就近似地认为达到4:1衰减过程了。
(4)投运时,先将K放在较小的数值,把Ti减少到整定值,把Td逐步放大到整定值,然后把K拉到整定值(如果在K=整定值的条件下很快地把Td放到整定值,控制器的输出会剧烈变化)。

使用特权

评论回复
沙发
EmmaTT| | 2024-6-18 21:41 | 只看该作者
这个pid算法是很常用的了

使用特权

评论回复
板凳
wangtaohui| | 2024-6-28 13:40 | 只看该作者
确实是很常用有万能的PID算法,不过本文中的图片都没有呢。

使用特权

评论回复
地板
是你的乱码| | 2024-8-31 13:50 | 只看该作者
PID控制算法以其简单有效和广泛适用性,成为了工业控制中最常用的算法之一。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2055

主题

7455

帖子

10

粉丝