Labview

30
IUT Le Creusot epartement Mesures Physiques Informatique d’Instrumentation III Acquisition de donn´ ees sous LabVIEW

description

practical work with Labview

Transcript of Labview

Page 1: Labview

IUT Le Creusot Departement Mesures Physiques

Informatique d’Instrumentation III

Acquisition de donnees sous LabVIEW

Page 2: Labview

2

Page 3: Labview

Table des matieres

1 Acquisition de mesures meteorologiques 5

2 Conduction de la chaleur le long d’une barre 7

3 Regulation de temperature 11

4 Commande et asservissement d’un moteur a courant continu 15

5 Initiation a la vision et au traitement d’images 17

6 Acquisition de signaux sonores 21

A Table des caracteres en ASCII etendu 23

B Specifications de la carte NI 6221 25

C Acquisition d’un echantillon analogique sur une voie 29

3

Page 4: Labview

4 TABLE DES MATIERES

Page 5: Labview

Chapitre 1

Acquisition de mesuresmeteorologiques

L’objectif du TP est d’effectuer la mesure de temperature et d’humidite relative a l’aide de deuxcapteurs. Ces deux capteurs disposent d’une sortie 4-20 mA. Dans un premier temps, un convertisseurRCV420 permet de convertir les signaux en 0-5V. Puis un CAN serialisateur MIC 640 assure laconversion analogique-numerique. A l’aide de la lia son serie du PC (RS232), il s’agira d’effectuerl’acquisition a intervalle de temps regulier de la temperature et de l’humidite relative. Les donneesseront affichees sous forme de graphique et sauvegardees dans un fichier afin de pouvoir etre exploiteespar d’autres programmes.

1.1 Etude de l’interface MIC 640

1. A l’aide d’un voltmetre, mesurez la tension tension d’entree sur la borne VCC du circuit. Sachantque ce circuit est un CAN 8 bits, quelle est sa veritable resolution (20mV annonce dans ladocumentation).

2. De meme, mesurez le potentiel sur la borne CTRL et deduisez-en le mode de fonctionnement duconvertisseur.

3. Sur la maquette, les potentiels U1 et U2 correspondent respectivement aux mesures de temperatureet de pression et sont relies aux bornes AN0 et AN1 du CAN. Mesurez a l’aide de l’oscilloscopeces deux valeurs et determinez la valeur attendue en sortie de conversion. Exprimez egalementcette valeur sous forme hexadecimale et donnez le caractere ASCII correspondant (cf Table enannexe).

1.2 Acquisition du signal avec la liaison RS 232

1. Ouvrir l’exemple Basic Serial Write and Read fourni par LabVIEW et sauvegardez ce VIsous un autre nom dans votre repertoire de travail. Etudiez le programme afin de reperer lesetapes traditionnelles (Initialisation, Acquisition, Fermeture).

2. Afin de lancer la conversion analogique-numerique, le niveau de potentiel en entree doit-il etrehaut ou bas ?

3. Sachant que la liaison serie RS-232 repond a la norme V28 :

– [−25V, −3V ] : 1 logique– [3V, 25V ] : 0 logique

Quel doit etre le niveau logique a commander sur la liaison serie ?

5

Page 6: Labview

6 CHAPITRE 1. ACQUISITION DE MESURES METEOROLOGIQUES

4. La commande de la mesure s’effectuera en utilisant l’octet correspondant a la repetition de 8fois ce niveau. En laissant un temps d’attente de 1s entre l’ecriture et la lecture sur la liaisonserie, modifiez le VI afin d’afficher les valeurs correspondants aux deux capteurs.

5. Sachant que les mesures de temperature t et de degre d’humidite h sont liees lineairement auxvaleurs de tension selon :

U1[0, 5V ] ←→ t ∈ [−30C, +70C]

U2[0, 5V ] ←→ h ∈ [0%, 100%]

affichez sur la face avant les valeurs de temperature et de degre d’humidite.

1.3 Amelioration de l’IHM

1. A partir du VI realise, creez 3 sous-VI permettant de realiser les trois taches suivantes :

– Initialisation de la communication avec la liaison serie– Acquisition des deux mesures– Fermeture de la communication avec la liaison serie.

Le diagramme du programme principal devrait ressembler a celui presente sur la figure 2.1.

Figure 1.1 – Apercu du diagramme.

2. Modifiez le programme principal afin d’afficher dans un graphique deroulant les valeurs mesureesjusqu’a ce que l’utilisateur appuie sur un bouton STOP.

3. Completez le VI afin qu’a la fin de l’acquisition le programme enregistre les donnees [temps, t, h]dans un fichier de type tableur.

4. Verifiez avec le logiciel excel par exemple que vous pouvez importer correctement les donnees.

Page 7: Labview

Chapitre 2

Conduction de la chaleur le long d’unebarre

L’objectif du TP est d’effectuer la mesure de temperatures sur une barre cylindrique de cuivre afind’etudier les phenomenes de diffusion et de convection de la chaleur. L’interfacage des capteurs estrealisee grace a un systeme d’acquisition de temperature a 8 canaux. Ce systeme communique avec lePC grace a la liaison serie RS232.

2.1 Etude du systeme d’acquisition SMTAS08

1. Ouvrir l’exemple Basic Serial Write and Read fourni par LabVIEW et sauvegardez ce VI,sous un autre nom, dans votre repertoire de travail. Etudiez le programme afin de reperer lesetapes traditionnelles (Initialisation, Acquisition, Fermeture).

2. Quelles sont les parametres de communication de ce systeme ?

3. Modifiez le VI afin de faire dans un premier temps l’acquisition du capteur n°1.

4. Modifiez le VI afin de permettre l’acquisition de n capteurs : n sera une commande modifiablepar l’utilisateur du programme.

5. A partir du VI realise, creez 3 sous-VI permettant de realiser les trois taches suivantes :

– Initialisation de la communication avec la liaison serie– Acquisition de la mesure des capteurs– Fermeture de la communication avec la liaison serie.

Le diagramme du programme principal devrait ressembler a celui presente sur la figure 2.1.

Figure 2.1 – Apercu du diagramme.

2.2 Acquisition des donnees

Dans cette partie, l’objectif est de realiser l’acquisition de l’ensemble des capteurs a chaque instantafin d’observer le regime transitoire et le regime stationnaire lors du chauffage de l’une des extremites

7

Page 8: Labview

8 CHAPITRE 2. CONDUCTION DE LA CHALEUR LE LONG D’UNE BARRE

de la barre. L’acquisition devra s’effectuer jusqu’a ce que l’utilisateur appuie sur un bouton STOP.En fin d’acquisition les valeurs seront stockees dans un fichier.

1. Modifiez le programme principal afin de repondre a ce cahier des charges : ne branchez pas lasource de chaleur et realisez dans un premier temps une acquisition toutes les secondes .

2. Completez le VI afin que celui-ci affiche dans un graphe deroulant les valeurs mesurees par tousles capteurs.

3. Lorsque tout est pret, branchez la source de chaleur et lancez l’acquisition pendant une vingtainede minutes (a raison de 1 mesure toutes les 20 secondes) afin d’observer le regime stationnaire.

2.3 Traitement des donnees

En effectuant le bilan des echanges thermiques le long de la barre (axe x), on obtient une equationaux derivees partielles faisant intervenir un premier terme caracteristique de la conduction et un secondlie aux phenomenes de convection naturelle (on negligera ici le rayonnement) :

m · c · ∂T∂t

= λ∂2T

∂x2− 2h

r(T − Ta) , (2.1)

avec :– m = 8920 kg.m−3 la masse volumique du cuivre– c = 385 J · kg−1 ·K−1 la chaleur massique a volume constant– λ est la conductivite thermique du cuivre a determiner (W ·m−1 ·K−1)– h est le coefficient global d’echange par convection a determiner– r est le rayon de la barre (m)– Ta est la temperature de l’air ambiant

1. Creez un VI permettant de lire les donnees enregistrees dans le fichier.

2. Tracez les courbes T1(t), T2(t) . . . sur un meme graphe XY.

3. Etude en regime transitoire.

(a) En notant τ l’intervalle de temps entre 2 acquisitions, nous pouvons etablir les correspon-dances numeriques approchees suivantes pour le capteur k :

∂T∂t 1

2τ (Tk[i− 1]− Tk[i+ 1])∂2T∂x2

1a2

(Tk+1[i] + Tk−1[i]− 2Tk[i])

Calculez les 2 tableaux correspondants a ces 2 quantites.

(b) Pour determiner h et λ nous allons utiliser une methode d’approximation au sens desmoindres carres afin de resoudre :

X = λ · Y − hZ.

Calculez Dans un premier temps les vecteurs X, Y et Z. L’egalite peut se ramener a unsysteme lineaire :

X = M · Uavec X = [x1, x2 · · ·xn]t, U = [λ, h] et :

M =

y1 −z1y2 −z2...

...yn −zn

.

Page 9: Labview

2.3. TRAITEMENT DES DONNEES 9

