APP下载

CANoe/MATLAB联合仿真在纯电动汽车整车控制开发中的应用*

2015-01-07张炳力吴德新

汽车技术 2015年3期
关键词:报文踏板总线

张炳力 吴德新

(合肥工业大学)

CANoe/MATLAB联合仿真在纯电动汽车整车控制开发中的应用*

张炳力 吴德新

(合肥工业大学)

为搭建纯电动汽车整车控制器的总线仿真环境,利用CANoe/MATLAB接口模块将CANoe完善的总线仿真功能和MATLAB/Simulink的建模仿真功能结合起来,实现了整车控制单元模型、电机控制单元模型和电源管理控制单元模型在CANoe环境下的联合仿真。仿真结果表明,采用CANoe/MATLAB联合仿真可以对整车总线应用层协议和整车控制策略进行验证。

1 前言

CANoe是由德国Vector公司开发的系统级总线开发工具,具有网络监测与分析功能以及强大的系统仿真功能[1]。通常情况下,网络中各节点的控制算法和控制功能可以通过CANoe软件中提供的CAPL(CAN Area Program Language)语言实现,但由于CAPL语言描述能力有限,很难单独使用该语言对网络中控制算法和控制功能较为复杂的节点进行准确有效地描述。而MAT⁃LAB/Simulink具有很强的图形化建模能力,将MATLAB/ Simulink建模仿真环境嵌入到CANoe网络系统开发环境中,并结合CANoe的总线仿真功能,可为车用CAN网络应用层协议及各种电控单元节点的通信功能开发提供一个快速有效的平台[2]。

本文基于CANoe/MATLAB联合仿真工具,将在MATLAB/Simulink中建立的纯电动汽车整车控制单元、电机控制单元和电源管理系统等3个网络节点模型嵌入到CANoe中,测试整车网络系统,验证纯电动汽车整车控制单元的各项功能。

2 联合仿真模型建立

通过将CANoe/MATLAB接口模块导入MATLAB中,实现CANoe与MATLAB/Simulink的关联。在MAT⁃LAB/Simulink中,分别建立整车控制单元模型、电机控制单元模型和电源管理控制单元模型,作为CAN网络中的3个节点。将CANoe/MATLAB接口模块库中的Signal Input和Signal Output等模块替换原有Simulink中的输入和输出模块,并添加Simulation Step Offline模块。在这种离线模式下,在Simulink中进行仿真,利用CANoe-interface模块来读取和写入CANoe中的环境变量或信号,从而形成系统的输入和输出。

2.1 整车控制单元

整车控制单元模型分为车辆动力学模型和整车控制策略模型2部分。整车控制单元需要的输入信号包括开关量信号(如钥匙开关和挡位信号)、模拟量信号(如驾驶员加速踏板信号和制动踏板信号)和CAN信号(包括与电机控制器、电源管理系统通信的状态/控制指令信号)。经过车辆动力学模型和整车控制策略模型计算,得出电机控制和电源能量分配的输出量,通过CAN网络实现与电机控制单元和电源管理控制单元的信息传递。整车控制单元模型如图1所示。

整车控制单元CANoe/MATLAB联合仿真模型如图2所示,其中环境变量事件模块Environment Event用于接收总线上的车辆起动信号,该事件一旦触发,车辆随时进入到起步控制状态。Enviroment input模块用于实现驾驶员加速踏板信号、制动踏板信号及挡位信号的输入。Signal input模块和Signal output模块用于接收总线上相应的信号以及传输控制指令。

2.2 电机控制单元

电机控制单元接收来自总线上整车控制单元发出的转矩指令、转速指令及电机停止、正转和反转控制指令,根据车辆不同的行驶状态,采取不同的控制策略确定当前电机的实际工作状态,并以CAN报文的形式发送到总线上。电机控制单元CANoe/MAT⁃LAB联合仿真模型如图3所示。

2.3 电源管理控制单元

电源管理控制单元包括蓄电池、超级电容和双向DC/DC,其根据来自于总线上电机需求功率、蓄电池需求功率、超级电容需求功率以及电池最大充/放电限制的电流,计算出电源输出的电流、电压及荷电状态SOC,并将复合电源的蓄电池SOC和超级电容的SOC作为CAN信号发送到整车控制单元模型。电源管理控制单元联合仿真模型如图4所示。

纯电动汽车整车控制单元VCU、电机控制单元MCU和电源管理控制单元BMS构成完整系统进行CA⁃Noe/MATLAB联合仿真,其集成后的模型如图5所示。

3 CANoe/MATLAB总线系统联合仿真实现

3.1 构建CAN总线系统的仿真环境

利用CANoe构建总线系统仿真环境的步骤[3]如下。

a.利用CANdb++建立CAN总线系统的数据库。CANdb++是集成在CANoe中用于编辑总线系统数据库文件的工具,描述仿真对象总线的属性,包括节点、报文、信号和环境变量等,这些参数都是根据CAN总线通讯协议配置的。总线节点的报文和信号均是在传输层中定义,模型的传感器(如驾驶员加速踏板/制动踏板、挡位信号、钥匙信号)是在环境变量中定义。通过通讯矩阵可检测出概念定义的错误并及时改正,同时可帮助对网络进行优化。

b.建立总线系统仿真模型。将定义好的数据库文件导入CANoe的Simulink Step模块中,同时选择仿真节点,生成所需的系统仿真模型,实现数据库文件中各节点的属性与仿真模型的关联。在总线配置文件中设置Graphics窗口可以监视总线上信号的波形变化,设置Trace窗口监视各报文的发送、接收时间、报文值等,设置Data模块测试总线属性值。

c.利用面板编辑器(Panel Editor)创建仿真控制面板。建立的仿真控制面板如图6所示,仿真时通过控制面板可以完成仿真功能并通过虚拟仪表显示结果,实现人机交互功能。

d.利用CAPL语言对节点编程。CAPL语言类似于C语言的语法,利用它可对总线虚拟节点进行编程,实现节点的控制算法与控制功能。编写的程序是事件触发程序,包括事件触发、键盘触发、定时器触发和环境变量触发等。本文中各节点间的控制算法都是通过MATLAB/Simulink建模实现的,对于一些必要的底层触发还需要通过CAPL语言编写来实现。

3.2 构建基于CANoe/MATLAB联合仿真环境

构建基于CANoe/MATLAB的联合仿真环境操作[4]过程如下。

a.仿真模型模板的选择。考虑到目前多数纯电动汽车的通讯协议采用基于CAN2.0B的SAE J1939协议,因此在CAN系统配置中选取J1939 Template.tcn模板。在数据库的创建过程中,由于涉及到交互层(Interaction Layer)的数据传输,应选择Vector_IL_basic template.dbc模板。

b.仿真模式的选择。CANoe-MATLAB接口有2种使用模式[5],一种是离线模式,另一种是硬件在环回路模式。在离线模式下,仿真在simulink中进行,利用CA⁃Noe接口模块读、写CANoe中的环境变量或信号,从而形成系统的输入和输出。本文选择具有非实时性的离线仿真模式,在此模式下CANoe作为MATLAB/Simulink的附属模式启动。当开始运行Simulink模型时,CANoe自动打开总线监测,显示总线上各报文及信号值,仿真时间以MATLAB/Simulink为基准。

c.仿真节点的设置。在离线仿真模式下,将3个节点的MATLAB/Simulink仿真模型进行编译,将生成的.dll文件、.ini描述文件和.mdl模型文件加载到CANoe仿真环境中。为了执行涉及交互层的网络节点间的通信功能,在CANoe节点配置中需要将CANoeILNLVector.dll文件和相应的模型.dll文件加载到网络节点中,执行网络节点交互层的通讯功能,也可负责发送和接收节点的各项报文。

通过上述操作完成了联合仿真所需要的设置后,即可实现对MATLAB/Simulink仿真模型的各项参数及控制策略的验证,也可调试MATLAB/Simulink与CANoe间的通讯,包括共享节点之间的报文信号。

4 联合仿真结果分析

CANoe/MATLAB联合仿真需实现的目标如下:

a.由CANoe的控制面板输入驾驶员控制信号,通过仿真结果观察整车控制策略是否符合要求。

b.验证CANoe与MATLAB/simulink之间信息传输的准确性,即观察CANoe中的Graphics与simulink对应Scope图形的一致性。

c.观察CANoe中报文是否按设定周期完整发送和接收,以及设计的总线协议是否满足通讯要求。

4.1 基于MATLAB/Simulink仿真和分析

在MATLAB/Simulink模型中加入信号发生模型并设置模型参数,模拟加速踏板信号和制定踏板信号的输入,设置仿真时间为1 000 s,如图7所示。

MATLAB/simulink模型以加速踏板和制动踏板为输入,整车控制单元模型、电机控制单元模型和电源管理控制单元模型中的试验数据如图8所示。

由图8可看出,电-电混合纯电动汽车在起步加速时以大转矩起步,加速后转矩减小,转速不断增加,在这个阶段中蓄电池提供平均功率,蓄电池SOC平稳降低,超级电容提供峰值功率,因此超级电容SOC下降较快。当超级电容SOC小于0.5时,蓄电池给超级电容充电。在制动过程中,由于存在再生制动能量回收,此时需求转矩减小为负值,电机优先选择给超级电容充电,超级电容SOC迅速增加,当超级电容SOC达到0.95时,电机转向给蓄电池充电,由蓄电池回收制动能量。

4.2 基于CANoe/MATLAB仿真和分析

在CANoe的操作面板中,输入与Simulink中相同的加速踏板信号、制动踏板信号及挡位信号作为CANoe/ MATLAB联合仿真的输入信号。信号经过整车网络模型实现控制,通过Graphics窗口图形化显示总线上各报文帧数据的变化趋势,如图9所示。总线统计窗口Bus Sta⁃tistics显示总线负载率、峰值负载率、总线速率、数据帧数量、错误帧数量、CAN控制器状态等内容,如图10所示。

对比图8与图9可知,在MATLAB/Simulink的仿真环境下与在CANoe/MATLAB的联合仿真环境下得出的试验结果基本一致。

从图10可看出,总线负载率为20.83%,峰值负载率为20.83%,错误帧为0,均符合总线设计要求,表明所设计的总线协议能够完成各控制单元之间通讯的功能,达到纯电动汽车通讯系统数据传输的要求。

5 结束语

本文利用CANoe/MATLAB接口模块将CANoe完善的总线仿真功能和MATLAB/Simulink的建模仿真功能结合起来,实现了整车控制单元模型、电机控制单元模型和电源管理控制单元模型在CANoe环境下的联合仿真。仿真结果表明,采用CANoe/MATLAB联合仿真可以对整车总线应用层协议和整车控制策略进行验证,且联合仿真结果与MATLAB/Simulink仿真结果基本一致,总线运行状态良好,符合总线设计要求。

1 张建国,雷雨龙,刘洪波,等.CANoe-Matlab联合仿真在DCT总线控制中的应用.汽车技术,2010(9):7~10.

2 孙运玺.基于CAN总线纯电动车主控制器节点设计及协议实现:[硕士论文].长春:吉林大学,2010.

3 CANoe快速入门教程.北京:北京恒润科技.

4 侯清亮.电-电混合纯电动汽车整车控制器的研究:[学位论文].合肥:合肥工业大学.2012.

5 VECTOR Informatik.CANoe add on MATLAB Interface,Us⁃er Guide.Germany:Vector Informatik GmbH,2008.

(责任编辑文 楫)

修改稿收到日期为2014年12月20日。

Application of CANoe/MATLAB Co-simulation in Electric Vehicle Control Development

Zhang Bingli,Wu Dexin
(Hefei University of Technology)

To build the bus simulation environment for electric vehicles(EVs)controller,this paper presents a method which makes use of CANoe/MATLAB interface module to combine the well-established bus simulation function of CANoe with the modeling simulation function of MATLAB/Simulink to realize the co-simulation of vehicle control unit (VCU),motor control unit(MCU),and battery manage system(BMS)in CANoe environment.The research result indicates that CANoe/MATLAB co-simulation can verify the application layer protocol of vehicle bus and the vehicle control strategy.

Electric vehicle,Vehicle control,Co-simulation

纯电动汽车 整车控制 联合仿真

U469.72

A

1000-3703(2015)03-0052-04

安徽省科技攻关资助项目(12010202039);广东省教育部产学研结合资助项目(2012B091100310)。

猜你喜欢

报文踏板总线
基于J1939 协议多包报文的时序研究及应用
以太网QoS技术研究及实践
时间触发通信总线监控技术研究
关于CAN总线的地铁屏蔽门控制思路论述
浅谈汽车制动踏板的型面设计
浅析反驳类报文要点
浅谈制动踏板机构设计
基于CAN/LIN总线的LED车灯控制研究
论钢琴踏板的正确使用
1588v2中的PTP报文格式及应用