Cálculo ainda mais simples de regulador buck usando Python

Em Seleção de indutor para regulador buck simples usando Python mostramos um método baseado em Python para determinar matematicamente faixas adequadas de indutores.

V
V
Hz
H
A

No entanto, esse método requer que muitos parâmetros sejam escolhidos ou inseridos a partir do datasheet, que às vezes não estão disponíveis. Além disso, às vezes o valor do indutor já é conhecido (por exemplo, a partir de uma tabela no datasheet).

Com base nisso, a abordagem simplificada a seguir foca em calcular a ondulação da corrente do indutor e a ondulação da tensão de saída para um conjunto dado de parâmetros, usando um valor de indutor fixo.

3V3-Buck-Calculation.py
#!/usr/bin/env python3
# IMPORTANTE: Usamos os limites de corrente de vale
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")
#
# FIM DOS PARÂMETROS
#
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 # Estimativa para ESR de cerâmica paralelo
)

# Imprimir resultados
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"))

Exemplo de saída

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 mV

Check out similar posts by category: Calculators, Electronics