Stage Systme complet dacquisition de donnes Lyce Clos

  • Slides: 58
Download presentation
Stage “Système complet d'acquisition de données” Lycée Clos Banet Perpignan ( 2 et 9

Stage “Système complet d'acquisition de données” Lycée Clos Banet Perpignan ( 2 et 9 février 2005 ) Lycée Joffre Montpellier (SAMS) ( 6 et 7 avril 2005 ) Animateur : Christian BISSIERES ( Professeur de Physique Appliquée ) Responsable pédagogique : Jean-Claude REBEYROLE ( IA IPR )

Utilisation d'une chaîne complète d'acquisition de données "du capteur à l'ordinateur" Pilotage de la

Utilisation d'une chaîne complète d'acquisition de données "du capteur à l'ordinateur" Pilotage de la carte directement avec Excel Visual Basic (VBA)

Mini-carte d’acquisition autoalimentée par le port série RS 232 (version 2003)

Mini-carte d’acquisition autoalimentée par le port série RS 232 (version 2003)

Système complet d’acquisition pilotable par le port série RS 232 (version 2004)

Système complet d’acquisition pilotable par le port série RS 232 (version 2004)

Programme "voltmètre"

Programme "voltmètre"

Objectifs du stage 1 - Utilisation du port série RS 232 pour communiquer avec

Objectifs du stage 1 - Utilisation du port série RS 232 pour communiquer avec des montages électroniques à l'aide d'Excel (Visual basic). 2 - Pilotage de la mini-carte d’acquisition (version 2003). 3 - Utilisation du système complet d'acquisition pour mesurer des températures avec une simple diode mais aussi avec un LM 335.

