Mesure de température avec un LM35

Introduction :

Le montage présenté permet de mesurer en continu très simplement la température avec un capteur et un Arduino (Yun ici).

Les résultats sont transmis par l’Arduino au PC via l’interface série puis affichés dans la console Arduino.

Le capteur retenu pour ce montage permettant la mesure de température est le LM35 DZ car il est très simple à mettre en œuvre, il est étalonné directement en usine et ne coûte pas très cher.

Il permet de faire des mesures de températures assez précises (+/- 0.5 degré) de 0 à 100 degrés.

Il fournit une tension proportionnelle à la température mesurée. Celle-ci augmente de 10 mV par degré : Il fournit 0 V pour 0 degré, 250 mV pour 25 degrés, etc. et un maximum de 1 volt pour 100 degrés.

Brochage du LM35 DZ

 

Broches Désignation
VS Alimentation du capteur
OUT Sortie proportionnelle à la température
GND Masse du capteur

D’autres versions du LM35 sont disponibles et en particulier les suivantes :
– LM35AH : boîtier métal TO46, plage -55 °C à +150 °C
– LM35CZ : boîtier plastique TO92, plage -40 °C à +100 °C

Montage

Schéma
phm_lm35_schema

 Photo

pm_lm35_photo_montage

Code

///////////////////////////////////////////////////////
// Objet  : Mesure de temperature avec un LM35 DZ    //
// pm_lm35_temperature.ino                           //
// Auteur : PHM                                      //
// Date création : Le 07 12 2015                     //
// Date dernière mise à jour : so                    //
///////////////////////////////////////////////////////

//Déclaration et initialisation des variables
  float mesure=0;        //Variable pour le stockage mesure retournée par le capteur
  float tension=0;       //Variable pour le stockage de la tension 
  float temperature=0;   //Variable pour le stockage de la température 
  float tempmin=100;     //Temperature min
  float tempmax=0;       //Temperature max
  int portana0 = 0;      //Numéro du port analogique sur lequel la température est mesurée

//Traitements initialisation
  void setup()
  {
    Serial.begin(9600);        //initialisation de la liaison série à 9 600 bauds
  }

//Traitements itératifs
  void loop()
  {
    mesure = analogRead(portana0);  //Lecture de la valeur fournie par le capteur de température
    tension = mesure * 5 / 1024;  //Conversion en tension (en volt)
    
    temperature = tension * 100;    //Conversion en température (en degré Celsius)
    if (temperature < tempmin) {tempmin = temperature;} //Calcul temperature mini
    if (temperature > tempmax) {tempmax = temperature;} //Calcul temperature maxi
    
    //Envoi de la tension et des températures au PC par la liaison série pour affichage dans la console
    Serial.print("Tension : "); Serial.print (tension); Serial.print(" Volts - ");         
    Serial.print("Temperatures :"); 
    Serial.print(" >Actuelle : "); Serial.print (temperature); 
    Serial.print(" >Mini : "); Serial.print (tempmin); 
    Serial.print (" >Max : "); Serial.println (tempmax);
    //Attente de 5 secondes avant de faire une nouvelle mesure
    delay(5000);                    
  }
  

 

Résultats

Dans la console, on doit voir les messages suivants :

pm_temp_lm35_serie

On voit que la température initiale était de 21 degrés, puis en prenant le capteur entre les mains la température monte à 25 degrés puis ensuite redescend après avoir relâché le capteur.

Pour plus d’informations sur l’Arduino, vous pouvez consulter le site http://phmarduino.free.fr/

 

7 réflexions au sujet de « Mesure de température avec un LM35 »

  1. bonjour,
    j’essaie depuis deux jours de faire fonctionner ce projet.
    la première température est entre 26 et 325°, la deuxième est correcte et la troisième verqs 341°
    de quoi cela peut provenir
    merci*f. Jubert

    J’aime

    1. Bonjour François, même problème pour ma part. Les valeurs sont très hazardeuses, est varient énormément. Je ne pense pas que cela vienne du code proposé ici, mais d’une évolution d’Arduino.. C’est assez étrange.

      Cordialement ,

      J’aime

Laisser un commentaire