ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

HPMSM飞轮储能并网控制仿真建模与调试全解析

HPMSM飞轮储能并网控制仿真建模与调试全解析 你们要的HPMSM飞轮储能并网控制仿真终于安排上了。这套模型我从底层搭到调通花了整整两周下班时间期间踩遍了MATLAB R2021b的各种坑。今天把完整思路、建模步骤和调试实录一次性摊开讲从系统架构到电机参数从控制策略到波形调优尽量让拿到这套思路的人能在R2021b里自己复现出来。先说清楚这套模型是干什么的HPMSMHigh-Speed Permanent Magnet Synchronous Machine高速永磁同步电机作为飞轮储能的电动/发电一体机经双向变流器并网实现电网侧有功功率的快速吞吐。它解决的是新能源并网带来的功率波动、频率支撑不足这类问题适合研究储能并网控制、微电网功率调节以及电机矢量控制方向的在校生和工程师参考。1. 系统整体设计与控制思路拆解1.1 为什么飞轮储能偏偏选中了HPMSM飞轮储能的核心就是把电能变成高速旋转体的机械能存起来需要时再转回电能。在这个能量转换的环节里电机就是“咽喉”。选HPMSM是被飞轮应用场景倒逼出来的结果。飞轮要储存更多能量最直接的路径是提高转速因为飞轮动能和转速的平方成正比。这就带来一个尴尬普通感应电机转速上千转就开始吃力电刷换向的直流电机根本扛不住高速而永磁同步电机天生适应高速工况。尤其是钕铁硼永磁体的HPMSM转子结构简单坚固没有转子铜耗功率密度高几十千瓦的飞轮系统转速可以轻松干到20000rpm以上。但HPMSM也不是没有麻烦。高速下反电动势很大定子电流频率很高这意味着变流器要有足够的直流母线电压余量控制器要有足够的带宽。另外永磁体在高温、振动、高频磁场下存在去磁风险建模时得预留温度和保护逻辑接口。这些约束决定了整个并网控制系统的架构走向。1.2 双PWM变流器拓扑能量双向流动的基石飞轮储能系统要做到“既能充电又能放电”功率变换器必须支持能量双向流动。我在这里选的是背靠背双PWM变流器拓扑一侧接电网一侧接电机中间是直流母线电容。这个拓扑的好处一眼就能看到电网侧变流器负责维持直流母线电压稳定电机侧变流器负责控制电机的转矩和转速两边互不纠缠控制逻辑非常清晰。对比另一种常见的方案“二极管整流DC/DC变换器”双PWM变流器的优势明显。二极管整流只能单向流动充电时能量进不来DC/DC变换器拓扑做双向没有问题但在大功率场合效率、电磁兼容性都不如双PWM变流器成熟。实际工程中兆瓦级飞轮储能几乎清一色是双PWM变流器我们在仿真阶段就应该贴近工程真实。1.3 控制策略选型电网电压定向矢量控制的取舍并网控制的主流方案是电网电压定向矢量控制VOCVoltage Oriented Control也叫dq同步旋转坐标系下的解耦控制。简单说就是把三相交流量变换到与电网电压同步旋转的dq坐标系下让有功和无功变成独立的直流量然后就能像控制直流电机一样用PI调节器去控制。之所以选VOC而不是直接功率控制DPC因为VOC的调制频率固定开关频率固定滤波器设计容易更关键的VOC控制精度高电流波形质量好这对飞轮储能这种功率频繁波动的应用场景很重要。DPC的动态响应更快但开关频率不固定谐波分布分散反而给滤波器增加了压力。对一个偏应用的课题来说VOC工程味更浓。飞轮电机侧的控制我采用的是转速外环电流内环的双闭环矢量控制。充电时电机电动运行转速环决定充电功率放电时电机制动运行转速环给定一个不断下降的转速参考值能量就回去了。2. 核心模块建模细节与参数计算2.1 HPMSM电机模型与飞轮转动惯量匹配在MATLAB R2021b里建HPMSM模型可以直接用Simscape Electrical库里的Permanent Magnet Synchronous Machine模块但参数得自己计算匹配。一个重要的概念是飞轮系统的机电时间常数由转动惯量决定它将直接影响并网功率的响应速度。飞轮储能量公式为E (1/2) * J * ω²其中J是飞轮转动惯量单位kg·m²ω是旋转角速度单位rad/s。比如一个设计储存10MJ能量的飞轮如果最高工作转速15000rpm换算成角速度约1570.8rad/s那么J 2E / ω² 2 * 10⁷ / (1570.8²) ≈ 8.1 kg·m²。但电机转子本身的转动惯量远没有这么大飞轮的惯量通常是电机转子惯量的几十上百倍。在建模仿真时不能光设置电机模块里的转动惯量参数最稳妥的方式是在电机轴上并一个大惯量转子模块Inertia让机械环节的时间常数接近真实系统。我当时用Simscape里的Ideal Torque Source Inertia搭的机械轴系实测比直接改PMSM模块自带惯量参数更灵活因为可以随时调节转动惯量观察系统响应变化。2.2 电网侧LCL滤波器的参数确定电网侧滤波器选择LCL还是L对控制效果影响很大。LCL滤波器在高频段有更陡的衰减斜率可以用较小的电感量达到同样的滤波效果成本低体积小。但LCL是多阶系统存在谐振峰值必须加阻尼或者调整控制策略才能稳定。我的参数计算思路大致如下。假设系统额定功率P500kW电网线电压有效值U380V直流母线电压Vdc800V开关频率fsw10kHz。首先是变流器侧电感L1按照电流纹波不超过额定电流峰值的20%计算L1 ≥ Vdc / (8 * fsw * ΔI_pk)额定电流峰值约I_pk P * √2 / (√3 * U) 500000 * 1.414 / (1.732 * 380) ≈ 1079A。20%纹波就是约215A。代入上式L1 ≥ 800 / (8 * 10000 * 215) ≈ 47μH。网侧电感L2一般取L1的0.5倍左右约25μH。电容Cf按吸收无功功率不超过系统额定功率5%来选择Cf ≤ 5% * P / (3 * 2π * 50 * U_phase²)带入计算约150μF为保险取100~120μF。实际仿真时我还会串一个小阻值电阻0.1~0.5Ω做无源阻尼虽然增加了损耗但治标立竿见影调试时间可以节约一大半。2.3 控制系统参数与离散化选择我在Simulink里控制部分用的是连续PI加一阶低通滤波器近似实际数字控制器的延迟。比例积分参数不是拍脑袋定的我先把电流环带宽设计在开关频率的十分之一到五分之一即1~2kHz由此反推PI参数。以dq轴电流环为例电机和滤波器的等效电感Lσ、等效电阻Rσ已知后电流环PI参数设计公式工程整定法为Ki Rσ / τ_i其中τ_i是电流环期望时间常数取1/(2π * 1500) ≈ 1.06e-4s。Kp Lσ / τ_i。把电感和电阻实测值代入就能得到一组初值再在仿真里微调。转速环带宽一般取电流环的十分之一即100~200Hz同样方法反推。模型求解器的设置是我的血泪教训之一。刚建完模型跑的时候总是爆错或者波形发散后来发现是求解器类型和步长设置有问题。电力电子仿真里含有高频开关器件连续状态求解器必须严格选择ode23tb或ode15s这类刚性求解器最大步长设为1e-5秒才能抓到PWM开关波形细节如果只是关心控制性能、不在乎开关纹波可以适当放宽到5e-5秒仿真速度能提升一大截。3. 实操过程在R2021b中从零搭建整个模型3.1 模型顶层框架与各子系统划分打开MATLAB R2021b新建Simulink Model我习惯搭建模型的第一步不是拖模块而是先在脑子里把顶层架构画清楚。我的模型划分成了五个顶层子系统电气主电路子系统包括电网电源、LCL滤波器、电网侧变流器、直流母线电容、电机侧变流器、HPMSM电机、飞轮惯量。电网侧控制子系统含PLL锁相环、坐标变换、电流PI调节、SVPWM调制。电机侧控制子系统含转速计算、dq变换、电流PI调节、SVPWM调制。功率计算与状态监测子系统实时计算并网有功/无功、母线电压、电机转速等。控制模式切换逻辑完成电动/发电状态切换、预充电与并网时序控制。顶层布局建议按信号流向排布左边电源中间功率变换右边电机负载控制子系统放置在下方用Goto/From标签传递信号而不是直接连线这样布线清爽模型也容易读。R2021b支持总线信号但我不建议一上来就用Bus调试时不方便单独看数据。3.2 电网侧变流器与SVPWM调制实现电网侧整流器用Universal Bridge模块桥臂数选3功率开关器件选IGBT/DiodesRon和导通压降参数先按默认我在后期判断损耗时才改这些值。SVPWM调制是并网控制里最核心也最容易出错的环节。我用的实现方法是在Simulink里搭建标准SVPWM算法模块输入两相静止坐标系下的电压分量Uα、Uβ先计算扇区号再计算作用时间最后生成三相占空比信号送入PWM Generator。这里的坑是Simulink的PWM Generator模块有两种模式一种是内部产生载波直接给占空比信号另一种是外部输入载波信号。如果是SVPWM这种非正弦调制波必须选择外部载波模式把SVPWM计算出来的三相调制波送进去比较否则出来的波形就是错的。我一开始偷懒试图用内部载波直接跑三相正弦调制波形确实也能看但直流母线电压利用率直接损失了约15%后来换回SVPWM才有改进。3.3 飞轮电机侧电动/发电切换逻辑电机侧变流器的控制难点在于必须根据飞轮充放电状态平滑切换电动和发电运行。如果直接跳变参考转矩电流冲击会大到吓人。我的做法是定义一个状态变量mode充电时mode1转速参考值逐渐增加到目标转速放电时mode-1转速参考值逐渐降低。转速参考值不能用阶跃信号一路跳变而是通过一个速率限制器Rate Limiter限制参考值的变化速度防止机械冲击。电机侧电流环的电流参考值由转速环PI输出限幅后给出。充电时转矩正电流正电机加速放电时转速环输出负电流反向电机制动。这样来看电动与发电的切换其实是通过转速参考信号来软切换的无需额外逻辑硬跳变运行波形自然得多。3.4 飞轮惯量与机械损耗建模飞轮本体在Simscape里可以用Rotational Inertia模块表示设置转动惯量J8.1kg·m²。同时还应当包含轴承损耗和风阻损耗这是飞轮系统待机时的主要能量损失。轴承损耗我用的是Rotational Friction模块设置一个与速度线性相关的阻尼系数B。风阻损耗是一个与速度三次方成正比的阻力矩Simscape里没有现成模块直接对应我用的方式是搭建一个受控力矩源输入转速信号经三次方计算后作为阻力矩注入机械轴。这样搭建虽然多花几分钟但能真实反映飞轮系统在高速区的损耗特性对研究待机耗能控制策略很重要。3.5 并网时序与预充电控制并网不能上来就闭合断路器。直流母线电容初始电压为零直接闭合并网开关会产生巨大的浪涌电流。我按照实际工程流程在模型中增设了预充电控制逻辑先通过限流电阻给母线电容充电到额定值90%以上再短接限流电阻最后才允许电网侧变流器开始调制输出。在Simulink里我用了一个延时触发加逻辑判断来实现这个过程。先是电网侧软启动PLL锁定电网相位后电流环参考值从零开始斜坡上升避免并网瞬间过流。断路器闭合的触发信号由Stopped/Started内部标志位控制这样时序上的问题可以在仿真最开始就规避掉。4. 常见问题与调试技巧实录4.1 SVPWM调制波异常直流母线电压利用率突然下降我在第一次调试SVPWM时发现直流母线电压有异常跌落一度以为是电容参数问题查了半天才发现是SVPWM的调制比设置超过了线性区。SVPWM在线性调制区最大输出相电压幅值为Vdc/√3理论上调制比最大可以到1.1547。但我不小心把调制波幅值算错了导致过调制输出波形底部削平谐波剧增。排查的方法是直接看三相调制波的波形正常应该是马鞍形SVPWM的特性就是叠加了零序分量波形像马鞍如果看到正弦波并且幅值拉满多半是SVPWM计算环节出了问题而不是PWM输出环节的问题。4.2 并网电流波形畸变与谐振峰处理第二个折磨了我一个周末的问题是并网电流波形在特定功率点出现高频振荡。LCL滤波器带来的谐振峰在10kHz附近而控制环路在这个频段的增益还没有完全衰减两者叠加形成了自激振荡的隐患。解决办法是在LCL电容支路串联阻尼电阻模拟工程中常用的无源阻尼策略。从仿真结果看加0.25Ω的阻尼电阻之后电流THD从11.7%降到3.2%波形瞬间变干净。阻尼电阻选择的依据是电阻压降损耗不能超过系统额定功率1%我测算大约在0.5%左右完全可以接受。4.3 PI参数整定后系统依然无法稳定时的检查顺序如果情况是整套PI参数按公式算出来但系统还是无法稳定我的排查顺序是先检查坐标变换的相位是否正确再看PLL输出的电网相位有没有大量纹波然后看电流反馈是否跟实际相电流一致最后才考虑是PI参数本身的问题。坐标变换错相位或者反馈错位是最容易被忽略的“编程错误”而且表现出的现象跟参数没调好一模一样。相位问题排查技巧是把旋转坐标变换后的dq轴电流波形调出来如果稳态时dq电流仍然高频波动那大概率是坐标变换角度不对。正常的dq电流应是平直的直流分量加上少量纹波。4.4 仿真速度过慢与内存爆炸的应对电力电子仿真跑完整20秒全过程需要耗费很长的时间尤其是我这种开关频率10kHz的模型。我的处理方法是不追求同时模拟高频开关细节和长时间储能充放电全过程。具体操作是把仿真拆成两段一段用固定步长2e-6秒跑PWM高频细节时间范围1秒用来观察电流波形质量和控制动态另一段把电力电子模块替换成平均值模型用变步长跑10秒级别的充放电过程用来观察转速变化和功率调度衔接。这样既保证了精度又大幅缩减了仿真耗时。平均模型的做法是电网侧变流器用一个受控电压源替代电机侧变流器用一个受控电流源替代控制信号直接接电压/电流源指令端。4.5 飞轮转速起不来或无法稳定悬浮的排查飞轮转速无法上升到目标值一般不是控制问题而是电机转矩能力不足或直流母线电压上限不够。高速永磁同步电机在转速升高时反电动势会接近母线电压此时电流环的调节裕度越来越小最终导致转矩输出受限。要解决这个问题通常会引入弱磁控制也就是在转速超过转折点后通过注入直轴去磁电流来抑制反电动势维持高速运行能力。R2021b自带的PMSM模块支持弱磁控制接口但需要自己搭弱磁算法。我这里用的是一种简化的电压闭环弱磁方法实时采样dq轴电压合成幅值当超过电压限制值时通过PI调节器输出id参考值往负方向调节直至电压回落到限制范围内。效果比查表法方便鲁棒性也不错。5. 仿真结果分析与波形验证要点5.1 并网电流与电压相位关系判断仿真跑稳以后第一步看电网电压与并网电流的相位关系。单位功率因数运行时a相电压和a相电流应基本同相位波形过零点误差控制在2°以内。我调试中遇到相位差较大时第一怀疑的是PLL参数太慢锁相不准第二怀疑是滤波器造成的相位滞后。正常情况并网电流稍微滞后于电压因为滤波电感消耗了一点点无功问题是滞后多少算正常我用功率因数测量模块测过单位功率因数运行时cosφ在0.98以上就算达标。5.2 直流母线电压波动与功率指令跟随验证直流母线电压是连接电网侧和电机侧的“桥梁信号”。母线电压波动大意味着两侧功率不平衡。我的指标是在额定功率阶跃时母线电压跌落不超过5%。如果超标优先调电网侧电压外环的PI参数加大Kp能缩小动态压降幅度加大Ki能加快恢复速度但Kp过大会引发震荡。功率指令跟随测试方法给有功功率指令一个正负交替变化的阶跃信号观察实际并网功率的响应时间与超调量。响应时间在10ms以内超调量控制在5%以内整个系统动态就算过关了。5.3 充放电切换过程波形平滑性检查充放电模式切换的瞬间是整个系统最脆弱的时刻波形最容易失控。我的检查方法是看切换瞬间直流母线电压有无尖峰、电网电流有无畸变、转速有无过冲。经过速率限制器平滑之后切换过程大约需要20ms完成母线电压波动控制在3%以内。从我的调试实录来看切换瞬间出现电流尖峰的最大原因不是控制参数而是参考值切换的速率太猛平稳后与PI参数没有本质关系。6. 版本兼容性验证与经验总结MATLAB R2021b这套模型如果换到其他版本需要注意三件事。第一Simscape Electrical库模块名称在R2021a到R2023b之间有几次调整比如PMSM模块在不同版本里所在库路径就不一样如果打开报错优先查模块是否从旧版本迁移。第二SVPWM和PWM Generator模块的信号数据类型必须保持一致性R2021b对数据类型的检查比老版本严格很多有时明明逻辑正确但仿真报错一看是uint16和double混用了。第三源程序里如果使用了新的状态流图Stateflow图表在旧版本中可能无法直接运行这部分建议用普通逻辑模块替代。最后再分享一个纯个人的习惯。飞轮储能仿真这种多时间尺度耦合的系统不要指望一次性从头跑到尾。我现在的习惯是每搭建一个子系统就单独设置一个MATLAB脚本跑通这个小模块的测试用例全部通过后再拼到顶层模型里联合调试。这样的节奏虽然前期慢一点但找BUG的时间会大幅缩短。 提示本文所有参数计算均基于500kW/380V/50Hz系统实际项目中请根据自身飞轮储能系统的功率等级、电压等级和转速范围重新计算。仿真模型调试过程中务必从简单工况低功率、低转速逐步过渡到额定工况不要一上来就跑满功率那样出了问题很难定位。
返回列表