« PIC32MX250F128Bの“32bitタイマーと割込み”の使い方をデータシートで考える | トップページ | (事実誤認記事)じつはT型のような気がする秋月のK型熱電対 »

2015年6月11日 (木)

サーミスタ - B定数の温度係数(特性と誤差) - 温度測定の精度

昨日居酒屋ガレージ日記さんからコメントをいただいたのでブログを拝見しにうかがいました。そうしたら最新記事が「居酒屋ガレージ日記 - 温度測定:サーミスタで」になっていました。

これはうかうかしてはいられないと思って先日の記事の続きを用意していたら今日「居酒屋ガレージ日記 - サーミスタのB定数」という記事がアップされていました。

-------

じつはこれから書く記事はサーミスタのB定数、それも温度特性に関するものなのです。
居酒屋ガレージ日記さんの記事をパクったんじゃなくてほんとに偶然なんですが信じてもらえるかなあ....

========

データシートにあるR0(基準抵抗値、ふつう25℃における抵抗)とB定数からサーミスタの抵抗値を求める式と計算結果について書きました。

あくまで計算値であって実態とどの程度の相違があるか気になります。「サーミスタで温度を測る - 温度と抵抗値の相互変換 - B定数について」の記事で取り上げたNCP18XH103 については村田製作所から“典型値”というものが示されています。まず計算結果と抵抗値がどのくらい違うか調べてみます。
Photo

こうやってグラフだけ見るとぜんぜん違ってないように見えなくもないですが、抵抗値が問題ではなく抵抗値から求めた温度が問題なわけですから、抵抗値から求めた温度が実際の温度とどのくらい違うものかを上の結果をもとにグラフにしてみます。
Photo_2

とうぜん25℃と50℃ではぴったりあいます。それが基準抵抗値なりB定数の定義ですから。

25℃から50℃のあいだではわずかに低めに出ていますがそれ以外の温度ではこの範囲を離れるほど誤差がプラス側に大きくなっていきます。

-------

これの原因はデータシートにあるB定数が25℃、50℃の二点で決められていることにあります。B定数の定義は

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

ですからデータシートにある25℃~50℃の温度のペア以外で計算すればデータシートと異なる値になっても何も不思議ではありません。

B定数を典型値から求めグラフにしてみました。
B

ちょっとヘンなところもありますが60℃以下はだいたい直線になっていますのでここを直線と考えてB係数の近似式を作ります(二次曲線で近似したらとか分割して近似したらということも考えられますが、この場合そんなことをしてもあんまり意味はないでしょう。このことについては記事の最後に書きます)

“意味がない”というのは言い過ぎだったかも。
他の誤差の要因を考えずにB定数のことだけ考えてしまうとそれがムダになることがあるかもしれない、と考えてください。


抵抗値/温度を計算する式のB定数として温度特性を加味したものを使って再度典型値と計算値の違いを確認してみます。
B_2

50℃以下ではほぼフラットになっています。この範囲で全体的にちょっと高めなのは近似の範囲をよくばって60℃まで広げたためでしょう。50℃以下で作りなおせば典型値の差はもっとつまりそうです。
60℃以上では差が大きくなっていきますがそれでもB定数の補正をしないものよりマシです。こういう簡単な近似式でもデータシートにあるB定数をそのまま使うより全体的な精度がかなり改善しそうです。

このサーミスタNCP18XH103では例えば次の式が使えます。5℃~65℃を重視した近似です。
    T= 1 / (  ln(R/10) / (2.2803*(T-55) +3380 )+ 1/(25+273.15) ) - 273.15


にあります。この問題に関するより詳しい検討は以下の記事にあります。

  「B定数の近似式の作り方
  「
Steinhart-Hart式 - サーミスタの温度抵抗値変換の近似式
  「
抵抗値-温度変換計算の精度と誤差

--------

ここでB定数の特性を徹底的に調べてより典型値との差を詰めていくというのはあんまりおすすめしません。サーミスタで測定する温度の誤差は他にもいろいろ原因があるからです。B定数の温度特性の影響を除去する方法をどこまで工夫するかは他の誤差要因とその誤差の大きさを評価しながらにした方がいいでしょう。

他の誤差要因ではもっともわかりやすいのは基準抵抗値の誤差です。NCP18XH103 の場合基準抵抗の誤差は±1%です。これがどのような影響を与えるかを考えてみたいのですが問題があります。

測温抵抗体の場合0℃での抵抗値が100.00Ωだったら100℃で138.51Ωになるわけですが、もし0℃での抵抗値が0.1%大きく100.10Ωだったら100℃での抵抗値も0.1%大きくなると考えます。サーミスタにこの考え方を適用していいのかというのがよくわかりません。

このことについてはその後メーカーの資料から推定することができました。
  「
サーミスタ温度測定の精度と誤差 - 製品のばらつきによる不確かさ

悩んでいると先に進めないので基準抵抗が1%大きくなったらどの温度でも抵抗値は1%大きくなるとして典型値との差を調べてみました。
R0

温度にもよりますが基準抵抗の誤差によって25℃で0.25℃程度あります。温度が下がれば誤差は小さくなりますが、上がるともっと離れていきます。

ただこの±0.25℃というのは決して悪い値ではないです。25℃だけに限って言えばこれは測温抵抗体(Pt100)で言えばClass Aの許容誤差に相当します。

それからこのことについて、じゃあ25℃での抵抗値を測って測定値を補正すればいいではないかという考えも湧いてきますが、これはたいていの方にはムリでしょう。そのためには25.0℃であることを正確に知ることができる温度計が必要になるからです。

(「サーミスタで正確な温度を求める方法 - 抵抗値-温度変換計算の精度と誤差」、
 「サーミスタ温度測定の精度と誤差 - 熱放散定数と自己加熱」に続きます)

--------

参考
  「村田製作所 - NTCサーミスタ

関連

“温度”について
  「正確な温度を求めて (1)

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

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

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

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

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

  サーミスタで正確な温度を測るコツ - 基準抵抗(R0)、B定数、熱拡散係数、...
  続・サーミスタで正確な温度を測るコツ - 基準抵抗(R0)、B定数、熱拡散係数、...

“素人”でもできる校正について
  「氷点 - 摂氏0度の作り方
  「体温計と魔法瓶で校正する白金測温抵抗体 - 36.5度編
  「脇の下恒温槽と体温計で白金抵抗温度計を校正してみた

恒温槽について
  「恒温槽 - 温度を一定に保つアルゴリズム - 1
  「データシートを読んで考えたPIC/PWMの使い方 - 恒温槽のヒータを作る

“測定装置”について
  「PIC+SPI+I2C 自記温湿度計+気圧計+8ch電圧計+周波数カウンタ(技術要素一覧)
  「PIC+SPI+I2C 自記温湿度計+気圧計+8ch電圧計のソース - main()

電圧の測定について
  「PICでI2C - ADコンバーター・MCP3425の使い方
  「PIC18F26K22でSPI - 8ch/ADコンバータ MCP3208の使い方(ソース付き)
  「22ビット(20.6bit)ADコンバータMCP3553の使い方

抵抗比を測定するための抵抗器について
  「精密抵抗のお値段 - 抵抗器の精度と価格の関係
  「金属皮膜抵抗と炭素皮膜抵抗の温度係数を測ってみた - まとめ
  「100Ω±0.1%の精密抵抗の抵抗値を測ってみた - 定電流回路と20.6bitADコンバータMCP353を使う」 (この記事)

定電流回路(電圧電流変換回路)について
  「RS232CインターフェスIC/MAX232Nで作るオペアンプ用正負電源 - 定電圧機能つき
  「思わぬところで見つけた負性抵抗 - 定電流回路(バイラテラル回路)

測定した結果を表示することについて(いずれもI2Cデバイスです)
  「I2Cのソース - PIC12F1822/16F1705/16F1938/18F26K22 - LCD(ACM1602)を例にして
  「I2C薄型液晶ディスプレイ(LCD)・AQM1602XAの使い方

測定した結果を保存することについて
  「PICでSPI SDカードを読み書きする

自己発熱について
  「サーミスタや白金抵抗温度計の自己発熱の影響を補正する方法

白金測温抵抗体(白金薄膜抵抗)について
  「(趣味の)白金抵抗温度計の製作 - 準備編
  「16bitADコンバータMCP3425とPICで作る白金抵抗温度計 - 1
  「Pt100(白金測温抵抗体)の校正状況 - 氷点=0.0℃編

熱電対について
  「熱電対起電力を直接測定できる22bit(20.6bit)ADコンバータMCP3553
  「ADコンバータMCP3425と計装アンプLT1167で作るK熱電対温度計 - オフセットの自動補正
  「熱電対による温度測定の課題 - K型+インスツルメンテーション(計装)アンプ編
  「熱電対の起電力の近似式 - 起電力と温度の相互変換」 (-20℃~120℃編)
  「熱電対の起電力の近似式 - 起電力と温度の相互変換 (250℃~1300℃編)

pn接合について

  電流-電圧の関係について
    「ログアンプ - ベース電流(IB)とベース電圧(VBE)の関係
    「pn接合の理想係数を測る

  温度係数
 pn接合順方向電圧(VBE)の温度係数を測ってみた(高精度版)
 pn接合の順方向電圧(VBE)と温度の関係 -1
 pn接合の順方向電圧(VBE)と温度の関係 -2 測定方法

放射温度計
熱力学温度計
    「記事一覧(測定、電子工作、天文計算」の表に参考となる資料へのリンクがあります。

« PIC32MX250F128Bの“32bitタイマーと割込み”の使い方をデータシートで考える | トップページ | (事実誤認記事)じつはT型のような気がする秋月のK型熱電対 »

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

コメント

サーミスタの温度計算について、実験方法をちょいとまとめてみました。
http://blog.zaq.ne.jp/igarage/article/4158/
これからハードを作って、ごそごそしてみます。

記事とZIPファイルの内容拝見しました。
居酒屋ガレージ店主さんも記事に書かれていましたがR0とB定数だけで温度を計算している方が多いですね。
私も以前はそうでしたが (^^;;
皆さん脳天気というかなんというか何かしら結果が数値でディスプレイに表示されると満足でそれがどのくらい正しいかには興味ないみたいです。
そういう意味では居酒屋ガレージ店主さんの実験の今後の展開に期待しています。

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: サーミスタ - B定数の温度係数(特性と誤差) - 温度測定の精度:

« PIC32MX250F128Bの“32bitタイマーと割込み”の使い方をデータシートで考える | トップページ | (事実誤認記事)じつはT型のような気がする秋月のK型熱電対 »

フォト

サイト内検索

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

新着記事

リンク元別アクセス数

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

人気記事ランキング

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