(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下、本発明の実施形態を図面に基づいて説明する。
【0011】
図1は、本発明の実施形態に係る充電状態演算システムのブロック図である。本例の充電状態演算装置は、車両等に搭載され、車両内のバッテリの充電状態(SOC:State of Charge)を演算し、表示部に表示させる装置である。充電状態演算装置は、
図1に示す充電状態演算システムに含まれている。
【0012】
本例の充電状態演算システムは、充電器10と、バッテリ20と、センサ31〜33と、表示部40と、車両制御コントローラ50と、バッテリコントローラ60とを備えている。
【0013】
充電器10は、バッテリ20を充電する充電器であり、車両の外部に設けられている。充電器10は、車両制御コントローラ50の制御に基づいて、交流電源(図示しない)から入力される電力をバッテリ20の充電に適した電力に変換して、バッテリ20に出力する充電回路である。充電器10は、インバータ、DC/DCコンバータ及びコントローラ等を有している。充電器10は、ケーブル等によりバッテリ20に接続される。
【0014】
バッテリ20は、リチウムイオン電池等の二次電池(以下、セルとも称す。)を複数接続することで構成される電池であって、車両の動力源である。バッテリ20は、インバータ(図示しない)を介して、モータ(図示しない)に接続されている。バッテリ20は、当該モータの回生により充電され、また車両外の充電器10により充電される。
【0015】
電圧センサ31はバッテリ20の端子電圧を検出するセンサであり、バッテリ20に接続されている。また、電圧センサ31は、バッテリ31を構成する各電池の端子電圧を検出する場合には、複数のそれぞれの電池の端子間に接続されている。電圧センサ31の検出電圧はバッテリコントローラ50に送信される。
【0016】
電流センサ32は、バッテリ20の電流を検出するセンサであり、バッテリ20に接続されている。電流センサ32の検出電流はバッテリコントローラ50に送信される。
【0017】
温度センサ33は、バッテリの20の温度を検出するセンサであり、バッテリ20のケース等に設けられている。温度センサ33の検出温度はバッテリコントローラ50に送信される。
【0018】
表示部40は、車室内に設けられ、バッテリコントローラ60で管理されている、バッテリ20のSOC、バッテリ20の充電時間等を表示するディスプレイである。表示部40は、車両制御コントローラ50により、制御される。なお、表示部40による表示はバッテリ20のSOCを数値で表示してもよいし、セグメント表示してもよく、表示形態は限定されない。また、表示部40に表示されるSOCは後述する相対SOC演算部67で算出された相対SOCが表示される。
【0019】
車両制御コントローラ50は、車両全体を制御するコントローラであって、受電器10及び表示部40等を制御する。また、車両制御コントローラ50は、ケーブル等により充電器10とバッテリ20との間が接続されると、充電器10の充電種類を確認した上で、充電器10を制御して、バッテリ20を充電させる。バッテリ20の充電中、バッテリ20の状態は、後述するバッテリコントローラ60により管理されている。車両制御コントローラ50はバッテリコントローラ60と信号の送受信を行うことで、バッテリ20の状態を管理しつつ、バッテリ20の状態に応じて、バッテリ20の充電電力を制御する指令電力を充電器10に送信する。これにより、車両制御コントローラ50は、充電器10を制御することで、バッテリ20の充電制御を行う。
【0020】
バッテリコントローラ60は、SOC演算部61、劣化度演算部62、満充電検出部63、満充電SOC予測部64、補正値演算部65、満充電SOC補正部66、及び、相対SOC演算部67を有し、バッテリ20を制御するコントローラである。なお、本例において、車両制御コントローラ50及びバッテリコントローラ60は別々のコントローラで構成されているが、一つのコントローラで構成されてもよい。
【0021】
SOC演算部61は、電圧センサ31又は電圧センサ32の少なくともいずれか一方の検出値から、バッテリ20のSOCを演算する。
【0022】
劣化度演算部62は、電圧センサ31の検出電圧及び電流センサ32の検出電流から、バッテリ20の内部抵抗を演算することで、バッテリ20の劣化度を演算する。バッテリ20の内部抵抗は、バッテリ20の劣化により変化する。バッテリコントローラ60には、初期状態のバッテリ20の内部抵抗、満充電時の電池容量等を示す値が予め記録されている。そのため、劣化度演算部62は、演算したバッテリ20の内部抵抗と、初期状態のバッテリ20の内部抵抗とを比較することで、バッテリ20の劣化度を演算することができる。
【0023】
内部抵抗の演算方法は、例えば、バッテリ20の開放電圧と、電圧センサ31及び電流センサ32の検出値から演算してもよく、あるいは、電圧センサ31及び電流センサ32の検出値からバッテリ20の電流変化に対する電圧変化の特性(以下、IV特性と記載)を導出することで演算してもよい。また、バッテリ20の劣化度を演算する方法は、内部抵抗の比較以外の他の方法であってもよい。さらに、劣化度を演算する際に、温度センサ33の検出値を用いてもよい。
【0024】
満充電検出部63は、バッテリが満充電の状態に達したことを検出する制御部であって、電圧センサ31又は電流センサ32の少なくともいずれか一方の検出値を用いて、検出する。
【0025】
満充電SOC予測部64は、バッテリ20が満充電の状態にあると検出された場合のSOCを予測する。満充電検出部63が、バッテリ20の充電電流又は充電電圧に基づき、バッテリ20の満充電を検出した時のバッテリ20のSOCは、バッテリ20の劣化度、バッテリの温度、又は、充電器10から出力される出力電力等により異なる。そのため、満充電SOC予測部64は、バッテリ20が満充電の状態にあると検出された時に、バッテリ20に充電されているSOCを、満充電SOC予測値として予測する。
【0026】
補正値演算部65は、満充電検出部63によりバッテリ20の満充電を検出した際に、SOC演算部61により演算されたSOCを、100パーセントに補正する補正値を演算する。満充電検出部63がバッテリ20の満充電を検出した時に、SOC演算部61で演算されたSOC演算値は、バッテリ20の劣化により、変化する。そのため、SOC演算部61のSOC演算値を、表示部40にそのまま表示した場合には、バッテリ20が満充電であると検出されたにもかからず、SOCは100パーセントして表示されず、また、表示したSOCはセンサの誤差、バッテリ20の劣化等により変化する。
【0027】
そのため、本例では、SOC演算値が変化する状態において、満充電検出部63により満充電が検出された時の表示部40への表示を100パーセントとするために、補正値演算部65は、補正値を演算する。
【0028】
満充電SOC補正部66は、補正値演算部65で演算された補正値を用いて、満充電SOC予測部64で予測されたSOC予測値を補正することで、補正後の満充電SOC予測値を演算する。
【0029】
相対SOC演算部67は、満充電SOC補正部66により補正された、補正後の満充電SOC予測値と、SOC演算部61のSOC演算値との比を演算することで、当該SOC演算値を補正した値に相当する相対SOCを演算する。相対SOCは、表示部40に表示されるSOCである。
【0030】
ここで、相対SOCに関して説明する。バッテリは一般的に、バッテリ温度が低い場合には内部抵抗が大きくなり、化学的な満充電状態(絶対SOCが100パーセント)未満の充電状態で、充電することが困難となる。この、これ以上充電することが困難となった状態(その時点のバッテリの状態における満充電状態)の充電率を100パーセントとした場合の、相対的な充電率を相対SOC(Relative SOC:相対的SOC)と言う。
【0031】
対して、前述した化学的な満充電状態を100パーセントとした場合の充電率を絶対SOC(Absolute SOC:絶対的SOC)と言う。例えばバッテリ温度が低いほどバッテリの内部抵抗は上昇し、相対SOCが100パーセントとなる時点での、絶対SOCは低くなる。
【0032】
上記の通り、相対SOCはその時点のバッテリの状態における満充電状態の充電率を100パーセントとした充電率である。従って相対SOCは、現在の絶対SOC(SOC演算部61のSOC演算値)を、その時点のバッテリの状態における満充電時の絶対SOC(満充電SOC予測値)で除算することによって算出される。
【0033】
なお、上述したSOC演算部61で算出されるSOC演算値、満充電SOC予測部64及び満充電SOC補正部66で算出される満充電SOC予測値はいずれも絶対SOCであり、相対SOC演算部67で算出されるSOCのみが相対SOCとなる。以下では、絶対SOCを絶対SOCもしくは単にSOCと記載し、相対SOCを相対SOCと記載する。
【0034】
次に、車両制御コントローラ50及びバッテリコントローラ60の制御について説明する。まず、バッテリ20を目標充電率まで充電する際の充電制御について説明する。
【0035】
車両制御コントローラ50は、充電器10とバッテリ20との接続を確認すると、充電器10の種類を示す信号を充電器10から受信することで、充電器10の種類を識別する。充電器10の種類は、例えば、普通充電(NC)と急速充電(QC)であり、充電器10の出力により区別される。
【0036】
車両制御コントローラ50は、バッテリコントローラ60を制御し、バッテリ20の状態を確認し、充電する際の目標充電率を設定する。目標充電率は、ユーザ等の操作により設定される。そして、車両制御コントローラ50は、バッテリ20の充電に適した指令値を充電器10に送信し、充電を開始する。
【0037】
図2を用いて、バッテリ20の充電制御を説明する。
図2は、バッテリ20を満充電まで充電する際の、電圧特性及び電流特性を示すグラフである。バッテリ10は、まず定電流制御で充電され、バッテリ10の電圧が所定の電圧閾値(Vc)まで達すると、定電圧制御で充電される。電圧閾値(Vc)は、定電流制御から定電圧制御に切り替わる電圧を示しており、バッテリ20の性能に応じて、予め設定されている電圧値である。なお、
図2に示す、バッテリ20の電圧、電流特性は、充電器10の種類に応じて変わる。
【0038】
車両制御コントローラ50は、充電開始時に、バッテリ20のSOCを確認し、バッテリ20のSOCが電圧閾値(Vc)より低い場合には、定電流制御の指令値を充電器10に送信する。充電器10は当該指令値に基づいて、定電流制御で充電を開始する。
【0039】
バッテリ20の電圧は、充電経過と共に上昇する。バッテリコントローラ60は、電圧センサ31の検出電圧により、バッテリ20の電圧を管理している。バッテリコントローラ60で管理している電圧は、バッテリ20の充電中、車両制御コントローラ50に送信されている。バッテリ20の電圧が電圧閾値(Vc)に達すると、車両制御コントローラ50は、定電圧制御に遷る指令値を充電器10に送信する。充電器10は、当該指令値に基づいて、定電流制御から定電圧制御に遷る。これにより、バッテリ20の充電率が上昇するに伴ってバッテリ20の電圧が上昇し、充電電圧に近づくにつれて充電電流が減少する。
【0040】
バッテリコントローラ60には、充電の終了を判断するための電流閾値が、充電開始時に設定された目標充電率に応じて、設定されている。上述の通り充電時の充電電流は、バッテリの充電率が高くなるほど減少するため、目標充電率が高いほど低い電流閾値が設定されている。バッテリコントローラ60は、定電圧制御の充電中、電流センサ32の検出電流により、バッテリ20の電流を管理している。そして、バッテリ20の電流が、目標充電率に応じて設定された電流閾値以下に達すると、バッテリコントローラ60は、充電が終了したと判断し、その旨を示す信号を車両制御コントローラ50に送信する。車両制御コントローラ50は、当該信号に基づき、充電器10に対して、バッテリ20の充電を終了させる信号を充電器10に送信する。充電器10は、出力をゼロにして、充電を終了する。
【0041】
また、目標充電率がバッテリ20の満充電に相当する充電率に設定された場合には、バッテリコントローラ60は、満充電検出部63による検出により、充電の終了を判断する。満充電検出部63には、上記の目標充電率に応じて設定された電流閾値と同様に、満充電時の電流閾値(I
M)が予め設定されている。そして、満充電検出部63は、電流センサ32の検出電流と電流閾値(I
M)とを比較し、検出電流が電流閾値(I
M)以下に達した場合には、バッテリ20が満充電に達したと判定する。これにより、満充電検出部63は満充電を検出する。
【0042】
SOC演算部61は、上記のバッテリ10の充電制御中に、電流センサ32の検出電流を積算することで、バッテリ20のSOCを演算している。
【0043】
次に、バッテリ20のSOCの演算制御について、
図3及び
図4を用いて説明する。
図3は、SOCの演算制御のフローを説明するための図であり、バッテリコントローラ60のブロック図である。
図4は、満充電SOC予測部64に記録されているマップの概要図である。
【0044】
満充電状態検出部63により、満充電を検出した時に、SOC演算部61で演算されたSOC(絶対SOC)は、センサの誤差又はバッテリ20の劣化度等により変わる。また、満充電に達した時のSOC(絶対SOC)は、バッテリ温度又は充電器10の種類でも変化する。従って、センサの誤差又はバッテリ20の劣化度、バッテリ温度や充電器10の種類等によって変化する満充電時のSOCに対する現在のSOCの相対的な比率、すなわち表示部40に表示される相対SOCは、満充電時のSOCに応じて変化させる必要が有る。そのため、本例は、表示部40に表示する相対SOCを、以下の制御で補正している。
【0045】
満充電SOC予測部64には、
図4に示すマップが記録されており、満充電SOC予測部64は、当該マップを用いて、満充電SOC予測値を演算する。満充電SOC予測値は、バッテリ30が満充電の状態になった時のSOCの予測値を示している。満充電SOC予測部64には、バッテリ20の温度、バッテリ20の劣化度及び充電の種類に対する満充電時のSOC予測値の関係を示すマップが、予め設定記録されている。
【0046】
バッテリ20の劣化の進み具合は、個々のバッテリ20により異なる。そのため、満充電検出部63により満充電が検出されたときに、実際にバッテリ20に充電された電池容量に基づくSOCも、個々のバッテリ20により異なる。満充電SOC予測値64は、マップにより、満充電時に達するSOCを一義的に演算しているため、演算結果であるSOCは、予測値にすぎない。
【0047】
満充電SOC予測値について、電池温度が低いほど、満充電SOC予測値は低くなり、バッテリ20の劣化度が高いほど(劣化度が進んでいるほど)、満充電SOC予測値は低くなる。また、急速充電時の満充電SOC予測値は、普通充電と比較して低い。
【0048】
充電器10がバッテリ20に接続され、車両制御コントローラ50が充電器の種類を判定し、判定結果をバッテリコントローラ60に送信する。満充電SOC予測部64は、当該判定結果に基づき、急速充電用のマップと、普通充電用のマップのいずれか一方のマップを選択する。そして、満充電SOC予測部64は、選択したマップを参照して、劣化度演算部62で演算された劣化度及び温度センサ33の検出温度と対応するSOC予測値を満充電SOC予測値として演算する。満充電SOC予測値は、補正値演算部65及び満充電SOC補正部66に送信される。
【0049】
満充電検出部63は、満充電を検出すると、満充電に達したことを示す信号を補正値演算部65に送信する。SOC演算部61は、演算したSOC演算値を、補正値演算部65と相対SOC演算部67に送信する。
【0050】
補正値演算部65は、満充電検出部63の信号により、バッテリ20の満充電を検出した時に、SOC演算部61で演算された演算値を、満充電時のSOC演算値として取得する。そして、補正値演算部65は、満充電時のSOC演算値から、満充電SOC予測値を除算することで、補正値を演算する。なお、補正値演算部65は図示しないメモリを備え、算出した補正値はメモリに上書きして保持される。すなわち、バッテリ20の満充電が検出される度にメモリに補正値が上書き更新され、更新された補正値は次回バッテリ20の満充電が検出されるまで保持される。
【0051】
補正値演算部65で演算された補正値は、満充電時SOC予測値と、満充電時のSOC演算値と誤差を補正するための補正係数である。バッテリ20の劣化に対して、満充電時のSOCの特性が、
図4のマップで示される特性と同様に推移すれば、SOC予測値と、SOC演算値は同一値になる。しかしながら、実際には、製造段階のバッテリ20のばらつき、バッテリ20の劣化度の進行具合のばらつき、センサの検出誤差等により、マップ上で演算された満充電時SOC予測値と、センサの検出値に基づく満充電時のSOC演算値との間には、誤差が生じる。さらに、当該誤差は、充電サイクル毎に同じにはならない。
【0052】
そのため、補正値演算部65は、上記の誤差を補正するために、満充電検出時に、補正値を演算している。補正値演算部65は、演算した補正値を、満充電SOC補正部66に送信する。
【0053】
満充電SOC補正部66は、満充電SOC予測部64で演算された満充電時SOC予測値に、補正値を乗算することで、補正後の満充電SOC予測値を演算する。補正後の満充電SOC予測値は、マップにより演算された満充電時SOC予測値を、満充電検出時のSOC演算値に合わせるように補正した値である。言い換えると、補正後の満充電SOC予測値は、満充電時SOC予測値から、満充電時SOC予測値と補正前の満充電時SOC演算値との間の誤差の分を差し引いた値となる。
【0054】
相対SOC演算部67は、SOC演算部61のSOC演算値を、補正後の満充電SOC予測値で除算する((SOC演算値)/(補正後の満充電SOC予測値)×100)ことで、相対SOC(%)を演算する。相対SOCは、表示部40で表示されるSOCである。そして、ユーザは、相対SOCが100パーセントに達したことを確認することで、バッテリの充電が満充電に達したことを認識することになる。
【0055】
上記のとおり、補正後の満充電SOC予測値は、マップ上で予測された満充電時に到達するSOC(補正前の満充電時のSOC予測値)を、満充電検出時に、実際に演算されたSOC演算値に合わせるよう補正することで、表示部40で100パーセントとして表示させるための、実際の満充電時のSOC(補正後の満充電時SOC予測値)を演算している。
【0056】
ここで、表示部40のSOC表示(相対SOCの表示)では、ユーザに対して満充電を認識させるために、SOC(100%)として表示させることが好ましい。一方、バッテリ20の満充電の検出は、センサの値を用いて行っているため、センサの検出誤差等に起因して制御上、満充電を検出した際には、バッテリのSOCは、100パーセントにはなっていない可能性がある。そのため、補正値演算部65で補正値を演算し、満充電SOC補正部66で、補正後の満充電SOC予測値を演算することで、表示部40のSOC表示(100%表示)と、実際のバッテリ20の満充電時のSOC(満充電の検出時に、SOC演算部61で実際に演算されたSOC演算値)とを合わせている。そして、相対SOCが、当該実際の満充電時のSOCに対するSOC演算値の比で演算されることで、表示部40のSOC表示が満充電で100パーセントになる。
【0057】
満充電検出時以外のバッテリ20のSOCの演算制御について説明する。ここで、満充電検出時以外には、充電器10による充電中に限らず、車両走行中のモータ(図示しない)の回生による充電中、及び、バッテリ20を動力源として車両が走行している時が含まれる。
【0058】
SOC演算部61は、電流センサ32の検出値に基づいて、所定の周期で、SOC演算値を演算する。相対SOC演算部67は、直前の満充電検出時に演算された、補正後の満充電時SOC予測値と、SOC演算値61で演算されたSOC演算値との比を演算することで、相対SOCを演算する。演算された相対SOCは、車両制御コントローラ50の制御により、表示部40に表示される。
【0059】
なお、満充電SOC予測部64によるマップの選択は、前回の満充電の検出時に選択したマップと同じマップを選択する。
【0060】
次に、
図5を用いて、
図3で演算された各値の特性について説明する。
図5は、SOC演算値、補正前の満充電SOC予測値、補正後の満充電SOC予測値及び相対SOCの特性を示すグラフである。
図5において、絶対SOCはバッテリコントローラ60で制御用に演算されたSOCを示し、相対SOCは表示部40で表示されるSOCを示す。なお、
図5の例では、バッテリ20は、普通充電の充電器10で充電されたとする。また、
図5の充電を開始する段階で、補正値(0.98)が演算されていたとする。また、説明を容易にするため、バッテリ20の劣化度及び温度は一定とする。
【0061】
時刻(t
0)で、普通充電の充電器10が接続され、充電が開始する。満充電SOC予測部62は、普通充電用のマップを選択し、バッテリ20の劣化度及び温度に基づき、補正前の満充電SOC予測値を演算する。補正前の満充電SOC予測値は、マップ上の値であり、バッテリ20の劣化度及び温度を一定にしているため、一定値で表される(グラフa参照)。そして、満充電SOC補正部66は、補正前の満充電SOC予測値に補正値(0.98)を乗算することで、補正後の満充電SOC予測値を演算する(グラフb参照)。SOC演算値は、時刻(t
0)以降、バッテリ20の充電と共に、上昇する。
【0062】
時刻(t
1)で、バッテリ20の充電電流が電流閾値(I
M)に達したため、満充電検出部63は、満充電を検出する。満充電検出時のSOC演算値は、補正後の満充電SOC予測値に対して、Δx分ずれている。また、SOC演算値が補正後の満充電SOC予測値に達する前に、満充電が検出されたため、相対SOCは、SOC(100%)に対して、Δy分ずれている。
【0063】
そのため、表示部40における相対SOCの誤差(Δy)を修正し、満充電検出時(満充電の充電終了時)の表示部40のSOC表示を100%にするために、誤差(Δx)を補正する。補正値演算部65は、時刻t
1の時点で、SOC演算値と補正前の満充電SOC予測値との比を取ることで、補正値(0.95)を演算する。
【0064】
そして、満充電SOC補正部66は、補正前の満充電SOC予測値に補正値(0.95)を乗算することで、補正後の満充電SOC予測値を演算する。時刻(t
0)と比較して、補正する幅が大きくなっているが、時刻t
1において、補正値が更新(0.98から0.95に更新)された上で、補正前の満充電SOC予測値が補正されている。ゆえに、相対SOCの誤差(Δy)分が補正され、表示部40の表示は100%になる。
【0065】
満充電の検出時に演算された補正値は、図示しないメモリに記録することで、保持されている。そして、相対SOCは、保持された当該補正値に基づいて補正された満充電SOC予測値(補正後の満充電SOC予測値)と、SOC演算値との比で演算される。
【0066】
時刻(t
1)以降、車両1の走行によりSOC演算値は低くなる。補正後の満充電SOC予測値は、補正値が保持されているため、時刻t
1で演算された値で、一定に推移する。相対SOCは時刻t
1で100パーセントに補正され、かつ、補正値が保持されているため、時刻t
1以降の相対SOCは、100%を始点として、徐々に低下する。
【0067】
時刻(t
2)で、再び、普通充電の充電器10で充電が開示される。バッテリ20の充電により、SOC演算値は上昇し、相対SOCも上昇する。
【0068】
そして、時刻(t
3)で、満充電が検出され、時刻(t
1)と同様の演算制御が行われ、補正値が更新される。
【0069】
ここで、充電器10における充電開始時に、補正値をリセットした場合について説明する。かかる場合には、補正後の満充電SOC予測値が、補正前の満充電SOC予測値に戻る。そして、相対SOCの演算式の分母の値が大きくなる分、相対SOCは下がる。そのため、
図5のグラフd
0に示すように、充電開始と共に、下がってしまい、表示部40のSOC表示が、充電開始の時点で下がることになり、ユーザに違和感を与える。また、この場合には、満充電時である時刻(t
3)における相対SOCは、充電開始時に下がった分、100パーセントから乖離する。このため、時刻(t
3)において補正値を算出して、相対SOCを100パーセントに補正した場合には、表示部40のSOC表示が時刻(t
3)で急に変化することになり、ユーザに違和感を与える。
【0070】
一方、補正値が、充電開始時にリセットされず、保持される場合には、上記のように、表示部40のSOC表示が充電開始の時点で下がることが防がれる。また、満充電時点、すなわち時刻(t
3)の時点において表示部40のSOC表示が100パーセントから大きく乖離することがなく、表示部40のSOC表示が急に変化することを防止することができる。
【0071】
次に、
図6を用いて、
図3で演算された各値の特性について説明する。
図6は、SOC演算値、補正前の満充電SOC予測値、補正後の満充電SOC予測値及び相対SOCの特性を示すグラフである。
図6は、
図5と同様の特性を示しているが、時刻t
2の時点で、急速充電で充電を行っている点が異なる。
【0072】
時刻t
1から時刻t
2の直前までの演算制御は、
図5と同様であるため、説明を省略する。時刻(t
2)で、急速充電の充電器10が接続され、充電が開始する。満充電SOC予測部62は、急速充電用のマップを選択し、バッテリ20の劣化度及び温度に基づき、補正前の満充電SOC予測値を演算する。
図4のマップに示すように、急速充電時の満充電SOCは、普通充電の満充電SOCより低い。そのため、時刻t
2で、補正前の満充電SOC予測値は、時刻t
2以前の値と比較して、低くなる。また、時刻t
2で補正値は更新されないため、補正後の満充電SOC予測値も、時刻t
2以前の値と比較して、低くなる。なお、時刻t
2の時点で補正前の満充電SOC予測値が低下したことに伴い、相対SOCは増大する。
【0073】
そして、SOC演算値は、時刻(t
2)以降、バッテリ20の急速充電と共に、上昇し、相対SOCも同様に上昇する。時刻(t
3)で、満充電が検出され、時刻(t
1)と同様の演算制御が行われる。この際、急速充電用のマップが用いられる。
【0074】
次に、
図7を用いて、車両制御コントローラ50及びバッテリコントロ−ラ60の制御フローについて説明する。
図7は、車両制御コントローラ50及びバッテリコントロ−ラ60の制御手順を示すフローチャートである。なお、
図7に示す制御フローは、車両の走行中には、繰り返し行われている。
【0075】
ステップS1にて、車両制御コントローラ50は、普通充電の充電器10が接続されている否かを判定する。普通充電の充電器10が接続されている場合には、ステップS2にて、満充電SOC予測部64は、普通充電用のマップを選択し、車両制御コントローラ50は充電を開始し、ステップS6に遷る。
【0076】
一方、普通充電の充電器10が接続されていない場合には、ステップS3にて、急速充電の充電器10が接続されているか否かを判定する。急速充電の充電器10が接続されている場合には、ステップS4にて、満充電SOC予測部64は、急速充電用のマップを選択し、制御コントローラ50は充電を開始し、ステップS6に遷る。
【0077】
普通充電の充電器10及び急速充電の充電器10が接続されていない場合には、ステップS5にて、満充電SOC予測部64は、前回の満充電の検出時に選択したマップと同じマップを選択し、ステップS6に遷る。
【0078】
ステップS6にて、電圧センサ31はバッテリ20の電圧を検出し、電流センサ32はバッテリ20の電流を検出する。ステップS7にて、温度センサ33はバッテリ20の温度を検出する。ステップS8にて、劣化度演算部62は、ステップS6及びステップS7のセンサの検出値を用いて、バッテリ20の劣化度を演算する。
【0079】
ステップS9にて、満充電SOC予測部66は、ステップS2、S4又はS5で選択されたマップを参照し、ステップS7の劣化度及びステップS8のバッテリ温度に基づく、補正前の満充電SOC予測値を演算する。
【0080】
ステップS10にて、SOC演算部61は、ステップS6の検出値に基づき、バッテリ20のSOCを演算する。ステップS11で、満充電検出部63は、ステップS6で検出された検出電流と、電流閾値(I
M)とを比較し、満充電に達したか否かを検出する。
【0081】
満充電に達していない場合には、ステップS12にて、満充電SOC補正部66は、保持されている補正値と、ステップS9で演算された満充電SOC予測値(補正前)に基づいて、補正後の満充電SOC予測値を演算する。
【0082】
ステップS13にて、相対SOC演算部67は、ステップS10のSOC演算値と、ステップS12の補正後の満充電SOC予測値に基づいて、相対SOCを演算する。そして、ステップS14にて、車両制御コントローラ50は、演算された相対SOCを表示部40に表示し、ステップS6に遷る。
【0083】
ステップS11に戻り、満充電に達したことが検出された場合には、ステップS15にて、補正値演算部65は、ステップS9の補正前の満充電SOC予測値とステップS10のSOC演算値に基づき、補正値を演算する。ステップ16にて、補正値演算部65は、演算された補正値を、メモリ(図示しない)に上書きして記録する。すなわち、演算された補正値は、バッテリ20の満充電を検出した時にのみ更新されつつ、次回のバッテリ20の満充電を検出するまでは、当該補正値がメモリに記録されることで、保持される。
【0084】
ステップS17にて、満充電SOC補正部66は、ステップS15の補正値と、ステップS9で演算された満充電SOC予測値(補正前)に基づいて、補正後の満充電SOC予測値を演算する。
【0085】
ステップS18にて、相対SOC演算部67は、ステップS10のSOC演算値と、ステップS17の補正後の満充電SOC予測値に基づいて、相対SOCを演算する。そして、ステップS19にて、車両制御コントローラ50は、演算された相対SOC(100%)を表示部40に表示し、本例の制御を終了する。
【0086】
上記のように、本例は、バッテリ20の満充電を検出した時に、SOC演算部61により演算されたSOC演算値を、100パーセントのSOCに補正する補正値を演算し、満充電SOC補正部66及び相対SOC演算部37により、SOC演算値を補正値で補正し、補正されたSOCである、相対SOCを表示部40に表示させる。これにより、センサの誤差、バッテリ20の劣化等によるSOCの誤差を補正して、表示部40に表示させるため、ユーザに対して違和感を与えることを防ぐことができる。
【0087】
また、本例は、バッテリ20の満充電を検出した時にのみ補正値を更新し、次回バッテリの満充電を検出するまで補正値を保持する。これにより、充電サイクルの度に、補正値を演算することができるため、経時的な劣化等に対応しつつ、精度のよいSOCを演算することができる。また、これにより補正時の相対SOCの変化を極力抑制し、表示部40に表示するSOCの変化を抑制することができる。
【0088】
また本例は、満充電SOC予測値及び満充電の検出時のSOC演算値に基づいて、補正値を演算する。これにより、バッテリ20の劣化、センサの誤差等によるSOCの誤差を補正する補正値を正確に演算することできる。その結果として、表示部40にSOCを表示した際に、ユーザに対して違和感を与えることを防ぐことができる。
【0089】
また、本例は、充電器10の種類に応じたマップ(
図4のマップ)を有し、当該マップを用いることで、充電器10の種類に応じた補正値を演算している。これにより、充電の種類により満充電時のSOCが異なる場合に、満充電時のSOCを正確に演算することができる。その結果として、表示部40にSOCを表示した際に、ユーザに対して違和感を与えることを防ぐことができる。
【0090】
また本例は、バッテリ20の劣化度又はバッテリ20の温度のいずれか一方の値と、満充電SOC予測値との対応関係を示すマップを有している。これにより、バッテリ20の劣化度の変化、バッテリ20の温度変化に対応して、補正値を正確に演算することできる。その結果として、表示部40にSOCを表示した際に、ユーザに対して違和感を与えることを防ぐことができる。
【0091】
また本例は、バッテリ20の電流に基づいて、満充電を検出する。これにより、満充電の検出精度を高めることができる。
【0092】
なお、本例は、バッテリコントローラ60で演算されたSOCを、車両制御コントローラを介して表示部40に表示したが、例えば、ユーザが所有する携帯端末と、車両制御コントローラ50との間で通信を行い、当該携帯端末にSOCを表示させてもよい。また、本例は、バッテリコントローラ60で演算されたSOCを、車両制御コントローラ50を介して、充電器10のディスプレイに表示させてもよい。
【0093】
また、表示部40に表示させるSOC(相対SOC)を演算するために、本例は、満充電SOC補正部66により、補正値演算部65の補正値を用いて、満充電SOC予測値を補正したが、当該補正値を用いて、SOC演算部61のSOC演算値を補正してもよい。
【0094】
すなわち、満充電SOC補正部66に対応する補正部が、補正値演算部65の補正値を用いて、SOC演算値を補正し、相対SOC演算部67は、補正後のSOC演算値と、満充電SOC予測部64の満充電SOC予測値(補正前)との比をとることで、相対SOCを演算する。
【0095】
言い換えると、本例は、相対SOC演算部67で、相対SOCを演算する演算式で、分母部分に相当する満充電時のSOCを補正してもよく、あるいは、分子部分に相当する、バッテリ20の状態の演算値(SOC)を補正してもよい。
【0096】
これにより、満充電SOC補正部66及び相対SOC演算部67を含む補正部は、SOC演算部61のSOC演算値を、補正値演算部65の補正値で補正し、表示部40への表示用のSOC(相対SOC)を演算している。
【0097】
なお、本例において、満充電検出部63は、バッテリ20の検出電流から満充電を検出したが、バッテリの20の検出電圧から満充電を検出してもよい。例えば、電圧センサ31がバッテリ20に含まれる複数の電池の各端子電圧を検出する。満充電検出部63には、満充電に達したことを検出するための電圧閾値が予め設定されており、当該電圧閾値は、バッテリ20に含まれる電池の端子電圧に対して設定されている。そして、満充電検出部63は、電圧センサ31により検出された、複数の電池の各端子電圧を比較して、最も端子電圧が高い電池を特定する。そして、当該最も端子電圧が高い電池の電圧が、電圧閾値に達した場合に、満充電検出部63は満充電に達したことを検出する。
【0098】
また満充電検出部63は、電圧センサ31及び電流センサ32の検出値からバッテリ20の充電電力を演算し、充電電力に基づいて満充電を検出してもよい。
【0099】
なお、本例において、SOC演算部61は、電圧センサ31の検出電圧からバッテリ20のSOCを演算してもよい。バッテリ20の電圧とSOCとの間には相関性があるため、SOC演算部61は、当該相関性を示すマップをバッテリコントローラ60に記録し、当該マップを参照することで、SOCを演算すればよい。
【0100】
また、本例において、
図4に示すマップは、電池温度及び劣化度に対する満充電SOC予測値のマップを示したが、電池温度又は劣化度の何れか一方の値と、満充電SOC予測値との関係を示すマップでもよい。
【0101】
上記電圧センサ31又は電流センサ32が本発明の「検出手段」に相当し、SOC演算部61が本発明の「充電状態演算手段」に、満充電検出部63が本発明の「満充電検出部」に、満充電SOC予測部64が本発明の「充電状態予測手段」に、補正値演算部65が本発明の「補正値演算手段」に、満充電SOC補正部66及び相対SOC演算部67が本発明の「補正手段」に、表示部40が「表示手段」に相当する。