Fråga:
Temperatursensorer för ett Arduino sous-vide-projekt
Richard Russell
2012-05-28 19:52:56 UTC
view on stackexchange narkive permalink

Jag skapar en PID-kontroller för sous-vide, som den här, och jag försöker bestämma vilken temperaturgivare jag ska få.

Prioriteter:

  • Kostnad: < £ 25 levereras i Storbritannien
  • Noggrannhet: +/- 0.5C
  • Område: 0 - 100C
  • Output: något som kan läsas av en Arduino med minimala extra kretsar (t.ex. 0-5VDC, ett motstånd som är lätt att mäta eller digital utgång som OneWire etc) och med en ledning som är minst en meter lång - helst inte för mycket arbete för att skapa den här formfaktorn (jag har ingen verkstad)
  • Felläge: skulle vara perfekt om ett fel orsakade avläsning av övertemperatur snarare än under temperatur

Glada att kompromissa med något av ovanstående om det behövs, men det här är mitt ideal. Öppna också för förslag på vad jag annars ska kompromissa med. Jag skulle vara särskilt intresserad av tankar angående sensorer som en k-typ, en pt100, ett TMP36-chip och en "standard" 10K-termistor (men om dessa namn inte är tillräckligt specifika, snälla låt mig veta vad jag borde vara letar efter istället).

