続・サーミスタで正確な温度を測るコツ - 基準抵抗(R0)、B定数、熱拡散係数、...
この記事はサーミスタでより正しい温度を求めるにはどうしたらいいかを書いたつもりだったのですが、この記事を読んだ方が同じことをするのはすごくたいへんだと思います。
精度を追求される方には
「サーミスタで正確な温度を求める方法 - 抵抗値-温度変換計算の精度と誤差」
をおすすめします。具体的な計算式や実際に測定した(算出した)結果を測温抵抗体と比較した精度・誤差のグラフがあります。
この記事を書いてからずいぶん経ち、ある程度まとまったものも書いてきましたので最新の記事を紹介させていただきます。
------
サーミスタの基本特性である基準抵抗とB定数から温度を求めるという基本的なところは
「サーミスタで温度を測る - 温度と抵抗値の相互変換 - B定数について」
にあります。サーミスタの抵抗値から温度を求める方法と温度=抵抗値の対照表があります。1℃の単位で温度がわかればいいということであればこの記事で十分です。
B定数の温度による変化を考慮してより高い精度で温度を測りたい場合は
「サーミスタによる温度測定の精度 - 2 - B定数の温度特性」
があり、また具体的な計算式や実際に5℃~65℃から測定した精度(誤差)を調べたものは
「サーミスタで正確な温度を求める方法 - 抵抗値-温度変換計算の精度と誤差」
にあります。R0とB定数だけではあんまり正確な温度が求まらないことがわかります。
自己加熱については
「サーミスタ温度測定の精度と誤差 - 熱放散定数と自己加熱」
製品特性のばらつきによる誤差については
「サーミスタ温度測定の精度と誤差 - 製品のばらつきによる不確かさ」
にあります。
PICで温度を測るときのプログラム例は
「PICで作るお手軽サーミスタ温度計 (2) - ソース付き」
にありますが、これはもっとも基本的な計算法を使っていますので精度が物足りないかもしれません。「サーミスタで正確な温度を求める方法 - 抵抗値-温度変換計算の精度と誤差」にある式を利用していただければ精度は向上します。
サーミスタによる温度測定で問題になる自己発熱については
「サーミスタの自己発熱・熱放散係数を測ってみた」
「(アルミ管入り)サーミスタの自己発熱・熱放散係数を測ってみた」
「(水中の)サーミスタの自己発熱・熱放散係数を測ってみた」
や
「サーミスタ/測温抵抗体の自己発熱(熱放散係数)の測り方」
に測定例があります。
-----
温度測定がしたいのであって特にサーミスタにこだわらないと言う方は
「PICで作る温度計のセンサー比較(サーミスタ、熱電対、白金測温抵抗体、...)」
「温度センサ(サーミスタ・熱電対・(白金)測温抵抗体)の誤差」
が参考になると思います。
精度にこだわるのであれば測温抵抗体(白金薄膜抵抗)がおすすめです。
「(白金)測温抵抗体(白金薄膜抵抗)の使い方 - 基礎編というか入門編というか....」
最初はちょっとめんどうかもしれませんが、一度作ってしまえば“この温度は正しいんだろうか?”なんて悩まなくてすみます。
(2015.06.23)
------
======
サーミスタでも工夫すればけっこう正確な温度を測ることができるということを「サーミスタで正確な温度を測るコツ - 基準抵抗(R0)、B定数、熱拡散係数、...」に書きました。
今回は具体的な測定方法や計算法について書きます。
まず測定は次のような方法で行っています。
電源電圧と抵抗の抵抗値はDMM・PC700による実測値です。
抵抗の許容誤差、温度係数とサーミスタの定数はデータシートによるものです。
それからサーミスタが二つありますがこれは設置方法が違います。
Th1は(できるだけ基板から熱が伝わらないような工夫はしてはありますが)単に空気中に放置したものです。Th2は水温を測るために作ったものでアルミのパイプの中に密封してあります。
この回路は電源電圧の影響をほとんど受けません。“ぜんぜん受けない”ではなく“ほとんど受けない”のは自己発熱の影響があるからです。
MCP3208というのはSPIインターフェースのADコンバータでこれをPICに接続し電圧を測り測定結果をSDカードにCSVファイルとして保存し、測定終了後PCに取り込んでExcelで分析しています(こうでもしないと何百回も測定を行うというのは面倒です)
「PIC18F26K22でSPI - 8ch/ADコンバータ MCP3208の使い方(ソース付き)」
「PIC/I2C大気圧センサーLPS331APの測定値をSDカード(SPI)に記録する - はじめに」
測定回路に使用する抵抗は手元にあるものの中でいちばん温度係数がちいさそうなものを使っています。
上の回路でサーミスタの端子電圧を測るとサーミスタの抵抗値を求めることができます。
サーミスタの抵抗値 = サーミスタ電圧 / ( (電源電圧 - サーミスタ電圧 ) / 直列抵抗
サーミスタの抵抗値がわかればそれから温度を求めることができます。
温度 = 1/(LN(サーミスタ抵抗値)/ 基準抵抗) /B定数 + 1/298.15) - 273.15
前記事の最初と二番目のグラフはこの方法で温度を算出しています。
最初のグラフはB定数にデータシートの値を使い、二番目のグラフは実測に基づくB定数を使っているところが違います。
次にサーミスタの自己発熱でサーミスタの温度がどれだけ上昇するかを計算します。
上昇する温度 = ((電源電圧 - サーミスタ電圧) / 直列抵抗 )^2
* サーミスタ抵抗値 * 1000 / 熱拡散係数
けっきょく
自己発熱を補正した温度 = サーミスタの抵抗値から求めた温度 - 上昇する温度
となります。
前記事三番目のグラフはデータシートにあるB定数と実測値から求めた推定熱拡散係数から求めた自己発熱を補正した温度、四番目のグラフは推定B定数と推定熱拡散係数から求めた自己発熱を補正した温度です。
熱拡散係数はサーミスタの設置方法によって変化します。実際には熱拡散係数を求めるより熱拡散係数の影響による測定値の変化を実測するほうが現実的です。より詳しいことは「サーミスタや白金抵抗温度計の自己発熱の影響を補正する方法」にあります。
電源電圧をそのままサーミスタの測定に使用している場合、分圧から抵抗値を求めているのであえば電源電圧の変化は一見関係なさそうに思えますが、実際は電源電圧の変動が自己発熱の変化として現れるので注意が必要です。私の今の測定回路では電源電圧の変動は温度が数十度変化しても数mVしかないので無視していますが。
最後にB定数を温度の関数として考えます。
温度補正をしたB定数 = B定数 + 温度係数 * ( 温度 - 25 )
ここで言う“B定数”はデータシートにある“摂氏25度~85度でのB定数”ではなく摂氏25度でのいわば“微分B係数”です。データシートにあるB定数よりかなり小さくなると思います。温度補正をしたB定数というのは25度~測定温度でのB定数ということになります。
便宜上、実際にはこのようにしています。
温度補正をしたB定数 = B定数 + (擬似?)温度係数 * ( サーミスタ電圧 - 電源電圧/2 )
“電源圧/2”というのは、サーミスタの25度のときと抵抗値がだいたい1/2になる抵抗を直列に接続し電源電圧(3.3V)をかけて分圧を測定しているからです。
以上をもとにB定数、自己発熱係数、基準抵抗、温度係数を使ってもためた温度をグラフにしたものが五番目の最後のグラフ(下図)になります(ここで使う係数はすべて実測から求めた推定値になっています)
Th1 R0= 9.95kΩ、 B=3284K、 熱拡散係数=1.50mW/K、 B係数の温度係数=-105K/V
Th2 R0=10.03kΩ、 B=3099K、 熱拡散係数=0.28mW/K、 B係数の温度係数=-167K/V
-----
ところで以上の前提として正確な温度を知ることができなければなりません。不確かさが明示された温度計は持っていないので、この実験では白金薄膜抵抗を使って作った温度計が表示する温度を“正しい温度”として扱いました。
この温度計は摂氏0度(氷点での温度測定)と摂氏36.5度(不確かさ0.05度の体温計と比較)で校正してあります。これ以外の温度も計算式で求められるのでこの実験に使える程度の精度はあると思います。
なおTh2を収めたアルミパイプとこの白金薄膜抵抗を収めたアルミパイプはいっしょにしてゴムバンドで固定してあります。Th1の方は(むき出しで)それができないのでできるだけこれらと近い場所におくようにしただけです。
上の図でTh2の方が“良好な結果”が出ていますがこれが原因だと思います。
実験データは明らかに測定データがあやしいもの(これは設置場所を変えたり窓を開けて急激に温度が変化したとき発生します)は除いてありますが、多少ヘンでもその理由がわからないものは除かずそのまま使っています。
「正確な温度を求めて (1)」
「氷点 - 摂氏0度の作り方」
「(趣味の)白金抵抗温度計の製作 - 準備編」
------
「サーミスタで正確な温度を測るコツ - 基準抵抗(R0)、B定数、熱拡散係数、...」
「続・サーミスタで正確な温度を測るコツ - 基準抵抗(R0)、B定数、熱拡散係数、...」
サーミスタ温度計の精度を調べる - 1
サーミスタや白金抵抗温度計の自己発熱の影響を補正する方法
PICで作るお手軽サーミスタ温度計 (1)
PICで作るお手軽サーミスタ温度計 (2) - ソース付き
“ふつう”のサーミスタをウィーンブリッジ発振器のリミッタ(振幅制限)に使う方法
“ふつう”のサーミスタをウィーンブリッジ発振器のリミッタ(振幅制限)に使う方法 (2)
趣味の電子工作
PIC
趣味の気象観測
趣味の実験
« サーミスタで正確な温度を測るコツ - 基準抵抗(R0)、B定数、熱拡散係数、... | トップページ | GPS/RTC(DS3234)の1PPS出力を利用した超高精度周波数カウンター »
「趣味の気象観測」カテゴリの記事
- 地震計を作る - 超音波距離計の応用 - プロトタイプ(2016.02.03)
- 超音波風速風向計の製作 - 回路構成(2016.02.02)
- 超音波風速計の製作 - 気温・湿度に依存しない測定方法(2016.02.02)
- I2C温湿度センサーAM2321の湿度を通風(熱電対)乾湿球湿度計とくらべてみた(2015.06.04)
- 通風乾湿球湿度計を熱電対とありあわせの材料で作ってみた(2015.06.04)
この記事へのコメントは終了しました。
« サーミスタで正確な温度を測るコツ - 基準抵抗(R0)、B定数、熱拡散係数、... | トップページ | GPS/RTC(DS3234)の1PPS出力を利用した超高精度周波数カウンター »
コメント