(57)【特許請求の範囲】
【請求項１】
エンジン（２２）と、
前記エンジン（２２）の吸気管（５６）に設けられ、該エンジン（２２）に吸気させる吸入空気量を調整する吸入空気量調整手段（５７）と、
前記エンジン（２２）のエンジン回転数を検出する回転数検出手段（１２０）と、
前記エンジン（２２）の暖機状態を検出する暖機状態検出手段と、
前記エンジン（２２）が暖機状態である場合に、通常のアイドル運転時に用いられる第１の吸入空気量（ＩＴＷＡ）よりも大きい第２の吸入空気量（ＩＴＷＳ）になるように前記吸入空気量調整手段（５７）を操作し、前記エンジン回転数が目標アイドル回転数になるようにフィードバック制御を行い、所定要件が成立した後には、前記第１の吸入空気量（ＩＴＷＡ）によるフィードバック制御を行う制御部（１２２）とを備えたエンジン制御装置（１００）において、
前記制御部（１２２）は、前記エンジン回転数が目標アイドル回転数に達するまでには前記第２の吸入空気量（ＩＴＷＳ）によるフィードバック制御を行い、初めて前記目標アイドル回転数を越えたときに、所定時間（ＴＰ）、予め設定された前記第２の吸入空気量（ＩＴＷＳ）よりも小さい吸入空気量になるように前記吸入空気量を固定制御させ、その後、前記第１の吸入空気量（ＩＴＷＡ）によるフィードバック制御を行う
ことを特徴とするエンジン制御装置（１００）。
【請求項２】
請求項１に記載のエンジン制御装置（１００）において、
前記第１の吸入空気量（ＩＴＷＡ）及び前記第２の吸入空気量（ＩＴＷＳ）の値は、前記エンジン（２２）の水温又は油温の上昇に比例して値が小さくなる
ことを特徴とするエンジン制御装置（１００）。
【請求項３】
請求項１又は２に記載のエンジン制御装置（１００）において、
前記制御部（１２２）は、前記フィードバック制御の実行条件が成立したか否かを判断し、前記フィードバック制御の実行条件が成立した場合に、前記フィードバック制御を実行する
ことを特徴とするエンジン制御装置（１００）。
【請求項４】
請求項３に記載のエンジン制御装置（１００）において、
前記制御部（１２２）は、前記エンジン（２２）に接続された変速機（１１２）がニュートラル状態であり、前記エンジン回転数の上昇を指示するスロットルグリップが操作されておらず、且つ、前記エンジン回転数及び前記吸入空気量調整手段（５７）の開度がアイドルフィードバック制御領域内にある場合は、前記フィードバック制御の実行条件が成立していると判断する
ことを特徴とするエンジン制御装置（１００）。
【請求項５】
請求項４に記載のエンジン制御装置（１００）において、
前記制御部（１２２）は、前回の前記エンジン回転数及び前記吸入空気量調整手段（５７）の開度が前記アイドルフィードバック制御領域内にある場合は、今回の前記エンジン回転数が第１回転数以下であり、且つ、今回の前記吸入空気量調整手段（５７）の開度が上限開度以下の場合は、前記アイドルフィードバック制御領域内にあると判断し、前回の前記エンジン回転数及び前記吸入空気量調整手段（５７）の開度が前記アイドルフィードバック制御領域内にない場合は、今回の前記エンジン回転数が前記第１回転数より低い第２回転数以下であり、且つ、今回の前記吸入空気量調整手段（５７）の開度が前記上限開度より小さい下限開度以下の場合は、前記アイドルフィードバック制御領域内にあると判断する
ことを特徴とするエンジン制御装置（１００）。
【請求項６】
請求項１〜５のいずれか１項に記載のエンジン制御装置（１００）において、
前記制御部（１２２）は、前記エンジン（２２）に吸気される前記吸入空気量が上限値より大きくなる場合は、前記吸入空気量が前記上限値となるように前記吸入空気量調整手段（５７）の開度を制限し、前記エンジン（２２）に吸気される前記吸入空気量が下限値より小さくなる場合は、前記吸入空気量が前記下限値となるように前記吸入空気量調整手段（５７）の開度を制限する
ことを特徴とするエンジン制御装置（１００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジンの吸入空気量を調整するエンジン制御装置に関する。
【背景技術】
【０００２】
下記特許文献１には、エンジンの始動直後暖機運転中に、排気浄化触媒の早期活性化を図るため、エンジン回転数が目標アイドル回転数に近づくように吸入空気量を通常のアイドル状態時より強制的に増量させ、所定時間経過後に、吸入空気量の強制増量を停止して通常の吸気量にてエンジン回転数をフィードバック制御することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−７５８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１では、所定時間が経過すると吸入空気量を切り替えるようにしているため、水温又は油温が低温状態であり、フリクションが高い状態のときはエンジン回転数の上昇が遅れ、エンジン回転数が目標アイドル回転数に到達する前に、所定時間が経過して吸入空気量が小さい値に切り替わってしまい、切り替え時にエンジン回転数が減少し、エンジン回転数が瞬間的に減少する変動を引き起こしてしまう。
【０００５】
そこで、これを防ぐために、吸入空気量の切り替えタイミングを目標アイドル回転数に到達した時点で切り替えることが考えられるが、運転者がスロットルを開けてエンジン回転数を上昇させるようなことがあると、一時的にエンジン回転数が目標アイドル回転数より高くなり、吸入空気量が小さい値に切り替えられてしまうため、スロットルが戻された時点で、小さい吸入空気量にてフィードバック制御が行われてしまい、上記と同じように瞬間的にエンジン回転数が減少する変動の課題が解消されないことになってしまう。
【０００６】
そこで、本発明は、低温時のエンジンフリクションが高い場合における吸入空気量の切り替え制御において、エンジン回転数の目標アイドル回転数への収束時間を短縮させながら、エンジン回転数の変動を起こすことのないエンジン制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、請求項１に係る発明は、エンジン（２２）と、前記エンジン（２２）の吸気管（５６）に設けられ、該エンジン（２２）に吸気させる吸入空気量を調整する吸入空気量調整手段（５７）と、前記エンジン（２２）のエンジン回転数を検出する回転数検出手段（１２０）と、前記エンジン（２２）の暖機状態を検出する暖機状態検出手段と、前記エンジン（２２）が暖機状態である場合に、通常のアイドル運転時に用いられる第１の吸入空気量（ＩＴＷＡ）よりも大きい第２の吸入空気量（ＩＴＷＳ）になるように前記吸入空気量調整手段（５７）を操作し、前記エンジン回転数が目標アイドル回転数になるようにフィードバック制御を行い、所定要件が成立した後には、前記第１の吸入空気量（ＩＴＷＡ）によるフィードバック制御を行う制御部（１２２）とを備えたエンジン制御装置（１００）において、前記制御部（１２２）は、前記エンジン回転数が目標アイドル回転数に達するまでには前記第２の吸入空気量（ＩＴＷＳ）によるフィードバック制御を行い、初めて前記目標アイドル回転数を越えたときに、所定時間（ＴＰ）、予め設定された前記第２の吸入空気量（ＩＴＷＳ）よりも小さい吸入空気量になるように前記吸入空気量を固定制御させ、その後、前記第１の吸入空気量（ＩＴＷＡ）によるフィードバック制御を行うことを特徴とする。
【０００８】
請求項２に係る発明は、請求項１に記載のエンジン制御装置（１００）において、前記第１の吸入空気量（ＩＴＷＡ）及び前記第２の吸入空気量（ＩＴＷＳ）の値は、前記エンジン（２２）の水温又は油温の上昇に比例して値が小さくなることを特徴とする。
【０００９】
請求項３に係る発明は、請求項１又は２に記載のエンジン制御装置（１００）において、前記制御部（１２２）は、前記フィードバック制御の実行条件が成立したか否かを判断し、前記フィードバック制御の実行条件が成立した場合に、前記フィードバック制御を実行することを特徴とする。
【００１０】
請求項４に係る発明は、請求項３に記載のエンジン制御装置（１００）において、前記制御部（１２２）は、前記エンジン（２２）に接続された変速機（１１２）がニュートラル状態であり、前記エンジン回転数の上昇を指示するスロットルグリップが操作されておらず、且つ、前記エンジン回転数及び前記吸入空気量調整手段（５７）の開度がアイドルフィードバック制御領域内にある場合は、前記フィードバック制御の実行条件が成立していると判断することを特徴とする。
【００１１】
請求項５に係る発明は、請求項４に記載のエンジン制御装置（１００）において、前記制御部（１２２）は、前回の前記エンジン回転数及び前記吸入空気量調整手段（５７）の開度が前記アイドルフィードバック制御領域内にある場合は、今回の前記エンジン回転数が第１回転数以下であり、且つ、今回の前記吸入空気量調整手段（５７）の開度が上限開度以下の場合は、前記アイドルフィードバック制御領域内にあると判断し、前回の前記エンジン回転数及び前記吸入空気量調整手段（５７）の開度が前記アイドルフィードバック制御領域内にない場合は、今回の前記エンジン回転数が前記第１回転数より低い第２回転数以下であり、且つ、今回の前記吸入空気量調整手段（５７）の開度が前記上限開度より小さい下限開度以下の場合は、前記アイドルフィードバック制御領域内にあると判断することを特徴とする。
【００１２】
請求項６に係る発明は、請求項１〜５のいずれか１項に記載のエンジン制御装置（１００）において、前記制御部（１２２）は、前記エンジン（２２）に吸気される前記吸入空気量が上限値より大きくなる場合は、前記吸入空気量が前記上限値となるように前記吸入空気量調整手段（５７）の開度を制限し、前記エンジン（２２）に吸気される前記吸入空気量が下限値より小さくなる場合は、前記吸入空気量が前記下限値となるように前記吸入空気量調整手段（５７）の開度を制限することを特徴とする。
【発明の効果】
【００１３】
請求項１に記載の発明によれば、エンジン回転数が目標アイドル回転数に達するまでは、通常時のアイドル運転時に用いられる第１の吸入空気量より大きい第２の吸入空気量を用いてエンジン回転数が目標アイドル回転数となるように吸入空気量調整手段の開度を制御するフィードバック制御を実行し、さらに、エンジン回転数が目標アイドル回転数に達した後は、フィードバック制御を一時停止し、エンジンの回転数にかかわらず、第１の吸入空気量を用いてエンジンの水温又は油温に応じて吸入空気量が減少するように吸入空気量調整手段の開度を制御し、その後、吸入空気量が目標値に達すると、第１の吸入空気量を用いてフィードバック制御を再開するので、エンジン回転数が目標アイドル回転数に達する前のエンジン始動時における吸入空気量を、時間でなくエンジン回転数によりフィードバック制御でき、エンジン始動時中に、スロットルグリップの操作によって吸入空気量調整手段が開かれてエンジン回転数が目標アイドル回転数を越えた場合であっても、エンジン回転数の瞬間的な落ち込みを生じないようにすることができる。
【００１４】
請求項２に記載の発明によれば、始動時の値及び通常時の値は、エンジンの水温又は油温の上昇に比例して値が小さくなるので、エンジンのフリクションが低下に伴って吸入空気量を減少させることができ、エンジンのフリクションの低下に伴うエンジン回転数の上昇を抑えることができ、エンジン回転数を適切に制御することができる。
【００１５】
請求項３、４に記載の発明によれば、フィードバック制御の実行条件が成立した場合、つまり、変速機がニュートラル状態であり、スロットルグリップが操作されておらず、且つ、エンジン回転数及び吸入空気量調整手段の開度がアイドルフィードバック制御領域内にある場合に、フィードバック制御を行うので、適切なタイミングでフィードバック制御を実行することができる。
【００１６】
請求項５に記載の発明によれば、エンジン回転数及び吸入空気量調整手段の開度が、アイドルフィードバック制御領域内にあるか否かの判断が、頻繁に変わることを防止することができ、アイドルフィードバック制御領域内にあるか否かの判断を安定させることができる。
【００１７】
請求項６に記載の発明によれば、吸入空気量が上限値より大きい場合は、吸入空気量を上限値に制限し、吸入空気量が下限値より小さい場合は、吸入空気量を下限値に制限するので、エンジン回転数が過度に変動することがない。
【図面の簡単な説明】
【００１８】
【図１】本実施の形態に係るエンジン制御装置を有する鞍乗型自動二輪車の概略左側面図である。
【図２】エンジン制御装置の概略構成図である。
【図３】エンジン制御装置の動作を示すフローチャートである。
【図４】エンジン制御装置の動作を示すフローチャートである。
【図５】図３のアイドルフィードバック制御領域判定の動作を示すサブフローチャートである。
【図６】アイドルフィードバック制御領域を示す図である。
【図７】図３のアイドルフィードバック制御実行判断の動作を示すサブフローチャートである。
【図８】図３のフィードバック制御解除判断の動作を示すサブフローチャートである。
【図９】図３のアイドルフィードバック制御の動作示すサブフローチャートである。
【図１０】図３のアイドルフィードバック制御の動作を示すサブフローチャートである。
【図１１】図３のアイドルフィードバック制御のＩＣＭＤリミットチェックの動作を示すサブフローチャートである。
【図１２】図３のアイドル制御の動作を示すサブフローチャートである。
【図１３】図４のアイドルフェイルセーフ制御の動作を示すサブフローチャートである。
【図１４】図４のアイドル始動制御の動作を示すサブフローチャートである。
【図１５】図３のアイドル制御、アイドルフェイルセーフ制御、及びアイドル始動制御のＩＣＭＤリミットチェックの動作を示すサブフローチャートである。
【図１６】従来技術によって制御されるアイドル状態時のエンジン回転数と吸入空気量ＩＣＭＤのタイムチャートを示す図である。
【図１７】本実施の形態の制御部によって制御されるアイドル状態時のエンジン回転数ＩＡＣＮＥと吸入空気量ＩＣＭＤのタイムチャートを示す図である。
【発明を実施するための形態】
【００１９】
本発明に係るエンジン制御装置について、好適な実施の形態を掲げ、添付の図面を参照しながら以下、詳細に説明する。
【００２０】
図１は、本実施の形態に係るエンジン制御装置を有する鞍乗型自動二輪車（以下、自動二輪車という）１２の概略左側面図である。なお、発明の理解を容易にするために、特に指示のない限り、図１に示す矢印方向を基準として、前後及び上下の方向を説明するとともに、車体に着座した運転者から見た方向を基準として、左右の方向を説明する。
【００２１】
自動二輪車１２は、車体を構成する車体フレーム１４と、該車体フレーム１４の前端部に設けられたヘッドパイプ１６に回転自在に軸支される左右一対のフロントフォーク１８と、フロントフォーク１８に取り付けられる前輪（操舵輪）２０と、車体フレーム１４に支持される自動二輪車１２の駆動源であるエンジン２２と、車体フレーム下部のピボット部２４に揺動可能に支持されるスイングアーム２６と、該スイングアーム２６の後端部に取り付けられる後輪（駆動輪）２８とを備える。
【００２２】
車体フレーム１４は、例えば、高剛性を有するアルミ鋳造性のチューブフレームによって構成されている。車体フレーム１４は、ヘッドパイプ１６から斜め下方に延びる一対のメインフレーム３０と、該メインフレーム３０の後部に連接され下方に向かって延出するピボット部２４と、該メインフレーム３０の後部に取り付けられ後斜め上方に延びる左右一対のシートフレーム３２とを有する。
【００２３】
ヘッドパイプ１６の前方には、車体の前方を照射するヘッドライト３６が設けられている。ヘッドパイプ１６の上方には、前輪２０を操舵可能なハンドル３８が取り付けられ、このハンドル３８には、左右一対のバックミラー４０が取り付けられている。右側のハンドル３８には、自動二輪車１２の加速（エンジン回転数ＩＡＣＮＥの上昇）を指示する図示しないスロットルグリップが設けられている。
【００２４】
前輪２０は、このフロントフォーク１８の下端部に回転自在に軸支されており、その側面には、前輪に制動力を与えるブレーキ装置（ディスクブレーキ）２０ａが装着されている。また、フロントフォーク１８の下端部には、前輪２０を上方から覆うフロントフェンダ４２が取り付けられている。
【００２５】
エンジン２２は、例えば、水冷４ストロークＶ型４気筒エンジンであり、エンジン２２は、下端部に配置されるクランクケース４４と、４つのシリンダ（気筒）４６、４６、４６、４６とを備える。４つのシリンダ４６、４６、４６、４６のうち、２つのシリンダ４６、４６は、該クランクケース４４から斜め前上方に向けて左右に延設され、その後方において残りの２つのシリンダ４６、４６が斜め後上方に向けて左右に延設される。エンジン２２は、斜め前方に延設されたシリンダ４６、４６と斜め後方に延設されたシリンダ４６、４６とに挟まれた中間部がメインフレーム３０に固定支持されるとともに、後部がピボット部２４に固定支持されることで、その姿勢が固定される。
【００２６】
シリンダ４６、４６、４６、４６の内部には、図示しない点火を行う点火プラグ（点火装置）、及び、ピストンが収納されている（図示略）。一方、クランクケース４４の内部には、前記ピストンにコンロッドを介して連結されるクランク軸が軸支されている（図示略）。このエンジン２２の回転駆動力は、クランクケース４４から後方に延在する図示しないドライブシャフトによって伝達され、ドライブシャフトを介して後輪２８に伝達される。
【００２７】
エンジン２２の前方には、エンジン２２の放熱を行うラジエータ５０が配設される。さらに、エンジン２２の上方には、燃料タンク５２及び吸気装置５４が搭載される。吸気装置５４は、各シリンダ４６、４６、４６、４６に接続される吸気管５６、５６、５６、５６と、該吸気管５６、５６、５６、５６に接続されるエアクリーナ５８とを備える。吸気管５６には、シリンダ４６、４６、４６、４６に供給する空気量を調整するスロットルバルブ（吸入空気量調整手段）５７、５７、５７、５７が設けられている。スロットルバルブ５７、５７、５７、５７は、ＴＢＷ（スロットル・バイ・ワイヤ）方式によって、その開度が調整される。吸気装置５４は、取り込んだ空気の埃等をエアクリーナ５８によって除去し、該空気を吸気管５６、５６、５６、５６を介してシリンダ４６、４６、４６、４６に供給する。
【００２８】
一方、エンジン２２の下部には、排気装置６０が設けられている。排気装置６０は、シリンダ４６、４６、４６、４６にそれぞれ接続されてクランクケース４４の下部を回り込むようにして後ろに伸びる排気チューブ６２と、排気チューブ６２に連通して後輪２８の右側に配置される排気マフラー６４とを備え、エンジン２２からの排気ガスを排気する機能を有している。
【００２９】
スイングアーム２６は、ピボット部２４から後方に向かって略水平に延び、その後端部には、後輪２８が回転自在に軸支される。後輪２８の側面には、後輪２８に制動力を与えるブレーキ装置（ディスクブレーキ）２８ａが装着されている。スイングアーム２６の上部には、メインフレーム３０とスイングアーム２６とを弾性的に接続するリアクッション６６が取り付けられている。このリアクッション６６は、自動二輪車１２の走行時の振動を吸収する機能を有している。
【００３０】
一方、シートフレーム３２には、搭乗者（運転者及び同乗者）を載せるシート６８が配設されている。シート６８は、運転者が着座するフロントシート６８ａ、及びフロントシート６８ａの後方で同乗者が着座するリアシート６８ｂからなる、いわゆるタンデム型のシートが採用されている。また、シートフレーム３２の後部には、後方に延び、その後部下側から斜め下方に延びるリアフェンダ７０が取り付けられている。リアフェンダ７０には、テールランプユニット７２が取り付けられている。テールランプユニット７２には、ブレーキランプ７２ａ及び後側ウィンカランプ７２ｂが配設されている。
【００３１】
自動二輪車１２には、車体の前後方向に向けて車体の意匠（外観）を構成する車体カバー７４が取り付けられている。車体カバー７４は、ヘッドライト３６の周囲を覆うヘッドライトカバー７６と、ヘッドライト３６の上部においてスクリーン７８を支持するスクリーン支持カバー８０と、ハンドル３８の前方を覆うハンドルカバー８２と、ヘッドライト３６の両側面から後方向に延在する左右一対のサイドカウル８４とシートフレーム３２とともに後上方に伸び、該シートフレーム３２の両側面を覆うリアカウル８６とを有している。
【００３２】
車体カバー７４は、ヘッドライト３６及びスクリーン支持カバー８０を支持するカウルサポートステー８８を備え、このカウルサポートステー８８は、メインフレーム３０の前部に固定されている。カウルサポートステー８８は、ヘッドライト３６の後側に配設されるメータユニット９０を支持するとともに、その両側面には前側ウィンカランプ９２が取り付けられている。参照符号９４は、左右一対のメインフレーム３０の側面からサイドカウル８４を回り込んで前方にそれぞれ延出し、ヘッドライトカバー７６の下部に接続されるカウルガードパイプである。
【００３３】
図２は、スロットル・バイ・ワイヤ（Throttle-By-Wire）方式の自動二輪車１２に搭載されるエンジン制御装置１００の概略構成図である。図２において、Ｖ型４気筒のエンジン２２を模式的に表している。吸気管５６に設けられたスロットルバルブ５７は、エンジン２２の各シリンダ４６に吸入される吸入空気量ＩＣＭＤを調整する。吸気管５６には、スロットルバルブ５７を介してエンジン２２の各シリンダ４６の燃料室（図示略）に流入する空気に燃料を噴射して混合気を生成するインジェクタ（燃料噴射装置）１０２が設けられ、エンジン２２の各シリンダ４６には、流入した混合気を点火する点火プラグ１０４が設けられている。点火プラグ１０４が点火を行うことで、各シリンダ４６の前記燃焼室内にある混合気が燃焼することで、エンジン２２は、燃料エネルギーを動力に変換する。
【００３４】
モータ１０６は、スロットルバルブ５７の開度ＴＨを調整するものであり、ドライバ１０８によって駆動される。エンジン２２の出力軸であるクランク軸１１０は、ＤＣＴ（Dual Clutch Transmission）１１２を介して後輪２８に接続される。ＤＣＴ（変速機）１１２は、後輪２８に伝達させる動力を変速させるものである。
【００３５】
詳しくは、ＤＣＴ１１２は、奇数段のギアセット（例えば、１速ギア段、３速ギア段、５速ギア段）と偶数段のギアセット（例えば、２速ギア段、４速ギア段、６速ギア段）とを２つのクラッチで切り替えるトランスミッションであり、前記２つのクラッチを交互に繋ぎ変えることで瞬時に変速を行う。例えば、現在接続されているギアポジションが３速ギア段の場合には、２速ギア段又は４速ギア段が待機している状態となり、他方のクラッチに切り替えることで瞬時に変速を行うことができる。接続させるギア段を変えることでＤＣＴ１１２の変速比が変わる。１速ギア段が最も変速比が高く、６速ギア段が最も変速比が低い。
【００３６】
エンジン制御装置１００は、自動二輪車１２のハンドル３８に設けられた図示しないスロットルグリップ（アクセルグリップ）の開度を検出するスロットル開度センサ（スロットル開度検出手段）１１４と、スロットルバルブ５７の開度（スロットル開度）ＴＨを検出するスロットルバルブ開度センサ（スロットルバルブ開度検出手段）１１６と、エンジン２２の図示しない冷却水又は潤滑油の温度（水温又は油温）ＴＷを検出する水温又は油温センサ（水温検出手段又は油温検出手段）１１８と、エンジン２２のクランク軸１１０の回転数（エンジン回転数）ＩＡＣＮＥを検出する回転数センサ（回転数検出手段）１２０とを有する。スロットル開度センサ１１４、スロットルバルブ開度センサ１１６、水温又は油温センサ１１８、及び回転数センサ１２０が検出した信号は、ＥＣＵ（制御部）１２２に送られる。この各種センサは、所定の周期で検出を行う。
【００３７】
ＥＣＵ１２２は、上記各種センサによって検出された検出信号に基づいて、各スロットル開度ＴＨ、各インジェクタ１０２の燃料噴射量や噴射タイミングを制御するとともに、各点火プラグ１０４の点火時期を制御して、エンジン２２のエンジン回転数ＩＡＣＮＥを制御する。また、ＥＣＵ１２２は、スロットルグリップの開度に応じてスロットル開度ＴＨを制御する。
【００３８】
特に、ＥＣＵ１２２は、前記スロットルグリップの操作が行われていないときに（前記スロットルグリップの開度が０のときに）、つまり、アイドル状態のときに、エンジン回転数ＩＡＣＮＥがアイドル回転数ＮＯＢＪとなるようにスロットルバルブ５７をフィードバック制御するアイドルフィードバック制御を実行する。また、ＥＣＵ１２２は、アイドルフィードバック制御の実行条件が成立していない場合、アイドル状態時にエンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪに到達した場合は、エンジン２２の水温又は油温に応じて吸入空気量ＩＣＭＤを減少させるようにスロットルバルブ５７を制御するアイドル制御を実行する。その他、ＥＣＵ１２２は、各センサが異常の場合、エンジン２２がクランキング中の場合に、エンジン２２の水温又は油温に応じて吸入空気量ＩＣＭＤを減少させるようにスロットルバルブ５７を制御するアイドルフェイルセーフ制御、アイドル始動制御を実行する。
【００３９】
記憶部１２４は、ＥＣＵ１２２の制御に必要なプログラム、及びデータ（始動時の値ＩＴＷＳ、通常時の値ＩＴＷＡ等）が記憶されているとともに、ＥＣＵ１２２のワーキングメモリとしても使用される。また、記憶部１２４には、水温又は油温ＴＷに応じて吸入空気量ＩＣＭＤの下限値ＩＣＭＤＬＭＬが格納された下限値テーブルと、水温又は油温ＴＷに応じて吸入空気量ＩＣＭＤの上限値ＩＣＭＤＬＭＨが格納された上限値テーブルとが記憶されている。
【００４０】
次に、エンジン制御装置１００の動作を図３、図４のフローチャートにしたがって説明する。ＥＣＵ１２２は、エンジン２２の始動を開始すると、図３、図４のフローチャートに示す動作を一定の周期で実行する。この一定の周期は、前記所定の周期以上の長さである。
【００４１】
図３のステップＳ１で、ＥＣＵ１２２は、アイドルフィードバック制御領域判定を行う。アイドルフィードバック制御領域判定とは、現在の自動二輪車１２の運転状態が、アイドルフィードバック制御の実行可能な領域であるアイドルフィードバック制御領域内にあるか否かを判断する。このアイドルフィードバック制御領域判定については、後で詳しく説明する。
【００４２】
次いで、ＥＣＵ１２２は、フラグＦ＿ＣＲが０であるか否かを判断する。フラグＦ＿ＣＲは、現在クランキングが行われているかを示すフラグであり、クランキング中（エンジン２２の始動開始から自律運転を開始するまで）の場合は、フラグＦ＿ＣＲが１となる。このフラグＦ＿ＣＲの値は、記憶部１２４に記憶され、ＥＣＵ１２２は、現在クランキングを行っていると判断した場合は、フラグＦ＿ＣＲを１にする。このクランキング動作は、図示しないスタータモータによって行われる。エンジン回転数ＩＡＣＮＥがクランキング回転数より大きくなると、ＥＣＵ１２２は、フラグＦ＿ＣＲの値を０にする。
【００４３】
ステップＳ２で、現在クランキング中でないと判断すると、ＥＣＵ１２２は、スロットル開度センサ１１４、スロットルバルブ開度センサ１１６、水温又は油温センサ１１８、回転数センサ１２０等の各種センサが正常であるか否かを判断する（ステップＳ３）。
【００４４】
ステップＳ３で、各種センサが正常であると判断すると、ＥＣＵ１２２は、フラグＦ＿ＡＳＴが０であるか否かを判断する（ステップＳ４）。フラグＦ＿ＡＳＴは、アイドルフィードバック制御を通常モードで行うかエンジン始動後モードで行うかを示すフラグであり、通常モードの場合はフラグＦ＿ＡＳＴが１となり、エンジン始動後モードの場合はフラグＦ＿ＡＳＴが０となる。このフラグＦ＿ＡＳＴの値は、記憶部１２４に記憶され、初期値は０に設定され、ＥＣＵ１２２は、エンジン２２の始動後、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪになると、フラグＦ＿ＡＳＴを０から１に変更する。このエンジン回転数ＩＡＣＮＥは、回転数センサ１２０によって検出される。通常モードとは、暖機の終了後にアイドルフィードバック制御を行うモードであり、エンジン始動後モードとは、暖機中にアイドルフィードバック制御を行うモードである。
【００４５】
ステップＳ４で、フラグＦ＿ＡＳＴが０であると判断すると、吸入空気量ＩＣＭＤの基本供給値ＩＴＷを始動時の値ＩＴＷＳに設定して（ステップＳ５）、ステップＳ７に進む。一方、ステップＳ４で、フラグＦ＿ＡＳＴが１であると判断すると、基本供給値ＩＴＷを通常時の値ＩＴＷＡに設定して（ステップＳ６）、そのままステップＳ７に進む。この基本供給値ＩＴＷを元に吸入空気量ＩＣＭＤが求められる。通常時の値ＩＴＷＡは、始動時の値ＩＴＷＳより低い値であり、通常時の値ＩＴＷＡ及び始動時の値ＩＴＷＳは、水温又は油温ＴＷの上昇に比例して徐々にその値が減少する値である。つまり、水温又は油温ＴＷが同じ値の場合は、通常時の値ＩＴＷＡより始動時の値ＩＴＷＳの方が大きい値となる。
【００４６】
エンジン始動後モードの場合は、基本供給値ＩＴＷを、通常時の値ＩＴＷＡより大きい始動時の値ＩＴＷＳに設定するので、通常モードの場合に比べ、吸入空気量ＩＣＭＤが多くなる。エンジン始動後モードの場合は、潤滑油の温度が低く粘性抵抗（フリクション）が高いため、エンジン回転数ＩＡＣＮＥが不安定となりエンストを起こし易いが、吸入空気量ＩＣＭＤを多くするのでかかる弊害を防止することができるとともに、水温及び油温ＴＷが早く上昇し、エンジン回転数ＩＡＣＮＥを早く目標アイドル回転数ＮＯＢＪに近づけることができる。
【００４７】
ステップＳ７に進むと、ＥＣＵ１２２は、アイドルフィードバック制御の実行条件が成立したか否かを判断するアイドルフィードバック制御実行判断を行う。ＥＣＵ１２２は、アイドルフィードバック制御実行判断により、アイドルフィードバック制御の実行条件が成立したと判断した場合は、フラグＦ＿ＡＩＳＦＢＣを１にし、アイドルフィードバック制御の実行条件が成立していないと判断した場合は、フラグＦ＿ＡＩＳＦＢＣを０にする。このフラグＦ＿ＡＩＳＦＢＣの値は、記憶部１２４に記憶される。アイドルフィードバック制御実行判断については、後で詳しく説明する。
【００４８】
次いで、ＥＣＵ１２２は、アイドルフィードバック制御を一時解除（停止）するか否かを判断するフィードバック制御解除判断を行う（ステップＳ８）。ＥＣＵ１２２は、フィードバック制御解除判断により、アイドルフィードバック制御を一時解除すると判断した場合は、フラグＦ＿ＦＢＣＡＮを１にし、アイドルフィードバック制御を一時解除しない、つまり、アイドルフィードバック制御を継続すると判断した場合は、フラグＦ＿ＦＢＣＡＮを０にする。このフラグＦ＿ＦＢＣＡＮの値は、記憶部１２４に記憶される。フィードバック制御解除判断については、後で詳しく説明するが、簡単に説明すると、暖機状態から非暖機状態になると、つまり、アイドルフィードバック制御がエンジン始動後モードから通常モードに切り替わると（フラグＦ＿ＡＳＴが０から１になると）、吸入空気量ＩＣＭＤが目標値まで減少するまでは、アイドルフィードバック制御を一時解除すると判断して、フラグＦ＿ＦＢＣＡＮを１にする。ＥＣＵ１２２は、暖機状態を検出する暖機状態検出手段として機能する。
【００４９】
次いで、ＥＣＵ１２２は、フラグＦ＿ＦＢＣＡＮが０であるか否かを判断する（ステップＳ９）。上述したように、フラグＦ＿ＦＢＣＡＮは、アイドルフィードバック制御を一時解除するかを示すフラグであり、アイドルフィードバック制御を一時解除する場合は、フラグＦ＿ＦＢＣＡＮが１となる。
【００５０】
ステップＳ９で、フラグＦ＿ＦＢＣＡＮが０であると判断すると、ＥＣＵ１２２は、フラグＦ＿ＡＩＳＦＢＣが１であるか否かを判断する（ステップＳ１０）。上述したように、フラグＦ＿ＡＩＳＦＢＣは、アイドルフィードバック制御の実行条件が成立したか否かを示すフラグであり、アイドルフィードバック制御の実行条件が成立した場合は、フラグＦ＿ＡＩＳＦＢＣは１となる。
【００５１】
ステップＳ１０で、フラグＦ＿ＡＩＳＦＢＣが１であると判断すると、ＥＣＵ１２２は、アイドルフィードバック制御を実行すると判断し、フラグＦ＿ＡＩＳＦＢを１にする（ステップＳ１１）。フラグＦ＿ＡＩＳＦＢは、アイドルフィードバック制御を実行することを示すフラグであり、アイドルフィードバック制御を実行する場合は、フラグＦ＿ＡＩＳＦＢが１となる。このフラグＦ＿ＡＩＳＦＢの値は、記憶部１２４に記憶される。
【００５２】
次いで、ＥＣＵ１２２は、アイドルフィードバック制御を実行する（ステップＳ１２）。このアイドルフィードバック制御により、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪとなるような吸入空気量ＩＣＭＤが定まる。アイドルフィードバック制御については、後で詳しく説明する。
【００５３】
次いで、ＥＣＵ１２２は、アイドルフィードバック制御のＩＣＭＤリミットチェックを行う（ステップＳ１３）。ステップＳ１３では、アイドルフィードバック制御によって定まった吸入空気量ＩＣＭＤのリミットチェックを行い、吸入空気量ＩＣＭＤが上限値ＩＣＭＤＬＭＨを超えている場合、下限値ＩＣＭＤＬＭＬに満たない場合は、吸入空気量ＩＣＭＤを制限する。ステップＳ１３のアイドルフィードバック制御のＩＣＭＤリミットチェックについては、後で詳しく説明する。ＥＣＵ１２２は、このＩＣＭＤリミットチェック後の吸入空気量ＩＣＭＤに基づいて、ドライバ１０８を制御することで、スロットル開度ＴＨを制御する。
【００５４】
一方、ステップＳ９で、フラグＦ＿ＦＢＣＡＮが１である（アイドルフィードバック制御を一時解除する）と判断した場合、ステップＳ１０で、Ｆ＿ＡＩＳＦＢＣが０である（アイドルフィードバック制御の実行条件が不成立である）と判断した場合は、ＥＣＵ１２２は、アイドルフィードバック制御を実行しないと判断し、フラグＦ＿ＡＩＳＦＢを０にする（ステップＳ１４）。
【００５５】
次いで、ＥＣＵ１２２は、アイドル制御を行う（ステップＳ１５）。このアイドル制御により、水温又は油温ＴＷに応じて減少するように吸入空気量ＩＣＭＤが定められる。このアイドル制御については、後で詳しく説明する。
【００５６】
次いで、ＥＣＵ１２２は、アイドル制御、アイドルフェイルセーフ制御、及びアイドル始動制御のＩＣＭＤリミットチェックを行う（ステップＳ１６）。ステップＳ１６では、アイドル制御、アイドルフェイルセーフ制御、アイドル始動制御によって定まった吸入空気量ＩＣＭＤのリミットチェックを行い、吸入空気量ＩＣＭＤが上限値ＩＣＭＤＬＭＨを超えている場合、下限値ＩＣＭＤＬＭＬに満たない場合は、吸入空気量ＩＣＭＤを制限する。ステップＳ１６のＩＣＭＤリミットチェックについては、後で詳しく説明する。ＥＣＵ１２２は、このＩＣＭＤリミットチェック後の吸入空気量ＩＣＭＤに基づいて、ドライバ１０８を制御することで、スロットル開度ＴＨを制御する。
【００５７】
一方、ステップＳ３で、各種センサが異常であると判断すると、図４のステップＳ１７に進み、ＥＣＵ１２２は、フラグＦ＿ＡＩＳＦＢを０にし、アイドルフェイルセーフ制御を行って（ステップＳ１８）、図３のステップＳ１６に進む。このアイドルフェイルセーフ制御により吸入空気量ＩＣＭＤが定められる。アイドルフェイルセーフ制御については、後で詳しく説明する。
【００５８】
一方、ステップＳ２で、フラグＦ＿ＣＲが１である（クランキング中である）と判断すると、図４のステップＳ１９に進み、ＥＣＵ１２２は、フラグＦ＿ＡＩＳＦＢを０にし、アイドル始動制御を行って（ステップＳ２０）、図３のステップＳ１６に進む。このアイドル始動制御によりクランキング中の吸入空気量ＩＣＭＤが定められる。アイドル始動制御については、後で詳しく説明する。
【００５９】
次に、アイドルフィードバック制御領域判定の動作を図５のサブフローチャートにしたがって説明する。
【００６０】
図３のステップＳ１に進み、アイドルフィードバック制御領域判定を開始すると、図５のステップＳ３１に進み、ＥＣＵ１２２は、フラグＦ＿ＩＡＣＺが１であるか否かを判断する。フラグＦ＿ＩＡＣＺは、自動二輪車１２の運転状態がアイドルフィードバック制御領域内であるか否かを示すフラグであり、アイドルフィードバック制御領域内である場合は、フラグＦ＿ＩＡＣＺは１となる。このフラグＦ＿ＩＡＣＺの値は、記憶部１２４に記憶されている。つまり、ステップＳ３１では、前回のアイドルフィードバック制御領域判定により、自動二輪車１２の運転状態がアイドルフィードバック制御領域内であると判定したか否かを判断している。
【００６１】
ステップＳ３１で、フラグＦ＿ＩＡＣＺが１であると判断すると、ＥＣＵ１２２は、エンジン回転数ＩＡＣＮＥが所定回転数（第１回転数）ＮＡ以下であるか否かを判断する（ステップＳ３２）。このエンジン回転数ＩＡＣＮＥは、回転数センサ１２０によって検出され、所定回転数ＮＡの値は、記憶部１２４に記憶されている。
【００６２】
ステップＳ３２で、エンジン回転数ＩＡＣＮＥが所定回転数ＮＡ以下であると判断すると、ＥＣＵ１２２は、スロットル開度ＴＨが上限スロットル開度（上限開度）Ｃ＿ＴＨＩＤＬＥＨ以下であるか否かを判断する（ステップＳ３３）。このスロットル開度ＴＨは、スロットルバルブ開度センサ１１６によって検出され、上限スロットル開度Ｃ＿ＴＨＩＤＬＥＨの値は、記憶部１２４に記憶されている。
【００６３】
ステップＳ３３で、スロットル開度ＴＨが上限スロットル開度Ｃ＿ＴＨＩＤＬＥＨ以下であると判断すると、自動二輪車１２の運転状態がアイドルフィードバック制御領域内にあると判定し、フラグＦ＿ＩＡＣＺを１にする（ステップＳ３４）。
【００６４】
一方、ステップＳ３２で、エンジン回転数ＩＡＣＮＥが所定回転数ＮＡ以下でないと判断した場合、ステップＳ３３で、スロットル開度ＴＨが上限スロットル開度Ｃ＿ＴＨＩＤＬＥＨ以下でないと判断した場合は、ＥＣＵ１２２は、自動二輪車１２の運転状態がアイドルフィードバック制御領域内にないと判定し、フラグＦ＿ＩＡＣＺを０にする（ステップＳ３５）。
【００６５】
ステップＳ３１で、フラグＦ＿ＩＡＣＺが０であると判断すると、ＥＣＵ１２２は、エンジン回転数ＩＡＣＮＥが、所定回転数ＮＡからヒス幅Ｃ＿ＮＡＨを減算した値（第２回転数）以下であるか否かを判断する（ステップＳ３６）。このヒス幅Ｃ＿ＮＡＨは記憶部１２４に記憶されている。
【００６６】
ステップＳ３６で、ＥＣＵ１２２は、エンジン回転数ＩＡＣＮＥが、所定回転数ＮＡからヒス幅Ｃ＿ＮＡＨを減算した値以下であると判断した場合は、ＥＣＵ１２２は、スロットル開度ＴＨが下限スロットル開度（下限開度）Ｃ＿ＴＨＩＤＬＥＬ以下であるか否かを判断する（ステップＳ３７）。この下限スロットル開度Ｃ＿ＴＨＩＤＬＥＬは、上限スロットル開度Ｃ＿ＴＨＩＤＬＥＨより小さい値であり、記憶部１２４に記憶されている。
【００６７】
ステップＳ３７で、スロットル開度ＴＨが下限スロットル開度Ｃ＿ＴＨＩＤＬＥＬ以下であると判断すると、ＥＣＵ１２２は、自動二輪車１２の運転状態がアイドルフィードバック制御領域内にあると判定し、フラグＦ＿ＩＡＣＺを１にする（ステップＳ３８）。
【００６８】
一方、ステップＳ３６で、エンジン回転数ＩＡＣＮＥが、所定回転数ＮＡからヒス幅Ｃ＿ＮＡＨを減算した値以下でないと判断した場合、ステップＳ３７で、スロットル開度ＴＨが下限スロットル開度Ｃ＿ＴＨＩＤＬＥＬ以下でないと判断した場合は、ＥＣＵ１２２は、自動二輪車１２の運転状態がアイドルフィードバック制御領域内にないと判定し、フラグＦ＿ＩＡＣＺを０にする（ステップＳ３９）。
【００６９】
図６は、アイドルフィードバック制御領域を示す図であり、アイドルフィードバック制御領域は、エンジン回転数ＩＡＣＮＥとスロットル開度ＴＨとによって定められる。前回の運転状態がアイドルフィードバック制御領域内にあると判断した場合は、ＥＣＵ１２２は、エンジン回転数ＩＡＣＮＥ及びスロットル開度ＴＨが、所定回転数ＮＡと上限スロットル開度Ｃ＿ＴＨＩＤＬＥＨとで定められる領域（斜線及び網線で示す領域）内にあるか否かを判断する。また、前回の運転状態がアイドルフィードバック制御領域内にないと判断した場合は、ＥＣＵ１２２は、エンジン回転数ＩＡＣＮＥ及びスロットル開度ＴＨが、所定回転数ＮＡ−（マイナス）Ｃ＿ＮＡＨと下限スロットル開度Ｃ＿ＴＨＩＤＬＥＬとで定められる領域（網線で示す領域）内にあるか否かを判断する。ここで、前回の運転状態がアイドルフィードバック制御領域内にあるか否かで、アイドルフィードバック制御領域にヒステリシスを設けたのは、現在の運転状態がフィードバック制御領域内にあるか否かの判断が頻繁に変わることを防止するためである。
【００７０】
次に、アイドルフィードバック制御実行判断の動作を図７のサブフローチャートにしたがって説明する。
【００７１】
図３のステップＳ７に進み、アイドルフィードバック制御実行判断を開始すると、図７のステップＳ４１に進み、ＥＣＵ１２２は、現在の自動二輪車１２の運転状態が無負荷運転であるか否かを判断する。無負荷運転とは、ＤＣＴ１１２のギア段が接続されていないニュートラル状態のことをいう。
【００７２】
ステップＳ４１で、現在の自動二輪車１２の運転状態が無負荷運転であると判断すると、ＥＣＵ１２２は、前記スロットルグリップが全閉であるか否か（運転者によって前記スロットルグリップが操作されていないか否か）を判断する（ステップＳ４２）。この判断は、スロットル開度センサ１１４の検出信号に基づいて判断する。
【００７３】
ステップＳ４２で、前記スロットルグリップが全閉であると判断すると（前記スロットルグリップが操作されていないと判断すると）、ＥＣＵ１２２は、フラグＦ＿ＩＡＣＺが１であるか否かを判断する（ステップＳ４３）。つまり、ＥＣＵ１２２は、ステップＳ１のアイドルフィードバック制御領域判定によって、自動二輪車１２の運転状態がアイドルフィードバック制御領域内にあると判定されたか否かを判断している。
【００７４】
ステップＳ４３で、フラグＦ＿ＩＡＣＺが１であると判断すると、ＥＣＵ１２２は、アイドルフィードバック制御の実行条件が成立したと判断し、フラグＦ＿ＡＩＳＦＢＣを１にする（ステップＳ４４）。
【００７５】
一方、ステップＳ４１で無負荷運転でないと判断された場合（運転者によって何れかのギア段が接続された場合）、ステップＳ４２でスロットルグリップが全閉でないと判断された場合（運転者によって前記スロットルグリップが操作された場合）、ステップＳ４３でフラグＦ＿ＩＡＣＺが０であると判断された場合は、ＥＣＵ１２２は、アイドルフィードバック制御の実行条件が不成立であると判断し、フラグＦ＿ＡＩＳＦＢＣを０にする（ステップＳ４５）。つまり、運転者によって自動二輪車１２を走行させる操作が行われた場合は、フラグＦ＿ＡＩＳＦＢＣを０にする。これにより、図３のステップＳ１０でＮｏに分岐するので、アイドルフィードバック制御が解除される。
【００７６】
次に、フィードバック制御解除判断の動作を図８のサブフローチャートにしたがって説明する。
【００７７】
図３のステップＳ８に進み、フィードバック制御解除判断を開始すると、図８のステップＳ５１に進み、ＥＣＵ１２２は、解除判断状態ＩＡＣＩＮＳＴが０であるか否かを判断する。解除判断状態ＩＡＣＩＮＳＴの初期値は０に設定されている。この解除判断状態ＩＡＣＩＮＳＴの値は、記憶部１２４に記憶される。
【００７８】
ステップＳ５１で、解除判断状態ＩＡＣＩＮＳＴが０であると判断すると、ＥＣＵ１２２は、フラグＦ＿ＡＳＴが１であるか否かを判断する（ステップＳ５２）。
【００７９】
ステップＳ５２で、フラグＦ＿ＡＳＴが０であると判断すると（アイドルフィードバック制御をエンジン始動後モードで行うと判断すると）、ＥＣＵ１２２は、アイドルフィードバック制御を一時解除させないと判断して、フラグＦ＿ＦＢＣＡＮを０にする（ステップＳ５３）。つまり、解除判断状態ＩＡＣＩＮＳＴが０であり、フラグＦ＿ＡＳＴが０のときは、フラグＦ＿ＦＢＣＡＮが０となるので、図３のステップＳ９でＹｅｓに分岐し、フラグＦ＿ＡＩＳＦＢＣが１であれば（ステップＳ１０でＹｅｓ）、ステップＳ１２でアイドルフィードバック制御が行われる。ここで、ＥＣＵ１２２は、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪ以上になると、フラグＦ＿ＡＳＴを０から１にするので、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪとなるまで、アイドルフィードバック制御が継続して行われる。
【００８０】
一方、ステップＳ５２で、フラグＦ＿ＡＳＴが１であると判断すると、ステップＳ５４に進み、ＥＣＵ１２２は、アイドルフィードバック制御を一時解除すると判断して、解除判断状態ＩＡＣＩＮＳＴを１にするとともに、フラグＦ＿ＦＢＣＡＮを１にする（ステップＳ５５）。つまり、解除判断状態ＩＡＣＩＮＳＴが１になると、フラグＦ＿ＦＢＣＡＮが１となり、図３のステップＳ９でＮｏに分岐するので、アイドルフィードバック制御が一時解除され、ステップＳ１５でアイドル制御が行われる。
【００８１】
ステップＳ５１で、解除判断状態ＩＡＣＩＮＳＴが０でないと判断すると、ＥＣＵ１２２は、解除判断状態ＩＡＣＩＮＳＴが１であるか否かを判断する（ステップＳ５６）。
【００８２】
ステップＳ５６で、解除判断状態ＩＡＣＩＮＳＴが１であると判断すると、ＥＣＵ１２２は、フラグＦ＿ＡＩＳＦＢＣが１であるか否かを判断する（ステップＳ５７）。つまり、ステップＳ５７では、現在フィードバック制御の実行条件が成立しているか否かを判断している。
【００８３】
ステップＳ５７で、フラグＦ＿ＡＩＳＦＢＣが１であると判断すると（フィードバック制御の実行条件が成立していると判断すると）、ＥＣＵ１２２は、フラグＦ＿ＴＨＮＭＲＣＨが１であるか否かを判断する（ステップＳ５８）。フラグＦ＿ＴＨＮＭＲＣＨは、アイドル制御によって、吸入空気量ＩＣＭＤが目標値まで減少したか否かを示すフラグであり、ＥＣＵ１２２は、アイドル制御によって、吸入空気量ＩＣＭＤが目標値にまで減少すると、フラグＦ＿ＴＨＮＭＲＣＨを０から１にする。このフラグＦ＿ＴＨＮＭＲＣＨの値は記憶部１２４に記憶され、初期値は０に設定されている。
【００８４】
ステップＳ５８で、フラグＦ＿ＴＨＮＭＲＣＨが１でないと判断すると、ＥＣＵ１２２は、フラグＦ＿ＦＢＣＡＮを１にする（ステップＳ５９）。フラグＦ＿ＦＢＣＡＮが１の場合は、図３のステップＳ９でＮｏに分岐するので、ステップＳ１５でアイドル制御が継続して行われる。つまり、原則として、解除判断状態ＩＡＣＩＮＳＴが１の場合は、吸入空気量ＩＣＭＤが目標値まで減少するまで、アイドル制御が行われる。
【００８５】
一方、ステップＳ５７でＦ＿ＡＩＳＦＢＣが１でないと判断された場合、ステップＳ５８でフラグＦ＿ＴＨＮＭＲＣＨが１であると判断された場合は、ＥＣＵ１２２は、解除判断状態ＩＡＣＩＮＳＴを２にし（ステップＳ６０）、フラグＦ＿ＦＢＣＡＮを０にする（ステップＳ６１）。つまり、吸入空気量ＩＣＭＤが目標値に到達すると、解除判断状態ＩＡＣＩＮＳＴが２となって、フラグＦ＿ＦＢＣＡＮが０となるので、図３のステップＳ９でＹｅｓに分岐し、ステップＳ１２でアイドルフィードバック制御が再開される。また、フラグＦ＿ＡＩＳＦＢＣが１でない場合（アイドルフィードバック制御の実行条件が不成立の場合）、解除判断状態ＩＡＣＩＮＳＴが２となって、フラグＦ＿ＦＢＣＡＮが０となるが、図３のステップＳ１０でＮｏに分岐し、ステップＳ１５でアイドル制御が行われることになる。
【００８６】
ステップＳ５６で、解除判断状態ＩＡＣＩＮＳＴが１でない、つまり、２であると判断すると、ＥＣＵ１２２は、フラグＦ＿ＦＢＣＡＮを０にする（ステップＳ６２）。解除判断状態ＩＡＣＩＮＳＴが２の場合は、フラグＦ＿ＦＢＣＡＮが０となるので、図３のステップＳ９でＹｅｓに分岐し、ステップＳ１２でアイドルフィードバック制御が行われる。
【００８７】
このように、エンジン２２が始動してからエンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪに到達するまでは、アイドルフィードバック制御を一時解除しないと判断し（フラグＦ＿ＦＢＣＡＮ＝０）、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪに到達してから、吸入空気量ＩＣＭＤが目標値になるまでは、アイドルフィードバック制御を一時解除すると判断し（フラグＦ＿ＦＢＣＡＮ＝１）、吸入空気量ＩＣＭＤが目標値になると、アイドルフィードバック制御を一時解除しないと判断する（フラグＦ＿ＦＢＣＡＮ＝０）。
【００８８】
次に、アイドルフィードバック制御の動作を図９、図１０のフローチャートにしたがって説明する。
【００８９】
図３のステップＳ１２に進み、アイドルフィードバック制御を開始すると、図９のステップＳ７１に進み、ＥＣＵ１２２は、前回のフラグＦ＿ＡＩＳＦＢの値が０であるか否かを判断する。前回の図３のフローチャートに示す動作によってアイドルフィードバック制御を実行すると判断されていない場合は、前回のフラグＦ＿ＡＩＳＦＢは０となり、前回の動作によってアイドルフィードバック制御を実行すると判断された場合は、前回のフラグＦ＿ＡＩＳＦＢが１となる。
【００９０】
ステップＳ７１で、前回のフラグＦ＿ＡＩＳＦＢの値が０であると判断すると、ＥＣＵ１２２は、アイドルフィードバック制御を開始すると判断し、アイドルフィードバック制御の制御値ＩＦＢを、制御値ＩＦＢ＝学習値ＩＸＲＥＦ＋基本供給値ＩＴＷ、関係式から求めて（ステップＳ７２）、ステップＳ７３に進む。ここで、基本供給値ＩＴＷは、フラグＦ＿ＡＳＴが０の場合は、始動時の値ＩＴＷＳとなり、フラグＦ＿ＡＳＴが１の場合は、通常時の値ＩＴＷＡとなる。エンジン２２の使用によりシリンダ４６に実際に吸入される空気量が変わってくるので、学習値ＩＸＲＥＦは、吸入空気量ＩＣＭＤを補正するために、過去のシリンダ４６に実際に吸入された空気量から求めた学習値である。つまり、エンジン２２の使用により、吸入空気量ＩＣＭＤとなるようにスロットルバルブ５７の開度を制御するが、実際にエンジン２２に吸入される空気量は、該吸入空気量ＩＣＭＤとならないので、学習値ＩＸＲＥＦにより吸入空気量ＩＣＭＤを補正する。なお、図示しないが吸気管５６には、実際に吸入された空気量を検出するセンサが設けられている。
【００９１】
一方、ステップＳ７１で、前回のフラグＦ＿ＡＩＳＦＢの値が１であると判断すると、ＥＣＵ１２２は、アイドルフィードバック制御の継続中であると判断して、そのままステップＳ７３に進む。
【００９２】
ステップＳ７３に進むと、ＥＣＵ１２２は、水温又は油温ＴＷが所定温度Ｃ＿ＩＣＴＷＬ以上であるか否かを判断する。水温又は油温ＴＷは、水温又は油温センサ１１８によって検出され、所定温度Ｃ＿ＩＣＴＷＬの値は、記憶部１２４に記憶されている。
【００９３】
ステップＳ７３で、水温又は油温センサ１１８が検出した水温又は油温ＴＷが所定温度Ｃ＿ＩＣＴＷＬ以上であると判断すると、ＥＣＵ１２２は、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪ以上であるか否かを判断する（ステップＳ７４）。
【００９４】
ステップＳ７４で、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪ以上であると判断すると、ＥＣＵ１２２は、エンジン回転数ＩＡＣＮＥが、目標アイドル回転数ＮＯＢＪと高温時エンジン回転数幅Ｃ＿ＤＮＥＰＩＤＨとを加算した値以上であるか否かを判断する（ステップＳ７５）。この高温時エンジン回転数幅Ｃ＿ＤＮＥＰＩＤＨの値は、記憶部１２４に記憶されている。
【００９５】
ステップＳ７５で、エンジン回転数ＩＡＣＮＥが、目標アイドル回転数ＮＯＢＪと高温時エンジン回転数幅Ｃ＿ＤＮＥＰＩＤＨとを加算した値以上であると判断すると、ＥＣＵ１２２は、ＰＩＤ制御のＰ項乗算係数Ｋｐを、予め決められた高温時第１Ｐ項係数Ｃ＿ＫＰ１ＨＨに、Ｄ項乗算係数Ｋｄを、予め決められた高温時第１Ｄ項係数Ｃ＿ＫＤ１ＨＨに設定して（ステップＳ７６）、ステップＳ８４に進む。
【００９６】
一方、ステップＳ７５で、エンジン回転数ＩＡＣＮＥが、目標アイドル回転数ＮＯＢＪと高温時エンジン回転数幅Ｃ＿ＤＮＥＰＩＤＨとを加算した値未満であると判断すると、ＥＣＵ１２２は、ＰＩＤ制御のＰ項乗算係数Ｋｐを、予め決められた高温時第２Ｐ項係数Ｃ＿ＫＰ１Ｈに、Ｄ項乗算係数Ｋｄを、予め決められた高温時第２Ｄ項係数Ｃ＿ＫＤ１Ｈに設定して（ステップＳ７７）、ステップＳ８４に進む。
【００９７】
ステップＳ７４で、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪ未満であると判断すると、ＥＣＵ１２２は、ＰＩＤ制御のＰ項乗算係数Ｋｐを、予め決められた高温時第３Ｐ項係数Ｃ＿ＫＰ１Ｌに、Ｄ項乗算係数Ｋｄを、予め決められた高温時第３Ｄ項係数Ｃ＿ＫＤ１Ｌに設定して（ステップＳ７８）、ステップＳ８４に進む。
【００９８】
この高温時第１Ｐ項係数Ｃ＿ＫＰ１ＨＨ、高温時第２Ｐ項係数Ｃ＿ＫＰ１Ｈ、及び高温時第３Ｐ項係数Ｃ＿ＫＰ１Ｌの値と、高温時第１Ｄ項係数Ｃ＿ＫＤ１ＨＨ、高温時第２Ｄ項係数Ｃ＿ＫＤ１Ｈ、及び高温時第３Ｄ項係数Ｃ＿ＫＤ１Ｌの値は、記憶部１２４に記憶されている。
【００９９】
ステップＳ７３で、水温又は油温ＴＷが所定温度Ｃ＿ＩＣＴＷＬ以上でないと判断すると、図１０のステップＳ７９に進み、ＥＣＵ１２２は、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪ以上であるか否かを判断する。
【０１００】
ステップＳ７９で、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪ以上であると判断すると、ＥＣＵ１２２は、エンジン回転数ＩＡＣＮＥが、目標アイドル回転数ＮＯＢＪと低温時エンジン回転数幅Ｃ＿ＤＮＥＰＩＤＬとを加算した値以上であるか否かを判断する（ステップＳ８０）。この低温時エンジン回転数幅Ｃ＿ＤＮＥＰＩＤＬは、記憶部１２４に記憶されている。
【０１０１】
ステップＳ８０で、エンジン回転数ＩＡＣＮＥが、目標アイドル回転数ＮＯＢＪと低温時エンジン回転数幅Ｃ＿ＤＮＥＰＩＤＬとを加算した値以上であると判断すると、ＥＣＵ１２２は、ＰＩＤ制御のＰ項乗算係数Ｋｐを、予め決められた低温時第１Ｐ項係数Ｃ＿ＫＰ３ＨＨに、Ｄ項乗算係数Ｋｄを、予め決められた低温時第１Ｄ項係数Ｃ＿ＫＤ３ＨＨに設定して（ステップＳ８１）、図９のステップＳ８４に進む。
【０１０２】
一方、ステップＳ８０で、エンジン回転数ＩＡＣＮＥが、目標アイドル回転数ＮＯＢＪと低温時エンジン回転数幅Ｃ＿ＤＮＥＰＩＤＬとを加算した値未満であると判断すると、ＥＣＵ１２２は、ＰＩＤ制御のＰ項乗算係数Ｋｐを、予め決められた低温時第２Ｐ項係数Ｃ＿ＫＰ３Ｈに、Ｄ項乗算係数Ｋｄを、予め決められた低温時第２Ｄ項係数Ｃ＿ＫＤ３Ｈに設定して（ステップＳ８２）、図９のステップＳ８４に進む。
【０１０３】
ステップＳ７９で、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪ未満であると判断すると、ＥＣＵ１２２は、ＰＩＤ制御のＰ項乗算係数Ｋｐを、予め決められた低温時第３Ｐ項係数Ｃ＿ＫＰ３Ｌに、Ｄ項乗算係数Ｋｄを、予め決められた低温時第３Ｄ項係数Ｃ＿ＫＤ３Ｌに設定して（ステップＳ８３）、図９のステップＳ８４に進む。
【０１０４】
この低温時第１Ｐ項係数Ｃ＿ＫＰ３ＨＨ、低温時第２Ｐ項係数Ｃ＿ＫＰ３Ｈ、及び低温時第３Ｐ項係数Ｃ＿ＫＰ３Ｌの値と、低温時第１Ｄ項係数Ｃ＿ＫＤ３ＨＨ、低温時第２Ｄ項係数Ｃ＿ＫＤ３Ｈ、及び低温時第３Ｄ項係数Ｃ＿ＫＤ３Ｌの値は、記憶部１２４に記憶されている。
【０１０５】
ステップＳ８４に進むと、ＥＣＵ１２２は、Ｐ項乗算係数Ｋｐと、目標アイドル回転数ＮＯＢＪから現在のエンジン回転数ＩＡＣＮＥを減算した値ＤＮＯＢＪとを乗算して、Ｐ項の値ＩＰを求め、Ｄ項乗算係数Ｋｄと、前回のエンジン回転数ＩＡＣＮＥから現在のエンジン回転数ＩＡＣＮＥを減算した値ＤＮＥＣＹＬとを乗算して、Ｄ項の値ＩＤを求める。
【０１０６】
次いで、ＥＣＵ１２２は、前回の制御値ＩＦＢとステップＳ８４で求めた値ＩＰと値ＩＤとを加算して、新たな制御値ＩＦＢを求め（ステップＳ８５）、新たに求めた該制御値ＩＦＢと大気圧補正係数ＫＩＰＡとを乗算して、吸入空気量ＩＣＭＤを求める（ステップＳ８６）。
【０１０７】
このように、アイドルフィードバック制御は、基本供給値ＩＴＷを用いて、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪとなるように吸入空気量ＩＭＣＤを求める。ここで、アイドルフィードバック制御は、求めた該吸入空気量ＩＣＭＤとなるように、スロットルバルブ５７の開度を制御するが、アイドルフィードバック制御のＩＣＭＤリミットチェックの動作を経た後で、スロットルバルブ５７の開度を制御する。なお、基本供給値ＩＴＷは、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪに到達するまでは始動時の値ＩＴＷＳであり、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪに到達した後は、通常時の値ＩＴＷＡであることは言うまでもない。
【０１０８】
次に、アイドルフィードバック制御のＩＣＭＤリミットチェックの動作を図１１のサブフローチャートにしたがって説明する。
【０１０９】
図３のステップＳ１３に進み、アイドルフィードバック制御のＩＣＭＤリミットチェックを開始すると、図１１のステップＳ９１に進み、ＥＣＵ１２２は、記憶部１２４に記憶されたＩＣＭＤ下限値テーブルから現在の水温又は油温ＴＷに応じた吸入空気量ＩＣＭＤの下限値ＩＣＭＤＬＭＬを取得する。
【０１１０】
次いで、ＥＣＵ１２２は、記憶部１２４に記憶されたＩＣＭＤ上限値テーブルから現在の水温又は油温ＴＷに応じた吸入空気量ＩＣＭＤの上限値ＩＣＭＤＬＭＨを取得する（ステップＳ９２）。
【０１１１】
次いで、ＥＣＵ１２２は、アイドルフィードバック制御によって求めた吸入空気量ＩＣＭＤが下限値ＩＣＭＤＬＭＬより小さいか否かを判断する（ステップＳ９３）。
【０１１２】
ステップＳ９３で、求めた吸入空気量ＩＣＭＤが下限値ＩＣＭＤＬＭＬより小さくないと判断すると、ＥＣＵ１２２は、該吸入空気量ＩＣＭＤが上限値ＩＣＭＤＬＭＨより大きいか否かを判断する（ステップＳ９４）。
【０１１３】
ステップＳ９４で、求めた吸入空気量ＩＣＭＤが上限値ＩＣＭＤＬＭＨより大きくないと判断すると、ＥＣＵ１２２は、アイドルフィードバック制御のＩＣＭＤリミットチェックを終了し、ステップＳ９４で、該吸入空気量ＩＣＭＤが上限値ＩＣＭＤＬＭＨより大きいと判断すると、ＥＣＵ１２２は、吸入空気量ＩＣＭＤを上限値ＩＣＭＤＬＭＨに設定する（ステップＳ９５）。つまり、吸入空気量ＩＣＭＤが上限値ＩＣＭＤＬＭＨより大きい場合は、該吸入空気量ＩＣＭＤを上限値ＩＣＭＤＬＭＨに制限する。
【０１１４】
次いで、ＥＣＵ１２２は、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪより大きいか否かを判断する（ステップＳ９６）。
【０１１５】
ステップＳ９６で、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪより大きいと判断すると、ＥＣＵ１２２は、アイドルフィードバック制御のＩＣＭＤリミットチェックを終了し、ステップＳ９６で、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪより大きくないと判断すると、ＥＣＵ１２２は、制御値ＩＦＢを前回の制御値ＩＦＢにして（ステップＳ９７）、アイドルフィードバック制御のＩＣＭＤリミットチェックを終了する。
【０１１６】
一方、ステップＳ９３で、吸入空気量ＩＣＭＤが下限値ＩＣＭＤＬＭＬより小さいと判断すると、ＥＣＵ１２２は、吸入空気量ＩＣＭＤを下限値ＩＣＭＤＬＭＬに設定する（ステップＳ９８）。つまり、吸入空気量ＩＣＭＤが下限値ＩＣＭＤＬＭＬより小さい場合は、吸入空気量ＩＣＭＤを下限値ＩＣＭＤＬＭＬに制限する。
【０１１７】
次いで、ＥＣＵ１２２は、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪより小さいか否かを判断する（ステップＳ９９）。
【０１１８】
ステップＳ１００で、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪより小さいと判断すると、ＥＣＵ１２２は、アイドルフィードバック制御のリミットチェック動作を終了し、ステップＳ１００で、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪより小さくないと判断すると、ＥＣＵ１２２は、制御値ＩＦＢを前回の制御値ＩＦＢにして（ステップＳ１００）、アイドルフィードバック制御のリミットチェック動作を終了する。
【０１１９】
このアイドルフィードバック制御のリミットチェック動作後の吸入空気量ＩＣＭＤとなるようにスロットルバルブ５７の開度が制御される。このように、吸入空気量ＩＣＭＤが所定の範囲より小さい場合、又は大きい場合は、吸入空気量ＩＣＭＤを制限するので、エンジン回転数ＩＡＣＮＥが過度に変動することがない。
【０１２０】
次に、アイドル制御の動作を図１２のサブフローチャートにしたがって説明する。
【０１２１】
図３のステップＳ１５に進み、アイドル制御を開始すると、図１２のステップＳ１１０に進み、ＥＣＵ１２２は、吸入空気量ＩＣＭＤを、吸入空気量ＩＣＭＤ＝（学習値ＩＸＲＥＦ＋基本供給値ＩＴＷ）×大気圧補正係数ＫＩＰＡ、の関係式によって求めて、アイドル制御を終了する。ここで、基本供給値ＩＴＷは、水温又は油温が高くなるにつれ、その値が小さくなる。エンジン２２の運転時間の経過に伴い水温又は油温も高くなり、エンジン２２のフリクションも小さくなるので、アイドル制御により求められる吸入空気量ＩＣＭＤを、エンジン２２の運転時間の経過とともに小さくすることができる。このようにアイドル制御は、エンジン回転数ＩＡＣＮＥにかかわらず、基本供給値ＩＴＷを用いて吸入空気量ＩＣＭＤを求める。ここで、アイドル制御は、求めた該吸入空気量ＩＣＭＤとなるように、スロットルバルブ５７の開度を制御するが、アイドル制御、アイドルフェイルセーフ制御、及びアイドル始動制御のＩＣＭＤのリミットチェックの動作を経た後で、スロットルバルブ５７の開度を制御する。
【０１２２】
次に、アイドルフェイルセーフ制御の動作を図１３のサブフローチャートにしたがって説明する。
【０１２３】
図４のステップＳ１８に進み、アイドルフェイルセーフ制御を開始すると、図１３のステップＳ１２０に進み、ＥＣＵ１２２は、吸入空気量ＩＣＭＤを、吸入空気量ＩＣＭＤ＝（学習値ＩＸＲＥＦの初期値Ｃ＿ＩＸＲＥＦＭ＋通常時の値ＩＴＷＡ）×大気圧補正係数ＫＩＰＡ、の関係式によって求めて、アイドルフェイルセーフ制御の動作を終了する。ここで、通常時の値ＩＴＷＡは、水温又は油温が高くなるにつれ、その値が小さくなる。エンジン２２の運転時間の経過に伴い水温又は油温も高くなり、エンジン２２のフリクションも小さくなるので、アイドルフェイルセーフ制御により求められる吸入空気量ＩＣＭＤを、エンジン２２の運転時間の経過とともに小さくすることができる。
【０１２４】
このようにアイドルフェイルセーフ制御は、エンジン回転数ＩＡＣＮＥにかかわらず、通常時の値ＩＴＷＡを用いて吸入空気量ＩＣＭＤを求める。ここで、アイドルフェイルセーフ制御は、求めた該吸入空気量ＩＣＭＤとなるように、スロットルバルブ５７の開度を制御するが、アイドル制御、アイドルフェイルセーフ制御、及びアイドル始動制御のＩＣＭＤのリミットチェックの動作を経た後で、スロットルバルブ５７の開度を制御する。
【０１２５】
次に、アイドル始動制御の動作を図１４のサブフローチャートにしたがって説明する。
【０１２６】
図４のステップＳ２０に進み、アイドル始動制御を開始すると、ＥＣＵ１２２は、吸入空気量ＩＣＭＤを、吸入空気量ＩＣＭＤ＝（学習値ＩＸＲＥＦ＋始動時の値ＩＴＷＳ）×大気圧補正係数ＫＩＰＡ、の関係式によって求めて、アイドル始動制御を終了する。ここで、始動時の値ＩＴＷＳは、水温又は油温が高くなるにつれ、その値が小さくなる。エンジン２２の運転時間の経過に伴い水温又は油温も高くなり、エンジン２２のフリクションも小さくなるので、アイドル始動制御により求められる吸入空気量ＩＣＭＤを、エンジン２２の運転時間の経過とともに小さくすることができる。
【０１２７】
このようにアイドル始動制御は、エンジン回転数ＩＡＣＮＥにかかわらず、始動時の値ＩＴＷＳを用いて吸入空気量ＩＣＭＤを求める。ここで、アイドル始動制御は、求めた該吸入空気量ＩＣＭＤとなるように、スロットルバルブ５７の開度を制御するが、アイドル制御、アイドルフェイルセーフ制御、及びアイドル始動制御のＩＣＭＤのリミットチェックの動作を経た後で、スロットルバルブ５７の開度を制御する。
【０１２８】
次に、アイドル制御、アイドルフェイルセーフ制御、及びアイドル始動制御のＩＣＭＤリミットチェックの動作を図１５のサブフローチャートにしたがって説明する。
【０１２９】
図３のステップＳ１６に進み、アイドル制御、アイドルフェイルセーフ制御、及びアイドル始動制御のＩＣＭＤリミットチェックの動作を開始すると、図１５のステップＳ１５１に進み、ＥＣＵ１２２は、記憶部１２４に記憶されたＩＣＭＤ下限値テーブルから現在の水温又は油温ＴＷに応じた吸入空気量ＩＣＭＤの下限値ＩＣＭＤＬＭＬを取得する。
【０１３０】
次いで、ＥＣＵ１２２は、記憶部１２４に記憶されたＩＣＭＤ上限値テーブルから現在の水温又は油温ＴＷに応じた吸入空気量ＩＣＭＤの上限値ＩＣＭＤＬＭＨを取得する（ステップＳ１５２）。
【０１３１】
次いで、ＥＣＵ１２２は、アイドル制御、アイドルフェイルセーフ制御、又はアイドル始動制御によって求めた吸入空気量ＩＣＭＤが下限値ＩＣＭＤＬＭＬより小さいか否かを判断する（ステップＳ１５３）。
【０１３２】
ステップＳ１５３で、求めた吸入空気量ＩＣＭＤが下限値ＩＣＭＤＬＭＬより小さくないと判断すると、ＥＣＵ１２２は、該吸入空気量ＩＣＭＤが上限値ＩＣＭＤＬＭＨより大きいか否かを判断する（ステップＳ１５４）。
【０１３３】
ステップＳ１５４で、求めた吸入空気量ＩＣＭＤが上限値ＩＣＭＤＬＭＨより大きくないと判断すると、ＥＣＵ１２２は、アイドル制御、アイドルフェイルセーフ制御、及びアイドル始動制御のＩＣＭＤリミットチェックを終了し、ステップＳ１５４で、求めた吸入空気量ＩＣＭＤが上限値ＩＣＭＤＬＭＨより大きいと判断すると、ＥＣＵ１２２は、吸入空気量ＩＣＭＤを上限値ＩＣＭＤＬＭＨに設定して（ステップＳ１５５）、アイドル制御、アイドルフェイルセーフ制御、及びアイドル始動制御のＩＣＭＤリミットチェックを終了する。つまり、吸入空気量ＩＣＭＤが上限値ＩＣＭＤＬＭＨより大きい場合は、吸入空気量ＩＣＭＤを上限値ＩＣＭＤＬＭＨに制限する。
【０１３４】
一方、ステップＳ１５３で、吸入空気量ＩＣＭＤが下限値ＩＣＭＤＬＭＬより小さいと判断すると、ＥＣＵ１２２は、吸入空気量ＩＣＭＤを下限値ＩＣＭＤＬＭＬに設定して（ステップＳ１５６）、アイドル制御、アイドルフェイルセーフ制御、及びアイドル始動制御のＩＣＭＤリミットチェックを終了する。つまり、吸入空気量ＩＣＭＤが下限値ＩＣＭＤＬＭＬより小さい場合は、吸入空気量ＩＣＭＤを下限値ＩＣＭＤＬＭＬに制限する。
【０１３５】
このアイドル制御、アイドルフェイルセーフ制御、及びアイドル始動制御のリミットチェック動作後の吸入空気量ＩＣＭＤとなるようにスロットルバルブ５７の開度が制御される。このように、吸入空気量ＩＣＭＤが所定の範囲より小さい場合、又は大きい場合は、吸入空気量ＩＣＭＤを制限するので、エンジン回転数ＩＡＣＮＥが過度に変動することがない。
【０１３６】
図１６は、従来技術によって制御されるアイドル状態時のエンジン回転数ＩＡＣＮＥと吸入空気量ＩＣＭＤのタイムチャートを示す図である。初期値として始動時の値ＩＴＷＳが基本供給値ＩＴＷとして設定されており、エンジン２２の始動が開始され、エンジン回転数ＩＡＣＮＥがクランキング回転数より上昇するタイミングｔ１を経過すると、始動時の値ＩＴＷＳに設定された基本供給値ＩＴＷを用いて、エンジン回転数ＩＡＣＮＥが目標回転数ＮＯＢＪとなるように、スロットルバルブ５７の開度を制御するアイドルフィードバック制御が行われる。このアイドルフィードバック制御によりエンジン回転数ＩＡＣＮＥは徐々に増加し、目標アイドル回転数ＮＯＢＪに近づく。
【０１３７】
タイミングｔ１から所定時間が経過したタイミングｔ３になると、基本供給値ＩＴＷが通常時の値ＩＴＷＡに切り替えられて、スロットルバルブ５７の開度を制御するアイドルフィードバック制御が継続される。ここで、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪに到達するタイミングｔ２は、タイミングｔ３より早いタイミングで到来するものとする。エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪ付近になると、エンジン２２の潤滑油の粘性抵抗（フリクション）は下がるため、エンジン回転数ＩＡＣＮＥは目標アイドル回転数ＮＯＢＪを到達しても収束することなく、目標アイドル回転数ＮＯＢＪより大きくなり、その後、基本供給値ＩＴＷを通常時の値ＩＴＷＡに設定することエンジン回転数ＩＡＣＮＥは目標アイドル回転数ＮＯＢＪに徐々に収束する。エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪに収束するタイミングをｔ４で示す。このエンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪに到達してから目標アイドル回転数ＮＯＢＪに収束するまでの時間（ｔ４−ｔ２）を時間ＴＰで表す。
【０１３８】
従来技術では、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪに到達した後も、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪになるようにスロットルバルブ５７の開度を制御するアイドルフィードバック制御を継続して行うので、時間ＴＰが長くなってしまう。
【０１３９】
また、従来技術では、エンジン２２の水温及び油温が想定した温度より低い場合には、エンジン２２のフリクションが大きく、タイミングｔ１から所定時間が経過しても、エンジン回転数ＩＡＣＮＥは目標アイドル回転数ＮＯＢＪに到達しない可能性があり、このような場合であっても所定時間が経過すると基本供給値ＩＴＷを始動時の値ＩＴＷＳから通常時の値ＩＴＷＡに切り替えてしまうので、切り替えによってエンジン回転数ＩＡＣＮＥは低下してしまい、タイミングｔ１からエンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪに収束するタイミングｔ４までの時間が長くなってしまう。
【０１４０】
また、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪに到達したタイミングｔ２で、基本供給値ＩＴＷを始動時の値ＩＴＷＳから通常時の値ＩＴＷＡに切り替えることも考えられるが、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪに到達する前に、スロットルグリップが一時的に操作されると、一時的にエンジン回転数ＩＡＣＮＥは前記スロットルグリップの操作に応じて目標アイドル回転数ＮＯＢＪより上昇して、基本供給値ＩＴＷが始動時の値ＩＴＷＳから通常時の値ＩＴＷＡに切り替えられ、前記スロットルグリップが戻された時点でアイドルフィードバック制御が行われてしまうので、エンジン回転数ＩＡＣＮＥが減少し、時間ＴＰが長くなってしまう。
【０１４１】
図１７は、本実施の形態のＥＣＵ１２２によって制御されるアイドル状態時のエンジン回転数ＩＡＣＮＥと吸入空気量ＩＣＭＤのタイムチャートを示す図である。
【０１４２】
初期値として始動時の値ＩＴＷＳが基本供給値ＩＴＷとして設定されており、エンジン２２の始動が開始され、エンジン回転数ＩＡＣＮＥがクランキング回転数より上昇するタイミングｔ１１を経過すると、始動時の値ＩＴＷＳに設定された基本供給値ＩＴＷを用いて、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪとなるようにアイドルフィードバック制御が行われる。このアイドルフィードバック制御によりエンジン回転数ＩＡＣＮＥは目標アイドル回転数ＮＯＢＪに徐々に近づく。
【０１４３】
エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪに到達すると、基本供給値ＩＴＷは通常時の値ＩＴＷＡに設定されるとともに、アイドルフィードバック制御が一時解除され、エンジン回転数ＩＡＣＮＥにかかわらず、通常時の値ＩＴＷＡに設定された基本供給値ＩＴＷを用いて水温又は油温に応じて吸入空気量ＩＣＭＤが減少するようにスロットルバルブ５７の開度を制御するアイドル制御が行われる。エンジン回転数ＩＡＣＮＥが目標回転数ＮＯＢＪに到達するタイミングをｔ１２で表す。
【０１４４】
その後、吸入空気量ＩＣＭＤが目標値まで減少すると、通常時の値ＩＴＷＡに設定された基本供給値ＩＴＷを用いてアイドルフィードバック制御を開始する。吸入空気量ＩＣＭＤが目標値まで減少するタイミングをｔ１３で表し、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪに収束するタイミングをｔ１４で表す。
【０１４５】
本実施の形態では、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪに到達したタイミングｔ１２で、基本供給値ＩＴＷを始動時の値ＩＴＷＳから通常時の値ＩＴＷＡに切り替えるとともに、アイドルフィードバック制御を一時解除し、基本供給値ＩＴＷを用いて水温又は油温に応じて吸入空気量ＩＣＭＤが減少するようにスロットルバルブ５７の開度を制御するアイドル制御を行い、吸入空気量ＩＣＭＤが目標値まで減少すると、アイドルフィードバック制御を再開するので、時間ＴＰを短くすることができ、エンジン回転数ＩＡＣＮＥの目標アイドル回転数ＮＯＢＪへの収束時間を短くすることができる。
【０１４６】
また、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪに到達したタイミングｔ１２で、基本供給値ＩＴＷを始動時の値ＩＴＷＳから通常時の値ＩＴＷＡに切り替えるので、エンジン２２の水温及び油温が想定した温度より低い場合であっても、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪに到達する前に、基本供給値ＩＴＷを通常時の値ＩＴＷＡに設定することはないので、タイミングｔ１１からエンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪに収束するタイミングｔ１４までの時間を短くすることができ、エンジン回転数ＩＡＣＮＥの目標アイドル回転数ＮＯＢＪへの収束時間を短くすることができる。また、始動時の値ＩＴＷＳが基本供給値ＩＴＷとして設定されているときに、スロットルグリップの操作によってスロットルバルブ５７が開かれ、目標アイドル回転数ＮＯＢＪを越えた後、スロットルグリップの操作が解除された場合であっても、エンジン回転数ＩＡＣＮＥの瞬間的な落ち込みを生じないようにすることができる。
【０１４７】
また、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪに到達する前に、前記スロットルグリップが一時的に操作されてエンジン回転数ＩＡＣＮＥが目標回転数ＮＯＢＪより大きくなり、基本供給値ＩＴＷが始動時の値ＩＴＷＳから通常時の値ＩＴＷＡに切り替えられても、吸入空気量ＩＣＭＤが目標値まで減少するまでアイドルフィードバック制御を一時解除してアイドル制御を行うので、時間ＴＰを短くすることができ、エンジン回転数ＩＡＣＮＥの目標アイドル回転数ＮＯＢＪへの収束時間を短くすることができる。
【０１４８】
このように、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪに達するまでは、始動時の値ＩＴＷＳに設定された基本供給値ＩＴＷを用いてエンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪとなるように、スロットルバルブ５７の開度を制御するアイドルフィードバック制御を実行し、エンジン回転数ＩＡＣＮＥが目標アイドル回転数ＮＯＢＪに達した後は、アイドルフィードバック制御を一時解除し、エンジン回転数ＩＡＣＮＥにかかわらず、通常時の値ＩＴＷＡに設定された基本供給値ＩＴＷを用いてエンジン２２の水温又は油温に応じて吸入空気量ＩＣＭＤが減少するようにスロットルバルブ５７の開度を制御し、その後、吸入空気量ＩＣＭＤが目標値に達すると、通常時の値ＩＴＷＡに設定された基本供給値ＩＴＷを用いてアイドルフィードバック制御を再開するので、エンジン回転数ＩＡＣＮＥの目標アイドル回転数ＮＯＢＪへの収束時間を短くすることができる。
【０１４９】
始動時の値ＩＴＷＳ及び通常時の値ＩＴＷＡは、エンジン２２の水温又は油温の上昇に比例して値が小さくなるので、エンジン２２のフリクションが低下に伴って吸入空気量ＩＣＭＤを減少させることができ、エンジン２２のフリクションの低下に伴うエンジン回転数ＩＡＣＮＥの上昇を抑えることができ、エンジン回転数ＩＡＣＮＥを適切に制御することができる。
【０１５０】
アイドルフィードバック制御の実行条件が成立した場合、つまり、ＤＣＴ１１２がニュートラル状態であり、前記スロットルグリップが操作されておらず、且つ、エンジン回転数ＩＡＣＮＥ及びスロットルバルブ５７の開度がアイドルフィードバック制御領域内にある場合に、アイドルフィードバック制御を行うので、適切なタイミングでアイドルフィードバック制御を実行することができる。
【０１５１】
アイドルフィードバック制御の実行条件が成立していない場合は、アイドルフィードバック制御を解除し、基本供給値ＩＴＷを用いて、エンジン２２の水温又は油温に応じて吸入空気量ＩＣＭＤが減少するようにスロットルバルブ５７の開度を制御するので、適切に吸入空気量ＩＣＭＤを制御することができる。
【０１５２】
吸入空気量ＩＣＭＤが上限値ＩＣＭＤＬＭＨより大きい場合は、吸入空気量ＩＣＭＤを上限値ＩＣＭＤＬＭＨに制限し、吸入空気量ＩＣＭＤが下限値ＩＣＭＤＬＭＬより小さい場合は、吸入空気量ＩＣＭＤを下限値ＩＣＭＤＬＭＬに制限するので、エンジン回転数ＩＡＣＮＥが過度に変動することがない。
【０１５３】
なお、図３のステップＳ１２のアイドルフィードバック制御で求めた吸入空気量ＩＣＭＤのリミットチェックをステップＳ１３で行うようにしたが、ステップＳ１３の動作を行わなくてもよい。この場合は、ステップＳ１２のアイドルフィードバック制御は、求めた吸入空気量ＩＣＭＤとなるようにスロットルバルブ５７の開度を調整する。
【０１５４】
また、図３のステップＳ１５のアイドル制御で求めた吸入空気量ＩＣＭＤ、図４のステップＳ１８のアイドルフェイルセーフ制御で求めた吸入空気量ＩＣＭＤ、及び、ステップＳ２０のアイドル始動制御で求めた吸入空気量ＩＣＭＤのリミットチェックをステップＳ１６で行うようにしたが、ステップＳ１６の動作を行わなくてもよい。この場合は、ステップＳ１５のアイドル制御、ステップＳ１８のアイドルフェイルセーフ制御、ステップＳ２０のアイドル始動制御は、求めた吸入空気量ＩＣＭＤとなるようにスロットルバルブ５７の開度を調整する。
【０１５５】
以上、本発明について好適な実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態の記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。また、特許請求の範囲に記載された括弧書きの符号は、本発明の理解の容易化のために添付図面中の符号に倣って付したものであり、本発明がその符号をつけた要素に限定されて解釈されるものではない。
【符号の説明】
【０１５６】
１２…鞍乗型自動二輪車                ２２…エンジン
５４…吸気装置                        ５６…吸気管
５７…スロットルバルブ                ６０…排気装置
１００…エンジン制御装置              １０２…インジェクタ
１０４…点火プラグ                    １１０…クランク軸
１１２…ＤＣＴ                        １１４…スロットル開度センサ
１１６…スロットルバルブ開度センサ    １１８…水温又は油温センサ
１２０…回転数センサ                  １２２…ＥＣＵ
１２４…記憶部
【図１】
0005719734.tif 000002
【図２】
0005719734.tif 000003
【図３】
0005719734.tif 000004
【図４】
0005719734.tif 000005
【図５】
0005719734.tif 000006
【図６】
0005719734.tif 000007
【図７】
0005719734.tif 000008
【図８】
0005719734.tif 000009
【図９】
0005719734.tif 000010
【図１０】
0005719734.tif 000011
【図１１】
0005719734.tif 000012
【図１２】
0005719734.tif 000013
【図１３】
0005719734.tif 000014
【図１４】
0005719734.tif 000015
【図１５】
0005719734.tif 000016
【図１６】
0005719734.tif 000017
【図１７】
0005719734.tif 000018