第3章 PI控制器原理:比例与积分的作用

做速度环整定,绕不开PI控制器。说实话,我刚入行那会儿,觉得PI就是个公式,调调参数就完事了。后来踩的坑多了才明白——不理解PI的本质,你连震荡原因都找不到。

这一章,我把PI控制器的核心原理掰开揉碎讲清楚。比例干什么、积分干什么、时域频域怎么看、模拟和数字到底差在哪。都是实战中必须搞明白的东西。

3.1 比例(P)的作用:响应速度的基石

比例项,说白了就是「看现在」。它盯着当前的速度误差,误差大就输出大,误差小就输出小。

核心公式: Pout = Kp × e(t)

其中 e(t) 是当前速度误差,Kp 是比例增益。

比例的作用很直观:

  • 提高响应速度——Kp越大,系统对误差的反应越猛
  • 减小稳态误差——但永远消除不了,这是比例控制的先天缺陷
  • 容易引发震荡——Kp过大,系统就会「抽风」

我遇到过一台贴片机,客户说电机一启动就尖叫。我一看,Kp设到了500,比例增益高得离谱。降到80以后,电机安静得像只猫。你想想看,比例太大,系统就像个一惊一乍的人,稍微有点偏差就猛打方向,不震荡才怪。

实战经验:我个人习惯先给一个保守的Kp值(比如电机额定转矩的10%对应误差),然后慢慢往上加,直到出现轻微震荡,再回调30%。这个点通常就是最佳比例增益。

3.2 积分(I)的作用:消除静差的利器

积分项,看的是「过去」。它把过去所有的误差累积起来,用来消除那个比例项搞不定的稳态误差。

核心公式: Iout = Ki × ∫e(t)dt

积分项会一直累积,直到误差被完全消除。

为什么需要积分?举个例子:

  • 比例控制下,电机带负载时总差那么一点转速
  • 这点误差虽然小,但就是消除不了
  • 积分项会不断累积这个误差,慢慢增加输出,直到误差归零

但积分也有副作用——积分饱和。我曾经调试一台印刷机,启动时电机半天不动,然后突然猛冲。查了半天,原来是积分项在启动阶段累积了巨大数值,等误差变负后,积分需要很长时间才能「消化」掉这个累积量。这就是典型的积分饱和。

避坑指南:我曾经在高速主轴项目上吃过亏。积分时间设得太短(Ki太大),结果电机在恒速运行时出现低频震荡,周期大概2~3秒。后来把积分时间常数从5ms改到20ms,震荡立刻消失。记住:积分不是越快越好,它需要和系统的机械时间常数匹配。

3.3 PI控制器的时域特性

时域分析,就是看系统在时间轴上的表现。我一般关注三个指标:

指标 定义 PI参数影响
上升时间 从10%到90%目标速度的时间 Kp越大,上升越快
超调量 超过目标速度的最大百分比 Kp和Ki越大,超调越大
稳态误差 稳定后的速度偏差 积分项决定能否消除

举个实际例子。我调过一台数控机床的Z轴,要求定位精度0.01mm。纯比例控制时,稳态误差始终在0.003mm左右徘徊。加上积分后,误差慢慢收敛到0.0005mm以内。这就是积分的作用——把最后那点「尾巴」吃掉。

3.4 PI控制器的频域特性

频域分析,说白了就是看系统对不同频率信号的响应。我刚开始学的时候觉得频域很抽象,后来发现它特别实用。

PI控制器的传递函数:

G(s) = Kp + Ki/s
     = Kp × (1 + 1/(Ti·s))

其中 Ti = Kp/Ki,称为积分时间常数。

频域特性有两个关键点:

  • 低频段:积分起主导作用,增益很高,能消除稳态误差
  • 高频段:比例起主导作用,增益趋于常数Kp

为什么会这样?因为积分项1/s在低频时很大,高频时很小。所以PI控制器在低频时像个放大器,高频时就是个纯比例。

我调试高速贴片机时,发现机械共振频率在200Hz左右。通过频域分析,我把PI的转折频率(1/Ti)设在30Hz,这样既保证了低频的积分作用,又不会在200Hz处放大共振。这就是频域分析的实战价值。

3.5 模拟PI与数字PI的区别

这个区别,很多人容易忽略。但实际项目中,模拟和数字的差异能让你调参调到头秃。

对比项 模拟PI 数字PI
实现方式 运放+阻容 MCU/DSP软件算法
积分方式 电容连续积分 离散累加(∑e·Ts)
采样周期 连续(无采样) 离散(Ts固定)
量化误差 无 有(ADC/DAC精度)
参数调整 换电阻电容 改软件系数
温度漂移 明显 无

数字PI有几个实战中必须注意的问题:

数字PI的离散化公式(位置式):

u(k) = Kp·e(k) + Ki·Ts·∑e(i)
其中 Ts 是采样周期
  • 采样周期的影响:Ts太大会导致积分精度下降,太小会增加CPU负担。我一般取速度环带宽的5~10倍
  • 积分饱和处理:数字PI必须加积分限幅,否则启动时积分累积能把输出推到天上
  • 量化噪声:12位ADC在低速时可能只有几个码值的变化,积分项容易误动作

我记得调试一台伺服驱动器时,模拟PI版本运行很平稳,换成数字PI后低速出现抖动。查了半天,发现是采样周期设成了1ms,而速度环带宽只有50Hz。把采样周期降到200μs后,问题解决。数字PI的参数和采样周期是绑定的,这点和模拟PI完全不同。

我的建议:数字PI的积分系数Ki要乘以采样周期Ts。很多初学者直接套模拟PI的公式,结果参数完全不对。记住:数字域的积分是累加,不是连续积分,系数要换算。

3.6 PI参数整定的核心逻辑

说了这么多,最后总结一下PI整定的核心思路。我画了一张图,把比例和积分的关系理清楚。

PI控制器参数整定核心逻辑 速度误差 e(t) 比例 P Kp × e(t) 积分 I Ki × ∫e(t)dt 响应快,有静差 Kp↑ → 震荡风险↑ 决定系统带宽 消除稳态误差 Ki↑ → 积分饱和↑ 决定低频增益 P + I 合成输出 转矩指令

整定的核心逻辑其实就两句话:

  • 先调比例,再调积分——比例决定系统的「骨架」,积分负责「收尾」
  • 比例要够,但不能过——够用就好,留出余量给积分

我个人的整定流程:先把积分关掉(Ki=0),调Kp到系统出现轻微震荡,然后回调30%。接着慢慢加Ki,直到稳态误差消失,同时观察超调量不超过允许范围。这个流程我用了十几年,基本没翻过车。

最后提醒一句:PI参数不是越大越好。我见过太多工程师把Kp和Ki往死里加,结果系统要么震荡,要么积分饱和。记住:伺服系统是机电耦合的,机械部分的固有频率、传动间隙、负载惯量都在那里摆着。PI能做的,是在这些约束下找到最优解,而不是突破物理极限。