サーミスタとは?

サーミスタは温度によって抵抗値が変化するデバイスです。温度が上昇するときに抵抗値が減少するNTCサーミスタと温度が上昇するときに抵抗値が上昇するPTCサーミスタがあります。売っているものはNTCサーミスタが多いイメージです。

サーミスタの抵抗値を温度に変換する

抵抗値を温度に変換するには近似式を用います。変換式は以下のような感じです。

\[\begin{align*} R = R_0\exp \left\{ B\left(\frac{1}{T} - \frac{1}{T_0}\right)\right\} \end{align*}\]

それぞれの記号の意味は以下の表のようになっています。

記号 意味
\(R\) 測定した抵抗値
\(R_0\) \(T_0\)における抵抗値(基準抵抗)
\(T_0\) 基準温度
\(B\) \(T_0\)におけるB定数
\(T\) 温度

温度の単位はすべてケルビンである。

大事なことなので2回目です。

温度の単位はケルビンです

先程の式は温度から抵抗を求める式になっているので、抵抗から温度を求める式(左辺を\(T\)にする)に変形していく。

まずは\(R_0\)を左辺に移項する。

\(\begin{align*} \frac{R}{R_0} = \exp \left\{ B\left(\frac{1}{T} - \frac{1}{T_0}\right)\right\} \end{align*}\) となる。\(\exp\)を消したいので、両辺を自然対数を取る。右辺の\(\exp\)は消えるので、

\[\begin{align*} \ln\left(\frac{R}{R_0}\right) = B\left(\frac{1}{T}-\frac{1}{T_0}\right) \end{align*}\]

となる。とりあえず、\(B\)を左辺に持っていく。

\[\begin{align*} \frac{1}{B}\ln\left(\frac{R}{R_0}\right) =\frac{1}{T}-\frac{1}{T_0} \end{align*}\]

\(1/T_0\)も左辺に持っていくと、

\[\begin{align*} \frac{1}{T_0} + \frac{1}{B}\ln\left(\frac{R}{R_0}\right) =\frac{1}{T} \end{align*}\]

となる。右辺と左辺を入れ替えると、

\[\begin{align*} \frac{1}{T} = \frac{1}{T_0} + \frac{1}{B}\ln\left(\frac{R}{R_0}\right) \end{align*}\]

となって、やっと温度が求められそうな雰囲気が出て来ました。最後に、逆数にすると、

\[\begin{align*} T = \frac{1}{\frac{1}{T_0} + \frac{1}{B}\ln\left(\frac{R}{R_0}\right)} \end{align*}\]

となって、抵抗値から温度が求まる感じになりました。

実際に計算してみる。

ここでは、実際に抵抗値から温度への換算を計算してみたいと思います。

例として、秋月電子で扱っているNTCサーミスタのNCP18WF104J03RB (村田製作所)を使用して計算します。

計算に必要なパラメータは以下の表のとおりです。

パラメータ
基準抵抗 100kΩ
基準温度 25℃
B定数 4250

ここで、このサーミスタ両端にデジタルマルチメータを接続して測定した抵抗値が89kΩだったとします。先程の式に代入すると、

\[\begin{align*} T & = \frac{1}{\frac{1}{273.15+25}+\frac{1}{4250}\ln\left(\frac{89\times 10^3}{100\times 10^3}\right)} \\ & = \frac{1}{\frac{1}{298.15}+\frac{1}{4250}\ln \left(0.89\right)} \\ & = \frac{1}{3.35\times 10-{-3} + 2.353\times 10^{-4}\ln \left(0.89\right)} \\ & = \frac{1}{3.35\times 10-{-3} + 2.353\times 10^{-4} \times \left(-0.117\right)} \\ & = \frac{1}{3.35\times 10-{-3} - 2.7420\times 10^{-5}} \\ & = \frac{1}{3.3323\times 10-{-3}} \\ & = 300.97 \\ \end{align*}\]

となります。ここで300.97は絶対温度なので、セルシウス度に換算するには273.15を引きます。したがって、

\[\begin{align*} 300.97 - 273.15 = 27.821 \end{align*}\]

として、89kΩはセルシウス度では27.821度でした。

補足1

温度がケルビンなの忘れて、セルシウス度で計算してたせいで、室温から動かねー…ってなっていたときに、ふと、ケルビンだったのを思い出したことにイライラしてこの記事を書いてます。

補足2

サーミスタと似たようなデバイスにRTD(Resistance Temeperature Detector)があります。日本語では測温抵抗体と言います。これはPt100とかPt1000とか規格が決まっていて、計算式も決まっていて、こっちのほうが圧倒的に便利です。温度計測ができるDMMでも大体はコイツラに対応しています。2-wire、3-wire、4-wireの抵抗計測から温度に変換しています。

サーミスタはB係数やら基準抵抗やら基準温度やらが物によって違うのが不便なんや。とはいえ、RTDは(お値段が)高いので、とりあえずの温度が測れればいいならサーミスタがいいと思います。ただ、室温付近(高くても60度程度)なら、ダイオードの温度特性を利用するほうが安いし、精度も安定度もいい気がします。