电流模式 FOC

Posted on June 28, 2026

记得很久以前,我曾经说过,现有的FOC电机驱动都是电压模式控制而遭到嘲讽。

我其实明白这些半桶水为何会嘲讽。因为他们只学了半桶水,知道了 foc 就是控制电流进而控制磁场矢量。

foc 满脑子都是电流,怎么会是电压模式控制呢?

foc 确实核心是电流,但是在计算出电流之后,还是要使用 电流PID控制器,生成最终的每相占空比,进而控制开关管输出电压。

也就是说,从硬件拓扑上看, foc 是一个电压型pwm控制器。通过控制电压来间接控制电流。

电流型控制

电流型控制器,则不控制电压,而是直接控制“电感电流”。不管是平均电流还是峰值电流,都是直接控制的电流。电流到达给定目标后, MOS管关闭。

电流型控制普遍被应用在 DC/DC 和 AC/DC 控制器里。电压是输出电流扣去负载后,在输出电容上的积分。具有控制简单,容易补偿,可以并联输出,逐周期限流等多重好处。

但是,好像,从未有人尝试过,在 电机驱动里,使用电流型PWM控制。

硬件电流模式foc控制的优势

优势就是在不提高开关频率的情况下,拥有十倍于电压型逆变器的电流环带宽。 然后就是天然的免疫 功率管引入的非线性失真,如死区时间,导通压降,续流压降,等等。

电机驱动上使用电流型的难点

电机有三相线,意味着需要3个电流pwm控制。

但是,众所周知,三相电其实只有2个自由度。因为 $Ia + Ib + Ic = 0$。这导致,3个电流环在硬件上会相互耦合干扰,导致环路崩溃。

  • 致命的冲突:如果你硬要给 A, B, C 三相各自接一个独立的硬件比较器(比如滞环控制器)。当 A 相硬件认为电流太小、下令打开上桥让 (I_{a}) 上升时,根据电荷守恒,这一瞬间势必会导致 B 相或 C 相的电流同步发生下降。
  • 连锁反应: 此时,B 相或 C 相的硬件比较器一看自己的电流无故跌落,会立刻做出激烈的反向抗议动作,强行改变自己开关管的状态去顶回电流。
  • 崩溃结果: 三个完全独立的硬件电路为了抢夺这仅有的 2 个自由度,会陷入互不相让、无序抢占的“死锁”和高频恶性振荡状态。在功率电路上,这表现为无规律的剧烈毛刺噪声,管子成对烧毁或驱动芯片直接保护退饱和,即环路彻底崩溃。

如果只引入 2个 pwm 控制,则第三个相线没办法接!即不可能直接接母线负极,也不能直接接母线正极。

因此,3个相线,还就是必须使用3个半桥。也就意味着,得使用3路PWM ———— 所以还是需要3个pwm控制器。

怎么办呢?

不连续PWM调制救场。

alt text

注意看 dpwm 调制波,任意时刻,只有2个桥臂工作在 pwm 模式。剩下一个桥臂,要么钳位在 0v 要么钳位在 Vdc 。

这意味着,可以使用3个电流型pwm控制器控制3个半桥。同时,在每个扇区里,只激活2个PWM。

这样就可以使用硬件电流环了。而基于电流模式的pwm控制器,其电流环的带宽,可以认为等同于开关频率。

软件要做的事情,就是输出 三相电流的参考 Ia_ref, Ib_ref Ic_ref , 同时,根据电流运行情况,选定一相为钳位相,剩余两相为 pwm 模式。

当然,这意味着需要使用 双向电流模式控制器。也就是,硬件上,必须使用平均电流模式控制器,而不是峰值电流控制器。

具体如何控制呢?

控制方式

首先,需要3个 平均电流模式同步BUCK控制器分别控制3个桥臂。这个电流模式pwm控制器必须满足的特点有

  • 同步 BUCK 降压控制。必须是同步 buck 模式。
  • 平均电流模式控制。芯片内置高精度差分电流放大器,天然支持真正的固定频率平均电流控制。其内部调制结构允许输入双向相电流信号。
  • 强制导通模式。在此模式下,下管绝不关闭,电感/线圈电流允许双向跨零无缝流动,完美支持电动和发电续流工况。
  • 外部时钟硬同步。单片机可以输出 20-100kHz 的主时钟方波硬灌入该芯片,芯片内部锁相环(PLL)会锁死相位,保证多相之间开关载波绝对共面同步。
  • 支持闭锁。不论是通过单独的引脚,还是超过某个范围的 参考电流输入,还是可以使用外部电路修正,必须要能把半桥切换为彻底的,上管全开,或者下管全开状态。

好了,有了基础的3个电流模式半桥,软件上要怎么做呢?

  1. 首先,根据速度环或者其他控制信号生成参考电流 Iq Id.
  2. 进行反 dq 变换,生成电机的三个参考电流 Ia_ref, Ib_ref, Ic_ref,通过 DAC 直接输出。
  3. 根据采样回来的相电流,结合电机参数,计算虚拟的输出电压角。这个电压并不输出,所以是虚拟的。
  4. 虚拟的输出电压角,判断所处扇区。根据这6个扇区,决定哪一相钳位。
  5. 单片机控制钳位相停止发波。这个动作需要在硬件上,和 主时钟方波 严格对齐。

没了,就这么简单。 不需要 电压PI控制器。也不需要复杂的死区补偿计算。

这套电路的优势是,可以使用 220V/380V 常规供电电压的同时,使用 20khz 的常规开关频率,同时提供 相当于 300khz 开关频率的电流带宽!

而一般 3000khz 开关频率的伺服电机,绝对不可能使用 220V/380V 供电,必须使用低压供电,限制了功率上限。 而这套硬件电流环的foc驱动架构,可以使用常规的 IGBT 实现高压大电流的同时,提供极高的电流环带宽!

Comments