Acquisitions, interfaces et traitement

Acquisition avec le Tektronix TDS220

avantage et inconveniant du TEK220 : avantage souvent disponible, peu utilisé, inconveniant limité à 2500 points

Matériel et drivers

Oscilloscope TDS220 , cable GPIB/USB, cable GPIB pour raccords imprimante

Dans un premier installation de la macro Teck220.vi tournant avec le logiciel Labview. Puis les driver (librairie) TektronixTDS20010002000Series à dézipper et à placer dans le répertoire Program Files\NI\LabView\instr.lib. Enfin il faut configurer l'adresse du port GPIB de l'oscillo dans Utilitaire/Option/configuration du bus GPIB Adresse n°6.

Macro TEK220 Driver TEK series .

Utilisation de la Macro Tek220.vi

La macro ne fonctionne qu'en présence des librairie driver NI dans le dossier instr.lib

Comme sur l'oscilloscope réglage des paramètres: échelle verticale pour les Channel 1 et 2, échelle horizontal de 5ns à 10ns. Après l'acquisition la macro calcul le pas d'échantillionnage puis affiche les données dans deux tableaux et deux fichiers. Le premier couple tableau fichier contient 3 colonnes: Temps/CH1/CH2 enregistrement dans tek220.txt. Le deuxième ne contient que les données CH1 et CH2. (Tek220a.txt). Pour retrouver les fichiers le chemin est indiqué dans l'encadré grisé, modifiable également. C:\Documents and Settings\Physique\Mes documents\TP L3\MACRO-Oscillo\Tek220.txt pour l'echantillionnage : (10Xcalibre de l'échelle horizontal) /2500.

Récupération et visualisation des données avec Python

utilisation du fichier Tek220a et de la valeur d'échantillionage

Modifier le chemin d'accès du fichier os.chdir, et la base de temps fe en fonction de l'échantillionnage. import os
os.getcwd()
os.chdir('C:\Documents and Settings\Physique\Mes documents\TP L3\MACRO-Oscillo\Tek220.txt')
os.listdir('.')
import numpy as np
import matplotlib.pyplot as plt
x=np.loadtxt("Tek220a.txt")
N=2501
fe=0.000001
temps= np.linspace(0,N-2,N-1)/fe
CH1=x[:,0];CH2=x[:,1]
fig1=plt.figure()
plt.plot(temps,CH1,'r.-')
plt.plot(temps,CH2,'b.-')
plt.show()
Exemple de fichiers.

Acquisition avec une clé USB

avantage : rapide inconvéniant: peu de points

Matériel et drivers

Oscilloscope Agilent DSO5012A , clé USB

Placer la clé USB en façade, dans UTILITY/Print Config/Print to CSV data Length Ok pour 1000 points.acquisition sur les deux voix en fonction de la base de temps sélectionnée. Appuyer sur Quick Print pour enregistrer deux fichiers sur la clé: print.txt = paramètres et print.csv (les données). Dans un logiciel Openoffice ou Notpad++ modifier print.csv:
Suprimer l'entête: x-axis,1,2 second,Volt,Volt
puis avec la fonction Chercher/Remplacer de Notpad++ ou autres logiciel remplacer les , en ; et les . en ,
ouvrir New.txt modifier l'entête en fonction du nombre de voixsi Temps;EA1;EA2 ou Temps;EA1 ou etc.. et copier les données modifiées. Dans Latispro FICHIER/importation/fichier.txt puis cliquer glisser ordonnée = EA1 Abscisse = Temps.

Exemple de fichiers.csv.

 

PYTHON

Téléchargement de PythonXY version scientique de Python basée sur Qt et Spyder

 

Présentation de Stephane Roux pour les Tp de licences : AnalyseSpectralePratique.pdf

Tracer des courbes quelques examples

 

Exemple de programme pour visualiser les courbes avec les fichiers macro


@author: Benoit Capitaine
"""
import os # importer les fonctions d'ouvertures
os.chdir('C:\Documents and Settings\Physique\Mes documents\TP L3\Python')# allez dans le repertoire de travail courant
import numpy as np # importer les fonctions (package) calcul scientifique commençant par np
import matplotlib.pyplot as plt # importer le package biblothèque graphique 2D
x=np.loadtxt("Agil5012a.txt")#variable X contenant charger les données du fichier txt
N=1000 #nombre de point acquis pour base de temps
fe=0.1 #temps d'espacement entre deux points (échelle de fréquence)
temps= np.linspace(0,N-1,N)/fe #génère une var temps contenant les échantillions de 0 à N pour une frequence Fe
CH1=x[:,0];CH2=x[:,1]# [:0] extrait la première colonne dans la var CH1 et 2eme en CH2
plt.plot(temps,CH1,'r.--') #trace CH1 en fonction du temps en rouge
plt.plot(temps,CH2,'b.-') #trace CH2 en en bleu
plt.title('Aquisition AGILENT DSO5012')
plt.show()

et le fichier .txt acquis avec la macro labview

Programme pour diagramme de Bode : Phase et Gain
 

et le fichier de Julien Salord EssaiDAQ.py