Inhaltsverzeichnis

ESP32 - Adapterplatine für DCC

Vorworte / Hinweise

Anzahl an LEDs

Verwendungszweck

Die Adapterplatine benötigt man, um den ESP32 mit der Hauptplatine zu verbinden.
Der ESP32 ersetzt dabei beide Arduino Nanos (LED-Arduino und DCC-Arduino).

LED-Bus-Platine

Die LED-Bus-Platine benötigt man, um die Kanäle 2 bis 6 (ESP32-30pin) bzw. 7 (ESP32-38pin) verwenden zu können.
Die Kanäle #0, #1 und #2 (mit modifizierter PIN-Reihenfolge) werden auch mit installierter Adapterplatine an den bekannten Wannensteckern der Hauptplatine ausgegeben (LEDs/Taster/CAN).

Der 3x 3-fach Verteiler

Den 3x 3-fach Verteiler benötigt man, um optional eine „sternförmige Verteilung“ ab der Hauptplatine zu realisieren, statt nur mit der 200er-Verteilerplatine im Strang zu arbeiten.
Dabei können jeweils bis zu drei Stränge je Kanal angeschlossen werden.
Die übrigen vier Kanäle des ESP32-30pin bzw. die übrigen fünf Kanäle des ESP32-38pin werden wie gewohnt mit einem Strang realisiert.
Kanal 0 und 1 lassen sich mit dem 3x 3-fach Verteiler nicht verwenden bzw. nur nach dem Teilen der Adapterplatine in drei Teile.
Wird der 3x 3-fach Verteiler mit weniger als neun Strängen verwendet, so müssen die Pins 2 + 4 wie beim 200er-Verteiler im jeweiligen Wannenstecker mit einem Jumper überbrückt werden.

Teilen der Adapterplatine

Wird die Platine im Ganzen verwendet, haben die LED-Bus-Platine und der 3x 3-fach Verteiler bereits eine Verbindung der Leitungen Data In 2 – 7 und Data Out.
Soll die Hauptplatine im Originalgehäuse verwendet werden und die Verbindung zwischen LED-Bus-Platine und 3x 3-fach Verteiler genutzt werden, so muss die Adapterplatine in zwei Teile geteilt werden.
Wird die Adapterplatine in drei Teile geteilt, so geht am 3x 3-fach Verteiler der Ausgang IO_1 „verloren“, weil dieser dann über die Lötjumper IOSEL_O und IOSEL_I als Eingang konfiguriert werden muss.
Auch muss bei Bedarf die Verbindung des jeweils benötigten Dateneingangs manuell über ein Stück Litze zum ersten Wannenstecker der zweiten und der dritten Reihe auf der Unterseite wiederhergestellt werden.

Empfehlung

Da die ESP32-Adapterplatine im nicht getrennten Zustand Teile der Hauptplatine verdeckt, empfiehlt sich auch bei Nutzung eines angepassten Gehäuses die Trennung in zwei Teile. Bei diesem Verfahren bleibt der Zugang zu den Wannensteckern KEY_80 und Keyboard sowie der zum LDR frei. Gleichzeitig bleibt die Datenleitung zwischen LED-Bus-Platine und 3x 3-fach Verteiler intakt. Lediglich die Verbindung „MLL_EXT_IN“ muss mit zwei 10-poligen Wannensteckern und einem entsprechend konfigurierten Kabel wiederhergestellt werden.

MLL_EXT_OUT / MLL_EXT_IN

Eine Verbindung dieser beiden Anschlüsse ist nur notwendig, wenn die Platine geteilt wurde.
Im kompletten Zustand, sind alle notwendigen Verbindung vorhanden.

Stückliste Hauptplatinen-Adapter

Bestückung - DCC, Taster, Push-Button

Reichelt Warenkorb: https://www.reichelt.de/my/1827016 - OHNE ESP32!!

