ich habe meinen alten Delphi-7-Vorwiderstandsrechner von 2004 in Lazarus komplett neu geschrieben und als Open Source (MIT) veröffentlicht. Vielleicht ist er für den einen oder anderen nützlich, vor allem für Einsteiger.
Was er macht:
Rechnet live beim Tippen: Betriebsspannung, Flussspannung, LED-Strom, Anzahl LEDs in Reihe
Nimmt den nächsthöheren Normwert aus E12, E24 oder E96, damit der Strom nie über dem geplanten Wert liegt
Zeigt tatsächlichen Strom und Verlustleistung in Widerstand und LEDs, schlägt die Widerstandsbaugrösse vor (⅛ bis 1 W), warnt ab 50 % Auslastung und schätzt die Erwärmung
Farbringe (4 Ringe, bei E96 5 Ringe) und Schaltplan mit allen Werten
Ein aufklappbarer «Rechenweg» rechnet Schritt für Schritt mit den eigenen Zahlen vor
Eingebaute LED-Info (F1), Oberfläche Deutsch und Englisch
Beispiel: 12 V, eine weisse LED (3,2 V), 20 mA ergibt rechnerisch 440 Ω, gewählt 470 Ω (E12), echter Strom 18,72 mA, 164,8 mW im Widerstand, also ½ W.
Technik: Lazarus 3.8 / FPC 3.2.2, nur LCL, eine einzelne 64-Bit-EXE ohne Installation. Der Rechenkern hat FPCUnit-Tests, die bei jedem Build in GitHub Actions laufen.
Bei der Erwärmung ist für mich nicht klar ob die angegebenen Grad C die Differenz-Temperatur oder die Absolut-Temperatur ist (für den der es geschrieben hat ist natürlich alles klar). Wenn es die Absolut-Temperatur sein soll fehlt zumindest der Bezugswert/Umgebungstemperatur.
Lazarus gibt es doch auch für Linux, und der Quellcode ist auch dabei.
Auf die LED-Kennlinie geht das Programm vermutlich nicht ein?!
Vielleicht liege ich aber auch komplett daneben - ich berechne Vorwiderstände entweder von Hand, oder verwende gleich eine KSQ.
Deine Batterie liefert immer eine konstante (geregelte) Spannung, das ist unrealistisch, eine Batterie hat eine Spannung wenn voll und eine niedrigere Spannung am Ende ihrer Kapazität, z.B. Alkali-Mangan 1.5V auf 0.9V.
Das könnte der Rechner berücksichtigen, damit die LED bei voller Batterie nicht überlastet wird dann ausrechnen wie viel Prozent Helligkeit am Ende der Batterie noch raus kommt.
Kurz zum Grundgedanken: Eingegeben wird die Betriebsspannung, an der die LED hängt. Das kann ein geregelter Ausgang sein, z. B. 5 V von einem Netzteil, einem Treiber oder einem Mikrocontroller-Board. Für diesen typischen Fall ist das Tool gedacht: schnell den passenden Normwert, die Verlustleistung und die Baugrösse des Widerstands bestimmen.
@Ernst, @Michael: Bei einer Batterie oder einem Akku, deren Spannung sinkt, rechnet man mit der höchsten Spannung, also der vollen Batterie. Dann wird die LED nie überlastet und wird zum Ende hin nur dunkler. Eine Min/Max-Anzeige über einen Spannungsbereich und Toleranzen ist trotzdem eine gute Idee für später, ebenso das Tastverhältnis beim Blinken.
@Wastl: Gemeint ist die Übertemperatur gegenüber der Umgebung, also die Differenz. Es ist eine grobe Abschätzung über einen typischen Wärmewiderstand. Ich beschrifte es in der nächsten Version eindeutiger, z. B. «ca. +40 K über Umgebung».
@Rahul: Richtig, die LED-Kennlinie wird nicht nachgebildet, gerechnet wird mit der Flussspannung beim gewählten Strom aus dem Datenblatt. Für Anzeige-LEDs reicht das, für Hochleistungs-LEDs ist eine KSQ ohnehin die bessere Wahl.
@Hermann: Unter Wine läuft die EXE, wie Fred beschrieben hat. Eine eigene Linux-Version schaue ich mir an.
@Andreas: Eine formMain.frm gehört nicht zu LedPreResistor. LedPreResistor ist ein Lazarus-Projekt und lässt sich mit «lazbuild src/LedPreResistor.lpi» ohne weitere Dateien bauen. Nach dem Öffnen der .lpi ist der Editor zunächst leer; die Form findet man unter Projekt → Formulare (Shift+F12) → FormMain.
@Moritz: Helligkeit hängt stark vom LED-Typ ab, dafür bräuchte man die Lichtstärke aus dem Datenblatt. Ich notiere es als Idee.
Schaut doch nett aus, auch wenn ich keinen echten Bedarf an so einem
Rechner habe.
Was vielleicht helfen würde, wäre eine Abschätzung der Extremwerte.
Betriebsspannung ±10% (Wie aus dem PC-Netzteil z.B.) oder "5.4V…8.4V"
(2S-LiIon)
LED Vf 2.6V…3.6V, evtl. noch breiterer Bereich wenn Temperatur nicht
konstant.
Wenn ich genug Spannung habe, rechne ich mit Standardwerten, so genau kommt es nicht drauf an. Wenn es knapp werden könnte, habe ich ein Blatt in der Tabellenkalkulation, die Grenzwerte zu beurteilen.
Auf die LED-Kennlinie geht das Programm vermutlich nicht ein?!
Die ist eigentlich nur ganz unten relevant. Die Tabelle im Anhang habe ich 2017 an NoName-LEDs aufgenommen. Und überhaupt,ob die Kontrollampe nun 2 oder 2,2 mA bekommt, interessiert nicht.
Vielleicht liege ich aber auch komplett daneben - ich berechne
Vorwiderstände entweder von Hand, oder verwende gleich eine KSQ.
Für Beleuchtung KSQ, für Kontrollampen reicht ein Widerstand.
@Hermann: Für dich gibt es jetzt auch eine Linux-Version. Ich habe LedPreResistor extra nativ für Linux kompiliert (x86_64, GTK2, ohne Wine). Download als tar.gz in Version 2.2:
https://github.com/Elospeed/LedPreResistor/releases/latest
Über eine kurze Rückmeldung, ob es bei dir läuft, freue ich mich.
Wenn ich genug Spannung habe, rechne ich mit Standardwerten, so genau
kommt es nicht drauf an. Wenn es knapp werden könnte, habe ich ein Blatt
in der Tabellenkalkulation, die Grenzwerte zu beurteilen.
Wir sind ja nicht die Zielgruppe... Jeder mit ein wenig Elektronik-Erfahrung schätzt das im Kopf ab, weiß wie er es genau berechnen kann, oder nimmt einfach denselben 1k-Vorwiderstand, den er schon hunderte Male verbaut hat. Eine Signal-LED sieht man auch mit weniger als 20mA gut leuchten.
Ich denke das Tool richtet sich eher an Anfänger, die sich wundern warum die LEDs nur noch glimmen, sobald die Batterie leerer wird. Und denen kann es m.M.n durchaus helfen, wenn sie direkt mit der Nase auf die Grenzwerte gestoßen werden, und was diese für den LED-Strom bedeuten.
Jeder mit ein wenig Elektronik-Erfahrung schätzt das im Kopf ab, weiß
wie er es genau berechnen kann, oder nimmt einfach denselben
1k-Vorwiderstand, den er schon hunderte Male verbaut hat.
Endlich hat mal einer geschrieben. Hab schon gedacht, hier sind nur noch Zombies, die für alles eine App brauchen.
Wir sind ja nicht die Zielgruppe... Jeder mit ein wenig
Elektronik-Erfahrung schätzt das im Kopf ab, weiß wie er es genau
berechnen kann, oder nimmt einfach denselben 1k-Vorwiderstand, den er
schon hunderte Male verbaut hat. Eine Signal-LED sieht man auch mit
weniger als 20mA gut leuchten.
Das (20mA) war einmal. Im Anhang etwas, wo ich versucht habe, vier LEDs gefühlt vergleichbar hell zu haben, deutlich unter 2 mA.
Ich denke das Tool richtet sich eher an Anfänger, die sich wundern warum
die LEDs nur noch glimmen, sobald die Batterie leerer wird.
Schwierige Ecke, ich habe blaue LEDs an einem LiIon-Akku, die auch bei 3,3V noch sichtbar sind. Kurz drunter schalte ich ab, weil es für die Funktion des Gerätes nicht mehr ausreicht.
Und denen
kann es m.M.n durchaus helfen, wenn sie direkt mit der Nase auf die
Grenzwerte gestoßen werden, und was diese für den LED-Strom bedeuten.
Ein hehres Ziel, diese Grundlagen per bunter Software vermitteln zu wollen.
@Andreas: Eine formMain.frm gehört nicht zu LedPreResistor.
LedPreResistor ist ein Lazarus-Projekt und lässt sich mit «lazbuild
src/LedPreResistor.lpi» ohne weitere Dateien bauen. Nach dem Öffnen der
.lpi ist der Editor zunächst leer; die Form findet man unter Projekt →
Formulare (Shift+F12) → FormMain.
Ja, sorry, ich habe die Datei übersehen. Ich arbeite übrigens selbst mit Lazarus (weil es so schön plattformübergreifend ist).
Bei mir jedenfalls erscheint da mur ein schwarzes Fenster mit einer Absturzmeldung (Linux Mint 20.3). Ich schaue es mir aber mal näher an. Nicht weil ich das Programm gebrauchen könnte, sondern aus sportlichen Gründen. ;-)
Alles zurück! Gerade gesehen, daß Du es für Hermann schon überarbeitet hast.
Läuft jetzt.
Ich finde es aber schon lustig was für einen Aufwand man betreiben kann, um Vorwiderstände von LEDs auszurechnen (schöne grafische Gimmiks übrigens ;-) ). Leider hilft es relativ wenig, wenn man für verschiedenfarbige Anzeigen gleiche Helligkeiten haben möchte. Da hilft letztendlich nur austesten.
Für Beleuchtung KSQ, für Kontrollampen reicht ein Widerstand.
Und wenn die zu kontrollierende Spannung ziemlich variabel (z.B.5V-24V) ist?
Dann ist sie an der unteren Grenze ziemlich dunkel oder an der oberen ziemlich hell / kaputt.
Das ist ein Sonderfall, der eine gesonderte Behandlung erfordert. Man
kan alles zerreden.
ja, für eine Anzeige-LED, die eben nicht nur mit einem Vorwiderstand betrieben wird.
Es muss nicht alles für die Beleuchtung sein, was mit einer KSQ betrieben wird.
Deswegen hatte ich den Punkt angesprochen. Wenn ich Vorwiderstände
berechne (anstatt grob zu schätzen), dann ist genau das die Motivation
dazu.
Wenn man das in die SW machen wollte, müßte mal die Datenblätter aller möglichen LEDs hinterlegen. Reine Anzeige LEDs sind das schon mal ca. 27000 bei LCSC. ;-)
Wenn man das in die SW machen wollte, müßte mal die Datenblätter aller
möglichen LEDs hinterlegen.
Oder Eingabefelder für die relevanten Parameter bereit stellen.
Im Hobby habe ich allerdings eine Kiste mit irgendwelchen unbekannten LEDs. Die meisten davon als Wundertüte gekauft. Da bleibt eh nur das Ausprobieren.
Dafür wäre ein LED-Tester besser geeignet als eine Software, die Azubis als C-Übung in der Berufsschule geschrieben haben. Damals war es zwar nur ein Tootl für die Kommandozeile, hatte aber das selbe Ergebnis.
Muss mal bemerken, das ich den Namen LedPreResistor seltsam finde - ist wohl eine direkte Übersetzung des Vorwiederstandes, der aber current-limiting oder series resistor genannt wird?