(57)【特許請求の範囲】
【請求項１】
複数の気筒を備えた内燃機関の制御装置であって、
前記複数の気筒におけるノッキング発生を、気筒間を区別して検出するノック検出部と、
前記複数の気筒全体での前記ノッキング発生の有無に基づいて、各前記気筒間で共通の点火時期学習値を設定する共通学習部と、
前記複数の気筒のそれぞれにおける一定期間内でのノック発生頻度に基づいて、前記複数の気筒のそれぞれに独立の点火時期学習値を設定する気筒間学習部と、
前記共通の点火時期学習値と前記独立の点火時期学習値に基づいて、前記複数の気筒のそれぞれにおける点火時期を算出する点火時期算出部と、
前記内燃機関の運転状態が、前記点火時期の変化に対するノックレベルの変化感度が相対的に低い運転状態であることを示す所定条件を成立させるものであるか否かを判定する学習条件判定部とを備え、
前記気筒間学習部は、前記所定条件の成立時には、現在の前記ノック発生頻度に従って前記独立の点火時期学習値を更新する一方で、前記所定条件の非成立時には、現在の前記ノック発生頻度によらず前記独立の点火時期学習値を現在値に維持し、
前記制御装置は、
前記ノッキングが発生した際の点火時期の実績に基づいて、各前記気筒内でのデポジット付着度合を推定するデポジット付着推定部をさらに備え、
前記学習条件判定部は、推定された前記デポジット付着度合が所定より大きいときに、前記所定条件が成立したと判定する、内燃機関の制御装置。
【請求項２】
前記共通学習部は、前記複数の気筒のいずれかで前記ノッキング発生が検出されるのに応答して前記点火時期が遅角側へ修正されるように前記共通の点火時期学習値を設定する一方で、前記複数の気筒のいずれにも前記ノッキング発生が検出されないのに応答して前記点火時期が進角側へ修正されるように前記共通の点火時期学習値を設定し、
前記気筒間学習部は、前記ノック発生頻度が高い気筒において前記点火時期が遅角側に修正されるように、前記独立の点火時期学習値を設定し、
前記点火時期算出部は、前記共通の点火時期学習値および前記独立の点火時期学習値に基づいて、前記複数の気筒のそれぞれにおける点火時期を算出する、請求項１記載の内燃機関の制御装置。
【請求項３】
前記学習条件判定部は、前記内燃機関の回転速度、負荷、吸気温度、および、冷却水温度のうちの少なくとも１つに基づいて、前記所定条件の成立を判定する、請求項１または２記載の内燃機関の制御装置。
【請求項４】
前記共通の点火時期学習値および気筒毎の前記独立の点火時期学習値は、前記制御装置の電源初期化に応答して初期化される、請求項１または２記載の内燃機関の制御装置。
【請求項５】
複数の気筒を備えた内燃機関の制御方法であって、
前記複数の気筒におけるノッキング発生を、気筒間を区別して検出するステップと、
前記検出するステップでの検出結果に基づいて、前記複数の気筒のそれぞれにおける一定期間内でのノック発生頻度を更新するステップと、
前記複数の気筒全体での前記ノッキング発生の有無に基づいて、各前記気筒間で共通の点火時期学習値を設定するステップと、
前記内燃機関の運転状態が、点火時期の変化に対するノックレベルの変化感度が相対的に低い運転状態であることを示す所定条件を成立させるものであるか否かを判定するステップと、
前記所定条件の成立時に、前記更新するステップで更新された前記複数の気筒のそれぞれにおける前記ノック発生頻度に基づいて、更前記複数の気筒のそれぞれに独立の点火時期学習値を更新するステップと、
前記所定条件の非成立時には、前記ノック発生頻度によらず、前記独立の点火時期学習値を現在値に維持するステップと、
前記共通の点火時期学習値と前記独立の点火時期学習値に基づいて、前記複数の気筒のそれぞれにおける点火時期を算出するステップと、
前記ノッキングが発生した際の点火時期の実績に基づいて、各前記気筒内でのデポジット付着度合を推定するステップとを備え、
前記判定するステップは、推定された前記デポジット付着度合が所定より大きいときに、前記所定条件が成立したと判定する、内燃機関の制御方法。
【請求項６】
前記共通の点火時期学習値を設定するステップは、前記複数の気筒のいずれかで前記ノッキング発生が検出されるのに応答して前記点火時期が遅角側へ修正されるように前記共通の点火時期学習値を設定する一方で、前記複数の気筒のいずれにも前記ノッキング発生が検出されないのに応答して前記点火時期が進角側へ修正されるように前記共通の点火時期学習値を設定し、
前記独立の点火時期学習値を更新するステップは、気筒間学習部は、前記ノック発生頻度が高い気筒において前記点火時期が遅角側に修正されるように、前記独立の点火時期学習値を更新し、
前記点火時期を算出するステップは、前記共通の点火時期学習値および前記独立の点火時期学習値に基づいて、前記複数の気筒のそれぞれにおける点火時期を算出する、請求項５記載の内燃機関の制御方法。
【請求項７】
前記判定するステップは、前記内燃機関の回転速度、負荷、吸気温度、および、冷却水温度のうちの少なくとも１つに基づいて前記所定条件の成立を判定する、請求項５または６記載の内燃機関の制御方法。
【請求項８】
前記共通の点火時期学習値および気筒毎の前記独立の点火時期学習値は、前記制御方法を実行する制御ユニットの電源初期化に応答して初期化される、請求項５記載の内燃機関の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、内燃機関の制御装置および制御方法に関し、より特定的には、ノック検出に基づく点火時期制御に関する。
【背景技術】
【０００２】
自動車用ガソリンエンジンなどの内燃機関において、ノッキングの発生による振動を検知するノックセンサの出力に基づいて、ノッキングが検知されない間は点火時期を徐々に進角させる一方で、ノッキングの発生時は点火時期を遅角側に調整する点火時期制御が知られている。このような点火時期制御によれば、ノック発生を抑制するとともに、エンジンの出力および燃費を適切に制御することができる。
【０００３】
また、特開平９−１２６１０７号公報（特許文献１）では、複数気筒を備えるエンジンにおいて、各気筒の点火時期を所定のエンジン回転数以上の運転領域で独立に制御するエンジンの運転制御装置が記載されている。
【０００４】
また、特開平５−１４１３３４号公報（特許文献２）および特開２００７−３２４３５号公報（特許文献３）には、複数の気筒を備えた内燃機関におけるノック検知結果に基づく点火時期制御（ノック制御）が記載されている。
【０００５】
特に、特許文献２では、エンジンの運転領域を複数領域に区分するとともに、各運転領域において全気筒共通の平均学習値を算出するとともに、特定領域のみで気筒別に学習値を算出する。さらに、当該特定領域以外の他領域では、全気筒共通の平均学習値の領域間差を気筒別学習値に反映することによって、それぞれの気筒の点火時期を制御している。
【０００６】
また、特許文献３による点火時期制御では、ノッキング遅角量の気筒間差の制限値を気筒毎に設定するとともに、最遅角気筒のノッキング遅角量を基準として、他の気筒のノッキング遅角量が上記制限値を超えないように制御することが記載されている。
【特許文献１】特開平９−１２６１０７号公報
【特許文献２】特開平５−１４１３３４号公報
【特許文献３】特開２００７−３２４３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献２には、エンジンの運転状態に応じて、特定の運転領域においてノッキングの発生有無に基づく点火時期学習値を気筒別に設定することが記載されている。
【０００８】
しかしながら、エンジンの回転数（回転速度）および負荷のみによって気筒別学習を実行する運転領域を決定しているので、ノッキングの発生に気筒間差が発生する条件を適切に抽出できないおそれがある。すなわち、回転数および負荷で示されるエンジンの運転状態以外の要素でノッキングの発生に気筒間差が発生しやすくなった状況において、その気筒間差を学習値に適切に反映できない可能性があり、気筒間差の学習を適切に実行できないおそれがある。
【０００９】
この発明は、このような問題点を解決するためになされたものであって、この発明の目的は、複数の気筒を備えた内燃機関において、ノッキングの発生頻度の気筒間差を反映した適切な点火時期制御を行なうことである。
【課題を解決するための手段】
【００１０】
この発明による内燃機関の制御装置は、複数の気筒を備えた内燃機関の制御装置であって、ノック検出部と、共通学習部と、気筒間学習部と、点火時期算出部と、学習条件判定部とを備える。ノック検出部は、複数の気筒におけるノッキング発生を、気筒間を区別して検出するように構成される。共通学習部は、複数の気筒全体でのノッキング発生の有無に基づいて、各気筒間で共通の点火時期学習値を設定するように構成される。気筒間学習部は、複数の気筒のそれぞれにおける一定期間内でのノック発生頻度に基づいて、複数の気筒のそれぞれに独立の点火時期学習値を設定するように構成される。点火時期算出部は、共通の点火時期学習値と独立の点火時期学習値に基づいて、複数の気筒のそれぞれにおける点火時期を算出するように構成される。学習条件判定部は、内燃機関の運転状態が、点火時期の変化に対するノックレベルの変化感度が相対的に低い運転状態であることを示す所定条件を成立させるものであるか否かを判定するように構成される。そして、気筒間学習部は、所定条件の成立時には、現在のノック発生頻度に従って独立の点火時期学習値を更新する一方で、所定条件の非成立時には、現在のノック発生頻度によらず独立の点火時期学習値を現在値に維持する。
【００１１】
この発明による内燃機関の制御方法は、複数の気筒を備えた内燃機関の制御方法であって、複数の気筒におけるノッキング発生を、気筒間を区別して検出するステップと、検出するステップでの検出結果に基づいて、複数の気筒のそれぞれにおける一定期間内でのノック発生頻度を更新するステップと、複数の気筒全体でのノッキング発生の有無に基づいて、各気筒間で共通の点火時期学習値を設定するステップと、内燃機関の運転状態が、点火時期の変化に対するノックレベルの変化感度が相対的に低い運転状態であることを示す所定条件を成立させるものであるか否かを判定するステップと、所定条件の成立時に、更新するステップで更新された複数の気筒のそれぞれにおけるノック発生頻度に基づいて、更複数の気筒のそれぞれに独立の点火時期学習値を更新するステップと、所定条件の非成立時には、ノック発生頻度によらず、独立の点火時期学習値を現在値に維持するステップと、共通の点火時期学習値と独立の点火時期学習値に基づいて、複数の気筒のそれぞれにおける点火時期を算出するステップとを備える。
【００１２】
上記内燃機関の制御装置および制御方法によれば、点火時期の変化に対するノックレベルの変化感度が相対的に低く、ノック発生に気筒間差が生じやすい運転状態であるときに限って、ノック発生傾向の気筒間差を反映した、気筒毎に独立の点火時期学習値を更新する。そして、全運転領域にわたって、各気筒共通の学習値と、気筒毎に独立の学習値との和に従う共通の制御構造により点火時期制御を実行できる。したがって、気筒間でのノック発生傾向の差異の学習結果を反映した、内燃機関の出力および燃費を向上するための点火時期制御を、易な制御構造によって実行できる。
【００１３】
好ましくは、制御装置は、ノッキングが発生した際の点火時期の実績に基づいて、各気筒内でのデポジット付着度合を推定するデポジット付着推定部をさらに備える。そして、学習条件判定部は、推定されたデポジット付着度合が所定より大きいときに、所定条件が成立したと判定する。あるいは、制御方法は、ノッキングが発生した際の点火時期の実績に基づいて、各気筒内でのデポジット付着度合を推定するステップをさらに備える。そして、上記判定するステップは、推定されたデポジット付着度合が所定より大きいときに、所定条件が成立したと判定する。
【００１４】
このようにすると、ノッキングの発生に気筒間でばらつきが生じやすくなる、デポジット付着量が増大した状態において、気筒間で独立の点火時期学習値を更新することができる。このため、エンジン回転数（回転速度）および負荷のみに基づいて気筒間差の学習実行条件を判定する場合と比較して、ノック発生に気筒間差が生じやすい運転状態を適切に検出できる。
【００１５】
また好ましくは、学習条件判定部は、内燃機関の回転速度、負荷、吸気温度、および、冷却水温度のうちの少なくとも１つに基づいて、所定条件の成立を判定する。あるいは、上記判定するステップは、内燃機関の回転速度、負荷、吸気温度、および、冷却水温度のうちの少なくとも１つに基づいて所定条件の成立を判定する。
【００１６】
このようにすると、エンジン回転数（回転速度）および負荷のみに基づいて気筒間差の学習実行条件を判定する場合と比較して、ノック発生に気筒間差が生じやすい運転状態であることを適切に検出して、気筒間差でのノック発生頻度の差異を気筒毎に独立の学習値に反映することができる。
【００１７】
好ましくは、共通の点火時期学習値および気筒毎独立の点火時期学習値は、制御装置の電源初期化または制御方法を実行する制御ユニットの電源初期化に応答して初期化される。
【００１８】
このようにすると、点火時期学習値は、車両整備によるデポジット清掃に対応して制御装置（ＥＣＵ）のバッテリ初期化に応答して初期化される。このため、経年変化を適切に反映して、デポジット付着に依存したノック発生の気筒間差を学習値に適切に反映できる。
【発明の効果】
【００１９】
この発明によれば、複数の気筒を備えた内燃機関において、ノッキングの発生頻度の気筒間差を反映した適切な点火時期制御を行なうことができる。
【発明を実施するための最良の形態】
【００２０】
以下に、本発明の実施の形態について図面を参照して詳細に説明する。なお以下図中における同一または相当部分には同一符号を付してその説明は原則的に繰返さないものとする。
【００２１】
（エンジンシステムの全体構成）
図１は、本発明の実施の形態に係る内燃機関の制御装置を搭載した車両のエンジンシステムの構成を示す概略図である。
【００２２】
図１を参照して、エンジンシステムは、エンジン１００と、エンジンＥＣＵ（Electronic Control Unit）２００とを含む。エンジンＥＣＵ２００は、本発明の実施の形態に係る内燃機関の制御装置を構成する。あるいは、本発明の実施の形態に係る内燃機関の制御方法は、エンジンＥＣＵ２００が実行する制御処理により実現される。
【００２３】
エンジン１００には複数の気筒が設けられる。エンジン１００は、エアクリーナ１０２から吸入された空気とインジェクタ１０４から噴射される燃料との混合気を、燃焼室内で点火プラグ１０６により点火して燃焼させる内燃機関である。点火時期は、出力トルクが最大になるＭＢＴ（Minimum advance for Best Torque）になるように制御されるが、ノッキングが発生した場合など、エンジン１００の運転状態に応じて遅角されたり、進角されたりする。
【００２４】
混合気が燃焼すると、燃焼圧によりピストン１０８が押し下げられ、クランクシャフト１１０が回転する。燃焼後の混合気（排気ガス）は、三元触媒１１２により浄化された後、車外に排出される。エンジン１００に吸入される空気の量は、スロットルバルブ１１４により調整される。吸気バルブ１１６が開いた際に燃焼室に混合気が導入される。排気バルブ１１８が開いた際に燃焼室から排気ガスが排出される。
【００２５】
エンジン１００は、エンジンＥＣＵ２００により制御される。エンジンＥＣＵ２００には、ノックセンサ３００と、水温センサ３０２と、タイミングロータ３０４に対向して設けられたクランクポジションセンサ３０６と、スロットル開度センサ３０８と、車速センサ３１０と、イグニッションスイッチ３１２と、エアフローメータ３１４と、吸気温センサ３１６とが接続されている。
【００２６】
ノックセンサ３００は、エンジン１００のシリンダブロックに設けられる。ノックセンサ３００は、圧電素子により構成されている。ノックセンサ３００は、エンジン１００の振動により電圧を発生する。電圧の大きさは、振動の大きさと対応した大きさとなる。ノックセンサ３００は、電圧を表わす信号をエンジンＥＣＵ２００に送信する。水温センサ３０２は、エンジン１００のウォータージャケット内の冷却水の温度を検出し、検出結果を表わす信号を、エンジンＥＣＵ２００に送信する。
【００２７】
タイミングロータ３０４は、クランクシャフト１１０に設けられており、クランクシャフト１１０と共に回転する。タイミングロータ３０４の外周には、予め定められた間隔で複数の突起が設けられている。クランクポジションセンサ３０６は、タイミングロータ３０４の突起に対向して設けられている。タイミングロータ３０４が回転すると、タイミングロータ３０４の突起と、クランクポジションセンサ３０６とのエアギャップが変化するため、クランクポジションセンサ３０６のコイル部を通過する磁束が増減し、コイル部に起電力が発生する。クランクポジションセンサ３０６は、起電力を表わす信号を、エンジンＥＣＵ２００に送信する。エンジンＥＣＵ２００は、クランクポジションセンサ３０６から送信された信号に基づいて、クランク角およびクランクシャフト１１０の回転数を検出する。
【００２８】
スロットル開度センサ３０８は、スロットル開度を検出し、検出結果を表わす信号をエンジンＥＣＵ２００に送信する。車速センサ３１０は、車輪（図示せず）の回転数を検出し、検出結果を表わす信号をエンジンＥＣＵ２００に送信する。エンジンＥＣＵ２００は、車輪の回転数から、車速を算出する。イグニッションスイッチ３１２は、エンジン１００を始動させる際に、運転者によりオン操作される。エアフローメータ３１４は、エンジン１００に吸入される空気量を検出し、検出結果を表わす信号をエンジンＥＣＵ２００に送信する。吸気温センサ３１６は、吸入される空気の温度を検出し、検出結果を表わす信号をエンジンＥＣＵ２００に送信する。
【００２９】
エンジンＥＣＵ２００は、電源である補機バッテリ３２０から供給された電力により作動する。エンジンＥＣＵ２００は、各センサおよびイグニッションスイッチ３１２から送信された信号、ＲＯＭ（Read Only Memory）２０２に記憶されたマップおよびプログラムに基づいて演算処理を行ない、エンジン１００が所望の運転状態となるように、機器類を制御する。
【００３０】
（ノック検出に応じた点火時期制御）
以下に、ノックセンサ３００による検出結果に基づく各気筒での点火時期制御について詳細に説明する。以下の説明で明らかになるように、本発明の実施の形態によるエンジンシステムでは、複数の気筒のそれぞれにおいて点火時期は独立に制御される。
【００３１】
まず、図２および図３を用いて、複数の気筒を区別してノッキングの発生を検出するための構成について説明する。
【００３２】
図２には、一例として、Ｖ型８気筒エンジンにおけるノックセンサの配置例が示される。ただし、本発明の適用は、複数の気筒を有する内燃機関であれば、気筒数およびその配置態様を特に限定するものではないことについて確認的に記載する。
【００３３】
図２を参照して、本実施の形態におけるエンジンシステムは気筒＃１〜＃８を有する。エンジン１００における各気筒の点火順序は、気筒＃１→＃８→＃７→＃３→＃６→＃５→＃４→＃２→＃１であるものとする。したがって、気筒＃１および＃３の間にノックセンサ３００（１）を配置し、気筒＃２および＃４の間にノックセンサ３００（２）を配置し、気筒＃５および＃７の間にノックセンサ３００（３）を配置し、気筒＃６および＃８の間にノックセンサ３００（４）を配置する。
【００３４】
このようにすると、点火時期がおおよそ２７０°ＣＡ異なる２つの気筒間でノックセンサ３００を共有できる。すなわち、クランク角度と、ノックセンサ３００（１）〜３００（４）のそれぞれの出力信号ＫＮＫ１〜ＫＮＫ４とに基づいて、各気筒にノックセンサ３００を設けることなく、気筒間を区別したノッキングの検出を行なうことができる。
【００３５】
図３を参照して、気筒＃１〜＃８の各々について、燃焼行程に対応させて所定のノック検出ゲートＴｇが設定される。そして、ノック検出ゲートＴｇ期間中において、対応のノックセンサ３００よって検出された振動波形に基づいて、当該気筒にノッキングが発生したか否かを判定する。たとえば、上記振動波形における所定周波数での振動強度が所定の判定値より大きいときに、ノック発生有りと判定される。
【００３６】
たとえば、図３の例では、気筒＃７にノッキングが発生したと判定される。このように、本発明の実施の形態によるエンジンシステムにおいては、気筒を区別したノック検出が実行される。
【００３７】
図４は、本発明の実施の形態によるエンジンシステムにおけるノック検出結果を反映した点火時期制御（以下、ノック制御とも称する）の構成を示す機能ブロック図である。なお、図４に示す各機能ブロックは、エンジンＥＣＵ２００が、ＲＯＭ２０２に記憶された所定プログラムを実行することによってソフトウェア的に実現されてもよく、各機能ブロックに対応する機能を実現する専用のハードウェア（電子回路）によって実現されてもよい。
【００３８】
ノック制御部５００は、ノック検出部５１０と、ノック頻度算出部５２０と、気筒間共通学習部５３０と、気筒別学習部５４０と、点火時期算出部５５０と、気筒別学習条件判定部５６０と、デポジット付着推定部５７０とを含む。
【００３９】
ノック検出部５１０は、ノックセンサ３００（１）〜３００（４）の出力信号ＫＮＫ１〜ＫＮＫ４の出力とクランク角度ＣＡＮＧに基づいて、気筒間を区別したノック検出を行なう。そして、ノック検出部５１０は、いずれかの気筒でノッキングが発生した場合にはフラグＦＫＮＣをオンするとともに、気筒＃１〜＃８のそれぞれでのノック発生有無を示すフラグＦＫＮ（ｉ）をノック頻度算出部５２０へ出力する。
【００４０】
ノック頻度算出部５２０は、ノック検出部５１０からの情報に基づいて、現時点から所定回数遡った点火回数中（たとえば、１０００回）における気筒別のノック回数ＫＮＭ（ｉ）を求めるとともに、気筒間での発生頻度を示す気筒別のノック発生頻度係数ＫＣＦ（ｉ）を算出する。以下、各係数あるいは各変数での添字（ｉ）は、気筒＃１〜＃８の気筒番号を示すものとする。すなわち、図１のエンジン１００ではｉ＝１〜８である。
【００４１】
ここで、気筒別のノック発生頻度係数ＫＣＦ（ｉ）は、全気筒合計でのノック回数の合計をＴＫＮＭ（ＴＫＮＭ＝ＫＮＭ（１）＋…＋ＫＮＭ（８））とすると、下記（１）式で示される。
【００４２】
ＫＣＦ（ｉ）＝ＫＮＭ（ｉ）／ＴＫＮＭ      …（１）
たとえば、図５に示されるように、過去１０００回の点火時における各気筒でのノック回数ＫＮＭ（ｉ）に従って、各気筒についてノック発生頻度係数ＫＣＦ（ｉ）が算出される。このノック発生頻度係数ＫＣＦ（ｉ）は、各気筒でのノック回数比に従ったものとなり、ＫＣＦ（１）〜ＫＣＦ（８）の総和は１．０となる。すなわち、ノック発生に気筒間が無く、均等にノッキングが発生する場合には、ＫＣＦ（ｉ）＝０．１２５（１／８）となる。
【００４３】
そして、気筒＃１〜＃８のそれぞれについて、ノック発生頻度係数ＫＣＦ（ｉ）に従って気筒別学習値ＬＲＮ（ｉ）が算出される。気筒別学習値ＬＲＮ（ｉ）は、ノック発生頻度の気筒間差が小さい場合には各気筒で０となるように設定され、かつ、ノック発生頻度が偏った場合に、ノック発生頻度が高い気筒での点火時期を他の気筒よりも遅角側に修正するように（すなわち負値）設定される。
【００４４】
たとえば、８気筒の本実施の形態では、ＫＣＦ（ｉ）＜０．３の気筒では、ＬＲＮ（ｉ）＝０°ＣＡに設定され、０．３≦ＫＣＦ（ｉ）＜０．５の気筒では、ＬＲＮ（ｉ）＝−２°ＣＡに設定され、ＫＣＦ（ｉ）＞０．５の気筒では、ＬＲＮ（ｉ）＝−５°ＣＡに設定されるものとする。気筒＃７でのノック発生頻度が偏って高い本例では、ＬＲＮ（７）＝−５°ＣＡと設定される一方で、他の気筒では、ＬＲＮ（ｉ）＝０である（ｉ≠７）。
【００４５】
再び図４を参照して、気筒間共通学習部５３０は、気筒＃１〜＃８に共通の点火時期学習値ＬＲＮＣを算出する。この共通学習値ＬＲＮＣは、フラグＦＫＮＣがオンされたサイクルでは、所定値減少（遅角側に変化）される一方で、ＦＫＮがオフ（すなわちノック発生無し）のサイクルでは所定値増加（進角側に変化）される。
【００４６】
この際に、１サイクルでの遅角側の所定値と、進角側の所定値とは異なる値であってもよい。また、共通学習値ＬＲＮＣについて、進角側および遅角側にそれぞれ上限値が設定されることが好ましい。
【００４７】
気筒別学習部５４０は、気筒別学習条件判定部５６０によって学習フラグＦＬＲがオンされたサイクル、すなわち、後程詳細に説明する気筒別学習条件が成立したと判定されたときに、図５で説明したように、ノック頻度算出部５２０によって算出されたノック発生頻度係数ＫＣＦ（ｉ）に基づいて、気筒＃１〜＃８のそれぞれに独立な気筒別学習値ＬＲＮ（ｉ）を更新する。
【００４８】
一方、気筒別学習条件の非成立時、すなわち気筒別学習条件判定部５６０によって学習フラグＦＬＲがオフされたサイクルでは、気筒別学習部５４０は、ノック発生頻度係数ＫＣＦ（ｉ）の変化にかかわらず、各気筒での気筒別学習値ＬＲＮ（ｉ）を更新することなく現在値に維持する。
【００４９】
点火時期算出部５５０は、共通学習値ＬＲＮＣと、気筒別学習値ＬＲＮ（ｉ）との和によって示されるノック学習値に基づいて、気筒＃１〜＃８のそれぞれの点火時期ＩＧＴ（ｉ）を算出する。なお、点火時期ＩＧＴ（ｉ）は、エンジン運転状態（回転速度、負荷等）に応じて設定される基本点火時期に、ノック状態に基づいた上記ノック学習値を反映することによって算出される。なお、点火時期ＩＧＴ（ｉ）の算出に、ノック学習値以外の学習値をさらに反映することも可能である。
【００５０】
この結果、図５に示されるように、気筒別学習値ＬＲＮ（ｉ）に応じた気筒間差を反映しつつ、ノック有無に応じて共通学習値ＬＲＮＣが変化するのに従って点火時期ＩＧＴ（ｉ）が徐々に変化するように、ノック制御が行なわれる。
【００５１】
本実施の形態では、気筒別学習条件判定部５６０による、気筒別学習を実行するための条件が成立しているか否かの判定結果に従って、気筒別学習値ＬＲＮ（ｉ）の更新有無が制御される。
【００５２】
気筒別学習条件判定部５６０は、デポジット付着推定部５７０によって推定されたデポジット付着度合を示す付着量推定値ＤＰＸおよび／またはエンジン運転状態値に基づいて、ノッキングの発生に気筒間差が生じやすい状態であるときに、気筒別学習条件が成立していることを示す学習フラグＦＬＲをオンする。
【００５３】
図６の概念図に示されるように、エンジン運転状態によって、特性線６１０のように点火時期の変化に対するノックレベル変化が相対的に大きい領域と、特性線６２０のように点火時期の変化に対するノックレベル変化が相対的に小さい領域とが存在する。気筒別学習条件判定部５６０は、点火時期の変化に対するノックレベル変化が相対的に小さい運転状態であるときに、学習フラグＦＬＲをオンする。
【００５４】
たとえば、エンジン運転状態値としては、エンジン回転速度ＮＥ、エンジン負荷を示す充填効率ＬＤ、吸気温度Ｔａおよびエンジン冷却水温Ｔｗの少なくとも１つに基づいて、学習フラグＦＬＲのオン条件が予め定められる。定性的には、エンジン回転速度ＮＥに対しては、ノッキングの発生が問題となる低速度領域であるときに学習フラグＦＬＲがオンされ、充填効率ＬＤについては、ノック−点火時期感度の低い軽負荷領域で学習フラグＦＬＲがオンされる。たとえば、エンジン回転速度および吸入空気量に基づいて求められた充填効率ＬＤが所定値以下のときに、学習フラグＦＬＲがオンされる。
【００５５】
また、吸気温度Ｔａおよびエンジン冷却水温Ｔｗをさらに組み合わせて、学習フラグＦＬＲのオンオフを判定してもよい。
【００５６】
また、各気筒でのデポジット付着度合が高いと、気筒間差でのデポジット付着ばらつきに起因して、ノック発生頻度に気筒間差ばらつきが発生する可能性が高い。したがって、気筒別学習条件判定部５６０は、デポジット付着推定部５７０によって推定された付着量推定値ＤＰＸが所定の判定値以上となったときに学習フラグＦＬＲをオンする。
【００５７】
デポジット付着推定部５７０は、ノッキングの発生有無を示すフラグＦＫＮＣに基づいて、ノック発生時の点火時期（ノック発生点火時期）を逐次学習し、その学習値に基づいて、付着量推定値ＤＰＸを算出する。ここでは、ノック発生点火時期学習値は、気筒間で共通値とし、エンジン１００全体でのデポジット付着度合を示すものとする。
【００５８】
図７には、デポジット付着推定部５７０による付着度合推定の概念図が示される。
図７を参照して、ノック発生点火時期は、エンジン負荷に応じて変化する一方で、その変化特性は、デポジットの付着量に応じて変化する。デポジット付着無のとき（付着量推定値ＤＰＸ＝０．０）のエンジン負荷−ノック発生点火時期特性をベースとして、デポジット付着度合が大きくなると、ノッキングが発生する点火時期が遅角側にシフトしていく。特に、軽負荷時にこの傾向が顕著となる。
【００５９】
このため、デポジット付着無（ＤＰＸ＝０．０）からデポジット付着度合最大（ＤＰＸ＝１．０）の範囲で、デポジット付着度合毎に、エンジン負荷に対するノック発生点火時期の特性を実験等で予め求めておくことにより、図７の特性を表わすマップを構成できる。そして、エンジン運転中には、実際のノック発生点火時期およびエンジン負荷を上記マップに当てはめることにより、現在のデポジット付着度合を示す付着量推定値ＤＰＸ（０．０〜１．０）を逆算できる。
【００６０】
このように、気筒別学習条件判定部５６０は、点火時期の変化に対するノックレベルの変化感度が相対的に低く、ノック発生に気筒間差が生じやすい運転状態であるときに限って、学習フラグＦＬＲをオンすることによって、気筒別学習値ＬＲＮ（ｉ）の更新、すなわち、気筒別学習を実行する。これにより、デポジット付着等の影響によりノッキングが発生し易くなっている特定の気筒の点火時期を他の気筒よりも遅角化できる。さらに、上記以外の運転状態では、学習フラグＦＬＲをオフすることによって、学習された気筒別学習値ＬＲＮ（ｉ）を維持するので、誤った気筒間学習の実行を防止しつつ、過去の気筒間学習結果を反映した点火時期制御を実行できる。
【００６１】
図８は、図４に示したノック制御をソフトウェアで実現するための処理手順例を示すフローチャートである。図８に示したフローチャートは、エンジンＥＣＵ２００によって、ＲＯＭ２０２に予め記憶された所定プログラムを所定周期で実行することによって実現される。
【００６２】
図８を参照して、エンジンＥＣＵ２００は、ステップＳ１００により、ノッキングの発生有無を、ノック発生気筒の特定を含めて検出する。すなわち、ステップＳ１００による処理は、図４のノック検出部５１０の機能に対応する。
【００６３】
エンジンＥＣＵ２００は、ノック発生時（Ｓ１００のＹＥＳ判定時）には、ステップＳ１１０により、ノック発生点火時期の学習処理を実行する。デポジット付着推定部５７０の説明で述べたように、ノック発生点火時期の学習値ＩＧＴＸに基づいて、デポジットの付着度合を示す、付着量推定値ＤＰＸが算出される。すなわちステップＳ１１０による処理は、図４のデポジット付着推定部５７０による機能に対応する。一方で、ノック非発生時（Ｓ１００のＮＯ判定時）には、ステップＳ１１０の処理はスキップされる。
【００６４】
続いて、エンジンＥＣＵ２００は、ステップＳ１２０により、ノック発生有無に従って共通学習値ＬＲＮＣの更新処理を実行する。すなわち、ステップＳ１２０による処理は、図４の気筒間共通学習部５３０の機能に対応する。上述のように、共通学習値ＬＲＮＣはノック発生時には点火時期が所定値遅角され、ノック非発生のときには所定値進角されるように設定される。なお、共通学習値ＬＲＮＣには、進角側および遅角側のそれぞれに制限値が設けられてもよい。
【００６５】
さらに、エンジンＥＣＵ２００は、ステップＳ１３０に処理を進めて、ステップＳ１００でのノック検出結果を反映して、気筒別のノック発生頻度を更新する。すなわちステップＳ１３０の処理は、図４のノック頻度算出部５２０の機能に対応し、サイクル毎に気筒別のノック発生頻度係数ＫＣＦ（ｉ）が更新されていく。
【００６６】
続いて、エンジンＥＣＵ２００は、ステップＳ１４０により、気筒別学習条件が成立しているかどうかを判定する。ステップＳ１４０による判定は、図４の気筒別学習条件判定部５６０と同様に実行される。気筒別学習条件の成立時（Ｓ１４０のＹＥＳ判定時）、すなわち図４における学習フラグＦＬＲのオン時には、気筒別学習値ＬＲＮ（ｉ）が、ステップＳ１３０で更新されたノック発生頻度係数ＫＣＦ（ｉ）に基づいて更新される。すなわち、気筒別学習が実行されて、現在のエンジン状態でのノック発生頻度係数に従って、気筒別学習値ＬＲＮ（ｉ）が修正されることになる。
【００６７】
一方で、気筒別学習条件の非成立時（Ｓ１４０のＮＯ判定時）、すなわち図４におけるＦＲＮのオフ時には、エンジンＥＣＵ２００は、ステップＳ１６０に処理を進めて、気筒別学習値ＬＲＮ（ｉ）については、ステップＳ１３０において更新された現在のノック発生頻度係数を反映することなく、過去の気筒間学習による気筒別学習値ＬＲＮ（ｉ）を維持する。すなわち、ステップＳ１５０およびＳ１６０による処理は、図４の気筒別学習部５４０の機能に対応する。
【００６８】
そして、エンジンＥＣＵ２００は、ステップＳ１７０により、ステップＳ１２０で更新された共通学習値ＬＲＮＣと、ステップＳ１５０で更新されたあるいはステップＳ１６０により維持された気筒別学習値ＬＲＮ（ｉ）との和によって示されるノック学習値を反映して、気筒＃１〜＃８のそれぞれにおける点火時期ＩＧＴ（ｉ）を算出する。この際に、最終的に求められた点火時期ＩＧＴ（ｉ）についても、進角側および遅角側のそれぞれについて、制限値を超えないようにするガード処理が実行される。すなわち、ステップＳ１７０による処理は、図４の点火時期算出部５５０の機能に対応する。
【００６９】
この結果、本実施の形態によるノック制御では図９に示す効果を奏することができる。まず、図９（ａ）には、比較例として、気筒別学習を導入しないノック制御が従来制御として示される。この場合には、いずれかの気筒でノッキングが発生したか否かに従って、各気筒の点火時期が共通に、遅角側あるいは進角側に調整される。
【００７０】
したがって、全気筒のノック音レベルが許容レベル以下、すなわち、全気筒ともノック発生無の状態から、図３に示したように気筒＃７のみにノッキングが発生しても、全気筒の点火時期が遅角される。この結果、気筒間差無のときは適切に点火時期を制御できる一方で、気筒間差有のときには、特定気筒（気筒＃７）の遅角化が不十分でノック音レベルを許容レベル以下に抑制できない一方で、他の気筒では、過度に遅角化することになりエンジンの燃費の悪化を招く可能性がある。
【００７１】
これに対して、図９（ｂ）に示されるように、今回制御では、上記のように、ノッキングが発生した気筒のみの点火時期を遅角するように気筒別学習を実行できる。この結果、気筒間差無のときは従来制御と同様の効果が得られる他、気筒間差有のときにも、遅角が不要な他の気筒の点火時期を過度に遅角させることなく、かつ、ノック発生傾向の高い気筒では点火時期を十分に遅角してノック音を許容レベル以下に軽減することができる。
【００７２】
このように、本発明の実施の形態によるエンジン制御によればノック発生傾向の差異の学習結果を反映した適切なノック制御を実行できる。特に、デポジット付着度合および／またはエンジン運転状態値に基づいて、点火時期の変化に対するノックレベルの変化感度が相対的に低く、ノック発生に気筒間差が生じやすい運転状態であるときに限って、気筒間学習値を更新するので、全運転領域にわたって各気筒共通の学習値ＬＲＮＣと気筒毎に独立の学習値ＬＲＮ（ｉ）との和に従う共通の制御構造としつつ、簡易かつ効率的にノック発生傾向の差異を適切にノック制御に反映できる。
【００７３】
なお、本実施の形態によるノック制御においては、デポジットの付着度合がノック発生に影響を及ぼすこと、および、気筒間差を含めてデポジット付着は車両整備よるエンジン清掃が行なわれるまでは解消されないことを考慮すると、ノック制御の学習値については、エンジンの停止あるいは、イグニッションスイッチのオフに応答した初期化を避けることが好ましい。
【００７４】
たとえば、車両整備の際には、エンジンＥＣＵ２００が一旦補機バッテリ３２０から切離されて、整備完了後にエンジンＥＣＵ２００に再び電源が投入される、いわゆるバッテリ初期化（ＥＣＵの電源初期化）が実行されることから、デポジット付着度合に影響を受ける学習値（気筒別学習値ＬＲＮ（ｉ）および共通学習値ＬＲＮＣ）については、このバッテリ初期化をトリガとして初期化することができる。
【００７５】
以上説明した本実施の形態によるエンジンシステムでの点火時期制御については、複数の気筒を有し、かつ気筒間を分別してノッキングを検出することが可能な構成であれば、エンジンの気筒数および気筒配置形態を問わず、また、ガソリンエンジンに限定されることなくエンジンの種類を問わず適用可能である点について確認的に記載する。
【００７６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００７７】
【図１】本発明の実施の形態に係る内燃機関の制御装置を搭載した車両のエンジンシステムの構成を示す概略図である。
【図２】ノックセンサの配置例を説明する概念図である。
【図３】図２に示したノックセンサの出力に基づく、気筒を区別したノック検出例を説明する概念図である。
【図４】本発明の実施の形態によるエンジンシステムにおけるノック制御を説明する機能ブロック図である。
【図５】図４によるノック制御の例を説明する概念図である。
【図６】エンジン運転状態によって点火時期の変化に対するノックレベル変化の特性が変化することを説明する概念図である。
【図７】図４に示したデポジット付着推定部による付着度合推定の概念図である。
【図８】図４に示したノック制御をソフトウェアで実現するための処理手順例を示すフローチャートである。
【図９】本発明の実施の形態によるのノック制御の効果を説明する概念図である。
【符号の説明】
【００７８】
１００  エンジン、１０２  エアクリーナ、１０４  インジェクタ、１０６  点火プラグ、１０８  ピストン、１１０  クランクシャフト、１１２  三元触媒、１１４  スロットルバルブ、１１６  吸気バルブ、１１８  排気バルブ、２００  エンジンＥＣＵ、２０２  ＲＯＭ、３００，３００（１）〜３００（４）  ノックセンサ、３０２  水温センサ、３０４  タイミングロータ、３０６  クランクポジションセンサ、３０８  スロットル開度センサ、３１０  車速センサ、３１２  イグニッションスイッチ、３１４  エアフローメータ、３１６  吸気温センサ、３２０  補機バッテリ、５００  ノック制御部、５１０  ノック検出部、５２０  ノック頻度算出部、５３０  気筒間共通学習部、５４０  気筒別学習部、５５０  点火時期算出部、５６０  気筒別学習条件判定部、５７０  デポジット付着推定部、ＤＰＸ  付着量推定値、ＦＫＮＣ  フラグ（ノック発生有無）、ＦＬＲ  学習フラグ（気筒別学習オン）、ＩＧＴ（ｉ）  点火時期、ＩＧＴＸ  ノック発生点火時期学習値、ＫＣＦ（ｉ）  ノック発生頻度係数（気筒別）、ＫＮＫ１〜ＫＮＫ４  出力信号（ノックセンサ）、ＫＮＭ（ｉ）  ノック回数（気筒別）、ＬＤ  充填効率、ＬＲＮ（ｉ）  気筒別学習値、ＬＲＮＣ  共通学習値、ＮＥ  エンジン回転速度、Ｔａ  吸気温度、Ｔｇ  ノック検出ゲート、Ｔｗ  エンジン冷却水温。
【図１】
0005003571.tif 000002
【図２】
0005003571.tif 000003
【図３】
0005003571.tif 000004
【図４】
0005003571.tif 000005
【図５】
0005003571.tif 000006
【図６】
0005003571.tif 000007
【図７】
0005003571.tif 000008
【図８】
0005003571.tif 000009
【図９】
0005003571.tif 000010