第二讲:永磁同步电机数学模型 — 从物理世界到数学表达
各位同学,欢迎来到第二讲。
上一讲我们聊了FOC的基本框架,知道了我们要控制电流、电压,最终让电机转起来。但有个问题一直摆在那:电机内部的物理量,怎么变成我们能算的东西?
说白了,电机里转的是三相交流电,可我们做控制,最习惯处理的是直流分量。你想想看,PID控制器对直流信号多友好啊,可三相交流正弦波,PID直接上去调,效果会很差。
所以这一讲,我们要干一件大事:把三相交流的电机模型,变换成两相直流的模型。这就是Clark变换和Park变换要做的事。
2.1 为什么需要坐标变换?
我刚开始做电机控制时,也困惑过:直接算三相电压不行吗?
后来踩了个坑。有一次我在调试一个风机项目,三相电流波形看着挺漂亮,但转矩就是抖得厉害。查了三天,发现是三相不平衡导致的谐波问题。如果当时我用了坐标变换,把三相量转到两相旋转坐标系下看,问题一眼就能发现。
坐标变换的核心目的就两个:
- 解耦:把互相耦合的三相系统,变成独立的d轴和q轴
- 简化控制:把交流量变成直流量,PID直接上
记住这个核心思想:FOC的本质,就是把交流电机当成直流电机来控制。Clark+Park变换就是实现这个目标的数学工具。
2.2 Clark变换 — 从三相到两相静止坐标系
Clark变换,也叫3s/2s变换。它的任务是把三相静止坐标系(a, b, c)下的量,变换到两相静止坐标系(α, β)下。
为什么是两相?因为三相系统其实有冗余。你想想,三相电流加起来等于零(星形接法),所以知道两相就能算出第三相。
数学表达式是这样的:
// Clark变换矩阵(等幅值变换)
[ iα ] [ 1 -1/2 -1/2 ] [ ia ]
[ iβ ] = [ 0 √3/2 -√3/2 ] [ ib ]
[ ic ]
这里要注意一个细节:等幅值变换 vs 等功率变换。我个人习惯用等幅值变换,因为这样变换后的电流幅值和原来一致,调试时直观。但如果你做功率计算,记得用等功率变换,系数会差一个√(2/3)。
我的经验:在代码实现时,我建议把Clark变换写成宏或者内联函数。因为它在每个PWM周期都要调用,性能开销能省则省。
2.3 Park变换 — 从静止到旋转坐标系
Clark变换做完,我们得到了αβ坐标系下的量。但αβ坐标系还是静止的,里面的电流仍然是交流量。
Park变换的任务,就是把αβ坐标系旋转起来,让它跟着转子一起转。这样,在旋转坐标系下看,电流就变成直流了。
Park变换的公式:
// Park变换
[ id ] [ cosθ sinθ ] [ iα ]
[ iq ] = [ -sinθ cosθ ] [ iβ ]
这里的θ,就是转子位置角。嗯,问题来了:转子位置怎么得到?
这就是我们后面要讲的无传感器位置估算的核心。现在你先记住:Park变换需要知道θ,而θ的精度直接影响控制效果。
我曾经在一个项目中,因为角度估算误差大了5度,结果电机效率直接掉了8%。所以角度估算这事,马虎不得。
2.4 电压方程与磁链方程
有了坐标变换,我们就可以写出永磁同步电机在dq坐标系下的数学模型了。
电压方程:
ud = Rs * id + Ld * (did/dt) - ωe * Lq * iq
uq = Rs * iq + Lq * (diq/dt) + ωe * (Ld * id + ψf)
看着有点复杂?我拆开给你看:
- Rs * id:电阻压降,这个好理解
- Ld * (did/dt):电感上的压降,电流变化引起的
- -ωe * Lq * iq:反电动势项,这是电机转起来后产生的
注意看,d轴和q轴的方程是耦合的。d轴方程里有iq项,q轴方程里有id项。这就是为什么FOC要做解耦控制。
磁链方程:
ψd = Ld * id + ψf
ψq = Lq * iq
ψf是永磁体产生的磁链,这是永磁同步电机的核心参数。我见过不少工程师,电机参数表上写的ψf是0.1Wb,结果实际测出来只有0.08Wb。所以拿到新电机,第一件事就是测参数。
注意:Ld和Lq在表贴式永磁同步电机(SPMSM)中是相等的,但在内置式永磁同步电机(IPMSM)中,Lq > Ld。这个差异会带来磁阻转矩,也是IPMSM能做弱磁扩速的原因。
2.5 转矩方程 — 电机到底能出多大力?
终于到了大家最关心的部分:转矩。
永磁同步电机的转矩方程:
Te = 1.5 * p * [ ψf * iq + (Ld - Lq) * id * iq ]
这个公式里有两项:
- ψf * iq:永磁转矩,这是主要的转矩来源。你给iq,它就出力。
- (Ld - Lq) * id * iq:磁阻转矩,只有IPMSM才有。利用这个转矩,可以让电机更高效。
我做过一个项目,客户要求电机在高速区还能输出大转矩。我们就是靠注入负的id,利用磁阻转矩来实现的。当时调试了整整两周,才找到最优的id/iq分配比。
核心结论:控制转矩,本质上就是控制iq。而id的作用,要么是零(SPMSM),要么是负值(IPMSM弱磁)。
2.6 实践中的注意事项
讲完理论,说点实际的。你在写代码时,这几个坑一定要避开:
- 角度对齐:Park变换用的θ,必须和电机转子的实际位置对齐。差一个电角度,转矩方向就反了。
- 采样时序:电流采样要在PWM的中间时刻进行,避开开关噪声。我吃过这个亏,采样点没选好,电流波形全是毛刺。
- 参数标定:Rs、Ld、Lq、ψf这些参数,一定要实测。不要迷信数据手册,同一批电机都有差异。
好了,这一讲的内容就到这里。Clark变换和Park变换是FOC的数学基础,电压方程和转矩方程是控制算法的理论依据。下一讲,我们会把这些方程变成实际的代码,看看怎么在MCU上实现FOC的核心算法。
记住:理论是死的,但应用是活的。多动手,多调试,你才能真正理解这些公式背后的物理意义。
课后练习:找一个电机参数,手动计算一下在额定转速下,id=0控制时的uq值。然后对比实际测试结果,看看误差有多大。