混合动力汽车实时能量管理策略

文章目录

  • 前言

  • 一、混合动力系统模型

  • 二、实时能量管理策略

  • 三、仿真验证及结果分析

  • 总结


前言

       自第一辆汽车诞生以来,汽车就给人类带来了诸多便利,现在已成为人类必不可少的交通工具。然而随着汽车保有量的不断增加,在给人们提供便利的同时,也给人类带来了能源危机和环境危机。各国政府也意识到了这一点相继出台了一系列发展汽车节能减排技术政策,电动汽车由于其特点将会是未来汽车产业发展的重要方向。在电动汽车中,纯电动汽车可以实现零污染和零油耗,是最为理想的选择,然而其受制于电池性能,续驶里程低,且电池有着价格高、寿命短和充电时间长等缺点,所以暂时难以应用于产业化;燃料电池汽车成本较高,对环境的适应性较差,氧气的制备、存储及运输过程都比较复杂,存有较大的安全隐患,也不易于进行产业化;相比纯电动汽车和燃料电池汽车,混合动力汽车兼具纯电动汽车和内燃机汽车的优点,既有着纯电动汽车节能环保的特点,又利用了石油的比功率较高的特点,使得续驶里程变长,因而混合动力汽车成为目前具有良好发展前景的电动汽车。 

      混合动力汽车根据动力系统的布置形式不同,可以分为串联式混合动力汽车、并联式混合动力汽车、混联式混合动力汽车。在串联式混合动力汽车中,电机是唯一直接驱动汽车行驶的动力源,发动机不直接驱动汽车行驶,发动机-发电机系统只用来提供电能,因此发动机的工作状态不受行驶工况的限制,可以始终工作在一个较为稳定高效的区域,使油耗和有害气体排放降低在最低值。在并联式混合动力汽车中,电机一般作为辅助动力源使用,以调整发动机功率峰值。当整车需求功率较大并且超过发动机合理输出功率时,电机同发动机共同驱动车辆行驶,而当整车需求功率较小时,电机可以单独进行驱动或者从发动机处获得一部分能量给电池进行充电,使得发动机在行驶过程中尽量处在较为经济的工作区域内。混联式混合动力汽车兼具(串)并联式混合动力汽车的优点,二者的工作模式都可以实现,一般来说,在低速行驶时,主要以串联式方式进行工作,而在高速行驶时,主要以并联式方式进行工作,所以混联式混合动力汽车适应于各种工况,使得在各种不同工况下,系统都工作在最优状态。

       混合动力汽车由于配置有多种动力源,而每种动力源都有最高效工作区域,所以可以充分利用这种特性,来弥补一种动力源汽车的不足,改善整车性能。但是,要想使得多种动力源之间能够协调的运行,都能够工作在各自的最佳工作区域内,就必须有优秀的整车能源管理系统和整车控制策略加以控制协调。因此,能量管理控制策略是混合动力汽车的核心技术。混合动力汽车能量管理控制策略的主要目标是满足驾驶员对动力性的需求,维持蓄电池充电、优化传动系效率、降低油耗和排放,从而降低整车成本,协调多种能量源,实现整车系统性能的改善和提高。最初的混合动力汽车能量管理控制策略是依赖工程经验制定的基于规则的控制策略,如恒温器式、功率跟随式和模糊逻辑控制等,后发展到基于各种优化算法的混合动力汽车能量管理控制策略,如全局优化控制策略(动态规划、庞特里亚金最小原理和凸优化),瞬时优化控制策略(等效油耗最小控制及模型预测控制)。近年来,随着人工智能、大数据和云计算的兴起,基于智能控制策略成为研究的热点,如基于神经网络、基于智能交通系统和基于多智能体的能量管理控制策略等。本项目针对串联式、并联式和混联式混合动力汽车进行能量管理控制策略开发。


一、混合动力系统模型

1. 整车结构组成

       本项目的研究对象为串联式、并联式和混联式混合动力汽车,其整车系统结构如图1~3所示。针对不同的整车系统结构对主要部件进行建模。

图1 串联式混合动力系统结构示意图

图2 并联式混合动力系统结构示意图

图3 混联式混合动力系统结构示意图

2. 驾驶员模型

        驾驶员模型通常为一个 PI 控制器模型,如图4所示,输入为期望车速与实际车速之差,输出为加速踏板开度和制动踏板开度信号,则加速踏板和制动踏板位置可描述为

\theta =K_{P}(\upsilon _{r}-\upsilon _{a})+K_{I}\int (\upsilon _{r}-\upsilon _{a}) , \left | \theta \right |\in \left [ 0,100% \right ]

(1)

