GE S2 M5.3 Initiation Prog Graphique CRS Hanafi

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 27

FILIERE : DUT – GENIE ELECTRIQUE

1ère A N N E E

P O L Y C O P I E D E C O U R S

ELEMENT DE MODULE 5.3


INITIATION À LA PROGRAMMATION GRAPHIQUE

SOMMAIRE :

C hapi t re N° 1 : I nt ro duct i on à labVI EW ................................................ 1


C hapi t re N° 2 : Bo ucles , st ruct ures et regi st res à décal ag e ....................... 6
C hapi t re N° 3 : C hai nes de caract ères, t abl eaux et clust ers ...................... 1 0
C hapi t re N° 4 : Graphes et fi chi ers .................................................... 1 7
C hapi t re N° 5 : A cq ui si st i o n des donn ées et commande : A R DUI NO .............. 2 1

Ahmed Hanafi
ahmed.hanafi@usmba.ac.ma

2019 - 2020
CHAPITRE N°1 : INTRODUCTION A LABVIEW

Développement des connaissances

1. PRESENTATION
LabVIEW est un environnement de développement complet, graphique, compilé et particulièrement bien adapté au
domaine de l'acquisition et de la mesure. Son approche totalement graphique offre une souplesse et une dimension
intuitive inégalée. Comparativement aux langages textuels, il offre la même puissance de programmation, mais sans
le côté abstrait et complexe lié à la syntaxe.

LabVIEW est un outil d’acquisition, d’analyse et de présentation de données

 Acquisition avec LabVIEW :


LabVIEW permet l’acquisition de données par l’intermédiaire de diverses connectiques comme :
▪ PCI (Peripheral Component Interconnect)
▪ CompactFlash
▪ LAN (Local Area Network) et Ethernet
▪ Wi-Fi (IEEE 802.11 b/g/n) (Wireless Fidelity)
▪ Bluetooth
▪ USB (Universal Serial Bus)
▪ Série (RS 232, RS 449, RS 422, RS 423, RS 485)

 Analyse avec LabVIEW :


LabVIEW inclut des outils pour l’analyse des données :
▪ Traitement du signal : Convolution, analyse spectrale, transformées de Fourier, etc.
▪ Traitement d’images : Masque, détection de contours, profils, manipulations de pixels, etc.
▪ Mathématiques : Interpolation, statistiques (moyennes, écart-type, etc.), équations différentielles

 Présentation avec LabVIEW :


LabVIEW inclut des outils d’aide à la présentation (communication) des données :
▪ Graphiques, tableaux, images, génération de rapport, etc.
▪ Internet : outils de publication web, serveur datasocket, TCP/IP, envoie d’alertes par email, etc.

2. ENVIRONNEMENT LABVIEW
Les programmes LabVIEW sont appelés Instruments Virtuels ou Virtual Instruments (VI) à cause de leur apparence
et leur fonctionnement semblables à ceux d’instruments réels, tels que les oscilloscopes et les multimètres. On
distingue trois composantes dans un VI :

 Face avant (Front Panel) : C'est l'interface utilisateur (UI : User Interface) qui contiendra :
▪ Les Contrôles qui représentent les entrées.
▪ Les Indicateurs qui représentent les sorties et les Diagrammes.

 Block Diagramme : C'est la fenêtre de programmation et d’affichage du code source. Les objets de la face
avant apparaissent en tant que terminaux sur le diagramme et l'interaction entre face avant et diagramme se
fait par le raccourcis clavier (Ctrl+E) ou le sous-menu.

 Icône/connecteur : C'est la représentation graphique d’un sous-VI ainsi que les moyens de connexion avec
les autres sous-Vis.

HANAFI AHMED – EST FES Page 1


CHAPITRE N°1 : INTRODUCTION A LABVIEW

Développement des connaissances

2.1. Face Avant :


Barre d’outils Icône/connecteurs

Indicateurs Contrôles

2.2. Block Diagramme :


Barre d’outils

Terminaux
Constantes d’indicateurs
numériques (Sorties)

Terminaux de
contrôles
(Entrée)

Nœuds (Fonction mathèmatique)

2.3. Les barres d'outils :

: Exécution du programme VI : Aligner les objets


: Exécution continue : Egalisation espace entre objets
: Arrêt du programme VI : Redimensionner les objets face avant
: Pause/Reprise : Plan de l’objet (premier ou arrière)

: Animer le diagramme pendant exécution : Arrêter l’exécution


: Exécuter de façon détailler pas par pas
: Nettoyer le diagramme
: Exécuter sans détailler

HANAFI AHMED – EST FES Page 2


CHAPITRE N°1 : INTRODUCTION A LABVIEW

Développement des connaissances


2.4. La palette de commande de la face avant (Controls palette) :
Dans cette palette nous trouverons tous les éléments (commandes et indicateurs) nécessaires à la création de la
face avant d'une application. Elle est disponible à partir de la fenêtre face avant par un clic droit avec la souris
ou dans la barre des menus : “ View  Controls Palette”
Contrôles/Indicateurs
Booléens
Chaines de caractères
Chemin de fichiers
Contrôles/Indicateurs
Numériques
Listes – Table – Arbres

Tableaux – Matrices
Clusters (Groupes) Graphes

Conteneurs

Menus déroulants
Listes énumérées Décorations

2.5. La palette de fonctions du diagramme (Controls palette):


Dans cette palette nous trouverons tous les éléments (fonctions de base, VI Express, etc.) nécessaires à la
création du code graphique dans la fenêtre diagramme. Elle est disponible à partir de la fenêtre diagramme par
un clic droit avec la souris ou dans la barre des menus : “ View  Functions Palette ”.

Fonctions sur Tableaux


(Build – Initialize – Insert)

Boucles et Structures
(While – For – Case etc.) Fonctions sur chaines
de caractères

Fonctions numériques

Fonctions booléennes Fonctions temporelles

Fonctions de
comparaison
Fonctions sur les graphes
Opérations E/S sur
fichiers

Synchronisation
(Temps réel) Fonctions son et image

E/S des instruments


(VISA – Interface série – etc.)

HANAFI AHMED – EST FES Page 3


CHAPITRE N°1 : INTRODUCTION A LABVIEW

Développement des connaissances


3. TYPES DE DONNEES
Terminal Type de données Description
Une chaîne est une séquence de caractères ASCII affichables ou non
affichables. Parmi les applications les plus courantes des chaînes :
▪ Créer des messages texte simples.
▪ Contrôle des instruments en envoyant des commandes de texte à
l’instrument et en renvoyant les valeurs de données sous la forme de
chaînes ASCII, que vous convertissez ensuite en valeurs numériques.
▪ Stockage de données numériques sur le disque dans un fichier ASCII. Pour
String Data Type
cela, vous devez d’abord convertir les données numériques en chaînes
avant d'écrire les données sur un fichier de disque.
▪ Demander ou inviter l'utilisateur à l'aide de boîtes de dialogue.
Sur le panneau avant, les chaînes apparaissent sous forme de tableaux, de
zones de saisie de texte et d’étiquettes. LabVIEW comprend des VIs intégrés
et fonctions que vous pouvez utiliser pour manipuler des chaînes, y compris
leur formatage, leur analyse et autres éditions.

LabVIEW représente des données numériques sous forme de nombres à


virgule flottante, nombres à virgule fixe, entiers, non signés entiers et
nombres complexes :
▪ La double et simple précision ainsi que les données numériques complexes
sont représentées avec la couleur orange dans LabVIEW.
Numeric Data Type
▪ Toutes les données numériques entières sont représentées par la couleur
bleue.
Remarque : La différence entre les types de données numériques est le
nombre de bits qu’ils utilisent pour stocker les données et les données et les
valeurs qu'ils représentent.

LabVIEW stocke les données booléennes sous forme de valeurs 8 bits. Un


booléen peut être utilisé dans LabVIEW pour représenter un 0 ou un 1, ou un
Vrai ou faux. Si la valeur sur 8 bits est zéro, la valeur booléenne est FALSE.
Toute valeur non nulle représente TRUE.
Les applications courantes pour les données booléennes incluent :
Boolean Data Type
▪ La représentation de données numériques.
▪ L'utilisation comme contrôle booléen sur la face avant qui agit comme un
commutateur ayant une action mécanique souvent utilisée pour contrôler
une structure ou une action.
▪ L'utilisation comme indicateur booléen sur la face avant.

