(57)【要約】    【課題】  エンジン回転の停止位置を精度良く制御する。    【解決手段】  エンジン回転停止過程でＴＤＣ毎に回転エネルギを算出してＴＤＣ間の回転エネルギ変化量（エネルギ消費量）を算出し、このエネルギ消費量とエンジン回転速度との関係を用いてエンジン回転停止挙動を推定する。その推定したエンジン回転停止挙動に基づいて決定したタイミングで停止位置制御（例えばオルタネータ負荷制御）を実行してエンジン回転を目標停止位置で強制的に停止させる。これにより、エンジンの製造公差、経時変化、エンジンフリクションの変化による回転エネルギ消費速度のばらつきの影響を受けずに、常に適正なタイミングで停止位置制御を実行することができるため、エンジン回転の停止位置を精度良く制御することができて、エンジン回転の停止位置の情報を精度良く求めることができ、始動性や始動時の排気エミッションを向上させることができる。    【選択図】  図１
2006057524.tif 000002
【特許請求の範囲】
【請求項１】
エンジン停止指令に基づいて点火及び／又は燃料噴射を停止してエンジン回転を停止させるエンジン回転停止制御装置において、
エンジン回転の停止位置を制御する停止位置制御を実行する停止位置制御手段と、
エンジン回転停止過程でエンジンの回転エネルギの変化に基づいて前記停止位置制御を実行するタイミングを決定する停止位置制御タイミング決定手段と
を備えていることを特徴とするエンジン回転停止制御装置。
【請求項２】
エンジン回転停止過程で所定クランク角間の回転エネルギの変化量を算出する回転エネルギ変化量算出手段と、
前記回転エネルギ変化量算出手段で算出した所定クランク角間の回転エネルギの変化量に基づいてエンジン回転停止挙動を推定するエンジン回転停止挙動推定手段とを備え、
前記停止位置制御タイミング決定手段は、前記エンジン回転停止挙動推定手段で推定したエンジン回転停止挙動に基づいて前記停止位置制御の実行タイミングを決定することを特徴とする請求項１に記載のエンジン回転停止制御装置。
【請求項３】
前記回転エネルギ変化量算出手段は、エンジン回転速度、クランク軸角速度、ピストン移動速度のうちの少なくとも１つを用いて所定クランク角間の回転エネルギの変化量を算出することを特徴とする請求項２に記載のエンジン回転停止制御装置。
【請求項４】
前記エンジン回転停止挙動推定手段は、所定クランク角間の回転エネルギの変化量とエンジン回転速度との関係を用いてエンジン回転停止位置とエンジン回転停止直前の所定クランク角におけるエンジン回転速度を推定することを特徴とする請求項２又は３に記載のエンジン回転停止制御装置。
【請求項５】
前記停止位置制御手段は、前記停止位置制御を実行する際に、エンジンで駆動される補機の負荷トルクを制御してエンジン回転の停止位置を制御することを特徴とする請求項１乃至４のいずれかに記載のエンジン回転停止制御装置。
【請求項６】
前記停止位置制御手段は、前記停止位置制御を実行する際に、前記補機である発電機の発電量を制御して該発電機の負荷トルクを制御することを特徴とする請求項５に記載のエンジン回転停止制御装置。
【請求項７】
前記停止位置制御手段は、前記停止位置制御を実行する際に、圧縮行程の圧縮圧を制御してエンジン回転の停止位置を制御することを特徴とする請求項１乃至６のいずれかに記載のエンジン回転停止制御装置。
【請求項８】
前記停止位置制御手段は、前記停止位置制御を実行する際に、エンジン回転停止直前の吸気行程で吸入空気量を増加させて、次の圧縮行程の圧縮圧を増加させることを特徴とする請求項７に記載のエンジン回転停止制御装置。
【請求項９】
前記停止位置制御手段は、前記停止位置制御を実行する際に、エンジンの吸気バルブの開閉タイミング又はリフト量を変更してエンジン回転停止直前の吸気行程で吸入空気量を増加させることを特徴とする請求項８に記載のエンジン回転停止制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジン回転の停止位置を制御する機能を備えたエンジン回転停止制御装置に関するものである。
【背景技術】
【０００２】
一般に、エンジン運転中は、クランク角センサとカム角センサの出力信号に基づいて気筒を判別し且つクランク角を検出して点火制御や燃料噴射制御を行うようにしているが、エンジン始動時は、スタータによりエンジンをクランキングして特定気筒の判別を完了するまで（つまり特定気筒の所定クランク角の信号を検出するまで）、最初に点火・噴射する気筒が不明であるという問題がある。
【０００３】
この問題を解決するために、特許文献１（特開昭６０−２４０８７５号公報）に記載されているように、エンジン回転停止時のクランク角（クランク軸の停止位置）をメモリに記憶しておき、次のエンジン始動時に、特定気筒の所定クランク角の信号を最初に検出するまでの間は、上記メモリに記憶されたエンジン回転停止時のクランク角を基準にして点火制御や燃料噴射制御を開始することで、始動性や始動時の排気エミッションを向上させるようにしたものがある。
【０００４】
しかし、イグニッションスイッチがオフ操作されて点火や燃料噴射が停止された後も、暫くエンジンが惰性で回転するため、イグニッションスイッチのオフ操作時のクランク角を記憶したのでは、実際のエンジン停止位置（次のエンジン始動位置）を誤判定してしまう。従って、イグニッションスイッチのオフ後も、エンジン回転が完全に停止するまで、制御系の電源をオン状態に維持してクランク角の検出を継続する必要があるが、エンジン回転が停止する間際に圧縮行程の圧縮圧によってエンジン回転が逆転する現象が発生するため、エンジン停止位置を正確に検出することができない（逆転は検出できない）。
【０００５】
また、特許文献２（特開平１１−１０７８２３号公報）に記載されているように、イグニッションスイッチがオフされた瞬間のエンジン運転状態（吸気管圧力、エンジン回転速度）に基づいて、クランク軸が慣性により回転して停止するまでの回転量（ＴＤＣ数）を演算し、イグニッションスイッチがオフされる直前に燃料が噴射された気筒と、前記停止するまでの回転量（ＴＤＣ数）とから、エンジン回転の停止位置を推定して、次のエンジン始動時の順次噴射における最初の気筒を推定するようにしたものがある。
【特許文献１】特開昭６０−２４０８７５号公報（第２頁等）
【特許文献２】特開平１１−１０７８２３号公報（第２頁等）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、エンジン回転停止時は、エンジンが持つ慣性の運動エネルギ（回転エネルギ）がポンピング損失やフリクション損失等により消費され、その回転エネルギの低下に伴ってエンジン回転速度が低下して停止する。このため、エンジンの製造公差、経時変化、エンジンフリクションの変化（例えばエンジンオイルの油温変化による粘度の違い等）による回転エネルギ消費速度（所定期間当りの回転エネルギ変化量）のばらつきによってエンジン回転停止挙動がばらつく。
【０００７】
しかしながら、前記特許文献２の技術では、エンジン回転停止過程における回転エネルギ消費速度を予めマッチングして記憶しているにすぎず、実際のエンジン回転停止過程において回転エネルギの変化を予測していないため、エンジンの製造公差、経時変化、エンジンフリクションの変化による回転エネルギ消費速度のばらつき（つまりエンジン回転停止挙動のばらつき）により、クランク軸が慣性により回転して停止するまでの回転量（ＴＤＣ数）の推定を誤る可能性がある。このため、前記特許文献２の技術では、エンジン回転の停止位置を精度良く推定することは困難であり、その結果、エンジン始動時の最初の噴射気筒や点火気筒を誤判定して、始動性や始動時の排気エミッションを悪化させてしまう可能性がある。
【０００８】
本発明は、このような事情を考慮してなされたものであり、従って本発明の目的は、エンジン回転の停止位置を精度良く制御することができて、始動性や始動時の排気エミッションを向上させることができるエンジン回転停止制御装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の請求項１に記載のエンジン回転停止制御装置は、エンジン停止指令に基づいて点火及び／又は燃料噴射を停止してエンジン回転を停止させるシステムにおいて、エンジン回転の停止位置を制御する停止位置制御を実行する停止位置制御手段と、エンジン回転停止過程でエンジンの回転エネルギの変化に基づいて停止位置制御を実行するタイミングを決定する停止位置制御タイミング決定手段とを備え、停止位置制御タイミング決定手段で決定したタイミングで停止位置制御を実行してエンジン回転の停止位置を制御するようにしたものである。
【００１０】
エンジン回転停止過程で回転エネルギの変化に基づいて停止位置制御の実行タイミングを決定すれば、エンジンの製造公差、経時変化、エンジンフリクションの変化による回転エネルギ消費速度のばらつき（つまりエンジン回転停止挙動のばらつき）の影響を受けずに、常に適正なタイミングで停止位置制御を実行することができる。これにより、エンジン回転の停止位置を精度良く制御することができて、エンジン回転の停止位置の情報（エンジン始動時のクランク軸の初期位置の情報）を精度良く求めることができ、始動性や始動時の排気エミッションを向上させることができる。
【００１１】
具体的には、請求項２のように、エンジン回転停止過程で所定クランク角間（例えばＴＤＣ間）の回転エネルギの変化量を算出して、その回転エネルギの変化量に基づいてエンジン回転停止挙動（エンジン回転停止位置に至るエンジン回転の低下挙動）を推定し、そのエンジン回転停止挙動に基づいて停止位置制御の実行タイミングを決定するようにすると良い。このようにすれば、エンジン回転停止過程における実際の回転エネルギ消費速度（所定クランク角間の回転エネルギ変化量）の変化を考慮してエンジン回転停止挙動を精度良く推定することができ、実際のエンジン回転停止挙動に応じた適正なタイミング（例えばエンジン回転停止直前のタイミング）で停止位置制御を実行することが可能となる。      
【００１２】
この場合、請求項３のように、エンジン回転速度、クランク軸角速度、ピストン移動速度のうちの少なくとも１つを用いて所定クランク角間の回転エネルギの変化量を算出するようにすると良い。エンジン回転速度、クランク軸角速度、ピストン移動速度は、いずれもエンジン回転エネルギに応じて変化するパラメータであるため、これらのパラメータのうちの少なくとも１つを用いれば、所定クランク角間の回転エネルギの変化量を精度良く算出することができる。
【００１３】
更に、請求項４のように、所定クランク角間の回転エネルギの変化量とエンジン回転速度との関係を用いてエンジン回転停止位置とエンジン回転停止直前の所定クランク角におけるエンジン回転速度を推定するようにすると良い。
【００１４】
所定クランク角間の回転エネルギの変化量とエンジン回転速度との関係を用いれば、実測したエンジン回転速度から次の所定クランク角間の回転エネルギの変化量を予測することができ、その回転エネルギの変化量から次の所定クランク角における回転エネルギひいてはエンジン回転速度を予測することができる。エンジン回転停止過程で、このようにして次の所定クランク角におけるエンジン回転速度を予測する処理を繰り返し、エンジン回転速度の予測値が所定値以下になって次の圧縮ＴＤＣを乗り越えることができなくなったと判断されるときに、その圧縮ＴＤＣの手前でエンジン回転が停止すると推定することができる。このようにして、エンジン回転停止位置とエンジン回転停止直前の所定クランク角におけるエンジン回転速度を推定することができるので、これらの情報を用いて停止位置制御を実行するタイミングを精度良く決定することができる。
【００１５】
また、停止位置制御を実行する際に、請求項５のように、エンジンで駆動される補機の負荷トルクを制御してエンジン回転の停止位置を制御するようにしても良い。補機の負荷トルクはエンジン回転を妨げる方向に作用するため、補機の負荷トルクを制御することでエンジン回転の停止位置を制御することができる。
【００１６】
この場合、請求項６のように、補機である発電機の発電量を制御して該発電機の負荷トルクを制御するようにすると良い。このようにすれば、発電機の通電制御によってエンジン回転の停止位置を精度良く制御することができる。
【００１７】
また、請求項７のように、停止位置制御を実行する際に、圧縮行程の圧縮圧を制御してエンジン回転の停止位置を制御するようにしても良い。圧縮行程の圧縮圧はエンジン回転を妨げる方向に作用するため、圧縮行程の圧縮圧を制御することでエンジン回転の停止位置を制御することができる。
【００１８】
この場合、請求項８のように、エンジン回転停止直前の吸気行程で吸入空気量を増加させて、次の圧縮行程の圧縮圧を増加させるようにすると良い。このようにすれば、吸入空気量を制御する手段（例えばアイドル回転速度制御バルブ、電子スロットルバルブ）を利用して圧縮行程の圧縮圧を増加させることができ、現状のエンジン制御システムに対しても制御プログラムの変更のみで本発明を実施することができる。
【００１９】
また、可変バルブ機構を搭載したエンジンにおいては、請求項９のように、エンジンの吸気バルブの開閉タイミング又はリフト量を変更してエンジン回転停止直前の吸気行程で吸入空気量を増加させるようにしても良い。吸気バルブは各気筒の吸入ポートに設けられているため、スロットルバルブを通過した空気が筒内に吸入されるまでの応答遅れを考慮することなく、筒内に充填する吸入空気量を応答良く増加でき、停止時の圧縮圧を精度良く増加できる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明を実施するための最良の形態を、次の３つの実施例１〜３を用いて説明する。
【実施例１】
【００２１】
本発明の実施例１を図１乃至図８に基づいて説明する。
まず、図１に基づいてエンジン制御システム全体の構成を概略的に説明する。エンジン１１の吸気ポート１２に接続された吸気管１３の途中には、スロットルバルブ１４が設けられ、このスロットルバルブ１４の開度（スロットル開度）ＴＡがスロットル開度センサ１５によって検出される。吸気管１３には、スロットルバルブ１４をバイパスするバイパス通路１６が設けられ、このバイパス通路１６の途中に、アイドルスピードコントロールバルブ（以下「ＩＳＣバルブ」と表記する）１７が設けられている。スロットルバルブ１４の下流側には、吸気管圧力ＰＭを検出する吸気管圧力センサ１８が設けられ、各気筒の吸気ポート１２の近傍には、燃料噴射弁１９が取りつけられている。
【００２２】
一方、エンジン１１の排気ポート２０に接続された排気管２１の途中には、排気ガス浄化用の触媒２２が設置されている。エンジン１１のシリンダブロックには、冷却水温ＴＨＷを検出する冷却水温センサ２３が設けられている。エンジン１１のクランク軸２４に取付けられたシグナルロータ２５の外周に対向してクランク角センサ２６が設置され、このクランク角センサ２６からシグナルロータ２５の回転に同期して所定クランク角毎（例えば１０℃Ａ毎）にクランクパルス信号ＣＲＳが出力される。また、エンジン１１のカム軸２７に取付けられたシグナルロータ２８の外周に対向してカム角センサ２９が設置され、このカム角センサ２９からシグナルロータ２８の回転に同期して所定のカム角でカムパルス信号ＣＡＳが出力される。
【００２３】
また、オルタネータ３３（発電機）には、クランク軸２４に連結されたクランクプーリ３４の回転がベルト３５を介して伝達される。これにより、エンジン１１の動力でオルタネータ３３が回転駆動されて発電するようになっている。
【００２４】
上述した各種センサの出力は、エンジン制御回路（以下「ＥＣＵ」と表記する）３０に入力される。このＥＣＵ３０は、マイクロコンピュータを主体として構成され、各種センサで検出したエンジン運転状態に応じて、燃料噴射弁１９の燃料噴射量や噴射時期、点火プラグ３１の点火時期を制御すると共に、エンジン運転中にイグニッションスイッチのオフ信号又はアイドルストップ信号（アイドルストップ指令）が入力されたときには、点火及び／又は燃料噴射を停止してエンジン回転を停止させる。
【００２５】
その際、ＥＣＵ３０は、エンジン回転停止過程で、ＴＤＣ毎に回転エネルギＥを算出してＴＤＣ間の回転エネルギＥの変化量（エネルギ消費量ＥＬＯＳＳ）を算出し、このエネルギ消費量ＥＬＯＳＳとエンジン回転速度ＮＥとの関係を用いてエンジン回転の停止挙動を推定する。そして、推定したエンジン回転停止挙動に基づいて停止位置制御（例えばオルタネータ負荷制御）の実行タイミングを決定し、そのタイミングで停止位置制御を実行してエンジン回転の停止位置を制御する。そのときのエンジン回転停止位置の情報（例えばエンジン停止時の各気筒の行程状態）をバックアップＲＡＭ３２等の書き換え可能な不揮発性メモリに記憶し、次のエンジン始動時に、このエンジン停止位置の記憶情報を用いて燃料噴射制御や点火制御を開始する。
【００２６】
ここで、本実施例１のエンジン回転停止制御の詳細を説明する。
まず、図２のタイムチャートを用いてエンジン回転停止挙動の推定方法について説明する。以下、ｉ番目の圧縮ＴＤＣ(i) における瞬間のエンジン回転速度（以下「瞬時回転速度」と表記する）をＮＥ(i) とする。ＥＣＵ３０は、クランクパルス信号ＣＲＳの出力間隔からクランク軸２４が例えば３０℃Ａ回転するのに要する時間を計測して瞬時回転速度ＮＥ(i) を算出する。
【００２７】
本実施例１では、ＴＤＣ(i) における瞬時回転速度ＮＥ(i) を算出した時点で、その次のＴＤＣ(i+1) における瞬時回転速度ＮＥ(i+1) を次のようにして予測する。
まず、ＴＤＣ毎にエンジン１１が持つ慣性の運転エネルギである回転エネルギＥを算出する。
Ｅ(i) ＝Ｊ×｛ＮＥ(i) ｝2     ……（１）
ここで、Ｊはエンジン毎に決まる慣性モーメントに応じた係数である。
【００２８】
そして、ＴＤＣ(i-2) における回転エネルギＥ(i-2) とＴＤＣ(i-1) における回転エネルギＥ(i-1) との差を求めることでＴＤＣ(i-2) からＴＤＣ(i-1) までの間のエネルギ消費量ＥＬＯＳＳ(i-1) を算出し、ＴＤＣ(i-1) における回転エネルギＥ(i-1) とＴＤＣ(i) における回転エネルギＥ(i) との差を求めることでＴＤＣ(i-1) からＴＤＣ(i) までの間のエネルギ消費量ＥＬＯＳＳ(i) を算出する。
ＥＬＯＳＳ(i-1) ＝Ｅ(i-2) −Ｅ(i-1)     ……（２）
ＥＬＯＳＳ(i) ＝Ｅ(i-1) −Ｅ(i)       ……（３）
【００２９】
この後、ＴＤＣ間のエネルギ消費量ＥＬＯＳＳ（回転エネルギＥの変化量）と瞬時回転速度ＮＥとの関係を表す係数Ｋを次式により求める。
Ｋ(i) ＝｛ＥＬＯＳＳ(i-1) −ＥＬＯＳＳ(i) ｝／｛ＮＥ(i-1) −ＮＥ(i) ｝
……（４）
【００３０】
一方、ＴＤＣ(i) からＴＤＣ(i+1) までの間のエネルギ消費量ＥＬＯＳＳ(i+1) を用いて上記（４）式の関係を次の（５）式の関係に置き換えることができる。
Ｋ(i+1) ＝｛ＥＬＯＳＳ(i) −ＥＬＯＳＳ(i+1) ｝／｛ＮＥ(i) −ＮＥ(i+1) ｝
……（５）
【００３１】
また、ＴＤＣ(i) からＴＤＣ(i+1) までの間のエネルギ消費量ＥＬＯＳＳ(i+1) は、次の（６）式のように表すことができる。
ＥＬＯＳＳ(i+1) ＝Ｅ(i) −Ｅ(i+1)     ……（６）
【００３２】
上記（５）式と上記（６）を用いてＥＬＯＳＳ(i+1) を消去することで次の（７）式を導き出すことができる。
Ｅ(i+1) ＝Ｅ(i) −［ＥＬＯＳＳ(i) −Ｋ(i+1) ×｛ＮＥ(i) −ＮＥ(i+1) ｝］
……（７）
【００３３】
しかし、上記（７）式では未来の回転速度ＮＥ(i+1) が必要となるため、上記（７）式の［Ｋ(i+1) ×｛ＮＥ(i) −ＮＥ(i+1) ｝］の部分を、前回値［Ｋ(i) ×｛ＮＥ(i-1) −ＮＥ(i) ｝］に置き換えることで、上記（７）式を次の（８）式に置き換えることができる。
Ｅ(i+1) ＝Ｅ(i) −［ＥＬＯＳＳ(i) −Ｋ(i) ×｛ＮＥ(i-1) −ＮＥ(i) ｝］
……（８）
更に、上記（１）式と上記（８）式から次の（９）式を導き出すことができる。
【００３４】
【数１】
2006057524.tif 000003
【００３５】
上記（９）により、ＴＤＣ(i) における瞬時回転速度ＮＥ(i) を算出した時点で、その次のＴＤＣ(i+1) における瞬時回転速度ＮＥ(i+1) を予測することができる。
エンジン回転停止過程で、このようにして次のＴＤＣ(i+1) における瞬時回転速度ＮＥ(i+1) を予測して、その予測値を予め設定された停止判定値ＮＥＴＤＣと比較する処理を繰り返し、瞬時回転速度ＮＥ(i+1) の予測値が停止判定値ＮＥＴＤＣ以下になったときに、エンジン回転がＴＤＣ(i+1) の次の圧縮ＴＤＣを乗り越えることができず、ＴＤＣ(i+1) の次の圧縮ＴＤＣの手前でエンジン回転が停止すると判断して、瞬時回転速度ＮＥ(i+1) の予測値が停止判定値ＮＥＴＤＣ以下になるＴＤＣ(i+1) をエンジン回転停止直前のＴＤＣ（以下「ＴＤＣ0 」と表記する）と推定し、その瞬時回転速度ＮＥ(i+1) の予測値をＴＤＣ0 における推定瞬時回転速度ｎｅｔｄｃ0 と推定する。そして、その１回前の瞬時回転速度ＮＥ(i) の予測値を、エンジン回転停止直前のＴＤＣ0 の更に１回前のＴＤＣ（以下「ＴＤＣ-1」と表記する）における推定瞬時回転速度ｎｅｔｄｃ-1と推定する。
【００３６】
次に、図３のタイムチャートを用いてエンジン回転停止位置の制御方法について説明する。エンジン回転停止過程で、瞬時回転速度ＮＥが、エンジン回転停止直前のＴＤＣ0 の更に１回前のＴＤＣ-1における推定瞬時回転速度ｎｅｔｄｃ-1付近まで低下した時点で、ＩＳＣバルブ１７を全開（Ｄｕｔｙ＝１００％）に設定して、エンジン１１の吸入空気量を増加させて次の圧縮行程の圧縮圧を増加させることで、エンジン回転の強制停止を補助する。図３の制御例では、＃３気筒の吸気行程で吸入空気量を増加させることにより、次の行程で吸入空気量が増加した＃３気筒の圧縮圧を増加させてエンジン回転を妨げる力を増加させる。
【００３７】
この後、瞬時回転速度ＮＥが、エンジン回転停止直前のＴＤＣ0 における推定瞬時回転速度ｎｅｔｄｃ0 付近まで低下した時点で、オルタネータ負荷制御を実行する。このオルタネータ負荷制御では、オルタネータ３３の発電量を制御することでオルタネータ３３の負荷トルクを制御して、エンジン回転を目標停止位置θ（例えばＢＴＤＣ９０℃Ａ）で強制的に停止させる。
【００３８】
以上説明した本実施例１のエンジン回転停止挙動推定及びエンジン回転停止位置制御は、ＥＣＵ３０によって図４乃至図７の各プログラムに従って実行される。以下、これらの各プログラムの処理内容を説明する。
【００３９】
［エンジン回転停止挙動推定］
図４示すエンジン回転停止挙動推定プログラムは、ＴＤＣ毎に起動され、特許請求の範囲でいうエンジン回転停止挙動推定手段としての役割を果たす。本プログラムが起動されると、まず、ステップ１０１〜１０３でエンジン回転停止制御実行条件が成立しているか否かを判定する。このエンジン回転停止制御実行条件としては、例えば、次の (1)〜(3) の条件がある。
【００４０】
(1) スロットルバルブ１４が全閉され、且つ、スロットル開度ＴＡが所定値以下（例えば１．５ｄｅｇ以下）でアイドルスイッチがオンした状態であること（ステップ１０１）  (2) アイドルストップ要求又はイグニッションスイッチのオフ操作によりエンジン停止指令が発生していること（ステップ１０２）
(3) 燃料噴射と点火の両方が停止されてエンジン回転が低下して停止する条件が成立していること（ステップ１０３）
【００４１】
これら(1) 〜(3) の条件が全て満たされれば、エンジン回転停止制御実行条件が成立し、いずれか１つでも満たさない条件があれば、エンジン回転停止制御実行条件が不成立となる。
エンジン回転停止制御実行条件が不成立の場合、つまりステップ１０１〜１０３のいずれかで「Ｎｏ」と判定された場合には、そのまま本プログラムを終了する。
【００４２】
一方、エンジン回転停止制御実行条件が成立している場合、つまりステップ１０１〜１０３で全て「Ｙｅｓ」と判定された場合には、ステップ１０４へ進み、後述する図５の係数Ｋ算出プログラムを実行して、ＴＤＣ(i) における瞬時回転速度ＮＥ(i) と、ＴＤＣ(i-1) からＴＤＣ(i) までの間のエネルギ消費量ＥＬＯＳＳ(i) と、ＴＤＣ間のエネルギ消費量ＥＬＯＳＳ（回転エネルギＥの変化量）と瞬時回転速度ＮＥとの関係を表す係数Ｋ等を算出する。
【００４３】
この後、ステップ１０５に進み、ＴＤＣ(i) における瞬時回転速度ＮＥ(i) と、ＴＤＣ(i-1) からＴＤＣ(i) までの間のエネルギ消費量ＥＬＯＳＳ(i) と、係数Ｋ(i) とを用いて前記（９）式により次のＴＤＣ(i+1) における瞬時回転速度ＮＥ(i+1) を予測する。
【００４４】
この後、ステップ１０６に進み、ＴＤＣ(i+1) における瞬時回転速度ＮＥ(i+1) の予測値が停止判定値ＮＥＴＤＣ（例えば３００ｒｐｍ）以下であるか否かを判定する。その結果、ＴＤＣ(i+1) における瞬時回転速度ＮＥ(i+1) の予測値が停止判定値ＮＥＴＤＣよりも大きいと判定された場合には、エンジン回転がＴＤＣ(i+1) の次の圧縮ＴＤＣを乗り越えて回り続けると判断して、ステップ１０７に進み、演算回数カウンタのカウント値ｉをインクリメント（ｉ＝ｉ＋１）した後、ＴＤＣ(i+1) における瞬時回転速度ＮＥ(i+1) を予測して、その予測値が停止判定値ＮＥＴＤＣ以下であるか否かを判定する処理（ステップ１０４，１０５，１０６）を繰り返す。
【００４５】
その後、上記ステップ１０６で、ＴＤＣ(i+1) における瞬時回転速度ＮＥ(i+1) の予測値が停止判定値ＮＥＴＤＣ以下であると判定された時点で、エンジン回転がＴＤＣ(i+1) の次の圧縮ＴＤＣを乗り越えることができず、ＴＤＣ(i+1) の次の圧縮ＴＤＣの手前でエンジン回転が停止すると判断して、ステップ１０８に進み、瞬時回転速度ＮＥ(i+1) の予測値が停止判定値ＮＥＴＤＣ以下になるＴＤＣ(i+1) をエンジン回転停止直前のＴＤＣＴＤＣ0 と推定し、その瞬時回転速度ＮＥ(i+1) の予測値をＴＤＣ0 における推定瞬時回転速度ｎｅｔｄｃ0 と推定する。
【００４６】
この後、ステップ１０９に進み、その１回前の瞬時回転速度ＮＥ(i) の予測値を、エンジン回転停止直前のＴＤＣ0 の更に１回前のＴＤＣ-1における推定瞬時回転速度ｎｅｔｄｃ-1と推定して、本プログラムを終了する。
【００４７】
［係数Ｋ算出］
図５に示す係数Ｋ算出プログラムは、図４のステップ１０４で実行されるサブルーチンである。本プログラムが起動されると、まず、ステップ２０１で、クランクパルス信号ＣＲＳの出力間隔からクランク軸２４が例えば３０℃Ａ回転するのに要する時間を計測して瞬時回転速度ＮＥ(i) を算出した後、ステップ２０２に進み、回転エネルギＥ(i) を算出する。
Ｅ(i) ＝Ｊ×｛ＮＥ(i) ｝2
【００４８】
この後、ステップ２０３に進み、前回のＴＤＣ(i-2) における瞬時回転速度ＮＥ(i-2) と今回のＴＤＣ(i-1) における瞬時回転速度ＮＥ(i-1) との差が停止挙動判定値ＮＥＤＯＷＮ（例えば５０ｒｐｍ）よりも大きいか否かによってエンジン回転停止挙動中であるか否かを判定する。
【００４９】
その結果、エンジン回転停止挙動中であると判定されれば、ステップ２０４に進み、ＴＤＣ(i-2) からＴＤＣ(i-1) までの間のエネルギ消費量ＥＬＯＳＳ(i-1) と、ＴＤＣ(i-1) からＴＤＣ(i) までの間のエネルギ消費量ＥＬＯＳＳ(i) を算出する。
ＥＬＯＳＳ(i-1) ＝Ｅ(i-2) −Ｅ(i-1)
ＥＬＯＳＳ(i) ＝Ｅ(i-1) −Ｅ(i)
【００５０】
このステップ２０４の処理が特許請求の範囲でいう回転エネルギ変化量算出手段としての役割を果たす。
この後、ステップ２０５に進み、ＴＤＣ間のエネルギ消費量ＥＬＯＳＳ（回転エネルギＥの変化量）と瞬時回転速度ＮＥとの関係を表す係数Ｋを次式により求める。
Ｋ(i) ＝｛ＥＬＯＳＳ(i-1) −ＥＬＯＳＳ(i) ｝／｛ＮＥ(i-1) −ＮＥ(i) ｝
【００５１】
［エンジン回転停止位置制御］
図６示すエンジン回転停止位置制御プログラムは、ＴＤＣ毎に起動される。本プログラムが起動されると、まず、ステップ３０１で、エンジン回転が停止しているか否かを判定する。この際、例えば、クランク角センサ２６からのクランク角信号ＣＲＳが所定時間（例えば３００ｍｓ）以上、ＥＣＵ３０に入力されないか否かで、エンジン回転停止か否かを判定する。
【００５２】
エンジン回転が停止していれば、ステップ３０１で「Ｙｅｓ」と判定され、以降の処理を行うことなく、本プログラムを終了する。これに対して、エンジン回転が停止していない場合は、ステップ３０１で「Ｎｏ」と判定され、ステップ３０２以降の処理を次のように実行する。
【００５３】
まず、ステップ３０２〜３０４でエンジン回転停止制御実行条件が成立しているか否かを判定する。このエンジン回転停止制御実行条件が成立しているか否かを判定する処理（ステップ３０２〜３０４の処理）は、図４のステップ１０１〜１０３の処理と同じである。
【００５４】
エンジン回転停止制御実行条件が不成立の場合、つまりステップ３０２〜３０４のいずれかで「Ｎｏ」と判定された場合には、ステップ３１２に進み、ＩＳＣバルブ１７の制御値を通常アイドル回転速度制御で演算される目標値ＤＩＳＣ（ＩＳＣバルブＤｕｔｙ＝ＤＩＳＣ）に設定した後、ステップ３１３に進み、回転停止制御実行フラグＸＰＯＮＣＮＴを「０」に維持（又はリセット）すると共に、ステップ３１４で、停止位置制御実行フラグＸＦＲＩＣＮＴを「０」に維持（又はリセット）して、本プログラムを終了する。
【００５５】
一方、エンジン回転停止制御実行条件が成立している場合、つまりステップ３０２〜３０４で全て「Ｙｅｓ」と判定された場合には、ステップ３０５に進み、現在の瞬時回転速度ＮＥ(i) と、エンジン回転停止直前のＴＤＣ0 の更に１回前のＴＤＣ-1における推定瞬時回転速度ｎｅｔｄｃ-1との差の絶対値が判定値ＪＵＤＧＴＤＣ-1（例えば５０ｒｐｍ）以下であるか否かによって、瞬時回転速度ＮＥ(i) が推定瞬時回転速度ｎｅｔｄｃ-1付近まで低下したか否かを判定する。
【００５６】
このステップ３０５で、瞬時回転速度ＮＥ(i) が推定瞬時回転速度ｎｅｔｄｃ-1付近まで低下したと判定された時点で、ステップ３０６に進み、ＩＳＣバルブ１７の制御値を強制的に全開（ＩＳＣバルブＤｕｔｙ＝１００％）に設定して、エンジン１１の吸入空気量を増加させることで、次の圧縮行程の圧縮圧を増加させた後、ステップ３０７に進み、回転停止制御実行フラグＸＰＯＮＣＮＴをＩＳＣバルブ１７による回転停止制御の実行済みを意味する「１」にセットする。
【００５７】
この後、ステップ３０８に進み、現在の瞬時回転速度ＮＥ(i) と、エンジン回転停止直前のＴＤＣ0 における推定瞬時回転速度ｎｅｔｄｃ0 との差の絶対値が判定値ＪＵＤＧＴＤＣ0 （例えば５０ｒｐｍ）以下であるか否かによって、瞬時回転速度ＮＥ(i) が推定瞬時回転速度ｎｅｔｄｃ0 付近まで低下したか否かを判定する。
【００５８】
このステップ３０８で、瞬時回転速度ＮＥ(i) が推定瞬時回転速度ｎｅｔｄｃ0 付近まで低下したと判定された時点で、ステップ３０９に進み、後述する図７のオルタネータ負荷制御プログラムを実行して、オルタネータ３３の発電量を制御することでオルタネータ３３の負荷トルクを制御して、エンジン回転を目標停止位置θで強制的に停止させる。
【００５９】
この場合、ステップ３０５及びステップ３０８の処理が特許請求の範囲でいう停止位置制御タイミング決定手段としての役割を果たす。
この後、ステップ３１０に進み、停止位置制御実行フラグＸＦＲＩＣＮＴをオルタネータ３３による停止位置制御の実行済みを意味する「１」にセットした後、ステップ３１１に進み、エンジン回転の停止位置の情報（例えば吸気行程で停止した気筒と圧縮行程で停止した気筒の情報）をバックアップＲＡＭ３２に記憶する。
【００６０】
［オルタネータ負荷制御］
図７に示すオルタネータ負荷制御プログラムは、図６のステップ３０９で実行されるサブルーチンであり、特許請求の範囲でいう停止位置制御手段としての役割を果たす。本プログラムが起動されると、まず、ステップ４０１で、エンジン回転を目標停止位置θ（例えばＢＴＤＣ９０℃Ａ）まで回転させるのに必要な要求トルクＴＯＲＣＡＬ（つまり、エンジン回転を目標停止位置θで停止させるのに必要なトルク）を、エンジン回転停止直前のＴＤＣ0 における実測瞬時回転速度ＮＥＴＤＣ0 と目標停止位置θとを用いて次式により算出する。
ＴＯＲＣＡＬ＝Ｊ／θ×（ＮＥＴＤＣ0 ）2
【００６１】
この後、ステップ４０２に進み、瞬時回転速度ＮＥ(i) を算出した後、ステップ４０３に進み、瞬時回転速度ＮＥの変化量［例えば、ＮＥ(i) −ＮＥ(i-1) ］に基づいて現在のエンジントルクＥＮＧＴＯＲを算出する。
【００６２】
この後、ステップ４０４に進み、エンジントルクＥＮＧＴＯＲと要求トルクＴＯＲＣＡＬとの差をオルタネータ３３の目標負荷トルクＡＬＴＴＯＲとする。
ＡＬＴＴＯＲ＝ＥＮＧＴＯＲ−ＴＯＲＣＡＬ
これにより、エンジントルクＥＮＧＴＯＲからオルタネータ３３の目標負荷トルクＡＬＴＴＯＲを差し引いた値が要求トルクＴＯＲＣＡＬとなるように、オルタネータ３３の目標負荷トルクＡＬＴＴＯＲが設定される。
【００６３】
この後、ステップ４０５に進み、オルタネータ３３の目標負荷トルクＡＬＴＴＯＲを実現する目標発電量を設定する。一般に、図８に示すように、オルタネータ３３の負荷トルクは、エンジン回転速度ＮＥと発電量とに応じて変化するため、このオルタネータ３３の負荷トルク特性を考慮して、現在の瞬時回転速度ＮＥと目標負荷トルクＡＬＴＴＯＲとに応じた目標発電量をマップ又は数式等により算出する。
【００６４】
この後、ステップ４０６に進み、オルタネータ３３の発電量を目標発電量に制御することでオルタネータ３３の負荷トルクを目標負荷トルクＡＬＴＴＯＲに制御する。これにより、エンジントルクＥＮＧＴＯＲからオルタネータ３３の負荷トルク（＝目標負荷トルクＡＬＴＴＯＲ）を差し引いた値が要求トルクＴＯＲＣＡＬとなるように設定して、エンジン回転を目標停止位置θで強制的に停止させる。
【００６５】
以上説明した本実施例１では、エンジン回転停止過程で、ＴＤＣ毎に回転エネルギＥを算出してＴＤＣ間の回転エネルギＥの変化量（エネルギ消費量ＥＬＯＳＳ）を算出し、このエネルギ消費量ＥＬＯＳＳとエンジン回転速度ＮＥとの関係を用いてエンジン回転の停止挙動を推定する。そして、推定したエンジン回転停止挙動に基づいて停止位置制御（本実施例１ではオルタネータ負荷制御）の実行タイミングを決定し、そのタイミングで停止位置制御を実行してエンジン回転を目標停止位置θで強制的に停止させる。
【００６６】
このようにエンジン回転停止過程でＴＤＣ間の回転エネルギＥの変化量（エネルギ消費量ＥＬＯＳＳ）に基づいて停止位置制御の実行タイミングを決定すれば、エンジンの製造公差、経時変化、エンジンフリクションの変化による回転エネルギ消費速度のばらつき（つまりエンジン回転停止挙動のばらつき）の影響を受けずに、エンジン回転停止挙動に対して常に適正なタイミングで停止位置制御を実行することができる。これにより、エンジン回転の停止位置を精度良く制御することができて、始動性や始動時の排気エミッションを向上させることができる。更に、停止位置制御によりエンジン回転がＴＤＣ（上死点）で停止することを防止してエンジン始動時に必要なトルクを低減することができ、この面からも始動性を向上させることができる。
【００６７】
また、一般に、エンジン回転停止過程では、エンジン回転速度に応じてエンジンフリクションが変化して回転エネルギ消費速度（所定期間当りの回転エネルギ変化量）が変化するが、本実施例１では、ＴＤＣ間の回転エネルギＥの変化量（エネルギ消費量ＥＬＯＳＳ）と瞬時回転速度ＮＥとの関係を用いてエンジン回転の停止挙動を推定するため、エンジン回転停止過程における回転エネルギ消費速度の変化を考慮に入れてエンジン回転停止挙動を精度良く推定することができる。
【００６８】
また、本実施例１では、停止位置制御としてオルタネータ負荷制御を実行して、オルタネータ３３の発電量を制御することでオルタネータ３３の負荷トルクを制御して、エンジン回転の停止位置を制御するようにしたので、オルタネータ３３の負荷トルクを精度良く制御してエンジン回転を目標停止位置で精度良く停止させることができる。
【実施例２】
【００６９】
次に、図９及び図１０を用いて本発明の実施例２を説明する。
前記実施例１では、エンジン回転停止過程で瞬時回転速度ＮＥが推定瞬時回転速度ｎｅｔｄｃ-1付近まで低下した時点で、ＩＳＣバルブ１７を全開に設定して、エンジン１１の吸入空気量を増加させて次の圧縮行程の圧縮圧を増加させることで、エンジン回転の強制停止を補助するようにしたが、本実施例２では、エンジン回転停止過程で瞬時回転速度ＮＥが推定瞬時回転速度ｎｅｔｄｃ-1付近まで低下した時点で、エンジン回転速度制御を実行する。このエンジン回転速度制御では、オルタネータ３３の発電量を制御することでオルタネータ３３の負荷トルクを制御して、エンジン回転停止直前のＴＤＣ0 における瞬時回転速度ＮＥが目標瞬時回転速度ＴＡＲＮＥＴＤＣ0 となるように制御する。
【００７０】
以下本実施例２でＥＣＵ３０が実行する図９のエンジン回転停止位置制御プログラム及び図１０のエンジン回転速度制御プログラムの処理内容を説明する。
図９示すエンジン回転停止位置制御プログラムでは、まず、ステップ５０１で、エンジン回転が停止しているか否かを判定し、エンジン回転が停止していなければ、ステップ５０２〜５０４でエンジン回転停止制御実行条件が成立しているか否かを判定する。このエンジン回転停止制御実行条件が成立しているか否かを判定する処理（ステップ５０２〜５０４の処理）は、図４のステップ１０１〜１０３の処理と同じである。
【００７１】
エンジン回転停止制御実行条件が不成立の場合には、ステップ５１２に進み、回転速度制御実行フラグＸＦＲＩＮＥＣＮＴを「０」に維持（又はリセット）すると共に、ステップ５１３で、停止位置制御実行フラグＸＦＲＩＣＮＴを「０」に維持（又はリセット）して、本プログラムを終了する。
【００７２】
一方、エンジン回転停止制御実行条件が成立している場合には、ステップ５０５に進み、瞬時回転速度ＮＥ(i) が推定瞬時回転速度ｎｅｔｄｃ-1付近まで低下したか否かを判定し、瞬時回転速度ＮＥ(i) が推定瞬時回転速度ｎｅｔｄｃ-1付近まで低下したと判定された時点で、ステップ５０６に進み、後述する図１０のエンジン回転速度制御プログラムを実行して、オルタネータ３３の発電量を制御することでオルタネータ３３の負荷トルクを制御して、エンジン回転停止直前のＴＤＣ0 における瞬時回転速度ＮＥが目標瞬時回転速度ＴＡＲＮＥＴＤＣ0 となるように制御する。
【００７３】
この後、ステップ５０７に進み、回転速度制御実行フラグＸＦＲＩＮＥＣＮＴをオルタネータ３３による回転速度制御の実行済みを意味する「１」にセットする。この後、ステップ５０８に進み、瞬時回転速度ＮＥ(i) が推定瞬時回転速度ｎｅｔｄｃ0 付近まで低下したか否かを判定し、瞬時回転速度ＮＥ(i) が推定瞬時回転速度ｎｅｔｄｃ0 付近まで低下したと判定された時点で、ステップ５０９に進み、図７のオルタネータ負荷制御プログラムを実行して、オルタネータ３３の発電量を制御することでオルタネータ３３の負荷トルクを制御して、エンジン回転を目標停止位置θで強制的に停止させる。
【００７４】
この後、ステップ５１０に進み、停止位置制御実行フラグＸＦＲＩＣＮＴをオルタネータ３３による停止位置制御の実行済みを意味する「１」にセットした後、ステップ５１１に進み、エンジン回転の停止位置の情報（例えば吸気行程で停止した気筒と圧縮行程で停止した気筒の情報）をバックアップＲＡＭ３２に記憶する。
【００７５】
図９のステップ５０６で実行される図１０のエンジン回転速度制御プログラムでは、ステップ６０１で、エンジン回転停止直前のＴＤＣ0 における瞬時回転速度ＮＥを目標瞬時回転速度ＴＡＲＮＥＴＤＣ0 に制御するのに必要な要求トルクＴＯＲＣＡＬを、エンジン回転停止直前のＴＤＣ0 の更に１回前のＴＤＣ-1における実測瞬時回転速度ＮＥＴＤＣ-1と、エンジン回転停止直前のＴＤＣ0 における目標瞬時回転速度ＴＡＲＮＥＴＤＣ0 とを用いて次式により算出する。
ＴＯＲＣＡＬ＝Ｊ／π×（ＮＥＴＤＣ-1）2 −Ｊ／π×（ＴＡＲＮＥＴＤＣ0 ）2
【００７６】
この後、ステップ６０２に進み、瞬時回転速度ＮＥ(i) を算出した後、ステップ６０３に進み、瞬時回転速度ＮＥの変化量［例えば、ＮＥ(i) −ＮＥ(i-1) ］に基づいて現在のエンジントルクＥＮＧＴＯＲを算出する。
【００７７】
この後、ステップ６０４に進み、エンジントルクＥＮＧＴＯＲと要求トルクＴＯＲＣＡＬとの差をオルタネータ３３の目標負荷トルクＡＬＴＴＯＲとする。
ＡＬＴＴＯＲ＝ＥＮＧＴＯＲ−ＴＯＲＣＡＬ
これにより、エンジントルクＥＮＧＴＯＲからオルタネータ３３の目標負荷トルクＡＬＴＴＯＲを差し引いた値が要求トルクＴＯＲＣＡＬとなるように、オルタネータ３３の目標負荷トルクＡＬＴＴＯＲが設定される。
【００７８】
この後、ステップ６０５に進み、現在の瞬時回転速度ＮＥと目標負荷トルクＡＬＴＴＯＲとに応じた目標発電量をマップ又は数式等により算出することで、オルタネータ３３の目標負荷トルクＡＬＴＴＯＲを実現する目標発電量を設定する。
【００７９】
この後、ステップ６０６に進み、オルタネータ３３の発電量を目標発電量に制御することでオルタネータ３３の負荷トルクを目標負荷トルクＡＬＴＴＯＲに制御する。これにより、エンジントルクＥＮＧＴＯＲからオルタネータ３３の負荷トルク（＝目標負荷トルクＡＬＴＴＯＲ）を差し引いた値が要求トルクＴＯＲＣＡＬとなるように設定して、エンジン回転停止直前のＴＤＣ0 における瞬時回転速度ＮＥが目標瞬時回転速度ＴＡＲＮＥＴＤＣ0 となるように制御する。
【００８０】
以上説明した本実施例２では、エンジン回転停止過程で、瞬時回転速度ＮＥ(i) が推定瞬時回転速度ｎｅｔｄｃ-1付近まで低下したときに、オルタネータ３３の負荷トルクを制御して、エンジン回転停止直前のＴＤＣ0 における瞬時回転速度ＮＥが目標瞬時回転速度ＴＡＲＮＥＴＤＣ0 となるように制御した上で、瞬時回転速度ＮＥ(i) が推定瞬時回転速度ｎｅｔｄｃ0 付近まで低下したときに、オルタネータ３３の負荷トルクを制御して、エンジン回転を目標停止位置θで強制的に停止させるようにしたので、エンジン回転停止位置制御の精度を更に向上させることができる。
【実施例３】
【００８１】
本発明の実施例３では、図１１に示すアイドル回転速度制御プログラムを実行することで、エンジン１１を停止する際に、エンジン回転停止直前のＴＤＣ0 における目標瞬時回転速度ＴＡＲＮＥＴＤＣ0 と、前回のエンジン回転停止直前のＴＤＣ0 における実測瞬時回転速度ＰＡＳＴＮＥＴＤＣ0 との差に基づいてアイドル回転速度を補正することで、エンジン回転停止直前のＴＤＣ0 における瞬時回転速度ＮＥＴＤＣが目標瞬時回転速度ＴＡＲＮＥＴＤＣ0 となるように制御する。
【００８２】
以下本実施例３でＥＣＵ３０が実行する図１１のアイドル回転制御プログラムの処理内容を説明する。本プログラムが起動されると、まず、ステップ７０１で、前回のアイドル回転速度ＰＡＳＴＮＥを読み込んだ後、ステップ７０２に進み、前回のエンジン回転停止直前のＴＤＣ0 における実測瞬時回転速度ＰＡＳＴＮＥＴＤＣ0 を読み込む。
【００８３】
この後、ステップ７０３に進み、エンジン回転停止直前のＴＤＣ0 における目標瞬時回転速度ＴＡＲＮＥＴＤＣ0 と、前回のエンジン回転停止直前のＴＤＣ0 における実測瞬時回転速度ＰＡＳＴＮＥＴＤＣ0 との差を補正値ΔＮＥとする。
ＴＡＲＮＥＴＤＣ0 −ＰＡＳＴＮＥＴＤＣ0 ＝ΔＮＥ
【００８４】
この後、ステップ７０４に進み、前回のアイドル回転速度ＰＡＳＴＮＥに補正値ΔＮＥを加算して目標アイドル回転速度ＴＡＲＮＥを求める。
ＰＡＳＴＮＥ＋ΔＮＥ＝ＴＡＲＮＥ
【００８５】
この後、ステップ７０５に進み、アイドル回転速度が目標アイドル回転速度ＴＡＲＮＥとなるようにＩＳＣバルブ１７を制御する。これにより、エンジン回転停止直前のＴＤＣ0 における瞬時回転速度ＮＥＴＤＣが目標瞬時回転速度ＴＡＲＮＥＴＤＣ0 となるようにアイドル回転速度が補正される。
【００８６】
この後、ステップ７０６に進み、燃料噴射と点火の両方を停止してエンジン回転を停止させた後、ステップ７０７に進み、エンジン回転の停止位置の情報（例えば吸気行程で停止した気筒と圧縮行程で停止した気筒の情報）をバックアップＲＡＭ３２に記憶する。
【００８７】
以上説明した本実施例３では、アイドル回転速度を補正することで、エンジン回転停止直前のＴＤＣ0 における瞬時回転速度ＮＥＴＤＣが目標瞬時回転速度ＴＡＲＮＥＴＤＣ0 となるように制御するようにしたので、エンジン回転の停止位置を精度良く制御することができて、エンジン回転の停止位置の情報を精度良く求めることができる。
【００８８】
尚、上記各実施例１，２では、オルタネータ３３の負荷トルクを制御して、エンジン回転の停止位置を制御するようにしたが、オルタネータ３３に限定されず、エンジン１１で駆動される他の補機（例えばエアコンのコンプレッサ、ウォータポンプ、オイルポンプ等）の負荷トルクを制御して、エンジン回転の停止位置を制御するようにしても良い。
【００８９】
また、吸入空気量を制御する手段（例えば、ＩＳＣバルブ、電子スロットルバルブ、可変バルブ機構等）を利用して、エンジン回転停止直前の吸気行程で吸入空気量を増加させて、次の圧縮行程の圧縮圧を増加させることで、エンジン回転の停止位置を制御するようにしても良い。このようにすれば、現状のエンジン制御システムに対しても制御プログラムの変更のみで本発明を実施することができる。
【００９０】
例えば、エンジン回転停止直前で吸気バルブの開閉タイミング又はリフト量を変更してエンジン回転停止直前の吸気行程で吸入空気量を増加させるようにしても良い。吸気バルブは各気筒の吸入口に設けられているため、空気の応答遅れを考慮することなく筒内に充填する吸入空気量を応答良く増加でき、停止時の圧縮圧を精度良く増加できる。
【００９１】
また、上記各実施例１，２では、エンジン回転速度（瞬時回転速度）に基づいてＴＤＣ間の回転エネルギ変化量（エネルギ消費量）を算出するようにしたが、エンジン回転速度のみに限定されず、エンジン回転速度、クランク軸角速度、ピストン移動速度のうちの少なくとも１つを用いてＴＤＣ間の回転エネルギ変化量を算出するようにしても良い。
【図面の簡単な説明】
【００９２】
【図１】本発明の実施例１におけるエンジン制御システム全体の概略構成図である。
【図２】エンジン回転停止挙動の推定方法を説明するタイムチャートである。
【図３】エンジン回転停止位置の制御方法を説明するタイムチャートである。
【図４】実施例１のエンジン回転停止挙動推定プログラムの処理の流れを示すフローチャートである。
【図５】実施例１の係数Ｋ算出プログラムの処理の流れを示すフローチャートである。
【図６】実施例１のエンジン回転停止位置制御プログラムの処理の流れを示すフローチャートである。
【図７】実施例１のオルタネータ負荷制御プログラムの処理の流れを示すフローチャートである。
【図８】オルタネータの負荷トルク特性図である。
【図９】実施例２のエンジン回転停止位置制御プログラムの処理の流れを示すフローチャートである。
【図１０】実施例２のエンジン回転速度制御プログラムの処理の流れを示すフローチャートである。
【図１１】実施例３のアイドル回転速度制御プログラムの処理の流れを示すフローチャートである。
【符号の説明】
【００９３】
１１…エンジン、１３…吸気管、１４…スロットルバルブ、１７…ＩＳＣバルブ、１９…燃料噴射弁、２１…排気管、２６…クランク角センサ、２９…カム角センサ、３０…ＥＣＵ（停止位置制御手段，停止位置制御タイミング決定手段，回転エネルギ変化量算出手段，エンジン回転停止挙動推定手段）、３３…オルタネータ（発電機）
【図１】
2006057524.tif 000004
【図２】
2006057524.tif 000005
【図３】
2006057524.tif 000006
【図４】
2006057524.tif 000007
【図５】
2006057524.tif 000008
【図６】
2006057524.tif 000009
【図７】
2006057524.tif 000010
【図８】
2006057524.tif 000011
【図９】
2006057524.tif 000012
【図１０】
2006057524.tif 000013
【図１１】
2006057524.tif 000014