自学内容网 自学内容网

实例讲解使用Matlab_Simulink整车模型进行车速控制策略仿真测试验证方法

在进行VCU软件开发过程中,经常要设置一些扭矩控制相关的参数,一般可以通过经验先设置一版参数,然后通过与整车模型的联合仿真及实车标定优化相关参数,最终得到一版综合性能最优的参数作为最终程序定版参数。本文通过蠕行扭矩控制模块与整车模型联合仿真来说明仿真测试验证的方法。本文采用的模型是Matlab自带的整车模型,通过将自己设计的控制模型替换原模型中的控制模型,最终来验证自己设计的控制模型是否符合预期,如果不符合预期,可以调整参数进行再次测试。本文使用的是Matlab 2022b版本。

目录

一、新建整车模型

二、控制器模块控制模型替换设置

三、行驶工况的设置

四、观测模块的设置

五、仿真测试验证

六、总结


一、新建整车模型

1、在Matlab 2022b APP选项选择汽车-Virtual Vehicle Composer。(如果找不到该模块,可能是Matlab版本太低,Matlab2022a及以后的版本具备这个APP)

6f7a1c6d26944a619dd1bbdb13a82dd4.png

2、在打开的窗口中,选择New,新建一个整车模型

9f96768af8a54d94915128e06f35e8eb.png

3、在打开的整车模型界面,可以根据自己仿真的车辆模型类型进行相关参数选择

dcf5d1bc73fe4ce782c223a61f09126d.png

4、可以选择模型保存位置,设置模型名称,选择整车动力类型,此处我选择电动汽车,当然也可以选择不同形式的混动汽车,车辆动力学模型选择车辆纵向动力学-longitudinal vehicle dynamics,然后选择Create,创建模型

cd0d928317244ecba560bd165c2c290c.png

5、在创建的模型参数设置界面,可以根据自己所控制车辆的参数进行设置,如果无法得到全部参数,则根据要验证的功能,设置相关性较强的参数

dc4223c6356c4f249f8010b9abe6d3d0.png

6、我根据控制车辆的参数设置整车总质量为3495kg,迎风面积为3.5㎡

41acd7356cfc4e6b80ad430f4672e4dc.png

7、设置主减速器传动比为10.5

2cfd9da7d800414bad1d3b7f57fe2a3f.png

8、选择Scenario and Test 页面,可以根据需求选择循环工况添加

342f8c2656ec4937a8382f46a3c8c074.png

9、比如选择添加NEDC工况,并设置单位和仿真时间

0cd971edd7f248769cc7de1abdee8951.png

10、选择Logging页面,选择要输出记录的信号,比如选择电池功率BatPwr

29776fa2c47e40ceb6aadb5cf77326b1.png

11、设置完成后,点击主界面BULID Virtual Vehicle,生成虚拟整车模型

6a2a5823795e47ec80892d2dcb9334d1.png

9、等待生成完成,以下就是生成的整车Simulink模型,主要包括整车模型,驾驶员模型,行驶工况模型,环境模型,控制器模型以及观测模块

f20838d07e8c4db0aab458a2d223beec.png

二、控制器模块控制模型替换设置

1、双击控制器模型,进入控制器模块

0c52bf783a9340ea9d6b799236556340.png

2、双击VCU模型,进入VCU控制模块

422faaa787ba472d9bc01ec430ccc615.png

3、选择EV 1EM模型,双击进入电动汽车VCU控制模块

a9936c75daaa4f11a67eaba378bd2c73.png

4、选择Motor Torque Arbitration and Power Management,双击进入电机扭矩仲裁及能量管理模型

c0dd5900727d402e95fbc621792a2bb1.png

5、选择Power Management,双击进入能量管理模块

44b9348b3a85480798328ad9f7c09a33.png

6、选择Torque Limit,双击进入扭矩限制模块

704fe54203b249bca8c1da5e49591a98.png

7、可以看到原模型的扭矩限制模块模型

28e8ba94091d4adcbbd60a91f3b36d96.png

