pid是什么,pid是什么意思

:偏差

对于所谓的位置式,增量式的算法,这两者只是在算法的实现上的存在差异,本质的控制上对于系统控制的影响还是相同,单纯从输入和输出的角度来比较,具体如下表所示;

这里简单的说明一下;

位置式:位置式算法较为简单,直接输入当前的偏差

,即可得到输出

增量式:增量式算法需要保存历史偏差,

,即在第

次控制周期时,需要使用第

和第

次控制所输入的偏差,最终计算得到

,此时,这还不是我们所需要的PID输出量;所以需要进行累加;

不难发现第一次控制周期时,即

时;

由以上公式我们可以推导出下式;

所以可以看出,最终PID的输出量

,满足以下公式;

可见增量式算法,就是所计算出的PID增量的历史累加和;

pid是什么,pid是什么意思 第2张

2 举个例子

2.1 位置式PID

下面从一个简单的例子中去理解一下增量式,这里依然举一个不是很恰当的例子;如果是位置式PID算法的话:

隆哥对一个直流电机进行调速,设定了转速为1000;

这时由于反馈回来的速度和设定的速度偏差为

经过位置式PID计算得到

作为Process的输入值(可以是PWM的占空比),最终Process输出相应的PWM驱动直流电机;

反馈装置检测到电机转速,然后重复以上步骤;

整体框图如下所示;

pid是什么,pid是什么意思 第2张

2.2 增量式PID

对于增量式PID来说;

隆哥对一个直流电机进行调速,设定了转速为1000;

这时由于反馈回来的速度和设定的速度偏差为

,系统中保存上一次的偏差

和上上次的偏差

,这三个输入量经过增量PID计算得到

系统中还保存了上一次的PID输出的

,所以

加上增量

,就是本次控制周期的PID输出——

作为Process的输入值(可以是PWM的占空比),最终Process输出相应的PWM驱动直流电机;

反馈装置检测到电机转速,然后重复以上步骤;

整体框图如下所示;

pid是什么,pid是什么意思 第2张

所以这里不难发现,所谓增量式PID,它的特点有:

需要输入历史的偏差值;

计算得到的是PID输出增量,因此每一次需要累加历史增量最为当前的PID输出;

下面简单介绍一下如何实现增量式PID算法;

3 伪算法

4 C语言实现

这里直接使用了公司的PID算法,做了积分抗饱和;具体可以参考

具体代码如下所示;

5 总结

本文简单总结了位置式PID算法和增量式PID算法的差异,参考了TI公司的增量式PID算法实现,对于不同的控制对象可以根据系统要求选择合适的PID算法。