エレ玩 Konyaの開発記録

アクセスカウンタ

zoom RSS リポに挑戦3(電圧監視編)

<<   作成日時 : 2009/02/25 21:55   >>

なるほど(納得、参考になった、ヘー) ブログ気持玉 3 / トラックバック 0 / コメント 0

 前回に引き続きリポに挑戦します。
今回は電圧監視です。リポ電池の電圧をPICで監視し、低電圧時の充電要求や充電完了をLEDで通知します。

画像


1.PICでの電圧測定(AD変換)

まずはリポ電池の電圧をPIC24Fで測定(AD変換)します。
リポ電池の最大電圧は4.2Vくらいのため、そのままPICのアナログ入力ピンに接続できません。
下記回路図、朱記部のように抵抗で分圧し、PICに入力します。

PIC24FのADCは10bit(0〜1023)なので、
 3.3V ÷ 1024 = 0.0032226...[V]
AD変換後の値は1あたり約0.0032Vとなります。

電池電圧は2分圧して入力しているので、
 電池電圧 = AD変換値 x 0.0032 x 2 [V]
で求めます。

画像


PIC24FのADCモジュールはパックマンもどきのアナログスティック入力で使いました。
この時はメインルーチンでAD変換処理しましたが、今回はバックグラウンドで、さりげなくAD変換しなければいけません。
よって、ADCモジュールはフリーランで電圧サンプル、変換するモードで動かし、AD変換終了割込みでAD変換値をチェックすることにします。
また、割込み(電圧チェック)は数秒間隔とし、メインルーチンの負担を減らします。

PIC24Fはタイマー2,3でAD変換トリガーの間隔を設定できます。
タイマー2,3で32ビットカウンタとしても良いのですが、ここはタイマー3のみを使うことにします。
タイマ3で指定できる最大のトリガ周期は
  PIC内部クロック = 16MHz
  命令サイクル  = PIC内部クロック/2 = 8MHz  
  タイマのカウントアップ = 命令サイクル/256 = 31.25KHz(32us)
  タイマ3カウント最大値 = 65535

とすると、
  最大トリガ周期 = 65536 x 32us
            = 2097152us
           ≒ 2.1s

となります。

では、この設定で試してみましょう。

LCD表示の上がAD変換値、下が電圧値です。
テスタの値とは0.02V違いますが、まぁ許せる範囲でしょうか。

画像


ついでに割込み毎にLEDを点滅させ、トリガ周期を確認してみました。
点滅の間隔は...1...2...3...4...5
5秒?
あれ?
もう一度...1...2...3...4...5...秒?

適当に数えているのですが、少なくとも2秒ではありません。
設定間違えたか...
計算間違えたか...
...
まっ いいか...
電圧チェックは4、5秒間隔とっ...


2.電圧監視

お次は電圧を監視し、リポ電池の状態をLEDで通知します。
リポ電池の状態は下記とします。

 @通常状態<LED消灯>:電池電圧3.51V以上
 A充電要求<LED点滅>:電池電圧3.50V以下、且つDC、USB電源未接続
 B充電状態<LED点灯>:DC、USB電源接続、且つ電池電圧4.10V以下


DC、USB電源の接続、未接続はMAX1555の~CHG信号で判定します。
~CHGは充電中に'L'となる信号で、'L'時はDC、USB電源接続、且つ充電電流50mA以上であることを示します。

各状態遷移は下図とします。

画像


回路図です。
~CHGピンは充電基板上で抵抗を介してリポ電池に接続してありますが、PICのデジタル入力ピンは5V耐圧なので、このまま入力します。

画像


プログラムを作成し、簡単に動作テストです。

@リポ電池接続 → LCD表示電圧 3.87V ・・・LED消灯のまま [通常状態]
AUSB電源接続 → LCD表示電圧 3.91V ・・・LED点灯 [充電状態]
BUSB取外し   → LCD表示電圧 3.88V ・・・LED消灯 [通常状態]
C6時間経過   → LCD表示電圧 3.72V
 しびれを切らしてプログラム変更 充電要求電圧3.50→3.70Vに変更
D30分経過    → LCD表示電圧 3.70V ・・・LED点滅 [充電要求]
EUSB電源接続 → LCD表示電圧 3.73V ・・・LED点灯 [充電状態]
F2.5時間経過  → LCD表示電圧 4.15V ・・・充電完了でLED消灯 [通常状態]
GUSB取外し  →  LCD表示電圧 4.15V ・・・LED消灯のまま [通常状態]

チョッと試しただけですが、思った通りに動いてくれてます。

今回のプロジェクトファイルです。(MPLAB IDE V8.10で作成)
 PIGW_VCHK.lzh

下記のように各ファイルをAddしてください。
画像


電圧監視は安全に関わる重要なプログラムです。
私のプログラムを信じてはいけませんよ。
あくまで参考程度で... 参考になるか分かりませんが...

今回でリポの実験は終了です。
お疲れさまでした。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ
気持玉数 : 3
なるほど(納得、参考になった、ヘー) なるほど(納得、参考になった、ヘー)
驚いた

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
リポに挑戦3(電圧監視編) エレ玩 Konyaの開発記録/BIGLOBEウェブリブログ
文字サイズ:       閉じる