oui, on pourrait l'intégrer aussi sous une gaine thermo car il sort aussi en sortie les signaux complémentaires A/ et B/ pour être plus robuste sur une grande longueur donc il faut mieux le positionner près du capteur.
pour le fonctionnement, le code devait être rapide donc pas de multiplication ni division ni même appel de fonction.
Il permet de convertir des états inférieur à 5us en entrée soi 400mm/s de vitesse de déplacement du capteur.
Le principe :
- Tous les 64 impulsions en entrée (125um), on retombe sur un nombre rond en sortie avec une précision de 5um.
Donc j'incremente ou décrémente la sortie quadrature au plus près d'un multiple de 5um en sortie suivant mon tableau :
On peut le faire avec des variables mais c'est trop long en nombre d'instructions : il faut une variable pour l'état en entrée puis aller chercher dans un tableau si il faut ou non incrémenter la sortie puis générer la sortie (la quadrature).
J'ai plutôt réalisé x états comme celui si:
etat_x :
si état_quadrature = état_1
sortie_quadrature = état_sortie_1
aller à état_x + 1
sinon si état_quadrature = état_3
sortie_quadrature = état_sortie_1 // on incrément ou pas suivant le tableau
aller à état_x - 1
goto etat_x
Le code a été généré avec une macro Excel car cela représente beaucoup d'état.