Sonda NTC o PTC per controllo temperatura liquidi.

Ciao a tutti,
questo è il mio primo post e quindi chiedo scusa se per caso sto involontariamente commettendo errori di inesperienza...
Illustro brevemente la mia problematica;
sto cercando di creare un sistema che mi controlli dei bruciatori a gas (pilotati da elettrovalvole) in modo tale che riscaldino il mio liquido alla temperatura richiesta e la mantenga tale per N. minuti (una specie di termostato creato con arduino).
Per fare ciò ho quindi la necessità di rilevare la temperatura di tale liquido.
E qui chiedo se qualcuno di voi ha già avuto esperienze simili e come ha risolto il problema.
Ho visto che c'è la possibilità di impermealizzare un LM35, ma personalmente vorrei utilizzare delle sonde tipo NTC o PTC che normalmente vengono usate nei termostati digitali.
Qualcuno di voi ha già provato ed eventualmente ha già trovato il modo di trasformare con arduino il segnale di una sonda in temperatura REALE?
Grazie in anticipo.

ciao, se fai un giro sul playground trovi vari modi per leggere una RTD, leggere una NTC non è molto differente...le PTC che io sappia non sono molto usate come sonde di temperatura ma come "interruttori termici".
Per ottenere il meglio, le letture dovrebbero essere fatte a corrente costante, cosa non semplice da fare, infatti, una configurazione a ponte di wheatstone è la soluzione più usata.
Però poi alla fine bisogna anche valutare il fatto che i 10 bit di risoluzione di arduino sono un po' tirati per applicazioni di questo tipo...chiaro, dipende un po' anche da quanto grande vuoi il range di temperature che vuoi misurare, se non è troppo ampio, 10 bit possono anche bastare.

Grazie per la velocità....
Diciamo che il mio range non è molto ampio, in pratica devo automatizzare il processo di mash durante la produzione della birra, e quindi ho la necessità di leggere due o tre temperature contemporaneamente da altrettanti recipienti contenenti appunto dei liquidi in fase di riscaldamento.
Quindi il mio sarà un range che andrà da una temperatura ambiente fino a quella di ebollizione. Per stare larghi direi da 0 a 110. Inoltre la precisione non è indispensabile che sia a livelli decimali, ma di uno o due gradi per intenderci.
Ho già fatto alcuni test con delle sonde NTC, e qualcosa è venuto fuori, ma l'andamento del mio grafico non è lineare a quindi non ho trovato un'equazione che trasformasse con fedeltà il valore restituito da arduino in una temperatura più o meno reale.
Purtroppo non conosco RTD e per questo preferivo le sonde NTC (e poi le ho già a casa)....
Cosa mi consigliate, di lasciar perdere le NTC? Sinceramente vedendo l'LM35 pensavo che fosse più semplice leggere una temperatura anche se con altre sonde... :-[

ciao mtbjumper80
Siccuramente una sonda NTC/PTC in un involucro d'accaio inossidabile é meglio che un LM35 che ha la forma di un transistore.
I NTC/PTC non hanno una rapporto resistenza/temperatura lineare, ma se Ti servono solo punti ben determinati basta sapere la lettura digitale.
Alternative piú costose sono PT100 o PT1000; o Termocoppie K (la sonda é poco costosa ma l'elettronica dopo é complicata.
Ciao Uwe

Ok, già stiamo raggiungendo dei risultati interessanti, ma ancora nessuno mi ha detto se ha mai avuto la necessità di misurare la temperatura di alcuni liquidi (quindi usando sonde impermeabili) e come ha raggiunto il proprio obiettivo.
Per quanto mi riguarda ho realizzato una serie di rilevazioni pratiche di temperature con la stessa sonda collegata prima con arduino in un canale analogico e poi con un termostato digitale eliwell IC902.
Sono riuscito a trovare i seguenti dati:

ARD TERM
415 76,3
418 74,5
420 73,0
425 70,0
429 68,0
434 65,0
437 63,0
461 49,8
465 47,6
479 40,0
482 38,6
491 33,4
495 31,0
519 19,0
518 19,5
524 16,5
524 16,8
531 13,3
548 4,7
551 4,1
554 2,5

dove ARD è il valore restituito da arduino e TERM è il valore della temperatura dato dal termostato digitale.
Il grafico è abbastanza lineare, ma non mi convince proprio perchè da quello che ho capito non dovrebbe essere lineare e volevo sapere anche la Vs opinione...
Ho creato una linea di tendenza e ho visualizzato la formula che la genera (y=-0,5336X+296,51).
Io userei tale equazione per calcolare la temperatura partendo dal valore restituito da arduino. Cosa ne pensate?
Idee? Considerazioni? Sono in ascolto.Grazie 1000.

PS: come faccio ad inserire l'immagine del mio grafico nel post?! :-[

Re: Sonda NTC o PTC per controllo temperatura liquidi.
Reply #1 - 20.04.2010 at 23:52:29 | ciao, se fai un giro sul playground trovi vari modi per leggere una RTD, leggere una NTC non è molto differente...

riporto su questo topic per una domanda: ho provato a cercare nel playground qualcosa per leggere una rtd ma non ho trovato niente. qualcuno sa dove posso trovare queste info?

Interfacing with hardware -> Input -> Environmental -> Temperature

RTD:
Thermistor
Thermistor2
Thermisto3

NTC:
KTY81-110

cercavo semplicemente rtd...grazie mille

eh prego...ma non era difficile!

@mtbjumper80
ciao, che modello di NTC utilizzi? E che schema hai utilizzato per le acquisizioni da confrontare con il termostato Eliwell?

per le immagini conviene fare un upload da qualche parte (tipo http://imageshack.us/) e poi postare il link

ieri mi sono arrivati i sensori di temperatura. è una pt100 a 2 fili (uno rosso e uno bianco)..ma come faccio a leggere un valore corretto? mi spiego meglio..

ho collegato come l'esempio Arduino Playground - Thermistor2 ma la lettura sul pin analogico 0 mi da sempre 1023. è due gg che cerco su internet e qui sul forum ma non ci capisco niente di ste cose XD

insomma dovrei riuscire in qualche modo a leggere la temperatura in gradi da questa sonda, ma nn ho assolutamente idea di come fare. leggevo in questo post che bisogna utilizzare un ponte di wheatstone..ma per me è arabo.qualcuno mi puo dare una mano o qualche input? ve ne sarei molto grato

oggi ci ho smanettato su ancora un po.

allora riprendendo questo esempio, ho utilizzato invece che una resistenza da 10k, tre resistenze da 330ohm ciascuna collegate in serie: il multimetro mi calcola la resistenza equivalente di queste tre resistenze come 970 ohm.
a questo punto ho modificato il codice in questo modo, e ho ricavato finalmente qualcosa di utile. il codice è questo

//Schematic:
// [Ground] ---- [1k-Resister] -------|------- [Thermistor (pt100)] ---- [+5v]
//                                    |
//                               Analog Pin 0

int ptPin = 0;


double getTemp(int voltage) {
      float resistance = 0;
      float temp = 0;
      int adc = voltage;
      
      resistance = 993280;
      resistance = resistance / adc;
      resistance = resistance - 970;
      
      temp = resistance - 100;
      temp = temp / 0.385;
      
      Serial.print("Analogic read: ");
      Serial.print(adc);
      Serial.print(" Resistance: ");
      Serial.print(resistance);
      Serial.print(" Temperature: ");
      Serial.println(temp);
      
      return temp;
}

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

void loop() {
      getTemp(analogRead(ptPin));
      delay(1000);
}

più o meno riesco a misurare la temperatura (nella stanza ci sono circa 25gradi e mi calcola 25 gradi, quindi piu o meno ci siamo). inoltre, ho preso un bicchiedere d'acqua con dentro tanto tanto ghiaccio, e la resistenza era di circa 102 ohm, mentre un normale termometro mi segnava la temperatura a 6°, quindi anche qui più o meno ci siamo.

domandone: come faccio a questo punto a migliorare la precisione? nel senso che adesso, appena la lettura analogica del pin 0 mi varia di 1 (per esempio da 919 a 920), la resistenza mi varia da 110.83 a 109.65, e di conseguenza la temperatura mi sballa di 3 gradi. è possibile migliorare la precisione? credo di si ma non ho assolutamente idea di come fare...

beh comincia a ragionare sul fatto che i pin analogici di arduino hanno una risoluzione di 10 bit... la tensione più piccola che riescono a misurare è circa 5mV

mh..eheh non ci arrivo comunque :smiley:

comunque guardando un po' in giro ho trovato un topic di un tizio che con arduino ha utilizzato quest'aggeggio che pare proprio fare al caso mio

http://www.smartec.nl/pdf/DSUTI.pdf

costo 5 euro. l'ho ordinato: se è veramente così semplice utilizzarlo molti meno grattacapi :smiley: