4. 矢量控制(FOC)详解:FOC基本原理、MTPA与弱磁控制、电流采样与重构技术

矢量控制,圈内人常叫它FOC(Field-Oriented Control)。说实话,这玩意儿刚出来那会儿,我第一反应是:这不就是把直流电机的玩法硬搬到交流电机上吗?后来真上手做项目才发现,这里面的门道深着呢。

FOC的核心思想,说白了就一句话:把交流电机当成直流电机来控。怎么做到的呢?通过坐标变换,把定子电流分解成两个独立的量——一个管转矩(交轴),一个管磁通(直轴)。这样一来,复杂的交流电机控制就变成了两个直流分量的调节问题。

4.1 FOC的基本原理

先说说坐标变换这条主线。FOC里常用的变换有三个:Clark变换、Park变换,以及它们的逆变换。

Clark变换:把三相静止坐标系(abc)变到两相静止坐标系(αβ)。公式很简单:

Iα = Ia
Iβ = (Ia + 2*Ib) / √3

嗯,这里要注意,实际工程中我们通常只采样两相电流(比如Ia和Ib),第三相通过Ic = -(Ia + Ib)算出来。我在早期一个项目里就吃过亏——采样电路噪声太大,导致计算出的Ic严重失真,电机跑起来嗡嗡响。

Park变换:把两相静止坐标系(αβ)变到两相旋转坐标系(dq)。关键是要知道转子位置角θ:

Id = Iα*cosθ + Iβ*sinθ
Iq = -Iα*sinθ + Iβ*cosθ

这里θ通常来自编码器或霍尔传感器。我建议新手先别急着搞无传感器,老老实实用带位置传感器的方案把FOC跑通,再考虑进阶玩法。

整个FOC的控制流程是这样的:

  1. 采样三相电流(实际两相)
  2. Clark变换得到Iα、Iβ
  3. Park变换得到Id、Iq
  4. 分别对Id、Iq做PI调节
  5. Park逆变换得到Vα、Vβ
  6. SVPWM生成驱动信号

关键点:Id和Iq的给定值怎么设?

  • Id_ref:通常设为0(表贴式永磁同步电机)
  • Iq_ref:由速度环输出决定

但如果你想要更高的效率或更宽的调速范围,那就得用MTPA和弱磁控制了。

4.2 MTPA与弱磁控制

MTPA(最大转矩电流比控制)

你想想看,同样的转矩输出,电流越小,铜耗就越小,效率自然就上去了。MTPA就是干这个的——在给定转矩下,找到让电流幅值最小的Id、Iq组合。

对于内置式永磁同步电机(IPMSM),由于存在磁阻转矩,MTPA的Id通常不为0。我做过一个项目,电机额定转速3000rpm,用MTPA后,同样负载下电流降了15%,温升直接低了8度。

MTPA的查表法实现:

// 根据转矩指令查表得到Id_ref和Iq_ref
// 表格通过离线测试或仿真获得
float Id_ref = MTPA_Table[torque_index].Id;
float Iq_ref = MTPA_Table[torque_index].Iq;

弱磁控制

电机转速超过基速后,反电动势会超过母线电压。这时候怎么办?只能通过减小励磁电流(Id负向增大)来削弱磁场。说白了,就是用电流换转速。

我曾经调试一个高速主轴电机,额定转速6000rpm,客户要求跑到12000rpm。弱磁深度到了0.7倍,电流波形都开始畸变了。后来加了电压前馈补偿才稳住。

弱磁控制的典型策略:

  1. 检测当前电压利用率(Vd² + Vq² 与 Vbus² 的比值)
  2. 当电压利用率超过阈值(通常0.9~0.95),开始弱磁
  3. 通过PI调节器输出负向Id_ref

注意:弱磁深度不是无限的。太深的弱磁会导致:

  • 永磁体退磁风险
  • 电流调节器饱和
  • 转矩输出能力急剧下降

我曾经见过一个案例,弱磁深度超过0.5倍,电机直接失步,电流飙升烧了IGBT模块。

4.3 电流采样与重构技术

电流采样是FOC的基石。采样不准,后面全是白搭。

采样方式

常用的有三种:

采样方式 优点 缺点
霍尔电流传感器 隔离、精度高 成本高、体积大
采样电阻+运放 成本低、体积小 有损耗、需隔离
电流互感器 隔离、无损耗 低频响应差

我个人习惯用采样电阻方案,性价比最高。但要注意布局——采样电阻的走线要短而粗,差分信号要远离功率走线。

单电阻电流重构

这个技术很有意思。只用一只采样电阻(放在直流母线上),通过SVPWM不同开关状态下的电流信息,重构出三相电流。

原理是这样的:

  1. 在SVPWM的零矢量期间,母线电流为0
  2. 在有效矢量期间,母线电流等于某一相电流
  3. 通过两个不同有效矢量期间的采样值,结合Clark变换,算出三相电流
// 单电阻采样时序示例
// 在PWM周期内采样两次
void ADC_Trigger_Config(void) {
    // 第一次采样:在第一个有效矢量中间
    // 第二次采样:在第二个有效矢量中间
    // 注意:采样窗口要避开开关噪声
}

避坑指南:我曾经在单电阻重构上栽过跟头。当调制比接近1或0时,有效矢量时间太短,采样窗口不够。解决办法有两个:

  • 移相法:调整PWM相位,延长采样窗口
  • 双电阻法:在关键区域切换到双电阻采样

我建议新手先用双电阻方案,等把FOC跑顺了再挑战单电阻重构。

采样时序与噪声抑制

电流采样最怕什么?开关噪声。IGBT或MOSFET开关瞬间,电流波形上会有尖峰。采样点必须避开这个时间段。

我的经验是:采样点放在PWM周期的中间位置,距离开关沿至少1~2μs。如果开关频率是10kHz,一个周期100μs,采样窗口完全够用。

另外,硬件上要加RC滤波,截止频率通常设在开关频率的1/10左右。软件上再做一次均值滤波或中值滤波,效果更好。

嗯,FOC这块内容确实不少。从坐标变换到MTPA,再到弱磁和电流采样,每一步都有坑。但只要你把基本原理吃透了,再结合项目实践,慢慢就能找到感觉。我当年也是从对着示波器发呆开始的,别急,一步步来。