Forum des utilisateurs de Blockly(s)

Blockly@rduino => Améliorations à apporter => Discussion démarrée par: Martin le octobre 16, 2017, 04:04:50 pm

Titre: problème de stabilité de la sonde température
Posté par: Martin le octobre 16, 2017, 04:04:50 pm
Bonjour à tous,
Je suis débutant sur le site blockly et aussi  sur la matériel arduino ,  pour m'entrainer j ai fait un petit programme pour une sonde température avec un LM35 tout fonction bien , les données qui remontent dans la liaison série sont stable pas de problème  mais lorsque je  rajoute un autre bout le programme qui lie une valeur de potentiomètre  , la valeur de la sonde varie de + ou - 2  ou 3 ou 5 ou  plus  il y a un   problème de stabilité  de la sonde  température . J' ai changé les entrées analogique idem ..

int temperature_sonde;
int reglage_CHRONO;

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

void loop() {
temperature_sonde = map(analogRead(0), 0, 220, 0, 100);
  delay(1000);
  Serial.print("TEMPerature SONDE  : ");
  Serial.println(temperature_sonde);
}
jusque la tout va bien , mais lorsque je rajoute
  reglage_CHRONO = map(analogRead(1), 0, 1000, 0, 30);
  Serial.print("Temps de chauffe   : ");
  Serial.println(reglage_CHRONO);
  delay(2000);
}
les valeurs de temps chauffe sont stable , mais ceux de température sonde varient en permanence

je pense que çà vient la carte arduino UNO,  est ce que quelqu un peut  tester ce programme afin de voir si il a le même problème.
Merci pour votre aide , j en ai grand besoin  mes débuts sont très laborieux ... mais ç'est passionnant la prog avec blocklyarduino .
A+



int temperature_sonde;
int reglage_CHRONO;

void setup() {

  Serial.begin(9600);
}

void loop() {
  temperature_sonde = map(analogRead(0), 0, 220, 0, 100);
  delay(1000);
  Serial.print("TEMPerature SONDE  : ");
  Serial.println(temperature_sonde);
  reglage_CHRONO = map(analogRead(1), 0, 1000, 0, 30);
  Serial.print("Temps de chauffe   : ");
  Serial.println(reglage_CHRONO);
  delay(2000);
}
Titre: Re : problème de stabilité de la sonde température
Posté par: fontaine.jp le octobre 16, 2017, 09:04:42 pm
Salut,
J'ai moi aussi essayer d'utiliser ce capteur, et le moins que l'on puisse dire c'est qu'on a vu mieux en terme de précision.
Je me suis inspiré de ce site : https://www.carnetdumaker.net/articles/mesurer-une-temperature-avec-un-capteur-lm35-et-une-carte-arduino-genuino/
Et de celui-ci : https://openclassrooms.com/forum/sujet/mesure-de-temperature-via-lm35-sur-arduino
On voit qu'il existe plusieurs modèles et bien entendu le modèle le moins chère est aussi le moins efficace.
Donc pour la stabilité je te conseille de mettre un condensateur comme sur le premier site ou le deuxième à toi d'essayer. Et pour une meilleur précision tu peux aussi ajouter une instruction supplémentaire dans le setup() ---> analogReference(INTERNAL);
Cela permet d'utiliser le capteur sur une plage de tension de 0 à 1.1V au lieu de 0 à 5V
j'espère que ça va t'aider.
A+
Titre: Re : problème de stabilité de la sonde température
Posté par: Bzhtitude le octobre 16, 2017, 09:05:44 pm
Salut,

Pas de soucis sur le code mais peux-tu nous faire un petit schéma de câblage des composants externes, autour du LM35 , et la valeur du potentiomètre, ainsi que la tension d'alimentation et la source d'alimentation du montage. Oui, c'est beaucoup à fournir mais ça permet de lever des doutes sur la qualité de l'alim, qui pour le LM35 est assez importante.
Il faut aussi prendre en compte que Le LM35 est précis à 0.5°C et qu'il met (selon la doc) entre 3 et 4 minutes avant de se stabiliser sur la valeur finale. Tout ceci peut expliquer un peu de flottement dans la lecture.

Ce qui me semble étrange c'est que ce soit juste le fait de rajouter une lecture sur A1 qui provoque tout cela, Je me demande aussi comment tu as étalonné pour "mapper" la sonde.

Titre: Re : problème de stabilité de la sonde température
Posté par: Martin le octobre 17, 2017, 10:39:06 pm
bonsoir, pour le câblage c est simple, la pin centrale du LM35 sur l entrée  A0  ,  les 2 autres une sur le + l autre sur le - en respectant la polarité
idem pour le potar de 50Kohms  la pin centrale sur l entrée A1, une fois le câblage réaliser je charge le programme pour la sonde , tout est ok , çà  ne bouge pas d un degrés et cela pendant 30mn , La sonde est bien taré car lorsque je pose les doigts sur le LM35 la température monte régulièrement
je charge le reste de programme pour le temps , aussitôt  les valeurs de la sonde fluctue de 1 ou 2 voir jusqu a 5 degrés .
je pense qu il y a un bug lorsque l on met 2 fonctions map ,
Avant d acheter une nouvelle carte arduino UNO Si une bonne âme pouvait tester de son coté je lui en serais très reconnaissant   
bonne soirée a tous