(57)【要約】【課題】トルクを確保しつつノッキングを早期に解消するように点火時期を制御する内燃機関の制御装置を提供する。【解決手段】ＥＣＵ１０は、複数の気筒を有する内燃機関９０に適用される。ＥＣＵ１０は、複数の気筒におけるノッキングの発生有無を気筒毎に検出可能なノッキング検出部１１を備えている。ＥＣＵ１０は、ノッキング検出部１１によって検出されるノッキングの発生有無に基づいて点火時期を制御する点火時期制御として、すべての気筒の点火時期を制御する全気筒制御と、各気筒の点火時期を気筒毎に制御する気筒別制御と、を実行する点火時期制御部１２を備えている。さらにＥＣＵ１０は、内燃機関９０の始動が開始されてからの規定期間には点火時期制御部１２に全気筒制御を実行させ、全気筒制御の実行後、点火時期制御を全気筒制御から気筒別制御に移行させる移行部１３を備えている。【選択図】図１
2019070374.tif 000002
【特許請求の範囲】
【請求項１】
複数の気筒を有する内燃機関に適用され、
前記複数の気筒におけるノッキングの発生有無を気筒毎に検出可能なノッキング検出部と、
前記ノッキング検出部によって検出されるノッキングの発生有無に基づいて点火時期を制御する点火時期制御として、前記複数の気筒のいずれかの気筒におけるノッキングの発生有無に基づいて前記複数の気筒のすべての気筒の点火時期を制御する全気筒制御と、気筒毎のノッキングの発生有無に基づいて各気筒の点火時期を気筒毎に制御する気筒別制御と、を実行する点火時期制御部と、を備える内燃機関の制御装置であって、
内燃機関の始動が開始されてからの規定期間には前記点火時期制御部に前記全気筒制御を実行させ、該全気筒制御の実行後、前記点火時期制御を前記全気筒制御から前記気筒別制御に移行させる移行部を備える
内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、点火時期を制御する内燃機関の制御装置に関する。
【背景技術】
【０００２】
特許文献１には、ノッキングの発生を検出して点火時期を遅角する点火時期制御を行う制御装置が開示されている。
こうした点火時期制御を実行する内燃機関の制御装置については、特許文献１に開示されているように、いずれかの気筒でのノッキングの発生に基づいてすべての気筒について点火時期を遅角する全気筒制御と、各気筒でのノッキングの発生を検出して気筒毎に点火時期を遅角する気筒別制御と、が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７‐３２７３４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
全気筒制御では、ノッキングが発生していない気筒についても点火時期の遅角が行われるため、点火時期の遅角に伴うトルク低下によってトルクが不足することがあった。一方、気筒別制御では、各気筒で点火時期の遅角がそれぞれ行われるまでは各気筒でノッキングが発生する虞がある。このため、ノッキングが発生しやすい状況においては、いずれかの気筒でのノッキングの発生に基づいて全気筒の点火時期を遅角する全気筒制御と比較して、複数の気筒でのノッキングが連続して発生しやすいという問題があった。
【０００５】
こうした事情によって、全気筒制御と気筒別制御とを内燃機関の運転状態によって使い分けることが従来から提案されているが、トルクを確保しつつノッキングを早期に解消するように制御する制御態様について改善の余地があった。
【課題を解決するための手段】
【０００６】
上記課題を解決するための内燃機関の制御装置は、複数の気筒を有する内燃機関に適用され、前記複数の気筒におけるノッキングの発生有無を気筒毎に検出可能なノッキング検出部と、前記ノッキング検出部によって検出されるノッキングの発生有無に基づいて点火時期を制御する点火時期制御として、前記複数の気筒のいずれかの気筒におけるノッキングの発生有無に基づいて前記複数の気筒のすべての気筒の点火時期を制御する全気筒制御と、気筒毎のノッキングの発生有無に基づいて各気筒の点火時期を気筒毎に制御する気筒別制御と、を実行する点火時期制御部と、を備える内燃機関の制御装置であって、内燃機関の始動が開始されてからの規定期間には前記点火時期制御部に前記全気筒制御を実行させ、該全気筒制御の実行後、前記点火時期制御を前記全気筒制御から前記気筒別制御に移行させる移行部を備えることをその要旨とする。
【０００７】
内燃機関の始動時に気筒別制御を実行すると、ノッキングが連続して発生する虞がある。さらに、ノッキングの発生に伴う点火時期の遅角が気筒毎に行われることによってトルクが低下した状態が長引く虞がある。また、始動時から全気筒制御を実行し続けると、いずれかの気筒でノッキングが発生するたびにトルク低下を強いられることになる。上記構成によれば、ノッキングを抑制するための点火時期の遅角に起因したトルクの低下を抑制しつつ、ノッキングの早期解消に貢献することができる。
【図面の簡単な説明】
【０００８】
【図１】内燃機関の制御装置の一実施形態であるＥＣＵと、その制御対象である内燃機関とを示す関係図。
【図２】同ＥＣＵの移行部が実行する移行判定処理のフローチャート。
【図３】同ＥＣＵの点火時期制御部が実行する点火時期制御における基本的な処理の流れを示すフローチャート。
【図４】点火時期制御における学習処理の流れを示すフローチャート。
【図５】点火時期制御による点火時期の設定態様を説明する説明図。
【発明を実施するための形態】
【０００９】
以下、内燃機関の制御装置の一実施形態である電子制御ユニット（以下、「ＥＣＵ１０」という。）について、図１〜図５を参照して説明する。
図１に示すＥＣＵ１０が制御する内燃機関９０は、シリンダブロックに複数の気筒を備えている。各気筒の燃焼室９１には、吸気通路９４が接続されている。吸気通路９４には、スロットルバルブ９５が設けられている。また、吸気通路９４には、燃料噴射弁９６が設けられている。内燃機関９０では、吸気通路９４を通じて空気と燃料からなる混合気が燃焼室９１に導入される。
【００１０】
燃焼室９１には、点火プラグ９２が設けられている。燃焼室９１には、往復動可能なピストン９３が設けられている。内燃機関９０は、出力軸として、ピストン９３の往復動に連動して回転するクランクシャフト９８を備えている。燃焼室９１には、燃焼後の混合気を燃焼室９１から排出する排気通路９７が接続されている。
【００１１】
内燃機関９０には、エアフロメータ８１、クランクポジションセンサ８２、ノックセンサ８３、水温センサ８４等の各種センサが設けられている。エアフロメータ８１は、吸気通路９４を通じて燃焼室９１に吸入される空気の量である吸入空気量Ｇａを検出する。クランクポジションセンサ８２は、クランクシャフト９８の回転角であるクランク角や機関回転速度の算出などに用いられるクランク角の変化に応じた信号を出力する。ノックセンサ８３は、シリンダブロックに設けられており、気筒で発生したノッキングの強度に応じた信号を出力する。水温センサ８４は、内燃機関９０のウォータジャケットを循環する冷却水の温度として水温ＴＨＷを検出する。各種センサからの信号は、ＥＣＵ１０に入力される。
【００１２】
ＥＣＵ１０は、機能部として、ノッキング検出部１１と点火時期制御部１２と移行部１３とを備えている。
ノッキング検出部１１は、ノックセンサ８３から入力される信号に基づいて、ノッキングの発生有無を検出する。ノッキング検出部１１は、複数の気筒のうち、いずれの気筒でノッキングが発生したかを判別することもできる。
【００１３】
点火時期制御部１２は、点火時期を遅角又は進角する点火時期制御を実行する。点火時期制御は、ノッキングの発生が検出されていないときには徐々に点火時期を進角し、ノッキングの発生が検出されているときには徐々に点火時期を遅角することで、ノッキングの発生限界の直前まで点火時期を進角させるために行われる。なお、この点火時期制御では、ノッキングの発生限界となる点火時期を学習するための学習処理があわせて実行される。
【００１４】
点火時期制御部１２が実行する点火時期制御としては、複数の気筒のすべての気筒について点火時期を制御する全気筒制御と、各気筒について気筒毎に点火時期を制御する気筒別制御と、を含む。点火時期制御部１２は、後述する移行部１３からの指示に基づいて全気筒制御又は気筒別制御を実行する。
【００１５】
移行部１３は、内燃機関９０の始動後には全気筒制御の実行を点火時期制御部１２に指示する。また、移行部１３は、点火時期制御の移行判定処理を実行し、処理結果に基づいて点火時期制御を全気筒制御から気筒別制御に移行させる指示を点火時期制御部１２に対して行う。
【００１６】
図２を参照して、移行部１３が実行する移行判定処理の処理ルーチンについて説明する。本処理は、内燃機関９０の始動後、点火時期制御が全気筒制御から気筒別制御に切り替わるまで、所定時間毎に繰り返し実行される。
【００１７】
本処理ルーチンの実行が開始されると、まずステップＳ１０１において、移行部１３は、条件Ａが成立しているか否かを判定する。条件Ａが成立していない場合には（ステップＳ１０１：ＮＯ）、本処理ルーチンが一旦終了される。一方、条件Ａが成立している場合には（ステップＳ１０１：ＹＥＳ）、処理がステップＳ１０２に移行する。
【００１８】
ステップＳ１０１における条件Ａは、以下の条件（イ）、（ロ）の少なくとも一方が満たされている場合に成立していると判定される。
（イ）内燃機関９０の暖機が完了した時点からの経過時間が規定時間以上である。
（ロ）内燃機関９０の始動が開始されてからの吸入空気量Ｇａの積算値が規定値以上である。
【００１９】
なお、内燃機関９０の暖機が完了したか否かは、水温ＴＨＷに基づいて判定される。また、規定時間及び規定値には、内燃機関９０の始動が開始されてからの規定期間が経過したか否かを判定するための値が設定されている。
【００２０】
ステップＳ１０２では、条件Ｂが成立しているか否かを移行部１３が判定する。条件Ｂが成立していない場合には（ステップＳ１０２：ＮＯ）、本処理ルーチンが一旦終了される。一方、条件Ｂが成立している場合には（ステップＳ１０２：ＹＥＳ）、処理がステップＳ１０３に移行する。
【００２１】
ステップＳ１０２における条件Ｂは、以下の条件（ハ）、（ニ）の少なくとも一方が満たされている場合に成立していると判定される。
（ハ）アイドル運転中である。
（ニ）フューエルカット中である。
【００２２】
ステップＳ１０３では、移行部１３は、全気筒制御を終了して気筒別制御の実行を開始する指示を点火時期制御部１２に行う。これによって、気筒別制御の実行が開始される。その後、本処理ルーチンが終了される。
【００２３】
移行部１３が実行する移行判定処理では、上述した条件Ａ及び条件Ｂによって、点火時期制御の移行条件が構成されている。
次に、図３を参照して、点火時期制御の基本的な処理の流れを説明する。この一連の処理は、点火時期制御部１２及びノッキング検出部１１によって実行される。また、この一連の処理は、内燃機関９０の運転中に規定の制御周期毎に繰り返し実行される。なお、点火時期は、圧縮上死点を基準とした進角側へのクランク角で表される。すなわち、点火時期が圧縮上死点よりも進角側であるほど点火時期を示す値は大きくなる。
【００２４】
この一連の処理の実行が開始されると、まずステップＳ２０１において、点火時期制御部１２は、機関回転速度及び機関負荷に基づき、基本点火時期ＡＢＳＥ及び限界遅角点火時期ＡＫＭＦを算出する。なお、機関負荷は、エアフロメータ８１によって検出された吸入空気量Ｇａ等から求められる。
【００２５】
基本点火時期ＡＢＳＥは、内燃機関９０のトルク発生効率が最大となる最適点火時期、点火時期の進角限界であるノック限界点火時期のうち、いずれか遅角側の時期となっている。なお、ノック限界点火時期は、ノッキングが発生することが確認された点火時期の範囲の遅角側の限界値である。また、限界遅角点火時期ＡＫＭＦは、ノッキングが発生しやすい条件下であってもノッキングが発生しないことが確認された点火時期の範囲の進角側の限界値である。
【００２６】
なお、燃料消費率の改善の点では、最終的に設定される点火時期（目標点火時期ＡＯＰ）は、可能な限り基本点火時期ＡＢＳＥに近い時期に設定することが有利である。一方、限界遅角点火時期ＡＫＭＦよりも遅角側の時期に目標点火時期ＡＯＰを設定しても、ノッキングの抑制の点では無意味である。そのため、点火時期制御において目標点火時期ＡＯＰは、限界遅角点火時期ＡＫＭＦから基本点火時期ＡＢＳＥまでの範囲内で制御される。
【００２７】
ステップＳ２０１において基本点火時期ＡＢＳＥ及び限界遅角点火時期ＡＫＭＦが算出された後、処理がステップＳ２０２に移行する。
ステップＳ２０２では、点火時期制御部１２が、基本点火時期ＡＢＳＥから限界遅角点火時期ＡＫＭＦを引いた差を、限界遅角量ＡＫＭＡＸの値として設定する。その後、処理がステップＳ２０３に移行する。なお、限界遅角量ＡＫＭＡＸは、点火時期制御における基本点火時期ＡＢＳＥに対する目標点火時期ＡＯＰの遅角量の上限値となっている。
【００２８】
ステップＳ２０３では、ノックセンサ８３の検出結果に基づき、ノッキング検出部１１がノッキングの発生の有無を確認する。ノッキングが発生していないことが確認された場合には（ステップＳ２０３：ＮＯ）、処理がステップＳ２０４に移行する。ステップＳ２０４では、点火時期制御部１２がノック制御量ＡＫＣＳの値を減少させる。このときのノック制御量ＡＫＣＳの減少量は、定数とされている。
【００２９】
一方、ステップＳ２０３においてノッキングの発生が確認された場合には（ステップＳ２０３：ＹＥＳ）、処理がステップＳ２０５に移行する。ステップＳ２０５では、点火時期制御部１２は、ノック制御量ＡＫＣＳの値を増加させる。なお、ノック制御量ＡＫＣＳは、クランク角で表され、大きいほど点火時期を遅角させる量が大きいことを示す値であり、初期値は「０」である。このときのノック制御量ＡＫＣＳの増加量は、検出されたノッキングの強度や発生頻度に応じて設定される。ここでは、ノッキングの強度が大きいほど、あるいはノッキングの発生頻度が高いほど、ノック制御量ＡＫＣＳの増加量は大きくされる。
【００３０】
これらステップＳ２０４又はステップＳ２０５におけるノック制御量ＡＫＣＳの更新後には、処理がステップＳ２０６に移行する。
ステップＳ２０６では、点火時期制御部１２によって、基本点火時期ＡＢＳＥからの点火時期の遅角量である点火時期遅角量ＡＫＮＫが算出される。点火時期遅角量ＡＫＮＫの算出は、限界遅角量ＡＫＭＡＸに、ノック制御量ＡＫＣＳを加算し、ノック学習値ＡＧＫＮＫを減算することで行われる（ＡＫＮＫ←ＡＫＭＡＸ＋ＡＫＣＳ−ＡＧＫＮＫ）。なお、ノック学習値ＡＧＫＮＫは、クランク角で表され、大きいほど点火時期を進角させる量が大きいことを示す値であり、後述の学習処理において設定される値である。
【００３１】
ステップＳ２０６において点火時期遅角量ＡＫＮＫが算出されると、処理がステップＳ２０７に移行する。ステップＳ２０７では、点火時期制御部１２によって、目標点火時期ＡＯＰが設定される。目標点火時期ＡＯＰの設定は、基本点火時期ＡＢＳＥを点火時期遅角量ＡＫＮＫの分だけ遅角側に補正することによって行われる。具体的には、基本点火時期ＡＢＳＥから点火時期遅角量ＡＫＮＫを減算した差を目標点火時期ＡＯＰとする。（ＡＯＰ←ＡＢＳＥ−ＡＫＮＫ）。
【００３２】
こうしてステップＳ２０７において目標点火時期ＡＯＰが設定されると、この一連の処理が一旦終了される。そして、点火時期制御部１２は、ここで設定した目標点火時期ＡＯＰにおいて点火が行われるように、点火プラグ９２を制御する。
【００３３】
次に、図４を参照して、点火時期制御における学習処理の処理ルーチンについて説明する。この学習処理は、図３を参照して説明した点火時期制御の基本的な処理に引き続き、図３を参照して説明した一連の処理が次に開始されるまでの間に、ＥＣＵ１０の点火時期制御部１２によって実行される。
【００３４】
本処理ルーチンが開始されると、まずステップＳ３０１において、ノック制御量ＡＫＣＳの徐変値が規定の正の値「α」よりも大きいか否かが点火時期制御部１２によって判定される。ノック制御量ＡＫＣＳの徐変値とは、ノック制御量ＡＫＣＳに対してその増減速度を鈍化させる処理を施した値、いわゆるなまし値である。ステップＳ３０１において、ノック制御量ＡＫＣＳの徐変値が「α」以下であると判定された場合には（ステップＳ３０１：ＮＯ）、処理がステップＳ３０２に移行する。
【００３５】
ステップＳ３０２では、ノック制御量ＡＫＣＳの徐変値が「−α」よりも小さいか否かを点火時期制御部１２が判定する。ステップＳ３０２において、ノック制御量ＡＫＣＳの徐変値が「−α」よりも小さい場合（ステップＳ３０２：ＹＥＳ）、処理がステップＳ３０３に移行する。
【００３６】
ステップＳ３０３では、点火時期制御部１２は、ノック学習値ＡＧＫＮＫの値を規定の量だけ増加させる。なお、ステップＳ３０３では、ノック学習値ＡＧＫＮＫの値を規定の量だけ増加させるとともに、ノック制御量ＡＫＣＳの値も同様に規定の量だけ増加させる。また、ノック学習値ＡＧＫＮＫの初期値は「０」であり、規定の量は、「α」よりも小さい値とされている。こうしてステップＳ３０３において、ノック学習値ＡＧＫＮＫの値を更新すると、本処理ルーチンが一旦終了される。
【００３７】
一方、ステップＳ３０２において、ノック制御量ＡＫＣＳの徐変値が「−α」以上である場合（ステップＳ３０２：ＮＯ）、点火時期制御部１２は、ノック学習値ＡＧＫＮＫの値の変更及びノック制御量ＡＫＣＳの値の変更は行わず、そのまま本処理ルーチンが一旦終了される。なお、この場合は、ノック制御量ＡＫＣＳの徐変値が「−α」以上且つ「α」以下である。
【００３８】
ステップＳ３０１において、ノック制御量ＡＫＣＳの徐変値が「α」よりも大きいと判定された場合には（ステップＳ３０１：ＹＥＳ）、処理がステップＳ３０４に移行する。
ステップＳ３０４では、点火時期制御部１２は、ノック学習値ＡＧＫＮＫの値を規定の量だけ減少させる。なお、ステップＳ３０４では、ノック学習値ＡＧＫＮＫの値を規定の量だけ減少させるとともに、ノック制御量ＡＫＣＳの値も同様に規定の量だけ減少させる。また、ノック学習値ＡＧＫＮＫの初期値は「０」であり、規定の量は、「α」よりも小さい値とされている。こうしてステップＳ３０４において、ノック学習値ＡＧＫＮＫの値を更新すると、本処理ルーチンが一旦終了される。
【００３９】
図５に示されているように、図３及び図４を参照して説明した点火時期制御によれば、基本点火時期ＡＢＳＥからの点火時期の遅角量である点火時期遅角量ＡＫＮＫは、限界遅角量ＡＫＭＡＸを、ノック学習値ＡＧＫＮＫの値の分だけ減少させるように補正し、ノック制御量ＡＫＣＳの値の分だけ増加させるように補正した量に設定される。上記のように、ノック制御量ＡＫＣＳの値は、ノッキングの発生が確認されているときには増加し、確認されていないときには減少する。よって、基本点火時期ＡＢＳＥから点火時期遅角量ＡＫＮＫの分だけ遅角した点火時期である目標点火時期ＡＯＰは、ノッキングの発生が確認されるようになるまで、徐々に進角されていき、やがてその値は、ノッキングが発生するようになる点火時期の直前まで進角された点火時期に落ち着くようになる。また、ノック学習値ＡＧＫＮＫの値は、ノック制御量ＡＫＣＳの絶対値が大きくなると、ノック制御量ＡＫＣＳの絶対値を小さくするように、学習処理を通じて更新される。
【００４０】
なお、ノック制御量ＡＫＣＳの値は、イグニッションスイッチが「ＯＦＦ」になると「０」にリセットされるが、ノック学習値ＡＧＫＮＫの値は、イグニッションスイッチが「ＯＦＦ」にされた後もＥＣＵ１０が備える記憶領域に保持され、次の機関運転時における点火時期制御に引き継がれる。
【００４１】
全気筒制御及び気筒別制御は、図３及び図４を用いて説明した点火時期制御の基本的な処理の流れに基づいて実行されるが、以下の点においてそれぞれ異なる処理が行われる。
全気筒制御では、図３のステップＳ２０３において、ノッキング検出部１１によって複数の気筒のうちいずれかの気筒でノッキングが発生しているか否かが判定される。この判定結果に基づいてステップＳ２０４以降の処理が実行され、すべての気筒に対して点火時期遅角量ＡＫＮＫが設定される。
【００４２】
気筒別制御では、図３及び図４を用いて説明した点火時期制御の一連の処理が各気筒に対して気筒毎に行われる。
さらに、ＥＣＵ１０で実行される点火時期制御では、ノック学習値ＡＧＫＮＫとして、図５に示すように、共通学習値ＡＧＫＮＫＣＯＭと気筒別学習値ＡＧＫＮＫＣＹＬ（ｎ）との和を用いる。なお、「ｎ」は正の整数であり、内燃機関９０の気筒の番号と対応している。各気筒では、各気筒に対応した気筒別学習値ＡＧＫＮＫＣＹＬ（ｎ）を用いて点火時期制御が行われる。共通学習値ＡＧＫＮＫＣＯＭと気筒別学習値ＡＧＫＮＫＣＹＬ（ｎ）は、ＥＣＵ１０が備える記憶領域の別の区画にそれぞれ保存されている。
【００４３】
共通学習値ＡＧＫＮＫＣＯＭは、全気筒制御の学習処理において更新される。全気筒制御の学習処理では、気筒別学習値ＡＧＫＮＫＣＹＬ（ｎ）は、その値が保持される。すなわち、全気筒制御におけるステップＳ３０３及びＳ３０４の処理では、気筒別学習値ＡＧＫＮＫＣＹＬ（ｎ）の値を保持して共通学習値ＡＧＫＮＫＣＯＭの値を更新することで、ノック学習値ＡＧＫＮＫを更新する。
【００４４】
一方、気筒別学習値ＡＧＫＮＫＣＹＬ（ｎ）は、気筒別制御の学習処理において更新される。気筒別制御の学習処理では、共通学習値ＡＧＫＮＫＣＯＭは、その値が保持される。すなわち、気筒別制御におけるステップＳ３０３及びＳ３０４の処理では、共通学習値ＡＧＫＮＫＣＯＭの値を保持して気筒別学習値ＡＧＫＮＫＣＹＬ（ｎ）の値を更新することで、ノック学習値ＡＧＫＮＫを更新する。
【００４５】
このように、ノック学習値ＡＧＫＮＫを構成する一方の学習値は、他方の学習値についての学習処理の影響を受けずに保持される。
次に本実施形態にかかるＥＣＵ１０の作用とともに、その効果について説明する。
【００４６】
ＥＣＵ１０によれば、点火時期制御として全気筒制御を実施する期間を、内燃機関９０の始動が開始されてからの規定期間、具体的には移行条件が成立するまでの期間としている。これによって、トルク低下に起因してトルク不足が生じ得る期間を短くすることができる。すなわち、ノッキングを抑制するための点火時期の遅角に起因したトルクの低下を抑制しつつ、ノッキングの早期解消に貢献することができる。
【００４７】
さらに、ＥＣＵ１０では、点火時期制御を全気筒制御から気筒別制御に移行するか否かを判定するための移行条件として条件Ａを設定している。これによって内燃機関９０の始動が開始されてから規定期間が経過したか否かを判定できる。また、条件Ｂを設定していることによって、点火時期制御の移行がアイドル運転中又はフューエルカット中であるときに限り実行される。これによって、点火時期制御を移行した際にトルク変動が生じることを抑制できる。
【００４８】
例えば、燃料の補給がされた際に、燃料タンク内の燃料の性状と補給された燃料の性状とが異なる場合には、全気筒制御での共通学習値ＡＧＫＮＫＣＯＭの学習によって、補給前後での燃料性状の差異が共通学習値ＡＧＫＮＫＣＯＭに反映される。その後、気筒別制御に移行した際には、ノック学習値ＡＧＫＮＫが共通学習値ＡＧＫＮＫＣＯＭと気筒別学習値ＡＧＫＮＫＣＹＬ（ｎ）との和であるため、燃料性状の差異が反映された共通学習値ＡＧＫＮＫＣＯＭを用いて点火時期遅角量ＡＫＮＫの算出が行われる。これによって、全気筒制御から気筒別制御への移行後に燃料性状の差異を再び学習することなく、気筒別制御に燃料性状の差異を速やかに反映することができる。
【００４９】
また、仮に全気筒制御と気筒別制御とにおいて、学習値の記憶領域が共通であれば、点火時期制御の切り換えに伴って学習値が上書きされることになり、移行前の学習値がリセットされてしまう。この点、ＥＣＵ１０によれば、全気筒制御から気筒別制御に点火時期制御が移行された後、全気筒制御が再び実行されたときにも、前回実行時の全気筒制御における共通学習値ＡＧＫＮＫＣＯＭが保持されている。すなわち、学習が反映されている共通学習値ＡＧＫＮＫＣＯＭを用いて点火時期制御を実行することができる。
【００５０】
なお、上記実施形態は、これを適宜変更した以下の形態にて実施することもできる。
・上記実施形態において図３及び図４を用いて説明した処理の流れは、点火時期制御の処理の一例である。点火時期制御の具体的な処理の流れは、これに限定されるものではなく適宜変更可能である。
【００５１】
・上記実施形態では、点火時期制御を全気筒制御から気筒別制御に移行する移行条件として条件Ａ及びＢを設定しているが、条件Ａ及びＢからなる移行条件は、変更が可能である。例えば、条件Ａのみを移行条件として採用することもできる。また、内燃機関９０の始動が開始されてから規定期間が経過したことを判定するように設定された条件であれば、条件Ａに替えて適宜採用することができる。例えば、規定期間に相当する実時間を実験等によって導出し、始動の開始から実時間が経過したことをもって移行条件を満たしたと判定してもよい。
【００５２】
・上記実施形態では、ＥＣＵ１０の制御対象を図１に示した内燃機関９０としているが、複数の気筒を有する内燃機関であればＥＣＵ１０を適用することができる。
【符号の説明】
【００５３】
１０…ＥＣＵ、１１…ノッキング検出部、１２…点火時期制御部、１３…移行部、８１…エアフロメータ、８２…クランクポジションセンサ、８３…ノックセンサ、８４…水温センサ、９０…内燃機関、９１…燃焼室、９２…点火プラグ、９３…ピストン、９４…吸気通路、９５…スロットルバルブ、９６…燃料噴射弁、９７…排気通路、９８…クランクシャフト。
【図１】
2019070374.tif 000003
【図２】
2019070374.tif 000004
【図３】
2019070374.tif 000005
【図４】
2019070374.tif 000006
【図５】
2019070374.tif 000007