2. 电机驱动与控制基础:永磁同步电机(PMSM)数学模型、坐标变换(Clark/Park)、SVPWM调制原理

各位同学,欢迎来到飞轮储能控制系统的核心环节。今天咱们聊聊电机驱动,说白了就是怎么让飞轮转起来、转得稳、转得准。

飞轮储能系统里,电机既是电动机也是发电机。充能时它当电动机用,把电能转成机械能;放能时它当发电机用,把机械能转回电能。这个角色切换,全靠一套精密的控制算法。我个人习惯把这一章称为“地基”,地基不牢,后面什么高性能控制都是空中楼阁。

2.1 永磁同步电机(PMSM)的数学模型

先说说PMSM。为什么飞轮储能偏爱它?因为效率高、功率密度大、响应快。你想想看,飞轮在真空里转,轴承用磁悬浮,电机要是发热大或者效率低,那整个系统就白搭了。

PMSM的数学模型,核心就是电压方程和磁链方程。咱们先看三相静止坐标系下的方程:

u_a = R_s * i_a + dψ_a/dt
u_b = R_s * i_b + dψ_b/dt
u_c = R_s * i_c + dψ_c/dt

其中ψ_a、ψ_b、ψ_c是各相磁链,包含自感和互感,还有永磁体贡献的部分。这个模型在物理上很直观,但用起来特别麻烦——因为电感矩阵是时变的,跟转子位置θ有关。

关键点:三相静止坐标系下的PMSM模型,电感矩阵含有cos(2θ)项。这意味着每算一步都要更新矩阵,计算量巨大。我在项目中遇到过,用这个模型做实时控制,DSP根本跑不动。

所以,我们需要坐标变换。把三相交流量变成两相直流量,控制就简单多了。

2.2 坐标变换:Clark变换与Park变换

坐标变换是电机控制的“魔法”。它把复杂的交流问题,变成了简单的直流问题。

2.2.1 Clark变换(3s/2s)

Clark变换把三相静止坐标系(a,b,c)变换到两相静止坐标系(α,β)。说白了,就是把三个绕组等效成两个互相垂直的绕组。

[i_α]   [1      -1/2    -1/2  ] [i_a]
[i_β] = [0      √3/2   -√3/2 ] [i_b]
                                [i_c]

嗯,这里要注意:Clark变换是等幅值变换还是等功率变换?我建议飞轮储能系统用等幅值变换,因为后面做电流环限幅时更直观。等功率变换会多一个√(2/3)系数,容易搞混。

2.2.2 Park变换(2s/2r)

Park变换把两相静止坐标系(α,β)变换到两相旋转坐标系(d,q)。旋转坐标系的转速就是电机电角速度ω_e。

[i_d]   [cosθ    sinθ] [i_α]
[i_q] = [-sinθ   cosθ] [i_β]

经过Park变换后,d轴和q轴的电流变成了直流量。这时候,PMSM的数学模型就简化成:

u_d = R_s * i_d + L_d * di_d/dt - ω_e * L_q * i_q
u_q = R_s * i_q + L_q * di_q/dt + ω_e * (L_d * i_d + ψ_f)

你看,现在控制i_d和i_q就像控制直流电机一样简单。我曾经在调试飞轮系统时,发现q轴电流响应有振荡,查了半天发现是Park变换的角度θ有延迟。后来加了角度补偿,问题就解决了。

个人经验:坐标变换的精度直接决定控制性能。我建议用FPGA或者高精度DSP来做角度计算,软件里用查表法或者CORDIC算法。千万别用泰勒展开近似,误差会累积。

2.3 SVPWM调制原理

有了d,q轴的电压指令,怎么变成三相PWM波去驱动IGBT?这就是SVPWM(空间矢量脉宽调制)的活。

SVPWM的核心思想:用八个基本电压矢量(六个非零矢量+两个零矢量)去合成任意想要的电压矢量。这八个矢量对应逆变器八个开关状态。

SVPWM空间矢量图与扇区划分 V1(100) V2(110) V3(010) V4(011) V5(001) V6(101) 扇区Ⅰ 扇区Ⅱ 扇区Ⅲ 扇区Ⅳ 扇区Ⅴ 扇区Ⅵ Vref θ 图:SVPWM六扇区空间矢量分布。Vref为目标电压矢量,由相邻两个非零矢量合成。

SVPWM的步骤其实就三步:

  1. 判断扇区:根据Vα和Vβ的大小关系,判断Vref落在哪个扇区
  2. 计算作用时间:用相邻两个非零矢量和零矢量,按伏秒平衡原则计算各自的作用时间T1、T2、T0
  3. 生成PWM波:根据作用时间,生成七段式或五段式PWM波形

七段式SVPWM的开关序列是这样的(以扇区Ⅰ为例):

000 → 100 → 110 → 111 → 110 → 100 → 000
T0/4   T1/2  T2/2  T0/2  T2/2  T1/2  T0/4

这种对称序列的好处是谐波小,但开关次数多。五段式开关次数少,但谐波大一些。飞轮储能系统对效率要求高,我建议用七段式,虽然开关损耗大一点,但电流波形好,电机发热小。

避坑指南:我曾经在调试SVPWM时,发现电机在低速时抖动厉害。查了半天,原来是死区时间设置不当。死区时间太短会导致桥臂直通,太长会导致电流畸变。建议根据IGBT的datasheet,设置死区时间为开关周期的2%-5%。

2.4 坐标变换与SVPWM的配合

整个控制链路是这样的:

  1. 采样三相电流i_a、i_b、i_c
  2. Clark变换得到i_α、i_β
  3. Park变换得到i_d、i_q(需要转子位置θ)
  4. 电流环PI调节器输出u_d_ref、u_q_ref
  5. 反Park变换得到u_α_ref、u_β_ref
  6. SVPWM生成三相PWM波

你看,坐标变换和SVPWM是前后衔接的。反Park变换把旋转坐标系下的电压指令变回静止坐标系,然后SVPWM才能用这些值去合成矢量。

个人经验:我建议在代码里把Clark和Park变换写成独立的函数,方便调试。另外,角度θ的获取一定要用高精度编码器或者旋转变压器。我见过有人用霍尔传感器估算角度,结果飞轮转速一高,角度误差就大,系统直接失稳。

2.5 本章小结

这一章我们讲了PMSM的数学模型、坐标变换和SVPWM。说白了,就是把一个复杂的交流电机控制问题,通过坐标变换变成简单的直流控制问题,再用SVPWM把控制指令变成实际的PWM波。

嗯,这里要提醒一下:数学公式看着多,但真正写代码时,你会发现核心就是那几个矩阵乘法和扇区判断。我建议你亲手推导一遍Clark和Park变换,把公式写熟了,后面做矢量控制就顺了。

下一章我们聊聊电流环和速度环的设计,那是飞轮储能控制系统的“心脏”。


专注资料整理