4. 数学基础

无刷电机FOC(Field-Oriented Control,磁场定向控制)算法的核心,是将三相交流电流通过坐标变换,等效为旋转坐标系下的直轴(d轴)和交轴(q轴)分量,从而实现对电机转矩和磁通的解耦控制。这一系列变换与推导,本质上建立在复变函数、向量代数、三角函数以及微分方程等数学工具之上。若缺乏对这些数学概念的直观理解,FOC中的Park变换、Clark变换、PI调节器参数整定以及状态观测器设计都将成为无源之水。本章将系统梳理这些数学基础,并重点剖析它们在FOC推导中的具体落点。

FOC数学基础与变换链路 三相静止坐标系 ia, ib, ic 三角函数/复平面投影 Clark 两相静止坐标系 iα, iβ 向量模长/角度 Park 旋转坐标系 (d-q) id, iq 复数乘法/旋转因子 电机微分方程 L·di/dt + R·i + e 一阶线性/状态空间 电压方程 PI控制器 Kp + Ki/s 复频域/极点配置 误差 Vd, Vq 反Park变换 Vα, Vβ 旋转因子共轭 SVPWM 空间向量合成 扇区判断/矢量作用时间 数学工具支撑层 复数与向量 旋转因子e^jθ 三角函数 sin/cos正交性 微分方程 动态响应/稳定性 线性代数 矩阵变换/特征值

上图展示了FOC算法中数学工具与变换模块之间的支撑关系。从三相电流到两相静止坐标系的Clark变换,再到旋转坐标系的Park变换,每一步都离不开复数旋转与三角函数运算;而电机绕组的电压方程则是一阶微分方程组,PI控制器的设计又需要复频域知识。下面我们逐一展开。

4.1 复数与向量:旋转的数学语言

4.1.1 核心原理:复数作为旋转算子

在FOC中,三相交流量(电压、电流、磁链)本质上是随时间变化的正弦量。若将正弦量表示为复数形式,则可以将微积分运算转化为代数运算。复数\( \hat{A} = A_m e^{j\theta} \)的模\( A_m \)对应正弦量的幅值,辐角\( \theta \)对应相位。两个同频正弦量的相位差,在复数域中表现为辐角之差。

更关键的是,复数乘法\( e^{j\theta_1} \cdot e^{j\theta_2} = e^{j(\theta_1+\theta_2)} \)揭示了旋转的叠加性质。在Park变换中,将两相静止坐标系(α-β轴)变换到旋转坐标系(d-q轴),本质上就是乘以旋转因子\( e^{-j\theta_e} \),其中\( \theta_e \)为转子电角度。这一乘法将交流量变为直流量,为后续PI控制创造了条件。

FOC中的向量视角:三相电流\( i_a, i_b, i_c \)可以合成一个空间电流矢量\( \vec{i_s} = \frac{2}{3}(i_a + i_b e^{j\frac{2\pi}{3}} + i_c e^{j\frac{4\pi}{3}}) \)。这个矢量在复平面上的轨迹,直观反映了三相电流的平衡程度与谐波含量。若三相平衡,矢量轨迹为圆形;若存在负序分量,轨迹变为椭圆。

4.1.2 判断方法:从复数到坐标变换的矩阵形式

Clark变换将三相静止坐标映射到两相静止坐标,其矩阵形式为:

[ iα ]   [ 1    -1/2   -1/2  ] [ ia ]
[ iβ ] = [ 0    √3/2  -√3/2 ] [ ib ]
                [ ic ]

Park变换则将α-β坐标旋转到d-q坐标:

[ id ]   [ cosθe   sinθe ] [ iα ]
[ iq ] = [ -sinθe  cosθe ] [ iβ ]

这两个变换矩阵的推导,正是基于复数的旋转性质。Clark变换相当于将三相复平面上的三个对称向量投影到实轴和虚轴;Park变换则是将整个坐标系旋转\( \theta_e \)角,使d轴与转子磁链方向对齐。

4.1.3 案例拆解:三相不平衡电流的复数分析

假设某电机在运行中出现一相断路(如a相断开),此时\( i_a = 0 \),\( i_b = -i_c = I_m \sin(\omega t) \)。利用复数合成,空间电流矢量变为:

is = (2/3)(0 + Ib·e^(j2π/3) + Ic·e^(j4π/3))
   = (2/3)(Im·sin(ωt)·e^(j2π/3) - Im·sin(ωt)·e^(j4π/3))
   = (2/3)·Im·sin(ωt)·(e^(j2π/3) - e^(j4π/3))
   = (2/3)·Im·sin(ωt)·(j√3)
   = j·(2√3/3)·Im·sin(ωt)

该矢量始终在虚轴上振荡,幅值随时间变化,说明产生了脉振磁场而非旋转磁场。这会导致电机转矩脉动和噪声增大。通过复数分析,我们可以快速判断故障类型,并设计相应的容错控制策略。

4.1.4 常见误区与总结

  • 误区1:将Park变换中的\( \theta_e \)误认为是机械角度。实际上\( \theta_e = P/2 \cdot \theta_m \),其中P为极对数。
  • 误区2:忽略Clark变换的等幅值或等功率约束。等幅值变换系数为2/3,等功率变换系数为√(2/3),两者在PI参数整定时结果不同。
  • 误区3:认为复数只用于稳态分析。在动态过程中,瞬时值同样可以用复数表示,只是需要区分旋转因子与时间函数的乘积。

经验提醒:在编写FOC代码时,建议将Clark和Park变换封装为独立的函数,并明确标注变换系数。调试时,先用直流信号验证变换矩阵的正确性,再接入三相正弦信号观察d-q轴波形是否平稳。

4.2 三角函数:正交分解与角度解算

4.2.1 核心原理:三角函数的正交性

三角函数\( \sin(\theta) \)与\( \cos(\theta) \)在\( [0, 2\pi] \)区间内满足正交性:

∫₀²π sin(θ)·cos(θ) dθ = 0
∫₀²π sin²(θ) dθ = π
∫₀²π cos²(θ) dθ = π

这一性质在FOC中至关重要。当三相电流经过Clark变换后,\( i_\alpha \)和\( i_\beta \)仍然是正弦量,但它们的正交性使得我们可以通过Park变换提取出直流分量。此外,转子位置估算(无传感器FOC)常利用反电动势的三角函数关系:

eα = -λm·ωe·sin(θe)
eβ = λm·ωe·cos(θe)

通过反正切函数\( \theta_e = \text{atan2}(-eα, eβ) \)即可获得转子位置。

4.2.2 操作流程:角度归一化与查表法

在实际工程中,三角函数计算常采用查表法或CORDIC算法以节省CPU时间。角度归一化是关键步骤:

  1. 将电角度\( \theta_e \)映射到\( [0, 2\pi) \)区间,通常用取模运算实现。
  2. 根据精度要求,建立正弦表(如1024点或4096点)。
  3. 查表时采用线性插值或二次插值提高精度。
  4. 注意角度溢出问题,使用无符号整数或浮点数时都要防止边界跳变。

4.2.3 案例拆解:转子初始位置检测

在电机启动前,需要知道转子初始位置。一种方法是通过注入高频电压信号,检测电流响应。设注入d轴高频电压\( v_d = V_h \cos(\omega_h t) \),则q轴会感应出与转子位置误差相关的电流分量:

iq_h ≈ (V_h·ωh·Ld·Lq·sin(2Δθ)) / (2·(Ld·Lq·ωh² - R²))

其中\( \Delta\theta \)为估计位置与实际位置的误差。通过锁相环(PLL)调节\( \Delta\theta \)趋近于零,即可锁定转子位置。这一过程完全依赖三角函数的正交性和差频特性。

4.2.4 常见误区与总结

  • 误区1:在Park变换中使用度而非弧度。C语言数学库默认使用弧度,混用会导致角度偏差。
  • 误区2:忽略三角函数计算的时间开销。在高速中断服务程序中,应避免直接调用sin/cos函数,改用查表或近似算法。
  • 误区3:认为反正切函数atan2返回范围是\( [-\pi, \pi] \),实际需要根据应用场景进行角度归一化处理。

风险提示:在无传感器FOC中,反电动势过零检测依赖三角函数关系。当电机转速过低时,反电动势幅值很小,信噪比下降,此时应切换至其他启动策略(如I-F启动或高频注入法),避免位置估算失效。

4.3 微分方程基础:电机动态建模与控制器设计

4.3.1 核心原理:电机绕组的微分方程

永磁同步电机(PMSM)在d-q旋转坐标系下的电压方程为:

vd = Rs·id + Ld·(did/dt) - ωe·Lq·iq
vq = Rs·iq + Lq·(diq/dt) + ωe·(Ld·id + λm)

这是一组一阶线性微分方程,其中\( R_s \)为定子电阻,\( L_d, L_q \)为d-q轴电感,\( \lambda_m \)为永磁体磁链。电磁转矩方程为:

Te = (3/2)·P·(λm·iq + (Ld - Lq)·id·iq)

对于表贴式电机(\( L_d = L_q \)),转矩简化为\( T_e = (3/2)·P·\lambda_m·i_q \),实现了转矩与磁通的完全解耦。

4.3.2 判断方法:微分方程的求解与稳定性分析

对上述微分方程进行拉普拉斯变换,可以得到电流环的传递函数:

G(s) = 1 / (L·s + R)

这是一个一阶惯性环节,其时间常数\( \tau = L/R \)。PI控制器的参数整定通常采用零极点对消法:令\( K_p/K_i = L/R \),则闭环传递函数变为:

Gc(s) = Kp·s + Ki / (L·s² + (R+Kp)·s + Ki)

通过配置闭环极点,可以确定\( K_p \)和\( K_i \)的具体数值。例如,期望带宽为\( \omega_{bw} \),则:

Kp = L·ωbw
Ki = R·ωbw

4.3.3 案例拆解:电流环PI参数整定

某PMSM参数:\( R_s = 0.5\Omega \),\( L_d = L_q = 1.2\text{mH} \),极对数\( P = 4 \),额定电流\( I_N = 10A \)。要求电流环带宽\( \omega_{bw} = 2000\text{rad/s} \)(约318Hz)。

计算过程:

Kp = L·ωbw = 1.2e-3 × 2000 = 2.4 V/A
Ki = R·ωbw = 0.5 × 2000 = 1000 V/(A·s)

实际调试中,先以计算值为基准,逐步增大Kp观察电流响应是否出现振荡。若振荡,则适当减小Kp或增加Ki。同时注意,数字控制器的离散化会引入延迟,通常需要将带宽设置为系统采样频率的1/10~1/20。

结果对比:整定前,电流阶跃响应超调量约20%,调节时间约5ms;整定后,超调量降至5%以内,调节时间缩短至1ms。但代价是抗噪声能力下降,需要增加低通滤波器。

4.3.4 常见误区与总结

  • 误区1:忽略反电动势交叉耦合项\( -\omega_e L_q i_q \)和\( \omega_e L_d i_d \)。在高速运行时,耦合项会显著影响电流环性能,需要引入前馈解耦。
  • 误区2:将微分方程离散化时直接使用欧拉法。对于快速变化的电流,建议使用双线性变换(Tustin)或零阶保持器(ZOH)离散化。
  • 误区3:认为PI参数整定一次即可。电机参数会随温度、磁饱和变化,需要在线辨识或鲁棒控制策略。

