JPH10148154A - エンジンの燃料噴射制御装置 - Google Patents

エンジンの燃料噴射制御装置

Info

Publication number
JPH10148154A
JPH10148154A JP30967796A JP30967796A JPH10148154A JP H10148154 A JPH10148154 A JP H10148154A JP 30967796 A JP30967796 A JP 30967796A JP 30967796 A JP30967796 A JP 30967796A JP H10148154 A JPH10148154 A JP H10148154A
Authority
JP
Japan
Prior art keywords
misfire
cylinder
fuel injection
correction coefficient
engine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP30967796A
Other languages
English (en)
Inventor
Tetsukazu Inoue
哲一 井上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Subaru Corp
Original Assignee
Fuji Heavy Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Heavy Industries Ltd filed Critical Fuji Heavy Industries Ltd
Priority to JP30967796A priority Critical patent/JPH10148154A/ja
Publication of JPH10148154A publication Critical patent/JPH10148154A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

(57)【要約】 (修正有) 【課題】エンジン始動直後においても、失火によるエン
ジン回転変動許容限界となる空燃比限界付近での運転を
可能とする燃料噴射装置を提供する。 【解決手段】所定クランク角毎の回転数の変動差により
各気筒の失火を判断する。失火を検出した時、該当気筒
#iに対する気筒別失火時補正係数KMF#iに比例定数P
KMFを加算してプラス方向にスキップさせる(S62)。KMF
#iは、気筒#iに対する燃料噴射量の燃料噴射パルス幅
の演算式に組み込まれ、失火発生時には、気筒#iへの
噴射量が増量補正され、気筒#iの失火が解消される。
失火の解消後は、KMF#iを積分定数IKMFによって漸次
減少設定し(S66)、気筒#iに対するKMF#iによる燃料
増量分を漸次減少する。失火を検出した時燃料噴射量を
増量補正するので、始動直後においても、基となる燃料
噴射量を失火によるエンジン回転変動許容限界に対応す
る理論空燃比近辺の限界空燃比に対応して設定すること
が可能となる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、エンジン始動直後
においても、失火によるエンジン回転変動許容限界とな
る空燃比限界付近での運転を可能とし、排気エミッショ
ンの改善とドライバビリティの向上とを両立するエンジ
ンの燃料噴射制御装置に関する。
【0002】
【従来の技術】従来から、エンジン始動直後においてド
ライバビリティの悪化を防止すると共に、エンジン回転
の安定化を図るため、エンジン温度を表す冷却水温度や
エンジン始動後の経過時間によって燃料増量補正係数を
設定し、この燃料増量補正係数によって燃料噴射量を増
量補正し、空燃比をリッチ方向に制御している。
【0003】また、上記燃料増量補正係数は、エンジン
毎のばらつきを考慮して燃料増量率を増加するよう高め
に設定されており、このため、空燃比はよりリッチ方向
となる。
【0004】
【発明が解決しようとする課題】従って、エンジン始動
直後の空燃比オープンループ制御時には、排気エミッシ
ョンの改善に効果のある理論空燃比近辺での運転ができ
ない。
【0005】また逆に、エンジン始動直後において排気
ガスエミッションを改善するため理論空燃比近辺でエン
ジンを運転した場合には、失火によりエンジン回転数が
変動したりエンスト等を生じドライバビリティが悪化す
る。
【0006】尚、特開平4−66750号公報には、ア
イドル時において、所定クランク角毎のエンジン回転数
変動差に基づいて気筒毎の燃焼状態を判断し、燃焼状態
が悪い気筒に対しては燃料噴射量を増量して燃焼状態の
改善を図り、他の気筒に対しては上記燃料増量分に対応
して燃料噴射量を分配減量することで、各気筒の燃焼状
態を均一化してアイドル回転変動を防止すると共に、こ
のときのトータル空燃比のオーバリーン或いはオーバリ
ッチを防止する技術が開示されている。
【0007】しかしながら、上記先行例においては、ア
イドル時に、各気筒毎の燃焼状態に応じて各気筒毎に燃
料噴射量を一義的に継続して補正することで、各気筒の
燃焼状態を均一化し、アイドル回転変動を防止するよう
にしており、失火を生じる空燃比限界での運転に対処す
るものではない。
【0008】本発明は、上記事情に鑑み、エンジン始動
直後においても、失火によるエンジン回転変動許容限界
となる空燃比限界付近での運転を可能とし、排気エミッ
ションの改善とドライバビリティの向上とを両立するこ
とが可能なエンジンの燃料噴射制御装置を提供すること
を目的とする。
【0009】
【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の発明によるエンジンの燃料噴射制御
装置は、図1(a)の基本構成図に示すように、失火を
検出する失火検出手段と、失火を検出したとき、燃料噴
射量を増量補正する燃料噴射量補正手段とを備えたこと
を特徴とする。
【0010】請求項2記載の発明によるエンジンの燃料
噴射制御装置は、図1(b)の基本構成図に示すよう
に、失火を検出する失火検出手段と、失火を検出したと
き燃料増量補正のための失火時補正係数に設定値を加算
し、失火が解消したときは該失火時補正係数を漸次減少
する失火時補正係数設定手段と、エンジン運転状態に基
づき設定される基本燃料噴射量を上記失火時補正係数に
より補正して燃料噴射量を設定する燃料噴射量設定手段
とを備えたことを特徴とする。
【0011】請求項3記載の発明によるエンジンの燃料
噴射制御装置は、請求項3記載の発明において、上記失
火時補正係数設定手段は、上記失火時補正係数を上限値
により制限することを特徴とする。
【0012】請求項4記載の発明によるエンジンの燃料
噴射制御装置は、気筒毎の失火を検出する失火検出手段
と、失火を検出したとき、該当気筒の気筒別失火時補正
係数に第1の設定値を加算すると共に、他の気筒の気筒
別失火時補正係数から第2の設定値を減算し、失火が解
消したときには、上記各気筒別失火時補正係数を補正無
しの状態となるまで漸次増加或いは減少する失火時補正
係数設定手段と、エンジン運転状態に基づき設定される
基本燃料噴射量を上記気筒別失火時補正係数により補正
して気筒毎に燃料噴射量を設定する燃料噴射量設定手段
とを備えたことを特徴とする。
【0013】請求項5記載の発明によるエンジンの燃料
噴射制御装置は、請求項4記載の発明において、上記失
火時補正係数設定手段は、上記気筒別失火時補正係数を
上限値及び下限値により制限することを特徴とする。
【0014】請求項6記載の発明によるエンジンの燃料
噴射制御装置は、請求項4記載の発明において、上記第
2の設定値は、第1の設定値に対応して該当失火気筒を
除く他の気筒に対する燃料噴射量を等分配減少させる値
に設定されることを特徴とする。
【0015】すなわち、請求項1記載の発明では、失火
を検出したとき、燃料噴射量を増量補正するので、エン
ジン始動直後においても、基となる燃料噴射量を失火に
よるエンジン回転変動許容限界に対応する理論空燃比近
辺の限界空燃比に対応して設定することができる。従っ
て、この限界空燃比での運転により排気エミッションの
改善が図れ、且つ失火時には直ちに燃料増量補正により
失火が解消されて、失火によるエンジン回転変動が防止
されてドライバビリティが向上する。
【0016】請求項2記載の発明では、失火を検出した
とき、燃料増量補正のための失火時補正係数に設定値を
加算し、失火が解消したときは該失火時補正係数を漸次
減少設定する。そして、エンジン運転状態に基づいて設
定される基本燃料噴射量を上記失火時補正係数により補
正して燃料噴射量を設定する。ここで、失火検出時に
は、失火時補正係数に設定値が加算されて、この失火時
補正係数により直ちに燃料噴射量が増量補正され、これ
により失火が解消し、また、失火の解消後は、失火時補
正係数が漸次的に減少されることで空燃比の急変による
制御性の悪化が防止される。
【0017】この際、請求項3記載の発明では、上記失
火時補正係数を上限値により制限することで、必要以上
の燃料増量による空燃比のオーバリッチを防止し、制御
性の悪化及び失火の解消が阻害されることを防ぐ。
【0018】請求項4記載の発明では、気筒毎の失火を
検出し、失火を検出したときには、該当気筒の気筒別失
火時補正係数を第1の設定値を加算した値により設定す
ると共に、他の気筒の気筒別失火時補正係数を第2の設
定値を減算した値により設定する。また、失火が解消し
たときには、上記各気筒別失火時補正係数を補正無しの
状態となるまで漸次増加或いは減少させる。そして、エ
ンジン運転状態に基づき設定される基本燃料噴射量を上
記気筒別失火時補正係数により補正して気筒毎に燃料噴
射量を設定する。ここで、失火検出時には、該当失火気
筒に対する気筒別失火時補正係数に第1の設定値が加算
されて、この失火時補正係数により直ちに燃料噴射量が
増量補正され、これにより該当失火気筒の失火が解消
し、且つ、このとき他の気筒に対しては、気筒別失火時
補正係数が第2の設定値によって減少設定されて燃料噴
射量が減量補正される。その結果、失火解消後、直ちに
各気筒の燃焼状態が均一化し、気筒毎の燃焼状態の不均
一に起因するエンジン回転変動が防止される。また、失
火の解消後は、燃料噴射量に対する補正無しの状態とな
るまで、該当失火気筒に対する気筒別失火時補正係数が
漸次的に減少され、他の気筒に対する気筒別失火時補正
係数が漸次的に増加され、失火時補正係数による補正解
除時の空燃比の急変が抑制されて制御性の悪化が防止さ
れる。
【0019】この際、請求項5記載の発明では、上記気
筒別失火時補正係数を上限値及び下限値により制限する
ことで、必要以上の過補正を防止する。
【0020】また、請求項6記載の発明では、上記第2
の設定値を、第1の設定値に対応して該当失火気筒を除
く他の気筒に対する燃料噴射量を等分配減少させる値に
設定することで、失火時の燃料補正によるマクロ的なト
ータル空燃比の変化を防ぎ、空燃比制御性の悪化を防
ぐ。
【0021】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態を説明する。図2〜図19は本発明の実施の第
1形態を示す。
【0022】先ず、図16に基づいてエンジンの全体構
成について説明する。同図において、符号1はエンジン
であり、本形態においては水平対向型4気筒ガソリンエ
ンジンである。このエンジン1のシリンダブロック1a
の左右両バンクには、シリンダヘッド2がそれぞれ設け
られ、各シリンダヘッド2に吸気ポート2aと排気ポー
ト2bが形成されている。
【0023】このエンジン1の吸気系は、各吸気ポート
2aにインテークマニホルド3が連通され、このインテ
ークマニホルド3に各気筒の吸気通路が集合するエアチ
ャンバ4を介してスロットルチャンバ5が連通されてい
る。そして、このスロットルチャンバ5の上流側に吸気
管6を介してエアクリーナ7が取り付けられ、このエア
クリーナ7がエアインテークチャンバ8に連通されてい
る。
【0024】また、上記スロットルチャンバ5には、ア
クセルペダルに連動するスロットル弁5aが設けられて
いる。上記吸気管6には、スロットル弁5aをバイパス
するバイパス通路9が接続され、このバイパス通路9
に、アイドル時にその弁開度によって該バイパス通路9
を流れるバイパス空気量を調整することでアイドル回転
数を制御するアイドル回転数制御弁(ISC弁)10が
介装されている。
【0025】更に、上記インテークマニホルド3の各気
筒の吸気ポート2aの直上流側にインジェクタ11が配
設されている。上記インジェクタ11は燃料供給路12
を介して燃料タンク13に連通されており、この燃料タ
ンク13にはインタンク式の燃料ポンプ14が設けられ
ている。この燃料ポンプ14からの燃料が、上記燃料供
給路12に介装された燃料フィルタ15を経て上記イン
ジェクタ11及びプレッシャレギュレータ16に圧送さ
れ、このプレッシャレギュレータ16から上記燃料タン
ク13にリターンされて、上記インジェクタ11への燃
料圧力が所定の圧力に調圧される。
【0026】一方、上記シリンダヘッド2の各気筒毎
に、先端の放電電極を燃焼室に露呈する点火プラグ17
が取り付けられ、この点火プラグ17に、各気筒毎に配
設された点火コイル18を介してイグナイタ19が接続
されている。
【0027】また、エンジン1の排気系としては、上記
シリンダヘッド2の各排気ポート2bに連通するエキゾ
ーストマニホルド20の集合部に排気管21が連通さ
れ、この排気管21に触媒コンバータ22が介装されて
マフラ23に連通されている。
【0028】次に、エンジン運転状態を検出するための
センサ類について説明する。上記吸気管6のエアクリー
ナ7の直下流に、ホットワイヤ或いはホットフィルム等
を用いた熱式の吸入空気量センサ24が介装され、更
に、上記スロットルチャンバ5に設けられたスロットル
弁5aに、スロットル開度センサ25aとスロットル弁
5aの全閉でONするアイドルスイッチ25bとを内蔵
したスロットルセンサ25が連設されている。
【0029】また、エンジン1のシリンダブロック1a
にノックセンサ26が取り付けられていると共に、シリ
ンダブロック1aの左右バンクを連通する冷却水通路2
7に冷却水温センサ28が臨まされ、更に、上記触媒コ
ンバータ22の上流に空燃比状態を検出するためのO2
センサ29が配設されている。
【0030】また、エンジン1のクランクシャフト30
に軸着するクランクロータ31の外周に、クランク角セ
ンサ32が対設され、更に、クランクシャフト30に対
して1/2回転するカムシャフト33に連設するカムロ
ータ34に、気筒判別用のカム角センサ35が対設され
ている。
【0031】上記クランクロータ31は、図17に示す
ように、その外周に突起31a,31b,31cが形成
され、これらの各突起31a,31b,31cが、各気
筒(#1,#2気筒と#3,#4気筒)の圧縮上死点前
(BTDC)θ1,θ2,θ3の位置に形成されている。
本実施の形態においては、θ1=97°CA,θ2=65
°CA,θ3=10°CAである。
【0032】また、図18に示すように、上記カムロー
タ34の外周には、気筒判別用の突起34a,34b,
34cが形成され、突起34aが#3,#4気筒の圧縮
上死点後(ATDC)θ4の位置に形成され、突起34
bが3個の突起で構成されて最初の突起が#1気筒のA
TDCθ5の位置に形成されている。更に、突起34c
が2個の突起で構成され、最初の突起が#2気筒のAT
DCθ6の位置に形成されている。本実施の形態におい
ては、θ4=20°CA,θ5=5°CA,θ6=20°
CAである。
【0033】そして、図9のタイムチャートに示すよう
に、エンジン運転に伴いクランクシャフト30及びカム
シャフト33の回転により上記クランクロータ31及び
カムロータ34が回転して、クランクロータ31の各突
起が上記クランク角センサ32によって検出され、クラ
ンク角センサ32からθ1,θ2,θ3(BTDC97
°,65°,10°)の各クランクパルスがエンジン1
/2回転(180°CA)毎に出力される。一方、θ3
クランクパルスとθ1クランクパルスとの間で上記カム
ロータ34の各突起が上記カム角センサ35によって検
出され、カム角センサ35から所定数のカムパルスが出
力される。
【0034】そして、後述する電子制御装置40(図1
9参照)において、上記クランク角センサ32から出力
されるクランクパルスの入力間隔時間Tθに基づいてエ
ンジン回転数NEを算出し、また、各気筒の燃焼行程順
(例えば、#1気筒→#3気筒→#2気筒→#4気筒)
と、上記カム角センサ35からのカムパルスをカウンタ
によって計数した値とのパターンに基づいて、燃料噴射
対象気筒や点火対象気筒等の気筒判別を行う。
【0035】上記インジェクタ11、点火プラグ17,
ISC弁10等のアクチュエータ類に対する制御量の演
算、制御信号の出力、すなわち燃料噴射制御、点火時期
制御、アイドル回転数制御等のエンジン制御は、図19
に示す電子制御装置(ECU)40によって行われる。
【0036】上記ECU40は、CPU41、ROM4
2、RAM43、バックアップRAM44、カウンタ・
タイマ群45、及びI/Oインターフェイス46がバス
ラインを介して互いに接続されるマイクロコンピュータ
を中心として構成され、各部に安定化電源を供給する定
電圧回路47、上記I/Oインターフェイス46に接続
される駆動回路48及びA/D変換器49等の周辺回路
が内蔵されている。
【0037】なお、上記カウンタ・タイマ群45は、フ
リーランカウンタ、カム角センサ信号(カムパルス)の
入力計数用カウンタ等の各種カウンタ、燃料噴射用タイ
マ、点火用タイマ、定期割り込みを発生させるための定
期割り込み用タイマ、クランク角センサ信号(クランク
パルス)の入力間隔計時用タイマ、及びシステム異常監
視用のウオッチドッグタイマ等の各種タイマを便宜上総
称するものであり、その他、各種のソフトウエアカウン
タ・タイマが用いられる。
【0038】上記定電圧回路47は、2回路のリレー接
点を有する電源リレー50の第1のリレー接点を介して
バッテリ51に接続され、バッテリ51に、上記電源リ
レー50のリレーコイルがイグニッションスイッチ52
を介して接続されている。また、上記定電圧回路47
は、直接、上記バッテリ51に接続されており、イグニ
ッションスイッチ52がONされて電源リレー50の接
点が閉となるとECU40内の各部へ電源を供給する一
方、上記イグニッションスイッチ52のON,OFFに
拘らず、常時、上記バックアップRAM44にバックア
ップ用の電源を供給する。更に、上記バッテリ51に
は、燃料ポンプリレー53のリレー接点を介して燃料ポ
ンプ18が接続されている。なお、上記電源リレー50
の第2のリレー接点には、上記バッテリ51から各アク
チュエータに電源を供給するための電源線が接続されて
いる。
【0039】上記I/Oインターフェイス46の入力ポ
ートには、アイドルスイッチ25b、ノックセンサ2
6、クランク角センサ32、カム角センサ35、車速を
検出するための車速センサ36、及び始動状態を検出す
るためにスタータスイッチ37が接続されており、更
に、上記A/D変換器49を介して、吸入空気量センサ
24、スロットル開度センサ25a、冷却水温センサ2
8、及びO2センサ29が接続されると共に、バッテリ
電圧VBが入力されてモニタされる。
【0040】一方、上記I/Oインターフェイス46の
出力ポートには、ISC弁10、インジェクタ11、燃
料ポンプリレー53のリレーコイルが上記駆動回路48
を介して接続されると共に、イグナイタ19が接続され
ている。
【0041】上記CPU41では、ROM42に記憶さ
れている制御プログラムに従って、I/0インターフェ
イス46を介して入力されるセンサ・スイッチ類からの
検出信号、及びバッテリ電圧等を処理し、RAM43に
格納される各種データ、及びバックアップRAM44に
格納されている各種学習値データ,ROM42に記憶さ
れている固定データ等に基づき、燃料噴射量、点火時
期、ISC弁10に対する駆動信号のデューティ比等を
演算し、燃料噴射制御、点火時期制御、アイドル回転数
制御等のエンジン制御を行う。
【0042】このようなエンジン制御系において、EC
U40では、エンジン回転状態量の一例としてエンジン
回転数NEを用い、所定周期毎のエンジン回転数変化量
に基づいて気筒毎に失火が生じたか否かを判断し、失火
を検出したとき、該当気筒の燃料噴射量を増量補正して
失火を解消させる。
【0043】すなわち、失火を検出したとき燃料噴射量
を増量補正するので、エンジン始動直後においても、基
となる燃料噴射量を失火によるエンジン回転変動許容限
界に対応する理論空燃比近辺の限界空燃比に対応して設
定することができ、従って、この限界空燃比での運転に
より排気エミッションの改善が図れ、且つ失火時には直
ちに燃料増量補正により失火が解消されて、失火による
エンジン回転変動が防止されてドライバビリティが向上
する。換言すれば、エンジン始動直後において、失火に
よるエンジン回転変動許容限界となる空燃比限界付近で
の運転が可能となり、排気エミッションの改善とドライ
バビリティの向上とを両立することが可能となる。
【0044】より詳細には、本形態においては、所定ク
ランク角毎のエンジン回転数の変動差により各気筒の失
火を判断する。具体的には、BTDCθ2,θ3間、すな
わちθ2,θ3クランクパルス入力間のエンジン回転数を
採用し、今回算出したエンジン回転数から前回の同区間
におけるエンジン回転数を減算して差回転を算出し、こ
の差回転に基づいて該当気筒の失火を判断する。そし
て、失火を検出したとき、燃料増量補正のための該当気
筒に対応する失火時補正係数に設定値を加算し、失火が
解消したときは該失火時補正係数を漸次減少設定する。
そして、エンジン運転状態に基づいて設定される基本燃
料噴射量を上記失火時補正係数により補正して該当気筒
に対する燃料噴射量を設定する。従って、失火検出時に
は、失火時補正係数に設定値が加算されて、この失火時
補正係数により直ちに燃料噴射量が増量補正され、これ
により失火が解消し、また、失火の解消後は、失火時補
正係数が漸次的に減少されることで空燃比の急変による
制御性の悪化が防止される。
【0045】すなわち、ECU40は、本発明に係る失
火検出手段、燃料噴射量補正手段の機能を有し、更に、
失火時補正係数設定手段、燃料噴射量設定手段としての
機能をも実現する。
【0046】以下、上記ECU40によって実行される
本発明に係る制御処理について、図2〜図8に示すフロ
ーチャートに従って説明する。
【0047】先ず、イグニッションスイッチ52がON
され、ECU40に電源が投入されると、システムがイ
ニシャライズされ、バックアップRAM44に格納され
ている各種学習値等のデータを除く、各フラグ、各カウ
ンタ類が初期化される。そして、スタータスイッチ37
がONされてエンジンが起動すると、クランク角センサ
32からのクランクパルス入力毎に、図2に示す気筒判
別/エンジン回転数算出ルーチンが実行される。
【0048】この気筒判別/エンジン回転数算出ルーチ
ンでは、エンジン運転に伴いクランクロータ31が回転
してクランク角センサ32からのクランクパルスが入力
されると、先ず、ステップS1で、今回入力されたクラン
クパルスがθ1,θ2,θ3の何れのクランク角に対応す
る信号かをカム角センサ35からのカムパルスの入力パ
ターンに基づいて識別し、ステップS2で、クランクパル
スとカムパルスとの入力パターンから現在の燃焼行程気
筒、失火診断対象気筒、点火対象気筒、及び燃料噴射対
象気筒等の気筒判別を行う。
【0049】すなわち、図9のタイムチャートに示すよ
うに、例えば、前回クランクパルスが入力してから今回
クランクパルスが入力されるまでの間にカムパルス入力
が有れば、今回のクランクパルスはθ1クランクパルス
であると識別でき、更に次回入力されるクランクパルス
はθ2クランクパルスと識別できる。
【0050】また、前回と今回とのクランクパルス入力
間にカムパルス入力が無く、前々回と前回のクランクパ
ルス入力間にカムパルス入力が有ったときには、今回の
クランクパルスはθ2クランクパルスと識別でき、次回
入力されるクランクパルスはθ3クランクパルスと識別
できる。また、前回と今回との間、及び前々回と前回と
のクランクパルス入力間に、何れもカムパルス入力が無
いときには、今回入力されたクランクパルスはθ3クラ
ンクパルスと識別でき、次回入力されるクランクパルス
はθ1クランクパルスと識別できる。
【0051】さらに、前回と今回とのクランクパルス入
力間にカムパルスが3個入力(突起34bに対応するθ
5カムパルス)したときには、次の圧縮上死点は#3気
筒であり、現在の燃焼行程気筒は#1気筒、失火診断対
象気筒は1燃焼行程前の#4気筒、点火対象気筒は#3
気筒、燃料噴射対象気筒は、その2つ後の#4気筒とな
ることが判別できる。また、前回と今回のクランクパル
ス入力間にカムパルスが2個入力(突起34cに対応す
るθ6カムパルス)したときには、次の圧縮上死点は#
4気筒であり、現在の燃焼行程気筒は#2気筒、失火診
断対象気筒は#3気筒、点火対象気筒は#4気筒、燃料
噴射対象気筒は#3気筒と判別できる。
【0052】また、前回と今回とのクランクパルス入力
間にカムパルスが1個入力(突起34aに対応するθ4
カムパルス)し、前の圧縮上死点判別が#4気筒であっ
たときには、次の圧縮上死点は#1気筒であり、現在の
燃焼行程気筒は#4気筒、失火診断対象気筒は#2気
筒、点火対象気筒は#1気筒、燃料噴射気筒は#2気筒
と判別できる。同様に、前回と今回とのクランクパルス
入力間にカムパルスが1個入力し、前の圧縮上死点判別
が#3気筒であったときには次の圧縮上死点は#2気筒
であり、現在の燃焼行程気筒は#3気筒、失火診断対象
気筒は#1気筒、点火対象気筒は#2気筒、燃料噴射対
象気筒は#1気筒と判別できる。
【0053】本形態の4サイクル4気筒エンジン1で
は、燃焼行程は#1→#3→#2→#4の気筒順であ
り、図9の点火及び燃料噴射のタイムチャートに示すよ
うに、カムパルス出力時の今回の燃焼行程気筒#nを#
1気筒とすると、失火診断対象気筒はその1つ前の#n
-1気筒すなわち#4気筒であり、点火対象気筒は圧縮上
死点を迎える#n+1=#3気筒、このときの燃料噴射対
象気筒#iはその2つ後の#n+3=#4気筒となる。そ
して、今回の燃焼行程気筒#n、及び失火診断対象気筒
#n-1の気筒判別結果が、θ3クランクパルス入力毎に
実行される図3〜図4の失火診断ルーチンにおいて参照
され、該当気筒#n-1に対する失火診断が行われる。
【0054】また、ここでは詳述しないが、点火対象気
筒#n+1の判別結果に応じて該当気筒#n+1に対する点
火時期が設定されて、気筒毎に点火時期制御が行われ
る。更に、燃料噴射対象気筒#i(#n+3気筒)の判別
結果が、所定周期毎に実行される燃料噴射量設定ルーチ
ンにおいて参照されて、気筒毎に燃料噴射量が設定さ
れ、燃料噴射は該当気筒に対して720°CA(エンジ
ン2回転)毎に1回のシーケンシャル噴射が行われる。
【0055】その後、ステップS2からステップS3へ進
み、前記クランクパルス入力間隔計時用タイマによって
計時された前回のクランクパルス入力から今回のクラン
クパルス入力までの時間、すなわちクランクパルス入力
間隔時間(θ1クランクパルスとθ2クランクパルスの入
力間隔時間Tθ12、θ2クランクパルスとθ3クランクパ
ルスの入力間隔時間Tθ23、或いはθ3クランクパルス
とθ1クランクパルスの入力間隔時間Tθ31)を読み出
し、クランクパルス入力間隔時間Tθを検出する。
【0056】次いで、ステップS4へ進み、今回識別した
クランクパルスに対応するクランクパルス間角度を読み
出し、このクランクパルス間角度と上記クランクパルス
入力間隔時間Tθとに基づいて現在のエンジン回転数N
Eを算出し、RAM43の所定アドレスにストアしてル
ーチンを抜ける。なお、上記クランクパルス間角度は既
知であり、予めROM42に固定データとして記憶され
ているものであり、本実施の形態においては、θ1クラ
ンクパルスとθ2クランクパルス間の角度は32°CA
であり、θ2クランクパルスとθ3クランクパルス間の角
度は55°CA、θ3クランクパルスとθ1クランクパル
ス間の角度は93°CAである。また、エンジン始動時
を考慮し、エンジン回転数NEは、例えば、150rpm以
上で算出される。
【0057】そして、θ3クランクパルス入力毎に実行
される図3〜図4に示す失火診断ルーチンにおいて、上
記失火診断対象気筒#n-1、今回の燃焼行程気筒#n、
及びエンジン回転数NEの各データが読み出され、該当
失火診断対象気筒#n-1に対する失火診断が行われる。
【0058】ここで、上記失火診断ルーチンは、θ3ク
ランクパルス入力に対応して実行され、このとき、上記
気筒判別/エンジン回転数算出ルーチンによりθ2クラ
ンクパルスとθ3クランクパルス間の入力間隔時間Tθ2
3に基づきBTDCθ2,θ3間のエンジン回転数NEが算
出されており、上述のBTDCθ2,θ3間のエンジン回
転数NEに基づいて該当気筒の失火診断が行われること
になる。
【0059】この失火診断ルーチンにおいては、先ず、
ステップS11で、前回のルーチン実行時に得られた各デ
ータをワークエリアにストアし、ステップS12で、現在
のエンジン回転数NE、すなわち最新のBTDCθ2,θ
3間のエンジン回転数NEを読み出して、現在の気筒#n
に対応するエンジン回転数MNXnとする(MNXn←
NE)。
【0060】次にステップS13へ進み、上記ステップS12
で設定された現在の気筒#nに対応するエンジン回転数
MNXnから、前回ルーチン実行時に設定されワークエ
リアにストアされた1燃焼行程前の気筒#n-1に対応す
るエンジン回転数MNXn-1を減算し、所定クランク角
毎のエンジン回転数変動量としての差回転DELNEn
を算出する(DELNEn←MNXn−MNXn-1)。
【0061】そして、ステップS14,S15で、上記気筒判
別/エンジン回転数算出ルーチンにおいて気筒判別され
た今回の燃焼行程気筒データ#n,失火診断対象気筒デ
ータ#n-1を読み出して、今回の燃焼行程気筒#n,失
火診断対象気筒#n-1(=1燃焼行程前の気筒)をそれ
ぞれ特定する。
【0062】次いでステップS16で、上記差回転DEL
NEnから、後述のステップS26,S27による統計処理に
より4回前の本ルーチン実行時、すなわち1サイクル前
(720°CA前)に算出した当該気筒#nに対する差
回転補正値AVEDNXn-4を減算し、補正差回転DE
LNAnを算出する(DELNAn←DELNEn−A
VEDNXn-4)。この差回転補正値AVEDNXは、
詳しくは後述するが、全気筒の補正差回転DELNAを
加重平均して全気筒差回転加重平均値AVEDNを算出
し、さらに、この全気筒差回転加重平均値AVEDNに
対する当該気筒#nの差回転DELNEnの差を、加重
平均したものである。
【0063】すなわち、上記クランク角センサ32によ
って検出されるクランク角には、クランクロータ31の
各突起31a,31b,31cの位置及び形状等、製造
上の許容誤差、クランク角センサ32のエンジン1への
取付位置の許容誤差等がエンジン毎に存在する。従っ
て、上記クランク角センサ32からのクランクパルスに
基づいて算出される上記差回転DELNEには、これら
の誤差によるばらつきが含まれている。このため、特に
エンジン高回転時には、図10に示すように、見掛け
上、大きなエンジン回転変動が一律に発生するような結
果となり、この差回転DELNEによって直接、失火診
断を行うと、誤診断を生じる。
【0064】従って、上記差回転DELNEnから、統
計処理により1サイクル前に算出した当該気筒#nに対
する差回転補正値AVEDNXn-4を減算し、補正差回
転DELNAnを算出することで、クランクロータ31
の各突起31a,31b,31cの位置及び形状等の製
造上の許容誤差、クランク角センサ32のエンジン1へ
の取付位置の許容誤差等の影響を除去し、当該気筒#n
に対するエンジン回転数MNXnと1燃焼行程前の気筒
#n-1に対するエンジン回転数MNXn-1との間の正確
な差回転を得る。なお、図11のタイミングチャート
に、上記補正差回転DELNAを示す。図10に示す差
回転DELNEに対し、図11に示すように、補正差回
転DELNAでは、上記許容誤差の影響が排除された正
確な差回転が得られていることが解る。
【0065】なお、図10、図11、及び後述する図1
2においては、縦軸の1目盛りを50rpm、横軸の1目
盛り(1div)を720°CAとして、ECU40で算
出された差回転データを示す。
【0066】ここで、例えば、この失火診断ルーチンが
#3気筒のBTDCθ3クランクパルス入力により実行
された場合、今回の燃焼行程気筒#nは#1気筒であ
り、1燃焼行程前の気筒#n-1として#4気筒が失火診
断対象気筒となる(図9参照)。 そして、今回のルー
チンにおいて、#3気筒のBTDCθ2,θ3のクランク
パルス入力間隔時間に基づいて算出した現在燃焼行程の
#1気筒(#n気筒)の回転数MNX#1(=MNXn)
から、#1気筒のBTDCθ2,θ3のクランクパルス入
力間隔時間に基づく1燃焼行程前の#4気筒(#n-1気
筒)の回転数MNX#4(=MNXn-1)を減算して#1
気筒に対する差回転DELNE#1(DELNEn=MN
Xn−MNXn-1)を算出する。そして、この差回転D
ELNE#1から4回前の本ルーチン実行時すなわち1サ
イクル前に算出した当該#1気筒に対する差回転補正値
AVEDNX#1(AVEDNXn-4)を減算し、当該#
1気筒の補正差回転DELNA#1(DELNAn)を算
出する。
【0067】そして、ステップS17以降の処理で、この
#1気筒の補正差回転DELNA#1(DELNAn)か
ら、前回のルーチン実行時に算出した1燃焼行程前の診
断対象気筒#n-1となる#4気筒の補正差回転DELN
A#4(DELNAn-1)を減算して、#1気筒の補正差
回転変化DDNEA#1(DDNEAn)を算出する。そ
して、この#1気筒の補正差回転変化DDNEA#1(D
DNEAn)と、前回ルーチン実行時に算出した#4気
筒の補正差回転変化DDNEA#4(DDNEAn-1)と
の変化状態によって、該当失火診断対象の#4気筒(#
n-1気筒)に対する失火診断を行う。
【0068】すなわち、ステップS17では、上記ステッ
プS16で算出した#n気筒の補正差回転DELNAnか
ら、前回ルーチン実行時に算出されワークエリアにスト
アされている#n-1気筒の補正差回転DELNAn-1を
減算して、#n気筒に対する補正差回転変化DDNEA
nを算出する(DDNEAn←DELNAn−DELN
An-1)。
【0069】この補正差回転変化DDNEAの挙動を、
図12のタイミングチャートに示す。
【0070】ここで、エンジン1にスナッチ等の断続的
な回転変動が発生すると、補正差回転DELNAを所定
の失火判定レベルと比較するだけでは、このスナッチ等
による断続的な回転変動をも失火と誤診断してしまい、
正確な失火診断を行うことができない。従って、前後の
気筒の補正差回転DELNAの変化、すなわち補正差回
転変化DDNEAによって失火を診断することで、失火
発生時のエンジン運転状態に応じてレベルの変化する差
回転(補正差回転DELNA)に対し、スナッチ等の断
続的な回転変動の影響を排除して正確な失火診断を可能
とする。
【0071】次いでステップS18へ進み、ステップS18〜
S20で、失火診断条件が成立するか否かを判断する。
【0072】すなわち、ステップS18で、燃料カット中
か否かを判断し、燃料カットが行われていないとき、ス
テップS19で、後述する燃料噴射量設定ルーチンにおい
て設定され基本燃料噴射量を定める基本燃料噴射パルス
幅Tpを下限値TpLWERと比較し、現在のエンジン運転
領域が失火診断可能領域にあるか否かを判断する。そし
て、Tp≧TpLWREのとき、続くステップS20で、現在
のエンジン回転数NEを上限値NEUPERと比較する。
【0073】ここで、燃料カット中のときには、燃料が
噴射されておらず、各気筒とも強制失火状態にあり、失
火診断を行うことができない。また、Tp<TpLWREで
燃料噴射量が微少のときには、失火以外の回転変動成分
が大きくエンジン回転数変化によって失火診断を行うと
誤診断を生じる。さらに、NE≧NEUPERの高回転域で
は、回転変動がなまされ、この領域においては失火診断
を行うことはできない。
【0074】従って、燃料カット中のとき、或いはTp
<TpLWREの失火診断不能領域のとき、或いはNE>NE
UPERの高回転域のときには、失火診断条件の不成立によ
り該当するステップからステップS21へ進み、診断許可
フラグFLGDIAGをクリア(FLGDIAG←0)して失火
診断を禁止し、ステップS23へ進む。
【0075】一方、燃料噴射が行われており、Tp≧T
pLWREで現在のエンジン運転状態が失火診断可能領域に
あり、且つNE<NEUPERで高回転を除く領域のとき、失
火診断条件成立と判断してステップS22へ進み、診断許
可フラグFLGDIAGをセット(FLGDIAG←1)して失
火診断を許可し、ステップS23へ進む。
【0076】そして、ステップS23で、図5に示す失火
診断サブルーチンを実行し、該当失火診断対象気筒#n
-1に対する失火診断を行う。
【0077】この失火診断サブルーチンでは、ステップ
S31で、上記診断許可フラグFLGDIAGを参照し、FL
GDIAG=0で診断条件不成立により失火診断が禁止され
ているときには、ステップS36へジャンプし、該当失火
診断対象気筒#n-1の失火を表す気筒別失火フラグFL
GMISn-1をクリアして(FLGMISn-1←0)、
失火診断ルーチン(図4)のステップS24へ進む。
【0078】一方、上記ステップS31においてFLGDIA
G=1で、失火診断が許可されているときには、ステッ
プS32へ進み、現在のエンジン回転数NEとエンジン負荷
を表す基本燃料噴射パルス幅Tpとに基づいてマップを
参照し、補間計算により失火判定レベルLVLMISを
設定する。
【0079】この失火判定レベルLVLMISは、上記
補正差回転変化DDNEAとの比較により失火を判断す
るためのもので、エンジン型式毎のエンジン特性、及び
エンジン運転状態によって相違する。従って、予め実
験、或いはシュミレーション等によりエンジン回転数N
Eと基本燃料噴射パルス幅Tpとによる運転領域毎に、
失火を生じたときの補正差回転変化DDNEAを求め、
これに対応する失火判定レベルLVLMISを、エンジ
ン回転数NEと基本燃料噴射パルス幅Tpとをパラメー
タとするマップとして設定し、ROM42の一連のアド
レスにメモリしておく。
【0080】なお、図13に示すように、上記失火判定
レベルLVLMISは、基本燃料噴射パルス幅Tpが下
限値以下の場合を、診断不可能な領域として設定し、こ
れ以外の領域について、基本燃料噴射パルス幅Tpが増
加しエンジン負荷が高くなるに従い、高い値に設定され
る。
【0081】そして、ステップS33で、上記ステップS17
で算出した#n気筒に対する補正差回転変化DDNEA
nを読み出して、上記失火判定レベルLVLMISと比
較する。そして、DDNEAn≧LVLMISのとき、
続くステップS34で、前回ルーチン実行時に算出されワ
ークエリアにストアされている該当失火診断対象気筒#
n-1に対する補正差回転変化DDNEAn-1を読み出
し、マイナスの失火判定レベル−LVLMISと比較す
る。
【0082】そして、DDNEAn-1≦−LVLMIS
のとき、該当失火診断対象気筒#n−1の失火と判断し
て、ステップS35へ進み、該当気筒の失火フラグFLG
MISn-1をセットして(FLGMISn-1←1)、失
火診断ルーチンのステップS24へ進む。
【0083】また、上記ステップS33でDDNEAn<
LVLMISのとき、或いはステップS34でDDNEA
n-1>−LVLMISのときには、該当失火診断対象気
筒#n-1に失火を生じていないと判断して、ステップS3
6へ進み、該当気筒の失火フラグFLGMISn-1をク
リアして、失火診断ルーチンのステップS24へ進む。
【0084】ここで、図14に示すように、#n-1気筒
が失火したときには、燃焼による有効圧力を得られない
ないため、#n-1気筒の燃焼行程前のエンジン回転数M
NXn-2に対して、#n-1気筒の排気弁が開弁する燃焼
行程終期のエンジン回転数MNXn-1が低下し、補正差
回転変化DDNEAn-1はマイナスの値となって、マイ
ナス失火判定レベル−LVLMIS以下の値を示す。そ
して、このエンジン回転数MNXn-1に対し、次気筒#
nの燃焼により次の区間のMNXnが上昇し、従って、
#n気筒に対する補正差回転変化DDNEAnはプラス
値となり、上記失火判定レベルLVLMIS以上の値を
示す。従って、これにより該当失火診断対象気筒#n-1
に対する失火を適切に診断することが可能となる。
【0085】また、前後の気筒の補正差回転DELNA
の変化、すなわち1燃焼行程前の失火診断対象気筒#n
-1の補正差回転変化DDNEAn-1と、現在燃焼行程気
筒#nの補正差回転変化DDNEAnとを用い、該当失
火診断対象気筒#n-1に対する補正差回転変化DDNE
An-1がマイナス失火判定レベル−LVLMIS以下と
なった後、次気筒すなわち今回の燃焼行程気筒#nの補
正差回転変化DDNEAnが失火判定レベルLVLMI
S以上となったときのみ、該当失火診断対象気筒#n-1
が失火したと判断するので、失火発生時のエンジン運転
状態に応じてレベルの変化する差回転(補正差回転DE
LNA)に対し、スナッチ等の断続的な回転変動の影響
を排除して、正確に失火を検出することができる。
【0086】そして、失火診断サブルーチンの終了によ
り、失火診断ルーチンのステップS24へ進むと(図4参
照)、ステップS24以降の処理により次回の失火診断に
備え、統計処理によって当該気筒#n-1に対する差回転
補正値AVEDNXn-1を算出する。
【0087】ステップS24では、今回の該当失火診断対
象気筒#n-1の失火フラグFLGMISn-1を参照し、
FLGMISn-1=0で今回の失火診断対象気筒#n-1
に失火が発生していないとき、ステップS25へ進む。そ
して、ワークエリアにストアされている該当気筒#n-1
の差回転DELNEn-1と全気筒の差回転を加重平均し
た前回ルーチン実行時の全気筒差回転加重平均値AVE
DNn-1との差(DELNEn-1−AVEDNn-1)を
算出して、下限値MINDN及び上限値MAXDNと比
較することで、クランクロータ31の各突起31a,3
1b,31cの位置及び形状等の製造上の許容誤差、ク
ランク角センサ32のエンジン1への取付位置の許容誤
差等による回転変動が上記差回転DELNEn-1に含ま
れているか否かを判断する。
【0088】そして、MINDN<DELNEn-1−A
VEDNn-1<MAXDNで、該当気筒#n-1の差回転
DELNEn-1と全気筒差回転加重平均値ADVDNn
-1との差が、上,下限値MAXDN,MINDNにより
定まる設定範囲内のときには、クランクロータ31、ク
ランク角センサ32に係る誤差により差回転DELNE
n-1が変動していると判断してステップS26へ進み、前
回までの上記全気筒差回転加重平均値AVEDNn-1と
該当気筒#n-1の補正差回転DELNAn-1とを加重平
均して、今回の全気筒差回転加重平均値AVEDNnを
算出する(AVEDNn←(3/4)×AVEDNn-1
+(1/4)×DELNAn-1)。
【0089】次いでステップS27で、5回前の本ルーチ
ンで算出した当該気筒#n-1(本実施の形態では4気筒
エンジンであり、#n-1気筒と#n-5気筒は同一気筒で
ある)に対する差回転補正値AVEDNXn-5を、ワー
クエリアにストアされている当該気筒#n-1の差回転D
ELNEn-1と前回ルーチン実行時に上記ステップS26
により算出した全気筒差回転加重平均値AVEDNn-1
との差(DELNEn-1−AVEDNn-1)を用い加重
平均して、該当気筒#n-1に対する差回転補正値AVE
DNXn-1とし(AVEDNXn-1←(7/8)×AV
EDNXn-5+(1/8)×(DELNEn-1−AVE
DNn-1))、ルーチンを抜ける。
【0090】そして、次回(3回後の本ルーチン実行
時)に該当気筒#n-1(#n)に対する補正差回転DE
LNAn-1(DELNAn)を算出する際に、この差回
転補正値AVEDNXn-1(AVEDNXn-4)が用い
られ、差回転からクランクロータ31の各突起31a,
31b,31cの位置及び形状等の製造上の許容誤差、
クランク角センサ32のエンジン1への取付位置の許容
誤差等の影響が除去される。
【0091】一方、上記ステップS24で、FLGMIS
n-1=1で該当気筒#n-1に失火が生じているときに
は、ステップS24からステップS28へ進み、前回ルーチン
実行時の全気筒差回転加重平均値AVEDNn-1を今回
の全気筒差回転加重平均値AVEDNnとし(AVED
Nn←AVEDNn-1)、続くステップS29で、5回前
の本ルーチンで算出した差回転補正値AVEDNXn-5
を、当該気筒#n-1に対する差回転補正値AVEDNn
-1とし(AVEDNXn-1←AVEDNXn-5)、ルー
チンを抜ける。
【0092】また、上記ステップS25において、MIN
DN≧DELNEn-1−AVEDNn-1のときには、差
回転DELNEn-1に含まれるクランクロータ31、ク
ランク角センサ32に係る誤差の影響が無視できると判
断し、また、DELNEn-1−AVEDNn-1≧MAX
DNで回転変動が大きいときには、スナッチ等による回
転変動と判断して、同様に、上記ステップS28,S29を経
てルーチンを抜ける。
【0093】そして、以上の失火診断処理による気筒別
失火フラグFLGMISが燃料噴射量設定の際に参照さ
れ、該当気筒に失火が生じているときには、該当気筒に
対する燃料噴射量が直ちに増量補正される。
【0094】次に、図6〜図8のフローチャートに従っ
て、本発明に係る燃料噴射制御処理について説明する。
【0095】図6〜図7に示すフローチャートは、燃料
噴射量設定ルーチンであり、気筒毎にエンジンに供給す
る最終的な燃料噴射量を定める燃料噴射パルス幅Ti#i
が設定される。この燃料噴射量設定ルーチンは、所定周
期(例えば、180°CA)毎に実行され、ステップS4
1で、現在のエンジン回転数NEと吸入空気量センサ24
からの出力信号に基づく吸入空気量Qとから、基本燃料
噴射量を定める基本燃料噴射パルス幅Tpを算出する
(Tp←K×Q/NE ;Kはインジェクタ特性補正定
数)。
【0096】次いでステップS42で、スタータスイッチ
37の作動状態を判断し、スタータスイッチ37がON
(クランキング中)のとき、ステップS43へ進んで、始
動増量係数KSTを設定値CKST(但し、CKST>1.0)に
より設定してステップS45へ進み、また、スタータスイ
ッチ37がOFFのときは、ステップS44で、始動増量
係数KSTを1.0(補正無し)に設定してステップS45
へ進む。上記始動増量係数KSTは、始動性確保のためス
タータモータ作動中のクランキング時のみ燃料増量を行
うためのものである。
【0097】そして、ステップS45では、エンジン回転
数NEと基本燃料噴射パルス幅Tpとに基づきテーブル参
照により混合比割付係数KMRを設定する。この混合比割
付係数KMRは、エンジン回転数NEとエンジン負荷を表
す基本燃料噴射パルス幅Tpとにより特定される領域毎
に適正空燃比を得るためのもので、テーブルには予め実
験等により求めた最適値がストアされている。
【0098】次いで、ステップS46では、スロットル開
度センサ25aによるスロットル開度THV、基本燃料
噴射パルス幅Tp、エンジン回転数NEに基づいてフル増
量係数KFULLを設定する。このフル増量係数KFULLは、
スロットル開度THVが全開状態のとき、或いは基本燃
料噴射パルス幅Tpにより判断されるエンジン負荷が高
負荷状態のとき、エンジン回転数NEをパラメータとす
るテーブルにより設定されるもので、エンジン出力が要
求される領域での出力性能を確保する。なお、スロット
ル全開領域及び高負荷域を除く領域においては、KFULL
=0である。
【0099】続くステップS47では、冷却水温センサ2
8による冷却水温度TWに基づいてテーブル参照により
水温増量係数KTWを設定する。この水温増量係数KTW
は、エンジン冷態時の運転性を確保するための燃料増量
率を定めるものであり、ステップS47中に図示するよう
に、冷却水温度TWが低い程、大きい値の水温増量係数
KTWがテーブルにストアされている。
【0100】次いで、ステップS48で、始動後増量係数
KASを設定する。この始動後増量係数KASは、エンジン
始動直後のエンジン回転数の安定性を確保するためのも
ので、ステップS48中に示すように、スタータスイッチ
37がONのとき、冷却水温度TWに基づき初期値を設
定し、スタータスイッチ37のOFF後、KAS=0にな
るまで漸次的に減少される。
【0101】続くステップS49では、アイドル後増量係
数KAIを設定する。このアイドル増量後係数KAIは、ア
イドル解除時のもたつきを防止するためのものであり、
同ステップ中に示すように、車速VSPが設定値(例え
ば、15km/h)以下で且つアイドルスイッチ25bがO
N(スロットル弁全閉)からOFF(スロットル弁開)
に移行したとき冷却水温度TWに基づき初期値に設定さ
れ、その後、KAI=0になるまで漸次的に減少される。
【0102】そして、ステップS50で、上記気筒判別/
エンジン回転数算出ルーチンによって気筒判別された燃
料噴射対象気筒データ#iを読み出し、ステップS51
で、図8に示す失火時補正係数設定サブルーチンを実行
し、該当気筒#iに失火が生じたときに燃料増量補正し
て失火を解消するための該当気筒#iに対する気筒別失
火時補正係数KMF#iを設定する。
【0103】この失火時補正係数設定サブルーチンで
は、ステップS61で、上記失火診断処理により設定され
た燃料噴射対象気筒#iに対応する失火フラグFLGM
IS#iを参照する。そして、FLGMIS#i=1で
燃料噴射対象気筒#iに失火が生じているときには、ス
テップS62へ進み、失火に対応して燃料噴射量を増量補
正するための該当気筒#iに対する気筒別失火時補正係
数KMF#iに、設定値として比例積分制御(PI制御)の
比例定数PKMFを加算して更新し(KMF#i←KMF#i+PK
MF)、該気筒別失火時補正係数KMF#iをプラス方向にス
キップさせる。
【0104】そして、ステップS63で、上記気筒別失火
時補正係数KMF#iを、この気筒別失火時補正係数KMF#i
による燃料増量の過補正を防止するための上限値KMFMA
Xと比較する。そして、KMF#i≦KMFMAXで気筒別失火時
補正係数KMF#iが上限値KMFMAX以下のときには、その
まま燃料噴射量設定ルーチンのステップS52へ進む。ま
た、KMF#i>KMFMAXで、上記気筒別失火時補正係数KM
F#iの増加更新によって該気筒別失火時補正係数KMF#i
が上限値KMFMAXに達したときには、ステップS64へ進
み、気筒別失火時補正係数KMF#iを上限値KMFMAXによ
って制限して(KMF#i←KMFMAX)、燃料噴射量設定ル
ーチンのステップS52へ進む。
【0105】一方、上記ステップS61においてFLGM
IS#i=0で、該当燃料噴射対象気筒#iに失火が発
生していないときには、ステップS65へ進み、該当気筒
#iの気筒別失火時補正係数KMF#iを補正無しに対応す
る基準値1.0と比較する。そして、KMF#i>1.0の
ときには、ステップS66へ進み、上記気筒別失火時補正
係数KMF#iをPI制御の積分定数IKMFにより該当気筒
#iに対するルーチン実行毎に漸次減少させ(KMF#i←
KMF#i−IKMF)、燃料噴射量設定ルーチンのステップS
52へ進む。
【0106】また、上記ステップS65においてKMF#i≦
1.0のときには、ステップS67へ進み、該当気筒#i
に対する気筒別失火時補正係数KMF#iを、KMF#i←1.
0として該気筒別失火時補正係数KMF#iによる燃料増量
補正無しの状態とし、燃料噴射量設定ルーチンのステッ
プS52へ進む。
【0107】ここで、上記気筒別失火時補正係数KMF#i
が、燃料噴射量設定ルーチンのステップS52において各
種増量係数COEFの演算式に組み込まれ、この各種増
量係数COEFが該当気筒#iに対する最終的な燃料噴
射量を定める燃料噴射パルス幅Ti#iの演算式に組み込
まれることで(ステップS56参照)、該当気筒#iに失
火が生じたときには、直ちに該当気筒#iに対する燃料
噴射量が増量補正される。
【0108】すなわち、該当気筒#iに失火が生じたと
き、上述の失火診断処理によって該当気筒#iの失火フ
ラグFLGMIS#iがセットされ(FLGMIS#i
=1)、この失火フラグFLGMIS#iのセットによ
り、図15のタイミングチャートに示すように、該当気
筒#iの失火の都度、該当気筒#iに対する気筒別失火
時補正係数KMF#iが比例定数PKMFによってプラス方向
にスキップされる。その結果、該当気筒#iに対する燃
料噴射量が増量補正されて、該当気筒#iの失火が解消
される。また、このとき、上記気筒別失火時補正係数K
MF#iは、上述のように、上限値KMFMAXにより制限され
るため、気筒別失火時補正係数KMF#iによる必要以上の
燃料増量補正が防止され、空燃比のオーバリッチによる
制御性の悪化、及び失火の解消が阻害されるのを防止す
ることができる。
【0109】そして、該当気筒#iの失火が解消すると
失火フラグFLGMIS#iがクリアし、これにより、
該当気筒#iの失火の解消後は、該当気筒#iに対する
気筒別失火時補正係数KMF#iが積分定数IKMFによって
漸次的に減少される。その結果、失火の解消後は、該当
気筒#iに対する燃料噴射量の気筒別失火時補正係数K
MF#iによる燃料増量分が漸次減少され、空燃比の急変に
よる制御性の悪化が防止される。
【0110】さらに、該当気筒#iの無失火状態が継続
すると、やがて気筒別失火時補正係数KMF#iが、KMF#i
≦1.0となり、以後、失火が再度発生するまではKMF
#i=1.0に保持されて、気筒別失火時補正係数KMF#i
による燃料増量補正が中止される。
【0111】そして、失火時補正係数設定サブルーチン
の終了により、燃料噴射量設定ルーチンのステップS52
へ進むと(図7参照)、上記各係数により各種増量係数
COEFを算出し(COEF←KST×KMF#i×(1+K
MR+KFULL+KTW+KAS+KAI))、ステップS53で、
空燃比フィードバック補正係数αを読み出す。
【0112】この空燃比フィードバック補正係数αは、
周知のように、O2センサ29の出力信号に応じて設定
され、エンジン始動直後のO2センサ29の非活性時
は、α=1.0に固定される。従って、このときには、
空燃比オープンループ制御となる。
【0113】また、O2センサ29の活性後において
は、加減速等の過渡時を除き、空燃比フードバック補正
係数αは、O2センサ29の出力信号(出力電圧)とス
トイキオ(理論空燃比)に対応するスライスレベルとの
比較結果に基づいてPI制御等により設定される。そし
て、これにより空燃比がストイキオに収束するよう制御
される。
【0114】続くステップS54では、エンジン回転数NE
と基本燃料噴射パルス幅Tpとに基づいてバックアップ
RAM44の一連のアドレスからなる空燃比学習値テー
ブルを参照して空燃比学習値KLRを検索し、補間計算に
より空燃比学習補正係数KBLRCを設定して、ステップS5
5へ進む。この空燃比学習補正係数KBLRCの基となる空
燃比学習値KLRは、周知のように、エンジン回転数NE
とエンジン負荷を表す基本燃料噴射パルス幅Tpとによ
る領域毎に、上記空燃比フィードバック補正係数αの所
定周期における平均値の基準値に対するずれに応じて学
習され、生産時のばらつき、吸入空気量センサ24等の
吸入空気量計測系およびインジェクタ11等の燃料供給
系の経時劣化等を補正するためのものである。
【0115】ステップS55では、バッテリ電圧VBに基づ
きテーブル参照によりインジェクタ11の無効噴射時間
を補償する電圧補正パルス幅Tsを設定する。
【0116】続くステップS56で、上記基本燃料噴射パ
ルス幅Tpに、上記各種増量係数COEF及び空燃比フ
ィードバック補正係数αを乗算して空燃比補正すると共
に、空燃比学習補正係数KBLRCを乗算して学習補正し、
更に上記電圧補正パルス幅Tsを加算して電圧補正し、
該当燃料噴射対象気筒#iへ供給する最終的な燃料噴射
量を定める気筒別の燃料噴射パルス幅Ti#iを算出する
(Ti#i←Tp×COEF×α×KBLRC+Ts)。
【0117】そして、ステップS57で、上記燃料噴射パ
ルス幅Ti#iを該当燃料噴射対象気筒#iに対応する燃
料噴射タイマにセットして、ルーチンを抜ける。
【0118】その結果、所定タイミングで上記燃料噴射
タイマがスタートされ、上記燃料噴射パルス幅Ti#iの
駆動パルス信号が該当燃料噴射対象気筒#iのインジェ
クタ11へ出力され、該インジェクタ11から所定に計
量された燃料が噴射される。ここで、気筒毎に失火診断
を行い、失火を生じたときに、該当気筒#iに対する気
筒別失火時補正係数KMF#iを比例定数PKMFによる設定
値分増加し、該当気筒#iに対する燃料噴射量を直ちに
増量補正して該当気筒#iの失火を解消するため、エン
ジン始動直後においても、基となる燃料噴射量を失火に
よるエンジン回転変動許容限界に対応する理論空燃比近
辺の限界空燃比に対応して設定することができる。
【0119】すなわち、失火時に該当気筒#iに対する
燃料噴射量を気筒別失火時補正係数KMF#iによって増量
補正するので、エンジン始動直後の安定性を確保するた
めの上記始動後増量係数KAS、及び水温増量係数KTWを
相対的に低く設定することができ、且つ、始動後増量係
数KAS及び水温増量係数KTWを、エンジン毎のばらつき
を考慮して燃料増量率を増加するよう高めに設定する必
要がなくなる。
【0120】従って、エンジン始動直後の空燃比オープ
ンループ制御時においても、失火による回転変動を防止
してドライバビリティを向上しつつ、排気エミッション
の改善に効果のある理論空燃比近辺での限界空燃比によ
る運転が可能となり、排気エミッションの改善とドライ
バビリティの向上とを両立することができる。
【0121】次に、図20及び図21に基づいて実施の
第2形態を説明する。
【0122】本実施の形態では、上記実施の第1形態に
おける失火時補正係数設定サブルーチンを代えるのみで
あり、実施の第1形態の図8に示す処理に代え、図20
に示す処理を採用する。
【0123】本実施の形態においては、気筒毎に失火診
断を行い、失火を検出したとき、該当気筒#iの気筒別
失火時補正係数KMF#iを上記比例定数PKMFによる第1
の設定値分増加し、該当気筒#iに対する燃料噴射量を
直ちに増量補正して該当気筒#iの失火を解消すると共
に、このとき他の気筒#i+1,#i+2,#i+3の気筒別
失火時補正係数KMF#(i+1),KMF#(i+2),KMF(i+3)
を、上記比例定数PKMFを等分配した第2の設定値に相
当するリーン補正比例定数PDKMFにより減少し、他の気
筒#i+1,#i+2,#i+3に対する燃料噴射量を上記該
当気筒#iの燃料増量補正に対応して等分配減量補正す
ることで、失火時の燃料補正によるマクロ的なトータル
空燃比(全気筒によるトータル空燃比)の変化を防ぎ、
空燃比制御性の悪化を防ぐ。
【0124】なお、上記リーン補正比例定数PDKMFは、
エンジン1の気筒数をmとすれば、PDKMF=PKMF/
(m−1)で与えられ、本形態においては4気筒エンジ
ンのため、PDKMF=PKMF/3である。
【0125】そして、失火の解消後は、該当気筒#iに
ついては、気筒別失火時補正係数KMF#iを、ルーチン実
行周期により与えられる所定周期毎に上記積分定数IKM
FによりKMF#i=0の補正無しの状態となるまで漸次的
に減少して、失火時補正係数KMF#iによる燃料増量補正
を漸次的に解消する。また、このとき、他の気筒#i+
1,#i+2,#i+3については、これらの気筒に対する
気筒別失火時補正係数KMF#(i+1),KMF#(i+2),KMF(i
+3)を、上記所定周期毎に上記積分定数IKMFを等分配し
たリッチ補正積分定数IUKMFにより、それぞれ補正無し
の状態となるまで漸次的に増加させ、失火時補正係数K
MF#(i+1),KMF#(i+2),KMF(i+3)による各気筒#i+
1,#i+2,#i+3に対する燃料減量補正を漸次的に解
消する。
【0126】これにより、各気筒別失火時補正係数KMF
#i,KMF#(i+1),KMF#(i+2),KMF(i+3)による各気筒
に対する燃料補正解除時の空燃比の急変が抑制されて制
御性の悪化を防止することが可能となり、また、失火解
消後の上述の処理により、このときにおいても、マクロ
的なトータル空燃比の変化を防ぎ、空燃比制御性の悪化
を防ぐことが可能となる。そして、失火の解消後は、直
ちに各気筒の燃焼状態が均一化し、気筒毎の燃焼状態の
不均一に起因するエンジン回転変動をも防止することが
可能となる。
【0127】なお、上記リッチ補正積分定数IUKMFは、
IUKMF=IKMF/(m−1);mは気筒数、で与えら
れ、本形態においては4気筒エンジンのため、IUKMF=
IKMF/3である。
【0128】図20の失火時補正係数設定サブルーチン
について説明すると、上述の燃料噴射量設定ルーチンの
ステップS50(図7参照)で、燃料噴射対象気筒データ
#iを読み出した後、ステップS51で、この失火時補正
係数設定サブルーチンを実行する。
【0129】この図20の失火時補正係数設定サブルー
チンでは、先ず、ステップS71で、上述の失火診断処理
により設定された燃料噴射対象気筒#iに対応する失火
フラグFLGMIS#iを参照する。
【0130】そして、FLGMIS#i=1で燃料噴射
対象気筒#iに失火が生じているときには、ステップS7
2へ進み、失火に対応して燃料噴射量を増量補正するた
めの該当気筒#iに対する気筒別失火時補正係数KMF#i
に、比例定数PKMFを加算して更新し(KMF#i←KMF#i
+PKMF)、該当気筒#iに対する気筒別失火時補正係
数KMF#iをプラス方向にスキップさせる。
【0131】次いでステップS73で、他の気筒#i+1,
#i+2,#i+3に対する気筒別失火時補正係数KMF#(i+
1),KMF#(i+2),KMF(i+3)を、上記比例定数PKMFを等
分配した値に相当するリーン補正比例定数PDKMFによっ
て、それぞれ減少更新し(KMF#(i+1)←KMF#(i+1)−P
DKMF、KMF#(i+2)←KMF#(i+2)−PDKMF、KMF#(i+3)←
KMF#(i+3)−PDKMF)、これら各気筒#i+1,#i+2,
#i+3に対する気筒別失火時補正係数KMF#(i+1),KMF
#(i+2),KMF(i+3)をマイナス方向にスキップさせる。
【0132】そして、ステップS74で、該当気筒#iの
気筒別失火時補正係数KMF#iを、この気筒別失火時補正
係数KMF#iによる燃料増量の過補正を防止するための上
限値KMFMAXと比較する。そして、KMF#i≦KMFMAXで気
筒別失火時補正係数KMF#iが上限値KMFMAX以下のとき
には、そのまま上述の燃料噴射量設定ルーチンのステッ
プS52(図7参照)へ進む。また、KMF#i>KMFMAXで、
上記気筒別失火時補正係数KMF#iの増加更新によって該
気筒別失火時補正係数KMF#iが上限値KMFMAXに達した
ときには、ステップS75へ進み、この気筒別失火時補正
係数KMF#iを上限値KMFMAXによって制限して(KMF#i
←KMFMAX)、燃料噴射量設定ルーチンのステップS52へ
進む。
【0133】一方、上記ステップS71においてFLGM
IS#i=0で、該当燃料噴射対象気筒#iに失火が発
生していないときには、ステップS76へ進み、該当気筒
#iの気筒別失火時補正係数KMF#iを補正無しに対応す
る基準値1.0と比較する。そして、KMF#i>1.0の
ときには、ステップS77へ進み、この気筒別失火時補正
係数KMF#iを積分定数IKMFにより該当気筒#iに対す
るルーチン実行毎に漸次減少させ(KMF#i←KMF#i−I
KMF)、燃料噴射量設定ルーチンのステップS52へ進む。
【0134】また、上記ステップS76においてKMF#i=
1.0で該当気筒#iに対し気筒別失火時補正係数KMF
#iによる燃料補正無しのときには、そのままルーチンを
抜けて、燃料噴射量設定ルーチンのステップS52へ進
み、この気筒別失火時補正係数KMF#iによる燃料補正無
しの状態を継続する。
【0135】従って、該当気筒#iの失火解消後は、こ
の該当気筒#iに対する気筒別失火時補正係数KMF#i
が、積分値IKMFによってKMF#i=0の補正無しの状態
となるまで漸次的に減少され、この気筒別失火時補正係
数KMF#iによる該当気筒#iに対する燃料増量補正が漸
次的に解消される。
【0136】一方、KMF#i<1.0のときには、前回以
前のルーチン実行時に、他の気筒#i+1,#i+2,#i
+3の何れかに失火が生じ、該当気筒#iに対する失火時
補正係数KMF#iが上記ステップS73の処理によってマイ
ナス方向へスキップされた後であり、このときにはステ
ップS78へ進む。
【0137】ステップS78では、該当気筒#iの気筒別
失火時補正係数KMF#iを、この気筒別失火時補正係数K
MF#iによる燃料減量の過補正を防止するための下限値K
MFMINと比較する。すなわち、この下限値KMFMINは、上
記上限値KMFMAXに対応して設定され、失火気筒の気筒
別失火時補正係数が上限値KMFMAXによって制限された
とき、これに対応して、他の気筒の気筒別失火時補正係
数を下限値KMFMINによって制限することで、この場合
においても、マクロ的なトータル空燃比の変化を防ぐ。
従って、下限値KMFMINは、KMFMIN=1.0−(KMFMA
X−1.0)/(m−1)で与えられ、本実施の形態に
おいては、4気筒エンジンのためm=4であり、KMFMI
N=1.0−(KMFMAX−1.0)/3により設定され
る。
【0138】そして、KMF#i<KMFMINで、上記気筒別
失火時補正係数KMF#iのマイナス方向へのスキップによ
って該気筒別失火時補正係数KMF#iが下限値KMFMINに
達しているときには、ステップS79へ進み、この気筒別
失火時補正係数KMF#iを下限値KMFMINによって制限し
て(KMF#i←KMFMIN)、燃料噴射量設定ルーチンのス
テップS52へ進む。
【0139】また、KMF#i≧KMFMINで気筒別失火時補
正係数KMF#iが下限値KMFMIN以上のときには、ステッ
プS80へ進み、この気筒別失火時補正係数KMF#iを、上
記積分定数IKMFを等分配した値に相当するリッチ補正
積分定数IUKMFによって、該当気筒#iに対するルーチ
ン実行毎に漸次増加させ(KMF#i←KMF#i+IUKMF)、
燃料噴射量設定ルーチンのステップS52へ進む。
【0140】従って、他の気筒#i+1,#i+2,#i+3
の何れかに失火が生じ、該当気筒#iに対する失火時補
正係数KMF#iがリーン補正比例定数PDKMFによってマイ
ナス方向へスキップされた後は、この該当気筒#iに対
する気筒別失火時補正係数KMF#iが、リッチ補正積分値
IUKMFによってKMF#i=0の補正無しの状態となるまで
漸次的に増加され、この気筒別失火時補正係数KMF#iに
よる該当気筒#iに対する燃料減量補正が漸次的に解消
される。
【0141】そして、上記気筒別失火時補正係数KMF#i
が、図7に示す燃料噴射量設定ルーチンのステップS52
において各種増量係数COEFの演算式に組み込まれ、
この各種増量係数COEFが該当気筒#iに対する最終
的な燃料噴射量を定める燃料噴射パルス幅Ti#iの演算
式に組み込まれることで(図7のステップS56参照)、
該当気筒#iに失火が生じたときには、直ちに該当気筒
#iに対する燃料噴射量が増量補正される。
【0142】すなわち、該当気筒#iに失火が生じたと
き、前述の失火診断処理によって該当気筒#iの失火フ
ラグFLGMIS#iがセットされ(FLGMIS#i
=1)、この失火フラグFLGMIS#iのセットによ
り、図21のタイミングチャートに示すように、該当気
筒#iの失火の都度、該当気筒#iに対する気筒別失火
時補正係数KMF#iが比例定数PKMFによってプラス方向
にスキップされる。その結果、該当気筒#iに対する燃
料噴射量が増量補正されて、該当気筒#iの失火が解消
される。また、このとき、上記気筒別失火時補正係数K
MF#iは、上述のように、上限値KMFMAXにより制限され
るため、気筒別失火時補正係数KMF#iによる必要以上の
燃料増量補正が防止され、空燃比のオーバリッチによる
制御性の悪化、及び失火の解消が阻害されるのを防止す
ることができる。
【0143】更に、このとき、他の気筒#i+1,#i+
2,#i+3に対しては、これらの各気筒#i+1,#i+
2,#i+3に対する気筒別失火時補正係数KMF#(i+1),
KMF#(i+2),KMF(i+3)が、上記比例定数PKMFを等分配
した値に相当するリーン補正比例定数PDKMFによって、
それぞれマイナス方向にスキップされる。これにより、
他の気筒#i+1,#i+2,#i+3に対する燃料噴射量が
上記該当気筒#iの燃料増量補正に対応して等分配減量
補正される。その結果、失火時の燃料補正によるマクロ
的なトータル空燃比の変化が防止され、空燃比制御性の
悪化が防止される。そして、マイナス方向へのスキップ
された気筒別失火時補正係数は、上記下限値KMFMINに
より制限され、必要以上の燃料減量過補正が防止され
る。
【0144】また、該当気筒#iの失火の解消後は、該
当気筒#iの失火フラグFLGMIS#iがクリアし、
これにより、該当気筒#iに対する気筒別失火時補正係
数KMF#iが積分定数IKMFによって漸次的に減少され
る。その結果、該当気筒#iの失火の解消後は、該当気
筒#iに対する燃料噴射量の気筒別失火時補正係数KMF
#iによる燃料増量分が漸次減少され、空燃比の急変によ
る制御性の悪化が防止される。
【0145】また、このとき、他の気筒#i+1,#i+
2,#i+3については、これらの気筒に対する気筒別失
火時補正係数KMF#(i+1),KMF#(i+2),KMF(i+3)が、
上記積分定数IKMFを等分配したリッチ補正積分定数IU
KMFにより漸次的に増加される。その結果、これらの各
気筒#i+1,#i+2,#i+3についても、それぞれ気筒
別失火時補正係数KMF#(i+1),KMF#(i+2),KMF(i+3)
による燃料減量補正が漸次的に解消され、空燃比の急変
による制御性の悪化が防止される。また、これらの気筒
別失火時補正係数KMF#(i+1),KMF#(i+2),KMF(i+3)
を漸次的に増加させるに際し、上記積分定数IKMFを等
分配したリッチ補正積分定数IUKMFを用いるので、この
場合においても、マクロ的なトータル空燃比の変化が防
止され、空燃比制御性の悪化を防ぐことが可能となる。
そして、失火の解消後は、直ちに各気筒の燃焼状態が均
一化し、気筒毎の燃焼状態の不均一に起因するエンジン
回転変動をも防止することが可能となる。
【0146】さらに、各気筒の無失火状態が継続する
と、やがて各気筒別失火時補正係数KMF#i,KMF#(i+
1),KMF#(i+2),KMF(i+3)は、1.0となり、以後、
失火が発生するまでは1.0に保持されて、各気筒別失
火時補正係数KMF#i,KMF#(i+1),KMF#(i+2),KMF(i
+3)による各気筒#i,#i+1,#i+2,#i+3に対す
る燃料補正が中止される。
【0147】なお、上記実施の各形態においては、エン
ジン回転状態量としてエンジン回転数を用い、所定周期
毎のエンジン回転変化量に基づいて失火を検出するよう
にしているが、エンジン回転数に代えてエンジン回転周
期、エンジン回転角速度、或いはエンジン回転角加速度
を用いるようにしてもよい。また、本発明はこれに限定
されず、エンジン回転状態量に基づく失火検出に限ら
ず、例えば、点火プラグの放電電極間のイオン電流を検
出し、このイオン電流によって失火を検出するようにし
てもよい。
【0148】
【発明の効果】請求項1記載の発明によれば、失火を検
出したとき燃料噴射量を増量補正するので、エンジン始
動直後においても、基となる燃料噴射量を失火によるエ
ンジン回転変動許容限界に対応する理論空燃比近辺の限
界空燃比に対応して設定することができる。従って、こ
の限界空燃比での運転により排気エミッションの改善が
図れ、且つ、失火時には直ちに燃料増量補正により失火
が解消されて、失火によるエンジン回転変動が防止され
てドライバビリティが向上し、これにより、エンジン始
動直後においても、排気エミッションの改善とドライバ
ビリティの向上とを両立することができる。
【0149】請求項2記載の発明によれば、上記請求項
1記載の発明の効果に加え、失火を検出したときには、
失火時補正係数に設定値が加算されて、この失火時補正
係数により直ちに燃料噴射量が増量補正され、これによ
り失火が解消し、また、失火の解消後は、上記失火時補
正係数が漸次的に減少されるので、燃料噴射量の失火時
補正係数による燃料増量分が漸次減少し、補正解除時の
空燃比の急変による制御性の悪化を防止することができ
る。
【0150】その際、請求項3記載の発明では、上記失
火時補正係数を上限値により制限するので、請求項2記
載の発明の効果に加え、失火時補正係数による必要以上
の燃料増量の過補正が防止され、空燃比のオーバリッチ
による制御性の悪化、及び失火の解消が阻害されるのを
防止することができる効果を有する。
【0151】請求項4記載の発明によれば、気筒毎に失
火を検出し、失火を検出したときには、該当失火気筒に
対する気筒別失火時補正係数に第1の設定値が加算され
て、この失火時補正係数により直ちに燃料噴射量が増量
補正され、これにより該当失火気筒の失火が解消し、且
つ、このとき他の気筒に対しては、気筒別失火時補正係
数が第2の設定値により減少設定されて燃料噴射量が減
量補正されるので、請求項1記載の発明の効果に加え、
失火解消後、直ちに各気筒の燃焼状態が均一化し、気筒
毎の燃焼状態の不均一に起因するエンジン回転変動をも
防止することができる。また、失火の解消後は、燃料噴
射量に対する補正無しの状態となるまで、該当失火気筒
に対する気筒別失火時補正係数が漸次的に減少され、燃
料噴射量の失火時補正係数による燃料増量分が漸次減少
し、また、他の気筒については、これら気筒に対する気
筒別失火時補正係数が補正無しの状態となるまで漸次的
に減少されて、気筒別失火時補正係数による燃料減量補
正が漸次的に解消するので、全ての気筒について、補正
解除時の空燃比の急変による制御性の悪化を防止するこ
とができる。
【0152】その際、請求項5記載の発明では、上記気
筒別失火時補正係数を上限値及び下限値により制限する
ので、請求項4記載の発明の効果に加え、全ての気筒に
ついて、上記気筒別失火時補正係数による燃料噴射量に
対する必要以上の過補正を防止することができ、空燃比
制御性を向上することができる。
【0153】請求項6記載の発明によれば、上記第2の
設定値を、第1の設定値に対応して該当失火気筒を除く
他の気筒に対する燃料噴射量を等分配減少させる値に設
定するので、該当失火気筒に対する気筒別失火時補正係
数による燃料増量分に対応して、他の気筒の燃料噴射量
が等分配減量される。従って、失火時の燃料補正による
マクロ的なトータル空燃比の変化が防止され、空燃比制
御性の悪化を防止することができる。
【図面の簡単な説明】
【図1】本発明の基本構成図
【図2】本発明の実施の第1形態に係り、気筒判別/エ
ンジン回転数算出ルーチンのフローチャート
【図3】同上、失火診断ルーチンのフローチャート
【図4】同上、失火診断ルーチンのフローチャート(続
き)
【図5】同上、失火診断サブルーチンのフローチャート
【図6】同上、燃料噴射量設定ルーチンのフローチャー
【図7】同上、燃料噴射量設定ルーチンのフローチャー
ト(続き)
【図8】同上、失火時補正係数設定サブルーチンのフロ
ーチャート
【図9】同上、クランクパルス、カムパルス、燃焼行程
気筒、点火タイミング、及び燃料噴射タイミングの関係
を示すタイムチャート
【図10】同上、差回転の挙動を示すタイミングチャー
【図11】同上、補正差回転の挙動を示すタイミングチ
ャート
【図12】同上、失火発生時の補正差回転変化の挙動を
示すタイミングチャート
【図13】同上、失火判定レベルの説明図
【図14】同上、失火発生時の補正差回転変化と失火判
定レベルとの関係を示す説明図
【図15】同上、該当気筒の失火状態を表す失火フラグ
と、これに対応する該当気筒の気筒別失火時補正係数の
設定状態を示すタイミングチャート
【図16】同上、エンジンの全体概略図
【図17】同上、クランクロータとクランク角センサの
正面図
【図18】同上、カムロータとカム角センサの正面図
【図19】同上、電子制御系の回路構成図
【図20】本発明の実施の第2形態に係り、失火時補正
係数設定サブルーチンのフローチャート
【図21】同上、該当気筒の失火状態を表す失火フラグ
と、これに対応する該当気筒の気筒別失火時補正係数、
並びに、他の気筒の気筒別失火時補正係数の設定状態を
示すタイミングチャート
【符号の説明】
1 エンジン 11 インジェクタ 32 クランク角センサ 40 電子制御装置(失火検出手段、燃料噴射量補正手
段、失火時補正係数設定手段、燃料噴射量設定手段) NE エンジン回転数(エンジン回転状態量) KMF#i 気筒別失火時補正係数(失火時補正係数) PKMF 比例定数(設定値、第1の設定値) Tp 基本燃料噴射パルス幅(基本燃料噴射量) Ti 燃料噴射パルス幅(燃料噴射量) KMFMAX 上限値 PDKMF リーン補正比例定数(第2の設定値) KMFMIN 下限値

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】失火を検出する失火検出手段と、 失火を検出したとき、燃料噴射量を増量補正する燃料噴
    射量補正手段とを備えたことを特徴とするエンジンの燃
    料噴射制御装置。
  2. 【請求項2】失火を検出する失火検出手段と、 失火を検出したとき燃料増量補正のための失火時補正係
    数に設定値を加算し、失火が解消したときは該失火時補
    正係数を漸次減少する失火時補正係数設定手段と、 エンジン運転状態に基づき設定される基本燃料噴射量を
    上記失火時補正係数により補正して燃料噴射量を設定す
    る燃料噴射量設定手段とを備えたことを特徴とするエン
    ジンの燃料噴射制御装置。
  3. 【請求項3】上記失火時補正係数設定手段は、上記失火
    時補正係数を上限値により制限することを特徴とする請
    求項2記載のエンジンの燃料噴射制御装置。
  4. 【請求項4】気筒毎の失火を検出する失火検出手段と、 失火を検出したとき、該当気筒の気筒別失火時補正係数
    に第1の設定値を加算すると共に、他の気筒の気筒別失
    火時補正係数から第2の設定値を減算し、失火が解消し
    たときには、上記各気筒別失火時補正係数を補正無しの
    状態となるまで漸次増加或いは減少する失火時補正係数
    設定手段と、 エンジン運転状態に基づき設定される基本燃料噴射量を
    上記気筒別失火時補正係数により補正して気筒毎に燃料
    噴射量を設定する燃料噴射量設定手段とを備えたことを
    特徴とするエンジンの燃料噴射制御装置。
  5. 【請求項5】上記失火時補正係数設定手段は、上記気筒
    別失火時補正係数を上限値及び下限値により制限するこ
    とを特徴とする請求項4記載のエンジンの燃料噴射制御
    装置。
  6. 【請求項6】上記第2の設定値は、第1の設定値に対応
    して該当失火気筒を除く他の気筒に対する燃料噴射量を
    等分配減少させる値に設定されることを特徴とする請求
    項4記載のエンジンの燃料噴射制御装置。
