« 100Ω±0.1%の精密抵抗の抵抗値を測ってみた - 定電流回路と20.6bitADコンバータMCP3553を使う | トップページ | SDカードでエラーが起きる理由 - PICでSPI »

2015年5月28日 (木)

サーミスタで温度を測る - 温度と抵抗値の相互変換 - B定数について

最近“温度オタク”的記事ばかりなのでそれぞれのセンサーについて基本的な(系統的な)記事も書いておこうと思います。最初はサーミスタです。今回は計算用のExcelファイルも用意しました。

サーミスタのメリット

  意外と正確(確度がある)
    温度によっては測温抵抗体にせまる確度があります。
    室温くらいだと熱電対と比べるのは失礼なほど。
    (参考「温度センサ(サーミスタ・熱電対・(白金)測温抵抗体)の誤差」)

    実測データをもとにすると簡単な変換式でも60℃以下であれば
    ±0.1℃くらいまで行けます(ただし変換式の係数を決めるのがけっこう手間です)
    「サーミスタで正確な温度を求める方法 - 抵抗値-温度変換計算の精度と誤差

  分解能が高い
    素人には測温抵抗体で0.01℃の分解能はかなりきびしいのですがサーミスタなら朝飯前。
    分解能が高いのであって±0.01℃の確度があるわけではありません。念のため。

  回路が簡単、測定が容易
    抵抗の温度係数が大きい(25℃で4%つまり40000ppm/Kと測温抵抗体の10倍)ので
    比較的簡単な回路ですみます。
    (参考「PICで作るお手軽サーミスタ温度計 (2) - ソース付き」)

他のセンサーとの比較は

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

にあります。

======

サーミスタにもいろいろ種類があるのですがここでは温度測定に適しているとされる村田製作所のNTCサーミスタから NCP18XH103 を取り上げます。

サーミスタの特性は抵抗値R0とB定数で決まります。

R0はある特定の温度T0でのサーミスタの抵抗値です。 NCP18XH103 では“ある特定の温度”T0は25℃が使われ、そのときの抵抗値はR0=10000Ωです。

B定数は次の式で表されます。

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

ここでT0、R0は上に書いた25℃(上の式では 298.15Kを使います)であり、そのときの抵抗値です。ある温度Tでの抵抗値Rを上の式に代入すればB定数が求まるわけですが、この“ある温度”Tはデータシートに書いてあります。 NCP18XH103 ではT=50℃(上の式では 323.15Kを使います)とそのときの抵抗値Rで計算したB=3380Kが表示されています。

--------

例えば測温抵抗体の特性は温度係数で示されます。サーミスタではなぜ温度係数を使わないかと言うと温度係数は温度によってはげしく変化するからです。一方上のように定義されたB定数は(温度の関数ではあるものの)比較的温度に依存しない値になります。

より精度の高い温度測定ではB定数の温度変化を考慮する必要があるのですが、今回は“入門編”なのでB定数は温度に無関係に一定であるということで先に進みます。

------

ふたたび

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

の式に戻ります。

lnは自然対数ですので計算するときは注意します。cであればlog()、Excelであればln()です。またT、T0は熱力学温度です。℃の値を使いたいときは273.15を加えておく必要があります。

さて上の式を次のように変形します。

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

これでサーミスタの抵抗値から温度を求める関係式が求まりました。T、T0は熱力学温度ですので℃だと

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

ということになります。

余談ですが村田製作所秋月電子通商の資料では273.15ではなく273となっています。これはサーミスタで小数点以下の温度を測るのはムリと言いたいのだと思います。

今度は温度から抵抗値を求める式を作ります。

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

これも℃で表すと

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

ということになります。

以下実際に計算した結果を示しますが、計算に使用したExcelファイルもダウンロードできるようにしました。
  「ダウンロード Thermistor-01.xls (43.5K)

温度-抵抗値の関係
Photo

抵抗値-温度の関係
Photo_2

-------

上の表では抵抗値[kΩ]は小数点以下二桁、温度は小数点一桁まで示してありますが、これはどこまで信用できるものなのでしょうか。

例えば5℃での抵抗値は22.59kΩなのか、22.6kΩと考えるべきか、それとも23kΩ、あるいは20kΩと受け取るべきなのか?

(「サーミスタによる温度測定の精度 - 2 - B定数の温度特性」、「サーミスタ温度測定の精度と誤差 - 熱放散定数と自己加熱」などに続きます)

--------

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

関連

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

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

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

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

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

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

“素人”でもできる校正について
  「氷点 - 摂氏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 測定方法

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

« 100Ω±0.1%の精密抵抗の抵抗値を測ってみた - 定電流回路と20.6bitADコンバータMCP3553を使う | トップページ | SDカードでエラーが起きる理由 - PICでSPI »

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

コメント

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

トラックバック

« 100Ω±0.1%の精密抵抗の抵抗値を測ってみた - 定電流回路と20.6bitADコンバータMCP3553を使う | トップページ | SDカードでエラーが起きる理由 - PICでSPI »

フォト

サイト内検索

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

新着記事

リンク元別アクセス数

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

人気記事ランキング

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