簡単温度計測
(2000-7-17)
■ きっかけ
- 実際に DS18S20 とシングルチップマイコン(MC67HC11)でインターフェースした経験ではデジタルスコープが必須でしたね。また、リアルタイム OS でない FreeBSD では正確な高速タイミングを生成できないので、プリンタポートなどを利用してインタフェースするのは至難の技です。
- 今回は気楽に 232C で温度が取り込めるようにしてみました。
■ 回路
- DS18S20 というのは小型トランジスタの形状をしており、3 本の足があって i/O 端子から電源を供給する方法を取れば、2本の線の接続で温度の計測が可能です。
- また、入出力をデジタルで行う結果、アナログ補正等が不要です。しかし、ダイレクトに DS18S20 とインターフェースしようとすると、極めて面倒なタイミング調整を要します。
- DS9097U-09 を利用すると、面倒なタイミング調整が省けるばかりでなく、RS-232C でのインタフェースが可能になります。
- 接続を下に示します。
- DS9097U-09 というのは、写真のような形状をしており、内部には DS2480 というチップが入っています。
- 温度センサー(DS18S20)との接続はモジュラジャック(RJ-11/6P)で接続されますから、6 芯ケーブルの先に DS18S20 を(必要ならばコネクタを付けて)接続します。(実際に、使用するのは 2 本のみです)
- -20 度から +85 度程度まで、0.5 度(分解能および精度)の誤差で計測が可能です。
- 接続に関するピンアサインやコマンドについての詳細は、データシートを読んで下さいね。
- 電話線(4芯ケーブル)での接続参考図
- プログラム
- ソースプログラムは t.c です。起動すると温度を表示するだけですが、適当に改造してみて下さい。
- 参考までに、 Makefile も置いておきます。
- 動作環境として FreeBSD(3.3R/4.0R/4.4R) での確認はしています。
■ コメント
- サーバがあればその部屋の温度が分かるという意味では、かなり便利になりました。
- Windows 用ならば www.vector.co.jp に幾つか、この IC を使ったフリーの計測プログラムがあったような。