Forum: PC Hard- und Software ResSearch - Kleines Tool zum Finden von Widerständen


von bitte löschen (Gast)


Lesenswert?

Ich habe ein kleines Tool geschrieben, mit dem man anhand eines 
gegebenen Widerstandes Widerstände aus den Reihen E3 bis E96 finden 
kann, die parallel und seriell geschaltet den gewünschten Widerstand 
ergeben. Als weitere (darauf basierende) Funktion findet das Tool eine 
Kombination von Widerständen, die zusammengeschaltet den 
Gegenkopplungs-Spannungsteiler für einen nicht-invertierend beschalteten 
OP für einen bestimmten Verstärkungsfaktor ergeben.

Eigentlich habe ich das Tool nur geschrieben, um mir die Suche per Excel 
zu ersparen, aber da ich es nun habe, kann ich andere daran teilhaben 
lassen,
habe es unter GPL v3 lizensiert, und unter http://www.pksl.de/ressearch 
zum Download bereit gestellt.

Über Eure Meinungen würde ich mich freuen:
- Braucht man so etwas überhaupt, oder habe ich ein Standard-Tool, was 
jeder (außer mir) hat, übersehen?
- Ich habe die meiste Zeit (Wochen) damit verbracht, die GPL und wie sie 
mit meiner MS EULA.txt zusammenpasst zu verstehen, während die 
Programmierung nach 3-4 Tagen durch war. So ganz sicher bin ich mir 
trotzdem noch nicht, wie das geht, eigene Programme unter GPL zu 
veröffentlichen. Hinweise, was ich ändern kann/soll, wären hilfreich.
- Was fehlt noch?

von ich (Gast)


Lesenswert?

Schön gefällt mir!

Fehler: Zahl größer 7 eingeben und es wird trotz Meldung gesucht


Wunsch: eigene Widerstandswerte vorgeben, die man selbst da hat, und 
daraus dich beste Kombination berechnen. DAS wär wirklich praktisch.

von bitte löschen (Gast)


Lesenswert?

ich schrieb:
> Fehler: Zahl größer 7 eingeben und es wird trotz Meldung gesucht
Oh ja! Danke! :)

> Wunsch: eigene Widerstandswerte vorgeben, die man selbst da hat, und
> daraus dich beste Kombination berechnen. DAS wär wirklich praktisch.

Gute Idee, ich überlege mir etwas dazu.

von ich (Gast)


Lesenswert?

Das wäre gut, weil dann hat zwar jeder etwas Arbeit seine Widerstände 
einzugeben (sollte speicherbar sein, eventuell mit Anzahl der 
Vorhandenen Widerstände), aber das Tool ist dann individuell nutzbar:)

Eventuell auch noch Zahlen größer 7, also 10 oder so.

von ich (Gast)


Lesenswert?

desweiteren: noch die anzeige, wieviele kombinationen berechnet werden 
und wieviele berechnet worden sind..nur der balken ist sehr ungenau bei 
der e96 reihe

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Philipp Klostermann schrieb:
> Ich habe ein kleines Tool geschrieben, mit dem man anhand eines
> gegebenen Widerstandes Widerstände aus den Reihen E3 bis E96 finden
> kann, die parallel und seriell geschaltet den gewünschten Widerstand
> ergeben.

Die kleinen Reihen haben dabei eigentlich keinen Sinn: eine Reihe E3
hat ja nicht deshalb nur die Werte 1,0, 2,2 und 4,7, weil es dann nur
Widerstände von 1 kΩ, 2,2 kΩ und 4,7 kΩ gibt, sondern die hat sie
deshalb, weil man eine Menge zufällig produzierter Widerstandswerte
(in diesem Fall aus dem Bereich von 1 ... 10 kΩ) auf diese Weise in
drei gleiche "Töpfe" sortiert bekommt, die dann jeweils eine
entsprechend große Toleranz um den Nennwert herum haben.