Sachant que la solution au sens des moindres carres est donnee par U = (M tM)−1M tX,calculez les parametres λ et h.

4. Etude en regime stationnaire.

Comme vous devez le constater, en regime stationnaire, la temperature en chacun des capteursne depend plus du temps mais uniquement de la position x du capteur. L’equation (2.1) peutdonc s’ecrire :

λ∂2T

∂x2=

2h

r(T − Ta) .

En posant α =√

2hλr , nous pouvons trouver une solution approchee de cette equation differentielle

(en faisant intervenir les conditions initiales aux bornes) :

T (x) = Te + (T0 − Te) exp(−αx).

A l’aide des fonctions d’approximation de LabVIEW ou en appliquant la methode vue precedemment,calculez le parametre h et comparez sa valeur avec celle trouvee dans le cas du regime transitoire.

Page 10: Labview

10 CHAPITRE 2. CONDUCTION DE LA CHALEUR LE LONG D’UNE BARRE

Page 11: Labview

Chapitre 3

Regulation de temperature

L’objectif du TP est d’utiliser les Entrees/Sorties numeriques d’une carte multifonctions afin decommander un kit de regulation de chauffage. Le kit est compose des elements suivants :

– une piece metallique a chauffer– une resistance chauffante accolee a la piece a chauffer– un capteur de temperature accole a la piece a chauffer– un ventilateur permettant le refroidissement de la piece metallique– une sortie analogique delivrant 20mV/°C– un convertisseur analogique-numerique associe au capteur de temperature afin de disposer d’une

information numerique sur 8 bits (image de la temperature). Le bit de poids faible corresponda une precision de 0.5°C

3.1 Commande manuelle

L’interfacage est realise grace aux E/S numeriques de la carte NI 6221. Cette carte possede 24Entrees/Sorties qui sont reparties sur 3 ports (8 lignes par port). Le cablage liant la carte a la maquetteest realise en utilisant les entrees et les sorties suivantes :

Port0 Port1 Port2

l0 Demande de conversion(DC)

l0-7 Temperature convertie l0 Retour de fin deconversion (EOC)

l1 Chauffage

l2 Ventilation

Table 3.1 – Liaisons maquette-carte multifonctions.

1. Sous LabVIEW, creez un programme permettant de piloter independamment le chauffage et leventilateur a l’aide de 2 boutons de commande sur la face avant. Pour que l’utilisateur puissepiloter ces deux sorties jusqu’a l’appui sur un bouton STOP, utilisez une structure WHILE afinque le programme s’arrete proprement.

2. Implementez maintenant la fonction de lecture de temperature sur la piece. Inserez dans votreprogramme un bouton de commande LECTURE. La lecture se deroule suivant 3 etapes (utilisezune structure sequence pour la programmer) :

Demande de conversion Le kit comprend un convertisseur analogique/numerique permettantd’ecrire la temperature sur le PORT 1 de la carte. Pour declencher le convertisseur, la ligneDC doit recevoir une impulsion positive qui peut etre generee par la sequence binaire 1 0 1(utilisez encore une structure sequence).

11

Page 12: Labview

12 CHAPITRE 3. REGULATION DE TEMPERATURE

Attente de la fin de conversions La fin de conversion est cablee sur la ligne EOC - ce bitvaut 0 pendant la conversion - (utilisez une boucle while pour attendre la fin de conversion).

Affichage de la temperature La valeur numerique correspondant a la temperature est dis-ponible sur 8 bits sur le PORT 1 (le bit d’entree de poids le plus faible a une valeur de0.5°C).

3. Afin de pouvoir reutiliser plus facilement cette fonctionnalite, creez un sous-VI permettant deretourner la temperature.

3.2 Cycle limite

Il s’agit ici de creer un nouveau programme sous LabVIEW permettant de faire varier la temperatureentre des limites qui seront definies par l’utilisateur du programme. On utilisera pour cela le rechauffeurpour elever la temperature et le ventilateur pour la baisser. Soit TM la temperature mesuree de lapiece et Tb, Th les temperatures seuils definies grace a des commandes places sur la face-avant duprogramme. L’execution pourra se derouler selon :

si Tm>Th

couper rechauffeur

alimenter ventilateur

sinon si Tm <Tb

alimenter rechauffeur

couper ventilateur

finsi

finsi

Affichez la temperature de la piece sur un graphe deroulant : l’execution du programme se deroulerajusqu’a l’appui sur un bouton STOP

3.3 Regulateur proportionnel

