Stage - PowerPoint PPT Presentation

About This Presentation
Title:

Stage

Description:

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 ) – PowerPoint PPT presentation

Number of Views:64
Avg rating:3.0/5.0
Slides: 59
Provided by: Christia404
Category:
Tags: plaque | stage

less

Transcript and Presenter's Notes

Title: Stage


1
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 )
2
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)

3
Mini-carte dacquisitionautoalimentée par le
port série RS232(version 2003)
4
Système complet dacquisitionpilotable par le
port série RS232(version 2004)
5
Programme "voltmètre"
6
Objectifs du stage
  • 1- Utilisation du port série RS232 pour
    communiquer avec des montages électroniques à
    l'aide d'Excel (Visual basic).
  • 2- Pilotage de la mini-carte dacquisition
    (version 2003).
  • 3- Utilisation du système complet d'acquisition
    pour mesurer des températures avec une simple
    diode mais aussi avec un LM335.

7
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 dune 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.

8
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 F11.
  • 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 Feuil1.
  • La fenêtre où sera inséré le code du programme
    relatif à la feuille 1 apparaît sur la droite de
    lécran

9
1.1. Utilisation de Visual Basic (VBA)
  • 2- Remplir des cellules directement depuis VBA
  • Il faut tout dabord 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
    suivantCells(2, 2) "Tension(Volts)" 'texte
    dans cellule B2
  • Cells(4, 2) 12 'valeur 12 dans cellule B4
  • Cells(5, 2) 5 'valeur 5 dans cellule B5
  • ?? 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 F11 pour basculer de Excel vers
    Visual Basic).

Résultat
10
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
    defréquence déterminée.
  • ?? Modifier le code relatif à Sub sinusoide() de
    la façon suivante Sub sinusoide() 'début et
    nom du programmeCells(1, 1)"t
    (ms)" 'préparation du tableauCells(1, 2)
    "sinus (volt)"pi 3.14159 'définition des
    constantestmax 0.001amplitude 5frequence
    2000For 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
    sinusNext 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

11
  • 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
    doutils / 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 Scrollbar1_Change.
    Ecrire simplement le code sinusoide à linté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.

