Programmation moteur+encodeur Cytron

Bonjour,
Aprés mainte recherche je n’ai toujour pas trouver comment compter les impulsions des codeurs dans les deux sens,
Ce sont des moteur+encodeur Cytron 30/100.
Si quelqu’un peu m’aider.

Je voudrais pour commencer compter de facon a avoir les 90 impulsions dans les deux sens .
Merci

Capteur Infrarouge ?? C’est des Capteur Hall. Le code fournis est pour Pic, pas pour arduino.
J’ai deja essayer plusieur code des tutoriel arduino, mais aucun ne va.

oui, j’ai deja lu les capteurs et il me renvoie bien des 0 et des 1, le probleme que j’ai , c’est que je n’obtient pas le bon nombre de comptage.
Avec un code pour compter les impulsions, j’ai fais plusieur fois le test suivant : Brancher le moteur a un accus et le faire tourner 10tours a l’oeil et diviser le resultat du comptage par 10. Mais je n’obtenait jamais 90pulse, toujours entre 82 et 86. Pourtant il y avait bien les 10 tours, j’avais mis un repaire. Et le code que j’avais comptais dans un seul sans. Et il comptait aussi toujours a la meme vitesse que le moteur soit allimenter en 3 ou 12V.
C’est le code qui me pose probleme.

J’ai deja essayer, j’ai trouver 242 impulsion…
Merci

J’ai tester avec une Arduino UNO

Bonjour, toute les impulsion sont compter, j’ai trouvé un code qui marche. Mais je n’arrive toujours pas a detecter le sens. Je pense que je vais utilisé une Bascule D (74hc74) pour cela.
cdlt, fabien

Je sais, mais en code, c’est pas facile faire. Tandis qu’avec une bascule d, j’aurai d’un coté le comptage de tour et de l’autre le sens .

fribotte.free.fr/bdtech/detectsens/detectsens.html

Le moteur RB-Cyt-82 a des fils pour le voltage et les deux capteurs infrarouges dans la partie de l’encodeur. Quand vous branchez les fils a un microcontroleur, vous aurez deux signaux numériques (0 ou 1). Pour commencer, vous pouvez simplement brancher un capteur; vous n’aurez pas la direction ou la précision, mais ça vous donnera le compte et (si vous attachez une roue) la distance. Regardez dans le fichier ZIP pour un explication du fonctionnement d’un encodeur, et aussi du code échantillon.

Désolé, capteurs hall - même principe. Avez-vous essayé de simplement lire un des capteurs avec l’Arduino quand le moteur tourne lentement? Ça vous donnera des 0 et i. Soyez certain de minimiser le code et de ne pas inclure des “délais”. Essayer avec le code échantillon “digital input” et utilisez les mêmes broches. Est-ce que le moteur tourne quand c’est alimentée correctement avec un contrôleur de moteurs?

il est possible que le compte soit fait trop lentement et que il ne puisse que percevoir ~86 pulsations dans un certain temps donné (aliasing).

Essayeez de bouger l’encodeur manuellement et de voir si le compte se fait de maniéré apropriée.

Si vous pouvez compter plus d’impulsions en tournant à la main, ça veut dire que votre moteur tourne trop rapidement pour votre microcontrôleur qui ne lit que quelques impulsions parmi toutes les impulsions faites.

Il vous faudra calculer quelle est la fréquence maximale d’impulsion et vous assurer que votre microcontrôleur peut les compter.

A quelle fréquence croyez-vous que les impulsions de l’encodeur se font? Est-ce que votre code est optimisé pour ne pas rater les impulsions et les compter.

Vous trouverez ici la documentation pour l’encodeur: robotshop.com/content/ZIP/documentation-spg30e-30k.zip

Dans la page 4 du manuel, il est explique comment déterminer la direction de rotation en fonction de la phase des ondes produites par l’encodeur.

C’est en effet possible t nous serions ravis que vous partagiez la méthode avec nous et les autres roboticiens.

Aussi, sachez que nous ne vendons pas de bascules D.