Les capteurs...
Température... Résistance à coefficient de température...

Positive ou négative...
Beaucoup de blabla, j'espère un résultat...

 

Description :

Précision, sa valeur est exprimée à 25°C....
Exemple CTN 10 KΩ.... A 25°C...
C'est pour mon chef, Hi !

Il s'agit d'un composant électronique passif.
D'un coût de production extrêmement bon marché, il est mis à toutes les sauces...

 

Usages et utilisation :

Pour ne citer qu'un exemple, votre chaudière, même ancienne, en est blindée...
Ce composant permet l'asservissement de la puissance calorifique en fonction de la demande de chaleur à fournir.
Par exemple, je mesure la température du corps de chauffe de ma chaudière, et j'adapte le débit de gaz au brûleur.
Je mesure simultanément la température de départ et de retour du corps de chauffe...
Vous savez le radiateur disposé au dessus de la flamme du brûleur...
Et en fonction des différentes mesures, j'extrapole si l'eau de chauffage circule à l'intérieur.
Cela évitera de faire bouillu ("?!?") ma marmite, Hi !
D'autre part, elle permet l'adaptation de la puissance de la chaudière à la température d'eau sanitaire demandée.
Un simple potentiomètre permet d'étalonner en plus ou en moins la valeur mesurée et d'ajuster cette valeur à votre confort.
Votre machine à laver le linge...
Elle permet d'adapter la température de chauffage de l'eau.
Ça évite de transformer le pull en laine de madame en string, Hi !
Bon, si cela arrive quand même, vous pourrez toujours incriminer le composant...

 

Le composant :

Un petit point sur la thermistance.
Il s'agit d'une sonde de température dont la résistance varie en fonction de la température.
La sonde NTC (Negative Temperature Coefficient, ou CTN en Français, Coefficient de Température Négative) voit sa valeur décroître lorsque la température augmente.
La sonde PTC (Positive Temperature Coefficient, ou CTP en Français, Coefficient de température Positive) voit sa valeur augmenter lorsque la température s'accroit.
Vous pourrez en apprendre plus dans le détail sur Wikipédia....
Le marquage est souvent absent, voir avec un code de couleur identique à celui des résistance banalisée....
Rouge, marron, orange = CTN 10 KΩ à 25°C.

Personnellement je choisi ce type car j'ai l'habitude de les utiliser dans mon métier.
Ensuite, les 10K ne sont pas le fruit du hasard.
Si j'utilise une valeur inférieur, la résistance va chauffer, ce qui faussera la mesure.
Si j'utilise une valeur supérieure, je perdrais en précision sur le convertisseur analogique de l'Arduino

Vous les trouverez sous de nombreuses déclinaisons :

     

           

 

Caractéristiques de la CTN :

Résistance à 25°C : 10 KΩ
Précision : 10 %
Facteur K : 3977
Coefficient A : -146337
Coefficient B : 4791,842
Coefficient C : -115334
Coefficient D : -3.730535E-06
Coefficient A1 : 3.354016E-03
Coefficient B1 : 2.56985E-04
Coefficient C1 : 2.620131E-06
Coefficient D1 : 6.383091E-08
En gras, les informations que nous allons utiliser pour le programme.

 

Les mesures obtenues :

Temp °C CTN 10KOhm
0 32 555
10 19 873
20 12 488
25 10 000
30 8 059
40 5 330
50 3 605
60 2 490
70 1 753
80 1 256
90 915
100 677
110 508
120 387

 

Le montage :

Rien de bien compliqué, c'est un simple diviseur de tension
Voici le montage à réaliser

 

 

Comment procéder :

Dans un premier temps, nous allons récupérer la valeur analogique (0 ~1024) pour la convertir en ohms et en Volts.
Nous en aurons besoin pour les calculs

Ensuite, ça se complique !
Connaissez vous la relation de Steinhart & Hart ?
Retour sur l'article de Wikipedia
De façon extrêmement simpliste, cette relation va nous permettre de calculer la température grâce à la valeur de la résistance et des coefficients de la thermistance.
Comme vous pouvez le voir sur la page Wiki, il y a 3 coefficients A, B et C que nous extrairons du datasheet de la sonde.
Dans ce même datasheet, le constructeur nous fourni une formule extrapolée de la relation de Steinhart-Hart pour calculer la température en fonction des 4 coefficients A1, B1, C1 et D1.
J'ai préféré prendre cette formukle fournie pour réaliser le calcul :

Le résultat calculé par la formule est en degré Kelvin.
Pour la convertir en degré Celcius, il suffit de soustraire au résultat la valeur 273.15...
Simple, non ?

 

Le programme :

On arrive à la partie interressante !
Tout d'abord, vous pouvez voir qu'il y a des calculs complexes à faire.
Pour les logarithmes naturels (ln), ce type nécessite la librairie math.h
Autre élément, dans la fonction pour calculer la relation Steinhart-Hart, j'ai volontairement séparé l'équation.
Les 4 parties distinctes facilitent la lisibilité du programme.
Dans le programme, la valeur de la résistance et de la température sont envoyées au moniteur série.
Vous pourrez l'utiliser comme bon vous semble dans vos programmes.

 

Le code :

#include <math.h>
#define PIN_NTC 0

double Rref = 10000.0; //Résistance de référence à 25°C
double V_IN = 5.0; //Alimentation électrique

//Information de la thermistance
double A_1 = 3.354016E-3;
double B_1 = 2.569850E-4;
double C_1 = 2.620131E-6;
double D_1 = 6.383091E-8;

double SteinhartHart(double R)
{
  //Division de l'équation en 4 parties. La premiere est 
  //uniquement A1
  double equationB1 = B_1 * log(R/Rref);
  double equationC1 = C_1 * pow(log(R/Rref), 2);
  double equationD1 = D_1 * pow(log(R/Rref), 3);
  double equation = A_1 + equationB1 + equationC1 + equationD1;
  return pow(equation, -1);

}

void setup() {
  Serial.begin(9600);
}

void loop() {
  //Calcul de la tension sur la borne analogique
  double valeurAnalog = analogRead(PIN_NTC);
  double V =  valeurAnalog / 1024 * V_IN;

  //Calcul de la résistance de la thermistance
  double Rth = (Rref * V ) / (V_IN - V);
  Serial.print("Rth = ");
  Serial.print(Rth);

  //Calcul de la température en kelvin( Steinhart and Hart)
  double kelvin = SteinhartHart(Rth);
  double celsius = kelvin - 273.15; //Conversion en celsius
  Serial.print("Ohm  -  T = ");
  Serial.print(celsius);
  Serial.print("C\n");
  delay(1000);
}

Le fichier ICI.

 

Conclusion :

Un composant à metre à toutes les sauce, comme dit plus haut dans l'article.
Quelques centimes à l'achat... Avec une précision correcte...
D'autres composants permettent une précision plus importante....
Nous en parlerons dans les autres articles...

 

Des questions, des commentaires en direct ?

© 01/05/2015 - Dernière modification : 01/05/2015 - F4CVM / Pascal