Anzahl Kennung Bauteil Bestellnummer / Link Bemerkungen
1 ESP32 ESP32 Wroom Devkit - 38pin
(Raster 10 oder 11)
AliExpress - Farbe: ESP32-WROOM-32D Alternative:
Amazon
AZ-Delivery
Reichelt
2 LED-Nano Stiftleisten, 15-polig MPE 087-1-050 Aus einer 50er-Stifleiste, können alle notwendigen Stiftleisten gewonnen werden.
2x 15-polig
1x 2-polig
1x 3-polig
2x 5-polig
1 DCC Stiftleisten, 2-polig
2 JP2-6 Stiftleisten, 5-polig
1 SJ1 Stiftleiste, 3-polig
1 C1 Keramikkondensator, 1µF Z5U-5 1,0µ
6 CL2, CL3, CL4, CL5, CL6, CL7 Keramikkondensator, 100nF, RM 2.5mm Z5U-2,5 100N Alternative: SMD-Variante 0805
2 I2C Buchsenleiste, 4-polig MPE 094-1-004
6 LB2, LB3, LB4, LB5, LB6, LB7 WS2812B - 5050, ohne Platine AliExpress
Amazon
Alternative:
Widerstand METALL 100
2 MLL_EXT_OUT, MLL_EXT_IN Wannenstecker, 10-polig WSL 10G notwendig, wenn die Erweiterungsplatine von der Adpterplatine getrennt wird.
2 MLL_EXT_OUT, MLL_EXT_IN Pfostenbuchse, 10-polig PFL 10
15 OUT2, OUT3, OUT4, OUT5, OUT6, OUT7, IO_1, O2, O3, O4, O5, O6, O7, O8, O9 Wannenstecker, 6-pol WSL 6G
15 OUT2, OUT3, OUT4, OUT5, OUT6, OUT7, IO_1, O2, O3, O4, O5, O6, O7, O8, O9 Pfostenbuchse, 6-pol PFL 6
2 Q1, Q2 Mosfet, N-Chanel BS170 BS 170
8 R1, R2, R3, R4, R6, R9, R15, R18 Widerstand, 1,00KΩ
Braun-Schwarz-Schwarz-Braun–BRAUN
METALL 1,00K
2 R7, R8 Widerstand, 100KΩ, 1%, 0.6W
Braun-Schwarz-Schwarz-Orange–Braun
METALL 100K
3 R10, R13, R16 Widerstand, 2,00 KΩ, 1%, 0.6W
Rot-Schwarz-Schwarz-Braun–Braun
METALL 2,00K
2 R11, R12 Widerstand, 220KΩ, 1%, 0.6W
Rot-Rot-Schwarz-Orange–Braun
METALL 220K
1 SJ1 JUMPER 2,54 RT JUMPER 2,54 RT

Buchsenleisten für ESP-Module

Je nachdem welches Modul man einsetzen möchte benötigt man dazu passende Buchsenleisten.
Bislang sind uns drei verschiedene Modelle bekannt.

Auf Grund der anderen Pinbelegung des 30-poligen und des 38-poligen, sind auf der Platine insgesamt 5 Buchsenleisten für die ESP32 vorgesehen. Am einfachsten ist alle fünf Buchsenleisten einzulöten, man kann aber auch, wenn der Schwabe in einem durchkommt oder das Geld sehr knapp ist, nur die zwei Buchsenleisten welche man benötigt, bestücken.

2 ESP32-30 Buchsenleisten, 15-polig BL 1X20G8 2,54 Diese Buchsenleiste muss leider geteilt werden.
Bei Conrad ist auch die 15-polige Variante erhältlich.
3 ESP32-38 Buchsenleisten, 19-polig BL 1X20G8 2,54 Diese Buchsenleiste muss leider geteilt werden.
Bei Conrad ist auch die 19-polige Variante erhältlich.

Teilen der Adapterplatine

Damit die Platine auf die 100er-Hauptplatine der MobaLedLib passt, wenn sich diese in dem Standardgehäuse befindet, muss die Platine geteilt werden. Dabei gibt es zwei verschiedene Möglichkeiten.
Entweder die Teilung in zwei Teile (Adapterplatine für Hauptplatine, sowie dem kombinierten erweiterten LED-Bus mit dem 3x 3fach Verteiler) oder in drei Teile (Hauptplatinenadapter, LEDBus-Platine und Verteilerplatine getrennt).
Um diese Teilung zu erleichtern, gibt es am Anfang und am Ende der Schnitte Ausfräsungen. Diese ermöglichen das Teilen mit der Modellbautischkreissäge, ohne die Platine zu beschädigen.

Zwei Teile

Bitte nur an den markierten Stellen die Schnitte durchführen. Nur dort wird keine Leiterbahn, welche später noch benötigt wird, beschädigt.
125_esp32-adapter_v101_cut_2.jpg

Drei Teile

Bei einer Teilung in drei Teile bitte zuerst den roten Schnitt ausführen. Danach kann dann der grüne Schnitt ausgeführt werden.
125_esp32-adapter_v101_cut_3.jpg

Bauanleitung LED-Bus-Platine

Sollte die Bestückung als geteilte Platine erfolgen, kann diese Anleitung Schritt für Schritt befolgt werden. Sollte man die Platine als ein Stück verwenden wollen, bitte nur die ersten beiden Schritte (LEDS und Kondensatoren) ausführen und die anderen Schritte erst, wenn der Hauptteil fertig ist.

WS2812B

Den Anfang machen die sechs WS2812B in der Bauform 5050.
Dabei kommt die abgeschrägte Ecke auf das Lötpad mit der Markierung.
Die LEDs lassen sich am leichtesten Einlöten, wenn man alle Kontakte der LEDs vorher hauchdünn vor verzinnt und einen der Kontakte, Rechtshänder am Besten den Kontakt unten rechts, Linkshänder den Kontakt unten links, ebenso mit Lötzinn vor verzinnt. Danach die LED mit der Pinzette vor ausrichten, das Lötzinn auf der Platine mit dem Lötkolben verflüssigt und die LED vorsichtig aber schnell auf das flüssige Lötzinn auflegt. Im Anschluss die LED kurz auskühlen lassen und danach mit den anderen drei Lötstellen weitermachen.
125_esp32_ledbus_ws2812b-markierung.jpg
125_esp32_ledbus_ws2812b.jpg

Keramikkondensatoren

Im Anschluss folgen die sechs Keramikkondensatoren CL2 - CL7 (100nF).
125_esp32_ledbus_kerkos.jpg

Sollte man die Platine als ein ganzes Bestücken, bitte jetzt mit der Bauanleitung Adapter-Hauptplatine weiter machen.

Stiftleisten J2-J6

Nun folgen die zwei Stiftleisten für die Bestimmung des Eingangskanals.
125_esp32_verteiler_jumper_select_lb2-6.jpg

Buchsenleiste für I2C

Für das Display ist nun die 4-polige Buchsenleiste an der Reihe.
125_esp32_ledbus_display.jpg

Wannenstecker

Den Abschluss machen die 15 6-poligen Wannenstecker,
125_esp32_ledbus_outputs.jpg
125_esp32_verteiler_wannenstecker.jpg

sowie der 10-polige Wannenstecker „MLL_EXT_IN“.
125_esp32_ledbus_mll_ext_in.jpg

Lötjumper 3x 3-fach Verteiler

Auf der Unterseite des Verteilers gibt es insgesamt fünfzehn Lötjumper.

Auswahl Eingang / Ausgang

Die Jumper IOSEL_O und IOSEL_I sind bereits vordefiniert, dass der Anschluss IO_1 als Ausgang #1 verwendet werden kann. Wenn man die Platine ohne die LED-Bus-Platine verwendet, müssen diese Jumper mit einem Cutter vorsichtig getrennt werden und die jeweils anderen Lötpads verbunden werden.

IO_1 als Ausgang IO_1 als Eingang
125_esp32_verteiler_jumper_io1_ausgang.jpg 125_esp32_verteiler_jumper_io1_eingang.jpg

Unterverteilung

Der Verteiler kann, wenn er an der LED-Bus-Platine verbleibt als dreifach Verteiler konfiguriert werden.
Dabei kann auf der ersten Reihe der LedBus #2 bis #7 aktiviert werden, auf den beiden unteren Reihen die Kanäle #3 bis #7. Dies erfolgt über die Jumper auf der Ober- und Unterseite.
125_esp32_verteiler_reihenverteilung.jpg

