サーミスタを温度センサーとして利用し、温度計測回路を構成するケースがよくある。しかし、その計測温度範囲をセンサーの許容範囲全体にわたるほど広くしようとすると、1つの問題に突き当たることになる。
サーミスタはインピーダンスの高い抵抗性の素子であり、その抵抗値を電圧に変換するだけならば簡単である。しかし、その抵抗値の変化は非線形であるため、変換後の電圧値も非線形となってしまうのだ。
サーミスタの抵抗と温度の関係は、「Steinhart-Hartの式」によって表される(以下参照)。
ここで、Tは絶対温度(単位はK)、RTは温度Tにおけるサーミスタの抵抗値である。A0 、A1 、A2 はいずれも定数で、その値はサーミスタのメーカーから入手することになる。
サーミスタの抵抗値と温度の関係は上式に示されるように非線形である。温度を計測するには、サーミスタに一定の基準電流を供給し、それによって発生する電圧を温度を表す信号として取り出す。この出力電圧が非線形な応答になるわけだ。
この非線形特性の補正方法には次のようなものがある。まず、A-Dコンバータを用いて、出力電圧の値をデジタル化する。続いて、そのデジタルデータをマイクロコントローラに取り込む。その上で、ルックアップテーブルを用いて補正計算を行えばよい。ただし、この手法においては、A-D変換が全温度範囲に対応する広い電圧範囲で行われ、なおかつその分解能が十分に高くなければならない。
この点を改善するために、A-Dコンバータの前段に1つの線形変換回路を設ける方法がある。それにより、A-Dコンバータの分解能を低く抑えることができる。図1に示したのが、その補正回路の構成例である。
この回路では、抵抗RSERをサーミスタRTHERM に直列に接続している。その接続点の電圧をPGA(programmable gain amplifier:プログラマブルゲインアンプ)で増幅し、増幅後の電圧をA-D変換する。
ここで分解能が10ビットのA-Dコンバータを用い、PGAのゲインを1[V/V](つまり、PGAによる線形処理を行わない)に設定したとしよう。図1の例の場合であれば、この構成により±25℃程度の限られた範囲では高精度に温度を計測できる。しかし、温度が高くなると電圧の変化率が小さくなり、温度分解能が低下することになる。この入力の変化に対応してPGAのゲインを大きくする(例えば、8とする)ことにより、PGAの出力電圧を増幅して変化率を低温時と同様なものとし、A-D変換後のデータの温度分解能を所要のレベルに維持することが可能になる。
この方法では、PGAのゲインを切り替えるポイントで、図1のグラフにあるようなヒステリシスが発生する。とはいえ、これはマイクロコントローラのファームウエアにより除去できる。それには、まずファームウエアによってPGAのゲインの設定値をモニターするようにしておく。また、ヒステリシスが発生するポイントに対応するデジタルデータをあらかじめ内部に記憶しておく。その基準データと入力データを比較した結果に応じて、PGAのゲインを高低いずれか必要な方向に切り替えればよい。
なお、ここではゲイン切り替えを2段階としたが、必要ならば切り替え段数を増やすことも可能である。その場合、ファームウエアでは折れ線近似を用いた線形変換処理を行う。
Bonnie Baker
Bonnie Baker氏は「A Baker's Dozen: Real Analog Solutions for Digital Designers」の著書などがある。Baker氏へのご意見は、次のメールアドレスまで。bonnie@ti.com
Copyright © ITmedia, Inc. All Rights Reserved.