12
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" ( COM1 , COM2 , au choix
    ).
  • Refermer le port "COM" après usage.
  • Commander les 3 lignes de sorties du port série (
    0 logique ? -11V et 1 logique ? 11V ).
  • Lire létat des 4 lignes dentrée du port série (
    tension lt 1V ? 0 logique et tension gt 2V ? 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
    suivantesproposées par "port.dll"
  • ? OPENCOM Exemple OPENCOM(" COM2 , 1200 ,N , 8
    ,1 ") permet d'ouvrir "COM2" 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 (11V).
  • ? 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 100ms dans le programme.
  • ? DELAYUS même fonction que DELAY mais en
    microsecondes.

13
  • 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 lt
    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 lt n100 Wend Cell
    s ( n , 1 ) Mesure Next n on mesure 10
    points avec un intervalle de 100ms et on place
    les points dans le tableur.
  • ? TIMEINITUS et TIMEREADUS Mêmes fonctions que
    TIMEINIT et TIMEREAD mais en microsecondes.
  • Remarques Pour des déclenchements temporels
    (acquisitions), il ne faut pas utiliser les
    fonctions DELAY ou DELAYUS car elles ne
    dépendent pas d'un compteur, elles
    introduisent uniquement des "pauses". Le
    compteur continue à "compter" même après une
    instruction TIMEREAD.
  • ? 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.

14
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
    Windows\System.
  • 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" (ByVal A) As
    Integer
  • Declare Sub CLOSECOM Lib "Port" ()
  • Declare Sub DTR Lib "Port" (ByVal b)
  • Declare Sub RTS Lib "Port" (ByVal b)
  • Declare Sub TXD Lib "Port" (ByVal 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" (ByVal b)
  • Declare Sub TIMEINIT Lib "Port" ()

15
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 20mA 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
16
  • 3- Réalisation d'un programme de feux tricolores
    (suite)
  • ?? Revenir au classeur Excel (AltF11) et faire
    Affichage / Barre d'outils / boite à outils
    Contrôles.
  • ?? Placer le Bouton de commande et la Barre de
    défilement (min1 et max10) comme indiqué
    ci-dessous (les autres composants ne sont que des
    "dessins")

Barre de défilement
Bouton de commande
17
  • 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 CommandButton1_Click (vide) à
    compléter entre Private Sub et End Sub
  • Private Sub CommandButton1_Click()OPENCOM
    ("COM2,1200,N,8,1")
    'Initialisation port comRTS 1
    'allumage du rougeDTR
    0TXD 0tempo ScrollBar1.Value 100
    'tempo en 10 de secondes -gt msTIMEINITFor n
    1 To 5 '5 cycles
    d'allumage des feux tricolores While TIMEREAD lt
    (10 n - 5) tempo 'attente
    5tempo Wend RTS 0 DTR 0 TXD 1
    'vert While TIMEREAD lt (10
    n - 1) tempo 'attente 4tempo Wend RTS
    0 DTR 1
    'orange TXD 0 While TIMEREAD lt (10 n)
    tempo 'attente 1tempo Wend RTS 1
    'rouge DTR 0 TXD
    0 Next n CLOSECOMEnd Sub

18
  • 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.

19
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".

20
2.1. Présentation de la carte
  • 1- Le composant TLC549
  • Le TLC549 est un convertisseur 8 bits à sortie
    série.
  • Le schéma ci-dessus représente son boîtier DIL08
    avec les broches suivantes
  • ? REF et REF- tensions de référence du CAN
  • ? ANALOG IN entrée analogique (mesure)
  • ? VCC et GND alimentation et masse
  • ? lorsque cette ligne passe du niveau "1" au
    niveau "0", le bit de poids fort B7 est
    envoyé sur la ligne DATA OUT
  • ? I/O CLOCK lorsque cette ligne passe du
    niveau "1" au niveau "0", le bit suivant B6 est
    envoyé sur la ligne DATA OUT et ainsi de
    suite jusqu'au bit B0
  • ? DATA OUT sortie numérique "bit par bit".
  • La figure ci-contre résume le protocole de
    communication

21
2.1. Présentation de la carte
  • 2- Liaison avec le port série RS232
  • Le TLC549 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 "5V"
  • ? La sortie RTS est reliée à
  • ? 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 (5V) et la broche
    REF- est reliée à la masse (0V).
  • Le TLC549 donne le tableau ci-contre

Ve N(10)
REF- 0
REF 255
22
2.1. Présentation de la carte
  • 4- Schéma du montage

23
2.1. Présentation de la carte
  • 5- Typon implantation

24
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)
25
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 F11.
  • ? 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
    VisualBasic.
  • ? Procédure ToggleButton1_Click()
  • Le programme relatif au clic sur le bouton
    bascule apparaître vide comme indiqué ci-dessous
  • Private Sub CommandButton1_Click()
  • End Sub

26
  • 2- Réalisation du programme (suite)
  • ? Procédure ToggleButton1_Click() (suite et fin)
  • ?? Compléter la procédure ToggleButton1_Click()
    avec les indications ci-dessous
  • Private Sub ToggleButton1_Click()
  • If ToggleButton1.Value True Then
    ' Test Bouton "enfoncé"
  • . . . à deviner . . . 'Ouverture du Port
    COM2
  • . . . à deviner . . . 'Alimentation carte
    par TXD
  • CommandButton1.Enabled True
    'Activation du Bouton de mesure
  • ToggleButton1.Caption "Désactiver Port COM"
    'Changement texte dans bouton
  • ToggleButton1.BackColor HFF
    'Changement couleur de bouton
  • Else ' Test Bouton "tiré"
  • . . . à deviner . . . 'Fermeture du Port
    COM
  • CommandButton1.Enabled False
    'Désactivation du Bouton de mesure
  • ToggleButton1.Caption "Activer Port COM"
    'Changement texte dans bouton
  • ToggleButton1.BackColor HC000
    'Changement couleur de bouton

27
  • 2- Réalisation du programme (suite)
  • ? Procédure CommandButton1_Click()
  • ?? Revenir dans Excel, faire un double clic sur
    le bouton de commande (on se retrouve dans
    VisualBasic) et compléter la procédure
    CommandButton1_Click() avec les indications
    ci-dessous
  • Private Sub CommandButton1_Click()
  • Lecture 0
    'initialisation variable lecture
  • . . . à deviner . . . 'priorité
    temporelle maximum
  • . . . à deviner . . . 'CS"barre" à 1
  • . . . à deviner . . . 'attente de 20
    microsecondes
  • . . . à deviner . . . 'CS"barre" à 0
  • . . . à deviner . . . 'attente de 2
    mirosecondes
  • Lecture Lecture 128 DSR
    'récupération du bit de poids "7"
  • . . . à deviner . . . 'Clock à 1
  • . . . à deviner . . . 'Clock à 0
  • . . . à deviner . . . 'récupération du
    bit de poids "6"
  • . . . plusieurs lignes à deviner . . .
    'récupération bits de poids "5" à "1"
  • Lecture Lecture 1 DSR
    'récupération du bit de poids "0"
  • . . . à deviner . . . 'Clock à 1

28
  • 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
    COM2.Se placer dans le classeur (Alt F11),
    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 VisualBasic, faire un clic droit
    sur le contrôle CommandBUtton1 pour afficher
    ses propriétés.Changer la propriété Caption
    (texte affiché).D'autres propriétés sont
    modifiables (Font, BackColor ...).
  • Fin de la manipulation sur le programme
    "voltmètre".

29
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"

30
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 F11.
  • ?? Rester dans le même fichier Excel "carte
    TLC549.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 VisualBasic.
  • ?? Le programme relatif au clic sur le bouton
    doit être complété et apparaître ainsi Private
    Sub CommandButton1_Click()UserForm1.Show 'affich
    age de la fenêtreEnd Sub
  • ?? Il faut maintenant créer la fenêtre UserForm1
    en faisant un clic droit dans cette zone et
    sélectionner Insersion / UserForm.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).

