2017年6月7日水曜日

Raspberry Pi で温度測定

ラズパイマガジン2016年6月号と2017年2月号をみながら、
温度計を作成してみました。

回路と測定用のコードは、2017年2月号 p.21の下側(26番)そのままに作成しました。
コードはラズパイマガジン2017年2月号の読者限定サイトからダウンロードしてください
(書籍を購入すればわかります)。

使用したサーミスタは103AT-2で、[1]によると、25℃での抵抗値が10kΩ、B定数が3435K。

Wikipediaのサーミスタの説明[2]から、サーミスタの抵抗値Rから温度を求める式は、
\[\frac{1}{T} = \frac{1}{T_0} + \frac{1}{B}*\log(\frac{R}{R_0}) \ \ \ \ \ \cdots 式(1) \] となります。上記サーミスタの場合、\(T_0=25\)℃(=298K)、\(R_0=10000\)Ω、B=3435Kとなります。

ADコンバータは電圧をデジタル値に変換してくれるので、得られる電圧から抵抗値に
変換します。

[電源3.3V]→[サーミスタ]→*→[抵抗10kΩ]→[GND]
でつないでおり、抵抗の前後の電位差\(V_f\)が得られます(*の場所で測定、下の写真の緑色の線を参照)。
サーミスタ前後の電位差を\(V_s\)とすると、 \[V_s+V_f=3.3\] \[\frac{V_s}{R_s}=\frac{V_f}{R_f}\] より、 \[R_s=\frac{R_f}{V_f}(3.3-V_f)\] となります。(式1)の\(R\ \)に\(R_s\)を代入すると、測定値\(V_f\)から温度\(T\ \)が得られます。
なお、計算時の温度の単位はK(ケルビン)です。

以下は、作った回路の写真です(サーミスタにはピントが合っていないのでぼやけています)。


--- 参考URL ---
[1] http://akizukidenshi.com/catalog/g/gP-07258/
[2] https://ja.wikipedia.org/wiki/%E3%82%B5%E3%83%BC%E3%83%9F%E3%82%B9%E3%82%BF

0 件のコメント :