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