Temperatursensoren für ein Arduino Sous-Vide-Projekt


8

Ich erstelle einen PID-Regler für Sous-Vide wie diesen und versuche zu entscheiden, welchen Temperatursensor ich bekommen soll.

Prioritäten:

  • Kosten: <£ 25 in Großbritannien geliefert
  • Genauigkeit: +/- 0,5 ° C.
  • Bereich: 0 - 100 ° C.
  • Ausgang: etwas, das von einem Arduino mit minimalen zusätzlichen Schaltkreisen gelesen werden kann (z. B. 0-5 VDC, ein leicht zu messender Widerstand oder digitaler Ausgang wie OneWire usw.)
  • Physisch: wasserdicht, lebensmittelecht (idealerweise) und mit einem mindestens einen Meter langen Kabel - idealerweise nicht zu viel Arbeit, um diesen Formfaktor zu erzeugen (ich habe keine Werkstatt)
  • Fehlermodus: Ideal, wenn ein Fehler eher zu einer Übertemperaturmessung als zu einer Untertemperatur führt

Gerne kann ich bei Bedarf Kompromisse eingehen, aber das ist mein Ideal. Offen auch für Vorschläge, was ich sonst noch kompromittieren sollte. Ich würde mich besonders für Gedanken zu Sensoren wie einem k-Typ, einem pt100, einem TMP36-Chip und einem "Standard" 10K-Thermistor interessieren (wenn diese Namen jedoch nicht spezifisch genug sind, lassen Sie mich bitte wissen, was ich sein sollte stattdessen suchen).


1
Die Genauigkeit von 0,5 ° C ist sinnlos und macht Ihr Leben nur schwerer. 1 ° C ist mehr als genug. Und selbst das können Sie mit einem NTC-Thermistor nicht erreichen, ohne einen schmerzhaften Tag damit zu verbringen, ihn zu kalibrieren.
Stevenvh

1
Es sieht so aus, als ob die Anwendung tatsächlich die höchstmögliche absolute Genauigkeit erfordert. Es scheint, dass der Punkt des kontrollierten Kochens genau in einem sehr engen Bereich von nahezu kochenden Temperaturen arbeitet.

5
Raketenmagnet und Raketenchirurg unterhalten sich, was für das Auge überhaupt nicht verwirrend war.
Kortuk

1
@ RichardRussell Dieser Artikel von Gizmag ist wahrscheinlich von Interesse - Juli 2012.
Russell McMahon

1
Hier ist eine nette Sous-Vide-Implementierung, die Ihnen einige Ideen geben kann. flashingleds.net/sousvader/sousvader.html
Russell McMahon

Antworten:


5

Erstens, wenn Sie anderen zustimmen: Wenn Sie sich für eine Genauigkeit von 1,0 ° C entscheiden, wird Ihr Leben viel einfacher.

Sie scheinen auf analoge Sensoren eingestellt zu sein, aber ich würde einen mit digitaler Schnittstelle vorschlagen. Analoge Sensoren sind entweder (verwendet) radiometrisch (liefern einen temperaturabhängigen Prozentsatz von Vcc), was eine nichtlineare Antwort ergibt, die Sie konvertieren müssen. Der andere Typ (LM35 usw.) ist absolut, was erfordert, dass Sie gegen eine Referenzspannung, die (viel) genauer als Ihre gewünschte Genauigkeit sein muss, A / D betreiben. Wenn Sie nicht etwas messen möchten, das ein Sensor mit digitaler Schnittstelle nicht kann (wie >> 100C), scheint dies eine Menge unnötiger Probleme zu sein.

Edit: Lass uns einen LM35 ausprobieren. 10 mV / C, selbst wenn der LM35 selbst keinen Fehler einführt , ist eine typische Referenz (LM431 usw.) 1% genau, was einen 1% igen Fehler in der Temperaturanzeige einführt! Ein typischer A / D-Mikrocontroller hat 10 Bit. Nehmen wir an, der volle Maßstab ist eine 2,5-V-Referenz (prüfen Sie, ob Ihr uC dies zulässt!). 1-Bit-A / D-Fehler (seien wir optimistisch! Überprüfen Sie besser Ihr uC-Datenblatt) beträgt 2,5 mV = 1 / 4C-Fehler. Selbst ohne den Sensor selbst haben wir also einen Fehler von + / 1,25 C (bestenfalls ..).

