Discussions au sujet de NI LabVIEW

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

Lecture d'encodeurs lente PXI

Bonjour à tous,

Je suis amené à effectuer la lecture d'encodeurs pour réaliser le contrôle de 4 moteurs DC.

Afin de réaliser quelques premiers tests, j'ai créé un VI qui ne consiste qu'à lire les encodeurs, tracer un graphique avec la position d'un des encodeurs et un autre graphique indiquant si la boucle cadencée (10kHz) finit dans les temps. Malgré le peu d'exécutions à effectuer, la boucle finit en retard en fin d'expérience (cf Figure). Ces retards ne sont pas observés à chaque expérience.

reading_1kHz_late.png

Auriez-vous une idée expliquant le caractère ponctuel du problème et comment le résoudre?

D'avance merci!

0 Compliments
Message 1 sur 6
4 008 Visites

Hello Alvarvs,

 

Il y a assez peu de chance que les réponses que vous obtiendrez soient pertinentes, si vous ne nous donner pas plus de grains à moudre 😉

 

Avez-vous au moins un petit bout de code et quelques détails sur la configuration matérielle?

 

Merci

Flo

0 Compliments
Message 2 sur 6
3 998 Visites

Bonjour,

 

Voici le Vi dans lequel se fait la configuration des encodeurs (module PXI TB-2715) ainsi que le VI où se fait la lecture de ceux-ci.

 

Merci pour votre aide!

Tout télécharger
0 Compliments
Message 3 sur 6
3 983 Visites

Hello Alvarvs,

 

Nul besoin de boucle cadencée, ce n'est pas au soft de cadencé l'acquisition matérielle, la fonction de lecture renvoie les valeurs quand elles sont disponibles; une boucle while classique suffit.

Dans LabVIEW Aide>>Rercherche d'exemples... en recherchant "encodeur vous trouverez le vi suivant "Compteur - Lecture d'encodeur (horloge continue).vi"

 

Bonne soirée

Flo

Message 4 sur 6
3 971 Visites

Hello,

 

Merci pour votre réponse!

 

Le but final est de réaliser le contrôle des quatre moteurs, j'ai donc besoin d'avoir une boucle cadencée afin d'obtenir une période constante et d'assurer la stabilité de la régulation (Filtre de Kalman, régulateur PD, etc.).

Cependant, j'étais surpris de ne pas pouvoir atteindre une fréquence de plus d'1kHz sans retard dans la boucle.

J'ai donc disséquer le VI pour trouver les éléments problématiques et j'en suis arrivé aux encodeurs qui utilisés seuls ne permettaient pas de candencer à 1kHz. Après plusiseurs essais j'ai découvert qu'en supprimant la configuration du Z index, l'on pouvait cadencer à 1kHz, 10kHz étant par contre toujours problématique (cf figure du premier post).

 

Compte tenu des vi envoyés, voyez-vous une raison à ce problème et en particulier au fait que ces retards se trouvent en fin d'expérience et ne se produisent pas à chaque expérience?

 

Merci!

 

 

 

 

0 Compliments
Message 5 sur 6
3 965 Visites

Etes-vous sur un système RT ou sur Windows?

ça me parait ambitieux de récuprérer un point toutes les 100µs sur un système cadencé sof si c'est en windows.

Pourquoi ne pas faire une acquisition bufferisée plutôt?

Flo

0 Compliments
Message 6 sur 6
3 932 Visites