考虑通信时延的直流微电网分布式电-氢混合储能协同控制仿真复现与改进
摘要
针对高比例新能源直流微电网中多储能单元功率互补、状态均衡与通信时延耦合引起的协同控制问题,本文基于本工程 DC_HESS_Delay_Control 对分布式电-氢混合储能系统控制方法进行复现与改进分析。工程采用 MATLAB/Simulink 平均模型描述 4 母线直流微电网、DG/PV、负荷以及 BSU 蓄电池储能和 HSU 氢储能单元,并以 simulate_hess_case.m 实现离散平均仿真,以 run_all.m 串联模型构建、基础复现、通信时延、通信故障、改进控制与时延裕度扫描实验。控制层面,一次控制采用改进分频下垂,使 BSU 响应高频扰动、HSU 承担低频稳态功率;二级控制采用变量补偿一致性平均观测器恢复平均母线电压并协调 gamma_bat、gamma_ef 功率共享状态。进一步地,工程实现了时延感知自适应二级控制:随通信时延增大自适应降低 k_ui,随 SoC/SoH 差异增大调节 c_i,并通过轻量网格搜索获得对比参数。仿真场景覆盖无时延复现、10 ms/50 ms/100 ms 通信时延、链路故障、控制方法对比和时延裕度扫描,形成了可运行、可量化、可扩展的复现闭环。
关键词
直流微电网;电-氢混合储能;通信时延;一致性控制;分频下垂控制;二级电压恢复;Simulink 仿真;时延裕度
1 引言
新能源分布式发电在直流微电网中的接入比例不断提高,使母线电压稳定、储能功率分配与多节点协同控制成为系统安全运行的关键问题。直流微电网省去了交流同步、无功功率和频率调节环节,适合 PV、储能、直流负荷与电解制氢等设备直接接入,但其电压惯量较小,负荷阶跃、光伏功率突降和储能限幅均可能造成母线电压偏移。
单一储能难以同时兼顾功率密度、能量密度、寿命与动态响应。BSU 蓄电池储能具有较快功率响应能力,适合抑制高频功率扰动,但长期承担稳态大功率会加剧循环寿命损耗;HSU 氢储能具备较高能量密度和长时间尺度调节能力,适合平滑承担低频与稳态功率,但燃料电池、电解槽和储氢环节的动态响应较慢。因此,将 BSU 与 HSU 组合为 HESS,并通过分频功率分配和状态均衡控制实现协同运行,是提高直流微电网弹性的重要途径。
在多 HESS 分布式控制中,二级电压恢复和功率共享通常依赖通信网络交换邻居状态。通信时延会引入额外相位滞后,使一致性变量收敛变慢甚至产生振荡;当二级电压增益、均衡系数或一致性增益取值偏大时,时延不确定性可能显著降低系统稳定裕度。本文围绕本 MATLAB/Simulink 工程的真实脚本、真实参数和真实输出结果,给出从建模、控制、实验到指标分析的期刊风格技术博客化整理,并重点讨论时延感知自适应二级控制及其工程复现价值。
2 工程结构与研究对象
2.1 项目文件结构
本工程采用"参数初始化 - 模型构建 - 平均仿真 - 批量实验 - 指标计算 - 图表输出"的组织方式。核心脚本与目录功能见表 1。
| 文件/目录 | 类型 | 作用 |
|---|---|---|
README.md |
工程说明 | 给出研究对象、控制方法、运行方式、实验场景和主要输出图说明。 |
init_params.m |
参数脚本 | 定义仿真时间、采样周期、母线与线路参数、储能参数、二级控制参数、通信拓扑和评价阈值。 |
build_model.m |
Simulink 构建脚本 | 自动生成 dc_hess_delay_avg_model.slx 平均模型层级。 |
dc_hess_delay_avg_model.slx |
Simulink 模型 | 作为平均模型结构载体,体现 DG/PV、负荷、线路、储能和控制层级。 |
simulate_hess_case.m |
主仿真程序 | 执行 4 母线离散平均仿真,记录电压、功率、SoC/SoH、gamma、控制量和指标。 |
run_all.m |
一键运行脚本 | 串联参数初始化、模型生成、全部实验、结果绘图和 metrics_table.csv 输出。 |
run_case_reproduction.m |
基础实验脚本 | 运行无通信时延的论文方法复现实验。 |
run_case_delay.m |
时延实验脚本 | 对 0、10、50、100 ms 通信时延进行补偿与无补偿对比。 |
run_case_fault.m |
故障实验脚本 | 设置单链路故障和多链路故障,评估拓扑退化影响。 |
run_case_improved.m |
改进实验脚本 | 对比传统分频下垂、论文方法、时延感知自适应方法和网格优化方法。 |
small_signal_delay_margin.m |
裕度扫描脚本 | 采用 0:10 ms:300 ms 扫描估计可承受通信时延,并构造参数热力图。 |
calc_metrics.m |
指标计算函数 | 计算电压超调、稳态误差、恢复时间、HSU 斜坡率、SoC/SoH 均衡、gamma 误差和通信量。 |
plot_results.m |
绘图与汇总函数 | 生成工程图像与 data/metrics_table.csv 指标汇总表。 |
mermaid_figures.md |
Mermaid 草稿 | 保存系统结构、通信拓扑、控制流程、实验流程等图示草稿。 |
data/ |
数据目录 | 保存 .mat 仿真结果、all_results.mat 和 metrics_table.csv。 |
figures/ |
图像目录 | 保存工程自动导出的 PNG/FIG 图像;本文不直接插入这些图片。 |
controllers/ |
控制器目录 | 包含一致性观测器、二级控制、自适应控制和一级分频下垂控制等函数。 |
models/ |
模型目录 | 包含电池 SoC、氢储能 SoH 和直流网络平均模型函数。 |
表 1 表明,本工程并非单一脚本演示,而是将仿真建模、控制器实现、批量实验与指标计算分层组织。本文后续分析均以这些实际文件为依据。
DC_HESS_Delay_Control
init_params.m
参数初始化
build_model.m
生成 Simulink 平均模型
simulate_hess_case.m
离散平均仿真内核
批量实验脚本
run_case_reproduction.m
run_case_delay.m
run_case_fault.m
run_case_improved.m
small_signal_delay_margin.m
controllers/
控制器函数
models/
储能与网络模型
data/
结果与指标表
figures/
工程输出图
图 1 给出了项目文件结构。参数、模型、控制、实验和输出之间形成闭环,因此博客中的实验结论能够追溯到具体脚本。
2.2 系统总体结构
工程研究对象为 4 条直流母线构成的环形直流微电网。每条母线均接入 DG/PV、负荷以及一组由 BSU 和 HSU 构成的 HESS。一次控制在本地实现分频功率分配;二级控制通过稀疏通信网络交换状态,完成平均电压恢复和功率共享变量一致性调节。

