第二章 电机控制基础回顾:直流电机数学模型、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轴的波形。哪里出问题,一眼就能看出来。
小结
今天的内容,说白了就是四个东西:
- 直流电机模型:电压方程、转矩方程,控制的基础
- PWM调制:用占空比调电压,频率和分辨率要选好
- 三相逆变器:三个半桥,六个开关管,死区时间不能忘
- 坐标变换:Clark变两相,Park变旋转,解耦是目的
这些内容,是电机控制的地基。地基不牢,后面盖什么楼都得塌。下一章,咱们就开始讲FOC(磁场定向控制)了,到时候这些基础都会用上。
嗯,今天就到这儿。有问题随时问我。