Remerciements et références
Cette réalisation utilise un programme pour PIC propriétaire, dérivé du SSWDEC (Single Switch Decoder), évoqué sur la page précédente consacrée à DUSA-1.
Genèse
L’idée de ce décodeur est née de la constatation qu’un moteur Conrad plus un « pont en H » tel que le LB1630, coûtent plus cher à eux deux qu’un servomoteur de radiocommande économique.
Description
DUSA-2 est conçu pour commander des servomoteurs du genre de la référence Conrad 233751.
Le décodeur tire son énergie du bus DCC: le signal DCC est redressé et des régulateurs abaissent la tension à 5V. L’ensemble du décodeur, mais aussi le servo sont alimentés en 5V. Après un certain temps, le signal de commande du servo est supprimé, et le servo ne consomme plus.
Sous contrôle du décodeur, le servo peut prendre deux positions, A et B, en fonction de la commande reçue. On peut également mettre le servo en position médiane, pour les réglages.
Le schéma
Il est extrêmement simple: redresseur en boîtier DIP, régulateurs 5V, et microcontrôleur PIC 12F629 ou 12F675.
Ici, deux régulateurs sont nécessaires pour protéger le microcontrôleur des pics de courant liés au fonctionnement du servo.
Le mode d’utilisation des cavaliers adr, dur et aux est indiquée plus loin.
La connexion des lampes ou LEDs de signaux peut se faire de bien des façons. Ceci sera détaillé plus loin.
Le programme
Le code source (.asm), ainsi que des fichier hexadécimaux (.HEX), peuvent être téléchargés ici.
Contrairement à DUSA-1, lorsque le décodeur traite une commande, il n’écoute plus les paquets DCC qui passent sur le bus. Cette simplification est nécessaire pour pouvoir générer un signal servo propre. Cette période étant très courte, cela n’a pas d’impact sur le fonctionnement.
Personnalisation : ici non plus, pas de CV, mais trois cavaliers qui permettent de programmer le décodeur in-situ comme suit:
- cavalier aux seul: le décodeur met le servo en position médiane pour faciliter le réglage mécanique de l’accessoire commandé. (impulsion de 1,5ms)
- cavalier adr seul: le premier code qui passe sur le bus DCC est pris comme adresse.
- cavalier dur seul: le premier code qui passe sur le bus DCC est pris comme durée de commande du servo . Les conventions sont les mêmes que pour DUSA-1 (page précédente) mais le décodeur est toujours relançable.
- cavaliers adr et aux : le premier code qui passe sur le bus DCC est mémorisé comme position A, puis le servo prend cette position. On peut donc régler la position du servo directement depuis la commande à main, avec observation direct du résultat produit.
Noter que le cavalier adr doit être mis avant le cavalier aux.
- cavalier dur et aux : le premier code qui passe sur le bus DCC est mémorisé comme position B, puis le servo prend cette position. Même remarque.
Noter que le cavalier dur doit être mis avant le cavalier aux.
La réalisation
Décodeur pour moteurs lents décrit sur la page précédente. Le LB1630 n’est pas monté.
Comme les servomoteurs n’ont pas de contacts auxiliaires, une sortie est prévue pour commander des feux si nécessaire.
Le circuit imprimé est commun avec celui de DUSA-1
Aspect du montage à deux régulateurs
Moyennant une modification du programme, ce décodeur peut commander des accessoires à plus de deux positions, par exemple un signal mécanique à trois positions.
Le circuit imprimé est pourvu d’une seconde sortie de commande pour des feux. Un cavalier a disparu.
Ci-dessus, version à deux régulateurs.
Le circuit imprimé est le même que celui de DUSA-1 (page précédente). Télécharger un typon au format PDF, pour un seul circuit ou cinq circuits.
Télécharger les programmes : programmes sources (.ASM) et compilés (.HEX) pour ce décodeur et DUSA2 décrit sur la page suivante.
DUSA-PN, variante pour passage à niveau
Avec cette variante du programme, le fonctionnement du servo-moteur est lent, et les feux lumineux clignotent en alternance pendant la manoeuvre et tant que le PN est fermé.
Autres possibilités d’utilisation du circuit imprimé
Le même circuit imprimé permet d’autres possibilités, moyennant une modification du programme : commande de plus de deux feux lumineux, commande du moteur sur 3 positions ou plus, etc.
Il y a dans le programme trois parties bien distinctes :
- décodage du signal et extraction des bits et des octets, conformément à la norme S 9.1 (voir le site de la NMRA). Cette partie est assez pointue et comprend nombre d’astuces destinées à tenir les performances avec un microcontrôleur bas de gamme.
- interprétation de ces données (adressage, etc) conformément à la recommandation RP 9.2.1 (idem). Cette partie est simple à comprendre en suivant la recommandation en question.
- enfin, utilisation de ces données pour commander notre accessoire.
0 commentaires