図1は、本発明の一実施例としてのハイブリッド自動車20の構成の概略を示す構成図であり、図2は、エンジン22の構成の概略を示す構成図である。実施例のハイブリッド自動車20は、図示するように、ガソリンや軽油などを燃料として動力を出力する複数気筒(例えば、4気筒や6気筒,8気筒など)のエンジン22と、エンジン22を駆動制御するエンジン用電子制御ユニット(以下、エンジンECUという)24と、エンジン22のクランクシャフト26にキャリアが接続されると共に駆動輪38a,38bにデファレンシャルギヤ37を介して連結された駆動軸36にリングギヤが接続されたシングルピニオン式のプラネタリギヤ30と、例えば同期発電電動機として構成されて回転子がプラネタリギヤ30のサンギヤに接続されたモータMG1と、例えば同期発電電動機として構成されて回転子が駆動軸36に接続されたモータMG2と、モータMG1,MG2を駆動するためのインバータ41,42と、インバータ41,42の図示しないスイッチング素子をスイッチング制御することによってモータMG1,MG2を駆動制御するモータ用電子制御ユニット(以下、モータECUという)40と、例えばリチウムイオン二次電池として構成されてインバータ41,42を介してモータMG1,MG2と電力をやりとりするバッテリ50と、バッテリ50を管理するバッテリ用電子制御ユニット(以下、バッテリECUという)52と、車両全体を制御するハイブリッド用電子制御ユニット(以下、HVECUという)70と、を備える。
エンジン22は、図2に示すように、エアクリーナ122により清浄された空気をスロットルバルブ124を介して吸入すると共に燃料噴射弁126から燃料を噴射して吸入された空気と燃料とを混合し、この混合気を吸気バルブ128を介して燃焼室に吸入し、点火プラグ130による電気火花によって爆発燃焼させて、そのエネルギにより押し下げられるピストン132の往復運動をクランクシャフト26の回転運動に変換する。エンジン22からの排気は、一酸化炭素(CO)や炭化水素(HC),窒素酸化物(NOx)の有害成分を浄化する浄化触媒(三元触媒)134aを有する浄化装置134を介して外気へ排出されると共に排気を吸気に還流する排気再循環装置(以下、「EGR(Exhaust Gas Recirculation)システム」という)160を介して吸気管125に供給される。EGRシステム160は、エンジン22の排気管133における浄化装置134より下流側と吸気管125とを連絡し排気を吸気管125のサージタンクに供給するためのEGR管162と、EGR管162に配置されたEGRバルブ164と、を備える。このEGRシステム160は、EGRバルブ164の開度を調節することにより、不燃焼ガスとしての排気の還流量を調節して吸気管125に還流する。エンジン22は、こうして空気と排気とガソリンとの混合気を燃焼室に吸引することができるようになっている。以下、エンジン22の排気を吸気管125に還流することをEGRといい、エンジン22の排気管133から吸気管125に環流する排気をEGRガスといい、そのEGRガスの流量をEGR量という。
エンジンECU24は、図示しないが、CPUを中心とするマイクロプロセッサとして構成されており、CPUの他に、処理プログラムを記憶するROMやデータを一時的に記憶するRAM,入出力ポート,通信ポートを備える。エンジンECU24には、エンジン22の状態を検出する種々のセンサからの信号、例えば、クランクシャフト26の回転位置を検出するクランクポジションセンサ140からのクランクポジションθcrやエンジン22の冷却水の温度を検出する水温センサ142からの冷却水温Tw,燃焼室内に取り付けられた圧力センサからの筒内圧力Pin,燃焼室へ吸排気を行なう吸気バルブ128や排気バルブを開閉するカムシャフトの回転位置を検出するカムポジションセンサ144からのカム角θca,スロットルバルブ124のポジションを検出するスロットルバルブポジションセンサ146からのスロットル開度TH,吸気管に取り付けられたエアフローメータ148からの吸入空気量Qa,同じく吸気管125に取り付けられた温度センサ149からの吸気温Ta,吸気管125内の圧力を検出する圧力センサからの吸気圧Pa,シリンダブロックに取り付けられてノッキングの発生に伴って生じる振動を検出するノックセンサ159からのノック信号Ks,浄化装置134の浄化触媒134aの温度を検出する温度センサ134bからの触媒温度Tc,排気管133における浄化装置134より上流側に取り付けられた空燃比センサ135aからの空燃比AF,排気管133における浄化装置134より下流側に取り付けられた酸素センサ135bからの酸素信号O2,EGRバルブ164の開度を検出するEGRバルブ開度センサ165からのEGRバルブ開度EVなどが入力ポートを介して入力されている。また、エンジンECU24からは、エンジン22を駆動するための種々の制御信号、例えば、燃料噴射弁126への駆動信号や、スロットルバルブ124のポジションを調節するスロットルモータ136への駆動信号,イグナイタと一体化されたイグニッションコイル138への制御信号,吸気バルブ128の開閉タイミングを変更可能な可変バルブタイミング機構150への制御信号,EGRバルブ164の開度を調節するステッピングモータ163への制御信号などが出力ポートを介して出力されている。エンジンECU24は、HVECU70と通信しており、HVECU70からの制御信号によりエンジン22を運転制御すると共に必要に応じてエンジン22の運転状態に関するデータを出力する。なお、エンジンECU24は、クランクポジションセンサ140からのクランクポジションθcrに基づいてクランクシャフト26の回転数即ちエンジン22の回転数Neを演算したり、エアフローメータ148からの吸入空気量Qaとエンジン22の回転数Neとに基づいてエンジン22の負荷としての体積効率(エンジン22の1サイクルあたりの行程容積に対する1サイクルで実際に吸入される空気の容積の比)KLを演算したり、クランクポジションセンサ140からのクランク角θcrに対するカムポジションセンサ144からの吸気バルブ128のインテークカムシャフトのカム角θciの角度(θci−θcr)に基づいて吸気バルブ128の開閉タイミングVTを演算したり、ノックセンサ159からのノック信号Ksの大きさや波形に基づいてノッキングの発生レベルを示すノック強度Krを演算したり、エアフローメータ148からの吸入空気量QaとEGRバルブ開度センサ165からのEGRバルブ開度EVとエンジン22の回転数Neとに基づいてEGR量とエンジン22の吸入空気量Qaとの和に対するEGR量の比率としてのEGR率を演算したりしている。
モータECU40は、図示しないが、CPUを中心とするマイクロプロセッサとして構成されており、CPUの他に、処理プログラムを記憶するROMやデータを一時的に記憶するRAM,入出力ポート,通信ポートを備える。モータECU40には、モータMG1,MG2を駆動制御するために必要な信号、例えばモータMG1,MG2の回転子の回転位置を検出する回転位置検出センサ43,44からの回転位置θm1,θm2や図示しない電流センサにより検出されるモータMG1,MG2に印加される相電流などが入力ポートを介して入力されており、モータECU40からは、インバータ41,42の図示しないスイッチング素子へのスイッチング制御信号などが出力ポートを介して出力されている。また、モータECU40は、HVECU70と通信しており、HVECU70からの制御信号によってモータMG1,MG2を駆動制御すると共に必要に応じてモータMG1,MG2の運転状態に関するデータをHVECU70に出力する。なお、モータECU40は、回転位置検出センサ43,44からのモータMG1,MG2の回転子の回転位置θm1,θm2に基づいてモータMG1,MG2の回転角速度ωm1,ωm2や回転数Nm1,Nm2も演算している。
バッテリECU52は、図示しないが、CPUを中心とするマイクロプロセッサとして構成されており、CPUの他に、処理プログラムを記憶するROMやデータを一時的に記憶するRAM,入出力ポート,通信ポートを備える。バッテリECU52には、バッテリ50を管理するのに必要な信号、例えば、バッテリ50の端子間に設置された電圧センサ51aからの端子間電圧Vbやバッテリ50の出力端子に接続された電力ラインに取り付けられた電流センサ51bからの充放電電流Ib,バッテリ50に取り付けられた温度センサ51cからの電池温度Tbなどが入力されており、必要に応じてバッテリ50の状態に関するデータを通信によりHVECU70に送信する。また、バッテリECU52は、バッテリ50を管理するために、電流センサ51bにより検出された充放電電流Ibの積算値に基づいてそのときのバッテリ50から放電可能な電力の容量の全容量に対する割合である蓄電割合SOCを演算したり、演算した蓄電割合SOCと電池温度Tbとに基づいてバッテリ50を充放電してもよい許容入出力電力である入出力制限Win,Woutを演算したりしている。なお、バッテリ50の入出力制限Win,Woutは、電池温度Tbに基づいて入出力制限Win,Woutの基本値を設定し、バッテリ50の蓄電割合SOCに基づいて出力制限用補正係数と入力制限用補正係数とを設定し、設定した入出力制限Win,Woutの基本値に補正係数を乗じることにより設定することができる。
HVECU70は、図示しないが、CPUを中心とするマイクロプロセッサとして構成されており、CPUの他に、処理プログラムを記憶するROMやデータを一時的に記憶するRAM,入出力ポート,通信ポートを備える。HVECU70には、イグニッションスイッチ80からのイグニッション信号やシフトレバー81の操作位置を検出するシフトポジションセンサ82からのシフトポジションSP,アクセルペダル83の踏み込み量を検出するアクセルペダルポジションセンサ84からのアクセル開度Acc,ブレーキペダル85の踏み込み量を検出するブレーキペダルポジションセンサ86からのブレーキペダルポジションBP,車速センサ88からの車速Vなどが入力ポートを介して入力されている。HVECU70は、前述したように、エンジンECU24やモータECU40,バッテリECU52と通信ポートを介して接続されており、エンジンECU24やモータECU40,バッテリECU52と各種制御信号やデータのやりとりを行なっている。
こうして構成された実施例のハイブリッド自動車20では、運転者によるアクセルペダルの踏み込み量に対応するアクセル開度Accと車速Vとに基づいて駆動軸36に出力すべき要求トルクTr*を計算し、この要求トルクTr*に対応する要求動力が駆動軸36に出力されるように、エンジン22とモータMG1とモータMG2とが運転制御される。エンジン22とモータMG1とモータMG2との運転制御としては、要求動力に見合う動力がエンジン22から出力されるようにエンジン22を運転制御すると共にエンジン22から出力される動力のすべてがプラネタリギヤ30とモータMG1とモータMG2とによってトルク変換されて駆動軸36に出力されるようモータMG1およびモータMG2を駆動制御するトルク変換運転モードや、要求動力とバッテリ50の充放電に必要な電力との和に見合う動力がエンジン22から出力されるようにエンジン22を運転制御すると共にバッテリ50の充放電を伴ってエンジン22から出力される動力の全部またはその一部がプラネタリギヤ30とモータMG1とモータMG2とによるトルク変換を伴って要求動力が駆動軸36に出力されるようモータMG1およびモータMG2を駆動制御する充放電運転モード,エンジン22の運転を停止してモータMG2からの要求動力に見合う動力を駆動軸36に出力するよう運転制御するモータ運転モードなどがある。なお、トルク変換運転モードと充放電運転モードとは、いずれもエンジン22の運転を伴って要求動力が駆動軸36に出力されるようエンジン22とモータMG1とモータMG2とを制御するモードであり、実質的な制御における差異はないため、以下、両者を合わせてエンジン運転モードという。
エンジン運転モードでは、HVECU70は、アクセルペダルポジションセンサ84からのアクセル開度Accと車速センサ88からの車速Vとに基づいて走行に要求される要求トルクTr*を設定し、設定した要求トルクTr*に駆動軸36の回転数Nr(例えば、モータMG2の回転数Nm2や車速Vに換算係数を乗じて得られる回転数)を乗じて走行に要求される走行用パワーPdrv*を計算し、計算した走行用パワーPdrv*からバッテリ50の蓄電割合SOCに基づくバッテリ50の充放電要求パワーPb*(バッテリ50から放電するときが正の値)を減じて車両に要求される要求パワーPe*を設定する。そして、要求パワーPe*を効率よくエンジン22から出力することができるエンジン22の回転数NeとトルクTeとの関係としての動作ライン(例えば燃費最適動作ライン)を用いてエンジン22の目標回転数Ne*と目標トルクTe*の仮の値としての仮回転数Netmpと仮トルクTetmpとを設定し、仮回転数Netmpが下限回転数Nemin以上のときには、仮回転数Netmpと仮トルクTetmpとを目標回転数Ne*と目標トルクTe*とに設定し、仮回転数Netmpが下限回転数Nemin未満のときには、下限回転数Neminを目標回転数Ne*に設定すると共に下限回転数Neminで要求パワーPe*を除して目標トルクTe*を設定する。なお、エンジン22の下限回転数Neminの設定処理については後述するが、通常時には、エンジン22を安定して運転することができるエンジン22の回転数範囲の下限(例えば、動作ラインの下限回転数やそれより若干低い回転数など)として定められた回転数Ne1(例えば、1000rpmや1100rpmなど)を設定するものとした。即ち、通常時には、仮回転数Netmpが下限回転数Nemin以上となり、仮回転数Netmpと仮トルクTetmpとを目標回転数Ne*と目標トルクTe*とに設定する。そして、バッテリ50の入出力制限Win,Woutの範囲内で、エンジン22の回転数Neが目標回転数Ne*となるようにするための回転数フィードバック制御によってモータMG1から出力すべきトルクとしてのトルク指令Tm1*を設定すると共にモータMG1をトルク指令Tm1*で駆動したときにプラネタリギヤ30を介して駆動軸36に作用するトルクを要求トルクTr*から減じてモータMG2のトルク指令Tm2*を設定し、設定した目標回転数Ne*と目標トルクTe*とについてはエンジンECU24に送信し、トルク指令Tm1*,Tm2*についてはモータECU40に送信する。目標回転数Ne*と目標トルクTe*とを受信したエンジンECU24は、目標回転数Ne*と目標トルクTe*とからなる運転ポイントでエンジン22が運転されるよう、スロットルバルブ124の開度を調節することによって吸入空気量を調節する吸入空気量制御や、燃料噴射弁126からの燃料噴射量を調節する燃料噴射制御,点火プラグ130による点火時期を制御する点火制御,吸気バルブ128の開閉タイミングを制御する吸気バルブタイミング可変制御,EGRバルブ164の開度を調節することによってEGR量を調節するEGR制御などを行なう。また、トルク指令Tm1*,Tm2*を受信したモータECU40は、トルク指令Tm1*,Tm2*でモータMG1,MG2が駆動されるようインバータ41,42のスイッチング素子のスイッチング制御を行なう(モータMG1,MG2を制御する)。こうした制御により、エンジン22を効率よく運転しながらバッテリ50の入出力制限Win,Woutの範囲内で要求トルクTr*(走行用パワーPdrv*)を駆動軸36に出力して走行することができる。このエンジン運転モードでは、エンジン22の要求パワーPe*がエンジン22を効率よく運転することができる要求パワーPe*の範囲の下限付近の値として定められた閾値Pref以下に至ったときなどに、エンジン22の停止条件が成立したと判断し、エンジン22の運転を停止してモータ運転モードに移行する。
モータ運転モードでは、HVECU70は、アクセル開度Accと車速Vとに基づいて要求トルクTr*を設定し、モータMG1のトルク指令Tm1*に値0を設定する共にバッテリ50の入出力制限Win,Woutの範囲内で要求トルクTr*が駆動軸36に出力されるようモータMG2のトルク指令Tm2*を設定してモータECU40に送信する。そして、トルク指令Tm1*,Tm2*を受信したモータECU40は、モータMG1,MG2がトルク指令Tm1*,Tm2*で駆動されるようインバータ41,42のスイッチング素子のスイッチング制御を行なう。こうした制御により、エンジン22を運転停止した状態でバッテリ50の入出力制限Win,Woutの範囲内で要求トルクTr*(走行用パワーPdrv*)を駆動軸36に出力して走行することができる。このモータ運転モードでは、エンジン運転モードと同様に計算した要求パワーPe*が閾値Pref以上に至ったときなどに、エンジン22の始動条件が成立したと判断し、エンジン22を始動してエンジン運転モードに移行する。
また、実施例のハイブリッド自動車20では、HVECU70は、温度センサ134bからエンジンECU24を介して入力される触媒温度Tcが浄化触媒134aの活性化温度Tcact(例えば、400℃や420℃,450℃など)未満のときには、触媒暖機要求がなされていると判断し、エンジン運転モードやモータ運転モードと同様に、要求トルクTr*や走行用パワーPdrv*を設定する。そして、計算した走行用パワーPdrv*をバッテリ50の出力制限Woutと比較し、走行用パワーPdrv*がバッテリ50の出力制限Wout以下の触媒暖機小パワー要求時には、通常時の下限回転数Nemin(回転数Ne1)以上の回転数として定められた触媒暖機用の回転数Ncatw(例えば、1400rpmや1500rpmなど)と値0より若干大きなトルクとして定められた触媒暖機用のトルクTcatwとをエンジン22の目標回転数Ne*と目標トルクTe*とに設定し、エンジン運転モードと同様にモータMG1,MG2のトルク指令Tm1*,Tm2*を設定し、設定したエンジン22の目標回転数Ne*や目標トルクTe*,モータMG1,MG2のトルク指令Tm1*,Tm2*をエンジンECU24やモータECU40に送信する。一方、走行用パワーPdrv*がバッテリ50の出力制限Woutより大きい触媒暖機大パワー要求時には、走行用パワーPdrv*とバッテリ50の出力制限Woutとの差分のパワー(Pdrv*−Wout)を要求パワーPe*として用いてエンジン運転モードと同様にエンジン22の目標回転数Ne*や目標トルクTe*,モータMG1,MG2のトルク指令Tm1*,Tm2*を設定してエンジンECU24やモータECU40に送信する。そして、目標回転数Ne*と目標トルクTe*とを受信したエンジンECU24は、目標回転数Ne*と目標トルクTe*とからなる運転ポイントでエンジン22が運転されるようエンジン22の吸入空気量制御や燃料噴射制御,点火制御,吸気バルブタイミング可変制御,EGR制御などを行なう。なお、エンジン22の点火時期については、浄化触媒134aを暖機を促進させるために、エンジン22を効率よく運転するための点火時期より遅く且つ触媒暖機に適した点火時期を用いるものとした。これは、燃焼を緩慢なものとして燃焼エネルギのうち熱エネルギとして排気管133に排出されるエネルギを大きくすることによって浄化触媒134aの暖機を促進させるためである。また、トルク指令Tm1*,Tm2*を受信したモータECU40は、トルク指令Tm1*,Tm2*でモータMG1,MG2が駆動されるようインバータ41,42のスイッチング素子のスイッチング制御を行なう。こうした制御により、走行用パワーPdrv*がバッテリ50出力制限Wout以下のときには、浄化触媒134aの暖機を促進させながら要求トルクTr*(走行用パワーPdrv*)を駆動軸36に出力して走行することができ、走行用パワーPdrv*がバッテリ50の出力制限Woutより大きいときには、走行用パワーPdrv*をエンジン22から出力するものに比してエミッションの悪化を抑制しながら要求トルクTr*(走行用パワーPdrv*)を駆動軸36に出力して走行することができる。
さらに、実施例のハイブリッド自動車20では、要求パワーPe*が閾値Pref未満であり触媒温度Tcが活性化温度Tcact以上であるが、図示しない空調装置による暖房要求がなされているときなどには、エンジン22の無負荷運転(アイドル運転)要求がなされていると判断し、通常時の下限回転数Nemin(回転数Ne1)以上の回転数として定められた無負荷運転(アイドル運転)用の回転数Nidl(例えば1100rpmや1200rpmなど)をエンジン22の目標回転数Ne*に設定すると共に値0をエンジン22の目標トルクTe*に設定し、モータ運転モードと同様にモータMG1,MG2のトルク指令Tm1*,Tm2*を設定し、設定したエンジン22の目標回転数Ne*や目標トルクTe*,モータMG1,MG2のトルク指令Tm1*,Tm2*をエンジンECU24やモータECU40に送信する。そして、目標回転数Ne*と目標トルクTe*とを受信したエンジンECU24は、目標回転数Ne*と目標トルクTe*とからなる運転ポイントでエンジン22が運転されるようエンジン22の吸入空気量制御や燃料噴射制御,点火制御,吸気バルブタイミング可変制御,EGR制御などを行なう。また、トルク指令Tm1*,Tm2*を受信したモータECU40は、トルク指令Tm1*,Tm2*でモータMG1,MG2が駆動されるようインバータ41,42のスイッチング素子のスイッチング制御を行なう。
次に、こうして構成された実施例のハイブリッド自動車20の動作、特に、エンジン22の下限回転数Neminを設定する際の動作について説明する。図3は、実施例のHVECU70により実行される下限回転数設定処理の一例を示すフローチャートである。このルーチンは、繰り返し実行される。
下限回転数設定処理が実行されると、HVECU70は、まず、エンジン22の気筒間のトルク差である気筒間トルク差Dteや、ダンパ28のねじれ角θd,負荷運転フラグFeなどのデータを入力する(ステップS100)。ここで、ダンパ28のねじれ角θdは、モータMG1,MG2の回転数Nm1,Nm2とプラネタリギヤ30のギヤ比ρとを用いて次式(1)によりプラネタリギヤ30のキャリアの回転数Ncを計算し、式(2)に示すように、計算したキャリアの回転数Ncをエンジン22の回転数Neから減じて得られる値を積分して計算した値を入力するものとした。図4は、エンジン22を運転しているときのプラネタリギヤ30の回転要素における回転数の関係を示す共線図の一例を示す説明図である。図中、左のS軸はモータMG1の回転数Nm1であるサンギヤの回転数Nsを示し、C軸はダンパ28の後段軸の回転数であるキャリアの回転数Ncを示し、R軸はモータMG2の回転数Nm2であるリングギヤの回転数Nrを示す。式(1)は、この共線図を用いれば容易に導くことができる。また、気筒間トルク差Dteは、ダンパ28のねじれ角θdにダンパ28のバネ定数を乗じてエンジン22の各気筒i(iは気筒番号、8気筒の場合には1〜8)のトルクTe[i]を計算し、計算した各気筒のトルクTe[i]の最大値と最小値との差分として計算した値を入力するものとした。なお、ダンパ28のねじれ角θdを用いてエンジン22の各気筒iのトルクTe[i]を計算するのは、エンジン22側からキャリア側に作用するトルクは基本的にはダンパ28のねじれに応じてキャリア側に作用するトルクに相当すると考えられる、との理由に基づく。さらに、負荷運転フラグFeは、エンジン22が負荷運転されているとき(エンジン運転モードでの運転時や触媒温度Tcが浄化触媒134aの活性化温度Tcact未満での運転時)に値1が設定され、エンジン22が無負荷運転(アイドル運転)されているときに値0が設定されたものをエンジンECU24から通信により入力するものとした。
Nc=(ρ・Nm1+Nm2)/(1+ρ) (1)
θd=2π・∫(Ne-Nc)dt (2)
こうしてデータを入力すると、入力した負荷運転フラグFeの値を調べ(ステップS110)、負荷運転フラグFeが値1のときには、エンジン22が負荷運転(触媒暖機運転を含む)されていると判断し、エンジン22のいずれかの気筒で失火が生じてるか否かを判定するのに用いる閾値Dterefに所定値Dte1(例えば、50Nmや60Nmなど)を設定すると共に(ステップS120)、エンジン22の失火に基づくダンパ28の共振が生じているか否かを判定するのに用いる閾値θdrefに所定値θderf1(例えば、8CAや9CAなど)を設定する(ステップS130)。
一方、負荷運転フラグFeが値0のときには、エンジン22が無負荷運転(アイドル運転)されていると判断し、閾値Dterefに所定値Dte1より小さな所定値Dte2(例えば、10Nmや15Nmなど)を設定すると共に(ステップS140)、閾値θdrefに所定値θd1より小さな所定値θd2(例えば、7CAや8CAなど)を設定する(ステップS150)。
ここで、閾値Dterefや閾値θdrefについて説明する。一般に、冷間時にエンジン22の燃料噴射弁126の噴射口の一部に氷が付着していたり、冷間時や常温時にEGRシステム160のEGR管162に氷や水が付着(貯留)していたりする場合がある。したがって、この状態でエンジン22を始動して運転すると、燃料噴射弁126の噴射口の一部が氷の付着などによって塞がれていることによって燃料噴射弁126から十分な燃料が噴射されなかったり、EGRシステム160のEGR管162内の氷や水が吸気管125を介して燃焼室に吸入されることによって燃焼が不安定となったりして、エンジン22のいずれかの気筒で失火が生じる場合がある。こうして失火が生じると、エンジン22の気筒間トルク差Dteが大きくなり、エンジン22の回転数Neによってはダンパ28の共振によって後段(プラネタリギヤ30側)の回転変動が更に大きくなり、プラネタリギヤ30などで歯打ち音などの異音が発生することがある。閾値Dterefや閾値θdrefは、エンジン22のいずれの気筒での失火に基づくダンパ28の共振である失火共振が生じているか否かを判定するために用いられるものである。この閾値Dterefや閾値θdrefについて、エンジン22を負荷運転(触媒暖機運転を含む)しているときに、エンジン22を無負荷運転しているときに比してを大きな値とするのは、前者の場合に、後者の場合に比して正常気筒(燃焼が行なわれている気筒)と失火気筒(失火している気筒)とのトルク差が大きくなりやすく、ダンパ28の共振によってねじれが大きくなりやすい、との理由に基づく。
続いて、エンジン22の始動完了時に初期値として値0が設定されると共にエンジン22の下限回転数Neminを通常時に比して上昇させているときに値1が設定される下限値上昇フラグFnの値を調べ(ステップS160)、下限値上昇フラグFnが値0のときには、気筒間トルク差Dteを閾値Dterefと比較すると共に(ステップS170)、ダンパ28のねじれ角θdを閾値θdrefと比較する(ステップS180)。
気筒間トルク差Dteが閾値Dteref未満のときや、ダンパ28のねじれ角θdが閾値θdref未満のときには、失火共振は生じていないと判断し、エンジン22の下限回転数Neminに回転数Ne1(例えば、1000rpmや1100rpmなど)を設定すると共に(ステップS190)、下限値上昇フラグFnに値0を設定して(ステップS200)、本ルーチンを終了する。この場合、エンジン運転モードや触媒暖機大パワー要求での負荷運転時には、仮回転数Netmpと仮トルクTetmpとを目標回転数Ne*と目標トルクTe*とに設定し、触媒暖機小パワー要求での負荷運転時には、触媒暖機用の回転数NcatwとトルクTcatwとを目標回転数Ne*と目標トルクTe*とに設定し、無負荷運転時には、無負荷運転(アイドル運転)用の回転数Nidlと値0とを目標回転数Ne*と目標トルクTe*とに設定することになる。したがって、エンジン22が回転数Ne1以上の回転数で負荷運転(触媒暖機運転を含む)や無負荷運転されながら要求トルクTr*によって走行するようエンジン22とモータMG1,MG2とを制御することになる。
気筒間トルク差Dteが閾値Dteref以上で且つダンパ28のねじれ角θdが閾値θdref以上のときには、失火共振が生じていると判断し、エンジン22の下限回転数Neminに回転数Ne1より大きな回転数Ne2(例えば、1600rpmや1700rpmなど)を設定すると共に(ステップS210)、下限値上昇フラグFnに値1を設定して(ステップS220)、本ルーチンを終了する。ここで、回転数Ne2は、エンジン22を負荷運転しているか無負荷運しているかに拘わらずダンパ28で共振が生じない程度の回転数範囲の下限値を実験や解析などによって定めて用いることができる。下限回転数Neminを回転数Ne1から回転数Ne2に変更する直前(失火共振が発生していると判断する直前)には、エンジン22の回転数Neは回転数Ne2未満であると考えられるから、この処理により、エンジン22の回転数Neを回転数Ne2に上昇させることになる。具体的には、エンジン運転モードや触媒暖機大パワー要求での負荷運転時には、仮回転数Netmpが下限回転数Nemin(回転数Ne2)未満となるために下限回転数Neminを目標回転数Ne*に設定すると共に下限回転数Neminで要求パワーPe*を除して目標トルクTe*を設定し、触媒暖機小パワー要求での負荷運転時には、触媒暖機用の回転数Ncatwより大きな下限回転数Nemin(回転数Ne2)と触媒暖機用のトルクTcatwとを目標回転数Ne*と目標トルクTe*とに設定し、無負荷運転時には、無負荷運転(アイドル運転)用の回転数Nidlより大きな下限回転数Nemin(回転数Ne2)と値0とを目標回転数Ne*と目標トルクTe*とに設定することになる。したがって、エンジン22が回転数Ne2で負荷運転(触媒暖機運転を含む)や無負荷運転されながら要求トルクTr*によって走行するようエンジン22とモータMG1,MG2とを制御することになる。これにより、ダンパ28での共振を抑制することができる。この結果、プラネタリギヤ30などでの歯打ち音などの異音を抑制することができる。
こうして下限値上昇フラグFnに値1を設定すると、次回に本ルーチンが実行されたときには、ステップS160で下限値上昇フラグFnが値1であるから、気筒間トルク差Dteを閾値Dterefと比較すると共に(ステップS230)、ダンパ28のねじれ角θdを閾値θdrefと比較する(ステップS240)。
気筒間トルク差Dteが閾値Dteref以上のときやダンパ28のねじれ角θdが閾値θdref以上のときには、失火共振が解消していないと判断し、具体的には、前者の場合にはエンジン22のいずれかの気筒での失火が解消しておらず後者の場合にはダンパ28の共振が解消していないと判断し、エンジン22の下限回転数Neminに回転数Ne2を設定すると共に(ステップS210)、下限値上昇フラグFnに値1を設定して(ステップS220)、本ルーチンを終了する。
気筒間トルク差Dteが閾値Dteref未満で且つダンパ28のねじれ角θdが閾値θdref未満のときには、失火共振が解消したと判断し、エンジン22の下限回転数Neminに回転数Ne1を設定すると共に(ステップS190)、下限値上昇フラグFnに値0を設定して(ステップS200)、本ルーチンを終了する。これにより、エンジン22の下限回転数Neminを回転数Ne2で保持するものに比してエンジン22の燃料消費を抑制することができる。
以上説明した実施例のハイブリッド自動車20によれば、エンジン22を始動して運転する際に、エンジン22の失火に基づくダンパ28の共振である失火共振が生じているときには、失火共振が生じていない通常時の回転数Ne1より大きな回転数Ne2をエンジン22の下限回転数Neminとしてエンジン22が運転されるようエンジン22を制御するから、ダンパ28の共振を抑制することができる。そして、その後に、失火共振が解消すると、エンジン22の下限回転数Neminを回転数Ne2から回転数Ne1に戻すから、エンジン22の下限回転数Neminを回転数Ne2で保持するものに比してエンジン22の燃料消費を抑制することができる。
実施例のハイブリッド自動車20では、失火共振が生じているか否かの判定に、各気筒のトルクTe[i]の最大値と最小値との差分として気筒間トルク差Dteを計算して用いるものとしたが、エンジン22のトルクがクランクシャフト26の2回転(エンジン22の1サイクル)の間で変動することを踏まえて、単純に、クランクシャフト26の2回転におけるエンジン22のトルクTeの最大値と最小値との差分として気筒間トルク差Dteとして計算して用いるものとしてもよい。また、この判定に、気筒間トルク差Dteの所定時間(例えば、1秒や2秒など)の積算値や、各気筒のトルクTe[i]の所定時間(例えば、1秒や2秒など)の積算値Ste[i]の最大値と最小値との差分を用いるものとしてもよい。さらに、この判定に、エンジン22の回転変動Rneや、エンジン22の回転変動Rneの所定時間(例えば、1秒や2秒など)の積算値を用いるものとしてもよい。ここで、エンジン22の回転変動Rneは、例えば、クランクシャフト26の2回転における30度回転所要時間T30の最大値と最小値との差分などを用いることができる。
実施例のハイブリッド自動車20では、失火共振が生じているか否かの判定に、ダンパ28のねじれ角θdを用いるものとしたが、ダンパ28のねじれ角θdの所定時間(例えば、1秒や2秒など)の積算値を用いるものとしてもよい。
実施例のハイブリッド自動車20では、閾値Dterefは、エンジン22を負荷運転(触媒暖機運転を含む)しているときに、無負荷運転しているときに比してを大きな値を用いるものとしたが、こうした傾向に代えて、図5に示すように、エンジン22の始動完了から所定時間tref(例えば、500msecや700msecなど)が経過するまでは所定時間trefが経過した後に比して大きな値を設定するものとしてもよいし、図6に示すように、冷却水温Twや吸気温Taが低いほど大きくなる傾向に設定するものとしてもよいし、図7に示すように、エンジン22を負荷運転しているときに無負荷運転しているときの共振回転数Nre1(例えば1200rpmなど)より大きな共振回転数Nre2(例えば1400rpmなど)で極小となる(共振回転数付近以外では比較的大きな値となると共に共振回転数付近で小さくなり共振回転数で極小となる)よう設定するものとしてもよい。ここで、図5の傾向は、エンジン22の始動直後は始動時用の燃料増量などによって正常気筒と失火気筒とのトルク差が大きくなりやすい、との理由に基づく。こうした傾向に閾値Dterefを設定することにより、誤判定を抑制することができる。なお、図5の傾向に代えて、エンジン22の始動から所定時間trefが経過するまではトルク差Dteと閾値Dterefとの比較を行なわない(判定をマスクする)ものとしてもよい。また、図6の傾向は、冷却水温Twや吸気温Taが低いほどエンジン22のフリクションが大きくなり正常気筒と失火気筒とのトルク差が大きくなりやすい、との理由に基づく。こうした傾向に閾値Dterefを設定することにより、判定をより適正に行なうことができる。さらに、図7の傾向は、共振回転数が負荷運転(回転数Ne2)と無負荷運転(回転数Ne1)とで異なり且つエンジン22の回転数Neが共振回転数付近でないときにはプラネタリギヤ30などで歯打ち音などの異音が連続的に生じる可能性が低い、との理由に基づく。こうした傾向に閾値Dterefを設定することにより、誤判定を抑制して判定をより適正に行なうことができる。この変形例では、閾値Dterefは、実施例の傾向に代えて図5〜図7のいずれかの傾向に設定するものとしたが、実施例や図5〜図7のマップのいくつか又は全てを組み合わせた傾向(例えば、エンジン22を負荷運転しているときに無負荷運転しているときより大きく且つエンジン22の始動完了から所定時間trefが経過するまでは所定時間trefが経過した後より大きくなる傾向など)に設定するものとしてもよい。
実施例のハイブリッド自動車20では、閾値θdrefは、エンジン22を負荷運転(触媒暖機運転を含む)しているときに、無負荷運転しているときに比してを大きな値を用いるものとしたが、こうした傾向に代えて、図5と同様に、エンジン22の始動完了から所定時間tref(例えば、500msecや700msecなど)が経過するまでは所定時間trefが経過した後に比して大きな値を設定するものとしてもよいし、図6と同様に、冷却水温Twや吸気温Taが低いほど大きくなる傾向に設定するものとしてもよいし、図7と同様に、エンジン22を負荷運転しているときに無負荷運転しているときの共振回転数Nre1より大きな共振回転数Nre2で極小となるよう設定するものとしてもよい。図5と同様の傾向に閾値θdrefを設定することにより、誤判定を抑制することができる。なお、図5と同様の傾向に代えて、エンジン22の始動から所定時間trefが経過するまではダンパ28のねじれ角θdと閾値θdrefとの比較を行なわない(判定をマスクする)ものとしてもよい。また、図6と同様の傾向に閾値θdrefを設定することにより、判定をより適正に行なうことができる。さらに、図7と同様の傾向に閾値θdrefを設定することにより、誤判定を抑制して判定をより適正に行なうことができる。この変形例では、閾値θdrefは、実施例の傾向に代えて図5〜図7のいずれかと同様の傾向に設定するものとしたが、実施例や図5〜図7と同様の傾向のいくつか又は全てを組み合わせた傾向(例えば、エンジン22を負荷運転しているときに無負荷運転しているときより大きく且つエンジン22の始動完了から所定時間trefが経過するまでは所定時間trefが経過した後より大きくなる傾向など)に設定するものとしてもよい。
実施例のハイブリッド自動車20では、閾値Dterefや閾値θdrefは、エンジン22を負荷運転(触媒暖機運転を含む)しているときに、エンジン22を無負荷運転しているときに比してを大きな値を用いるものとしたが、エンジン22を負荷運転しているか無負荷運転しているかに拘わらず同一の値を用いるものとしてもよい。また、閾値Dterefや閾値θdrefは、エンジン22が負荷運転しているときのうちエンジン運転モードでの負荷運転時と触媒暖機運転時とで異なる値を用いるものとしてもよいし、触媒暖機運転時のうち始動直後(始動完了から所定時間)と空燃比センサ135aの機能(応答性)判定時とそれ以外とで異なる値を用いるものとしてもよい。
実施例のハイブリッド自動車20では、回転数Ne2は、エンジン22を負荷運転しているか無負荷運しているかに拘わらずダンパ28で共振が生じない程度の回転数範囲の下限値を用いるものとしたが、一般に、エンジン22を負荷運転しているか無負荷運しているかによってダンパ28で共振が生じない程度の回転数範囲の下限値が異なることを考慮して、エンジン22を負荷運転しているか無負荷運しているかに応じて異なる回転数を用いるものとしてもよい。
実施例のハイブリッド自動車20では、特に説明していないが、失火共振が生じてエンジン22の下限回転数Neminを回転数Ne1から回転数Ne2に上昇させてから失火共振が解消するまでの間にエンジン22の停止条件が成立したときには、その停止条件の成立を無視してエンジン22の運転が継続されるようエンジン22を制御するものとしてもよい。こうすれば、エンジン22の燃料噴射弁126に付着している氷やEGRシステム160のEGR管162に付着(貯留)している氷や水による不都合(失火共振)が解消する前にエンジン22を停止するのを抑制することができる(失火共振の要因をより確実に解消することができる)。
実施例のハイブリッド自動車20では、モータMG2からの動力を駆動輪38a,38bに接続された駆動軸36に出力するものとしたが、図8の変形例のハイブリッド自動車120に例示するように、モータMG2からの動力を駆動軸36が接続された車軸(駆動輪38a,38bが接続された車軸)とは異なる車軸(図8における車輪39a,39bに接続された車軸)に出力するものとしてもよい。
実施例のハイブリッド自動車20では、エンジン22からの動力をプラネタリギヤ30を介して駆動輪38a,38bに接続された駆動軸36に出力するものとしたが、図9の変形例のハイブリッド自動車220に例示するように、エンジン22のクランクシャフトにダンパ28を介して接続されたインナーロータ232と駆動軸36に接続されたアウターロータ234とを有しエンジン22からの動力の一部を駆動軸36に伝達すると共に残余の動力を電力に変換する対ロータ電動機230を備えるものとしてもよい。
実施例のハイブリッド自動車20では、エンジン22からの動力をダンパ28やプラネタリギヤ30を介して駆動輪38a,38bに接続された駆動軸36に出力すると共にモータMG2からの動力を駆動軸36に出力するものとしたが、図10の変形例のハイブリッド自動車320に例示するように、駆動輪38a,38bに接続された駆動軸36に変速機330を介してモータMGを接続すると共にモータMGの回転軸にダンパ28を介してエンジン22を接続する構成とし、エンジン22からの動力をダンパ28とモータMGの回転軸と変速機330とを介して駆動軸36に出力すると共にモータMGからの動力を変速機330を介して駆動軸に出力するものとしてもよい。あるいは、図11の変形例のハイブリッド自動車420に例示するように、エンジン22からの動力をダンパ28と変速機430とを介して駆動輪38a,38bに接続された駆動軸36に出力すると共にモータMGからの動力を駆動輪38a,38bが接続された車軸とは異なる車軸(図11における車輪39a,39bに接続された車軸)に出力するものとしてもよい。
実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。実施例では、プラネタリギヤ30が「機械的機構」に相当し、ダンパ28が「ねじれ要素」に相当し、エンジン22が「エンジン」に相当し、モータMG2が「モータ」に相当し、エンジン22の下限回転数Neminを設定する図3の下限回転数設定処理を実行したり、エンジン22が下限回転数Nemin以上の回転数で運転されながら要求トルクTr*(走行用パワーPdrv*)によって走行するようエンジン22の目標回転数Ne*や目標トルクTe*,モータMG1,MG2のトルク指令Tm1*,Tm2*を設定してエンジンECU24やモータECU40に送信したりするHVECU70と、HVECU70からの目標回転数Ne*と目標トルクTe*とに基づいてエンジン22を制御するエンジンECU24と、HVECU70からのトルク指令Tm1*,Tm2*に基づいてモータMG1,MG2を制御するモータECU40と、が「制御手段」に相当する。
ここで、「機械的機構」としては、プラネタリギヤ30(シングルピニオン式のプラネタリギヤ)に限定されるものではなく、ダブルピニオン式のプラネタリギヤや、複数のプラネタリギヤの組み合わせによって構成されたもの,プラネタリギヤ以外のギヤなど、エンジンにねじれ要素を介して接続されたものであれば如何なるタイプの機械的機構であっても構わない。「ねじれ要素」としては、ダンパ28に限定されるものではなく、エンジンに接続されたものであれば如何なるタイプのねじれ要素であっても構わない。「エンジン」としては、ガソリンや軽油などを燃料として動力を出力するエンジン22に限定されるものではなく、如何なるタイプのエンジンであっても構わない。「第2モータ」としては、同期発電電動機として構成されたモータMG2に限定されるものではなく、誘導電動機など、走行用の動力を出力可能なものであれば如何なるタイプのモータであっても構わない。「制御手段」としては、HVECU70とエンジンECU24とモータECU40とからなる組み合わせによって構成されるものに限定されるものではなく、単一の電子制御ユニットによって構成されるものなどとしてもよい。また、「制御手段」としては、エンジン22を始動して運転する際に、エンジン22の失火に基づくダンパ28の共振である失火共振が生じているときには、失火共振が生じていない通常時の回転数Ne1より大きな回転数Ne2をエンジン22の下限回転数Neminとしてエンジン22が運転されるようエンジン22を制御し、その後に、失火共振が解消すると、エンジン22の下限回転数Neminを回転数Ne2から回転数Ne1に戻すものに限定されるものではなく、エンジンを始動して運転する際、エンジンの失火に基づくねじれ要素の共振である失火共振が生じているときには、エンジンの回転数が上昇するようエンジンを制御し、その後に失火共振が解消するとエンジンの回転数が低下するようエンジンを制御するものであれば如何なるものとしても構わない。
なお、実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係は、実施例が課題を解決するための手段の欄に記載した発明を実施するための形態を具体的に説明するための一例であることから、課題を解決するための手段の欄に記載した発明の要素を限定するものではない。即ち、課題を解決するための手段の欄に記載した発明についての解釈はその欄の記載に基づいて行なわれるべきものであり、実施例は課題を解決するための手段の欄に記載した発明の具体的な一例に過ぎないものである。
以上、本発明を実施するための形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。