Wenn man einen genauen Wert haben will, wird man dann aber nicht zur
hochtoleranten Reihe greifen, die nur in E6 ausgeliefert ist, sondern
mit E24 oder darüber bereits eng tolerierte Ausgangswerte benutzen.

von bitte löschen (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> Die kleinen Reihen haben dabei eigentlich keinen Sinn: eine Reihe E3
> hat ja nicht deshalb nur die Werte 1,0, 2,2 und 4,7, weil es dann nur
> Widerstände von 1 kΩ, 2,2 kΩ und 4,7 kΩ gibt, sondern die hat sie
> deshalb, weil man eine Menge zufällig produzierter Widerstandswerte
> (in diesem Fall aus dem Bereich von 1 ... 10 kΩ) auf diese Weise in
> drei gleiche "Töpfe" sortiert bekommt, die dann jeweils eine
> entsprechend große Toleranz um den Nennwert herum haben.

Grundsätzlich hast Du natürlich Recht, aber in der Praxis sind die 
Widerstände oft genauer, als die Nenn-Toleranz der jeweiligen Reihe.

Mir ist bewusst, das Das Programm durch die hohe Anzahl an 
Nachkommastellen eine höhere Genauigkeit vorgaukelt, als mit realen 
Bauteilen erreichbar ist, aber ich möchte es dem User überlassen, die 
Genauigkeit seiner Berechnungen zu ermitteln, und wo die Grenze zwischen 
Erreichbarem und Theoretischem liegt. Die kleinen Reihen weg zu lassen 
würde nur eine Einschränkung bedeuten, die zwar in der Praxis nicht 
stört, weil keiner die kleinen Reihen benutzt, aber technisch unnötig 
ist. Der User kann selbst entscheiden, welche Reihen er nutzen möchte.

Ich arbeite gerade am Einlesen eines .ini-Files, um User-definierte 
Werte zu ermöglichen. Das Format wir wie folgt sein:
1
; ressearch.ini
2
; von Philipp Klostermann
3
; Beispiele für User-definierte Werte
4
5
[Widerstaende 1]
6
Name = Bastelkiste
7
Werte = 1 4.7 10 33 100 220 470 1000 5600 10000 33000 47000 100000 220000 680000 1000000     
8
9
[Widerstaende 2]
10
Name = Fuhbah
11
Werte = 2.2 10 100 1000 3300 4700 10000 47000 100000, 470000 1000000


Meine Tochter ist wach, ich muss jetzt erst mal unterbrechen..

von ich (Gast)


Lesenswert?

Sieht doch gut aus:) Freu mich auf die Updates...

von bitte löschen (Gast)


Lesenswert?

OK, Update ist da. :)

von bitte löschen (Gast)


Lesenswert?

Ich habe gerade noch ein paar Bugs heraus gehauen und habe der 
Versionsnummer eine 4. Stelle spendiert, um nicht bei so kleinen 
Änderungen die 3.Stelle hoch zählen zu müssen.
Aktuelle Version ist nun 0.1.1.1.

von ich (Gast)


Lesenswert?

The requested URL /ressearch/ressearch-0.1.1.1-bin.zip was not found on 
this server.


