Go Down

Topic: Encodeur en quadrature + sn74hc74n (Read 3911 times) previous topic - next topic

Jesis

Une idée ? (je ne suis pas expert dutout en la matiere...)

Enfete, donc, il manque plein de detaile sur le plans du shemas de Fribotte.....

fdufnews

Encodeur optique ou mécanique?

Un encodeur mécanique peut générer des rebonds. Ce qui envoie plusieurs impulsions sur l'entrée d'horloge ou qui fait que le signal sur D n'est pas stable lors du front montant de CK. Pour "soigner" ça, avec des pullup de 4,7k, il faudrait placer des condensateurs de filtrage entre les entrées et la masse. Je pense que des condensateurs de l'ordre 47nf devraient faire l'affaire.

Jesis

Ok, merci ,je vais essayé....
Mais encodeur sont a capteur Hall.

fdufnews

#18
Feb 24, 2012, 03:37 pm Last Edit: Feb 24, 2012, 03:41 pm by fdufnews Reason: 1
Avec des encodeur à effet Hall tu ne devrais normalement pas avoir de rebonds.
La liaison de masse entre les capteurs et l'arduino est-elle bonne?
Les niveaux en sortie de l'encodeur sont-ils corrects :
  niveau 0 < à 1,5V
  niveau 1 > à 3V

L'alimentation de ton 74HC74 est-elle de bonne qualité?
As-tu placé un condensateur de découplage sur les bornes d'alimentation du 74HC74?

Jesis

la sortie de chaque codeur est bonne, car j'ai deja fait des comptage avec les deux.

Le 74hc74 et alimenté par l'arduino, il n'y a pas de conensateur .
Merci

Jesis

Re ! Il n'y a pas moyen, j'ai rajouter un condenstuer de 100µ sur l'alim du composant, mais ca ne change rien...
:~

Jesis

#21
Mar 03, 2012, 07:51 pm Last Edit: Mar 03, 2012, 07:53 pm by Jean-François Reason: 1
Bonjour !  

Voila, apres plusieur recherche (semi infructueuse) sur le traitement du signal en quadrature des encodeurs. J'en suis arrivé a ecrire ce bout de code (pour le principe et sans bascule D)


Code: [Select]
if (chanel_a ==0 && chanel_b == 0)
{ if (chanel_a==0 && chanel_b == 1)
 {sens=1; }}
else
{ sens = 0; }


Si j'integre ce bout de code dans une interuption, est ce que ca marchera ??
Je ne suis servis de ça :

Uploaded with ImageShack.us

J'espere que quelqu'un me dise oui !  
Ou que quelqu'un repondra ...


JMe87

Bonjour,
pourquoi t'inquietes-tu du sens de rotation de ton encodeur ?. Il est fixe sur l'axe d'un moteur dont TU decides du sens de rotation.
Il ne faut pas confondre codeur (qui est fixe sur un moteur) et encodeur (qui est tourne a la main dans n'importe quel sens et a n'importe quelle vitesse)
Il te restes juste  a compter les transitions des signaux A et B pour savoir de quel angle ton moteur a tourne !!
Et voila
Bon boulot
Jacques

Jesis

Merci de ta reponse Jacques.

Je ne souhaite pas connaitre l'angle de l'axe, mais le sens en traintant les signaux des codeur A et B.
Par exemple, je met mes moteur en route via une pile (connecté a rien d'autre) et connecte mes encodeur sur l'arduino, et l'arduino m'affiche le nombre de tick, qui me permet de determiner le nombre de tour et le sens de rotation de l'axe.
Voila.
Donc, est ce que cet extrait de code peut marcher ? etant donné que je ne trouve pas asser d'information concernat la mise en oeuvre des 74hc74.
Merci.

Jesis

J'ai essayé mon bout de code... je l'ai tourné dans tout les sens pendant 4hr.....  Sans resultat... Je me demande si c'est possible....

JMe87

Si c'est possible ..... de faire quoi ?

Pourrais-tu nous expliquer depuis le debut ce que tu voudrais bien faire.
On a eu droit a un moteur, puis un encodeur, puis un HC74, puis un bout de code, ... c'est un peu confus.

Si tu veux etre aide, il faut au minimum presenter clairement ton projet !

Jacques

Jesis

Si c'est possible de detecté le sens de rotation du moteur via les codeurs.
Le 74hc74 devai me permettre de me faciliter la tache, en m'indiquant le sens de rotation. Mais comme ca ne marche pas, je me suis penché sur la detection de sens sans ce composant, d'ou le bout de code.

MON Projet = Detecter le sens de rotation d'un moteur via des codeurs.

Voila, j'espere que maintenant c'est clair
(meme si sa la toujours été pour moi, mais vous ete pas dans ma tete  XD  )

JMe87

#27
Mar 04, 2012, 04:25 pm Last Edit: Mar 04, 2012, 04:31 pm by JMe87 Reason: 1
Oui c'est parfaitement possible. On te le dit depuis le 22 decembre 2011 dans une autre discussion que tu avais initiee.
Il ne faut pas dire que cela ne marche pas avec un HC74, il faut dire que tu n'es pas arrive a le faire marcher.
Maintenant, quand on lit ton dernier message, on a l'air de t'embeter, alors je te laisse a tes elucubrations.
Jacques

Jesis

#28
Mar 04, 2012, 04:39 pm Last Edit: Mar 04, 2012, 04:47 pm by Jesis Reason: 1
C'est ca, @+
Vive l'ambiance !

fdufnews

Quote
On te le dit depuis le 22 decembre 2011 dans une autre discussion que tu avais initiee

Il aurait fallu le dire plus tôt. On peut pas deviner et on ne connait pas tout l'historique du forum.
Dans la doc de ton moteur(celle qu'Artouste a donnée), il est indiqué d'utiliser des pullup de 1k sur les sorties channel A et B.

Si on se réfère à la doc du moteur et au schéma que tu as donné au début de ce fil de discussion si:
         channel A est connecté sur la broche CK de la bascule
         channel B est connecté sur le D de la bascule
alors la sortie Q de la bascule doit être à 1 lorsque tu fais tourner le moteur dans le sens des aiguille d'une montre
  et   la sortie Q de la bascule doit être à 0 lorsque le moteur tourne dans le sens inverse des aiguilles d'une montre.

Ce montage est sûr. Il doit fonctionner. En fait si le montage avec la bascule D qui est très simple (et moins sujet aux problèmes qu'un morceau de code qui fonctionne sous interruption) ne donne pas de résultat satisfaisant, ce n'est même pas la peine d'essayer de faire fonctionner le truc sur l'arduino avec des IT.
Si tu n'arrives pas à le faire fonctionner correctement (pour autant que la câblage du circuit soit correct) alors je pense qu'il y a un problème dans le capteur de rotation.

Ou alors ce n'est pas la bonne doc dans le premier fil de discussion que tu avais ouvert.

Go Up