pid算法c语言程序,pid控制python实现
今天写文档的时候看到流程图里有PID算法。我莫名其妙地熟悉了它。我检查了它是一个过程控制算法。对不起大学里的自动控制理论老师-_-!
过程控制中的PID算法,按偏差比例(P)、积分(I)、微分(D)进行控制的PID控制器(也叫PID调节器),是应用最广泛的自动控制器。PID控制器是针对过程控制的典型控制对象——“一阶滞后纯滞后”和“二阶滞后纯滞后”的最优控制。审查完毕。
PID算法一般用于快速将当前值设定到目标值,也是一种校正算法。
P算法是比例控制,也叫微分控制,其公式为:
E(t)是偏差值,u(t)是输出值,Kp是比例系数。
其比例系数需要适度选取;
比例系数过小,控制效果弱,使用性差;
如果比较系数过大,稳定性变差,容易引起振荡。
适用场景:系统扰动和滞后小,目标值允许有一定余量。
PI算法为比例积分控制,其公式为:
PI算法在P算法的基础上增加积分控制,Ti为积分时间常数。作为累积的残差,只要系统存在误差,积分函数就会存在。
积分系数与积分成反比。
如果积分系数过小,系统的超调量会增大,可能导致系统振荡。
如果积分系数过大,系统趋于稳态值的速度会减慢。
PID算法是比例积分微分控制算法,其公式为:
PID算法在PI算法中加入微分控制,TD为微分系数。对于电流偏差变化率,微分控制提高了系统的相应速度。
其微分系数与微分作用成正比。
微分系数越大,系统的响应速度越快,调节时间越短。因此,它不适用于系统变化缓慢的差速器。
应用场景:当一个非线性系统需要调整时,设置当前系统值为A,系统目标值为B;并且偏差为e(t)=a-b;所需的变化值为u(t);设系统采样时间为t;
首先根据选择合适的比例系数Kp,根据上次采样的偏差值和本次采样的偏差值粗略计算中间基类的残差,选择合适的积分系数Ti进行积分控制;用上次偏差值和本次偏差值计算偏差速度的变化,选择合适的微分自定义TD进行微分控制。
在实际中,如果只是简单地想给出输出校准值,就不需要积分控制。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。