1. FOC基础回顾:从电机模型到矢量控制的本质

做FOC这么多年,我经常被问到同一个问题:“为什么非得搞电流环和速度环?直接给电压不行吗?”

嗯,这个问题问到了点子上。要回答它,咱们得先从电机模型说起。

1.1 直流电机 vs 交流电机:控制的“代差”

先看一个最简单的模型——直流有刷电机。

你给它一个电压,它就转。电压越高,转速越快。控制逻辑非常直接:V → ω。说白了,电压和转速几乎是线性关系。

但交流电机(尤其是永磁同步电机 PMSM)就不一样了。你给它一个三相正弦电压,它不会乖乖地线性加速。为什么?

因为交流电机的转子是跟着旋转磁场走的。磁场旋转的快慢、强弱,决定了电机的表现。而磁场本身,是由三相电流合成的空间矢量。

核心认知: 交流电机的本质是 磁场控制,不是电压控制。你控制电压,其实是在间接控制电流;而控制电流,才是直接控制磁场。

我在项目里见过不少新手,上来就调电压,结果电机要么嗡嗡响不转,要么转起来抖得像筛糠。原因就是——没抓住“电流”这个牛鼻子。

1.2 矢量控制的本质:解耦与变换

FOC(Field-Oriented Control)的核心思想,说白了就一句话:把交流电机当成直流电机来控制。

怎么做到?靠坐标变换。

三相静止坐标系(U, V, W)下的正弦电流,经过 Clarke 变换和 Park 变换,变成了两相旋转坐标系(d, q)下的直流量。

  • d 轴(直轴): 控制磁通(励磁分量)。对于表贴式 PMSM,通常让 Id = 0。
  • q 轴(交轴): 控制转矩(力矩分量)。转矩和 Iq 近似成正比。

这样一来,控制两个直流分量 Id 和 Iq,就等价于控制电机的磁场和转矩。是不是和直流电机很像了?

我的经验: 刚开始调 FOC 时,别急着上速度环。先把 Id=0 稳住,然后手动给一个固定的 Iq,看电机能不能平稳输出转矩。这一步走稳了,后面就顺了。

1.3 为什么需要电流环?—— 最内层的“执行器”

电流环是 FOC 的 最内层,也是响应最快的环。它的任务很简单:让实际电流快速、准确地跟踪给定电流。

你想想看,如果电流都控不住,后面的速度和位置控制就是空中楼阁。

电流环的典型结构:

给定 Id/Iq → PI 控制器 → 反 Park 变换 → SVPWM → 逆变器 → 电机
                                                      ↑
                                              电流采样 → Clarke/Park 变换 → 反馈 Id/Iq

这里有几个关键点:

  • PI 参数整定: 带宽要够高(通常 1-2 kHz),但也不能太高,否则会引入噪声。
  • 解耦补偿: d 轴和 q 轴之间存在交叉耦合,需要做前馈解耦。我早期踩过这个坑,没做解耦,结果 Iq 一变,Id 就跟着抖。
  • 采样同步: 电流采样必须在 PWM 载波的波峰或波谷触发,否则采到的全是开关噪声。

我曾经踩过的坑: 有一次调试,电流环怎么都稳不住,波形毛刺特别多。查了两天才发现,是 ADC 采样触发点和 PWM 更新点没对齐。后来把采样点放在 PWM 计数器的下溢中断里,问题立刻解决。嗯,时序问题永远是嵌入式控制的头号敌人。

1.4 为什么需要速度环?—— 外层的“指挥官”

速度环在电流环的外面。它的输入是目标转速和实际转速的误差,输出是 q 轴电流的给定值(Iq_ref)。

为什么不能直接用电流环控制速度?

因为电流环只管“电流准不准”,它不知道当前转速是多少。你给一个固定的 Iq,电机可能加速,也可能已经堵转。速度环的作用就是:根据转速误差,动态调整电流的“力度”。

速度环的典型结构:

给定转速 → PI 控制器 → 限幅 → Iq_ref → 电流环 → 电机 → 实际转速
                ↑
         编码器/霍尔 → 速度计算 → 反馈转速

速度环的带宽通常比电流环低一个数量级(100-200 Hz)。为什么?

  • 机械时间常数大: 电机转子的惯性比电气时间常数大得多。
  • 避免震荡: 如果速度环带宽太高,会和电流环的响应产生耦合,导致系统震荡。

一个实用的经验法则: 速度环的带宽,一般设为电流环带宽的 1/10 到 1/5。比如电流环带宽 1 kHz,速度环带宽就设在 100-200 Hz。这个比例我试过很多次,稳定性和响应速度都比较均衡。

1.5 电流环与速度环的联调关系

这两个环不是孤立的,它们是 串联级联 的关系:

  1. 内环(电流环)先调好: 确保电流响应快、超调小、稳态误差为零。
  2. 外环(速度环)再上: 基于稳定的电流环,调整速度 PI 参数。
  3. 限幅保护: 速度环输出的 Iq_ref 必须做限幅,防止电流过大烧毁电机或驱动器。

下面这张图,是我个人习惯用来向团队讲解 FOC 级联结构的:

FOC 电流环与速度环级联结构图 FOC 双闭环级联控制结构 速度给定 速度 PI 控制器 限幅 (Iq_max) 电流 PI 控制器 SVPWM + 逆变器 PMSM 电机 编码器/霍尔 Clarke/Park 变换 速度环 电流环 反馈/采样

1.6 总结:双环架构的价值

说了这么多,其实就一个核心结论:

电流环保证“力”的精准,速度环保证“速”的稳定。

没有电流环,速度环就是瞎指挥;没有速度环,电流环就是蛮干。

在实际项目中,我习惯先把电流环的带宽推到极限(比如 2 kHz),然后降下来 20% 留出裕量。再在这个基础上,慢慢往上加速度环。这样做的好处是——内环足够硬,外环怎么调都不容易发散。

嗯,这一章的内容就到这里。记住这个级联结构,后面的章节我们会一步步把它变成真正的代码和波形。