Tool zur Berechnung optimaler Widerstandskombinationen (E6–E96)

OP (Firma: Siegler-Ingenieurbüro) #8023720
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.

Angehängte Dateien:
: Verschoben durch Moderator
#8023722
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;-)

OP (Firma: Siegler-Ingenieurbüro) #8023723
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
OP (Firma: Siegler-Ingenieurbüro) #8023727
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

#8023733
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 👍

#8023744
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

#8023778
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.

#8023790
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
#8023869
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!

#8023882
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.

#8023894
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
#8023960
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

#8024669
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.

Angehängte Dateien:
: Bearbeitet durch User
#8024678
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.

#8024739
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.

Angehängte Dateien:
#8024792
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren