(57)【要約】【課題】気筒別空燃比処理が停止されて通常運転状態に復帰した直後でのノッキングの発生を抑制しつつ出力トルクを確保できる内燃機関の制御装置を提供することを課題とする。【解決手段】内燃機関が有する複数の気筒のうち少なくとも一つの前記気筒での空燃比を理論空燃比よりも小さいリッチ空燃比に制御し、残りの前記気筒のうち少なくとも一つの前記気筒での空燃比を前記理論空燃比よりも大きいリーン空燃比に制御する気筒別空燃比処理の実行中であるか否かを判定する実行判定部と、前記実行判定部により否定判定がなされた場合に、前記内燃機関のノック強度と第１判定値との比較結果が反映された第１学習値を更新する第１学習部と、前記実行判定部により肯定判定がなされた場合に、前記第１学習値の更新を禁止する第１禁止部と、前記第１学習値に基づいて前記内燃機関の目標点火時期を算出する第１算出部と、を備えた内燃機関の制御装置。【選択図】図２
2018188975.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関が有する複数の気筒のうち少なくとも一つの前記気筒での空燃比を理論空燃比よりも小さいリッチ空燃比に制御し、残りの前記気筒のうち少なくとも一つの前記気筒での空燃比を前記理論空燃比よりも大きいリーン空燃比に制御する気筒別空燃比処理の実行中であるか否かを判定する実行判定部と、
前記実行判定部により否定判定がなされた場合に、前記内燃機関のノック強度と第１判定値との比較結果が反映された第１学習値を更新する第１学習部と、
前記実行判定部により肯定判定がなされた場合に、前記第１学習値の更新を禁止する第１禁止部と、
前記第１学習値に基づいて前記内燃機関の目標点火時期を算出する第１算出部と、を備えた内燃機関の制御装置。
【請求項２】
前記実行判定部により肯定判定がなされた場合に、前記内燃機関のノック強度と第２判定値との比較結果が反映された第２学習値を更新する第２学習部と、
前記実行判定部により肯定判定がなされた場合に、前記第２学習値に基づいて前記内燃機関の目標点火時期を算出する第２算出部と、を備えた請求項１の内燃機関の制御装置。
【請求項３】
前記実行判定部により肯定判定がなされた場合に、前記気筒別空燃比処理の実行が継続される予定の期間が所定期間よりも短いか否かを判定する期間判定部と、
前記期間判定部で肯定判定の場合に、前記第２学習値の更新を禁止する第２禁止部と、を備え、
前記第２学習部は、前記実行判定部により肯定判定がなされ前記期間判定部により否定判定がなされた場合に、前記第２学習値を更新する、請求項２の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の制御装置に関する。
【背景技術】
【０００２】
内燃機関の複数の気筒での空燃比は、内燃機関の運転状態に応じて略同一となるように制御される。これに対して、例えば触媒の昇温を目的として、内燃機関の複数の気筒のうち一の気筒の空燃比をリッチ空燃比に制御し他の気筒の空燃比をリーン空燃比に制御する気筒別空燃比処理が知られている（例えば特許文献１参照）。
【０００３】
また、内燃機関の点火時期に応じて、内燃機関のノッキングの発生状況や出力トルクなどが変化することが知られている。そのため、点火時期の制御に際しては、ノッキングの発生を抑制しながら出力トルクを確保できる目標点火時期が算出され、実際の点火時期が目標点火時期に一致するように制御される。目標点火時期は、内燃機関のノック強度と判定値との比較結果が反映された学習値に基づいて算出される。この学習値は、所定の条件下でノック強度と判定値とが比較される度にその比較結果を反映するように更新される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−３２０３７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、上述したように気筒別空燃比処理が停止された通常運転状態では、各気筒の空燃比は略同一となるように制御される。このため、気筒別空燃比処理が実行された状態と通常運転状態とでは、ノッキングの発生状況や出力トルクは異なっている。従って、例えば気筒別空燃比処理の実行中に上述の学習値が更新され、その後に気筒別空燃比処理が停止されて通常運転状態に復帰された場合には、復帰直後での目標点火時期は、気筒別空燃比処理の実行中に更新された学習値に基づいて算出される。このため通常運転状態への復帰直後に算出された目標点火時期は通常運転状態には適しておらずに、ノッキングが発生したり又は出力トルクを確保できない可能性がある。
【０００６】
そこで本発明は、気筒別空燃比処理が停止されて通常運転状態に復帰した直後でのノッキングの発生を抑制しつつ出力トルクを確保できる内燃機関の制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的は、内燃機関が有する複数の気筒のうち少なくとも一つの前記気筒での空燃比を理論空燃比よりも小さいリッチ空燃比に制御し、残りの前記気筒のうち少なくとも一つの前記気筒での空燃比を前記理論空燃比よりも大きいリーン空燃比に制御する気筒別空燃比処理の実行中であるか否かを判定する実行判定部と、前記実行判定部により否定判定がなされた場合に、前記内燃機関のノック強度と第１判定値との比較結果が反映された第１学習値を更新する第１学習部と、前記実行判定部により肯定判定がなされた場合に、前記第１学習値の更新を禁止する第１禁止部と、前記第１学習値に基づいて前記内燃機関の目標点火時期を算出する第１算出部と、を備えた内燃機関の制御装置によって達成できる。
【０００８】
上記構成によれば、気筒別空燃比処理が停止中の場合には第１学習値が更新されるが、気筒別空燃比処理が実行中の場合には第１学習値の更新は禁止される。このため、気筒別空燃比処理が実行された状態から気筒別空燃比処理が停止された通常運転状態への復帰直後であっても、気筒別空燃比処理が停止中に更新された第１学習値に基づいて目標点火時期が算出される。このように通常運転状態への復帰直後において通常運転状態に適した目標点火時期が算出されるため、ノッキングの発生を抑制しつつ内燃機関の出力トルクを確保できる。
【０００９】
上記構成において、前記実行判定部により肯定判定がなされた場合に、前記内燃機関のノック強度と第２判定値との比較結果が反映された第２学習値を更新する第２学習部と、前記実行判定部により肯定判定がなされた場合に、前記第２学習値に基づいて前記内燃機関の目標点火時期を算出する第２算出部と、を備えていてもよい
【００１０】
上記構成によれば、気筒別空燃比処理の実行中では気筒別空燃比処理の実行中に更新された第２学習値に基づいて目標点火時期が算出されるため、気筒別空燃比処理の実行中であってもノッキングの発生を抑制しつつ内燃機関の出力トルクを確保できる。
【００１１】
上記構成において、前記実行判定部により肯定判定がなされた場合に、前記気筒別空燃比処理の実行が継続される予定の期間が所定期間よりも短いか否かを判定する期間判定部と、前記期間判定部で肯定判定の場合に、前記第２学習値の更新を禁止する第２禁止部と、を備え、前記第２学習部は、前記実行判定部により肯定判定がなされ前記期間判定部により否定判定がなされた場合に、前記第２学習値を更新してもよい。
【００１２】
上記構成によれば、実行の継続期間が比較的短期となる気筒別空燃比処理の実行中では、第２学習値は更新されず、更新されていない第２学習値に基づいて目標点火時期が算出される。気筒別空燃比処理の継続期間が比較的短期であるため、更新されていない第２学習値に基づいて目標点火時期が算出されたとしても、ノッキングや出力トルクへの影響は少なく、また第２学習値を更新するための処理負荷が低減できる。
【発明の効果】
【００１３】
本発明によれば、気筒別空燃比処理が停止されて通常運転状態に復帰した直後でのノッキングの発生を抑制しつつ出力トルクを確保できる内燃機関の制御装置を提供できる。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施例１の車両のエンジン周辺の概略構成図である。
【図２】図２は、実施例１の点火時期制御を示したフローチャートである。
【図３】図３は、点火時期制御において算出される各種制御値の関係を示した図である。
【図４】図４は、実施例２の点火時期制御を示したフローチャートである。
【図５】図５は、実施例３の点火時期制御を示したフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照に複数の実施例について説明する。
【実施例１】
【００１６】
図１は、実施例１の車両１のエンジン２０周辺の概略構成図である。エンジン２０は、ピストン２４が収納されたシリンダブロック２１上に設置されたシリンダヘッド２２内の燃焼室２３の内で混合気を燃焼させて、ピストン２４を往復動させる。ピストン２４の往復動は、クランクシャフト２６の回転運動に変換される。また、エンジン２０は直列４気筒エンジンであるが、複数の気筒を有していればこれに限定されない。
【００１７】
エンジン２０のシリンダヘッド２２には、吸気ポートを開閉する吸気弁Ｖｉと、排気ポートを開閉する排気弁Ｖｅとが気筒ごとに設けられている。また、シリンダヘッド２２の頂部には、燃焼室２３内の混合気に点火するための点火プラグ２７が気筒ごとに取り付けられている。
【００１８】
各気筒の吸気ポートは気筒毎の枝管を介してサージタンク１８に接続されている。サージタンク１８の上流側には吸気管１０が接続されており、吸気管１０の上流端にはエアクリーナ１９が設けられている。そして吸気管１０には、上流側から順に、吸入空気量を検出するためのエアフローメータ１５と、電子制御式のスロットルバルブ１３とが設けられている。
【００１９】
また、各気筒の吸気ポートには、燃料を吸気ポート内に噴射する燃料噴射弁１２が設置されている。燃料噴射弁１２から噴射された燃料は吸入空気と混合されて混合気をなし、この混合気が吸気弁Ｖｉの開弁時に燃焼室２３に吸入され、ピストン２４で圧縮され、点火プラグ２７で点火燃焼させられる。尚、吸気ポート内に燃料を噴射する燃料噴射弁１２の代わりに、気筒内に燃料を直接噴射する燃料噴射弁を設けてもよいし、吸気ポート内及び気筒内にそれぞれ燃料を噴射する燃料噴射弁の双方を備えていてもよい。
【００２０】
一方、各気筒の排気ポートは気筒毎の枝管を介して排気管３０に接続されている。排気管３０には、三元触媒３１が設けられている。三元触媒３１は、酸素吸蔵能を有し、ＮＯｘ、ＨＣおよびＣＯを浄化する。三元触媒３１は、例えば、コージェライト等の基材、特にはハニカム基材上に、アルミナ等の触媒担体と、当該触媒担体上に担持された白金、パラジウム、ロジウム等の触媒金属とを含む１つ又は複数の触媒層を形成したものである。三元触媒３１は、エンジン２０が有する複数の気筒から排出された排気を浄化する触媒の一例であって、酸化触媒や、酸化触媒でコートされたガソリンパティキュレートフィルターであってもよい。
【００２１】
三元触媒３１の上流側には、排気ガスの空燃比を検出するための空燃比センサ３３が設置されている。空燃比センサ３３は、いわゆる広域空燃比センサであり、比較的広範囲に亘る空燃比を連続的に検出可能で、その空燃比に比例した値の信号を出力する。
【００２２】
車両１は、ＥＣＵ（Electronic Control Unit）５０を備えている。ＥＣＵ５０は、ＣＰＵ（Central Processing Unit）、ＲＡＭ(Random Access Memory)、ＲＯＭ（Read Only Memory）、及びメモリ等を備える。ＥＣＵ５０は、ＲＯＭやメモリに記憶されたプログラムを実行することによりエンジン２０を制御する制御装置の一例である。ＥＣＵ５０は、ノッキングの発生を抑制しつつ出力トルクを確保するための点火時期制御を実行する。点火時期制御は、ＥＣＵ５０のＣＰＵ、ＲＯＭ、及びＲＡＭにより機能的に実現される、実行判定部、第１学習部、第１禁止部、及び第１算出部により実現される。詳しくは後述する。
【００２３】
ＥＣＵ５０には、上述の点火プラグ２７、スロットルバルブ１３及び燃料噴射弁１２等が電気的に接続されている。またＥＣＵ５０には、アクセル開度を検出するアクセル開度センサ１１、スロットルバルブ１３のスロットル開度を検出するスロットル開度センサ１４、吸入空気量を検出するエアフローメータ１５、イグニッションスイッチ１６、空燃比センサ３３、クランクシャフト２６のクランク角を検出するクランク角センサ２５、混合気の燃焼に伴うノッキングの発生状況を検出するためのノックセンサ２８、エンジン２０の冷却水の温度を検出する水温センサ２９や、その他の各種センサが図示されないＡ／Ｄ変換器等を介して電気的に接続されている。ＥＣＵ５０は、各種センサの検出値等に基づいて、所望の出力が得られるように、点火プラグ２７、スロットルバルブ１３、燃料噴射弁１２等を制御し、点火時期、燃料噴射量、燃料噴射比率、燃料噴射時期、スロットル開度等を制御する。
【００２４】
次に、ＥＣＵ５０による目標空燃比の設定について説明する。後述する気筒別空燃比処理の停止中である通常運転状態では、エンジン２０の運転状態に応じて目標空燃比が設定される。例えばエンジン２０の運転状態が低回転低負荷域では、目標空燃比は理論空燃比に設定され、高回転高負荷域では、目標空燃比は理論空燃比又はリッチ空燃比に設定される。目標空燃比が設定されると、空燃比センサ３３により検出された空燃比が目標空燃比に一致するように、各気筒への燃料噴射量がフィードバック制御される。
【００２５】
また、ＥＣＵ５０は、三元触媒３１を所定の温度域にまで昇温させることを目的として、気筒別空燃比処理を実行する。気筒別空燃比処理では、複数の気筒のうち少なくとも一の気筒での空燃比を理論空燃比よりも小さいリッチ空燃比に制御され、残りの他の気筒での空燃比を理論空燃比よりも大きいリーン空燃比に制御される、いわゆるディザ制御が実行される。気筒別空燃比処理での空燃比の制御は、具体的には、一の気筒での空燃比を、上述した目標空燃比に対応した燃料噴射量よりも所定の割合だけを増量補正してリッチ空燃比に制御し、残りの他の気筒での空燃比を、目標空燃比に対応した燃料噴射量よりも所定の割合だけ減量補正してリーン空燃比に制御される。
【００２６】
例えば、一の気筒での空燃比を、目標空燃比に対応した燃料噴射量に対して１５％増量補正をしてリッチ空燃比に制御し、残りの他の３つの気筒のそれぞれの空燃比を、燃料噴射量に対して５％減量補正してリーン空燃比に制御される。上記のように気筒別空燃比処理が実行されると、リッチ空燃比に設定された気筒から排出された余剰燃料が、三元触媒３１に付着して、三元触媒３１にリーン空燃比の排気が供給されることにより燃焼する。これにより三元触媒３１が昇温される。尚、気筒別空燃比処理は、例えば冷間始動時に三元触媒３１を暖機する目的や、三元触媒３１の浄化能力を再生する目的として実行される。
【００２７】
尚、気筒別空燃比処理においては、全気筒の空燃比の平均が理論空燃比となるように設定されるが、必ずしも理論空燃比である必要はなく、理論空燃比を含む所定の範囲内で三元触媒３１を活性化温度及び再生温度にまで昇温可能な空燃比であればよい。例えばリッチ空燃比は９〜１２の間に設定され、リーン空燃比は１５〜１６の間に設定される。また、少なくとも一つの気筒での空燃比がリッチ空燃比に設定されており、残りの他の気筒の少なくとも一つの気筒での空燃比がリーン空燃比に設定され、その他の気筒の空燃比が理論空燃比に設定されていてもよい。
【００２８】
図２は、実施例１の点火時期制御を示したフローチャートである。図２のフローチャートは、ＥＣＵ５０により所定期間毎に繰り返し実行される。まず、機関回転速度及び吸入空気量に基づいて、目標点火時期の算出のベースとなるベース点火時期が算出される（ステップＳ２）。詳細には、機関回転速度及び吸入空気量に応じてベース点火時期を規定したマップが参照されて、ベース点火時期が算出される。このマップは、予め実験により取得されＥＣＵ５０のメモリに記憶されている。機関回転速度はクランク角センサ２５により検出される。吸入空気量は、エアフローメータ１５により検出される。ベース点火時期としては、ノッキングの発生を抑制し得る限界の点火時期（いわゆるノック限界）と、エンジン２０の出力トルクおよび燃料消費率が最良となる点火時期（いわゆるＭＢＴ：Minimum advance for the Best Torque）とのうちの遅角側の時期が設定される。
【００２９】
次に、ノックセンサ２８により検出されるエンジン２０のノッキングの振動の強さを示すノック強度が、所定の判定値Ｄよりも大きいか否かが判定される（ステップＳ４）。判定値Ｄは、エンジン２０にノッキングが発生しているか否かを判定できる値であり、肯定判定の場合にはノッキングが発生し、否定判定の場合にはノッキングは発生していないと判定される。尚、ノック強度は、ノッキングが発生する可能性がある所定クランク角区間でのノックセンサ２８の検出信号の大きさや波形に基づいて算出される。
【００３０】
ステップＳ４で肯定判定の場合には、制御量Ｃが所定値Ａ１（例えば、０．４°ＣＡ）だけ加算・更新される（ステップＳ６）。なお、「°ＣＡ」はクランク角を表わしている。一方、ステップＳ４で否定判定の場合には、制御量Ｃが所定値Ａ２（例えば、０．０１°ＣＡ）だけ減算・更新される（ステップＳ８）。この制御量Ｃは、現在のエンジン２０のノッキング発生状況に応じてその大きさが変化する量となる。具体的には、エンジン２０にノッキングが生じているときには、目標点火時期が遅角側となるように制御量Ｃが変更され、ノッキングが生じていないときには、目標点火時期が進角側となるように制御量Ｃが設定される。
【００３１】
次に、気筒別空燃比処理の実行中であるか否かが判定される（ステップＳ１０）。具体的には、気筒別空燃比処理の実行フラグを参照して判定される。ステップＳ１０の処理は、エンジン２０が有する複数の気筒のうち少なくとも一つの気筒での空燃比を理論空燃比よりも小さいリッチ空燃比に制御し、残りの気筒のうち少なくとも一つの気筒での空燃比を理論空燃比よりも大きいリーン空燃比に制御する気筒別空燃比処理の実行中であるか否かを判定する実行判定部が実行する処理の一例である。
【００３２】
ステップＳ１０で肯定判定の場合には、後述の学習処理の実行は禁止される（ステップＳ１２）。即ち、気筒別空燃比処理の実行中は、制御量Ｃの値に関わらずに後述する学習値Ｌは更新されずに、学習値Ｌは気筒別空燃比処理の実行直前に更新された値のままである。ステップＳ１２の処理は、ステップＳ１０で肯定判定がなされた場合に、学習値Ｌの更新を禁止する第１禁止部が実行する処理の一例である。
【００３３】
ステップＳ１０で否定判定の場合には、学習処理が実行される（ステップＳ１４）。具体的には、制御量Ｃが所定値Ａ３（例えば、２．５°ＣＡ）よりも大きい場合には学習値Ｌが所定値Ａ５（例えば、０．５°ＣＡ）だけ減算・更新され、制御量Ｃが所定値Ａ３以下であって所定値Ａ４（例えば、０．５°ＣＡ）より大きい場合には学習値Ｌは更新されず、制御量Ｃが所定値Ａ４よりも小さい場合には学習値Ｌが所定値Ａ６（例えば、０．５°ＣＡ）だけ加算・更新される。このような学習処理により学習値Ｌは、ノックキングが頻繁に発生する傾向がある場合には相対的に小さい値へと更新され、ノッキングの発生頻度が低い場合には相対的に大きい値へと更新される。よって学習値Ｌには、エンジン２０のノック強度と判定値Ｄとの比較結果が反映されている。ステップＳ１４の処理は、ステップＳ１０で否定判定がなされた場合に、エンジン２０のノック強度と判定値Ｄとの比較結果が反映された学習値Ｌを更新する第１学習部が実行する処理の一例である。
【００３４】
次に、制御量Ｃ及び学習値Ｌに基づいて目標点火時期が算出される（ステップＳ１６）。具体的には、以下のようにして算出される。機関回転速度及び機関負荷に応じて、遅角反映量の制御限界となる最遅角点火時期を規定したマップが参照されて、最遅角点火時期が算出される。このマップは、予め実験により取得されＥＣＵ５０のメモリに記憶されている。最遅角点火時期は、ノッキングが確実に発生しないことが確認された点火時期の範囲の遅角側の限界値である。次に、ベース点火時期と最遅角点火時期との差分が最大遅角量として算出される。最大遅角量は、ベース点火時期に対する目標点火時期の遅角側の上限値である。最大遅角量に、学習値Ｌを減算し制御量Ｃを加算して、遅角反映量が算出される。その後、ベース点火時期に遅角反映量を加算して、目標点火時期が算出される。図３は、点火時期制御において算出される各種制御値の関係を示した図である。このようにして算出された目標点火時期と点火プラグ２７による点火時期が一致するように、点火プラグ２７の作動が制御される。ステップＳ１６の処理は、学習値Ｌに基づいてエンジン２０の目標点火時期を算出する算出部が実行する処理の一例である。
【００３５】
以上のように、気筒別空燃比処理の停止中では、更新された学習値Ｌに基づいて目標点火時期が算出されるが、気筒別空燃比処理の停止中に更新された学習値Ｌに基づいて目標点火時期が算出される。このため、気筒別空燃比処理が停止されて通常運転状態に復帰した直後では、気筒別空燃比処理の実行前の通常運転状態で更新された学習値Ｌに基づいて目標点火時期が算出される。従って、通常運転状態への復帰直後であっても通常運転状態に適した目標点火時期が算出され、ノッキングの発生を抑制しつつエンジン２０の出力トルクを確保できる。
【実施例２】
【００３６】
次に、実施例２の点火時期制御について説明する。実施例２の点火時期制御では、上記の実施例１の場合とは異なり、気筒別空燃比処理の実行中であっても学習処理が実行される。実施例２では、上述した学習値Ｌを更新する学習処理を第１学習処理と称し、詳しくは後述する学習値Ｌａを更新する学習処理については第２学習処理と称する。実施例２での点火時期制御は、ＥＣＵ５０のＣＰＵ、ＲＯＭ、及びＲＡＭにより機能的に実現される、実行判定部、第１及び第２学習部、第１禁止部、第１及び第２算出部により実現される。尚、実施例２において、上述した実施例１と同じ処理については、同一の符号を付することにより重複する説明を省略する。
【００３７】
図４は、実施例２の点火時期制御を示したフローチャートである。図４のフローチャートは、ＥＣＵ５０により所定期間毎に繰り返し実行される。最初に、気筒別空燃比処理の実行中であるか否かが判定される（ステップＳ１）。具体的には、上述した実施例のステップＳ１０の処理と同様の手法により判定される。ステップＳ１の処理は、上述した実行判定部が実行する処理の一例である。
【００３８】
ステップＳ１で否定判定の場合には、後述する第２学習処理の実行が禁止される（ステップＳ１´）。その後は、上述した実施例１と同様に、ステップＳ２、Ｓ４、Ｓ６又はＳ８が実行され、第１学習処理が実行され（ステップＳ１４）、その後にステップＳ１６の処理が順に実行される。この場合には上述したステップＳ１０及びＳ１２の処理は実行されない。ステップＳ１４の処理は、ステップＳ１で否定判定がなされた場合に、エンジン２０のノック強度と判定値Ｄとの比較結果が反映された学習値Ｌを更新する第１学習部が実行する処理の一例である。ステップＳ１６の処理は、学習値Ｌに基づいてエンジン２０の目標点火時期を算出する第１算出部が実行する処理の一例である。
【００３９】
ステップＳ１で肯定判定の場合には、第１学習処理の実行が禁止される（ステップＳ１ａ´）。即ち、第１実施例では、ステップＳ１ａ´の処理は、学習値Ｌの更新を禁止する第１禁止部が実行する処理の一例である。次に、ベース点火時期が算出される（ステップＳ２ａ）。具体的な算出手法は上述したステップＳ２と同様であるが、ステップＳ２ａでは、学習値Ｌではなく、気筒別空燃比処理の実行中に学習処理により更新される学習値Ｌａに基づいてベース点火時期が算出される。詳しくは後述する。
【００４０】
次に、エンジン２０のノック強度が所定の判定値Ｄａよりも大きいか否かが判定される（ステップＳ４ａ）。判定値Ｄａは、上述した判定値Ｄとは異なっており、気筒別空燃比処理の実行中にノッキングの発生の有無を判定できる値である。
【００４１】
ステップＳ４ａで肯定判定の場合には、制御量Ｃａが所定値Ａ１だけ加算・更新される（ステップＳ６ａ）。一方、ステップＳ４ａで否定判定の場合には、制御量Ｃａが所定値Ａ２だけ減算・更新される（ステップＳ８ａ）。制御量Ｃａは、上述の制御量Ｃとは異なる値であり、気筒別空燃比処理の実行中での目標点火時期の算出に用いられる値である。
【００４２】
次に、第２学習処理が実行される（ステップＳ１４ａ）。具体的には、制御量Ｃａが所定値Ａ３よりも大きい場合には学習値Ｌａが所定値Ａ５だけ減算・更新され、制御量Ｃａが所定値Ａ３以下であって所定値Ａ４より大きい場合には学習値Ｌａは更新されず、制御量Ｃが所定値Ａ４よりも小さい場合には学習値Ｌａが所定値Ａ６だけ加算・更新される。学習値Ｌａも、制御量Ｃａと同様に、気筒別空燃比処理の実行中での目標点火時期の算出に用いられる値である。ステップＳ１４ａの処理は、ステップＳ１で肯定判定がなされた場合に、エンジン２０のノック強度と判定値Ｄａとの比較結果が反映された学習値Ｌａを更新する第２学習部が実行する処理の一例である。
【００４３】
次に、制御量Ｃａ及び学習値Ｌａに基づいて、目標点火時期が算出される（ステップＳ１６ａ）。目標点火時期の算出手法は、ステップＳ１６と同様に以下のようにして算出される。機関回転速度及び機関負荷に応じて、最遅角点火時期が算出される。次に、ベース点火時期と最遅角点火時期との差分が最大遅角量として算出される。最大遅角量は、ベース点火時期に対する目標点火時期の遅角側の上限値である。最大遅角量に、学習値Ｌａを減算し制御量Ｃａを加算して、遅角反映量が算出される。その後、ベース点火時期に遅角反映量を加算して、気筒別空燃比処理の実行中での目標点火時期が算出される。ステップＳ１６ａの処理は、学習値Ｌａに基づいてエンジン２０の目標点火時期を算出する第２算出部が実行する処理の一例である。
【００４４】
以上のように、気筒別空燃比処理の実行中では、気筒別空燃比処理が停止中に更新された学習値Ｌではなく、気筒別空燃比処理の実行中に更新された学習値Ｌａに基づいて目標点火時期が算出される。このため、気筒別空燃比処理に適した目標点火時期が算出される。また、通常運転状態から気筒別空燃比処理が開始された直後であっても、前回の気筒別空燃比処理において更新された学習値Ｌａに基づいて目標点火時期が算出される。このため、気筒別空燃比処理の実行中であっても、ノッキングの発生を抑制しつつ出力トルクを確保できる。
【００４５】
尚、実施例２の点火時期制御においても、気筒別空燃比処理が停止中である通常運転状態では、通常運転状態で学習処理により更新された学習値Ｌに基づいて目標点火時期が算出される。このため、気筒別空燃比処理の実行中から通常運転状態に復帰した直後であっても、気筒別空燃比処理が実行される前の通常運転状態で更新された学習値Ｌに基づいて通常運転状態に適した目標点火時期が算出される。このため、ノッキングの発生を抑制しつつ出力トルクを確保できる。
【実施例３】
【００４６】
次に、実施例３の点火時期制御について説明する。実施例３の点火時期制御では、上記の実施例１及び２とは異なり、気筒別空燃比処理の実行中であっても学習処理が実行される場合と禁止される場合とがある。実施例３での点火時期制御は、ＥＣＵ５０のＣＰＵ、ＲＯＭ、及びＲＡＭにより機能的に実現される、実行判定部、期間判定部、第１及び第２学習部、第１及び第２禁止部、第１及び第２算出部により実現される。尚、実施例３において、上述した実施例１及び２と同じ処理については、同一の符号を付することにより重複する説明を省略する。
【００４７】
図５は、実施例３の点火時期制御を示したフローチャートである。図５のフローチャートは、ＥＣＵ５０により所定期間毎に繰り返し実行される。ステップＳ１で肯定判定の場合には、ステップＳ２ａ、４ａ、６ａ又は８ａの処理が実行され、次にエンジン２０の状態が冷間始動直後であるかどうかが判定される（ステップＳ１１ａ）。具体的には、水温センサ２９により検出された冷却水の温度が所定の温度以下であってイグニッションスイッチ１６がＯＮとなってエンジン２０が始動されてから所定の期間内である場合には、エンジン２０の状態は冷間始動直後であると判定される。ここで、エンジン２０の冷間始動時には、三元触媒３１の暖機を目的とした気筒別空燃比処理が実行される。また、冷間始動時での三元触媒３１の暖機を目的とした気筒別空燃比処理の実行が継続される期間は、上述した三元触媒３１の再生を目的とした気筒別空燃比処理よりも短く制御される。三元触媒３１の暖機を目的とする場合には、三元触媒３１の温度を三元触媒３１の浄化性能が活性化する活性化温度にまで昇温させればよい。一方、三元触媒３１の浄化性能を再生するためには、三元触媒３１の温度を活性化温度よりも更に高温の状態とし、この高温状態に比較的長期間維持する必要があるからである。例えば、冷間始動時での三元触媒３１の暖機を目的とする気筒別空燃比処理の継続期間は数十秒程度であるのに対し、三元触媒３１の再生を目的とする気筒別空燃比処理の継続期間は数分から数十分程度である。
【００４８】
ステップＳ１１ａで肯定判定の場合には、気筒別空燃比処理の実行が継続される予定の期間が比較的短期であると判定でき、ステップＳ１１ａで否定判定の場合には、気筒別空燃比処理の継続予定期間は比較的長期であると判定できる。尚、ステップＳ１１ａの処理は、三元触媒３１の暖機を要求する暖機要求フラグを参照して判定してもよい。ステップＳ１１ａの処理は、ステップＳ１で肯定判定がなされた場合に、気筒別空燃比処理の実行が継続される予定の期間が所定期間よりも短いか否かを判定する期間判定部が実行する処理の一例である。
【００４９】
ステップＳ１１ａで肯定判定の場合には、学習値Ｌａの更新をする第２学習処理が禁止される（ステップＳ１２ａ）。即ち、継続期間が比較的短期である気筒別空燃比処理の実行中には、継続期間が比較的長期である気筒別空燃比処理の実行中に更新された学習値Ｌａに基づいて、目標点火時期が算出される（ステップＳ１６ａ）。気筒別空燃比処理が短期間のみ継続される場合には、学習処理を実行しなくても、ノッキングや出力トルクに大きな影響を与えないためである。また、学習処理の実行に伴う処理負荷の増大も抑制できる。ステップＳ１２ａの処理は、ステップＳ１１ａで肯定判定の場合に、学習値Ｌａの更新を禁止する第２禁止部が実行する処理の一例である。
【００５０】
ステップＳ１１ａで否定判定の場合には、第２学習処理が実行されて学習値Ｌａが更新され（ステップＳ１４ａ）、目標点火時期が算出される（ステップＳ１６ａ）。即ち、継続期間が比較的長期である気筒別空燃比処理の実行中には、この気筒別空燃比処理の実行中に更新された学習値Ｌａに基づいて、目標点火時期が算出される。ステップＳ１４ａの処理は、ステップＳ１１ａで否定判定の場合に、エンジン２０のノック強度と判定値Ｄａとの比較結果が反映された学習値Ｌａを更新する第２学習部が実行する処理の一例である。
【００５１】
以上のように、実行の継続期間が比較的短期となる気筒別空燃比処理の実行中では学習値Ｌａは更新されず、更新されていない学習値Ｌａに基づいて目標点火時期が算出される。気筒別空燃比処理の継続期間が比較的短期であるため、更新されていない学習値Ｌａに基づいて目標点火時期が算出されたとしても、ノッキングや出力トルクへの影響は少なく、また学習値Ｌａを更新するための処理負荷が低減できる。
【００５２】
尚、実施例３の点火時期制御においても、実行の継続期間が比較的長期となる気筒別空燃比処理の実行中では、この気筒別空燃比処理の実行中に更新された学習値Ｌａに基づいて目標点火時期が算出される。このため、この気筒別空燃比処理の実行中であっても、ノッキングの発生を抑制しつつ内燃機関の出力トルクを確保できる。
【００５３】
また、実施例３の点火時期制御においても、気筒別空燃比処理が停止中である通常運転状態では、通常運転状態で学習処理により更新された学習値Ｌに基づいて目標点火時期が算出される。このため、気筒別空燃比処理の実行中から通常運転状態に復帰した直後であっても、気筒別空燃比処理が実行される前の通常運転状態で更新された学習値Ｌに基づいて通常運転状態に適した目標点火時期が算出される。このため、ノッキングの発生を抑制しつつ出力トルクを確保できる。
【００５４】
上記のステップＳ１１ａでは、エンジン２０の状態が冷間始動直後であるか否かを判定したがこれに限定されない。例えば三元触媒３１の再生を要求する再生要求フラグがＯＦＦの場合には気筒別空燃比処理の継続予定期間は比較的短期であり、再生要求フラグがＯＮの場合には気筒別空燃比処理の継続予定期間は比較的長期であると判定してもよい。また、三元触媒３１の推定又は実測された温度と三元触媒３１の目標温度との差分が所定値以下の場合には気筒別空燃比処理の継続予定期間は比較的短期であり、所定値より大きい場合には気筒別空燃比処理の継続予定期間は比較的長期であると判定してもよい。
【００５５】
以上、本発明の実施例について詳述したが、本発明はかかる特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００５６】
実施例２及び３の点火時期制御において、ステップＳ４ａでは判定値Ｄａを用いてノッキングの発生の有無を判定しているが、判定値は単一のものに限定されない。例えば、気筒別空燃比処理において、空燃比がリッチ空燃比に制御されている気筒でのノッキングの発生を判定する判定値と、空燃比がリーン空燃比に制御されている気筒でのノッキングの発生を判定する判定値とは異なる値であってもよい。ここで、気筒別空燃比処理においてリッチ空燃比に制御される気筒とリーン空燃比に制御される気筒とは予め定められており、燃焼行程が実行される気筒の順序も予めクランク角に対応付けされている。このため、燃焼行程がリッチ空燃比に制御された気筒によるものなのか、リーン空燃比に制御されている気筒によるものなのかを判別でき、各気筒の燃焼行程に対応した個別の判定値を用いることができる。また、この場合、リッチ空燃比に制御される気筒とリーン空燃比に制御される気筒とで、個別に制御量及び学習値を更新して目標点火時期を算出する。
【００５７】
上記実施例１〜３では、ノックセンサ２８によりエンジン２０のノック強度を検出したが、これに限定されず、例えば気筒毎に設けられた筒内圧センサの検出値に基づいて、エンジン２０のノック強度を算出してもよい。
【００５８】
上述した実施例１〜３では、気筒別空燃比処理において、目標空燃比を実現する燃料噴射量に対して増量補正又は減量補正により気筒別空燃比処理でのリッチ空燃比及びリーン空燃比を実現していたが、これに限定されない。即ち、気筒別空燃比処理において、何れか一の気筒の目標空燃比をリッチ空燃比に設定し、残りの他の気筒の目標空燃比をリーン空燃比に直接設定してもよい。
【符号の説明】
【００５９】
２０  エンジン（内燃機関）
２８  ノックセンサ
３１  三元触媒
５０  ＥＣＵ（実行判定部、第１学習部、第１禁止部、第１算出部）
【図１】
2018188975.tif 000003
【図２】
2018188975.tif 000004
【図３】
2018188975.tif 000005
【図４】
2018188975.tif 000006
【図５】
2018188975.tif 000007