Sensori di temperatura per un progetto sous-vide di Arduino


8

Sto creando un controller PID per sous-vide, come questo , e sto cercando di decidere quale sensore di temperatura ottenere.

priorità:

  • Costo: <£ 25 consegnato nel Regno Unito
  • Precisione: +/- 0,5 C.
  • Intervallo: 0-100 C.
  • Uscita: qualcosa che può essere letto da un Arduino con un circuito aggiuntivo minimo (ad es. 0-5 V CC, una resistenza facilmente misurabile o uscita digitale come OneWire ecc.)
  • Fisico: impermeabile, sicuro per gli alimenti (idealmente) e con un cavo lungo almeno un metro - idealmente non c'è troppo lavoro per creare questo fattore di forma (non ho un laboratorio)
  • Modalità di guasto: sarebbe l'ideale se un guasto causasse la lettura di temperatura eccessiva piuttosto che la temperatura insufficiente

Felice di scendere a compromessi su quanto sopra, se necessario, ma questo è il mio ideale. Aperto anche a suggerimenti su cos'altro dovrei scendere a compromessi. Sarei particolarmente interessato a pensieri riguardanti sensori come un tipo k, un pt100, un chip TMP36 e un termistore 10K "standard" (anche se se questi nomi non sono abbastanza specifici, per favore fatemi sapere cosa dovrei essere cercando invece).


1
La precisione di 0,5 ° C è insensata e renderà la tua vita più difficile. 1 ° C è più che sufficiente. E anche questo non è possibile ottenere con un termistore NTC senza passare una dolorosa giornata a calibrarlo.
Stevenvh,

1
Sembra che l'applicazione richieda effettivamente la massima precisione assoluta possibile. Sembra che il punto di cottura controllata funzioni esattamente in un intervallo molto ristretto di temperature quasi bollenti.

5
Rocketmagnet e rocketsurgeon hanno una conversazione, che non è per niente confusa per gli occhi.
Kortuk,

1
@RichardRussell articolo Questo Gizmag rischia di essere di interesse - luglio 2012.
Russell McMahon

1
Ecco una bella implementazione sous vide che può darti alcune idee. flashingleds.net/sousvader/sousvader.html
Russell McMahon

Risposte:


5

In primo luogo, d'accordo con gli altri: scegliere la precisione 1.0C renderà la tua vita molto più semplice.

Sembra che tu sia impostato su sensori analogici, ma te ne suggerirei uno con un'interfaccia digitale. I sensori analogici sono radiometrici (usati) (forniscono una percentuale di Vcc dipendente dalla temperatura), che fornisce una risposta non lineare, che dovrai convertire. L'altro tipo (LM35 ecc.) È assoluto, il che richiede A / D contro una tensione di riferimento che deve essere (molto) più accurata della precisione desiderata. A meno che tu non voglia misurare qualcosa che un sensore di interfaccia digitale non può (come >> 100C), questo sembra un sacco di seccature non necessarie.

Modifica: proviamo un LM35. 10mV / C, anche supponendo che l'LM35 stesso non presenti alcun errore , un riferimento tipico (LM431 ecc.) È preciso all'1%, il che introduce un errore dell'1% nella lettura della temperatura! Un tipico microcontrollore A / D è di 10 bit, supponiamo che il fondo scala sia un riferimento di 2,5 V (controlla se il tuo uC lo consente!). L'errore A / D 1 bit (cerchiamo di essere ottimisti!, Controlla meglio il tuo foglio dati uC) è 2,5mV = errore 1 / 4C. Quindi anche senza il sensore stesso abbiamo un errore + / 1,25 C (nella migliore delle ipotesi ..).

Ottieni un sensore di interfaccia digitale, ad esempio il buon vecchio DS1820 / 18S20 / 18B20, tutto TO92. O uno dei sensori I2C o SPI prodotti da Microchip in TO220. Se si sta riscaldando in un vassoio o qualcosa del genere, è possibile collegare la scheda al vassoio.


Non mi dispiace troppo se è analogico o digitale - non ero consapevole dell'esistenza di dispositivi digitali. Modificherò la domanda per chiarire. Dopo aver esaminato le specifiche DS18S20, sembra adatto, avrei solo bisogno di incorporarlo in una sorta di sonda per immergerti nell'acqua - una sfida non banale per qualcuno che non l'ha mai fatto :-)
Richard Russell

Sulla base delle informazioni fornite in questa risposta e in varie altre, e ulteriori ricerche, ho trovato una sonda DS18B20 impermeabile presso Alpha-Crucis (EU). È disponibile anche presso Adafruit negli Stati Uniti. Soddisfa tutti i miei requisiti e ha un fattore di forma ideale.
Richard Russell,

7

Ottieni un IC sensore di temperatura di precisione, come LM35CAZ .

LM35CAZ

Lo si alimenta con un buon 5v e l'uscita è una semplice tensione che è una funzione lineare della temperatura. Hanno una precisione abbastanza buona di ± 1⁄4˚C a temperatura ambiente.

Inserito il:

Diverse persone hanno parlato di "Precisione nell'intervallo di temperatura" per questo sensore di ± 1ºC. Questa è la gamma sbagliata di cui parlare. "Precisione alla temperatura di cottura" è la gamma giusta di cui parlare. A circa 60 ° C la precisione è ± 0,7 e probabilmente migliore di quella. La linea "tipica" varia di circa 0,1 ° C nell'intervallo di cottura.

Precisione di LM35CAZ

Probabilmente avrai bisogno solo di uno o due punti di calibrazione per ottenere questo sensore abbastanza facilmente accurato per le tue esigenze. Ma, naturalmente, ciò richiede un preciso termometro per calibrarlo. Per questo, hai un paio di opzioni:

Opzione 1: è possibile utilizzare l'acqua. La temperatura dell'acqua in fase di congelamento è di 0 ° C. Quindi inseriscilo in una piccola tazza d'acqua nel congelatore e osserva attentamente la tensione di uscita. Cadrà e cadrà finché l'acqua non inizierà a congelare. A questo punto, la temperatura smetterà di scendere e rimarrà piatta per un po '. Una volta completato il congelamento, la temperatura ricomincerà a scendere. Prendi nota della tensione nella regione piatta da utilizzare come punto di calibrazione 0ºC.

Grafico della temperatura dell'acqua di congelamento

Fare lo stesso per l'acqua bollente. È meglio farlo a livello del mare. Se non sei al livello del mare, controlla qual è la temperatura di ebollizione dell'acqua alla tua altitudine.

Calibrazione di un termometro.

Usare 0 ° C e 100 ° C non è buono come usare, diciamo 50 ° C e 80 ° C, ma è molto più facile. Se disponi di un termometro molto preciso disponibile, dovresti utilizzare punti di calibrazione più vicini alla temperatura di cottura.

Opzione 2: utilizzare alcool metilico. (Grazie Stevenvh) Questo bolle a 64,7ºC. Questo è così vicino alla temperatura di cottura, che per ottenere una temperatura di cottura molto accurata è necessario un solo punto di calibrazione. Ovviamente fai attenzione a non intossicare o esplodere con i fumi. Non riscaldare l'alcool a fuoco nudo!

Aggiunto - Amplificazione

Dal momento che stai lavorando in un intervallo di temperatura ristretto e hai bisogno di una buona precisione di controllo, probabilmente vale anche la pena amplificare l'uscita del sensore. Ciò darà una maggiore risoluzione ADC su Arduino, che si tradurrà in una migliore stabilità dell'algoritmo di controllo PID. Vedere la domanda Conversione del livello di tensione analogica (spostamento di livello) che tratta l'amplificazione e lo spostamento di livello di una tensione analogica.

Supponendo che stai lavorando nell'intervallo 40ºC - 100ºC (0.4v - 1.0v). Ti consigliamo di sottrarre 0,4 V dal segnale, dando 0,0 V - 0,6 V, e amplificare il risultato con un guadagno di 8, dando 0,0 V - 4,8 V. Ciò darà una risoluzione eccellente.


La precisione nell'intervallo di temperatura è di 1 ° C. 0,25 ° C è un discorso di vendita.
Stevenvh,

1
@stevenvh - "Precisione sulla temperatura" è l'intervallo sbagliato di cui parlare. "Precisione alla temperatura di cottura" è la gamma giusta di cui parlare.
Rocketmagnet,

0,5 ° C è specificato a 25 ° C. La temperatura di cottura sarà più vicina a quella o più vicina all'intervallo di temperatura? Penso, quest'ultimo.
Stevenvh,

4
È possibile calibrare nel punto di ebollizione dell'alcool metilico anziché dell'acqua: 64,7 ° C.
Stevenvh,

2
L'amplificazione dell'intervallo utile per coprire l'intervallo del sensore ridurrà il rumore di quantizzazione, ma si dovrebbe anche notare che ora aggiunge il proprio set di errori. Anche se si esegue la calibrazione in un unico punto, ora è necessario considerare la deriva della tensione di offset dell'ingresso dell'amplificatore sulla temperatura del dispositivo, non sul materiale in cottura. Non sto dicendo che amplificare sia un male, solo che se hai intenzione di consigliarlo dovresti anche indicare i problemi che ne derivano.
Olin Lathrop,

