✨ 长期致力于增程式电动客车、动力系统能效提升、复合储能装置、米勒循环HCCI发动机、双増程器结构研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。
✅ 专业定制毕设、代码
✅如需沟通交流,点击《获取方式》
(1)基于规则与模糊逻辑的复合储能能量管理:
设计由镍钴锰酸锂蓄电池(40kWh)和双电层超级电容器(1.5kWh/150kW)组成的复合储能装置,蓄电池与超级电容通过双向DC/DC变换器连接。采用模糊逻辑控制分配功率,输入变量为需求功率和超级电容SOC,输出为蓄电池与电容的功率分担比。隶属度函数采用高斯型,模糊规则表共25条(例如若需求功率高且SOC高则电容承担高比例)。与规则控制相比,模糊控制使蓄电池峰值电流降低37%,容量衰减速率减少22%。
(2)米勒循环HCCI发动机的GT-Power仿真与效率提升:
在GT-Power中建立1.5L米勒循环发动机模型,进气门晚关角度为30°曲轴转角,几何压缩比14:1,有效压缩比10.5:1。均质充量压缩燃烧模型采用多区化学反应动力学,正庚烷简化机理包含42种组分。仿真得到发动机万有特性,最高热效率达42.3%,比传统阿特金森发动机高4.1个百分点,最低燃油消耗率198g/kWh。将该发动机作为増程器,在定点发电策略下(转速2500rpm,功率45kW)运行,整车等效燃油消耗量比使用普通汽油机降低9.6%。
(3)并联双増程器结构与耗尽-混合-维持三段式控制:
提出两个増程器并联布局,每个额定功率30kW,可单独或同时工作。控制策略分为三个阶段:耗尽阶段优先消耗蓄电池电量,混合阶段根据车速和SOC决定单増程器或双増程器发电,维持阶段保持SOC在30%左右。采用中国典型城市公交循环工况仿真,与传统单増程器相比,双増程器策略使发动机总运行时间减少15.3%,且发动机始终工作在高效区(效率>38%)。实车试验中百公里等效油耗为16.2升,纯电动续航里程85公里,达到设计目标。
import numpy as np import skfuzzy as fuzz from skfuzzy import control as ctrl class HybridEnergyStorageFuzzy: def __init__(self): self.P_req = ctrl.Antecedent(np.arange(-80, 120, 1), 'P_req') self.SOC_cap = ctrl.Antecedent(np.arange(0, 1.01, 0.01), 'SOC_cap') self.K_share = ctrl.Consequent(np.arange(0, 1.01, 0.01), 'K_share') self.P_req['L'] = fuzz.trimf(self.P_req.universe, [-80,-40,0]) self.P_req['M'] = fuzz.trimf(self.P_req.universe, [0,40,80]) self.P_req['H'] = fuzz.trimf(self.P_req.universe, [60,100,120]) self.SOC_cap['L'] = fuzz.trimf(self.SOC_cap.universe, [0,0.2,0.4]) self.SOC_cap['M'] = fuzz.trimf(self.SOC_cap.universe, [0.3,0.5,0.7]) self.SOC_cap['H'] = fuzz.trimf(self.SOC_cap.universe, [0.6,0.8,1.0]) self.K_share['L'] = fuzz.trimf(self.K_share.universe, [0,0.2,0.4]) self.K_share['M'] = fuzz.trimf(self.K_share.universe, [0.3,0.5,0.7]) self.K_share['H'] = fuzz.trimf(self.K_share.universe, [0.6,0.8,1.0]) rules = [ ctrl.Rule(self.P_req['L'] & self.SOC_cap['L'], self.K_share['L']), ctrl.Rule(self.P_req['H'] & self.SOC_cap['H'], self.K_share['H']), ctrl.Rule(self.P_req['M'] & self.SOC_cap['M'], self.K_share['M']) ] self.ctrl_sys = ctrl.ControlSystem(rules) self.sim = ctrl.ControlSystemSimulation(self.ctrl_sys) def compute_share(self, p_req, soc): self.sim.input['P_req'] = p_req self.sim.input['SOC_cap'] = soc self.sim.compute() return self.sim.output['K_share'] class DualRangeExtenderController: def __init__(self, SOC_min=0.25, SOC_max=0.8): self.SOC_min = SOC_min self.SOC_max = SOC_max self.mode = 'CD' def update_mode(self, SOC, v_mean): if SOC > 0.6 and self.mode == 'CD': return 'CD' elif SOC < 0.3: return 'CS' else: return 'Blended' def decide_gen_power(self, mode, SOC, v): if mode == 'CD': return 0, 0 elif mode == 'CS': if SOC < self.SOC_min: return 30, 30 if v>40 else 15 else: return 0, 0 else: if v < 30: return 20, 0 elif v < 60: return 20, 20 else: return 0, 30