NCP380-Ilim-Widerstand mit Python berechnen
English
Deutsch
Problem
Du möchtest den korrekten Wert für den Ilim-Widerstand für den NCP380-Strombegrenzer-IC mit einem benutzerdefinierten Stromlimit berechnen.
Lösung
Dieses Skript verwendet nicht nur die Formel aus dem Datenblatt zur Berechnung des theoretischen Widerstandswerts, sondern führt auch Bereichsprüfungen durch (der NCP380 unterstützt nur Ströme von 0,1 bis 2,1 Ampere) und berechnet den nächsten E96-Widerstandswert.
Um das Skript auszuführen, musst du Resistors.py im selben Verzeichnis ablegen (siehe diesen vorherigen Post für Details).
compute_ncp380.py
#!/usr/bin/env python3
"""
Ein Skript, das den NCP380-Limit-Widerstand berechnet.
Siehe http://www.onsemi.com/pub_link/Collateral/NCP380-D.PDF Seite 17
Basierend auf Resistors.py, siehe
https://techoverflow.net/2015/05/19/finding-the-nearest-e96-resistor-value-in-python/
"""
from UliEngineering.Electronics.Resistors import *
from UliEngineering.EngineerIO import format_value
__author__ = "Uli Koehler"
__license__ = "CC0 1.0 Universal"
__version__ = "1.0"
def computeNCP380AdjResistor(ilim):
"""Berechnet den exakten Wert für den NCP380-Adjust-Widerstand,
gegeben einen Ilim-Wert in Ampere"""
#Grenzen prüfen
if ilim < 0.100: print("Warnung: NCP380 unterstützt keine Ströme unter 100 Milliamperes")
elif ilim > 2.1: print("Warnung: NCP380 unterstützt keine Ströme über 2.1 Amperes")
#Widerstand gemäß Gleichung 5 aus dem Datenblatt berechnen
rlim = -5.2959 * ilim**5 + 45.256 * ilim**4 - 155.25 * ilim**3 + 274.39 * ilim**2 - 267.6 * ilim + 134.21
return rlim * 1000.0 #Gleichung liefert Kiloohm
# Verwendungsbeispiel: E96 Rlim für Ilim=0.23A berechnen
if __name__ == "__main__":
# Theoretischen Wert berechnen
rlim = computeNCP380AdjResistor(0.23) #amperes
# Nächsten tatsächlichen Wert berechnen
actual_rlim = nearest_resistor(rlim, sequence=e96)
# Ergebnisse ausgeben
print("Theoretical rlim value: %s" % (format_value(rlim, "Ω")))
print("Closest E96 value: %s" % (format_value(actual_rlim, "Ω")))Check out similar posts by category:
Electronics, Python
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow