« 計測の腕が試される? サーミスタの抵抗とB定数の測定 | トップページ | サーミスタ温度測定の精度と誤差 - 熱放散定数と自己加熱 »

2015年6月23日 (火)

サーミスタで正確な温度を求める方法 - 抵抗値-温度変換計算の精度と誤差

せっかく5℃~65℃でサーミスタの抵抗値を測ってみましたのでサーミスタの抵抗値から温度を求める三つの方法についてどの程度の誤差が出るかを確かめてみました。

<===== 一部実験方法に問題があることがわかったので再度実験し、グラフはそれをもとにしたものに差し替えました。

この記事は特定のサーミスタについて実験した結果です。型番が同じであれば傾向は似通ったものになると思われますがまったく同じ結果になるとは限りません。個々の製品の特性のばらつきについては
  「
サーミスタ温度測定の精度と誤差 - 製品のばらつきによる不確かさ
を参考にしてください。  


-------

1. データシートにある25℃での抵抗値とB定数(25℃~55℃など)から

    T= 1 / (  ln(R/R0) / B + 1/(T0+273.15) ) - 273.15

の式を使って温度を求めます。

今回の実験対象(NCP18XH103F03RB、10kΩ@25℃(±1%)、B=3380K(25℃~55℃、±1%))の具体的な計算式です。

    T = 1/  (  ln(R/10) / 3380 + 1/(25+273.15) ) - 273.15

   「サーミスタで温度を測る - 温度と抵抗値の相互変換 - B定数について
   「PICで作るお手軽サーミスタ温度計 (2) - ソース付き

-------

B定数は温度に依存しますので1.の方法ではあんまり正確な温度はわかりません。そこで

2. データシートに温度に対する抵抗値の典型値を示してあるものがあります。
  これを利用し温度とB定数の関係の近似式を作ります。このB定数を使い

    T= 1 / (  ln(R/R0) / B(T) + 1/(T0+273.15) ) - 273.15

の式を使って温度を求めます。B定数を求めるのに温度が必要ということになりますからそこは逐次近似などでしのぎます。逐次近似は無条件に2回やればOKです。時間をムダにしたくない方は収束をチェックしてください。 <== この場合収束をチェックするほうが時間のムダでした。

今回の実験対象(NCP18XH103F03RB、10kΩ@25℃(±1%)、B=3380K(25℃~50℃、±1%))の具体的な計算式です。

    T= 1 / (  ln(R/10) / (2.2803*(T-50) +3380 )+ 1/(25+273.15) ) - 273.15
      (0℃~60℃を重視した近似式です)

この式は型番が同じサーミスタであればそのまま使えます

全温度範囲(-40℃~125℃)での近似式(折れ線近似)がこちらにあります。
  「
B定数の近似式の作り方 - サーミスタ抵抗値温度変換計算の精度・誤差

-------

3. いくつかの温度で抵抗値を実際に測り、それからそれぞれの温度でのB定数を求めます。これをもとに25℃での抵抗値、B定数とその温度係数を決定し2.と同じ式で温度を求めます。

