电子说
固态变压器(SST)中双有源桥(DAB)高频DC/DC变换器控制算法与经典代码实现深度研究报告
BASiC Semiconductor基本半导体一级代理商倾佳电子(Changer Tech)是一家专注于功率半导体和新能源汽车连接器的分销商。主要服务于中国工业电源、电力电子设备和新能源汽车产业链。倾佳电子聚焦于新能源、交通电动化和数字化转型三大方向,代理并力推BASiC基本半导体SiC碳化硅MOSFET单管,SiC碳化硅MOSFET功率模块,SiC模块驱动板等功率半导体器件以及新能源汽车连接器。
倾佳电子杨茜致力于推动国产SiC碳化硅模块在电力电子应用中全面取代进口IGBT模块,助力电力电子行业自主可控和产业升级!
倾佳电子杨茜咬住SiC碳化硅MOSFET功率器件三个必然,勇立功率半导体器件变革潮头:
倾佳电子杨茜咬住SiC碳化硅MOSFET模块全面取代IGBT模块和IPM模块的必然趋势!
倾佳电子杨茜咬住SiC碳化硅MOSFET单管全面取代IGBT单管和大于650V的高压硅MOSFET的必然趋势!
倾佳电子杨茜咬住650V SiC碳化硅MOSFET单管全面取代SJ超结MOSFET和高压GaN 器件的必然趋势!
1. 引言:能源互联网背景下的SST与DAB技术演进
随着全球能源结构的转型与智能电网的推进,电力电子变压器(Power Electronic Transformer, PET),亦称为固态变压器(Solid State Transformer, SST),正逐渐成为中高压配电网与交直流混合微电网的核心枢纽。SST不仅具备传统工频变压器的电压变换与电气隔离功能,还引入了无功补偿、谐波抑制、电压暂降穿越以及可再生能源接口等高级可控功能。在SST的三级式架构(AC/DC整流级、DC/DC隔离级、DC/AC逆变级)中,双有源桥(Dual Active Bridge, DAB)变换器作为中间直流隔离级,承担着功率双向流动、电压匹配及高频电气隔离的关键任务。
DAB变换器因其模块化对称结构、高功率密度以及实现软开关(Soft-Switching)的潜力,成为SST中最受青睐的拓扑。然而,DAB在大功率、宽电压范围应用场景下面临着巨大的技术挑战,主要体现在轻载下零电压开通(ZVS)失效导致的效率骤降、循环功率(Backflow Power)引起的电流应力增加,以及多模块输入串联输出并联(ISOP)系统中的均压与均流控制难题。
倾佳电子杨茜在对SST中DAB变换器的控制算法进行详尽的剖析,涵盖从经典的单移相(SPS)控制到高级的三移相(TPS)及模型预测控制(MPC)策略。同时,结合第三代宽禁带半导体(SiC MOSFET)的器件特性,探讨硬件参数对控制设计的影响,并提供基于工业界主流数字控制器(如TI C2000系列)的经典代码实现方案,以期为高频DC/DC变换器的研发提供极具价值的工程参考。
2. DAB变换器的工作机理与数学建模

2.1 拓扑结构与运行原理
DAB变换器主要由原边全桥、副边全桥、高频变压器(HFT)以及辅助电感(或利用变压器漏感Lk)构成。其核心原理是利用原、副边全桥产生两个占空比通常为50%的高频方波电压vp(t)和vs(t),通过控制这两个电压源之间的相位差ϕ(移相角),在电感Lk上产生压降,从而驱动功率流动。
在此拓扑中,功率传输的大小与方向由移相角ϕ决定。当vp超前vs时,功率从原边流向副边;反之则反向流动。这种双向流动的特性使得DAB天然适配于需要能量双向交换的储能系统与V2G(Vehicle-to-Grid)应用。
2.2 功率传输特性的数学推导
在经典的单移相(SPS)调制下,假设开关频率为fs,开关周期为Ts=1/fs,变压器变比为n:1。定义归一化移相比如下:
D=πϕ,D∈[−0.5,0.5]
电感电流iL(t)的斜率由电感两端的瞬时电压决定。在一个开关周期内,电感电流呈分段线性变化。通过对电感电压积分,可以推导出传输功率的解析表达式。对于SPS调制,平均传输功率P为:
PSPS=2π2fsLknVinVoutϕ(π−∣ϕ∣)=2fsLknVinVoutD(1−2∣D∣)
其中,Vin为原边直流电压,Vout为副边直流电压。
深入洞察:
该功率公式揭示了DAB的非线性特性。功率与移相角呈抛物线关系,且在ϕ=±π/2(即D=±0.25)时达到理论最大值。然而,在实际应用中,为了减小无功环流损耗,通常将工作点限制在较小的移相角范围内(如∣ϕ∣<π/3)。这也意味着在设计控制算法时,必须考虑到系统增益在不同工作点的变化,这对于线性控制器(如PI)的设计提出了鲁棒性挑战。
3. 高级调制策略与软开关优化
虽然SPS调制简单易行,但其仅利用了唯一的控制自由度(外移相角ϕ)。当输入输出电压比k=Vin/(nVout)偏离1时,SPS调制会导致巨大的电感峰值电流和回流功率,严重恶化变换器效率,并导致ZVS范围缩窄。为解决这一问题,引入更多的控制自由度(内移相角)成为必然趋势。