:(

von bitte löschen (Gast)


Lesenswert?

Sorry, hatte das Hochladen vergessen. Jetzt funzt es.

von ich (Gast)


Lesenswert?

sieht gut aus danke...

bug:

1234567.800000 suchen lassen, reihe e3, 7 widerstände....->grafik 
fehlerhaft

von ich (Gast)


Lesenswert?

achso außerdem sieht man in der animation manchmal leere widerstände

von bitte löschen (Gast)


Lesenswert?

OK, da ist noch mindestens ein Bug. Ich werde mich später darum kümmern.
Vielleicht findet ihr noch mehr..

von ich (Gast)


Lesenswert?

op:

verstärkung:-4

dann einfach mal rechnen lassen....musst du ev. abfangen...die anzeige 
unten passt da auch teilweise nicht

von bitte löschen (Gast)


Lesenswert?

Da waren noch an einigen Stellen "komische" Zahlen, was an einem Fehler 
bei der Initialisierung der Werte für die E-Reihen lag.
Ich habe das beseitigt. Aktuelle Version ist jetzt 0.1.1.2

P.S. Um die Plausi-Prüfung für die Eingabewerte kümmere ich mich dann 
noch. Es hat jedenfalls bei der Fehlersuche geholfen, einen negativen 
Verstärkungsfaktor eingeben zu können.

von Jürgen (Gast)


Lesenswert?

Vielleicht kleinkarriert, aber könntest Du statt "Animiert" vielleicht 
"Visualisiert" oder ähnlich schreiben?! - Mit Animation hat die 
Darstellung nix zu tun...
Ansonsten super tool!

von bitte löschen (Gast)


Lesenswert?

Jürgen schrieb:
> könntest Du statt "Animiert" vielleicht
> "Visualisiert" oder ähnlich schreiben?!

Gerne, wenn mir etwas passenderes als "visualisiert" einfällt, was ich 
nicht für den perfekten Begriff halte, weil die Ergebnisse ja nach der 
Berechnung auch visualisiert werden.
"zeige Zwischenergebnisse" wäre eine Möglichkeit, aber das ist so lang 
und klingt umständlich.
Hat jemand andere Vorschläge?

von bitte löschen (Gast)


Lesenswert?

Ich habe gerade einen Aufruf der ResSearch-Seite von einem Linux-Rechner 
in meinem Log-File gefunden, und entdeckt, dass in meinem 
Eingangsposting kein Hinweis auf die derzeitige Beschränkung auf Windows 
zu finden ist.
Ich würde mich freuen, wenn ein Moderator das entsprechend ergänzen 
könnte, damit sich Linux-Anwender nicht veräppelt vorkommen.
Danke im Voraus. :)
(Dieser Beitrag kann dann ruhig weg.)

von Julian B. (julinho)


Lesenswert?

Hab dem Programm mal die Aufgabe gegeben 2K zu berechnen.
das Programm hat die relativ einfache Lösung 1k+1k nicht gefunden 
sondern 1k3 + 620R mit 4% Fehler.

von bitte löschen (Gast)


Angehängte Dateien:

Lesenswert?

Julian Baugatz schrieb:
> das Programm hat die relativ einfache Lösung 1k+1k nicht gefunden
> sondern 1k3 + 620R mit 4% Fehler.

Welche Version? Aktuell ist 0.1.1.2.

Was Du beschreibst, klingt nach dem Fehler in den Versionen 0.1.1 bis 
0.1.1.1:
Philipp Klostermann schrieb:
> Da waren noch an einigen Stellen "komische" Zahlen, was an einem Fehler
> bei der Initialisierung der Werte für die E-Reihen lag.

von Julian B. (julinho)


Angehängte Dateien:

Lesenswert?

Ich hbe die Version 0.1.1.2. verwendet

von bitte löschen (Gast)


Lesenswert?

Das habe ich Dich glauben lassen, indem ich so deppert war, die falsche 
Exe ins Archiv zu packen. SORRY! (Ein Klick auf "Info" hätte Dir das 
verraten.)
Jetzt habe ich die richtigen Dateien hochgeladen. - Mannomann! So viele 
Flüchtigkeitsfehler an einem Tag!

Mit E24 schlägt das Programm (bzw. die korrekte Version) übrigens (noch 
einfacher) einen 2K Widerstand vor. :-D

von Julian B. (julinho)


Lesenswert?

das sollte auch so sein :-)

von halali77 (Gast)


Lesenswert?

Habe eben dein Tool heruntergeladen und getestet. Gefällt mir sehr gut. 
Habe vor zig Jahren einmal einen Artikel in einem englischen 
Elektronikmagazin gelesen, wie man das mit 3 Widerständen macht. Wollte 
selbst ein Programm dazu entwickeln, fand aber den Artikel nicht mehr :(

von ich (Gast)


Lesenswert?

gibts da eigentlich ne mathematische herangehensweise?

dein programm probiert ja alles durch oder?

ich wollte auch mal sowas schreiben aber halt ohne jede kombination zu 
probieren...

von bitte löschen (Gast)


Lesenswert?

Das ist eine gute Frage. Ich wollte mit dieser Frage nicht zu viel Zeit 
vertrödeln und hatte einfach den sich aufdrängenden Brute-Force 
Algorithmus, alles zu durchsuchen, implementiert. - Also ja, es probiert 
quasi alles durch.
Das lässt sich bestimmt alles noch verfeinern. Vor allen Dingen möchte 
ich den Algorithmus für OP-Verstärker (bzw. Spannungsteiler, was das 
gleiche mit dem Kehrwert ist) noch dergestalt erweitern, dass sowohl für 
R1 als AUCH R2 Kombinationen gesucht werden.
Als nächstes mache ich (der Vollständigkeit halber) noch eine 
Registerseite für Spannungteiler.

von Gibts N. (schneeblau)


Lesenswert?

Hallo, ich mal wieder...2 Wünsche noch


1) (nochmal) bis zu 10 Widerstände zulassen
2) wenn man im Feld der Suche was eingibt sollte bei Betätigung der 
Entertaste nicht das Programm zugehen, sondern die Suche durchgeführt 
werden

von bitte löschen (Gast)


Lesenswert?

Gibts Ne schrieb:
> 1) (nochmal) bis zu 10 Widerstände zulassen
=> OK

> 2) wenn man im Feld der Suche was eingibt sollte bei Betätigung der
> Entertaste nicht das Programm zugehen, sondern die Suche durchgeführt
> werden

=> Um das halbwegs hübsch zu machen, musste ich auf hässliche Weise im 
CPropertyPage/CPropertySheet-Konstrukt herumfrunzeln, Buttons per Code 
verstecken, verschieben und umbeschriften und eine Notification übel 
missbrauchen. Na ja, in einer der nächsten Versionen werde ich das mal 
ohne CPropertyPage/CPropertySheet machen, bis dahin geht es auch so.

Aktuelle Version ist nun also 0.1.1.3

von ich (Gast)


Lesenswert?

noch ein Wunsch: einblenden, wieviel Zeit die Suche dauern wird.
also am besten die Zeit merken, die für sagen wir 10000 Kombinationen 
gebraucht wird un dann hochrechnen...


das kann man dann anzeigen

Zeit verbleibend/Gesamtzeit

zb: 4m6s/8m30s

also verbleibent zählt runter, gesamtzeit is die hochgerechnete Zeit

von bitte löschen (Gast)


Lesenswert?

Danke für die Anregung! :)
Das werde ich gerne implementieren, wenn ich die Routinen noch etwas 
dergestalt optimiert habe, dass die Anzahl der Schritte verringert wird. 
Es kann dabei darauf hinauslaufen, dass die vorherige Errechnung der 
Anzahl der Schritte etwas komplexer wird und vor allen Dingen nicht alle 
Schritte gleich lang dauern werden.
Eine halbwegs präzise Restdaueranzeige muss bei jeder Optimierung 
entsprechend angepasst werden, und da so etwas ein nice to have ist, 
warte ich damit erst noch. Ich denke vor allen Dingen auch, dass in der 
Praxis selten mit so vielen Widerständen gearbeitet wird, dass die 
Rechenzeit so lange wird, dass eine Restdaueranzeige vonnöten wird. Bei 
mehr als 7 Widerständen rechnet er natürlich unerträglich lange, aber so 
etwas kann ich mir in der Praxis nur in ganz besonderen Fällen 
vorstellen.
Ich werde mich beizeiten trotzdem darum kümmern.

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.