0,5 ° C-noggrannheten är meningslös och gör bara ditt liv svårare. 1 ° C är mer än tillräckligt. Och även det kan du inte få med en NTC-termistor utan att spendera en smärtsam dag på att kalibrera den.
Det verkar som om applikationen faktiskt kräver högsta möjliga absoluta noggrannhet. Verkar att punkten för kontrollerad matlagning fungerar exakt i mycket smala intervall nära koktemperaturer.
För en sous-vide spis behöver du bara en eller två kalibreringspunkter, eftersom du arbetar i ett mycket begränsat temperaturintervall.
@RocketSurgeon - Sous vide lagar vanligtvis vid cirka 60 ° C. Noggrannheten du behöver beror på vad du lagar mat. Det kan variera mycket.
Bra att veta. Jag tänkte felaktigt säga te-recept som kräver värmevatten till nästan kokpunkt men undviker att koka själv, saker som detta.
Rocketmagnet och rocketsurgeon har en konversation, som inte var förvirrande för ögat alls.
Varför känner jag att jag har sett exakt samma fråga tidigare? Ah, från din tidigare fråga.
Kommersiella vattenbad verkar inte citera noggrannhet. De citerar upplösning, stabilitet och enhetlighet. Krävs verkligen en så hög noggrannhet?
@Kellenjb - den här frågan handlar om temperatursensorn. Min tidigare fråga handlade om reläet.
@Cybergibbons - Jag är glad att kalibrera snarare än att ha något helt exakt, men jag skulle vilja veta när ett recept säger 55C, att jag kan ställa in det till 55C och få det resultat jag letar efter. Enligt vad jag kan säga behöver det verkligen +/- 0.5C noggrannhet, men +/- 1C kan vara acceptabelt. +/- 2C skulle inte vara acceptabelt.
@RichardRussell [Den här Gizmag-artikeln] (http://www.gizmag.com/nomiku-sous-vide-cooker/23340/?utm_source=Gizmag+Prenumeranter&utm_campaign=9ab557a9c6-UA-2235360-4&utm_medium=email är intressant - Juli 2012.
Här är en trevlig sous vide-implementering som kan ge dig några idéer. http://www.flashingleds.net/sousvader/sousvader.html
Fem svar:
Rocketmagnet
2012-05-28 20:15:49 UTC
view on stackexchange narkive permalink

Skaffa en precisionstemperatursensor IC, som LM35CAZ.

LM35CAZ

Du driver den med en bra 5v och utgången är en enkel spänning som är en linjär funktion av temperaturen. De har en ganska bra noggrannhet på ± 1⁄4˚Kattrumstemperatur.

Tillagt:

Flera personer har pratat om "Noggrannhet över temperaturintervall" för denna sensor är ± 1ºC. Det här är fel intervall att prata om. "Noggrannhet vid tillagningstemperatur" är rätt intervall att prata om. Vid cirka 60 ° C är noggrannheten ± 0,7, och förmodligen bättre än så. Den "typiska" linjen varierar med cirka 0,1 ° C över ditt tillagningsintervall.

Accuracy of LM35CAZ

Du behöver antagligen bara en eller två kalibreringspunkter för att få den här sensorn enkelt nog för din behov. Men det kräver naturligtvis en exakt termometer för att kalibrera den mot. För det har du ett par alternativ:

Alternativ 1: Du kan använda vatten. Temperaturen på vatten som håller på att frysas är 0 ° C. Håll det i en liten kopp vatten i frysen och se noggrant på utspänningen. Det kommer att falla och falla tills vattnet börjar frysa. Vid denna tidpunkt kommer temperaturen att sluta sjunka och förbli platt en liten stund. När frysningen är klar börjar temperaturen sjunka igen. Notera spänningen i det plana området som ska användas som din 0ºC kalibreringspunkt.

Freezing water temperature plot

Gör detsamma för kokande vatten. Det är bäst att göra detta vid havsnivå. Om du inte befinner dig vid havsnivån, kolla vad vattentemperaturen är på din höjd.

Calibrating a thermometer.

Att använda 0 ° C och 100 ° C är inte lika bra som att använda, säg 50 ° C och 80 ° C, men det är mycket lättare. Om du har en mycket exakt termometer tillgänglig bör du använda kalibreringspunkter närmare din tillagningstemperatur.

Alternativ 2: Använd metylalkohol. (Tack stevenvh) Detta kokar vid 64,7 ° C. Detta ligger så nära din tillagningstemperatur att du bara behöver en kalibreringspunkt för att få en mycket exakt tillagningstemperatur. Var uppenbarligen försiktig så att du inte berusar eller spränger dig själv med ångorna. Värm inte alkoholen över öppen eld!

Tillagt - förstärkning

Eftersom du arbetar i ett smalt temperaturintervall och du behöver bra kontrollnoggrannhet är det förmodligen också värt förstärka sensorns utgång. Detta ger större ADC-upplösning vid Arduino, vilket kommer att översättas till bättre stabilitet för PID-kontrollalgoritmen. Se frågan Analog spänningsnivåkonvertering (nivåförskjutning) som diskuterar förstärkning och nivåförskjutning av en analog spänning.

Förutsatt att du arbetar i området 40 ° C - 100 ° C (0,4 v - 1,0v). Du vill subtrahera 0,4v från signalen, vilket ger 0,0v - 0,6v och förstärker resultatet med en förstärkning på 8, vilket ger 0,0v - 4,8v. Detta ger utmärkt upplösning.

Noggrannheten över temperaturområdet är 1 ° C. 0,25 ° C är försäljningssamtal.
@stevenvh - "Noggrannhet över temperatur" är fel intervall att prata om. "Noggrannhet vid tillagningstemperatur" är rätt intervall att prata om.
0,5 ° C specificeras vid 25 ° C. Kommer tillagningstemperaturen närmare det eller närmare temperaturområdet? Jag tror, ​​det senare.
@stevenvh - Jag tror att diagrammet jag skickade svarar på den frågan.
Missförstå mig inte, jag vill inte få din sensor att se dålig ut. Jag vill vara realistisk. Som designingenjör undviker jag typiska värden. Design i värsta fall. Om max 0,7 ° C anges vid 60 ° C * betyder det att det kan inträffa *, oavsett hur snygg 0,1 ° C kan se ut. Beroende på din applikation kan räkna med typiska värden leda till kvalitetsproblem.
@stevenvh - Det är därför som det är en bra idé att kalibrera vid 0 ° C och 100 ° C. Om du gör detta kan noggrannheten komma att ligga inom 0,25 ° C. Om du inte verkligen designar i värsta fall och antar att noggrannheten förändras slumpmässigt inom dessa gränser.
Du kan kalibrera vid kokpunkten för metylalkohol istället för vatten: 64,7 ° C.
@stevenvh - Det är en bra idé! Han kunde antagligen bara göra en 1-punktskalibrering i så fall för att få tillräckligt bra noggrannhet. Även om han måste vara försiktig så att han inte berusar / spränger sig själv.
Lägg gärna till det i ditt svar. Inte alla läser alla kommentarer.
Att förstärka det användbara intervallet för att täcka sensorområdet kommer att minska kvantiseringsbruset, men du bör också notera att det nu lägger till sin egen uppsättning fel. Även om du kalibrerar vid en enda punkt måste du nu överväga att förstärka ingångens offset-spänningsdrift över enhetens temperatur, inte de saker som kokas. Jag säger inte att förstärkning är dåligt, bara att om du ska rekommendera det bör du också ange de problem som följer med det.
@Olin - Det är en bra poäng. Men kvantiseringsbrus är verkligen dåligt i det här fallet. 5 LSB över 0,25 ° C. Detta kommer att göra stabiliteten ganska svår. Jag kommer att nämna förstärkningsfel i svaret imorgon.
Observera att enheten är trimmad från fabrik - därav ** garanterad ** 0,5C AT 25C (för toppmodellen) och avvikelse åt båda hållen. Det är mycket troligt att det kommer att fungera ungefär lika bra vid någon annan rimlig temperatur när den har kalibrerats.
Tack för detta svar och diskussion - mycket uppskattat
@RichardRussell - Inga probs. Glöm inte att rösta och / eller kryssa för användbara svar.
Som en sidoanteckning kan du upptäcka att en kopp isvatten kommer att träffa 0 grader mycket exakt. Detta beror på att issmältningen håller den vid 0 grader, för att gå ovanför att den måste smälta hela isen. Bara en enkel kopp isvatten ger dig en bra 0 graders referens i mitten, inget behov av att titta för alltid (behöver kompensera för tryck och mineralinnehåll om du vill vara supernoggrann)
Wouter van Ooijen
2012-05-28 21:13:28 UTC
view on stackexchange narkive permalink

För det första att komma överens med andra: att gå till 1.0C-noggrannhet kommer att göra ditt liv mycket enklare.

Du verkar vara inställd på analoga sensorer, men jag föreslår en med ett digitalt gränssnitt. Analoga sensorer är antingen (begagnade) radiometriska (levererar en temp-beroende-procentandel av Vcc), vilket ger ett icke-linjärt svar som du måste konvertera. Den andra typen (LM35 etc) är absolut, vilket kräver att du A / D mot en referensspänning som måste vara (mycket) mer accuirera än önskad noggrannhet. Om du inte vill mäta något som en digital gränssnittssensor inte kan (som >> 100C) verkar det här mycket onödigt besvär.

Redigera: låt oss prova en LM35. 10mV / C, även om LM35 i sig inte introducerar något fel , är en typisk referens (LM431 etc) 1% korrekt, vilket introducerar ett 1% fel i temperaturavläsningen! En typisk mikrokontroller A / D är 10 bitar, låt oss anta att full skala är en 2,5V-referens (kontrollera om din UC tillåter detta!). 1 bitars A / D-fel (låt oss vara optimistiska! Kontrollera bättre ditt UC-datablad) är 2,5mV = 1 / 4C-fel. Så även utan sensorn i sig har vi ett + / 1,25 C-fel (i bästa fall ..).

Skaffa en digital gränssnittssensor, till exempel den gamla gamla DS1820 / 18S20 / 18B20, allt TO92. Eller en av I2C- eller SPI-sensorerna som Microchip tillverkar i TO220. Om du värmer upp i ett fack eller något kan du ansluta fliken till facket.

Jag bryr mig inte för mycket om det är analogt eller digitalt - jag var inte medveten om att det fanns digitala enheter. Jag kommer att redigera frågan för att klargöra. Efter att ha tittat på specifikationerna för DS18S20 ser den ut som lämplig, jag behöver bara bädda in den i någon form av sond för att sänka ner i vattnet - en icke-trivial utmaning för någon som aldrig har gjort det :-)
Baserat på informationen i detta svar och olika andra, och vid vidare sökning, hittade jag en vattentät DS18B20-sond vid Alpha-Crucis (EU). Den finns också på Adafruit i USA. Den uppfyller alla mina krav och har en idealisk formfaktor.
Olin Lathrop
2012-05-28 20:22:59 UTC
view on stackexchange narkive permalink