3

Sembra che tu stia chiedendo solo della sonda. Apparentemente vuoi qualcosa che puoi mettere a diretto contatto con il cibo. Un controller PID include molto di più del semplice sensore di feedback, ma sembra che tu non lo stia chiedendo. Se uno di questi è errato, è necessario aggiornare la domanda. Inoltre non ho idea di cosa sia una cosa "Sous Vide". Qualsiasi informazione ad esso rilevante dovrebbe essere nella tua domanda. I collegamenti sono solo per materiale di base.

Come accennato da Steven, 1/2 ° C è molto ambizioso e non necessario quando si parla di cibo.

Il sensore di temperatura più semplice sarà un termistore. Sono in grado di gestire la gamma e altrimenti necessitano solo di una resistenza di carico. Il risultato sarà anche raziometrico rispetto alla tua fornitura, quindi tutte le variazioni della fornitura verranno annullate. Il rilevamento degli errori è facile nel firmware poiché le letture molto vicine alla parte superiore o inferiore dell'intervallo indicano temperature non realistiche. Se si ottiene qualcosa al di fuori di un intervallo di temperatura valido, si presuppone un errore hardware e si immette qualunque cosa si pensi sia la modalità provvisoria. Questo è davvero un problema di firmware, non hardware con un termistore e la giusta resistenza di carico.

Per quanto riguarda la sicurezza alimentare, racchiudere la sonda in vetro dovrebbe essere buono. Che ne dici di epossidare il termistore sul fondo di un piccolo tubo di prova, che poi diventa la sonda? La parte superiore può essere sigillata con colla a caldo o qualcosa del genere. Deve essere a tenuta stagna ma il cibo non dovrebbe essere lì. Solo due fili isolati dovrebbero emergere dalla parte superiore del tubo. Il vetro è abbastanza bravo a trasmettere calore. La costante di tempo della sonda dovrebbe essere comunque ben inferiore alla costante di tempo che va dalla potenza del riscaldatore alla temperatura di cambiamento degli alimenti.

I termistori non sono molto precisi a meno che tu non paghi molti soldi. Per un progetto hobby unico, otterrei qualsiasi termistore che si possa avere nella giusta gamma e calibrare manualmente. Calibrare a poche temperature note determinate da un affidabile termometro noto, quindi interpolare il firmware tra. Per ulteriore credito, puoi anche cercare l'equazione nominale per il termistore, adattare al meglio i tuoi punti misurati, quindi ricavarne la funzione continua. È possibile popolare una tabella fissa nel firmware con molti segmenti dalla funzione calibrata in modo che l'interpolazione lineare tra i segmenti sia abbastanza buona.

Ancora una volta, 1/2 ° C richiede troppo, ma in ogni caso non ne hai davvero bisogno. Un termistore con forse 4 punti di calibrazione, adattamento dell'equazione e quindi interpolazione dovrebbe andare bene per risolvere il problema reale.


Calibrare a 1/2 grado utilizzando un termometro affidabile e noto, non è questo lo spostamento del problema? Il termometro di riferimento dovrebbe essere almeno altrettanto preciso, preferibilmente più preciso, di quel 1/2 grado.
Federico Russo,

1
@Federico: sta spostando il problema dell'accuratezza, ma il termometro di riferimento può essere qualsiasi tecnologia, non deve essere sicuro per gli alimenti e non deve essere leggibile dalla macchina. Un termometro di mercurio decente (o altro liquido) destinato a tale intervallo dovrebbe essere disponibile senza troppi problemi.
Olin Lathrop,

Ho un decente termometro a sonda che è calibrato che posso usare per calibrare questo. Non ne ho bisogno direttamente a contatto con il cibo, ma poiché sarà immerso in un liquido in una cuociriso che posso usare anche per cucinare il riso, non voglio che perda qualcosa di tossico ... A "Sous Vide "cosa è un metodo di cottura con temperature precise in sacchetti sottovuoto a bagnomaria. Sto costruendo un controller PID da un Arduino e, in questo caso, devo solo decidere il sensore di temperatura.
Richard Russell,

1

Utilizzando l'LM335Z, è possibile calibrare l'offset e ottenere l'errore per ogni dato sensore con 2 letture di prova a 0 ° C 100 ° C con ghiaccio e acqua bollente.

Quindi ottenere una lettura di verifica a medio raggio, dire 50'C.

È possibile creare una maschera di prova e calibrare un sensore come standard argento rispetto a un altro, il termometro standard d'oro. Quindi salvare gli errori previsti effettivi e calcolare una progressione lineare o un numero di guadagno e offset per salvare in EEPROM in modo che diventino un set calibrato. Se si ottiene un batch, è possibile che tutti abbiano lo stesso offset e che ottengano errori che è possibile correggere nel software per visualizzare la lettura corretta.