8、将自己搭建的蠕行车速控制模型复制进入该扭矩限制模块,其中车速可以通过接收的电机转速,结合轮胎滚动半径0.316m、主减速比10.5,转换单位为km/h得到车速;由于是验证蠕行车速控制,档位信号设置为1,即D挡。蠕行控制模型搭建详细介绍可以参考之前发布的《实例讲解电动汽车蠕行控制策略及Simulink建模方法》

d1e57089fd244b598e80cfb94bdc0b44.png

9、选择原控制模型,右键选择注释掉,将原控制逻辑隐藏掉,完成控制模型的替换

e03ffb3572eb437db543bbdbb17caa33.png

三、行驶工况的设置

1、选择Reference Generator模块,双击进入设置界面

cf4bab128e4b4ad89ed26180da5d8d7e.png

2、选择Sine with Dwell,可以生成车辆持续加速的工况,当然也可以通过自定义设置Drive Cycle设置需要验证的工况

db05809ed397405b8216d6b6216728cc.png

3、设置参考最大加速车速

610f966e07a64e4b9c5c6e0d96cfb811.png

4、打开变量编辑器

50853d7ecfd240ab99f61141d638f731.png

5、此处设置为120

cd1c75cb7f114bbdb962ce8dba85af8f.png

6、设置车速单位,此处选择千米每小时,即km/hr

687077bf63384740a361728d09b63db5.png

7、主菜单选择建模-模型设置,设置仿真时间为60s

94faef42903e4da38850bcdf77e6da67.png

四、观测模块的设置

1、在主界面选择Visualization观测模块,双击进入

eb5409a3dd3d4d0d9839bbcba1d2979b.png

2、选择DataLogging,双击进入数据记录模块

37aa0a1234204dcbae4180f55614da31.png

3、模块中输出变量即在整车模型设置时Logging页面选择的信号,将xdot车速信号、EMSped电机转速信号及EMTrq电机扭矩信号引出作为示波器显示信号

ce5e98a5bf3d4c2e83200a446f11e65d.png

4、其中车速输出信号初始单位为m/s,通过添加Unit Conversion模块及Signal Specification模块,将单位转换为km/h

957ed0e220654f259bc3925c3880d6a0.png

五、仿真测试验证

1、选择主菜单仿真-运行,运行整个模型

e7da193ae72a4aac8d00b5dd15047c38.png

2、仿真正常运行中,可以通过弹出的Vehicle Position窗口观察车辆行驶车速

cb9e651e9edb4a0f8f6e09fe71ec9917.png

3、仿真运行完成后,打开DataLogging模块,双击Scope,查看仿真结果

e54fc759a8564451811a4371c60a2a27.png

4、仿真结果显示,车速从0逐渐平稳上升,最终稳定在5-6km/h,符合蠕行控制策略车速设定预期,输出扭矩从0开始逐渐增大,最大值不超过40Nm,然后逐渐下降最终保持稳定,符合设定的扭矩控制策略。当然如果加速度或者最终稳定车速如果不满足要求,可以通过修改控制策略参数进行再次仿真测试,从而得到更好的控制模型参数。仿真结果可以一定程度代表控制策略的效果,但是由于仿真模型有很多参数与实车有差异,最终还是要在实车上进行测试,如果不符合预期,需要在实车上进行标定优化。

60b82d3043db4e67a7da3cb1f8947dd4.png

六、总结

本文通过Matlab自有整车模型的创建、参数设置及蠕行控制策略仿真策略验证,介绍了一种利用Matlab自有整车模型对自己所创建的扭矩控制策略进行仿真测试验证的方法。本文中只是进行了关键参数的设置,如果要进行更加精准的仿真策略,可以对相关整车参数、环境参数、驾驶员模型等参数,对电机扭矩转速效率MAP、电池参数、BMS系统等进行更加详细的设置。希望通过本文的介绍能给相关技术人员带来一些参考和帮助。

 


原文地址:https://blog.csdn.net/qq_43011586/article/details/142320349

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!