4. 速度环PI控制器设计:传递函数、参数整定与带宽关系
速度环是PMSM控制中承上启下的关键环节。电流环跑得快,但速度环决定了电机能不能稳得住、跟得准。我个人做项目时,见过不少同行把精力全砸在电流环上,结果速度环一跑就抖,或者响应慢得像老牛拉车。
说白了,速度环的设计核心就三件事:搞懂它的传递函数、把PI参数整明白、理清速度环和电流环的带宽关系。另外,前馈补偿是个好东西,能帮你省不少事。
4.1 速度环的传递函数
先看速度环的控制对象是什么。从电流到转速,中间经过了电机本体和机械负载。我习惯把速度环的传递函数写成这样:
G(s) = ω(s) / iq(s) = (1.5 * p * ψf) / (J * s + B)
其中:
- p — 极对数
- ψf — 永磁体磁链
- J — 转动惯量
- B — 粘滞摩擦系数
你想想看,这个传递函数其实就是一个一阶惯性环节加上一个增益系数。电流环的响应速度远快于速度环,所以我们可以把电流环近似为一个一阶低通滤波器:
G_current(s) ≈ 1 / (τc * s + 1)
τc是电流环的等效时间常数,通常取电流环带宽的倒数。嗯,这里要注意,这个近似成立的前提是电流环带宽至少是速度环带宽的5~10倍。我在项目中吃过亏,有一次电流环带宽只比速度环高3倍,结果速度环怎么调都振荡,后来把电流环带宽提上去才解决。
加上电流环近似后,速度环的开环传递函数就是:
G_open(s) = Kp * (1 + 1/(Ti * s)) * (1.5 * p * ψf) / (J * s + B) * 1/(τc * s + 1)
Kp是比例增益,Ti是积分时间常数。这个式子看着复杂,但实际工程中我们通常做简化处理。
4.2 PI参数整定方法
参数整定我试过好几种方法,最常用的是对称最优法和模最优法。我个人更偏爱对称最优法,因为它对速度环这种带积分特性的对象特别友好。
对称最优法核心思路:
让开环传递函数的幅频特性在穿越频率附近对称,保证足够的相位裕度。
具体步骤是这样的:
- 先确定速度环的期望带宽ωsc
- 计算比例增益:Kp = J * ωsc / (1.5 * p * ψf)
- 计算积分时间:Ti = 4 / ωsc
- 根据实际响应微调
举个例子,我做过一个伺服项目,电机参数如下:
| 参数 | 数值 | 单位 |
|---|---|---|
| 极对数p | 4 | — |
| 磁链ψf | 0.175 | Wb |
| 转动惯量J | 0.0012 | kg·m² |
| 期望带宽ωsc | 100 | rad/s |
代入公式:
Kp = 0.0012 * 100 / (1.5 * 4 * 0.175) ≈ 0.114
Ti = 4 / 100 = 0.04 s
算出来只是起点。我每次都会在仿真里先跑一遍,看看阶跃响应有没有超调过大或者响应太慢。实际调试时,我习惯先给一个较小的Kp,然后慢慢往上加,直到出现轻微振荡再回调20%。
我的调试小技巧:
先调比例,再调积分。比例决定响应速度,积分消除静差。如果电机低速时有抖动,多半是积分项太强了。
4.3 速度环带宽与电流环带宽的关系
这个问题我当年也困惑过。为什么速度环带宽不能设得太高?
原因其实很简单:速度环的采样频率通常比电流环低,而且机械时间常数远大于电气时间常数。你想想看,电流环的带宽可以做到几千赫兹,但速度环一般也就几十到几百赫兹。
我总结了一个经验法则:
| 应用场景 | 速度环带宽 / 电流环带宽 | 说明 |
|---|---|---|
| 通用伺服 | 1/10 ~ 1/5 | 兼顾稳定性和响应 |
| 高速主轴 | 1/20 ~ 1/10 | 机械谐振风险高,需保守 |
| 机器人关节 | 1/5 ~ 1/3 | 需要快速响应,但要做好滤波 |
我曾经在一个高速主轴项目里,把速度环带宽设到了电流环的1/4,结果一跑就出现机械谐振,主轴嗡嗡响。后来降到1/15,问题就解决了。所以别贪快,稳定才是第一位的。
4.4 速度前馈补偿
前馈补偿是我特别喜欢用的一个技巧。它不改变系统的稳定性,但能大幅提升跟踪性能。
原理很简单:既然我们知道速度指令的变化趋势,为什么不提前给一个补偿量呢?
iq_ref = iq_feedback + iq_feedforward
iq_feedforward = J * (dω_ref/dt) / (1.5 * p * ψf)
前馈项其实就是把速度指令的微分乘以一个系数。这样当速度指令变化时,控制器不用等误差产生再调整,而是直接给出一个预判的电流指令。
注意:
前馈补偿依赖速度指令的微分。如果指令信号有噪声,微分会放大噪声。我建议在前馈路径上加一个低通滤波器,截止频率设为速度环带宽的2~3倍。
实际项目中,我通常这样配置前馈:
- 低速场景(< 500 rpm):前馈系数给0.3~0.5,防止过冲
- 中速场景(500~3000 rpm):前馈系数给0.7~0.9,提升跟踪
- 高速场景(> 3000 rpm):前馈系数给1.0,但要配合陷波滤波器
前馈补偿还有一个好处——它能减轻PI控制器的负担。PI控制器本质上是在"擦屁股",等误差出来了才去纠正。前馈提前把大部分工作做了,PI只需要处理残余误差和扰动。这样PI的增益可以设得低一些,系统更稳定。
下面这张图能帮你理清速度环的整体设计逻辑:
最后说一句,速度环设计没有放之四海皆准的参数。不同负载、不同惯量、不同应用场景,参数都得跟着调。我建议你先把理论搞透,然后多动手试,慢慢就会有自己的手感。