JP4296838B2 - エンジン制御装置 - Google Patents
エンジン制御装置 Download PDFInfo
- Publication number
- JP4296838B2 JP4296838B2 JP2003143773A JP2003143773A JP4296838B2 JP 4296838 B2 JP4296838 B2 JP 4296838B2 JP 2003143773 A JP2003143773 A JP 2003143773A JP 2003143773 A JP2003143773 A JP 2003143773A JP 4296838 B2 JP4296838 B2 JP 4296838B2
- Authority
- JP
- Japan
- Prior art keywords
- cylinder
- fuel ratio
- engine
- air
- deviation
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Combined Controls Of Internal Combustion Engines (AREA)
- Output Control And Ontrol Of Special Type Engine (AREA)
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
Description
【発明の属する技術分野】
本発明は、エンジンに吸入される燃料混合気の空燃比が目標空燃比となるように多気筒エンジンを気筒毎に制御するエンジン制御装置に関する。
【0002】
【従来の技術】
従来より、エンジンの排ガスの浄化促進のために、エンジンに吸入される燃料混合気の空燃比が目標空燃比となるようにフィードバック制御することが行われている。この空燃比を制御する方法としては、燃料噴射弁を制御して燃料混合気に含まれる燃料の量を調節する方法や、吸気弁を制御して吸入空気の量を調節する方法などがあり、例えば、エンジンのクランク軸に対する吸気弁側カム軸の回転位相差が、エンジン回転速度や吸入空気量等のエンジン運転状態に応じて算出された目標位相差になるようにして、バルブタイミングを制御しているものが知られている(例えば、特許文献1参照。)。
【0003】
【特許文献1】
特開平8−74530号公報 (第6−7頁、第7図)
【0004】
【発明が解決しようとする課題】
しかし、燃料混合気の空燃比が目標空燃比となるようにフィードバック制御しても、各気筒ごとの吸気弁の開閉機構の機械的なばらつきや、各気筒ごとの燃料噴射弁の噴射特性のばらつきなどのために最適な空燃比状態でない気筒が発生する。これにより、空燃比の変動周期に対応した期間内における空燃比の平均値が目標空燃比からずれるために、排ガスの浄化性能が低下するという問題があった。その理由を図13を用いて以下に示す。
【0005】
図13は、エンジンに吸入される燃料混合気の空燃比が理論空燃比付近にあるときに最適な排ガス浄化作用が得られる三元触媒を備えた4気筒エンジンにおいて、排ガスに含まれる酸素の濃度から、エンジンに吸入される燃料混合気の空燃比を検出し、該空燃比が理論空燃比になるようにフィードバック制御する場合の空燃比の状態を説明する図である。
【0006】
各気筒に吸入される燃料混合気の空燃比にばらつきがない場合には、図13の点線で示される曲線のように、フィードバック制御によって周期的に空燃比が変動するものの、その変動周期内(図13において、空燃比がリッチ側からリーン側になるタイミングから再びリッチ側からリーン側になるタイミングまでの期間。以下、A/F1サイクルと称す。)での空燃比の平均値は略理論空燃比になる(図13中の点線で示される直線を参照)。
【0007】
一方、ある気筒に吸入される燃料混合気の空燃比がリーン側にずれている場合は、図13の実線で示される曲線のように、その気筒の排気に対応したタイミングで空燃比がリーン側にずれる(図13では第4気筒がリーン側にずれているとする)ため、A/F1サイクル内における空燃比の平均値(図13の空燃比センサ出力平均値)が理論空燃比よりリーン側にずれる(図13中の実線で示される直線を参照)。
【0008】
つまり、空燃比の平均値が理論空燃比からずれると、排ガスの浄化性能も最適な状態からずれることになる。
本発明は、上記問題を解決するためになされたもので、各気筒ごとに最適な空燃比状態に制御することができるエンジン制御装置を提供することを目的とする。
【0009】
【課題を解決するための手段および発明の効果】
係る目的を達成するためになされた請求項1に記載のエンジン制御装置においては、運転状態検出手段は多気筒エンジンのクランク軸の回転角及びエンジンに吸入された燃料混合気の各気筒に共通の空燃比を含む多気筒エンジンの運転状態を検出し、制御量演算手段は運転状態検出手段により検出された空燃比が目標空燃比となるようにエンジンの制御量を演算し、制御手段は制御量演算手段により演算された制御量に基づいてエンジンを各気筒毎に制御する。そして更に、異常気筒検出手段は、運転状態検出手段により検出された回転角に基づいて各気筒のエンジン回転速度を算出し、各気筒のエンジン回転速度ピーク値の積算値と、全気筒のエンジン回転速度ピーク値の積算値の総和との比率が、多気筒エンジンの気筒数分の1となる値を含む所定判定範囲外である場合に、所定判定範囲外である気筒が、エンジンの回転変動を起こしている異常な気筒であると検出し、空燃比ずれ検出手段は空燃比の変動周期に対応した所定期間内における空燃比の平均値と目標空燃比との間のずれを検出する。そして、補正手段は、そのずれが所定範囲からはずれているか否かを判定し、ずれが所定範囲からはずれていると判定されると、異常気筒における、空燃比のリッチ側のずれの程度及びリーン側のずれの程度の両方を表すことができるパラメータをずれの是正に寄与させる方向に更新するとともに、当該更新されたパラメータに基づいて、ずれが前記所定範囲内に収まるように、制御手段が用いる制御量を補正する。
【0010】
従って、制御手段は、空燃比の平均値と目標空燃比との間のずれが所定範囲内に収まるように、異常な気筒を制御することができる。
このため、各気筒ごとの吸気弁の開閉機構の機械的なばらつきや、各気筒ごとの燃料噴射弁の噴射特性のばらつきなどによって、空燃比の変動周期に対応した所定期間内における平均値が目標空燃比からずれることを抑えることができる。
【0011】
ここで、異常気筒検出手段および空燃比ずれ検出手段は、エンジン制御装置が動作中に常時動作するようにしてもよい。しかし、エンジンを車両に搭載した場合、その車両の走行時には、アクセル操作に応じて空燃比が変動するので、各気筒に吸入される燃料混合気の空燃比にばらつきがない場合においても、空燃比ずれ検出手段が空燃比のずれを誤って検出することがある。一方、車両が停止状態の時にはアクセルは通常オフで、エンジンはアイドル状態になっているので、エンジンの運転状態は安定している。そこで更に請求項2に記載のように、車両が停止状態の時に検出を行うようにするとよい。
【0012】
そして、このようにすれば、空燃比ずれ検出手段が誤検出するといったことを防止することができる。
また、異常気筒検出手段および空燃比ずれ検出手段は、エンジン制御装置が動作中に常時動作するようにしてもよいが、上記ばらつきによる空燃比ずれは通常短期間で変動することはないので、ずれが所定時間継続して所定範囲内に収まった場合には、暫くは空燃比ずれが所定範囲からはずれないと判断できる。そこで請求項3に記載のように、異常気筒検出手段および空燃比ずれ検出手段は、エンジン制御装置が起動した後に空燃比ずれが所定時間継続して所定範囲内に収まった場合には、それ以降、検出を中止するようにするとよい。
【0013】
そして、このようにすれば、無駄に異常気筒検出手段および空燃比ずれ検出手段を動作させることを抑え、エンジン制御装置が実行する処理の負荷を低減することができる。
なお、検出を中止した後に制御量の補正も中止すると、所定範囲内に収まっていた空燃比ずれが所定範囲からはずれてしまうので、検出中止の前に、空燃比ずれの大きさに応じた補正量を学習し、補正手段はその補正量に基づいて、制御量を補正するようにする必要がある。
【0016】
また、請求項1〜請求項3何れかに記載のエンジン制御装置においては、エンジン制御装置が起動する毎に、空燃比ずれの大きさを表すパラメータを初期化し、パラメータを初期値から空燃比ずれに応じた値に改めて更新するようにしてもよいが、請求項4に記載のように、更新された最新のパラメータを第1記憶手段に記憶して、エンジン制御装置の起動時に第1記憶手段からパラメータを取得するようにしてもよい。
【0017】
そして、このようにすれば、エンジン制御装置が起動したときから、ずれの大きさに応じたパラメータに基づいてエンジンを各気筒毎に制御するので、エンジン制御装置起動時から、エンジンを最適な空燃比状態に制御することができる。
なお、具体的には、燃料噴射弁を制御して燃料混合気に含まれる燃料の量を調節したり、吸気弁を制御して吸入空気の量を調節することにより、請求項1〜請求項4何れかに記載のエンジン制御装置において空燃比制御を実現できる。
【0018】
そして、燃料噴射弁を用いて空燃比を制御する場合には、例えば請求項5に記載のように、制御量演算手段は空燃比が目標空燃比となるように燃料噴射弁により噴射される燃料噴射量を演算し、制御手段は燃料噴射量に基づいて気筒毎に燃料噴射弁を制御し、補正手段は、制御手段が用いる燃料噴射量を補正するようにするとよい。
【0019】
そして、このようにすれば、制御手段は、空燃比の平均値と目標空燃比との間のずれが所定範囲内に収まるように、異常な気筒の燃料噴射量を制御することができる。
また、吸気弁を用いて空燃比を制御する場合には、例えば請求項6に記載のように、制御量演算手段は空燃比が目標空燃比となるように吸気弁のリフト量を演算し、制御手段はリフト量に基づいて気筒毎に吸気弁を制御し、補正手段は、制御手段が用いるリフト量を補正するようにするとよい。
【0020】
そして、このようにすれば、制御手段は、空燃比の平均値と目標空燃比との間のずれが所定範囲内に収まるように、異常な気筒の吸気弁のリフト量を制御することができる。
【0021】
【発明の実施の形態】
(実施の形態)
以下、4気筒エンジンに本発明のエンジン制御装置を用いたものを本発明の実施の形態として説明する。まず、本発明が適用されたエンジン制御装置全体の構成を図1に基づいて説明する。図1は本発明が適用されたエンジン1及びその周辺装置を表す概略構成図である。
【0022】
図1に示すようにエンジン1は、シリンダ2,ピストン3及びシリンダヘッド4により燃焼室5を形成しており、燃焼室5内には点火プラグ6が配設されている。そしてエンジン1には、吸気浄化のためのエアクリーナ15,アクセルペダル14に連動して開閉されるスロットルバルブ13,吸気の脈動を除去するためのサージタンク10及び吸気管8を介して、吸気弁7の開弁時に空気が導入される。また燃料は、燃料ポンプ11により燃料タンク12内の燃料が供給された燃料噴射弁9を開弁することにより供給され、点火プラグ6によって点火される。そしてこの点火による燃焼後の排気は、排気弁16の開弁時に排気管17及び排気管17に設けられた三元触媒18を通って排出される。更に、エンジン1は、図示しないイグナイタからの高電圧を各気筒の点火プラグ6に分配供給するディストリビュータ19を有する。
【0023】
またエンジン1には、その運転状態を検出するためのセンサとして、吸気温度を検出する吸気温センサ20、スロットルバルブ13の開度を検出するスロットル開度センサ21、吸気圧力を検出する吸気圧センサ22、冷却水の温度を検出する水温センサ23、排気管17の三元触媒18より上流側に取り付けられて、排ガス中の酸素濃度からエンジン1に供給された燃料混合気の空燃比を検出する空燃比センサ24、排気管17の三元触媒18より下流側に取り付けられて、排気中の酸素濃度からエンジン1に供給された燃料混合気が理論空燃比に対してリッチかリーンかを検出する酸素センサ25、ディストリビュータ19に取り付けられてエンジン1の30℃Aの回転角度毎にパルス信号を発生する回転角センサ26、エンジン1が搭載された車両の走行速度を検出する車速センサ27が備えられている。
【0024】
そして、これら各種センサからの検出信号は、電子制御回路(以下、ECUという)30に入力される。ECU30は、CPU31,ROM32,RAM33,図示しないバッテリでバックアップされたバックアップRAM34を中心とした周知のマイクロコンピュータにより構成されており、上記各センサからの検出信号はA/D変換器35または入出力ポート36を介して入力される。またCPU31は予めROM32に記憶されている制御プログラムを実行し、入出力ポート36を介して燃料噴射弁9を通電することにより、エンジン1へ燃料を供給する。
【0025】
次に、図2を用いて、ECU30が実行する空燃比制御について説明する。図2は、空燃比制御を実行するためにECU30に付与された各機能を表す機能ブロック図である。
図2に示すように、ECU30は、主に、異常気筒判定部51,リッチ・リーン判定部52,ずれレベル算出部53,各気筒噴射弁補正量算出部54,各気筒噴射弁制御量決定部55,噴射弁制御量算出部56,エンジン運転状態検出部57,回転角センサ26,空燃比センサ24,バックアップRAM34,第1〜第4気筒燃料噴射弁9a〜dを備えている。
【0026】
異常気筒判定部51は、本発明の異常気筒検出手段に相当し、回転角センサ26から入力されるエンジン1の30℃Aの回転角度毎の回転角信号に基づいて、エンジン回転速度と回転角を求め、エンジン1の回転変動を起こしている異常な気筒を判定する。
【0027】
また、リッチ・リーン判定部52は、本発明の空燃比ずれ検出手段に相当し、空燃比センサ24から入力される空燃比信号に基づいて、エンジン1に供給された燃料混合気の空燃比が目標空燃比に対して、リッチまたはリーン側にずれているかを判定する。
【0028】
また、エンジン運転状態検出部57は、上述した吸気温センサ20,スロットル開度センサ21,吸気圧センサ22などを備えており、これらのセンサによりエンジン1の運転状態を検出し、その検出信号を出力する。尚、エンジン運転状態検出部57,回転角センサ26および空燃比センサ24は、本発明の運転状態検出手段に相当する。
【0029】
そして、ずれレベル算出部53は、ECU30が起動(電源ON)した直後に、バックアップRAM34から各気筒のずれレベルの情報を取得し、異常気筒判定部51から入力される異常気筒情報と、リッチ・リーン判定部52から入力されるリッチ・リーン情報とに基づいて、各気筒のずれレベルを算出し、算出したずれレベルをバックアップRAM34に記憶する。尚、バックアップRAM34は本発明の第1記憶手段に相当する。
【0030】
また、各気筒噴射弁補正量算出部54は、エンジン運転状態検出部57から入力されるエンジン1の運転状態を示す各種検出信号と、ずれレベル算出部53から入力される各気筒のずれレベル情報とに基づいて、各気筒の燃料噴射弁9の燃料噴射量に対する補正量を算出する。尚、ずれレベル算出部53および各気筒噴射弁補正量算出部54は、本発明の補正手段に相当する。
【0031】
また、噴射弁制御量算出部56は、本発明の制御量演算手段に相当し、エンジン運転状態検出部57から入力される各種検出信号に基づいて、燃料噴射弁9に対する燃料噴射量を算出する。具体的には、空燃比を理論空燃比にするように予め求められている基本燃料噴射時間をエンジン回転速度と吸気圧力とに基づいて算出し、さらに空燃比センサ24や酸素センサ25からの信号に基づいて、空燃比が理論空燃比になるようにするための補正等を行う。
【0032】
そして、各気筒噴射弁制御量決定部55は、本発明の制御手段に相当し、各気筒噴射弁補正量算出部54から入力される各気筒毎の補正量と、噴射弁制御量算出部56から入力される燃料噴射量とに基づいて、各気筒毎の燃料噴射量を決定し、第1〜第4気筒燃料噴射量を表す信号を出力して第1〜第4気筒燃料噴射弁9a〜dを制御する。
【0033】
なお、図2に示す各機能は、実際には、ECU30内のCPU31により実現される。以下に、本発明の主要部である異常気筒判定部51,リッチ・リーン判定部52,ずれレベル算出部53および各気筒噴射弁補正量算出部54の機能を実現するためにCPU31にて実行される処理をフローチャートを用いて説明する。
【0034】
異常気筒判定部51,リッチ・リーン判定部52,ずれレベル算出部53および各気筒噴射弁補正量算出部54の機能は、図3に示す初期値設定処理,図4(a)に示す異常気筒判定処理および図4(b)に示すずれレベル判定処理により実現される。図3,図4(a),図4(b)は夫々、初期値設定処理,異常気筒判定処理,ずれレベル判定処理を表すフローチャートである。
【0035】
初期値設定処理は、ECU30が起動(電源ON)した直後、図2に示す各機能が動作する前に1回のみ実行される処理である。
また、異常気筒判定処理は、異常気筒判定部51およびリッチ・リーン判定部52としての処理に相当し、特に図4(a)のS120の異常気筒抽出処理は異常気筒判定部51,S130のリッチ・リーン判定処理はリッチ・リーン判定部52に相当する。
【0036】
また、ずれレベル判定処理は、ずれレベル算出部53および各気筒噴射弁補正量算出部54としての処理に相当する。
まず図3を用いて、初期値設定処理について説明する。この初期値設定処理は、ECU30が起動(電源ON)した直後に1回のみ実行される処理で、後述する各種処理において用いる各種制御変数や制御フラグの初期値を設定する。
【0037】
なお、以下の説明において、フラグをセットするとは、そのフラグの値を1にすることを示し、フラグをクリアするとは、そのフラグの値を0にすることを示している。
ECU30を起動させ、初期値設定処理を実行すると、CPU31は、まずS10にて、気筒識別番号mを0に設定し、S20に移行する。S20では、各種計測に用いるカウンタの初期化を行う。具体的には、エンジン回転速度計測周期カウンタn,A/F計測周期カウンタj,A/F計測回数カウンタkを夫々0に設定する。
【0038】
次にS30において、各種判定用フラグの初期化を行う。具体的には、気筒判定開始条件成立フラグkeisoku1,リッチ・リーン判定開始条件成立フラグkeisoku2,今回前提条件成立フラグzentei,前回前提条件成立フラグzenteio,ずれレベル反映フラグhanei,補正完了フラグfinishを夫々クリアする。
【0039】
そしてS40において、異常気筒判定用の制御変数や制御フラグの初期化を行う。具体的には、第1〜第4気筒エンジン回転速度積算値S〔1〕〜S〔4〕と第1〜第4気筒エンジン回転速度ピーク値S'〔1〕〜S'〔4〕を夫々0に設定し、第1〜第4気筒リッチフラグS−high〔1〕〜S−high〔4〕と第1〜第4気筒リーンフラグS−low〔1〕〜S−low〔4〕を夫々クリアする。
【0040】
次にS50において、空燃比ずれ判定用の制御変数や制御フラグの初期化を行う。具体的には、今回A/F値af,前回A/F値afoをそれぞれ最大値,A/F積算値AFsumを0に設定し、リッチフラグRICH,リーンフラグLEANを夫々クリアする。
【0041】
そしてS60において、第1気筒制御ずれレベルLevel〔1〕を、バックアップRAM34に記憶された第1気筒記憶ずれレベルLevel−set〔1〕の値に設定する。同様に、第2気筒制御ずれレベルLevel〔2〕,第3気筒制御ずれレベルLevel〔3〕,第4気筒制御ずれレベルLevel〔4〕を、それぞれ第2気筒記憶ずれレベルLevel−set〔2〕,第3気筒記憶ずれレベルLevel−set〔3〕,第4気筒記憶ずれレベルLevel−set〔4〕の値に設定して、当該初期値設定処理を終了する。尚、第1〜第4気筒制御ずれレベルLevel〔1〕〜Level〔4〕は本発明のパラメータに相当する。
【0042】
次に、図4(a)を用いて、異常気筒判定処理について説明する。この異常気筒判定処理は、ECU30が動作している間、クランク軸の回転に同期して、30℃A毎に実行される処理で、回転変動を起こしている気筒と空燃比ずれを求める。
【0043】
この異常気筒判定処理において、CPU31は、まずS110にて、前提条件判定処理を行う。
この前提条件判定処理は、図5に示す手順で実行される。図5は、前提条件判定処理を表すフローチャートである。即ち、この前提条件判定処理では、CPU31は、まずS310にて、今回前提条件成立フラグzenteiを、前回前提条件成立フラグzenteioの値に設定する。次に、S320にて、補正完了フラグfinishがセットされているか否か判断する。ここで、補正完了フラグfinishがセットされていると判断すると(S320:YES)、S350に移行する。一方、補正完了フラグfinishがセットされていないと判断すると(S320:NO)、S330に移行する。
【0044】
S330では、エンジン1がアイドル状態、且つ車速が3km/hよりも小さく、且つ理論空燃比にフィードバック制御中か否かを判断する。ここで、アイドル状態、且つ車速が3km/hよりも小さく、且つ理論空燃比にフィードバック制御中となっている場合(S330:YES)、S340へ移行し、今回前提条件成立フラグzenteiをセットして、当該前提条件判定処理を終了する。
【0045】
一方、「アイドル状態でない」,「車速が3km/h以上」又は「理論空燃比にフィードバック制御中でない」の少なくとも一つが成立している場合は(S330:NO)、S350へ移行し、今回前提条件成立フラグzenteiをクリアし、補正完了判定タイマTMR2の値を0に設定する。そして、当該前提条件判定処理を終了する。尚、補正完了判定タイマTMR2は例えば16msごとに自動的にインクリメントするタイマであり、ある時点でその値が0に設定されると、その時点で再び0からインクリメントする。
【0046】
そして、図4(a)に戻り、S110の処理が終了すると、S120に移行し、異常気筒抽出処理を行う。まず、この異常気筒抽出処理の概要を図12に基づいて説明する。
図12(a)は第4気筒にずれがある場合のエンジン回転の状態を示す図である。図12(a)では、例えば、エンジン回転速度が約700rpmのアイドル状態で、エンジン回転速度が700rpm近傍において数10rpmの振幅で振動している状態を示している。
【0047】
そして、ある気筒に空燃比のずれがあると、その気筒の爆発タイミングでエンジン回転速度のピーク値に差がでるため(図12(a)では、第4気筒の爆発タイミングでピーク値が小さくなっている)、各気筒の爆発タイミング中のエンジン回転速度のピーク値を計測し、各気筒のピーク値を比較する。
【0048】
また、爆発タイミングの気筒の検出は、回転角センサ26から入力される回転角信号に応じてカウントアップし、23を超えると(エンジン2回転の720℃Aに相当)0にクリアされるクランクカウンタを用いる(図12(b)参照)。ここでは、クランクカウンタの値が0〜5の時は第1気筒の爆発タイミング、6〜11の時は第3気筒の爆発タイミング、12〜17の時は第4気筒の爆発タイミング、18〜23の時は第2気筒の爆発タイミングと検出される。
【0049】
そして、図12に示される状態の場合には、各気筒の爆発タイミング中のエンジン回転速度のピーク値のなかで、第4気筒でのピーク値が他の気筒に対して小さいため、第4気筒が異常気筒であると判定される。
次に、異常気筒抽出処理の手順を図6に基づいて説明する。図6は、異常気筒抽出処理を表すフローチャートである。即ち、この異常気筒抽出処理では、CPU31は、まずS410にて、気筒判定開始条件成立フラグkeisoku1がセットされているか否か判断する。ここで、気筒判定開始条件成立フラグkeisoku1がセットされていないと判断すると(S410:NO)、S420に移行する。
【0050】
そして、S420において、クランクカウンタcrnkの値が0で、且つ今回前提条件成立フラグzenteiがセットされているか否か判断する。
ここで、クランクカウンタcrnkの値が0で、且つ今回前提条件成立フラグzenteiがセットされていると判断すると(S420:YES)、S430において、気筒判定開始条件成立フラグkeisoku1をセットし、その後S450に移行する。
【0051】
一方、S420において、「クランクカウンタcrnkの値が0」と「今回前提条件成立フラグzenteiがセット」の少なくとも一つが成立していない場合は(S420:NO)、当該異常気筒抽出処理を終了する。
また、S410に戻り、気筒判定開始条件成立フラグkeisoku1がセットされていると判断すると(S410:YES)、S440に移行し、前回前提条件成立フラグzenteioがセットされており、且つ今回前提条件成立フラグzenteiがセットされているか否か判断する。ここで、前回前提条件成立フラグzenteioがセットされており、且つ今回前提条件成立フラグzenteiがセットされていると判断すると(S440:YES)、S450に移行し、一方、「前回前提条件成立フラグzenteioがセット」と「今回前提条件成立フラグzenteiがセット」の少なくとも一つが成立していない場合は(S440:NO)、S570に移行する。
【0052】
S450では、回転角センサ26から回転角信号が入力した時刻と、前回に回転角信号が入力した時刻との差を求め、その差の逆数を取ることで、エンジン回転速度Neを算出する。そしてS460に移行し、爆発気筒抽出処理を行う。
この爆発気筒抽出処理は、図7に示す手順で実行される。図7は、爆発気筒抽出処理を表すフローチャートである。即ち、この爆発気筒抽出処理では、CPU31は、まずS610にて、クランクカウンタcrnkの値が0以上5以下であるか否か判断する。ここで、0以上5以下であると判断すると(S610:YES)、S620に移行し、気筒識別番号mの値を1に設定して、当該爆発気筒抽出処理を終了する。一方、0以上5以下でないと判断すると(S610:NO)、S630に移行する。
【0053】
S630では、クランクカウンタcrnkの値が6以上11以下であるか否か判断する。ここで、6以上11以下であると判断すると(S630:YES)、S640に移行し、気筒識別番号mの値を3に設定して、当該爆発気筒抽出処理を終了する。一方、6以上11以下でないと判断すると(S630:NO)、S650に移行する。
【0054】
S650では、クランクカウンタcrnkの値が12以上17以下であるか否か判断する。ここで、12以上17以下であると判断すると(S650:YES)、S660に移行し、気筒識別番号mを4に設定して、当該爆発気筒抽出処理を終了する。一方、12以上17以下でないと判断すると(S650:NO)、S670に移行する。
【0055】
S670では、クランクカウンタcrnkの値が18以上23以下であるか否か判断する。ここで、18以上23以下であると判断すると(S670:YES)、S680に移行し、気筒識別番号mの値を2に設定して、当該爆発気筒抽出処理を終了する。一方、18以上23以下でないと判断すると(S670:NO)、当該爆発気筒抽出処理を終了する。
【0056】
図6に戻り、S460の爆発気筒抽出処理を終了すると、S470において、エンジン回転速度Neが第m気筒エンジン回転速度ピーク値S'〔m〕より大きいか否かを判断する(ここでの「m」は、S460において設定された気筒識別番号mを表す)。
【0057】
そして、エンジン回転速度Neが第m気筒エンジン回転速度ピーク値S'〔m〕より大きいと判断すると(S470:YES)、S480に移行し、第m気筒エンジン回転速度ピーク値S'〔m〕をエンジン回転速度Neの値に設定し、S490に移行する。一方、エンジン回転速度Neが第m気筒エンジン回転速度ピーク値S'〔m〕以下であると判断すると(S470:NO)、S490に移行する。
【0058】
S490では、クランクカウンタcrnkの値が23であるか否か判断する。ここで、クランクカウンタcrnkの値が23であると判断すると(S490:YES)、S500に移行する。
S500では、第m気筒エンジン回転速度積算値S〔m〕に第m気筒エンジン回転速度ピーク値S'〔m〕を加算し、その値を第m気筒エンジン回転速度積算値S〔m〕として設定した後に、第m気筒エンジン回転速度ピーク値S'〔m〕の値を0に設定し、更に、エンジン回転速度計測周期カウンタnをインクリメントする。
【0059】
一方、S490において、クランクカウンタcrnkの値が23でないと判断すると(S490:NO)、当該異常気筒抽出処理を終了する。
また、S500の処理を終了すると、S510に移行し、エンジン回転速度計測周期カウンタnの値が5以上であるか否か判断する。ここで、エンジン回転速度計測周期カウンタnの値が5以上であると判断すると(S510:YES)、S520に移行する。一方、エンジン回転速度計測周期カウンタnの値が5より小さいと判断すると(S510:NO)、当該異常気筒抽出処理を終了する。
【0060】
S520では、第1気筒エンジン回転速度積算値S〔1〕と第2気筒エンジン回転速度積算値S〔2〕と第3気筒エンジン回転速度積算値S〔3〕と第4気筒エンジン回転速度積算値S〔4〕の加算値を算出し、エンジン回転速度総和値TSの値を該加算値に設定する。
【0061】
そして、S530において、気筒識別番号m=1,2,3,4のそれぞれにおける第m気筒エンジン回転速度積算値S〔m〕をエンジン回転速度総和値TSで割った値(図6のS530におけるS〔m〕/TS)が、(1/3)より大きいか否かを判断する。つまり、気筒識別番号ごとに(S〔m〕/TS)を算出して(1/3)より大きいか否かを判断する。
【0062】
そして、(S〔m〕/TS)が(1/3)より大きい場合には(S530:YES)、S550に移行し、第m気筒リッチフラグS−high〔m〕をセットし、補正完了判定タイマTMR2の値を0に設定する。例えば、S530において(S〔2〕/TS)が(1/3)より大きい場合には、S550において第2気筒リッチフラグS−high〔2〕をセットする。その後、S570に移行する。
【0063】
一方、S530において、(1/3)より大きい(S〔m〕/TS)が存在しない場合には(S530:NO)、S540に移行する。
S540では、気筒識別番号m=1,2,3,4のそれぞれにおける第m気筒エンジン回転速度積算値S〔m〕をエンジン回転速度総和値TSで割った値(S〔m〕/TS)が、(1/5)より小さいか否かを判断する。つまり、気筒識別番号ごとに(S〔m〕/TS)を算出して(1/5)より小さいか否かを判断する。
【0064】
そして、(S〔m〕/TS)が(1/5)より小さい場合には(S540:YES)、S560に移行し、第m気筒リーンフラグS−low〔m〕をセットし、補正完了判定タイマTMR2の値を0に設定する。例えば、S540において(S〔3〕/TS)が(1/5)より小さい場合には、S560において第3気筒リーンフラグS−low〔3〕をセットする。その後、S570に移行する。
【0065】
一方、S540において、(1/5)より小さい(S〔m〕/TS)が存在しない場合には(S540:NO)、S570に移行する。
S570では、第1〜第4気筒エンジン回転速度積算値S〔1〕〜S〔4〕を夫々0に設定し、更にS580において、第1〜第4気筒エンジン回転速度ピーク値S'〔1〕〜S'〔4〕を夫々0に設定する。
【0066】
その後、S590において、エンジン回転速度計測周期カウンタnの値を0に設定し、更に気筒判定開始条件成立フラグkeisoku1をクリアして、当該異常気筒抽出処理を終了する。
図4(a)に戻り、S120の処理が終了すると、S130に移行し、リッチ・リーン判定処理を行う。このリッチ・リーン判定処理では、空燃比がリッチ側からリーン側になるタイミングから再びリッチ側からリーン側になるタイミングまでをA/F1サイクルとして、A/F5サイクルの期間内における空燃比の平均値を求めて理論空燃比とのずれを求めている。
【0067】
次に、リッチ・リーン判定処理の手順を図8に基づいて説明する。図8は、リッチ・リーン判定処理を表すフローチャートである。即ち、このリッチ・リーン判定処理では、CPU31は、まずS710にて、A/Fサイクル判定処理を行う。
【0068】
このA/Fサイクル判定処理は、図9に示す手順で実行される。図9は、A/Fサイクル判定処理を表すフローチャートである。即ち、このA/Fサイクル判定処理では、CPU31は、まずS910にて、前回A/F値afoを今回A/F値afに設定し、次にS920にて、今回A/F値afを空燃比センサ24により検出された値に設定する。
【0069】
そして、S930において、前回A/F値afoが14.7より小さく、且つ今回A/F値afが14.7より大きいか否か判断する。ここで、前回A/F値afoが14.7より小さく、且つ今回A/F値afが14.7より大きいと判断すると(S930:YES)、S940に移行し、A/F反転フラグhantenをセットして、当該A/Fサイクル判定処理を終了する。一方、「前回A/F値afoが14.7より小さい」と「今回A/F値afが14.7より大きい」の少なくとも一つが成立していない場合は(S930:NO)、S950に移行し、A/F反転フラグhantenをクリアして、当該A/Fサイクル判定処理を終了する。
【0070】
図8に戻り、S710の処理が終了すると、S720に移行し、リッチ・リーン判定開始条件成立フラグkeisoku2がセットされているか否か判断する。ここで、リッチ・リーン判定開始条件成立フラグkeisoku2がセットされていないと判断すると(S720:NO)、S730に移行する。
【0071】
そして、S730において、A/F反転フラグhantenがセットされており、且つ今回前提条件成立フラグzenteiがセットされているか否か判断する。ここで、A/F反転フラグhantenがセットされており、且つ今回前提条件成立フラグzenteiがセットされていると判断すると(S730:YES)、S740において、リッチ・リーン判定開始条件成立フラグkeisoku2をセットし、その後S790に移行する。
【0072】
一方、S730において、「A/F反転フラグhantenがセット」と「今回前提条件成立フラグzenteiがセット」の少なくとも一つが成立していない場合は(S730:NO)、当該リッチ・リーン判定処理を終了する。
また、S720に戻り、リッチ・リーン判定開始条件成立フラグkeisoku2がセットされていると判断すると(S720:YES)、S750に移行し、A/F反転フラグhantenがセットされているか否か判断する。
【0073】
ここで、A/F反転フラグhantenがセットされていないと判断すると(S750:NO)、S780に移行する。一方、S750において、A/F反転フラグhantenがセットされていると判断すると(S750:YES)、S760に移行し、A/F計測周期カウンタjをインクリメントする。その後、S770において、A/F計測周期カウンタjの値が5以上であるか否か判断する。ここで、A/F計測周期カウンタjの値が5以上であると判断すると(S770:YES)、S810に移行する。一方、A/F計測周期カウンタjの値が5より小さいと判断すると(S770:NO)、S780に移行する。
【0074】
S780では、前回前提条件成立フラグzenteioがセットされており、且つ今回前提条件成立フラグzenteiがセットされているか否か判断する。ここで、前回前提条件成立フラグzenteioがセットされており、且つ今回前提条件成立フラグzenteiがセットされていると判断すると(S780:YES)、S790に移行し、一方、「前回前提条件成立フラグzenteioがセット」と「今回前提条件成立フラグzenteiがセット」の少なくとも一つが成立していない場合は(S780:NO)、S860に移行する。
【0075】
そして、S790では、A/F積算値AFsumと今回A/F値afの加算値を算出し、A/F積算値AFsumを該加算値に設定する。そして、S800に移行し、A/F計測回数カウンタkをインクリメントした後に、当該リッチ・リーン判定処理を終了する。
【0076】
また、S810では、A/F積算値AFsumをA/F計測回数カウンタkの値で割った値(図8のS810におけるAFsum/k)から目標空燃比値14.7を減算して、空燃比ずれAFdifを算出する。そして、S820において、空燃比ずれAFdifが、0.3以上であるか否かを判断する。ここで、AFdifが0.3以上である場合には(S820:YES)、S830に移行し、リーンフラグLEANをセットし、補正完了判定タイマTMR2の値を0に設定する。一方、AFdifが0.3より小さい場合には(S820:NO)、S840に移行し、AFdifが(−0.2)以下であるか否かを判断する。
【0077】
ここで、AFdifが(−0.2)以下である場合には(S840:YES)、S850に移行し、リッチフラグRICHをセットし、補正完了判定タイマTMR2の値を0に設定する。一方、AFdifが(−0.2)より大きい場合には(S840:NO)、S860に移行する。
【0078】
S860では、A/F計測周期カウンタj,A/F計測回数カウンタkの値を0に設定し、A/F積算値AFsumの値を0に設定し、更にリッチ・リーン判定開始条件成立フラグkeisoku2をクリアする。その後、当該リッチ・リーン判定処理を終了する。
【0079】
そして、図4(a)に戻り、S130の処理が終了すると、当該異常気筒判定処理を終了する。
次に、図4(b)を用いて、ずれレベル判定処理について説明する。このずれレベル判定処理は、ECU30が動作している間に、例えば、16ミリ秒毎に実行される処理である。
【0080】
このずれレベル判定処理において、CPU31は、まずS210にて、ずれレベル算出処理を行う。
このずれレベル算出処理は、図10に示す手順で実行される。図10は、ずれレベル算出処理を表すフローチャートである。即ち、このずれレベル算出処理では、CPU31は、まずS1010にて、ずれレベル反映フラグhaneiがセットされているか否か判断する。ここで、ずれレベル反映フラグhaneiがセットされていないと判断すると(S1010:NO)、S1020に移行する。
【0081】
そして、S1020において、気筒識別番号m=1,2,3,4のそれぞれにおける第m気筒リッチフラグS−high〔m〕がセットされ、且つリッチフラグRICHがセットされているか否か判断する。つまり、気筒識別番号mごとに第m気筒リッチフラグS−high〔m〕がセットされ、且つリッチフラグRICHがセットされているか否か判断する。
【0082】
そして、S−high〔m〕がセットされ、且つリッチフラグRICHがセットされている場合には(S1020:YES)、S1030に移行し、第m気筒制御ずれレベルLevel〔m〕をインクリメントする。例えば、S1020において、第1気筒リッチフラグS−high〔1〕がセットされ、且つリッチフラグRICHがセットされている場合には、S1030において、第1気筒制御ずれレベルLevel〔1〕をインクリメントする。その後、S1060に移行する。
【0083】
尚、本実施例では、第m気筒制御ずれレベルLevel〔m〕は、−10,−9,−8,……,−1,0,+1,……,+9,+10と21段階ある。そして、ずれレベル「0」は、空燃比のずれが無いことを表し、更に、正方向に値が増えるにつれて空燃比のリッチ側のずれが大きく、負方向に値が増えるにつれて空燃比のリーン側のずれが大きいことを表している。
【0084】
一方、S1020において、「S−high〔m〕がセット」と「リッチフラグRICHがセット」の少なくとも一つが成立していない場合は(S1020:NO)、S1040に移行する。
S1040では、気筒識別番号m=1,2,3,4のそれぞれにおける第m気筒リーンフラグS−low〔m〕がセットされ、且つリーンフラグLEANがセットされているか否か判断する。つまり、気筒識別番号mごとに第m気筒リーンフラグS−low〔m〕がセットされ、且つリーンフラグLEANがセットされているか否か判断する
そして、第m気筒リーンフラグS−low〔m〕がセットされ、且つリーンフラグLEANがセットされている場合には(S1040:YES)、S1050に移行し、第m気筒制御ずれレベルLevel〔m〕をデクリメントする。例えば、S1040において、第4気筒リーンフラグS−low〔4〕がセットされ、且つリーンフラグLEANがセットされている場合には、S1050において、第4気筒制御ずれレベルLevel〔4〕をデクリメントする。その後、S1060に移行する。
【0085】
一方、S1040において、「S−low〔m〕がセット」と「リーンフラグLEANがセット」の少なくとも一つが成立していない場合は(S1040:NO)、S1090に移行する。
S1060では、補正量算出マップを参照して、各気筒ごとの補正量を算出する。補正量算出マップは、ROM52に記憶され、ずれレベルごとに存在してエンジン1のエンジン回転速度と吸気圧力をパラメータとするマップである。本実施例では、ずれレベルは−10,−9,−8,……,−1,0,+1,……,+9,+10と21段階あり、ずれレベルごとに21枚の補正量算出マップがある。そして、例えば、第4気筒制御ずれレベルLevel〔4〕の値が+5の場合には、ずれレベルが+5の補正量算出マップを参照し、現在のエンジン回転速度と吸気圧力から第4気筒の補正量を算出する。
【0086】
その後、S1070に移行し、ずれレベル反映フラグhaneiをセットする。そして、S1080にて、反映判定タイマTMR1をスタートし、当該ずれレベル判定処理を終了する。尚、反映判定タイマTMR1は、例えば16msごとにインクリメントするタイマで、S1080にてスタートするまでは、その値は0に保持されている。
【0087】
また、S1090では、第1〜第4気筒リッチフラグS−high〔1〕〜S−high〔4〕を夫々クリアする。
更に、S1100に移行し、第1〜第4気筒リーンフラグS−low〔1〕〜第4気筒リーンフラグS−low〔4〕を夫々クリアする。
【0088】
その後、S1110においてリッチフラグRICH,リーンフラグLEANを夫々クリアする。
そして、S1120に移行し、S1060と同様に、補正量算出マップを参照して各気筒ごとの補正量を算出し、当該ずれレベル判定処理を終了する。
【0089】
図4(b)に戻り、S210の処理が終了すると、S220に移行し、ずれレベル確定処理を行う。
このずれレベル確定処理は、図11に示す手順で実行される。図11は、ずれレベル確定処理を表すフローチャートである。即ち、このずれレベル確定処理では、CPU31は、まずS1210にて、反映判定タイマTMR1が100ms経過しているか否か判断する。ここで、100ms経過していないと判断すると(S1210:NO)、S1280に移行する。
【0090】
一方、100ms経過したと判断すると(S1210:YES)、S1220に移行し、エンジン回転速度が改善され、且つ空燃比センサ出力が改善されているか否か判断する。つまり、異常気筒のエンジン回転速度ピーク値とその他の気筒のエンジン回転速度ピーク値との差が小さくなり、且つ空燃比センサ24の出力の平均値が目標空燃比に近づいているかを判断する。
【0091】
ここで、エンジン回転速度が改善され、且つ空燃比センサ出力が改善されていると判断すると(S1220:YES)、S1240において、異常気筒である第m'気筒の記憶ずれレベルLevel−set〔m'〕を、第m'気筒制御ずれレベルLevel〔m'〕 の値に設定し、S1250に移行する。
【0092】
一方、S1220において、「エンジン回転速度が改善」と「空燃比センサ出力が改善」の少なくとも一つが成立していない場合は(S1220:NO)、S1230において、第m'気筒制御ずれレベルLevel〔m'〕を第m'気筒記憶ずれレベルLevel−set〔m'〕の値に設定し、S1250に移行する。
【0093】
S1250では、第1〜第4気筒リッチフラグS−high〔1〕〜S−high〔4〕を夫々クリアする。
更に、S1260に移行し、第1〜第4気筒リーンフラグS−low〔1〕〜S−low〔4〕を夫々クリアする。
【0094】
その後、S1270に移行し、リッチフラグRICH,リーンフラグLEAN,ずれレベル反映フラグhaneiを夫々クリアし、反映判定タイマTMR1を終了する。尚、反映判定タイマTMR1を終了すると、その値は0に保持される。
【0095】
そして、S1280では、補正完了判定タイマTMR2が10秒経過しているか否か判断する。ここで、10秒経過していないと判断すると(S1280:NO)、当該ずれレベル確定処理を終了する。
一方、10秒経過したと判断すると(S1280:YES)、S1290に移行し、補正完了フラグfinishをする。そして、当該ずれレベル確定処理を終了する。
【0096】
図4(b)に戻り、S220の処理が終了すると、当該ずれレベル判定処理を終了する。
以上説明したように、本実施形態のCPU31は、図6の異常気筒抽出処理によって、エンジンの回転変動を起こしている異常な気筒を検出し、図8のリッチ・リーン判定処理によって、空燃比の平均値と目標空燃比との間のずれを検出する。そして、図10のずれレベル算出処理および図11のずれレベル確定処理によって、ずれが所定範囲からはずれていると判定される毎に、異常気筒におけるずれレベルを更新し、ずれレベルごとに存在する補正量算出マップを参照して、各気筒ごとの補正量を算出する。
【0097】
従って、各気筒噴射弁制御量決定部55は、ずれが所定範囲内に収まるように、異常な気筒を制御することができる。
このため、各気筒ごとの吸気弁の開閉機構の機械的なばらつきや、各気筒ごとの燃料噴射弁の噴射特性のばらつきなどにより、空燃比の変動周期に対応した所定期間内における空燃比の平均値が目標空燃比からずれることを抑えることができる。
【0098】
また、空燃比ずれが所定範囲に収まったときにずれレベルの更新が終了するため、空燃比センサ24の出力の変動等により空燃比の値が実際の空燃比を反映していない場合においても、その時のずれレベルに基づいて制御量を補正すれば、空燃比ずれを所定範囲内に収めることができる。
【0099】
また、図5のS330およびS340の処理によって、車両が停止状態の時に、異常気筒抽出処理とリッチ・リーン判定処理は実行される。
このため、リッチ・リーン判定処理において誤って空燃比ずれが検出されるといったことを防止することができる。
【0100】
また、図11のS1280およびS1290の処理によって、CPU31が起動した後にずれが10秒継続して所定範囲内に収まった場合には、異常気筒抽出処理とリッチ・リーン判定処理を中止するようにしている。
このため、無駄に異常気筒抽出処理とリッチ・リーン判定処理を動作させることを抑え、CPU31が実行する処理の負荷を低減することができる。
【0101】
また、図11のS1230および図3のS60の処理によって、更新されたずれレベルをバックアップRAM34に記憶し、ECU30の起動時にバックアップRAM34からずれレベルを取得するようにしている。
このため、ECU30が起動したときから、ずれに応じたずれレベルに基づいてエンジンを各気筒毎に制御するので、ECU30の起動時から、エンジン1を最適な空燃比状態に制御することができる。
【0102】
以上、本発明の実施の形態について説明したが、本発明の実施の形態は上記実施の形態に何ら限定されることなく、本発明の技術的範囲に属する限り種々の形態をとり得ることはいうまでもない。
例えば、上記実施形態においては、目標空燃比が理論空燃比(=14.7)であるものを示した。しかし、理論空燃比よりリーン側に目標空燃比を設定するリーンバーンエンジンのように、目標空燃比が理論空燃比と一致していないものであってもよい。
【0103】
また、上記実施形態においては、リッチ・リーン判定処理は、A/F値が14.7より小さい状態から、14.7より大きい状態へ遷移したタイミングで開始したが、14.7より大きい状態から14.7より小さい状態へ遷移したタイミングで開始してもよい。
【0104】
また、上記実施形態においては、燃料噴射弁9により噴射される燃料の量をずれレベルに基づいて各気筒ごとに補正することにより、エンジン1を最適な空燃比状態に制御するものを示した。
しかし、空燃比を制御するには燃焼室5に吸入される空気の量を制御してもよく、このために、吸気弁7の開弁時のリフト量を各気筒ごとに制御するようにしてもよい。この場合の制御を、別の実施形態として、図14を用いて説明する。図14は別の実施形態における空燃比制御を実行するためにECU30に付与された各機能を表す機能ブロック図である。
【0105】
別の実施形態における機能ブロック図のなかで、異常気筒判定部51,リッチ・リーン判定部52,ずれレベル算出部53,エンジン運転状態検出部57は
本実施形態と同様であるので説明は省略する。
各気筒吸気弁補正量算出部54aは、エンジン運転状態検出部57から入力される各種検出信号と、ずれレベル算出部53から入力される各気筒のずれレベル情報とに基づいて、各気筒の吸気弁7のリフト量に対する補正量を算出する。
【0106】
吸気弁制御量算出部56aは、エンジン運転状態検出部57から入力される各種検出信号に基づいて、吸気弁7のリフト量を算出する。
そして、各気筒吸気弁制御量決定部55aは、各気筒吸気弁補正量算出部54aから入力される各気筒毎の補正量と、吸気弁制御量算出部56aから入力されるリフト量とに基づいて、各気筒毎のリフト量を決定し、第1〜4気筒リフト量を表す信号を出力して第1〜4気筒吸気弁7a〜dを制御する。
【0107】
次に、吸気弁7のリフト量を変化させる機構を、図15を用いて説明する。図15は、吸気弁7のリフト量可変機構を説明する図である。
モータ71の出力軸に固設されたモータギア71aは、ピニオンギア72に噛み合っており、モータギア71aの回転に伴い、ピニオンギア72が回転する。さらに、ピニオンギア72の軸73にはカム74が一体的に設けられている。また、バネ77の一端は支持部材78に固定され、さらにバネ77の他端はスイングアーム75に取り付けられ、右方向(図15における右方向)にスイングアーム75を付勢している。
【0108】
そして、エンジン1のクランク軸の回転に連動してカム軸が回転し、カム軸に固定されたカム76がスイングアーム75を左方向(図15における左方向)に押すと、スイングアーム75の押動部75aはロッカーアーム79を押し下げ、さらにロッカーアーム79がバルブスプリング80に抗して吸気弁7を押し下げることで、吸気弁7が開く。
【0109】
図15(a)に示すように、軸73に対して左側にピニオンギア72が位置している場合には、カム74のカム山はスイングアーム75に当接しておらず、右方向(図15における右方向)へのスイングアーム75の押し出し量は0である。一方、図15(a)に示す状態から、モータ71を駆動し、ピニオンギア72を時計回り(図15における時計回り)に180°回転させると、図15(b)に示すように、カム74のカム山がスイングアーム75を右方向に押し出す。
【0110】
スイングアーム75が右方向に押し出されることにより、カム76の回転によってスイングアーム75の押動部75aがロッカーアーム76を押し下げる量が大きくなり、図15(a)の状態の場合よりも吸気弁7のリフト量が大きくなる。つまり、モータ71を駆動させ、カム74によるスイングアーム79の押し出し量を変化させることで吸気弁7のリフト量を変えることができる。
【0111】
そして、図15(a)に示す状態においてスイングアーム75の押し出し量が最小で、図15(b)に示す状態においてスイングアーム75の押し出し量が最大であるので、モータ71を駆動させ、カム74の回転角を図15(a)に示す回転角から、図15(b)に示す回転角の間で変化させることで、吸気弁7のリフト量を調節することができる。即ち、モータ71の回転量を各気筒ごとに制御することで、リフト量を変えることができる。
【図面の簡単な説明】
【図1】実施の形態におけるエンジン及びその周辺装置を示す概略構成図。
【図2】実施の形態におけるECUの機能を表す機能ブロック図。
【図3】実施の形態における初期値設定処理手順を示すフローチャート。
【図4】実施の形態における異常気筒判定処理手順およびずれレベル判定処理手順を示すフローチャート。
【図5】実施の形態における前提条件判定処理手順を示すフローチャート。
【図6】実施の形態における異常気筒抽出処理手順を示すフローチャート。
【図7】実施の形態における爆発気筒抽出処理手順を示すフローチャート。
【図8】実施の形態におけるリッチ・リーン判定処理手順を示すフローチャート。
【図9】実施の形態におけるA/Fサイクル判定処理手順を示すフローチャート。
【図10】実施の形態におけるずれレベル算出処理手順を示すフローチャート。
【図11】実施の形態におけるずれレベル確定処理手順を示すフローチャート。
【図12】実施の形態における異常気筒抽出方法を説明する図。
【図13】実施の形態における空燃比ずれを説明する図。
【図14】別の実施の形態におけるECUの機能を表す機能ブロック図。
【図15】別の実施の形態における吸気弁リフト量可変機構を説明する図。
【符号の説明】
1…エンジン、2…シリンダ、3…ピストン、4…シリンダヘッド、5…燃焼室、6…点火プラグ、7…吸気弁、8…吸気管、9…燃料噴射弁、10…サージタンク、11…燃料ポンプ、12…燃料タンク、13…スロットルバルブ、14…アクセルペダル、15…エアクリーナ、16…排気弁、17…排気管、18…三元触媒、19…ディストリビュータ、20…吸気温センサ、21…スロットル開度センサ、22…吸気圧センサ、23…水温センサ、24…空燃比センサ、25…酸素センサ、26…回転角センサ、27…車速センサ、30…ECU、31…CPU、32…ROM、33…RAM、34…バックアップRAM、35…A/D変換器、36…入出力ポート、71…モータ、72…ピニオンギア、73…軸、74…カム、75…スイングアーム、76…カム、77…バネ、78…支持部材、79…ロッカーアーム、80…バルブスプリング。
Claims (6)
- 多気筒エンジンのクランク軸の回転角及び該エンジンに吸入された燃料混合気の各気筒に共通の空燃比を含む多気筒エンジンの運転状態を検出する運転状態検出手段と、
該運転状態検出手段により検出された空燃比が目標空燃比となるように前記エンジンの制御量を演算する制御量演算手段と、
該制御量演算手段により演算された制御量に基づいて前記エンジンを各気筒毎に制御する制御手段と、
を備えたエンジン制御装置であって、
前記運転状態検出手段により検出された回転角に基づいて各気筒のエンジン回転速度を算出し、各気筒のエンジン回転速度ピーク値の積算値と、全気筒のエンジン回転速度ピーク値の積算値の総和との比率が、前記多気筒エンジンの気筒数分の1となる値を含む所定判定範囲外である場合に、該所定判定範囲外である気筒が、前記エンジンの回転変動を起こしている異常な気筒であると検出する異常気筒検出手段と、
前記運転状態検出手段により検出された空燃比の変動周期に対応した所定期間内における前記空燃比の平均値を算出し、該平均値と前記目標空燃比との間のずれを検出する空燃比ずれ検出手段と、
前記空燃比ずれ検出手段により検出されたずれが所定範囲からはずれているか否かを判定し、前記ずれが前記所定範囲からはずれていると判定されると、前記異常気筒における、空燃比のリッチ側のずれの程度及びリーン側のずれの程度の両方を表すことができるパラメータを前記ずれの是正に寄与させる方向に更新するとともに、当該更新されたパラメータに基づいて、前記ずれが前記所定範囲内に収まるように、前記制御手段が用いる制御量を補正する補正手段と、
を備えたことを特徴とするエンジン制御装置。 - 前記エンジンは車両に搭載され、
前記異常気筒検出手段および前記空燃比ずれ検出手段は夫々、前記車両が停止状態にあるときに、前記異常気筒の検出および前記ずれの検出を行うことを特徴とする請求項1に記載のエンジン制御装置。 - 前記異常気筒検出手段および前記空燃比ずれ検出手段は夫々、当該エンジン制御装置が起動した後に前記ずれが所定時間継続して前記所定範囲内に収まった場合には、それ以降、前記異常気筒の検出および前記ずれの検出を中止することを特徴とする請求項1または請求項2に記載のエンジン制御装置。
- 前記補正手段は、前記更新された最新のパラメータを記憶する第1記憶手段を備え、当該エンジン制御装置の起動時には、前記第1記憶手段から前記パラメータを取得し、該パラメータに基づいて、前記制御量を補正する、
ことを特徴とする請求項1〜請求項3何れかに記載のエンジン制御装置。 - 前記制御量演算手段は、前記空燃比が前記目標空燃比となるように、燃料噴射弁により噴射される燃料噴射量を演算し、
前記制御手段は、前記燃料噴射量に基づいて、前記気筒毎に前記燃料噴射弁を制御し、
前記補正手段は、前記制御手段が用いる燃料噴射量を補正する、
ことを特徴とする請求項1〜請求項4何れかに記載のエンジン制御装置。 - 前記制御量演算手段は、前記空燃比が前記目標空燃比となるように、吸気弁のリフト量を演算し、
前記制御手段は、前記リフト量に基づいて、前記気筒毎に前記吸気弁を制御し、
前記補正手段は、前記制御手段が用いるリフト量を補正する、
ことを特徴とする請求項1〜請求項4何れかに記載のエンジン制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003143773A JP4296838B2 (ja) | 2003-05-21 | 2003-05-21 | エンジン制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003143773A JP4296838B2 (ja) | 2003-05-21 | 2003-05-21 | エンジン制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004346807A JP2004346807A (ja) | 2004-12-09 |
JP4296838B2 true JP4296838B2 (ja) | 2009-07-15 |
Family
ID=33531448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003143773A Expired - Fee Related JP4296838B2 (ja) | 2003-05-21 | 2003-05-21 | エンジン制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4296838B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5287319B2 (ja) * | 2009-02-10 | 2013-09-11 | 日産自動車株式会社 | 燃料噴射弁制御装置 |
JP2011027059A (ja) | 2009-07-28 | 2011-02-10 | Hitachi Automotive Systems Ltd | エンジンの制御装置 |
JP5256233B2 (ja) | 2010-03-17 | 2013-08-07 | トヨタ自動車株式会社 | 内燃機関の回転変動異常検出装置 |
JP5402982B2 (ja) * | 2011-05-12 | 2014-01-29 | トヨタ自動車株式会社 | 内燃機関の異常判定装置 |
JP5598427B2 (ja) * | 2011-06-17 | 2014-10-01 | トヨタ自動車株式会社 | 多気筒内燃機関の気筒間空燃比ばらつき異常検出装置 |
JP5844218B2 (ja) | 2012-05-29 | 2016-01-13 | 愛三工業株式会社 | 内燃機関の制御装置 |
JP6130124B2 (ja) * | 2012-10-30 | 2017-05-17 | 日立オートモティブシステムズ株式会社 | 多気筒エンジンの制御装置 |
-
2003
- 2003-05-21 JP JP2003143773A patent/JP4296838B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004346807A (ja) | 2004-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5542394A (en) | Vehicle engine refueling detection apparatus and method and fuel supply apparatus and method | |
JPH09203342A (ja) | 内燃機関の燃料性状検出装置 | |
JP4296838B2 (ja) | エンジン制御装置 | |
JP2011094561A (ja) | エンジンの制御装置 | |
JPH07233750A (ja) | 内燃機関の燃料性状検出装置 | |
JP2002357156A (ja) | 内燃機関用ノック制御装置 | |
JP3838006B2 (ja) | 内燃機関の点火時期制御装置 | |
JPH076425B2 (ja) | 内燃エンジンの始動後における燃料供給制御方法 | |
JP5461049B2 (ja) | エンジン制御装置 | |
JP3250092B2 (ja) | 燃圧センサの特性学習装置 | |
JP3685369B2 (ja) | 内燃機関の制御装置 | |
JP4348842B2 (ja) | 大気圧検出装置 | |
JP3494516B2 (ja) | 内燃機関の燃料性状検出装置 | |
JPH07127499A (ja) | 内燃機関の燃料制御装置 | |
JPH08200166A (ja) | 空燃比制御装置 | |
JPH0953490A (ja) | 内燃機関の始動時燃料噴射量制御装置 | |
JP2775676B2 (ja) | 内燃機関の燃料供給制御装置 | |
JP2701605B2 (ja) | エンジン制御用大気圧検出装置 | |
JP2884386B2 (ja) | 内燃機関の燃料性状検出装置 | |
US6705288B2 (en) | Starting control apparatus for internal combustion engine | |
US11454204B2 (en) | Ignition timing controller and ignition timing control method for multi-cylinder internal combustion engine | |
JP4276136B2 (ja) | エンジンの診断装置 | |
JP3401131B2 (ja) | 内燃機関の燃料性状検出装置 | |
JP4192825B2 (ja) | 内燃機関用制御装置 | |
JP2917194B2 (ja) | 内燃機関の電子制御燃料供給装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060116 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080402 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080624 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080820 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080924 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081105 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090324 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090406 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4296838 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120424 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120424 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130424 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130424 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140424 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |