VCU对于驱动控制,通常采用扭矩结构而不是功率结构和转速结构,这是由于驾驶员踩下加速踏板后,希望得到的是车辆的加速响应,而扭矩恰是与车辆加速度相对应的量纲。
从扭矩传递的路径分析,VCU的扭矩控制可以分为需求扭矩计算,扭矩限制,扭矩滤波,扭矩仲裁这几部分。
目录
在扭矩传输路径中,传感器采集的数据一般有档位、油门开度、当前的车速、以及刹车踏板的开度。
- 驾驶员的扭矩需求:VCU根据一些条件来判断,当前车辆是处于Pedal Map所需的扭矩,还是蠕行(Creep)亦或是巡航扭矩的需求,然后根据不同的扭矩需求,通过标定的扭矩图去Map相应的数值。
- 扭矩限制:这个所需的扭矩能不能被满足,还需要考虑到BMS刨除掉DCDC、PTC、压缩机以及中间辅助用件以外,可以提供给电机让它正常工作的能量,以及电机本身的外特性,故需要对扭矩进行一个限制,用来保护电机以及电池。
- 扭矩滤波:如果前一时刻的扭矩很大(500NM),后一时刻的扭矩(50NM),驾驶员会感受到一个很明显的不舒适感,特别在扭矩穿越0扭矩点的时候,所以为了让驾驶感比较柔和,需要对扭矩进行滤波;
- 扭矩仲裁(协调):如果某一时刻ESC或者ABS这些车辆保护ECU作用于整车时,需要将他们的发出的扭矩优先级提到最高,以避免发生譬如车辆侧翻等不安全情况。
1.驾驶员扭矩需求
进入驱动行驶模式之后,根据当前车速、加速踏板开度进行二维插值,计算出当前车速下驾驶员以加速踏板所表达出的需求扭矩。
-
D 档整车车速(插值x 轴):Cal_v_DrgDNml_X_VehSpd;
-
D 档加速踏板开度(插值y 轴):Cal__pct_DrgDNml_Y_AccPed;
-
D 档驾驶员需求扭矩(插值z 轴):Cal_tq_DrgDNml_Map;
-
R 档整车车速(插值x 轴):Cal_v_DrgRNml_X_VehSpd;
-
R 档加速踏板开度(插值y 轴):Cal_pct_DrgRNml_Y_AccPed;
-
R 档驾驶员需求扭矩(插值z 轴):Cal_tq_DrgRNml_Map;
2.电机允许峰值扭矩衰减
在 D 档驱动行驶模式下,当解析出驾驶员需求扭矩后,为保护电机,对电机允许的峰值扭矩进行衰减限制。具体策略为:
根据电机当前转速,通过查电机外特性曲线(Cal_n_MtrSpd , Cal_tq_MtrMaxCur),可以确定当前转速对应的峰值扭矩允许值 Tq_Peak, Tq_Peak*Cal_fac_TqCtnuMax 作为持续扭矩允许值 Tq_Ctnu。
当电机持续以接近峰值扭矩运行,即电机扭矩命令 > Cal_fac_TqOvr*Tq_Peak,开始计时;当电机扭矩命令低于持续扭矩允许值Tq_Ctnu 时,计时重置。
当计时达到 Cal_s_PeakTqCtnu 秒后,进入电机扭矩衰减模式,衰减系数以每秒变化1/Cal_s_TqMAPDamp 的速率,从 1 逐渐变化到Cal_fac_TqCtnuMax,然后持续 Cal_s_CtnuTqStay 后,开始恢复过程,衰减系数以每秒变化 1/Cal_s_TqMAPRcvr 的速率逐渐恢复至 1。期间,将驾驶员需求扭矩*衰减系数作为衰减后的需求扭矩输出。
此部分的建模和能量管理篇章中关于电池功率保护滤波模块类似。
3.扭矩限制
在行驶过程中下,电机扭矩输出需要小于当前计算出允许使用的充放电扭矩最大值 Tq_RgnRwrLmt 、Tq_DchrgPwrLmt。
1.放电限制
根据电机扭矩、转速、功率的关系,可以用MtrDchrg_PwrPmt(电机放电允许功率)和当前电机转速折算出当前允许电机用于驱动的扭矩;(T = 9550*P/N)。
参考电机发出的允许放电扭矩MCU_MtrDrvTqMax、电机外特性曲线,取最小即得到当前允许电机放电扭矩最小值Tq_DchrgPwrLmt。
4.扭矩滤波
为了避免 VCU 输出的扭矩出现较大波动,引发整车纵向不稳,需要对插值得到的扭矩进行滤波之后再输出,具体方法是:在上一个报文周期所发出的扭矩基础上,限制本周期发出扭矩命令与上一周期发出扭矩命令的差值。
具体限制的大小由线性插值得到:
驱动扭矩下降过程上一时刻扭矩命令(插值横轴):Cal_tq_DrgDwn_Y_TqFb;
驱动扭矩下降滤波(插值纵轴):Cal_tq_DrgDwnFlt1;
驱动扭矩上升过程上一时刻扭矩(插值横轴):Cal_tq_DrgUp_Y_TqFb;
驱动扭矩上升滤波(插值纵轴):Cal_tq_DrgUpFlt1。
这边采用一阶滤波的方案。通过两张Map图,得到合适的滤波系数,然后求得滤波后的扭矩。
5.扭矩仲裁
就是优先级,采用switch模块,类似之前能量管理中的那种模式进行建模。如果ESC作用了,那就输出ESC的扭矩。