Der Minidecoder für Analogmotore kann:
- kurze/lange Adressen
- 14/28/126 Fahrstufen
- Geschwindigkeitskurve einstellbar über Vmin,Vmax und Vmid
- eine fest eingebrannte Geschwindigkeitskurve
- Beschleunigung, Verzoegerung einstellbar
- F1-F8 auf GP2 (LED) kann auf Büchsflackern eingestellt werden
- Automatische Feuertür auf/zu abhänging von der Geschwindigkeit
- Bremslicht
- Zugschlußbeleuchtung (wechselt mit Fahrtrichtung)
- GP4/GP5 schaltbar über F1-F8 (Stirnbeleuchtung)
- Rangierlicht schaltbar über F1-F8 (Stirnbeleuchtung an beiden Seiten an)
- 2. Vmax schaltbar über F1-F8 oder über die Fahrtrichtung
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:
- Faulhaber (PWM > 16kHz, 28FS)
- Analogmotore (Vmin, Vmax, Vmid und weitere CV's)
- Stepper (Schrittmotore)
- Funktionsdecoder mit 5 Ausgängen
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.