Forum: Projekte & Code Tool zur Berechnung optimaler Widerstandskombinationen (E6–E96)


von Robert S. (Firma: Siegler-Ingenieurbüro) (robby75)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,
da ich in der Elektronikentwicklung arbeite und beim Experimentieren 
häufig aus meiner Widerstandskiste passende Kombinationen für 
Spannungsteiler oder andere Schaltungen zusammensuchen muss, habe ich 
mir ein kleines Windows-Tool geschrieben, das mir dabei hilft.

Vielleicht ist es ja auch für den einen oder anderen hier nützlich, 
daher stelle ich es euch gerne zur Verfügung.

Die Bedienung ist recht einfach:
Man gibt den gewünschten Widerstandswert ein, z. B. in folgenden 
Notationen:
4,7m
4.7m
4m7
8,63M
2.66M
4M7
3k32
3.32k
3,32k
Anschließend wählt man die gewünschte E-Reihe (E6 bis E96). Das Programm 
berechnet daraus automatisch die besten Kombinationen aus Reihen- und 
Parallelschaltungen. Damit lassen sich beispielsweise auch Shunts im 
Milliohmbereich aus Standardwerten berechnen.
Funktionsumfang:
Unterstützung der Normreihen E6, E12, E24, E48 und E96.
Berechnung optimaler Kombinationen für:
-Reihenschaltung
-Parallelschaltung
Anzeige der besten Treffer mit Fehler in Prozent!
Verschiedene Eingabeformate für Widerstandswerte (z. B. 4k7, 3.32k, 1M0, 
etc.)
Auswahl verschiedener Dekadenmodi (z. B. gleiche oder benachbarte 
Dekade).
Portable Windows-Anwendung (keine Installation notwendig).

Ich habe nicht geprüft, ob es bereits ähnliche Tools gibt – für meine 
eigenen Anwendungen war dieses kleine Programm aber sehr praktisch.

Falls jemand Verbesserungsvorschläge, Kritik oder Ideen hat, freue ich 
mich natürlich über Rückmeldungen.

Viele Grüße
Robert Siegler

P.S.: Falls es auf einem System nicht läuft, bitte mitteilen. Es ist 
keine .net Installation notwendig. Das ist mit integriert. Deswegen 
66Mb.

: Verschoben durch Moderator
von Jörg R. (solar77)


Lesenswert?

Sicherlich gut gemeint, aber ich führe auf meinem PC mit Sicherheit 
keine .EXE Datei eines mir unbekannten Users aus.

Da ich nur eine E-Reihe zuhause habe, bis auf einige wenige Widerstande 
die ich auch aus einer anderen Reihe habe, bin ich bisher immer gut mit 
dem Taschenrechner zurechtgekommen, oder unter Zuhilfenahme einer 
Widerstandsdekade.

Sollte ich ständig mehr Bedarf haben würde ich mir was in Excel basteln.

Sorry, nix für ungut;-)

von Robert S. (Firma: Siegler-Ingenieurbüro) (robby75)


Lesenswert?

Hallo,
völlig verständlich. Ich wäre da wahrscheinlich genauso vorsichtig. Eine 
unbekannte *.EXE aus dem Internet sollte man grundsätzlich nicht 
unüberlegt starten.
Ich habe das Tool ursprünglich nur für mich selbst geschrieben, weil ich 
häufiger aus vorhandenen Widerständen passende Kombinationen für 
bestimmte Werte oder Spannungsteiler suche. Da dachte ich mir, ich 
stelle es einfach mal hier zur Verfügung – vielleicht kann es ja jemand 
gebrauchen.
Falls Interesse besteht, kann ich auch gerne den Quellcode zur Verfügung 
stellen, damit jeder selbst sehen kann, was das Programm macht bzw. es 
selbst kompilieren kann.
Viele Grüße
Robert

: Bearbeitet durch User
von Rolf (audiorolf)


Lesenswert?

QuellCode wäre i.O. allerdings geht das mit einer iterativen 
Exceltabelle auch, oder man lässt sich eine Tabelle mit VBA erstellen.

Das braucht so oder so ganz sicher keine 2x65MB!

von Robert S. (Firma: Siegler-Ingenieurbüro) (robby75)


Lesenswert?

Hallo,
ja, das stimmt natürlich. Mit Excel oder einer kleinen Iteration lässt 
sich so etwas ebenfalls lösen.
Der Hintergrund für die Größe der *.EXE ist, dass sie als .NET-Anwendung 
„self-contained“ kompiliert ist. Dadurch bringt sie die benötigte 
Laufzeitumgebung bereits mit und läuft auch auf Systemen, auf denen kein 
.NET installiert ist. Daher die etwa 65 MB.
Der eigentliche Programmcode selbst ist natürlich nur sehr klein.

Grüße R. Siegler

von N. M. (mani)


Lesenswert?

Mir geht es genauso wie meinem Vorredner.
Virustotal sagt zwar großteils OK, aber wegen solch einem kleinen 
Programm ein Risiko eingehen ist es halt nicht wert.

Auch wenn die kompletten Abhängigkeiten mit dabei sind ist das schon 
heftig mit der Größe.
Eine Konsolen Anwendung hätte es auch getan und wäre vermutlich im kB 
Bereich.

Ich hätte es heute vermutlich als Python Script geschrieben. Dann 
bekommt man es vielleicht sogar Platform unabhängig hin. Und wenn man 
dann Lust hat lässt man es sich als exe bauen. Und ich würde fast wetten 
dass es kleiner wird als 65MB.

Aber hey, wenn es funktioniert für dich ist doch alles gut 👍

von Chris K. (kathe)


Lesenswert?

Widerstände aus der E24 Reihe reichen für den größten Teil aus.
Wer aus der E96 Reihe benötigt sollte nochmal nachrechen in Bezug Wert / 
Toleranz ....
Aber dann auch noch den TK beachten ....

von Gunnar F. (gufi36)


Lesenswert?

Robert S. schrieb:
> Hallo,
> ja, das stimmt natürlich. Mit Excel oder einer kleinen Iteration lässt
> sich so etwas ebenfalls lösen.
> Der Hintergrund für die Größe der *.EXE ist, dass sie als .NET-Anwendung
> „self-contained“ kompiliert ist. Dadurch bringt sie die benötigte
> Laufzeitumgebung bereits mit und läuft auch auf Systemen, auf denen kein
> .NET installiert ist. Daher die etwa 65 MB.
> Der eigentliche Programmcode selbst ist natürlich nur sehr klein.
>
> Grüße R. Siegler

Hi Robert,
Danke für Deinen Beitrag! Ich verstehe und teile die Bedenken zum 
Programm und mag das auch nicht gerne so starten. Habe aber selbst auch 
schon über das Thema nachgedacht und nichts geeignetes gefunden. Leider 
weiß ich nicht, wie das in Excel per Iteration ginge.
Aber Deine Quelltexte interessieren mich damit umso mehr. Bin selbst 
C#-Programmierer mit so einigermaßenem Erfahrungsstand.
Freue mich von Dir zu hören!

Gruß Gunnar

von Thomas W. (goaty)


Lesenswert?

ElectroDoc App hat das eingebaut.

Irgendwo hatten wir hier mal einen Thread, wo man beliebige vorhandene 
Widerstände angeben könnte, aus denen der gesuchte Wert kombiniert 
wurde.

von Christian M. (christian_m280)


Lesenswert?

Jörg R. schrieb:
> auf meinem PC mit Sicherheit keine .EXE Datei eines mir unbekannten
> Users aus.

Aber

Rolf schrieb:
> Exceltabelle

Excel dann schon? Das würde ich niemals installieren!

Gruss Chregu

von Sebastian R. (sebastian_r569)


Lesenswert?

Mein Favorit ist dabei immer noch das Tool von Zabex:
https://ne555.de/r.html

Online, keine Exe, keine 65MB und kein Excel.

: Bearbeitet durch User
von Nick (b620ys)


Lesenswert?

KiCAD hat das schon an Bord. Mit Lösungen mit 2 bis 4 Widerständen.
Wenn auch nur mit E1 ... E24.

von Hannes J. (pnuebergang)


Lesenswert?

Es gibt diverse Tools online. Eine Sekunde googeln liefert zum Beispiel

https://jansson.us/resistors.html#valueCalc
https://www.qsl.net/in3otd/parallr.html

Hier ist ein Algorithmus der es mit dem Finden ein bisschen übertreibt. 
Es wird von idealen Widerständen ohne Toleranzen ausgegangen:

https://electronics.stackexchange.com/questions/69028/does-anyone-remember-this-article-about-the-euclidean-algorithm

