• Aucun résultat trouvé

[PDF] Support de cours PDF pour apprendre l’acquisition de données sous LabVIEW - Cours informatique

N/A
N/A
Protected

Academic year: 2021

Partager "[PDF] Support de cours PDF pour apprendre l’acquisition de données sous LabVIEW - Cours informatique"

Copied!
30
0
0

Texte intégral

(1)

IUT Le Creusot D´epartement Mesures Physiques

Informatique d’Instrumentation III

(2)
(3)

Table des mati`

eres

1 Acquisition de mesures m´et´eorologiques 5

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

3 R´egulation de temp´erature 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 caract`eres en ASCII ´etendu 23

B Sp´ecifications de la carte NI 6221 25

C Acquisition d’un ´echantillon analogique sur une voie 29

(4)
(5)

Chapitre 1

Acquisition de mesures

et´

eorologiques

L’objectif du TP est d’effectuer la mesure de temp´erature et d’humidit´e relative `a l’aide de deux capteurs. Ces deux capteurs disposent d’une sortie 4-20 mA. Dans un premier temps, un convertisseur RCV420 permet de convertir les signaux en 0-5V. Puis un CAN s´erialisateur MIC 640 assure la conversion analogique-num´erique. A l’aide de la lia son s´erie du PC (RS232), il s’agira d’effectuer l’acquisition `a intervalle de temps r´egulier de la temp´erature et de l’humidit´e relative. Les donn´ees seront affich´ees sous forme de graphique et sauvegard´ees dans un fichier afin de pouvoir ˆetre exploit´ees par d’autres programmes.

1.1

Etude de l’interface MIC 640

´

1. A l’aide d’un voltm`etre, mesurez la tension tension d’entr´ee sur la borne VCC du circuit. Sachant que ce circuit est un CAN 8 bits, quelle est sa v´eritable r´esolution (20mV annonc´e dans la documentation).

2. De mˆeme, mesurez le potentiel sur la borne CTRL et d´eduisez-en le mode de fonctionnement du convertisseur.

3. Sur la maquette, les potentielsU1etU2correspondent respectivement aux mesures de temp´erature

et de pression et sont reli´es aux bornesAN 0 et AN 1 du CAN. Mesurez `a l’aide de l’oscilloscope ces deux valeurs et d´eterminez la valeur attendue en sortie de conversion. Exprimez ´egalement cette valeur sous forme hexad´ecimale et donnez le caract`ere ASCII correspondant (cf Table en annexe).

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 VI

sous un autre nom dans votre r´epertoire de travail. Etudiez le programme afin de rep´erer les ´etapes traditionnelles (Initialisation, Acquisition, Fermeture).

2. Afin de lancer la conversion analogique-num´erique, le niveau de potentiel en entr´ee doit-il ˆetre haut ou bas ?

3. Sachant que la liaison s´erie RS-232 r´epond `a la norme V28 : – [−25V, −3V ] : 1 logique

– [3V, 25V ] : 0 logique

Quel doit ˆetre le niveau logique `a commander sur la liaison s´erie ?

(6)

6 CHAPITRE 1. ACQUISITION DE MESURES M ´ET ´EOROLOGIQUES

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

5. Sachant que les mesures de temp´erature t et de degr´e d’humidit´e h sont li´ees lin´eairement aux valeurs de tension selon :

(

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

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

affichez sur la face avant les valeurs de temp´erature et de degr´e d’humidit´e.

1.3

Am´

elioration de l’IHM

1. A partir du VI r´ealis´e, cr´eez 3 sous-VI permettant de r´ealiser les trois tˆaches suivantes : – Initialisation de la communication avec la liaison s´erie

– Acquisition des deux mesures

– Fermeture de la communication avec la liaison s´erie.

Le diagramme du programme principal devrait ressembler `a celui pr´esent´e sur la figure 2.1.

Figure 1.1 – Aper¸cu du diagramme.

2. Modifiez le programme principal afin d’afficher dans un graphique d´eroulant les valeurs mesur´ees jusqu’`a ce que l’utilisateur appuie sur un bouton STOP.

3. Compl´etez le VI afin qu’`a la fin de l’acquisition le programme enregistre les donn´ees [temps, t, h] dans un fichier de type tableur.

(7)

Chapitre 2

Conduction de la chaleur le long d’une