Pour obtenir une temperature stable nous allons realiser un regulateur proportionnel. Il s’agirade rechauffer la piece avec une puissance proportionnelle a l’ecart entre la temperature mesuree etla temperature de consigne T0. Comme le rechauffeur est soit coupe, soit alimente, pour moduler sapuissance nous sommes amenes a realiser une modulation par largeur d’impulsions. Le rapport cyclique

α est directement proportionnel a l’ecart ∆ de temperature entre la mesure et la consigne : α = ∆k ,

ou k est une constante qui sera a definir empiriquement. La figure 3.1 presente un chronogramme del’alimentation du rechauffeur.

α · t1

t1 t1 t1 t1 t1 t1

Figure 3.1 – Alimentation du rechauffeur.

La mesure de temperature se fera a intervalle de temps regulier (tous les t1) et pendant cet intervallede temps, le rechauffeur sera alimente pendant une duree de α · t1 puis coupe pendant (1−α)t1. Vous

Page 13: Labview

3.3. REGULATEUR PROPORTIONNEL 13

pouvez utiliser un registre a decalage pour stocker la valeur de α (qui ne sera calculee que tous les t1)et vous inspirez de ce pseudo-algorithme (i represente l’iteration de la boucle while) :

1. Creez un programme repondant au cahier des charges et determinez la valeur de k.

2. Ventilez de temps en temps la piece et etudiez la stabilite de votre regulateur.

Page 14: Labview

14 CHAPITRE 3. REGULATION DE TEMPERATURE

Page 15: Labview

Chapitre 4

Commande et asservissement d’unmoteur a courant continu

L’objectif est de piloter un moteur a courant continu et d’etudier les parametres du systeme (enboucle ouverte) afin de pouvoir l’asservir. La commande du moteur et la lecture de la vitesse serontrealisees a l’aide de la carte multifonction NI 6221. Le module d’etude possede les specificationssuivantes :

– Moteur a courant continu, pouvant tourner dans les deux sens jusqu’a des vitesses de 3000 tr/mn.– Signal analogique de commande, qui requiert une alimentation ±5V.– Signal de commande par modulation en largeur d’impulsion, compatible TTL, et qui est obtenu

directement par les ports Entree/Sortie analogiques de la carte d’acquisition.– Dynamo tachymetrique, entraınee par l’arbre moteur, qui peut etre utilisee soit :

1. pour delivrer un signal de retour proportionnel a la vitesse ±10V ;

2. pour appliquer une charge sur l’arbre moteur en intercalant une resistance variable auxbornes de sortie de la dynamo.

Nous donnons Figure 4.1 une vue de dessus du kit sur laquelle vous pouvez reperer tous leselements precedemment decrits. Le module sera pilote par un ordinateur de type PC dans lequel nousavons ajoute une carte possedant des entrees-sorties analogiques. Cet ensemble realisera la chaıned’asservissement (ordinateur, moteur, capteurs).

4.1 Communication

1. Realisez l’interfacage entre la maquette et le PC a l’aide de la carte multifonction NI 6221. Laborne d’alimentation du moteur (Vin) sera reliee a la sortie analogique AO0 en mode RSE (modesimple reference a la terre). La borne de la sortie de la generatrice tachymetrique (Vout), servanta mesurer la vitesse de rotation, sera reliee a l’entree analogique AI0.

2. Realisez un programme sous LabVIEW permettant a un utilisateur de piloter le moteur touten affichant la vitesse mesuree par le tachymetre. L’utilisateur pourra ainsi piloter le moteurjusqu’a l’appui sur un bouton STOP. En fin d’execution du programme, le moteur devra etrearrete.

4.2 Identification du systeme en boucle ouverte

1. Il s’agit ici d’identifier le systeme a asservir (frein en position 0) par l’etude de sa reponse a unechelon de tension. Le principe consiste a envoyer un signal e(t) = E ·U(t) a l’entree du systeme

15

Page 16: Labview

16CHAPITRE 4. COMMANDE ET ASSERVISSEMENT D’UN MOTEUR A COURANT CONTINU

Figure 4.1 – Vue de dessus du kit.

et a relever s(t). Le signal e(t) sera genere sur la sortie analogique AO0. L’enregistrement des(t) se fera a l’aide de l’entree analogique AI0. Creez un nouveau VI permettant de repondre ace cahier des charges, en vous inspirant de l’algorithme suivant :

tensionMoteur (0) #Mise a l’arret du moteur

Attendre 1 seconde #Stabilisation de l’arret

tensionMoteur(valeur) #Envoi de l’ echelon

Repeter toutes les 10ms

S[i]<-tensionTachy

i=i+1

Jusqu ’a appui sur STOP

tensionMoteur (0) #Arret du moteur

