Python : Calcul encore plus simple d'un régulateur abaisseur
Dans Sélection d’inductance pour un régulateur abaisseur simple avec Python, nous avons présenté une méthode basée sur Python pour déterminer mathématiquement les plages d’inductance appropriées.
Cependant, cette méthode nécessite de nombreux paramètres à choisir ou à saisir à partir de la datasheet, qui ne sont parfois pas disponibles. De plus, la valeur d’inductance est parfois déjà connue (par exemple à partir d’un tableau dans la datasheet).
Sur cette base, l’approche simplifiée suivante se concentre sur le calcul de l’ondulation du courant d’inductance et de l’ondulation de la tension de sortie pour un ensemble donné de paramètres, en utilisant une valeur d’inductance fixe.
3V3-Buck-Calculation.py
#!/usr/bin/env python3
# IMPORTANT : Nous utilisons les limites de courant de vallée
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")
#
# FIN DES PARAMÈTRES
#
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 # Estimation de l'ESR parallèle céramique
)
# Afficher les résultats
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"))Exemple de sortie
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