第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整定的核心思路。我画了一张图,把比例和积分的关系理清楚。
整定的核心逻辑其实就两句话:
- 先调比例,再调积分——比例决定系统的「骨架」,积分负责「收尾」
- 比例要够,但不能过——够用就好,留出余量给积分
我个人的整定流程:先把积分关掉(Ki=0),调Kp到系统出现轻微震荡,然后回调30%。接着慢慢加Ki,直到稳态误差消失,同时观察超调量不超过允许范围。这个流程我用了十几年,基本没翻过车。
最后提醒一句:PI参数不是越大越好。我见过太多工程师把Kp和Ki往死里加,结果系统要么震荡,要么积分饱和。记住:伺服系统是机电耦合的,机械部分的固有频率、传动间隙、负载惯量都在那里摆着。PI能做的,是在这些约束下找到最优解,而不是突破物理极限。