ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

级联H桥STATCOM低频纹波抑制:从原理到工程实践

级联H桥STATCOM低频纹波抑制:从原理到工程实践 做STATCOM项目到现在我印象最深的一件事不是并网成功那一刻而是调试低频纹波时反复炸电容的几周。级联H桥STATCOM的拓扑本身已经够复杂电压均衡、调制策略、并网电流控制哪一个环节没弄好都够你头疼几天。可等你把这些都调顺了低频纹波又像幽灵一样冒出来尤其是电网电压不平衡或负载波动的时候直流侧电容电压的波动幅度能让你怀疑仿真和现实是不是两个世界。这篇文章我想把自己在“级联H桥STATCOM低频纹波抑制”上踩过的坑、试过的方法、最终能落地的思路完整梳理一遍。不是为了堆理论而是给正在做相关课题、或者在公司里搞工程样机的朋友一份可以“抄作业”的参考。无论你是刚接触级联H桥的新手还是已经在搞STATCOM控制的老手只要被低频纹波折磨过这篇文章都值得你花十五分钟读完。1. 级联H桥STATCOM低频纹波的根源不是玄学是数学1.1 拓扑结构决定纹波宿命级联H桥STATCOM的结构不用我多说就是把若干个单相H桥功率单元在交流侧串联、直流侧独立通过载波移相SPWM或者SVPWM来合成多电平输出电压。这种拓扑最大的优势是容易模块化、电压等级可以堆得很高而且不需要笨重的耦合变压器。但代价就是每一相桥臂的直流侧电容是相互独立的无法像三相背靠背变流器那样通过共用直流母线来自然平衡能量。正是这种“独立直流母线”的架构让低频纹波成了级联H桥天生的宿敌。为什么这么说因为STATCOM的本质是用交流侧电流和电网电压之间制造90度相位差来交换无功功率。只要输出电流不等于零每个H桥单元的直流电容就会持续吸收或释放能量。这个能量的振荡频率恰恰是电网基波的二倍频也就是100Hz50Hz工频下。我当年第一次在MATLAB仿真里看到直流侧电压波形时还以为是仿真步长设大了导致数值振荡。后来把步长从1e-4缩到1e-6波形照样在那里上下起伏我才意识到这就是理论推导里说的二倍频纹波。换句话说只要STATCOM在输出无功二倍频纹波就必然存在你只能抑制不能消除。1.2 纹波不处理后果有多严重很多人觉得纹波不就是电压波形上有点起伏吗电容不是本来就是用来稳压的吗这话放在小功率场合可能没错但在级联H桥STATCOM里低频纹波会造成三个非常棘手的连锁反应。首先是电容电压畸变。二倍频纹波的峰值会叠加在直流偏置上导致电容电压实际最大值比平均值高出很多。你按3300V平均值选的电容器实际运行中可能扛到3500V甚至更高绝缘裕度直接吃掉。就算不炸电解电容的寿命也会因为纹波电流过大而急剧缩短这个在工程上不是小事。其次是电流谐波恶化。电容电压的波动会直接影响H桥输出电压的幅值在载波移相调制下这种幅值扰动会在交流侧产生一系列谐波尤其是三次、五次这类低次谐波。你原来精心设计的多电平谐波消除算法因为纹波的存在直接破功。最后是控制耦合。STATCOM的电流环依赖电压前馈而电压本身在低频波动前馈量就不准电流环跟踪性能下降。你调好的PI参数可能在纹波峰值处产生过冲严重时甚至引发控制失稳。我实测过纹波幅度超过5%时电流THD会从3%飙升到8%以上那个波形光是看着都让人失眠。2. 抑制策略设计思路锁定能量补偿这个关键变量2.1 为什么通用的电容电压均衡控制不够用级联H桥STATCOM的电容电压均衡控制通常分两部分平均电压控制和相间电压均衡。平均电压控制能保证各功率单元直流电压之和维持在指令值相间均衡能保证三相功率单元之间不出现长期电压偏移。但这些控制的目标都是“平均值”对周期性的二倍频纹波几乎不设防。原因很简单平均电压控制用的是低通滤波器和PI调节器调节带宽通常只有几十赫兹甚至更低。而二倍频纹波是100Hz等你PI输出调整量纹波的相位已经转了半圈抑制效果微乎其微。这也是为什么光靠电压外环和电流内环的传统方案在级联H桥STATCOM上始终压不住低频纹波的根本原因。所以我在设计抑制策略时第一件事就是转变思路不要试图用控制环去“压”纹波而是直接根据功率关系把纹波分量的相位和幅值算出来然后注入一个反向的补偿量。这个思路的本质是前馈补偿而不是反馈调节。2.2 从功率守恒推导纹波表达式要想准确补偿首先得把纹波的数学模型写出来。这里我以一个单相H桥单元为分析对象假设输出电压为电网电压期望值输出电流为正弦波。根据瞬时功率平衡交流侧瞬时功率必须等于直流电容吸收的功率再加上开关损耗和电容自身损耗。瞬时功率的计算公式是p_ac u_ac * i_ac其中u_ac和i_ac都是正弦波。两个同频正弦波相乘结果包含一个直流分量和一个二倍频交流分量。这就是纹波能量的来源。直流分量对应有功损耗的补偿二倍频分量则是纹波本身。推导出二倍频功率后乘以一个时间积分再除以直流电容的容值就得到了纹波电压的解析表达式。这个表达式里包含输出电流幅值、电压幅值、电容容值和功率角等参数。工程上你不需要真的去解积分因为只要锁相环跟踪到了电网电压的相位并且你知道输出电流的q轴分量就可以实时计算出任意时刻的纹波电压偏差。我的做法是在DSP控制程序里维护一个100Hz的基准正弦表这个正弦表的相位严格锁定在电网正序电压的二次谐波相位上。然后把纹波幅值用电流q轴分量和直流电压平均值估算出来相乘后叠加到电容电压指令上。实现了“指令值携带纹波量”之后实际电容电压的波动就被这组前馈指令“引导着”走纹波在控制层面不再是未知扰动而是已知的参考轨迹。2.3 抑制策略的分层架构我把这套抑制策略设计成三个层面。第一层是原有的平均电压和相间均衡负责保证电压指令的整体方向。第二层是纹波前馈补偿负责实时修正每个H桥单元直流电压的瞬态指令值。第三层是电流环的电压前馈修正把电容电压的波动信息给到电流调节器避免纹波影响到并网电流质量。这三个层面各管一段互不干扰。第一层维持慢动态第二层处理100Hz的瞬态量第三层清理残余耦合。整个过程不需要改动原有控制架构只需在原指令值上叠加一个修正项工程上非常容易落地。3. 核心环节实现仿真验证与参数整定3.1 仿真模型搭建的要点我用的是MATLAB/Simulink搭了一套11电平三相级联H桥STATCOM模型每相10个功率单元直流侧电容容值设定为8mF直流电压指令为800V。电网电压10kV经隔离变压器接入。功率等级设定在1MVar足够模拟真实工况。仿真中最容易翻车的不是纹波抑制算法本身而是载波移相SPWM的实现。每相10个单元载波相位间隔是180度除以单元数也就是18度。载波频率我设为2000Hz所以等效开关频率是20kHz这个参数在纹波抑制策略验证时比较理想。如果载波频率过低低频纹波和载波谐波会混叠你很难区分抑制效果是好是坏。仿真步长我推荐用离散定步长至少设到5e-6秒。纹波抑制算法涉及100Hz的实时计算步长太大会导致相位滞后前馈补偿效果打折。我一开始用变步长ode23tb跑结果波形囫囵吞枣换了定步长之后才看清纹波的真实形态。3.2 纹波幅值估算的工程简化推导纹波电压表达式时你会发现理论上要精确计算纹波幅值需要知道很多瞬时量比如功率角、电流幅值、相位差。但这些在控制里都有现成的信号不需要额外做复杂运算。我采用的估算公式是U_ripple约等于P_ac_twice除以(2乘以ω乘以C乘以U_dc)。其中P_ac_twice是瞬时功率的二倍频分量的幅值这个值可以从电流内环的q轴电流指令乘以d轴电压来近似。ω是电网角速度C是直流电容容值U_dc是直流电压平均值。所有量都是标幺值放在DSP里整个计算过程不到十个周期指令。这个简化公式没有考虑电容ESR和开关损耗但用于前馈补偿足够了。因为它不需要精确的纹波峰值只需要相位对、幅值在正负20%误差范围内补偿效果就能显著改善。实测下来电压纹波从6%降到1.5%以下完全满足工程要求。3.3 补偿量注入位置选在电压指令还是电流指令这里有个设计细节值得单独说一下。纹波补偿量有两个注入位置一个是电容电压外环的指令值一个是电流内环的q轴电流指令。我一开始选了后者结果发现电流环带宽很高100Hz的扰动指令会导致并网电流里出现明显的二倍频分量无功输出波形肉眼可见地抖动。后来我改成把补偿量注入到电压指令端情况立刻好转。原因是电压外环带宽低对100Hz的补偿指令响应速度慢不会把纹波干扰传导到电流环。但光改这个还不够电流环前馈的电压量也要同步修正。原来的电压前馈用的是一阶低通滤波后的直流电压平均轨迹我改成实时检测电容电压值加一个带通滤波提取100Hz分量然后叠加到前馈量上。这样一套双通道修正下来电流环不会再受到纹波影响STATCOM的并网电流波形比原来干净了很多。实测THD从5.7%降到2.1%纹波抑制策略的收益非常直观。4. 常见问题与排查技巧实录4.1 补偿方向反了导致纹波放大第一次在硬件上跑抑制策略时我犯了一个特别低级的错误。补偿量的符号反了结果不仅没抑制住纹波反而让电容电压波动比不补偿时更大。这个现象在仿真里很难发现因为仿真模型里的电压极性和控制方向完全一致但硬件上电压互感器的同名端、电流传感器的进线方向任何一个接反都会导致相位反转。排查方法很简单。不加载补偿时记录一段电容电压波形然后加载补偿如果纹波幅值上升就把补偿量的符号取反再试。不要问我为什么要用这种笨办法因为造成符号反的原因太多靠推理反而容易漏掉一些隐蔽的接线问题。4.2 锁相环动态响应导致相位滞后另一个常见的坑是锁相环的带宽不够。前馈补偿对相位要求很高100Hz纹波的前馈分量如果存在47度以上的相位滞后补偿效果不但不减少还会增加纹波。我用SOGI-PLL做了三相软件锁相带宽设在100Hz以上相位裕度45度。这套设计在电网电压畸变率低于5%的情况下稳态相位误差控制在3度以内已经不影响补偿效果。但如果并网点有大量电弧炉等非线性负荷电压畸变率飙到10%就需要考虑改用双二阶广义积分器来提取正序分量否则锁相环自身就会输出带谐波的相位角度。4.3 电容老化导致补偿失配电容容值会随着运行时间下降这是很多工程人员容易忽略的因素。刚投运时容值是100%三年后可能降到85%。如果纹波抑制算法里用的容值参数没更新补偿幅值就会持续偏大。我的做法是每半年做一次容值自检利用STATCOM停机且直流电容充满电的条件通过放电试验测出实际容值然后更新控制器参数。这个操作可以做成自动化不需要额外的硬件设备只需要一台数据采集仪器和控制器的通讯接口。4.4 各功率单元之间的参数离散性级联H桥STATCOM里各个功率单元的直流电容容值不可能完全一致有的可能偏差5%有的偏差8%。这会导致每个单元的纹波幅值不一样同样一版补偿系数A相第一个单元效果很好A相第二个单元可能就欠补偿。针对这个问题我采用了单元独立补偿系数的方案。每个功率单元在出厂时记录容值标定数据控制器在运行时根据各自的容值实时计算不同的前馈增益。这样一个矢量控制的策略变成了多路并行的小策略代码量增加不多但适应性大幅提升。我有一次在工程现场遇到过特别奇葩的情况一个单元的电容坏了现场临时换了只容值只有原来60%的替代品补偿算法没来得及更新这个单元纹波达到了11%其他单元纹波只有2%。后来把容值参数更新进去这个单元的纹波立刻降到同水平。5. 实操心得与后续扩展思路5.1 仿真到硬件的“代沟”仿真里纹波抑制效果那么完美为什么硬件上总是差一截我在这个项目里算是彻底想明白了。仿真里的电容是理想模型ESR为零自谐振频率无穷大。实际电容的ESR会引入额外的损耗这个损耗在二倍频纹波频率下相当于给纹波加了一个阻尼。这意味着你仿真时可以把纹波压到几乎看不见但硬件上始终会有残留的纹波。我一开始死活不理解为什么实测纹波比仿真大后来专门用阻抗分析仪测了直流电容在100Hz处的等效阻抗才发现里面的门道。工程上不要追求仿真和实测的绝对一致只要纹波抑制率能满足设计要求就已经合格。5.2 参数在线自适应的方向目前我用的纹波幅值估算还是基于离线标定的公式容值变化后需要人工更新。但这并非长远之计尤其是级联H桥STATCOM这种模块化设备未来会越来越多地用于构网型储能场景功率流动方向频繁变化电网电压也更不稳定。我现在正在尝试把纹波抑制与电容状态监测整合起来。既然我们已经在计算每个单元的纹波幅值而纹波幅值本身又和电容容值强相关那就完全可以反推容值的变化趋势再自动调整补偿系数。这项工作已经做了第一版原型在MATLAB里用参数辨识方法反推容值误差控制在3%以内。如果后续能把复杂度降下来、运算周期控制在几十微秒以内就有机会在DSP上实现真正的在线自整定。5.3 多目标联合优化的一个思路低频纹波抑制不只是STATCOM内部的问题它还会影响SVG和储能PCS协同工作时的系统级稳定性。我现在遇到的一个新课题是当同一个并网点有多个电力电子设备在同时补偿无功时各自的纹波分量会不会组合出新的低频谐振。初步仿真结果显示如果两台STATCOM的载波相位同步纹波可能会叠加如果错开反而会互相抵消。这个方向还没有形成成熟的控制理论但我个人觉得未来值得投入精力。也就是说纹波抑制策略下一步不只是“单机算自己的补偿量”而是“多机协同补偿”。如果你对这方面有想法欢迎一起交流。写到这里关于级联H桥STATCOM低频纹波抑制的探索和实践基本就讲完了。说句实在话这个项目从头走到尾最难的不是算法推导而是到了现场之后各种细节的修正和妥协。每一次纹波波形从鸡爪状变成光滑的正弦都让我觉得这活没白干。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进