ESP32 - DCC-Servodecoder - mit WEB-konfiguration
 

ESP32 - DCC-Servodecoder - mit WEB-konfiguration

Begonnen von Krogsgaard, 07. Juli 2026, 12:43:33

Vorheriges Thema - Nächstes Thema

Krogsgaard

Hallo zusammen,

ich habe wieder ein kleines ESP32-Projekt für meine Modellbahn gebaut. 😊

Diesmal ist es ein DCC-Servodecoder für bis zu 16 Servos. Mir war dabei besonders wichtig, dass die Einrichtung möglichst einfach ist. Die Servo-Endlagen und weitere Einstellungen können bequem über eine Weboberfläche konfiguriert werden.

Bisher habe ich den Decoder mit drei Servos getestet – das funktioniert sehr gut.

Ich habe ein kleines Video gemacht, in dem ich den Decoder zeige und die Bedienung kurz erkläre. Das Video hat auch deutsche Untertitel.





In der Beschreibung des Videos findet ihr außerdem Links zum Schaltplan und zur Stückliste.

Vielleicht ist die Idee ja auch für den einen oder anderen von euch interessant. 😊

Viele Grüße
Jens
Grüße Jens Krogsgaard, Kopenhagen
  • Win-Digipet-Version:
    WDP 2025
  • Anlagenkonfiguration:
    Märklin c-gleis, ECoS 50200 , S88 viessmann, Digikeijs Dsd2010,
  • Rechnerkonfiguration:
    Lenovo T14 i7, windows 11, 24 gb ram, 64 bit

Michael Möller

Hallo Jens,

das sieht ja wieder sehr gut aus!
Da kommt sofort der Wunsch auf das nachzubauen.

Ich freue mich immer wieder Deine Projekte zu bestaunen.

LG Michael
  • Win-Digipet-Version:
    WDP 2018, 2021, 2025, Beta
  • Anlagenkonfiguration:
    Märklin K-Gleis, alles BiDiB (IF-Net), OpenCar, CarMotion
  • Rechnerkonfiguration:
    i5-13500 Win11 pro (64-Bit) 32GB RAM

Friedrich Rütting

Hallo Jens,
wieder ein sehr schönes Projekt.
Würdest du auch das Programm bereitstellen ?
Gruß Friedrich
Mitglied im Moba Stammtisch Solingen www.windigipet-freunde.de
  • Win-Digipet-Version:
    WDP 2025.0c Premium
  • Anlagenkonfiguration:
    Märklin K-Gleis, Märklin und andere 3Leiter-Loks mit diversen Decodern gemischt MM- und DCC-gesteuert (jeweils 128 Fahrstufen) Steuern über Tams-Zentrale seriell, schalten über Intellibox seriell, Rückmeldungen S88 mit HSI seriell9
  • Rechnerkonfiguration:
    PC: Windows 11

Krogsgaard

Grüße Jens Krogsgaard, Kopenhagen
  • Win-Digipet-Version:
    WDP 2025
  • Anlagenkonfiguration:
    Märklin c-gleis, ECoS 50200 , S88 viessmann, Digikeijs Dsd2010,
  • Rechnerkonfiguration:
    Lenovo T14 i7, windows 11, 24 gb ram, 64 bit

Michael Möller

Hallo Jens,

funktioniert im Testaufbau einwandfrei!
Das Display kommt erst morgen...

Vielen Dank nochmals für Deine tolle Arbeit!

LG Michael
  • Win-Digipet-Version:
    WDP 2018, 2021, 2025, Beta
  • Anlagenkonfiguration:
    Märklin K-Gleis, alles BiDiB (IF-Net), OpenCar, CarMotion
  • Rechnerkonfiguration:
    i5-13500 Win11 pro (64-Bit) 32GB RAM

Krogsgaard

Hallo Michael,

schön zu hören – das ging ja schnell, dass du das hinbekommen hast. 😊