Con gli standard da 0,1 'C puoi aspettarti un errore di 0,2'deg e usare qualsiasi display tu scelga per garantire quell'errore di 0,5' C per i tuoi setpoint critici.

Vedi Fig 3

http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00000459.pdf

Sigillerei il sensore con un sottile rivestimento di resina epossidica per uso alimentare per proteggere il dispositivo da perdite di umidità e utilizzerei i cavi flessibili a doppino ritorto o due doppini ritorti usando 2 come schermatura e quindi usando "induttanze in ferrite CM" per assorbire le interferenze RF.

È quindi necessario un ADC che sia garantito con un'accuratezza di +/- 0,5 bit o forse 1 su 256 livelli per una precisione dello 0,5 / 100%. Questo non è garantito nella maggior parte degli Arduino, quindi è necessario utilizzare un DAC hardware per testarlo in Output meno Input su un ambito a 2 canali e selezionare una coppia CA per CH1 e CH 2 e quindi visualizzare la modalità XY CH1 vs Ch2 per ottenere un punto centrale che attraversa un massimo di +/- 1 bit. Qualsiasi rumore Vref nel tuo ADC provocherà livelli di quantizzazione saltati o isteresi durante transizioni come 01111 a 10000 e il crosstalk da terra digitale per immettere l'alimentazione analogica di terra fallirà sulla monotonicità.

Controllare il sito TI per la documentazione sugli errori ADC.

@Richard Russell << Apprezzo la necessità di un controllo a 0,5 ° C negli stili di cottura biologici a basse temperature in cui l'organismo vivente inizia a morire rapidamente sopra la temperatura di Pasteur quando i batteri vengono uccisi.

Se fossi in me calibrerei per una precisione di 0,1 gradi usando le mie temperature di calibrazione del guadagno di offset tra 45 e 65 gradi C dopo che è stato saldamente fissato al piatto ben isolato. Quindi puoi eseguire qualsiasi altro fornello commerciale sul mercato ... supponendo che sia ben isolato in dielettrico ad alto valore R.

Quindi per aspetto in modo da poter caricare $ 500, avvolgerlo con precisione in SS americane che come lo "Spirito di St Louis" è profondamente graffiato e lucidato. ;)

Personalmente avrei avuto l'acido esterno SS inciso da professionisti che lo fanno ogni giorno con un'opera d'arte di importanza culinaria storica per $ 50 e quindi addebito un supplemento per opere d'arte personalizzate con logo personale e nome dell'azienda. Basta chiedere se hai bisogno di un buon riferimento.

Grazie per avermi permesso di aiutarti con il tuo obiettivo.


Saluti - è davvero utile. Devo dire che non ho idea di cosa sia "American SS", ma suona bene :-)
Richard Russell,

SS = acciaio inossidabile
dext0rb

Sicuramente, quando si calibra il sensore, lo si fa dopo l'ADC. Quindi stai calibrando anche l'errore ADC?
Rocketmagnet,

0

Sulla base delle informazioni fornite in altre risposte e di ulteriori ricerche, ho trovato una sonda DS18B20 impermeabile presso Alpha-Crucis (EU). È disponibile anche presso Adafruit negli Stati Uniti.

Soddisfa tutti i miei requisiti e ha un fattore di forma ideale.


1
questo è solo un link a un prodotto e nessuna informazione sul perché. Ci sono utenti che mettono molto lavoro nelle risposte per aiutarti a insegnarti e l'accettazione è normalmente una ricompensa per tale compito, specialmente se hanno fatto il lavoro di guidarti qui.
Kortuk,

OK, accetterò una risposta diversa. Dove devo mettere le mie conclusioni?
Richard Russell,

Stavo dicendo due cose, 1) Se la risposta di qualcuno è ciò che effettivamente ti ha portato qui, probabilmente dovrebbero ottenere l'accettazione. 2) Scrivere risposte è più che accettabile, ma puoi darci più informazioni di un semplice link. In questo momento non so altro che questo dispositivo è trasportato in alcuni punti ed è impermeabile.
Kortuk,

Ho realizzato una Sous Vide utilizzando un DS18B20, quello con punta in plastica, ma il modello con punta in metallo è migliore. Per cucinare è abbastanza buono (lo sto usando su base giornaliera) e +/- 1 ° C è tutto ciò che serve. La temperatura non è uniforme nella pentola; può essere di +/- 3 ° C a seconda di dove viene posizionata la sonda e di come si riscalda l'acqua (inmersion v / s piastra calda) o se l'acqua circola o meno.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.