3. 速度环的数学模型:传递函数与框图,PI控制器的标准形式
好,咱们今天来聊聊速度环的数学模型。说实话,很多工程师调了几年参数,对PI控制器还是停留在“P调比例、I消静差”这个层面。我个人觉得,要想真正把速度环调好,必须把它的数学模型吃透。
为什么?因为数学模型就是控制系统的“语言”。你听不懂它说什么,参数调起来就只能靠蒙。我刚开始做伺服驱动那会儿,也是瞎调,有一次把一台750W的电机调得嗡嗡响,差点烧了驱动器。后来老老实实把传递函数推导了一遍,才明白问题出在哪。
3.1 速度环的典型框图结构
先看一个典型的速度环控制框图。嗯,这里我画了一个,大家跟着我走一遍信号流:
这个框图其实不复杂。从左到右:给定速度 ω* 减去反馈速度 ωfb,得到误差 e。误差进入 PI 控制器,输出电流给定 i*。电流给定再经过电流环,最终驱动电机输出实际速度 ω。
你可能会问:为什么要把电流环单独画出来?因为电流环的响应速度比速度环快得多,通常快一个数量级。我在调试高速主轴时,电流环带宽做到 2kHz,速度环带宽只能做到 200Hz 左右。所以很多时候,我们简化分析时会把电流环近似成一个一阶惯性环节,甚至直接当成 1。
3.2 传递函数的推导
好,咱们来写传递函数。先从 PI 控制器开始:
G_PI(s) = Kp + Ki/s
其中:
Kp —— 比例增益
Ki —— 积分增益
s —— 拉普拉斯算子
这个形式大家应该都见过。但我要提醒一点:Ki 的单位是 1/s,不是无量纲的。很多新手在这里栽跟头,把 Ki 设得特别大,结果系统振荡得一塌糊涂。
把电流环简化成一阶惯性环节:
G_c(s) = 1 / (T_c * s + 1)
其中 T_c 是电流环等效时间常数,通常取 0.5~2ms
电机本身的传递函数呢?对于永磁同步电机,在忽略反电动势影响的前提下:
G_m(s) = Kt / (J * s)
其中:
Kt —— 转矩常数 (Nm/A)
J —— 转动惯量 (kg·m²)
把这三部分串起来,速度环的开环传递函数就是:
G_open(s) = (Kp + Ki/s) * [1 / (T_c * s + 1)] * (Kt / (J * s))
嗯,看着有点长。但别怕,我们把它整理一下:
G_open(s) = (Kp * s + Ki) / s * [1 / (T_c * s + 1)] * (Kt / (J * s))
= (Kp * s + Ki) * Kt / [J * s² * (T_c * s + 1)]
核心结论:速度环开环传递函数是一个 II 型系统(分母有 s² 项),理论上对阶跃速度指令可以实现无静差跟踪。这就是 PI 控制器的功劳——积分项把系统型别提高了一阶。
3.3 PI控制器的标准形式
PI 控制器在实际工程中有两种常见写法。我见过不少工程师在这上面搞混,咱们得说清楚。
| 形式 | 表达式 | 特点 | 适用场景 |
|---|---|---|---|
| 并联式 | G(s) = Kp + Ki/s | Kp 和 Ki 独立调节,互不影响 | 通用场合,调试直观 |
| 串联式 | G(s) = Kp * (1 + 1/(Ti * s)) | Ti = Kp/Ki,积分时间常数 | 与模拟控制器兼容,物理意义明确 |
我个人习惯用并联式。为什么?因为调试的时候,Kp 和 Ki 各管各的,互不干扰。你调 Kp 只影响响应速度,调 Ki 只影响低频增益,思路清晰。
但串联式也有它的好处。Ti 的物理意义很直观——它表示积分作用需要多长时间才能追上比例作用。Ti 越小,积分作用越强。我记得有一次帮客户调试一台印刷机,对方工程师坚持用串联式,说他们老一代的模拟控制器就是这么标的,改不了。那就顺着来呗,只要换算清楚就行。
换算关系:如果你拿到的是串联式参数 (Kp, Ti),想转成并联式:Ki = Kp / Ti。反过来,并联式转串联式:Ti = Kp / Ki。
3.4 闭环传递函数与系统特性
有了开环传递函数,闭环传递函数就好办了:
G_close(s) = G_open(s) / [1 + G_open(s) * H(s)]
其中 H(s) 是反馈通道传递函数,通常 H(s) = 1(单位反馈)
代入前面推导的开环传递函数:
G_close(s) = [(Kp * s + Ki) * Kt] / [J * s² * (T_c * s + 1) + (Kp * s + Ki) * Kt]
这个式子看着复杂,但我们可以从中读出几个关键信息:
- 分母是三次方程(s³ 项来自 T_c),所以速度环本质上是三阶系统。三阶系统就可能出现振荡甚至不稳定。
- 分子有零点(s 项来自 Kp),这个零点会影响系统的超调量。零点越靠近虚轴,超调越大。
- 稳态增益为 1(令 s→0),说明理论上对阶跃指令无静差。这就是积分项的功劳。
我曾经踩过的坑:有一次调试一台大惯量转台,负载惯量是电机惯量的 50 倍。我按常规方法整定 PI 参数,结果速度环带宽怎么也上不去,一超过 30Hz 就振荡。后来分析传递函数才发现,大惯量下 J 很大,导致开环增益很低,必须大幅提高 Kp 才能补偿。但 Kp 提上去之后,零点又太靠近虚轴,超调量飙升。最后不得不引入前馈补偿才解决问题。
3.5 参数对系统性能的影响
咱们用一张表总结一下 Kp 和 Ki 对系统性能的影响:
| 参数 | 增大时的影响 | 减小时的影响 |
|---|---|---|
| Kp | 响应加快,带宽提高,超调增大,可能振荡 | 响应变慢,带宽降低,系统变“软” |
| Ki | 消除静差更快,低频增益提高,相位裕度降低 | 消除静差变慢,低频刚度下降 |
这里有个经验值,我一般用来做初始设定:
Kp_initial ≈ 0.5 * J * ω_bw
Ki_initial ≈ 0.2 * Kp_initial * ω_bw
其中 ω_bw 是期望的速度环带宽 (rad/s)
举个例子,如果电机惯量 J = 0.001 kg·m²,期望带宽 100 Hz(约 628 rad/s):
Kp_initial ≈ 0.5 * 0.001 * 628 = 0.314
Ki_initial ≈ 0.2 * 0.314 * 628 ≈ 39.4
当然,这只是初始值。实际调试时还要根据负载情况、机械共振点等因素微调。但有了这个起点,至少不会把系统调得飞起来。
一句话总结本章:速度环的数学模型就是 PI 控制器 + 电流环 + 电机惯量三者的串联组合。理解了这个模型,你调参数就不再是盲人摸象,而是有的放矢。