Arduino sous-videプロジェクトの温度センサー


8

このようなsous-vide用のPIDコントローラーを作成していて、取得する温度センサーを決定しようとしています。

優先事項:

  • 費用:英国で25ポンド未満の配送
  • 精度:+/- 0.5C
  • 範囲:0-100C
  • 出力:最小限の追加回路でArduinoが読み取れるもの(例:0〜5VDC、簡単に測定できる抵抗、またはOneWireなどのデジタル出力)
  • 物理的:防水性、食品安全(理想的には)、少なくとも1メートルのリード付き-理想的には、このフォームファクターを作成するには余計な労力をかけない(ワークショップはありません)
  • 故障モード:故障が温度の低下ではなく過熱の読み取りを引き起こした場合に理想的です

必要に応じて上記のいずれかについて妥協して満足していますが、これは私の理想です。また、他に何を妥協すべきかについての提案も受け付けています。私は特に、kタイプ、pt100、TMP36チップ、および「標準」10Kサーミスターなどのセンサーに関する考えに興味があります(これらの名前が十分に具体的でない場合は、私が何であるべきかを知らせてください代わりに探しています)。


1
0.5°Cの精度は無意味であり、あなたの人生をより困難にします。1℃で十分です。また、NTCサーミスタでは、校正に苦労することなく入手することはできません。
stevenvh

1
アプリケーションは実際には可能な限り最高の絶対精度を必要とするようです。制御された調理のポイントは、沸点に近い非常に狭い範囲で正確に動作しているようです。

5
Rocketmagnetとrocketsurgeonは会話をしていましたが、それはまったく混乱しませんでした。
Kortuk、2012年

1
@RichardRussell このGizmagの記事は興味を持つ可能性があります-2012
ラッセルマクマホン

1
ここにいくつかのアイデアを与えるかもしれない素晴らしいsous vide実装があります。 flashingleds.net/sousvader/sousvader.html
ラッセルマクマホン

回答:


5

まず、他の人に同意します。1.0Cの精度を求めると、あなたの人生がずっと楽になります。

あなたはアナログセンサーに設定されているようですが、デジタルインターフェースを備えたセンサーをお勧めします。アナログセンサーは(使用される)放射測定(温度依存のパーセンテージのVccを提供する)のいずれかであり、変換する必要がある非線形応答を提供します。もう1つのタイプ(LM35など)は絶対的なものであり、希望の精度よりも(はるかに)正確でなければならない基準電圧に対してA / Dを行う必要があります。デジタルインターフェイスセンサーでは測定できないもの(>> 100Cなど)を測定したくない場合を除き、これは不要な手間と思われます。

編集:LM35を試してみましょう。10mV / C、LM35自体がエラーを引き起こさないと仮定した場合でも、標準的なリファレンス(LM431など)は1%の精度で、温度読み取り値に1%のエラーをもたらします!典型的なマイクロコントローラーのA / Dは10ビットです。フルスケールが2.5Vのリファレンスであると仮定しましょう(uCがこれを許可しているかどうか確認してください!)。1ビットA / Dエラー(楽観的に見てみましょう!uCデータシートを確認してください)は2.5mV = 1 / 4Cエラーです。したがって、センサー自体がない場合でも、+ / 1.25 Cのエラーが発生します(せいぜい...)。

デジタルインターフェイスセンサー、たとえば古き良きDS1820 / 18S20 / 18B20、すべてTO92を入手してください。または、マイクロチップがTO220で作成するI2CまたはSPIセンサーの1つ。トレイなどで加熱している場合は、タブをトレイに接続できます。


アナログでもデジタルでもかまわない-デジタルデバイスの存在を知らなかった。明確にするために質問を編集します。DS18S20のスペックを見た、それは、適切な見え、私はちょうど水に水没に対するプローブのいくつかの並べ替えでそれを埋め込む必要があるだろう-やったことがない誰かのための非自明な挑戦をその:-)
ラッセル・リチャード

