Hallo Modellbahnfreunde, ich bin für Verbesserungsvorschläge dankbar.
Start 10.12.2025
DCC Infrarot Sender für Carsystem
10.12.2025
Ich habe das Programm für den ESP32 WROOM 38 Pin geschrieben.
Habe aber kein Car-System zum testen.
Mit dem DCC Decoder können bis zu 8 IR Kanäle gesteuert werden.
Da ich zunächst den Programmieraufwand gering halten möchte, verwende ich für die
Verwaltung der DCC Adressen mein DCC LED Tabelle vom ESP32.
Aus dem Stummi.Forum wurde mir bekannt, das man die Fahrzeuge nur über ein
Handsender rückwärts fahren lassen kann.
Daher die Idee die Handsendebefehle über ein DCC Decoder zu senden.
Mit den 8 IR LED können dann an 8 Stellen die Handsendebefehle gezielt über DCC Adressen gesendet werden.
Ich verwende als Hardware.
Platine: (zunächst zum Testen die ESP32 DCC WS2811 LED Platine
1 Stück ESP32 WROOM 38 pin
1 Stück Optokoppler PC817C
1 Stück Widerstand 2K2 Ohm
1 Stück Widerstand 4k7 Ohm
1 Stück 3 mm LED als DCC In Anzeige
1 Stück 3 mm LED als Statusanzeige nur Optional + Widerstand je nach LED Farbe
8 Stück Widerstand für die IR LED z. B. 220 Ohm (5mA)
Die 8 IR Kanäle:
An den Kanal muss eine IR-LED Wellenlänge 940nm und ein 100 bis 360 Ohm Widerstand.
Beispiel:
Falls die IR LED 1,5 Flussspannung hat und 10mA verbrauchen soll. 1,8V / 0,01 = 180 Ohm
Extern mit Kabelverbindungen.
8 Stück IR LED (20mA)
Das Senden eines IR Befehle, verbraucht bis zu 110 ms Zeit.
Der Rückfahrbefehl wird in einer Schleife gesendet solange das nicht durch ein
Befehl beendet wird.
Das Simuliert das Drücken der Rückfahrtaste auf der Handsteuerung.
Ob das gleichzeitige senden auf zwei Kanälen funktioniert, muss man Testen.
Das sollte aber eigentlich selten gefordert werden.
Kanalausgänge GPIO am ESP32
NEC-Protokoll
Kanal 1 21
Kanal 2 19
Kanal 3 18
Kanal 4 5
Kanal 5 17
Kanal 6 16
Kanal 7 4
Kanal 8 2
DCC Sensor
DCC Sensor 35
Adressen in der Tabelle:
DCC Weichen bzw. Zubehöradressen 1 bis 2000
Ausgang A (Gerade Grün)
Ausgang B (Abzweigen Rot)
Kanalauswahl in der Spalte LED Nr.
Befehlsnummer in der Spalte Licht
Aktuell für
Rückwärtstaste gedrückt Licht 1
Rückwärtstaste loslassen Licht 0
Mehr funktionen folgen wenn der Test in Ordnung ist.
Flash Daten als BIN Datei
IR_Car_Steuerung_V1.bin
Kann bei Flash Auswahl kpl. ausgewählt werden
Habe in Blinken eine Funktion zum Flashen eingefügt.
Flashen funktioniert, und die Tabelle auf dem ESP32 Schreiben/Lesen geht.
In Rocrail kann das z. B. So als Taster oder Schalter bedient werden
Das ist nur ein Beispiel:
Weiß nicht ob das so möglich ist!
Das soll das rückwärtsfahren an einer Laderampe darstellen.
Es kann ein Taster oder Schalter als Symbol definiert werden.
Als Schalter kann das möglicherweise automatisiert werden,
Taster mit der Maus solange gedrückt halten, bis das Fahrzeug am Ziel ist.
So kann das in der Tabelle am Kanal 1 definiert werden.
Das kann ohne DCC Anschluss über dem USB getestet werden,
Tabelle in Blinken.
Zeile 1 Taste gedrückt Maustaste
Spalte DCC Adresse 100 A | LED Nr. = Kanal 1 | Licht = 1 Rückwärts |
Zeile 2 Taste loslassen Maustaste
Spalte DCC Adresse 100 B | LED Nr. = Kanal 1 | Licht = 0 Loslassen |
In der grünen Spalte Licht werde ich den Befehlen eine Nummer zuordnen.
Falls mehr Befehle gewünscht werden, kann ich das schnell ermöglicheh.
Muss noch getestet werden!!!
Aktuell =
Befehl Nr. in der grünen Spalte Licht eintragen
Befehle mit gedrückter Taste
0 Befehl Taste loslassen
1 Befehl ( Taste Rückwärts drücken
2 Befehl Reserviert Lemken Rechts Code ?
3 Befehl Reserviert Lemken Links Coder ?
AN/AUS Toggle
10 Befehl Blinken Rechts
11 Befehl Blinken Links
12 Befehl Warnblinken
Mehr Befehle auf Wunsch!
Aktuell habe ich keine Rückmeldungen, ob das funktioniert. Daher ruht das Projekt.
Testversion ist ab 22.12.2025 in der MOBA Verwaltung.
Beachte das mache Zentralen mit Decoderadressen arbeiten.
Die sind in vierer Gruppen organisiert.
Jeder Kanal 1 bis 8 = LED Nr. ist unabhängig. Licht ist die Befehlsnummer.
11-12-2025
Tabelle habe ich ursprünglich für den DCC LED Decoder gemacht.
Die Tabelle muss mit "Senden" auf dem ESP32 gespeichert werden.
Um die Tabelle nachzubessern oder zu ergänzen kann die auch wieder mit "Lesen" ausgelesen werden.
Achtung unbedingt Kanal 1 auswählen.
Die Spalte Beschreibung wird nicht auf dem ESP32 gespeichert.
Du kannst die Tabelle komplett als Datei Speichern/Laden.
DCC IR Decoder ohne aufgesteckten ESP32
Platine 72 X 77 mm
Vorläuferger Entwurf
PC817C
8 Stück IR-LEDs mit 940 nm Wellenlänge
Ab 22.12.2025 in der Moba-Verwaltung
Decoder Testen
IR LED
Mit dem Konfigurationsprogramm können zum Testen die DCC Befehle direkt über dem USB zum ESP32 gesendet werden.
So kann der Decoder auch erst mal ohne DCC Sensor bzw Zentrale getestet werden.
Zum Testen brauchst Du nur ein ESP32 WROOM, IR LED + Widerstamd.
Optional noch ein Steckbrett.
2K2
4K7
DCC IR Decoder Testen
1. ESP32 WROOM Flashen
Im Blinken- Konfigurationsprogramm
Fenster ESP32 Flashen den
COM auswählen und rechts über das Button Flash Auswahl kpl die Datei
IR_Car_Steuerung_V1.bin
auswählen.
Warten bis Flashvorgang beendet ist, und das Fenster geschlossen ist.
Ziege den USB kurz ab, damit der ESP32 Resettet.
Testen
In das Fenster DCC ESP32 WS Dec. wechseln.
Trage in den Feldern
Für den Befehl Rückwärts Tate gedrückt
Zeile1 >> DCC Adresse 100 | LED Nr. 1 | Licht 1 | ein
Für Befehl Taste Loslassen
Zeile 2 >> B Auswählen | DCC Adresse 100 | LED Nr 1 | Licht 0
Klick auf
Scann Port und wähle den COM aus.
Speicher die Tabelle eventuell als Datei ab.
Tabelle auf dem ESP32 Speichern > Klick auf Senden.
Warte etwas und mach das zur Sicherheit beim ersten mal noch einmal.
Testen ob die Tabelle auf dem ESP32 gespeichert ist.
Lösche die Tabelle | Tabelle Löschen|
Klick dann auf Lesen.
Wenn dann die Tabelle wieder vollständig ist, sollte das flashen gelungen sein.
Funktionstest | DCC ESP32 WS Dec | ohne Zentrale.
Trage einige Daten in der Tabelle ein und Senden! Siehe weiter oben
Markiere die Zeile 1 (Falls schon selektiert, markiere zunächst mal eine andre Zeile und dann die Zeile 1)
Unten in schwarzen Feld steht dann die Decoderadressem Weichenadresse 100 = Decoderadresse 25 P1
Schicke den DCC Befehl mit Schalten über dem USB zum ESP32.
Das Fahrzeug sollte sich falls es im IR Bereich ist rückwärts bewegen,
Stoppen kannst Du in dem Du die zweite Zeile auswählst und wieder auf Schalten klickst.
Obem kann das auch im wechsel bei P4 gemacht werden.
Beachte unbedingt darauf das der IR Strahl das Fahrzeug erreicht.
In den obigen Beispiel, habe ich Kanal 1 (LED Nr, 1) eingetragen.
Am ESP32 ist der Kanal 1 am Pin 21.
Dort muss dann die IR LED mit dem langen Draht angeschlossen sein. Der kurze muss an GND angeschlossen sein.
Achtung ein Widerstand ca. 180 Ohm (Für 10mA) nicht vergessen!!
Die Tabelle habe ich provisorisch verwendet, um zunächst Arbeit zu sparen. Fall der Decoder funktioniert und der auch Verwendung findet werde ich eine spezielle Tabelle machen.
MOBA-Verwaltung
Blinken starten
Testversion!
Blinken aus der MOBA-Verwaltung Starten
1. Fensterreiter | ESP32 Flashen | öffnen.
2. Comport auswählen eventuell mal auf S Klicken, falls nicht in der Auswahl
3. Auswahl Starten.
4. Und die IR_Car_Steuerung_V1 Öffnen
5. Abfrage bestätigen und warten bis das schwarze Fenster geschlossen wird.
6. Im Fensterreiter | DCC ESP32 WS Dec. | eine Tabelle bearbeiten und Testen.