Les fils associés aux variables servent à acheminer les données entre terminaux via les nœuds du VI. La circulation
des données est unidirectionnelle :

Commande  Indicateur

Note : Épaisseur du fil indique la nature des données (scalaire, tableau 1D, tableau 2D)

HANAFI AHMED – EST FES Page 4


CHAPITRE N°1 : INTRODUCTION A LABVIEW

Développement des connaissances


4. LES SOUS-VI
Un sous VI est un VI qui peut être utilisé dans un autre VI de plus haut niveau. Son utilisation présente les
avantages suivants :

 Modularité : création de blocs de base réutilisable pour diverses applications pour un gain de productivité
 Facilite le « débogage ».
 Nécessite une seule création de code.

Icone du
sous-VI

Paterne du sous - VI

VI Principal

Sous – VI : « Calcul1.vi »

Les étapes de création d’un sous VI sont les suivantes :

 La création du diagramme correspondant au sous VI.


 Définir le paterne (Interface de liaison commandes / indicateur) en fonction du nombre d’entrées et de
sorties :

 Assigner ensuite les terminaux.


 Personnaliser graphiquement l’icône du sous VI en double cliquant dessu.
 Sauvegarder le sous VI dans le dossier "C:\Program Files\National Instruments\LabVIEW 2017\user.lib".

HANAFI AHMED – EST FES Page 5


CHAPITRE N°2 : BOUCLES, STRUCTURES ET REGSITRES A DECALAGE

Développement des connaissances

1. PALETTE STRUCTURES
Les boucles permettent l’exécution d’un programme, d’un sous-programme ou d’une partie de programme jusqu’à une
action ou une valeur définie par l’opérateur : For Loop et While Loop.

Les structures permettent d’organiser, de séquencer ou de conditionner les éléments d’un V.I : Timed structure,
Case structure et Event Structure.

Boucle WHILE Structure TEMPORELLE

Boucle FOR

Structure
CONDITION Structure EVENEMENT

Structure SEQUENCE Structure FORMULE

2. APPLICATION DE LA BOUCLE "FOR" :


La boucle FOR répète une partie du code diagramme un nombre déterminé de fois, ce nombre étant définissable par
l’opérateur. Elle est définie par 2 terminaux :

Terminal de comptage
Entrée numérique définie par l’utilisateur et
qui indique le nombre total d’exécution

Sortie numérique qui indique le nombre


Terminal d’itération d’itération effectuée

HANAFI AHMED – EST FES Page 6


CHAPITRE N°2 : BOUCLES, STRUCTURES ET REGSITRES A DECALAGE

Développement des connaissances

3. APPLICATION DE LA BOUCLE "WHILE" :


La boucle WHILE répète le code diagramme contenu à l’intérieur de la boucle jusqu’à un changement d’état de la
variable booléenne associé au terminal conditionnel. Elle est définie par 2 terminaux :

· Teste la valeur du terminal conditionnel


à chaque itération.
Terminal de commande · La boucle s’exécute au moins pendant
booléen une itération.

Terminal d’itération Terminal d’itération

4. APPLICATION DES REGISTRES A DECALAGE :


Un registre à décalage prend des données du côté droit et les reporte du côté gauche à l’itération suivante.
L’initialisation du registre à décalage est importante pour éviter les erreurs :

HANAFI AHMED – EST FES Page 7


CHAPITRE N°2 : BOUCLES, STRUCTURES ET REGSITRES A DECALAGE

Développement des connaissances


5. APPLICATION DE LA STRUCTURE "CONDITION" :
La structure CONDITION est organisée sous forme de fenêtres associées :
 Une seule case est visible à la fois et elle correspond à l'un des cas de figures du terminal de sélection.
 Chaque case contiendra un sous-diagramme et 1 seul cas s’exécute à la fois selon le terminal de sélection.

2 cas possibles : True - False

Terminal de sélection booléen

N cas possibles : 231-1

Terminal de sélection
numérique

Exemple d'application avec un terminal de sélection booléenne :

Exemple d'application avec un terminal de sélection numérique :

HANAFI AHMED – EST FES Page 8


CHAPITRE N°2 : BOUCLES, STRUCTURES ET REGSITRES A DECALAGE

Développement des connaissances


6. APPLICATION DE LA STRUCTURE "BOITE DE CALCUL" ou "FORMULA NODE" :
L'avantage de l'utilisation de la boîte de calcul est la possibilité d'implémenter des équations compliquées, avec une
rapidité d’exécution du code par rapport à l’utilisation des fonctions de base :

Fonctions de base Boite de calcul

L'utilisation des boites de calcule doit caractérisée par :


 Les variables sont créées sur le bord.
 Chaque énoncé doit se terminer par un point virgule (;).
 La fenêtre d’aide contextuelle montre des fonctions disponibles.

HANAFI AHMED – EST FES Page 9


CHAPITRE N°3 : CHAINES DE CARACTERES, TABLEAUX ET CLUSTERS

Développement des connaissances


1. CHAINES DE CARACTERES :
Une chaîne de caractères est une suite de caractères ASCII qui est le code le plus répandu pour tous les caractères
alphanumériques (American Standard Code for Information Interchange).

Une chaine de caractère n'est pas uniquement utilisée pour la transmission et ou le traitement de messages textuels,
mais aussi pour la communication série de données comprenant entre autres des valeurs numériques :

Séparateur

Donnée 1 VOLTS DC +1.2E+1 ; VOLTS DC +1.2E+1 Donnée 2

Gamme Mode Valeur

Les contrôles ou indicateurs de chaînes sont dans le palette "String & Path" dans la face avant :

1.1. Modes d'affichage :

1.2. Quelques fonctions pour la manipulation des chaines de caractères :


Dans le bloc Diagramme, plusieurs fonctions sont disponibles dans la palette "String" pour la manipulation des
chaînes :

Longueur d'une Concaténer une Remplacer une portion de Formater une Balayer une
chaine chaine chaine chaine chaine

HANAFI AHMED – EST FES Page 10


CHAPITRE N°3 : CHAINES DE CARACTERES, TABLEAUX ET CLUSTERS

Développement des connaissances


 Exemple N°1 de formatage d'une chaine avec le formatage par défaut %s %f :

 Exemple N°2 de formatage d'une chaine avec le formatage personnalisé %s %.2f %.2s :

 Dans certains cas (par exemple, pour communiquer avec un instrument via le port série) il est nécessaire
d’avoir comme séparateur décimal un point et non une virgule. Il faut donc ajouter le format %.; :

 L'exemple N°4 montre le balayage d'une chaine ainsi que la récupération d'une sous-chaine :

HANAFI AHMED – EST FES Page 11


CHAPITRE N°3 : CHAINES DE CARACTERES, TABLEAUX ET CLUSTERS

Développement des connaissances

2. LES TABLEAUX :
Les tableaux combinent des données du même type dans une structure de données. Il est ainsi possible de construire
des tableaux de données numériques, de booléens, de chemins, de clusters, de chaînes de caractères, etc. Les
tableaux sont utiles, par exemple, pour stocker des données générées, la plupart du temps, dans des boucles lors de
chaque itération :

Chaque élément d’un tableau est accessible par son indice. Ainsi pour l'exemple ci-dessous, la valeur ou l’élément "12"
est à l’indice 0 et l’élément "56,9" est à l’indice 3 :

Afficheur d’indice Afficheur d’éléments

2.1. Construire un tableau manuellement :


▪ A partir de la palette "Controls" de la face avant, sélectionner "Array" dans la palette "Array, Matrix &
Cluster" et déposer le tableau vide sur la face avant :

Tableau vide

▪ A partir de la palette "Functions" du Block Diagramme, sélectionner "Array Constant" de la palette "Array"
et la déposer dans le diagramme :

HANAFI AHMED – EST FES Page 12


CHAPITRE N°3 : CHAINES DE CARACTERES, TABLEAUX ET CLUSTERS

Développement des connaissances


▪ Placer une constante dans le tableau (une constante numérique, une chaîne de caractères, un booléen, etc).
La couleur de l'objet "Array Constant" va changer alors en fonction du type de la constante.

▪ Relier l'objet "Array constant" à l'objet "Array" et revenir à la face avant pour remplir le tableau :

2.2. Construire un tableau automatiquement :


La création automatique de tableaux se fait à l’aide de boucles FOR ou WHILE avec la possibilité d’indexer et de
générer des tableaux automatiquement à leur bordure :

▪ L'auto-indexation est activée par défaut pour les boucles FOR mais pas pour les boucles WHILE.
▪ Une itération de la boucle correspond à une donnée du tableau.
▪ Pour la création d'un tableau 1D, on utilise une boucle FOR auto-indexée Pour la c:

▪ Pour la création d'un tableau 2D, on utilise 2 boucles FOR auto-indexée imbriquées :
Boucle interne = création des colonnes et Boucle externe = création des lignes

HANAFI AHMED – EST FES Page 13


CHAPITRE N°3 : CHAINES DE CARACTERES, TABLEAUX ET CLUSTERS

Développement des connaissances


3. LES CLUSTERS :
A la différence d'un tableau, un cluster sont équivalents à un enregistrement ou à une structure qui regroupe des
éléments de données de types mixtes :

▪ Les données peuvent être booléens, numériques et chaînes de caractères.


▪ Les clusters doivent tous être, soit des contrôles, soit des indicateurs.
▪ Le regroupement de plusieurs éléments de données dans un cluster élimine l’encombrement des câbles sur le
diagramme et réduit le nombre de terminaux de connecteur dont les sous-VIs ont besoin.
▪ La plupart des clusters sur le diagramme ont un motif de fil rose et un terminal de type de données. Les
clusters d'erreur ont une couleur sombre modèle de fil jaune et terminal de type de données.

3.1. Création d'un cluster :


▪ A partir de la palette "Controls" de la face avant, sélectionner "Cluster" dans la palette "Array, Matrix &
Cluster" et déposer le tableau vide sur la face avant :

Cluster Vide
(Face avant)
Cluster Control
(Diagramme)

▪ Glisser les objets de données ou les éléments, qui peut être numérique, booléen, chaîne, array, etc, dans le
shell du cluster.

3.2. Création une "constante cluster" :


On peut utiliser une "constante cluster" pour stocker des données constantes ou comme base de comparaison
avec un autre cluster.

Pour créer une constante de cluster sur le diagramme :

▪ Sélectionnez une constante de cluster dans la palette "Functions" et placer le shell du cluster sur le
diagramme.
▪ Placez une constante de chaîne, une constante numérique, une constante booléenne ou Constante de cluster
dans le shell du cluster.
▪ Si vous avez un contrôle ou un indicateur de cluster sur la face avant et que vous souhaitez créer un "cluster
constante" contenant les mêmes éléments sur le diagramme, vous pouvez cliquer avec le bouton droit de la
souris sur le cluster dans la fenêtre Diagramme avant et sélectionnez Créer >> Constante :

HANAFI AHMED – EST FES Page 14


CHAPITRE N°3 : CHAINES DE CARACTERES, TABLEAUX ET CLUSTERS

Développement des connaissances

3.3. Utilisation des fonctions de cluster :


Les fonctions de la palette "Cluster, Class & Variant" du Block Diagramme Utilisez les fonctions de cluster pour
créer et manipuler des clusters. Par exemple, vous pouvez effectuer les tâches suivantes :

▪ Extraire des éléments de données individuels d'un cluster.


▪ Ajouter des éléments de données individuels à un cluster.
▪ Divisez un cluster en ses éléments de données individuels.

Fonctions pour la
manipulation des
clusters

3.3.1. Assemblage/Création d'un cluster : Fonction "Bundle"

3.3.2. Modifier un cluster : Fonction "Bundle By Name"

3.3.3. Désassembler un cluster : Fonction "UnBundle" et "Unbundle By Name"

HANAFI AHMED – EST FES Page 15


CHAPITRE N°3 : CHAINES DE CARACTERES, TABLEAUX ET CLUSTERS

Développement des connaissances


