Initiation au contrôle de carte d`acquisition (DAQ)

Transcription

Initiation au contrôle de carte d`acquisition (DAQ)
page 1
Initiation à l’instrumentation numérique
TP1 : Initiation au contrôle de carte d’acquisition (DAQ)
Une carte désigne un circuit électronique inséré à l’intérieur d’un PC sur un connecteur (slot)
relié à un bus (liaison vers le processeur). Dans ce TP, vous utiliserez la carte NI-PCI 6024E.
C’est une cart emultifonctions dont une fonction particulière est l’acquisiton de données. Elle sera
désignée sous le terme générique de “DAQ” plutôt que “carte multifonctions”. La nomenclature
NI-PCI 6024E indique que le matériel référencé 6024E construit par la société NI (National Instruments) doit être relié au bu PCI de l’ordinateur hôte. Cette carte a déjà été installée sur l’ordinateur.
Son constructeur la commercialise avec un programme indispensable appelé “driver” ou “pilote”.
Le pilote, spécifique au matériel exploité et au système d’exploitation utilisé, permet, à partir d’un
jeu de commandes, de modifier l’état ou la fonction du matériel (ici la carte). Pour agir sur la carte,
il suffit donc d’envoyer une commande reconnue par le pilote.
La dimension physique réduite de la carte, associée à un nombre d’entrées/sorties (I/O pour Inputs/Outputs) important ne permet pas de réaliser les connexions directement sur la carte à l’aide
des fils classiques. Le constructeur commercialise donc un câble (SH68-68-EP Noise Rejecting,
Shielded Cable) et un bornier externe (CB-68LPR Low-Cost, Unshielded Screw TErminal I/O
Connector Block). L’expérimentateur réalisera donc toutes les connexions (amenées de signaux,
prélèvement de signaux) sur ce boı̂tier de connexion. Vous trouverez la correspondance entre les
plots du bornier et les I/O de la carte à la fin de ce document.
Les principales caractéristiques de cette carte sont les suivantes :
Signaux analogiques
→ Acquisition
– 16 entrées (voies ou canaux) notées ACH0, ...,
ACH15, référencées par rapport à la masse ou
8 entrées différentielles (entre ACH0 et ACH8,
ACH1 et ACH9, ...)
– CAN 12 bits plage [−10V, +10V]
– Fréquence échantillonnage maximale : 200kHz
si 8 voies utilisées et 1MHz si une seule voie
utilisée
– Déclenchement par un signal extérieur digital
(TTL) (entrée TRIGGER sur borne 10 ou 11)
– Amplification analogique programmable (gain
= 1, 2, 20 ou 200)
Signaux numériques (ou digitaux)
– 1 octet utilisé indifféremment en lecture ou en écriture. Les bits correspondent aux bornes DIO0 à DIO7.
Ces E/S sont référencées par rapport
à la masse.
→ Génération
– 2 voies de sortie (DAC0OUT et DAC1OUT)
– dynamique [−10V, +10V]
– fréquence maximale du signal de sortie : 10 kHz
Les spécifications de la carte sont données dans l’annexe.
Initiation à l’instrumentation numérique
1
page 2
Mise en œuvre
1.1
Identification du matériel
–
–
–
–
GBF, oscillo, PC avec interface DAQ, bornier
Pour la DAQ, le plan de brochage est celui indiqué par la figure 6.
Au niveau du bornier, les broches sont disposées différemment mais parfaitement repérées.
AI = Analog Input = entrée analogique ➩ un signal en provenance de l’extérieur doit être
appliqué sur cette broche
– AO = Analog Output = sortie analogique ➩ un signal généré par la carte est mis à disposition
sur cette broche
– AI GND = un niveau de tension en provenance de l’extérieur doit être appliqué sur cette
broche afin de définir la référence de potentiel (masse = GrouND)
– AO GND : idem, mais pour un signal généré.
A Ne pas appliquer un signal sur une broche de type AO (destruction de la carte
et éventuellement du PC)
1.2
Vérification de la liaison
Lancer le logiciel MAX (Measurement & Automation eXplorer)
La fenêtre suivante apparaı̂t :
– En explorant l’arborescence Périphériques et Interfaces du logiciel MAX, vérifier que
la carte NI-PCI 6024E (soit dans le répertoire “périphériques NI-DAQmx”, soit dans le
Initiation à l’instrumentation numérique
page 3
répertoire “périphériques NI-DAQ traditionnels”) est bien reconnue par le système d’exploitation.
– Dans le menu local de la PCI6024E (clic droit souris), remarquer que l’on peut accéder aux
brochages de la figure 6, p.16 (uniquement possible à partir du répertoire DAQmx).
– A l’aide de cette figure, réaliser les connections cordons-bornier : pour limiter les risques,
utiliser les cordons noirs uniquement pour les masses, les cordons rouges pour les entrées (AI
et AI START TRIGG) et un cordon vert pour la sortie.
– Vérifier (tester) que la carte NI-PCI 6024E permet de générer un signal analogique :
– relier la sortie à l’oscillo
– cliquer sur panneaux de tests
– dans l’onglet “Sortie analogique”, sélectionner la sinusoı̈de et le nom de la voie approprié
– cliquer sur démarrer et contrôler le signal à l’ oscilloscope.
– Vérifier (tester) que la carte NI-PCI 6024E peut faire l’acquisition de données :
– paramétrer le GBF (voir p.17 si besoin est) pour qu’il délivre un signal purement continu
de niveau 6V, et le relier à l’oscillo
– une fois le signal observé correctement à l’oscillo, relier le GBF à la borne d’entrée de la
carte
– dans l’onglet “Entrée analogique”, choisir la voie appropriée et règler le mode de mesure
sur asymétrique référencé (RSE)
Initiation à l’instrumentation numérique
1.3
page 4
Programmation d’une application
Pour créer sa propre application, il faut utiliser un logiciel approprié. L’utilisation du logiciel
LabVIEW associé à la sous-coudhe logicielle NI-DAQ (interface entre l’environnement de programmation et la carte d’acquisition) aplanit (cache) l’essentiel des difficultés. Sous LabVIEW, deux
palettes de fonctions peuvent être utilisées pour prorammer les cartes DAQ. La première, plus ancienne, est appelée Traditional DAQ, la seconde DAQmx. Pour de nombreuses cartes, les deux
palettes peuvent être utilisées. Cependant, pour les cartes les plus récentes, seul le standard DAQmx est utilisable. Pour la carte 6024E, les deux palettes peuvent être utilisées. Dans cette première
partie d’initiation, la programmation sera réalisée avec les fonctions de la palette Traditional DAQ,
plus simple pour une première prise en main.
1.3.1
Génération d’un signal analogique
Dans cette première partie, l’objectif est de générer un signal analogique à partir de la carte
NI-DAQ 6024E. Examiner et utiliser, dans l’ordre les VI suivants (fournis par NI) :
– Generate 1 Point on 1 Channel.vi (Traditional DAQ)
Récupérer ce VI dans le menu : Help/Find examples/Hardware Input and Output/Traditional
DAQ/Analog Output/General, et enregistrez-le sous votre répertoire (il est important
de ne pas modifier ce VI avant de l’avoir enregistré-sous).
N.B. : une fois ce VI mis en surbrillance, vous remarquerez une fenêtre affichant la liste des
matériels compatibles avec ce VI. Vérifier que la carte 6024E est dans cette liste ! (voir figure
ci-dessous)
Initiation à l’instrumentation numérique
page 5
Figure 1 – Diagramme du VI “Generate 1 Point on 1 Channel.vi”
1. Examiner la face avant et le diagramme.
2. Vérifier que ce VI donne le résultat escompté, càd qu’il permet de générer une tension
continue.
– Generate Continuous Sinewave.vi (Traditional DAQ)
Récupérer ce VI dans le menu : Help/Find examples/Hardware Input and Output/Traditional
DAQ/Analog Output/General, et enregistrez-le sous votre répertoire (il est important
de ne pas modifier ce VI avant de l’avoir enregistré-sous).
Figure 2 – Diagramme du VI “Generate Continuous Sinewave.vi”
Quelques compléments d’information sur les icônes apparaissant dans ce diagramme :
Initiation à l’instrumentation numérique
page 6
– AO CONFIG : Configure la liste des voies et les limites de sortie, puis alloue un buffer
pour l’opération de sortie analogique.
– AO WRITE : Ecrit des données dans le buffer pour une opération de sortie analogique
bufférisée. Les données écrites dans le buffer sont alors générées (transférées du buffer au
CNA) à la vitesse de mise à jour sécifiée dans le VI “AO START”. AO WRITE est un
VI polymorphe que vous pouvez configurer pour générer les types de données suivants :
tableau mis à l’échelle, données type waveform.
– AO START : Démarre une opération de sorties analogiques ufférisées. Ce VI définit une
fréquence de mise à jour (fréquence de sortie), puis commence la génération.
– AO CLEAR : Réinitialise la tâche de sortie analogique associée au taskID d’entrée.
N.B. : En regardant le détail de AO START dans la fenêtre d’aide contextuelle, on a entre
autres : Nombre d’itérations du buffer. Ce paramètre correspond au nombre de fois que
LabVIEW doit générer le signal à partir du buffer. Lorsque le buffer a été générer le nombre
de fois spécifié, la génération s’arrête. La valeur par défaut est 1, ce qui signifie que LabVIEW
génère le buffer une seule fois. Si vous utilisez une valeur de 0, LabVIEW génère le buffer
de façon continue, jusqu’à ce que vous arrêtiez l’opération avec le VI “AO CLEAR”.
1. Etablir l’algorithme du VI “Generate Continuous Sinewave”.
2. Examiner la face avant et le diagramme.
On remarquera notamment
que les éléments
du tableau à la sortie de la boucle FOR
h
i
2π(cyclesinbuffer)
ont pour valeur : sin
. La période du sinus est 2π, donc quand i =
N
N /(cycles in buffer), une période est décrite. Par conséquent, le nombre de périodes de
la fonction sinus est Cycles in buffer. Autrement dit, le tableau créé contient un nombre
de motifs de la fonction sinus égal à Cycles in buffer. On a :
N = fe × Tgen = fe × cycles in buffer × T0
N
⇒ T0 =
fe × cycles in buffer
cycles in buffer
fe
⇒ f0 =
N
avec f0 =fréquence du signal généré (actual waveform frequency), et fe =update rate.
3. Conserver les paramètres par défaut. Lancer l’application et contrôler à l’oscilloscope la
forme et la fréquence du signal généré.
4. Arrêter la génération du signal. Fixer un nombre de points égal à 100. Lancer l’application et visualiser à l’oscilloscope la forme et la fréquence du signal généré. Commenter.
Initiation à l’instrumentation numérique
page 7
On souhaite maintenant réaliser l’analyse spectrale du signal précédent. Pour cela, on mettra
en œuvre deux possibilités :
1. en utilisant l’oscilloscope.
2. en utilisant les bibliothèques de calcul de LabVIEW : pour cela, définir un axe gradué en Hz.
Comparer et justifier les résultats obtenus avec les deux méthodes, notamment l’allure des spectres.
Enfin, modifier le VI de manière à obtenir, sur une sortie analogique de la carte, un train
d’impulsions périodiques de paramètres ajustables (amplitude, largeur des impulsions et fréquence
de récurrence). Pour cela, utiliser Pulse Pattern.vi, accessible à partir de la palette de fonctions
(Analyze / Signal Processing / Signal Generation).
page 8
Initiation à l’instrumentation numérique
1.3.2
Acquisition d’un signal analogique
Comme précédemment, sauvegarder et examiner les deux VI suivants, que l’on trouve dans l’arborescence : Help/Find examples/Hardware Input and Output/Traditional DAQ/Analog Input/
General :
Figure 3 – Diagramme du
VI “Acquire 1 Point from 1
Channel.vi”
– Acquire 1 Point from 1 Channel.vi (Fig. 3)
Réaliser les connexions avec le GBF délivrant une tension continue. Configurer la voie de
mesure, et réaliser une acquisition.
– Acquire N scans.vi
Ce VI permet l’acquisition d’une série de mesures défini par la commande “number of scans to
acquire”. L’acquisition peut être réalisée sur une ou plusieurs voies définies par la commande
“channels”.
Figure 4 – Diagramme du VI “Acquire N scans.vi”
Quelques compléments d’information sur les icônes apparaissant dans ce diagramme :
– AI CONFIG : Configure une opération d’entrées analogiques pour un ensemble de voies
spécifié. Ce VI configure le matériel et attribue un buffer pour une opération d’entrées
analogiques bufférisées. Plusieurs voies peuvent être mesurées. Les numéros des voies à
mesurer sont les paramètres d’entrée de la commande “channels”.
Initiation à l’instrumentation numérique
page 9
– AI START : Démarre une opération d’entrée analogique bufférisée. Ce VI définit la
fréquence de balayage, le nombre de balayages à acquérir et les conditions de déclenchement.
Le VI commence ensuite l’acquisition.
– AI READ : Lit des données provenant d’une acquisition de données bufférisée. Ce VI
appelle le VI “AI Buffer Read.vi” pour lire les données provenant d’une acquisition
d’entrées analogiques bufférisées. AI Read est un VI polymorphe que vous pouvez configurer pour générer les types de données suivants : tableau binaire, tableau mis à l’échelle,
et données type waveform (voir §1.3.3).
– AI CLEAR : Ce VI utilise le VI “AI Control.vi” pour arrêter une acquisition associée
à un taskID d’entrée et libérer les ressources internes associées, notamment les buffers.
Applications
1. Enlever la composante continue du GBF et le régler afin qu’il délivre un signal sinusoı̈dal
d’amplitude 4 V crête-à-crête, et de fréquence 1 kHz. Lancer l’application sans toucher à la
paramétrisation (par défaut) du VI. Expliquer le graphe observé.
2. Modifier les paramètres du VI afin de remédier au problème noté ci-dessus.
Faire également les changements nécessaires afin d’afficher le temps en secondes sur l’axe des
abscisses (on pourra s’aider de la figure p.10).
3. Quoique l’adéquation entre caractéristiques du signal à relever et paramètres du VI soit
optimale, un examen attentif de la forme d’onde montre, cependant, que deux acquisitions
successives donnent des motifs de formes identiques mais cependant décalés temporellement.
Pour supprimer ce décalage, il faut déclencher (“trigg”) l’acquisition.
Modifier le VI de manière à définir une acquisition déclenchée : sur l’icône AI START, créer
une commande pour “trigger type” et une pour ”edge or slope”. Par défaut, les valeurs de ces
paramètres sont respectivement “no trig :0” et “no change”. Sélectionner Digital A et opter
pour un déclenchement sur front montant (rising). Utiliser comme signal de déclenchement le
signal à acquérir lui-même en le reliant à la borne appropriée de la carte. Lancer l’acquisition
et vérifier que l’acquisition commence toujours au “même endroit”.
4. Commenter la forme du signal pour des amplitudes de 3 et 2 VPP.
5. Pour remédier à cela, on utilise une source de signal de synchronisation en reliant la sortie SYNC du GBF à l’entrée TRIGG de la carte. Lancer l’acquisition et vérifier que le
déclenchement s’opère même à 2 VPP.
Vérifier l’effet de la sélection “front montant” ou “front descendant”.
Initiation à l’instrumentation numérique
1.3.3
page 10
Compléments sur le type et le format de sortie des données (indicateur
“data”)
Chaque élément du tableau contient les résultats de la mesure associée à une voie. Si une seule
voie est mesurée, alors le tableau ne contient qu’un élément. Si plusieurs voies sont mesurées (par
exemple dans l’ordre : i, j, k), alors le premier élément du tableau contient le résultat de la mesure
de la voie i, le deuxième élément contient le résultat de la mesure de la voie j, le troisième élément
contient le résultat de la mesure de la voie k. Tous les éléments du tableau, chacun associé à la
mesure d’une voie, sont formatés de la même manière. Trois formats sont possibles :
– format binaire ” chaque élément du tableau est un vecteur dont les composantes sont les
points de mesure en format binaire.
– format mis à l’échelle : chaque élément du tableau est un vecteur dont les composantes
sont les points de mesure en format décimal.
– format waveform (format par défaut) : chaque élément du tableau comprend trois informations : le champ t0 , qui contient la date et l’heure du déclenchement de l’acquisition,
la période d’échantillonnage dt, et un vecteur comprenant les valeurs mesurées en format
décimal Y .
La figure ci-dessous montre l’extraction de la mesure associée à une acquisition sur deux voies,
“0” et “1”. Le nombre de points mesurés pour chaque voie est de 200. La figure montre également
l’affichage des indicateurs “data” et “Waveform Graph”. Identifiez le contenu de chacun des indicateurs (Notez que deux courbes sont tracées sur l’indicateur “Waveform Graph”).
Figure 5 – Différents affichage du format de sortie waveform. L’outil entouré de pointillés s’appelle
“Get Waveform Components” (dans la catégorie “Waveform” de la palette de fonctions ; il faut
l’agrandir pour faire apparaı̂tre toutes les composantes)

Documents pareils