3. 三环控制基础:电流环、速度环、位置环的基本结构与传递函数
做电机控制这些年,我见过不少工程师一上来就调弱磁,结果电流震荡、速度抖得跟筛子似的。为什么?说白了,三环都没吃透,地基没打牢就想盖二楼。
这一章咱们把三环的基本结构捋清楚。你想想看,三环控制就像三级火箭——电流环是底层的推力,速度环是中间的巡航,位置环是顶端的导航。每一级都有自己的脾气,调参的思路也完全不同。
3.1 三环的层级关系
先看一张整体框架图,我习惯用这张图给新人讲三环的协作关系:
这张图我每次培训都会放。注意看带宽的倍数关系——内环比外环快一个数量级,这是三环能稳定工作的前提。我在项目里见过有人把速度环带宽设到 500 Hz,电流环才 800 Hz,结果电机一加速就啸叫,根本没法用。
3.2 电流环:最底层的推力
电流环是离电机最近的一环。它的任务很简单:你给个电流目标,它让实际电流跟上。但简单不代表容易,尤其是在弱磁区,电流环的响应速度直接决定了整个系统的上限。
3.2.1 电流环的结构
典型的电流环包含 PI 控制器和电机电枢模型。传递函数可以写成:
电流环开环传递函数:G_i(s) = Kp_i * (1 + 1/(Ti_i * s)) * (1/(R + L*s))
其中:
Kp_i —— 电流环比例增益
Ti_i —— 电流环积分时间常数
R —— 电机相电阻
L —— 电机相电感(注意:弱磁区 L 会变化!)
嗯,这里要注意。弱磁区里电感 L 不是常数,它会随着电流和磁链变化。我刚开始做弱磁时没注意这个,按额定电感算的 PI 参数,结果一进弱磁区电流就开始震荡。后来才明白,电感变了,零极点位置也跟着漂了。
电流环调参口诀:
- 比例增益 Kp_i 决定响应速度,但太大会导致电流超调
- 积分时间 Ti_i 消除稳态误差,但太小会引入低频振荡
- 弱磁区建议 Kp_i 适当降低 10%~20%,补偿电感变化
3.2.2 电流环的带宽限制
电流环的带宽受 PWM 开关频率和采样延迟限制。一般经验是:
| PWM 频率 | 电流环最大可用带宽 | 实际推荐带宽 |
|---|---|---|
| 10 kHz | ~2 kHz | 800~1200 Hz |
| 20 kHz | ~4 kHz | 1500~2500 Hz |
| 40 kHz | ~8 kHz | 3000~5000 Hz |
我曾经在一个项目里把电流环带宽推到理论极限,结果电流波形上全是毛刺。后来发现是采样延迟没算进去——你想想看,ADC 采样要时间,PWM 更新要时间,这些延迟加起来,实际带宽至少打七折。
3.3 速度环:中间的巡航
速度环坐在电流环上面。它给电流环发指令,电流环去执行。速度环的输入是速度误差,输出是电流参考值。
3.3.1 速度环的传递函数
速度环的模型比电流环复杂一些,因为它要经过电流环这个「下级」才能控制电机:
速度环开环传递函数:G_v(s) = Kp_v * (1 + 1/(Tv_v * s)) * G_i_cl(s) * (Kt / (J * s))
其中:
Kp_v —— 速度环比例增益
Tv_v —— 速度环积分时间常数
G_i_cl(s) —— 电流环闭环传递函数(简化为一阶惯性:1/(τ_i * s + 1))
Kt —— 电机转矩常数
J —— 转动惯量
这里有个坑:电流环闭环传递函数 G_i_cl(s) 不是理想的 1。我见过有人直接把它当 1 来算速度环参数,结果实际系统响应比设计值慢了一倍。正确的做法是把电流环等效成一阶惯性环节,时间常数 τ_i 取电流环带宽的倒数。
我的经验:速度环的积分时间常数 Tv_v 一般取电流环等效时间常数 τ_i 的 5~10 倍。这样既能保证速度环的响应,又不会和电流环产生谐振。
3.3.2 速度环的调参要点
速度环调参有个经典方法——先调比例,再加积分。具体步骤:
- 纯比例控制:把积分时间设到最大(相当于关掉积分),逐渐增大 Kp_v 直到速度出现轻微振荡
- 退半步:把 Kp_v 回调到振荡点的 60%~70%
- 加积分:逐渐减小 Tv_v,观察速度稳态误差的消除速度
- 微调:在弱磁区,速度环的 Kp_v 可能需要再降 5%~10%
这个方法我用了十年,基本没翻过车。但要注意,弱磁区里电机的反电动势会变化,速度环的负载扰动响应会变差。这时候可以考虑加个前馈补偿,不过那是后面章节的内容了。
3.4 位置环:顶端的导航
位置环是最外环,也是最慢的一环。它的输入是位置误差,输出是速度参考值。位置环的带宽通常只有 5~20 Hz,比速度环慢一个数量级。
3.4.1 位置环的传递函数
位置环开环传递函数:G_p(s) = Kp_p * G_v_cl(s) * (1/s)
其中:
Kp_p —— 位置环比例增益(位置环通常只用 P 控制,不加积分)
G_v_cl(s) —— 速度环闭环传递函数(简化为一阶惯性:1/(τ_v * s + 1))
为什么位置环不加积分?因为位置本身就是速度的积分,再加积分会引入额外的相位滞后,容易导致超调和振荡。我见过有人给位置环加了个 PI,结果系统响应慢得像蜗牛,位置跟踪误差反而更大了。
注意:位置环的 Kp_p 不能太大。如果 Kp_p 超过速度环带宽的 1/5,位置环就会和速度环「抢带宽」,系统会变得不稳定。我曾经吃过这个亏,调了半天电流环和速度环,最后发现是位置环的 Kp_p 设得太高了。
3.4.2 位置环的调参逻辑
位置环调参其实很简单,因为只有一个参数 Kp_p:
- Kp_p 太小:位置跟踪慢,有稳态误差(但不会超调)
- Kp_p 太大:位置响应快,但容易超调,甚至振荡
- 理想值:Kp_p ≈ 速度环带宽的 1/10 ~ 1/5
举个例子,如果速度环带宽是 100 Hz(约 628 rad/s),那位置环的 Kp_p 大概在 60~120 之间。具体多少,还得看负载惯量和机械刚度。
3.5 三环的带宽分配原则
最后总结一下三环带宽的分配原则。这个原则我每次做项目都会贴在工位上:
| 环 | 带宽范围 | 与下一环的倍数关系 | 调参优先级 |
|---|---|---|---|
| 电流环 | 500~2000 Hz | —— | 第 1 步 |
| 速度环 | 50~200 Hz | 电流环带宽的 1/5 ~ 1/10 | 第 2 步 |
| 位置环 | 5~20 Hz | 速度环带宽的 1/5 ~ 1/10 | 第 3 步 |
这个倍数关系不是拍脑袋定的。它来自控制理论里的「时间尺度分离」原则——外环的响应速度必须比内环慢,否则内外环会互相干扰。说白了,就是内环已经稳定了,外环才开始动作,这样系统才能各司其职。
本章核心要点:
- 三环结构:电流环(内)→ 速度环(中)→ 位置环(外),带宽逐级降低
- 电流环传递函数含电机电枢模型,弱磁区电感变化会影响零极点
- 速度环通过电流环控制电机,调参先比例后积分
- 位置环只用 P 控制,Kp_p 取速度环带宽的 1/10 ~ 1/5
- 带宽分配遵循 5~10 倍关系,这是系统稳定的前提