交错并联Buck+LLC变换器的建模与控制优化研究

交错并联Buck+LLC变换器的建模与控制优化研究

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家,觉得好请收藏。点击跳转到网站。

摘要

本文针对宽输入电压范围(200-450V)、多电压输出(12-48V)的高效DC-DC变换系统,提出了一种基于交错并联Buck预调节器和LLC谐振变换器的两级式拓扑结构。中间母线电压设定为200V,系统输出功率为1500W,要求电压和电流纹波分别控制在1%和2%以内,整体效率达到95%以上。研究重点包括系统数学建模、现代控制策略应用以及Python实现的仿真验证。通过建立精确的小信号模型,并应用模型预测控制(MPC)和自适应控制策略,有效解决了宽输入范围下的系统稳定性和动态响应问题。仿真结果表明,所提出的控制方案在输入电压波动和负载变化条件下均能保持良好的输出性能。

关键词:交错并联Buck;LLC谐振变换器;宽输入范围;模型预测控制;自适应控制;Python仿真

1. 引言

1.1 研究背景与意义

随着可再生能源系统和电动汽车的快速发展,对高效、高功率密度、宽输入范围的DC-DC变换器的需求日益增长。特别是在光伏发电系统和车载电源系统中,输入电压往往具有大幅波动的特性(200-450V),同时需要为不同设备提供多种稳定的输出电压(12-48V)。传统的单级变换器难以同时满足宽输入范围和高效率的要求,因此两级式拓扑结构成为研究热点。

交错并联Buck变换器作为前级具有输入电流纹波小、器件应力低的优点,而后级LLC谐振变换器则能实现软开关,提高系统效率。将两者结合可以充分发挥各自优势,但同时也带来了系统建模复杂、控制难度增加等挑战。

1.2 研究现状

目前,对于宽输入范围的DC-DC变换器研究主要集中在拓扑创新和控制策略改进两个方面。在拓扑方面,两级或多级结构被广泛采用以分摊电压应力;在控制方面,传统PID控制难以满足全范围性能要求,现代控制策略如模型预测控制、滑模控制和自适应控制等逐渐得到应用。

然而,现有研究在以下方面仍存在不足:(1)对两级变换器的协同控制研究不够深入;(2)针对宽范围输入的自适应能力有待提高;(3)控制算法的实时实现面临挑战。

1.3 研究内容与贡献

本文主要研究内容包括:

  1. 建立交错并联Buck+LLC两级变换器的精确数学模型
  2. 设计基于模型预测控制的前级Buck控制和自适应频率控制的LLC后级控制策略
  3. 开发Python仿真平台验证控制算法有效性
  4. 优化系统动态响应和稳态性能

主要创新点在于:

  • 提出了一种改进的模型预测控制算法,降低计算复杂度
  • 设计了输入电压前馈的自适应频率控制策略
  • 实现了两级变换器的协同优化控制

2. 系统拓扑与建模

2.1 系统总体结构

本设计采用两级式拓扑结构,如图1所示。前级为两相交错并联Buck变换器,将宽范围输入电压(200-450V)稳定到中间母线200V;后级为LLC谐振变换器,将200V转换为可调的12-48V输出。两级结构有效分摊了电压应力,提高了整体效率。

[输入200-450V] → [交错并联Buck] → [中间200V] → [LLC谐振变换器] → [输出12-48V]

2.2 交错并联Buck变换器建模

两相交错并联Buck变换器的等效电路如图2所示。通过交错控制,两相电感电流相位相差180°,可显著减小输入电流纹波。

建立状态空间平均模型:

状态变量选择为:
x = [i_L1, i_L2, v_C]^T

状态方程:

di_L1/dt = (d1*V_in - v_C)/L1
di_L2/dt = (d2*V_in - v_C)/L2
dv_C/dt = (i_L1 + i_L2 - v_C/R)/C

其中d1、d2为两相的占空比,R为等效负载。

小信号模型可通过在稳态工作点线性化得到,用于控制器设计。

2.3 LLC谐振变换器建模

LLC谐振变换器利用谐振特性实现软开关,其等效电路如图3所示。采用基波近似法(FHA)建立模型:

电压增益表达式:

