(57)【要約】【課題】空燃比フィードバック制御が開始された場合、回転変動に応じた燃料補正量演算を停止し、所定値まで収束させる収束加算値が空燃比フィードバック制御に影響を与える可能性がある。また、車両が走り出した場合、加速増量を適切な値にする必要がある。【解決手段】エンジン始動時の回転変動に応じて燃料量を増量または減量して補正する場合、回転変動を検出するための条件がはずれた場合、燃料増量を所定の増量値に設定する。運転状態に応じて収束加算値を選択して空燃比フィードバック制御と両立を図る。【選択図】図３
2009167894.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の排気管に設けられた空燃比センサの出力信号に基づいて空燃比が所定の空燃比になるように燃料噴射弁による燃料噴射量を制御するフィードバック制御モードと、エンジン回転数の測定値より爆発行程毎のエンジン回転数の差分を計測し、当該エンジン回転数差分に応じた補正量をもって燃料噴射弁による燃料噴射量を制御してエンジン回転変動を抑制する制御を行うエンジン回転数制御モードの二つのエンジン制御モードを使い分けるエンジン制御装置であって、
機関始動後から空燃比フィードバック制御が開始するまではエンジン回転数制御モードによる燃料噴射量制御を行い、空燃比フィードバック制御が開始された時点から前記エンジン回転数制御モードにおける補正量を空燃比フィードバック制御の初期値に移し替えるか、あるいは所定値に収束させることを特徴とするエンジン制御装置。
【請求項２】
空燃比フィードバック制御開始後に、空燃比フィードバック制御がオープン制御状態となった場合には、前記エンジン回転数制御モードにおける補正量を所定値に設定することを特徴とする請求項１に記載のエンジン制御装置。
【請求項３】
エンジン冷却水の温度を検出する水温センサを備え、前記水温センサにより検出される水温が所定の範囲内にある時と、当該水温が所定の範囲外となった時とで、前記エンジン回転数制御モードにおける補正量を異なる値に設定することを特徴とする請求項１又は２に記載のエンジン制御装置。
【請求項４】
エンジン始動後の経過時またはエンジン完爆後の点火回数に基づいて始動後増量を設定する手段を備え、前記水温対応の前記補正量を、始動後増量の減少分を相殺する量に設定することを特徴とする請求項３に記載のエンジン制御装置。
【請求項５】
空燃比フィードバック制御開始時に前記補正量の収束値を空燃比フィードバック制御の積分分に比例した値とすることを特徴とする請求項１から４の何れか一項に記載のエンジン制御装置。
【請求項６】
車両が停止状態から走行を開始したとき、前記補正量を増量することを特徴とする請求項１から５の何れか一項に記載のエンジン制御装置。
【請求項７】
車速センサにより検出される車速が所定のしきい値を越えるまでと、車速が所定のしきい値を超えた場合とで、前記補正量をことなる値に設定することを特徴とする請求項６に記載のエンジン制御装置。
【請求項８】
車速が所定のしきい値を超えるまでは、エンジン回転数と車速に応じて前記エンジン回転数制御モードを行う回転変動検出しきい値を設定することを特徴とする請求項６又は７に記載のエンジン制御装置。
【請求項９】
完爆後の始動後増量を重質ガソリン対応と軽質ガソリン対応の２種類の始動後増量を選択し、完爆直後は軽質ガソリン用の始動後増量を選択し、その後のエンジン回転数の上昇が所定の状態に達した場合に重質ガソリン用の始動後増量に切り替えること特徴とする請求項１から８の何れか一項に記載のエンジン制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の燃料噴射量を制御するエンジン制御装置に係り、特に、空燃比のフィードバック制御と、エンジン回転変動を抑制する制御を行うエンジン制御装置に関する。
【背景技術】
【０００２】
エンジン始動時に必要な燃料量は、吸気管の温度に応じた気化率を考慮して、低温になるほど燃料噴射量を増やす、始動時燃料増量が行われている。燃料気化率は温度だけでなく、燃料に含まれる揮発成分に依存するので、気化しやすい成分を多く含む軽質燃料と、比較的揮発成分が少ない重質燃料が市場では使われている。こうした燃料の揮発性の違いが燃料性状の差として現れる（たとえば、特許文献１参照）。
【０００３】
海外市場では特に、市場での燃料性状差が大きいため、市場での最悪の重質燃料に合わせた始動時燃料を設定して、始動性を確保しているため、燃料が軽質燃料の場合には燃焼空燃比がリッチとなってＨＣ成分が多く排出されてしまう。
【０００４】
また、燃料を噴射する燃料噴射弁の製造ばらつきや燃料圧力レギュレータの圧力ばらつきのため、所定の燃料噴射パルスを燃料噴射弁に与えても、実際に吸気通路に噴射される燃料が機関ごとにばらつきが生じる。
【０００５】
このため、燃料噴射量のばらつきの下限値を考慮して、多めに燃料噴射パルス幅を設定する必要がある。この追加補正分は、燃料噴射量のばらつき上限にある内燃機関では、燃焼空燃比がリッチとなるので、ＨＣ成分が多く排出されてしまう。
【０００６】
その他、内燃機関を構成する部品ばらつきとして、サージタンクから吸気管への気筒毎の分配ばらつきや気筒ごとの圧縮比のばらつきを考慮して、最悪のばらつきでも始動性を確保しているための増量補正を含んだ始動後増量が行われている。
【０００７】
このため、燃料噴射弁のばらつきの下限値と気筒ごとの空気分配ばらつきが最大となる組み合わせとなって、空燃比がリーンとなる気筒では、発生するトルクが減少するため、エンジン回転変動を生じやすい。エンジン回転変動を抑制するために、さらに空燃比をリッチ化してしまう問題があった。
【０００８】
さらに、排気ガスレベルをストイキに近づけるように、空燃比フィードバック制御を早く開始することが要求されているが、エンジン始動直後は始動後増量があるため、排気ガスレベルをリッチからストイキに戻すための時間がかかる。
【０００９】
【特許文献１】特開２００７−１９８１７６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
空燃比フィードバック制御が開始されるまで、エンジン回転変動を検出し、検出されたエンジン回転変動に応じて燃料補正量を補正し、その後に空燃比フィードバック制御が開始された場合には、燃料補正量を徐々に所定値まで収束させて本来の空燃比フィードバック制御量のみで排気ガスレベルをストイキにする必要がある。
【００１１】
一方、水温上昇や車両が走行を始めた場合は、運転性を確保するために燃料補正量をできるだけリッチ側に収束させる必要がある。
【００１２】
このため、空燃比フィードバック制御が開始された場合の燃料補正量の収束動作と、それ以外の場合に収束させる特性を切り替える必要がある。
【００１３】
また、低水温状態のアイドル放置中に車両が走り出すと、加速増量が不適切な値の場合には、加速時のヘジテーションが発生する。このため、加速増量を増やすと、ＨＣ排出量が増えてしまい、排気レベルが悪化する可能性がある。
【００１４】
本発明は、前記課題に鑑みてなされたものであって、その目的とするところは、燃料補正量の収束動作を運転条件に応じて設定し、運転性を確保すること、加速増量を適切な値としながら運転性を確保することと、排気ガス中のＨＣ成分抑制を両立させるエンジン制御装置を提供することにある。
【課題を解決するための手段】
【００１５】
前記目的を達成するべく、本発明によるエンジン制御装置は、内燃機関の排気管に設けられた空燃比センサの出力信号に基づいて空燃比が所定の空燃比になるように燃料噴射弁による燃料噴射量を制御するフィードバック制御モードと、エンジン回転数の測定値より爆発行程毎のエンジン回転数の差分を計測し、当該エンジン回転数差分に応じた補正量をもって燃料噴射弁による燃料噴射量を制御してエンジン回転変動を抑制する制御を行うエンジン回転数制御モードの二つのエンジン制御モードを使い分けるエンジン制御装置であって、機関始動後から空燃比フィードバック制御が開始するまではエンジン回転数制御モードによる燃料噴射量制御を行い、空燃比フィードバック制御が開始された時点から前記エンジン回転数制御モードにおける補正量を空燃比フィードバック制御の初期値に移し替えるか、あるいは所定値に収束させる。
【発明の効果】
【００１６】
本発明によれば、始動性を確保することと、排気ガス中のＨＣ成分抑制を両立できる。
【発明を実施するための最良の形態】
【００１７】
本発明のエンジン制御装置の実施形態を図面に基づいて詳細に説明する。
【００１８】
図１は、本発明によるエンジン制御装置を適用されるエンジンシステムの一つの実施形態を示したものである。
【００１９】
図１において、内燃機関１は、各気筒毎に、燃料噴射弁７と、点火プラグ８を有する。
【００２０】
燃料噴射弁７は、所定クランク角度にてインテークマニホールド６内に燃料を噴射する。この燃料は、空気と混合され、混合気として吸気弁１５の開弁によって燃焼室１６内に吸入される。
【００２１】
内燃機関１の吸気側には、エアクリーナ９、吸入空気量を計測するエアフローセンサ２スロットルバルブ３、システム構成によっては、必要に応じて吸気管内の圧力を測定する吸気管圧力センサ６２（図２参照）、吸気温度センサが設置される。
【００２２】
運転者の加速要求値を検出するため、アクセルペダル（図示省略）の踏込量を検出するアクセルペダルセンサ６１（図２参照）を用いる構成も可能である。
【００２３】
スロットルバルブ３は内燃機関１の燃焼室１６への吸入空気量を調節するものであり、スロットルバルブ３の制御には、アクセルペダルとスロットルバルブ３とをワイヤでリンクしたメカニカルスロットル方式と、アクセルペダルセンサの出力信号に応じてスロットル開度を制御する電子制御スロットル方式とがある。電子制御スロットル方式のスロットル開度制御は、運転者のアクセルペダルの操作量とエンジン制御量とに基づいてスロットル開度をスロットルバイワイヤ方式で制御する。
【００２４】
電子制御スロットル装置は、スロットルバルブ３と、スロットルバルブ３を回転駆動する電動モータ１９と、スロットルバルブ３の開度を検出するスロットル開度センサ２０とにより構成される。エンジン制御装置５０は、運転者によって操作されるアクセルペダルの踏込量とエンジン制御量に応じて、目標スロットル開度を演算する。エンジン制御装置５０から電子制御スロットル装置に目標スロットル開度を示す制御指令信号が出力され、スロットル制御装置は、スロットル開度センサ２０によって検出したスロットル開度が目標スロットル開度となるように制御する。
【００２５】
スロットルバルブ３をバイバスするＩＳＣ通路４が設けられており、ＩＳＣ通路４にはアイドル速度を制御するためのＩＳＣ弁５が設置されている。
【００２６】
エンジン制御装置５０の点火時期制御のもとに、適切なクランク角度で点火プラグ８に高電圧が印加されることにより、点火プラグ８は高電圧の放電によって火花を生じる。これにより、燃焼室１６の燃料の点火が行われ、燃焼室１６の燃料が爆発燃焼する。
【００２７】
内燃機関１のクランク軸１７の回転角であるクランク角度は、クランク角度センサ１４によって検出される。エンジン制御装置５０は、クランク角センサ１４が出力するパルス信号の時間間隔または所定時間内に発生するパルス数よりエンジン回転数を演算する。また、クランク角度の特定の位置を示すカム角センサ１８を併用して気筒判別がなされる。
【００２８】
内燃機関１には冷却水温度を検出する水温センサ１３が取り付けられている。排気管１０には、排気ガスの酸素濃度あるいは酸素の有無を検出する空燃比センサ１２、排気ガス浄化用の触媒コンバータ１１が取り付けられている。
【００２９】
燃焼室１６への吸入空気の制御と、排気管１０への排気の制御は、それぞれ吸気弁制御機構と排気弁制御機構によって行われる。吸気弁制御機構、排気弁制御機構は、クランク角度に応じて、開弁タイミングと閉弁タイミングを制御し、吸気弁のリフト量も制御する。
【００３０】
内燃機関１に動力出力側（クランク軸１７）に接続される変速機（図示省略）のギア比またはギアポジションを検出するギアセンサ（図示省略）が設けられる。変速機が自動変速機の場合には、ギアセンサは、ギア位置がパーキングまたはニュートラル位置にあるか、それ以外の位置にあるかも検出する。
【００３１】
なお、車両の運転状態を検出するために、車輪の回転数を検出する車速センサ６３（図２参照）や、ステアリングホイールの操作角度を検出するステアリングセンサ、ブレーキペダルの操作量を検出するブレーキセンサや、各車輪ごとの車速とブレーキ圧を制御する車体制御装置、外気温センサが設置される。
【００３２】
エンジン制御装置５０は、図２に示されているように、マイクロコンピュータ５１による演算部を含む電子制御式のものであり、アナログ入力回路５２、パルス入力回路５３、デジタル入力回路５４、デジタル出力回路５５、タイマ設定出力回路５６、通信回路５７を有する。
【００３３】
マイクロコンピュータ５１は、ＣＰＵ５１Ａ、ＲＯＭ５１Ｂ、ＲＡＭ５１Ｃ、外部記憶部（ＥＥＰＲＯＭ）等に構成されている。
【００３４】
エンジン制御装置５０は、アナログ入力回路５２に、エアフローセンサ２の吸入空気量検出信号、アクセルペダルセンサのアクセルペダル踏込量信号、吸気管圧力センサ６２の吸気管圧力検出信号、水温センサ１３の水温検出信号、バッテリ電圧を入力し、パルス入力回路５３に、クランク角センサ１４のクランク角検出信号、カム角センサ１８のカム角検出信号、車速センサ６３の車輪回転数検出信号を入力し、デジタル入力回路５４に、イグニッションスイッチ６４、ブレーキペダルスイッチ６５やその他の電気負荷の投入状態を検出する電気負荷スイッチ６６のオン−オフ信号、変速機のギア比情報またはギアポジション情報等を入力とする。
【００３５】
エンジン制御装置５０は、タイマ設定出力回路５６より燃料噴射弁７の駆動パルス、点火時期制御の点火信号パルスを行い、その他、電子制御スロットル装置の目標開度出力、ＳＣ弁５の目標開度出力、電動過給器の目標回転数出力、電動過給器のバイパス弁制御出力等を行う。さらに、エンジン制御装置５０は、各入力信号や出力信号の診断結果や内部データのモニタ出力等を通信回路５７に接続されたスキャンツール５８に対して行う。
【００３６】
エンジン制御装置５０は、燃料噴射量制御モードとして、フィードバック制御モードと、エンジン回転数制御モードとを有する。
【００３７】
フィードバック制御モードでは、空燃比センサ１２の出力信号に基づいて空燃比が所定の空燃比、例えば、ストイキ空燃比になるように、燃料噴射弁７による燃料噴射量をフィードバック制御する。
【００３８】
次に、エンジン制御装置５０によるエンジン回転数制御モードの実施形態を、図３を参照して説明する。
【００３９】
エンジン制御装置５０は、内燃機関１の燃焼に関係するクランク角度の経過時間を測定する経過時間測定部７０を有する。経過時間測定部７０は、クランク角度ウィンドウ用カウンタ７１と、ウィンドウ内経過時間計測部７２と、クランク角検出誤差データテーブル７３と、経過時間補正後ｄＴＩＭＥ部７４とを有し、クランク角センサ１４、カム角センサ１８のセンサ信号、ＣＰＵ５１Ａのクロック信号、気筒カウンタ６９の気筒カウント値を入力し、カム角センサ１８の出力パルスが発生してから、所定の遅延角度を起点として、内燃機関１の膨張行程を含むようにクランク角センサ１４の出力パルスをカウントし、カウンタ値が所定の値に達した時までの経過時間を計測する。
【００４０】
クランク角センサ１４のクランク角度検出プレートの加工誤差や取付誤差、さらには、内燃機関１のクランク軸１７の製造誤差が重なり、内燃機関１が一定回転数で運転されていても、上述の経過時間（クランク角センサ１４の出力パルスのカウンタ値が所定の値に達するまでの経過時間）には誤差が生じる。
【００４１】
このことに対して、内燃機関１の燃料カット中における所定クランク角度間の経過時間を測定し、クランク角度検出プレートの加工誤差やクランク軸１７の製造誤差を含むクランク角検出誤差を気筒毎に演算する。
【００４２】
ここでは、内燃機関１が定常回転数で運転されている場合の１爆発行程毎に爆発回数をカウントすると共に所定のクランク角度間の経過時間を測定する。当該経過時間を測定する毎に、該当気筒毎に前記クランク角度検出誤差を経過時間に乗じて経過時間を補正し、気筒毎に補正された経過時間をｄＴＩＭＥとする。
【００４３】
１次微分演算部７５は、経過時間測定部７０より経過時間ｄＴＩＭＥを示す信号を入力すると共にバッファ７６より１爆発行程前の経過時間ｄＴＩＭＥｚを示す信号を入力して両信号値の差分演算を行い、これを１次微分値ＤｄＴＩＭＥとする。これは、爆発行程毎のエンジン回転数の差分に相当するパラメータである。
ＤｄＴＩＭＥ  ＝  ｄＴＩＭＥ−ｄＴＩＭＥｚ
【００４４】
２次微分演算部７７は、１次微分演算部７５より１次微分値ＤｄＴＩＭＥを示す信号を入力すると共にバッファ７８より１爆発前の１次微分値ＤｄＴＩＭＥｚを示す信号を入力して両信号値の差分演算を行い、これを２次微分値ＤＤｄＴＩＭＥとする。これも、爆発行程毎のエンジン回転数の差分に相当するパラメータである。
ＤＤｄＴＩＭＥ  ＝  ＤｄＴＩＭＥ−ＤｄＴＩＭＥｚ
【００４５】
１次微分値ＤｄＴＩＭＥｚは、１次微分値比較部７９によって１次の回転変動検出しきい値ＴＳｈｆと比較される。１次微分値ＤｄＴＩＭＥｚがしきい値ＴＳｈｆを超えた時には、補正要否判定部８０において、回転変動が生じたことを示すフラグを立てることが行われ、当該フラグは燃料補正量演算部８３へ送られる。これは、爆発行程毎のエンジン回転数の差分である。
【００４６】
２次微分値ＤＤｄＴＩＭＥｚは、２次微分値比較部８１によって２次の回転変動検出しきい値ＴＳｈｓと比較される。２次微分値ＤＤｄＴＩＭＥｚがしきい値ＴＳｈｓを超えた時には、補正要否判定部８２において、回転変動が生じたことを示すフラグを立てることが行われ、当該フラグは燃料補正量演算部８３へ送られる。
【００４７】
しきい値ＴＳｈｆ、ＴＳｈｓは、図４に示されているように、水温センサ１３により検出される水温、エンジン始動後経過時間、始動後の点火回数、点火時期、電気負荷や変速機の状態、車速−回転数閾値等のパラメータに応じて適正値に設定される。
【００４８】
アイドル回転数を維持するための点火時期による回転数補正が入るため、各気筒ごとの瞬時の点火時期は一定とならない。そこで、本実施形態では、移動平均フィルタによって点火時期の時間平均値または加重平均値を求めて、点火時期の平均値とし、点火時期の平均値に応じて、しきい値を補正する。
【００４９】
燃料補正量演算部８３は、エンジン回転変動が起きた時の１次微分値としきい値ＴＳｈｆとの差分をｐＤＤとして、過去２回の差分を合わせて、ｐＤＤ［０］、ｐＤＤ［１］、ｐＤＤ［２］とする。また、エンジン回転変動が起きた時の２次微分値としきい値ＴＳｈｓとの差分をｐＤＤＤとして、過去２回の差分を合わせて、ｄＤＤＤ［０］、ｄＤＤＤ［１］、ｄＤＤＤ［２］とする。
そして、燃料補正量演算部８３は、過去２回分を、それぞれ加算してエンジン回転変動の大きさｐＤＤＡＬＬ、ｐＤＤＤＡＬＬを算出する。
ｐＤＤＡＬＬ  ＝  ｐＤＤ［０］＋ｐＤＤ［１］＋ｐＤＤ［２］
ｐＤＤＤＡＬＬ＝  ｐＤＤＤ［０］＋ｐＤＤＤ［１］＋ｐＤＤＤ［２］
【００５０】
燃料補正量演算部８３は、このようにして求められたエンジン回転変動の大きさｐＤＤＡＬＬ、ｐＤＤＤＡＬＬに基づいて、それぞれ、あらかじめ設定したテーブル値から検索した補正増量値を求める。ここでは、１次微分値の補正増量値と２次微分値の補正増量値の大きい方を選択して、過去の補正量に加算する。
【００５１】
回転変動検出は常時行っているので、エンジン回転変動が起きなくなるまで増量することができ、エンジン始動後の回転変動を抑える効果が高い。
【００５２】
補正値の上限ＫＴＩＨＯＳＡＨは、重質ガソリンを使用した場合の最大の始動後増量値ＫＡＳＢＳと、軽質ガソリンを使用した場合の始動後増量値ＫＡＳＲＢとの差分をＨＯＳＡＨとし、差分ＨＯＳＡＨが負の場合（重質ガソリン用の始動後増量値ＫＡＳＢＳ＜軽質ガソリン用始動後増量値ＫＡＳＲＢ）には、差分ＨＯＳＡＨを０とする。
【００５３】
この動作により、エンジン回転変動を検出して補正増量値が大きくなっても、過大な補正量が燃料噴射量に補正が加算されることがない。また、複数の始動後増量値の差分をとるので、補正増量値の設定を適合する必要がなく、適合が簡略化できる効果がある。
【００５４】
始動後増量値ＫＡＳＢＳ、ＫＡＳＲＢは、図５（ａ）に示されているように、始動後時間に応じて変化する。この始動後時間に応じて変化する軽質ガソリン用始動後増量値ＫＡＳＲＢと重質ガソリン用始動後増量値ＫＡＳＢＳの差分を燃料補正量の上限値ＫＴＩＨＯＳＡＨとしている。よって上限値ＫＴＩＨＯＳＡＨは、図５（ｂ）に示されているように、ＫＴＩＨＯＳＡＨ＝ＫＡＳＢＳ−ＫＡＳＲＢで求められる。ただし、ＫＴＩＨＯＳＡＨ≧０とする。
【００５５】
燃料補正量ＫＴＩＨＯＳと軽質ガソリン用始動後増量設定値ＫＡＳＲＢの和が噴射弁７の噴射量演算に乗算されるので、和の最大値は重質ガソリン用始動後増量設定値ＫＡＳＢＳまでとなる。
【００５６】
図６に示されているように、エンジン回転変動がしきい値以下であれば、エンジン回転数とＩＳＣ制御の目標回転数と差分に応じて燃料増量（補正量）を徐々に減衰させ、エンジン回転変動を検出すれば、直後に燃料増量を行う。
【００５７】
すなわち、１次微分値ＤｄＴＩＭＥまたは２次微分値ＤＤｄＴＩＭＥがそれぞれしきい値を超えたとき、燃料増量フラグを立てる。
【００５８】
１次微分値ＤｄＴＩＭＥとしきい値ＴＳｈｆとの差分ｐＤＤ、または２次微分値ＤＤｄＴＩＭＥとしきい値ＴＳｈｓとの差分ｐＤＤＤに基づいて、あらかじめ設定したテーブル値から燃料増量補正量を検索して、燃料増量に燃料増量補正量を加算する。
【００５９】
エンジン回転変動がしきい値以下であれば、ＩＳＣ目標回転数と実際のエンジン回転数の差に応じて、燃料増量をゼロになるまで所定値を１爆発毎にステップ的に加算していく。
【００６０】
エンジン始動は始動性を考慮して重質ガソリンを使った場合の燃料噴射量で噴射する。その後、エンジン回転数が吹き上がってＩＳＣ制御の目標回転数を上回った後、所定の爆発回数経過後、補正を許可する。
【００６１】
エンジン回転数制御モードの補正処理を実行するには、膨張行程を含む所定のクランク角度を通過する経過時間測定と、該当気筒に対応したクランク角度検出誤差が確定した状態で行う。
【００６２】
さらに、エンジン回転数制御モードの補正制御と空燃比センサ１２の出力に基づく空燃比フィードバック制御とは相反するので、エンジン回転数制御モードの補正制御は空燃比フィードバック制御が行われていないことが必要である。
【００６３】
また、エンジン始動後の低水温でのアイドル放置状態であることが前提であるので、アクセルペタルが全閉位置であることが必要である。このため、アクセルペダルが全閉位置であることを学習したことを示すフラグが立っていることも必要である。バッテリ電圧が所定の電圧範囲内にあり、また、水温が所定の値以内にあることが必要である。また、車両が停止状態であることとして、車速が所定値以下であることも確認する。
【００６４】
次に、エンジン回転数制御モードにおける燃料増量補正の制御ルーチンを、図７のフローチャートを参照して説明する。本制御ルーチンは、クランク角センサ１４により検出されるクランク角度が所定クランク角度に達した時点でクランク角度通過時間を測定した割り込みにより呼び出されて処理を行う。
【００６５】
まず、下記（１）〜（７）の検出許可条件をチェックする（ステップＳ１０１〜ステップＳ１０７）。
（１）空燃比フィードバック制御が行われていないこと。
（２）アクセルペダル全閉位置学習が完了していること。
（３）クランク角度誤差検出が確定していること。
（４）エンジン水温が所定の範囲内であること。
（５）エンジン始動後のエンジン回転数がＩＳＣ制御の目標回転数を上回り、その後、爆
発回数が所定回数経過していること。
（６）車速が所定値以下であること。
（７）バッテリ電圧が所定の範囲内にあること。
【００６６】
（１）〜（７）のすべての条件が成立していれば、検出許可とし、以下の演算を行う。
【００６７】
エンジン始動時は、始動後増量値として軽質ガソリン用を選択する。クランク角度通過時間を取り込み、爆発回数カウンタをインクリメントする（ステップＳ１０８）。
【００６８】
つぎに、該当気筒のクランク角度検出誤差データを検索してクランク角度通過時間に乗じて補正し、補正されたクランク角度通過時間と前回の割り込みでの通過時間との差分を計算して１次微分値ＤｄＴＩＭＥを求める（ステップＳ１０９）。そして、前回の１次微分値との差分を求めて、２次微分値ＤＤｄＴＩＭＥを求める（ステップＳ１１０）。
【００６９】
回転変動検出フラグが立っているとき、燃料補正量を以下のように演算する。
【００７０】
つまり、１次微分値がしきい値を上回ったとき、または２次微分値がしきい値を上回ったときには、１次微分値としきい値との差分または２次微分値としきい値との差分に基づいて、あらかじめ設定したテーブル値から燃料補正量の変化分を検索して燃料増量補正量を演算し（ステップＳ１１１）、これを、それまでの燃料補正量に加算する（ステップＳ１１２）。
【００７１】
回転変動検出フラグがリセットされているときには、所定の爆発回数経過後、燃料増量補正の収束加算処理として、燃料増量をゼロになるまで所定のステップ量で減衰させる（ステップＳ１１３）。回転変動検出許可がリセットされる場合として以下の動作がある。
（１）空燃比フィードバック制御が開始されたこと。
（２）アクセルペダル全閉位置学習が完了していない場合。
（３）クランク角度誤差検出が確定していない場合。
（４）水温が上昇して所定の範囲からはずれた場合。
（５）始動後、爆発回数が所定回数以上となった場合。
（６）車速が所定値を超えた場合。
（７）バッテリ電圧が所定の範囲外となった場合。
【００７２】
特に、カーメーカの製造ラインでの組み立て直後や、市場でバッテリを外された直後は、アクセルペダルが全閉位置にあるかどうかのチェックが未完了である。
【００７３】
さらに、クランク角度誤差検出は燃料カットを実施しなければ確定しない。
【００７４】
よって、アクセルペダルの全閉位置学習が未完了の場合、または、クランク角度誤差検出が確定していない場合、燃料補正量はゼロのままとし、重質ガソリンに対応した燃料噴射量を選択するようにする。
【００７５】
アクセルペダルの全閉位置学習が完了して、かつ、クランク角度誤差検出が確定してれば、始動後、回転数がＩＳＣ制御の目標回転数を超えた直後から、増量制御を行うが、途中で空燃比フィードバック制御が開始した場合には、その時点での燃料補正量に相当する補正量を空燃比フィードバック制御の初期値に移し替えて補正量による空燃比変動を抑える。または、燃料補正量に収束加算値を加えて、徐々にゼロに戻すことで、空燃比フィードバック制御に影響を与えないようにすることができる。
【００７６】
図８は、空燃比フィードバック制御開始動作の一例を示している。空燃比フィードバック制御は、通常、空燃比センサ１２の信号出力に応じて空燃比センサ出力が所定電圧を横切ったときの補正量Ｐ分、その後空燃比センサ出力がリッチまたはリーン状態を示しているときの積算分（Ｉ分）で構成されている。排気ガスレベルがストイキにあるとき、リッチ状態とリーン状態の積算分（Ｉ分）の継続時間はほぼ等しい。
【００７７】
空燃比フィードバック中に燃料補正量が加算されると、燃料補正量を相殺するように積分分（Ｉ分）が動くことになる。たとえば、燃料補正量がプラス（リッチ方向）であれば、空燃比フィードバック制御はリーン方向に動く。このため、リーン方向に積分を行う期間が長くなる。
【００７８】
燃料補正量の収束加算分と積分分（Ｉ分）の比率（α）に対して、積分を行う期間（Ｔ）を算出すると、図９に示すようになる。燃料補正量の収束加算値がゼロの場合（α＝０のとき）の基準積分期間をＴ０として、積分期間（Ｔ）＝Ｔ０／（１−α）となる。
【００７９】
よって、α＜１（燃料補正量の収束加算分が積分分以下）のとき、空燃比フィードバック制御によって、排気ガスレベルをストイキに制御しながら、燃料補正量の収束加算分を相殺できることになる。
【００８０】
一方、空燃比フィードバック制御が開始される前に、水温が上昇したり、爆発回数が所定回数以上となった場合には、エンジン回転変動による燃料補正量のフィードバックがないため、できるだけ燃料量をリッチとして、回転落ちを防止する必要がある。
【００８１】
このため、空燃比フィードバックが行われていない状態では、燃料補正量の収束加算値を空燃比フィードバックが行われているときの値よりも大きくして、回転落ちを防止する。
【００８２】
また、空燃比フィードバック制御が開始されてから、エンジン回転数の変動や燃料カット等によって空燃比フィードバックが一時的にオープン制御となった場合も、燃料補正量の収束加算値を大きくして、回転落ちを防止することが必要である。
【００８３】
図１０は、空燃比フィードバック制御開始とオープン制御の燃料補正量の動作の一例を示している。エンジン始動後、空燃比フィードバック制御が開始されるまでは、回転変動と回転変動検出しきい値の関係に応じて、燃料補正量が変化する。空燃比フィードバック制御が開始されると、所定の収束加算値を１爆発毎に加算し、上限値（ＫＴＩＨＯＳＡＨ）まで収束する。空燃比フィードバックがオープン制御に移行すると、別設定の収束加算値を加算する。
【００８４】
図１１は、バッテリ電圧が所定の範囲外となった場合に、燃料補正量を即時に最大値に変化させる動作を示している。
【００８５】
始動時回転数の立ち上がりが遅く、所定時間または所定の爆発回数以内（しきい値＝ＫＣＥＭＲＢＦ）にアイドル制御の目標回転数に達しない場合には、始動後量を重質ガソリン用に切り換える。この場合は、始動後制御による燃料補正量をゼロとしてもよい。図１２はエンジン始動直後の動作例を示している。
【００８６】
実車での適合結果では、低水温でのアイドル放置状態が変化して、水温が上昇した場合、空燃比フィードバック制御が開始されるまで、所定のステップ量ごとに燃料補正量を変化させる。この場合、燃料噴射弁の噴射量に変化を与えないように、始動後増量が減少する割合を相殺するレベルのステップ量とする。
【００８７】
適合値の例としては、始動後増量が１秒あたり１０％減少するので、燃料補正量を１０％増やす設定とした。
【００８８】
一方、空燃比フィードバックが開始されたことによって低水温でのアイドル放置状態が解除された場合は、空燃比フィードバック制御のクローズドループ状態の積分分（Ｉ分）程度のステップ量とする。適合値の例としてはＩ分の０．２２倍程度とした。
【００８９】
その後、空燃比フィードバック制御がオープンループ制御となった場合は、空燃比がストイキ以外になる可能性があるので、空燃比補正量をリッチ側となるようなステップ量とする。適合値としては、水温が上昇した場合に空燃比フィードバック制御が開始されるまでのステップ量と同じ値（１秒あたり１０％増量）とした。図１３は実車での適合結果を示している。
【００９０】
さらに、車速が所定値を超えた場合には、下記の（ケース１）〜（ケース４）のいずれかを選択して、加速時の対応を行う。
【００９１】
（ケース１）
走行開始時のエンジンストール防止を最優先として、走り出した時点で燃料補正量をリッチ側に最大値を取ることで、加速性能を維持する。また、運転性維持を最優先とするため、その後、回転変動検出による燃料補正を行わない。
【００９２】
（ケース２）
走行開始時の加速増量が十分であれば、走り出す直前の燃料補正量はガソリンの性状にほぼ適切な値となっているので、十分な加速性能を得ることができる。この場合、走行直前の燃料補正量をそのままホールドする。ただし、車速が十分高くなった場合は、更なる増量が必要である。
その後、車両が停止してアイドル状態に戻った場合には、運転状態に応じた収束加算値を燃料補正量に加算して所定値に収束させる。
この場合、車両が走行を開始して停止するまでに空燃比フィードバック制御が起動されていれば、空燃比フィードバック制御によって再度停止中の排気ガスレベルはストイキになっており、排気ガス悪化を防止できる。
【００９３】
（ケース３）
走行時の車速がほぼゼロとみなせれば、走行中も回転変動に応じた燃料補正量を演算して、回転変動を検出したら燃料補正量をリッチ側に補正する。回転変動を検出する回転変動検出しきい値は、回転数と車速に応じた値とする。
この場合、ケース１の考え方に沿って、回転変動検出しきい値を低く設定して、比較的多い回数で回転変動を検出することで、走行中は燃料補正量をプラス（リッチ側）方向に補正するものである。
【００９４】
（ケース４）
ケース３において、回転変動検出しきい値の設定を変更するものである。また、ケース２の考え方に沿って、回転変動検出しきい値を高く設定して、回転変動を検出しにくい状態として、燃料補正量をホールドするものである。
【００９５】
データ選択の優先度を表にして図１４に示されている。
【００９６】
（１）運転者がアクセルを踏んでアイドルスイッチがオフになって、車速が車速しきい値（ＫＳＴＶＳＰＨ）以下の場合には、燃料補正量の収束加算分は、ＣＫＴＩＰＲＴ＝ＫＴＩＲＰＴＤＤとする。
【００９７】
（２）車速が車速しきい値（ＫＳＴＶＳＰＨ）を超えた場合には、燃料補正量の収束加算分は、ＣＫＴＩＰＲＴ＝ＫＴＩＲＰＴＤＶとする。
【００９８】
（３）上記（１）（２）が不成立、すなわち、車速が車速しきい値（ＫＳＴＶＳＰＨ）以下の場合で、かつ、始動後、爆発回数が所定値以上となった場合、または、水温が上昇して所定の範囲から外れた場合には、燃料補正量の収束加算分は、ＣＫＴＩＰＲＴ＝ＫＴＩＲＰＴＯとする。また、一旦、空燃比フィードバック制御を開始し、その後空燃比フィードバック制御がオープンとなった場合も燃料補正量の収束加算分は、ＣＫＴＩＰＲＴ＝ＫＴＩＲＰＴＯとする。
【００９９】
（４）上記（１）（２）（３）がいずれも不成立の場合、空燃比フィードバック制御が開始された場合には、燃料補正量の収束加算分は、ＣＫＴＩＰＲＴ＝ｍａｘ（ａｂｓ（ＦＢＩＬ）×ＫＦＢＩＬＲＢ／ＮＥ，  ＫＴＩＲＰＴＤ）とする。
ただし、ＦＢＩＬ：空燃比フィードバック制御の積分分（Ｉ分）
ＫＦＢＩＬＲＢ：回転数定数
ＮＥ：エンジン回転数
ＫＴＩＲＰＴＤ：収束加算分の最小値
【０１００】
（５）上記（１）（２）（３）（４）がいずれも不成立の場合には、燃料補正量の収束加算分は、ＣＫＴＩＰＲＴ＝０とする。
【０１０１】
また、前記ケース１では、車速しきい値（ＫＳＴＶＳＰＨ）＝０ｋｍ／ｈとする。この場合、常時、収束加算分は、ＣＫＴＩＰＲＴ＝ＫＴＩＲＰＴＤＶが選択される。
【０１０２】
前記ケース２では、車速しきい値（ＫＳＴＶＳＰＨ）＝２０ｋｍ／ｈ程度とする。この場合、車両が走り出してから、２０ｋｍ／ｈに達するまでは、収束加算分はＣＫＴＩＰＲＴ＝ＫＴＩＲＰＴＤＤが選択される。
【０１０３】
ＫＴＩＲＰＴＤＤ≒０に設定すれば、車速が２０ｋｍ／ｈ以下では、ほぼ、収束加算値≒０となるので、燃料補正量はホールドされることになる。その後、車両が加速して、２０ｋｍ／ｈを超えれば、収束加算分はＣＫＴＩＰＲＴ＝ＫＴＩＲＰＴＤＶが選択される。第二の選択値を大きな値としておけば、燃料補正量はプラス（リッチ）側になるので加速性能が維持される。
【０１０４】
前記ケース３では、車速しきい値（ＫＳＴＶＳＰＨ）＝２０ｋｍ／ｈ程度とする。この場合、回転変動検出しきい値をエンジン回転数と車速に応じて変化させる。車速がゼロ以外の場合の回転変動検出しきい値を低く設定することで、比較的多い回数で回転変動を検出することになり、走行中は燃料補正量をプラス（リッチ側）方向に補正する。
【０１０５】
前記ケース４では、車速のしきい値はケース３と同じ値とするが、車速がゼロ以外の場合の回転変動検出しきい値を高く設定することで、回転変動を検出しにくい状態となり、燃料補正量をホールドすることになる。
【０１０６】
図１５〜図１８は、ケース１〜４の各ケースのタイミングチャートを示している。
【０１０７】
図１５は、ケース１を想定したものであり、車両が走り出して車速しきい値を超えれば、１爆発毎に燃料補正量は急激にプラス（リッチ）側となり、運転性が確保される。
【０１０８】
図１６は、ケース２を想定したものであり、車両が走り出してから車速が車速しきい値（２０ｋｍ／ｈ）を超えるまでは、１爆発毎に加算される収束加算値がほぼゼロなので燃料補正量もほぼホールドされる。車速が車速しきい値を超えないまま、車両が停止して車速がゼロとなった場合でも、燃料補正量はホールドされる。再度車両が走り出して、車速しきい値を超えた時点で、収束加算値は大きい値を選択するので、運転性は確保される。
【０１０９】
図１７は、ケース３を想定したものであり、車両が走り出してから車速が車速しきい値（２０ｋｍ／ｈ）を超えるまでは、回転変動を検出して燃料補正量を補正する。車速がゼロ以外のときの回転変動検出しきい値を低く設定することで、燃料補正量がプラス（リッチ）側になるので、運転性は確保される。車速が第二のしきい値を超えないまま、車両が停止して車速がゼロとなった場合も、燃料補正量はリッチ側となっているので運転性は確保される。
【０１１０】
図１８は、ケース４を想定したものであり、車両が走り出してから車速が車速しきい値（２０ｋｍ／ｈ）を超えるまでは、回転変動を検出して燃料補正量を補正する制御はケース３と同じである。車速がゼロ以外のときの回転変動検出しきい値を高く設定することで、燃料補正量は車両が走り出す直前の値をほぼホールドする。車速が車速しきい値を越えないまま、車両が停止して車速がゼロとなった場合、燃料補正量は回転変動に応じて補正される。
【０１１１】
収束加算値選択の処理ルーチンを、図１９のフローチャートを参照して説明する。
【０１１２】
まず、空燃比フィードバック制御がクローズ状態になったか否かを判別する（ステップＳ１９０１）。
空燃比フィードバックがクローズ状態になれば、空燃比フィードバックを経験したことを示すＦＢフラグＸＳＴＥＰ１をセットする（ステップＳ１９０２）。ＦＢフラグＸＳＴＥＰ１は、内燃機関１がキーオフされるまでホールドされる。空燃比フィードバックがクローズ状態でない場合には、ステップＳ１９０２をスキップし、ＦＢフラグＸＳＴＥＰ１をセットしない。
【０１１３】
次に、アイドルスイッチがオフであるか否かを判別する（ステップＳ１９０３）。アイドルスイッチがオフであれば、運転者がアクセルを踏んだこと示す走行フラグＸＳＴＥＰ２をセットする（ステップＳ１９０４）。このフラグは、内燃機関１がキーオフされるまでホールドされる。これに対し、アイドルスイッチがオンであれば、ステップＳ１９０４をスキップし、走行フラグＸＳＴＥＰをセットしない。
【０１１４】
次に、走行フラグＸＳＴＥＰ２がセットされているか否かを判別する（ステップＳ１９０５）。走行フラグＸＳＴＥＰ２がセットされていれば、次に、車速が車速しきい値以下であるか否かを判別する（ステップＳ１９０６）。
【０１１５】
車速が車速しきい値以下であれば、収束加算値ＣＫＴＩＰＲＴ＝ＫＴＩＲＰＴＤＤとし（ステップＳ１９０７）、そうでなければ、収束加算値ＣＫＴＩＰＲＴ＝ＫＴＩＲＰＴＤＶとする（ステップＳ１９０８）。
【０１１６】
走行フラグＸＳＴＥＰ２がリセットされていれば、空燃比フィードバックを経験したか否かを判別する（ステップＳ１９０９）。空燃比フィードバックを経験していない（ＸＳＴＥＰ１＝”０”）場合には、収束加算値＝０とする（ステップＳ１９１３）。
【０１１７】
空燃比フィードバックを経験していれば（ＸＳＴＥＰ１＝”１”）、つぎに、現在、空燃比フィードバック中であるか否かを判別する（ステップＳ１９１０）。現在、空燃比フィードバック中であれば収束加算値ＣＫＴＩＰＲＴ＝ＣＦＢＩＬＲＢとする（ステップＳ１９１１）。これに対し、空燃比フィードバックがオープンであれば、ＣＫＴＩＰＲＴ＝ＫＴＩＲＰＴＯとする（ステップＳ１９１２）。
【０１１８】
最後に回転数と車速に応じたマップから回転変動検出しきい値を検索する（ステップＳ１９１４）。回転変動検出しきい値と収束加算値を燃料補正量演算のタスクに渡し、フローを終了する。
【０１１９】
燃料補正量演算のタスクは、運転状態が所定の範囲内か否かを判別し、所定の範囲内であれば、回転変動と回転変動検出しきい値を比較し、回転変動が回転変動検出しきい値を超えていれば、回転変動と回転変動検出しきい値の差分に応じて、燃料補正量をプラス（リッチ）側に補正する。回転変動が回転変動検出しきい値以下であれば、回転数とＩＳＣ制御の目標回転数との差分に応じた値を算出して、燃料補正量から減算して徐々にマイナス（リーン）側とする。
【０１２０】
さらに燃料補正量に収束加算値を加算して、燃料噴射量の演算のタスクに渡す。
燃料噴射量の演算では基本燃料噴射量に対して、燃料補正量を乗じた値を演算して、燃料噴射弁の駆動時間に反映させる。
たとえば、燃料噴射弁の駆動時間（ＴＩ）は、ＴＩ＝基本燃料噴射量×（１＋燃料補正量）で求めている。
よって、回転変動があれば燃料噴射量をプラス（リッチ）側に増やすので、回転変動を抑制できる。
【０１２１】
以上を要約すると、回転変動パラメータを検出するための運転状態が、揃っているか否か判定し、当該運転状態が揃っている場合には、エンジン回転変動を測定して回転変動パラメータを検出し、当該回転変動パラメータに応じて燃焼のトルク段差に相当する燃料補正量を演算する。
【０１２２】
運転状態が揃っていない場合には、燃料補正量演算を停止し、その後、燃料補正量を所定値まで収束させていく。その際、条件が不成立となった要因に基づいて収束させる収束速度を変えるようにした。また、燃料補正量を所定値に収束させる変化量（収束加算値）を車速に応じて設定するようにした。
【図面の簡単な説明】
【０１２３】
【図１】本発明によるエンジン制御装置を適用されるエンジンシステムの一つの実施形態を示す全体構成図。
【図２】本発明によるエンジン制御装置の一つの実施形態を示すブロック図。
【図３】本実施形態によるエンジン回転数制御モードの詳細を示すブロック図。
【図４】本実施形態によるエンジン制御装置における回転変動しきい値の演算例を示すブロック図。
【図５】本実施形態によるエンジン制御装置における始動後増量設置特性を示すグラフ。
【図６】本実施形態によるエンジン制御装置における燃料補正量制御の動作例を示すタイムチャート。
【図７】本実施形態によるエンジン制御装置における燃料補正量演算ルーチンのフローチャート
【図８】本実施形態によるエンジン制御装置における空燃比フィードバック制御開始時の動作例を示すタイムチャート。
【図９】本実施形態によるエンジン制御装置における空燃比フィードバック制御周期の説明図。
【図１０】本実施形態によるエンジン制御装置における空燃比フィードバック中の燃料補正および収束加算を示すタイムチャート。
【図１１】本実施形態によるエンジン制御装置におけるバッテリ電圧低下時の燃料補正を示すタイムチャート。
【図１２】本実施形態によるエンジン制御装置における始動後増量選択を示すタイムチャート。
【図１３】本実施形態によるエンジン制御装置における水温上昇時の燃料補正および収束加算を示すタイムチャート。
【図１４】本実施形態によるエンジン制御装置における収束加算値の選択要項を示す表。
【図１５】本実施形態によるエンジン制御装置におけるケース１の燃料補正および収束加算を示すタイムチャート。
【図１６】本実施形態によるエンジン制御装置におけるケース２の燃料補正および収束加算を示すタイムチャート。
【図１７】本実施形態によるエンジン制御装置におけるケース３の燃料補正および収束加算を示すタイムチャート。
【図１８】本実施形態によるエンジン制御装置におけるケース４の燃料補正および収束加算を示すタイムチャート。
【図１９】本実施形態によるエンジン制御装置における収束加算値選択ルーチンのフローチャート。
【符号の説明】
【０１２４】
１    内燃機関
２    エアフローセンサ
３    スロットル弁
４    ＩＳＣ通路
５    ＩＳＣバルブ
６    インテークマニホールド
７    燃料噴射弁
８    点火プラグ
９    エアクリーナ
１０  排気管
１１  触媒
１２  空燃比センサ
１３  水温センサ
１４  クランク角センサ
５０  エンジン制御装置
７０  経過時間測定部
７５  １次微分演算部
７７  ２次微分演算部
７９  １次微分値比較部
８１  ２次微分値比較部
８３  燃料補正量演算部
【図１】
2009167894.tif 000003
【図２】
2009167894.tif 000004
【図３】
2009167894.tif 000005
【図４】
2009167894.tif 000006
【図５】
2009167894.tif 000007
【図６】
2009167894.tif 000008
【図７】
2009167894.tif 000009
【図８】
2009167894.tif 000010
【図９】
2009167894.tif 000011
【図１０】
2009167894.tif 000012
【図１１】
2009167894.tif 000013
【図１２】
2009167894.tif 000014
【図１３】
2009167894.tif 000015
【図１４】
2009167894.tif 000016
【図１５】
2009167894.tif 000017
【図１６】
2009167894.tif 000018
【図１７】
2009167894.tif 000019
【図１８】
2009167894.tif 000020
【図１９】
2009167894.tif 000021