【PID】连续PID和数字PID chapter1(补充) 学习笔记
在上一篇篇章中,我们讲到了PID控制系统的基本结构和S-Function。本章我们就PID控制模型本身展开。
1 连续PID控制规律
根据上一节所述:
err(t)=yd(t)−y(t)
err(t)=y_d(t)-y(t)
err(t)=yd(t)−y(t)
其中yd(t)y_d(t)yd(t)为期望值(目标),y(t)y(t)y(t)为实际输出值,err(t)err(t)err(t)为偏差。
u(t)=kperr(t)+ki∫t0tferr(t)dt+kdderr(t)dt
u(t)=k_perr(t)+k_i\int^{t_f}_{t_0}err(t)dt+k_d\frac{derr(t)}{dt}
u(t)=kperr(t)+ki∫t0tferr(t)dt+kddtderr(t)
连续系统的控制量一般为上述形式,对应的控制规律我们称为连续PID控制。各个变量一般都是时间的连续函数。
2 离散PID控制规律
由于各种控制系统采用的底层控制控制器实际上都是离散的(就是微控制器计算),包括传感器值的采样也是离散的。因此,实际控制中,离散PID控制应用更加广泛。
而且,由于离散化,在对连续PID控制规律采样的基础上,还演化出了很多改进控制规律(虽然其控制量不完全与连续PID相通,但能达到同样甚至更好的控制效果。)
2.1 位置式PID
位置式PID与连续PID的关联最为紧密,两者通过如下方式转换:
- 采样时刻kT(k=0,1,2,...)kT(k=0,1,2,...)kT(k=0,1,2,...)替代连续时间ttt
- 矩阵法数值积分(面积法,还可以用梯形法等)近似替代积分
- 一阶向后差分(还可以通过更高精度的插值实现)近似替代微分
 u(k)=kperr(k)+ki∑j=0kerr(j)T+kderr(k)−err(k−1)T u(k)= k_perr(k)+k_i\sum^k_{j=0}err(j)T+k_d\frac{err(k)-err(k-1)}{T} u(k)=kperr(k)+kij=0∑kerr(j)T+kdTerr(k)−err(k−1)
 注意:上述离散函数的自变量没有显示写出TTT,以u(k)u(k)u(k)为例,其取值对应连续系统的u(kT)u(kT)u(kT)。
 离散连续PID控制规律的方法还有很多,这里只举了最简单的一种。
2.2 增量式PID
对于某些控制,我们需要实现的是控制量的增量,即其控制率是Δu(k)\Delta u(k)Δu(k)。
直接对位置式控制规律作递推并作差,得到增量式PID控制:
u(k)−u(k−1)=Δu(k)=kp(err(k)−err(k−1))+kierr(k)T+kd(err(k)−2err(k−1)+err(k−2))
u(k)-u(k-1)=\Delta u(k)=k_p(err(k)-err(k-1))+k_ierr(k)T+k_d(err(k)-2err(k-1)+err(k-2))
u(k)−u(k−1)=Δu(k)=kp(err(k)−err(k−1))+kierr(k)T+kd(err(k)−2err(k−1)+err(k−2))
这样做,还有一个好处,积分项不需要累加。控制增量Δu(k)\Delta u(k)Δu(k)只与最近的k次采样有关。
这里引用原书的一段话:
在计算机控制系统中,PID控制是通过计算机程序实现的,…,一些在原来模拟PID控制器中无法实现的问题,在引入计算机以后就可以得到解决,于是产生了一系列的改进算法,形成
非标准的控制算法,以改善系统品质,满足不同控制系统的需要。
最后
其实还有很对离散PID基本形式,这里不再叙述。
关于PID整定(参数调整),很考验经验。笔者投降。希望某天能够开悟。