图 2 表示物理层、控制层和评价层之间的关系。simulate_hess_case.m 中的主循环依次计算功率扰动、共享变量、一致性观测、二级补偿、分频功率分配、储能状态更新和直流网络状态更新。
2.3 通信拓扑结构
工程中的邻接矩阵为
A=[0101101001011010], A= \begin{bmatrix} 0&1&0&1\\ 1&0&1&0\\ 0&1&0&1\\ 1&0&1&0 \end{bmatrix}, A= 0101101001011010 ,
对应 4 节点环形稀疏连通图。该拓扑在较少通信边的条件下保持连通性,是分布式一致性控制的网络基础。
tau_12, tau_21
tau_23, tau_32
tau_34, tau_43
tau_41, tau_14
Agent 1
Agent 2
Agent 3
Agent 4
图 3 中每条边表示双向通信链路,标签中的 tau_ij 表示从节点 j 到节点 i 的通信时延。run_case_fault.m 通过置零邻接矩阵中的指定元素模拟链路断开。
3 直流微电网与 HESS 数学建模
3.1 直流母线平均模型
第 i 条直流母线电容电压动态可写为
CidVidt=IDG,i+IHESS,i−IL,i−∑j∈NiIij−Vi−Vdc∗Rv. C_i\frac{dV_i}{dt} =I_{DG,i}+I_{HESS,i}-I_{L,i}-\sum_{j\in\mathcal{N}i}I{ij}-\frac{V_i-V_{dc}^{*}}{R_v}. CidtdVi=IDG,i+IHESS,i−IL,i−j∈Ni∑Iij−RvVi−Vdc∗.
式中,V_i 为第 i 条母线电压,C_i 为母线等效电容,I_{DG,i}、I_{HESS,i} 和 I_{L,i} 分别为 DG/PV、HESS 和负荷电流,I_{ij} 为从母线 i 流向母线 j 的线路电流,R_v 对应工程中的 virtual_voltage_damping。在 simulate_hess_case.m 中,注入电流按功率除以母线电压计算:
Iinj,i=PDG,i+Pbat,i+Pef,i−PL,imax(Vi,50). I_{inj,i}=\frac{P_{DG,i}+P_{bat,i}+P_{ef,i}-P_{L,i}}{\max(V_i,50)}. Iinj,i=max(Vi,50)PDG,i+Pbat,i+Pef,i−PL,i.
线路电流动态采用 RL 平均模型:
LijdIijdt=Vi−Vj−RijIij. L_{ij}\frac{dI_{ij}}{dt}=V_i-V_j-R_{ij}I_{ij}. LijdtdIij=Vi−Vj−RijIij.
当线路电感动态相对较快时,可采用准稳态近似:
Iij≈Vi−VjRij. I_{ij}\approx \frac{V_i-V_j}{R_{ij}}. Iij≈RijVi−Vj.
工程代码中使用指数离散形式更新线路电流:
Iij(k+1)=Iijss(k)+[Iij(k)−Iijss(k)]exp(−RlineLlineTs), I_{ij}(k+1)=I_{ij}^{ss}(k)+\left[I_{ij}(k)-I_{ij}^{ss}(k)\right] \exp\left(-\frac{R_{line}}{L_{line}}T_s\right), Iij(k+1)=Iijss(k)+[Iij(k)−Iijss(k)]exp(−LlineRlineTs),
其中
Iijss(k)=Vi(k)−Vj(k)Rline. I_{ij}^{ss}(k)=\frac{V_i(k)-V_j(k)}{R_{line}}. Iijss(k)=RlineVi(k)−Vj(k).
对应母线电压离散更新为
Vi(k+1)=Vi(k)+TsIinj,i(k)−Iout,i(k)−[Vi(k)−Vdc∗]/RvCbus. V_i(k+1)=V_i(k)+T_s\frac{I_{inj,i}(k)-I_{out,i}(k)-[V_i(k)-V_{dc}^{*}]/R_v}{C_{bus}}. Vi(k+1)=Vi(k)+TsCbusIinj,i(k)−Iout,i(k)−[Vi(k)−Vdc∗]/Rv.
3.2 功率平衡关系
第 i 条母线的平均功率平衡关系为
PDG,i+PBSU,i+PHSU,i=PL,i+Pline,i+Ploss,i. P_{DG,i}+P_{BSU,i}+P_{HSU,i} =P_{L,i}+P_{line,i}+P_{loss,i}. PDG,i+PBSU,i+PHSU,i=PL,i+Pline,i+Ploss,i.
其中,P_{BSU,i} 对应代码中的 Pbat,P_{HSU,i} 对应 Pef。系统总功率平衡可写为
∑i=1NPDG,i+∑i=1NPBSU,i+∑i=1NPHSU,i=∑i=1NPL,i+Ploss. \sum_{i=1}^{N}P_{DG,i} +\sum_{i=1}^{N}P_{BSU,i} +\sum_{i=1}^{N}P_{HSU,i} =\sum_{i=1}^{N}P_{L,i}+P_{loss}. i=1∑NPDG,i+i=1∑NPBSU,i+i=1∑NPHSU,i=i=1∑NPL,i+Ploss.
功率缺额在仿真中定义为
Pdef,i(k)=PL,i(k)−PDG,i(k). P_{def,i}(k)=P_{L,i}(k)-P_{DG,i}(k). Pdef,i(k)=PL,i(k)−PDG,i(k).
当 P_def>0 时,HESS 需要向直流母线放电;当 P_def<0 时,HESS 吸收富余功率。BSU 主要负责快速功率扰动,HSU 主要承担低频稳态功率支撑。
3.3 BSU 蓄电池储能模型
蓄电池输出功率与电流关系为
Pbat,i=ViIbat,i. P_{bat,i}=V_i I_{bat,i}. Pbat,i=ViIbat,i.
工程中按母线电压换算电流:
Ibat,i(k)=Pbat,i(k)max(Vi(k),50). I_{bat,i}(k)=\frac{P_{bat,i}(k)}{\max(V_i(k),50)}. Ibat,i(k)=max(Vi(k),50)Pbat,i(k).
SoC 连续动态可写为
SoC˙i=−Ibat,iCcoul, \dot{SoC}i=-\frac{I{bat,i}}{C_{coul}}, SoC˙i=−CcoulIbat,i,
其中 C_coul=Q_Ah*3600。离散形式为
SoCi(k+1)=SoCi(k)−Pbat,i(k)TsVi(k)Ccoul. SoC_i(k+1)=SoC_i(k)-\frac{P_{bat,i}(k)T_s}{V_i(k)C_{coul}}. SoCi(k+1)=SoCi(k)−Vi(k)CcoulPbat,i(k)Ts.
同时受上下限约束:
SoCi(k+1)∈[SoCL,SoCH]. SoC_i(k+1)\in[SoC_L,SoC_H]. SoCi(k+1)∈[SoCL,SoCH].
SoC 不均衡会改变储能可用容量。工程在功率分配中使用状态权重:放电时 SoC 较高者承担更多功率,充电时 SoC 较低者吸收更多功率,从而避免局部单元过充或过放。
3.4 HSU 氢储能模型
氢储能功率定义为燃料电池输出功率与电解槽吸收功率之差:
Ph,i=Pfc,i−Pel,i. P_{h,i}=P_{fc,i}-P_{el,i}. Ph,i=Pfc,i−Pel,i.
工程中 Pef>0 表示燃料电池输出耗氢,Pef<0 表示电解槽吸收功率制氢:
Pfc,i=max(Pef,i,0),Pel,i=max(−Pef,i,0). P_{fc,i}=\max(P_{ef,i},0),\qquad P_{el,i}=\max(-P_{ef,i},0). Pfc,i=max(Pef,i,0),Pel,i=max(−Pef,i,0).
电解槽产氢摩尔流率和燃料电池耗氢摩尔流率分别为
νel,i=ηFNelIel,izF,νfc,i=NfcIfc,iηFzF. \nu_{el,i}=\frac{\eta_F N_{el}I_{el,i}}{zF},\qquad \nu_{fc,i}=\frac{N_{fc}I_{fc,i}}{\eta_F zF}. νel,i=zFηFNelIel,i,νfc,i=ηFzFNfcIfc,i.
储氢摩尔量更新为
ni(k+1)=ni(k)+Ts[νel,i(k)−νfc,i(k)]. n_i(k+1)=n_i(k)+T_s[\nu_{el,i}(k)-\nu_{fc,i}(k)]. ni(k+1)=ni(k)+Ts[νel,i(k)−νfc,i(k)].
SoH 由储氢罐状态方程换算:
SoHi(k)=RTstoni(k)VstoPsto,max. SoH_i(k)=\frac{R T_{sto} n_i(k)}{V_{sto}P_{sto,max}}. SoHi(k)=VstoPsto,maxRTstoni(k).
因此
SoHi(k+1)=sat[SoHL,SoHH](RTstoni(k+1)VstoPsto,max). SoH_i(k+1)=\operatorname{sat}{[SoH_L,SoH_H]} \left(\frac{R T{sto} n_i(k+1)}{V_{sto}P_{sto,max}}\right). SoHi(k+1)=sat[SoHL,SoHH](VstoPsto,maxRTstoni(k+1)).
HSU 具有较大能量容量和较慢响应时间常数,适合承担低频与长时间尺度功率波动。
3.5 分频功率分配模型
分频功率分配的核心思想是将 HESS 总功率请求分解为低频与高频分量。低通滤波器可表示为
GLPF(s)=1Tfs+1. G_{LPF}(s)=\frac{1}{T_f s+1}. GLPF(s)=Tfs+11.
相应高通滤波器为
GHPF(s)=TfsTfs+1=1−GLPF(s). G_{HPF}(s)=\frac{T_f s}{T_f s+1}=1-G_{LPF}(s). GHPF(s)=Tfs+1Tfs=1−GLPF(s).
理论上可写为
PHSU,i=GLPF(s)PHESS,i, P_{HSU,i}=G_{LPF}(s)P_{HESS,i}, PHSU,i=GLPF(s)PHESS,i,
PBSU,i=GHPF(s)PHESS,i. P_{BSU,i}=G_{HPF}(s)P_{HESS,i}. PBSU,i=GHPF(s)PHESS,i.
在工程的离散平均模型中,HSU 低频通道按一阶惯性更新:
Pef,lp,i(k+1)=Pef,lp,i(k)+Tsτh[λhPreq,i(k)−Pef,lp,i(k)], P_{ef,lp,i}(k+1)=P_{ef,lp,i}(k) +\frac{T_s}{\tau_h}\left[\lambda_h P_{req,i}(k)-P_{ef,lp,i}(k)\right], Pef,lp,i(k+1)=Pef,lp,i(k)+τhTs[λhPreq,i(k)−Pef,lp,i(k)],
其中
λb=RhRb+Rh,λh=1−λb. \lambda_b=\frac{R_h}{R_b+R_h},\qquad \lambda_h=1-\lambda_b. λb=Rb+RhRh,λh=1−λb.
BSU 快速通道为
Pbat,ref,i=Preq,i−Pef,lp,i−80Gbat,i. P_{bat,ref,i}=P_{req,i}-P_{ef,lp,i}-80G_{bat,i}. Pbat,ref,i=Preq,i−Pef,lp,i−80Gbat,i.
其中 Gbat_i 对应代码中对
Gbat(s)=1sCh+1/Rb G_{bat}(s)=\frac{1}{sC_h+1/R_b} Gbat(s)=sCh+1/Rb1
的一阶状态近似。与传统方法相比,改进分频下垂中 BSU 并非完全退出稳态,而是通过虚拟电阻分担小稳态功率,从而缓解 HSU 单独承担全部低频功率造成的慢动态问题。
功率缺额 P_def
电压偏差补偿
二级补偿 Delta_u_bat 与 Delta_u_ef
形成 HESS 功率请求 P_req
低通通道 LPF
高通残差通道 HPF
HSU 低频功率 P_ef
BSU 高频功率 P_bat
SoH 约束与功率限幅
SoC 约束与功率限幅
直流母线功率注入
图 4 给出分频下垂功率分配过程。其工程实现集中在 simulate_hess_case.m 的 primary_control_average 局部函数中。
4 分布式协同控制方法
4.1 一次控制:改进分频下垂控制
常规直流下垂控制可表示为
Vref,ipri=Vdc∗−Rd,iIi. V_{ref,i}^{pri}=V_{dc}^{*}-R_{d,i}I_i. Vref,ipri=Vdc∗−Rd,iIi.
针对电-氢混合储能,分频下垂可写为
Vbat,i∗=Vdc∗−Rb,iIbat,i+ΔVbat,i, V_{bat,i}^{*}=V_{dc}^{*}-R_{b,i}I_{bat,i}+\Delta V_{bat,i}, Vbat,i∗=Vdc∗−Rb,iIbat,i+ΔVbat,i,
Vh,i∗=Vdc∗−Rh,iIh,i+ΔVh,i. V_{h,i}^{*}=V_{dc}^{*}-R_{h,i}I_{h,i}+\Delta V_{h,i}. Vh,i∗=Vdc∗−Rh,iIh,i+ΔVh,i.
工程参数中 Rb=0.1、Rh=0.05、Ch=200。由 Rh/(Rb+Rh) 得到的 BSU 稳态分担比例约为 1/3,HSU 稳态分担比例约为 2/3。同时,P.primary.K_voltage_power=900 将母线电压偏差映射为功率请求,P.primary.K_du_power=2000 将二级补偿量映射为储能功率调节量。
4.2 二级控制:变量补偿一致性平均观测器
平均母线电压定义为
Vˉ(t)=1N∑i=1NVi(t). \bar{V}(t)=\frac{1}{N}\sum_{i=1}^{N}V_i(t). Vˉ(t)=N1i=1∑NVi(t).
不含时延的连续一致性更新可写为
x˙i(t)=−μ∑j∈Niaij[xi(t)−xj(t)]+ϕi(t), \dot{x}i(t)=-\mu\sum{j\in\mathcal{N}i}a{ij}[x_i(t)-x_j(t)]+\phi_i(t), x˙i(t)=−μj∈Ni∑aij[xi(t)−xj(t)]+ϕi(t),
含通信时延时为
x˙i(t)=−μ∑j∈Niaij[xi(t)−xj(t−τij)]+ϕi(t). \dot{x}i(t)=-\mu\sum{j\in\mathcal{N}i}a{ij}[x_i(t)-x_j(t-\tau_{ij})]+\phi_i(t). x˙i(t)=−μj∈Ni∑aij[xi(t)−xj(t−τij)]+ϕi(t).
对应离散形式为
xi(k+1)=xi(k)−μTs∑j∈Niaij[xi(k)−xj(k−dij)]+Tsϕi(k). x_i(k+1)=x_i(k)-\mu T_s\sum_{j\in\mathcal{N}i}a{ij} [x_i(k)-x_j(k-d_{ij})]+T_s\phi_i(k). xi(k+1)=xi(k)−μTsj∈Ni∑aij[xi(k)−xj(k−dij)]+Tsϕi(k).
工程实际使用变量补偿平均观测器。对 BSU 或 HSU 任一通道,构造
xi=Vi−ciγi. x_i=V_i-c_i\gamma_i. xi=Vi−ciγi.
邻居延迟状态从环形缓冲区读取:
x^j,ij(k)=xˉj(k−dij),z^j,ij(k)=zj(k−dij). \hat{x}{j,ij}(k)=\bar{x}j(k-d{ij}),\qquad \hat{z}{j,ij}(k)=z_j(k-d_{ij}). x^j,ij(k)=xˉj(k−dij),z^j,ij(k)=zj(k−dij).
一致性误差为
ec,i(k)=∑j=1Naij[x^j,ij(k)−xˉi(k)]. e_{c,i}(k)=\sum_{j=1}^{N}a_{ij}[\hat{x}_{j,ij}(k)-\bar{x}_i(k)]. ec,i(k)=j=1∑Naij[x^j,ij(k)−xˉi(k)].
补偿状态和平均观测状态更新为
zi(k+1)=zi(k)+Ts[ec,i(k)−kzzi(k)+0.2ez,i(k)], z_i(k+1)=z_i(k)+T_s[e_{c,i}(k)-k_z z_i(k)+0.2e_{z,i}(k)], zi(k+1)=zi(k)+Ts[ec,i(k)−kzzi(k)+0.2ez,i(k)],
xˉi(k+1)=xˉi(k)+Ts[ϵ(xi(k)−xˉi(k))+μec,i(k)+kzgzi(k)]. \bar{x}_i(k+1)=\bar{x}i(k)+T_s[\epsilon(x_i(k)-\bar{x}i(k))+\mu e{c,i}(k)+k{zg}z_i(k)]. xˉi(k+1)=xˉi(k)+Ts[ϵ(xi(k)−xˉi(k))+μec,i(k)+kzgzi(k)].
其中 a_ij 为邻接矩阵元素,mu=12 为一致性增益,epsilon=1.4 为本地观测校正增益,z_gain=0.55、z_leak=0.25 为补偿状态参数。
采集本地 V_i、gamma_i
构造 x_i = V_i - c_i gamma_i
读取邻居延迟 xbar_j 与 z_j
计算一致性误差 e_c
计算补偿误差 e_z
更新补偿状态 z_i
更新平均观测 xbar_i
输出到二级电压补偿
图 5 对应 controllers/consensus_observer_delay.m。变量补偿项 z_i 的作用是在通信时延下修正平均估计误差,提高观测过程的阻尼。
4.3 二级电压恢复控制
二级控制目标是恢复平均母线电压并协调 HESS 功率共享。基本电压补偿形式为
ΔVisec=kui(Vdc∗−Vˉ^i). \Delta V_i^{sec}=k_{ui}(V_{dc}^{*}-\hat{\bar{V}}_i). ΔVisec=kui(Vdc∗−Vˉ^i).
工程实现采用积分补偿:
ui(k+1)=ui(k)+kuiTs[Vdc∗−Vˉ^i(k)]. u_i(k+1)=u_i(k)+k_{ui}T_s[V_{dc}^{*}-\hat{\bar{V}}_i(k)]. ui(k+1)=ui(k)+kuiTs[Vdc∗−Vˉ^i(k)].
对 BSU 通道,误差定义为
ebat,i=Vdc∗−ciγbat,i−xˉbat,i+0.35[Vdc∗−mean(V)]. e_{bat,i}=V_{dc}^{*}-c_i\gamma_{bat,i}-\bar{x}{bat,i}+0.35[V{dc}^{*}-\operatorname{mean}(V)]. ebat,i=Vdc∗−ciγbat,i−xˉbat,i+0.35[Vdc∗−mean(V)].
对 HSU 通道,误差定义为
eef,i=Vdc∗−ciγef,i−xˉef,i+0.35[Vdc∗−mean(V)]. e_{ef,i}=V_{dc}^{*}-c_i\gamma_{ef,i}-\bar{x}{ef,i}+0.35[V{dc}^{*}-\operatorname{mean}(V)]. eef,i=Vdc∗−ciγef,i−xˉef,i+0.35[Vdc∗−mean(V)].
积分输出满足限幅:
Δui∈[Δumin,Δumax]=[−50,50]. \Delta u_i\in[\Delta u_{min},\Delta u_{max}]=[-50,50]. Δui∈[Δumin,Δumax]=[−50,50].
该设计使二级控制同时具备三类作用:恢复平均母线电压、减小不同母线电压偏差、协调多 HESS 的功率共享状态。
4.4 功率共享状态变量
源码中 gamma_bat 与 gamma_ef 不是抽象占位变量,而是由功率和可用状态共同定义。对 BSU,放电和充电状态下分别为
γbat,i={Pbat,iQAh(SoCi−SoCL),Pbat,i≥0,Pbat,iQAh(SoCH−SoCi),Pbat,i<0. \gamma_{bat,i}= \begin{cases} \dfrac{P_{bat,i}}{Q_{Ah}(SoC_i-SoC_L)}, & P_{bat,i}\ge 0,\\ \dfrac{P_{bat,i}}{Q_{Ah}(SoC_H-SoC_i)}, & P_{bat,i}<0. \end{cases} γbat,i=⎩ ⎨ ⎧QAh(SoCi−SoCL)Pbat,i,QAh(SoCH−SoCi)Pbat,i,Pbat,i≥0,Pbat,i<0.
对 HSU,定义为
γef,i={Pef,iPsto,nom(SoHi−SoHL),Pef,i≥0,Pef,iPsto,nom(SoHH−SoHi),Pef,i<0. \gamma_{ef,i}= \begin{cases} \dfrac{P_{ef,i}}{P_{sto,nom}(SoH_i-SoH_L)}, & P_{ef,i}\ge 0,\\ \dfrac{P_{ef,i}}{P_{sto,nom}(SoH_H-SoH_i)}, & P_{ef,i}<0. \end{cases} γef,i=⎩ ⎨ ⎧Psto,nom(SoHi−SoHL)Pef,i,Psto,nom(SoHH−SoHi)Pef,i,Pef,i≥0,Pef,i<0.
其中 gamma_bat 表征蓄电池储能在当前 SoC 下的相对功率承担程度,gamma_ef 表征氢储能在当前 SoH 下的相对功率承担程度。一致性控制使各节点共享变量逐渐收敛,从而避免某一储能单元长期承担过高相对功率。
| 变量 | 工程名称 | 含义 | 主要来源 |
|---|---|---|---|
| ViV_iVi | Vbus |
第 i 条直流母线电压 |
dc_network_step |
| Pbat,iP_{bat,i}Pbat,i | Pbat |
第 i 组 BSU 功率,正值放电 |
primary_control_average |
| Pef,iP_{ef,i}Pef,i | Pef |
第 i 组 HSU 功率,正值燃料电池输出 |
primary_control_average |
| SoCiSoC_iSoCi | SoC |
蓄电池荷电状态 | battery_soc_model 与主仿真循环 |
| SoHiSoH_iSoHi | SoH |
氢储能状态 | hydrogen_soh_model 与主仿真循环 |
| γbat,i\gamma_{bat,i}γbat,i | gamma_bat |
BSU 相对功率共享变量 | calc_gamma_bat |
| γef,i\gamma_{ef,i}γef,i | gamma_ef |
HSU 相对功率共享变量 | calc_gamma_ef |
| xˉi\bar{x}_ixˉi | xbar_bat/xbar_ef |
一致性平均观测状态 | consensus_observer_delay |
| ziz_izi | z_bat/z_ef |
变量补偿状态 | consensus_observer_delay |
| kuik_{ui}kui | k_ui |
二级电压积分增益 | init_params 或自适应控制 |
| cic_ici | c_i |
状态均衡补偿系数 | init_params 或自适应控制 |
表 2 汇总了后续公式与源码变量之间的对应关系。该表也说明本文讨论的控制量均可在仿真日志中直接追溯。
5 通信时延与稳定性分析
5.1 通信时延建模
连续通信时延模型为
yj(t)=xj(t−τij). y_j(t)=x_j(t-\tau_{ij}). yj(t)=xj(t−τij).
在离散平均仿真中,时延被转换为缓冲区读取步数:
yj(k)=xj(k−dij),dij=round(τijTs). y_j(k)=x_j(k-d_{ij}),\qquad d_{ij}=\operatorname{round}\left(\frac{\tau_{ij}}{T_s}\right). yj(k)=xj(k−dij),dij=round(Tsτij).
run_case_delay.m 设置
τ∈{0,0.01,0.05,0.10} s, \tau\in\{0,0.01,0.05,0.10\}\ \mathrm{s}, τ∈{0,0.01,0.05,0.10} s,
即 0、10、50、100 ms 通信时延,并将其写入
τij=τ⋅I(aij>0). \tau_{ij}=\tau\cdot \mathbb{I}(a_{ij}>0). τij=τ⋅I(aij>0).
设定 tau_ij
生成 tau_matrix
计算 d_ij = round(tau_ij / Ts_avg)
环形缓冲区读取历史 xbar_j 与 z_j
代入一致性观测器
形成二级补偿量
图 6 表示通信时延在工程中的离散实现路径。固定时延和随机时延接口均保留在 consensus_observer_delay.m 中。
5.2 时延对一致性收敛的影响
通信时延在控制回路中等效为相位滞后,其频域表达为
Gτ(s)=e−sτ. G_\tau(s)=e^{-s\tau}. Gτ(s)=e−sτ.
当 tau 增大时,二级控制回路相位裕度下降,一致性变量可能出现更慢的收敛、超调或振荡。对离散一致性过程,若简化为
x(k+1)=[I−μTsLA]x(k), x(k+1)=\left[I-\mu T_s L_A\right]x(k), x(k+1)=[I−μTsLA]x(k),
则无时延稳定性与矩阵谱半径有关:
ρ(I−μTsLA)<1. \rho(I-\mu T_s L_A)<1. ρ(I−μTsLA)<1.
引入时延后,状态依赖 x(k-d),稳定性同时受通信拓扑、控制增益、采样周期和时延大小影响。较大的 k_ui、mu、c_i 会提高响应速度,但也可能在时延条件下降低阻尼。
5.3 小信号时延裕度
从小信号角度,时延裕度可定义为
τmax=max{τ∣σ(Aτ)<0}. \tau_{max}=\max\{\tau\mid \sigma(A_\tau)<0\}. τmax=max{τ∣σ(Aτ)<0}.
工程采用仿真扫描近似估计:
τmax=maxτ∈Ω{τ: ∣Vi(t)−Vdc∗∣<ΔVlim, γi(t) 收敛}. \tau_{max}=\max_{\tau\in\Omega} \left\{\tau:\ |V_i(t)-V_{dc}^{*}|<\Delta V_{lim},\ \gamma_i(t)\ \mathrm{收敛}\right\}. τmax=τ∈Ωmax{τ: ∣Vi(t)−Vdc∗∣<ΔVlim, γi(t) 收敛}.
其中扫描集合为
Ω={0,0.01,0.02,...,0.30} s. \Omega=\{0,0.01,0.02,\ldots,0.30\}\ \mathrm{s}. Ω={0,0.01,0.02,...,0.30} s.
small_signal_delay_margin.m 将仿真时长缩短为 12 s、平均步长设为 2 ms,对 paper 与 improved 两类方法逐点仿真,并记录稳定标志、最大电压偏差和近似裕度。
6 改进控制策略:时延感知自适应二级控制
6.1 改进思想
通信时延越大,二级电压恢复增益过高越容易引起振荡。因此,改进控制令 k_ui 随估计时延增大而自适应降低,以提高时延下的阻尼。同时,当各节点 SoC/SoH 差异较大时,功率共享变量中的能量状态差异应得到更强约束,因此通过增大 c_i 提升均衡能力。工程还在 run_case_improved.m 中提供轻量网格搜索,对 k_ui 与 c_i 进行组合筛选。
读取 tau_matrix
估计有效平均时延 tau_est
读取 SoC 与 SoH
计算节点状态偏差
读取母线电压
计算平均电压偏差
时延越大 k_ui 越小
状态差异越大 c_i 越大
电压偏差大时抑制均衡权重
二级电压补偿
输出自适应控制量
图 7 对应 controllers/improved_adaptive_control.m。改进控制没有改变一次功率分配主结构,而是在二级控制参数层引入时延和状态感知。
6.2 时延感知增益调节
源码中有效通信时延估计为
τest=mean{τij∣τij>0}. \tau_{est}=\operatorname{mean}\{\tau_{ij}\mid \tau_{ij}>0\}. τest=mean{τij∣τij>0}.
自适应二级增益为
kuiadp(τ)=sat[kmin,kmax](k01+αττest). k_{ui}^{adp}(\tau)= \operatorname{sat}{[k{min},k_{max}]} \left(\frac{k_0}{1+\alpha_{\tau}\tau_{est}}\right). kuiadp(τ)=sat[kmin,kmax](1+αττestk0).
工程参数为 k0=3.0、alpha_tau=18、k_min=0.65、k_max=4.5。可见 tau_est 越大,k_ui 越小。该策略牺牲部分电压恢复速度,以换取时延条件下更高阻尼和更宽稳定范围。
6.3 SoC/SoH 均衡系数调节
SoC 与 SoH 离散度可定义为
Dsoc=1N∑i=1N(SoCi−SoC‾)2, D_{soc}=\frac{1}{N}\sum_{i=1}^{N}(SoC_i-\overline{SoC})^2, Dsoc=N1i=1∑N(SoCi−SoC)2,
Dsoh=1N∑i=1N(SoHi−SoH‾)2. D_{soh}=\frac{1}{N}\sum_{i=1}^{N}(SoH_i-\overline{SoH})^2. Dsoh=N1i=1∑N(SoHi−SoH)2.
源码采用节点绝对偏差调节:
dsoc,i=∣SoCi−SoC‾∣,dsoh,i=∣SoHi−SoH‾∣. d_{soc,i}=|SoC_i-\overline{SoC}|,\qquad d_{soh,i}=|SoH_i-\overline{SoH}|. dsoc,i=∣SoCi−SoC∣,dsoh,i=∣SoHi−SoH∣.
均衡系数先按状态差异放大:
c~i=c0(1+αsocdsoc,i+αsohdsoh,i), \tilde{c}i=c_0(1+\alpha{soc}d_{soc,i}+\alpha_{soh}d_{soh,i}), c~i=c0(1+αsocdsoc,i+αsohdsoh,i),
再按平均电压偏差抑制:
ciadp=sat[cmin,cmax](c~i1+0.035∣ mean(V)−Vdc∗ ∣). c_i^{adp}= \operatorname{sat}{[c{min},c_{max}]} \left(\frac{\tilde{c}i}{1+0.035|\,\operatorname{mean}(V)-V{dc}^{*}\,|}\right). ciadp=sat[cmin,cmax](1+0.035∣mean(V)−Vdc∗∣c~i).
工程参数为 alpha_soc=3.0、alpha_soh=2.0、c_min=0.035、c_max=0.16。该处理体现了优先级关系:电压偏差较大时优先稳压,电压偏差较小时增强状态均衡。
6.4 网格搜索优化
run_case_improved.m 设置
kui∈{1.4,2.2,3.0},ci∈{0.045,0.075,0.11}. k_{ui}\in\{1.4,2.2,3.0\},\qquad c_i\in\{0.045,0.075,0.11\}. kui∈{1.4,2.2,3.0},ci∈{0.045,0.075,0.11}.
对每组参数调用 simulate_hess_case,再由 objective_from_metrics 计算目标函数:
J=0.22Eov+0.18Tset+0.18Ess+0.16RHSU1000+0.12Dsoc×100+0.10Dsoh×100+0.04U100. J=0.22E_{ov}+0.18T_{set}+0.18E_{ss} +0.16\frac{R_{HSU}}{1000} +0.12D_{soc}\times100 +0.10D_{soh}\times100 +0.04\frac{U}{100}. J=0.22Eov+0.18Tset+0.18Ess+0.161000RHSU+0.12Dsoc×100+0.10Dsoh×100+0.04100U.
若仿真判定不稳定,则附加惩罚:
J←J+104. J\leftarrow J+10^4. J←J+104.
从更一般的多目标角度,可写为
J=w1EV+w2Tset+w3Dγ+w4Dsoc+w5Dsoh. J=w_1E_V+w_2T_{set}+w_3D_{\gamma}+w_4D_{soc}+w_5D_{soh}. J=w1EV+w2Tset+w3Dγ+w4Dsoc+w5Dsoh.
其中电压均方偏差为
EV=1NT∑i=1N∫0T(Vi(t)−Vdc∗)2dt, E_V=\frac{1}{NT}\sum_{i=1}^{N}\int_0^T(V_i(t)-V_{dc}^{*})^2dt, EV=NT1i=1∑N∫0T(Vi(t)−Vdc∗)2dt,
共享变量平均偏差为
Dγ=1N∑i=1N∣γi−γˉ∣. D_{\gamma}=\frac{1}{N}\sum_{i=1}^{N}|\gamma_i-\bar{\gamma}|. Dγ=N1i=1∑N∣γi−γˉ∣.
网格搜索并非复杂智能优化算法,但具有可解释、可复现和运行成本低的优点,适合作为控制参数整定的工程基线。
7 仿真实验设计
7.1 实验参数表
表 3 和表 4 分别列出系统参数与控制参数。数值均来自 init_params.m 或 README。
| 参数 | 符号 | 数值 | 含义 |
|---|---|---|---|
| 仿真时间 | TendT_{end}Tend | 20 s | 主实验仿真总时长 |
| 需求采样时间 | TsT_sTs | 1×10−51\times10^{-5}1×10−5 s | 工程保留的细采样设定 |
| 平均模型步长 | Ts,avgT_{s,avg}Ts,avg | 1×10−31\times10^{-3}1×10−3 s | 主离散平均仿真步长 |
| 母线数量 | NNN | 4 | 直流母线与 HESS 节点数 |
| 额定直流电压 | Vdc∗V_{dc}^{*}Vdc∗ | 500 V | 二级电压恢复参考 |
| 线路电阻 | RlineR_{line}Rline | 0.5 Ohm | 环形线路电阻 |
| 线路电感 | LlineL_{line}Lline | 0.1 mH | 环形线路电感 |
| 母线电容 | CbusC_{bus}Cbus | 0.08 F | 平均母线电容 |
| DG 初始功率 | PDG0P_{DG0}PDG0 | 50 kW/节点 | 初始分布式电源功率 |
| 初始负荷 | PL0P_{L0}PL0 | [30, 40, 30, 35] kW | 四节点初始负荷 |
| 负荷扰动时间 | tet_ete | 5 s、15 s | 负荷增加与减小 |
| DG 扰动时间 | tgt_gtg | 10 s | DG 功率下降 |
| BSU 初始 SoC | SoC0SoC_0SoC0 | [0.55, 0.60, 0.50, 0.58] | 电池初始状态 |
| HSU 初始 SoH | SoH0SoH_0SoH0 | [0.55, 0.50, 0.60, 0.52] | 氢储能初始状态 |
| 参数 | 符号 | 数值 | 含义 |
|---|---|---|---|
| 分频下垂电容参数 | ChC_hCh | 200 | BSU 虚拟动态参数 |
| BSU 虚拟电阻 | RbR_bRb | 0.1 | BSU 下垂参数 |
| HSU 虚拟电阻 | RhR_hRh | 0.05 | HSU 下垂参数 |
| 二级电压增益 | kuik_{ui}kui | 2 | 基准二级积分增益 |
| 均衡系数 | cic_ici | 0.06 | gamma 状态补偿系数 |
| 一致性增益 | μ\muμ | 12 | 平均观测一致性增益 |
| 本地校正增益 | ϵ\epsilonϵ | 1.4 | 平均观测本地反馈增益 |
| 补偿状态增益 | kzgk_{zg}kzg | 0.55 | z 对观测器的补偿强度 |
| 补偿状态泄漏 | kzk_zkz | 0.25 | z 状态阻尼 |
| 二级补偿限幅 | Δu\Delta uΔu | [-50, 50] | 防积分饱和范围 |
| 自适应基准增益 | k0k_0k0 | 3.0 | 改进控制基准 k_ui |
| 时延敏感系数 | ατ\alpha_{\tau}ατ | 18 | 时延增益衰减系数 |
| SoC 权重系数 | αsoc\alpha_{soc}αsoc | 3.0 | SoC 差异调节系数 |
| SoH 权重系数 | αsoh\alpha_{soh}αsoh | 2.0 | SoH 差异调节系数 |
表 3 和表 4 显示,工程参数覆盖电气网络、储能状态、一次控制、二级控制与通信层。主仿真采用 1 ms 平均步长,有利于批量扫描时延和故障场景。
7.2 实验场景表
| 实验脚本 | 实验名称 | 目的 | 主要输出 |
|---|---|---|---|
run_case_reproduction.m |
无时延基础复现 | 验证论文方法在理想通信下的电压恢复和功率共享 | sim_result_baseline.mat |
run_case_delay.m |
通信时延实验 | 对比 0、10、50、100 ms 时延下补偿与无补偿一致性算法 | sim_result_delay.mat |
run_case_fault.m |
通信故障实验 | 评估单链路故障与多链路故障对一致性和电压恢复的影响 | sim_result_fault.mat |
run_case_improved.m |
改进控制对比 | 对比传统分频下垂、论文方法、自适应方法和网格优化方法 | sim_result_improved.mat |
small_signal_delay_margin.m |
时延裕度扫描 | 估计 paper 与 improved 方法在 0-300 ms 扫描范围内的稳定性 |
delay_margin_result.mat |
表 5 说明工程实验覆盖从理想通信到非理想通信、从控制复现到参数改进的完整链路。
7.3 仿真流程 Mermaid 图
读取参数 init_params
构建模型 build_model
运行基础复现 run_case_reproduction
运行时延实验 run_case_delay
运行故障实验 run_case_fault
运行改进实验 run_case_improved
扫描时延裕度 small_signal_delay_margin
计算指标 calc_metrics
生成 metrics_table.csv
输出博客分析
图 8 与 run_all.m 的执行顺序一致。工程实际运行命令如下:
matlab
run_all
若仅验证基础复现实验,可运行:
matlab
P = init_params();
run_case_reproduction(P)
单独运行通信时延实验:
matlab
P = init_params();
run_case_delay(P)
单独运行改进控制实验:
matlab
P = init_params();
run_case_improved(P)
读取指标表可使用:
matlab
metrics = readtable('data/metrics_table.csv');
disp(metrics);
























8 评价指标体系
calc_metrics.m 以平均母线电压、储能状态、共享变量、控制量和通信量为核心评价对象。指标越小,一般表示控制性能越好;电压指标反映稳压性能,gamma 指标反映功率共享一致性,SoC/SoH 指标反映储能均衡。
8.1 电压偏差指标
母线电压偏差定义为
eV,i(t)=Vi(t)−Vdc∗. e_{V,i}(t)=V_i(t)-V_{dc}^{*}. eV,i(t)=Vi(t)−Vdc∗.
理论 RMSE 指标可写为
RMSEV=1NT∑i=1N∫0TeV,i2(t)dt. RMSE_V=\sqrt{\frac{1}{NT}\sum_{i=1}^{N}\int_0^T e_{V,i}^{2}(t)dt}. RMSEV=NT1i=1∑N∫0TeV,i2(t)dt .
工程实际主要记录平均母线电压误差:
eVˉ(t)=Vˉ(t)−Vdc∗. e_{\bar{V}}(t)=\bar{V}(t)-V_{dc}^{*}. eVˉ(t)=Vˉ(t)−Vdc∗.
8.2 最大电压偏差
最大电压偏差定义为
Emax=maxi,t∣Vi(t)−Vdc∗∣. E_{max}=\max_{i,t}|V_i(t)-V_{dc}^{*}|. Emax=i,tmax∣Vi(t)−Vdc∗∣.
源码中的 VoltageOvershoot 采用平均母线电压最大绝对偏差:
EVˉ,max=maxt∣Vˉ(t)−Vdc∗∣. E_{\bar{V},max}=\max_t|\bar{V}(t)-V_{dc}^{*}|. EVˉ,max=tmax∣Vˉ(t)−Vdc∗∣.
8.3 稳定时间
稳定时间定义为
Tset=min{t: ∣Vi(ξ)−Vdc∗∣<δ, ∀ξ>t}. T_{set}=\min\{t:\ |V_i(\xi)-V_{dc}^{*}|<\delta,\ \forall \xi>t\}. Tset=min{t: ∣Vi(ξ)−Vdc∗∣<δ, ∀ξ>t}.
工程在 5 s、10 s 和 15 s 三个扰动事件后分别检测 1 V 电压带,并取最大恢复时间。
8.4 功率共享误差
功率共享误差定义为
Eγ=1N∑i=1N∣γi−γˉ∣. E_{\gamma}=\frac{1}{N}\sum_{i=1}^{N}|\gamma_i-\bar{\gamma}|. Eγ=N1i=1∑N∣γi−γˉ∣.
源码使用末端 2 s 内共享变量标准差均值:
Eγ,bat=meant∈[T−2,T]{std(γbat(t))}, E_{\gamma,bat}=\operatorname{mean}{t\in[T-2,T]}\{\operatorname{std}(\gamma{bat}(t))\}, Eγ,bat=meant∈[T−2,T]{std(γbat(t))},
Eγ,ef=meant∈[T−2,T]{std(γef(t))}. E_{\gamma,ef}=\operatorname{mean}{t\in[T-2,T]}\{\operatorname{std}(\gamma{ef}(t))\}. Eγ,ef=meant∈[T−2,T]{std(γef(t))}.
8.5 SoC/SoH 均衡程度
终端 SoC 均衡误差为
Dsoc=maxiSoCi(T)−miniSoCi(T). D_{soc}=\max_i SoC_i(T)-\min_i SoC_i(T). Dsoc=imaxSoCi(T)−iminSoCi(T).
终端 SoH 均衡误差为
Dsoh=maxiSoHi(T)−miniSoHi(T). D_{soh}=\max_i SoH_i(T)-\min_i SoH_i(T). Dsoh=imaxSoHi(T)−iminSoHi(T).
8.6 综合性能指标
综合评价指标可写为
J=w1RMSEV+w2Emax+w3Tset+w4Eγ+w5Dsoc+w6Dsoh. J=w_1RMSE_V+w_2E_{max}+w_3T_{set}+w_4E_{\gamma}+w_5D_{soc}+w_6D_{soh}. J=w1RMSEV+w2Emax+w3Tset+w4Eγ+w5Dsoc+w6Dsoh.
工程网格搜索目标函数进一步加入 HSU 最大斜坡率、稳态电压误差和控制能量,使参数筛选更贴近电-氢混合储能的动态约束。
| 指标名称 | 工程字段 | 数学含义 | 性能解释 |
|---|---|---|---|
| 最大电压偏差 | VoltageOvershoot_V |
$\max | \bar{V}-V_{dc}^{*} |
| 稳定时间 | SettlingTime_s |
事件后回到 1 V 带的最大时间 | 越小表示恢复越快 |
| 稳态电压误差 | SteadyStateVoltageError_V |
末端 1 s 平均绝对误差 | 越小表示稳态恢复越好 |
| HSU 最大斜坡率 | MaxHSURampRate_kW_s |
$\max | \Delta P_{ef}/\Delta t |
| BSU 最大冲击 | BSUMaxImpact_kW |
$\max | P_{bat} |
| SoC 均衡误差 | SoC_Balance_Error |
末端 SoC 极差 | 越小表示电池状态更均衡 |
| SoH 均衡误差 | SoH_Balance_Error |
末端 SoH 极差 | 越小表示氢储能状态更均衡 |
| BSU 共享误差 | GammaBat_Error |
末端 gamma_bat 标准差均值 |
越小表示 BSU 相对功率更一致 |
| HSU 共享误差 | GammaEf_Error |
末端 gamma_ef 标准差均值 |
越小表示 HSU 相对功率更一致 |
| 通信量 | CommunicationVolume_MB |
边数、采样点和信号字节数估算 | 反映通信开销 |
| 稳定标志 | Stable |
电压偏差和数值有效性判据 | 1 表示该工况满足工程稳定判据 |
仿真日志 result
平均电压 Vavg
Pef 与 Pbat
SoC 与 SoH
gamma_bat 与 gamma_ef
Delta_u_bat 与 Delta_u_ef
电压超调、稳态误差、恢复时间
HSU 斜坡率与 BSU 冲击
SoC/SoH 均衡误差
功率共享误差
控制能量
metrics_table.csv
图 9 给出了评价指标计算流程。plot_results.m 将各实验结果逐行汇总为 data/metrics_table.csv。
9 结果分析与讨论
9.1 基础复现实验分析
当前项目已读取到 data/metrics_table.csv,因此表 7 给出真实指标汇总,数值按工程输出四舍五入展示。
| 工况 | 时延/s | 最大电压偏差/V | 恢复时间/s | 稳态误差/V | HSU斜坡/kW/s | BSU冲击/kW | SoC误差 | SoH误差 | gamma_bat误差 |
gamma_ef误差 |
通信量/MB | 稳定 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 论文复现-无时延 | 0.00 | 35.407 | 2.374 | 0.045 | 81.667 | 22.188 | 0.0999 | 0.1000 | 2.868 | 0.0168 | 4.883 | 1 |
| 论文方法-时延0ms | 0.00 | 35.407 | 2.374 | 0.045 | 81.667 | 22.188 | 0.0999 | 0.1000 | 2.868 | 0.0168 | 4.883 | 1 |
| 论文方法-时延10ms | 0.01 | 35.461 | 2.466 | 0.050 | 81.553 | 22.118 | 0.0999 | 0.1000 | 2.869 | 0.0168 | 4.883 | 1 |
| 论文方法-时延50ms | 0.05 | 35.508 | 1.640 | 0.126 | 81.413 | 22.015 | 0.0999 | 0.1000 | 2.873 | 0.0168 | 4.883 | 1 |
| 论文方法-时延100ms | 0.10 | 35.521 | 2.007 | 0.199 | 81.399 | 21.984 | 0.0999 | 0.1000 | 2.876 | 0.0167 | 4.883 | 1 |
| 无变量补偿-时延0ms | 0.00 | 35.407 | 2.374 | 0.045 | 81.667 | 22.194 | 0.0999 | 0.1000 | 2.816 | 0.0181 | 4.883 | 1 |
| 无变量补偿-时延10ms | 0.01 | 35.447 | 2.454 | 0.049 | 81.582 | 22.141 | 0.0999 | 0.1000 | 2.816 | 0.0181 | 4.883 | 1 |
| 无变量补偿-时延50ms | 0.05 | 35.436 | 1.895 | 0.080 | 81.459 | 22.052 | 0.0999 | 0.1000 | 2.819 | 0.0180 | 4.883 | 1 |
| 无变量补偿-时延100ms | 0.10 | 35.478 | 1.575 | 0.156 | 81.455 | 22.025 | 0.0999 | 0.1000 | 2.821 | 0.0180 | 4.883 | 1 |
| 单条通信线路故障 | 0.05 | 35.466 | 1.814 | 0.092 | 81.470 | 22.069 | 0.0999 | 0.1000 | 2.897 | 0.0212 | 3.662 | 1 |
| 多条通信线路故障 | 0.05 | 35.452 | 1.661 | 0.070 | 81.575 | 22.131 | 0.0999 | 0.1000 | 3.293 | 0.0291 | 2.442 | 1 |
| 传统分频下垂 | 0.05 | 62.157 | 2.517 | 0.018 | 164.888 | 9.411 | 0.1000 | 0.1000 | 0.708 | 0.0223 | 4.883 | 1 |
| 论文方法 | 0.05 | 35.508 | 1.640 | 0.126 | 81.413 | 22.015 | 0.0999 | 0.1000 | 2.873 | 0.0168 | 4.883 | 1 |
| 改进自适应方法 | 0.05 | 54.888 | 4.500 | 1.455 | 0.164 | 30.065 | 0.0995 | 0.1000 | 11.659 | 0.0015 | 4.883 | 1 |
| 网格优化-k1.40-c0.045 | 0.05 | 35.148 | 1.680 | 0.076 | 82.380 | 22.340 | 0.0999 | 0.1000 | 3.377 | 0.0129 | 4.883 | 1 |
无通信时延基础复现实验中,平均母线电压最大偏差为 35.407 V,末端稳态误差为 0.045 V,说明二级控制能够将平均母线电压恢复到 500 V 附近。BSU 最大功率冲击约 22.188 kW,HSU 最大斜坡率约 81.667 kW/s,反映出 BSU 承担快速扰动、HSU 平滑承担低频功率的分工。gamma_bat 和 gamma_ef 指标在末端保持有限误差,说明共享变量进入可控收敛状态。
9.2 不同通信时延实验分析
10 ms、50 ms、100 ms 时延下,论文方法的最大平均电压偏差从 35.461 V 增至 35.521 V,稳态误差从 0.050 V 增至 0.199 V。该趋势表明,时延增大主要削弱稳态恢复精度并放慢一致性观测的有效更新。尽管本参数组下所有时延工况仍满足工程稳定判据,但 gamma_bat 误差随时延略有增大,说明共享变量一致性受到通信滞后的影响。
通信时延增大
邻居状态滞后
一致性误差包含旧信息
平均观测收敛变慢
二级电压恢复精度下降
gamma 共享变量误差变化
稳态误差增大
功率共享性能劣化
图 10 以逻辑图形式概括了不同时延对控制性能的影响。与直接曲线图相比,该图强调了时延影响从通信层传导至控制层和指标层的路径。
9.3 通信故障实验分析
通信故障实验中,单链路故障将 HESS1-HESS2 通信边断开,但网络仍保持连通;多链路故障同时断开 HESS1-HESS2 与 HESS1-HESS4,使节点 1 与其余节点的通信关系显著退化。指标上,多链路故障的 gamma_bat 误差由单链路故障的 2.897 增至 3.293,gamma_ef 误差由 0.0212 增至 0.0291,说明通信拓扑退化对功率共享一致性更敏感。
| 故障类型 | 拓扑状态 | 电压恢复影响 | 功率共享影响 | 工程指标表现 |
|---|---|---|---|---|
| 单链路故障 | 环网退化但仍连通 | 平均电压仍可恢复 | 一致性误差略增 | 通信量降至 3.662 MB,系统稳定 |
| 多链路故障 | 节点 1 通信显著受限 | 电压恢复仍满足判据 | gamma 误差更明显 |
通信量降至 2.442 MB,gamma_bat 误差升高 |
| 网络完全分割 | 当前脚本未单独扩展为完全孤岛 | 局部子网可能形成不同估计值 | 共享变量难以全局一致 | 可作为后续扩展场景 |
表 8 表明,电压恢复对局部通信退化具有一定鲁棒性,而功率共享一致性对拓扑连通性更敏感。
9.4 改进控制方法对比
在 50 ms 时延下,传统分频下垂的最大电压偏差为 62.157 V,明显高于论文方法的 35.508 V,说明二级一致性补偿对电压动态具有关键作用。改进自适应方法显著降低 HSU 斜坡率至 0.164 kW/s,并将 gamma_ef 误差降至 0.0015,但其电压恢复时间和稳态误差增大,体现出"氢储能平滑性优先"与"电压快速恢复"之间的权衡。网格优化方法在当前指标权重下取得较小最大电压偏差 35.148 V 和较低稳态误差 0.076 V,是该组网格中的综合折中解。
| 方法 | 电压恢复 | 时延鲁棒性 | SoC/SoH 均衡 | 参数复杂度 | 综合评价 |
|---|---|---|---|---|---|
| 传统分频下垂 | 最大偏差较大,恢复较慢 | 不依赖补偿但性能有限 | 状态均衡能力弱 | 低 | 适合作为基线,不适合作为最终方案 |
| 论文方法 | 电压偏差较小,恢复较快 | 50 ms 下保持稳定 | gamma_ef 误差较低 |
中 | 复现主方法,综合性能稳定 |
| 时延感知自适应方法 | 电压恢复变慢,稳态误差增大 | 通过降增益提高阻尼 | HSU 斜坡和 gamma_ef 优势明显 |
中 | 偏向保护 HSU 动态和平滑性 |
| 网格优化方法 | 最大电压偏差最低 | 参数经 50 ms 场景筛选 | gamma_ef 优于论文方法 |
中高 | 当前权重下的工程折中方案 |
传统分频下垂
统一指标评价
论文复现方法
时延感知自适应方法
网格优化方法
电压偏差
恢复时间
HSU 斜坡率
gamma 共享误差
SoC/SoH 均衡
综合评价
图 11 说明不同控制方法的比较不应仅依据单一电压指标,而应结合储能动态平滑性、共享一致性与状态均衡。
9.5 时延裕度分析
时延裕度越大,说明系统对通信非理想因素的鲁棒性越强。过大的二级电压增益虽然可提高无时延响应速度,但会降低时延条件下的相位裕度;适度降低高时延下的 k_ui 能提高阻尼。small_signal_delay_margin.m 采用 0 到 300 ms 的扫描集合,对 paper 与 improved 方法逐点记录稳定性,并额外构造 k_ui-c_i 近似裕度热力图,为参数整定提供参考。
是
否
选择控制方法 paper 或 improved
设置 tau = 0:10ms:300ms
缩短仿真 t_end = 12s
运行 simulate_hess_case
计算 VoltageOvershoot 与 Stable
是否稳定
记录可稳定 tau
标记失稳边界
得到 tau_lim
生成时延裕度分析
图 12 给出了时延裕度扫描逻辑。该方法属于工程仿真扫描而非严格解析小信号求根,但能直接反映当前平均模型和控制参数下的可承受时延范围。
10 Mermaid 图清单
本文所有图均采用 Mermaid 绘制,不直接插入 figures/ 中的 PNG、JPG 或 FIG 文件。图 1 至图 12 分别覆盖项目文件结构、系统结构、通信拓扑、分频功率分配、一致性观测器、时延建模、自适应控制、仿真流程、指标计算、时延影响逻辑、控制方法对比和时延裕度扫描。
Mermaid 图清单
系统总体结构图
项目文件结构图
4 节点通信拓扑图
分频下垂功率分配流程图
变量补偿一致性观测器流程图
时延感知自适应控制流程图
run_all 一键实验流程图
评价指标计算流程图
不同控制方法对比逻辑图
时延裕度扫描流程图
图 13 作为图清单索引,便于读者在 Markdown 渲染环境中快速核验图示覆盖情况。
11 工程复现价值与可扩展方向
本工程实现了从模型构建、批量实验、指标计算到图表输出的闭环流程。与仅给出控制理论或单次仿真曲线不同,本工程能够通过 run_all.m 自动运行复现、时延、故障、改进和裕度扫描实验,并将全部指标写入 data/metrics_table.csv,适合作为直流微电网分布式控制仿真的基础工程。
| 可扩展方向 | 当前基础 | 扩展价值 |
|---|---|---|
| Simscape Electrical 线路模型 | 当前为平均线路与母线电容模型 | 可提高电气暂态细节和器件级可信度 |
| 真实 PV MPPT | 当前 DG/PV 采用功率源与阶跃扰动 | 可研究辐照变化和 MPPT 动态对母线电压的影响 |
| AEL 电解槽极化曲线 | 当前电解槽采用效率与电压平均换算 | 可提高制氢功率-电流-产氢关系精度 |
| 燃料电池动态模型 | 当前燃料电池采用平均功率和耗氢换算 | 可加入气体供给、活化损耗和动态限幅 |
| PSO/GA 参数优化 | 当前使用轻量网格搜索 | 可处理更高维控制参数和多目标权衡 |
| 随机丢包与带宽限制 | 当前主要设置固定时延与链路断开 | 可更贴近实际通信网络非理想因素 |
| 事件触发通信 | 当前每步交换邻居状态 | 可降低通信量并研究触发阈值稳定性 |
| 硬件在环验证 | 当前为 MATLAB/Simulink 平均仿真 | 可向实时控制器验证与工程部署过渡 |
表 11 说明,当前工程已具备复现实验闭环,后续可沿电气细节、通信非理想性和优化算法三个方向扩展。
当前平均模型工程
更高保真电气模型
更真实电-氢设备模型
更复杂通信非理想因素
智能优化参数整定
Simscape Electrical
PV MPPT / AEL / 燃料电池动态
随机丢包 / 带宽限制 / 事件触发
PSO / GA / 多目标优化
图 14 给出了后续可扩展方向。由于本工程已经将参数、控制器和实验脚本分离,新增模型或算法时可优先保持 simulate_hess_case 的输入输出接口一致。
12 结论与展望
本文基于当前 MATLAB/Simulink 工程,对考虑通信时延的直流微电网分布式电-氢混合储能协同控制方法进行了工程化复现与博客化论文式整理。工程采用 4 母线环形直流微电网、4 组 HESS、改进分频下垂一次控制和变量补偿一致性二级控制,实现了无时延复现、固定通信时延、通信故障、改进控制对比和时延裕度扫描。
真实指标表明,论文方法在 0 至 100 ms 固定时延下均满足工程稳定判据,平均母线电压最大偏差保持在约 35.4 至 35.5 V 区间,稳态电压误差随时延增大而上升。通信故障实验说明,电压恢复对局部链路退化具备一定鲁棒性,但功率共享变量一致性对拓扑退化更敏感。改进自适应方法通过降低时延下的二级增益和调节状态均衡系数,显著改善 HSU 功率平滑性和 gamma_ef 一致性,但会牺牲电压恢复速度;网格优化方法则在当前权重下给出较好的综合折中。
后续研究可在三个方向继续推进:一是以 Simscape Electrical 和真实电-氢设备特性提高模型精度;二是将固定时延扩展为随机丢包、带宽限制和事件触发通信;三是以 PSO、GA 或多目标优化方法替代轻量网格搜索,进一步揭示电压恢复、储能寿命、氢储能平滑性和通信开销之间的量化权衡。
如需要源文件,请在评论区下联系作者。制作不易,请各位看官老爷点个赞和收藏!!!