1.はじめに

最初に次回を話題にするのも如何なものと思いますが、次回はペットボトルを冷やすペットボトルクーラーを考えています。ペットボトルを冷やす実験を行うには、内部の温度を測る必要があります。最初は取り出して測っていたのですが、全く実験になりませんでした。そこでNo.91の電圧計をベースとして、写真1のような2CHの温度計を作ってみました。これで冷え具合が良く解るようになりました。

photo

写真1 このような2CHの温度計です。

2.回路

センサーにはよく使われる写真2のLM35DZを用いました。もっと新しいセンサーを使っても良いのですが、手元にある部品は使わなければなりません。他のセンサーでも使えますが、同じソフトは使えません。LM35DZは4~20Vの電圧で動作し、出力は温度によって0~1Vを出力します。0Vが0℃で1Vが100℃になります。アナログのメータで表示する事もできます。これを2個使用し、室温とペットボトルの温度を測るようにしました。センサーと基板間は距離があるため、ワイヤーで延ばすようにしています。

photo

写真2 センサーに使ったLM35DZです。

図1に回路を示します。センサーの出力はAVRに入力し、A/D変換してLCDに温度表示します。AVRにはTiny861を用い、基準にはLEDの電圧を使用するようにしました。表示は2行8文字のキャラクタタイプのLCDです。

photo

図1 全回路図になります。(※クリックすると画像が拡大します。)

3.作成

No.91ではヤドカリ方式として、単3形ニッケル水素を4本使うように作りました。しかし、温度測定は長時間連続で行う必要があるため、DC12Vを電源としました。そこで写真3のように、DCジャック変換基板をユニバーサル基板に載せる事にしました。このように考え、図2の実装図を作成しました。

photo

写真3 DCジャックは変換基板でユニバーサル基板に載せました。

photo

図2 先ず作製した実装図です。

最初は室温用のセンサーを基板上のLCDの裏においていましたが、時間と共に表示が上昇してしまいました。そこで基板の右上に移動したのですが、やはり上昇しました。基板の温度も上昇するようです。仕方なくここにもコネクタを付けて、5~6cmですがワイヤーを使って離すようにしたところ、外部用のセンサーとほぼ同じ結果がでるようになりました。なお、センサーは写真4のように3本のワイヤーをハンダ付けし、コネクタを使って基板に接続します。ハンダ部分には水が入らないようにエポキシ系の接着剤で密封しています。

photo

写真4 センサーのハンダ付け部分はエポキシ系の接着剤で密封しました。

写真5は基板が完成したところです。この時点では、まだセンサーがICソケットの右上にあります。写真6がハンダ面の様子です。写真7のアルミ板に2mmのカラーを写真8のように取り付け、写真9のようにユニバーサル基板を載せてハード的には完成です。センサーを含めて全体は写真10のようになります。

photo

写真5 基板が完成したところです。(この後で修正が入りますが・・)

photo

写真6 ハンダ面の様子です。

photo

写真7 アルミ板です。(皿ネジ用の加工をしています)

photo

写真8 2mmネジのカラーを使用しました。

photo

写真9 ユニバーサル基板をアルミ板に固定したところです。

photo

写真10 センサーと温度計です。

4.ソフト

ソフトはNo.91とほぼ同じで、電圧表示を温度表示にしました。基準にIC内部の1.1Vを使うのが良いのかと思っていましたが、これがどうしても動きません。結局No.91と同様に外部のLED両端の電圧を基準にしています。このため、あまり細かい値は読めないかと思っていましたが、写真11のように0.01℃単位で上昇する様子が測れました。これは、A/Dコンバータの値を1000回カウントして平均を出すようにしたものです。温度だからできるワザでしょう。このようにしても表示が遅いと感じる事はありません。特に1000回にした根拠もありません。LCDの表示がチラチラ変化し過ぎることがないように、タイマーを使って遅らせるより良い方法と思います。但し、相対的な差としては良いのですが、絶対的な値としては信用できません。また、あまりに細かいので、試した後は0.1℃ステップに戻しました。この写真11を行った時には、LCDの裏にセンサーを置いています。

photo

写真11 0.01℃単位でも表示できました。

温度の計算は簡単です。センサーは100℃で1Vを出力し、基準電圧は1.693Vです。これはデジタルテスターで測った値です。従って、100℃の時のA/Dコンバータの出力は(1V/1.693V)×1023=591となります。つまり591が100℃になりますので、A/Dコンバータの出力を5.91で割ると温度になります。他の値でも5.91で割れば良い事となります。あとは何回測定して平均値を出すだけですので、1000回の合計は5910で割ります。もちろんLM35DZの出力にも誤差はありますので、「正しい」温度計があれば補正すれば良いのです。

なお、ソフトはここに置いて起きますので参考にして下さい。

ソフトダウンロード

PCの環境はWindows® XPで、BASCOM AVRの製品版 VER.1.11.9.8を使ってコンパイルしています。パソコンもソフトも古くなってしまいました。書き込みはAVR ISPmkII ですが、基板のISP端子との接続には自作の変換ケーブルを使っています。これ以外の環境についての確認はしていません。

5.調整

ソフトでの温度調整を行うだけで、他には特段の注意点はありません。正しくは精度の高い温度計と比較して調整するのが良いと思います。A/Dコンバータは10ビットですので0~1023を数えます。これを平均化する事で0.01℃でも可能でした。温度の動きを見るのが目的ですから、細かさも大事ですが、0.1℃で十分と思います。センサーの直線性の確認も行い、温度によって係数を変えて補正できれば完璧と思いますが、目的としては十分でしょう。

ところで、LM35DZのデータシートを見ると温度によっても誤差がありますが、試してみるとそれ程ないようでした。精度の高い基準がないので、校正ができないという事情もあります。

6.使用感

このような温度計は、市販でも入手が容易で安価です。しかし、ペットボトルクーラーなどの実験には手作りの温度計が向いていると感じます。作って楽しく、使って楽しいというのは、やはり手作りが好きなのでしょう。