今回の実験対象(NCP18XH103F03RB、10kΩ@25℃(±1%)、B=3380K(25℃~50℃、±1%))の具体的な計算式です(実測に基づく計算式ですから型番が同じだからと言ってこの式を使わないでください

    T= 1 / (  ln(R/9.9560) / (1.9731*(T-50) + 3394.6 )+ 1/(25+273.15) ) - 273.15
      (0℃~60℃の実験結果に基づく係数です)

  「サーミスタの抵抗値とB定数を実測する(25℃編)
  「サーミスタの抵抗値とB定数の実測値(55℃編)

---------

補足1 使い方によっては自己発熱による温度上昇の方が誤差より大きくなることがあります。どういう条件でどのくらいの自己発熱があるかは

  「サーミスタ温度測定の精度と誤差 - 熱放散定数と自己加熱

にあります。

補足2 上の2.、3. は今回は5℃から65℃の範囲でやっているのでB定数の近似式として1次式を使っていますがより広い温度での測定が必要な場合は多項式あるいは折れ線で近似する必要があるでしょう。

補足3. 今回の実験結果は同じ状態においた測温抵抗体とサーミスタの温度差を示しています。実験の不手際で測温抵抗体とサーミスタに温度差ができてしまったところがあり、その場合グラフは誤差に実際に存在する温度差を加えたものになります。グラフにあるB定数が直線からはずれているところがそうです(25℃より下にあるコブ、10℃より下にあるコブ、0℃より下にあるヒゲ、25℃~50℃の範囲もほんのすこしですがずれています)

  「計測の腕が試される? サーミスタの抵抗とB定数の測定

補足4 この実験では温度測定に氷点で校正した測温抵抗体を使用しています。(25℃における、私なりの)測温抵抗体の不確かさの評価は以下のとおりです。
Photo_2

  「(白金)測温抵抗体(白金薄膜抵抗)の使い方 - 基礎編というか入門編というか....



 

  

==============

1. データシートにある25℃での抵抗値とB定数(25℃~55℃など)から

    T= 1 / (  ln(R/R0) / B + 1/(T0+273.15) ) - 273.15
    T = 1/  (  ln(R/10) / 3380 + 1/(25+273.15) ) - 273.15

1b

B定数の定義点(このサーミスタの場合は25℃と55℃)の範囲に近いところはそれなりの精度ですがそれを離れると誤差が大きくなります。

この計算方法でも本来25℃、50℃での誤差は0℃になるはずです。そうなっていないのはサーミスタの特性のばらつきが原因です。“はずれ”を引くと25℃で0.3℃、50℃では0.6℃の誤差が発生する可能性があります(ほんとにそんなにひどいのが混じっているとも思えませんが)

25℃のところで+0.1℃の差がありますがこれは基準となる25℃での抵抗値がこのサーミスタの場合公称値よりちょっと小さいためです。また50℃では+0.3℃程度の差がありますが、これはB定数が公称値より少し大きいためです。

もっとも気温、室温が度の単位までわかればいいという用途であれば別に問題ないでしょう。

高温側、低温側で誤差が大きくなっていますが、これは一般的な傾向です。このサーミスタの場合この方法だと120℃で+4℃程度、-40℃で+3℃程度の誤差が出ます。

2. 25℃での抵抗値とB定数(25℃~55℃など)と抵抗値の典型値から

    T= 1 / (  ln(R/R0) / B(T) + 1/(T0+273.15) ) - 273.15
    T= 1 / (  ln(R/10) / (2.2803*(T-55) +3380 )+ 1/(25+273.15) ) - 273.15

2b

B定数を一次式で近似しただけですがかなりの改善が見られます。
このグラフの温度の範囲であれば“あたりを引けば”誤差は-0.1℃~0.1℃に収まるはずですが、そういうことは現実にはあんまりないでしょう。

でも手間をかけずに比較的正しい温度が得られるのでおすすめの方法です。

メーカーの資料をもとに予想すると-40℃でも誤差はほとんど変化しませんし、125℃でも-2℃程度におさまるはずです。

これも公称値、データシートをもとに温度を算出していますので25℃で+0.1℃、50℃で+0.3℃差が出るのは1.と同じです。

3.  実測値から

    T= 1 / (  ln(R/R0) / B(T) + 1/(T0+273.15) ) - 273.15
    T= 1 / (  ln(R/9.9560) / (1.9731*(T-50) + 3394.6 )+ 1/(25+273.15) ) - 273.15
    (この式は今回の実験に使った個体でのみ意味のある式です)

3b

誤差の傾向は(同じ計算式を使っているので)2.とあまり変わりません。でもこの方法は実測値を使っているわけですから誤差は必ず0.0の両側に同じように出ます。60℃以下で実測値とよく合うような係数を使っておりこのグラフの範囲では誤差がとても小さいです。
何度でどの程度の誤差があるかもある程度は予想できます。

ただ実測はたいへんです。特に正確な温度が測れる温度計が必要というところが高いハードルになります(「計測の腕が試される? サーミスタの抵抗とB定数の測定」)

さらにサーミスタと温度計が同一の温度になっているかというのも問題です。温度を徐々に上げた(下げた)場合(それがどの程度かは別として)必ず温度差が発生します(「サーミスタのメーカー資料についての素朴な疑問 - 温度と抵抗値(B定数)」の後半)

この方法は実測値をもとにしていますので実測した以外の温度範囲で誤差が大きくなるリスクがあります。そういう意味ではB定数の温度係数を決めるときは2.の方式とかけ離れた値にならないように調整した方が安心かもしれません。

上のグラフは“実際の温度との誤差”のつもりですが、“実際の温度”を測定している測温抵抗体の拡張不確かさ(k=2)は±0.058℃と評価しており、このレベルになると何が“実際の温度”なのかよくわからなくなります。ただ測温抵抗体n直線性が優れていることを考えるとこの方法でもなにがしかの誤差があるのは確かです。

いつも書くのですが、ここまでやるんだったら測温抵抗体(秋月で売っている白金薄膜抵抗)を使った方がよっぽどいいと思います。
  「(白金)測温抵抗体(白金薄膜抵抗)の使い方 - 基礎編というか入門編というか....

--------

関連

記事一覧(測定、電子工作、天文計算

サーミスタについて
  「B定数について
  「B定数の温度特性
  「抵抗値-温度変換計算の精度と誤差
  「熱放散定数と自己加熱
  「製品のばらつきによる不確かさ
  「B定数の近似式の作り方
  「ADコンバータと定電流源の内部抵抗
  「Steinhart-Hart式 - サーミスタの温度抵抗値変換の近似式
  「氷点下のサーミスタの特性と測温抵抗体(白金薄膜抵抗)による温度測定

  「サーミスタの抵抗値に見る村田製作所の驚くべき温度測定能力
  「サーミスタのメーカー資料についての素朴な疑問 - 温度と抵抗値(B定数)

  「サーミスタの抵抗値とB定数を実測する(25℃編)
  「サーミスタの抵抗値とB定数の実測値(55℃編)
  「計測の腕が試される? サーミスタの抵抗とB定数の測定

  「PICで作るお手軽サーミスタ温度計 (2) - ソース付き
  「チップ(表面実装)サーミスタのハンダ付けのときの温度を測ってみた

  「-75℃でのサーミスタ抵抗値を測ったら1.8MΩだった

(白金)測温抵抗体について
  「(白金)測温抵抗体(白金薄膜抵抗)の使い方 - 基礎編というか入門編というか....

温度センサについて
  「PICで作る温度計のセンサー比較(I2C/SPI温度センサ、サーミスタ、熱電対、白金測温抵抗体、pn接合など)
  「温度センサ(サーミスタ・熱電対・(白金)測温抵抗体)の誤差

“温度”について
  「正確な温度を求めて (1)
  「氷点 - 摂氏0度の作り方

« 計測の腕が試される? サーミスタの抵抗とB定数の測定 | トップページ | サーミスタ温度測定の精度と誤差 - 熱放散定数と自己加熱 »

趣味の実験」カテゴリの記事

コメント

こちらでの計算処理方法をまとめてみます。

・サーミスタ(手持ちのセミテック502AT)を0.1mA定電流駆動。
・16bitA/Dコンでサーミスタ両端の電圧を測定して、抵抗値を算出。
・セミテックが公開している5℃ピッチの抵抗値データをテーブルに。
  (この抵抗値を神様とする。
   測定した抵抗値がこの値なら計算温度もジャストとなる)
・測定抵抗値が5度ごとの抵抗値テーブルの、何度と何度の間に入って
 いるかをサーチ。
  (バイナリサーチで高速化 最大でも5回の比較)
・二つの温度とテーブルの抵抗値からその区間のB定数を計算。
  (5度スパンになるので25~55℃や25~85℃より偏差がなく、
   抵抗値がジャストだと、温度計算結果もジャストとなる)
・サーチした温度、そして計算したB定数、それと測定抵抗値から
 温度を計算。

こんな処理です。
測定抵抗値が5度ごとの抵抗値表と一致したとき、サーチした温度と
同じ温度計算値が返ってきます。

必要なのは温度と抵抗値の表で公開されたB定数は使いません。
B定数はそのつど、表から計算します。

浮動小数点での演算が連続しますが、16MHzで動くArduinoでもいがい
と時間がかかりませんでした。

わざわざ詳細をお教えいただきありがとうございます m(._.)m
このことに関連して.....
実際に抵抗値を測ってB定数を求めてみて、それがとてもむずかしいことに気がつきました。ln()の関数になっているからでしょう。となるとメーカーの抵抗値データからB定数を計算してプロットしてもきれいな直線/曲線にならないのはあたりまえの話と思えてきました。
ということでB定数を温度の関数と考えてそれから抵抗を求めるのはぜんぜん問題ないと思っています。

それから補償導線の送料はお送りするのが昨日になってしまいました。すみません m(._.)m

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1994983/60484223

この記事へのトラックバック一覧です: サーミスタで正確な温度を求める方法 - 抵抗値-温度変換計算の精度と誤差:

« 計測の腕が試される? サーミスタの抵抗とB定数の測定 | トップページ | サーミスタ温度測定の精度と誤差 - 熱放散定数と自己加熱 »

フォト

サイト内検索

  • 記事を探されるんでしたらこれがいちばん早くて確実です。私も使ってます (^^;; 検索窓が表示されるのにちょっと時間がかかるのはどうにかしてほしいです。

新着記事

リンク元別アクセス数

  • (アクセス元≒リンク元、原則PCのみ・ドメイン別、サイト内等除く)

人気記事ランキング

  • (原則PCのみ、直近2週間)
無料ブログはココログ