B定数の近似式の作り方 - サーミスタ抵抗値温度変換計算の精度・誤差
サーミスタの抵抗値から温度を求めるときよく知られる
T= 1 / ( ln(R/R0) / B + 1/(T0+273.15) ) - 273.15
という式を使うと低温側、高温側で誤差が大きくなってしまうことを「サーミスタによる温度測定の精度 - 2 - B定数の温度特性」に書きました。
となるともっと精度のいい計算方法を考える必要があります。ここでは式自体は上の式を使うことにしB定数が温度の関数であるという考え方をとることにします。
抵抗値から温度を求める式を作ってもいいのですが抵抗値は温度の変化に伴って指数関数的な変化をします。これを近似式で表すとすると“抵抗値の対数をとって.....”というようなことになります。一方B定数は温度に対する変化はおおむね線形なのでこちらの方が簡単です。
具体的にどうやって近似式を作るかを考えてみました。題材にするのは村田製作所のNTCサーミスタNCP18XH103F03RB です。
なおこの記事で言うサーミスタの(温度の)許容誤差というのはサーミスタ個々の特性のばらつきによって発生する誤差の最大値のことで、メーカーの資料にある各温度での抵抗の上限・下限値を温度に換算したものから算出しました。詳細は「サーミスタ温度測定の精度と誤差 - 製品のばらつきによる不確かさ」にあります。
それからこの記事は実測をせずメーカー資料の温度抵抗値のみを使って温度測定を行うことを前提としています。このことについては気をつけていただきたいことがあるので記事の最後に追記しました。
=====
温度によるB定数の変化を見ると折れ線になっているように見えます。特に 60℃あたりではっきり折れ曲がっています。
ひとまず二つの一次式を“ある温度”でつないだものを近似式として使ってみることにします。
適当に二つの一次式と接続点の温度の五つの係数(ただし二つの一次式がつながっているという条件から独立な係数は四つです)を決め全温度範囲でB定数を計算し、さらにB定数から温度を求め残差を計算します。残差が最小になるような係数を決定します。
ここでB定数で残差を計算しないのはB定数の温度に対する感度係数が異なるからです。だからB定数に感度係数でウェイトをかけたもので残差を計算してもいいとは思います。
-------
こうやって求めたNCP18XH103F03RB のB定数の近似式はこうなりました。
61.83℃未満
B = 3266.9 + T * 2.233
61.83℃以上
B = 3404.9 + T * 1.276
B = 3404.9 + (T-61.83) * 1.276
この近似式を使ってメーカーの資料をもとに抵抗値から温度を計算しどの程度の誤差が出るか調べてみました。
計算結果の数値を誤差の大きい順に並べたもの
全温度範囲(-40℃~125℃)で誤差は±0.04℃に収まっています。製品特性のばらつきの影響はもっとも小さい25℃でも±0.27℃ありますから校正なしでサーミスタによる温度測定を行うのであればこの近似式でまったく問題ないと思います。
誤差が大きいところは-40℃、125℃の両端と0℃、100℃、60℃付近です。高温側はもともと許容誤差も大きくなる(125℃では±1.8℃、60℃でも±0.7℃)のでぜんぜん気にならないのですが、低温側がちょっと大きいです。それでも0℃で許容誤差±0.46℃に対し誤差0.04℃ですから実用的に見れば特に大きな影響があるわけでもありません。
現在できるだけ広い温度範囲で抵抗値を実測するというのをやっていますので、その結果をもとにあらためて近似式の作り方の妥当性を検討したいと思っています。
--------
たいせつな補足
この記事はサーミスタで校正を行わずにできるだけ正確な温度測定を行うことを目的にしています。もし実測値をもとに温度測定を行うのであればこの記事にはとらわれない方がいいと思います。
メーカ資料の温度・抵抗値からB定数を算出し40℃~100℃をグラフにするとこうなります。
60℃あたりで折れ曲がっています。この記事もこのことを前提にしています。
ところが(40℃~70℃の範囲だけですが)B定数の実測結果はこのようになっています。
60℃付近には折れ曲がったところはありません。70℃以上のところにそれがあるのかもしれませんが、少なくとも“60℃でB定数の温度係数は変化する”と決めつけるのは間違っていることがわかります。
実測値から近似式を作るのであれば、どこで折れ曲がっているかわからない、あるいは、全温度範囲でB定数の温度係数は一定、という可能性も前提に考えた方がいいと思います。
B定数の温度係数がある温度で突然変化するというのはそこで相転移が起きたというような場合ではないかと思います。なぜそういうことになるのかよくわかりません。
--------
関連
「記事一覧(測定、電子工作、天文計算)」
サーミスタについて
「サーミスタで温度を測る - 温度と抵抗値の相互変換 - B定数について」
「サーミスタによる温度測定の精度 - 2 - B定数の温度特性」
「サーミスタで正確な温度を求める方法 - 抵抗値-温度変換計算の精度と誤差」
「サーミスタ温度測定の精度と誤差 - 熱放散定数と自己加熱」
「サーミスタ温度測定の精度と誤差 - 製品のばらつきによる不確かさ」
「B定数の近似式の作り方」
「ADコンバータと定電流源の内部抵抗」
「Steinhart-Hart式 - サーミスタの温度抵抗値変換の近似式」
「サーミスタの抵抗値とB定数を実測する(25℃編)」
「サーミスタの抵抗値とB定数の実測値(55℃編)」
「計測の腕が試される? サーミスタの抵抗とB定数の測定」
「PICで作るお手軽サーミスタ温度計 (2) - ソース付き」
「チップ(表面実装)サーミスタのハンダ付けのときの温度を測ってみた」
(白金)測温抵抗体について
「(白金)測温抵抗体(白金薄膜抵抗)の使い方 - 基礎編というか入門編というか....」
温度センサについて
「PICで作る温度計のセンサー比較(I2C/SPI温度センサ、サーミスタ、熱電対、白金測温抵抗体、pn接合など)」
「温度センサ(サーミスタ・熱電対・(白金)測温抵抗体)の誤差」
“温度”について
「正確な温度を求めて (1)」
« サーミスタ温度測定の精度と誤差 - 製品のばらつきによる不確かさ | トップページ | ADコンバータと定電流源の内部抵抗 - サーミスタ温度計の精度・誤差 »
「趣味の実験」カテゴリの記事
- 100Ω抵抗器の端子間で発生した火花放電(沿面放電)(2018.07.18)
- Amazonで買った「400000V高電圧発生モジュール」の出力極性(2018.07.15)
- 高電圧モジュールの放電開始電圧 - 針状電極間の放電(2018.07.11)
- 高電圧モジュールの放電開始電圧 - 円筒電極と針状電極(2018.07.09)
- 放電開始電圧をパッシェンの法則から知る(2018.07.07)
この記事へのコメントは終了しました。
« サーミスタ温度測定の精度と誤差 - 製品のばらつきによる不確かさ | トップページ | ADコンバータと定電流源の内部抵抗 - サーミスタ温度計の精度・誤差 »



コメント