(57)【特許請求の範囲】
【請求項１】
電池開放電圧と電池の充電状態を表すSOCとの相関を示す開放電圧対SOC相関を利用して、電池開放電圧から電池の充電状態を算出する電気自動車用二次電池のSOC演算方法において、
前記電池開放電圧Ｅを、（ａ）前記電池に関して予め与えられる所定抵抗値r0、電池温度に基づく第１の抵抗比A1および所与の基準ＳＯＣに基づく第２の抵抗比A2から式（１）により算出される電池内部抵抗ｒと、（ｂ）充放電時の前記電池の電流Ｉおよび電圧Ｖとに基づいて式（２）により算出することを特徴とする電気自動車用二次電池のSOC演算方法。
【数１】
0003543662.tif 000003
【請求項２】
電池開放電圧と電池の充電状態を表すSOCとの相関を示す開放電圧対SOC相関を利用して、電池開放電圧から電池の充電状態を算出する電気自動車用二次電池のSOC演算方法において、
電池温度と充放電時の電池の電圧Ｖおよび電流Ｉとを検出する第１の工程と、
電池温度に依存する第１の抵抗比A1を前記第１の工程で検出された電池温度に基づいて算出する第２の工程と、
電池のＳＯＣに依存する第２の抵抗比A2を所与の基準ＳＯＣに基づいて算出する第３の工程と、
電池の基準抵抗値r0，前記第２の工程で算出された第１の抵抗比A1および前記第３の工程で算出された第２の抵抗比A2から式（３）により電池内部抵抗ｒを算出する第４の工程と、
【数２】
0003543662.tif 000004
前記電圧Ｖ，前記電流Ｉおよび前記電池内部抵抗ｒから式（４）により電池開放電圧Ｅを算出する第５の工程と、
【数３】
0003543662.tif 000005
前記第５の工程で算出された電池開放電圧Ｅおよび前記開放電圧対SOC相関から電池の充電状態を算出する第６の工程と、
前記第６の工程で算出された充電状態を前記基準充電状態に設定する第７の工程とを有し、前記第３の工程から前記第７の工程までの一連の工程を複数回繰り返し行うことを特徴とする電気自動車用二次電池のSOC演算方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ハイブリッド車を含む電気自動車に用いられる電気自動車用二次電池のSOC演算方法に関する。
【０００２】
【従来の技術】
ハイブリッド自動車等を含む電気自動車では、モータ駆動用二次電池としてニッケル水素電池やリチウムイオン電池などが用いられる。二次電池の充電状態を表す量の一つとしてSOC（state of charge）があり、満充電状態をSOC＝１００％で表し、SOC＝０％で充電量ゼロの状態を表す。上述したニッケル水素電池やリチウムイオン電池では、電池温度に関係なく開放電圧EoとSOCとの間に所定の相関関係があり、開放電圧EoとSOCとは一対一の対応関係が成り立っている。そこで、電池の開放電圧Eoを計測または計算により推定して、Eo−SOC相関から開放電圧Eoに対応するSOCを求めることができる。一般的に、充放電時の開放電圧Eは、充放電時の電池総電圧Ｖ、負荷電流Ｉおよび電池内部抵抗ｒから次式（５）により推定される。
【数４】
Ｅ＝Ｖ＋Ｉ・ｒ    …（５）
【０００３】
【発明が解決しようとする課題】
従来、式（５）を用いて開放電圧Eを算出する場合には、内部抵抗ｒとして一定の設定値r0、例えば、SOC＝１００％、電池温度２０℃のときの内部抵抗、を用いて算出するようにしている。しかし、内部抵抗ｒは電池温度やそのときのSOCに依存するため、一定の設定値r0を用いて算出された開放電圧Eと実際の開放電圧Eoとの間に誤差が生じ、開放電圧Eの誤差の分だけSOCの算出精度が低下してしまうという欠点があった。
【０００４】
本発明の目的は、充電状態SOCを精度良く算出することができる電気自動車用二次電池のSOC演算方法を提供することにある。
【０００５】
【課題を解決するための手段】
発明の実施の形態を示す図１に対応付けて説明する。
請求項１の発明は、電池開放電圧と電池６の充電状態を表すSOCとの相関を示す開放電圧対SOC相関を利用して、電池開放電圧から電池６の充電状態を算出する電気自動車用二次電池のSOC演算方法に適用され、電池開放電圧Ｅを、（ａ）電池６に関して予め与えられる所定抵抗値r0、電池温度Ｔに基づく第１の抵抗比A1および所与の基準ＳＯＣに基づく第２の抵抗比A2から式（６）により算出される電池内部抵抗ｒと、（ｂ）充放電時の電池６の電流Ｉおよび電圧Ｖとに基づいて式（７）により算出することにより上述の目的を達成する。なお、基準ＳＯＣとしては、充電状態算出時より過去に算出された充電状態（ＳＯＣ）や計測された開放電圧などが用いられる。
【数５】
ｒ＝r0・A2・A1    …（６）
Ｅ＝Ｖ＋Ｉ・ｒ      …（７）
請求項２の発明は、電池開放電圧と電池６の充電状態を表すSOCとの相関を示す開放電圧対SOC相関を利用して、電池開放電圧から電池６の充電状態を算出する電気自動車用二次電池のSOC演算方法に適用され、電池温度Ｔと充放電時の電池の電圧Ｖおよび電流Ｉとを検出する第１の工程と、電池温度に依存する第１の抵抗比A1を第１の工程で検出された電池温度Ｔに基づいて算出する第２の工程と、電池６のＳＯＣに依存する第２の抵抗比A2を所与の基準ＳＯＣに基づいて算出する第３の工程と、電池６の基準抵抗値r0，第２の工程で算出された第１の抵抗比A1および第３の工程で算出された第２の抵抗比A2から式（８）により電池内部抵抗ｒを算出する第４の工程と、
【数６】
ｒ＝r0・A2・A1    …（８）
電圧Ｖ，電流Ｉおよび電池内部抵抗ｒから式（９）により電池開放電圧Ｅを算出する第５の工程と、
【数７】
Ｅ＝Ｖ＋Ｉ・ｒ      …（９）
第５の工程で算出された電池開放電圧Ｅおよび開放電圧対SOC相関から電池６の充電状態を算出する第６の工程と、第６の工程で算出された充電状態を基準充電状態に設定する第７の工程とを有し、第３の工程から第７の工程までの一連の工程を複数回繰り返し行うことにより上述の目的を達成する。なお、基準ＳＯＣとしては、充電状態算出時より過去に算出された充電状態（ＳＯＣ）や計測された開放電圧などが用いられる。
【０００６】
なお、本発明の構成を説明する上記課題を解決するための手段の項では、本発明を分かり易くするために発明の実施の形態の図を用いたが、これにより本発明が発明の実施の形態に限定されるものではない。
【０００７】
【発明の効果】
本発明によれば、電池開放電圧Ｅの算出に用いられる電池内部抵抗ｒを、所定抵抗値r0，電池温度に基づく第１の抵抗比A1および基準ＳＯＣに基づく第２の抵抗比A2から算出しているので、電池状態がより正確に反映された電池内部抵抗ｒが算出され、この電池開放電圧と開放電圧対SOC相関とから算出される充電状態SOCの精度向上を図ることができる。
特に請求項２の発明では、算出された充電状態SOCに基づいて第２の抵抗比A2を算出するとともに、その第２の抵抗比A2を用いて再び充電状態SOCを算出する演算処理を複数回繰り返し行うので、より高精度な充電状態SOCを算出することができる。
【０００８】
【発明の実施の形態】
以下、図１〜図７を参照して本発明の実施の形態を説明する。図１はパラレル・ハイブリッド車の構成を示すブロック図である。エンジン２の主軸には電動モータ３の回転子が直結されており、エンジン２および／またはモータ３の駆動力は駆動系４を介して車軸１に伝達される。モータ３は二次電池６により駆動されるが、この際にインバータ５を用いて二次電池６の直流電力を交流電力に変換する。
【０００９】
パラレル・ハイブリッド車におけるモータ３の運転モードには、車軸１を駆動する駆動モードと二次電池６を充電する発電モードとがある。車両自体の駆動モード時、すなわち加速時，平坦路走行時や登坂時等に、モータ３へ電力を供給する二次電池６が充分な充電状態にある場合には、モータ３を駆動モードで運転してエンジン２とモータ３の両方の駆動力により走行する。ただし、二次電池６の充電状態が低い場合にはモータ３を発電モードで運転して、エンジン２の駆動力により走行を行うとともにエンジン２の駆動力によりモータ３の回転子を回転し、モータ３による発電を行って二次電池６を充電する。この発電モード時には、インバータ５はモータ３からの交流電力を直流電力に変換して二次電池６へ供給する。
【００１０】
一方、車両制動モード時、すなわち減速時や降坂時などには、駆動系４を介した車輪の回転力によってエンジン２およびモータ３が駆動される。このとき、モータ３を発電モードで運転し回生エネルギーを吸収して二次電池６を充電する。７は電圧センサ８，電流センサ９，および温度センサ１０により検出された端子電圧Ｖ，充放電電流Ｉおよび電池温度Ｔ等に基づいて二次電池６のSOC等を算出するとともに、インバータ１２の出力制御や回生制御などを行なうバッテリーコントローラであり、CPU，RAM，ROM等を備えている。１１はエンジン２，モータ３，バッテリーコントローラ７等の全体的な制御を行うメインコントローラである。
【００１１】
図２は二次電池６の開放電圧EoとSOCとの相関関係の一例を示す図であり、図２に示すように電池６の開放電圧E’が分かればEo−SOC相関からその時のSOC’を求めることができる。なお、Eo−SOC相関は、予め相関式の形でバッテリーコントローラ７に記憶されている。前述したように、充放電時の開放電圧Eは、次式（１０）を用いて算出する。
【数８】
E＝Ｖ＋Ｉ・ｒ    …（１０）
式（１０）において、Ｖは負荷時の総電圧、Ｉは負荷電流、ｒは電池内部抵抗であり、ＶおよびＩは図１の電圧センサ８および電流センサ９により検出される。
【００１２】
図３は電池内部抵抗ｒの特性を示す図であり、縦軸は内部抵抗ｒを、横軸はDOD（depth of discharge）をそれぞれ表している。なお、DOD＝0％はSOC＝100％に対応し、DOD＝100％はSOC＝0％に対応している。図３においてL(0)は電池温度Ｔ＝0℃のときの内部抵抗特性を示しており、L(20)，L(40)はＴ＝20℃およびＴ＝40℃のときの内部抵抗特性を示している。図３からも分かるように、放電末期のDODが大きい領域を除けば、特性L(0)，L(20)，L(40)は互いに平行な直線と見なすことができる。
【００１３】
そこで、本実施の形態では、内部抵抗ｒについては次式（１１）を用いて算出する。
【数９】
ｒ＝r0・A2・A1      …（１１）
ここで、r0は内部抵抗の初期設定値であり、電池温度Ｔ＝20℃、SOC＝100％のときの内部抵抗値である。また、A1は電池温度Ｔに依存する電池内部抵抗比、A2は電池のSOCに依存する電池内部抵抗比であり、表１の（ａ）、（ｂ）にA1、A2の一例を示す。なお、二次電池６に関するA1、A2は予め表１のようなテーブルとしてバッテリーコントローラ７（図１）に入力されている。式（１１）によれば、電池温度が20℃でSOC＝100％の場合にはA1＝A2＝１であるからｒ＝r0となる。
【表１】
0003543662.tif 000002
【００１４】
次に、バッテリーコントローラ７で行われるSOC演算の手順について説明する。
−SOC演算例１−
図４に示すフローチャートを用いてSOC演算の第１の例について説明する。このフローチャートは車両電源をオンして車両起動することによりスタートし、ステップＳ１へ進む。ステップＳ１では、車両電源オン直後の負荷電流Ｉ＝０の時の電圧、すなわち図１の電池６の開放電圧E0を電圧センサ８より読み込む。ステップＳ２では、図２に示したEo−SOC相関からステップＳ１で求めた開放電圧E0に対応する車両起動時のSOC（SOC1と記す）を算出し、このSOC1をバッテリーコントローラ７内のメモリ（不図示）に設けられたメモリ領域M1に記憶する。続くステップＳ３では、電池温度T、電圧V、電流Iの読み込みを行う。
【００１５】
ステップＳ４はSOC演算を行うステップであり、図５のフローチャートに詳細な手順を示す。図５のステップＳ４１では、バッテリーコントローラ７に予め記憶されている内部抵抗比A1テーブルおよび内部抵抗比A2テーブルを用いて、電池温度Tに対応する内部抵抗比A1(T)およびメモリ領域M1のSOC1に対応するA2(SOC1)を算出する。ステップＳ４２では、ステップＳ４１で算出された内部抵抗比A1(T)，A2(SOC1)および上述した初期設定値r0から式（１１）を用いて内部抵抗ｒを算出する。ステップＳ４３では、電圧V、電流IおよびステップＳ４２で算出された内部抵抗ｒから式（１０）を用いて開放電圧Eを算出する。次いでステップＳ４４で、Eo−SOC相関からステップＳ４２で求めた開放電圧Eに対応するSOC2を算出してバッテリーコントローラ７のメモリ領域M2に記憶したならば、図５のSOC演算ルーチンを終了して図４のステップＳ５へ進む。
【００１６】
図４のステップＳ５は車両電源オフの指示を受信したか否かを判断するステップであり、YESならばSOC演算に関する一連の処理を終了する。一方、ステップＳ５においてNOと判断された場合には、ステップＳ６へ進んでメモリ領域M2のSOC2を新たなSOC1としてメモリ領域M1に記憶する。その後ステップＳ３へ進み、車両電源オフの指示を受信するまでステップＳ３からステップＳ５までの処理を繰り返し行う。このようにして、起動後のSOCが次々と算出され、メモリ領域M1内のSOC1が電池６のSOCとして用いられる。
【００１７】
−SOC演算例２−
上述したSOC演算方法では、内部抵抗ｒを算出する際の内部抵抗比A2(SOC1)は、算出時のSOC2ではなくその前に得られたSOC1に基づくものである。そのため、算出されたSOC2は算出時の電池状態を正確に反映しておらず、内部抵抗比A2(SOC1)による誤差が含まれていることになる。そこで、このような誤差の影響を極力低減したSOC演算方法を、図６のフローチャートを用いて説明する。
【００１８】
図６においてステップＳ１からステップＳ４までの処理は図４のフローチャートのステップＳ１からステップＳ４と同様であり、ここでは説明を省略する。ステップＳ４でSOC2を算出したならば、ステップＳ１０において車両電源オフの指示を受信したか否かを判断し、YESならばSOC演算に関する一連の処理を終了し、NOならばステップＳ１１へ進む。ステップＳ１１はメモリ領域M2に記憶されているSOC2とメモリ領域M1に記憶されているSOC1との差の大きさ｜SOC2−SOC1｜が設定値ΔS以下か否かを判断するステップであり、YESの場合にはステップＳ１４へ進み、NOの場合にはステップＳ１２へ進む。なお、｜｜は絶対値記号を表す。
【００１９】
ところで、現在（ステップＳ１１処理時）のSOCの算出値はメモリ領域M2のSOC2であり、メモリ領域M1に記憶されているSOC1はSOC2より１回前に算出されたSOCである。ここで、SOC2の算出に用いられる内部抵抗比A2(SOC1)は前回算出されたSOC1に基づいて算出されたものである。そのため、SOC1算出時からSOCが変化していないような場合には、例えば、SOC1が車両起動時のSOCでSOC2が車両走行開始前に算出されたものである場合にはSOC2＝SOC1となるはずであるから、SOC2算出に用いられる内部抵抗比A2(SOC1)はSOC1に基づくものであるがA2(SOC1)＝A2(SOC2)とみなすことができる。
【００２０】
すなわち、SOCが変化していない場合には、算出値SOC1，SOC2はSOC2＝SOC1を満たしステップＳ１１からステップＳ１４へと進む。そして、ステップＳ１４においてメモリ領域M1の値をメモリ領域M2のSOC2の値に書き換えてSOC1として記憶したならば、ステップＳ３へ戻って次のタイミングのSOCを算出する。
【００２１】
一方、SOS2算出時のSOCがSOC1から変化している場合には、算出されたSOC2はSOC2≠SOC1となる。また、SOS2算出には内部抵抗比A2(SOC1)を用いているので、真の値SOC2’に対してもSOS2≠SOC2’となっている。ここで、SOS2はSOC1よりもSOC2’に近い値となるので、内部抵抗比A2(SOC1)の代わりにA2(SOC2)を用いてSOCを算出すれば、上述したSOS2よりさらに真の値SOC2’に近いSOCが算出できることになる。
【００２２】
そこで、ステップＳ１１でNOと判断された場合には、ステップＳ１２に進んでメモリ領域M1のSOC1の値をSOC2の値に書き換え、次のステップＳ１３では書き換えられたSOC1を用いてSOC演算を行う。なお、ステップＳ１３のSOC演算はステップＳ４の演算と同様であり説明を省略する。ステップＳ１３でSOC2を算出したならばステップＳ１１へ戻って、算出されたSOC2が｜SOC2−SOC1｜≦ΔSであるか否かを判断する。そして、ステップＳ１１においてSOC2が｜SOC2−SOC1｜≦ΔSを満足してステップＳ１４へ進むまで、ステップＳ１１からステップＳ１３までの処理を繰り返し行う。
【００２３】
このようにステップＳ１１からステップＳ１３までの処理を繰り返し行うと、算出されるSOC2は漸近的に真の値SOC2’に近づき、｜SOC2−SOC1｜は次第に小さくなる。そこで、繰り返し処理を終了する際の基準値ΔSを所定精度のSOCが得られるように設定し、｜SOC2−SOC1｜≦ΔSとなったならばステップＳ１４へ進んでメモリ領域M1の値をSOC2の値に書き換えた後、ステップＳ３へ戻って次のタイミングのSOCを算出する。
【００２４】
このように車両電源がオフとされるまでステップＳ３以降の処理を繰り返し行うことにより、SOCが次々と算出される。なお、メモリ領域M1に記憶されるSOC1が電池状態を表すSOCとして用いられる。この演算例２では、SOC2が｜SOC2−SOC1｜≦ΔSを満足するまでSOC2を繰り返し算出するようにしているので、演算例１と比べて精度の高いSOCが得られる。
【００２５】
−SOC演算例３−
上述したSOC演算例２では、SOCが変化した場合には｜SOC2−SOC1｜が設定値ΔS以下となるまでSOC演算を繰り返し行ったが、図７のフローチャートで示す演算例３ではΔSのような設定値を設けないで、SOC演算を規定の回数（Ｍ回）繰り返し行うようにした。図７のフローチャートでは、図６と同一内容のステップには図６と同一符号を付した。以下では図６のフローチャートと異なる部分を中心に説明する。
【００２６】
ステップＳ２０は算出されたSOC2がメモリ領域M1のSOC1と等しいか否かを判断するステップであり、YESの場合にはステップＳ１４へ進んでメモリ領域M1のSOC1をSOC2の値に書き換えた後にステップＳ３へ戻り、NOの場合には、すなわちSOCが変化した場合にはステップＳ２１へ進む。次いで、ステップＳ２１において繰り返し回数を示す変数Ｎを１に設定したならば、ステップＳ２２へ進んでメモリ領域M1のSOC1をSOC2の値に書き換える。ステップＳ２３はステップＳ４と同様に図４に示すようなSOC演算を行うステップであり、ステップＳ２３においてSOC2を算出したならばステップＳ２４へ進む。ステップＳ２４は変数Ｎの値が規定繰り返し回数Ｍと等しいか否かを判断するステップであり、Ｎ＜Ｍの場合にはステップＳ２５へ進んで変数Ｎの値を１だけ増加した後にステップＳ２２へ戻る。その後、変数ＮがＮ＝ＭとなるまでステップＳ２２〜ステップＳ２５の処理を繰り返し行う。そして、Ｎ＝ＭとなったならばステップＳ２４からステップＳ１４へ進み、メモリ領域M1のSOC1をSOC2の値に書き換えた後にステップＳ３へ戻る。
【００２７】
上述したように、本実施の形態では、電池６の内部抵抗ｒを内部抵抗比A1，A2を用いて式（１１）から算出するようにしたので、電池状態を反映した内部抵抗ｒを算出することができる。そして、この内部抵抗ｒを用いて式（１０）により開放電圧Ｅを算出し、その開放電圧ＥとEo−SOC相関を用いてSOCを算出しているため、SOCを精度良く算出することができる。さらに、上述したSOC演算例２およびSOC演算例３では、算出されたSOC2に基づいて抵抗比A2を算出するとともに、このように抵抗比A2を補正しつつSOC2を繰り返し算出するようににしたので、より高精度なSOCを算出することができる。
【図面の簡単な説明】
【図１】パラレル・ハイブリッド車の構成を示すブロック図。
【図２】Eo−SOC相関図。
【図３】電池内部抵抗特性図。
【図４】SOC演算例１におけるSOC演算の手順を示すフローチャート。
【図５】図４に示すフローチャートの、ステップＳ４の演算処理を説明するフローチャート。
【図６】SOC演算例２におけるSOC演算の手順を示すフローチャート。
【図７】SOC演算例３におけるSOC演算の手順を示すフローチャート。
【符号の説明】
６  二次電池
７  バッテリーコントローラ
８  電圧センサ
９  電流センサ
１０  温度センサ
A1，A2  電池内部抵抗比
【図１】
0003543662.tif 000006
【図２】
0003543662.tif 000007
【図３】
0003543662.tif 000008
【図４】
0003543662.tif 000009
【図５】
0003543662.tif 000010
【図６】
0003543662.tif 000011
【図７】
0003543662.tif 000012