2. PI控制器基础:比例环节、积分环节、PI控制器传递函数、模拟PI与数字PI的区别

好,咱们进入正题。PI控制器,说白了就是电机电流环的“大脑”。你想想看,一个电机转起来,电流忽大忽小,怎么让它听话?靠的就是PI。这一节,我把比例、积分、传递函数,还有模拟和数字的区别,掰开了揉碎了讲清楚。

2.1 比例环节:立竿见影,但有代价

比例环节,就是P。它的逻辑很简单:误差越大,输出越大

公式长这样:

u(t) = Kp * e(t)

其中,e(t) 是目标电流和实际电流的差值,Kp 是比例增益。

我个人习惯,调PI时先调P。为什么?因为P反应快。你给一个阶跃指令,P立马就能跟上。但P有个毛病——稳态误差。什么意思?就是电机跑到最后,总差那么一点点电流,追不上目标值。

关键点:P越大,响应越快,但超调也越大,甚至可能震荡。P太小,系统就懒洋洋的,半天追不上。

我在项目中遇到过一件事。有一次调一个高速主轴电机,P给大了,电流直接冲过头,电机“嗡”的一声,差点把驱动器干烧了。嗯,从那以后,我调P都是从小往大加,稳着来。

2.2 积分环节:消除误差,但别太急

积分环节,就是I。它的任务是:把过去的误差累积起来,慢慢消除稳态误差

公式:

u(t) = Ki * ∫ e(t) dt

说白了,只要误差还在,积分项就会一直增加输出,直到误差为零。这就是为什么加了I之后,电流能稳稳地停在目标值上。

但积分有个坑——积分饱和。你想想看,如果电机堵转了,电流误差一直很大,积分项会一直往上累加。等堵转解除,积分项已经“撑爆”了,输出会瞬间冲得很高,导致电流过冲。

避坑指南:我曾经在伺服驱动器上吃过这个亏。电机堵转了几秒钟,积分项饱和了,一恢复运行,电流直接冲过保护值,触发了过流报警。后来我加了抗积分饱和(Anti-windup)逻辑,才彻底解决。

所以,I不能太大。I太大,系统会震荡,而且响应变慢。I太小,消除误差又太慢。这个平衡,得靠经验去试。

2.3 PI控制器传递函数:从时域到频域

咱们做电机控制的,不能光看时域,还得看频域。传递函数就是频域里的“身份证”。

模拟PI控制器的传递函数:

G(s) = Kp + Ki / s

或者写成更常见的形式:

G(s) = Kp * (1 + 1 / (Ti * s))

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

这个公式说明了什么?

  • 低频时(s很小),1/s很大,积分项占主导,用来消除稳态误差。
  • 高频时(s很大),1/s很小,比例项占主导,用来快速响应。

我个人习惯,在设计电流环时,会把PI的转折频率(也就是1/Ti)放在电流环带宽的1/5到1/10处。这样既能保证响应速度,又能抑制低频扰动。

小技巧:用波特图看PI的幅频特性。你会发现,低频段增益很高(积分作用),高频段增益趋于Kp(比例作用)。这个特性,决定了电流环的抗干扰能力。

2.4 模拟PI与数字PI的区别:从连续到离散

好,重点来了。模拟PI和数字PI,到底差在哪?

模拟PI,是用运放和阻容元件搭出来的。它的好处是连续、无延迟。但缺点也很明显:参数靠换电阻电容,没法在线调整,而且容易受温度漂移影响。

数字PI,是在MCU或DSP里用软件实现的。它的好处是灵活、可调、无温漂。但代价是——离散化误差和计算延迟

数字PI的离散化公式,最常用的是位置式PI增量式PI

位置式PI

u(k) = Kp * e(k) + Ki * Ts * Σ e(i)

其中,Ts是采样周期,Σ e(i)是误差的累加和。

增量式PI

Δu(k) = Kp * [e(k) - e(k-1)] + Ki * Ts * e(k)
u(k) = u(k-1) + Δu(k)

我个人更偏爱增量式PI。为什么?因为它只输出变化量,即使积分饱和了,恢复也快。而且,它天然带有抗积分饱和的特性——你只要限制Δu的幅值就行。

核心区别总结:

特性 模拟PI 数字PI
实现方式 运放+阻容 软件代码
参数调整 换硬件元件 改软件系数
延迟 有(采样+计算)
温漂 明显
抗饱和 需额外电路 软件实现

我记得有一次,把一套模拟PI的驱动器改成数字PI。刚开始直接套用模拟的Kp和Ki,结果电流震荡得一塌糊涂。后来才意识到,数字PI的采样延迟和零阶保持器效应,会让等效增益发生变化。所以,数字PI的参数,通常要比模拟PI的小一些

2.5 知识体系:一张图看懂

下面这张SVG图,把PI控制器的核心逻辑串起来了。从比例积分到传递函数,再到模拟和数字的区别,一目了然。

PI控制器知识体系 比例环节 (P) u = Kp * e 快速响应,但有稳态误差 积分环节 (I) u = Ki * ∫e dt 消除稳态误差,注意饱和 传递函数 G(s) = Kp + Ki/s 频域分析,带宽设计 模拟PI 运放 + 阻容元件 连续、无延迟、有温漂 参数固定,不易调整 数字PI MCU/DSP 软件实现 离散、有延迟、无温漂 灵活可调,需抗饱和 核心:P决定响应速度,I消除稳态误差 数字PI需注意采样周期、离散化误差和抗饱和

嗯,这张图基本把PI控制器的骨架画出来了。你把它存下来,以后调参时对照着看,思路会清晰很多。

个人经验:刚开始学数字PI时,别急着上复杂的抗饱和算法。先把位置式PI跑通,观察积分项的变化。等遇到饱和问题了,再上增量式PI或者条件积分法。一步一步来,反而学得更扎实。

专注资料整理