Holen Sie sich einen digitalen Schnittstellensensor, zum Beispiel den guten alten DS1820 / 18S20 / 18B20, alle TO92. Oder einer der I2C- oder SPI-Sensoren, die Microchip in TO220 herstellt. Wenn Sie in einem Fach oder etwas heizen, können Sie die Lasche mit dem Fach verbinden.


Es macht mir nichts aus, wenn es analog oder digital ist - mir war nicht bewusst, dass es digitale Geräte gibt. Ich werde die Frage bearbeiten, um sie zu klären. Nachdem ich mir die DS18S20-Spezifikationen angesehen habe, sieht es passend aus. Ich müsste sie nur in eine Art Sonde einbetten, um ins Wasser zu tauchen - eine nicht triviale Herausforderung für jemanden, der das noch nie getan hat :-)
Richard Russell

Basierend auf den Informationen in dieser und verschiedenen anderen Antworten sowie bei der weiteren Suche fand ich bei Alpha-Crucis (EU) eine wasserdichte DS18B20-Sonde. Es ist auch bei Adafruit in den USA erhältlich. Es erfüllt alle meine Anforderungen und hat einen idealen Formfaktor.
Richard Russell

7

Holen Sie sich einen Präzisions-Temperatursensor-IC wie den LM35CAZ .

LM35CAZ

Sie versorgen es mit guten 5 V und der Ausgang ist eine einfache Spannung, die eine lineare Funktion der Temperatur ist. Sie haben eine ziemlich gute Genauigkeit von ± 1⁄4˚C bei Raumtemperatur.

Hinzugefügt:

Mehrere Leute haben über "Genauigkeit über Temperaturbereich" für diesen Sensor von ± 1 ° C gesprochen. Dies ist der falsche Bereich. "Genauigkeit bei Kochtemperatur" ist der richtige Bereich, um darüber zu sprechen. Bei etwa 60 ° C beträgt die Genauigkeit ± 0,7 und ist wahrscheinlich besser. Die "typische" Linie variiert über Ihren Kochbereich um ca. 0,1 ° C.

Genauigkeit von LM35CAZ

Sie benötigen wahrscheinlich nur einen oder zwei Kalibrierungspunkte, um diesen Sensor für Ihre Anforderungen genau genug zu machen. Dafür ist natürlich ein genaues Thermometer erforderlich, um es zu kalibrieren. Dafür haben Sie mehrere Möglichkeiten:

Option 1: Sie können Wasser verwenden. Die Temperatur des Wassers, das gefriert, beträgt 0 ° C. Stecken Sie es also in eine kleine Tasse Wasser in den Gefrierschrank und beobachten Sie die Ausgangsspannung sorgfältig. Es wird fallen und fallen, bis das Wasser zu gefrieren beginnt. Zu diesem Zeitpunkt hört die Temperatur auf zu fallen und bleibt für eine Weile flach. Sobald das Einfrieren abgeschlossen ist, beginnt die Temperatur wieder zu fallen. Beachten Sie die Spannung im flachen Bereich, die als 0 ° C-Kalibrierungspunkt verwendet werden soll.

Gefrierwassertemperaturplot

Machen Sie dasselbe für kochendes Wasser. Am besten auf Meereshöhe. Wenn Sie nicht auf Meereshöhe sind, überprüfen Sie, wie hoch die Siedetemperatur in Ihrer Höhe ist.

Ein Thermometer kalibrieren.

Die Verwendung von 0 ° C und 100 ° C ist nicht so gut wie die Verwendung von beispielsweise 50 ° C und 80 ° C, aber es ist viel einfacher. Wenn Sie ein sehr genaues Thermometer zur Verfügung haben, sollten Sie Kalibrierungspunkte verwenden, die näher an Ihrer Kochtemperatur liegen.

Option 2: Verwenden Sie Methylalkohol. (Danke stevenvh) Das kocht bei 64,7ºC. Dies liegt so nahe an Ihrer Kochtemperatur, dass Sie nur einen Kalibrierungspunkt benötigen sollten, um eine sehr genaue Kochtemperatur zu erhalten. Achten Sie natürlich darauf, sich nicht mit den Dämpfen zu berauschen oder in die Luft zu jagen. Erhitze den Alkohol nicht über einer offenen Flamme!

Hinzugefügt - Verstärkung

Da Sie in einem engen Temperaturbereich arbeiten und eine gute Regelgenauigkeit benötigen, lohnt es sich wahrscheinlich auch, die Leistung des Sensors zu verstärken. Dies führt zu einer höheren ADC-Auflösung am Arduino, was zu einer besseren Stabilität des PID-Regelalgorithmus führt. Siehe die Frage Analoge Spannungspegelumwandlung (Pegelverschiebung), in der das Verstärken und Pegelverschieben einer analogen Spannung erläutert wird.

Angenommen, Sie arbeiten im Bereich von 40 ° C bis 100 ° C (0,4 V - 1,0 V). Sie sollten 0,4 V vom Signal subtrahieren, was 0,0 V - 0,6 V ergibt, und das Ergebnis mit einer Verstärkung von 8 verstärken, was 0,0 V - 4,8 V ergibt. Dies ergibt eine hervorragende Auflösung.


Die Genauigkeit über den Temperaturbereich beträgt 1 ° C. 0,25 ° C ist Verkaufsgespräch.
Stevenvh

1
@stevenvh - "Genauigkeit über Temperatur" ist der falsche Bereich. "Genauigkeit bei Kochtemperatur" ist der richtige Bereich, um darüber zu sprechen.
Raketenmagnet

0,5 ° C wird bei 25 ° C angegeben. Wird die Kochtemperatur näher oder näher am Temperaturbereich liegen? Ich denke, letzteres.
Stevenvh

4
Sie können den Siedepunkt von Methylalkohol anstelle von Wasser kalibrieren: 64,7 ° C.
Stevenvh

2
Wenn Sie den Nutzbereich vergrößern, um den Sensorbereich abzudecken, wird das Quantisierungsrauschen reduziert. Beachten Sie jedoch auch, dass jetzt ein eigener Fehlersatz hinzugefügt wird. Selbst wenn Sie an einem einzelnen Punkt kalibrieren, müssen Sie jetzt die Offset-Spannungsdrift des Verstärkereingangs über die Temperatur des Geräts berücksichtigen, nicht über das gekochte Material. Ich sage nicht, dass Verstärkung schlecht ist, nur dass Sie, wenn Sie es empfehlen wollen, auch die damit verbundenen Probleme angeben sollten.
Olin Lathrop

3

Es hört sich so an, als würden Sie nur nach der Sonde fragen. Anscheinend möchten Sie etwas, das Sie in direkten Kontakt mit dem Essen bringen können. Ein PID-Regler enthält viel mehr als nur den Rückkopplungssensor, aber es hört sich so an, als würden Sie nicht danach fragen. Wenn dies nicht der Fall ist, sollten Sie Ihre Frage aktualisieren. Ich habe auch keine Ahnung, was ein "Sous Vide" ist. Alle relevanten Informationen sollten in Ihrer Frage enthalten sein. Links sind nur für Hintergrundmaterial.

Wie Steven erwähnte, ist 1/2 ° C sehr ehrgeizig und unnötig, wenn Sie über Essen sprechen.

Der einfachste Temperatursensor ist ein Thermistor. Sie können den Bereich bewältigen und benötigen ansonsten nur einen Lastwiderstand. Das Ergebnis ist auch ratiometrisch für Ihr Angebot, sodass sich alle Angebotsschwankungen aufheben. Das Erkennen von Fehlern ist in der Firmware einfach, da Messwerte sehr nahe am oberen oder unteren Rand des Bereichs auf unrealistische Temperaturen hinweisen. Wenn Sie etwas außerhalb eines gültigen Temperaturbereichs erhalten, gehen Sie von einem Hardwarefehler aus und geben den für Sie sicheren Modus ein. Dies ist wirklich ein Firmware-Problem, kein Hardware-Problem mit einem Thermistor und dem richtigen Lastwiderstand.

Um die Lebensmittelsicherheit zu gewährleisten, sollte es gut sein, die Sonde in Glas einzuschließen. Wie wäre es, den Thermistor auf den Boden eines kleinen Reagenzglases zu kleben, das dann zur Sonde wird? Die Oberseite kann mit Heißkleber oder etwas versiegelt werden. Es muss wasserdicht sein, aber das Essen sollte nicht da sein. Es sollten nur zwei isolierte Drähte aus der Oberseite des Rohrs austreten. Glas ist ziemlich gut darin, Wärme zu übertragen. Die Zeitkonstante der Sonde sollte immer noch deutlich unter der Zeitkonstante von der Heizleistung bis zur Temperatur des Lebensmittelwechsels liegen.

Thermistoren sind nicht sehr genau, wenn Sie nicht viel Geld bezahlen. Für ein einmaliges Hobbyprojekt würde ich jeden Thermistor bekommen, der im richtigen Bereich vorhanden ist, und manuell kalibrieren. Kalibrieren Sie bei einigen bekannten Temperaturen, die mit einem zuverlässigen bekannten Thermometer ermittelt wurden, und lassen Sie die Firmware dazwischen interpolieren. Für zusätzliche Gutschrift können Sie sogar die Nenngleichung für den Thermistor nachschlagen, Ihre gemessenen Punkte so gut wie möglich daran anpassen und daraus die stetige Funktion ableiten. Sie können eine feste Tabelle in der Firmware mit vielen Segmenten aus der kalibrierten Funktion füllen, so dass die lineare Interpolation zwischen Segmenten recht gut ist.

Auch hier verlangt 1/2 ° C zu viel, aber so viel braucht man sowieso nicht. Ein Thermistor mit vielleicht 4 Kalibrierungspunkten, Gleichungsanpassung und anschließender Interpolation sollte in Ordnung sein, um das eigentliche Problem zu lösen.


Mit einem zuverlässigen, bekannten Thermometer auf 1/2 Grad kalibrieren. Bewegt das nicht das Problem? Das Referenzthermometer sollte mindestens genauso genau, vorzugsweise genauer als dieses 1/2 Grad sein.
Federico Russo

1
@Federico: Es bewegt das Problem der Genauigkeit, aber das Referenzthermometer kann jede Technologie sein, muss nicht lebensmittelecht sein und muss nicht maschinenlesbar sein. Ein für diesen Bereich vorgesehenes anständiges Quecksilberthermometer (oder ein anderes flüssiges Thermometer) sollte ohne allzu große Probleme verfügbar sein.
Olin Lathrop

Ich habe ein anständiges Sondenthermometer, das kalibriert ist und mit dem ich dieses kalibrieren kann. Ich brauche es nicht direkt in Kontakt mit dem Essen, aber da es in einem Reiskocher, den ich auch zum Kochen von Reis verwenden kann, in Flüssigkeit getaucht wird, möchte ich nicht, dass etwas Giftiges ausläuft ... A "Sous Vide "thing ist eine Methode zum Kochen mit präzisen Temperaturen in vakuumverpackten Beuteln in einem Wasserbad. Ich baue einen PID-Regler aus einem Arduino und in diesem Fall muss ich mich nur für den Temperatursensor entscheiden.
Richard Russell

1

Mit dem LM335Z können Sie den Offset- und Verstärkungsfehler für jeden Sensor mit 2 Testwerten bei 0 ° C und 100 ° C mit Eis und kochendem Wasser kalibrieren.

Dann erhalten Sie einen Bestätigungswert im mittleren Bereich, z. B. 50 ° C.

Sie können eine Testvorrichtung herstellen und einen Sensor als Ihren silbernen Standard gegen einen anderen mit dem Goldstandardthermometer kalibrieren. Anschließend speichern Sie die erwarteten Fehler und berechnen einen linearen Verlauf oder eine Verstärkungs- und Versatzzahl, die im EEPROM gespeichert werden soll, damit sie zu einem kalibrierten Satz werden. Wenn Sie eine Charge erhalten, stellen Sie möglicherweise fest, dass alle den gleichen Versatz- und Verstärkungsfehler aufweisen, den Sie in der Software korrigieren können, um den korrigierten Messwert anzuzeigen.

Mit 0,1 ° C-Standards können Sie einen Fehler von 0,2 ° C erwarten und jedes von Ihnen ausgewählte Display verwenden, um diesen Fehler von 0,5 ° C für Ihre kritischen Sollwerte zu gewährleisten.

Siehe Abb. 3

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

Ich würde den Sensor mit einer dünnen Beschichtung aus Epoxidharz in Lebensmittelqualität versiegeln, um das Gerät vor Feuchtigkeitsleckagen zu schützen, und Twisted-Pair- oder zwei Twisted-Pair-Flex-Drähte verwenden, wobei 2 als Abschirmung verwendet werden, und dann "Ferrit-CM-Drosseln" verwenden, um HF-Störungen zu absorbieren.

