从位式控制算法到PID算法

从位式控制算法到PID算法1 0 位式控制算法 控制目的 控制的根本目的就是要使控制对象当前的状态值与用户的设定值相同 最大限度的接近 基本思想 用户设定值 SV 与被控制对象当前的值 PV 两者同时送入由特定硬件电路模型或特定的软件算法组成的控制算法逻辑中 利用不同的控制算法对 SV 和 PV 进行分析 判断 处理

大家好,我是讯享网,很高兴认识大家。

1.0 位式控制算法

控制目的:

 控制的根本目的就是要使控制对象当前的状态值与用户的设定值相同(最大限度的接近)。 

讯享网

基本思想:
用户设定值SV与被控制对象当前的值PV两者同时送入由特定硬件电路模型或特定的软件算法组成的控制算法逻辑中,利用不同的控制算法对SV和PV进行分析、判断、处理,从而产生当前应该输出的控制信号OUT,控制信号经过执行机构施加到控制对象上,从而产生预期的控制效果。

讯享网

1.1 带有回差的位式控制算法

因为控制对象往往具有惯性所以不能在某一阈值上才变动,应在接近阈值的某一位置就开始做处理。(这个偏移我们称之为回差)

1.2 三位式控制算法

特点:在二位式控制的基础上对控制对象的功率分成0功率(停止工作)、半功率、全功率三种情况(即三位)。
当前值低于设定值一定比例(一般10%)时OUT1和OUT2同时起控制作用,控制对象全功率运行;
当前值在设定值的正负10%范围时,OUT1单独作用,工作于半功率状态;
当前值达到或超过设定值时OUT1和OUT2都停止输出,控制对象停止工作。
相对一般二位式控制算法,三位式算法对控制对象的当前状态值做了简单的分析,并根据不同的当前状态值输
出不同的控制信号。能够较好的对输出产生控制效果。

2.0 比例控制算法


1>从系统投入运行开始,控制算法每隔一段时间对被控制对象的状态值进行采样。由此,可得到开机以来由各个采

样时间点被控制对象的状态值所形成的数据序列:

X1,X2, X3, X4, … Xk-2,Xk-1,Xk

说明:

讯享网X1:开机以来的第一次采样值 Xk: 目前的采样值(最近一次的采样值) 

2> 从这个采样值序列中提取出三方面信息:

①当前采样值Xk与用户设定值SV之间的差值:Ek

Ek =Sv - Xk 

分析Ek:

讯享网Ek >0:说明当前状态值未达标 Ek=0:说明当前控制状态值正好满足要求 Ek<0:说明当前状态值已经超标 结论:Ek反应了控制对象当前值与设定值的偏差程度,可以根据Ek的大小对输出信号OUT进行调整:偏差程度大 

OUT增大,偏差程度小OUT减小。即输出信号的强弱与当前偏差程度的大小成比例,所以根据Ek的大小来给出控制信

号OUT的当前值的算法称为比例控制(Proportion)。用数学模型可以表示为:

POUT=(Kp*Ek)+ Out0

Kp:一般称之为比例系数,可以理解为硬件上的放大器(或衰减器),适当选取Kp将当前误差值Ek

按一定的增益放大或缩小,以提高控制算法的相应速度。

Out0:是一个常数,目的是为了当Ek为0时,确保输出信号不为0,以不至于在当前值与设定值相等时控制器输出信号

OUT为0,系统处于无控制信号的失控状态。

2.1积分控制算法

将投入运行以来的各个采样值都与设定值相减,可得到开机以来每个采样时刻的偏差序列数据:

E1,E2,E3 …Ek-2,Ek-1,Ek

说明:

E1:开机的第一个采样点与设定值的偏差

 E1=SV-X1; E2=SV-X2; ...... EK-2=SV-XK-2; EK-1=SV-XK-1; 

Ek: 当前的采样值与设定值的偏差

讯享网 EK=SV-XK 

分析开机以来的误差序列:

 每个偏差值可能有:>0,<0,=0这三种可能的值,因为从开机到现在,控制算法不断输出控制信号对被控对象进行控制,导致了过去这段时间有时候超标(Ex<0),有些时候未达标(Ex>0),有时候正好满足要求(Ex=0);如果将这些偏差值进行累加求代数和得到Sk,即: 

Sk=E1+E2+E3+…+Ek-2+Ek-1+Ek

分析Sk:

Sk>0: 过去大多数时候未达标

Sk=0:过去控制效果较理想

Sk<0: 过去大多数时候已经超标

结论:
1.通过对Sk的分析,可以对控制算法过去的控制效果进行综合评估。体现了控制算法按照原来的方式输出的控制信号导致了现在的控制结果,所以应该利用这个值来对当前要输出的控制信号OUT进行修正,以确保控制对象会在将来的一小段时间尽快达到用户设定的值。
2.Sk实际上是过去每个时间点的误差相加,与数学上的定积分运算类似,因此根据Sk对输出信号进行调节的算法称积分(integral)算法。所以积分控制的数学模型为:
IOUT=(kp* ( (1/Ti) Exdt))+Out0
Kp是一常数,其目的类似硬件上的放大器,用于将Sk放大或衰减;
Out0是一常数,为了在历史积分偏差值为0时确保系统有一个输出值,避免失控;
Ti 是积分时间常数,取值越大会导致输出量OUT会越小,可理解为历史上已经很久的误差值都影响了当前的输出信号。取值越小,输出OUT会越强烈,可理解为积分只考虑了最近一段时间的误差。
实际中,如果系统已经运行“很长”一段时间了,那些早期采样的偏差值可以忽略他们对当前控制的影响,所以应该根据情况选择合理的Ti值方能得到良好的控制效果。

2.2 微分控制算法

讯享网最近两次的偏差之差 Dk Dk=Ek-Ek-1 

说明:

Ek: 当前的偏差

Ek-1: 基于当前的前一个采样时刻的偏差值 (即上一次的偏差值);

分析Dk:

Dk>0:说明从上一采样时刻到当前误差有增大趋势

Dk=0:说明从上一采样时刻到当前误差平稳

Dk<0:说明从上一采样时刻到当前误差有减小趋势

结论:

  1. Dk能够说明从上次采样到当前采样的这段时间被控制对象的状态变化趋势,这种变化的趋势很可能会在一定程度上延续到下一个采样时间点,所以可以根据这个变化趋势(Dk的值)对输出信号OUT进行调整,达到提前控制的目的。
  2. Dk形如数学上的微分运算,反应了控制对象在一段时间内的变化趋势及变化量,所以利用Dk对控制器输出信号进行调节的算法称为微分(differential)算法。可以用数学模型表达为:

DOUT=Kp*(Td(de/dt))+Out0

Kp:为一常数,可理解为硬件上的放大器或衰减器,用于对输出信号OUT的增益进行调整;

Out0:为一常数,为了在Dk为0时确保OUT都有一个稳定的控制值,避免失控。

Td:叫微分时间常数,(犹如硬件上电感器的自感系数)Td越大导致OUT增大,对输出信号产生强烈的影响。

2.3 PID算法

1.比例、积分、微分三种算法的优缺点分析:

POUT=(Kp*Ek)+ Out0 --比例算法

IOUT=kp* ( (1/Ti) Exdt)+Out0 --积分算法

DOUT=Kp*(Td(de/dt))+Out0 --微分算法

比例算法: 只考虑控制对象当前误差,当前有误差才输出控制信号,当前没有误差就不输出控制信号,也就是说只要

偏差已经产生了比例算法才采取措施进行调整,所以单独的比例算法不可能将控制对象的状态值控制在设定值上,始

终在设定值上下波动;但是比例控制反应灵敏,有误差马上就反应到输出。

积分算法:考虑了被控制对象的历史误差情况,过去的误差状况参与了当前的输出控制,但是在系统还没有达到目标

期间,往往会因为这些历史的误差对当前的控制产生了干扰(即拖后腿),使用不当反而搅乱当前的输出。但是在系

统进入稳定状态后,特别是当前值与设定值没有偏差时,积分算法可以根据过去的偏差值输出一个相对稳定的控制信

号,以防止产生偏离目标,起到打预防针的效果。

微分算法:单纯的考虑了近期的变化率,当系统的偏差趋近于某一个固定值时(变化率为0),微分算法不输出信号对

其偏差进行调整,所以微分算法不能单独使用,它只关心偏差的变化速度,不考虑是否有偏差(偏差变化率为0时偏

差不一定是0).但是微分算法能获得控制对象近期的变化趋势,它可以协助输出信号尽早的抑制控制对象的变化。可

以理解为将要有剧烈变化时就大幅度调整输出信号进行抑制,避免了控制对象的大幅度变化。

以上三种算法综合起来产生一个当前的控制量对控制对象进行控制,它们的优缺点互补,即形成经典的PID算法。

Reference

[1]pid控制算法系列(1)常用的控制算法
[2]PID控制算法原理(抛弃公式,从本质上真正理解PID控制)
[3]非常通俗易懂的PID控制(1)
[4]非常通俗易懂的PID控制(2)–积分饱和
[5]非常通俗易懂的PID控制(3)–微分误差控制

小讯
上一篇 2025-01-25 13:40
下一篇 2025-03-05 07:03

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/50978.html