この回答やその他のさまざまな情報に基づいて、さらに検索したところ、Alpha-Crucis(EU)でWaterproof DS18B20プローブが見つかりました。米国のAdafruitでも入手できます。私のすべての要件を満たし、理想的なフォームファクターを備えています。
Richard Russell

7

LM35CAZなどの高精度温度センサーICを入手してください

LM35CAZ

良い5vで電力を供給し、出力は温度の線形関数である単純な電圧です。室温での精度は±1⁄4˚Cとかなり良好です。

追加:

このセンサーの「温度範囲での精度」は±1ºCであると数人の人が話しました。これは、話すのが間違っている範囲です。「調理温度での正確さ」は、話すのに適切な範囲です。約60ºCの精度は±0.7で、おそらくそれより優れています。「標準」ラインは、調理範囲全体で約0.1ºC異なります。

LM35CAZの精度

このセンサーをニーズに合わせて簡単に正確にするには、おそらく1つまたは2つのキャリブレーションポイントだけが必要です。しかし、もちろん、それを校正するには正確な温度計が必要です。そのためには、いくつかのオプションがあります。

オプション1:水を使用できます。氷結している水の温度は0℃です。冷凍庫の小さなカップに入れ、出力電圧を注意深く観察してください。それは水が凍り始めるまで落ちて落ちます。この時点で、温度は低下を停止し、しばらくフラットのままになります。凍結が完了すると、温度が再び低下し始めます。0 regionCキャリブレーションポイントとして使用するフラット領域の電圧に注意してください。

氷結水温プロット

沸騰したお湯も同じようにします。これは海抜で行うのが最善です。海抜ではない場合は、高度での水の沸騰温度を確認してください。

温度計を校正しています。

0ºCと100ºCを使用するのは、たとえば50ºCと80ºCを使用するよりも良い方法ではありませんが、はるかに簡単です。利用できる非常に正確な温度計がある場合は、調理温度により近い校正ポイントを使用する必要があります。

オプション2:メチルアルコールを使用します。(おかげでstevenvh)これは64.7ºCで沸騰します。これは調理温度に非常に近いため、非常に正確な調理温度を得るために必要なキャリブレーションポイントは1つだけです。明らかに、自分を酔わせたり、煙で自分を爆破しないように注意してください。裸火でアルコールを加熱しないでください!

追加-増幅

狭い温度範囲で作業していて、優れた制御精度が必要な場合は、センサーの出力を増幅する価値もあります。これにより、ArduinoでADCの分解能が向上し、PID制御アルゴリズムの安定性が向上します。アナログ電圧の増幅とレベルシフトについては、「アナログ電圧レベル変換(レベルシフト)」の質問を参照してください。

40ºC-100ºCの範囲(0.4v-1.0v)で作業していると仮定します。信号から0.4vを差し引いて0.0v-0.6vを与え、8のゲインで結果を増幅して、0.0v-4.8vを与えます。これにより、優れた解像度が得られます。


温度範囲の精度は1°Cです。0.25°Cはセールストークです。
stevenvh

1
@stevenvh-「温度に対する精度」は、説明するのに不適切な範囲です。「調理温度での正確さ」は、話すのに適切な範囲です。
Rocketmagnet

0.5°Cは25°Cでの仕様です。調理温度はそれに近いですか、それとも温度範囲に近いですか?後者だと思います。
stevenvh

4
水ではなくメチルアルコールの沸点である64.7°Cで校正できます。
stevenvh

2
センサー範囲をカバーするために有効範囲を拡大すると、量子化ノイズが減少しますが、独自のエラーセットが追加されることにも注意してください。一点で校正する場合でも、調理中のものではなく、デバイスの温度に対するアンプ入力オフセット電圧ドリフトを考慮する必要があります。増幅が悪いと言っているわけではありません。それを推奨する場合は、それに伴う問題も述べる必要があります。
Olin Lathrop

3