Auswahl 1. Reihe
LB#2 - LB#6 (Oberseite) LB#7 (Unterseite)
125_esp32_verteiler_jumper_select_lb2-6.jpg 125_esp32_verteiler_jumper_select_lb7.jpg
Auswahl 2. & 3. Reihe
2. Reihe (türkis) - 3. Reihe (rot)
125_esp32_verteiler_jumper_auswahl_reihe_2-3.jpg

Verwendung als 9-Fach Verteiler

Sollte man den Verteiler von der Platine getrennt haben oder man alle neun Wannenstecker für das Signal eines Kanals verwenden möchte,
bitte die Lötjumper J2.2 (verbindet Reihe 1 und 2) und J3.2 (verbindet Reihe 2 und 3) schließen.
Zudem muss dann der Lötjumper IOSEL_I und IOSEL_O getrennt werden. Im Anschluss werden die vorher nicht verbunden Kontakte des Lötjumpers „IOSEL_I“ geschlossen und es muss eine Drahtbrücke zwischen dem Pi 4 vom 9. Wannenstecker und dem Pin4 vom 1. Wannenstecker hergestellt werden.
125_esp32_verteiler_jumper_durchschleifen.jpg


Bauanleitung Adapter-Hauptplatine

Widerstände

Den Anfang machen die Widerstände R13 & R16 (2KΩ) und der Widerstand R11 (220KΩ), da diese liegend eingebaut werden.

R13 & R16 R11
125_esp32-adapter_dcc_2k_liegend.jpg 125_esp32-adapter_dcc_220k_liegend.jpg

Als nächstes folgen die Widerstände R1, R2, R3, R4, R6, R9, R15, R18 (1KΩ),
125_esp32-adapter_dcc_1k.jpg
der Widerstände R10 (2KΩ),
125_esp32-adapter_dcc_2k_stehend.jpg
der Widerstand R12 (220KΩ),
125_esp32-adapter_dcc_220k_stehend.jpg
sowie die Widerstände R7 & R8 (100KΩ).
125_esp32-adapter_dcc_100k_stehend.jpg

ACHTUNG
Der Widerstand R17 mit 2KΩ darf bei der Verwendung von DCC nicht eingelötet werden, ansonsten funktioniert es nicht mehr.

125_esp32-adapter-widerstand_r17.jpg

Kondensator

Nun folgend der Keramikkondensator C1 mit 1µF.
125_esp32-adapter_c1_1uf-en.jpg

Mosfets

Die beiden Mosfets Q1 und Q2 sind die nächsten in der Reihe.
125_esp32-adapter_dcc_mosfets.jpg

Stiftleisten

Unterseite

Als nächstes sollten die Stiftleisten für die Arduinos eingelötet werden. Dies erfolgt auf der Unterseite, um die Verbindung zur Hauptplatine herstellen zu können.

LED-Arduino DCC-Arduino
125_esp32-adapter_bot-led-arduino.jpg 125_esp32-adapter_dcc-bot-connector.jpg
125_esp32-adapter_led-arduino.jpg
125_esp32-adapter_dcc-connector.jpg

Oberseite

Danach folgt der Jumper „SJ1“.
Der violette Balken gibt die Standardposition des Jumpers an.
125_esp32-adapter_dcc_sj1.jpg

ESP32-Buchsenleisten

Je nachdem welches Modul man einsetzen möchte benötigt man dazu passende Buchsenleisten.
Bislang sind uns drei verschiedene Modelle bekannt.

Um einen schnellen Austausch zu ermöglichen, kann man alle fünf Buchsenleisten einlöten.
Als Hilfsmittel, um die Leisten sauber einzulöten, hat es sich bewährt den ESP32 auf die Buchsenleisten aufzustecken und diese dann in die Platine zu stecken.

ESP32 30-polig

125_esp32-adapter_esp32-30.jpg

ESP32 38-polig

Abstand 8-Reihen

125_esp32-adapter_esp32-38-a8.jpg

Abstand 9-Reihen