barre

L’objectif du TP est d’effectuer la mesure de temp´eratures sur une barre cylindrique de cuivre afin d’´etudier les ph´enom`enes de diffusion et de convection de la chaleur. L’interfa¸cage des capteurs est r´ealis´ee grˆace `a un syst`eme d’acquisition de temp´erature `a 8 canaux. Ce syst`eme communique avec le PC grˆace `a la liaison s´erie RS232.

2.1

Etude du syst`

´

eme 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 r´epertoire de travail. Etudiez le programme afin de rep´erer les ´etapes traditionnelles (Initialisation, Acquisition, Fermeture).

2. Quelles sont les param`etres de communication de ce syst`eme ?

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 modifiable par l’utilisateur du programme.

5. A partir du VI r´ealis´e, cr´eez 3 sous-VI permettant de r´ealiser les trois tˆaches suivantes : – Initialisation de la communication avec la liaison s´erie

– Acquisition de la mesure des capteurs

– Fermeture de la communication avec la liaison s´erie.

Le diagramme du programme principal devrait ressembler `a celui pr´esent´e sur la figure 2.1.

Figure 2.1 – Aper¸cu du diagramme.

2.2

Acquisition des donn´

ees

Dans cette partie, l’objectif est de r´ealiser l’acquisition de l’ensemble des capteurs `a chaque instant afin d’observer le r´egime transitoire et le r´egime stationnaire lors du chauffage de l’une des extr´emit´es

(8)

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 stock´ees dans un fichier.

1. Modifiez le programme principal afin de r´epondre `a ce cahier des charges :ne branchez pas la

source de chaleur et r´ealisez dans un premier temps une acquisition toutes les secondes.

2. Compl´etez le VI afin que celui-ci affiche dans un graphe d´eroulant les valeurs mesur´ees par tous les capteurs.