Det låter som om du bara frågar om sonden. Tydligen vill du ha något du kan sätta i direkt kontakt med maten. En PID-kontroller innehåller mycket än bara feedback-sensorn, men det låter som om du inte frågar om det. Om något av detta är felaktigt bör du uppdatera din fråga. Jag har heller ingen aning om vad en "Sous Vide" -sak är. All information som är relevant för den bör vara i din fråga. Länkar är endast för bakgrundsmaterial.

Som Steven nämnde är 1/2 grader C mycket ambitiöst och onödigt när du pratar om mat.

Den enklaste temperaturgivaren blir en termistor. . De klarar avståndet och behöver annars bara ett belastningsmotstånd. Resultatet kommer också att vara förhållandemetriskt till ditt utbud, så alla utbudsvariationer avbryts. Det är lätt att upptäcka fel i firmware eftersom avläsningar mycket nära toppen eller botten av intervallet indikerar orealistiska temperaturer. Om du får något utanför något giltigt temperaturintervall, antar du ett maskinvarufel och anger vad du tror att ditt säkra läge är. Det här är verkligen en firmwareproblem, inte en hårdvara med en termistor och rätt belastningsmotstånd.

När det gäller att göra det livsmedelssäkert bör det vara bra att stänga in sonden i glas. Vad sägs om att epoxiera termistorn till botten av ett litet provrör, som sedan blir sonden? Toppen kan förseglas med varmt lim eller något. Det måste vara vattentätt men maten borde inte vara där. Endast två isolerade ledningar ska komma upp från rörets topp. Glas är ganska bra för att överföra värme. Sondens tidskonstant bör fortfarande vara mycket mindre än tidskonstanten från värmaren till matens ändrade temperatur.

