1.初めに
さて、PIC製作の先駆者ブログをのぞいていると就寝時点灯(c)
電子マスカットというのがありました。電子マスカットさんが555で作った照明消灯時に光るLED照明回路の外部仕様をそのままにPIC12F683のILPWUE機能を使用して待ち時間の低電力消費を目指したnatuさんの試作です。http://www.mars.dti.ne.jp/~m7030/index.html これに触発され、nobcha版リメイクを行いましたので、報告します。。
この機能はマイクロチップ社の下記のアプリケーションノートでも説明がされています。
http://ww1.microchip.com/downloads/en/AppNotes/00879D.pdf PIC12F683のGPIO0だけにあるULPWUE機能で低電力(Vdd:3.0VでIdd:0.15μA)SLEEPさせます。そして800m秒毎にIOC機能のチェンジオン割り込みで起動しフォトトランジスターの電圧をADCで取得、照明が消えて暗くなったことを判定しチョッパ駆動で白色LEDを点灯しようというものです。 実用的には就寝時などに照明消しベッドに倒れこむまでのわずかな時間だけ、補助照明をつけると言うアイデアです。
2.消灯検知LED照明制御路の実験仕様
項番 |
機能 |
説明 |
1 |
PIC12F683のGPIO0特有ILPWUE機能で待つ |
PIC12F683特有のSLEEP時(Vdd3.0Vで消費電流0.15μA)に動く微小定電流放電回路(常温で135nA)によりコンデンサーのチャージ(0.033μFのフィルムコン使用)が無くなると(0.58V以下になると)チェンジオンインタラプトで割り込みかけて、ウェイクアップします。(約0.8秒) |
2 |
消灯検知 |
フォトトランジスタ(NJL7502L)を10kオームエミッタフォロワで動かし、GPIO2からADCで読み取ります。20ルックス以下(15μA)以下で平均値より3μA以上の減少があると消灯ありと判断。 |
3 |
白色LED点灯 |
電源電圧はニッケル水素3本、あるいは2本とし、GPIO1に接続した2SC2458をチョッパ駆動してDCブーストにより5V以上を発生し、白色LED2本直列を点灯する。5秒ぐらいで減灯(間引き駆動)しながら消灯します。 |
4 |
デバッグ |
デバッグ時にはi2c接続液晶にADC値、平均値を表示して検知スレッショルドを決めるのに使います。 |
|