Jean-François FOURCADIER
F4DAY

Montpellier  (France)

projets radioamateurs

écrivez moi !  
© 2000-2016- J.F. Fourcadier
page d'accueil
haut débit télévision antennes hyperfréquences relais divers

 


Appareils de mesure:

une manière simple et économique d'utiliser le port GPIB

 

Introduction

La plupart des appareils de mesure professionnels de laboratoire (multimètres, fréquencemètres, générateurs, oscilloscopes, analyseurs de spectre, etc...) sont pourvus à l'arrière d'un connecteur à 24 broches appelé "connecteur GPIB" ou "port GPIB".

cliquer pour agrandir

(cliquer sur l'image pour l'agrandir)

Ce connecteur permet à un ordinateur de type PC de configurer l'appareil de mesure puis de récupérer les données de mesure pour pouvoir les traiter, les afficher de manière pertinente et les archiver.

Nous allons voir dans ce petit article une manière simple et économique d'utiliser ce connecteur.

 

Le port GPIB

Le port HP-IB (Hewlett Packard Interface Bus) a été créé en 1965 par Hewlett Packard (devenu ensuite Agilent puis Keysight), puis normalisé ensuite par l'IEEE en 1975 sous le nom de GP-IB (General Purpose Interface Bus) avec la norme IEEE 488. Il est aujourd'hui adopté par tous les grands fabricants d'appareils de mesure.

Malgré son grand âge (plus de 40 ans !), le port GPIB résiste bien en raison de ses grandes qualités: gestion simultanée d'un grand nombre d'appareils de mesure, vitesses de transfert élevées, latence réduite, universalité.

Les autres solutions fréquentes de connectivité des appareils de mesure sont:

- le port RS232 qui n'est pas très rapide et qui n'autorise pas une architecture en arbre et difficilement une architecture en étoile. Il est adapté à la collecte de données d'un appareil unique et à la gestion depuis un microcontrôleur.

- le port Ethernet appelé LXI, qui introduit dans sa forme la plus simple un délai de latence mal maîtrisé.

Sur un bus GPIB, chaque appareil de mesure est identifié par son adresse. L'adresse GPIB des équipements est choisie dans les menus de configuration pour les matériels récents, par des petits commutateurs dans les équipements anciens. Le nombre d'adresses disponibles est de 31 (adresses 0 à 30), et le nombre maximum d'appareils gérables est de 14.

Attention ! Bien souvent l'adresse nouvellement choisie ne devient effective qu'après une coupure secteur et un redémarrage complet de l'appareil de mesure (reboot).

 

Le matériel nécessaire

Le câblage entre l'ordinateur et les appareils de mesure est effectué selon une architecture "en arbre" au moyen de câbles spéciaux comportant un connecteur double mâle et femelle à chaque extrêmité. Les extrêmités peuvent ainsi "s'emboîter" pour étendre le réseau. Pour des raisons de robustesse de l'assemblage, il est cependant recommandé de ne pas placer plus de trois câbles sur un même connecteur d'appareil de mesure. Par ailleurs, la longueur cumulée des câbles ne doit pas dépasser 20 m.

 

cliquer pour agrandir

Câble GPIB

cliquer pour agrandir

Connexion de plusieurs câbles

 

 

cliquer pour agrandir

La configuration d'adresse

 

La connexion physique à l'ordinateur peut s'effectuer au moyen d'une carte PC spéciale ou bien d'une interface USB-GPIB.

Dans un but de simplicité, nous utiliserons une interface USB-GPIB.

Le modèle utilisé ici est de marque National Instruments, référence GPIB-USB-HS, mais il existe des modèles comparables dans d'autres marques.

Pour éviter de déteriorer l'interface par des chocs malheureux, il est préférable de disposer celle-ci en extrêmité d'un câble plutôt que directement à l'arrière d'un appareil de mesure (voir photo).

 

cliquer pour agrandir
cliquer pour agrandir

 

Les logiciels nécessaires

Des logiciels sont nécessaires à plusieurs niveaux. Tout d'abord, nous aurons besoin d'un driver pour faire fonctionner l'interface USB-GPIB. Ensuite d'un élément logiciel appelé VISA qui va permettre l'envoi des commandes à l'appareil de mesure.

Heureusement ces deux éléments logiciels sont disponibles sur le CD ROM fourni avec l'interface USB-GPIB. A défaut on pourra les télécharger gratuitement sur le site de National Instruments, avec des compléments plus ou moins utiles (au total plusieurs centaines de MB de données).

Pour la programmation proprement dite (que voulons nous obtenir de notre appareil de mesure ?) nous utiliserons le langage Python qui est très simple à apprendre et à utiliser. La dernière version de Python (choisir la version 3) est téléchargeable gratuitement sur le site python.org.

Enfin nous aurons besoin de télécharger et d'installer un complément appelé PyVisa qui assure le lien entre notre logiciel Python et VISA. La dernière version de PyVisa s'obtient directement en ligne au moyen de l'utilitaire pip qui est installé en même temps que Python.
Pour cela, sous Windows, on ouvre l'invite de commande, on se déplace dans le répertoire contenant pip, et on tape:

pip install -U pyvisa

L'écran de l'invite de commande pourra, à titre d'exemple, se présenter ainsi après un téléchargement réussi:

(cliquer pour agrandir)

 

Un exemple de programmation en Python

Nous nous proposons dans cet exemple d'effectuer une mesure de fréquence toutes les quinze secondes sur un fréquencemètre ancien, modèle HP 5316B, d'accompagner chaque mesure d'un horodatage et de consigner le tout dans un fichier texte. Les résultats seront également visibles au fil de l'eau sur l'écran du PC.

Les commandes à transmettre à l'appareil de mesure

Le détail des commandes disponibles figure dans la documentation du constructeur. Pour les appareils simples on le trouvera dans le manuel de l'utilisateur (operating manual), pour les appareils plus complexes dans un manuel séparé de programmation (programming manual). Malgré l'épaisseur de certains documents, les commandes réellement nécessaires pour des opérations de base sont en nombre très réduit.

Pour notre fréquencemètre HP 5316B, nous trouverons le détail des commandes disponibles dans le manuel de l'utilisateur.

catalogue des commandes GPIB du fréquencemètre HP 5316B

 

Les commandes qui nous intéressent sont simplement au nombre de deux, en plus de la commande de lecture (read):

"IN" qui réalisera une configuration complète de l'appareil avec des paramètres standard et placera même par défaut l'appareil en mode fréquencemètre !

"WA1" qui permettra de piloter le rythme des mesures et donc la résolution depuis le bouton Gate Time/Delay du fréquencemètre

 

Le programme écrit en langage Python

Le petit programme proposé, écrit en langage Python, est disponible ici.

 

Commentaires sur le code:

- lignes 9 à 12: importation des modules nécessaires à l'exécution du code

- lignes 14 à 26: définition de la classe "FileOperations". Ses fonctions membres servent à la gestion du fichier produit (ouverture, écriture, fermeture, suppression). Le fichier est créé sur le Bureau. Adapter la ligne 16 en fonction du nom du répertoire du Bureau de l'ordinateur utilisé.

- lignes 28 à 30: liste des ressources présentes (facultatif mais utile à des fins de diagnostic)

- ligne 32: adresse GPIB de l'appareil de mesure sélectionné

- lignes 33 à 34: caractères de fin de message GPIB (très important !)

- lignes 39 à 42: ouverture du fichier

- lignes 44 à 51: définition de la fonction "mesure", qui effectue la lecture des données, la mise en forme des chaînes de caractères obtenues et l'enregistrement dans le fichier

- lignes 54 à 58: boucle appelant la fonction "mesure" toutes les 15 s, au total 240 fois (durée totale: une heure)

- ligne 60: fermeture du fichier

 

Les résultats obtenus

Pour donner un caractère concret à l'opération tout en restant simple, nous allons visualiser la dérive en fréquence à l'allumage d'un oscillateur 50 MHz de calibration d'un vénérable power meter hyper type HP 435B. Même si l'horloge du fréquencemètre est pilotée par un quartz, nous prendrons soin d'allumer le fréquencemètre une heure avant le début des mesures pour lui laisser le temps d'être parfaitement stabilisé. L'oscillateur du HP 435B n'est lui pas piloté, ce sera un bon exercice !

Au bout d'une heure d'enregistrement, nous sommes en possession du fichier texte suivant: test.txt

Ce fichier peut alors être introduit dans Microsoft Excel (payant) ou Libre Office Calc (gratuit) pour nous donner après une rapide mise en forme la courbe suivante:

Curieusement, on observe que sur cet oscillateur la fréquence commence par croître pendant une minute, puis décroît régulièrement. Au bout d'une heure de fonctionnement, la fréquence n'est toujours pas stabilisée. A l'évidence, la précision et la stabilité de fréquence n'ont pas été la préoccupation première des concepteurs de cet oscillateur !

 

Conclusion

L'utilisation du port GPIB des appareils de mesure a la réputation d'être compliquée à mettre en oeuvre et de faire appel à des matériels et logiciels coûteux.

Nous avons vu qu'avec des moyens très réduits (un adaptateur USB-GPIB et quelques câbles seulement) il est déjà possible de faire des choses intéressantes.

Les connaissance acquises permettront en outre de piloter des appareils de mesure modernes disposant d'un port LXI, selon un mode opératoire très voisin.

 

 

73 de Jean-François FOURCADIER, F4DAY

 

 

retour à la page d'accueil du site

 

 

 

© 2000-2016  J.F. Fourcadier F4DAY