サーミスタを校正する最も簡単な方法は何ですか?


11

実験装置にアクセスできない趣味家として、私が持っているサーミスタを校正することは私には本当に不可能に思えます。

もちろん、DS18B20のようなキャリブレーションされた温度センサーがありますが、Aruino UNO(新しいMCUと比較して)のような遅いMCUの特別なサーミスタはより高速です。

ラボ機器を使用せずにサーミスタを校正するには、どのようなオプションがありますか?


1
サーミスタの特性を把握するために、DS18B20として校正済みのセンサーを使用します。
Janka、

「スナップピア」とはどういう意味ですか?サーミスタでソフトウェア補正を行う必要があるが、DS18B20を使用しない場合、これは適切な理由とは思えません。
Elliot Alderson、

フル解像度でのDS18B20の1秒の遅延が問題になる場合は、DS2438などのバッテリーモニターワンワイヤセンサーのいずれかを使用してください。チップ上に高速の温度センサーがあります。
ヤンカ

2
@newbie正確さのために、温度の校正は一般に困難です。一部の範囲は他の範囲よりも困難です。一般的に入手可能な材料の凝固点は多くの助けになります、あなたの範囲にそれらの多くが含まれている場合はさらに役に立ちます。しかし、正確な参照は、どこかの実験室に保管され、1〜2人の物理学者によって管理されているNISTまたはDIN(または同様のグループ)標準に追跡可能です。温度範囲を指定し、その範囲で求める精度と精度を指定すると、質問に役立ちます。
jonk

1
@newbieしかし、家で?純度を確認してから、氷と液体の組み合わせ、または純粋な凝縮ボイラーを作成します。たとえば、水と混合した氷は非常に一般的に使用されますが、それが十分に役立つかどうかは、正確さの数値と行きたい仕事に依存する場合があります。フィレンツェのフラスコの底に凝縮させた沸騰水または硫酸を使用することもできます。(私は両方を使用しました。)しかし、結果は不純物や大気圧の変動、その他の要因にも依存します。あなたの要件は、自作の試みのために提案できるものに関係する多くのものを持っています。
jonk

回答:


5

サーミスタ(またはほとんどの場合、そのセンサー)のキャリブレーションは、次の2つの手順で行います。

  1. 校正データを測定する
  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つの係数を提供していることに注意してください。これは、予備的な概算キャリブレーションの神様ですが、正確さが必要な場合は、それに依存しません。

ここでは、実際にフィットを実行する方法については説明しません。任意のデータを適合させるためのソフトウェアパッケージはたくさんあります。


十分に詳しく説明された回答に感謝します。副質問; 温度の読み取りソースとしてDS18B20センサーを使用しましたが、サーミスターの読み取り値が約2.2度ずれていることに気付きました。次に、サーミスタ温度計算にその2.2度を追加しました。現在、ds18b20とサーミスタの両方の読み取り値はほぼ同じです。25度から35度の範囲内で温度変化をテストしましたが、サーミスタは温度変化に対してより敏感でしたが、最終的には結果はほぼ同じでした。私が使用したこの方法の欠点は何ですか?
ElectronSurf

2
@newbie:「サーミスタの読み取り値が約2.2度ずれている」とはわかりません。サーミスタは度単位で読み取りを行いません。読み取り値を2.2°Cオフにする校正法(どこから来るのか)を試したということですか?これが事実であり、このオフセットが厳密に一定である場合、アプローチには、追加の算術ステップを含むより複雑な変換則があるという小さな欠点があります。オフセットが厳密に一定でない場合、フィットをやり直すと、より良い結果が得られます。
Edgar Bonet、

11

サーミスタの読み取りは少し注意が必要です。上記のキャリブレーション方法では、エラー検出に歩留まりがありません。対数曲線(サーミスタ応答曲線)の2つのポイントが作成されます。

これは、0.1°Cの温度の変化ごとに、対応する抵抗の変化が温度の範囲に応じて変化することを意味します。 ここに画像の説明を入力してください

最初は、実際の温度から約2〜5°Cの誤差が見られることがありますが、誤差はなく、読み取り値が悪いだけです。

このサーミスタをどのように読んでいるかについての詳細は投稿しないでください、Arduinoはどうですか?一部のライブラリはまったく機能しないため、そのためには特別な関数を作成する必要があります。

サーミスタの特性と読み取り方法の詳細な説明を投稿してください。 投稿はスペイン語ですが、コードタグでは、すべての説明は平易な英語で書かれています。

ABC係数を取得すると、6メートルの長いLANワイヤーの場合でも、別の測定からの誤差は約0.1°Cになります。

4つのサーミスタのテスト このテストでは、4つのサーミスタを同時に読み取っています。指で軽く握っていた2つのサーミスタとは、わずかな温度差があります。


