AN2107 アプリケーション ノート AN2107 複数の種類の充電器 作成者:ビクター クレミン 関連プロジェクト:あり 関連パーツ ファミリ:CY8C26xxx 概要 複数の種類の充電器を提案する。この充電器では、ハードウェア/ソフトウェアを何ら修正することなく、Ni-Cd、NiMH、Li-Ion、Li-Pol および SLA 電池を充電することができる。充電器を設定し、リアルタイム充電プロセスの視覚化お よび分析を実行する PC ベースの専用ソフトウェアが開発されている。この充電器は、様々な種類の電池を充電するス タンドアロン アプリケーションとして使用でき、民生機器、家庭電化製品、または業務用に応用することができる。代 替の充電器アプリケーションについても考察する。 はじめに 最近は様々な種類の電池が使用されている。シール形鉛 酸(Sealed Lead-Acid: SLA)蓄電池は通常、費用が容量 /容積比より重要であるような費用重視の用途で使用さ れる。一般的な応用例には、無停電電源装置、セキュリ ティや監視システムのバックアップ電源、固定式照明装 置などがある。ニッケル カドミウム(Ni-Cd)電池と ニッケル水素(Ni-MH)電池の特徴は、容量/容積比が 適度で、様々な家庭用電化製品で幅広く使用されている ことである。リチウム イオン(Li-Ion)電池とリチウム ポリマ(Li-Pol)電池は、容量/容積比が最も大きい点 が特徴で、ノート パソコン、ポケット パソコン、携帯 電話および新しい消費者向け用途で使用されている。 各種電池を適切に充電するには、専用の充電機構が必要 である。チップメーカは、充電器を実装する様々な集積 回路があることを示唆しているが、これらの回路は、事 前定義された種類の電池のみを充電する設計となってお り、他の種類の電池に使用するために再調整したり、新 たな機能を追加したりするのは容易ではない。 各機能を実装するには専用のコンポーネントが必要で、 このためデバイスはより複雑になり、価格も高くなる。 独自の PSoC アーキテクチャを用いると、最小限の外部 コンポーネントと汎用的な多機能システムを持つ多機能 充電器を極めて手ごろな価格で作ることができる。追加 機能を実装したり、新しい種類の電池をサポートする場 合も、ファームウェアの更新だけで済む。PSoC イン サーキット機能とセルフプログラミング機能によって、 これらの操作を単純化できる。 このアプリケーション ノートでは、ハードウェアと ファームウェアを修正せずに、様々な種類の電池を処理 できる汎用充電器について説明する。ユーザが PC ベー スのソフトウェアを通して適当な電池の種類と電池パラ メータを選択し、設定を不揮発性メモリにアップロード すると、充電器はスタンドアロン アプリケーションと して操作できるようになる。または、充電器を PC 経由 でスレーブ デバイスとして制御し、リアルタイムに電 池充電プロセス情報を提供することも可能である。 [+] Feedback AN2107 表 1. 充電器の技術データ 電池充電方式 次のセクションでは、様々な電池化学成分に対する充電 方式について説明する。電池化学成分、動作、および充 電方式の詳細については、[1-5] のオンライン資料に記 載されている。資料 [1] では、電池とその用途の様々な 面に関する有益な情報が提供されており、これを最初に 参照することをお勧めする。この文書では、数時間で電 池をフル充電できる急速充電方式について簡単に検討す る。 このセクションでは、CA, [h-1] という記号を充電電流と 電池容量との関係に使用する。特に定義がなければ、す べての電池電圧は 1 個のセルに対するものである。な お、すべての数値は参照目的のためにのみ記載されてい る。正確なデータについては、その電池のデータシート を参照するか、またはメーカに問い合わせること。 Ni-Cd 電池と Ni-MH 電池 Ni-Cd 電池と Ni-MH 電池の急速充電プロセスは、活性化 充電、急速充電、および細流充電という 3 つの異なる段 階に分けられる。これらの段階における電池の充電に は、定電流源を使用する必要がある。 まず、電池の温度を分析する必要がある。電池の温度 が、あらかじめ決められている通常+10°∼+50°C の範囲 にない場合は、少量の電流による細流充電のみが可能と なる。活性化充電段階と急速充電段階は、これ以外の場 合に許容される。 電池が過放電されている場合は、まず活性化充電段階が 必要である。 この段階では、電池電圧が 0.8∼1 V/セルに達するか、 活性化充電がタイムアウトになるまで、電池は 0.2∼0.3 CA 電流で充電される。活性化充電段階がタイムアウト により終了すると、電池は動作不能とみなされ、充電プ ロセスはエラーで終了となる。この現象が発生するの は、電池が不可逆的に放電された場合や短絡セルを含む 場合である。 電池電圧が急速充電開始しきい値に達すると、活性化充 電段階は急速充電段階に移る。この段階の電池充電電流 は 0.5∼1 CA に設定される。この段階は、急速充電終了 条件が満たされるかタイムアウト状態になるまで続く。 急速充電段階がタイムアウトで終了すると、充電プロセ スは、活性化充電タイムアウト終了と同じようにエラー で終了する。この現象が発生するのは一般的に、電池が 損傷しているか、あるいは電池容量に合った充電電流が 選択されていない場合である。急速充電のタイムアウト は、公称電池充電の 150%を移送する時間として計算で き、1 CA の急速充電電流では 90 分に相当する。以下の 事象の 1 つでも発生した場合には、急速充電段階を細流 充電段階に切り替えなければならない。 電池電圧が最大値より低くなった場合。電池電 圧の降下レベル∆V は、Ni-Cd 電池の場合 15∼ 20 mV/セルに、Ni-MH 電池の場合 5∼10 mV /セルに設定する必要がある。電池が長期間使 用されていなかったり、過放電になっていたり すると、電池が完全に充電される前に電池電圧 が降下し始める場合がある。このような異常終 了の現象は、急速充電の不完全な終了を防止す る初期遅延によって防ぐ必要がある。一般的な タイマ間隔は 5∼10 分である。 [+] Feedback AN2107 電池電圧が上限のしきい値に達した場合。この 限界値により、セルの抵抗が増大する電池寿命 の最後に電池が過充電されるのを防止すること ができ、その値は 1.8∼1.9 V/セルに設定する 必要がある。 電池の温度上昇速度が速まった場合。電気エネ ルギーの一部は電池の化学エネルギーに変換さ れ、残りは充電プロセス中に熱となって放散さ れる。この有効な部分は、初期の急速充電段階 で最大となり、電池が完全に充電されると最小 となる。この場合、ほぼすべての電気エネル ギーは熱に変換され、電池の温度が急激に上昇 する。急速充電の完了が検出できるように、温 度変化率を 1∼2°C/分に設定する必要がある。 Ni-Cd 電池の充電は吸熱反応で、初期の急速充 電段階では電池の温度は下がる。Ni-MH の充電 は、Ni-Cd の充電反応とは逆に発熱反応であ る。Ni-MH 電池の場合、最終の急速充電段階で 上昇する変化率で温度は絶えず上昇する。 細流充電段階の特徴は、充電電流が他と比べてはるかに 小さく、通常 0.02∼0.05 CA ということである。細流段 階はタイマによって終了する。上述の電池に対する細流 充電時間は 15∼20 時間である。 注: 一部の Ni-Cd 電池では、電池を完全に放電せずに 充電を開始した充電サイクルが数回実行されると、電池 容量が減少し、それによってメモリ上の問題が生じる場 合がある。この現象を避けるには、Ni-Cd 充電器の場合 電池を完全に放電させる必要がある。 上述の電池充電プロセスを図 1 に示す。 電池の温度が許容温度範囲を超えた場合。充電 中、電池を極度に暑いか(例えば、直射日光 下)寒い場所に置くと、電池の温度が安全な急 速充電の範囲を超える場合がある。こうした状 況が発生した場合は、電池の温度が事前定義さ れた範囲に戻るまで、急速充電を中断する必要 がある。この状況では、細流充電電流だけが許 容される。 [+] Feedback AN2107 図 1. Ni-Cd/Ni-MH 電池の充電グラフ SLA 電池 SLA 電池の充電プロセスも、異なる 3 つの段階(活性 化、急速、細流)に分けられる。Ni-Cd 電池や Ni-MH 電 池と同様、各段階はタイマで保護する必要がある。電池 を充電できるのは、電池の温度が事前定義された範囲 (通常+5°C∼+45°C)内にある場合である。 電池が過放電になっている場合は、まず活性化充電段階 を用いる。この段階は、短絡セルや損傷があるセルの検 出に役立つ。電池は、SLA の場合セル電圧が 1.8∼2.0 V に達するまで、0.1∼0.2 CA の定電流源によって充電さ れる。活性化段階のタイムアウトは、3∼5 時間に設定 可能である。電池電圧が急速充電開始レベルに達する と、急速充電が開始される。 電池メーカは、SLA 電池の急速充電電流の限界値を 0.3 ∼1 CA に、電圧の限界値を 2.2∼2.45 V/セルに設定す ることを推奨している。急速充電段階が終了すると、細 流充電が開始される。細流充電の電池電圧と電流の限界 レベルは、急速充電より低く、通常 2.25 V/セル、0.1 CA となる。細流段階はタイマによって終了する。 SLA 電池には、他の充電アルゴリズムも使用できる。ア ルゴリズムは定充電電流を使用し、電池電圧の絶対値と 急速充電終了に対する第 2 の変化率、パルス充電方式な どを分析する。詳細については [1] を参照のこと。電池 メーカはこの SLA 充電方式を最も推奨している。 上述の SLA 電池の充電プロセスを図 2 に示す。 急速充電は、電池電圧が事前定義された値に達するま で、定電流モードで動作する調整電源によって行われ る。電池電圧がこのレベルに達すると、充電電源は定電 圧源として動作する。充電電流が事前定義された値(通 常 0.05∼0.2 CA)以下になると、急速充電は終了する。 [+] Feedback AN2107 図 2. SLA 電池の充電グラフ Li-Ion 電池と Li-Pol 電池 電池化学成分の大きな違いはあるが、Li-Ion 電池と LiPol 電池の電池充電原理は SLA 電池とよく似ている。主 な違いは、充電パラメータ値と充電設定の精度に対する 要求である。リチウム ベースの電池は充電電圧、電流 および放電限界値の影響を受けやすく、内蔵のサーミス タと保護回路を持つ特殊な電池パックに組み込まれる。 保護回路は、電池を過放電および過充電から保護し、負 荷/充電電流を安全な値に制限する。この回路がない と、悪条件下の使用により電池が爆発する恐れがある。 充電源の電圧限定精度を 1%未満にしてはならないが、 この要件により、Li-Ion/Li-Pol 電池向け充電器の設計は より難しくなる。 Li ベースの電池は、2 段階の充電方式(活性化、急速) を使用する。リチウムを含む電池を追加充電すると電池 がどうしても劣化するため、長時間の細流充電モードは 除外された。充電プロセスを開始できるのは、電池の温 度が事前定義された限界値内にある場合だけである。 通常の温度は+5∼+50 °C である。電池電圧が 2.9∼3.0 V /セル未満の場合は、まず電池を活性化する必要があ る。活性化充電段階では、電池電圧が 2.9∼3.0 V/セル に達するまで、電池が定電流(0.05∼0.15 CA)によって 充電される。活性化充電のタイムアウトは、1.5∼2 時間 に設定される。活性化充電では、電池の状態を診断し、 損傷したセルや短絡セルなどの問題が特定される。 活性化充電がエラーなしで終了すると、急速充電段階が 開始される。急速充電には、2 つのモードがある。電池 電圧が事前定義されたレベル(4.1 または 4.2 V、電池の 種類による)未満の場合、充電は定電流で行われる。電 池電圧がこのレベルに達すると、充電源は定電圧モード に切り替わり、電流が事前定義された限界値以下になる と充電プロセスは終了する。電池メーカは、急速定電流 0.5∼1.0 CA、急速終了電流 0.07∼0.2 CA の使用を推奨 している。 [+] Feedback AN2107 急速充電は、タイマを実装して保護する必要がある。急 速充電タイムアウトは、定電流時間と定電圧時間の合計 である。この段階では 70∼80%まで電池が充電されるの で、定電流時間は、電池充電時間の 100∼120%を提供す るものと見積もられる。公称値は、1 CA で最小限 60∼ 75 である。定電圧充電時間は、メーカの推奨に基づき 2 時間に制限する。 図 3. 上述のとおり、Li-Ion 電池向けには細流充電は行わな い。 Li-Ion/Li-Pol 電池の充電グラフを図 3 に示す。 Li-Ion/Li-Pol 電池の充電グラフ まとめ 様々な種類の電池には、異なる充電方針や急速充電終了 基準といった特徴があるが、以下の特徴は電池充電グラ フに共通である。 電池充電プロセスは、電池化学成分にかかわら ず、充電電流と電圧が異なる複数の範囲に分け られる。 安全上の理由から、各充電段階をタイマで保護 する必要がある。 電池の温度が定義された範囲内かどうかで、充 電モードが異なる。温度が定義範囲外の場合、 充電プロセスをまったく実行できない電池もあ る。他の電池の場合も、許可されるのは、少量 の電流による充電のみである。 電池を充電するには、定電流と定電圧の動作 モードをいずれも有するプログラマブル電源を 使用して、様々な充電段階を満たす必要があ る。 充電プロセスの主な違いは、様々な終了条件、プログラ マブル電源の電流値と電圧値、およびそれらの関係にあ る。 [+] Feedback AN2107 充電器ハードウェア 一般的な充電器のフローチャートを図 4 に示す。デバイ スの構成は以下のとおりである。 すべての充電器モジュールに電源を供給する電 源(PS) 電池充電エネルギーを提供するステップダウン コンバータ(SDC) 適切な処理のために PSoC 信号により電池電流 と電圧を変換する電池インタフェース(BI) 電池インタフェース信号を切り替える切り替え マトリクス(SWM) 充電電流を測定する計測アンプ(INA) 電池の電圧と温度を測定するプログラマブル ゲイン アンプ(PGA) 図 4. PGA/INA 出力信号を切り替えるマルチプレクサ (MUX) アナログ信号をデジタル化するアナログ デジ タル コンバータ(ADC) 充電アルゴリズムを使用し、充電器制御機能を 実行する中央処理装置(CPU) ステップダウン コンバータを駆動するパルス 幅モジュレータ(PWM) リモート制御と監視を行う RS232 レベル トラ ンスレータ ユーザがデバイスと対話するためのユーザ イ ンタフェース(UI) SMBUS によってスマート バッテリィ パック と対話するための SMBUS インタフェース。こ のバス ケーブルは、代替データ交換チャネル としても使用される。 充電器のフローチャート 回路図 充電器の回路図を図 5 と図 6 に示す。充電器は、ポート P0 と P1 のみを使用する。 [+] Feedback AN2107 図 5. 充電器部分の回路図 図 6. 充電器電源の回路図 デュアル MOSFET Q1 は、ステップダウン コンバータ の電流スイッチである。Q1A はレベル トランスレータ として機能し、Q1B は電流スイッチの役割を果たす。ス テップダウン コンバータの動作周波数は 100 kHz に設 定されているが、ファームウェアで簡単に調整できる。 MOSFET Q2 は、プロセッサが制御する Ni-Cd 電池の放 電で使用され、上述の電池メモリへの影響を排除する電 池放電スイッチである。 スイッチモード コンバータの設計とカスタマイズに関 する有用な情報は、[8] に記載されている。 抵抗回路網(R9-R12、R15、R17-R20-R22)は、電池の 電流と電圧を PSoC に適した信号レベルに変換する電池 インタフェースを形成する。 [+] Feedback AN2107 このインタフェースを使用すると、電池電圧、充電/放 電電流および温度を正確に測定できる。 電池が負荷に電流を提供するときの電流検知レジスタの 損失を抑制するために、電流検知レジスタ アセンブリ R17-R20 を電池負荷電流ループから除いた。 電池電圧が大きい用途では、電流検知レジスタをマイナ ス側の電池リード線パスに移動して、大きなコモンモー ド電圧を抑制する方が良い。この修正をサポートするに は、ファームウェアを若干変更するだけで済む。 電池パックは、3 ピン コネクタ J2 経由で接続される。 サーミスタは、マイナス側の電池リード線に接続する必 要がある(電池メーカはこの方法でしかサーミスタを接 続しない)。コネクタ J1 は電池負荷接続に使用され、J3 は SMBUS データ コネクタである。 LED L2 は、ACTIVATION(活性化)または RAPID(急 速 ) 充 電 を 示 す 。 L3 は 細 流 ( TRICKLE ) ま た は WAITING(待 機)状態を示し、L4 は充電器 ERROR (エラー)状態を表示する。L2 と L3 の両方が点灯した 場合は、電池放電プロセスを意味する。レベル トラン スレータ U2 は、RS232 信号を CMOS 互換レベルに変換 する。アナログ グランド バイアスは、2Uref 、つまり 2.6 V に設定されている。 電源は、プロセッサに電力を供給するリニア レギュ レータ U3 とレベル トランスレータで構成される。電 源の充電には、外部 DC 電源が必要である。AC 充電器 の主電源は、多くのメーカ [6] が提供する現在の低価格 高電圧切り替え電源レギュレータを使用して作ることが できる。 PSoC の内部 充電器のユーザ インタフェース部分には、 START/STOP プロセスの制御系を充電する SW1 と SW2 の 2 つのボタン、および充電状態を表示する 3 つの LED が実装されている。 図 7. ほとんどの充電器機能は、プロジェクトのメイン構成内 のユーザ モジュールによって実行されるが、ダイナ ミック再構成可能ブロックが使用される測定もある。プ ロセッサの内部を図 7 に示す。 PSoC の内部 [+] Feedback AN2107 パルス幅モジュレータは、DBA00 と DBA01 に配置され ている。モジュールはソフトウェアで、十分な電圧変動 段階の提供を可能にする 9 ビット PWM ユニットとして 構成される。PWM 切り替え周波数は 100 kHz に設定さ れる。シリアル ポート ボーレート タイマは、DBA03 に配置される。このタイマ出力は UART のクロック源と して使用される。UART は、別々に配置されたシリアル トランスミッタとシリアル レシーバからなるが、これ らはそれぞれ DAC04 と DAC05 に配置されている。 PSoC Designer は UART ユーザ モジュールを勧めている が、最新の API バージョンはトランスミッタ/レシーバ 割込みを別々にディスエーブル/イネーブルにするルー チンを提供していないので、UART ユーザ モジュール はこの設計には適していない。デフォルトの転送速度 は、19200 ボーに設定されている。 ブロックと DBA02 ブロックに配置される。他の ADC の方が分解能、ダイナミック レンジ、および信号対ノ イズ比(SNR)は優れているが、ADC の結果が割込み 遅延時間に依存しないので、この ADC を選択した。以 下のソフトウェア デジタル フィルタリングと平均化で は、デルタシグマ ADC SNR の増加と測定精度の改善が 見られる。ユーザは PSoC Designer で、この ADC と他 の ADC を交換して、性能をテストできる。 ボーレート タイマ出力は、他にもいくつかの目的で使 用される。まず、リアルタイム クロックとして使用さ れるインターバル タイマを動作させる。低速の内部オ シレータがあるため、ボーレート タイマをリアルタイ ム クロック源として使用するのは興味深い。ただし、 PSoC データ シートは、このオシレータに関する時間/ 温度と周波数の依存関係に関する情報を現在のところ提 供していない。生成された周波数は数回変化する場合が あることは分かっている。一方、高速オシレータは保証 され、安定した周波数を提供する。よって、デジタル PLL を使用するには、充電器の動作中に低速オシレータ を調整するか、高周波数信号をリアルタイム クロック として用いるしか方法がない。今回の設計では、後者の 解決法を採用した。 電池の測定 ボーレート タイマ出力は、充電器の設定を保存する内 部メモリをセルフプログラミングする前にダイ温度を測 定する温度センサのクロック源となる。充電器が室温で 使用される場合は、この装置は不要であるが、使用条件 が厳しい場合には役に立つ。 充電アルゴリズムと電池電圧を正しく実装するために は、充電電流と温度を正確に測定する必要がある。充電 器は、ダイナミック再構成を行い、これらの機能を実行 する。コモンモード信号が大きい場合、検知レジスタの 電圧降下の測定により電池電流が決定されるため、最も 良い電流測定方法は、計測アンプ(INA)を使用して、 この小さな検知レジスタ信号を増幅することである。し かし、PSoC 計測アンプの最小ゲインは 2 なので、この 方法で正確に測定できる電池の電圧範囲は限られてい る。プログラマブル ゲイン アンプ(PGA)は、1 未満 のゲイン レベルを提供し、入力電圧は PSoC の入力段 階の許容レベルによってしか制限されないので、電池電 圧測定に理想的である。 タイマは、他の時間間隔の計算に使用される割込みを 0.25 秒ごとに生成する。デルタシグマ ADC は、ASA12 図 8. 電池測定の実行 [+] Feedback AN2107 PGA は広い範囲のゲイン レベル(有用な値は 0.5∼ 16)を勧めているので、このアンプは、電池の温度測定 に有効活用できる。 サーミスタ抵抗は、温度が上昇すると急激に減少するた め、サーミスタの電圧は広い範囲で変化する [7]。 図 8 は、測定用の構成を図示している。電池の電流測定 は、計測アンプと ADC 入力の電圧オフセットを抑制す るために 2 段階で行われる。 スイッチ SW2 はポジション 2 に配置され、INA 入力は 最初の段階で短絡する。電流経路指定スキームでは、 INA 入力と AGND を接続することはできない。このポ ジションは、INA オフセット電圧の測定に使用される。 スイッチ SW2 がポジション 1 になり、電流検知レジス タ信号が測定される。R10=R11=R12、R15=R21=R22、 R17<<R15 の場合は、SW2 のポジション 1 と 2 に対応す る ADC コード間の違いは、INA および ADC オフセッ ト電圧の影響なしで、電池電流に直接比例する。次の式 は、電流測定スキームを表わしている。 (1) ここで Cmax は最大 ADC コードであり、二極モードの 11 ビット シグマデルタ ADC の場合は 1023 である。C1 と C2 は、1 番目と 2 番目の測定の ADC コードである。 Vos は INA オフセット電圧、Ibat は電池電流、Gina は INA ゲイン、Uref はバンドギャップ リファレンス電圧(1.3 V)、そしてβは抵抗分割器の係数である。 (2) 選択された抵抗分割器の値(並列値は 10k 未満)に対す る INA 入力電流の影響は小さく、この場合は無視して もよい。それより重要なのは、高いコモンモード信号を 拒絶するために抵抗分割器で精密な抵抗を使用すること である。 R10∼R12、R15、R21 および R22 の推奨許容値は 0.1% である。以下を満足する最大電池電圧 Ubat max、電池電流 Ibat max、および抵抗分割器の値を選択する必要がある。 INA 最大入力電圧は、許容されている計測アン プ コモンモード電圧(5 V 電源の場合 Ucm max = 4 V)より低く設定する。または、 (3) 電流検知レジスタの差動電圧による ADC の飽和を防止するには、次の式が真でなければならない。 (4) [+] Feedback AN2107 高い INA オフセット電圧が発生したときのために、約 15∼20%の予備の ADC 入力範囲が必要である。 電池電圧も PGA を使用して 2 段階で測定する。 まず、SW3 をポジション 4 に配置し、マイナス側の電 池リード線の電圧を測定する。次に、SW3 をポジショ ン 3 に配置し、プラス側の電池リード線の電位差を測定 する。プログラムはこれらの測定値の差によって、 PGA/ADC 入力電圧オフセット エラーの影響なしに、正 確な電池電圧を計算できる。 (5) ここで GPGA は PGA ゲイン、Vos は PGA 入力電圧オフ セット、Uref はリファレンス電圧である。Cmax は最大 ADC コードの値で、C1 と C2 は 1 番目と 2 番目の測定 の ADC コードである。電圧測定時の ADC の飽和を防 止するには、次の式が真でなければならない。 (6) INA のデフォルト ゲイン値は 16、PGA のデフォルト ゲイン値は 1 である。以下のバージョンの充電器ファー ムウェア/PC ベースのソフトウェアは、厳密な電池の 種類とセル数に対して、自動ゲイン選択と抵抗分割器の 最適化をサポートする。与えられた電池電圧と充電電流 に対して式 (3)、(4)、(6) を満たす抵抗分割器の値を選 択すること。適切な抵抗値の計算規則は非常に簡単で、 与えられた最大充電電池電圧に対する β 値を (3)、(4) および (6) から計算した後、求められた 3 つの数値の最 小値を選択し、R12 の固定値を使用して式 (2) で R15 の 値を計算する。 温度は、R9 の電圧降下を測定することで測定する。測 定範囲を広げるために、PGA を使用した。測定プロセ スは 2 段階に分けられ、まず SW3 をポジション 2 に切 り替え、PGA 入力オフセットを測定し、次にスイッチ SW3 をポジション 1 にして、R9 の下位ピンの電位差を 測定する。2 つの測定値の差を求めると、明確な R9 の 電圧降下が得られる。電池電圧測定と同じ手法により、 2 つの ADC コード間の差を次の式で計算する。 (7) ここで GPGA は、温度測定中の PGA ゲインである。GPGA は、電流 ADC コード値によって 1 または 8 に自動設定 される。Cmax は最大 ADC コードの値である。 式 (7) から容易に理解できるように、温度コードはリ ファレンス電圧値 Uref にはまったく依存していない。 ADC 飽和のない温度測定を行うには、最高予測温度で のサーミスタ値が次の式を満たす必要がある。 (8) [+] Feedback AN2107 GPGA min = 1 なので、Rt (t max) > R9 である。 PSoC の列 2 と 3 のマルチプレクサは、SW2 と SW3 に 対して機能する。切り替えは、充電器ファームウェアの AMX_IN レジスタを直接修正することによって行う。 充電器ファームウェア 充電器ファームウェアは複数のモジュールに分けられて おり、それらのモジュールは、要求された測定の実行、 電池充電プロセスの調整、タイマ機能、充電アルゴリズ ムの実行、充電終了条件のチェック、PSoC フラッシュ メモリへの選択された充電器パラメータと校正の設定の 保存、リモート制御、およびデータ交換などの個別の機 能を実行する。 PWM 値を更新すると、一連の条件テストは終了とな る。充電時間全体がまずチェックされ、全体の充電タイ ムアウトが発生している場合は、充電器タイムアウト エラーで停止される。次に電池充電電圧をチェックする 必要がある。この電圧が最大許容値より高い場合は、電 池電圧エラー フラグを立てて充電プロセスを終了す る。この現象は一般的に、充電プロセス中に電池を取り 外したり、レギュレータが充電電流を 1 度に減少させる だけの十分な時間がなかったときに発生する。また、こ の条件テストを使用して、内部抵抗が高い損傷した電池 を検出することもできる。 次に電池の温度をチェックする。電池の温度が指定範囲 にない場合は、電池の充電電圧と電流のアイドル値が充 電レギュレータに送られ、動作タイマは中断される。こ のタイマにより、急速/活性化/細流充電時間が計られ る。充電器は、電池充電電圧、電流測定および PWM の 調整に戻る。 電池充電アルゴリズム 様々な種類の電池の充電グラフを分析すると、次の一般 化された電池充電アルゴリズムが示唆される。まず、電 池の放電設定を分析する。電池を放電する必要がある場 合は、放電スイッチの電源が入る。電源が入ると、電圧 が放電停止しきい値以下になるまで、充電器は継続的に 電池電圧を測定する。電池が十分放電されると、充電プ ロセスが開始可能になる。放電時間全体はタイマによっ て保護される。タイマでタイムアウトが発生すると、放 電プロセスはタイムアウト エラーで終了となる。 電池充電プロセスを開始するには、充電終了フラグを再 設定し、電池の充電電流と電圧のアイドル値を設定す る。これらの値は、電池の温度が許容範囲外の場合に充 電レギュレータに入力される。電池の温度があらかじめ 決められている範囲外の場合、Ni ベースの電池では少 量の充電電流による充電が可能だが、他の電池は充電で きない。よって、SLA、Li-Ion、Li-Pol 電池の場合は、 アイドル モードの充電値は、充電電流をすべて妨げる 0 に設定する必要がある。 レギュレータ電圧と電流値が決まると、次は現在の電池 電圧、充電電流を測定して、選択した調整法則に従って ステップダウン コンバータの PWM 値を更新すること である。 電池の温度が適切な場合は、終了フラグがチェックされ る。終了フラグが設定されている場合は、細流充電値が レギュレータに送られ、動作タイマが再開される。この 後、細流時間全体がチェックされる。細流タイムアウト が発生すると、プロセスはエラーなしで終了する。終了 フラグが設定されていない場合は、電池電圧が分析され る。このレベルが急速充電開始電圧より高い場合は、急 速充電モードが選択される(低い場合は、活性化充電が 選択される)。動作タイマは、活性化充電モードと急速 充電モードのいずれの場合でも再開され、それぞれに対 応するタイムアウトがチェックされる。タイムアウトが 発生すると、充電プロセスはタイムアウト エラーで終 了となる。 終了基準が満たされると、終了フラグを設定して、急速 充電が終了する。異なる種類の電池は、特徴となる様々 な終了基準を持つ。例えば、SLA 電池の急速充電は、充 電電流があらかじめ決められているレベル以下になると 終了する。これらの条件テストが完了すると、充電器は 電池測定と PWM 調整を開始する。 提案アルゴリズムを図 9 に示す。 [+] Feedback AN2107 図 9. 一般的な電池充電アルゴリズム [+] Feedback AN2107 アルゴリズム設定を変更し、充電/終了基準を修正する ことで、新しい種類の電池もサポート可能である。 このアルゴリズムは、ステート マシーンとして充電器 ファームウェアに実装される。 図 10. 使用される状態は、充電の初期状態を意味する STOPPED、充電プロセスの初期化を示す STARTING、 電池放電プロセスを意味する DISCHARGE、電池の温度 が許容温度範囲外のときのアイドル状態に使用される WAITING、電池の活性化充電、急速充電および細流充 電を表わす ACTIVATION、RAPID および TRICKLE であ る。充電器の状態図を図 10 に示す。 充電器の状態図 最 初 、 充 電 器 は STOPPED 状 態 に あ り 、 こ の 状 態 は (ユーザ インタフェースまたはシリアル ポートから の)外部事象を受信するまで維持される(2)。充電開始 コマンドが発行されると、充電器は STARTING 状態に 移る(3)。まず電池を放電しなければならない場合は、 充電器は DISCHARGE 状態へとジャンプし(4)、これ 以外の場合は直接 WAITING 状態になる(6)。電池が完 全に放電されるまで、充電器は DISCHARGE 状態を維 持する(22)。 充電器は、電池の温度があらかじめ決められている範囲 になるまで、WAITING 状態を維持する(7)。電池の温 度が適切な場合、ACTIVATION と RAPID 状態は切り替 え可能である。 電池電圧が急速充電開始電圧未満の場合、充電器は ACTIVATION 状 態 に 移 り ( 11 )、 そ れ 以 外 の 場 合 は RAPID 状態(15)に移る。 電池電圧が急速充電開始電圧に達すると、充電器は ACTIVATION 状態から RAPID 状態に切り替わる(13)。 終了基準が満たされると、TRICKLE 状態は RAPID 状態 となる(16)。TRICKLE 状態のタイムアウトが発生する と、充電器は STOPPED 状態に移る(8)。電池の温度が 許容範囲外になると、充電器は RAPID、ACTIVATION または TRICKLE 状態から、一時的に WAITING 状態に 戻る(12)、(14)、(20)。 [+] Feedback AN2107 全体またはある動作の充電タイムアウトが発生した場合 や、電池電圧が充電終了電圧より高くなった場合は、充 電プロセスはエラーで終了となる(1)、(8)、(18)、 (19)。 タイマ 前述のとおり、充電器は 0.25 秒間隔の割込みを 1 次リ アルタイム クロックとして使用する。2 バイトの変数 は、タイマの作動ごとに増分され、時間カウンタとして 使用される。カウンタは 4.5 時間ごとにオーバーフロー となるが、この現象は充電器の動作には影響しない。以 降の時間間隔はすべて、このカウンタの分析により生成 される。最新のファームウェア リリースでは、様々な 時間間隔を計算する 3 つのソフトウェア カウントダウ ン タイマが用いられる。 各タイマは異なる分解能を持ち、異なる目的で用いられ る。タイマ 1 の分解能は 1 秒で、電池の温度測定間隔を 提供する。電池の温度は 4 秒ごとに測定される。タイマ 2 は動作タイムアウトを規定し、分解能は 64 秒で、リ セットなしの中断/再開動作をサポートする。タイマ 3 は充電時間全体の計算に使用され、分解能は 256 秒であ る。 電池温度の計算 現在の電池パックで幅広く使用されているサーミスタ は、非線形転送機能を持つ。抵抗と温度の依存関係は次 の式 [9] で計算できる。 (9) ここで A、B、C は近似係数である。Rt はサーミスタ抵 抗で、Tk はサーミスタの絶対温度(K)である。式 (9) を直接計算すると、複雑な浮動小数点計算が必要で、本 充電器の実装には向いていない。温度範囲が 60°C に限 られているため(0∼60°C 以外では、すべての電池は活 性化/急速充電できない)、より適切な方法は電池温度 を計算する検索テーブルを使用することである。複雑な 数学計算を除外するために、このテーブルには具体的な 温度に対応する ADC コードの配列を含める必要があ る。検索アルゴリズムは、測定された ADC コードに最 も近いテーブルの値を参照する。テーブルの索引は、電 池の温度を直線的に反映する。 検索テーブル コードは、(カルダノの公式を使用して) 特定の温度でのサーミスタ抵抗を把握するための (9) の 逆関数と対応 ADC コードを計算するための式 (7) から 計算できる。このコードは、充電器の校正後 PSoC フ ラッシュ メモリに保存できる。充電器は、開始点が 0°C で 0.25°C ずつ増える 256 の点からなる検索テーブル を使用する。このテーブルは 512 バイトのフラッシュ メモリを消費するが、PSoC は十分なフラッシュ メモリ を備えているため、容量の問題はまったく起こらない。 よって、この検索テーブルを使用して測定すると 63.75°C になる最大温度は、この用途に対して完全に十 分なものである。 充電完了チェック 様々な種類の電池は、異なる急速充電終了方針を持って いる。SLA 電池と Li-Ion 電池の場合、充電電流があらか じめ決められているレベル以下になると急速充電が終了 する。この基準は、ソフトウェアに簡単に実装できる。 Ni-Cd 電池と Ni-MH 電池では、温度の変化率の検出と最 大値からの電池電圧の降下という 2 つの補完的な終了基 準が使用される。ほとんどの充電器は定期的に温度を測 定し、隣接する温度の点の差を計算する。アルゴリズム 実装は簡単であるが、雑音排除性が低く騒がしい環境11 では、充電プロセスを誤って終了する場合がある。ここ で提案する統合手法にはこの欠点がない。 この手法のベースは、隣接する時間間隔の合計の計算と 比較である。このアルゴリズムの実装を図 11 に示す。 1 著者は、サーミスタ ワイヤの長さが長すぎ、他のシステム パーツによって騒音が発生する場合に、この現象を市販の充電 器で観察した。 [+] Feedback AN2107 図 11. 電池の温度変化率の積分解析 2 つの累積間隔内で温度が直線状に上昇すると仮定す る。温度変化時間と比較して累積間隔が小さい場合、完 全にこの状態が実現される。したがって、温度変化の法 則は次の形で表わされる。 (10) ここで i はサンプル点番号であり、T0 とα は近似係数で ある。隣接する 2 つの積分和が予想できる。指数 i は、 最初の和では 0∼N-1 の範囲で変化し、2 番目の積分和 では N∼2N-1 の範囲で変化する。 (11) ここでは数学的な比例和計算の公式が使用され、この概 算では量子化効果は考慮されてない。 2 つの和の違いは次のようになる。 (12) 2 つの和の違いは初期温度 T0 には依存しない。この基準 を実践で使用するには、温度の変化を通してパラメータ の概算を求める必要がある。 累積時間∆t 時間内で N 個のポイントを収集し、温度変 化∆T が観察されたとする。これらの値を式 (10) に代入 すると、α を次の式から計算できる。 [+] Feedback AN2107 (13) 充電器は、定期的に電池の温度を測定し、N 個の温度値 を計算する。このプロセスの終了後、隣接する積分和が 比較される。これら 2 つの積分和の差があらかじめ決め られているしきい値より大きい場合、電池の温度変化率 が充電終了しきい値に達し、充電器を次の状態に切り替 える必要があると判断される。ファームウェアの今回の リリースでは、温度測定が 4 秒ごとに開始される。積分 和の累積時間は 64 秒で、16 個の温度サンプルを考慮で きる。 減少する電池電圧を検出するために、充電電圧の最大値 は絶えず更新され、最大値と最新の充電電圧間の差の概 算が求められる。この差があらかじめ決められているし きい値に達すると、終了基準を満たしたとみなされる。 検出器の雑音抵抗と充電器の信頼性を向上させるため に、電圧サンプルはまず IIR LPF フィルタでフィルタリ ングする。フィルタ転送機能は、次の式で決まる。 (14) ここで yj はフィルタ出力信号 j のサンプル、vj は入力電 圧のサンプル、γ、γ < 1 はフィルタ係数である。この フィルタの特徴はゲインγ-1 で、電圧しきい値にはフィル タのゲインに比例してγ-1 が掛けられる。このフィルタの 実装では、固定小数点の丸め誤差の影響を抑え、少量の 電圧降下の検出精度を改善できる。除算/乗算の代わり に、バイナリ シフトγ = 2-K が使用される(K = 1∼3)。 この充電器は、動特性は劣っているがレギュレータ係数 の概算計算を必要としない単純なレギュレータを使用し ている。充電電圧と電流があらかじめ決められている値 より小さい場合、レギュレータの動作は PWM カウンタ 値の増加に基づく。充電電圧または電流があらかじめ決 められている値より大きい場合、PWM カウンタは減ら される。カウンタ値は、0 より大きいか小さいかによ り、また PWM の最大値により制限される。レギュレー タの動作を図 12 に示す。 充電レギュレータ 本アプリケーション ノートの最初のセクションでは、 電池充電アルゴリズムを考察した。汎用充電器を実装す るには、レギュレータが充電の電流と電圧をいずれも調 整でき、様々な動特性のロード時も安定している必要が ある。従来の PID(比例・積分・微分)制御レギュレー タは、適切に選択されたレギュレータ係数に対しては優 れた調整特性を実現する。これらの係数は、ステップダ ウン コンバータ/負荷の動的挙動および必要なサンプ ル周波数を反映させる必要がある。最適な調整を行うた めに、レギュレータ係数を動的に更新し、負荷特性の変 化 [2] を反映させる必要がある。これ以外に、ファジー 理論システムの使用も考えられる。 [+] Feedback AN2107 図 12. 充電レギュレータの動作 データ交換プロトコル 充電器は、シリアル ポート通信を利用して、リモート 制御と充電プロセスの監視を行う。2 つの制御ボタンを 持つスタンドアロン アプリケーションとして動作でき るが、サーミスタ検索テーブルと電池設定をまずアップ ロ ー ド す る 必 要 が あ る 。 こ れ ら の 設 定 は 、 不 揮発性 PSoC フラッシュ メモリに保存される。通信モデルの ベースは、マスタ スレーブ方式である。専用制御の 下、PC はマスタとして、充電器はスレーブとして動作 する。UART を持つホスト コントローラはどれでも充 電器をリモート制御できる。 PC またはホスト コントローラはあらかじめ決められて いるコマンドを送信し、充電器は各コマンドに対して応 答する。ファームウェアの最新リリースは、次のコマン ドに対応している。 充電器接続を検出するテスト データ リンク PSoC ダイの温度の測定とフラッシュ メモリの 開始ブロック番号の設定 図 13. フラッシュ メモリ ブロックの書き込み(サー ミスタ検索テーブルと電池設定のアップロード に使用) 充電の開始と停止 充電器状態情報の要求。応答には、ステート マシーンの状 態、エラー コード、現在 の時 間、電池の温度、充電の電流および電圧が含ま れる。 データ通信プロトコルはあまり問題にはならない。各パ ケットは、開始バイト「S」、データ バイト、および停 止バイト「P」で構成される。メッセージの長さはコマ ンドの種類によって異なる。データ バイトは 16 進数で 符号化されるので、各データ バイトの送受信には 2 バ イトが必要である。一般的にデータ交換速度は非常に遅 く(毎秒数 10 バイト)、バイトは新たなメモリを使うこ となくオンザフライで符号化または復号されるので、こ の 100%オーバーヘッドにより問題が生じることはな い。 データ パケットの構造を図 13 に示す。 データ パケットの構造 [+] Feedback AN2107 シリアル レシーバおよびトランスミッタの動作は、 UART ポーリングを完全に排除するために割込みによっ 図 14. て行われる。レシーバにはステート マシーンが含まれ る。レシーバの動作を図 14 に示す。 シリアル レシーバのステート マシーン 最初、レシーバは READY 状態である。開始バイトが受 信されるまで、レシーバはこの状態を維持する(1)。開 始バイトを受信すると、レシーバは RECEIVING 状態に 移る(2)。この状態は、停止バイトが受信されるまで維 持される(4)。停止バイトを受信すると、レシーバは COMPLETE 状態に移る(5)。以下の事象が 1 つでも発 生すると、レシーバは RECEIVING から READY 状態に なる(3)。 新しい開始バイトを受信した。 受信したシンボルを復号できない、または受信 がエラーとなった。 処 理 中 のデ ー タ よ り 大 き い バ ッ フ ァ サイズ デ ー タ バ イ ト が 停 止 バ イ ト な し で 受 信 され た。 レシーバは、データ パケットが読み込まれる か、または処理されるまで、COMPLETE 状態 を維持する(6)。レシーバは、受信データの処 理後、対応するルーチンを呼び出すことによ り、メイン プログラム ループ内でリセットさ れる(7)。 充電器制御ソフトウェア 充電器の構成を単純化し、充電プロセスを監視するため に、専用の充電器制御ソフトウェアを開発した。そのソ フトウェアの主な特徴は次のとおりである。 PSoC フラッシュ メモリへのアップロードも含 む自動電池設定とサーミスタ検索テーブルの生 成 このソフトウェアはマルチスレッド Win32 アプリケー ションであり、Microsoft Windows 98、NT、2000、また は XP 上で実行できる。 プログラム インタフェースは非常にシンプルで、ユー ザはいくつかの手順を完了するだけで、充電器の設定を 終わらせることができる。次のような手順を実行する。 設定プログラム オプションと シリアル ポートの設定 プログラムのインストール後、シリアル ポート設定を まずチェックする必要がある。メイン プログラム メ ニューから、「Settings -> Serial Port Settings」を選択後、 空いているシリアル ポートと 19200 ボー、8 データ ビット、1 停止ビット、フロー制御なしとパリティなし を 選 択 す る 。 OK を 押 し て ウ ィ ン ド ウ を 閉 じ る 。 「Query」ボタンを押すと、シリアル ポートの設定をテ ストできる。メッセージ ウィンドウの Output タブに 「The diagnostic message was received(診断メッセージが 受 信 さ れ ま し た )」 が 表 示 さ れ る は ず で あ る 。「 The charger is not responding(充電器からの応答がありませ ん)」という赤色のテキストが表示された場合は、シリ アル ポート接続と充電器の電源をチェックすること。 ディスクのロード/保存機能を含む対話ベース の電池パラメータ設定 電圧と電流の校正 ディスクのロード/保存/追加機能を含む電池 の電圧、電流、温度の視覚的表現 [+] Feedback AN2107 図 15. シリアル ポート ダイアログ ウィンドウ プログラム オプション ウィンドウ(Settings -> Program Options)では、充電器照会期間と充電器の応答待ちタイ ムアウトを選択できる。すべての値の単位はミリ秒であ る。次に、チェックボックスを選択し、新しい電池設定 を充電器フラッシュ メモリに自動アップロードするこ とができる(ただし、サーミスタ検索テーブルをアップ ロードするには、対応するメニュー項目を自分で押す必 要がある) 。 図 17. 図 16. プログラム オプションの ダイアログ ウィンドウ 注 シリアル ポート設定とプログラム オプションはシ ステム レジストリに自動保存され、次にプログラムを 起動したときに検索できる。すべての診断メッセージ は、タブが 2 つあるメッセージ ウィンドウに送られ る。1 番目のタブ「Output」は、様々な診断メッセージ を表示し、2 番目のタブ「Values」は、測定された電池 の電圧、電流、温度、充電器のステート マシーンの状 態、エラー コードなどの現在の充電器情報を表示す る。メッセージ例を次に示す。 メッセージ ウィンドウのタブ 電池パラメータの設定 不正な電池設定は電池や、場合によっては充電器にまで 損傷を与える可能性があるので、電池パラメータは注意 して設定しなければならない。 こ の コ マ ン ド を 呼 び 出 す に は 、「 Settings -> Battery Settings」または speedup ボタンを使用する。このダイア ログの 2 つのタブを次に示す。1 番目のタブは電池設定 用で、2 番目のタブは充電器のハードウェア コンポー ネント パラメータの選択用である。 [+] Feedback AN2107 図 18. 電池設定ダイアログ まず電池の種類を選択し、次に下記の表に従って電池の特性をすべて入力する。 表 2. Ni-Cd 電池と Ni-MH 電池の設定表 パラメータ名 パラメータの説明と単位 ActivationChargeRatio 活性化充電段階の電池の充電電流と容量の関係、h-1 ActivationTimeout 活性化充電タイムアウト、分 Alias ユーザに分かりやすい電池名またはモデル番号、他のパラメータと一緒に保存 Capacitance 電池の容量、A*h Cells 電池のセル数 CheckTempIncrease 急速充電終了基準として温度の変化率の上昇を使用する場合は、このチェックボックスを チェック CheckVoltageDecay 急速充電終了基準として電池電圧の降下を使用する場合は、このチェックボックスを チェック DeactiveTime 電圧の初期降下による誤った急速充電終了を防止するためのタイムアウト、分 DischargeFirst 電池充電の前に放電を行う場合は、このチェックボックスをチェック DischargeStop 放電停止電圧、V/セル MaxTemp 許容温度間隔の上限値、°C RapidChargeRatio 急速充電段階の電池の充電電流と容量の関係、h-1 RapidStartVoltage 活性化充電と急速充電間の切り替えしきい値、V/セル RapidTimeout 急速充電タイムアウト、分 StartTemp 許容温度間隔の下限値、°C TempIncValue 急速充電終了を検出するための電池の温度上昇速度、°C/分 TotalTimeout 充電タイムアウト全体、分 TricleChargeRatio 細流充電段階の電池の充電電流と容量の関係、h-1 TricleTimeout 細流充電タイムアウト、分 VoltageDecay 急速充電を終了させるための電池の電圧降下レベル、V/セル [+] Feedback AN2107 表 3. Li-Ion 電池、Li-Pol 電池および SLA 電池の設定表 パラメータ名 パラメータの説明と単位 ActivationChargeRatio 活性化充電段階の電池の充電電流と容量の関係、h-1 ActivationTimeout 活性化充電タイムアウト、分 Alias ユーザに分かりやすい電池名またはモデル番号 Capacitance 電池の容量、A*h Cells 電池のセル数 DischargeFirst 電池充電の前に放電を行う場合は、このチェックボックスをチェック DischargeStop 放電停止電圧、V/セル MaxTemp 許容温度間隔の上限値、°C RapidChargeRatio 急速充電段階の電池の充電電流と容量の関係、h-1 RapidStartVoltage 活性化充電と急速充電間の切り替えしきい値、V/セル RapidTerminationCurrent 急速充電終了電流を決める電池の充電電流と電池容量間の関係、h-1 RapidTimeout 急速充電タイムアウト、分 RapidVoltageLimit 急速充電中の最大充電電圧、V/セル StartTemp 許容温度間隔の下限値、°C TotalTimeout 充電タイムアウト全体、分 TricleChargeRatio 細流充電段階の電池の充電電流と容量の関係、h-1 TricleTimeout TricleVoltageLimit 細流充電タイムアウト、分 Li ベースの電池では 0 に設定可 細流充電段階の最大充電電圧 電池充電パラメータの設定を終了したら、OK ボタンを クリックする。メッセージのウィンドウを参照して、電 池パラメータの計算でエラーが発生していないことを確 認する。 図 19. 図 19 のようなメッセージが表示された場合は、電池設 定が抵抗分割器の値を反映していないので、前述の式に 従って値を修正する。 エラー メッセージの例 次に、「Resistive Divider」タブを選択し、抵抗値を適切 な式に修正する(充電器ハードウェアのセクションで検 討済み)。充電器の校正機能も実装されている。バンド ギャップ電圧エラー、PSoC ブロック ゲイン エラー、 抵抗分圧器抵抗エラー、PCB トラック電圧の降下は、電 池の電圧と電流の測定でエラーを発生させ、充電プロセ スの精度を低下させる。 これらのエラーは、外部の測定値と充電器データを比較 することで減らすことができる。校正を実行するには、 電圧と電流の測定エラーを 0 に設定し、「Ok」を押して ダイアログ ボックスを閉じ、電池設定を充電器にアッ プロードする。次に、電池充電プロセスを開始する。 [+] Feedback AN2107 急速充電段階では、精密な外部 U-I メータを使用して、 電池の実際の電流と電圧を測定し、メッセージ ウィン ドウの Values タブに表示される充電器の測定値と比較す る。 次に、これらの差をパーセントで計算する。求めた値を 「U measuring error」と「I measuring error」編集ボック スに入力し、Ok ボタンをクリックする。Values タブの 新しい電圧と電流を見直す。これらの値は、外部メータ の測定値に極めて近くなければならない。再計算された 電池設定を充電器にアップロードし、後で見直すために 電池設定をファイルに保存する。校正プロセスはこれで 完了となる。この動作に際して、本物の電池の代わりに 抵抗を使用することもできる。抵抗値は、公称電池電圧 と急速充電電流の関係として計算できる。 図 20. 電池パラメータの設定後は、すべての設定をファイルに 保存できる。「File -> Save battery settings」を使用するこ と。後で保存ファイルを開くには、「File -> Open Battery Settings」を選択する。充電器の抵抗分割器の値と校正 データは、電池設定とリンクしており、電池によって違 うので、これらの値は一緒に保存され/開かれる。正し い電池設定を選択している場合は、「Action ->Upload Battery Data」を押して、これらの値を充電器にアップ ロードできる。このようにして、充電器設定の計算と充 電器データの視覚化の両方において校正による補正が考 慮される。 サーミスタ校正データの入力 様々な電池パックは、異なるサーミスタ温度係数によっ て特徴付けられる。適切な充電器の検索テーブルを生成 するには、サーミスタ温度の曲線によってこれらの係数 の概算を求める必要がある。充電器制御ソフトウェアで は、実験データやパスポート データを使用して、任意 のサーミスタのサーミスタ抵抗近似係数を抽出できる。 「Settings -> Thermistor calibration」をクリックすると、 次のダイアログ ウィンドウが表示される。 サーミスタ校正ダイアログ ボックス まず、上の編集ボックスに R9 の値を入力する。式 (8) から容易に理解できるように、ADC の飽和を防ぐた め、分配器の抵抗は最高動作温度に対するサーミスタ抵 抗以下でなければならない。経験から言える実際的な方 法は、分配器の抵抗をサーミスタの値と同じ 65°C に設 定することである。R9 の値の選択が不適切な場合は、 メッセージ ウィンドウに警告メッセージが表示され る。 Insert、Arrow、Page Up、Page Down キーを使用して、値 エディタに新しい行を作成し、温度と抵抗の数値を入力 する。値をすべて入力すると、値エディタの文脈依存メ ニューからテキスト ファイルに値を保存できる。次回 この文脈依存メニューを使用してファイルを開くことも できる。サーミスタ係数を求めるには、実験によって測 定された値やサーミスタ データシートのデータから抽 出した値を使用する。ユーザは、少なくとも抵抗と温度 のペアを 3 つ提供しなければならず、ソフトウェアは最 小二乗適合処理を実行してサーミスタ係数と検索テーブ ルを自動計算する。 [+] Feedback AN2107 サーミスタ データにノイズが多く含まれている場合に は、4 つ以上のポイントを入力して、測定の精度を上げ る必要がある。このとき、0°C と 60°C 付近のポイント も必ず含めること。Generate ボタンを押すと、推定グラ フが表示され、近似係数と統計情報がメッセージ ウィ ンド ウ に 出 力 さ れる 。 い か な る 場 合 で も メ ッ セージ ウィンドウを精査して、推定結果を確認すること。 この情報は、電池の評価の際あるいはテストのために有 効である。メッセージ ウィンドウのテキストは、文脈 依存メニューから消去できる。また、充電プロセスは 「Abort」ボタンを押していつでも中止できる。プロセ スが中止されると、充電器は STOPPED 状態に戻る。 データの視覚化 グラフの Y 軸目盛りは、グラフの文脈依存メニューに より対数から線形に切り替え可能である。サーミスタ係 数が測定され、検索テーブルに値が入力されると、 「Actions -> Upload Thermistor Table」を選択して、検索 テーブルを充電器にアップロードできる。 充電の開始 電池設定とサーミスタ検索テーブルを生成し、充電器の PSoC フ ラ ッ シ ュ メ モ リ に ア ッ プ ロ ー ド し た 後 は 、 「Start」ボタンを押すだけで充電プロセスを開始でき る。関連情報は、メッセージ ウィンドウの Output タブ に表示される。Values タブには、電池の電圧、電流、温 度、現在の充電器状態および復号されたエラー コード が表示される。 図 21. グラフのズーミング 「File -> Graph data」を押すと、グラフ データを保存で き る 。 ま た 、 こ の ソ フ ト ウ ェ ア で は 、「 File->Open Graphs Data」を押すと以前保存されたデータを開くこと ができ、比較や詳細分析のために、他のグラフを既存の グラフに追加することもできる。 図 22. 充電プロセスの開始後、充電器はソフトウェアによって 定期的に照会される。この照会間隔は、オンザフライで 「Program Options」ダイアログ ウィンドウ内で調整で きる。ソフトウェアは、充電中グラフ ウィンドウを絶 えず更新するので、リアルタイムの電池充電時間グラフ を参照できる。データ ポイントの表示/非表示やグラ フのズーミングも実装可能である。データ ポイントを 表示/非表示にするには、グラフの文脈依存メニューを 使用する。グラフをズーミングするには、マウスの左ボ タンと Shift キーを押して、ズーミングする部分を矩形 で囲む。マウスの左ボタンを離すと、グラフが矩形の領 域に合わせてズーミングされる。グラフの全体表示に戻 るには、Shift ボタンを押して、グラフの領域をダブル クリックする。 この動作には、「Append Graph Data」を使用する。 1 つのウィンドウに表示された複数の充電グラフ [+] Feedback AN2107 さらなる探究 ここで提案されている充電器は、電池の再生、高度な診断およびテスト、燃料ガス測定、残量予測、充電パラメータ温 度修正による適応性のある充電方式など、電池充電に関する高度なトピックの一部をカバーしていない。これらの機能 は、ファームウェアの次のリリースで追加する予定である。PSoC フラッシュ セルフプログラミング メモリ ブロック の CRC チェックも、壊れた電池設定の検出用に提供する予定である。 電池設定とサーミスタ検索テーブルの C ヘッダを生成する機能が、充電器制御ソフトウェアに追加される予定である。 この機能は、ユーザが充電器を十分テストし、1 種類の電池だけをサポートし、シリアル インタフェースを持たないデ バイスを大量生産する場合に役立つ。次に、より詳しいユーザ入力チェックが行われる。最後に、電池パラメータに依 存する充電器ハードウェア係数の自動計算と最適化が追加される。これらのパラメータには、PGA/INA ゲイン レベ ル、抵抗分割器の値などがある。 まとめ 複数の種類の充電器について検討してきた。充電器リファレンス設計には、完全なファームウェア電源、Orcad 回路図 およびレイアウト ファイルが含まれる。充電器制御ソフトウェア電源は、著者が無料で提供している。このソフトウェ アは Borland Delphi 7 で記述されているが、充電器は従来の電池充電以外にも使用できる。PSoC のアーキテクチャには 柔軟性があるため、追加機能を容易に実装することができる。例えば著者の知人は、小型電気レーシング カーを競技 中、電池検査中、診断中などに急速充電するために、この充電器を使用している。この場合、このわずか 10 ドルの設計 が非常に高価な電池診断装置の代わりに用いられているわけである。 参考文献 Isidor Buchmann 著 "Batteries in a portable world":これは電池の化学成分、動作、充電機構に関する優れた書物であり、 http://www.buchmann.ca/toc.asp にて無料で入手できる。 Benjamin Kuo 著 "Digital Control Systems":ここではデジタル制御システムについての疑問が検討されている。 "Charge Methods for Ni-Cd Batteries" "Charge Methods for Nickel Metal Hydride Batteries" "Charge Methods for Li-Ion Batteries" 以上 3 点の参考文献は化学成分固有の電池充電方法について解説したもので、http://www.panasonic.com/industrial/battery/ からダウンロードできる。 AD-DC 主電源のコンポーネントは、Power Integration、On-Semiconductor、International Rectifier、Infineon 各社で製造さ れている。詳細については、各社のサイトを参照願いたい。 "NTC/PCT Thermistors, A AVX-KYOCERA Reference"マニュアルについては、http://www.avxcorp.com/からダウンロードで きる。 P.P.K Ghetty 著 "Switch-mode power supply design," TAB Books, 1986 充電器制御ソフトウェアについては、Cypress サイトの http://www.cypressmicro.com/から全ソース プログラムをダウン ロードできる。 [+] Feedback AN2107 付録 A. 様々な種類の電池充電グラフの例。充電器はまず電池を放電し、活性化、急速、細流モードの順にオンにする。 図 23. 2 セル Ni-Cd 電池の充電グラフ 図 24. 2 セル Ni-MH 電池の充電グラフ [+] Feedback AN2107 電池の温度と時間の動作の差を参照のこと。 図 25. 図 26. 単一セル Li-Ion 電池の充電グラフ 3 セル SLA 電池の充電グラフ [+] Feedback AN2107 付録 B. 図 27. 充電器の写真、実寸 [+] Feedback AN2107 付録 C. 図 28. 充電器ファームウェア機能呼び出しツリー、ファームウェアの動作方法の理解に役立つ [+] Feedback AN2107 著者について 氏名: Victor Kremin 肩書き: 助教授 履歴: 1996 年に Ivan Franko National Lviv 大学で放 射線物理学の学士号を取得。2000 年にコン ピュータ支援設計システムの博士号を取 得。現在は "Lvivska Politekhnika" 国立大学 (ウクライナ)の助教授として勤務。 様々なプロセッサ、運用システム、対象ア プリケーションなどの組込みシステム設計 の全工程を研究 連絡先: [email protected] Cypress MicroSystems, Inc. Cypress MicroSystems and Cypress Semiconductor 2700 162nd Street S.W. Building D Lynnwood, WA 98037 電話:800.669.0557 FAX:425.787.4641 http://www.cypressmicro.com/ / http://www.cypress.com/aboutus/sales_locations.cfm / [email protected] Copyright ©2003 Cypress MicroSystems, Inc. All rights reserved. PSoCTM(Programmable System on Chip)は、Cypress MicroSystems, Inc.の商標です。 本書に記載されているその他の商標または登録商標はすべて、それぞれの会社の財産です。 本書に含まれる情報は、予告なしに変更されることがあります。 [+] Feedback
© Copyright 2024 Paperzz