考虑SOC蓄电池 双向DC/DC 充放电控制 matlab仿真模型 buck boost
考虑SOC蓄电池 双向DC/DC 充放电控制 matlab仿真模型 buck boost 1蓄电池双向DCDC充放电控制MATLAB仿真模型 2双向DC/DC电路拓扑为Buck-Boost电压外环电流内环双闭环控制 3充放电自动切换搞过电力电子的朋友都知道双向DC/DC玩的就是能量来回倒腾的艺术。今天咱们聊聊基于Buck-Boost拓扑的蓄电池充放电控制系统直接上硬菜——手把手拆解MATLAB仿真模型的关键代码。先看电路骨架这个双向DC/DC的核心是四个IGBT组成的H桥。充电时走Buck模式放电切Boost模式这个结构最大的妙处在于只用一套电感就搞定双向能量流动。咱们用Simulink里的Mosfet模块搭出来注意死区时间一定要设好建议用transport delay模块加个200ns的延迟实测能有效避免直通炸管。% 关键器件参数 L 200e-6; % 200μH储能电感 C_bus 4700e-6; % 直流母线电容 V_bat_nom 48; % 蓄电池标称电压电压外环的PI调节器是系统稳定的命门。这里有个坑充电和放电时的传递函数极性是反的解决方法很骚——在PI控制器后边乘个符号选择器。当检测到需要放电时把PI输出乘以-1这样同一个调节器就能适应两种工况。% 双闭环控制核心代码 function [duty] control_logic(V_ref, V_bus, I_ind) persistent pi_voltage; if isempty(pi_voltage) pi_voltage pid(0.5, 50); % Kp0.5, Ki50 end % 电压环输出作为电流环给定 I_ref pi_voltage(V_ref - V_bus); % 电流环PI参数 Kp_current 0.2; Ki_current 100; % 电流环计算 duty Kp_current*(I_ref - I_ind) Ki_current*sum(I_ref - I_ind); % 方向判断 if I_ref 0 duty abs(duty); % 充电模式 else duty -abs(duty); % 放电模式 end end自动切换的逻辑藏在SOC估算模块里。咱们用安时积分法搭配开路电压修正当SOC超过85%立即切换为放电模式低于20%则强制充电。重点是这个滞回比较器要设3%的回差防止在临界点反复横跳。考虑SOC蓄电池 双向DC/DC 充放电控制 matlab仿真模型 buck boost 1蓄电池双向DCDC充放电控制MATLAB仿真模型 2双向DC/DC电路拓扑为Buck-Boost电压外环电流内环双闭环控制 3充放电自动切换看这个波形图假装有图母线电压在45-52V之间波动时系统能在5ms内完成模式切换。动态过程中电感电流没出现尖峰说明前馈补偿做得到位。偷偷说个调参秘诀先把电流环带宽调到电压环的5倍以上这样双环才不会打架。最后提醒新手注意三个坑1.电感饱和电流要留够余量 2.ADC采样必须做均值滤波 3.模式切换时要重置积分器。把这几个雷排了你的仿真模型离真实系统也就不远了。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2409939.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!