2. Ajoutez un graphe XY afin d’afficher le signal s(t).

3. Completez le programme afin que celui-ci sauvegarde dans un fichier tableur un tableau contenantdeux colonnes : temps et vitesse.

4. Creez un nouveau VI pour effectuer le traitement des donnees. Ce systeme est un systeme dupremier ordre et peut s’ecrire sous la forme :

s(t) = A(

1− e−t/τ)

A l’aide d’une fonction d’ajustement de courbe non lineaire (algorithme de Levenberg-Marquart),nous allons determiner les parametres A et τ du systeme. Pour cela, utilisez la fonction “Ajuste-ment de courbe non lineaire”, affichez les valeurs des parametres obtenus et tracez sur le memegraphe XY, la courbe d’approximation.

4.3 Asservissement en vitesse

1. Creez un programme d’asservissement en vitesse du moteur a courant continu.

2. Observez la robustesse de l’algorithme en changeant la position du frein.

Page 17: Labview

Chapitre 5

Initiation a la vision et au traitementd’images

L’objectif du TP est d’etudier quelques outils de traitement d’image fournis par la bibliothequeIMAQ. Ce sera egalement l’occasion de decouvrir les facilites fournies par la bibliotheque concernantl’acquisition d’images.

Les champs d’application du traitement d’image sont nombreux, et nous pouvons citer par exemple :

– le controle de procedes ou de produits par vision artificielle,– la compression d’images,– la restauration d’images (domaine medical),– la reconnaissance de formes,– la reconstruction 3D,– etc.

Toutes les fonctions (acquisition et traitement) se trouvent dans la palette ”Vision and Motion”(Figure 5.1) :

– NI-IMAQ : acquisition d’images– Vision Utilities : gestion des images– Image Processing : traitement d’images– Machine vision : applications dediees pour la vision industrielle

Figure 5.1 – Palette de fonctions “Vision and Motion”.

5.1 Ouverture d’un fichier image et manipulations geometriques

1. Une image numerique etant un tableau a 2 dimensions de numeriques, il devient indispensabled’allouer de la memoire. Cette etape est realisee a l’aide de la fonction ”IMAQ Create”. Pourouvrir et lire un fichier image il suffit ensuite d’utiliser la fonction IMAQ ReadFile . Creezun VI permettant de lire et d’afficher une image en niveaux de gris codee sur 8 bits. Utilisezl’indicateur Image display afin de visualiser cette image et testez les fonctionnalites des outils

17

Page 18: Labview

18 CHAPITRE 5. INITIATION A LA VISION ET AU TRAITEMENT D’IMAGES

associees a l’afficheur (Figure 5.2).

Figure 5.2 – Apercu du diagramme pour la lecture et l’affichage d’une image.

2. Il peut parfois etre necessaire de changer l’orientation d’une image du fait de contraintes materielleslors de l’acquisition. Creez une operation de miroir horizontal. Une deuxieme image sera alloueeen memoire afin d’afficher le resultat de l’operation sur un autre indicateur de type ”Imagedisplay”.

3. Ajoutez une commande de type enum, et implementez de la meme maniere une operation derotation a 90°. L’utilisateur pourra choisir soit entre le miroir, soit entre la rotation a l’aidedu controle jusqu’a ce qu’il appuie sur un bouton STOP. A l’interieur de la boucle while, unestructure ”evenement” devra etre introduite afin de mettre a jour le traitement applique surl’image uniquement lorsque la valeur de la commande sera changee.

5.2 Acquisition d’images

1. Branchez la camera sur le port ieee 1394 du PC. Ouvrez l’exemple Grab et etudiez leprogramme afin de reperer les etapes traditionnelles (Initialisation, Acquisition, Fermeture).

2. Sauvegardez cet exemple sous un autre nom et modifiez le afin de pouvoir appliquer les traite-ments vus plus haut en temps reel.

3. Completez le VI afin de sauvegarder la derniere image obtenue dans un fichier.

5.3 Contraste, expansion dynamique et codage

Pour les traitements suivants, nous allons travailler sur l’image enregistree precedemment en neconsiderant que la luminance (ou l’intensite lumineuse moyenne des trois canaux RGB).

1. Creez un nouveau VI permettant de lire l’image enregistree et de l’afficher.

