PID控制入门原理(通俗易懂版)(pid控制简介)

2023-03-05 20:53:54

 

PID控制器(比例-积分-微分控制器),由比例单元(Proportional)、积分单元(Integral)和微分单元(Derivative)组成可以透过调整这三个单元的增益来调定其特性PID控制器主要适用于基本上线性,且动态特性不随时间变化的系统。

1. 比例单元 以保持水缸水位为例子,最终的控制目的是要保持水位在1米的高度假设初始时刻,水缸里的水位是0.2米,那么当前时刻的水位和目标水位之间是存在一个误差、error,为0.8这个时候,假设旁边站着一个人,这个人通过往缸里加水的方式来控制水位。

如果单纯的用比例控制算法,也就是说加入的水量u和误差error是成正比,即u=Kperroru=K_perror 假设KpK_p 为0.5,那么t=1时(表示第1次加水),那么u=0.5*0.8=0.4,所以这一次加入的水量会使水位在0.2的基础上上升0.4,达到0.6。

接着,t=2时刻(第2次施加控制),当前水位是0.6,所以error是0.4u=0.5*0.4=0.2,会使水位再次上升0.2,达到0.8 如此这么循环下去,就是比例控制算法的运行方法这种情况下,只用一个比例单元控制的方法,就可以达到目的了。

只不过达到error=0的时间完全由KpK_p 决定再来看一个更复杂一点的情况,假设这个水缸在加水的过程中,存在漏水的情况 假设每次加水的过程,都会漏掉0.1米高度的水仍然假设 KpK_p 取0.5,那么会存在着某种情况,假设经过几次加水,水缸中的水位到0.8时,水位将不会再变换!因为,水位为0.8,则误差error=0.2。

所以每次往水缸中加水的量为u=0.5*0.2=0.1同时,每次加水,缸里又会流出去0.1米的水,加入的水和流出的水相抵消,水位将不再变化! 也就是说,我的目标是1米,但是最后系统达到0.8米的水位就不再变化了,且系统已经达到稳定。

此时水位与目标水位的差就是稳态误差了 若要让受控输出为非零的数值,就需要有一个稳态误差或偏移量稳态误差和比例增益的成反比若加入一偏置,或是加入积分控制,即提前多加一点水,就可以消除稳态误差2. 积分单元。

我们控制时,为了消除上述稳态误差,考虑过去误差项将误差值过去一段时间和(即历史误差和)乘以一个常数 KiK_i 我们上述的例子中,如果它不停漏水,也就是说误差(error)=设定值(SP)- 回授值(PV),一直是2。

那么历史的累计误差和,就是正的这个时候,为了消除稳态误差,我们就乘以一个正的常数 KiK_i ,这样u(t),的值就增大了,也就是说考虑漏水,所以我们提前加入加更多的水u(t)=Kperror(t)+K

i∫0terror(t)dtu(t)=K_perror(t)+K_i\int_{0}^{t}error(t)dt当水加的太多了,error就会变成正的,即加的水位比设定水位高,这一项的值就变成负的最后,这一积分项的值就会正负正负的,。

来回振荡,直至历史误差累积和为0,这一项就会一直是03. 微分单元微分单元主要是在比例单元上做一个修正比例单元控制的变化率是一个常速,就是说加水的量除以误差量,比例是固定的为了更加稳定,在快要接近设定水位时,我们想让加水的速度慢一点。

这时候,就需要微分单元了u(t)d=Kdde(t)/dtu(t)_d=K_dde(t)/dt可以发现这个量取决于,误差随时间的导数,导数越小,这个值越小最后,把比例、积分、微分三项,加起来,就得到总的控制公式,为。

u(t)=Kperror(t)+Ki∫0terror(t)dt+Kdd[error(t)]/dtu(t)=K_perror(t)+K_i\int_{0}^{t}error(t)dt+K_dd[error(t)]/dt

参考链接wiki​zh.wikipedia.org/wiki/PID%E6%8E%A7%E5%88%B6%E5%99%A8确定有穷自动机:PID控制算法原理(抛弃公式,从本质上真正理解PID控制)6633 赞同 · 257 评论

文章最后,码字不易,如果觉得对你有用,请点个赞吧!


以上就是关于《PID控制入门原理(通俗易懂版)(pid控制简介)》的全部内容,本文网址:https://www.7ca.cn/baike/1852.shtml,如对您有帮助可以分享给好友,谢谢。
标签:
声明

排行榜