本発明に係るエンジン制御装置について、好適な実施の形態を掲げ、添付の図面を参照しながら以下、詳細に説明する。
図1は、本実施の形態に係るエンジン制御装置を有する鞍乗型自動二輪車(以下、自動二輪車という)12の概略左側面図である。なお、発明の理解を容易にするために、特に指示のない限り、図1に示す矢印方向を基準として、前後及び上下の方向を説明するとともに、車体に着座した運転者から見た方向を基準として、左右の方向を説明する。
自動二輪車12は、車体を構成する車体フレーム14と、該車体フレーム14の前端部に設けられたヘッドパイプ16に回転自在に軸支される左右一対のフロントフォーク18と、フロントフォーク18に取り付けられる前輪(操舵輪)20と、車体フレーム14に支持される自動二輪車12の駆動源であるエンジン22と、車体フレーム下部のピボット部24に揺動可能に支持されるスイングアーム26と、該スイングアーム26の後端部に取り付けられる後輪(駆動輪)28とを備える。
車体フレーム14は、例えば、高剛性を有するアルミ鋳造性のチューブフレームによって構成されている。車体フレーム14は、ヘッドパイプ16から斜め下方に延びる一対のメインフレーム30と、該メインフレーム30の後部に連接され下方に向かって延出するピボット部24と、該メインフレーム30の後部に取り付けられ後斜め上方に延びる左右一対のシートフレーム32とを有する。
ヘッドパイプ16の前方には、車体の前方を照射するヘッドライト36が設けられている。ヘッドパイプ16の上方には、前輪20を操舵可能なハンドル38が取り付けられ、このハンドル38には、左右一対のバックミラー40が取り付けられている。右側のハンドル38には、自動二輪車12の加速(エンジン回転数IACNEの上昇)を指示する図示しないスロットルグリップが設けられている。
前輪20は、このフロントフォーク18の下端部に回転自在に軸支されており、その側面には、前輪に制動力を与えるブレーキ装置(ディスクブレーキ)20aが装着されている。また、フロントフォーク18の下端部には、前輪20を上方から覆うフロントフェンダ42が取り付けられている。
エンジン22は、例えば、水冷4ストロークV型4気筒エンジンであり、エンジン22は、下端部に配置されるクランクケース44と、4つのシリンダ(気筒)46、46、46、46とを備える。4つのシリンダ46、46、46、46のうち、2つのシリンダ46、46は、該クランクケース44から斜め前上方に向けて左右に延設され、その後方において残りの2つのシリンダ46、46が斜め後上方に向けて左右に延設される。エンジン22は、斜め前方に延設されたシリンダ46、46と斜め後方に延設されたシリンダ46、46とに挟まれた中間部がメインフレーム30に固定支持されるとともに、後部がピボット部24に固定支持されることで、その姿勢が固定される。
シリンダ46、46、46、46の内部には、図示しない点火を行う点火プラグ(点火装置)、及び、ピストンが収納されている(図示略)。一方、クランクケース44の内部には、前記ピストンにコンロッドを介して連結されるクランク軸が軸支されている(図示略)。このエンジン22の回転駆動力は、クランクケース44から後方に延在する図示しないドライブシャフトによって伝達され、ドライブシャフトを介して後輪28に伝達される。
エンジン22の前方には、エンジン22の放熱を行うラジエータ50が配設される。さらに、エンジン22の上方には、燃料タンク52及び吸気装置54が搭載される。吸気装置54は、各シリンダ46、46、46、46に接続される吸気管56、56、56、56と、該吸気管56、56、56、56に接続されるエアクリーナ58とを備える。吸気管56には、シリンダ46、46、46、46に供給する空気量を調整するスロットルバルブ(吸入空気量調整手段)57、57、57、57が設けられている。スロットルバルブ57、57、57、57は、TBW(スロットル・バイ・ワイヤ)方式によって、その開度が調整される。吸気装置54は、取り込んだ空気の埃等をエアクリーナ58によって除去し、該空気を吸気管56、56、56、56を介してシリンダ46、46、46、46に供給する。
一方、エンジン22の下部には、排気装置60が設けられている。排気装置60は、シリンダ46、46、46、46にそれぞれ接続されてクランクケース44の下部を回り込むようにして後ろに伸びる排気チューブ62と、排気チューブ62に連通して後輪28の右側に配置される排気マフラー64とを備え、エンジン22からの排気ガスを排気する機能を有している。
スイングアーム26は、ピボット部24から後方に向かって略水平に延び、その後端部には、後輪28が回転自在に軸支される。後輪28の側面には、後輪28に制動力を与えるブレーキ装置(ディスクブレーキ)28aが装着されている。スイングアーム26の上部には、メインフレーム30とスイングアーム26とを弾性的に接続するリアクッション66が取り付けられている。このリアクッション66は、自動二輪車12の走行時の振動を吸収する機能を有している。
一方、シートフレーム32には、搭乗者(運転者及び同乗者)を載せるシート68が配設されている。シート68は、運転者が着座するフロントシート68a、及びフロントシート68aの後方で同乗者が着座するリアシート68bからなる、いわゆるタンデム型のシートが採用されている。また、シートフレーム32の後部には、後方に延び、その後部下側から斜め下方に延びるリアフェンダ70が取り付けられている。リアフェンダ70には、テールランプユニット72が取り付けられている。テールランプユニット72には、ブレーキランプ72a及び後側ウィンカランプ72bが配設されている。
自動二輪車12には、車体の前後方向に向けて車体の意匠(外観)を構成する車体カバー74が取り付けられている。車体カバー74は、ヘッドライト36の周囲を覆うヘッドライトカバー76と、ヘッドライト36の上部においてスクリーン78を支持するスクリーン支持カバー80と、ハンドル38の前方を覆うハンドルカバー82と、ヘッドライト36の両側面から後方向に延在する左右一対のサイドカウル84とシートフレーム32とともに後上方に伸び、該シートフレーム32の両側面を覆うリアカウル86とを有している。
車体カバー74は、ヘッドライト36及びスクリーン支持カバー80を支持するカウルサポートステー88を備え、このカウルサポートステー88は、メインフレーム30の前部に固定されている。カウルサポートステー88は、ヘッドライト36の後側に配設されるメータユニット90を支持するとともに、その両側面には前側ウィンカランプ92が取り付けられている。参照符号94は、左右一対のメインフレーム30の側面からサイドカウル84を回り込んで前方にそれぞれ延出し、ヘッドライトカバー76の下部に接続されるカウルガードパイプである。
図2は、スロットル・バイ・ワイヤ(Throttle-By-Wire)方式の自動二輪車12に搭載されるエンジン制御装置100の概略構成図である。図2において、V型4気筒のエンジン22を模式的に表している。吸気管56に設けられたスロットルバルブ57は、エンジン22の各シリンダ46に吸入される吸入空気量ICMDを調整する。吸気管56には、スロットルバルブ57を介してエンジン22の各シリンダ46の燃料室(図示略)に流入する空気に燃料を噴射して混合気を生成するインジェクタ(燃料噴射装置)102が設けられ、エンジン22の各シリンダ46には、流入した混合気を点火する点火プラグ104が設けられている。点火プラグ104が点火を行うことで、各シリンダ46の前記燃焼室内にある混合気が燃焼することで、エンジン22は、燃料エネルギーを動力に変換する。
モータ106は、スロットルバルブ57の開度THを調整するものであり、ドライバ108によって駆動される。エンジン22の出力軸であるクランク軸110は、DCT(Dual Clutch Transmission)112を介して後輪28に接続される。DCT(変速機)112は、後輪28に伝達させる動力を変速させるものである。
詳しくは、DCT112は、奇数段のギアセット(例えば、1速ギア段、3速ギア段、5速ギア段)と偶数段のギアセット(例えば、2速ギア段、4速ギア段、6速ギア段)とを2つのクラッチで切り替えるトランスミッションであり、前記2つのクラッチを交互に繋ぎ変えることで瞬時に変速を行う。例えば、現在接続されているギアポジションが3速ギア段の場合には、2速ギア段又は4速ギア段が待機している状態となり、他方のクラッチに切り替えることで瞬時に変速を行うことができる。接続させるギア段を変えることでDCT112の変速比が変わる。1速ギア段が最も変速比が高く、6速ギア段が最も変速比が低い。
エンジン制御装置100は、自動二輪車12のハンドル38に設けられた図示しないスロットルグリップ(アクセルグリップ)の開度を検出するスロットル開度センサ(スロットル開度検出手段)114と、スロットルバルブ57の開度(スロットル開度)THを検出するスロットルバルブ開度センサ(スロットルバルブ開度検出手段)116と、エンジン22の図示しない冷却水又は潤滑油の温度(水温又は油温)TWを検出する水温又は油温センサ(水温検出手段又は油温検出手段)118と、エンジン22のクランク軸110の回転数(エンジン回転数)IACNEを検出する回転数センサ(回転数検出手段)120とを有する。スロットル開度センサ114、スロットルバルブ開度センサ116、水温又は油温センサ118、及び回転数センサ120が検出した信号は、ECU(制御部)122に送られる。この各種センサは、所定の周期で検出を行う。
ECU122は、上記各種センサによって検出された検出信号に基づいて、各スロットル開度TH、各インジェクタ102の燃料噴射量や噴射タイミングを制御するとともに、各点火プラグ104の点火時期を制御して、エンジン22のエンジン回転数IACNEを制御する。また、ECU122は、スロットルグリップの開度に応じてスロットル開度THを制御する。
特に、ECU122は、前記スロットルグリップの操作が行われていないときに(前記スロットルグリップの開度が0のときに)、つまり、アイドル状態のときに、エンジン回転数IACNEがアイドル回転数NOBJとなるようにスロットルバルブ57をフィードバック制御するアイドルフィードバック制御を実行する。また、ECU122は、アイドルフィードバック制御の実行条件が成立していない場合、アイドル状態時にエンジン回転数IACNEが目標アイドル回転数NOBJに到達した場合は、エンジン22の水温又は油温に応じて吸入空気量ICMDを減少させるようにスロットルバルブ57を制御するアイドル制御を実行する。その他、ECU122は、各センサが異常の場合、エンジン22がクランキング中の場合に、エンジン22の水温又は油温に応じて吸入空気量ICMDを減少させるようにスロットルバルブ57を制御するアイドルフェイルセーフ制御、アイドル始動制御を実行する。
記憶部124は、ECU122の制御に必要なプログラム、及びデータ(始動時の値ITWS、通常時の値ITWA等)が記憶されているとともに、ECU122のワーキングメモリとしても使用される。また、記憶部124には、水温又は油温TWに応じて吸入空気量ICMDの下限値ICMDLMLが格納された下限値テーブルと、水温又は油温TWに応じて吸入空気量ICMDの上限値ICMDLMHが格納された上限値テーブルとが記憶されている。
次に、エンジン制御装置100の動作を図3、図4のフローチャートにしたがって説明する。ECU122は、エンジン22の始動を開始すると、図3、図4のフローチャートに示す動作を一定の周期で実行する。この一定の周期は、前記所定の周期以上の長さである。
図3のステップS1で、ECU122は、アイドルフィードバック制御領域判定を行う。アイドルフィードバック制御領域判定とは、現在の自動二輪車12の運転状態が、アイドルフィードバック制御の実行可能な領域であるアイドルフィードバック制御領域内にあるか否かを判断する。このアイドルフィードバック制御領域判定については、後で詳しく説明する。
次いで、ECU122は、フラグF_CRが0であるか否かを判断する。フラグF_CRは、現在クランキングが行われているかを示すフラグであり、クランキング中(エンジン22の始動開始から自律運転を開始するまで)の場合は、フラグF_CRが1となる。このフラグF_CRの値は、記憶部124に記憶され、ECU122は、現在クランキングを行っていると判断した場合は、フラグF_CRを1にする。このクランキング動作は、図示しないスタータモータによって行われる。エンジン回転数IACNEがクランキング回転数より大きくなると、ECU122は、フラグF_CRの値を0にする。
ステップS2で、現在クランキング中でないと判断すると、ECU122は、スロットル開度センサ114、スロットルバルブ開度センサ116、水温又は油温センサ118、回転数センサ120等の各種センサが正常であるか否かを判断する(ステップS3)。
ステップS3で、各種センサが正常であると判断すると、ECU122は、フラグF_ASTが0であるか否かを判断する(ステップS4)。フラグF_ASTは、アイドルフィードバック制御を通常モードで行うかエンジン始動後モードで行うかを示すフラグであり、通常モードの場合はフラグF_ASTが1となり、エンジン始動後モードの場合はフラグF_ASTが0となる。このフラグF_ASTの値は、記憶部124に記憶され、初期値は0に設定され、ECU122は、エンジン22の始動後、エンジン回転数IACNEが目標アイドル回転数NOBJになると、フラグF_ASTを0から1に変更する。このエンジン回転数IACNEは、回転数センサ120によって検出される。通常モードとは、暖機の終了後にアイドルフィードバック制御を行うモードであり、エンジン始動後モードとは、暖機中にアイドルフィードバック制御を行うモードである。
ステップS4で、フラグF_ASTが0であると判断すると、吸入空気量ICMDの基本供給値ITWを始動時の値ITWSに設定して(ステップS5)、ステップS7に進む。一方、ステップS4で、フラグF_ASTが1であると判断すると、基本供給値ITWを通常時の値ITWAに設定して(ステップS6)、そのままステップS7に進む。この基本供給値ITWを元に吸入空気量ICMDが求められる。通常時の値ITWAは、始動時の値ITWSより低い値であり、通常時の値ITWA及び始動時の値ITWSは、水温又は油温TWの上昇に比例して徐々にその値が減少する値である。つまり、水温又は油温TWが同じ値の場合は、通常時の値ITWAより始動時の値ITWSの方が大きい値となる。
エンジン始動後モードの場合は、基本供給値ITWを、通常時の値ITWAより大きい始動時の値ITWSに設定するので、通常モードの場合に比べ、吸入空気量ICMDが多くなる。エンジン始動後モードの場合は、潤滑油の温度が低く粘性抵抗(フリクション)が高いため、エンジン回転数IACNEが不安定となりエンストを起こし易いが、吸入空気量ICMDを多くするのでかかる弊害を防止することができるとともに、水温及び油温TWが早く上昇し、エンジン回転数IACNEを早く目標アイドル回転数NOBJに近づけることができる。
ステップS7に進むと、ECU122は、アイドルフィードバック制御の実行条件が成立したか否かを判断するアイドルフィードバック制御実行判断を行う。ECU122は、アイドルフィードバック制御実行判断により、アイドルフィードバック制御の実行条件が成立したと判断した場合は、フラグF_AISFBCを1にし、アイドルフィードバック制御の実行条件が成立していないと判断した場合は、フラグF_AISFBCを0にする。このフラグF_AISFBCの値は、記憶部124に記憶される。アイドルフィードバック制御実行判断については、後で詳しく説明する。
次いで、ECU122は、アイドルフィードバック制御を一時解除(停止)するか否かを判断するフィードバック制御解除判断を行う(ステップS8)。ECU122は、フィードバック制御解除判断により、アイドルフィードバック制御を一時解除すると判断した場合は、フラグF_FBCANを1にし、アイドルフィードバック制御を一時解除しない、つまり、アイドルフィードバック制御を継続すると判断した場合は、フラグF_FBCANを0にする。このフラグF_FBCANの値は、記憶部124に記憶される。フィードバック制御解除判断については、後で詳しく説明するが、簡単に説明すると、暖機状態から非暖機状態になると、つまり、アイドルフィードバック制御がエンジン始動後モードから通常モードに切り替わると(フラグF_ASTが0から1になると)、吸入空気量ICMDが目標値まで減少するまでは、アイドルフィードバック制御を一時解除すると判断して、フラグF_FBCANを1にする。ECU122は、暖機状態を検出する暖機状態検出手段として機能する。
次いで、ECU122は、フラグF_FBCANが0であるか否かを判断する(ステップS9)。上述したように、フラグF_FBCANは、アイドルフィードバック制御を一時解除するかを示すフラグであり、アイドルフィードバック制御を一時解除する場合は、フラグF_FBCANが1となる。
ステップS9で、フラグF_FBCANが0であると判断すると、ECU122は、フラグF_AISFBCが1であるか否かを判断する(ステップS10)。上述したように、フラグF_AISFBCは、アイドルフィードバック制御の実行条件が成立したか否かを示すフラグであり、アイドルフィードバック制御の実行条件が成立した場合は、フラグF_AISFBCは1となる。
ステップS10で、フラグF_AISFBCが1であると判断すると、ECU122は、アイドルフィードバック制御を実行すると判断し、フラグF_AISFBを1にする(ステップS11)。フラグF_AISFBは、アイドルフィードバック制御を実行することを示すフラグであり、アイドルフィードバック制御を実行する場合は、フラグF_AISFBが1となる。このフラグF_AISFBの値は、記憶部124に記憶される。
次いで、ECU122は、アイドルフィードバック制御を実行する(ステップS12)。このアイドルフィードバック制御により、エンジン回転数IACNEが目標アイドル回転数NOBJとなるような吸入空気量ICMDが定まる。アイドルフィードバック制御については、後で詳しく説明する。
次いで、ECU122は、アイドルフィードバック制御のICMDリミットチェックを行う(ステップS13)。ステップS13では、アイドルフィードバック制御によって定まった吸入空気量ICMDのリミットチェックを行い、吸入空気量ICMDが上限値ICMDLMHを超えている場合、下限値ICMDLMLに満たない場合は、吸入空気量ICMDを制限する。ステップS13のアイドルフィードバック制御のICMDリミットチェックについては、後で詳しく説明する。ECU122は、このICMDリミットチェック後の吸入空気量ICMDに基づいて、ドライバ108を制御することで、スロットル開度THを制御する。
一方、ステップS9で、フラグF_FBCANが1である(アイドルフィードバック制御を一時解除する)と判断した場合、ステップS10で、F_AISFBCが0である(アイドルフィードバック制御の実行条件が不成立である)と判断した場合は、ECU122は、アイドルフィードバック制御を実行しないと判断し、フラグF_AISFBを0にする(ステップS14)。
次いで、ECU122は、アイドル制御を行う(ステップS15)。このアイドル制御により、水温又は油温TWに応じて減少するように吸入空気量ICMDが定められる。このアイドル制御については、後で詳しく説明する。
次いで、ECU122は、アイドル制御、アイドルフェイルセーフ制御、及びアイドル始動制御のICMDリミットチェックを行う(ステップS16)。ステップS16では、アイドル制御、アイドルフェイルセーフ制御、アイドル始動制御によって定まった吸入空気量ICMDのリミットチェックを行い、吸入空気量ICMDが上限値ICMDLMHを超えている場合、下限値ICMDLMLに満たない場合は、吸入空気量ICMDを制限する。ステップS16のICMDリミットチェックについては、後で詳しく説明する。ECU122は、このICMDリミットチェック後の吸入空気量ICMDに基づいて、ドライバ108を制御することで、スロットル開度THを制御する。
一方、ステップS3で、各種センサが異常であると判断すると、図4のステップS17に進み、ECU122は、フラグF_AISFBを0にし、アイドルフェイルセーフ制御を行って(ステップS18)、図3のステップS16に進む。このアイドルフェイルセーフ制御により吸入空気量ICMDが定められる。アイドルフェイルセーフ制御については、後で詳しく説明する。
一方、ステップS2で、フラグF_CRが1である(クランキング中である)と判断すると、図4のステップS19に進み、ECU122は、フラグF_AISFBを0にし、アイドル始動制御を行って(ステップS20)、図3のステップS16に進む。このアイドル始動制御によりクランキング中の吸入空気量ICMDが定められる。アイドル始動制御については、後で詳しく説明する。
次に、アイドルフィードバック制御領域判定の動作を図5のサブフローチャートにしたがって説明する。
図3のステップS1に進み、アイドルフィードバック制御領域判定を開始すると、図5のステップS31に進み、ECU122は、フラグF_IACZが1であるか否かを判断する。フラグF_IACZは、自動二輪車12の運転状態がアイドルフィードバック制御領域内であるか否かを示すフラグであり、アイドルフィードバック制御領域内である場合は、フラグF_IACZは1となる。このフラグF_IACZの値は、記憶部124に記憶されている。つまり、ステップS31では、前回のアイドルフィードバック制御領域判定により、自動二輪車12の運転状態がアイドルフィードバック制御領域内であると判定したか否かを判断している。
ステップS31で、フラグF_IACZが1であると判断すると、ECU122は、エンジン回転数IACNEが所定回転数(第1回転数)NA以下であるか否かを判断する(ステップS32)。このエンジン回転数IACNEは、回転数センサ120によって検出され、所定回転数NAの値は、記憶部124に記憶されている。
ステップS32で、エンジン回転数IACNEが所定回転数NA以下であると判断すると、ECU122は、スロットル開度THが上限スロットル開度(上限開度)C_THIDLEH以下であるか否かを判断する(ステップS33)。このスロットル開度THは、スロットルバルブ開度センサ116によって検出され、上限スロットル開度C_THIDLEHの値は、記憶部124に記憶されている。
ステップS33で、スロットル開度THが上限スロットル開度C_THIDLEH以下であると判断すると、自動二輪車12の運転状態がアイドルフィードバック制御領域内にあると判定し、フラグF_IACZを1にする(ステップS34)。
一方、ステップS32で、エンジン回転数IACNEが所定回転数NA以下でないと判断した場合、ステップS33で、スロットル開度THが上限スロットル開度C_THIDLEH以下でないと判断した場合は、ECU122は、自動二輪車12の運転状態がアイドルフィードバック制御領域内にないと判定し、フラグF_IACZを0にする(ステップS35)。
ステップS31で、フラグF_IACZが0であると判断すると、ECU122は、エンジン回転数IACNEが、所定回転数NAからヒス幅C_NAHを減算した値(第2回転数)以下であるか否かを判断する(ステップS36)。このヒス幅C_NAHは記憶部124に記憶されている。
ステップS36で、ECU122は、エンジン回転数IACNEが、所定回転数NAからヒス幅C_NAHを減算した値以下であると判断した場合は、ECU122は、スロットル開度THが下限スロットル開度(下限開度)C_THIDLEL以下であるか否かを判断する(ステップS37)。この下限スロットル開度C_THIDLELは、上限スロットル開度C_THIDLEHより小さい値であり、記憶部124に記憶されている。
ステップS37で、スロットル開度THが下限スロットル開度C_THIDLEL以下であると判断すると、ECU122は、自動二輪車12の運転状態がアイドルフィードバック制御領域内にあると判定し、フラグF_IACZを1にする(ステップS38)。
一方、ステップS36で、エンジン回転数IACNEが、所定回転数NAからヒス幅C_NAHを減算した値以下でないと判断した場合、ステップS37で、スロットル開度THが下限スロットル開度C_THIDLEL以下でないと判断した場合は、ECU122は、自動二輪車12の運転状態がアイドルフィードバック制御領域内にないと判定し、フラグF_IACZを0にする(ステップS39)。
図6は、アイドルフィードバック制御領域を示す図であり、アイドルフィードバック制御領域は、エンジン回転数IACNEとスロットル開度THとによって定められる。前回の運転状態がアイドルフィードバック制御領域内にあると判断した場合は、ECU122は、エンジン回転数IACNE及びスロットル開度THが、所定回転数NAと上限スロットル開度C_THIDLEHとで定められる領域(斜線及び網線で示す領域)内にあるか否かを判断する。また、前回の運転状態がアイドルフィードバック制御領域内にないと判断した場合は、ECU122は、エンジン回転数IACNE及びスロットル開度THが、所定回転数NA−(マイナス)C_NAHと下限スロットル開度C_THIDLELとで定められる領域(網線で示す領域)内にあるか否かを判断する。ここで、前回の運転状態がアイドルフィードバック制御領域内にあるか否かで、アイドルフィードバック制御領域にヒステリシスを設けたのは、現在の運転状態がフィードバック制御領域内にあるか否かの判断が頻繁に変わることを防止するためである。
次に、アイドルフィードバック制御実行判断の動作を図7のサブフローチャートにしたがって説明する。
図3のステップS7に進み、アイドルフィードバック制御実行判断を開始すると、図7のステップS41に進み、ECU122は、現在の自動二輪車12の運転状態が無負荷運転であるか否かを判断する。無負荷運転とは、DCT112のギア段が接続されていないニュートラル状態のことをいう。
ステップS41で、現在の自動二輪車12の運転状態が無負荷運転であると判断すると、ECU122は、前記スロットルグリップが全閉であるか否か(運転者によって前記スロットルグリップが操作されていないか否か)を判断する(ステップS42)。この判断は、スロットル開度センサ114の検出信号に基づいて判断する。
ステップS42で、前記スロットルグリップが全閉であると判断すると(前記スロットルグリップが操作されていないと判断すると)、ECU122は、フラグF_IACZが1であるか否かを判断する(ステップS43)。つまり、ECU122は、ステップS1のアイドルフィードバック制御領域判定によって、自動二輪車12の運転状態がアイドルフィードバック制御領域内にあると判定されたか否かを判断している。
ステップS43で、フラグF_IACZが1であると判断すると、ECU122は、アイドルフィードバック制御の実行条件が成立したと判断し、フラグF_AISFBCを1にする(ステップS44)。
一方、ステップS41で無負荷運転でないと判断された場合(運転者によって何れかのギア段が接続された場合)、ステップS42でスロットルグリップが全閉でないと判断された場合(運転者によって前記スロットルグリップが操作された場合)、ステップS43でフラグF_IACZが0であると判断された場合は、ECU122は、アイドルフィードバック制御の実行条件が不成立であると判断し、フラグF_AISFBCを0にする(ステップS45)。つまり、運転者によって自動二輪車12を走行させる操作が行われた場合は、フラグF_AISFBCを0にする。これにより、図3のステップS10でNoに分岐するので、アイドルフィードバック制御が解除される。
次に、フィードバック制御解除判断の動作を図8のサブフローチャートにしたがって説明する。
図3のステップS8に進み、フィードバック制御解除判断を開始すると、図8のステップS51に進み、ECU122は、解除判断状態IACINSTが0であるか否かを判断する。解除判断状態IACINSTの初期値は0に設定されている。この解除判断状態IACINSTの値は、記憶部124に記憶される。
ステップS51で、解除判断状態IACINSTが0であると判断すると、ECU122は、フラグF_ASTが1であるか否かを判断する(ステップS52)。
ステップS52で、フラグF_ASTが0であると判断すると(アイドルフィードバック制御をエンジン始動後モードで行うと判断すると)、ECU122は、アイドルフィードバック制御を一時解除させないと判断して、フラグF_FBCANを0にする(ステップS53)。つまり、解除判断状態IACINSTが0であり、フラグF_ASTが0のときは、フラグF_FBCANが0となるので、図3のステップS9でYesに分岐し、フラグF_AISFBCが1であれば(ステップS10でYes)、ステップS12でアイドルフィードバック制御が行われる。ここで、ECU122は、エンジン回転数IACNEが目標アイドル回転数NOBJ以上になると、フラグF_ASTを0から1にするので、エンジン回転数IACNEが目標アイドル回転数NOBJとなるまで、アイドルフィードバック制御が継続して行われる。
一方、ステップS52で、フラグF_ASTが1であると判断すると、ステップS54に進み、ECU122は、アイドルフィードバック制御を一時解除すると判断して、解除判断状態IACINSTを1にするとともに、フラグF_FBCANを1にする(ステップS55)。つまり、解除判断状態IACINSTが1になると、フラグF_FBCANが1となり、図3のステップS9でNoに分岐するので、アイドルフィードバック制御が一時解除され、ステップS15でアイドル制御が行われる。
ステップS51で、解除判断状態IACINSTが0でないと判断すると、ECU122は、解除判断状態IACINSTが1であるか否かを判断する(ステップS56)。
ステップS56で、解除判断状態IACINSTが1であると判断すると、ECU122は、フラグF_AISFBCが1であるか否かを判断する(ステップS57)。つまり、ステップS57では、現在フィードバック制御の実行条件が成立しているか否かを判断している。
ステップS57で、フラグF_AISFBCが1であると判断すると(フィードバック制御の実行条件が成立していると判断すると)、ECU122は、フラグF_THNMRCHが1であるか否かを判断する(ステップS58)。フラグF_THNMRCHは、アイドル制御によって、吸入空気量ICMDが目標値まで減少したか否かを示すフラグであり、ECU122は、アイドル制御によって、吸入空気量ICMDが目標値にまで減少すると、フラグF_THNMRCHを0から1にする。このフラグF_THNMRCHの値は記憶部124に記憶され、初期値は0に設定されている。
ステップS58で、フラグF_THNMRCHが1でないと判断すると、ECU122は、フラグF_FBCANを1にする(ステップS59)。フラグF_FBCANが1の場合は、図3のステップS9でNoに分岐するので、ステップS15でアイドル制御が継続して行われる。つまり、原則として、解除判断状態IACINSTが1の場合は、吸入空気量ICMDが目標値まで減少するまで、アイドル制御が行われる。
一方、ステップS57でF_AISFBCが1でないと判断された場合、ステップS58でフラグF_THNMRCHが1であると判断された場合は、ECU122は、解除判断状態IACINSTを2にし(ステップS60)、フラグF_FBCANを0にする(ステップS61)。つまり、吸入空気量ICMDが目標値に到達すると、解除判断状態IACINSTが2となって、フラグF_FBCANが0となるので、図3のステップS9でYesに分岐し、ステップS12でアイドルフィードバック制御が再開される。また、フラグF_AISFBCが1でない場合(アイドルフィードバック制御の実行条件が不成立の場合)、解除判断状態IACINSTが2となって、フラグF_FBCANが0となるが、図3のステップS10でNoに分岐し、ステップS15でアイドル制御が行われることになる。
ステップS56で、解除判断状態IACINSTが1でない、つまり、2であると判断すると、ECU122は、フラグF_FBCANを0にする(ステップS62)。解除判断状態IACINSTが2の場合は、フラグF_FBCANが0となるので、図3のステップS9でYesに分岐し、ステップS12でアイドルフィードバック制御が行われる。
このように、エンジン22が始動してからエンジン回転数IACNEが目標アイドル回転数NOBJに到達するまでは、アイドルフィードバック制御を一時解除しないと判断し(フラグF_FBCAN=0)、エンジン回転数IACNEが目標アイドル回転数NOBJに到達してから、吸入空気量ICMDが目標値になるまでは、アイドルフィードバック制御を一時解除すると判断し(フラグF_FBCAN=1)、吸入空気量ICMDが目標値になると、アイドルフィードバック制御を一時解除しないと判断する(フラグF_FBCAN=0)。
次に、アイドルフィードバック制御の動作を図9、図10のフローチャートにしたがって説明する。
図3のステップS12に進み、アイドルフィードバック制御を開始すると、図9のステップS71に進み、ECU122は、前回のフラグF_AISFBの値が0であるか否かを判断する。前回の図3のフローチャートに示す動作によってアイドルフィードバック制御を実行すると判断されていない場合は、前回のフラグF_AISFBは0となり、前回の動作によってアイドルフィードバック制御を実行すると判断された場合は、前回のフラグF_AISFBが1となる。
ステップS71で、前回のフラグF_AISFBの値が0であると判断すると、ECU122は、アイドルフィードバック制御を開始すると判断し、アイドルフィードバック制御の制御値IFBを、制御値IFB=学習値IXREF+基本供給値ITW、関係式から求めて(ステップS72)、ステップS73に進む。ここで、基本供給値ITWは、フラグF_ASTが0の場合は、始動時の値ITWSとなり、フラグF_ASTが1の場合は、通常時の値ITWAとなる。エンジン22の使用によりシリンダ46に実際に吸入される空気量が変わってくるので、学習値IXREFは、吸入空気量ICMDを補正するために、過去のシリンダ46に実際に吸入された空気量から求めた学習値である。つまり、エンジン22の使用により、吸入空気量ICMDとなるようにスロットルバルブ57の開度を制御するが、実際にエンジン22に吸入される空気量は、該吸入空気量ICMDとならないので、学習値IXREFにより吸入空気量ICMDを補正する。なお、図示しないが吸気管56には、実際に吸入された空気量を検出するセンサが設けられている。
一方、ステップS71で、前回のフラグF_AISFBの値が1であると判断すると、ECU122は、アイドルフィードバック制御の継続中であると判断して、そのままステップS73に進む。
ステップS73に進むと、ECU122は、水温又は油温TWが所定温度C_ICTWL以上であるか否かを判断する。水温又は油温TWは、水温又は油温センサ118によって検出され、所定温度C_ICTWLの値は、記憶部124に記憶されている。
ステップS73で、水温又は油温センサ118が検出した水温又は油温TWが所定温度C_ICTWL以上であると判断すると、ECU122は、エンジン回転数IACNEが目標アイドル回転数NOBJ以上であるか否かを判断する(ステップS74)。
ステップS74で、エンジン回転数IACNEが目標アイドル回転数NOBJ以上であると判断すると、ECU122は、エンジン回転数IACNEが、目標アイドル回転数NOBJと高温時エンジン回転数幅C_DNEPIDHとを加算した値以上であるか否かを判断する(ステップS75)。この高温時エンジン回転数幅C_DNEPIDHの値は、記憶部124に記憶されている。
ステップS75で、エンジン回転数IACNEが、目標アイドル回転数NOBJと高温時エンジン回転数幅C_DNEPIDHとを加算した値以上であると判断すると、ECU122は、PID制御のP項乗算係数Kpを、予め決められた高温時第1P項係数C_KP1HHに、D項乗算係数Kdを、予め決められた高温時第1D項係数C_KD1HHに設定して(ステップS76)、ステップS84に進む。
一方、ステップS75で、エンジン回転数IACNEが、目標アイドル回転数NOBJと高温時エンジン回転数幅C_DNEPIDHとを加算した値未満であると判断すると、ECU122は、PID制御のP項乗算係数Kpを、予め決められた高温時第2P項係数C_KP1Hに、D項乗算係数Kdを、予め決められた高温時第2D項係数C_KD1Hに設定して(ステップS77)、ステップS84に進む。
ステップS74で、エンジン回転数IACNEが目標アイドル回転数NOBJ未満であると判断すると、ECU122は、PID制御のP項乗算係数Kpを、予め決められた高温時第3P項係数C_KP1Lに、D項乗算係数Kdを、予め決められた高温時第3D項係数C_KD1Lに設定して(ステップS78)、ステップS84に進む。
この高温時第1P項係数C_KP1HH、高温時第2P項係数C_KP1H、及び高温時第3P項係数C_KP1Lの値と、高温時第1D項係数C_KD1HH、高温時第2D項係数C_KD1H、及び高温時第3D項係数C_KD1Lの値は、記憶部124に記憶されている。
ステップS73で、水温又は油温TWが所定温度C_ICTWL以上でないと判断すると、図10のステップS79に進み、ECU122は、エンジン回転数IACNEが目標アイドル回転数NOBJ以上であるか否かを判断する。
ステップS79で、エンジン回転数IACNEが目標アイドル回転数NOBJ以上であると判断すると、ECU122は、エンジン回転数IACNEが、目標アイドル回転数NOBJと低温時エンジン回転数幅C_DNEPIDLとを加算した値以上であるか否かを判断する(ステップS80)。この低温時エンジン回転数幅C_DNEPIDLは、記憶部124に記憶されている。
ステップS80で、エンジン回転数IACNEが、目標アイドル回転数NOBJと低温時エンジン回転数幅C_DNEPIDLとを加算した値以上であると判断すると、ECU122は、PID制御のP項乗算係数Kpを、予め決められた低温時第1P項係数C_KP3HHに、D項乗算係数Kdを、予め決められた低温時第1D項係数C_KD3HHに設定して(ステップS81)、図9のステップS84に進む。
一方、ステップS80で、エンジン回転数IACNEが、目標アイドル回転数NOBJと低温時エンジン回転数幅C_DNEPIDLとを加算した値未満であると判断すると、ECU122は、PID制御のP項乗算係数Kpを、予め決められた低温時第2P項係数C_KP3Hに、D項乗算係数Kdを、予め決められた低温時第2D項係数C_KD3Hに設定して(ステップS82)、図9のステップS84に進む。
ステップS79で、エンジン回転数IACNEが目標アイドル回転数NOBJ未満であると判断すると、ECU122は、PID制御のP項乗算係数Kpを、予め決められた低温時第3P項係数C_KP3Lに、D項乗算係数Kdを、予め決められた低温時第3D項係数C_KD3Lに設定して(ステップS83)、図9のステップS84に進む。
この低温時第1P項係数C_KP3HH、低温時第2P項係数C_KP3H、及び低温時第3P項係数C_KP3Lの値と、低温時第1D項係数C_KD3HH、低温時第2D項係数C_KD3H、及び低温時第3D項係数C_KD3Lの値は、記憶部124に記憶されている。
ステップS84に進むと、ECU122は、P項乗算係数Kpと、目標アイドル回転数NOBJから現在のエンジン回転数IACNEを減算した値DNOBJとを乗算して、P項の値IPを求め、D項乗算係数Kdと、前回のエンジン回転数IACNEから現在のエンジン回転数IACNEを減算した値DNECYLとを乗算して、D項の値IDを求める。
次いで、ECU122は、前回の制御値IFBとステップS84で求めた値IPと値IDとを加算して、新たな制御値IFBを求め(ステップS85)、新たに求めた該制御値IFBと大気圧補正係数KIPAとを乗算して、吸入空気量ICMDを求める(ステップS86)。
このように、アイドルフィードバック制御は、基本供給値ITWを用いて、エンジン回転数IACNEが目標アイドル回転数NOBJとなるように吸入空気量IMCDを求める。ここで、アイドルフィードバック制御は、求めた該吸入空気量ICMDとなるように、スロットルバルブ57の開度を制御するが、アイドルフィードバック制御のICMDリミットチェックの動作を経た後で、スロットルバルブ57の開度を制御する。なお、基本供給値ITWは、エンジン回転数IACNEが目標アイドル回転数NOBJに到達するまでは始動時の値ITWSであり、エンジン回転数IACNEが目標アイドル回転数NOBJに到達した後は、通常時の値ITWAであることは言うまでもない。
次に、アイドルフィードバック制御のICMDリミットチェックの動作を図11のサブフローチャートにしたがって説明する。
図3のステップS13に進み、アイドルフィードバック制御のICMDリミットチェックを開始すると、図11のステップS91に進み、ECU122は、記憶部124に記憶されたICMD下限値テーブルから現在の水温又は油温TWに応じた吸入空気量ICMDの下限値ICMDLMLを取得する。
次いで、ECU122は、記憶部124に記憶されたICMD上限値テーブルから現在の水温又は油温TWに応じた吸入空気量ICMDの上限値ICMDLMHを取得する(ステップS92)。
次いで、ECU122は、アイドルフィードバック制御によって求めた吸入空気量ICMDが下限値ICMDLMLより小さいか否かを判断する(ステップS93)。
ステップS93で、求めた吸入空気量ICMDが下限値ICMDLMLより小さくないと判断すると、ECU122は、該吸入空気量ICMDが上限値ICMDLMHより大きいか否かを判断する(ステップS94)。
ステップS94で、求めた吸入空気量ICMDが上限値ICMDLMHより大きくないと判断すると、ECU122は、アイドルフィードバック制御のICMDリミットチェックを終了し、ステップS94で、該吸入空気量ICMDが上限値ICMDLMHより大きいと判断すると、ECU122は、吸入空気量ICMDを上限値ICMDLMHに設定する(ステップS95)。つまり、吸入空気量ICMDが上限値ICMDLMHより大きい場合は、該吸入空気量ICMDを上限値ICMDLMHに制限する。
次いで、ECU122は、エンジン回転数IACNEが目標アイドル回転数NOBJより大きいか否かを判断する(ステップS96)。
ステップS96で、エンジン回転数IACNEが目標アイドル回転数NOBJより大きいと判断すると、ECU122は、アイドルフィードバック制御のICMDリミットチェックを終了し、ステップS96で、エンジン回転数IACNEが目標アイドル回転数NOBJより大きくないと判断すると、ECU122は、制御値IFBを前回の制御値IFBにして(ステップS97)、アイドルフィードバック制御のICMDリミットチェックを終了する。
一方、ステップS93で、吸入空気量ICMDが下限値ICMDLMLより小さいと判断すると、ECU122は、吸入空気量ICMDを下限値ICMDLMLに設定する(ステップS98)。つまり、吸入空気量ICMDが下限値ICMDLMLより小さい場合は、吸入空気量ICMDを下限値ICMDLMLに制限する。
次いで、ECU122は、エンジン回転数IACNEが目標アイドル回転数NOBJより小さいか否かを判断する(ステップS99)。
ステップS100で、エンジン回転数IACNEが目標アイドル回転数NOBJより小さいと判断すると、ECU122は、アイドルフィードバック制御のリミットチェック動作を終了し、ステップS100で、エンジン回転数IACNEが目標アイドル回転数NOBJより小さくないと判断すると、ECU122は、制御値IFBを前回の制御値IFBにして(ステップS100)、アイドルフィードバック制御のリミットチェック動作を終了する。
このアイドルフィードバック制御のリミットチェック動作後の吸入空気量ICMDとなるようにスロットルバルブ57の開度が制御される。このように、吸入空気量ICMDが所定の範囲より小さい場合、又は大きい場合は、吸入空気量ICMDを制限するので、エンジン回転数IACNEが過度に変動することがない。
次に、アイドル制御の動作を図12のサブフローチャートにしたがって説明する。
図3のステップS15に進み、アイドル制御を開始すると、図12のステップS110に進み、ECU122は、吸入空気量ICMDを、吸入空気量ICMD=(学習値IXREF+基本供給値ITW)×大気圧補正係数KIPA、の関係式によって求めて、アイドル制御を終了する。ここで、基本供給値ITWは、水温又は油温が高くなるにつれ、その値が小さくなる。エンジン22の運転時間の経過に伴い水温又は油温も高くなり、エンジン22のフリクションも小さくなるので、アイドル制御により求められる吸入空気量ICMDを、エンジン22の運転時間の経過とともに小さくすることができる。このようにアイドル制御は、エンジン回転数IACNEにかかわらず、基本供給値ITWを用いて吸入空気量ICMDを求める。ここで、アイドル制御は、求めた該吸入空気量ICMDとなるように、スロットルバルブ57の開度を制御するが、アイドル制御、アイドルフェイルセーフ制御、及びアイドル始動制御のICMDのリミットチェックの動作を経た後で、スロットルバルブ57の開度を制御する。
次に、アイドルフェイルセーフ制御の動作を図13のサブフローチャートにしたがって説明する。
図4のステップS18に進み、アイドルフェイルセーフ制御を開始すると、図13のステップS120に進み、ECU122は、吸入空気量ICMDを、吸入空気量ICMD=(学習値IXREFの初期値C_IXREFM+通常時の値ITWA)×大気圧補正係数KIPA、の関係式によって求めて、アイドルフェイルセーフ制御の動作を終了する。ここで、通常時の値ITWAは、水温又は油温が高くなるにつれ、その値が小さくなる。エンジン22の運転時間の経過に伴い水温又は油温も高くなり、エンジン22のフリクションも小さくなるので、アイドルフェイルセーフ制御により求められる吸入空気量ICMDを、エンジン22の運転時間の経過とともに小さくすることができる。
このようにアイドルフェイルセーフ制御は、エンジン回転数IACNEにかかわらず、通常時の値ITWAを用いて吸入空気量ICMDを求める。ここで、アイドルフェイルセーフ制御は、求めた該吸入空気量ICMDとなるように、スロットルバルブ57の開度を制御するが、アイドル制御、アイドルフェイルセーフ制御、及びアイドル始動制御のICMDのリミットチェックの動作を経た後で、スロットルバルブ57の開度を制御する。
次に、アイドル始動制御の動作を図14のサブフローチャートにしたがって説明する。
図4のステップS20に進み、アイドル始動制御を開始すると、ECU122は、吸入空気量ICMDを、吸入空気量ICMD=(学習値IXREF+始動時の値ITWS)×大気圧補正係数KIPA、の関係式によって求めて、アイドル始動制御を終了する。ここで、始動時の値ITWSは、水温又は油温が高くなるにつれ、その値が小さくなる。エンジン22の運転時間の経過に伴い水温又は油温も高くなり、エンジン22のフリクションも小さくなるので、アイドル始動制御により求められる吸入空気量ICMDを、エンジン22の運転時間の経過とともに小さくすることができる。
このようにアイドル始動制御は、エンジン回転数IACNEにかかわらず、始動時の値ITWSを用いて吸入空気量ICMDを求める。ここで、アイドル始動制御は、求めた該吸入空気量ICMDとなるように、スロットルバルブ57の開度を制御するが、アイドル制御、アイドルフェイルセーフ制御、及びアイドル始動制御のICMDのリミットチェックの動作を経た後で、スロットルバルブ57の開度を制御する。
次に、アイドル制御、アイドルフェイルセーフ制御、及びアイドル始動制御のICMDリミットチェックの動作を図15のサブフローチャートにしたがって説明する。
図3のステップS16に進み、アイドル制御、アイドルフェイルセーフ制御、及びアイドル始動制御のICMDリミットチェックの動作を開始すると、図15のステップS151に進み、ECU122は、記憶部124に記憶されたICMD下限値テーブルから現在の水温又は油温TWに応じた吸入空気量ICMDの下限値ICMDLMLを取得する。
次いで、ECU122は、記憶部124に記憶されたICMD上限値テーブルから現在の水温又は油温TWに応じた吸入空気量ICMDの上限値ICMDLMHを取得する(ステップS152)。
次いで、ECU122は、アイドル制御、アイドルフェイルセーフ制御、又はアイドル始動制御によって求めた吸入空気量ICMDが下限値ICMDLMLより小さいか否かを判断する(ステップS153)。
ステップS153で、求めた吸入空気量ICMDが下限値ICMDLMLより小さくないと判断すると、ECU122は、該吸入空気量ICMDが上限値ICMDLMHより大きいか否かを判断する(ステップS154)。
ステップS154で、求めた吸入空気量ICMDが上限値ICMDLMHより大きくないと判断すると、ECU122は、アイドル制御、アイドルフェイルセーフ制御、及びアイドル始動制御のICMDリミットチェックを終了し、ステップS154で、求めた吸入空気量ICMDが上限値ICMDLMHより大きいと判断すると、ECU122は、吸入空気量ICMDを上限値ICMDLMHに設定して(ステップS155)、アイドル制御、アイドルフェイルセーフ制御、及びアイドル始動制御のICMDリミットチェックを終了する。つまり、吸入空気量ICMDが上限値ICMDLMHより大きい場合は、吸入空気量ICMDを上限値ICMDLMHに制限する。
一方、ステップS153で、吸入空気量ICMDが下限値ICMDLMLより小さいと判断すると、ECU122は、吸入空気量ICMDを下限値ICMDLMLに設定して(ステップS156)、アイドル制御、アイドルフェイルセーフ制御、及びアイドル始動制御のICMDリミットチェックを終了する。つまり、吸入空気量ICMDが下限値ICMDLMLより小さい場合は、吸入空気量ICMDを下限値ICMDLMLに制限する。
このアイドル制御、アイドルフェイルセーフ制御、及びアイドル始動制御のリミットチェック動作後の吸入空気量ICMDとなるようにスロットルバルブ57の開度が制御される。このように、吸入空気量ICMDが所定の範囲より小さい場合、又は大きい場合は、吸入空気量ICMDを制限するので、エンジン回転数IACNEが過度に変動することがない。
図16は、従来技術によって制御されるアイドル状態時のエンジン回転数IACNEと吸入空気量ICMDのタイムチャートを示す図である。初期値として始動時の値ITWSが基本供給値ITWとして設定されており、エンジン22の始動が開始され、エンジン回転数IACNEがクランキング回転数より上昇するタイミングt1を経過すると、始動時の値ITWSに設定された基本供給値ITWを用いて、エンジン回転数IACNEが目標回転数NOBJとなるように、スロットルバルブ57の開度を制御するアイドルフィードバック制御が行われる。このアイドルフィードバック制御によりエンジン回転数IACNEは徐々に増加し、目標アイドル回転数NOBJに近づく。
タイミングt1から所定時間が経過したタイミングt3になると、基本供給値ITWが通常時の値ITWAに切り替えられて、スロットルバルブ57の開度を制御するアイドルフィードバック制御が継続される。ここで、エンジン回転数IACNEが目標アイドル回転数NOBJに到達するタイミングt2は、タイミングt3より早いタイミングで到来するものとする。エンジン回転数IACNEが目標アイドル回転数NOBJ付近になると、エンジン22の潤滑油の粘性抵抗(フリクション)は下がるため、エンジン回転数IACNEは目標アイドル回転数NOBJを到達しても収束することなく、目標アイドル回転数NOBJより大きくなり、その後、基本供給値ITWを通常時の値ITWAに設定することエンジン回転数IACNEは目標アイドル回転数NOBJに徐々に収束する。エンジン回転数IACNEが目標アイドル回転数NOBJに収束するタイミングをt4で示す。このエンジン回転数IACNEが目標アイドル回転数NOBJに到達してから目標アイドル回転数NOBJに収束するまでの時間(t4−t2)を時間TPで表す。
従来技術では、エンジン回転数IACNEが目標アイドル回転数NOBJに到達した後も、エンジン回転数IACNEが目標アイドル回転数NOBJになるようにスロットルバルブ57の開度を制御するアイドルフィードバック制御を継続して行うので、時間TPが長くなってしまう。
また、従来技術では、エンジン22の水温及び油温が想定した温度より低い場合には、エンジン22のフリクションが大きく、タイミングt1から所定時間が経過しても、エンジン回転数IACNEは目標アイドル回転数NOBJに到達しない可能性があり、このような場合であっても所定時間が経過すると基本供給値ITWを始動時の値ITWSから通常時の値ITWAに切り替えてしまうので、切り替えによってエンジン回転数IACNEは低下してしまい、タイミングt1からエンジン回転数IACNEが目標アイドル回転数NOBJに収束するタイミングt4までの時間が長くなってしまう。
また、エンジン回転数IACNEが目標アイドル回転数NOBJに到達したタイミングt2で、基本供給値ITWを始動時の値ITWSから通常時の値ITWAに切り替えることも考えられるが、エンジン回転数IACNEが目標アイドル回転数NOBJに到達する前に、スロットルグリップが一時的に操作されると、一時的にエンジン回転数IACNEは前記スロットルグリップの操作に応じて目標アイドル回転数NOBJより上昇して、基本供給値ITWが始動時の値ITWSから通常時の値ITWAに切り替えられ、前記スロットルグリップが戻された時点でアイドルフィードバック制御が行われてしまうので、エンジン回転数IACNEが減少し、時間TPが長くなってしまう。
図17は、本実施の形態のECU122によって制御されるアイドル状態時のエンジン回転数IACNEと吸入空気量ICMDのタイムチャートを示す図である。
初期値として始動時の値ITWSが基本供給値ITWとして設定されており、エンジン22の始動が開始され、エンジン回転数IACNEがクランキング回転数より上昇するタイミングt11を経過すると、始動時の値ITWSに設定された基本供給値ITWを用いて、エンジン回転数IACNEが目標アイドル回転数NOBJとなるようにアイドルフィードバック制御が行われる。このアイドルフィードバック制御によりエンジン回転数IACNEは目標アイドル回転数NOBJに徐々に近づく。
エンジン回転数IACNEが目標アイドル回転数NOBJに到達すると、基本供給値ITWは通常時の値ITWAに設定されるとともに、アイドルフィードバック制御が一時解除され、エンジン回転数IACNEにかかわらず、通常時の値ITWAに設定された基本供給値ITWを用いて水温又は油温に応じて吸入空気量ICMDが減少するようにスロットルバルブ57の開度を制御するアイドル制御が行われる。エンジン回転数IACNEが目標回転数NOBJに到達するタイミングをt12で表す。
その後、吸入空気量ICMDが目標値まで減少すると、通常時の値ITWAに設定された基本供給値ITWを用いてアイドルフィードバック制御を開始する。吸入空気量ICMDが目標値まで減少するタイミングをt13で表し、エンジン回転数IACNEが目標アイドル回転数NOBJに収束するタイミングをt14で表す。
本実施の形態では、エンジン回転数IACNEが目標アイドル回転数NOBJに到達したタイミングt12で、基本供給値ITWを始動時の値ITWSから通常時の値ITWAに切り替えるとともに、アイドルフィードバック制御を一時解除し、基本供給値ITWを用いて水温又は油温に応じて吸入空気量ICMDが減少するようにスロットルバルブ57の開度を制御するアイドル制御を行い、吸入空気量ICMDが目標値まで減少すると、アイドルフィードバック制御を再開するので、時間TPを短くすることができ、エンジン回転数IACNEの目標アイドル回転数NOBJへの収束時間を短くすることができる。
また、エンジン回転数IACNEが目標アイドル回転数NOBJに到達したタイミングt12で、基本供給値ITWを始動時の値ITWSから通常時の値ITWAに切り替えるので、エンジン22の水温及び油温が想定した温度より低い場合であっても、エンジン回転数IACNEが目標アイドル回転数NOBJに到達する前に、基本供給値ITWを通常時の値ITWAに設定することはないので、タイミングt11からエンジン回転数IACNEが目標アイドル回転数NOBJに収束するタイミングt14までの時間を短くすることができ、エンジン回転数IACNEの目標アイドル回転数NOBJへの収束時間を短くすることができる。また、始動時の値ITWSが基本供給値ITWとして設定されているときに、スロットルグリップの操作によってスロットルバルブ57が開かれ、目標アイドル回転数NOBJを越えた後、スロットルグリップの操作が解除された場合であっても、エンジン回転数IACNEの瞬間的な落ち込みを生じないようにすることができる。
また、エンジン回転数IACNEが目標アイドル回転数NOBJに到達する前に、前記スロットルグリップが一時的に操作されてエンジン回転数IACNEが目標回転数NOBJより大きくなり、基本供給値ITWが始動時の値ITWSから通常時の値ITWAに切り替えられても、吸入空気量ICMDが目標値まで減少するまでアイドル制御を行うので、時間TPを短くすることができ、エンジン回転数IACNEの目標アイドル回転数NOBJへの収束時間を短くすることができる。
このように、エンジン回転数IACNEが目標アイドル回転数NOBJに達するまでは、始動時の値ITWSに設定された基本供給値ITWを用いてエンジン回転数IACNEが目標アイドル回転数NOBJとなるように、スロットルバルブ57の開度を制御するアイドルフィードバック制御を実行し、エンジン回転数IACNEが目標アイドル回転数NOBJに達した後は、アイドルフィードバック制御を一時解除し、エンジン回転数IACNEにかかわらず、通常時の値ITWAに設定された基本供給値ITWを用いてエンジン22の水温又は油温に応じて吸入空気量ICMDが減少するようにスロットルバルブ57の開度を制御し、その後、吸入空気量ICMDが目標値に達すると、通常時の値ITWAに設定された基本供給値ITWを用いてアイドルフィードバック制御を再開するので、エンジン回転数IACNEの目標アイドル回転数NOBJへの収束時間を短くすることができる。
始動時の値ITWS及び通常時の値ITWAは、エンジン22の水温又は油温の上昇に比例して値が小さくなるので、エンジン22のフリクションが低下に伴って吸入空気量ICMDを減少させることができ、エンジン22のフリクションの低下に伴うエンジン回転数IACNEの上昇を抑えることができ、エンジン回転数IACNEを適切に制御することができる。
アイドルフィードバック制御の実行条件が成立した場合、つまり、DCT112がニュートラル状態であり、前記スロットルグリップが操作されておらず、且つ、エンジン回転数IACNE及びスロットルバルブ57の開度がアイドルフィードバック制御領域内にある場合に、アイドルフィードバック制御を行うので、適切なタイミングでアイドルフィードバック制御を実行することができる。
アイドルフィードバック制御の実行条件が成立していない場合は、アイドルフィードバック制御を解除し、基本供給値ITWを用いて、エンジン22の水温又は油温に応じて吸入空気量ICMDが減少するようにスロットルバルブ57の開度を制御するので、適切に吸入空気量ICMDを制御することができる。
吸入空気量ICMDが上限値ICMDLMHより大きい場合は、吸入空気量ICMDを上限値ICMDLMHに制限し、吸入空気量ICMDが下限値ICMDLMLより小さい場合は、吸入空気量ICMDを下限値ICMDLMLに制限するので、エンジン回転数IACNEが過度に変動することがない。
なお、図3のステップS12のアイドルフィードバック制御で求めた吸入空気量ICMDのリミットチェックをステップS13で行うようにしたが、ステップS13の動作を行わなくてもよい。この場合は、ステップS12のアイドルフィードバック制御は、求めた吸入空気量ICMDとなるようにスロットルバルブ57の開度を調整する。
また、図3のステップS15のアイドル制御で求めた吸入空気量ICMD、図4のステップS18のアイドルフェイルセーフ制御で求めた吸入空気量ICMD、及び、ステップS20のアイドル始動制御で求めた吸入空気量ICMDのリミットチェックをステップS16で行うようにしたが、ステップS16の動作を行わなくてもよい。この場合は、ステップS15のアイドル制御、ステップS18のアイドルフェイルセーフ制御、ステップS20のアイドル始動制御は、求めた吸入空気量ICMDとなるようにスロットルバルブ57の開度を調整する。
以上、本発明について好適な実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態の記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。また、特許請求の範囲に記載された括弧書きの符号は、本発明の理解の容易化のために添付図面中の符号に倣って付したものであり、本発明がその符号をつけた要素に限定されて解釈されるものではない。