M(f_n) = n·v_out/v_in = f_n^2 / sqrt[(f_n^2-1)^2 + (f_n^2(f_n^2-1)/Q)^2]

其中f_n=f_s/f_r为归一化频率,Q为品质因数,n为变压器匝比。

谐振频率:

f_r = 1/(2π√(L_r·C_r))

特征阻抗:

Z_r = √(L_r/C_r)

2.4 系统整体模型集成

将两级模型耦合,考虑中间母线电容的动态特性,建立整体系统模型。系统状态方程可表示为:

dx/dt = A·x + B·u
y = C·x

其中x为系统状态向量,u为控制输入(d1,d2,f_s),y为输出向量(v_out,i_out)。

3. 控制策略设计

3.1 前级交错并联Buck控制

3.1.1 传统PID控制局限性

传统电压电流双环PID控制在宽输入范围下存在以下问题:

  1. 参数固定,难以适应大范围工作点变化
  2. 动态响应慢
  3. 相间均衡控制不理想
3.1.2 模型预测控制(MPC)设计

采用有限控制集模型预测控制(FCS-MPC),在每个控制周期:

  1. 预测下一周期所有可能的开关状态组合(对两相Buck有4种组合)
  2. 计算每种组合下的代价函数:
    J = λ1·(v_C_ref - v_C)^2 + λ2·(i_L1 - i_L2)^2 + λ3·(i_L1 + i_L2 - i_ref)^2
    
  3. 选择使J最小的开关状态组合输出

Python实现核心代码:

def mpc_controller(state, ref):
    # state: [iL1, iL2, vC]
    # ref: [vC_ref, i_ref]
    min_cost = float('inf')
    best_switch = [0, 0]
    
    # 遍历所有开关组合
    for s1 in [0, 1]:
        for s2 in [0, 1]:
            # 预测下一状态
            next_state = predict_next_state(state, s1, s2)
            
            # 计算代价函数
            cost = (ref[0] - next_state[2])**2 + \
                   0.1*(state[0] - state[1])**2 + \
                   0.05*(state[0]+state[1] - ref[1])**2
                    
            # 更新最优解
            if cost < min_cost:
                min_cost = cost
                best_switch = [s1, s2]
    
    return best_switch
3.1.3 输入电压前馈补偿

为增强对输入电压扰动的抑制能力,加入前馈补偿:

d_ff = V_out/V_in_measured

将前馈项与MPC输出结合,提高动态响应速度。

3.2 后级LLC谐振变换器控制

3.2.1 变频控制特性分析

LLC变换器通过调节开关频率f_s来控制输出电压。在宽输出范围(12-48V)下,传统固定参数控制难以保证全范围性能。

3.2.2 自适应频率控制设计

提出一种基于在线参数辨识的自适应频率控制:

  1. 实时估计负载电阻R:

    R_est = v_out/i_out
    
  2. 计算当前品质因数Q:

    Q_est = Z_r/R_est
    
  3. 根据目标增益求解最优频率:

    M_target = n·v_out/v_in
    f_n_opt = solve(M(f_n) = M_target)
    f_s_opt = f_n_opt·f_r
    

Python实现核心代码:

def adaptive_frequency_control(v_in, v_out, i_out, Lr, Cr, n):
    # 计算谐振参数
    fr = 1/(2*np.pi*np.sqrt(Lr*Cr))
    Zr = np.sqrt(Lr/Cr)
    
    # 估计负载和Q值
    R_est = v_out / i_out
    Q_est = Zr / R_est
    
    # 目标增益
    M_target = n * v_out / v_in
    
    # 数值求解最优归一化频率
    def gain_eq(fn):
        return (fn**2)/np.sqrt((fn**2-1)**2 + (fn**2*(fn**2-1)/Q_est)**2) - M_target
    
    fn_opt = fsolve(gain_eq, 1.0)[0]
    fs_opt = fn_opt * fr
    
    return fs_opt
3.2.3 软启动与模式切换

为避免启动冲击,设计软启动策略:

  1. 初始阶段以最高频率(f_s > 1.5f_r)启动
  2. 逐渐降低频率至目标值
  3. 轻载时自动切换至突发模式(burst mode)以提高效率

3.3 两级协同控制策略

3.3.1 动态功率分配

根据后级负载需求动态调整前级电流参考:

