Vérification de mon sketch capteur de temp LM35

Bonjour,

Je voudrais votre avis sur mon prog concernant la mesure de température. Si je viens vous demander votre avis c'est que je me suis perdu dans tous les tutos dispos, en gros c'est au niveau de calcul, j'ai vu d'un tuto à un autre des caculs très differents, certains affichaient des mesures complétements délirantes.

J'ai une question concernant, le calcul, je sais que un LM35 varie de 0.10mv par deg (vu sur un datasheet). Mais je ne comprend pas le calcul et je ne trouve pas un tuto pouvant me l'expliquer clairement.

  float mesure=0;        //Variable pour le stockage mesure retournée par le capteur
  float temperature=0;   //Variable pour le stockage de la température 
// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  int mesure = analogRead(A0);
  temperature = (5.0 * mesure * 100.0)/1024.0; // convert the analog input to temperature in centigrade.
  Serial.print("Temperature:");
  Serial.println(temperature);
  delay(50);        // delay in between reads for stability
}

Voilà, je voulais un petit coup de main, mais pas dans la tête. :grin:

Pleine échelle, le convertisseur analogique / numérique de l’Arduino distingue 1024 valeurs (conversion sur 10 bits).
La tension de référence est de 5V.
Donc chaque incrément du convertisseur est de 5V / 1024
On multiplie la mesure par 5V/1024, et on multiplie par 100 pour convertir 10 mV pour 1°C

(ce n’est pas 0.10 mV mais bien 10 mV par degrés, lire la datasheet).

merci XD

Tu peux améliorer la précision sensibilité de la mesure. Tu as utilisé le micro dans sa configuration "à l’allumage" où la pleine échelle est 5V. Tu ne peux pas avoir une meilleure sensiblité que 5/1024 = 4,9 mV soit 1/2 degrés.

Il existe deux autres modes : - la référence interne du micro : 1,1 V +/-10% pleine échelle soit une sensibilité de 1,1/1024 = 1,07 mV +/- 10% - une référence externe variable. Le passage d'un mode à un autre se fait avec l'ordre analogReference(?) http://arduino.cc/en/Reference/AnalogReference.

La précision dépend de la précision de la Tension de Référence. Si la référence est "DEFAULT" ce sera la précision de Vcc (VccUSB = 5V +/- 5%) Si la référence est "INTERNAL" la précision sera +/- 10%, voir la datasheet du micro.

Une solution intermédiaire est de connecter la sortie du régulateur 3,3V sur la broche Aref, la précision sera celle du régulateur 3,3V intégré à la carte.

Autre point : Il faut un fil de masse rien que pour le LM35, s'il y a d'autres composant il faut utiliser un ou plusieurs autres fils et les relier tous ensemble au niveau de la carte Arduino sinon la mesure sera instable.

Merci pour ces précisions.

Certains connectent, un condensateur de "1µF" entre la "gnd" et le "output" du LM35 afin de stabiliser la mesure...

Je pense que c'est une bonne idée aussi.

Cela aura tendance à corriger les eventuels mouvement (erreur) de la tension en sortie du LM35?

overskyline: Merci pour ces précisions. Certains connectent, un condensateur de "1µF" entre la "gnd" et le "output" du LM35 afin de stabiliser la mesure... Je pense que c'est une bonne idée aussi.

Oui mais il y a plus efficace. La pin d'accès de AREF en bordure de carte est positionnée à l'opposée de la broche d'accès du micro. La piste est bien découplée en bordure de carte mais ensuite la piste traverse la carte en diagonale récupérant des tas de saleté au passage --> c'est pas bon du tout. Si tu as une carte UNO tu peux souder au verso de la carte un condensateur de 100nF entre Aref et la masse. Attention je ne parle pas des pins d'accès de la carte mais bien des pinuches du support du micro : ARef et GND sont juste séparés par un pas (2,54 mm).

Dernier point : le lm35 ne supporte pas de fils trop longs, ou du moins la capacité apportée par des fils trop long. Un paragraphe de la datasheet du LM35 traite du sujet, je ne peux que te conseiller de le lire.

Pas mal...

Ca va, je vois que tu as l'air de connaitre un peu le milieu ^^

J'ai entendu tellement dire du mal de ce pauvre circuit que je me suis penché sur son sort. Avec 50 m de câble ethernet cat 5 la mesure est encore nickel.