Auf meiner Anlage fahre ich erfolgreich mit dem ABC-Bremsen. Hierzu werden an einer Schienenseite mehrere Dioden eingeschleift, die die Gleisspannung einseitig reduzieren. Das werten Lokdekoder aus und bemerken, ob sie in einem Bremsabschnitt unterwegs sind. Dann leiten sie das Abbremsen ein, z.B. vor einem roten Signal.
Zimo-Dekoder haben eine CV, ich glaube die #100, die man POM auslesen und während der Fahrt den gemessenen Wert der Asymmetrie anzeigen lassen kann. Soweit ist ESU leider nicht!
Ich möchte mir ein kleines Messinstrument auf Arduino-Basis mit einem OLED-Display basteln, das ich auf die Schienen setzen kann, um vor Ort die Asymmetrie zumessen.
Hat das schon mal jemand gemacht? Wie müsste ich die Messung angehen?
Anzeige und Ansteuerung des OLED ist nicht mein Problem.
Zitat von Domapi im Beitrag #1Auf meiner Anlage fahre ich erfolgreich mit dem ABC-Bremsen. Hierzu werden an einer Schienenseite mehrere Dioden eingeschleift, die die Gleisspannung einseitig reduzieren. Das werten Lokdekoder aus und bemerken, ob sie in einem Bremsabschnitt unterwegs sind. Dann leiten sie das Abbremsen ein, z.B. vor einem roten Signal. ... Ich möchte mir ein kleines Messinstrument auf Arduino-Basis mit einem OLED-Display basteln, das ich auf die Schienen setzen kann, um vor Ort die Asymmetrie zumessen.
welche Anforderungen gibt es an die Genauigkeit? Reichen qualitative, relative Werte? Oder möchtest Du "TrueRMS"?
So ein Messgerät auf Arduini-Basis umzusetzen ist relativ einfach: Über einen Gleichrichter das Gleissignal gleichrichten, um Messfehler zu minimieren mit einem einfachen R-C-Glied filtern ( 1k/2n2). Über einen Spannungsteiler von ca. 4:1 (also z.B. 10K:2k7 um einfach erhältliche Normwerte zu nutzen) an den AD des Arduino. Dann muss die Messroutine nur nach Minimum und Maximum auswerten, dabei Werte deutlich außerhalb des Sollbereichs (10V-24V) ignorieren. Man kann den Bereich auch weiter eingrenzen, bei einer Zentrale die maximal 18V ans Gleis schickt z.B. auf 12-20V. Dann kann man den Spannungsteiler auch anders Auslegen, 3:1 reicht dann (10K:3k3). Das Eingrenzen des Messbereichs (=ignorieren von Werten außerhalb des Messbereichs) minimiert Fehlmessungen. Wenn man Minimum und Maximum hat die Differenz ausrechnen und man hat den gewünschten Wert. Die nicht ganz perfekten Spannungsteiler kann man mit einem Korrekturfaktor reinrechnen wenn die letzten paar mV wichtig sind. Mit Google lassen sich passende Bausteine für die Mess- und Auswertungsroutinen finden, muss man nicht alles selbst tippen.
Zitat von Domapi im Beitrag #1Auf meiner Anlage fahre ich erfolgreich mit dem ABC-Bremsen. Hierzu werden an einer Schienenseite mehrere Dioden eingeschleift, die die Gleisspannung einseitig reduzieren. Das werten Lokdekoder aus und bemerken, ob sie in einem Bremsabschnitt unterwegs sind. Dann leiten sie das Abbremsen ein, z.B. vor einem roten Signal.
Zimo-Dekoder haben eine CV, ich glaube die #100, die man POM auslesen und während der Fahrt den gemessenen Wert der Asymmetrie anzeigen lassen kann. Soweit ist ESU leider nicht!
Ich möchte mir ein kleines Messinstrument auf Arduino-Basis mit einem OLED-Display basteln, das ich auf die Schienen setzen kann, um vor Ort die Asymmetrie zumessen.
Hat das schon mal jemand gemacht? Wie müsste ich die Messung angehen?
Anzeige und Ansteuerung des OLED ist nicht mein Problem.
Zitat von Domapi im Beitrag #3Wahrscheinlich reichen auch ein paar LEDs zur Anzeige, also mehr als 1,4 V Abstand leicht weniger oder gar keine Asymmetrie.
wenn Du keine numerische Anzeige forderst, kannst Du paarweise zwei Reihen von verschiedenfarbigen LEDs, eine für die positiven, eine für die negativen Teil-Potentiale nebeneinander bauen. Auf Grund der verschiedenen LED-Durchlassspannungen (Datenblatt!) von rot nach blau (weiß) könntest Du an vier Standarddioden die Spannung am oberen Ende der beiden Polaritäten darstellen.
Das müsste eigentlich - auch ganz analog - für einen qualitativen Vergleich vollkommen ausreichen.
MfG
vik
im Übrigen - Märklin am liebsten ohne Pukos, z.B. als Trix
Werde mal am WE die Bastelkiste plündern und schauen, was noch so verfügbar ist. Anzeige im seriellen Monitor reicht ja erst einmal.
Evtl. nehme ich für die Endausbaustufe einen Nano ESP32, den kann man auf einen Wagen packen, von dort aus das Signal messen und dann an einen Browser im WLAN senden. Dann sieht man auf PC/Tablet/Smartphone, wo auf der Strecke saubere ABC-Signale vorliegen oder eben nicht, falls man z.B. bei der Stromeinspeisung geschlampert hat oder die Gleise sschlechten Kontakt haben.
Zitat von Domapi im Beitrag #7Evtl. nehme ich für die Endausbaustufe einen Nano ESP32, den kann man auf einen Wagen packen, von dort aus das Signal messen und dann an einen Browser im WLAN senden.
Keine schlechte Idee, aber dann auf jeden Fall den Spannungsteiler anpassen. Bin von einem 5V-Arduino ausgegangen, der kann 0-5V erfassen, der ESP nur 0-3,3V wobei wirklich nutzbar nur 0,1-3V sind. Jenseits 3V ist der AD voll ausgesteuert, unter 0,1V ist er blind.
Habe gestern testweise auf Schnelle die Messschaltung auf einem Breadboard zusammengebaut und einen kleinen Sketch für den Nano geschrieben.
Die Messwerte sind jedoch recht „verrauscht“, auch wenn man sie glättet und z.B. einen Mittelwert aus 10 Messungen verwendet. Messungen mit und ohne eingeschleiftes BM1 ( + 1 Diode) machten keinen bzw. kaum einen Unterschied.
Habe dann nach dem Brückengleichrichter, dem RC-Glied auch mal verschiedene Kondensatoren verbaut, um die gleichgerichtete Spannung zu glätten - hat aber auch nichts gebracht.
Theoretisch müsste doch ein Unterschied von 4 x 0,7 V - 0,4 V = 2,4 V auftreten. Da eine Welle der Digitalwechselspannung komplett durchkommt (ohne Dioden), sollte die Hälfte davon 1,2 V messbar sein. Da die Dioden einen Mindeststrom brauchen, um einen Spannungsabfall zu produzieren, hätte ich nach dem BGL noch einen 1k Widerstand zwischen + und - verwenden müssen. Das erklärt im nachhinein evtl. die seltsamen Messwerte.
Werde das mal gelegentlich auf einer Lochrasterplatine aufbauen …
Und nächstes Weihnachten wünsche ich mir ein Oszilloskop .
Zitat von Domapi im Beitrag #9Habe dann nach dem Brückengleichrichter, dem RC-Glied auch mal verschiedene Kondensatoren verbaut, um die gleichgerichtete Spannung zu glätten - hat aber auch nicht gebracht.
Außer dem R/C-Glied keine weiteren Kondensatoren! Der bügelt das weg was gemessen werden soll. Das ein Nano das von der Geschwindigkeit her schafft beweisen diverse auf dem gleichen Prozessor basierende Dekoder. Was die Eingangsschaltung betrifft gehe ich aber noch mal in mich, hab das Bauchgefühl das ich da noch einen grundlegenden Denkfehler drin habe.
Ein kleiner Glättungskondensator sollte da eher helfen. Im ABC-Bereich liegt dann weniger Spannung an, da die Dioden einen Spannungsabfall verursachen. Das Delta aus Normalspannung (ohne Dioden) und reduzierter ABC-Spannung ist dass, was man auswerten muss.
Dazu noch eine Glättung der Messwerte in der Software, Ausreißerwerte wegfiltern etc.
Sollte man im Oszilloskop sehen können, leider habe ich keines.
Müsste man nicht eigentlich am Eingang der Schaltung 2 Dioden haben, eine die die obere Halbwelle abschneidet und eine die untere und diese dann im Pegel vergleichen?
Ein Gleichrichter klappt doch nur die untere Halbwelle nach oben und um das auszuwerten benötigt es einen Oszillosgraphen.
Denkfehler gefunden, das schnelle Abtasten des Gleissignals ist unnötig, einfach zwei Einweggleichrichter nutzen: [[File:PXL_20250209_071707888.jpg|none|auto]] Die Schaltung ist zwar nur schnell hingeschmiert, sollte aber tun was sie soll. Dioden 1N4148, als Elkos reichen 10yF locker. So wird die Gleisspannung abhängig von der Polung erfasst, ist TRr positiv gegen TRlwird C1 über D1 und D4 aufgeladen, ist TRl gegen TRr positiv wird C2 über D2 und D3 aufgeladen. Die Spannungen dann über gleiche Spannungsteiler an je einen A/D- Eingang vom Arduino und auswerten. Dabei muss man nicht mal schnell sein, bei der geringen Last durch die Spannungsteiler von mehr als 10 kOhm hat man es praktisch mit sauber gesiebter Gleichspannung zu tun.. Die Gleisspannung selbst kann man natürlich auch ausgeben, die entspricht dem höhere der beiden Werte plus 1,2V der Dioden wegen. Die vor der Anzeige gleich reinzurechnen ist ja wirklich kein Kunststück.
Angefügte Bilder:
Aufgrund eingeschränkter Benutzerrechte werden nur die Namen und (falls vorhanden) Vorschau-Grafiken der Dateianhänge angezeigt Jetzt anmelden!
Habe die beiden Varianten mal aufgezeichnet: Oben die, mit der ich getestet hatte, um die aktuelle Gleisspannung zu messen. Und unten die Variante, um das Delta zwischen linker und rechte Schiene zu messen. Wichtig sind R8 und R9, um einen bestimmten Stromfluß zu erzeugen, ohne den fällt keine Spannung an den BM1-Dioden ab.
Wahrscheinlich könnte man bei der unteren Variante auch eine LED zwischen die Testpunkte TP2 und TP3 hängen. Bei Asymmetrie müsste die dann leuchten, da der Spannungsunterschied ausreicht, die LED zu betreiben (Vorwiderstand!).
Zitat von Stahlblauberlin im Beitrag #13 ... als Elkos reichen 10yF locker... ... bei der geringen Last durch die Spannungsteiler von mehr als 10 kOhm hat man es praktisch mit sauber gesiebter Gleichspannung zu tun...
Das wird wohl nix: 10yF * 10k ergibt eine Zeitkonstante von 100 zs (Zettasekunden, 10e-21). Einen Elko mit 10yF habe ich noch nie gesehen. Du meinst wohl 10µF, man kann auch uF schreiben wenn man das µ auf der Tastatur nicht findet.
Zitat von tibaum im Beitrag #15Das wird wohl nix: 10yF * 10k ergibt eine Zeitkonstante von 100 zs (Zettasekunden, 10e-21). Einen Elko mit 10yF habe ich noch nie gesehen. Du meinst wohl 10µF, man kann auch uF schreiben wenn man das µ auf der Tastatur nicht findet.
Auf dem Handy ist das "My" nur sehr umständlich zu erreichen, als Ersatz y oder u zu verwenden ist üblich. Das es hier nicht um Kapazitäten im Bereich großer stationär Akkuspeicher geht dürfte sich aus dem Kontext ergeben.
Zitat von tibaum im Beitrag #15Das wird wohl nix: 10yF * 10k ergibt eine Zeitkonstante von 100 zs (Zettasekunden, 10e-21). Einen Elko mit 10yF habe ich noch nie gesehen. Du meinst wohl 10µF, man kann auch uF schreiben wenn man das µ auf der Tastatur nicht findet.
Auf dem Handy ist das "My" nur sehr umständlich zu erreichen, als Ersatz y oder u zu verwenden ist üblich. Das es hier nicht um Kapazitäten im Bereich großer stationär Akkuspeicher geht dürfte sich aus dem Kontext ergeben.
Offenbar kommst DU schon selber damit durcheinander. Für große Kapazitäten käme eher das große Y für Yotta (10e+24) zur Anwendung. Du hast aber das kleine y für Yocto (10e-24) verwendet. Da das Y und y schon verwendet wird als Einheitenabkürzung sollte man es nicht verwenden wenn man es auch nicht so meint. Stattdessen verwendet man das kleine u wenn es mit µ eine zu große Herrausforderung darstellt. Dann ist es wenigstens eindeutig und entspricht dem was in Elektrotechnik üblich ist.
Zitat von Domapi im Beitrag #18Niemand braucht hier Klugscheißer; ideal wäre, wenn du thematisch etwas dazu beibringen könntest.
bloß weil man mit der Modellbahn spielt und auf seinem Handy keine griechischen Buchstaben zur Hand hat, rechtfertigt das nicht irgendwelche Phantasie-Abkürzungen zu benutzen, mit denen die Leser dann gefälligst klar zu kommen haben. Ich finde es ist nicht zuviel verlangt, das entsprechende Zeichen dann notfalls auszuschreiben. Also Micro Farad zu schreiben statt irgeneinem Buchstaben der einem so gerade einfällt. Was machst Du, wenn das "€"-Zeichen fehlt, dann schreibst Du doch auch "Euro".
Das Einzige was mir bisher in eBay-Shops und Ähnlichem für micro im Kontext der Einheit Farad vorgekommen ist ist das kleine "u" und auch das ist eigentlich schon Schlamperei.
MfG
vik.
im Übrigen - Märklin am liebsten ohne Pukos, z.B. als Trix
der ist mir eh nicht klar. Warum muss man eine analog erzeugte Spannungsdifferenz, die man lokal und nur qualitativ anzeigen will, unbedingt digital messen? Geht das nicht mit Hilfe von Zehnerdioden?
MfG
vik
im Übrigen - Märklin am liebsten ohne Pukos, z.B. als Trix
kurzer Klugschiss (ja, auch wenn die Spezies oben schon kritisiert), bevor sich ein Fehler hartnäckig festsetzt (wie bei den Hacken): Zener-Dioden!
Zu dem Vorschlag mit den Zenerdioden aber noch ein Kommentar. Das geht theoretisch schon. Praktisch ist es eher schwierig. Die ABC-Dioden 'erzeugen' ca. 0,7V Spannunsgunterschied. Da müsste dann die Z-Diode sehr, sehr genau auf die Gleisspannung ausgerichtet sein.
vG, jens
H0 Rocoline Bettungsgleis. BidiB/OpenDCC Elektronik. TC als Steuerung.
Zitat von vikr im Beitrag #22der ist mir eh nicht klar. Warum muss man eine analog erzeugte Spannungsdifferenz, die man lokal und nur qualitativ anzeigen will, unbedingt digital messen? Geht das nicht mit Hilfe von Zehnerdioden?
Man kann das auch analog messen, aber inzwischen ist ein billiger Arduino-Clone und ein paar Zeilen Code oft einfacher und flexibler. Grundsätzlich würde anstelle des Arduino auch ein simples Drehspulinstrument mit Nulllage in der Mitte völlig reichen, das ist aber teurer, schlecht zu bekommen, unflexibler und ungenauer als der Arduino.
Zitat von Stahlblauberlin im Beitrag #24Man kann das auch analog messen, aber inzwischen ist ein billiger Arduino-Clone und ein paar Zeilen Code oft einfacher und flexibler.
flexibler vielleicht schon, aber einfacher? Die Adressaten sind doch in erster Linie Modellbahner, nicht Bastler, die neue Anwendungsgebiete für das Hobby "Basteln mit Microprozessoren" suchen.
Zitat von Stahlblauberlin im Beitrag #10hab das Bauchgefühl das ich da noch einen grundlegenden Denkfehler drin habe.
solange es keine analogen Vergleichslösungen gibt, scheint mir diese Einschätzung auch nur ein - vielleicht trügerisches - Bauchgefühl zu sein. Meines Erachtens wird hier mit Kanonen auf Katzen geschossen, weil man halt Kanonier ist und gerade Kanonen da sind. Als didaktisches Beispiel - zum Nachvollziehen, wie man so ein Problem mit Hilfe Von Microprozessoren lösen kann und wie es die Lokdecoder selbst machen - mag es schon sinnvoll sein...
MfG
vik
im Übrigen - Märklin am liebsten ohne Pukos, z.B. als Trix