home | area personale         schemi | tutorial | robotica | pic micro | recensioni         forum | chat irc         faq | contatti         store | Ordina PCB
username
password
cerca

 
FORUM: Elettronica Generale
Qui si parla di tutto....dall'analogico al digitale, dal software all'hardware, dal semplice crepuscolare al computer.


sensore temperatura
     
Autore Messaggio opzioni
graziano2000





postato il:
21.06.2018, alle ore 08:59
sensore temperatura 

salve a tutti ,
dovrei realizzare un termometro con un pic e
avrei la necessità di utilizzare un sensore analogico .
il termometro dovrebbe rilevare la temperatura ambientale esterna , quindi con un range che vada dalle temperature invernali quindi inferiore allo zero a quelle estive. ho effettuato diverse prove con gli NTC ma la risposta non è lineare ,
per quanto riguarda lm35 da qualche ricerca ho visto che per funzionare con temperature negative necessita di un alimentazione duale o inserire due diodi verso gnd e cambiare la -vref dell ADC(questa soluzione non posso adottarla).

esistono altri sensori analogici che fanno al mio caso o esiste un modo per ottimizzare l\'NTC . grazie a tutti !!

queste sono le formule che utilizzo per determinare la temperatura con l\'NTC


#define B_coefficient 3950.00      /* B coefficient of NTC Thermistor*/
#define Room_temperature 25.00
#define Series_Resistance 8000.00



 ************ calcolo temperatura con formule *****************************          

    NTC_Resistance = ((1024*Series_Resistance/adc read) - Series_Resistance);
Thermistor_temperature = log(NTC_Resistance); /* calculate natural log of resistance */

    /* Calculate Temperature using B parameter Equation */
    /* 1/T = 1/T0 + ((1/B_coefficient)*log(NTC_Resistance/Series_Resistance)) */
    Thermistor_temperature = (1.0/(Room_temperature + 273.15))+
                             (1.0/B_coefficient)*log(NTC_Resistance/Series_Resistance);
    Thermistor_temperature = (1/Thermistor_temperature) - 273.15; /* convert kelvin to Ã‚°C */




La vita potrebbe essere divisa in tre fasi: Rivoluzione, Riflessione e Televisione.Si comincia con il voler cambiare il mondo e si finisce col cambiare i canali.
http://graziano-page.simplesite.com/
double_wrap




una ogni 100 livelli
una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli


postato il:
21.06.2018, alle ore 10:36
Una via a basso costo e' quella di usare un LM34, identico al LM35 ma tarato in gradi Fahrenheit. La sensibilita' e' di 10mV/°F quindi nel range da 0°F (-17.8°C) a circa 250°F (121.1°C) hai una uscita fra 0 e 2.5 V.

La conversione fra Fahrenheit e Celsius la fa il micro con
C =(F - 32) / 1.8
Se devi lavorare solo con numeri interi senza i float, moltiplica i valori al numeratore per 100 e quelli al denominatore per 10: es per 130°F, 15°F e 43°F
(13000-3200)/18=544 -> 5445
(1500-3200)/18=-94 -> 9.4
(3400-3200)/18=11 -> 1.1

Altra strada ancora e' quella di usare un sensore tarato in gradi Kelvin che a 0°C=273°K fornisce circa 2.73 volt con la solita linearita di 10 mV/°K



"se peso cado, ma se cado non peso"
adamatj.altervista.org
picmicro675




una ogni 10 livelli


postato il:
21.06.2018, alle ore 14:11
Aggià!
http://www.grix.it/viewer.php?page=12785
Con bibliografia in fondo



Anno nuovo, forum nuovo.
Mi sa che lascio.
gironico




una ogni 100 livelli


postato il:
21.06.2018, alle ore 15:41
per quanto riguarda lm35 da qualche ricerca ho visto che per funzionare con temperature negative necessita di un alimentazione duale o inserire due diodi verso gnd e cambiare la -vref dell ADC(questa soluzione non posso adottarla).


duoale no, e neanche solo due diodi, se non ricordo male una res da 18k.

Usi solamente due canali analogici... anche qui in grix trovi discussioni in merito.

se consulti il foglio dati di lm35, negli esempi applicativi, trovi come fare in modalità full-range

