BTS Mesure BTS Mesure
DébutTP 01TP 02Trouve NombreCourbesCTNPT100VISABT VISAArduinoNI6009ChenillardMétrologieRégulationMPUCodeurC2IEtalon

Communiquer avec une carte NI6009 :

Nous allons reprendre le TP  Arduino Labview de la semaine dernière,
mais nous allons remplacer la carte Arduino par une carte NI6009 (ou NI6008)

Cahier des Charges  :

  • Utiliser une carte NI6009 comme une carte ES (Entrées Sorties)
  • Afficher la température mesurée par une CTN pour une gamme de 20°C à 80 °C
  • Evaluer les incertitudes de la mesure de température par ce montage
  • Réaliser un programme de régulation TOR à 2 seuils

Etape 1 : découverte de la carte NI6009

Etape 2 : afficher la température grâce à LabVIEW

Etape 2b : faire la moyenne de 20 mesures

Etape 2c : évaluation de l'incertitude de la mesure

Etape 3 :  Piloter un microfour

Etape 4 : Régulation TOR à 2 seuils.

Etape 5 : Améliorations et exploitation des courbes obtenues

Découverte de la carte NI6009 :

La carte NI 6009 est un microcontrôleur, comme un Arduino, développée par National Instrument pour Labview.

Sa programmation s'effectue directement dans Labview grâce aux assistants DAQ

  • Elle est spécialisée dans la mesure des tensions analogiques grâce à ses 8 entrées analogique (AI : Analog Input).
  • Les mesures réalisées sont plus précises qu'avec un Arduino,
    notamment en mode différentiel (entre AI0+ et AI4- par exemple, résolution de 14 bits au lieu de 10 bits pour un Arduino)
    de plus la gamme de mesure va de -10 V à + 10 V au lieu de 0 à 5 V pour un Arduino.
  • La NI 6009 dispose aussi de 2 sorties analogiques AO : Analog Output, gamme 0 à 5 V 150 Hz.
  • Enfin comme un Arduino, la NI6009 dispose de 12 Entrées/Sorties numériques (Digital Input Output, DIO)
    elles sont regroupées en 2 ports,
    le port 0 : P0 avec 8 DIO de P00 à P07
    le port 1 : P1 avec 4 DIO de P10 à P13

Pour avoir une connectique plus pratique, nous avons "mis en boite" la NI 6009 :

Etape 2 : Mesurer une tension analogique

Pour commencer nous allons mesurer la tension dans ce diviseur de tension :

  1. Sélectionner le DAQ (Data AcQuisition) Lire :
  2. Nous voulons réaliser une mesure analogique sur la voie AI0 (voie unique), une seule mesure (échantillon unique), sous forme d'un nombre DBL
    (DBL : nombre à virgule flottante codé sur un double mots de 32 bits soit 64 bits)
  3. Il faut maintenant créer une constante pour lui donner la tâche :
  4. Puis sélectionner la tâche à exécuter : Lire la tension sur AI0 du périphérique (device) pris (ici le périphérique du poste 4, P4) :

    Remarque : Prenez toujours la carte NI correspondant à votre poste,
    ainsi vous pourrez réutiliser les tâches déjà créées sans avoir à les refaire...
  5. Si la tâche n'existe pas il faut la créer grâce à l'assistant DAQ :

    Tester systématiquement la tâche créée !
    Cela permet d'être sûr que c'est un problème de programmation
    si votre programme ne fonctionne pas par la suite...
  6. Retrouvez dans votre ENT (Environnement Numérique de Travail) le programme Modélisation d'une CTN réalisé lors de ce TP
    et  afficher la température de la pièce pour une gamme de 20°C à 80 °C :

Etape 2b : Faire la moyenne de 20 mesures

Pour réduire l'erreur aléatoire de la carte NI6009, nous allons :

  • réaliser très rapidement 20 mesures (en 20 ms avec un échantillonnage à 1 kHz)
    pour cela il suffit de déclarer un Echantillons multiples de 20 mesures


    Editer la tâche pour demander N échantillons, échantillons à lire : 20

    indiquer que nous voulons 20 échantillons par voie    
  • faire la moyenne de ces 20 mesures 
  • afficher la température
  • correspondant à cette tension moyenne
  •  

