Mesure température + tension

Ah ce fameux LM35 !

On peut faire de bonnes mesures avec à condition de bien comprendre certain points.

Tout d'abord le LM35 lui même.

  1. Comme tout circuit CMOS il ne supporte pas de grandes longueur de filasse capacitive.
    Il n'est pas pour autant interdit de le raccorder sur des long fils mais il faut appliquer les précautions indiquées dans la notice du LM35 (datasheet). En raccourci mettre une résistance entre 2k et 5 kohms en série entre la sortie du LM35 et les longs fils.
  2. LE LM35 DOIT ETRE SEUL SUR SON FIL de masse.
    Explication : la résistance d'un fil n'est jamais nulle, le courant d'alimentation des autres composants provoquera une petite chute de tension mais comme la sensibilité du LM35 n'est que de 10mV/C cette petite chute de tension sera suffisante pour fausser la mesure de la température.
    Il faut OBLIGATOIREMENT câbler les fils de masse (0V) en étoile . Les différents fils de masse étant tous reliés en seul point sur une carte Arduino.

Le fonctionnement du convertisseur analogique du micro-controleur.
Tout ce qui suit se trouve dans la data sheet du micro-controleur.

  • Il n'y a qu'un seul ADC (Analog Digital Converter). Les différentes entrées sont connectées à l'ADC par un multiplexeur.
  • Le convertisseur est sur 10 bits c'est à dire que la plus petite tension qu'il peut détecter est égale à Vreférence/1024.
    Le pas de mesure sera voisin de 5 mV si la référence est à 5V et de 1mV si la référence est à 1,1 V.
    Si on cherche à mesurer une tension supérieure à Vref l'ADC indiquera 1023 qu'elle que soit la valeur de cette tension.

Dans la data sheet il est indiqué qu'il ne faut JAMAIS prendre la première mesure qui suit un changement dans l'ADC.
Un changement peut être un changement de référence ou un changement dans le multiplexeur.
Ce n'est pas la peine de mettre des délais bloquants il suffit simplement de rejeter la ou les premières mesures.

Précisions sur les références pour l'ADC.
Il est évident que la précision de mesure sera affectée par la précision de la référence de tension.
Par construction la référence de l'ADC est le Vcc de la carte Arduino.
Si la carte est alimentée par l'USB la précision sera celle de l'USB c'est à dire +/- 5%.
Si la carte est alimentée à travers le régulateur interne la précision sera celle du régulateur. (environ +/- 1%)

La référence interne est donnée pour 1,1 V +/- 0,1 V c'est à dire +/-10%.
Point important : il est possible de mesurer exactement cette valeur --> quand l'ADC est configuré en référence interne la tension correspondant à cette référence est disponible sur la broche Aref. Il est possible de la mesurer avec un multimètre.
Point super important qui découle du précédent : en position Vref interne il est absolument interdit de connecter une source de tension externe sur Aref --> mort du micro assurée.
En résumé on peut par programmation commuter comme on veut les références de tension :

  • Vcc et Vref interne
  • Vcc et Aref (Vref externe)
    Mais pas Vref interne avec Aref (Vref externe).