小型温度・湿度計 Ver2
【概要】
オペアンプ内蔵のPIC16F785を使って温度と湿度を計測できる小型のユニットの
改良版です。
先の温度湿度計では温度表示が分解能不足のため精度が悪くちょっと不満でした。
また湿度の対数変換の特性を調べた結果、かなり期待する特性とは異なっていて
直線性が全くありませんでした。
そこで、これらを改良すべく別のアイデアで作成しました。
一番の改良は湿度センサの駆動パルスを矩形波から擬似的な正弦波に変更した
ことです。
全体は同じようにオペアンプ内蔵のPIC16F785を使いましたので、PIC以外には
ICが不要ですから簡単な構成で小型にできました。
外観は下記のようになっています。
左下側に温度センサ(LM35DZ)
右側の青いものが湿度センサ(HS-15P)
実際に表示した例は下記のようになります。
温度はかなり精度が出るようになりましたが
湿度の精度も2-3%以内ですので実用には
できるでしょう。
【全体構成】
まず湿度センサに必要な1kHzの交流をPIC内蔵の電圧リファレンスの出力を
使って生成するように変更しました。この出力にはバッファアンプが入っていますので、
そのまま湿度センサに加えることができます。湿度センサを通した後の対数増幅と整流
を1個のオペアンプで実装しています。
さらに出力パルスを矩形波ではなく、電圧を5段階の電圧で100usecごとに切り替える
ことで、擬似的な(階段状の)正弦波にしました。
これで、すこし対数変換の特性が改善されました。
余ったオペアンプで温度センサの出力を増幅してA/D変換に入力することで十分の
温度分解能を実現しています。
【回路構成】
全体の回路は下図のようになっています。湿度センサは外部に実装しTP2,TP3に接続
するものとします。
温度センサは内蔵オペアンプで増幅した後、A/D変換するようにしています。
これで、2℃から50℃程度の範囲を10ビット精度で計測できますので、十分の温度分解能
が得られます。
温度、湿度センサ関連のアンプ部を回路図で表すと下図のようになっています。
まず温度センサにはよく使われているLM35DZを使い、2℃から10mV/℃で出力される
電圧をオペアンプで増幅した後、AN4に入力してA/D変換しています。10倍のアンプ
になっていますので、50℃のとき5.0Vとなりますから、2℃から50℃の温度計となることに
なります。この範囲を10ビット精度で計るので、分解能としては0.1℃以上となります。
実際の精度はセンサ自身の精度となります。
湿度センサについては、1kHz 1Vp-pの交流が必要となりますので、この信号をPIC内蔵
の電圧リファレンスモジュールで作成しています。この電圧リファレンスの出力をピンに
出すことができるようになっていて、さらにバッファアンプも内蔵されていますので
そのまま直接1Vp-pのパルスを出力できます。この出力をコンデンサで直流成分を
カットした後、直接湿度センサに加えることができます。
パルス出力を単に矩形波のパルスにするのではなく、内蔵リファレンスは電圧が可変
できますので、0.2Vから1.2Vまでの5段階で100usecにアップダウンを繰り返し、
階段状の擬似的な正弦波として出力しています。
湿度センサの抵抗で制限された電流をオペアンプで対数増幅すると同時に整流しています。
対数増幅はD3のダイオードの順電流が対数で流れるのを利用して負帰還をかけています。
この整流した結果をA/Dコンバータでデジタル変換し、ソフトウェアでスケール変換して
湿度に変換しています。
細かくいうと、湿度センサは温度により影響を受けますので、温度センサの温度で補正
する必要がありますが、今回は省略して約25℃のときのデータでスケール変換しています。
【外観】
組み立て完成した基板は下記のようになります。
PICだけで構成されていますから、すっきりしています。
アンプはPIC内蔵のものだけで済ませ
ましたからすっきりとしています。
★★★ 実装図ダウンロード
基板のハンダ面です。ここにDC/DC
コンバータが実装されています。
★★★ パターン図ダウンロード
【プログラム概要】
まず、電圧リファレンスで1kHz 1Vp-pの階段状のパルスを生成するため、
タイマの割り込みを使っています。100usec周期のタイマの割り込みにより、
0.2Vから1.2Vの電圧を0.2V単位でアップダウンさせることで、1kHz 1Vp-pの
階段状の正弦波信号を作成しています。
メインループはいたって簡単な構成で、一定時間間隔で温度と湿度を読み取り
スケール変換した後、液晶表示器に表示しているだけです。
湿度のスケール変換は対数変換で直線特性になっているはずですので、
そのままスケールを乗じているだけです。
市販の温度湿度計と比較したところ、温度はかなり高精度で計測できています。
また湿度も、30%〜70% くらいの範囲は数%の誤差で測れていますので
結構実用になると思います。
★★★ 温度湿度計Ver2 のプログラム一式