(57)【特許請求の範囲】
【請求項１】
エンジン回転が目標停止クランク角で停止するようにエンジン回転挙動の目標軌道を算出する目標軌道算出手段と、エンジン停止要求に応じてエンジン回転を停止させる際に実エンジン回転挙動を前記目標軌道に合わせるように発電機の負荷を制御するエンジン回転停止制御を実行する停止制御手段とを備えたエンジン回転停止制御装置において、
前記エンジン回転停止制御が実行されたときの停止クランク角又はこれに関連性のある情報（以下これらを「停止位置情報」と総称する）を検出して該停止位置情報の頻度分布を記憶する頻度分布記憶手段と、
前記停止位置情報の頻度分布に基づいて前記発電機のトルク特性の変化によるトルクずれを補正するための補正量（以下「トルクずれ補正量」という）を算出するトルクずれ補正量算出手段とを備え、
前記停止制御手段は、前記エンジン回転停止制御を実行する際に前記トルクずれ補正量に基づいて前記発電機の制御量を補正する手段を有することを特徴とするエンジン回転停止制御装置。
【請求項２】
前記エンジン回転停止制御の際にエンジン回転速度が前記発電機の発電限界回転速度以下の回転速度領域でクランク角が所定位置となるタイミングを基準タイミングとし、前記停止位置情報として前記基準タイミングのエンジン回転速度を用いることを特徴とする請求項１に記載のエンジン回転停止制御装置。
【請求項３】
前記トルクずれ補正量算出手段は、前記停止位置情報の頻度分布の傾向を示す代表値に基づいて前記トルクずれ補正量を算出することを特徴とする請求項１又は２に記載のエンジン回転停止制御装置。
【請求項４】
前記頻度分布記憶手段は、前記停止位置情報の頻度分布を不揮発性メモリに記憶することを特徴とする請求項１乃至３のいずれかに記載のエンジン回転停止制御装置。
【請求項５】
前記頻度分布記憶手段は、前記停止位置情報の検出回数が所定回数以上になったときに前記停止位置情報の所定回数分の頻度分布を記憶し、
前記トルクずれ補正量算出手段は、前記停止位置情報の所定回数分の頻度分布に基づいて前記トルクずれ補正量を算出することを特徴とする請求項１乃至４のいずれかに記載のエンジン回転停止制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジン回転停止位置（停止クランク角）を制御する機能を備えたエンジン回転停止制御装置に関する発明である。
【背景技術】
【０００２】
近年、例えば、特許文献１（特開２００８−２１５２３０号公報）に記載されているように、エンジン自動停止・始動システム（アイドルストップシステム）を搭載した車両では、再始動性を向上させるために、エンジン停止時（アイドルストップ時）にエンジン回転停止位置（停止クランク角）を始動に適したクランク角範囲に制御することを目的として、エンジン回転が目標停止クランク角で停止するまでの回転挙動を目標軌道として算出し、エンジン回転を停止させる際に実エンジン回転挙動を目標軌道に合わせるように発電機（オルタネータ）の負荷トルクを制御するエンジン回転停止制御を行うようにしたものがある。具体的には、実エンジン回転挙動を目標軌道に合わせるように発電機の要求負荷トルクを算出し、発電機の負荷トルク特性（発電指令値とエンジン回転速度と負荷トルクとの関係）を用いて、現在のエンジン回転速度と要求負荷トルクに応じた発電指令値を算出し、この発電指令値で発電機の発電制御電流（フィールド電流）を制御して発電機の負荷トルクを制御するようにしている。
【０００３】
しかし、発電機は、温度変化、個体差（製造ばらつき）、経時変化等によってトルク特性（発電指令値と負荷トルクとの関係）が変化するため、予め設定された標準的なトルク特性を用いて要求負荷トルクに応じた発電指令値を算出して発電機を制御しても、トルク特性の変化の影響を受けて、発電機の実際の負荷トルクが要求負荷トルクからずれる“トルクずれ”が発生して、エンジン回転停止制御の精度が低下してしまう可能性がある。
【０００４】
発電機の温度変化によるトルク特性の変化を補償する技術としては、特許文献２（特開２００８−７５４９６号公報）に記載されているように、発電機（オルタネータ）の温度を検出するか又は発電機の発電電流値とフィールドコイルへの通電電流値との温度相関特性に基づいて発電機の温度を推定し、その検出又は推定した発電機の温度に基づいて発電機を制御するようにしたものがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２１５２３０号公報
【特許文献２】特開２００８−７５４９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上記特許文献２の技術では、発電機の温度を検出するためのセンサか又は発電機の発電電流を検出するためのセンサを新たに設ける必要があるため、システムコストが高くなり、近年の重要な技術的課題である低コスト化の要求を満たすことができないという欠点がある。また、発電機の個体差や経時変化等よるトルク特性の変化によって生じるトルクずれを補正することができないという欠点もある。
【０００７】
そこで、本発明が解決しようとする課題は、発電機のトルク特性の変化によって生じるトルクずれを補正することができ、エンジン回転停止制御の精度を向上させることができると共に、低コスト化の要求を満たすことができるエンジン回転停止制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１に係る発明は、エンジン回転が目標停止クランク角で停止するようにエンジン回転挙動の目標軌道を算出する目標軌道算出手段と、エンジン停止要求に応じてエンジン回転を停止させる際に実エンジン回転挙動を目標軌道に合わせるように発電機の負荷を制御するエンジン回転停止制御を実行する停止制御手段とを備えたエンジン回転停止制御装置において、エンジン回転停止制御が実行されたときの停止クランク角又はこれに関連性のある情報（以下これらを「停止位置情報」と総称する）を検出して該停止位置情報の頻度分布を記憶する頻度分布記憶手段と、停止位置情報の頻度分布に基づいて発電機のトルク特性の変化によるトルクずれを補正するための補正量（以下「トルクずれ補正量」という）を算出するトルクずれ補正量算出手段とを備え、停止制御手段は、エンジン回転停止制御を実行する際にトルクずれ補正量に基づいて発電機の制御量を補正するようにしたものである。
【０００９】
発電機の温度変化、個体差（製造ばらつき）、経時変化等によって発電機のトルク特性が変化すると、エンジン回転停止制御を実行したときに、発電機の負荷トルクにトルクずれが発生して、そのトルクずれ量に応じてエンジン回転挙動が変化して停止位置情報（停止クランク角又はこれに関連性のある情報）が変化するため、停止位置情報の頻度分布は、発電機のトルク特性の変化によるトルクずれ量を反映した情報となる。従って、停止位置情報の頻度分布を用いれば、発電機のトルク特性の変化によるトルクずれを補正するためのトルクずれ補正量を算出することができる。そして、エンジン回転停止制御を実行する際に、そのトルクずれ補正量を用いて発電機の制御量を補正すれば、発電機の温度変化、個体差、経時変化等によるトルク特性の変化によって生じるトルクずれを補正することができ、エンジン回転停止制御の精度を向上させることができる。しかも、発電機の温度を検出するためのセンサや発電機の発電電流を検出するためのセンサを新たに設ける必要がないため、近年の重要な技術的課題である低コスト化の要求を満たすことができる。
【００１０】
この場合、請求項２のように、エンジン回転停止制御の際にエンジン回転速度が発電機の発電限界回転速度以下の回転速度領域でクランク角が所定位置（例えばＴＤＣ）となるタイミングを基準タイミングとし、停止位置情報として基準タイミングのエンジン回転速度（基準タイミングを通過する際のエンジン回転速度）を用いるようにしても良い。
【００１１】
図８に示すように、発電機のトルク特性が変化すると、エンジン回転停止制御の際に、発電機の負荷トルクにトルクずれが発生して、そのトルクずれ量に応じてエンジン回転挙動が変化して停止クランク角が変化するが、エンジン回転速度が発電機の発電限界回転速度以下の回転速度領域（発電機の負荷トルクがほとんど発生しない領域）では、発電機の負荷トルクの影響をほとんど受けずにエンジン回転速度が低下してエンジン回転が停止するため、基準タイミングのエンジン回転速度と停止クランク角との間には相関関係があり、停止位置情報として基準タイミングのエンジン回転速度を用いることができる。
【００１２】
また、請求項３のように、停止位置情報の頻度分布の傾向を示す代表値（例えば、中央値、平均値、最頻値等）に基づいてトルクずれ補正量を算出するようにしても良い。停止位置情報の頻度分布の傾向を示す代表値（例えば、中央値、平均値、最頻値等）は、発電機のトルク特性の変化によるトルクずれ量を精度良く反映した情報となる。従って、停止位置情報の頻度分布の傾向を示す代表値を用いれば、発電機のトルク特性の変化によるトルクずれを補正するためのトルクずれ補正量を精度良く算出することができる。
【００１３】
更に、請求項４のように、停止位置情報の頻度分布を不揮発性メモリ（例えばバックアップＲＡＭ等のエンジン制御回路の電源オフ中でも記憶データを保持する書き換え可能なメモリ）に記憶するようにすると良い。このようにすれば、エンジン制御回路の電源オフ中でも停止位置情報の頻度分布の記憶データを保持することができる。
【００１４】
また、請求項５のように、停止位置情報の検出回数が所定回数以上になったときに停止位置情報の所定回数分の頻度分布を記憶し、その停止位置情報の所定回数分の頻度分布に基づいてトルクずれ補正量を算出するようにしても良い。このようにすれば、トルクずれ補正量の算出精度を確保することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は本発明の実施例１におけるエンジン制御システムの概略構成を示す図である。
【図２】図２は目標軌道の算出方法を説明する図である。
【図３】図３はオルタネータ負荷特性を説明する図である。
【図４】図４はエンジン回転停止制御時の見掛上のオルタネータ負荷特性を説明する図である。
【図５】図５（ａ）は基準負荷トルクＴ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 で、燃料カット要求フラグを「１」にセットして、燃料噴射を停止する燃料カットを実行することで、エンジン１１の燃焼を停止させると共に、オルタＦ／Ｂ停止制御許可フラグを「１」にセットして、実エンジン回転挙動を目標軌道に合わせるようにオルタネータ３３の負荷トルクをフィードバック制御するオルタＦ／Ｂ停止制御を実行する。但し、エンジン停止要求が発生した直後でエンジン１１がまだ燃焼中の期間は、オルタネータ３３の要求負荷トルクＴalt を初期値（例えば基準負荷トルクＴref(Ne) ）に設定する。
【００４１】
更に、オルタネータ３３のトルク特性の変化によるトルクずれを補正するためのトルクずれ補正量αを、次のようにして算出する。まず、図１０（ａ）に示す本実施例のシステムにおける基準タイミングのエンジン回転速度の所定回数分の検出データの頻度分布をバックアップＲＡＭ３７等の不揮発性メモリから読み出して、この頻度分布の傾向を示す代表値として、頻度分布の中央値（基準タイミングのエンジン回転速度の所定回数分の検出データの中央値）を算出する。
【００４２】
この後、所定の基準値に対する頻度分布の中央値のずれ量を次式により算出する。
頻度分布の中央値のずれ量＝基準値−中央値
ここで、基準値は、図１０（ｂ）に示す標準的なシステム（オルタネータのトルクずれ量が０のシステム）における基準タイミングのエンジン回転速度の頻度分布の中央値（基準回転速度に相当する値）である。
【００４３】
この後、図１１に示すトルクずれ補正量αのマップを参照して、頻度分布の中央値のずれ量に応じたトルクずれ補正量αを算出する。この図１１のトルクずれ補正量αのマップは、オルタネータ３３のトルク特性の変化によって生じるトルクずれ量に応じて、エンジン回転挙動が変化して基準タイミングのエンジン回転速度の頻度分布の中央値のずれ量が変化するのに対応して、トルクずれ補正量αが変化するように設定されている。図１１のトルクずれ補正量αのマップは、予め試験データや設計データ等に基づいて作成され、エンジンＥＣＵ３０のＲＯＭ（図示せず）に記憶されている。
【００４４】
このようにして、トルクずれ補正量αを算出した後、図９に示すように、オルタネータ３３の基準負荷トルクＴref(Ne) にトルクずれ補正量αを加算することで基準負荷トルクＴref(Ne) を補正する。
Ｔref(Ne) ＝Ｔref(Ne) ＋α
【００４５】
この補正後の基準負荷トルクＴref(Ne) を用いて、オルタネータ３３の要求負荷トルクＴalt を算出することで、トルクずれ補正量αに応じて要求負荷トルクＴalt を補正して発電指令値を補正する。
【００４６】
以上説明した本実施例１のエンジン回転停止制御は、エンジンＥＣＵ３０によって図１２乃至図１５の各ルーチンに従って実行される。以下、これら各ルーチンの処理内容を説明する。
【００４７】
［目標軌道算出ルーチン］
図１２に示す目標軌道算出ルーチンは、エンジンＥＣＵ３０の電源オン中に所定周期（所定クランク角周期）で繰り返し実行される。本ルーチンが起動されると、まず、ステップ１０１で、目標軌道算出完了フラグが目標軌道の算出前を意味する「０」にセットされているか否かを判定し、この目標軌道算出完了フラグが目標軌道算出完了を意味する「１」にセットされていれば、以降の処理を行うことなく、本ルーチンを終了する。
【００４８】
一方、このステップ１０１で、目標軌道算出完了フラグ＝０（目標軌道の算出前）と判定されれば、ステップ１０２に進み、ロストルクＴ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)
【００６４】
その後、上記ステップ３０５で、エンジン１１の燃焼が停止したと判定された場合には、ステップ３０７に進み、オルタネータ３３の基準負荷トルクＴref(Ne) にトルクずれ補正量αを加算することで基準負荷トルクＴref(Ne) を補正する。
Ｔref(Ne) ＝Ｔ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 ）に基づいてオルタネータ３３の発電制御電流（フィールド電流）を制御してオルタネータ３３の負荷トルクを制御することで、実エンジン回転挙動を目標軌道に合わせるようにオルタネータ３３の負荷トルクをフィードバック制御するオルタＦ／Ｂ停止制御を行う。
【００６９】
［頻度分布記憶ルーチン］
図１５に示す頻度分布記憶ルーチンは、エンジンＥＣＵ３０の電源オン中に所定周期（所定クランク角周期）で繰り返し実行され、特許請求の範囲でいう頻度分布記憶手段としての役割を果たす。本ルーチンが起動されると、まず、ステップ４０１で、オルタＦ／Ｂ停止制御の実行中であるか否かを判定し、オルタＦ／Ｂ停止制御の実行中でなければ、以降の処理を行うことなく、本ルーチンを終了する。
【００７０】
一方、上記ステップ４０１で、オルタＦ／Ｂ停止制御の実行中であると判定された場合には、ステップ４０２に進み、現在のクランク角が基準タイミングであるか否かを判定し、基準タイミングでなければ、以降の処理を行うことなく、本ルーチンを終了する。
【００７１】
その後、上記ステップ４０２で、現在のクランク角が基準タイミングであると判定された時点で、ステップ４０３に進み、基準タイミングのエンジン回転速度（基準タイミングを通過する際のエンジン回転速度）を検出する。
【００７２】
この後、ステップ４０４に進み、基準タイミングのエンジン回転速度の検出回数が所定回数以上であるか否かを判定し、基準タイミングのエンジン回転速度の検出回数が所定回数よりも小さいと判定されれば、以降の処理を行うことなく、本ルーチンを終了する。
【００７３】
その後、上記ステップ４０４で、基準タイミングのエンジン回転速度の検出回数が所定回数以上であると判定された場合には、ステップ４０５に進み、基準タイミングのエンジン回転速度の検出データのうちの最新の所定回数分の検出データの頻度分布を、エンジンＥＣＵ３０のバックアップＲＡＭ３７等の書き換え可能な不揮発性メモリに記憶して、本ルーチンを終了する。
【００７４】
以上説明した本実施例１では、エンジン回転停止制御（オルタＦ／Ｂ停止制御）が実行される毎に基準タイミングのエンジン回転速度を検出して、これらの基準タイミングのエンジン回転速度の頻度分布を記憶し、この基準タイミングのエンジン回転速度の頻度分布の中央値のずれ量に基づいてオルタネータ３３のトルクずれ補正量αを算出するようにしたので、トルクずれ補正量αを精度良く算出することができる。
【００７５】
そして、エンジン回転停止制御を実行する際に、トルクずれ補正量αを用いてオルタネータ３３の基準負荷トルクＴref(Ne) を補正し、補正後の基準負荷トルクＴref(Ne) を用いてオルタネータ３３の要求負荷トルクＴalt を算出することで、トルクずれ補正量αに応じて要求負荷トルクＴalt を補正するようにしたので、オルタネータ３３の温度変化、個体差、経時変化等によるトルク特性の変化によって生じるトルクずれを補正することができ、エンジン回転停止制御の精度を向上させることができる。しかも、オルタネータ３３の温度を検出するためのセンサやオルタネータ３３の発電電流を検出するためのセンサを新たに設ける必要がないため、近年の重要な技術的課題である低コスト化の要求を満たすことができる。
【００７６】
また、本実施例１では、基準タイミングのエンジン回転速度の検出回数が所定回数以上になったときに、基準タイミングのエンジン回転速度の検出データのうちの最新の所定回数分の検出データの頻度分布を記憶し、その基準タイミングのエンジン回転速度の所定回数分の検出データの頻度分布に基づいてトルクずれ補正量αを算出するようにしたので、トルクずれ補正量αの算出精度を確保することができる。
【実施例２】
【００７７】
次に、図１６及び図１７を用いて本発明の実施例２を説明する。但し、前記実施例１と実質的に同一部分については説明を省略又は簡略化し、主として前記実施例１と異なる部分について説明する。
【００７８】
前記実施例１では、頻度分布の中央値のずれ量に応じたトルクずれ補正量αを算出し、このトルクずれ補正量αを用いてオルタネータ３３の基準負荷トルクＴref(Ne) を補正するようにしたが、本実施例２では、図１６に示すように、頻度分布の中央値のずれ量に応じたトルクずれ補正係数β（トルクずれ補正量）を算出し、このトルクずれ補正係数βを用いてオルタネータ３３の要求負荷トルクＴalt を補正するようにしている。
【００７９】
具体的には、図１７に示すトルクずれ補正係数βのマップを参照して、頻度分布の中央値のずれ量に応じたトルクずれ補正係数βを算出する。この図１７のトルクずれ補正係数βのマップは、オルタネータ３３のトルク特性の変化によって生じるトルクずれ量に応じて、エンジン回転挙動が変化して基準タイミングのエンジン回転速度の頻度分布の中央値のずれ量が変化するのに対応して、トルクずれ補正係数βが変化するように設定されている。図１７のトルクずれ補正係数βのマップは、予め試験データや設計データ等に基づいて作成され、エンジンＥＣＵ３０のＲＯＭ（図示せず）に記憶されている。
【００８０】
トルクずれ補正係数βを算出した後、図１６に示すように、オルタネータ３３の要求負荷トルクＴalt にトルクずれ補正係数βを乗算することで要求負荷トルクＴalt を補正して発電指令値を補正する。
以上説明した本実施例２においても、前記実施例１とほぼ同様の効果を得ることができる。
【００８１】
尚、上記各実施例１，２では、基準タイミングのエンジン回転速度の頻度分布の傾向を示す代表値として、頻度分布の中央値を用いるようにしたが、これに限定されず、頻度分布の傾向を示す代表値として、例えば、頻度分布の平均値（基準タイミングのエンジン回転速度の所定回数分の検出データの平均値）や、頻度分布の最頻値（基準タイミングのエンジン回転速度の所定回数分の検出データの最頻値）を用いるようにしても良い。
【００８２】
また、上記各実施例１，２では、エンジン回転停止制御が実行されたときの停止位置情報として、基準タイミングのエンジン回転速度を用いるようにしたが、これに限定されず、停止位置情報として、例えば、停止クランク角、基準タイミングのエンジン回転速度と基準回転速度との差、基準タイミング以外の所定タイミングのエンジン回転速度、停止クランク角と目標停止クランク角との差を用いるようにしても良い。
【００８３】
また、上記各実施例１，２では、停止位置情報の頻度分布の傾向を示す代表値（例えば中央値等）に基づいてトルクずれ補正量を算出するようにしたが、これに限定されず、例えば、停止位置情報の頻度分布の全データに基づいてトルクずれ補正量を算出するようにしても良い等、停止位置情報の頻度分布に基づいてトルクずれ補正量を算出する方法を適宜変更しても良い。
【００８４】
また、本発明は、図１に示すような吸気ポート噴射式エンジンに限定されず、筒内噴射式エンジンや、吸気ポート噴射用の燃料噴射弁と筒内噴射用の燃料噴射弁の両方を備えたデュアル噴射式のエンジンにも適用して実施できる。
【００８５】
更に、本発明の適用範囲は、車両の動力源としてエンジンのみを備えた一般的な車両に限定されず、車両の動力源としてエンジンとモータを備えたハイブリッド車に本発明を適用しても良い。
【符号の説明】
【００８６】
１１…エンジン（内燃機関）、１３…吸気管、１４…スロットルバルブ、１８…吸気管圧力センサ、１９…燃料噴射弁、２１…排気管、３０…エンジンＥＣＵ（目標軌道算出手段，停止制御手段，頻度分布記憶手段，トルクずれ補正量算出手段）、３３…オルタネータ（発電機）、３７…バックアップＲＡＭ
【図１】
0005374471.tif 000002
【図２】
0005374471.tif 000003
【図３】
0005374471.tif 000004
【図４】
0005374471.tif 000005
【図５】
0005374471.tif 000006
【図６】
0005374471.tif 000007
【図７】
0005374471.tif 000008
【図８】
0005374471.tif 000009
【図９】
0005374471.tif 000010
【図１０】
0005374471.tif 000011
【図１１】
0005374471.tif 000012
【図１２】
0005374471.tif 000013
【図１３】
0005374471.tif 000014
【図１４】
0005374471.tif 000015
【図１５】
0005374471.tif 000016
【図１６】
0005374471.tif 000017
【図１７】
0005374471.tif 000018