Déroulement du stage 1. Utilisation du port série RS 232 à l'aide d'Excel (Visual

Déroulement du stage 1. Utilisation du port série RS 232 à l'aide d'Excel (Visual Basic) 1. 1. Utiliser Visual Basic (présent avec Excel) pour faire de la programmation sous Windows. 1. 2. Savoir déclarer et utiliser, avec Visual Basic, les fonctions et procédures d’une DLL donnée. 1. 3. Utiliser les fonctions de pilotage du port série avec la DLL “port. dll” pour piloter une maquette de feux tricolores.

1. 1. Utilisation de Visual Basic (VBA) 1 - Basculer vers la fenêtre Visual

1. 1. Utilisation de Visual Basic (VBA) 1 - Basculer vers la fenêtre Visual Basic Editor Le travail à faire est indiqué par . Le code à écrire ou déjà écrit est indiqué en vert et les commentaire sont précédés par le caractère '. Pour basculer entre la feuille Excel et la fenêtre Visual Basic il faut faire Alt + F 11. Pour se placer dans la fenêtre Visual Basic Editor, effectuer les manipulations ci-dessous: Démarrer Excel. Sélectionner le menu Outils / Macro / Visual Basic Editor. Dans la fenêtre Projet – VBA Project, faire un double-clic sur Feuil 1. La fenêtre où sera inséré le code du programme relatif à la feuille 1 apparaît sur la droite de l’écran :

1. 1. Utilisation de Visual Basic (VBA) 2 - Remplir des cellules directement depuis

1. 1. Utilisation de Visual Basic (VBA) 2 - Remplir des cellules directement depuis VBA Il faut tout d’abord donner un nom au programme : Dans la fenêtre relative aux programmes de la feuille 1, insérer le code : Sub sinusoide() 'début et nom du programme End Sub 'fin du programme Entre Sub et End Sub, insérer le code suivant: Cells(2, 2) = "Tension(Volts)" 'texte dans cellule B 2 Cells(4, 2) = 12 'valeur 12 dans cellule B 4 Cells(5, 2) = 5 'valeur 5 dans cellule B 5 Appuyer sur le bouton Exécuter, sélectionner le programme " Sub sinusoide()" (macro) à exécuter et le résultat sera visible dans la feuille Excel (Faire Alt + F 11 pour basculer de Excel vers Visual Basic). Résultat

1. 1. Utilisation de Visual Basic (VBA) 3 - Tracer une sinusoïde réglable en

1. 1. Utilisation de Visual Basic (VBA) 3 - Tracer une sinusoïde réglable en amplitude et en fréquence Nous allons remplir automatiquement 101 points (temps et valeur) d'un sinusoïde d'amplitude et de fréquence déterminée. Modifier le code relatif à Sub sinusoide() de la façon suivante : Sub sinusoide() 'début et nom du programme Cells(1, 1)="t (ms)" Cells(1, 2)= "sinus (volt)" 'préparation du tableau pi = 3. 14159 tmax = 0. 001 amplitude = 5 frequence = 2000 'définition des constantes For n = 0 To 100 'debut de la boucle des 101 points t = tmax / 100 * n 'découpage du temps entre 0 et tmax Cells(n + 2 , 1) = t * 1000 'affichage du temps sinus = amplitude * Sin(2* pi * frequence * t) 'création et affectation de la variable sinus Cells(n + 2, 2) = sinus 'affichage des valeurs de la variable sinus Next n 'retour ou fin de la boucle End Sub 'fin du programme Exécuter le programme Sub sinusoïde et vérifier le résultats dans Excel

3 - Tracer une sinusoïde réglable en amplitude et en fréquence (suite et fin)

3 - Tracer une sinusoïde réglable en amplitude et en fréquence (suite et fin) Nous allons améliorer le programme en offrant la possibilité de régler l'amplitude et la fréquence à l'aide de barres de défilement. Revenir à Excel et faire Affichage / Barres d’outils / Boite à outils contrôles. Sélectionner le contrôle Barre de défilement et le dessiner horizontalement sur la feuille (amplitude). Faire un clic droit sur la barre pour afficher la fenêtre propriétés et les modifier (Min : 0 ; Max : 12). Dessiner aussi la barre de défilement relative à la fréquence (Min : 500 ; Max : 5000). Faire un double clic sur la 1° barre de défilement; on doit maintenant se retrouver dans VBA avec un nouveau programme Scrollbar 1_Change. Ecrire simplement le code sinusoide à l’intérieur du programme pour appeler la programme sinusoide à chaque changement de position du curseur. Refaire le pour la 2° barre de défilement. Il faut modifier légèrement le code du programme sinusoïde. Pour tester le programme, il faut désactiver le mode "création" qui a été activé pour créer les contrôles. Partie du programme modifiée

1. 2. Déclaration et utilisation d'une DLL 1 - Pourquoi utiliser une DLL ?

1. 2. Déclaration et utilisation d'une DLL 1 - Pourquoi utiliser une DLL ? Pour piloter les montages proposés, il nous faut des fonctions qui exécutent les tâches suivantes : Ouvrir le port "COM" ( COM 1 , COM 2 , … au choix ). Refermer le port "COM" après usage. Commander les 3 lignes de sorties du port série ( 0 logique -11 V et 1 logique +11 V ). Lire l’état des 4 lignes d’entrée du port série ( tension < 1 V 0 logique et tension > 2 V 1 logique ). Générer des fonctions temporelles ( compteurs et temporisations ). Ces fonctions ne sont pas disponibles dans VBA, nous allons donc utiliser les fonctions suivantes proposées par "port. dll" : OPENCOM Exemple : OPENCOM(" COM 2 , 1200 , N , 8 , 1 ") permet d'ouvrir "COM 2" avec 1200 bauds, pas de bit de parité, 8 bits de données et 1 bit de stop. CLOSECOM permet de refermer le dernier port ouvert. DTR, RTS et TXD commande des lignes de sortie Exemple : DTR 1 permet de mettre à "1" la ligne de sortie DTR (+11 V). CTS, DSR, RI, DCD Exemple : lecture = DSR place la valeur DSR (0 ou 1) dans la variable lecture. DELAY Exemple : DELAY 100 introduit une pause de 100 ms dans le programme. DELAYUS même fonction que DELAY mais en microsecondes.

1 - Pourquoi utiliser une DLL ? (suite et fin) TIMEINIT Mise à zéro

1 - Pourquoi utiliser une DLL ? (suite et fin) TIMEINIT Mise à zéro et démarrage du compteur des millisecondes. TIMEREAD Lecture du compteur des millisecondes. Exemple 1 : While TIMEREAD < 1000 Wend la boucle WHILE. . WHEND reste "bloquée" tant que le compteur n'a pas dépassé 1000 ms. Exemple 2 : For n = 1 to 10 WHILE TIMEREAD < n*100 Wend Cells ( n , 1 ) = Mesure Next n on mesure 10 points avec un intervalle de 100 ms et on place les points dans le tableur. TIMEINITUS et TIMEREADUS Mêmes fonctions que TIMEINIT et TIMEREAD mais en microsecondes. Remarques : utiliser les d'un compteur, elles TIMEREAD. Pour des déclenchements temporels (acquisitions), il ne faut pas fonctions DELAY ou DELAYUS car elles ne dépendent pas introduisent uniquement des "pauses". Le compteur continue à "compter" même après une instruction REALTIME Cette fonction rend le programme prioritaire par rapport à toutes les tâches que gère Windows. Exemple : REALTIME True activation de la priorité temporelle.

1. 2. Déclaration et utilisation d'une DLL 2 - Déclaration des fonctions de la

1. 2. Déclaration et utilisation d'une DLL 2 - Déclaration des fonctions de la DDL (port. dll) Important : La DLL devra être placée dans le répertoire du programme ou dans le dossier WindowsSystem. Avant de faire appel aux fonctions proposées par la DLL, il faut indiquer à notre programme que l'on va utiliser ces fonction. Voici le code qu'il faudra inscrire au début du programme pour déclarer les fonctions de la DLL qu'on vient de décrire : Declare Function OPENCOM Lib "Port" (By. Val A$) As Integer Declare Sub CLOSECOM Lib "Port" () Declare Sub DTR Lib "Port" (By. Val b%) Declare Sub RTS Lib "Port" (By. Val b%) Declare Sub TXD Lib "Port" (By. Val b%) Declare Function CTS Lib "Port" () As Integer Declare Function DSR Lib "Port" () As Integer Declare Function RI Lib "Port" () As Integer Declare Function DCD Lib "Port" () As Integer Declare Sub DELAY Lib "Port" (By. Val b%) Declare Sub TIMEINIT Lib "Port" () Declare Sub TIMEINITUS Lib "Port" () Declare Function TIMEREAD Lib "Port" () As Long Declare Function TIMEREADUS Lib "Port" () As Long Declare Sub DELAYUS Lib "Port" (By. Val l As Long) Declare Sub REALTIME Lib "Port" (By. Val i As Boolean)

1. 2. Déclaration et utilisation d'une DLL 3 - Réalisation d'un programme de feux

1. 2. Déclaration et utilisation d'une DLL 3 - Réalisation d'un programme de feux tricolores On va utiliser une petite plaque de test pour connecter une LED rouge sur RTS, une LED orange sur DTR et une LED verte sur TXD. Remarque : on peut brancher directement une LED entre une sortie du port série et la masse car les sorties possèdent une résistance interne de 450 environ ( ce qui donnera 20 m. A pour la diode ). La déclaration des fonctions peut se faire "une fois pour toutes" en chargeant un module qui contient le Code relatif aux déclarations. Ouvrir un nouveau fichier Excel. Faire un clic droit dans la fenêtre project VBAProject et sélectionner Importer un fichier…. Le fichier se nomme port_dll. bas et est placé dans le répertoire de travail du stage. Une fois le fichier importé, faire un double clic dessus et constater qu'il contient le code relatif aux déclarations. Résultat Clic droit Remarque : La DLL contient aussi d'autres fonctions ( carte son, port de jeux …).

3 - Réalisation d'un programme de feux tricolores (suite) Revenir au classeur Excel (Alt+F

3 - Réalisation d'un programme de feux tricolores (suite) Revenir au classeur Excel (Alt+F 11) et faire Affichage / Barre d'outils / boite à outils Contrôles. Placer le Bouton de commande et la Barre de défilement (min=1 et max=10) comme indiqué cidessous (les autres composants ne sont que des "dessins"): Ba rre de d éfi lem mmande Bouton de co en t

3 - Réalisation d'un programme de feux tricolores (suite) Faire un double clic sur

3 - Réalisation d'un programme de feux tricolores (suite) Faire un double clic sur le bouton de commande, on se retrouve alors dans VBA avec le programme vide Command. Button 1_Click (vide) à compléter entre Private Sub et End Sub: Private Sub Command. Button 1_Click() OPENCOM ("COM 2, 1200, N, 8, 1") 'Initialisation port com RTS 1 'allumage du rouge DTR 0 TXD 0 tempo = Scroll. Bar 1. Value * 100 'tempo en 10° de secondes -> ms TIMEINIT For n = 1 To 5 '5 cycles d'allumage des feux tricolores While TIMEREAD < (10 * n - 5) * tempo 'attente 5*tempo Wend RTS 0 DTR 0 TXD 1 'vert While TIMEREAD < (10 * n - 1) * tempo 'attente 4*tempo Wend RTS 0 DTR 1 'orange TXD 0 While TIMEREAD < (10 * n) * tempo 'attente 1*tempo Wend RTS 1 'rouge DTR 0 TXD 0 Next n CLOSECOM End Sub

3 - Réalisation d'un programme de feux tricolores (suite) Revenir à Excel, désactiver le

3 - Réalisation d'un programme de feux tricolores (suite) Revenir à Excel, désactiver le mode création, brancher la maquette et tester le programme.

2. Pilotage de la mini-carte d'acquisition 2. 1. Présentation de la carte. 2. 2.

2. Pilotage de la mini-carte d'acquisition 2. 1. Présentation de la carte. 2. 2. Programme "voltmètre". 2. 3. Programme "acquisition lente". 2. 3. Programme "acquisition rapide".

2. 1. Présentation de la carte 1 - Le composant TLC 549 Le TLC

2. 1. Présentation de la carte 1 - Le composant TLC 549 Le TLC 549 est un convertisseur 8 bits à sortie série. Le schéma ci-dessus représente son boîtier DIL 08 avec les broches suivantes : REF+ et REFANALOG IN VCC et GND I/O CLOCK DATA OUT CS : : tensions de référence du CAN; entrée analogique (mesure); alimentation et masse; lorsque cette ligne passe du niveau "1" au niveau "0", le bit de poids fort B 7 est envoyé sur la ligne DATA OUT; : lorsque cette ligne passe du niveau "1" au niveau "0", le bit suivant B 6 est envoyé sur la ligne DATA OUT et ainsi de suite jusqu'au bit B 0; : sortie numérique "bit par bit". La figure ci-contre résume le protocole de communication :

2. 1. Présentation de la carte 2 - Liaison avec le port série RS

2. 1. Présentation de la carte 2 - Liaison avec le port série RS 232 Le TLC 549 est directement relié au port série (seules des résistances et diodes " zener" adaptent les niveaux de tensions). Les liaisons sont les suivantes : La sortie TXD est reliée à VCC à travers un régulateur "5 V"; La sortie RTS est reliée à CS; La sortie DTR est reliée à I/O CLOCK; L'entrée DSR est reliée à DATA OUT. 3 - Relation donnant Ve en fonction de N(10) La broche REF+ est reliée à VCC (5 V) et la broche REF- est reliée à la masse (0 V). Le TLC 549 donne le tableau ci-contre : 5 La relation est donc : Ve = N(10) 255 Ve N(10) REF- 0 REF+ 255

2. 1. Présentation de la carte 4 - Schéma du montage

2. 1. Présentation de la carte 4 - Schéma du montage

2. 1. Présentation de la carte 5 - Typon + implantation

2. 1. Présentation de la carte 5 - Typon + implantation

2 -2 - Programme "voltmètre" 1 - Présentation L'utilisateur du programme devra d'abord activer

2 -2 - Programme "voltmètre" 1 - Présentation L'utilisateur du programme devra d'abord activer le Port COM avant de faire les mesures successives. Un clic sur le bouton "mesurer" lancera la mesure et l'affichera dans une étiquette puis dans la cellule active du tableur. Après chaque mesure, la cellule active se décale vers le bas. Pour réaliser cette interface "Voltmètre", on utilisera un contrôle "Bouton bascule" pour activer le Port COM, un contrôle "Bouton de commande" pour lancer la mesure et une "Etiquette" pour l'affichage de la mesure. Bouton de commande Bouton bascule Intitulé (Label)

2 -2 - Programme "voltmètre" 2 - Réalisation du programme Le travail à faire

2 -2 - Programme "voltmètre" 2 - Réalisation du programme Le travail à faire est indiqué par . Le code à écrire ou déjà écrit est indiqué en vert et les commentaire sont précédés par le caractère '. Pour basculer entre la feuille Excel et la fenêtre Visual Basic il faut faire Alt + F 11. Préparation du fichier Excel Ouvrir un nouveau fichier Excel, se placer dans la fenêtre Visual Basic et importer le module Port_dll. bas. Revenir dans Excel et placer les 3 contrôles. Faire un double clic sur le bouton bascule pour se retrouver dans la fenêtre Visual. Basic. Procédure Toggle. Button 1_Click() Le programme relatif au clic sur le bouton bascule apparaître vide comme indiqué ci-dessous : Private Sub Command. Button 1_Click() End Sub

2 - Réalisation du programme (suite) Procédure Toggle. Button 1_Click() (suite et fin) Compléter

2 - Réalisation du programme (suite) Procédure Toggle. Button 1_Click() (suite et fin) Compléter la procédure Toggle. Button 1_Click() avec les indications ci-dessous : Private Sub Toggle. Button 1_Click() If Toggle. Button 1. Value = True Then. . . à deviner. . . Command. Button 1. Enabled = True Toggle. Button 1. Caption = "Désactiver Port COM" Toggle. Button 1. Back. Color = &HFF& '***** Test Bouton "enfoncé" ***** 'Ouverture du Port COM 2 'Alimentation carte par TXD 'Activation du Bouton de mesure 'Changement texte dans bouton 'Changement couleur de bouton Else '***** Test Bouton "tiré" ****** 'Fermeture du Port COM 'Désactivation du Bouton de mesure 'Changement texte dans bouton 'Changement couleur de bouton 'effacement voltmètre 'fin du test . . . à deviner. . . Command. Button 1. Enabled = False Toggle. Button 1. Caption = "Activer Port COM" Toggle. Button 1. Back. Color = &HC 000& Label 1. Caption = "" End If End Sub

2 - Réalisation du programme (suite) Procédure Command. Button 1_Click() Revenir dans Excel, faire

2 - Réalisation du programme (suite) Procédure Command. Button 1_Click() Revenir dans Excel, faire un double clic sur le bouton de commande (on se retrouve dans Visual. Basic) et compléter la procédure Command. Button 1_Click() avec les indications ci-dessous : Private Sub Command. Button 1_Click() Lecture = 0. . . à deviner. . . Lecture = Lecture + 128 * DSR. . . à deviner. . . plusieurs lignes à deviner. . . Lecture = Lecture + 1 * DSR. . . à deviner. . . Mesure = Lecture *. . . à deviner. . . Label 1. Caption = Format(Mesure, "0. 000") & " volts" Active. Cell. Value = Mesure Active. Cell. Offset(row. Offset: =1, column. Offset: =0). Activate End Sub 'initialisation variable lecture 'priorité temporelle maximum 'CS"barre" à 1 'attente de 20 microsecondes 'CS"barre" à 0 'attente de 2 mirosecondes 'récupération du bit de poids "7" 'Clock à 1 'Clock à 0 'récupération du bit de poids "6" 'récupération bits de poids "5" à "1" 'récupération du bit de poids "0" 'Clock à 1 'fin de la priorité temporelle maximum 'Transformation Nombre -> Tension 'affichage mesure dans Label 1 'Affectation mesure cellule active 'décalage cellule active vers le bas

2 - Réalisation du programme (suite et fin) Connexion de la carte au port

2 - Réalisation du programme (suite et fin) Connexion de la carte au port série et essai du programme Connecter la carte électronique au port série COM 2. Se placer dans le classeur (Alt + F 11), désactiver le mode création et tester le programme avec une source de tension et un voltmètre précis pour vérifier les mesures. Si ça fonctionne (cela serait étonnant du 1° coup), plus rien à faire. . Si ce n'est pas le cas il faut voir pourquoi ? (erreur de frappe, protocole de travail mal suivi, le TP est mal expliqué. . . ). Amélioration de l'aspect : Il ne reste plus qu'à afficher le bon texte dans le bouton de commande. Dans Visual. Basic, faire un clic droit sur le contrôle Command. BUtton 1 pour afficher ses propriétés. Changer la propriété Caption (texte affiché). D'autres propriétés sont modifiables (Font, Back. Color. . . ). Fin de la manipulation sur le programme "voltmètre".

2 -3 - Programme "acquisition lente" 1 - Présentation Le programme devra lancer des

2 -3 - Programme "acquisition lente" 1 - Présentation Le programme devra lancer des mesures de façon automatique avec déclenchement par l'utilisateur: Réglage de la durée entre deux points d'acquisition (en secondes entières). Choix du nombre de points à mesurer. Un bouton de commande permettra d'afficher la fenêtre "Acquisition lente" :

2 -3 - Programme "acquisition lente" 2 - Réalisation du programme "acquisition lente" Préparation

2 -3 - Programme "acquisition lente" 2 - Réalisation du programme "acquisition lente" Préparation du fichier Excel Le travail à faire est indiqué par . Le code à écrire ou déjà écrit est indiqué en vert et les commentaire sont précédés par le caractère '. Pour basculer entre la feuille Excel et la fenêtre Visual Basic il faut faire Alt + F 11. Rester dans le même fichier Excel "carte TLC 549. xls " , se placer sur la feuille 2, faire afficher la "boite à outils contrôles" et placer un "bouton de commande" sur la feuille. Faire un double clic sur le bouton pour se retrouver dans la fenêtre Visual. Basic. Le programme relatif au clic sur le bouton doit être complété et apparaître ainsi : Private Sub Command. Button 1_Click() User. Form 1. Show 'affichage de la fenêtre End Sub Il faut maintenant créer la fenêtre User. Form 1 en faisant un clic droit dans cette zone et sélectionner Insersion / User. Form. Revenir dans Excel et tester l'affichage de la fenêtre en cliquant sur le bouton (il faut d'abord désactiver le mode création).

