Hallo Modellbahnfreunde, ich bin für Verbesserungsvorschläge dankbar.
Start 7/2025
DCC LED Decoder ESP32 Version 3 X 168 LEDs
3 X 5V Spannungsversorgung für Kanal 1 bis 3
Die Kanäle können zur gemeinsamer Versorgung über
Jumper zusammengeschaltet werden
5V+
K 3
GND
5V+
K 2
GND
5V+
K 1
GND
DCC Gleis
Die Decodersoftware ist in Arbeit. Die Fertgstellung wird wohl noch dauer!
In der WS2811 Datenleitung kann eine WS2812 RGB LED oder Widerstand in Reihenschaltung.
Mit eingebauter RGB LED hat man zur Datenleitung ein Impendanzausgleich von 3,3 V zu 5 V und ein Funktionskontrolle für den jeweiligen Kanal.
Platine 62 X 95 mm
Der Decoder hat für jeden Kreis eine eigene Stromversorgung.
K1 versorgt auch den ESP32 mit 5 Volt an VIN.
Ich empfehle pro Kanal nicht mehr als 3 Ampere einzuspeisen, um die Brandgefahr zu minimieren.
Schaltnetzteil mit Kurzschlusssicherung verwenden. Kabel für 5V und GND ab 1 ² mm verlegen, oder abschnittweise zusätzlich Einspeisen.
Das Datenkabel DI - DO wird nur sehr gering belastet.
Daher habe ich pro Kanal nur 168 LEDs programmiert. Die würden bei maximaler Leuchtkraft 3 Ampere verbrauchen.
Dass alle LEDs mit maximaler Leuchtkraft gleichzeitig an sind, ist unwahrscheinlich, aber möglich. Leichte Unterspannung macht sich durch LED-Flackern bemerkbar.
Falls pro Kanal weniger LEDs angeschlossen sind, können je nach Last 18 mA pro LED die Kanäle aus einer Spannungsquelle versorgt werden.
Das kann über die Jumper oder durch die Verkabelung gemacht werden. Alle Spannugsquellen haben einen gemeinsamen GND.
Bitte halte dich an die Vorgaben, falls dir das nötige Fachwissen fehlt.
GND + 5V reicht nur jeweils 1 Lötpadverbindung
470 Ohm
RGB LED
von oben oder unten einlöten
2K7
WS2812 RGB LED
Einfach mit Kupferdraht bestücken
LED
WS2812 eBay nur als Info!
ESP32 WROOM 4MB eBay
Optokoppler PC817C eBay
1x20 Female Socket 2.54mm
KF301-2P 5.08mm 2 /3 Pin
Konfigurieren mit Blinken
-- Ist ähnlich wie bei der NANO-Version –
Neu hinzugekommen ist, dass jede LED eine eigene Leuchtkraft von 0 bis 255 bekommen kann.
Ich finde es flexibler, wenn jede LED-Nummer unabhängig geschaltet werden kann. Das schließt das Ansteuern von RGB-LEDs nicht aus.
Oben auf dem Bild habe ich ein kleines Beispiel gemacht.
1 | DCC Weichenadresse 100 A, LED Nummer 1, Leuchtkraft 100, LED 2, Leuchtkraft 0 = aus.
2 | DCC Weichenadresse 100 B: LED Nummer 1, Leuchtkraft 0, LED 2, Leuchtkraft 120. br/>
Für die Leuchtkraft im Nachtbetrieb kann für alle ein Prozentwert bestimmt werden.
Bei 74 % würden die LED 1 mit Wert 74 und LED 2 mit Wert 90 leuchten.
Der Prozentwert wird bei LEDs augenscheinlich nicht so wahrgenommen. Daher die Leuchtkraft augenscheinlich anpassen.
In der LED-Spalte 3 soll wieder das Blinken für die LED-Nr. auswählbar sein.
Der Decoder soll 3 Kanäle bekommen. Für jeden Kanal kann eine eigenständige Tabelle für 168 LEDs auf dem ESP32 geladen werden.
Das sind dann insgesamt 504 LEDs oder 168 WS8212-RGB-LEDs. Die LEDs werden wieder entlang der Datenleitung durchnummeriert.
Ich bin kein gelernter Programmierer, daher weiß ich noch nicht, ob ich das auf dem ESP32 am Ende alles hinbekomme.
Aktueller Stand: Was schon funktioniert.
Hardware:
Platine mit KiCad erstellt.
Platine am 28.07.20 bestellt lieferzeit ca. 14 Werktage
ESP32 WROOM:
ESP32 DCC decodieren ohne Library programmiert
ESP32 Tabelle Kanal 1 Speichern und Laden. Soll mal für 3 Kanäle
Tabelle 1 im Festspeicher sichern. Soll 3 Kanäle
Ich verwend die erste RGB LED als Statusanzeige, für das Laden und Sichern im Festspeicher.
Grün i. O. Rot es ist ein Fehler aufgetreten.
Erster erfogreicher Test mit RGB LEDs
Ich kann die LEDs Nummern wie gewünscht über Blinken Schalten. So wie bei der NANO Version.
Die aktuellen Schaltzustäne sollen auch noch gesichert werden.
Konfigurationsprogramm Blinken:
Tabelle für den ESP-Decoder eingefügt
Speichern K1 bis K3 und Funktion eingefügt
ESP32 Flashhbutton eingefügt und fuktioniert.
Ich versuche den Decoder möglichs einfach zu gestalten.
Für jeden Kanal kann eine RGB Statusanzeige oder 470 Ohm Widerstand eingelötet werden.
Die Farben der Tabellenspalten representieren die RGB LEDs.
Die LED Startnummer Grün muss immer durch 3 teilbar Rest 1 sein.
RGB LED Grün/Rot/Blaud der RGB Grün = 1 , 4, 7, 10 usw.
Aktualisiert 01.08.2025
Weiter bis 168