当执行机构需要的不是控制量的绝对值,而是控制量的增量(例如去驱
动步进电动机)时,需要用PID的“增量算法”。
增量式PID控制算法可以通过(2-4)式推导出。由(2-4)可以得到
控制器的第k-1个采样时刻的输出滚腔值为:
将&#573602-4&#57361与&#573602-5&#57361相减并整理&#57362就可以得到增量式PID控制算法公式
为
其中
由&#573602-6&#57361可以看出&#57362如果计算机控制系统采用恒定的采样周期T&#57362
一旦确定A、B、C&#57362只要使用前后三次测量的偏差值&#57362就可以由&#573602-6&#57361
求出控制量。
增量式PID控制算法与位置式PID算法大拦衫&#573602-4&#57361相比&#57362计算量小得多&#57362
因此在实际中得到广泛的应用。
位置式PID控制算法也可以通过增量式控制算法推出递推计算公式
&#573602-7&#57361就是目前在计算机控制中广泛应用的数字递推PID控制算法。
增量式PID控制算法C51程序
位置式PID控制算法
当采样时间很短时&#57362可用一阶差分代替一阶微分&#57362用累加代替积分。连续时间的
离散化&#57362即
t=KT (K=0,1,2,…,n)
离散的PID表达式积分用累加求和近似得
微分用一阶差分近似衡尘得
T——为采样周期;k——为采样序号,k=0,1,2,…;e(k)——系统在第次采样时刻的偏差值;e(k-1)——为系统在第k-1次采样时刻的偏差值。
将式(1)和式(2)代入式(3),则可得到离散的PID表达式
物理模型
式(4)表示的控制算法提供了执行机构的位置u(K)(如阀门开度),即输出
值与阀门开度一一对应,所以称为位置式PID控制算法。
离散化的PID位置式控制算法的编程表达式对于式(4),令
则离散化的PID位置式控制算法的编程表达式为:
由式可以看出,每次输出与过去的状态有关,要想计算u(k),不仅涉及到e(k-1)和e(k-2),且须将历次相加。
上式计算复杂,浪费内存。考虑到第次采样时有
两式相减,得上式是PID的递推形式&#57362是编程时常用的形式之一。
软件算法流程图流程图如图所示。其中系数α0、α1、α2可以预先算出
(1)增量型算法不需做累加,计算误差后产生的计算精度问题,对控制量的计算影凳仔响较小。位置型算法用枣皮汪到过去的误差的累加,容易产生较大的累加误差。(2)增量型算法得出的是控制的增量,握迹不会影响系统的工作。位置型算法的输出是控制量的全部输出,误动作影响大
两个的表达式都不同可以看看百度百科
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)