1. 电机控制基础回顾:永磁同步电机(PMSM)数学模型、坐标变换(Clark/Park)、电压方程与转矩方程

各位同学,欢迎来到《弱磁控制实战与SVPWM应用》的第一章。

说实话,我见过太多工程师一上来就调SVPWM波形,结果电机嗡嗡响就是不转。为什么?因为基础没打牢。今天咱们花点时间,把PMSM的数学模型和坐标变换彻底捋清楚。这些东西你搞懂了,后面弱磁、MTPA什么的,就是水到渠成的事。

1.1 永磁同步电机到底长什么样?

先说说PMSM的结构。转子是永磁体,定子是三相绕组。你给它通三相交流电,定子产生旋转磁场,拽着转子跑。就这么简单。

但实际控制起来,麻烦就来了——三相系统是强耦合、非线性的。你想想看,A相电流的变化会影响B相和C相,而且转子位置一变,电感也跟着变。直接在三相坐标系下算控制量?那简直是噩梦。

核心思路: 把三相交流电机,等效成直流电机来控制。怎么做?坐标变换。

1.2 坐标变换:从ABC到αβ,再到dq

坐标变换分两步走。我个人习惯叫它「降维打击」。

1.2.1 Clark变换(3相 → 2相静止)

把三相ABC坐标系,投影到两相静止的αβ坐标系上。说白了,就是把三个绕组的磁场,用两个垂直的绕组来等效。

数学表达式很简单(等幅值变换):

// Clark变换
iα = iA
iβ = (iA + 2*iB) / √3

注意,这里我用了等幅值变换。有些教材用等功率变换,系数会差一个√(2/3)。我个人建议做工程用等幅值,后面算SVPWM的时候方便,不用来回乘系数。

我的经验: 实际代码里,iA + iB + iC = 0这个条件经常用。所以你可以只采样两相电流,第三相算出来就行。省一个ADC通道,不香吗?

1.2.2 Park变换(2相静止 → 2相旋转)

Clark变换完了,还是交流量。再做一个Park变换,把αβ坐标系旋转起来,让它跟着转子走。这样,交流量就变成了直流量。

// Park变换
id = iα * cosθ + iβ * sinθ
iq = -iα * sinθ + iβ * cosθ

θ是转子位置角,一般用编码器或者霍尔传感器读出来。

为什么要这么做?因为id和iq是直流量,你用PI控制器去跟踪直流参考值,没有静差,稳得很。

注意: 角度θ的零点定义很关键。我见过有人把编码器Z信号和电机反电动势零点没对齐,结果id、iq算出来全是错的,电机一加载就抖。建议上电先做一次角度校准。

1.3 PMSM的数学模型(dq坐标系下)

经过Clark和Park变换,PMSM的模型就清爽多了。咱们直接看dq坐标系下的电压方程和磁链方程。

1.3.1 电压方程

ud = Rs * id + Ld * (did/dt) - ωe * Lq * iq
uq = Rs * iq + Lq * (diq/dt) + ωe * (Ld * id + ψf)

这里:

  • ud、uq:d轴和q轴电压(你要控制的量)
  • id、iq:d轴和q轴电流
  • Rs:定子电阻
  • Ld、Lq:d轴和q轴电感(注意,凸极电机Ld ≠ Lq)
  • ωe:电角速度
  • ψf:永磁体磁链

你仔细看这两个方程。ud方程里有个 -ωe * Lq * iq,uq方程里有个 +ωe * Ld * id。这就是交叉耦合项。速度越高,耦合越强。如果不做解耦控制,高速时id和iq会互相打架。

避坑指南: 我曾经在一个高速风机项目里,没做解耦,结果转速一上5000rpm,电流环就开始震荡。后来加了前馈解耦,问题立刻解决。所以,超过额定转速的场合,解耦是必须的。

1.3.2 磁链方程

ψd = Ld * id + ψf
ψq = Lq * iq

d轴磁链由两部分组成:id产生的磁链 + 永磁体磁链。q轴磁链只由iq产生。

1.3.3 转矩方程

这是控制的核心目标:

Te = 1.5 * pn * [ψf * iq + (Ld - Lq) * id * iq]

其中pn是极对数。

这个公式包含两项:

  • ψf * iq:永磁转矩,跟iq成正比。这是主要的出力项。
  • (Ld - Lq) * id * iq:磁阻转矩。对于凸极电机(Ld < Lq),这一项是负的。你给一个负的id,就能产生额外的正向转矩。

这就是弱磁和MTPA(最大转矩电流比)的理论基础。后面几章我们会详细讲。

1.4 知识体系总览

下面这张图,把本章的核心逻辑串起来了。你对照着看,思路会更清晰。

PMSM控制基础:从三相到dq坐标系 PMSM控制基础:从三相到dq坐标系 三相ABC 强耦合、非线性 Clark αβ静止坐标系 两相、交流量 Park dq旋转坐标系 两相、直流量 电压方程 ud = Rs·id + Ld·did/dt - ωe·Lq·iq uq = Rs·iq + Lq·diq/dt + ωe·(Ld·id+ψf) 磁链方程 ψd = Ld·id + ψf ψq = Lq·iq 转矩方程 Te = 1.5·pn·[ψf·iq + (Ld-Lq)·id·iq] 💡 核心思想 通过Clark+Park变换,将三相交流电机等效为直流电机,实现解耦控制 关键参数 Rs:定子电阻 Ld/Lq:电感 ψf:永磁磁链 pn:极对数

1.5 小结

好了,这一章的内容就这些。咱们回顾一下重点:

  • Clark变换:ABC → αβ,把三相变两相。
  • Park变换:αβ → dq,把交流变直流。
  • 电压方程:记住交叉耦合项,高速必须解耦。
  • 转矩方程:永磁转矩 + 磁阻转矩,弱磁和MTPA的根源。

这些公式你最好手推一遍。我在带团队的时候,要求每个新人都要默写Clark和Park变换矩阵。别嫌烦,基础越扎实,后面调参越顺手。

一个小建议: 学完这章,去你的开发板上跑一下Clark和Park变换的代码。用DAC输出id和iq的波形,看看是不是直流量。亲眼看到波形从正弦波变成直线,那种感觉,比看十遍书都管用。