一种基于规则的能量管理系统设计
要点
- 对于混合动力系统来说,子系统的功率分配尤为重要;
- 本研究是一个PEMFC系统和锂电池的组合,采用主动并联结构,增强系统功率输出稳定性和长续航能力;
- 一般来讲,为了保护锂电池而将其SOC限制在[0.2, 0.8]之间;
- 燃料电池的额定功率为8kW,锂电池的容量为10Ah,放电倍率为25C,采用12S结构,同时锂电池的最大充电功率和放电功率分别是2kW和8kW;
系统结构如下图:
- 在Dymola中设计能量管理程序:
model EMS01 "基于三路功率和锂电池SOC的能量管理模块"
Modelica.Blocks.Interfaces.RealInput P_Load "负载功率输入,0kW~4kW"
annotation (Placement(transformation(extent={{-140,20},{-100,60}})));
Modelica.Blocks.Interfaces.RealInput SOC
"锂电池剩余电量"
annotation (Placement(transformation(extent={{-140,-60},{-100,-20}})));
Modelica.Blocks.Interfaces.RealOutput P_FC
"指定燃料电池提供的功率"
annotation (Placement(transformation(extent={{300,40},{320,60}})));
Modelica.Blocks.Interfaces.RealOutput P_LiPo
"指定锂电池提供的功率"
annotation (Placement(transformation(extent={{300,-60},{320,-40}})));
parameter Real Li_P_Di_Max(unit = "W")=8000
"锂电池的最大放电功率";
parameter Real Li_P_Ch_Max(unit = "W")=200
"锂电池的最大充电功率";
parameter Real FC_P_Nom(unit = "W")=8000
"燃料电池的额定功率";
parameter Real FC_P_Max(unit = "W")=8200
"燃料电池的最大功率";
algorithm
if SOC < 0.2 then //锂电池充电阶段
if P_Load < FC_P_Nom then //燃料电池额定功率满足负载运行
if FC_P_Nom - P_Load > Li_P_Ch_Max then
P_LiPo :=-(Li_P_Ch_Max);
P_FC :=-P_LiPo + P_Load;
else
P_LiPo :=-(FC_P_Nom - P_Load);
P_FC :=FC_P_Nom;
end if;
else //燃料电池额定功率不满足负载运行
P_LiPo :=0;
P_FC :=0;
exit();
end if;
else //SOC >= 0.2 放电阶段
if SOC > 0.8 then //锂电池电量大于80%
if P_Load < FC_P_Nom then //燃料电池功率支持负载运行
P_FC :=P_Load;
P_LiPo :=0; //锂电池不充电也不放电
else //燃料电池功率不支持负载运行
P_LiPo :=P_Load - P_FC;
if P_LiPo > Li_P_Di_Max then
P_LiPo :=0;
P_FC :=0;
exit(); //负载功率过大,锂电池达到最大放电功率也不能支持负载运行
else
P_FC :=FC_P_Nom;
P_LiPo :=P_Load - P_FC; //锂电池放电
end if;
end if;
// P_FC = FC_P_Nom;
//
// P_LiPo = 0;
else //锂电池电量介于20%~80%之间
if P_Load < FC_P_Nom then //燃料电池功率支持负载运行
P_FC :=FC_P_Nom;
P_LiPo :=-(FC_P_Nom - P_Load); //锂电池充电
else
if (P_Load - FC_P_Nom) > Li_P_Di_Max then
P_LiPo :=0;
P_FC :=0;
exit();
else
P_FC :=FC_P_Nom;
P_LiPo :=P_Load - FC_P_Nom;
end if;
end if;
end if;
end if;
annotation (
Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{300,100}}),
graphics={Rectangle(
extent={{-100,100},{300,-100}},
lineColor={0,0,0},
fillPattern=FillPattern.Forward,
fillColor={28,108,200}), Text(
extent={{16,48},{196,-44}},
textColor={255,255,255},
textString="EMS")}),
Diagram(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{300,
100}}), graphics={Rectangle(
extent={{-100,102},{300,-98}},
lineColor={0,0,0},
fillPattern=FillPattern.Forward,
fillColor={28,108,200}), Text(
extent={{16,50},{196,-42}},
textColor={255,255,255},
textString="EMS")}),
uses(Modelica(version="4.0.0")));
end EMS01;
- 实验结果
实验结果可以看出燃料电池和锂电池的响应和锂电池SOC变化;