エンジン回転停止制御装置
【課題】エンジン回転停止制御が実行されたときの実エンジン回転挙動に基づいて目標軌道情報(目標軌道の算出に用いる基準回転速度とロストルクのずれ量)を学習するシステムにおいて、目標軌道情報の誤学習を防止できるようにする。
【解決手段】前回の目標軌道情報(基準回転速度又はロストルクのずれ量)の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離した場合に、その状態が所定回数連続していないときには、何らかの外部負荷等によって目標軌道情報の学習値(算出データ)が一時的に変化した可能性があると判断して、目標軌道情報の学習値の記憶データを前回値に保持(ホールド)する。一方、その状態が所定回数連続したときには、エンジン11のフリクション等が変化して目標軌道情報の学習値(算出データ)が定常的に変化したと判断して、目標軌道情報の学習値の記憶データを更新する。
【解決手段】前回の目標軌道情報(基準回転速度又はロストルクのずれ量)の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離した場合に、その状態が所定回数連続していないときには、何らかの外部負荷等によって目標軌道情報の学習値(算出データ)が一時的に変化した可能性があると判断して、目標軌道情報の学習値の記憶データを前回値に保持(ホールド)する。一方、その状態が所定回数連続したときには、エンジン11のフリクション等が変化して目標軌道情報の学習値(算出データ)が定常的に変化したと判断して、目標軌道情報の学習値の記憶データを更新する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、エンジン回転停止位置(停止クランク角)を制御する機能を備えたエンジン回転停止制御装置に関する発明である。
【背景技術】
【0002】
近年、例えば、特許文献1(特開2008−215230号公報)に記載されているように、エンジン自動停止・始動システム(アイドルストップシステム)を搭載した車両では、再始動性を向上させるために、エンジン停止時(アイドルストップ時)にエンジン回転停止位置(停止クランク角)を始動に適したクランク角範囲に制御することを目的として、エンジン回転が目標停止クランク角で停止するまでの回転挙動を目標軌道として算出し、エンジン回転を停止させる際に実エンジン回転挙動を目標軌道に合わせるように発電機(オルタネータ)の負荷トルクを制御するエンジン回転停止制御を行うようにしたものがある。具体的には、実エンジン回転挙動を目標軌道に合わせるように発電機の要求負荷トルクを算出し、発電機の負荷トルク特性(発電指令値とエンジン回転速度と負荷トルクとの関係)を用いて、現在のエンジン回転速度と要求負荷トルクに応じた発電指令値を算出し、この発電指令値で発電機の発電制御電流(フィールド電流)を制御して発電機の負荷トルクを制御するようにしている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−215230号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、エンジン回転停止制御の際に、エンジン回転速度が発電機の発電限界回転速度以下に低下すると、発電機の負荷トルクがほとんど発生しなくなる(図3参照)。このような回転速度領域では、発電機の負荷トルクの影響をほとんど受けずにエンジン回転速度が低下してエンジン回転が停止するため、所定の基準タイミング(例えばTDC)を通過する際のエンジン回転速度に応じた停止クランク角でエンジン回転が停止する。
【0005】
このような特性に着目して、本出願人は、基準タイミングのエンジン回転速度(基準タイミングを通過する際のエンジン回転速度)と停止クランク角との関係を用いて、停止クランク角が目標停止クランク角となる基準タイミングのエンジン回転速度を基準回転速度として求め、エンジンのロストルク(ポンピングロスやフリクションロスを合計したトルク)を考慮したエネルギ保存則の関係式を用いて、基準回転速度を初期値としてクランク角を溯る方向に目標軌道を設定するシステムを研究しているが、その研究過程で次のような新たな課題が判明した。
【0006】
エンジンのオイル交換や経時変化等によってエンジンのフリクション等が変化すると、目標軌道の算出に用いる基準回転速度やロストルクも変化する。そこで、目標軌道の算出精度を確保するために、エンジン回転停止制御によってエンジン回転速度が発電機の発電限界回転速度以下に低下したときの実エンジン回転挙動に基づいて基準回転速度の学習値とロストルクのずれ量の学習値を算出して記憶することで、基準回転速度とロストルクのずれ量を学習するシステムを研究している。しかし、何らかの外部負荷等によってエンジン回転停止制御を実行したときの実エンジン回転挙動が一時的に変化した場合には、その影響を受けて、実エンジン回転挙動に基づいて算出される基準回転速度の学習値やロストルクのずれ量の学習値が一時的に変化するため、基準回転速度やロストルクのずれ量を誤学習してしまう可能性があり、基準回転速度やロストルクのずれ量の学習精度が低下する可能性がある。
【0007】
そこで、本発明が解決しようとする課題は、目標軌道情報(目標軌道の算出に用いる情報)の誤学習を防止することができ、目標軌道情報の学習精度を向上させることができるエンジン回転停止制御装置を提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、請求項1に係る発明は、エンジン回転が目標停止クランク角で停止するようにエンジン回転挙動の目標軌道を算出する目標軌道算出手段と、エンジン停止要求に応じてエンジン回転を停止させる際に実エンジン回転挙動を目標軌道に合わせるように発電機の負荷を制御するエンジン回転停止制御を実行する停止制御手段とを備えたエンジン回転停止制御装置において、エンジン回転停止制御が実行されたときの実エンジン回転挙動に基づいて目標軌道の算出に用いる情報(以下「目標軌道情報」という)の学習値を算出し、その目標軌道情報の学習値の算出データに基づいて目標軌道情報の学習値の記憶データを更新することで目標軌道情報を学習する学習手段を備え、この学習手段は、目標軌道情報の学習値の記憶データに対して今回算出した目標軌道情報の学習値の算出データが所定値以上乖離した場合に、それ以後の複数回の目標軌道情報の学習値の算出データに基づいて更新許可条件が成立したか否かを判定し、該更新許可条件が成立したと判定したときに、目標軌道情報の学習値の記憶データを更新するようにしたものである。
【0009】
目標軌道情報の学習値の記憶データに対して今回算出した目標軌道情報の学習値の算出データが比較的大きく変化した場合には、エンジンのオイル交換等によってエンジンのフリクション等が変化して目標軌道情報の学習値(算出データ)が定常的に変化した可能性もあるが、何らかの外部負荷等によって目標軌道情報の学習値(算出データ)が一時的に変化した可能性もある。
【0010】
そこで、本発明は、目標軌道情報の学習値の記憶データに対して今回算出した目標軌道情報の学習値の算出データが所定値以上乖離した場合に、それ以後の複数回の目標軌道情報の学習値の算出データを監視することで、エンジンのフリクション等が変化して目標軌道情報の学習値(算出データ)が定常的に変化したのか、或は、何らかの外部負荷等によって目標軌道情報の学習値(算出データ)が一時的に変化したのかを判断して、更新許可条件が成立したか否かを判定することができる。
【0011】
そして、何らかの外部負荷等によって目標軌道情報の学習値(算出データ)が一時的に変化した可能性があると判断して、更新許可条件が成立していないと判定したときには、目標軌道情報の学習値の記憶データを更新せずに前回値に保持することができる。一方、エンジンのフリクション等が変化して目標軌道情報の学習値(算出データ)が定常的に変化したと判断して、更新許可条件が成立したと判定したときには、目標軌道情報の学習値の記憶データを更新することができる。これにより、目標軌道情報の誤学習を防止することができ、目標軌道情報の学習精度を向上させることができる。
【0012】
具体的には、請求項2のように、目標軌道情報の学習値の記憶データに対して今回算出した目標軌道情報の学習値の算出データが所定値以上乖離した場合に、その状態が所定回数連続したときに更新許可条件が成立したと判定するようにしても良い。このようにすれば、目標軌道情報の学習値の記憶データに対して今回算出した目標軌道情報の学習値の算出データが所定値以上乖離した状態が所定回数連続したときに、エンジンのフリクション等が変化して目標軌道情報の学習値(算出データ)が定常的に変化したと判断して、更新許可条件が成立したと判定することができる。
【0013】
また、請求項3のように、更新許可条件が成立したときに目標軌道情報を学習する際のゲイン(以下「学習ゲイン」という)を更新許可条件の成立前の値よりも大きくするようにしても良い。このようにすれば、目標軌道情報の学習値(記憶データ)を速やかに目標軌道情報の真値に近付けることができる。
【0014】
更に、請求項4のように、学習ゲインを更新許可条件の成立前の値よりも大きくした後に目標軌道情報の学習値が収束状態になったときに、学習ゲインを更新許可条件の成立前の値に戻すようにしても良い。このようにすれば、目標軌道情報の学習値が収束状態(ほぼ一定)になったときに、目標軌道情報の学習値が目標軌道情報の真値付近に収束したと判断して、学習ゲインを更新許可条件の成立前の値(通常値)に戻すことができる。
【0015】
また、請求項5のように、エンジン回転の停止クランク角が目標停止クランク角となる基準タイミングのエンジン回転速度(以下「基準回転速度」という)と、エンジンのロストルクとに基づいて目標軌道を算出するシステムの場合には、目標軌道情報として基準回転速度とロストルクのずれ量を学習するようにすると良い。このようにすれば、基準回転速度とロストルクに基づいて目標軌道を算出するシステムにおいて、基準回転速度とロストルクのずれ量の学習精度を向上させて、目標軌道の算出精度を向上させることができる。
【図面の簡単な説明】
【0016】
【図1】図1は本発明の一実施例におけるエンジン制御システムの概略構成を示す図である。
【図2】図2は目標軌道の算出方法を説明する図である。
【図3】図3はオルタネータ負荷特性を説明する図である。
【図4】図4はエンジン回転停止制御時の見掛上のオルタネータ負荷特性を説明する図である。
【図5】図5(a)は基準負荷トルクTref(Ne(i))=0に設定してエンジン回転停止制御を行った比較例を説明するタイムチャートであり、図5(b)は基準負荷トルクTref(Ne(i))を最大負荷の半分に設定してエンジン回転停止制御を行った実施例を説明するタイムチャートである。
【図6】図6はエンジンECUのエンジン回転停止制御機能を説明するブロック図である。
【図7】図7は負荷トルク特性のマップの一例を概略的に示す図である。
【図8】図8は制御全体の概要を説明するための図である。
【図9】図9はロストルクの学習方法を説明するための図である。
【図10】図10は基準回転速度の学習方法を説明するための図である。
【図11】図11はエネルギずれ量Δeのマップの一例を概念的に示す図である。
【図12】図12は学習値(記憶データ)の更新方法を説明するタイムチャートである。
【図13】図13は更新許可条件が成立したときの学習値(記憶データ)の挙動を示すタイムチャートである。
【図14】図14は目標軌道算出ルーチンの処理の流れを説明するフローチャートである。
【図15】図15はオルタF/B停止制御ルーチンの処理の流れを説明するフローチャートである。
【図16】図16は学習制御ルーチンの処理の流れを説明するフローチャートである。
【図17】図17はロストルク学習ルーチンの処理の流れを説明するフローチャートである。
【図18】図18は基準回転速度学習ルーチンの処理の流れを説明するフローチャートである。
【図19】図19は学習値更新判定ルーチンの処理の流れを説明するフローチャートである。
【発明を実施するための形態】
【0017】
以下、本発明を実施するための形態を具体化した一実施例を説明する。
まず、図1に基づいてエンジン制御システム全体の構成を概略的に説明する。
エンジン11の吸気ポート12に接続された吸気管13の途中には、スロットルバルブ14が設けられ、このスロットルバルブ14の開度(スロットル開度)がスロットル開度センサ15によって検出される。また、スロットルバルブ14の下流側には、吸気管圧力を検出する吸気管圧力センサ18が設けられ、各気筒の吸気ポート12の近傍には、それぞれ吸気ポート12に向けて燃料を噴射する燃料噴射弁19が取り付けられている。
【0018】
一方、エンジン11の排気ポート20に接続された排気管21の途中には、排気ガス浄化用の触媒22が設置されている。エンジン11のシリンダブロックには、冷却水温を検出する冷却水温センサ23が設けられている。エンジン11のクランク軸24に取り付けられたシグナルロータ25の外周に対向してクランク角センサ26が設置され、このクランク角センサ26からシグナルロータ25の回転に同期して所定クランク角毎(例えば30℃A毎)にクランクパルス信号が出力される。また、エンジン11のカム軸27に取り付けられたシグナルロータ28の外周に対向してカム角センサ29が設置され、このカム角センサ29からシグナルロータ28の回転に同期して所定のカム角でカムパルス信号が出力される。
【0019】
また、オルタネータ33(発電機)には、クランク軸24に連結されたクランクプーリ34の回転がベルト35を介して伝達される。これにより、エンジン11の動力でオルタネータ33が回転駆動されて発電するようになっている。このオルタネータ33の発電制御電流(フィールド電流)をデューティ制御することで、オルタネータ33の負荷を制御することができる。
【0020】
上述した各種センサの出力は、エンジン制御回路(以下「エンジンECU」と表記する)30に入力される。このエンジンECU30は、マイクロコンピュータを主体として構成され、各種センサで検出したエンジン運転状態に応じて、燃料噴射弁19の燃料噴射量や燃料噴射時期、点火プラグ31の点火時期を制御すると共に、エンジン運転中に所定の自動停止条件(例えばアクセル全閉、ブレーキ操作中、アイドル運転中等の条件)が成立してエンジン停止要求が発生したときに、燃焼(燃料噴射及び/又は点火)を停止させてエンジン回転を停止させるアイドルストップを実行し、このアイドルストップによるエンジン回転停止中(アイドルストップ中)に運転者が車両発進のための準備操作(ブレーキ解除、シフトレバーのドライブレンジへの操作等)や発進操作(アクセル踏み込み等)が行われたとき、或は車載機器の制御システムからの始動要求が発生したときに、所定の自動始動条件が成立してスタータ(図示せず)に通電してエンジン11をクランキングして再始動させる。
【0021】
更に、エンジンECU30は、後述する図14及び図15の各ルーチンを実行することで、エンジン回転が目標停止クランク角で停止するようにエンジン回転挙動の目標軌道を算出する目標軌道算出手段として機能すると共に、エンジン停止要求に応じてエンジン回転を停止させる際に実エンジン回転挙動を目標軌道に合わせるように制御するエンジン回転停止制御を実行する停止制御手段として機能する。本実施例では、エンジン回転停止制御として、実エンジン回転挙動を目標軌道に合わせるようにオルタネータ33の負荷をフィードバック制御するオルタF/B停止制御を実行する。更に、エンジン11の燃焼停止前(燃焼中)に実エンジン回転挙動を目標軌道に合わせるように点火時期をフィードバック制御する点火F/B停止制御を実行するようにしても良い。
【0022】
エンジン回転停止制御(オルタF/B停止制御)の際に、エンジン回転速度がオルタネータ33の発電限界回転速度以下に低下すると、オルタネータ33の負荷トルクがほとんど発生しなくなる(図3参照)。このような回転速度領域では、オルタネータ33の負荷トルクの影響をほとんど受けずにエンジン回転速度が低下してエンジン回転が停止するため、所定の基準タイミングを通過する際のエンジン回転速度に応じた停止クランク角でエンジン回転が停止する。ここで、基準タイミングは、エンジン回転速度がオルタネータ33の発電限界回転速度以下の回転速度領域でクランク角が所定位置(例えばTDC)となるタイミングである。
【0023】
このような特性に着目して、本実施例では、基準タイミングのエンジン回転速度(基準タイミングを通過する際のエンジン回転速度)と停止クランク角との関係を用いて、停止クランク角が目標停止クランク角となる基準タイミングのエンジン回転速度を基準回転速度として求め、目標軌道は、この基準回転速度に至るまでのクランク角と目標エンジン回転速度との関係を所定クランク角間隔で算出してテーブル(図示せず)に割り付けたものである。この目標軌道は、例えば、ロストルクを考慮したエネルギ保存則の関係式を用いて、基準回転速度を初期値としてクランク角を溯る方向に所定クランク角Δθ毎(例えばTDC毎)に算出される(図2参照)。
【0024】
エネルギ保存則の関係式は次式で表される。
Ne(i+1)2 =Ne(i)2 +2/J×{Tloss−Tref(Ne(i))}×Δθ
ここで、Ne(i+1)は、現時点(i) よりも所定クランク角Δθ前の時点(i+1) のエンジン回転速度であり、Ne(i)は現時点(i) のエンジン回転速度である。また、Jはエンジン11の慣性モーメントである。Tlossはポンピングロスとフリクションロスを合計したロストルクであり、Tref(Ne(i))は現時点(i) のエンジン回転速度Ne(i)におけるオルタネータ33の基準負荷トルクである。
【0025】
上記エネルギ保存則の関係式において、「Tloss−Tref(Ne(i))」は、ポンピングロスとフリクションロスとオルタネータ33の基準負荷トルクTref(Ne(i))を合計したロストルクに相当する。
【0026】
本実施例では、オルタネータ33の基準負荷トルクTref(Ne(i))は、図3に示すようにオルタネータ33の制御可能な最大負荷の半分(1/2)に設定されている。このようにすれば、オルタネータ33は、モータジェネレータとは異なり、アシストトルクを出力できないという事情があっても、仮想的にオルタネータ33の負荷トルクを正負両方向に制御することが可能となり(基準負荷Tref 以下の負荷トルクを仮想的に負の負荷トルクとし、基準負荷Tref 以上の負荷トルクを正の負荷トルクとしてオルタネータ33の負荷トルクを制御することが可能となり)、目標軌道へのエンジン回転挙動の追従性を向上することができる。
【0027】
尚、オルタネータ33の基準負荷トルクTref(Ne(i))は、最大負荷の半分(1/2)に限定されず、例えば、最大負荷の1/3、1/4、2/3、3/4等であっても良く、要は、オルタネータ33の制御可能な最大負荷よりも小さく、0よりも大きい適宜の負荷を基準負荷トルクTref(Ne(i))に設定すれば良い。
0<Tref(Ne(i))<最大負荷
【0028】
図5(a)は、基準負荷トルクTref(Ne(i))=0に設定してエンジン回転停止制御(オルタF/B停止制御)を行った比較例を示している。この比較例では、オルタネータ33の負荷トルクを正方向にしか制御できないため、実エンジン回転挙動がオーバーシュートした場合は、実エンジン回転挙動を目標軌道に一致させることができなくなる。
【0029】
これに対して、本実施例のように、オルタネータ33の基準負荷トルクTref(Ne(i))を最大負荷よりも小さい適宜の負荷に設定すれば、図4に示すように、仮想的にオルタネータ33の負荷トルクを正負両方向に制御することが可能となるため、図5(b)に示すように、実回転挙動がオーバーシュートした場合でも、実回転挙動を目標軌道に一致させることができる。
【0030】
更に、本実施例では、図6に示すように、目標軌道を算出する際に、オルタネータ33の基準負荷トルクTref(Ne(i))に応じた目標軌道を算出し、エンジン回転停止制御の実行中は、エンジン回転速度Ne(i)に応じた基準負荷トルクTref(Ne(i))を算出すると共に、現時点(i) のクランク角θ(i) における目標エンジン回転速度と実エンジン回転速度との偏差を小さくするようにフィードバック負荷トルクを算出して、このフィードバック負荷トルクに基準負荷トルクTref(Ne(i))を加算して要求負荷トルクTalt を求める(実際には、この要求負荷トルクTalt にプーリ比Ratioを乗算して要求軸トルクTalt.final に変換する)。
【0031】
この後、図7に示すオルタネータ33の負荷トルク特性を用いて、オルタネータ33の要求負荷トルクTalt (要求軸トルクTalt.final )とエンジン回転速度Ne (又はエンジン回転速度Ne にプーリ比Ratioを乗算して求めたオルタネータ33の回転速度Nalt )に応じた発電指令値(デューティDuty )を算出する。この際、要求負荷トルクTalt とエンジン回転速度Ne (又はオルタネータ33の回転速度Nalt )から発電指令値(デューティDuty )を直接算出するようにしても良いが、要求負荷トルクTalt とエンジン回転速度Ne (又はオルタネータ33の回転速度Nalt )から要求フィールド電流(要求励磁電流)を算出し、この要求フィールド電流から発電指令値(デューティDuty )を算出するようにしても良い。
【0032】
尚、図7に示す負荷トルク特性は、オルタネータ33の出力電圧が所定値(例えば13.5V)で一定の場合の特性であり、出力電圧毎に同様の特性が設定されている。この発電指令値(デューティDuty )に基づいてオルタネータ33の発電制御電流(フィールド電流)を制御してオルタネータ33の負荷トルクを制御する。
【0033】
このようなオルタネータ33の負荷トルクの制御を、エンジン回転速度がオルタネータ33の発電限界回転速度Nelow(図3参照)以下に低下するまで所定クランク角間隔で周期的に実行することで、実エンジン回転挙動を目標軌道に合わせるようにオルタネータ33の負荷トルクをフィードバック制御するエンジン回転停止制御(オルタF/B停止制御)を行う。
【0034】
エンジン回転停止制御の際に、エンジンECU30は、所定クランク角周期で発電指令値を演算し、この発電指令値をCAN(Controller Area Network )通信等により所定時間周期で電源系ECU36(図1参照)に送信する。更に、電源系ECU36は、受信した発電指令値をLIN(Local Interconnect Network)通信等により所定時間周期でオルタネータ33に送信する。
【0035】
ところで、エンジン11のオイル交換や経時変化等によってエンジン11のフリクション等が変化すると、目標軌道の算出に用いる基準回転速度やロストルクも変化する。そこで、本実施例では、目標軌道の算出精度を確保するために、図8に示すように、実エンジン回転挙動を目標軌道に合わせるようにオルタネータ33の負荷トルクをフィードバック制御するエンジン回転停止制御を実行し、このエンジン回転停止制御によってエンジン回転速度がオルタネータ33の発電限界回転速度以下に低下したときの実エンジン回転挙動に基づいて基準回転速度の学習値とロストルクのずれ量の学習値を算出して記憶することで、基準回転速度とロストルクのずれ量を学習し、その基準回転速度の学習値と、ロストルクのずれ量の学習値から求めたロストルクの学習値を用いて目標軌道を算出する。
以下、ロストルクと基準回転速度の学習方法について説明する。
【0036】
[ロストルクの学習方法]
図9に示すように、エンジン回転停止制御によってエンジン回転速度がオルタネータ33の発電限界回転速度以下に低下したときに、基準タイミング(例えば最初のTDC)の実エンジン回転速度Ne1を検出した後、所定の検出タイミング(例えば基準タイミングの次のTDC)の実エンジン回転速度Ne2を検出する。基準タイミングの実エンジン回転速度Ne1と、検出タイミングの実エンジン回転速度Ne2と、ロストルクTlossとの関係は、エネルギ保存則を用いて、下記(1)式のように表すことができる。
【0037】
【数1】
【0038】
上記(1)式によりロストルクTlossを算出する。
また、エンジンECU30のバックアップRAM37等の書き換え可能な不揮発性メモリ(エンジンECU30の電源オフ中でも記憶データを保持する書き換え可能なメモリ)に記憶されているロストルクの学習値Tlossの記憶データを、前回のロストルクの学習値Tloss(i-1) として読み込む。
【0039】
この後、今回算出したロストルクTlossと、前回のロストルクの学習値Tloss(i-1) を用いて、次式により今回のロストルクのずれ量の学習値ΔTloss(i) を算出する。
ΔTloss(i) =Tloss−Tloss(i-1)
【0040】
この後、通常は、バックアップRAM37等の不揮発性メモリに記憶されているロストルクのずれ量の学習値ΔTlossの記憶データを、今回算出したロストルクのずれ量の学習値ΔTloss(i) の算出データで更新する。
【0041】
この後、ロストルクの学習値Tloss(i) を算出する場合には、前回のロストルクの学習値Tloss(i-1) と、学習ゲインGain と、バックアップRAM37等の不揮発性メモリに記憶されているロストルクのずれ量の学習値ΔTlossを用いて、次式により今回のロストルクの学習値Tloss(i) を算出する。
Tloss(i) =Tloss(i-1) +Gain ×ΔTloss
【0042】
この後、バックアップRAM37等の不揮発性メモリに記憶されているロストルクの学習値Tlossの記憶データを、今回算出したロストルクの学習値Tloss(i) の算出データで更新する。
【0043】
[基準回転速度の学習方法]
図10に示すように、エンジン回転停止制御によってエンジン回転速度がオルタネータ33の発電限界回転速度以下に低下したときに、基準タイミング(例えば最初のTDC)の実エンジン回転速度Ne1を検出した後、エンジン回転が停止した停止クランク角Xを検出し、停止クランク角Xと目標停止クランク角Xtgt とを用いて、次式により停止位置ずれ量ΔXを算出する。
ΔX=X−Xtgt
【0044】
この後、図11に示すエネルギずれ量Δeのマップを参照して、停止位置ずれ量ΔXに応じたエネルギずれ量Δeを算出する。ここで、エネルギずれ量Δeは、基準点(基準タイミングで基準回転速度となる点)に対するエネルギずれ量であり、エネルギずれ量Δeのマップは、予め試験データや設計データ等に基づいて作成され、エンジンECU30のROMに記憶されている。
【0045】
また、バックアップRAM37等の不揮発性メモリに記憶されている基準回転速度の学習値Netgtの記憶データを、前回の基準回転速度の学習値Netgt(i-1) として読み込む。
この後、前回の基準回転速度の学習値Netgt(i-1) と、エネルギずれ量Δeと、ロストルク学習分の補正係数αを用いて、エンジン回転が停止クランク角Xで停止する基準タイミングの推定エンジン回転速度Neestを下記(2)式により算出する。
【0046】
【数2】
【0047】
この後、前回の基準回転速度の学習値Netgt(i-1) と、学習ゲインGain と、基準タイミングの実エンジン回転速度Ne1及び推定エンジン回転速度Neestを用いて、次式により今回の基準回転速度の学習値Netgt(i) を算出する。
Netgt(i) =Netgt(i-1) +Gain ×(Ne1−Neest)
【0048】
この後、通常は、バックアップRAM37等の不揮発性メモリに記憶されている基準回転速度の学習値Netgtの記憶データを、今回算出した基準回転速度の学習値Netgt(i) の算出データで更新する。
【0049】
しかし、何らかの外部負荷等によってエンジン回転停止制御を実行したときの実エンジン回転挙動が一時的に変化した場合には、その影響を受けて、実エンジン回転挙動に基づいて算出される基準回転速度の学習値(算出データ)やロストルクのずれ量の学習値(算出データ)が一時的に変化するため、基準回転速度やロストルクのずれ量(以下これらを「目標軌道情報」と総称する)を誤学習してしまう可能性があり、目標軌道情報の学習精度が低下する可能性がある。
【0050】
この対策として、本実施例では、目標軌道情報(基準回転速度又はロストルクのずれ量)の学習値の記憶データに対して今回算出した目標軌道情報の学習値の算出データが所定値以上乖離した場合に、それ以後の複数回の目標軌道情報の学習値の算出データを監視することで、エンジン11のフリクション等が変化して目標軌道情報の学習値(算出データ)が定常的に変化したのか、或は、何らかの外部負荷等によって目標軌道情報の学習値(算出データ)が一時的に変化したのかを判断して、更新許可条件が成立したか否かを判定する。
【0051】
具体的には、図12に示すように、前回の目標軌道情報(基準回転速度又はロストルクのずれ量)の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離した場合(図12のA及びB参照)に、その状態が所定回数(例えば4回)連続したか否かによって更新許可条件が成立したか否かを判定する。
【0052】
そして、前回の目標軌道情報の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離した状態が所定回数連続していないときには、何らかの外部負荷等によって目標軌道情報の学習値(算出データ)が一時的に変化した可能性があると判断して、更新許可条件が成立していないと判定し、目標軌道情報の学習値の記憶データを更新せずに前回値に保持(ホールド)する。
【0053】
一方、前回の目標軌道情報の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離した状態が所定回数連続したときには、その時点t1 で、エンジン11のフリクション等が変化して目標軌道情報の学習値(算出データ)が定常的に変化したと判断して、更新許可条件が成立したと判定し、目標軌道情報の学習値の記憶データを更新する。
【0054】
その際、図13に示すように、更新許可条件が成立したと判定した時点t1 で、学習ゲインを通常値(更新許可条件の成立前の値)よりも大きくする。これにより、目標軌道情報の学習値(記憶データ)の更新速度を速くして(1回当りの更新量を大きくして)、目標軌道情報の学習値(記憶データ)を速やかに目標軌道情報の真値に近付ける。更に、学習ゲインを通常値よりも大きくした後に目標軌道情報の学習値(記憶データ)が収束状態(ほぼ一定)になったか否かを判定し、目標軌道情報の学習値(記憶データ)が収束状態になったと判定した時点t2 で、目標軌道情報の学習値(記憶データ)が目標軌道情報の真値付近に収束したと判断して、学習ゲインを通常値に戻す。
【0055】
以上説明した本実施例のエンジン回転停止制御及びそれに関連する制御は、エンジンECU30によって図14乃至図19の各ルーチンに従って実行される。以下、これら各ルーチンの処理内容を説明する。
【0056】
[目標軌道算出ルーチン]
図14に示す目標軌道算出ルーチンは、エンジンECU30の電源オン中に所定周期(所定クランク角周期)で繰り返し実行される。本ルーチンが起動されると、まず、ステップ101で、目標軌道算出完了フラグが目標軌道の算出前を意味する「0」にセットされているか否かを判定し、この目標軌道算出完了フラグが目標軌道算出完了を意味する「1」にセットされていれば、以降の処理を行うことなく、本ルーチンを終了する。
【0057】
一方、このステップ101で、目標軌道算出完了フラグ=0(目標軌道の算出前)と判定されれば、ステップ102に進み、ロストルクTlossと、オルタネータ33の基準負荷トルクTref(Ne(i))を用いて、次式で表されるエネルギ保存則の関係式を用いて次の時点(i+1) の目標エンジン回転速度Ne(i+1)の二乗を算出する。
【0058】
Ne(i+1)2 =Ne(i)2 +2/J×{Tloss−Tref(Ne(i))}×Δθ
ここで、Jはエンジン11の慣性モーメント、Tlossはポンピングロスとフリクションロスを合計したロストルクである。上記エネルギ保存則の関係式において、「Tloss−Tref(Ne(i))」は、ポンピングロスとフリクションロスとオルタネータ33の基準負荷トルクTref(Ne(i))を合計したロストルクに相当する。
【0059】
初期値は、i=0、θ(0) =基準タイミングのクランク角、Ne(0)=基準回転速度である。この基準回転速度Ne(0)は、停止クランク角が目標停止クランク角となる基準タイミングのエンジン回転速度である。目標軌道は、基準回転速度Ne(0)を初期値としてクランク角を溯る方向に所定クランク角Δθ毎(例えばTDC毎)に算出する。
【0060】
この後、ステップ103に進み、目標エンジン回転速度Ne(i+1)の二乗がエンジン回転停止制御を実行可能な最大エンジン回転速度Nemaxの二乗を越えたか否かを判定し、まだ最大エンジン回転速度Nemaxの二乗を越えていなければ、ステップ104に進み、目標軌道算出完了フラグを「0」に維持する(セットし直す)。
【0061】
この後、ステップ106に進み、目標エンジン回転速度Ne(i+1)の二乗の平方根を算出して目標エンジン回転速度Ne(i+1)を求め、これを目標軌道のテーブル(図示せず)に割り付けて、本ルーチンを終了する。尚、エンジンECU30の演算負荷を低減するため、エンジン回転速度の二乗をそのままテーブルに割り付けても良い。目標軌道のテーブルは、エンジンECU30のメモリに記憶される。
【0062】
以上のような処理を繰り返して、基準回転速度Ne(0)を初期値としてクランク角を溯る方向に所定クランク角毎(例えばTDC毎)に目標エンジン回転速度Ne(i+1)の二乗を算出して目標軌道のテーブルに目標エンジン回転速度Ne(i+1)を割り付ける処理を繰り返す。そして、上記ステップ103で、目標エンジン回転速度Ne(i+1)の二乗がエンジン回転停止制御を実行可能な最大エンジン回転速度Nemaxの二乗を越えたと判定された時点で、ステップ105に進み、目標軌道算出完了フラグを目標軌道算出完了を意味する「1」にセットして、ステップ106に進み、最後の目標エンジン回転速度Ne(i+1)の二乗の平方根を算出して目標エンジン回転速度Ne(i+1)を求め、これを目標軌道のテーブルに割り付けて、本ルーチンを終了する。
【0063】
[オルタF/B停止制御ルーチン]
図15に示すオルタF/B停止制御ルーチンは、エンジンECU30の電源オン中に所定周期(所定クランク角周期)で繰り返し実行される。本ルーチンが起動されると、まず、ステップ201で、エンジン停止要求(アイドルストップ要求)が発生したか否かを判定し、エンジン停止要求が発生していなければ、以降の処理を行うことなく、本ルーチンを終了する。
【0064】
その後、上記ステップ201で、エンジン停止要求が発生したと判定された時点で、ステップ202に進み、現在のクランク角θとエンジン回転速度Ne を算出する。この後、ステップ203に進み、現在のクランク角θがオルタネータ33の負荷トルクの制御タイミング(例えばTDC)であるか否かを判定し、オルタネータ33の負荷トルクの制御タイミングでなければ、以降の処理を行うことなく、本ルーチンを終了する。
【0065】
上記ステップ203で、現在のクランク角θがオルタネータ33の負荷トルクの制御タイミングであると判定されれば、ステップ204に進み、現在のエンジン回転速度Ne がエンジン回転停止制御を実行可能な最大エンジン回転速度Nemaxよりも低いか否かを判定し、現在のエンジン回転速度Ne が最大エンジン回転速度Nemax以上であれば、以降の処理を行うことなく、本ルーチンを終了する。
【0066】
その後、上記ステップ204で、現在のエンジン回転速度Ne が最大エンジン回転速度Nemaxよりも低いと判定されれば、ステップ205に進み、エンジン11が燃焼中であるか否かを判定する。このステップ205で、エンジン停止要求が発生した直後でエンジン11がまだ燃焼中であると判定されれば、ステップ206に進み、エンジン回転停止制御を開始する際のオルタネータ33の要求負荷トルクTalt を初期値(例えば基準負荷トルクTref(Ne) )に設定する。
Talt =Tref(Ne)
【0067】
その後、上記ステップ205で、エンジン11の燃焼が停止したと判定された場合には、ステップ207に進み、目標軌道のテーブルを参照して、今回の制御タイミングに対応した目標エンジン回転速度Netg を求める。
【0068】
この後、ステップ208に進み、現在の実エンジン回転速度Ne と目標エンジン回転速度Netg とのエネルギ差分ΔEを次式により算出する。
ΔE=J/2×(Ne 2 −Netg 2 )
ここで、Jはエンジン11の慣性モーメントである。
【0069】
この後、ステップ209に進み、エネルギ差分ΔEとオルタネータ33の基準負荷トルクTref(Ne) を用いて、次式により要求負荷トルクTalt を算出する。
Talt =K×ΔE/Δθ+Tref(Ne)
【0070】
ここで、「K×ΔE/Δθ」はフィードバック負荷トルクであり、Kはフィードバックゲイン、Δθはクランク角変化量である。
この後、ステップ210に進み、要求負荷トルクTalt にプーリ比Ratioを乗算して、オルタネータ33の要求軸トルクTalt.final に変換する。
【0071】
この後、ステップ211に進み、バッテリ電圧を検出した後、ステップ212に進み、バッテリ電圧毎に作成された複数の負荷トルク特性マップ(図7参照)の中から、現在のバッテリ電圧に対応する負荷トルク特性マップを選択して、現在の要求負荷トルクTalt (要求軸トルクTalt.final )とエンジン回転速度Ne (又はオルタネータ33の回転速度Nalt )に応じた発電指令値(デューティDuty )を算出する。
【0072】
この発電指令値(デューティDuty )に基づいてオルタネータ33の発電制御電流(フィールド電流)を制御してオルタネータ33の負荷トルクを制御することで、実エンジン回転挙動を目標軌道に合わせるようにオルタネータ33の負荷トルクをフィードバック制御するオルタF/B停止制御を行う。
【0073】
[学習制御ルーチン]
図16に示す学習制御ルーチンは、エンジンECU30の電源オン中に所定周期(所定クランク角周期)で繰り返し実行され、特許請求の範囲でいう学習手段としての役割を果たす。本ルーチンが起動されると、まず、ステップ301で、エンジン停止要求(アイドルストップ要求)が発生したか否かを判定し、エンジン停止要求が発生していなければ、以降の処理を行うことなく、本ルーチンを終了する。
【0074】
その後、上記ステップ301で、エンジン停止要求が発生したと判定された時点で、ステップ302に進み、学習実行条件が成立しているか否かを、例えば、エンジン11が暖機状態(冷却水温が所定値以上)であるか否か等によって判定し、学習実行条件が成立していなければ、以降の処理を行うことなく、本ルーチンを終了する。
【0075】
一方、上記ステップ302で、学習実行条件が成立していると判定された場合には、ステップ303に進み、後述する図17のロストルク学習ルーチンを実行することで、エンジン回転停止制御によってエンジン回転速度がオルタネータ33の発電限界回転速度以下に低下したときの実エンジン回転挙動に基づいてロストルクのずれ量を学習する。更に、次のステップ304で、後述する図18の基準回転速度学習ルーチンを実行することで、エンジン回転停止制御によってエンジン回転速度がオルタネータ33の発電限界回転速度以下に低下したときの実エンジン回転挙動に基づいて基準回転速度を学習する。
【0076】
[ロストルク学習ルーチン]
図17に示すロストルク学習ルーチンは、前記図16の学習制御ルーチンのステップ303で実行されるサブルーチンである。本ルーチンが起動されると、まず、ステップ401で、エンジン回転停止制御によってエンジン回転速度がオルタネータ33の発電限界回転速度以下に低下したときに、現在のクランク角が基準タイミング(例えば最初のTDC)であるか否かを判定し、基準タイミングであると判定された時点で、ステップ402に進み、基準タイミングの実エンジン回転速度Ne1を検出する。
【0077】
この後、ステップ403に進み、現在のクランク角が検出タイミング(例えば基準タイミングの次のTDC)であるか否かを判定し、検出タイミングであると判定された時点で、ステップ404に進み、検出タイミングの実エンジン回転速度Ne2を検出する。
【0078】
この後、ステップ405に進み、基準タイミングの実エンジン回転速度Ne1と、検出タイミングの実エンジン回転速度Ne2を用いて、前記(1)式によりロストルクTlossを算出した後、ステップ406に進み、エンジンECU30のバックアップRAM37等の不揮発性メモリに記憶されているロストルクの学習値Tlossの記憶データを、前回のロストルクの学習値Tloss(i-1) として読み込む。
【0079】
この後、ステップ407に進み、今回算出したロストルクTlossと、前回のロストルクの学習値Tloss(i-1) を用いて、次式により今回のロストルクのずれ量の学習値ΔTloss(i) を算出する。
ΔTloss(i) =Tloss−Tloss(i-1)
【0080】
この後、ステップ408に進み、後述する図19の学習値更新判定ルーチンを実行することで、バックアップRAM37等の不揮発性メモリに記憶されているロストルクのずれ量の学習値ΔTlossの記憶データを、今回算出したロストルクのずれ量の学習値ΔTloss(i) の算出データで更新するか又は前回値に保持(ホールド)する。
【0081】
この後、ロストルクの学習値Tloss(i) を算出する場合には、前回のロストルクの学習値Tloss(i-1) と、学習ゲインGain と、バックアップRAM37等の不揮発性メモリに記憶されているロストルクのずれ量の学習値ΔTlossを用いて、次式により今回のロストルクの学習値Tloss(i) を算出する。
Tloss(i) =Tloss(i-1) +Gain ×ΔTloss
【0082】
この後、バックアップRAM37等の不揮発性メモリに記憶されているロストルクの学習値Tlossの記憶データを、今回算出したロストルクの学習値Tloss(i) の算出データで更新する。
【0083】
[基準回転速度学習ルーチン]
図18に示す基準回転速度学習ルーチンは、前記図16の学習制御ルーチンのステップ304で実行されるサブルーチンである。本ルーチンが起動されると、まず、ステップ501で、エンジン回転停止制御によってエンジン回転速度がオルタネータ33の発電限界回転速度以下に低下したときに、現在のクランク角が基準タイミング(例えば最初のTDC)であるか否かを判定し、基準タイミングであると判定された時点で、ステップ502に進み、基準タイミングの実エンジン回転速度Ne1を検出する。
【0084】
この後、ステップ503に進み、エンジン回転が停止したか否かを判定し、エンジン回転が停止したと判定された時点で、ステップ504に進み、エンジン回転が停止した停止クランク角Xを検出する。
【0085】
この後、ステップ505に進み、停止クランク角Xと目標停止クランク角Xtgt とを用いて、次式により停止位置ずれ量ΔXを算出する。
ΔX=X−Xtgt
【0086】
この後、ステップ506に進み、図11に示すエネルギずれ量Δeのマップを参照して、停止位置ずれ量ΔXに応じたエネルギずれ量Δeを算出した後、ステップ507に進み、エンジンECU30のバックアップRAM37等の不揮発性メモリに記憶されている基準回転速度の学習値Netgtの記憶データを、前回の基準回転速度の学習値Netgt(i-1) として読み込む。
【0087】
この後、ステップ508に進み、前回の基準回転速度の学習値Netgt(i-1) と、エネルギずれ量Δeと、ロストルク学習分の補正係数αを用いて、エンジン回転が停止クランク角Xで停止する基準タイミングの推定エンジン回転速度Neestを前記(2)式により算出する。
【0088】
この後、ステップ509に進み、前回の基準回転速度の学習値Netgt(i-1) と、学習ゲインGain と、基準タイミングの実エンジン回転速度Ne1及び推定エンジン回転速度Neestを用いて、次式により今回の基準回転速度の学習値Netgt(i) を算出する。
Netgt(i) =Netgt(i-1) +Gain ×(Ne1−Neest)
【0089】
この後、ステップ510に進み、後述する図19の学習値更新判定ルーチンを実行することで、バックアップRAM37等の不揮発性メモリに記憶されている基準回転速度の学習値Netgtの記憶データを、今回算出した基準回転速度の学習値Netgt(i) の算出データで更新するか又は前回値に保持(ホールド)する。
【0090】
[学習値更新判定ルーチン]
図19に示す学習値更新判定ルーチンは、前記図17のロストルク学習ルーチンのステップ408及び前記図18の基準回転速度学習ルーチンのステップ510で実行されるサブルーチンである。尚、実際には、図17のステップ408ではロストルクのずれ量の学習値更新判定ルーチンを実行し、前記図18のステップ510では基準回転速度の学習値更新判定ルーチンを実行するが、以下の説明では、基準回転速度とロストルクのずれ量を「目標軌道情報」と総称して説明する。
【0091】
本ルーチンが起動されると、まず、ステップ601で、ゲイン変更フラグが「1」にセットされているか否かを判定し、ゲイン変更フラグが「0」にセットされていると判定されれば、ステップ602に進み、今回の目標軌道情報(基準回転速度又はロストルクのずれ量)の学習値の算出データと前回の目標軌道情報の学習値の記憶データとの差分(差の絶対値)が所定値K1 以上であるか否かによって、前回の目標軌道情報の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離したか否かを判定する。
【0092】
このステップ602で、今回の目標軌道情報の学習値の算出データと前回の目標軌道情報の学習値の記憶データとの差分が所定値K1 よりも小さいと判定された場合には、ステップ603に進み、バックアップRAM37等の不揮発性メモリに記憶されている目標軌道情報の学習値の記憶データを、今回算出した目標軌道情報の学習値の算出データで更新する。
【0093】
一方、上記ステップ602で、今回の目標軌道情報の学習値の算出データと前回の目標軌道情報の学習値の記憶データとの差分が所定値K1 以上である(前回の目標軌道情報の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離した)と判定された場合には、ステップ604に進み、今回の目標軌道情報の学習値の算出データと前回の目標軌道情報の学習値の記憶データとの差分が所定値K1 以上の状態(前回の目標軌道情報の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離した状態)が所定回数(例えば4回)連続したか否かによって更新許可条件が成立したか否かを判定する。
【0094】
このステップ604で、今回の目標軌道情報の学習値の算出データと前回の目標軌道情報の学習値の記憶データとの差分が所定値K1 以上の状態が所定回数連続していないと判定された場合には、何らかの外部負荷等によって目標軌道情報の学習値(算出データ)が一時的に変化した可能性があると判断して、更新許可条件が成立していないと判定し、ステップ605に進み、バックアップRAM37等の不揮発性メモリに記憶されている目標軌道情報の学習値の記憶データを更新せずに前回値に保持(ホールド)する。
【0095】
一方、上記ステップ604で、今回の目標軌道情報の学習値の算出データと前回の目標軌道情報の学習値の記憶データとの差分が所定値K1 以上の状態が所定回数連続したと判定された場合には、エンジン11のフリクション等が変化して目標軌道情報の学習値(算出データ)が定常的に変化したと判断して、更新許可条件が成立したと判定する。
【0096】
この場合、まず、ステップ606に進み、学習ゲインを通常値(更新許可条件の成立前の値)よりも大きくして、ゲイン変更フラグを「1」にセットした後、ステップ607に進み、バックアップRAM37等の不揮発性メモリに記憶されている目標軌道情報の学習値の記憶データを、今回算出した目標軌道情報の学習値の算出データで更新する。これにより、目標軌道情報の学習値(記憶データ)の更新速度を速くして(1回当りの更新量を大きくして)、目標軌道情報の学習値(記憶データ)を速やかに目標軌道情報の真値に近付ける。
【0097】
この後、ステップ608に進み、今回の目標軌道情報の学習値の算出データと前回の目標軌道情報の学習値の記憶データとの差分(差の絶対値)が所定値K2 以下であるか否かによって、目標軌道情報の学習値(記憶データ)が収束状態(ほぼ一定)になったか否かを判定する。
【0098】
このステップ608で、目標軌道情報の学習値(記憶データ)が収束状態になっていないと判定された場合には、学習ゲインを通常値よりも大きくしたまま、本ルーチンを終了する。この場合、ステップ601で、ゲイン変更フラグが「1」にセットされていると判定されて、ステップ607に進み、目標軌道情報の学習値の記憶データを今回算出した目標軌道情報の学習値の算出データで更新した後、目標軌道情報の学習値(記憶データ)が収束状態になったか否かを判定する処理を繰り返す(ステップ607、608)。
【0099】
その後、ステップ608で、目標軌道情報の学習値(記憶データ)が収束状態になったと判定されたときに、目標軌道情報の学習値(記憶データ)が目標軌道情報の真値付近に収束したと判断して、ステップ609に進み、学習ゲインを通常値に戻して、ゲイン変更フラグを「0」にリセットする。
【0100】
以上説明した本実施例では、前回の目標軌道情報(基準回転速度又はロストルクのずれ量)の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離した場合に、その状態が所定回数連続していないときには、何らかの外部負荷等によって目標軌道情報の学習値(算出データ)が一時的に変化した可能性があると判断して、更新許可条件が成立していないと判定し、目標軌道情報の学習値の記憶データを更新せずに前回値に保持(ホールド)する。一方、前回の目標軌道情報の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離した状態が所定回数連続したときには、エンジン11のフリクション等が変化して目標軌道情報の学習値(算出データ)が定常的に変化したと判断して、更新許可条件が成立したと判定し、目標軌道情報の学習値の記憶データを更新する。これにより、目標軌道情報の誤学習を防止することができ、目標軌道情報の学習精度を向上させて、目標軌道の算出精度を向上させることができる。
【0101】
尚、上記実施例では、前回の目標軌道情報の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離した状態が所定回数連続したときに更新許可条件が成立したと判定するようにしたが、これに限定されず、例えば、前回の目標軌道情報の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離した回数が所定期間内に所定値を越えたときに更新許可条件が成立したと判定するようにしても良く、要は、前回の目標軌道情報の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離した場合に、それ以後の複数回の目標軌道情報の学習値の算出データに基づいて更新許可条件が成立したか否かを判定するようにすれば良い。
【0102】
また、上記実施例では、目標軌道情報(目標軌道の算出に用いる情報)として基準回転速度とロストルクのずれ量の両方を学習するシステムに本発明を適用したが、これに限定されず、例えば、目標軌道情報として基準回転速度とロストルクのずれ量のうちの一方のみを学習するシステムに本発明を適用したり、或は、目標軌道情報として基準回転速度やロストルクのずれ量以外の他の情報(例えばポンピングロスやフリクションロス等)を学習するシステムに本発明を適用しても良い。
【0103】
また、本発明は、図1に示すような吸気ポート噴射式エンジンに限定されず、筒内噴射式エンジンや、吸気ポート噴射用の燃料噴射弁と筒内噴射用の燃料噴射弁の両方を備えたデュアル噴射式のエンジンにも適用して実施できる。
【0104】
更に、本発明の適用範囲は、車両の動力源としてエンジンのみを備えた一般的な車両に限定されず、車両の動力源としてエンジンとモータを備えたハイブリッド車に本発明を適用しても良い。
【符号の説明】
【0105】
11…エンジン(内燃機関)、13…吸気管、14…スロットルバルブ、18…吸気管圧力センサ、19…燃料噴射弁、21…排気管、30…エンジンECU(目標軌道算出手段,停止制御手段,学習手段)、33…オルタネータ(発電機)、37…バックアップRAM
【技術分野】
【0001】
本発明は、エンジン回転停止位置(停止クランク角)を制御する機能を備えたエンジン回転停止制御装置に関する発明である。
【背景技術】
【0002】
近年、例えば、特許文献1(特開2008−215230号公報)に記載されているように、エンジン自動停止・始動システム(アイドルストップシステム)を搭載した車両では、再始動性を向上させるために、エンジン停止時(アイドルストップ時)にエンジン回転停止位置(停止クランク角)を始動に適したクランク角範囲に制御することを目的として、エンジン回転が目標停止クランク角で停止するまでの回転挙動を目標軌道として算出し、エンジン回転を停止させる際に実エンジン回転挙動を目標軌道に合わせるように発電機(オルタネータ)の負荷トルクを制御するエンジン回転停止制御を行うようにしたものがある。具体的には、実エンジン回転挙動を目標軌道に合わせるように発電機の要求負荷トルクを算出し、発電機の負荷トルク特性(発電指令値とエンジン回転速度と負荷トルクとの関係)を用いて、現在のエンジン回転速度と要求負荷トルクに応じた発電指令値を算出し、この発電指令値で発電機の発電制御電流(フィールド電流)を制御して発電機の負荷トルクを制御するようにしている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−215230号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、エンジン回転停止制御の際に、エンジン回転速度が発電機の発電限界回転速度以下に低下すると、発電機の負荷トルクがほとんど発生しなくなる(図3参照)。このような回転速度領域では、発電機の負荷トルクの影響をほとんど受けずにエンジン回転速度が低下してエンジン回転が停止するため、所定の基準タイミング(例えばTDC)を通過する際のエンジン回転速度に応じた停止クランク角でエンジン回転が停止する。
【0005】
このような特性に着目して、本出願人は、基準タイミングのエンジン回転速度(基準タイミングを通過する際のエンジン回転速度)と停止クランク角との関係を用いて、停止クランク角が目標停止クランク角となる基準タイミングのエンジン回転速度を基準回転速度として求め、エンジンのロストルク(ポンピングロスやフリクションロスを合計したトルク)を考慮したエネルギ保存則の関係式を用いて、基準回転速度を初期値としてクランク角を溯る方向に目標軌道を設定するシステムを研究しているが、その研究過程で次のような新たな課題が判明した。
【0006】
エンジンのオイル交換や経時変化等によってエンジンのフリクション等が変化すると、目標軌道の算出に用いる基準回転速度やロストルクも変化する。そこで、目標軌道の算出精度を確保するために、エンジン回転停止制御によってエンジン回転速度が発電機の発電限界回転速度以下に低下したときの実エンジン回転挙動に基づいて基準回転速度の学習値とロストルクのずれ量の学習値を算出して記憶することで、基準回転速度とロストルクのずれ量を学習するシステムを研究している。しかし、何らかの外部負荷等によってエンジン回転停止制御を実行したときの実エンジン回転挙動が一時的に変化した場合には、その影響を受けて、実エンジン回転挙動に基づいて算出される基準回転速度の学習値やロストルクのずれ量の学習値が一時的に変化するため、基準回転速度やロストルクのずれ量を誤学習してしまう可能性があり、基準回転速度やロストルクのずれ量の学習精度が低下する可能性がある。
【0007】
そこで、本発明が解決しようとする課題は、目標軌道情報(目標軌道の算出に用いる情報)の誤学習を防止することができ、目標軌道情報の学習精度を向上させることができるエンジン回転停止制御装置を提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、請求項1に係る発明は、エンジン回転が目標停止クランク角で停止するようにエンジン回転挙動の目標軌道を算出する目標軌道算出手段と、エンジン停止要求に応じてエンジン回転を停止させる際に実エンジン回転挙動を目標軌道に合わせるように発電機の負荷を制御するエンジン回転停止制御を実行する停止制御手段とを備えたエンジン回転停止制御装置において、エンジン回転停止制御が実行されたときの実エンジン回転挙動に基づいて目標軌道の算出に用いる情報(以下「目標軌道情報」という)の学習値を算出し、その目標軌道情報の学習値の算出データに基づいて目標軌道情報の学習値の記憶データを更新することで目標軌道情報を学習する学習手段を備え、この学習手段は、目標軌道情報の学習値の記憶データに対して今回算出した目標軌道情報の学習値の算出データが所定値以上乖離した場合に、それ以後の複数回の目標軌道情報の学習値の算出データに基づいて更新許可条件が成立したか否かを判定し、該更新許可条件が成立したと判定したときに、目標軌道情報の学習値の記憶データを更新するようにしたものである。
【0009】
目標軌道情報の学習値の記憶データに対して今回算出した目標軌道情報の学習値の算出データが比較的大きく変化した場合には、エンジンのオイル交換等によってエンジンのフリクション等が変化して目標軌道情報の学習値(算出データ)が定常的に変化した可能性もあるが、何らかの外部負荷等によって目標軌道情報の学習値(算出データ)が一時的に変化した可能性もある。
【0010】
そこで、本発明は、目標軌道情報の学習値の記憶データに対して今回算出した目標軌道情報の学習値の算出データが所定値以上乖離した場合に、それ以後の複数回の目標軌道情報の学習値の算出データを監視することで、エンジンのフリクション等が変化して目標軌道情報の学習値(算出データ)が定常的に変化したのか、或は、何らかの外部負荷等によって目標軌道情報の学習値(算出データ)が一時的に変化したのかを判断して、更新許可条件が成立したか否かを判定することができる。
【0011】
そして、何らかの外部負荷等によって目標軌道情報の学習値(算出データ)が一時的に変化した可能性があると判断して、更新許可条件が成立していないと判定したときには、目標軌道情報の学習値の記憶データを更新せずに前回値に保持することができる。一方、エンジンのフリクション等が変化して目標軌道情報の学習値(算出データ)が定常的に変化したと判断して、更新許可条件が成立したと判定したときには、目標軌道情報の学習値の記憶データを更新することができる。これにより、目標軌道情報の誤学習を防止することができ、目標軌道情報の学習精度を向上させることができる。
【0012】
具体的には、請求項2のように、目標軌道情報の学習値の記憶データに対して今回算出した目標軌道情報の学習値の算出データが所定値以上乖離した場合に、その状態が所定回数連続したときに更新許可条件が成立したと判定するようにしても良い。このようにすれば、目標軌道情報の学習値の記憶データに対して今回算出した目標軌道情報の学習値の算出データが所定値以上乖離した状態が所定回数連続したときに、エンジンのフリクション等が変化して目標軌道情報の学習値(算出データ)が定常的に変化したと判断して、更新許可条件が成立したと判定することができる。
【0013】
また、請求項3のように、更新許可条件が成立したときに目標軌道情報を学習する際のゲイン(以下「学習ゲイン」という)を更新許可条件の成立前の値よりも大きくするようにしても良い。このようにすれば、目標軌道情報の学習値(記憶データ)を速やかに目標軌道情報の真値に近付けることができる。
【0014】
更に、請求項4のように、学習ゲインを更新許可条件の成立前の値よりも大きくした後に目標軌道情報の学習値が収束状態になったときに、学習ゲインを更新許可条件の成立前の値に戻すようにしても良い。このようにすれば、目標軌道情報の学習値が収束状態(ほぼ一定)になったときに、目標軌道情報の学習値が目標軌道情報の真値付近に収束したと判断して、学習ゲインを更新許可条件の成立前の値(通常値)に戻すことができる。
【0015】
また、請求項5のように、エンジン回転の停止クランク角が目標停止クランク角となる基準タイミングのエンジン回転速度(以下「基準回転速度」という)と、エンジンのロストルクとに基づいて目標軌道を算出するシステムの場合には、目標軌道情報として基準回転速度とロストルクのずれ量を学習するようにすると良い。このようにすれば、基準回転速度とロストルクに基づいて目標軌道を算出するシステムにおいて、基準回転速度とロストルクのずれ量の学習精度を向上させて、目標軌道の算出精度を向上させることができる。
【図面の簡単な説明】
【0016】
【図1】図1は本発明の一実施例におけるエンジン制御システムの概略構成を示す図である。
【図2】図2は目標軌道の算出方法を説明する図である。
【図3】図3はオルタネータ負荷特性を説明する図である。
【図4】図4はエンジン回転停止制御時の見掛上のオルタネータ負荷特性を説明する図である。
【図5】図5(a)は基準負荷トルクTref(Ne(i))=0に設定してエンジン回転停止制御を行った比較例を説明するタイムチャートであり、図5(b)は基準負荷トルクTref(Ne(i))を最大負荷の半分に設定してエンジン回転停止制御を行った実施例を説明するタイムチャートである。
【図6】図6はエンジンECUのエンジン回転停止制御機能を説明するブロック図である。
【図7】図7は負荷トルク特性のマップの一例を概略的に示す図である。
【図8】図8は制御全体の概要を説明するための図である。
【図9】図9はロストルクの学習方法を説明するための図である。
【図10】図10は基準回転速度の学習方法を説明するための図である。
【図11】図11はエネルギずれ量Δeのマップの一例を概念的に示す図である。
【図12】図12は学習値(記憶データ)の更新方法を説明するタイムチャートである。
【図13】図13は更新許可条件が成立したときの学習値(記憶データ)の挙動を示すタイムチャートである。
【図14】図14は目標軌道算出ルーチンの処理の流れを説明するフローチャートである。
【図15】図15はオルタF/B停止制御ルーチンの処理の流れを説明するフローチャートである。
【図16】図16は学習制御ルーチンの処理の流れを説明するフローチャートである。
【図17】図17はロストルク学習ルーチンの処理の流れを説明するフローチャートである。
【図18】図18は基準回転速度学習ルーチンの処理の流れを説明するフローチャートである。
【図19】図19は学習値更新判定ルーチンの処理の流れを説明するフローチャートである。
【発明を実施するための形態】
【0017】
以下、本発明を実施するための形態を具体化した一実施例を説明する。
まず、図1に基づいてエンジン制御システム全体の構成を概略的に説明する。
エンジン11の吸気ポート12に接続された吸気管13の途中には、スロットルバルブ14が設けられ、このスロットルバルブ14の開度(スロットル開度)がスロットル開度センサ15によって検出される。また、スロットルバルブ14の下流側には、吸気管圧力を検出する吸気管圧力センサ18が設けられ、各気筒の吸気ポート12の近傍には、それぞれ吸気ポート12に向けて燃料を噴射する燃料噴射弁19が取り付けられている。
【0018】
一方、エンジン11の排気ポート20に接続された排気管21の途中には、排気ガス浄化用の触媒22が設置されている。エンジン11のシリンダブロックには、冷却水温を検出する冷却水温センサ23が設けられている。エンジン11のクランク軸24に取り付けられたシグナルロータ25の外周に対向してクランク角センサ26が設置され、このクランク角センサ26からシグナルロータ25の回転に同期して所定クランク角毎(例えば30℃A毎)にクランクパルス信号が出力される。また、エンジン11のカム軸27に取り付けられたシグナルロータ28の外周に対向してカム角センサ29が設置され、このカム角センサ29からシグナルロータ28の回転に同期して所定のカム角でカムパルス信号が出力される。
【0019】
また、オルタネータ33(発電機)には、クランク軸24に連結されたクランクプーリ34の回転がベルト35を介して伝達される。これにより、エンジン11の動力でオルタネータ33が回転駆動されて発電するようになっている。このオルタネータ33の発電制御電流(フィールド電流)をデューティ制御することで、オルタネータ33の負荷を制御することができる。
【0020】
上述した各種センサの出力は、エンジン制御回路(以下「エンジンECU」と表記する)30に入力される。このエンジンECU30は、マイクロコンピュータを主体として構成され、各種センサで検出したエンジン運転状態に応じて、燃料噴射弁19の燃料噴射量や燃料噴射時期、点火プラグ31の点火時期を制御すると共に、エンジン運転中に所定の自動停止条件(例えばアクセル全閉、ブレーキ操作中、アイドル運転中等の条件)が成立してエンジン停止要求が発生したときに、燃焼(燃料噴射及び/又は点火)を停止させてエンジン回転を停止させるアイドルストップを実行し、このアイドルストップによるエンジン回転停止中(アイドルストップ中)に運転者が車両発進のための準備操作(ブレーキ解除、シフトレバーのドライブレンジへの操作等)や発進操作(アクセル踏み込み等)が行われたとき、或は車載機器の制御システムからの始動要求が発生したときに、所定の自動始動条件が成立してスタータ(図示せず)に通電してエンジン11をクランキングして再始動させる。
【0021】
更に、エンジンECU30は、後述する図14及び図15の各ルーチンを実行することで、エンジン回転が目標停止クランク角で停止するようにエンジン回転挙動の目標軌道を算出する目標軌道算出手段として機能すると共に、エンジン停止要求に応じてエンジン回転を停止させる際に実エンジン回転挙動を目標軌道に合わせるように制御するエンジン回転停止制御を実行する停止制御手段として機能する。本実施例では、エンジン回転停止制御として、実エンジン回転挙動を目標軌道に合わせるようにオルタネータ33の負荷をフィードバック制御するオルタF/B停止制御を実行する。更に、エンジン11の燃焼停止前(燃焼中)に実エンジン回転挙動を目標軌道に合わせるように点火時期をフィードバック制御する点火F/B停止制御を実行するようにしても良い。
【0022】
エンジン回転停止制御(オルタF/B停止制御)の際に、エンジン回転速度がオルタネータ33の発電限界回転速度以下に低下すると、オルタネータ33の負荷トルクがほとんど発生しなくなる(図3参照)。このような回転速度領域では、オルタネータ33の負荷トルクの影響をほとんど受けずにエンジン回転速度が低下してエンジン回転が停止するため、所定の基準タイミングを通過する際のエンジン回転速度に応じた停止クランク角でエンジン回転が停止する。ここで、基準タイミングは、エンジン回転速度がオルタネータ33の発電限界回転速度以下の回転速度領域でクランク角が所定位置(例えばTDC)となるタイミングである。
【0023】
このような特性に着目して、本実施例では、基準タイミングのエンジン回転速度(基準タイミングを通過する際のエンジン回転速度)と停止クランク角との関係を用いて、停止クランク角が目標停止クランク角となる基準タイミングのエンジン回転速度を基準回転速度として求め、目標軌道は、この基準回転速度に至るまでのクランク角と目標エンジン回転速度との関係を所定クランク角間隔で算出してテーブル(図示せず)に割り付けたものである。この目標軌道は、例えば、ロストルクを考慮したエネルギ保存則の関係式を用いて、基準回転速度を初期値としてクランク角を溯る方向に所定クランク角Δθ毎(例えばTDC毎)に算出される(図2参照)。
【0024】
エネルギ保存則の関係式は次式で表される。
Ne(i+1)2 =Ne(i)2 +2/J×{Tloss−Tref(Ne(i))}×Δθ
ここで、Ne(i+1)は、現時点(i) よりも所定クランク角Δθ前の時点(i+1) のエンジン回転速度であり、Ne(i)は現時点(i) のエンジン回転速度である。また、Jはエンジン11の慣性モーメントである。Tlossはポンピングロスとフリクションロスを合計したロストルクであり、Tref(Ne(i))は現時点(i) のエンジン回転速度Ne(i)におけるオルタネータ33の基準負荷トルクである。
【0025】
上記エネルギ保存則の関係式において、「Tloss−Tref(Ne(i))」は、ポンピングロスとフリクションロスとオルタネータ33の基準負荷トルクTref(Ne(i))を合計したロストルクに相当する。
【0026】
本実施例では、オルタネータ33の基準負荷トルクTref(Ne(i))は、図3に示すようにオルタネータ33の制御可能な最大負荷の半分(1/2)に設定されている。このようにすれば、オルタネータ33は、モータジェネレータとは異なり、アシストトルクを出力できないという事情があっても、仮想的にオルタネータ33の負荷トルクを正負両方向に制御することが可能となり(基準負荷Tref 以下の負荷トルクを仮想的に負の負荷トルクとし、基準負荷Tref 以上の負荷トルクを正の負荷トルクとしてオルタネータ33の負荷トルクを制御することが可能となり)、目標軌道へのエンジン回転挙動の追従性を向上することができる。
【0027】
尚、オルタネータ33の基準負荷トルクTref(Ne(i))は、最大負荷の半分(1/2)に限定されず、例えば、最大負荷の1/3、1/4、2/3、3/4等であっても良く、要は、オルタネータ33の制御可能な最大負荷よりも小さく、0よりも大きい適宜の負荷を基準負荷トルクTref(Ne(i))に設定すれば良い。
0<Tref(Ne(i))<最大負荷
【0028】
図5(a)は、基準負荷トルクTref(Ne(i))=0に設定してエンジン回転停止制御(オルタF/B停止制御)を行った比較例を示している。この比較例では、オルタネータ33の負荷トルクを正方向にしか制御できないため、実エンジン回転挙動がオーバーシュートした場合は、実エンジン回転挙動を目標軌道に一致させることができなくなる。
【0029】
これに対して、本実施例のように、オルタネータ33の基準負荷トルクTref(Ne(i))を最大負荷よりも小さい適宜の負荷に設定すれば、図4に示すように、仮想的にオルタネータ33の負荷トルクを正負両方向に制御することが可能となるため、図5(b)に示すように、実回転挙動がオーバーシュートした場合でも、実回転挙動を目標軌道に一致させることができる。
【0030】
更に、本実施例では、図6に示すように、目標軌道を算出する際に、オルタネータ33の基準負荷トルクTref(Ne(i))に応じた目標軌道を算出し、エンジン回転停止制御の実行中は、エンジン回転速度Ne(i)に応じた基準負荷トルクTref(Ne(i))を算出すると共に、現時点(i) のクランク角θ(i) における目標エンジン回転速度と実エンジン回転速度との偏差を小さくするようにフィードバック負荷トルクを算出して、このフィードバック負荷トルクに基準負荷トルクTref(Ne(i))を加算して要求負荷トルクTalt を求める(実際には、この要求負荷トルクTalt にプーリ比Ratioを乗算して要求軸トルクTalt.final に変換する)。
【0031】
この後、図7に示すオルタネータ33の負荷トルク特性を用いて、オルタネータ33の要求負荷トルクTalt (要求軸トルクTalt.final )とエンジン回転速度Ne (又はエンジン回転速度Ne にプーリ比Ratioを乗算して求めたオルタネータ33の回転速度Nalt )に応じた発電指令値(デューティDuty )を算出する。この際、要求負荷トルクTalt とエンジン回転速度Ne (又はオルタネータ33の回転速度Nalt )から発電指令値(デューティDuty )を直接算出するようにしても良いが、要求負荷トルクTalt とエンジン回転速度Ne (又はオルタネータ33の回転速度Nalt )から要求フィールド電流(要求励磁電流)を算出し、この要求フィールド電流から発電指令値(デューティDuty )を算出するようにしても良い。
【0032】
尚、図7に示す負荷トルク特性は、オルタネータ33の出力電圧が所定値(例えば13.5V)で一定の場合の特性であり、出力電圧毎に同様の特性が設定されている。この発電指令値(デューティDuty )に基づいてオルタネータ33の発電制御電流(フィールド電流)を制御してオルタネータ33の負荷トルクを制御する。
【0033】
このようなオルタネータ33の負荷トルクの制御を、エンジン回転速度がオルタネータ33の発電限界回転速度Nelow(図3参照)以下に低下するまで所定クランク角間隔で周期的に実行することで、実エンジン回転挙動を目標軌道に合わせるようにオルタネータ33の負荷トルクをフィードバック制御するエンジン回転停止制御(オルタF/B停止制御)を行う。
【0034】
エンジン回転停止制御の際に、エンジンECU30は、所定クランク角周期で発電指令値を演算し、この発電指令値をCAN(Controller Area Network )通信等により所定時間周期で電源系ECU36(図1参照)に送信する。更に、電源系ECU36は、受信した発電指令値をLIN(Local Interconnect Network)通信等により所定時間周期でオルタネータ33に送信する。
【0035】
ところで、エンジン11のオイル交換や経時変化等によってエンジン11のフリクション等が変化すると、目標軌道の算出に用いる基準回転速度やロストルクも変化する。そこで、本実施例では、目標軌道の算出精度を確保するために、図8に示すように、実エンジン回転挙動を目標軌道に合わせるようにオルタネータ33の負荷トルクをフィードバック制御するエンジン回転停止制御を実行し、このエンジン回転停止制御によってエンジン回転速度がオルタネータ33の発電限界回転速度以下に低下したときの実エンジン回転挙動に基づいて基準回転速度の学習値とロストルクのずれ量の学習値を算出して記憶することで、基準回転速度とロストルクのずれ量を学習し、その基準回転速度の学習値と、ロストルクのずれ量の学習値から求めたロストルクの学習値を用いて目標軌道を算出する。
以下、ロストルクと基準回転速度の学習方法について説明する。
【0036】
[ロストルクの学習方法]
図9に示すように、エンジン回転停止制御によってエンジン回転速度がオルタネータ33の発電限界回転速度以下に低下したときに、基準タイミング(例えば最初のTDC)の実エンジン回転速度Ne1を検出した後、所定の検出タイミング(例えば基準タイミングの次のTDC)の実エンジン回転速度Ne2を検出する。基準タイミングの実エンジン回転速度Ne1と、検出タイミングの実エンジン回転速度Ne2と、ロストルクTlossとの関係は、エネルギ保存則を用いて、下記(1)式のように表すことができる。
【0037】
【数1】
【0038】
上記(1)式によりロストルクTlossを算出する。
また、エンジンECU30のバックアップRAM37等の書き換え可能な不揮発性メモリ(エンジンECU30の電源オフ中でも記憶データを保持する書き換え可能なメモリ)に記憶されているロストルクの学習値Tlossの記憶データを、前回のロストルクの学習値Tloss(i-1) として読み込む。
【0039】
この後、今回算出したロストルクTlossと、前回のロストルクの学習値Tloss(i-1) を用いて、次式により今回のロストルクのずれ量の学習値ΔTloss(i) を算出する。
ΔTloss(i) =Tloss−Tloss(i-1)
【0040】
この後、通常は、バックアップRAM37等の不揮発性メモリに記憶されているロストルクのずれ量の学習値ΔTlossの記憶データを、今回算出したロストルクのずれ量の学習値ΔTloss(i) の算出データで更新する。
【0041】
この後、ロストルクの学習値Tloss(i) を算出する場合には、前回のロストルクの学習値Tloss(i-1) と、学習ゲインGain と、バックアップRAM37等の不揮発性メモリに記憶されているロストルクのずれ量の学習値ΔTlossを用いて、次式により今回のロストルクの学習値Tloss(i) を算出する。
Tloss(i) =Tloss(i-1) +Gain ×ΔTloss
【0042】
この後、バックアップRAM37等の不揮発性メモリに記憶されているロストルクの学習値Tlossの記憶データを、今回算出したロストルクの学習値Tloss(i) の算出データで更新する。
【0043】
[基準回転速度の学習方法]
図10に示すように、エンジン回転停止制御によってエンジン回転速度がオルタネータ33の発電限界回転速度以下に低下したときに、基準タイミング(例えば最初のTDC)の実エンジン回転速度Ne1を検出した後、エンジン回転が停止した停止クランク角Xを検出し、停止クランク角Xと目標停止クランク角Xtgt とを用いて、次式により停止位置ずれ量ΔXを算出する。
ΔX=X−Xtgt
【0044】
この後、図11に示すエネルギずれ量Δeのマップを参照して、停止位置ずれ量ΔXに応じたエネルギずれ量Δeを算出する。ここで、エネルギずれ量Δeは、基準点(基準タイミングで基準回転速度となる点)に対するエネルギずれ量であり、エネルギずれ量Δeのマップは、予め試験データや設計データ等に基づいて作成され、エンジンECU30のROMに記憶されている。
【0045】
また、バックアップRAM37等の不揮発性メモリに記憶されている基準回転速度の学習値Netgtの記憶データを、前回の基準回転速度の学習値Netgt(i-1) として読み込む。
この後、前回の基準回転速度の学習値Netgt(i-1) と、エネルギずれ量Δeと、ロストルク学習分の補正係数αを用いて、エンジン回転が停止クランク角Xで停止する基準タイミングの推定エンジン回転速度Neestを下記(2)式により算出する。
【0046】
【数2】
【0047】
この後、前回の基準回転速度の学習値Netgt(i-1) と、学習ゲインGain と、基準タイミングの実エンジン回転速度Ne1及び推定エンジン回転速度Neestを用いて、次式により今回の基準回転速度の学習値Netgt(i) を算出する。
Netgt(i) =Netgt(i-1) +Gain ×(Ne1−Neest)
【0048】
この後、通常は、バックアップRAM37等の不揮発性メモリに記憶されている基準回転速度の学習値Netgtの記憶データを、今回算出した基準回転速度の学習値Netgt(i) の算出データで更新する。
【0049】
しかし、何らかの外部負荷等によってエンジン回転停止制御を実行したときの実エンジン回転挙動が一時的に変化した場合には、その影響を受けて、実エンジン回転挙動に基づいて算出される基準回転速度の学習値(算出データ)やロストルクのずれ量の学習値(算出データ)が一時的に変化するため、基準回転速度やロストルクのずれ量(以下これらを「目標軌道情報」と総称する)を誤学習してしまう可能性があり、目標軌道情報の学習精度が低下する可能性がある。
【0050】
この対策として、本実施例では、目標軌道情報(基準回転速度又はロストルクのずれ量)の学習値の記憶データに対して今回算出した目標軌道情報の学習値の算出データが所定値以上乖離した場合に、それ以後の複数回の目標軌道情報の学習値の算出データを監視することで、エンジン11のフリクション等が変化して目標軌道情報の学習値(算出データ)が定常的に変化したのか、或は、何らかの外部負荷等によって目標軌道情報の学習値(算出データ)が一時的に変化したのかを判断して、更新許可条件が成立したか否かを判定する。
【0051】
具体的には、図12に示すように、前回の目標軌道情報(基準回転速度又はロストルクのずれ量)の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離した場合(図12のA及びB参照)に、その状態が所定回数(例えば4回)連続したか否かによって更新許可条件が成立したか否かを判定する。
【0052】
そして、前回の目標軌道情報の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離した状態が所定回数連続していないときには、何らかの外部負荷等によって目標軌道情報の学習値(算出データ)が一時的に変化した可能性があると判断して、更新許可条件が成立していないと判定し、目標軌道情報の学習値の記憶データを更新せずに前回値に保持(ホールド)する。
【0053】
一方、前回の目標軌道情報の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離した状態が所定回数連続したときには、その時点t1 で、エンジン11のフリクション等が変化して目標軌道情報の学習値(算出データ)が定常的に変化したと判断して、更新許可条件が成立したと判定し、目標軌道情報の学習値の記憶データを更新する。
【0054】
その際、図13に示すように、更新許可条件が成立したと判定した時点t1 で、学習ゲインを通常値(更新許可条件の成立前の値)よりも大きくする。これにより、目標軌道情報の学習値(記憶データ)の更新速度を速くして(1回当りの更新量を大きくして)、目標軌道情報の学習値(記憶データ)を速やかに目標軌道情報の真値に近付ける。更に、学習ゲインを通常値よりも大きくした後に目標軌道情報の学習値(記憶データ)が収束状態(ほぼ一定)になったか否かを判定し、目標軌道情報の学習値(記憶データ)が収束状態になったと判定した時点t2 で、目標軌道情報の学習値(記憶データ)が目標軌道情報の真値付近に収束したと判断して、学習ゲインを通常値に戻す。
【0055】
以上説明した本実施例のエンジン回転停止制御及びそれに関連する制御は、エンジンECU30によって図14乃至図19の各ルーチンに従って実行される。以下、これら各ルーチンの処理内容を説明する。
【0056】
[目標軌道算出ルーチン]
図14に示す目標軌道算出ルーチンは、エンジンECU30の電源オン中に所定周期(所定クランク角周期)で繰り返し実行される。本ルーチンが起動されると、まず、ステップ101で、目標軌道算出完了フラグが目標軌道の算出前を意味する「0」にセットされているか否かを判定し、この目標軌道算出完了フラグが目標軌道算出完了を意味する「1」にセットされていれば、以降の処理を行うことなく、本ルーチンを終了する。
【0057】
一方、このステップ101で、目標軌道算出完了フラグ=0(目標軌道の算出前)と判定されれば、ステップ102に進み、ロストルクTlossと、オルタネータ33の基準負荷トルクTref(Ne(i))を用いて、次式で表されるエネルギ保存則の関係式を用いて次の時点(i+1) の目標エンジン回転速度Ne(i+1)の二乗を算出する。
【0058】
Ne(i+1)2 =Ne(i)2 +2/J×{Tloss−Tref(Ne(i))}×Δθ
ここで、Jはエンジン11の慣性モーメント、Tlossはポンピングロスとフリクションロスを合計したロストルクである。上記エネルギ保存則の関係式において、「Tloss−Tref(Ne(i))」は、ポンピングロスとフリクションロスとオルタネータ33の基準負荷トルクTref(Ne(i))を合計したロストルクに相当する。
【0059】
初期値は、i=0、θ(0) =基準タイミングのクランク角、Ne(0)=基準回転速度である。この基準回転速度Ne(0)は、停止クランク角が目標停止クランク角となる基準タイミングのエンジン回転速度である。目標軌道は、基準回転速度Ne(0)を初期値としてクランク角を溯る方向に所定クランク角Δθ毎(例えばTDC毎)に算出する。
【0060】
この後、ステップ103に進み、目標エンジン回転速度Ne(i+1)の二乗がエンジン回転停止制御を実行可能な最大エンジン回転速度Nemaxの二乗を越えたか否かを判定し、まだ最大エンジン回転速度Nemaxの二乗を越えていなければ、ステップ104に進み、目標軌道算出完了フラグを「0」に維持する(セットし直す)。
【0061】
この後、ステップ106に進み、目標エンジン回転速度Ne(i+1)の二乗の平方根を算出して目標エンジン回転速度Ne(i+1)を求め、これを目標軌道のテーブル(図示せず)に割り付けて、本ルーチンを終了する。尚、エンジンECU30の演算負荷を低減するため、エンジン回転速度の二乗をそのままテーブルに割り付けても良い。目標軌道のテーブルは、エンジンECU30のメモリに記憶される。
【0062】
以上のような処理を繰り返して、基準回転速度Ne(0)を初期値としてクランク角を溯る方向に所定クランク角毎(例えばTDC毎)に目標エンジン回転速度Ne(i+1)の二乗を算出して目標軌道のテーブルに目標エンジン回転速度Ne(i+1)を割り付ける処理を繰り返す。そして、上記ステップ103で、目標エンジン回転速度Ne(i+1)の二乗がエンジン回転停止制御を実行可能な最大エンジン回転速度Nemaxの二乗を越えたと判定された時点で、ステップ105に進み、目標軌道算出完了フラグを目標軌道算出完了を意味する「1」にセットして、ステップ106に進み、最後の目標エンジン回転速度Ne(i+1)の二乗の平方根を算出して目標エンジン回転速度Ne(i+1)を求め、これを目標軌道のテーブルに割り付けて、本ルーチンを終了する。
【0063】
[オルタF/B停止制御ルーチン]
図15に示すオルタF/B停止制御ルーチンは、エンジンECU30の電源オン中に所定周期(所定クランク角周期)で繰り返し実行される。本ルーチンが起動されると、まず、ステップ201で、エンジン停止要求(アイドルストップ要求)が発生したか否かを判定し、エンジン停止要求が発生していなければ、以降の処理を行うことなく、本ルーチンを終了する。
【0064】
その後、上記ステップ201で、エンジン停止要求が発生したと判定された時点で、ステップ202に進み、現在のクランク角θとエンジン回転速度Ne を算出する。この後、ステップ203に進み、現在のクランク角θがオルタネータ33の負荷トルクの制御タイミング(例えばTDC)であるか否かを判定し、オルタネータ33の負荷トルクの制御タイミングでなければ、以降の処理を行うことなく、本ルーチンを終了する。
【0065】
上記ステップ203で、現在のクランク角θがオルタネータ33の負荷トルクの制御タイミングであると判定されれば、ステップ204に進み、現在のエンジン回転速度Ne がエンジン回転停止制御を実行可能な最大エンジン回転速度Nemaxよりも低いか否かを判定し、現在のエンジン回転速度Ne が最大エンジン回転速度Nemax以上であれば、以降の処理を行うことなく、本ルーチンを終了する。
【0066】
その後、上記ステップ204で、現在のエンジン回転速度Ne が最大エンジン回転速度Nemaxよりも低いと判定されれば、ステップ205に進み、エンジン11が燃焼中であるか否かを判定する。このステップ205で、エンジン停止要求が発生した直後でエンジン11がまだ燃焼中であると判定されれば、ステップ206に進み、エンジン回転停止制御を開始する際のオルタネータ33の要求負荷トルクTalt を初期値(例えば基準負荷トルクTref(Ne) )に設定する。
Talt =Tref(Ne)
【0067】
その後、上記ステップ205で、エンジン11の燃焼が停止したと判定された場合には、ステップ207に進み、目標軌道のテーブルを参照して、今回の制御タイミングに対応した目標エンジン回転速度Netg を求める。
【0068】
この後、ステップ208に進み、現在の実エンジン回転速度Ne と目標エンジン回転速度Netg とのエネルギ差分ΔEを次式により算出する。
ΔE=J/2×(Ne 2 −Netg 2 )
ここで、Jはエンジン11の慣性モーメントである。
【0069】
この後、ステップ209に進み、エネルギ差分ΔEとオルタネータ33の基準負荷トルクTref(Ne) を用いて、次式により要求負荷トルクTalt を算出する。
Talt =K×ΔE/Δθ+Tref(Ne)
【0070】
ここで、「K×ΔE/Δθ」はフィードバック負荷トルクであり、Kはフィードバックゲイン、Δθはクランク角変化量である。
この後、ステップ210に進み、要求負荷トルクTalt にプーリ比Ratioを乗算して、オルタネータ33の要求軸トルクTalt.final に変換する。
【0071】
この後、ステップ211に進み、バッテリ電圧を検出した後、ステップ212に進み、バッテリ電圧毎に作成された複数の負荷トルク特性マップ(図7参照)の中から、現在のバッテリ電圧に対応する負荷トルク特性マップを選択して、現在の要求負荷トルクTalt (要求軸トルクTalt.final )とエンジン回転速度Ne (又はオルタネータ33の回転速度Nalt )に応じた発電指令値(デューティDuty )を算出する。
【0072】
この発電指令値(デューティDuty )に基づいてオルタネータ33の発電制御電流(フィールド電流)を制御してオルタネータ33の負荷トルクを制御することで、実エンジン回転挙動を目標軌道に合わせるようにオルタネータ33の負荷トルクをフィードバック制御するオルタF/B停止制御を行う。
【0073】
[学習制御ルーチン]
図16に示す学習制御ルーチンは、エンジンECU30の電源オン中に所定周期(所定クランク角周期)で繰り返し実行され、特許請求の範囲でいう学習手段としての役割を果たす。本ルーチンが起動されると、まず、ステップ301で、エンジン停止要求(アイドルストップ要求)が発生したか否かを判定し、エンジン停止要求が発生していなければ、以降の処理を行うことなく、本ルーチンを終了する。
【0074】
その後、上記ステップ301で、エンジン停止要求が発生したと判定された時点で、ステップ302に進み、学習実行条件が成立しているか否かを、例えば、エンジン11が暖機状態(冷却水温が所定値以上)であるか否か等によって判定し、学習実行条件が成立していなければ、以降の処理を行うことなく、本ルーチンを終了する。
【0075】
一方、上記ステップ302で、学習実行条件が成立していると判定された場合には、ステップ303に進み、後述する図17のロストルク学習ルーチンを実行することで、エンジン回転停止制御によってエンジン回転速度がオルタネータ33の発電限界回転速度以下に低下したときの実エンジン回転挙動に基づいてロストルクのずれ量を学習する。更に、次のステップ304で、後述する図18の基準回転速度学習ルーチンを実行することで、エンジン回転停止制御によってエンジン回転速度がオルタネータ33の発電限界回転速度以下に低下したときの実エンジン回転挙動に基づいて基準回転速度を学習する。
【0076】
[ロストルク学習ルーチン]
図17に示すロストルク学習ルーチンは、前記図16の学習制御ルーチンのステップ303で実行されるサブルーチンである。本ルーチンが起動されると、まず、ステップ401で、エンジン回転停止制御によってエンジン回転速度がオルタネータ33の発電限界回転速度以下に低下したときに、現在のクランク角が基準タイミング(例えば最初のTDC)であるか否かを判定し、基準タイミングであると判定された時点で、ステップ402に進み、基準タイミングの実エンジン回転速度Ne1を検出する。
【0077】
この後、ステップ403に進み、現在のクランク角が検出タイミング(例えば基準タイミングの次のTDC)であるか否かを判定し、検出タイミングであると判定された時点で、ステップ404に進み、検出タイミングの実エンジン回転速度Ne2を検出する。
【0078】
この後、ステップ405に進み、基準タイミングの実エンジン回転速度Ne1と、検出タイミングの実エンジン回転速度Ne2を用いて、前記(1)式によりロストルクTlossを算出した後、ステップ406に進み、エンジンECU30のバックアップRAM37等の不揮発性メモリに記憶されているロストルクの学習値Tlossの記憶データを、前回のロストルクの学習値Tloss(i-1) として読み込む。
【0079】
この後、ステップ407に進み、今回算出したロストルクTlossと、前回のロストルクの学習値Tloss(i-1) を用いて、次式により今回のロストルクのずれ量の学習値ΔTloss(i) を算出する。
ΔTloss(i) =Tloss−Tloss(i-1)
【0080】
この後、ステップ408に進み、後述する図19の学習値更新判定ルーチンを実行することで、バックアップRAM37等の不揮発性メモリに記憶されているロストルクのずれ量の学習値ΔTlossの記憶データを、今回算出したロストルクのずれ量の学習値ΔTloss(i) の算出データで更新するか又は前回値に保持(ホールド)する。
【0081】
この後、ロストルクの学習値Tloss(i) を算出する場合には、前回のロストルクの学習値Tloss(i-1) と、学習ゲインGain と、バックアップRAM37等の不揮発性メモリに記憶されているロストルクのずれ量の学習値ΔTlossを用いて、次式により今回のロストルクの学習値Tloss(i) を算出する。
Tloss(i) =Tloss(i-1) +Gain ×ΔTloss
【0082】
この後、バックアップRAM37等の不揮発性メモリに記憶されているロストルクの学習値Tlossの記憶データを、今回算出したロストルクの学習値Tloss(i) の算出データで更新する。
【0083】
[基準回転速度学習ルーチン]
図18に示す基準回転速度学習ルーチンは、前記図16の学習制御ルーチンのステップ304で実行されるサブルーチンである。本ルーチンが起動されると、まず、ステップ501で、エンジン回転停止制御によってエンジン回転速度がオルタネータ33の発電限界回転速度以下に低下したときに、現在のクランク角が基準タイミング(例えば最初のTDC)であるか否かを判定し、基準タイミングであると判定された時点で、ステップ502に進み、基準タイミングの実エンジン回転速度Ne1を検出する。
【0084】
この後、ステップ503に進み、エンジン回転が停止したか否かを判定し、エンジン回転が停止したと判定された時点で、ステップ504に進み、エンジン回転が停止した停止クランク角Xを検出する。
【0085】
この後、ステップ505に進み、停止クランク角Xと目標停止クランク角Xtgt とを用いて、次式により停止位置ずれ量ΔXを算出する。
ΔX=X−Xtgt
【0086】
この後、ステップ506に進み、図11に示すエネルギずれ量Δeのマップを参照して、停止位置ずれ量ΔXに応じたエネルギずれ量Δeを算出した後、ステップ507に進み、エンジンECU30のバックアップRAM37等の不揮発性メモリに記憶されている基準回転速度の学習値Netgtの記憶データを、前回の基準回転速度の学習値Netgt(i-1) として読み込む。
【0087】
この後、ステップ508に進み、前回の基準回転速度の学習値Netgt(i-1) と、エネルギずれ量Δeと、ロストルク学習分の補正係数αを用いて、エンジン回転が停止クランク角Xで停止する基準タイミングの推定エンジン回転速度Neestを前記(2)式により算出する。
【0088】
この後、ステップ509に進み、前回の基準回転速度の学習値Netgt(i-1) と、学習ゲインGain と、基準タイミングの実エンジン回転速度Ne1及び推定エンジン回転速度Neestを用いて、次式により今回の基準回転速度の学習値Netgt(i) を算出する。
Netgt(i) =Netgt(i-1) +Gain ×(Ne1−Neest)
【0089】
この後、ステップ510に進み、後述する図19の学習値更新判定ルーチンを実行することで、バックアップRAM37等の不揮発性メモリに記憶されている基準回転速度の学習値Netgtの記憶データを、今回算出した基準回転速度の学習値Netgt(i) の算出データで更新するか又は前回値に保持(ホールド)する。
【0090】
[学習値更新判定ルーチン]
図19に示す学習値更新判定ルーチンは、前記図17のロストルク学習ルーチンのステップ408及び前記図18の基準回転速度学習ルーチンのステップ510で実行されるサブルーチンである。尚、実際には、図17のステップ408ではロストルクのずれ量の学習値更新判定ルーチンを実行し、前記図18のステップ510では基準回転速度の学習値更新判定ルーチンを実行するが、以下の説明では、基準回転速度とロストルクのずれ量を「目標軌道情報」と総称して説明する。
【0091】
本ルーチンが起動されると、まず、ステップ601で、ゲイン変更フラグが「1」にセットされているか否かを判定し、ゲイン変更フラグが「0」にセットされていると判定されれば、ステップ602に進み、今回の目標軌道情報(基準回転速度又はロストルクのずれ量)の学習値の算出データと前回の目標軌道情報の学習値の記憶データとの差分(差の絶対値)が所定値K1 以上であるか否かによって、前回の目標軌道情報の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離したか否かを判定する。
【0092】
このステップ602で、今回の目標軌道情報の学習値の算出データと前回の目標軌道情報の学習値の記憶データとの差分が所定値K1 よりも小さいと判定された場合には、ステップ603に進み、バックアップRAM37等の不揮発性メモリに記憶されている目標軌道情報の学習値の記憶データを、今回算出した目標軌道情報の学習値の算出データで更新する。
【0093】
一方、上記ステップ602で、今回の目標軌道情報の学習値の算出データと前回の目標軌道情報の学習値の記憶データとの差分が所定値K1 以上である(前回の目標軌道情報の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離した)と判定された場合には、ステップ604に進み、今回の目標軌道情報の学習値の算出データと前回の目標軌道情報の学習値の記憶データとの差分が所定値K1 以上の状態(前回の目標軌道情報の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離した状態)が所定回数(例えば4回)連続したか否かによって更新許可条件が成立したか否かを判定する。
【0094】
このステップ604で、今回の目標軌道情報の学習値の算出データと前回の目標軌道情報の学習値の記憶データとの差分が所定値K1 以上の状態が所定回数連続していないと判定された場合には、何らかの外部負荷等によって目標軌道情報の学習値(算出データ)が一時的に変化した可能性があると判断して、更新許可条件が成立していないと判定し、ステップ605に進み、バックアップRAM37等の不揮発性メモリに記憶されている目標軌道情報の学習値の記憶データを更新せずに前回値に保持(ホールド)する。
【0095】
一方、上記ステップ604で、今回の目標軌道情報の学習値の算出データと前回の目標軌道情報の学習値の記憶データとの差分が所定値K1 以上の状態が所定回数連続したと判定された場合には、エンジン11のフリクション等が変化して目標軌道情報の学習値(算出データ)が定常的に変化したと判断して、更新許可条件が成立したと判定する。
【0096】
この場合、まず、ステップ606に進み、学習ゲインを通常値(更新許可条件の成立前の値)よりも大きくして、ゲイン変更フラグを「1」にセットした後、ステップ607に進み、バックアップRAM37等の不揮発性メモリに記憶されている目標軌道情報の学習値の記憶データを、今回算出した目標軌道情報の学習値の算出データで更新する。これにより、目標軌道情報の学習値(記憶データ)の更新速度を速くして(1回当りの更新量を大きくして)、目標軌道情報の学習値(記憶データ)を速やかに目標軌道情報の真値に近付ける。
【0097】
この後、ステップ608に進み、今回の目標軌道情報の学習値の算出データと前回の目標軌道情報の学習値の記憶データとの差分(差の絶対値)が所定値K2 以下であるか否かによって、目標軌道情報の学習値(記憶データ)が収束状態(ほぼ一定)になったか否かを判定する。
【0098】
このステップ608で、目標軌道情報の学習値(記憶データ)が収束状態になっていないと判定された場合には、学習ゲインを通常値よりも大きくしたまま、本ルーチンを終了する。この場合、ステップ601で、ゲイン変更フラグが「1」にセットされていると判定されて、ステップ607に進み、目標軌道情報の学習値の記憶データを今回算出した目標軌道情報の学習値の算出データで更新した後、目標軌道情報の学習値(記憶データ)が収束状態になったか否かを判定する処理を繰り返す(ステップ607、608)。
【0099】
その後、ステップ608で、目標軌道情報の学習値(記憶データ)が収束状態になったと判定されたときに、目標軌道情報の学習値(記憶データ)が目標軌道情報の真値付近に収束したと判断して、ステップ609に進み、学習ゲインを通常値に戻して、ゲイン変更フラグを「0」にリセットする。
【0100】
以上説明した本実施例では、前回の目標軌道情報(基準回転速度又はロストルクのずれ量)の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離した場合に、その状態が所定回数連続していないときには、何らかの外部負荷等によって目標軌道情報の学習値(算出データ)が一時的に変化した可能性があると判断して、更新許可条件が成立していないと判定し、目標軌道情報の学習値の記憶データを更新せずに前回値に保持(ホールド)する。一方、前回の目標軌道情報の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離した状態が所定回数連続したときには、エンジン11のフリクション等が変化して目標軌道情報の学習値(算出データ)が定常的に変化したと判断して、更新許可条件が成立したと判定し、目標軌道情報の学習値の記憶データを更新する。これにより、目標軌道情報の誤学習を防止することができ、目標軌道情報の学習精度を向上させて、目標軌道の算出精度を向上させることができる。
【0101】
尚、上記実施例では、前回の目標軌道情報の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離した状態が所定回数連続したときに更新許可条件が成立したと判定するようにしたが、これに限定されず、例えば、前回の目標軌道情報の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離した回数が所定期間内に所定値を越えたときに更新許可条件が成立したと判定するようにしても良く、要は、前回の目標軌道情報の学習値の記憶データに対して今回の目標軌道情報の学習値の算出データが所定値以上乖離した場合に、それ以後の複数回の目標軌道情報の学習値の算出データに基づいて更新許可条件が成立したか否かを判定するようにすれば良い。
【0102】
また、上記実施例では、目標軌道情報(目標軌道の算出に用いる情報)として基準回転速度とロストルクのずれ量の両方を学習するシステムに本発明を適用したが、これに限定されず、例えば、目標軌道情報として基準回転速度とロストルクのずれ量のうちの一方のみを学習するシステムに本発明を適用したり、或は、目標軌道情報として基準回転速度やロストルクのずれ量以外の他の情報(例えばポンピングロスやフリクションロス等)を学習するシステムに本発明を適用しても良い。
【0103】
また、本発明は、図1に示すような吸気ポート噴射式エンジンに限定されず、筒内噴射式エンジンや、吸気ポート噴射用の燃料噴射弁と筒内噴射用の燃料噴射弁の両方を備えたデュアル噴射式のエンジンにも適用して実施できる。
【0104】
更に、本発明の適用範囲は、車両の動力源としてエンジンのみを備えた一般的な車両に限定されず、車両の動力源としてエンジンとモータを備えたハイブリッド車に本発明を適用しても良い。
【符号の説明】
【0105】
11…エンジン(内燃機関)、13…吸気管、14…スロットルバルブ、18…吸気管圧力センサ、19…燃料噴射弁、21…排気管、30…エンジンECU(目標軌道算出手段,停止制御手段,学習手段)、33…オルタネータ(発電機)、37…バックアップRAM
【特許請求の範囲】
【請求項1】
エンジン回転が目標停止クランク角で停止するようにエンジン回転挙動の目標軌道を算出する目標軌道算出手段と、エンジン停止要求に応じてエンジン回転を停止させる際に実エンジン回転挙動を前記目標軌道に合わせるように発電機の負荷を制御するエンジン回転停止制御を実行する停止制御手段とを備えたエンジン回転停止制御装置において、
前記エンジン回転停止制御が実行されたときの実エンジン回転挙動に基づいて前記目標軌道の算出に用いる情報(以下「目標軌道情報」という)の学習値を算出し、その目標軌道情報の学習値の算出データに基づいて目標軌道情報の学習値の記憶データを更新することで前記目標軌道情報を学習する学習手段を備え、
前記学習手段は、前記目標軌道情報の学習値の記憶データに対して今回算出した目標軌道情報の学習値の算出データが所定値以上乖離した場合に、それ以後の複数回の目標軌道情報の学習値の算出データに基づいて更新許可条件が成立したか否かを判定し、該更新許可条件が成立したと判定したときに前記目標軌道情報の学習値の記憶データを更新することを特徴とするエンジン回転停止制御装置。
【請求項2】
前記学習手段は、前記目標軌道情報の学習値の記憶データに対して今回算出した目標軌道情報の学習値の算出データが所定値以上乖離した場合に、その状態が所定回数連続したときに前記更新許可条件が成立したと判定することを特徴とする請求項1に記載のエンジン回転停止制御装置。
【請求項3】
前記学習手段は、前記更新許可条件が成立したときに前記目標軌道情報を学習する際のゲイン(以下「学習ゲイン」という)を前記更新許可条件の成立前の値よりも大きくすることを特徴とする請求項1又は2に記載のエンジン回転停止制御装置。
【請求項4】
前記学習手段は、前記学習ゲインを前記更新許可条件の成立前の値よりも大きくした後に前記目標軌道情報の学習値が収束状態になったときに、前記学習ゲインを前記更新許可条件の成立前の値に戻すことを特徴とする請求項3に記載のエンジン回転停止制御装置。
【請求項5】
前記目標軌道算出手段は、エンジン回転の停止クランク角が目標停止クランク角となる基準タイミングのエンジン回転速度(以下「基準回転速度」という)と、エンジンのロストルクとに基づいて前記目標軌道を算出し、
前記学習手段は、前記目標軌道情報として前記基準回転速度と前記ロストルクのずれ量を学習することを特徴とする請求項1乃至4のいずれかに記載のエンジン回転停止制御装置。
【請求項1】
エンジン回転が目標停止クランク角で停止するようにエンジン回転挙動の目標軌道を算出する目標軌道算出手段と、エンジン停止要求に応じてエンジン回転を停止させる際に実エンジン回転挙動を前記目標軌道に合わせるように発電機の負荷を制御するエンジン回転停止制御を実行する停止制御手段とを備えたエンジン回転停止制御装置において、
前記エンジン回転停止制御が実行されたときの実エンジン回転挙動に基づいて前記目標軌道の算出に用いる情報(以下「目標軌道情報」という)の学習値を算出し、その目標軌道情報の学習値の算出データに基づいて目標軌道情報の学習値の記憶データを更新することで前記目標軌道情報を学習する学習手段を備え、
前記学習手段は、前記目標軌道情報の学習値の記憶データに対して今回算出した目標軌道情報の学習値の算出データが所定値以上乖離した場合に、それ以後の複数回の目標軌道情報の学習値の算出データに基づいて更新許可条件が成立したか否かを判定し、該更新許可条件が成立したと判定したときに前記目標軌道情報の学習値の記憶データを更新することを特徴とするエンジン回転停止制御装置。
【請求項2】
前記学習手段は、前記目標軌道情報の学習値の記憶データに対して今回算出した目標軌道情報の学習値の算出データが所定値以上乖離した場合に、その状態が所定回数連続したときに前記更新許可条件が成立したと判定することを特徴とする請求項1に記載のエンジン回転停止制御装置。
【請求項3】
前記学習手段は、前記更新許可条件が成立したときに前記目標軌道情報を学習する際のゲイン(以下「学習ゲイン」という)を前記更新許可条件の成立前の値よりも大きくすることを特徴とする請求項1又は2に記載のエンジン回転停止制御装置。
【請求項4】
前記学習手段は、前記学習ゲインを前記更新許可条件の成立前の値よりも大きくした後に前記目標軌道情報の学習値が収束状態になったときに、前記学習ゲインを前記更新許可条件の成立前の値に戻すことを特徴とする請求項3に記載のエンジン回転停止制御装置。
【請求項5】
前記目標軌道算出手段は、エンジン回転の停止クランク角が目標停止クランク角となる基準タイミングのエンジン回転速度(以下「基準回転速度」という)と、エンジンのロストルクとに基づいて前記目標軌道を算出し、
前記学習手段は、前記目標軌道情報として前記基準回転速度と前記ロストルクのずれ量を学習することを特徴とする請求項1乃至4のいずれかに記載のエンジン回転停止制御装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2012−82735(P2012−82735A)
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願番号】特願2010−228997(P2010−228997)
【出願日】平成22年10月8日(2010.10.8)
【出願人】(000004260)株式会社デンソー (27,639)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願日】平成22年10月8日(2010.10.8)
【出願人】(000004260)株式会社デンソー (27,639)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
[ Back to top ]