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的步骤其实就三步:
- 判断扇区:根据Vα和Vβ的大小关系,判断Vref落在哪个扇区
- 计算作用时间:用相邻两个非零矢量和零矢量,按伏秒平衡原则计算各自的作用时间T1、T2、T0
- 生成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的配合
整个控制链路是这样的:
- 采样三相电流i_a、i_b、i_c
- Clark变换得到i_α、i_β
- Park变换得到i_d、i_q(需要转子位置θ)
- 电流环PI调节器输出u_d_ref、u_q_ref
- 反Park变换得到u_α_ref、u_β_ref
- SVPWM生成三相PWM波
你看,坐标变换和SVPWM是前后衔接的。反Park变换把旋转坐标系下的电压指令变回静止坐标系,然后SVPWM才能用这些值去合成矢量。
个人经验:我建议在代码里把Clark和Park变换写成独立的函数,方便调试。另外,角度θ的获取一定要用高精度编码器或者旋转变压器。我见过有人用霍尔传感器估算角度,结果飞轮转速一高,角度误差就大,系统直接失稳。
2.5 本章小结
这一章我们讲了PMSM的数学模型、坐标变换和SVPWM。说白了,就是把一个复杂的交流电机控制问题,通过坐标变换变成简单的直流控制问题,再用SVPWM把控制指令变成实际的PWM波。
嗯,这里要提醒一下:数学公式看着多,但真正写代码时,你会发现核心就是那几个矩阵乘法和扇区判断。我建议你亲手推导一遍Clark和Park变换,把公式写熟了,后面做矢量控制就顺了。
下一章我们聊聊电流环和速度环的设计,那是飞轮储能控制系统的“心脏”。