Ich erstelle einen PID-Regler für Sous-Vide wie diesen und versuche zu entscheiden, welchen Temperatursensor ich bekommen soll.
Prioritäten:
Ich gehe bei Bedarf gerne Kompromisse bei einem der oben genannten Punkte ein, aber dies ist mein Ideal. Bin auch offen für Vorschläge, was ich sonst noch kompromittieren sollte. Ich wäre besonders an Gedanken zu Sensoren wie einem k-Typ, einem pt100, einem TMP36-Chip und einem „Standard“-10K-Thermistor interessiert (obwohl diese Namen nicht spezifisch genug sind, lassen Sie mich bitte wissen, was ich sein sollte stattdessen suchen).
Erstens, ich stimme anderen zu: 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 einer digitalen Schnittstelle vorschlagen. Analoge Sensoren sind entweder (gebraucht) radiometrisch (liefern einen temperaturabhängigen Prozentsatz von Vcc), was eine nichtlineare Reaktion ergibt, die Sie konvertieren müssen. Der andere Typ (LM35 usw.) ist absolut, was erfordert, dass Sie A / D gegen eine Referenzspannung durchführen, die (viel) genauer sein muss als Ihre gewünschte Genauigkeit. Wenn Sie nicht etwas messen möchten, das ein Sensor mit digitaler Schnittstelle nicht kann (wie >> 100 ° C), scheint dies eine Menge unnötiger Probleme zu sein.
Bearbeiten: Versuchen wir es mit einem LM35. 10 mV/C, selbst unter der Annahme, dass der LM35 selbst keinen Fehler einführt , eine typische Referenz (LM431 usw.) ist 1 % genau, was zu einem Fehler von 1 % bei der Temperaturmessung führt! Ein typischer Mikrocontroller-A/D hat 10 Bit, nehmen wir an, dass die volle Skala eine 2,5-V-Referenz ist (überprüfen Sie, ob Ihr uC dies zulässt!). 1-Bit-A/D-Fehler (seien wir optimistisch!, überprüfen Sie besser Ihr uC-Datenblatt) ist 2,5 mV = 1/4C-Fehler. Also haben wir auch ohne den Sensor selbst 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 im TO220 herstellt. Wenn Sie in einem Tablett oder etwas erhitzen, können Sie die Lasche mit dem Tablett verbinden.
Holen Sie sich einen Präzisions-Temperatursensor-IC wie den 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.
Mehrere Leute haben davon gesprochen, dass die „Genauigkeit über den Temperaturbereich“ für diesen Sensor ±1 °C beträgt. Das ist der falsche Bereich, um darüber zu sprechen. „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 etwa 0,1 °C.
Sie benötigen wahrscheinlich nur ein oder zwei Kalibrierungspunkte, um diesen Sensor leicht genau genug für Ihre Bedürfnisse zu machen. Aber das erfordert natürlich ein genaues Thermometer, um es zu kalibrieren. Dafür haben Sie ein paar Möglichkeiten:
Option 1: Sie können Wasser verwenden. Die Temperatur des gefrierenden Wassers 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. An diesem Punkt hört die Temperatur auf zu fallen und bleibt für eine Weile flach. Sobald das Gefrieren abgeschlossen ist, beginnt die Temperatur wieder zu fallen. Notieren Sie sich die Spannung im flachen Bereich, die Sie als Ihren 0-ºC-Kalibrierungspunkt verwenden können.
Machen Sie dasselbe für kochendes Wasser. Das geht am besten auf Meereshöhe. Wenn Sie sich nicht auf Meereshöhe befinden, überprüfen Sie die Siedetemperatur des Wassers in Ihrer Höhe.
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 Kalibrierpunkte verwenden, die näher an Ihrer Kochtemperatur liegen.
Option 2: Verwenden Sie Methylalkohol. (Danke stevenvh) Dies siedet bei 64,7ºC. Dies ist so nah 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 sprengen. Erhitzen Sie den Alkohol nicht über einer offenen Flamme!
Da Sie in einem engen Temperaturbereich arbeiten und eine gute Regelgenauigkeit benötigen, lohnt es sich wahrscheinlich auch, die Ausgabe des Sensors zu verstärken. Dies ergibt eine größere ADC-Auflösung beim Arduino, was zu einer besseren Stabilität des PID-Regelalgorithmus führt. Siehe die Frage Umwandlung des analogen Spannungspegels (Pegelverschiebung) , in der die Verstärkung und Pegelverschiebung einer analogen Spannung behandelt 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.
Es hört sich so an, als würdest du 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 irgendetwas davon falsch ist, sollten Sie Ihre Frage aktualisieren. Ich habe auch keine Ahnung, was ein "Sous-Vide"-Ding 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 es um Lebensmittel geht.
Der einfachste Temperatursensor ist ein Thermistor. Sie kommen mit der Reichweite zurecht und benötigen ansonsten nur einen Lastwiderstand. Das Ergebnis ist auch ratiometrisch zu Ihrem Angebot, sodass sich alle Angebotsschwankungen aufheben. Das Erkennen von Fehlern ist in der Firmware einfach, da Messwerte sehr nahe am oberen oder unteren Bereich des Bereichs auf unrealistische Temperaturen hinweisen. Wenn Sie etwas außerhalb eines gültigen Temperaturbereichs erhalten, gehen Sie von einem Hardwarefehler aus und geben Sie ein, was Sie für Ihren abgesicherten Modus halten. Dies ist wirklich ein Firmware-Problem, kein Hardware-Problem mit einem Thermistor und dem richtigen Lastwiderstand.
Um es lebensmittelecht zu machen, 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 ähnlichem versiegelt werden. Es muss wasserdicht sein, aber Essen sollte nicht dort sein. Nur zwei isolierte Drähte sollten oben aus dem Rohr heraustreten. Glas ist ziemlich gut darin, Wärme zu übertragen. Die Zeitkonstante der Sonde sollte immer noch deutlich kleiner sein als die Zeitkonstante von der Heizleistung bis zur sich ändernden Temperatur des Lebensmittels.
Thermistoren sind nicht sehr genau, es sei denn, Sie zahlen viel Geld. Für ein einmaliges Hobbyprojekt würde ich jeden Thermistor besorgen, der im richtigen Bereich liegen kann, und ihn manuell kalibrieren. Kalibrieren Sie bei einigen bekannten Temperaturen, die von einem zuverlässigen bekannten Thermometer bestimmt wurden, und lassen Sie dann die Firmware dazwischen interpolieren. Für zusätzliche Anerkennung können Sie sogar die Nenngleichung für den Thermistor nachschlagen, Ihre gemessenen Punkte so gut wie möglich daran anpassen und dann die stetige Funktion daraus ableiten. Sie können eine feste Tabelle in der Firmware mit vielen Segmenten aus der kalibrierten Funktion füllen, sodass die lineare Interpolation zwischen den Segmenten ziemlich gut ist.
Auch hier ist 1/2 °C zu viel verlangt, aber Sie brauchen sowieso nicht so viel. Ein Thermistor mit vielleicht 4 Kalibrierungspunkten, Gleichungsanpassung und dann Interpolation sollte in Ordnung sein, um das eigentliche Problem zu lösen.
Mit dem LM335Z können Sie den Offset- und Verstärkungsfehler für jeden beliebigen Sensor mit 2 Testablesungen bei 0 °C bis 100 °C mit Eis und kochendem Wasser kalibrieren.
Dann erhalten Sie einen Überprüfungswert im mittleren Bereich, sagen wir 50 ° C.
Sie können eine Prüfvorrichtung herstellen und einen Sensor als Ihren Silberstandard gegen einen anderen, das Goldstandard-Thermometer, kalibrieren. Sie speichern dann die erwarteten und tatsächlichen Fehler und berechnen eine lineare Progression oder Verstärkungs- und Offset-Zahl, um sie im EEPROM zu speichern, damit sie zu einem kalibrierten Satz werden. Wenn Sie eine Charge erhalten, stellen Sie möglicherweise fest, dass sie alle denselben Offset- und Verstärkungsfehler aufweisen, den Sie in der Software korrigieren können, um den korrigierten Messwert anzuzeigen.
Bei 0,1 °C-Standards können Sie einen Fehler von 0,2 °C erwarten und eine beliebige Anzeige verwenden, um diesen 0,5 °C-Fehler für Ihre kritischen Sollwerte zu garantieren.
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 lebensmittelechtem Epoxid versiegeln, um das Gerät vor Feuchtigkeitslecks zu schützen, und Twisted-Pair- oder zwei Twisted-Pair-Flexdrähte mit 2 als Abschirmung verwenden und dann "Ferrit-CM-Drosseln" verwenden, um HF-Störungen zu absorbieren.
Sie benötigen dann einen ADC, der garantiert auf +/- 0,5 Bit oder vielleicht 1 von 256 Stufen genau ist, um 0,5/100% genau zu lesen. Dies ist bei 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, und AC-Kopplung für CH1 und CH 2 auswählen und dann den XY-Modus CH1 vs. Ch2 anzeigen, um einen mittleren Punkt zu erhalten durchläuft maximal +/- 1 Bit. Jegliches Vref-Rauschen in Ihrem ADC führt zu übersprungenen Quantisierungspegeln oder Hysterese während Übergängen wie 01111 zu 10000, und Übersprechen von der digitalen Masse zur analogen Eingangsmasse-Durchführung schlägt bei Monotonie fehl.
Suchen Sie auf der TI-Website nach Literatur zu ADC-Fehlern.
@Richard Russell << Ich schätze die Notwendigkeit einer 0,5-Grad-C-Kontrolle bei organischen Kochstilen bei niedrigen Temperaturen, bei denen lebende Organismen oberhalb der Pasteur-Temperatur schnell zu sterben beginnen, wenn die Bakterien abgetötet werden.
Wenn ich es wäre, würde ich für eine Genauigkeit von 0,1 Grad kalibrieren, indem ich meine Offset-Gain-Kalibrierungstemperaturen zwischen 45 und 65 Grad C verwende, nachdem es fest mit dem gut isolierten Topf verbunden ist. Dann können Sie jeden anderen kommerziellen Herd auf dem Markt übertreffen ... vorausgesetzt, er ist mit einem Dielektrikum mit hohem R-Wert gut isoliert.
Dann können Sie für das Aussehen 500 US-Dollar verlangen und es in präzises amerikanisches SS einwickeln, das wie das "Spirit of St. Louis" tief zerkratzt und hochglanzpoliert ist. ;)
Vielen Dank, dass ich Sie bei Ihrem Ziel unterstützen durfte.
Basierend auf den Informationen in anderen Antworten und weiterer 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.
stevenvh
Benutzer924
Raketenmagnet
Raketenmagnet
Benutzer924
Kortuk
Kellenjb
Cybergibbons
Richard Russel
Richard Russel
Russell McMahon
Russell McMahon