125_esp32-adapter_esp32-38-a9.jpg

Beide Versionen

125_esp32-adapter_esp32-38d.jpg

Display - Buchsenleiste

Nach den Buchsenleisten für die ESPs kommt nun die Buchsenleiste für das I2C-Display dran.
125_esp32-adapter_display_1.jpg

Wannenstecker

Das letzte Bauteil auf dem Hauptteil der Platine ist der 10-polige Wannenstecker „MLL_EXT_OUT“.
125_esp32-adapter_dcc_mll_out.jpg

Alle welche die Platine im Ganzen bestücken wollen, bitte jetzt mit dem zweiten Teil des LED- und Verteilerbereiches weiter machen.

Ansteuerung der zusätzlichen Kanäle

Damit man die zusätzlichen LED-Kanäle verwenden kann, muss das Makro „ // Set_LED_OutpPinLst()" verwendet werden.
Darüber lassen sich die Ausgabe-Pins festlegen.
Wenn man den L-Adapter mit den sechs WS2812 verwendet, lautet der Befehl:

// Set_LED_OutpPinLst(27 32 16 14 18 19 23 0 17)

Der siebte LED-Kanal (GPIO 0) kann, ohne zusätzliche Lötarbeiten, nur mit dem 38-poligen ESP32 verwendet werden.
Bei dem 30-poligen ist dieser Pin leider nicht herausgeführt.

Zuordnung der Pins und Funktionen

Led
Kanal
LED-Arduino
Pin
ESP32
Pin
ESP32_EXT_10
Stecker Pin
FunktionStecker
Pin
Anmerkung
0627 Primärer Led KanalHauptplatine SV3 Pin 2
1A432 Push Button Leds Hauptplatine KEYBRD Pin 1
Hauptplatine KEY_80 Pin 11
23165ESP Verteiler OUT2ESP Verteiler OUT2 Pin 2mit Hauptplatine Led (Links/Gelb) verbunden
34146ESP Verteiler OUT3ESP Verteiler OUT3 Pin 2mit Hauptplatine Led (Mitte/Weiß) verbunden
413187ESP Verteiler OUT4ESP Verteiler OUT4 Pin 2mit Hauptplatine SPI Clock verbunden
512198ESP Verteiler OUT5ESP Verteiler OUT5 Pin 2mit Hauptplatine SPI SO verbunden
611239ESP Verteiler OUT6ESP Verteiler OUT6 Pin 2mit Hauptplatine SPI SI verbunden
75010ESP Verteiler OUT7ESP Verteiler OUT7 Pin 2mit Hauptplatine Led (Rechts/Blau) verbunden
mit 30-poligem ESP32 nicht verwendbar
8D217 Alternativer Led Kanal am CAN SteckerHauptplatine SV1 Pin 2siehe „Zusätzlicher LED-Kanal in Erweiterungen der Hauptplatine (V 1.6 und 1.7)

Schaltplan

Adapterplatine

125_esp32-adapter_schematic_page1_20210314.jpg

LEDBus und Verteiler

125_esp32-adapter_schematic_page2_20210314.jpg



ESP32 - Adapterplatine für DCC und CAN



Es gibt 2 Möglichkeiten die Adapterplatine mit CAN zu bestücken.

  1. CAN ohne galvanische Trennung
  2. CAN mit galvanischer Trennung

Vorteil bei CAN mit galvanischer Trennung ist, falls ein Zusatzgerät mit Schutzleiter
(z.B. Laptop/ Rechner oder Bildschirm am Laptop/ Rechner mit Erdung)angeschlossen wird,
eine Trennung gegen ungleiche Massepotentiale zu haben.

1.) Zusätzliche Bestückung für CAN (Märklin-System) **ohne** galvanische Trennung

Zunächst wird eine Hauptplatine 100 mit der Bestückung MCAN-Bus (DE) benötigt.
Die Bauanleitung findet man unter folgendem Link:
Bestückung MCAN-Bus (DE)
Wichtig ist hier, den Jumper CAN-GND auf der Unterseite der Hauptplatine zu schließen.
Jumper CAN-GND

