要約
USBはあらゆる種類の低電力エレクトロニクス(バッテリ駆動の場合が多い)に電源として大きな機会を提供します。USBの広い有用性によって、バッテリ充電設計において課題とともに独特の機会が与えられます。このアプリケーションノートでは、シンプルなバッテリチャージャをUSB電源にインタフェースする方法について説明します。USBパワーバス特性のレビューにはNiMHおよびLi+ (リチウムイオン)バッテリ技術、充電方式、および充電終了技術の概要、およびUSBポートからNiMHセルのスマートな充電向けの完全な回路例が含まれます。
はじめに
USB (Universal Serial Bus)ポートは、電源とグランドを備えた双方向のデータポートです。外付けドライブ、メモリデバイス、キーボード、マウス、無線インタフェース、ビデオおよびスチルカメラ、MP3プレーヤ、およびその他無数のエレクトロニクス製品を含む、あらゆる種類の周辺機器をUSBに接続することができます。これらのデバイスの多くはバッテリ動作であり、その一部はバッテリを内蔵しています。USBが広く利用可能になったことで、バッテリ充電の設計に独特の機会が(そして難題も)生まれました。この記事では、単純なバッテリ充電器とUSB電源を接続する方法を説明します。ここではUSB電源バスの電圧、電流制限、突入電流、コネクタ、およびケーブル配線を含む特性にについて取り上げます。ニッケル水素(NiMH)およびリチウムのバッテリ技術、充電方式、および充電終了手法の概要も取り上げます。NiMHセルをUSBポートからスマート充電する完全な回路例と充電データも示します。
USBの特性
どこにでもあるUSBバスは、あらゆる種類の低消費電力エレクトロニクス機器向け電源として、大きなチャンスを提供します。USBバスの電力線は主電源から絶縁されており、比較的良好に安定化されています。しかし、利用することのできる電流の制限、負荷とホストまたは電源との間に相互作用があります。
USBポートは、90Ωの双方向差動シールドのツイストペア線、VBUS (+5V電源)、およびグランドで構成されます。この4本の導線が、アルミ箔の内部シールドと編祖の外部シールドでシールドされています。USB 2.0規格のコピーは、USB規格策定団体から無料で入手可能です。規格に完全準拠するためには、デバイスとホスト間をファンクションコントローラを介した双方向通信が必要です。規格では、1単位負荷は100mA (max)と定義されています。任意のデバイスが引き出せる最大電流は5単位負荷までです。
USBポートは、最大1単位負荷を供給する低電力型USBポートと、最大5単位負荷を供給する高電力型USBポートのいずれかに分類されます。デバイスが最初にUSBポートに接続された時点で、エニュメレーションによってデバイスが識別され、負荷要件が判定されます。この段階では、デバイスは1単位負荷でしか動作できません。エニュメレーション後、ホストの電源管理ソフトウェアが許せば、ハイパワーデバイスはより大きな電流で動作できるようになります。
(下位のUSBハブを含む)一部のホストシステムは、ヒューズまたはアクティブ電流センサによる電流制限を備えています。USBデバイスがエニュメレーションなしにUSBポートに対して高い(1単位以上の)電流負荷となった場合、過電流状態を引き起こし、使用中の1つまたは複数のUSBポートをシャットダウンさせる可能性があります。市販のUSBデバイスの中には(単体型のバッテリ充電器を含めて)エニュメレーション処理するファンクションコントローラなしで100mA以上を引き出すものが少なくありません。それらの製品は、間違った条件の下でホストに問題を起こす危険を冒しているわけです。たとえば、500mAを引き出すデバイスをバス給電のUSBハブに挿入した場合、エニュメレーションが適切に行われていないとハブとホストの両方のUSBポートが過負荷になる可能性があります。
さらに話が複雑になるのは、ホストのOSで(特にノートPC向けの)高度なパワーマネージメントが使用されていて、極めて低いポート電流が予想されている場合です。一部の省電力モードではコンピュータがUSBデバイスにサスペンドコマンドを発行し、その後それらのデバイスが省電力モードに入るものと想定されています。たとえ低消費電力のデバイスであっても、必ずホストと通信するためのファンクションコントローラを用意する方が良いでしょう。
USB 2.0規格は、電源管理、コネクタの構造、ケーブルの材質、許容される電圧降下、および突入電流が非常に細かく規定されています。低電流ポートと高電流ポートでは電源管理の規格が異なります。これらは主として、USB給電ハブを通過する際の電圧降下を含む、ホストと負荷の間のコネクタとケーブルによる電圧降下で決定されます。ホスト(コンピュータや自己給電USBハブなど)は、最大500mAをサポート可能な高電流ポートを備えています。低電流ポートは、受動的なバス給電のUSBハブに付いています。表1に、USBポートの上流(ソース)側端子における電圧許容値を高電流および低電流ポートについて示します。
表1. USB 2.0仕様の電源品質基準
Parameter | Requirement |
DC voltage, high-power port* | 4.75V to 5.25V |
DC voltage, low-power port* | 4.40V to 5.25V |
Maximum quiescent current (low power, suspend mode) | 500µA |
Maximum quiescent current (high power, suspend mode) | 2500µA |
Maximum allowable Input capacitance (load side) | 10µF |
Minimum required output capacitance (host side) | 120µF ±20% |
Maximum allowable inrush charge Into load | 50µC |
USB 2.0規格と互換性のあるホストでは、高電圧型ポートの上位側に低ESR静電容量の120µFが与えられます。接続されるUSBデバイスの入力静電容量は10µFに制限されており、最初の負荷接続に際してホスト(または給電ハブ)から引き出せる総許容電荷は50µCです。こうして、新しいデバイスがUSBポートに接続されるとき、上流ポートでの一時的電圧降下は0.5V以下になります。負荷の正しい動作にもっと大きな静電容量が必要な場合は、突入電流制限によって大きな静電容量を100mA以下で充電しなければなりません。
低電力機能のバス給電USBハブが接続されたUSBポートの許容DC電圧降下を図1に示します。無給電のハブにハイパワーの負荷を接続した場合は、電圧降下が図1よりも大きくなり、バスが過負荷になる可能性があります。
図1. ホストからローパワー負荷にかけてこれらの許容DC電圧降下より大きな降下があった場合、バスが過負荷になる可能性があります。
バッテリ充電の要件
単一セルのリチウムイオンおよびリチウムポリマ
今日のリチウム電池は、一般的にセルが最大定格容量まで充電されたときに4.1V~4.2Vになります。電圧が4.3V~4.4Vの範囲の、新しい、より大容量のセルも市販され始めています。一般的な角形リチウムイオン(Li+)およびリチウムポリマ(Li-Poly)の容量は600mAh~1400mAhです。
Li+、Li-Polyともに、望ましい充電プロファイルは、セル電圧が定格電圧に達するまで一定の充電電流で充電することです。定格電圧に達した後、充電器はセルにかかる電圧を規定値に保ちます。これらの2種類の制御状態を、定電流(constant-current:CC)充電および定電圧(constantvoltage:CV)充電と呼びます。したがって、このタイプの充電器は一般にCCCV充電器と呼ばれています。CCCV充電器がCVモードになったとき、セルに流れる電流は降下し始めます。0.5Cから1.5Cの間の典型的な充電レートの場合、CCモードとCVモードの間の遷移は、セルへの充電が完全充電容量の約80%から90%に達したときに起こります。CV充電モードに入った充電器は、セルの電流を監視します。電流が下限スレッショルド(数ミリアンペアまたは数十ミリアンペア)に達すると、充電器は充電を終了します。リチウム系バッテリの典型的な充電プロファイルを図2に示します。
図2. CCCV充電器を使ってリチウムバッテリを充電したときの標準的な結果
図1のUSB電圧降下を見ると、ポート給電ハブの下流側に位置する低電力型ポートにはセルを4.2Vに充電する場合に余裕がほとんどないことが分かります。充電経路にわずかな抵抗が追加されただけで、適切な充電ができなくなる可能性があります。
Li+およびLi-Polyセルの充電は、適度な温度で行う必要があります。メーカが推奨する最大充電温度は、一般的には+45℃~+55℃の範囲であり、許容放電温度はそれより10℃ほど高くなっています。これらのセルで使用されている材料は極めて反応性が高く、セル温度が+70℃を超えると発火の危険性があります。セルの温度を監視し、セルの温度がメーカ推奨の最大充電温度を超えたら充電を終了させるサーマルカットオフ回路を備えたリチウム電池用の充電器を設計すべきです。
ニッケル水素電池
NiMH電池はリチウムベースの電池よりも重く、エネルギー密度は低くなります。歴史的にはリチウムよりも安価でしたが、最近では価格差が小さくなっています。NiMH電池は標準サイズのものが入手可能であり、ほとんどのアプリケーションではアルカリ電池の代わりにそのまま使用することができます。各セルは公称1.2Vであり、完全充電時には1.5Vに達します。
NiMHバッテリは通常、定電流ソースを使って充電します。完全充電状態に達すると、発熱化学反応が生じてバッテリの温度が上昇し、端子電圧が低下します。バッテリ温度の上昇率または負方向の電圧の変化は充電終了の検出に使用されます。これらの終了方法は、それぞれdT/dt方式および-V方式と呼ばれています。非常に低い充電レートでは、dT/dtと-Vの作用があまり明確でなくなり、正確な検出が困難になる可能性があります。dT/dtと-Vの反応は、セルが過充電になりかけたときに始まります。このポイントを超えて充電を続けると、セルにダメージを与える恐れがあります。
C/3以上の充電レートにおける終了検出は、低い充電レートの場合よりもはるかに簡単です。温度上昇はおよそ1℃/分で、-V反応も低レートのときより強く現れます。急速充電の終了後、電流を下げて追加の充電期間を設け、セルを満タンにすることが推奨されます(トップオフ充電)。トップオフ充電サイクルが終わると、C/20またはC/30のトリクル充電電流によって自己放電の効果を打ち消し、バッテリを完全充電状態に保ちます。半充電状態のNiMHセルに対するDS2712 NiMH充電器を使用した充電サイクル中のセル電圧を表すグラフを図3に示します。このグラフで、上の曲線は電流がバッテリに送り込まれているときに取得したデータです。下の曲線は、充電電流のソースをオフにした状態で取得したデータを示しています。DS2712では、この電圧の差を使ってNiMH電池とアルカリ電池を区別します。アルカリ電池が検出された場合、DS2712は充電を行いません。
図3. DS2712充電コントローラを使用したNiMHセルの充電
スイッチング対リニア
USB 2.0規格では、低電力型ポートからは最大100mAまで、高電力側ポートからは500mAまでの給電を許容しています。リニアパス素子を使ってバッテリへの充電電流を制御する場合、これらが最大許容充電電流になります。リニアパス素子で消費される電力(図4)は、P = VQ × IBATTになります。これによってパストランジスタ内で電力消費が起こり、過熱を防止するためヒートシンクの使用が必要になる場合があります。
図4. バッテリ電流にパストランジスタの電圧をかけた電力消費
5Vの公称入力電圧に対してパス素子で消費される電力量 は、セルの種類と数、およびバッテリ電圧に応じて様々 に変化します。
図5. リニアパス素子での電力消費(NiMH電池をUSBポートから入力
電圧5.0Vで充電)
図5は、リニアUSB充電器で公称入力電圧5.0VのNiMH電池を充電する場合について計算した電力消費を示しています。単一セルの充電では、リニア充電器は約30%の効率しかありません。2セル充電器は60%の効率です。単一セルを500mAで充電すると、最大2Wの電力が消費されます。この電力量では、一般的にはヒートシンクが必要になります。消費電力2Wのとき、+20℃/Wのヒートシンクは+25℃の周囲温度で約+65℃まで上昇し、完全に機能するためにはこれを外気にさらす必要があります。静止空気に取り囲まれた状態では、これよりはるかに高温になります。
いくつかの問題はスイッチングレギュレータベースの充電器を使うことによって解決します。第1に、リニア充電器よりも急速に、より大電流で電池を充電することができます(図6)。熱による電力損失が少ないため、熱管理の問題が軽減されます。また、より低温で動作するため充電器の信頼性が向上します。
図6. リニア充電器とスイッチング充電器で異なる単一セルのNiMH電池の充電時間
図6の計算値は、ハイパワーUSBポートから最大許容電流500mAの約90%で充電する、という条件に基づいて算出したものです。この例のスイッチングレギュレータは、効率77%の非同期バックコンバータを想定しています。
回路例
図7の回路は、単一NiMHセル充電用のスイッチモード・バックレギュレータです。DS2712充電コントローラを使用して、充電電流と温度変化を管理しています。充電コントローラは、温度、バッテリ電圧、およびバッテリ電流を監視します。温度が+45℃以上または0℃以下の場合、コントローラはバッテリの充電を開始しません。
図7. 単一セルのNiMHバッテリがUSBポートから急速充電される様子を示した回路
図7で、Q1はステップダウン充電器用のスイッチング・パワートランジスタです。L1は平滑インダクタ、D1はフリーホイーリング(またはキャッチ)ダイオードです。入力C1は10µFの、超低ESRセラミックフィルタコンデンサです。C1の代わりにタンタルまたはその他の電解コンデンサを使用すると、充電器の性能が悪化する可能性があります。R7は電流レギュレータのセンスアンプ用の電流センス抵抗です。DS2712の基準電圧は0.125V、ヒステリシス成分24mVです。閉ループ、スイッチモードの電流制御は、CSOUTを介して行われます。Q2のゲートが充電制御ピンCC1によってローに落とされたとき、Q1へのゲート駆動が有効になります。Q1とQ2はともに低-Vt (ゲート-ソース間スレッショルド電圧)のpMOSFETです。CC1とCSOUTの両方がローのとき、Q2のドレイン-ソース間電圧が1Vtをわずかに上回ります。この電圧(プラスCSOUTのフォワード電圧降下)によって、Q1に利用可能なスイッチング-ゲート駆動電圧が確立されます。CC1がローのとき、電流の閉ループ制御が有効になります。スタートアップ時のスイッチング波形を図8に示します。上部の波形は0.125Ω電流センス抵抗の電圧、下部の波形はQ1のドレイン-GND間電圧です。最初は、Q1がONの間(CC1とCSOUTはともにロー)、インダクタ内で電流が増大していきます。電流が0.125Vに達すると、CSOUTがハイになります。また、電流センス抵抗の電圧が約0.1Vになるまで電流が減少し、その結果CSOUTが再びローになります。このプロセスが、CC1がローである限り続きます。
図8. USB NiMH充電器のスタートアップ波形
DS2712の内部ステートマシンが、CC1のゲート動作を制御します。充電開始時に、DS2712は電池のテストを行い、セル電圧が1.0V~1.65Vの範囲であること、温度が0℃~+45℃の範囲であることを確認します。もし電圧が1.0V以下なら、DS2712はCC1をゲート操作してデューティ比0.125でローに落とします。これによってセルがスロー充電され、ダメージを防ぎます。セルの電圧が1.0Vを超えたら、ステートマシンは急速充電に遷移します。急速充電のデューティ比は31/32、すなわち約97%です。「スキップされた」パルスを使ってセルのインピーダンステストを行い、ハイインピーダンスのセル(アルカリ電池など)が充電器に装着されていないことを確認します。急速充電は、-Vが-2mVになったことが検出されるまで続きます。-Vが検出されない場合は、急速充電タイマーが時間切れになるか、過熱または過電圧のフォルト条件(インピーダンス障害を含む)が検出されるまで、急速充電が続きます。急速充電が(-Vまたは急速充電タイマーの時間切れによって)終わると、DS2712はデューティ比12.5%で、急速充電用にプログラムされたタイムアウトの半分の時間だけ、時限式のトップオフモードに入ります。トップオフモードが完了した後、充電器はデューティ比1/64のメンテナンスモードに入り、電池が取り外されるか電源が入れ直されるまでメンテナンスモードを維持します。
図7の充電器は、2100mAhのNiMH電池をハイパワーUSBポートから2時間強で急速充電し、完全なトップオフ充電を約3時間で完了します。ポートから引き出される電流は420mAです。ホストならびに大電流が有効でエニュメレーションが必要な場合は、オープンドレインのNMOSFETを1つ、R9とグランドの間に直列に挿入します。このMOSFETがオフなら、TMRがフロートになりDS2712はサスペンド状態になります。
まとめ
USBポートは、小型消費エレクトロニクス製品のバッテリを充電するための経済的で実用的な電源です。USB 2.0規格に完全に準拠するためには、USBに接続される負荷はホストと双方向通信できなければなりません。また、省電力モードや、ポートから大電力が引き出されることをホストが判断できるようにする方法を含めて、パワーマネージメントの要件も満たさなければなりません。部分的に準拠したシステムは、ほとんどのUSBホストと互換性のある動作をするかも知れませんが、時として予期せぬ結果をもたらします。完全準拠と負荷の複雑性の間で適切なトレードオフを決めるためには、USBが負荷に何を要求し何を期待しているか十分に理解する必要があります。
この記事に類似した内容が「Battery Power Products Technology」の2006年1月号に掲載されています。
{{modalTitle}}
{{modalDescription}}
{{dropdownTitle}}
- {{defaultSelectedText}} {{#each projectNames}}
- {{name}} {{/each}} {{#if newProjectText}}
- {{newProjectText}} {{/if}}
{{newProjectTitle}}
{{projectNameErrorText}}