vendredi 13 novembre 2015

Encodeur incrémental mécanique

Je cherche à réaliser un codeur peu cher pour avoir la position des moteurs à courant continu.

J'ai testé une solution à base de "potentiomètre numérique" ou "rotary knob"
Il s'agit en fait d'encodeur en quadrature.

Le capteur que j'utilise permet de compter 24(ou 12?) pulsations par tour (soit 15°).
Pour une mèche de 1cm, cela donne une précision de l'ordre de 3mm.
Cela semble suffisant (des capteurs comptant environ 300 pulsations vont coûter dans les 20€, celui-ci 1€50).
Ce capteur est en général utilisé pour faire des incréments manuels.
Il y a donc des crans à chaque pulsation.
Afin de supprimer ces crans j'ai démonté le capteur. Pour cela il faut retirer une pièce métallique qui tient l'ensemble. On se retrouve alors avec une une partie avec le manche, et une partie avec les pins.


En tirant sur le manche il est encore possible de le désolidariser de la partie métallique. Entre les deux, il y a une pièce métallique qui fait ressort et pousse un ergo métallique sur les crans gravés dans la pièce plastique. Il suffit d'inverser le sens de cette pièce métallique pour supprimer l'arrêt aux crans.

Le montage est ensuite très simple. La pin centrale est reliée à la masse, et les autres pins à deux pins digitales.

Je me suis basé sur le code de J.Carter (of Earth) (que j'avais déjà utilisé pour la règle). J'ai fait seulement une modification afin de pouvoir utiliser la résistance de pull up interne et simplifier le circuit.

  pinMode(2, INPUT_PULLUP);
  pinMode(3, INPUT_PULLUP);

Pour la suite, j'aimerai concevoir une transmission avec des engrenages afin de réaliser un codeur en anneau.

Aucun commentaire:

Enregistrer un commentaire