2. Le contraste correspond a la perception par l’œil de zones de luminances differentes. Plus ladifference est elevee meilleur est le contraste. Des experiences ont montre que la sensibilite del’œil au contraste diminue a mesure que la luminance moyenne absolue augmente. Il n’est pas aisede verifier cette loi avec les images numeriques vu que les ecrans integrent eux-memes une cor-rection ! Qu’importe puisqu’il est aise de se jouer des limitations de l’œil avec l’image numerique(les limitations de tous nos capteurs font d’ailleurs le bonheur de l’information numerique). Nousallons ici simplement inverser les niveaux de gris (creer un negatif) afin de mieux apprecier cer-taines nuances de gris situees dans les faibles luminances : A l’aide de la fonction fournie parIMAQ, ajoutez au controle “enum” la possibilite d’inverser une image.

3. Les images s’observent en general sur un ecran. Le reglage de la luminosite et du contrastepeut s’averer utile pour l’observation de certaines informations. L’image elle-meme n’occupepas forcement toute la plage de niveaux de gris. Un remede simple consiste alors a procedera son expansion dynamique. Supposons que la luminance au depart de chacun des pixels est

Page 19: Labview

5.4. FILTRAGE - DETECTION DE CONTOURS 19

compris dans l’intervalle [Imin, Imax], apres expansion dynamique, la luminance en tout pointsera comprise entre [0, 255] (pour une image codee sur 8 bits). Creez un sous-VI realisant cettetransformation de maniere lineaire.

4. La profondeur de codage d’une image correspond au nombre de niveaux de gris disponibles pourcaracteriser la luminance d’un pixel. Creez une fonction permettant de simuler la profondeur decodage d’une image. On pourra choisir par exemple, de coder l’image sur n bits avec 1 ≤ n ≤ 8.

5.4 Filtrage - detection de contours

Le filtrage classique consiste a augmenter le rapport signal a bruit des images. La methode la plussimple consiste a appliquer un filtre sur l’image qui aura pour effet de lisser cette derniere.

1. Ajoutez a votre programme une fonction de filtrage. On pourra par exemple etudier le filtresuivant sur les images bruitees avec un bruit gaussien :

F =1

0 1 01 2 10 1 0

.2. Appliquez les filtres suivants et expliquez leur comportement par analogie avec le traitement du

signal mono dimensionnel :

1

8

1 0 −12 0 −21 0 −1

1

8

1 2 10 0 0−1 −2 −1

.3. Pour les images “contaminees” par du bruit impulsionnel, le filtrage lineaire n’est pas le plus

approprie. Creez une fonction permettant de filtrer l’image avec un filtre median. Il s’agit deremplacer la valeur d’un pixel par la mediane de l’ensemble des valeurs situees autour de cepoint.

Page 20: Labview

20 CHAPITRE 5. INITIATION A LA VISION ET AU TRAITEMENT D’IMAGES

Page 21: Labview

Chapitre 6

Acquisition de signaux sonores

L’objectif du TP est d’effectuer l’acquisition de signaux sonores a l’aide de LabVIEW et de la carteson du PC. Quelques fonctions classiques de signaux seront egalement mis en place. La bibliothequede fonctions permettant d’utiliser la carte son et de gerer les fichiers son est situee dans le menu“Graphisme et son”. Toutes les fonctions sont classees selon trois categories :

– Sortie– Entree– Fichiers

6.1 Acquisition d’un son en continu

1. Branchez le micro et l’enceinte amplifiee dans les bonnes prises du PC !

2. Ouvrez l’exemple Continuous Sound Input et sauvegardez-en une copie, en la renommant,dans votre repertoire de travail. Lancez l’acquisition et analysez la structure du VI afin de repererles etapes traditionnelles (Initialisation, Acquisition, Fermeture). Quel est le type des donneesacquises a chaque iteration ?

3. Creez un indicateur permettant d’afficher la duree de chacune des sequences.

4. Modifiez le VI afin de pouvoir mesurer le temps entre chaque iteration de la boucle WHILE.

5. Completez le programme afin de sauvegarder les donnees dans un fichier de type son *.wav parexemple. Comme il s’agit de l’acquisition d’un son en continu, il faudra veiller a enregistrer lesdonnees au fur-et-a-mesure dans le fichier.

6.2 Acquisition d’un nombre fini d’echantillons

1. Ouvrez l’exemple Finite Sound Input et sauvegardez-en une copie, en la renommant, dansvotre repertoire de travail. Lancez l’acquisition et analysez la structure du VI.

2. Modifiez le programme afin que celui-ci reponde au cahier des charges suivant :

– Lorsque le programme se lance, rien ne se passe.– Des que l’utilisateur appuie sur un bouton OK, l’enregistrement du son doit demarrer. L’en-

registrement doit avoir une duree fixee a 1 seconde.– Une fois termine, l’enregistrement doit etre sauvegarde dans un fichier de type son specifie par

une commande.

