分类: C/C++
2014-07-21 14:58:46
1. 积分分离的PID算法:
控制系统中当偏差较大(如大幅度升降给定值时),其偏差不能很快得到消除,积分项取值很大会导致较大的超调和长时间震荡。这时可采用积分分离的PID算法,其算法表达式如下:
——逻辑系数
A为预先设定的门限值。
积分分离的PID算法思想就是偏差较大时(绝对值大于A)积分环节不起作用,偏差较小时(绝对值小于等于A)才引入积分环节。
其算法流程:
2. 带死区的PID控制算法
在控制过程要求平衡的场合,可以采用带死区的PID控制。其实质是人为地引入一个非线性环节。
控制思想:在偏差信号小于或者等于某个规定值B的时候,不进行调节,只有当偏差大于B的时候才进行PID调节,即:
流程:
3. 遇限削弱积分PID控制算法
基本思想:当控制进入饱和区以后,便不再进行积分项的累加,只执行削弱积分项的运算。在计算u(k)时,先判断u(k-1)是否超出限制值,若u(k-1)>umax,则只累加负偏差;若u(k-1)min,则只累加正偏差。可避免控制量长时间停留在饱和区。
4. 不完全微分PID算法
仅第一个周期有输出。
可见,微分项的特点:
1)微分项只在第一个周期起激励作用,对时间常数较大的系统,其调节作用很小,不能达到超前控制误差的目的。
2) uD的幅值KD一般比较大,容易造成计算机数据溢出,且uD过大、过快,对执行机构也会造成不利影响。
算法流程:
参考文献:
1. http://blog.ednchina.com/tengjingshu/228278/message.aspx