(57)【特許請求の範囲】
【請求項１】
エンジンを構成する複数の気筒について各別にノッキングを検出するノッキング検出部と、
前記エンジンの運転状態に応じた点火時期であるベース点火時期が規定されている点火マップと、前記ノッキングの検出された点火時期からのマージンが前記ノッキングの検出された運転状態に応じた値として規定されているマージンマップとを記憶する記憶部と、
前記気筒ごとに設けられた点火プラグの点火時期を各別に制御する点火時期制御部であって、前記ベース点火時期と、前記ベース点火時期に対する補正量とに基づく点火時期である目標点火時期に前記点火プラグの点火時期を制御する前記点火時期制御部と、を備え、
前記複数の点火プラグの各々について前記補正量を各別に記憶する補正量記憶部と、
前記複数の点火プラグのなかから前記補正量を更新する特定の点火プラグである更新対象を検出する更新対象検出部と、
前記エンジンの排気通路に設けられた空燃比センサーの検出値に基づき、前記エンジンが有する複数の気筒の各々の空燃比を演算する空燃比演算部と、を備え、
前記点火時期制御部は、
前記更新対象検出部が前記更新対象を検出すると、前記更新対象に対応する気筒のノッキングを前記ノッキング検出部が検出するまで前記更新対象を駆動対象に設定するたびに前記更新対象の点火時期を前記目標点火時期から所定量ずつ進角させ、前記更新対象に対応する気筒でノッキングが検出されるまでの進角量を取得するとともに、前記ノッキング検出部が前記更新対象に対応する気筒でのノッキングを検出したときの運転状態を前記マージンマップに適用することにより当該運転状態に応じた前記マージンを取得し、
前記取得したマージンが前記取得した進角量よりも大きいときに、前記補正量記憶部が記憶している前記更新対象の補正量を前記取得したマージンと前記取得した進角量との差である第１更新量の分だけ点火時期が遅角する方向に更新し、
前記更新対象検出部は、
前記エンジンの運転状態が定常状態にあるときに全気筒についての空燃比の平均値を演算し、前記演算した平均値と気筒ごとの空燃比との偏差の絶対値が閾値以上である気筒に対応する点火プラグを前記更新対象に検出する
点火時期の制御装置。
【請求項２】
気筒ごとの出力を演算する出力演算部をさらに備え、
前記点火時期制御部は、
前記補正量記憶部が記憶している前記更新対象の補正量を前記第１更新量の分だけ更新すると、前記エンジンの運転状態が定常状態であることを条件として、前記更新対象を駆動対象に設定するたびに前記更新対象の点火時期を更新後の補正量に基づく前記目標点火時期から所定量ずつ遅角させるとともに、前記更新対象が駆動されるたびに前記更新対象に対応する気筒の出力を取得し、
前記更新対象の直近の駆動にともなって取得した出力が前記更新対象の前記直近の駆動の１つ前の駆動にともなって取得した出力よりも小さくなると、前記補正量記憶部が記憶している前記更新対象の補正量を前記目標点火時期に対する遅角量であって前記１つ前の駆動時における遅角量である第２更新量の分だけ点火時期が遅角する方向に更新する
請求項１に記載の点火時期の制御装置。
【請求項３】
エンジンの運転状態に応じた点火時期であるベース点火時期と前記ベース点火時期に対する補正量とに基づく点火時期である目標点火時期に点火プラグの点火時期を制御する点火時期の制御方法であって、
前記点火時期を制御する制御装置は、
前記エンジンを構成する複数の気筒ごとに設けられた点火プラグの点火時期を各別に制御するものであり、
ノッキングの検出された点火時期からのマージンが前記ノッキングの検出された運転状態に応じた値として規定されているマージンマップを記憶する記憶部と、
前記複数の点火プラグの各々について前記補正量を各別に記憶する補正量記憶部と、を備え、
前記エンジンの運転状態が定常状態にあるときに、前記エンジンの排気通路に設けられた空燃比センサーの検出値に基づき全気筒についての空燃比の平均値を演算し、前記演算した平均値と気筒ごとの空燃比との偏差の絶対値が閾値以上である気筒に対応する特定の点火プラグを更新対象に検出し、
前記更新対象が駆動対象に設定されるたびに前記更新対象の点火時期を前記目標点火時期から所定量ずつ進角させて前記更新対象に対応する気筒のノッキングが検出されるまでの進角量を取得するとともに、前記ノッキングが検出されたときの運転状態を前記マージンマップに適用して当該運転状態に応じたマージンを取得し、
前記取得したマージンが前記取得した進角量よりも大きいときに、前記補正量記憶部が記憶している前記更新対象の補正量を前記取得したマージンと前記取得した進角量との差である第１更新量の分だけ点火時期が遅角する方向に更新する
点火時期の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、混合気の点火時期を制御する点火時期の制御装置および制御方法に関する。
【背景技術】
【０００２】
従来から、ガソリンや天然ガスを燃料とするエンジンでは、エンジンの運転状態に応じて点火時期が制御される。点火時期の制御装置は、エンジンの運転状態に応じたベース点火時期が規定された点火マップを有し、エンジンの運転状態と点火マップとに基づき演算される目標点火時期に点火時期を制御する。また、点火時期の制御に関し、特許文献１には、目標点火時期を周期的（例えば１秒ごと）に進角させ、ノックセンサーによってノッキングが検出されると目標点火時期を遅角する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−１３５４８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ノッキングが発生しやすいノック点火時期に対する目標点火時期の適切なマージンは、エンジンの運転状態に応じて異なる場合が少なくない。この点、特許文献１では、ノッキングの検出にともなう遅角量が一定値である。そのため、遅角量の不足によってノック点火時期に対するマージンが不十分な状態が長くなり、ノッキングが発生しやすくなる虞があった。
【０００５】
本発明は、ノッキングの発生を抑えることが可能な点火時期の制御装置および制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決する点火時期の制御装置は、エンジンを構成する複数の気筒について各別にノッキングを検出するノッキング検出部と、前記エンジンの運転状態に応じた点火時期であるベース点火時期が規定されている点火マップと、前記ノッキングの検出された点火時期からのマージンが前記ノッキングの検出された運転状態に応じた値として規定されているマージンマップとを記憶する記憶部と、前記気筒ごとに設けられた点火プラグの点火時期を各別に制御する点火時期制御部であって、前記ベース点火時期と、前記ベース点火時期に対する補正量とに基づく点火時期である目標点火時期に前記点火プラグの点火時期を制御する前記点火時期制御部と、を備え、前記複数の点火プラグの各々について前記
補正量を各別に記憶する補正量記憶部と、前記複数の点火プラグのなかから前記補正量を更新する特定の点火プラグである更新対象を検出する更新対象検出部と、前記エンジンの排気通路に設けられた空燃比センサーの検出値に基づき、前記エンジンが有する複数の気筒の各々の空燃比を演算する空燃比演算部と、を備え、前記点火時期制御部は、前記更新対象検出部が前記更新対象を検出すると、前記更新対象に対応する気筒のノッキングを前記ノッキング検出部が検出するまで前記更新対象を駆動対象に設定するたびに前記更新対象の点火時期を前記目標点火時期から所定量ずつ進角させ、前記更新対象に対応する気筒でノッキングが検出されるまでの進角量を取得するとともに、前記ノッキング検出部が前記更新対象に対応する気筒でのノッキングを検出したときの運転状態を前記マージンマップに適用することにより当該運転状態に応じた前記マージンを取得し、前記取得したマージンが前記取得した進角量よりも大きいときに、前記補正量記憶部が記憶している前記更新対象の補正量を前記取得したマージンと前記取得した進角量との差である第１更新量の分だけ点火時期が遅角する方向に更新し、前記更新対象検出部は、前記エンジンの運転状態が定常状態にあるときに全気筒についての空燃比の平均値を演算し、前記演算した平均値と気筒ごとの空燃比との偏差の絶対値が閾値以上である気筒に対応する点火プラグを前記更新対象に検出する。
【０００７】
上記課題を解決する点火時期の制御方法は、エンジンの運転状態に応じた点火時期であるベース点火時期と前記ベース点火時期に対する補正量とに基づく点火時期である目標点火時期に点火プラグの点火時期を制御する点火時期の制御方法であって、前記点火時期を制御する制御装置は、前記エンジンを構成する複数の気筒ごとに設けられた点火プラグの点火時期を各別に制御するものであり、ノッキングの検出された点火時期からのマージンが前記ノッキングの検出された運転状態に応じた値として規定されているマージンマップを記憶する記憶部と、前記複数の点火プラグの各々について前記補正量を各別に記憶する補正量記憶部と、を備え、前記エンジンの運転状態が定常状態にあるときに、前記エンジンの排気通路に設けられた空燃比センサーの検出値に基づき全気筒についての空燃比の平均値を演算し、前記演算した平均値と気筒ごとの空燃比との偏差の絶対値が閾値以上である気筒に対応する特定の点火プラグを更新対象に検出し、前記更新対象が駆動対象に設定されるたびに前記更新対象の点火時期を前記目標点火時期から所定量ずつ進角させて前記更新対象に対応する気筒のノッキングが検出されるまでの進角量を取得するとともに、前記ノッキングが検出されたときの運転状態を前記マージンマップに適用して当該運転状態に応じたマージンを取得し、前記取得したマージンが前記取得した進角量よりも大きいときに、前記補正量記憶部が記憶している前記更新対象の補正量を前記取得したマージンと前記取得した進角量との差である第１更新量の分だけ点火時期が遅角する方向に更新する。
【０００８】
上記構成によれば、ノッキングが検出された時のエンジンの運転状態に応じてマージンが選択されることから、マージンが不足することが抑えられる。その結果、ノッキングの発生が抑えられる。
【００１０】
上記構成のように、エンジンの運転状態が定常状態であるとき、各点火プラグは、おおよそ同じ条件の下で駆動される。そのため、定常状態に更新対象を検出することによって、補正量を更新すべき点火プラグが高い精度の下で検出される。
【００１２】
互いに異なる点火プラグにおける点火時期の違いは空燃比に反映される。そのため、上記構成のように、空燃比に基づいて更新対象を検出することが可能である。
上記点火時期の制御装置は、気筒ごとの出力を演算する出力演算部をさらに備え、前記点火時期制御部は、前記補正量記憶部が記憶している前記更新対象の補正量を前記第１更新量の分だけ更新すると、前記エンジンの運転状態が定常状態であることを条件として、前記更新対象を駆動対象に設定するたびに前記更新対象の点火時期を更新後の補正量に基づく前記目標点火時期から所定量ずつ遅角させるとともに、前記更新対象が駆動されるたびに前記更新対象に対応する気筒の出力を取得し、前記更新対象の直近の駆動にともなって取得した出力が前記更新対象の前記直近の駆動の１つ前の駆動にともなって取得した出力よりも小さくなると、前記補正量記憶部が記憶している前記更新対象の補正量を前記目標点火時期に対する遅角量であって前記１つ前の駆動時における遅角量である第２更新量の分だけ点火時期が遅角する方向に更新することが好ましい。
【００１３】
上記構成によれば、ノック点火時期に対するマージンを確保しつつ、更新対象に対応する気筒の出力が最も大きくなるような点火時期に目標点火時期を制御可能である。
【図面の簡単な説明】
【００１４】
【図１】一実施形態の点火時期の制御装置を搭載したエンジンシステムの概略構成を示す図である。
【図２】マージンマップの一例を示す図である。
【図３】更新処理の一例を示すフローチャートである。
【図４】目標点火時期と実点火時期との関係の一例を示す図である。
【発明を実施するための形態】
【００１５】
図１〜図４を参照して、点火時期の制御装置および制御方法の一実施形態について説明する。図１を参照して、点火時期の制御装置が搭載されるエンジンシステムの全体構成について説明する。
【００１６】
図１に示されるように、エンジンシステムのエンジン１０は、シリンダーブロック１１に６つの気筒１２を有する。エンジン１０は、ＭＰＩ（Ｍｕｌｔｉ  Ｐｏｉｎｔ  Ｉｎｊｅｃｔｉｏｎ）方式のエンジンであり、気筒１２内の混合気を点火する点火プラグ１３を気筒１２毎に有する。点火プラグ１３は、例えば、電気的に火花を発生させるスパークプラグである。シリンダーブロック１１には、各気筒１２に吸入空気を供給するためのインテークマニホールド１４と、各気筒１２からの排気ガスが流入するエキゾーストマニホールド１５とが接続されている。
【００１７】
インテークマニホールド１４に接続される吸気通路１６には、上流側から順に、図示されないエアクリーナー、ターボチャージャー１７を構成するコンプレッサー１８、インタークーラー１９、スロットルバルブ２０、サージタンク２１が設けられている。エキゾーストマニホールド１５に接続される排気通路２５には、コンプレッサー１８に連結軸を介して連結され、ターボチャージャー１７を構成するタービン２６が設けられている。
【００１８】
エンジンシステムは、吸入空気量センサー３０、吸気圧力センサー３１、吸気温度センサー３２、クランク角センサー３４、カム角センサー３５、空燃比センサー３６、冷却水温センサー３７、アクセル開度センサー３８、ノックセンサー３９、燃焼圧センサー４０を備える。
【００１９】
吸入空気量センサー３０は、吸気通路１６におけるコンプレッサー１８の上流にて、吸気通路１６を流れる吸入空気の体積流量である吸入空気量Ｑａを検出する。吸気圧力センサー３１は、サージタンク２１における吸気の圧力である吸気圧力Ｐｂを検出する。吸気温度センサー３２は、サージタンク２１における吸気の温度である吸気温度Ｔｉを検出する。クランク角センサー３４は、クランクシャフト１０ａの回転角度であるクランク角ＣＡを検出する。カム角センサー３５は、図示されないカムシャフトの回転角度に基づき、所定の気筒１２が圧縮上死点に到達したタイミングで気筒判別信号Ｇを出力する。空燃比センサー３６は、タービン２６から流出した排気ガスに含まれる酸素濃度に基づき、混合気における燃料の重量に対する空気の重量の比である空燃比ＡＦを検出する。冷却水温センサー３７は、エンジン１０を冷却する冷却水の温度である冷却水温Ｔｗを検出する。アクセル開度センサー３８は、アクセルペダル４１の踏み込み量であるアクセル開度ＡＣＣを検出する。ノックセンサー３９は、共振型あるいは非共振型のノックセンサーであり、エンジン１０にノッキングが発生しているか否かを検出するためのノック情報を検出する。燃焼圧センサー４０は、気筒１２ごとに各別に設けられ、対応する気筒１２の燃焼圧Ｐｃを検出する。上記各センサー３０〜４０が出力した信号は、各点火プラグ１３の点火時期を制御する制御装置５０に入力される。
【００２０】
制御装置５０は、ＣＰＵ、各種制御プログラムや各種データが格納されたＲＯＭ、各種演算における演算結果や各種データが一時的に格納されるＲＡＭを有するマイクロコンピューターを中心に構成される。制御装置５０は、各センサーからの信号に基づいて各種情報を取得する取得部５１と、各種処理を実行する処理部５２と、ＲＯＭやＲＡＭで構成されて各種制御プログラムや各種データを格納する記憶部５３と、を備える。処理部５２は、記憶部５３に格納された各種制御プログラムと各センサー３０〜４０から入力される情報とに基づいて各種処理を実行する。処理部５２は、ノッキング検出部、点火時期制御部、更新対象検出部、空燃比演算部、出力演算部として機能する。
【００２１】
取得部５１は、各種センサーからの信号に基づいて、吸入空気量Ｑａ、吸気圧力Ｐｂ、吸気温度Ｔｉ、クランク角ＣＡ、気筒判別信号Ｇ、空燃比ＡＦ、アクセル開度ＡＣＣ、ノック情報、および、燃焼圧Ｐｃを取得する。取得部５１は、クランク角ＣＡに基づいてクランクシャフト１０ａの回転数であるエンジン回転数Ｎｅを取得する。
【００２２】
記憶部５３は、各種データとして、点火マップ５５を格納している。点火マップ５５は、エンジン回転数Ｎｅとエンジン負荷Ｌとに応じた点火時期であって、全ての気筒１２に共通するベース点火時期Ａｂｓｅが規定されたデータである。ベース点火時期Ａｂｓｅは、設計上、各気筒１２において、ノッキングに対して所定のマージンＡｍａｒが確保される点火時期であるとともにトルク値Ｔｒｑが最も大きくなる点火時期である。エンジン負荷Ｌは、例えば、エンジン回転数Ｎｅ、アクセル開度ＡＣＣ、吸入空気量Ｑａ、吸気圧力Ｐｂ、吸気温度Ｔｉ等に基づき演算される。なお、点火時期は、ＢＴＤＣ（Ｂｅｆｏｒｅ  Ｔｏｐ  Ｄｅａｄ  Ｃｅｎｔｅｒ）で示されるものとする。
【００２３】
補正量記憶部としての記憶部５３は、各種データとして、補正量データ５６を格納している。補正量データ５６は、ベース点火時期Ａｂｓｅに対する補正量Ａｃｏｍが気筒１２ごとに各別に規定されているデータである。
【００２４】
記憶部５３は、各種データとして、ノッキングが高い確率の下で発生するノック点火時期Ａｋｎｋに対する点火時期のマージンであるマージンＡｍａｒが規定されたマージンマップ５７を格納している。マージンマップ５７については後述する。
【００２５】
処理部５２は、気筒判別信号Ｇとクランク角ＣＡとに基づき、混合気を燃焼させる気筒１２に対応する点火プラグ１３である駆動対象を設定する。また処理部５２は、駆動対象の目標点火時期Ａｔａｒを設定し、その設定した目標点火時期Ａｔａｒで駆動対象を駆動する。処理部５２は、下記式（１）のように、エンジン回転数Ｎｅ、エンジン負荷Ｌ、および、点火マップ５５に基づくベース点火時期Ａｂｓｅを、駆動対象に対応する補正量Ａｃｏｍの分だけ補正することにより目標点火時期Ａｔａｒを設定する。
Ａｔａｒ＝Ａｂｓｅ＋Ａｃｏｍ  …  （１）
【００２６】
なお、点火時期がＢＴＤＣで示されることから、補正量Ａｃｏｍは、ベース点火時期Ａｂｓｅに対する進角量が正の値で示され、ベース点火時期Ａｂｓｅに対する遅角量が負の値で示される。また、補正量Ａｃｏｍは、エンジン１０の運転状態に関わらず一定の値でもよいし、エンジン１０の運転状態に基づき選択される値でもよい。
【００２７】
処理部５２は、駆動対象に対応する気筒１２のトルク値Ｔｒｑを気筒１２の出力として演算する。処理部５２は、例えば、クランク角ＣＡと燃焼圧Ｐｃとに基づき、所定のクランク角ＣＡにおける燃焼圧Ｐｃを所定の関係式に代入することによりトルク値Ｔｒｑを演算する。
【００２８】
処理部５２は、気筒判別信号Ｇ、クランク角ＣＡ、および、ノック情報に基づき、駆動対象の点火プラグ１３に対応する気筒１２においてノッキングが発生しているか否かを検出する。ノックセンサー３９が共振型である場合、ノック情報は、エンジン１０にノッキングが生じているか否かを示す。ノックセンサー３９が非共振型である場合、ノック情報は、エンジン１０の振動の周波数と振幅とを示す。
【００２９】
処理部５２は、各気筒１２の空燃比ＡＦを演算する。処理部５２は、気筒判別信号Ｇとクランク角ＣＡとに基づき、気筒１２から排出された排気ガスが空燃比センサー３６に到達するタイミングを気筒１２ごとに演算する。処理部５２は、そのタイミングにおける空燃比センサー３６からの信号に基づき各気筒１２の空燃比ＡＦを演算する。
【００３０】
処理部５２は、上述した補正量データ５６の補正量Ａｃｏｍを更新する更新処理を実行する。更新処理において、処理部５２は、目標点火時期Ａｔａｒを更新すべき点火プラグ１３、すなわち補正量Ａｃｏｍを更新すべき点火プラグ１３である更新対象を検出し、その検出した更新対象の補正量Ａｃｏｍを更新する。
【００３１】
処理部５２は、エンジン１０の暖機が完了し、且つ、エンジン１０の運転状態が定常状態である場合に更新対象の検出を行う。処理部５２は、冷却水温Ｔｗがエンジン１０の暖機が完了したと判断される温度である暖機完了温度Ｔｗ１以上であることを条件に暖機が完了したことを判断する。定常状態とは、エンジン負荷Ｌの変動が小さい状態であり、例えば、エンジン回転数Ｎｅ、アクセル開度ＡＣＣ、吸入空気量Ｑａ、吸気圧力Ｐｂ、および、吸気温度Ｔｉが略一定の状態である。処理部５２は、複数の気筒１２のうちで最もノッキングが生じやすい気筒１２に対応する点火プラグ１３を更新対象として検出する。例えば、処理部５２は、定常状態においては空燃比ＡＦが理論空燃比ＡＦｓｔに近いほどノッキングが生じやすいことに基づき、各気筒１２の空燃比ＡＦのうちで理論空燃比ＡＦｓｔに最も近い空燃比ＡＦが得られた気筒１２に対応する点火プラグ１３を更新対象として検出する。
【００３２】
更新対象を検出した処理部５２は、更新対象ではない点火プラグ１３が駆動対象に設定される場合、目標点火時期Ａｔａｒで駆動対象を駆動する。一方、処理部５２は、更新対象である点火プラグ１３が駆動対象に設定される場合、補正量Ａｃｏｍを更新するために仮目標点火時期Ａｔｓｔで駆動対象を駆動する。
【００３３】
処理部５２は、更新対象に対して、ノッキングに関わる補正量Ａｃｏｍの更新を行う。処理部５２は、更新対象に対応する気筒１２でノッキングが検出されるまで、更新対象が駆動対象に設定されるたびに、目標点火時期Ａｔａｒに対して設定進角量Ａａｄ、例えば０．５°ＣＡずつ進角させた仮目標点火時期Ａｔｓｔｉで更新対象を駆動する。つまり、仮目標点火時期Ａｔｓｔｉは、下記の式（２）で示される。
Ａｔｓｔｉ＝Ａｔａｒ＋Ａａｄ×ｉ  …  （２）
【００３４】
上記式（２）の「ｉ」は、ｉ＝１を初期値として、更新対象が駆動対象に設定されるたびにカウントアップされる数値である。なお、設定進角量Ａａｄは、駆動対象の点火時期が進角されたことを運転者が体感できない程度であることが好ましい。
【００３５】
処理部５２は、更新対象の点火プラグ１３に対応する気筒１２でのノッキングを検出すると、ノッキングが検出されるまでの進角量ＳＡａｄ（＝Ａａｄ×ｉ）を演算する。換言すれば、進角量ＳＡａｄは、ノッキングが検出されたときの仮目標点火時期Ａｔｓｔｉと、仮目標点火時期Ａｔｓｔｉを演算する際の目標点火時期Ａｔａｒとの差である。そして処理部５２は、進角量ＳＡａｄと、記憶部５３が記憶しているマージンマップ５７に規定されたマージンＡｍａｒと、に基づき、第１更新量Ａｒｅｖ１を演算する。
【００３６】
図２に示されるように、マージンマップ５７は、エンジン回転数Ｎｅとエンジン負荷Ｌとに応じてマージンＡｍａｒが規定されたデータである。マージンＡｍａｒは、エンジン回転数Ｎｅおよびエンジン負荷Ｌの運転状態においてノッキングの発生を高い確率の下で抑えるうえでノック点火時期Ａｋｎｋに対して必要な遅角量の大きさである。
【００３７】
処理部５２は、進角量ＳＡａｄからマージンＡｍａｒを減算することにより第１更新量Ａｒｅｖ１を演算する。処理部５２は、第１更新量Ａｒｅｖ１が負の値である場合には第１更新量Ａｒｅｖ１の分だけ補正量Ａｃｏｍを遅角させ、第１更新量Ａｒｅｖ１が正の値である場合には第１更新量Ａｒｅｖ１の分だけ補正量Ａｃｏｍを進角させる。そして処理部５２は、新たな補正量Ａｃｏｍを記憶部５３の所定領域に格納することにより更新対象の補正量Ａｃｏｍを更新する。
【００３８】
また、処理部５２は、エンジン１０の出力に関わる補正量Ａｃｏｍの更新を行う。この補正量Ａｃｏｍの更新は、エンジン１０の運転状態が定常状態であることを条件に行われる。そのため、エンジン１０の運転状態が定常状態から他の運転状態に移行した場合、処理部５２は、出力に関わる補正量Ａｃｏｍの更新を行うことなく更新処理を終了する。
【００３９】
処理部５２は、ノッキングに関わる更新がなされた補正量Ａｃｏｍで目標点火時期Ａｔａｒを演算する。処理部５２は、その目標点火時期Ａｔａｒを初期点火時期として、更新対象が駆動対象に設定されるたびに、設定遅角量Ａｒｔ、例えば０．５°ＣＡずつ遅角させた仮目標点火時期Ａｔｓｔｊを点火時期に設定する。つまり、出力に関わる補正量Ａｃｏｍの更新において、仮目標点火時期Ａｔｓｔｊは、下記の式（３）で示される。
Ａｔｓｔｊ＝Ａｔａｒ−Ａｒｔ×（ｊ−１）  …  （３）
【００４０】
式（３）の「ｊ」は、ｊ＝１を初期値として、更新対象が駆動対象に設定されるたびにカウントアップされる数値である。なお、設定遅角量Ａｒｔは、駆動対象の点火時期が遅角されたことを運転者が体感できない程度であることが好ましい。
【００４１】
処理部５２は、更新対象に対応する気筒１２におけるトルク値Ｔｒｑが前回の駆動時よりも小さい場合に、今回の目標点火時期Ａｔａｒと前回の仮目標点火時期Ａｔｓｔｊとの差であって、前回の駆動時までの遅角量ＳＡｒｔ（＝Ａｒｔ×（ｊ−２）：ｊ≧２）を第２更新量Ａｒｅｖ２として演算する。例えば、処理部５２は、初期点火時期の次の仮目標点火時期Ａｔｓｔｊ（ｊ＝２）においてトルク値Ｔｒｑが小さくなると、遅角量ＳＡｒｔ＝０を第２更新量Ａｒｅｖ２として演算する。つまり、第２更新量Ａｒｅｖ２は、初期点火時期に対する遅角量であって、マージンＡｍａｒが確保された点火時期の範囲においてトルク値Ｔｒｑ、すなわちエンジン１０の出力が最も高くなる点火時期までの遅角量である。処理部５２は、第２更新量Ａｒｅｖ２の分だけ補正量Ａｃｏｍを遅角させた新たな補正量Ａｃｏｍを記憶部５３の所定領域に格納することにより補正量Ａｃｏｍを更新する。
【００４２】
図３を参照して、処理部５２が実行する更新処理の一例について説明する。この処理は、エンジン１０の始動後に繰り返し実行されるとともに終了時に各値がリセットされる。
図３に示すように、処理部５２は、エンジン１０の運転状態が暖機完了後の定常状態か否かを判断する（ステップＳ１１）。エンジン１０の運転状態が暖機完了後の定常状態ではない場合（ステップＳ１１：ＮＯ）、処理部５２は、一連の処理を一旦終了する。
【００４３】
一方、エンジン１０の運転状態が暖機完了後の定常状態である場合（ステップＳ１１：ＹＥＳ）、処理部５２は、各気筒１２の空燃比ＡＦを演算し（ステップＳ１２）、その演算した空燃比ＡＦに基づき更新対象を検出する（ステップＳ１３）。
【００４４】
次に、処理部５２は、上記更新対象が駆動対象に設定されると更新対象を仮目標点火時期Ａｔｓｔｉで駆動する（ステップＳ１４）。そして処理部５２は、更新対象に対応する気筒１２においてノッキングが生じたか否かを判断する（ステップＳ１５）。
【００４５】
ノッキングが生じていない場合（ステップＳ１５：ＮＯ）、処理部５２は、再びステップＳ１４の処理に移行する。一方、ノッキングが生じている場合（ステップＳ１５：ＹＥＳ）、処理部５２は、進角量ＳＡａｄとマージンＡｍａｒとに基づき第１更新量Ａｒｅｖ１を演算する（ステップＳ１６）。そして、処理部５２は、第１更新量Ａｒｅｖ１に基づき補正量Ａｃｏｍを更新する（ステップＳ１７）。
【００４６】
次に、処理部５２は、エンジン１０の運転状態が定常状態であるか否かを判断する（ステップＳ１８）。エンジン１０の運転状態が定常状態でない場合（ステップＳ１８：ＮＯ）、処理部５２は、更新処理を一旦終了する。一方、エンジン１０の運転状態が定常状態である場合（ステップＳ１８：ＹＥＳ）、処理部５２は、更新対象を仮目標点火時期Ａｔｓｔｊで駆動し（ステップＳ１９）、更新対象に対応する気筒１２のトルク値Ｔｒｑを演算する（ステップＳ２０）。そして、処理部５２は、ステップＳ２０にて取得したトルク値Ｔｒｑが前回のトルク値Ｔｒｑよりも小さいか否かを判断する（ステップＳ２１）。
【００４７】
トルク値Ｔｒｑが前回のトルク値Ｔｒｑ以上である場合（ステップＳ２１：ＮＯ）、処理部５２は、再びステップＳ１８の処理に移行する。一方、トルク値Ｔｒｑが前回のトルク値Ｔｒｑよりも小さい場合（ステップＳ２１：ＹＥＳ）、処理部５２は、前回の駆動時までの遅角量ＳＡｒｔである第２更新量Ａｒｅｖ２を演算する（ステップＳ２２）。そして処理部５２は、第２更新量Ａｒｅｖ２に基づいて補正量Ａｃｏｍを更新し（ステップＳ２３）、更新処理一旦を終了する。
【００４８】
図４を参照して、上記点火時期の制御装置および制御方法の作用について、更新対象の点火時期が図４に示される下記条件のときを例にとって説明する。
【００４９】
・目標点火時期Ａｔａｒが、ＭＢＴ（Ｍｉｎｉｍｕｍ  Ｓｐａｒｋ  Ａｄｖａｎｃｅ  ｆｏｒ  Ｂｅｓｔ  Ｔｏｒｑｕｅ）点火時期である。
・実際の点火時期である実点火時期Ａａｃｔが、目標点火時期Ａｔａｒよりも進角側であって、かつ、ノック点火時期Ａｋｎｋに対するマージンがマージンＡｍａｒよりも少ない点火時期である。
【００５０】
上記の場合、ノッキングに関する補正量Ａｃｏｍの更新では、点火時期が徐々に進角する仮目標点火時期Ａｔｓｔｉで更新対象が駆動されるが、仮目標点火時期Ａｔｓｔｉの起点は、目標点火時期Ａｔａｒではなく、実際には、実点火時期Ａａｃｔである。そして、仮目標点火時期Ａｔｓｔｉがノック点火時期Ａｋｎｋに到達すると、仮目標点火時期Ａｔｓｔｉがノック点火時期Ａｋｎｋに到達するまでの進角量ＳＡａｄが第１更新量Ａｒｅｖ１の分だけマージンＡｍａｒよりも小さいことが判明する。このマージンＡｍａｒは、ノッキング検出時の運転状態に応じたマージンである。そのため、現状の補正量Ａｃｏｍを第１更新量Ａｒｅｖ１の分だけ遅角させることにより、目標点火時期Ａｔａｒが、ノック点火時期ＡｋｎｋからマージンＡｍａｒだけ遅角した第１点火時期Ａ１に設定される。
【００５１】
次のエンジン１０の出力に関する補正量Ａｃｏｍの更新では、点火時期が徐々に遅角する仮目標点火時期Ａｔｓｔｊで更新対象が駆動される。この際、仮目標点火時期Ａｔｓｔｊの起点は、第１点火時期Ａ１である。そして、マージンＡｍａｒが確保された点火時期の範囲においてトルク値Ｔｒｑが最も高いＭＢＴ点火時期に仮目標点火時期Ａｔｓｔｊが到達すると、次の仮目標点火時期Ａｔｓｔｊにおいてトルク値Ｔｒｑが減少する。こうしたトルク値Ｔｒｑの減少によって、１つ前の仮目標点火時期Ａｔｓｔｊが最もトルク値Ｔｒｑが高い点火時期であることが判明する。そのため、最も高いトルク値Ｔｒｑが得られる点火時期までの遅角量ＳＡｒｔ、すなわち第２更新量Ａｒｅｖ２の分だけ補正量Ａｃｏｍを遅角させることにより、目標点火時期Ａｔａｒが最適な点火時期に設定される。
【００５２】
上記点火時期の制御装置および制御方法によれば、以下に列挙する効果が得られる。
（１）ノッキング検出時の運転状態に応じてマージンＡｍａｒが選択されることから、ノック点火時期Ａｋｎｋに対するマージンＡｍａｒの不足が抑えられ、結果として、エンジン１０にノッキングが発生しにくくなる。
【００５３】
（２）エンジン１０の運転状態が定常状態であるときに更新対象が検出される。定常状態においては各点火プラグ１３がおおよそ同じ条件の下で駆動される。そのため、補正量Ａｃｏｍを更新すべき点火プラグ１３が高い精度の下で検出される。
【００５４】
（３）互いに異なる点火プラグ１３における点火時期の違いは空燃比ＡＦに反映されることから、空燃比ＡＦに基づいて更新対象を検出することが可能である。
（４）ノッキングに関わる補正量Ａｃｏｍの更新後にエンジン１０の出力に関わる補正量Ａｃｏｍの更新が行われることにより、ノッキングに対するマージンＡｍａｒを確保しつつ、更新対象に対応する気筒１２における出力が高められる。その結果、燃費の向上や排気ガスの浄化性能の向上を図ることが可能である。
【００５５】
なお、上記実施形態は、以下のように適宜更新して実施することもできる。
・更新処理において行われる補正量Ａｃｏｍの更新は、ノッキングに関わる補正量Ａｃｏｍの更新だけであってもよい。こうした構成であっても、上記（１）〜（３）に記載した効果が得られる。
【００５６】
・気筒１２ごとの出力は、トルク値Ｔｒｑに限らず、例えば、クランク角ＣＡに基づくクランクシャフト１０ａの角加速度に基づいて演算されてもよい。また例えば、気筒１２内の燃焼によって発生するイオンに基づくイオン電流を検出するイオンセンサーの検出値に基づいて演算されてもよい。
【００５７】
・空燃比ＡＦに基づく更新対象の検出は、以下のように行われてもよい。
処理部５２は、空燃比ＡＦの演算結果から全気筒１２の空燃比ＡＦの平均値ＡＦａｖｅを演算し、その演算した平均値ＡＦａｖｅと気筒１２の空燃比ＡＦとの偏差ΔＡＦを気筒１２毎に演算する。処理部５２は、他の点火プラグ１３とは点火時期が異なると判断される閾値ΔＡＦｔｈよりも大きい値を異常値として、偏差ΔＡＦの絶対値が異常値であるか否かを判断する。処理部５２は、偏差ΔＡＦの絶対値が異常値である点火プラグ１３が存在する場合、その点火プラグ１３を更新対象として検出してもよい。また、上記偏差ΔＡＦの絶対値が最も大きい点火プラグ１３を更新対象として検出してもよい。こうした構成によれば、他の点火プラグ１３とは点火時期が異なる点火プラグ１３を高い精度の下で検出することができる。
【００５８】
・更新対象の検出は、空燃比ＡＦに基づく検出に限らず、例えば、定常状態における各気筒１２の出力に基づいて行われてもよい。
・更新対象の検出は、エンジン１０の運転状態が定常状態であるときに限らず、例えば、エンジン１０の運転状態が過渡状態やアイドリング状態であるときに行われてもよい。
【００５９】
・制御装置５０は、複数の点火プラグ１３のなかから検出された更新対象の補正量Ａｃｏｍを更新した。これに限らず、制御装置５０は、補正量Ａｃｏｍを更新するための条件が成立しているか否かを点火プラグ１３ごとに判断し、該条件が成立した点火プラグ１３の補正量Ａｃｏｍを各別に更新してもよい。このときの条件としては、例えば、吸入空気量と燃料噴射量とに基づく吸気空燃比と、空燃比センサー３６の検出値に基づく空燃比ＡＦと、の乖離度が閾値を超えているか否かが挙げられる。また例えば、要求トルクとトルク値Ｔｒｑとの乖離度が閾値を超えているか否かが挙げられる。
【００６０】
・制御装置５０は、各気筒１２への燃料の供給を１つのインジェクターで行うＳＰＩ（Ｓｉｎｇｌｅ  Ｐｏｉｎｔ  Ｉｎｊｅｃｔｉｏｎ）方式のエンジンにも適用可能である。また、制御装置５０は、筒内直接噴射方式のエンジンにも適用可能である。
【００６１】
・制御装置５０は、マージンＡｍａｒが進角量ＳＡａｄよりも大きい場合に第１更新量Ａｒｅｖ１の分だけ補正量Ａｃｏｍを遅角させればよい。そのため、マージンＡｍａｒが進角量ＳＡａｄよりも小さい場合には、補正量Ａｃｏｍを更新しなくともよい。
【００６２】
・ノッキングの検出は、ノックセンサー３９からのノック情報、燃焼圧Ｐｃ、クランク角ＣＡに基づくクランクシャフト１０ａの角加速度の変化、および、気筒１２内のイオン電流を検出するイオンセンサーの検出値、これらのうちの少なくとも１つに基づいて行われてもよい。
【符号の説明】
【００６３】
１０…エンジン、１０ａ…クランクシャフト、１１…シリンダーブロック、１２…気筒、１３…点火プラグ、１４…インテークマニホールド、１５…エキゾーストマニホールド、１６…吸気通路、１７…ターボチャージャー、１８…コンプレッサー、１９…インタークーラー、２０…スロットルバルブ、２１…サージタンク、２５…排気通路、２６…タービン、３０…吸入空気量センサー、３１…吸気圧力センサー、３２…吸気温度センサー、３４…クランク角センサー、３５…カム角センサー、３６…空燃比センサー、３７…冷却水温センサー、３８…アクセル開度センサー、３９…ノックセンサー、４０…燃焼圧センサー、４１…アクセルペダル、５０…制御装置、５１…取得部、５２…処理部、５３…記憶部、５５…点火マップ、５６…補正量データ、５７…マージンマップ。
【図１】
0006453021.tif 000002
【図２】
0006453021.tif 000003
【図３】
0006453021.tif 000004
【図４】
0006453021.tif 000005