(57)【要約】【課題】エンジン停止要求時のエンジン回転速度に応じた適正な停止制御を実行して、エンジン回転停止制御の精度を向上させる。【解決手段】エンジン停止要求時のエンジン回転速度が判定閾値よりも高い場合には、エンジン回転が停止するまでの期間が比較的長くなるため、オルタＦ／Ｂ停止制御を実行する期間を確保できると判断して、実エンジン回転挙動を目標軌道に合わせるようにオルタネータ３３の負荷トルクをフィードバック制御するオルタＦ／Ｂ停止制御を実行する。一方、エンジン停止要求時のエンジン回転速度が判定閾値以下の場合には、エンジン回転が停止するまでの期間が比較的短くなるため、オルタＦ／Ｂ停止制御を実行する期間を確保できないと判断して、エンジン１１の燃焼停止前に実エンジン回転挙動を目標軌道に合わせるように点火時期をフィードバック制御する点火Ｆ／Ｂ停止制御を実行する。【選択図】図１
2012082698.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 ）を算出する。この際、要求負荷トルクＴalt とエンジン回転速度Ｎe （又はオルタネータ３３の回転速度Ｎalt ）から発電指令値（デューティＤuty ）を直接算出するようにしても良いが、要求負荷トルクＴalt とエンジン回転速度Ｎe （又はオルタネータ３３の回転速度Ｎalt ）から要求フィールド電流（要求励磁電流）を算出し、この要求フィールド電流から発電指令値（デューティＤuty ）を算出するようにしても良い。
【００２７】
尚、図７に示す負荷トルク特性は、オルタネータ３３の出力電圧が所定値（例えば１３．５Ｖ）で一定の場合の特性であり、出力電圧毎に同様の特性が設定されている。この発電指令値（デューティＤuty ）に基づいてオルタネータ３３の発電制御電流（フィールド電流）を制御してオルタネータ３３の負荷トルクを制御する。
【００２８】
このようなオルタネータ３３の負荷トルクの制御を、エンジン回転速度がオルタネータ３３の発電限界回転速度Ｎelow（図３参照）以下に低下するまで所定クランク角間隔で周期的に実行することで、実エンジン回転挙動を目標軌道に合わせるようにオルタネータ３３の負荷トルクをフィードバック制御するエンジン回転停止制御（オルタＦ／Ｂ停止制御）を行う。
【００２９】
エンジン回転停止制御（オルタＦ／Ｂ停止制御）の際に、エンジンＥＣＵ３０は、所定クランク角周期で発電指令値を演算し、この発電指令値をＣＡＮ（Controller Area Network ）通信等により所定時間周期で電源系ＥＣＵ３６（図１参照）に送信する。更に、電源系ＥＣＵ３６は、受信した発電指令値をＬＩＮ（Local Interconnect Network）通信等により所定時間周期でオルタネータ３３に送信する。
【００３０】
ところで、エンジン停止要求時のエンジン回転速度が比較的高い場合には、エンジン回転が停止するまでの期間が比較的長くなるため、オルタＦ／Ｂ停止制御を実行する期間を確保できるが、エンジン停止要求時のエンジン回転速度が比較的低い場合には、エンジン回転が停止するまでの期間が比較的短くなるため、オルタＦ／Ｂ停止制御を実行する期間を確保できなくなる。
【００３１】
そこで、本実施例では、エンジン停止要求時のエンジン回転速度に応じてオルタＦ／Ｂ停止制御（第１の停止制御）と点火Ｆ／Ｂ停止制御（第２の停止制御）のうちの一方を選択して実行する。これにより、オルタＦ／Ｂ停止制御と点火Ｆ／Ｂ停止制御のうちで、エンジン停止要求時のエンジン回転速度に応じた適正な停止制御を選択して実行する。
【００３２】
具体的には、図８に示すように、エンジン運転中にエンジン停止要求（アイドルストップ要求）が発生してエンジン停止要求フラグが「１」にセットされた時点ｔ1 で、エンジン回転速度が所定の判定閾値よりも高いか否かを判定する。ここで、判定閾値は、エンジン回転が停止するまでの期間が比較的長くなってオルタＦ／Ｂ停止制御を実行する期間を確保できるようなエンジン回転速度に設定される。
【００３３】
その結果、エンジン停止要求時のエンジン回転速度が判定閾値よりも高い場合には、エンジン回転が停止するまでの期間が比較的長くなるため、オルタＦ／Ｂ停止制御を実行する期間を確保できると判断する。この場合、燃料カット要求フラグを「１」にセットして、燃料噴射を停止する燃料カットを実行することで、エンジン１１の燃焼を停止させると共に、オルタＦ／Ｂ停止制御許可フラグを「１」にセットして、実エンジン回転挙動を目標軌道に合わせるようにオルタネータ３３の負荷トルクをフィードバック制御するオルタＦ／Ｂ停止制御を実行する。
【００３４】
一方、エンジン停止要求時のエンジン回転速度が判定閾値以下の場合には、エンジン回転が停止するまでの期間が比較的短くなるため、オルタＦ／Ｂ停止制御を実行する期間を確保できないと判断する。この場合、点火Ｆ／Ｂ停止制御許可フラグを「１」にセットして、エンジン１１の燃焼停止前（燃焼中）に実エンジン回転挙動を目標軌道に合わせるように点火時期をフィードバック制御する点火Ｆ／Ｂ停止制御を実行すると共に、燃料カット要求フラグを「１」にセットして、燃料噴射を停止する燃料カットを実行することで、エンジン１１の燃焼を停止させる。点火Ｆ／Ｂ停止制御では、エンジン１１の燃焼停止前（燃焼中）に点火時期の制御してエンジン１１の燃焼を制御することでエンジントルクを制御して実エンジン回転挙動を目標軌道に合わせることができる。
【００３５】
以上説明した本実施例のエンジン回転停止制御は、エンジンＥＣＵ３０によって図９乃至図１２の各ルーチンに従って実行される。以下、これら各ルーチンの処理内容を説明する。
【００３６】
［目標軌道算出ルーチン］
図９に示す目標軌道算出ルーチンは、エンジンＥＣＵ３０の電源オン中に所定周期（所定クランク角周期）で繰り返し実行される。本ルーチンが起動されると、まず、ステップ１０１で、目標軌道算出完了フラグが目標軌道の算出前を意味する「０」にセットされているか否かを判定し、この目標軌道算出完了フラグが目標軌道算出完了を意味する「１」にセットされていれば、以降の処理を行うことなく、本ルーチンを終了する。
【００３７】
一方、このステップ１０１で、目標軌道算出完了フラグ＝０（目標軌道の算出前）と判定されれば、ステップ１０２に進み、ロストルクＴ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)＝基準回転速度である。この基準回転速度Ｎe(0)は、停止クランク角が目標停止クランク角となる基準タイミングのエンジン回転速度である。目標軌道は、基準回転速度Ｎe(0)を初期値としてクランク角を溯る方向に所定クランク角Δθ毎（例えばＴＤＣ毎）に算出する。
【００４１】
この後、ステップ１０３に進み、目標エンジン回転速度Ｎe(i+1)の二乗がエンジン回転停止制御を実行可能な最大エンジン回転速度Ｎemaxの二乗を越えたか否かを判定し、まだ最大エンジン回転速度Ｎemaxの二乗を越えていなければ、ステップ１０４に進み、目標軌道算出完了フラグを「０」に維持する（セットし直す）。
【００４２】
この後、ステップ１０６に進み、目標エンジン回転速度Ｎe(i+1)の二乗の平方根を算出して目標エンジン回転速度Ｎe(i+1)を求め、これを目標軌道のテーブル（図示せず）に割り付けて、本ルーチンを終了する。尚、エンジンＥＣＵ３０の演算負荷を低減するため、エンジン回転速度の二乗をそのままテーブルに割り付けても良い。目標軌道のテーブルは、エンジンＥＣＵ３０のメモリに記憶される。
【００４３】
以上のような処理を繰り返して、基準回転速度Ｎe(0)を初期値としてクランク角を溯る方向に所定クランク角毎（例えばＴＤＣ毎）に目標エンジン回転速度Ｎe(i+1)の二乗を算出して目標軌道のテーブルに目標エンジン回転速度Ｎe(i+1)を割り付ける処理を繰り返す。そして、上記ステップ１０３で、目標エンジン回転速度Ｎe(i+1)の二乗がエンジン回転停止制御を実行可能な最大エンジン回転速度Ｎemaxの二乗を越えたと判定された時点で、ステップ１０５に進み、目標軌道算出完了フラグを目標軌道算出完了を意味する「１」にセットして、ステップ１０６に進み、最後の目標エンジン回転速度Ｎe(i+1)の二乗の平方根を算出して目標エンジン回転速度Ｎe(i+1)を求め、これを目標軌道のテーブルに割り付けて、本ルーチンを終了する。
【００４４】
［停止制御選択ルーチン］
図１０に示す停止制御選択ルーチンは、エンジンＥＣＵ３０の電源オン中に所定周期（所定クランク角周期）で繰り返し実行される。本ルーチンが起動されると、まず、ステップ２０１で、エンジン停止要求（アイドルストップ要求）が発生したか否かを判定し、エンジン停止要求が発生していなければ、ステップ２０３に進み、燃料カット要求フラグを「０」に維持すると共に、オルタＦ／Ｂ停止制御許可フラグと点火Ｆ／Ｂ停止制御許可フラグを両方とも「０」に維持したまま、本ルーチンを終了する。
【００４５】
その後、上記ステップ２０１で、エンジン停止要求が発生したと判定された時点で、ステップ２０２に進み、エンジン停止要求時のエンジン回転速度が判定閾値よりも高いか否かを判定する。ここで、判定閾値は、エンジン回転が停止するまでの期間が比較的長くなってオルタＦ／Ｂ停止制御を実行する期間を確保できるようなエンジン回転速度に設定される。この判定閾値は、予め試験データや設計データ等に基づいて設定され、エンジンＥＣＵ３０のＲＯＭに記憶されている。尚、判定閾値は、冷却水温や油温等に応じて変化させるようにしても良い。
【００４６】
このステップ２０２で、エンジン停止要求時のエンジン回転速度が判定閾値よりも高いと判定された場合には、エンジン回転が停止するまでの期間が比較的長くなるため、オルタＦ／Ｂ停止制御を実行する期間を確保できると判断して、ステップ２０４に進み、燃料カット要求フラグを「１」にセットすると共に、オルタＦ／Ｂ停止制御許可フラグを「１」にセットして、本ルーチンを終了する。
【００４７】
一方、上記ステップ２０２で、エンジン停止要求時のエンジン回転速度が判定閾値以下であると判定された場合には、エンジン回転が停止するまでの期間が比較的短くなるため、オルタＦ／Ｂ停止制御を実行する期間を確保できないと判断して、ステップ２０５に進み、点火Ｆ／Ｂ停止制御許可フラグを「１」にセットすると共に、燃料カット要求フラグを「１」にセットして、本ルーチンを終了する。
【００４８】
［オルタＦ／Ｂ停止制御ルーチン］
図１１に示すオルタＦ／Ｂ停止制御ルーチンは、エンジンＥＣＵ３０の電源オン中に所定周期（所定クランク角周期）で繰り返し実行される。本ルーチンが起動されると、まず、ステップ３０１で、オルタＦ／Ｂ停止制御許可フラグがオルタＦ／Ｂ停止制御の許可を意味する「１」にセットされているか否かを判定し、オルタＦ／Ｂ停止制御許可フラグが「０」であれば、以降の処理を行うことなく、本ルーチンを終了する。
【００４９】
その後、上記ステップ３０１で、オルタＦ／Ｂ停止制御許可フラグ＝１と判定された時点で、ステップ３０２に進み、現在のクランク角θとエンジン回転速度Ｎe を算出する。この後、ステップ３０３に進み、現在のクランク角θがオルタネータ３３の負荷トルクの制御タイミング（例えばＴＤＣ）であるか否かを判定し、オルタネータ３３の負荷トルクの制御タイミングでなければ、以降の処理を行うことなく、本ルーチンを終了する。
【００５０】
上記ステップ３０３で、現在のクランク角θがオルタネータ３３の負荷トルクの制御タイミングであると判定されれば、ステップ３０４に進み、現在のエンジン回転速度Ｎe がエンジン回転停止制御を実行可能な最大エンジン回転速度Ｎemaxよりも低いか否かを判定し、現在のエンジン回転速度Ｎe が最大エンジン回転速度Ｎemax以上であれば、以降の処理を行うことなく、本ルーチンを終了する。
【００５１】
その後、上記ステップ３０４で、現在のエンジン回転速度Ｎe が最大エンジン回転速度Ｎemaxよりも低いと判定されれば、ステップ３０５に進み、エンジン１１が燃焼中であるか否かを判定する。このステップ３０５で、エンジン停止要求が発生した直後でエンジン１１がまだ燃焼中であると判定されれば、ステップ３０６に進み、エンジン回転停止制御を開始する際のオルタネータ３３の要求負荷トルクＴalt を初期値（例えば基準負荷トルクＴref(Ne) ）に設定する。
Ｔalt ＝Ｔref(Ne)
【００５２】
その後、上記ステップ３０５で、エンジン１１の燃焼が停止したと判定された場合には、ステップ３０７に進み、目標軌道のテーブルを参照して、今回の制御タイミングに対応した目標エンジン回転速度Ｎetg を求める。
【００５３】
この後、ステップ３０８に進み、現在のエンジン回転速度Ｎe と目標エンジン回転速度Ｎetg とのエネルギ差分ΔＥを次式により算出する。
ΔＥ＝Ｊ／２×（Ｎe 2 −Ｎetg 2 ）
ここで、Ｊはエンジン１１の慣性モーメントである。
【００５４】
この後、ステップ３０９に進み、エネルギ差分ΔＥとオルタネータ３３の基準負荷トルクＴref(Ne) を用いて、次式により要求負荷トルクＴalt を算出する。
Ｔalt ＝Ｋ×ΔＥ／Δθ＋Ｔref(Ne)
ここで、「Ｋ×ΔＥ／Δθ」はフィードバック負荷トルクであり、Ｋはフィードバックゲイン、Δθはクランク角変化量である。
【００５５】
この後、ステップ３１０に進み、要求負荷トルクＴalt にプーリ比Ｒatioを乗算して、オルタネータ３３の要求軸トルクＴalt.final に変換する。
この後、ステップ３１１に進み、バッテリ電圧を検出した後、ステップ３１２に進み、バッテリ電圧毎に作成された複数の負荷トルク特性マップ（図７参照）の中から、現在のバッテリ電圧に対応する負荷トルク特性マップを選択して、現在の要求負荷トルクＴalt （要求軸トルクＴalt.final ）とエンジン回転速度Ｎe （又はオルタネータ３３の回転速度Ｎalt ）に応じた発電指令値（デューティＤuty ）を算出する。
【００５６】
この発電指令値（デューティＤuty ）に基づいてオルタネータ３３の発電制御電流（フィールド電流）を制御してオルタネータ３３の負荷トルクを制御することで、実エンジン回転挙動を目標軌道に合わせるようにオルタネータ３３の負荷トルクをフィードバック制御するオルタＦ／Ｂ停止制御を行う。
【００５７】
［点火Ｆ／Ｂ停止制御ルーチン］
図１２に示す点火Ｆ／Ｂ停止制御ルーチンは、エンジンＥＣＵ３０の電源オン中に所定周期（所定クランク角周期）で繰り返し実行される。本ルーチンが起動されると、まず、ステップ４０１で、点火Ｆ／Ｂ停止制御許可フラグが点火Ｆ／Ｂ停止制御の許可を意味する「１」にセットされているか否かを判定し、点火Ｆ／Ｂ停止制御許可フラグが「０」であれば、以降の処理を行うことなく、本ルーチンを終了する。
【００５８】
その後、上記ステップ４０１で、点火Ｆ／Ｂ停止制御許可フラグ＝１と判定された時点で、ステップ４０２に進み、現在のクランク角θとエンジン回転速度Ｎe を算出する。この後、ステップ４０３に進み、現在のクランク角θが点火時期の制御タイミング（例えばＴＤＣ）であるか否かを判定し、点火時期の制御タイミングでなければ、以降の処理を行うことなく、本ルーチンを終了する。
【００５９】
上記ステップ４０３で、現在のクランク角θが点火時期の制御タイミングであると判定されれば、ステップ４０４に進み、現在のエンジン回転速度Ｎe がエンジン回転停止制御を実行可能な最大エンジン回転速度Ｎemaxよりも低いか否かを判定し、現在のエンジン回転速度Ｎe が最大エンジン回転速度Ｎemax以上であれば、以降の処理を行うことなく、本ルーチンを終了する。
【００６０】
その後、上記ステップ４０４で、現在のエンジン回転速度Ｎe が最大エンジン回転速度Ｎemaxよりも低いと判定されれば、ステップ４０５に進み、エンジン１１が燃焼中であるか否かを判定する。このステップ４０５で、エンジン停止要求が発生した直後でエンジン１１がまだ燃焼中（燃焼停止前）であると判定されれば、ステップ４０６に進み、目標軌道のテーブルを参照して、今回の制御タイミングに対応した目標エンジン回転速度Ｎetg を求める。
【００６１】
この後、ステップ４０７に進み、現在のエンジン回転速度Ｎe と目標エンジン回転速度Ｎetg とのエネルギ差分ΔＥを次式により算出する。
ΔＥ＝Ｊ／２×（Ｎe 2 −Ｎetg 2 ）
ここで、Ｊはエンジン１１の慣性モーメントである。
【００６２】
この後、ステップ４０８に進み、エネルギ差分ΔＥに応じた点火補正量（点火時期の補正量）をマップ又は数式等により算出する。この点火補正量のマップ又は数式等は、エネルギ差分ΔＥが０よりも大きい領域では、点火補正量が点火時期の進角方向（エンジントルクの増加方向）となり、エネルギ差分ΔＥが０よりも小さい領域では、点火補正量が点火時期の遅角方向（エンジントルクの減少方向）となるように設定されている。
【００６３】
この点火補正量だけ点火時期を補正することで、実エンジン回転挙動を目標軌道に合わせるように点火時期をフィードバック制御する点火Ｆ／Ｂ停止制御を行う。
その後、上記ステップ４０５で、エンジン１１の燃焼が停止したと判定された場合には、上記ステップ４０６〜４０８の処理を行うことなく、本ルーチンを終了することで、点火Ｆ／Ｂ停止制御を終了する。
【００６４】
以上説明した本実施例では、エンジン停止要求時のエンジン回転速度が判定閾値よりも高い場合には、エンジン回転が停止するまでの期間が比較的長くなるため、オルタＦ／Ｂ停止制御を実行する期間を確保できると判断して、実エンジン回転挙動を目標軌道に合わせるようにオルタネータ３３の負荷トルクをフィードバック制御するオルタＦ／Ｂ停止制御を実行する。一方、エンジン停止要求時のエンジン回転速度が判定閾値以下の場合には、エンジン回転が停止するまでの期間が比較的短くなるため、オルタＦ／Ｂ停止制御を実行する期間を確保できないと判断して、エンジン１１の燃焼停止前（燃焼中）に実エンジン回転挙動を目標軌道に合わせるように点火時期をフィードバック制御する点火Ｆ／Ｂ停止制御を実行する。これにより、エンジン停止要求時のエンジン回転速度に応じた適正な停止制御を選択して実行することができ、エンジン回転停止制御の精度を向上させることができる。
【００６５】
尚、上記実施例では、エンジン停止要求時のエンジン回転速度が判定閾値以下の場合に、点火Ｆ／Ｂ停止制御を実行するようにしたが、これに限定されず、例えば、エンジン１１の燃焼停止前（燃焼中）に実エンジン回転挙動を目標軌道に合わせるようにスロットル開度（吸入空気量）をフィードバック制御するスロットルＦ／Ｂ停止制御を実行するようにしても良い。或は、点火Ｆ／Ｂ停止制御とスロットルＦ／Ｂ停止制御を両方とも実行するようにしても良い。
【００６６】
また、エンジン停止要求時のエンジン回転速度に代えて、燃料カットを開始するときのエンジン回転速度（例えば予測値）や燃料カットによりエンジン回転速度が低下し始めるときのエンジン回転速度（例えば予測値）を用いるようにしても良い。
【００６７】
また、本発明は、図１に示すような吸気ポート噴射式エンジンに限定されず、筒内噴射式エンジンや、吸気ポート噴射用の燃料噴射弁と筒内噴射用の燃料噴射弁の両方を備えたデュアル噴射式のエンジンにも適用して実施できる。
【００６８】
更に、本発明の適用範囲は、自動変速機（オートマチック・トランスミッション）を搭載した車両に限定されず、手動変速機（マニュアル・トランスミッション）を搭載した車両に本発明を適用しても良い。
【００６９】
その他、本発明の適用範囲は、車両の動力源としてエンジンのみを備えた一般的な車両に限定されず、車両の動力源としてエンジンとモータを備えたハイブリッド車に本発明を適用しても良い。
【符号の説明】
【００７０】
１１…エンジン（内燃機関）、１３…吸気管、１４…スロットルバルブ、１８…吸気管圧力センサ、１９…燃料噴射弁、２１…排気管、３０…エンジンＥＣＵ（目標軌道算出手段，停止制御手段）、３１…点火プラグ、３３…オルタネータ（発電機）
【図１】
2012082698.tif 000003
【図２】
2012082698.tif 000004
【図３】
2012082698.tif 000005
【図４】
2012082698.tif 000006
【図５】
2012082698.tif 000007
【図６】
2012082698.tif 000008
【図７】
2012082698.tif 000009
【図８】
2012082698.tif 000010
【図９】
2012082698.tif 000011
【図１０】
2012082698.tif 000012
【図１１】
2012082698.tif 000013
【図１２】
2012082698.tif 000014