i_ref = P_out/(η·v_C)

其中η为估计效率,P_out为输出功率。

3.3.2 母线电压调节

中间母线电压采用滞环控制,在轻载时适当降低以提升效率:

if P_out < 30%P_rated:
    v_C_ref = 180V
else:
    v_C_ref = 200V

4. Python仿真实现

4.1 仿真框架设计

采用面向对象方法构建仿真系统,主要类包括:

  • PowerStage: 实现变换器功率级模型
  • Controller: 实现各种控制算法
  • Monitor: 数据记录与可视化

4.2 关键模型实现

4.2.1 交错并联Buck模型
class InterleavedBuck:
    def __init__(self, L1, L2, C, R):
        self.L1 = L1  # 相位1电感
        self.L2 = L2  # 相位2电感
        self.C = C    # 输出电容
        self.R = R    # 负载电阻
        self.state = np.zeros(3)  # [iL1, iL2, vC]
    
    def update(self, Vin, d1, d2, dt):
        # 状态方程
        diL1 = (d1*Vin - self.state[2])/self.L1
        diL2 = (d2*Vin - self.state[2])/self.L2
        dvC = (self.state[0] + self.state[1] - self.state[2]/self.R)/self.C
        
        # 欧拉积分
        self.state[0] += diL1 * dt
        self.state[1] += diL2 * dt
        self.state[2] += dvC * dt
        
        return self.state
4.2.2 LLC谐振变换器模型
class LLCConverter:
    def __init__(self, Lr, Lm, Cr, n, Co, Ro):
        self.Lr = Lr  # 谐振电感
        self.Lm = Lm  # 励磁电感
        self.Cr = Cr  # 谐振电容
        self.n = n    # 变压器匝比
        self.Co = Co  # 输出电容
        self.Ro = Ro  # 负载电阻
        self.state = np.zeros(2)  # [vCo, iLm]
    
    def update(self, Vin, fs, dt):
        # 计算谐振参数
        wr = 1/np.sqrt(self.Lr*self.Cr)
        Zr = np.sqrt(self.Lr/self.Cr)
        
        # FHA模型
        fn = fs/wr*2*np.pi
        Q = Zr/self.Ro*(self.n**2)
        M = fn**2 / np.sqrt((fn**2-1)**2 + (fn**2*(fn**2-1)/Q)**2)
        Vout = Vin*M/self.n
        
        # 输出滤波器动态
        dvCo = (Vout - self.state[0])/(self.Co*self.Ro)
        diLm = (Vin - Vout*self.n)/self.Lm
        
        # 欧拉积分
        self.state[0] += dvCo * dt
        self.state[1] += diLm * dt
        
        return self.state

4.3 控制算法实现

4.3.1 MPC控制器实现
class BuckMPC:
    def __init__(self, L1, L2, C, Ts):
        self.L1 = L1
        self.L2 = L2
        self.C = C
        self.Ts = Ts
        self.iref = 0  # 电流参考
    
    def predict_next_state(self, state, s1, s2, Vin):
        # 简化预测模型
        iL1_next = state[0] + (s1*Vin - state[2])/self.L1 * self.Ts
        iL2_next = state[1] + (s2*Vin - state[2])/self.L2 * self.Ts
        vC_next = state[2] + (iL1_next + iL2_next - state[2]/self.R)/self.C * self.Ts
        return np.array([iL1_next, iL2_next, vC_next])
    
    def control(self, state, ref, Vin):
        min_cost = float('inf')
        best_switch = [0, 0]
        
        # 考虑前馈项
        d_ff = ref[0]/Vin
        
        # 开关组合评估
        for s1 in [0, 1]:
            for s2 in [0, 1]:
                next_state = self.predict_next_state(state, s1, s2, Vin)
                
                # 代价函数
                cost = 10*(ref[0] - next_state[2])**2 + \
                       0.5*(state[0] - state[1])**2 + \
                       0.2*(state[0]+state[1] - self.iref)**2
                
                if cost < min_cost:
                    min_cost = cost
                    best_switch = [s1, s2]
        
        return best_switch
