CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

省電力化

消費電流を抑えるいくつかの手立てを行いました
 
まず、システムクロックの低速化です
うまくいけば計時用水晶のクロックを流用し32.768kHzまで落とせると思っていたのですが
低すぎると割込みに歯抜けが起きて時刻遅れが出てくることがわかり、とりあえず内蔵発振器の125kHzで
様子見しています
 
次に割り込み待ち中にSLEEPさせます。
ただし、sleepによりシステムクロックが停止している最中はCCPのコンペアマッチ割込みではwakeupできない
ようなので、元通りタイマ1のオーバーフロー割込みを使用します。
このときタイマ初期値の再ロードもやめてフリーランにしています。
こうすると16ビットタイマが2秒でタイムアウトするので割り込み間隔は2秒、したがって割込みルーチン内で
time_t変数も2づつ増やします
 
3つ目にLCDのバイアス電圧を生成する抵抗ラダーのパワーモードを「中」にします。
これでバイアス電流を100uAから10uAにまで低減できます
さらにパワーモード「低」だと1uAになりますが、液晶のコントラストがかなり悪化したため断念しました
 
こういった方策を組み込んだところ、待機中40uA、割り込み中200uAとなり電池駆動の期待がでてきました
 
電池電圧は1個3Vだと不足なので2個直列にしたいところですが、うまい具合にコインリチウム電池CR2016は
CR2032と直径が同じで厚みがちょうど半分です。
そのため現状のCR2032電池ホルダに2枚重ねて入れられます
 
イメージ 2
 
 
ただし6.0Vになると今度はPICの動作定格電圧を超えてしまうのでシリコンダイオード2本を挿入して
約1.2V電圧降下させています。
 
 
イメージ 1