(57)【要約】【課題】内燃機関の停止時に気筒内に残留する燃料の量に応じて、ピストンを所定位置に精度良く停止させることができる内燃機関の停止制御装置を提供する。【解決手段】本発明のエンジン３の停止制御装置１は、イグニッションＳＷ２１がオフされたときに、スロットル弁１３ａを閉じ側に制御するとともに、その後、エンジン回転数ＮＥが１段目制御開始回転数ＮＥＩＣＯＦＰＲＥを下回ったときに、スロットル弁１３ａを開き側に制御する（図５、図６）。また、停止前燃料噴射量ＴＣＹＬＩＧＯＦが大きいほど、１段目制御開始回転数ＮＥＩＣＯＦＰＲＥおよび目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＸをより小さくなるように補正する（ステップ３１，３２）ことによって、エンジン３の停止時に気筒３ａ内に残留する燃料量に応じて、ピストン３ｄを所定位置に精度良く停止させる。【選択図】図５
2011074832.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の停止時に、吸気量を制御することによって、当該内燃機関のピストンの停止位置を所定位置に制御する内燃機関の停止制御装置であって、
前記内燃機関の停止指令が出される前に前記内燃機関の気筒に供給された燃料の量を、燃料供給量として取得する燃料供給量取得手段と、
前記内燃機関の停止指令が出された後に、前記気筒内の燃料を燃焼させるために点火を実行する点火手段と、
前記吸気量を調整するための吸気量調整弁と、
前記内燃機関の停止指令が出されたときに、前記吸気量調整弁を閉じ側に制御するとともに、その後、所定期間が経過したときに、前記吸気量調整弁を開き側に制御する吸気量制御手段と、
前記取得された燃料供給量が大きいほど、前記所定期間をより長くなるように補正する所定期間補正手段と、
を備えることを特徴とする内燃機関の停止制御装置。
【請求項２】
前記内燃機関がアイドル運転状態であるか否かを判定するアイドル判定手段をさらに備え、
前記燃料供給量取得手段は、前記内燃機関がアイドル運転状態であると判定されたときに、前記燃料供給量を取得することを特徴とする、請求項１に記載の内燃機関の停止制御装置。
【請求項３】
前記内燃機関の温度を検出する機関温度検出手段と、
当該検出された内燃機関の温度が所定温度以下のときに、前記所定期間の補正を禁止する補正禁止手段と、をさらに備えることを特徴とする、請求項１または２に記載の内燃機関の停止制御装置。
【請求項４】
前記点火手段は、前記内燃機関の停止指令が出された後、前記吸気量調整弁の開き側への制御が開始されるまで、点火を実行することを特徴とする、請求項１ないし３のいずれかに記載の内燃機関の停止制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の停止時に、ピストンの停止位置を制御する内燃機関の停止制御装置に関する。
【背景技術】
【０００２】
従来の内燃機関の停止制御装置として、例えば特許文献１に開示されたものが知られている。この内燃機関は、吸気量を調整するための吸気量調整弁を備えている。また、この停止制御装置では、イグニッションスイッチがオフされたときに、吸気量調整弁をほぼ全閉に制御するとともに、その後、内燃機関の回転数が所定回転数を下回ったときに、吸気量調整弁を開き側に制御する（以下「開き制御」という）。なお、イグニッションスイッチがオフされた後にも、点火プラグによる点火が継続される。
【０００３】
また、この停止制御装置では、イグニッションスイッチがオフされてから内燃機関の回転数が所定回転数を下回るまでの間に、クランクシャフトが２回転していないときには、気筒内に燃料が残留していると判定し、吸気量調整弁を開き制御するときの開度を、エンジン水温に応じ、所定の第１マップを検索することによって、第１開度に設定する。一方、クランクシャフトが２回転以上、回転したときには、気筒内に燃料が残留していないと判定し、吸気量調整弁を開き制御するときの開度を、エンジン水温に応じ、所定の第２マップを検索することによって、第１開度よりも大きな第２開度に設定する。以上のように、吸気量調整弁を開き制御するときの開度を設定することによって、気筒内に燃料が残留している場合に、残留した燃料の燃焼によって内燃機関の回転数が急激に上昇するのを防止するようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３２０９０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
内燃機関の停止時におけるピストンの止まり方は、内燃機関が停止するまでの過程において供給され、残留した燃料の量に応じて変化する。これに対し、上述した従来の停止制御装置では、吸気量調整弁を開き制御するときの開度を、気筒内に燃料が残留しているか否かに応じて２段階に設定するにすぎないので、気筒内の燃料の量に応じてピストンの停止位置が変化してしまい、ピストンを所定位置に精度良く停止させることができない。
【０００６】
本発明は、以上のような課題を解決するためになされたものであり、内燃機関の停止時に気筒内に残留する燃料の量に応じて、ピストンを所定位置に精度良く停止させることができる内燃機関の停止制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するため、本願の請求項１に係る発明は、内燃機関３の停止時に、吸気量を制御することによって、内燃機関３のピストン３ｄの停止位置を所定位置に制御する内燃機関の停止制御装置１であって、内燃機関３の停止指令が出される前に内燃機関３の気筒に供給された燃料の量を、燃料供給量（実施形態における（以下、本項において同じ）停止前燃料噴射量ＴＣＹＬＩＧＯＦ）として取得する燃料供給量取得手段（ＥＣＵ２、図７）と、内燃機関３の停止指令が出された後に、気筒３ａ内の燃料を燃焼させるために点火を実行する点火手段（点火プラグ７）と、吸気量を調整するための吸気量調整弁（スロットル弁１３ａ）と、内燃機関３の停止指令が出されたときに、吸気量調整弁を閉じ側に制御するとともに、その後、所定期間が経過したときに、吸気量調整弁を開き側に制御する吸気量制御手段（ＥＣＵ２、ＴＨアクチュエータ１３ｂ、図５、図６）と、取得された燃料供給量が大きいほど、所定期間をより長くなるように補正する所定期間補正手段（ＥＣＵ２、図５のステップ３１，３２）と、を備えることを特徴とする。
【０００８】
この内燃機関の停止制御装置によれば、内燃機関の停止指令が出されたときに、吸気量を調整する吸気量調整弁を閉じ側に制御するとともに、その後、所定期間が経過したときに、吸気量調整弁を開き側に制御する。このように、停止指令後に吸気量調整弁を一旦、閉じ側に制御するので、不快な振動や異音の発生を防止することができる。また、その後、吸気量調整弁を開き側に制御することにより、吸気量を制御することによって、ピストンの停止位置が制御される。また、内燃機関の停止指令が出された後に点火を実行するので、この点火により気筒内の燃料を燃焼させ、残留する燃料量を低減することによって、内燃機関の再始動時における始動性と排ガス特性を向上させることができる。
【０００９】
停止指令が出される前に内燃機関の気筒に供給された燃料量が多いほど、停止指令が出されたときに気筒内に残留する燃料量はより多くなる傾向がある。また、気筒内に残留する燃料量が多いほど、点火による燃焼によって、内燃機関の慣性力がより大きくなり、ピストンが停止しにくくなる。本発明では、停止指令が出される前に内燃機関の気筒に供給された燃料量が大きいほど、吸気量調整弁の開き側制御が開始されるまでの閉じ側制御の実行期間である所定期間をより長くなるように補正するので、吸気量調整弁の閉じ側制御によって内燃機関の回転数を十分に抑制でき、したがって、内燃機関の停止時に気筒内に残留する燃料量に応じて、ピストンを所定位置に精度良く停止させることができる。
【００１０】
請求項２に係る発明は、請求項１に記載の内燃機関の停止制御装置１において、内燃機関３がアイドル運転状態であるか否かを判定するアイドル判定手段（ＥＣＵ２、図７のステップ５１〜５３）をさらに備え、燃料供給量取得手段は、内燃機関がアイドル運転状態であると判定されたときに、燃料供給量を取得する（ＥＣＵ２、図７のステップ５４）ことを特徴とする。
【００１１】
この構成によれば、内燃機関がアイドル運転状態のときに燃料供給量を取得するので、停止指令が出される前に、運転者のアクセル操作により内燃機関の回転数が一時的に上昇した場合でも、この操作に伴って一時的に増加した燃料の供給量は、燃料供給量としては取得されない。したがって、そのような一時的に増加した燃料の供給量に応じて所定期間が過大に補正されることを、回避することができる。
【００１２】
請求項３に係る発明は、請求項１または２に記載の内燃機関の停止制御装置１において、内燃機関の温度（エンジン水温ＴＷ）を検出する機関温度検出手段（水温センサ２６）と、検出された内燃機関の温度が所定温度ＴＷＩＧＯＦＴＨＲＬ以下のときに、所定期間の補正を禁止する補正禁止手段（ＥＣＵ２、図７のステップ５４）と、をさらに備えることを特徴とする。
【００１３】
内燃機関の温度が低いときには、気筒内に残留する燃料量が多いため、残留した燃料の燃焼によって、内燃機関の慣性力が大きくなりやすい一方で、ピストンの摩擦抵抗も大きいので、慣性力と摩擦抵抗が相殺する結果、ピストンの停止位置には影響を及ぼさない。この構成によれば、検出された内燃機関の温度が所定温度以下のときに、所定期間の補正を禁止するので、内燃機関の温度が低いときでも、ピストンを所定位置に精度良く停止させることができる。
【００１４】
本願の請求項４に係る発明は、請求項１ないし３のいずれかに記載の内燃機関の停止制御装置１において、点火手段は、内燃機関３の停止指令が出された後、吸気量調整弁の開き側への制御が開始されるまで、点火を実行する（図１１のステップ９２）ことを特徴とする。
【００１５】
この構成によれば、吸気量調整弁の開き側への制御が開始されるまで、点火を実行するので、気筒内に残留した燃料を最大限、燃焼させることができる。また、吸気量調整弁の開き側への制御が開始されたときに点火を停止するので、気筒内の燃料が完全に燃焼されなかった場合でも、残留した燃料の燃焼により内燃機関の回転数が急激に上昇することを防止することができる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態による停止制御装置を適用した内燃機関を概略的に示す図である。
【図２】停止制御装置のブロック図である。
【図３】吸気弁および排気弁とそれらを駆動する機構の概略構成を示す断面図である。
【図４】目標停止制御開始回転数の設定処理を示すフローチャートである。
【図５】スロットル弁の目標開度の設定処理を示すフローチャートである。
【図６】図５の設定処理の残りの部分を示すフローチャートである。
【図７】停止前燃料噴射量の算出処理を示すフローチャートである。
【図８】２段目制御処理を示すフローチャートである。
【図９】最終圧縮行程回転数の算出処理を示すフローチャートである。
【図１０】図９の算出処理の残りの部分を示すフローチャートである。
【図１１】点火プラグの点火制御処理を示すフローチャートである。
【図１２】停止制御開始回転数と最終圧縮行程回転数との相関関係を示す図である。
【図１３】学習用ＰＡ補正項および設定用ＰＡ補正項を設定するためのマップである。
【図１４】学習用ＴＡ補正項および設定用ＴＡ補正項を設定するためのマップである。
【図１５】学習用ＦＷ補正項および設定用ＦＷ補正項を設定するためのマップである。
【図１６】なまし係数を算出するためのマップである。
【図１７】内燃機関の停止制御処理によって得られる動作例を、比較例とともに示す図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照しながら、本発明の好ましい実施形態について説明する。図１は、本実施形態による停止制御装置１（図２参照）を適用した内燃機関３を概略的に示している。この内燃機関（以下「エンジン」という）３は、例えば６気筒タイプのガソリンエンジンである。
【００１８】
エンジン３の各気筒３ａには、燃料噴射弁（以下「インジェクタ」という）６および点火プラグ７（いずれも図２参照）が、取り付けられている。また、エンジン３は、筒内噴射式のものであり、燃料が各インジェクタ６から対応する気筒３ａ内に直接、噴射されるとともに、気筒３ａ内に生成された混合気が、点火プラグ７によって点火される。インジェクタ６の開閉は、ＥＣＵ２（図２参照）からの制御信号によって制御され、それにより、開弁タイミングによって燃料噴射時期が、開弁時間によって燃料噴射量ＴＣＹＬが制御される。
【００１９】
エンジン３のシリンダヘッド３ｂには、気筒３ａごとに、吸気管４および排気管５が接続されるとともに、一対の吸気弁８，８（１つのみ図示）および一対の排気弁９，９（１つのみ図示）が設けられている。
【００２０】
図３に示すように、シリンダヘッド３ｂ内には、回転自在の吸気カムシャフト４１と、吸気カムシャフト４１に一体に設けられた吸気カム４２と、ロッカーアームシャフト４３と、ロッカーアームシャフト４３に回動自在に支持されるとともに、吸気弁８，８の上端にそれぞれ当接する２つのロッカーアーム４４，４４（１つのみ図示）などが設けられている。
【００２１】
吸気カムシャフト４１は、吸気スプロケットおよびタイミングチェーン（いずれも図示せず）を介して、クランクシャフト３ｃ（図１参照）に連結されており、クランクシャフト３ｃが２回転するごとに１回転する。この吸気カムシャフト４１の回転に伴い、ロッカーアーム４４，４４が吸気カム４２で押圧され、ロッカーアームシャフト４３を中心として回動することにより、吸気弁８，８が開閉される。
【００２２】
また、シリンダヘッド３ｂ内には、回転自在の排気カムシャフト６１と、排気カムシャフト６１に一体に設けられた排気カム６２と、ロッカーアームシャフト６３と、ロッカーアームシャフト６３に回動自在に支持されるとともに、排気弁９，９の上端にそれぞれ当接する２つのロッカーアーム６４，６４（１つのみ図示）などが設けられている。
【００２３】
排気カムシャフト６１は、排気スプロケットおよびタイミングチェーン（いずれも図示せず）を介して、クランクシャフト３ｃに連結されており、クランクシャフト３ｃが２回転するごとに１回転する。この排気カムシャフト６１の回転に伴い、ロッカーアーム６４，６４が排気カム６２で押圧され、ロッカーアームシャフト６３を中心として回動することにより、排気弁９，９が開閉される。
【００２４】
また、吸気カムシャフト４１には、気筒判別センサ２５が設けられている。この気筒判別センサ２５は、吸気カムシャフト４１の回転に伴い、特定の気筒３ａの所定のクランク角度位置において、パルス信号であるＣＹＬ信号を出力する。
【００２５】
クランクシャフト３ｃには、クランク角センサ２４が設けられている。クランク角センサ２４は、クランクシャフト３ｃの回転に伴い、パルス信号であるＴＤＣ信号およびＣＲＫ信号を出力する。ＴＤＣ信号は、いずれかの気筒３ａにおいて、ピストン３ｄが吸気行程開始時のＴＤＣ（上死点）付近の所定のクランク角度位置にあることを表す信号であり、本実施形態のような６気筒タイプの場合には、クランクシャフト３ｃが１２０°回転するごとに出力される。ＣＲＫ信号は、所定のクランク角度（例えば３０°）ごとに出力される。ＥＣＵ２は、ＣＲＫ信号に基づき、エンジン３の回転数（以下「エンジン回転数」という）ＮＥを算出する。また、ＥＣＵ２は、ＣＹＬ信号およびＴＤＣ信号に基づき、どの気筒３ａが圧縮行程にあるかを判別し、その判別結果に基づき、１〜６の気筒番号ＣＵＣＹＬをそれぞれ割り当てる。
【００２６】
さらに、ＥＣＵ２は、ＴＤＣ信号およびＣＲＫ信号に基づき、クランク角度ＣＡを算出するとともに、ステージ番号ＳＴＧを設定する。このステージ番号ＳＴＧは、いずれかの気筒３ａにおいて吸気行程の初期に相当するクランク角度ＣＡの基準角度位置を０°としたとき、クランク角度ＣＡが０≦ＣＡ＜３０のときに「０」に設定され、３０≦ＣＡ＜６０のときに「１」に、６０≦ＣＡ＜９０のときに「２」に、９０≦ＣＡ＜１２０のときに「３」にそれぞれ設定される。したがって、ステージ番号ＳＴＧ＝０は、いずれかの気筒３ａが吸気行程の初期にあることを表し、同時に、エンジン３が６気筒であるため、他の１つの気筒３ａが圧縮行程の中期にあること、より具体的には、圧縮行程の開始時からのクランク角度が６０°から９０°の期間であることを表す。
【００２７】
また、吸気管４には、スロットル弁機構１３が設けられている。スロットル弁機構１３は、吸気管４内に回動自在に設けられたスロットル弁１３ａと、これを駆動するＴＨアクチュエータ１３ｂを有している。ＴＨアクチュエータ１３ｂは、モータとギヤ機構（いずれも図示せず）を組み合わせたものであり、ＥＣＵ２からの目標開度ＩＣＭＤＴＨＩＧＯＦに基づく制御信号によって駆動される。それにより、スロットル弁１３ａの開度が変化することによって、気筒３ａに吸入される新気の量（以下「吸気量」という）が制御される。  
【００２８】
また、吸気管４のスロットル弁１３ａよりも下流側には、吸気温センサ２２が設けられている。吸気温センサ２２は、吸気の温度（以下「吸気温」という）ＴＡを検出し、その検出信号はＥＣＵ２に出力される。
【００２９】
さらに、ＥＣＵ２には、大気圧センサ２３から、大気圧ＰＡを表す検出信号が、水温センサ２６から、エンジン３の冷却水の温度（以下「エンジン水温」という）ＴＷを表す検出信号が、車速センサ２７から、車両の速度である車速ＶＰを表す検出信号が、アクセル開度センサ２８から、運転者によって操作されるアクセルペダル（図示せず）の開度（以下「アクセル開度」という）ＡＰを表す検出信号が、それぞれ出力される。
【００３０】
また、ＥＣＵ２には、イグニッションスイッチ（ＳＷ）２１（図２参照）から、そのオンまたはオフ状態を表す信号が出力される。なお、エンジン３の停止時、イグニッションスイッチ２１がオフされたときには、インジェクタ６から気筒３ａ内への燃料供給が停止される。
【００３１】
ＥＣＵ２は、Ｉ／Ｏインターフェース、ＣＰＵ、ＲＡＭおよびＲＯＭ（いずれも図示せず）などから成るマイクロコンピュータで構成されている。前述した各種のスイッチおよびセンサ２１〜２８からの検出信号は、Ｉ／ＯインターフェースでＡ／Ｄ変換や整形がなされた後、ＣＰＵに入力される。ＥＣＵ２は、これらの入力信号に応じ、ＲＯＭに記憶された制御プログラムに従って、エンジン３の運転状態を判別するとともに、判別した運転状態に応じて、停止制御を含むエンジン３の制御を行う。
【００３２】
なお、本実施形態では、ＥＣＵ２が、燃料供給量取得手段、吸気量制御手段、所定期間補正手段、アイドル判定手段および補正禁止手段に相当する。
【００３３】
次に、図４〜図１７を参照しながら、ＥＣＵ２により実行されるエンジン３の停止制御処理について説明する。本処理は、クランク角度ＣＡ３０°ごとに実行される。
【００３４】
このエンジン３の停止制御は、イグニッションスイッチ２１がオフされた後、エンジン回転数ＮＥが停止制御開始回転数ＮＥＩＧＯＦＴＨを下回ったときに、スロットル弁１３ａを開き側に制御することによって、ピストン３ｄが停止する直前の最終の圧縮行程におけるエンジン回転数ＮＥ（最終圧縮行程回転数ＮＥＰＲＳＦＴＧＴ）を所定の基準値に制御することで、ピストン３ｄの停止位置を、吸気弁８と排気弁９とが同時に開くバルブオーバーラップが発生しない所定位置に制御するものである。
【００３５】
図４は、目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＸの設定処理を示す。この処理は、停止制御において、後述するスロットル弁１３ａの２段目制御を開始する停止制御開始回転数の目標値を、目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＸとして設定するとともに学習するものである。本処理は、１回の停止制御につき１回行われる。
【００３６】
本処理ではまず、ステップ１（「Ｓ１」と図示。以下同じ）において、目標停止制御開始回転数設定完了フラグＦ＿ＩＧＯＦＴＨＲＥＦＤＯＮＥが「１」であるか否かを判別する。この答がＹＥＳで、目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＸの設定がすでに行われているときには、そのまま本処理を終了する。
【００３７】
一方、上記ステップ１の答がＮＯで、目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＸの設定がまだ行われていないときには、ステップ２において、学習回数ＮＥＮＧＳＴＰが０であるか否かを判別する。この答がＹＥＳで、バッテリーキャンセルなどによって学習回数ＮＥＮＧＳＴＰがリセットされているときには、目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＸを所定の初期値ＮＥＩＣＯＦＩＮＩに設定し（ステップ３）、後述するステップ１２に進む。
【００３８】
一方、上記ステップ２の答がＮＯのときには、ステップ４において、学習条件成立フラグＦ＿ＮＥＩＣＯＦＲＣＮＤが「１」であるか否かを判別する。この学習条件成立フラグＦ＿ＮＥＩＣＯＦＲＣＮＤは、エンジンストールが生じていないことや、エンジン水温ＴＷが所定値以下の低温状態でないことなどを含む、目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＸの所定の学習条件が成立しているときに「１」にセットされるものである。このステップ４の答がＮＯで、学習条件が成立していないときには、目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＸの学習を行わず、後述するステップ１４に進む。
【００３９】
一方、上記ステップ４の答がＹＥＳで、目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＸの学習条件が成立しているときには、ステップ５において、前回の停止制御時に得られた最終圧縮行程回転数ＮＥＰＲＳＦＴＧＴ、停止制御開始回転数ＮＥＩＧＯＦＴＨおよび所定の傾きＳＬＯＰＥＮＰＦ０を用い、次式（１）によって、切片ＩＮＴＣＰＮＰＦを算出する。
ＩＮＴＣＰＮＰＦ
＝ＮＥＰＲＳＦＴＧＴ−ＳＬＯＰＥＮＰＦ０・ＮＥＩＧＯＦＴＨ  ・・・・（１）
【００４０】
この式（１）は、停止制御開始回転数ＮＥＩＧＯＦＴＨと最終圧縮行程回転数ＮＥＰＲＳＦＴＧＴとの間に、図１２に示すような相関関係、すなわちＳＬＯＰＥＮＰＦ０を傾きとし、ＩＮＴＣＰＮＰＦを切片とする１次関数で表される相関関係が成立するとともに、エンジン３の型式が同一であれば傾きＳＬＯＰＥＮＰＦ０が一定であることを前提としている。この前提に従い、停止制御時に得られた停止制御開始回転数ＮＥＩＧＯＦＴＨおよび最終圧縮行程回転数ＮＥＰＲＳＴＧＴを用い、式（１）によって切片ＩＮＴＣＰＮＰＦを求めることにより、停止制御開始回転数ＮＥＩＧＯＦＴＨと最終圧縮行程回転数ＮＥＰＲＳＦＴＧＴとの相関関係が決定される。
【００４１】
なお、後述するように、イグニッションスイッチ２１がオフされた後にも点火プラグ７による点火が行われるので、イグニッションスイッチ２１がオフされたときに気筒３ａ内に残留した燃料量が多いほど、エンジン３の慣性力はより大きくなる。それに伴い、同一の制御開始回転数ＮＥＩＣＯＦＲＲＴに対して、最終圧縮行程回転数ＮＥＰＲＳＴＧＴはより小さな値になるので、１次関数はより上側にオフセットされ（例えば図１２の破線）、切片ＩＮＴＣＰＮＰＦはより大きな値に算出される。また、ピストン３ｄの摩擦が小さいほど、上記と同様の理由から、１次関数はより上側にオフセットされ、切片ＩＮＴＣＰＮＰＦはより大きな値に算出される。逆にピストン３ｄの摩擦が大きいほど、上記と逆の理由から、１次関数はより下側にオフセットされ（例えば図１２の一点鎖線）、切片ＩＮＴＣＰＮＰＦはより小さな値に算出される。
【００４２】
次に、ステップ６において、上記のように決定された相関関係に基づき、算出された切片ＩＮＴＣＰＮＰＦと傾きＳＬＯＰＥＮＰＦ０を用い、最終圧縮行程回転数の所定の基準値ＮＥＮＰＦＬＭＴ０を適用することにより、次式（２）によって、目標停止制御開始回転数の基本値ＮＥＩＣＯＦＲＲＴを算出する（図１２参照）。
ＮＥＩＣＯＦＲＲＴ
＝（ＮＥＮＰＦＬＭＴ０−ＩＮＴＣＰＮＰＦ）／ＳＬＯＰＥＮＰＦ０
・・・・（２）
この最終圧縮行程回転数の基準値ＮＥＮＰＦＬＭＴ０は、最終圧縮行程回転数ＮＥＰＲＳＦがこの値に制御されたときに、ピストン３ｄがバルブオーバラップの発生しない所定位置に停止するような値に相当し、実験などによりあらかじめ求められ、本実施形態では、例えば２６０ｒｐｍに設定されている。したがって、上記の式（２）で求めた目標停止制御開始回転数の基本値ＮＥＩＣＯＦＲＲＴを用いることによって、ピストン３ｄを所定位置に停止させることができる。
【００４３】
次に、ステップ７において、停止制御時に検出された大気圧ＰＡ０に応じて、図１３に示すマップからマップ値ＤＮＥＩＣＯＦＰＡを検索し、学習用ＰＡ補正項ｄｎｅｉｃｏｆｒｐａとして設定する。このマップでは、マップ値ＤＮＥＩＣＯＦＰＡ（＝学習用ＰＡ補正項ｄｎｅｉｃｏｆｒｐａ）は、大気圧ＰＡ０が高いほど、より大きな値に設定されている。
【００４４】
次に、ステップ８において、停止制御時に検出された吸気温ＴＡ０に応じて、図１４に示すマップからマップ値ＤＮＥＩＣＯＦＴＡを検索し、学習用ＴＡ補正項ｄｎｅｉｃｏｆｒｔａとして設定する。このマップでは、マップ値ＤＮＥＩＣＯＦＴＡ（＝学習用ＴＡ補正項ｄｎｅｉｃｏｆｒｔａ）は、吸気温ＴＡ０が低いほど、より大きな値に設定されている。
【００４５】
次に、ステップ９において、停止制御前に設定された後述の停止前燃料噴射量ＴＣＹＬＩＧＯＦ０に応じて、図１５に示すマップからマップ値ＤＮＥＩＣＯＦＦＷを検索し、学習用ＦＷ補正項ｄｎｅｉｃｏｆｒｆｗとして設定する。このマップでは、マップ値ＤＮＥＩＣＯＦＦＷ（＝学習用ＦＷ補正項ｄｎｅｉｃｏｆｒｆｗ）は、停止前燃料噴射量ＴＣＹＬＩＧＯＦ０が第１所定量ＴＣＹ１以下のときに第１所定値ＤＮＥ１に、第２所定量ＴＣＹ２（＞ＴＣＹ１）以上のときに第２所定値ＤＮＥ２（＜ＤＮＥ１）に設定され、ＴＣＹＬ１値とＴＣＹＬ２値の間では、ＴＣＹＬＩＧＯＦ０値が大きいほど、より小さな値に設定されている。
【００４６】
次に、上記ステップ６〜９において算出された目標停止制御開始回転数の基本値ＮＥＩＣＯＦＲＲＴ、学習用ＰＡ補正項ｄｎｅｉｃｏｆｒｐａ、学習用ＴＡ補正項ｄｎｅｉｃｏｆｒｔａおよび学習用ＦＷ補正項ｄｎｅｉｃｏｆｒｆｗを用い、次式（３）によって、目標停止制御開始回転数の補正後基本値ＮＥＩＣＯＦＲＥＦを算出する（ステップ１０）。
ＮＥＩＣＯＦＲＥＦ
＝ＮＥＩＣＯＦＲＲＴ−ｄｎｅｉｃｏｆｒｐａ−ｄｎｅｉｃｏｆｒｔａ
−ｄｎｅｉｃｏｆｒｆｗ                                    ・・・・（３）
【００４７】
前述したように、学習用ＰＡ補正項ｄｎｅｉｃｏｆｒｐａは、大気圧ＰＡ０が高いほど、より大きな値に設定されるので、この補正後基本値ＮＥＩＣＯＦＲＥＦは、大気圧ＰＡ０が高いほど、より小さな値に補正される。また、学習用ＴＡ補正項ｄｎｅｉｃｏｆｒｔａは、吸気温ＴＡ０が低いほど、より大きな値に設定されるので、補正後基本値ＮＥＩＣＯＦＲＥＦは、吸気温ＴＡ０が低いほど、より小さな値に補正される。さらに、学習用ＦＷ補正項ｄｎｅｉｃｏｆｒｆｗは停止前燃料噴射量ＴＣＹＬＩＧＯＦ０が小さいほど、より大きな値に設定されるので、補正後基本値ＮＥＩＣＯＦＲＥＦは、停止前燃料噴射量ＴＣＹＬＩＧＯＦ０が小さいほど、より小さな値に補正される。
【００４８】
次に、ステップ１１において、学習回数ＮＥＮＧＳＴＰに応じ、図１６に示すマップを検索することによって、なまし係数ＣＩＣＯＦＲＥＦＸを算出する。このマップでは、なまし係数ＣＩＣＯＦＲＥＦＸは、学習回数ＮＥＮＧＳＴＰが多いほど、より大きな値に設定されている（０＜ＣＩＣＯＦＲＥＦＸ＜１）。
【００４９】
次に、ステップ１２において、算出された目標停止制御開始回転数の補正後基本値ＮＥＩＣＯＦＲＥＦ、目標停止制御開始回転数の前回値ＮＥＩＣＯＦＲＥＦＸ、およびなまし係数ＣＩＣＯＦＲＥＦＸを用い、次式（４）によって、目標停止制御開始回転数の今回値ＮＥＩＣＯＦＲＥＦＸを算出する。
ＮＥＩＣＯＦＲＥＦＸ
＝ＮＥＩＣＯＦＲＥＦ・（１−ＣＩＣＯＦＲＥＦＸ）
＋ＮＥＩＣＯＦＲＥＦＸ・ＣＩＣＯＦＲＥＦＸ                ・・・・（４）
【００５０】
この式（４）から明らかなように、目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＸは、目標停止制御開始回転数の補正後基本値ＮＥＩＣＯＦＲＥＦと目標停止制御開始回転数の前回値ＮＥＩＣＯＦＲＥＦＸとの加重平均値であり、なまし係数ＣＩＣＯＦＲＥＦＸは、加重平均の重み係数として用いられる。このため、目標停止制御開始回転数の今回値ＮＥＩＣＯＦＲＥＦＸは、なまし係数ＣＩＣＯＦＲＥＦＸが小さいほど、目標停止制御開始回転数の補正後基本値ＮＥＩＣＯＦＲＥＦにより近くなるように算出され、なまし係数ＣＩＣＯＦＲＥＦＸが大きいほど、目標停止制御開始回転数の前回値ＮＥＩＣＯＦＲＥＦＸにより近くなるように算出される。また、なまし係数ＣＩＣＯＦＲＥＦＸは、学習回数ＮＥＮＧＳＴＰに応じて前述したように設定されるため、学習回数ＮＥＮＧＳＴＰが少ないほど、目標停止制御開始回転数の補正後基本値ＮＥＩＣＯＦＲＥＦの反映度合が大きくなり、学習回数ＮＥＮＧＳＴＰが多いほど、目標停止制御開始回転数の前回値ＮＥＩＣＯＦＲＥＦＸの反映度合が大きくなる。
【００５１】
前記ステップ３または１２に続くステップ１３では、学習回数ＮＥＮＧＳＴＰをインクリメントする。また、ステップ４の答がＮＯのとき、またはステップ１３の後には、ステップ１４において、目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＸの設定が終了したことを表すために、目標停止制御開始回転数設定完了フラグＦ＿ＩＧＯＦＴＨＲＥＦＤＯＮＥを「１」にセットし、本処理を終了する。
【００５２】
図５および図６は、スロットル弁１３ａの開度の目標となる目標開度ＩＣＭＤＴＨＩＧＯＦの設定処理を示す。この処理は、イグニッションスイッチ２１のオフ後に、エンジン回転数ＮＥに応じて、スロットル弁１３ａの目標開度ＩＣＭＤＴＨＩＧＯＦを値０に制御する全閉制御、第１所定開度に設定する１段目制御、および、より大きな第２所定開度に設定する２段目制御を、順に行うものである。上記の全閉制御は、スロットル弁１３ａの閉じ側制御に相当し、１段目制御および２段目制御は、スロットル弁１３ａの開き側制御に相当する。
【００５３】
本処理ではまず、ステップ２１において、イグニッションスイッチのオフ直前に算出された停止前燃料噴射量ＴＣＹＬＩＧＯＦを読み出す処理を実行する。図７は、この停止前燃料噴射量ＴＣＹＬＩＧＯＦの算出処理を示す。本処理ではまず、ステップ５１において、イグニッションスイッチ２１がオフ状態であるか否かを判別する。この答がＮＯのときには、ステップ５２〜５４において、以下の（ａ）〜（ｃ）の条件が成立しているか否かをそれぞれ判別する。
（ａ）エンジン回転数ＮＥが所定回転数ＮＥＲＥＦ（例えば７００ｒｐｍ）以下であること
（ｂ）車速ＶＰが所定値ＶＰＲＥＦ（例えば１ｋｍ／ｈ）以下であること
（ｃ）アクセル開度ＡＰが所定値ＡＰＲＥＦ（例えば１゜）以下であること
【００５４】
これらのステップ５２〜５４の答のいずれかがＮＯで、（ａ）〜（ｃ）の条件のいずれかが成立していないときには、エンジン３がアイドル運転状態でないと判定し、本処理を終了する。
【００５５】
一方、ステップ５２〜５４のすべての答がＹＥＳのときには、エンジン３がアイドル運転状態である判定し、そのときの燃料噴射量ＴＣＹＬを停止前燃料噴射量ＴＣＹＬＩＧＯＦとして設定し（ステップ５４）、本処理を終了する。また、前記ステップ５１の答がＹＥＳでイグニッションスイッチ２１がオフ状態のときには、そのまま本処理を終了する。以上のように算出される結果、停止前燃料噴射量ＴＣＹＬＩＧＯＦは、イグニッションスイッチ２１のオフ直前のアイドル運転状態において、気筒３ａ内に噴射された燃料量を表す。
【００５６】
図５に戻り、ステップ２１に続くステップ２２では、２段目制御実行フラグＦ＿ＩＧＯＦＦＴＨ２が「１」であるか否かを判別する。この２段目制御実行フラグＦ＿ＩＧＯＦＦＴＨ２は、上述した２段目制御の実行中に「１」にセットされ、それ以外のときには「０」にセットされるものである。このステップ２２の答がＹＥＳのときには、そのまま本処理を終了する。
【００５７】
一方、ステップ２２の答がＮＯのときには、ステップ２３において、フューエルカットフラグＦ＿ＩＧＯＦＦＦＣが「１」であるか否かを判別する。この答がＮＯで、イグニッションスイッチ２１のオフ後に、エンジン３への燃料供給の停止がまだ完了していないときには、１段目制御実行フラグＦ＿ＩＧＯＦＦＴＨ１および２段目制御実行フラグＦ＿ＩＧＯＦＦＴＨ２をそれぞれ「０」にセットする（ステップ２４，２５）とともに、目標開度ＩＣＭＤＴＨＩＧＯＦを値０に設定し（ステップ２６）、本処理を終了する。
【００５８】
一方、上記ステップ２３の答がＹＥＳで、エンジン３への燃料供給の停止が完了しているときには、そのときの大気圧ＰＡに応じて、前述した図１１のマップからマップ値ＤＮＥＩＣＯＦＰＡを検索し、設定用ＰＡ補正項ｄｎｅｉｃｏｆｐａｘとして設定する（ステップ２７）。
【００５９】
次に、ステップ２８において、そのときの吸気温ＴＡに応じて、前述した図１２のマップからマップ値ＤＮＥＩＣＯＦＴＡを検索し、設定用ＴＡ補正項ｄｎｅｉｃｏｆｔａｘとして設定する。
【００６０】
次に、ステップ２９において、エンジン水温ＴＷが所定温度ＴＷＩＧＯＦＦＴＨＲＬ（例えば８０℃）よりも高いか否かを判別する。この答がＮＯで、エンジン水温ＴＷが所定温度ＴＷＩＧＯＦＦＴＨＲＬ以下のときには、ステップ３０において、設定用ＦＷ補正項ｄｎｅｉｃｏｆｆｗｘを０に設定し、ステップ３２に進む。
【００６１】
一方、上記ステップ２９の答がＹＥＳのときには、ステップ３１において、前記ステップ２１で読み出した停止前燃料噴射量ＴＣＹＬＩＧＯＦに応じて、前述した図１５のマップからマップ値ＤＮＥＩＣＯＦＦＷを検索し、設定用ＦＷ補正項ｄｎｅｉｃｏｆｆｗｘとして設定する。
【００６２】
ステップ３０またはステップ３１に続くステップ３２では、図４のステップ１２で設定された目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＸと、上記のように算出された設定用ＰＡ補正項ｄｎｅｉｃｏｆｐａｘ、設定用ＴＡ補正項ｄｎｅｉｃｏｆｔａｘおよび設定用ＦＷ補正項ｄｎｅｉｃｏｆｆｗｘを用い、次式（５）によって、補正後目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＮを算出する。
ＮＥＩＣＯＦＲＥＦＮ
＝ＮＥＩＣＯＦＲＥＦＸ＋ｄｎｅｉｃｏｆｐａｘ＋ｄｎｅｉｃｏｆｔａｘ
＋ｄｎｅｉｃｏｆｆｗｘ                                    ・・・・（５）
【００６３】
前述したように、設定用ＰＡ補正項ｄｎｅｉｃｏｆｐａｘは、大気圧ＰＡが高いほど、より大きな値に設定されているので、補正後目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＮは、大気圧ＰＡが高いほど、より大きな値に補正される。これは以下の理由による。
【００６４】
大気圧ＰＡが高いほど、吸気の密度が高く、ピストン３ｄに対する吸気の抵抗が大きいので、エンジン回転数ＮＥの低下速度は大きくなる。また、目標開度ＩＣＭＤＴＨＩＧＯＦに基づく制御信号が出力された後、スロットル弁１３ａがそれに対応した開度になるまでに遅れを伴い、その後、吸気量がその開度に見合う大きさになるまでに、さらに遅れを伴う。したがって、大気圧ＰＡが高いほど、補正後目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＮをより大きな値に補正し、２段目制御をより早いタイミングで開始することによって、上記のようなスロットル弁１３ａの動作および吸気の遅れの影響を適切に補償することができる。
【００６５】
また、設定用ＴＡ補正項ｄｎｅｉｃｏｆｔａｘは、吸気温ＴＡが低いほど、より大きな値に設定されているので、補正後目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＮは、吸気温ＴＡが低いほど、より大きな値に補正される。吸気温ＴＡが低いほど、ピストン３ｄが摺動する際の摩擦が大きいとともに、吸気の密度が高いので、エンジン回転数ＮＥの低下速度は大きくなる。したがって、吸気温ＴＡが低いほど、補正後目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＮをより大きな値に補正し、２段目制御をより早いタイミングで開始することによって、スロットル弁１３ａの動作および吸気の遅れの影響を適切に補償することができる。
【００６６】
また、設定用ＦＷ補正項ｄｎｅｉｃｏｆｆｗｘは、停止前燃料噴射量ＴＣＹＬＩＧＯＦが大きいほど、より小さな値に設定されているので、補正後目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＮは、停止前燃料噴射量ＴＣＹＬＩＧＯＦが大きいほど、より小さな値に補正される。停止前燃料噴射量ＴＣＹＬＩＧＯＦが大きいほど、気筒３ａに残留する燃料量が多いので、それが燃焼されることによって、エンジン３の慣性力が増加し、エンジン回転数ＮＥの低下速度は小さくなる。したがって、停止前燃料噴射量ＴＣＹＬＩＧＯＦが大きいほど、補正後目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＮをより小さな値に補正し、２段目制御をより遅いタイミングで開始することによって、内燃機関の回転数を十分に抑制することができる。
【００６７】
次に、ステップ３３において、補正後目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＮに所定値ＤＮＥＩＣＯＦＰＲＥを加算した値（＝ＮＥＩＣＯＦＲＥＦＮ＋ＤＮＥＩＣＯＦＰＲＥ）を、１段目制御開始回転数ＮＥＩＣＯＦＰＲＥとして算出する。
【００６８】
次に、ステップ３４において、エンジン回転数ＮＥが、算出された１段目制御開始回転数ＮＥＩＣＯＦＰＲＥよりも小さいか否かを判別する。この答がＮＯで、ＮＥ≧ＮＥＩＣＯＦＰＲＥのときには、前記ステップ２４〜２６を実行し、本処理を終了する。
【００６９】
一方、上記ステップ３４の答がＹＥＳで、エンジン回転数ＮＥが１段目制御開始回転数ＮＥＩＣＯＦＰＲＥを下回ったときには、１段目制御実行フラグＦ＿ＩＧＯＦＦＴＨ１が「１」であるか否かを判別する（ステップ３５）。この答がＮＯで、１段目制御がまだ実行されていないときには、目標開度ＩＣＭＤＴＨＩＧＯＦを１段目制御用の第１所定開度ＩＣＭＤＯＦＰＲＥに設定する（ステップ３６）とともに、１段目制御の実行中であることを表すために、１段目制御実行フラグＦ＿ＩＧＯＦＦＴＨ１を「１」にセットし（ステップ３７）、本処理を終了する。
【００７０】
一方、上記ステップ３４の答がＹＥＳで、１段目制御の実行中のときには、ステージ番号ＳＴＧが「０」であるか否かを判別する（ステップ３８）。この答がＮＯのとき、すなわち、いずれの気筒３ａも圧縮行程の中期に相当していないときには、前記ステップ３６および３７を実行し、本処理を終了する。
【００７１】
一方、上記ステップ３８の答がＹＥＳで、ステージ番号ＳＴＧが「０」のとき、すなわち、いずれかの気筒３ａが圧縮行程の中期に相当しているときには、エンジン回転数ＮＥが前記ステップ３１で算出された補正後目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＮよりも小さいか否かを判別する（ステップ３９）。この答がＮＯで、ＮＥＩＣＯＦＲＥＦＮ≦ＮＥ＜ＮＥＩＣＯＦＰＲＥのときには、前記ステップ３６および３７を実行することによって、１段目制御を継続するようにし、本処理を終了する。
【００７２】
一方、上記ステップ３９の答がＹＥＳのとき、すなわちステージ番号ＳＴＧが「０」であり、かつエンジン回転数ＮＥが補正後目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＮを下回ったときには、ステップ４０において、そのときのエンジン回転数ＮＥを、停止制御に用いた実際の停止制御開始回転数ＮＥＩＧＯＦＴＨとして記憶し、そのときの大気圧ＰＡおよび吸気温ＴＡを、停止制御時の大気圧ＰＡ０および吸気温ＴＡ０としてそれぞれ記憶する（ステップ４１，４２）とともに、停止前燃料噴射量ＴＣＹＬＩＧＯＦを停止制御に用いた停止前燃料噴射量ＴＣＹＬＩＧＯＦ０として記憶する（ステップ４３）。記憶された停止制御開始回転数ＮＥＩＧＯＦＴＨは前記式（１）に用いられ、大気圧ＰＡ０、吸気温ＴＡ０および停止前燃料噴射量ＴＣＹＬＩＧＯＦ０はそれぞれ、図４のステップ７〜９において、学習用ＰＡ補正項ｄｎｅｉｃｏｆｒｐａ、学習用ＴＡ補正項ｄｎｅｉｃｏｆｒｔａおよび学習用ＦＷ補正項ｄｎｅｉｃｏｆｒｆｗの算出に用いられる。
【００７３】
ステップ４３に続くステップ４４では、２段目制御処理を実行する。図８は、この２段目制御処理を示す。本処理ではまず、ステップ６１において、補正後目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＮと実際の停止制御開始回転数ＮＥＩＧＯＦＴＨとの差（＝ＮＥＩＣＯＦＲＥＦＮ−ＮＥＩＧＯＦＴＨ）を、偏差ＤＮＥＩＧＯＦＴＨとして算出する。
【００７４】
次に、ステップ６２において、この偏差ＤＮＥＩＧＯＦＴＨが所定の第１判定値ＤＮＥＩＧＯＦＴＨＬよりも小さいか否かを判別する。この答がＹＥＳのときには、偏差ＤＮＥＩＧＯＦＴＨが小さいとして、そのことを表すために回転数偏差フラグＦ＿ＤＮＥＩＧＯＦＴＨを「０」にセットする（ステップ６３）とともに、目標開度ＩＣＭＤＴＨＩＧＯＦを２段目制御用の第２所定開度ＩＣＭＤＯＦ２に設定する（ステップ６４）。この第２所定開度ＩＣＭＤＯＦ２は、１段目制御用の第１所定開度ＩＣＭＤＯＦＰＲＥよりも大きい。
【００７５】
一方、上記ステップ６２の答がＮＯで、ＤＮＥＩＧＯＦＴＨ≧ＤＮＥＩＧＯＦＴＨＬのときには、補正後目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＮと実際の停止制御開始回転数ＮＥＩＧＯＦＴＨとの差が大きいとして、そのことを表すために回転数偏差フラグＦ＿ＤＮＥＩＧＯＦＴＨを「１」にセットした（ステップ６５）後、偏差ＤＮＥＩＧＯＦＴＨが、第１判定値ＤＮＥＩＧＯＦＴＨＬよりも大きな所定の第２判定値ＤＮＥＩＧＯＦＴＨＨ以上であるか否かを判別する（ステップ６６）。この答がＹＥＳで、ＤＮＥＩＧＯＦＴＨ≧ＤＮＥＩＧＯＦＴＨＨのときには、前記ステップ６４に進み、目標開度ＩＣＭＤＴＨＩＧＯＦを第２所定開度ＩＣＭＤＯＦ２に設定し、本処理を終了する。
【００７６】
一方、上記ステップ６６の答がＮＯで、ＤＮＥＩＧＯＦＴＨＬ≦ＤＮＥＩＧＯＦＴＨ＜ＤＮＥＩＧＯＦＴＨＨのときには、目標開度ＩＣＭＤＴＨＩＧＯＦを第３所定開度ＩＣＭＤＯＦ３に設定し（ステップ６７）、本処理を終了する。この第３所定開度ＩＣＭＤＯＦ３は、第１所定開度ＩＣＭＤＯＦＰＲＥよりも大きく、第２所定開度ＩＣＭＤＯＦ２よりも小さい。
【００７７】
図６に戻り、ステップ４４に続くステップ４５では、２段目制御の実行中であることを表すために、２段目制御実行フラグＦ＿ＩＧＯＦＦＴＨ２を「１」にセットし（ステップ４８）、本処理を終了する。
【００７８】
図９および図１０は、最終圧縮行程回転数ＮＥＰＲＳＦＴＧＴの算出処理を示す。本処理ではまず、ステップ７１において、２段目制御実行フラグＦ＿ＩＧＯＦＦＴＨ２が「１」であるか否かを判別する。この答がＮＯで、２段目制御の実行中でないときには、最終圧縮行程回転数ＮＥＰＲＳＦＴＧＴを値０に設定し（ステップ７２）、本処理を終了する。
【００７９】
一方、上記ステップ７１の答がＹＥＳで、２段目制御の実行中のときには、初期化終了フラグＦ＿ＴＤＣＴＨＩＧＯＦＩＮＩが「１」であるか否かを判別する（ステップ７３）。この答がＮＯのときには、その時点の気筒番号ＣＵＣＹＬをその前回値ＣＵＣＹＬＩＧＯＦＴＨＺにシフトする（ステップ７４）。また、２段目制御開始後のＴＤＣの発生回数を計測するＴＤＣカウンタ値ＣＴＤＣＴＨＩＧＯＦを０にリセットする（ステップ７５）とともに、以上の初期化処理が終了したことを表すために、初期化終了フラグＦ＿ＴＤＣＴＨＩＧＯＦＩＮＩを「１」にセットし（ステップ７６）、後述するステップ８０に進む。
【００８０】
一方、上記ステップ７３の答がＹＥＳで、上記の初期化処理がすでに行われているときには、気筒番号の前回値ＣＵＣＹＬＩＧＯＦＴＨＺと、その時点の気筒番号ＣＵＣＹＬが一致しているか否かを判別する（ステップ７７）。この答がＹＥＳのときには、後述するステップ８０に進む。
【００８１】
一方、上記ステップ７７の答がＮＯで、ＣＵＣＹＬＩＧＯＦＴＨＺ≠ＣＵＣＹＬのときには、ＴＤＣが発生したとして、ＴＤＣカウンタ値ＣＴＤＣＴＨＩＧＯＦをインクリメントする（ステップ７８）とともに、その時点の気筒番号ＣＵＣＹＬを、その前回値ＣＵＣＹＬＩＧＯＦＴＨＺにシフトし（ステップ７９）、ステップ８０に進む。
【００８２】
このステップ８０では、ステージ番号ＳＴＧが「０」であるか否かを判別し、ステップ８１では、エンジン回転数ＮＥが０であるか否かを判別する。このステップ８０の答がＮＯで、いずれの気筒３ａも圧縮行程の中期に相当していないとき、または、ステップ８１の答がＹＥＳで、エンジン３が完全に停止しているときには、本処理を終了する。
【００８３】
一方、ステップ８０の答がＹＥＳで、いずれかの気筒３ａが圧縮行程の中期に相当し、かつステップ８１の答がＮＯで、エンジン３がまだ完全に停止していないときには、ステップ８２において、最終圧縮行程回転数の暫定値ＮＥＰＲＳＦがその時点のエンジン回転数ＮＥよりも大きいか否かを判別する。この答がＮＯで、ＮＥＰＲＳＦ≦ＮＥのときには、本処理を終了する。
【００８４】
一方、上記ステップ８２の答がＹＥＳで、ＮＥＰＲＳＦ＞ＮＥのときには、エンジン回転数ＮＥを最終圧縮行程回転数の暫定値ＮＥＰＲＳＦとして記憶した（ステップ８３）後、ステップ８４において、最終圧縮行程回転数算出完了フラグＦ＿ＳＥＴＰＲＳＦＴＧＴが「１」であるか否かを判別する。この答がＹＥＳで、最終圧縮行程回転数ＮＥＰＲＳＦＴＧＴの算出がすでに完了しているときには、本処理を終了する。
【００８５】
一方、ステップ８４の答がＮＯで、最終圧縮行程回転数ＮＥＰＲＳＦＴＧＴの算出がまだ完了していないときには、ＴＤＣカウンタ値ＣＴＤＣＴＨＩＧＯＦが所定値ＮＴＤＣＩＧＯＦＴＨに等しいか否かを判別する（ステップ８５）。この所定値ＮＴＤＣＩＧＯＦＴＨは、２段目制御の開始後に、何回目のＴＤＣが最終の圧縮行程になるかを実験などによりあらかじめ求めたものであり、本実施形態では例えば値３に設定されている。
【００８６】
このステップ８５の答がＮＯのときには、最終の圧縮行程ではないとして、前記ステップ７２に進み、最終圧縮行程回転数ＮＥＰＲＳＦＴＧＴを値０に設定し、本処理を終了する。
【００８７】
一方、上記ステップ８５の答がＹＥＳのときには、最終の圧縮行程であるとして、前記ステップ８３で記憶された暫定値ＮＥＰＲＳＦを最終圧縮行程回転数ＮＥＰＲＳＦＴＧＴとして算出する（ステップ８６）。また、最終圧縮行程回転数算出完了フラグＦ＿ＳＥＴＰＲＳＦＴＧＴを「１」にセットし（ステップ８７）、本処理を終了する。このようにして算出された最終圧縮行程回転数ＮＥＰＲＳＦＴＧＴは、次回の停止制御において、前記式（１）に適用され、目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＸの設定に用いられる。
【００８８】
図１１は、点火プラグの点火制御処理を示す。本処理ではまず、ステップ９１において、フューエルカットフラグＦ＿ＩＧＯＦＦＦＣが「１」であるか否かを判別する。この答がＮＯで、イグニッションスイッチ２１のオフ後に、エンジン３への燃料供給の停止がまだ完了していないときには、ステップ９２において、点火プラグ７による点火を実行する。具体的には、ピストン３ｄが圧縮行程の上死点付近の所定のクランク角度位置になったときに点火を行い、本処理を終了する。
【００８９】
一方、上記ステップ９１の答がＹＥＳで、エンジン３への燃料供給の停止が完了しているときには、ステップ９３において、１段目制御実行フラグＦ＿ＩＧＯＦＦＴＨ１が「１」であるか否かを判別する。この答がＮＯで、１段目制御がまだ開始されていないときには、前記ステップ９２を実行し、点火を継続するようにし、本処理を終了する。
【００９０】
一方、上記ステップ９３の答がＹＥＳで、１段目制御が開始された後には、ステップ９４において、点火プラグ７による点火を停止し、本処理を終了する。
【００９１】
図１７は、これまでに説明した実施形態のエンジン３の停止制御処理によって得られる動作例を、比較例とともに示す。同図（ａ）に示す実施形態では、前述したように、停止前燃料噴射量ＴＣＹＬＩＧＯＦが大きいほど、１段目制御開始回転数ＮＥＩＣＯＦＰＲＥ、および２段目制御を開始する目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＸがそれぞれ小さくなるように補正するのに対し、同図（ｂ）に示す比較例は、そのような補正を行わない例である。
【００９２】
このため、比較例では、停止前燃料噴射量ＴＣＹＬＩＧＯＦが少ない場合（実線）と多い場合（破線）との間で、１段目制御開始回転数ＮＥＩＣＯＦＰＲＥおよび目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＸは変わらない。その結果、停止前燃料噴射量ＴＣＹＬＩＧＯＦが少なく、気筒内３ａに残留した燃料が少ない場合には、前述した停止制御が行われることによって、最終圧縮行程回転数ＮＥＰＲＳＦＴＧＴが基準値ＮＥＮＰＦＬＭＴ０にほぼ一致し、ピストン３ｄがＴＤＣの手前の所望のクランク角度位置で停止し、バルブオーバーラップが回避される。しかし、停止前燃料噴射量ＴＣＹＬＩＧＯＦが多く、気筒内３ａに残留した燃料が多い場合には、それが燃焼されることによるエンジン３の慣性力が増大しており、エンジン回転数ＮＥの低下速度は小さくなっている。その結果、最終圧縮行程回転数ＮＥＰＲＳＦＴＧＴが基準値ＮＥＮＰＦＬＭＴ０よりも大きな値になり、ピストン３ｄが所望のクランク角度位置よりも先のＴＤＣで停止し、バルブオーバーラップが発生する。
【００９３】
これに対し、実施形態では、停止前燃料噴射量ＴＣＹＬＩＧＯＦに応じた補正により、１段目制御開始回転数ＮＥＩＣＯＦＰＲＥおよび補正後目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＮは、停止前燃料噴射量ＴＣＹＬＩＧＯＦが少ない場合（実線）には、より大きな値に設定され、多い場合（破線）には、より小さな値に設定される。したがって、例えば、停止前燃料噴射量ＴＣＹＬＩＧＯＦが大きい場合には、１段目制御が開始されるまでの全閉制御の期間が長く確保されるので、残留した燃料の燃焼によりエンジン３の慣性力が増大し、エンジン回転数ＮＥの低下速度が大きくなっているときでも、エンジン回転数ＮＥを十分に抑制できる。その結果、停止前燃料噴射量ＴＣＹＬＩＧＯＦの大きさにかかわらず、最終圧縮行程回転数ＮＥＰＲＳＦＴＧＴが基準値ＮＥＮＰＦＬＭＴ０にほぼ一致し、ピストン３ｄがＴＤＣの手前の所望のクランク角度位置で停止し、バルブオーバーラップが回避される。
【００９４】
以上のように、本実施形態によれば、イグニッションスイッチ２１がオフされた後に、点火プラグ７による点火を実行することによって気筒３ａ内の燃料を燃焼させるので、エンジン３の再始動時における始動性と排ガス特性を向上させることができる。
【００９５】
また、イグニッションスイッチ２１がオフされる前の停止前燃料噴射量ＴＣＹＬＩＧＯＦが大きいほど、１段目制御開始回転数ＮＥＩＣＯＦＰＲＥおよび目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＸをより小さくなるように補正するので、スロットル弁１３ａの１段目制御が開始されるまでの全閉制御の期間を長くすることができる。したがって、エンジン３の停止時に気筒３ａ内に残留する燃料量に応じて、ピストン３ｄをバルブオーバーラップが発生しない位置に精度良く停止させることができる。
【００９６】
また、エンジン３がアイドル運転状態のときに停止前燃料噴射量ＴＣＹＬＩＧＯＦを取得するので、イグニッションスイッチ２１がオフされる前に、運転者のアクセル操作によりエンジン回転数ＮＥが一時的に上昇した場合でも、この操作に伴って一時的に増加した燃料噴射量ＴＣＹＫＬは、停止前燃料噴射量ＴＣＹＬＩＧＯＦとしては算出されない。したがって、そのような一時的に増加した燃料の供給量に応じて１段目制御開始回転数ＮＥＩＣＯＦＰＲＥおよび目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＸが過大に補正されることを、回避することができる。
【００９７】
また、エンジン水温ＴＷが所定温度ＴＷＩＧＯＦＴＨＲＬ以下のときに、停止前燃料噴射量ＴＣＹＬＩＧＯＦに応じた目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＮの補正を禁止するので、エンジン３の温度が低く、ピストン３ｄの摩擦が大きいときでも、ピストン３ｄを所定位置に精度良く停止させることができる。
【００９８】
また、１段目制御が開始されるまで、点火を実行するので、気筒３ａ内に残留した燃料を最大限、燃焼させることができる。また、１段目制御が開始されたときに点火を停止するので、気筒３ａ内の燃料が完全に燃焼されなかった場合でも、残留した燃料の燃焼によりエンジン回転数ＮＥが急激に上昇することを防止することができる。
【００９９】
なお、本発明は、説明した実施形態に限定されることなく、種々の態様で実施することができる。例えば、実施形態では、エンジン３の停止時に、スロットル弁１３ａの２段目制御に先立ち、１段目制御を実行しているが、１段目制御は省略してもよい。この場合には、点火プラグ７の点火は、エンジン回転数ＮＥが補正後目標停止制御開始回転数ＮＥＩＣＯＦＲＥＦＮを下回るまで、継続される。
【０１００】
また、実施形態では、イグニッションスイッチ２１がオフされたときに、エンジン３の停止条件が成立したとして、エンジン３の停止制御を実行しているが、これに代えて、所定のアイドルストップ条件が成立したときにエンジン３を自動的に停止させるアイドルストップが行われる場合に、アイドルストップ条件の成立後に停止制御を実行してもよい。
【０１０１】
さらに、実施形態では、吸気量を調整するための吸気量調整弁として、スロットル弁１３ａを用いているが、これに代えて、吸気リフト可変機構によって吸気リフトを変更可能な吸気弁を用いてもよい。
【０１０２】
また、実施形態は、本発明を車両に搭載されたガソリンエンジンに適用した例であるが、本発明は、これに限らず、ガソリンエンジン以外のディーゼルエンジンなどの各種のエンジンに適用してもよく、また、車両用以外のエンジン、例えば、クランク軸を鉛直に配置した船外機などのような船舶推進機用エンジンにも適用可能である。その他、本発明の趣旨の範囲内で、細部の構成を適宜、変更することが可能である。
【符号の説明】
【０１０３】
１    内燃機関の停止制御装置
２    ＥＣＵ（燃料供給量取得手段、吸気量制御手段、所定期間補正手段、
アイドル判定手段、補正禁止手段）
３    エンジン（内燃機関）
３ａ  気筒
３ｄ  ピストン
７    点火プラグ
１３ａ  スロットル弁（吸気量調整弁）
１３ｂ  ＴＨアクチュエータ（吸気量制御手段）
２６    水温センサ（機関温度検出手段）
ＴＣＹＬＩＧＯＦ  停止前燃料噴射量（燃料供給量）
ＴＷ  エンジン水温（内燃機関の温度）
ＴＷＩＧＯＦＴＨＲＬ  所定温度
【図１】
2011074832.tif 000003
【図２】
2011074832.tif 000004
【図３】
2011074832.tif 000005
【図４】
2011074832.tif 000006
【図５】
2011074832.tif 000007
【図６】
2011074832.tif 000008
【図７】
2011074832.tif 000009
【図８】
2011074832.tif 000010
【図９】
2011074832.tif 000011
【図１０】
2011074832.tif 000012
【図１１】
2011074832.tif 000013
【図１２】
2011074832.tif 000014
【図１３】
2011074832.tif 000015
【図１４】
2011074832.tif 000016
【図１５】
2011074832.tif 000017
【図１６】
2011074832.tif 000018
【図１７】
2011074832.tif 000019