PROJET LABVIEW W 2009
Acquisition de données et pilotage d’instruments avec LABVIEW Projet Linel LABVIEW (70h)
PROJET LA ABVIEW 2 2009
LINELL
Besoin logiciel et matériel : (par poste) Besoin logiciel et matériel : (par poste) 1 PC + le logiciel LABVIEW version (8.2) + le logiciel Measurement&Automation 1 Carte d’acquisition 1 Carte d acquisition USB_6008 (6009) ou NI 6221 USB 6008 (6009) ou NI 6221 1 Oscilloscope et 1 GBF (pilotables USB ou GPIB). BOITIER Vincent
[email protected] PERISSE Thierry
[email protected]
1
Acquisition de données et pilotage d’instruments avec LABVIEW Initiation à Labview : TDs + Projets = 70h Prise en main de Labview et TDs d’initiations Labview : Réaliser les exercices du tutorial de NI 2004. Réaliser les cahiers des charges de 1 à 11. Projet 1 : Utilisation de la carte d’acquisition : Mise en œuvre de mesures de différentes grandeurs ( température, température masse, masse vitesses, vitesses luminosité,...) ‐ étalonnage, ‐ mise en formes des mesures (tableaux, courbes,...) Réalisation de VI : Réalisation d’un voltmètre numérique (d’un thermomètre).
Projet 2 : Pilotage d ’instruments (GBF, OSCILLO) : Utiliser les fonctionnalités de Labview pour piloter indépendamment un générateur, un oscilloscope connectés au PC par port USB (ou GPIB).
LINEL
Réalisation de VI : En utilisant les instruments mis à votre disposition, concevoir et faire fonctionner une chaîne d’acquisition donnant le Bode d’un quadripôle H(jw). BOITIER Vincent
[email protected] PERISSE Thierry
[email protected]
2
PROJET LA ABVIEW 2 2009
Acquisition de données et pilotage d’instruments avec LABVIEW TDs d’initiation au logiciel LABVIEW Cahiers des charges 1 à 11
PROJET LA ABVIEW 2 2009
LINEL
Cahier des charges n°1 : Commandes & Indicateurs & Sous‐programmes Cahier des charges n°2 : Application des notions précédentes Y=a*x²‐b*x+3*π/x Cahier des charges h d h n°3 : une première structure ° è : la boîte de calcul l b î d l l Cahier des charges n°4 : Structure WHILE et REGISTRE A DECALAGE Cahier des charges n°5 : TABLEAU Cahier des charges n°6 : OUTILS TABLEAUX Cahier des charges n°7 : Structure FOR Cahier des charges n Cahier des charges n°8 8 : Structure IF : Structure IF Cahier des charges n°9 : Structure SEQUENCE Cahier des charges n°10 : SIGNAUX : création affichage Cahier des charges n Cahier des charges n°11 11 : SIGNAUX : SIGNAUX : traitement FFT et affichage : traitement FFT et affichage
BOITIER Vincent
[email protected] PERISSE Thierry
[email protected]
3
Acquisition de données et pilotage d’instruments avec LABVIEW Cahier des charges n°1 : Commandes & Indicateurs & Sous‐programmes Ecrire un VI qui calcule le rapport de deux nombres réels x et y. Ö Lancer LabVIEW Ö Ouverture VI vierge (mettre côte à côte diagramme et face‐avant). Ö Déposer commandes et indicateur sur face Déposer commandes et indicateur sur face‐avant avant Ö Déposer opérateur ‘diviser’ sur diagramme’. Ö Réaliser câblage Ö Exécuter le programme (x=1 et y=2 donc s=0.5) Ö Construction de sous‐programme : pour finir transformer le programme en sous‐programme, le sauver sous un nom mnémotechnique puis montrer comment l’utiliser.
Cahier des charges Cahier des charges n n°2 2 : Application des notions précédentes : Application des notions précédentes Ecrire un VI qui calcule Y=a*x²-b*x+3*π/x Ö Contraintes C t i t : x commande numérique (DBL), a glissière (I32), b bouton (I32) et y vumètre. d éi (DBL) li iè (I32) b b t (I32) t èt
Cahier des charges n°3 : une première structure : la boîte de calcul Ö En parallèle au diagramme précédent, réaliser un diagramme de même fonctionnalité mais qui utilise une
LINEL
boîte de calcul. On utilisera, pour alimenter la boîte les commandes précédentes.
BOITIER Vincent
[email protected] PERISSE Thierry
[email protected]
4
PROJET LA ABVIEW 2 2009
Acquisition de données et pilotage d’instruments avec LABVIEW Cahier des charges n°4 : Structure WHILE et REGISTRE A DECALAGE Calculer la suite x(n)=x(n‐1)+(n‐2)*x(n‐2) avec x(0)=1 et x(1)=2 On utilisera une boucle while, l’utilisateur aura la possibilité de sortir de la boucle à l’instant de son choix. On O tili b l hil l’ tili t l ibilité d ti d l b l à l’i t t d h i O utilisera un indicateur qui permettra de visualiser chaque nouveau terme calculé. Ö Montrer en explorant le sous‐menu du terminal conditionnel que la boucle peut s’arrêter si la variable est f vraie ou fausse. Demander la condition d’arrêt actuelle. Ö Montrer en explorant le sous‐menu de la commande booléenne que l’on peut fixer son état par défaut. Demander l’état par défaut actuel. Laisser cet état (qui est sauvé si l’on sauve le programme). En déduire le comportement du programme si les valeurs par défaut sont conservées. Vérifier en lançant le programme. ÖFaire constater que LAbVIEW affiche rapidement un over flow (inf) Insérer un ralentisseur dans la boucle ÖFaire constater que LAbVIEW affiche rapidement un over flow (inf). Insérer un ralentisseur dans la boucle (délai de 0.1 s).
Cahier des charges g n°5 : TABLEAU
PROJET LA ABVIEW 2 2009
LINEL
L’application précédente a un défaut : on perd les valeurs calculées sauf la dernière ! Idée : stocker les données dans un tableau. Ö Montrer comment créer un tableau à partir de la face‐avant (déposer tableau puis insérer à l’intérieur un t type de commande qui définira le type du tableau) d d i défi i l t d t bl ) Ö Montrer où placer le tableau et la connexion à la structure while Ö Montrer nécessité d’activer l’indexation afin de stocker les données dans le tableau. Ö Montrer que le trait change de taille. q g Ö Lancer le programme et faire constater que le contenu du tableau ne s’affiche que quand on arrête la boucle Ö Montrer que le tableau peut‐être créé à partir du diagramme.
BOITIER Vincent
[email protected] PERISSE Thierry
[email protected]
5
Acquisition de données et pilotage d’instruments avec LABVIEW Cahier des charges n°6 : OUTILS TABLEAUX L application précédente a un défaut : le tableau ne contient pas les deux premiers éléments ! L’application précédente a un défaut : le tableau ne contient pas les deux premiers éléments ! Idée : ajouter ces éléments au tableau précédent. Ö Montrer la procédure (montrer l’existence d’une palette qui permet de manipuler les tableaux). Ö Dégager l’idée de polymorphisme des fonctions. Ö Terminer en leur demandant d’extraire la troisième valeur du tableau complet et le nombre de ses éléments. T i l d d t d’ t i l t i iè l d t bl l t tl b d élé t
Cahier des charges n°7 : Structure FOR LL’application application précédente a un défaut : on ne peut pas fixer à l précédente a un défaut : on ne peut pas fixer à l’avance avance le nombre d le nombre d’itérations itérations !! Ö Montrer comment transformer la boucle while en boucle for. Ö Montrer que la commande logique ne sert plus rien et qu’il faut donc l’enlever. Ö Fixer le nombre de boucles de manière à calculer les 100 premiers éléments de la suite. Valeur de N ? Ö Exécuter le programme et vérifier.
Cahier des charges n°8 : Structure IF Modifier l’application afin de calculer x(n)=x(n‐1)+(n‐2)*x(n‐2) si x(n‐1) < 10 x(n)=0 ( ) si x(n‐1) > 10 ( )
LINEL
NB : l’algorithme doit fournir l’indice iB pour lequel le basculement à lieu. Ö Lancer le programme précédent en mode pas‐à‐pas et suivre la propagation des « bulles » sur les fils. Ö Montrer que l’on peut mettre des points d’arrêts. BOITIER Vincent
[email protected] PERISSE Thierry
[email protected]
6
PROJET LA ABVIEW 2 2009
Acquisition de données et pilotage d’instruments avec LABVIEW Cahier des charges n°9 : Structure SEQUENCE Dans certaines applications, l’utilisateur peut et/ou doit exécuter certaines actions avant d’autres actions. Sous LABVIEW, il dispose pour cela de la structure Séquence. Réaliser l’exercice suivant :
Ö Calculer le temps mis par un programme pour évaluer la fonction y=f(x) suivante Calculer le temps mis par un programme pour évaluer la fonction y=f(x) suivante : : en 105 points couvrant uniformément l’intervalle [‐2,+2].
Cahier des charges g n°10 : SIGNAUX : création affichage g Soit la fonction f(t)=f1(t)+f2(t) avec f1(t)= sin(w*t+/2) et f2(t)= 2*sin(3*w*t) Calculer en utilisant une boucle FOR le tableau des valeurs de t, f1(t), puis f2(t) puis f(t) pour t variant de 0 à 100 secondes par pas de 0.01s. (w=2*pi*fe avec fe=100hz).
Ö Tracer le graphe de f en fonction de l’indice Ö Tracer les graphes superposés de f, f1 et f2 en fonction de l’indice (noter que build array propose une option
PROJET LA ABVIEW 2 2009
LINEL
(cf menu local): choisir celle qui permet d’obtenir en sortie un tableau de tableau = double fil ! Ö Tracer, en utilisant le tableau des temps t, le graphe f(t) Ö Tracer, sans utiliser le tableau des temps t, le graphe f(t) ÖTracer f1 en fonction de f2 (Figure dite de Lissajous utilisée pour déterminer rapport fréquence ici 3). ÖGraphe X‐Y ÖGraphe X‐Y
BOITIER Vincent
[email protected] PERISSE Thierry
[email protected]
7
Acquisition de données et pilotage d’instruments avec LABVIEW Cahier des charges n°11 : SIGNAUX : traitement FFT et affichage Modifier le programme précédent afin d’introduire deux degrés de liberté dans la paramétrisation du VI à savoir : a) une commande qui fixe la fréquence d’échantillonnage Fech. b) une commande fixant le temps d’acquisition Tacq. c) une commande qui fixe la fréquence d’entrée c) une commande qui fixe la fréquence d entrée fe.(w=2 fe (w=2*pi*fe) pi fe) Fixer les valeurs adéquates de ces commandes afin de retrouver les résultats précédents. Compléter alors le VI afin d’afficher le tableau contenant le spectre d’amplitude de f(t) en fonction de l’indice.
LINEL
Représenter graphiquement ce tableau en fonction de la fréquence. Ö Utiliser ces outils pour caractériser les structures. Domaine affiché ? Dépend de quoi ? Le vérifier Symétries ? Par rapport à quoi ? Valeur ? Symétries ? Par rapport à quoi ? Valeur ? Explication position des raies ? Ö Que se passe‐t‐il si fe diminue (à Tacq constant=100)? Ö Comparer, chaque fois, fréquence signal réel et positions en fréquence des raies ? Conclusion ? I Interprétation : faire rappel sur TF, Discrétisation TF (la fonction est‐elle continue ou discrète ?), aliasing, TFD, é i f i l TF Di é i i TF (l f i ll i di è ?) li i TFD FFT avec schémas au tableau (signal quelconque, en dessous spectre d’amplitude avec fmax, positionner f0 et 3f0, en dessous spectre signal échantillonné pour cas fe>2fmax, en dessous spectre signal échantillonné pour f f fe<2fmax) ) Ö Demander alors de justifier, à l’aide des schémas précédents les positions des raies pour deux cas (fe>2fmax et fe<2fmax).
BOITIER Vincent
[email protected] PERISSE Thierry
[email protected]
8
PROJET LA ABVIEW 2 2009
Acquisition de données et pilotage d’instruments avec LABVIEW
P j 1 Projet 1
PROJET LA ABVIEW 2 2009
LINEL
THERMOMETRE NUMERIQUE
BOITIER Vincent
[email protected] PERISSE Thierry
[email protected]
9
Acquisition de données et pilotage d’instruments avec LABVIEW Projet 1 : Utilisation de la carte d’acquisition : (5h) Mise en œuvre de mesures de différentes grandeurs ( température, masse, vitesses, luminosité,...) ‐ étalonnage, ‐ mise en formes des mesures (tableaux, courbes,...)
Réalisation de VI : Réalisation d’un thermomètre. Préparation Projet 1 1/Caractéristiques de la carte A partir de la documentation papier de la carte utilisée, on souhaite retrouver ces performances. Compléter les infos suivantes : p Numérique : Nbre d’E/S, cadence max, Val max du compteur, niveaux des E/S, Cadence de travail… Analogique : Nbre d’E/S, cadence max en entrée, en sortie, niveaux d E/S, précision, … 2/Test Carte a. Avec le logiciel Measurement and automation, tester la carte (autotest). b.Test manuel des sorties : envoyer une tension sur la sortie n°0. Mesurer cette tension au multimètre. c. Test manuel des entrées : Connecter la sortie n° 0 à l’entrée n° 0. Modifier l’entrée, visualiser la sortie (RSE). Connecter la sortie n°0 aux entrées AI 0+, AI0‐. Tester en RSE et différentielle. Conclure. é ffé
LINEL
3/Utilisation de la carte sous Labview Nouveau, Acquisition de données avec NI_DAQmx, puis créer un VI qui permet de piloter une tension entre 0 et 5 volts et qui vous permet dans le même temps de lire une tension (visualisation numérique et graphique). td l ê t d li t i ( i li ti éi t hi ) 4/Acquisition, … un peu plus loin. On dispose d’un générateur de fonction extérieur (GBF) qui envoie une tension triangulaire avec un offset. Proposer un VI permettant de visualiser ce signal et de mesurer la valeur pic à pic la moyenne et la fréquence permettant de visualiser ce signal et de mesurer la valeur pic à pic, la moyenne et la fréquence. BOITIER Vincent
[email protected] PERISSE Thierry
[email protected]
10
PROJET LA ABVIEW 2 2009
Acquisition de données et pilotage d’instruments avec LABVIEW Projet 1 : Thermomètre numérique. On veut utiliser la carte d'acquisition et une thermistance pour réaliser un thermomètre. 1 1 la valeur d'une thermistance est donnée par : R = Rref exp( B( − )) T Tref
On insère la résistance dans le montage suivant que vous devez câbler:
1/Mesures Créer un VI qui permet de remplir un tableau point à point avec deux colonnes, Créer un VI qui permet de remplir un tableau point à point avec deux colonnes première colonne : la température mesurée avec le thermomètre et rentrée à la main, deuxième colonne : la tension Vs, mesurée aux bornes de Ro saisie "automatiquement" en cliquant.
2/Interpolation 2/Interpolation
PROJET LA ABVIEW 2 2009
LINEL
A partir du tableau précédent, créer un VI qui détermine le polynôme permettant de passer de Vs à la température. Faire un graphique avec en abscisse les tensions mesurées et en ordonnées les températures mesurées et les températures reconstituées. C l Conclure sur la qualité du thermomètre l lité d th èt . BOITIER Vincent
[email protected] PERISSE Thierry
[email protected]
11
Acquisition de données et pilotage d’instruments avec LABVIEW Projet 1 : Thermomètre numérique. (suite). 3/Thermomètre 3/Thermomètre Utiliser l'interpolation précédente pour réaliser un thermomètre (affichage de la température)
Si on veux aller plus loin :
LINEL
On souhaite mesurer le temps de réponse du capteur mise en œuvre précédemment. Pour cela créer un VI permettant de visualiser la réponse temporelle du capteur en réponse à un échelon de température (obtenu en plongeant le capteur dans l'eau visualiser la réponse temporelle du capteur en réponse à un échelon de température (obtenu en plongeant le capteur dans l eau chaude… ou froide). On souhaite aussi : ‐ déterminer le temps de réponse ‐ enregistrer les données sur un fichier utilisable ultérieurement enregistrer les données sur un fichier utilisable ultérieurement ‐créer une page web accessible via un autre poste avec affichage de la température et courbe d'évolution de la température.
BOITIER Vincent
[email protected] PERISSE Thierry
[email protected]
12
PROJET LA ABVIEW 2 2009
Acquisition de données et pilotage d’instruments avec LABVIEW
P j 2 Projet 2
PROJET LA ABVIEW 2 2009
LINEL
Pilotage d’instruments avec LABVIEW
BOITIER Vincent
[email protected] PERISSE Thierry
[email protected]
13
Acquisition de données et pilotage d’instruments avec LABVIEW Projet 2 : Tracé automatique de Bode d’un quadripôle : Utiliser les fonctionnalités de Labview Utili l f ti lité d L b i pour piloter indépendamment un générateur et un oscilloscope il t i dé d t é é t t ill connectés au PC par liaison informatique (USB ou GPIB).
Application : En utilisant les instruments mis à votre disposition : ‐ Rechercher sur internet les fonctions programmes de chacun des instruments. ‐ Concevoir et faire fonctionner une chaîne d’acquisition donnant la représentation graphique de Bode q p g p q d’un quadripôle H(jw).
Si on veux aller plus loin … p
LINEL
Montrer que Le générateur pourra être commandé via le réseau (LAN). Faire fonctionner le VI sur un poste ne possédant pas LABVIEW.
BOITIER Vincent
[email protected] PERISSE Thierry
[email protected]
14