Go Down

Topic: Pt100 e Smartec UTI (Read 6281 times) previous topic - next topic

GianfrancoPa

Ogni tanto mi ripresento, dopo almeno un anno di pausa sto riprendendo qualche progetto passato, e come da oggetto, al momento ho per le mani un sensore PT100 classe B (http://it.rs-online.com/web/p/termoresistenza-al-platino/0465404/) che gestisco con uno Smartec UTI.

Il codice di riferimento l'ho pescato qua:

http://arduino.cc/forum/index.php/topic,17349.0.html

Per comodità riporto lo schema: http://bildr.no/view/618030

Seguendo il datasheet (http://www.smartec.nl/pdf/DSUTI.pdf) a pagina 14, ho sostituito la Rbias prevista nello schema da 6.2 con una da 2.2 poichè uso una PT100 e non una PT1000.

Poichè sono previste 3 sonde, ho sostituito due di esse con due resistenze da 120 ohm, e tutto funziona, quanto meno rilevo valori che hanno senso. Ho solo qualche dubbio:

Per verificare la corretta taratura ho inserito il sensore in un bicchiere con del ghiaccio ed ho aspettato che cominciasse a sciogliersi. Il sensore non misura 100ohm bensì un valore che varia tra 102.5 e 103.3. E' normale???

Ecco una foto: http://imageshack.us/photo/my-images/37/201210251333.jpg/

Questi 2.5/3 ohm possono essere dovuti al cavo?? Purtroppo è una sonda a due soli fili e non posso conoscere la sola resistenza del cavo.

Altra questione: il sensore varia velocemente ed in maniera scostante il dato, variando la temperatura anche di mezzo grado nel giro di 1/2 secondo. Da cosa è dovuto ciò??

Grazie mille a tutti per l'attenzione!!!
Gianfranco

GianfrancoPa

Per aggiungere altre informazioni:

Avendo usato al posto di due PT100 due resistenze da 120ohm, l'UTI rileva un valore che oscilla tra 119.x e 120.x, non dovrebbe essere un valore fisso???

Ho provato a montare il sensore come indicato nel datasheet a pagina 15 figura 10c, ma non ottengo miglioramenti sensibili, o meglio, i valori oscillano sempre
Gianfranco

lesto

queste sonde sono quasi istantanee a dare il valore, quindi l'unico rallentamento è il circuito di amplificazione e l'ADC

le resistenze variano il proprio OHM in base anche al calore e forse qualche altro fattore, devi usare una Rbias (e delle "finte sonde") con precisione almeno dell'1%
Se noti l'errore di oscillazione dell'amplificazione sonda "varia tra 102.5 e 103.3" è lo stesso errore delle finte sonde "oscilla tra 119.x e 120.x"... per caso le resistenze "finte sonde" e Rbias hanno la stessa precisione?  :D

avere 102.5ohm poterbbe essere normale, è dato dal fatto che 100 è il valore medio, poi tu devi fare una piccola calibrazione. (controlla comunque di essere nelle specifiche di precisione della sonda, tenendo da conto che l'amplificazione amplifica anche il rumore)

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

GianfrancoPa

Non credo che la Rbias usata sia ad alta precisione, sono quelle con l'anello color oro, se non sbaglio con errore del 5%.

Secondo te l'errore quindi sta in questo quindi?? Io pensavo che la percentuale d'errore indicasse il valore massimo da cui può distaccarsi la resistenza rispetto al valore di costruzione dichiarato, ma supponendo che una resistenza abbia un errore in difetto del 4%, quello è e quello dev'essere sempre, non dovrebbe oscillare, ora -4%, fra un seconto +2%, poi -3%, ecc ecc... Almeno credo, vado per puro intuito!!
Gianfranco

lesto

no, la resistenza varia anche in base alla temperatura, infatti le resistenze di precisione a 6 anelli danno indicazione della variazione di R in base alla temperatura http://it.wikipedia.org/wiki/Resistore#Codifica
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

GianfrancoPa

Ah, ok!!

In ogni caso nel datasheet (pag 14) dice che vanno bene quelle al 5%:

RBIAS (Pt100, self-heating for
200K/W = 80 mK)
2.2 kW (5%),
I = 2 mA

RBIAS (Pt1000, self-heating for
200K/W = 80 mK)
6.2 kW (5%),
I = 600 mA

Vuol dire che vanno bene o no?
Gianfranco

lesto

mai detto che non vanno bene, ma che ti sballano un poco i valori.. sta a te decidere se ti va bene quella precisione
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

GianfrancoPa

Ovvio, più precisa è la rilevazione meglio è, soltanto che al momento non mi ritrovo delle resistenze così precise, ad anche se dovessi ordinarle passerebbero dei giorni. Ora che ne ho capito l'importanza nel progetto finale opterò per questo tipo di resistori!!

Nel datasheet parla di diverse cause che possono alterare la precisione:
-Un errore interno del chip fa si che la precisione del dato per una PT100 abbia una forchetta di +-40 mOhm, un fattore costruttivo dell'integrato;
-La lunghezza cavo del sensore;
-Aumento della temperatura interna dell'integrato. Con una Rbias di 2.2kOhm dovrei ridurre l'errore a 80mK (milli-Kelvin???);
-La rilevazione della terza PT100 ha un errore sistematico e stabile di 0.9 Ohm

In ogni caso il problema che al momento vorrei risolvere è quello delle rilevazioni ballerine, cambiano, mutano troppo velocemente con salti considerevoli! Vorrei sfruttare al massimo la precisione del sensore (Classe B, +-0.3°C), ma se ogni secondo il dato sballa di 0.5°C rendo tutto inutile, al posto suo uso un seplice ds18b20 :D
Gianfranco

lesto

uhmm prova a fare al cavo del sensore un'armatura collegata a GND, in pratica gli fai una gabbia di faraday che ne limita parecchio l'effetto antenna.

forse avvolgerla nella carta stagnola, e poi collegare la stagnola a terra può bastare.
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

GianfrancoPa

é un tentativo che sicuramente proverò, ma prima di stasera non potrò fare alcun tentativo.

Fino ad allora il cervello continuerà a frullare... :D

Curiosando le sito della smartec ho trovato altri documenti interessanti. In questo http://www.smartec-sensors.com/assets/files/pdf/manuals/DCPtN.PDF si legge letto altre cosette, come, ad esempio, che fino a mezzo metro di cavo il segnale è stabile. Oltre mezzo metro potrebbero nascere dei problemi. Ecco l'estratto:

In standard UTI applications, the Pt 100 excitation is a square wave voltage between E and F (AC signal), via the series connection of Rbias and Rref (see UTI Data sheet). This works fine as long as the cables are short (under 0,5 meter). When the connecting cables need to be longer, the parasitic capacitances between the connecting wires and /or the grounded cable shield will degrade the signal. Please refer to application note APPUTI08 for more information about this matter

Se questo potrebbe essere la causa dei problemi, potrei accorciare il cavo del sensore (a mali estremi...) che è lungo 1 metro. La restante metà potrei inoltre cortocircuitarla per simulare una pt100 a 4 cavi. Ho detto una fesseria? :D
Gianfranco

Michele Menniti

solo per salutarti e dirti «e che zzzz, tra una pausa e la sparizione tempo ne passa!» Ciaaaaoo!!
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

GianfrancoPa


solo per salutarti e dirti «e che zzzz, tra una pausa e la sparizione tempo ne passa!» Ciaaaaoo!!


Ciao Michele, vedo che nel frattempo voi non vi siete fermati, la tua firma la dice lunga!!!  ;) ;)
Gianfranco

GianfrancoPa

Ecco alcuni un esempio di ciò che ricevo:

Resistance 1: 110.28   Resistance 2: 120.44   Resistance 3: 121.00   
Resistance 1: 109.63   Resistance 2: 120.51   Resistance 3: 120.75   
Resistance 1: 110.05   Resistance 2: 120.37   Resistance 3: 120.76   
Resistance 1: 110.41   Resistance 2: 121.14   Resistance 3: 121.32   
Resistance 1: 109.47   Resistance 2: 119.99   Resistance 3: 120.61   
Resistance 1: 109.90   Resistance 2: 120.89   Resistance 3: 121.00   
Resistance 1: 109.90   Resistance 2: 120.65   Resistance 3: 120.73   
Resistance 1: 109.78   Resistance 2: 120.35   Resistance 3: 120.89   
Resistance 1: 109.65   Resistance 2: 120.49   Resistance 3: 120.98   


La PT100 è la prima resistenza, mentre le altre due sono le resistenze da 120 Ohm
Gianfranco

GianfrancoPa

Allora, il cavo inizialmente era di 2 metri, l'ho accorciato a 50cm come consigliato nel datasheet ed ho ottenuto risultati migliori, ecco ad esempio:

Resistenza: 109.89   Base Zero: 9.89   Temperatura: 25.75   
Resistenza: 109.79   Base Zero: 9.79   Temperatura: 25.50   
Resistenza: 109.76   Base Zero: 9.76   Temperatura: 25.43   
Resistenza: 109.88   Base Zero: 9.88   Temperatura: 25.72   
Resistenza: 109.81   Base Zero: 9.81   Temperatura: 25.54   
Resistenza: 109.82   Base Zero: 9.82   Temperatura: 25.58   
Resistenza: 109.78   Base Zero: 9.78   Temperatura: 25.47   
Resistenza: 109.78   Base Zero: 9.78   Temperatura: 25.46   
Resistenza: 109.83   Base Zero: 9.83   Temperatura: 25.61   
Resistenza: 109.75   Base Zero: 9.75   Temperatura: 25.40   


Le rilevazioni avvengono ogni 3 secondi. Come vi sembrano?? Un comportamento corretto per una PT100?
Gianfranco

Michele Menniti

variazioni di decimi di grado sono normali, non so se nei tre secondi fai la media delle letture oppure se fai una sola lettura ogni tre secondi; comunque sia sembra accettabile; dovresti provare a cambiare ambiente, p.es. nel frigo o fuori casa, per vedere la variazione, è importante.
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

Go Up