Ich habe meinen Servodecoder heute unter meiner Anlage eingebaut. Im Moment steuert er 3 Lokschuppentore, 1 Wasserkran, 1 Kohlekran und 1 'Wrecking Ball'. Es funktioniert prima und lässt sich sehr einfach einstellen.

Sag auf jeden Fall Bescheid, wenn du Ideen für Verbesserungen hast – auf diese Weise können wir ja gemeinsam richtig gute Produkte entwickeln. 😊

Viele Grüße
Jens
Grüße Jens Krogsgaard, Kopenhagen
  • Win-Digipet-Version:
    WDP 2025
  • Anlagenkonfiguration:
    Märklin c-gleis, ECoS 50200 , S88 viessmann, Digikeijs Dsd2010,
  • Rechnerkonfiguration:
    Lenovo T14 i7, windows 11, 24 gb ram, 64 bit

Michael Möller

#6
Hallo Jens,

hier ein erster Entwurf für eine Platine.

Der ESP32 ist 30-polig und für den Widerstand und den Kondensator habe ich sowohl THT-Teile als auch SMD1206 vorgesehen. Die Verbinder DCC und 5V können mit Schraubklemmen oder Steckverbindern bestückt werden.

LG Michael

PS: Display ist auch da und funktioniert, läßt sich aber nur schlecht fotografieren.
  • Win-Digipet-Version:
    WDP 2018, 2021, 2025, Beta
  • Anlagenkonfiguration:
    Märklin K-Gleis, alles BiDiB (IF-Net), OpenCar, CarMotion
  • Rechnerkonfiguration:
    i5-13500 Win11 pro (64-Bit) 32GB RAM

Pierre Massar

Hallo Jens, Hallo Michael,

