Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Comment utiliser le module DaqMX "encodeur angulaire" ?

Résolu !
Accéder à la solution

Bonjour,

Je suis actuellement étudiant dans un laboratoire de mesures, et je conçois un VI permettant de piloter un banc d'étalonnage pour capteurs rotatifs.

Je dispose donc d'un moteur, d'un encodeur (ERN420), ainsi que d'une carte d'acquisition NI USB 6341.

Le but de ma manipulation est de déterminer mon déplacement grâce à mon encodeur. Je voudrai donc utiliser le DaqMX "encodeur angulaire".

 

Mon encodeur me donne deux signaux en quadratures, avec une résolution de 5000 traits.

 

J'ai donc suivi la fiche d'aide de Labview, Ne utilisant Nimax j'ai crée une nouvelle voie. Ensuite j'ai branché mes deux signaux en quadrature dans les bornes de ma carte, que m'indiquait Nimax.

Ensuite, voulant une très grande précision, j'ai choisi le type de décodage X4 qui me permet de compter les montantes et les descendantes sur chaque voie.

Puis dans "impulsions par révolution" j'ai saisi le chiffre 10000 car pour une voie j'ai bien 5000 montantes et 5000 descendantes pour 1 tour.

Je crée ensuite une commande Labview pour faire tourner mon moteur. Et je place un repère sur celui-ci pour voir son déplacement.

 

C'est ici que survient mon problème, lorsque Nimax m'affiche 360° parcouru, J'ai en réalité parcourue 700°....

J'ai d'abord pensé à un problème de facteur 2, j'ai donc saisi 5000 dans le nombre d'impulsions par révolution. Mais de même, pour 360° affichés je n'est en réalité parcouru que 340° voir 330° (valeurs repérées à l'œil)...

Peut importe la vitesse de mon moteur, le résultat est toujours le même. J'ai vérifié aussi la documentation de mon encodeur j'ai bien 5000 traits.

 

Je voulais donc savoir si quelqu'un pouvait m'éclairer sur le sujet. (J'ai mis en PDF le suivi de mon procédé étape par étape si jamais mon explication textuelle n'est pas très claire !!)

 

Merci d'avance.

Julien

 

0 Compliments
Message 1 sur 15
3 802 Visites

Je te confirme que tu dois utiliser 5000 comme nombre d'impulsions par révolution. Une différence de 20-30 degrés c'est quand même assez grand, s'il y a des couplages entre le moteur et l'encodeur il y aura une perte à chaque changement de direction mais probablement pas assez pour expliquer une telle différence. Tous les couplages sont bien serrés et l'encodeur bien fixé (il ne doit pas tourner autour de l'axe)? Par expérience la source de tel problème est généralement de nature mécanique bien que j'ai déja vu du bruit électrique remettre à zéro en encodeur. Assure-toi également que le cable de l'encodeur ne longe pas celui du moteur ou d'autre signal bruyant.

 

Ben64

Message 2 sur 15
3 787 Visites
  1. Dans le nombre d'impulsions, il faut mettre celui d'un signal du codeur. Dans votre cas, 5000.
  2. Comment avez-vous relié l'ERN420 à la carte DAQ ? La recommandation du fabricant se trouve à la page 9 de ce document.
  3. Dans MAX, réalisez juste une voie virtuelle globale et non une tâche.
  4. A quelle vitesse tourne votre moteur ?
  5. Tournez le codeur à la main sur un tour et surveillez l'angle affiché dans MAX. Y a-t-il des trous ? La valeur finale est-elle maintenant correcte ?
Message 3 sur 15
3 784 Visites

Merci Ben64 pour votre réponse.

J'ai bien vérifié mes serrages, tout mon montage est fixé sur un bâti bien solide et très rigide. Pour ce qui est du bruit électrique, j'ai bien écarté le câble du codeur et celui du moteur. Je l'ai également écarté du hacheur et de l'alimentation du capteur.

Mais je peux remarquer qu'il arrive que sans faire bouger mon moteur, l'angle dans Nimax varie tout seul. Si il y a une vibration.

J'ai relancé mon test j'obtient toujours cet énorme écart.

 