JP30967796A 1996-11-20 1996-11-20 エンジンの燃料噴射制御装置 Pending JPH10148154A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30967796A JPH10148154A (ja) 1996-11-20 1996-11-20 エンジンの燃料噴射制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30967796A JPH10148154A (ja) 1996-11-20 1996-11-20 エンジンの燃料噴射制御装置

Publications (1)

Publication Number Publication Date
JPH10148154A true JPH10148154A (ja) 1998-06-02

Family

ID=17995952

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30967796A Pending JPH10148154A (ja) 1996-11-20 1996-11-20 エンジンの燃料噴射制御装置

Country Status (1)

Country Link
JP (1) JPH10148154A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000060230A1 (en) * 1999-04-06 2000-10-12 Toyota Jidosha Kabushiki Kaisha Device for controlling rotational speed of internal combustion engine
US6360160B1 (en) 1999-04-06 2002-03-19 Toyota Jidosha Kabushiki Kaisha Internal combustion engine control apparatus and method
US6367446B1 (en) 1999-04-27 2002-04-09 Toyota Jidosha Kabushiki Kaisha Internal combustion engine control apparatus and method
JP2008267239A (ja) * 2007-04-19 2008-11-06 Hitachi Ltd エンジン回転数制御装置
JP2010084773A (ja) * 2005-01-11 2010-04-15 Toyota Motor Corp 内燃機関の失火判定装置および失火判定方法
JP2014199040A (ja) * 2013-03-29 2014-10-23 本田技研工業株式会社 エンジン制御装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000060230A1 (en) * 1999-04-06 2000-10-12 Toyota Jidosha Kabushiki Kaisha Device for controlling rotational speed of internal combustion engine
US6360160B1 (en) 1999-04-06 2002-03-19 Toyota Jidosha Kabushiki Kaisha Internal combustion engine control apparatus and method
US6742497B1 (en) 1999-04-06 2004-06-01 Toyota Jidosha Kabushiki Kaisha Device for controlling rotational speed of internal combustion engine
US6367446B1 (en) 1999-04-27 2002-04-09 Toyota Jidosha Kabushiki Kaisha Internal combustion engine control apparatus and method
JP2010084773A (ja) * 2005-01-11 2010-04-15 Toyota Motor Corp 内燃機関の失火判定装置および失火判定方法
JP2010133419A (ja) * 2005-01-11 2010-06-17 Toyota Motor Corp 内燃機関の失火判定装置および失火判定方法
JP2008267239A (ja) * 2007-04-19 2008-11-06 Hitachi Ltd エンジン回転数制御装置
JP2014199040A (ja) * 2013-03-29 2014-10-23 本田技研工業株式会社 エンジン制御装置

