NMRA-DCC Minidecoder für Modelleisenbahnen
PIC12CE519

Der Minidecoder für Analogmotore kann: Programmier- und Auslesbar mit DIR, PAG, REG, BIT mode und programmieren auf dem Hauptgleis.

Getestet mit Franken DCC-Zentrale von Oliver Spannekrebs mit RKDCC von Rainer Keil und TMWDCC Software
sowie mit dem TMWDCC Projekt von Lars Lundgren und Intellibox von Uhlenbrock.

Liste der bekannten Probleme


Der PIC12CE519 hat keine Interrupts und nur einen 2 Stufen tiefen Stack, daher mußte ich das Programm mit Schleifen aufbauen. Eine Schleife benötigt 25µs. Die PWM hat 256 Fahrstufen und ist 12800µs/78Hz lang. Da der PIC auf die 1 des DCC-Signals kalibriert wird variiert die PWM etwas.

Die fest programmierte Geschwindigkeitskurve für 28 Fahrstufen kann mit diesem EXCEL Arbeitsblatt erstellt und mit einem EPROM-PIC ausgetestet werden.
In dieser Datei gibt es zwei Arbeitsblätter: analog und lin.
Mit dem analog Arbeitsblatt ist es möglich die Geschwindigkeitskurve in der Grafik durch anklicken und verschieben zu definieren, danach können die gelb markierten Zellen H-K über das Clipboard in die *.asm Datei anstelle der SPDTAB Subroutine eingefügt werden.
Das lin Arbeitsblatt ist für diejenigen die sich mit EXCEL auskennen, darin können über verschiedene Berechnungen erweiterte Modifizierungen der Geschwindigkeitskurve vorgenommen werden (Ich beschreibe dieses Arbeitsblatt nicht, wer möchte kann es ausprobieren).

Der PIC12CE519 hat ein EEPROM mit 16 Byte, wodurch CV´s (configuration variables) programmiert werden können.



Auf Basis des PIC12C509 habe ich zuerst einen Decoder für Weichen geschrieben. Da der Code für die PIC-Prozessoren leicht erlernbar ist, und ich schnell zu brauchbaren Ergebnissen kam, habe ich das Programm auf das Ansteuern von Steppermotore ausgerichtet, danach auch für Analogmotore umgeschrieben.

Ich benutze MPLAB als Entwicklungsumgebung.

Ich werde 4 Versionen als Minidecoder erstellen: Diese Programme haben noch Entwicklerstatus, wer mehr wissen möchte, kann mir ja 'ne mail schicken.

Bezugshinweis: Die Bauteile bzw. ganze Bausätze können bei Andreas Bergmann oder Joachim Katzer (Web) bestellt werden.