Pages: [1]   Go Down
Author Topic: termistore  (Read 684 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 1
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salve a tutti.
Sono un neofita di arduino, ma tremendamente affascinato da questo mondo, per questo mi scuso anticipatamente se chiederò qualcosa di ovvio o stupido.
Ho comprato sulla baia, due termistori, che mi sembrano "adatti", per fare un pò di prove, come descritto da un piccolo manuale comprato in libreria.
Ho trovato dunque sulla baia a pochi spiccioli, un TERMISTORE NTC 0,25W 4,7 KOHM, e vi allego dunque le altre informazioni presenti nell'inserzione:
DISSIPAZIONE: 0,5 W
TEMP. LAV.: -25°C +100°C
FATT. DISS.: 9,5mW/dec C
DIELETTRICO: 100 V
RESIST. ISOL.: 100 MOHM
TOLLERANZA: 10% Impiegati nei circuiti tvc.

Seguendo quelle che sono le linee generali del manuale (dove è preso però un termistore di differente resisteza), riesco a far leggere la temperatura, ma credo, anzi sono certo, che ci sia qualche errore (non credo la temperatura in stanza sia di 12gradi centigradi, visto che sto in maglietta, e i termosifoni accesi tutto il dì).
Questo perchè ho diciamo "ricopiato" quello che era il codice esempio del manuale, che vi allego:
Code:
#include <math.h>

const int sensorPin = A0;    
int sensorValue = 0;  
float voltaggio;
float termistore;
float temp;

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

void loop() {

  sensorValue = analogRead(sensorPin);    
  voltaggio=(5.0*(float)sensorValue)/1024;
  termistore=((10000*5.0)/voltaggio)-1000;
  temp=(4100.0/log(termistore/0.0106613843));
  temp=temp-273.15;
  Serial.print(sensorValue);
  Serial.print(" -> ");
  Serial.print(voltaggio);
  Serial.print(" -> ");
  Serial.print(termistore);
  Serial.print(" (");
  Serial.print(temp);
  Serial.println(" gradi)");
  delay(1000);
}

Dove sta lo sbaglio?
Grazie a tutti.


Ah, possiedo una scheda ArduinoUno e lavoro principalmente su Xubuntu 12.04 64bit (la scheda viene riconosciuta tranquillamente), e possiedo diversi componenti (Workshop Base)!
« Last Edit: November 14, 2012, 12:19:58 pm by mattia9305 » Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 569
Posts: 12573
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Come hai collegato il termistore ad Arduino?
Se non sai che resistenza deve avere ad una data temperatura non puoi semplicemente applicare una formula standard con gli estremi, anche perché questi componenti non hanno un andamento lineare; potresti invece introdurre un fattore di correzione: misuri la temperatura della tua stanza con un termometro affidabile e poi aggiungi la differenza per leggere su Arduino la temperatura esatta. In realta questo criterio va bene per piccoli range di misura, p.es 0-45°C, altrimenti devi trovare il datasheet e creare un array di valori in base alla corrispondenza resistenza-temperatura.
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Offline Offline
Newbie
*
Karma: 1
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Un pin del sensore a 5v, e l'altro, tramite resistore a GND.Tra termisore e resistore, jumper collegato ad A0..
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 569
Posts: 12573
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Un pin del sensore a 5v, e l'altro, tramite resistore a GND.Tra termisore e resistore, jumper collegato ad A0..
la resistenza l'hai messa da 10K o cosa?
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

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

mattia9305
Quella formula é fatta per il termistore (non so se NTC o PTC) descritto nel libro. Se cambi valore cambia anche i valori letti.

Che valore ha quello del libro? che resistenza viene messa in serie nel libro?
Ciao Uwe
Logged

Pages: [1]   Go Up
Jump to: