PID控制器是经典控制理论中最本质的线性控制算法,在各行各业中应用非常广泛。

1.PID控制原理

这里说明一下微分环节的作用:
①优点:反映偏差信号的变化速率,并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少了调节时间;本身是个超前环节,提高了滞后系统的相位裕度。
②缺点:对噪声特别敏感,噪声一般可分解为高频正弦信号,经过微分运算后,其增益增大了ω倍,而且ω是一个非常大的数,这样就很大程度上放大了噪声,可能导致系统不稳定。
2.模拟PID数字化

以一系列的采样时刻点kT代表连续时间t,以矩形法数值积分近似替代积分,以一阶后向差分近似替代微分,即

可得离散PID表达式

相应的matlab程序如下:

function yout = PID_Controller(error)                   % 创建PID函数
ts = 0.00001;                                           % 采样时间
x(1) = Kp*error;                                        % 计算比例项
x(2) = x(2)+Ki*error*ts;                                % 计算积分项
x(3) = Kd*(error-error_past)/ts;                        % 计算微分项
error_past = error;                                     % 偏差量更新
yout = x(1)+x(2)+x(3);                                  % 输出PID值
end