Noch einfachere Buck-Regler-Berechnung mit Python

English Deutsch

In Einfache Buck-Regler-Induktivitätsauswahl mit Python haben wir eine Python-basierte Methode vorgestellt, um geeignete Induktivitätsbereiche mathematisch zu bestimmen.

Diese Methode erfordert jedoch viele Parameter, die aus dem Datenblatt ausgewählt oder eingegeben werden müssen, was manchmal nicht verfügbar ist. Außerdem ist der Induktivitätswert manchmal bereits bekannt (z.B. aus einer Tabelle im Datenblatt).

Darauf aufbauend konzentriert sich der folgende vereinfachte Ansatz auf die Berechnung des Induktivitätsstromrippels und der Ausgangsspannungsrippel für einen gegebenen Parametersatz mit einem festen Induktivitätswert.

3V3-Buck-Calculation.py
#!/usr/bin/env python3
# WICHTIG: Wir verwenden die Valley-Stromgrenzen
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")
#
# ENDE DER PARAMETER
#
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 # Schätzwert für parallelen Keramik-ESR
)

# Ergebnisse ausgeben
print("Induktivität:", format_value(inductance, "H"))
print("\tRipple-Strom: ", format_value(inductance_current.ripple, "A"))
print("\tSpitzenstrom: ", format_value(inductance_current.peak, "A"))

print("\nInduktivität minimale Nennwerte:")
print("\tSättigungsstrom: ", format_value(inductance_current.peak, "A"))
print("\tThermischer (RMS) Strom: ", format_value(inductance_current.rms, "A"))

print("\nRipple mit Cout =", format_value(Cout, "F"))
print("\tSpannungsripple (P-P): ", format_value(output_ripple.pp, "V"))
print("\tSpannungsripple (RMS): ", format_value(output_ripple.rms, "V"))

Beispielausgabe

Buck-Calculation-Output.txt
Induktivität: 4.70 µH
        Ripple-Strom:  848 mA
        Spitzenstrom:  3.42 A

Induktivität minimale Nennwerte:
        Sättigungsstrom:  3.42 A
        Thermischer (RMS) Strom:  3.01 A

Ripple mit Cout = 22.0 µF
        Spannungsripple (P-P):  8.88 mV
        Spannungsripple (RMS):  2.56 mV

Check out similar posts by category: Electronics