e(t) 返回数字PD
返回数字PID
位置式PD算法的原理图 控制算法的控制量u()与被控对象的绝对位置相 对应,所以称为位置式PID控制算法。 位置式PID算法的每次输出与过去的状态有关,要 计算u(k),不仅涉及到e(k1)和e(k2),且 须将历次相加 rlt u(k) -(xPD位置式算法匚被控对象 (k) PID位置式算法控制原理图 PID控制算法
位置式PID算法的原理图 控制算法的控制量u(k)与被控对象的绝对位置相 对应,所以称为位置式PID控制算法。 位置式PID算法的每次输出与过去的状态有关,要 计算u(k),不仅涉及到e(k-1)和e(k-2),且 须将历次相加。 PID 位置式算法 被控对象 r(t) + u(k) e(t) c(k) - PID位置式算法控制原理图 PID控制算法
递推式PD控制算法 位置式PD要占相当的内存,造成浪费内存 u(k)=Kp(e(k)+ >e(i)+d[e(k)-e(k-1)]3 Ⅰi=0 (k-1)=Kp{e(k-1)+n∑e()+ne(k-1)-e(k-2)} 两式相减,得 T l(k)-l(k-1)=Kp{e(k)-e(k-1)+e(k)+me(k)-2e(k-1)+e(k-2)} l(k)=l(k-1)K2(1++)e(k)-Kp(1+-D)e(k-1)+Kpe(k-2) (k-1)+a0e(k)-axe(k-1)+a2e(k-2) 其中 KP(+-+ =K,(1+ K T u(k)=u(k-1)+KpAe(k)+ke(k)+kdAe(k)-Ae(k-D]
递推式PID控制算法 1 0 ( 1) { ( 1) ( ) [ ( 1) ( 2)]} k D P I i T T u k K e k e i e k e k T T − = − = − + + − − − 0 ( ) { ( ) ( ) [ ( ) ( 1)]} k D P I i T T u k K e k e i e k e k T T = = + + − − 位置式PID要占相当的内存,造成浪费内存。 两式相减,得 u(k) −u(k −1) = K {e(k) −e(k −1) P + ( ) + [e(k) − 2e(k −1) + e(k − 2)]} T T e k T T D I ) ( 1) ( 2) 2 + (1+ + ) ( ) − (1+ − + e k − T T e k K T T e k K T T T T K D P D P D I P u(k) = u(k −1) ( 1) ( ) ( 1) ( 2) = u k − + 0 e k −1 e k − + 2 e k − 其中 (1 ) 0 T T T T K D I = P + + ) 2 1 (1 T T K D = P + T T K D 2 = P ( ) ( 1) ( ) ( ) [ ( ) ( 1)] P i d u k u k K e k K e k K e k e k = − + + + − −
递推式PID的程序框图 入口 软件算法流程图 取给定值r(k)、c(k)反馈值 B=A+aoe(k) 流程图如图所示 值作e(k)=r(k)-c(1) C=B+l(k-1)+0 其中系数ao、a1 输出u(k) Q2可以预先算出 取0、c(k)并作乘法 作u(k)→u(k-1)输出 取(1、e(k-1)并作乘法 存储、c(k)c(kl)、c(kl)→e(k2) 取2、c(k2)并作乘法 为下一次作准备 A=a2(k-2)-a(-1) 子程序返回 递推式P|D 增量式PID
递推式PID的程序框图 入口 输出 u(k) 0 C = B + u(k −1) + u 值作e(k) = r(k) − c(t) 取 1 、e(k-1)并作乘法 存储、e(k)→e(k-1)、e(k-1)→e(k-2) 为下一次作准备 子程序返回 ( ) 0 B = A + e k 作 u(k)→u(k-1)输出 取 0 、e(k) 并作乘法 取 2 、e(k-2)并作乘法 ( 2) ( 1) 2 1 A = e k − − e k − 取给定值r(k) 、c(k) 反馈值 软件算法流程图 流程图如图所示。 其中系数α0、α1、 α2可以预先算出。 递推式PID 增量式PID
PD增量式控制算法 当执行机构需要的不是控制量的绝对数值,而是其增量 (例如去驱动步进电机)时,要采用PID增量式控制算法 采用PD增量式控制算法表达式 △(k)=l(k)-l(k-1) △(k)=a0e(k)-a;e(-1)+a2e(k-2) 式中α、a1、Q2与递推式PD中的一样 0+D增量式匚步进电机一46)被控对象 PID增量式算法控制原理图
PID增量式控制算法 u(k) = u(k) − u(k −1) 当执行机构需要的不是控制量的绝对数值,而是其增量 (例如去驱动步进电机)时,要采用PID增量式控制算法。 采用PID增量式控制算法表达式 式中α0、α1、α2与递推式PID中的一样 ( ) ( ) ( 1) ( 2) u k =0 e k −1 e k − + 2 e k − PID 增量式算法 步进电机 被控对象 r(t) + u(t) u(k) e(t) c(k) - PID增量式算法控制原理图