La risoluzione del senzore è di mezzo grado, ma và più che bene se non necessità una misura "accurata"....



La vita è troppo breve per bere vini mediocri
elektorplus




una ogni 10 livelli una ogni 10 livelli


postato il:
21.06.2018, alle ore 18:32
Si può tentare di linearizzare sul range desiderato

https://www.electroyou.it/isidorokz/wiki/progetto-termostato…

https://www.edn.com/design/sensors/4429105/Linearize-thermis…

https://www.degruyter.com/downloadpdf/j/mms.2015.22.issue-3/…

https://en.tdk.eu/download/531110/5608e4b12153bb12af2808fbed…



http://elektor.altervista.org/
double_wrap




una ogni 100 livelli
una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli


postato il:
22.06.2018, alle ore 16:01
Il problema nascosto usando due diodi 1n914 per leggere temperature minori di zero e' che tali diodi sono ESTERNI al chip ed hanno una tensione di giunzione che dipende dalla temperatura.
http://www.digitroncorp.com/Documents/Datasheets/1N914,A,B-1…
La figura 6 a pagina 3 del datasheet di 1N914 mostra che con una variazione di temperatura fra 0° e 65 °C la tensione di giunzione varia di circa 200 mV (a 100 uA). Con due diodi in serie la variazione e' di 400 mV che con una sensibilita' di LM35 di 10 mV/°C altera la misura.

Un riferimento di tensione esterno dovrebbe essere termocompensato, o avere una dipendenza dalla temperatura molto bassa (una volta si usava mettere un diodo in serie ad uno zener minore di 3.3V proprio per compensare le variazioni termiche, altri tempi...)

L'altra soluzione mostrata dal datasheet di LM35 e' quella di assorbire 50 uA negativi dall'uscita, ma serve una tensione negativa e pure la lettura risulta negativa, ipotesi escluse all'origine da graziano2000. Di qui il mio suggerimento di usare sensori NATIVI per temperature minori di zero.



"se peso cado, ma se cado non peso"
adamatj.altervista.org
zio bapu




una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli


postato il:
22.06.2018, alle ore 17:53
Oppure visto che usa un micro, usare una ntc e crearsi in memoria una tabella delle corrispondenze.
Volendo potrebbe memorizzare i valori solo ogni 5°C e ricrearsi i valori mancanti, anche se non sarebbero precisissimi.



mandi
MB54




una ogni 100 livelli


postato il:
22.06.2018, alle ore 18:26
Un elenco di analogici e digitali.
https://en.wikipedia.org/wiki/List_of_temperature_sensors

fra gli analogici:

http://ww1.microchip.com/downloads/en/DeviceDoc/21496C.pdf
http://ww1.microchip.com/downloads/en/DeviceDoc/21498D.pdf

Ci sono anche dei chip basati su ntc, tipo MCP9700 e simili, ma sono schifezze.

Vanno bene per misure a spanne: se vuoi precisione devi andare sui digitali, ma hai forse problemi di rumore da parte del bus?

Se non dici l' accuratezza iniziale voluta e la possibilità di eventuale taratura però si perde tempo.
schottky





postato il:
22.06.2018, alle ore 18:52
ma i sensori digitali non li avevano messi a punto proprio per sempificare la realizzazione di sistemi a microcontrollore? Perche'mai dovra'essere analogico?


Il vantaggio di essere intelligente e' che si puo' sempre fare l'imbecille, mentre il contrario e' del tutto impossibile. -- W. Allen
graziano2000





postato il:
25.06.2018, alle ore 17:19
grazie a tutti per le risposte!!!!!!
ho ordinato un LM34 faccio qualche prova e vediamo come va .



La vita potrebbe essere divisa in tre fasi: Rivoluzione, Riflessione e Televisione.Si comincia con il voler cambiare il mondo e si finisce col cambiare i canali.
http://graziano-page.simplesite.com/
segui questo thread con grixFC, per questa funzione devi aver installato il software grixFC

torna su
     

Come utente anonimo puoi leggere il contenuto di questo forum ma per aprire una discussione
o per partecipare ad una discussione esistente devi essere registrato ed accedere al sito




 







 
 
indietro | homepage | torna su copyright © 2004/2024 GRIX.IT - La community dell'elettronica Amatoriale