以下、本発明の実施形態を図面に基づいて詳細に説明する。
図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の排気ガスの空燃比を検出する空燃比センサ105と、ロータハウジング11の内部に形成されたウォータジャケット(図示せず)に臨んで該ウォータジャケット内を流れるエンジン冷却水の温度(エンジン水温)を検出するエンジン水温センサ106と、水素タンク70内の圧力(つまり水素タンク70内の水素残量)を検出するタンク圧力センサ107と、吸気通路14内に吸入される吸気流量を検出するエアフローセンサ108と、バッテリ30の温度を検出するバッテリ温度センサ109と、エンジン10の作動制御や、インバータ50の作動制御(つまりモータジェネレータ20及び走行用モータ40の作動制御)等を行うコントロールユニット100(制御手段)とが設けられている。
上記エアフローセンサ108により検出される吸気流量は、エンジン10の各気筒への空気充填量に対応しており、このことで、エアフローセンサ108は、エンジン10への空気充填量を検出する空気充填量検出手段を構成することになる。また、回転角センサ104は、エンジン10の回転数(以下、エンジン回転数という)を検出するエンジン回転数センサを兼ねていて、エンジン回転数検出手段を構成する。さらに、空燃比センサ105により検出される排気ガスの空燃比は、エンジン10の実空燃比に対応しており、このことで、空燃比センサ105は、エンジン10の実空燃比を検出する実空燃比検出手段を構成することになる。
コントロールユニット100は、周知のマイクロコンピュータをベースとするコントローラであって、プログラムを実行する中央演算処理装置(CPU)と、例えばRAMやROMにより構成されてプログラム及びデータを格納するメモリと、電気信号の入出力をする入出力(I/O)バスと、を備えている。コントロールユニット100には、バッテリ電流・電圧センサ101、アクセル開度センサ102、車速センサ103、回転角センサ104、空燃比センサ105、エンジン水温センサ106、タンク圧力センサ107、エアフローセンサ108、バッテリ温度センサ109等からの各種信号が入力されるようになっている。
そして、コントロールユニット100は、上記入力信号に基づいて、スロットル弁アクチュエータ90、ポート噴射用インジェクタ17、直噴用インジェクタ18、点火プラグ19に対して制御信号を出力してエンジン10を制御するとともに、インバータ50に対して制御信号を出力してモータジェネレータ20及び走行用モータ40を制御する。
インバータ50は、モータジェネレータ20の作動状態を、バッテリ30からの電力供給により駆動トルクを発生させてエンジン10を駆動する駆動状態と、エンジン10による駆動により発電して該発電電力をバッテリ30や走行用モータ40に供給する発電状態とに切り換える機能を持っている。そして、コントロールユニット100は、インバータ50を制御して、エンジン10の始動時には、モータジェネレータ20の作動状態を上記駆動状態としてエンジン10を始動し、エンジン10の始動後には、上記発電状態に切り換える。モータジェネレータ20が上記発電状態にあるとき、インバータ50の制御によりモータジェネレータ20の吸収トルクを変更することで、モータジェネレータ20による発電電力を変更することができるようになっている。また、インバータ50は、モータジェネレータ20を、エンジン10を駆動もせずかつ発電もしない空回り状態(モータジェネレータ20の吸収トルクが0である状態)にすることも可能であり、コントロールユニット100がインバータ50を制御してモータジェネレータ20を空回り状態にしたとき、エンジン10は、負荷がかからない無負荷運転状態となる。一方、モータジェネレータ20が上記発電状態にあるとき、エンジン10は、モータジェネレータ20の発電動作による負荷がかかる有負荷運転状態となる。
また、コントロールユニット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ないしそれに近い値になる。
さらに、インバータ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からの放電電力のみでもって行う態様(上記態様1)にあるとき(エンジン10が停止しているとき)において、コントロールユニット100は、アクセル開度センサ102等からの入力情報に基づき、ドライバの加速要求があると判定した場合には、走行用モータ40の駆動を、バッテリ30及びモータジェネレータ20の両方からの電力でもって行う態様(上記態様3)に切り換える。その後、ドライバの加速要求がなくなった場合において、エンジン10の作動条件が成立しているときには、モータジェネレータ20を空回り状態にするか又はエンジン10に所定負荷以下の軽負荷がかかるような発電状態にして(つまりエンジン10をアイドル運転状態にして)エンジン10を運転し続けながら、走行用モータ40の駆動を、バッテリ30からの放電電力のみでもって行う態様にする。一方、ドライバの加速要求がなくなった場合において、エンジン10の作動条件が成立していないときには、エンジン10を停止して、走行用モータ40の駆動を、バッテリ30からの放電電力のみでもって行う態様にする。
上記エンジン10の作動条件は、本実施形態では、上記のようなドライバの加速要求があるということ、及び、エンジン冷間時に暖房装置による暖房要求があるということである。この暖房装置は、エンジン10の冷却水(エンジン水温)を利用して車室内を暖房するものであって、エンジン10が冷間状態にあるとき(エンジン水温センサ106により検出されるエンジン水温が所定温度以下であるとき)には、暖房性能を確保することができないので、エンジン10をアイドル運転状態で作動させてエンジン水温を高くする。したがって、ドライバの加速要求がなくなった場合において、エンジン10が冷間状態にあるときには、エンジン10が有負荷運転状態からアイドル運転状態へ移行することになる。尚、本実施形態では、アイドル運転状態は、基本的には、無負荷運転状態であるが、エンジン10に所定負荷以下の軽負荷(エンジン補機と同様の軽負荷)がかかる軽負荷運転状態であってもよい。このため、上記移行前の有負荷運転状態は、エンジン10に上記所定負荷よりも大きい負荷がかかる運転状態とする。
コントロールユニット100は、上記のようにエンジン10を有負荷運転状態からアイドル運転状態へ移行させる際において、バッテリ30の充電可能電力Pinが所定値よりも大きいときには、エンジン回転数が低下しないように、モータジェネレータ20の吸収トルクを調整しながら、有負荷運転状態からアイドル運転状態へ移行させる。尚、本実施形態では、上記充電可能電力Pinが上記所定値よりも大きいときの移行先のアイドル運転状態は、モータジェネレータ20を、エンジン10に上記所定負荷以下の軽負荷がかかるような発電状態にすることで、上記軽負荷運転状態とするが、モータジェネレータ20を空回り状態にすることで、無負荷運転状態としてもよい。
具体的には、図4に示すように、ドライバの加速要求がなくなった時点t1から、モータジェネレータ20の吸収トルクを、有負荷運転状態の吸収トルクからアイドル運転状態(軽負荷運転状態)の吸収トルクにまで徐々に低下させる(吸収トルクの変化率を、予め設定した設定値以下になるようにする)。この吸収トルクの低下に対応して、スロットル弁16の開度を、軽負荷運転状態の開度にまで徐々に小さくする。これにより、エアフローセンサ108により検出される吸気流量つまりエンジン10への空気充填量Ceが徐々に少なくなる。この空気充填量Ceの低下に応じてエンジン10の目標空燃比(目標空気過剰率λ)を燃料リッチに設定する。本実施形態では、有負荷運転状態におけるエンジン10の目標空燃比を、理論空燃比よりも燃料リーンに設定している(図4の例ではλ=2.2)。また、アイドル運転状態におけるエンジン10の目標空燃比も、理論空燃比よりも燃料リーンに設定しているが、有負荷運転状態における目標空燃比よりも燃料リッチに設定している(図4の例ではλ=1.8)。そして、上記空気充填量Ceの低下に応じて、エンジン10の目標空燃比(目標空気過剰率λ)を、有負荷運転状態における目標空燃比(λ=2.2)からアイドル運転状態における目標空燃比(λ=1.8)まで徐々に燃料リッチに変更する(λを小さくする)。上記空気充填量Ce及び目標空燃比(目標空気過剰率λ)の変化に対応して、予混合用インジェクタ17又は直噴用インジェクタ18による燃料噴射量が徐々に少なくなる。この燃料噴射量は、空燃比センサ105により検出される実空燃比が上記目標空燃比に一致するように、フィードバック制御(フィードバック補正)される。
上記のようにモータジェネレータ20の吸収トルクを徐々に低下させることにより、空気充填量Ceの低下に応じてエンジン10の目標空燃比(目標空気過剰率λ)を燃料リッチに設定することと相俟って、有負荷運転状態からアイドル運転状態への移行時に、エンジン回転数Neは高い効率が得られる一定の回転数(例えば2000rpm)に維持される。また、モータジェネレータ20の吸収トルクを徐々に低下させているとき、モータジェネレータ20は発電状態にあり、このモータジェネレータ20による発電電力はバッテリ30に充電される。しかし、バッテリ30の充電可能電力Pinが上記所定値よりも大きいことで、充電可能電力Pinを超えた電力がバッテリ30に充電される可能性は低い。
一方、エンジン10を有負荷運転状態からアイドル運転状態へ移行させる際において、上記充電可能電力Pinが上記所定値以下であるときには、上記充電可能電力Pinを超えた電力がバッテリ30に充電されるのを防止するために、図5に示すように、ドライバの加速要求がなくなった時点t11から、モータジェネレータ20の吸収トルクを、有負荷運転状態の吸収トルクから一気に0にする。このことから、上記充電可能電力Pinが上記所定値以下であるときの移行先のアイドル運転状態は、無負荷運転状態となる。
ここで、上記所定値は、例えば0ないしそれに近い値であり、充電可能電力Pinが上記所定値以下であるとき(バッテリ30の温度が上記第1所定範囲外にある場合に相当)に、モータジェネレータ20の吸収トルクを徐々に低下させたのでは、そのときの発電電力がバッテリ30に充電されることになり、充電可能電力Pinを超えた電力がバッテリ30に充電されることになって、バッテリ30の早期劣化を招いてしまう。そこで、モータジェネレータ20の吸収トルクを一気に0にする(モータジェネレータ20を空回り状態にする)。また、エンジン10への空気充填量Ceを低下させるために、上記時刻t11で、スロットル弁16の開度を、無負荷運転状態の開度(最小開度)にまで一気に低下させる。しかし、スロットル弁16の開度を一気に低下させても、空気充填量Ceは、時刻t11よりも遅れた時刻t12で低下し始めるとともに徐々に低下する(図5参照)。
上記空気充填量Ceの低下によりエンジン回転数Neが低下しようとする。このエンジン回転数Neの低下を抑制するべく、エアフローセンサ108により検出される吸気流量つまり空気充填量Ceの低下に応じてエンジン10の目標空燃比を燃料リッチに設定する。また、本実施形態では、回転角センサ104により検出されるエンジン回転数Neの低下に応じても、エンジン10の目標空燃比を燃料リッチに設定する。具体的には、エアフローセンサ108により検出される空気充填量Ceと回転角センサ104により検出されるエンジン回転数Neとに基づいて、コントロールユニット100の上記メモリに記憶されている第1目標空燃比マップから、目標空燃比(目標空気過剰率λ)を設定する。この第1目標空燃比マップは、空気充填量Ceが小さいほど、またエンジン回転数Neが低いほど、目標空燃比が燃料リッチになるようになされている。
ここで、上記時刻t11から第1所定時間(空気充填量が最小値になるような時間)が経過した後の時刻t13からは、エンジン10はアイドル運転制御に切り換えられる。このアイドル運転制御では、回転角センサ104により検出されるエンジン回転数Neに基づいて、コントロールユニット100の上記メモリに記憶されている第2目標空燃比マップから、目標空燃比(目標空気過剰率λ)を設定する。この第2目標空燃比マップは、エンジン回転数Neが低いほど、目標空燃比が燃料リッチになるようになされているとともに、第1目標空燃比マップに比べて、同じエンジン回転数Neであっても、目標空燃比がより燃料リッチになるようになされている。図5の例では、時刻t13の時点で、第1目標空燃比マップから第2目標空燃比マップに変更したことにより、目標空燃比(目標空気過剰率λ)が燃料リッチ側に急激に変化している。
上記空気充填量Ce及び目標空燃比(目標空気過剰率λ)の変化に対応して、予混合用インジェクタ17又は直噴用インジェクタ18による燃料噴射量が徐々に少なくなる。この燃料噴射量は、空燃比センサ105による実空燃比が上記目標空燃比に一致するように、フィードバック制御(フィードバック補正)される。
上記のように空気充填量Ce及びエンジン回転数Neの低下に応じて目標空燃比を燃料リッチに設定するが、エンジン10の回転数の低下が止まらない場合がある。そこで、本実施形態では、コントロールユニット100は、上記時刻t13から(エンジン10のアイドル運転制御に切り換えられてから)、予混合用インジェクタ17又は直噴用インジェクタ18の特定制御を実行する。この特定制御は、該特定制御の開始(アイドル運転制御の開始でもある)から第2所定時間(例えば数秒)が経過するまでの間(エンジン10の回転数が最も低下し易い間)において、燃料噴射量を所定の下限値以上にしかつ上記フィードバック制御を非実行状態にする制御である。上記フィードバック制御を非実行状態にするのは、燃料噴射量を所定の下限値以上にした状態で上記フィードバック制御を実行すると、燃料噴射量をより一層少なく制御しようとすることになるからである。本実施形態では、噴射すべき燃料噴射量(フィードバック補正後の燃料噴射量)が所定の下限値よりも少ないときには、その所定の下限値の燃料噴射量でもって噴射し、噴射すべき燃料噴射量が所定の下限値以上であるときには、フィードバック補正前の燃料噴射量でもって噴射する。
上記特定制御により、図5の例での燃料噴射量は、所定の下限値を下回ることがなくなり、所定の下限値で一定に維持される。これにより、エンジン回転数Neも所定回転数を下回ることがなくなる。この所定回転数を下回ると、エンジン10が停止する(エンストする)可能性が高くなるが、本実施形態では、それを防止することができる。尚、上記特定制御は必ずしも必要なものではない。
その後(図5の例では、時刻t14の時点で)、エンジン回転数Neが上昇し、これに伴って、目標空燃比及び燃料噴射量が上昇し、やがて、エンジン回転数Neは、アイドル運転状態への移行前の有負荷運転状態と同じ回転数になる。
本実施形態では、コントロールユニット100は、充電可能電力Pinが上記所定値以下であるときにおいて、有負荷運転状態からアイドル運転状態(無負荷運転状態)への移行時に、回転角センサ104により検出されるエンジン回転数Neより、該移行時におけるエンジン回転数Neの最大低下量を算出する。そして、この最大低下量に応じて、上記第1及び第2目標空燃比マップ(いずれか一方の目標空燃比マップのみであってもよい)の目標空燃比を変更する。すなわち、上記最大低下量が大きいほど、第1及び第2目標空燃比マップの目標空燃比を燃料リッチ側に変更する。これにより、次回の有負荷運転状態からアイドル運転状態(無負荷運転状態)への移行時に、空気充填量の低下に応じて燃料リッチに設定する目標空燃比が、上記最大低下量に応じて補正(学習)されることになり、エンジン回転数の低下をより一層抑制することができるようになる。
ここで、上記コントロールユニット100によるエンジン10の制御動作について、図6のフローチャートに基づいて説明する。
最初のステップS1で、各種センサより信号を読み込み、次のステップS2で、エンジン10の作動条件が成立しているか否かを判定する。このステップS2の判定がNOであるときには、ステップS3に進んで、エンジン10を停止し、しかる後にリターンする。一方、ステップS2の判定がYESであるときには、ステップS4に進む。
上記ステップS4では、ドライバの加速要求があるか否かを判定する。このステップS4の判定がYESであるときには、ステップS5に進んで、エンジン10を、上記加速要求に対応した有負荷運転状態に制御する。このとき、モータジェネレータ20を、エンジン10に上記所定負荷よりも大きい負荷がかかるような発電状態にする。ステップS5の後はリターンする。一方、ステップS4の判定がNOであるときには、ステップS6に進む。
上記ステップS6では、バッテリ30の充電可能電力Pinが所定値よりも大きいか否かを判定する。このステップS6の判定がYESであるときには、ステップS7に進んで、エンジン10をアイドル運転状態(軽負荷運転状態)に制御する。このとき、モータジェネレータ20を、エンジン10に上記所定負荷以下の軽負荷がかかるような発電状態にする。尚、エンジン10の有負荷運転状態からアイドル運転状態(軽負荷運転状態)への移行時は、上記のように、エンジン回転数が低下しないように、モータジェネレータ20の吸収トルクを調整しながら、有負荷運転状態からアイドル運転状態へ移行させる。ステップS7の後はリターンする。一方、ステップS6の判定がNOであるときには、ステップS8に進む。
上記ステップS8では、エンジン10の有負荷運転状態からアイドル運転状態(無負荷運転状態)への移行が完了しているか否かを判定する。このステップS8の判定がYESであるときには、ステップS9に進んで、エンジン10をアイドル運転状態(無負荷運転状態)に制御する。このとき、モータジェネレータ20を空回り状態にする。ステップS9の後はリターンする。一方、ステップS8の判定がNOであるときには、ステップS10に進んで、有負荷運転状態からアイドル運転状態(無負荷運転状態)への移行制御を実行し、しかる後にリターンする。
上記ステップS10の移行制御の詳細な制御動作について、図7のフローチャートに基づいて説明する。
最初のステップS21で、スロットル弁16の開度を最小開度にする。このとき、モータジェネレータ20の吸収トルクを0にする。これにより、このステップS21の直前の状態が、上記加速要求に対応した有負荷運転状態にある場合には、ステップS21で(つまり移行制御の開始と同時に)、スロットル弁16の開度が一気に最小開度になる。また、モータジェネレータ20の吸収トルクが一気に0になる。ステップS21の直前の状態が、既に上記移行制御が開始されていて移行途中の状態である場合には、スロットル弁16の開度が最小開度に維持されることになる。また、モータジェネレータ20の吸収トルクが0に維持されることになる。
次のステップS22では、上記移行制御の開始から第1所定時間が経過したか否かを判定する。このステップS22の判定がNOであるときには、ステップS23に進む一方、ステップS22の判定がYESであるときには、ステップS27に進む。
上記ステップS23では、エアフローセンサ108により検出される空気充填量Ceと回転角センサ104により検出されるエンジン回転数Neとに基づいて、第1目標空燃比マップから目標空燃比(目標空気過剰率λ)を設定し、次のステップS24で、その目標空燃比(及び空気充填量Ce)から燃料噴射量Qfを算出する。
次のステップS25で、燃料噴射量Qfに対して上記の如くフィードバック補正した燃料噴射量Qf′を算出し、次のステップS26で、その算出した燃料噴射量Qf′でもって燃料噴射を行い、しかる後にリターンする。
上記ステップS22の判定がYESであるときに進むステップS27では、アイドル運転制御に切り換えて、回転角センサ104により検出されるエンジン回転数Neに基づいて、第2目標空燃比マップから目標空燃比(目標空気過剰率λ)を設定し、次のステップS28で、その目標空燃比(及び空気充填量Ceの最小値)から燃料噴射量Qfを算出する。
次のステップS29では、燃料噴射量Qfに対してフィードバック補正した燃料噴射量Qf′を算出し、次のステップS30で、アイドル運転制御の開始から第2所定時間が経過したか否かを判定する。このステップS30の判定がYESであるときには、ステップS31に進んで、その算出した燃料噴射量Qf′でもって燃料噴射を行い、しかる後にリターンする。一方、ステップS30の判定がNOであるときには、ステップS32に進む。
上記ステップS32では、上記算出した燃料噴射量Qf′が所定の下限値Qf0よりも小さいか否かを判定する。このステップS32の判定がNOであるときには、ステップS33に進む一方、ステップS32の判定がYESであるときには、ステップS34に進む。
上記ステップS33では、上記燃料噴射量Qfでもって燃料噴射を行い、しかる後にリターンする。上記ステップS34では、上記所定の下限値Qf0でもって燃料噴射を行い、しかる後にリターンする。
したがって、本実施形態では、エンジン10を有負荷運転状態からアイドル運転状態へ移行させる際において、バッテリ30の充電可能電力Pinが上記所定値よりも大きいときには、エンジン回転数が低下しないように、モータジェネレータ20の吸収トルクを調整しながら、有負荷運転状態からアイドル運転状態へ移行させる一方、充電可能電力Pinが上記所定値以下であるときには、モータジェネレータ20の吸収トルクを、有負荷運転状態の吸収トルクから一気に0にするとともに、エンジン10への空気充填量を低下させかつ エアフローセンサ108により検出される空気充填量の低下に応じてエンジン10の目標空燃比を燃料リッチに設定することで、エンジン回転数の低下を抑制しながら有負荷運転状態からアイドル運転状態へ移行させるようにしたので、バッテリ30の充電可能電力Pinを超えた電力をバッテリ30に充電するのを抑制しつつ、エンジン回転数の低下を出来る限り抑制することができる。すなわち、充電可能電力Pinが上記所定値よりも大きいときには、モータジェネレータ20の吸収トルクを徐々に低下させることで、エンジン回転数の低下を容易に防止することができるとともに、モータジェネレータ20の吸収トルクを徐々に低下させる際のモータジェネレータ20による発電電力がバッテリ30に充電されても、充電可能電力Pinを超えた電力がバッテリ30に充電される可能性は低い。
一方、充電可能電力Pinが上記所定値以下であるときには、モータジェネレータ20の吸収トルクを、有負荷運転状態の吸収トルクから一気に0にすることで、充電可能電力Pinを超えた電力がバッテリ30に充電されるのを防止することができる。このとき、エンジン10の負荷が急激になくなるとともに、負荷がなくなることに対応してエンジン10への空気充填量を低下させるので、エンジン回転数が大きく低下しようとする。しかし、本実施形態では、空気充填量の低下に応じてエンジン10の目標空燃比を燃料リッチに設定し、しかも、上記特定制御で燃料噴射量を所定の下限値以上にするので、エンジン回転数が大きく低下するのを抑制することができる。
本発明は、上記実施形態に限られるものではなく、請求の範囲の主旨を逸脱しない範囲で代用が可能である。
例えば、上記実施形態では、エンジン10を、水素を燃料とするロータリピストンエンジンとしたが、往復動エンジンであってもよく、水素以外の燃料(例えばガソリン)を用いるエンジンであってもよい。
上述の実施形態は単なる例示に過ぎず、本発明の範囲を限定的に解釈してはならない。本発明の範囲は請求の範囲によって定義され、請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。