💡 LocoTurn - Drehscheiben-Steuerung mit Schrittmotor (MobaLedLib)

#1 von Hardi , 14.01.2021 01:03

Hallo Zusammen,

ich will mich ja schon seit Jahren mit Stepper Motoren beschäftigen. Jetzt bin ich endlich dazu gekommen und habe das erste Projekt soweit, dass die Software einigermaßen fertig ist.
Mit den genialen MobaTools von Franz-Peter (@MicroBahner) und noch einigen anderen Arduino Bibliotheken habe ich eine Steuerung für eine Drehscheibe erstellt.

Vielen Dank an alle die solche tollen Bibliotheken schreiben und kostenlos zur Verfügung stellen.

Basis für das Programm ist eine 3D gedruckte Scheibe von https://www.thingiverse.com/thing:1837520

Diese Drehscheibe hat aufgrund der mechanischen Toleranzen ein entsetzlich großes Spiel. Die Scheibe lässt sich am Rand um 10mm verdrehen und läuft extrem unruhig. Aber es ist ein tolles frei verfügbares Projekt und darum habe ich mir vorgenommen, dass ich dieses Teil mit einem Arduino ansteuern will.
Wenn es mir gelingt, dass diese Drehscheibe automatisch zu steuern ist, dann kann das Programm jede andere Drehscheibe bedienen.

Und es sieht schon ganz Gut aus. Jetzt erst mal ein paar Bilder (Mit freundlicher Genehmigung aus diesem Thread: viewtopic.php?t=140471&start=401&sd=a).

Angefangen hat es auf dem Stummi Treffen in Böblingen. Dort wurde Frank (@fbstr) diese Scheibe vorgestellt:



Sie ist für diesen 1.5 € Schrittmotor gedacht:



Das hat mir genau so gut gefallen wie Frank. Dummerweise habe ich gefragt ob mir jemand so eine Scheibe drucken kann. Wenn ich gewusst hätte wie viel Zeit mich diese Frage gekostet hat ;-(

Hier ein paar Details zum Aufbau der Bühne und der Scheibe:





Es ist einfach schön.



Mit etwas Farbe wirkt sie gleich viel besser:



Hier zeigt Frank dass sie sich tatsächlich mit dem Spielzeugsteppermotor dreht:



Dazu muss eine Leiterbahn im Stepper unterbrochen werden und das rote Kabel wird auch nicht verwendet:




Dieses Bild gefällt mir besonders Gut:

(Mit einem Klick auf das Bild könnt Ihr es vergrößern)



Details:
Die Steuerung der Drehscheibe basiert auf einem Arduino Nano. Dabei war es eine große Herausforderung all die Features die ich mir überlegt hatte in den kleinen Prozessor zu quetschen:

  • Manuelle Steuerung per Poti:
    Die Scheibe kann sehr schön über ein Poti mit Mittelstellung wie man es vom Balance Regler eines Verstärkers kennt gesteuert werden. In der Mittleren Position steht der Motor und wenn man den Regler nach links dreht, dann dreht sie sich in diese Richtung. Die Bewegt sich schneller je weiter man das Poti verdreht. Frank wollte sich mit dieser Funktionalität schon Zufrieden geben. Aber das geht natürlich nicht…
  • Automatische Steuerung per Drehschalter:
    Viel komfortabler ist es mit einem Drehschalter. Diesen dreht man einfach um die gewünschte Anzahl von Schritten in die entsprechende Richtung und die Scheibe wird Automatisch zu dem Entsprechenden Gleis gedreht.
  • Kürzester Weg:
    Das Programm berechnet automatisch immer den kürzesten Weg von der aktuellen Position zur Zielposition. Das klingt trivial, hat mich aber auch einige graue Haare gekostet, weil sich die Scheibe mehrfach drehen kann. Die Position 30° ist genau gleich wie 390° und auch das gleiche wie -330°:
  • Display:
    Zur Visualisierung der Position und für ein Menü hat die Steuerung noch ein OLED Display bekommen. Momentan unterstützt das Programm drei verschiedene Displays:
    0,87" I2C 128x32 OLED SSD1316 (https://de.aliexpress.com/item/4000182887362.html)
    0.91" I2C 128x32 OLED SSD1306 (https://de.aliexpress.com/item/4001028654247.html)
    0,96" I2C 128X64 OLED SSD1306 (https://de.aliexpress.com/item/32643950109.html)
  • Steuerung per DCC:
    Natürlich muss das Teil auch über eine Zentrale steuerbar sein. Dazu kann man zunächst das DCC Protokoll verwenden. Später sollen Selectrix und der Märklin CAN Bus hinzukommen. Jede Position kann über ein eigenes DCC Kommando angefahren werden. Zusätzlich gibt es zurzeit 30 weitere Befehle mit denen Funktionen wie das Reversieren der Scheibe, das Licht im Häuschen oder aber auch Sound Dateien abgerufen werden können. Damit kommen wir zum nächsten Punkt.
  • Sound:
    Bei einer richtigen Drehscheibe müssen die Arbeiter gewarnt werden, wenn sich die Scheibe in Bewegung setzt. Dazu ertönt ein Horn. Mit einem Soundmodul für 1.21 € und ein paar Zeilen Code ist auch das machbar. Tatsächlich hat mich dieser Teil mindestens 10 Stunden gekostet, weil die Bibliothek dafür den Arduino während der Wiedergabe komplett lahmgelegt haben und außerdem unendlich viel Speicher verbraucht haben. Jetzt dauert das starten eines Sounds nur noch 42us und kostet 190 Byte. Momentan können 8 verschiedene WAV-Dateien per DCC oder Automatisch abgerufen werden.
  • Licht:
    Zur akustischen Warnung gehört auch eine optische Warnung. Darum habe ich eine Funktion zum ansteuern einer LED hinzugefügt. Diese kann, wenn sich die Scheibe dreht Blinken oder doppelt blitzen.
    Über einen zweiten Ausgang des Arduinos kann man die Beleuchtung im Führerhaus per DCC steuern.
  • Relais:
    Die Zweileiterfahrer haben ja immer das Problem, dass die Polarität der Schienen zueinander passen muss damit die Räder keinen Kurzschluss erzeugen. Dafür habe ich im Programm eine entsprechende Steuerung eingebaut. Bei dieser kann man für jedes Gleis individuell bestimmen welche Polarität die Schienen auf der Bühne haben sollen. Üblicherweise reicht es, wenn man die eine Hälfte der Schienen mit der einen Polarität ansteuert und die andere mit der Anderen. Bei Franks Bahnpark Augsburg reicht das aber nicht, weil hier die Gleisabgänge so dicht beieinander liegen, dass sich die benachbarten Schienen überkreuzen: viewtopic.php?f=170&t=140471&start=58&sd=a
  • Rückmeldung an die Zentrale:
    Am liebsten hätte ich noch ein S88 Rückmeldemodul in die Software gepackt. Aber das wird nicht klappen, weil bereits alle beiden Interrupt fähigen Eingänge belegt sind und weil der Speicher dazu vermutlich nicht ausreicht. Darum habe ich nur einen Ausgang vorgesehen welcher über einen Optokoppler ein S88 Modul ansteuern kann.
  • Schrittgenerierung:
    Die MobaTools unterstützen verschiedene Arten zur Generierung der Signale für einen Schrittmotor. In diesem Projekt wird dafür ein fertiges Stepper Modul verwendet. Das kann ein „A4988“ Modul für 50 Cent in China oder das bessere „TMC2100“ Modul verwendet werden. Letzteres steuert den Schrittmotor viel besser an so dass man diesen gar nicht mehr hört. Bei dem Spielzeugmotor ist das unwichtig. Diesen hört man nicht. Wenn aber ein Richtiger Stepper verwendet wird, dann sollte man die paar Euros investieren. Dummerweise habe ich anscheinend die Letzen Platinen in China gekauft. Ich werde demnächst mal den Nachfolger „TMC2130 V1.0“ testen.
    Beide Platinen haben den Großen Vorteil, dass sie auch Große Schrittmotoren Ansteuern können. Sie Regeln den Strom des Motors über eine integrierte Elektronik. Dadurch können sie mit einer größeren Spannung betrieben werden. Das ist bei hohen Schrittgeschwindigkeiten unbedingt notwendig. Der kleine 5V Stepper sollte mit mindestens 14V Betrieben werden damit das Magnetfeld bei großen Drehzahlen schnell genug Aufgebaut wird.
  • Kalibrierung:
    Das Programm muss wissen wo sich die Drehscheibe befindet und wie viele Schritte es zu welchem Port sind. Dazu wird der Hallsensor „TLE4905L“ verwendet. Alternativ könnte man auch eine Gabellichtschranke verwenden. Anfangs hatte ich es mit einer billigen Reflexlichtschranke probiert. Aber das hat nicht richtig funktioniert. Die Positionsrückmeldung war sehr ungenau und außerdem hat das Signal stark geprellt. Vielleicht geht es auch mit einem Reed Kontakt.
    Wichtig ist, dass dieses Signal sehr genau ist denn darauf bezieht sich die Positionierung der Scheiben. Beim ersten Start ermittelt das Programm die Anzahl der Schritte für eine Volle Umdrehung und das Spiel der Zahnräder. Dazu dreht es die Scheibe ein paarmal hin und her. Auf diese Weise kann es mit jeder beliebigen Übersetzung verwendet werden.
    Die Positionen der Gleise werden zunächst automatisch gerechnet. Meistens ist das aber wegen mechanischer Toleranzen nicht ganz genau. Darum kann man die exakte Position jedes Gleises speichern indem man es einmal manuell von beiden Richtungen her Anfährt. Dadurch funktioniert auch die Positionierung bei der 3D gedruckten Scheibe erstaunlich genau. Momentan werden aber noch manchmal ein paar Schritte verloren. Das muss ich noch mal untersuchen. Und den Motorstrom und die Geschwindigkeitskennlinie entsprechend anpassen.
  • Parametrierbarkeit:
    Das Programm soll auf allen möglichen Anlagen eingesetzt werden können. Darum habe ich sehr viele Parameter vergeben über die man das Verhalten an die eigenen Bedürfnisse anpassen kann. Momentan stehen 110 solcher Parameter zur Verfügung.


Ausblick:
Noch ist nicht alles was ich mir gedacht habe umgesetzt. Es fehlt noch folgendes:
  • Platine:
    Demnächst möchte ich eine richtige Platine für das ganze machen. Diese soll möglichst einfach zu bestücken sein so dass sie jeder selber löten kann. Wenn Ihr noch Ideen habt was ich auf dieser Schaltung noch berücksichtigen kann dann sagt Bescheid.
  • Segmentscheibe / Schiebebühne / Zug Lift:
    Das Programm sollte auch für andere Projekte auf der Modelanlage eingesetzt werden können bei dehnen es um das exakte Anfahren bestimmter Positionen geht. Dabei kann man zwei verschiedene Arten Unterscheiden. Eine Drehscheibe oder ein Paternoster ist eine Anlage bei der es eine Endlose Drehung möglich ist.
    Bei einer Segmentscheibe, einer Schiebebühne oder einem Zug Lift gibt es einen Mechanischen Anschlag auf beiden Seiten. Darum muss die Nullpunkterkennung angepasst werden. Eine Position kann nicht wie bei einer Drehscheibe von zwei Seiten her Angefahren werden. Das muss im Programm deaktiviert werden.
  • Automatisches Diagnosen:
    Ich möchte noch einige Erweiterungen in das Programm einbauen mit dem man Fehler finden kann. Ein Punkt ist das Automatische Erfassen von verlorenen Schritten.
  • Rekalibrierung:
    Die Schrittmotoransteuerung verwendet Sogenannte Microsteps. Ein Schritt wird dabei in 16 Zwischenschritte unterteilt. Das hat den Vorteil, dass sich die Bühne viel feiner Positionieren lässt. Ich muss mir noch eine Methode einfallen lassen wie man diese Microsteps beim wiedereinschalten der Versorgungsspannung zum Treiber schicken kann. Problematisch dabei ist das Magnetische Verhalten bei Größeren Schrittmotoren. Diese drehen sich aufgrund der eingebauten Permanentmagnete nach dem Abschalten der Versorgung ein Stückchen vor oder zurück. Bei einem kleinen Stepper und einer entsprechenden Übersetzung merkt man das nicht.
  • Selectrix und CAN:
    Die Scheibe soll später auch mit Selectrix und dem Märklin CAN ansteuerbar sein. Das sollte aber kein Problem sein. Darum werde ich das später angehen. Erst mal muss die Platine entwickelt und in China gefertigt werden.
  • Tests:
    Das Programm muss mit den Verschiedenen Hardware Kombinationen getestet werden. Dazu brauche ich Eure Unterstützung.
  • Irgendwann wird das Programm in die Excel Tools der MobaLedLib integriert so dass man es genau so komfortabel und ohne Programmierkenntnisse anpassen und zum Arduino schicken kann. Die Drehscheibe wird aber nicht über den LED Bus angesteuert werden.
    => Darum steht das MobaLedLib im Titel (Und Außerdem ist es ja inzwischen so was wie ein Markenname)

Jetzt seid Ihr dran:

Was fällt Euch noch zum Thema Drehscheibe ein ?

Was muss unbedingt noch rein ?

Hardi


Haltet Euch unbedingt von diesen Seiten fern:
viewtopic.php?f=7&t=165060
https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr hier:
RE: Unsere Kinder und Vater Anlage(n)


EP2Bernie, X2000, kpev, Frank1969, schma29, MoeBah, RaSt, Sonnenbrot und Hombre haben sich bedankt!
 
Hardi
InterCityExpress (ICE)
Beiträge: 2.167
Registriert am: 28.12.2015
Homepage: Link
Ort: Mainz
Gleise C
Spurweite H0
Steuerung MS2 + Eigenbau
Stromart Digital

zuletzt bearbeitet 19.06.2024 | Top

RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#2 von fbstr , 14.01.2021 08:07

Da wird mir schon noch was einfallen





Ah, schon passiert

Dirk hat da was Nettes entwickelt was einen Antrieb braucht:

Zitat


Hier noch das Funktionsprinzip des Antriebs.


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


schma29 hat sich bedankt!
 
fbstr
Metropolitan (MET)
Beiträge: 2.858
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital


RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#3 von Moba_Nicki , 14.01.2021 08:19

Zitat

...
[*] Schrittgenerierung:
Die MobaTools unterstützen verschiedene Arten zur Generierung der Signale für einen Schrittmotor. In diesem Projekt wird dafür ein fertiges Stepper Modul verwendet. Das kann ein „A4988“ Modul für 50 Cent in China oder das bessere „TMC2100“ Modul verwendet werden. Letzteres steuert den Schrittmotor viel besser an so dass man diesen gar nicht mehr hört. Bei dem Spielzeugmotor ist das unwichtig. Diesen hört man nicht. Wenn aber ein Richtiger Stepper verwendet wird, dann sollte man die paar Euros investieren. Dummerweise habe ich anscheinend die Letzen Platinen in China gekauft. Ich werde demnächst mal den Nachfolger „TMC2130 V1.0“ testen.
Beide Platinen haben den Großen Vorteil, dass sie auch Große Schrittmotoren Ansteuern können. Sie Regeln den Strom des Motors über eine integrierte Elektronik. Dadurch können sie mit einer größeren Spannung betrieben werden. Das ist bei hohen Schrittgeschwindigkeiten unbedingt notwendig. Der kleine 5V Stepper sollte mit mindestens 14V Betrieben werden damit das Magnetfeld bei großen Drehzahlen schnell genug Aufgebaut wird.
...



Hallo Hardi

kann man auch den TMC2208 verwenden?
Habe die nämlich aus versehen anstelle der TMC2100 / TMC2130 gekauft.

Schöne Grüße
Dominik


Alle Infos zur MobaLedLib findet ihr hier: https://wiki.mobaledlib.de/


schma29 hat sich bedankt!
 
Moba_Nicki
EuroCity (EC)
Beiträge: 1.341
Registriert am: 28.01.2020
Gleise M, Z
Spurweite H0, Z
Stromart AC, DC, Analog


RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#4 von Clooney , 14.01.2021 08:22

Guten Morgen Hardi,

erstmal Gratulation zu deinen Umsetzungserfolgen und meinen größten RESPEKT.

Zitat

Das Programm soll auf allen möglichen Anlagen eingesetzt werden können. Darum habe ich sehr viele Parameter vergeben über die man das Verhalten an die eigenen Bedürfnisse anpassen kann. Momentan stehen 110 solcher Parameter zur Verfügung.


110 Parameter ??? Was willst Du denn damit alles machen ?

Zitat

Sound:
Bei einer richtigen Drehscheibe müssen die Arbeiter gewarnt werden, wenn sich die Scheibe in Bewegung setzt. Dazu ertönt ein Horn. Mit einem Soundmodul für 1.21 € und ein paar Zeilen Code ist auch das machbar. Tatsächlich hat mich dieser Teil mindestens 10 Stunden gekostet, weil die Bibliothek dafür den Arduino während der Wiedergabe komplett lahmgelegt haben und außerdem unendlich viel Speicher verbraucht haben. Jetzt dauert das starten eines Sounds nur noch 42us und kostet 190 Byte. Momentan können 8 verschiedene WAV-Dateien per DCC oder Automatisch abgerufen werden.


Könnte mir vorstellen, dass bei den Soundlib(s) keiner an Hintergrund Wiedergabe gedacht hat und Dich das nun soviel aufwand gekostet hat.

Zitat

Rückmeldung an die Zentrale:
Am liebsten hätte ich noch ein S88 Rückmeldemodul in die Software gepackt. Aber das wird nicht klappen, weil bereits alle beiden Interrupt fähigen Eingänge belegt sind und weil der Speicher dazu vermutlich nicht ausreicht. Darum habe ich nur einen Ausgang vorgesehen welcher über einen Optokoppler ein S88 Modul ansteuern kann.


Ja, der liebe Speicher des Nanos.
Haste evtl. mal über nen anderen "günstigen" Controller nachgedacht?
Interessant wäre hier ein ESP32 mini (ala: ESP32 D1 mini, 9€ in D, 3€ in Fernost).
Vorteil: 34 I/O PINs, WLAN, Bluetooth, 512kB RAM, 4MB Speicher und soweit ich weiß alle PINs Interrupt fähig.

Könnte mir gut vorstellen, dass wenn Du außer DCC noch MM (Gleis oder CAN) und SX unterstützen willst und Zuglift usw. könnte sich der Nano als zu klein erweißen.


Zitat

Das Programm muss mit den Verschiedenen Hardware Kombinationen getestet werden. Dazu brauche ich Eure Unterstützung.


Sollte ich denn Zeit finden (ich komme ja nichtmal dazu was an der Anlage zu machen) werde ich mir auch mal eine DS für den Stammtisch drucken, dann kann ich testen ^^


Zitat
Was fällt Euch noch zum Thema Drehscheibe ein ?





Zitat
Was muss unbedingt noch rein ?


WLAN


Gruß Jochen

Meine Saunakellerbahn: RE: Saunakellerbahn
Anlageplanung: RE: Endlich eigene MoBa im Saunakeller


Clooney  
Clooney
InterCity (IC)
Beiträge: 582
Registriert am: 02.01.2016
Ort: Gammelshausen
Gleise Märklin C-Gleis
Spurweite H0
Steuerung CS3 & iTrain 5
Stromart AC, Digital


RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#5 von Hardi , 14.01.2021 11:55

Hallo Dominik,

Zitat

kann man auch den TMC2208 verwenden?


den TMC2208 habe ich noch nicht probiert. Ich vermute aber, dass man ihn genau so verwenden kann. Er kann zusätzlich über eine serielle Schnittstelle konfiguriert werden.
Siehe: https://learn.watterott.com/de/silentstepstick/faq/
Ich werde mir auch mal ein paar davon bestellen.

Hardi


Haltet Euch unbedingt von diesen Seiten fern:
viewtopic.php?f=7&t=165060
https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr hier:
RE: Unsere Kinder und Vater Anlage(n)


 
Hardi
InterCityExpress (ICE)
Beiträge: 2.167
Registriert am: 28.12.2015
Homepage: Link
Ort: Mainz
Gleise C
Spurweite H0
Steuerung MS2 + Eigenbau
Stromart Digital


RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#6 von Hardi , 14.01.2021 12:08

Hallo Frank,

Zitat

Da wird mir schon noch was einfallen
:
Dirk hat da was Nettes entwickelt was einen Antrieb braucht:

Zitat

Hier noch das Funktionsprinzip des Antriebs.




der Kran von Dirk gefällt mir sehr gut. Aber er ist kein Kandidat für die „Drehscheibensteuerung“. Hier kommt es nicht auf eine ganz exakte Positionierung an. Außerdem benötigt man dafür zwei Motoren.
So etwas wird man dann mit der zweiten Stepper Platine welche ich plane steuern können. Diese soll 4 Stepperausgänge haben und über den Pattern_Configurator konfigurierbar sein. Damit kann man dann beliebige Choreographien erstellen.
Aber Du bringst mich auf die Idee, dass auch hier eine manuelle Steuerung per Poti interessant wäre. Zum Testen der Software bräuchte ich aber so einen Kran...

Hardi


Haltet Euch unbedingt von diesen Seiten fern:
viewtopic.php?f=7&t=165060
https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr hier:
RE: Unsere Kinder und Vater Anlage(n)


 
Hardi
InterCityExpress (ICE)
Beiträge: 2.167
Registriert am: 28.12.2015
Homepage: Link
Ort: Mainz
Gleise C
Spurweite H0
Steuerung MS2 + Eigenbau
Stromart Digital


RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#7 von fbstr , 14.01.2021 12:21

Zitat

So etwas wird man dann mit der zweiten Stepper Platine welche ich plane steuern können. Diese soll 4 Stepperausgänge haben und über den Pattern_Configurator konfigurierbar sein. Damit kann man dann beliebige Choreographien erstellen.
Aber Du bringst mich auf die Idee, dass auch hier eine manuelle Steuerung per Poti interessant wäre.



Oder man könnte sowas dafür verwenden !?
https://de.aliexpress.com/item/32683242155.html?
Davon hätte ich ja 4 Stück hier...


Zitat

Zum Testen der Software bräuchte ich aber so einen Kran...



Öhm, das Teil ist 4x so teuer wie Deine Thingiverse-Drehscheibe ...


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


 
fbstr
Metropolitan (MET)
Beiträge: 2.858
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital


RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#8 von franz_H0m , 14.01.2021 12:31

Hardi,

grossartig!

Fragen:
Wo sitzt denn der Hall-sensor und was [s]leist [/s] liest er ab? Was gibt das für eine Auflösung?
Das die Drehscheibe soviel Spiel hat, ist natürlich schade, aber etwas Spiel ist immer. Was wir bei der Arbeit eigentlich immer machen, wenn es auf Positionsgenauigkeit ankommt, ist eine Position immer von der gleichen Seite anzufahren. Hast Du das mal in Betracht gezogen? Dagegen spricht, dass es vielleicht nicht vorbildgetreu ist.
Ich hatte in meiner (unvollendeten und weitaus weniger aufregenden) Rottenwarnanlage das WTV020 Soundmodul verwendet, das übernimmt das Abspielen selbst und hält den Arduino frei, oder verwechsel ich da was oder war die verwendete lib das Problem?


Grüße, Franz

Mitglied bei den Lundarallarna.
Avatar: MAN-Zugmaschine der Ottensener Industriebahn (Foto: Dr. Ullrich Huckfeld).


 
franz_H0m
InterCity (IC)
Beiträge: 552
Registriert am: 02.11.2008
Ort: Lund, Sweden
Gleise Tillig/Eigenbau
Spurweite H0m
Steuerung z21PG DCC
Stromart Digital


RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#9 von fbstr , 14.01.2021 12:49

Zitat

...ist eine Position immer von der gleichen Seite anzufahren. Hast Du das mal in Betracht gezogen?



Franz, was Du jetzt nicht sehen kannst ist das "müde Lächeln" von Hardi
Er hat da eine 3-fache Positionsbestimmung eingebaut...


Zitat

Wo sitzt denn der Hall-sensor



Den Hallsensor kannst Du beliebig positionieren. Würde ich ihn neu einbauen, dann würde ich ihn rechts von Gleis 1 einbauen. Hardi hat seinen vermutlich genau in der Mitte beim Stepper platziert, was dann bei ihm zwischen Gleis 1 und Gleis 24 ist. Bei mir ist Gleis 1 aber was bei ihm dann Gleis 3 ist, denn die 2 Gleise links und die 2 Gleise rechts vom Spielzeugstepper kann ich bei mir nicht nutzen wegen der Elektronik (es ist ja eine Bodenbahning-Drehscheibe).

Hardi hat da wirklich Gehirnschmalz reingesteckt!


Vielleicht schaffe ich es am Wochenende dann die weiteren Tests auf meiner TimeWaster-Drehscheibe zu machen. Die hat einen "richtigen" Stepper und das Spiel ist kein Vergleich zu der 3D-Druck-Scheibe.

Wichtig war in den letzten 6 Wochen die Hardware soweit zu testen, damit nun die Platinen designet werden können. Der Rest ist dann eigentlich nur noch Software (denke ich als DAU)...


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


 
fbstr
Metropolitan (MET)
Beiträge: 2.858
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital


RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#10 von Saryk , 14.01.2021 13:31

Zitat

Fragen:
Wo sitzt denn der Hall-sensor und was leist er ab? Was gibt das für eine Auflösung?


Ich bin zwar nicht unser Meister udn ich kann zur Auflösung nicht viel sagen, aber ich weiß was er leistet - er bestimmt, wann die Drehscheibe einen bestimmten Punkt erreicht hat und dort die rückmeldung des Sensors kann die Steuerung ausrechnen, wie groß das Spiel ist, bzw wie viele Schritte (initiale Drehung) ein Vollkreis braucht.

Zitat

Das die Drehscheibe soviel Spiel hat, ist natürlich schade, aber etwas Spiel ist immer. Was wir bei der Arbeit eigentlich immer machen, wenn es auf Positionsgenauigkeit ankommt, ist eine Position immer von der gleichen Seite anzufahren. Hast Du das mal in Betracht gezogen? Dagegen spricht, dass es vielleicht nicht vorbildgetreu ist.


Hast es dir ja selbst beantwortet. Aber das Programm kann, soweit wir das auf dem Stammtisch ssehen durften, von beiden seiten so ziemlich punktgenau anfahren. (und wir haben ne nette Diskussion drüber gehabt)

grüße,
Sarah


Meine Ideenkiste
Ohne-Glied im Marzibahnerklub

Planung | Von Sayn und Sarthaal | Bauthread


 
Saryk
Metropolitan (MET)
Beiträge: 3.002
Registriert am: 27.10.2019
Homepage: Link
Gleise K/C-Gleis
Spurweite H0
Steuerung iTrain
Stromart AC, Digital


RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#11 von franz_H0m , 14.01.2021 14:23

Ah, danke. Ich hatte irgendwie den Hall fälschlicherweise als Encoder gedacht, aber es ist einfach ein Referenz- oder Homeschalter. das schreibt Hardi eigentlich auch. Was genau er abliest (nicht "leist", das war ein Tippfehler), habt Ihr aber immer noch nicht gesagt - irgendeinen Permanentmagnet? Erstaunt mich, dass das so reproduzierbar ist.

Das Hardi Gehirn investiert hat ist mir klar, will ja davon profitieren.

Und ja, ich habe die Botschaft verstanden: Wer die Stammtische verpasst, verpasst was...


Grüße, Franz

Mitglied bei den Lundarallarna.
Avatar: MAN-Zugmaschine der Ottensener Industriebahn (Foto: Dr. Ullrich Huckfeld).


 
franz_H0m
InterCity (IC)
Beiträge: 552
Registriert am: 02.11.2008
Ort: Lund, Sweden
Gleise Tillig/Eigenbau
Spurweite H0m
Steuerung z21PG DCC
Stromart Digital


RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#12 von Matthias_h0 , 14.01.2021 14:38

Zitat

Was genau er abliest (nicht "leist", das war ein Tippfehler), habt Ihr aber immer noch nicht gesagt - irgendeinen Permanentmagnet? Erstaunt mich, dass das so reproduzierbar ist.


An der Bühne der Drehscheibe ist, wenn ich das richtig verstanden habe, ein Magnet befestigt.

Zitat

Und ja, ich habe die Botschaft verstanden: Wer die Stammtische verpasst, verpasst was...


Schau dir doch die Aufzeichnung an. Am Anfang der letzten Aufzeichnung geht es um die Drehscheibe...


MobaLedLib Wiki


Matthias_h0  
Matthias_h0
InterRegioExpress (IRE)
Beiträge: 277
Registriert am: 29.11.2020
Gleise Märklin C-Gleis
Spurweite H0
Steuerung MS2, MobaLedLib
Stromart Digital


RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#13 von fbstr , 14.01.2021 16:05

Matthias hat Recht. An der Bühne habe ich einen starken Magneten eingeklebt. Der im Bild ist leider zu tief drin und damit zu weit weg für den Hall-Sensor. Ich habe da einfach noch einen weiteren Magneten davor gesetzt.


Die Ausrichtung ist übrigens wichtig. Je nachdem wie herum der Magnet eingeklebt ist muß der Hall-Sensor entsprechend ausgerichtet sein.


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


 
fbstr
Metropolitan (MET)
Beiträge: 2.858
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital


RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#14 von Hardi , 14.01.2021 16:26

Hallo Matthias,

Zitat von Matthias_h0 im Beitrag MobaLedLib: 768 LEDs, Servos, Sound, …………… Neu: Version 3.0.0

P.S.: Hardi, die Drehscheibensteuerung ist einfach nur genial!
Vielen Dank!
Schade, dass ich keinen Platz mehr für eine Drehscheibe habe...



Ich habe auch keinen Platz für eine Drehscheibe auf der Anlage. Die 3D Scheibe wird mein Nachbar bekommen.

Aber Du könntest Dir, nur so zum Spaß, auch eine Scheibe aufbauen. Es ist wichtig, dass das Programm mit möglichst vielen Hardware Varianten getestet wird.

Neben der 3D-Scheibe habe ich es auch schon mit dieser „Scheibe“ getestet:


Sie besteht aus Teilen welche Du vermutlich auch noch rumliegen hast und ist mit einem sehr präzisen Schrittmotor bestückt der absolut kein Zahnradspiel hat (Weil kein Getriebe vorhanden ist). Außerdem ist bei dieser Konstruktion die Reibung minimal (Nur die Luftmoleküle).

Zum Test habe ich hier mal eine Scheibe mit nur 3 Positionen eingezeichnet. Das Programm unterstützt Drehscheiben welcher zwischen 2 und 80 Gleise haben.

Von der Seite sieht es so aus:


Links sieht man den Hallsensor (TLE4905L) und eine LED zur Kontrolle. Bei diesem Aufbau ist die Messung der Schritte für eine Umdrehung ganz exakt 3200 (Microsteps). Bei der 3D Scheibe schwankt schon dieser Wert. Vermutlich liegt das daran, dass einige Schritte verloren gehen. Das werde ich noch untersuchen müssen.

Und so sieht es unter der Haube aus:



Hier noch mal die künstlerisch wertvoll gestaltete Platine aus der Nähe:



Und der Arm mit dem Magnet:


Es ist wichtig, dass der Magnet ganz weit Außen sitzt damit die Mesgenauigkeit maximal ist.

Man kann den „Prüfstand“ auch auf einen billigen Stepper umrüsten:


Hier habe ich bewusst ein Getriebe mit möglichst viel Spiel simuliert



Diese Anordnung habe ich noch nicht weiter benutzt. Ich bin gespannt wie das Programm damit zurechtkommt.


So eine Testvorrichtung kann jeder von Euch bauen. Die Konstruktion kann auch eine ganz andere Aufgabe haben. Vielleicht fällt euch was ein mit dem man das Programm verifizieren kann.


Hardi


Haltet Euch unbedingt von diesen Seiten fern:
viewtopic.php?f=7&t=165060
https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr hier:
RE: Unsere Kinder und Vater Anlage(n)


 
Hardi
InterCityExpress (ICE)
Beiträge: 2.167
Registriert am: 28.12.2015
Homepage: Link
Ort: Mainz
Gleise C
Spurweite H0
Steuerung MS2 + Eigenbau
Stromart Digital


RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#15 von Matthias_h0 , 14.01.2021 16:44

Hallo Hardi,
Vielleicht probiere ich es tatsächlich mal aus. So einen Billig-Steppermotor habe ich auch noch hier liegen...
Viele Grüße
Matthias

P.S.: Ich finde es toll, dass du dir so viel Zeit für die Drehscheibensteuerung nimmst, obwohl du selbst gar nichts damit anfangen kannst.
Danke!!!

P.P.S.: Ist der Code schon irgendwo verfügbar? Z.B. auf Github?


MobaLedLib Wiki


Matthias_h0  
Matthias_h0
InterRegioExpress (IRE)
Beiträge: 277
Registriert am: 29.11.2020
Gleise Märklin C-Gleis
Spurweite H0
Steuerung MS2, MobaLedLib
Stromart Digital


RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#16 von Hardi , 14.01.2021 16:59

Hallo Jochen,

Vielen Dank.

Zitat

110 Parameter ??? Was willst Du denn damit alles machen ?


Es soll möglichst Flexibel sein. Hier einfach mal die noch nicht schön gestaltete Liste der Parameter. Zum Teil versteht man was sie machen:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
 

#ifndef ALLWAYS_CHECK_STEPS_ONE_TURN
#define ALLWAYS_CHECK_STEPS_ONE_TURN 0 // Always check the steps for one turn at power on
#endif
#ifndef PORT_CNT
#define PORT_CNT 24 // Number of ports (Maximal 80)
#endif // Attention: The DCC_PORT_ADDR() list and POLARISATION_RELAIS_LIST has to be adapted also !!
#ifndef CIRCUMFERENCE
#define CIRCUMFERENCE 942.5 // 300 mm * Pi circumference of the turntable [mm] (Used for tests displays only)
#endif
#ifndef ROTATIONSWITCH_DIRECTION
#define ROTATIONSWITCH_DIRECTION 1 // Set to -1 to change the direction of the rotation switch (Also used for the menu)
#endif
#ifndef ROTATIONSWITCH_MENU_DIR
#define ROTATIONSWITCH_MENU_DIR 1 // Set to -1 to change the direction of the rotation switch in the menu
#endif
#ifndef ALWAYS_CALIBRATE_AT_START
#define ALWAYS_CALIBRATE_AT_START 0 // Set to 1 to calibrate the position every time when the program is started
#endif // If it's set to 0 the calibration is only called if necessary
#ifndef ALWAYS_SET_ZERO_IN_POS_DIR
#define ALWAYS_SET_ZERO_IN_POS_DIR 1
#endif
 
#ifndef TURNBACK_SPEED
#define TURNBACK_SPEED 15000 // Speed used for TurnBackAndSetZero
#endif
 
#ifndef SPEED_POTI_DIRECTION
#define SPEED_POTI_DIRECTION 1 // Set to -1 to change the direction of the speed poti
#endif
 
// *** Pins ***
#ifndef POTI_PIN
#define POTI_PIN A7 // Pin used for the speed potentiometer
#endif
#ifndef ENCODER_A_PIN
#define ENCODER_A_PIN 3 // Best Performance: both pins have interrupt capability
#endif
#ifndef ENCODER_B_PIN
#define ENCODER_B_PIN 8 // Good Performance: only the first pin has interrupt capability
#endif
#ifndef ENCODER_SW_PIN
#define ENCODER_SW_PIN A6 // Encoder switch pin (Other side connected to GND)
#endif
#ifndef STEP_PIN
#define STEP_PIN 4
#endif
#ifndef DIR_PIN
#define DIR_PIN 5
#endif
#ifndef NOT_ENABLE_PIN
#define NOT_ENABLE_PIN 6 // Set to -1 if the stepper driver has an automatic power mode like the TMC2100
#endif // The pin of the module must be left open
#ifndef ZERO_SW_PIN
#define ZERO_SW_PIN 7 // Switch connected to GND or low active reflex coupler
#endif
#ifndef STATUS_LED_PIN
#define STATUS_LED_PIN LED_BUILTIN
#endif
 
// *** Polarization relays ***
#ifndef POLARISATION_RELAIS_PIN
#define POLARISATION_RELAIS_PIN A1 // Polarization relays for dual rail system (Set to -1 if not used)
#endif
#ifndef POLARISATION_RELAIS_INVERS // 0: Pin is set to high POLARISATION_RELAIS_LIST[Port] = 1
#define POLARISATION_RELAIS_INVERS 0 // 1: Pin is set to low
#endif
#ifndef POLARISATION_RELAIS_LIST // Port: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
#define POLARISATION_RELAIS_LIST 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
#endif
 
#ifndef MOVE_STATUS_PIN // This pin is active (5V) if the turntable is moving
#define MOVE_STATUS_PIN A2 // It could be inverted with MOVE_STATUS_INVERS
#endif // If the pin is set to -1 it's disabled
// Attention: The moving state is not changed if the menu is opened
// to prevent that the master control program sends new commands.
#ifndef MOVE_STATUS_INVERS
#define MOVE_STATUS_INVERS 0 // Invert the level of the MOVE_STATUS_PIN. 1 => moving = 0V
#endif // The !Enable pin to the A4988 could be used instead
 
#ifndef MOVING_FLASH_PIN // Flashing while the turntable is moving
#define MOVING_FLASH_PIN A3 // The LED is connected to GND
#endif
#ifndef MOVING_FLASH_MODE
#define MOVING_FLASH_MODE 1 // 1 = Blink, 2 double flash
#endif
#ifndef MOVING_FLASH_TIME1
#define MOVING_FLASH_TIME1 250 // Time used to change the flashlight in mode 1
#endif
#ifndef MOVING_FLASH_TIME2_1
#define MOVING_FLASH_TIME2_1 48 // Flash times in mode 2
#endif
#ifndef MOVING_FLASH_TIME2_2 // ,-, ,-,
#define MOVING_FLASH_TIME2_2 74 // | | | |
#endif // ' '---' '---------
#ifndef MOVING_FLASH_TIME2_3 // T1 T2 T3
#define MOVING_FLASH_TIME2_3 494
#endif
#ifndef MOVING_FLASH_INVERS // Invert the level of the LED.
#define MOVING_FLASH_INVERS 0 // Normal: 0 = LED connected to GND
#endif // 1 = LED connected to +5V
 
#ifndef SOUND_PIN1 // Trigger an external sound module when the turntable
#define SOUND_PIN1 -1 // starts or stops moving (See SOUND_MODE)
#endif
#ifndef SOUND_PIN2 // Trigger an external sound module when the turntable
#define SOUND_PIN2 -1 // starts or stops moving (See SOUND_MODE)
#endif // or per DCC
#ifndef SOUND_PIN3
#define SOUND_PIN3 -1 // Trigger an external sound module per DCC
#endif
#ifndef SOUND_PIN4
#define SOUND_PIN4 -1 // Trigger an external sound module per DCC
#endif
#ifndef SOUND_MODE1 // Mode 1 = Trigger a sound when the turntable starts
#define SOUND_MODE1 1 // Mode 2 = .. when stops (1+2=start and stop)
#endif // or per DCC
#ifndef SOUND_MODE2 // Mode 1 = Trigger a sound when the turntable starts
#define SOUND_MODE2 2 // Mode 2 = .. when stops (1+2=start and stop)
#endif // or per DCC
#ifndef SOUND_ACT_DURATION
#define SOUND_ACT_DURATION 100 // Time how long the sound pin is activated [ms]
#endif
 
#ifndef SOUND_POTI_MOVE // Play the sounds also when moving with the poti
#define SOUND_POTI_MOVE 0 // and when the DCC_ROTATE_xxx_DIR_ADDR is used
#endif // If the switch is set to 0 the sounds are only
// played in the automatic modes
 
#ifndef USE_JQ6500_SERIAL // Use a JQ6500 sound modul which is connected via the serial pins
#define USE_JQ6500_SERIAL 1 // SMART_JQ6500_SERIAL_PIN --[1K]-- TX
#endif // If SOUND_PIN1 = -1 the hardware serial pin is used
 
#ifndef SMART_JQ6500_SERIAL_PIN // Define the pin number used for the sound modul
#define SMART_JQ6500_SERIAL_PIN -1 // -1 = hardware serial. This is the fastest method
#endif // to activate a sound (42us). 6.4ms are needed with
// another pin ;-(
 
#ifndef JQ6500_VOLUME // Set the volume of the JQ6500 sound module at power on
#define JQ6500_VOLUME -1 // Range: 0..30 (-1 = Don't change the volume)
#endif
#ifndef SOUND_VOLUME1
#define SOUND_VOLUME1 10 // Set the volume by the DCC addr DCC_VOLUME_1_ADDR
#endif
#ifndef SOUND_VOLUME2
#define SOUND_VOLUME2 20 // Set the volume by the DCC addr DCC_VOLUME_2_ADDR
#endif
 
#ifndef LIGHT_PIN
#define LIGHT_PIN 10 // Light in the machine house on the turntable
#endif
 

// *** OLED ***
#ifndef USE_OLED
#define USE_OLED 1 // Use an OLED Display (Could be disabled to save memory for tests. The outputs are send to RS232
#endif
#ifndef OLED_TYP // 0.87", 0.91" or 0.96" display (87/91/96)
#define OLED_TYP 91 // Tested with the following displays
#endif // 0,87" I2C 128x32 OLED SSD1316 (https://de.aliexpress.com/item/4000182887362.html)
// 0.91" I2C 128x32 OLED SSD1306 (https://de.aliexpress.com/item/4001028654247.html)
// 0,96" I2C 128X64 OLED SSD1306 (https://de.aliexpress.com/item/32643950109.html)
// The 0.96" Display uses 2% less memory because there only one font is used
// But it's only available if USE_u8x8 is active
 

#ifndef ROTATE_DISPLAY_180_DEG
#define ROTATE_DISPLAY_180_DEG 0 // Rotate the display by 180° => Pins are at the right side
#endif
#ifndef USE_u8x8 // Saves 10% FLASH, but only supports text output at pixel pos x * 8
#define USE_u8x8 1 // But the text is redrawn if it's changed.
#endif
#ifndef NO_FLICKER_u8x8
#define NO_FLICKER_u8x8 1 // Disable the flickering if USE_u8x8 is active (Uses 74 bytes FLASH)
#endif
#ifndef USE_LARGE_FONT_FOR_NUMBERS
#define USE_LARGE_FONT_FOR_NUMBERS 1 // Use a large font for numbers. The font is defined with LARGE_FONT_FOR_NUMBERS
#endif
#ifndef OLED_CONTRAST // Set the contrast or brightness for the display (if supported).
#define OLED_CONTRAST -1 // Range: 0 (no contrast) to 255 (maximum contrast or brightness)
#endif // -1 = Use standard (and save 22 bytes FLASH)
 
#ifndef USE_DIAGNOSE_DISP // Enable a diagnose display in the menu to check the poti and the rotation key
#define USE_DIAGNOSE_DISP 1 // Uses 162 Bytes FLASH
#endif
 
// *** Fonts ***
// https://github.com/olikraus/u8g2/wiki
//
// U8g2 Font names
// <prefix> '_' <name> '_' <purpose> <char set>
// <purpose> Description
// t Transparent font, Do not use a background color.
// h All glyphs have common height.
// m All glyphs have common height and width (monospace).
// 8 All glyphs ?t into a 8x8 pixel box.
// <char set> Description
// f The font includes up to 256 glyphs.
// r Only glyphs on the range of the ASCII codes 32 to 127 are included in the font.
// u Only glyphs on the range of the ASCII codes 32 to 95 (uppercase chars) are included in the font.
// n Only numbers and extra glyphs for writing date and time strings are included in the font.
// ... Other custom character list.
 
#if USE_u8x8 == 1
// Fonts for USE_u8x8:
// https://github.com/olikraus/u8g2/wiki/fntlist8x8
#if OLED_TYP == 96
#ifndef NORMAL_FONT
#define NORMAL_FONT u8x8_font_8x13B_1x2_r
#endif
#ifndef U8G_FONT_HEIGHT
#define U8G_FONT_HEIGHT 2
#endif
#undef USE_LARGE_FONT_FOR_NUMBERS
#define USE_LARGE_FONT_FOR_NUMBERS 0
#else
#ifndef NORMAL_FONT
#define NORMAL_FONT u8x8_font_amstrad_cpc_extended_r
#endif
#ifndef LARGE_FONT_FOR_NUMBERS
#define LARGE_FONT_FOR_NUMBERS u8x8_font_8x13B_1x2_r
#endif
#endif
#else
// Fonts if USE_u8x8 = 0
// https://github.com/olikraus/u8g2/wiki/fntlistall#14-pixel-height
#ifndef NORMAL_FONT
#define NORMAL_FONT u8g2_font_pxplustandynewtv_8r // 8x8 only 32-127 872 Bytes (See: u8g2fntlistall.pdf)
#endif
#ifndef LARGE_FONT_FOR_NUMBERS
#define LARGE_FONT_FOR_NUMBERS u8g2_font_9x18B_mn
#endif
#endif
 

#ifndef USE_JMP0_RESET
#define USE_JMP0_RESET 1 // Activate if a (very) old bootloader is used. In this case the watchdog reset doesn't work
#endif
 
// *** Stepper ***
#ifndef STEPPER_RAMP_LENGTH
#define STEPPER_RAMP_LENGTH 100
#endif
 
#ifndef MOVE_SPEED1
#define MOVE_SPEED1 25000 // Default speed and activated when DCC_SET_SPEED1_ADDR is received
#endif
#ifndef MOVE_SPEED2
#define MOVE_SPEED2 15000 // Speed activated when DCC_SET_SPEED2_ADDR is received
#endif
#ifndef MOVE_SPEED3
#define MOVE_SPEED3 10000 // Speed activated when DCC_SET_SPEED3_ADDR is received
#endif
#ifndef MOVE_SPEED4
#define MOVE_SPEED4 5000 // Speed activated when DCC_SET_SPEED4_ADDR is received
#endif
 
#ifndef CLEARENCE_TEST_SPEED
#define CLEARENCE_TEST_SPEED 25000 // Speed used in the clearance test
#endif
#ifndef CALIBRATE_SPEED
#define CALIBRATE_SPEED 25000 // Speed used for the zero point and total number of stepps detection
#endif
 
#ifndef ANALOG_SPEED_DIVISOR
#define ANALOG_SPEED_DIVISOR 8 // Divisor used to calculate the analog speed with the poti
#endif
#ifndef MIN_ANALOG_SPEED // Speed in steps/10sec. If the minimal speed is to small the repons time is to high
#define MIN_ANALOG_SPEED 20 // 1 => 10 sec reaction time ;-( Reaction time = 10 sec / MIN_ANALOG_SPEED
#endif
#ifndef MIN_STEPS_HAS_CONTACT // Don't move fast to the contact point in the "Poti" mode if Steps_Has_Contact
#define MIN_STEPS_HAS_CONTACT 30 // Is below the given value. Set to -1 to disable the check (Always move fast to the contact point)
#endif // Problem: The Steps_Has_Contact detection may be not accurate because of sensor errors
 
#ifndef FAST_MOVE_MANUAL_STEP
#define FAST_MOVE_MANUAL_STEP 32 // Step size in "Move manual" mode if the rotation switch is turned fast
#endif
#ifndef SLOW_MOVE_MANUAL_STEP
#define SLOW_MOVE_MANUAL_STEP 1 // Step size in "Move manual" mode if the rotation switch is turned slow
#endif
 
#ifndef TURNTABLE_DIRECTION
#define TURNTABLE_DIRECTION 1 // Set to -1 to change the rotation / port number direction
#endif
 
#ifndef REVERSE_IF_SAME_PORT_IS_RECEIVED
#define REVERSE_IF_SAME_PORT_IS_RECEIVED 1 // Reverse by 180° if the same port command is received twice
#endif
 
#ifndef USE_3_PORT_POS
#define USE_3_PORT_POS 1 // Store a third port position for the reversed port (496 Byte FLASH)
#endif
 

// *** DCC ***
#ifndef USE_DCC
#define USE_DCC 1 // Use a DCC interface
#endif
 
// DCC Commands are ignored while the menu is active and during calibration. => Activate the menu to disable DCC
 
#ifndef FIRST_USED_DCC_ADDR
#define FIRST_USED_DCC_ADDR DCC_CHKADDR(214, RED) // Used to speed up the program. Must be set to the first used address
#endif
 
// Use negativ addresses to disable the corrosponding command
#ifndef DCC_DISABLE_SOUND_ADDR
#define DCC_DISABLE_SOUND_ADDR DCC_ADD_DIR(214, RED) // Disable the automatic generated sound if the turntable starts/stops moving
#endif
#ifndef DCC_ENABLE_SOUND_ADDR
#define DCC_ENABLE_SOUND_ADDR DCC_ADD_DIR(214, GRN) // Enable the automatic generated sound if the turntable starts/stops moving
#endif
#ifndef DCC_VOLUME_DN_ADDR
#define DCC_VOLUME_DN_ADDR DCC_ADD_DIR(215, RED) // decrease the volume
#endif
#ifndef DCC_VOLUME_UP_ADDR
#define DCC_VOLUME_UP_ADDR DCC_ADD_DIR(215, GRN) // increase the volume
#endif
#ifndef DCC_VOLUME_1_ADDR
#define DCC_VOLUME_1_ADDR DCC_ADD_DIR(216, RED) // Set the sound volume to SOUND_VOLUME1 (10 by default)
#endif
#ifndef DCC_VOLUME_2_ADDR
#define DCC_VOLUME_2_ADDR DCC_ADD_DIR(216, GRN) // Set the sound volume to SOUND_VOLUME2 (20 by default)
#endif
 
#ifndef DCC_PLAY_SOUND1_ADDR
#define DCC_PLAY_SOUND1_ADDR DCC_ADD_DIR(217, RED) // Play sound 1
#endif
#ifndef DCC_PLAY_SOUND2_ADDR
#define DCC_PLAY_SOUND2_ADDR DCC_ADD_DIR(217, GRN) // Play sound 2
#endif
#ifndef DCC_PLAY_SOUND3_ADDR
#define DCC_PLAY_SOUND3_ADDR DCC_ADD_DIR(218, RED) // Play sound 3
#endif
#ifndef DCC_PLAY_SOUND4_ADDR
#define DCC_PLAY_SOUND4_ADDR DCC_ADD_DIR(218, GRN) // Play sound 4
#endif
#ifndef DCC_PLAY_SOUND5_ADDR
#define DCC_PLAY_SOUND5_ADDR DCC_ADD_DIR(219, RED) // Play sound 5
#endif
#ifndef DCC_PLAY_SOUND6_ADDR
#define DCC_PLAY_SOUND6_ADDR DCC_ADD_DIR(219, GRN) // Play sound 6
#endif
#ifndef DCC_PLAY_SOUND7_ADDR
#define DCC_PLAY_SOUND7_ADDR DCC_ADD_DIR(220, RED) // Play sound 7
#endif
#ifndef DCC_PLAY_SOUND8_ADDR
#define DCC_PLAY_SOUND8_ADDR DCC_ADD_DIR(220, GRN) // Play sound 8
#endif
#ifndef DCC_DISABLE_LIGHT_ADDR
#define DCC_DISABLE_LIGHT_ADDR DCC_ADD_DIR(221, RED) // Disable the light in the machine house on the turntable
#endif
#ifndef DCC_ENABLE_LIGHT_ADDR
#define DCC_ENABLE_LIGHT_ADDR DCC_ADD_DIR(221, GRN) // Enable the light
#endif
#ifndef DCC_SET_SPEED1_ADDR
#define DCC_SET_SPEED1_ADDR DCC_ADD_DIR(222, RED) // Set the moving speed to MOVE_SPEED1
#endif
#ifndef DCC_SET_SPEED2_ADDR
#define DCC_SET_SPEED2_ADDR DCC_ADD_DIR(222, GRN) // Set the moving speed to MOVE_SPEED2
#endif
#ifndef DCC_SET_SPEED3_ADDR
#define DCC_SET_SPEED3_ADDR DCC_ADD_DIR(223, RED) // Set the moving speed to MOVE_SPEED3
#endif
#ifndef DCC_SET_SPEED4_ADDR
#define DCC_SET_SPEED4_ADDR DCC_ADD_DIR(223, GRN) // Set the moving speed to MOVE_SPEED4
#endif
#ifndef DCC_STEP_POS_DIR_ADDR
#define DCC_STEP_POS_DIR_ADDR DCC_ADD_DIR(224, RED) // Turn to the next port in positive direction
#endif
#ifndef DCC_STEP_NEG_DIR_ADDR
#define DCC_STEP_NEG_DIR_ADDR DCC_ADD_DIR(224, GRN) // Turn to the next port in negative direction
#endif
#ifndef DCC_ROTATE_POS_DIR_ADDR
#define DCC_ROTATE_POS_DIR_ADDR DCC_ADD_DIR(225, RED) // Continiously rotate in the positive direction
#endif
#ifndef DCC_ROTATE_NEG_DIR_ADDR
#define DCC_ROTATE_NEG_DIR_ADDR DCC_ADD_DIR(225, GRN) // Continiously rotate in the negative direction
#endif
#ifndef DCC_STOPP_ADDR
#define DCC_STOPP_ADDR DCC_ADD_DIR(226, RED) // Stop the turntable
#endif
#ifndef DCC_CALIBRATE_ADDR
#define DCC_CALIBRATE_ADDR DCC_ADD_DIR(226, GRN) // Calibrate the zero position (During the calibration no other commands are accepted)
#endif
#ifndef DCC_SET_POL_REL0_ADDR
#define DCC_SET_POL_REL0_ADDR DCC_ADD_DIR(227, RED) // Set the polarisation to RED and disable the automatic
#endif
#ifndef DCC_SET_POL_REL1_ADDR
#define DCC_SET_POL_REL1_ADDR DCC_ADD_DIR(227, GRN) // Set the polarisation to GRN and disable the automatic
#endif
#ifndef DCC_AUTO_POL_REL_ADDR
#define DCC_AUTO_POL_REL_ADDR DCC_ADD_DIR(228, RED) // Enable the automatic polarisation mode. The releai wil be set after the next move
#endif
#ifndef DCC_REVERSE_TABLE_ADDR
#define DCC_REVERSE_TABLE_ADDR DCC_ADD_DIR(228, GRN) // Reverse the turntabel
#endif
 
// List of DCC adresses to move to the desired port. Must contain exact PORT_CNT entries. If not a compiler error is generated.
#ifndef DCC_PORT_ADDR_LIST
#define DCC_PORT_ADDR_LIST DCC_PORT_ADDR(1, 229, RED),
DCC_PORT_ADDR(2, 229, GRN),
DCC_PORT_ADDR(3, 230, RED),
DCC_PORT_ADDR(4, 230, GRN),
DCC_PORT_ADDR(5, 231, RED),
DCC_PORT_ADDR(6, 231, GRN),
DCC_PORT_ADDR(7, 232, RED),
DCC_PORT_ADDR(8, 232, GRN),
DCC_PORT_ADDR(9, 233, RED),
DCC_PORT_ADDR(10, 233, GRN),
DCC_PORT_ADDR(11, 234, RED),
DCC_PORT_ADDR(12, 234, GRN),
DCC_PORT_ADDR(13, 235, RED),
DCC_PORT_ADDR(14, 235, GRN),
DCC_PORT_ADDR(15, 236, RED),
DCC_PORT_ADDR(16, 236, GRN),
DCC_PORT_ADDR(17, 237, RED),
DCC_PORT_ADDR(18, 237, GRN),
DCC_PORT_ADDR(19, 238, RED),
DCC_PORT_ADDR(20, 238, GRN),
DCC_PORT_ADDR(21, 239, RED),
DCC_PORT_ADDR(22, 239, GRN),
DCC_PORT_ADDR(23, 240, RED),
DCC_PORT_ADDR(24, 240, GRN)
#endif
 
#ifndef LAST_USED_DCC_ADDR // Must be set to the last used address
#define LAST_USED_DCC_ADDR DCC_CHKADDR(240, GRN) // If wrong limmits are used an "warning: division by zero" will be generated
#endif
 
#ifndef STORE_DCC_SWITCHES_TO_EEPROM
#define STORE_DCC_SWITCHES_TO_EEPROM 1 // Store the Switches for sound and light to the EEPROM
#endif
 

 

#ifndef ENABLE_DPRINTF
#define ENABLE_DPRINTF 0 // Enable the Dprintf() functions. Attention: This should be 0 in the release version to save memory (vfprintf uses 2368 bytes)
#endif
 
 




Zitat

Ja, der liebe Speicher des Nanos.
Haste evtl. mal über nen anderen "günstigen" Controller nachgedacht?
Interessant wäre hier ein ESP32 mini (ala: ESP32 D1 mini, 9€ in D, 3€ in Fernost).
Vorteil: 34 I/O PINs, WLAN, Bluetooth, 512kB RAM, 4MB Speicher und soweit ich weiß alle PINs Interrupt fähig.

Könnte mir gut vorstellen, dass wenn Du außer DCC noch MM (Gleis oder CAN) und SX unterstützen willst und Zuglift usw. könnte sich der Nano als zu klein erweißen.


Ich wäre tatsächlich während der Entwicklung beinahe schwach geworden. Aber das geht gar nicht. Mit einem 32 Bit Prozessor kann jeder das Problem lösen. Noch habe ich 12% des Speichers frei. Und es kann noch einiges an Debug Zeug weggelassen werden.
CAN Bus oder SX werden nicht gleichzeitig mit DCC unterstützt werden. Das ist also kein Problem.
Aber vermutlich werde ich auf der Platine auch einen Steckplatz für so einen Supercomputer mit WLAN und Bluetooth vorsehen, aber niemanden verraten…

Zitat

Sollte ich denn Zeit finden (ich komme ja nichtmal dazu was an der Anlage zu machen) werde ich mir auch mal eine DS für den Stammtisch drucken, dann kann ich testen ^^



So hat es bei mir auch angefangen ;-(


Hardi


Haltet Euch unbedingt von diesen Seiten fern:
viewtopic.php?f=7&t=165060
https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr hier:
RE: Unsere Kinder und Vater Anlage(n)


 
Hardi
InterCityExpress (ICE)
Beiträge: 2.167
Registriert am: 28.12.2015
Homepage: Link
Ort: Mainz
Gleise C
Spurweite H0
Steuerung MS2 + Eigenbau
Stromart Digital


RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#17 von Hardi , 14.01.2021 17:27

Hallo Franz,

Vielen Dank!

Zitat

Wo sitzt denn der Hall-sensor und was [s]leist [/s] liest er ab? Was gibt das für eine Auflösung?


Frank hat die Frage ja schon zum Teil beantwortet. Er sollte möglichst weit außen angebracht werden damit die Auflösung optimal ist. Ich befürchte aber, dass er durch Metall beeinflussen lässt (Soll je bei Lokomotiven vorkommen). Bei meiner Legotechnik Scheibe wird die Anzahl der Schritte immer ganz genau ermittelt. 360° = 3200 Microsteps => Die Auflösung ist im Bereich von 0.1° bei meiner Anordnung. Besser währe vermutlich eine Gabellichtschranke. Das habe ich noch nicht untersucht.
Bei der 3D Scheibe kommt noch ein Spiel der Bühne in Z-Richtung dazu. Zumindest läuft die Scheibe bei Frank nicht auf den Rollen, sondern schwebt darüber. Das bedeutet, dass der Magnet in unterschiedlicher Höhe an Sensor vorbeikommen kann. Das wird die Positionierung zusätzlich beeinflussen.

Zitat

Das die Drehscheibe soviel Spiel hat, ist natürlich schade, aber etwas Spiel ist immer. Was wir bei der Arbeit eigentlich immer machen, wenn es auf Positionsgenauigkeit ankommt, ist eine Position immer von der gleichen Seite anzufahren. Hast Du das mal in Betracht gezogen? Dagegen spricht, dass es vielleicht nicht vorbildgetreu ist.


Auch hier ist mir Frank zuvorgekommen. Ich messe den Nullpunkt von Beiden Seiten aus. Dadurch kann ich das Spiel der Zahnräder berücksichtigen. Für jedes Gleis kann eine individuelle Position für das anfahren von beiden Seiten her abgelegt werden. Zu Beginn werden diese entsprechend des Zahnradspiels initialisiert. Man kann aber jede Position auch individuell absteichern.
Die Dritte gespeicherte Position ist für eine 180° Drehung. Wenn die Schienen auf der Bühne nicht ganz exakt in der Mitte montiert sind wird man immer einen leichten Versatz haben, wenn die Bühne zu einer Wende der Lok um 180° gedreht wird. Das kann über diesen Parameter adaptiert werden.

Zitat

Ich hatte in meiner (unvollendeten und weitaus weniger aufregenden) Rottenwarnanlage das WTV020 Soundmodul verwendet, das übernimmt das Abspielen selbst und hält den Arduino frei, oder verwechsel ich da was oder war die verwendete lib das Problem?


Das JQ6500 Sound Modul kümmert sich auch selbstständig um das Abspielen des Sounds. Die Bibliothek hat aber aus irgendeinem Grund auf die Antwort des Sound Moduls gewartet obwohl es eigentlich auch Bussy Abfrage in der Bibliothek gibt. Ich habe die ganzen Abfragen aus der Bibliothek weggelassen und sie Außerdem auf die Hardware serielle Schnittstelle umgestellt. Bisher wurde eine Software Schnittstelle verwendet. Dadurch konnte ich viel Speicher sparen und außerdem kümmert sich jetzt die Hardware im Arduino um das senden der Bits. Das War eigentlich nichts Großes, aber es hat eine Weile gedauert zu verstehen an was es hängt. Bei der Gelegenheit habe ich mir auch 1.5 Soundmodule zerschossen ;-(

Hardi


Haltet Euch unbedingt von diesen Seiten fern:
viewtopic.php?f=7&t=165060
https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr hier:
RE: Unsere Kinder und Vater Anlage(n)


 
Hardi
InterCityExpress (ICE)
Beiträge: 2.167
Registriert am: 28.12.2015
Homepage: Link
Ort: Mainz
Gleise C
Spurweite H0
Steuerung MS2 + Eigenbau
Stromart Digital


RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#18 von Hardi , 14.01.2021 17:33

Hallo Frank,

Zitat

Öhm, das Teil ist 4x so teuer wie Deine Thingiverse-Drehscheibe ...


"4x nichts" ist kein Problem (mich hat die Scheibe nichts gekostet) 😊

Hardi


Haltet Euch unbedingt von diesen Seiten fern:
viewtopic.php?f=7&t=165060
https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr hier:
RE: Unsere Kinder und Vater Anlage(n)


 
Hardi
InterCityExpress (ICE)
Beiträge: 2.167
Registriert am: 28.12.2015
Homepage: Link
Ort: Mainz
Gleise C
Spurweite H0
Steuerung MS2 + Eigenbau
Stromart Digital


RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#19 von Hardi , 14.01.2021 17:38

Hallo Zusammen,

Zitat von Matthias_h0 im Beitrag #15

P.P.S.: Ist der Code schon irgendwo verfügbar? Z.B. auf Github?


Wie Ihr das Programm testen wollt, dann schickt mir eine Mail (Siehe @Hardi). In dem frühen Stadium ist es gut zu wissen wer das Programm testet.

Hardi


Haltet Euch unbedingt von diesen Seiten fern:
viewtopic.php?f=7&t=165060
https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr hier:
RE: Unsere Kinder und Vater Anlage(n)


 
Hardi
InterCityExpress (ICE)
Beiträge: 2.167
Registriert am: 28.12.2015
Homepage: Link
Ort: Mainz
Gleise C
Spurweite H0
Steuerung MS2 + Eigenbau
Stromart Digital

zuletzt bearbeitet 09.06.2021 | Top

RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#20 von franz_H0m , 14.01.2021 18:03

Zitat

Für jedes Gleis kann eine individuelle Position für das anfahren von beiden Seiten her abgelegt werden. Zu Beginn werden diese entsprechend des Zahnradspiels initialisiert. Man kann aber jede Position auch individuell absteichern.



Ja, da fällt mir dann auch nichts mehr ein.


Grüße, Franz

Mitglied bei den Lundarallarna.
Avatar: MAN-Zugmaschine der Ottensener Industriebahn (Foto: Dr. Ullrich Huckfeld).


 
franz_H0m
InterCity (IC)
Beiträge: 552
Registriert am: 02.11.2008
Ort: Lund, Sweden
Gleise Tillig/Eigenbau
Spurweite H0m
Steuerung z21PG DCC
Stromart Digital


RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#21 von gerald bock , 14.01.2021 18:48

Hallo Hardi,

Zitat
Bei meiner Legotechnik Scheibe wird die Anzahl der Schritte immer ganz genau ermittelt. 360° = 3200 Microsteps => Die Auflösung ist im Bereich von 0.1° bei meiner Anordnung. Besser währe vermutlich eine Gabellichtschranke. Das habe ich noch nicht untersucht.



https://de.aliexpress.com/item/329161348....6e214c4d6UrVtt

Falls du nach einer kleinen Gabellichtschranke suchst, diese hat sogar 2 Sensoren für eine Richtungsauswertung.

Tolles Projekt großes Danke auch von mir


Liebe Grüße
Gerald

QProgrammer, MobaLedLib
S88, QDecoder
Infos zu Traincontroller http://www.tc-wiki.de/index.php/Hauptseite
Infos zur MobaLedLib - //wiki.mobaledlib.de/


 
gerald bock
InterRegio (IR)
Beiträge: 114
Registriert am: 08.03.2011
Ort: südöstlich von Wien
Gleise Roco, Tillig
Spurweite H0, H0e
Steuerung IB I, Traincontroller Gold, Krois-Car-System
Stromart DC, Digital


RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#22 von Clooney , 14.01.2021 18:55

Hi Hardi,

Vielen Dank für die Erläuterungen.

Wäre es evtl. auch möglich die Steuerung M* kompatibel zu gestalten?
Sonst gibt es evtl. Probleme mit den ganzen PC Steuerungsprogrammen.
Nur mal so als Gedankengang.


Gruß Jochen

Meine Saunakellerbahn: RE: Saunakellerbahn
Anlageplanung: RE: Endlich eigene MoBa im Saunakeller


Clooney  
Clooney
InterCity (IC)
Beiträge: 582
Registriert am: 02.01.2016
Ort: Gammelshausen
Gleise Märklin C-Gleis
Spurweite H0
Steuerung CS3 & iTrain 5
Stromart AC, Digital


RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#23 von Hardi , 14.01.2021 20:00

Hallo Jochen,

ich gehe mal davon aus, Du meinst Märklin kompatibel. Das kann man ruhig schreiben, das ist einfach nur ein Markenname…
Ich verwende momentan zum testen nur Märklin Komponenten (weil ich nichts anderes habe). Ich generiere das DCC Signal mit MS2 und Gleisbox. Später werde ich auch noch eine Variante für den Märklin CAN Bus machen.

So viel ich das in Sven Brandts (https://www.digital-bahn.de/bau_ds2010/dsd2010_konzept.htm) ausführlicher Beschreibung gelesen habe unterscheidet sich die Märklin Adressierung der Drehscheibe von den anderen Scheiben durch eine unterschiedliche Reigenfolge der Adressen.

Bei dem Programm werden können die Adressen ganz beliebig vergeben werden. Damit kann man sie an jeden beliebigen Standard anpassen.

Wenn Du mir eine genaue Beschreibung hast, dann kann ich prüfen ob das so funktioniert. Du kannst das aber auch gerne selber angehen. Eine Testscheibe ist schnell gebaut…


Hardi


Haltet Euch unbedingt von diesen Seiten fern:
viewtopic.php?f=7&t=165060
https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr hier:
RE: Unsere Kinder und Vater Anlage(n)


 
Hardi
InterCityExpress (ICE)
Beiträge: 2.167
Registriert am: 28.12.2015
Homepage: Link
Ort: Mainz
Gleise C
Spurweite H0
Steuerung MS2 + Eigenbau
Stromart Digital


RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#24 von 4fangnix , 14.01.2021 20:55

Hallo Hardi,

Du kannst zu Testzwecken gerne eine Märklin-Drehscheibe (inkl. der klassischen Ansteuerung) von mir ausleihen.
Momentan kann ich sie sowieso nicht einbauen.

Gruß
Armin


Rocrail; 1x OpenDCC GBMboost, 1x BiDiB RF-Basis (OpenCar), 5x GBM16T, 2x LightControl, 2x OneControl, 5x Mobalist, DMX-RGB-Dimmer;
MobaLedLib (kann > 48.000 LED via WS2811 oder > 16.000 WS2812-RGB-LED steuern und/oder Servos, Sounds, Stepper, DMX und Displays);
Intellibox; Märklin C- und K-Gleis, Bahn im Aufbau.


4fangnix  
4fangnix
InterRegioExpress (IRE)
Beiträge: 273
Registriert am: 18.10.2015
Ort: Weiterstadt
Gleise K-Gleis, C-Gleis
Spurweite H0
Stromart Digital


RE: MobaLedLib: Hard- und Software zur Steuerung einer Drehscheibe per Schrittmotor

#25 von raily74 , 14.01.2021 22:06

Ich kann mich den anderen nur anschließen: RESPEKT.
Ich freue mich auf das, was da kommt und bin wie immer sprachlos!

Zitat

[*] Tests:
Das Programm muss mit den Verschiedenen Hardware Kombinationen getestet werden. Dazu brauche ich Eure Unterstützung.



Okay Hardi, du hast mich überzeugt. Ich schmeiße die Servo-Aufzüge und die damit verbundene Entwicklungszeit über Board und fahre meine Aufzüge in Zukunft mit vier Steppermotoren hoch und runter. Hätte mir eigentlich schon beim letzten Stammtisch auffallen müssen. Mein Fehler.

Ich teste das Ganze also dann mit der Roco Z21 über iTrain und werde versuchen diesen Steppermotor zu betreiben.

Okay, hab gerade gelesen, dass der Kran kein Kandidat für den Test ist, dann sind es die vier Aufzüge auch nicht, gell?


Viele Grüße, Michael

Das 3-Generationen-Projekt | H0-Epoche V Anlage im Bau
YouTube MLL | Erwecke deine Modellbahn zum Leben
MobaLedLib Wiki | Alle Lösungen zentral an einem Ort


 
raily74
CityNightLine (CNL)
Beiträge: 1.618
Registriert am: 05.12.2006
Ort: Kassel (LK)
Gleise Roco Line
Spurweite H0
Steuerung Z21, iTrain, MobaLedLib
Stromart DC, Digital


   

Gleisbox als Zentrale
? / Problem zu/mit ROCO Drehscheibe (42615), LDT TT-DEC-R und Traincontroller

  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz