本人是搞新能源微电网仿真的,之前有段时间天天泡在Matlab里搭模型,其中一个比较有代表性的项目就是交直流混合微电网的双下垂控制离网仿真。今天把整个思路、建模过程、控制实现和踩坑记录都整理出来,希望能帮到正在做相关课题或者毕业设计的同行。这篇文章比较长,建议收藏后慢慢看,尤其是最后的问题排查和参数整定部分,都是实操中真金白银换来的经验。
1. 项目背景:为什么是交直流混合微电网,又为什么非要双下垂
1.1 交直流混合微电网到底解决了什么问题
传统的交流微电网研究得很成熟,但有个痛点摆在那:现在家里、园区、甚至很多工厂,直流负荷占比越来越高。LED照明、变频空调、通信基站、电动车充电桩,里面本质上都是直流设备。如果让这些负荷从交流电网取电,得经过AC-DC整流;光伏发出来的是直流电,要供交流负荷又得DC-AC逆变。两头一折腾,效率损失不小。
交直流混合微电网的思路很直接:干脆把直流母线、交流母线都拉起来,光伏和储能放直流侧直接供直流负荷,需要带交流电机或者常规交流设备时,再通过双向逆变器(VSC)跨到交流侧。能省多少变换器就省多少。这个结构从电能质量角度看,还有额外的好处:直流母线把光伏这种间歇性电源的大幅波动隔离在直流侧,交流侧受到的影响会小很多;反过来交流侧的非线性负荷谐波也不容易透传到直流侧,实现了“故障隔离”。
1.2 离网模式下控制问题的本质
离网(孤岛)模式下,微电网跟大电网脱开了,没有任何外部支撑。这个时候系统的频率和电压全靠自己维持,而光伏出力是波动的,负荷也是波动的,能不能稳住母线电压和频率,关键就看控制策略。下垂控制的魅力在于它不需要通信线路,各变换器只靠检测本地功率和母线电压/频率,就能自动实现功率分配。每个接口变换器都像是“主动”分担了系统功率的一部分,谁有功多谁出力就大,天然具备冗余,某台设备退出了,其他设备会自动多承担一点,不会因为一个点故障就全系统崩溃。
1.3 双下垂控制的定位
“双下垂”在我的项目里指的是:直流侧的下垂控制 + 交流侧的下垂控制。直流侧下垂通常叫P-V下垂,或者I-V下垂,控制变量是直流母线电压和输出功率,多台并联的DC-DC变换器通过它实现直流功率的均衡分配。交流侧传统上是P-f下垂和Q-V下垂,用在离网VSC上,让多台逆变器按各自的容量比例分担有功和无功。
这两个下垂控制放在同一个混合微电网里,还必须做好协调。直流侧功率不平衡会表现为直流母线电压下降;交流侧功率不平衡表现为频率或者交流电压偏移。离网模式下,两侧都需要稳定,所以双下垂是撑起整个系统稳定性的骨架。我的仿真模型就是围绕这个架构展开的。
2. 系统架构与主参数设计:先把“骨架”搭对
2.1 整体拓扑架构
我搭建的系统拓扑如下:光伏阵列经过Boost变换器接直流母线,Boost负责MPPT控制;储能电池经双向Buck-Boost变换器接到直流母线,双向变换器执行直流下垂控制;蓄电池在这里是系统唯一具备“双向吞吐能力”的单元,光伏出力多的时候就吸收,光伏出力不够或者负荷升高时就释放。直流母线再接一部分纯直流负荷;三相VSC跨接在直流母线和交流母线之间,交流母线带三相交流负载。整个系统在公共耦合点(PCC)处与大电网连接,需要离网运行时,把PCC断路器断开即可。
在这个结构里,VSC承担的是交流母线的“定频定压”任务,但要带下垂特性,而不是严格的恒压恒频,这样才允许在多台VSC甚至未来多微电网互联时实现功率按比例分配。而直流母线电压的维持,主要靠储能侧的DC-DC下垂控制,必要时光伏侧的MPPT也可以退出、切换为直流电压下垂模式,不过那是更高级的协调策略,后面我会讲。
2.2 母线电压等级与功率容量选择
参数设计是仿真搭建里最容易被忽略、但影响非常大的一环,我直接把当时定的参数贴出来:
- 系统基准容量:15 kVA(交流侧)
- 直流母线额定电压:400 V
- 交流母线额定电压(线电压有效值):380 V,额定频率:50 Hz
- 光伏峰值功率:10 kW
- 储能电池容量:20 kWh,母线侧电压范围:360~420 V
- 直流负荷:3 kW,交流负荷:5 kW + 2 kVar(感性)
- VSC额定容量:15 kVA,开关频率:10 kHz
为什么直流母线选400V?主要是因为光伏组串MPPT工作范围一般在200~360V,Boost升压以后额定点取400V,同时储能电池如果采用合适的串联数,不需要特别高的电压变换比就能和母线对接。400V这个等级在中小型微电网里也是比较常见的折中方案。交流侧380V/50Hz是标准低压配电网参数,这样后续如果要做并网仿真,跟市电参数对接也方便。
2.3 变换器拓扑与滤波器选型
Boost变换器参数:电感3 mH,开关频率10 kHz,输入侧电容100 μF,输出侧电容2200 μF。这里电感的纹波电流我控制在了20%左右,这对于10 kW级别单路MPPT是合理的。
双向Buck-Boost侧参数:电感2 mH,直流侧支撑电容3000 μF。支撑电容这个值比较关键,直流侧的下垂控制响应速度、以及负荷突变时直流电压的动态压降,都跟电容容量有关。容量太小电压容易冲动大落,太大则系统惯性变大、响应变慢,仿真时间也会加长。
VSC侧用的是三相两电平拓扑,交流侧接RL滤波器(电阻0.1 Ω,电感2 mH),这个滤波器我特意加了阻尼电阻,否则LC谐振峰值在离网模式满载时容易把电压波形顶出畸变。滤波器后面再接一个小电容构成LCL形式,不过为了初版模型的收敛性,第一版用的RL滤波,把交流电压控制带宽控制在1 kHz以下,稳定压倒一切。
3. 双下垂控制原理与核心公式展开
3.1 直流侧P-V下垂:用电压跌落换功率平衡
直流下垂控制的逻辑可以这样理解:多台DC-DC变换器并联,如果大家都想维持自己的端电压不变,那几台设备之间就会因为微小电压差产生巨大的环流,谁也稳不住。下垂控制的本质就是“主动示弱”——我允许输出的电压随着功率增大略微下降,于是各台变换器在同一个母线电压点上,自然找到了各自的输出功率稳态工作点。
数学表达式很简单:
Vdc = Vdc_ref - k_dc × P_dc
式中Vdc_ref是空载参考电压(比如410V),P_dc是该变换器输出功率,k_dc是直流下垂系数(V/W)。有些论文用电流代替功率:
Vdc = Vdc_ref - k_dc × I_dc
电流版本的物理意义更直接,但在系统里考虑线路电阻压降时,功率下垂更准确。我用的是功率下垂。
下垂系数根据允许电压波动范围和最大输出功率来确定。以储能变换器为例:允许直流母线电压从410 V降到380 V(波动约7.5%),储能最大输出10 kW,则:
k_dc = (410 - 380) / 10000 = 0.003 V/W
也就是说,输出每增加1 kW,母线电压会降3V,这个斜率在离网模式下是完全可以接受的。如果母线电压低于某个阈值(比如360V),保护逻辑应该触发切负荷或者限制储能深度放电。
3.2 交流侧P-f下垂:频率是全局功率的“温度计”
交流侧下垂的物理解释比公式更直观:系统的有功功率只要不平衡,频率就会变化——有功多、频率下降,有功少、频率上升。P-f下垂就是利用频率作为全局信号,让各逆变器按容量自动分担有功。
f = f_ref - k_p × (P - P_ref)
Q-V下垂类似:
V = V_ref - k_q × (Q - Q_ref)
具体参数我按下面的原则选择: 额定容量15 kVA,允许频率波动≤1%(即49.5~50.5 Hz),允许电压波动≤5%(即361~399 V)。于是:
k_p = (50 - 49.5) / 15000 = 0.000033 Hz/W
这个下垂系数折算成标幺值,大约相当于3.33×10⁻⁵ × 50 = 1.67%,在常规范围内(通常有功下垂系数取1%~5%标幺)。
k_q = (380 - 361) / (15000 × 0.8) = 0.00158 V/Var
(这里按功率因数0.8估算最大无功6 kVar左右,但实际系统我只带了2 kVar无功负荷,所以电压偏差其实远小于5%。)
需要特别提醒:交流侧的下垂参考值f_ref要在P=0时往上抬一点,我设成50.2 Hz(空载时的频率),这样带额定负荷时频率正好落到49.6 Hz左右,留有余量。
3.3 交直流双下垂的协调逻辑:谁管电压,谁管功率
这是整个项目最有意思的部分。直流侧电压、交流侧频率,分别由储能DC-DC和VSC各自的“本地下垂”维持。但如果两侧负荷同时变化,两个下垂都在动作,会不会互相打架?
答案是不会,但前提是功率流向有明确优先级。我的设计逻辑是:直流母线的功率波动先由储能变换器直接响应(通过直流下垂),这是最快的、也是距离最近的平衡手段;VSC从直流侧抽取的功率,则由交流侧负荷决定。VSC本质上扮演一个“可控负荷/可控电源”的角色:当交流负荷增加,VSC从直流母线吸收更多功率去维持交流母线电压和频率,而这个功率的缺口,又表现为直流母线电压的轻微下降,储能直流下垂自然就去补充了。
所以,双下垂的协调其实是通过“电压-频率-功率”三个量的耦合来实现的,不需要通信,但需要在建模时把直流侧的功率计算环和交流侧的功率计算环都设计正确,否则容易形成正反馈。这是后面容易出问题的点,我调试时踩过坑。
4. Matlab/Simulink仿真实操:一步步把系统搭起来
4.1 仿真环境与模块选型
我用的是Matlab R2021a,Simulink + Simscape Electrical库。涉及的关键模块如下:
- 光伏阵列:Simscape Electrical自带的PV Array模块,设定组件参数
- 双向DC-DC:用Simscape里面的MOSFET/IGBT桥臂 + 电感电容搭建,比直接用理想变换器模型更贴近真实
- VSC:Universal Bridge加三相桥臂
- 控制算法:全部用Simulink的离散控制模块搭建,采样频率和控制频率都设在10 kHz
- 求解器:离散求解器,固定步长1 μs,这样和开关频率匹配,避免数值振铃
4.2 光伏部分建模与MPPT
PV Array模块的参数我用的近似某常见厂家250W组件,串联数16块(每串4 kW左右),并联2串,峰值约10 kW。MPPT算法用的是经典的扰动观察法(P&O),电压参考步长1V,采样周期0.01s。这里有个经验:MPPT步长不要设太大,否则光伏输出功率在最大功率点附近会持续振荡,直流母线电压会跟着抖动,影响整个系统。
4.3 VSC控制环路:功率外环 + 电压电流内环
VSC在离网模式下不是采用并网时的PQ控制,而是采用“下垂特性的电压源”模式。整个控制框图按下面几层嵌套:
第一层:P-f下垂计算。检测逆变器输出的瞬时有功功率P_inv,用低通滤波器滤掉二次脉动(截止频率约10 Hz),代入下垂公式得到参考频率f*。
第二层:V/f合成。用参考频率f积分得到θ = 2π∫fdt,这个θ就是Park变换的参考角。参考电压幅值则来自Q-V下垂的输出V*,三相参考电压就是Vsin(θ)、Vsin(θ-120°)、V*sin(θ+120°)。
第三层:电压环。将逆变器输出电压进行dq变换,与参考值Vq*(Vd*取0)比较,经过PI调节器,输出内环电流指令。
第四层:电流环。电感电流经过dq变换后与指令值比较,PI输出调制波,最终送入PWM发生器得到开关脉冲。
控制参数整定我前后试了几轮,先整定电流内环(带宽约1 kHz),然后电压外环带宽设在100 Hz左右(约为内环1/10),最后下垂环的响应速度其实已经由低通滤波器限制了,慢于两个内环。这个“外环慢、内环快”的节奏是稳定性的基本保证。
4.4 储能双向变换器控制
储能侧的双向Buck-Boost实现直流下垂控制,控制逻辑是这样的:
检测蓄电池输出功率P_bat(或变换器输出电流I_bat)→ 代入直流下垂公式Vdc_ref = 410 - 0.003×P_bat → 得到当前应维持的直流母线参考电压 → 电压外环PI得到电感电流指令 → 电流内环PI得到占空比信号 → 驱动双向桥臂的PWM。
关键点:Buck和Boost两种模式怎么切换?我的做法是占空比限幅在最小值和最大值之间连续变化,上下桥臂互补,不显式区分模式。这样在充放电临界点附近不会出现模式切换突变,仿真效果非常平滑,实际样机也这么干的话还能避免继电器滞后带来的振荡。
4.5 仿真工况设计与录制
为了验证双下垂控制的有效性,我设计了三个典型的离网运行工况:
第一个工况是光照阶跃。在t=2s时,光照从1000W/m²突降到600W/m²,光伏出力从10kW降到约5.8kW,这部分缺口必须由储能来补。观察点:直流母线电压动态跌落、储能放电功率上升、交流频率是否稳定。
第二个工况是交流负荷阶跃。t=5s时投入一个3kW感性负荷,总共交流负荷变成8kW+2kVar。观察点:VSC输出功率增加、频率短暂下降后回稳、直流母线上是否出现扰动。
第三个工况是直流负荷突变。t=8s时切除全部3kW直流负荷,观察直流母线电压上升幅度,以及储能是否快速从放电切换到充电状态。
每个工况仿真时长设为12s,离线运行模式下可以完整看到过渡过程。
5. 仿真结果分析与参数调优实录
5.1 稳态结果:下垂特性验证
仿真跑完,把稳态点记录下来:
- 工况一稳态:光伏6kW,储能放电约3.2kW(因为直流负荷3kW加上VSC交流侧5kW的消耗,总负荷约8kW,光伏只够一半)
- 直流母线电压:从空载的410V降到约393V,正好符合下垂特性(储能输出约5.6kW,3.2kW+交流母线损耗,0.003×5600≈16.8V,410-16.8≈393.2V)
- 交流频率:稳定在49.72Hz左右,和交流下垂公式算出来几乎一致
- 交流电压:线电压有效值约377V,与Q-V下垂预期相符
这个结果说明下垂控制没有“歪打正着”,而是严格遵循了设计公式,从量级上能对得上,这是验证模型正确性的重要一步。
5.2 动态过程:三个关键过渡过程的表现
工况一的光照阶跃后,直流母线电压在0.2秒内下探到387V,然后逐渐回稳到393V,回稳时间约0.5s,电压最大偏差约13V(3.3%),整体动态是比较理想的。储能功率从0平滑爬升到3.2kW,没有超调。
工况二的交流负荷投入时,VSC输出功率阶跃上升,直流电压掉了一点,约4V,随后重新稳定。频率下降了0.2Hz后回稳,整个过程也就0.4s左右。这个现象说明直流侧储能确实在默默“兜底”:交流侧突然多要3kW功率,直流母线电压下降,储能下垂增加了放电,帮助VSC补上了这个缺口。
工况三切除直流负荷时,直流母线电压先冲到417V,然后在1秒多的时间里由储能充电拉回到410V附近。这个恢复速度适中。如果储能充电功率上限设得太低,电压就会长时间维持在高位,对设备绝缘是不利的。
5.3 调参过程中反复出现的振荡问题
第一次做完整个系统联调时,遇到一个非常头疼的振荡现象:直流母线电压在400V上下以约5Hz的频率来回振荡,幅度最多到±18V,储能功率也在这个频率上忽充忽放。这个现象一开始完全看不出原因,后来花了一整个下午排查,最终定位是:VSC功率外环的低通滤波器截止频率(10Hz)和直流下垂环的响应速率之间产生了耦合振荡。
解决办法是把VSC功率滤波器的截止频率从10Hz降到5Hz,同时把直流下垂系数从0.003改到0.0025(让电压斜率更平缓),并稍微加大储能侧电流内环的阻尼(减少PI比例系数),振荡就消失了。这个经验告诉我:混合微电网里多控制环耦合时,不要盲目加大下垂系数,虽然下垂越大功率分配越“敏感”,但也越容易和别的环振荡。稳定优先。
6. 常见问题排查与避坑清单
6.1 仿真速度慢得离谱,怎么提速
离网微电网仿真最大的痛苦是:开关频率10kHz,固定步长1μs,跑12秒物理时间,模型里还有三相VSC和两个DC-DC变换器,跑一次仿真花掉二十分钟都是常事。提速的几个有效手段:
第一,把开关频率降到6.6kHz(仍在可接受的THD范围内),步长放宽到2μs,仿真速度能提高一倍多;第二,VSC可以用“平均模型”替代开关级模型,就是用一个受控电压源来模拟逆变器平均输出,但这种方法在验证下垂分配时是可以的,验证开关纹波时会失真;第三,把仿真时间改成定步长但允许用“确定步长但选择更高效求解器”,比如uda(非实步幅离散求解器),有些情况下比ode45效率高不少。
6.2 代数环报错问题
第一次搭VSC电流内环时,Simulink报了“Detected algebraic loop”的警告。原因是电压环的输出直接进了电流环参考,两个PI环节之间没有采样/延迟隔离。解决办法是在电压环和电流环之间插入一个Unit Delay(单位延迟),或者在电压环输出端放一个Rate Transition模块,人为打断代数环。代价是控制延迟增加一个采样周期(0.1ms),对这个系统来说微不足道。
6.3 光伏突变时直流电压过冲
光照从1000W/m²瞬变到1200W/m²,直流母线电压瞬间冲到428V,接近430V的安全阈值。原因不是下垂控制本身的问题,而是MPPT的步长变大后,Boost动态响应跟不上光伏电流的突增,功率一时间送不出去。解决方法是给MPPT电压参考变化速率加一个限幅器(比如每秒最多变化5V),让光伏出力“缓一缓”,就不会把系统冲过头了。这个思路跟实际工程里给MPPT加爬坡率限制是一模一样的。
6.4 储能SOC的矛盾
模型初始SOC设的是80%,但因为仿真工况里储能一直在放电,12秒仿真结束后SOC只下降了1%左右,这不影响控制性能。但如果做“连续多日”仿真或者想验证SOC管理策略,就必须注意:下垂控制本身不会管SOC,SOC过低或过高时还要叠加一个“SOC修正项”去抬高或压低下垂参考电压。我第二版的模型里就加入了这个修正项:SOC低于30%时,直流侧下垂参考电压整体下调10V,迫使其少放电、多吸收;SOC高于90%时,把参考电压整体上调8V,适当抑制光伏出力。但注意,这个修正项会让母线电压整体偏移更大,算下垂系数时要留出裕量。
6.5 “功率分配不明显”是怎么回事
有朋友照着论文搭模型,发现两台DC-DC并联时,功率分配总是“一边包圆一边闲着”,或者一台逆变器出大力、另一台偷懒。排除通讯问题后,最常见的原因是两个变换器的下垂参考值、线路阻抗不一致。参考电压哪怕只差1V,在极小下垂系数下也会导致很大的功率偏差。解决办法是检查两个变换器的空载参考电压是否严格一致,另外把下垂系数的标幺值统一到各自容量基准下(即“容量大的下垂斜率小”),就能实现按比例分配。
7. 关于双下垂模型还能怎么扩展
离网模式做通后,下一步我建议往两个方向扩展,这两个方向也是这个模型最有延伸价值的地方:
一是加入并网切换逻辑,即检测到电网恢复后,从下垂控制平滑切到PQ控制,实现离并网无缝切换。这个切换问题的核心是预同步控制,要在PCC两侧加一个锁相环保证幅值、频率、相位一致后合闸。现有双下垂模型里已经有VSC和PCC,只需再做一个同步判定模块,扩展量不大但说服力很强。
二是引入多储能微源的协同。现在模型里只有一组储能,实际微电网中可能有多组分布在不同位置。把每组储能的下垂系数按其容量做标幺化,再增加一个基于SOC的修正项,就能看到多储能之间如何自动分担功率,这个仿真结果写论文非常出彩。另外考虑到直流母线电压允许范围较宽,还可以把直流侧的下垂特性改造成“指数型下垂”或者“分段下垂”,在轻载时更硬气、重载时更软化,这样可以兼顾空载电压精度和重载容量利用。
如果你已经跑通单组储能和光伏的基础模型,这些扩展其实都是水到渠成的事。
我在做这个项目的最大体会是:双下垂控制看着公式简单,真正让它在混合微电网里稳稳地跑起来,比的不是“控制算法多花哨”,而是对“电压和频率到底谁在什么时刻说了算”有清晰认识。直流侧电压就是直流功率平衡的标尺,交流侧频率就是有功平衡的标尺,这两把尺子一立起来,剩下的就是让各变换器信任这把尺子、跟着尺子走。仿真中你会不断感受到这种“分布式自律”的魅力,模型搭稳了再回头看去,很多论文里娓娓道来的原理你都已经亲手验证过、甚至碰过壁了。最后提醒一句:仿真步长和滤波器截止频率这两个参数是稳定性命门,调模型时优先从这里开刀。祝顺利跑通。