3.1 扩展移相(EPS)调制
扩展移相调制在SPS的基础上,增加了一个内移相角D1,通常施加在原边全桥上,使其输出电压变为三电平波形(+Vin,0,−Vin),而副边仍保持50%占空比的两电平波形。
控制变量: 外移相角Dϕ,原边内移相角D1。
优化目标: EPS主要用于降低回流功率(Backflow Power)。通过调节D1,可以改变原边电压与电感电流的相位关系,使得在电压不匹配(k=1)的情况下,减少电流反向流动的区间。
ZVS特性: EPS能够显著扩展原边开关管的ZVS范围,特别是在轻载条件下。通过KKT(Karush-Kuhn-Tucker)条件求解优化问题,可以得到使得回流功率最小的最优D1和Dϕ组合。
3.2 双重移相(DPS)调制
DPS调制在原边和副边同时引入相同的内移相角D1=D2,再加上外移相角Dϕ。
机理: 原副边电压均变为三电平波形。这种对称的调制方式有利于降低变压器的励磁电流偏置,并在系统参数对称时表现优异。
优势: 相比SPS,DPS能显著降低电感电流的峰值和有效值(RMS),从而减小磁性元件的铜损和开关管的导通损耗。
3.3 三重移相(TPS)调制
TPS是相移控制的终极形式,利用了所有三个自由度:原边内移相D1,副边内移相D2,以及外移相Dϕ。
全局优化: TPS提供了最大的控制灵活性,理论上可以在任意电压增益和负载条件下找到使总损耗(包括导通损耗和开关损耗)最小的最优解7。
实现复杂性: TPS的解空间极其复杂。TPS包含多达12种不同的工作模式。实时求解这些模式的最优解对控制器的算力要求极高。因此,工程实践中常采用离线计算生成的查找表(LUT)或简化的次优轨迹控制。
3.4 变频调制(VFM)的引入
针对宽电压范围应用(如电动汽车充电,电池电压变化范围大),固定频率的移相控制往往难以全范围维持ZVS。
策略: VFM通过改变开关频率fs来调节等效阻抗。在轻载下提高频率,可以削弱峰值电流,但在某些ZVS边界处,降低频率可能更有利于积累足够的激磁能量来抽走结电容电荷。
混合控制: 结合SPS+VFM的混合控制策略,可以在极宽的负载范围内(甚至低至10%额定功率)维持软开关,显著提升轻载效率。
3.5 调制策略对比总结表
| 调制策略 | 控制自由度 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| SPS | 1 (Dϕ) | 算法简单,动态响应快,易于实现 | 轻载回流功率大,ZVS范围窄,RMS电流高 | 电压匹配度高,负载较稳定的场景 |
| EPS | 2 (Dϕ,D1) | 降低回流功率,扩展原边ZVS | 副边ZVS改善有限,控制略复杂 | 电压不匹配,关注回流功率抑制的场景 |
| DPS | 2 (Dϕ,Din) | 降低电流峰值和RMS值 | 控制变量耦合,优化求解较难 | 对称性较好的中高功率传输 |
| TPS | 3 (Dϕ,D1,D2) | 全局最优效率,全范围ZVS潜力 | 算法极复杂,需LUT或高性能DSP | 对效率要求极高的SST核心DC/DC级 |
| VFM | fs + ϕ | 拓宽ZVS范围至极轻载 | 磁性元件设计困难(需兼顾频域),EMI滤波器设计复杂 | 宽输出电压范围的EV充电器 |
4. 关键硬件参数对控制的影响:以SiC MOSFET为例
控制算法的设计不能脱离硬件特性。第三代宽禁带半导体(SiC)的引入极大地提升了DAB的性能上限,但也对死区时间(Dead Time)和驱动控制提出了更严苛的要求。
4.1 BASiC Semiconductor SiC模块特性分析
参考BASiC Semiconductor的BMF240R12KHB3 (1200V/240A) 和 BMF540R12MZA3 (1200V/540A) 模块的数据手册,我们能提取出对控制至关重要的参数19。
开关速度极快: BMF240R12KHB3的典型开通延迟td(on)仅为65ns,上升时间tr为37ns;关断延迟td(off)为110ns,下降时间tf为36ns(@25°C)。这意味着SiC DAB可以工作在几十kHz甚至上百kHz的频率下。
极低的栅极电荷: 总栅极电荷QG仅为672nC,这降低了驱动功率要求,允许更陡峭的驱动脉冲,从而减少开关损耗。
体二极管特性: SiC MOSFET的体二极管反向恢复电荷Qrr极小,这对于DAB中经常出现的电流换流过程非常有利,减少了硬开关瞬间的电流尖峰。
4.2 死区时间(Dead Time)的计算与补偿
死区时间是为了防止桥臂直通而设置的。然而,在DAB中,死区时间也是实现ZVS的关键窗口。过大的死区会导致电流过早反向,破坏ZVS条件;过小则可能导致直通或无法完全抽取结电容Coss的电荷。
死区计算公式:
理论最小死区时间tdead应满足:
tdead≥td(off)+tf+Iload_minCoss(eq)⋅Vbus
其中,Coss(eq)是桥臂等效输出电容(考虑上下管),Iloadmin是滞后桥臂在死区开始时的电感电流瞬时值[20]。对于SiC器件,由于Coss具有强非线性且随电压变化,精确计算需积分电荷量。
死区效应与补偿:
死区不仅影响ZVS,还会导致电压波形畸变(电压极性翻转延迟),进而造成实际移相角与指令值产生偏差。这种偏差会导致功率传输误差,特别是在高频下,几十纳秒的误差都会显著影响精度。
补偿算法: 在数字控制中,需根据电流极性动态调整PWM的比较值(CMPA/CMPB)。如果电流为正,实际脉宽会被死区“吞噬”,因此需要在指令中增加死区时间补偿量;反之则减小。
5. SST中DAB的系统级控制策略
在SST应用中,DAB不仅仅是一个独立的变换器,而是级联系统中的一环。

5.1 输入串联输出并联(ISOP)电压平衡控制
SST的中压侧通常由多个DAB模块输入串联而成。由于模块参数(如漏感、电容容值)的不一致,输入电压(电容电压)会自动发散,导致个别模块过压。因此,**输入电压均压(Input Voltage Sharing, IVS)**控制是必须的。
解耦控制架构:
输出电压环(由总功率决定): 所有的DAB模块共享一个总的输出电压环,该环路输出一个公共的移相角指令Dcommon,用于调节总的输出电压或电流。
输入均压环(由个体差异决定): 每个模块i都有一个独立的均压环。该环路检测本模块的输入电压Vin,i与平均输入电压Vin,avg的差值。
ΔVin,i=Vin,i−N1∑k=1NVin,k
该误差经过一个比例(P)或比例积分(PI)控制器,生成微调移相量Δdi。
最终指令合成:
di=Dcommon+Δdi
逻辑分析: 如果某模块输入电压过高,说明其阻抗相对较大或处理功率不足。增加该模块的移相角Δdi(假设在单调区)会增加其传输功率,从而从输入电容抽取更多电流,使其电压下降,达到平衡。
5.2 软启动(Soft-Start)控制算法
DAB直接启动会产生巨大的励磁涌流和电容充电冲击电流,可能瞬间击穿SiC器件。SST的启动必须遵循严格的时序。
三阶段软启动策略:
阶段一:开环占空比斜坡(Open Loop Duty Ramp):
此时副边全桥所有开关保持关断(利用体二极管整流)或同步整流但不移相。
原边全桥开始发波,但占空比D从0缓慢增加到50%。这限制了施加在变压器上的伏秒积,防止磁芯饱和与电流过冲。
阶段二:移相角斜坡(Phase Shift Ramp):
当副边电压建立到一定水平,副边开始发波,且初始移相角为0。
随后,移相角ϕ按预设斜率线性增加,直到达到闭环控制所需的初始值。
阶段三:闭环切入(Closed Loop Handover):
当输出电压接近设定值,且系统状态稳定后,激活PI控制器,接管移相角的控制权。此时需预置PI积分器的初值,以防止控制跳变(Bump)。
6. 基于TI C2000 MCU的经典代码实现
数字控制器的实现细节直接决定了DAB的性能。TI的C2000系列(如TMS320F28379D, F280049C)凭借其高分辨率PWM(HRPWM)和强大的DSP核,是实现DAB控制的行业标准平台。
6.1 ePWM模块配置核心逻辑
实现移相控制的核心在于利用ePWM模块的**同步(Synchronization)与相位加载(Phase Loading)**功能。
计数模式: 必须使用增减计数模式(Up-Down Count Mode) 。这不仅能产生对称的PWM波形,减少谐波,还能保证在计数器零点和周期点更新寄存器,便于实现双边调制。
同步链: 原边主桥(Master, 如ePWM1)配置为在CTR=0时发出同步脉冲(SYNCOUT)。副边从桥(Slave, 如ePWM2)配置为在接收到SYNCIN时,将相位寄存器(TBPHS)的值加载到计数器(TBCTR)中。
TBPHS计算公式: 在增减计数模式下,一个完整的PWM周期包含2×TBPRD个时钟周期。因此,180度的移相对应的时间计数值为TBPRD。
TBPHS_Ticks=180.0Phase_Degree×TBPRD
注意:C2000的TBPHS寄存器行为受PHSDIR(相位方向)位控制。若要滞后(Lag),通常设置PHSDIR=1(向上计数)或加载特定的计数值。
6.2 经典C代码结构
以下代码展示了基于C2000的DAB控制核心部分的实现,包含结构体定义、移相更新函数以及控制中断服务程序(ISR)。
6.2.1 控制结构体定义
为了代码的可移植性和清晰度,采用结构体封装DAB的状态变量。
C
typedef struct {
// 测量值
float32_t V_out_meas; // 输出电压采样
float32_t V_in_meas; // 输入电压采样
float32_t I_out_meas; // 输出电流采样
// 设定值
float32_t V_out_ref; // 目标输出电压
// 控制输出
float32_t phase_shift_ratio; // 归一化移相比 d (-0.5 to 0.5)
uint16_t tbphs_ticks; // 写入寄存器的计数值
// PI控制器状态变量
float32_t err;
float32_t inte; // 积分项
float32_t Kp;
float32_t Ki;
float32_t out_max;
float32_t out_min;
// 软启动状态
uint16_t soft_start_state; // 0: Idle, 1: Duty Ramp, 2: Phase Ramp, 3: Run
float32_t duty_ramp_val;
} DAB_Control_t;
DAB_Control_t dabCtrl;
6.2.2 移相更新函数 (Update Phase Shift)
此函数负责将计算出的移相角转换为硬件寄存器值,并处理方向位。这是实现SPS/EPS调制的底层驱动核心。
C
// 更新ePWM2相对于ePWM1的移相角
// phase_ratio范围: -0.5 (反向最大功率) 到 +0.5 (正向最大功率)
void DAB_UpdatePhase(float32_t phase_ratio) {
uint16_t period = EPwm1Regs.TBPRD;
int32_t shift_ticks;
// 1. 限幅保护
if (phase_ratio > 0.5f) phase_ratio = 0.5f;
if (phase_ratio < -0.5f) phase_ratio = -0.5f;
// 2. 计算计数值 (Up-Down Mode: 180度 = TBPRD)
// 假设 phase_ratio = 0.5 对应 90度移相
shift_ticks = (int32_t)(phase_ratio * 2.0f * (float32_t)period); // ratio 0.5 -> 1.0 * TBPRD???
// 修正公式: 移相角phi = pi * d. d=0.5 -> phi=pi/2 (90度).
// 180度对应TBPRD. 所以90度对应 TBPRD/2.
// 公式应为: ticks = ratio * 2 * (TBPRD)??? 不,推导如下:
// 全周期 = 360度 = 2*TBPRD.
// ratio = 1.0 对应 180度 (SPS最大范围通常只到90度即ratio=0.5)
// 这里的ratio定义为 d = phi/pi. d=0.5 -> phi=pi/2.
// 对应时间 = (0.5 * pi) / (2*pi) * T_period = 1/4 T_period.
// T_period (ticks) = 2 * TBPRD.
// 所以 ticks = 1/4 * 2 * TBPRD = 0.5 * TBPRD.
shift_ticks = (int32_t)(phase_ratio * (float32_t)period); // 正确公式
// 3. 写入寄存器并处理方向
// C2000的TBPHS加载逻辑: 当SYNC信号到来时, CTR = TBPHS.
// 为了实现滞后(Lag), 从机在同步时刻应加载一个较小的值或改变计数方向
if (shift_ticks >= 0) {
// 正向移相 (原边超前副边)
EPwm2Regs.TBPHS.bit.TBPHS = shift_ticks;
EPwm2Regs.TBCTL.bit.PHSDIR = 1; // Count Up after Sync (相当于滞后)
} else {
// 反向移相
EPwm2Regs.TBPHS.bit.TBPHS = -shift_ticks;
EPwm2Regs.TBCTL.bit.PHSDIR = 0; // Count Down after Sync
}
// 关键:启用影子寄存器加载,防止波形抖动
// 这一步通常在初始化中配置: TBCTL2.bit.PRDLDSYNC = 1;
}
6.2.3 控制中断服务程序 (ISR)
控制回路通常在ADC转换结束中断中执行。对于ISOP系统,还需在此处加入均压算法。
C
#define ISR_FREQ 100000.0f // 100kHz
#define TS (1.0f/ISR_FREQ)
__interrupt void dab_control_isr(void) {
// 1. 读取ADC采样值并归一化
dabCtrl.V_out_meas = (float32_t)AdcResultRegs.ADCRESULT0 * ADC_PU_SCALE;
dabCtrl.V_in_meas = (float32_t)AdcResultRegs.ADCRESULT1 * ADC_PU_SCALE;
// 2. 状态机逻辑
if (dabCtrl.soft_start_state == 1) {
// 软启动阶段1: 占空比斜坡 (EPS模式启动)
dabCtrl.duty_ramp_val += 0.0001f;
if (dabCtrl.duty_ramp_val >= 0.5f) {
dabCtrl.duty_ramp_val = 0.5f;
dabCtrl.soft_start_state = 2; // 进入移相斜坡
}
// 更新原边占空比寄存器 (CMPA/CMPB)
uint16_t cmp_val = (uint16_t)((1.0f - dabCtrl.duty_ramp_val) * EPwm1Regs.TBPRD);
EPwm1Regs.CMPA.bit.CMPA = cmp_val;
EPwm1Regs.CMPB.bit.CMPB = cmp_val; // 对称
} else if (dabCtrl.soft_start_state == 2) {
// 软启动阶段2: 移相角斜坡 (SPS模式, Duty=50%)
dabCtrl.phase_shift_ratio += 0.0001f;
if (dabCtrl.V_out_meas >= (dabCtrl.V_out_ref * 0.9f)) {
dabCtrl.soft_start_state = 3; // 切换到闭环
// PI积分器初始化, 保证无扰切换
dabCtrl.inte = dabCtrl.phase_shift_ratio;
}
DAB_UpdatePhase(dabCtrl.phase_shift_ratio);
} else {
// 3. 稳态闭环控制 (电压环)
dabCtrl.err = dabCtrl.V_out_ref - dabCtrl.V_out_meas;
// 比例项
float32_t p_out = dabCtrl.Kp * dabCtrl.err;
// 积分项 (带抗饱和)
dabCtrl.inte += dabCtrl.Ki * dabCtrl.err * TS;
if (dabCtrl.inte > dabCtrl.out_max) dabCtrl.inte = dabCtrl.out_max;
if (dabCtrl.inte < dabCtrl.out_min) dabCtrl.inte = dabCtrl.out_min;
// ISOP 均压前馈 (假设有两模块, Vin_total已知)
// float32_t v_bal_term = K_bal * (dabCtrl.V_in_meas - (V_in_total * 0.5f));
// 平衡逻辑: 模块电压高 -> 增加移相角 -> 增加功率输出 -> 泄放电容能量
float32_t total_out = p_out + dabCtrl.inte; // + v_bal_term;
// 输出限幅
if (total_out > dabCtrl.out_max) total_out = dabCtrl.out_max;
if (total_out < dabCtrl.out_min) total_out = dabCtrl.out_min;
dabCtrl.phase_shift_ratio = total_out;
// 4. 更新硬件
DAB_UpdatePhase(dabCtrl.phase_shift_ratio);
}
// 5. 清除中断标志
AdcRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
}
7. 仿真与模型验证
在硬件实现之前,基于模型的开发(MBD)是验证控制算法的关键步骤。推荐使用MATLAB/Simulink或PLECS进行仿真。
模型搭建: 使用Simscape Electrical库中的基本半导体MOSFET模块搭建功率级,变压器需包含漏感参数。
数字控制仿真: 推荐使用Simulink的C2000 Microcontroller Blockset。可以直接使用ePWM模块进行配置,并在仿真环境中验证死区设置和移相逻辑是否正确29。
ISOP验证: 搭建两个串联输入的DAB模块,人为引入参数不一致(如Lk1=Lk2),验证均压环路是否能将两个输入电容电压钳位在Vin/2。
8. 结论

深圳市倾佳电子有限公司(简称“倾佳电子”)是聚焦新能源与电力电子变革的核心推动者:
倾佳电子成立于2018年,总部位于深圳福田区,定位于功率半导体与新能源汽车连接器的专业分销商,业务聚焦三大方向:
新能源:覆盖光伏、储能、充电基础设施;
交通电动化:服务新能源汽车三电系统(电控、电池、电机)及高压平台升级;
数字化转型:支持AI算力电源、数据中心等新型电力电子应用。
公司以“推动国产SiC替代进口、加速能源低碳转型”为使命,响应国家“双碳”政策(碳达峰、碳中和),致力于降低电力电子系统能耗。代理并力推BASiC基本半导体SiC碳化硅MOSFET单管,BASiC基本半导体SiC碳化硅MOSFET功率模块,BASiC基本半导体SiC模块驱动板等功率半导体器件以及新能源汽车连接器。
SST中的DAB变换器控制是一个涉及多物理场、多时间尺度的复杂工程。从底层的SiC器件驱动与死区补偿,到中层的SPS/TPS调制算法,再到顶层的ISOP均压与软启动策略,每一个环节都决定了最终系统的效率与可靠性。
通过深入分析BASiC Semiconductor的SiC模块特性,结合TI C2000强大的数字控制能力,提供了一套完整的工程实现路径。SPS调制虽然经典,但在SST的高压大功率场景下,必须结合EPS/TPS优化以及VFM变频控制来应对轻载效率挑战。同时,提供的C代码框架解决了最棘手的移相寄存器配置与时序同步问题,为实际工程开发奠定了坚实基础。未来的研究方向将更多聚焦于基于AI的数据驱动控制(如强化学习)在DAB全工况寻优中的应用。
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !