Les thermistances sont des composants simples, peu coûteux et précis qui facilitent l'obtention de données de température pour vos projets. Les stations météorologiques à distance, les systèmes domotiques et les circuits de contrôle et de protection des équipements sont des applications où les thermistances seraient idéales. Ce sont des capteurs analogiques, donc le code est relativement simple par rapport aux capteurs de température numériques qui nécessitent des bibliothèques spéciales et beaucoup de code.
Dans cet article, je vais expliquer comment fonctionnent les thermistances, puis je vais vous montrer comment configurer un circuit de thermistance de base avec un Arduino qui produira des lectures de température sur le moniteur série ou sur un écran LCD.
BONUS: J'ai créé un guide de démarrage rapide pour ce tutoriel que vous pouvez télécharger et y revenir plus tard si vous ne pouvez pas le configurer maintenant. Il couvre toutes les étapes, les diagrammes et le code dont vous avez besoin pour commencer.
COMMENT FONCTIONNE UNE THERMISTANCE
Les thermistances sont des résistances variables qui changent leur résistance avec la température. Ils sont classés selon la façon dont leur résistance réagit aux changements de température. Dans les thermistances à coefficient de température négatif (NTC) , la résistance diminue avec une augmentation de la température. Dans les thermistances à coefficient de température positif (PTC) , la résistance augmente avec l'augmentation de la température.
Les thermistances NTC sont les plus courantes, et c'est le type que nous utiliserons dans ce tutoriel. Les thermistances NTC sont fabriquées à partir d'un matériau semi-conducteur (tel qu'un oxyde métallique ou une céramique) qui a été chauffé et comprimé pour former un matériau conducteur sensible à la température.
Le matériau conducteur contient des porteurs de charge qui permettent au courant de le traverser. Des températures élevées font que le matériau semi-conducteur libère plus de porteurs de charge. Dans les thermistances NTC en oxyde ferrique, les électrons sont les porteurs de charge. Dans les thermistances NTC à oxyde de nickel, les porteurs de charge sont des trous d'électrons .
UN CIRCUIT DE THERMISTANCE DE BASE
Construisons un circuit de thermistance de base pour voir comment cela fonctionne, afin que vous puissiez l'appliquer à d'autres projets plus tard.
Étant donné que la thermistance est une résistance variable, nous devrons mesurer la résistance avant de pouvoir calculer la température. Cependant, l'Arduino ne peut pas mesurer directement la résistance, il ne peut mesurer que la tension.
L'Arduino mesurera la tension en un point situé entre la thermistance et une résistance connue. Ceci est connu comme un diviseur de tension. L'équation pour un diviseur de tension est:
En termes de diviseur de tension dans un circuit à thermistance, les variables de l'équation ci-dessus sont:
Cette équation peut être réorganisée et simplifiée pour résoudre pour R2, la résistance de la thermistance:
Enfin, l' équation de Steinhart-Hart est utilisée pour convertir la résistance de la thermistance en lecture de température.
CONNECTEZ LE CIRCUIT
Connectez la thermistance et la résistance à votre Arduino comme ceci:
La valeur de la résistance doit être à peu près égale à la résistance de votre thermistance. Dans ce cas, la résistance de ma thermistance est de 100K Ohms, donc ma résistance est également de 100K Ohms.
Le fabricant de la thermistance peut vous dire que c'est une résistance, mais sinon, vous pouvez utiliser un multimètre pour le savoir. Si vous n'avez pas de multimètre, vous pouvez créer un ohmmètre avec votre Arduino en suivant notre tutoriel Arduino Ohm Meter . Il vous suffit de connaître l'ampleur de votre thermistance. Par exemple, si votre résistance de thermistance est de 34 000 Ohms, il s'agit d'une thermistance de 10K. Si c'est 340 000 Ohms, c'est un thermoconducteur 100K.
CODE POUR LA SORTIE DU MONITEUR SÉRIE DES RELEVÉS DE TEMPÉRATURE
Après avoir connecté le circuit ci-dessus, téléchargez ce code sur votre Arduino pour afficher les lectures de température sur le moniteur série en Fahrenheit:
int ThermistorPin = 0;
int Vo;
float R1 = 10000;
float logR2, R2, T;
float c1 = 1.009249522e-03, c2 = 2.378405444e-04, c3 = 2.019202697e-07;
void setup() {
Serial.begin(9600);
}
void loop() {
Vo = analogRead(ThermistorPin);
R2 = R1 * (1023.0 / (float)Vo - 1.0);
logR2 = log(R2);
T = (1.0 / (c1 + c2*logR2 + c3*logR2*logR2*logR2));
T = T - 273.15;
T = (T * 9.0)/ 5.0 + 32.0;
Serial.print("Temperature: ");
Serial.print(T);
Serial.println(" F");
delay(500);
}
Pour afficher la température en degrés Celsius, il suffit de commenter la ligne 18 en insérant deux barres obliques («//») au début de la ligne.
Ce programme affichera Celsius et Fahrenheit en même temps:
int ThermistorPin = 0;
int Vo;
float R1 = 10000;
float logR2, R2, T, Tc, Tf;
float c1 = 1.009249522e-03, c2 = 2.378405444e-04, c3 = 2.019202697e-07;
void setup() {
Serial.begin(9600);
}
void loop() {
Vo = analogRead(ThermistorPin);
R2 = R1 * (1023.0 / (float)Vo - 1.0);
logR2 = log(R2);
T = (1.0 / (c1 + c2*logR2 + c3*logR2*logR2*logR2));
Tc = T - 273.15;
Tf = (Tc * 9.0)/ 5.0 + 32.0;
Serial.print("Temperature: ");
Serial.print(Tf);
Serial.print(" F; ");
Serial.print(Tc);
Serial.println(" C");
delay(500);
}
CODE DE SORTIE LCD DES RELEVÉS DE TEMPÉRATURE
Pour afficher les relevés de température sur un écran LCD 16X2 , suivez notre tutoriel, Comment configurer un écran LCD sur un Arduino , puis téléchargez ce code sur la carte:
#include
int ThermistorPin = 0;
int Vo;
float R1 = 10000;
float logR2, R2, T;
float c1 = 1.009249522e-03, c2 = 2.378405444e-04, c3 = 2.019202697e-07;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
Serial.begin(9600);
}
void loop() {
Vo = analogRead(ThermistorPin);
R2 = R1 * (1023.0 / (float)Vo - 1.0);
logR2 = log(R2);
T = (1.0 / (c1 + c2*logR2 + c3*logR2*logR2*logR2));
T = T - 273.15;
T = (T * 9.0)/ 5.0 + 32.0;
lcd.print("Temp = ");
lcd.print(T);
lcd.print(" F");
delay(500);
lcd.clear();
}
Voici une vidéo du capteur de température afin que vous puissiez me regarder le configurer et voir comment il fonctionne:
Eh bien, c'est à peu près tout. Laissez un commentaire ci-dessous si vous avez des questions sur ce projet. Et si vous aimez nos articles ici sur Circuit Basics, abonnez-vous et nous vous informerons lorsque nous publierons de nouveaux articles. Aussi, n'hésitez pas à partager cela si vous connaissez quelqu'un qui pourrait trouver cela utile!
JLCPCB - Seulement 2 $ pour le prototype PCB (toutes les couleurs)
Grande qualité approuvée par plus de 600 000 clients, plus de 10 000 commandes de PCB par jour.
Inscrivez-vous et obtenez au moins deux coupons de 5 $ maintenant: https://jlcpcb.com/quote
Aucun commentaire:
Enregistrer un commentaire