并联式混合动力系统simulink控制策略模型 ①(工况可自行添加); ②仿真图像包括 发动机转矩变化图像、电机转矩变化图像、电池SOC变化图像、速度跟随图像、车速变化图像; ③整车similink模型中包含工况输入模型、驾驶员模型、发动机模型、电机模型、制动能量回收模型、转矩分配模型、运行模式切换模型、档位切换模型纵向动力学模型.
三伏天的午后,实验室空调外机嗡嗡作响。我盯着屏幕上跳动的仿真曲线,手里冰美式的冰块已经化了一半——这个并联混动模型总算是跑通了。今天咱们就拆开这个会呼吸的模型,看看里面的机械心脏是怎么跳动的。
先甩张模型总架构图(此处假装有配图)。整个系统就像个交响乐团,工况输入是乐谱,驾驶员模型是指挥,各个执行器是乐手。重点说几个有意思的模块:
转矩分配模块用了贪吃蛇策略,写了个动态权重函数:
function [eng_trq, motor_trq] = torque_split(req_trq, soc) if soc > 0.7 eng_ratio = 0.3 * (1 - exp(-0.5*req_trq)); else eng_ratio = 0.6 + 0.4*(soc/0.7); end eng_trq = min(req_trq * eng_ratio, eng_max); motor_trq = req_trq - eng_trq; end这坨代码其实是个变色龙,SOC高的时候让电机多出力,电量吃紧时发动机就得扛大梁。注意那个指数函数,专门用来处理大扭矩请求时的平滑过渡,比直接线性分配少了顿挫感。
并联式混合动力系统simulink控制策略模型 ①(工况可自行添加); ②仿真图像包括 发动机转矩变化图像、电机转矩变化图像、电池SOC变化图像、速度跟随图像、车速变化图像; ③整车similink模型中包含工况输入模型、驾驶员模型、发动机模型、电机模型、制动能量回收模型、转矩分配模型、运行模式切换模型、档位切换模型纵向动力学模型.
模式切换模块用Stateflow做了个状态机,切换逻辑比女朋友变脸还快。举个栗子,当油门开度突然超过60%且SOC>0.5,啪一下就切到Sport模式:
transition([Cruise], [Sport], ... @(throttle,soc) throttle>60 && soc>0.5)实际调试时发现模式跳变会引起扭矩突变,后来在输出端加了惯性环节,像给切换动作包了层海绵。
重点看这张仿真结果(此处应有车速跟踪图)。市区工况下电机疯狂输出,发动机摸鱼划水;上了高速发动机开始唱主角,电机进入待机充电模式。注意看这个扭矩接力过程——发动机扭矩爬坡时,电机扭矩刚好在下坡,俩扭矩曲线的交汇点比德芙还丝滑。
电池SOC曲线藏着个彩蛋:减速时SOC突然抬头,那是制动回收模块在薅羊毛。核心代码用了反向扭矩限制:
regen_trq = min(batt_max_charge, 0.5*brake_pedal*vehicle_speed);千万别让回收扭矩超过电池最大充电功率,否则就像往矿泉水瓶猛灌开水——会炸的。
最后吐个槽,调试纵向动力学模型时,那个轮胎滑移率差点让我头秃。后来发现用查表法比实时计算省事儿,毕竟不是搞学术论文,工程实现嘛,能跑起来的就是好代码。下次试试把驾驶员模型换成强化学习算法,说不定能让仿真曲线跳出更骚气的舞步。