(57)【要約】【課題】  加速時における点火時期の遅角補正を、実際の車両駆動力の変動に応じた適切なタイミングで実行でき、加速性能を確保しながら、トルク変動による車両前後振動を効果的に抑制できる内燃機関の点火時期制御装置を提供する。【解決手段】  加速要求を検出する加速要求検出手段６と、検出された回転数ＮＥに基づいて回転変動量ＤＮＥを算出する回転変動量算出手段３と、回転変動量ＤＮＥを、内燃機関２の回転数および検出された変速機の変速比に応じた所定の位相遅れを有するように補正することにより、補正回転変動量ＣＥＡを算出する補正回転変動量算出手段３と、点火時期ＩＧＬＯＧを遅角側に補正するための遅角補正量ＩＧＡＣＣＲを算出する遅角補正量算出手段３と、加速要求が検出された場合において、補正回転変動量ＣＥＡが第３所定値よりも大きいときに、遅角補正量による補正を実行する遅角補正実行手段３と、を備える。【選択図】  図３４
2007224925.tif 000002
【特許請求の範囲】
【請求項１】
加速時に点火時期を遅角側に制御する内燃機関の点火時期制御装置であって、
前記内燃機関に対する加速要求を検出する加速要求検出手段と、
前記内燃機関の回転数を検出する回転数検出手段と、
当該検出された回転数に基づいて前記内燃機関の回転変動量を算出する回転変動量算出手段と、
前記内燃機関に連結された変速機の変速比を検出する変速比検出手段と、
前記算出された回転変動量を、前記内燃機関の回転数および前記検出された変速比に応じた所定の位相遅れを有するように補正することにより、補正回転変動量を算出する補正回転変動量算出手段と、
点火時期を遅角側に補正するための遅角補正量を算出する遅角補正量算出手段と、
前記加速要求が検出された場合において、前記補正回転変動量が第３所定値よりも大きいときに、前記遅角補正量による補正を実行する遅角補正実行手段と、
を備えていることを特徴とする内燃機関の点火時期制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の点火時期制御装置に関し、特に加速時における急激なトルク変動に起因する車両前後振動を低減するために点火時期を遅角側に制御する点火時期制御装置に関する。
【背景技術】
【０００２】
車両の加速時には、内燃機関のトルクの急激な増加に対して駆動輪が追従できないために、内燃機関から駆動輪へトルクを伝達する駆動系、特にドライブシャフトにねじれが生じ、それに起因する内燃機関の変位をマウントで吸収する際に加速変動が起き、車両前後振動が発生することがある。このような車両前後振動が発生すると、加速感を悪化させるとともに、走行安定性を損なう。このような問題を解決するための従来の点火時期制御装置として、例えば、本出願人が提案した特許文献１に開示されたものが知られている。
【０００３】
この点火時期制御装置では、加速時において、内燃機関の回転変動量が所定量よりも大きく、かつ回転変動量微分値が所定値よりも小さいときに、点火時期の遅角補正が実行される。このように、点火時期の遅角補正の実行タイミングを、内燃機関の回転変動量および回転変動量微分値に基づいて決定するのは、加速時の車両前後振動の発生原因が車両駆動力の変動に他ならないとともに、内燃機関の回転変動量が、車両駆動力の増加時には減少し、車両駆動力の減少時には増加するという挙動を示し、車両駆動力とは互いに逆位相の関係を有するためである。したがって、内燃機関の回転変動量が所定量よりも大きく、かつ回転変動量微分値が所定値よりも小さいとき、例えば回転数が増加していて、回転変動量が減少しているときに、遅角補正量による点火時期の遅角補正を実行することによって、車両駆動力が増加しているときに、内燃機関のトルクを適切なタイミングで低減できる。その結果、加速変動の発生原因である車両駆動力の変動を効果的に抑制でき、加速性能を損なうことなく、車両前後振動を効果的に抑制することができる。
【０００４】
また、上記の内燃機関の回転変動量および回転変動量微分値は、次のようにして算出される。すなわち、クランク角センサの設置誤差、微細な回転変動やノイズ成分の影響を除去するために、クランク角センサから所定のクランク角（例えば３０度）ごとに出力されるクランク角信号の発生時間間隔をそれぞれ求め、これらの複数の発生時間間隔に基づき、ＴＤＣ信号が発生するごとに、エンジン回転数ＮＥが算出される。このＴＤＣ信号は、所定のクランク角（４気筒の場合１８０度）ごとに出力される。また、回転変動量ＤＮＥおよび回転変動量微分値ＤＤＮＥの算出も、ＴＤＣ信号を基準とし、その発生ごとに行われ、ＤＮＥ＝ＮＥ（ｎ）−ＮＥ（ｎ−１）として、ＤＤＮＥ＝ＤＮＥ（ｎ）−ＤＮＥ（ｎ−１）＝（ＮＥ（ｎ）−ＮＥ（ｎ−１））−（ＮＥ（ｎ−１）−ＮＥ（ｎ−２））として、それぞれ算出される。添え字のｎ、ｎ−１およびｎ−２は、今回値、前回値および前々回値をそれぞれ表す。
【０００５】
しかし、上述した従来の点火時期制御装置では、内燃機関の回転変動量および回転変動量微分値が、上記のようにＴＤＣ信号を基準として算出されるので、回転変動量の算出にはＴＤＣ信号の２回の発生（１ＴＤＣ時間）が必要であり、回転変動量微分値の算出にはＴＤＣ信号の３回の発生（２ＴＤＣ時間）が必要であり、不可避的な時間遅れを伴う。このＴＤＣ時間は、回転数に応じて変化し、回転数が低いほど大きいため、それに応じて、算出遅れも回転数が低いほど大きくなる。このため、算出した回転変動量微分値が所定値よりも小さくなったタイミングで、点火時期の遅角補正を実行したとしても、その実行タイミングは、回転変動量微分値が実際に所定値よりも小さくなったタイミングからすでに遅れているため、遅角補正を、車両駆動力が実際に増加し始める最適なタイミングで行うことができず、その結果、車両前後振動を効果的に抑制できない。
【０００６】
本発明は、このような課題を解決するためになされたものであり、加速時における点火時期の遅角補正を、実際の車両駆動力の変動に応じた適切なタイミングで実行でき、それにより、加速性能を確保しながら、トルク変動による車両前後振動を効果的に抑制することができる内燃機関の点火時期制御装置を提供することを目的とする。
【０００７】
【特許文献１】特開２００３−６５１９６号公報（図１０）
【発明の開示】
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、請求項１に係る発明は、加速時に点火時期を遅角側に制御する内燃機関の点火時期制御装置であって、内燃機関２に対する加速要求を検出する加速要求検出手段（スロットル開度センサ６）と、内燃機関２の回転数（エンジン回転数ＮＥ）を検出する回転数検出手段（クランク角センサ１５、ＥＣＵ３）と、検出された回転数に基づいて内燃機関２の回転変動量ＤＮＥを算出する回転変動量算出手段（ＥＣＵ３、図３１のステップ１１１）と、内燃機関２に連結された変速機の変速比を検出する変速比検出手段（ギヤ位置センサ２０）と、算出された回転変動量ＤＮＥを、内燃機関２の回転数および検出された変速比に応じた所定の位相遅れを有するように補正することにより、補正回転変動量ＣＥＡを算出する補正回転変動量算出手段（ＥＣＵ３、図３０のステップ３１Ｄ、図３１のステップ１１４）と、点火時期ＩＧＬＯＧを遅角側に補正するための遅角補正量（加速リタード補正量ＩＧＡＣＣＲ）を算出する遅角補正量算出手段（ＥＣＵ３、図４のステップ６０）と、加速要求が検出された場合において、補正回転変動量ＣＥＡが第３所定値よりも大きいときに、遅角補正量による補正を実行する遅角補正実行手段（ＥＣＵ３、図３４のステップ８３Ｄ、８５）と、を備えていることを特徴とする。
【０００９】
この内燃機関の点火時期制御装置によれば、遅角補正量算出手段によって、点火時期の遅角補正量が算出される。また、検出された内燃機関の回転数に基づいて、その回転変動量が算出されるとともに、算出された回転変動量を、内燃機関の回転数および検出された変速機の変速比に応じた所定の位相遅れを有するように、補正することによって、補正回転変動量が算出される。そして、加速要求が検出され場合において、算出した補正回転変動量が第３所定値よりも大きいときに、遅角補正量による点火時期の補正が実行される。本発明は、以下のような技術的観点に基づいている。
【００１０】
前述したように、ＴＤＣ信号基準による場合、回転変動量の算出には１ＴＤＣ時間が、回転変動量微分値の算出には２ＴＤＣ時間がそれぞれ必要であり、それらの算出遅れは、回転数が低いほど大きくなる。このため、算出遅れを補償しない場合、回転変動量微分値の算出タイミング（算出された回転変動量微分値が減少し始めるタイミング）は、車両駆動力が実際に増加し始める最適タイミングに対して遅れ、その遅れ時間は、回転数が低いほど大きくなる。これに対して、回転変動量は、その微分値である回転変動量微分値に対して位相が９０度遅れた関係にあるため、その正負を逆にした（−）回転変動量は逆に、回転変動量微分値に対して位相が９０度進んだ関係にある。このため、（−）回転変動量の算出タイミング（算出された（−）回転変動量が減少し始めるタイミング）は、その算出遅れがあることで、回転数が低いほど、最適タイミングに近づき、ある回転数以下では、回転変動量微分値の算出タイミングよりもむしろ最適タイミングに近い関係になる。また、変速機の変速比が変わると、内燃機関から駆動輪までの駆動系の固有振動数が変化するため、それに応じて最適タイミングも変化する。
【００１１】
以上の観点から、本発明によれば、回転変動量を回転数および変速機の変速比に応じた所定の位相遅れを有するように補正するとともに、得られた補正回転変動量が第３所定値よりも大きくなったとき（所定の位相遅れをもたせた（−）回転変動量が上記第３所定値に対応する所定値よりも小さくなったとき）に、遅角補正を実行する。これにより、遅角補正を、車両駆動力が実際に増加し始める最適タイミングに近いタイミングで実行でき、それにより、加速性能を確保しながら、トルク変動による車両前後振動を効果的に抑制することができる。
【００１２】
また、本発明では、特許文献１に記載された発明と異なり、回転変動量微分値の算出が不要になるので、その分、演算処理の負荷を軽減でき、点火時期制御の簡便化を図ることができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の好ましい実施形態を、図面を参照しながら説明する。図１は、本発明の一実施形態による点火時期制御装置１、およびこれを適用した内燃機関２の概略構成を示している。
【００１４】
この内燃機関（以下「エンジン」という）２は、図示しない車両に搭載された、例えば４気筒４サイクルエンジンである。また、この車両は、図示しない手動変速機（変速機）を搭載したＭＴ車である。エンジン２の吸気管４には、スロットル弁５が設けられている。このスロットル弁５の開度（以下「スロットル開度」という）ＴＨは、スロットル開度センサ６（加速要求検出手段、スロットル開度検出手段）によって検出され、その検出信号は、後述するＥＣＵ３に出力される。
【００１５】
吸気管４のスロットル弁５よりも下流側でかつ吸気弁（図示せず）のすぐ上流側には、燃料噴射弁（以下「インジェクタ」という）７が気筒ごとに設けられている（１つのみ図示）。各インジェクタ７は、燃料ポンプ（図示せず）に接続されるとともに、ＥＣＵ３に電気的に接続されていて、その開弁時間（燃料噴射時間）ＴＯＵＴは、ＥＣＵ３からの駆動信号によって制御される。
【００１６】
また、エンジン２の各気筒には、点火プラグ８（１つのみ図示）が設けられており、ディストリビュータ９を介してＥＣＵ３に接続されている。各点火プラグ８は、ＥＣＵ３からの駆動信号により点火時期ＩＧＬＯＧに応じたタイミングで高電圧が加えられ、次に遮断されることによって放電し、それにより、各気筒内で混合気の点火が行われる。
【００１７】
一方、吸気管４のスロットル弁５よりも下流側には、吸気管内絶対圧センサ１０が配置されている。この吸気管内絶対圧センサ１０は、吸気管４内の絶対圧である吸気管内絶対圧ＰＢＡを検出し、その検出信号をＥＣＵ３に出力する。また、吸気管４には、吸気管内絶対圧センサ１０の下流側に、吸気温センサ１１が取り付けられており、吸気管４内の吸気温ＴＡを検出し、その検出信号をＥＣＵ３に出力する。さらに、エンジン２の本体には、エンジン水温センサ１２が取り付けられており、エンジン２の本体内を循環する冷却水の温度であるエンジン水温ＴＷを検出し、その検出信号をＥＣＵ３に出力する。
【００１８】
一方、エンジン２のクランクシャフト（図示せず）の周囲には、気筒判別センサ１３、ＴＤＣセンサ１４およびクランク角センサ１５（回転数検出手段）が設けられている。これらのセンサ１３〜１５は、マグネットロータやＭＲＥピックアップなど（いずれも図示せず）で構成され、それぞれの所定クランク角度位置でパルス信号を発生し、ＥＣＵ３に出力する。具体的には、気筒判別センサ１３は、特定の気筒の所定のクランク角度位置で、気筒判別信号ＣＹＬ（以下「ＣＹＬ信号」という）を発生する。ＴＤＣセンサ１４は、各気筒の吸気行程開始時のＴＤＣ（上死点）よりも少し前の所定のクランク角度位置で、ＴＤＣ信号を発生する。４気筒タイプの本例では、ＴＤＣ信号はクランク角１８０度ごとに１パルスが出力される。また、クランク角センサ１５は、ＴＤＣ信号よりも短い所定のクランク角度の周期（例えば３０度ごと）で、クランク角信号ＣＲＫ（以下「ＣＲＫ信号」という）を発生する。
【００１９】
ＥＣＵ３は、これらのＣＹＬ信号、ＴＤＣ信号およびＣＲＫ信号に基づき、気筒ごとのクランク角度位置を判別するとともに、ＣＲＫ信号に基づき、エンジン２の回転数（以下「エンジン回転数」という）ＮＥを算出する。
【００２０】
エンジン２の排気管１６には三元触媒１７が配置されており、排気ガス中のＨＣ、ＣＯ、ＮＯx などの成分の浄化を行う。また、排気管１６の三元触媒１７よりも上流側には、酸素濃度センサ１８が設けられており、排気ガス中の酸素濃度を検出し、その検出信号をＥＣＵ３に出力する。
【００２１】
ＥＣＵ３にはさらに、車速センサ１９から、車両の速度（車速）ＶＰを表す検出信号が、ギヤ位置センサ２０（変速比検出手段）から、手動変速機のギヤ位置に対応するギヤ位置番号ＮＧＲを表す検出信号が、それぞれ出力される。このギヤ位置番号ＮＧＲは、第１速〜第５速のギヤ位置に対して、それぞれ値１〜５が割り当てられている。また、ＥＣＵ３には、空調装置（以下「エアコン」という）２２のコンプレッサ（図示せず）とエンジン２との間を接続・遮断する電磁式のエアコンクラッチ２１が電気的に接続されていて、ＥＣＵ３からの駆動信号によって、エアコンクラッチ２１の接続・遮断が制御される。
【００２２】
ＥＣＵ３は、本実施形態において、加速要求検出手段、回転数検出手段、回転変動量算出手段、補正回転変動量算出手段、遅角補正量算出手段、および遅角補正実行手段を構成するものである。ＥＣＵ３は、ＣＰＵ、ＲＡＭ、ＲＯＭおよび入出力インターフェース（いずれも図示せず）などからなるマイクロコンピュータで構成されている。
【００２３】
ＣＰＵは、上述した各種のセンサで検出されたエンジンパラメータ信号に基づいて、エンジン２の運転状態を判別するとともに、その判別結果に応じ、ＴＤＣ信号の発生に同期して、燃料噴射時間ＴＯＵＴおよび点火時期ＩＧＬＯＧを演算し、その演算結果に基づく駆動信号をインジェクタ７およびディストリビュータ９に出力する。また、車両の加速時には、点火時期ＩＧＬＯＧの加速リタード制御を後述するように実行する。
【００２４】
図２は、点火時期ＩＧＬＯＧの算出処理のメインフローを示すフローチャートである。本処理は、ＴＤＣ信号の発生に同期して実行される。まず、ステップ２１（「Ｓ２１」と図示。以下同じ）において、前述した各種センサで検出された運転パラメータを読み込む。次いで、エンジン回転数ＮＥおよび吸気管内絶対圧ＰＢＡに応じ、マップ（図示せず）を検索することによって、基本点火時期ＩＧＭＡＰを決定する（ステップ２２）。
【００２５】
次に、加速リタード補正量ＩＧＡＣＣＲを算出する（ステップ２３）。この加速リタード補正量ＩＧＡＣＣＲは、車両の加速時に実行される加速リタード制御において算出されるものであり、その詳細については後述する。
【００２６】
次いで、算出した加速リタード補正量ＩＧＡＣＣＲを用い、次式（１）によって、点火時期ＩＧＬＯＧを算出する（ステップ２４）。
ＩＧＬＯＧ＝ＩＧＭＡＰ−ＩＧＡＣＣＲ＋ＩＧＣＲＯ  ・・・（１）
ここで、ＩＧＣＲＯは、ＩＧＡＣＣＲ以外の補正量であり、例えば、エンジン水温ＴＷに応じて決定される水温進角補正量、吸気温ＴＡに応じて決定される吸気温進角補正量や、低温始動時における暖機向上のための暖機向上進角量などが含まれる。
【００２７】
そして、算出した点火時期ＩＧＬＯＧに基づく駆動信号をディストリビュータ９に出力する（ステップ２５）ことによって、各気筒の点火時期を制御し、本プログラムを終了する。
【００２８】
図３および図４は、図２のステップ２３で実行される加速リタード補正量ＩＧＡＣＣＲの算出処理を示している。なお、以下の説明では、ＥＣＵ３のＲＯＭに記憶されているデータについては、その先頭に「＃」を付することで、随時、検出または更新される他のデータと区別して表すものとする。この処理ではまず、ステップ３１において、補償エンジン信号値ＡＥＳを算出する。この補償エンジン信号値ＡＥＳは、以下に述べるように、エンジン回転数ＮＥの２回微分値である回転変動量微分値ＤＤＮＥを、その振幅中心ずれおよび算出遅れを補償するように補正したものである。
【００２９】
図５は、この補償エンジン信号値ＡＥＳの算出サブルーチンを示している。この処理ではまず、エンジン回転数ＮＥの今回値ＮＥ（ｎ）と前回値ＮＥ（ｎ−１）との差（＝ＮＥ（ｎ）−ＮＥ（ｎ−１））を、回転変動量ＤＮＥとして算出する（ステップ６１）とともに、回転変動量の今回値ＤＮＥ（ｎ）と前回値ＤＮＥ（ｎ−１）との差（＝ＤＮＥ（ｎ）−ＤＮＥ（ｎ−１））を、回転変動量微分値ＤＤＮＥとして算出する（ステップ６２）。
【００３０】
次いで、エンジン回転数ＮＥに応じ、図６に示すテーブルからテーブル値＃ＤＤＮＥＫ／ｄｔＮを検索し、振幅中心ずれ補償項ＤＤＮＥＫ／ｄｔとして設定する（ステップ６３）。この振幅中心ずれ補償項ＤＤＮＥＫ／ｄｔは、圧縮行程変動の影響による回転変動量微分値ＤＤＮＥの振幅中心ずれＫ／ｄｔを補償するためのものである。この振幅中心ずれＫ／ｄｔは、エンジン回転数ＮＥが低いほど、ＴＤＣ時間（サンプリング時間）が長くなることで、より大きくなるので、これに応じ、テーブル値＃ＤＤＮＥＫ／ｄｔＮは、エンジン回転数ＮＥが低いほど、より大きな値に設定されている。次に、算出した振幅中心ずれ補償項ＤＤＮＥＫ／ｄｔを回転変動量微分値ＤＤＮＥから減算することによって、第２補正回転変動量微分値（以下「補正ＤＤＮＥ」という）を算出する（ステップ６４）。
【００３１】
次いで、エンジン回転数ＮＥに応じ、図７に示すテーブルからテーブル値＃ＤＤＮＥＴＤＣＮを検索し、算出遅れ補償項ＤＤＮＥＴＤＣとして設定する（ステップ６５）。この算出遅れ補償項ＤＤＮＥＴＤＣは、ＴＤＣ信号基準による回転変動量微分値ＤＤＮＥの算出遅れを補償するためのものであり、このため、テーブル値＃ＤＤＮＥＴＤＣＮは、エンジン回転数ＮＥに反比例するように設定されている。次に、算出した算出遅れ補償項ＤＤＮＥＴＤＣを、ステップ６４で求めた補正ＤＤＮＥから減算することによって、補償エンジン信号値ＡＥＳを算出し（ステップ６６）、本サブルーチンを終了する。
【００３２】
図３に戻り、ステップ３１に続くステップ３２では、加速リタード制御の実行領域判定処理を行う。この処理は、エンジン２が加速リタード制御の実行に適した運転領域にあるか否かを判定するものであり、図８に示すサブルーチンに従って実行される。この処理ではまず、エンジン回転数ＮＥに応じ、図９に示すテーブルからテーブル値＃ＴＨＡＣＣＲＮを検索し、スロットル開度判定値ＴＨＡＣＣＲとして設定する（ステップ７１）。同図に示すように、このテーブル値＃ＴＨＡＣＣＲＮは、エンジン回転数ＮＥの４つの格子点ＮＥ１〜ＮＥ４に対して、ＮＥ値が大きいほど、より大きな値になるように設定されており、格子点間では補間計算によって求められる。
【００３３】
スロットル開度判定値ＴＨＡＣＣＲが上記のように設定されるのは、次の理由による。後述するように、本実施形態の加速リタード制御では、スロットル弁５が前回時に低開度状態にあることが、加速リタード制御の開始条件の１つになっていて、その判定にスロットル開度判定値ＴＨＡＣＣＲが用いられる。一方、加速変動による車両前後振動は、エンジン回転数ＮＥが大きいほど、エンジン２のトルクが大きいことで生じやすい傾向にあるので、低開度状態と判定されるスロットル開度領域を拡大することで、加速リタード制御の頻度を高くするためである。
【００３４】
次に、スロットル開度の今回値ＴＨ（ｎ）と前回値ＴＨ（ｎ−１）との差（ＴＨ（ｎ）−ＴＨ（ｎ−１））を、スロットル開度変化量ＤＴＨＡＣＲとして算出する（ステップ７２）。
【００３５】
次いで、エンジン水温ＴＷが、その下限値＃ＴＷＩＧＡＣＣＲ（例えば７０℃）よりも高いか否か（ステップ７３）、車速ＶＰがその下限値＃ＶＩＧＡＣＣＲＬ（例えば５ｋｍ／ｈ）と上限値＃ＶＩＧＡＣＣＲＨ（例えば１８０ｋｍ／ｈ）との間にあるか否か（ステップ７４）、およびエンジン回転数ＮＥがその下限値＃ＮＩＧＡＣＣＲＬ（例えば１０００ｒｐｍ）と上限値＃ＮＩＧＡＣＣＲＨ（例えば７０００ｒｐｍ）との間にあるか否か（ステップ７５）をそれぞれ判別する。
【００３６】
これらの答のいずれかがＮＯのときには、エンジン２が加速リタード制御の実行に適した運転領域にないとして、加速リタード許可フラグＦ＿ＩＧＡＣＣＲを「０」にセットし（ステップ７６）、加速リタード制御を禁止する。一方、前記ステップ７３〜７５の答がいずれもＹＥＳで、エンジン水温ＴＷ、車速ＶＰおよびエンジン回転数ＮＥがそれぞれの所定の範囲内にあるときには、エンジン２が加速リタード制御の実行に適した運転領域にあるとして、加速リタード許可フラグＦ＿ＩＧＡＣＣＲを「１」にセットし（ステップ７７）、加速リタード制御を許可し、本サブルーチンを終了する。
【００３７】
図３に戻り、ステップ３２に続くステップ３３〜４６では、加速リタード制御の開始条件が成立しているか否かを判定する。まず、加速リタード許可フラグＦ＿ＩＧＡＣＣＲが「１」であるか否かを判別する。この答がＮＯで、図８の判定処理によって加速リタード制御が禁止されているときには、後述する回転数低下フラグＦ＿ＡＣＣＲ、エアコン停止フラグＦ＿ＩＧＡＣＣＮおよびエアコン作動フラグＦ＿ＩＧＡＣＣＡＮをそれぞれ「０」にセットする（ステップ３４〜３６）とともに、図４のステップ４７および４８において、後述する加速リタード算出量ＩＧＡＣＣＲＡＭおよび加速リタード補正量ＩＧＡＣＣＲをそれぞれ値０に設定し、本プログラムを終了する。
【００３８】
一方、ステップ３３の答がＹＥＳで、加速リタード制御が許可されているときには、回転数低下フラグＦ＿ＡＣＣＲが「１」であるか否かを判別する（ステップ３７）。前記ステップ３４の実行によって、加速リタード制御が許可された直後にはこの答がＮＯになるので、その場合にはステップ３８に進み、加速リタード算出量ＩＧＡＣＣＲＡＭが値０であるか否かを判別する。前記ステップ４７の実行によって、加速リタード制御が許可された直後にはこの答がＹＥＳになるので、その場合にはステップ３９以降に進む。
【００３９】
このステップ３９では、スロットル開度の前回値ＴＨ（ｎ−１）が、図８のステップ７１で設定したスロットル開度判定値の今回値ＴＨＡＣＣＲ（ｎ）よりも小さいか否かを判定し、また、ステップ４０では、図８のステップ７２で算出したスロットル開度変化量ＤＴＨＡＣＲが、その判定値＃ＤＴＨＡＣＣＲ（例えば１０度）よりも大きいか否かを判別する。これらの答のいずれかがＮＯのとき、すなわちスロットル弁５が前回時の低開度状態から急開されていないときには、加速要求が高くなく、加速リタード制御の開始条件が成立していないとして、加速リタード算出量ＩＧＡＣＣＲＡＭが値０であるか否かを判別する（ステップ４１）。この答がＹＥＳ、すなわち加速リタード制御中でないときには、前記ステップ３５以降に進み、加速リタード制御の開始を保留する一方、ステップ４１の答がＮＯで、加速リタード制御中のときには、後述するステップ６０の加速リタード補正量ＩＧＡＣＣＲの算出処理に進む。
【００４０】
一方、前記ステップ３９および４０の答がいずれもＹＥＳのときには、前記ステップ３１で算出した補償エンジン信号値ＡＥＳが値０よりも大きいか否かを判別する（ステップ４２）。この答がＹＥＳのとき、すなわちスロットル弁５が低開度状態から急開されていて、加速要求が高く、かつ前回時と今回時の間で回転変動量ＤＮＥが増加しているときには、回転数低下フラグＦ＿ＡＣＣＲを「０」にセットする（ステップ４３）とともに、加速リタード制御の開始条件が成立しているとして、図４の後述するステップ４９以降に進み、加速リタード量算出値ＩＧＡＣＣＲＡＭを算出する。
【００４１】
前記ステップ４２の答がＮＯで、回転変動量ＤＮＥが増加していないときには、補償エンジン信号値の絶対値｜ＡＥＳ｜が判定値＃ＡＥＳＣＣＲ０（例えば１０ｒｐｍ）よりも大きいか否かを判別する（ステップ４４）。この答がＮＯのとき、すなわち回転変動量ＤＮＥが減少している場合でも、その減少度合が小さいときには、前記ステップ４３を実行するとともに、加速リタード制御の開始条件が成立しているとして、ステップ４９以降に進む。
【００４２】
一方、前記ステップ４４の答がＹＥＳのとき、すなわち回転変動量ＤＮＥが減少しており、且つその減少度合が大きいときには、回転数低下フラグＦ＿ＡＣＣＲを「１」にセットする（ステップ４５）とともに、加速リタード制御の開始条件が成立していないとして、図４の前記ステップ４７、４８を実行し、加速リタード算出量ＩＧＡＣＣＲＡＭおよび加速リタード補正量をそれぞれ値０に設定する。このように回転数低下フラグＦ＿ＡＣＣＲが「１」にセットされると、前記ステップ３７の答がＹＥＳになり、その場合には、前記ステップ４２以降に進む。すなわち、スロットル弁５が急開された場合において、回転変動量ＤＮＥが減少していて、その減少度合が大きいときには、加速リタード制御の開始を保留し、その後、回転変動量ＤＮＥが増加側に転じるのを待って、加速リタード制御が開始される。
【００４３】
また、前記ステップ３８の答がＮＯで、加速リタード制御中のときには、後述するリタード終了タイマのタイマ値ＴＡＣＣＲＥが値０であるか否かを判別し（ステップ４６）、その答がＹＥＳのときには、前記ステップ３９以降に進む一方、ＮＯのときにはステップ６０に進む。
【００４４】
前記ステップ４２または４４により加速リタード制御の開始条件が成立していると判定されたときには、ステップ４３に続く図４のステップ４９〜５９において、加速リタード量算出値ＩＧＡＣＣＲＡＭを設定する。
【００４５】
まず、ステップ４９および５０において、エアコン作動フラグＦ＿ＩＧＡＣＣＡＮおよびエアコン停止フラグＦ＿ＩＧＡＣＣＮが「１」であるか否かをそれぞれ判別する。それらの答のいずれもがＮＯのときには、エアコンクラッチ２１（ＡＣＣＬ）が接続（ＯＮ）状態であるか否かを判別し（ステップ５１）、その答がＮＯのときにはエアコン停止フラグＦ＿ＩＧＡＣＣＮを「１」にセットし（ステップ５２）、ＹＥＳのときにはエアコン作動フラグＦ＿ＩＧＡＣＣＡＮを「１」にセットする（ステップ５３）。また、前記ステップ５０の答がＹＥＳで、エアコン停止フラグＦ＿ＩＧＡＣＣＮがすでに「１」にセットされているときには、前記ステップ５２に進み、その値を保持し、同様に、前記ステップ４９の答がＹＥＳで、エアコン作動フラグＦ＿ＩＧＡＣＣＡＮがすでに「１」にセットされているときには、前記ステップ５３に進み、その値を保持する。このように、エアコン停止・作動フラグＦ＿ＩＧＡＣＣＮ、Ｆ＿ＩＧＡＣＣＡＮは、エアコンクラッチ２１の遮断・接続状態に応じて一旦、セットされると、以降はその値に保持される。
【００４６】
エアコン２２が停止中のときには、前記ステップ５２に続くステップ５４において、エンジン回転数ＮＥに応じ、図１０（ａ）に示すテーブルから、エアコン停止時用のテーブル値＃ＩＧＡＣＣＲＮを検索し、加速リタード量基本値ＩＧＡＣＣＲＸとして設定する。同図に示すように、このテーブル値＃ＩＧＡＣＣＲＮは、エンジン回転数ＮＥの５つの格子点ＮＥ１〜ＮＥ５に対して、ＮＥ値が大きいほど、より大きな値になるように設定されている。これは、前述したように、エンジン回転数ＮＥが高いほど、エンジン２のトルクが大きいことで、車両前後振動が生じやすいので、加速リタード量基本値ＩＧＡＣＣＲＸをより大きな値に設定することによって、遅角補正によるエンジン２のトルクダウン量をより大きくするためである。
【００４７】
一方、エアコン２２が作動中のときには、前記ステップ５３に続くステップ５５において、エンジン回転数ＮＥに応じ、図１０（ｂ）に示すテーブルから、エアコン作動時用のテーブル値＃ＩＧＡＣＣＲＡＮを検索し、加速リタード量基本値ＩＧＡＣＣＲＸとして設定する。同図に示すように、このテーブル値＃ＩＧＡＣＣＲＡＮは、エアコン停止時用のテーブル値＃ＩＧＡＣＣＲＮと同様、エンジン回転数ＮＥの５つの格子点ＮＥ１〜ＮＥ５に対して、ＮＥ値が大きいほど大きな値に設定されるとともに、テーブル値＃ＩＧＡＣＣＲＮよりも低い値に設定されている。これは、エアコン２２の作動に伴うエンジン２の負荷の増大に対応して、エンジン２のトルクを確保するためである。
【００４８】
前記ステップ５４または５５に続くステップ５６では、スロットル開度ＴＨに応じ、図１１に示すテーブルからテーブル値＃ＫＴＨＡＣＲＮを検索し、スロットル開度補正係数ＫＴＨＡＣＲとして設定する。同図に示すように、このテーブル値＃ＫＴＨＡＣＲＮは、スロットル開度ＴＨの４つの格子点ＴＨ１〜ＴＨ４に対して、ＴＨ値が大きいほど、より大きな値になるように設定されている。これは、スロットル開度ＴＨが大きいほど、エンジン２のトルクが大きいことで、車両前後振動が生じやすいので、スロットル開度補正係数ＫＴＨＡＣＲをより大きな値に設定することによって、エンジン２のトルクダウン量をより大きくするためである。
【００４９】
次に、ステップ５７に進み、ギヤ位置番号ＮＧＲに応じ、図１２に示すテーブルからテーブル値＃ＫＧＲＮを検索し、ギヤ位置補正係数ＫＧＲとして設定する。このテーブルでは、テーブル値＃ＫＧＲＮは、ギヤ位置番号ＮＧＲが小さいほど、すなわちギヤ比が低いほど、より大きな値に設定されている。これは、ギヤ比が低いほど、加速時における駆動輪側からの反動が大きいことで、車両前後振動が生じやすいので、ギヤ位置補正係数ＫＧＲをより大きな値に設定することによって、エンジン２のトルクダウン量をより大きくするためである。
【００５０】
次いで、ステップ５８に進み、前記ステップ５４または５５で設定した加速リタード量基本値ＩＧＡＣＣＲＸに、前記ステップ５６および５７でそれぞれ設定したスロットル開度補正係数ＫＴＨＡＣＲおよびギヤ位置補正係数ＫＧＲを乗算した値を、加速リタード量算出値ＩＧＡＣＣＲＡＭとして設定する。
【００５１】
次に、ステップ５９において、後述する加速リタード実行フラグＦ＿ＩＧＡＣＣＲＤの反転の有無を判定するためのダウンカウント式のＦ＿ＩＧＡＣＣＲＤ反転タイマＴＡＣＣＲＤＥ、および加速リタード終了タイマＴＡＣＣＲＥに、それぞれの所定時間＃ＴＭＡＣＣＲＤＥ（例えば２００ｍｓ）、＃ＴＭＡＣＣＲＥ（例えば１５００ｍｓ）をセットし、これらをスタートさせるとともに、後述する初回加速リタード指示フラグＦ＿ＩＧＡＣＣＲ１を「１」にセットし、初回加速リタード中フラグＦ＿ＩＧＡＣＣＲ１Ａおよび加速リタード実行フラグＦ＿ＩＧＡＣＣＲＤを、それぞれ「０」にセットする。
【００５２】
次いで、ステップ６０に進み、加速リタード補正量ＩＧＡＣＣＲの算出処理を行う。図１３および図１４は、そのサブルーチンを示している。まず、回転変動量ＤＮＥが値０よりも大きいか否かを判別する（ステップ８１）。この答がＹＥＳで、ＤＮＥ＞０のとき、すなわち前回時と今回時との間でエンジン回転数ＮＥが上昇しているときには、補償エンジン信号値の絶対値｜ＡＥＳ｜が回転上昇側のしきい値＃ＡＥＳＡＣＣＲＰ（例えば１０ｒｐｍ）以上であるか否かを判別する（ステップ８２）。この答がＮＯで、｜ＡＥＳ｜＜＃ＡＥＳＡＣＣＲＰのときには、後述するステップ９５以降に進む。この判別は、エンジン２の燃焼変動により補償エンジン信号値ＡＥＳ中に含まれるノイズ成分の影響を排除し、それに起因する加速リタードの誤作動を防止するためである。
【００５３】
前記ステップ８２の答がＹＥＳで、｜ＡＥＳ｜≧＃ＡＥＳＡＣＣＲＰのときには、補償エンジン信号値ＡＥＳが値０以上であるか否かを判別する（ステップ８３）。この答がＹＥＳで、ＡＥＳ≧０のとき、すなわち回転変動量ＤＮＥが減少していないときには、加速リタードの実行条件が成立していないとして、ステップ９５に進む。一方、ステップ８３の答がＮＯで、ＡＥＳ＜０のとき、すなわち前回時と今回時との間で、エンジン回転数ＮＥが上昇し、かつ回転変動量ＤＮＥが減少しているときには、車両駆動力が増加しており、加速リタードの実行条件が成立しているとして、加速リタード実行フラグＦ＿ＩＧＡＣＣＲＤが「１」であるか否かを判別する（ステップ８４）。そして、この答がＮＯのときには、加速リタード実行フラグＦ＿ＩＧＡＣＣＲＤを「１」にセットする（ステップ８５）一方、この答がＹＥＳで、すでに加速リタードの実行中であるときには、ステップ９５に進む。
【００５４】
次いで、初回加速リタード指示フラグＦ＿ＩＧＡＣＣＲ１が「１」であるか否かを判別する（ステップ８６）。図４の前記ステップ５９の実行により、加速リタード制御が開始された直後にはこの答がＹＥＳになるので、その場合にはステップ８７に進み、初回加速リタード中フラグＦ＿ＩＧＡＣＣＲ１Ａを「１」にセットした後、Ｆ＿ＩＧＡＣＣＲＤ反転タイマＴＡＣＣＲＤＥに所定時間＃ＴＭＡＣＣＲＤＥをセットし、これをスタートさせる（ステップ８８）。一方、前記ステップ８６の答がＮＯで、Ｆ＿ＩＧＡＣＣＲ１＝０のとき、すなわち加速リタード制御の開始直後でないときには、前記ステップ８７をスキップして、前記ステップ８８に進む。
【００５５】
一方、前記ステップ８１の答がＮＯで、回転変動量ＤＮＥ≦０のとき、すなわちエンジン回転数ＮＥが低下しているか又は変化していないときには、補償エンジン信号値の絶対値｜ＡＥＳ｜が回転低下側のしきい値＃ＡＥＳＡＣＣＲＭ（例えば５ｒｐｍ）以上であるか否かを判別する（ステップ８９）。この答がＮＯで、｜ＡＥＳ｜＜＃ＡＥＳＡＣＣＲＭのときには、ステップ９５に進む。ステップ８９の答がＹＥＳで、｜ＡＥＳ｜≧＃ＡＥＳＡＣＣＲＭのときには、補償エンジン信号値ＡＥＳが値０以上であるか否かを判別する（ステップ９０）。この答がＮＯで、ＡＥＳ＜０のとき、すなわち回転変動量ＤＮＥが減少しているときには、ステップ９５に進む。
【００５６】
一方、ステップ９０の答がＹＥＳで、ＡＥＳ≧０のとき、すなわちエンジン回転数ＮＥが低下しており、かつ回転変動量ＤＮＥが減少していないときには、車両駆動力が増加しておらず、加速リタードの停止条件が成立しているとして、加速リタード実行フラグＦ＿ＩＧＡＣＣＲＤが「１」であるか否かを判別する（ステップ９１）。そして、この答がＹＥＳで、加速リタードの実行中であるときには、加速リタード実行フラグＦ＿ＩＧＡＣＣＲＤを「０」にセットする（ステップ９２）一方、この答がＮＯで、すでに加速リタードの停止中であるときには、ステップ９５に進む。
【００５７】
次いで、初回加速リタード中フラグＦ＿ＩＧＡＣＣＲ１Ａが「１」であるか否かを判別する（ステップ９３）。この答がＹＥＳ、すなわち初回加速リタードの実行中であるときには、初回加速リタード指示フラグＦ＿ＩＧＡＣＣＲ１および初回加速中リタードフラグＦ＿ＩＧＡＣＣＲ１Ａをいずれも「０」にセットした（ステップ９４）後、前記ステップ８８に進み、Ｆ＿ＩＧＡＣＣＲＤ反転タイマＴＡＣＣＲＤＥをスタートさせる。また、ステップ９３の答がＮＯで、初回以外の加速リタードの実行中であるときには、ステップ９４をスキップして、前記ステップ８８に進む。
【００５８】
以上のように、前回時と今回時との間において、エンジン回転数ＮＥが上昇しており（ＤＮＥ＞０）、かつ補償エンジン信号値ＡＥＳが減少している（ＡＥＳ＜０、｜ＡＥＳ｜≧＃ＡＥＳＡＣＣＲＰ）ときには、車両駆動力が増加しており、加速リタードの実行条件が成立しているとして、加速リタードが実行される。一方、エンジン回転数ＮＥが上昇しておらず（ＤＮＥ≦０）、かつ回転変動量ＤＮＥが減少していない（ＡＥＳ≧０、｜ＡＥＳ｜≧＃ＡＥＳＡＣＣＲＭ）ときには、車両駆動力が増加しておらず、加速リタードの停止条件が成立しているとして、加速リタードが停止される。また、上記の２つの条件がいずれも成立していないときには、前回時の制御状態が保持される。
【００５９】
次いで、前記ステップ８８などに続く図１１のステップ９５では、スロットル開度ＴＨが、図８の前記ステップ７１で設定したスロットル開度判定値ＴＨＡＣＣＲよりも小さいか否かを判定する。この答がＮＯで、スロットル開度ＴＨが低開度状態でないときには、Ｆ＿ＩＧＡＣＣＲＤ反転タイマＴＡＣＣＲＤＥおよび加速リタード終了タイマＴＡＣＣＲＥの各タイマ値が０であるか否かを判別する（ステップ９６、９７）。両ステップ９６、９７の答がいずれもＮＯのときには、加速リタード実行フラグＦ＿ＩＧＡＣＣＲＤが「１」であるか否かを判別する（ステップ９８）。
【００６０】
このステップ９８の答がＹＥＳで、加速リタードの実行条件が成立しているときには、初回加速リタード中フラグＦ＿ＩＧＡＣＣＲ１Ａが「１」であるか否かを判別する（ステップ９９）。この答がＹＥＳ、すなわち今回が加速リタード制御開始後の初回の加速リタードであるときには、図４の前記ステップ５８で設定した加速リタード量算出値ＩＧＡＣＣＲＡＭに、値１．０よりも大きな初回時補正係数＃ＫＩＧＡＣＣＲ１（例えば１．５）を乗算した値を、加速リタード補正量ＩＧＡＣＣＲとして設定する（ステップ１００）。また、ステップ９９の答がＮＯ、すなわち今回の加速リタードが２回目以降であるときには、加速リタード量算出値ＩＧＡＣＣＲＡＭをそのまま、加速リタード補正量ＩＧＡＣＣＲとして設定する（ステップ１０１）。一方、前記ステップ９８の答がＮＯで、Ｆ＿ＩＧＡＣＣＲＤ＝０のとき、すなわち加速リタードの停止条件が成立しているときには、加速リタード補正量ＩＧＡＣＣＲを値０に設定し（ステップ１０２）、本サブルーチンを終了する。
【００６１】
以上のように、この加速リタード制御では、加速リタード実行フラグＦ＿ＩＧＡＣＣＲＤ＝１のとき、すなわちエンジン回転数ＮＥが上昇し且つ回転変動量ＤＮＥが減少しているときの加速リタードの実行と、Ｆ＿ＩＧＡＣＣＲＤ＝０のとき、すなわちエンジン回転数ＮＥが低下し且つ回転変動量ＤＮＥが減少していないときの加速リタードの停止とが、切り換えながら交互に行われる。また、初回の加速リタード時にのみ、初回時補正係数＃ＫＩＧＡＣＣＲ１が適用されることで、加速リタード補正量ＩＧＡＣＣＲがより大きな値に設定される。
【００６２】
一方、前記ステップ９７の答がＹＥＳで、加速リタード終了タイマＴＡＣＣＲＥのタイマ値＝０のとき、すなわち加速リタード制御の開始後、所定時間＃ＴＭＡＣＣＲＥが経過したときには、加速リタード制御の終了モードに移行し、加速リタード量算出値ＩＧＡＣＣＲＡＭからリタード戻し量＃ＤＩＧＡＣＣＲ（例えば０．２度）を差し引いた値を、新たなＩＧＡＣＣＲＡＭ値として設定する（ステップ１０３）。このように加速リタード終了タイマＴＡＣＣＲＥが値０になった後には、図３のステップ４６の答がＹＥＳになることで、ステップ３９以降に進むので、スロットル弁５が急開操作されない限り、ステップ４１の答がＮＯになるまで、すなわち加速リタード量算出値ＩＧＡＣＣＲＡＭが値０になるまで、上記ステップ１０３が繰り返し実行される。これにより、加速リタード補正量ＩＧＡＣＣＲが漸減されるとともに、その値が０になったときに加速リタード制御が終了する。
【００６３】
また、前記ステップ９６の答がＹＥＳで、Ｆ＿ＩＧＡＣＣＲＤ反転タイマＴＡＣＣＲＤＥのタイマ値＝０のとき、すなわち加速リタード実行フラグＦ＿ＩＧＡＣＣＲＤが、所定時間＃ＴＭＡＣＣＲＤＥの間、反転しなかったときには、車両前後振動が収束したことで、加速リタード制御を終了すべきとして、加速リタード終了タイマＴＡＣＣＲＥのタイマ値を値０にリセットし（ステップ１０４）、次いで前記ステップ１０３に進む。これにより、加速リタード制御が強制的に終了モードに移行され、加速リタード補正量ＩＧＡＣＣＲが漸減される。
【００６４】
さらに、前記ステップ９５の答がＹＥＳで、ＴＨ＜ＴＨＡＣＣＲのときには、スロットル開度変化量ＤＴＨＡＣＲが値０よりも小さく、かつその絶対値｜ＤＴＨＡＣＲ｜が判定値＃ＤＴＨＡＣＣＲよりも大きいか否かを判別する（ステップ１０５）。この答がＮＯのときには、前記ステップ９６に進む一方、ＹＥＳのとき、すなわちスロットル弁５が急閉されたときには、前記ステップ１０４に進み、加速リタード終了タイマＴＡＣＣＲＥのタイマ値を０にリセットすることによって、加速リタード制御が強制的に終了モードに移行される。
【００６５】
以上のように、加速リタード制御は、その開始から所定時間＃ＴＭＡＣＣＲＥが経過したとき、加速リタード実行フラグＦ＿ＩＧＡＣＣＲＤが所定時間＃ＴＭＡＣＣＲＤＥの間、反転しなかったとき、あるいはスロットル弁５が急閉されたときに、加速リタード補正量ＩＧＡＣＣＲを漸減する終了モードを経て、終了する。また、この終了モードの実行中および実行終了後には、図３のステップ４６および３８の答がそれぞれＹＥＳになることで、ステップ３９以降に進むので、この状態でスロットル弁５が再度、急開され、実行条件が成立した場合には、加速リタード制御が再開される。
【００６６】
図１５は、これまでに述べた加速リタード制御による動作例を示している。すなわち、スロットル弁５が急開されることで、エンジン回転数ＮＥが上昇し、補償エンジン信号値ＡＥＳが上昇し始めると（図３のステップ４２：ＹＥＳ）、加速リタード制御が開始され（時刻ｔ１）、図４のステップ４９〜５９の実行によって、加速リタード量算出値ＩＧＡＣＣＲＡＭが算出されるとともに、Ｆ＿ＩＧＡＣＣＲＤ反転タイマＴＡＣＣＲＤＥおよび加速リタード終了タイマＴＡＣＣＲＥがスタートし、初回加速リタード指示フラグＦ＿ＩＧＡＣＣＲ１が「１」にセットされる。
【００６７】
その後、回転変動量ＤＮＥ＞０、補償エンジン信号値ＡＥＳ＜０で、かつ｜ＡＥＳ｜≧＃ＡＥＳＡＣＣＲＰが成立したとき、すなわちエンジン回転数ＮＥが上昇していて、回転変動量ＤＮＥが減少し始めたとき（時刻ｔ２）に、加速リタード実行フラグＦ＿ＩＧＡＣＣＲＤが「１」にセットされ（図１３のステップ８４）、それに応じて加速リタードが実行される。すなわち、加速リタード補正量ＩＧＡＣＣＲが、加速リタード量算出値ＩＧＡＣＣＲＡＭに設定される（図１４のステップ１０１）とともに、式（１）に従って、基本点火時期ＩＧＭＡＰなど（ＩＧＭＡＰ＋ＩＧＣＲＯ）から加速リタード補正量ＩＧＡＣＣＲを減算した値が、点火時期ＩＧＬＯＧとして設定される。なお、初回の加速リタード時のみは、初回加速リタード中フラグＦ＿ＩＧＡＣＣＲ１Ａが「１」にセットされるのに応じて、加速リタード補正量ＩＧＡＣＣＲが、加速リタード量算出値ＩＧＡＣＣＲＡＭに初回時補正係数＃ＫＩＧＡＣＣＲ１を乗算した割増された値に設定される（ステップ１００）。
【００６８】
その後、ＤＮＥ≦０、ＡＥＳ≧０で、かつ｜ＡＥＳ｜≧＃ＡＥＳＡＣＣＲＭが成立したとき、すなわちエンジン回転数ＮＥが上昇しておらず、かつ回転変動量ＤＮＥが増加し始めたとき（時刻ｔ３）に、加速リタード実行フラグＦ＿ＩＧＡＣＣＲＤが「０」にセットされ（図１３のステップ９２）、それに応じて加速リタード補正量ＩＧＡＣＣＲが値０に設定される（図１４のステップ１０２）ことで、加速リタードが停止される。
【００６９】
その後は、回転変動量ＤＮＥおよび補償エンジン信号値ＡＥＳの変化に応じて、加速リタード実行フラグＦ＿ＩＧＡＣＣＲＤが「１」「０」間で切り換えられるごとに（時刻ｔ４〜ｔ７）、加速リタードの実行と停止が交互に行われる。
【００７０】
そして、上記のような加速リタード制御によって加速変動Ｇが次第に小さくなり、車両前後振動が収束することで、加速リタード実行フラグＦ＿ＩＧＡＣＣＲＤが、所定時間＃ＴＭＡＣＣＲＤＥの間、反転しない状態になると、Ｆ＿ＩＧＡＣＣＲＤ反転タイマＴＡＣＣＲＤＥのタイマ値が値０になり（時刻ｔ８）、それに応じて加速リタード終了タイマＴＡＣＣＲＥが強制的に値０にリセットされる（ステップ１０４）ことで、終了モードに移行する。この終了モードでは、スロットル弁５の急開操作がなされない限り、加速リタード量算出値ＩＧＡＣＣＲＡＭからのリタード戻し量＃ＤＩＧＡＣＣＲの減算（ステップ１０３）が繰り返し実行されることで、加速リタード補正量ＩＧＡＣＣＲが値０になるまで漸減される。なお、加速リタード制御の途中で、エンジン２の運転領域が実行領域から外れたときには、加速リタード補正量ＩＧＡＣＣＲが値０に設定される（図４のステップ４８）ことで、加速リタード制御が直ちに終了される。図１５は、そのようなエンジン２の実行領域からの逸脱が、終了モードの途中（時刻ｔ９）で生じた例を示している。
【００７１】
以上のように、本実施形態によれば、スロットル弁５が急開された場合において、エンジン２の回転変動量ＤＮＥ＞０で、かつ補償エンジン信号値ＡＥＳ＜０が成立したとき、すなわちエンジン回転数ＮＥが上昇していて、回転変動量ＤＮＥが減少し始めたときに、加速リタード補正量ＩＧＡＣＣＲによる加速リタードを実行する。また、この補償エンジン信号値ＡＥＳは、回転変動量微分値ＤＤＮＥを、圧縮行程変動の影響による振幅中心ずれ、およびＴＤＣ信号基準で算出することによる算出遅れを補償するように補正した値である。したがって、車両駆動力が実際に増加している最適なタイミングで、加速リタードを実行でき、それにより、内燃機関のトルクを最適に低減でき、その結果、車両前後振動を最も効果的に抑制することができる。
【００７２】
図１６は、本実施形態の加速リタード制御による上述した車両前後振動の抑制効果を確認するために実施した試験の結果を示している。同図（ａ）は本実施形態による実施例を、（ｂ）は、加速リタードの実行タイミングを決定するパラメータとして、本実施形態の補償エンジン信号値ＡＥＳに代えて、回転変動量微分値ＤＤＮＥを用いた場合の比較例を、それぞれ示している。両図の比較から明らかなように、比較例では、エンジン回転数ＮＥの変動および車両前後振動の振幅がいずれも大きく、車両前後振動が十分に抑制されていないのに対し、実施例では、加速リタードの実行タイミングが補償エンジン信号値ＡＥＳに基づいて最適に決定される結果、エンジン回転数ＮＥの変動および車両前後振動の振幅がいずれも小さく、車両前後振動を十分に抑制できることが確認された。
【００７３】
また、本実施形態では、補償エンジン信号値ＡＥＳの絶対値がしきい値＃ＡＥＳＡＣＣＲＰ以上であることをさらなる条件として、加速リタードを実行するので、補償エンジン信号値ＡＥＳへのノイズ成分の影響を排除でき、したがって、ノイズに起因する加速リタードの誤作動やハンチングを適切に回避することができる。
【００７４】
さらに、ＤＮＥ≦０で、かつＡＥＳ≧０が成立したとき、すなわちエンジン回転数ＮＥが上昇しておらず、かつ回転変動量ＤＮＥが増加し始めたときに、加速リタードを停止するので、車両駆動力が減少している状態でのエンジン２の不要なトルクダウンを回避でき、より高い加速性能を得ることができる。また、この場合にも、補償エンジン信号値ＡＥＳの絶対値がしきい値＃ＡＥＳＡＣＣＲＭ以上であることを条件として、加速リタードを停止するので、補償エンジン信号値ＡＥＳへのノイズ成分の影響を排除でき、これに起因する加速リタードの誤停止やハンチングを適切に回避することができる。また、加速リタードを停止するだけで、進角補正は行わないので、ノッキングの発生を確実に防止することができる。
【００７５】
また、加速リタード補正量ＩＧＡＣＣＲを、エンジン回転数ＮＥおよび変速機のギヤ比、さらにはスロットル開度ＴＨおよびエアコン２２の作動状態に応じて設定するので、加速リタードによるエンジン２のトルクダウン量を、加速変動の度合に応じて適切に制御でき、その結果、車両駆動力の変動およびそれに起因する車両前後振動をより良く抑制することができる。また、エアコン２２の作動に伴う負荷の増大に対応して、エンジン２のトルクを適切に確保することができる。
【００７６】
さらに、初回の加速リタード時に、加速リタード補正量ＩＧＡＣＣＲを、初回時補正係数＃ＫＩＧＡＣＣＲ１によって、より大きな値に設定するので、特に加速の立ち上がり時におけるトルクダウンを強化でき、それにより、車両前後振動の収束性を高めることができる。
【００７７】
次に、図１７〜図１９を参照しながら、本発明の第２実施形態による加速リタード制御について説明する。なお、本実施形態および後述する実施形態は、第１実施形態と比較して、加速リタード制御の一部のステップの実行内容のみが異なるので、以下では、同じ実行内容のステップについては、共通のステップ番号を付し、異なる実行内容のステップを中心として説明を行うものとする。
【００７８】
図１７は、第１実施形態の図３に対応する、加速リタード補正量ＩＧＡＣＣＲの算出処理の前半部を示しており、図４と同じ処理内容の後半部は省略されている。図３との比較から明らかなように、本実施形態の算出処理は、第１実施形態と比較し、そのステップ４２および４４に対応するステップ４２Ａおよび４４Ａの実行内容のみが異なっており、加速リタード制御の開始条件の成立を判定するパラメータの１つとして、第１実施形態の補償エンジン信号値ＡＥＳに代えて、回転変動量ＤＮＥを用いたものである。具体的には、スロットル弁５が急開されているとき（ステップ３９および４０：ＹＥＳ）などに、ステップ４２Ａにおいて、回転変動量ＤＮＥが値０よりも大きいか否かを判別し、その答がＹＥＳのときには、加速要求が高く、エンジン回転数ＮＥが上昇しているとして、加速リタード制御の開始条件が成立していると判定する。また、ステップ４２Ａの答がＮＯのときには、ステップ４４Ａにおいて、回転変動量の絶対値｜ＤＮＥ｜が判定値＃ＤＮＥＣＣＲ０（例えば１０ｒｐｍ）よりも大きいか否かを判別し、その答がＹＥＳのときには、エンジン回転数ＮＥが大きな低下量で低下しているとして、加速リタード制御の開始条件が成立していないと判定する。
【００７９】
図１８は、第１実施形態の図１３に対応する、加速リタード補正量ＩＧＡＣＣＲの算出サブルーチンの前半部を示し、図１４と同じ処理内容の後半部は省略されている。図１３との比較から明らかなように、本実施形態の算出処理は、第１実施形態と比較し、そのステップ８２および８９に対応するステップ８２Ａおよび８９Ａの実行内容のみが異なるものである。具体的には、回転変動量ＤＮＥ＞０（ステップ８１：ＹＥＳ）で、エンジン回転数ＮＥが上昇しているときには、ステップ８２Ａにおいて、回転変動量の絶対値｜ＤＮＥ｜が回転上昇側のしきい値＃ＤＮＥＡＣＣＲＰ（例えば１０ｒｐｍ）以上であるか否かを判別する。そして、この答がＮＯで、｜ＤＮＥ｜＜＃ＤＮＥＡＣＣＲＰのときには、加速リタードの実行条件が成立していないと判定する。また、回転変動量ＤＮＥ≦０（ステップ８１：ＮＯ）で、エンジン回転数ＮＥが上昇していないときには、ステップ８９Ａにおいて、回転変動量の絶対値｜ＤＮＥ｜が回転低下側のしきい値＃ＤＮＥＡＣＣＲＭ（例えば５ｒｐｍ）以上であるか否かを判別する。そして、この答がＮＯで、｜ＤＮＥ｜＜＃ＤＮＥＡＣＣＲＭのときには、加速リタードの停止条件が成立していないと判定する。
【００８０】
図１９は、本実施形態による加速リタード制御の動作例を示している。すなわち、スロットル弁５が急開されることで、エンジン回転数ＮＥが上昇し、回転変動量＞０が成立すると（ステップ４２Ａ：ＹＥＳ）、加速リタード制御が開始される（時刻ｔ１）。その後、ＤＮＥ＞０、｜ＤＮＥ｜≧＃ＤＮＥＡＣＣＲＰで、かつ補償エンジン信号値ＡＥＳ＜０が成立したとき（ステップ８２Ａ：ＹＥＳ）、すなわちエンジン回転数ＮＥが上昇していて、回転変動量ＤＮＥが減少し始めたときに、加速リタードが実行される（時刻ｔ２）。また、その後、ＤＮＥ≦０、｜ＤＮＥ｜≧＃ＤＮＥＡＣＣＲＭで、かつＡＥＳ≧０が成立したとき（ステップ８９Ａ：ＹＥＳ）、すなわちエンジン回転数ＮＥが上昇しておらず、かつ回転変動量ＤＮＥが増加し始めたときに、加速リタードが停止される（時刻ｔ３）。
【００８１】
以上のように、本実施形態によれば、スロットル弁５が急開された場合において、回転変動量ＤＮＥと、回転変動量微分値ＤＤＮＥの振幅中心ずれおよび算出遅れを補償した補償エンジン信号値ＡＥＳとに基づき、ＤＮＥ＞０、かつＡＥＳ＜０が成立したとき、すなわちエンジン回転数ＮＥが上昇していて、回転変動量ＤＮＥが減少し始めたときに、加速リタードを実行する。したがって、第１実施形態と同様、車両駆動力が実際に増加している最適なタイミングで、加速リタードを実行でき、車両前後振動を最も効果的に抑制することができる。また、ＤＮＥ≦０で、かつＡＥＳ≧０が成立したとき、すなわちエンジン回転数ＮＥが上昇しておらず、かつ回転変動量ＤＮＥが増加し始めたときに、加速リタードを停止するので、第１実施形態と同様、車両駆動力が減少している状態でのエンジン２の不要なトルクダウンを回避でき、より高い加速性能を得ることができる。さらに、回転変動量ＤＮＥの絶対値がしきい値＃ＤＮＥＡＣＣＲＰまたは＃ＤＮＥＡＣＣＲＭ以上であることを条件として、加速リタードを実行および停止するので、回転変動量ＤＮＥへのノイズ成分の影響を排除することによって、加速リタードの誤作動やハンチングを適切に回避できるなど、第１実施形態と同様の効果を得ることができる。
【００８２】
次に、図２０〜図２６を参照しながら、本発明の第３実施形態による加速リタード制御について説明する。図２０は、第１実施形態の図３および第２実施形態の図１７に対応する、加速リタード補正量ＩＧＡＣＣＲの算出処理の前半部を示しており、図４と同じ処理内容の後半部は省略されている。図１７との比較から明らかなように、本実施形態の算出処理は、第２実施形態と比較し、そのステップ３１に対応するステップ３１Ｂの実行内容のみが異なっている。すなわち、このステップ３１Ｂでは、第１および第２実施形態の補償エンジン信号間ＡＥＳに代えて、補正ＤＤＮＥが算出される。図２１は、その算出サブルーチンを示しており、ステップ６１Ｂ〜６４Ｂにおいて、図５のステップ６１〜６４とまったく同様にして、検出されたエンジン回転数ＮＥに基づき、回転変動量ＤＮＥ、回転変動量微分値ＤＤＮＥ、振幅中心ずれ補償項ＤＤＮＥＫ／ｄｔおよび補正ＤＤＮＥを順次、算出する。すなわち、この補正ＤＤＮＥの算出処理では、補償エンジン信号値ＡＥＳの算出は省略され、回転変動量微分値ＤＤＮＥに対して、圧縮行程変動による振幅中心ずれＫ／ｄｔのみが補償される。
【００８３】
図２２は、第１実施形態の図１３および第２実施形態の図１８に対応する、加速リタード補正量ＩＧＡＣＣＲの算出サブルーチンの前半部を示しており、図１４と同じ処理内容の後半部は省略されている。この算出処理では、まずエンジン回転数ＮＥが所定回転数＃ＮＥＴＲＧ（例えば２０００ｒｐｍ）以上であるか否かを判別する（ステップ８１Ｂ）。この答がＹＥＳで、ＮＥ≧＃ＮＥＴＲＧのときには、前記ステップ３１Ｂで算出した補正ＤＤＮＥが、値０よりも小さいか否かを判別する（ステップ８３Ｂ）。そして、この答がＹＥＳで、補正ＤＤＮＥ＜０のときには、加速リタードの実行条件が成立しているとして、第１実施形態などと同様にステップ８４〜８８に進み、加速リタードを実行する。一方、前記ステップ８３Ｂの答がＮＯで、補正ＤＤＮＥ≧０のときには、加速リタードの実行条件が成立していないとして、第１実施形態などと同様にステップ９１〜９４に進み、加速リタードを停止する。
【００８４】
一方、前記ステップ８１Ｂの答がＮＯで、ＮＥ＜＃ＮＥＴＲＧのときには、回転変動量ＤＮＥが値０よりも大きいか否かを判別する（ステップ８３ＢＢ）。そして、この答がＹＥＳで、ＤＮＥ＞０のときには、加速リタードの実行条件が成立しているとして、前記ステップ８４〜８８と同様のステップ８４Ｂ〜８８Ｂを実行し、加速リタードを実行する。一方、前記ステップ８３ＢＢの答がＮＯで、ＤＮＥ≦０のときには、加速リタードの実行条件が成立していないとして、前記ステップ９１〜９４と同様のステップ９１Ｂ〜９４Ｂを実行し、加速リタードを停止する。
【００８５】
以上のように、本実施形態では、エンジン回転数ＮＥが所定回転数＃ＮＥＴＲＧ以上のときには、補正ＤＤＮＥに基づいて、エンジン回転数ＮＥが所定回転数＃ＮＥＴＲＧ未満のときには、回転変動量ＤＮＥに基づいて、加速リタードの実行および停止が決定される。これは、次の理由による。前述したように、回転変動量ＤＮＥの算出には１ＴＤＣ時間が、回転変動量微分値ＤＤＮＥの算出には２ＴＤＣ時間がそれぞれ必要であり、それらの算出遅れは、回転数が低いほど大きくなる。このため、算出遅れを補償しない場合、回転変動量微分値ＤＤＮＥの算出タイミング（算出された回転変動量微分値ＤＤＮＥが減少し始めるタイミング）は、図２３に示すように、車両駆動力が実際に増加し始める最適タイミングに対して遅れ、その遅れ時間は、エンジン回転数ＮＥが低いほど、より大きい。
【００８６】
これに対して、回転変動量ＤＮＥは、その微分値である回転変動量微分値ＤＤＮＥに対して位相が９０度遅れた関係にあるため、その正負を逆にした（−）回転変動量（以下「−ＤＮＥ」という）は、逆に回転変動量微分値ＤＤＮＥに対して位相が９０度進んだ関係にある。同図に示すように、この−ＤＮＥの算出タイミング（算出された−ＤＮＥが減少し始めるタイミング）の進み時間は、回転変動量ＤＮＥのＴＤＣ時間に応じた算出遅れにより、エンジン回転数ＮＥが低いほど、より小さくなり、その結果、−ＤＮＥの算出タイミングは、エンジン回転数ＮＥが＃ＮＥ０のときに最適タイミングに一致し、＃ＮＥ０未満では最適タイミングよりも遅れるようになる。なお、同図中の点線ＬＲおよびＬＡは、加速リタードの制御性に支障を及ぼさないような限界値に相当する許容遅れ時間および許容進み時間を表す。
【００８７】
図２４は、このような回転変動量微分値ＤＤＮＥの算出タイミングの遅れ時間、および−ＤＮＥの算出タイミングの進み時間または遅れ時間を、算出タイミングの「ずれ時間」として捉え、共通に描いたものである。同図から分かるように、エンジン回転数ＮＥが所定回転数＃ＮＥＴＲＧのときに、両算出タイミングのずれ時間は等しく、ＮＥ＞＃ＮＥＴＲＧのときには、回転変動量微分値ＤＤＮＥの算出タイミングが最適タイミングにより近く、ＮＥ＜＃ＮＥＴＲＧのときには逆に、−ＤＮＥの算出タイミングが最適タイミングにより近い関係にある。
【００８８】
このような関係に基づき、本実施形態では、前述したように、エンジン回転数ＮＥがこの所定回転数＃ＮＥＴＲＧ未満の場合には、回転変動量ＤＮＥが値０よりも大きいとき（最適タイミングにより近い−ＤＮＥが値０よりも小さいとき）に、エンジン回転数ＮＥが所定回転数＃ＮＥＴＲＧ以上の場合には、最適タイミングにより近い補正ＤＤＮＥが値０よりも小さいときに、回転変動量ＤＮＥが減少しており、車両駆動力が増加しているとして、加速リタードを実行する。
【００８９】
図２５および図２６は、本実施形態による加速リタード制御の動作例を、エンジン２が高回転域（ＮＥ≧＃ＮＥＴＲＧ）および低回転域（ＮＥ＜＃ＮＥＴＲＧ）にある場合について、それぞれ示している。エンジン２が高回転域にある場合には、スロットル弁５の急開に伴ってエンジン回転数ＮＥが上昇した後、補正ＤＤＮＥ＜０が成立したとき（ステップ８３Ｂ：ＹＥＳ）に、回転変動量ＤＮＥが減少しているとして、加速リタードが実行される（時刻ｔ２）。また、その後、補正ＤＤＮＥ≧０になったとき（ステップ８３Ｂ：ＮＯ）に、回転変動量ＤＮＥが増加しているとして、加速リタードが停止される（時刻ｔ３）。一方、図２６に示すように、エンジン２が低回転域にある場合には、スロットル弁５の急開に伴ってエンジン回転数ＮＥが上昇した後、回転変動量ＤＮＥ＞０が成立したとき（ステップ８３ＢＢ：ＹＥＳ）に、回転変動量ＤＮＥが減少しているとして、加速リタードが実行される（時刻ｔ２）。また、その後、回転変動量≦０になったとき（ステップ８３ＢＢ：ＮＯ）に、回転変動量ＤＮＥが増加しているとして、加速リタードが停止される（時刻ｔ３）。
【００９０】
以上のように、本実施形態によれば、補正ＤＤＮＥと回転変動量ＤＮＥのうち、エンジン回転数ＮＥに応じ、最適タイミングに対して算出タイミングずれの小さい方を用いて、加速リタードの実行タイミングを決定するので、加速リタードを、大きなタイミングずれを伴うことなく、許容ずれ時間Ｌ（図２４参照）の範囲内において実行でき、車両前後振動の抑制効果を支障なく得ることができる。また、回転変動量微分値を表すパラメータとして、補正ＤＤＮＥを採用することによって、振幅中心ずれを補償した効果を維持できる。さらに、補正ＤＤＮＥの採用により、算出遅れを併せて補償した補正エンジン信号値ＡＥＳを用いる第１および第２実施形態と比較して、演算処理の負荷を軽減できることで、点火時期制御の簡便化を図ることができる。
【００９１】
次に、図２７〜図２９を参照しながら、本発明の第４実施形態による加速リタード制御を説明する。図２７は、第３実施形態の図２２に対応する、加速リタード補正量ＩＧＡＣＣＲの算出サブルーチンの前半部を示している。図２２との比較から明らかなように、本実施形態の算出処理は、第３実施形態に対し、回転変動量ＤＮＥへのノイズ成分の影響を排除するために、その絶対値｜ＤＮＥ｜の判別処理（ステップ８２Ｃ、８９Ｃ、８２ＣＣおよび８９ＣＣ）を付加した点のみが異なるものである。具体的には、エンジン回転数ＮＥ≧所定回転数＃ＮＥＴＲＧで、補正ＤＤＮＥ＜０（ステップ８１Ｂ：ＹＥＳ）のときには、ステップ８２Ｃにおいて、回転変動量の絶対値｜ＤＮＥ｜が回転上昇側のしきい値＃ＤＮＥＡＣＣＲＰ（例えば１０ｒｐｍ）以上であるか否かを判別する。この答がＮＯで、｜ＤＮＥ｜＜＃ＤＮＥＡＣＣＲＰのときには、加速リタードの実行条件が成立していないと判定する。一方、補正ＤＤＮＥ≧０（ステップ８１Ｂ：ＮＯ）のときには、ステップ８９Ｃにおいて、回転変動量の絶対値｜ＤＮＥ｜が回転低下側のしきい値＃ＤＮＥＡＣＣＲＭ（例えば５ｒｐｍ）以上であるか否かを判別する。そして、この答がＮＯで、｜ＤＮＥ｜＜＃ＤＮＥＡＣＣＲＭのときには、加速リタードの停止条件が成立していないと判定する。また、エンジン回転数ＮＥ＜所定回転数＃ＮＥＴＲＧで、回転変動量ＤＮＥ＞０（ステップ８１Ｂ：ＹＥＳ）のとき、またはＤＮＥ≦０のときには、ステップ８９Ｃまたはステップ８９ＣＣにおいて、同様の判別が行われる。
【００９２】
図２８および図２９は、本実施形態による加速リタード制御の動作例を、エンジン２が高回転域（ＮＥ≧＃ＮＥＴＲＧ）および低回転域（ＮＥ＜＃ＮＥＴＲＧ）にある場合について、それぞれ示している。エンジン２が高回転域にある場合には、スロットル弁５の急開に伴ってエンジン回転数ＮＥが上昇した後、補正ＤＤＮＥ＜０で、かつ回転変動量の絶対値｜ＤＮＥ｜≧＃ＤＮＥＡＣＣＲＰが成立したとき（ステップ８２Ｃ：ＹＥＳ）に、加速リタードが実行される（時刻ｔ２）。また、その後、補正ＤＤＮＥ≧０で、かつ｜ＤＮＥ｜≧＃ＤＮＥＡＣＣＲＭが成立したとき（ステップ８９Ｃ：ＹＥＳ）に、加速リタードが停止される（時刻ｔ３）。一方、図２９に示すように、エンジン２が低回転域にある場合には、スロットル弁５の急開に伴ってエンジン回転数ＮＥが上昇した後、回転変動量ＤＮＥ＞０で、かつ｜ＤＮＥ｜≧＃ＤＮＥＡＣＣＲＰが成立したとき（ステップ８２ＣＣ：ＹＥＳ）に、加速リタードが実行される（時刻ｔ２）。また、その後、ＤＮＥ≦０で、かつ｜ＤＮＥ｜≧＃ＤＮＥＡＣＣＲＭが成立したとき（ステップ８９ＣＣ：ＹＥＳ）に、加速リタードが停止される（時刻ｔ３）。
【００９３】
以上のように、本実施形態は、第３実施形態に対して、上述したような回転変動量の絶対値｜ＤＮＥ｜の判別処理を付加したものであるので、第３実施形態による前述した効果を同様に得ることができるとともに、回転変動量ＤＮＥへのノイズ成分の影響を排除でき、加速リタードの誤作動やハンチングを適切に回避することができる。
【００９４】
次に、図３０〜図３５を参照しながら、本発明の第５実施形態による加速リタード制御について説明する。図３０は、第１実施形態の図３に対応する、加速リタード補正量ＩＧＡＣＣＲの算出処理の前半部を示しており、図４と同じ処理内容の後半部は省略されている。図３との比較から明らかなように、本実施形態の算出処理は、第１実施形態と比較し、そのステップ３１、４２および４４に対応するステップ３１Ｄ、４２Ｄおよび４４Ｄの実行内容のみが異なっており、回転変動を表すパラメータとして、第１実施形態の補償エンジン信号値ＡＥＳに代えて、補正回転変動量ＣＥＡを用いたものである。この補正回転変動量ＣＥＡは、以下に述べるように、回転変動量ＤＮＥを、エンジン回転数ＮＥおよび変速機のギヤ比（変速比）に応じた位相遅れを有するように補正したものである。
【００９５】
ステップ３１Ｄでは、この補正回転変動量ＣＥＡが算出される。図３１は、その算出サブルーチンを示しており、まず、エンジン回転数ＮＥに基づいて、回転変動量ＤＮＥを算出する（ステップ１１１）。次に、エンジン回転数ＮＥに応じ、図３２に示すテーブルからテーブル値＃ＤＮＥＴＤＣＮを検索し、ＴＤＣ補正項ＤＮＥＴＤＣとして設定する（ステップ１１２）。このＴＤＣ補正項ＤＮＥＴＤＣは、回転変動量ＤＮＥの位相を、最適タイミングに対する−ＤＮＥの進み時間の分だけ遅らせるためのものである。このため、このテーブル値＃ＤＮＥＴＤＣＮは、図２３の−ＤＮＥ曲線と基本的に同じであり、エンジン回転数ＮＥが高いほど、より大きな値に設定されている。
【００９６】
次いで、変速機のギヤ位置に応じ、図３３に示すテーブルからテーブル値＃ＤＮＥＧＥＡＲＮを検索し、ギヤ位置補正項ＤＮＥＧＥＡＲとして設定する（ステップ１１３）。このギヤ位置補正項ＤＮＥＴＤＣは、ギヤ比に応じて駆動系の固有振動数が変化することで、最適タイミングが変化するため、回転変動量ＤＮＥの位相を、この変化分だけ遅らせるためのものである。この例では、テーブル値＃ＤＮＥＧＥＡＲＮは、変速機のギヤ比が高いほど、より大きな値に設定されている。次に、回転変動量ＤＮＥから、算出したＴＤＣ補正項ＤＮＥＴＤＣおよびギヤ位置補正項ＤＮＥＧＥＡＲを減算することによって、補正回転変動量ＣＥＡを算出し（ステップ１１４）、本サブルーチンを終了する。
【００９７】
また、図３０のステップ４２Ｄでは、算出した補正回転変動量ＣＥＡが値０よりも大きいか否かを判別し、その答がＹＥＳのときには、加速要求が高く、エンジン回転数ＮＥが上昇しているとして、加速リタード制御の開始条件が成立していると判定する。また、ステップ４２Ｄの答がＮＯのときには、ステップ４４Ｄにおいて、補正回転変動量の絶対値｜ＣＥＡ｜がその判定値＃ＣＥＡＣＣＲ０（例えば１０ｒｐｍ）よりも大きいか否かを判別し、その答がＹＥＳのときには、エンジン回転数ＮＥが大きな低下量で低下しているとして、加速リタード制御の開始条件が成立していないと判定する。
【００９８】
図３４は、第１実施形態の図１３に対応する、加速リタード補正量ＩＧＡＣＣＲの算出サブルーチンの前半部を示し、図１４と同じ処理内容の後半部は省略されている。図１３との比較から明らかなように、本実施形態の算出処理は、第１実施形態と比較し、そのステップ８２、８３、８９および９０に対応するステップ８２Ｄ、８３Ｄ、８９Ｄおよび９０Ｄの実行内容のみが異なるものである。具体的には、回転変動量ＤＮＥ＞０（ステップ８１：ＹＥＳ）で、エンジン回転数ＮＥが上昇しているときに、補正回転変動量の絶対値｜ＣＥＡ｜が回転上昇側のしきい値＃ＣＥＡＡＣＣＲＰ（例えば１０ｒｐｍ）以上であるか否かを判別する（ステップ８２Ｄ）とともに、補正回転変動量ＣＥＡが値０（第３所定値）よりも大きいか否かを判定する（ステップ８３Ｄ）。これらの答がいずれもＹＥＳで、｜ＣＥＡ｜≧＃ＣＥＡＡＣＣＲＰ、かつＣＥＡ＞０のときには、加速リタードの実行条件が成立していると判定する一方、これらの答のいずれかがＮＯのときには、加速リタードの実行条件が成立していないと判定する。
【００９９】
また、回転変動量ＤＮＥ≦０（ステップ８１：ＮＯ）で、エンジン回転数ＮＥが上昇していないときには、補正回転変動量の絶対値｜ＣＥＡ｜が回転低下側のしきい値＃ＣＥＡＡＣＣＲＭ（例えば５ｒｐｍ）以上であるか否かを判別する（ステップ８９Ｄ）とともに、補正回転変動量ＣＥＡが値０よりも小さいか否かを判定する（ステップ９０Ｄ）。これらの答がいずれもＹＥＳで、｜ＣＥＡ｜≧＃ＣＥＡＡＣＣＲＭ、かつＣＥＡ＜０のときには、加速リタードの停止条件が成立していると判定する一方、これらの答のいずれかがＮＯのときには、加速リタードの停止条件が成立していないと判定する。
【０１００】
図３５は、本実施形態による加速リタード制御の動作例を示している。すなわち、スロットル弁５が急開されることで、エンジン回転数ＮＥが上昇し、補正回転変動量ＣＥＡ＞０が成立すると（ステップ４２Ｄ：ＹＥＳ）、加速リタード制御が開始される（時刻ｔ１）。その後、回転変動量ＤＮＥ＞０、｜ＣＥＡ｜≧＃ＣＥＡＡＣＣＲＰで、かつＣＥＡ＞０が成立したとき（ステップ８３Ｄ：ＹＥＳ）、すなわちエンジン回転数ＮＥが上昇していて、回転変動量ＤＮＥが減少し始めたときに、加速リタードが実行される（時刻ｔ２）。また、その後、ＤＮＥ≦０、｜ＣＥＡ｜≧＃ＣＥＡＡＣＣＲＭで、かつＣＥＡ＜０が成立したとき（ステップ９０Ｄ：ＹＥＳ）、すなわちエンジン回転数ＮＥが上昇しておらず、かつ回転変動量ＤＮＥが増加し始めたときに、加速リタードが停止される（時刻ｔ３）。
【０１０１】
以上のように、本実施形態によれば、回転変動量ＤＮＥをエンジン回転数ＮＥおよび変速機のギヤ比に応じた所定の位相遅れを有するように補正することによって、補正回転変動量ＣＥＡを算出し、この補正回転変動量ＣＥＡが値０よりも大きくなったとき（所定の位相遅れをもたせた−ＤＮＥが値０よりも小さくなったとき）に、加速リタードを実行する。したがって、加速リタードを、車両駆動力が実際に増加し始める最適タイミングに近いタイミングで実行でき、それにより、車両前後振動を効果的に抑制することができる。また、本実施形態では、他の実施形態と異なり、回転変動量微分値ＤＤＮＥの算出が不要になるので、その分、演算処理の負荷を軽減でき、点火時期制御の簡便化を図ることができる。さらに、補正回転変動量の絶対値｜ＣＥＡ｜が、しきい値＃ＣＥＡＡＣＣＲＰまたは＃ＣＥＡＡＣＣＲＭ以上であることを条件として、加速リタードを実行または停止するので、回転変動量ＤＮＥへのノイズ成分の影響を排除でき、加速リタードの誤作動やハンチングを適切に回避することができる。
【０１０２】
図３６は、図４のステップ５４で用いられる、加速リタード量基本値ＩＧＡＣＣＲＸを設定するためのエアコン停止時用の＃ＩＧＡＣＣＲＮテーブルの他の例を示している。前述した図１０の＃ＩＧＡＣＣＲＮテーブルでは、そのパラメータとしてエンジン回転数ＮＥを用いているのに対し、このテーブルでは、補償エンジン信号値ＡＥＳまたは補正ＤＤＮＥが用いられている。前述したように、回転変動量微分値ＤＤＮＥは、回転変動量ＤＮＥの増加または減少の度合（傾き）を表し、また、回転変動量ＤＮＥは、車両駆動力とは互いに逆位相の関係を有するため、回転変動量微分値は、車両駆動力の増減度合を表す。また、補償エンジン信号値ＡＥＳおよび補正ＤＤＮＥは、回転変動量微分値ＤＤＮＥに対して圧縮行程変動による振幅中心ずれを補償したものであるため、車両駆動力の増減度合を正確に反映する。
【０１０３】
したがって、上記のように加速リタード量基本値ＩＧＡＣＣＲＸを補償エンジン信号値ＡＥＳまたは補正ＤＤＮＥに応じて設定することによって、加速リタード量基本値ＩＧＡＣＣＲＸを、車両駆動力の実際の増加度合に応じ、車両駆動力の増加を相殺するのに最適な値に設定でき、それにより、車両前後振動をさらに効果的に抑制することができる。なお、図３６はエアコン停止時用の＃ＩＧＡＣＣＲＮテーブルの例であるが、エアコン作動時用の＃ＩＧＡＣＣＲＡＮテーブルを同様に構成してもよいことはもちろんである。
【０１０４】
なお、本発明は、説明した実施形態に限定されることなく、種々の態様で実施することができる。例えば、実施形態では、加速リタードの実行および停止を決定するために、補正回転変動量ＣＥＡと比較される第３所定値が値０に設定されているが、他の適当な値に設定してもよい。
【図面の簡単な説明】
【０１０５】
【図１】本発明の実施形態による点火時期制御装置、およびこれを適用した内燃機関の概略構成図である。
【図２】図１の制御装置により実行される点火時期の算出処理のメインフローを示すフローチャートである。
【図３】第１実施形態による加速リタード補正量の算出処理を示すフローチャートである。
【図４】図３の算出処理の後半部を示すフローチャートである。
【図５】補償エンジン信号値ＡＥＳの算出サブルーチンを示すフローチャートである。
【図６】振幅中心ずれ補償項ＤＤＮＥＫ／ｄｔを設定するための＃ＤＤＮＥＫ／ｄｔＮテーブルの一例である。
【図７】算出遅れ補償項ＤＤＮＥＴＤＣを設定するための＃ＤＤＮＥＴＤＣＮテーブルの一例である。
【図８】図３のステップ３２で実行される加速リタード制御の実行領域判定処理のサブルーチンを示すフローチャートである。
【図９】スロットル開度判定値ＴＨＡＣＣＲを設定するための＃ＴＨＡＣＣＲＮテーブルの一例である。
【図１０】加速リタード量基本値ＩＧＡＣＣＲＸを設定するための（ａ）エアコン停止時用の＃ＩＧＡＣＣＲＮテーブルおよび（ｂ）エアコン作動時用の＃ＩＧＡＣＣＲＡＮテーブルの一例である。
【図１１】スロットル開度補正係数ＫＴＨＡＣＲを設定するための＃ＫＴＨＡＣＲＮテーブルの一例である。
【図１２】ギヤ位置補正係数ＫＧＲを設定するための＃ＫＧＲＮテーブルの一例である。
【図１３】図４のステップ６０で実行される加速リタード補正量ＩＧＡＣＣＲの算出サブルーチンを示すフローチャートである。
【図１４】図１３の算出処理の後半部を示すフローチャートである。
【図１５】第１実施形態の加速リタード制御によって得られる動作例を示すタイミングチャートである。
【図１６】第１実施形態の加速リタード制御を適用して実施した試験の結果を示す図である。
【図１７】第２実施形態による加速リタード補正量ＩＧＡＣＣＲの算出処理の前半部を示す、図３に対応するフローチャートである。
【図１８】第２実施形態による加速リタード補正量ＩＧＡＣＣＲの算出サブルーチンの前半部を示す、図１３に対応するフローチャートである。
【図１９】第２実施形態の加速リタード制御によって得られる動作例を示すタイミングチャートである。
【図２０】第３実施形態による加速リタード補正量ＩＧＡＣＣＲの算出処理の前半部を示す、図３に対応するフローチャートである。
【図２１】補正ＤＤＮＥの算出サブルーチンを示すフローチャートである。
【図２２】第３実施形態による加速リタード補正量ＩＧＡＣＣＲの算出サブルーチンの前半部を示す、図１３に対応するフローチャートである。
【図２３】加速リタードの最適タイミングと回転変動量および回転変動量微分値との位相の関係を示す図である。
【図２４】加速リタードの最適タイミングに対する回転変動量および回転変動量微分値のずれ時間を示す図である。
【図２５】第３実施形態の加速リタード制御により、エンジンが高回転域にある場合に得られる動作例を示すタイミングチャートである。
【図２６】第３実施形態の加速リタード制御により、エンジンが低回転域にある場合に得られる動作例を示すタイミングチャートである。
【図２７】第４実施形態による加速リタード補正量ＩＧＡＣＣＲの算出サブルーチンの前半部を示す、図１３に対応するフローチャートである。
【図２８】第４実施形態の加速リタード制御により、エンジンが高回転域にある場合に得られる動作例を示すタイミングチャートである。
【図２９】第３実施形態の加速リタード制御により、エンジンが低回転域にある場合に得られる動作例を示すタイミングチャートである。
【図３０】第４実施形態による加速リタード補正量ＩＧＡＣＣＲの算出処理の前半部を示す、図３に対応するフローチャートである。
【図３１】補正回転変動量ＣＥＡの算出サブルーチンを示すフローチャートである。
【図３２】ＴＤＣ補正項ＤＮＥＴＤＣを設定するための＃ＤＮＥＴＤＣＮテーブルの一例である。
【図３３】ギヤ位置補正項ＤＮＥＧＥＡＲを設定するための＃ＤＮＥＧＥＡＲＮテーブルの一例である。
【図３４】第５実施形態による加速リタード補正量ＩＧＡＣＣＲの算出サブルーチンの前半部を示す、図１３に対応するフローチャートである。
【図３５】第５実施形態の加速リタード制御によって得られる動作例を示すタイミングチャートである。
【図３６】加速リタード量基本値ＩＧＡＣＣＲＸを設定するためのエアコン停止時用の＃ＩＧＡＣＣＲＮテーブルの他の例である。
【符号の説明】
【０１０６】
１  点火時期制御装置
２  内燃機関
３  ＥＣＵ（加速要求検出手段、回転数検出手段、回転変動量算出手段、補正
回転変動量算出手段、遅角補正量算出手段、遅角補正実行手段）
６  スロットル開度センサ（加速要求検出手段）
１５  クランク角センサ（回転数検出手段）
２０  ギヤ位置センサ（変速比検出手段）
ＮＥ  エンジン回転数
ＤＮＥ  回転変動量
ＣＥＡ  補正回転変動量
ＩＧＬＯＧ  点火時期
ＩＧＡＣＣＲ  加速リタード補正量（遅角補正量）
【図１】
2007224925.tif 000003
【図２】
2007224925.tif 000004
【図３】
2007224925.tif 000005
【図４】
2007224925.tif 000006
【図５】
2007224925.tif 000007
【図６】
2007224925.tif 000008
【図７】
2007224925.tif 000009
【図８】
2007224925.tif 000010
【図９】
2007224925.tif 000011
【図１０】
2007224925.tif 000012
【図１１】
2007224925.tif 000013
【図１２】
2007224925.tif 000014
【図１３】
2007224925.tif 000015
【図１４】
2007224925.tif 000016
【図１５】
2007224925.tif 000017
【図１６】
2007224925.tif 000018
【図１７】
2007224925.tif 000019
【図１８】
2007224925.tif 000020
【図１９】
2007224925.tif 000021
【図２０】
2007224925.tif 000022
【図２１】
2007224925.tif 000023
【図２２】
2007224925.tif 000024
【図２３】
2007224925.tif 000025
【図２４】
2007224925.tif 000026
【図２５】
2007224925.tif 000027
【図２６】
2007224925.tif 000028
【図２７】
2007224925.tif 000029
【図２８】
2007224925.tif 000030
【図２９】
2007224925.tif 000031
【図３０】
2007224925.tif 000032
【図３１】
2007224925.tif 000033
【図３２】
2007224925.tif 000034
【図３３】
2007224925.tif 000035
【図３４】
2007224925.tif 000036
【図３５】
2007224925.tif 000037
【図３６】
2007224925.tif 000038