PID 控制
用三项让响应又快又准
给对象 G(s) = 1/((s+1)(s+2)) 套上 PID 控制器,使其跟随目标值 1(虚线)。金色曲线是闭环阶跃响应。起初只有比例增益 Kp,可见稳态误差:输出停在目标值之下。提高积分增益 Ki,剩余误差累积,把输出一路推到目标值。但积分易增添晃动,于是提高微分增益 Kd,提前压住变化、抑制振荡。调好三个增益,得到又快、又无误差、又平滑的响应。
误差的现在、过去、未来
PID 控制器接收目标值与输出之差这一个误差 e(t),以三种方式相加成控制输入。u = Kp·e + Ki·∫e dt + Kd·de/dt。比例项按当前误差成比例地即时反应:误差大就用力推、小就轻推,是最直观的一项。积分项把误差随时间累积:即使是小误差,只要持续存在,积分值就不断增大,最终把那个误差推掉。微分项对误差变化的快慢反应:若误差正快速减小,它预见到即将过冲而提前刹车。三者分别看误差的现在、过去与未来。
P 的局限、I 的精确、D 的稳定
仅比例控制会留下稳态误差。因为控制输入是 u = Kp·e,要在稳态保持某个输入值,误差 e 就必须不为零。本例对象的直流增益为 1/2,所以仅靠 Kp,输出停在 Kp/(2+Kp),始终不及目标值。积分项解决了这一点:只要还有误差,积分就持续累积、增大输入,直到误差恰好为零才停。所以积分把稳态误差化为零。代价是积分在原点加了一个使相位滞后的极点,易使响应晃动。微分项相反,使相位超前、增添阻尼、减小过冲。用比例立速度、用积分消误差、用微分添稳定,正是 PID 的分工。
整定与现实的陷阱
PID 是工业控制的标准工具,温度、速度、位置、流量处处可用。确定三个增益的工作称为整定,速度、过冲与稳健性彼此牵连,抬高一个就损及另一个。经典的齐格勒–尼科尔斯法关掉积分与微分、只升比例增益,直到系统恰好开始等幅振荡,找出临界增益及其振荡周期——这正是 F1 劳斯与 F4 奈奎斯特中所见的稳定边界。再据表定出三个增益。现实也有陷阱。微分项放大快速变化,因而放大测量噪声,所以通常给微分配一个低通滤波器。还有,当输入卡在限幅时积分仍持续累积,就会形成日后用力过猛的积分饱和(windup),需用抗饱和来防止。
回到第一屏
我们给对象 G = 1/((s+1)(s+2)) 套上 PID 控制器并调好三个增益。仅有比例增益时,留下了输出停在目标值之下的稳态误差。提高积分增益,剩余误差累积、把输出精确拉到目标值,但晃动变大。提高微分增益,变化被提前压住,振荡平息、响应变平滑。比例担速度、积分担精度、微分担稳定,三者一起造出又快、无误差、阻尼良好的响应。我们至今用劳斯、根轨迹、波特、奈奎斯特分析的回路,如今通过设计控制器塑造成了想要的形状。
PID 在时域里相加三项来塑造响应。在频域里直接瞄准波特图的相位与增益做同样事情的工具,是补偿器。下一单元超前·滞后补偿把一个由一极一零组成的小传递函数插入回路。超前补偿器在交越频率附近抬高相位、增大相位裕度,故像微分项那样增添阻尼与速度;滞后补偿器在低频抬高增益、提升稳态精度,故像积分项那样减小误差。PID 的 D 与 I 所做的事,补偿器再以在波特图上塑造相位与增益的方式呈现。