Termistorer är inte så exakta om du inte betalar mycket pengar. För ett engångshobbyprojekt skulle jag få vilken termistor som helst som kan fås i rätt intervall och kalibrera manuellt. Kalibrera vid några få kända temperaturer bestämda från en pålitlig känd termometer och låt sedan firmware interpolera däremellan. För extra kredit kan du till och med slå upp den nominella ekvationen för termistorn, passa dina uppmätta punkter så bra som möjligt och dra därefter den kontinuerliga funktionen. Du kan fylla i en fast tabell i firmware med många segment från den kalibrerade funktionen så att linjär interpolering mellan segment blir ganska bra.

Återigen, 1/2 degC ber om för mycket, men du don ' Jag behöver verkligen inte så mycket ändå. En termistor med kanske fyra kalibreringspunkter, ekvationsanpassning och sedan interpolering borde vara bra för att lösa det faktiska problemet.

Kalibrera till 1/2 grad med en pålitlig, känd termometer, rör det inte problemet? Referenstermometern bör vara minst lika exakt, helst mer exakt, än den 1/2 grader.
@Federico: Det rör sig om noggrannhetsproblemet, men referenstermometern kan vara vilken teknik som helst, behöver inte vara livsmedelssäker och behöver inte vara maskinläsbar. En anständig kvicksilver (eller annan flytande) termometer som är avsedd för det intervallet bör vara tillgänglig utan alltför mycket besvär.
Jag har en anständig sondtermometer som är kalibrerad som jag kan använda för att kalibrera den här. Jag behöver inte den direkt i kontakt med maten, men eftersom den kommer att sänkas ner i vätska i en riskokare som jag också kan använda för att laga mat ris, jag vill inte att det ska läcka ut något giftigt ... En "Sous Vide" -sak är en metod att laga mat med exakta temperaturer i vakuumpackade påsar i ett vattenbad. Jag bygger en PID-kontroller från en Arduino, och i det här fallet behöver jag bara bestämma temperatursensorn.
Tony Stewart Sunnyskyguy EE75
2012-05-29 12:43:55 UTC
view on stackexchange narkive permalink

Med hjälp av LM335Z kan du kalibrera förskjutningen och få fel för en given sensor med två testavläsningar vid 0'C 100'C med is och kokande vatten.

Få sedan en verifieringsavläsning vid mitten räckvidd säg 50'C.

Du kan göra en testjigg och kalibrera en sensor som din silverstandard mot en annan guldstandardtermometern. Du sparar sedan de förväntade felen och beräknar en linjär progression eller förstärkning och offsetnummer för att spara i EEPROM så att de blir en kalibrerad uppsättning. Om du får en sats kan du upptäcka att de alla har samma förskjutnings- och förstärkningsfel som du kan korrigera i programvara för att visa den korrigerade avläsningen.

