Aller au contenu


Photo
- - - - -

Encodeur et interruption


6 réponses à ce sujet

#1 Elharion

Elharion

    Membre

  • Membres
  • 66 messages

Posté 18 octobre 2017 - 04:56

Bonjour à tous,

 

Je suis en train de me pencher sur les encodeurs pour moteurs.

 

Admettons les infos suivantes :

Moteur CC à 15 000 rpm

Encodeur à 7 pulses par tour.

 

Ca me fait du 250 tours par secondes * 7 pulses = 1750 pulses / secondes.

 

Si je branche ça sur une pin interrupt de l'arduino ça veut bien dire que mon code va être interrompu toutes les 57µs. Et ce par moteur.

 

Ca me parait un intervalle très court. Est-ce que j'ai loupé quelque chose ? Vu la taille des variables float sur arduino une telle précision n'est pas pertinentes.

 

 



#2 ashira

ashira

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 333 messages
  • Gender:Male

Posté 18 octobre 2017 - 05:18

Salut!
Dans ton interruption tu incrémentes seulement ta variable, ne fait pas de calcul. Sinon effectivement le uc risque de ne pas suivre.

Et 15000rpm c'est max et à vide ? Si oui en situation ce sera moins rapide.

#3 Elharion

Elharion

    Membre

  • Membres
  • 66 messages

Posté 18 octobre 2017 - 05:20

Oui c'est juste une incrémentation.

 

C'est à vide et effectivement la chute de vitesse est conséquente en charge.

 

Et j'ai reprise le calcul différemment, ça fait 1750Hz face à un processeur qui tourne à 16MHz. Donc c'est ridicule pour l'uc ^^

 

Néanmoins, j'ai 2 fiches sur le codeur, sig A et sig B (ca a l'air d'être comme ça sur tous). C'est quoi la différence entre les deux ? ^^



#4 ashira

ashira

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 333 messages
  • Gender:Male

Posté 18 octobre 2017 - 05:51

Dans ton codeur tu as 2 capteurs montés en quadrature, ils lisent la roue codeuse en décalé pour savoir le sens de rotation du moteur. Par exemple si le capteur1 envoie un front avant le capteur2 le moteur va dans un sens, et inversement.

#5 Elharion

Elharion

    Membre

  • Membres
  • 66 messages

Posté 25 octobre 2017 - 10:15

Merci Ashira :)



#6 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 25 octobre 2017 - 11:29

AU passage il y a ce tutoriel qui explique comment utiliser des encodeurs avec arduino, et le  code est fournis =) 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#7 Elharion

Elharion

    Membre

  • Membres
  • 66 messages

Posté 25 octobre 2017 - 11:45

Merci beaucoup, le tuto est super clair :)





Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users