1. 为什么偏偏是永磁同步电机飞轮储能驱动电机的选型逻辑飞轮储能这两年算是储能圈里的高频词无论是微电网调频、数据中心UPS还是高校课题组的预研方向都会拿“飞轮储能系统的建模与Simulink仿真”作为切入点。我接触这类任务时有一个很明显的感触大部分人会把精力放在Simulink里怎么摆模块、怎么连线上反而对“为什么用永磁同步电机当飞轮驱动电机”这个根本问题一带而过。结果就是模型照着别人的截图搭出来了波形却怎么调都不对。这篇文章我想换个顺序先从选型逻辑讲起再把飞轮本体、电机、母线的三套数学方程捋清楚最后落到Simulink建模和充放电控制的实操细节上顺便把我踩过的坑一块儿说了。飞轮储能的工作原理并不复杂电能和动能互相转换。充电时电机把电网或母线上的电能变成旋转动能带动一个高速飞轮转起来放电时飞轮反过来拖电机发电把动能变回电能回馈出去。这里的电机身兼两职既是电动机又是发电机这决定了它不会像普通伺服电机那样只考虑单向驱动性能而是要兼顾电动、发电两种工况下的效率和可靠性。先说结论目前商用和科研用的飞轮储能系统绝大多数都会选永磁同步电机PMSM而不是异步电机或开关磁阻电机。原因可以拆成四点来看。第一效率。飞轮储能本身能量密度不占优势一台几百公斤的钢制飞轮高速旋转下储存的能量也只有几十到几百千焦因此整条能量链上的每一环损耗都必须尽量压低。PMSM的转子是永磁体没有励磁绕组不存在转子铜耗高速区效率能稳定在96%以上。异步电机虽然结构便宜但转子有绕组和转差损耗高速工况下发热明显效率通常只能做到90%~94%。对一台连续运行、频繁充放电的设备来说4个百分点的效率差距会直接反映到系统收益上。第二功率密度和转子强度。飞轮储能的能量与转速的平方成正比转速越高同样体积重量下能存的能量越多。PMSM的转子结构紧凑永磁体直接贴在转子铁芯表面或嵌入其中没有笼条和端环机械上更容易做成高速转子。配合碳纤维绑扎和磁悬浮轴承商用飞轮的转速可以做到每分钟几万转。异步电机转子带绕组和铁芯高速时的离心应力问题更突出发热也更大高速化难度明显偏高。第三控制性能。PMSM采用转子磁场定向控制矢量控制后电磁转矩和定子电流可以实现近似线性解耦转矩响应做到毫秒级很容易。飞轮储能参与调频时要求在极短时间内响应功率指令这种“即插即用”的动态特性正是PMSM的优势。异步电机的磁场定向控制需要实时观测转子磁链低速和弱磁区间的控制精度不如PMSM来得直接。开关磁阻电机虽然结构简单、转子坚固但转矩脉动和噪声在储能这种频繁双向运行的场景里比较吃亏控制复杂度也不低。第四系统成本中的隐性收益。PMSM的成本主要贵在永磁体上但它的控制器成本并不比异步电机高多少而且因为效率高、散热负担小系统里散热器、风机、电缆的规格都能往下压。对于飞轮储能这种需要“长时间在线待机、短时间大功率吞吐”的应用综合账算下来并不吃亏。下面这张表是我在做选型对比时常用的对照基本信息可以先拿去做方案论证对比维度永磁同步电机异步电机开关磁阻电机高速区效率最高中中高转子结构永磁体无绕组鼠笼绕组纯铁芯凸极无磁无绕组功率密度最高中较高控制复杂度需转子位置矢量控制成熟需磁链观测稍复杂需位置与电流斩波复杂度高高速化能力强弱磁可扩展转速中转子损耗限制强结构坚固主要风险永磁高温退磁转子发热明显转矩脉动与噪声所以我带学生或同事做类似项目时第一步就是让他们把选型逻辑写清楚。不是“别人都用PMSM所以我也用”而是“飞轮储能要求高效率、高功率密度、快速双向响应PMSM恰好在这三条主赛道上都领先”。这段思考不是废话后面建模时的每一个参数、每一个控制环路的设计依据都能从这里面倒推出来。2. 建模前必须吃透的三套方程飞轮本体、PMSM与直流母线仿真模型搭到Simulink里之前先把物理过程用数学语言写清楚。这一步偷不了懒因为Simulink里的每个模块都是在解某个微分方程你如果不理解方程本身出了问题就只能对着波形瞎猜。飞轮储能涉及的三套方程分别是飞轮本体的旋转运动方程、PMSM在dq坐标系下的电压和转矩方程、以及直流母线侧的功率平衡方程。2.1 飞轮本体动能和转动惯量怎么算飞轮储存的是旋转动能基本公式是E ½ × J × ω²其中J是飞轮的转动惯量单位kg·m²ω是机械角速度单位rad/s。从这个公式能看出两个关键结论一是能量与转速的平方成正比所以提高转速比增加质量划算得多这也是飞轮储能往高速方向卷的根本原因二是转动惯量J是储能容量的“地基”计算时必须准确。对于最简单的实心圆柱飞轮转动惯量是J ½ × M × R²M是质量R是半径。举个例子一个直径0.3m、厚度0.05m的钢制飞轮钢密度按7800kg/m³算体积大约是0.00353m³质量约27.6kg。它的转动惯量J 0.5 × 27.6 × 0.15² ≈ 0.31kg·m²。假设最高转速6000rpm换算成角速度是ω 6000 × 2π / 60 ≈ 628rad/s。此时储存的能量就是E 0.5 × 0.31 × 628² ≈ 61100J ≈ 61kJ如果放电允许转速降到3000rpm即最高转速的一半释放的能量是最高能量减去最低能量ΔE ½ × J × (ω_max² − ω_min²) 0.5 × 0.31 × (628² − 314²) ≈ 45900J ≈ 46kJ这个4.6万焦耳的能量在2.2kW的电机额定功率下足够维持约20秒的满载放电。这组数字对整个仿真很有用你可以预先知道模型里的飞轮容量大概是什么量级转速给多少合适放电功率应该控制在多少范围而不是盲目地把转速参考值从0直接拉到6000rpm然后指望系统能稳定。旋转运动方程也简单J × dω/dt Te − T_loss − T_loadTe是电机的电磁转矩T_loss是飞轮自身的机械损耗轴承摩擦、风阻T_load是外接负载转矩。充电时Te为正飞轮加速放电时Te为负飞轮减速。T_loss通常建模成一个与转速相关的阻尼项最简单就是T_loss B × ωB是阻尼系数。在Simulink里飞轮本体可以直接用一个积分器加增益搭出来也可以用Simscape里的旋转惯性模块后面细说。2.2 PMSM的dq方程为什么控制都要转到旋转坐标系PMSM的三相定子电流是正弦交流量abc三相坐标下方程特别麻烦因为电流、电压全是时变的控制器没法直接用PI去跟踪正弦目标。所以标准做法是通过Park变换把三相量转换到随转子一起旋转的dq坐标系。在这个坐标系下d轴对齐转子永磁体磁链方向q轴超前d轴90度原来时变的交流量就变成了直流量PI控制才好用。dq坐标系下的电压方程写出来是ud Rs × id Ld × did/dt − ωe × Lq × iquq Rs × iq Lq × diq/dt ωe × Ld × id ωe × ψf这里Rs是定子电阻Ld、Lq是d轴和q轴电感ωe是电角速度等于机械角速度乘以极对数pψf是永磁磁链。式子中ωe×ψf那一项就是反电动势转速越高它越大这也是为什么高速飞轮在母线电压受限时必须考虑弱磁控制的原因。电磁转矩方程是Te 1.5 × p × [ψf × iq (Ld − Lq) × id × iq]对于表贴式PMSMLd≈Lq括号里第二项为零转矩简化为Te 1.5 × p × ψf × iq这意味着只要维持id0电磁转矩就只和iq成正比成为一个线性环节控制一下子变得非常直观。所以飞轮储能这种中高速应用最常见的就是id0矢量控制转速外环给出iq指令电流内环分别控制id0和iq跟随指令整个双闭环就这么定下来了。2.3 直流母线侧能量从哪里来、回哪里去飞轮储能系统的电气接口是直流母线。充电时外部电源给母线供电逆变器把直流电变成交流驱动电机放电时电机发电逆变器把交流电变回直流回馈到母线母线再给负载或电网供电。母线电压不是恒定的它由母线电容支撑C × dVdc/dt I_source − I_inverter式中C是母线电容I_source是外部输入电流I_inverter是流向逆变器的电流。电机吸收功率越大I_inverter越大母线电压就会往下掉发电回馈时I_inverter变负母线电压会往上冲。这个方程在仿真里非常重要我经常看到有人仿真放电工况时母线电压一路飙升到七八百伏电机都停不下来了还继续升就是因为母线电容取得太小或者负载模型只挂了一个固定电阻没有形成有效的能量出口。把这三套方程放在一起看整个系统的因果链就清楚了母线电压和电容决定电能供应能力PMSM方程把电能变成转矩旋转运动方程把转矩变成飞轮转速而转速又决定了储能容量。Simulink模型本质上是把这一串因果关系变成模块连线和微分方程求解的过程。3. Simulink环境下的模型搭建从物理拓扑到控制环路的落地步骤模型搭建有两种路线先搞清楚路线差异再动手比从网上抄一个模型更容易改成自己的东西。3.1 路线选型Simscape物理域模块还是纯数学方程建模很多教程默认推荐Simscape Electrical里的专业模块比如Permanent Magnet Synchronous Machine、Universal Bridge、Three-Phase V-I Measurement理由是主电路拓扑直观电机、逆变器、传感器都是现成的图形化模型。这种做法的好处是省事电气元件的行为特性已经内置适合快速搭出系统级仿真、验证控制策略在真实拓扑下能不能跑通。缺点是内部细节对用户不透明一旦遇到不收敛、数值振荡这类问题排查起来会比较难受。另一条路线是完全用Simulink基础模块搭方程把上面的dq电压方程、转矩方程、运动方程一个一个用增益、积分器、加法器实现PWM调制也可以自己搭载波比较。这种模型的速度更快、完全透明改一个参数就知道改的是哪里特别适合做控制算法研究但主电路里的开关纹波、死区效应、器件导通压降都看不见。我的习惯是分两步走先在纯方程模型里把控制思路调通让转速、电流、母线电压这些核心变量都满足预期然后再把主电路替换成Simscape专业模块验证包括了开关细节之后系统仍然稳定。这样做的好处是当Simscape模型出问题时你能判断问题出在控制环还是硬件效应而不是糊成一团。下面按Simscape路线给出搭建步骤纯方程模型可以照着同样的控制结构平行实现。3.2 主电路与机械部分的模块布局搭建流程我一般分成主电路、电机本体、控制回路三块。主电路拓扑选经典的三相两电平电压源型逆变器Simscape里用“Universal Bridge”配置成IGBT加反并联二极管的三相桥臂即可。直流侧接一个电压源串一个电容电压源用来模拟充电电源电容模拟母线电容。要注意的是Simscape物理域的“电气参考地”必须接好否则仿真会报“未接地”错误这一点新手最容易漏。电机部分从Simscape Electrical库中拖出永磁同步电机模块把极对数设为4、定子电阻Rs设为0.95Ω、Ld设为1.3mH、Lq设为2.1mH、永磁磁链设为0.175Wb。电机模块的机械端口连接到旋转机械元件链上先接一个“Rotational Inertia”模拟飞轮转动惯量J0.31kg·m²再接一个“Rotational Damper”模拟1000rpm转速附近的风阻和轴承损耗。阻尼系数可以先取0.001N·m·s/rad后面实际调试中再根据转速衰减速度调整。这个阻尼项绝不能省否则飞轮空载时几乎没有阻力转速会长时间悬在高位能量浪费和系统响应慢的问题都暴露不出来。控制回路部分电机模块自带或外接“Ideal Angular Velocity Sensor”测量转子机械角和转速三相电流用“Three-Phase V-I Measurement”采集。将机械角乘以极对数得到电角度进入Park变换得到id和iq。转速误差进入转速环PI输出iq_refiq误差和id误差分别进入两个电流环PI输出ud_ref和uq_ref再经过反Park变换得到调制用的参考电压最后进PWM发生器产生六路触发脉冲送给三相桥。这里的PI控制器推荐用带输出限幅的版本电流环输出限幅设在母线电压的约0.9倍左右转速环输出限幅则对应电机允许的最大电流比如30A防止启动瞬间电流冲上天。3.3 仿真参数与双闭环初始配置我常用的飞轮储能仿真算例参数汇总如下方便直接抄作业参数数值说明直流母线额定电压311V模拟220V交流整流后的母线母线电容2200μF容量不能太小否则母线波动剧烈电机额定功率2.2kW小功率飞轮验证平台量级极对数4PMSM常见极数配置定子电阻Rs0.95Ω中型小功率电机的典型值d轴电感Ld1.3mH表贴式结构Ld≈Lqq轴电感Lq2.1mH略大于Ld带一定凸极效应永磁磁链ψf0.175Wb对应约2000rpm基速飞轮转动惯量J0.31kg·m²对应直径0.3m厚50mm钢盘最高机械转速6000rpm储能容量约61kJPWM开关频率10kHz兼顾损耗与波形质量双闭环PI初始值先用工程经验公式估算再在仿真里微调。电流环期望带宽设800rad/s左右按Kp α × L、Ki α × Rs来算L取1.3mHRs取0.95Ω则Kp≈1.04Ki≈760。转速环期望带宽设电流环的十分之一也就是80rad/s左右按转矩环节增益和转动惯量折算Kp我会从0.5开始Ki从0.02开始看波形逐步调整。这个初始值不一定完美但至少能让系统稳定起转比随手填10、20这种数字靠谱得多。4. 充放电工况的切换逻辑与仿真波形判读模型搭好之后的重点是研究工况。飞轮储能仿真的核心场景无非两个充电加速和放电回馈。关键问题是怎么让同一个模型在这两种模式间平滑切换。4.1 充放电模式是怎么切换的本质上PMSM工作在电动还是发电状态取决于电磁转矩和转速的方向关系。转矩与转速同向就是电动电机加速转矩与转速反向就是发电电机减速。所以在id0双闭环结构下切换的核心不在主电路而在控制回路给出来的iq指令方向。仿真中常用转速参考值来做模式切换充电时转速参考给一个当前实际转速上方的目标值转速环输出正的iq电机电动加速放电时转速参考降到实际转速下方转速环输出负的iq电机进入发电状态动能转化成电能回馈母线。有人会问放电时转速参考下降转速环会不会直接把电机“拽下来”单靠转速闭环确实可以释放飞轮动能但这种方式没有直接控制“放电功率”更工程化的做法是增加一个母线电压外环把母线电压参考值和实际值做差经过PI生成转速参考值。当母线电压低于参考说明外部有负载在用电系统会降低转速指令让飞轮释放能量把母线顶回参考值。这样放电功率就间接受控于母线电压波动更贴近储能系统的实际运行方式。我在模型里的实现方式很简单用Simulink自带的选择器按外部模式信号切换转速参考源。模式为充电时转速参考来自一段斜坡函数比如从0线性升到5000rpm持续10秒模式为放电时转速参考来自母线电压环输出母线电压目标设为311V。这套逻辑用一个“Manual Switch”加两个控制分支就能完成不需要写复杂的Stateflow状态机。4.2 充电工况转速斜坡上升时的波形特征充电仿真的结果是典型的双闭环启动过程。把转速参考设为0到5000rpm的斜坡启动瞬间由于参考与实际转速误差为零电流不会有阶跃冲击。随着转速参考徐徐上升转速环输出iq逐渐增大电机加速。你会在波形里看到id维持在0附近iq为正的几十安培量级转速曲线基本贴着斜坡走母线电压在加速期间有一个轻微下降但被电容和外电源顶住大概掉5V左右就能恢复。这里有个特征需要重点观察iq本来应该随转速升高基本保持平稳但如果你的机械损耗模型阻尼B取太小飞轮加速后期所需的转矩接近零iq会回落到很小。这不代表系统坏了而是飞轮在无负载时只需要克服轴承摩擦就能维持速度。充电实验结束时把转速保在5000rpm电机只出很少的电流维持空转损耗这个状态就是储能系统的“待机悬停”状态。4.3 放电工况母线电压先升后稳的过程切换到放电模式后转速参考突然降低转速环给出负的iq电机进入发电状态。波形上最明显的特征是直流母线电压会有一个短暂上升因为回馈能量优先涌向母线电容电容电压被顶高。如果母线端没有负载这部分能量没有出口电压会一直走高直到电容电压击穿或者仿真发散。所以放电仿真必须给母线挂一个稳定的负载或者控制出口功率的电阻负载比如在直流母线上加一个固定电阻功率按几十欧姆量级选当电容电压抬升时多余能量通过电阻消耗掉电压稳定在某个高于311V的新平衡点。放电工况里观察转速曲线的斜率也很有用。转速从5000rpm下滑曲线越陡代表放电功率越大。反过来如果转速下降很平缓说明能量释放速度慢负载较轻。转速的下降速率和母线电压的涨幅、iq的负值大小是联动的关系这套联动关系直接从旋转运动方程和母线功率平衡方程推导出来。4.4 仿真结果如何和真实容量对应起来拿到一组仿真波形后可以和理论计算对照一下防止模型里的参数不合理。还拿上面那个飞轮算例从5000rpm放到3000rpm理论释放能量是ΔE 0.5 × 0.31 × (523² − 314²) ≈ 0.5 × 0.31 × (273529 − 98596) ≈ 27140J假设2.2kW放电理论放电时间约为27140/2200 ≈ 12.3秒。仿真结果如果明显偏离这个值并不是模型错了而是说明阻尼损耗占比太大或者放电功率没有真正达到额定值。这时候去查电机的电磁转矩和转速乘积就能把“能量跑哪去了”追清楚。5. 仿真中绕不开的坑PI整定、初始转子位置与离散步长模型搭完、工况切换做完剩下的工作就是反复调试和排错。这个环节是最耗时间的我把自己在类似项目里遇到过的问题列出来希望能帮你少走几圈弯路。5.1 PI参数整定顺序先电流环后转速环绝不反过来很多人一开始就把两个PI控制器都填了同一个数字比如都设成50结果启动电流爆表、转速超调20%、母线电压剧烈震荡。问题出在整定顺序上。电流环是内环必须先整定让电流响应又快又稳外环才能建立在可靠的基础上。整定电流环时可以把转速环的PI临时旁路直接给固定的iq_ref阶跃观察iq的跟踪速度。带宽设得越高跟踪越快但抗噪和抗离散误差能力会变差一般取到开关频率的1/10左右。按10kHz的载波电流环带宽800~1000rad/s是合理范围。Kp、Ki的初值按α×L和α×Rs估算后微调方向是超调偏大就加Kp或者减Ki电流迟迟不追上就加Ki。电流环调稳之后再去调转速环。转速环的带宽只能是电流环的十分之一左右否则两个环会互相激励出振荡。记住一个原则内环带宽永远是外环带宽的5到10倍。5.2 初始转子位置仿真的坑和实机一模一样PMSM的矢量控制完全依赖转子位置初始位置错了整个控制就全错了。在仿真里如果你没有设置初始转子角模块会用默认值这个默认值和你的Park变换初始角度必须保持一致。否则启动瞬间你以为id0实际上合成的电流不在d轴转矩会出现低频脉动转速爬升时带着明显的抖动。解决办法分两步。第一步把编码器或角度测量模块的初始角度和PMSM模块的初始机械角设成一致最简单是全部置0。第二步启动给转速斜坡而不是阶跃让电流有足够时间建立磁场。我遇到过把初始角度偏差了180度的情况电机直接反转一小段再拉回来看起来就像启动失败一度怀疑模型有问题查了一圈才发现只是角度标定错了。这个经验在仿真里也同样适用先检查角度再查参数不要一上来就怀疑算法。5.3 离散步长与求解器步长不是越小越好Simulink里带PWM和开关器件的模型推荐用定步长离散求解器否则步长会自动变化每一步的CPU开销差异很大仿真时间没法预估。而且带电力电子开关的模型如果只用变步长ode45很容易在开关切换点出现数值振荡。我在飞轮储能仿真里用的是ode3即三阶龙格库塔固定步长1微秒。10kHz载波对应载波周期100微秒步长取1微秒就是每个载波周期100步足够看清PWM脉冲和电流纹波。如果步长放大到20微秒PWM模块生成的门极信号会失真脉宽小于一步长的窄脉冲直接消失电流波形变得毛糙。步长如果缩小到0.1微秒精度其实没有质的提升但仿真时间会拉得很长完全不划算。所以我的建议是步长取开关周期的百分之一到十分之一之间先用1微秒跑通再视精度需要调整。5.4 低速启动时的电流畸变和零速振荡永磁同步电机零速附近的启动是最考验控制的一个环节仿真虽然没有实机的齿槽转矩和采样噪声但同样会遇到问题。因为零速时反电动势为零电流环要完全靠PI控制器建立电流PI参数不合适或转速斜坡给得太陡就会看到iq出现大幅度来回摆转速在零附近抖动。处理方法我一般有三种。第一种最简单斜坡时间拉长让转速参考从0缓慢上升电流环有足够时间跟随。第二种电流环带宽适当收窄不要一开始就追求极致响应。第三种实在不行在转速低于某个阈值比如100rpm时采用恒压频比开环启动等转速爬起来再切到矢量控制这种启动方式虽然简单粗暴但在重惯量飞轮这种负载下反而更稳定。仿真里不建议一上来就搞复杂状态机先把斜坡时间调长90%的情况都能解决。我做完这几轮调试后的个人体会是飞轮储能仿真这件事模型本身只占三成功夫剩下七成都在“让控制环路和各种参数打架时别打得太难看”。前面这些坑每一个都是我亲测过的。你照着上面的参数和步骤把模型完整跑通一遍再回头看标题里的“建模与Simulink仿真”你会发现真正值钱的不是那张连线图而是你知道每个模块为什么要那样搭、每个数值为什么落在那个范围、每个波形异常背后大概是什么原因。这套思路换到别的电机驱动或者储能系统上一样能复用。