1. 课程导入
异步电机(感应电机)因结构简单、成本低、可靠性高,长期占据工业传动的主流位置。但它又是一个典型的“非线性、多变量、强耦合”对象:定子电流既建立磁场又产生转矩,转子参数随温度漂移,磁链无法直接测量。若只靠恒压频比(V/F)控制,低速转矩不足、动态响应迟缓、效率偏低。磁场定向控制(Field-Oriented Control,FOC)正是为解决这些矛盾而生的工程方法——通过坐标变换把交流量“直流化”,像控制他励直流电机一样分别控制磁链与转矩。
本课程的目标不是停留在公式推导,而是建立一条完整的工程链路:电机数学模型 → 坐标变换 → 电流环/速度环设计 → 磁链观测 → SVPWM调制 → 参数辨识与调试 → 代码落地与故障排查。学完后,你应能独立完成一套异步电机FOC驱动器的方案设计、参数整定与问题定位。
一、核心概念:三个“解耦”
理解FOC,抓住三个关键词即可。
- 坐标解耦:将三相静止坐标系(A-B-C)经Clarke变换到两相静止坐标系(α-β),再经Park变换到两相旋转坐标系(d-q)。在按转子磁链定向的d-q系中,d轴电流isd近似只控制磁链,q轴电流isq近似只控制转矩。
- 磁链定向:定向角θs的准确性决定解耦质量。异步电机转子磁链不可直接测量,需通过电流模型、电压模型或混合模型观测,这是工程中最易出问题的环节。
- 带宽分层:电流环带宽最高(通常1~2 kHz),速度环次之(几十至几百Hz),磁链观测最慢。分层设计保证内环快速跟随、外环稳定收敛。
与之对应的关键参数包括:定子电阻Rs、转子电阻Rr、定转子漏感Lls/Llr、互感Lm、转子时间常数Tr=Lr/Rr、极对数p。其中Tr直接决定磁链观测与转差频率计算的精度,是参数辨识的重点。
二、整体框架:从采样到PWM的信号链
下图给出异步电机FOC的完整信号链与数据流关系。左侧为采样与变换,中部为双闭环与磁链观测,右侧为调制与功率输出,下方为参数与保护支撑。
从图中可见,FOC并非单一算法,而是一条闭环数据链:采样精度、定向角精度、调制线性度、参数准确性,任一环节劣化都会在转矩脉动、电流畸变或低速不稳定上体现出来。
三、典型应用场景与工程约束
不同场景对FOC的要求差异很大,下表给出常见应用的关注重点。
| 应用场景 | 核心诉求 | 关键约束 | FOC设计侧重 |
|---|---|---|---|
| 变频空调/风机泵类 | 低速平稳、低噪声、节能 | 无速度传感器、成本敏感 | 磁链观测鲁棒性、低频转矩补偿 |
| 电梯/起重 | 零速大转矩、防溜车 | 编码器反馈、安全冗余 | 速度环刚度、转矩限幅、抱闸时序 |
| 电动汽车主驱 | 宽调速、高效率、快响应 | 弱磁区、母线电压波动 | MTPA/弱磁、电流环带宽、过调制 |
| 数控机床主轴 | 高转速精度、低转矩脉动 | 高开关频率、死区影响 | 死区补偿、电流采样同步、SVPWM优化 |
四、常见误区与学习复盘
误区一:把FOC等同于“加个Park变换”。 真正难点在定向角与参数。θs偏差10°电角度,转矩输出就会明显下降并出现耦合振荡。
误区二:忽视采样与调制的时间对齐。 电流采样时刻若不在PWM中点,采样值包含纹波,电流环会放大噪声。工程上常采用“中心对齐采样+下桥臂电流重构”。
复盘建议: 每调通一个环节,先用示波器观察对应波形再进入下一环。推荐顺序为:开环V/F验证硬件 → 电流环闭环(堵转或小转矩)→ 磁链观测投入 → 速度环闭环 → 参数辨识与弱磁。切忌一次性全部投入后盲目调参。
下面是一段典型的FOC主中断伪代码框架,后续章节将逐行展开其工程实现细节。
void FOC_ISR(void) {
/* 1. 采样:相电流、母线电压、转速 */
ia = ADC_Read(IA); ib = ADC_Read(IB); udc = ADC_Read(UDC);
/* 2. Clarke + Park */
i_alpha = ia; i_beta = (ia + 2*ib) * ONE_BY_SQRT3;
i_sd = i_alpha*cos_th + i_beta*sin_th;
i_sq = -i_alpha*sin_th + i_beta*cos_th;
/* 3. 磁链观测:更新 theta_s 与 psi_r */
Flux_Observer(i_sd, i_sq, omega_r, &psi_r, &theta_s);
/* 4. 双闭环 PI */
i_sq_ref = Speed_PI(omega_ref - omega_r);
u_sd = Current_PI_D(i_sd_ref - i_sd);
u_sq = Current_PI_Q(i_sq_ref - i_sq);
/* 5. 反Park + SVPWM */
u_alpha = u_sd*cos_th - u_sq*sin_th;
u_beta = u_sd*sin_th + u_sq*cos_th;
SVPWM(u_alpha, u_beta, udc);
}
本课程后续将围绕这条链路逐层拆解:先建立异步电机在d-q系的动态模型,再讨论磁链观测器的选型与离散化,随后进入电流环、速度环的带宽设计与抗饱和处理,最后落到SVPWM实现、参数辨识、弱磁与工程排障。掌握这条主线,你面对任何一款电机与控制器,都能快速定位问题所在。