« GwINSTEK AFG-2012 » : différence entre les versions

De knowledge
Aller à la navigation Aller à la recherche
m (Detail commandes de base et signal arbitraire)
Ligne 112 : Ligne 112 :
GW INSTEK,AFG-2012,SN:GEO900381,V2.02
GW INSTEK,AFG-2012,SN:GEO900381,V2.02


</syntaxhighlight>Notre générateur est connecté.
</syntaxhighlight>Notre générateur de signal est connecté.


==== Envoi d'un signal arbitraire ====
==== Gestion des fonctions de base ====
 
==== Gestion des signaux arbitraires ====
 
===== Envoi d'un signal arbitraire =====
Les étapes sont :
Les étapes sont :


Ligne 127 : Ligne 131 :
[[Fichier:Donnees en sortie.png|alt=Sur l'osciloscope|bordure|sans_cadre|792x792px]]
[[Fichier:Donnees en sortie.png|alt=Sur l'osciloscope|bordure|sans_cadre|792x792px]]


==== Fréquence d'un signal arbitraire ====
===== Fréquence d'un signal arbitraire =====
Dans l'exemple ci dessus j'ai demandé au générateur de créer un signal en 5Vpp (on a 5.4 sur l'osciloscope) mais surtout une fréquence de 50 kHz. Pourquoi le signal sur l'osciloscope est il donné à 6,250 kHz?
Dans l'exemple ci dessus j'ai demandé au générateur de créer un signal en 5Vpp (on a 5.4 sur l'osciloscope) mais surtout une fréquence de 50 kHz. Pourquoi le signal sur l'osciloscope est il donné à 6,250 kHz?


Notre signal est constitué de 8 échantillons. La fréquence affichée sur le générateur est la fréquence en échantillons par secondes et non pas du motif entier par secondes. 50/8=6.25 on s'y retrouves donc.
Notre signal est constitué de 8 échantillons. La fréquence affichée sur le générateur est la fréquence en échantillons par secondes et non pas du motif entier par secondes. 50/8=6.25 on s'y retrouves donc.

Version du 23 septembre 2023 à 21:58

AFG-2012
L'instrument lui même

Le AFG-2012GW INSTEK n'est plus distribué mis des successeurs existent et devraient se comporter de façon similaires.

Spécifications principales

Fabricant GW INSTEK
Type de générateur Fabricant
Fréquence maximum 12 MHz
Gamme de fréquence des formes d'onde 0,1Hz...1MHz (parcours triangulaire), 0,1Hz...12MHz (forme d'onde rectangulaire), 0,1Hz...12MHz (forme d'onde sinus)
Nombre de canaux 1
Durée d'enregistrement de la mémoire 4kpts/ch (4096)
Résolution verticale 10 bits
Paramètres de sortie impédance: 50Ω
Interface USB
Formes d'ondes arbitraire, bruit, rectangulaire, sinus, triangulaires
Echantillonage 20 millions d'échantillons
Compatibilité logicielle Labview

Je souligne les points qui me semblent être un point fort du produit.

La documentation est disponible : Instructions détaillées.

Les logiciels

AFG Arbitrary Waveform Software

C'est le logiciel fournit avec le produit. Il est un peu rustique mais fait le job pour envoyer des formes d'ondes dites "arbitraires".

Ecran principal

Une copie d'écran est donnée ci contre.

On peut facilement générer un fichier CSV compatible avec Excel ou tout éditeur de texte. Le fichier suit ce modèle

Start:,0
Length:,4095
Sample Rate:,1000
0,
11,
19,
20,
....

Description:

  • Ligne 1 : on dit où l'échantillon doit être téléchargé dans l'instrument. Dans notre cas on envoie un signal complet donc on commence à zéro
  • Ligne 2 : Ici on donne la taille de l'échantillon. 4095 est le maximum mais on peut faire plus court.
  • Ligne 3: Le taux d'échantillonnage. Je ne comprends pas bien son rôle. De toute façon il faudra jouer sur le fréquence sur l'appareil. J'ai essayé plusieurs valeurs sans voir de réelle différence.
  • Lignes 4 et suivantes : La valeur des points un par un (ici de 0 a 4094). On a vu que le DAC a une profondeur de 10 bits et, comme on envoie des valeurs signées ce doit être des entiers x tel que : -511 ≤ x ≤ +511.

Ne pas oublier les virgules et les séparateurs de lignes DOIVENT être [CR] + [LF]

Une fois téléchargé dans le générateur on peut jouer sur plusieurs valeurs dont :

  • L'amplitude ⇒ Pour 5 Vpp par exemple -511 correspondra à -5V et 511 à 5V. (0 = 0V). L'offset de décalage fonctionne aussi: Un décalage de +0.5V ⇒ -4.5 V à 5.5V.
  • Pour la fréquence, la fréquence affichée sera le nombre d'échantillons par secondes. Dans le cas ci dessus on a 10 bits a 9600 baud. L'échantillon devra être "joué" toute les 1,04 ms ce qui corresponds a 960 Hz.
    • Pour diffuser un caractère ASCII en 7E1 en 10 bits (un de start, 7 de data, 1 de parité et un de stop) on donnera la vitesse en bps / 10.

Programmation

La documentation dit que le produit est compatible "labview". Je n'ai pas ce produit mais il est surtout possible de l'utiliser avec des scripts python et un raspberry PI.

Sur un raspberry PI

La connexion

Lorsque on le branche le générateur sur le port USB du raspberry PI, il est reconnu par le noyeau linux:

[ 2224.587012] usb 1-1.1.4: new full-speed USB device number 8 using xhci_hcd
[ 2224.725896] usb 1-1.1.4: New USB device found, idVendor=2184, idProduct=001c, bcdDevice= 0.01
[ 2224.725925] usb 1-1.1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2224.725937] usb 1-1.1.4: Product: AFG-2012
[ 2224.725948] usb 1-1.1.4: SerialNumber: GEO900381
[ 2224.735388] cdc_acm 1-1.1.4:1.0: ttyACM0: USB ACM device

2184 correspond bien au fabricant du produit branché : "GW Instek"

Il est reconnu comme un device ACM (abstract control model) qui etait utilisé par les modems ITU V.250 (ceux que l'on appelait modem compatibles HAYES : Ceux qui répondaient aux commandes "AT...").

On peut d'ailleurs s'y connecter :

minicom -b 115200 -D /dev/ttyACM0

Pour façiliter la saisie il est pratique d'activer l'echo local avec

<Ctrl> + A + e

Puis on lui pose la première question : "Qui est tu?"

*IDN?

Il réponds:

Welcome to minicom 2.8

OPTIONS: I18n 
Port /dev/ttyACM0, 15:37:31

Press CTRL-A Z for help on special keys

*IDN?
GW INSTEK,AFG-2012,SN:GEO900381,V2.02

Notre générateur de signal est connecté.

Gestion des fonctions de base

Gestion des signaux arbitraires

Envoi d'un signal arbitraire

Les étapes sont :

  1. On fait un Reset logiciel du générateur : *RST
  2. Passer le générateur un mode USER autrement dit ARBITRAIRE : SOUR:FUNC USER (Attention si il faut utiliser USER pour passer dans ce mode, lorsque on demande dans quel mode il est le générateur réponds ARB.)
  3. Envoyer les données :Pour cela c'est la commande DATA:DAC qu'il faut utiliser DATA:DAC VOLATILE, 0, 511, 206, 0, -206, -511, -206, 0, 206.
  4. On active la sortie OUTP ON (là aussi attention la commande se fait par ON/OFF et la lecture par OUTP? donne 0 ou 1)

La commande devrait envoyer au générateur les 8 valeurs [511,206,0,-206,-511,-206,0,206] à l'adresse 0 (au début) du buffer.

Donnees arbitraires envoyees.pngLes points envoyés sont donnés ci dessus et le signal relevé en sortie sur l’oscilloscope ci dessous.

Sur l'osciloscope

Fréquence d'un signal arbitraire

Dans l'exemple ci dessus j'ai demandé au générateur de créer un signal en 5Vpp (on a 5.4 sur l'osciloscope) mais surtout une fréquence de 50 kHz. Pourquoi le signal sur l'osciloscope est il donné à 6,250 kHz?

Notre signal est constitué de 8 échantillons. La fréquence affichée sur le générateur est la fréquence en échantillons par secondes et non pas du motif entier par secondes. 50/8=6.25 on s'y retrouves donc.