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)