PIC12F1822 温度アラーム装置 [電子工作]
ばあちゃんちの台所は、2ハンドル混合水栓を使っていて、水側と湯側のハンドルを個別に回して水温を調整している。しかし台所作業を中断する時、水側のみを止めて、湯側を止め忘れている事が時々ある。 シングルレバーの混合水栓に交換するように勧めているが、配管工事の変更が大変なので、そのままになっている様だ。
100円ショップの警報ブザーが手元にあったので、注意喚起に利用できないかと思い、分解してみた。空間がかなりあるので、何か出来そう。



目的:高温の湯が出たままになっている事を検出して警報を鳴らす。
構造:温度センサーMCP9700で温度を電圧に変換。(Vout=10mV * Tc + 500mV)
PIC12F1822にて水栓の金属部分の温度を判定して、規定温度、温度上昇のいずれかで警報を出す。 PIC12F1822参考ソースは最後に記載。消費電流低減のためクロックは1MHz、2400bpsとした。
シール基板を警報ブザー基板の空きエリアに両面テープで貼り付け、部品をランドに半田付けする。 プログラム用コネクタは、接着剤で補強する。写真には無いが、半田面に於いて、スライドSWから出ているパターンをミニルータでカットしてFETを半田付けする。半田位置のレジストは剥がす。


配線きたないね。



監視中であることが目視で分かるように、約8秒毎にLEDを点灯。 温度センサーの熱伝導を良くするためにMCP9700の周りを0.2mmの銅板を巻いたが、効果は未評価で不明。防水の為、温度センサーをチューブに入れて防水シール(バスコーク)を充填した。 加工した温度センサーを防水シールで水栓の金属部分に貼り付けた。センサー交換時は、無理やり剥がすことになる。センサーと並列に接続されたダイオードは、MCP9700逆接続保護用。100円ショップのイヤホン延長コードをカットして、プラグ側にセンサー、ジャック側を本体に接続した。センサーは、複数作って温度誤差を確認し良さそうなのを採用。あまり違いは無かったが。




基板上のLED光をケース表面に伝えるため、2mmのチューブに透明接着剤を入れて導光管にしたが、気泡が入ってかなり減衰してしまった。一応LED光は見える。
デバックのため、AD変換した測定電圧,規定値、MAX値を2400bpsで出力しているので、FT232RLなどでUSB変換してTeraTermなどで表示できる。


温度変化=18℃/50s=0.36℃/s 、 4サイクルチェック=1.44℃/4s

温度検出結果により警報ブザーの電源をPMOSでON/OFFしたが、警報ブザーにリードSWがあるので、これを使った方が制御電流が少ないので良いかも。 本体ケースをファスナーテープで、水に濡れない所に貼り付けた。

結果:水栓とセンサーとの温度結合が悪いので、規定温度検知するまで20秒程必要だった。逆に温度が下がるまでも時間がかかり、湯を止めても暫く鳴動したままになるが、対象者の動作もゆっくりなので当初の目的は達成。 消費電流を減らす為に、鳴動音は断続にした。季節要因による温度変化は考慮していないので、夏季に再調整必要かもしれない。
消費電流:0.7mA、鳴動時60mA。
PICコンパイル環境
* MPLAB X IDE 3.26
* XC8 Ver1.36
* Writer:PICerFT15-10-6.8
PICerFTにて書き込み中、ブザー鳴動によるVdd変動で、書込みエラーになる事がある。書込みエラーする時は6ピン(RA1)-FETを一時的にカットする。
MPLAB X XC8 コンパイル時、警告が一杯出るが、conversionに関するものなのでとりあえず無視。
温度設定は以下の定義文を変更して行う。
#define LMT 440 //440:38℃ 470:44℃ 480:46℃ 490:48℃ 500:50℃
//Vout=10mV*Tc + 500mV step:2mV
#define DIF 5 //difference 5x2mV=10mV 1.0℃ up
PICソース&HEX
参考サイト
http://sky.geocities.jp/home_iwamoto/page/P14K50/P14_A17.htm
http://micom.hamazo.tv/e3140018.html
http://www.geocities.jp/zattouka/GarageHouse/
100円ショップの警報ブザーが手元にあったので、注意喚起に利用できないかと思い、分解してみた。空間がかなりあるので、何か出来そう。



