decoder:servo-decoder

Servo-Decoder

Das Projekt „Servo Decoder“ startete im Februar 2023 und hatte zum Ziel, einen Decoder zu bauen, der 4 Servos per DCC Befehle ansteuern kann.

Achtung: Eine Verpolung des Servos kann zu einem Kurzschluss führen und den Decoder schädigen! Daher ganau darauf achten, wie der Servo anzuschließen ist! Dabei ist der mittlere Pin für PLUS (5 Volt), der rechte Pin für Masse und der linke Pin für PMW (Data). Die Richtung des Decoders ist so zu wählen, dass die Schrift Servo1, Servo2, … richtig zu lesen ist.

Während sich ein Servo in eine Richtung bewegt, wird ein entgegengesetzer Befehl meist NICHT entgegengenommen und verworfen. D.h., dass für eine Bewegung im TrainController die Schaltzeit so gewählt werden sollte, bis die max. Bewegungszeit des Decoders abgelaufen ist.

Die DCC-Adresse ist, wie bei unseren Signal- oder Weichendecoder zu programmieren, d.h. den Programmierausgang gegen Masse schalten (per Knopf oder Jumper) und während diesem „Programmiermodus“ eine der 4er Adressen zum Schalten auslösen - damit ist der Decoder auf die DCC-Adresse eingestellt.

ACHTUNG: Im CV-Wert steht NICHT die Adresse, wie im Lokpilot, sondern der Wert der 4er Gruppe der Adressbereiche. Siehe dazu Tabelle weiter unten!

Programmieren einer Adresse
in CV1: Taster gedrückt halten.
Gewünschte Adresse an Zentrale einstellen und einen Schaltvorgang starten.
Taster loslassen.
Der Decoder hat jetzt den gewünschten Adressblock.
CV1 ändert sich auch ohne gedrückten Taster aber wird anschließend nicht funktionieren. Also die Programmierung ist nur richtig mit gedrückten Taster!
in CV>1: CV-Werte jenseits des CV1 kann auch OHNE drücken der Programmiertaste erfolgen.
Dieses bedeutet das programmieren der CV's mit Vorsicht zu genießen ist und nur am Programmiergleis vorgenommen werden soll ohne weitere angeschlossenen Decodern!
Auslesen der CV des Decoder: Taster gedrückt halten
Zentrale einstellen auf CV Lesen.
Lese gewünschte CV.
Taster loslassen.

Das Auslesen ist leider nicht immer so einwandfrei!
Die Adressenblocken: Jeden Decoder hat 4 Adressen.
Die 4 Adressen sind immer einen festen block von 4 Adressen, wie unsere Weichen- und Signaldecoder.
Die Adressen sind verankert in CV1. Dabei ist es egal, welche der 4 Adressen in dem 4er Block zum Programmieren genommen wird.

Die CV-Werte können teilw. OHNE Programmiermodus übertragen werden (mal klappt es, mal nicht…). D.h., dass sie Programmierung nie am Bus erfolgen soll, an dem noch mehr Decoder hängen. Man kann aber auch zum CV-Programmieren den Programmiermodus einschalten. Man sollte die Werte dokumentieren, ein Auslesen der CV-Werte ist manchmal nicht möglich.

CV CV Wert Standard Kurze Beschreibung
513 1 1-63 1 Decoder Adresse (low byte)
515 3 1-105 50 Bereich Servo 1 (in 10 us)
516 4 1-105 50 Bereich Servo 2 (in 10 us)
517 5 1-105 50 Bereich Servo 3 (in 10 us)
518 6 1-105 50 Bereich Servo 4 (in 10 us)
519 7 10 20 Version (nur lesen)
520 8 13 13 Hersteller (nur lesen)
521 9 0-7 0 Decoder Adresse (high byte)
541 29 128 128 Konfiguration (128=Accessoire Decoder)
545 33 32-255 78 Spalte (in 256 us)
546 34 Bit
0
1
2
3
4
5
6
7
547 35 1-255 1 Geschwindigkeit Servo 1 (1= sehr schnell)
36 1-255 1 Geschwindigkeit Servo 2 (1= sehr schnell)
37 1-255 1 Geschwindigkeit Servo 3 (1= sehr schnell)
38 1-255 1 Geschwindigkeit Servo 4 (1= sehr schnell)
CV CV Ausführliche Beschreibung
513 1 Decoder Adresse (low Byte).
Zum programmieren Taster Gedrückt halten!
515 3 Bereich Servo 1 (in 10 us).
Einstellung Länge Armbewegung. Wie Höher den wert, umso länger die Bewegung.
Den Mittelwert ist 1,5 ms
Das ende mit 2 ms (wert 50)
(Das ende für den Hitec-Servo 2,5 ms, wert 100)
516 4 Bereich Servo 2 (in 10 us) wie Servo 1
517 5 Bereich Servo 3 (in 10 us) wie Servo 1
518 6 Bereich Servo 4 (in 10 us) wie Servo 1.
519 7 Version: 2 (nur lesen)
520 8 Hersteller (Selbstbau, nur lesen)
521 9 Decoder Adresse (high Byte)
541 29 Konfigurierung (128=Accessoire Decoder, nicht verändern)
545 33 Spalte (in 256 us). Die Impulsen werden wiederholt mit eine pause von 20 ms. Durch diesen wert an zu passen verändert man die Geschwindigkeit. Diese eine Einstellung ist zutreffend für alle vier Servo Anschlüsse gleichzeitig.

