(57)【要約】【課題】  本発明では、気筒毎に生じる発生トルクに対応した回転変動を測定することによって、回転変動からトルクの段差に相当する補正量を気筒別に求める。この場合、気筒毎のトルク段差を求めるため、基準となる運転状態の下で測定する必要があり、基準となる運転状態を規定し、回転変動が発生する要因を減らすことが課題となる。【解決手段】  エンジンのエンジン回転数を制御する制御装置において、エンジン回転数を測定して、回転数の変動を表すパラメータを算出し、パラメータに応じて、エンジンの気筒に供給する燃料噴射量を回転数の変動を抑制するように制御することを特徴とする制御装置である。【選択図】図３
2008267239.tif 000002
【特許請求の範囲】
【請求項１】
エンジンのエンジン回転数を制御する制御装置において、
前記制御装置は、
エンジン回転数を測定して、回転数の変動を表すパラメータを算出し、前記パラメータに応じて、前記エンジンの気筒に供給する燃料噴射量を前記回転数の変動を抑制するように制御することを特徴とする制御装置。
【請求項２】
エンジンのエンジン回転数を制御する制御装置において、
前記制御装置は、
空燃比が一定となる条件の下で空燃比エンジン回転数を測定して、回転数の変動を表すパラメータを算出し、前記パラメータに応じて、前記エンジンの気筒に供給する燃料噴射量を前記回転数の変動を抑制するように制御することを特徴とする制御装置。
【請求項３】
エンジンの燃料噴射量を制御して、エンジン回転数を制御するエンジン回転制御装置において、
エンジン回転数を測定して、気筒ごとの回転数の変動パラメータを算出し、回転数の変動パラメータに応じて、対応する気筒の燃料噴射量を制御することを特徴とするエンジン回転数制御装置。
【請求項４】
前記請求項３に記載のエンジン回転数制御装置において、空燃比制御によって所定の空燃比における回転変動を測定することにより、対応する気筒の燃料噴射量を制御することを特徴とするエンジン回転数制御装置。
【請求項５】
請求項１から４に記載のエンジン回転数制御装置において、
燃料の揮発性に対応した複数の始動後増量値を設定して、始動後増量値の差分を燃料噴射量制御量の上下限値として設定したことを特徴とするエンジン回転数制御装置。
【請求項６】
請求項１から４に記載のエンジン回転数制御装置において、
点火時期の時間平均値または移動平均値を算出する平均化手段を備え、
回転変動を検出するしきい値または燃料補正量に点火時期の時間平均値または移動平均値の値による補正項を設けて、燃料噴射量を制御することを特徴とするエンジン回転数制御装置。
【請求項７】
エンジンの燃料噴射量を制御して、エンジン回転数を制御するエンジン回転数制御装置において、
所定のクランク角毎に信号を発生するクランク角センサと、気筒を判別する信号を発生するカム角センサを備え、クランク角センサ信号割り込み毎に割り込みの発生間隔時間を測定する手段を備え、
カム角センサ信号の割り込みを基準角度位置とし、オフセット角度ずれた角度位置まで、クランク角センサ信号の発生回数をカウントし、オフセット角度ずれた位置をウィンドウ通過時間の開始位置とし、
ウィンドウの終了角度に達するまで、クランク角センサ信号の発生間隔時間を積算することを特徴とする、エンジン回転数制御装置。
【請求項８】
前記請求項５に記載のエンジン回転数制御装置において、オフセット角度位置を複数設けて、ウィンドウ開始位置と終了位置を異なるウィンドウを複数用意することを特徴とする、エンジン回転数制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はエンジンの燃料噴射量の制御に関し、特に、回転数の変動を抑制しながら燃焼空燃比のリーン化を図ることによって、エンジンの排気ガスに含まれるＨＣ成分を低減する技術に関する。
【背景技術】
【０００２】
エンジン始動時に必要な燃料量は、吸気管の温度に応じた気化率を考慮して、低温になるほど燃料噴射量を増やす、始動時燃料増量が行われている。燃料気化率は温度だけでなく、燃料に含まれる揮発成分に依存するので、気化しやすい成分を多く含む軽質燃料と、比較的揮発成分が少ない重質燃料が市場では使われている。こうした燃料の揮発性の違いが燃料性状の差として現れる。海外市場では特に、市場での燃料性状差が大きいため、市場での最悪の重質燃料に合わせた始動時燃料を設定して、始動性を確保しているため、燃料が軽質燃料の場合には燃焼空燃比がリッチとなってＨＣ成分が多く排出されてしまう。
【０００３】
また、燃料を噴射するインジェクタの製造ばらつきや燃料圧力レギュレータの圧力ばらつきのため、所定の燃料噴射パルスをインジェクに印加しても、実際に吸気管に噴射される燃料がエンジンごとにばらつきが生じる。このため、燃料噴射量のばらつきの下限値を考慮して、多めに燃料噴射パルス幅を設定する必要がある。この追加補正分は、燃料噴射量のばらつき上限にあるエンジンでは、燃焼空燃比がリッチとなるので、やはりＨＣ成分が多く排出されてしまう。
【０００４】
その他、エンジンを構成する部品ばらつきとして、サージタンクから吸気管への気筒毎の分配ばらつきや気筒ごとの圧縮比のばらつきを考慮して、最悪のばらつきでも始動性を確保しているための増量補正を含んだ、始動後増量が行われている。
【０００５】
このため、インジェクタばらつきの下限値と気筒ごとの空気分配ばらつきが最大となる組み合わせとなって、空燃比がリーンとなる気筒では、発生するトルクが減少するため、回転変動を生じやすい。回転変動を抑制するために、さらに空燃比をリッチ化してしまう問題があった。
【０００６】
【特許文献１】特開２００６−１０４９８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明では、気筒毎に生じる発生トルクに対応した回転変動を測定することによって、回転変動からトルクの段差に相当する補正量を気筒別に求める。
【０００８】
この場合、気筒毎のトルク段差を求めるため、基準となる運転状態の下で測定する必要があり、基準となる運転状態を規定し、回転変動が発生する要因を減らすことが課題となる。
【０００９】
また、本発明では、気筒毎に生じる発生トルクに対応した回転変動を測定することによって、回転変動をトルクに相当するパラメータに変換して、トルクの不足分を燃料量に反映している。
【００１０】
回転変動を抑制するように、燃料量を補正する補正増量を用いてフィードバック制御を行うと、補正増量が過大となって、排気レベルが悪化する課題がある。
【００１１】
また、本発明では、気筒毎に生じる発生トルクに対応した回転変動を測定することによって、回転変動をトルクに相当するパラメータに変換している。発生トルクは燃料量だけでなく点火時期も影響するので、回転変動をトルクに相当するパラメータに変換する際、点火時期の影響を考慮して制御する課題がある。
【００１２】
また、本発明では、気筒毎に生じる発生トルクに対応した回転変動を測定することによって、回転変動をトルクに相当するパラメータに変換するので、気筒別のトルク検出が特定できる角度幅を設定して通過時間を測定する必要がある。この場合、失火検出用の角度と異なる場合があり、角度設定を複数用意しなければならない。しかし、ＣＰＵの入力端子数の制限や、通過時間を測定するための割り込み処理に要するＣＰＵ処理能力の制限がある。よって、割り込みを発生させる要因を共通化して、端子数とＣＰＵ処理能力の制限の範囲内で処理できるようにする課題がある。
【課題を解決するための手段】
【００１３】
回転数変動パラメータを検出するための運転状態が揃っているかを判定する手段を設けて、運転条件が揃っている場合に回転変動を測定して回転変動パラメータを検出し、トルク段差に相当する補正量を算出する構成とする。
【００１４】
また、燃料補正増量に制限値を設けて、燃料補正増量が過大とならないように構成した。制限値は、使用する燃料の揮発性に応じた増量値の上下限値間の差分とする構成とする。
【００１５】
点火時期の時間平均値を求めて、点火時期の時間平均値に応じて、燃料補正増量を演算する構成とする。
【００１６】
また、所定の角度毎に生じるクランク角度センサ信号の割り込みを共通角度とし、共通角度を通過する時間を角度割り込み毎に積算して、複数の角度幅の通過時間を計測する構成とする。
【発明の効果】
【００１７】
本発明によれば、始動性を確保しながら、燃料性状によらず排気ガス中のＨＣ成分を抑制できるので、排気低減効果が高い。
【発明を実施するための最良の形態】
【００１８】
以下本発明にかかる実施例を説明する。
【実施例１】
【００１９】
図１に本発明におけるエンジン構成を示す。
【００２０】
内燃機関１は、シリンダ１ａ内に燃料噴射弁７と点火プラグ８が配置され、所定のクランク角度で燃料噴射弁からインテークマニホールド６内に燃料が噴射されて、空気と燃料が混合された状態で、吸気弁から燃焼室内に吸入される。
【００２１】
適切なクランク角度で点火プラグに高電圧が印加されて、高電圧の放電によってシリンダ内に火花が飛び爆発燃焼する。
【００２２】
クランク角度は、クランク角度センサ１４によって角度を検出され、同時にクランク角センサのパルスの時間間隔または、所定時間内に発生するパルス数に応じてエンジン回転数が演算される。また、クランク角度の特定の位置を示すカム角センサとを用いて気筒判別がされる。水温センサ１３，排気センサ１２により、燃料量と空気量の補正を行い、排気ガスは触媒１１を通して浄化される。
【００２３】
シリンダへの吸入空気の制御と、排気管への排気は、それぞれ吸気弁制御装置と排気弁制御装置によって行われる。吸気弁制御装置または排気弁制御装置によってクランク角度に応じて、開弁タイミングと閉弁タイミングが制御される。また、吸気弁のリフト量も同時に制御される。
【００２４】
内燃機関の吸気側にエアクリーナ９，吸入空気量を測定するエアフローメータ２、または、システムの構成によっては、必要に応じて吸気管内の圧力を測定する圧力センサと吸気温度センサを設置する。
【００２５】
さらに、運転者の加速要求値を検出するため、アクセルペダルの踏み込み量を検出するアクセルペダルセンサを用いる構成も可能である。アクセルペダルとスロットル３の間はワイヤーでリンクしたメカニカルスロットルまたは、アクセルペダルセンサ出力に応じて信号を伝達してスロットル開度を制御する電子制御スロットルを備える。
【００２６】
電子制御スロットルは内燃機関のシリンダへの流入空気量を調節するものであり、運転者のアクセルペダルの操作量とエンジン制御量とに基づいて電子制御スロットル開度が制御される。電子制御スロットルは、スロットルバルブとスロットルバルブを回転させるモータ、および、スロットル開度を検出するスロットル開度センサから構成される。運転者のアクセルペダルの踏み込み量とエンジン制御量に応じて、目標スロットル開度がエンジン制御装置内で演算される。エンジン制御装置から電子制御スロットル制御装置に目標スロットル開度が伝達され、電子制御スロットル制御装置はスロットル開度センサ１６で検出した角度が目標スロットル開度となるように制御する。
【００２７】
また、変速機のギア比またはギアポジションセンサを設置する。変速機がＡＴギアの場合、ギア位置がパーキングまたはニュートラル位置にあるか、それ以外の位置にあるかの情報も出力される。
【００２８】
車両の運転状態を検出するため、車輪の回転数を検出する車速センサや、ハンドルの操作角度を検出するステアリングセンサ，ブレーキペダルの操作量を検出するブレーキセンサ，各車輪ごとの車速とブレーキ圧を制御する車体制御装置，外気温センサ、等を設置する。
【００２９】
図２にエンジン制御装置の例を示す。
【００３０】
エンジン制御装置には、エンジンに吸入される空気量を検出するエアフローセンサによる吸入空気量検出信号や、アクセルペダルセンサ信号，吸気管圧力センサ，水温センサ，外気温センサ，バッテリ電圧，エンジンの回転数とクランク角度を検出するクランク角センサ，気筒判別を行うカム角センサ，車輪の回転数を計測する車速センサ，ブレーキペダルのスイッチやその他の電気負荷の投入状態を検出する電気負荷スイッチ，変速機のギア比情報またはギアポジション情報等を入力とする。
【００３１】
エンジン制御装置の出力として、燃料噴射弁の開・閉弁制御出力，点火信号出力，電子制御スロットルの目標開度出力，電動過給器の目標回転数出力，電動過給器のバイパス弁制御出力、等を出力とする。
【００３２】
さらに、エンジン制御装置内で、各入力信号や出力信号の診断結果や内部データのモニタ用に、通信手段が設けられている。
【００３３】
エンジン制御装置内には入力部，演算部，出力部，通信部からなる。入力部は、Ａ／Ｄ変換回路，パルス入力回路，スイッチ入力回路等で構成される。演算部は演算装置ＣＰＵ，ＲＯＭ，ＲＡＭ，外部記憶部（ＥＥＰＲＯＭ），時間計測部で構成される。出力部はパルス出力回路，リレー出力回路等から構成される。通信部は通信信号のレベル変換やタイミング変換を行う入出力回路から構成される。
【００３４】
図３にエンジン制御装置の内部構成を示す。
【００３５】
まず、エンジンの燃焼に関係するクランク角度の経過時間を測定する。測定としては、以下の処理を行う。
【００３６】
カム角センサ出力パルスが発生してから、所定の遅延角度を起点として、エンジンの膨張行程を含むように、クランク角センサ出力パルスをカウントし、カウンタ値が所定の値に達したときまでの経過時間を演算する。
【００３７】
クランク角度を検出するプレートの加工誤差や取り付け誤差、さらに、エンジンのクランクの製造誤差が重なり、エンジンが一定の回転数で回っていても、前記経過時間には誤差が生じる。
【００３８】
よって、エンジンが燃料カット中に所定のクランク角度間の経過時間を測定して、クランク角度を検出するプレートの加工誤差やクランクの製造誤差を含む、クランク角検出誤差を気筒毎に演算する。
【００３９】
エンジンが定常で回っているとき、１爆発毎に爆発回数をカウントすると共に所定のクランク角度間の経過時間を測定する。経過時間を測定する毎に、該当気筒毎に前記クランク角度検出誤差を経過時間に乗じて経過時間を補正し、気筒毎に補正された経過時間をＤ＿ＴＩＭＥとする。
【００４０】
１爆発前の経過時間Ｄ＿ＴＩＭＥｚとの差分を演算し１次微分値ＤＤ＿ＴＩＭＥとする。
【００４１】
ＤＤ＿ＴＩＭＥ＝Ｄ＿ＴＩＭＥ−Ｄ＿ＴＩＭＥｚ
Ｄ＿ＴＩＭＥｚ＝Ｄ＿ＴＩＭＥ
さらに、１次微分値ＤＤ＿ＴＩＭＥを１爆発前の１次微分値ＤＤ＿ＴＩＭＥｚとの差分を演算し、ＤＤＤ＿ＴＩＭＥとする。
【００４２】
ＤＤＤ＿ＴＩＭＥ＝ＤＤ＿ＴＩＭＥ−ＤＤ＿ＴＩＭＥｚ
ＤＤ＿ＴＩＭＥｚ＝ＤＤ＿ＴＩＭＥ
１次微分値と２次微分値をそれぞれしきい値と比較し、しきい値を超えた時に回転変動が生じたことを示すフラグを立てる。
【００４３】
図４に示すように、しきい値は水温，エンジン始動後経過時間，始動後の点火回数，点火時期等のパラメータによって設定する。アイドル回転数を維持するための、点火時期による回転数補正が入るため、各気筒ごとの瞬時の点火時期は一定とならない。そこで、点火時期の時間平均値または加重平均値を求めて、点火時期の平均値とし、点火時期の平均値に応じて、しきい値を補正する。
【００４４】
回転変動が起きた時の１次微分値としきい値との差分をＰ＿ＤＤとして、過去２回の差分を合わせて、
Ｐ＿ＤＤ［０］，Ｐ＿ＤＤ［１］，Ｐ＿ＤＤ［２］
とする。
【００４５】
および、回転変動が起きた時の２次微分値としきい値との差分をＰ＿ＤＤＤとして、過去２回の差分を合わせて、
Ｐ＿ＤＤＤ［０］，Ｐ＿ＤＤＤ［１］，Ｐ＿ＤＤＤ［２］
とする。
【００４６】
過去２回分をそれぞれ、加算して回転変動の大きさを求める。
【００４７】
すなわち、
Ｐ＿ＤＤＡＬＬ＝Ｐ＿ＤＤ［０］＋Ｐ＿ＤＤ［１］＋Ｐ＿ＤＤ［２］
Ｐ＿ＤＤＤＡＬＬ＝Ｐ＿ＤＤＤ［０］＋Ｐ＿ＤＤＤ［１］＋Ｐ＿ＤＤＤ［２］
を求めて、回転変動の大きさに基づいて、それぞれ、あらかじめ設定したテーブル値から検索した補正増量値を求める。１次微分値の補正増量値と２次微分値の補正増量値の大きい方を選択して、過去の補正量に加算する。
【００４８】
回転変動検出は常時行っているので、回転変動が起きなくなるまで増量することができ、エンジン始動後の回転変動を抑える効果が高い。
【００４９】
補正値の上限は、重質ガソリンを使用した場合の最大の始動後増量値ＫＡＳＢＳと、軽質ガソリンを使用した場合の始動後増量値ＫＡＳＲＢとの差分ＨＯＳＡＨとし、差分
ＨＯＳＡＨが負の場合（重質ガソリン用の始動後増量値ＫＡＳＢＳ＜軽質ガソリン用始動後増量値ＫＡＳＲＢ）には、差分ＨＯＳＡＨを０とする。この動作により、回転変動を検出して補正増量値が大きくなっても、過大な補正量が燃料噴射量に補正が加算されることがない。また、複数の始動後増量値の差分をとるので、補正増量値の設定を適合する必要がなく、適合が簡略化できる効果がある。
【００５０】
図５に示すように、始動後増量値は始動後時間に応じて変化する。
【００５１】
軽質ガソリン用始動後増量値（ＫＡＳＲＢ）と重質ガソリン用始動後増量値(KASBS)の差分を補正量の上限値ＨＯＳＡＨとしている。
【００５２】
図６に補正方法の動作例を示す。
【００５３】
回転変動がしきい値以下であれば、回転数とＩＳＣ制御の目標回転数と差分に応じて、燃料増量を徐々に減衰させて、回転変動を検出したら直後に燃料増量を行っていく。
【００５４】
すなわち、１次微分値ＤＤ＿ＴＩＭＥまたは２次微分値ＤＤＤ＿ＴＩＭＥがそれぞれしきい値を超えたとき、燃料増量フラグを立てる。
【００５５】
１次微分値ＤＤ＿ＴＩＭＥとしきい値との差分Ｐ＿ＤＤ、または、２次微分値ＤＤＤ＿ＴＩＭＥとしきい値との差分Ｐ＿ＤＤＤに基づいて、あらかじめ設定したテーブル値から燃料増量補正量を検索して、燃料増量に燃料増量補正量を加算する。
【００５６】
回転変動がしきい値以下であれば、燃料増量をゼロになるまで所定のステップ量を減算していく。
【００５７】
エンジン始動は始動性を考慮して重質ガソリンを使った場合の燃料噴射量で噴射する。その後、回転数が吹き上がってＩＳＣ制御の目標回転数を上回った後、所定の爆発回数経過後、補正を許可する。
【００５８】
補正処理を実行するには、膨張行程を含む所定のクランク角度を通過する経過時間測定と、該当気筒に対応したクランク角度検出誤差が確定した状態で行う。
【００５９】
さらに、空燃比制御とは相反するので、空燃比制御行われていないことが必要である。
【００６０】
また、エンジン始動後のアイドル状態であることが前提であるので、アクセルペタルが全閉位置であることが必要である。このため、アクセルペダルが全閉位置であることを学習したことを示すフラグが立っていることも必要である。
【００６１】
バッテリ電圧が所定の電圧範囲内にあり、また、水温が所定の値以内にあることが必要である。
【００６２】
変速機のギア位置がどこにも入っていないこと、ＡＴの場合はパーキングまたはニュートラルの位置にあることが必要である。
【００６３】
また、車両が停止状態であることとして、車速がゼロであることを確認する。
【００６４】
図７にフローチャートを示す。
【００６５】
クランク角センサでカウントして、所定のクランク角度に達した時点でクランク角度通過時間を測定した割り込みで以下の処理を行う。
【００６６】
まず、検出許可条件をチェックする。
【００６７】
空燃比制御が行われていないこと
アクセルペダル全閉位置学習が完了していること
クランク角度誤差検出が確定していること
水温が所定の範囲内であること
始動後の回転数がＩＳＣ制御の目標回転数を上回り、その後、爆発回数が所定回数経過  していること
変速機のギア位置が、どこにも入っていないか、ＡＴの場合、パーキングまたはニュー  トラル位置であること
車速がゼロであること
バッテリ電圧が所定の範囲内にあること
等がＯＫである場合に検出を許可する。
【００６８】
検出が許可されていれば以下の演算を行う。
【００６９】
エンジン始動時は始動後増量値を軽質ガソリン用を選択する。
【００７０】
次に、クランク角度通過時間を取り込む。同時に、爆発回数カウンタをインクリメントする。
【００７１】
次に、該当気筒のクランク角度検出誤差データを検索して、クランク角度通過時間に乗じて補正する。
【００７２】
さらに、補正されたクランク角度通過時間と前回の割り込みでの通過時間との差分を計算して、１次微分値ＤＤ＿ＴＩＭＥを求める。前回の１次微分値との差分を求めて、２次微分値ＤＤＤ＿ＴＩＭＥを求める。
【００７３】
回転変動検出フラグが立っているとき、補正方法によって燃料増量を以下のように演算する。
【００７４】
１次微分値がしきい値を上回ったとき、または２次微分値がしきい値を上回ったときに、１次微分値としきい値との差分または２次微分値としきい値との差分に基づいて、あらかじめ設定したテーブル値から燃料増量補正量を検索し、それまでの燃料増量に加算する。
【００７５】
回転変動検出フラグがリセットされているときは、所定の爆発回数経過後、燃料増量をゼロになるまで所定のステップ量で減衰させる。
【００７６】
上記の回転変動検出許可がリセットされる場合として以下の動作がある。
【００７７】
空燃比制御が開始されたこと
アクセルペダル全閉位置学習が完了していない場合
クランク角度誤差検出が確定していない場合
水温が上昇して所定の範囲からはずれた場合
始動後、爆発回数が所定回数以上となった場合
変速機のギア位置がニュートラルでなくなった場合
車速がゼロ以外の場合
バッテリ電圧が所定の範囲外となった場合
特に、カーメーカの製造ラインでの組み立て直後や、市場でバッテリを外された直後は、アクセルペダルが全閉位置にあるかどうかのチェックが未完了である。さらに、クランク角度誤差検出は燃料カットを実施しなければ確定しない。
【００７８】
よって、アクセルペダルの全閉位置学習が未完了の場合、または、クランク角度誤差検出が確定していない場合、燃料増量はゼロのままとし、重質ガソリンに対応した燃料噴射量を選択するようにする。
【００７９】
アクセルペダルの全閉位置学習が完了して、かつ、クランク角度誤差検出が確定してれば、始動後、回転数がＩＳＣ制御の目標回転数を超えた直後から、増量制御を行うが、途中でラムダ制御が開始した場合は、その時点での燃料増量に相当する補正量を空燃比制御の初期値に移し替えて、増量による空燃比変動を抑える。または、燃料増量を徐々にゼロにもどすことで空燃比制御に影響を与えないようにすることができる。図８に空燃比制御開始の動作を示す。
【００８０】
水温が上昇した場合、または爆発回数が所定回数以上となった場合は、燃料増量を徐々にゼロに戻す。
【００８１】
変速機のギア位置がニュートラルでなくなった場合、または、車速がゼロ以外の場合、燃料増量を即ゼロに戻す。
【００８２】
バッテリ電圧が所定の範囲外の場合も、増量を即ゼロに戻す。
【００８３】
また、始動時回転数の立ち上がりが遅く、所定時間または所定の爆発回数以内にアイドル制御の目標回転数に達しない場合、始動後増量を重質ガソリン用に切り換える。そして、始動後制御による増量補正をゼロとする。
【００８４】
エンジンの気筒毎に発生するトルクが一定であれば、空燃比の変動に対するトルク変動分のみが回転変動となって現れるので、図９に示すように、空燃比に対する回転変動パラメータを得ることができる。
【００８５】
しかし、各気筒毎のインジェクタ流量ばらつきや空気分配の誤差によって、各気筒の空燃比がずれるために、図１０に示した特性図に所定の幅をもった特性が実際には現れる。
【００８６】
そこで、Ｏ2 制御によって空燃比が一定となる条件の下で、回転変動をとらえて、気筒ごとに周期的な回転変動が生じていれば、特定の気筒に対して燃料量を補正して、ばらつきを抑えることができる。
【００８７】
図１１に示すように、回転数がゆるやかに上昇または下降している状態では、１次微分値は回転変動の影響を受ける。また、隣り合う気筒の回転変動の影響を１次微分値が受けるので、エンジンが２回転する間の回転変動を除去する演算を行う。
【００８８】
例えば、Ｄ１Ａパラメータは下記演算式で求められる。
【００８９】
Ｄ１Ａ＝（−ＤＴＩＭＥ１＋ＤＴＩＭＥ４−ＤＴＩＭＥ５×３）／４
ＤＴＩＭＥ１＝１回前の回転変動
ＤＴＩＭＥ４＝４回前の回転変動
ＤＴＩＭＥ５＝５回前の回転変動
とし、気筒毎にＤ１Ａパラメータを算出する。
【００９０】
さらに、回転変動が発生する運転状態を限定するために、水温が所定範囲内、Ｏ2 制御が実施されていること、吸入空気量の積算値または燃料噴射量の積算値が所定範囲内、変速機がニュートラル状態、電気負荷やエアコンなどの補機負荷が入っていない状態、等、条件が成立している、以下に示す補正量演算を行う。
【００９１】
まず、Ｏ2 制御がリッチ状態からリーン状態、またはリーン状態からリッチ状態に遷移する回数をカウントし、数回（２回程度）遷移する間、演算の初期化を行う。
【００９２】
演算に用いる値は以下の通りで、図１２にフローチャートを示す。
【００９３】
リッチ期間中のＤ１Ａ部分積算（気筒別）ＩＲＩＣＨｎ
リッチ期間中のＤ１Ａ部分計算回数カウンタ（気筒別）ＣＲＩＣＨｎ
リーン期間中のＤ１Ａ部分積算（気筒別）ＩＬＥＡＮｎ
リーン期間中のＤ１Ａ部分計算回数カウンタ（気筒別）ＣＬＥＡＮｎ
リッチ期間全体のＤ１Ａ全積算（気筒別）ＴＴＬＲＩＣＨｎ
リッチ期間全体のＤ１Ａ全積算回数カウンタ（気筒別）ＴＴＬＣＲＩＣＨｎ
リーン期間全体のＤ１Ａ全積算（気筒別）ＴＴＬＬＥＡＮｎ
リーン期間全体のＤ１Ａ全積算回数カウンタ（気筒別）ＴＴＬＣＬＥＡＮｎ
積算期間中のリッチ状態・リーン状態の遷移回数カウンタ(気筒別)ＣＲＬＳＷＣＨｎであり、上記の値をゼロリセットする。
【００９４】
２回の遷移回数経過後、リッチ状態にあるとき、気筒別にリッチ期間中のＤ１Ａを
ＩＲＩＣＨｎに積算する。また、積算する毎にＤ１Ａ部分計算回数カウンタＣＲＩＣＨｎをインクリメントする。リッチ状態からリーン状態に遷移したとき、Ｄ１Ａ部分計算回数カウンタＣＲＩＣＨｎが、上下限値の範囲（ＫＲＬＳＨＯＲＴ〜ＫＲＬＬＯＮＧ）内にあるとき、遷移回数カウンタＣＲＬＳＷＣＨｎをインクリメントする。さらに、Ｄ１Ａ部分積分ＩＲＩＣＨｎをＤ１Ａ全積算値ＴＴＬＲＩＣＨｎに加算し、Ｄ１Ａ部分計算回数カウンタＣＲＩＣＨｎをＤ１Ａ全積算回数カウンタＴＴＬＣＲＩＣＨｎに加算する。リーン状態からリッチ状態に戻ったときは、Ｄ１Ａ部分積算ＩＲＩＣＨｎと、Ｄ１Ａ部分計算回数カウンタＣＲＩＣＨｎをゼロリセットする。
【００９５】
リーン側カウンタについても、同様の演算を行う。
【００９６】
すなわち、数回の遷移回数（２回程度）経過後、リーン状態にあるとき、気筒別にリーン期間中のＤ１ＡをＩＬＥＡＮｎに積算する。また、積算する毎にＤ１Ａ部分計算回数カウンタＣＬＥＡＮｎをインクリメントする。リーン状態からリッチ状態に遷移したとき、Ｄ１Ａ部分計算回数カウンタＣＬＥＡＮｎが、上下限値の範囲（ＫＲＬＳＨＯＲＴ〜
ＫＲＬＬＯＮＧ）内にあるとき、遷移回数カウンタＣＲＬＳＷＣＨｎをインクリメントする。さらに、Ｄ１Ａ分積分ＩＬＥＡＮｎをＤ１Ａ全積算値ＴＴＬＬＥＡＮｎに加算し、
Ｄ１Ａ部分計算回数カウンタＣＬＥＡＮｎをＤ１Ａ全積算回数カウンタTTLCLEANnに加算する。リーン状態からリッチ状態に戻ったときは、Ｄ１Ａ部分積算ＩＬＥＡＮｎと、D1A部分計算回数カウンタＣＬＥＡＮｎをゼロリセットする。
【００９７】
リッチ状態・リーン状態カウンタＣＲＬＳＷＣＨｎが、すべての気筒で所定回数（１０回程度）のスイッチング回数となった時点で、気筒毎の回転変動パラメータの平均値を算出する。
【００９８】
すなわち、リッチ期間中のＤ１Ａ全積算ＴＴＬＲＩＣＨｎとリーン期間中のＤ１Ａ全積算ＴＴＬＬＥＡＮｎを加算した値を求め、
ＴＴＬＲＬｎ＝ＴＴＬＲＩＣＨｎ＋ＴＴＬＬＥＡＮｎ
同時に回数カウンタＣＲＩＣＨｎとＣＬＥＡＮｎの加算値
ＴＴＬＣＲＬｎ＝ＣＲＩＣＨｎ＋ＣＬＥＡＮｎ
を算出する。
【００９９】
平均値Ｄ１ＡＡＶＥｎ＝ＴＴＬＲＬｎ／ＴＴＬＣＲＬｎ
平均値Ｄ１ＡＡＶＥｎに基づいて、対応する気筒の補正ステップ量ＲＢＣＹＬＡＤＤｎを算出する。
【０１００】
ＲＢＣＹＬＡＤＤｎ＝ｔａｂｌｅ（Ｄ１ＡＡＶＥｎ）
補正ステップ量を補正値ＣＹＬＨＯＳＮｎに加算し、上下限リミットによる制限を施して最終的に気筒別補正量ＣＹＬＨＯＳｎとする。
【０１０１】
図１３にタイミングチャートを示す。
【０１０２】
本制御の実施条件が解除されたときは、気筒別補正量ＣＹＬＨＯＳｎを徐々にゼロに戻す。
【０１０３】
トルクに対応する時間計測ウィンドウは失火パラメータと共通化することが望ましいが、回転数に応じて失火検出用ウィンドウ設定位置が変わる。また失火検出方法に応じて、失火検出に最適なウィンドウ位置が変わる。
【０１０４】
本制御で用いるウィンドウ位置は、おおむね、膨張行程を含む区間であり、ＡＴＤＣ
９０度〜ＡＴＤＣ２４０度としている。
【０１０５】
一方、失火検出用ウィンドウはＡＴＤＣ１１０度〜２００度としている。
【０１０６】
このため、図１４に示すように、時間計測ウィンドウを２種類設定している。
【０１０７】
従来、図１５に示すように、インプットキャプチャ割り込みを使って、時間計測ウィンドウ毎に割り込みを発生させて、時間計測を行っていた。この場合、時間計測ウィンドウの数に対応した割り込み端子が必要であり、割り込み処理のためのプログラム処理の負荷とＣＰＵの端子数の増大を招いていた。
【０１０８】
そこで、クランク角度センサからの割り込みが所定のクランク角度単位毎に発生する場合、クランク角度単位毎に時間を計測して、所定のウィンドウ幅に達するまで加算することで、インプットキャプチャ割り込み発生は１つとして、複数の時間計測ウィンドウ幅を設定できる。
【０１０９】
図１６に示すように、クランク角度センサ信号を入力し、１０℃Ａ毎に割り込みを発生させる。さらに、カム角センサ信号を入力して、特定の気筒のＴＤＣ位置、または、TDCから所定のオフセット角度位置に対応した割り込みを発生させる。
【０１１０】
カム角センサ信号による割り込みで、ウィンドウ毎に設定したオフセットカウンタＡ
（失火ウィンドウ計測用）とオフセットカウンタＢ（燃料制御ウィンドウ計測用）の両者をゼロリセットする。
【０１１１】
その後、クランク角度センサ信号割り込みが入る毎に、オフセットカウンタＡとオフセットカウンタＢをインクリメントする。
【０１１２】
失火ウィンドウ計測の開始角度に対応した設定値とオフセットカウンタＡを比較し、所定のカウンタに達した時点で失火ウィンドウ計測角度カウンタと、失火ウィンドウ計測時間積算値をゼロリセットする。
【０１１３】
同時に燃料制御ウィンドウ計測の開始角度に対応した設定値とオフセットカウンタＢを比較し、所定のカウンタに達した時点で燃料制御ウィンドウ計測角度カウンタと、燃料制御ウィンドウ計測時間積算値をゼロリセットする。
【０１１４】
さらに、失火ウィンドウ計測角度カウンタと燃料制御ウィンドウ計測角度カウンタをインクリメントし、同時に、クランク角度割り込みの間隔（１０℃Ａの通過時間）を失火ウィンドウ計測時間積算値と燃料制御ウィンドウ計測時間積算値に加算する。
【０１１５】
所定の失火ウィンドウ計測角度幅に相当するしきい値と失火ウィンドウ計測角度カウンタとを比較し、一致したときに失火ウィンドウ計測時間積算値を用いて、失火検出用プログラムを起動する。
【０１１６】
また、所定の燃料制御ウィンドウ計測角度幅に相当するしきい値と燃料制御ウィンドウ計測角度カウンタとを比較し、一致したときに本実施例で開示した回転変動検出を行う。
【図面の簡単な説明】
【０１１７】
【図１】本発明の全体構成図。
【図２】制御装置の入出力構成図。
【図３】本発明の処理構成図。
【図４】制御のタイミングチャート。
【図５】燃料増量制御の動作例（補正方法）。
【図６】補正量の動作例。
【図７】補正量演算のフローチャート。
【図８】空燃比制御開始時の動作例。
【図９】空燃比に対するトルク・回転変動の概略図。
【図１０】回転変動のばらつきを示す概略図。
【図１１】回転変動演算の説明図。
【図１２】気筒別補正量演算のタイミングチャート。
【図１３】気筒別補正量演算のフローチャート。
【図１４】ウィンドウ設定の例。
【図１５】クランク角度センサ信号割り込みの従来例。
【図１６】クランク角度センサ信号割り込みのタイミングチャート。
【符号の説明】
【０１１８】
１  内燃機関
２  吸入空気量計
３  スロットル
４  ＩＳＣ通路
５  ＩＳＣバルブ
６  インテークマニホールド
７  燃料噴射弁
８  点火プラグ
９  エアクリーナ
１０  排気管
１１  触媒
１２  排気センサ
１３  水温センサ
１４  クランク角度センサ
１５  制御装置
【図１】
2008267239.tif 000003
【図２】
2008267239.tif 000004
【図３】
2008267239.tif 000005
【図４】
2008267239.tif 000006
【図５】
2008267239.tif 000007
【図６】
2008267239.tif 000008
【図７】
2008267239.tif 000009
【図８】
2008267239.tif 000010
【図９】
2008267239.tif 000011
【図１０】
2008267239.tif 000012
【図１１】
2008267239.tif 000013
【図１２】
2008267239.tif 000014
【図１３】
2008267239.tif 000015
【図１４】
2008267239.tif 000016
【図１５】
2008267239.tif 000017
【図１６】
2008267239.tif 000018