(57)【特許請求の範囲】
【請求項１】
排気通路に配設された排気ガス浄化用触媒コンバータの触媒が未暖機状態になっているとき、該触媒の昇温を促進させるように、少なくともエンジンの点火時期を、最大トルクを発生する点火時期から遅角側に変更させる昇温促進制御手段が設けられているエンジンの制御装置において、
エンジンの回転変動状態を検出するラフネス検出手段と、
触媒の未暖機状態で、前記ラフネス検出手段により検出される回転変動状態がエンジンの燃焼安定限界内に収まるように、該エンジンの点火時期、空燃比及び燃焼室の吸気流動状態のうち、少なくとも点火時期を制御する燃焼制御手段と、
エンジン回転数が設定アイドル回転数よりも低い設定始動判定回転数以上に達した状態で、所定の判定時間が経過したとき、エンジンの始動終了状態を判定する始動判定手段と、を備え、
前記昇温促進制御手段及び燃焼制御手段は、それぞれ前記始動判定手段によりエンジンの始動終了状態が判定されたときに直ちに制御を開始するように構成されており、
さらに、スロットル弁をバイパスしてエンジンへの吸入空気量を増減させる吸入空気量可変手段と、
エンジンのアイドル状態を検出するアイドル状態検出手段と、
前記アイドル状態検出手段によりエンジンのアイドル状態が検出されたとき、前記吸入空気量可変手段の作動によりエンジン回転数を設定アイドル回転数にフィードバック制御するアイドルフィードバック吸気量制御手段と、
前記アイドル状態検出手段によりエンジンのアイドル状態が検出されたとき、点火時期の調整によりエンジン回転数を前記設定アイドル回転数にフィードバック制御するアイドルフィードバック点火時期制御手段と、
前記アイドル状態検出手段によりエンジンのアイドル状態が検出され、かつ昇温促進制御手段による点火時期の遅角制御が行われるとき、前記アイドルフィードバック点火時期制御手段によるフィードバック制御量を小さく補正する点火時期フィードバック制御量補正手段とを備えていることを特徴とするエンジンの制御装置。
【請求項２】
請求項１において、
エンジン始動後に正常作動可能な活性化状態になって、排気中の酸素濃度に基づいて混合気の空燃比を検出する空燃比センサと、
前記空燃比センサによる検出値に基づいて、混合気の空燃比を理論空燃比近傍の所定の目標値になるようにフィードバック制御する空燃比制御手段とを備えていることを特徴とするエンジンの制御装置。
【請求項３】
請求項２において、
エンジン水温が所定以下のエンジン冷機状態で、空燃比制御手段によるフィードバック制御量を小さく補正する空燃比フィードバック制御量補正手段を備えていることを特徴とするエンジンの制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、排気ガス浄化用触媒を有する触媒コンバータが排気通路に配設されたエンジンの制御装置に関し、特に、エンジンの冷間始動時に前記触媒の早期昇温を図るために点火時期を遅角側へ制御する場合におけるエンジンの燃焼安定化の技術分野に属する。
【０００２】
【従来の技術】
従来より、エンジンの排気ガスを浄化するための触媒コンバータとして、未燃炭化水素（ＨＣ）、一酸化炭素（ＣＯ）、窒素酸化物（ＮＯx)等の排気有害成分を浄化可能な三元触媒を有するものが知られている。この三元触媒は所定温度以上の暖機状態で活性化されて十分な浄化機能を発揮するもので、未暖機状態では十分な浄化機能を発揮できない。
【０００３】
そこで、従来、例えば特開平８−２３２６４５号公報に開示されるように、触媒コンバータの触媒の暖機状態をエンジンの冷却水温に基づいて検出して、その未暖機状態を検出したときにエンジンの点火時期を上死点後まで大幅に遅角させることで、前記触媒の昇温を促進するようにしたエンジンの制御装置が知られている。すなわち、点火時期の大幅な遅角により排気熱損失を大きくして排気ガスの温度を高くすることができ、この高温の排気ガスにより触媒を早期に昇温させて活性化させることができる。
【０００４】
また、前記従来のエンジンの制御装置では、点火時期の遅角制御に伴う燃焼状態の不安定化を抑制するために、燃焼室における吸気渦流の生成、吸気流速の向上、点火エネルギの向上等の対策により、混合気の着火性や燃焼性を向上させるようにしている。
【０００５】
【発明が解決しようとする課題】
しかし、前記従来のエンジンの制御装置では、エンジンの燃焼状態が安定限界を超えないように余裕を持って制御する必要があるため、点火時期を最大限に遅角させることはできない。従って、排気ガスの温度をさらに高めて昇温促進効果を向上させる余地が残っている。
【０００６】
一方、実車においては、供給される燃料の質（例えば重質度合い）がある程度の範囲でばらついているため、その燃料の質の差異による着火性や燃焼性の変化に起因してエンジンの燃焼安定性が損なわれる虞れがある。そして、エンジンの燃焼状態が安定限界を超えてしまうと、エンジン振動の増大や排気有害成分の急激な増大化を招くという不具合が生じる。
【０００７】
本発明は、斯かる諸点に鑑みてなされたものであり、その目的とするところは、エンジンの実際の燃焼状態を判定して安定限界内にフィードバック制御することで、エンジンの冷間始動時における燃焼安定性を確保しつつ、触媒の昇温促進効果を最大限に高めることにある。
【０００８】
【課題を解決するための手段】
前記目的を達成するために、本発明の解決手段では、エンジンの回転変動状態を検出することで、エンジンの実際の燃焼状態を判定するようにした。
【０００９】
具体的に、請求項１記載の発明は、排気通路に配設された排気ガス浄化用触媒コンバータの触媒が未暖機状態になっているとき、該触媒の昇温を促進させるように、少なくともエンジンの点火時期を、最大トルクを発生する点火時期から遅角側に変更させる昇温促進制御手段が設けられているエンジンの制御装置を前提とする。そして、エンジンの回転変動状態を検出するラフネス検出手段と、触媒の未暖機状態で、前記ラフネス検出手段により検出される回転変動状態がエンジンの燃焼安定限界内に収まるように、該エンジンの点火時期、空燃比及び燃焼室の吸気流動状態のうち、少なくとも点火時期を制御する燃焼制御手段と、エンジン回転数が設定アイドル回転数よりも低い設定始動判定回転数以上に達した状態で、所定の判定時間が経過したとき、エンジンの始動終了状態を判定する始動判定手段とを備えており、前記昇温促進制御手段及び燃焼制御手段は、それぞれ前記始動判定手段によりエンジンの始動終了状態が判定されたときに直ちに制御を開始するものとする。尚、エンジンの回転変動状態としては、例えばクランク角速度の変動を検出すればよい。
【００１０】
さらに、前記エンジンの制御装置には、スロットル弁をバイパスしてエンジンへの吸入空気量を増減させる吸入空気量可変手段と、エンジンのアイドル状態を検出するアイドル状態検出手段と、該アイドル状態検出手段によりエンジンのアイドル状態が検出されたとき、前記吸入空気量可変手段の作動によりエンジン回転数を設定アイドル回転数にフィードバック制御するアイドルフィードバック吸気量制御手段と、前記アイドル状態検出手段によりエンジンのアイドル状態が検出されたとき、点火時期の調整によりエンジン回転数を前記設定アイドル回転数にフィードバック制御するアイドルフィードバック点火時期制御手段と、前記アイドル状態検出手段によりエンジンのアイドル状態が検出され、かつ昇温促進制御手段による点火時期の遅角制御が行われるとき、前記アイドルフィードバック点火時期制御手段によるフィードバック制御量を小さく補正する点火時期フィードバック制御量補正手段とを備える構成とする。
【００１１】
この構成によれば、触媒の未暖機状態において、少なくともエンジンの点火時期の遅角側への変更により触媒の昇温を促進する際には、ラフネス検出手段によりエンジンの回転変動状態が検出され、該回転変動状態がエンジンの燃焼安定限界内に収まるように、燃焼制御手段によりエンジンの燃焼制御が行われる。具体的には、燃焼制御手段により、少なくともエンジンの点火時期を進角側に補正することで、エンジンの燃焼状態を安定寄りに制御することができる。
【００１２】
このことで、回転変動状態に基づいてエンジンの実際の燃焼状態を正確に判定できるので、燃焼安定限界を越えない範囲で触媒の昇温促進効果が最大になるように点火時期を最大限に遅角させることができ、よって、エンジンの燃焼安定性を確保しつつ触媒の昇温促進効果を最大限に高めることが可能になる。また、エンジンの実際の燃焼状態を判定できるので、燃料の質（例えば重質度合い）が変化して着火性や燃焼性が変化しても、その燃料なりに前記の作用を得ることができる。
【００１３】
さらに、前記の点火時期の制御を、始動判定手段によりエンジンの始動終了状態が判定されたとき、直ちに開始するようにしているので、触媒の昇温促進をエンジンの始動直後から実行して、最短時間で触媒を活性化できる。
【００１４】
しかも、エンジンが自力で回転する完爆状態になり、設定アイドル回転数よりも低い設定始動判定回転数を越えて吹け上がって、所定時間（例えば１秒程度）が経過したときに、エンジンの始動終了状態を判定するようにしており、エンジンが吹け上がるまでは始動性を最優先した点火時期の制御を行い、エンジンが吹け上がって燃焼状態が安定した後で点火時期を遅角側に変更することができる。
【００１５】
また、そうしてエンジンの点火時期を制御することで、エンジンの燃焼状態を十分に安定化させることができるので、同時に、例えば混合気の空燃比を略理論空燃比になるように制御することも可能になり、そのようにすれば、未燃炭化水素（ＨＣ）や一酸化炭素（ＣＯ）の排出低減が図られる。つまり、触媒の早期昇温とその間の排気有害成分の排出量の低減化との両立が図られる。
【００１６】
さらにまた、前記の構成では、エンジンのアイドル状態において、アイドルフィードバック吸気量制御手段による吸入空気量の調整、及びアイドルフィードバック点火時期制御手段による点火時期の調整によりエンジン回転数が設定アイドル回転数にフィードバック制御される。また、点火時期の遅角側への制御により触媒の昇温を促進させるときには、アイドルフィードバック点火時期制御手段によるフィードバック制御量を小さく補正することで、点火時期の制御の干渉に伴うハンチング等の悪影響を低減できる。さらに、応答性の早い点火時期の制御によりエンジンの回転変動を抑制できる。
【００１７】
請求項２記載の発明では、請求項１記載の発明において、エンジン始動後に正常作動可能な活性化状態になって、排気中の酸素濃度に基づいて混合気の空燃比を検出する空燃比センサと、前記空燃比センサによる検出値に基づいて、混合気の空燃比を理論空燃比近傍の所定の目標値になるようにフィードバック制御する空燃比制御手段とを備える構成とする。
【００１８】
この構成では、排気通路に空燃比センサを設け、エンジン始動後にセンサ温度が高まり正常作動可能な活性化状態になった後、該空燃比センサによる検出値に基づいて空燃比制御手段により混合気の空燃比をフィードバック制御することで、空燃比制御の精度を高めて、排気有害成分の排出濃度を十分に低減できる。
【００１９】
請求項３記載の発明では、請求項２記載の発明において、エンジン水温が所定以下のエンジン冷機状態で、空燃比制御手段のフィードバック制御量を小さく補正する空燃比フィードバック制御量補正手段を備える構成とする。
【００２０】
すなわち、エンジン水温が所定以下のエンジン冷機状態では、昇温促進制御手段による点火時期の遅角制御に伴い、エンジンの燃焼状態が空燃比の変化の影響を受けやすくなるので、微小な空燃比の変動によってもエンジンの回転変動が大きくなる。そこで、この発明では、空燃比フィードバック制御量補正手段によりフィードバック制御量を小さく補正することで、空燃比の変動幅を小さくして、エンジンの回転変動状態の悪化を防止できる。
【００２１】
【発明の実施の形態】
以下、本発明の実施形態を図面に基いて説明する。尚、説明の便宜のため実施形態と類似の構成を有する参考例について先に説明する。
【００２２】
（参考例１）
図１は本発明の参考例１に係るエンジンの制御装置Ａを示し、１は直列４気筒４サイクルガソリンエンジンである。このエンジン１は４つのシリンダ（気筒）２，２，…（１つのみ図示する）を有するシリンダブロック３と、該シリンダブロック３の上面に組付けられたシリンダヘッド４と、各シリンダ２内に往復動可能に嵌装されたピストン５とを備え、前記各シリンダ２内にはピストン５及びシリンダヘッド３により囲まれる燃焼室６が区画形成されている。また、７は燃焼室６の上部に臨設された点火プラグで、この点火プラグ７は点火時期の電子制御が可能なイグナイタ等を含む点火回路８に接続されている。
【００２３】
さらに、１０は前記各シリンダ２の燃焼室６に吸気（空気）を供給する吸気通路で、この吸気通路１０の上流端はエアクリーナ１１に接続される一方、下流端は吸気弁１２を介して燃焼室６に連通されている。前記吸気通路１０には、エンジン１に実際に吸入される吸入空気量を検出するホットワイヤ式エアフローセンサ１３と、吸気通路１０を絞るスロットル弁１４と、サージタンク１５と、後述のＥＣＵ３５（Electronic Control Unit ）からの燃料噴射信号（噴射パルス）を受けて燃料を噴射供給するインジェクタ１６とが上流側から順に配設されている。また、前記エアクリーナ１１には吸気温度を検出する吸気温センサ１７が設けられている。
【００２４】
前記吸気通路１０の下流端部は第１吸気通路（図示せず）と第２吸気通路１０ａとに分岐され、この第２吸気通路１０ａにはスワール弁１８が配設されている。このスワール弁１８は、例えばステッピングモータ等のアクチュエータ１８ａにより開状態と閉状態とに切替作動され、閉状態では前記第２吸気通路１０ａを大略閉じて、上流側からの吸気流を殆ど第１吸気通路のみから燃焼室６に供給することにより、該燃焼室６にスワールを生成維持するものである。
【００２５】
前記スロットル弁１４の上下流は、ＩＳＣ（Idle Speed Control）用バイパス通路２０により接続され、該ＩＳＣ用バイパス通路２０にはこの通路２０を開閉するＩＳＣバルブ２１が設けられており、このＩＳＣバルブ２１の開度を制御することで、エンジン１のアイドル状態における回転数を制御するようになっている。このバイパス通路２０及びＩＳＣバルブ２１により吸入空気量可変手段が構成される。また、２２は前記スロットル弁１４の全閉状態を検出するアイドル状態検出手段としてのアイドルスイッチであり、２３はスロットル弁１４の開度を検出するスロットル開度センサである。
【００２６】
一方、２５は前記燃焼室６から排気ガスを排出する排気通路で、その上流側は各シリンダ２毎に分岐して、排気弁２４を介して燃焼室６に連通される排気マニホルドにより構成されている。また、排気マニホルドよりも下流側の排気通路２５の途中には、空燃比を検出するためのＯ2センサ２６が配設され、その下流側には、排気ガスを浄化するための触媒コンバータ２７が排気管により前記排気マニホルドに接続されている。前記Ｏ2センサ２６は、排気ガス中の酸素濃度を基に燃焼室６内の空燃比を検出するもので、理論空燃比で出力が急変するようになっている。また、前記触媒コンバータ２７は排気ガス中の未燃炭化水素（ＨＣ）、一酸化炭素（ＣＯ）及び窒素酸化物（ＮＯx ）を浄化可能な三元触媒を備えたものであり、好ましくはリーン状態でもＮＯx を浄化する機能を有するものが用いられる。
【００２７】
前記エンジン１には、電磁ピックアップ等からなるクランク角センサ３０が設けられている。このクランク角センサ３０は、図示しないクランク軸の端部に設けた被検出用プレート３１の外周に対応する箇所に配置され、該被検出用プレート３１がクランク角の回転とともに回転されたとき、その外周部に突設された突起部３１ａ，３１ａ，…の通過に応じてパルス信号を出力するようになっている。また、前記エンジン１のウォータジャケット（図示せず）に臨んで、冷却水温を検出する水温センサ３２が設けられている。
【００２８】
３５はマイクロコンピュータ等により構成されたエンジンコントロールユニット（ＥＣＵ）である。このＥＣＵ３５には、図２にも示すように、エアフローセンサ１３、吸気温センサー１７、アイドルスイッチ２２、スロットル開度センサ２３、Ｏ2センサ２６、クランク角センサ３０、水温センサ３２等からの各出力信号が入力されるようになっている。一方、前記ＥＣＵ３５からは、インジェクタ１６に対して燃料噴射を制御する信号（パルス信号）が出力されるとともに、点火回路８に対して点火時期を制御する信号が出力され、さらに、ＩＳＣバルブ２１のアクチュエータ２１ａ及びスワール弁１８のアクチュエータ１８ａ等にも制御信号が出力されるようになっている。
【００２９】
前記ＥＣＵ３５は、エンンジ１の冷間始動後に点火時期を燃焼安定限界付近まで最大限に遅角させることで、該エンジン１の燃焼安定性を確保しつつ触媒の早期昇温効果を最大限に高めるように制御を行う。具体的には、前記ＥＣＵ３５は、エンジン１の冷却水温（エンジン水温）及び始動からの経過時間に基づいて触媒の未暖機状態を判定する触媒暖機判定部３６と、該触媒暖機判定部３６により触媒の未暖機状態が判定されるとき、点火時期を遅角（リタード）させることで、触媒の昇温を促進する点火時期制御部３７を備えている。
【００３０】
また、前記ＥＣＵ３５は、クランク角速度の変動（回転変動状態）を検出するラフネス検出部３８と、該ラフネス検出部３８により検出されるクランク角速度変動がエンジン１の燃焼安定限界内に収まるように、前記点火時期制御部３７により設定される点火時期を補正する燃焼制御手段としての点火時期補正制御部３９とを備え、さらに、該点火時期補正制御部３９による補正制御量（後述のラフネス制御量）を学習して、該補正制御量の初期設定値に反映させる学習制御部４０と、ＩＳＣバルブ２１の開度を制御して前記エンジン１への吸入空気量の増大により該エンジンの回転安定性の向上を図るアイドル制御手段としてのＩＳＣ制御部４１とを備えている。
【００３１】
尚、前記ＥＣＵ３５は、点火時期の調整によりエンジン回転数が所定のアイドル回転数（設定アイドル回転数）になるようにフィードバック制御するアイドルフィードバック点火時期制御部４２（図３参照）と、点火時期制御部３７による触媒の昇温促進制御の実行の際に、インジェクタ１６に出力する燃料噴射信号のパルス幅の変更により、混合気の空燃比が理論空燃比（１４．７）よりもリーン側になるように燃料噴射量を増減制御する燃料噴射制御部（図示せず）とを備えている。この空燃比のリーン側への設定により、排気ガス温度が高められるとともに、ＨＣやＣＯの排出量の低減が図られる。
【００３２】
（点火時期の制御）
前記ＥＣＵ３５によるエンジン１の点火時期の具体的な制御手順を、図３に示すフローチャート図に基づいて説明する。
【００３３】
同図におけるステップＳＡ１では、クランク角センサ出力、エンジン回転数、エアフローセンサ出力、エンジン水温、アイドルスイッチ出力、スタータ出力等を読み込み、続くステップＳＡ２では、イグニッションオフでもデータを保持する不揮発性メモリから後述のラフネス制御量の各気筒毎の学習値θstudy （ｎ）を読込む。ここで、ｎは１〜４の整数で、それぞれエンジン１の４つのシリンダ２，２，…に対応するものである。すなわち、例えばｎ＝１が第１気筒に対応しているとすれば、ｎ＝２は第３気筒に、ｎ＝３は第４気筒に、またｎ＝４は第２気筒にそれぞれ対応している。
【００３４】
前記ステップＳＡ２に続くステップＳＡ３ではエンジン１が始動中か否かを判定する。すなわち、スタ−タモータがオフ状態であるか又はエンジン回転数が所定回転数よりも大きければ、始動中でないと判定して後述のステップＳＡ６に進む一方、スタータモータがオン状態でかつエンジン回転数が所定回転数以下であれば、始動中であると判定してステップＳＡ４に進む。
【００３５】
そして、ステップＳＡ４でエンジン始動中の所定の点火時期ＩＧＳＴを点火時期ＩＧＴ（ｎ）として算出し、ステップＳＡ５で、エンジン始動中であることを示すフラグＦSTA の値を１とした後、後述のステップＳＡ１６に進んで各気筒毎に点火プラグ７により点火実行する。これにより、エンジン１が吹け上がって運転状態になる。
【００３６】
一方、前記ステップＳＡ４で始動中でないと判定された場合、ステップＳＡ６に進んで、運転状態のエンジン水温が所定温度（例えば６０°Ｃ）以下であるか否かを判定する。そして、前記所定温度より大きければ触媒が暖機状態にあると判定して後述のステップＳＡ１８に進む一方、所定温度以下であればステップＳＡ７に進む。このステップＳＡ７ではフラグＦSTA の値が１であるか否かを判定して、ＦSTA ＝１であれば、その値をステップＳＡ８で０としてクリアした後、ステップＳＡ９で、設定時間後にオフになる昇温促進時間設定用タイマをオンして、ステップＳＡ１１に進む。一方、前記ステップＳＡ７でＦSTA ＝０であれば、ステップＳＡ１０に進んで前記タイマがオンかオフかの判定を行い、タイマがオフであれば後述のステップＳＡ２０に進む一方、タイマがオンであればステップＳＡ１１に進む。つまり、エンジン１が冷機時に始動されて吹け上ってから設定時間が経過するまでの間、触媒が未暖機状態にあると判定して以下のステップＳＡ１１〜ＳＡ１７の制御を実行する。
【００３７】
ステップＳＡ１１では、点火時期の遅角による触媒の昇温促進制御を実行中であることを示すフラグＦRTDの値を１とし、続くステップＳＡ１２で、アイドル状態でのエンジン回転数を一定に保持するための点火時期のフィードバック制御量θIDFBの値を０にする。つまり、点火時期の調整によるエンジン回転のアイドルフィードバック制御を禁止する。ステップＳＡ１３では、触媒の昇温のために設定する点火時期の遅角側への昇温促進制御量θRTDを、予め設定されたマップから読出す。このマップは、エンジン負荷に対応するエンジンの吸気充填効率及びエンジン回転数に基づいて、前記昇温促進制御量θRTDを種々設定したものである。尚、吸気充填効率は、エアフローセンサ出力から求めた吸入空気量をエンジン回転数で除算してから所定の定数を乗算して算出する。
【００３８】
そして、ステップＳＡ１４で、クランク角速度の変動（エンジンの回転変動状態）がエンジンの燃焼安定限界内に収まるように点火時期を補正するためのラフネス制御量θrough（ｎ）を各気筒毎に演算し、ステップＳＡ１５では、前記各ステップでそれぞれ演算した点火時期のフィードバック制御量θIDFB、昇温促進制御量θRTD、ラフネス制御量θrough（ｎ）に基づいて点火時期ＩＧＴ（ｎ）を各気筒毎に算出する。すなわち、
ＩＧＴ（ｎ）  ＝  θBASE−θIDFB−θRTD＋θrough（ｎ）
となる。ここで、θBASEは点火時期の基本設定値であって、通常は、各気筒毎にエンジン１が最大トルクを出力する所定の点火時期（例えば上死点前１０度）よりも僅かに遅角側に、エンジン回転数及び吸気充填効率に対応付けて設定されている。尚、前記ステップＳＡ１４におけるラフネス制御量θrough（ｎ）の演算については後述する。
【００３９】
ステップＳＡ１６では、クランク角センサ３０から入力される信号に基づいて、前記ステップＳＡ４又はステップＳＡ１５で演算された点火時期ＩＧＴ（ｎ）になったことの判定を行い、点火時期になればステップＳＡ１７で点火プラグ７に通電して各気筒毎に点火実行し、その後リターンする。
【００４０】
つまり、エンジン１の冷間始動から設定時間が経過するまでの間、該エンジン１の点火時期を遅角させて（ステップＳＡ１３）排気ガス温度を高めることで触媒の昇温を促進するとともに、クランク軸の角速度変動に応じて点火時期を補正することで（ステップＳＡ１４）、エンジンを燃焼安定限界内で制御するようにしている。
【００４１】
一方、前記ステップＳＡ６でエンジン水温に基づいて触媒が暖機状態にあると判定したときには、ステップＳＡ１８及びステップＳＡ１９でそれぞれフラグＦSTA 及びフラグＦRTDをクリアして、ステップＳＡ２０に進む。このステップＳＡ２０では、アイドルスイッチ２２からの信号に基づいてスロットル弁１４が全閉状態にあるか否かを判定し、全閉状態であればアイドル状態であるからステップＳＡ２１に進んで、現在のエンジン回転数と設定されているアイドル回転数との偏差に基づいて、予め設定されたマップから点火時期のフィードバック制御量θIDFBを読込む。
【００４２】
一方、スロットル弁１４が全閉状態でなければアイドル状態でないから、ステップＳＡ２２に進んでフィードバック制御量θIDFBの値を０とする。続くステップＳＡ２３では昇温促進制御量θRTDの値を０とし、ステップＳＡ２４ではラフネス制御量θrough（ｎ）の値を０として上述のステップＳＡ１５に進み、点火時期ＩＧＴ（ｎ）を算出する。
【００４３】
つまり、冷却水温が所定温度以上であるか（ステップＳＡ６）、又はエンジン始動から設定時間が経過しており（ステップＳＡ１０）、触媒が既に暖機状態になったと判定したときには、該触媒の昇温を促進するための制御を終了（ステップＳＡ２３，ＳＡ２４）して通常の制御に移行する。そして、スロットル弁１４が全閉状態になっていれば、エンジン回転数をアイドル回転数に保持するように点火時期を調整するアイドルフィードバック点火時期制御を行う（ステップＳＡ２０，ＳＡ２１）。このように点火時期の調整によりエンジン１のアイドル回転を制御することで、エンジン回転数を応答性良くアイドル回転数にフィードバック制御することができる。
【００４４】
前記のフローチャート図において、ステップＳＡ３，ＳＡ６〜ＳＡ１０が触媒暖機判定部３６に、また、ステップＳＡ１３，ＳＡ１５〜１７が点火時期制御部３７にそれぞれ対応している。さらに、ステップＳＡ１４，ＳＡ１５が点火時期補正制御部３９に、また、ステップＳＡ２０，ＳＡ２１がアイドルフィードバック点火時期制御部４２にそれぞれ対応している。
【００４５】
（ラフネス制御量の演算）
次に、図３のステップＳＡ１４におけるラフネス制御量θrough（ｎ）の演算手順を図４及び図５に示すフローチャート図に基づいて説明する。
【００４６】
まず、図４のステップＳＢ１において、初期値１の制御サイクルｉをインクリメントする（ｉ＝ｉ＋１）。続くステップＳＢ２ではクランク角センサ３０からの信号の時間間隔Ｔ（ｉ）を計測し、ステップＳＢ３では前記計測値Ｔ（ｉ）に基づいて所定クランク角期間におけるクランク角速度ω（ｉ）を算出する。
【００４７】
ここで、前記クランク角速度ω（ｉ）の検出を行う所定クランク角期間の好ましい設定について図６〜図８に基づいて説明する。
【００４８】
図６は直列４気筒４サイクルエンジンについて、クランク角を横軸に、またトルク及び角速度を縦軸に示したものである。すなわち、各シリンダ（気筒）２における慣性トルク（同図に破線で示す）とガス圧トルク（同図に一点鎖線で示す）との合成トルクは、同図に太い実線で示すように正常燃焼時は１８０度間隔で周期的に変化し、この合成トルクによって回転されるクランク軸の角速度（実線Ａで示す）も周期的に変化する。一方、例えば第１気筒において燃焼状態が不安定になって失火に近い状態が生じた場合、エンジンの合成トルクは同図に二点鎖線で示すように極めて低くなってしまう。この結果、クランク角速度は前記第１気筒の膨脹行程半ばから顕著に低下して（破線Ｂで示す）正常燃焼時との差が大きくなる。また、次の気筒（第３気筒）では、前気筒の影響が残る膨脹行程の前半では角速度が低くなるが、行程が進むに連れて次第に正常時の値に近付く。
【００４９】
また、図７は燃焼圧と角速度変動（回転変動状態）との相関関係を示すものであり、横軸には１つの気筒についての圧縮上死点（ＴＤＣ）後のクランク角（ＡＴＤＣ，ＣＡ）を、また、縦軸には当該気筒の燃焼状態（ガス圧）が角速度に及ぼす影響の度合いを示す相関係数をそれぞれ表したものである。すなわち、相関係数が正であれば当該気筒の燃焼圧の変動と角速度の変動との相関が高い一方、負であれば当該気筒よりもその前気筒の燃焼圧変動の影響が大きいことを意味する。
【００５０】
そして、前記図６及び図７から明らかなように、燃焼が略終了するクランク角（ＡＴＤＣ４０°ＣＡ程度）から次気筒の燃焼開始時期付近のクランク角（ＡＴＤＣ２００°ＣＡ程度）までの範囲で燃焼圧と角速度変動との相関性が高く、特にガス圧トルクが低下してからトルク変曲点（ＡＴＤＣ９０°ＣＡ程度）を経た後の、慣性トルクが大きくなる期間Ｘ（ＡＴＤＣ１００°ＣＡ〜ＡＴＤＣ２００°ＣＡ）において、前記相関関係が高くなる。従って、例えばＡＴＤＣ１００°ＣＡ〜ＡＴＤＣ２００°ＣＡの範囲内で角速度を検出するようにすれば、この角速度の変動（回転変動状態）に基づいて当該気筒の燃焼状態を精度良く判定することができる。また、角速度検出時間を十分に確保するために、角速度検出のためのクランク角期間は６０°ＣＡ以上とすることが好ましい。
【００５１】
そこで、例えば図８に示すように、各気筒のＡＴＤＣ１０４°ＣＡとＡＴＤＣ１７４°ＣＡとが検出されるように、被検出プレート３１の各突起部３１ａ，３１，…を設け、各気筒におけるＡＴＤＣ１０４°ＣＡ〜１７４°ＣＡの７０度の期間の角速度を検出するようにしている。このため、図４のステップＳＢ３においては、クランク角速度ω（ｉ）を、
ω（ｉ）  ＝  ７０×１０-6／Ｔ（ｉ）
のように演算する。
【００５２】
前記ステップＳＢ３に続くステップＳＢ４では、図示しないカムシャフトの回転角を検出するセンサからの信号に基づいて気筒識別を行い、以下のステップＳＢ５，ＳＢ６において、気筒毎に、燃焼状態の判別にとってノイズとなる要素を除去しつつ角速度ω（ｉ）の変動を求める。すなわち、燃焼状態の変動以外で角速度変動を生じる要素としては、爆発を加振源とした共振の影響による角速度変動、車輪や駆動系のアンバランスに起因する車輪回転に伴う角速度変動、路面からタイヤに作用する振動の影響による角速度変動等があり、図９に示すように、前記共振の影響による爆発回転次数成分のノイズはエンジン回転の０．５次及びその整数倍の周波数で生じ、前記アンバランスに起因する車輪回転に伴うノイズや路面の影響によるノイズはエンジン回転の０．５次よりも低い低周波数域内で生じる。
【００５３】
そこで、図４のステップＳＢ５では、エンジン回転の０．５次及びその整数倍の周波数成分を除去しつつ角速度変動ｄω（ｉ）を求める。すなわち、同一気筒における角速度の今回値ω（ｉ）と前回値ω（ｉ−４）との偏差を求めることで、図１０に示すようにコムフィルタによりエンジン回転の０．５次及びその整数倍の周波数成分を除いた角速度変動ｄω（ｉ）のデータが得られたことになる。また、ステップＳＢ６では、エンジン回転の０．５次よりも低い周波数成分のノイズを除くために、前記ステップＳＢ５で得られた角速度変動ｄω（ｉ）の８サイクル前までのデータに基づいて次式のようになまし処理を行う。
【００５４】
すなわち、
ｄωｆ（ｉ）  ＝  ａ・ｄω（ｉ）＋ｂ・ｄω（ｉ−１）＋
ｃ・ｄω（ｉ−２）＋ｄ・ｄω（ｉ−３）＋
ｅ・ｄω（ｉ−４）＋ｄ・ｄω（ｉ−５）＋
ｃ・ｄω（ｉ−６）＋ｂ・ｄω（ｉ−７）＋
ａ・ｄω（ｉ−８）
（但し、ａ，ｂ，ｃ，ｄ，ｅはなまし係数）
これにより、図１１に示すようにハイパスフィルタによりエンジン回転の０．５次よりも低い周波数成分が十分に減衰されて除かれたことになる。このようにして、各気筒毎に燃焼状態を高精度に反映した角速度変動データｄωｆ（ｉ）を得ることができる。
【００５５】
前記ステップＳＢ６に続くステップＳＢ７では、エンジン１の燃焼安定の許容限界に相当する角速度変動データｄωｆ（ｉ）の上限値ｄωｆmax を、エンジン回転数及びエンジン１の吸気充填効率に基づいて予め設定されたマップから読取り、ステップＳＢ８では同様のマップから角速度変動データｄωｆ（ｉ）の下限値ｄωｆmin を読み取る。そして、ステップＳＢ９では、前記ステップＳＢ６で求められた角速度変動データｄωｆ（ｉ）を上限値ｄωｆmax と比較し、該角速度変動データｄωｆ（ｉ）の方が大きければステップＳＢ１０に進んで、ラフネス制御量θrough（ｎ）を増大させる場合の所定の制御ゲインθKA（θKA＞０）を読出す。続くステップＳＢ１１では燃料の重質度合い（燃料の重質留分の含有割合）に応じて前記制御ゲインθKAの値を変更し、この変更後の値をステップＳＢ１２でラフネス制御ゲインθK として算出する。
【００５６】
一方、前記ＳＢ９で角速度変動データｄωｆ（ｉ）が上限値ｄωｆmax 以下の値であれば、ステップＳＢ１３に進んで該角速度変動データｄωｆ（ｉ）を下限値ｄωｆmin と比較し、角速度変動データｄωｆ（ｉ）の方が小さければステップＳＢ１４に進む。そして、ラフネス制御量θrough（ｎ）を減少させる場合の所定の制御ゲインθKR（θKR＞０）を読み出し、ステップＳＢ１５に進んでラフネス制御ゲインθK を、θK ＝−θKRとして算出する。また、前記ステップＳＢ１３において、角速度変動データｄωｆ（ｉ）がその下限値ｄωｆmin 以上の値であれば、ステップＳＢ１６に進んでラフネス制御ゲインθK を、θK ＝０として算出する。
【００５７】
図４のステップＳＢ１２、ステップＳＢ１５及びステップＳＢ１６に続く図５のステップＳＢ１７では、ｉ≦８であるか否かを判定し、ｉ≦８であればステップＳＢ１８に進んで、不揮発性メモリから読み込んだ学習値θstudy （ｎ）をそのままラフネス制御量θrough（ｎ）として算出する一方、ｉ＞８であればステップＳＢ１９に進んで９≦ｉ＜１３であるか否かを判定する。そして、９≦ｉ＜１３であればステップＳＢ２０に進んで、前記学習値θstudy （ｎ）にラフネス制御ゲインθK を加算してラフネス制御量θrough（ｎ）を算出する一方、ｉ＞１３であればステップＳＢ２１に進んで、同一気筒におけるラフネス制御量θrough（ｎ）の前回値に前記ラフネス制御ゲインθK を加算して、ラフネス制御量θrough（ｎ）の今回値を算出する。
【００５８】
つまり、制御の初期のサイクル（ｉ≦８）では学習値θstudy （ｎ）をそのままラフネス制御量θrough（ｎ）とする一方、制御サイクルが進行すれば（ｉ＞８）、各気筒毎に前記学習値θstudy （ｎ）に対しラフネス制御ゲインθK を積算して適切なラフネス制御量θrough（ｎ）を演算するようにしている。その際、角速度変動データｄωｆ（ｉ）がその上限値ｄωｆmax よりも大きければ（ステップＳＢ９）、ラフネス制御ゲインθK の値が正値とされ（ＳＢ１０〜ＳＢ１２）、ラフネス制御量θrough（ｎ）が増大されて（ＳＢ２０，ＳＢ２１）、点火時期ＩＧＴ（ｎ）がより進角側に補正される。一方、角速度変動データｄωｆ（ｉ）がその下限値ｄωｆmin よりも小さければ（ステップＳＢ１３）、ラフネス制御ゲインθK の値が負値とされ（ＳＢ１４，ＳＢ１５）、ラフネス制御量θrough（ｎ）が減少されて（ＳＢ２０，ＳＢ２１）、点火時期ＩＧＴ（ｎ）がより遅角側に補正される。
【００５９】
ここで、前記ステップＳＢ１１における制御ゲインθKAの変更について説明すると、図１２に示すフローチャート図のステップＳＣ１では、各気筒毎に角速度変動データｄωｆ（ｉ）がその上限値ｄωｆmax よりも初めて大きくなったか否かを判定する。そして、初めてでなければリターンする一方、初めでであればステップＳＣ２に進んで、所定の制御ゲインθKAに予め設定された設定量θJA（θJA＞０）を加算してリターンする。このことで、各気筒におけるラフネス制御量θrough（ｎ）は、図１３に示すようにシフトされて急増するので、点火時期ＩＧＴ（ｎ）は速やかに進角側に補正される
尚、前記ステップＳＣ２において、角速度変動データｄωｆ（ｉ）に対応づけて設定量θJAの値を、燃料の重質度合いに応じて予め種々設定しておき、前記角速度変動データｄω（ｉ）の値が大きいほど、小さいときよりも制御ゲインθKAの値をより大値側に変更するようにしてもよい。このようにすれば、角速度変動の大きさ即ち燃料の重質度合いに応じて点火時期を適切かつ速やかに補正することができる。
【００６０】
図５のステップＳＢ１８、ステップＳＢ２０及びステップＳＢ２１に続くステップＳＢ２２では、アイドルスイッチ２２からの信号に基づいてエンジン１がアイドル状態にあるか否かを判定し、アイドル状態でないと判定されればリターンする一方、アイドル状態であると判定されれば、ステップＳＢ２３に進んでラフネス制御量θrough（ｎ）の今回値を予備学習値θIDR （ｎ）として記憶し、続くステップＳＢ２４で同一気筒における前記予備学習値θIDR （ｎ）の今回値と前回値とを所定割合で重み付けして加算して、ラフネス制御量θrough（ｎ）の学習値θstudy （ｎ）を算出する。そしてステップＳＢ２５で、前記ステップＳＢ２４で算出した学習値θstudy （ｎ）により不揮発性メモリ内の学習値を更新する。すなわち、
θstudy （ｎ）  ＝  ＫＩ・θIDR （ｎ）＋
（１−ＫＩ）｛θIDR （ｎ）の前回値｝
（但し、ＫＩは重み付け係数）
つまり、冷間アイドル時には、エンンジ１の燃焼状態の変動によるクランク角速度の変動ｄω（ｉ）を検出し易いため、前記ラフネス制御量θrough（ｎ）が各気筒毎に燃料の質等に応じた適切な値になっている。そこで、その適切なラフネス制御量θrough（ｎ）を学習して、学習値θstudy （ｎ）として記憶保持するようにしている。
【００６１】
図４及び図５に示す前記フローチャート図において、ステップＳＢ１〜ＳＢ６がラフネス検出部３８に、ステップＳＢ７〜ＳＢ２１が点火時期補正制御部３９にそれぞれ対応しており、また、ステップＳＢ２２〜ＳＢ２５が学習制御部４０に対応している。
【００６２】
（ＩＳＣ制御）
次に、ＩＳＣ制御部４１による具体的な制御内容を図１４に示すフローチャート図に基づいて説明する。
【００６３】
同図のステップＳＤ１では、エンジン回転数、エアフローセンサ出力、エンジン水温、アイドルスイッチ出力、スタータ出力等を読込む。続くステップＳＤ２では、前記アイドルスイッチ出力に基づいてスロットル弁１４が全閉状態にあるか否かを判定し、全閉状態でなければアイドル状態でないから後述のステップＳＤ１４に進む一方、全閉状態であればアイドル状態であるからステップＳＤ３に進んで、エアフローセンサ出力及びエンジン回転数に基づいてエンジン１の現在の吸気充填効率を演算する。
【００６４】
続くステップＳＤ４では、アイドル状態であるか否かを示すフラグから前サイクルでアイドル中であったか否かを判定し、前サイクルでアイドル状態であれば後述のステップＳＤ１２に進む一方、前サイクルでアイドル状態でなければステップＳＤ５に進む。このステップＳＤ５では、エンジン水温に対応づけて予め設定されたマップから、現在のエンジン水温に対応する目標回転数（設定アイドル回転数）を読み出し、ステップＳＤ６に進んで、昇温促進制御を実行中であるか否かをフラグＦRTDの値から判定する。
【００６５】
そして、ＦRTD＝１であればステップＳＤ７に進んで、昇温促進制御によりエンジン１の点火時期が遅角側に設定されている場合について、前記ステップＳＤ５で求めたエンジン１の目標回転数に対応する目標充填効率をマップから読出す。一方、ＦRTD＝１でなければステップＳＤ８に進んで、昇温促進制御が行われていない通常の場合について前記マップから目標充填効率を読出す。このマップは、図１５に示すようにエンジン１の目標回転数を横軸に、また、目標充填効率を縦軸にそれぞれ種々実験結果に基づいて予め設定したものである。
【００６６】
同図において、昇温促進制御が行われている場合の目標充填効率は通常時よりも大きめに設定されている。すなわち、昇温促進制御により点火時期が遅角側に設定されている場合には、エンジン１の燃焼による熱エネルギのクランク軸出力への変換割合が低くなってエンジン１の出力が低下するため、この低下分を補うために、吸入空気量の増大によりエンジン１の吸気充填効率を増大させて所定の吸気充填効率となるように制御する。このことで、アイドルフィードバック点火時期制御部４２による制御を禁止（図３のステップＳＡ１２）していても、エンジン回転数を目標回転数に保つことができる。その際、吸入空気量の増大によりエンジン回転数を前記アイドル回転数よりも高く制御して、そのことによりエンジン回転の安定化を図るようにしてもよい。
【００６７】
前記ステップＳＤ７及びステップＳＤ８に続くステップＳＤ９では、それらの各ステップで求めた目標充填効率になるようにＩＳＣバルブ２１の開度を制御するためのＩＳＣ基本制御量ＤNBASE を、前記目標充填効率に基づいて予め設定したマップから読み出し、続くステップＳＤ１０で前記ＩＳＣ基本制御量ＤNBASE をそのままＩＳＣ制御量ＤN として算出する。そして、ステップＳＤ１１でアクチュエータ２１ａに制御信号を出力して、ＩＳＣバルブ２１のデューティ制御を行ってリターンする。
【００６８】
一方、前記ステップＳＤ４において、前サイクルでアイドル状態であったと判定された場合、ステップＳＤ１２に進んで、現在の吸気充填効率と目標充填効率との偏差に対応するＩＳＣ補正制御量ＤNEをマップから読出す。このマップは、図１６に示すように前記現在の吸気充填効率と目標充填効率との偏差を横軸に、また、ＩＳＣ補正制御量ＤNEを縦軸にそれぞれ設定したものであり、偏差が比較的小さい間は、ＩＳＣ補正制御量ＤNEの増大即ち給気量の増大により、吸気充填効率を目標充填効率に収束させるように設定されている。そして、ステップＳＤ１３に進んで、前記ＩＳＣ補正制御量ＤNEをＩＳＣ基本制御量ＤNBASE に加算してＩＳＣ制御量ＤN を算出し、その後ステップＳＤ１１に進んでＩＳＣバルブ２１のデューティ制御を実行する。
【００６９】
また、前記ステップＳＤ２において、スロットル弁１４が全閉状態でないことからアイドル状態でないと判定された場合にも、前記ステップＳＤ３〜１３と同様、ＩＳＣバルブ２１のデューティ制御を行うようにする。すなわち、ステップＳＤ１４において、昇温促進制御を実行中であるか否かを表すフラグＦRTDの値が１であるか否かを判定し、該フラグＦRTDの値が１であれば、ステップＳＤ１５に進んで、昇温促進制御によりエンジン１の点火時期が遅角側に設定されている場合についての所定のＩＳＣ基本制御量ＤBASER を読み出し、このＩＳＣ基本制御量ＤBASER をステップＳＤ１６でＩＳＣ制御量ＤN として算出した後、上述のステップＳＤ１１に進む。
【００７０】
一方、前記ステップＳＤ１４でフラグＦRTDの値が１でなければ、ステップＳＤ１７に進んで、昇温促進制御が行われていない通常の場合についてのＩＳＣ基本制御量ＤBASEを読み出し、このＩＳＣ基本制御量ＤBASEをステップＳＤ１８でＩＳＣ制御量ＤN として算出した後、上述のステップＳＤ１１に進む。
【００７１】
次に、前記参考例１に係るエンジンの制御装置Ａの作用・効果について説明する。
【００７２】
この参考例では、エンジン１の冷却水温及び始動からの経過時間に基づいて触媒暖機判定部３６により触媒の未暖機状態を判定したとき（図３のＳＡ６，ＳＡ１０）、点火時期制御部３７により前記エンジン１の点火時期ＩＧＴ（ｎ）を遅角側に制御することで（ＳＡ１３，ＳＡ１５）、排気ガス温度を高めて触媒の昇温を促進するようにしている。
【００７３】
すなわち、図１７に実線で示すように、エンジン１の点火時期を大幅に遅角させて例えば上死点後２０度（ＡＴＤＣ２０°ＣＡ）に設定したときには、膨脹行程の中期以降で気筒内圧力がかなり低下した後に混合気の燃焼がピークに達するようになり（いわゆる後燃え）、このため、燃焼熱エネルギのクランク軸出力への変換率が非常に小さくなるので、排気損失が大幅に増えて排気ガス温度が極めて高くなるのである。尚、前記図１７は理論空燃比における吸気下死点後のクランク角（ＡＢＤＣ，ＣＡ）と気筒内圧力との関係を示したもので、比較のため、点火時期を上死点（ＴＤＣ）とした場合の気筒内圧力の変化の様子を一点鎖線で示す。
【００７４】
図１８は点火時期の変更に対する、排気ガス温度の変化及び図示平均有効圧力Ｐｉの変化の様子を示したもので、同図より、点火時期ＩＧＴ（ｎ）を上死点（ＴＤＣ）後まで大幅に遅角させることで、排気ガス温度が急激に高まることが分かる。そして、点火時期の遅角量を大きくするほど排気ガス温度を高めて触媒の早期昇温を図れるのであるが、同時に、同図に一点鎖線で示すように平均有効圧力Ｐｉの変動率すなわちトルク変動率も上昇してしまい、エンジン１の燃焼安定性が損なわれ易くなる。特に、同図に二点鎖線で示すように、供給される燃料の重質度合いが高い場合には、重質度合いの低い通常の燃料に比べてＰｉ変動率が大きくなっており、エンジン１の燃焼安定性が損なわれる可能性が高い。
【００７５】
そこで、この参考例ではラフネス検出部３８によりクランク角速度の角速度変動データｄωｆ（ｉ）を検出し（図４のＳＢ２〜ＳＢ６）、その検出結果に基づいて点火時期補正制御手段３９により点火時期ＩＧＴ（ｎ）の補正を行うようにした。すなわち、前記角速度変動データｄωｆ（ｉ）がエンジン１の燃焼安定のための許容限界に相当する上限値ｄωｆmax よりも大きければ（ステップＳＢ９）、ラフネス制御量θrough（ｎ）の増大により点火時期ＩＧＴ（ｎ）をより進角側に補正してエンジン１の燃焼状態を安定寄りに制御する一方、エンジン１の燃焼状態に余裕があって角速度変動データｄωｆ（ｉ）がその下限値ｄωｆmin よりも小さければ（ステップＳＢ１３）、ラフネス制御量θrough（ｎ）の減少により点火時期ＩＧＴ（ｎ）をより遅角側に補正して触媒の昇温促進効果を高めるようにしている。
【００７６】
つまり、角速度変動データｄωｆ（ｉ）に基づいてエンジン１の実際の燃焼状態を高精度に判定することができるため、供給される燃料の質が変化して着火性や燃焼性が変化しても、その燃料の質なりにエンジン１の燃焼安定性を確保しつつ、触媒の昇温促進効果を最大限に高めることができる。
【００７７】
その際、エンジン１の角速度変動の検出及び点火時期の制御を各気筒毎に行うようにしているので（ＳＢ４）、各気筒毎の燃料噴射量、燃焼温度、吸気流動等のばらつきによらず、該各気筒における燃焼状態をそれぞれ高精度に燃焼安定限界付近で制御することができる。このことで、触媒の昇温促進効果を一層高めることができる。
【００７８】
また、例えば重質度合いの高い燃料が供給された場合、ラフネス制御ゲインθK に設定量θJAを加算するようにしたので（図１２のＳＣ１，ＳＣ２）、ラフネス制御量θrough（ｎ）を大値側にシフトして（図１３参照）点火時期ＩＧＴ（ｎ）を進角側に速やかに補正することができる。よって、燃焼制御の開始から速やかにエンジン１の燃焼状態を安定化させることができる。
【００７９】
さらに、アイドル状態におけるラフネス制御量θrough（ｎ）を学習して、この値により学習値（ラフネス制御量の初期設定値）を更新するようにしているので（図５のＳＢ２２〜ＳＢ２５）、一度学習した後は、エンジン１の燃焼制御の開始から直ちに燃料の質等に応じた適切な制御を行うことができる。よって、エンジンの燃焼状態を始動直後から安定化させることができる。
【００８０】
加えて、アイドル状態では、ＩＳＣ制御部４１による吸入空気量の制御（図１４のＳＤ７）によって所定のアイドル回転数に保持することができる。
【００８１】
さらにまた、この参考例では、触媒コンバータ２７は、エンジン１の排気通路２５における排気マニホルドよりも下流側に設けられ、該排気マニホルドから離れて排気管を介して接続されているので、排気管を介さずに直接排気マニホルドに取り付けたものに比べて、暖まり難いものである。そのため、上述の如く排気温度を高めて触媒の暖機を促進できることは極めて有効な作用効果を有する。言い換えると、上述の如き制御により排気系の設計における自由度が向上するので、例えば、排気マニホルドの設計により排気効率を高めて、エンジン出力を向上させることが可能になる。
【００８２】
（参考例２）
図１９は本発明の参考例２に係るエンジンの制御装置Ａを示し、参考例１と同一の構成要素については同一符号を付している。この制御装置Ａにおけるエンジンコントロールユニット（ＥＣＵ）５０は、参考例１のＥＣＵ３５と同様に、エアフローセンサ１３、吸気温センサー１７、アイドルスイッチ２２、スロットル開度センサ２３、Ｏ2センサ２６、クランク角センサ３０、水温センサ３２等からの各出力信号が入力される一方、インジェクタ１６、点火回路８、ＩＳＣバルブ２１及びスワール弁１８の各アクチュエータ２１ａ，１８ａ等に制御信号を出力するようになっている。
【００８３】
また、前記ＥＣＵ５０は、参考例１と同様に、エンンジ１の冷間始動後に点火時期を遅角させる触媒の早期昇温制御を行う一方、供給される燃料の重質度合いが所定以上高いいわゆる重質燃料である場合には、点火時期の遅角を大幅に抑制してエンジン１の燃焼安定化を優先するようになっている。
【００８４】
具体的には、前記ＥＣＵ５０は、前記参考例１と同様、触媒暖機判定部３６と、点火時期制御部３７と、ラフネス検出部３８と、ＩＳＣ制御部４１と、アイドルフィードバック点火時期制御部４２と、燃料噴射制御部とを備え、さらに、前記ラフネス検出部３８による検出結果に基づいて、供給される燃料が重質燃料であるか否かを判定する重質度合い判定手段としての重質燃料判定部５１と、該重質燃料判定部５１により燃料の重質度合いが所定以上高いと判定されたとき、点火時期の遅角量を予め設定した小さめの値に抑制する抑制制御部５２とを備えている。
【００８５】
尚、この参考例２に係るエンジンの制御装置Ａのその他の構成は参考例１の場合と同様なのでその説明は省略する。
【００８６】
（点火時期の制御）
前記ＥＣＵ５０によるエンジン１の点火時期の具体的な制御手順を、図２０に示すフローチャート図に基づいて説明する。
【００８７】
同図におけるステップＳＥ１〜ＳＥ４では、参考例１の点火時期の制御（図３参照）におけるステップＳＡ１〜ＳＡ５と同様の制御によりエンジン始動中の所定の点火時期ＩＧＳＴを点火時期ＩＧＴ（ｎ）として算出する。また、ステップＳＥ５〜ＳＥ９では、前記参考例１のステップＳＡ６〜ＳＡ１０と同様の制御により、触媒の未暖機状態を判定して、ステップＳＥ１０以降の制御を行う。
【００８８】
すなわち、ステップＳＥ１０ではフラグＦRTDの値を１とし、ステップＳＥ１１では点火時期のフィードバック制御量θIDFBの値を０とし、続くステップＳＥ１２では、触媒の昇温促進のために設定する点火時期の遅角側への昇温促進制御量θRTDを算出する。そして、ステップＳＥ１３では、ステップＳＥ１１で設定した点火時期のフィードバック制御量θIDFBと、ステップＳＥ１２で設定した昇温促進制御量θRTDと、点火時期の基本設定値θBASEとに基づいて点火時期ＩＧＴ（ｎ）を算出し、続くステップＳＥ１４，ＳＥ１５で各気筒に点火実行する。
【００８９】
ＩＧＴ（ｎ）  ＝  θBASE−θIDFB−θRTD
尚、前記ステップＳＥ１２における昇温促進制御量θRTDの演算については後述する。
【００９０】
一方、前記ステップＳＥ５でエンジン水温に基づいて触媒が暖機状態にあると判定された場合には、ステップＳＥ１６に進んで以降ステップＳＥ２１まで、前記参考例１と同様の制御を行う。
【００９１】
前記のフローチャート図において、ステップＳＥ２，ＳＥ５〜ＳＥ１０が触媒暖機判定部３６に、ステップＳＥ１２，ＳＥ１３が抑制制御部５２にそれぞれ対応している。また、ステップＳＥ１３〜ＳＥ１５が点火時期制御部３７に、ステップＳＥ１８，ＳＥ１９がアイドルフィードバック点火時期制御部４２にそれぞれ対応している。
【００９２】
（点火時期の遅角量の演算）
次に、図２０のステップＳＥ１２における昇温促進制御量θRTDの演算手順を図２１に示すフローチャート図に基づいて説明する。
【００９３】
同図におけるステップＳＦ１〜ＳＦ６では、参考例１の場合のステップＳＢ１〜ＳＢ６と同様にして（図４参照）、クランク角速度の角速度変動データｄωｆ（ｉ）を算出する。そして、ステップＳＦ７では、エンジンの燃焼安定の許容限界を僅かに越える角速度変動である重質判定値ｄωｆｆmax をマップから読出す。この重質判定値ｄωｆｆmax は、エンジン１の回転数及び吸気充填効率に対応づけて種々の値が前記マップに設定されているもので、前記角速度変動データｄωｆ（ｉ）が重質判定値ｄωｆｆmax を越えた大変動時には、エンジン１の燃焼状態がかなり不安定になっていると判定される。
【００９４】
続いてステップＳＦ８では、制御サイクルが所定回数Ｌに達したか否かの判定を行い、ｉ≧Ｌであれば後述のステップＳＦ１２に進む一方、ｉ＜ＬであればステップＳＦ９に進んで、角速度変動データｄωｆ（ｉ）と重質判定値ｄωｆｆmax とを比較する。そして、角速度変動データｄωｆ（ｉ）が重質判定値ｄωｆｆmax よりも大きければ、ステップＳＦ１０で初期値０のカウンタをインクリメントする（ｍ＝ｍ＋１）一方、角速度変動データｄωｆ（ｉ）が重質判定値ｄωｆｆmax 以下であればそのままでステップＳＦ１１に進む。このステップＳＦ１１では、エンジン１に供給される燃料が重質度合いの比較的低い通常の燃料であって、点火時期を比較的大きく遅角させる場合の所定の遅角量θNOR （θNOR ＞０）を昇温促進制御量θRTDとして算出して、その後リターンする。つまり、制御の初期のサイクル（ｉ≦Ｌ）においては、通常の燃料に対応する制御を行うとともに、燃焼状態の悪化による角速度の大変動の回数をカウントする。
【００９５】
一方、前記ステップＳＦ８でｉ≧ＬになればステップＳＦ１２に進んで、カウント値ｍを予め設定した判定カウント値ｃと比較し、ｍ＜ｃであれば角速度の大変動の回数が少ないので、供給される燃料は通常の燃料であると判定してステップＳＦ１１に進む。一方、ｍ≧ｃであれば、角速度の大変動の回数が多いので、供給される燃料は重質燃料であると判定する。そして、ステップＳＦ１３に進んで、触媒の昇温促進よりもエンジン１の燃焼安定性を優先するために、点火時期の遅角量を抑制する場合の所定の遅角量θJUS （θNOR ＞θJUS ＞０）を昇温促進制御量θRTDとして算出してリターンする。
【００９６】
つまり、図２２に示すように、所定サイクル（Ｌ）までの角速度の大変動の回数（角速度の大変動の発生割合）をカウントして、このカウント値に基づいて燃料が重質燃料であるか否かを判定するようにしており、供給される燃料が重質燃料であれば、点火時期をあまり遅角させないようにしてエンジン１の燃焼安定性を優先するようにしている。
【００９７】
したがって、この参考例２では、参考例１と同様にして触媒の未暖機状態を判定したとき（ＳＥ５，ＳＥ９）、点火時期制御部３７によりエンジン１の点火時期ＩＧＴ（ｎ）を遅角側に設定することで（ＳＥ１１，ＳＥ１３）、排気ガス温度を高めて触媒の昇温を促進することができる。
【００９８】
その際、クランク角速度変動データｄωｆ（ｉ）に基づいてエンジン１の実際の燃焼状態を高精度に判定することができるため（ＳＦ８〜ＳＦ１２）、この判定結果に基づいて供給される燃料が重質燃料であるか否かを判定することができる。そして、燃料が重質燃料であれば、通常の燃料に比べて混合気の着火性や燃焼性が悪くなるので、触媒の昇温促進を抑制して（ＳＦ１３）エンジンの燃焼安定化を優先する。このことで、重質燃料が供給された場合でも、エンジンの燃焼状態の不安定化に起因する排気有害成分のの急激な増大化を防止することができる。
【００９９】
（実施形態）
図２３は本発明の実施形態に係るエンジンの制御装置Ａを示し、参考例１又は２と同一の構成要素については、同一符号を付している。この制御装置Ａにおけるエンジンコントロールユニット（ＥＣＵ）５５は、実施形態１又は２のＥＣＵ３５，５０と同様に、エアフローセンサ１３、吸気温センサー１７、アイドルスイッチ２２、スロットル開度センサ２３、Ｏ2センサ２６、クランク角センサ３０、水温センサ３２等からの各出力信号が入力される一方、インジェクタ１６、点火回路８、ＩＳＣバルブ２１及びスワール弁１８の各アクチュエータ２１ａ，１８ａ等に制御信号を出力するようになっている。
【０１００】
また、前記ＥＣＵ５５は、参考例１又は２と同様に、エンンジ１の冷間始動後に点火時期を遅角させる触媒の早期昇温制御を行うものであるが、この実施形態の特徴として、その制御をエンジン１の始動直後から開始するようにしている。さらに、前記ＥＣＵ５５は、インジェクタ１６の開弁時間を調整して、混合気の空燃比を略理論空燃比（Ａ/Ｆ＝１４．７）にフィードバック制御するとともに、スワール弁１８を作動させて燃焼室６にスワールを生成維持させるようにしている。
【０１０１】
具体的に、前記ＥＣＵ５５は、前記参考例１と同様、触媒暖機判定部３６と、点火時期制御部３７と、ラフネス検出部３８と、点火時期補正制御部３９と、アイドルフィードバック吸気量制御手段としてのＩＳＣ制御部４１と、アイドルフィードバック点火時期制御部４２（図２５参照）と、空燃比制御手段としての燃料噴射制御部５６とを備え、さらに、エンジン１の始動終了状態を判定する始動判定部５７と、エンジン水温が所定以下のエンジン冷機状態でスワール弁１８を閉じる燃焼制御手段としてのスワール弁制御部５８とを備えている。
【０１０２】
尚、この実施形態に係るエンジンの制御装置Ａのその他の構成は参考例１又は２の場合と同様なので、その説明は省略する。
【０１０３】
（点火時期の制御）
前記ＥＣＵ５５によるエンジン１の点火時期の具体的な制御手順を、図２４及び図２５に示すフローチャート図に基づいて説明する。
【０１０４】
同図におけるステップＳＧ１では、クランク角センサ出力、エンジン回転数、エアフローセンサ出力、エンジン水温、アイドルスイッチ出力、スタータ出力等を読み込み、続くステップＳＧ２，ＳＧ３では、エンジン１の始動終了判定を行う。具体的に、ステップＳＧ２では、エンジン回転数が始動判定回転数（例えば５００rpm）を越えたか否かを判別し、越えたＹＥＳならばエンジン１が完爆状態になったと判定して、ステップＳＧ３に進む一方、越えていないＮＯならばステップＳＧ４に進んで、エンジン始動時初期の所定の点火時期ＩＧＳＴ1（例えば圧縮上死点前５°ＣＡ）を点火時期ＩＧＴ（ｎ）として算出し、後述のステップＳＧ２２（図２５参照）に進んで各気筒毎に点火実行する。
【０１０５】
一方、ステップＳＧ３では、エンジン１が完爆状態になってから所定の判定時間（例えば、１秒間）が経過したか否かを判別し、判定時間が経過していてＹＥＳであればエンジンの始動終了状態を判定して、ステップＳＧ５に進む一方、判定時間の経過前でＮＯであれば、ステップＳＧ６に進んで、始動時進角のための所定の点火時期ＩＧＳＴ2（例えば圧縮上死点前２０°ＣＡ）を点火時期ＩＧＴ（ｎ）として算出し、後述のステップＳＧ２２に進む。
【０１０６】
つまり、エンジン１の始動時には、図２６（ａ），（ｂ）にそれぞれ示すように、クランキングから完爆状態になるまでは通常運転時と略同様の点火時期（例えば圧縮上死点前６°ＣＡ）とし、その後、完爆状態になってエンジン１が吹け上がって燃焼状態が安定するまでの間、点火時期をＭＢＴ（Minimum advance for Best Torque）の近くまで進めるようにしている。
【０１０７】
前記ステップＳＧ３でエンジン始動終了状態と判定して進んだステップＳＧ５では、エンジン水温が所定以下（例えば６０°Ｃ以下）のエンジン冷機状態であるか否かを判定する。そして、エンジン冷機状態でないＮＯならば触媒が暖機状態にあると判定して、参考例１と同様に触媒暖機時の制御を実行する。（図３参照）一方、エンジン冷機状態であるＹＥＳであれば、ステップＳＧ７に進む。
【０１０８】
前記ステップＳＧ７では、エンジン１がアイドル状態になっていて、かつエンジン回転数が冷機状態の目標回転数（設定アイドル回転数）以下であるか、そうでないかを判定する。ここで、前記アイドル状態とは、スロットル弁１４が全閉になっていて、かつ車両が停止中（車速＝０）の状態とする。また、前記エンジン冷機状態の目標回転数は、図２６（ａ）に一点鎖線で示すように、始動時のエンジン水温に応じて最初は高め（例えば１２００rpm）に設定され、エンジン水温の上昇と共に徐々に低くされて、状態でなくなれば、エンジン暖機状態における通常の目標回転数（例えば６５０rpm）に収束するようになっている。
【０１０９】
そして、ステップＳＧ７では、点火時期の調整によるエンジン回転数のフィードバック制御、即ちアイドルフィードバック点火時期制御を実行するか否かを判定する。具体的には、エンジン１がアイドル状態になっていてかつエンジン回転数が目標回転数以下であるＹＥＳならば、ステップＳＧ８に進んで、アイドルフィードバック点火時期制御を実行することを示す点火時期フィードバックフラグＦIDFBの値を１とする。一方、それ以外の場合でＮＯであれば、ステップＳＧ９に進み、前記点火時期フィードバックフラグＦIDFBの値を０にする。このことで、図２６（ａ），（ｂ）に示すように、エンジン回転数が目標回転数以下になったときに、アイドルフィードバック点火時期制御が開始される。
【０１１０】
前記ステップＳＧ８又はステップＳＧ９に続いて、ステップＳＧ１０では、ラフネス制御を行うか否かを判定する。具体的には、エンジン１がアイドル状態になっていてかつ後述の如くスワール弁１８が閉状態になっているＹＥＳならば、ステップＳＧ１１に進んで、ラフネス制御量θrough（ｎ）を各気筒毎に演算する一方、それ以外の場合でＮＯであれば、ステップＳＧ１２に進み、ラフネス制御量θrough（ｎ）＝０とする。そして、図２５に示すステップＳＧ１３に進む。
【０１１１】
尚、前記ステップＳＧ１１におけるラフネス制御量θrough（ｎ）の演算は参考例１と同様に行う。
【０１１２】
図２５に示すステップＳＧ１３では、エンジン１の運転状態に対応する点火時期のベース値を、エンジンの吸気充填効率及びエンジン回転数に基づいて予め設定したマップから読み出す。続くステップＳＧ１４では、触媒の昇温促進のための点火時期の遅角側への制御量（昇温促進制御量）θRTDをエンジン水温に基づいて予め設定したマップから読み出す。このマップは、昇温促進制御量θRTDをエンジン水温に対応づけて設定したもので、例えば、エンジン水温が０〜２０°Ｃでは水温の上昇とともに昇温促進制御量θRTDが徐々に増大し、エンジン水温が２０〜４０°Ｃで昇温促進制御量θRTDが最大値となった後、エンジン水温が４０〜６０°Ｃでは、水温の上昇とともに昇温促進制御量θRTDが徐々に減少するように設定されている。
【０１１３】
続いて、ステップＳＧ１５では、前記各ステップでそれぞれ演算したベース制御量θBASE、昇温促進制御量θRTD、ラフネス制御量θrough（ｎ）に基づいて要求点火進角値θREを各気筒毎に算出する。すなわち、
θRE  ＝  θBASE−θRTD＋θrough（ｎ）
となる。
【０１１４】
続いて、ステップＳＧ１６では、点火時期フィードバックフラグＦIDFBの値を判別し、ＦIDFB＝１でＹＥＳならばステップＳＧ１７に進む一方、ＦIDFB＝０でＮＯならばステップＳＧ２０に進む。そして、ステップＳＧ１７では、現在のエンジン回転数からアイドル状態における目標回転数を減算して得られる回転数偏差に基づいて、表１に示すマップから点火時期の基本補正値を読込む。この基本補正値は回転数偏差量が大きいほど大きな値に設定されている。
【０１１５】
【表１】
続いて、ステップＳＧ１８では、前記ステップＳＧ１５で演算した要求点火進角値θREに基づいて、表２に示すマップからアイドルフィードバック点火時期制御における補正ゲインを読込む。この補正ゲインは、前記要求点火進角値θREに基づく点火時期が遅角側（負の側）にずれるほど、小さな値になるように設定されている。
【０１１６】
【表２】
そして、ステップＳＧ１９では、前記各ステップでそれぞれ演算した基本補正値及び補正ゲインを互いに乗算して、フィードバック制御量θIDFBを算出する。一方、前記ステップＳＧ１６で、ＦIDFB＝０でＮＯと判定されて進んだステップＳＧ２０では、点火時期のフィードバック制御は行わないので、フィードバック制御量θIDFB＝０として、前記ステップＳＧ２１に進む。このステップＳＧ２１では、前記各ステップで求めた要求点火進角値θREからフィードバック制御量θIDFBを減算して、点火時期ＩＧＴ（ｎ）を演算する。すなわち、
ＩＧＴ（ｎ）  ＝  θRE−θIDFB
となる。
【０１１７】
続いて、ステップＳＧ２２では、クランク角センサ３０から入力される信号に基づいて、前記ステップＳＧ４、ＳＧ６又はステップＳＧ２１で演算された点火時期ＩＧＴ（ｎ）になったことの判定を行い、点火時期になればステップＳＧ２３で点火プラグ７に通電して各気筒毎に点火実行し、その後リターンする。
【０１１８】
つまり、エンジン１の始動中は点火時期を進めて始動性を確保する一方、触媒が見暖機状態になっていて、始動終了状態が判定されたときには（ステップＳＧ２，ＳＧ３）、直ちに点火時期の遅角制御による触媒の昇温促進を実行する。その際、エンジン回転数を所定のアイドル回転数に保持するように点火時期を調整するアイドルフィードバック点火時期制御を行うが（ステップＳＧ１７〜ＳＧ２１）、前記点火時期の遅角制御量が大きいほど、アイドルフィードバック点火時期制御のフィードバック補正量を小さくして、制御干渉を低減している。
【０１１９】
前記図２４及び図２５に示すローチャート図において、ステップＳＧ２，ＳＧ３が始動判定部５７に、ステップＳＧ５が触媒暖機判定部３６に、また、ステップＳＧ１４，ＳＧ１５，ＳＧ２１〜２３が点火時期制御部３７にそれぞれ対応している。また、ステップＳＧ１１，ＳＧ１５が点火時期補正制御部３９に、また、ステップＳＧ１７〜ＳＧ２１がアイドルフィードバック点火時期制御部４２にそれぞれ対応しており、特に、ステップＳＧ１８は点火時期フィードバック制御量補正手段５９に対応している。
【０１２０】
（燃料噴射量の制御）
次に、燃料噴射制御部５６による燃料噴射量の具体的な制御手順を、図２７に示すフローチャート図に基づいて説明する。
【０１２１】
同図におけるステップＳＨ１では、Ｏ2センサ出力、エンジン回転数、エアフローセンサ出力、スタータ出力等を読込み、続くステップＳＨ２でエンジン１がクランキング中か否かを判定する。そして、クランキング中でないＮＯならばステップＳＨ５に進む一方、クランキング中でＹＥＳであればステップＳＨ３に進んで、エンジン始動時の所定期間であることを示す始動判定フラグＦSTの値を１とし、続くステップＳＨ４で、エンジン始動時の所定の噴射パルス幅ＴSTを噴射パルス幅Ｔａ（ｎ）として算出して、後述のステップＳＨ１５に進む。前記噴射パルス幅ＴSTは、混合気の空燃比が十分にリッチ側になってエンジンの良好な始動性が確保されるような値に設定されている。尚、点火時期の制御と同様、ｎは１〜４の整数で、それぞれエンジン１の４つのシリンダ２，２，…に対応するものである。
【０１２２】
一方、前記ステップＳＨ２でクランキング中でないＮＯと判定されて進んだステップＳＨ５では、前記始動判定フラグＦSTの値を判別する。そして、ＦST＝１でないＮＯならば後述のステップＳＨ１０に進む一方、ＦST＝１であればステップＳＨ６に進み、このステップＳＨ６において、エンジン１の始動後増量値Ｃｓ及びエンジン水温に対応する水温増量値Ｃｗを演算する。前記始動後増量値Ｃｓは、予め設定した初期値（例えば２０％）から制御サイクル毎に一定の値を減算して求める。また、前記水温増量値Ｃｗは、エンジン水温に基づいて予め設定したマップから読み出すもので、エンジン始動後の水温上昇に伴い前記始動後増量値Ｃｓと同様に徐々に減少する。
【０１２３】
前記ステップＳＨ６に続くステップＳＨ７では、前記始動後増量値Ｃｓ及び水温増量値Ｃｗをそれぞれ所定のしきい値Ｃｓ0，Ｃｗ0と比較して、両方共にしきい値よりも小さいＹＥＳならばステップＳＨ８に進み、前記始動判定フラグＦSTをクリアして（ＦST＝０）、ステップＳＨ９に進む。一方、前記始動後増量値Ｃｓ及び水温増量値Ｃｗのうちの少なくとも一方がしきい値Ｃｓ0，Ｃｗ0よりも大きいＮＯであれば、始動判定フラグＦSTをクリアせずに、ステップＳＨ９に進む。そして、ステップＳＨ９では、前回の制御サイクルにおける噴射パルス幅を始動後増量値Ｃｓ及び水温増量値Ｃｗにより補正して、今回の噴射パルス幅Ｔａ（ｎ）とし、後述のステップＳＨ１５に進む。つまり、エンジン１の始動後しばらくの間は、燃料増量により混合気の空燃比をリッチ側に補正して、燃焼安定化を図っている。
【０１２４】
これに対し、前記ステップＳＨ５においてＦST＝１でないＮＯと判定されて進んだステップＳＨ１０では、エンジン１がフィードバック運転領域にあるか否かを判定する。例えば、エンジン１の運転領域が、排気温の上昇を抑制するために燃料を増量するエンリッチ領域以外であり、かつ燃料カット領域以外であって、さらに、前記エンジン１の運転状態が加速運転状態又は減速運転状態のいずれでもなく、加えて、エンジン水温が所定以上（例えば２０°Ｃ以上）であれば、エンジン１がフィードバック運転領域にあるＹＥＳと判定して、ステップＳＨ１１に進む。一方、エンジン１がフィードバック運転領域にないＮＯと判定すればステップＳＨ１３に進む。
【０１２５】
そして、ステップＳＨ１１では、Ｏ2センサ２６が活性化しているか否かを判定し、活性化しているＹＥＳならばステップＳＨ１２に進んで、Ｏ2センサ２６からの出力信号に基づいて混合気の空燃比を理論空燃比にフィードバック制御するための空燃比フィードバック補正値Ｃfbを演算する。一方、Ｏ2センサ２６が活性化していないＮＯならばステップＳＨ１３に進み、Ｃfb＝０とする。続いて、ステップＳＨ１４では、各気筒毎にインジェクタ１６に出力する噴射パルス幅Ｔａ（ｎ）を演算する。すなわち、
Ｔａ（ｎ）  ＝  ＫＧＫＦ×｛１＋Ｃfb ｝×Ｃｅ
となる。尚、ＫＧＫＦはインジェクタ流量係数で、Ｃｅは吸気充填効率である。
【０１２６】
そして、前記ステップＳＨ１４に続くステップＳＨ１５では、クランク角センサ３０からの信号に基づいて各気筒毎に燃料噴射タイミングになったことの判定を行い、噴射タイミングになれば、ステップＳＨ１６でインジェクタ１６の作動により燃料噴射を実行し、その後リターンする。
【０１２７】
つまり、図２６（ｃ）に示すように、エンジン１が完爆状態になって吹け上がってからしばらくの間は、始動後増量値Ｃｓ及び水温増量値Ｃｗに応じて混合気の空燃比がリッチ側に補正され（ステップＳＨ６〜ＳＨ９）、その後、Ｏ2センサ２６が活性化すれば（ステップＳＨ１１）、該Ｏ2センサ２６からの信号に基づくフィードバック制御に移行するようにしている。
【０１２８】
（フィードバック補正値の演算）
次に、前記ステップＳＨ１２における空燃比フィードバック補正値Ｃfbの演算について、図２８〜図３０に基づいて詳細に説明する。
【０１２９】
まず、Ｏ2センサ２６の出力特性を説明すると、図２８に示すように、前記Ｏ2センサ２６の出力（起電力）は、排気中の酸素濃度が混合気の理論空燃比に対応する量であるときに基準値Ｅ1になるが、それよりも濃い場合（リッチ側）には急増する一方、それよりも薄い場合（リーン側）には急減するようになっている。つまり、前記Ｏセンサ２６の出力は、混合気の空燃比が理論空燃比であるときを境に反転する。
【０１３０】
そこで、図２９に示すフローチャート図において、ステップＳＪ１では、Ｏ2センサ２６からの出力Ｅを理論空燃比に対応する基準値Ｅ1と比較して、Ｅ＞Ｅ1でなければステップＳＪ５に進む一方、Ｅ＞Ｅ1 であればステップＳＪ２に進む。このステップＳＪ２では、前サイクルでＯ2センサ２６の出力Ｅが基準値Ｅ1以下であったか否かの判定を行い、基準値以下であったのであればステップＳＪ３に進み、空燃比フィードバック補正値Ｃfbの前回値から比較的大きめの制御ゲインＣpを減算して、今回値を算出する。一方、前記出力Ｅが基準値Ｅ1以下でなかったのであればステップＳＪ４に進んで、空燃比フィードバック補正値Ｃfbの前回値から比較的小さめの制御ゲインＣIを減算して、今回値を算出する。
【０１３１】
つまり、図３０に示すように、Ｏ2センサ出力Ｅが基準値Ｅ1よりも大きい間は、制御サイクル毎に空燃比フィードバック補正値Ｃfbから制御ゲインＣp，ＣIを減算する。このことで、噴射パルス幅Ｔａ（ｎ）が短くなって燃料噴射量が減少し、混合気の空燃比がリーン側へ補正されて、その結果、前記Ｏ2センサ２６の出力Ｅが低下して基準値Ｅ1に近付くのである。
【０１３２】
また、混合気の空燃比が理論空燃比以下の値から理論空燃比よりも大きい値に変化したり、また、理論空燃比よりも大きな値から理論空燃比以下の値に変化して、Ｏ2センサ２６の出力Ｅが基準値Ｅ1を挟んで反転したときには、制御ゲインＣpにより空燃比フィードバック補正値Ｃfbの値を急速に変化させる。一方、前記起電力値Ｅが反転しないときには、前記空燃比フィードバック補正値Ｃfbの値を制御ゲインＣIにより緩やかに変化させるようにしている。
【０１３３】
一方、前記ステップＳＪ２でＥ＞Ｅ1でないと判定されて進んだステップＳＪ５では、前記ステップＳＪ２〜ＳＪ４と同様に、空燃比フィードバック補正値Ｃfbを算出する。すなわち、前回の制御サイクルで起電力Ｅが基準値Ｅ1よりも大きかったか否かの判定を行い、Ｅ＞Ｅ1だったのであればステップＳＪ６に進み、空燃比フィードバック補正値Ｃfbの前回値に制御ゲインＣp を加算して、今回値を算出する一方、Ｅ＞Ｅ1でなかったのであればステップＳＪ７に進み、空燃比フィードバック補正値Ｃfbの前回値に制御ゲインＣIを加算して、今回値を算出する。
【０１３４】
つまり、Ｏ2センサ出力Ｅが基準値Ｅ1よりも小さい間は、燃比フィードバック補正値Ｃfbに制御ゲインＣp，ＣIを加算してその値を増大させる。このことで、混合気の空燃比がリッチ側へ補正される結果、前記Ｏ2センサ２６の出力Ｅが増大して、基準値Ｅ1に近付くのである。また、前記Ｏ2センサ２６の出力Ｅが基準値Ｅ1を挟んで反転したときには、空燃比フィードバック補正値Ｃfbの値を急速に変化させる一方、前記出力値Ｅが反転しないときには、前記空燃比フィードバック補正値Ｃfbの値を緩やかに変化させるようにする。
【０１３５】
このように、Ｏ2センサ２６からの出力信号に基づいてインジェクタ１６の燃料噴射量をフィードバック制御することで、図２６（ｃ）に示すように、混合気の空燃比は理論空燃比を挟んでリッチ側及びリーン側の両側に周期的に変化し、そのことによって、触媒の浄化せいのうを有効に引き出すことができる。
【０１３６】
上述のフィードバック補正値の演算における制御ゲインＣp，ＣIの値は、図３１に示すように、空燃比フィードバック制御量補正手段６０によりエンジン水温に応じて切替えられるようになっている。すなわち、同図のステップＳＫ１では、エンジン水温が所定以下（例えば６０°Ｃ以下）か否かを判定し、所定以下でＹＥＳならばステップＳＫ２に進み、制御ゲインＣp，ＣIの値を、低水温時用の予め小さな値に設定する。一方、エンジン水温が所定以下でないＮＯならば、ステップＳＫ３に進み、前記低水温時用の値よりも大きな高水温時用の値に設定する（図２６（ｅ）参照）。
【０１３７】
すなわち、エンジン水温が所定以下のエンジン冷機状態では燃料の気化霧化が不十分になるので、制御の時間遅れが増大して制御性が低下するが、この実施形態では、制御ゲインＣp，ＣIを小さく補正することで、制御の不安定化を防止できる。従って、混合気の空燃比は、図２６（ｃ）に示すように理論空燃比を挟んでリッチ側及びリーン側の両側に周期的に変化するが、エンジン冷機状態ではその振れ幅は相対的に小さくなっている一方、エンジン水温が高まってエンジン冷機状態でなくなれば、前記振れ幅は相対的に大きくなる。
【０１３８】
（スワール弁の制御）
次に、スワール弁制御部５８によるスワール弁１８の具体的な制御手順を、図３２に示すフローチャート図に基づいて説明する。
【０１３９】
まず、同図におけるステップＳＬ１では、アイドル状態になっているか否かを判定する。すなわち、スロットル弁１４が全閉になっていて、かつ車両が停止中（車速＝０）であれば、アイドル状態でＹＥＳと判定してステップＳＬ２に進む一方、アイドル状態でないＮＯならばステップＳＬ５に進む。前記ステップＳＬ１でアイドル状態と判定されて進んだステップＳＬ２では、エンジン水温が所定以下（例えば６０°Ｃ以下）であるか否かを判定し、エンジン水温が所定以下のエンジン冷機状態でＹＥＳであればステップＳＬ３に進んで、アクチュエータ１８ａの作動によりスワール弁１８を閉状態にさせる。一方、エンジン冷機状態でないＮＯならばステップＳＬ４に進み、スワール弁１８を開状態にさせる。
【０１４０】
このことで、エンジン水温が所定以下のエンジン冷機状態では、図２６（ｆ）に示すようにスワール弁１８が閉状態とされ、エンジン１の各気筒毎の燃焼室６でスワールが生成維持されて、燃料と吸気との混合が促進される。このことにより、エンジン冷機状態におけるに燃料の気化霧化の悪化を補って、着火性を良好に維持できる。
【０１４１】
一方、前記ステップＳＬ１でアイドル状態でないＮＯと判定されて進んだステップＳＬ５では、例えば図３３に示すようなスワール弁作動マップをサーチする。このマップは、エンジン水温、エンジン回転数、及び吸気充填効率に基づいて、スワール弁１８の開閉作動を予め規定したもので、スワール弁１８は、相対的に低水温側、低回転側、及び低負荷側（吸気充填効率の低い側）で閉状態にされるようになっている。具体的に、前記ステップＳＬ５では現在のエンジン水温及びエンジン回転数に基づいてマップをサーチし、対応する吸気充填効率をしきい値として読み込んで、ステップＳＬ６に進む。
【０１４２】
ステップＳＬ６では、エンジン１の現在の吸気充填効率を前記ステップＳＬ５で読み込んだしきい値と大小比較して、現在の吸気充填効率がしきい値よりも小さいＹＥＳならば、前記ステップＳＬ３に進んで、スワール弁１８を閉状態にさせる一方、現在の吸気充填効率がしきい値以上でＮＯならば、ステップＳＬ７に進んで、スワール弁１８を開状態にさせる。
【０１４３】
すなわち、アイドル状態以外では、エンジン水温、エンジン回転数及びエンジン１の負荷状態に基づいてスワール弁１８の開閉制御をしており、エンジン冷機状態では燃料の気化霧化の悪化を補うために、スワール弁１８を閉じてスワールを生成維持することで、燃料及び吸気の混合を促進する。一方、高回転域では吸気量を十分に確保するために、また、高負荷域ではエンジン１の出力を十分に確保するために、それぞれスワール弁１８を開状態にする。
【０１４４】
尚、この実施形態においては、ＩＳＣ制御部４１によるＩＳＣバルブ２１の作動制御は、参考例１の場合（図１４参照）と概ね同様に行われる。すなわち、図２６（ｄ）に示すように、エンジン１が完爆状態になって吹け上がるまでは、ＩＳＣバルブ２１は全開状態にされていて、その後、エンジン回転数が冷機状態における目標回転数以下になったとき、即ちアイドルフィードバック点火時期制御を開始するのと同時に、前記実施形態１のＩＳＣ制御手順と同様の制御手順により、エンジン回転数を目標回転数にフィードバック制御するようにしている。
【０１４５】
したがって、この実施形態によれば、エンジン１の始動後にエンジン水温が所定以下で触媒が未暖機状態になっていると判定されたとき（ＳＧ５）、参考例１と同様に、エンジン１の点火時期を制御して、燃焼安定性を確保しつつ触媒の昇温を促進することができる。しかも、その点火時期制御をエンジン１の始動終了後、直ちに開始することで、触媒の活性化を最短時間で実現できる。
【０１４６】
また、エンジン回転数が始動判定回転数に達してから所定の判定時間が経過したときにエンジン１の始動終了状態を判定するようにして、エンジン１が完爆状態になって吹け上がるまでは始動性を最優先した点火時期制御を行い、その後、燃焼状態が安定した後に、触媒の昇温を促進する制御を行っているので、最短時間での触媒の活性化を図りつつ、エンジン１の良好な始動性を確保できる。
【０１４７】
さらに、点火時期の遅角制御により触媒の昇温促進を図るときにも、アイドルフィードバック点火時期制御及びアイドルフィードバック吸気量制御により、エンジン回転数を安定的に保持しつつ、エンジン水温の上昇とともに徐々に低下させるようにしているので、車両の乗員の自然なフィーリングを損なうことがない。しかも、前記アイドルフィードバック点火時期制御におけるフィードバック制御量を小さく補正することで、点火時期の制御の干渉に伴うハンチング等の悪影響を低減できる。
【０１４８】
加えて、この実施形態では、排気通路２５にＯ2センサ２６を配設し、エンジン始動後に前記Ｏ2センサ２６が正常作動可能な活性化状態になったとき、該Ｏ2センサ２６からの出力信号に基づいて混合気の空燃比を略理論空燃比にフィードバック制御するようにしている。このことにより、混合気の空燃比を高精度に理論空燃比に制御できるので、触媒が未暖機状態であってもＨＣやＣＯの排出量を低減できる。
（他の実施形態）
尚、本発明は前記実施形態に限定されるものではなく、その他種々の実施形態を包含するものである。例えば、前記実施形態では触媒の未暖機状態をエンジン水温に基づいて判定するようにしているが、これに限らず、例えば排気通路２５における触媒コンバータ２７の近傍に温度センサを設けて、直接、触媒の未暖機状態を判定するようにしてもよい。
【０１４９】
さらに、前記実施形態では、回転変動状態の検出及び点火時期の制御を、各気筒毎に行うようにしているが、これに限らず、全部の気筒をまとめて制御するようにしてもよい。
【０１５０】
また、前記参考例２では、供給される燃料が重質燃料であると判定したときに、点火時期の遅角量を抑制することでエンジン１の燃焼安定化を図るようにしているが、これに限らず、重質燃料が供給される場合にはエンジン１の昇温促進のための点火時期の遅角を行わないようにしてもよい。
【０１５１】
さらにまた、前記実施形態において、触媒の昇温促進制御をエンジン水温が所定温度（例えば０°Ｃ〜−７°Ｃの範囲の設定温度）以上のときにのみ実行するようにしてもよい。そのようにすれば、例えば寒冷地等における極低温状態のエンジン始動時で燃料の気化霧化が極めて悪い場合には、燃焼状態の安定化を最優先することができ、エンジン１の燃焼状態が不安定になった場合の排気有害成分の急増等の不測の不具合を未然に防止できる。
【０１５２】
【発明の効果】
以上説明したように、請求項１記載の発明におけるエンジンの制御装置によれば、触媒の未暖機状態で、少なくともエンジンの点火時期を遅角側に変更して触媒の昇温を促進するとき、エンジンの実際の回転変動状態を検出して、その回転変動状態に応じてエンジンの燃焼状態を制御することで、エンジンの燃焼安定性を確保しつつ点火時期を最大限に遅角させて、触媒の昇温促進効果を最大限に高めることができる。また、その効果を燃料の質に依らず得ることができる。さらに、エンジンの始動終了後、直ちに触媒の昇温促進のための制御を開始して、最短時間で触媒を活性化できるとともに、エンジンの良好な始動性を確保できる。
【０１５３】
加えて、触媒の早期昇温とその間の排気有害成分の排出量の低減化との両立が可能になるとともに、点火時期の制御の干渉に伴うハンチング等の悪影響を低減しつつ、応答性の早い点火時期の制御によりエンジンの回転変動を抑制できる。
【０１５４】
請求項２記載の発明によれば、空燃比センサの検出値に基づいてフィードバック制御することで、空燃比制御の精度を高めて、排気有害成分の排出濃度を十分に低減できる。
【０１５５】
請求項３記載の発明によれば、エンジン冷機状態で空燃比センサのゲインを小さく補正することで、空燃比フィードバック制御の不安定化を防止できる。
【図面の簡単な説明】
【図１】  本発明の参考例１に係るエンジンの制御装置を示す全体構成図である。
【図２】  前記参考例１のＥＣＵの機能ブロック図である。
【図３】  点火時期の制御手順を示すフローチャート図である。
【図４】  ラフネス制御量の演算における、角速度変動の検出とラフネス制御ゲインの設定を示すフローチャート図である。
【図５】  ラフネス制御量の積分演算と、学習制御とを示すフローチャート図である。
【図６】  ４気筒４サイクルエンジンの各気筒の行程と、クランク角の変化に対するトルク及び角速度の変化を示す説明図である。
【図７】  燃焼圧と角速度変動との相関関係を示す説明図である。
【図８】  クランク角検出のための、被検出プレート及びクランク角センサの概略構成を示す図である。
【図９】  ノイズ的要素による角速度変動を示す図である。
【図１０】  検出した角速度のデータからエンジン回転の０．５次及びその整数倍の成分を除去する処理を行った後のデータを示す図である。
【図１１】  前記データからエンジン回転の０．５次より低い周波数成分を除去するハイパスフィルタとしての処理を行った後のデータを示す図である。
【図１２】  燃料の重質度合いに対応してラフネス制御ゲインを変更する手順を示すフローチャート図である。
【図１３】  前記ラフネス制御ゲインの変更によるラフネス制御量のシフトを示す説明図である。
【図１４】  ＩＳＣ制御の制御手順を示すフローチャート図である。
【図１５】  目標回転数に対応する目標充填効率を、通常運転時と昇温促進制御時とのそれぞれについて設定したマップの例を示す説明図である。
【図１６】  吸気充填効率の偏差に応じて吸入空気量を変更するためのＩＳＣバルブの制御量を設定したマップの例を示す説明図である。
【図１７】  点火時期を大幅に遅角させたときの、気筒内圧力のクランク角に対する変化特性を表したグラフである。
【図１８】  排気ガス温度及びＰｉ変動率の点火時期に対する変化特性を表したグラフである。
【図１９】  本発明の参考例２に係る図２相当図である。
【図２０】  参考例２に係る図３相当図である。
【図２１】  参考例２における、角速度変動の検出及び昇温促進制御量θRTDの演算を示すフローチャート図である。
【図２２】  参考例２における、初期の制御サイクルでの角速度変動の様子を示した説明図である。
【図２３】  本発明の実施形態に係る図２相当図である。
【図２４】  実施形態における、点火時期制御の前半の制御手順を示すフローチャート図である。
【図２５】  実施形態における、点火時期制御の後半の制御手順を示すフローチャート図である。
【図２６】  エンジン始動直後のエンジン回転数、点火時期、空燃比等の変化を相関づけて表したタイムチャート図である。
【図２７】  燃料噴射制御の制御手順を示すフローチャート図である。
【図２８】  Ｏ2 センサの出力特性を示す説明図である。
【図２９】  空燃比フィードバック補正値の演算手順を示すフローチャート図である。
【図３０】  空燃比フィードバック補正値の変更とＯ2 センサ出力との対応関係を示した説明図である。
【図３１】  空燃比フィードバック制御における制御ゲインの切替手順を示すフローチャート図である。
【図３２】  スワール弁の開閉制御の手順を示すフローチャート図である。
【図３３】  スワール弁作動マップの一例を示す説明図である。
【符号の説明】
１                エンジン
１４              スロットル弁
２０              バイパス通路（吸入空気量可変手段）
２１              ＩＳＣバルブ（吸入空気量可変手段）
２２              アイドルスイッチ（アイドル状態検出手段）
２５              排気通路
２６              Ｏ2センサ（空燃比センサ）
２７              触媒コンバータ
３６              触媒暖機判定部（触媒暖機判定手段）
３７              点火時期制御部（昇温促進制御手段）
３８              ラフネス検出部（ラフネス検出手段）
３９              点火時期補正制御部（燃焼制御手段）
４０              学習制御部（学習制御手段）
４１              ＩＳＣ制御部（アイドル制御手段、アイドルフィードバック吸気量制御手段）
４２              アイドルフィードバック点火時期制御部
５１              重質燃料判定部（重質度合い判定手段）
５２              抑制制御部（抑制制御手段）
５６              燃料噴射制御部（空燃比制御手段）
５７              始動判定部（始動判定手段）
５８              スワール弁制御部（燃焼制御手段）
５９              点火時期フィードバック制御量補正手段
６０              空燃比フィードバック制御量補正手段
【図１】
0003812154.tif 000002
【図２】
0003812154.tif 000003
【図３】
0003812154.tif 000004
【図４】
0003812154.tif 000005
【図５】
0003812154.tif 000006
【図６】
0003812154.tif 000007
【図７】
0003812154.tif 000008
【図８】
0003812154.tif 000009
【図９】
0003812154.tif 000010
【図１０】
0003812154.tif 000011
【図１１】
0003812154.tif 000012
【図１２】
0003812154.tif 000013
【図１３】
0003812154.tif 000014
【図１４】
0003812154.tif 000015
【図１５】
0003812154.tif 000016
【図１６】
0003812154.tif 000017
【図１７】
0003812154.tif 000018
【図１８】
0003812154.tif 000019
【図１９】
0003812154.tif 000020
【図２０】
0003812154.tif 000021
【図２１】
0003812154.tif 000022
【図２２】
0003812154.tif 000023
【図２３】
0003812154.tif 000024
【図２４】
0003812154.tif 000025
【図２５】
0003812154.tif 000026
【図２６】
0003812154.tif 000027
【図２７】
0003812154.tif 000028
【図２８】
0003812154.tif 000029
【図２９】
0003812154.tif 000030
【図３０】
0003812154.tif 000031
【図３１】
0003812154.tif 000032
【図３２】
0003812154.tif 000033
【図３３】
0003812154.tif 000034