3. Lorsque tout est prˆet, branchez la source de chaleur et lancez l’acquisition pendant une vingtaine de minutes (`a raison de 1 mesure toutes les 20 secondes) afin d’observer le r´egime stationnaire.

2.3

Traitement des donn´

ees

En effectuant le bilan des ´echanges thermiques le long de la barre (axex), on obtient une ´equation aux d´eriv´ees partielles faisant intervenir un premier terme caract´eristique de la conduction et un second li´e aux ph´enom`enes de convection naturelle (on n´egligera 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 conductivit´e thermique du cuivre `a d´eterminer (W· m−1· K−1) – h est le coefficient global d’´echange par convection `a d´eterminer

– r est le rayon de la barre (m)

– Ta est la temp´erature de l’air ambiant

1. Cr´eez un VI permettant de lire les donn´ees enregistr´ees dans le fichier. 2. Tracez les courbes T1(t), T2(t) . . . sur un mˆeme graphe XY.

3. ´Etude en r´egime transitoire.

(a) En notantτ l’intervalle de temps entre 2 acquisitions, nous pouvons ´etablir les correspon-dances num´eriques approch´ees suivantes pour le capteurk :

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

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

Calculez les 2 tableaux correspondants `a ces 2 quantit´es.

(b) Pour d´eterminer h et λ nous allons utiliser une m´ethode d’approximation au sens des moindres carr´es afin de r´esoudre :

X = λ· Y − hZ.

Calculez Dans un premier temps les vecteurs X, Y et Z. L’´egalit´e peut se ramener `a un syst`eme lin´eaire :

X = M· U avec X = [x1, x2· · · xn]t,U = [λ, h] et : M =      y1 −z1 y2 −z2 .. . ... yn −zn      .

(9)

2.3. TRAITEMENT DES DONN ´EES 9

Sachant que la solution au sens des moindres carr´es est donn´ee par U = (MtM )−1MtX,

calculez les param`etresλ et h. 4. ´Etude en r´egime stationnaire.

Comme vous devez le constater, en r´egime stationnaire, la temp´erature en chacun des capteurs ne d´epend plus du temps mais uniquement de la position x du capteur. L’´equation (2.1) peut donc s’´ecrire : λ∂ 2T ∂x2 = 2h r (T− Ta). En posantα = q 2h

λr, nous pouvons trouver une solution approch´ee de cette ´equation diff´erentielle

(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 m´ethode vue pr´ec´edemment, calculez le param`etreh et comparez sa valeur avec celle trouv´ee dans le cas du r´egime transitoire.

(10)
(11)

Chapitre 3

egulation de temp´

erature

L’objectif du TP est d’utiliser les Entr´ees/Sorties num´eriques d’une carte multifonctions afin de commander un kit de r´egulation de chauffage. Le kit est compos´e des ´el´ements suivants :

– une pi`ece m´etallique `a chauffer

– une r´esistance chauffante accol´ee `a la pi`ece `a chauffer – un capteur de temp´erature accol´e `a la pi`ece `a chauffer

– un ventilateur permettant le refroidissement de la pi`ece m´etallique – une sortie analogique d´elivrant 20mV/°C

– un convertisseur analogique-num´erique associ´e au capteur de temp´erature afin de disposer d’une information num´erique sur 8 bits (image de la temp´erature). Le bit de poids faible correspond `

a une pr´ecision de 0.5°C

3.1

Commande manuelle

L’interfa¸cage est r´ealis´e grˆace aux E/S num´eriques de la carte NI 6221. Cette carte poss`ede 24 Entr´ees/Sorties qui sont r´eparties sur 3 ports (8 lignes par port). Le cˆablage liant la carte `a la maquette est r´ealis´e en utilisant les entr´ees et les sorties suivantes :

Port0 Port1 Port2

l0 Demande de conversion (DC)

l0-7 Temp´erature convertie l0 Retour de fin de conversion (EOC)

l1 Chauffage

l2 Ventilation

Table 3.1 – Liaisons maquette-carte multifonctions.

1. Sous LabVIEW, cr´eez un programme permettant de piloter ind´ependamment le chauffage et le ventilateur `a l’aide de 2 boutons de commande sur la face avant. Pour que l’utilisateur puisse piloter ces deux sorties jusqu’`a l’appui sur un bouton STOP, utilisez une structure WHILE afin que le programme s’arrˆete proprement.

2. Impl´ementez maintenant la fonction de lecture de temp´erature sur la pi`ece. Ins´erez dans votre programme un bouton de commande LECTURE. La lecture se d´eroule suivant 3 ´etapes (utilisez une structure s´equence pour la programmer) :

Demande de conversion Le kit comprend un convertisseur analogique/num´erique permettant d’´ecrire la temp´erature sur le PORT 1 de la carte. Pour d´eclencher le convertisseur, la ligne DC doit recevoir une impulsion positive qui peut ˆetre g´en´er´ee par la s´equence binaire 1 0 1 (utilisez encore une structure s´equence).

(12)

12 CHAPITRE 3. R ´EGULATION DE TEMP ´ERATURE

Attente de la fin de conversions La fin de conversion est cˆabl´ee sur la ligne EOC - ce bit vaut 0 pendant la conversion - (utilisez une boucle while pour attendre la fin de conversion). Affichage de la temp´erature La valeur num´erique correspondant `a la temp´erature est dis-ponible sur 8 bits sur le PORT 1 (le bit d’entr´ee de poids le plus faible a une valeur de 0.5°C).

3. Afin de pouvoir r´eutiliser plus facilement cette fonctionnalit´e, cr´eez un sous-VI permettant de retourner la temp´erature.

3.2

Cycle limite

Il s’agit ici de cr´eer un nouveau programme sous LabVIEW permettant de faire varier la temp´erature entre des limites qui seront d´efinies par l’utilisateur du programme. On utilisera pour cela le r´echauffeur pour ´elever la temp´erature et le ventilateur pour la baisser. Soit TM la temp´erature mesur´ee de la

pi`ece et Tb, Th les temp´eratures seuils d´efinies grˆace `a des commandes plac´es sur la face-avant du

programme. L’ex´ecution pourra se d´erouler selon : si Tm > Th c o u p e r r ´e c h a u f f e u r a l i m e n t e r v e n t i l a t e u r s i n o n si Tm < Tb a l i m e n t e r r ´e c h a u f f e u r c o u p e r v e n t i l a t e u r f i n s i f i n s i

Affichez la temp´erature de la pi`ece sur un graphe d´eroulant : l’ex´ecution du programme se d´eroulera jusqu’`a l’appui sur un bouton STOP

3.3

egulateur proportionnel

Pour obtenir une temp´erature stable nous allons r´ealiser un r´egulateur proportionnel. Il s’agira de r´echauffer la pi`ece avec une puissance proportionnelle `a l’´ecart entre la temp´erature mesur´ee et la temp´erature de consigne T0. Comme le r´echauffeur est soit coup´e, soit aliment´e, pour moduler sa

puissance nous sommes amen´es `a r´ealiser une modulation par largeur d’impulsions. Le rapport cyclique α est directement proportionnel `a l’´ecart ∆ de temp´erature entre la mesure et la consigne :α = ∆k, o`u k est une constante qui sera `a d´efinir empiriquement. La figure 3.1 pr´esente un chronogramme de l’alimentation du r´echauffeur.

α· t1

t1 t1 t1 t1 t1 t1

Figure 3.1 – Alimentation du r´echauffeur.

La mesure de temp´erature se fera `a intervalle de temps r´egulier (tous lest1) et pendant cet intervalle

(13)

3.3. R ´EGULATEUR PROPORTIONNEL 13

pouvez utiliser un registre `a d´ecalage pour stocker la valeur deα (qui ne sera calcul´ee que tous les t1) et vous inspirez de ce pseudo-algorithme (i repr´esente l’it´eration de la boucle while) :

1. Cr´eez un programme r´epondant au cahier des charges et d´eterminez la valeur dek. 2. Ventilez de temps en temps la pi`ece et ´etudiez la stabilit´e de votre r´egulateur.

(14)
(15)

Chapitre 4

Commande et asservissement d’un

moteur `

a courant continu

L’objectif est de piloter un moteur `a courant continu et d’´etudier les param`etres du syst`eme (en boucle ouverte) afin de pouvoir l’asservir. La commande du moteur et la lecture de la vitesse seront r´ealis´ees `a l’aide de la carte multifonction NI 6221. Le module d’´etude poss`ede les sp´ecifications suivantes :

– 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 Entr´ee/Sortie analogiques de la carte d’acquisition.

– Dynamo tachym´etrique, entraˆın´ee par l’arbre moteur, qui peut ˆetre utilis´ee soit : 1. pour d´elivrer un signal de retour proportionnel `a la vitesse±10V ;

2. pour appliquer une charge sur l’arbre moteur en intercalant une r´esistance variable aux bornes de sortie de la dynamo.

Nous donnons Figure 4.1 une vue de dessus du kit sur laquelle vous pouvez rep´erer tous les ´

el´ements pr´ec´edemment d´ecrits. Le module sera pilot´e par un ordinateur de type PC dans lequel nous avons ajout´e une carte poss´edant des entr´ees-sorties analogiques. Cet ensemble r´ealisera la chaˆıne d’asservissement (ordinateur, moteur, capteurs).

4.1

Communication

1. R´ealisez l’interfa¸cage entre la maquette et le PC `a l’aide de la carte multifonction NI 6221. La borne d’alimentation du moteur (Vin) sera reli´ee `a la sortie analogique AO0 en mode RSE (mode

simple r´ef´erenc´e `a la terre). La borne de la sortie de la g´en´eratrice tachym´etrique (Vout), servant

`

a mesurer la vitesse de rotation, sera reli´ee `a l’entr´ee analogique AI0.

2. R´ealisez un programme sous LabVIEW permettant `a un utilisateur de piloter le moteur tout en affichant la vitesse mesur´ee par le tachym`etre. L’utilisateur pourra ainsi piloter le moteur jusqu’`a l’appui sur un bouton STOP. En fin d’ex´ecution du programme, le moteur devra ˆetre arrˆet´e.

4.2

Identification du syst`

eme en boucle ouverte

1. Il s’agit ici d’identifier le syst`eme `a asservir (frein en position 0) par l’´etude de sa r´eponse `a un ´echelon de tension. Le principe consiste `a envoyer un signale(t) = E· U(t) `a l’entr´ee du syst`eme

(16)

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 g´en´er´e sur la sortie analogique AO0. L’enregistrement de s(t) se fera `a l’aide de l’entr´ee analogique AI0. Cr´eez un nouveau VI permettant de r´epondre `a ce cahier des charges, en vous inspirant de l’algorithme suivant :

t e n s i o n M o t e u r (0) # M i s e `a l ’ a r r ^e t du m o t e u r A t t e n d r e 1 s e c o n d e # S t a b i l i s a t i o n de l ’ a r r ^e t t e n s i o n M o t e u r ( v a l e u r ) # E n v o i de l ’ ´e c h e l o n R ´e p e t e r t o u t e s les 10 ms S [ i ] < - t e n s i o n T a c h y i = i +1 Jusqu ’ `a a p p u i sur S T O P t e n s i o n M o t e u r (0) # A r r ^e t du m o t e u r 2. Ajoutez un graphe XY afin d’afficher le signals(t).

3. Compl´etez le programme afin que celui-ci sauvegarde dans un fichier tableur un tableau contenant deux colonnes : temps et vitesse.

4. Cr´eez un nouveau VI pour effectuer le traitement des donn´ees. Ce syst`eme est un syst`eme du premier ordre et peut s’´ecrire sous la forme :

s(t) = A1− e−t/τ

A l’aide d’une fonction d’ajustement de courbe non lin´eaire (algorithme de Levenberg-Marquart), nous allons d´eterminer les param`etresA et τ du syst`eme. Pour cela, utilisez la fonction “Ajuste-ment de courbe non lin´eaire”, affichez les valeurs des param`etres obtenus et tracez sur le mˆeme graphe XY, la courbe d’approximation.

4.3

Asservissement en vitesse

1. Cr´eez un programme d’asservissement en vitesse du moteur `a courant continu. 2. Observez la robustesse de l’algorithme en changeant la position du frein.

(17)

Chapitre 5

Initiation `

a la vision et au traitement

d’images

L’objectif du TP est d’´etudier quelques outils de traitement d’image fournis par la biblioth`eque IMAQ. Ce sera ´egalement l’occasion de d´ecouvrir les facilit´es fournies par la biblioth`eque concernant l’acquisition d’images.

Les champs d’application du traitement d’image sont nombreux, et nous pouvons citer par exemple : – le contrˆole de proc´ed´es ou de produits par vision artificielle,

– la compression d’images,

– la restauration d’images (domaine m´edical), – 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 d´edi´ees pour la vision industrielle

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

5.1

Ouverture d’un fichier image et manipulations g´

eom´

etriques

1. Une image num´erique ´etant un tableau `a 2 dimensions de num´eriques, il devient indispensable d’allouer de la m´emoire. Cette ´etape est r´ealis´ee `a l’aide de la fonction ”IMAQ Create”. Pour ouvrir et lire un fichier image il suffit ensuite d’utiliser la fonction IMAQ ReadFile. Cr´eez

un VI permettant de lire et d’afficher une image en niveaux de gris cod´ee sur 8 bits. Utilisez l’indicateurImage displayafin de visualiser cette image et testez les fonctionnalit´es des outils

(18)

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

associ´ees `a l’afficheur (Figure 5.2).

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

2. Il peut parfois ˆetre n´ecessaire de changer l’orientation d’une image du fait de contraintes mat´erielles lors de l’acquisition. Cr´eez une op´eration de miroir horizontal. Une deuxi`eme image sera allou´ee en m´emoire afin d’afficher le r´esultat de l’op´eration sur un autre indicateur de type ”Image display”.

3. Ajoutez une commande de type enum, et impl´ementez de la mˆeme mani`ere une op´eration de rotation `a 90°. L’utilisateur pourra choisir soit entre le miroir, soit entre la rotation `a l’aide du contrˆole jusqu’`a ce qu’il appuie sur un bouton STOP. A l’int´erieur de la boucle while, une structure ”´evenement” devra ˆetre introduite afin de mettre `a jour le traitement appliqu´e sur l’image uniquement lorsque la valeur de la commande sera chang´ee.

5.2

Acquisition d’images

1. Branchez la cam´era sur le port ieee 1394 du PC. Ouvrez l’exemple Grab et ´etudiez le

programme afin de rep´erer 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 r´eel.

3. Compl´etez le VI afin de sauvegarder la derni`ere image obtenue dans un fichier.

5.3

Contraste, expansion dynamique et codage

Pour les traitements suivants, nous allons travailler sur l’image enregistr´ee pr´ec´edemment en ne consid´erant que la luminance (ou l’intensit´e lumineuse moyenne des trois canaux RGB).

1. Cr´eez un nouveau VI permettant de lire l’image enregistr´ee et de l’afficher.

2. Le contraste correspond `a la perception par l’œil de zones de luminances diff´erentes. Plus la diff´erence est ´elev´ee meilleur est le contraste. Des exp´eriences ont montr´e que la sensibilit´e de l’œil au contraste diminue `a mesure que la luminance moyenne absolue augmente. Il n’est pas ais´e de v´erifier cette loi avec les images num´eriques vu que les ´ecrans int`egrent eux-mˆemes une cor-rection ! Qu’importe puisqu’il est ais´e de se jouer des limitations de l’œil avec l’image num´erique (les limitations de tous nos capteurs font d’ailleurs le bonheur de l’information num´erique). Nous allons ici simplement inverser les niveaux de gris (cr´eer un n´egatif) afin de mieux appr´ecier cer-taines nuances de gris situ´ees dans les faibles luminances : A l’aide de la fonction fournie par IMAQ, ajoutez au contrˆole “enum” la possibilit´e d’inverser une image.

3. Les images s’observent en g´en´eral sur un ´ecran. Le r´eglage de la luminosit´e et du contraste peut s’av´erer utile pour l’observation de certaines informations. L’image elle-mˆeme n’occupe pas forc´ement toute la plage de niveaux de gris. Un rem`ede simple consiste alors `a proc´eder `

(19)

5.4. FILTRAGE - D ´ETECTION DE CONTOURS 19

compris dans l’intervalle [Imin, Imax], apr`es expansion dynamique, la luminance en tout point

sera comprise entre [0, 255] (pour une image cod´ee sur 8 bits). Cr´eez un sous-VI r´ealisant cette transformation de mani`ere lin´eaire.

4. La profondeur de codage d’une image correspond au nombre de niveaux de gris disponibles pour caract´eriser la luminance d’un pixel. Cr´eez une fonction permettant de simuler la profondeur de codage d’une image. On pourra choisir par exemple, de coder l’image surn bits avec 1≤ n ≤ 8.

5.4

Filtrage - d´

etection de contours

Le filtrage classique consiste `a augmenter le rapport signal `a bruit des images. La m´ethode la plus simple consiste `a appliquer un filtre sur l’image qui aura pour effet de lisser cette derni`ere.

1. Ajoutez `a votre programme une fonction de filtrage. On pourra par exemple ´etudier le filtre suivant sur les images bruit´ees avec un bruit gaussien :

F = 1 6 ·   0 1 0 1 2 1 0 1 0  .

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

1 8   1 0 −1 2 0 −2 1 0 −1   1 8   1 2 1 0 0 0 −1 −2 −1  .

3. Pour les images “contamin´ees” par du bruit impulsionnel, le filtrage lin´eaire n’est pas le plus appropri´e. Cr´eez une fonction permettant de filtrer l’image avec un filtre m´edian. Il s’agit de remplacer la valeur d’un pixel par la m´ediane de l’ensemble des valeurs situ´ees autour de ce point.

(20)
(21)

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 carte son du PC. Quelques fonctions classiques de signaux seront ´egalement mis en place. La biblioth`eque de fonctions permettant d’utiliser la carte son et de g´erer les fichiers son est situ´ee dans le menu “Graphisme et son”. Toutes les fonctions sont class´ees selon trois cat´egories :

– Sortie – Entr´ee – Fichiers

6.1

Acquisition d’un son en continu

1. Branchez le micro et l’enceinte amplifi´ee dans lesbonnesprises du PC !

2. Ouvrez l’exempleContinuous Sound Inputet sauvegardez-en une copie, en la renommant,

dans votre r´epertoire de travail. Lancez l’acquisition et analysez la structure du VI afin de rep´erer les ´etapes traditionnelles (Initialisation, Acquisition, Fermeture). Quel est le type des donn´ees acquises `a chaque it´eration ?

3. Cr´eez un indicateur permettant d’afficher la dur´ee de chacune des s´equences.

4. Modifiez le VI afin de pouvoir mesurer le temps entre chaque it´eration de la boucle WHILE. 5. Compl´etez le programme afin de sauvegarder les donn´ees dans un fichier de type son*.wavpar

exemple. Comme il s’agit de l’acquisition d’un son en continu, il faudra veiller `a enregistrer les donn´ees au fur-et-`a-mesure dans le fichier.

6.2

Acquisition d’un nombre fini d’´

echantillons

1. Ouvrez l’exempleFinite Sound Inputet sauvegardez-en une copie, en la renommant, dans

votre r´epertoire de travail. Lancez l’acquisition et analysez la structure du VI. 2. Modifiez le programme afin que celui-ci r´eponde au cahier des charges suivant :

– Lorsque le programme se lance, rien ne se passe.

– D`es que l’utilisateur appuie sur un bouton OK, l’enregistrement du son doit d´emarrer. L’en-registrement doit avoir une dur´ee fix´ee `a 1 seconde.

– Une fois termin´e, l’enregistrement doit ˆetre sauvegard´e dans un fichier de type son sp´ecifi´e par une commande.

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

(22)

22 CHAPITRE 6. ACQUISITION DE SIGNAUX SONORES

6.3

Analyse spectrale

1. Cr´eez un nouveau VI permettant de lire les fichiers sons, et d’afficher les donn´ees sous forme de graphique.

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

3. Dans le menu Mesures sur Waveform, choisissez les fonctions permettant d’effectuer une

analyse spectrale du son : affichez le module et la phase du spectre.

4. Utilisez une fonction permettant de retrouver le pic correspondant `a la fr´equence du diapason. 5. Extrayez une seule voie des donn´ees et calculez la FFT sur les donn´ees. A partir du tableau

obtenu, remplacez la premi`ere valeur par 0 , calculez la FFT inverse et reconstituez une waveform afin de l’afficher dans un graphique. Interpr´etez les r´esultats obtenus.

6.4

Effet sonore

(23)

Annexe A

Table des caract`

eres en ASCII ´

etendu

(24)
(25)

Annexe B

Sp´

ecifications de la carte NI 6221

(26)

26 ANNEXE B. SP ´ECIFICATIONS DE LA CARTE NI 6221

NI 622x Specifications

Specifications listed below are typical at 25 °C unless otherwise noted.

Analog Input Number 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 Measurements

Accuracy, 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

(27)

27 NI 622x Specifications 6 ni.com Digital I/O/PFI Static Characteristics Number 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 total 32 (P0.<0..31>) 16 (PFI <0..7>/P1, PFI <8..15>/P2) NI 6221 (37-pin) ...10 total 2 (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

(28)

28 ANNEXE B. SP ´ECIFICATIONS DE LA CARTE NI 6221

NI 622x Specifications 12 ni.com

Figure 2. NI 6221 (68-Pin) Pinout

CONNECT OR 0 (AI 0-15) 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 8 68 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 34 TERMINAL 68 TERMINAL 1 TERMINAL 35 NC = No Connect

(29)

Annexe C

Acquisition d’un ´

echantillon analogique

sur une voie

(30)

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

Figure

Figure 1.1 – Aper¸ cu du diagramme.
Figure 2.1 – Aper¸ cu du diagramme.
Table 3.1 – Liaisons maquette-carte multifonctions.
Figure 3.1 – Alimentation du r´ echauffeur.
+5

Références

Documents relatifs

Les difficultés d’une introduction directe des principes démocratiques dans les mécanismes de la gouvernance ont conduit de nombreux observateurs à préconiser une tout

The author would like to thank Bradley Bateman, Gilles Dostaler and Bruce Toombs for their useful comments and the SSHRC (Ottawa) and the Fonds FCAR (Quebec) for

Pour cerner les raisons qui poussent les entreprises ivoiriennes à pratiquer la comptabilité créative, il nous semble pertinent d’adopter une approche qualitative basée

Tous les grands producteurs historiques de chocolat en Grande-Bretagne et aux États-Unis n’ont pas puisé le sens de leur responsabilité culturelle dans des racines religieuses –

Along similar lines, Budds (2013) analyses the unfolding of Chilean water reform through the confluence of interests of military, technocratic, and business elites, in

Ainsi en identifiant si dans le pôle on retrouve les critères d’une anarchie organisée, à travers l’analyse de processus de décisions, cela nous permettra de comprendre

Pour traiter de ces questions, nous allons présenter les résultats du cheminement que nous avons suivi dans la thèse afin de révéler, puis d’éclairer

Si avant les années 1980, peu de considérations étaient accordées à ces questions, on a assisté depuis à une multiplication des stratégies d’intervention des