Zudem wird eine Adapterplatine für den ESP32 benötigt.
Diese wird wie oben (unter DCC) beschrieben und bebildert zusammengebaut.

Zusätzliche Bauteile für CAN (Märklin-System) ohne galvanische Trennung

Auf der Adapterplatine müssen zusätzliche Bauteile aufgelötet werden:
1 Widerstand 1KΩ = Ecke unten links (z.B. Reichelt METALL 1,00K)
1 Keramikkondensator 100nF = C4 (z.B. Reichelt Z5U-2,5 100N)
1 IC MCP2551-DIP (z.B. Reichelt MCP 2551-I/P)
1 8-poligen IC-Sockel ← hier kommt der IC MCP2551DIP rein (z.B. Reichelt GS 8P)
1 2-polige Stiftleiste nach unten in die Buchsen-Leiste der Hauptplatine = neben R19 (z.B. Reichelt MPE 087-1-002)

Die Widerstände R5, R14 und R19 entgegen des Schaltplans nicht bestücken

Zudem muss der Jumper SJ1 auf die Position 2-3 gesteckt werden.

Zusätzliche Bauteile sind im Bild rot markiert




2.) Zusätzliche Bestückung für CAN (Märklin-System) **mit** galvanischer Trennung


Die galvanische Trennung ist zwingend notwendig um wie oben beschrieben unterschiedliche Massepotentiale zu trennen.
Hier bei der MobaLedLib besteht die Gefahr das das Potenzial (Spielzeugpotenzial) auf den auf den Schutzleiter von z.B. PC/ Laptop oder auch Bildschirm Bauteile zerstören kann.
Spielzeugnetzteilen dürfen nach VDE keine Verbindung zum Schutzleiter der Steckdose haben.
Diese Verbindung würden wir schaffen, wenn wir die MobaLedLib über den USB mit dem PC verbinden.
(Bei PCs, Monitoren und Laptops ist es üblich das die Komponenten mit dem Schutzleiter verbunden sind.)
Durch die galvanische Trennung verhindern wir beim Programmieren der MobaLedLib über USB die Verbindung zum Schienensystem bzw. Zentrale.

Als Hauptplatine wird wieder eine für CAN bestückte Hauptplatine genommen, wie bereits oben beschrieben.
Hier nochmal der Link dazu: Bestückung MCAN-Bus (DE)

Wichtig ist hier jedoch im Gegensatz zur Beschreibung ohne Trennung den Jumper CAN-GND offen zu lassen.
Dieser darf auf keinen Fall geschlossen werden, da es sonst wieder eine galvanische Verbindung gibt.

Zudem wird auch hier die Adapterplatine für den ESP32 benötigt.
Diese wird wie unter DCC beschrieben und bebildert zusammengebaut.

Zusätzliche Bauteile für CAN (Märklin-System) mit galvanischer Trennung

Auf der Adapterplatine müssen zusätzlich Bauteile aufgelötet werden:

1 Widerstand 1KΩ = Ecke unten links (z.B. Reichelt METALL 1,00K)
1 ISO1050 CAN transceiver (z.B. Aliexress)
1 8-poligen IC-Sockel ← hier kommt der IC ISO1050 rein – ACHTUNG: Der Sockel darf keine gedrehten Pins haben!! (z.B. Reichelt GS 8)
2 Kondensatoren 4,7µF = C2 u. C3 - SMD 0805 auf der Rückseite!! (z.B. Reichelt KEM X5R0805 4,7U)
1 DC/DC-Wandler 5V (z.B. Reichelt0.5S4E_0505S1U)
1 Keramikkondensator 100nF = C4 (z.B. Reichelt Z5U-2,5 100N)
1 Widerstand 1KΩ = R19 - SMD 0805 (z.B. Reichelt SMD-0805 1,00K)
1 2-polige Stiftleiste nach unten in die Buchsen-Leiste der Hauptplatine = neben R19 (z.B. Reichelt MPE 087-1-002)

Zudem muss der Jumper SJ1 auf die Position 2-3 gesteckt werden.

Zusätzliche Bauteile sind im Bild rot markiert