首页 常识

pid控制算法原理及作用(PID控制算法重要性你了解吗?)

100人浏览   2024-09-02 10:37:04


PID原理图

PID原理,下面这个原理图当成3个部分看,很简单,第一部分就是计算设定值和反馈值的误差;第二部分把这个误差参与PID计算,输出给执行机构(例如水泵);第三部分传感器反馈值;核心就是第二部分,PID计算!

教科书里的原理图

我理解分成三部分

PID计算

PID计算拆分开来就是P(比例控制),I(积分控制),D(微分控制);下面每个原理都讲解下!


P(比例控制)怎么理解呢,如果单独只用P(比例)控制,I(积分控制)和D(微分控制)关闭,那么拿水箱举例,水箱里我想恒定水量为1000ml,传感器检测到水量为999ml,那么设定值和反馈值的误差为1ml,比例控制就是在这1ml前面加个系数,这个系数自己调节,因为正常思路是,少1ml水,我就让水泵加1ml水就行,但是实际是,我让水泵加1ml,实际可能加了2ml(无法精确的让水泵出来1ml水),这个时候我就得调整比例系数,让比例系数为0.5就行!

PID标准公式里的Kp就是比例系数,ev(t)就是设定值减反馈值的偏差值,如下图,如果只有比例控制部分,那么公式很简单,就是u(t)=Kp*ev(t);

PID公式


I(积分控制)怎么理解呢?学过微积分的都知道积分是啥意思,没学过的或忘了的就顾名思义吧,(积)就是积木,累积的意思,拿水箱举例,那就是水泵加很多次水的一个累积总和!

假如水箱里我们设定恒定值是1000ml,水泵每次只能调节到进水9.9ml;

如果水箱没水,那么水泵需要运行100次,一共进水990ml,误差10ml;

理论上水泵如果每次能进水10ml,那么就刚刚好到设定值,实际每次只进水9.9ml,这个0.1ml,靠调整水泵很难达到这个精度,那么我们就取100次进水的总和,再看误差;

100次进水990ml,这个总误差10ml就好补偿了,通过调整I(积分控制)计算部分的系数TI就可以,把TI设为0.99即可!

如下图的PID公式里的积分控制部分!

PID公式


D(微分控制)怎么理解呢?也就是微积分里面的微分部分,顾名思义就是把水泵加水量细分到每一次;

比如水泵加水,每次想加10ml,但是如果水泵功率开到最大,1秒就加了10ml,水泵功率开小点需要10秒;

实际应用中,想1秒加10ml的误差肯定比10秒加10ml的要大,就是说水泵慢慢往水箱加水,实际应用中精度会更高,加水过程更稳定。

通过下图PID公式里的微分控制计算部分的系数TD可以调节!

PID公式

总结一下:

P调节的是误差值和水泵每次进水量成比例关系的调节,就是说水泵每次加水量是一定的,需要加多少次能接近误差值,这个在PID调节中是第一个需要调的参数!

I调节的是P调节后还存在误差的情况下的再次调节,靠调节累积误差增加精度!

D调节的是稳定性,通过控制加水速度,减少滞后量或惯性带来的误差!


PID控制的原理就如上面所述,下面讲一下PLC程序里PID标准功能块是怎么写的,用的ST语言,可以在支持ST的各种型号PLC里使用,有兴趣的可以详细看看,对有精度要求的应用还是很有帮助的,对于之前不是很了解PID控制的朋友,我感觉对于模拟量使用,很多人只无意间用到了P(比例控制)计算部分!

PID计算公式的程序实现

这个程序是上面的PID计算公式的程序实现,有些参数的命名或者公式的格式有变化,但是原理是一样的,有兴趣的仔细研究下,无兴趣的直接使用就行!

调用功能块

调用功能块

PID公式的变形

变成程序可以实现的形式:同样是包含比例系数,积分控制,微分控制三部分,没有初始值设定;

程序里使用的PID公式

输入参数定义:

fSetpointValue:设定值;
fActualValue:实际反馈值;
bReset: TRUE重置内部变量;
fCtrlCycleTime:采样周期[s];
fKp:比例系数;
fTn:积分作用时间[s];
fTv:微分作用时间[s];

fTd:阻尼时间[s];


功能块展现:

声明部分

程序逻辑部分

以上说的是PID应用的基本功能,还有基于这个原理的其它控制方法,有单独使用的,有PI结合使用的,PD结合使用的,有带死区的PID,固定采样频率的PID等等,看实际需要写对应的程序!

PID参数调试经验调节

PID参数调试靠的是经验调节,就是不停的测试,找到一个需要的参数,有口诀如下:

常用口诀:

参数整定找最佳,从小到大顺序查;

先是比例后积分,最后再把微分加;

曲线振荡很频繁,比例(度盘)要放大;

曲线漂浮绕大湾,比例度盘往小扳;

曲线偏离回复慢,积分时间往下降;

曲线波动周期长,积分时间再加长;


相关推荐

鱼香肉丝的食材有哪些 ?分享鱼香肉丝经典做法

汤圆怎么蒸着吃松软香甜。?

电烤箱烤鸡翅多长时间,这个冬日别再错过啦

海米冬瓜的做法 这样做也太好吃了,每天下饭都靠它

油烟机怎么清理油污?只需一个土豆,轻松解决