基于模型的整车策略开发思路、整车模型搭建流程,增程式混合动力汽车建模仿真模型,增程纯电,类似Nisson的e-power整车配置策略 具体内容包括:增程器模型、电机模型、电池模型,驾驶员模型,整车VCU控制模型等 含工况数据、仿真数据,发动机,电机等整车数据,纯电模式到增程模式切换,电量维持规则,阈值参数设定。
在汽车行业向新能源转型的浪潮中,增程式混合动力汽车凭借其独特的优势崭露头角。今天咱们就来聊聊基于模型的整车策略开发思路,以及整车模型搭建流程,顺带详细说说增程式混合动力汽车建模仿真模型那些事儿。
一、开发思路与整车模型搭建流程
基于模型的开发思路就像是搭建一座大厦前绘制的详细蓝图。我们要从整车的各个系统出发,通过数学模型去描述它们的工作原理和相互作用。
整车模型搭建流程则是将这个蓝图一步步落地。首先得确定各个子系统,就像增程式混合动力汽车中的增程器、电机、电池等,这就好比是大厦的不同功能区。然后针对每个子系统进行详细建模,就如同为每个功能区设计具体的结构和布局。
二、增程式混合动力汽车建模仿真模型
(一)增程器模型
增程器在增程式混合动力汽车里扮演发电的角色。我们可以用简单的代码来大致表示它的一个简化模型思路(这里以Python为例):
python
class RangeExtender:
def __init__(self, power_capacity):
self.power_capacity = power_capacity
def generate_power(self, demand):
if demand <= self.power_capacity:
return demand
else:
return self.power_capacity
在这段代码里,RangeExtender类初始化时设定了增程器的发电功率上限powercapacity*。generate* power方法根据外界的电力需求demand来判断,如果需求小于等于发电上限,就提供相应的电量,否则就只能提供其最大功率。实际的增程器模型当然会复杂得多,还需要考虑效率曲线、燃油消耗等因素。
(二)电机模型
电机作为驱动车辆的关键部件,其模型要反映电机的转矩、转速等特性。下面是一个简单的电机模型示例代码:
python
class Motor:
def __init__(self, max_torque, max_speed):
self.max_torque = max_torque
self.max_speed = max_speed
def get_torque(self, speed):
if speed <= self.max_speed:
return self.max_torque * (1 - speed / self.max_speed)
else:
return 0
这里Motor类初始化时定义了最大转矩maxtorque**和最高转速max speed。get_torque方法根据当前转速来计算输出转矩,在转速低于最高转速时,转矩随转速升高而线性下降,超过最高转速则无转矩输出。这只是个非常基础的模型,真实的电机模型还要考虑磁场、电流等复杂因素。
(三)电池模型
电池模型需要考虑电池的电量、充放电功率等。以下是一个简单示意:
python
class Battery:
def __init__(self, capacity, initial_soc):
self.capacity = capacity
self.soc = initial_soc
def charge(self, power, time):
energy = power * time
if self.soc * self.capacity + energy <= self.capacity:
self.soc += energy / self.capacity
else:
self.soc = 1
def discharge(self, power, time):
energy = power * time
if self.soc * self.capacity - energy >= 0:
self.soc -= energy / self.capacity
else:
self.soc = 0
Battery类初始化时有电池容量capacity和初始电量状态initial_soc。charge和discharge方法分别用于充电和放电,根据输入的功率和时间来更新电池的电量状态SOC(State of Charge)。
(四)驾驶员模型
驾驶员模型模拟驾驶员的操作行为,比如加速、减速、制动等。虽然代码实现可能比较复杂,但简单来说,可以这样理解:
python
class Driver:
def __init__(self, target_speed):
self.target_speed = target_speed
def get_acceleration(self, current_speed):
if current_speed < self.target_speed:
return 1 # 简单设定一个加速值
elif current_speed > self.target_speed:
return -1 # 简单设定一个减速值
else:
return 0
Driver类根据目标速度targetspeed**和当前速度current speed来决定车辆的加速度,这里只是极为简化的表示,实际的驾驶员模型要考虑更多因素,比如驾驶风格、路况等。
(五)整车VCU控制模型
整车VCU(Vehicle Control Unit)控制模型就像是汽车的大脑,协调各个子系统的工作。以纯电模式到增程模式切换为例,看看简单的逻辑代码:
python
class VCU:
def __init__(self, battery, range_extender, motor):
self.battery = battery
self.range_extender = range_extender
self.motor = motor
self.switch_threshold = 0.3 # 电量切换阈值
def control(self):
if self.battery.soc > self.switch_threshold:
# 纯电模式
power_demand = self.motor.get_torque() * self.motor.speed
self.battery.discharge(power_demand, 1)
else:
# 增程模式
power_demand = self.motor.get_torque() * self.motor.speed
generated_power = self.range_extender.generate_power(power_demand)
self.battery.charge(generated_power, 1)
self.battery.discharge(power_demand - generated_power, 1)
VCU类初始化时关联了电池、增程器和电机模型。control方法根据电池电量SOC与切换阈值switch_threshold的比较来决定车辆运行模式。当电量高于阈值时,车辆处于纯电模式,电机所需功率由电池提供;当电量低于阈值,进入增程模式,增程器发电,一部分满足电机需求,多余的给电池充电,不足的由电池补充。
三、工况数据、仿真数据及相关参数设定
在实际开发中,工况数据至关重要。比如NEDC(New European Driving Cycle)工况数据,它包含了不同速度、加速度下的行驶时间等信息。通过这些工况数据来驱动我们搭建的整车模型进行仿真。

仿真数据则是模型运行后的输出结果,像电池电量变化、增程器工作时长、电机输出功率等。
电量维持规则和阈值参数设定也是关键。例如,上述代码中的switch_threshold电量切换阈值,设定为0.3意味着当电池电量低于30%时,车辆从纯电模式切换到增程模式。这个阈值的设定要综合考虑车辆性能、油耗、电池寿命等多方面因素。发动机、电机等整车数据也会在模型中不断调整和优化,以达到最佳的整车性能表现。
总之,基于模型的增程式混合动力汽车整车策略开发是一个复杂但充满乐趣的过程,通过一步步搭建模型、分析数据、调整参数,让我们离更高效、更环保的汽车又近了一步。
