Toujours pour mon projet domotique, je suis en train de travailler sur un LM35 relier a mon arduino. J'ai donc ce programme sur l'arduino, a priori il n'y a pas d'erreur ?
Le problème est que la température relever dans le "serial moniteur" est incohérente. Il m'affiche une température de 24.90°C chez moi alors que j'ai entre 21 et 22°C et une température de 18.07°C en plein courant d'air alors que mon thermomètre m'affiche 17°C (il n'est pas en courant d'air lui ). Est-ce que le LM35 doit donc être étalonné ou j'ai un problème dans mon programme ?
J'ai essayé avec mon propre LM35 il y a peu (pour le prendre en main). Un premier code trouvé sur le net me donnait du pur n'importe quoi (négatif dans le salon ... Au mois de mai sur la Côte d'Azur ? M'enfin ! )
Puis j'ai trouvé ceci, qui me donne de meilleurs résultats. Le gars échantillonne 8 relevés de température, puis fait la moyenne. Maintenant, pour récupérer un delta aussi balèze que le tien ...
Je n'ai pas validé avec un thermomètre de qualité pour vérifier l'exactitude, mais on était assez proche de ce que me disait un brave thermomètre à 5€ dans les bacs.
Je te conseille de vérifier à l'oscilloscope ou au voltmètre la tension en sortie de ton LM35 (si tu l'as pas déjà fait), parce que d'après la doc pour chaque degré on a + 10.0 mV, pour s'assurer que c'est bien linéaire et être sur que ton LM35 fonctionne correctement.
Et puis cela te permettra aussi de comparer cette tension avec les températures "réelles".
Alors merci a vous, je vais essayer de répondre a tous le monde
@chabot380: Alors le LM35 il s'agit d'une donation alors je ne l'es pas payé ^^ du coup je fait avec.
@SamoLaw: J'avais deja regardé ça, alors au voltmètre ( de faible precision ) sur le calibre 2000mV j'ai 259. Donc en suivant la doc cela devrait me donné 25.9°C .... euh c'est pas un Hammam chez moi il y a un souci la ....
J'ai même été plus loin en regardant le code brut que reçoit l'arduino et j'ai 51 => 51*(0.5*1000)/1024= 24.90 .... et avec mon programme j'obtient bien 24.90, le soucis vient donc d'ailleurs ...
@B@tto: (0,5*1000)/1024 = 0.48828125 et j'ai essayer les deux et ça ne change rien au soucis ....
int reading = analogRead(sensorPin);
float voltage = reading * 5.0;
voltage /= 1024.0;
float temp = voltage/100;
Serial.println(temp);
Ce code est faux en plus, c'est *100 et pas /100
@rekuino: j'avais essayer de définir un delta, le soucis est que mon Delta n'est pas "linéaire" .... en extérieur j'ai apparemment 1°C de différence mais en intérieur la j'ai facile 2 ou 3°C ...
Sinon j'alimente mon LM35 en 5Volt, c'est incohérence peuvent-elles venir d'un "sous-voltage" du capteur ?
@SamoLaw: J'avais deja regardé ça, alors au voltmètre ( de faible precision ) sur le calibre 2000mV j'ai 259. Donc en suivant la doc cela devrait me donné 25.9°C .... euh c'est pas un Hammam chez moi il y a un souci la ....
J'ai même été plus loin en regardant le code brut que reçoit l'arduino et j'ai 51 => 51*(0.5*1000)/1024= 24.90 .... et avec mon programme j'obtient bien 24.90, le soucis vient donc d'ailleurs ...
...
Salut,
Bah dans ce cas le plus simple, c'est de changer de LM35. Parce que c'est bizarre je trouve, dans la doc c'est bien dit 10 mV par degré avec une précision de 0.5°C il me semble. :~
Pour le LM35 Tu devrais prévoir peut être une amplification de 10 entre la sortie du LM35 et l'entrée du CAN afin d'augmenter la précision de conversion car tu n'utilise qu'une partie très réduite de l'échelle de conversion, tu aurais ainsi 100mV/°C au lieu de 10mV/°C et ton convertisseur travaillerait aux environs du milieu de son domaine de conversion.
Bon j'ai vu avec la boutique ebay d'ou il vient et le vendeur m'en renvoi 2 gratuitement XD, je vais donc voir si les deux nouveaux fonctionnent cette fois ^^
chicotore:
Bon j'ai vu avec la boutique ebay d'ou il vient et le vendeur m'en renvoi 2 gratuitement XD, je vais donc voir si les deux nouveaux fonctionnent cette fois ^^
Bonjour tous
sympa la boutique, les différences de prix unitaire sont dues à quoi ? neuf/occasion ?
sinon pour ton montage, sur les circuits que j'ai, il y a un couple 100k/100 nf
(en //)entre sortie LM et masse, au plus près du LM.
j'ai des t° assez proches de la "réalité" pour autant que le thermo de référence soit exact...
Testé aussi sur l'arduino (c'est mon premier :)) est c'est ok.
je pense qu'il faut d'abord tester le LM avec un voltmètre pour vérifier le 10mv/°
et partit sur une base correcte.
A plus tard
re
je viens de relire le datasheet (LM35DZ Fiche Technique Datasheet pdf - Sonde De Température Centigrade De Précision - National Semiconductor) , schémas fin de page, il me semble que référencé à la masse, le LM ne lit pas les
t°<0, il faut éloigner celle ci de la masse montage (diode ou R) pour les lire.
mais pi't'être je me goure...
sinon le couple 100k/100nF fonctionne pour les positives - du moins pour moi depuis 2 ans, et un petit mois, 2 sur arduino - yes
pour le test volmetre, je pensais aux nouveaux que tu vas recevoir
édit, en début de page il y a aussi un montage utilisant une R en sortie vers une alim. négative, pour lire les t°<0
et courage ça va viendre - moi je peine sur le code malgres les exemples
A bientôt
Hello du mat
un p'tit plan vite fait...et une vue des miens (R est de l'autre coté)
sinon "mon" code à l'air de fonctionner aussi, ça doit être écrit cochon
(comparaison 2 LM, mise en route d'un relais si 1> à l'autre, horloge, écriture sur LCD,
et envoi sur liaison série), c'est coté processing que je cherche à récupérer les infos.
ça va venir aussi, sinon je demanderais
toujours pas averti des réponses - sniff, et l'heure des messages ? ici il est 7h26
A plus tard
Bon bah je vient de recevoir mes 2 nouveaux LM35 et toujours les même incohérences .... 26°C dans mon bureau j'ai un gros doute quand même. J'en est vraiment mare de ces LM35 à la c**