La figure ci-contre permet de comparer deux méthodes de mesure de température :

  •  à l'aide d'une seule mesure (courbe en blanc Instantané)
  • à l'aide d'une moyenne de 20 mesures (courbe en rouge Moyenne 20 mesures)

Que pouvez-vous conclure sur l'intérêt d'utiliser la moyenne de 20 mesures pour calculer T ?

Vous voulez réaliser cette expérience avec votre carte NI 6009 ?
Voici le lien vers un programme possible.
A noter : nous avons utilisé le VI graphe au lieu du VI graphe déroulant afin d'avoir des curseurs...

Etape 2c : Evaluation de l'incertitude de la mesure

Rappel sur les incertitudes de mesure d'après Wikipédia.

Dans cette chaine de mesure évaluer les incertitudes élargies U, les exprimer en °C :

  • Umodélisation  indiquée sur le  VI utilisé pour déterminer la fonction de transfert du montage
  • UNI6009b  pour une mesure (incertitude de type B)
    utiliser la doc constructeur disponible dans le dossier Notices ou sur ce lien ou ici pour la NI6008 des postes 1 et 2
    pour l'exprimer en °C, prendre comme sensibilité moyenne 45 mV/°C (pente de la droite de modélisation)
    détailler les calculs
    reprendre ce calcul si on ne prend pas le mode différentiel mais le  mode asymétrique ou RSE 
         
  • UNI6009a incertitude de type A :
    proposer un protocole respectant les conditions de répétabilité
    afin de déterminer l'erreur aléatoire UNI6009a (caractérisant la fidélité) de la NI 6009
    lors de la mesure de la température ambiante. Réaliser ce protocole.

    La tension mesurée par la NI 6009 est-elle juste ?
    Proposer un protocole afin de vérifier la justesse de la NI 6009.
    L'erreur de justesse constatée, est-elle compatible
    avec l'incertitude annoncée par le constructeur ? (incertitude de type B)
    Besoin d'aide ? Une solution possible...

  • UCTN   pour une gamme de 20°C à 80 °C.
    1% de la mesure ± 0,25°C avec une référence à 25°C d'après le constructeur

Propagation des incertitudes : 

  • Est-il important de prendre une gamme de mesure adaptée et le mode différentiel pour la NI6009 ?
    Justifier votre réponse.
  • Quel est l'intérêt de faire une moyenne de 20 mesures ?
  • Calculer l'incertitude de la chaine de mesure
  • Quel est le maillon faible de cette chaine de mesure ?

Etape 3 : Piloter un microfour

Le montage :

Une sortie digitale ne peut fournir que très peu de courant.
La résistance interne d'une sortie est de 4,7 kΩ,
Usortie= 5 - 4,7*I , avec I en mA.
I = 0,2 mA , Usortie ≈ 4 V
I = 0,4 mA , Usortie ≈ 3 V
I = 0,6 mA , Usortie ≈ 2 V ...

Pour piloter un microfour demandant 3 A, nous avons ajouté un transistor MOS IRF640.
Ce transistor nécessite quasiment aucun courant pour être commandé.
Il suffit que la sortie P00 de la NI 6009 applique sur la Grille du transistor une tension supérieure à 4 V pour qu'il soit passant.
Avec une tension de 0V sur sa Grille le transistor est bloqué.

Le Microfour est une charge résistive aussi nous ne sommes pas obligé de mettre une diode de roue libre à ses bornes.

Ce montage de type hacheur avec un transistor MOS IRF640, nous permet à partir d'une commande 0 - 5 V, 0 A  :

  • de commander un courant important (jusque 6 A)
  • d'obtenir une tension aux bornes de  la charge élevée (jusque 60 V)
    qui correspond à l'alimentation extérieure utilisée

Programmation de la NI 6009 :

  1. Sélectionner le DAQ (Data AcQuisition) écrire  :
  2. Nous voulons piloter le four à l'aide du bit P00 :
       => 
  3. Il faut maintenant créer une constante pour lui donner la tâche :
  4. Puis sélectionner la tâche à exécuter : Ecrire le bit (Ligne) P00 sur le  périphérique (device) utilisé (ici le périphérique du poste 4, P4) :
  5. Si la tâche n'existe pas il faut la créer grâce à l'assistant DAQ :
  6. Créer une commande pour piloter le MicroFour, puis vérifier son fonctionnement :
    - commande à vrai : le MicroFour consomme environ 3 A
    - commande à faux : le MicroFour consomme 0 A

Utilisation du VI express Assistant DAQ 

Une autre méthode pour programmer une carte NI6009 consiste à utiliser le VI express  Assistant DAQ :

C'est un peu plus convivial, mais c'est conçu pour piloter plusieurs voies il faut donc indiquer la voie que l'on utilise...
De plus si on change de carte, il faut réécrire tout le DAQ au lieu de changer la tâche uniquement.

A vous de choisir...

Etape 4 : Régulation TOR à 2 seuils.

Nous allons piloter maintenant le microfour à l'aide de la CTN.
Pour cela nous allons utiliser l'algorithme d'une régulation TOR à 2 seuils (Ch : consigne haute et Cb consigne basse) :

  • Si le four est éteint et que la température est inférieure à Cb, on allume le four (consigne active : Cb) ;
  • Si le four est allumé et que la température est supérieure à Ch, on éteint le four (consigne active : Ch) .

Réaliser une interface proche de celle affichée ci-contre :

Pour mémoriser l'état du four, on peut,

  • soit utiliser un registre à décalage (recommandé par Labview),
  • soit utiliser une variable locale (plus proche de la programmation Arduino).

Manque de temps ? Besoin d'aide ? Des éléments de réponse ici...

Etape 5 : Améliorations et exploitation des courbes obtenues :

  1. Afficher la consigne active (Ch ou Cb) sur le graphe déroulant ;
  2. Modifier le graphe déroulant en graphe afin d'ajouter des curseurs.
    (cf étape 3 du TP précédent et cet exemple)

Faire une capture de ce graphe sur 600 s pour la joindre au compte rendu,
et à l'aide des curseurs pour un échelon de consigne (passer de la température ambiante à Cb=48°C et Ch=52°C),
déterminer :

  •  tR la durée du transitoire (caractérise la rapidité du système régulé) ,
  • la période du cycle en régime établi (détermine la durée de vie de l'organe de réglage : relais...)
  • l'amplitude des variations de température Tmax et Tmin en régime établi  (caractérise la stabilité du système)
    puis en déduire la température moyenne du régimé établi : Tmoy.
  • échelon de température appliqué au process : échelon  = Tmoy - Tdépart
  • dépassement = Tmax - Tmoy
  • d le dépassement  en % de l'échelon (caractérise la stabilité du  système),
  • erreur statique = Tmoy - Consigne_Moyenne (caractérise la précision).

Conclure sur la rapidité, la stabilité et la précision de ce système régulé.
Cette régulation vous semble-t-elle satisfaisante ?

Reportez ces résultats dans le tableau récapitulatif ci-dessous (à copier dans Excel)
que nous finirons de remplir lors du TP régulation.

Comparaison régulation TOR 2 seuils P P + Talon Intégral
Si (four & T > Ch) four = 0
Si (!four & T < Cb) four = 1
Y = Kp*( consigne - T ) Y = Kp*( consigne - T) + TI
Ch = Kp = Kp =
Cb =  Consigne =  Consigne = 
Consigne      
Echelon      
Temps de réponse : tR       Rapidité
Régime établi :
Amplitude = Tmax - Tmin       Stabilité
d en %       Stabilité
erreur statique = Tmoy - consigne       Précision
comparaison sur :
la rapidité      
la stabilité      
la précision      

  1. Stocker les mesures dans un tableau Excel : HH:mm:ss;T;Four;Ch;Cb
     (cf étape 3 du TP précédent)
  2. Piloter un ventilateur si T>Ch...