2 - Réalisation du programme "acquisition lente" (suite) Préparation de la fenêtre User. Form

2 - Réalisation du programme "acquisition lente" (suite) Préparation de la fenêtre User. Form 1 Il faut maintenant ajouter des contrôles à la fenêtre User. Form 1. Faire un double clic sur User. Form 1 ici pour afficher la fenêtre (vide). Placer les contrôles dans le fenêtre comme indiqué ci-dessous (les textes dans les contrôles seront ajoutés plus tard): à placer en 1° Intitulé (affichage de texte uniquement) Zone de texte (texte modifiable par l'utilisateur) en 2° Bouton de commande

2 - Réalisation du programme "acquisition lente" (suite) Programmation des procédures et de la

2 - Réalisation du programme "acquisition lente" (suite) Programmation des procédures et de la fonction Mesure. Point Plusieurs procédures doivent être créées pour dialoguer avec le composant. Faire un clic droit sur User. Form 1 ici et sélectionner Code, on se retrouve alors dans la fenêtre de programme (vide) relative à User. Form 1 Ecrire le code de la procédure User. Form_Initialize Private Sub User. Form_Initialize(). . . à deviner . . . 'Ouverture du Port COM 2 'Alimentation de la carte par la ligne TXD 'CS"barre" à 1 (repos) 'attente de 20µs (conversion) End Sub Ecrire le code de la procédure User. Form_Deactivate Private Sub User. Form_Deactivate(). . . à deviner. . . End Sub 'Fermeture du Port COM

2 - Réalisation du programme "acquisition lente" (suite) Programmation des procédures et de la

2 - Réalisation du programme "acquisition lente" (suite) Programmation des procédures et de la fonction Mesure. Point (suite) Ecrire le code de la fonction Mesure. Point qui sera appelée par la procédure Command. Button 1. Click Function Mesure. Point() As Single Lecture = 0. . . à deviner. . . Lecture = Lecture + 128 * DSR. . . à deviner. . . plusieurs lignes à deviner. . . Lecture = Lecture + 1 * DSR. . . à deviner. . . Mesure. Point = Lecture * 5 / 255 End Function 'initialisation variable lecture 'CS"barre" à 0 'attente de 2 mirosecondes 'récupération du bit de poids "7" 'Clock à 1 'Clock à 0 'récupération du bit de poids "6" 'récupération bits de poids "5" à "1" 'récupération du bit de poids "0" 'Clock à 1 'CS"barre" à 1 'attente de 20 µs 'Affectation du résultat à la fonction Mesure. Point

2 - Réalisation du programme "acquisition lente" (suite) Programmation des procédures et de la

2 - Réalisation du programme "acquisition lente" (suite) Programmation des procédures et de la fonction Mesure. Point (suite et fin) Ecrire le code de la procédure Command. Button 1_Click Private Sub Command. Button 1_Click() intervalle = Text. Box 1. Value * 1000 nombrepoints = Text. Box 2. Value Columns("A: B"). Clear. Contents Cells(1, 1) = "t (s)" Cells(1, 2) = "Tension (V)". . . à deviner. . . For i = 0 To nombrepoints While TIMEREAD <= i * intervalle points Wend Cells(i + 2, 1) = i * intervalle / 1000 Cells(i + 2, 2) = Mesure. Point Next i. . . à deviner. . . User. Form 1. Hide 'intervalle en ms chargé avec Text. Box 1 'nombrepoints chargé avec Text. Box 2 'effacement cellules 'affichage de texte 'activation priorité temporelle 'mise à zéro du compteur "ms" 'boucle de mesure des N+1 points 'boucle d'attente entre deux 'affichage temps dans le tableur 'affichage du résultat de la fonction 'Mesure. Point dans le tableur 'fin de la boucle des N+1 points 'désactivation priorité temporelle 'effacement de la fenêtre

2 - Réalisation du programme "acquisition lente" (suite et fin) Connexion de la carte

2 - Réalisation du programme "acquisition lente" (suite et fin) Connexion de la carte au port série et essai du programme Connecter la carte électronique au port série COM 2. Se placer dans le classeur (Alt + F 11), désactiver le mode création et tester le programme avec une source de tension réglable pour faire varier la tension pendant les mesures. Si ça fonctionne (cela serait étonnant du 1° coup), plus rien à faire. . Si ce n'est pas le cas il faut voir pourquoi ? (encore le TP qui est mal expliqué. . . ). Amélioration de l'aspect : Il ne reste plus qu'à améliorer l'aspect des contrôles (bouton d'affichage de la fenêtre et contrôles dans la fenêtre). Fin de la manipulation sur le programme "acquisition lente". . . Ouf !!!!!

2 -4 - Programme "acquisition rapide" 1 - Présentation Le programme devra lancer des

2 -4 - Programme "acquisition rapide" 1 - Présentation Le programme devra lancer des mesures de façon automatique avec déclenchement par seuil: Réglage de la durée totale de l'acquisition (choix parmi des valeurs prédéfinies). Choix du nombre de points à mesurer (choix parmi des valeurs prédéfinies). Un bouton de commande permettra d'afficher la fenêtre "Acquisition lente" :

2 -4 - Programme "acquisition rapide" 2 - Réalisation du programme "acquisition rapide" Préparation

2 -4 - Programme "acquisition rapide" 2 - Réalisation du programme "acquisition rapide" Préparation du fichier Excel Le travail à faire est indiqué par . Le code à écrire ou déjà écrit est indiqué en vert et les commentaire sont précédés par le caractère '. Pour basculer entre la feuille Excel et la fenêtre Visual Basic il faut faire Alt + F 11. Rester dans le même fichier Excel "carte TLC 549. xls " , se placer sur la feuille 3, faire afficher la "boite à outils contrôles" et placer un "bouton de commande" sur la feuille. Faire un double clic sur le bouton pour se retrouver dans la fenêtre Visual. Basic. Le programme relatif au clic sur le bouton doit être complété et apparaître ainsi : Private Sub Command. Button 1_Click() User. Form 2. Show 'affichage de la fenêtre End Sub Il faut maintenant créer la fenêtre User. Form 2 en faisant un clic droit dans cette zone et sélectionner Insersion / User. Form. Revenir dans Excel et tester l'affichage de la fenêtre en cliquant sur le bouton (il faut d'abord désactiver le mode création).

2 - Réalisation du programme "acquisition rapide" (suite) Préparation de la fenêtre User. Form

2 - Réalisation du programme "acquisition rapide" (suite) Préparation de la fenêtre User. Form 2 Il faut maintenant ajouter des contrôles à la fenêtre User. Form 2. Faire un double clic sur User. Form 2 ici pour afficher la fenêtre (vide). Placer les contrôles dans la fenêtre comme indiqué ci-dessous (les textes dans les contrôles seront ajoutés plus tard): Intitulé Zone de texte modifiable Bouton d'option Cadre Bouton de commande

2 - Réalisation du programme "acquisition rapide" (suite) Préparation de la fenêtre User. Form

2 - Réalisation du programme "acquisition rapide" (suite) Préparation de la fenêtre User. Form 2 (suite) Il faut maintenant ajouter un nom et un texte d'affichage aux boutons d'option (à l'intérieur d'un cadre, un seul bouton d'option pourra être activé). Faire un clic droit sur ce bouton d'option et sélectionner Propriétés. La propriété Name doit être : Duree 1 m. La propriété Caption doit être : 1 ms. Reprendre le avec les 20 boutons d'option restants en utilisant le schéma suivant pour la propriété Caption et en utilisant les indications du schéma en dessous pour la propriété Name. Remarque : Les textes en bleu n'apparaissent pas sur le fenêtre, ils sont là à titre indicatif. Duree 1 m Duree 2 m Duree 5 m Duree 10 m Duree 20 m Duree 50 m Nombre 100 Nombre 200 Nombre 500 Duree 100 m Duree 200 m. Duree 500 m Duree 1 Nombre 10 Nombre 20 Nombre 50 Duree 2 Duree 5 Duree 10 Duree 20 Duree 50

2 - Réalisation du programme "acquisition rapide" (suite) Programmation des procédures et de la

2 - Réalisation du programme "acquisition rapide" (suite) Programmation des procédures et de la fonction Mesure. Point Les procédures User. Form_Initialize, User. Form_Deactivate et la fonction Mesure. Point sont identiques à celles programmées pour le programme "acquisition lente". Faire un clic droit sur User. Form 2 ici et sélectionner Code, on se retrouve alors dans la fenêtre de programme (vide) relative à User. Form 2 Ecrire le code de la procédure User. Form_Initialize Utiliser un copier-coller depuis User. Form 1 "acquisition lente". Ecrire le code de la procédure User. Form_Deactivate Utiliser un copier-coller depuis User. Form 1 "acquisition lente". Ecrire le code de la fonction mesure. Point. Utiliser un copier-coller depuis User. Form 1 "acquisition lente".

2 - Réalisation du programme "acquisition rapide" (suite) Programmation des procédures et de la

2 - Réalisation du programme "acquisition rapide" (suite) Programmation des procédures et de la fonction Mesure. Point (suite) Il reste maintenant à programmer la procédure Comman. Button 1_Click Ecrire le code de la procédure Comman. Button 1_Click avec les indications ci-dessous : Private Sub Bouton. Acquisition_Click() ' Test du bouton "durée" sélectionné et affectation à la variable "durée" (µs) If Duree 1 m. Value = True Then duree = 1000. . autres lignes à deviner pour les 14 autres boutons d'option relatifs à 'Durée". . ' Test du bouton " nombre points" sélectionné et affectation à la variable "nombre" If Nombre 10. Value = True Then nombre = 10. . autres lignes à deviner pour les 5 autres boutons d'option relatifs à "nombre". . intervalle = CLng(duree / nombre)/1000 Seuil = Text. Box 1. value Dim tableau(501) As Single. . . à deviner. . . While Mesure. Point <= seuil Wend. . . à deviner. . . Suite du programme à la diapo suivante. . . 'calcul de l'intervalle en ms 'affectation variable seuil (déclenchement) 'déclaration du tableau 'priorité temporelle maximum 'Attente déclenchement test fonction "Mesure. Point" 'mise à zéro du compteur des ms

2 - Réalisation du programme "acquisition rapide" (suite) Programmation des procédures et de la

2 - Réalisation du programme "acquisition rapide" (suite) Programmation des procédures et de la fonction Mesure. Point (suite et fin) Suite du code de la procédure Comman. Button 1_Click For i = 0 To nombre 'boucle de mesure des N+1 points While TIMEREAD <= i * intervalle 'attente entre deux points (compteur ms) Wend tableau(i) = Mesure. Point 'rangement des mesures dans un tableau Next i 'fin de la boucle de mesure des N+1 points. . . à deviner. . . 'désactivation de la priorité temporelle Columns("A: C"). Clear. Contents Cells(1, 1) = "Points" Cells(1, 2) = "Temps (ms)" Cells(1, 3) = "Tension (volts)" 'effacement et préparation des cellules Excel For i = 0 To nombre Cells(i + 3, 1) = i Cells(i + 3, 2) = i * intervalle / 1000 Cells(i + 3, 3) = tableau(i) Next i 'remplissage des N+1 cellules Excel User. Form 2. Hide 'fermeture fenêtre pour libérer le tableur End Sub 'fin de la procédure Command. Button 1_Click

2 - Réalisation du programme "acquisition rapide" (suite et fin) Connexion de la carte

2 - Réalisation du programme "acquisition rapide" (suite et fin) Connexion de la carte au port série et essai du programme Connecter la carte électronique au port série COM 2. Se placer dans le classeur (Alt + F 11), désactiver le mode création et tester le programme avec un GBF en débutant par des fréquences faibles (insérer un graphe "nuage de points" pour la visualisation du signal). Remarque : la fréquence d'échantillonnage maximale du TLC 549 est de 40 k. Hz. Augmenter progressivement la fréquence pour atteindre les limites du système (durée minimale et nombre de points maximum). Remarque : sur un "vieux PC" de type AMD Duron 700 Mhz, on arrive à une durée de 10 ms avec 50 points mesurés (échantillonnage max : 5 k. Hz). Amélioration de l'aspect : Il ne reste plus qu'à améliorer l'aspect des contrôles (bouton d'affichage de la fenêtre et contrôles dans la fenêtre). Amélioration de la rapidité : Pour augmenter la rapidité de l'application et s'approcher des performances du TLC 549, il faut écrire le programme en "C" ou en "Delphi" par exemple. . . à suivre. . . Fin de la manipulation sur le programme "acquisition rapide". . . Ouf !!!!!

3. Utilisation du système complet d'acquisition 3. 1. Présentation de la carte. 2. 2.

3. Utilisation du système complet d'acquisition 3. 1. Présentation de la carte. 2. 2. Mesure de température avec une simple diode comme capteur. 2. 3. Mesure de température avec un LM 335.

3. 1. Présentation de la carte 1 - Description générale des fonctions Le schéma

3. 1. Présentation de la carte 1 - Description générale des fonctions Le schéma ci-dessous illustre l'ensemble des fonctions présentes dans une chaîne de mesure informatisée: Fonction 1. 1 Alimentation en tension Fonction 2 Fonction 3 Fonction 4 Fonction 1. 2 Capteur Suiveur différentiel Soustracteur Alimentation en courant Sortie différentielle (2 tensions) Réglage tension Réglage courant -15 V +0 V Fonction 5 Amplificateur avec décalage du zéro Fonction 6 CAN TLC 549 + liaison port série +15 V Réglage amplification Capteur Cavaliers quadripôle de liaison des fonctions Sélection alim. Capteur Tension dipôle ou courant Bornes noires : masse (0 V) Réglage décalage Réglage Vref CAN

3. 1. Présentation de la carte 2 - Fonction 1. 1 : Alimentation en

3. 1. Présentation de la carte 2 - Fonction 1. 1 : Alimentation en tension Cette fonction assure l'alimentation en tension du capteur. C'est une source de tension réglable de 2 V à 14 V en agissant sur le potentiomètre (ajustable multitour). valim Réglage tension 2 V < valim < 14 V Masse

3. 1. Présentation de la carte 2 - Fonction 1. 1 : Alimentation en

3. 1. Présentation de la carte 2 - Fonction 1. 1 : Alimentation en tension (suite et fin) Le schéma électronique de l'alimentation en tension est représenté ci-dessous :

3. 1. Présentation de la carte 3 - Fonction 1. 2 : Alimentation en

3. 1. Présentation de la carte 3 - Fonction 1. 2 : Alimentation en courant Cette fonction assure l'alimentation en courant des capteurs de type "dipôle". C'est une source de courant constant réglable de 0, 1 m. A à 10 m. A en agissant sur le potentiomètre (ajustable multitour). Ialim Réglage courant 0, 1 m. A < Ialim < 10 m. A Masse

3. 1. Présentation de la carte 3 - Fonction 1. 2 : Alimentation en

3. 1. Présentation de la carte 3 - Fonction 1. 2 : Alimentation en courant (suite et fin) Le schéma électronique de l'alimentation en courant est représenté ci-dessous :

3. 1. Présentation de la carte 4 - Fonction 2 : Capteur Cette fonction

3. 1. Présentation de la carte 4 - Fonction 2 : Capteur Cette fonction assure la transformation "intensité du phénomène Physique" "tension". Deux familles de capteurs peuvent être connectés sur la platine (schémas ci-dessous): Emplacement pour capteur de type "quadripôle" (alimentation en tension) Emplacement pour capteur de type "dipôle" (alimentation en courant) Valim Vs+capteur Ialim Masse Vs-capteur Masse

3. 1. Présentation de la carte 5 - Fonction 3 : Suiveur différentiel Cette

3. 1. Présentation de la carte 5 - Fonction 3 : Suiveur différentiel Cette fonction assure l'adaptation d'impédance entre le capteur et le soustracteur (impédance d'entrée infinie et impédance de sortie nulle). Il s'agit de deux suiveurs indépendants. L'inverseur en amont permet de sélectionner le capteur (quadripôle ou dipôle). Inverseur (en position quadripôle) Cavalier de connexion ou d'isolation des fonctions Ve+ Vs+ Ve- Vs- Masse

3. 1. Présentation de la carte 5 - Fonction 3 : Suiveur différentiel (suite

3. 1. Présentation de la carte 5 - Fonction 3 : Suiveur différentiel (suite et fin) Le schéma électronique du suiveur différentiel est représenté ci-dessous :

3. 1. Présentation de la carte 6 - Fonction 4 : Soustracteur Cette fonction

3. 1. Présentation de la carte 6 - Fonction 4 : Soustracteur Cette fonction réalise la soustraction (Vs+ - Vs-) des tensions en sortie du suiveur. Ve+ Vs Ve. Masse

3. 1. Présentation de la carte 6 - Fonction 4 : Soustracteur (suite et

3. 1. Présentation de la carte 6 - Fonction 4 : Soustracteur (suite et fin) Le schéma électronique du soustracteur est représenté ci-dessous :

3. 1. Présentation de la carte 7 - Fonction 5 : Décalage et amplification

3. 1. Présentation de la carte 7 - Fonction 5 : Décalage et amplification Cette fonction réalise d'abord un décalage réglable de la tension en sortie du soustracteur puis une amplification réglable. Le décalage consiste à ajouter une tension ajustable entre -15 V et +15 V par potentiomètre. L'amplification est réglable de 0, 5 à 10 ou de 5 à 100 (sélection par cavaliers et réglage par potentiomètre). Ve Cavalier "x 100" Cavalier "x 10" Réglage du décalage de -15 V à +15 V Masse Vs Réglage de l'amplification de 0, 5 à 10 ou de 5 à 100 Cavalier de sélection : décalage réglable (haut) ou décalage = 0 (bas) Masse

3. 1. Présentation de la carte 7 - Fonction 5 : Décalage et amplification

3. 1. Présentation de la carte 7 - Fonction 5 : Décalage et amplification (suite et fin) Le schéma électronique de la fonction "décalage + amplificateur" est représenté ci-dessous :

3. 1. Présentation de la carte 7 - Fonction 6 : CAN 8 bits

3. 1. Présentation de la carte 7 - Fonction 6 : CAN 8 bits à sortie série RS 232 Cette fonction réalise la conversion analogique numérique de la tension en sortie de l'amplificateur avec transmission de la conversion (8 bits) à un outil informatique via le port série RS 232. Un bouton poussoir relié à l'entrée "DCD" permet, entre autre, de stopper une acquisition (à prévoir dans le programme). Ve Réglage précis de la tension Vref du CAN Masse Bouton poussoir relié à "DCD" pour interruption matérielle de l'acquisition Sortie par câble RS 232 Sub D 9 mâle femelle (non croisé)

3. 1. Présentation de la carte (fin) 7 - Fonction 6 : CAN 8

3. 1. Présentation de la carte (fin) 7 - Fonction 6 : CAN 8 bits à sortie série RS 232 (suit et fin) Le schéma électronique de la fonction "CAN 8 bits" est représenté ci-dessous :