使用 Python 进行更简单的降压稳压器计算
在 使用 Python 进行简单的降压稳压器电感选择 一文中,我们展示了一种基于 Python 的方法,用于数学计算合适的电感范围。
然而,该方法需要从数据手册中选择或输入大量参数,而这些参数有时无法获取。此外,有时电感值已经是已知的(例如来自数据手册中的表格)。
基于此,以下简化方法专注于在给定一组参数和固定电感值的情况下,计算电感电流纹波和输出电压纹波。
3V3-Buck-Calculation.py
#!/usr/bin/env python3
# 重要:我们使用谷值电流限制
from UliEngineering.Electronics.SwitchingRegulator import *
from UliEngineering.EngineerIO import *
Vin = normalize_numeric("12V")
Vout = normalize_numeric("3.3V")
fsw = normalize_numeric("600kHz")
Ioutmax = normalize_numeric("3A")
inductance = normalize_numeric("4.7uH")
Cout = normalize_numeric("22uF")
#
# 参数结束
#
inductance_current = buck_regulator_inductor_current(
vin=Vin, vout=Vout, inductance=inductance, frequency=fsw, ioutmax=Ioutmax
)
output_ripple = buck_regulator_output_voltage_ripple(
ripple_current = inductance_current.ripple,
frequency=fsw, capacitance=Cout, esr=1e-3 # 并联陶瓷电容 ESR 的估算值
)
# 打印结果
print("Inductance:", format_value(inductance, "H"))
print("\tRipple current: ", format_value(inductance_current.ripple, "A"))
print("\tPeak current: ", format_value(inductance_current.peak, "A"))
print("\nInductor minimal ratings:")
print("\tSaturation current: ", format_value(inductance_current.peak, "A"))
print("\tThermal (RMS) current: ", format_value(inductance_current.rms, "A"))
print("\nRipple with Cout =", format_value(Cout, "F"))
print("\tVoltage ripple (P-P): ", format_value(output_ripple.pp, "V"))
print("\tVoltage ripple (RMS): ", format_value(output_ripple.rms, "V"))示例输出
Buck-Calculation-Output.txt
Inductance: 4.70 µH
Ripple current: 848 mA
Peak current: 3.42 A
Inductor minimal ratings:
Saturation current: 3.42 A
Thermal (RMS) current: 3.01 A
Ripple with Cout = 22.0 µF
Voltage ripple (P-P): 8.88 mV
Voltage ripple (RMS): 2.56 mVCheck out similar posts by category:
Electronics
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow