其他分享
首页 > 其他分享> > 从公式上理解PID

从公式上理解PID

作者:互联网

文章目录

导言

pid在工业上的应用占90%以上。但许多没学过自动控制原理的小伙伴着实难以理解,所以我在这里尽我所能,用简单的高数知识给大家讲一些我自己的理解。由于pid在网上有许多可参考的资料,我这里重点分析pid控制器的稳态误差,这是我当时学习时最难理解的地方。据我所知,在其他对pid的介绍里几乎没有过对这方面的详细解释。所以我这里小谈一番。
如想深入了解pid控制器的原理,可参考自动控制原理。(根轨迹法最容易理解,如不必要,可只看时域法与根轨迹法)
本文只针对单位反馈的系统。
本文属个人理解,可能缺乏严谨性

基础知识

PID的公式推导

y为输出,x为输入。p,i,d分别为比例,积分,微分系数
y=perror(t)+ierror(t)dt+derror(t)y=p*error(t)+i*\int_{}^{}\,error(t)dt+d*error'(t)y=p∗error(t)+i∗∫​error(t)dt+d∗error′(t)
y=p(xy)+i(xy)dt+d(xy)y=p(x-y)+i*\int_{}^{}\,(x-y)dt+d(x'-y')y=p(x−y)+i∗∫​(x−y)dt+d(x′−y′)
y=p(xy)+is(xy)+ds(xy)y=p(x-y)+\frac{i}{s}(x-y)+ds(x-y)y=p(x−y)+si​(x−y)+ds(x−y)
移向后,分离x,y,化简,则可求出输出与输入的关系yx=ds2+ps+ids2+p+1s+i\frac{y}{x}=\frac{ds^2+ps+i}{ds^2+(p+1)s+i}xy​=ds2+(p+1)s+ids2+ps+i​

PID的误差分析

结语

至于pid调参等内容也是很重要的,推荐大家利用matlab仿真,有助于理解。给出matlab代码:

clear,clc;
out=zeros(1,1000);
p=0.5;
i=0.0;
d=0.0;
error=zeros(1,2);
pout=0;
iout=0;
dout=0;
target=20;
for t=2:1000;
    error(2) = error(1);
    error(1) = target - out(t-1);
    
    pout = p(1) * error(1);
    iout = iout + i(1)* error(1);
    dout= d(1) * ( error(1) - error(2));
    
    out(t) = pout + iout + dout;
    
end
tt=1:1000;
plot(tt,out);

标签:误差,控制器,frac,公式,PID,理解,error,稳态,ds
来源: https://blog.csdn.net/qq_45908056/article/details/106978901