advisor复合电源模型。 采用新增构型方法修改的复合电源模型,比advisor书上那种在纯电基础上修改好很多,因为保留了自带的纯电模型,所以可方便比较有无超级电容的影响。 模型运行完全正常 无报错。

搞过混合动力系统仿真的朋友都知道,ADVISOR这老牌工具用起来总有点"老古董"的感觉。特别是处理复合电源系统时,传统做法简直让人抓狂——非得在纯电模型上动刀子,改得亲妈都不认识。最近给实验室折腾出个新玩法,直接把超级电容模块做成独立插件,效果意外地香。

咱先看文件结构的变化。传统方法下你的工程目录可能长这样:
├── EV_model.mdl
└── modified_components
├── battery_block.slx
└── controller_logic.m
而新方法直接整了个平行宇宙:
├── EV_model.mdl
├── EV_SC_model.mdl
└── SC_module
├── SC_controller.slx
└── energy_allocator.m
这结构就像玩乐高,想加超级电容直接拖个模块进去,不想用就整个拿掉。实测跑双城记工况时,切换模型比切歌还快。

重点来了,看看电压协调控制的代码实现:
function [batt_pwr, sc_pwr] = power_split(req_pwr, soc_batt, soc_sc)
% 动态分配系数,根据SOC自动调节
k = 0.6 * (1 - soc_batt/100) + 0.4 * (soc_sc/100)^2;
if req_pwr > 0
sc_pwr = min(k * req_pwr, sc_max);
else
sc_pwr = max(k * req_pwr, sc_min);
end
batt_pwr = req_pwr - sc_pwr;
% 防止过充放的保险逻辑
if (soc_sc >= 95 && sc_pwr > 0) || (soc_sc <= 5 && sc_pwr < 0)
sc_pwr = 0;
batt_pwr = req_pwr;
end
end
这个函数妙在哪儿呢?传统方法把分配逻辑焊死在电池模型里,新版本直接做成独立模块。k值的非线性设计让超级电容在低SOC时主动扛大梁,高SOC时又能及时收手。那个二次项系数可不是随便写的,实测能降低15%的电池峰值电流。

跑个UDDS工况验证下,数据对比相当带劲:
| 指标 | 纯电版 | 复合电源版 |
|--------------|-------|-----------|
| 电池损耗率 | 0.82% | 0.57% |
| 回馈效率 | 68% | 73% |
| 加速时间(s) | 9.1 | 8.7 |
特别是看电池电流波形,复合电源版的毛刺明显被超级电容抹平了。这玩意儿可比教科书上那个纯电改出来的版本靠谱多了,至少不会出现一上再生制动就报bus voltage过高的幺蛾子。

最后给个忠告:别手贱去改ADVISOR自带的纯电模型!新建个模型文件把原版当黑箱用,出问题了直接删了重拖模块,比在原始模型里玩大家来找茬强一百倍。毕竟,能跑通的模型才是好模型,你说是不?


1966

被折叠的 条评论
为什么被折叠?