3.4. Les clusters d'erreurs :
Un cluster d’erreur permet la visualisation d’un problème lors de l’exécution d’un VI. Il contient les informations
suivantes :

▪ État : rapporte si une erreur se produit (valeur booléenne).


▪ Code : rapport le code spécifique de l’erreur (Entier 32 bits).
▪ Source : donne des informations sur l’erreur (Chaîne de caractères).

HANAFI AHMED – EST FES Page 16


CHAPITRE N°4 : GRAPHES ET FICHIERS

Développement des connaissances

1. LES GRAPHES :
1.1. Types de graphes :
Les graphes sont des indicateurs numériques particuliers qui affichent une ou plusieurs courbes acquises à une
vitesse constante (dt ou Δx constant entre les données) :

Type de graphe Description Vue face avant

Graphe déroulant Trace les données en continu, en


plaçant les anciennes données sur la
gauche et les nouvelles à droite. Les
anciennes données disparaissent au
fur et à mesure que de nouvelles
arrivent.

Graphe

Trace un tableau de nombres en


fonction de leurs indices.

Graphe XY

Trace un seul tableau en fonction de


deux autres tableaux.

Graphe numérique

Trace des bits depuis des données


binaires.

1.2. Données Waveform :


Les Graphes utilisent le type de données "Waveform" qui est un Cluster qui contient :

▪ t0 : temps de départ qui peut être le Temps absolu ou le Temps relatif au départ de la mesure
▪ dt : incrément de temps entre les données
▪ Y : tableau 1D contenant les données à afficher.

HANAFI AHMED – EST FES Page 17


CHAPITRE N°4 : GRAPHES ET FICHIERS

Développement des connaissances


1.3. Exemple d'application du graphe déroulant (Waveform Chart) :
 Le traçage se fait au fur et à mesure que les données sont reçues par le graphe.
 Le graphe conserve un historique des données (buffer) des mises à jour précédentes : 1024 points par
défaut (valeur qui peut être configurée).
 Trois modes de rafraîchissement :
▪ Graphe déroulant (Strip Chart) : données cumulées à vitesse de défilement donnée.
▪ Oscillographe (Scope Chart) : données effacées dès le plein écran puis retracées.
▪ Graphe à balayage (Sweep Chart) : conservation de toutes les données mais retracé et création
d’une barre de positionnement.

Graphe déroulant

Oscillographe

Graphe à balayage

 Arrangements possibles des courbes :


▪ Superposées : un seul graphique pour toutes les courbes
▪ Empilées : un graphique par courbe

L'exemple d'application permet de convertir la température du degrés Fahrenheit au degré Celsius, tout en
représentant son évolution dans un graphe déroulant toutes les 0.1s :

HANAFI AHMED – EST FES Page 18


CHAPITRE N°4 : GRAPHES ET FICHIERS

Développement des connaissances


1.4. Exemple d'application du graphe (Waveform Graph) :
 Le graphe affiche les données d'une ou plusieurs courbes (tableaux 1D ou 2D) d'un seul coup.
 Il n'y a pas de mise à jour des données comme dans le cas du graphe déroulant.
 Pour le graphe, les points sont échantillonnés régulièrement (dt = cte).

1.5. Exemple d'application du graphe XY (XY Graph) :


Le graphe XY (XY Graph) utilise un tableau de coordonnées X-Y pour afficher des ensembles de points
échantillonnés régulièrement ou irrégulièrement (graphique cartésien). L'exemple d'application suivant permet
d’afficher la courbe d’équation y = 3x²:

HANAFI AHMED – EST FES Page 19


CHAPITRE N°4 : GRAPHES ET FICHIERS

Développement des connaissances


2. LES FICHIERS :
Les fichiers permettent à une application VI de passer des données vers et depuis des fichiers, qui peuvent être
des éléments binaires, du texte, ou des tableaux. On distingue une hiérarchie de fichiers sur 2 principaux niveaux :

 Fonctions d'entrée/sortie sur des fichiers bas niveau comme des fichiers texte (*.txt) :

 Fonctions d'entrée/sortie sur des fichiers haut niveaux appelés fichier LabVIEW Measurements (*.lvm),
à l'aide de VI Express :

L'utilisation des fichiers de haut niveau (*lvm) est préférable car ils gèrent de manière transparent les opérations
d’ouverture et de fermeture de fichier.

2.1. Exemple d'E/S avec les fichiers de bas niveau :

2.2. Exemple d'E/S avec les fichiers LabVIEW Measurements :

HANAFI AHMED – EST FES Page 20


CHAPITRE N°5 : ACQUISITION DES DONNEES ET COMMANDE : ARDUINO

Développement des connaissances


Une chaine de traitement numérique du signal via LabVIEW doit utiliser une carte interface entre la plateforme
LabVIEW sur PC et le processus constitué de capteurs/actionneurs. L’objectif de ce document est de vous présenter
des techniques d’interfaçage de la carte Arduino UNO ou MEGA avec LabVIEW en utilisant l'interface LabVIEW
pour Arduino.

1. PROCEDURE D'INSTALLATION :
L’objectif est de vous présenter des techniques d’interfaçage de la carte Arduino UNO ou MEGA avec LabVIEW en
utilisant l'interface LabVIEW pour Arduino. La configuration de cette interface est un processus en six étapes :

a. Installation de LabVIEW et le logiciel officiel Arduino ;


b. Installation des pilotes NI-VISA (Virtual Instrument Software Architecture) qui permettront la
communication avec les périphériques connectés à un port série du PC, à savoir la carte Arduino qui sera
connecté à un des ports USB ;
c. Installez l’édition communautaire (gratuite) de JKI VI Package Manager (VIPM) qui est un gestionnaire
de paquets permettant de télécharger les outils permettant de communiquer avec Arduino ;
d. Lancer VIPM, rechercher le paquet "LabVIEW Interface for Arduino" et cliquer sur le bouton pour
l'installer ;

e. Connecter ensuite votre Arduino à votre PC et détecter le port qui lui a été affecté :

f. Ouvrir le logiciel Arduino et Téléverser le micrologiciel de "LabVIEW Interface for Arduino" sur votre
Arduino. Le micrologiciel LIFA_Base.ino se trouve dans "C: \ Programmes \ National Instruments \
LabVIEW 201x \ vi.lib \ Interface LabVIEW pour Arduino \ Firmware \ LIFA_Base\" :

g. Vous êtes maintenant prêt à utiliser l'interface LabVIEW pour Arduino.

HANAFI AHMED – EST FES Page 21


CHAPITRE N°5 : ACQUISITION DES DONNEES ET COMMANDE : ARDUINO

Développement des connaissances

2. INTERFACE LABVIEW POUR ARDUINO :


Lorsque le paquet "LabVIEW Interface for Arduino", la palette Arduino devient disponible dans LabVIEW :

3. PROCEDURES ELEMENTAIRES.
3.1. Sortie digitale : allumage d'une LED
La carte Arduino possède une LED connectée au Pin 13.
Aussi, sans rien brancher, il est possible de créer un
premier programme (voir ci-dessous) permettant la
commande de cette LED via un commutateur graphique :

2
1 3 4 6 7 10

8 5 9

Note : Concernant le câblage, la couleur "magenta" représente la connexion courante avec la carte Arduino,
tandis que la couleur "vert ocre" représente le transfert des erreurs au gestionnaire d’erreurs.

HANAFI AHMED – EST FES Page 22


CHAPITRE N°5 : ACQUISITION DES DONNEES ET COMMANDE : ARDUINO

Développement des connaissances


 : INIT – Initialise la connexion avec la carte Arduino.

 : VISA ressource – contrôle permettant de sélectionner le port COM auquel est connectée la carte
Arduino.
 : Set Digital Pin Mode - Configure si le Pin est une entrée ou une sortie. Dans notre cas, le Pin 13 est une
sortie.

 : Digital Write Pin - Ecrit la valeur indiquée par le contrôle commande (Slide switch) sur le Pin digital
concerné (13).

 : Slide Switch – Un contrôle graphique qui permet de commander l'état de la LED.


 : Digital Read Pin - Lit la valeur numérique du Pin digital concerné D0 – D13 (ici 13).

: Arduino Close – Ferme la connexion avec la carte Arduino et le port COM correspondant.
 : While Loop – Boucle While conditionée par un bouton Stop.
 : Stop Button – Permet d'arrêter la boucle "While Loop".
: Simple Error Handler - Gestionnaire d’erreurs qui se trouve dans la palette "Dialog & Uer Interface".
Astuce : Pour créer les constantes, les contrôles ou les indicateurs, Clic droit Create :

HANAFI AHMED – EST FES Page 23


CHAPITRE N°5 : ACQUISITION DES DONNEES ET COMMANDE : ARDUINO

Développement des connaissances


3.2. Entrée Analogique : Lire une tension analogique
Nous allons lire la tension issue d’un capteur de
température analogique LM35 et l’afficher sous
LabVIEW. Ce capteur donne 0V à 0°C et à une sensibilité
S de +10mV/°C. Ce qui fait par exemple à 25°C : 250mV.
La variation de tension n’est pas importante et on ne va
pas l'amplifier pour garder un schéma de câblage simple.

Le convertisseur analogique numérique de l’Atmel est un


CAN 10bits. La plage de numérisation est de base entre
0V et +Vcc = 5V. Le quantum fait donc q = 5/2^10 =
4,88mV.

On réalise le câblage suivant :

1 2 3

5
6
4

 : Analog Read Pin – Lit la tension présente à l'entrée analogique spécifiée (A0 – A5). Il est à remarquer que
ce contrôle donne une tension et pas un nombre compris entre 0 et 1023 en appliquant la relation V = q.
N10.

 : Multiply – Retourne le produit de la tension fournit par le capteur avec 100 pour récupérer la valeur de la
température : T(°C) = V / S avec S = 10mV/°C.
 : Gauge – Indicateur numérique permettant l'affichage de la valeur instantanée de la température. On le
retrouve dans la palette Silver/Numeric.
 : Waveform Chart - Un type spécial d'indicateur numérique qui affiche un ou plusieurs tracés de données
généralement acquises à une vitesse constante. La configuration de ces propriétés est résumée par les
figures :

HANAFI AHMED – EST FES Page 24


CHAPITRE N°5 : ACQUISITION DES DONNEES ET COMMANDE : ARDUINO

Développement des connaissances

 : Horizontal Fill Slide – Contrôle numérique permettant d'afficher des données numériques dans une
diapositive horizontale avec une échelle personnalisable. Dans notre cas, il permettra de régler l'intervalle de
répétition de la boucle et donc l'intervalle de mesure qui sera indiqué en secondes :

 : Wait Until Next ms Multiple – Fonction temporisation permettant d'attendre un nombre de milliseconde
spécifiée en entrée (ce qui justifie la multiplication par 1000). Elle est utilisée pour fixer la fréquence
d'exécution de la boucle.

3.3. Sortie Analogique : Moteur CC commandé en sens et en vitesse


Nous allons utiliser un pont en H représenté par le circuit intégré L293D qui permet de piloter deux moteurs à
courant continue :

HANAFI AHMED – EST FES Page 25


CHAPITRE N°5 : ACQUISITION DES DONNEES ET COMMANDE : ARDUINO

Développement des connaissances


▪ Broche 1 (EN1) : activer le premier pont en H
▪ Broche 2 et 7 (1A et 2A) : fixer le sens de rotation ou
freiner
▪ Broche 3 et 6 (Y1 et Y2) : branchement moteur CC.
▪ Broche 16 (VCC1) : alimentation du circuit intégrée (+5V)
▪ Broche 8 (VCC2) : alimentation du moteur (+4.5V .. 36V)
▪ Broches 4, 5, 12 et 13 : Masse commune

Concernant la commande via Arduino :

▪ Les broches 7 et 8 devront donc être en mode Digital –


Output pour piloter le sens du moteur.
▪ La broche 11 en mode MLI (Modulation Largeur
Impulsion) pour varier la vitesse de rotation. Arduino Uno
possède 6 broches en tout pouvant fonctionnées en mode
PWM.

Le tableau suivant résume le mode de commande :

HANAFI AHMED – EST FES Page 26

Vous aimerez peut-être aussi