これまでに人感センサライトを3種類作ってきた。それぞれは、過去の記事を見て頂ければ詳細は確認できるので割愛する。
2号機は、中国から購入した焦電型人感センサからのセンシング信号をPICで受けて、ライトを点けるというもの。ライトの点灯時間は、PICのタイマで管理している。
スイッチが入っている間は、微弱ではあるが電流が流れるので、出来るだけ消費電力を抑えるために、外部に抵抗ととコンデンサで発振回路を作ってクロックを供給していた。概ね4kHzのクロックでタイマのカウント数を計算してプログラミングしてある。
そもそも、安物センサのせいなのか、人感センサの感度があまり良くないため人がいても消えてしまうことがよくある。消えたら身体を動かして点灯させなければならない。まあ、それはよしとして。
夏場になり、トイレの気温が上がって来ると、消灯までの時間が5分と設定していたはずなのに、だんだん短くなる気がしてきた。そして、猛暑シーズンになると、2分くらいで直ぐ消えてしまうようになり、何度か身体を動かしても、ついには点灯しなくなってしまった。
それは、トイレを早く出なさいと言うこと・・・・とか、息子には言っていたが、原因をあれこれ考えていて今日に至った。
過去、初号機が夏場になると照明が点かなくなると言う不具合があった。それは、ACから電流を取り込むラインに入れたコンデンサが、消費電流かつかつで設計していたものが、夏場の気温上昇で、微妙に容量が変化し、電流が不足することに原因があった。
しかし、今回は、消灯までの時間が短くなるという現象であり、少々異なる。過去の経験から、コンデンサの容量変化というものが疑われ、発信のCR回路のコンデンサ容量が減少することに起因するものだろうとの結論に至った。
で、回路をいじるのが面倒なので、CRの端子をニッパで切って、ハードの改造はおしまい。あとは、PICのプログラムを内部クロックに変更して、タイマ周辺のパラメータを調整すれば良いはず。
ところが、利用しているPICは、ずいぶん前に買ったPIC12F629という旧型のもので、内部タイマは4MHz固定となってしまう。元々4kHzで設計していたのだが、1000倍のクロックとなると、タイマ割込を最大にしても時間が短すぎる。サブのカウンタを変数定義して、少々ロジックをいじってできあがり。
いちおう、これで多少に知識がある方には自分で作成できると思います。もし、質問等があれば、問合せ窓口までどうぞ。