Pages: [1] 2 3 ... 17   Go Down
Author Topic: Sensore di temperatura collegato con 10m di filo  (Read 15736 times)
0 Members and 1 Guest are viewing this topic.
Torino (ITA)
Offline Offline
Full Member
***
Karma: 1
Posts: 156
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salve, ho due sensori di temperatura un LM35DZ e un LM35CAZ,bene, tutte e due funzionano molto molto bene. Ma appena lo collego con un filo dove all'interno ci sono tre fili e una bella schermatura che protegge il tutto.
Il problema è che collegando il sensore con il filo 10m mi da una temperatura poco stabile cioè a quando ho 13 gradi poi mi da 30 ecco guardate anche voi, il delay è di 1000
Code:
Celsius, 30.27
 Celsius, 15.63
 Celsius, 19.04
 Celsius, 24.90
 Celsius, 20.02
 Celsius, 19.53
 Celsius, 19.53
 Celsius, 23.44
 Celsius, 15.63
 Celsius, 16.11
 Celsius, 15.14
 Celsius, 33.20
 Celsius, 31.74
 Celsius, 25.39
 Celsius, 31.25
 Celsius, 17.09
 Celsius, 21.00
 Celsius, 24.41
 Celsius, 21.00
 Celsius, 16.11
 Celsius, 20.51
 Celsius, 27.34
 Celsius, 16.11
 Celsius, 27.34
 Celsius, 21.00
 Celsius, 24.90
 Celsius, 17.09
 Celsius, 17.58
 Celsius, 24.41
 Celsius, 17.58
 Celsius, 18.55
 Celsius, 16.60
 Celsius, 16.11
 Celsius, 28.32
 Celsius, 20.51
 Celsius, 22.46
 Celsius, 23.44
 Celsius, 20.51
 Celsius, 16.60
 Celsius, 17.09
 Celsius, 21.48
 Celsius, 24.41
 Celsius, 23.93
 Celsius, 24.90
 Celsius, 18.07
 Celsius, 15.63
 Celsius, 22.46
 Celsius, 24.41
 Celsius, 16.11
 Celsius, 15.14
 Celsius, 30.76
 Celsius, 23.93
 Celsius, 21.00
 Celsius, 16.60
 Celsius, 19.53
 Celsius, 20.51
la domanda che vi voglio fare è perchè ho questi sbalzi di temperature?? e dovuto al filo o a che cosa?
« Last Edit: December 14, 2012, 03:55:45 pm by alberto39 » Logged

0
Offline Offline
Faraday Member
**
Karma: 30
Posts: 2905
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Si probabilmente è dovuto anche al filo, però non hai detto quale schema hai seguito per connettere gli LMXX ai pin di arduino.

Es. su ogni pin analogico usato c'è un condensatore da 100nF tra GND e il pin stesso?

Dovrebbe trattarsi di interferenza legata alla lunghezza dei fili. Risolvendo questo altri problemi di precisione potrebbero emergere.

Ciao.
Logged

AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

Genova
Offline Offline
Faraday Member
**
Karma: 38
Posts: 3287
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma soprattutto questo cavo schermato dove transita?
Logged

no comment

Torino (ITA)
Offline Offline
Full Member
***
Karma: 1
Posts: 156
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

perdonami hai ragione allora io ho fatto il collegamenti seguendo il datasheet
e poi ho collegato il pin del sensore lo collegato con uscita analogica A1 e poi ecco il programma che ho fatto.
Code:
float tempC;      //dichiarazione di variabile
int tempPin = 0;  //inizializzazione del pin di Arduino

void setup()
{
Serial.begin(9600); //apertura porta seriale, set della velocità a 9600 bps
}

void loop()
{
tempC = analogRead(tempPin);           //lettura valore del sensore
tempC = (5.0 * tempC * 100.0)/1024.0;  //conversione del dato analogico in temperatura
Serial.println(tempC);             //invia i dati alla seriale
Serial.print(" Celsius, ");

delay(1000);                           //aspetta 1 secondo prima di ripetere
}
Logged

Torino (ITA)
Offline Offline
Full Member
***
Karma: 1
Posts: 156
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma soprattutto questo cavo schermato dove transita?
sotto la finestra e basta non passa con altri fili della corrente
Logged

Offline Offline
Sr. Member
****
Karma: 8
Posts: 293
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

10 metri per pochi millivolt sono tanti...
Per le celle di carico quando ci sono tratti lunghi si usano 6 fili ossia 2 in più del necessario per "compensare" il segnale... non so se si può pensare qualcosa di simile...
In ogni caso un'idea "software" potrebbe essere quella di fare una media di molte letture....male non fa... però imho sui 10 metri devi pensare ad amplificare prima il segnale o mettere un DAC vicino al sensore e trasmettere poi il segnale digitale.... e i2c mi pare che ti tocca pure amplificarlo...
Logged