式中,K_{P} 、K_{I} 分别为比例系数和积分系数,两者可通过试错法来确定;\upsilon _{a}为实际车速;  \upsilon _{r}为期望车速;\theta为踏板开度,加速踏板为正,制动踏板为负。

图4 驾驶员模型

 3. 发动机模型

       为便于优化策略的开发,建立了简化的面向控制的发动机模型,单位时间内的燃油消耗量可表示为

                                                    \dot{m}_{fuel}=f_{BSFC}(T_{Eng},\omega _{Eng})                                             

(2)

式中,T_{Eng} 为发动机输出扭矩;\omega _{Eng}为发动机转速;\dot{m}_{fuel}为单位时间内的燃油消耗量,可通过一定转速和转矩查找准静态发动机万有特性MAP图得到。

图5 发动机MAP图

 4. 电机模型

       在运行过程中,电机既可作为电动机工作,也可作为发电机工作,与发动机模型相似,电机功率计算模型可表示为

P_{M/G}=T_{M/G}\omega _{M/G}\eta _{M/G}^{-sgn(T_{M/G})}, if T_{M/G}>0, sgn(T_{M/G})=1 ,else sgn(T_{M/G})=-1

(3)

式中,P_{M/G}为电机功率;T_{M/G}为电机输出扭矩;\omega _{M/G}为电机角速度;\eta _{M/G}为电机效率,可通过一定转速和转矩查找电机准静态效率MAP图得到。

图6 电机MAP图

 5 电池模型

       忽略电池寿命及温升影响,将动力电池简化为开路电压串联一个内阻的等效电路,见图7。

电池电荷状态变化率\dot{S_{SOC}}可表示为

                                          \dot{S_{SOC}}=-\frac{U_{oc}-\sqrt{U_{oc}^{2}-4R_{int}P_{Batt}}}{2Q_{Batt}P_{Batt}}

(4)

                                    P_{Batt}=-U_{oc}Q_{Batt}\dot{S}_{SOC},R_{int}=R_{dis},R_{int}=R_{chg}

(5)

式中,U_{oc}为开路电压;Q_{Batt}为电池容量;R_{int}为电池内阻;P_{Batt}为电池功率;R_{dis}R_{chg}分别为放电状态和充电状态下的电池内阻。

图7 电池开路电压
图8 电池内阻

 6. 整车动力学模型

       汽车行驶过程的纵向动力学平衡方程为

           T_{DrvDmd}+T_{BrkDmd}=[mgf_{r}\cos \alpha +\frac{C_{D}A_{f}\upsilon ^{2}}{21.15}+mg\sin \alpha +\delta m\frac{d\upsilon }{dt}]R_{Wheel}

(6)

式中,T_{DrvDmd}为作用在车轮上的驱动力矩; T_{BrkDmd}为作用在车轮上的制动力矩;m为整车总质量;f_{r}为滚动阻力系数;\upsilon为车速;C_{D}为空气阻力系数;A_{f}为迎风面积;\alpha为道路坡道角;\delta为旋转质量换算系数;R_{Wheel}为车轮半径。

7.仿真模型

     基于MATLAB/Simulink搭建整车仿真模型,如图9~11所示。

图9 串联式混合动力汽车仿真模型

图10 并联式混合动力汽车仿真模型

图11 混联式混合动力汽车仿真模型

二、实时能量管理策略

        这里以并联式混合动力汽车能量管理策略为例设计原理如图12所示。当电量高时以电机峰值转矩曲线为基准线进行设计,当电量低时以发动机最优特性曲线为基准线进行设计。发动机最优特性曲线是从发动机的万有特性数据中找出各转速下最低燃油消耗率对应的转矩值连接成线得到的。

图12 能量管理策略设计原理图

        并联式混合动力汽车根据发动机、电机与动力电池组的工作特性关系可以划分为多种工作模式:纯电动驱动模式、混合驱动模式、行车充电模式、发动机驱动模式、制动能量回收模式和机械摩擦制动模式。

      驱动时,当电池电量高、需求转矩在电动机可提供范围内时,利用纯电动模式行驶;当电池电量高、需求转矩超过电动机可提供范围时,利用混合驱动模式行驶;当电池电量低、需求转矩低于发动机最优转矩时,利用行车充电模式行驶;当电池电量低、需求转矩高于发动机最优转矩时,利用发动机单独驱动模式行驶,当电池SOC在电量高低之间的夹带时,保持前一时刻的模式。

     制动时,当电池电量低时,利用能量回收模式制动,当电池电量高时,利用机械制动模式制动。基于以上分析整车控制流程图如图13所示,工作模式切换和各模式下转矩分配计算如图14,15所示。

图13 能量管理策略控制流程图

