并联混合动力系统Simulink控制策略模型探索
并联混合动力系统控制策略,混合动力系统simulink控制策略模型,并联式混合动力系统simulink控制策略模型 1. 工况可自行添加 2. 仿真图像包括 发动机转矩变化图像、电机转矩变化图像、电池SOC变化图像、速度跟随图像、车速变化图像3z5 3. 整车similink模型中包含工况输入模型、驾驶员模型、发动机模型、电机模型、制动能量回收模型、转矩分配模型、运行模式切换模型、档位切换模型纵向动力学模型。

在当今汽车技术领域,混合动力系统凭借其出色的燃油经济性和较低的排放,成为研究热点。其中,并联混合动力系统以其独特的结构和工作方式,备受关注。今天咱们就来深入探讨下并联混合动力系统的Simulink控制策略模型。
工况选择
工况在混合动力系统仿真中起着关键作用,它模拟车辆实际行驶的各种情况。我这里选择城市循环工况(如FTP - 75工况)来进行仿真。这个工况包含了频繁的加速、减速、怠速等情况,很能体现混合动力系统在城市复杂路况下的性能。在Simulink中,可以通过创建自定义的工况输入模型来实现。例如,我们可以用一个S函数来编写工况数据的读取和输出逻辑:
function [sys,x0,str,ts] = fcn(t,x,u,flag)
switch flag,
case 0,
[sys,x0,str,ts]=mdlInitializeSizes;
case 2,
sys=mdlUpdates(t,x,u);
case 3,
sys=mdlOutputs(t,x,u);
case {1,4,9}
sys = [];
otherwise
error(['Unhandled flag = ',num2str(flag)]);
end
function [sys,x0,str,ts]=mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates = 0;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 1; % 这里输出车速数据
sizes.NumInputs = 0;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
x0 = [];
str = [];
ts = [0.1 0]; % 采样时间0.1s
function sys=mdlUpdates(t,x,u)
sys = [];
function sys=mdlOutputs(t,x,u)
% 假设这里从一个数据文件读取车速数据
speed_data = load('FTP_75_speed_data.txt');
index = floor(t/0.1)+1; % 根据时间索引数据
if index <= length(speed_data)
sys(1) = speed_data(index);
else
sys(1) = speed_data(end);
end
这个S函数会按照设定的采样时间从数据文件中读取对应的车速数据,作为工况输入给到后续模型。
整车Simulink模型搭建
- 驾驶员模型:根据工况输入的车速,驾驶员模型会输出期望的转矩。可以简单理解为,当车速低于期望车速时,输出正转矩加速;高于期望车速时,输出负转矩减速。
function torque = driver_model(desired_speed, current_speed)
if desired_speed > current_speed
torque = Kp * (desired_speed - current_speed); % Kp是比例系数,可调整
else
torque = -Kd * (current_speed - desired_speed); % Kd是另一个比例系数
end
- 发动机模型:发动机模型接收转矩需求,输出实际的发动机转矩和转速。发动机的输出特性通常是非线性的,我们可以用查找表来模拟:
function [engine_torque, engine_speed] = engine_model(demand_torque, engine_speed_prev)
% 假设已经有预先测量好的发动机转矩 - 转速查找表数据
load('engine_map.mat');
engine_speed = engine_speed_prev + (demand_torque / engine_inertia); % 简单的动力学计算
engine_torque = interp2(engine_speed_table, torque_demand_table, engine_map, engine_speed, demand_torque);
- 电机模型:与发动机模型类似,电机模型根据需求转矩输出实际电机转矩。电机响应速度快,在加速和制动能量回收时发挥重要作用。
function motor_torque = motor_model(demand_torque)
% 考虑电机效率等因素
if demand_torque > 0
motor_torque = demand_torque * motor_efficiency;
else
motor_torque = demand_torque / motor_efficiency; % 发电时效率不同
end
- 制动能量回收模型:当车辆减速时,电机进入发电状态回收能量。制动能量回收模型根据当前车速和制动需求,计算可回收的能量。
function [regen_energy, motor_brake_torque] = regen_brake_model(current_speed, brake_demand)
% 假设制动能量回收与车速平方成正比
regen_energy = Kregen * current_speed^2 * brake_demand;
motor_brake_torque = -regen_energy / current_speed; % 根据能量和速度计算制动转矩
- 转矩分配模型:转矩分配模型是并联混合动力系统的核心之一,它根据当前工况、电池SOC等因素,合理分配发动机和电机的转矩。比如在低负载时优先使用电机驱动,高负载时发动机和电机共同工作。
function [engine_torque_allocated, motor_torque_allocated] = torque_allocation(demand_torque, SOC)
if SOC > SOC_threshold_low && demand_torque < low_load_threshold
motor_torque_allocated = demand_torque;
engine_torque_allocated = 0;
elseif demand_torque > high_load_threshold
motor_torque_allocated = max_motor_torque;
engine_torque_allocated = demand_torque - max_motor_torque;
else
motor_torque_allocated = demand_torque * motor_share;
engine_torque_allocated = demand_torque * engine_share;
end
- 运行模式切换模型:基于转矩分配和其他条件,运行模式切换模型决定车辆是纯电模式、纯发动机模式还是混合动力模式。
function mode = mode_switching(engine_torque_allocated, motor_torque_allocated)
if engine_torque_allocated == 0 && motor_torque_allocated > 0
mode = 'EV';
elseif motor_torque_allocated == 0 && engine_torque_allocated > 0
mode = 'ICE';
else
mode = 'HEV';
end
- 档位切换模型:档位切换模型根据车速和发动机转速等信息,决定是否需要切换档位,以优化发动机工作点。
function new_gear = gear_shift(current_gear, engine_speed, vehicle_speed)
% 假设这里有档位切换的转速和车速阈值
if engine_speed > upshift_speed_threshold(current_gear) && vehicle_speed > upshift_vehicle_speed_threshold(current_gear)
new_gear = current_gear + 1;
elseif engine_speed < downshift_speed_threshold(current_gear) && vehicle_speed < downshift_vehicle_speed_threshold(current_gear)
new_gear = current_gear - 1;
else
new_gear = current_gear;
end
- 纵向动力学模型:纵向动力学模型整合发动机转矩、电机转矩、制动转矩等,计算车辆的加速度和车速变化。
function [acceleration, new_speed] = longitudinal_dynamics(engine_torque, motor_torque, brake_torque, current_speed)
total_torque = engine_torque + motor_torque + brake_torque;
acceleration = total_torque / vehicle_mass;
new_speed = current_speed + acceleration * dt; % dt是时间步长
仿真图像分析
- 发动机转矩变化图像:从仿真结果的发动机转矩变化图像中可以看到,在加速初期,由于需求转矩较大,发动机转矩迅速上升。当车辆进入巡航阶段,发动机转矩维持在一个较低且稳定的值以维持车速。在减速阶段,发动机转矩降为0。
- 电机转矩变化图像:在启动和加速的低负载阶段,电机提供主要转矩,图像上表现为电机转矩迅速上升。在制动时,电机转矩为负值,表明进入发电状态回收能量。
- 电池SOC变化图像:在纯电驱动阶段和制动能量回收阶段,电池SOC上升。而在混合动力或纯发动机驱动且电池为电机提供能量辅助时,SOC下降。正常行驶过程中,SOC会在一个合理范围内波动。
- 速度跟随图像:速度跟随图像展示了实际车速对工况输入车速的跟随情况。理想情况下,两条曲线应紧密贴合,表明车辆能够很好地响应工况需求。如果出现偏差,可能是控制策略或模型参数需要调整。
- 车速变化图像:车速变化图像直观地呈现了车辆在整个工况循环中的速度变化过程,与我们设定的工况输入车速变化趋势一致,反映了车辆在不同阶段的行驶状态。
通过搭建并联混合动力系统的Simulink控制策略模型,并对各部分进行深入分析和仿真,我们能够更好地理解混合动力系统的工作原理,为进一步优化控制策略、提高车辆性能提供有力支持。希望这篇博文能给大家在混合动力系统研究方面带来一些启发。

并联混合动力系统控制策略,混合动力系统simulink控制策略模型,并联式混合动力系统simulink控制策略模型 1. 工况可自行添加 2. 仿真图像包括 发动机转矩变化图像、电机转矩变化图像、电池SOC变化图像、速度跟随图像、车速变化图像3z5 3. 整车similink模型中包含工况输入模型、驾驶员模型、发动机模型、电机模型、制动能量回收模型、转矩分配模型、运行模式切换模型、档位切换模型纵向动力学模型。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)