SLEEP しても電流が減らない

PIC16F628でNi-MH電池の放電器をつくりました。コンパレータは4入力モードを使いPIC内に設定した基準電圧に対して,放電している各電池の電圧が下回ったら放電を終了させます。

電池電源を想定して放電終了後はプログラムを SLEEP させ,消費電流を抑えるプログラムにしました。
          −−−−−−
         −−−−−−
         SLEEP
         END

上記のようにプログラム最後の ENDの前へ SLEEPを入れて消費電流を測定したところ
       電源 ON のとき       0.12mA
       放電中の LED点灯中     4.70mA
       放電終了 SLEEP       0.15mA

SLEEP しても電流が減っていませんでした。

コンパレータを OFF にしてから SLEEP させたところ消費電流は減ってくれました。

         −−−−−−
         −−−−−−
         MOVLW  B’00000111’   ;コンパレータはOFFにする
         MOFWF  CMCON        ;CM2:CM0=’111’
         NOP
         SLEEP
         END

これで 放電終了 SLEEP時の消費電流は 85μA になりました。
PIC動作時の電源電圧は Vdd=5V、 クロック周波数は内部発振 37KHzでした。

コンパレータを リセット(CM2:CM0=’000’) にしても SLEEP 後の消費電流は同様に減りました。

欲をだして 次のように Vref 回路 OFF を追加してみましたが、これはほとんど変化ありませんでした。

         −−−−−−
         −−−−−−
         MOVLW  B’00000111’   ;コンパレータはOFFにする
         MOFWF  CMCON        ;CM2:CM0=’111’
         NOP
         BCF     VRCON,7       ;Vref回路をOFFにする
         NOP
         SLEEP
         END

                                          2003.9.21

PIC目次へ      トップページへ