一天,小白看见某款纯电动汽车的宣传海报,“续驶里程”600+。续驶里程?嘶——小白和小何学长在学校的时候做过一个项目就是相关工况下新能源汽车续驶里程的估计,当时为了配置软件吃了不少苦头,反复试验下才获得成功。而如今新能源汽车发展十分迅猛,其续驶里程又是人们关注的重点。那纯电动汽车的续驶里程、功耗又是怎么计算出来的呢?AVL CRUISE软件可以很好的解决这一问题,但纯电动汽车的控制策略较为复杂,为更好地模拟仿真车辆的实际情况,可使用MATLAB与AVL CRUISE进行联合仿真车辆的动力性与经济性。
新能源汽车的续驶里程仿真如今已经有很多论文可以参考、学习,小白就不献丑啦。接下来小白主要就AVL CRUISE与Simulink联合仿真的相关配置问题和大家分享分享!
先附上一张AVL官方配置文档中的相关说明:
其中官方指出dll文件具有以下优点:1.适用于控制策略已经完善,主要关注整车动力经济性能的工程师使用;2.生成的DLL文件不再能够查看Simulink模型内部逻辑,对于模型有很好的保密作用; 3.一旦生成DLL文件后,可脱离MATLAB软件被任何一台安装CRUISE软件的电脑使用; 4.计算速度快,可以媲美CRUISE单独计算速度
基于以上优点我们在做Simulink与AVL CRUISE的联合仿真中往往以dll文件的形式进行相关开发
首先,需要在MATLAB中准备好MATLAB support for mingw-w64c/c++compiler模块和silumlinkcoder 模块,没有的小伙伴可以在MATLAB首页中的附加功能板块搜索并添加哦!当然在做这些之前你需要准备一个Simulink程序哟!特别要留意该程序里的Inport和Outport!
其次,就是生成dll文件:
第一步、设置MATLAB编译器
在 MATLAB 命令窗口输入“mex -setup”,注意,mex 与-setup 之间有空格!
然后选择mex -setup c++(鼠标选中即可!)
至此编译器配置完毕;
第二步、将Simulink程序生成dll文件
找到自己的程序路径,并在Simulink中打开你的程序,接着对模型设计做一些更改
将停止时间改为inf(不限制停止时间,无限时长),求解器改为ode4,固定步长0.01(这个与AVL CRUISE的仿真步长有关,需小于AVL CRUISE的仿真步长,AVL CRUISE仿真步长默认为0.01),
接着需要在代码生成中做一些更改
目标文件需要选择avl_grt.tlc.
点击“确定”即可!
最后点击build(快捷按钮为ctal+b)开始编译!
即可在程序的保存目录或者MATLAB文件展示栏看到该模型的dll文件!
有没有小伙伴好奇这一块为什么要这么设置呢?
这里的设置和Simulink的代码生成有关,有兴趣的小伙伴可以在b站上或者其他地方做相关了解,当然也可以联系作者!
最后,将dll文件导入到AVL CRUISE中,完成联合仿真!
先要将dll文件导入到AVL CRUISE中的MATLAB dll模块中,然后紧接着就需要添加模型中的Inport和Outport
定义好后就需要在AVL CRUISE中对以上入口进行信号链接,链接好后,联合仿真就完成啦!
(小白水平有限,不足之处希望大家多多指正)