Resistorbator.

Egal ob Ingenieur oder Bastler, jeder kennt das Problem: Man braucht einen krummen Widerstandswert, den es entweder nicht gibt, das entsprechende Fach im Sortierkasten leer, das Bauteil in der Library nicht vorhanden oder er schlichtweg mit der Menge 1 auf der Teileliste erscheinen würde.

Alternativen und Inspiration

Bisweilen habe ich dafür entweder Zabex‘ Widerstandssuche oder „Widerstand ist zwecklos“ von Sascha Müller zum Hagen verwendet. Beide Tools funktionieren, können oder machen aber nicht immer das, was ich will.

Mit dem Tool zum Berechnen von Komparatoren wuchs die Idee oder vielmehr Wunsch, einen Werkzeug zu schreiben, das das Jonglieren von Widerständen übernimmt.

Die Geburt

Angefangen, liegengelassen, weiter programmiert und frustriert über die Performance zum erzeugen der Widerstandskombinationen wurde der Code immer wieder angefasst und in die virtuelle Ecke gepfeffert. Auch bleib er einfach mal ein Jahr liegen. Bis mich die Wut wieder gepackt hat und einem Kollegen das Problem beschrieben habe – und er prompt eine Lösung fand die flitzte.

Die Entwicklung erfolgt nach dem Standard „das wird später schön gemacht“. Sprich: das Frontend ist funktional unästhetisch und nicht sehr intuitiv. Die Code-Qualität lässt vermutlich selbst hartgesottene Javascript-Entwickler erschaudern.

Aktuell (Stand 30.01.2023) kann die Anwendung Ersatzwiderstände und Spannungsteiler ermitteln, die Flexibilität und Aufarbeitung insbesondere bei der letzteren Funktion ist noch im Entstehen.

Ausprobieren

Angeschnallt? Sitz in aufrechter Position und Tisch nach oben geklappt und verriegelt?

https://hobbyelektronik.org/resistorbator/

Der Schnellstart:

  1. Im Tab Konfiguration eine Voreinstellung (z. B. „Reichelt Yageo 0603 [E6]“) auswählen und Übernehmen oder eine Widerstandsreihe generieren lassen
  2. In einen anderen Tab wechseln und spielen

Gibt man beim Ersatzwiderstand zusätzlich einen Constraint (Spannung oder Strom) an, kann man die Auswahl der generierten Kombinationen auf die tatsächliche Verwendung einschränken. Purzeln beim ersten Versuch keine Werte heraus, einfach mal mit den Kombinationen spielen.

Beim Spannungsteiler ist es ähnlich, hier sollte man sich je nach Länge der Widerstandsliste bei den Kombinationen bescheiden halten, da die Anzahl der möglichen Kombinationen mit jedem Abgriff „explodieren“.

Der Name

Kurz, prägnant und vielleicht ein bisschen provokant (oder zumindest pubertär) könnte man den Namen bezeichnen. Aber auch ChatGPT kann sich ohne große Umschweife „vorstellen“, was gemeint ist:

Ich habe ein Programm namens „Resistorbator“ geschrieben. Was könnte dessen Funktion sein?

Es ist schwer zu sagen, ohne weitere Informationen. Basierend auf dem Namen könnte „Resistorbator“ ein Programm sein, das mit Widerständen und anderen elektronischen Bauteilen arbeitet. Es könnte Berechnungen durchführen, Schaltungen simulieren oder Daten sammeln und analysieren.

chatGPT

Ok, man könnte genauso zu Wahrsagern gehen, da dürfte ähnliches rauskommen. Auf die Frage hin, ob der Name kindisch sein oder als anstößig interpretiert werden könnte, sagt die Software:

Der Name „Resistorbator“ könnte als kindisch oder unprofessionell empfunden werden. Es hängt jedoch davon ab, in welchem Kontext das Programm verwendet wird und wer die Zielgruppe ist. Möglicherweise wäre es besser, einen neutraleren oder beschreibenderen Namen zu wählen, um Missverständnisse zu vermeiden.

chatGPT

Ziel erreicht.

Pläne & Ideen

Es gibt noch einige Ideen, die umgesetzt werden sollen. Hier eine Auswahl ohne bestimmte Reiohenfolge:

  • Speichern von eigenen Widerstandlisten (per localStorage)
  • Filtern von Widerstandslisten (inkl. E-Reihen)
  • Spannungsteiler: Definieren möglichen der Kombinationen pro Abgriff
  • Spannungsteiler: visuelle Aufarbeitung und mehr Details
  • Berechnen von Widerständen für Spannungsregler
  • Berechnung von Komparatorschaltungen
  • Berechnungen von einfachen RC-Filtern
  • später: Projekte. Angabe von mehreren Ersatzwiderständen/Spannungsteilern/… und Optimierung dieser auf eine möglichst kleine BOM