Errore rilevazione temperatura

Salve a tutti.
Sto provando a rilevare la temperatura della stanza mediante un LM35. Sul cablaggio e sullo sketch sono sicuro della correttezza. Accade però che i valori rilevati e stampati sul Serial Monitor sono decisamente errati, infatti risulta una temperatura di circa 170 °C. Inoltre ho notato che addirittura scollegando il cavo che collega l'Output del sensore al pin analogico di arduino, quest'ultimo continua a fornire gli stessi risultati.
Da cosa potrebbero derivare questi errori?
Eventuali disturbi?

Grazie mille. :slight_smile:

Buonasera e benvenuto, :slight_smile:
essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO ... Grazie. :slight_smile:

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposito thread, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. :wink:

Ti consiglio di ricontrollare ATTENTAMENTE i collegamenti del tuo sensore e la piedinatura perché ... quella è la tipica cosa che accade quando il sensore viene collegato al contrario ... ::slight_smile:


... verifica e se hai ancora problemi facci sapere.

Guglielmo

I collegamenti sono esattamente quelli che lei mi ha mostrato. Vi posto anche lo sketch, ripeto che l'ho visionato più e più volte e mi pare assolutamente corretto, ma non si sa mai, anche se non mi pare errore di programmazione.

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

void loop() {
  int v = analogRead(A0);
  Serial.println(v);

  double vt = (float)(5000.0d/1024.0d)*(float)v;
  Serial.print("tensione: ");
  Serial.print(vt);
  Serial.println(" mV");

  double temp = vt/10.0d;
  Serial.print("temp:");
  Serial.print(temp);
  Serial.println("°C");

  delay(1000);
}

Nicola.

Dal codice al momento non mi salta agli occhi nulla di particolare per cui ... perdona se insisto, ma spesso viene collegato al contrario (Vcc al posto di GND e vicersa) ... non prendertela ma controlla bene la faccia piatta del sensore e fai riferiemto ad essa.

Se anche riverificando sei certo al 100% che sia collegato esatto ... allora può solo essere guasto ... gli LM35 sono sensori "non raziometrici" e come tali sono insensibili alle variazioni di tensione. In pratica, dentro gli LM35 c'è un generatore a corrente costante, usato per la misura, che li rende indipendenti dalla tensione di alimentazione (che può essere compresa tra 4 e 30 V) e anche al rumore sulla stessa se non è troppo alto ... ::slight_smile:

Guglielmo

Sisi sono assolutamente certo del corretto collegamento. Ho provato con tutti i 10 LM35 che ho acquistato e spererei che non siano tutti danneggiati :stuck_out_tongue_closed_eyes:.
Ho testato su un altro arduino e stessi problemi. Vabbè cercherò di trovare altro hardware e fare alcuni test. La ringrazio comunque dell'aiuto e della breve lezione teorica sull'LM35.

Saluti.
Nicola.

Se con un tester su A0 misuri sempre 1.70V sketch e Arduino sono ok, quindi il problema è sul LM35, se rilevi 0.25V è il contrario

A questo punto, perso per perso, puoi sempre collegarne uno al contrario e vedere...

bowen93:
Inoltre ho notato che addirittura scollegando il cavo che collega l'Output del sensore al pin analogico di arduino, quest'ultimo continua a fornire gli stessi risultati.

Sei sicuro fi questo?

Perché se sì, significa che è guasto Arduino, non il sensore

Conferma per cortesia

Sei sicuro fi questo?

Perché se sì, significa che è guasto Arduino, non il sensore

Conferma per cortesia

Sicurissimo. Ho provato anche con un secondo arduino ma stesso comportamento. Devo provare procurandomi altri LM35.
Grazie a tutti :smiley:

bowen93:
... Inoltre ho notato che addirittura scollegando il cavo che collega l'Output del sensore al pin analogico di arduino, quest'ultimo continua a fornire gli stessi risultati. ...

... gli stessi risultati? ... io credo, piuttosto, valori casuali attorno ad un certo valore ... cosa del tutto normale se leggi un pin analogico non collegato a nulla ... e se accosti una mano vedrai che i valori cambiano :smiley:

Guglielmo

Appunto ho chiesto....

E se il problema fosse il cavo?

Maurizio

non è nemmeno da escludere

se ci hai azzeccato ti offro un caffè corretto prugna

E se il problema fosse il cavo?

Maurizio

Non è il cavo, ne ho provati di diversi. Nessun caffè corretto prugna per te. :smiley:

Però vedo che non hai ancora fatto le misure al tester
Falle che vediamo
E fai una foto del cablaggio

Ho provato con due Arduini il tuo sketch e , dopo un po', la lettura si stabilizza attorno ai 160 - 170 gradi se su A0 non e' collegato niente, nemmeno un filo.
Come dice Guglielmo, se c'e' collegato un filo basta avvicinare la mano per vedere la lettura cambiare.

Questo farebbe pensare che non ti stai collegando su A0.

Comunque per provare se la lettura analogica su A0 funziona correttamente, fa un ponticello con un filo tra A0 ed il pin 3.3V: devi leggere una temperatura attorno ai 330 gradi, vale a dire 3300mV.

Inoltre, come gia' ti hanno detto, per provare se i sensori funzionano correttamente alimentali con il 5V (facendo attenzione ad usare i pin giusti) e sull'uscita (il pin centrale) devi leggere una tensione di 10mV per ogni grado centigrado, vale a dire 200mV per 20 gradi, 250mV per 25 gradi ... e cosi' via.

Ciao
Marco

Data l'assenza di

Misure
Foto
E OP

Credo proprio che il caffè corretto prugna il mio socio se lo sia meritato

Naturalmente offro io, la prima volta che torno nella 'piccola patria veneta'

;D

Mettiamo noi: "RISOLTO" ? :stuck_out_tongue: ;D

Maurizio

Uhmm... LM35 mandorlati che, in realtà, sono transistor bacati?... :slight_smile: