susurri / thermistor

Arduino library for thermistors sold at Akizuki-denshi

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Arduino 用のサーミスタライブラリー

秋月電子通商で購入できる NTC サーミスタを Aruduino で利用するためのライブラリーです。 以下の型番をサポートしています。

  • Murata NXFT15WF104FA2B
  • Murata NXFT15WB473FA2B
  • Semitec 103AT

NXFT15XH103FA2B は後述のフィッティングがきれいにできなかったので サポートしていません。メーカーの提供している抵抗温度特性表が 間違っている可能性が高いと思われます。

使用方法

直列に抵抗を入れて抵抗分圧を測定する回路を想定しています。 直列に入れる抵抗は精度の良いものを使用してください。 抵抗とサーミスタにかける電圧を AREF に入れます。 ライブラリーの使用例は examples/thermistor/thermistor.ino にあります。抵抗値(K Ohm) とピン番号を引数にして Thermister_型番 クラスの インスタンスを生成します。readTempC() メソッドで温度(摂氏)が返ります。

解説

B 定数

抵抗温度特性表から B = log (r/r0) / (1/(t+k0) - 1/(t0 + k0)) の関係式より B 定数温度特性表を作成し、 B 定数を温度の関数としてフィッテイングします。1次関数ではなく2次もしくは3次 関数を用いています。 bConstant() メソッドに絶対温度を引数として与えると B 定数の値が返ります。

温度

読み取った抵抗値 r から温度 t を求めるには t = 1 / (log (r/r0) / B(t) + 1/(t0 + k0) ) - k0 を解けば良いのですが、ここでは数値的な近似解を求めています。 readTempC() の中の iteration で、温度差が 0.01度より小さくなった時点で 打ち切りにしています。

参考

About

Arduino library for thermistors sold at Akizuki-denshi

License:Other


Languages

Language:C++ 100.0%