Julien

0 Compliments
Message 4 sur 15
3 768 Visites

Merci JB pour votre réponse.

 

2. Mon encodeur et relié à ma carte DAQ par un simple fil électrique, étant donné que ma carte d'acquisition à un branchement du type "bornier à vis".

4. Mon moteur est géré par un hacheur, ma vitesse est donc réglable.

5. Je ne remarque aucun trou en le faisant tourner à la main. Mon encodeur est neuf.

En le faisant tourner à la main, je me suis placé un repère, il me manque effectivement 10°. Si je fait une révolution, en me basant sur mon repère, je trouve la valeur 370°.

 

Julien

0 Compliments
Message 5 sur 15
3 761 Visites

J'utilise régulièrement des montages avec moteurs et encodeur et une des difficultés est d'obtenir une bonne mise-à-terre car il y a plusieurs alimentations, équipements et interfaces métalliques. Dans un premier temps je te recommanderais de bien vérifier la mise-à-terre (idéalement une configuration en étoile avec un seul point commun, bien que souvent difficilement réalisable avec ce type de montage). Comme l'angle mesuré est supérieur à 360° il y a probablement des pulses indésirables, si possible essai de visualiser les pulses d'encodeur à l'aide d'un oscilloscope.

Si tu simplifies ton montage et n'utilise que l'encodeur et fait faire un tour que mesures-tu?

 

Ben64

Message 6 sur 15
3 740 Visites

J'ai une alimentation avec plusieurs sorties, une à 5V qui alimente le codeur et une a 25V qui alimente mon hacheur. Je relie la masse de chaque alimentation ?

 

Je visualise souvent mes signaux à l'oscilloscope, et je n'ai jamais vu aucune anomalie. Je vous mets en pièce jointe un screeshot. Mon signal a l'aire pourtant de bonne qualité. Je reçois demain mes composants pour effectuer le montage conseillé par le constructeur, comme me l'a dit JB.

 

J'ai tout à l'heure démonté le codeur du système, pour le faire tourner à la main. Je me suis mis un repère, et pareil j'obtiens un décalage d'environ 10°, pour un tour j'ai 370° affichés.

Autre chose que je viens de remarqué, lorsque je pose mon codeur sur mon bureau sans le toucher ni rien faire au tour de lui, mon afficheur Nimax augmente lentement, mais il augmente !!

Je suis sur ce problème depuis assez longtemps, environ 3mois, mon professeur de pilotage se penche aussi sur le dossier sans trouver de solution...

 

Merci,

 

Julien

0 Compliments
Message 7 sur 15
3 730 Visites

Le USB-6341 est il également bien mis-à la terre (chassis) et son cable USB loin des sources de bruit? Toutes les broches DGND, incluant celles non utilisées?

 

Ben64

Message 8 sur 15
3 725 Visites

Oui le châssis est bien relié à la terre, et mon câble USB passe derrière pour se brancher directement à mon pc tout le reste de la manipulation est sur le devant de la carte pour que je puisse y accéder.

Je n'ai pas compris ce que vous voulez dire à propos des broches DGND.

 

Merci

 

Julien

0 Compliments
Message 9 sur 15
3 713 Visites
Solution
Accepté par l'auteur du sujet Dellta

Si tu n'as que les signaux en quadrature de connecté sur le USB-6341 alors ces signaux sont flottants. Tu devrais connecter la référence de l'alimentation de l'encodeur aux broches DGND (Digital Ground) du USB-6341. Si le cable de ton encodeur est blindé, connecte le blindage à la masse commune de ton montage. Si ton cable n'est pas blindé et que les cables des signaux inverses ne sont pas connectés alors tu devrais les connecter sur une autre entrée compteur du 6341. Les fils non connectés peuvent agir comme antenne.

 

Il m'est arrivé d'avoir des problèmes de lecture sur un encodeur et le problème était dans le filage (on perdait des comptes d'encodeur dans une direction), comme les signaux inverses étaient connectés je n'ai eu qu'à modifier la tâche à distance pour utiliser ces signaux (le montage physique était était à près de 5000 km).

 

Ben64

Message 10 sur 15
3 702 Visites