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?
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.
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.
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.
desweiteren: noch die anzeige, wieviele kombinationen berechnet werden und wieviele berechnet worden sind..nur der balken ist sehr ungenau bei der e96 reihe
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.
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..
Sieht doch gut aus:) Freu mich auf die Updates...
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.
The requested URL /ressearch/ressearch-0.1.1.1-bin.zip was not found on this server. :(
Sorry, hatte das Hochladen vergessen. Jetzt funzt es.
sieht gut aus danke... bug: 1234567.800000 suchen lassen, reihe e3, 7 widerstände....->grafik fehlerhaft
achso außerdem sieht man in der animation manchmal leere widerstände
OK, da ist noch mindestens ein Bug. Ich werde mich später darum kümmern. Vielleicht findet ihr noch mehr..
op: verstärkung:-4 dann einfach mal rechnen lassen....musst du ev. abfangen...die anzeige unten passt da auch teilweise nicht
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.
Vielleicht kleinkarriert, aber könntest Du statt "Animiert" vielleicht "Visualisiert" oder ähnlich schreiben?! - Mit Animation hat die Darstellung nix zu tun... Ansonsten super tool!
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?
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.)
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.
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.
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
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 :(
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...
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.
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
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.