Lettura ntc sensore temperatura acqua

salve a tutti, a casa ho un termocamino artigianale e vorrei misurare con precisione a che temperatura esce l'acqua. ho tra le mani un sensore temperatura di un autovettura, non sono riuscito a reperire il datasheet ma ho la scala dei valori che sono: -40° 48805ohm -30° 27414ohm -20° 15971ohm -10° 9620ohm 0° 5975ohm 10° 3816ohm 20° 2502ohm 25° 2044ohm 30° 1679ohm 40° 1152ohm 50° 807ohm 60° 576ohm 70° 418ohm 80° 309ohm 90° 231ohm 100° 176ohm 110° 135ohm 120° 105ohm 130° 83ohm 140° 66ohm

ho non sono molto esperto di elettronica, e ho usato arduino solo un paio di volte quindi ho dei dubbi, primo in assoluto che resistenza devo mettere in serie per creare il partitore?

il grafico che esce dai dati sopra ovviamente non è una retta, secondo voi riuscirei misurando la resistenza con il partitore e utilizzando la formula per la parabola ad avere una lettura il più precisa possibile?

Il sensore che hai è una NTC (Negative Temperature Coefficient) che varia la sua resistenza al variare della temperatura in modo inverso (all'aumentare della temperatura, le resistenza diminuisce).

Il valore a 25°C (2044 ohm) determina insieme al coefficiente di temperatura l'andamento della curva.

Nel tuo caso hai già la curva e puoi estrarre gli altri valori per interpolazione lineare rispetto ai valori vicini commettendo un errore, ma trascurabile, considerando lo scopo di utilizzo.

Mettendo la NTC con un estremo a 5V in serie un resistore da 2200 ohm con un terminale posto a gnd e misurando la tensione sulla congiunzione, ottieni questi valori:

C NTC V 0° 5975 1.35 25° 2044 2.59 100° 176 4.63

La formula per calcolare i valori è: V = 5 * 2200 / (2200 + NTC)

Scusa cyber, spiegheresti come sei arrivato a scegliere proprio 2200 ohm?

Considerando il range di funzionamento di un condotta ad acqua (0°C - 120°C), a 120°C desidero che la tensione sia massima (attorno a 5V), mentre a 0°C desidero che sia la più piccola possibile (> 0V); questo per ottimizzare la lettura ADC.

Di solito si usa un resistore la cui resistenza sia circa quella della NTC a 25°C.

Se avessi inserito 10k (il massimo possibile per l'ADC), la tabella sarebbe così:

C NTC V 0° 5975 3.13 25° 2044 4.15 100° 176 4.91

La tensione a 0°V è troppo grande.

Viceversa se avessi usato un resistore da 1k:

C NTC V 0° 5975 0.72 25° 2044 1.64 100° 176 4.25

Anche questo andrebbe bene, ma il partitore consuma il doppio (circa 4mA)

Ottimo, grazie!

Eccomi, grazie per le risposte, allora, io devo alimentare a 3v. Per il termometro non voglio portarmi dietro alimentatori o altro, solo due batterie AA. Per potresti spiegarmi come procedere? Non so cos'è l'interpolazione lineare.

Ma che Arduino vuoi utilizzare, come intendi alimentarlo e come visualizzi la temperatura?

Uso semplicemente un atmega328 in configurazione 3v 8mhz e oscillatore interno,saldato direttamente su pcb creato apposta ed alimentato con 2 pile AA il progetto funziona già con 4 sonde ntc posizionate in 3 diversi punti del termocamino solo che non essendo le sonde a diretto contatto con l’acqua non mi danno la misura esatta. Questo tipo di sensore invece si impana sulla tubazione e quindi rimane sempre immerso… Per visualizzare la temperatura trasmetto tutto su un LCD nokia.

Ho usato Excel per calcolare il polinomio interpolatore corretto per il grafico con ascissa la temperatura (t) e con ordinata la tensione in uscita sul partitore (V).

Però perché questo funzioni è necessario che la tensione ai capi del partitore sia costante, quindi devi usare un riferimento di tensione a 1.1V con analologReference(INTERNAL).

Questo il polinomio interpolatore di 5° grado:

t = 2030,7 * V5 - 5206,3 * V4 + 5013,7 * V3 - 2227,7 * V2 + 545,4 * V - 62,137