第二章 电机控制基础回顾:直流电机数学模型、PWM调制原理、三相逆变器拓扑、坐标变换(Clark/Park)

各位同学,欢迎来到第二讲。说实话,电机控制这个领域,入门不难,但想玩得溜,基础必须打牢。今天咱们就把几个最核心的概念掰开揉碎了讲清楚。直流电机怎么建模?PWM到底怎么调?三相逆变器长啥样?还有那个让无数人头疼的坐标变换,到底在变什么?

别急,我一个一个说。这些内容,我当年刚入行时也啃了很久。现在回头看,其实没那么玄乎。

2.1 直流电机的数学模型

先聊聊直流电机。你想想看,一个直流电机,给它通上电,它就转起来了。但怎么控制它的速度和转矩?这就要靠数学模型。

直流电机的等效电路,说白了就是一个电阻串联一个电感,再串联一个反电动势源。嗯,就这么简单。

电枢回路的电压方程:

Ua = Ra * Ia + La * dIa/dt + Ea

其中:

  • Ua — 电枢电压(你给电机加的电压)
  • Ra — 电枢电阻(铜损的来源)
  • La — 电枢电感(影响电流响应速度)
  • Ia — 电枢电流(和转矩直接相关)
  • Ea — 反电动势(电机转起来后自己产生的电压)

反电动势怎么算?

Ea = Ke * ω

Ke是反电动势常数,ω是电机转速。这个公式很关键——转速越高,反电动势越大,电流自然就小了。

转矩方程呢?

Te = Kt * Ia

Kt是转矩常数。对于永磁直流电机,Kt和Ke在数值上其实是相等的(如果你用国际单位制的话)。

关键点:直流电机的控制,本质上就是控制电枢电压Ua,从而控制电流Ia,最终控制转矩Te。速度控制则是通过调整电压来平衡负载转矩和电磁转矩。

我在项目中遇到过一个问题:有个学生搭的仿真模型,电机启动时电流冲得特别高。一查,他把电感La设得太小了。你想想看,电感小了,电流变化率就大,启动瞬间电流当然会爆表。所以做仿真时,电机参数一定要和实际对得上。

2.2 PWM调制原理

好,电机模型有了,怎么给它加电压?总不能用手拧电位器吧?

实际工程中,我们用PWM——脉冲宽度调制。说白了,就是用一个固定频率的方波,通过改变它的占空比,来调节平均电压。

占空比D = Ton / T,其中Ton是高电平时间,T是周期。

平均电压:

U_avg = D * Udc

Udc是母线电压。比如母线电压24V,占空比50%,平均电压就是12V。

PWM的频率怎么选?

  • 太低:电机能听到嗡嗡声,甚至能看到抖动。我试过1kHz,那声音,啧啧,跟蚊子似的。
  • 太高:开关损耗变大,驱动器发热严重。
  • 一般推荐:10kHz~20kHz。人耳听不到,损耗也能接受。

我的经验:做硬件在环仿真时,PWM频率最好和实际控制器一致。我曾经偷懒用了10kHz仿真,结果实际控制器是20kHz,电流纹波对不上,折腾了两天才发现是这个问题。

还有一个细节:PWM分辨率。比如你用8位定时器,占空比只能调0~255步。如果电机对电压精度要求高,就得用更高分辨率的PWM,或者用dithering技术。

2.3 三相逆变器拓扑

直流电机用单相PWM就能搞定。但三相永磁同步电机(PMSM)或异步电机呢?那就得用三相逆变器了。

三相逆变器的拓扑,说白了就是三个半桥并联在一起。每个半桥有两个开关管(上管和下管),一共6个开关管。

结构是这样的:

  • 母线正极(DC+)和负极(DC-)
  • A相半桥:上管S1,下管S4,输出端接电机A相
  • B相半桥:上管S3,下管S6,输出端接电机B相
  • C相半桥:上管S5,下管S2,输出端接电机C相

每个半桥,上下管不能同时导通——这是基本常识。否则就是直通短路,炸管子。我见过有人仿真时忘了加死区时间,结果电流直接飙到几千安培,虽然仿真不会真炸,但看着也够吓人的。

三相逆变器的工作模式:

  • 120°导通模式:每个开关管导通120°电角度,适合方波驱动
  • 180°导通模式:每个开关管导通180°电角度,适合正弦波驱动(SVPWM)

现在主流电机控制都用SVPWM(空间矢量PWM),它比传统的正弦PWM母线电压利用率更高,谐波也更小。

注意:做硬件在环仿真时,逆变器模型一定要包含死区时间和管压降。我见过有人用理想开关模型,仿真结果漂亮得很,一上实际硬件,电流波形全是毛刺。为什么?因为死区效应和管压降没考虑进去。

2.4 坐标变换(Clark/Park)

好,终于到了坐标变换。很多初学者一听到Clark变换、Park变换就头大。其实没那么复杂,我来给你捋一捋。

为什么要做坐标变换?

三相电机有三相电流:Ia、Ib、Ic。它们互相耦合,控制起来很麻烦。如果能把它变成一个旋转的直流电机模型,控制就简单了——控制d轴电流控制励磁,控制q轴电流控制转矩,互不干扰。

这就是坐标变换的目的:解耦

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

Clark变换把三相静止坐标系(a, b, c)变换到两相静止坐标系(α, β)。

公式:

Iα = Ia
Iβ = (Ia + 2*Ib) / √3

或者用矩阵形式:

[ Iα ]   [ 1      -1/2    -1/2   ] [ Ia ]
[ Iβ ] = [ 0      √3/2   -√3/2  ] [ Ib ]
                                  [ Ic ]

注意:这里用的是等幅值变换。还有一种等功率变换,系数不同,但原理一样。

Clark变换后,我们得到了两个正交的电流分量Iα和Iβ。但它们还是交流量,随转子位置变化。

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

Park变换把两相静止坐标系(α, β)变换到两相旋转坐标系(d, q)。

公式:

Id = Iα * cos(θ) + Iβ * sin(θ)
Iq = -Iα * sin(θ) + Iβ * cos(θ)

其中θ是转子电角度。

经过Park变换后,Id和Iq就变成了直流量。Id控制励磁(对于永磁电机,通常Id=0),Iq控制转矩。

核心思想:Clark变换把三相变两相,Park变换把静止变旋转。最终目的,就是把交流电机控制问题,变成直流电机控制问题。

我记得刚学这个的时候,一直搞不懂θ怎么来的。后来才明白,θ来自编码器或霍尔传感器。没有位置反馈,Park变换就做不了。所以电机控制,位置传感器是灵魂。

2.4.3 反变换

控制算法算出来的是d、q轴电压,要变成三相电压给逆变器,还得做反变换:

  • 反Park变换:Vd, Vq → Vα, Vβ
  • 反Clark变换:Vα, Vβ → Va, Vb, Vc

公式我就不列了,和正变换是对应的,把符号反过来就行。

一个小技巧:做硬件在环仿真时,我习惯把Clark和Park变换写成独立的函数模块。这样调试时,可以单独看αβ轴的波形,也可以看dq轴的波形。哪里出问题,一眼就能看出来。

小结

今天的内容,说白了就是四个东西:

  1. 直流电机模型:电压方程、转矩方程,控制的基础
  2. PWM调制:用占空比调电压,频率和分辨率要选好
  3. 三相逆变器:三个半桥,六个开关管,死区时间不能忘
  4. 坐标变换:Clark变两相,Park变旋转,解耦是目的

这些内容,是电机控制的地基。地基不牢,后面盖什么楼都得塌。下一章,咱们就开始讲FOC(磁场定向控制)了,到时候这些基础都会用上。

嗯,今天就到这儿。有问题随时问我。