第1章 电机控制基础回顾:直流与交流电机原理、FOC基本概念、Clark与Park变换

各位同学,欢迎来到《三环控制SVPWM与速度环联动》的第一章。

说实话,做电机控制这些年,我见过太多人一上来就啃SVPWM、调PID,结果连电机为什么转都说不清楚。这就像盖楼不打地基——早晚要塌。所以咱们第一章,先把底子夯实。

我会从最基础的直流电机讲起,一路聊到交流电机的FOC控制,最后把Clark和Park变换的数学推导掰开揉碎了给你看。别怕数学,我会用我踩过的坑帮你理解。

1.1 直流电机:最朴素的调速逻辑

直流电机为什么好控制?说白了,它的转矩和转速是解耦的。

你看这个公式:T = Kt × Ia,转矩只跟电枢电流有关。转速呢?n = (U - Ia×Ra) / Ke,主要看电压。这就是为什么早期调速都用直流电机——你调电压就控转速,调电流就控转矩,互不干扰。

但直流电机有个硬伤:电刷和换向器。我当年在实验室调一个直流伺服电机,刷握弹簧松了,火花打得跟电焊似的。从那以后,我对无刷方案就特别上心。

直流电机核心特点:

  • 转矩与电流成正比(线性好)
  • 转速与电压成正比(调速简单)
  • 有刷结构:维护成本高,有火花,寿命短
  • 无刷直流(BLDC):用电子换向替代机械电刷

1.2 交流电机:为什么需要FOC?

交流电机没有电刷,结构简单、皮实耐用。但问题来了——它的转矩和电流不是简单的线性关系。

异步电机里,转子电流是感应出来的,你没法直接控制。同步电机虽然转子有永磁体,但定子磁场和转子磁场之间有个夹角,这个夹角直接决定了输出转矩。你想想看,如果夹角变了,转矩就变了,可你根本不知道夹角是多少。

这就是交流电机调速的痛点:非线性、强耦合。

FOC(磁场定向控制)就是来解决这个问题的。它的核心思路是:把交流电机假装成直流电机来控制。

我的理解: FOC不是魔法,它是一套坐标变换的数学工具。通过变换,把三相交流的耦合量,拆成两个独立的直流分量——一个控磁通,一个控转矩。跟直流电机的电枢和励磁分开控制是一个道理。

1.3 Clark变换:从三相到两相

Clark变换是第一步。它把三相静止坐标系(a, b, c)上的电流,映射到两相静止坐标系(α, β)上。

为什么这么做?因为三相系统有冗余——三个量其实只有两个自由度(ia + ib + ic = 0)。两相坐标系更简洁,方便后续处理。

数学推导:

假设三相电流为 ia, ib, ic,且满足 ia + ib + ic = 0。Clark变换公式为:

iα = ia
iβ = (ia + 2×ib) / √3

或者用矩阵形式(等幅值变换):

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

我刚开始学的时候,老记不住系数。后来我习惯这么记:α轴跟a轴重合,β轴垂直于α轴。这样投影关系就清楚了。

注意: Clark变换有两种常用形式——等幅值变换和等功率变换。系数差一个√(2/3)因子。我在项目中吃过亏:用等幅值变换算的PI参数,换到等功率变换下直接震荡。所以一定要确认你的库用的是哪种。

1.4 Park变换:从静止到旋转

Clark变换之后,我们有了αβ坐标系下的两相正弦量。但正弦量还是时变的,不好控。

Park变换就是干这个的:把静止的αβ坐标系,旋转到与转子磁场同步的dq坐标系。这样一来,正弦量就变成了直流量。

数学推导:

设转子位置角为 θ(电角度),Park变换公式为:

id =  iα × cosθ + iβ × sinθ
iq = -iα × sinθ + iβ × cosθ

矩阵形式:

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

到这里,id 和 iq 就是直流量了。id 对应励磁分量(产生磁通),iq 对应转矩分量(产生转矩)。

我记得第一次在示波器上看到 id、iq 变成平直的直线时,那种感觉真的很爽——你终于把交流电机看透了。

1.5 FOC整体框架:一张图说清楚

下面这张SVG图,把FOC的完整信号流画出来了。你跟着箭头走一遍,就能理解整个控制链路。

FOC磁场定向控制整体框架图 FOC 磁场定向控制整体框架 三相电流 ia, ib, ic Clark变换 Park变换 PI控制器 (id, iq) 反Park SVPWM 逆变器+电机 电流反馈 位置/速度传感器 θ (转子位置角) 说明: 1. 电流采样 → Clark → Park → PI → 反Park → SVPWM → 逆变器 → 电机,构成电流内环。 2. 转子位置角 θ 同时送入 Park 和反Park 变换,保证坐标轴始终与转子磁场对齐。 3. id 控制磁通,iq 控制转矩——这就是“解耦”的核心。

1.6 三种变换的对比总结

我把三种变换放在一张表里,方便你对照记忆:

变换名称 坐标系 输入 输出 关键参数
Clark变换 三相静止 → 两相静止 ia, ib, ic iα, iβ 无(固定系数)
Park变换 两相静止 → 两相旋转 iα, iβ id, iq 转子位置角 θ
反Park变换 两相旋转 → 两相静止 Vd, Vq Vα, Vβ 转子位置角 θ

一个小技巧: 我习惯把Park变换看作“旋转的投影仪”。你站在转子上看,id和iq就是两个固定方向的直流分量。角度θ就是投影仪的旋转角度——只要θ跟得准,投影就清晰。

1.7 避坑指南:我踩过的三个坑

最后,分享几个实战中容易翻车的地方:

  1. 角度对齐问题: 我曾经在换电机型号后,忘了重新校准编码器零位。结果Park变换出来的id、iq全是错的,电机嗡嗡响就是不转。折腾了两天才发现是角度偏了30度。所以,每次换电机或编码器,务必重新做角度对齐。
  2. 变换系数混淆: 等幅值和等功率变换的系数不同。如果你从别人的代码里抄了Clark变换,但PI参数是按另一种系数调的,系统必炸。我建议你统一用等幅值变换,因为调试时更直观——电流幅值直接对应物理值。
  3. 浮点精度: 早期我在DSP上做Park变换,直接用float算sin/cos。结果角度一高,误差累积,电流波形开始抖。后来换成查表+插值,问题解决。如果你用MCU,注意三角函数计算的精度和速度。

好了,第一章就到这里。这些基础概念和数学工具,是后续所有章节的基石。你如果能把Clark和Park变换的推导自己手推一遍,后面的SVPWM和速度环联动,学起来会轻松很多。