(57)【要約】【課題】エンジン回転を停止させる際にエンジン回転停止クランク角を精度良く目標のクランク角範囲内に制御できるようにする。【解決手段】実エンジン回転挙動を目標軌道に合わせるようにオルタネータの負荷を制御してエンジン回転を停止させる際に、オルタネータの発電指令値が算出されてから実際にオルタネータが応答するまでの指令遅れ時間を算出して、この指令遅れ時間中のエンジン回転速度変化量を推定し、現在のエンジン回転速度から指令遅れ時間中のエンジン回転速度変化量を差し引いて指令遅れ時間経過後のエンジン回転速度を求め、この指令遅れ時間経過後のエンジン回転速度と要求負荷トルクに応じて発電指令値を算出する。これにより、オルタネータの発電指令値を算出する時点で、指令遅れ時間経過後のエンジン回転速度においてオルタネータの要求負荷トルクを実現する発電指令値を精度良く算出する。【選択図】図７
2010216349.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)を求め、これを目標軌道のテーブルに割り付けて、本ルーチンを終了する。
【００４８】
［エンジン回転停止制御ルーチン］
図１１及び図１２に示すエンジン回転停止制御ルーチンは、エンジンＥＣＵ３０の電源オン中に所定周期（所定クランク角周期）で繰り返し実行される。本ルーチンが起動されると、まず、ステップ２０１で、エンジン停止要求（アイドルストップ信号）が発生したか否かを判定し、エンジン停止要求が発生していなければ、以降の処理を行うことなく、本ルーチンを終了して、エンジン運転（燃料噴射制御及び点火制御）を継続する。
【００４９】
その後、上記ステップ２０１で、エンジン停止要求が発生したと判定された時点で、ステップ２０２に進み、現在のクランク角θとエンジン回転速度Ｎe を算出する。この後、ステップ２０３に進み、現在のクランク角θがオルタネータ３３の負荷トルクの制御タイミング（例えばＴＤＣ）であるか否かを判定し、オルタネータ３３の負荷トルクの制御タイミングでなければ、以降の処理を行うことなく、本ルーチンを終了する。
【００５０】
上記ステップ２０３で、現在のクランク角θがオルタネータ３３の負荷トルクの制御タイミングであると判定されれば、ステップ２０４に進み、現在のエンジン回転速度Ｎe がエンジン回転停止制御を実行可能な最大エンジン回転速度Ｎemaxよりも低いか否かを判定し、現在のエンジン回転速度Ｎe が最大エンジン回転速度Ｎemax以上であれば、以降の処理を行うことなく、本ルーチンを終了する。
【００５１】
これに対して、上記ステップ２０４で、現在のエンジン回転速度Ｎe が最大エンジン回転速度Ｎemaxよりも低いと判定されれば、ステップ２０５に進み、エンジン１１が燃焼中であるか否かを判定する。このステップ２０５で、エンジン停止要求が発生した直後でエンジン１１がまだ燃焼中であると判定された場合には、ステップ２０６に進み、エンジン回転停止制御を開始する際のオルタネータ３３の要求負荷トルクＴalt を初期値（例えば基準負荷トルクＴref(Ne) ）に設定する。
Ｔalt ＝Ｔref(Ne)
【００５２】
その後、上記ステップ２０５で、エンジン１１の燃焼が停止したと判定された場合には、ステップ２０７に進み、目標軌道のテーブルを参照して、今回の制御タイミングに対応した目標エンジン回転速度Ｎetg を求める。ここで、車両がＭＴ車（マニュアルミッション車）の場合は、クラッチが開放状態かどうかを判断し、クラッチ開放・継合状態に応じた目標軌道を選択するようにしても良い。
【００５３】
この後、ステップ２０８に進み、現在のエンジン回転速度Ｎe と目標エンジン回転速度Ｎetg とオルタネータ３３の基準負荷トルクＴref(Ne) を用いて、次式により要求負荷トルクＴalt を算出する。
【００５４】
【数１】
2010216349.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 ）を算出する。
【００６１】
［指令遅れ時間算出ルーチン］
図１３に示す指令遅れ時間算出ルーチンは、エンジンＥＣＵ３０の電源オン中に所定周期（所定クランク角周期）で繰り返し実行される。本ルーチンが起動されると、まず、ステップ３０１で、エンジン停止要求（アイドルストップ信号）が発生したか否かを判定し、エンジン停止要求が発生していなければ、以降の処理を行うことなく、本ルーチンを終了する。
【００６２】
その後、上記ステップ３０１で、エンジン停止要求が発生したと判定された時点で、ステップ３０２に進み、図１４に示すように、エンジン停止要求の発生に伴ってエンジン回転停止制御が開始される際にオルタネータ３３の要求負荷トルクＴalt が初期値（例えば基準負荷トルクＴref(Ne) ）に設定されたときに、この要求負荷トルクＴalt に応じた発電指令値が算出された時点ｔ0 から実際にオルタネータ３３が応答する時点ｔ1 （例えば発電指令値の変化に応じて発電電流が変化し始めた時点）までの時間をカウントして指令遅れ時間ｄｔを求める。
【００６３】
以上説明した本実施例では、実エンジン回転挙動を目標軌道に合わせるようにオルタネータ３３の負荷を制御してエンジン回転を停止させるエンジン回転停止制御の際に、オルタネータ３３の発電指令値が算出されてから実際にオルタネータ３３が応答するまでの指令遅れ時間を算出して、この指令遅れ時間中のエンジン回転速度変化量を推定し、現在のエンジン回転速度から指令遅れ時間中のエンジン回転速度変化量を差し引いて指令遅れ時間経過後のエンジン回転速度を求め、この指令遅れ時間経過後のエンジン回転速度と要求負荷トルクに応じて発電指令値を算出するようにしたので、オルタネータ３３の発電指令値を算出する時点で、指令遅れ時間経過後のエンジン回転速度においてオルタネータ３３の要求負荷トルクを実現する発電指令値を精度良く算出することができる。これにより、オルタネータ３３の発電指令値が算出されてから実際にオルタネータ３３が応答するまでに指令遅れ時間が生じても、オルタネータ３３の負荷トルクを精度良く要求負荷トルクに制御することができ、エンジン回転停止クランク角を精度良く目標のクランク角範囲内に制御することができる。
【００６４】
尚、上記実施例では、現在のエンジン回転速度から指令遅れ時間中のエンジン回転速度変化量を差し引いて指令遅れ時間経過後のエンジン回転速度を求め、この指令遅れ時間経過後のエンジン回転速度と要求負荷トルクに応じて発電指令値を算出するようにしたが、指令遅れ時間中のエンジン回転速度変化量を考慮して発電指令値を算出する方法は、これに限定されず、適宜変更しても良く、例えば、現在のエンジン回転速度と要求負荷トルクに応じて発電指令値を算出し、この発電指令値を指令遅れ時間中のエンジン回転速度変化量で補正するようにしたり、或は、要求負荷トルクを指令遅れ時間中のエンジン回転速度変化量で補正し、現在のエンジン回転速度と補正後の要求負荷トルクに応じて発電指令値を算出するようにしても良い。
【００６５】
また、上記実施例では、目標停止クランク角を初期値としてクランク角を溯る方向に目標軌道を求めるようにしたが、例えば、目標停止クランク角でエンジン回転が停止するように停止直前のエンジン回転速度とクランク角（例えばＴＤＣ）を初期値として設定しておき、そこからクランク角を溯る方向に目標軌道を求めるようにしても良い等、目標軌道の算出方法を適宜変更しても良い。
【００６６】
また、本発明の適用範囲は、車両の動力源としてエンジンのみを備えた一般的な車両に限定されず、車両の動力源としてエンジンとモータを備えたハイブリッド車に本発明を適用しても良い。
【符号の説明】
【００６７】
１１…エンジン、１３…吸気管、１４…スロットルバルブ、１９…燃料噴射弁、２１…排気管、２６…クランク角センサ、２９…カム角センサ、３０…エンジンＥＣＵ（目標軌道算出手段，停止制御手段，要求負荷算出手段）、３３…オルタネータ（発電機）、３６…電源系ＥＣＵ、３８…発電指令値算出部（発電指令値算出手段）、３９…指令遅れ時間算出部（指令遅れ時間算出手段）、４０…エンジン回転速度変化量推定部（エンジン回転速度変化量推定手段）
【図１】
2010216349.tif 000004
【図２】
2010216349.tif 000005
【図３】
2010216349.tif 000006
【図４】
2010216349.tif 000007
【図５】
2010216349.tif 000008
【図６】
2010216349.tif 000009
【図７】
2010216349.tif 000010
【図８】
2010216349.tif 000011
【図９】
2010216349.tif 000012
【図１０】
2010216349.tif 000013
【図１１】
2010216349.tif 000014
【図１２】
2010216349.tif 000015
【図１３】
2010216349.tif 000016
【図１４】
2010216349.tif 000017