Projet : Odomètre numérique HELPPP !!

Bonjour,

Mon projet consiste à afficher numériquement (via écran lcd) la distance parcouru d'un odomètre (photo).

Détail: La distance parcouru est mesuré par un encodeur incrémental puis affiché sur un écran LCD. Un bouton poussoir permet de remettre à 0 la distance.

Matériel :

  • Encodeur magnétique incrémental AEAT-601B (Caractéristique codeur)
  • Une carte Arduino Uno
  • Un ecran LCD
  • un bouton poussoir.

Après de long recherche sur les codeurs, je n'arrive pas a avoir de résultat concluant.

J'aimerai avoir votre aide sur le câblage de l'encodeur et sa programmation sur Arduino :confused:

Merci d'avance :slight_smile:

Salut,
Et bien il semble que tu aies là déjà une bonne base de documentation. Le codeur incrémental délivre 2 signaux décalés en fonction de son sens de rotation. Le tien possède également un index qui emet une "pulse" à chaque tour. Basiquement selon ton énoncé l'index seul devrait suffire.
Un petit tour sur Google donne déjà pas mal d'info : Un exemple de code et un tuto ici

Salut,

Merci pour ta réponse. Merci de m'avoir confirmer le câblage.

Mon plus gros problème est le code de l'Arduino. J'ai essayé différent code, qui augmentait la valeur incrémenté sans rien toucher.

Ton exemple de code Encoder Library, for Measuring Quadarature Encoded Position or Rotation Signals correspond a mon besoin.

Si j'ai bien compris l'index n'est lu qu'une fois par tour mais je souhaite une précision au cm.

Maintenant quand ma roue de l'odomètre fait 1 tour complet ca équivaux à un mètre de distance. Mon codeur à 256 "trou" pour un tour complet. Donc pour trouver ma distance parcouru : distance ( en m)= (1/256)*nb de trou incrémenté par le codeur

Le code arduino : float distance = (1/256)*nbIncrementationCodeur

Est-ce bon ? ( j'ai fait le test sur l'arduino mais ca ne correspond pas à la réalité)

Merci,

Bonjour,

Tu es sur que ton calcul est bon?
Tu n'oublies pas quelque part le périmètre de la roue?