PID控制器数字化
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