(57)【特許請求の範囲】
【請求項１】
車両に搭載したバッテリの充放電を制御するバッテリの充放電制御装置において、
前記バッテリの内部抵抗を推定する内部抵抗推定手段と、
前記バッテリの充放電電流を検出する電流検出手段と、
前記内部抵抗推定手段で推定したバッテリの内部抵抗及び前記電流検出手段で検出したバッテリの充放電電流の挙動に基づいて該バッテリの充電状態に応じた該バッテリの端子間電圧（以下「バッテリ電圧」という）の挙動を予測して該バッテリの充放電電流又は充放電電力を該バッテリ電圧が目標範囲内に収まるように制限する充放電制御手段と
を備え、
前記充放電制御手段は、予測したバッテリ電圧の挙動とバッテリの内部抵抗に応じて単位時間当たりの充放電電流変化量又は充放電電力変化量を制限することを特徴とするバッテリの充放電制御装置。
【請求項２】
前記充放電制御手段は、前記バッテリの内部抵抗及び充放電電流の挙動とバッテリ電圧の挙動との関係をモデル化したバッテリ電圧挙動モデルを用いて、前記バッテリの内部抵抗及び充放電電流の挙動から該バッテリ電圧の挙動を予測することを特徴とする請求項１に記載のバッテリの充放電制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載したバッテリの充放電を制御するバッテリの充放電制御装置に関する発明である。
【背景技術】
【０００２】
近年、特許文献１（特開２００６−２１１７８９号公報）に記載されているように、ハイブリッド電気自動車に搭載したバッテリの過放電・過充電を防止することを目的として、バッテリの温度に基づいてバッテリの内部抵抗を推定して、この内部抵抗に応じて目標上下限電圧を設定して、バッテリの端子間電圧（以下「バッテリ電圧」という）を目標上下限電圧の範囲内に制限するようにバッテリの充放電電力（入出力）を制御するようにしたものがある。
【特許文献１】特開２００６−２１１７８９号公報（第１２頁〜第１３頁、図１１等参照）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、充電時のバッテリ電圧の上昇や放電時のバッテリ電圧の降下の原因は、バッテリの内部抵抗だけではなく、充放電電流や充電状態（ＳＯＣ：State of Charge ）によってもバッテリ電圧が変動する。
【０００４】
しかし、上記特許文献１では、バッテリの充放電電流や充電状態（ＳＯＣ）を考慮せずに、バッテリの内部抵抗のみに基づいてバッテリの充放電電力を制御するため、図３に示すように、バッテリの本来の充放電性能の上下限電圧に対して、必要以上にバッテリ電圧の使用領域を狭く制限してしまい、バッテリの充放電性能を有効に使用できないという問題があった。
【０００５】
本発明はこのような事情を考慮してなされたものであり、従ってその目的は、バッテリの充放電性能を有効に使用できるバッテリの充放電制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、請求項１に係る発明は、車両に搭載したバッテリの充放電を制御するバッテリの充放電制御装置において、前記バッテリの内部抵抗を推定する内部抵抗推定手段と、前記バッテリの充放電電流を検出する電流検出手段と、前記内部抵抗推定手段で推定したバッテリの内部抵抗及び前記電流検出手段で検出したバッテリの充放電電流の挙動に基づいて該バッテリの充電状態に応じた該バッテリの端子間電圧（以下「バッテリ電圧」という）の挙動を予測して該バッテリの充放電電流又は充放電電力を該バッテリ電圧が目標範囲内に収まるように制限する充放電制御手段とを備え、予測したバッテリ電圧の挙動とバッテリの内部抵抗に応じて単位時間当たりの充放電電流変化量又は充放電電力変化量を制限するようにしたものである。この構成では、バッテリの内部抵抗に加え、充放電電流と充電状態も考慮してバッテリの充放電電流又は充放電電力を制御することができるため、バッテリの充放電性能を有効に使用することができる。しかも、予測したバッテリ電圧の挙動とバッテリの内部抵抗に応じて単位時間当たりの充放電電流変化量又は充放電電力変化量を制限するため、より精度の高い充放電制御を行うことができる。
【０００７】
具体的には、請求項２のように、バッテリの内部抵抗及び充放電電流の挙動とバッテリ電圧の挙動との関係をモデル化したバッテリ電圧挙動モデルを用いて、バッテリの内部抵抗及び充放電電流の挙動から該バッテリ電圧の挙動を予測するようにすると良い。このように、バッテリ電圧挙動モデルを用いれば、バッテリの内部抵抗と充放電電流からバッテリ電圧の挙動を精度良く予測することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明を実施するための最良の形態をハイブリッド電気自動車に適用して具体化した３つの実施例１〜３を説明する。
【実施例１】
【００１０】
本発明の実施例１を図１乃至図６を用いて説明する。
まず、図１に基づいてハイブリッド電気自動車全体のシステム構成を説明する。
本実施例１のハイブリッド自動車は、エンジン２２と、エンジン２２のクランクシャフト２６にダンパ２８を介して接続された３軸式の動力分割機構３０と、この動力分割機構３０に連結された発電機兼用の第１モータＭＧ１と、動力分割機構３０に連結されたリングギヤ軸３２ａに取り付けられた減速ギヤ３５と、この減速ギヤ３５に連結された発電機兼用の第２モータＭＧ２等からなるハイブリッド駆動システムが搭載され、このハイブリッド駆動システム全体をハイブリッドＥＣＵ７０で総合的に制御する構成となっている。ここで、「ＥＣＵ」は、マイクロコンピュータを主体として構成された「電子制御ユニット」を意味する（以下、同様）。
【００１１】
エンジン２２は、ガソリン、軽油等を燃料とする内燃機関であり、このエンジン２２を制御するエンジンＥＣＵ２４は、エンジン２２の運転状態を検出するクランク角センサ、水温センサ等の各種センサの出力信号を読み込んで、エンジン２２の燃料噴射制御、点火制御、スロットル制御等を実行する。このエンジンＥＣＵ２４は、ハイブリッドＥＣＵ７０と通信ラインで接続され、ハイブリッドＥＣＵ７０からの制御信号を受信してエンジン２２の運転を制御すると共に、必要に応じてエンジン２２の運転状態に関する信号をハイブリッドＥＣＵ７０に送信する。
【００１２】
動力分割機構３０は、サンギヤ３１と、このサンギヤ３１と同心状に配置されたリングギヤ３２と、このリングギヤ３２とサンギヤ３１の両方に噛合する複数のピニオンギヤ３３と、複数のピニオンギヤ３３を自転・公転自在に支持するキャリア３４とを備え、これらサンギヤ３１とリングギヤ３２とキャリア３４とを回転要素とする遊星歯車機構として構成されている。
【００１３】
キャリア３４には、エンジン２２のクランクシャフト２６が連結され、サンギヤ３１には第１モータＭＧ１が連結され、リングギヤ３２にはリングギヤ軸３２ａを介して減速ギヤ３５が連結されており、第１モータＭＧ１が発電機として機能する場合は、キャリア３４から入力されるエンジン２２の動力がサンギヤ３１側とリングギヤ３２側にそのギヤ比に応じて分配され、第１モータＭＧ１が電動機（車両の駆動源）として機能する場合は、キャリア３４から入力されるエンジン２２の動力とサンギヤ３１から入力される第１モータＭＧ１の動力を統合してリングギヤ３２側に出力する。リングギヤ３２に出力された動力は、リングギヤ軸３２ａからギヤ機構６０とデファレンシャルギヤ６２を介して最終的に車両の駆動輪６３ａ，６３ｂに伝達される。
【００１４】
一方、第１モータＭＧ１と第２モータＭＧ２は、いずれも発電機兼用の電動機である同期発電電動機により構成され、それぞれインバータ４１，４２を介してバッテリ５０との間で電力を授受する。各インバータ４１，４２とバッテリ５０とを接続する電力ライン５４は、各インバータ４１，４２が共用する正極母線及び負極母線として構成されており、２つのモータＭＧ１，ＭＧ２のいずれか一方で発電した電力を他方に供給できるようになっている。従って、バッテリ５０は、２つのモータＭＧ１，ＭＧ２のいずれかで発電した電力と消費電力との大小関係により充放電されることになる。
【００１５】
２つのモータＭＧ１，ＭＧ２を制御するモータＥＣＵ４０には、各モータＭＧ１，ＭＧ２を制御するのに必要な信号、例えば各モータＭＧ１，ＭＧ２のロータ回転位置を検出するエンコーダ等の回転位置検出センサ４３，４４の出力信号や電流センサ（図示せず）により検出される各モータＭＧ１，ＭＧ２に印加される相電流等が入力され、モータＥＣＵ４０から各インバータ４１，４２にスイッチング制御信号が出力される。このモータＥＣＵ４０は、ハイブリッドＥＣＵ７０と通信ラインで接続され、ハイブリッドＥＣＵ７０から送信されてくる制御信号を受信して各モータＭＧ１，ＭＧ２を制御すると共に、必要に応じて各モータＭＧ１，ＭＧ２の運転状態に関する信号をハイブリッドＥＣＵ７０に送信する。
【００１６】
バッテリ５０の充放電は、バッテリＥＣＵ５２によって管理される。このバッテリＥＣＵ５２には、バッテリ５０の充放電を管理するのに必要な信号、例えば、バッテリ５０の端子間に設置された電圧センサ５５で検出したバッテリ５０の端子間電圧（以下「バッテリ電圧」という）Ｖb と、バッテリ５０の出力端子に接続された電力ライン５４に取り付けられた電流センサ５６（電流検出手段）で検出したバッテリ５０の充放電電流Ｉb と、バッテリ５０に取り付けられた温度センサ５１で検出したバッテリ温度Ｔb 等が入力され、必要に応じてバッテリ５０の状態に関する信号をハイブリッドＥＣＵ７０に送信する。更に、バッテリＥＣＵ５２は、バッテリ５０の充放電を管理するために電流センサ５６により検出された充放電電流Ｉb の積算値等に基づいてバッテリ５０の充電状態（残容量ＳＯＣ）を演算する機能を備えている。
【００１７】
ハイブリッドＥＣＵ７０は、ＣＰＵ７２を主体とするマイクロコンピュータにより構成され、ＣＰＵ７２の他に、各種のプログラムやイニシャル値等のデータを記憶するＲＯＭ７４と、各種データを一時的に記憶するＲＡＭ７６等により構成されている。このハイブリッドＥＣＵト７０には、イグニッション（ＩＧ）スイッチ８０からのイグニッション信号、シフトレバー８１の操作位置を検出するシフトポジションセンサ８２からのシフトポジション信号、アクセルペダル８３の踏み込み量を検出するアクセル開度センサ８４からのアクセル開度信号、ブレーキペダル８５の踏み込み量を検出するブレーキペダルポジションセンサ８６からのブレーキペダルポジション信号、車速センサ８８からの車速信号等が入力される。ハイブリッドＥＣＵ７０は、前述したように、エンジンＥＣＵ２４とモータＥＣＵ４０とバッテリＥＣＵ５２に通信ラインで接続され、エンジンＥＣＵ２４とモータＥＣＵ４０とバッテリＥＣＵ５２との間で各種制御信号やデータ信号が送受信される。      
【００１８】
以上のように構成された本実施例１のハイブリッド電気自動車は、アクセル開度センサ８４からのアクセル開度信号と車速センサ８８からの車速信号等に基づいて、駆動軸としてのリングギヤ軸３２ａに出力すべき要求トルクを計算し、この要求トルクに対応する要求動力がリングギヤ軸３２ａに出力されるように、エンジン２２と２つのモータＭＧ１，ＭＧ２の運転を制御する。
【００１９】
エンジン２２と各モータＭＧ１，ＭＧ２の運転制御モードとしては、トルク変換運転モード、充放電運転モード、モータ運転モード等がある。
トルク変換運転モードでは、要求動力に見合う動力がエンジン２２から出力されるようにエンジン２２の運転を制御すると共に、エンジン２２から出力される動力の全てが動力分割機構３０と２つのモータＭＧ１，ＭＧ２によってトルク変換されてリングギヤ軸３２ａに出力されるように２つのモータＭＧ１，ＭＧ２を駆動制御する。
【００２０】
充放電運転モードでは、要求動力とバッテリ５０の充放電に必要な電力との和に見合う動力がエンジン２２から出力されるようにエンジン２２の運転を制御すると共に、バッテリ５０の充放電を伴ってエンジン２２から出力される動力の全部又はその一部が動力分割機構３０と２つのモータＭＧ１，ＭＧ２によるトルク変換を伴って要求動力がリングギヤ軸３２ａに出力されるように２つのモータＭＧ１，ＭＧ２を駆動制御する。
【００２１】
モータ運転モードでは、エンジン２２の運転を停止して第２モータＭＧ２からの要求動力に見合う動力をリングギヤ軸３２ａに出力するように２つのモータＭＧ１，ＭＧ２を駆動制御する。
【００２２】
次に、本実施例１のバッテリ５０の充放電制御について説明する。
バッテリ５０を図２の簡易モデルで表した場合、バッテリ５０の端子間電圧（以下「バッテリ電圧」という）Ｖb は、次の（１）式で表される。
Ｖb ＝Ｅo −Ｒi ×Ｉb       ……（１）
【００２３】
ここで、Ｅo はバッテリ５０の充電状態（残容量ＳＯＣ）に依存する開放電圧（内部起電力）であり、Ｒi はバッテリ５０の温度に依存する内部抵抗であり、Ｉb はバッテリ５０の充放電電流である。従って、バッテリ電圧Ｖb は、バッテリ５０の開放電圧Ｅo と内部抵抗Ｒi と充放電電流Ｉb の三者に依存する。
【００２４】
前述した従来技術（特許文献１）では、バッテリ５０の充放電電流Ｉb や残容量ＳＯＣ（開放電圧Ｅo ）を考慮せずに、バッテリ５０の内部抵抗Ｒi のみに基づいてバッテリ５０の充放電電力を制御するため、図３に示すように、バッテリ５０の本来の充放電性能の上下限電圧Ｖmin ，Ｖmax に対して、必要以上にバッテリ電圧Ｖb の使用領域を制限してしまい、バッテリ５０の充放電性能を有効に使用できないという問題があった。
【００２５】
この問題を解決するために、本実施例１では、バッテリ電圧Ｖb の挙動を予測し、充放電電流Ｉb を適切に制限するものであり、バッテリ電圧Ｖb （＝Ｅo −Ｒi ×Ｉb ）は、バッテリ５０の性能下限電圧Ｖmin と性能上限電圧Ｖmax に対して次の関係を満たす必要がある。
Ｖmin ≦Ｖb ≦Ｖmax           ……（２−１）
Ｖmin ≦Ｅo −Ｒi ×Ｉb ≦Ｖmax   ……（２−２）
【００２６】
ここで、バッテリ５０の開放電圧Ｅo は、バッテリ５０の状態や製造ばらつきにより様々に変化するため、開放電圧Ｅo を精度良く推定することは困難である。このため、上記（２−２）式の関係をそのまま用いて充放電電流Ｉb を制御すると、バッテリ５０の本来の充放電性能の上下限電圧Ｖmin ，Ｖmax に対して、開放電圧Ｅo のばらつきの影響を見込んで、必要以上にバッテリ電圧Ｖb の使用領域を制限してしまい、バッテリ５０の充放電性能を有効に使用できない。
【００２７】
そこで、本実施例１では、開放電圧Ｅo の影響を無視できるバッテリ電圧挙動モデルを次のようにして構築した。
前述したバッテリ５０の簡易モデルの（１）式の両辺を時間ｔで微分すると、次の（３）式が得られる。
ｄＶb ／ｄｔ＝ｄＥo ／ｄｔ−Ｒi ×ｄＩb ／ｄｔ−Ｉb ×ｄＲi ／ｄｔ  ……（３）      
【００２８】
ここで、バッテリ５０の開放電圧Ｅo や内部抵抗Ｒi は、時間当たりの変化量が小さいため、ｄＥo ／ｄｔ＝０、ｄＲi ／ｄｔ＝０と見なせる。従って、上記（３）式は、次の（４）式で近似できる。
ｄＶb ／ｄｔ＝−Ｒi ×ｄＩb ／ｄｔ    ……（４）
【００２９】
上記（４）式は、バッテリ５０の内部抵抗Ｒi 及び充放電電流Ｉb の挙動とバッテリ電圧Ｖb の挙動との関係をモデル化したバッテリ電圧挙動モデルであり、時間微分により開放電圧Ｅo の影響が排除されている。
【００３０】
一方、バッテリ電圧Ｖb の挙動は、次の（５）式で予測される。
Ｖb(予測値) ＝Ｖb(現在値) ＋ｄＶb ／ｄｔ・δｔ    ……（５）
ここで、δｔは演算周期（予測周期）である。
【００３１】
上記（５）式の右辺のｄＶb ／ｄｔは、上記（４）式で算出できるため、次の（６）式が導き出される。
Ｖb(予測値) ＝Ｖb(現在値) −Ｒi ×ｄＩb ／ｄｔ・δｔ    ……（６）
この（６）式を用いて、前記（２−１）式は次のように書き換えられる。
Ｖmin ≦Ｖb(現在値) −Ｒi ×ｄＩb ／ｄｔ・δｔ≦Ｖmax     ……（７）
【００３２】
この（７）式を変形すると、充放電電流Ｉb の演算周期δｔ当たりの変動量（ｄＩb ／ｄｔ・δｔ）の許容範囲を決める式が導き出される。
[Ｖb(現在値) −Ｖmax]／Ｒi ≦ｄＩb ／ｄｔ・δｔ≦ [Ｖb(現在値) −Ｖmin]／Ｒi                                                                     ……（８）
【００３３】
ここで、 [Ｖb(現在値) −Ｖmax]／Ｒi は、充放電電流Ｉb の演算周期当δｔ当たりの変動量の許容範囲の下限値（下限電流変動許可量）である。
[Ｖb(現在値) −Ｖmin]／Ｒi は、充放電電流Ｉb の演算周期δｔ当たりの変動量の許容範囲の上限値（上限電流変動許可量）である。
【００３４】
[Ｖb(現在値) −Ｖmax]／Ｒi ＝ΔＩbmin、 [Ｖb(現在値) −Ｖmin]／Ｒi ＝ΔＩbmaxとすると、充放電電流Ｉb の許容下限値（目標下限電流）Ｉbminと許容上限値（目標上限電流）Ｉbmaxは、それぞれ次式により算出される。
Ｉbmin＝Ｉb(現在値) ＋ΔＩbmin
＝Ｉb(現在値) ＋ [Ｖb(現在値) −Ｖmax]／Ｒi     ……（９）
Ｉbmax＝Ｉb(現在値) ＋ΔＩbmax
＝Ｉb(現在値) ＋ [Ｖb(現在値) −Ｖmin]／Ｒi     ……（１０）
【００３５】
本実施例１では、バッテリ５０の充放電電流Ｉb を、上記（９）、（１０）式により算出された目標下限電流Ｉbminと目標上限電流Ｉbmaxの範囲内に制御するようにしている。
以上説明した本実施例１のバッテリ５０の充放電制御は、ハイブリッドＥＣＵ７０によって図４及び図５の駆動制御プログラムに従って次のように実行される。
【００３６】
図４及び図５の駆動制御プログラムは、イグニッションスイッチ８０のオン期間中に所定の演算周期δｔで実行され、特許請求の範囲でいう充放電制御手段としての役割を果たす。本プログラムが起動されると、まずステップ１０１で、アクセル開度センサ８４からのアクセル開度Ａccと、車速センサ８８からの車速Ｖと、各モータＭＧ１，ＭＧ２の回転速度Ｎm1，Ｎm2と、電圧センサ５５からのバッテリ電圧Ｖb と、温度センサ５１からのバッテリ温度Ｔb と、バッテリ５０の充放電のための充放電要求パワーＰb と、バッテリ５０の入出力制限Ｗin，Ｗout 等のデータを読み込む。
【００３７】
この際、各モータＭＧ１，ＭＧ２の回転速度Ｎm1，Ｎm2は、各モータＭＧ１，ＭＧ２のロータ回転位置を検出する回転位置検出センサ４３，４４の出力パルスの間隔（パルス周期）に基づいてモータＥＣＵ４０によって算出され、このデータがモータＥＣＵ４０からハイブリッドＥＣＵ７０に送信されてくる。また、バッテリ電圧Ｖb とバッテリ温度Ｔb は、電圧センサ５５と温度センサ５１で検出されたデータがバッテリＥＣＵ５２からハイブリッドＥＣＵ７０に送信されてくる。
【００３８】
また、充放電要求パワーＰb は、バッテリ５０の残容量ＳＯＣ等に基づいてバッテリＥＣＵ５２によって算出され、このデータが該バッテリＥＣＵ５２からハイブリッドＥＣＵ７０に送信されてくる。この充放電要求パワーＰb は、放電要求がプラス値となり、充電要求がマイナス値となる。
【００３９】
バッテリ５０の入出力制限Ｗin，Ｗout はバッテリＥＣＵ５２によって次のようにして算出される。まず、バッテリ温度Ｔb に基づいて入出力制限基本値Ｗinbase，Ｗoutbase をマップ等により算出すると共に、バッテリ５０の残容量ＳＯＣに基づいて入力制限用補正係数と出力制限用補正係数をそれぞれマップ等により算出し、各補正係数をそれぞれ入出力制限基本値Ｗinbase，Ｗoutbase に乗算して入出力制限Ｗin，Ｗout を求め、この入出力制限Ｗin，Ｗout のデータをバッテリＥＣＵ５２からハイブリッドＥＣＵ７０に送信する。
Ｗin＝Ｗinbase×入力制限用補正係数
Ｗout ＝Ｗoutbase ×出力制限用補正係数
【００４０】
上記各データの読み込み後、ステップ１０２に進み、アクセル開度Ａccと車速Ｖに基づいて駆動軸であるリングギヤ軸３２ａに出力すべき要求トルクＴr とエンジン２２に要求される要求パワーＰe を算出する。この際、例えば、アクセル開度Ａccと車速Ｖをパラメータとして要求トルクＴr を算出する要求トルク算出マップＭap1(Ａcc，Ｖ) を予め実験又はシミュレーション等により設定してＲＯＭ７４に記憶しておき、この要求トルク算出マップＭap1(Ａcc，Ｖ) を参照して、現在のアクセル開度Ａccと車速Ｖに応じた要求トルクＴr を算出する。
Ｔr ＝Ｍap1(Ａcc，Ｖ)
【００４１】
また、要求パワーＰe は、次式により算出される。
Ｐe ＝Ｔr ×Ｎm2／Ｇr −Ｐb ＋Ｌoss     ……（１１）
Ｔr ：要求トルク
Ｎm2：第２モータＭＧ２の回転速度
Ｇr ：減速ギヤ３５のギヤ比
Ｐb ：充放電要求パワー
Ｌoss ：損失パワー
【００４２】
上式において、Ｎm2／Ｇr は、リングギヤ軸３２ａの回転速度Ｎr に相当する。このリングギヤ軸３２ａの回転速度Ｎr は、車速Ｖに換算係数を乗算して求めるようにしても良い。
Ｎm2／Ｇr ＝Ｎr ＝Ｖ×換算係数
【００４３】
この後、ステップ１０３に進み、エンジン２２を効率よく動作させる動作ラインと要求パワーＰe とに基づいてエンジン２２の目標回転速度Ｎetg と目標トルクＴetg を設定する。この際、目標回転速度Ｎetg と目標トルクＴetg は、エンジン２２を効率よく動作させる動作ラインと要求パワーＰe （＝Ｎe ×Ｔe ）が一定となる曲線との交点から求められる。
【００４４】
この後、ステップ１０４に進み、第１モータＭＧ１の目標回転速度Ｎm1tgと第１モータＭＧ１のトルク指令Ｔm1tgをそれぞれ次の（１２）式、（１３）式により算出する。
【００４５】
Ｎm1tg＝Ｎetg ×（１＋ρ）／ρ−Ｎm2／（Ｇr ×ρ）    ……（１２）
Ｎetg ：エンジン２２の目標回転速度
ρ：動力分割機構３０のギヤ比
Ｎm2：第２モータＭＧ２の回転速度（検出値）
Ｇr ：減速ギヤ３５のギヤ比
【００４６】
Ｔm1tg＝Ｔm1tg（前回値）＋Ｋp （Ｎm1tg−Ｎm1) ＋Ｋi ∫（Ｎm1tg−Ｎm1) ｄｔ
……（１３）
Ｋp ：比例項のゲイン
Ｎm1tg：第１モータＭＧ１の目標回転速度
Ｎm1：第１モータＭＧ１の回転速度（検出値）
Ｋi ：積分項のゲイン
尚、（１３）式では、第１モータＭＧ１のトルク指令Ｔm1tgをＰＩ制御により算出したが、ＰＩＤ制御により算出しても良い。
【００４７】
また、第１モータＭＧ１の目標回転速度Ｎm1tgの算出は、上記（１２）式の代わりに、予め、エンジン２２の目標回転速度Ｎetg とＮm2／Ｇr （＝リングギヤ軸３２ａの回転速度Ｎr ）をパラメータとして第１モータＭＧ１の目標回転速度Ｎm1tgを算出するマップＭap2(Ｎetg ，Ｎm2／Ｇr)を実験又はシミュレーション等により設定してＲＯＭ７４に記憶しておき、このマップＭap2(Ｎetg ，Ｎm2／Ｇr)を参照して、現在の目標回転速度Ｎetg とＮm2／Ｇr に応じた第１モータＭＧ１の目標回転速度Ｎm1tgを算出するようにしても良い。
Ｎm1tg＝Ｍap2(Ｎetg ，Ｎm2／Ｇr)
【００４８】
この後、ステップ１０５に進み、図６に示す内部抵抗算出マップＭap3(Ｔb)を参照して現在のバッテリ温度Ｔb に応じたバッテリ５０の内部抵抗Ｒi を算出する。図６の内部抵抗算出マップＭap3(Ｔb)は、バッテリ温度Ｔb が高くなるほど、内部抵抗Ｒi が小さくなるように設定されている。上記ステップ１０５の処理が特許請求の範囲でいう内部抵抗推定手段としての役割を果たす。
【００４９】
この後、ステップ１０６に進み、現在のバッテリ電圧Ｖb と内部抵抗Ｒi とバッテリ５０の充放電性能の上下限電圧Ｖmin ，Ｖmax を用いて、上限電流変動許可量ΔＩbmaxと下限電流変動許可量ΔＩbminを次式により算出する。
ΔＩbmax＝ [Ｖb(現在値) −Ｖmin]／Ｒi     ……（１４）
ΔＩbmin＝ [Ｖb(現在値) −Ｖmax]／Ｒi     ……（１５）
【００５０】
上記（１４）、（１５）式は、前述したバッテリ電圧挙動モデルの（８）式の関係から求められ、上限電流変動許可量ΔＩbmaxは、充放電電流Ｉb の演算周期δｔ当たりの変動量の許容範囲の上限値に相当し、下限電流変動許可量ΔＩbminは、充放電電流Ｉb の演算周期δｔ当たりの変動量の許容範囲の下限値に相当する。
【００５１】
尚、上記（１４）、（１５）式において、バッテリ５０の性能上下限電圧Ｖmax ，Ｖmin を一定値と見なすと、上記（１４）、（１５）式は、それぞれ、内部抵抗Ｒi とバッテリ電圧Ｖb をパラメータ（変数）とする数式となるため、予め、内部抵抗Ｒi とバッテリ電圧Ｖb をパラメータとして上限電流変動許可量ΔＩbmaxと下限電流変動許可量ΔＩbminを算出するマップＭap4(Ｒi ，Ｖb)、Ｍap5(Ｒi ，Ｖb)を設定して、各マップＭap4(Ｒi ，Ｖb)、Ｍap5(Ｒi ，Ｖb)を参照して、現在の内部抵抗Ｒi とバッテリ電圧Ｖb に応じた上限電流変動許可量ΔＩbmaxと下限電流変動許可量ΔＩbminを算出するようにしても良い。
ΔＩbmax＝Ｍap4(Ｒi ，Ｖb)
ΔＩbmin＝Ｍap5(Ｒi ，Ｖb)
【００５２】
この後、ステップ１０７に進み、現在の充放電電流Ｉb に上限電流変動許可量ΔＩbmaxを加算して目標上限電流Ｉbmax（充放電電流Ｉb の許容上限値）を求め、現在の充放電電流Ｉb から下限電流変動許可量ΔＩbminを減算して目標下限電流Ｉbmin（充放電電流Ｉb の許容下限値）を求める。
Ｉbmax＝Ｉb(現在値) ＋ΔＩbmax
Ｉbmin＝Ｉb(現在値) ＋ΔＩbmin
【００５３】
この後、図５のステップ１０８に進み、現在の充放電電流Ｉb を目標上限電流Ｉbmaxと比較し、現在の充放電電流Ｉb が目標上限電流Ｉbmaxよりも大きいと判定されれば、バッテリ５０の過充電の可能性があると判断して、ステップ１１０に進み、バッテリ５０の入力制限Ｗinに対する補正値ΔＷinを０に設定すると共に、バッテリ５０の出力制限Ｗout に対する補正値ΔＷout を、充放電電流Ｉb が目標上限電流ＩbmaxとなるようにＰＩ制御等により算出する。
【００５４】
ΔＷin＝０
ΔＷout ＝ＰＩ（Ｉb ，Ｉbmax）
＝ΔＷout(前回値) ＋Ｋp1（Ｉb −Ｉbmax) ＋Ｋi1∫（Ｉb −Ｉbmax) ｄｔ                      Ｋp1：比例項のゲイン
Ｋi1：積分項のゲイン
尚、補正値ΔＷout をＰＩＤ制御により算出しても良い。
【００５５】
これに対して、上記ステップ１０８で、現在の充放電電流Ｉb が目標上限電流Ｉbmax以下と判定されれば、バッテリ５０の過充電の可能性がないと判断して、ステップ１０９に進み、現在の充放電電流Ｉb を目標下限電流Ｉbminと比較し、現在のバッテリ電圧Ｖb が目標下限電流Ｉbminよりも小さいと判定されれば、バッテリ５０の過放電の可能性があると判断して、ステップ１１２に進み、バッテリ５０の出力制限Ｗout に対する補正値ΔＷout を０に設定すると共に、バッテリ５０の入力制限Ｗinに対する補正値ΔＷinを、充放電電流Ｉb が目標下限電流ＩbminとなるようにＰＩ制御等により算出する。
【００５６】
ΔＷout ＝０
ΔＷin＝ＰＩ（Ｉb ，Ｉbmin）
＝ΔＷin( 前回値) ＋Ｋp2（Ｉb −Ｉbmin) ＋Ｋi2∫（Ｉb −Ｉbmin) ｄｔ                      Ｋp2：比例項のゲイン
Ｋi2：積分項のゲイン
尚、補正値ΔＷinをＰＩＤ制御により算出しても良い。
【００５７】
一方、上記ステップ１０８とステップ１０９でいずれも「Ｙｅｓ」と判定された場合、つまり現在の充放電電流Ｉb が目標下限電流Ｉbminから目標上限電流Ｉbmaxまでの範囲内（Ｉbmax≧Ｉb ≧Ｉbmin）と判定された場合は、バッテリ５０の過充電・過放電の可能性がないと判断して、ステップ１１１に進み、バッテリ５０の入出力制限Ｗin，Ｗout に対する補正値ΔＷin，ΔＷout を共に０に設定する。
ΔＷin＝０
ΔＷout ＝０
【００５８】
以上のようにして、ステップ１１０〜１１２のいずれかでバッテリ５０の入出力制限Ｗin，Ｗout に対する補正値ΔＷin，ΔＷout を設定した後、ステップ１１３に進み、入力制限Ｗinからその補正値ΔＷinを減算して入力許容制限Ｗinf を求めると共に、出力制限Ｗout からその補正値ΔＷout を減算して出力許容制限Ｗoutfを求める。
Ｗinf ＝Ｗin−ΔＷin
Ｗoutf＝Ｗout −ΔＷout
【００５９】
この後、ステップ１１４に進み、入出力許容制限Ｗinf ，Ｗoutfと、第１モータＭＧ１のトルク指令Ｔm1tgと、各モータＭＧ１，ＭＧ２の回転速度Ｎm1，Ｎm2を用いて、第２モータＭＧ２に対するトルク制限の下限値Ｔmin と上限値Ｔmax を次式により算出する。
【００６０】
Ｔmin ＝（Ｗinf −Ｔm1tg・Ｎm1）／Ｎm2
Ｔmax ＝（Ｗoutf−Ｔm1tg・Ｎm1）／Ｎm2
ここで、Ｔm1tg・Ｎm1は、第１モータＭＧ１のトルク指令Ｔm1tgと第１モータＭＧ１の回転速度Ｎm1とを乗算して求められる第１モータＭＧ１の消費電力（発電電力）に相当する。
【００６１】
この後、ステップ１１５に進み、要求トルクＴr と第１モータＭＧ１のトルク指令Ｔm1tgと動力分割機構３０のギヤ比ρと減速ギヤ３５のギヤ比Ｇr を用いて、第２モータＭＧ２に対する仮モータトルク制限Ｔm2tmp を次式により算出する。
Ｔm2tmp ＝（Ｔr ＋Ｔm1tg／ρ）／Ｇr
【００６２】
この後、ステップ１１６に進み、第２モータＭＧ２に対する仮モータトルク制限Ｔm2tmp をトルク制限の下限値Ｔmin と比較して、仮モータトルク制限Ｔm2tmp がトルク制限の下限値Ｔmin よりも小さいと判定されれば、ステップ１１８に進み、第２モータＭＧ２に対するトルク指令Ｔm2tgをトルク制限の下限値Ｔmin に設定する。
Ｔm2tg＝Ｔmin
【００６３】
これに対して、上記ステップ１１６で、仮モータトルク制限Ｔm2tmp がトルク制限の下限値Ｔmin 以上と判定されれば、ステップ１１７に進み、仮モータトルク制限Ｔm2tmp をトルク制限の上限値Ｔmax と比較して、仮モータトルク制限Ｔm2tmp がトルク制限の上限値Ｔmax よりも大きいと判定されれば、ステップ１２０に進み、第２モータＭＧ２に対するトルク指令Ｔm2tgをトルク制限の上限値Ｔmax に設定する。
Ｔm2tg＝Ｔmax
【００６４】
一方、上記ステップ１１６とステップ１１７でいずれも「Ｙｅｓ」と判定された場合、つまり仮モータトルク制限Ｔm2tmp がトルク制限の下限値Ｔmin から上限値Ｔmax までの範囲内（Ｔmin ≦Ｔm2tmp ≦Ｔmax ）と判定された場合は、ステップ１１９に進み、仮モータトルク制限Ｔm2tmp をそのままトルク指令Ｔm2tgに設定する。
Ｔm2tg＝Ｔm2tmp
【００６５】
以上のようにしてステップ１１８〜１２０のいずれかで、第２モータＭＧ２に対するトルク指令Ｔm2tgを設定した後、ステップ１２１に進み、エンジン２２の目標回転速度Ｎetg と目標トルクＴetg をエンジンＥＣＵ２４に送信すると共に、各モータＭＧ１，ＭＧ２に対するトルク指令Ｔm1tg，Ｔm2tgをモータＥＣＵ４０に送信して、本プログラムを終了する。
【００６６】
一方、エンジンＥＣＵ２４は、受信したエンジン２２の目標回転速度Ｎetg と目標トルクＴetg とで決定される運転ポイントでエンジン２２を運転するようにエンジン２２の燃料噴射制御や点火制御等を実行する。
【００６７】
また、モータＥＣＵ４０は、受信したトルク指令Ｔm1tg，Ｔm2tgでそれぞれ各モータＭＧ１，ＭＧ２を駆動するようにインバータ４１，４２のスイッチング素子のスイッチング動作を制御する。
【００６８】
以上説明した本実施例１によれば、バッテリ５０の内部抵抗Ｒi 及び充放電電流Ｉb の挙動とバッテリ電圧Ｖb の挙動との関係をモデル化したバッテリ電圧挙動モデルを用いて、バッテリ５０の内部抵抗Ｒi 及び充放電電流Ｉb の挙動から該バッテリ電圧Ｖb の挙動を予測し、該バッテリ５０の充放電電流Ｉb を、バッテリ電圧Ｖb が目標範囲内（性能上下限電圧Ｖmax ，Ｖmin の範囲内）に収まるように制限するようにしたので、バッテリ５０の内部抵抗Ｒi に加え、充放電電流Ｉb と充電状態（残容量ＳＯＣ）も考慮してバッテリ５０の充放電電流Ｉb を適正に制御することができ、バッテリ５０の充放電性能を有効に使用することができる。
【実施例２】
【００６９】
上記実施例１では、図４のステップ１０６で、（１４）、（１５）式を用いて、上限電流変動許可量ΔＩbmaxと下限電流変動許可量ΔＩbminを算出し、次のステップ１０７で、現在の充放電電流Ｉb に上限電流変動許可量ΔＩbmaxを加算し又は下限電流変動許可量ΔＩbminを減算して、目標上限電流Ｉbmaxと目標下限電流Ｉbminを算出するようにしたが、図７に示す本発明の実施例２では、図４のステップ１０６、１０７の処理に代えて、図７のステップ１０７ａの処理を実行し、前記（２−２）式の関係から導き出された下記の（２０）式の関係を満たすように設定されたマップＭap6(Ｒi ，Ｖb ，Ｉb)、Ｍap7(Ｒi ，Ｖb ，Ｉb)を用いて、目標上限電流Ｉbmaxと目標下限電流Ｉbminを算出するようにしている。
【００７０】
（Ｅo −Ｖmax ）／Ｒi ≦Ｉb ≦（Ｅo −Ｖmin ）／Ｒi     ……（２０）
Ｉbmax＝（Ｅo −Ｖmin ）／Ｒi     ……（２１）
Ｉbmin＝（Ｅo −Ｖmax ）／Ｒi     ……（２２）
【００７１】
この場合、前記（１）式の関係から、開放電圧Ｅo ＝Ｖb ＋Ｒi ×Ｉb となるため、上記（２１）、（２２）式から次式が導き出される。
【００７２】
Ｉbmax＝（Ｖb ＋Ｒi ×Ｉb −Ｖmin ）／Ｒi     ……（２３）
Ｉbmin＝（Ｖb ＋Ｒi ×Ｉb −Ｖmax ）／Ｒi     ……（２４）
【００７３】
ここで、バッテリ５０の性能上下限電圧Ｖmax ，Ｖmin を一定値と見なすと、上記（２３）、（２４）式は、それぞれ、内部抵抗Ｒi とバッテリ電圧Ｖb と充放電電流Ｉb をパラメータ（変数）とする数式となるため、予め内部抵抗Ｒi とバッテリ電圧Ｖb と充放電電流Ｉb をパラメータとして上限電流変動許可量ΔＩbmaxと下限電流変動許可量ΔＩbminを算出するマップＭap6(Ｒi ，Ｖb ，Ｉb)、Ｍap7(Ｒi ，Ｖb ，Ｉb)を設定して、各マップＭap6(Ｒi ，Ｖb ，Ｉb)、Ｍap7(Ｒi ，Ｖb ，Ｉb)を参照して、現在の内部抵抗Ｒi とバッテリ電圧Ｖb と充放電電流Ｉb に応じた目標上限電流Ｉbmaxと目標下限電流Ｉbminを算出する。
【００７４】
以上説明した本実施例２でも、前記実施例１と同様の効果を得ることができる。
【実施例３】
【００７５】
上記実施例１，２では、バッテリ５０の充放電電流Ｉb を性能上下限電圧Ｖmax ，Ｖmin に対応して設定された目標上下限電流Ｉbmax，Ｉbminと比較して、その比較結果に応じて、バッテリ５０の入出力制限Ｗin，Ｗout に対する補正値ΔＷin，ΔＷout の算出方法を切り換えるようにしたが、図８に示す本発明の実施例３では、図５のステップ１０８〜１１２の処理に代えて、ステップ１１２ａの処理を実行し、現在の充放電電流Ｉb 、バッテリ電圧Ｖb 、目標上下限電流Ｉbmax，Ｉbmin、性能上下限電圧Ｖmax ，Ｖmin を用いて、バッテリ５０の入出力制限Ｗin，Ｗout に対する補正値ΔＷin，ΔＷout を次式により算出するようにしている。
ΔＷin＝Ｉbmin × Ｖmax−Ｉb ×Ｖb        ……（３１）
ΔＷout ＝Ｉbmax ×Ｖmin−Ｉb ×Ｖb       ……（３２）
【００７６】
ここで、上記（３１）式、（３２）式について説明する。
前記（８）式から次の（３３）式が得られる。
Ｖb(現在値) −Ｖmax ≦Ｒi ×ｄＩb ／ｄｔ・δｔ≦Ｖb(現在値) −Ｖmin
……（３３）
【００７７】
前記（４）式から、Ｒi ×ｄＩb ／ｄｔ＝−ｄＶb ／ｄｔであるため、上記（３３）は次のように変形される。
Ｖmin −Ｖb(現在値) ≦ｄＶb ／ｄｔ・δｔ≦Ｖmax −Ｖb(現在値)
……（３４）
【００７８】
ここで、Ｖmin −Ｖb(現在値) ＝ΔＶbmin、Ｖmax −Ｖb(現在値) ＝ΔＶbmaxとすると次式が得られる。
ΔＶbmin≦ｄＶb ／ｄｔ・δｔ≦ΔＶbmax      ……（３５）
【００７９】
Ｉbmin＝Ｉb(現在値) ＋ΔＩbminであるため、バッテリ５０の入力制限Ｗinに対する補正値ΔＷin（充電量許容値）は、次式で算出される。
ΔＷin＝Ｉbmin×Ｖmax −Ｉb(現在値) ×Ｖb(現在値)
＝｛Ｉb(現在値) ＋ΔＩbmin｝×｛Ｖb(現在値) ＋ΔＶbmax｝
−Ｉb(現在値) ×Ｖb(現在値)
＝Ｉb(現在値) ×ΔＶbmax＋ΔＩbmin×Ｖb(現在値) ＋ΔＩbmin×ΔＶbmax
……（３６）
【００８０】
また、Ｉbmax＝Ｉb(現在値) ＋ΔＩbmaxであるため、バッテリ５０の出力制限Ｗout に対する補正値ΔＷout （放電量許容値）は、次式で算出される。
ΔＷout ＝Ｉbmax×Ｖmin −Ｉb(現在値) ×Ｖb(現在値)
＝｛Ｉb(現在値) ＋ΔＩbmax｝×｛Ｖb(現在値) ＋ΔＶbmin｝
−Ｉb(現在値) ×Ｖb(現在値)
＝Ｉb(現在値) ×ΔＶbmin＋ΔＩbmax×Ｖb(現在値) ＋ΔＩbmax×ΔＶbmin                                                                  ……（３７）
これら（３６）式と（３７）式を用いて、バッテリ５０の入出力制限Ｗin，Ｗout に対する補正値ΔＷin，ΔＷout を算出するようにしても良い。
【００８１】
以上説明した本実施例３では、バッテリ５０の内部抵抗Ｒi 及び充放電電流Ｉb の挙動とバッテリ電圧Ｖb の挙動との関係をモデル化したバッテリ電圧挙動モデルを用いて、バッテリ５０の内部抵抗Ｒi 及び充放電電流Ｉb の挙動から該バッテリ電圧Ｖb の挙動を予測し、バッテリ５０の充放電電力（入出力制限Ｗin，Ｗout ）を、バッテリ電圧Ｖb が目標範囲内（性能上下限電圧Ｖmax ，Ｖmin の範囲内）に収まるように制限するため、前記実施例１と同様の効果を得ることができる。
【００８２】
尚、本発明は、図１に示すようなハイブリッド電気自動車に限定されず、モータのみを駆動源とする電気自動車にも適用して実施でき、更には、エンジンのみを駆動源とする車両に搭載されたバッテリの充放電制御にも本発明を適用して実施できる等、要旨を逸脱しない範囲内で種々変更して実施できる。
【図面の簡単な説明】
【００８３】
【図１】本発明の実施例１のハイブリッド電気自動車のシステム構成を概略的に示す構成図である。
【図２】バッテリの簡易モデルを説明する回路図である。
【図３】従来技術の問題点を説明する回路図である。
【図４】実施例１の駆動制御プログラムの処理の流れを示すフローチャートである（その１）。
【図５】実施例１の駆動制御プログラムの処理の流れを示すフローチャートである（その２）。
【図６】バッテリ温度Ｔb に応じて内部抵抗Ｒi を算出するマップＭap3(Ｔb)の一例を示す図である。
【図７】実施例２の駆動制御プログラムの処理の流れを説明するローチャートである。
【図８】実施例３の駆動制御プログラムの処理の流れを説明するローチャートである。
【符号の説明】
【００８４】
２２…エンジン、２４…エンジンＥＣＵ、４０…モータＥＣＵ、４１，４２…インバータ、４３，４４…回転位置検出センサ、５０…バッテリ、５１…温度センサ、５２…バッテリＥＣＵ、５５…電圧センサ、５６…電流センサ（電流検出手段）、７０…ハイブリッドＥＣＵ（内部抵抗推定手段，充放電制御手段）、ＭＧ１…第１モータ，ＭＧ２…第２モータ
【図１】
0004771176.tif 000002
【図２】
0004771176.tif 000003
【図３】
0004771176.tif 000004
【図４】
0004771176.tif 000005
【図５】
0004771176.tif 000006
【図６】
0004771176.tif 000007
【図７】
0004771176.tif 000008
【図８】
0004771176.tif 000009