電源を見直してみました。変更点は2点。
- PC用電源は容量に不安があったので、3Aまでのレギュレータに変更してリレーでON/OFFとする
- キーのON/OFFを確実に検出するため、ACCラインでリレーを動かしてPICのポートにつなぐ
結果的に、常時通電ラインから全ての電源を取ることになります。
周辺機器をまとめた5V,2.5V系統と、時間差制御が必要なOLEDのディスプレイ電源は、PQ20RX11のシャットダウン端子をPICから操作して通電をON/OFFします。PC用電源系統は上に書いたようにリレーをPICから操作します。
PIC系統の電源は入りっぱなしで、PICのスリープモードによって未使用時の消費電力を0.1mA程度に抑える事にします。スリープしているPICは、ACC電源からの外部インタラプトで起動します。
確実な動作のためには、電源電圧の監視とUPS的なバックアップ用のバッテリーも必要ですが、今回はそこまでやらなくてもいいかな。
そして、パワーアンプ系の電源。
こちらは容量だけが重要なので4系統用意します。
ON/OFFは、PICのRB5ピンで周辺機器と連動させる事にします。
起動動作はこんな感じで
- PICは常時通電なので起動後、RB7ピンの外部入力割り込みを有効に、他のピンは全てLにした上でスリープ
- キーONでRB7がHになり割り込み発生。
- 割り込みを受けたPICは他のポートを設定後にRB5をHにしてPC系統の主電源をON。ただしPCは自動起動せずに前面パネルの電源SWが押されるまで待機。PICはUSARTの入力待ちに。
PC起動の処理
- 電源SWは通常のPCの電源スイッチとして接続してあり、押されたらPCが起動して管理ソフトが起動、PICに起動を通知を送る。
- PICは起動通知を受けて、RB5で周辺機器の電源をON。
- OLEDの初期化。
- RB6でOLEDのディスプレイ電源をON。
- 前面パネルの操作ボタンを有効に。
PCの停止動作
- 電源SWが押されたらPCはPICに停止通知を送り、シャットダウンする
- PICはシャットダウン通知を受け、前面パネルの操作ボタンを無効に
- RB6のOLEDディスプレイ電源のOFF
- OLEDの停止処理
- RB5で周辺機器の電源をOFFに。
- PICはRB7がHなので、PCの主電源は切らずにUSARTの通知待ちに。
ACC電源OFFの動作
- PICはRB7ピンの割り込みを受け、停止処理に入る
- PCが動作していたら停止指示を送る
- PCは停止指示を受けPICに停止通知を送り、シャットダウンする(電源SWと同じ動作)
- PICはシャットダウン通知を受け、前面パネルの操作ボタンを無効に
- RB6のOLEDディスプレイ電源のOFF
- OLEDの停止処理
- RB5で周辺機器の電源をOFFに。
- PICはRB7がLなので、30秒後にRB5でPCの主電源をOFFにし、全てのピンをLにした後スリープする。
コメントする