2. 电机基础与FOC原理
在进入ST Motor SDK的实战之前,必须先厘清被控对象——电机本体——的物理结构与数学模型。FOC(Field Oriented Control,磁场定向控制)并非一种单纯的算法,而是一套基于电机电磁模型的坐标变换与解耦控制框架。本章将聚焦直流无刷电机(BLDC)与永磁同步电机(PMSM)的结构差异,深入解析Clarke变换与Park变换的数学本质,并阐明SVPWM(空间矢量脉宽调制)如何将电压矢量高效地施加到电机绕组上。只有透彻理解这些底层原理,才能正确配置ST Motor SDK中的电机参数,并读懂调试波形中的异常。
上图展示了FOC控制链路的核心信号流:三相电流经Clarke变换得到静止两相坐标系下的分量,再经Park变换得到旋转坐标系下的直轴与交轴分量;控制器在dq轴系下分别调节励磁电流与转矩电流,输出经过反Park变换和SVPWM调制后驱动逆变桥。整个过程依赖精确的电角度θ,该角度由编码器或霍尔传感器实时提供。
BLDC与PMSM的结构差异及反电动势特征
BLDC与PMSM在物理结构上高度相似——定子均为三相绕组,转子均为永磁体。但两者在绕组绕制方式与反电动势波形上存在本质区别,这直接决定了控制策略的选择。
- BLDC(方波驱动):定子绕组采用集中式绕法,反电动势为梯形波。控制上通常采用六步换相法,任意时刻只有两相导通,第三相悬空。转矩脉动较大,但控制简单、成本低。
- PMSM(正弦波驱动):定子绕组采用分布式绕法或短距分布,反电动势为正弦波。控制上必须使用FOC或DTC(直接转矩控制),三相同时导通,合成旋转磁场平滑,转矩脉动极小,适合高精度伺服应用。
| 对比维度 | BLDC | PMSM |
|---|---|---|
| 反电动势波形 | 梯形波 | 正弦波 |
| 绕组分布 | 集中绕组 | 分布绕组 |
| 转矩脉动 | 较大(约10%-15%) | 小(<5%) |
| 控制方式 | 六步换相/方波 | FOC/正弦波 |
| 噪声与振动 | 较高 | 低 |
| ST SDK适用 | 支持(霍尔/反电动势检测) | 支持(编码器/霍尔) |
在ST Motor SDK中,选择电机类型时需明确填写反电动势系数Ke(V/千转)和极对数。若将PMSM配置为BLDC模式,会导致转矩波动加剧;反之,将BLDC配置为PMSM模式,则因反电动势谐波含量高,FOC的PI调节器难以完全抑制转矩脉动。
Clarke变换与Park变换的数学推导及物理意义
FOC的核心思想是解耦。三相静止坐标系下的电流矢量在空间上互差120°,直接控制困难。通过坐标变换,将三相电流映射到与转子同步旋转的dq坐标系中,即可将交流量转化为直流量,从而使用PI控制器实现无静差调节。
Clarke变换(3→2):将三相电流投影到两相静止αβ坐标系。等幅值变换的公式为:
Iα = Ia - 0.5*Ib - 0.5*Ic
Iβ = (√3/2)*(Ib - Ic)
该变换保持电流幅值不变,但功率计算需乘以3/2系数。ST SDK内部默认采用等幅值变换,因此在设置电流环增益时无需额外补偿。
Park变换(2→2旋转):将αβ坐标系旋转θ角(电角度),得到dq坐标系:
Id = Iα*cosθ + Iβ*sinθ
Iq = -Iα*sinθ + Iβ*cosθ
Id为励磁电流分量,Iq为转矩电流分量。对于表贴式PMSM(Ld=Lq),控制目标通常为Id=0,此时电磁转矩与Iq成正比。对于内置式PMSM(Ld≠Lq),可利用磁阻转矩,通过负Id注入实现最大转矩电流比(MTPA)控制。
SVPWM原理与扇区判断
SVPWM并非简单的正弦脉宽调制(SPWM),而是从逆变器开关组合的角度,直接合成期望的电压空间矢量。三相逆变器共有8种开关状态(6个有效矢量+2个零矢量),在αβ平面构成正六边形扇区。
SVPWM的调制流程分为四步:
- 扇区判断:根据Vα、Vβ的符号和大小关系,确定参考电压矢量所在的扇区(I~VI)。
- 相邻矢量作用时间计算:利用伏秒平衡原理,计算两个相邻有效矢量(T1、T2)和零矢量(T0)的作用时间。
- 占空比分配:将计算出的时间转换为三相上桥臂的占空比,并插入零矢量进行对称化处理,降低谐波。
- 死区补偿:为防止上下桥臂直通,需插入死区时间(典型值0.5~2μs),并在低转速时进行死区补偿。
| 扇区 | 条件(Vα, Vβ) | 相邻矢量 | 最大调制比 |
|---|---|---|---|
| I | Vα>0, Vβ>0, Vβ<√3Vα | V1(100), V2(110) | 0.866 |
| II | Vβ>0, Vβ>√3|Vα| | V2(110), V3(010) | 0.866 |
| III | Vα<0, Vβ>0, Vβ<-√3Vα | V3(010), V4(011) | 0.866 |
| IV | Vα<0, Vβ<0, Vβ>-√3Vα | V4(011), V5(001) | 0.866 |
| V | Vβ<0, Vβ<√3Vα | V5(001), V6(101) | 0.866 |
| VI | Vα>0, Vβ<0, Vβ>√3Vα | V6(101), V1(100) | 0.866 |
SVPWM的直流母线电压利用率比SPWM高约15%,这意味着在相同母线电压下,电机可达到更高的转速。ST Motor SDK的PWM频率默认设置为10kHz~20kHz,兼顾开关损耗与电流纹波。
坐标变换在ST Motor SDK中的参数映射
在ST Motor SDK的MC配置工具中,坐标变换相关的参数分散在多个界面。理解这些参数与数学公式的对应关系,是正确配置的前提。
- 电流采样放大倍数:对应Clarke变换前的电流重构。SDK支持三电阻采样和单电阻采样,需设置运放增益和ADC位数。
- 编码器分辨率与极对数:直接影响Park变换中的θ计算。若设置错误,会导致电流环振荡。
- 电流环带宽:PI参数基于电机电时间常数(L/R)整定。SDK的自动整定功能会通过阶跃响应辨识L和R。
- 弱磁控制:当转速超过基速时,需要负Id弱磁。SDK的弱磁模块基于电压反馈,自动调整Id参考值。
一个典型的调试案例:某客户使用ST Motor SDK驱动一台2对极PMSM,额定转速3000rpm,母线电压48V。初始配置时,客户将极对数误设为1,导致电角度计算减半。现象为:电机空载运行正常,但加载后电流急剧增大,转速跌落明显。通过ST Motor Profiler重新辨识,发现极对数错误,修正后转矩输出恢复正常。
此外,Clarke变换的零序分量处理也值得注意。在三电阻采样方案中,若母线电压较低或占空比过小,采样窗口可能不足。ST SDK通过插入最小采样时间或使用移相PWM解决此问题。在配置PWM频率时,需确保PWM周期大于ADC采样时间与死区时间之和。
最后,建议在完成本章学习后,使用ST Motor SDK的虚拟示波器功能,同时观察Iα/Iβ和Id/Iq波形。当电机稳定运行时,Id/Iq应为平滑的直流量,而Iα/Iβ为正弦波。若Id/Iq存在明显纹波,说明θ估算存在误差或电流采样噪声过大,需检查硬件滤波电路或软件滤波器参数。