Similar Documents

Publication Publication Date Title
JP3357091B2 (ja) エンジンの失火検出方法
JP5119216B2 (ja) 内燃機関の異常診断装置
JP2884472B2 (ja) 内燃機関の燃料性状検出装置
JP3449170B2 (ja) 内燃機関の失火検出装置
JPH0323333A (ja) 内燃機関の燃料供給制御装置における学習補正装置及び自己診断装置
JP3498392B2 (ja) 電子制御燃料噴射装置
JPH10148154A (ja) エンジンの燃料噴射制御装置
JP2000328930A (ja) エンジンの触媒劣化診断装置
JP2000205025A (ja) エンジンの制御装置
JP2010150953A (ja) 内燃機関の失火診断装置
JP3859789B2 (ja) エンジンの失火診断装置
JPH10148153A (ja) エンジンの失火診断装置
JP3478163B2 (ja) 内燃機関の制御装置
JPH10121991A (ja) エンジンの吸気制御システムの故障診断装置
JP3560264B2 (ja) エンジンの燃料噴射制御装置
JP3357092B2 (ja) エンジンの失火検出方法
JP3963993B2 (ja) エンジンの空燃比制御装置
JP4263258B2 (ja) リーンバーンエンジンの燃料噴射制御装置
JP4186350B2 (ja) 内燃機関の燃焼状態検出装置
JPS6248939A (ja) 内燃機関の異常検出装置
JP3324795B2 (ja) エンジンの失火検出方法
JPH09324676A (ja) エンジンの燃料噴射制御装置
JPH09324693A (ja) 燃料性状検出装置
JP2010007523A (ja) エンジンの空燃比制御装置
JP3591046B2 (ja) 内燃機関の燃料噴射量制御装置