実験装置にアクセスできない趣味家として、私が持っているサーミスタを校正することは私には本当に不可能に思えます。
もちろん、DS18B20のようなキャリブレーションされた温度センサーがありますが、Aruino UNO(新しいMCUと比較して)のような遅いMCUの特別なサーミスタはより高速です。
ラボ機器を使用せずにサーミスタを校正するには、どのようなオプションがありますか?
実験装置にアクセスできない趣味家として、私が持っているサーミスタを校正することは私には本当に不可能に思えます。
もちろん、DS18B20のようなキャリブレーションされた温度センサーがありますが、Aruino UNO(新しいMCUと比較して)のような遅いMCUの特別なサーミスタはより高速です。
ラボ機器を使用せずにサーミスタを校正するには、どのようなオプションがありますか?
回答:
サーミスタ(またはほとんどの場合、そのセンサー)のキャリブレーションは、次の2つの手順で行います。
最初のステップは最も難しく、残念ながら私が最も経験の少ないものです。次に、非常に一般的な用語でのみ説明します。2番目のステップは主に数学です。
(T、R)のペア、つまり既知の温度で測定された抵抗値をテーブルに入力する必要があります。校正データは、実際の使用に必要な温度の全範囲をカバーする必要があります。この範囲外のデータポイントはあまり役に立ちません。それ以外の場合は、データポイントが多いほど優れています。
サーミスタの抵抗を測定するために、私はあなたに助言 に対して抵抗計を使用しました。代わりに、実際のポストキャリブレーション測定に使用するのと同じセットアップを使用します。このようにして、抵抗測定の系統的誤差(ADCオフセットやゲイン誤差など)は校正されます。
温度を知るには、2つのオプションがあります。固定温度ポイント(沸騰したお湯や氷の融解など)を使用するか、既に校正された温度計を使用します。固定点は温度キャリブレーションのゴールドスタンダードですが、正確なものにするのは難しく、気になる温度範囲内で固定点の多くを見つけることができない可能性があります。
正常な温度計を使用する方が簡単ですが、いくつかの注意点があります。
熱慣性の高いエンクロージャー(冷蔵庫またはオーブン)内に両方を近づけて配置すると、ここで役立つことがあります。
明らかに、参照温度計の精度はここで非常に重要な要素です。最終的な測定精度に対する要件よりもはるかに正確である必要があります。
次に、データに適合する数学関数を見つける必要があります。これは「経験的適合」と呼ばれます。原則として、データポイントに十分に近い限り、どの法律でも可能です。多項式は、近似が常に収束するため(関数がその係数に対して線形であるため)、低位のマイクロコントローラーであっても安価に評価できるため、ここでは人気があります。特別なケースとして、線形回帰はあなたが試すことができる最も簡単な法則かもしれません。
ただし、非常に狭い温度範囲に関心がない限り、NTCサーミスタの応答は非常に非線形であり、低次の多項式の適合にはあまり適していません。ただし、変数を戦略的に変更すると、法則がほぼ線形になり、非常に簡単に適合させることができます。このために、いくつかの基本的な物理学を迂回します...
NTCサーミスタの電気伝導は、熱的に活性化されるプロセスです。次に、コンダクタンスはアレニウス方程式によってモデル化できます 。
G = G ∞のexp(-E /(k B T))
ここで、G∞は「前指数因子」と呼ばれ、E aは活性化エネルギー、k Bは ボルツマン定数、Tは絶対温度です。
これは、線形法則として再配置できます。
1 / T = A + B log(R)
ここで、B = k B / E a ; A = B log(G∞); そしてlog()は自然対数です。
キャリブレーションデータを取得して、1 / Tをlog(R)の関数としてプロットすると(基本的には軸が入れ替えられたアレニウスプロットです)、ほとんど直線ではないことに気づくでしょう。線形性からの逸脱は、主に、指数化前の係数が温度にわずかに依存するという事実から生じます。それにもかかわらず、曲線は低次多項式で非常に簡単にフィットできるほど滑らかです。
1 / T = c 0 + c 1 log(R)+ c 2 log(R)2 + c 3 log(R)3 + ...
関心のある温度範囲が十分に短い場合は、線形近似で十分です。次に、いわゆる「βモデル」を使用します。ここで、β係数は1 / Bです。3次多項式を使用すると、c 2 係数が無視できることに気付く場合があります。無視すると、有名なスタインハート–ハート方程式になります。
一般に、多項式の次数が高いほど、データに適合するはずです。しかし、次数が高すぎると、過剰適合になってしまい ます。いずれの場合も、フィットの自由パラメーターの数は、データポイントの数を超えてはなりません。これらの数値が等しい場合、法則はデータに正確に適合しますが、適合度を評価する方法はありません。このサーミスタ計算機 (コメントでリンクされている)は、3つのデータポイントのみを使用して3つの係数を提供していることに注意してください。これは、予備的な概算キャリブレーションの神様ですが、正確さが必要な場合は、それに依存しません。
ここでは、実際にフィットを実行する方法については説明しません。任意のデータを適合させるためのソフトウェアパッケージはたくさんあります。
サーミスタの読み取りは少し注意が必要です。上記のキャリブレーション方法では、エラー検出に歩留まりがありません。対数曲線(サーミスタ応答曲線)の2つのポイントが作成されます。
これは、0.1°Cの温度の変化ごとに、対応する抵抗の変化が温度の範囲に応じて変化することを意味します。
最初は、実際の温度から約2〜5°Cの誤差が見られることがありますが、誤差はなく、読み取り値が悪いだけです。
このサーミスタをどのように読んでいるかについての詳細は投稿しないでください、Arduinoはどうですか?一部のライブラリはまったく機能しないため、そのためには特別な関数を作成する必要があります。
サーミスタの特性と読み取り方法の詳細な説明を投稿してください。 投稿はスペイン語ですが、コードタグでは、すべての説明は平易な英語で書かれています。
ABC係数を取得すると、6メートルの長いLANワイヤーの場合でも、別の測定からの誤差は約0.1°Cになります。
このテストでは、4つのサーミスタを同時に読み取っています。指で軽く握っていた2つのサーミスタとは、わずかな温度差があります。
カップに氷を入れ、水を注いで縁までいっぱいにします。時々かき混ぜます。氷が溶け始めたら、0℃になります。センサーを水に突き刺して読み取ります。
センサーが許容できる場合は、沸騰したお湯のやかんにセンサーを落とします。海抜では、100°Cの参照読み取り値が得られます。
防水のためにセンサーを熱収縮させる必要がある場合は、読み取り値が安定するまでしばらく待つ必要があります。
この回路のシミュレーション – CircuitLabを使用して作成された回路図
図1.単純な線形検量線。
コメントで指摘されているように、サーミスタを使用している場合は、データシートの直線性を確認する必要があります。この単純なアプローチでは不十分な場合は、マイクロコントローラーで多項式計算またはルックアップテーブルを使用する必要があります。
線形化温度計には、ゲインとオフセットの誤差があります。
サーミスタは、25℃で、2つの変数を持つ特定の感度曲線で校正されています。
キャリブレーションするには、2つの測定のみが必要です。