(57)【要約】【課題】エンジン回転停止制御中にバッテリに過電圧が印加されることを防止する。【解決手段】実エンジン回転挙動を目標軌道に合わせるようにオルタネータ３３の要求負荷トルクを算出し、この要求負荷トルクとエンジン回転速度（又はオルタネータ３３の回転速度）に基づいてオルタネータ３３の発電指令値を算出してオルタネータ３３の負荷を制御するエンジン回転停止制御の実行中に、バッテリ印加電圧が所定の上限ガード値を越えたときに、上限ガード値とバッテリ印加電圧との偏差ΔＶ（つまり上限ガード値に対するバッテリ印加電圧の超過分）に応じて、オルタネータ３３の発電指令値を発電電流の低下方向（つまりバッテリ印加電圧の低下方向）に補正することで、バッテリ印加電圧を上限ガード値以下に制限する。これにより、エンジン回転停止制御の実行中にオルタネータの発電電流が過大になることを抑制してバッテリ３２に過電圧が印加されることを防止する。【選択図】図１
2010220358.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 ）を算出するようにしても良い。
【００３７】
ところで、図１１（ａ）に示すように、従来のエンジン回転停止制御では、実エンジン回転挙動を目標軌道に合わせるように算出されるオルタネータの要求負荷トルクによっては、オルタネータの発電電流が過大になるような発電指令値が設定される可能性があり、オルタネータの発電電流が過大になると、バッテリに過電圧が印加されてしまう可能性があり、それによって、バッテリの劣化を早めてバッテリの寿命を短くしてしまうという問題がある。
【００３８】
この対策として、本実施例では、図１１（ｂ）に示すように、エンジン回転停止制御の実行中にバッテリ印加電圧（バッテリ３２の印加電圧）を所定の上限ガード値（例えばバッテリ印加電圧の許容上限値又はそれよりも少し低い値）以下に制限するようにオルタネータ３３の発電指令値を補正する。オルタネータ３３の要求負荷トルクに応じて発電指令値が変化し、この発電指令値に応じてオルタネータ３３の発電電流が変化してバッテリ印加電圧が変化するため、バッテリ印加電圧を上限ガード値以下に制限するようにオルタネータ３３の発電指令値を補正すれば、オルタネータ３３の発電電流が過大になることを抑制して、バッテリ３２に過電圧（例えば許容上限値を越える電圧）が印加されることを防止できる。
【００３９】
具体的には、図９に示すように、電圧制限部４１（電圧制限手段）で、上限ガード値とバッテリ印加電圧との偏差ΔＶ（＝上限ガード値−バッテリ印加電圧）を算出し、この上限ガード値とバッテリ印加電圧との偏差ΔＶに応じて補正ゲインＫｐをマップ又は数式等により算出する。ここで、図１０に示すように、補正ゲインＫｐのマップは、上限ガード値とバッテリ印加電圧との偏差ΔＶが０以上の領域（つまりバッテリ印加電圧が上限ガード値以下の領域）では、補正ゲインＫｐ＝０になるように設定され、上限ガード値とバッテリ印加電圧との偏差ΔＶが０よりも小さい領域（つまりバッテリ印加電圧が上限ガード値よりも大きい領域）では、上限ガード値とバッテリ印加電圧との偏差ΔＶが小さくなる（つまり上限ガード値に対するバッテリ印加電圧の超過分が大きくなる）ほど補正ゲインＫｐが大きくなるように設定されている。
【００４０】
この補正ゲインＫｐを発電指令値算出部３８で算出した発電指令値から減算することで発電指令値を補正して最終的な発電指令値（デューティＤ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 を算出する。
【００５５】
【数１】
2010220358.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 ）を算出する。
【００６２】
この後、ステップ２１６〜２１８の処理により、バッテリ印加電圧を上限ガード値［例えばバッテリ印加電圧の許容上限値又はそれよりも少し低い値（例えば１４．５Ｖ）］以下に制限するようにオルタネータ３３の発電指令値を次のようにして補正する。
【００６３】
まず、ステップ２１６で、上限ガード値とバッテリ印加電圧との偏差ΔＶ（＝上限ガード値−バッテリ印加電圧）を算出した後、ステップ２１７に進み、図１０に示す補正ゲインＫｐのマップを参照して、上限ガード値とバッテリ印加電圧との偏差ΔＶに応じた補正ゲインＫｐを算出する。この後、ステップ２１８に進み、補正ゲインＫｐを発電指令値から減算することで発電指令値を補正して最終的な発電指令値（デューティＤuty ）を算出する。これらのステップ２１６〜２１８の処理により、バッテリ印加電圧が上限ガード値を越えたときに、上限ガード値とバッテリの印加電圧との偏差ΔＶ（つまり上限ガード値に対するバッテリ印加電圧の超過分）に応じて、オルタネータ３３の発電指令値を発電電流の低下方向（つまりバッテリ印加電圧の低下方向）に補正する。
【００６４】
以上説明した本実施例では、実エンジン回転挙動を目標軌道に合わせるようにオルタネータ３３の負荷を制御してエンジン回転を停止させるエンジン回転停止制御の実行中に、バッテリ印加電圧を上限ガード値以下に制限するようにオルタネータ３３の発電指令値を補正するようにしたので、エンジン回転停止制御の実行中にオルタネータ３３の発電電流が過大になることを抑制して、バッテリ３２に過電圧が印加されることを防止することができ、バッテリ３２の劣化を抑制することができる。これにより、バッテリ３２の劣化によってメータやライトの明るさが変化することを抑制して、運転者に違和感を与えることを防止できる。
【００６５】
また、本実施例では、バッテリ印加電圧が上限ガード値を越えたときに、上限ガード値とバッテリ印加電圧との偏差ΔＶ（つまり上限ガード値に対するバッテリ印加電圧の超過分）に応じて、オルタネータ３３の発電指令値を発電電流の低下方向（つまりバッテリ印加電圧の低下方向）に補正するようにしたので、バッテリ印加電圧を速やかに上限ガード値以下に低下させて、バッテリ印加電圧を速やかに上限ガード値以下に制限することができる。
【００６６】
尚、上記実施例では、オルタネータ３３の発電指令値を補正してバッテリ印加電圧を上限ガード値以下に制限するようにしたが、発電指令値以外のオルタネータ３３の制御パラメータ（例えば、要求負荷トルク、要求フィールド電流等）を補正してバッテリ印加電圧を上限ガード値以下に制限するようにしても良い。
【００６７】
更に、上記実施例では、バッテリ印加電圧が上限ガード値を越えたときに、上限ガード値とバッテリ印加電圧との偏差ΔＶに応じてオルタネータ３３の発電指令値を補正してバッテリ印加電圧を上限ガード値以下に制限するようにしたが、バッテリ印加電圧が上限ガード値を越えたときに、オルタネータ３３の制御パラメータ（発電指令値、要求負荷トルク、要求フィールド電流等）を所定補正量（予め設定した一定値）だけ補正してバッテリ印加電圧を上限ガード値以下に制限するようにしたり、或は、バッテリ印加電圧が上限ガード値になったきに、オルタネータ３３の制御パラメータを所定のガード値でガード処理することで、バッテリ印加電圧を上限ガード値以下に制限するようにしても良い等、バッテリ印加電圧を上限ガード値以下に制限する方法は、上記実施例で説明した方法に限定されず、適宜変更しても良い。
【００６８】
また、上記実施例では、目標停止クランク角を初期値としてクランク角を溯る方向に目標軌道を求めるようにしたが、例えば、目標停止クランク角でエンジン回転が停止するように停止直前のエンジン回転速度とクランク角（例えばＴＤＣ）を初期値として設定しておき、そこからクランク角を溯る方向に目標軌道を求めるようにしても良い等、目標軌道の算出方法を適宜変更しても良い。
【００６９】
また、本発明の適用範囲は、車両の動力源としてエンジンのみを搭載した一般的な車両に限定されず、車両の動力源としてエンジンとモータを搭載したハイブリッド車に本発明を適用しても良い。
【符号の説明】
【００７０】
１１…エンジン、１３…吸気管、１４…スロットルバルブ、１９…燃料噴射弁、２１…排気管、２６…クランク角センサ、２９…カム角センサ、３０…エンジンＥＣＵ（目標軌道算出手段，停止制御手段）、３２…バッテリ、３３…オルタネータ（発電機）、３６…電源系ＥＣＵ、３７…電圧センサ、４１…電圧制限部（電圧制限手段）
【図１】
2010220358.tif 000004
【図２】
2010220358.tif 000005
【図３】
2010220358.tif 000006
【図４】
2010220358.tif 000007
【図５】
2010220358.tif 000008
【図６】
2010220358.tif 000009
【図７】
2010220358.tif 000010
【図８】
2010220358.tif 000011
【図９】
2010220358.tif 000012
【図１０】
2010220358.tif 000013
【図１１】
2010220358.tif 000014
【図１２】
2010220358.tif 000015
【図１３】
2010220358.tif 000016
【図１４】
2010220358.tif 000017