プローブについてのみ質問しているようです。どうやらあなたはあなたが食べ物と直接接触できる何かを望んでいます。PIDコントローラーにはフィードバックセンサー以外にも多くの機能が含まれていますが、それについて質問していないようです。これが正しくない場合は、質問を更新してください。また、「Sous Vide」とは何なのかわかりません。それに関連する情報があれば質問に含めてください。リンクは背景素材のみです。

Stevenが述べたように、食品について話す場合、1/2 degCは非常に野心的で不必要です。

最も簡単な温度センサーはサーミスタです。それらは範囲を処理でき、そうでなければ負荷抵抗のみを必要とします。結果は供給に対してレシオメトリックになるため、供給の変動はキャンセルされます。範囲の上限または下限に非常に近い読み取り値は非現実的な温度を示すため、ファームウェアでの障害の検出は簡単です。有効な温度範囲外のものが表示された場合は、ハードウェア障害とみなし、セーフモードと思われるものを入力します。これは実際にはファームウェアの問題であり、サーミスタと適切な負荷抵抗を備えたハードウェアの問題ではありません。

食品安全にするために、ガラスでプローブを囲むことは良いはずです。サーミスタを小さな試験管の底にエポキシ樹脂で接着し、それがプローブになるとどうでしょうか。上部は、ホットグルーなどで密閉できます。それは水密でなければならないが、食べ物はそこにあるべきではない。チューブの上部から出ているのは2本の絶縁ワイヤーだけです。ガラスは熱の伝達にかなり優れています。プローブの時定数は、ヒーター電力から食品の変化する温度までの時定数よりも十分に小さい必要があります。

あなたがたくさんのお金を払わない限り、サーミスタはあまり正確ではありません。1回限りの趣味のプロジェクトでは、適切な範囲内にあるサーミスタをすべて入手し、手動で調整します。信頼できる既知の温度計から決定されたいくつかの既知の温度で校正し、その後ファームウェアを補間します。追加のクレジットとして、サーミスタの公称方程式を調べ、測定ポイントをそれに最もよく適合させ、そこから連続関数を導出することもできます。キャリブレーションされた関数からの多くのセグメントを使用して、ファームウェアの固定テーブルにデータを入力できるため、セグメント間の線形補間が非常に適切になります。

繰り返しになりますが、1/2 degCは要求が多すぎますが、とにかくそれほど多くは必要ありません。実際の問題を解決するには、おそらく4つのキャリブレーションポイント、方程式のフィッティング、および補間を備えたサーミスタで十分です。


信頼できる既知の温度計を使用して1/2度に調整します。問題が解決しますか?参照温度計は、その1/2度と同じかそれ以上の正確さ、できればより正確でなければなりません。
フェデリコルッソ

1
@Federico:精度の問題が動いていますが、参照温度計は任意のテクノロジーにすることができ、食品安全である必要はなく、機械可読である必要もありません。その範囲のために意図されたまともな水銀(または他の液体)温度計は、あまり問題なく利用できるはずです。
Olin Lathrop、2012年

私はこれを校正するために使用できる、校正されたまともなプローブ温度計を持っています。直接食品に触れる必要はありませんが、炊飯器で液体に浸すので、炊飯にも使用できるため、有毒なものを漏らしたくありません。 「Vide」というものは、水槽内の真空パックされたバッグの中で正確な温度で調理する方法です。ArduinoからPIDコントローラーを構築しています。この場合、温度センサーを決定する必要があります。
Richard Russell

1

LM335Zを使用すると、氷と沸騰水を使用して0'C 100'Cで2つのテスト読み取り値を使用して、任意のセンサーのオフセットとゲインエラーを校正できます。

次に、ミッドレンジで確認用の読み取り値(50℃など)を取得します。

テストジグを作成して、1つのセンサーを別の金標準温度計に対して銀の標準として校正できます。次に、予想される実際のエラーを保存し、線形の進行またはゲインとオフセットの数値を計算して、EEPROMに保存し、校正済みのセットにします。バッチを取得する場合、それらすべてが同じオフセットとゲインエラーを持っていることがわかり、ソフトウェアで修正して修正された測定値を表示できます。

