LP2980-Adjust-Widerstand mit Python berechnen
English
Deutsch
Der LP2980-ADJ ist ein 50-mA-LDO, der mit einem Widerstandspaar für eine Ausgangsspannung von 1,23V bis 15V konfiguriert werden kann.
Das Datenblatt enthält eine Formel für die Ausgangsspannung, jedoch wird keine einfach zu verwendende anpassbare Software bereitgestellt, mit der der korrekte Widerstand auf reproduzierbarem Weg direkt berechnet werden kann.
Diesem Post ist ein Skript beigefügt, das auf UliEngineering basiert und nicht nur den nächsten E96-Widerstandswert (Standard, andere Bereiche ebenfalls verfügbar) berechnet, sondern auch die tatsächliche Ausgangsspannung mit dem tatsächlichen E96-Widerstandswert. Ein Verwendungsbeispiel ist am Ende enthalten.
lp2980_adjust_resistor.py
#!/usr/bin/env python3
"""
Ein Skript, das den LP2980-ADJ-Adjust-Widerstand berechnet.
Siehe https://www.ti.com/lit/ds/symlink/lp2980-adj.pdf Seite 17
Basierend auf Resistors.py, siehe
https://techoverflow.net/2015/05/19/finding-the-nearest-e96-resistor-value-in-python/
"""
from UliEngineering.EngineerIO import *
from UliEngineering.Electronics.Resistors import *
__author__ = "Uli Köhler"
__license__ = "CC0 1.0 Universal"
__version__ = "1.0"
def computeLP2980OutputVoltage(r):
"""Berechnet die tatsächliche Ausgangsspannung eines LP2980-ADJ gegeben den Adjust-Widerstand"""
return 1.23 + 1.23 * (r / 51.1e3)
def computeLP2980AdjResistor(u):
"""
Berechnet den exakten Wert für den LP2980-ADJ-Adjust-Widerstand,
gegeben eine Ziel-Ausgangsspannung in Volt.
"""
#Grenzen prüfen
if u < 1.23: print("Warnung: LP2980-ADJ unterstützt keine Ausgangsspannungen unter 1.23V")
elif u > 15: print("Warnung: LP2980-ADJ unterstützt keine Ausgangsspannungen über 15V")
#
return (100 * u - 123) * 51100 / 123
# Verwendungsbeispiel: E96 Rlim für U=4.00V berechnen
if __name__ == "__main__":
# Theoretischen Wert berechnen
radj = computeLP2980AdjResistor(normalize_numeric("4.00 V"))
# Nächsten tatsächlichen Wert berechnen
e96_rlim = nearest_resistor(radj, sequence=e96)
actual_vout = computeLP2980OutputVoltage(e96_rlim)
# Ergebnisse ausgeben
print("Theoretical Radj value: %s" % (format_value(radj, "Ω")))
print("Closest E96 value: %s" % (format_value(e96_rlim, "Ω")))
print("Output voltage at closest E96 value: %s" % (format_value(actual_vout, "V")))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