Communiquer avec un Arduino par la liaison série :
Cahier des Charges :
- Utiliser une carte Arduino comme une carte ES (Entrées Sorties)
- Piloter cette carte par LabVIEW et ses fonctions VISA
- Réaliser un programme de régulation TOR à 2 seuils
- Mettre en commande les 2 consignes Ch et Cb
- Afficher la température mesurée par une CTN
- Afficher toutes les 500 ms l'évolution de la température sur un graphe ainsi que la consigne active
Etape 1 : afficher la température grâce à LabVIEW
Etape 2 : La régulation TOR et son interface graphique
Etape 3 : Améliorations - Les curseurs
Rappel sur la CTN :
La CTN est placée dans un pont diviseur. Ses
caractéristiques :
Type: NTC 10kΩ
±1%
(à 25°C - 298 K)
B-constant : 3950K
±1%
Rappel : Uctn = 0.01*abs(t-25) + 0.25 ; // 1% de la mesure ± 0,25°C avec une référence à 25°C
0. A l'aide du VI Labview réalisé au TP CTN, déterminer pour la gamme 20 - 80°C :
- la résistance R1 la mieux adaptée,
- l'équation à appliquer pour convertir la tension mesurée en une température,
- l'incertitude élargie due au choix de ce modèle.
Remarques :
- autres ressources pour déterminer cette équation : un tableur excel ou ce programme python ou ce VI.
- si on souhaite convertir N (LSB) en °C, sans calculer
les volts que N représente,
il suffit de remplacer 5 V par 1024 dans la boite de calcul...
Le
programme Arduino
et le montage :
C'est le montage du TP Arduino Régulation TOR.
Le programme Arduino à télécharger ci-contre est minimaliste :
- N = analogRead(A0); // lit la tension numérisée en LSB pour pouvoir calculer la température
- digitalWrite(four,HIGH); // Contrôle le microfour
- const int four=2; // La patte D2 contrôle le microfour
- La liaison série Tx vers LabVIEW indique la tension numérisée en LSB toutes les 500 ms
- La liaison série Rx de LabVIEW reçoit la commande du
four
1 : four allumé 0 : four éteint
Etape
1 : afficher la température grâce à LabVIEW
1. Téléverser le programme sur l'Arduino et afficher sur LabVIEW la température ambiante.
LabVIEW pour les nuls : aide.
Remarque : il peut-être intéressant de vider le buffer série avant de commencer le programme.
Appel : faites valider par le professeur l'étape 1
Etape
2 : La régulation TOR et son interface graphique
2. Construire l'algorithme d'une régulation à 2 seuils
3. Construire une Face Avant semblable à
celle-ci.
La
LED Four indique si le Four est allumé.
4. Implémenter votre algorithme en langage G
Implémenter : Traduire un algorithme dans un langage de programmation.
5. Sur le graphe déroulant afficher la température et la consigne active.
Penser
au facteur d'échelle : une mesure toutes les 500 ms...
Pour afficher 2 courbes sur un graphe déroulant, il faut les
assembler à l'aide d'un cluster.
Appel : faites valider par le professeur l'étape 2
Etape 3 : Améliorations - Les curseurs
On souhaite mesurer l'amplitude des oscillations et la période du cycle.
Pour
cela il nous faut des curseurs. Or les curseurs ne sont pas
disponibles sur un graphe déroulant.
Il faut donc utiliser un graphe. Mais comment mettre à jour au fur à mesure un graphe ?
Rappel : un graphe doit avoir pour entrée un tableau et non un nombre.
Une solution :
- stocker les mesures dans un tableau grâce à Insérer dans un tableau
- Insérer la température comme nouvel élément
- Relier le tableau de sortie au tableau d'entrée
cela génère automatiquement un nœud de rétroaction - Clic droit sur
Créer Constante : cela initialise le nœud...
6. Remplacer le graphe déroulant par un graphe
Ajouter 2 curseurs à ce graphe
Afficher la légende des curseurs.
7. En régime établi déterminer à l'aide des curseurs la température maximale, minimale et la période du cycle.
8. Sur quel paramètre faut-il agir pour
augmenter la période du cycle ?
Avantage et inconvénient de cette méthode ?
Appel : faites valider par le professeur l'étape 3
Des idées supplémentaires ?
Pour rendre l'étude de la loi Boyle Mariotte plus conviviale, nous avons utilisé une Interface Homme Machine développée en Labview.
Pour apporter des améliorations supplémentaires vous pouvez vous inspirer du VI disponible sur cette page...
Exemple d'améliorations disponibles :