直流微电网这两年确实是电力电子方向的热门话题,我前前后后也搭过几套不同规模的模型。趁着刚完成一个光伏加储能加直流负荷的完整系统仿真,把整个建模过程、参数设计和踩过的坑一并整理出来。这套模型不算复杂,但足够覆盖直流微电网的核心控制逻辑,非常适合刚接触这个方向、想用仿真验证控制策略的同学参考。
1. 模型架构与仿真的核心思路
直流微电网的仿真和其他电力电子系统仿真有个明显区别:它不是一个单一变换器的问题,而是一个多源、多负载、带母线电压协调控制的系统级问题。如果直接拿单台Boost变换器的模型思路去搭整个微电网,第一个遇到的麻烦就是系统根本跑不起来,母线电压飘得厉害,各个变换器之间互相打架。
我最终采用的方案是经典的单母线结构:光伏单元通过Boost电路接入直流母线,储能单元通过双向Buck-Boost电路接入母线,直流负荷直接挂在母线上。母线电压设定为400V,这个电压等级在实验室和小型直流微电网中比较常见,比低压48V系统更接近实际工程工况,又比动辄上千伏的中压直流系统容易处理绝缘和器件选型问题。
控制策略方面,光伏单元跑最大功率点跟踪(MPPT),储能单元负责稳住母线电压。这种“光伏定功率、储能定电压”的配置是直流微电网最基本的运行模式,也是后续做能量管理、模式切换、故障穿越等高级功能的基础。第一次做直流微电网仿真的人,我强烈建议先把这套最基本的架构跑通,再考虑SOC均衡、多储能协调这些扩展内容。
仿真平台我用的MATLAB/Simulink,原因很简单:电力电子器件库齐全、控制模块直接支持离散时间步长、MATLAB的脚本环境方便批量改参数和跑工况扫描。备选方案是PSCAD,但PSCAD更偏向电磁暂态分析,对控制策略的灵活性不如Simulink。另外PLECS也是个选项,尤其擅长处理热损耗和更细的器件开关过程,但单纯的系统级控制策略验证,Simulink的综合体验最好。
搭建模型时一个重要的思路拆解是:把系统分成主电路、控制电路、测量与保护三块逻辑。主电路只关心功率流向和电气连接,控制电路负责生成PWM占空比或参考电流,测量与保护负责采集电压电流信号并根据阈值切断故障支路。很多初学者喜欢把所有东西揉在一张图里,母线旁边直接拖一个PID控制器再加一个示波器,这种做法在系统小的时候还能应付,一旦增加储能SOC逻辑或者负荷切换逻辑,整个模型就乱成一团,改参数的时候极易误操作,甚至改了波形显示器的采样时间,导致后续所有数据分析都出错。
我用的模型结构是三级子系统封装。最外层是微电网系统子系统,包含三个内部子系统:光伏单元、储能单元、直流负荷单元。每个单元子系统内部再封装主电路和控制逻辑,例如储能单元内部包含双向变换器主电路、电压外环电流内环控制器、PWM生成模块、SOC计算模块。这样做的优势是:单一故障隔离方便,例如母线电压波动时可以直接查看储能子系统的内部信号而不会误动光伏MPPT的参数;复用性好,只要有新的光伏单元型号,只需替换子系统内部参数而不用改动整体框架。
2. 核心模块的建模细节
光伏单元是直流微电网最主要的功率来源,仿真中我选用了固定光照条件下的单二极管五参数模型。光照强度设为1000W每平方米,温度设为25度,最大功率点对应的输出电压约310V,最大功率约5kW。Boost电路将光伏电压升压到400V母线,MPPT算法采用扰动观察法,步长取1%的参考电压。
这里有个容易出错的地方:光伏板的建模不要直接使用Simulink标准库里的Simplified PV模块,那个模型在光照突变时的动态响应过于理想化,和实际光伏阵列的输出特性偏差较大。我建议用五参数等效电路自己搭建,式子是I等于Iph减去Io乘以exp(q乘以(V加I乘以Rs)除以(n乘k乘T))再减1,再减去(V加I乘以Rs)除以Rsh。虽然多花半小时建模,但后续做光照阶跃扰动和温度扫描时,结果可信度高得多。
光伏单元运行在MPPT模式时本质上是一个功率源,它不管母线电压是多少,只要光照和温度确定,就试图把功率注入母线。这就带来一个设计要点:当母线电压因为负荷突增而跌落时,光伏单元不会主动提供额外支撑,必须靠储能单元补上功率差额。这也是为什么直流微电网一般不会让光伏单独带负荷,储能几乎是标配。
储能单元的双向Buck-Boost电路是模型中最关键的部分。母线电压400V,电池组额定电压240V,放电时Boost模式升压到400V,充电时Buck模式降压到电池电压。控制策略是电压外环加电流内环的双闭环结构:外环采样母线电压与400V参考值的偏差,经PI控制器得到电感电流参考值;内环比较电感电流与参考值,经PI控制器得到占空比。电压环带宽取10到20Hz,电流环带宽取1到2kHz,这样高低带宽拉开差距,避免外环和内环互相干涉。
电池模型我用了Simulink自带的Battery模块,类型选锂离子,额定容量50Ah,初始SOC设为50%到60%之间。初始SOC不能设成100%或者太接近满充状态,否则仿真运行几分钟后电池就进入充电截止区,母线电压控制会突然失效,系统状态发生跳变。这个细节在最初几次仿真时没有注意到,白白浪费了很多排查时间。
直流负荷这里做了一个可切换的电阻负载:额定功率3kW,但通过一个阶跃信号控制断路器,在t等于1.5秒时并入一个额外的2kW电阻,模拟负荷突增工况。负荷用电阻比用恒功率负载模型更接近实际初期的调试需求,因为电阻负荷的电压电流关系直观,母线电压跌落后电流会自然减小,系统不容易因为电流失控而崩溃。等基本工况调试完毕,再换成恒功率负载模型验证控制器的鲁棒性。
母线电容的取值也需要重点考虑。电容的储能作用决定了电压动态响应的快慢,取值太小时母线电压在负荷切换瞬间会产生很大的电压尖峰,取值太大时电压环响应变慢而且电容体积成本不可接受。按工程经验,母线电容的储能时间常数约取0.5到1毫秒,也就是C等于P乘以t除以U平方除以2。对5kW系统、400V母线、1毫秒时间常数,算下来C等于5kW乘1ms除以(400V的平方除以2),约等于62.5微法,实际选取220微法,留出三倍以上的裕量。这个电容参数不是随便拍的,直接决定电压环PI参数是否容易收敛。
直流母线本身用一个小电感加一个小电阻模拟线路阻抗,母线电感取0.1毫亨,母线电阻取0.05欧姆。这个数值虽然看着很小,但对母线电压的稳定性分析至关重要——如果直接把母线当成理想电压源节点,储能单元的电流内环在仿真中很容易出现数值振荡,尤其是固定步长求解器下更明显。线路阻抗的存在让仿真更贴近物理实际,也让控制器的稳定裕度计算结果更有意义。
3. 仿真参数选择与求解器设置的过程
说到求解器设置,这可能是整个直流微电网仿真实操中最容易劝退新手的一步。直流微电网里的电力电子变换器含有高频开关动作,Boost和Buck-Boost的开关频率我设置在10kHz,固定步长仿真时必须保证步长足够小才能捕捉到开关事件的细节。我最终选择的固定步长是1微秒,也就是每个开关周期采样10个点,这样既能保证PWM波形分辨率,又不至于让仿真速度慢到难以接受。
真正值得讲究的是求解器的选择。固定步长仿真中,ode1(Euler)算法在电力电子电路里几乎必炸——开关动作时电感电流和电容电压的切换会造成数值振荡。我用的是ode3算法,也就是三阶龙格库塔法,精度和稳定性之间的平衡点最好。也试过ode4和ode5,精度更高但仿真时间明显变长。做一次10秒仿真工况,ode3大概需要几分钟,ode5可能要十几分钟,而精度差异对这个量级的系统微乎其微。
这里有一个特别容易踩坑的误区:如果使用变步长求解器,默认的设置会在开关切换点自动加密步长,结果就是仿真速度极慢,而且波形上可能出现密密麻麻的数值尖峰,看起来像振荡但实际上只是数值伪影。我最初用变步长ode23tb跑这套模型,仿真速度比固定步长ode3慢了一个数量级,波形频繁出现毛刺,浪费了一整天在排查根本不存在的问题。
仿真时长我设置为4秒。0到1.5秒是稳态运行阶段,让系统从启动过渡到稳定;1.5秒时投入额外2kW负荷,观察母线电压的动态响应;3秒时再切除2kW负荷,观察恢复过程。整个工况覆盖了负荷突增和突减两个最典型的动态场景,4秒时长足够展示完整的过渡过程又不会浪费时间。固定步长1微秒跑4秒仿真需要400万个时间步,每个步长都要做全系统电气方程更新,这对电脑是有压力的,最好关闭波形实时显示,只在仿真结束后统一查看结果。
光伏与储能的协调逻辑在仿真中的实现也是重点。启动顺序有讲究:母线电容初始电压设为零,储能变换器在0到0.1秒内工作于预充电模式,限制电流给电容充电到400V;0.1秒后切换到正常双闭环运行,母线电压稳定在400V;0.5秒时投入光伏单元,MPPT开始追踪最大功率点。这个顺序的现实意义是:光伏单元只有在母线电压建立之后才能并网运行,如果一开始就同时投入所有单元,母线电容充电瞬间的冲击电流可能超过器件额定值,仿真模型虽然不会烧器件,但波形会严重失真,控制器的积分器也可能进入饱和区,导致后续动态特性完全偏离设计预期。
在光伏启动瞬间我额外注意了MPPT模块的初始化问题。扰动观察法需要上一时刻的功率值做比较,初始功率如果设为零,仿真第一步就会产生一个虚假的极大功率扰动,系统可能误判方向。我把MPPT使能信号的启动时间延迟到0.6秒,预留0.1秒让光伏单元的电压电流从零过渡到实际工作点,这样MPPT启动后的输出就是连续的,不会出现莫名其妙的功率阶梯跳变。
4. 闭环控制器的参数整定与调试实录
直流微电网仿真中的PI参数整定,我采取的是分步调试策略,一次只闭合一个环。如果一开始就同时启用电压外环和电流内环,一旦波形发散根本分不清是哪一环出了问题。调试顺序是:先开环跑Buck-Boost电路,用固定占空比验证主电路连接和参数设置是否正确;然后闭合电流内环,只控制电感电流跟踪给定值;电流内环稳定后,再把电压外环加上,让母线电压闭环调节。
电流内环的PI参数以典型值作为起始点:比例系数取1,积分时间取5毫秒左右的电感时间常数L除以R。本模型电感取1毫亨,电感寄生电阻取0.02欧姆,时间常数约为50毫秒,积分时间从5毫秒起步,实际整定为10毫秒,因为开关周期是0.1毫秒,十倍于开关周期的积分时间更容易稳定。电压外环要比电流内环慢一个数量级以上,比例系数从0.1起步,积分时间50到100毫秒。按这个顺序整定,通常三四轮试凑就能收敛到满意的动态响应。我的最终参数是:电流环PI(2, 100),20kHz穿越频率量级;电压环PI(0.6, 15),穿越频率约200Hz,和之前提到的10到20Hz设计目标基本吻合。
参数整定过程中最容易出现的失控波形特征有三种。第一种是高频振荡,波形含有明显的高频锯齿,超过开关频率的毛刺,通常是电流内环比例系数过大。把Kp降到原来的三分之一到四分之一就能明显改善。第二种是低频摆动,母线电压以几赫兹到十几赫兹的频率来回摆动,电压环响应太慢,加大Ki或者适当加大Kp就能消除。第三种是发散震荡,波形整体趋势越来越大直到爆表,这种通常是积分环节初始化问题或者控制方向反了——Buck-Boost的占空比和输出电压关系在Buck和Boost模式下会反转,如果控制器输出极性不对,负反馈会变成正反馈。遇到这种情况先检查信号极性,而不是盲目调参数。
我还专门记录了一次母线电压跌落的调解过程。负荷突增后母线电压从400V跌到约380V,跌落了20V。这个跌落幅度是电压环比例控制的必然结果:如果只有比例项,电压偏差会一直存在,只有积分项能把稳态误差逐步消除。对于电压要求严格的场合,有两种改进方案:一是加大电压环的比例系数,但牺牲相位裕度,容易导致动态振荡;二是引入母线电压前馈项,将储能变换器的输出占空比直接加上母线电压参考和电池电压的比值,相当于给系统一个初步的占空比预配置,电压环只需在预配置基础上做微调修正,动态响应速度和稳态精度都能同时得到改善。我在实际模型中加入了前馈补偿,负荷突增时电压跌落从20V降到8V左右,恢复时间从1.2秒缩短到0.3秒,效果非常显著。
SOC管理模块是在基本双闭环跑通后增加的。电池SOC范围设定为20%到90%,同时设置逻辑判断:SOC低于20%时限制放电功率,SOC高于90%时限制充电功率。这个逻辑直接影响变换器的电流限幅值。电流内环的输出限幅参数从固定值12A改为与SOC相关的计算式:放电时最大电流等于最小SOC限值乘以SOC系数再乘以等效折算,充电时最大电流等于1减去SOC系数再乘以等效折算,这样一来SOC越接近边界,允许的充放电电流就越小,变换器不会在SOC很低时还强行大功率放电导致电池端电压瞬间垮塌。
5. 常见问题与排查技巧实录
直流微电网仿真里我遇到过最多的一类问题是初始化导致的系统崩溃。母线电容初始电压设为零,储能变换器在开始就输出满占空比给电容充电,瞬间的冲击电流足以让电感磁通饱和或者过流保护触发。解决办法是给储能变换器加软启动逻辑:占空比从40%以每0.01秒增加1%的速度缓升到工作点。这个软启动参数在现实中对应的是控制器限幅与PWM发生器使能的配合,在仿真中设置起来非常简单但效果立竿见影。
第二类典型问题是代数环报错。Simulink在检测到控制系统输出和输入之间存在无延迟的循环依赖时会报警,典型的场景是在电压环输出直接连到电流环参考值,同时电流环输出回馈给电压环输入。消除代数环的方法是在反馈路径上添加一个memory模块,打破直接的代数依赖。要注意的是memory模块的引入会增加一拍的离散延迟,叠加到控制回路上可能导致稳定裕度下降。更好的方案是重新整理控制器的因果顺序:先采样、再计算、后更新输出,让每个环节都建立在上一时刻的状态之上,这样既不破坏仿真精度也不增加额外延迟。
第三类问题是仿真结果对步长过于敏感。同一个模型,步长设为1微秒时波形干净,步长设为5微秒时母线电压出现明显的周期性纹波,步长设为10微秒时系统直接发散。很多同学习惯用默认的自动步长而忽略了固定步长设置,导致结果不稳定却误认为是控制参数问题。经验是:固定步长必须小于开关周期的十分之一,对于10kHz开关频率也就是步长不超过10微秒,实际取2到5微秒比较稳妥,我最终用了1微秒以获取更好的PWM分辨率。当然这只是针对开关频率10kHz级别的模型,如果开关频率提高到100kHz,步长要相应缩小到100到200纳秒。
第四类问题是参考电压初始值和母线电容初值的不匹配。如果母线电压参考一开始是400V但电容电压为零,电压环积分器会在启动瞬间疯狂累加,产生巨大的超调。解决办法是将参考电压模块设置为从0到400V的斜坡信号,斜坡时间0.2秒,这样电容充电和参考电压爬升几乎同步,启动波形平滑自然,控制器也不会经历积分饱和。
还有一件事格外重要,模型里所有连续时间控制器应当统一使用离散时间采样模式,采样周期0.1毫秒,与开关周期保持一致。连续时间PI控制器在固定步长仿真中数值误差大而且容易在开关切换点产生额外抖动,而离散化之后的控制器行为更贴近实际单片机实现。实际操作时每个PI控制器的离散化参数里,采样时间和PWM周期设定在同一个数量级即可,我统一放在0.1毫秒。批量改参数时写一个小脚本,循环遍历所有控制器模块的P参数和I参数,效率远高于在Simulink界面里一个一个点开修改。
6. 从仿真到实验的扩展思考
直流微电网仿真做到能稳定跑通只是第一步,真正的价值在于用仿真模型指导后续的硬件实验和控制器设计。我在仿真验证结束后,用同一套参数在RT-BOX硬件在环平台上跑了一遍实时仿真,把储能单元的电流内环通信延时加入模型后发现电压环相位裕度明显下降,系统在特定负荷条件下开始振荡。这个经验说明:纯离线仿真中的理想通信环境对控制器的设计会有乐观偏差,实际系统必须考虑采样延时、PWM更新延时和通信网络延时的影响。
要给仿真模型增加延时因素,操作并不复杂:在电流内环反馈回路有一个单位延时就可以模拟零阶保持器的效果,再加一个一阶惯性环节模拟采样滤波器的低通特性。加上这两个环节后重新整定PI参数,得到的控制器参数更加接近硬件实测结果。这个过程完成后,可以进一步做控制参数的鲁棒性扫描——按压降、容量、负载分别做正负20%的偏移测试,观察系统是否还能保持稳定。我跑完扫描后发现电压环的比例系数在标称值附近正负30%的范围内系统都能保持稳定,超出这个范围后系统的阻尼开始明显下降,表现为负荷接入后的振荡次数增加。这个结论为硬件设计留出了充足的控制裕度。
如果还想在现有平台上做扩展,下一步可以考虑加入交流子网互联模块。直流微电网通过双向AC-DC变换器与交流电网相连,仿真中只需增加一个理想交流电源加一个双向PWM整流器模型,控制策略改为定直流电压控制或者定功率控制。再往下可以加入多储能单元之间的SOC均衡策略、光伏MPPT与储能限功率的协调逻辑、以及并网转孤岛的切换逻辑。直流微电网仿真最大的魅力在于:它把电力电子技术、自动控制理论、新能源发电技术和系统规划设计拧在一起,每一个模块都可以独立深化,又可以组合出各种复杂功能。先把基础模型吃透,再逐层做功能扩展和完善,这个路径对于任何想系统掌握直流微电网技术的人来说,都是最值得推荐的学习方式。