前回作成した防犯用フラッシャーの追加を頼まれた。前回は
LM3909を利用したものだが、このICがディスコンでちょっと高い。なのでPICでプログラムをうまく作れば低電力でできるかを検討してみた。
内蔵4MHzで動作させ、LEDを10msフラッシュさせた後に、スリープさせ、ウォッチドッグで起き上がらせてみた。MCLR OFF、Pullup OFF、BrownOut OFF、Start up timer offでスリープ中は約2.6μアンペア。但し、電池の入れるタイミングによって、初動の正常起動ができないので、リセットを有効にして電池交換後に一度リセットしてもらうなどのハード構成が必要になるだろう。
ウォッチドッグを使う時勘違いしていた事があって、内部の発振回路を使っているかと思ったら、ウォッチドッグとして独立して動作するCR発振回路。なんでスリープでも動くの?なんでクロックを遅くしても、2秒位でウォッチドッグがかかるの?と思って
資料(pdf)をよく読む。
クロックにスリープが入っている。クロックが止まるのにどうやっているかと思ったら、
ああ、なるほど。独立した発振回路があったのか。だからクロックの速さにかかわらず、ウォッチドッグのプリスケーラを最大にしても17msx128=2.176なのか。
ウォッチドッグを使った事がなかったので、これはチョット勉強になった。
ちなみに、昔安いと思って買った32KHzの水晶発振子。これはPICに接続しても発振せず。
円筒型の水晶では動作ができた。ただ、部品点数が増えるので多少電流が多いが内蔵で32KHzが使える12F1822を使ったほうがいいかもしれない。12LF1822ならもっと小さくなるが、秋葉原での入手が出来ればなぁ。
つづく・・・
最近のコメント