|
電子工作etc
【PIC16F88】
■温度計V2(温度制御機能付き)
★概要
以前に製作した、温度計(温度制御機能付き)は、次のような課題が残ってしまいました。
・温度センサーに、LM35DZを使用したので、測定温度範囲が、0〜100℃となり、0℃以下の測定が不可。
・閾値の上限制御機能は実装、下限制御機能は未実装。(mikroCの試用版の制限のため)
そこで今回は、これらの課題に対して、次のような施策を講じました。
・温度センサーに、 LM60を使用することにより、−25〜+125℃までを測定温度範囲とする。
・閾値の上限制御機能、下限制御機能共に実装。(mikroCの正式版を使用)
<LM60の主な仕様>
・従来のLM35ではマイナスの温度を出力するには負電源が必要でしたが、LM60は単電源で
マイナス/プラスの温度が測れます。
・出力形式:アナログ
:−40℃:174mV
:−25℃:268mV
:0℃:424mV
:+25℃:580mV
:+100℃:1049mV
:+125℃:1205mV
・動作電圧:DC2.7V〜10V
・測定範囲:-25〜+125℃ 1℃当たり6.25mV
・誤差:±2℃(@25℃)
★動作原理
・温度センサーには、LM60を使用します。
・その出力を増幅せずにPIC入力とします。
・PICのA/D変換のVref+には、シャント・レギュレータ TL431を使用し、+2.495とします。
・これで精度が2.44mV(2.495V÷1024)になります。
・LM60の出力は、温度係数が6.25mV/℃ なので約0.39℃単位の測定が出来ます。
・温度表示画面では、現在温度、最小温度、最大温度、平均温度を計算し1秒周期で表示します。
・温度制御画面では、閾値(threshold)の変更や、温度制御をするか否かの設定が出来ます。
・上限値制御
:閾値以上になると、ブザー音(0.1秒)、LED(点滅周期が短くなる)、リレーONを出力します。
:閾値−1℃未満になると、ブザー音(0.1秒)、LED(点滅周期が遅くなる)、リレーOFFを出力します。
ヒステリシス制御します。例えば、閾値が22℃である場合、
リレーがONとなるのは、現在温度が22℃以上になったときです。
リレーがOFFとなるのは、現在温度が21℃未満になったときです。
・下限値制御
:閾値以下になると、ブザー音(0.1秒)、LED(点滅周期が短くなる)、リレーONを出力します。
:閾値+1℃より大きくなると、ブザー音(0.1秒)、LED(点滅周期が遅くなる)、リレーOFFを出力します。
ヒステリシス制御します。例えば、閾値が22℃である場合、
リレーがONとなるのは、現在温度が22℃以下になったときです。
リレーがOFFとなるのは、現在温度が23℃より大きくなったときです。
・閾値は、PICのEEPROMに記憶しますので電源をOFFにしても、次回ON時には閾値を再設定する必要はあり
ません。
★回路図
![]()
★プログラム
ソースリストはここです。
HEXリストはここです。
※このプログラムは、mikroCの試用版の制限を越えるため正式版でなければコンパイルできません。
★動作確認
![]()
左側から、LM60、TL431、LED1、PIC16F88、LED2、LCD、圧電スピーカ
![]()
<温度表示画面>
左上:現在温度
右上:平均温度
左下:最小温度
右下:最大温度
![]()
<上限値制御>
左上:現在温度が25℃、閾値が26℃なので、出力はOFFになります。
左下:出力OFF→赤色LEDは消灯
右上:現在温度が26℃、閾値が26℃なので、出力はONになります。
右下:出力ON→赤色LEDは点灯
![]() ![]() ![]() ![]()
<下限値制御>
左上:現在温度が25℃、閾値が24℃なので、出力はOFFになります。
左下:出力OFF→赤色LEDは消灯
右上:現在温度が25℃、閾値が25℃なので、出力はONになります。
右下:出力ON→赤色LEDは点灯
![]() ![]() ![]() ![]()
電子工作etc
|