ESP8266: DCC Signal generieren

Vor einiger Zeit hat Julian Zimmermann im Spassbahn-Forum eine Lösung präsentiert, wie man mit einem ESP8266 ein gültiges DCC-Signal generieren kann. In der Zwischenzeit habe ich von ihm seine Sourcen erhalten. Diese habe ich in mein Decoder Framework übernommen, fehlerbereinigt und optimiert.

Software

Wer es selber nutzen will, sollte sich die Klasse ActionDCCGeneration anschauen. Für die Generierung wird die Hardware-SPI-Schnittstelle (Pin D7) genutzt. Die Klasse ist darauf ausgelegt, die Daten (Geschwindigkeit, F0-F28) für eine Lok zu generieren. Eine Erweiterung auf mehre Loks sollte aber kein Problem darstellen.

Da die standardmäßig enthalte SPI-Libary aber solange blockiert, bis alle Daten übermittelt wurden, habe ich sie auf nicht-blockierend umgestellt und sie auf das nötigste reduziert (siehe DCCSpi).

Hardware

Für meine Tests habe ich eine einfache L298N-Platine(*), ein ESP8266-Board (*), ein NPN-Transitor (2N2222A) und zwei 1k Ohm Widerstände genutzt. Da die SPI-Schnittstelle nur die positive “Halbwelle” des DCC-Signales generiert, wird noch ein Transistor benötigt, der die negative “Halbwelle” generiert. Beide Signale steuern dann die H-Bridge an.

Schaltplan

 

Ein paar mehr Informationen findet ihr im Gartenbahn-Technik Forum.

0

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.