Domanda:
Impossibile ottenere una lettura precisa con il sensore di temperatura PT100
Muhamed Krlić
2013-12-11 00:53:33 UTC
view on stackexchange narkive permalink

Sto cercando di ottenere un valore di temperatura più preciso dal sensore PT100 (2 fili) con Arduino.

Ecco come appare il mio circuito:

Circuit

Quando il sensore è di circa 20 ° CI ottieni un valore sul pin A5 che è 432 e quando il sensore è di circa 30 ° CI ottieni un valore sul pin A5 che è 440. Come puoi vedere questo è un intervallo molto piccolo ( 432-440).

Voglio una gamma di segnale analogico più ampia, come da 100 a 1000.

Forse posso in qualche modo ottenere la resistenza del PT100 e con qualche formula matematica per ottenere il temperatura.

Cosa posso fare con il mio circuito per ottenere una lettura più precisa della temperatura?

Cinque risposte:
Joe Hass
2013-12-11 01:21:27 UTC
view on stackexchange narkive permalink

Non è possibile ottenere letture più precise con un RTD collegato direttamente al convertitore A / D di Arduino. Per ottenere letture più precise, è necessario inserire l'RTD in un ponte e utilizzare un amplificatore per strumentazione per sviluppare un segnale più grande.

alexan_e
2013-12-11 01:22:29 UTC
view on stackexchange narkive permalink

Puoi utilizzare un IC esterno che si occupa di leggere il sensore e quindi ottenere il risultato digitalmente, ad esempio MAX31865

Forse potrei in qualche modo ottenere la resistenza di PT100 e con qualche formula matematica ottenere la temperatura?

Puoi trovare tabelle di resistenza in Internet, puoi creare una tabella in flash e utilizzare l'interpolazione per calcolare la temperatura in base alla resistenza che ottieni.

martinm
2013-12-11 12:06:37 UTC
view on stackexchange narkive permalink

Prima di tutto, se vuoi ottenere precisione da una PT100, devi usare una versione a 4 fili e non 2.

In una versione a 4 fili, una coppia è usata per "alimentare" il PT100, il secondo viene utilizzato per misurare la caduta di tensione nel PT100. In questo modo la caduta di tensione nel cavo è minima: poiché V = RI e I è quasi zero nella coppia di misura, nessuna caduta di tensione. Detto questo, poiché la PT100 non necessita di un cavo specifico, è molto facile convertire una PT100 a 2 fili in una PT100 a 4 fili.

Devi anche assicurarti che il resistore utilizzato per misurare la corrente in corso attraverso il PT100 è molto preciso (come lo 0,01%). Sospetto anche che avrai bisogno di un AD migliore di quello che hai nel tuo Arduino.

Una volta che sei sicuro di ottenere dati sufficientemente precisi dal tuo AD, dovrai usare le tabelle PT100 per interpolare i valori. Il metodo Newton è facile da programmare e dà buoni risultati.

Se pensi che tutto questo sia troppo complesso da gestire, dovresti passare a un sensore di temperatura più semplice. Ad esempio, un NTC probabilmente funzionerebbe direttamente sul tuo Arduino, ma otterrai una precisione di ~ 1 ° invece di 0,03 °

È un'ottima risposta da parte tua proprio lì, chiarisce le cose. @alexan_e mi ha suggerito di utilizzare MAX31856 (RTD to Digital conv.) Che ha un convertitore A / D preciso che mi stai suggerendo .. Ti sei meritato un voto per una spiegazione dettagliata. Grazie.
Ciao, avevo una domanda sull'uso di 4 fili su arduino, a dove dovrebbe connettersi la coppia di misura?uno ad Analog in e l'altro?a GND?
kimliv
2013-12-11 06:25:52 UTC
view on stackexchange narkive permalink

Questo argomento potrebbe essere una risposta per te Misurare accuratamente la resistenza con un arduino?

Per calcolare la temperatura puoi utilizzare questa formula:

Possono essere forniti elementi termoresistenti che funzionano fino a 1000 ° C. La relazione tra temperatura e resistenza è data dall'equazione Callendar-Van Dusen:

\ $ R_T = R_0 \ left [1 + AT + BT ^ 2 + CT ^ 3 (T-100) \ right] \; (-200 \; {} ^ {\ circ} \ mathrm {C} < T < 0 \; {} ^ {\ circ} \ mathrm {C}), \ $ \ $ R_T = R_0 \ left [1 + AT + BT ^ 2 \ destra] \; (0 \; {} ^ {\ circ} \ mathrm {C} \ leq T < 850 \; {} ^ {\ circ} \ mathrm {C}). \ $

Qui, \ $ R_T \ $ è la resistenza alla temperatura \ $ T \ $, \ $ R_0 \ $ è la resistenza a \ $ 0 ° C \ $ e le costanti (per un \ $ \ alpha = 0.00385 \ $ RTD platino) sono:

\ $ A = 3,9083 \ volte 10 ^ {- 3} \; {} ^ {\ circ} \ mathrm {C} ^ {- 1} \ $

\ $ B = -5,775 \ times 10 ^ {- 7} \; {} ^ {\ circ} \ mathrm {C} ^ {- 2} \ $

\ $ C = -4.183 \ times 10 ^ {- 12} \; {} ^ {\ circ} \ mathrm {C} ^ {- 4}. \ $

Fonte: Wikipedia in inglese ( http://en.wikipedia.org/wiki / Resistance_thermometer)

Spero sia stato utile.

Mathias Nilsson
2019-11-22 00:52:18 UTC
view on stackexchange narkive permalink

Penso che tu debba alimentare tra 7 V e 12 V al pin VIN del tuo Arduino e utilizzare il pin AREF per un lato del PT100 e l'altro per l'ingresso analogico. Ciò potrebbe aiutare a ottenere una lettura coerente ma tupotrebbe ancora essere necessario eseguire una misurazione a 4 fili per ottenere la precisione.

Il tutorial sulla misurazione della resistenza kelvin a 4 fili ha una buona spiegazione per la misurazione a 4 fili.Probabilmente l'hai già capito.

Modifica Si collega l'AREF ad arduino 5v o 3.3v e il pt100 dalla stessa tensione a un pin di ingresso analogico adatto su arduino.I regolatori di tensione lineari sulla scheda arduino sono molto più stabili del tuo alimentatore USB e quindi forniranno una migliore precisione. Nozioni di base su Arduino (riferimento analogico)



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...