NTCM-HP-10K è un termistore di tipo NTC (Negative Temperature Coefficient) che fa parte del Kit di ESPertino. I suoi utilizzi possono essere i più disparati ma fanno sempre capo alla misura della temperatura. Esso si comporta come una resistenza variabile il cui valore diminuisce con l'aumentare della temperatura.
Introduzione
Per chi ancora non lo sapesse, ESPertino è una scheda basata su ESP32, progettata e prodotta in Italia da Elettronica Open Source. Permette di realizzare facilmente qualsiasi tipologia di applicazione e di sistema. Per agevolare ancora di più i progettisti è a disposizione il Kit ESPertino, una fantastica raccolta di componenti elettronici tra i quali sono presenti sensori, componentistica attiva e passiva e altre grandi utilità per l'elettronica.
L'NTCM-HP-10K
Il componente in questione è corredato, ovviamente, dal suo datasheet, che consigliamo sempre di consultare. Come si evince dalla figura 1, le sue misure sono estremamente ridotte. Il sensore, infatti, misura solo 3mm. x 4.5mm. e può essere montato, praticamente, su qualsiasi circuito.
Il rivestimento del semiconduttore è di colore nero di resina elaborata.
Caratteristiche elettriche
Le caratteristiche elettriche sono di tutto rispetto, soprattutto per quanto riguarda la precisione e l'affidabilità. La sua resistenza elettrica, alla temperatura di 25°C (R25), è di 10KΩ, con una tolleranza del +/-1%. Tale taratura è stata effettuata dal produttore utilizzando una potenza minore di 0.1mW con il sensore immerso in un fluido liquido. La sua resistenza di isolamento è maggiore di 100MΩ. Un dato interessante, specialmente per fini pratici, è l'intervallo di temperature di funzionamento, che è compreso tra -55°C e +125°C. La sua solidità è uno dei punti di forza ed è, praticamente, indistruttibile. Il produttore ha effettuato un test di compressione sottoponendo il componente a una forza di schiacciamento di 5N per 10 secondi, senza alcun danneggiamento. I test alle temperature estreme non lo hanno minimamente scalfito (16 ore a 125°C e 2 ore a -55°C). Anche l'alto tasso di umidità (93% per tantissime ore) non sembra fargli paura. E', inoltre, insensibile alle alte vibrazioni, accelerazioni estreme e urti. In pratica, si tratta di un componente a prova di bomba.
Conversione da resistenza a temperatura
Il datasheet del componente riporta una corposa tabella di conversione e di corrispondenza tra la sua resistenza, espressa in kΩ, e la relativa temperatura espressa, ovviamente, in gradi centigradi. Essa risulta utile per comprendere la relazione tra le due grandezze, come si può evincere dallo stralcio di cui in figura 2.
Prendendo la colonna della resistenza media dell'NTC, alle varie temperature, è possibile tracciare una curva di risposta, come quella visibile in figura 3.
Non si tratta proprio di una misura lineare ma una buona formula per ricavare la temperatura, avendo a disposizione la resistenza elettrica dell'NTC, espressa in KΩ, è mostrata in figura 4.
In realtà quella di sopra è leggermente approssimata, per ragioni di comodità. Quella estesa e completa è la seguente: t = 0.00104298759375466*r + 249.501962410597/(r^2)^0.0669119125967743 + (11.790845044766*sqrt(r) - 0.283188069561648)/r - 161.543712657669 - 0.159619781059492*sqrt(r).
Soluzione per il collegamento elettrico
Essendo un sensore non digitale, l'NTC può essere collegato all'ingresso analogico di ESPertino. Solitamente si preferisce una soluzione a partitore resistivo, come quello mostrato in figura 5.
Per "linearizzare" un po' la risposta dell'NTC è possibile collegarlo in parallelo con una resistenza di valore pari a quella del componente stesso, a temperatura ambientale.
Certificazioni
Seppur piccolissimo e dal funzionamento estremamente semplice, l'NTCM-HP-10K possiede le certificazioni ISO9001, ISO14001, RoHS, CQC e molte altre che ne decretano un componente davvero affidabile e degno di nota.
Conclusioni
I progettisti possono utilizzare l'NTCM-HP-10K in una miriade di progetti legati alla temperatura, quali termostati ambientali, controlle di carica di batterie, termostati a finestre e molti altre ancora.
Penso che avere a disposizione un kit di componenti elettronici che affianca una scheda di sviluppo, come ESPertino, è davvero sinonimo di professionalità. Il kit è davvero completo e il Maker può trovare nuovi spunti di idee per i propri progetti.
Troverete altri articoli con il kit, tra cui uno con il sensore ultrasuoni…e approfittate della promozione! 😉
Ciao Giovanni
Come sempre bell’articolo.
Mi chiedevo, se con espertino era possibile utilizzare la libreria BRIDGE come quella che usa Arduino Yun per gestire le porte in-out tramite stringhe http di tipo REST.
Oppure se esiste una libreria o codice analogo da implementare per adempiere al medesimo risultato e gestire dunque, tramite interfaccia WEB, le porte in-out di espertino.
Grazie
ciao, io sto sperimentando un pò con un “classico” programmino di controllo temperatura, ma non riesco a visualizzare i dati nel monitor seriale…mi potreste aiutare a capire dove ho fatto errori?
ho preso e riadattato un programmino trovato in un altro articolo, dove si prevedeva di inviare i dati del sensore temperatura al router wifi, e poi al web server (io non ho router wifi e per ora mi basta visualizzare a monitor direttamente…)
ecco qui il mio programma “adattato”:
#define SOTTOCAMPIONAMENTO 6000
// variabili
int digitale,k;
long somma;
float volt,temperatura,media;
//————————–
void setup() {
// put your setup code here, to run once:
pinMode(5,OUTPUT); // —Led di segnalazioni varie
analogSetAttenuation(ADC_6db);
analogReadResolution(12);
Serial.begin(9600);
}
void loop() {
// —Campiona temperatura con sottocampionamento
somma=0;
for(k=1;k<=SOTTOCAMPIONAMENTO;k++){
digitale=analogRead(35);
somma=somma+digitale;
delay(10);
}
//—Calcola media e trasforma in gradi
media=somma/SOTTOCAMPIONAMENTO;
volt=3.3*media/4096.0;
temperatura=volt*100;
Serial.println(temperatura);
}
se qualcuno mi da una o + dritte…ringrazio!!!
Non ho avuto tempo di compilarlo. Puoi dirmi quale è il problema che ti da’?
CIao
eh praticamente il codice sembra apposto, dato che nella verifica non mi segnala errori (l’ho copiato da un tuo altro codice, togliendo la parte della trasmissione in wifi che per ora non mi interessa).
poi lo carico in espertino, mi apro il monitor seriale per visualizzare i dati che mi legge dal sensore, ma mi resta la finestra del monitor seriale vuota e bianca…non mi scrive nulla…
purtroppo non ho + fatto a tempo a rivedere le cose…magari ho sbagliato qualcosa proprio nel codice per la visualizzazione nel monitor…
allora ci sto riprovando….prima cosa:
1. il baud rate sul serial monitor deve essere impostato a 115200, di conseguenza anche sul listato del codice devo impostare Serial.begin a 115200 [ Serial.begin(115200); ]
se si impostano altri valori, resettando espertino, nel serial monitor escono una serie di caratteri speciali senza alcun senso….invece con l’impostazione a 115200 baud quando resetto espertino nel monitor escono una serie di righe ben leggibili e con un certo significato.
2. correggendo il baud rate nel codice e nella finestra serial monitor a 115200, dopo una lunga attesa di 60 secondi compare un primo dato dopo l’avvio del loop.
successivamente ogni 60″ viene scritto un nuovo valore
NUOVO PROBLEMA, però!!!:
i dati che mi vengono scritti nel serial monitor non corrispondono alla reale temperatura in °C del locale in cui sono…98/ 100 °C non sono reali…altrimenti starei friggendo!!!
per il mio progettino sto usando come sonda un sensore temperatura TMP36 (rubato dal kit arduino!!), collegato all’ingresso 35.
adesso si tratta di capire il codice nella parte della conversione dal dato analogico letto …e fare la corretta conversione per ottenere un valore verosimile in °C….spero di riuscirci…
Inizia, al momento, a visualizzare, sul monitor seriale
solo il valore della funzione analogRead(35),
in modo da capire cosa sta prendendo dall’esterno.
Si inizia cosi’ una sorta di debug.
vero!!!!
appena fatto modifica sul codice per leggere il valore che manda la sonda ad espertino. allora io leggo valori che oscillano tra 1210 e 1216 circa
nella stanza ho circa 17°
adesso si tratta di convertire il dato della sonda in una temperatura attendibile …
qualcosa non mi torna….
dal datasheet vedo che l’uscita dovrebbe dare 750 mV @ 25 °C….
io sono a circa 17 °C, e il valore che leggo è 1210 circa…
mmmmm vado a mangiare qualcosa che qua non mi quadra…
Che testone!!!!
Il valore letto sul monitor seriale è prima convertito dall’ADC di Espertino…..
Io non leggo il valore in mV in uscita dal sensore….
Devo studiarci un po’ sopra ….