一、混合动力系统架构设计
1. 典型架构选择
架构类型
特点
适用场景
Simulink实现要点
P2并联
电机位于发动机与变速箱之间,支持纯电/混动模式切换
城市通勤+高速工况
需构建离合器控制模块和转矩分配逻辑
串联增程
发动机仅发电,电机独立驱动
长途续航需求
需集成APU发电模型和SOC维持策略
混联式
功率分流+机械耦合
全工况优化
需设计行星齿轮动力学模型
参考代码 Simulink中的混合动力汽车模型 www.youwenfan.com/contentcsl/78760.html
2. 系统级架构图
二、核心子系统建模
1. 动力系统建模
matlab
复制代码
%% 发动机模型(Simscape实现)
model EngineModel
parameters
P_max = 80e3; % 最大功率(W)
torque_map = readtable('engine_map.csv'); % 扭矩-转速特性表
end
inputs
Throttle; % 节气门开度(0-1)
Speed; % 发动机转速(rpm)
end
outputs
Torque; % 输出扭矩(Nm)
FuelFlow; % 燃油消耗率(g/s)
equations
Torque = interp1(torque_map.Speed, torque_map.Torque, Speed) * Throttle;
FuelFlow = 0.0001 * Torque^2 * Speed / 60; % 简化燃油模型
end
end
2. 电机驱动系统
matlab
复制代码
%% 永磁同步电机模型
model PMSM_Driver
parameters
R_s = 0.01; % 定子电阻(Ω)
L_d = 0.001; % d轴电感(H)
L_q = 0.0012; % q轴电感(H)
pole_pairs = 4; % 极对数
end
inputs
I_d; % d轴电流(A)
I_q; % q轴电流(A)
Speed; % 转速(rpm)
outputs
Torque; % 输出扭矩(Nm)
Speed; % 实际转速(rpm)
equations
Idq = [I_d; I_q];
Torque = 1.5 * pole_pairs * (L_d - L_q) * Idq(1)*Idq(2);
dSpeed = (Torque - 0.01*Speed)/J; % J为转动惯量
end
end
3. 电池管理系统
matlab
复制代码
%% 锂电池SOC估算模型
model Battery_SOC
parameters
Q_nom = 60; % 标称容量(Ah)
V_nom = 400; % 标称电压(V)
R_0 = 0.005; % 内阻(Ω)
end
inputs
I_bat; % 电池电流(A)
SOC_in; % 输入SOC(%)
outputs
SOC_out; % 输出SOC(%)
V_bat; % 端电压(V)
equations
delta_SOC = -I_bat * dt / (Q_nom * 3600);
SOC_out = SOC_in + delta_SOC;
V_bat = V_nom - I_bat*R_0 - 0.001*(SOC_out/100)^2; // 二次压降模型
end
end
三、控制实现
1. 能量管理
matlab
复制代码
%% 基于SOC的规则控制
function [P_eng, P_mot] = energy_management(SOC, P_req)
persistent SOC_low SOC_high
if isempty(SOC_low), SOC_low=0.3; SOC_high=0.8; end
if SOC < SOC_low
P_eng = P_req * 1.2; % 强制发动机高负荷充电
P_mot = 0;
elseif SOC > SOC_high
P_eng = 0;
P_mot = P_req;
else
P_eng = 0.5*P_req;
P_mot = 0.5*P_req;
end
end
2. 模式切换逻辑(Stateflow实现)
matlab
复制代码
%% 状态转移图设计
states = {'EV_Mode', 'Hybrid_Mode', 'Engine_Mode'};
transitions = {
{'EV_Mode', 'Hybrid_Mode', 'SOC < 0.3'},
{'Hybrid_Mode', 'EV_Mode', 'SOC > 0.7'},
{'Hybrid_Mode', 'Engine_Mode', 'P_req > P_eng_max'}
};
四、整车动力学模型
matlab
复制代码
%% 纵向动力学模型
model Vehicle_Dynamics
parameters
m = 1500; % 整车质量(kg)
f_r = 0.015; % 滚动阻力系数
C_d = 0.3; % 风阻系数
A = 2.2; % 迎风面积(m²)
end
inputs
F_trac; % 驱动力(N)
F_brake; % 制动力(N)
outputs
v; % 车速(m/s)
SOC; % 电池SOC(%)
equations
a = (F_trac - F_brake - 0.5*C_d*A*v^2 - f_r*m*g)/m;
dv = a*dt;
v = v + dv;
end
end
五、典型仿真工况实现
1. NEDC工况生成
matlab
复制代码
function v_target = generate_NEDC()
t = 0:0.1:1800; % 1800秒仿真
v_target = zeros(size(t));
% 按NEDC标准曲线分段赋值
% ...(具体数值填充)
end
2. 驾驶员模型(PID控制)
matlab
复制代码
%% PID跟车控制
Kp = 1.2; Ki = 0.4; Kd = 0.1;
err = v_target - v_actual;
integral = integral + err*dt;
derivative = (err - prev_err)/dt;
P = Kp*err;
I = Ki*integral;
D = Kd*derivative;
u = P + I + D; % 控制踏板开度
六、多模式仿真结果分析
模式
发动机状态
电机状态
典型工况
纯电模式
关闭
驱动
低速/启停
混动模式
部分负载
辅助驱动
中速加速
充电模式
高负载
制动回收
下坡/减速
发动机直驱
全负载
关闭
高速巡航
七、模型优化策略
参数标定 :通过台架试验数据拟合电机效率Map和发动机BSFC曲线
实时性优化 :采用Simscape Fixed-Step求解器,步长设为1ms
硬件在环 :通过Simulink Coder生成C代码部署到dSPACE硬件