3. Enregistrez le son produit par le diapason dans un fichier avec l’extension .wav .

21

Page 22: Labview

22 CHAPITRE 6. ACQUISITION DE SIGNAUX SONORES

6.3 Analyse spectrale

1. Creez un nouveau VI permettant de lire les fichiers sons, et d’afficher les donnees sous forme degraphique.

2. Modifiez le VI afin que celui-ci puisse emettre le son sur l’enceinte de l’ordinateur (utilisez lafonction Ecrire une sortie de son ).

3. Dans le menu Mesures sur Waveform , choisissez les fonctions permettant d’effectuer uneanalyse spectrale du son : affichez le module et la phase du spectre.

4. Utilisez une fonction permettant de retrouver le pic correspondant a la frequence du diapason.

5. Extrayez une seule voie des donnees et calculez la FFT sur les donnees. A partir du tableauobtenu, remplacez la premiere valeur par 0 , calculez la FFT inverse et reconstituez une waveformafin de l’afficher dans un graphique. Interpretez les resultats obtenus.

6.4 Effet sonore

1. Creez un nouveau VI, permettant d’ajouter un effet d’echo a l’enregistrement.

Page 23: Labview

Annexe A

Table des caracteres en ASCII etendu

23

Page 24: Labview

24 ANNEXE A. TABLE DES CARACTERES EN ASCII ETENDU

Page 25: Labview

Annexe B

Specifications de la carte NI 6221

25

Page 26: Labview

26 ANNEXE B. SPECIFICATIONS DE LA CARTE NI 6221

NI 622x SpecificationsSpecifications listed below are typical at 25 °C unless otherwise noted.

Analog InputNumber of channels

NI 6220/NI 6221 ........................ 8 differential or 16 single ended

NI 6224/NI 6229 ........................ 16 differential or 32 single ended

NI 6225....................................... 40 differential or 80 single ended

ADC resolution ............................... 16 bits

DNL ................................................ No missing codes guaranteed

INL.................................................. Refer to the AI Absolute Accuracy Table

Sampling rate

Maximum ................................... 250 KS/s

Minimum.................................... 0 S/s

Timing accuracy ......................... 50 ppm of sample rate

Timing resolution ....................... 50 ns

Input coupling ................................. DC

Input range ...................................... ±10 V, ±5 V, ±1 V, ±0.2 V

Maximum working voltage for analog inputs(signal + common mode) ................ ±11 V of AI GND

CMRR (DC to 60 Hz) ..................... 95 dB

Input impedance

Device on

AI+ to AI GND ...................... >10 GΩ in parallel with 100 pF

AI– to AI GND ...................... >10 GΩ in parallel with 100 pF

Device off

AI+ to AI GND ...................... 820 ΩAI– to AI GND ...................... 820 Ω

Input bias current.............................±100 pA

Crosstalk (at 100 kHz)

Adjacent channels .......................–75 dB

Non-adjacent channels ................–90 dB

Small signal bandwidth (–3 dB)......700 kHz

Input FIFO size................................4,095 samples

Scan list memory .............................4,095 entries

Data transfers...................................DMA (scatter-gather), interrupts, programmed I/O

Overvoltage protection (AI <0..79>, AI SENSE, AI SENSE 2)

Device on ....................................±25 V for up to two AI pins

Device off ...................................±15 V for up to two AI pins

Input current during overvoltage condition ......................±20 mA max/AI pin

Settling Time for Multichannel MeasurementsAccuracy, full scale step, all ranges

±90 ppm of step (±6 LSB) ..........4 µs convert interval

±30 ppm of step (±2 LSB) ..........5 µs convert interval

±15 ppm of step (±1 LSB) ..........7 µs convert interval

Page 27: Labview

27

NI 622x Specifications 6 ni.com

Digital I/O/PFIStatic CharacteristicsNumber of channels

NI 6220/NI 6221 (68-pin)/NI 6225 .......................................24 total

8 (P0.<0..7>) 16 (PFI <0..7>/P1, PFI <8..15>/P2)

NI 6224/NI 6229.........................48 total32 (P0.<0..31>) 16 (PFI <0..7>/P1, PFI <8..15>/P2)

NI 6221 (37-pin) .........................10 total2 (P0.<0, 1>) 8 (PFI <0..7>/P1)

Ground reference.............................D GND

Direction control..............................Each terminal individually programmable as input or output

Pull-down resistor............................50 kΩ to 75 kΩ

Input voltage protection1 .................±20 V on up to two pins

Waveform Characteristics (Port 0 Only)Terminals used

