MMC分布式储能这个话题,最近在圈子里讨论度确实高。做柔直和储能方向的朋友应该都有体会,MMC(模块化多电平换流器)和分布式储能结合之后,系统的控制自由度上来了,但麻烦也跟着来了——最典型的就是恒功率和恒电压两种控制模式之间的切换问题。我在几个项目里实际调过这类系统,也踩过不少坑,这篇就围绕这个主题,把我在方案设计、参数整定、现场调试过程中积累的东西摊开讲讲。如果你是做储能变流器控制、微电网系统集成,或者正在研究MMC在储能场景应用的同学,这篇应该能帮你少走弯路。
先说清楚一个基础判断:恒功率控制(PQ控制)和恒电压控制(UdcQ控制)在本质上解决的是两个不同维度的问题。恒功率控制的目标是让换流器输出的有功、无功精确跟踪指令值,相当于“我要发多少电就发多少”;恒电压控制的目标是稳住直流母线电压或者交流侧电压,相当于“不管外面怎么波动,这个电压我扛住”。分布式储能系统接入微电网或者配电网时,网架结构、运行状态、调度需求都在动态变化,单一控制模式根本应付不过来,所以“切换”不是锦上添花,而是刚需。但这个切换如果做得不好,轻则电压波动、功率震荡,重则触发保护跳闸、损坏功率模块,尤其是在MMC这种子模块级联结构下,问题会被放大得很明显。
1. 项目整体设计思路:为什么MMC要配分布式储能,为什么要“切换”而不是“折中”
1.1 MMC拓扑在分布式储能场景中的优势
先聊一个很多人会问的问题:分布式储能用两电平变流器不是挺成熟的吗,为什么要上MMC?
我的理解是,MMC在储能场景里有几个硬优势。第一,模块化结构天然适合分布式电池组的接入。每个子模块(SM)可以独立配置电池簇,通过电容电压均衡控制实现能量管理,这就把“电池簇间的环流问题”从硬件层面化解了一大半。传统集中式PCS把整个电池堆串在一起,一旦某个电池簇出问题,整个系统都得停机;MMC这里可以做到子模块级旁路,故障隔离粒度细得多。
第二,MMC输出波形质量好。电平数上去之后,谐波含量大幅降低,可以省掉或者缩小交流侧的滤波电抗器。要知道在储能电站里,滤波器的体积、损耗、成本都是一笔不小的开销。
第三,黑启动和弱网适应性更强。MMC具备一定的自换相能力,再加上储能侧的主动支撑,在孤岛模式或者微网弱电网工况下,比传统LCC或者两电平VSC要稳。这也是为什么很多海岛微网、偏远地区配电项目开始往MMC+储能这个方向上靠。
但优势归优势,MMC的复杂性也是实打实的。子模块电容电压均衡、桥臂环流抑制、调制策略的选择(载波移相还是最近电平逼近)、控制器算力要求高,每一个环节都会影响系统稳定性。控制模式切换这个事,就是在这些复杂性之上再加了一层“动态行为”的考验。
1.2 为什么必须做控制模式的无缝切换
直接说结论:储能系统的运行状态和外部电网条件决定了控制模式必须“动态可变”。
举个实际场景。微网并网运行时,上级电网是强支撑,储能系统不需要承担电压稳定职责,这时候用恒功率控制,按调度指令充放电,效率最高,也最容易实现经济运行。但一旦上级电网发生故障,微网转入孤岛运行,这时候没有了大电网的支撑,电压和频率必须由本地电源来扛,储能系统如果还在闷头按原来的功率指令输出,整个微网瞬间就会电压崩溃。这时候,控制模式必须从恒功率切到恒电压(或者恒频率),由储能系统撑起电压。
反过来的情况也有——孤岛模式下系统正常运行,上级电网恢复供电,微网要重新并网。并网瞬间,储能要从“电压支撑者”变回“功率执行者”,控制模式从恒电压切回恒功率。整个过程如果切换不平滑,并网瞬间的冲击电流可能直接把断路器顶跳。
所以,这个“无缝”两个字,指的不只是控制逻辑上的切换,而是功率、电压、电流在切换前后都不能出现有害的暂态突变。说白了就是:模式变了,但系统状态不能“抖”。
1.3 方案选型:DBS切换、滞环切换还是其他措施
实际工程里,模式切换大体上有几种思路。
第一种是DBS(Direct Binary Switching)直接切换,也就是在同一时刻把控制器从模式A的输出直接切到模式B的输出。这个方法实现最简单,但问题也最明显:如果两种模式在切换时刻的输出值不相等(比如恒功率模式下调制波是某个值,恒电压模式下是另一个值),切换瞬间就会出现调制波跳变,导致电压和电流冲击。纯粹用DBS,离“无缝”差得很远。
第二种是DBS+斜坡补偿切换。在DBS的框架上,给切换后的输出叠加一个斜坡过渡,让调制波在几十毫秒内慢慢过渡到新目标值。这种方法能压住冲击,但斜坡的斜率很难选——太快了没效果,太慢了会拖慢系统动态响应,期间如果遇到负荷突变,过渡过程可能会出问题。
第三种是滞环切换。设置两个阈值:并网工况下电压在上限U_high以内时保持恒功率,低于下限U_low时切恒电压;孤岛恢复后,电压回到U_high以上再切回恒功率。滞环的好处是避免临界点反复切换(也就是所谓的“频繁切换振荡”),但坏处是需要针对不同运行状态仔细标定阈值,而且本质上切换时刻的冲击问题并没有自动解决,还是要配合过渡算法。
我实际项目里用的方案,是“状态协调+斜坡过渡+限幅约束”的组合拳。状态协调保证切换逻辑不冲突,斜坡过渡保证切换过程平滑,限幅约束保证最坏情况下电流和电压不越限。这套组合在后续章节会详细展开。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心控制策略解析:恒功率和恒电压到底在控制什么
2.1 恒功率控制:外环功率、内环电流的双闭环结构
恒功率控制在dq同步旋转坐标系下,通常采用电流内环和功率外环的双闭环结构。外环的有功功率和无功功率经过PI调节器,输出内环的d轴和q轴电流参考值;内环电流PI再输出d轴和q轴电压参考值;最后经过坐标反变换和调制,生成各桥臂子模块的触发脉冲。
这里有两个关键参数需要算清楚。一个是外环PI的参数,直接决定了功率响应的速度。以我常用的工程整定法为例,假设有功功率外环的带宽设为50 rad/s(对应约8Hz的响应速度),比例系数可以粗算为:
Kp_p = (C_us * ω_bw) / (1.5 * U_dc_ref)
其中C_us是直流侧等效电容(含子模块电容折算值),ω_bw是期望的功率环带宽,U_dc_ref是直流母线参考电压。假设C_us = 0.05 F,ω_bw = 50 rad/s,U_dc_ref = 10 kV(以MMC直流母线10kV为例),那么:
Kp_p ≈ (0.05 × 50) / (1.5 × 10000) ≈ 1.67e-4
这个数值很小,但量纲和标幺制有关,实际工程里一般会转换到标幺值域再整定。这里想说明的是,PI参数不是拍脑袋定的,而是从你期望的动态响应指标倒推出来的,这样才能保证切换前功率跟踪的快速性和稳定性。
恒功率控制的优点是响应快、调度友好,特别适合并网运行环境。缺点是它本质上是“被动跟随”型控制,不主动建立电压,所以在孤岛或者弱网环境下,光靠恒功率控制撑不起电压。
2.2 恒电压控制:直流电压或者交流电压的闭环稳定
恒电压控制同样采用双闭环,区别在于外环被替换成了电压环。以直流电压控制为例,外环检测直流母线电压U_dc,经过PI调节器输出有功电流参考值,从而控制换流器从交流侧吸收或者释放有功,达到维持直流电压稳定的目的。
直流电压外环的PI参数整定逻辑和功率外环类似,但带宽会取得更低一些。一般直流电压环带宽设为功率环的1/5到1/10,比如功率环带宽50 rad/s,电压环带宽取10 rad/s左右。这样做的原因是,电压环套在内环电流环外面,带宽必须逐级递减,才能保证控制的稳定性和抗扰性。
这里有个很容易犯的错:电压环的带宽取得太高,会导致直流电压响应过于“激进”,在电池充放电切换瞬间产生较大的电流冲击。而且MMC的子模块电容本身有一个电容电压波动范围,如果电压环带宽和子模块电容电压均衡控制的带宽重叠,就可能产生交互振荡。我见过一个现场项目,电压环带宽取到20 rad/s,和电容均衡控制在某个频率点发生谐振,导致子模块电容电压发散,最终触发过压保护,整个系统跳机。后来把电压环带宽压到8 rad/s,问题就消失了。
恒电压控制的优势在于“主动支撑”——它能为系统提供电压基准,适合孤岛运行、黑启动、并网切换等场景。但它的问题在于,如果外部功率需求超过换流器容量,电压环会饱和,控制系统失稳。因此在实际应用中,恒电压控制通常要配备完善的限幅和抗饱和措施。
2.3 两种控制模式的本质矛盾
把两种模式放在一起看,就能看出问题的本质:
- 恒功率控制输出的是“功率指令执行结果”,它不关心电压是否变化(一般在并网强系统下电压由电网支撑);
- 恒电压控制输出的是“电压稳定结果”,它不直接关心功率是否符合调度需求,功率是被动平衡的。
两者的输出目标变量不同、外环结构不同、PI参数不同,甚至内环电流参考值的来源也不同。这就带来一个核心问题:切换时,控制器内部的“状态量”(积分器的输出值、电流参考值、调制波)在切换前后是不连续的。就像开车从定速巡航切到手动控制油门——如果你不处理速度的过渡,车子就会猛地窜一下或顿一下。
所以在方案设计时,我特别强调“切换前的状态预置”和“切换后的状态跟踪”。这两个问题在下一章详细展开。
3. 无缝切换的关键实现路径:从理论到可落地的控制方案
3.1 切换前:控制器状态预置
无缝切换的第一个秘诀,是在切换发生之前就为新的控制模式“预置状态”,也就是让新控制器在切入之前就已经“知道”当前系统处于什么状态。
具体做法是这样的:在系统运行于恒功率模式时,恒电压控制器其实也在后台同步运行,只是它的输出没有被选通到调制环节。这样做的好处是,恒电压控制器的积分器和状态变量一直在跟踪当前系统状态——比如当前直流电压是10 kV,恒电压控制器的积分器也稳定在维持10 kV所需的输出值上。当切换指令到来时,恒电压控制器的输出和当前系统所需输出基本一致,切换瞬间的调制波就不会突变。
这个思路在工程上叫“热备用控制器”或“影子控制器”。实现起来也不复杂,就是在控制代码里让两个控制器的外环和内环都始终运行,通过一个切换开关选择最终哪一路输出进入调制器。
3.2 切换中:斜坡过渡和限幅约束
即使是热备用控制器,切换瞬间由于PI参数不同、参考值不同,输出还是会有微小偏差。为了更稳妥,我习惯在切换指令发出后,对调制波输出做一段斜坡过渡——从当前值在5~20ms内过渡到新目标值。斜坡的斜率按系统能接受的电压变化率来定,用dU/dt约束换算。比如直流母线允许的最大电压变化率为100V/ms,那么斜坡长度就按这个来算。
限幅约束也很重要。切换过程中,电流内环的参考值可能会在短时间内跳变,所以要给d轴、q轴电流参考值分别设置上升/下降速率限制和绝对值限制。限幅值根据功率模块的电流裕量来设定,一般取额定电流的1.2倍左右作为短期过载上限,持续时间控制在数十毫秒内。
3.3 切换后:模式标志位和逻辑互锁
切换完成后,要立即更新系统模式标志位,让保护逻辑、通信逻辑、上层调度都感知到当前的控制模式。同时,为了避免“切换振荡”(也就是在边界条件附近反复切换),必须加滞环逻辑。比如从恒功率切到恒电压的条件是直流电压低于10.0 kV,而从恒电压切回恒功率的条件是直流电压恢复到10.5 kV。0.5 kV的滞环区间可以确保切换动作不会过于频繁。
3.4 时序逻辑的主干描述
下面用文字方式把这个切换流程的时序逻辑完整写一遍,方便做数据时序图对照。
初始状态:系统运行于并网模式,MMC采用恒功率控制,直流电压由电网侧支撑,稳定在10 kV。
T0时刻:检测到并网开关分闸信号,微网进入孤岛模式。同时直流母线电压从10 kV开始下降,原因是分布式电源与负荷之间出现功率缺额。
T0+10ms:采集直流电压到达9.6 kV,低于切换阈值下限(假设设定为9.7 kV)。控制器的模式切换状态机被触发,切换流程启动。
T0+10ms至T0+15ms:完成恒电压控制器的输出预置。由于恒电压控制器此前一直在后台运行,其输出值已跟踪到当前状态(因为直流电压此前的下降已通过内部环路反映到积分器上),所以预置过程很快。
T0+15ms至T0+35ms:切换开关动作,调制波从恒功率控制器输出切到恒电压控制器输出,同时启用斜坡过渡,斜坡时长20ms。此期间,电池管理系统(BMS)收到模式切换指令,开始调整电池充放电电流上限,配合电压控制。
T0+35ms:斜坡过渡完成,系统完全处于恒电压控制模式。直流母线电压开始回升,经过约100~200ms的动态过程后,稳定回10 kV目标值附近。
后续运行:微网孤岛稳定运行,储能系统承担电压支撑角色,本地负荷功率波动时,储能自动调整有功输出以维持电压稳定。
T1时刻:检测到并网开关合闸允许信号,微网准备重新并网。此时电压和频率已经与上级电网同步(通过预同步控制完成)。
T1+10ms:恒功率控制器在后台运行,其功率指令由调度重新下发(通常为0kW以减少并网冲击)。
T1+20ms:切换开关动作,控制模式从恒电压切回恒功率,斜坡过渡20ms。
T1+40ms:并网开关合闸,系统重新进入并网运行状态,储能按调度指令执行充放电。
这就是一个完整的“并网→孤岛→并网”过程中控制模式切换的时序骨干。实际中还会加入预同步逻辑、闭锁逻辑、通信握手等细节,但主干就是这个流程。
4. 实操过程与现场调试实录
4.1 半实物仿真平台上的预验证
在现场动设备之前,建议先在半实物仿真平台(比如RT-LAB或者dSPACE配合MMC主电路模型)上进行充分的预验证。这一步不是为了走流程,而是为了在低成本下把参数和逻辑调通。
我习惯先做几个典型工况的测试矩阵:
工况1:并网稳态运行测试(恒功率模式)
- 功率指令阶跃:0kW → 200kW → -200kW,记录功率响应时间、超调量、直流电压波动
- 目标:功率阶跃响应时间<50ms,超调<5%,直流电压波动<±1%
工况2:孤岛切换测试(恒功率→恒电压)
- 模拟并网开关跳闸、直流电压跌落,验证切换逻辑和斜坡过渡效果
- 记录切换瞬间的直流电压最低点、交流电流最大值、切换完成时间
- 目标:直流电压最低点不低于0.85倍额定电压,交流电流峰值不超过1.5倍额定电流,切换完成时间<50ms
工况3:孤岛稳态运行测试(恒电压模式)
- 负荷阶跃:50kW → 200kW → 50kW,观察电压恢复时间和电池功率响应
- 目标:电压恢复时间<200ms,电压稳态偏差<±2%
工况4:重新并网切换测试(恒电压→恒功率)
- 在电压同步完成后,执行切换并并网,检测冲击电流和功率响应
- 目标:并网冲击电流<1.2倍额定电流,相位差<5度
这些工况在仿真平台跑完之后,基本能暴露90%以上的逻辑问题和参数问题。我见过不少项目跳过这一步直接上真机,结果在现场反复烧保险、跳保护,最后还得回到仿真平台去查问题,反而多花了几倍时间。
4.2 现场电压跌落模拟试验
现场验收时,比较有挑战的一项是人为制造“并网转孤岛”的过程,用来验证切换的快速性和平滑性。
操作方法是:在微网并网点人为断开断路器,同时通过录波仪记录直流母线电压波形、交流电流波形、PWM调制波输出。第一次做这种试验时,我提醒团队在断路器断开瞬间要重点关注两点:一是储能电池的电流方向是否瞬间反转(这是正常的,因为储能要从充电状态转为放电状态来支撑电压),二是交流侧电流是否出现短时过冲。
实测下来,第一次试验中直流电压在开关断开后从10 kV跌到了8.6 kV左右(对应0.86pu),然后开始回升,大约200ms后回到10 kV,切换过程交流电流峰值达到1.4倍额定值,在安全范围之内。整体波形比较平滑,没有出现振荡,说明热备用控制器和斜坡过渡的组合是有效的。
4.3 参数调整实例:斜坡时间与电压环带宽的取舍
我在调试中发现一个很有意思的权衡关系:斜坡时间越长,切换瞬间的冲击越小,但切换完成后系统达到新稳态的时间越慢;电压环带宽越高,电压恢复速度越快,但容易引起和子模块电容均衡控制的交互振荡。
以我调的10kV/1MW系统为例,最终参数选的是:斜坡时间20ms,电压环带宽8rad/s。这个组合在并网转孤岛时,直流电压最短跌落到8.7kV(约0.87pu),切换完成后150ms内恢复到10kV±2%区间,交流电流峰值不超过1.35倍额定值。从工程角度看,这个动态表现已经符合现场验收标准。
如果项目对动态响应要求更高,可以考虑把斜坡时间压缩到10ms,同时把电压环带宽提升到12rad/s,但这时候必须小心检查子模块电容电压波动是否在可控范围内,必要时需要增加电容容值或者调整均衡控制参数。
5. 常见问题与排查技巧实录
5.1 切换瞬间直流电压出现较大跌落
现象:并网转孤岛瞬间,直流电压跌落到0.7pu以下,甚至触发低电压保护。
排查思路:
- 检查恒电压控制器的热备用状态。如果影子控制器不是全程运行,切换瞬间其积分器从零开始充电,调制波输出会有一个明显的“建立过程”,电压自然撑不住。解决方法是确保恒电压控制器全程后台运行,积分器跟随系统状态。
- 检查斜坡过渡是否正常。如果斜坡被误配置为零(相当于直接DBS切换),切换瞬间的冲击会非常大。解决方法是设置合理的斜坡时间。
- 检查电池系统的功率响应能力。如果BMS限制了电池功率变化率(有些锂电池SOC管理策略会限制充放电切换速度),那么即使换流器控制再快,电池也供不上电,电压还是会被拉低。这时需要和BMS厂商协调,调整功率变化率限制策略,给“恒功率→恒电压”切换预留足够的功率响应裕量。
5.2 切换过程中交流电流过冲
现象:切换瞬间交流电流峰值超过2倍额定值,导致过流保护动作。
排查思路:
- 检查电流内环的限幅是否生效。很多控制器在模式切换时,内环电流参考值不受限幅保护,导致瞬时指令过大。解决方法是给内环电流参考值增加一阶惯性环节,限制其变化速率。
- 检查负载角(功率角)是否过大。切换前恒功率模式下功率角可能比较大,切换后恒电压模式需要调整相位,这个调整过程如果太激进,会产生较大的冲击电流。解决方法是加长斜坡时间,同时配合软件锁相环的动态调整。
5.3 切换后系统出现低频振荡
现象:切换完成后,功率和电压在10~30Hz频率段出现持续的等幅振荡。
排查思路:
- 检查电压环带宽和内环电流环带宽的比值是否合理。如果两者太接近,容易引发环路交互振荡。解决办法是拉开差距,按照带宽递减原则重新整定。
- 检查子模块电容电压均衡控制是否受影响。切换后电容电压波动范围是否变大,均衡控制是否还能跟上。解决办法是适当增大均衡控制的P参数,或者提升控制周期频率。
- 检查负荷侧是否有恒功率负载(比如变频器、开关电源等)。恒功率负载本身具有负阻抗特性,如果储能系统的电压环参数不匹配,很容易和恒功率负载形成负阻尼振荡。这种情况需要在储能控制器中加入额外的阻尼控制策略,比如在电压环中叠加一个高频分量抑制环节。
5.4 频繁切换导致的控制模式“振荡”
现象:电压在切换阈值附近波动时,系统在两种模式之间反复切换,每次切换都有冲击。
排查思路:
- 检查滞环宽度。切换阈值上下限之间的差值(滞环宽度)必须显著大于正常运行时的电压波动范围。比如空载运行时电压波动±50V,那么滞环宽度至少要为200V。
- 增加切换屏蔽时间。在完成一次切换后的500ms内,禁止再触发反向切换,让系统有足够的时间稳定下来。
6. 工程落地建议与个人心得
6.1 关于“无缝”的工程定义
先泼一盆冷水:完全零冲击的切换在工程上是不存在的。调制波跳变、电压跌落、电流过冲只能被控制在可接受范围内,不可能做到绝对“无感”。所以,在项目验收时,要和甲方明确“无缝”的量化指标——比如直流电压跌落不超过15%、恢复时间不超过200ms、电流过冲不超过1.5倍额定值。把这些指标写进验收大纲,后面调试才有明确方向。
6.2 热备用控制器是值得投入的实现路径
我在两三种切换实现方案里对比过,热备用控制器(影子控制器)虽然在代码实现上稍微复杂一些,需要多维护一套外环和内环的控制逻辑,但在切换平滑性上的收益非常大。而且,它天然解决了“切换后新控制器从零开始”的问题,配合斜坡过渡和限幅,基本可以做到现场一次通过。如果你是在现有代码上做改造,建议优先把热备用控制器加上。
6.3 数据记录是排查问题的金钥匙
现场调试时,一定要保证录波系统完整记录以下关键量:直流电压、交流三相电流、PWM调制波输出值、两种控制器的外环输出值、内环电流参考值、模式切换标志位。很多振荡和冲击问题,如果没有完整的录波数据,排查起来像大海捞针。我习惯把所有关键量以1kHz的采样率记录,并且保持切换前后各200ms的数据窗口。遇到问题,先翻录波图,从调制波跳变的位置、电流过冲的形态、电压恢复的轨迹去反推是哪一环出了问题。
6.4 和BMS的联调必须提前做
储能系统的控制模式切换并不只是换流器控制器的事。电池侧的响应能力深刻影响着切换效果。我在项目里吃过一个亏:换流器侧控制已经调得很顺滑了,但BMS在“充电转放电”时有一个300ms的保护延时,结果切换后电压还是出现了明显跌落。后来和BMS厂商协调,把充放电切换的延时压缩到100ms以内,同时让BMS提前预知切换指令(通过硬接线信号快速通道),才把问题解决。所以,联调BMS和协调通信协议一定要在项目计划里提前预留时间,不能到最后才处理。
这个方向后续还有很多可以扩展的点,比如把“恒功率—恒电压”的双模切换推广到“恒功率—恒电压—恒频率”的三模切换,或者在MMC侧叠加虚拟同步机控制来做平滑过渡,再比如用模型预测控制(MPC)替代传统PI来实现模式切换的预测性平滑。这些思路我在下一个项目里准备逐步试一下,等有结果了再分享。