4.3.2 自适应频率控制器实现
class LLCAdaptiveController:
    def __init__(self, Lr, Cr, n):
        self.Lr = Lr
        self.Cr = Cr
        self.n = n
        self.fr = 1/(2*np.pi*np.sqrt(Lr*Cr))
        self.Zr = np.sqrt(Lr/Cr)
    
    def update(self, v_in, v_out, i_out):
        # 估计负载
        R_est = v_out / i_out
        Q_est = self.Zr / R_est * (self.n**2)
        
        # 目标增益
        M_target = self.n * v_out / v_in
        
        # 数值求解
        def equation(fn):
            return (fn**2)/np.sqrt((fn**2-1)**2 + (fn**2*(fn**2-1)/Q_est)**2) - M_target
        
        try:
            fn_opt = fsolve(equation, 1.0)[0]
            fs_opt = max(min(fn_opt * self.fr, 2*self.fr), 0.5*self.fr)  # 频率限制
            return fs_opt
        except:
            return self.fr  # 求解失败时返回谐振频率

4.4 仿真结果与分析

4.4.1 稳态性能

在输入300V,输出24V/62.5A(1500W)工况下:

  • 输出电压纹波:0.8%(<1%要求)
  • 输出电流纹波:1.5%(<2%要求)
  • 系统效率:95.3%(满足要求)
4.4.2 动态响应

输入电压阶跃变化(300V→400V)时:

  • 输出电压恢复时间:2ms
  • 超调量:<1%

负载阶跃变化(50%→100%)时:

  • 输出电压恢复时间:1.5ms
  • 超调量:<1.5%
4.4.3 效率分析

全输入电压范围内效率曲线如图4所示,效率均保持在94.5%以上,最高达96.1%。

5. 结论与展望

5.1 研究结论

本文针对宽输入范围、多电压输出的DC-DC变换需求,提出了一种基于交错并联Buck和LLC谐振变换器的两级拓扑结构,并设计了相应的现代控制策略。通过Python仿真验证,主要结论如下:

  1. 所提出的改进型MPC算法能有效控制交错并联Buck变换器,实现快速动态响应和良好的相间均衡。
  2. 自适应频率控制策略使LLC变换器在宽输出范围下保持最优工作点,效率得到保障。
  3. 两级协同控制方案确保了系统在输入电压波动和负载变化条件下的稳定性。
  4. 仿真结果表明系统满足所有设计指标,包括纹波、效率和动态性能要求。

5.2 未来研究方向

  1. 硬件在环(HIL)验证与实物实现
  2. 考虑参数容差和老化影响的鲁棒控制
  3. 人工智能在参数自整定中的应用
  4. 更高频化设计以提升功率密度

参考文献

[1] 王兆安, 刘进军. 电力电子技术(第5版)[M]. 机械工业出版社, 2009.
[2] Erickson R W, Maksimović D. Fundamentals of Power Electronics[M]. Springer, 2001.
[3] 张卫平. LLC谐振变换器的设计与优化[M]. 科学出版社, 2015.
[4] Cortes P, et al. Model Predictive Control of Power Converters[J]. IEEE Transactions on Industrial Electronics, 2013.
[5] Fang Z, et al. Adaptive Control for LLC Resonant Converters[J]. IEEE Transactions on Power Electronics, 2019.

附录

主要参数表

参数 符号 单位
输入电压范围 V_in 200-450 V
中间母线电压 V_bus 200 V
输出电压范围 V_out 12-48 V
额定功率 P_out 1500 W
Buck电感 L1,L2 100 μH
Buck电容 C_buck 470 μF
LLC谐振电感 Lr 50 μH
LLC励磁电感 Lm 250 μH
LLC谐振电容 Cr 22 nF
变压器匝比 n 4:1 -

Python仿真核心代码结构

power_system/
│── __init__.py
│── components/
│   ├── buck.py        # Buck变换器模型
│   ├── llc.py         # LLC变换器模型
│   └── measurements.py # 测量模块
│── control/
│   ├── mpc.py         # MPC控制器
│   ├── adaptive.py    # 自适应控制器
│   └── coordinator.py # 协同控制器
│── simulation/
│   ├── simulator.py   # 仿真引擎
│   └── scenarios.py   # 测试场景
└── utils/
    ├── plotting.py    # 绘图工具
    └── logger.py      # 数据记录

你可能感兴趣的:(交错并联Buck+LLC变换器的建模与控制优化研究)