Med 0,1'C-standarder kan du förvänta dig 0,2'deg-fel och använda vilken skärm du väljer för att garantera 0,5'C-felet för dina kritiska börvärden.

Se fig 3

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

Jag tätar sensorn med en tunn beläggning av livsmedelskvalitet epoxi för att skydda enheten från fuktläckage och använda tvinnade par eller två tvinnade par flexledningar med 2 som ett skydd och använd sedan "ferrit CM-chokes" för att absorbera RF-störningar.

Du behöver då en ADC som garanteras korrekt till +/- 0,5 bit eller kanske 1 av 256 nivåer för att läsa 0,5 / 100% korrekt. Detta garanteras inte i de flesta Arduino, så du måste använda en hårdvarudAC för att testa detta i Output minus Input på ett 2-kanals omfång och välj AC-par för CH1 och CH 2 och visa sedan XY-läge CH1 vs Ch2 för att få en mittpunkt som passerar maximalt +/- 1 bit. Varje Vref-brus i din ADC kommer att orsaka hoppade kvantiseringsnivåer eller hysteres under övergångar som 01111 till 10000 och överhörning från digital mark till ingång analog markmatning genom att misslyckas med monotonicitet.

Kontrollera TI-webbplatsen för litteratur om ADC-fel.

@Richard Russell << Jag uppskattar behovet av 0,5 ° C-kontroll i organiska matlagningsstilar vid låga temperaturer där levande organismer börjar dö snabbt över Pasteur-temperaturen när bakterierna dödas.

Om det vore jag skulle jag kalibrera för 0,1 graders noggrannhet med mina förskjutningskalibreringstemperaturer mellan 45 och 65 ° C efter att den är ordentligt fäst i den välisolerade krukan. Då kan du utföra någon annan kommersiell spis på marknaden ... förutsatt att den är väl isolerad i dielektrikum med högt R-värde.

Då för utseende så att du kan ladda $ 500, linda in den i amerikansk precision SS som "Spirit of St Louis" är djupt repad och mycket polerad. ;)

Personligen skulle jag få SS-yttre syra etsad av proffs som gör detta varje dag med ett konstverk av historisk matlagningsbetydelse för $ 50 och sedan debiterar extra för anpassade konstverk med personlig logotyp och företagsnamn. Fråga bara om du behöver en bra ref.

Tack för att jag får hjälpa dig med ditt mål.

Skål - det är verkligen bra. Måste säga att jag inte har någon aning om vad "amerikansk SS" är, men det låter trevligt :-)
SS = rostfritt stål
Visst, när du kalibrerar sensorn gör du det efter ADC. Därför kalibrerar du också ut ADC-felet?
Richard Russell
2012-05-30 14:12:25 UTC
view on stackexchange narkive permalink

Baserat på informationen i andra svar och vidare sökning hittade jag en Waterproof DS18B20-sond vid Alpha-Crucis (EU). Den finns också på Adafruit i USA.

Den uppfyller alla mina krav och har en idealisk formfaktor.

detta är bara en länk till en produkt och ingen information om varför. Det finns användare som lägger mycket arbete i svar för att hjälpa dig att lära dig och acceptera är normalt en belöning för en sådan uppgift, särskilt om de gjorde jobbet med att vägleda dig här.
OK, jag accepterar ett annat svar. Var ska jag dra min egen slutsats?
Jag sa två saker, 1) Om någons svar är det som faktiskt ledde dig hit, borde de antagligen acceptera. 2) Att skriva svar är mer än acceptabelt men kan du ge oss mer information än bara en länk. Just nu vet jag ingenting mer än att den här enheten bärs några ställen och är vattentät.
Jag * gjorde * en Sous Vide med en DS18B20, den med plastspets, men modellen med metallspets är bättre.Att laga mat är bra nog (jag använder det dagligen) och +/- 1 ° C är allt du behöver.Temperaturen är inte enhetlig i din gryta.det kan vara +/- 3 ° C beroende på var du sätter sonden och hur värmer du upp vattnet (varmvattenberedning), eller om vattnet cirkulerar eller inte.


Denna fråga och svar översattes automatiskt från det engelska språket.Det ursprungliga innehållet finns tillgängligt på stackexchange, vilket vi tackar för cc by-sa 3.0-licensen som det distribueras under.
Loading...