solltet ihr eine Kleinserie für den Servodecoder auflegen wollen, würde ich auch mein Interesse dafür bekunden  ;)
Internette Grüße
Pierre
  • Win-Digipet-Version:
    2025 Vollversion + Update`s
  • Anlagenkonfiguration:
    Steuern:Märklin CS3; C- und K-Gleis;Schalten: Lodi 83AC, ESU Servo Switch 3; Melden: Link 88, S88
  • Rechnerkonfiguration:
    WIN 11

Ralf Krapp

Hallo Jens und Michael,
ich hätte da auch Interesse daran, denn ich habe einen 12-ständigen Lokschuppen, dessen Tore ich gerne motorisch öffnen und schließen lassen möchte. Wie Jens schon angegeben hat, für bis zu 16 Servos, das würde bei 12 Toren genau ausreichen.
Bin gespannt, wie sich das hier noch entwickelt.
Grüße aus Obertshausen (Hessen)
Ralf Krapp
  • Win-Digipet-Version:
    WDP 2025
  • Anlagenkonfiguration:
    Spur HO; K-Gleis; Tams MC; 4 Kabasoft-Booster; Viessman-Weichen- und Rückmeldedekoder; Lokdekoder MM und andere
  • Rechnerkonfiguration:
    Windows 7 Home Premium; Intel Core i3-530 Prozessor 1333 MHz

Krogsgaard

Hallo Ralf,

ich denke, der Decoder wäre auf jeden Fall gut für einen 12-ständigen Lokschuppen geeignet. Ich selbst habe einen kleinen 3-ständigen Lokschuppen sowie einen Wasserkran, eine Abrissbirne und einen Kohlekran – sie werden jetzt alle mit dem neuen Decoder gesteuert.

Dank der grafischen Oberfläche lässt sich alles sehr einfach einstellen.

Sag einfach Bescheid, wenn Du den Code haben möchtest – also wenn Du Lust hast, den Decoder selbst einmal zu bauen und auszuprobieren. 😊

Viele Grüße
Jens
Grüße Jens Krogsgaard, Kopenhagen
  • Win-Digipet-Version:
    WDP 2025
  • Anlagenkonfiguration:
    Märklin c-gleis, ECoS 50200 , S88 viessmann, Digikeijs Dsd2010,
  • Rechnerkonfiguration:
    Lenovo T14 i7, windows 11, 24 gb ram, 64 bit

Ralf Krapp

Hallo Jens,
vielen Dank für Deine Nachricht und Dein Angebot. Ich werde aber erst mal abwarten wollen, ob Michael eine Platine anbieten kann. Das wäre mir wichtig und erleichtert die Realisierung doch ungemein.
Grüße aus Obertshausen (Hessen)
Ralf Krapp
  • Win-Digipet-Version:
    WDP 2025
  • Anlagenkonfiguration:
    Spur HO; K-Gleis; Tams MC; 4 Kabasoft-Booster; Viessman-Weichen- und Rückmeldedekoder; Lokdekoder MM und andere
  • Rechnerkonfiguration:
    Windows 7 Home Premium; Intel Core i3-530 Prozessor 1333 MHz

Michael Möller

Hallo!

Ich habe heute Platinen bestellt.
Wenn noch jemand Interesse hat, bitte melden (gerne per PN).
Für die, die das nicht selbst bauen wollen oder können, baue ich gerne auch ein (oder mehr) Module "betriebsfertig" zusammen.

LG Michael 
  • Win-Digipet-Version:
    WDP 2018, 2021, 2025, Beta
  • Anlagenkonfiguration:
    Märklin K-Gleis, alles BiDiB (IF-Net), OpenCar, CarMotion
  • Rechnerkonfiguration:
    i5-13500 Win11 pro (64-Bit) 32GB RAM

carlosenior

Hallo Jens, hallo Michael,

Ihr zwei seid echt der pure Wahnsinn. Da wird man einfach nicht müde, "Danke zu sagen!".

Ich kann es nicht erwarten, meine Stadt endlich fertig zu bauen, damit ich hier mitmachen kann. Bedarf an Servo-Decodern habe ich genügend ...

Bei den Patinen bin ich gerne mit dabei. Melde mich dazu noch extra.



Es grüßt sehr freundlich aus Altbayern

Carlo
  • Win-Digipet-Version:
    2025 Pro
  • Anlagenkonfiguration:
    ESU ECOS mit ECOS-Boost; Eigenbau k83/84 nach HK; s88 von G. Boll; LFDT HSI-88USB; Uhlenbrock IB; Märklin K; OpenDCC BiDiB IF2 und RF-Basis
  • Rechnerkonfiguration:
    Intel i7; 32 GB; SSD; Windows 11

Ralf Krapp

Hallo Michael,
bitte 1 Platine für mich vormerken. Preis bitte bei Gelegenheit mitteilen. Danke vorab für Deine Mühe.
Grüße aus Obertshausen (Hessen)
Ralf Krapp
  • Win-Digipet-Version:
    WDP 2025
  • Anlagenkonfiguration:
    Spur HO; K-Gleis; Tams MC; 4 Kabasoft-Booster; Viessman-Weichen- und Rückmeldedekoder; Lokdekoder MM und andere
  • Rechnerkonfiguration:
    Windows 7 Home Premium; Intel Core i3-530 Prozessor 1333 MHz

GunnarH

Hallo Jens,

zunächst einmal meinen herzlichsten Dank für Dein Projekt und die Bereitschaft, dieses auch allen zur Verfügung zu stellen und mit uns zu teilen. Vielen Dank!

Ich habe in dieser Woche meinen Baustein von Michael bekommen (auch Michael meinen Dank für die Arbeit, die er in dieses Projekt steckt!) und bin heute dazu gekommen, ein wenig zu testen.

Zu meiner Konfiguration: 

Ich habe für die Stromversorgung des Bausteins ein stabilisiertes Labornetzteil auf 5 Volt eingestellt und angeschlossen. Das DCC Signal kommt vom Gleis. Hier arbeitet eine ECoS.
Die Konfiguration des WLAN lief per IPhone ganz problemlos. Nach Eingabe der Zugangsdaten meines WLAN ist der Baustein sehr schnell im Netz und über die im Display angezeigt IP-Adresse auch sofort im Browser ansprechbar.

In Ermangelung eines brauchbaren Modellbahnservos habe ich einen digitalen Servo mit Metallgetriebe aus dem Auto-RC-Modellbau genutzt. (Ich weiß, dass 30 kg Stellkraft für die Modellbahn zu viel sind. Ich hatte aber nichts anderes da!)

Der Servo ist über die Webseite ansprechbar und tut im Testbetrieb, was er soll. Allerdings stimmen die Drehwinkel bei mir überhaupt nicht mit der Anzeige überein. Mein Versuch war es, einen Drehwinkel von 90 Grad zu erreichen. Bei einem eingestellten Differenzwinkel von rd. 63 Grad dreht mein Servo bereits um die gewünschten 90 Grad. Dieser Faktor ist konstant und lässt sich reproduzieren. Für mich ist das kein Problem aber vielleicht gibt es ja eine einfache Lösung, hier einen entsprechenden Faktor im Webinterface einzubringen?!?

Die Einbindung in die ECoS war problemlos. Ich habe einen Magnetartikel mit zwei Stellungen angelegt und kann den Dekoder/Servo zunächst problemlos ansprechen und stellen. 

Mein nächster Test war der Einschaltversuch. Wenn man bei RC-Fahrzeugen das Fahrzeug vor der Fernsteuerung eingeschaltet hat, haben die Servos immer ein leichtes Flackern an den Tag gelegt. Ich habe versucht, dies mit dem Abschalten der Spannungsversorgung nachzustellen. Nach dem Einschalten der Stromversorgung (DCC-Signal wird nicht unterbrochen) ist laut Display eine Verbindung innerhalb von rd. 3-5 Sekunden wieder verfügbar. Dabei hat der Dekoder jedes ungefähr fünfte Mal versucht, den AccesPoint der Startroutine anzubieten. Ein erneutes Aus- und Einschalten hat das eingetragene WiFi wieder gefunden.
Ein Flackern des Servos beim Einschalten tritt nicht auf.

Die Ansteuerung des Servos per DCC (Schaltfläche der ECoS) war allerdings nicht mehr in jedem Fall möglich. Ein Schaltbefehl löst in einigen Fällen das (mir vom Einschalten) bekannte Flackern des Servos aus. Wenn dies auftritt ist der Dekoder auch über sein Webinterface nicht mehr erreichbar. Die erste Lösung ist das mechanische Bewegen des Servoarms. Dies beendet das Flackern (ist aber im realen Betrieb nur in den wenigsten Fällen sinnvoll umsetzbar). Die zweite Lösung ist das Abziehen des Servos, was einen Neustart des WiFi auslöst (laut Display), das Flackern nach Wiederanschluß jedoch auch nicht immer beendete. Ich habe für dieses Verhalten (bislang) keine reproduzierbare Logik gefunden.
Nach einigen Recherchen gibt es jedoch in Netz die klare Emptehlung, den mir zur Verfügung stehenden Servotypen nicht über die Anschlüsse eines Arduino zu betreiben, da der bereitgestellte Strom in den seltensten Fällen ausreichend ist. Ich werde mich also in Verlauf der nächsten Woche darum bemühen, kleinere und möglichst analoge Servos zu beschaffen um damit meine Tests zu wiederholen.

Ich möchte dies ausdrücklich nicht als Kritik an dem Projekt oder seinen Beteiligten verstanden wissen. Ich bin nachwievor von dem Projekt überzeugt und werde es weiter verfolgen. Dass ich den "falschen" Servo angeschlossen habe, zeigt lediglich die Grenzen des Dekoders auf.

Sobald ich weitere Ergebnnisse habe, teile ich diese gerne hier.

Bis dahin: Besten Dank allen Beteiligten und schöne Grüße aus dem Norden

Gunnar




  • Win-Digipet-Version:
    2025 Premium
  • Anlagenkonfiguration:
    H0 3-Leiter mit EcosII, µ-con Railspeed
  • Rechnerkonfiguration:
    Intel i5-14400 / 32 GB / 1 TB SSD / Win11