APP下载

基于Simulink的整车控制器软件系统开发

2021-06-29陈经纬孙庆乐

车辆与动力技术 2021年2期
关键词:车速整车代码

陈经纬, 李 霞, 孙庆乐

(1.中车唐山机车车辆有限公司,唐山 060040;2.北京理工大学 机械与车辆学院,北京 100081)

随着节能环保理念受到越来越广泛的重视,电动汽车由于噪声小、零排放等优点得到了快速的发展[1-2].电动汽车产业的快速发展对电控系统提出了更高的要求,整车控制器(VCU)作为电控系统的核心,负责根据驾驶员操作指令及车辆实时状态,完成车辆的运动控制、能量管理及故障处理等功能[3-5].然而,传统手写代码的控制系统开发方式由于研发周期长、调试难度大、可靠性差及成本高等缺点已无法满足现代电控系统的开发需求[6-7].

文中针对传统开发方式存在的缺点,采用英飞凌XC2267M单片机研发了一种基于模型的软件开发方式,完成了整车控制器系统的硬件设计,基于Simulink软件及整车控制策略搭建了整车控制模型,实现了代码的自动生成.最后,将生成的代码下载至整车控制器并进行了实车测试,测试结果验证了代码的有效性.

1 整车控制系统概述

电动汽车整车控制系统框图如图1所示.在车辆运行过程中,VCU实时采集驾驶员操作指令及车辆状态,根据既定的控制程序对输入信息进行判断处理,并利用I/O及CAN通讯输出相应指令实现对电池管理系统BMS、电机控制系统MCU及电附件的控制管理,从而完成对车辆的运动控制、能量管理及故障处理等功能.

图1 整车控制系统

2 基于需求的VCU硬件设计

整车控制器硬件基于英飞凌XC2267M处理器,该处理器时钟频率可达80 MHz,具有丰富的可复用管脚.处理器芯片已集成GPIO、CAN、I2C、ADC及PWM等功能,可通过灵活的软件管脚配置及外围电路设计实现丰富的I/O及通讯功能.

外围电路的设计是由VCU功能需求决定的.由图1可知,VCU以驾驶员油门、刹车、档位及空调等附件的信号为输入,以MCU、BMS及DCDC等附件的继电器开关信号为输出,同时需要通过CAN通讯实现与各设备的控制传输与信息交互.基于此,文中完成了对VCU的硬件设计,所设计的硬件资源为:16路高有效数字量输入DI、15路低有效DI、6路ADC、5路捕获/比较CAPCOM、10路低边驱动LD、4路高边驱动HD、3路CAN通讯,同时,控制器具备EEPROM、睡眠唤醒及BootLoader功能.其硬件平台如图2所示.

图2 整车控制器硬件平台

3 基于模型的VCU软件开发

传统的整车控制策略软件开发流程分为需求、设计、实现、测试4个阶段.采用传统的开发流程,各个环节之间相互孤立,后期设计与前期需求容易存在偏差,并且采用手工编程的方法,对设计人员的编程能力要求较高,编程难度大.同时,只能完成原型样机之后才能对软件进行测试,开发流程效率低下.

采用基于Simulink的VCU软件开发,可以实现控制策略C代码的自动生成,降低对研发工程师编程能力的要求,可以使工程师将主要精力集中在算法上.借助Simulink仿真工具箱,可以在软件开发阶段基于试验工况设计仿真测试用例,实现控制策略和测试工况的无缝连接,实时进行控制策略测试验证,从而减少后续实车测试过程中的软件缺陷,提高样车实验的安全性,减少试验测试成本.

基于Simulink的VCU软件开发流程如图3所示.在开发过程中,研发工程师可以将主要精力集中在Simulink整车控制模型及算法方面,并且可以通过灵活的MIL,初步验证模型及算法的正确性.整车控制模型开发完成后,可以利用Simulink中的实时工作站RTW并结合目标文件,通过目标语言编译器TLC生成所需的C代码文件,从而完成了C代码的自动生成.随后,研发工程师可以对所生成的C代码进行SIL测试或下载至VCU进行进一步测试.

图3 基于模型的VCU软件开发流程

由以上分析可知,实现C代码的自动生成关键在于针对相应的处理器进行底层驱动模块的设计.Matlab提供了设计开发Simulink模块的方法,可以通过编写C-Mex S函数自定义Simulink模块,并可以通过masking定制用户界面.在完成Simulink模块的设计之后,为实现底层驱动软件代码的生成,还需要针对底层驱动设计相应的TLC文件.TLC文件分为系统TLC文件和模块TLC文件.模块TCL文件可以将Simulink模块转变成相应的C代码语句,系统TLC文件可以根据Simulink的软件架构,将各个模块生成的代码合理有效的集成在工程文件中.