工程实践要点:在FOC控制中,电流环的采样频率通常为10~20kHz,速度环为1~2kHz。微分方程的数值求解精度直接影响控制性能。建议使用定点数或浮点数运算时,注意数据溢出和舍入误差。

4.4 数学工具在FOC中的综合应用

4.4.1 核心原理:从数学到算法的映射

FOC算法的完整链路为:三相电流采样 → Clark变换 → Park变换 → PI调节 → 反Park变换 → SVPWM调制。每一步都对应特定的数学运算。下表总结了各环节的数学工具与作用:

算法环节 数学工具 关键公式/概念 工程注意事项
Clark变换 向量投影、复数 \( i_\alpha = \frac{2}{3}(i_a - \frac{1}{2}i_b - \frac{1}{2}i_c) \) 系数选择(等幅值/等功率)
Park变换 复数旋转、三角函数 \( i_d = i_\alpha\cos\theta_e + i_\beta\sin\theta_e \) 角度同步性、归一化
PI控制器 微分方程、复频域 \( G_c(s) = K_p + K_i/s \) 带宽配置、抗饱和
反Park变换 复数共轭旋转 \( v_\alpha = v_d\cos\theta_e - v_q\sin\theta_e \) 与Park变换角度一致
SVPWM 空间向量、三角函数 扇区判断、矢量作用时间 死区补偿、最小脉宽限制

4.4.2 操作流程:数学模型的仿真验证

在开发FOC算法时,建议先在MATLAB/Simulink中搭建仿真模型,验证数学推导的正确性。具体步骤:

  1. 建立PMSM的微分方程模型,设置电机参数。
  2. 实现Clark/Park变换模块,用三相正弦电流输入,观察d-q轴输出是否为直流量。
  3. 加入PI控制器,调整参数观察电流响应。
  4. 加入SVPWM调制,观察逆变器输出电压波形。
  5. 将仿真结果与理论计算对比,验证数学模型的准确性。

4.4.3 案例拆解:参数失配的影响分析

假设实际电机电感\( L_{real} = 1.5\text{mH} \),而控制器中使用的电感参数\( L_{ctrl} = 1.2\text{mH} \)。在PI参数整定时,零极点对消不再精确,闭环传递函数变为:

Gc(s) = (Kp·s + Ki) / (L_real·s² + (R+Kp)·s + Ki)

代入数值:\( K_p = 2.4 \),\( K_i = 1000 \),\( L_{real} = 1.5e-3 \),\( R = 0.5 \):

Gc(s) = (2.4s + 1000) / (1.5e-3·s² + 2.9·s + 1000)

该系统的阻尼比变为\( \zeta = 2.9 / (2·√(1.5e-3·1000)) ≈ 1.18 \),系统过阻尼,响应变慢。若电感失配更严重,可能导致系统不稳定。因此,在工程中需要加入参数在线辨识或采用自适应控制。

4.4.4 常见误区与总结

  • 误区1:认为数学推导与实际代码完全一致。数字控制器的离散化、量化误差、延时都会影响性能。
  • 误区2:忽略坐标变换中的角度更新频率。角度滞后会导致d-q轴耦合,需要角度补偿。
  • 误区3:在调试时只关注稳态波形,不关注动态过程。建议用阶跃响应和频率响应评估系统性能。

复盘建议:每次调试FOC系统时,记录以下数据:三相电流波形、d-q轴电流、角度估算误差、PI输出限幅状态。通过对比这些数据与理论预期,可以快速定位数学建模或参数整定中的问题。

综上所述,复数和向量提供了旋转坐标系的数学框架,三角函数支撑了正交分解与角度解算,微分方程则描述了电机动态行为并指导控制器设计。三者相互交织,构成了FOC算法的数学基石。掌握这些基础,不仅能帮助理解FOC的原理,更能为后续的进阶内容(如无传感器控制、弱磁控制、参数辨识)打下坚实基础。