Je l'ai fait... C'est du boulot
Comme je l'expliquais ici, le but était de lire les positions des règles de la DRO de mon tour. Ensuite, je programme des butées électroniques qui lancent un freinage pneumatique (j'ai expliqué ici :
https://www.usinages.com/threads/commander-un-circuit-dair-comprime.148123/#post-1894018).
Comme il a été dit ici par certains, les règles des DRO (tout comme un codeur incrémental tournant) utilisent des signaux en quadrature de phase A B.
J'ai en projet de mettre un codeur incrémental sur la broche de mon tour afin de connaitre la vitesse de rotation (et la position).
Connaitre la position de la broche pour numériser un tour est important (surtout pour faire du filetage). Il faut asservir l'avance à la vitesse de rotation du mandrin.
S'il y a une résistance et que le mandrin est légèrement ralenti ponctuellement, il faut que la vis à bille qui bouge le trainard adapte dynamiquement son avance. Pour cela, on va agir sur le moteur PAP... C'est un système dynamique...
Bref, c'est un autre sujet.
Ici, ce que je peux dire c'est qu'il s'agisse d'un règle linéaire de DRO ou d'un codeur rotatif, c'est la même chose... c'est un signal en quadrature de phase A B.
Et tout le problème, c'est la fréquence de ce signal.
Lors de mes 1er essais, j'ai essayé d'aquérir ce signal avec des microcontroleurs...
Il faut savoir qui si le chariot se déplace vite, la règle est précise à 0.5 micron.... Je ne vais pas faire les calculs ici mais pour chaque 0.5 micron de déplacement, on a un impulsion sur le signal AB... Aussi, si on se déplace par exemple de 20 cm en 1 seconde, ca fait un grand nombre d'impulsion très rapidement.
Par exemple, si on tourne la manivelle du trainard du tour à toute vitesse....
Ce que j'ai pu voir, c'est que les entrées des microcontroleurs n'étaient pas assez rapide pour lire toute les impulsions !!
Donc, on perdait des impulsions !! et la position était fausse !
Les règles des DRO fonctionnent jusqu'à 5Mhz... (c'est marqué sur le boitier de la DRO et aussi donné par le fabriquant de la règle dans la doc)
Aussi, il faut utiliser des compteurs électronique.
J'ai essayé avec des circuits electronique ASIC dédié (j'ai plus la référence en tête mais pourrai la retrouver si besoin mais c'est des compteurs spéciaux pour le signal AB en quadradure de phase)....
Les bestioles coutent 5 USD pièce et il en faut au moins 4 par règle... (Ca se branche en cascade pour avoir plus de bits de comptage). Plus la règle est longue (et précise), plus il faut de circuits...
Finalement, ces compteurs, c'était la galère. Je suis alors passé sur un CPLD altera max II.
C'est une sorte de FPGA donc c'est de l'électronique programmable.
Ainsi, j'ai un bus 24 bits qui donne la position des règles. Ce bus 24 bits est ensuite lu par un microcontroleur.... Et le microcontroleur affiche la position sur un ordi...
Tout ça pour dire que c'est la galère et s'il faut retenir un truc de mon post, c'est que la fréquence est un élément essentiel ici... J'avais essayé aussi avec un microcontroleur STM32 cortex M4 en mode DMA (
Direct Memory Access).... On arrive à proche de sa limite mais ça devrait être possible... (enfin, sauf pour les grand coup de trainard lorsque le tourneur est bien chaud...)
En tout cas avec le CPLD, je suis capable de lire à 40Mhz.
Pour le codeur rotatif d'une broche de tour qui tourne à 5000 tours/minutes soit 80 tours secondes... ca a l'air de donner 30 kHz si on considère 360 signaux par tour...
Quel est l'angle du capteur ?
En tout cas, 30kHz, ca a l'air bien moindre qu'une règle linéaire de DRO...