文中针对XC2267M处理器,利用DAvE软件开发了该处理器各功能下的底层驱动软件代码,在此基础上设计开发了相应的C-MEX S函数及系统TLC文件与模块TLC文件.所开发的Simulink图形化交互模块如图4所示.

图4 Simulink图形化模块

4 整车控制模型开发

整车控制模型作为研发的核心,其通常以整车控制策略为指导,控制模型主要包括整车模式管理、上下电控制、运动控制、电附件管理及故障处理等子模型.

4.1 整车模式管理

整车模式分为充电模式、行车模式和故障模式3种,如图5所示.行车模式与充电模式在软件上实现互锁,行车模式下,插入充电枪会自动退出行车模式,充电枪未拔出前车辆不能进入行车模式.

图5 整车模式管理

4.2 整车上下电控制

整车上下电控制根据驾驶员钥匙开关动作及车辆的故障状态,按照既定的上下电控制逻辑,实时控制车辆BMS、MCU及电附件高低压电源的通断,整车上下电控制逻辑分别如图6和图7所示.

图6 整车上电控制逻辑

图7 整车下电控制逻辑

4.3 车辆运动控制

车辆运动控制主要包括车辆挡位的判断、车速的计算及相应挡位电机控制指令的输出.

4.3.1 车辆挡位判断

挡位的判断主要是对D挡、R挡及N挡之间的切换进行判断,换挡逻辑及Stateflow程序框图分别如图8和图9所示.

图8 换挡逻辑

图9 Stateflow换挡流程图

4.3.2 车速计算

由于车辆ABS系统未向VCU发送车辆车速信息,因此,VCU采用如下近似公式来计算车速:

式中:n为电机转速;r为轮胎滚动半径;i为电机至车轮的传动比.

4.3.3 电机控制指令计算

电机采用转矩控制模式,VCU根据驾驶员油门踏板、制动踏板及当前车速与挡位信息实时计算电机需求转矩,如图10所示.同时,需求转矩还受到电池最大充放电功率等的制约,如图11所示.

图10 需求转矩计算

图11 转矩制约计算

4.4 整车故障管理

故障模式分为3种,一级故障限制电机峰值功率50%输出;二级故障处理限制电机峰值功率50%输出,最高车速减半;三级故障最严重,VCU停止MCU及BMS的使能并立即进入下电流程,其中,车辆三级故障如表1所示.

表1 车辆故障

5 试验验证

为验证代码的有效性,利用开发工具软件Tasking,将Simulink自动生成的C代码下载至VCU,并在实车上进行了试验验证.试验车辆为改装后的北汽ev160纯电动汽车,在原车基础上,将集中电机驱动改为了四轮轮毂电机驱动,提高了车辆的控制精度.

试验条件设置如下:首先将车辆连续加速至60 km/h,随后车辆进行滑行减速,如此重复两次;而后同样将车辆连续加速至60 km/h,但对车辆进行刹车制动减速,亦重复两次.所得到的车速及母线电流曲线如图12和图13所示.

图12 车速曲线

图13 母线电流曲线

由图12可知,车辆能够按照驾驶员意图在一定的时间内加速至给定的车速(60 km/h),并且车辆可以通过滑行实现车速的缓慢下降或通过刹车制动实现车速的迅速下降.

由图13可知,在加速工况下母线电流能够迅速增加,以满足车辆的加速需求.在减速工况下,当车速大于20 km/h时,母线电流为负值,这说明车辆能够实现滑行或制动能量回收.

6 结 论

文中针对传统电控系统开发方式存在的周期长、成本高、难度大等问题,采用英飞凌XC2267M单片机研发了一种基于模型的软件开发方式,完成了整车控制器的硬件系统设计,基于Simulink软件及整车控制策略搭建了整车控制模型,实现了代码的自动生成.最后,将生成的代码下载至整车控制器并进行了实车测试,测试结果验证了代码的有效性.

猜你喜欢

车速整车代码
基于六自由度解耦分析的整车悬置设计
创世代码
创世代码
创世代码
创世代码
轮速信号在定速巡航控制中的应用
2012款奔驰R300车修改最高车速限制
跑跑卡丁车
北京现代途胜车车速表不工作
整车低频加速噪声研究及改进