Discussions au sujet des autres produits NI

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

Labview - Calcul de vitesse à partir d'un capteur de position

Bonjour,

Je souhaiterais calculer la vitesse de déplacement d'un objet à partir d'un capteur qui m'en donne la position (en mm).

On peut simuler le capteur de position par une simple commande glissière verticale graduée de 0 à 1000mm.
En déplaçant le curseur de la glissière avec la souris, je simule donc le déplacement de l'objet.

A partir de cette information de position (en mm) je souhaiterais calculer la vitesse (en mm/s).

Je ne sais pas trop comment procéder.

Merci de votre aide.

0 Compliments
Message 1 sur 11
10 997 Visites

Bonjour,

Voici un exemple (en pièce jointe) qui devrait répondre à votre attente :

Cordialement,



Message Edité par Maxime MULLER le 07-04-2008 06:10 AM
Tout télécharger
Message 2 sur 11
10 985 Visites
Et oui tout ca car la vitesse n'est que la dérivée de la position....

Maxime, j'avais commencé un exemple, je suis allé manger avant de poster et tu m'a devancé !! L'apprenti dépasse son maître ;).

Bon WE, pour moi c'est eurockéennes 🙂
++

Pierre R...

Certified LabVIEW Developer
Message 3 sur 11
10 981 Visites
Merci pour vos réponses!

Maxime,  je n'arrive pas à comprendre le fonctionnement de votre VI:

Pour calculer la vitesse, il me semble qu'il faut diviser une variation de distance (X(t2) - X(t1)) sur un lap de temps par un ce laps de temps (t2-t1)

Or dans le VI, vous divisez directement la position par le temps...



Pierre,

Je n'ai pas réussi à utiliser les fonctions de dérivée par rapport au temps. (Opérations dans le domaine temporel).
Le signal qui sort de la glissière (position en mm) n'a pas de composante temporelle, et je ne sais pas comment calculer sa dérivée....
Bons concerts en tout cas...



0 Compliments
Message 4 sur 11
10 969 Visites
Le VI de mon apprenti préféré fait ce calcul de dérivée. Par approximation : df(x)/dt = f(x)-f(x-1)/(dt).
Ici Maxime stocke à chaque itération la valeur courante de la position dans un registre à décalage afin de pouvoir la réutiliser à l'itération suivante pour calculer la différence de position entre deux itération. Pour ce qui est de la avleur de dT, comme la boucle est cadencée à 50ms, dT)50ms, forcément 🙂
Cordialement,
Pierre R...

Certified LabVIEW Developer
Message 5 sur 11
10 964 Visites
L'eleve fais encore mieux que ça, il calcul les dX mais aussi les dT par le même système, il stock la valeur à (t-1) dans le registre à décalage, et fais la différence entre la valeur au temps (t) et la valeur (t-1)  (contenue dans le registre à décalage si tu as bien suivi) et après il envoi la valeur au temps (t) dans le registre à décalage pour pouvoir faire la différence  avec la valeur du temps (t+1). il divise aussi le temps par 1000, car dans son vi le temps est en milliseconde.
 
Snif :womansad: c'est si beau l'amour entre maitre et élève ......
 
 
0 Compliments
Message 6 sur 11
10 949 Visites
Merci, je viens de découvrir le régistre à décalage... Maintenant tout est plus clair!
Si j'ai bien compris: pour modifier la fréquence de calcul de la vitesse, je n'ai qu'à modifier la valeur d'attente (ici 50ms) et tout
est recalculer automatiquement.

A quoi correspondent les valeurs zeros reliées à chaques régistres de décalage sur la gauche? Est-ce que ce sont les valeur d'initialisations?

Une dernière question: à quoi servent le troisième régistre à décalage et le VI "insérer dans un tableau"?

Merci encore pour votre aide.
0 Compliments
Message 7 sur 11
10 944 Visites

Bonjour,

Les zéros, servent en effet à initialiser les registres à décalages. Le troisième registre à décalage et la fonction insérer dans un tableau servent à ajouter, à chaque itération de la boucle, la valeur de la vitesse calculée, dans un tableau et ainsi afficher son évolution sur un graphique déroulant.

Cordialement,

Message 8 sur 11
10 941 Visites

Bonjour, je suis un nouvelle utilisateur de Labview et je voudrais savoir si vous avez deja utilisé un DAQ counter si possible avec la NI 9401 , je voudrais simuler un capteur de position lineaire. Merci 

0 Compliments
Message 9 sur 11
10 029 Visites

bonjour ,

 

 

je suis debutante en programmation labview, je voudrais commander un moteur pas a pas et afficher  la valeur  l angle a été effectuer, mesurer   l'aide d'une capteur optique,piloter par interface labviewet arduino uno.

 

 

cordialement.

0 Compliments
Message 10 sur 11
7 895 Visites