(58)【調査した分野】(Int.Cl.,DB名)
前記内部抵抗値が温度依存性を有する場合、前記初期内部抵抗値ZBAT_initおよび前記基準内部抵抗値ZBAT_preそれぞれから温度依存の項を除去するステップをさらに備えることを特徴とする請求項1に記載の方法。
【発明を実施するための形態】
【0029】
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施の形態は、発明を限定するものではなく例示であって、実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。
【0030】
本明細書において、「部材Aが、部材Bと接続された状態」とは、部材Aと部材Bが物理的に直接的に接続される場合や、部材Aと部材Bが、それらの電気的な接続状態に実質的な影響を及ぼさない、あるいはそれらの結合により奏される機能や効果を損なわせない、その他の部材を介して間接的に接続される場合も含む。
同様に、「部材Cが、部材Aと部材Bの間に設けられた状態」とは、部材Aと部材C、あるいは部材Bと部材Cが直接的に接続される場合のほか、それらの電気的な接続状態に実質的な影響を及ぼさない、あるいはそれらの結合により奏される機能や効果を損なわせない、その他の部材を介して間接的に接続される場合も含む。
【0031】
また本明細書において、電圧信号、電流信号、あるいは抵抗に付された符号は、必要に応じてそれぞれの電圧値、電流値、あるいは抵抗値を表すものとする。
【0032】
(システム構成)
図3は、実施の形態に係る電源管理システム101を備える電子機器のブロック図である。
電子機器100は、電池駆動型デバイスであり、二次電池パック200に加えて、バッテリマネージメント回路300、システムコントローラ400、パワーマネージメント回路500を備える。二次電池パック200、バッテリマネージメント回路300、システムコントローラ400、パワーマネージメント回路500により構成される電子機器100における電力制御に関するシステム全体を、電源管理システム101と称する。
【0033】
二次電池パック200は、たとえばリチウムイオン電池であり、電池セル(単電池)202と、保護回路204と、サーミスタ206を含み、電池セル202の電力出力を外部に取り出すため、正極端子208と、負極端子210を有する。
【0034】
サーミスタ206の一端は電池セルの負極端子210に接続され、他方は温度検知端子212に接続されている。このようにサーミスタ206を二次電池パック200に内蔵するのは一例であり、電池セル202の温度を計測するために、機器の電池ホルダ側にサーミスタまたは他の種類の温度センサ等を、電池パックに接触するように取り付けることも可能である。
【0035】
システムコントローラ400は、電子機器100全体を統合的に制御する。システムコントローラ400は、主として、ハードウェアであるメインプロセッサ402と、ソフトウェアである、オペレーティングシステム404、アプリケーションプログラム406、残存容量演算プログラム408の協調動作により実現される。
【0036】
システムコントローラ400は、メインプロセッサ402の上で動作するオペレーティングシステム404のもとでシステム制御・管理、周辺回路制御を行い、またアプリケーションプログラム406の実行、および電池の残存容量の推定のための残存容量演算プログラム408の実行を行う。
【0037】
また、メインプロセッサ402は、通信バス104を介して、バッテリマネージメント回路300およびパワーマネージメント回路500と通信可能であり、バッテリマネージメント回路300やパワーマネージメント回路500からの情報を受け取り、また電池の状態や電力供給状態の監視や制御を行うことができる。
【0038】
直流(DC)電力入力端子102には、外部電源(電源アダプタともいう、不図示)が着脱可能となっている。外部電源が接続された状態において、DC電力入力端子102には外部DC電圧VEXTが供給される。
【0039】
パワーマネージメント回路500は、システム電圧VSYSを受け、システムコントローラ400を構成するメインプロセッサ402やその他の周辺回路に電源電圧を供給する。システム電圧VSYSは、二次電池パック200からの電池電圧VBAT、もしくはバッテリマネージメント回路300によって安定化された外部電源からのDC電圧VEXTでありえる。
【0040】
パワーマネージメント回路500は、ひとつ、あるいは複数チャンネルCH1〜CHNの電源回路を含む。各チャンネルの電源回路は、負荷ごとに設けられており、システム電圧VSYSを所定レベルに安定化し、対応する負荷にDC電源電圧を供給する。たとえば、第1チャンネルCH1の電源回路は、システムコントローラ400に対して電源電圧VDDを供給する。別のチャンネルの電源回路は、図示しない液晶ドライバに電源電圧を供給する。電源回路は、リニアレギュレータ、DC/DCコンバータ、チャージポンプ回路などでありえる。
【0041】
パワーマネージメント回路500は、複数のチャンネルCH1〜CHNそれぞれの電圧出力の起動・停止タイミングや供給電力の管理を行う。
【0042】
バッテリマネージメント回路300は、主として二次電池パック200の管理、より具体的には二次電池パック200の充電およびその状態の検出を行う。
【0043】
バッテリマネージメント回路300は、充電回路302、電池モニタ部304、電池計測部306、クーロンカウンタ308、を備える。また、バッテリマネージメント回路300は外部入力(EXTIN)端子、スイッチ(SW)端子、システム電圧(VSYS)端子、正極接続用(BAT+)端子、負極接続用(BAT−)端子、サーミスタ(TH)端子、グランド(GND)端子を有する。
【0044】
EXTIN端子は、DC電力入力端子102と接続される。BAT+端子、BAT−端子はそれぞれ、二次電池パック200の正極端子208および負極端子210と接続される。TH端子は、二次電池パック200の温度検知端子212と接続される。GND端子は接地される。
【0045】
充電回路302は、EXTIN端子、BAT+端子、VSYS端子、SW端子と接続される。
【0046】
充電回路302は、DC電力入力端子102に有効な外部DC電圧VEXTが供給されているとき、これを電圧安定化してシステム電圧VSYSを生成し、VSYS端子を介してパワーマネージメント回路500に供給する。また、充電回路302は、電池セル202の残存容量が減少した場合には、BAT+端子を介して電池セル202に充電電流ICHGを供給することにより、二次電池パック200を充電する。
【0047】
充電回路302は、充電電流ICHGを一定に安定化する定電流(CC:Constant Current)モードと、電池電圧VBATを一定値に安定化させる定電圧(CV:Constant Voltage)モードと、が切りかえ可能となっている。充電回路302はリニア電源で構成してもよいし、スイッチング電源で構成してもよく、その構成は限定されない。
【0048】
パワーFET108は、二次電池パック200の正極端子208からパワーマネージメント回路500に至る経路上に設けられる。パワーFET108のゲートは、バッテリマネージメント回路300のスイッチ端子SWと接続される。充電回路302は、パワーFET108のオン、オフを制御し、パワーマネージメント回路500を電池電圧VBATで駆動する状態と、システム電圧VSYSで駆動する状態と、を切りかえる。
【0049】
システムコントローラ400が、充電回路302により安定化されたシステム電圧VSYSを受けて動作している最中に、システムコントローラ400の消費電力が増加し、外部電源の容量を上回り、外部DC電圧VEXTがドロップしてシステムコントローラ400への電力供給が不足する場合がある。そこでシステムコントローラ400は、外部DC電圧VEXTが低い場合には、電池セル202の充電を中断し、パワーMOSFET(Metal Oxide Semiconductor Field Effect Transistor)108をフルオンさせて、電池セル202から電力供給を補助する。
【0050】
電池モニタ部304は、(i)二次電池パック200を着脱したときの装着検出および脱離検出、(ii)電池セル202の出力である電池電圧VBATの過剰な低電圧検出、(iii)電池セル202の使用可・不可検出(デッドバッテリ検出)などを行い、検出した電池セル202の状態を充電回路302に伝達する。充電回路302は、この電池セル202の状態情報をもとに、充電動作を制御する。
【0051】
第1A/D変換器310は、BAT+端子、BAT−端子、TH端子、GND端子それぞれの電圧が入力される。電池計測部306は、第1A/D変換器310を使用して、電池セル202の出力電圧VBAT、電池セル202への充電・放電電流(以下、充放電電流ともいう)IBAT、電池セル202の温度Tを計測し、ディジタルデータに変換する。
【0052】
第1A/D変換器310は、BAT+端子とBAT−端子の間に生ずる電池電圧VBATを受け、それをディジタル値に変換する。電池計測部306は、このディジタル値を、電池電圧VBATを示す電池電圧値D
Vとして取得する。
【0053】
電流検知抵抗器106は、電池セル202の充放電電流IBATの経路上に、電池セル202と直列に挿入される。本実施の形態において電流検知抵抗器106は、負極端子210と接地ラインの間に設けられるが、その場所は特に限定されない。たとえば電流検知抵抗器106は、正極端子208とパワーFET108の間に挿入されてもよい。
【0054】
電池セル202の充放電電流IBATは、電流検知抵抗器106を流れ、電流検知抵抗器106の両端に、充放電電流IBATに比例した電圧降下(電流検出電圧という)V
Iが発生する。第2A/D変換器312は、BAT−端子とGND端子の間の電流検出電圧V
Iをディジタル値に変換する。
【0055】
電流検知抵抗器106の抵抗値は既知である。そこで電池計測部306のディジタル演算部307は、電流検出電圧V
Iに応じたディジタル値と電流検知抵抗器106の抵抗値にもとづいて、充放電電流IBATを示す電流検出値D
I1を生成する。電流検出値D
I1の大きさは充放電電流IBATの大きさを、電流検出値D
I1の符号は充放電電流IBATの向きを表す。
【0056】
二次電池パック200の温度検知端子212は、外部の抵抗110を介して一定電圧にプルアップされる。この抵抗110を介して、二次電池パック200に内蔵されるサーミスタ206に電流が流れることにより、サーミスタ206の両端間、つまり温度検知端子212と負極端子210の間には、サーミスタ206の抵抗値に応じた温度検出電圧V
Tが発生する。サーミスタ206の抵抗値は、電池セル202の温度変化に応じて変化するため、温度検出電圧V
Tは、電池セル202の温度と1対1で対応づけられる。第1A/D変換器310は、TH端子とBAT−端子の間の温度検出電圧V
Tをディジタル値に変換する。電池モニタ部304のディジタル演算部307は、温度検出電圧V
Tに対応したディジタル値を、電池セル202の温度を示す温度値D
Tに変換する。
【0057】
第1A/D変換器310は、電池電圧VBAT、電流検出電圧V
I、温度検出電圧V
Tを時分割で測定することとし、単一のA/D変換器を3つの電圧に対して時分割で共用してもよい。また、電力損失を低減するために電流検知抵抗器106の抵抗値は極力小さく設計されることが好ましい。したがって充放電電流IBATが小さいとき、電流検知抵抗器106の両端間に生ずる電流検出電圧V
Iは微少となる。そこで第1A/D変換器310の前段には、電流検出電圧V
Iを増幅するアンプを挿入してもよい。
【0058】
電池計測部306により測定された計測値、すなわち電池セルの出力電圧値D
V、充放電電流値D
I、電池セルの温度値D
Tは、充電回路302に出力され、充電動作制御に利用される。また同時に、電池セル202の充電状態(SOC)を検知するため、システムコントローラ400(残存容量演算プログラム408)により、インタフェース部314および通信バス104を介して読み取られ、演算処理に使用される。
【0059】
第2A/D変換器312は、第1A/D変換器310と同様に、電流検知抵抗器106の両端間に生ずる電流検出電圧V
Iをディジタル値に変換する。クーロンカウンタ308は、第2A/D変換器312の出力値を使用して、一定の時間間隔(1秒または数秒)で電池の充放電電流IBATを計測し、時間間隔を掛けた電荷量をその時点の充電量または放電量とし、これを積算していくことで、充電電荷量または放電電荷量の総和を算出する。この処理は、ディジタル演算部309が実行してもよい。
【0060】
システムが休止状態においても、電池セル202からは微少な放電電流が流れ、電池残存容量が変化するため、正確な電池残存容量検出のためには、微少な充放電電流を検出する必要がある。そこでクーロンカウンタ308により使用される第2A/D変換器312は、上記の電池計測部306により使用される第1A/D変換器310よりも分解能を高くして、システムが休止状態のときのわずかな放電電荷量、つまり微少な充放電電流IBATでも検知できるようにすることが望ましい。
【0061】
クーロンカウンタ308により計算された値(電荷カウント値CCNTという)は、上記の電池計測値と同様に、システムコントローラ400(残存容量演算プログラム408)により読み取られ、電池の残存容量検知に使用される。また、未知の残存容量の電池パックが装着された場合には、電池計測部306により初期計測が実行され、システム起動後にシステムコントローラ400により初期計測値が読み取られ、クーロンカウンタの初期値が設定される。
【0062】
システムコントローラ400は、バッテリマネージメント回路300において取得された二次電池パック200の情報にもとづいて、電池セル202の電池残存容量を推定する。システムコントローラ400による演算処理については後述する。
【0063】
以上が実施の形態に係る電源管理システム101の構成である。
【0064】
続いてその利点を説明する。この電源管理システム101の利点は、
図2の電源管理システム101rとの対比によって明確となる。
実施の形態に係る
図3の電源管理システム101によれば、バッテリマネージメント回路300の中に、充電回路302と、電池の状態を計測する装置すなわち、電池モニタ部304、電池計測部306、クーロンカウンタ308、を一体に構成することにより、A/D変換器、アンプ、抵抗、コンパレータなどのハードウェア資源を共用化することができ、重複する機能ブロックを削減することができる。
【0065】
続いて、バッテリマネージメント回路300とシステムコントローラ400による、残存容量の演算処理について説明する。
【0066】
(二次電池のモデル)
はじめに、この推定演算処理に使用可能な、二次電池のモデルについて説明する。
【0067】
図4(a)は、二次電池の等価回路モデルを示す回路図であり、
図4(b)は、電池電圧と負荷電流の波形図である。
【0068】
図4(a)に示すように、本実施の形態では、内部抵抗RINTは、固定成分RFと変動成分RVの和で定義される。
RINT = RF + RV
固定成分RFは、電池の動作条件に依存しない、電池本来の持つ固定的な抵抗成分すなわち、電極活物質と集電体との接触抵抗や、電極金属自身の電気抵抗などを含む。また、変動成分RVは、電池の動作条件に依存する抵抗値変動、すなわち電池の温度、負荷電流変動、充電状態(SOC)に依存する電池の特性変化を含む。
【0069】
より具体的には、変動成分RVを、それに流れる電流の過渡応答にもとづく変動成分(過渡応答成分)RIと、温度Tに依存した変動成分(温度依存成分RT)の和として定義する。
RV = RI + RT
なおこの等価回路モデルを、公知技術として認識してはならず、本発明者らが独自に考案したものである。
【0070】
図4(b)を参照する。ある時刻t0より前に、負荷電流(放電電流)IBATはゼロであったとする。ここでは、時刻t0以前の電池電圧VBATは、開放電圧OCVと等しいものとする。
【0071】
時刻t0に負荷電流IBATが増大すると、瞬時に電池電圧VBATはドロップする。このドロップ量VDROPは、固定成分RFの電圧降下IBAT×RFと温度依存成分RTの電圧降下IBAT×RTの和である。
【0072】
負荷電流IBATが流れ始めた直後においては、過渡応答成分RIはゼロであるが、負荷電流IBATが流れ続けると、それまでに流れた過去の電流の履歴に応じて変化していく。過渡応答成分RIの増大にともない、その両端間の電圧降下IBAT×RIが増大していき、電池電圧VBATは時間とともにさらに低下していく。過去の負荷電流の依存は、一時点のものだけではなく、数分前ないし数十分前からの電流変動の影響が残存している。そこで特に残存影響の大きい数分前までの変動履歴を考慮することで、過渡応答成分RIを正確に記述することができる。
【0073】
ある時刻における電池電圧VBATが既知であるとき、開放電圧OCVは、以下の式から推定することができる。
OCV = VBAT + IBAT * RINT=VBAT + IBAT×(RF + RI + RT)
【0074】
固定成分RFは、後述の初期測定処理S102において取得することができ、あるいは二次電池のサンプルについて事前に取得した値を用いることができる。事前に取得された固定成分RFの値をZBAT1_pre、初期測定処理S102において取得された値をZBAT1_initとする。
【0075】
温度依存成分RTについては、二次電池のサンプルを利用して、温度Tと温度依存成分RTの関係を事前に実験あるいはシミュレーションにより取得しておき、それらを対応づけるテーブルあるいは関係式(関数)を残存容量演算プログラム408に格納しておく。このテーブルあるいは関係式により計算された温度依存成分RTを、ZBAT2_pre(T)とする。
【0076】
図4(b)からも分かるように、ある時刻における過渡応答成分RVは、それまでに流れた負荷電流IBATの履歴に応じた値を有するものと考えられる。そこで本実施の形態では、ある時刻からさかのぼる一定の時間区間について、その時間区間に流れた電流IBATにもとづいた値CCNTS_varを定義する。この値CCNTS_varは、過去の負荷変動の影響度を示すパラメータであり、以下、単に影響度とも称する。
【0077】
影響度CCNTS_varと過渡応答成分RVの関係を、事前に実験あるいはシミュレーションにより取得しておき、それらを対応づけるテーブルあるいは関係式(関数)を残存容量演算プログラム408に格納しておく。このテーブルあるいは関係式により計算された過渡応答成分RIを、ZBAT3_pre(CCNTS_var)とする。
【0078】
一例として、値CCNTS_varは、過去の一定区間(たとえば数秒〜数十秒)に渡り取得されたクーロンカウンタの値CCNTを、重み付けして加算することにより計算される。影響度CCNTS_varの詳細については後述する。
【0079】
図5は、実施の形態に係る電源管理システム101の、電池残存容量の検出に関する機能ブロック図である。電源管理システム101は、電池計測部700、クーロンカウンタ702および残存容量検出部600を備える。
【0080】
電池計測部700は、
図3の電池計測部306に対応し、二次電池パック200の電池電圧VBAT、充放電電流IBATおよび温度Tを測定する。クーロンカウンタ702は
図3のクーロンカウンタ308に対応し、所定の時間間隔ごとに、充放電電流IBATを積算する。
【0081】
残存容量検出部600は、
図3のシステムコントローラ400の一部に対応するものであり、具体的には、メインプロセッサ402とソフトウェアの組み合わせで実現される。残存容量検出部600は、電池電圧VBAT、充放電電流IBATおよび温度Tにもとづいて二次電池パック200の残存容量、より具体的には絶対残存容量および相対残存容量を算出する。
【0082】
残存容量検出部600は、メモリ602、内部抵抗算出部604、電圧降下算出部606、開放電圧算出部608、第1充電状態推定部610、第2充電状態推定部612、クーロンカウンタ補正部614、電池容量補正部616、初期抵抗算出部620、劣化評価部622、を備える。
【0083】
メモリ602には、二次電池パック200の満充電状態における電池容量BATCAPに対する相対残量を示す充電状態(相対残存容量)SOC_ocvと、二次電池パック200の開放電圧OCVとの対応関係を規定するテーブルもしくは関数を保持する。上述のようにこの対応関係は事前に取得されている。
【0084】
上述のように、二次電池パック200の内部抵抗RINTは、固定成分RFと変動成分RVの和であるものとしてモデリングされ、変動成分RVは過渡応答成分RIと温度依存成分RTを含む。内部抵抗算出部604は、このモデルにもとづいて二次電池パック200の内部抵抗RINTを算出する。取得部604aは、後述の初期測定処理の結果にもとづいて固定成分RFであるZBAT1を算出する。取得部604bは、二次電池パック200に流れる電流の履歴にもとづいて、過渡応答成分RIであるZBAT2を算出する。電流の履歴には、クーロンカウンタ702のカウント値CCNTが利用される。取得部604cは、温度Tにもとづいて温度依存成分RTを取得する。電流の履歴には、クーロンカウンタ702のカウント値CCNTが利用される。これらの抵抗成分が加算器605により加算され、内部抵抗RINTが算出される。
【0085】
電圧降下算出部606は、内部抵抗RINTに充放電電流IBATを乗算して、電圧降下VDROPを算出する。
【0086】
開放電圧算出部608は、現在の電池電圧VBATに電圧降下VDROPを加算することにより二次電池パックの開放電圧OCVを算出する。
【0087】
第1充電状態推定部610は、メモリ602に格納されたOCV-SOCの対応関係にもとづいて、現在の開放電圧OCVに対応する現在の充電状態SOC_ocvを取得する。
【0088】
第2充電状態推定部612は、クーロンカウンタの値CCNTと電池容量BATCAPにもとづいて、充電状態SOC_ccを算出する。
【0089】
クーロンカウンタ補正部614は、2つの充電状態SOC_ocvとSOC_ccの間の誤差が許容値を超えるとき、クーロンカウンタの値CCNTを補正する。
【0090】
また電池容量補正部616は、2つの充電状態SOC_ocvとSOC_ccの間に誤差が許容値を超えるとき、電池容量BATCAPを補正する。
【0091】
初期抵抗算出部620は、二次電池パック200が検出された直後に実行される初期測定処理S102の結果得られた電池電圧VBAT、負荷電流IBATにもとづいて、内部抵抗RINTの固定成分ZBAT1の初期値ZBAT1_initを算出する。
【0092】
劣化評価部622は、固定成分ZBAT1の初期値ZBAT1_initにもとづいて、二次電池パック200の劣化度αを評価する。電池容量補正部616は、劣化度αにもとづいて、初期状態における電池残量BATCAPを補正する。
【0093】
以上が残存容量検出に関する電源管理システム101の機能ブロック図である。以下、この電源管理システム101の残存容量検出処理について具体的に説明する。
【0094】
図6は、電源管理システム101の残存容量検出処理のフローチャートである。
図7は、
図6の初期測定処理S102のフローチャートである。
図8は、
図6の初期SOC推定処理S107のフローチャートである。
図9は、
図6の残存容量推定処理S108のフローチャートである。
【0095】
図6を参照する。
図3の電池モニタ部304により、二次電池パック200の有無が判定される(S101)。二次電池パック200の有無は、温度計測用のサーミスタ206の端子電圧V
Tにもとづいて識別するか、または電池に既知の負荷を接続し、その際の電池の応答にもとづいて検出可能である。二次電池パック200が検出されない場合(S101のN)、引き続き電池モニタ部304により二次電池パック200の検出動作が繰り返される。
【0096】
二次電池パック200が検出されると(S101のY)、初期計測処理を行う(S102)。
【0097】
図7を参照して初期測定処理S102について説明する。
【0098】
はじめに、二次電池パック200の正極端子208を開放、つまり無負荷とし(S102−1)、無負荷状態で、そのときの電池電圧VBAT1を測定し、それを内部レジスタに保存する(S102−2)。続いて、二次電池パック200の正極端子208と接地(Ground)との間に固定抵抗の軽負荷(ダミーロードと称する)を接続し(S102−3)、その直後の電池電圧(VBAT0)と負荷電流(IBAT0)を計測する(S102−4)。VBAT0とIBAT0は、内部レジスタに保存される。ダミーロードにはバッテリマネージメント回路300に内蔵される抵抗を利用することができる。ダミーロードを接続した直後とは、過渡応答の影響が現れる以前を意味する。
【0099】
続いて、ステップS102−1で接続したダミーロードを切断する(S102−5)。内部レジスタに保存したVBAT0、IBAT0、VBAT1は、システムコントローラ400の起動後に、残存容量演算プログラム408(残存容量検出部600)により読み出され、二次電池パック200の初期SOC推定処理(後述のS107)に利用される。
【0100】
電圧および電流の測定が終了すると、直ちにクーロンカウンタ308の動作を開始する(S102−6)。ただし、その初期値である電池容量BATCAPは仮値であり、後の初期値設定を行うまでは不正確である。しかし、時間経過における相対値(時間差分)は正確である。
【0101】
続いて
図3のパワーFET108をオンし、二次電池パック200の電池電圧VBATをシステム負荷であるパワーマネージメント回路500に供給しはじめる(S102−7)。
【0103】
図6に戻る。初期測定処理(S102)が完了すると、システムコントローラ400の起動を待機する(S103のN)。そしてシステムコントローラ400が起動すると(S103のY)、オペレーティングシステム404の管理下で、残存容量演算プログラム408がメインプロセッサ402によって実行可能な状態となる。
【0104】
二次電池パック200の残存容量が充分あればシステムコントローラ400は起動可能であり、二次電池パック200の残存容量が不足の場合でも、DC電力入力端子102に接続された外部電源が既定の電力供給を行えば、システムコントローラ400の起動は可能である。
【0105】
続いて外部電源からの外部DC電圧VEXTの有無がバッテリマネージメント回路300により判定される(S104)。具体的には、バッテリマネージメント回路300は、外部DC電圧VEXTを所定のしきい値と比較するコンパレータ(
図3に不図示)を備え、このコンパレータにより、外部DC電圧VEXTの有無が判定される。有効な外部DC電圧VEXTが入力されており(S104のY)、かつ二次電池パック200が満充電状態に未達であれば、充電回路302が二次電池パック200への充電電力供給を開始する(S105)。充電回路302による充電方法は特に限定されず、公知の、あるいは将来利用可能な方法が利用される。充電状態(S105)は、電池電圧VBATが充電終止電圧VCHG_termに到達するまでの間継続する(S106のN)。電池電圧VBATが充電終止電圧VCHG_termに到達すると(S106のY)、充電を停止する。
【0106】
次に、二次電池パック200の初期SOC推定処理S107を行う。初期SOC推定処理S107は、システムコントローラ400において残存容量演算プログラム408にもとづいて実行される。
【0107】
初期SOC推定処理S107は、充電により充電終止電圧に達した場合(S106のY)と、充電を経ていない場合(S104のN)とで異なる。
【0108】
充電終止電圧VCHG_termを経て充電終了した場合の初期SOC推定処理S112について説明する。
【0109】
初期SOC推定処理S112では、充電終止電圧VCHG_termにより、クーロンカウンタの値CCNTを初期化する。充電終止電圧VCHG_termが、二次電池の仕様により規定された最大充電電圧、すなわち満充電電圧(例えば、リチウムイオン二次電池ならば4.3V)の場合は、クーロンカウンタ308に電池容量値BATCAPと同一の値を設定する。
【0110】
すなわちこの場合、クーロンカウンタ値CCNTから得られるSOC値(=CCNT÷BATCAP×100[%])は100%である。システムの要求または電池の寿命等を考慮して、充電終止電圧VCHG_termを最大充電電圧よりも低い電圧値(例えば4.2V)を選ぶ場合もありうる。その場合、動作終止電圧VBAT_lowを基準に、式(1)により電池容量値BATCAPを縮小する。
BATCAP=BATCAP_max×(VCHG_term - VBAT_low)/(VBAT_max - VBAT_low) …(1)
【0111】
ここで、BATCAP_maxは電池の最大容量、VCHG_termは充電終止電圧、VBAT_maxは電池の最大電圧(定格値)、VBAT_lowは電池の動作終止電圧である。BATCAP_maxは、二次電池パック200の定格容量値もしくはサンプル電池の事前測定値を用いればよい。後述のように電池が劣化している場合、容量BATCAPにはさらに劣化の度合いが反映される。
【0112】
ここで動作終止電圧VBAT_lowは、JIS C8711で定義される「放電終止電圧」ではなく、システムの要求により、システム終了時にオペレーティングシステムが正常にシャットダウン動作(必要なデータを不揮発性記憶媒体に退避する、など)を実行するために充分な動作電圧と残存容量とを確保した電圧として設定される。
【0113】
充電を経ていないとき(S104のN)の初期SOC推定処理S107について説明する。電池パックが装着され、DC電力入力が無い場合、充電は行われず、電池の充電状態(SOC)および残存容量は未知である。このときの初期SOC推定処理S107について、
図8を用いて説明する。
【0114】
図8の初期SOC推定処理S107では、
図4(a)の内部抵抗の等価回路モデルが利用される。
【0115】
はじめに、二次電池の劣化度αが計算される(S107−1)。劣化度αの計算には、上述の初期測定処理(
図7のS102)において電池装着時に計測し内部レジスタに保存しておいた値VBAT0、IBAT0、VBAT1が使用される。VBAT1は、
図4(b)の波形図において、時刻t0より前の電池電圧VBATに対応し、VBAT0は、時刻t0の直後の電池電圧VBATに対応し、IBAT0は、負荷電流IBATの電流量に対応する。
【0116】
なお、初期測定処理S102において取得されたVBAT1は、かならずしも二次電池のOCVであるとは限らないことに留意されたい。なぜなら、その直前において、二次電池パック200が充電あるいは放電されており、直前の使用から十分な緩和時間が経過していない場合、電池電圧VBATはOCVとは一致しないからである。
【0117】
続いて、読み出した値を利用して、二次電池パック200の内部抵抗の初期値ZBAT1_initを式(2)にもとづいて算出する。(VBAT1 - VBAT0)/IBAT0の項には、変動成分RFの電圧降下は実質的に含まれておらず、その値から温度依存成分ZBAT2_pre(T)を減ずることにより、内部抵抗の固定成分RFが計算される。この処理は、
図5の初期抵抗算出部620により実行される。
ZBAT1_init = (VBAT1 - VBAT0) / IBAT0 - ZBAT2_pre(T) …(2)
【0118】
本発明者らは、二次電池パック200の検出直後の初期測定によって測定された電流値IBAT、電圧値VBATにもとづいて算出される固定成分ZBAT1_initが、二次電池パック200の充電・放電を繰り返したことによる劣化(サイクル劣化)を原因として増大することを見いだした。そこで、劣化前の未使用状態における固定成分ZBAT1_preを予め測定しておき、それをメモリに格納しておく。システムコントローラ400は、式(2)により計算された値ZBAT1_initと、予め測定しておいた値ZBAT1_preにもとづいて、二次電池パック200の劣化度αを評価する。劣化度αの評価は、
図5の劣化評価部622により実行される。この劣化度αは、たとえば式(3)で定義され、劣化が進むにつれてその値は大きくなる。
α = (ZBAT1_init - ZBAT1_pre) / ZBAT1_pre …(3)
【0119】
劣化度αは、バッテリの寿命の管理に使用することができる。
【0120】
また本発明者らは、式(3)で算出される劣化度αが、二次電池の容量の劣化と相関を有することを見いだした。そこで本実施の形態では、劣化度αを電池容量BATCAPに反映させる。具体的には、補正後の容量BATCAP'を、BATCAP'=(1−α)×BATCAPとして計算する。この処理は、
図5の電池容量補正部616により実行される。
【0121】
このように、実施の形態に係るバッテリマネージメント回路300によれば、初期状態において、負荷電流IBATを流した直後における固有の抵抗値RFを測定することにより、その抵抗値にもとづいて二次電池パック200の劣化度αを評価することができ、さらには、それを電池容量BATCAPに反映させることができる。
【0122】
エラー処理として、何らかの原因で、初期計測値VBAT0、IBAT0、VBAT1が得られなかった場合は、劣化度を0(劣化はない)と仮定して電池容量BATCAPに定格容量値BATCAP_maxを設定してもよい。
【0123】
続いて、電圧降下値VDROPの初期値VDROP_initが算出される(S107−2)。具体的には、二次電池にダミーロードを接続して、そのときの負荷電流IBAT_init、電池電圧VBAT_initを測定する。そして式(4)により電圧降下値VDROPの初期値VDROP_initを算出する(S107−2)。
VDROP_init = IBAT_init × (ZBAT1_init + ZBAT2_pre(T) + ZBAT3_pre(CCNTS_var)) …(4)
インピーダンスの項(ZBAT1_init + ZBAT2_pre(T) + ZBAT3_pre(CCNTS_var))は
図5の内部抵抗算出部604により計算され、電圧降下VDROP_initは
図5の電圧降下算出部606により計算される。
【0124】
こうして得られた初期の電圧降下値VDROP_initを用いて式(5)から開放電圧OCVの初期値OCV_initを推定する(S107−3)。この推定は、開放電圧算出部608により行われる。
OCV_init = VBAT_init + VDROP_init …(5)
【0125】
システムコントローラ400には、開放電圧OCVとSOC(充電状態)の対応関係を示すOCV-SOCテーブルSOC=table(OCV)が用意されている。SOCは、満充電状態の容量を基準として、現在の残容量の割合(本実施の形態では%)を表したものである。
【0126】
システムコントローラ400は、このテーブルを参照して、現在の推定開放電圧OCV_initに対応するSOC初期値SOC_ocv_init=table(OCV_init)を推定する(S107−4)。この推定は、
図5の第1充電状態推定部610により行われる。
【0127】
さらに、式(6)にしたがって初期残存容量CCNT_initを算出し(S107−5)、クーロンカウンタに初期値として設定する(S107−6)。BATCAPは電池容量である。この処理は、
図5のクーロンカウンタ補正部614により実行される。
CCNT_init = SOC_ocv_init [%]/100 × BATCAP …(6)
【0128】
上述のように二次電池が劣化している場合、その劣化度αが電池容量BATCAPに反映される。
【0129】
図6に戻る。ここまでの処理で、電池の充電状態(SOC)すなわち満充電状態に対する相対的な電池残存容量の初期値SOC_ocv_initと、絶対的な電池残存容量の初期値CCNT_initを推定することができる。
【0130】
続くステップS108、S109、S110は、電池の放電動作中の残存容量推定処理に対応する。残存容量推定処理S108は、電池電圧が動作終止電圧VBAT_lowを下回るまで(S109)、一定の時間間隔(たとえば数秒)で繰り返し行われる。
【0131】
残存容量推定処理S108について、
図9を参照して説明する。
【0132】
現在の電池電圧VBAT(n)と放電電流IBAT(n)が、電池計測部700により所定の周期で計測される(S108−1)。nは計測時刻を表し、計測ごとにインクリメントされる。
【0133】
上述の、負荷変動の履歴にもとづいた影響度CCNTS_varは、クーロンカウンタの値CCNTを利用して計算される(S108−2)。このために常に数分間にわたる過去のクーロンカウンタの値CCNTを保存しておく。現在の負荷変動履歴の影響度CCNTS_var(n)は、式(7)で定義される。
CCNTS_var(n)=Σ
p=0:m[{CCNT(n-p)-CCNT(n-p-1)}* K_dec(p)] …(7)
【0134】
ここで、CCNTS_varは、負荷変動履歴の影響度、CCNTはクーロンカウンタ値、K_decは時間経過に伴う減衰係数である。"n"は現在の時点を表し、"n-1"はひとつ前の、"n-p"は、p個前の計測時点を意味する。"m"は履歴の影響度に算入する過去の標本数である。
図5の内部抵抗算出部604の取得部604bは、各時刻nにおいて、影響度CCNTS_var(n)を演算し、その結果にもとづいて過渡応答成分ZBAT2を取得する。
【0135】
CCNT(n-p)-CCNT(n-p-1)は、現在の時刻nからp個前の時刻(n-p)における電流に相当し、K_dec(p)は、時刻(n-p)における重み付け係数である。
【0136】
たとえば計測時間間隔が1秒で、過去2分間分のクーロンカウンタ値を保持しておくとすると、クーロンカウンタ値の保存標本数はm=120となり、またクーロンカウンタの大きさが32ビットであるとすれば、すなわち3840ビットという多大なバッファを用意しなければならず、ハードウェア実装の場合はレジスタ量が非常に大きくなるおそれがある。またソフトウェア実装の場合でも、記憶領域や演算量が非常に大きくなりうる。そこで、このレジスタに関しては、10秒程度の時間間隔で離散的に記憶し、m=10程度のバッファ量にまで削減する。さらに、時間経過に依存する減衰係数K_decは、電池の過渡応答に依存し、その減衰曲線は単純な式では表現が困難であるが、2のべき数による単純な指数的減衰とみなし演算を簡略化することが望ましい。2のべき乗の演算処理は、ビットシフトにより実行できるからである。たとえば現在の時刻nよりp個前の時刻に対する係数K_dec(p)は以下のように定義される。
K_dec(p)= 2
-p
【0137】
以上の標本数削減と、減衰係数の単純化を用いても、誤差の増大にはつながらないことが実験的に確認できている。簡易計算ではあっても、負荷変動履歴の影響は非常に大きいので、誤差の低減効果も大きいと考える。
【0138】
電池の特性を考えれば、電荷の移動・拡散による電気化学的なインピーダンスと、電気二重層構造による電気的容量性インピーダンスとによる過渡応答は、一般に長い減衰時間をもった減衰曲線を示すものであり、負荷変動の影響を正しく算出するには、厳密には積分演算を必要とする。それを簡易計算によって置き換えることで、効率の良い推定精度向上を行うことができる。
【0139】
続いて式(8)にもとづいて電圧降下VDROPが算出される(S108−3)。
VDROP(n) = IBAT(n)×(ZBAT1_pre + ZBAT2_pre(T) + ZBAT3_pre(CCNTS_var(n)) …(8)
この演算処理は、
図5の電圧降下算出部606により実行される。
【0140】
そして、式(9)にもとづいて開放電圧(OCV)が推定される(S108−4)。この処理は、
図5の開放電圧算出部608により実行される。
OCV(n) = VBAT(n) + VDROP(n) …(9)
【0141】
そしてテーブル参照により充電状態(SOC)の推定値SOC_ocvが求められる(S108−4)。これは
図5の第1充電状態推定部610により実行される。
【0142】
ここで、IBAT(n)、VBAT(n)、VDROP(n)は、それぞれ現在時点(n)の電流値、電圧値、および電圧降下値、さらにOCV(n)は、現在時点の推定開放電圧OCVである。
【0143】
一方、クーロンカウンタ値CCNTと電池容量BATCAP(定格容量、または実効容量)の値からも、SOCを算出することができる。この処理は
図5の第2充電状態推定部612により実行される。
SOC_cc(n)[%] = CCNT(n) / BATCAP …(10)
【0144】
ここで、電池容量BATCAPは、初期推定値算出時の誤差が内在している可能性がある。満充電完了直後に放電を開始した場合は、電圧降下が大きいので誤差が大きくなる傾向にあり、また、未知の残存容量の電池の充電状態を推定し初期値を算出した場合も、SOC初期値や劣化度推定の誤差を内在している可能性がある。
【0145】
そこで、開放電圧推定により導出したSOC値SOC_ocvと、クーロンカウンタ値から導出したSOC値SOC_ccとに差がある場合、クーロンカウンタの初期値に誤差があるとみなし、クーロンカウンタ値を増減する補正を行ってもよい。たとえば、(SOC_cc - SOC_ocv)> 5%であったとき、定格容量の所定の割合に対応する電荷量(たとえば1%分)をクーロンカウンタから減ずる。この処理は、
図5のクーロンカウンタ補正部614により実行される。
【0146】
このとき、SOC_ccが不連続にならないよう、BATCAPからも同量を減ずることが好ましい。この処理は
図5の電池容量補正部616が実行する。これにより、劣化等による初期値推定時の誤差が後に適応的に補正されていく。クーロンカウンタの相対値は正確なので、負荷変動履歴の演算に影響を及ぼすことは無く、絶対値が補正されていくため、SOC値だけでなく、残存容量の絶対値([mAh]単位)をも知ることができる。
【0147】
以上が実施の形態に係るバッテリマネージメント回路300とシステムコントローラ400による、電池の充電状態(SOC)および残存容量の推定演算方法である。
【0148】
この方法によれば以下の利点を得ることができる。
【0149】
第1に、電池の初期状態の計測(S102)において、一時的に電池に負荷電流を流す際に、ダミーロードとして、電池モニタ部304の機能の一部を流用することができる。たとえば電池モニタ部304は、電池の接続を検出する機能を有するが、この機能に利用される回路素子を、ダミーロードとして利用してもよい。
【0150】
第2に、未知の充電状態の二次電池パック200が装着されるその都度、初期状態を計測する(S102)ため、電池の充電状態を記憶しておくための不揮発性メモリを持つ必要が無い。
【0151】
第3に、電圧法と電荷積算法とを併用し、相互に誤差補正をすることとした。これにより、従来よりも高い精度で残存容量を検出することができる。
【0152】
第4に、電子機器100が休止状態にあるときには、クーロンカウンタ308による電荷量の積算のみを継続し、開放電圧(OCV)推定を停止させることで消費電力低減が可能である。したがって、開放電圧推定演算処理(S108)は、電子機器100の通常動作時のみでもよく、ソフトウェアによる実装が可能となる。このことは、バッテリマネージメント回路300のハードウェアを削減することができることを意味する。なお、電子機器100の休止状態では、第1A/D変換器310を停止するようにしてもよく、この場合、消費電力を低減することができる。
【0153】
第5に、電池の内部抵抗値RINTの算出に、等価回路モデルを用いず、固定成分RFと変動成分RVとの和を用いることで、複雑な演算を排除し、演算量を削減でき、処理時間短縮および消費電力低減が可能である。
【0154】
第6に、電池の内部抵抗値RINTの変動成分を、電池の温度、負荷変動、特性変動、劣化を考慮して算出するため、推定誤差を低減することができる。
【0155】
第7に、機器の起動時および電池装着時に電池の充電状態(SOC)および残存容量の推定を行うので、システム停止時に電池の状態を記憶・保持するための不揮発性記憶媒体(フラッシュメモリなど)を必要としない。
【0156】
第8に、電池の残存容量推定装置を充電回路と協調動作させることにより、充電時は満充電完了時点を、ソフトウェアその他の通信手段を経ることなく、ただちに残存容量推定装置に通知することができる。また、電池の初期状態を計測する際、充電回路の機能の一部(充電電流供給機能、および無負荷/定負荷選択機能)を流用することができ、ハードウェアの重複を避けることができる。
【0157】
以上、本発明について、実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセス、それらの組み合わせには、さまざまな変形例が存在しうる。以下、こうした変形例について説明する。
【0158】
実施の形態では、
図3のバッテリマネージメント回路300とシステムコントローラ400の組み合わせによって、
図6〜
図9で説明した残存容量推定の処理を行う場合を説明したが、本発明はそれには限定されない。
【0159】
たとえば、
図2に示した電源管理システム101rにおいて、
図6〜
図9で説明した残存容量の推移処理を行ってもよい。
【0160】
また、
図6〜
図9の演算処理をすべて採用する必要はなく、その一部のみを採用し、残りの部分は公知技術を用いてもよい。
【0161】
実施の形態では、システムコントローラ400を、メインプロセッサ402とソフトウェアの組み合わせで構成する場合を説明したが、本発明はそれには限定されず、システムコントローラ400をハードウェアのみで実現してもよい。またシステムコントローラ400の機能のうち、二次電池の残存容量検出に関する機能の一部あるいは全部は、バッテリマネージメント回路300に内蔵されてもよい。
【0162】
反対に、バッテリマネージメント回路300で行われる処理の一部、たとえばクーロンカウンタ308による積算処理は、システムコントローラ400で行ってもよい。あるいは電池計測部306における演算処理の一部を、システムコントローラ400で行ってもよい。
【0163】
実施の形態にもとづき、具体的な用語を用いて本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎず、実施の形態には、請求の範囲に規定された本発明の思想を逸脱しない範囲において、多くの変形例や配置の変更が認められる。