Mesure de la température a l’aide d’une thermistance et de l’Arduino
Température et thermistance MF52-103
Pour une bouchée de pain on trouve sur le net des lots de thermistances. J’ai acheté un lot de 10 thermistances, MF52-103 10KOhms. Celle-ci vont nous permettre de connaitre une température ambiante.
- 【HAUTE FONCTIONNEMENT】 Les thermistances peuvent être utilisées comme composants de circuit électronique pour la compensation de température du circuit de l'instrument et la compensation de température de la soudure froide de la différence de température. Il s'agit d'une résistance de haute précision et la valeur B présente les avantages d'une fiabilité, d'une stabilité et d'une sensibilité élevées.
- 【LARGE GAMME D'APPLICATION】 La thermistance à résistance 5k-100k ohms convient aux équipements connexes avec fonction de mesure de température et contrôle les circuits de protection thermique dans divers appareils ménagers, qui peuvent répondre à vos exigences à cet égard.
- 【FORTE ADAPTABILITÉ】 Résistance 5k-100k ohms La thermistance est de petite taille et peut mesurer la température de l'écart que les autres thermomètres ne peuvent pas. Structure ferme, poids léger, adapté à un environnement difficile, forte adaptabilité.
- 【FACILE À UTILISER】 La thermistance à résistance 5k-100k ohms a une bonne ténacité et est facile à transformer en formes complexes. Vous pouvez l'ajuster en fonction de vos besoins réels. C'est très pratique dans votre utilisation réelle.
- 【PERFORMANCES STABLES】 La thermistance de résistance 5k-100k ohms a une bonne stabilité, des performances stables, combinées à une technologie de pointe et à un savoir-faire précis, elle a une forte capacité de surcharge et un facteur de sécurité élevé. N'hésitez pas à l'utiliser.
Je me suis ensuite penché sur quelques articles pour connaitre la température ambiante. Après quelques déceptions ci et là, j’ai retenu cette source. (hélas il semblerai que le lien ne fonctionne plus)
C’est en fait le “manuel d’utilisation” du module température du kit Grove. Un kit très sympa que je me suis moi même procuré. Mais on a vite fais le tours des kits Arduino. On a vite envie de fabriquer ses propres modules soi-même 🙂 (enfin dans mon cas).
Dans un premier temps on va procéder a la connexion. On a donc sous la main, une thermistance, une résistance de 10Kohms, et un Arduino.
Ce dont vous aurez besoin
Branchement de la MF52-103 à l’Arduino
Aux pôles de la thermistances nous iront au port Analogique 0 (A0) et VCC (+5V)
Quant à la seconde patte de la thermistance. Nous la placerons au GND. Voir image ci-dessous.
Code Arduino pour la MF52-103
int a;
float ctemperature;
int B=3975;
float resistance;
void setup()
{
Serial.begin(9600);
}
void loop()
{
a=analogRead(0);
resistance=(float)(1023-a)*10000/a;
ctemperature=1/(log(resistance/10000)/B+1/298.15)-273.15;
Serial.print(ctemperature);
Serial.write(186);
Serial.println("C ");
delay(1000);
}
J’ai légèrement modifié le sketch pour n’afficher que les degrés Celsius. Le code étant plus léger et plus lisible comme ca.
Il suffit ensuite de lancer le moniteur série pour récupérer la température ambiante.
Informations complémentaires
Symbole de la thermistance en électronique
Questionnements & réflexions:
L’afficheur digital de mon chauffage m’affiche 25°C (il n’as pas de décimales) quant à l’Arduino il me renvoi 25.12°C. J’en conclu donc que le calcule du sketch ainsi que ma thermistance sont largement fiable pour ce type de projet.
Et si quelqu’un avais une explication pour cette ligne: ctemperature=1/(log(resistance/10000)/B+1/298.15)-273.15; Je suis preneur
Réponse de zithro
Pour la formule, appelée “relation de Steinhart-Hart”, elle est ici : https://fr.wikipedia.org/wiki/Thermistance#CTN
J’ai pas développé mathématiquement mais à mon avis c’est la 2ème qui est utilisée ici, càd la version simplifiée:
Rt/R0=exp(B x 1/T-1/T0).
Pour R0 et T0, il faut la datasheet constructeur ou bien mesurer/chercher soi-même des valeurs.
Mais en général ce sont des valeurs standardisées pour un même composant.
Je viens de remarquer :
– sur wiki c’est écrit “T0 est souvent 25°”, et 25 = 298.15 – 273.15 (deux valeurs dans la formule)
– on dit souvent de ces résistances qu’elles sont à 10k (10000), ce qui donne R0 à mon avis
– B (bêta sur wiki) semble donné au début du sketch Arduino (3975)
– Rt est calculée la ligne au-dessus de la formule dans le sketch (avec l’ADC)
La seule inconnue restante est donc T !
Après pour les maths, me souviens plus très bien, chope un formulaire ^^
Peut-être que cela te suffira :
log d’un produit = somme des logs
x = exp ( ln(x) ) = ln ( e(x) )
log(x) = ln(x) . ln(10)
Réponse de Teacher5
Souvent en thermodynamique, 25°C est la température standard, c’est certainement la raison pour laquelle, il donne la résistance R0 = 10 kohm à la température standard.
0 commentaires