@newbieこれは正しいアプローチです。手順を実行できない場合は、1日以内に返信してください。Arduinoコードを調べて、含まれているリファレンスを調べ、ここに回答を書きます。
ピオジョ

1
リンクは停止します。この回答が将来的にソリューションを作成できるかどうかは、リンクがアクティブであることに大きく依存しています。回答にステップを追加できますか?
キータ-

回答のコードセクションをコピーして貼り付けます。//これはサーミスタを読み取る方法のサンプルコードであり、そこにある「Thermimistor.h」Libはベータ係数のみを受け入れ、//私の場合、誤った結果をもたらします。これは、//サーミスタを読み取るためのより正確な方法です。 、奇妙なまたは間違った測定がある場合は、次の手順に従ってください:// //このコードの正確な結果を取得するには、必要になります。//マルチメータ、NTCサーミスタ、もう1つはそれらを積算します//プローブメータ。//ステップ1.-マルチメータを抵抗測定モードに設定
Alejandro Santiago

//ステップ2.-サーミスタの実際の抵抗//と実際の温度を読み取り、注釈を付けます(安定した測定値を得るために1分かかります)。//いくつかのお湯とカップ。//ステップ3.-両方のセンサーを配置します(サーミスタと温度プローブは、//周囲温度の水を含む受信側に置きます)。//別のカップで水を温めます。//温度プローブが10°Cを超えるまで熱湯を追加し、//安定した測定を待って、温度と抵抗に注釈を付けます。//さらに水を追加して、最初の測定からエレメントを20°加熱します。//温度と抵抗に注意してください
アレハンドロサンティアゴ

1
@newbie NTCサーミスタを使用している場合は、A、B、Cの定数を計算し、それらをSteinhart Hartの方程式に代入して、抵抗から温度を解決する必要があります。これらの定数を見つけるには、3つの温度/抵抗測定が必要です。(定数はサーミスタごとに異なり、定数を見つけることはキャリブレーションです。)この記事ではその方法を示しますが、行列計算を使用しているため、オンライン計算機を見つけることをお勧めします。thinksrs.com/downloads/pdfs/applicationnotes/...
piojo

9

カップに氷を入れ、水を注いで縁までいっぱいにします。時々かき混ぜます。氷が溶け始めたら、0℃になります。センサーを水に突き刺して読み取ります。

センサーが許容できる場合は、沸騰したお湯のやかんにセンサーを落とします。海抜では、100°Cの参照読み取り値が得られます。

防水のためにセンサーを熱収縮させる必要がある場合は、読み取り値が安定するまでしばらく待つ必要があります。

概略図

この回路のシミュレーションCircuitLabを使用して作成された回路

図1.単純な線形検量線。

  • y1は、0°Cでの抵抗、電圧、またはADCの読み取り値です。
  • y2は、100°Cでの抵抗、電圧、またはADCの読み取り値です。

T=100yy1y2y1

コメントで指摘されているように、サーミスタを使用している場合は、データシートの直線性を確認する必要があります。この単純なアプローチでは不十分な場合は、マイクロコントローラーで多項式計算またはルックアップテーブルを使用する必要があります。


3
これにより2つのポイントが得られます。この2つのポイントを使用して、これらの2つの温度のベータを計算できます。その範囲の応答は線形に近くなりません(OPが "サーミスタ"と呼んでいるときにOPがそれを意味すると仮定します)
Scott Seidman

1
@newbie:アップデートをご覧ください。
トランジスタ

5
@newbie Transistorが最後に書いているように、このアプローチでは十分でない場合があります。率直に言って、それで十分だとは思えません。このアプローチで得られる唯一のものは再現性です(40°Cは常に同じ40°Cと想定されますが、実際には20°Cまたは60°Cである可能性があります)。
ピオジョ

2
圧力が1.01325バールまたは1013.25ミリバールまたはヘクトパスカルの場合、純水は100°Cで沸騰します。海抜気圧は天候に依存します。
Uwe

1
@newbie。それは便利に見えます。機能するようになったら、サンプルコードを質問に投稿するか、回答として投稿してください。私の答えよりも他の人の方が便利だと私は確信している。
トランジスタ

2

線形化温度計には、ゲインとオフセットの誤差があります。

  • バイポーラ電源では、0Vでオフセットがゼロになる可能性があります。
  • 単一電源ブリッジには、その設計温度でオフセットがゼロになるVrefまたはVccのVrefまたはR比があります。通常、これは対称的であるため、設計範囲の中点に対応します。
  • サーミスタは、25℃で、2つの変数を持つ特定の感度曲線で校正されています。

  • キャリブレーションするには、2つの測定のみが必要です。

    • 誤差電圧=ヌル= 0、ヌル調整、Vt = Vref
    • T maxでのゲイン調整
      • 典型的な4 Rブリッジの場合、これは通常中点の温度です。
  • キャリブレーションにはより良い温度計を使用するか、
    • 氷水と沸騰水を使用して、0、100'C
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.