Marche
Offline Offline
Edison Member
*
Karma: 33
Posts: 2261
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si potrebbe risolvere usando due microcontrollori: uno vicino al sensore che legge e trasmette via seriale il valore del sensore e l'altro dall'altra parte che riceve ed elabora i dati per fare anche altre cose; per la seriale 10 metri di cavi non sono un problema
Logged

0
Offline Offline
Faraday Member
**
Karma: 30
Posts: 2905
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Leggiti pagina 7 di questo datasheet: http://www.ti.com/lit/gpn/lm35

Dove dice come ovviare circa la ridotta capacità di pilotare carichi capacitivi tipici di fili lunghi.

In genere basta twistarli, cioè incrociarli ma in quella pagina spiega anche come ridurre i fenomeni transitori dovuti ai campi magnetici, vedi accendi spegni motore, luce, alimentatori a commutazione, scr, ecc.

Risolvi e poi fammi sapere come fai.

Ciao.
Logged

AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

Parma
Offline Offline
Edison Member
*
Karma: 20
Posts: 2361
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Anche se molto più caro utilizzerei un ds18b20+ per questo tipo di misure a distanza, ti restituisce un segnale digitale che non ha problemi così spinti su quelle distanze

Ciao
Logged

Torino (ITA)
Offline Offline
Full Member
***
Karma: 1
Posts: 156
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

stavo leggendo http://www.ti.com/general/docs/lit/getliterature.tsp?genericPartNumber=lm35&fileType=pdf e a pagina 2 c'è un capitolo che dice "typical applications" figura 2 nella figura dice di mettere una R di non so quando ansi dice per sapere di quando deve essere la R si deve usare questa formula R=-Vs/50uA ma io non ho capito che cosa è -Vs. Perchè poi dice che la resistenza deve essere collegata tra il segnale e -Vs?
è questo il motivo che non funziona vero??
Logged

Parma
Offline Offline
Edison Member
*
Karma: 20
Posts: 2361
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

-Vs è una tensione negativa, se Vs è 5v allora -Vs è -5v. Permette di leggere temperature negative ma necessita di una tensione negativa che spesso non si ha come usando semplicemente Arduino.

In sostanza NON puoi trasmettere con confidenza su lunghe distanze un segnale di pochi mV, non a caso la seriale usa spesso una differenza di tensione di 30 volt (+-15v) per discriminare gli 1 e gli 0.

Soluzioni:
- metti il micro vicino al sensore
- usa un sensore con uscita digitale
- amplifica il segnale prima di trasmetterlo => attenzione, è la strada del dolore in quanto potresti aver bisogno di equalizzare il segnale per compensare le distorsioni introdotte dal cavo, se sono non lineari allora auguri..  smiley-twist

Ciao
Logged

Torino (ITA)
Offline Offline
Full Member
***
Karma: 1
Posts: 156
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

-Vs è una tensione negativa, se Vs è 5v allora -Vs è -5v. Permette di leggere temperature negative ma necessita di una tensione negativa che spesso non si ha come usando semplicemente Arduino.

In sostanza NON puoi trasmettere con confidenza su lunghe distanze un segnale di pochi mV, non a caso la seriale usa spesso una differenza di tensione di 30 volt (+-15v) per discriminare gli 1 e gli 0.

Soluzioni:
- metti il micro vicino al sensore
- usa un sensore con uscita digitale
- amplifica il segnale prima di trasmetterlo => attenzione, è la strada del dolore in quanto potresti aver bisogno di equalizzare il segnale per compensare le distorsioni introdotte dal cavo, se sono non lineari allora auguri..  smiley-twist

Ciao
e se compro un sensore digitale è sicuro che posso fare questo progetto??
che modello devo prendere?
e di questo che ho che cosa posso fare?
Logged

Parma
Offline Offline
Edison Member
*
Karma: 20
Posts: 2361
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Prova a dare un'occhiata al ds18b20+, quello che hai mettilo nel cassetto
Logged

Torino (ITA)
Offline Offline
Full Member
***
Karma: 1
Posts: 156
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Prova a dare un'occhiata al ds18b20+, quello che hai mettilo nel cassetto
che indenti dire per "prova a dare un'occhiata al ds...."
Logged

Parma
Offline Offline
Edison Member
*
Karma: 20
Posts: 2361
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

E' un sensore, questo è il suo datasheet http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf semplicemente valuta se va bene per la tua applicazione, su internet trovi n-mila articoli, è un sensore molto utilizzato anche con Arduino

Ciao
Logged

Pages: [1] 2 3 ... 17   Go Up
Jump to: