Bonjour,
J'ai acheter un Nema 17 avec un codeur incrémental magnétique intégré. Cependant, je ne comprends pas comment branché celui-ci sur mon arduino car il y a les pin A+ A- B+ B- . J'ai l'habitude sur les autres codeurs de branché A et B afin de calculé les fronts montant et descendants mais la je n'ai aucune idée.
Ce sont les broches du moteur:
Les broches du codeurs sont:
Mais je ne connais pas ces codeurs. Ce que tu appelle A c'est ici EA+ et EA- , peut être des complémentaires genre sortie avec transistor que l'on peut utiliser en collecteur ouvert ou en émetteur ouvert... EZ doit être la troisième information (une impulsion par tour pour la remise à zéro).
Ce type de driver et les différentes pages que l'on voit et qui associent un pas à pas et une Arduino, sont en général des moteurs sans codeurs. Je n'ai pas encore vu de proposition pour utiliser un pas à pas en boucle fermée (avec codeur) et une Arduino. Si tu n'utilise pas le codeur, les exemple classiques fonctionnent et les circuits classiques fonctionnent. C'est peut être dommage d'ignorer le codeur.
Oui, la partie moteur est séparée de l'encodeur.
Je n'ai jamais utilisé ce genre de "couple" mais les sorties A+ A- et B+ et B- sont des sorties différentielles.
Pour lire sur ton Arduino, A+ et B+ doivent suffire. (Alimenter VCC en 5V.)
Oui, je me suis mal exprimé. Pour les pin A+ A- B+ et B- du moteur j'ai l'habitude des les utiliser. Ici je cherche a branché les pin EA+ EA EB+ EB- EZ+ EZ- pour récupérer les informations de mon codeurs sur Arduino.
dans la partie signaux codeurs, tu as VCC et EGND
il est fort probable( donc à vérifier) que si tu mets le 5 V de l'arduino sur VCC et le GND sur egnd, tu retrouveras le 5 V en sortie sur tes signaux codeur.
donc compatibles avec l'arduino
Ce que je veux dire c'est que tu dois sans doute pouvoir entrer:
EA+ et EB+ sur 2 entrées d'un Arduino et exploiter ces signaux avec une librairie de gestion de codeur incrémental. Cela permet de calculer une vitesse ou une position relative
EZ+ sur une entrée supplémentaire pour mettre à zéro le compteur de position et ainsi avoir une position absolue.
D'après la doc du constructeur, les sortie fournissent des signaux logiques 0 +5V (ou 3.3V). Tu dois donc pouvoir les exploiter en différentiel ou en asymétrique.
L'intérêt des signaux différentiels c'est que si tu es perturbé par du bruit tu auras toujours la possibilité d'utiliser des récepteur différentiels près de l'Arduino pour récupérer des signaux propres.
oui, EZ donne 1 top par tour moteur
si tu parcoures un axe en 10 tr moteur, tu auras 10 tops en EZ.
le top EZ peut etre utilisé pour savoir ou le mobile se situe sur l'axe
exemple : ( (5 tops EZ * pas de la vis ) + (tops EA*(pas de la vis/tops EA+ pour 1 tr))
ou encore pour faire l'origine de l'axe:
tu envoies ton mobile en bout d'axe, il actionne un switch et le 1er tops EZ qui se présente détermine la "Prise origine machine" ou "POM" ou origine de l'axe.
il faut les deux signaux en meme temps ( switch et top EZ)