31
  • 2- Réalisation du programme "acquisition lente"
    (suite)
  • ? Préparation de la fenêtre UserForm1
  • Il faut maintenant ajouter des contrôles à la
    fenêtre UserForm1.
  • ?? Faire un double clic sur UserForm1 icipour
    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
32
  • 2- Réalisation du programme "acquisition lente"
    (suite)
  • ? Programmation des procédures et de la fonction
    MesurePoint
  • Plusieurs procédures doivent être créées pour
    dialoguer avec le composant.
  • ?? Faire un clic droit sur UserForm1 iciet
    sélectionner Code, on se retrouve alors dansla
    fenêtre de programme (vide) relative à UserForm1
  • ?? Ecrire le code de la procédure
    UserForm_InitializePrivate Sub
    UserForm_Initialize(). . . à deviner . .
    . 'Ouverture du Port COM2. . . à deviner .
    . . 'Alimentation de la carte par la ligne
    TXD. . . à deviner . . . 'CS"barre" à 1
    (repos). . . à deviner . . . 'attente de
    20µs (conversion)End Sub
  • ?? Ecrire le code de la procédure
    UserForm_DeactivatePrivate Sub
    UserForm_Deactivate(). . . à deviner . .
    . 'Fermeture du Port
    COMEnd Sub

33
  • 2- Réalisation du programme "acquisition lente"
    (suite)
  • ? Programmation des procédures et de la fonction
    MesurePoint (suite)
  • ?? Ecrire le code de la fonction MesurePoint qui
    sera appelée par la procédure CommandButton1.Click
  • Function MesurePoint() As Single
  • Lecture 0 'initialisation variable lecture
  • . . . à deviner . . . 'CS"barre" à 0
  • . . . à deviner . . . 'attente de 2
    mirosecondes
  • Lecture Lecture 128 DSR
    'récupération du bit de poids "7"
  • . . . à deviner . . . 'Clock à 1
  • . . . à deviner . . . 'Clock à 0
  • . . . à deviner . . . 'récupération du
    bit de poids "6"
  • . . . plusieurs lignes à deviner . . .
    'récupération bits de poids "5" à "1"
  • Lecture Lecture 1 DSR
    'récupération du bit de poids "0"
  • . . . à deviner . . . 'Clock à 1
  • . . . à deviner . . . 'CS"barre" à 1

34
  • 2- Réalisation du programme "acquisition lente"
    (suite)
  • ? Programmation des procédures et de la fonction
    MesurePoint (suite et fin)
  • ?? Ecrire le code de la procédure
    CommandButton1_Click
  • Private Sub CommandButton1_Click()
  • intervalle TextBox1.Value 1000 'intervalle
    en ms chargé avec TextBox1
  • nombrepoints TextBox2.Value 'nombrepoints
    chargé avec TextBox2
  • Columns("AB").ClearContents 'effacement
    cellules
  • Cells(1, 1) "t (s)" 'affichage de texte
  • Cells(1, 2) "Tension (V)" 'affichage de
    texte
  • . . . à deviner . . . 'activation
    priorité temporelle
  • . . . à deviner . . .
    'mise à zéro du compteur "ms"
  • For i 0 To nombrepoints 'boucle de
    mesure des N1 points
  • While TIMEREAD lt i intervalle 'boucle
    d'attente entre deux points
  • Wend
  • Cells(i 2, 1) i intervalle /
    1000 'affichage temps dans le tableur

35
  • 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
    COM2.Se placer dans le classeur (Alt F11),
    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 !!!!!

36
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"

37
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 F11.
  • ?? Rester dans le même fichier Excel "carte
    TLC549.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 VisualBasic.
  • ?? Le programme relatif au clic sur le bouton
    doit être complété et apparaître ainsi Private
    Sub CommandButton1_Click()UserForm2.Show 'affich
    age de la fenêtreEnd Sub
  • ?? Il faut maintenant créer la fenêtre UserForm2
    en faisant un clic droit dans cette zone et
    sélectionner Insersion / UserForm.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).

38
  • 2- Réalisation du programme "acquisition rapide"
    (suite)
  • ? Préparation de la fenêtre UserForm2
  • Il faut maintenant ajouter des contrôles à la
    fenêtre UserForm2.
  • ?? Faire un double clic sur UserForm2 icipour
    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
Cadre
Bouton de commande
39
  • 2- Réalisation du programme "acquisition rapide"
    (suite)
  • ? Préparation de la fenêtre UserForm2 (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 Duree1m. 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.

Duree1m
Duree2m
Duree5m
Nombre10
Nombre20
Nombre50
Duree10m
Duree20m
Duree50m
Nombre100
Nombre200
Nombre500
Duree100m
Duree200m
Duree500m
Duree1
Duree2
Duree5
Duree10
Duree20
Duree50
40
  • 2- Réalisation du programme "acquisition rapide"
    (suite)
  • ? Programmation des procédures et de la fonction
    MesurePoint
  • Les procédures UserForm_Initialize,
    UserForm_Deactivateet la fonction MesurePoint
    sont identiques à celles programméespour le
    programme "acquisition lente".
  • ?? Faire un clic droit sur UserForm2 iciet
    sélectionner Code, on se retrouve alors dansla
    fenêtre de programme (vide) relative à UserForm2
  • ?? Ecrire le code de la procédure
    UserForm_InitializeUtiliser un copier-coller
    depuis UserForm1 "acquisition lente".
  • ?? Ecrire le code de la procédure
    UserForm_DeactivateUtiliser un copier-coller
    depuis UserForm1 "acquisition lente".
  • ?? Ecrire le code de la fonction
    mesurePoint.Utiliser un copier-coller depuis
    UserForm1 "acquisition lente".

41
  • 2- Réalisation du programme "acquisition rapide"
    (suite)
  • ? Programmation des procédures et de la fonction
    MesurePoint (suite)
  • Il reste maintenant à programmer la procédure
    CommanButton1_Click
  • ?? Ecrire le code de la procédure
    CommanButton1_Click avec les indications
    ci-dessous
  • Private Sub BoutonAcquisition_Click()
  • ' Test du bouton "durée" sélectionné et
    affectation à la variable "durée" (µs)
  • If Duree1m.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 Nombre10.Value True Then nombre 10
  • . . . . autres lignes à deviner pour les 5
    autres boutons d'option relatifs à "nombre" . .
    . .
  • intervalle CLng(duree / nombre)/1000 'calcul
    de l'intervalle en ms
  • Seuil TextBox1.value 'affectation variable
    seuil (déclenchement)

42
  • 2- Réalisation du programme "acquisition rapide"
    (suite)
  • ? Programmation des procédures et de la fonction
    MesurePoint (suite et fin)
  • Suite du code de la procédure CommanButton1_Click
  • For i 0 To nombre 'boucle de mesure
    des N1 points
  • While TIMEREAD lt i intervalle 'attente
    entre deux points (compteur ms)
  • Wend
  • tableau(i) MesurePoint 'rangement des
    mesures dans un tableau
  • Next i 'fin de la boucle de mesure des N1
    points
  • . . . à deviner . . . 'désactivation de
    la priorité temporelle
  • Columns("AC").ClearContents 'effacement et
    préparation des cellules Excel
  • Cells(1, 1) "Points"
  • Cells(1, 2) "Temps (ms)"
  • Cells(1, 3) "Tension (volts)"
  • For i 0 To nombre 'remplissage des N1
    cellules Excel
  • Cells(i 3, 1) i
  • Cells(i 3, 2) i intervalle / 1000

43
  • 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
    COM2.Se placer dans le classeur (Alt F11),
    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 TLC549 est de
    40kHz.
  • ?? 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 700Mhz, on arrive à
    une durée de 10ms avec 50 points mesurés
    (échantillonnage max 5kHz).
  • ?? 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 TLC549, il faut écrire le
    programme en "C" ou en "Delphi" par exemple ...
    à suivre ...
  • Fin de la manipulation sur le programme
    "acquisition rapide"... Ouf !!!!!

44
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 LM335.

45
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
Alimentationen tension
Fonction 2
Fonction 3
Fonction 4
Fonction 5
Fonction 6
Capteur
Suiveurdifférentiel
Soustracteur
Amplificateuravec décalagedu zéro
CAN TLC549 liaisonport série
Fonction 1.2
Alimentationen courant
Sortie différentielle(2 tensions)
15V
-15V
0V
Réglageamplification
Cavaliersde liaisondes fonctions
Capteurquadripôle
Réglagetension
Sélection alim.Tensionou courant
Capteurdipôle
Réglagedécalage
Réglagecourant
Réglage VrefCAN
Bornes noires masse (0V)
46
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 2V à 14V en agissant sur le potentiomètre
    (ajustable multitour).

valim
Réglage tension2V lt valim lt 14V
Masse
47
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

48
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,1mA à 10mA en
    agissant sur le potentiomètre (ajustable
    multitour).

Ialim
Réglage courant0,1mA lt Ialim lt 10mA
Masse
49
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

50
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
Ialim
Vscapteur
Masse
Vs-capteur
Masse
51
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).

Ve
Vs
Inverseur(en position quadripôle)
Cavalier de connexionou d'isolation des fonctions
Ve-
Vs-
Masse
Masse
52
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

53
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
Masse
54
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

55
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
    -15V et 15V par potentiomètre.L'amplificationes
    t réglable de 0,5 à 10 ou de 5 à 100 (sélection
    par cavaliers et réglage par potentiomètre).

Ve
Vs
Cavalier "x100"
Cavalier "x10"
Réglage de l'amplificationde ?0,5 à ?10ou de
?5 à ?100
Réglage du décalagede -15V à 15V
Cavalier de sélection décalage réglable
(haut)ou décalage 0 (bas)
Masse
Masse
56
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

57
3.1. Présentation de la carte
  • 7- Fonction 6 CAN 8 bits à sortie série RS232
  • 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 RS232.Un bouton poussoir relié à
    l'entrée "DCD" permet, entre autre, de stopper
    une acquisition (à prévoir dans le programme).

Bouton poussoir relié à "DCD"pour interruption
matérielle de l'acquisition
Ve
Sortie par câble RS232Sub D9 mâle femelle(non
croisé)
Réglage précis dela tension Vref du CAN
Masse
58
3.1. Présentation de la carte (fin)
  • 7- Fonction 6 CAN 8 bits à sortie série RS232
    (suit et fin)
  • Le schéma électronique de la fonction "CAN 8
    bits" est représenté ci-dessous
Write a Comment
User Comments (0)
About PowerShow.com