1. Boost PFC 主电路参数计算与选型
任务说明
输入:交流输入 Vac=220V(有效值)、输出功率 Po=1000W、开关频率 fs=65kHz、输出母线 Vo=400V。目标:算出 Boost PFC 的升压电感 L、输出电容 Co、开关管与二极管的电压/电流应力,并据此选型。
计算依据
- 峰值输入电压
Vpk=√2·Vac,峰值输入电流Ipk=√2·Po/(η·Vac)。 - 电感按最低输入电压(取
Vac_min=176V)下、峰值电流处允许的纹波ΔI=0.3·Ipk计算:L=Vpk_min·(1−Vpk_min/Vo)/(ΔI·fs)。 - 输出电容按保持时间
th=20ms、允许母线跌落ΔVo=40V计算:Co=2·Po·th/(Vo²−(Vo−ΔVo)²)。 - 开关管/二极管电压应力取
Vo并留 1.5 倍裕量;电流应力取峰值输入电流并留裕量。
完整计算与选型代码
import math
# ---- 输入参数 ----
Vac = 220.0 # 交流输入有效值 (V)
Vac_min = 176.0 # 最低输入电压 (V)
Po = 1000.0 # 输出功率 (W)
Vo = 400.0 # 输出母线电压 (V)
fs = 65e3 # 开关频率 (Hz)
eta = 0.95 # 预估效率
ripple = 0.30 # 电感电流纹波系数
th = 20e-3 # 保持时间 (s)
dV = 40.0 # 允许母线跌落 (V)
# ---- 峰值电压/电流 ----
Vpk = math.sqrt(2) * Vac
Vpk_min = math.sqrt(2) * Vac_min
Ipk = math.sqrt(2) * Po / (eta * Vac)
# ---- 升压电感 ----
dI = ripple * Ipk
L = Vpk_min * (1 - Vpk_min / Vo) / (dI * fs)
# ---- 输出电容 ----
Co = 2 * Po * th / (Vo**2 - (Vo - dV)**2)
# ---- 器件应力 ----
V_stress = Vo * 1.5
I_stress = Ipk * 1.5
print(f"Vpk={Vpk:.1f} V, Vpk_min={Vpk_min:.1f} V")
print(f"Ipk={Ipk:.2f} A, dI={dI:.2f} A")
print(f"L={L*1e6:.1f} uH")
print(f"Co={Co*1e6:.1f} uF")
print(f"Vds/Vd stress={V_stress:.0f} V, Id stress={I_stress:.2f} A")
# ---- 选型建议 ----
print("\n--- 选型 ---")
print(f"电感: {L*1e6:.0f} uH, 饱和电流 > {Ipk+dI/2:.1f} A")
print(f"电容: {Co*1e6:.0f} uF / 450V 电解电容")
print(f"MOSFET: 600V, Id > {I_stress:.1f} A, Rds(on) 低")
print(f"二极管: 600V SiC 肖特基, If > {I_stress:.1f} A")
运行与验证
直接运行 python calc.py。预期输出(由公式唯一确定):Vpk≈311.1V、Ipk≈6.76A、L≈ 数百微亨量级、Co≈ 千微法量级。判定通过:打印出的 L、Co 与手算一致,且选型建议中的电压/电流裕量均大于计算应力。