第二章 矢量控制(FOC)原理:从三相到两相的魔法
各位工程师朋友,咱们今天聊聊FOC的核心。说实话,我刚接触这玩意儿时,也觉得它挺玄乎的。什么Clark变换、Park变换,听着像天书。但干久了你会发现,它其实就是把复杂问题简单化的一个工具。
你想想看,电机里跑的是三相交流电,三个线圈,电流相位差120度。这玩意儿怎么控制?直接控制三相电流?太麻烦了。FOC的思路很直接——先把三相变成两相,再让这两相跟着转子转。嗯,这就是核心思想。
2.1 Clark变换:从ABC到αβ
Clark变换,说白了就是把三相坐标系(A、B、C)投影到两相静止坐标系(α、β)上。为什么这么做?因为三相系统有冗余——三个变量其实只有两个是独立的。
公式长这样:
Iα = Ia
Iβ = (Ia + 2*Ib) / √3
注意,这里假设三相平衡。我在项目中遇到过一个问题:采样电流有偏移,导致Clark变换后的αβ分量不对称,电机跑起来嗡嗡响。后来发现是电流传感器零漂没校准。所以啊,采样精度直接影响变换结果。
2.2 Park变换:从静止到旋转
Clark变换完了,得到的是静止坐标系下的电流。但电机转子在转啊!你想想看,如果控制量跟着转子一起转,那控制起来就简单多了——就像你开车,方向盘跟着车头方向转,而不是对着固定方向打。
Park变换就是干这个的。它把αβ坐标系旋转到转子磁极方向(d轴)和垂直方向(q轴)。公式:
Id = Iα * cos(θ) + Iβ * sin(θ)
Iq = -Iα * sin(θ) + Iβ * cos(θ)
这里的θ是转子位置角,通常来自旋变或编码器。我曾经踩过一个坑:旋变初始位置没标定好,导致Park变换后的d、q轴电流完全不对,电机根本转不起来。后来我养成了一个习惯——每次上电先做一次位置自学习。
2.3 SVPWM调制:把电压指令变成开关信号
好了,现在我们有d、q轴电流指令了。经过PI调节器,得到d、q轴电压指令。但逆变器只认开关信号,不认电压值。怎么办?SVPWM(空间矢量脉宽调制)就是干这个的。
SVPWM的核心思想:用八个基本电压矢量(六个非零矢量+两个零矢量)合成任意方向的电压矢量。说白了,就是通过调节开关管的导通时间,让平均电压等于你想要的电压。
具体步骤:
- 根据Uα、Uβ判断目标电压矢量在哪个扇区
- 计算相邻两个基本矢量的作用时间T1、T2
- 计算零矢量的作用时间T0
- 生成PWM比较值
代码示例(简化版):
// 扇区判断
if (Uβ > 0) {
if (Uα > 0) sector = 1;
else sector = 2;
} else {
if (Uα < 0) sector = 4;
else sector = 5;
}
// 计算作用时间
T1 = (√3 * Ts / Udc) * (Uα * sin(60° - θ) + Uβ * cos(60° - θ));
T2 = (√3 * Ts / Udc) * (-Uα * sin(θ) + Uβ * cos(θ));
T0 = Ts - T1 - T2;
这里Ts是PWM周期,Udc是母线电压。我建议把扇区判断和矢量作用时间计算做成查表,能省不少CPU时间。
2.4 电流环与速度环双闭环控制架构
FOC的控制架构,说白了就是两个环套在一起。内环是电流环,外环是速度环。为什么这么设计?因为电流响应快,速度响应慢。先稳住电流,再调速度,这样系统才稳定。
电流环:
- 输入:d、q轴电流指令(来自速度环)
- 反馈:实际d、q轴电流(经Clark+Park变换得到)
- 控制器:PI调节器
- 输出:d、q轴电压指令
速度环:
- 输入:目标转速
- 反馈:实际转速(来自位置传感器)
- 控制器:PI调节器
- 输出:q轴电流指令(Id*通常设为0)
这里有个细节:电流环的PI参数和速度环的PI参数要分开整定。我一般先调电流环,再调速度环。电流环带宽通常设到1-2kHz,速度环带宽100-200Hz。为什么?因为电流环要快,才能跟上速度环的变化。
双闭环的传递函数可以简化成:
G(s) = (Kp + Ki/s) * (1/(Ls + R))
其中L是电感,R是电阻。实际项目中,电感和电阻会随温度和电流变化。所以PI参数不能一成不变。我习惯做在线参数辨识,或者至少做温度补偿。
2.5 总结与个人体会
FOC这套东西,说难不难,说简单也不简单。Clark变换和Park变换是数学工具,SVPWM是执行手段,双闭环是控制策略。把它们串起来,就是一个完整的矢量控制系统。
我做了这么多年电机控制,最大的体会是:理论要懂,但更要会调。很多问题在仿真里看不出来,一上电机就暴露了。比如电流采样噪声、PWM死区效应、位置传感器延迟——这些在教科书里很少提,但在实际项目中天天见。
嗯,今天就聊到这儿。下一章咱们聊聊MTPA(最大转矩电流比)控制和弱磁控制,那才是真正考验功力的地方。
| 模块 | 关键参数 | 常见问题 |
|---|---|---|
| Clark变换 | 电流采样偏置 | 零漂导致电流不对称 |
| Park变换 | 转子位置角 | 位置传感器误差 |
| SVPWM | PWM频率、死区时间 | 电压利用率、谐波 |
| 电流环 | PI参数、带宽 | 震荡、响应慢 |
| 速度环 | PI参数、带宽 | 超调、稳态误差 |