(57)【特許請求の範囲】
【請求項１】
排気通路に触媒を備えるエンジンの制御装置において、
吸気量を初期状態にかつ点火時期を基本点火時期に保ったまま始動過程でアイドル時の目標回転速度よりも吹き上がる回転速度をアイドル時の目標回転速度に収束させるように点火時期のフィードバック制御を行う点火時期フィードバック制御手段と、
点火時期が遅角限界に達するまでの間、吸気量のフィードバック制御を停止する吸入空気量フィードバック制御停止手段と、
前記点火時期のフィードバック制御により点火時期が前記遅角限界に到達しても回転速度がアイドル時の目標回転速度より高い場合に、点火時期のフィードバック制御を停止して点火時期を遅角限界に固定し、代わって吸気量のフィードバック制御を行ってアイドル時の目標回転速度に収束させる吸気量フィードバック制御手段と
を備えることを特徴とするエンジンのアイドリング制御装置。
【請求項２】
点火時期のフィードバック制御を比例積分制御とし、遅角限界に達したとき比例積分制御を停止して点火時期を遅角限界に保持することを特徴とする請求項１に記載のエンジンのアイドリング制御装置。
【請求項３】
吸気量のフィードバック制御を積分制御とすることを特徴とする請求項１または２に記載のエンジンのアイドリング制御装置。
【請求項４】
点火時期の遅角限界はアイドル回転速度を維持できる安定限界に設定することを特徴とする請求項１から３までのいずれか一つに記載のエンジンのアイドリング制御装置。
【請求項５】
点火時期の遅角限界はアイドル時の目標空燃比に応じて設定される安定限界に設定することを特徴とする請求項１から３までのいずれか一つに記載のエンジンのアイドリング制御装置。
【請求項６】
点火時期のフィードバック制御を比例積分制御とし、始動過程で吹き上がる回転速度がアイドル時の目標回転速度に収束した後にエンジン回転速度がアイドル時の目標回転速度の許容値を下回ったとき積分分をキャンセルすることを特徴とする請求項１から５までのいずれか一つに記載のエンジンのアイドリング制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は始動からのエンジンのアイドリング制御装置、特に排気通路に設けた触媒の始動直後の早期暖機処理に関する。
【０００２】
【従来の技術】
始動過程における回転速度のオーバーシュート（吹き上がり）を低減するために、吸気量と点火時期とを同時に調節するアイドリング制御装置がある（特開２００１−７３８４８号公報参照）。
【０００３】
【発明が解決しようとする課題】
ところで、ガソリンエンジンにおいて排気通路に設けられる三元触媒は、排気の空燃比が理論空燃比を中心とする狭い範囲（ウインドウといわれる）にあるとき、ＮＯｘ、ＣＯ、ＨＣの各転化効率が最適になるのであるが、三元触媒は温度上昇して活性化してからでないと高い転化率が得られないので、冷間始動直後には三元触媒の入口温度を早期に上昇させる必要がある。
【０００４】
その一方で、上記従来装置のように始動過程において吹き上がる回転速度をアイドル時の目標回転速度へと収束させる必要がある。
【０００５】
これら２つの要求に鑑み本願の発明者は次の知見を得た。すなわち、その知見とは、低温始動時に排気温度を上昇させるには点火時期を遅角させることが有効であり、始動過程で吹き上がる回転速度がアイドル時の目標回転速度に収束するように点火時期のフィードバック制御を行えば点火時期が遅角側にずれてゆき、この点火時期の遅角で回転速度をアイドル時の目標回転速度へと低下させつつ排気温度を上昇させることができる、というものである。
【０００６】
ただし、これですべて解決というわけでなく、点火時期のフィードバック制御により点火時期が遅角してゆくにしても安定限界を超えてまで遅角したのでは、アイドル回転速度が不安定となり運転性に影響する。すなわち、点火時期が遅角限界（安定限界での点火時期）に達した段階で回転速度がアイドル時の目標回転速度より高くてまだ目標回転速度に収束していない場合はどうするのか、という技術的課題が残る。
【０００７】
そこで、これに対しては次のようにした。すなわち、点火時期が遅角限界に達した段階で回転速度がアイドル時の目標回転速度より高い場合には、今度は吸気量のフィードバック制御をおこなって吸気量を低減させることにより回転速度をアイドル時の目標回転速度へと収束させる。
【０００８】
このように本発明は、始動過程で吹き上がる回転速度がアイドル時の目標回転速度へと収束するように先に点火時期のフィードバック制御を行い、この点火時期フィードバック制御により点火時期が遅角限界に達しても回転速度がアイドル時の目標回転速度より高い場合に、吸気量のフィードバック制御を行って回転速度をアイドル時の目標回転速度へと収束させることにより、冷間始動時において触媒を早期に活性化しつつ始動過程で吹き上がる回転速度を速やかにアイドル時の目標回転速度へと収束させることを目的とする。
【０００９】
これに対して上記従来装置は、始動過程に生じる回転速度のオーバーシュートを低減することだけを解決課題とするものに過ぎず、冷間始動時における触媒の早期活性化については一切記載するところがないので、触媒入口温度を上昇させるための点火時期の遅角が不十分である。すなわち、従来装置では回転速度のオーバーシュート分を点火時期の遅角と吸気量の減量とで分け合って抑制する構成であるため、点火時期を遅角限界まで遅角させていないのに吸気量の減量で実回転速度がアイドル時の目標回転速度に収束してしまうと、点火時期はまだ遅角できる余裕があってもそれ以上は点火時期を遅角できなくなってしまい、排気温度の上昇が十分でなく触媒の活性化が遅れるのである。
【００１０】
なお、特開２００１−１７３５０６号公報には、始動過程で吹き上がる回転速度がピークを採った後に反転してアイドル時の目標回転速度を下まわった場合に、実回転速度をその目標回転速度へと収束させるため、まず吸気量のフィードバック制御を行い、吸気量のフィードバック量が上限値に達したら、吸気量のフィードバック量をその上限値に固定した状態で点火時期のフィードバック制御を行う技術が開示されている。当該技術は吸気量フィードバック制御と点火時期フィードバック制御の２段階制御である点で本発明と類似する。
【００１１】
しかしながら、当該技術は、フィードバック制御を行う順序が吸気量、点火時期の順序であり、この点で本発明とは全く逆であり、また当該技術は燃料性状レベルが誤って判定されることを解決課題としている点でも本発明と異なる。
【００１２】
さらに、当該技術は、始動過程で吹き上がる回転速度がピークを採った後に反転してアイドル時の目標回転速度を下まわった後を対象としているので、始動過程で吹き上がる回転速度がアイドル時の目標回転速度を下回る前を対象とする本発明とは制御時期も異なっている。
【００１３】
【課題を解決するための手段】
請求項１に記載の発明は、排気通路に触媒を備えるエンジンの制御装置において、吸気量を初期状態にかつ点火時期を基本点火時期に保ったまま始動過程でアイドル時の目標回転速度よりも吹き上がる回転速度をアイドル時の目標回転速度に収束させるように点火時期のフィードバック制御を行う点火時期フィードバック制御手段と、点火時期が遅角限界に達するまでの間、吸気量のフィードバック制御を停止する吸入空気量フィードバック制御停止手段と、前記点火時期のフィードバック制御により点火時期が遅角限界に到達しても回転速度がアイドル時の目標回転速度より高い場合に、点火時期のフィードバック制御を停止して点火時期を遅角限界に固定し、代わって吸気量のフィードバック制御を行ってアイドル時の目標回転速度に収束させる吸気量フィードバック制御手段とを備える。
【００１４】
【発明の効果】
請求項１に記載の発明によれば、吸気量を初期状態にかつ点火時期を基本点火時期に保ったまま始動過程でアイドル時の目標回転速度よりも噴き上がる回転速度をアイドル時の目標回転速度に収束させるため点火時期のフィードバック制御を行い、点火時期が遅角限界に達するまでの間、吸気量のフィードバック制御を停止すると、この点火時期のフィードバック制御により点火時期が遅角側にずれてゆき、これによって排気温度が上昇して触媒を早期に活性化できる。
【００１５】
また、点火時期のフィードバック制御により点火時期が遅角限界に到達した後は、点火時期を遅角限界に固定し、それ以上は点火時期を遅角させないので、アイドル回転速度が不安定とならず運転性に影響することがない。その一方で吸気量のフィードバック制御が行われると、回転速度がアイドル時の目標回転速度に収束する。
【００１６】
このように、請求項１に記載の発明によれば、冷間始動時において迅速に点火時期を遅角することが可能となり、これにより触媒の早期活性化と、始動過程で吹き上がる回転速度のアイドル時目標回転速度への速やかな収束とを両立させることができる。
【００１７】
【発明の実施の形態】
図１において、１はエンジン本体で、各気筒の吸気ポート３に燃料噴射弁４が設けられ、エンジンコントローラ２１からの空燃比制御信号により吸気ポート３に燃料を噴射供給する。この場合、燃焼室５に流入する空気と噴射燃料とから燃焼室５内に形成される混合気の空燃比が燃焼可能な空燃比域にあるように燃料噴射弁４からの噴射量が設定されている。
【００１８】
燃焼室５の天井には点火プラグ６が設けられ、エンジンコントローラ２１からの点火時期制御信号によりピストン８が圧縮上死点に到達する少し手前で点火コイル７の一次電流が遮断され点火プラグ６より火花が飛ぶ。この火花点火により、燃焼室５内の混合気が着火して高温の燃焼ガスとなり、このガス圧でピストン８が強く押し下げられ、ピストン８と連動するクランクシャフト９が回転する。
【００１９】
始動時にはスタータモータでクランクシャフト９をクランキングしながら燃料噴射弁４による燃料噴射と点火プラグ６による火花点火とを適切に行うと、クランクシャフト９の回転速度（＝エンジン回転速度）はオーバーシュート気味に上昇し（吹き上がり）、ピークをとった後反転してアイドル状態の回転速度へと落ち着く（図２最上段参照）。
【００２０】
一方、排気通路１５には三元触媒１６、１７を備える。このうち上流側の三元触媒１６は高い排気温度の得られるエンジン出口近くに取付けるため排気マニフォルドと一体に、また下流側の三元触媒１７は車両の床下位置に設けられている。これら三元触媒１６、１７はエンジンからの排気の空燃比が前述したウインドウにあるとき、ＮＯｘ、ＣＯ、ＨＣの転化効率が最適になるのであるが、三元触媒１６、１７は温度上昇して活性化してからでないと十分な転化率が得られないので、冷間始動直後には特に上流側の三元触媒１６の入口温度を早期に上昇させる必要がある。
【００２１】
こうした冷間始動直後の上流側三元触媒１６の早期昇温への要求を満たすと共に、始動からアイドル状態への移行時（始動過程）に生じる回転速度のオーバーシュートを抑制するため、本発明では、始動からのアイドル回転速度のフィードバック制御を行い、その際に点火時期のフィードバック制御と吸気量のフィードバック制御の２段階で制御する。すなわち、吸気量を初期状態に保ったまま実際の回転速度がアイドル時の目標回転速度（以下単に「目標回転速度」という。）へと収束するように点火時期のフィードバック制御を先に行い、この点火時期のフィードバック制御により点火時期が遅角限界に達した場合において実際の回転速度が目標回転速度より高いときには、点火時期のフィードバック制御を停止し、実際の回転速度が目標回転速度へと収束するように吸気量のフィードバック制御を行う。
【００２２】
これをさらに図２のモデル図を参照して説明すると、図２はエンジン回転速度Ｎｅ、点火時期ＡＤＶ、吸気量についてエンジン始動からの挙動を示している。
【００２３】
エンジン回転速度Ｎｅは、エンジンの始動と共に急激に上昇し目標回転速度Ｎｅｔを大きく超えてｔ１のタイミングでピークに達した後、下降に転じる。
【００２４】
この場合に、始動直後にＮｅがピークをとって下降を始めたタイミング（あるいは始動からの経過時間が一定値に達したタイミング）であるｔ２でＮｅをＮｅｔに収束させるための点火時期のフィードバック制御を開始する。つまり、その時々のＮｅとＮｅｔとの差（偏差△Ｎｅ）に応じて点火時期のフィードバック量ＡＤＶＱを算出し、これで基本点火時期ＡＤＶ０を補正して点火時期ＡＤＶ（＝ＡＤＶ０＋ＡＤＶＱ）を求める。ＮｅをＮｅｔへと低下させるには点火時期を遅角させてやれば良いので、点火時期ＡＤＶはｔ２のタイミングより遅角側に移動してゆく。
【００２５】
なお、ここでの点火時期のフィードバック制御は比例積分制御であり、従って上記のフィードバック量ＡＤＶＱは比例分ＰＡＤＶ（図２第３段目参照）と積分分ＩＡＤＶ（図２第４段目参照）の合計である。このため、点火時期ＡＤＶはｔ２のタイミングで比例分ＰＡＤＶによりステップ的に小さくなり、その後は積分分ＩＡＤＶにより一定のスピードで小さくなっている。
【００２６】
また、上記の基本点火時期ＡＤＶ０は冷却水温に応じた値であり、実際には始動からの水温上昇とともに変化する値であるが、簡単のため一定として扱っている（図２第５段目参照）。
【００２７】
ｔ２で点火時期フィードバック制御を開始した後、ｔ３で点火時期がリタードリミッタＲＬＭＴ（遅角限界）に達すると、このＲＬＭＴを超えて点火時期を遅角させることはできないので、点火時期フィードバック制御を停止する。
【００２８】
ここで、ＲＬＭＴを設けている理由を説明する。図３のように、横軸に空燃比を縦軸に点火時期を採ったとき、点火時期をこれ以上遅角させると燃焼の安定性が失われる限界、つまりアイドル回転速度が不安定になる限界を安定限界ラインとして引くことができるが（実線参照）、空燃比のバラツキ（例えば燃料噴射弁４の流量バラツキによる）を考慮すると実線で示す安定限界ラインより所定の幅だけ進角側にずらせて引いたライン（一点鎖線参照）を実際の安定限界ラインとしなければならない。従って、始動時の空燃比がわかっていれば、この始動時の空燃比より上に延ばした直線と一点鎖線で示す実際の安定限界ラインとが交わる点の点火時期を読みとれば、それがリタードリミッタＲＬＭＴである。ここでは、始動時の目標空燃比を理論空燃比（図では「ストイキ」で表示）としているので（理論空燃比より少しリッチでもかまわない）、同図よりＡ［°ＢＴＤＣ］の値がリタードリミッタＲＬＭＴとなる。
【００２９】
図２に戻り、点火時期がＲＬＭＴに到達したｔ３のタイミングではまだＮｅがＮｅｔよりずっと高くＮｅｔの許容範囲に収まっていないので、今度は吸気量のフィードバック制御を開始する。すなわち、ｔ３よりＮｅがＮｅｔへと低下するように吸気量を減らしてゆく。
【００３０】
ここで、ｔ３で点火時期フィードバック制御を停止した後は、点火時期をＲＬＭＴに固定する。これはｔ３以降も点火時期を限界まで遅角した状態に保って排気の昇温を継続するためである。
【００３１】
ｔ３からの吸気量の減量によりｔ４のタイミングでＮｅがＮｅｔの許容範囲に収まる。これでアイドル回転速度のフィードバック制御は目的を果たせたわけであるが、ここでのフィードバック制御は、上流側の三元触媒１６の早期活性化をも目的としているので、上流側の三元触媒１６の入口温度が活性化温度に達するまで継続する。すなわち、ｔ５以降も点火時期が遅角限界に保たれた状態となり、排気の昇温が継続される。
【００３２】
このように、始動からのアイドル回転速度のフィードバック制御を、吸気量は初期状態に固定したまま、まず点火時期の遅角から開始することで始動直後よりリタードリミッタにまで点火時期が十分に遅角され、これにより排温が上昇して上流側の三元触媒１５が早期に活性化する。
【００３３】
このような２段階のアイドル回転速度のフィードバック制御を行い、また上流側の三元触媒１５の活性化後には排気の空燃比がウインドウに収まるように空燃比のフィードバック制御を行うため、コントローラ２１には、ＰＯＳセンサ（ポジションセンサ）２２、ＰＨＡＳＥセンサ（フェーズセンサ）２３からの信号、エアフローメータ２４からの吸入空気流量の信号、水温センサ２５からのエンジン冷却水温の信号、アクセルセンサ２６からのアクセルペダル２７の開度信号、Ｏ2センサ２８からの排気中の酸素濃度の信号が入力されている。
【００３４】
また、吸気通路２にはモータ駆動のスロットル弁制御装置１０が設けられ、エンジンコントローラ２１からのスロットルモータ信号によりスロットル弁１１の駆動（吸気量の調整）が可能となっている。
【００３５】
次に、エンジンコントローラ２１で実行される始動からのアイドリング制御の内容を、以下のフローチャートにしたがって説明する。
【００３６】
まず図４はフィードバック開始フラグを設定するためのもので、一定時間毎（例えば１０ｍｓ毎）に実行する。ここで、フィードバック開始フラグはこのフラグ＝１のとき始動直後のアイドル回転速度のフィードバック制御の開始を指示するものである。
【００３７】
ステップ１では水温センサ２５からの冷却水温Ｔｗを読み込み、ステップ２でこれと暖機完了温度Ｔｄを比較する。ＴｗがＴｄ未満であるとき（エンジン暖機完了前）にはステップ３に進んでエンジン回転速度Ｎｅを読み込み、ステップ４でこれと目標回転速度Ｎｅｔを比較する。ここで、ＮｅはＰＯＳセンサ２２とＰＨＡＳＥセンサ２３からの２つの信号により検出されている。
【００３８】
Ｎｅｔはアイドル状態でエンジンが安定して回転し得る回転速度の目標値である。ＮｅｔはＴｗに応じＴｗが低くなるほど高くなる値で設定している。
【００３９】
ＮｅがＮｅｔを超えているとステップ５に進み、始動から一定時間が経過したかどうかをみる。一定時間は、図２において始動からｔ２まで経過するのに要する時間である。ＮｅがＮｅｔを超えた状態で始動から一定時間が経過していれば、ステップ６に進みフィードバック開始フラグＡＶＦＢ＝１とする（図２第２段目参照）。
【００４０】
一方、ＮｅがＮｅｔ以下にあるときと、ＮｅがＮｅｔを超えていても始動からの経過時間が一定時間を経過する前にあるときとはステップ７に進み、フィードバック開始フラグＡＶＦＢ＝０とする。
【００４１】
また、ＴｗがＴｄ以上であるときにはホットリスタート時、つまり上流側の三元触媒１６は活性状態にあると判断し、このときもステップ２よりステップ７に進んでＡＶＦＢ＝０とする。
【００４２】
図５、図６、図７は始動からの点火時期を演算するためのもので、各気筒の基準位置の信号に同期して実行する。
【００４３】
ここで、各気筒の基準位置は次のようにして得ている。すなわち、４気筒エンジンで説明すると、ＰＨＡＳＥセンサ２３は、排気側のカムスプロケットに１８０°毎に設けた凸部数（Ｎｏ．１気筒について１個、Ｎｏ．２気筒について２個、Ｎｏ．３気筒について３個、Ｎｏ．４気筒について４個）に応じたパルス信号（ＰＨＡＳＥ信号）を発生する。ＰＯＳセンサ２２は、クランクシャフトに取り付けられたシグナルプレートの歯に応じて１０°毎のパルス（ＰＯＳ信号）を発生する（シグナルプレートには一部に歯抜けがある）。これら２つのＰＨＡＳＥ信号、ＰＯＳ信号より各気筒の基準位置（例えば１１０°ＢＴＤＣ）を算出している。
【００４４】
ステップ１１では水温センサ２５からの水温Ｔｗを読み込み、このＴｗの値からステップ１２において基本点火時期ＡＤＶ０［°ＢＴＤＣ］を演算する。ＡＤＶ０の値はエンジン暖機完了前のエンジン状態に適した点火時期で、Ｔｗが低いほど進角側の値となっている。
【００４５】
ステップ１３ではフィードバック開始フラグをみる。フィードバック開始フラグＡＶＦＢ＝０であるときにはステップ１４に進みＡＤＶ０をそのまま点火時期ＡＤＶ［°ＢＴＤＣ］として設定する。
【００４６】
フィードバック開始フラグＡＶＦＢ＝１のときには点火時期フィードバック制御を行うためステップ１３よりステップ１５、１６に進んでエンジン回転速度Ｎｅを読み込み、目標回転速度Ｎｅｔからの偏差ΔＮｅを、
ΔＮｅ＝Ｎｅｔ−Ｎｅ…（１）
の式により計算する。
【００４７】
ステップ１７では収束フラグをみる。この収束フラグは、点火時期フィードバック制御中や後述する吸気量フィードバック制御中に、ＮｅがＮｅｔの許容範囲に収まったとき収束フラグ＝１となるフラグである。点火時期フィードバック制御を開始した直後は収束フラグ＝０であるので図６に進み、これに対して収束フラグ＝１となれば図７に進む。すなわち、図６はＮｅがＮｅｔの許容範囲に収束する前の制御を、これに対して図７はＮｅがＮｅｔの許容範囲に収束した後の制御を示している。
【００４８】
まず図６から説明すると、ステップ１８で偏差ΔＮｅの絶対値と許容値ε（＞０）を比較する。点火時期フィードバック制御を開始した直後はΔＮｅの絶対値がεを超えているので、ステップ１９に進みΔＮｅに基づいて、
ＰＡＤＶ＝ＫＰＡＤＶ×ΔＮｅ…（２）
ただし、ＫＰＡＤＶ：比例定数（正の値）、
の式により、フィードバック量のうちの比例分ＰＡＤＶ［°］を計算する。
【００４９】
ステップ２０では遅角限界到達フラグをみる。この遅角限界到達フラグは、点火時期がリタードリミッタＲＬＭＴ［°ＢＴＤＣ］に到達したとき遅角限界到達フラグ＝１となるフラグである。点火時期フィードバック制御を開始した直後は遅角限界到達フラグ＝０であるので、ステップ２１に進みΔＮｅに基づいて、
ＩＡＤＶ＝ＫＩＡＤＶ×ΔＮｅ＋ＩＡＤＶｚ…（３）
ただし、ＫＩＡＤＶ：積分定数（正の値）、
ＩＡＤＶｚ：ＩＡＤＶの前回値、
の式により、フィードバック量のうちの積分分ＩＡＤＶ［°］を計算する。なお、ＩＡＤＶの初期値はゼロである。
【００５０】
ステップ２２ではこの積分分ＩＡＤＶと上記の比例分ＰＡＤＶとを足し合わせた値をフィードバック量ＡＤＶＱ［°］として計算し、ステップ２３においてこのＡＤＶＱの値とＡＤＶ０−ＲＬＭＴとを比較する。
【００５１】
ここで、リタードリミッタＲＬＭＴは、図３で前述したように空燃比のバラツキを考慮した安定限界である。始動時の目標空燃比（＝理論空燃比）に対応した安定限界をリタードリミッタとすることで、アイドル運転性を悪化させることなく上流側の三元触媒１６の活性化に必要な遅角量を確保することが可能となる。
【００５２】
点火時期フィードバック制御は、ＮｅがＮｅｔへと収束するように点火時期をＡＤＶ０より遅角させてゆく制御であり、その遅角量の最大値がＡＤＶ０−ＲＬＭＴである。従って、ＡＤＶＱの値がＡＤＶ０−ＲＬＭＴ未満であるときにはまだ遅角可能であるのでステップ２４に進み、
ＡＤＶ＝ＡＤＶ０＋ＡＤＶＱ…（４）
の式により点火時期ＡＤＶを計算し、今回の処理を終了する。
【００５３】
ここで、点火時期フィードバック制御の開始時には図２に示したようにＮｅがＮｅｔより大きく上記（１）式よりΔＮｅは負の値となるため、ステップ２２のＡＤＶＱは負の値である。ＡＤＶ０の単位は［°ＢＴＤＣ］つまり圧縮上死点から進角側に計測したクランク角であるので、上記（４）式によりＡＤＶ０に負の値であるＡＤＶＱを加えることは、圧縮上死点から進角側に計測するクランク角が小さくなること、つまり点火時期が遅角側に補正されることを意味する。
【００５４】
次回よりステップ１８〜２２の操作を繰り返すと、やがてＡＤＶＱがＡＤＶ０−ＲＬＭＴ以上となる。このときには点火時期がＲＬＭＴに到達したと判断し、ステップ２３よりステップ２５に進んで遅角限界到達フラグ＝１とした後、ステップ２６で点火時期ＡＤＶを、
ＡＤＶ＝ＡＤＶ０＋ＩＡＤＶｚ＋ＰＡＤＶ…（５）
の式により計算して今回の処理を終了する。
【００５５】
（５）式でＩＡＤＶでなく、前回の値であるＩＡＤＶｚを採用するのは、点火時期がＲＬＭＴを超えて遅角側になることを避けるためである。
【００５６】
遅角限界到達フラグ＝１となったことより、次回にはステップ２０よりステップ２７に進み、このときにはＡＤＶがＲＬＭＴに到達したときのＩＡＤＶをそのまま保持し（ＩＡＤＶ＝ＩＡＤＶｚ）、点火時期ＡＤＶを、
ＡＤＶ＝ＡＤＶ０＋ＩＡＤＶ…（６）
の式により計算する。
【００５７】
点火時期がＲＬＭＴに到達した（遅角限界到達フラグ＝１となった）後は点火時期のフィードバック制御を停止し点火時期をＲＬＭＴに固定するが、代わって、後述するように、吸気量のフィードバック制御により吸気量が絞られるため、やがてΔＮｅの絶対値がε以内に落ち着く。このときには、ステップ１８よりステップ２９に進んで収束フラグ＝１とした後、ステップ２７、２８の操作を行って今回の処理を終了する。
【００５８】
収束フラグ＝１となったことより、次回は図５のステップ１７より図７に進む。
【００５９】
図７においてステップ３０では上流側三元触媒１６の活性化が完了したかどうかをみる。例えば三元触媒１６の入口や三元触媒１６に設けた温度センサ（図示しない）により検出される入口温度Ｔ１が三元触媒の活性温度Ｔｈ未満であれば上流側三元触媒１６の活性化が完了していないと判断し、ステップ３１以降に進む。
【００６０】
ステップ３１以降はＮｅがＮｅｔに収束した後、かつ上流側三元触媒１６の活性化完了前に何らかの原因でＮｅがＮｅｔより一時的に低下する事態が生じることがあり、これに対処する部分である。この事態は、図２最上段においてｔ５のタイミングより、Ｎｅが許容範囲の下限であるＮｅｔ−εを横切って低下しているのがそうである（一点鎖線参照）。
【００６１】
このときにも、一時低下したＮｅをＮｅｔへと戻してやる必要があるので、ステップ３１、３２、３３では上記のステップ１９、２１、２２と同様にして偏差ΔＮｅに基づき比例分ＰＡＤＶと積分分ＩＡＤＶを計算し、これらの合計をフィードバック量ＡＤＶＱとして求める。
【００６２】
ここで、ＮｅがＮｅｔ−εを横切って低下しているとき、ステップ３１のＰＡＤＶは図６ステップ１９のＰＡＤＶと相違して正の値である。図２最上段においてｔ５よりの一点鎖線で示したように、このときΔＮｅ（＝Ｎｅｔ−Ｎｅ）が正となるためである。またこのとき、図２第４段目に細実線で示したように、ステップ３２のＩＡＤＶは負の値からゼロに向けて近づいてゆく。
【００６３】
ステップ３４ではＮｅとＮｅｔ−εを比較する。これは、不意のＮｅの一時的低下をみる部分である。ＮｅがＮｅｔ−εを横切って低下していない（Ｎｅ≧Ｎｅｔ−ε）ときには、ステップ３６に進み点火時期ＡＤＶを後述する（７）式により計算して今回の処理を終了する。
ＮｅがＮｅｔ−ε未満のときには、積分部のキャセルを開始するためステップ３５に進む。
ステップ３５ではＡＤＶＱの値とＡＤＶ０−ＲＬＭＴを比較する。これは、不意のＮｅの一時的低下からの回復のため、点火時期をＲＬＭＴより進角側に進めていった場合に、点火時期がＡＤＶ０を超えてまで進角されるかどうかをみる部分である。点火時期がＡＤＶ０まで戻っていない（ＡＤＶＱ≦ＡＤＶ０−ＲＬＭＴ）ときには、ステップ３６に進み点火時期ＡＤＶを、
ＡＤＶ＝ＡＤＶ０＋ＡＤＶＱ…（７）
の式により計算して今回の処理を終了する。
【００６４】
ＮｅがＮｅｔに収束した後にＮｅが何かの拍子に低下したときにはＡＤＶＱが正の値となり、（７）式によりＡＤＶ０にこの正の値であるＡＤＶＱを加えることは点火時期が進角されることを意味する。
【００６５】
次回にはステップ３０〜３６の操作の繰り返しにより点火時期がＡＤＶ０に近づいてゆき、これによりＮｅが上昇してＮｅｔへと戻される。
【００６６】
この場合に、点火時期がＡＤＶ０に戻る前にＮｅが許容範囲の下限であるＮｅｔ−εを超えて許容範囲に収まればステップ３４、３５よりステップ３７に進むことはないのであるが、ＮｅがＮｅｔ−εに達する前に点火時期がＡＤＶ０を超えて進角側になった（ＡＤＶＱ＞ＡＤＶ−ＲＬＭＴ）ときには、ステップ３４、３５よりステップ３７に進んでＩＡＤＶ＝０とし、ＡＤＶＱを、
ＡＤＶＱ＝ＰＡＤＶ…（８）
として計算し直し、ステップ３６の操作を実行する。
【００６７】
ここで、点火時期がＡＤＶ０を超えて進角側になったとき、（８）式で示したように積分分ＩＡＤＶを除いてフィードバック量ＡＤＶＱを求めるようにしているのは次の理由による。
【００６８】
ＡＤＶ０はＭＢＴ（最大トルクの発生する最小点火時期）より余裕を持って遅角側に定めているため、図２第５段目に示したようにＡＤＶ０の上にＭＢＴがくる。そして、ＡＤＶ０を超えてからも比例分ＰＡＤＶと積分分ＩＡＤＶの合計で点火時期を進角させると、やがて点火時期がＭＢＴに近づいた付近でＩＡＤＶに起因して回転変動が生じアイドル運転性が悪くなる。図では回転変動は表していないが、これに代えて点火時期のハンチングで表している（図２第５段目のｔ６からの細実線参照）。
【００６９】
これに対して、ＮｅがＮｅｔ−ε未満かつ点火時期がＡＤＶ０を超えて進角側となったときＩＡＤＶを除く（ＩＡＤＶ＝０とする）ことによって（図２第４段目のｔ６からの一点鎖線参照）、点火時期がＭＢＴに近づいた場合のＩＡＤＶによるアイドル運転性の悪化を防止するのである（図２第５段目のｔ６からの一点鎖線参照）。
【００７０】
一方、上流側三元触媒１６の活性化が完了すると、フィードバック制御を終了するためステップ３０よりステップ３８に進みフィードバック開始フラグＡＶＦＢ＝０とする。これにより次回からは図５のステップ１５以降に進むことができない。
【００７１】
このようにして演算される点火時期ＡＤＶは点火レジスタに移され、現在のクランク角がこの点火時期ＡＤＶと一致したとき、点火コイル７の１次側を流れる電流が遮断される。
【００７２】
上記の点火時期フィードバック制御により点火時期がＲＬＭＴに到達し、この場合にまだＮｅがＮｅｔより高く、許容範囲の上限であるＮｅｔ＋εを下回って許容範囲に収まっていない場合に吸気量フィードバック制御を行うが、図８はこの吸気量フィードバック制御に用いる目標スロットル弁開度を演算するためのもので、これは一定時間毎（例えば１０ｍｓ毎）に実行する。
【００７３】
ステップ４１、４２ではフィードバック開始フラグＡＶＦＢと遅角限界到達フラグをみる。点火時期フィードバック制御の開始前（ＡＶＦＢ＝０）や、点火時期フィードバック制御が行われていても点火時期がＲＬＭＴに到達してないとき（遅角限界到達フラグ＝０）にはステップ４３に進んで目標吸気流量Ｑｔ［ｌ／ｍｉｎ］に吸気流量初期値Ｑ０［ｌ／ｍｉｎ］を入れる。ここで、Ｑ０は、クランキング開始時に吸気通路２を流れる空気の流量を定めるもので、同じエンジンであればこの値が大きいほどクランキング回転速度の上昇（吹き上がり）が急激となる。このためクランキング回転速度の上昇の程度をみてこれが最適となるようにＱ０を定めている。
【００７４】
ＡＶＦＢ＝１かつ遅角限界到達フラグ＝１のとき（点火時期フィードバック制御の途中で点火時期がＲＬＭＴに到達したとき）だけ、ステップ４４以降に進む。
【００７５】
ステップ４４、４５ではＮｅを読み込んでＮｅｔからの偏差ΔＮｅ（＝Ｎｅｔ−Ｎｅ）を計算し、このΔＮｅを用いて、
ＩＱＡ＝ＫＩＱ×ΔＮｅ＋ＩＱＡｚ…（９）
ただし、ＫＩＱ：積分定数（正の値）、
ＩＱＡｚ：ＩＱＡの前回値、
の式により積分分ＩＱＡを計算する。ＩＱＡの初期値はゼロである。
【００７６】
ステップ４７ではこのＩＱＡとＱ０とを用いて目標吸気流量Ｑｔを、
Ｑｔ＝Ｑ０＋ＩＱＡ…（１０）
の式により計算する。
【００７７】
点火時期がＲＬＭＴに到達してしまってこれ以上遅角できないときに、これに代わって吸気のフィードバック制御に移るので、ここでも偏差ΔＮｅは負の値であり、従って上記（９）式の積分分ＩＱＡは負の値となる。このため、（１０）式によりＱ０に負の値であるＩＱＡを加算することは、吸気流量を減少側に補正することを意味する。
【００７８】
ステップ４８ではこのようにして求めたＱｔを目標スロットル弁開口面積に換算し、さらにステップ４９においてこの目標スロットル弁開口面積が得られるように目標スロットル弁開度を演算する。
【００７９】
このようにして演算された目標スロットル弁開度はスロットルモータへの制御量に変換され、スロットルモータの駆動回路に与えられる。エンジンコントローラ２１にはスロットルセンサ２９により検出される実際のスロットル弁開度が入力されており、この実際のスロットル弁開度が目標スロットル弁開度と一致するようにスロットルモータを制御する。
【００８０】
ここで、図５のステップ１５、１６、１７、図６のステップ１８、１９、２１、２２、２４、２９が、請求項１に記載の点火時期フィードバック制御手段の機能を、図６のステップ２０、２３、２５、２６、２７、２８及び図８のステップ４１、４２、４４〜４９が、請求項１に記載の吸気量フィードバック制御手段の機能を果たす部分である。
【００８１】
ここで、本実施形態の作用効果を図２を参照しながら説明する。
【００８２】
本実施形態（請求項１に記載の発明）によれば、始動過程で噴き上がるＮｅを目標回転速度Ｎｅへと収束させるためｔ２よりフィードバック制御が開始される。この場合に、点火時期のフィードバック制御が行われ、この点火時期のフィードバック制御により点火時期が遅角側にずれてゆき（図２第５段目参照参照）、これによって排気温度が上昇して上流側三元触媒１６の温度が上昇する。
【００８３】
また、点火時期のフィードバック制御により点火時期が遅角限界であるＲＬＭＴに到達した後は、点火時期のフィードバック制御が停止され、点火時期がそれ以上遅角されることはないので、アイドル回転速度が不安定とならず運転性に影響することがない。
【００８４】
その一方でｔ３より吸気量のフィードバック制御が行われると、ｔ５でＮｅがＮｅｔに収束する。
【００８５】
ｔ３からの点火時期のフィードバック制御の停止後には点火時期が遅角限界に保たれることから（請求項１、２に記載の発明）、排気の昇温が継続され上流側三元触媒１６の温度が上昇する。この点火時期の遅角限界への維持はＮｅがＮｅｔの許容範囲に収まった後も続くのであり、これにより排気が上昇しやがて入口側三元触媒１６が活性化しうる温度にまで達する（図９最下段の実線参照）。
【００８６】
このように、本実施形態によれば、冷間始動時に点火時期のフィードバック制御から始めることで迅速に点火時期を遅角することが可能となり、これにより触媒の早期活性化と、始動過程で吹き上がる回転速度のＮｅｔへの速やかな収束とを両立させることができる。
【００８７】
また、始動過程で吹き上がる回転速度がＮｅｔに収束した後で上流側三元触媒１６の活性化が完了する前に、何らかの拍子にＮｅが一時的に低下することがことがあり、このときにも点火時期のフィードバック制御が行われ、このフィードバック制御により点火時期が進角してＡＤＶ０を超えた場合にも、積分分を加えていると、ＭＢＴ付近での積分分による回転変動が生じて運転性が悪化するのであるが、本実施形態（請求項８に記載の発明）では、ＮｅがＮｅｔに収束した後にＮｅがＮｅｔ−εを下回ったとき積分分ＩＡＤＶのキャンセルを開始するようにしたので、低下したＮｅをＮｅｔに戻すことに伴い点火時期がＭＢＴに近づいた場合の積分分による運転性悪化を防止することができる。
【００８８】
実施形態は、点火時期のフィードバック制御を比例積分制御で行うものであるが、これに対して比例制御で行うことが考え得るが（参照例とする）、この場合には、本実施形態の場合より排気温度を上昇させることができない。
【００８９】
これを図９を用いて説明すると、参照例によればｔ２からのフィードバック制御の開始時に比例分により点火時期をステップ的にリタードリミットＲＬＭＴへと遅角させることができる（図９第３段目破線参照）。
【００９０】
しかしながら、参照例によればその後にＮｅがＮｅｔに近づくほど偏差△Ｎｅが小さくなり、これによりＰＡＤＶも小さくなって点火時期がＡＤＶ０へと戻っていってしまう。すなわち、参照例のようにＰＡＤＶのみをＡＤＶＱとする場合には点火時期の遅角量が不足し、本実施形態の場合より排気温度を上昇させることができないのである（図９最下段の破線参照）。
【００９１】
このように、点火時期のフィードバック制御を比例制御で行う場合には、ＮｅがＮｅｔに近づいていくにつれて点火時期の進角側へのシフト量が増し基本点火時期ＡＤＶ０に戻り上流側三元触媒１６の早期活性化に不利となってしまうのに対して、本実施形態（請求項２に記載の発明）では点火時期のフィードバック制御を比例積分制御とし、遅角限界に達したら比例積分制御を停止して点火時期を遅角限界に保持するので、こうした不利がない。
【００９２】
また、ＰＡＤＶのみで比例定数ＫＰＡＤＶ（ゲイン）を大きくすることで、比例積分制御の場合と同様の動作を行わせることは可能であるが、運転性の悪化を招く。
【図面の簡単な説明】
【図１】第１実施形態の制御システム図。
【図２】エンジン始動からの回転速度、点火時期、吸気量の挙動を示す波形図。
【図３】安定度限界の特性図。
【図４】フィードバック開始フラグの設定を説明するためのフローチャート。
【図５】始動からの点火時期の演算を説明するためのフローチャート。
【図６】始動からの点火時期の演算を説明するためのフローチャート。
【図７】始動からの点火時期の演算を説明するためのフローチャート。
【図８】吸気量フィードバック制御における目標スロットル弁開度の演算を説明するためのフローチャート。
【図９】実施形態と参照例の作用を示す波形図。
【符号の説明】
４  燃料噴射弁
６  点火プラグ
１０  スロットル弁制御装置
１５  排気通路
１６  上流側三元触媒
２１  エンジンコントローラ
２２  ＰＯＳセンサ
２３  ＰＨＡＳＥセンサ
【図１】
0004013594.tif 000002
【図２】
0004013594.tif 000003
【図３】
0004013594.tif 000004
【図４】
0004013594.tif 000005
【図５】
0004013594.tif 000006
【図６】
0004013594.tif 000007
【図７】
0004013594.tif 000008
【図８】
0004013594.tif 000009
【図９】
0004013594.tif 000010