Einen wert < 30 ergab bei mir ein merkwürdiges benehmen des Servo's wobei die Geschwindigkeit nicht Konstant war und deshalb wahrscheinlich nicht empfehlenswert ist.

Wie höher den Wert, wie höher die Geschwindigkeit.
546 34 Decoder Konfiguration

Wenn du die Option “Stellung im Speicher festhalten” wählst, dann wird beim Hochfahren eine Reihe von Impulsen zum Servo geschickt bis er in seine letzte Stellung wie vor dem Ausschalten steht.

Um den CV wert zu errechnen zum programmieren kannst du Unterstehenden Tabelle benutzen. (in diesem Beispiel ist den Wert in CV546/34 errechnet um die Letzte Position fest zu halten).
547 35 Geschwindigkeit Servo 1.

Dies sind die Impulsen die von jede Position zum Servo geschickt werden. Wie mehr Impulsen, wie langsamer die Bewegung. Diese Einstellung ist einstellbar pro Servo, und kommt zusätzlich zu den wert in CV545/33.

Also, des tu höher den wert, des tu niedriger die Geschwindigkeit.
548 36 Geschwindigkeit Servo 2. Siehe CV547 / 35
549 37 Geschwindigkeit Servo 3. Siehe CV547 / 35
550 38 Geschwindigkeit Servo 4. Siehe CV547 / 35
CV546/34
Bit 7 6 5 4 3 2 1 0
Wert 0 0 0 0 0 0 0 1
Multiplikationsfaktor 128x 64x 32x 16x 8x 4x 2x 1x
Summe 0 0 0 0 0 0 0 1
Resultat 1

Wie oben beschrieben, stehen im CV nicht die Adressnummern, sondern der Adressbereich, da ja jeweils 4 Adressen angesprochen werden müssen.

CV-Wert Adresse Servo 1 Adresse Servo 2 Adresse Servo 3 Adresse Servo 4
1 1 2 3 4
2 5 6 7 8
3 9 10 11 12
4 13 14 15 16
5 17 18 19 20
6 21 22 23 24
7 25 26 27 28
8 29 30 31 32
9 33 34 35 36
10 37 38 39 40
11 41 42 43 44
12 45 46 47 48
13 49 50 51 52
14 53 54 55 56
15 57 58 59 60
16 61 62 63 64
17 65 66 67 68
18 69 70 71 72
19 73 74 75 76
20 77 78 79 80
21 81 82 83 84
22 85 86 87 88
23 89 90 91 92
24 93 94 95 96
25 97 98 99 100
26 101 102 103 104
27 105 106 107 108
28 109 110 111 112
29 113 114 115 116
30 117 118 119 120
31 121 122 123 124
32 125 126 127 128
33 129 130 131 132
34 133 134 135 136
35 137 138 139 140
36 141 142 143 144
37 145 146 147 148
38 149 150 151 152
39 153 154 155 156
40 157 158 159 160
41 161 162 163 164
42 165 166 167 168
43 169 170 171 172
44 173 174 175 176
45 177 178 179 180
46 181 182 183 184
47 185 186 187 188
48 189 190 191 192
49 193 194 195 196
50 197 198 199 200
51 201 202 203 204
52 205 206 207 208
53 209 210 211 212
54 213 214 215 216
55 217 218 219 220
56 221 222 223 224
57 225 226 227 228
58 229 230 231 232
59 233 234 235 236
60 237 238 239 240
61 241 242 243 244
62 245 246 247 248
63 249 250 251 252
  • decoder/servo-decoder.txt
  • Zuletzt geändert: 22.02.2023 02:18
  • (Externe Bearbeitung)