Sie benötigen dann einen ADC, dessen Genauigkeit auf +/- 0,5 Bit oder vielleicht 1 von 256 Pegeln garantiert ist, um 0,5 / 100% genau zu lesen. Dies ist in den meisten Arduinos nicht garantiert, daher müssen Sie einen Hardware-DAC verwenden, um dies in Ausgang minus Eingang auf einem 2-Kanal-Oszilloskop zu testen. Wählen Sie AC-Paar für CH1 und CH2 und zeigen Sie dann den XY-Modus CH1 gegen Ch2 an, um einen Mittelpunkt zu erhalten durchläuft maximal +/- 1 Bit. Jegliches Vref-Rauschen in Ihrem ADC führt bei Übergängen wie 01111 zu 10000 zu übersprungenen Quantisierungspegeln oder Hysterese, und das Übersprechen von digitaler Masse zu analoger Erdungsdurchführung schlägt bei Monotonie fehl.

Auf der TI-Website finden Sie Literatur zu ADC-Fehlern.

@Richard Russell << Ich schätze die Notwendigkeit einer Kontrolle von 0,5 ° C bei biologischen Kochstilen bei niedrigen Temperaturen, bei denen lebende Organismen schnell oberhalb der Pasteur-Temperatur zu sterben beginnen, wenn die Bakterien abgetötet werden.

Wenn ich es wäre, würde ich mit meinen Kalibrierungstemperaturen für die Offset-Verstärkung zwischen 45 und 65 ° C auf eine Genauigkeit von 0,1 ° kalibrieren, nachdem sie fest mit dem gut isolierten Topf verbunden ist. Dann können Sie jeden anderen handelsüblichen Herd auf dem Markt übertreffen ... vorausgesetzt, er ist gut isoliert in einem Dielektrikum mit hohem R-Wert.

Wickeln Sie es dann für eine 500-Dollar-Präzisions-SS ein, die wie der "Spirit of St Louis" tief zerkratzt und hochglanzpoliert ist. ;)

Persönlich würde ich die SS-Außensäure von Fachleuten ätzen lassen, die dies jeden Tag mit einem Kunstwerk von historischer Kochbedeutung für 50 US-Dollar tun und dann für benutzerdefinierte Kunstwerke mit persönlichem Logo und Firmennamen einen Aufpreis berechnen. Fragen Sie einfach, ob Sie eine gute Referenz benötigen.

Vielen Dank, dass ich Sie bei Ihrem Ziel unterstützen durfte.


Prost - das ist wirklich hilfreich. Ich muss sagen, dass ich keine Ahnung habe, was "amerikanische SS" ist, aber es klingt gut :-)
Richard Russell

SS = Edelstahl
dext0rb

Wenn Sie den Sensor kalibrieren, tun Sie dies sicherlich nach dem ADC. Deshalb kalibrieren Sie auch den ADC-Fehler?
Raketenmagnet

0

Basierend auf den Informationen in anderen Antworten und der weiteren Suche fand ich bei Alpha-Crucis (EU) eine wasserdichte DS18B20- Sonde. Es ist auch bei Adafruit in den USA erhältlich.

Es erfüllt alle meine Anforderungen und hat einen idealen Formfaktor.


1
Dies ist nur ein Link zu einem Produkt und keine Information darüber, warum. Es gibt Benutzer, die viel Arbeit in Antworten stecken, um Sie zu unterrichten, und das Akzeptieren ist normalerweise eine Belohnung für eine solche Aufgabe, insbesondere wenn sie Sie hierher geführt haben.
Kortuk

OK, ich werde eine andere Antwort akzeptieren. Wo soll ich meine eigenen Schlussfolgerungen ziehen?
Richard Russell

Ich habe zwei Dinge gesagt: 1) Wenn jemand die Antwort ist, die Sie tatsächlich hierher geführt hat, sollte er wahrscheinlich die Zustimmung erhalten. 2) Das Schreiben von Antworten ist mehr als akzeptabel. Können Sie uns jedoch mehr Informationen als nur einen Link geben? Im Moment weiß ich nichts weiter als, dass dieses Gerät an einigen Stellen getragen wird und wasserdicht ist.
Kortuk

Ich habe einen Sous Vide mit einem DS18B20 gemacht, der mit Plastikspitze, aber das Modell mit Metallspitze ist besser. Zum Kochen ist es gut genug (ich benutze es täglich) und +/- 1 ° C ist alles was Sie brauchen. Die Temperatur in Ihrer Pfanne ist nicht gleichmäßig. Dies kann +/- 3 ° C betragen, je nachdem, wo Sie die Sonde aufstellen und wie Sie das Wasser erwärmen (Eintauchen in die Kochplatte) oder ob das Wasser zirkuliert oder nicht.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.