Mit den erwähnten Kettenbruchberechnung 
(https://de.wikipedia.org/wiki/Kettenbruch) habe ich mir mal vor ewigen 
Zeiten ein Programm geschrieben, und es nie gebraucht/verwendet. Es war 
aber eine nette Programmier-Fingerübung.

Ich habe vor Jahrzehnten noch die Benutzung von Nomogrammen 
(https://en.wikipedia.org/wiki/Nomogram) zur Bestimmung paralleler 
Widerstände gelernt. Die kann man auch rückwärts vom Wunschwert 
ausgehend verwenden. Beispiel 
https://www.edn.com/parallel-resistance-nomograph/

Der wichtigste Punkt fehlt aber, nämlich man braucht es fast nie  Die 
Einzelwiderstände und die anderen Bauteile haben so große Toleranzen das 
Runden auf den nächsten E-Wert und notfalls eine E-Serie höher gehen 
fast immer reicht. Wenn nicht ist meist ein Trimmer (oder was 
Moderneres) zum Abgleich vorzusehen.

von Axel R. (axlr)


Lesenswert?

"1 durch" was ich habe <minus> "1 durch" was ich brauche; dann nochmal 1 
durch. Dann bekomme ich angezeigt, was ich drüberlöten muss.
Wie geht das anders? Geich mal eure Suchergebnisse ansehen. bestimmt 
spannend, danke schonmal.

Hier: Favorit
https://www.qsl.net/in3otd/parallr.html
Sehr gut!
Danke für diesen Beitrag

: Bearbeitet durch User
von Thorsten S. (thosch)


Lesenswert?

Ich nutze schon seit fast zwei Jahrzehnten ein kleines Tool dafür:
Resistor CAD 2.0 by Terry Harris from Vader Systems.


https://www.eevblog.com/2010/01/07/useful-resistor-calculation-tool/

Das 530kB kleine(!) Programm berechnet die Realisierung von 
Widerstandswerten als Serien- und Parallelschaltungen aus wählbaren 
E-Reihen.
Die Ergebnisse werden als Liste nach prozentualem Fehler sortiert 
angezeigt.

Für mich noch wichtiger ist die Möglichkeit, Spannungsteiler aus 
wählbaren E-Reihen zu berechnen.
Man gibt das gewünschte Teilerverhältnis, sowie den minimalen und 
maximalen Innenwiderstand des Spannungsteilers an und bekommt wieder 
eine nach Fehler sortierte Liste von Widerstandspaaren.

Nutze das ständig für die Berechnung der Spannungsteiler zum Festlegen 
der Ausgangsspannung von einstellbaren Spannungsreglern.

Und nein, man muß dafür nicht immer exotische E96-Werte nutzen.

Das Problem, einem Executable trauen zu müssen, bleibt.

: Bearbeitet durch User
von Marcel V. (mavin)


Lesenswert?

Robert S. schrieb:
> Eine unbekannte *.EXE aus dem Internet sollte man grundsätzlich nicht
> unüberlegt starten.

So eine Excel-Tabelle für die Berechnung der Widerstände ist sicherlich 
nur wenige Kilobyte groß. Deswegen verstehe ich nicht, wieso dein 
Programm 65 MB benötigt?

Oder hast du noch eine 3D-Animation programmiert und davorgeschaltet? 
Zeig doch mal ein Foto von der Aufmachermaske und von der Eingabemaske, 
dann kann man sich das alles besser vorstellen!

von Sebastian R. (sebastian_r569)


Lesenswert?

Marcel V. schrieb:
> Deswegen verstehe ich nicht, wieso dein
> Programm 65 MB benötigt?

Wird sicherlich ein Debug-Build sein, also ordentlich unnötige 
Zusatzinformationen für's Debugging, die dem Anwender aber nicht helfen.

von J. T. (chaoskind)


Lesenswert?

Marcel V. schrieb:
> Deswegen verstehe ich nicht, wieso dein Programm 65 MB benötigt?

Robert S. schrieb:
> Der Hintergrund für die Größe der *.EXE ist, dass sie als .NET-Anwendung
> „self-contained“ kompiliert ist. Dadurch bringt sie die benötigte
> Laufzeitumgebung bereits mit und läuft auch auf Systemen, auf denen kein
> .NET installiert ist. Daher die etwa 65 MB.
> Der eigentliche Programmcode selbst ist natürlich nur sehr klein.

von Jörg R. (solar77)


Lesenswert?

Christian M. schrieb:
> Jörg R. schrieb:
>> auf meinem PC mit Sicherheit keine .EXE Datei eines mir unbekannten
>> Users aus.
>
> Aber
>
> Rolf schrieb:
>> Exceltabelle
>
> Excel dann schon? Das würde ich niemals installieren!

Abgesehen von der merkwürdigen Zitierung hast du scheinbar nicht 
verstanden um was es eigentlich geht. Um deine Aversion gegen Excel & Co 
sicherlich nicht.

von Marcel V. (mavin)


Lesenswert?

Aha, das hatte ich überlesen.

von Zero V. (Firma: Angestellter/Freelancer) (gnd)


Lesenswert?

Eine KI deines vertrauens, macht das doch schon alles und ist viel 
universeller einsetzbar.

von Sebastian R. (sebastian_r569)



Lesenswert?

Zero V. schrieb:
> Eine KI deines vertrauens, macht das doch schon alles und ist viel
> universeller einsetzbar.

Solange generative Text-KIs mir nicht sagen können, wie viele 'E' im 
Wort "Erdbeere" sind, würde ich den halluzinierenden Zufallsgeneratoren 
nicht so weit trauen.

Und bis ich den Prompt geschrieben habe und erklärt habe, worum es geht, 
habe ich eines von X Online- oder Offline-Tools verwendet, in das ich 
nur den gewünschten Wert eintippen muss.

Anbei das Ergebnis für 555 Ohm nach ein bisschen Diskussion
Das macht weder Spaß noch ist es irgendwie produktiv oder praktikabel.

: Bearbeitet durch User
von Marek N. (db1bmn)


Angehängte Dateien:

Lesenswert?

Irgendwann vor mehr als einem Vierteljahrhundert habe ich sowas mal in 
QBasic zusammenprogrammiert, was die E-Werte per Brute-Force 
durchgetickert hat.

KiCad hat das mittlerweile auch an Board.

von Vanye R. (vanye_rijan)


Lesenswert?

Ich weiss ich bin alt und faehig, aber ich nehme einfach meinen 
Taschenrechner:

 4k gesucht --> Naechstgroesserer E12 Wert in der Kiste: 4.7k

1/ (1/4 - 1/4.7) = 26.876  --> 27k

Aha!

4.7k||27k = 4.003k

Wenn euer Taschenrechner UPN kann dann sind das keine 10s. .-)

Und seit dem wir alle 0603 nutzen kann man die ja auch problemlos 
stapeln...

Vanye

von H. H. (hhinz)


Lesenswert?

Vanye R. schrieb:
> Und seit dem wir alle 0603 nutzen kann man die ja auch problemlos
> stapeln...

Das wird noch zur Sprachverwirrung der KIs führen!

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Robert S. schrieb:
> Falls Interesse besteht, kann ich auch gerne den Quellcode zur Verfügung
> stellen

Titel dieses Unterforums:

"Hier könnt ihr Projekte, Schaltungen oder Codeschnipsel vorstellen. 
Projekte bitte nur mit Code oder Schaltplan posten ..."

Von daher wäre der Quellcode ganz hilfreich.

von Christoph M. (mchris)


Angehängte Dateien:

Lesenswert?

Meiner Meinung nach würde man heutzutage so ein Hilfsprogramm nicht in 
einer 65MB großen EXE machen, sondern in einer unter 10kb großen HTML/JS 
Seite (dann läuft es auch auf jedem Rechner und hängt nicht auch noch 
vom Betriebssystem ab).
Hier ein kurzer Versuch mit Perplexity ( 2 Anläufe mit Korrektur ), 
damit man ungefähr sehen kann, wie so was gemacht sein könnte.

: Bearbeitet durch User
von Hans (ths23)


Lesenswert?

Marcel V. schrieb:
> So eine Excel-Tabelle für die Berechnung der Widerstände ist sicherlich
> nur wenige Kilobyte groß. Deswegen verstehe ich nicht, wieso dein> Programm 65 
MB benötigt?
Hat er doch geschrieben woran es liegt. Das bei C# Programmen 
erforderliche .Net Framework macht die Sau fett. Er hat es mit 
einkompiliert und somit wird die Exe  eben ein Schwergewicht. Ansonsten 
müßte er die .Net Redistributable mit weitergeben und die werden dann 
installiert und verteilen sich an anderer Stelle. An der Gesamtgröße 
ändert sich da ga nichts.

Sebastian R. schrieb:
> Wird sicherlich ein Debug-Build sein, also ordentlich unnötige
> Zusatzinformationen für's Debugging, die dem Anwender aber nicht helfen.
Völliger Unfug. Hat mit Debugging gar nicht zu tun. Lies einfach mal 
nach wie ein C# oder auch Monoprogramm funktioniert, dann weist Du ach 
warum Programme die mit .Net daherkommen etwas gewichtiger sind - 
zumindest der Installer

Allerdings dürfte das Einkompilieren  des Frameworks heutzutage nicht 
mehr erforderlich sein, da auf aktuellen Windosen i.d.R. auch das 
aktuelle Framework installiert sein dürfte.

von Peter M. (r2d3)


Angehängte Dateien:

Lesenswert?

Hallo Gunnar F.,

Gunnar F. schrieb:
> Leider
> weiß ich nicht, wie das in Excel per Iteration ginge.

dieser Diskussionsfaden vermischt die Berechnung von Spannungsteilern 
mit der Berechnung von Widerständen. Ich habe für mich in Excel ein 
Programm für die Berechnung von Spannungsteilern geschrieben. Den "Kot" 
(Freudsche Fehlleistung) will ich nicht rausrücken, erkläre aber gerne, 
wie ich es gelöst habe.

Hintergrund war die Berechnung von Spannungsteilern für 
Spannungsreferenzen, also z.B. der Anhebung der Ausgangsspannung einer 
LM399 von ca 7 Volt auf 10 Volt. Hier geht's also um das private Umfeld, 
wo kein E96-Schrank zur Verfügung steht, sondern eher wenige 
Widerstände, dafür aber mit geringem TK.

In Spalte A gibt man aufsteigend sortiert die vorhandenen Widerstände 
ein.
Hier sind's Bürklin Drahtwiderstände mit TK10 von anno Tobak, deswegen 
ist die Auswahl hier so klein.

Die Schaltfläche "2 Widerst" startet ein Makro, dass die Spalte A von 
oben nach unten durchläuft. und die Tabelle befüllt.
Zu jedem Widerstand in Spalte A sucht das Makro die beiden Widerstände, 
die das gesuchte Teilerverhältnis am besten annähern.

In Spalte L steht das Teilerverhältnis und in M (für 
OPV-Verstärkerschaltungen) die Ausgangsspannung, wenn mit dem 
angenäherten Teiler die 7,04 Volt verstärkt werden.

Der Code hinter der Schaltfläche 3 Widerstände versucht, den vorhandenen 
Teiler durch Parallelschaltung zu verbessern.

In hellgrüner Farbe habe ich nochmal beispielhaft aufgeführt, wie man 
das Verhältnis 0,704 aus den Widerständen mit 5000, 2000 und 100.000 Ohm 
annähert.

Bei mir sind das ca. 250 Zeilen Makrocode, der aber auch unter 
Libre-Office laufen sollte, das ja mittlerweile Teile von VBA emuliert.

von Jack V. (jackv)


Lesenswert?

Frank M. schrieb:
> Von daher wäre der Quellcode ganz hilfreich.

Dies. Würde mich wirklich interessieren, was an einem Programm mit der 
genannten Funktionalität die 65MB an Anspruch nimmt.

von Rick (rick)


Lesenswert?

Jack V. schrieb:
> was an einem Programm mit der
> genannten Funktionalität die 65MB an Anspruch nimmt.
Wer lesen kann ist klar im Vorteil...


Robert S. schrieb:
> Es ist
> keine .net Installation notwendig. Das ist mit integriert. Deswegen
> 66Mb.

Robert S. schrieb:
> Der Hintergrund für die Größe der *.EXE ist, dass sie als .NET-Anwendung
> „self-contained“ kompiliert ist.

Hans schrieb:
> Das bei C# Programmen
> erforderliche .Net Framework macht die Sau fett.

von Jack V. (jackv)


Lesenswert?

Rick schrieb:
> Wer lesen kann ist klar im Vorteil.

Mea culpa, danke.

Dennoch hätte auch ich hier den Code erwartet.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.