目的:高温の湯が出たままになっている事を検出して警報を鳴らす。
構造:温度センサーMCP9700で温度を電圧に変換。(Vout=10mV * Tc + 500mV)
PIC12F1822にて水栓の金属部分の温度を判定して、規定温度、温度上昇のいずれかで警報を出す。 PIC12F1822参考ソースは最後に記載。消費電流低減のためクロックは1MHz、2400bpsとした。
シール基板を警報ブザー基板の空きエリアに両面テープで貼り付け、部品をランドに半田付けする。 プログラム用コネクタは、接着剤で補強する。写真には無いが、半田面に於いて、スライドSWから出ているパターンをミニルータでカットしてFETを半田付けする。半田位置のレジストは剥がす。


配線きたないね。



監視中であることが目視で分かるように、約8秒毎にLEDを点灯。 温度センサーの熱伝導を良くするためにMCP9700の周りを0.2mmの銅板を巻いたが、効果は未評価で不明。防水の為、温度センサーをチューブに入れて防水シール(バスコーク)を充填した。 加工した温度センサーを防水シールで水栓の金属部分に貼り付けた。センサー交換時は、無理やり剥がすことになる。センサーと並列に接続されたダイオードは、MCP9700逆接続保護用。100円ショップのイヤホン延長コードをカットして、プラグ側にセンサー、ジャック側を本体に接続した。センサーは、複数作って温度誤差を確認し良さそうなのを採用。あまり違いは無かったが。




基板上のLED光をケース表面に伝えるため、2mmのチューブに透明接着剤を入れて導光管にしたが、気泡が入ってかなり減衰してしまった。一応LED光は見える。
デバックのため、AD変換した測定電圧,規定値、MAX値を2400bpsで出力しているので、FT232RLなどでUSB変換してTeraTermなどで表示できる。


温度変化=18℃/50s=0.36℃/s 、 4サイクルチェック=1.44℃/4s

温度検出結果により警報ブザーの電源をPMOSでON/OFFしたが、警報ブザーにリードSWがあるので、これを使った方が制御電流が少ないので良いかも。 本体ケースをファスナーテープで、水に濡れない所に貼り付けた。

結果:水栓とセンサーとの温度結合が悪いので、規定温度検知するまで20秒程必要だった。逆に温度が下がるまでも時間がかかり、湯を止めても暫く鳴動したままになるが、対象者の動作もゆっくりなので当初の目的は達成。 消費電流を減らす為に、鳴動音は断続にした。季節要因による温度変化は考慮していないので、夏季に再調整必要かもしれない。
消費電流:0.7mA、鳴動時60mA。
PICコンパイル環境
* MPLAB X IDE 3.26
* XC8 Ver1.36
* Writer:PICerFT15-10-6.8
PICerFTにて書き込み中、ブザー鳴動によるVdd変動で、書込みエラーになる事がある。書込みエラーする時は6ピン(RA1)-FETを一時的にカットする。
MPLAB X XC8 コンパイル時、警告が一杯出るが、conversionに関するものなのでとりあえず無視。
温度設定は以下の定義文を変更して行う。
#define LMT 440 //440:38℃ 470:44℃ 480:46℃ 490:48℃ 500:50℃
//Vout=10mV*Tc + 500mV step:2mV
#define DIF 5 //difference 5x2mV=10mV 1.0℃ up
PICソース&HEX
参考サイト
http://sky.geocities.jp/home_iwamoto/page/P14K50/P14_A17.htm
http://micom.hamazo.tv/e3140018.html
http://www.geocities.jp/zattouka/GarageHouse/