(57)【要約】【課題】エンジン停止位置を精度良く推定できるようにする。【解決手段】エンジン停止指令を検出後、７２０℃Ａをエンジンの気筒数で除算したクランク角度間隔でエンジンの運動を表すパラメータ（例えばエンジン回転速度）を算出し、前回算出した運動を表すパラメータと今回算出した運動を表すパラメータとの差分から、エンジンの運動を妨げるパラメータ（例えば各種の損失による仕事量）を算出する。この運動を妨げるパラメータと今回算出した運動を表すパラメータから未来の運動を表すパラメータの予測値を算出し、その予測値からエンジンが停止するかどうかを判断する。エンジンが停止すると判断すれば、予測した未来のエンジン停止時の各気筒の行程状態を推定して、バックアップＲＡＭ等に記憶する。そして、次のエンジン始動時に、この記憶情報を用いて最初の噴射気筒、点火気筒を決定して噴射制御、点火制御を開始する。【選択図】  図４
2004245105.tif 000002
【特許請求の範囲】
【請求項１】
エンジン停止指令に基づいて点火及び／又は燃料噴射を停止してエンジン回転を停止させるエンジン停止手段と、
エンジンの運動を表すパラメータを算出する第１のパラメータ算出手段と、
エンジンの運動を妨げるパラメータを算出する第２のパラメータ算出手段と、前記エンジン停止手段によりエンジン回転を停止させる過程で前記二つのパラメータ算出手段で算出されたエンジンの運動を表すパラメータとエンジンの運動を妨げるパラメータとに基づいてエンジン停止位置を推定する停止位置推定手段とを備えていることを特徴とするエンジン停止位置推定装置。
【請求項２】
前記エンジン停止指令は、イグニッションスイッチオフ信号とアイドルストップオン信号のいずれかにより発生することを特徴とする請求項１に記載のエンジンの停止時気筒状態推定手段。
【請求項３】
前記第１のパラメータ算出手段は、前記運動を表すパラメータとして、エンジンの運動エネルギ、回転速度、クランク軸角速度、ピストンの移動速度の少なくとも一つを算出することを特徴とする請求項１又は２に記載のエンジン停止位置推定装置。
【請求項４】
前記第１のパラメータ算出手段は、７２０℃Ａを前記エンジンの気筒数で除算したクランク角度分の間隔毎に前記運動を表すパラメータを算出することを特徴とする請求項１乃至３のいずれかに記載のエンジン停止位置推定装置。
【請求項５】
前記第１のパラメータ算出手段は、算出タイミングにおいて瞬間的な値を算出することを特徴とする請求項１乃至４のいずれかに記載のエンジン停止位置推定装置。
【請求項６】
前記第２のパラメータ算出手段は、前記運動を妨げるパラメータとして、ポンプ損失、各部の摩擦損失、各補機の駆動損失の少なくとも一つを算出することを特徴とする請求項１乃至５のいずれかに記載のエンジン停止位置推定装置。
【請求項７】
前記第２のパラメータ算出手段は、前記運動を妨げるパラメータを、エンジンの運動に関わる部分の質量と回転運動の径、エンジンの慣性モーメントのうち少なくとも一つを考慮して算出することを特徴とする請求項６に記載のエンジン停止位置推定装置。
【請求項８】
前記第２のパラメータ算出手段は、前記エンジン停止によりエンジン回転を停止させる過程で前記運動を妨げるパラメータを少なくとも一回は算出することを特徴とする請求項１乃至７のいずれかに記載のエンジン停止位置推定装置。
【請求項９】
前記第２のパラメータ算出手段は、前記第１のパラメータ算出手段により今回算出された前記運動を表すパラメータと前回算出された前記運動を表すパラメータとに基づいてエンジンの運動が妨げられる量を算出することを特徴とする請求項１乃至８のいずれかに記載のエンジン停止位置推定装置。
【請求項１０】
前記第２のパラメータ算出手段は、７２０℃Ａを前記エンジンの気筒数で除算したクランク角度の間にエンジンの運動が妨げられる量を算出することを特徴とする請求項１乃至９のいずれかに記載のエンジン停止位置推定装置。
【請求項１１】
前記停止位置推定手段は、前記第１のパラメータ算出手段により今回算出された前記運動を表すパラメータと前記運動を妨げるパラメータとに基づいて未来の運動を表すパラメータを予測し、この未来の運動を表すパラメータの予測値に基づいてエンジン停止位置を推定することを特徴とする請求項１乃至１０のいずれかに記載のエンジン停止位置推定装置。
【請求項１２】
前記停止位置推定手段は、７２０℃Ａを前記エンジンの気筒数で除算したクランク角度分未来における運動を表すパラメータを予測することを特徴とする請求項１１に記載のエンジン停止位置推定装置。
【請求項１３】
前記停止位置推定手段は、前記未来の運動を表すパラメータの予測値と前記運動を妨げるパラメータとに基づいて更に未来の運動を表すパラメータを予測することを特徴とする請求項１１又は１２に記載のエンジン停止位置推定装置。
【請求項１４】
前記停止位置推定手段は、前記未来の運動を表すパラメータの予測値が所定値以下になったときに、当該予測値のクランク角の手前でエンジン回転が停止すると推定することを特徴とする請求項１１乃至１３のいずれかに記載のエンジン停止位置推定装置。
【請求項１５】
前記停止位置推定手段は、前記第２のパラメータ算出手段により算出した前記運動を妨げるパラメータに基づいてエンジン停止判定値を算出し、前記エンジン停止手段によりエンジン回転を停止させる過程で前記第１のパラメータ算出手段により算出した前記運動を表すパラメータと前記エンジン停止判定値とを比較してエンジン停止位置を推定することを特徴とする請求項１乃至１０のいずれかに記載のエンジン停止位置推定装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、エンジン停止位置を推定する機能を備えたエンジン停止位置推定装置に関するものである。
【０００２】
【従来の技術】
一般に、エンジン運転中は、クランク角センサとカム角センサの出力信号に基づいて気筒を判別し且つクランク角を検出して点火制御や燃料噴射制御を行うようにしているが、エンジン始動時は、スタータによりエンジンをクランキングして特定気筒の判別を完了するまで（つまり特定気筒の所定クランク角の信号を検出するまで）、最初に点火・噴射する気筒が不明であるという問題がある。
【０００３】
この問題を解決するために、特許文献１（特開昭６０−２４０８７５号公報）に示すように、エンジン停止時のクランク角（クランク軸の停止位置）をメモリに記憶しておき、次のエンジン始動時に、特定気筒の所定クランク角の信号を最初に検出するまでの間は、上記メモリに記憶されたエンジン回転停止時のクランク角を基準にして点火制御や燃料噴射制御を開始することで、始動性や始動時の排気エミッションを向上させるようにしたものがある。
【０００４】
しかし、イグニッションスイッチがオフ操作されて点火や燃料噴射が停止された後も、暫くエンジンが惰性で回転するため、イグニッションスイッチのオフ操作時のクランク角を記憶したのでは、実際のエンジン停止位置（次のエンジン始動位置）を誤判定してしまう。従って、イグニッションスイッチのオフ後も、エンジン回転が完全に停止するまで、制御系の電源をオン状態に維持してクランク角の検出を継続する必要があるが、エンジン回転が停止する間際に圧縮行程の圧縮圧によってエンジン回転が逆転する現象が発生するため、エンジン停止位置を正確に検出することができない（逆転は検出できない）。
【０００５】
また、特許文献２（特開平１１−１０７８２３号公報）に示すように、イグニッションスイッチがオフされた瞬間のエンジン運転状態（吸気管圧力、エンジン回転速度）に基づいて、クランク軸が慣性により回転して停止するまでの回転量（ＴＤＣ数）を演算し、イグニッションスイッチがオフされる直前に燃料が噴射された気筒と、前記停止するまでの回転量（ＴＤＣ数）とから、エンジン停止位置を推定して、次のエンジン始動時の順次噴射における最初の気筒を推定するようにしたものがある。
【０００６】
【特許文献１】
特開昭６０−２４０８７５号公報（第２頁等）
【特許文献２】
特開平１１−１０７８２３号公報（第２頁等）
【０００７】
【発明が解決しようとする課題】
しかしながら、前記特許文献２では、エンジンが持つ慣性の運動エネルギを予めマッチングして記憶しているにすぎず、停止過程において運動エネルギの変化を予測していないため、エンジンの製造公差、経時変化、エンジンフリクションの変化（例えばエンジンオイルの油温変化による粘度の違い等）によるバラツキにより、クランク軸が慣性により回転して停止するまでの回転量（ＴＤＣ数）の推定を誤る可能性がある。このため、前記特許文献２では、エンジン停止位置を精度良く推定することは困難であり、その結果、エンジン始動時の最初の噴射気筒や点火気筒を誤判定して、始動性や始動時の排気エミッションを悪化させてしまう可能性がある。
【０００８】
本発明は上記従来技術の問題点を解決するためになされたものであり、その目的は、エンジン停止位置を精度良く推定することができて、始動性や始動時の排気エミッションを向上させることができるエンジン停止位置推定装置を提供することにある。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１のエンジン停止位置推定装置は、エンジン停止指令に基づいて点火及び／又は燃料噴射を停止してエンジン回転を停止させるエンジン停止手段を備え、エンジンの運動を表すパラメータを第１のパラメータ算出手段により算出すると共に、エンジンの運動を妨げるパラメータを第２のパラメータ算出手段により算出し、エンジン回転を停止させる過程で、エンジンの運動を表すパラメータとエンジンの運動を妨げるパラメータとに基づいてエンジン停止位置を停止位置推定手段により推定する。この場合、エンジンの運動を表すパラメータやエンジンの運動を妨げるパラメータを算出する過程で、エンジンの製造公差、経時変化、エンジンフリクションの変化（例えばエンジンオイルの油温変化による粘度の違い等）によるバラツキを考慮することができるため、これらのパラメータからエンジン停止位置を従来よりも精度良く推定することができ、始動性や始動時の排気エミッションを従来よりも向上させることができる。
【００１０】
燃料噴射、点火を停止する正規のエンジン停止は、運転者が自分の意思でエンジンの運転を停止するエンジン手動停止の場合と、燃費改善効果を狙ったアイドルストップシステムによるエンジン自動停止の場合がある。従って、エンジン停止指令が発生したか否かは、請求項２のように、イグニッションスイッチオフ信号とアイドルストップオン信号のいずれかにより判断すれば良い。尚、アイドルストップシステムを搭載していない車両では、イグニッションスイッチオフ信号のみで、エンジン停止指令が発生しているか否かを判定するようにすれば良いことは言うまでもない。
【００１１】
また、エンジン停止指令が発生して燃料噴射と点火が停止されても、エンジンは、慣性で暫く回転し続け、もともと持っていた運動エネルギが全て奪われた時点でエンジン回転が停止する。この停止過程において、エンジンの動きを確認してエンジン停止位置を推定するためには、エンジンの運動を表すパラメータを考慮する必要がある。
【００１２】
そこで、請求項３のように、エンジンの運動を表すパラメータとして、エンジンの運動エネルギ、エンジン回転速度、クランク軸角速度、ピストンの移動速度のうち少なくとも一つを算出するようにすれば良い。エンジンの運動エネルギ、エンジン回転速度、クランク軸角速度、ピストンの移動速度は、エンジンの運動を表す代表的なパラメータである。
【００１３】
この場合、エンジンの運動を表すパラメータの算出タイミングをエンジンの運動を妨げるパラメータの算出タイミングに同期させるため、請求項４のように、エンジンの運動を表すパラメータの算出は、７２０℃Ａをエンジンの気筒数で除算したクランク角度分の間隔毎のタイミングで行なえば良い。
【００１４】
また、エンジンの運動を表すパラメータを、その算出タイミングにおいて正確に算出するには、請求項５のように、エンジンの運動を表すパラメータ算出タイミングにおける瞬間的な値を算出するようにすれば良い。
【００１５】
また、前述のように、エンジンの停止には、もともとエンジンが持つエネルギを奪っていくエンジンの運動を妨げるパラメータが大きく影響する。この運動を妨げるパラメータとしては、請求項６のように、エンジンのポンプ損失、各部の摩擦損失、各補機の駆動損失の少なくとも一つを考慮するようにすれば良い。
【００１６】
また、エンジンの運動を妨げるパラメータを、エンジン回転速度やクランク軸角速度、ピストンの移動速度といったエンジンの回転速度に関わる値を低下させる量として考える場合は、請求項７のように、エンジンの運動を妨げるパラメータを、エンジンの運動に関わる部分の質量、回転運動の径、エンジンの慣性モーメントのうち少なくとも一つを考慮して算出するようにすれば良い。
【００１７】
また、エンジンの運動を妨げるパラメータは、エンジンオイルの粘度やエンジンの負荷の経時変化等に影響を受けるため、各停止過程に合った最新の値を用いることが望ましい。そこで、請求項８のように、エンジンの運動を妨げるパラメータは、停止過程で少なくとも一回は算出するようにすると良い。
【００１８】
また、エンジンの運動を表すパラメータを、決められた算出タイミングで順次算出する場合は、今回算出されたパラメータと前回算出されたパラメータとを比較すれば、その変化分が前回の算出タイミングから今回の算出タイミングまでにエンジンの運動を妨げた量に相当する。従って、請求項９のように、エンジンの運動を妨げるパラメータは、今回算出された運動を表すパラメータと前回算出された運動を表すパラメータに基づいて算出するようにすれば良い。
【００１９】
また、図２に示した４気筒エンジンの行程状態と、図３に示した６気筒エンジンの行程状態から明らかなように、７２０℃Ａをエンジンの気筒数で除算したクランク角度分の間隔を基準間隔とすると、任意のどのクランク角度から取っても、全気筒で考えれば、吸気、圧縮、膨張、排気の４行程を全て含んでいる。つまり、エンジンの運動を妨げる各損失はこの基準間隔を単位として発生している。従って、請求項１０のように、エンジンの運動を妨げるパラメータとして、７２０℃Ａをエンジンの気筒数で除算したクランク角度の間にエンジンの運動が妨げられる量を算出するようにすれば良い。
【００２０】
また、エンジン停止位置を推定するためには、未来の運動を表すパラメータを予測し、それに基づいてエンジンがどの位置で停止するか判断すれば良い。現在のエンジンの運動エネルギがその運動を妨げる仕事により奪われることで、未来のエンジンの運動が決定されるため、請求項１１のように、今回算出された前記運動を表すパラメータと前記運動を妨げるパラメータとに基づいて未来の運動を表すパラメータを予測し、この未来の運動を表すパラメータの予測値に基づいてエンジン停止位置を推定するようにすると良い。
【００２１】
また、請求項１２のように、７２０℃Ａをエンジンの気筒数で除算したクランク角度分未来における運動を表すパラメータを予測するようにすると良い。このようにすれば、エンジンの運動を妨げる損失による仕事発生の単位周期を考慮して未来の運動を表すパラメータの予測値を算出することができ、エンジン停止位置の推定精度を向上させることができる。
【００２２】
また、請求項１３のように、未来の運動を表すパラメータの予測値と前記運動を妨げるパラメータとに基づいて更に未来の運動を表すパラメータを予測するようにしても良い。このようにすれば、１つ未来の予測値から２つ未来の予測値を算出でき、更に、２つ未来の予測値から３つ未来の予測値を算出できるという具合に、エンジン回転停止と判断されるまで予測値の算出を何回でも繰り返すことができ、エンジン停止位置の推定をエンジン停止過程の早期の段階で行なうことができる。
【００２３】
また、エンジン停止過程でエンジンがもともと持っている運動エネルギが損失によりどんどん奪われ、エンジンの運動を表すパラメータがどんどん小さくなってゆき、ピストンが圧縮ＴＤＣ（上死点）を乗り越えることができなくなった段階で、エンジンが停止する。従って、請求項１４のように、未来の運動を表すパラメータの予測値が所定値以下になってピストンが圧縮ＴＤＣを乗り越えることができなくなったと判断されるときに、当該予測値のクランク角付近でエンジン回転が停止すると推定するようにすれば良い。これにより、エンジン停止位置を精度良く推定することができる。
【００２４】
上記請求項１１〜１４に係る発明は、未来の運動を表すパラメータを予測するようにしたが、この予測を行なわない場合は、請求項１５のように、前記第２のパラメータ算出手段により算出した前記運動を妨げるパラメータに基づいてエンジン停止判定値を算出し、前記エンジン停止手段によりエンジン回転を停止させる過程で前記第１のパラメータ算出手段により算出した前記運動を表すパラメータと前記エンジン停止判定値とを比較してエンジン停止位置を推定するようにすると良い。つまり、エンジン停止過程で、所定の間隔でエンジンの運動を表すパラメータを算出して、これをエンジン停止判定値と比較する処理を繰り返し、エンジンの運動を表すパラメータがエンジン停止判定値以下になった時点で、エンジンが停止すると推定する。この場合、エンジンの製造公差、経時変化、エンジンフリクションの変化（例えばエンジンオイルの油温変化による粘度の違い等）によるバラツキをエンジン停止判定値に反映させることができるので、エンジン停止位置を精度良く推定することができる。
【００２５】
【発明の実施の形態】
［実施形態（１）］
以下、本発明の実施形態（１）を図１乃至図６に基づいて説明する。
まず、図１に基づいてエンジン制御システム全体の構成を概略的に説明する。エンジン１１の吸気ポート１２に接続された吸気管１３の途中には、スロットルバルブ１４が設けられ、このスロットルバルブ１４の開度（スロットル開度）ＴＡがスロットル開度センサ１５によって検出される。吸気管１３には、スロットルバルブ１４をバイパスするバイパス通路１６が設けられ、このバイパス通路１６の途中に、アイドルスピードコントロールバルブ（以下「ＩＳＣバルブ」と表記する）１７が設けられている。スロットルバルブ１４の下流側には、吸気管圧力ＰＭを検出する吸気管圧力センサ１８が設けられ、各気筒の吸気ポート１２の近傍には、燃料噴射弁１９が取りつけられている。
【００２６】
一方、エンジン１１の排気ポート２０に接続された排気管２１の途中には、排気ガス浄化用の触媒２２が設置されている。エンジン１１のシリンダブロックには、冷却水温ＴＨＷを検出する冷却水温センサ２３が設けられている。エンジン１１のクランク軸２４に取付けられたシグナルロータ２５の外周に対向してクランク角センサ２６が設置され、このクランク角センサ２６からシグナルロータ２５の回転に同期して所定クランク角毎（例えば３０℃Ａ毎）にクランクパルス信号ＣＲＳが出力される。また、エンジン１１のカム軸２７に取付けられたシグナルロータ２８の外周に対向してカム角センサ２９が設置され、このカム角センサ２９からシグナルロータ２８の回転に同期して所定のカム角でカムパルス信号ＣＡＳが出力される。
【００２７】
これら各種センサの出力は、エンジン制御回路（以下「ＥＣＵ」と表記する）３０に入力される。このＥＣＵ３０は、マイクロコンピュータを主体として構成され、各種センサで検出したエンジン運転状態に応じて、燃料噴射弁１９の燃料噴射量や噴射時期、点火プラグ３１の点火時期、ＩＳＣバルブ１７のバイパス空気量等を制御すると共に、エンジン運転中にイグニッションスイッチのオフ信号又はアイドルストップ信号（アイドルストップ指令）が入力されたときには、点火及び／又は燃料噴射を停止してエンジン回転を停止させる（この機能が特許請求の範囲でいうエンジン停止手段に相当する）。
【００２８】
更に、このＥＣＵ３０は、クランクパルス信号ＣＲＳとカムパルス信号ＣＡＳＳに基づいて、クランク角判定、エンジン回転速度の演算と記憶、運動エネルギの演算と記憶、運動を妨げる仕事量の演算と記憶、未来の運動エネルギ予測値の演算、未来のエンジン回転速度予測値の演算、エンジン停止位置（例えばエンジン停止時の各気筒の行程状態）の推定を行なう。このエンジン停止位置の情報は、バックアップＲＡＭ３２等の書き換え可能な不揮発性メモリ（記憶手段）に記憶され、次のエンジン始動時に、このエンジン停止位置の記憶情報を用いて燃料噴射制御や点火制御を開始する。
【００２９】
ここで、図４に示すエンジン停止過程のタイムチャートを用いてエンジン停止位置の推定方法を説明する。本実施形態（１）では、エンジンの運動を表すパラメータとして、各圧縮ＴＤＣにおける瞬間のエンジン回転速度（以下「瞬時回転速度」と表記する）を用いる。ＥＣＵ３０は、クランクパルス信号ＣＲＳの出力間隔からクランク軸２４が例えば３０℃Ａ回転するのに要する時間を計測して、瞬時回転速度Ｎｅを算出する。
【００３０】
ここで、図４のｉ番目の圧縮ＴＤＣ（以下、単に「ＴＤＣ（ｉ）  」と表記する）におけるエネルギの収支について考える。本実施形態（１）では、エンジンの運動を妨げる仕事として、ポンプ損失、各部の摩擦損失、各補機の駆動損失を考慮する。ＴＤＣ（ｉ−１）  の時点で、エンジンが持っている運動エネルギをＥ（ｉ−１）  とすると、次のＴＤＣ（ｉ）  に到達するまでに、この運動エネルギＥ（ｉ−１）  が前記各損失による仕事により奪われ、Ｅ（ｉ）  まで減少する。このエネルギ収支の関係は、次の（１）式のように表される。
【００３１】
Ｅ（ｉ）  ＝Ｅ（ｉ−１）  −Ｗ        ……（１）
ここで、Ｗは、ＴＤＣ（ｉ−１）  からＴＤＣ（ｉ）  までの間に前記各損失により奪われた仕事量を全て加算したものである。
【００３２】
また、エンジンの運動を回転運動とみなして、次の（２）式のように表すことができる。
Ｅ＝Ｊ×２π２  ×Ｎｅ２          ……（２）
ここで、Ｅはエンジンのもつ運動エネルギ、Ｊはエンジン毎に決まる慣性モーメント、Ｎｅは瞬時回転速度である。
この（２）式を用いることで、前記（１）式のエネルギ収支の関係を次の（３）式で表される瞬時回転速度変化の関係に置き換えることができる。
【００３３】
【数１】
2004245105.tif 000003
【００３４】
本実施形態（１）では、上記（３）式の右辺の第２項をエンジンの運動を妨げるパラメータＣｓｔｏｐとし、次の（４）式のように定義する。
【００３５】
【数２】
2004245105.tif 000004
【００３６】
このエンジンの運動を妨げるパラメータＣｓｔｏｐは、上記（３）式と（４）式から導き出される次の（５）式を用いて算出する。
Ｃｓｔｏｐ＝Ｎｅ（ｉ−１）２  −Ｎｅ（ｉ）２      ……（５）
【００３７】
また、エンジンの運動を妨げるパラメータＣｓｔｏｐは、上記（４）式で定義されるように、ＴＤＣ間の各損失による運動を妨げる仕事量Ｗと慣性モーメントＪにより決まる。エンジン停止過程のような低回転の運動条件では、図５に示すように、運動を妨げる仕事として考慮したポンプ損失、各部の摩擦損失、各補機の駆動損失はエンジン回転速度Ｎｅに依らずほぼ一定値となる。従って、エンジンの運動を妨げる仕事量Ｗは、エンジン停止過程のどのＴＤＣ間においてもほぼ一定値となる。加えて、慣性モーメントＪは各エンジンに固有の値であるため、エンジンの運動を妨げるパラメータＣｓｔｏｐはエンジンの停止過程の期間ではほぼ一定値となる。
【００３８】
従って、実測による現在の瞬時回転速度Ｎｅ（ｉ）  と、前記（５）式を用いて算出したＴＤＣ間に運動を妨げるパラメータＣｓｔｏｐとを用いて、次の（６ａ）式又は（６ｂ）式により、一つ未来のＴＤＣ（ｉ＋１）  における瞬時回転速度Ｎｅ（ｉ＋１）  の予測値を算出することができる。
【００３９】
【数３】
2004245105.tif 000005
【００４０】
ここで、Ｎｅ（ｉ）２  ＜Ｃｓｔｏｐの場合は、現在エンジンが持っている運動エネルギＥ（ｉ）  よりも、ＴＤＣ間の運動を妨げる仕事量Ｗが大きくなる時であり、演算結果が虚数になるのを避けるため、Ｎｅ（ｉ＋１）＝０とする。
【００４１】
本実施形態（１）では、一つ未来のＴＤＣ（ｉ＋１）  における瞬時回転速度Ｎｅ（ｉ＋１）  の予測値を予め設定された停止判定値Ｎｔｈと比較することで、エンジン回転が停止するかどうかを判断し、エンジン停止位置における各気筒の行程状態を推定する。
【００４２】
以上説明した本実施形態（１）のエンジン停止位置の推定は、ＥＣＵ３０によって図６に示すエンジン停止位置推定プログラムに従って実行される。本プログラムは、ＴＤＣ毎に起動され、特許請求の範囲でいう停止位置推定手段としての役割を果たす。本プログラムが起動されると、まず、ステップ１０１とステップ１０２のどちらかで「Ｙｅｓ」と判定されるか否かで、エンジン停止指令が発生しているか否かを判定する。すなわち、ステップ１０１で、イグニッションスイッチ（以下「ＩＧスイッチ」と表記する）がオフ（ＯＦＦ）であると判定された場合、又は、ステップ１０２で、アイドルストップ指令がオン（ＯＮ）と判定された場合のいずれかであれば、エンジン停止指令が発生していると判断してステップ１０３以降の処理を実行し、エンジン停止位置を推定する。
【００４３】
一方、ステップ１０１、１０２で、共に「Ｎｏ」と判定された場合、つまり、ＩＧスイッチがオン状態で且つアイドルストップ指令がオフ状態であれば、エンジンは燃焼を続けて、停止過程に無いと判断され、エンジン停止位置の推定を行なわずに本プログラムを終了する。
【００４４】
前述したように、ステップ１０１とステップ１０２のどちらかで「Ｙｅｓ」と判定されれば、エンジンは停止過程にあると判断して、ステップ１０３に進み、前回のＴＤＣ（ｉ−１）  での瞬時回転速度Ｎｅ（ｉ−１）  と現在のＴＤＣ（ｉ）  での瞬時回転速度Ｎｅ（ｉ）  を用い、前記（５）式を用いてエンジンの運動を妨げるパラメータＣｓｔｏｐを算出する。このステップ１０３の処理が特許請求の範囲でいう第２のパラメータ算出手段としての役割を果たす。
【００４５】
パラメータＣｓｔｏｐの算出後、ステップ１０４〜１０６において、一つ未来のＴＤＣ（ｉ＋１）  における瞬時回転速度Ｎｅ（ｉ＋１）  の予測値を次のようにして算出する。まず、ステップ１０４で、Ｎｅ（ｉ）２  ≧Ｃｓｔｏｐであるか否かを判定し、Ｎｅ（ｉ）２  ≧Ｃｓｔｏｐであれば、ステップ１０５に進み、前記（６ａ）式を用いて一つ未来のＴＤＣ（ｉ＋１）  における瞬時回転速度Ｎｅ（ｉ＋１）  の予測値を算出する。
【００４６】
これに対し、Ｎｅ（ｉ）２  ＜Ｃｓｔｏｐであれば、ステップ１０６に進み、一つ未来のＴＤＣ（ｉ＋１）  における瞬時回転速度Ｎｅ（ｉ＋１）  の予測値を０とする。
瞬時回転速度Ｎｅ（ｉ＋１）  の予測値の算出後、ステップ１０７に進み、一つ未来のＴＤＣ（ｉ＋１）  における瞬時回転速度Ｎｅ（ｉ＋１）  の予測値を予め設定された停止判定値Ｎｔｈと比較することで、エンジン回転がＴＤＣ（ｉ＋１）  を乗り越えて次の行程に進むか、それともＴＤＣ（ｉ＋１）  を乗り越えられずに停止するかを判定する。つまり、一つ未来のＴＤＣ（ｉ＋１）  における瞬時回転速度Ｎｅ（ｉ＋１）  の予測値が停止判定値Ｎｔｈを上回れば、エンジンは一つ未来のＴＤＣ（ｉ＋１）  を乗り越えて回り続けると判定され、本プログラムを終了する。
【００４７】
これに対し、一つ未来のＴＤＣ（ｉ＋１）  における瞬時回転速度Ｎｅ（ｉ＋１）  の予測値が停止判定値Ｎｔｈを下回れば、現在のＴＤＣ（ｉ）  においてエンジンが持っている運動エネルギが運動を妨げる仕事量により残り少なくなり、次のＴＤＣ（ｉ＋１）  を乗り越えられずにエンジン回転が停止すると判定され、次のステップ１０８に進む。
【００４８】
このステップ１０８では、エンジンが現在のＴＤＣ（ｉ）  から次のＴＤＣ（ｉ＋１）  の間に停止すると推定されているため、このエンジン停止位置における各気筒の行程状態（例えば吸気行程気筒と圧縮行程気筒）の情報をエンジン停止位置の推定結果としてバックアップＲＡＭ３２に記憶して、本プログラムを終了する。
【００４９】
その後、エンジンを始動する際には、バックアップＲＡＭ３２に記憶されているエンジン停止位置における各気筒の行程情報をエンジン始動当初の各気筒の行程情報として用いて、最初の点火気筒や噴射気筒を判定して、燃料噴射制御や点火制御を開始する。
【００５０】
以上説明した本実施形態（１）では、エンジンのもつ運動エネルギＥとその運動を妨げるパラメータＣｓｔｏｐとから、次のＴＤＣ（ｉ＋１）  における瞬時回転速度Ｎｅ（ｉ＋１）  を予測する数式（６ａ）、（６ｂ）を導き出し、この数式（６ａ）、（６ｂ）を用いて、エンジン停止過程で、ＴＤＣ毎に、次のＴＤＣ（ｉ＋１）  における瞬時回転速度Ｎｅ（ｉ＋１）  の予測値を算出するようにしたので、エンジン回転が停止するまでのエンジン回転速度の挙動を精度良く予測することができる。そして、この次のＴＤＣ（ｉ＋１）  における瞬時回転速度Ｎｅ（ｉ＋１）  の予測値が停止判定値Ｎｔｈを下回る否かで、エンジン回転が停止するか否かを判定するようにしたので、エンジン停止位置の各気筒の行程情報を従来より精度良く推定することができる。従って、このエンジン停止位置の各気筒の行程情報をバックアップＲＡＭ３２に記憶しておけば、エンジン始動時に、このエンジン停止位置の各気筒の行程情報をエンジン始動当初の各気筒の行程情報として用いて、最初の点火気筒や噴射気筒を精度良く判定して、燃料噴射制御や点火制御を開始することができ、始動性及びエンジン始動時の排気エミッションを向上させることができる。
【００５１】
［実施形態（２）］
上記実施形態（１）では、一つ未来のＴＤＣにおける瞬時回転速度の予測値でエンジン回転が停止するか否かを判定するようにしているため、エンジン停止位置は、エンジン回転が停止する間際でなければ推定することができない。
【００５２】
そこで、本発明の実施形態（２）では、未来の瞬時回転速度の予測値と運動を妨げるパラメータを用いて、更に未来の瞬時回転速度を予測するという処理を、エンジン回転停止と判断されるまで繰り返すことで、エンジン回転が停止する間際でなくても、エンジン停止位置を推定できるようにしている。
【００５３】
以下、本実施形態（２）のエンジン停止位置の推定方法を図７のタイムチャートを用いて説明する。エンジン停止過程のあるＴＤＣ（ｉ）  において、前記実施形態（１）と同様の方法で、エンジンの運動を妨げるパラメータＣｓｔｏｐと一つ未来のＴＤＣ（ｉ＋１）  における瞬時回転速度Ｎｅ（ｉ＋１）  の予測値を算出する。
【００５４】
前述したように、エンジンの運動を妨げるパラメータＣｓｔｏｐは、エンジン停止過程の期間ではほぼ一定値となるため、算出したＣｓｔｏｐとＮｅ（ｉ＋１）  を用いて、次の（７ａ）、（７ｂ）式により、現在より二つ未来のＴＤＣ（ｉ＋２）  における瞬時回転速度Ｎｅ（ｉ＋２）  の予測値を算出する。
【００５５】
【数４】
2004245105.tif 000006
【００５６】
このようにして、未来のＴＤＣにおける瞬時回転速度の予測値を算出する処理を、その瞬時回転速度の予測値が停止判定値を下回るまで繰り返し実行し、瞬時回転速度の予測値が停止判定値を下回ったＴＤＣの手前でエンジン回転が停止すると推定する。
【００５７】
以上説明した本実施形態（２）のエンジン停止位置の推定は、図８に示すエンジン停止位置推定プログラムによって実行される。本プログラムは、ＴＤＣ毎に起動される。本プログラムが起動されると、まず、ステップ２００とステップ２０１で、前記実施形態（１）と同様の方法で、エンジン停止指令が発生しているか否か（ＩＧスイッチＯＦＦ又はアイドルストップＯＮであるか否か）を判定し、エンジン停止指令が発生していなければ、エンジンは停止過程に無いと判断して、エンジン停止位置の推定を行なわずに本プログラムを終了する。
【００５８】
これに対し、エンジン停止指令が発生していれば、ステップ２０２に進み、エンジン停止指令が発生してから所定回目（例えば２回目又は３回目）のＴＤＣであるか否かを判定し、所定回目のＴＤＣでなければ、エンジン停止位置の推定を行なわずに本プログラムを終了し、所定回目のＴＤＣになるまで待機する。このように、所定回目のＴＤＣになるまで待機することで、次のステップ２０３で算出するエンジンの運動を妨げるパラメータＣｓｔｏｐを安定した状態で算出できる。
【００５９】
そして、エンジン停止指令が発生してから所定回目のＴＤＣになった時点で、ステップ２０３に進み、前記実施形態（１）と同様に、前回のＴＤＣ（ｉ−１）  での瞬時回転速度Ｎｅ（ｉ−１）  と現在のＴＤＣ（ｉ）  での瞬時回転速度Ｎｅ（ｉ）  を用いて前記（５）式によってエンジンの運動を妨げるパラメータＣｓｔｏｐを算出する。
【００６０】
この後、ステップ２０４に進み、瞬時回転速度の予測回数をカウントする予測回数カウンタｊに初期値「１」をセットする。この後、ステップ２０５、２０６、２０７で、まず一つ未来のＴＤＣ（ｉ＋１）  における瞬時回転速度Ｎｅ（ｉ＋１）  の予測値を前記実施形態（１）と同様の方法で算出する。
【００６１】
そして、次のステップ２０８で、この一つ未来の瞬時回転速度Ｎｅ（ｉ＋１）  の予測値が予め設定された停止判定値Ｎｔｈを下回るか否かで、一つ未来のＴＤＣ（ｉ＋１）  を乗り越えられずにエンジン回転が停止するか否かを判定する。その結果、一つ未来の瞬時回転速度Ｎｅ（ｉ＋１）  の予測値が停止判定値Ｎｔｈを上回っている（エンジンが一つ未来のＴＤＣ（ｉ＋１）  を乗り越えて回り続ける）と判定されれば、ステップ２０９に進み、予測回数カウンタｊを１だけ増加して、ステップ２０５、２０６、２０７の処理に戻り、前回算出した一つ未来の瞬時回転速度Ｎｅ（ｉ＋１）  の予測値と運動を妨げるパラメータＣｓｔｏｐを用いて、二つ未来のＴＤＣ（ｉ＋２）  における瞬時回転速度Ｎｅ（ｉ＋２）  の予測値を算出する。
【００６２】
その後、ステップ２０８で、この二つ未来の瞬時回転速度Ｎｅ（ｉ＋２）  の予測値が停止判定値Ｎｔｈを下回るか否かで、二つ未来のＴＤＣ（ｉ＋２）  を乗り越えられずにエンジン回転が停止するか否かを判定する。その結果、二つ未来の瞬時回転速度Ｎｅ（ｉ＋２）  の予測値が停止判定値Ｎｔｈを上回っている（エンジンが二つ未来のＴＤＣ（ｉ＋２）  を乗り越えて回り続ける）と判定されれば、再び、ステップ２０９に進み、予測回数カウンタｊを１だけ増加して、上述したステップ２０５〜２０９の処理を繰り返す。
【００６３】
以上のようにして、未来の瞬時回転速度Ｎｅ（ｉ＋ｊ）  の予測値の算出を、それが停止判定値Ｎｔｈを下回るようになるまで繰り返し、未来の瞬時回転速度Ｎｅ（ｉ＋ｊ）  をＴＤＣ間隔で順次予測していく。
【００６４】
そして、未来の瞬時回転速度Ｎｅ（ｉ＋ｊ）  の予測値が停止判定値Ｎｔｈを下回った時点で、その瞬時回転速度Ｎｅ（ｉ＋ｊ）  のＴＤＣ（ｉ＋ｊ）  の手前でエンジン回転が停止すると判定して、テップ２１０に進み、停止が判定されたＴＤＣ（ｉ＋ｊ）  からそれより一つ過去のＴＤＣ（ｉ＋ｊ−１）  までの間における各気筒の行程状態（例えば吸気行程気筒と圧縮行程気筒）をエンジン停止位置の推定結果としてバックアップＲＡＭ３２に記憶する。例えば、三つ未来のＴＤＣ（ｉ＋３）  における瞬時回転速度Ｎｅ（ｉ＋３）  の予測値が停止判定値Ｎｔｈを下回ったと判定されれば、二つ未来のＴＤＣ（ｉ＋２）  から三つ未来のＴＤＣ（ｉ＋３）  までの間にエンジン回転が停止すると判定して、ＴＤＣ（ｉ＋２）  からＴＤＣ（ｉ＋３）  までの間における各気筒の行程状態をエンジン停止位置の推定結果として記憶する。
【００６５】
以上説明した本実施形態（２）では、未来の瞬時回転速度Ｎｅ（ｉ＋ｊ）  の予測値と運動を妨げるパラメータＣｓｔｏｐを用いて、更に未来の瞬時回転速度Ｎｅ（ｉ＋ｊ＋１）  を予測する処理を、エンジン回転停止と判断されるまで何回でも繰り返すことができ、エンジン停止位置の推定をエンジン停止過程の早期の段階で行なうことができる利点がある。
【００６６】
［実施形態（３）］
上記各実施形態（１）、（２）では、未来の瞬時回転速度を予測して、この瞬時回転速度の予測値が予め設定された停止判定値を下回るか否かで、エンジン回転が停止するか否かを判定するようにしたが、未来の瞬時回転速度を予測しない場合は、エンジンの運動を妨げるパラメータに基づいてエンジン停止判定値を算出し、エンジン停止過程で実測した瞬時回転速度を上記エンジン停止判定値と比較してエンジン停止位置を推定するようにしても良い。
【００６７】
以下、これを具体化した本発明の実施形態（３）を図９乃至図１１に基づいて説明する。まず、本実施形態（３）のエンジン停止位置の推定方法をを図９に示すタイムチャートを用いて説明する。エンジン停止過程のあるＴＤＣ（ｉ）  において、前記実施形態（１）、（２）と同様の方法で、エンジンの運動を妨げるパラメータＣｓｔｏｐを算出する。このパラメータＣｓｔｏｐと予め設定しておいたＴＤＣ乗り越え限界回転速度Ｎｌｉｍ  とを用いて、下記の（８）式によりエンジンが次のＴＤＣまでに停止するか否かのエンジン停止判定値Ｎｔｈを算出する。そして、エンジン停止過程で実測した瞬時回転速度がこのエンジン停止判定値Ｎｔｈ以下になった時点で、エンジンが次のＴＤＣまでの間で停止すると判断して、エンジン停止位置の各気筒の行程状態を推定し、その推定結果をバックアップＲＡＭ３２に記憶する。
【００６８】
【数５】
2004245105.tif 000007
【００６９】
以上説明した本実施形態（３）のエンジン停止位置の推定は、図１０と図１１に示す各プログラムによって実行される。以下、これら各プログラムの処理内容を説明する。
【００７０】
図１０に示すエンジン停止判定値算出プログラムは、ＴＤＣ毎に起動される。本プログラムが起動されると、まず、ステップ３０１とステップ３０２で、前記実施形態（１）と同様の方法で、エンジン停止指令が発生しているか否か（ＩＧスイッチＯＦＦ又はアイドルストップＯＮであるか否か）を判定し、エンジン停止指令が発生していなければ、エンジンは停止過程に無いと判断して、エンジン停止判定値Ｎｔｈを算出せずに本プログラムを終了する。
【００７１】
これに対し、エンジン停止指令が発生していれば、ステップ３０３に進み、前回のＴＤＣ（ｉ−１）  で実測した瞬時回転速度Ｎｅ（ｉ−１）  と現在のＴＤＣ（ｉ）  で実測した瞬時回転速度Ｎｅ（ｉ）  を用い、前記（５）式によってエンジンの運動を妨げるパラメータＣｓｔｏｐを算出する。
【００７２】
この後、ステップ３０４に進み、ＴＤＣを乗り越えられない限界の回転速度として予め設定された値Ｎｌｉｍ  と、上記ステップ３０３で算出したエンジンの運動を妨げるパラメータＣｓｔｏｐとを用いて、前記（８）式により、エンジンが停止するか否かを判定するためのエンジン停止判定値Ｎｔｈを算出して本プログラムを終了する。
【００７３】
一方、図１１に示すエンジン停止位置推定プログラムは、上記図１０のステップ３０４でエンジン停止判定値Ｎｔｈを算出する毎に起動される。本プログラムが起動されると、まずステップ３１１で、現在の瞬時回転速度Ｎｅ（ｉ）  の実測値を上記ステップ３０４で算出したエンジン停止判定値Ｎｔｈと比較し、現在の瞬時回転速度Ｎｅ（ｉ）  の実測値がエンジン停止判定値Ｎｔｈを上回っていれば、エンジンが次のＴＤＣ（ｉ＋１）  を乗り越えて回り続けると判断して、本プログラムを終了する。
【００７４】
これに対し、現在の瞬時回転速度Ｎｅ（ｉ）  の実測値がエンジン停止判定値Ｎｔｈを下回れば、次のＴＤＣ（ｉ＋１）  の手前でエンジン回転が停止すると判断して、ステップ３１２に進み、現在のＴＤＣ（ｉ）  から次のＴＤＣ（ｉ＋１）  までの各気筒の行程状態を、エンジン停止位置の推定結果としてバックアップＲＡＭ３２に記憶する。
【００７５】
以上説明した本実施形態（３）では、エンジンの運動を妨げるパラメータＣｓｔｏｐを用いてエンジン停止判定値Ｎｔｈを算出するようにしたので、エンジンの製造公差、経時変化、エンジンフリクションの変化（例えばエンジンオイルの油温変化による粘度の違い等）によるバラツキをエンジン停止判定値Ｎｔｈに反映させることができ、エンジン停止過程の瞬時回転速度を予測しなくても、エンジン停止位置を精度良く推定することができる。
【００７６】
尚、前記各実施形態（１）〜（３）では、エンジンの運動を表すパラメータとしてエンジン回転速度（瞬時回転速度）を用いたが、クランク軸角速度、ピストンの移動速度等を用いても良い。
【００７７】
［実施形態（４）］
また、エンジンの運動を表すパラメータとして運動エネルギを用いても良い。以下、これを具体化した本発明の実施形態（４）を図１２に示すタイムチャートを用いて説明する。前回のＴＤＣ（ｉ−１）  と現在のＴＤＣ（ｉ）  において実測した瞬時回転速度Ｎｅ（ｉ−１）  とＮｅ（ｉ）  、及び、予め算出しておいたエンジンの慣性モーメントＪを用いて、前記（２）式により、ＴＤＣ（ｉ−１）  、ＴＤＣ（ｉ）  における運動エネルギＥ（ｉ−１）  、Ｅ（ｉ）  を算出する。本実施形態（４）では、この運動エネルギＥを、エンジンの運動を表すパラメータとして用いる。
【００７８】
そして、前記各実施形態（１）〜（３）と同様に、エンジンの運動を妨げる仕事として、ポンプ損失、各部の摩擦損失、各補機の駆動損失を考慮すると、ＴＤＣ（ｉ−１）  、ＴＤＣ（ｉ）  間で発生するエンジンの運動を妨げる全仕事量は、次の（９）式のようにＴＤＣ（ｉ−１）  、ＴＤＣ（ｉ）  における運動エネルギＥ（ｉ−１）  、Ｅ（ｉ）  の差分によって求めることができる。
Ｗ＝Ｅ（ｉ−１）  −Ｅ（ｉ）          ……（９）
本実施形態（４）では、このエンジンの運動を妨げる仕事量Ｗを、運動を妨げるパラメータとして用いる。
【００７９】
前述したように、運動を妨げる仕事として考慮したポンプ損失、各部の摩擦損失、各補機の駆動損失はエンジン停止過程で回転速度に依らずほぼ一定である。従って、運動を妨げる仕事量Ｗはエンジン停止過程のどのＴＤＣ間においてもほぼ一定値となる。従って、エンジンの現在の運動エネルギＥ（ｉ）  と運動を妨げる仕事量Ｗを用いて、次の（１０）式により一つ未来のＴＤＣ（ｉ＋１）  における運動エネルギＥ（ｉ＋１）  の予測値を算出することができる。
Ｅ（ｉ＋１）  ＝Ｅ（ｉ）  −Ｗ          ……（１０）
【００８０】
本実施形態（４）では、未来のＴＤＣ（ｉ＋１）  におけるエンジンの運動エネルギＥ（ｉ＋１）  の予測値を停止判定値Ｅｔｈと比較して、エンジン回転が停止するかどうかを判断し、エンジン停止位置における各気筒の行程状態を推定する。
【００８１】
以上説明した本実施形態（４）のエンジン停止位置の推定は、図１３に示すエンジン停止位置推定プログラムによって実行される。本プログラムは、ＴＤＣ毎に起動される。本プログラムが起動されると、まず、ステップ４０１とステップ４０２で、前記実施形態（１）と同様の方法で、エンジン停止指令が発生しているか否か（ＩＧスイッチＯＦＦ又はアイドルストップＯＮであるか否か）を判定し、エンジン停止指令が発生していなければ、エンジンは停止過程に無いと判断して、エンジン停止位置の推定を行なわずに本プログラムを終了する。
【００８２】
これに対し、エンジン停止指令が発生していれば、ステップ４０３に進み、現在のＴＤＣ（ｉ）  における瞬時回転速度Ｎｅ（ｉ）  の実測値と、予め算出しておいたエンジンの慣性モーメントＪを用いて、前記（２）式により、現在のＴＤＣ（ｉ）  における運動エネルギＥ（ｉ）  を算出する。
【００８３】
この後、ステップ４０４に進み、前回のＴＤＣ（ｉ−１）  で算出した運動エネルギＥ（ｉ−１）  と、現在のＴＤＣ（ｉ）  で算出した運動エネルギＥ（ｉ）  との差分をとってエンジンの運動を妨げる仕事量Ｗを求める。そして、次のステップ４０５で、現在の運動エネルギＥ（ｉ）  とエンジンの運動を妨げる仕事量Ｗとの差分をとって、一つ未来のＴＤＣ（ｉ＋１）  における運動エネルギＥ（ｉ＋１）  の予測値を算出する。
【００８４】
この後、ステップ４０６に進み、一つ未来のＴＤＣ（ｉ＋１）  における運動エネルギＥ（ｉ＋１）  の予測値を予め設定された停止判定値Ｅｔｈと比較することで、エンジン回転がＴＤＣ（ｉ＋１）  を乗り越えて次の行程に進むか、それともＴＤＣ（ｉ＋１）  を乗り越えられずに停止するかを判定する。つまり、一つ未来のＴＤＣ（ｉ＋１）  における運動エネルギＥ（ｉ＋１）  が停止判定値Ｅｔｈを上回れば、エンジンは一つ未来のＴＤＣ（ｉ＋１）  を乗り越えて回り続けると判定され、本プログラムを終了する。
【００８５】
これに対し、一つ未来のＴＤＣ（ｉ＋１）  における運動エネルギＥ（ｉ＋１）  が停止判定値Ｅｔｈを下回れば、次のＴＤＣ（ｉ＋１）  を乗り越えられずにエンジン回転が停止すると判定され、次のステップ４０７に進む。
【００８６】
このステップ４０７では、エンジンが現在のＴＤＣ（ｉ）  から次のＴＤＣ（ｉ＋１）  の間に停止すると推定されているため、このエンジン停止位置における各気筒の行程状態（例えば吸気行程気筒と圧縮行程気筒）の情報をエンジン停止位置の推定結果としてバックアップＲＡＭ３２に記憶して、本プログラムを終了する。
【００８７】
以上説明した本実施形態（４）のように、エンジンの運動を表すパラメータとして運動エネルギを用い、エンジンの運動を妨げるパラメータとして運動を妨げる仕事量の総和を用いても、前記各実施形態（１）〜（３）と同様に、エンジン停止位置を精度良く推定することができる。
【００８８】
尚、上記各実施形態（１）〜（４）では、クランクパルス信号ＣＲＳの出力間隔（例えば３０℃Ａ間）に要する時間から算出される瞬時回転速度を用いたが、その他の方法で算出された回転速度を用いてもよい。
【００８９】
また、上記各実施形態（１）〜（４）では、エンジン停止位置の推定演算をＴＤＣ毎に実行するようにしたが、７２０℃Ａをエンジンの気筒数で除算した間隔で演算を行なえば、どのクランク角度を演算タイミングとしても良い。
【００９０】
また、上記各実施形態（１）〜（４）では、エンジン停止位置の推定結果としてエンジン停止時の各気筒の行程状態（例えば吸気行程気筒と圧縮行程気筒）を記憶するようにしたが、例えば、エンジン停止位置のクランク角の範囲を記憶するようにしても良い。
【００９１】
また、上記各実施形態（１）、（２）、（４）では、停止判定値Ｎｔｈ、Ｅｔｈを予め設定した固定値としたが、これらの実施形態において、前記実施形態（３）と同様に、エンジンの運動を妨げるパラメータＣｓｔｏｐ等に基づいて停止判定値Ｎｔｈ、Ｅｔｈを算出するようにしても良い。
【００９２】
その他、本発明は、４気筒エンジンに限定されず、３気筒以下又は５気筒以上のエンジンにも適用して実施することができ、また、図１に示すような吸気ポート噴射エンジンに限定されず、筒内噴射エンジンやリーンバーンエンジンにも適用して実施できることは言うまでもない。
【図面の簡単な説明】
【図１】本発明の実施形態（１）におけるエンジン制御システム全体を示す図
【図２】４気筒エンジンの各気筒の行程状態を示す図
【図３】６気筒エンジンの各気筒の行程状態を示す図
【図４】実施形態（１）のエンジン停止位置の推定方法を説明するタイムチャート
【図５】ガソリンエンジンのエンジン回転速度と各種の損失の大きさの関係を示す図
【図６】実施形態（１）のエンジン停止位置推定プログラムの処理流れを示すフローチャート
【図７】実施形態（２）のエンジン停止位置の推定方法を説明するタイムチャート
【図８】実施形態（２）のエンジン停止位置推定プログラムの処理流れを示すフローチャート
【図９】実施形態（３）のエンジン停止位置の推定方法を説明するタイムチャート
【図１０】実施形態（３）のエンジン停止判定値算出プログラムの処理流れを示すフローチャート
【図１１】実施形態（３）のエンジン停止位置推定プログラムの処理流れを示すフローチャート
【図１２】実施形態（４）のエンジン停止位置の推定方法を説明するタイムチャート
【図１３】実施形態（４）のエンジン停止位置推定プログラムの処理流れを示すフローチャート
【符号の説明】
１１…エンジン、１３…吸気管、１４…スロットルバルブ、１６…バイパス通路、１７…ＩＳＣバルブ、１９…燃料噴射弁、２６…クランク角センサ、２９…カム角センサ、３０…ＥＣＵ（エンジン停止手段，第１のパラメータ算出手段，第２のパラメータ算出手段，停止位置推定手段）、３２…バックアップＲＡＭ（記憶手段）。
【図１】
2004245105.tif 000008
【図２】
2004245105.tif 000009
【図３】
2004245105.tif 000010
【図４】
2004245105.tif 000011
【図５】
2004245105.tif 000012
【図６】
2004245105.tif 000013
【図７】
2004245105.tif 000014
【図８】
2004245105.tif 000015
【図９】
2004245105.tif 000016
【図１０】
2004245105.tif 000017
【図１１】
2004245105.tif 000018
【図１２】
2004245105.tif 000019
【図１３】
2004245105.tif 000020