[][mobile][Homepage][BBS][Blog][YouTube][asablo]

過去の記事の検索が簡単にできるよ (・∀・) 例 ランチャー9
カスタム検索

12F1822を内部発振の31KHzで動かしてみる (超低消費電力型 LEDフラッシャー)2013/01/27 23:38:12



昨日は12F675を使って低消費電力の防犯フラッシャーを検討していたが、内部発振は4MHz固定であること、ウォッチドッグはプリスケーラを最大にしても約2秒しかスリープできないことが分かった。外付け水晶発振子をとりつけたり、コンパレータなどを使ってCRによるタイマーを作ってもできるだろうが、回路が複雑になってくる。

12F629/12F675はスリープ時の電流が限りなく小さいのが魅力だ。ただし、色々な制約もある。ブラウンアウトリセットを使わない、内蔵プルアップは使用しないなどである。スリープ機能を使わなければ、内蔵4MHzで動かす場合はそれなりに電力を食うし、外付けで32KHzの水晶をつけるだけで、折角の8ピンPICの魅力も半減。

それなので、12F675を止めて、手持ちの12F1822を使う事を検討。



まず発振回路部分。内蔵の発振回路は500KHzをベースとした10種類のクロックと31KHzを使用したクロックが選択できる。更に8MHzを4逓倍して32MHzに使用できるようになっている。とても豊富な内蔵クロックだ。電池で動作させる時は、31KHzを選択することで、一番最低の消費電力が期待できる。まず、while(1)ループを作り、電流を測定。
ブラウンアウトリセットを使用するに設定しても、動作中が31μA at5v。これは、わざわざスリープを駆使しなくてもかなり優秀な消費電力だ。次に、スリープ時も計測。22μA。スリープ活用も意味がある。


ウォッチドッグについて、12F629/675では最大でも2秒強の時間しかとれなかったのが、このデバイスはなんと最大256秒も時間が取れるのだ。

ウォッチドッグ本来の使い方は、プログラムの暴走管理で、一定ルーチンでCLRWDT()が入らない場合、リセットを掛ける使い方であるが、今回の私が使った方法は、LEDを一瞬光らせて、その後SLEEP()し、それ以降はウォッチドッグがリセットをかけるまで放置という方法をとっている。
内部でタイマーを回すよりも断然低消費電力であるし、プログラムがとても簡単になった。


※リスト中 __delay_ms(100);//30ms wait→100ms waitの誤りです
というわけでソース・コード。MPLABXC8 v1.12用。




HEXファイルは、適当なメモ帳に貼り付けて、拡張子*.hex保存でデバイスに書くだけで動作。


12F1822だけで超低電力フラッシャー

作った基板。ただフラッシュさせるだけの基板なので、シンプル。3ピンはクロック出力のテストで一瞬だけ31KHz出力、LEDはアノード側を5ピン、カソードはグラウンド、4ピンは未使用であるが、オープンにすると消費電流が増大するので、適当な抵抗でプルアップしている。

黄土色の丸いコンデンサは、手持ち部品を消費するために使ったディスクセラミックコンデンサ。
今なら積層セラコンを使うところだろう。




前回LM3909で作った基板との比較。タイマーがプログラムで決定されるので、大容量のコンデンサが不要となった。LM3909での利点であった電池1本でも光る回路だったが、電池が無くなるにつれ、点滅周期が遅くなり、また1.1V位で点灯しなくなるので、それなら、PIC電池2本でも、1本0.95Vまで使えるから、マイコンの方が良さそうだ。
ブラウンアウトを使用しない設定で更に動作電圧を下げられるが、電池を入れるタイミングでうまく起動しない場合があるので、ブラウンアウトは使ったほうが良い。



デバイスの書き換えはICSPをつけているわけでないので、ICクリップを利用してPICkit2で書き込む。8ピンバイスなら、これが手軽。



さて、前回同様にケースを注文して分解。



前回よりもグレードが高くなっている。また消費電力も3Vで約40μAと抑えられて性能が良くなっている感じだ。ただ、点滅周期とか気に入らないwww モーションセンサーもCDS。
安いものだから仕方ないだろう。



ホットボンドで組み付け終わり。電源スイッチは、錆びたりしてトラブルになるので、電池ボックスと直接接続した。これで、周期が8秒と変わらない点滅するダミーカメラの完成となった。

以上、防犯用フラッシャーを作るためにPICを使ったが、
PIC12F1822には多彩な内部クロックソースがあり、256秒が最大のウォッチドッグがある。
反面レジスターが多くなったのが難点なのだが、うまく使えば旧PICマイコンより安くて便利に使える。 PIC12LF1822が手に入れば最大電圧3.3Vまでではあるが、とても小さい待機電力になるので、ボタン電池でフラッシャーを作っても1年以上は持つと思う。
近いうちにPIC12LF1822をマイクロチップダイレクトあたりから入手して評価してみたい。









Google
www Blog HP BBS


air_variableサイトをまとめて検索 
カスタム検索
[][admin][mobile][Homepage][BBS][Blog][YouTube][asablo]