Servodecoder gibt es doch schon. Oder.....

  • Hallo zusammen,

    nach langer und bewegter Zeit habe ich wieder Muse mich den Themen rund um die Modellbahn zu widmen. Bin ich doch die letzten beiden Jahre, bis auf die Fertigung von Holzteilen für Kollegen, nicht an die eigenen Projekte gekommen. Unter den "Holzbauten" habe ich noch zwei elektronische Projekte auf der Agenda. Einmal der Platinen bzw. Umbausatz für die 50er von Roco und einen universellen Servodecoder für 2L und 3L Betrieb. Wie ihr wisst habe ich hier eine Tillig Weiche EW6 für 3L Betrieb erfolgreich umgebaut und vorgestellt.
    Angespornt durch die Universalmodule von Lothar Michel werde ich meine zukünftigen Module ebenfalls so bauen. Damit ist mein gesamtes rollendes Material nicht verloren. Komme ich doch historisch von den 3L-Fahrern. Deshalb habe ich auch das Decoderprojekt dem 50er Projekt vorgezogen. Keine Sorge die 50er Platine kommt noch. Liegen doch hier mittlerweile 3 Stück 50er unter 20cm Staub im Keller.

    Also was soll der Aufwand? Servodecoder gibt es doch wie Sand am Meer und die können doch schon alles!

    Bei den ersten Überlegungen ging es auch nur darum die Polarisierung zwischen 2L und 3L umzuschalten. Das ist insofern wichtig, weil die Zungenschiene im 3L-Betrieb Mittelleiterpotential führen muss und im 2L Betrieb..... was erzähle ich. Das Herzstück ist dann auch noch besonders. Dann kamen aber Gespräche mit Forenkollegen über die Bedienbarkeit so einiger elektronischer Helfer unseres Hobby's dazu. Nicht zuletzt die Aussagen, dass so ein computergesteuertes Stellwerk u.U. nur vom Erbauer bedient werden kann oder sogar grundsätzlich Teufelszeug ist. Die Meinungen gehen da weit auseinander. Das hat mich also vor Beginn auf die Holzkiste setzen und nachdenken lassen.

    Was dabei bisher herausgekommen ist erlaube ich mir hier vorzustellen.

    Der Decoder ist von der Soft- und Hardwareseite aus komplett modular aufgebaut. Ich wollte das Rad nicht jedes Mal neu erfinden müssen. Die Platine ist noch nicht fertig, aber sie ist so angelegt, dass jeweils die Bestückung über ihren Einsatzzweck entscheidet. Genau so verhält es sich mit der Software. Je nach gewähltem Profil werden die Softwareteile automatisch "zusammengesucht" und zum fertigen Softwarepaket compiliert und gelinkt. Am Ende wird es aber doch zwei Platinen geben. Einmal passend für einen Wattenscheider Signaleinschub und als Aufsatz auf einem Servohalter zum selbst drucken. Damit wird auch der erste Unterschied klar. Der Decoder kümmert sich mit seinen max. zwei Servos um EIN Form- Lichtsignal oder EINE Weiche/DKW.

    Folgende Decodertypen können damit gebaut werden.
    - Servo Weichendecoder mit zwei Servos für z.B. eine DKW (Software fertig)
    - Servo Signaldecoder für Formsignale HP0,HP1,HP2 oder VR0,VR1,VR2 oder SH1 oder.. (Software fertig)
    - Lichtsignaldecoder im Moment für H/V Bilder und bis zu 16 LED's incl. Überblenden (Software fertig)
    - 3 Relais für Herzstückpolarisation oder 2L/3L Umschaltung oder Signalbildanzeige sind bereits integriert!

    Folgende Bedienmöglichkeiten gibt es:
    - Handbedienung der Weichen, Signalbilder mit Tastern ohne Computer (Software fertig)
    - DCC-Betrieb als Accessory Decoder. (Bei Signalen 1 bis n Ausgänge.) (Software fertig)
    - LocoNet Accessory Decoder. Mit Rückmeldung Endlage über Eingang oder Logik (Software in Entwicklung)

    Folgende Konfigurationsmöglichkeiten gibt es:
    - CV über Handtaster (3 Tasten Enter, +, -) als kleine Box zum Stöpseln (Software fertig)
    - CV über DCC Service-Mode (Programmiergleis) (Software fertig)
    - CV über PoM (Software fertig)
    - CV über RailCom(R) (Vorerst verworfen weil mit Kanonen auf Spatzen)
    - CV über Terminalprogramm PC (Software fertig)
    - CV über PC-Software. Malen nach zahlen, oder betreutes Parametrieren. (Software in Entwicklung, macht mein Sohn:thumbup2:)
    - CV über LocoNet. (Software in Entwicklung)
    - Decoder Adresse Lernmodus mit Taste über DCC-SM oder PoM. (Software fertig)

    Die Servofuktionen sind vielseitig einstellbar und sinnvoll vorkonfiguriert. Natürlich sind die Servos am Ende des Fahrweges abschaltbar, sollte es gewünscht werden. Auch dafür gibt es eine CV. Hier die aktuelle Liste der verwendeten CV's
    CV-Kurzdoku_V14_3.pdf

    Jetzt kommt noch etwas für die Insider der Elektronik:
    Das Ganze Ding wird also nicht mehr auf das blanke Blech getackert sondern ist modular aufgebaut. Die Software ist eventgesteuert mit einer sauberen App-Logik, die die Ereignisse auf die verschiedenen Pipelines verteilt. Dort werden diese dann umgesetzt und Rückgemeldet. (Input <-> Application <-> State machine <-> Output) Der Application Layer vereinfacht die Entwicklung neuer Module und Funktionen gewaltig. Die State machine kümmert sich um die korrekte Ausgabe. Alles über eine einheitliche Schnittstelle fertig ist der Lack.
    Als Prozessor kommt ein ATmega4808 vom Microchip zum Einsatz. Seinen Bruder mit etwas mehr Beinen kennt vielleicht der Eine oder Andere vom "Arduino Nano Every" Die Servos und die LED's steuert ein PWM-Controller vom Typ PCA6985. Durch den modularen Ansatz habe ich eine Auslastung von maximal 54% im Flashspeicher. Da geht noch was. Insofern würde auch RailCom(R) noch gehen.
    Entwickelt wurde auf PlatformIO unter VisualStudio Code. Bei der Erstellung haben mir folgende Bibliotheken geholfen:
    - MegaCoreX Bibliothek von MCUdude
    - AP_DCC_Bibliothek von Aiko Pras (angepasst an MegaCoreX) Grundlage sind bei allen Bibliotheken die Biblithek von Wolfgang Kufer et. al.
    - LocoNet_Master von Alex Shepherd et. al. (noch im Test)
    - Adafruit_PWMServoDriver und mein eigener Wrapper.
    Das Ganze wird am Ende unter der GNU Public Licence laufen und in Git veröffentlicht. Im Moment läuft es noch auf dem lokalen Git, da bei uns vorzugsweise Abends und Nachts das Glasfasernetz ausgebaut wird und damit schon mal länger das Internet weg ist.

    Zur Platine:
    Im Moment arbeite ich mit den "Bastelboards" von Adafruit (Servocontroller) und einem 4808 Noname-Board von Aliexpress. Der 4808 braucht zum Programmieren einen sogenannten UPDI-Programmer. Dieser ist im Arduino Nano Every bereits enthalten im China Billigteil eben nicht. Man sieht ihn hinten rechts auf dem Bild und er ist bei MCUdude/MEGACoreX auf Git verlinkt. Kostet um die 25€ mit Versand und funktioniert einfach Bombe. Die drei LED's in der Mitte simulieren die Relais.

    Hier also der aktuelle Versuchsaufbau:

    Wie geht es weiter:
    Im Moment designe ich die Weichenplatine. Die im Versuchsaufbau verwendeten "Bastelboards" kommen da natürlich nicht zum Einsatz. Es wird alles kompakt auf einer Platine montiert sein, so dass Drahtverhaue unter dem Modul erst gar nicht entstehen.

    Also bis hierher mein Vorhaben. Ich hoffe ich habe nicht gelangweilt.

    Mit freundlichen Modellbahnergrüßen
    Thomas

    "Wer sich nicht an die Vergangenheit erinnern kann, ist dazu verdammt, sie zu wiederholen." Jorge Augustín Nicolás Ruiz de Santayana

  • Gude Lutz und Mitleser,

    ja das ist eine gute Frage. Diese "Servoexpander", die einen normalen Servo auf 180° aufpimpen, gibt es schon seit gefühlt 40 Jahren. Zu meinen RC-Modellbau Zeiten haben wir die Dinger für die Spornfahrwerke eingesetzt um mit dem Seitenruder zusammen einen Kanal am Empfänger zu sparen. Damit konnte man am Boden besser um die Kurve, weil sich der Ausschlag gegenüber dem Seitenruder u.U. verdoppeln ließ. Ich habe sogar noch Platinen hier liegen für einen Master und zwei Slaves.

    Das Problem sind wirklich die Servos. Heutzutage können die meisten Servos 180° ohne Probleme. Die Servos oben im Bild gehören dazu und der Decoder kann das ebenfalls. Dabei muss man sagen, je billiger die Servos , desto größer die Wahrscheinlichkeit für 180°.

    Die Servos sind aber eigentlich für Fernsteuerungen ausgelegt. Die Pulspositionsmodulation PPM, nach der die Servos fahren, gibt 1500us für die Mitte vor. Die verschiedenen Fernsteuerungshersteller geben dann unterschiedliche Werte für Min- und Maxweg aus. Einzig Multiplex hatte +/- 550us was in etwa 170° am Servo an Gesamtweg entsprach. Damals ein Novum und auch nur für Beispielsweise mech. Fahrwerke wirklich praktikabel. (Selbstverriegelnd)


    Man sollte sich aber die Frage stellen für was 180° Servoweg notwendig sind. Mir fällt im Moment keine einzige Anwendung ein bei der 180° Servoweg gebraucht würden. (Selbstverriegelnd für Weichen mit geeigneter Mechanik. Naja.)

    Das Platinchen oben eignet sich aber sicher für Anwendungen, bei denen ich mehrere Servos an einem Kanal betreibe aber unterschiedliche Endpositionen brauche.

    Viele Grüße
    Thomas

    "Wer sich nicht an die Vergangenheit erinnern kann, ist dazu verdammt, sie zu wiederholen." Jorge Augustín Nicolás Ruiz de Santayana

  • Hallo Thomas,

    schön wieder was von Dir zu lesen. Du scheinst ja, neben dem Holz wieder ganz gewaltig in Modellbahn- Elektronik zu machen. Allerdings verstehe ich davon so viel, wie die Kuh vom Fliegen.

    In einem Nebensatz erwähnst Du die Platinen für die BR 50- ist das die Idee, die wir in Uslar besprochen hatten?

    Wünsche ein schönes Wochenende

    Viele Grüße Christian

    der jetzt wieder den Rechner mit dem Steuerungsträger der 44 001 quält

    Es ziemt sich nicht für einem braven Manne-

    nur nach dem praktischen Sinn einer Sache zu sehen.

    Weisheit eines mir unbekannten

  • Moin Christian

    An Uslar kann ich mich gar nicht erinnern da verwechselst Du bestimmt was.

    In einem Nebensatz erwähnst Du die Platinen für die BR 50- ist das die Idee, die wir in Uslar besprochen hatten?

    Das ist die Platine, die wir in Rheine beim Basteltreffen auf dem Tisch hatten. Das "uralte" Thema hier. (20cm Staub :sleeping:)

    Viele Grüße nach Jena
    Thomas

    "Wer sich nicht an die Vergangenheit erinnern kann, ist dazu verdammt, sie zu wiederholen." Jorge Augustín Nicolás Ruiz de Santayana

  • Hallo Thomas,

    es war natürlich in Rheine, wo wir die Tafel vollgekritzelt haben.

    Da sich an meinen räumlichen Verhältmissen immer noch nichts geändert hat- habe ich leider für die (Servo)-Decoder keinen Bedarf. Aber prinzipiell eine Idee- die mich immer mal wieder umtreibt. Kann man soetwas ggf. auch für die Umsteuerung einer Lokomotive verwursten?

    Der Dekoder für die "fuffzig" treibt mich, in etwas abgespeckter (ohne Ton) immer noch um- die ersten Lok der BR 44 stehen auch schon...


    Viele Grüße Christian

    Es ziemt sich nicht für einem braven Manne-

    nur nach dem praktischen Sinn einer Sache zu sehen.

    Weisheit eines mir unbekannten

  • Gude Christian,

    Kann man so etwas ggf. auch für die Umsteuerung einer Lokomotive verwursten?

    Ganz klar: Nööö. Naja, wo soll der Servo auch hin? Selbst die kleinesten Servos würden nicht in einen H0 Kessel passen und dann nur für die Show? Ich glaube da hört's dann auf.

    Gruß Thomas

    "Wer sich nicht an die Vergangenheit erinnern kann, ist dazu verdammt, sie zu wiederholen." Jorge Augustín Nicolás Ruiz de Santayana

  • Hallo zusammen,

    am Decoder ist es weiter gegangen und die Platine (WEICHENDECODER) ist fertig designed und geht in die Prototypenphase. Ich möchte Euch natürlich die "bunten Bilder" nicht vorenthalten. Erstmals gibt es auch 3D-Bilder von dem Ding, so dass sich bestimmt mancher die Sache besser vorstellen kann.

    Hier die Platine in der EDA Software. Mir geht es da um die Verdeutlichung der Außenmaße. Den Rest verstehe eh nur ich. :)

    Anschaulicher ist da der 3D-Entwurf. Hier einmal die Vorderseite.

    und natürlich die Rückseite.

    Vielleicht noch eine wichtige Anmerkung. Für eine 2L-Weiche benötigt man in der Tat nur 1 Relais und somit nur eine Dreifachklemme. Außerdem kann das kleine Ding ENTWEDER Loconet ODER DCC. Dementsprechend fallen auch hier Komponenten der linken Seite weg. Wer rein mit der Hand fahren will, der braucht fast gar nichts mehr von der linken Seite. Was ich dargestellt habe ist der Servodecoder im Vollausbau für eine DKW im 2L UND 3L Mischbetrieb mit automatischer Umschaltung.

    Außerdem für alle Ausbaustufen verfügbar der USB-Anschluss um den Decoder, auch ohne DCC und Loconet, in seinen CV's in ganzer Tiefe zu konfigurieren. Das geht auch über ein 3-Tasten Eingabegerät, aber nur eingeschränkt für die Servowege.
    Wer jetzt überlegt: Nein, es ist kein Arduino Uno der über den USB-Anschluss programmiert wird. Der Prozessor wird über einen UPDI-Programmer mit seiner Software versorgt. Der USB-Anschluss ist ein reiner USB-Uart, der eine serielle Schnittstelle zur Verfügung stellt.

    Ja, soweit die eierlegende Wollmilchsau. Was als nächstes kommt ist noch der gedruckte Servohalter mit entsprechender Mechanik. Am Ende soll das Ganze Ding kompakt, sauber verkabelt, mit zwei Schrauben unter das Modul schraubbar sein. Bedienung und Saft dran, fertig.

    Oh, ja. Noch was wichtiges. Die Klemmen auf der rechten Seite sind Doppelstockklemmen von Amphenol. Die hinteren sind also um die vordere um eins höher. Leider hatte ich kein passendes 3D-Modell. So wie dargestellt wären die Klemmen unbrauchbar. Man sehe es mir nach.;)

    Wenn der Prototyp läuft werde ich auch mal Preise nennen können. Da die Ausbaustufen enorm unterschiedlich sein können macht es noch keinen Sinn dazu etwas zu sagen.

    Bis dahin viele Grüße

    Thomas

    "Wer sich nicht an die Vergangenheit erinnern kann, ist dazu verdammt, sie zu wiederholen." Jorge Augustín Nicolás Ruiz de Santayana

  • Lieber Wolfgang,

    Mannomann, Du machst ja Sachen!@

    Naja, da kenne ich mich halt aus und es macht mir Spaß. Andere machen die "Sachen" in Traumlandschaften, Gebäuden oder Rollmaterial. Das Forum ist Gott sei Dank voll davon. Die Vielfalt macht es aus und das ist mein kleiner Beitrag.:)

    Viele Grüße
    Thomas

    "Wer sich nicht an die Vergangenheit erinnern kann, ist dazu verdammt, sie zu wiederholen." Jorge Augustín Nicolás Ruiz de Santayana

  • Hallo Thomas

    Du erst noch... Stelle mal Dein Licht nicht unter den Scheffel. Ich denke da beispielsweise an Modulkästen und betriebsfähige Stromabnehmer.

    Viele Grüße Christian

    Es ziemt sich nicht für einem braven Manne-

    nur nach dem praktischen Sinn einer Sache zu sehen.

    Weisheit eines mir unbekannten

  • Hi Thomas
    Mir ist nicht ganz klar, was an die beiden dicht beieinander liegenden Reihen von Schraubklemmen angeschlossen werden soll.
    Ich fürchte, das wird eng - vor allem, wenn man da Litzen und keine Drähte einstecken soll...
    Und mir fehlen min. drei Befestigungslöcher... Loconet oder USB sind recht steife Kabel, die dass Doppelklebeband ziemlich beanspruchen...
    Ansonsten echt viel Zeug auf 4.7cm x 6.92cm

    LG,
    Axel

  • Hallo Axel,

    Der Decoder ist ja für Universalweichen für 2L UND 3L Betrieb. Wenn Du wissen willst, wie eine DKW im Universalbetrieb polarisiert wird, schaue gerne mal auf den Infoseiten bei WW nach. (Wechsler, Wechsler, Wechsler.....) Ich gehe hier noch einen besonderen Weg um den Kurzschlusschutz zu erhöhen. Die Schraubklemmen sind in Wirklichkeit Doppelstockklemmen, also die Hinteren liegen um eins höher. (Ich hatte kein passendes 3D-Modell)

    So wie dargestellt wird der Decoder niemals betrieben und damit auch nicht bestückt sein. DCC ODER LocoNet! Für reinen 2L-Betrieb komme ich mit minimum einem Relais, mit erhöhtem Kurzschlussschutz, zwei Relais aus. Die Anzahl der dreifach Klemmen reduziert sich dann auf zwei. Aber das steht ja alles schon in #1 und #9 :)

    Die Platine hat übrigens 4 Befestigungsbohrungen. Leicht zu sehen............. wenn man sich denn die Zeit nimmt. ;)

    Viele Grüße in die Schweiz
    Thomas

    "Wer sich nicht an die Vergangenheit erinnern kann, ist dazu verdammt, sie zu wiederholen." Jorge Augustín Nicolás Ruiz de Santayana

  • Moin Axel,

    Das sind 2mm. Warte mal bis alles fertig ist. Die Bohrungen werden nur gebraucht, wenn die Platine mal blank aufs Blech gespaxt werden sollte

    Gruß Thomas

    "Wer sich nicht an die Vergangenheit erinnern kann, ist dazu verdammt, sie zu wiederholen." Jorge Augustín Nicolás Ruiz de Santayana

  • Hallo zusammen,

    es ist weiter gegangen und die Platinen aus Fernost sind nach nur einer Woche angekommen. Leider alles für die Tonne, da der Footprint des Prozessors einen Fehler in der Bibliothek hatte. Ja, sowas kann passieren und weder ich noch Microchip (Atmel) hat es gemerkt. Aber insgesamt sind dabei "nur" 70€ verbrannt. Aber so ist das in dem Geschäft. Die Platinen sind überarbeitet und kommen vor Ostern noch hier an.

    Ich habe in der Zwischenzeit mal eine einfache, simple Mechanik konstruiert, die es ermöglicht, die Weiche direkt umzustellen, oder aber auch einen (z.B. Senn Antrieb) zu bedienen. Der Antrieb nimmt die Platine auf und kommt mit wenigen Bauteilen aus. Ist selbstverriegelnd, ab einem Stellweg von +/- 5mm und kann maximal 20mm Stellweg fahren. Das sollte zum Testen erst einmal reichen. Anbei mal ein paar Bilder der Einzelteile. Natürlich druckbar mit dem 3D-Drucker.

    Hier jetzt mit Platine:


    Und noch ein Blick auf das Servo nebst Anbauteilen:

    Die ganze Funktionalität habe ich auch noch schnell in einem Video festgehalten.

    So viel bis hierhin. Weiter geht es, wenn die neuen Platinen da sind. Dann klöppele ich das Ganze mal zusammen und stelle es hier am Stück vor.

    Bis dahin viele Grüße

    Thomas

    "Wer sich nicht an die Vergangenheit erinnern kann, ist dazu verdammt, sie zu wiederholen." Jorge Augustín Nicolás Ruiz de Santayana