图14 Stateflow模式切换模型图
图15  各模式下转矩分配模型图

三、仿真验证及结果分析

          将混联式混合动力汽车在多种循环工况下进行仿真,以全球轻型车统一测试循环(WLTC)循环工况为例进行仿真结果说明,仿真结果如图16所示。

图16 混联式混合动力汽车各部件工作状态图

 注:图16(1)发动机转矩输出曲线, 图16(2)电机MG1转矩输出曲线, 图16(3)电机MG2转矩输出曲线, 图16(4)车速跟随曲线, 图16(5)电池运动轨迹, 图16(6)工作模式切换情况,图16(7)发动机转速输出曲线,图16(8)电机MG1转速输出曲线,图16(9)电机MG2转速输出曲线,

从图16可知,车辆速度跟随良好,电池SOC保持在一定范围内,电机MG2工作转矩稳定,电机MG1能稳定启动发动机和调节发动机转速。


总结

       本项目以串联式、并联式和混联式混合动力汽车为研究对象,首先基于MATLAB/Simulink搭建了整车仿真模型,其次建立了规则的多工作模式能量管理策略,最后通过仿真验证了模型的可行性,为后续优化策略提供了技术基础。

  • 8
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
以下是一个基于DDPG算法的混合动力汽车能量管理策略Matlab代码示例,其中考虑了车速作为状态的一部分: ```matlab % 状态空间维度 state_dim = 3; % 车速、电池SOC、剩余距离 % 动作空间维度 action_dim = 1; % 发动机功率 % 初始化神经网络参数 hidden_size = 10; actor_lr = 0.001; critic_lr = 0.001; % 初始化经验回放缓冲区 buffer_size = 10000; buffer = zeros(buffer_size, state_dim + action_dim + 1); % 设置训练参数 batch_size = 32; gamma = 0.99; % 初始化Actor和Critic神经网络 actor_net = feedforwardnet(hidden_size); actor_net.layers{end}.transferFcn = 'tansig'; actor_net.outputs{end}.transferFcn = 'purelin'; actor_net.initFcn = 'initlay'; actor_net = init(actor_net); critic_net = feedforwardnet(hidden_size); critic_net.layers{end}.transferFcn = 'tansig'; critic_net.outputs{end}.transferFcn = 'purelin'; critic_net.initFcn = 'initlay'; critic_net = init(critic_net); % 开始训练 for episode = 1:num_episodes % 初始化环境并观察初始状态 state = env.reset(); done = false; total_reward = 0; while ~done % 使用Actor神经网络生成动作 action = actor_net(state); % 在环境中执行动作并观察下一个状态和奖励 [next_state, reward, done] = env.step(action); % 存储经验到回放缓冲区 buffer = store_experience(buffer, state, action, reward, next_state); % 从回放缓冲区中随机采样一个批次的经验 batch = sample_batch(buffer, batch_size); % 更新Critic网络 critic_loss = update_critic(critic_net, batch, gamma); % 更新Actor网络 actor_loss = update_actor(actor_net, critic_net, batch); % 更新目标网络(可选) % target_update(actor_target_net, actor_net); % target_update(critic_target_net, critic_net); % 更新状态和累计奖励 state = next_state; total_reward = total_reward + reward; end % 打印每个回合的累计奖励 disp(['Episode: ', num2str(episode), ', Total Reward: ', num2str(total_reward)]); end function buffer = store_experience(buffer, state, action, reward, next_state) % 存储经验到回放缓冲区 buffer(end+1, :) = [state, action, reward, next_state]; end function batch = sample_batch(buffer, batch_size) % 从回放缓冲区中随机采样一个批次的经验 buffer_size = size(buffer, 1); indices = randperm(buffer_size, batch_size); batch = buffer(indices, :); end function critic_loss = update_critic(critic_net, batch, gamma) % 更新Critic网络 states = batch(:, 1:3); actions = batch(:, 4); rewards = batch(:, 5); next_states = batch(:, 6:8); next_actions = actor_net(next_states); next_qvals = critic_net([next_states, next_actions]); targets = rewards + gamma * next_qvals; critic_loss = train(critic_net, [states, actions], targets); end function actor_loss = update_actor(actor_net, critic_net, batch) % 更新Actor网络 states = batch(:, 1:3); actions = actor_net(states); actor_loss = -mean(critic_net([states, actions])); train(actor_net, states, actor_loss); end ``` 请注意,这只是一个简单的混合动力汽车能量管理策略的示例代码,具体的实现可能会因任务的不同而有所变化。你可能需要根据你的任务对代码进行适当的修改和调整。 希望这个示例对你有帮助!如果你有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

琦钰君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值