Servo-4.html
4-voudige SERVO DECODER
Door
mijn treinmaatje Martin werd
ik op de servodecoder van PACO gewezen. Hij had deze nagebouwd en
kreeg deze maar niet werkend. Hij had hier reeds een printje voor
ontworpen en volledig opgebouwd. De beschrijving van de decoder op de
PACO homepage is bedroevend slecht en onvolledig, ook in het
Nederlands. Hij verzocht mij dan om ook eens een oogje op deze kleine
simpele decoder te werpen. Dus werd de decoder op een breadboard
opgebouwd en getest. Nadat ik op meerdere problemen gestuit was bij
de bouw van deze decoder en op het hele internet geen goede en vooral
volledige beschrijving kon vinden heb ik besloten deze dan maar zelf
te schrijven voor zover ik hiertoe in staat ben. Ik wil niet
pretenderen dat deze beschrijving nu compleet is maar bevat naar
mijns inziens wel alle essentiële informatie die voor het
programmeren en in bedrijf nemen noodzakelijk is. Vrijwel alle
functies zijn proefondervindelijk vastgesteld en zijn dus mogelijk
onvolledig of onjuist !!
Mijn gebruikte centrale is de MDRRC II LITE Centrale .
Tijdens
de bouw was het eerste
probleem waar ik tegen aan liep het feit dat er gewoon helemaal niks
gebeurde met de standaard HEX- programmering
welke ik van de site van PACO geplukt had. Na een avond van alles
proberen gaf ik het eigenlijk al op. Toen ik echter de volgende avond
de draad weer op pakte functioneerde tot mijn verbazing echter alles
naar behoren! Waar was het nu fout gegaan? Uiteindelijk na weer een
hele tijd prutsen kwam ik er achter de de decoder ompolingsgevoelig
bleek te zijn! Wanneer de DCC draden op de juiste wijze met de
decoder verbonden werden liep alles als een zonnetje, de DCC draden
verwisselen betekende onherroepelijk dat er geen functioneren meer
mogelijk was. Vreemd, maar iets waar ik mee leven kan.
Het
volgende probleem waar ik tegen
aan liep was de adressering met een PIC-programmer. Wanneer in het
EPROM gedeelte het adres op CV1 veranderd werd functioneerde de
decoder evenmin. Uitsluitend programmeren aan de programmeerrail en als
onderstaand beschreven,
werd door de decoder geaccepteerd.
Waar ik ook tegen aan liep was de functie van de toets op de decoder. Mij werd niet echt duidelijk of deze bedoeld was voor de programmering, en hoe dan te programmeren of dat de toets bedoeld was voor de uitlezing van het decoderadres op de diverse CV's . Over beide had wel ergens iets gelezen maar niets concreets.
Proefondervindelijk heb ik nu het volgende vastgesteld:
Programmeren van een adres | |
in CV1: | Toets
ingedrukt houden. Gewenste adres op centrale instellen een schakeling starten. Toets loslaten. De decoder heeft nu de gewenste adresreeks. Lees ook het stukje over de beschikbare adresblokken!! |
in CV>1: |
Voorts heb ik gemerkt dat het programmeren zonder gedrukte toets ook geen probleem is voor de CV adressen >1. CV1 veranderd ook zonder gedrukte toets maar neemt een onvoorspelbare waarde aan waardoor het drukken van de programmeertoets dus noodzakelijk blijkt. Dit betekend echter ook dat het programmeren van CV1 met beleid dient te gebeuren en dus met losgekoppelde decoders indien je niet over een separate programmeerrail beschikt! |
Uitlezen van de decoder: |
Toets
ingedrukt houden. |
De adresblokken: |
Elke decoder
heeft
4 adressen. |
CV |
CV |
Waarde |
Standaard |
Korte omschrijving |
|
513 |
1 |
1-63 |
1 |
Decoder adres (lage byte) |
|
515 |
3 |
1-105 |
50 |
Bereik Servo 1 (in 10 us) |
|
516 |
4 |
1-105 |
50 |
Bereik Servo 2 (in 10 us) |
|
517 |
5 |
1-105 |
50 |
Bereik Servo 3 (in 10 us) |
|
518 |
6 |
1-105 |
50 |
Bereik Servo 4 (in 10 us) |
|
519 |
7 |
10 |
20 |
Versie (alleen lezen) |
|
520 |
8 |
13 |
13 |
Fabrikant (alleen lezen) |
|
521 |
9 |
0-7 |
0 |
Decoder adres (hoge byte) |
|
541 |
29 |
128 |
128 |
Configuratie (128=accessoire decoder) |
|
545 |
33 |
32-255 |
78 |
Spatie (in 256 us) |
|
546 |
34 |
Bit |
|
Decoder configuratie |
|
0 |
1 |
||||
|
0 |
1 |
Bewaar positie niet in geheugen |
Bewaar positie in geheugen |
|
1 |
0 |
- |
- |
||
2 |
0 |
- |
- |
||
3 |
0 |
- |
- |
||
4 |
0 |
- |
- |
||
5 |
0 |
- |
- |
||
6 |
0 |
- |
- |
||
7 |
0 |
- |
- |
||
547 |
35 |
1-255 |
1 |
Snelheid Servo 1 |
|
548 |
36 |
1-255 |
1 |
Snelheid Servo 2 |
|
549 |
37 |
1-255 |
1 |
Snelheid Servo 3 |
|
550 |
38 |
1-255 |
1 |
Snelheid Servo 4 |
CV |
CV |
Uitgebreidere omschrijving |
513 |
1 |
Decoder adres (lage byte). Tijdens het programmeren de toets gedrukt houden! |
515 |
3 |
Bereik Servo 1 (in 10 us). Dit betreft de lengte van de armbeweging. Hoe hoger de waarde hoe groter de beweging. De middenwaarde komt overeen met 1,5 ms Het einde met 2 ms (waarde 50) Het einde voor de Hitec-Servo 2,5 ms (waarde 100) |
516 |
4 |
Bereik Servo 2 (in 10 us) als Servo 1 |
517 |
5 |
Bereik Servo 3 (in 10 us) als Servo 1 |
518 |
6 |
Bereik Servo 4 (in 10 us) als Servo 1. |
519 |
7 |
Versie: 2 (alleen lezen) |
520 |
8 |
Fabrikant: zelfbouw (alleen lezen) |
521 |
9 |
Decoder adres (hoge byte) |
541 |
29 |
Configuratie (128=accessoire decoder, niet veranderen) |
545 |
33 |
Spatie (in 256 us). De pulsen worden herhaald met een pause van 20 ms. Door deze waarde aan te passen verander je de snelheid. Deze instelling is van toepassing op alle vier servo aansluitingen. Een waarde < 30 gaf bij mij een merkwaardig gedrag van de servo waarbij de snelheid niet constant bleek en derhalve niet aan te bevelen is. Hoe lager de waarde hoe hoger de snelheid. |
546 |
34 |
Decoder configuratie: Indien je de optie “positie opslaan in geheugen” selecteert, dan zal bij opstarten een serie pulsen naar de servo gestuurd worden zodat deze in de laatste positie komt te staan. Om de CV waarde te berekenen om te programmeren kan je de onderstaande tabel gebruiken. (in dit voorbeeld is CV546 / 34 berekend om de positie van de servo te bewaren). |
547 |
35 |
Snelheid servo 1. Dit zijn de pulsen van iedere positie die naar de servo gezonden worden. Hoe meer pulsen hoe trager de beweging. Deze instelling is per servo instelbaar en komt boven op de vertraging van CV545 / 33. Ook hier weer hoe lager de waarde hoe hoger de snelheid. |
548 |
36 |
Snelheid servo 2. Zie CV547 / 35 |
549 |
37 |
Snelheid servo 3. Zie CV547 / 35 |
550 |
38 |
Snelheid servo 4. Zie CV547 / 35 |
CV546 / 34 |
||||||||
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
waarde |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
Vermenigvuldiger |
128x |
64x |
32x |
16x |
8x |
4x |
2x |
1x |
Som |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
Resultaat |
1 |
De
beschikbare adresblokken:
Ik heb een tabelletje gemaakt waar alle adrescombinaties van adres 1 tot 400 in staan en wat het programmeren aanmerkelijk verlicht. Je kunt dus niet van deze adrescombinaties afwijken. Een adres invoeren betekend automatisch een compleet adresblok programmeren! Voor adressen boven 400 moet je dus zelf even aan het rekenen slaan! De pinnummers betreffen steeds de aansluitpennen van de microprocessor.
Adres servo-decoder op pin |
pin 7 | pin 6 | Pin 3 | Pin 2 | pin 7 | pin 6 | Pin 3 | Pin 2 | |
1 | 2 | 3 | 4 | 201 | 202 | 203 | 204 | |
5 | 6 | 7 | 8 | 205 | 206 | 207 | 208 | |
9 | 10 | 11 | 12 | 209 | 210 | 211 | 212 | |
13 | 14 | 15 | 16 | 213 | 214 | 215 | 216 | |
17 | 18 | 19 | 20 | 217 | 218 | 219 | 220 | |
21 | 22 | 23 | 24 | 221 | 222 | 223 | 224 | |
25 | 26 | 27 | 28 | 225 | 226 | 227 | 228 | |
29 | 30 | 31 | 32 | 229 | 230 | 231 | 232 | |
33 | 34 | 35 | 36 | 233 | 234 | 235 | 236 | |
37 | 38 | 39 | 40 | 237 | 238 | 239 | 240 | |
41 | 42 | 43 | 44 | 241 | 242 | 243 | 244 | |
45 | 46 | 47 | 48 | 245 | 246 | 247 | 248 | |
49 | 50 | 51 | 52 | 249 | 250 | 251 | 252 | |
53 | 54 | 55 | 56 | 253 | 254 | 255 | 256 | |
57 | 58 | 59 | 60 | 257 | 258 | 259 | 260 | |
61 | 62 | 63 | 64 | 261 | 262 | 263 | 264 | |
65 | 66 | 67 | 68 | 265 | 266 | 267 | 268 | |
69 | 70 | 71 | 72 | 269 | 270 | 271 | 272 | |
73 | 74 | 75 | 76 | 273 | 274 | 275 | 276 | |
77 | 78 | 79 | 80 | 277 | 278 | 279 | 280 | |
81 | 82 | 83 | 84 | 281 | 282 | 283 | 284 | |
85 | 86 | 87 | 88 | 285 | 286 | 287 | 288 | |
89 | 90 | 91 | 92 | 289 | 290 | 291 | 292 | |
93 | 94 | 95 | 96 | 293 | 294 | 295 | 296 | |
97 | 98 | 99 | 100 | 297 | 298 | 299 | 300 | |
101 | 102 | 103 | 104 | 301 | 302 | 303 | 304 | |
105 | 106 | 107 | 108 | 305 | 306 | 307 | 308 | |
109 | 110 | 111 | 112 | 309 | 310 | 311 | 312 | |
113 | 114 | 115 | 116 | 313 | 314 | 315 | 316 | |
117 | 118 | 119 | 120 | 317 | 318 | 319 | 320 | |
121 | 122 | 123 | 124 | 321 | 322 | 323 | 324 | |
125 | 126 | 127 | 128 | 325 | 326 | 327 | 328 | |
129 | 130 | 131 | 132 | 329 | 330 | 331 | 332 | |
133 | 134 | 135 | 136 | 333 | 334 | 335 | 336 | |
137 | 138 | 139 | 140 | 337 | 338 | 339 | 340 | |
141 | 142 | 143 | 144 | 341 | 342 | 343 | 344 | |
145 | 146 | 147 | 148 | 345 | 346 | 347 | 348 | |
149 | 150 | 151 | 152 | 349 | 350 | 351 | 352 | |
153 | 154 | 155 | 156 | 353 | 354 | 355 | 356 | |
157 | 158 | 159 | 160 | 357 | 358 | 359 | 360 | |
161 | 162 | 163 | 164 | 361 | 362 | 363 | 364 | |
165 | 166 | 167 | 168 | 365 | 366 | 367 | 368 | |
169 | 170 | 171 | 172 | 369 | 370 | 371 | 372 | |
173 | 174 | 175 | 176 | 373 | 374 | 375 | 376 | |
177 | 178 | 179 | 180 | 377 | 378 | 379 | 380 | |
181 | 182 | 183 | 184 | 381 | 382 | 383 | 384 | |
185 | 186 | 187 | 188 | 385 | 386 | 387 | 388 | |
189 | 190 | 191 | 192 | 389 | 390 | 391 | 392 | |
193 | 194 | 195 | 196 | 393 | 394 | 395 | 396 | |
197 | 198 | 199 | 200 | 397 | 398 | 399 | 400 |