PieM
Senior Member
Bonjour,Bonjour,
Je dispose de cet encodeur :
http://www.gotronic.fr/art-encodeur-inter-ec11e15244g1-16982.htm
dit "15 impulsions", il possède 30 crans par tour et avec le petit code ci dessus, l'incrémentation est de 2 à chaque cran. Pour une incrémentation de 1, il faut s'arrêter entre deux crans.
Questions:
Peut on modifier ce code pour l'adapter à cet encodeur?
Sinon, quel encodeur faut il pour ce code?
En tout cas, merci pour ces quelques lignes.
MM
Oui en effet ce type de codeur n'est pas fait pour être décodé en quadrature.
En quadrature , pour 15 impulsions, il y a 30 changements d'état par piste soit 60 changement d'état au total.
Comme il y a 30 crantages, il y a effectivement 2 comptages par cran. Chaque crantage correspond au même état de la sortie A.
Le décodage sera en fait beaucoup plus simple:
Il suffit de voir l'état de B lors de la transition de A de 1 > 0 pour déterminer sens et incrémenter.
Cela permet d'ailleurs d'utiliser facilement une interruption sur l'état 0 (ou 1) de A . Si B est à 1 on compte +1 et si B = 0 on compte -1.
Par contre pour eviter de faire un test if ... then ... else, il est possible de faire l'incrémentation / décrémentation comme précédemment avec une seule équation:
compteur = pinX.x * 2 + compteur - 1 min 0 va incrémenter si pinX.x est à 1, décrémenter dans le cas contraire.
Last edited: