电动汽车的车速信号是一个非常重要的信号,在VCU软件开发中,车速一般需要通过采集其他控制器车速或者通过电机转速间接计算出来,作为仪表显示车速、限速控制、剩余续驶里程计算等使用,因此,在VCU软件开发中,对于车速的计算是一个非常重要的问题。本文介绍电动汽车车速计算的算法及Simulink建模方法。
目录
一、车速的分类
1、仪表车速
1)根据轮速传感器计算,放大显示
2)根据VCU等控制器计算的值进行放大处理显示
2、导航车速
GPS导航模块与太空中的GPS或北斗卫星实时通讯来确定车辆的具体位置,然后根据车辆在某一段时间内通过的距离来计算车辆的车速
3、VCU车速
1)根据车速相关参数(输出轴转速、滚动半径、速比)计算
2)根据其他控制器或传感器计算通过CAN信号传输给VCU
4、实际车速
车辆单位时间内行驶的距离,轮毂欧哲V-BOX的测量值
车速的标定原则一般为
仪表车速≥导航车速≥VCU车速≥实际车速
二、VCU车速的计算
1、根据电机转速等相关参数计算
V=0.377*(n*r)/(ig*i0)
V为车速, 单位为:km/h 千米每小时
n为电机转速,单位为:rpm 转每分钟
r为轮胎滚动半径,单位为:m 米
ig为变速器传动比,单位为:常数
i0为主减速器传动比,单位为:常数
推导过程:
车型在确定轮胎、后桥、减速器后,车速与转速成正比关系
2、直接接收ABS等控制器计算的车速
三、VCU车速选择策略
选择哪个车速作为整车车速是一个问题。在车速选择处理上,一般选择以下策略
1、当ABS通讯正常且无故障时,采用ABS车速作为整车车速,如果ABS通讯丢失超时故障或ABS发生故障,接收不到ABS车速信号或ABS的车速信号为错误值,此时采用电机转速通过计算公式得来的车速
2、当电机无旋变故障时,采用电机转速,通过计算公式得出车速,如果电机出现旋变故障,输出的电机转速为错误值,此时采用ABS车速作为整车车速
3、当ABS和电机均有故障时,输出车速为0,此时VCU应将扭矩指令清零
四、车速计算及选择模块Simulink建模
1、选择ABS车速判断模块
1)输入信号
ABS_VehSpd:ABS计算车速
ABS_CANTimeOut_Flt:ABS通讯丢失超时故障
ABS_ABSFlt:ABS故障标志位
2)输出信号
VehSpd_kph:判定后最终输出的车速
3)判断逻辑
对接收的ABS通讯丢失故障及ABS故障进行或逻辑的判定,如果有一个或一个以上故障,判断输出为1,然后做非逻辑转换,当前边ABS判定结果为1时,输出0,即当前边ABS故障判定结果为0时,输出ABS计算车速作为判定后最终输出的车速
2、选择电机转速计算的车速判断模块
1)输入信号
MCU_MotoSpd:MCU反馈的电机转速
Veh_TirRollRad:车辆轮胎滚动半径
Veh_FnlDrivRat:车辆主减速器速比
Veh_TrnDrivRat:车辆传动系统速比
2)输出信号
MCU_DTCCode:MCU反馈的故障码
3)计算判断逻辑
a、根据上文推导的通过电机转速计算车速公式,首先将接收到的电机转速信号进行滤波处理,包括低通滤波和均值滤波。(关于滤波模块的具体设置方法及解释,在之前发布的《实例讲解Simulink模拟信号滤波处理、信号解析及仿真测试验证方法》有相关介绍,此处不再赘述),然后按照公式进行计算得到车速值
b、接收到MCU反馈的故障代码后,进行判断,如果故障代码为0x4即旋变故障,不等于0x4则为非旋变故障,对输出的判定结果进行延时判定滤波处理后输出故障判断结果,判定为无旋变故障输出1,否则输出0(关于延时判定模块的具体设置方法及解释,在之前发布的《实例讲解Simulink开关信号滤波处理、信号解析及仿真测试验证方法》有相关介绍,此处不再赘述)
c、如果判定为非旋变故障,则选择输出根据电机转速计算的车速输出,如果判定为旋变故障,则输出车速为0,此时车辆会根据故障清零扭矩指令,车辆此时会报故障码,并停车
3、整体车速计算及选择判定模块
判断逻辑
a、当ABS无故障且无通讯丢失时,选择ABS车速作为整车车速信号
b、当ABS故障或判定为ABS通讯丢失时,再进行MCU旋变故障判断,如果MCU无旋变故障,则输出根据电机转速计算的车速作为整车车速信号
c、当ABS有故障或通讯丢失,且MCU报旋变故障,此时车辆处于严重故障状态,此时VCU将扭矩指令清零,车速显示为0
五、总结
本文介绍了一种车速的分类、计算方式、车速选择策略及Simulink模型搭建方式。希望能给相关技术人员带来一定参考和帮助。