Pages: [1]   Go Down
Author Topic: Sensore LM35 ad output sinusoidale?!?  (Read 927 times)
0 Members and 1 Guest are viewing this topic.
Rome
Offline Offline
God Member
*****
Karma: 1
Posts: 987
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Perchè mai il mio sensore LM35 invece di dare in output una tensione proporzionale alla temperatura mi dà valori che oscillano sinusoidalmente tra 0 e 180 con periodo di 3 secondi e mezzo????  smiley-eek
Eppure non è mica un circuito complicato, so' 3 piedini da collegare!  E non è collegato al contrario, ho letto che se lo colleghi al contrario si surriscalda!
Logged

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 4
Posts: 952
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

per dire che oscilla sinusoidalmente hai guardato con un oscilloscopio?
hai collegato direttamente l'uscita all'ingresso analogico o c'è qualche circuito di amplificazione?
se lo tocchi con le mani cambiando la temperatura cambia qualcosa sull'uscita?
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Rome
Offline Offline
God Member
*****
Karma: 1
Posts: 987
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Macchè oscilloscopio, è solo il classico sketch elementare per l'LM35!

Code:
float temp;
int tempPin = A5;

void setup()
{
  Serial.begin(9600);
  digitalWrite(tempPin,HIGH);
}

void loop()
{
  temp = analogRead(tempPin);
  temp = temp * 0.48828125;
  Serial.println(temp);
  delay(100);
}

Il "circuito" è fatto di 3 fili!

Se metto il dito o ci alito sopra non cambia niente.


Pero' vedo che non cambia niente nemmeno TOGLIENDO il sensore...  smiley-roll così scopro che sulle breadboard le file di VCC e GND dalle parti opposte della breadboard NON sono collegati tra loro! (geniale).
Vabbè, faccio i collegamenti per bene, e la situazione diventa che in presenza del sensore ho valore costante di 495.0 , in assenza ho 296.0 .

Boh?

Si saranno sminchiati i pin analogici della arduino?
Allora tolgo il chip e ce ne metto un altro: il chip sembra integro, perchè subito il led comincia a lampeggiare e mi appaiono sul serialmonitor i messaggi di un vecchio sketch.
Pero' quando cerco di caricare lo sketch... l'IDE non lo vede, mi dà il famigerato messaggio avrdude stk500_getsync()...

Che rottura....  smiley-mad

Che altro mi posso inventare?
Logged

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 4
Posts: 952
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

per prima cosa collega tutto per bene, prendi un tester e verifica che ci sia una variazione di tensione proporzionale alla temperatura

poi ricollega l'arduino e passiamo al codice, quello che hai postato tu non ha molto senso... perchè scrivi " digitalWrite(tempPin,HIGH); " ? 
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Rome
Offline Offline
God Member
*****
Karma: 1
Posts: 987
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho aggiunto quella riga "per sicurezza", tanto per non lasciare appeso il pin: in questo modo dovrebbe attivarsi una resistenza di pull-up, o qualcosa del genere.

Farò qualche prova col tester.
Logged

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 4
Posts: 952
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

la resistenza di pull-up è utile per segnali digitali, con segnali analogici rischi di falsare la misura secondo me
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Rome
Offline Offline
God Member
*****
Karma: 1
Posts: 987
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho provato il sensore col tester, lui funziona, e la arduino uno che dà i numeri!!!
Logged

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 4
Posts: 952
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

hai provato a togliete quella riga dove abiliti la resistenza di pull-up?
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Rome
Offline Offline
God Member
*****
Karma: 1
Posts: 987
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Avevo aggiunto il digitalWrite() DOPO aver verificato che lo sketch originale NON funzionava.

Ora è successa una cosa interessante: non ho fatto niente... se non stare due ore a guardare un film invece di giocare con Arduino... e adesso lo sketch originale funziona!!
Invece col digitalWrite() no.

Ma in nessuno dei due casi ho valori oscillanti come prima, ho sempre un valore costante (la temperatura senza il digitalWrite, un numero circa 10 volte più grande, ma sempre costante, col digitalWrite; e con un digitalWrite(tempPin,LOW) ho di nuovo invece la temperatura).

Ma che ne so, boh?
Si sarà emozionata la arduino quando ho caricato lo sketch che stampava a raffica i valori grezzi di tutti e 6 i pin analogici?!? E' l'unica cosa in più che ho fatto rispetto a prima!!!

Logged

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 4
Posts: 952
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

sinceramente non sto capendo nulla di quello che fai, di quello che va e di quello che non va  smiley-sweat
comunque ribadisco che secondo me una resistenza di pull-up su misure analogiche falsa le letture
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Rome
Offline Offline
God Member
*****
Karma: 1
Posts: 987
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nemmeno io sto capendo niente. :-)
Comunque è vero che quella di pullup le falsa, ma mettere il pin a massa no; e lavorare su un pin "casuale", senza cioè sapere come è impostato, non è "serio"; magari la arduino lo preimposta di per sè a LOW, ma che ne so?

Comunque mi è venuto un altro dubbio: ma analogRead(5) e analogRead(A5) sono la stessa cosa o no? Cioè, se metto un 5 in analogRead() o in digitalRead(), l'IDE capisce da solo che deve associarle lo stesso numero a pin diversi?
Logged

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 4
Posts: 952
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Nemmeno io sto capendo niente. :-)
Comunque è vero che quella di pullup le falsa, ma mettere il pin a massa no; e lavorare su un pin "casuale", senza cioè sapere come è impostato, non è "serio"; magari la arduino lo preimposta di per sè a LOW, ma che ne so?

il discorso che fai non ha fondamenti, di default i pin sono impostati come input ad alta impedenza, che non vuole assolutamente dire che sono a massa

Comunque mi è venuto un altro dubbio: ma analogRead(5) e analogRead(A5) sono la stessa cosa o no?
si
Cioè, se metto un 5 in analogRead() o in digitalRead(), l'IDE capisce da solo che deve associarle lo stesso numero a pin diversi?
si
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 234
Posts: 20181
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sexondo me il Tuo problema sono falsi contatti. Qualche cavetto fa contatto e no a seconda come lo muovi o come é sollecitato.

Ciao Uwe
Logged

Rome
Offline Offline
God Member
*****
Karma: 1
Posts: 987
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sexondo me il Tuo problema sono falsi contatti. Qualche cavetto fa contatto e no a seconda come lo muovi o come é sollecitato.

Ciao Uwe
no, era troppo sinusoidale per essere casuale, ho proprio fatto il grafico su excel! Peccato che non l'ho salvato...
E poi ora mi resta il mistero del secondo chip che fa girare lo sketch che già contiene ma non vuole collegarsi all'IDE. Scommetto che se lo provo oggi, funziona...
Logged

Offline Offline
God Member
*****
Karma: 8
Posts: 691
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

mah..  comunque  qualche "non senso c'è"   a metti un pin come digitale  e poi fai pullup

oppure lo lasci stare analogico e basta,

tieni presente che pin analogici lasciati liberi hanno la tendenza a seguire quelli vicini  o muoversi di volta in volta
Logged


Le cose si possono considerare facili in due casi: quando le si conosce bene o quando non le si conosce affatto...

Pages: [1]   Go Up
Jump to: