Programmierung des Decoders und der CV's

Die folgende Tabelle listet die CV's für ATTiny 15 und ATTiny 45/85 und deren Verwendung auf. Alle CV's können im Service-Mode auf dem Programmiergleis gelesen und geschrieben werden. Die Grundeinstellungen der CV's werden wieder hergestellt, wenn CV1 auf 255 gesetzt und der Decoder neu gestartet wurde. Sollte z.B. eine neue Firmware aufgespielt worden sein, kann damit eine Grundeinstellung hergestellt werden, sollte sich die Belegung der CV's oder deren Auswertung geändert haben. Wichtig ist, dass der Decoder eine Quittung versenden kann, indem er für 6ms einen Strom von mindestens 60mA verbraucht. Es ist also insbesondere bei Wagendecodern sicherzustellen dass die Beleuchtung für F1 diesen Strom verbraucht, ansonsten kann der Decoder nicht ausgelesen und programmiert werden. Bei Lokdecodern sollte der Motor für diesen Stromverbrauch  sorgen.

 

Noch ein Wort zur Adressierung:

 

Es empfiehlt sich, die wichtigsten Lokomotiven mit der "normalen" Adresse im Bereich zwischen 1 und 126 zu programmieren. Alle anderen inklusive der Wagendecoder würde ich mit der "langen" Adresse versehen, das sind immerhin 10239 mögliche Adressen, dazu ist übrigens in CV 29 Bit 5 auf 1 zu setzen. Mit CV 19 kann eine Consist-Adresse eingestellt werden. Wenn eine Zugformation zusammengestellt werden soll, das heißt 2 oder mehr Loks hintereinander oder ein Zug mit Lok und Steuerwagen, wird eine Lok als "Master" bestimmt, das muß eine Lok sein, die auf eine normale Adresse hört. Die anderen Teilnehmer der Formation stellen als Consistadresse die Adresse des "Masters" ein. Fahren die nicht in die gleiche Richtung oder ist beim Steuerwagen die Fahrtbeleuchtung verkehrt herum, muß noch das "Invers-Bit 7" in der Consist-Adresse gesetzt werden. Programmieren kann man das auch auf dem Hauptgleis unter der richtigen Adresse des Decoders. Beim Fahrbertieb hören derart eingestellte Decoder auf ihren in der CV 19 eingestellten Master.

 

CV Grundwert Bereich/Wert ATTiny45 / 85 ATTiny 15
1 3
255
3
255
Decoderadresse
Beim Update werden die CV's mit den Grundwerten beschrieben
Decoderadresse
2 0 0..31 niedrigste Fahrspannung 0:aus niedrigste Fahrspannung 0:aus
3 0 0..31 Beschleunigung ( 0: aus; 1-8: x/8 * 16ms, ab 8: 16ms je Step) Beschleunigung nach der Formel: (Wert*0,896/Stepanzahl)/pwm_periode (Steps:14,28 o. 128)
4 0 0..31 Bremsen ( 0: aus; 1-8: x/8 * 16ms, ab 8: 16ms je Step) Bremsverzögerung nach der Formel: (Wert*0,896/Stepanzahl)/pwm_periode (Steps:14,28 o. 128)
5 0 0..31 Maximale Spannung 0: aus Maximale Spannung 0: aus
6 0 - Mittlere Spannung 0: aus
(nicht benutzt)
Mittlere Spannung 0: aus
(nicht benutzt)
7 24 - Version Version
8 13   Hersteller Hersteller
9 8 2..12 PWM-Frequenz 9: 126Hz, 8: 252Hz, 7: 504Hz (2: 16KHz) - 11: 31Hz) siehe Motorregelung
11 31 31! Paket TimeOut ( 500ms = 31 * 16ms ) Paket TimeOut ( 500ms = 31 * 16ms )
13 0   Alternate Function F1-F8 (Analogbetrieb) -
14 48   Alternate Function F9-F12, FL (Analogbetrieb) -
17 0 96..231 höherwertiger Teil der langen Adresse höherwertiger Teil der langen Adresse
18 0 0..255 niederwertiger Teil der langen Adresse niederwertiger Teil der langen Adresse
19 0 0..254 Consist-Adresse, Bit 7 ist Invert-Bit Consist-Adresse, Bit 7 ist Invert-Bit
23 0 -31..0..31 Beschleunigung, Temporär. wird zu CV 3 addiert ( signed ) -
24 0 -31..0..31 Bremsen, Temporär. wird zu CV 4 addiert ( signed ) -
29 6 siehe Bits: 7:0 muß 0 sein
6:0 ohne Funktion, 6:1 Lastregelung (Bit4:0!)
5:0 Adresse in CV1, 5:1 Lange Adresse
4:0 ohne Funktion, 4:1 Induviduelle Kurve ( Bit 6:0!)
3:0 (bidi) nicht benutzt
2:0 nur DCC, 2:1 DCC und DC
1:0 28/126 Fahrstufen 1:1 14 Fahrstufen
0:1 invers
-
29 2 siehe Bits: - 7:0 Multifunktionsdecoder
6:0 reserviert
5:0 Adresse in CV1, 5:1 Lange Adresse
4:0 ohne Funktion, 4:1 Induviduelle Kurve
3:0 (bidi) nicht benutzt
2:0 nur DCC, 2:1 DCC und DC
1:0 28/126 Fahrstufen 1:1 14 Fahrstufen
0:1 invers
33 8   Licht vorwärts ( DCCReg: FL ) -
34 8   Licht rückwärts ( DCCReg: FL ) -
35 1   F1 ( DCCReg: F1 ) -
36 2   F2 ( DCCReg: F2 ) -
37 4   F3 ( DCCReg: F3 ) -
38 32   F4 ( DCCReg: Rangieren ) -
39..46     Funktionsmapping Tabelle -
47 48 48! 6ms Acknowledge Time in 1/8ms -
47 38 38! - Acknowledge Steps: 127, VT = 2 ( VV=0 )
47 77 77! - Acknowledge Steps: 124, VT = 2 ( VV=1 )
47 52 52! - Acknowledge Steps: 93, VT = 2 ( VV=2 )
47 39 39! - Acknowledge Steps: 62, VT = 2 ( VV=3 )
48 0 siehe Bits: xxxxx1-- : Freischaltung der Tabellen-Programmierung
xxxxx-1- : speichern Vx Wert ( F10,F9,F8,F7,F6,F5 ) als Indextabelle ( CV29:4=1 )
xxxxx-0- : speichern adc Wert ( F11,F10,F9,F8,F7,F6,F5 ) als Meßwert ( CV29:6=1 )
xxxx---1 : Berechne CV68-CV93, wenn CV80 <> 0 dann CV67 bis CV80 und CV80-CV93