NI 6220/NI 6221 (68-pin)/NI 6225 .......................................Port 0 (P0.<0..7>)

NI 6224/NI 6229.........................Port 0 (P0.<0..31>)

NI 6221 (37-pin) .........................Port 0 (P0.<0, 1>)

Port/sample size

NI 6220/NI 6221 (68-pin)/NI 6225 .......................................Up to 8 bits

NI 6224/NI 6229.........................Up to 32 bits

NI 6221 (37-pin) .........................Up to 2 bits

Waveform generation (DO) FIFO...2,047 samples

Waveform acquisition (DI) FIFO....2,047 samples

DO or DI Sample Clock frequency .........................................0 to 1 MHz

DO or DI Sample Clock source2 .....Any PFI, RTSI, AI Sample or Convert Clock,

AO Sample Clock, Ctr n Internal Output, and many other signals

PFI/Port 1/Port 2 Functionality3

Functionality ................................... Static digital input, static digital output, timing input, timing output

Timing output sources .................... Many AI, AO, counter, DI, DO timing signals

Debounce filter settings .................. 125 ns, 6.425 µs, 2.54 ms, disable; high and low transitions; selectable per input

Recommended Operation Conditions

Electrical Characteristics

1 Stresses beyond those listed under Input voltage protection may cause permanent damage to the device.2 The digital subsystem does not have its own dedicated internal timing engine. Therefore, a sample clock must be provided

from another subsystem on the device or an external source.3 Port 2 is not available on the NI 6221 (37-pin) device.

Level Min Max

Input high voltage (VIH) 2.2 V 5.25 V

Input low voltage (VIL) 0 V 0.8 V

Output high current (IOH)

P0.<0..31>

PFI <0..15>/P1/P2

–24 mA

–16 mA

Output low current (IOL)

P0.<0..31>

PFI <0..15>/P1/P2

24 mA

16 mA

Level Min Max

Positive-going threshold (VT+) — 2.2 V

Negative-going threshold (VT–) 0.8 V —

Delta VT hysteresis (VT+ – VT–)

0.2 V —

IIL input low current (Vin = 0 V)

IIH input high current (Vin = 5 V)

–10 µA

250 µA

Page 28: Labview

28 ANNEXE B. SPECIFICATIONS DE LA CARTE NI 6221

NI 622x Specifications 12 ni.com

Figure 2. NI 6221 (68-Pin) Pinout

CO

NN

EC

TOR

0(A

I 0-1

5)

D GND

D GND

PFI 8/P2.0

PFI 7/P1.7

PFI 15/P2.7

PFI 13/P2.5

PFI 4/P1.4

PFI 3/P1.3

PFI 2/P1.2

D GND

PFI 10/P2.2

PFI 11/P2.3

P0.3

P0.7

P0.2

D GND

P0.5

P0.0

D GND

AO GND

AO GND

AI GND

AI 7

AI 14

AI GND

AI 5

AI 12

AI SENSE

AI 11

AI GND

AI 2

AI 9

AI GND

AI 0

PFI 14/P2.6

PFI 9/P2.1

D GND

PFI 5/P1.5

D GND

+5 V

D GND

PFI 12/P2.4

PFI 6/P1.6

PFI 1/P1.1

PFI 0/P1.0

D GND

D GND

+5 V

D GND

P0.6

P0.1

D GND

P0.4

NC

AO 1

AO 0

AI 15

AI GND

AI 6

AI 13

AI GND

AI 4

AI GND

AI 3

AI 10

AI GND

AI 1

AI 868 34

67 33

66 32

65 31

64 30

63 29

62 28

61 27

60 26

59 25

58 24

57 23

56 22

55 21

54 20

53 19

52 18

51 17

50 16

49 15

48 14

47 13

46 12

45 11

44 10

43 9

42 8

41 7

40 6

39 5

38 4

37 3

36 2

35 1

TERMINAL 34TERMINAL 68

TERMINAL 1TERMINAL 35

NC = No Connect

Page 29: Labview

Annexe C

Acquisition d’un echantillon analogiquesur une voie

29

Page 30: Labview

30 ANNEXE C. ACQUISITION D’UN ECHANTILLON ANALOGIQUE SUR UNE VOIE

AI Tension

Dev1/ai0

1. Création d'une tâche

nom de la voie physique

Analogique DBL 1Voie 1Échant

data

2. Lecture de la voie analogique

Exemple : Acquisition d'un échantillon analogique sur une voie Les fonctions sont dans la palette E/S de mesures -> DAQmx

nb : les fonctions sont dites "polymorphiques" : les entrées et les sorties s'adaptent en fonction du type des données