Codeur Optique |
Ispiré par la lecture
des articles de F6EHJ dans Mégahertz en Avril et Mai 2004 sur la mise en oeuvre
des DDS (Digital Direct Synthetiser), j'ai décidé de construire
un codeur optique universel qui pourra être utilisé pour des montages
d'essais, chaque fois qu'il faudra générer des impulsions binaires.
Pour information, il faut rentrer un "mot binaire" (série de
0 ou 1 logiques) pour indiquer à la DDS la fréquence à
générer. L'idée ici est de faire compter des impulsions
par un circuit microcontroleur genre PIC 16F876
UN PEU DE THEORIE :
Il existe deux types de codeurs optiques : les absolus et les incrémentaux
a/ Les codeurs absolus
Le codeur absolu génère un code série ou parallèle
proportionnel à la position de son axe, moyennant un disque en matériau
incassable (voir photo ci-contre )codé en GRAY (voir article mHz n°
classeur
informatique ), qui tourne de manière solidaire avec son axe d'entraînement.
Le codeur absolu délivre un code proportionnel à la position de
son axe
d'entraînement. Par exemple, un codeur possédant un disque 360
points donnera la position de l'axe directement en degrés. Si le codeur
est du type multi-tours une fonction de comptage de tour est rajoutée.
b/ Les codeurs incrémentaux
Le codeur incrémental génère des signaux de comptage, au
moyen d'un disque incassable comportant deux pistes : La piste extérieure
: (voie A ou voie A et B) est divisée en " n " intervalles
d'angles égaux alternativement opaques et transparents, " n "
s'appelant la résolution ou nombre de périodes; c'est en effet
le nombre d'impulsions qui seront délivrées par le capteur pour
un tour complet du disque codé. En pratique "n" est déterminé
en fonction de la circonférence du tambour, de l'unité de mesure
du capteur et de la précision recherchée. La piste intérieure
ne délivre qu'une seule impulsion par tour. Elle sert à initialiser
le comptage des impulsions des voies A et B en un point précis de l'axe
de déplacement du mobile. Le signal Z délivré par cette
piste, également appelé "top zéro" dure 90°
électriques et est synchronisé aux signaux A et B. Derrière
les piste sont installées des photodiodes qui délivrent des signaux
carrés A et B en quadrature, ainsi que le ZERO, après mise en
forme. Le déphasage de 90° électriques des signaux A et B
permet de déterminer le sens de rotation. Le déphasage de 90°
électriques des signaux A et B permet de déterminer le sens de
rotation :
Les signaux de sortie sont carrés.
PASSONS A LA PRATIQUE :
Soit on achète,
soit on bricole. J'ai opté personnellement pour l'option bricolage qui
réclame plus de temps, mais qui procure plus de satisfaction.
Après un bref tour dans mes récupérations, j'ai ressorti
une épave de souris d'ordinateur et un mécanisme d'entrainement
de cassettes de magnétoscope. Sur la souris, j'ai récupéré
la roue codeuse accompagnée du phototransistor et de la diode infra rouge
; sur le mécanisme de magnétoscope, j'ai récupéré
le tambour de lecture. Le tambour est cylindrique et lourd, il fait un bon bouton
lesté, comme sur les transceivers du commerce. La roue codeuse et son
système diode/phototransistors génère les signaux A et
B qu'il faut juste transformer en signaux carrés. Il me manquait le coffret,
mon frère s'en est chargé.
Tous les éléments sont maintenant trouvés, il faut les
assembler :
J'ai fixé le tambour en plein milieu de la face avant du coffret. Le diamètre de la roue codeuse est nettement inférieur à celui du tambour de lecture. J'ai emmenché à force les deux axes dans un cube en téflon percé de manière concentrique. Enfin, le circuit imprimé supportant le phototransistor et la LED IR est fixé à l'aide d'une vis et d'un jeu d'écrou sur une glissière pour permettre un réglage de position .
Par mesures et observations sur des souris en fonctionnement, je me suis aperçu :
SCHEMA DEFINITIF :
Le collecteur du phototransistor est alimenté en +5v . Pour la diode
IR il faut normalement prendre en compte le fait que l'on à retiré
la deuxième diode IR qui était en série et recalculer la
résistance de limitation de courant, mais j'ai laissé la 2k2 (il
faudrait la remplacer par une 2k6). Le phototransistor commande la base du 2N2222
qui commande l'entrée d'une porte " non et " pour remettre
en forme le signal.
Voilà un système qui pourra être incorporé en face
avant d'un transceiver pour commander le changement de fréquence.
J'ai utilisé un codeur incrémental pour faire un anémomètre
décrit dans la partie station météo
et pour le changement de fréquence sur le SS3900
.Mais les codeurs peuvent-être utilisés pour d'autres applications,
comme le positionnement d'antennes.
Bertrand, fils de F6DED, Aout 2005