(57)【要約】【課題】エンジン回転停止制御の目標軌道の切り替えによるエンジン回転停止制御精度の低下を防止できるようにする。【解決手段】実エンジン回転挙動を目標軌道に合わせるようにオルタネータ３３の負荷を制御してエンジン回転を停止させる際に、オルタネータ３３の発電指令値が算出されてから実際にオルタネータ３３が応答するまでの指令遅れ時間が所定値以上の場合には、指令遅れ時間の影響が大きいと判断して、エンジン回転停止制御の目標軌道を最初に選択した目標軌道に固定して、その後、エンジン回転が停止するまで所定タイミング毎に目標軌道を選択することを禁止する。これにより、エンジン回転停止制御の実行中に目標軌道が切り替わることを防止して、目標軌道の切り替えによる実エンジン回転挙動の応答遅れやオルタネータ３３の発電指令値が増減を繰り返すハンチング現象を未然に防止する。【選択図】図１
2010216350.tif 000002
【特許請求の範囲】
【請求項１】
エンジン停止要求が発生したときに燃焼を停止させてエンジン回転を停止させるエンジン回転停止制御装置において、
エンジンで駆動される発電機と、
エンジン回転が目標停止クランク角で停止するまでの回転挙動（以下「目標軌道」という）を算出する目標軌道算出手段と、
エンジン回転を停止させる際に実エンジン回転挙動を前記目標軌道に合わせるように前記発電機の負荷を制御するエンジン回転停止制御を実行する停止制御手段とを備え、
前記停止制御手段は、
所定タイミング毎に前記目標軌道のデータに基づいて実エンジン回転速度よりも低回転側の目標エンジン回転速度と実エンジン回転速度よりも高回転側の目標エンジン回転速度のうちの一方を選択することで該低回転側の目標エンジン回転速度に対応する進角側の目標軌道と該高回転側の目標エンジン回転速度に対応する遅角側の目標軌道のうちの一方を選択する選択手段と、
前記選択手段で選択した目標エンジン回転速度と実エンジン回転速度との偏差を小さくするように前記発電機の発電指令値を算出する発電指令値算出手段と、
前記発電機の発電指令値が算出されてから該発電機が応答するまでの指令遅れ時間が所定値以上の場合に、前記エンジン回転停止制御の目標軌道を前記選択手段で最初に選択した目標軌道に固定して前記選択手段により前記所定タイミング毎に目標軌道を選択することを禁止する禁止手段と
を備えていることを特徴とするエンジン回転停止制御装置。
【請求項２】
前記選択手段は、前記所定タイミング毎に前記低回転側の目標エンジン回転速度と前記高回転側の目標エンジン回転速度のうち実エンジン回転速度との偏差もしくはエンジン回転速度をエネルギ量に変換したパラメータの偏差が小さい方の目標エンジン回転速度を選択することで前記進角側の目標軌道と前記遅角側の目標軌道のうち実エンジン回転速度との偏差が小さい方の目標軌道を選択する手段を有することを特徴とする請求項１に記載のエンジン回転停止制御装置。
【請求項３】
前記禁止手段は、前記エンジン停止要求に伴って燃焼を停止させた気筒が最初に膨張行程となるタイミングにおいて前記選択手段で選択した目標軌道に前記エンジン回転停止制御の目標軌道を固定して、その後、エンジン回転が停止するまで前記選択手段により前記所定タイミング毎に目標軌道を選択することを禁止する手段を有することを特徴とする請求項１又は２に記載のエンジン回転停止制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジン回転停止クランク角を制御する機能を備えたエンジン回転停止制御装置に関する発明である。
【背景技術】
【０００２】
近年、特許文献１（特開２００８−２１５１８２号公報）や特許文献２（特開２００８−２１５２３０号公報）に記載されているように、エンジン自動停止・始動システム（アイドルストップシステム）を搭載した車両では、再始動性を向上させるために、エンジン停止時（アイドルストップ時）にエンジン回転停止クランク角を始動に適したクランク角範囲に制御することを目的として、エンジン回転が目標停止クランク角で停止するまでの回転挙動を目標軌道として算出し、エンジン回転を停止させる際に実エンジン回転挙動を目標軌道に合わせるように発電機（オルタネータ）の負荷トルクを制御するエンジン回転停止制御を行うようにしたものがある。具体的には、所定タイミング毎に目標軌道のデータに基づいて目標エンジン回転速度（目標軌道上のエンジン回転速度）を設定し、この目標エンジン回転速度と実エンジン回転速度との偏差を小さくするように発電機の要求負荷トルクを算出し、発電機の負荷トルク特性（発電指令値とエンジン回転速度と負荷トルクとの関係）を用いて、現在のエンジン回転速度と要求負荷トルクに応じた発電指令値を算出し、この発電指令値で発電機の発電制御電流（フィールド電流）を制御して発電機の負荷トルクを制御するようにしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２１５１８２号公報
【特許文献２】特開２００８−２１５２３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、図９に示すように、エンジン回転停止制御の実行中に所定タイミング毎（例えばＴＤＣ毎）に目標軌道のデータに基づいて目標エンジン回転速度を設定する際には、現在の実エンジン回転速度よりも低回転側の目標エンジン回転速度か又は高回転側の目標エンジン回転速度を選択することができる。この際、低回転側の目標エンジン回転速度を選択すれば、現在のクランク角で低回転側の目標エンジン回転速度を通過する進角側の目標軌道を選択することになり、一方、高回転側の目標エンジン回転速度を選択すれば、現在のクランク角で高回転側の目標エンジン回転速度を通過する遅角側の目標軌道（進角側の目標軌道よりも所定クランク角間隔だけ遅れた目標軌道）を選択することになる。
【０００５】
そこで、本発明者は、エンジン回転停止制御の制御性を向上させるために、所定タイミング毎に目標軌道のデータに基づいて目標エンジン回転速度を設定する際に、低回転側の目標エンジン回転速度と高回転側の目標エンジン回転速度のうち実エンジン回転速度との偏差が小さい方の目標エンジン回転速度を選択することで、進角側の目標軌道と遅角側の目標軌道のうち実エンジン回転速度との偏差が小さい方の目標軌道を選択するシステムを研究しているが、この研究過程で次のような新たな課題が判明した。
【０００６】
制御システムの通信仕様等によっては、エンジン回転停止制御の際に、制御回路で発電機の発電指令値が算出されてから該発電指令値が送信されて実際に発電機が応答する（発電指令値に応じて動作する）までに遅れ時間（以下「指令遅れ時間」という）が生じることがある。
【０００７】
図１０に示すように、エンジン回転停止制御の実行中に目標軌道が切り替わると、発電機の要求負荷トルク（要求発電電流）が大きく変化して、発電指令値が大きく変化するため、発電指令値が算出されてから実際に発電機が応答するまでの指令遅れ時間の影響を受け易く、指令遅れ時間が長いと、発電機の要求負荷トルクに対する実負荷トルクの応答遅れ（要求発電電流に対する実発電電流の応答遅れ）が大きくなって、目標軌道に対する実エンジン回転挙動の応答遅れが大きくなり、目標軌道と実エンジン回転挙動との偏差（目標エンジン回転速度と実エンジン回転速度との偏差）を速やかに小さくすることができず、エンジン回転停止制御の精度が低下する可能性がある。
【０００８】
更に、実エンジン回転挙動の応答遅れによって、エンジン回転停止制御の目標軌道が進角側の目標軌道と遅角側の目標軌道との間で頻繁に切り替わる可能性があり、それに伴って発電機の発電指令値が増減を繰り返すハンチング現象が発生して、エンジン回転停止制御の精度が更に低下する可能性もある。
【０００９】
そこで、本発明が解決しようとする課題は、エンジン回転停止制御の目標軌道の切り替えによるエンジン回転停止制御精度の低下を防止することができるエンジン回転停止制御装置を提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、請求項１に係る発明は、エンジン停止要求が発生したときに燃焼を停止させてエンジン回転を停止させるエンジン回転停止制御装置において、エンジンで駆動される発電機と、エンジン回転が目標停止クランク角で停止するまでの回転挙動（以下「目標軌道」という）を算出する目標軌道算出手段と、エンジン回転を停止させる際に実エンジン回転挙動を前記目標軌道に合わせるように前記発電機の負荷を制御するエンジン回転停止制御を実行する停止制御手段とを備え、停止制御手段は、所定タイミング毎に目標軌道のデータに基づいて実エンジン回転速度よりも低回転側の目標エンジン回転速度と実エンジン回転速度よりも高回転側の目標エンジン回転速度のうちの一方を選択することで該低回転側の目標エンジン回転速度に対応する進角側の目標軌道と該高回転側の目標エンジン回転速度に対応する遅角側の目標軌道のうちの一方を選択する選択手段と、この選択手段で選択した目標エンジン回転速度と実エンジン回転速度との偏差を小さくするように発電機の発電指令値を算出する発電指令値算出手段と、発電機の発電指令値が算出されてから該発電機が応答するまでの指令遅れ時間が所定値以上の場合に、エンジン回転停止制御の目標軌道を選択手段で最初に選択した目標軌道に固定して選択手段により所定タイミング毎に目標軌道を選択することを禁止する禁止手段とを備えた構成としたものである。
【００１１】
この構成では、指令遅れ時間が所定値よりも短い場合には、指令遅れ時間の影響が小さいか又はほとんど無いと判断して、所定タイミング毎に低回転側の目標エンジン回転速度と高回転側の目標エンジン回転速度のうちの一方を選択することで進角側の目標軌道と遅角側の目標軌道のうちの一方を選択することができ、エンジン回転制御の制御性を向上させることができる。
【００１２】
一方、指令遅れ時間が所定値以上の場合には、指令遅れ時間の影響が大きいと判断して、エンジン回転停止制御の目標軌道を最初に選択した目標軌道に固定して所定タイミング毎に目標軌道を選択することを禁止することができる。これにより、指令遅れ時間が所定値以上の場合には、エンジン回転停止制御の実行中に目標軌道が切り替わることを防止できるため、目標軌道の切り替えによって発生する実エンジン回転挙動の応答遅れや発電機の発電指令値が増減を繰り返すハンチング現象を未然に防止することができて、エンジン回転停止制御精度の低下を防止することができ、エンジン停止クランク角を精度良く目標のクランク角範囲内に制御することができる。
【００１３】
この場合、請求項２のように、選択手段は、前記所定タイミング毎に前記低回転側の目標エンジン回転速度と前記高回転側の目標エンジン回転速度のうち、実エンジン回転速度との偏差もしくはエンジン回転速度をエネルギ量に変換したパラメータの偏差が小さい方の目標エンジン回転速度を選択することで前記進角側の目標軌道と前記遅角側の目標軌道のうち実エンジン回転速度との偏差が小さい方の目標軌道を選択するようにしても良い。このようにすれば、指令遅れ時間が所定値よりも短い場合には、常に実エンジン回転速度との偏差が小さい方の目標エンジン回転速度を選択して、実エンジン回転速度を速やかに目標エンジン回転速度に制御することができ、エンジン回転停止制御の制御性を向上させることができる。
【００１４】
また、請求項３のように、禁止手段は、エンジン停止要求に伴って燃焼を停止させた気筒が最初に膨張行程となるタイミングにおいて選択手段で選択した目標軌道にエンジン回転停止制御の目標軌道を固定して、その後、エンジン回転が停止するまで選択手段により所定タイミング毎に目標軌道を選択することを禁止するようにすると良い。このようにすれば、エンジン回転停止制御の実行中に目標軌道が切り替わることを確実に防止することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は本発明の一実施例におけるエンジン制御システム全体の概略構成図である。
【図２】図２は目標軌道の算出方法を説明する図である。
【図３】図３はオルタネータ負荷特性を説明する図である。
【図４】図４はエンジン回転停止制御時の見掛上のオルタネータ負荷特性を説明する図である。
【図５】図５（ａ）は基準負荷トルクＴref(Ne(i))＝０に設定してエンジン回転停止制御を行った比較例を説明するタイムチャートであり、図５（ｂ）は基準負荷トルクＴref(Ne(i))を最大負荷の半分に設定してエンジン回転停止制御を行った実施例を説明するタイムチャートである。
【図６】図６はエンジンＥＣＵのエンジン回転停止制御機能を説明するブロック図である。
【図７】図７はオルタネータ負荷特性モデルの構成を説明するブロック図である。
【図８】図８は負荷トルク特性のマップの一例を概略的に示す図である。
【図９】図９は目標エンジン回転速度の設定方法を説明する図である。
【図１０】図１０は指令遅れ時間が長い場合の目標軌道の切り替えによる不具合を説明するタイムチャートである。
【図１１】図１１は目標軌道算出ルーチンの処理の流れを説明するフローチャートである。
【図１２】図１２は指令遅れ時間算出ルーチンの処理の流れを説明するフローチャートである。
【図１３】図１３はエンジン回転停止制御ルーチンの処理の流れを説明するフローチャート（その１）である。
【図１４】図１４はエンジン回転停止制御ルーチンの処理の流れを説明するフローチャート（その２）である。
【図１５】図１５は目標エンジン回転速度設定ルーチンの処理の流れを説明するフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明を実施するための形態を具体化した一実施例を説明する。
まず、図１に基づいてエンジン制御システム全体の構成を概略的に説明する。
エンジン１１の吸気ポート１２に接続された吸気管１３の途中には、スロットルバルブ１４が設けられ、このスロットルバルブ１４の開度（スロットル開度）がスロットル開度センサ１５によって検出される。また、スロットルバルブ１４の下流側には、吸気管圧力を検出する吸気管圧力センサ１８が設けられ、各気筒の吸気ポート１２の近傍には、それぞれ吸気ポート１２に向けて燃料を噴射する燃料噴射弁１９が取り付けられている。
【００１７】
一方、エンジン１１の排気ポート２０に接続された排気管２１の途中には、排気ガス浄化用の触媒２２が設置されている。エンジン１１のシリンダブロックには、冷却水温を検出する冷却水温センサ２３が設けられている。エンジン１１のクランク軸２４に取り付けられたシグナルロータ２５の外周に対向してクランク角センサ２６が設置され、このクランク角センサ２６からシグナルロータ２５の回転に同期して所定クランク角毎（例えば３０℃Ａ毎）にクランクパルス信号が出力される。また、エンジン１１のカム軸２７に取り付けられたシグナルロータ２８の外周に対向してカム角センサ２９が設置され、このカム角センサ２９からシグナルロータ２８の回転に同期して所定のカム角でカムパルス信号が出力される。
【００１８】
また、オルタネータ３３（発電機）には、クランク軸２４に連結されたクランクプーリ３４の回転がベルト３５を介して伝達される。これにより、エンジン１１の動力でオルタネータ３３が回転駆動されて発電するようになっている。このオルタネータ３３の発電制御電流（フィールド電流）をデューティ制御することで、オルタネータ３３の負荷を制御することができる。
【００１９】
上述した各種センサの出力は、エンジン制御回路（以下「エンジンＥＣＵ」と表記する）３０に入力される。このエンジンＥＣＵ３０は、マイクロコンピュータを主体として構成され、各種センサで検出したエンジン運転状態に応じて、燃料噴射弁１９の燃料噴射量や燃料噴射時期、点火プラグ３１の点火時期を制御すると共に、エンジン運転中に所定の自動停止条件（例えばアクセル全閉、ブレーキ操作中、アイドル運転中等の条件）が成立してエンジン停止要求が発生したときに、燃焼（点火及び／又は燃料噴射）を停止させてエンジン回転を停止させるアイドルストップを実行し、このアイドルストップによるエンジン回転停止中（アイドルストップ中）に運転者が車両発進のための準備操作（ブレーキ解除、シフトレバーのドライブレンジへの操作等）や発進操作（アクセル踏み込み等）が行われたとき、或は車載機器の制御システムからの始動要求が発生したときに、所定の自動始動条件が成立してスタータ（図示せず）に通電してエンジン１１をクランキングして再始動させる。
【００２０】
更に、エンジンＥＣＵ３０は、後述する図１１乃至図１５の各ルーチンを実行することで、エンジン回転が目標停止クランク角で停止するまでの回転挙動（以下「目標軌道」という）を算出する目標軌道算出手段として機能すると共に、エンジン回転を停止させる際に実エンジン回転挙動を目標軌道に合わせるようにオルタネータ３３の負荷を制御するエンジン回転停止制御を実行する停止制御手段として機能する。
【００２１】
ここで、目標軌道は、目標停止クランク角に至るまでのクランク角と目標エンジン回転速度との関係を所定クランク角間隔で算出してテーブル（図示せず）に割り付けたものである。この目標軌道は、例えば、ロストルクを考慮したエネルギ保存則の関係式を用いて、目標停止クランク角を初期値としてクランク角を溯る方向に算出される（図２参照）。
【００２２】
エネルギ保存則の関係式は次式で表される。
Ｎe(i+1)2 ＝Ｎe(i)2 −２／Ｊ×｛Ｔloss( θ(i) ) −Ｔref(Ne(i))｝
ここで、Ｎe(i+1)は、現時点(i) よりも所定クランク角前の時点(i+1) のエンジン回転速度、Ｎe(i)は現時点(i) のエンジン回転速度、Ｊはエンジン１１の慣性モーメントである。Ｔloss( θ(i) ）は、現時点(i) のクランク角θ(i) におけるポンピングロスとフリクションロスを合計したロストルクであり、予め設定されたマップ等を用いて現時点(i) のクランク角θ(i) に応じたロストルクＴloss( θ(i) ）が算出される。Ｔref(Ne(i))は現時点(i) のエンジン回転速度Ｎe(i)におけるオルタネータ３３の基準負荷トルクである。  上記エネルギ保存則の関係式において、「Ｔloss( θ(i) ）−Ｔref(Ne(i))」は、ポンピングロスとフリクションロスとオルタネータ３３の基準負荷トルクＴref(Ne(i))を合計したロストルクに相当する。
【００２３】
本実施例では、オルタネータ３３の基準負荷トルクＴref(Ne(i))は、図３に示すようにオルタネータ３３の制御可能な最大負荷の半分（１／２）に設定されている。このようにすれば、オルタネータ３３は、モータジェネレータとは異なり、アシストトルクを出力できないという事情があっても、仮想的にオルタネータ３３の負荷トルクを正負両方向に制御することが可能となり（基準負荷Ｔref 以下の負荷トルクを仮想的に負の負荷トルクとし、基準負荷Ｔref 以上の負荷トルクを正の負荷トルクとしてオルタネータ３３の負荷トルクを制御することが可能となり）、目標軌道へのエンジン回転挙動の追従性を向上することができる。
【００２４】
尚、オルタネータ３３の基準負荷トルクＴref(Ne(i))は、最大負荷の半分（１／２）に限定されず、例えば、最大負荷の１／３、１／４、２／３、３／４等であっても良く、要は、オルタネータ３３の制御可能な最大負荷よりも小さく、０よりも大きい適宜の負荷を基準負荷トルクＴref(Ne(i))に設定すれば良い。
０＜Ｔref(Ne(i))＜最大負荷
【００２５】
図５（ａ）は、基準負荷トルクＴref(Ne(i))＝０に設定してエンジン回転停止制御を行った比較例を示している。この比較例では、オルタネータ３３の負荷トルクを正方向にしか制御できないため、実エンジン回転挙動がオーバーシュートした場合は、実エンジン回転挙動を目標軌道に一致させることができなくなる。
【００２６】
これに対して、本実施例のように、オルタネータ３３の基準負荷トルクＴref(Ne(i))を最大負荷よりも小さい適宜の負荷に設定すれば、図４に示すように、仮想的にオルタネータ３３の負荷トルクを正負両方向に制御することが可能となるため、図５（ｂ）に示すように、実回転挙動がオーバーシュートした場合でも、実回転挙動を目標軌道に一致させることができる。
【００２７】
更に、本実施例では、図６に示すように、目標軌道を算出する際に、オルタネータ３３の基準負荷トルクＴref(Ne(i))に応じた目標軌道を算出し、エンジン回転停止制御中は、エンジン回転速度Ｎe(i)に応じた基準負荷トルクＴref(Ne(i))を算出すると共に、現時点(i) のクランク角θ(i) における目標エンジン回転速度と実エンジン回転速度との偏差を小さくするようにベース負荷トルクを算出して、このベース負荷トルクに基準負荷トルクＴref(Ne(i))を加算して要求負荷トルクＴalt を求める（実際には、この要求負荷トルクＴalt にプーリ比Ｒatioを乗算して要求軸トルクＴalt.final に変換する）。
【００２８】
この後、図７に示すように、発電指令値算出部３８（発電指令値算出手段）で、オルタネータ３３の負荷トルク特性（図８参照）を用いて、オルタネータ３３の要求負荷トルクＴalt （要求軸トルクＴalt.final ）と、エンジン回転速度Ｎe （又はエンジン回転速度Ｎe にプーリ比Ｒatioを乗算して求めたオルタネータ３３の回転速度Ｎalt ）に応じた発電指令値（デューティＤuty ）を算出する。
【００２９】
尚、図８に示す負荷トルク特性は、オルタネータ３３の出力電圧が１３．５Ｖで一定の場合の特性であり、出力電圧毎に同様の特性が設定されている。この発電指令値（デューティＤuty ）に基づいてオルタネータ３３の発電制御電流（フィールド電流）を制御してオルタネータ３３の負荷トルクを制御する。
【００３０】
このようなオルタネータ３３の負荷トルクの制御を、エンジン回転速度がオルタネータ３３の発電限界回転速度Ｎelow（図３参照）以下に低下するまで所定クランク間隔で周期的に実行することで、実エンジン回転挙動を目標軌道に合わせるようにオルタネータ３３の負荷トルクをフィードバック制御するエンジン回転停止制御を行う。
【００３１】
エンジン回転停止制御の際に、エンジンＥＣＵ３０は、所定クランク角周期で発電指令値を演算し、この発電指令値をＣＡＮ（Controller Area Network ）通信により所定時間周期で電源系ＥＣＵ３６（図１参照）に送信する。更に、電源系ＥＣＵ３６は、受信した発電指令値をＬＩＮ（Local Interconnect Network）通信により所定時間周期でオルタネータ３３に送信する。
【００３２】
これらの発電指令値の演算周期とＣＡＮ通信の送信周期とのずれや、ＣＡＮ通信の送信周期とＬＩＮ通信の送信周期とのずれ等によって、エンジン回転停止制御の際に、エンジンＥＣＵ３０でオルタネータ３３の発電指令値が算出されてから該発電指令値が送信されて実際にオルタネータ３３が応答する（発電指令値に応じて動作する）までに遅れ時間が生じて、この遅れ時間の間にエンジン回転速度が低下することがある。
【００３３】
そこで、本実施例では、エンジン回転停止制御の際に、オルタネータ３３の発電指令値が算出されてから実際にオルタネータ３３が応答するまでの指令遅れ時間を算出して、この指令遅れ時間中のエンジン回転速度の変化量を推定し、現在のエンジン回転速度から指令遅れ時間中のエンジン回転速度の変化量を差し引いて指令遅れ時間経過後のエンジン回転速度を求め、この指令遅れ時間経過後のエンジン回転速度と要求負荷トルクに応じて発電指令値を算出する。
【００３４】
具体的には、図７に示すように、まず、指令遅れ時間算出部３９で、エンジン停止要求の発生に伴ってエンジン回転停止制御が開始される際にオルタネータ３３の要求負荷トルクＴalt が初期値（例えば基準負荷トルクＴref(Ne) ）に設定されたときに、この要求負荷トルクＴalt に応じた発電指令値が算出された時点から実際にオルタネータ３３が応答する時点（例えば発電指令値の変化に応じて発電電流が変化し始めた時点）までの時間をカウントして指令遅れ時間ｄｔを求める。
【００３５】
そして、エンジン回転速度変化量推定部４０で、エンジン回転停止制御中に、指令遅れ時間中のエンジン回転速度変化量ｄＮe を推定する。この際、例えば、オルタネータ３３の基準負荷トルクＴref(Ne) に応じて算出された目標軌道の傾きＫｔ（例えば目標軌道のうち現在のエンジン回転速度付近における単位時間当りのエンジン回転速度の変化量）を算出し、この目標軌道の傾きＫｔに指令遅れ時間ｄｔを乗算して、指令遅れ時間中のエンジン回転速度変化量ｄＮe を求める。
ｄＮe ＝Ｋｔ×ｄｔ
【００３６】
或は、実エンジン回転挙動の傾きＫｒ（例えば実エンジン回転挙動のうち現在のエンジン回転速度付近における単位時間当りのエンジン回転速度の変化量）を算出し、この実エンジン回転挙動の傾きＫｒに指令遅れ時間ｄｔを乗算して、指令遅れ時間中のエンジン回転速度変化量ｄＮe を求めるようにしても良い。
ｄＮe ＝Ｋｒ×ｄｔ
【００３７】
この後、現在のエンジン回転速度Ｎe から指令遅れ時間中のエンジン回転速度変化量ｄＮe を差し引いて指令遅れ時間経過後のエンジン回転速度Ｎe.hosei を求める。
Ｎe.hosei ＝Ｎe −ｄＮe
【００３８】
更に、指令遅れ時間経過後のエンジン回転速度Ｎe.hosei にプーリ比Ｒatioを乗算して、指令遅れ時間経過後のオルタネータ３３の回転速度Ｎalt.hosei に変換しても良い。
Ｎalt.hosei ＝Ｎe.hosei ×Ｒatio
【００３９】
この後、発電指令値算出部３８で、オルタネータ３３の負荷トルク特性（図８参照）を用いて、オルタネータ３３の要求負荷トルクＴalt （要求軸トルクＴalt.final ）と、指令遅れ時間経過後のエンジン回転速度Ｎe.hosei （又は指令遅れ時間経過後のオルタネータ３３の回転速度Ｎalt.hosei ）に応じた発電指令値（デューティＤuty ）を算出する。      
【００４０】
この際、要求負荷トルクＴalt とエンジン回転速度Ｎe.hosei （又はオルタネータ３３の回転速度Ｎalt.hosei ）から発電指令値（デューティＤuty ）を直接算出するようにしても良いが、要求負荷トルクＴalt とエンジン回転速度Ｎe.hosei （又はオルタネータ３３の回転速度Ｎalt.hosei ）から要求フィールド電流（要求励磁電流）を算出し、この要求フィールド電流から発電指令値（デューティＤuty ）を算出するようにしても良い。
【００４１】
ところで、図９に示すように、エンジン回転停止制御の実行中に所定タイミング毎（例えばＴＤＣ毎）に目標軌道のテーブル（目標軌道のデータ）に基づいて目標エンジン回転速度を設定する際には、現在の実エンジン回転速度よりも低回転側の目標エンジン回転速度か又は高回転側の目標エンジン回転速度を選択することができる。この際、低回転側の目標エンジン回転速度を選択すれば、現在のクランク角で低回転側の目標エンジン回転速度を通過する進角側の目標軌道を選択することになり、一方、高回転側の目標エンジン回転速度を選択すれば、現在のクランク角で高回転側の目標エンジン回転速度を通過する遅角側の目標軌道（進角側の目標軌道よりも所定クランク角間隔だけ遅れた目標軌道）を選択することになる。
【００４２】
そこで、本実施例では、エンジン回転停止制御の制御性を向上させるために、所定タイミング毎に目標軌道のテーブルに基づいて目標エンジン回転速度を設定する際に、低回転側の目標エンジン回転速度と高回転側の目標エンジン回転速度のうち実エンジン回転速度との偏差が小さい方の目標エンジン回転速度を選択することで、進角側の目標軌道と遅角側の目標軌道のうち実エンジン回転速度との偏差が小さい方の目標軌道を選択するようにしている。
【００４３】
しかし、図１０に示すように、エンジン回転停止制御の実行中に目標軌道が切り替わると、オルタネータ３３の要求負荷トルク（要求発電電流）が大きく変化して、発電指令値が大きく変化するため、発電指令値が算出されてから実際にオルタネータ３３が応答するまでの指令遅れ時間の影響を受け易く、指令遅れ時間が長いと、オルタネータ３３の要求負荷トルクに対する実負荷トルクの応答遅れ（要求発電電流に対する実発電電流の応答遅れ）が大きくなって、目標軌道に対する実エンジン回転挙動の応答遅れが大きくなり、目標軌道と実エンジン回転挙動との偏差（目標エンジン回転速度と実エンジン回転速度との偏差）を速やかに小さくすることができず、エンジン回転停止制御の精度が低下する可能性がある。更に、実エンジン回転挙動の応答遅れによって、エンジン回転停止制御の目標軌道が進角側の目標軌道と遅角側の目標軌道との間で頻繁に切り替わる可能性があり、それに伴ってオルタネータ３３の発電指令値が増減を繰り返すハンチング現象が発生して、エンジン回転停止制御の精度が更に低下する可能性もある。
【００４４】
この対策として、本実施例では、指令遅れ時間が所定値以上の場合には、指令遅れ時間の影響が大きいと判断して、最初に選択した目標軌道（エンジン停止要求に伴って燃焼を停止させた気筒が最初に膨張行程となるタイミングにおいて選択した目標軌道）にエンジン回転停止制御の目標軌道を固定して、その後、エンジン回転が停止するまで所定タイミング毎（例えばＴＤＣ毎）に目標軌道を選択することを禁止することで、エンジン回転停止制御の実行中に目標軌道が切り替わることを防止するようにしている。
以上説明したエンジン回転停止制御は、エンジンＥＣＵ３０によって図１１乃至図１５の各ルーチンに従って実行される。以下、これら各ルーチンの処理内容を説明する。
【００４５】
［目標軌道算出ルーチン］
図１１に示す目標軌道算出ルーチンは、エンジンＥＣＵ３０の電源オン中に所定周期（所定クランク角周期）で繰り返し実行される。本ルーチンが起動されると、まず、ステップ１０１で、目標軌道算出完了フラグが目標軌道の算出前を意味する「０」にセットされているか否かを判定し、この目標軌道算出完了フラグが目標軌道算出完了を意味する「１」にセットされていれば、以降の処理を行うことなく、本ルーチンを終了する。
【００４６】
一方、このステップ１０１で、目標軌道算出完了フラグ＝０（目標軌道の算出前）と判定されれば、ステップ１０２に進み、ロストルクＴloss( θ(i) ）とオルタネータ３３の基準負荷トルクＴref(Ne(i))を用いて、次式で表されるエネルギ保存則の関係式を用いて次の時点(i+1) の目標エンジン回転速度Ｎe(i+1)の二乗を算出する。
Ｎe(i+1)2 ＝Ｎe(i)2 −２／Ｊ×｛Ｔloss( θ(i) ）−Ｔref(Ne(i))｝
【００４７】
ここで、Ｊはエンジン１１の慣性モーメント、Ｔloss( θ(i) ）は、ポンピングロスとフリクションロスを合計したロストルクであり、予め設定されたマップ等を用いて、現時点(i) のクランク角θ(i) に応じたロストルクＴloss( θ(i) ）を算出する。
【００４８】
上記エネルギ保存則の関係式において、「Ｔloss( θ(i) ）−Ｔref(Ne(i))」は、ポンピングロスとフリクションロスとオルタネータ３３の基準負荷トルクＴref(Ne(i))を合計したロストルクに相当する。
【００４９】
初期値は、ｉ＝０、θ(0) ＝目標停止クランク角、Ｎe(0)＝０ｒｐｍ（停止時のエンジン回転速度）である。目標軌道は、目標停止クランク角θ(0) を初期値としてクランク角を溯る方向に所定クランク角毎（例えばＴＤＣ毎）に算出する。
【００５０】
この後、ステップ１０３に進み、目標エンジン回転速度Ｎe(i+1)の二乗がエンジン回転停止制御を実行可能な最大エンジン回転速度Ｎemaxの二乗を越えたか否かを判定し、まだ最大エンジン回転速度Ｎemaxの二乗を越えていなければ、ステップ１０４に進み、目標軌道算出完了フラグを「０」に維持する（セットし直す）。
【００５１】
この後、ステップ１０６に進み、目標エンジン回転速度Ｎe(i+1)の二乗の平方根を算出して目標エンジン回転速度Ｎe(i+1)を求め、これを目標軌道のテーブル（図示せず）に割り付けて、本ルーチンを終了する。尚、エンジンＥＣＵ３０の演算負荷を低減するため、エンジン回転速度の二乗をそのままテーブルに割り付けても良い。目標軌道のテーブルは、エンジンＥＣＵ３０のメモリに記憶される。
【００５２】
以上のような処理を繰り返して、目標停止クランク角θ(0) を初期値としてクランク角を溯る方向に所定クランク角毎（例えばＴＤＣ毎）に目標エンジン回転速度Ｎe(i+1)の二乗を算出して目標軌道のテーブルに目標エンジン回転速度Ｎe(i+1)を割り付ける処理を繰り返す。そして、上記ステップ１０３で、目標エンジン回転速度Ｎe(i+1)の二乗がエンジン回転停止制御を実行可能な最大エンジン回転速度Ｎemaxの二乗を越えたと判定された時点で、ステップ１０５に進み、目標軌道算出完了フラグを目標軌道算出完了を意味する「１」にセットして、ステップ１０６に進み、最後の目標エンジン回転速度Ｎe(i+1)の二乗の平方根を算出して目標エンジン回転速度Ｎe(i+1)を求め、これを目標軌道のテーブルに割り付けて、本ルーチンを終了する。
【００５３】
［指令遅れ時間算出ルーチン］
図１２に示す指令遅れ時間算出ルーチンは、エンジンＥＣＵ３０の電源オン中に所定周期（所定クランク角周期）で繰り返し実行される。本ルーチンが起動されると、まず、ステップ２０１で、エンジン停止要求（アイドルストップ信号）が発生したか否かを判定し、エンジン停止要求が発生していなければ、以降の処理を行うことなく、本ルーチンを終了する。
【００５４】
その後、ステップ２０１で、エンジン停止要求が発生したと判定された時点で、ステップ２０２に進み、エンジン停止要求の発生に伴ってエンジン回転停止制御が開始される際にオルタネータ３３の要求負荷トルクＴalt が初期値（例えば基準負荷トルクＴref(Ne) ）に設定されたときに、この要求負荷トルクＴalt に応じた発電指令値が算出された時点から実際にオルタネータ３３が応答する時点（例えば発電指令値の変化に応じて発電電流が変化し始めた時点）までの時間をカウントして指令遅れ時間ｄｔを求める。
【００５５】
［エンジン回転停止制御ルーチン］
図１３及び図１４に示すエンジン回転停止制御ルーチンは、エンジンＥＣＵ３０の電源オン中に所定周期（所定クランク角周期）で繰り返し実行される。本ルーチンが起動されると、まず、ステップ３０１で、エンジン停止要求（アイドルストップ信号）が発生したか否かを判定し、エンジン停止要求が発生していなければ、以降の処理を行うことなく、本ルーチンを終了して、エンジン運転（燃料噴射制御及び点火制御）を継続する。
【００５６】
その後、上記ステップ３０１で、エンジン停止要求が発生したと判定された時点で、ステップ３０２に進み、現在のクランク角θとエンジン回転速度Ｎe を算出する。この後、ステップ３０３に進み、現在のクランク角θがオルタネータ３３の負荷トルクの制御タイミング（例えばＴＤＣ）であるか否かを判定し、オルタネータ３３の負荷トルクの制御タイミングでなければ、以降の処理を行うことなく、本ルーチンを終了する。
【００５７】
上記ステップ３０３で、現在のクランク角θがオルタネータ３３の負荷トルクの制御タイミングであると判定されれば、ステップ３０４に進み、現在のエンジン回転速度Ｎe がエンジン回転停止制御を実行可能な最大エンジン回転速度Ｎemaxよりも低いか否かを判定し、現在のエンジン回転速度Ｎe が最大エンジン回転速度Ｎemax以上であれば、以降の処理を行うことなく、本ルーチンを終了する。
【００５８】
これに対して、上記ステップ３０４で、現在のエンジン回転速度Ｎe が最大エンジン回転速度Ｎemaxよりも低いと判定されれば、ステップ３０５に進み、エンジン１１が燃焼中であるか否かを判定する。このステップ３０５で、エンジン停止要求が発生した直後でエンジン１１がまだ燃焼中であると判定された場合には、ステップ３０６に進み、エンジン回転停止制御を開始する際のオルタネータ３３の要求負荷トルクＴalt を初期値（例えば基準負荷トルクＴref(Ne) ）に設定する。
Ｔalt ＝Ｔref(Ne)
【００５９】
その後、上記ステップ３０５で、エンジン１１の燃焼が停止したと判定された場合には、ステップ３０７に進み、後述する図１５の目標エンジン回転速度設定ルーチンを実行して、所定タイミング毎（例えばＴＤＣ毎）に目標軌道のテーブルを参照して、今回の制御タイミングに対応した目標エンジン回転速度Ｎetg を求める。ここで、車両がＭＴ車（マニュアルミッション車）の場合は、クラッチが開放状態かどうか判断し、クラッチ開放・継合状態に応じた目標軌道を選択するようにしても良い。
【００６０】
この後、ステップ３０８に進み、現在のエンジン回転速度Ｎe と目標エンジン回転速度Ｎetg とオルタネータ３３の基準負荷トルクＴref(Ne) を用いて、次式により要求負荷トルクＴalt を算出する。
【００６１】
【数１】
2010216350.tif 000003
【００６２】
ここで、Ｊはエンジン１１の慣性モーメント、Ｋはフィードバックゲイン、Δθはクランク角変化量である。
この後、ステップ３０９に進み、要求負荷トルクＴalt にプーリ比Ｒatioを乗算して、オルタネータ３３の要求軸トルクＴalt.final に変換する。
【００６３】
この後、図１４のステップ３１０に進み、前述した図１２の指令遅れ時間算出ルーチンによりエンジン回転停止制御が開始される際に算出された指令遅れ時間ｄｔを読み込んだ後、ステップ３１１に進み、オルタネータ３３の基準負荷トルクＴref(Ne) に応じて算出された目標軌道の傾きＫｔ（例えば目標軌道のうち現在のエンジン回転速度付近における単位時間当りのエンジン回転速度の変化量）を算出し、この目標軌道の傾きＫｔに指令遅れ時間ｄｔを乗算して、指令遅れ時間中のエンジン回転速度変化量ｄＮe を求める。
ｄＮe ＝Ｋｔ×ｄｔ
【００６４】
或は、実エンジン回転挙動の傾きＫｒ（例えば実エンジン回転挙動のうち現在のエンジン回転速度付近における単位時間当りのエンジン回転速度の変化量）を算出し、この実エンジン回転挙動の傾きＫｒに指令遅れ時間ｄｔを乗算して、指令遅れ時間中のエンジン回転速度変化量ｄＮe を求めるようにしても良い。
ｄＮe ＝Ｋｒ×ｄｔ
【００６５】
この後、ステップ３１２に進み、現在のエンジン回転速度Ｎe から指令遅れ時間中のエンジン回転速度変化量ｄＮe を差し引いて指令遅れ時間経過後のエンジン回転速度Ｎe.hosei を求める。
Ｎe.hosei ＝Ｎe −ｄＮe
【００６６】
次のステップ３１３で、指令遅れ時間経過後のエンジン回転速度Ｎe.hosei にプーリ比Ｒatioを乗算して、指令遅れ時間経過後のオルタネータ３３の回転速度Ｎalt.hosei に変換する。
Ｎalt.hosei ＝Ｎe.hosei ×Ｒatio
【００６７】
この後、ステップ３１４に進み、バッテリ電圧を検出した後、ステップ３１５に進み、バッテリ電圧毎に作成された複数の負荷トルク特性マップ（図８参照）の中から、現在のバッテリ電圧に対応する負荷トルク特性マップを選択して、現在の要求負荷トルクＴalt （要求軸トルクＴalt.final ）と、指令遅れ時間経過後のエンジン回転速度Ｎe.hosei （又は指令遅れ時間経過後のオルタネータ３３の回転速度Ｎalt.hosei ）に応じた発電指令値（デューティＤuty ）を算出する。
【００６８】
［目標エンジン回転速度設定ルーチン］
図１５に示す目標エンジン回転速度設定ルーチンは、前記図１３のエンジン回転停止制御ルーチンのステップ３０７で実行されるサブルーチンであり、特許請求の範囲でいう選択手段としての役割を果たす。本ルーチンが起動されると、まず、ステップ５０１で、指令遅れ時間ｄｔが所定値以上であるか否かを判定する。
【００６９】
このステップ５０１で、指令遅れ時間ｄｔが所定値以上であると判定された場合には、指令遅れ時間ｄｔの影響が大きいと判断して、ステップ５０２に進み、目標軌道切替禁止フラグを目標軌道の切替禁止を意味する「１」にセットする。
【００７０】
一方、上記ステップ５０１で、指令遅れ時間ｄｔが所定値よりも短いと判定された場合には、指令遅れ時間ｄｔの影響が小さいか又はほとんど無いと判断して、ステップ５０３に進み、目標軌道切替禁止フラグを目標軌道の切替許可を意味する「０」に維持する（又はリセットする）。
【００７１】
この後、ステップ５０４に進み、目標軌道のテーブルを参照して、目標停止クランク角から溯ってｉ番目の目標エンジン回転速度Ｎe(i)と、（ｉ＋１）番目の目標エンジン回転速度Ｎe(i+1)を読み込むことで、低回転側の目標エンジン回転速度Ｎe(i)と、高回転側の目標エンジン回転速度Ｎe(i+1)を求める。初期値は、ｉ＝０、Ｎe(0)＝０ｒｐｍ（停止時のエンジン回転速度）である。
【００７２】
尚、本実施例では、前述した図１１の目標軌道算出ルーチンでエネルギ保存則の関係式を用いて目標エンジン回転速度を算出して目標軌道のテーブルに割り付けるようにしたが、図１１の目標軌道算出ルーチンを省略して、このステップ５０４で、エネルギ保存則の関係式を用いて目標エンジン回転速度を算出するようにしても良い。
【００７３】
この後、ステップ５０５に進み、目標軌道切替禁止フラグ＝１（目標軌道の切替禁止）であるか否かを判定し、このステップ５０５で、目標軌道切替禁止フラグ＝０（目標軌道の切替許可）と判定された場合には、ステップ５０７に進み、現在の実エンジン回転速度Ｎe が高回転側の目標エンジン回転速度Ｎe(i+1)よりも低いか否かを判定する。
【００７４】
このステップ５０７で、現在の実エンジン回転速度Ｎe が高回転側の目標エンジン回転速度Ｎe(i+1)以上であると判定されれば、ステップ５０８に進み、次に目標軌道のテーブルから読み込む目標エンジン回転速度Ｎe(i)，Ｎe(i+1)の番号ｉを「１」だけ増やした後、上記ステップ５０４に戻る。
【００７５】
その後、上記ステップ５０７で、現在の実エンジン回転速度Ｎe が高回転側の目標エンジン回転速度Ｎe(i+1)よりも低いと判定されたときに、ステップ５０９に進み、高回転側の目標エンジン回転速度Ｎe(i+1)と実エンジン回転速度Ｎe との偏差（Ｎe(i+1)−Ｎe ）が、実エンジン回転速度Ｎe と低回転側の目標エンジン回転速度Ｎe(i)との偏差（Ｎe −Ｎe(i)）よりも大きいか否かを判定する。
【００７６】
このステップ５０９で、高回転側の目標エンジン回転速度Ｎe(i+1)と実エンジン回転速度Ｎe との偏差（Ｎe(i+1)−Ｎe ）が、実エンジン回転速度Ｎe と低回転側の目標エンジン回転速度Ｎe(i)との偏差（Ｎe −Ｎe(i)）よりも大きいと判定された場合には、低回転側の目標エンジン回転速度Ｎe(i)の方が実エンジン回転速度Ｎe に対する偏差が小さいため、ステップ５１０に進み、低回転側の目標エンジン回転速度Ｎe(i)を、今回の制御タイミングに対応した目標エンジン回転速度Ｎetg として選択することで、低回転側の目標エンジン回転速度Ｎe(i)に対応した進角側の目標軌道を選択する。この後、ステップ５１１に進み、次回の制御タイミングで目標軌道のテーブルから読み込む目標エンジン回転速度Ｎe(i)，Ｎe(i+1)の番号ｉを「１」だけ減らした後、ステップ５１４に進み、目標軌道選択完了フラグを「１」にセットする。
【００７７】
これに対して、上記ステップ５０９で、高回転側の目標エンジン回転速度Ｎe(i+1)と実エンジン回転速度Ｎe との偏差（Ｎe(i+1)−Ｎe ）が、実エンジン回転速度Ｎe と低回転側の目標エンジン回転速度Ｎe(i)との偏差（Ｎe −Ｎe(i)）以下であると判定された場合には、高回転側の目標エンジン回転速度Ｎe(i+1)の方が実エンジン回転速度Ｎe に対する偏差が小さいため、ステップ５１２に進み、高回転側の目標エンジン回転速度Ｎe(i+1)を、今回の制御タイミングに対応した目標エンジン回転速度Ｎetg として選択することで、高回転側の目標エンジン回転速度Ｎe(i+1)に対応した遅角側の目標軌道を選択する。この後、ステップ５１３に進み、次回の制御タイミングで目標軌道のテーブルから読み込む目標エンジン回転速度Ｎe(i)，Ｎe(i+1)の番号ｉを現状維持したまま、ステップ５１４に進み、目標軌道選択完了フラグを「１」にセットする。
【００７８】
以上のようにして、指令遅れ時間ｄｔが所定値よりも短い場合（目標軌道切替禁止フラグ＝０の場合）には、指令遅れ時間の影響が小さいか又はほとんど無いと判断して、所定タイミング毎（例えばＴＤＣ毎）に低回転側の目標エンジン回転速度と高回転側の目標エンジン回転速度のうち実エンジン回転速度との偏差が小さい方を、今回の制御タイミングに対応した目標エンジン回転速度Ｎetg として選択することで、進角側の目標軌道と遅角側の目標軌道のうち実エンジン回転速度との偏差が小さい方の目標軌道を選択する。
【００７９】
これに対して、上記ステップ５０５で、目標軌道切替禁止フラグ＝１（目標軌道の切替禁止）と判定された場合には、まず、ステップ５０６で、目標軌道選択完了フラグ＝１であるか否かを判定し、目標軌道選択完了フラグ＝０であると判定されれば、ステップ５０７〜５１４の処理を実行して、低回転側の目標エンジン回転速度と高回転側の目標エンジン回転速度のうち実エンジン回転速度との偏差が小さい方を、今回の制御タイミングに対応した目標エンジン回転速度Ｎetg として選択することで、進角側の目標軌道と遅角側の目標軌道のうち実エンジン回転速度との偏差が小さい方の目標軌道を選択して、目標軌道選択完了フラグを「１」にセットする。
【００８０】
最初に目標軌道を選択した後は、上記ステップ５０６で、目標軌道選択完了フラグ＝１と判定されて、ステップ５１５に進み、今回の制御タイミングで目標軌道のテーブルから読み込んだ目標エンジン回転速度Ｎe(i)を、今回の制御タイミングに対応した目標エンジン回転速度Ｎetg として設定した後、ステップ５１６に進み、次回の制御タイミングで目標軌道のテーブルから読み込む目標エンジン回転速度Ｎe(i)，Ｎe(i+1)の番号ｉを「１」だけ減らす処理を繰り返して、エンジン回転停止制御の目標軌道を最初に選択した目標軌道に固定する。
【００８１】
以上のようにして、指令遅れ時間ｄｔが所定値以上の場合（目標軌道切替禁止フラグ＝１の場合）には、指令遅れ時間の影響が大きいと判断して、最初に選択した目標軌道（エンジン停止要求に伴って燃焼を停止させた気筒が最初に膨張行程となるタイミングにおいて選択した目標軌道）にエンジン回転停止制御の目標軌道を固定して、その後、エンジン回転が停止するまで所定タイミング毎（例えばＴＤＣ毎）に目標軌道を選択することを禁止する。この機能が特許請求の範囲でいう禁止手段としての役割を果たす。
【００８２】
以上説明した本実施例では、指令遅れ時間ｄｔが所定値よりも短い場合には、指令遅れ時間の影響が小さいか又はほとんど無いと判断して、所定タイミング毎（例えばＴＤＣ毎）に低回転側の目標エンジン回転速度と高回転側の目標エンジン回転速度のうち実エンジン回転速度との偏差が小さい方の目標エンジン回転速度を選択することで、進角側の目標軌道と遅角側の目標軌道のうち実エンジン回転速度との偏差が小さい方の目標軌道を選択するようにしたので、常に実エンジン回転速度との偏差が小さい方の目標エンジン回転速度を選択して、実エンジン回転速度を速やかに目標エンジン回転速度に制御することができ、エンジン回転停止制御の制御性を向上させることができる。
【００８３】
尚、所定タイミング毎（例えばＴＤＣ毎）に低回転側の目標エンジン回転速度と高回転側の目標エンジン回転速度のうち実エンジン回転速度との偏差が小さい方の目標エンジン回転速度を選択する構成に限定されず、例えば、所定タイミング毎（例えばＴＤＣ毎）に低回転側の目標エンジン回転速度と高回転側の目標エンジン回転速度のうち、低回転側／高回転側の目標エンジン回転速度と実エンジン回転速度をそれぞれエネルギ量に変換したパラメータの偏差が小さい方の目標エンジン回転速度を選択するようにしても良い。
【００８４】
一方、指令遅れ時間ｄｔが所定値以上の場合には、指令遅れ時間の影響が大きいと判断して、エンジン回転停止制御の目標軌道を最初に選択した目標軌道に固定して、その後、エンジン回転が停止するまで所定タイミング毎（例えばＴＤＣ毎）に目標軌道を選択することを禁止するようにしたので、指令遅れ時間が所定値以上の場合には、エンジン回転停止制御の実行中に目標軌道が切り替わることを防止でき、目標軌道の切り替えによって発生する実エンジン回転挙動の応答遅れやオルタネータ３３の発電指令値が増減を繰り返すハンチング現象を未然に防止することができて、エンジン回転停止制御精度の低下を防止することができ、エンジン停止クランク角を精度良く目標のクランク角範囲内に制御することができる。
【００８５】
尚、上記実施例では、目標停止クランク角を初期値としてクランク角を溯る方向に目標軌道を求めるようにしたが、例えば、目標停止クランク角でエンジン回転が停止するように停止直前のエンジン回転速度とクランク角（例えばＴＤＣ）を初期値として設定しておき、そこからクランク角を溯る方向に目標軌道を求めるようにしても良い等、目標軌道の算出方法を適宜変更しても良い。
【００８６】
その他、本発明の適用範囲は、車両の動力源としてエンジンのみを備えた一般的な車両に限定されず、車両の動力源としてエンジンとモータを備えたハイブリッド車に本発明を適用しても良い。
【符号の説明】
【００８７】
１１…エンジン、１３…吸気管、１４…スロットルバルブ、１９…燃料噴射弁、２１…排気管、２６…クランク角センサ、２９…カム角センサ、３０…エンジンＥＣＵ（目標軌道算出手段，停止制御手段，選択手段，禁止手段）、３３…オルタネータ（発電機）、３６…電源系ＥＣＵ、３８…発電指令値算出部（発電指令値算出手段）
【図１】
2010216350.tif 000004
【図２】
2010216350.tif 000005
【図３】
2010216350.tif 000006
【図４】
2010216350.tif 000007
【図５】
2010216350.tif 000008
【図６】
2010216350.tif 000009
【図７】
2010216350.tif 000010
【図８】
2010216350.tif 000011
【図９】
2010216350.tif 000012
【図１０】
2010216350.tif 000013
【図１１】
2010216350.tif 000014
【図１２】
2010216350.tif 000015
【図１３】
2010216350.tif 000016
【図１４】
2010216350.tif 000017
【図１５】
2010216350.tif 000018