Funktionstasten: VMax (F9) CV94, VMid (F8) CV80, VMin (F7) CV67, VStart (F6),
(F10) Initialize (Rückstellen CV 67-94); (F11) ADC einstellen, F5: Abschliessen
Wert 7 : Fahrstufenindex Bits 2:0 = 111 ( Indextabelle )
Wert 5 : Analogwerttabelle Bits 2:0 = 101 ( Lastregelung )
-
49 0 0..1 0: PWM ein, 1: PWM aus -
50 83 0..255 Warntemperatur 55°C ~ 4°C je LSB ( Beleuchtung blinkt ) -
51 92 0..255 Heisstemperatur 85°C ( Decoder schaltet ab ) -
52 250 0..255 Temperaturmessung, alle ca. 4s -
53 4 0..31 Dimmzeit ( (x + 1) * (~ 112 + StartSpeed) / 16ms -
54 8 siehe Bits: Dimm Enabled wie DCCReg:3:0 Bit 3: FL -
55 1 0..3 ADC: 1:2.5V*4; 3:2.5V*2; 0:1.1V*4; 2:1.1V*2 -
56 0 0..1 ADC-Mittelung: 1: über 4 Meßwerte; 0: über 2 Meßwerte -
57 10 2..20 Messvögerung ~ 1,25ms ( x * 1/8 ms ) -
58 6 2..20 Messintervall ( ~ 100ms: 6 * 16ms ) -
59 20 1..30 Maximale Regeldifferenz bei Lastregelung ( 1..30 ) Entspricht den intern verwendeten 112 Fahrstufen -
60 3 0..3 Anzahl der Zyklen zwischen den Messungen. 0: keine, 3: Maximum -
61 7 0..7 Dividend für Lastregelungsabweichung. 7: /8; 3,5 oder 6: /4; 1,2 oder 4: /2; 0: /1 -
62 0 - Special Decoder -
63 1   Bit 7:1 Bootloader aktiv -
64 87   - Kalibrierungsbyte,
abhängig vom Controller
65 0   FS Korrektur ( Lastregelung= FS_In.Max/64 * 112 ) nicht vorhanden
67 1   Lasttabelle: ADC-Wert für FS1 oder Individualwert: FSres für FS1 nicht vorhanden
68..79 0   Mit F5 und CV48=5:
berechnet
nicht vorhanden
80 80   Lasttabelle: ADC-Wert für FS14 oder Individualwert: FSres für FS14 nicht vorhanden
81..93 0   Mit F5 und CV48=5:
berechnet
nicht vorhanden
94 160   Lasttabelle: ADC-Wert für FS28 oder Individualwert: FSres für FS28 nicht vorhanden

Das DCC-Register

Name Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
DCC-Reg
R24
LongADR
1, wenn lange Adresse
MIXEDDCC
1, wenn auch analog
FS28
1, wenn 28/126 Fahrstufen
Rangieren
1, wenn FS/2
FL
Port B3
F3
Port B5*)
F2 F1
Port B4

 

*) nur wenn keine Lastregelung