0.1'C標準を使用すると、0.2'degエラーが予想され、重要な設定値に対して0.5'Cエラーを保証するために選択した任意のディスプレイを使用できます。

図3を参照

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

センサーを食品グレードのエポキシの薄いコーティングで封止して、デバイスを湿気漏れから保護し、ツイストペアまたは2つのツイストペアフレックスワイヤーを2をシールドとして使用し、「フェライトCMチョーク」を使用してRF干渉を吸収します。

次に、0.5 / 100%の精度で読み取るには、+ /-0.5ビットまたは256レベルに1つの精度が保証されているADCが必要です。これはほとんどのArduinoで保証されていないため、ハードウェアDACを使用して2チャネルスコープの出力マイナス入力でこれをテストし、CH1とCH 2のACカップルを選択してから、XYモードCH1対Ch2を表示して中央のドットを取得する必要があります。最大+/- 1ビットをトラバースします。ADCのVrefノイズは、01111から10000のような遷移中にスキップされた量子化レベルまたはヒステリシスを引き起こし、デジタルグランドから入力アナロググランドフィードスルーへのクロストークは単調性で失敗します。

ADCエラーに関する資料については、TIサイトを確認してください。

@Richard Russell <<バクテリアが殺されたときに、生物がパスツールの温度を超えて急速に死に始める低温での有機調理スタイルでの0.5℃制御の必要性に感謝します。

それが私なら、しっかりと絶縁されたポットにしっかりと取り付けられた後、45〜65℃のオフセットゲイン校正温度を使用して、0.1度の精度で校正します。次に、市場に出回っている他の市販の調理器具を実行できます。高R値の誘電体で十分に絶縁されていると仮定します。

次に、外観を$ 500で充電できるように、「スピリットオブセントルイス」のように深く傷があり、高度に磨かれた精密なアメリカンSSで包みます。;)

個人的に私は、SSの外装の酸を、50ドルの歴史的な料理の重要性のアートワークで毎日これを行う専門家によってエッチングしてもらい、次に、個人のロゴと会社名のカスタムアートワークに追加料金を請求します。適切な参照が必要かどうかを確認してください。

目標のお手伝いをさせていただきありがとうございます。


乾杯-それは本当に役に立ちます。「アメリカンSS」が何であるか私にはわからないと言う必要がありますが、それはいいですね:-)
Richard Russell

SS =ステンレス鋼
dext0rb

確かに、センサーを校正するときは、ADCの後で行います。したがって、ADCエラーも校正していますか?
Rocketmagnet

0

他の回答で得られた情報に基づいてさらに検索したところ、Alpha-Crucis(EU)でWaterproof DS18B20プローブが見つかりました。米国のAdafruitでも入手できます。

私のすべての要件を満たし、理想的なフォームファクターを備えています。


1
これは製品へのリンクにすぎず、理由に関する情報はありません。あなたを教えるのを助けるために答えに多くの仕事を入れたユーザーがいます、そして、もし彼らがここであなたを導く仕事をしたなら、受け入れは通常そのような仕事の報酬です。
Kortuk

はい、別の答えを受け入れます。自分の結論はどこに置くべきですか?
Richard Russell

私は2つのことを言っていました。1)誰かの答えが実際にあなたをここに導いたものである場合、彼らはおそらく受け入れられるべきです。2)回答を書くことは許容範囲を超えていますが、リンクだけでなく詳細をお知らせください。今のところ、このデバイスが数か所持ち運ばれ、防水性があることを知っています。
Kortuk

私が作っ DS18B20、プラスチック製の先端を持つものを使用して真空調理法を、しかしメタリック先端を持つモデルが優れています。調理には十分であり(私は毎日使用しています)、+ /-1°Cで十分です。調理鍋の温度は均一ではありません。プローブを置く場所と、水をどのように加熱するか(浸漬対ホットプレート)、または水が循環しているかどうかによって、+ /-3°Cになることがあります。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.