Cours:ArduinoTemperature
Mesure de température par CTN
Principe
La mesure d'une grandeur physique (température, pression, vitesse ...) nécessite l'utilisation d'un capteur. Il s'agit d'un composant dont le comportement varie en fonction de la valeur mesurée.
Parmi les capteurs de température, nous allons nous intéresser aux thermistances :
- le préfixe thermi indique qu'il est sensible à la température
- le suffixe stance indique qu'il s'agit d'une résistance
Une thermistance est un capteur dont la valeur de résistance dépend de la température
On distingue les thermistances :
- CTN : la valeur de la résistance diminue lorsque la température augmente
- CTP : la valeur de la résistance augmente lorsque la température augmente
Sur le shield arduino, nous utilisons une CTN
Symbole du composant | Valeur de la résistance en fct de la température pour une CTN |
On constate sur la courbe précédente que la valeur de la CTN n'est pas linéaire en fonction de la température.
Utilisation
Les thermistances sont utilisées pour la mesure de température ou la compensation dans une grande variété d'applications.
Exemple :
Contrôle de la température dans les appareils de communication mobile :
L'utilisation d'appareils de communication mobiles dans une large plage de températures nécessite le contrôle des éléments sensibles à la température du système. Ceci comprend l'oscillateur à cristal, l'écran LCD, l'amplificateur de puissance et la batterie. Les thermistances remplissent différentes tâches, par ex. compensation de température ou détection de température dans un circuit de protection contre la surchauffe. (note d’application)
Pont diviseur
On place la CTN dans un pont diviseur (cf figure ci dessous).
- Lorsque la température change :
- la valeur de la CTN change
- donc la tension Vθ change
- on mesure cette tension qui permet d'en déduire la valeur de la température.
|
Etape 1 : relation Vθ=f(Rθ)
Vθ = f(Vcc, R1 et Rθ)
Remarque :
- θ est la température, exprimée en Kelvin
Etape 2 : caractéristique résistance / température
On considère que sur une plage de température, la résistance de la thermistance est :
avec R25°C = 8200Ω, β = 3480 K, T25°C = 273+25 et θ exprimée en Kelvin
Exemple : pour θ = 50°C
En utilisant la feuille de calculs suivante, déterminez la résistance de la CTN sur la plage de température. On rappelle que la fonction exponentielle est EXP.
La résistance R1 (12 k), en utilisant la feuille de calculs du fichier, déterminez :
la tension Vθ sur la plage de température avec Vcc = 5 V
Etape 3 : Conversion de la tension en nombre numérique puis en température
Principe de fonctionnement du CAN
On entre une tension analogique Vθ et on ressort un nombre numérique en binaire sous n fils suivant la résolution du CAN.
Exemple pour la carte NANO
- La résolution n peut être de 10 bits ou de 8 bits soit 1024 ou 256 combinaisons.
- La tension de référence Vréf est soit de 5V soit de 1,1V
Pour Vréf = 5V :
La tension de 0,0196 V est appelée le quantum. On a une résolution de 20 mV
Quand la tension analogique Vθ varie linéairement de 0 à Vréf la valeur numérique évolue en palier de 0 à 255 en pas d’un quantum soit environ 20 mV. Le quantum est aussi appelé le LSB le bit le moins significatif (Least Significant Bit).
Pour n = 10 bits
En utilisant n = 10 bits la résolution est meilleure car le quantum est de 5 mV mais le temps de conversion est plus long. Pour la tension de référence de 1,1V on remplace simplement la colonne Volt de 0 à 1,1 V, au-delà de 1,1 V jusqu’à 5V, le convertisseur est saturé, la valeur numérique reste constante à 255 ou 1023 suivant la résolution 8 ou 10 bits. Le quantum sera respectivement de 4,3 mV et 1 mV environ.
Déterminer la valeur de la résistance R1 pour la plage de température afin que la tension V ne dépasse pas la tension de référence de 1,1 V.
Maintenant déterminons la température en fonction de la valeur numérique du convertisseur
Dans le premier saé nous avions affiché l’image de la température en volt. Maintenant nous somme en mesure après quelques petits calculs d’afficher la température en degré Celsius.
Exprimez la température θ en utilisant la formule :
Pour déterminer la température θ il nous faut Rθ qui est l’inconnu dans l’équation.
Exprimez : la résistance Rθ en utilisant la formule Vθ = f(Vcc, R1 et Rθ).trouvée à la première question.
Sachant que la valeur numérique N=Vθ/q avec q=Vref/(2n-1) le quantum et n la résolution du CAN (8 ou 10 bits)
Exprimez la formule de la température en degré Celsius en fonction de la valeur N du convertisseur analogique.
Programmation
Nous avons exploré dans les Tps précédents les e/s binaires. Ici nous nous intéresserons aux entrées analogiques et utiliserons la fonction analogRead() permettant de lire l'état d'une des entrées analogiques.
Vous utiliserez la liaison série afin de vérifier le bon fonctionnement de votre programme
afficher la valeur du can sur liaison série
L'exemple suivant permet de lire la valeur du Convertisseur Analogique Numérique (CAN) sur la broche A2.
// the setup routine runs once when you press reset:
void setup()
{
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}
// the loop routine runs over and over again forever:
void loop()
{
// read the input on analog pin 2:
int sensorValue = analogRead(A2);
// print out the value you read:
Serial.println(sensorValue);
}
Modifier le programme pour afficher la valeur sur la broche qui nous intéresse !
Remarque :
- ça peut être intéressant de ralentir un peu tout ça !
- ajouter un peu de texte, cf Serial.print() (ou Serial.println() pour un retour à la ligne après le message)
calculer la valeur de la tension
Nous avons trouvé la relation entre la valeur du CAN et la tension aux bornes de la CTN.
Afficher en plus de la valeur du CAN la tension correspondante.