以下、本発明の実施形態を図面に基づいて詳細に説明する。
図1は、本発明の実施形態に係る制御装置が搭載されたハイブリッド車両1(以下、単に車両1という)を示す。この車両1は、所謂シリーズ式のハイブリッド車両であって、エンジン10と、回転軸が該エンジン10の出力軸(後述のエキセントリックシャフト13)に連結されていて、エンジン10を駆動して始動させかつ該始動後のエンジン10により駆動されて発電するモータジェネレータ20と、このモータジェネレータ20によって発電された電力が蓄電(充電)される高電圧・大容量のバッテリ30と、エンジン10に駆動されることによるモータジェネレータ20の発電電力及びバッテリ30の蓄電電力(放電電力)のうちの少なくとも一方の電力で駆動される走行用モータ40とを備えている。
モータジェネレータ20、バッテリ30及び走行用モータ40の間には、インバータ50が設けられている。このインバータ50を介して、モータジェネレータ20の発電電力が、バッテリ30及び/又は走行用モータ40に供給されるとともに、バッテリ30からの放電電力が、モータジェネレータ20及び/又は走行用モータ40に供給される。
走行用モータ40は、モータジェネレータ20の発電電力及びバッテリ30からの放電電力の少なくとも一方が供給されることにより駆動される。この走行用モータ40の駆動力が、デファレンシャル装置60を介して、駆動輪としての左右の前輪61に伝達され、これにより、車両1が走行する。尚、走行用モータ40は、回生発電電力を発生可能なものであって、車両1の減速時にジェネレータとして作動して、その発電した電力(回生発電電力)がバッテリ30に充電される。また、バッテリ30は、車両1の外部の電源による外部充電が可能である。
エンジン10は、モータジェネレータ20による発電用にのみ使用される。エンジン10は、本実施形態では、水素タンク70に貯留されている水素ガスが、燃料として供給される水素エンジンである。
図2に示すように、エンジン10は、ツインロータ式(2気筒)のロータリピストンエンジンであって、2つの繭状のロータハウジング11内(気筒内)に形成されるロータ収容室11aに、概略三角形状のロータ12がそれぞれ収容されて構成されている。2つのロータハウジング11は、3つのサイドハウジング(図示せず)の間に挟み込むようにして該サイドハウジングと一体化されてなり、各ロータハウジング11とその両側のサイドハウジングとで各ロータ収容室11aが形成される。尚、図2では、2つのロータハウジング11(2つの気筒)を展開した状態で図示しており、2つのロータハウジング11内の中央部にそれぞれ描いているエキセントリックシャフト13は、同じものである。
上記各ロータ12は、その三角形の各頂部に図示しないアペックスシールを有し、これらアペックスシールがロータハウジング11のトロコイド内周面に摺接しており、このことで、各ロータ12により各ロータ収容室11a(各気筒内)に3つの作動室(燃焼室に相当)が画成される。そして、各ロータ12は、該ロータ12の3つのアペックスシールが各々ロータハウジング11のトロコイド内周面に当接した状態でエキセントリックシャフト13の周りを自転しながら、該エキセントリックシャフト13の軸心の周りに公転するようになっている。ロータ12が1回転する間に、該ロータ12の各頂部間にそれぞれ形成された作動室が周方向に移動しながら、吸気、圧縮、膨張(燃焼)及び排気の各行程を行い、これにより発生する回転力がロータ12を介して出力軸としてのエキセントリックシャフト13から出力される。
上記各ロータ収容室11aには、吸気行程にある作動室に連通するように吸気通路14が連通しているとともに、排気行程にある作動室に連通するように排気通路15が連通している。吸気通路14は、上流側では1つであるが、下流側では、2つの分岐路に分岐してそれぞれ上記各ロータ収容室11aに連通している。吸気通路14の上記分岐部よりも上流側には、ステッピングモータ等のスロットル弁アクチュエータ90により駆動されて吸気通路14の断面積(弁開度)を調節するスロットル弁16が配設されている。吸気通路14の上記分岐部よりも下流側の各分岐路には、上記水素タンク70から供給された水素(燃料)を吸気通路14内に噴射する予混合用インジェクタ17が配設されている。この予混合用インジェクタ17により噴射された水素は空気と混合された状態(予混合状態)で、吸気行程にある作動室に供給される。
上記排気通路15は、上流側では、各ロータ収容室11にそれぞれ連通するように2つ設けられているが、下流側では、1つに合流されている。この排気通路15の該合流部よりも下流側には、排気ガスを浄化するための排気ガス浄化触媒80が配設されている。この排気ガス浄化触媒80は、本実施形態では、NOx吸蔵還元触媒とされている。尚、図2において吸気通路14及び排気通路15に図示した矢印は、吸気及び排気の流れを示している。
上記各ロータハウジング11(各気筒)には、上記水素タンク70から供給された水素(燃料)をロータ収容室11内(気筒内)に直接噴射する直噴用インジェクタ18と、上記予混合用インジェクタ17又は直噴用インジェクタ18より噴射された水素の点火を行う点火プラグ19とが設けられている。
予混合用インジェクタ17は、後述のエンジン水温センサ106により検出されたエンジン冷却水の温度(エンジン水温)が、予め設定された設定温度よりも低いときに作動する。一方、直噴用インジェクタ18は、上記エンジン水温が上記設定温度以上であるときに作動する。これは、上記エンジン水温が上記設定温度よりも低いときには、燃料(水素)が燃焼した際に生じる水蒸気が直噴用インジェクタ18の噴口において氷結して該噴口が塞がれる場合があるからである。また、ロータハウジング11のトロコイド内周面に付着した氷が、ロータ12のアペックスシールによって直噴用インジェクタ18の噴口内に掻き込まれ、このことによっても直噴用インジェクタ18の噴口が塞がれる場合がある。このように直噴用インジェクタ18の噴口が塞がれると、ロータ収容室11内に供給される燃料量が不足する。そこで、上記氷結によるロータ収容室11内への供給燃料量の不足を防止するべく、上記エンジン水温が、直噴用インジェクタ18の噴口で氷結が生じるような温度にあるときには、予混合用インジェクタ17により燃料の噴射を行う。上記エンジン水温が上記設定温度以上になれば、直噴用インジェクタ18の噴口内の氷が溶けるとともに、燃料(水素)が燃焼した際に生じる水蒸気が氷結することもないので、空気の充填率を高めて高トルクが得られるように直噴用インジェクタ18から水素を噴射する。
ここで、エンジン10の始動時においては、その前のエンジン停止直前のエンジン水温が、通常は、上記設定温度以上であり、そのエンジン停止直前に発生した水蒸気は蒸発しているので、始動時における上記エンジン水温が上記設定温度よりも低くても、直噴用インジェクタ18の噴口内に氷が存在する可能性は低い。そこで、エンジン10の始動性を高めるべく、直噴用インジェクタ18から燃料を噴射する。そして、エンジン10の始動後においても、上記エンジン水温が上記設定温度よりも低い場合には、直噴用インジェクタ18から予混合用インジェクタ17に切り換えることになる。
尚、本実施形態では、予混合用インジェクタ17は各分岐路において1つしか設けられていないが、直噴用インジェクタ18は、各ロータハウジング11において、エキセントリックシャフト13の軸方向(図2の紙面に垂直な方向)に2つ並んで配設されている(図2では、1つしか見えていない)。
車両1には、バッテリ30に出入りする電流及びバッテリ30の電圧を検出するバッテリ電流・電圧センサ101と、車両1のドライバによるアクセルペダルの踏み込み量(ドライバの操作によるアクセル開度)を検出するアクセル開度センサ102と、車両1の車速を検出する車速センサ103と、エキセントリックシャフト13に設けられ、エキセントリックシャフト13の回転角度位置を検出する回転角センサ104(エンジン10の回転数を検出するエンジン回転数センサを兼ねる)と、エンジン10の排気ガスの空燃比を検出する空燃比センサ105と、ロータハウジング11の内部に形成されたウォータジャケット(図示せず)に臨んで該ウォータジャケット内を流れるエンジン冷却水の温度(エンジン水温)を検出するエンジン水温センサ10と、水素タンク70内の圧力(つまり水素タンク70内の水素残量)を検出するタンク圧力センサ107と、吸気通路14内に吸入される吸気流量を検出するエアフローセンサ108と、バッテリ30の温度を検出するバッテリ温度センサ109と、車両1のドライバによりブレーキペダルが踏み込まれていること及びその踏み込み量を検出するブレーキセンサ110と、車両1のドライバが操作する回生スイッチ111と、エンジン10の作動制御や、インバータ50の作動制御(つまりモータジェネレータ20及び走行用モータ40の作動制御)等を行うコントロールユニット100(制御手段)とが設けられている。
コントロールユニット100は、周知のマイクロコンピュータをベースとするコントローラであって、プログラムを実行する中央演算処理装置(CPU)と、例えばRAMやROMにより構成されてプログラム及びデータを格納するメモリと、電気信号の入出力をする入出力(I/O)バスと、を備えている。コントロールユニット100には、バッテリ電流・電圧センサ101、アクセル開度センサ102、車速センサ103、回転角センサ104、空燃比センサ105、エンジン水温センサ106、タンク圧力センサ107、エアフローセンサ108、バッテリ温度センサ109、ブレーキセンサ110、回生スイッチ111等からの各種信号が入力されるようになっている。
そして、コントロールユニット100は、上記入力信号に基づいて、スロットル弁アクチュエータ90、ポート噴射用インジェクタ17、直噴用インジェクタ18、点火プラグ19に対して制御信号を出力してエンジン10を制御するとともに、インバータ50に対して制御信号を出力してモータジェネレータ20及び走行用モータ40を制御する。
コントロールユニット100は、インバータ50を制御することにより、モータジェネレータ20の作動状態を、バッテリ30からの電力供給によりエンジン10を駆動する駆動状態と、エンジン10による駆動により発電して該発電電力をバッテリ30や走行用モータ40に供給する発電状態とに切り換えることが可能になっている。そして、コントロールユニット100は、エンジン10の始動時には、モータジェネレータ20の作動状態を上記駆動状態としてエンジン10を始動し、エンジン10の始動後には、上記発電状態に切り換える。尚、モータジェネレータ20を、エンジン10を駆動もせずかつ発電もしない空回り状態にすることも可能である。
また、コントロールユニット100は、バッテリ電流・電圧センサ101により検出された、バッテリ30に出入りする電流及びバッテリ30の電圧に基づいて、バッテリ30の残存容量(SOC)を検出し、このバッテリ30の残存容量と、バッテリ温度センサ109により検出されたバッテリ30の温度とに基づいて、例えば図3に示すような、コントロールユニット100の上記メモリに記憶されている充電可能電力マップ(図3の充電可能電力マップに記載されている温度は、バッテリ30の温度である)から、バッテリ30に充電することが可能な電力である充電可能電力Pinを検出する。このことで、バッテリ電流・電圧センサ101、バッテリ温度センサ109及びコントロールユニット100は、バッテリ30の充電可能電力Pinを検出する充電可能電力検出手段を構成することになる。図3から分かるように、バッテリ30の充電可能電力Pinは、バッテリ30の残存容量が多い場合に低くなるとともに、バッテリ30の温度が第1所定範囲外にある場合(−10℃以下の低温や60℃以上の高温である場合)には、0ないしそれに近い値になる。尚、バッテリ30から放電することが可能な電力である放電可能電力は、充電可能電力Pinとは逆に、バッテリ30の残存容量が少ない場合に低くなる。また、バッテリ30の温度に対しての放電可能電力は、充電可能電力Pinと同様の傾向にあり、バッテリ30の温度が第2所定範囲外にある場合に、0ないしそれに近い値になる。
コントロールユニット100は、バッテリ30の残存容量が、予め決められた基準値よりも少なくなったときには、車両1のインストルメントパネルに設けられた警報ランプ120(図2参照)により警報を行って、ドライバに車両1の外部の電源によるバッテリ30の外部充電を促す。上記基準値は、上記バッテリ温度センサ109によるバッテリ30の温度と、不図示の外気温センサにより検出された外気温度とに基づいて、予め作成された不図示の残存容量基準値マップから求める。
ここで、バッテリ30の温度や外気温度が低いと、充電可能電力Pinが低くなることに加えて、上記放電可能電力も低くなる。このため、バッテリ30の放電による温度上昇が遅く、この結果、充電可能電力Pinが低い状態が長い間継続する。このため、バッテリ30に電力を充電することが長い間できないため、バッテリ30の残存容量が早期に低下してしまう。この点を踏まえて、バッテリ30の温度が第1所定値よりも低くかつ外気温度が第2所定値よりも低い場合の上記基準値は、バッテリ30の温度が上記第1所定値以上であるか又は外気温度が上記第2所定値以上である場合の上記基準値よりも高い値に設定されている。これにより、バッテリ30の温度が第1所定値よりも低くかつ外気温度が第2所定値よりも低い場合には、バッテリ30の温度が上記第1所定値以上であるか又は外気温度が上記第2所定値以上である場合に比べて、バッテリ30の残存容量が高い段階で警報ランプ120による警報が行われ、これにより、ドライバは早めにバッテリ30の外部充電を行うことになり、バッテリ30に電力を充電できなくてバッテリ30の残存容量が早期に低下するという問題の発生を抑制することができる。
さらに、インバータ50は、モータジェネレータ20による発電電力等に応じて、走行用モータ40の駆動を、バッテリ30からの放電電力のみでもって行う態様1と、モータジェネレータ20からの発電電力のみでもって行う態様2と、バッテリ30及びモータジェネレータ20の両方からの電力でもって行う態様3とに切換えることができる機能を持っている。この機能により、コントロールユニット100は、バッテリ30のSOCが高い場面では様態1を優先的に使用してSOCを低下させ、SOCが低い場面では様態2を優先的に使用してSOCを維持させることが可能になる。ここでの様態2とは、発電電力が全て走行用モータ40で消費される場合と、発電電力が走行用モータ40での消費とバッテリ30の充電との両方に使われる場合とがある。SOCを維持しながら走行する場合には、低車速域では様態1で走行し、高車速域では様態2を選択し走行用モータ40の出力よりも多くの電力を発電しながら走行するような発電始動停止制御を用いることも可能である。また、様態3の場面としては、アクセル開度センサ102等からの入力情報に基づくドライバの加速要求が大きい場面や、バッテリ30の放電可能電力が低い場合等が挙げられる。尚、タンク圧力センサ107による水素タンク70内の水素残量が所定値以下になった場合やエンジン10がオーバーヒートした場合などでは態様1を選択する。
走行用モータ40の駆動を、バッテリ30からの放電電力のみでもって行う態様から、モータジェネレータ20からの発電電力のみでもって行う態様、又は、バッテリ30及びモータジェネレータ20の両方からの電力でもって行う態様に切り換える際には、エンジン10に始動を要求(モータジェネレータ20へ発電要求)することになる。また、その逆の切り換え時には、エンジン10に停止要求をすることになり、エンジン10が停止することになる。
バッテリ30の残存容量が所定容量よりも少ない場合には、モータジェネレータ20による発電を要求する必要があり、モータジェネレータ20による発電電力がバッテリ30に充電される。エンジン10及びモータジェネレータ20の制御指令に用いる発電電力要求値は、ドライバの加速要求、車両の速度、バッテリ30のSOC、熱効率、上記充電可能電力Pinなどから設定した要求値(第1発電要求値に相当)からエンジン10のトルク変動(つまり出力変動)を許容できる電力マージン分を差し引いた値として設定する。
また、車両1の減速時(アクセルペダル及びブレーキペダルの両方が踏み込まれていないときや、ブレーキペダルが踏み込まれたとき)に上記充電可能電力Pinが十分にある場合には、走行用モータ40による回生発電を発生させ、モータジェネレータ20による発電電力に加えて、走行用モータ40による回生発電電力がバッテリ30に充電される。
本実施形態では、車両1のドライバが操作可能な上記回生スイッチ111が設けられており、ドライバは、その回生スイッチ111の操作により、回生の態様を、以下の3つの態様の中から1つを選択することが可能になっている。コントロールユニット100は、上記回生スイッチ111により設定された態様で、走行用モータ40による回生発電を行う。
第1の態様では、アクセルペダル及びブレーキペダルの両方が踏み込まれていないときには、回生を行わない(このときには、走行用モータ40による回生発電を要求しないことになる)。また、ブレーキペダルが踏み込まれたときには、通常の回生を行う。この通常の回生時の回生電力は、車両1の走行状態(車速等)、ブレーキペダルの踏み込み量等に基づいて算出された値(第1回生要求値に相当)とされる。
第2の態様では、アクセルペダル及びブレーキペダルの両方が踏み込まれていないときには、弱回生を行う。この弱回生時の回生電力は、車両1の走行状態等に基づいて算出された値(第1回生要求値)とされ、その最大値は上記通常の回生時の要求値の最大値よりも低い。また、ブレーキペダルが踏み込まれたときには、上記通常の回生を行う。
第3の態様では、アクセルペダル及びブレーキペダルの両方が踏み込まれていないときには、上記通常の回生を行う。また、ブレーキペダルが踏み込まれたときにも、上記通常の回生を行う。
ここで、コントロールユニット100がモータジェネレータ20による発電及び走行用モータ40による回生発電を要求するときに、その発電電力の要求値及び回生電力の要求値通りの電力を発生させてバッテリ30に充電したのでは、特にバッテリ30の充電可能電力Pinが低下した状態にあるときに、バッテリ30の充電可能電力Pinを超えた電力をバッテリ30に充電してしまうことがある。
そこで、コントロールユニット100は、モータジェネレータ20による発電及び走行用モータ40による回生発電を要求する場合において、モータジェネレータ20による発電電力の当初の要求値である第1発電要求値と走行用モータ40による回生発電電力の当初の要求値である第1回生要求値との和が、上記検出された充電可能電力Pinを超えるときには、モータジェネレータ20による実際の発電電力と走行用モータ40による実際の回生発電電力との和が充電可能電力Pin以下になるように、上記第1発電要求値及び上記第1回生要求値のうちの少なくとも一方の値を調整して、該調整後の両要求値を、エンジン10及びモータジェネレータ20の制御指令に用いる発電電力要求値と走行用モータ40の制御指令に用いる回生電力要求値とに設定する。
モータジェネレータ20による実際の発電電力は、エンジン10のトルク変動による出力変動により変動するので、バッテリ30の充電可能電力Pinを超えた電力がバッテリ30に充電される可能性がある。そこで、本実施形態では、上記モータジェネレータ20による発電電力の上記第1発電要求値からエンジン10のトルク変動(出力変動)を許容できる電力マージン分を差し引いた値をエンジン10及びモータジェネレータ20の制御指令に用いる上記発電電力要求値に設定する(後述の第2発電要求値についても同様)。
具体的に、コントロールユニット100は、モータジェネレータ20による発電及び走行用モータ40による回生発電を要求する場合において、モータジェネレータ20による発電電力の上記第1発電要求値と走行用モータ40による回生発電電力の上記第1回生要求値との和が上記充電可能電力Pinを超えるときには、走行用モータ40による回生発電電力の第2回生要求値を、上記第1回生要求値及び上記充電可能電力Pinのうち小さい方の値に設定するとともに、モータジェネレータ20による発電電力の第2発電要求値を、該第2発電要求値と上記第2回生要求値との和が上記充電可能電力Pin以下になるような値に設定する。そして、上記第2発電要求値及び上記第2回生要求値を、エンジン10及びモータジェネレータ20の制御指令に用いる上記発電電力要求値と走行用モータ40の制御指令に用いる上記回生電力要求値とにそれぞれ設定することで、エンジン10、モータジェネレータ20及び走行用モータ40を制御する。
充電可能電力Pinが0であるときには、上記小さい方の値は0であるので、走行用モータ40による回生発電電力の上記第2回生要求値を、Pin(=0)に設定する(つまり発電しない)。この場合、モータジェネレータ20による発電電力の上記第2発電要求値も0に設定することになる(つまり発電しない)。
また、走行用モータ40による回生発電電力の上記第2回生要求値を充電可能電力Pin(0でない)に設定した場合にも、モータジェネレータ20による発電電力の上記第2発電要求値を0に設定することになる(つまり発電しない)。
さらに、走行用モータ40による回生発電電力の上記第2回生要求値を上記第1回生要求値と同じに設定した場合、充電可能電力Pinから該第2回生要求値(第1回生要求値)を引いた値が、エンジン10のトルク変動(出力変動)を許容できる電力マージンよりも小さいときには、上記発電電力要求値を0に設定することになる(つまり発電しない)。つまり、モータジェネレータ20による発電電力の第2発電要求値を、該第2発電要求値と上記第2回生要求値との和が充電可能電力Pin以下になるような値に設定しても、第2発電要求値からエンジン10の出力変動を許容できる電力マージン分を差し引いた値は0又は負の値になるため、第2発電要求値から該電力マージン分を差し引いた値を発電電力要求値とすることで、その発電電力要求値を0に設定することになる。
本実施形態では、コントロールユニット100は、車両1のアクセルペダルの踏み込みによる加速時であってモータジェネレータ20による発電がなされている状態から該アクセルペダルの踏み込みが解除された後、上記発電電力要求値及び上記回生電力要求値を用いてモータジェネレータ20による発電及び走行用モータ40による回生発電を要求している場合において、モータジェネレータ20による実際の発電電力と走行用モータ40による実際の回生発電電力との和が充電可能電力Pinを超えてしまうときには、走行用モータ40による回生発電電力の第3回生要求値を、該第3回生要求値とモータジェネレータ20による実際の発電電力との和が充電可能電力Pin以下になるような値に設定し、その第3回生要求値を、走行用モータ40の制御指令に用いる上記回生電力要求値に設定する。このとき、該回生電力要求値の設定に代えて、又は、加えて、上記発電電力要求値が0よりも大きい場合において、モータジェネレータ20による実際の発電電力が上記発電電力要求値よりも大きい場合には、実際の発電電力の応答遅れ分に応じて、モータジェネレータ20による発電電力の第3発電要求値を、上記発電電力要求値よりも小さい値として設定し、その第3発電要求値を、エンジン10及びモータジェネレータ20の制御指令に用いる上記発電電力要求値に設定してもよい。尚、第3回生要求値は、請求項3に記載の第3回生要求値及び請求項5に記載の第2回生要求値に相当し、第3発電要求値は請求項5に記載の第2発電要求値に相当する。
ここで、図6に示すように、アクセルペダルの踏み込みによる加速時であってモータジェネレータ20による発電がなされている状態(このときのモータジェネレータ20による発電電力は、走行用モータ40のみに供給されるか、又は、走行用モータ40及びバッテリ30の両方に供給される)からアクセルペダルの踏み込みが解除されたとき(アクセルがONからOFFになったとき)には、エンジン10の出力(モータジェネレータ20による発電電力)が上記発電電力要求値に基づいて低下し始めるが、このエンジン10の出力の低下の応答遅れによって、モータジェネレータ20による実際の発電電力が高い状態にあり、この状態で、走行用モータ40による回生発電電力を上記回生電力要求値通りにすると、モータジェネレータ20による実際の発電電力と走行用モータ40による実際の回生発電電力との和(総発電電力)の値が充電可能電力Pinを超えることがある。そこで、このように、モータジェネレータ20による実際の発電電力と走行用モータ40による実際の回生発電電力との和が上記充電可能電力Pinを超えるときには、モータジェネレータ20による発電電力の調整は困難であるので、上記回生電力要求値を調整する。すなわち、第3回生要求値を、該第3回生要求値とモータジェネレータ20による実際の発電電力との和が充電可能電力Pin以下となるように設定する。このとき、エンジン10の出力の低下の応答遅れの度合いに応じて、上記発電電力要求値よりも小さな第3発電要求値を設定し、その値を上記発電電力要求値に用いてもよい。また、図6に示すように、モータジェネレータ20による実際の発電電力の低下に連れて、走行用モータ40による回生発電電力を上昇させることが好ましい。このようにすれば、上記総発電電力は、エンジン10のトルク変動による影響を除けば、略一定になる。
また、本発明は、上記発電電力要求値と上記回生電力要求値とを同時に調整する場合を想定して、その際に必要となる回生電力マージンE0を予め設定しておき、上記充電可能電力Pinから上記回生電力マージンE0を引いた値を上記充電可能電力Pinとして用いてもよい。
モータジェネレータ20による発電及び走行用モータ40による回生発電を要求するときのコントロールユニット100の処理動作について、図4及び図5のフローチャートに基づいて説明する。
最初のステップS1で、各種センサ及びスイッチから各種データを入力し、次のステップS2で、バッテリ30の残存容量(SOC)とバッテリ30の温度とに基づいて上記充電可能電力マップからバッテリ30の充電可能電力Pinを検出する。
次のステップS3では、車両1のアクセルペダルの踏み込みによる加速時であってモータジェネレータ20による発電がなされている状態において該アクセルペダルの踏み込み量が、予め設定された設定値AP以上の状態にあるか否かを判定する。
上記ステップS3の判定がYESであるときには、ステップS4に進んで、走行用モータ40による出力を要求し続けているので、ドライバの加速要求、車両の速度、SOC、熱効率、充電可能電力Pinなどに応じて、モータジェネレータ20による発電をし続け、しかる後にステップS21に進む。
上記ステップS3の判定がNOであるときには、ステップS5に進んで、上記検出した充電可能電力Pinが0であるか否かを判定する。
上記ステップS5の判定がYESであるときには、ステップS6に進んで、上記発電電力要求値及び上記回生電力要求値を共に0に設定する(発電しない)。ステップS6の後、ステップS21に進む。
上記ステップS5の判定がNOであるときには、ステップS7に進んで、上記検出した充電可能電力Pinが0を超えかつE1以下であるか否かを判定する。E1の値は、エンジン10のトルク変動に対応した、モータジェネレータ20による発電電力の変動幅に相当する値である。
上記ステップS7の判定がYESであるときには、ステップS8に進んで、回生スイッチ111の操作状態及びブレーキペダルの踏み込みの有無に対応した上記第1回生要求値を、車両1の走行状態、ブレーキペダルの踏み込み量等に基づいて設定する。
次のステップS9で、上記回生電力要求値を、上記設定した第1回生要求値及び充電可能電力Pinのうちの小さい方の値に設定するとともに、上記発電電力要求値を0に設定する(発電しない)。ステップS9の後、ステップS21に進む。
上記ステップS9の処理動作により、走行用モータ40による回生発電電力の上記第1回生要求値が充電可能電力Pinよりも小さいとした場合、図7に示すように、上記第1回生要求値が上記回生電力要求値に設定され、走行用モータ40による実際の回生発電電力もその第1回生要求値となる。そして、仮にモータジェネレータ20による発電を行った場合、充電可能電力Pinから実際の回生発電電力(又は上記第1回生要求値)を引いた値が、エンジン10のトルク変動に対応した、モータジェネレータ20による発電電力の変動幅よりも小さいので、モータジェネレータ20による発電電力を0よりも大きい値で出来る限り小さくしたとしても、エンジン10のトルク変動により、総発電電力(図7の二点鎖線を参照)の値は、充電可能電力Pinを超えてしまう。このため、モータジェネレータ20による発電はなされない。また、上記回生電力要求値が充電可能電力Pinに設定された場合も、当然、モータジェネレータ20による発電はなされない。
上記ステップS7の判定がNOであるときには、ステップS10に進んで、上記検出した充電可能電力PinがE1を超えかつE2以下であるか否かを判定する。E2の値は、走行用モータ40による回生発電電力の上記第1回生要求値の最大値(つまり通常回生時の回生電力の最大値)に、エンジン10のトルク変動に対応した、モータジェネレータ20による発電電力の変動幅を加えた値である。
上記ステップS10の判定がYESであるときには、ステップS11に進んで、回生スイッチ111の操作状態及びブレーキペダルの踏み込みの有無に対応した上記第1回生要求値を、車両1の走行状態、ブレーキペダルの踏み込み量等に基づいて設定する。
次のステップS12で、モータジェネレータ20による発電電力の上記第1発電要求値と走行用モータ40による回生発電電力の上記第1回生要求値との和である第1総目標発電電力が、上記充電可能電力Pinよりも大きいか否かを判定する。
上記ステップS12の判定がYESであるときには、ステップS13に進む一方、ステップS12の判定がNOであるときには、ステップS16に進む。
上記ステップS13では、上記第1回生要求値が充電可能電力Pinよりも小さいか否かを判定する。このステップS13の判定がYESであるときにはステップS14に進んで、走行用モータ40による回生発電電力の上記第1回生要求値を上記回生電力要求値に設定するとともに、モータジェネレータ20による発電電力の第2発電要求値を、この第2発電要求値と、上記設定した上記回生電力要求値との和が充電可能電力Pin以下になるような値に設定し、この第2発電要求値を上記発電電力要求値に設定する。ここで、充電可能電力Pinから上記第1回生要求値を引いた値が、エンジン10のトルク変動に対応した、モータジェネレータ20による発電電力の変動幅よりも小さいときには、上記発電電力要求値は0に設定されることになる(つまり発電しない)。ステップS14の後、ステップS21に進む。
上記ステップS14の処理動作により、図8に示すように、上記回生電力要求値が、充電可能電力Pinよりも小さい上記第1回生要求値に設定され、走行用モータ40による実際の回生発電電力も上記第1回生要求値となる。充電可能電力Pinから走行用モータ40による実際の回生発電電力を引いた値が、エンジン10のトルク変動に対応した、モータジェネレータ20による発電電力の変動幅よりも大きければ(図8では、そのようになっている)、モータジェネレータ20による発電がなされ、この場合、モータジェネレータ20による発電電力の第2発電要求値を、この第2発電要求値と走行用モータ40による実際の回生発電電力との和が充電可能電力Pin以下になるような値に設定し、その第2発電要求値が上記発電電力要求値に設定される。
上記ステップS13の判定がNOであるときには、ステップS15に進んで、上記回生電力要求値を充電可能電力Pinに設定するとともに、上記発電電力要求値を0に設定する(発電しない)。ステップS15の後、ステップS21に進む。
上記ステップS15の処理動作により、上記回生電力要求値が充電可能電力Pinに設定され、走行用モータ40による実際の回生発電電力も充電可能電力Pinとなる。この場合、仮にモータジェネレータ20による発電を行った場合、図7と同様に、上記総発電電力の値は、充電可能電力Pinを超えてしまう。このため、モータジェネレータ20による発電はなされない。
上記ステップS12の判定がNOであるときに進むステップS16では、走行用モータ40による回生発電電力の上記第1回生要求値を上記回生電力要求値に設定するとともに、モータジェネレータ20による発電電力の上記第1発電要求値を上記発電電力要求値に設定し、しかる後にステップS21に進む。
上記ステップS16の処理動作により、上記第1総目標発電電力(上記第1発電要求値と上記第1回生要求値との和)が充電可能電力Pin以下であれば、モータジェネレータ20による発電及び走行用モータ40による回生発電を、それら当初の要求値通りに行うことができる。
上記ステップS10の判定がNOであるとき(つまり、充電可能電力PinがE2よりも大きいとき)には、ステップS17に進んで、回生スイッチ111の操作状態及びブレーキペダルの踏み込みの有無に対応した上記第1回生要求値を、車両1の走行状態、ブレーキペダルの踏み込み量等に基づいて設定する。充電可能電力PinがE2よりも大きいので、上記第1回生要求値は、常に充電可能電力Pinよりも小さくなる。また、充電可能電力Pinから上記第1回生要求値を引いた値は、エンジン10のトルク変動に対応した、モータジェネレータ20による発電電力の変動幅よりも大きくなる。
次のステップS18では、上記第1総目標発電電力が上記充電可能電力Pinよりも大きいか否かを判定する。このステップS18の判定がYESであるときには、ステップS19に進んで、走行用モータ40による回生発電電力の上記第1回生要求値を上記回生電力要求値に設定するとともに、モータジェネレータ20による発電電力の第2発電要求値を、この第2発電要求値と、上記設定した上記回生電力要求値との和が充電可能電力Pin以下になるような値に設定し、この第2発電要求値を上記発電電力要求値に設定する。尚、充電可能電力Pinから上記目標回生発電電力を引いた値は、エンジン10の回転変動に対応した、モータジェネレータ20による発電電力の変動幅よりも大きくなるので、モータジェネレータ20による発電電力の値が0に設定されることはない。ステップS20の後、ステップS21に進む。
上記ステップS19の処理動作により、図8と同様に、上記回生電力要求値は、充電可能電力Pinよりも小さい上記第1回生要求値に設定され、走行用モータ40による実際の回生発電電力も上記第1回生要求値となる。充電可能電力Pinから上記回生電力要求値を引いた値が、エンジン10のトルク変動に対応した、モータジェネレータ20による発電電力の変動幅よりも大きくなるので、モータジェネレータ20による発電がなされる。そして、上記第1総目標発電電力(上記第1発電要求値と上記第1回生要求値との和)が充電可能電力Pinを超えるときには、モータジェネレータ20による発電電力の第2発電要求値を、この第2発電要求値と走行用モータ40による実際の回生発電電力との和が充電可能電力Pin以下になるような値に設定し、その第2発電要求値が上記発電電力要求値に設定される。
上記ステップS18の判定がNOであるときには、ステップS20に進んで、走行用モータ40による回生発電電力の上記第1回生要求値を上記回生電力要求値に設定するとともに、モータジェネレータ20による発電電力の上記第1発電要求値を上記発電電力要求値に設定し、しかる後にステップS21に進む。
上記ステップS20の処理動作により、上記第1総目標発電電力(上記第1発電要求値と上記第1回生要求値との和)が充電可能電力Pin以下であれば、モータジェネレータ20による発電及び走行用モータ40による回生発電を、それら当初の要求値通りに行うことができる。
上記ステップS4、S6,S9,S14,S15,S16,S19及びS20の後に進むステップS21では、上記総発電電力(モータジェネレータ20による実際の発電電力と走行用モータ40による実際の回生発電電力との和)が充電可能電力Pin以下であるか否かを判定する。
上記ステップS21の判定がYESであるときには、リターンする一方、ステップS21の判定がNOであるときには、ステップS22に進んで、エンジン10の出力低下の応答遅れにより上記総発電電力が充電可能電力Pinよりも大きいと判断し、上記総発電電力が充電可能電力Pinより小さくなるように回生電力要求値を調整し、しかる後にリターンする。
したがって、本実施形態では、モータジェネレータ20による発電及び走行用モータ40による回生発電を要求する場合において、モータジェネレータ20による発電電力の第1発電要求値(当初の要求値)と走行用モータ40による回生発電電力の第1回生要求値(当初の要求値)との和が、バッテリ30の充電可能電力Pinを超えるときには、モータジェネレータ20による実際の発電電力と走行用モータ40による実際の回生発電電力との和がバッテリ30の充電可能電力以下になるように、上記第1発電要求値及び上記第1回生要求値のうちの少なくとも一方の値を調整して、それらの要求値を、エンジン10及びモータジェネレータ20の制御指令に用いる発電電力要求値と走行用モータ40の制御指令に用いる回生電力要求値とに設定するようにしたので、バッテリ30の充電可能電力を超えた電力をバッテリ30に充電するのを抑制して、バッテリ30の早期劣化を抑制することができる。
また、上記発電電力要求値及び上記回生電力要求値を用いても、エンジン10の出力低下の応答遅れによりモータジェネレータ20による実際の発電電力と走行用モータ40による実際の回生発電電力との和が充電可能電力Pinを超えてしまうときには、モータジェネレータ20による実際の発電電力と充電可能電力Pinとに基づいて、上記回生電力要求値をさらに調整することで、バッテリ30の充電可能電力Pinを超えた電力をバッテリ30に充電するのを抑制することができる。
本発明は、上記実施形態に限られるものではなく、請求の範囲の主旨を逸脱しない範囲で代用が可能である。
上述の実施形態は単なる例示に過ぎず、本発明の範囲を限定的に解釈してはならない。本発明の範囲は請求の範囲によって定義され、請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。