JP6130124B2 - 多気筒エンジンの制御装置 - Google Patents

多気筒エンジンの制御装置 Download PDF

Info

Publication number
JP6130124B2
JP6130124B2 JP2012238484A JP2012238484A JP6130124B2 JP 6130124 B2 JP6130124 B2 JP 6130124B2 JP 2012238484 A JP2012238484 A JP 2012238484A JP 2012238484 A JP2012238484 A JP 2012238484A JP 6130124 B2 JP6130124 B2 JP 6130124B2
Authority
JP
Japan
Prior art keywords
cylinder
air
fuel ratio
dne
2rev
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.)
Active
Application number
JP2012238484A
Other languages
English (en)
Other versions
JP2014088795A (ja
Inventor
中川 慎二
慎二 中川
沼田 明人
明人 沼田
福地 栄作
栄作 福地
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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems 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 Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2012238484A priority Critical patent/JP6130124B2/ja
Priority to PCT/JP2013/077416 priority patent/WO2014069194A1/ja
Publication of JP2014088795A publication Critical patent/JP2014088795A/ja
Application granted granted Critical
Publication of JP6130124B2 publication Critical patent/JP6130124B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/008Controlling each cylinder individually
    • F02D41/0085Balancing of cylinder outputs, e.g. speed, torque or air-fuel ratio
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/14Introducing closed-loop corrections
    • F02D41/1438Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor
    • F02D41/1444Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor characterised by the characteristics of the combustion gases
    • F02D41/1454Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor characterised by the characteristics of the combustion gases the characteristics being an oxygen content or concentration or the air-fuel ratio
    • F02D41/1456Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor characterised by the characteristics of the combustion gases the characteristics being an oxygen content or concentration or the air-fuel ratio with sensor output signal being linear or quasi-linear with the concentration of oxygen
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/14Introducing closed-loop corrections
    • F02D41/1497With detection of the mechanical response of the engine
    • F02D41/1498With detection of the mechanical response of the engine measuring engine roughness
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/24Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
    • F02D41/26Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
    • F02D41/28Interface circuits
    • F02D2041/286Interface circuits comprising means for signal processing
    • F02D2041/288Interface circuits comprising means for signal processing for performing a transformation into the frequency domain, e.g. Fourier transformation
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D2200/00Input parameters for engine control
    • F02D2200/02Input parameters for engine control the parameters being related to the engine
    • F02D2200/10Parameters related to the engine output, e.g. engine torque or engine speed
    • F02D2200/1012Engine speed gradient

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Description

この発明は、多気筒エンジンにおいて、気筒間の空燃比のばらつきの診断を行う制御装置に関する。
多気筒エンジンにおいては、種々の要因によって各気筒の空燃比のばらつきが生じ得る。例えば、各気筒毎に燃料噴射弁から燃料噴射を行う場合には、各燃料噴射弁の個体差によって燃料噴射量のばらつきが生じ、また、可変動弁機構を備えているものでは、各気筒の吸気弁のリフト量のばらつきなとによって、各気筒の空気量が僅かに異なるものとなり易い。このような気筒間の空燃比ばらつきがあると、トルク変動や排気組成の悪化などを招来する。
このような気筒間の空燃比ばらつきに対処するために、特許文献1には、多気筒エンジンの排気管集合部に配設された空燃比センサの出力の周波数成分を分析し、1サイクルに相当する720°CA周期の振動成分つまりエンジン2回転成分に着目して、その位相から空燃比がばらついている気筒を特定する技術が開示されている。
また、特許文献2は、各気筒の空燃比のばらつきに基づく720°CA中の回転速度変動を回転角センサの回転角信号から検出し、空燃比が異常な気筒を特定しようとするものであり、空燃比センサによる平均的な空燃比が理論空燃比に対しリッチ側であるかリーン側であるかによって、異常気筒に対する燃料噴射量の補正を行っている。
さらに特許文献3には、各気筒の排気行程に対応したクランク角期間での酸素濃度センサの出力から排気空燃比を各気筒毎に検出する一方、各気筒の膨張行程に対応したクランク角期間でのエンジン回転数ピーク値から各気筒の回転数の差を求め、かつ両者を合わせた気筒毎のトルクのズレ量を修正するように燃料噴射量を補正する技術が開示されている。
特開2000−220489号公報 特開2004−346807号公報 特開2006−207476号公報
上記特許文献1の方法は、例えば実施例として記載されている3気筒エンジンのように奇数気筒のエンジンでは空燃比がリーンないしリッチな気筒を直接に特定することができるが、4気筒エンジンなどのように偶数気筒の排気を一つの空燃比センサが検出する場合には、リーンないしリッチな気筒を直接に特定することができない。つまり、ある一つの気筒がリッチな場合と、他のある一つの気筒がリーンな場合とで、同じ2回転成分の位相となることがあり、いずれかの判別が困難である。また、奇数気筒のエンジンであっても、各気筒から空燃比センサまでの排気管長が等長でない場合や、排気管長が比較的長い場合には、やはり同様の現象が生じうる。
また、特許文献2のように回転速度変動に着目したものでは、空燃比のばらつきと燃料量のばらつきとを区別することができない。つまり、仮にある気筒の新気量が他の気筒に比べて多く、当該気筒がリーンであっても、理論空燃比にある他の気筒と燃料量が等しければ、回転速度変動は生じない。逆に全気筒が理論空燃比であっても、ある気筒の混合気量が相対的に少なければ、回転速度変動が生じる。従って、各気筒の空燃比のばらつきを正確には検出できない。
さらに、特許文献3のものでは、各気筒の排気行程に対応した極短いクランク角期間での酸素濃度センサの出力から各気筒の排気空燃比を個々に検出しようとしているが、現実には、一つの酸素濃度センサでもって各気筒の排気空燃比を個々に検出することは困難である。
本発明は、4気筒エンジンなどのように偶数気筒の排気を一つの空燃比センサが検出する場合や空燃比センサまでの排気管長が長い場合などにおいても、空燃比が最もずれている気筒をそのリッチ,リーンの方向を含めて確実に特定することができる多気筒エンジンの制御装置を提供することを目的としている。
この発明は、複数の気筒の排気管集合部に空燃比センサを備えるとともに、クランクシャフトの回転角を検出する回転角センサを備えてなる多気筒エンジンの制御装置において、
上記空燃比センサの出力信号に含まれるエンジン2回転成分の位相に基づいて、上記複数の気筒のうち理論空燃比から最も空燃比がずれている気筒の候補を特定する第1の手段と、
上記回転角センサの出力信号から気筒別の回転変動を検出する第2の手段と、
上記第1の手段と上記第2の手段の検出結果に基づいて、上記複数の気筒のうち理論空燃比から最も空燃比がずれている気筒を特定する第3の手段と、を備えたことを特徴としている。
すなわち、いずれかの気筒の空燃比が、その他の気筒の空燃比に対してずれると、排気管集合部の空燃比センサの出力信号は、エンジンが2回転する周期(720°CA周期)で振動する。この振動信号の位相から空燃比がずれている気筒とずれている方向(リッチ側もしくはリーン側)がわかる。一方、回転角センサの出力信号から、気筒別の回転変動(角加速度)を演算することにより、空燃比を推定することができる。これは、空燃比に応じてトルクが変化する特性を利用するものであり、空燃比がリッチになるとトルクは増大し、空燃比がリーンになるとトルクは減少する。従って、空燃比信号のエンジン2回転成分の位相と気筒別の回転変動の大きさの双方を用いて、空燃比がずれている気筒とずれている方向(リッチ側もしくはリーン側)をより正確に特定することが可能である。
本発明は、特に、偶数気筒の排気管の集合部に一つの空燃比センサが設けられている場合や、各気筒から空燃比センサまでの排気管長が不等長であるような場合に、有利である。
すなわち、図29に示すように、例えば、気筒数が3気筒のエンジンでは、エンジン2回転成分の振動波形の位相(図中に☆印で示す)を検出することで、空燃比がずれた気筒とずれた方向(リッチ側もしくはリーン側)を一つに特定することが可能である。しかし、図30に示すように、例えば、気筒数が4気筒のエンジン(点火順序(燃焼順序)が1番気筒→3番気筒→4番気筒→2番気筒)では、例えば、4番気筒の空燃比がリッチ側にずれたときと、1番気筒の空燃比がリーン側にずれたときでは、エンジン2回転成分の位相がほぼ重なるため、空燃比がずれている気筒を一つに特定することができない。
なお、気筒数が3気筒の場合でも、排気弁から空燃比センサまでの距離が異なっていると、空燃比の振動波形の位相が重なることがあり、同様に、空燃比がずれている気筒を一つに特定することができない。
本発明では、このような場合でも、気筒別の回転変動の大きさを考慮することで、空燃比がずれている気筒とその方向(リッチ側もしくはリーン側)を特定することができる。
好ましい一つの態様では、
上記第2の手段は、
気筒別の角加速度が最大の気筒を、空燃比が最もリッチな気筒とみなし、
気筒別の角加速度が最小の気筒を、空燃比が最もリーンな気筒とみなし、
上記第3の手段は、
上記第1の手段で特定した候補の中に、上記第2の手段による空燃比が最もリッチな気筒もしくは最もリーンな気筒があれば、当該気筒を最も空燃比がずれている気筒と特定し、
上記第1の手段で特定した候補の中に、上記第2の手段による空燃比が最もリッチな気筒と最もリーンな気筒の双方が含まれる場合は、この空燃比が最もリッチな気筒および最もリーンな気筒を上記の最も空燃比がずれている気筒と特定する。
すなわち、空燃比センサ信号のエンジン2回転成分の位相は、空燃比がずれている気筒とずれている方向の情報を持つが、実際には、多少のばらつきがある。従って、エンジン2回転成分に基づいて、最も空燃比がずれている気筒の候補を特定する一方で、この候補の中に、回転変動から求めた最も空燃比がリッチな気筒もしくはリーンな気筒があれば、当該気筒を、最も空燃比がずれている気筒と確実に判断することができる。
好ましい一つの態様では、上記第1の手段で特定した候補の中に、上記第2の手段による空燃比が最もリッチな気筒と最もリーンな気筒の双方が含まれる場合は、空燃比がリーンな気筒を、最も空燃比がずれている気筒と特定するこれは、空燃比がリーンな気筒の方が運転性の悪化への影響が大きいためである。
本発明では、このようにして最も空燃比がずれている気筒を特定することができるが、本発明においては、さらに望ましくは、特定した最も空燃比がずれている気筒の理想空燃費からの空燃比のずれ量が小さくなるように、当該気筒の空燃比を補正する手段を備える。
本発明の具体的な一つの態様では、上記第1の手段は、上記空燃比センサの出力信号を離散フーリエ変換して得たエンジン2回転成分の実数部と虚数部とからエンジン2回転成分の位相を求める。
例えば、「arctan2」などの関数を用いて、実数部と虚数部とから位相を求めることが可能である。
また望ましい一つの態様では、上記第1の手段は、複数に分割した所定の位相の範囲毎に、エンジン2回転成分の位相が現れる頻度を求め、最も頻度が高い位相範囲に対応する一つないし複数の気筒を上記の候補とする。
このように多数の位相データの出現頻度から気筒の特定を行えば、エンジン2回転成分に基づく候補気筒の特定の際に、より精度が向上する。
上記の位相の範囲は、エンジンの運転条件に応じて可変的に設定されることが望ましい。
すなわち、エンジン2回転成分の位相と最も空燃比ずれている気筒との相関関係は、排気流速に影響を受け、従って、エンジンの運転条件に応じて変化する。任意の運転条件の下で、エンジン2回転成分の位相から最も空燃比がずれている気筒を精度よく特定するためには、両者の相関関係が維持されるように、エンジンの運転条件に応じて上記の位相の範囲を変化させることが望ましい。
また、本発明の好ましい一つの態様では、
上記エンジン2回転成分のパワー(パワースペクトル)を演算する手段と、
このパワーを所定の閾値と比較する手段と、をさらに備え、
上記パワーが上記閾値以上の場合に最も空燃比がずれている気筒の特定を行う。
すなわち、各気筒の空燃比に殆どずれがないような場合に、エンジン2回転成分の演算を行うと、ノイズやばらつきの影響で、位相がばらついた形で検出されることがあり、誤検出の可能性がある。そのため、上記のように、エンジン2回転成分のパワーが所定の閾値以上の場合に限って、エンジン2回転成分の位相と気筒別の回転変動とに基づき、最も空燃比がずれている気筒を特定するようにすれば、誤検出を防止できる。
本発明では、最も空燃比がずれている気筒の特定に関連して何らかの報知を行うようにしてもよい。例えば、本発明では、上記エンジン2回転成分のパワーを演算する手段と、このパワーを所定の第2の閾値と比較する手段と、上記パワーが上記第2の閾値以上のときにエンジンの異常と報知する手段と、をさらに備えることができる。
すなわち、気筒間に空燃比の差が発生すると、エンジンの排気性能および安定性が悪化する。これを、運転者に報知するに際して、より定量的に性能悪化を判定するため、エンジン2回転成分のパワー(2回転周期の振動の振幅)が所定値以上のときは、空燃比のずれにより排気性能もしくは安定性が一定レベル以上悪化したものとして、何らかの手段により異常を報知する。
この発明によれば、4気筒エンジンなどのように偶数気筒の排気を一つの空燃比センサが検出する場合や空燃比センサまでの排気管長が長い場合などにおいても、空燃比が最もずれている気筒をそのリッチ,リーンの方向を含めて確実に特定することができる。
実施例1〜5におけるエンジン制御システムの構成説明図。 実施例1〜5におけるコントロールユニットの説明図。 実施例1における制御全体を表したブロック図。 実施例1〜5における2回転成分演算部のブロック図。 実施例1〜5における2回転成分位相演算部のブロック図。 実施例1における空燃比ずれ気筒検出部1のブロック図。 実施例1における気筒別回転変動演算部のブロック図。 実施例1における空燃比ずれ気筒検出部2のブロック図。 実施例1における空燃比ずれ気筒検出部3のブロック図。 実施例2における制御全体を表したブロック図。 実施例2〜5におけるシリンダ内空気量演算部のブロック図。 実施例2〜5における2回転成分パワー演算部のブロック図。 実施例2における検出許可部のブロック図。 実施例2〜5における2回転成分位相出現頻度演算部のブロック図。 実施例2における空燃比ずれ発生回数演算部のブロック図。 実施例2〜5における空燃比ずれ気筒検出部1のブロック図。 実施例2〜5における気筒別回転変動演算部のブロック図。 実施例2〜5における空燃比ずれ気筒検出部2のブロック図。 実施例2〜5における空燃比ずれ気筒検出部3のブロック図。 実施例3における制御全体を表したブロック図。 実施例3〜5における検出許可部のブロック図。 実施例3〜5における空燃比ずれ発生回数演算部のブロック図。 実施例3〜5における位相しきい値演算部のブロック図。 実施例4における制御全体を表したブロック図。 実施例4における燃料噴射量補正値演算部のブロック図。 実施例4における燃料噴射量演算部のブロック図。 実施例5における制御全体を表したブロック図。 実施例5における異常判定部を表したブロック図。 気筒数が3気筒の場合の排気管集合部における空燃比センサの出力信号に含まれるエンジン2回転成分の波形図。 気筒数が4気筒の場合の排気管集合部における空燃比センサの出力信号に含まれるエンジン2回転成分の波形図。
以下、この発明の一実施例を図面を基づいて詳細に説明する。
[実施例1]
図1は、実施例1のシステム構成を示す構成説明図である。なお、このシステム構成は、後述する実施例2〜5においても共通である。
多気筒(ここでは4気筒)で構成されるエンジン9は、吸気通路4および排気通路10を有する。外部から取り込まれる空気は、エアクリーナ1を通過し、吸気通路4のコレクタ5を経て各シリンダ内に流入する。吸気通路4を通過する吸入空気量は、電子スロットル3により制御され、かつエアフロセンサ2によって、その量が検出される。電子スロットル3の開度は、スロットル開度センサ17によって検出される。また、吸気温センサ29によって、吸気温が検出される。
エンジン9は、回転角センサとしてクランク角センサ15を備えており、このクランク角センサ15によって、クランク軸の回転角10゜毎の信号と燃焼周期毎の信号が出力される。水温センサ14は、エンジン9の冷却水温度を検出する。またアクセル開度センサ13は、運転者によるアクセルペダル6の踏み込み量を検出している。この踏み込み量は、運転者の要求トルクに相当する。
上記のアクセル開度センサ13、エアフロセンサ2、吸気温センサ29、スロットル開度センサ17、クランク角センサ15、水温センサ14のそれぞれの信号は、後述のコントロールユニット16に入力される。コントロールユニット16は、これらセンサ出力からエンジン9の運転状態ならびに運転者の要求を得て、エンジン9の吸入空気量、燃料噴射量、点火時期等のエンジンの主要な操作量を最適に演算する。
コントロールユニット16内で演算された目標空気量は、目標スロットル開度に変換されるとともに、さらに電子スロットル駆動信号に変換され、電子スロットル3に送られる。燃料噴射量は、各気筒に設けた燃料噴射弁7の開弁パルス信号に変換され、かつ各々の燃料噴射弁7に送られる。またコントロールユニット16で演算された点火時期で点火されるように、点火信号が点火プラグ8に送られる。
燃料噴射弁7からシリンダ内に噴射された燃料は、吸気通路4からの空気と混合され、シリンダ内に適宜な混合気を形成する。この混合気は、所定の点火時期において点火プラグ8から発生される火花により爆発し、その燃焼圧によりピストンを介してエンジン9の動力が得られる。なお、図示例では、燃料噴射弁7がシリンダ内に燃料を噴射供給する筒内直噴型の構成となっているが、各気筒の吸気ポート内に燃料を噴射するポート噴射型の構成であってもよい。
爆発後の排気は、排気通路10の三元触媒11を通して外部へ排出される。排気の一部は、排気還流制御弁19を具備した排気還流通路18を介して吸気側に還流される。
上記排気通路10の三元触媒11上流側には、排気空燃比に応じたレベルの信号を出力する所謂広域型空燃比センサからなる触媒上流空燃比センサ12が配設されている。そして、三元触媒11の下流側には、排気空燃比が理論空燃比よりもリッチであるかリーンであるかを示す酸素センサからなる触媒下流O2センサ20が配設されている。これらのセンサ12,20の出力信号もコントロールユニット16に入力されている。当業者には知られているように、基本的に、触媒上流空燃比センサ12の出力信号を用いて空燃比のフィードバック制御が行われ、触媒下流O2センサ12は、例えば三元触媒11の劣化検出やフィードバック系の学習制御などのために用いられる。
本実施例では、さらに、上記触媒上流空燃比センサ12の出力信号とクランク角センサ15の出力信号とを用いて、最も空燃比がずれている気筒がそのずれの方向(リーン、リッチ)とともに特定される。
図2は、上記コントロールユニット16の構成を示している。なお、この図2の構成も、実施例1〜5において共通である。コントロールユニット16は、CPU21のほか、ROM22、RAM23、入力回路24、入出力ポート25、等を備えて構成されている。
コントロールユニット16には、上述したように、エアフロセンサ2、触媒上流空燃比センサ12、アクセル開度センサ13、水温センサ14、クランク角センサ15、スロットル弁開度センサ17、触媒下流O2センサ20、吸気温センサ29、車速センサ30の各センサ出力値が入力されるが、これらの入力信号は、入力回路24にてノイズ除去等の信号処理を行った後、入出力ポート25に送られる。入出力ポート25の値はRAM23に保管され、CPU21内で演算処理される。演算処理の内容を記述した制御プログラムはROM22に予め書き込まれている。制御プログラムに従って演算された各アクチュエータ作動量を表す値は、RAM23に保管された後、入出力ポート25に送られる。点火プラグ8の作動信号は、点火信号出力回路26に一次側コイルのON・OFF信号としてセットされ、ON期間の間は一次側コイルに通電され、OFFとなったときに一次側コイルへの通電を遮断することで、点火プラグ8から放電が行われる。また燃料噴射弁7の駆動信号は、開弁時ON、閉弁時OFFとなるON・OFF信号であり、燃料噴射弁駆動回路27で増幅された上で各燃料噴射弁7に送られる。電子スロットル3の目標開度を実現する駆動信号は、電子スロットル駆動回路28を介して電子スロットル3に送られる。
以下、本発明の空燃比がずれている気筒の特定に関してROM22に書き込まれている制御プログラムについて説明する。
図3は、実施例1の制御全体を表したブロック図であり、以下の演算部から構成される。
・2回転成分演算部101(図4に詳細を示す)
・2回転成分位相演算部102(図5に詳細を示す)
・空燃比ずれ気筒検出部1(103)(図6に詳細を示す)
・気筒別回転変動演算部104(図7に詳細を示す)
・空燃比ずれ気筒検出部2(105)(図8に詳細を示す)
・空燃比ずれ気筒検出部3(106)(図9に詳細を示す)
なお、図3において、2回転成分演算部101、2回転成分位相演算部102および空燃比ずれ気筒検出部103が、請求項における「第1の手段」に相当し、気筒別回転変動演算部104および空燃比ずれ気筒検出部105が「第2の手段」に相当し、空燃比ずれ気筒検出部106が「第3の手段」に相当する。
制御全体を簡単に説明すると、まず、「2回転成分演算部101」で、触媒上流空燃比センサ12の出力信号(Rabf)の離散フーリエ変換によりこの出力信号(Rabf)に含まれるエンジン2回転成分(720°CA周期の振動成分)の実数部(R_2rev)と虚数部(I_2rev)を演算する。
「2回転成分位相演算部102」で、実数部R_2revと虚数部I_2revとから、エンジン2回転成分の位相(Phase)を演算する。「空燃比ずれ気筒検出部1(103)」では、位相Phaseから、空燃比がずれている気筒(詳しくは、空燃比がずれている可能性がある2つの気筒の候補)とずれ方向(リッチもしくはリーン)を検出する。
「気筒別回転変動演算部104」では、クランク角センサ15の信号から気筒別回転変動(dNe_1, dNe_2, dNe_3, dNe_4)を演算する。
「空燃比ずれ気筒検出部2(105)」では、気筒別回転変動d_Ne_1, dNe_2, dNe_3, dNe_4から、空燃比がずれている気筒とずれ方向(リッチもしくはリーン)を検出する。
そして、「空燃比ずれ気筒検出部3(106)」では、「空燃比ずれ気筒検出部1(103)」の検出結果と「空燃比ずれ気筒検出部2(105)」の検出結果の双方を用いて、最終的な空燃比ずれ気筒とずれ方向(リッチもしくはリーン)を検出する。
以下、各演算部の詳細を、図4〜図9のブロック図に基づき、説明する。なお、図4〜図9の処理は、各気筒の燃焼毎つまり180°CA周期で実行される。
<2回転成分演算部101(図4)>
この2回転成分演算部101では、触媒上流空燃比センサ12の出力信号(Rabf)に含まれるエンジン2回転成分の実数部(R_2rev)と虚数部(I_2rev)を演算する。
具体的には、図4に示す処理を、各気筒の燃焼毎つまり180°CA周期で実行し、実質的な離散フーリエ変換(図中の波線で囲まれた部分の処理が離散フーリエ変換に相当する)を実現する。
まず、入力信号Rabfの今回値と前回値の差を演算し、dRabf(触媒上流空燃比センサ信号差分値)とする。このdRabfに対して、複素数の実数部の「cosθ」に相当する係数「C_R」と虚数部の「sinθ」に相当する係数「C_I」を乗じ、180°CA毎に「C_R×dRabf」および「C_I×dRabf」を求めて、720°CAの間の総和つまり180°CA毎の4点における「C_R×dRabf」の和および「C_I×dRabf」の和を、それぞれ実数部R_2revおよび虚数部I_2revとする。
ここで、エンジン2回転成分つまり720°CA周期の振動成分に対し180°CA毎に演算処理を行うことから、係数「C_R」および係数「C_I」は、複素平面上の角θが、0°、90°、180°、270°のときの「cosθ」ないし「sinθ」に相当し、「1」「0」「−1」のいずれかの値に単純化される。
具体的には、爆発行程にある気筒を示すパラメータCYLCNT(シリンダNo.)に応じて、係数「C_R」および係数「C_I」が次のように与えられる。
CYLCNT=1のとき、C_R=1
CYLCNT=3もしくは2のとき、C_R=0
CYLCNT=4のとき、C_R=-1
また、
CYLCNT=1もしくは4のとき、C_I=0
CYLCNT=3のとき、C_I=1
CYLCNT=2のとき、C_I=-1
なお、パラメータCYLCNTは、N番気筒のピストン位置が所定値にきたときにインクリメントされる。ここでは、当該気筒の圧縮TDC前110°CAで更新されるものとする。
そして、図4に示すように、180°CA毎に求められるC_R×dRabfの今回値と、前回値と、前々回値と、前々々回値と、の和を求め、実数部R_2revとする。同様に、180°CA毎に求められるC_I×dRabfの今回値と、前回値と、前々回値と、前々々回値と、の和を求め、虚数部I_2revとする。
<2回転成分位相演算部102(図5)>
図5に示す2回転成分位相演算部では、上記のエンジン2回転成分の実数部R_2revおよび虚数部I_2revに基づき、その位相つまり2回転成分位相Phaseを演算する。具体的には、R_2revとI_2revとから、下式のように、関数「arctan2」を用いて、2回転成分位相基本値Phase0を求める
Phase0=arctan2(I_2rev/R_2rev)×(180/π)
ここに、arctan2は、4象限(−180〜180度)に対応した逆正接値(=位相)を与える関数である。
そして、2回転成分位相基本値Phase0から、位相の範囲を0〜360度とした2回転成分位相Phaseを求める。具体的には、Phase0<0のときは、Phase=Phase0+360とし、それ以外であれば、Phase=Phase0とする。
<空燃比ずれ気筒検出部1(103)(図6)>
この空燃比ずれ気筒検出部1(103)では、図6に示すように、2回転成分位相Phaseを用いて、空燃比がずれている気筒の候補を特定する。
まず初めに、空燃比がずれている気筒の候補を示すフラグ(f_a_2rev、f_b_2rev、f_c_2rev、f_d_2rev)をいずれも0に初期化する。
ここで、第1のフラグ(f_a_2rev)は、1番気筒の空燃比が最もリッチもしくは4番気筒の空燃比が最もリーンであることを表す。同様に、第2のフラグ(f_b_2rev)は、2番気筒が最もリッチもしくは3番気筒が最もリーンであることを表す。第3のフラグ(f_c_2rev)は、3番気筒が最もリッチもしくは2番気筒が最もリーンであることを表す。第4のフラグ(f_d_2rev)は、4番気筒が最もリッチもしくは1番気筒が最もリーンであることを表す。
そして、2回転成分位相Phaseの値を、所定の閾値K1_Phase〜K5_Phaseと比較し、下記のようにフラグのセットを行う。
K1_Phase≦Phase<K2_Phaseのとき、1番気筒の空燃比が最もリッチもしくは4番気筒の空燃比が最もリーンであるとして、「1番気筒リッチもしくは4番気筒リーン」フラグ(f_a_2rev)を1とする。図30に示すように、気筒数が4気筒のエンジン(点火順序が1番気筒→3番気筒→4番気筒→2番気筒)では、例えば、1番気筒の空燃比がリッチ側にずれたときと、4番気筒の空燃比がリーン側にずれたときでは、エンジン2回転成分の位相がほぼ重なるため、どちらかに特定することができない。ただし、1番気筒リッチもしくは4番気筒リーンのいずれかであることは、特定することができる。
同様に、K2_Phase≦Phase<K3_Phaseのとき、「2番気筒リッチもしくは3番気筒リーン」フラグ(f_b_2rev)を1とする。
K3_Phase≦Phase<K4_Phaseのとき、「3番気筒リッチもしくは2番気筒リーン」フラグ(f_c_2rev)を1とする。
K4_Phase≦Phase<K5_Phaseのとき、「4番気筒リッチもしくは1番気筒リーン」フラグ(f_d_2rev)を1とする。
閾値K1_Phase、K2_Phase、K3_Phase、K4_Phase、K5_Phaseの値は、エンジンに応じて変わるので、経験的にあるいは実験等によって最適値に定めることが望ましい。
<気筒別回転変動演算部104(図7)>
気筒別回転変動演算部104では、クランク角センサ15の検出信号に基づき、気筒別の回転変動(dNe_1, dNe_2, dNe_3, dNe_4)つまり各気筒の燃焼爆発に伴う気筒別の角加速度を求める。具体的には、図7に示すように、180°CA毎に回転速度Neの今回値と前回値の差を求め、dNe(回転変動)とする。そして、以下のように、パラメータCYLCNTに基づき、そのときの爆発行程にある気筒に関連付けて、各気筒毎の角加速度(回転変動)のデータを更新していく。
・CYLCNT=1のとき、
dNe_1=dNe_1(前回値), dNe_2=dNe_2(前回値)
dNe_3=dNe_3(前回値), dNe_4=dNe
・CYLCNT=2のとき、
dNe_1=dNe_1(前回値), dNe_2=dNe_2(前回値)
dNe_3=dNe, dNe_4=dNe_4(前回値)
・CYLCNT=3のとき、
dNe_1=dNe_1(前回値), dNe_2=dNe
dNe_3=dNe_3(前回値), dNe_4=dNe_4(前回値)
・CYLCNT=4のとき、
dNe_1=dNe, dNe_2=dNe_2(前回値)
dNe_3=dNe_3(前回値), dNe_4=dNe_4(前回値)
ここで、dNe_1、dNe_2、dNe_3、dNe_4は、それぞれ、1番気筒、2番気筒、3番気筒、4番気筒の回転変動(角加速度)を示すものであり、正・負双方の値をとり得る。従って、これらの回転変動の「最小値」とは、負で絶対値が最も大きな値を意味する。
<空燃比ずれ気筒検出部2(105)(図8)>
空燃比ずれ気筒検出部2(105)では、図8に示すように、前述したクランク角センサ15の検出信号に基づく気筒別の回転変動(角加速度)dNe_1, dNe_2, dNe_3, dNe_4の値を用いて、空燃比がずれている気筒をそのずれの方向とともに特定する。
図8の処理はやはり180°CA周期で実行されるが、まず、回転変動に基づくリッチ気筒およびリーン気筒を表す8つのフラグ(f_1R_dNe、f_2R_dNe、f_3R_dNe、f_4R_dNe、f_1L_dNe、f_2L_dNe、f_3L_dNe、f_4L_dNe)を全て0に初期化する。そして、4つの回転変動の比較から、下記のようにフラグのセットを行う。
・dNe_1, dNe_2, dNe_3, dNe_4の中の最大値がdNe_1のとき、1番気筒の空燃比が最もリッチであるとみなして、1番気筒リッチフラグ(f_1R_dNe)を1とする。
・dNe_1, dNe_2, dNe_3, dNe_4の中の最大値がdNe_2のとき、2番気筒の空燃比が最もリッチであるとみなして、2番気筒リッチフラグ(f_2R_dNe)を1とする。
・dNe_1, dNe_2, dNe_3, dNe_4の中の最大値がdNe_3のとき、3番気筒の空燃比が最もリッチであるとみなして、3番気筒リッチフラグ(f_3R_dNe)を1とする。
・dNe_1, dNe_2, dNe_3, dNe_4の中の最大値がdNe_4のとき、4番気筒の空燃比が最もリッチであるとみなして、4番気筒リッチフラグ(f_4R_dNe)を1とする。
・dNe_1, dNe_2, dNe_3, dNe_4の中の最小値がdNe_1のとき、1番気筒の空燃比が最もリーンであるとみなして、1番気筒リーンフラグ(f_1L_dNe)を1とする。
・dNe_1, dNe_2, dNe_3, dNe_4の中の最小値がdNe_2のとき、2番気筒の空燃比が最もリーンであるとみなして、2番気筒リーンフラグ(f_2L_dNe)を1とする。
・dNe_1, dNe_2, dNe_3, dNe_4の中の最小値がdNe_3のとき、3番気筒の空燃比が最もリーンであるとみなして、3番気筒リーンフラグ(f_3L_dNe)を1とする。
・dNe_1, dNe_2, dNe_3, dNe_4の中の最小値がdNe_4のとき、4番気筒の空燃比が最もリーンであるとみなして、4番気筒リーンフラグ(f_4L_dNe)を1とする。
なお、例えば燃料噴射量が他の気筒よりも少なくても同時に空気量が他の気筒よりも少なければ、空燃比は理論空燃比のままあるいは逆にリッチとなることもあり得るが、この空燃比ずれ気筒検出部2(105)では、単純にトルク変動が空燃比に対応するものとみなしている。
また、ある一つの気筒のトルクが相対的に大きく、他の一つの気筒のトルクが相対的に小さいときなどは、ある気筒のリッチフラグと他のある気筒のリーンフラグとが同時に1となり得る。
<空燃比ずれ気筒検出部3(106)(図9)>
図9に示す空燃比ずれ気筒検出部3(106)では、空燃比ずれ気筒検出部1(103)の検出結果と空燃比ずれ気筒検出部2(105)の検出結果とを用いて、空燃比がずれている気筒をそのずれ方向とともに最終的に特定する。
図9の処理はやはり180°CA周期で実行されるが、まず、最終的なリッチ気筒およびリーン気筒を表す8つのフラグ(f_1R、f_2R、f_3R、f_4R、f_1L、f_2L、f_3L、f_4L)を全て0に初期化する。そして、空燃比センサ12の出力信号のエンジン2回転成分に基づく候補気筒を表すフラグと、クランク角センサ15による気筒別の回転変動に基づくリッチ気筒およびリーン気筒を表すフラグと、の組み合わせによって、下記のようにフラグのセットを行う。
・f_a_2rev=1かつf_1R_dNe=1のとき、1番気筒の空燃比が最もリッチであると判断し、1番気筒リッチフラグf_1Rを1とする。つまり、フラグf_a_2rev=1は、前述したように、1番気筒の空燃比が最もリッチもしくは4番気筒の空燃比が最もリーンであることを表しており、他方、フラグf_1R_dNe=1は、回転変動から1番気筒の空燃比が最もリッチであるとみなし得ることを表しているので、両者の組み合わせから、1番気筒が最も空燃比がずれている気筒であって、かつそのずれ方向はリッチである、と最終的に特定する。
同様に、下記のように処理する。
・f_b_2rev=1かつf_2R_dNe=1のとき、2番気筒の空燃比が最もリッチであると判断し、2番気筒リッチフラグf_2Rを1とする。
・f_c_2rev=1かつf_3R_dNe=1のとき、3番気筒の空燃比が最もリッチであると判断し、3番気筒リッチフラグf_3Rを1とする。
・f_d_2rev=1かつf_4R_dNe=1のとき、4番気筒の空燃比が最もリッチであると判断し、4番気筒リッチフラグf_4Rを1とする。
・f_d_2rev=1かつf_1L_dNe=1のとき、1番気筒の空燃比が最もリーンであると判断し、1番気筒リーンフラグf_1Lを1とする。
・f_c_2rev=1かつf_2L_dNe=1のとき、2番気筒の空燃比が最もリーンであると判断し、2番気筒リーンフラグf_2Lを1とする。
・f_b_2rev=1かつf_3L_dNe=1のとき、3番気筒の空燃比が最もリーンであると判断し、3番気筒リーンフラグf_3Lを1とする。
・f_a_2rev=1かつf_4L_dNe=1のとき、4番気筒の空燃比が最もリーンであると判断し、4番気筒リーンフラグf_4Lを1とする。
このように、実施例1においては、空燃比センサ12の出力信号に含まれるエンジン2回転成分の位相に基づいて、4つの気筒の中で空燃比が最もリッチないしリーンである2つの気筒が候補として特定される。そして、これを、さらにクランク角センサ15の検出信号による回転変動から最もリッチもしくはリーンとみなされる気筒の情報と組み合わせることで、最終的に空燃比が最もずれている気筒がそのずれ方向とともに確実に特定される。
[実施例2]
次に、図10に基づいて実施例2について説明する。本実施例の特徴の一つは、空燃比がずれている気筒の特定をより確実なものとするために、触媒上流空燃比センサ12の出力信号(Rabf)に含まれるエンジン2回転成分の位相が所定範囲に現れる頻度に基づいて、空燃比がずれている気筒を特定することである。
また、この実施例2では、最も空燃比がずれている気筒として、リッチ側にずれている気筒とリーン側にずれている気筒との双方が存在する場合、運転性の悪化の影響が大きいリーン側にずれている気筒を、最も空燃比がずれている気筒と判断するようにしている。
さらに、この実施例2では、触媒上流空燃比センサ12の信号のエンジン2回転成分のパワーが所定値であるときに限って、すなわち、720°CA周期の振動の振幅が所定値以上であることを条件として、空燃比が最もずれている気筒の特定を許可することで、誤検出を防止する。
実施例2のシステム構成およびコントロールユニット16の構成は、前述した図1,図2つまり実施例1のものと同様である。以下、実施例2としてROM22に書き込まれた制御プログラムについて説明する。
図10は実施例2の制御全体を表したブロック図であり、下記の各部で構成される。
・シリンダ内空気量演算部211(図11に詳細を示す)
・2回転成分演算部101(図4)
・2回転成分パワー演算部212(図12に詳細を示す)
・検出許可部213(図13に詳細を示す)
・2回転成分位相演算部102(図5)
・2回転成分位相出現頻度演算部214(図14、図15に詳細を示す)
・空燃比ずれ気筒検出部1(203)(図16に詳細を示す)
・気筒別回転変動演算部(204)(図17に詳細を示す)
・空燃比ずれ気筒検出部2(205)(図18に詳細を示す)
・空燃比ずれ気筒検出部3(206)(図19に詳細を示す)
なお、図10において、2回転成分演算部101、2回転成分位相演算部102および空燃比ずれ気筒検出部203が、請求項における「第1の手段」に相当し、気筒別回転変動演算部204および空燃比ずれ気筒検出部205が「第2の手段」に相当し、空燃比ずれ気筒検出部206が「第3の手段」に相当する。2回転成分パワー演算部212が「2回転成分のパワースペクトルを演算する手段」に相当する。
制御全体を簡単に説明すると、「シリンダ内空気量演算部211」では、シリンダ内空気量(Tp)を演算する。
前述した「2回転成分演算部101」で、触媒上流空燃比センサ12の出力信号(Rabf)の離散フーリエ変換によりこの出力信号(Rabf)に含まれるエンジン2回転成分の実数部(R_2rev)と虚数部(I_2rev)を演算する。「2回転成分パワー演算部212」で実数部R_2revと虚数部I_2revとから、2回転成分パワー(Power)(パワースペクトル)を演算する。
「検出許可部213」では、最も空燃比がずれている気筒の検出を許可するフラグ(fp_ken)を演算する。
前述した「2回転成分位相演算部102」で、実数部R_2revと虚数部I_2revとから、エンジン2回転成分の位相(Phase)(位相スペクトル)を演算する。そして「2回転成分位相出現頻度演算部214」で、各気筒別に、2回転成分位相出現頻度(R_a_2rev等)を演算する。「空燃比ずれ気筒検出部1(203)」では、2回転成分位相出現頻度(R_a_2rev等)から、空燃比がずれている気筒(詳しくは、空燃比がずれている可能性がある2つの気筒の候補)とずれ方向(リッチもしくはリーン)を検出する。
「気筒別回転変動演算部204」では、クランク角センサ15の信号から気筒別回転変動(dNe_1, dNe_2, dNe_3, dNe_4)を演算する。
「空燃比ずれ気筒検出部2(205)」では、気筒別回転変動d_Ne_1, dNe_2, dNe_3, dNe_4から、空燃比がずれている気筒とずれ方向(リッチもしくはリーン)を検出する。
そして、「空燃比ずれ気筒検出部3(206)」では、「空燃比ずれ気筒検出部1(203)」の検出結果と「空燃比ずれ気筒検出部2(205)」の検出結果の双方を用いて、最終的な空燃比ずれ気筒とずれ方向(リッチもしくはリーン)を検出する。
以下、各演算部の詳細を、図11〜図19のブロック図に基づき説明する。なお、図12〜図19の処理は、各気筒の燃焼毎つまり180°CA周期で実行される。2回転成分演算部101(図4参照)および2回転成分位相演算部102(図5参照)については、前述したものと変わりがないので、説明は省略する。
<シリンダ内空気量演算部211(図11)>
このシリンダ内空気量演算部211では、エアフロセンサ2が検出した吸入空気量Qaとエンジン回転速度Neとから、図11に示す式によって、シリンダ内空気量Tpを演算する。Cylは気筒数を表す。K0は、インジェクタの仕様(燃料噴射パルス幅と燃料噴射量の関係)に基づき決定される定数である。。
<2回転成分パワー演算部212(図12)>
2回転成分パワー演算部212では、エンジン2回転成分の振幅つまり2回転成分パワー(Power)を演算する。具体的には、図12に示すように、エンジン2回転成分の実数部R_2revと虚数部I_2revとから、下式により、Power(2回転成分パワー)を求める。
Power=√((R_2rev×R_2rev)+(I_2rev×I_2rev))
<検出許可部213(図13)>
検出許可部213では、図13に示すように、空燃比がずれている気筒の検出を行うか否かを示す検出許可フラグ(fp_ken)のセット、リセットを行う。具体的には、2回転成分パワーPowerとエンジン回転速度Neとシリンダ内空気量Tpとから、下記のように処理する。
・Power≧K1_Power
かつ
K1_Ne≦Ne≦K2_Ne
かつ
K1_Tp≦Tp≦K2_Tp
のとき、fp_ken(検出許可フラグ)を1とする。
・それ以外では、fp_ken(検出許可フラグ)を0とする。
すなわち、エンジン回転速度Neおよび負荷(シリンダ内空気量Tp)とが所定の運転領域内にあり、かつ2回転成分パワーPowerが所定の閾値K1_Power以上である場合に限って、空燃比が最もずれている気筒の検出を許可する。これによって、不要な誤検出が回避される。閾値K1_Powerは、目標検出性能相当の空燃比ばらつきレベルに応じて決めることが望ましい。また、K1_Ne, K2_Ne, K1_Tp, K2_Tpは、検出を実施するエンジンの運転領域に応じて設定される。
<2回転成分位相出現頻度演算部214(図14)>
2回転成分位相出現頻度演算部214は、図14に示すように、「空燃比ずれ発生回数演算部215(図15)」で演算される各気筒のリッチ,リーンの発生回数から2回転成分発生頻度(R_a_2rev等)を演算するものであるので、図15の空燃比ずれ発生回数演算部215を先に説明する。
<空燃比ずれ発生回数演算部215(図15)>
本演算部では、空燃比ずれ発生回数(Cnt_a_2rev等)をカウントする。具体的には、図15に示すように、2回転成分位相Phaseと検出許可フラグfp_kenを用いて、下記の処理を行う。ここで、N_2revは、位相検出回数、Cnt_a_2revは、「1番気筒リッチもしくは4番気筒リーン」発生回数、Cnt_b_2revは、「2番気筒リッチもしくは3番気筒リーン」発生回数、Cnt_c_2revは、「3番気筒リッチもしくは2番気筒リーン」発生回数、Cnt_d_2revは、「4番気筒リッチもしくは1番気筒リーン」発生回数、である。
検出許可フラグfp_kenが0であるときは、これらのN_2rev、Cnt_a_2rev、Cnt_b_2rev、Cnt_c_2rev、Cnt_d_2rev、を全て0にリセットする。
検出許可フラグfp_kenが1であるときは、位相検出回数N_2revに基づき、下記の通りとする。
i)N_2rev(前回値)<KN_2revのとき
・N_2rev=N_2rev(前回値)+1
とし、さらに、
・K1_Phase≦Phase<K2_Phaseであれば、
Cnt_a_2rev=Cnt_a_2rev(前回値)+1
・K2_Phase≦Phase<K3_Phaseであれば、
Cnt_b_2rev=Cnt_b_2rev(前回値)+1
・K3_Phase≦Phase<K4_Phaseであれば、
Cnt_c_2rev=Cnt_c_2rev(前回値)+1
・K4_Phase≦Phase<K5_Phaseであれば、
Cnt_d_2rev=Cnt_d_2rev(前回値)+1
ii)N_2rev(前回値)=KN_2revのとき
・N_2rev=1
とし、さらに、
・K1_Phase≦Phase<K2_Phaseであれば、
Cnt_a_2rev=1
・K2_Phase≦Phase<K3_Phaseであれば、
Cnt_b_2rev=1
・K3_Phase≦Phase<K4_Phaseであれば、
Cnt_c_2rev=1
・K4_Phase≦Phase<K5_Phaseであれば、
Cnt_d_2rev=1
K1_Phase、K2_Phase、K3_Phase、K4_Phase、K5_Phaseは、エンジン2回転成分の位相の範囲を各気筒毎に区切るための閾値であって、その値は、エンジンに応じて変わるので、経験的にもしくは実験等により定めることが望ましい。特に、対象エンジンの検出対象となる運転領域(検出許可部213におけるK1_Ne, K2_Ne, K1_TP, K2_TPによって決められる)に対応した値とすることが望ましい。
一方、位相検出回数N_2revに対する閾値KN_2revは、頻度の演算区間(統計処理区間)を定めており、従って、収束性と応答性の双方を勘案して決めるのがよい。
すなわち、上記の処理では、検出許可フラグfp_kenが1である場合に180°CA毎にインクリメントされる位相検出回数N_2revが所定の閾値KN_2revに達するまでの統計処理区間において、4つの範囲毎に、位相が出現した回数をカウントしていくことになる。各範囲は、図30で説明したように、それぞれ、ある一つの気筒が最もリッチであるかある一つの気筒が最もリーンであるかのいずれかに対応したものとなる。
そして、位相検出回数N_2revが所定の閾値KN_2revに達したら、再び1からカウントが再開されることとなる。
<2回転成分位相出現頻度演算部214(図14)>
再び2回転成分位相出現頻度演算部214の説明に戻るが、ここでは、前述した空燃比ずれ発生回数演算部215が出力するN_2rev(位相検出回数)、Cnt_a_2rev(1番気筒リッチもしくは4番気筒リーン発生回数)、Cnt_b_2rev(2番気筒リッチもしくは3番気筒リーン発生回数)、Cnt_c_2rev(3番気筒リッチもしくは2番気筒リーン発生回数)、Cnt_d_2rev(4番気筒リッチもしくは1番気筒リーン発生回数)の値を用いて、それぞれの発生頻度を演算する。ここで、R_a_2revは、「1番気筒リッチもしくは4番気筒リーン」発生頻度、R_b_2revは、「2番気筒リッチもしくは3番気筒リーン」発生頻度、R_c_2revは、「3番気筒リッチもしくは2番気筒リーン」発生頻度、R_d_2revは、「4番気筒リッチもしくは1番気筒リーン」発生頻度である。具体的には、以下のように処理する。
i)N_2rev=KN_2revのとき
R_a_2rev=Cnt_a_2rev/KN_2rev
R_b_2rev=Cnt_b_2rev/KN_2rev
R_c_2rev=Cnt_c_2rev/KN_2rev
R_d_2rev=Cnt_d_2rev/KN_2rev
ii)N_2rev<KN_2revのとき
R_a_2rev=R_a_2rev(前回値)
R_b_2rev=R_b_2rev(前回値)
R_c_2rev=R_c_2rev(前回値)
R_d_2rev=R_d_2rev(前回値)
すなわち、位相検出回数N_2revが統計処理区間を示す所定の閾値KN_2revに達するたびに、各発生回数を検出回数つまり閾値KN_2revで除して、それぞれの比つまり頻度を求める。
<空燃比ずれ気筒検出部1(203)(図16)>
この空燃比ずれ気筒検出部1(203)では、前述した位相検出回数N_2rev、および発生頻度 R_a_2rev, R_b_2rev, R_c_2rev, R_d_2revを用いて、空燃比がずれている気筒(詳しくはその候補となる2つの気筒)を特定する。
図16に示すように、まず初めに、空燃比がずれている気筒の候補を示すフラグ(f_a_2rev、f_b_2rev、f_c_2rev、f_d_2rev)をいずれも0に初期化する。
これらのフラグは、前述した実施例1の空燃比ずれ気筒検出部1(103)におけるフラグと同様であり、第1のフラグ(f_a_2rev)は、1番気筒の空燃比が最もリッチもしくは4番気筒の空燃比が最もリーンであることを表す。第2のフラグ(f_b_2rev)は、2番気筒が最もリッチもしくは3番気筒が最もリーンであることを表す。第3のフラグ((f_c_2rev)は、3番気筒が最もリッチもしくは2番気筒が最もリーンであることを表す。第4のフラグ(f_d_2rev)は、4番気筒が最もリッチもしくは1番気筒が最もリーンであることを表す。
そして、N_2rev=KN_2revのとき、つまり位相検出回数N_2revが統計処理区間を示す所定の閾値KN_2revに達したときに、発生頻度から下記のようにフラグのセットを行う。
K1_R_2rev≦R_a_2revのとき、1番気筒の空燃比が最もリッチもしくは4番気筒の空燃比が最もリーンであるとして、「1番気筒リッチもしくは4番気筒リーン」フラグ(f_a_2rev)を1とする。以下、同様にして、
K1_R_2rev≦R_b_2revのとき、f_b_2rev=1
K1_R_2rev≦R_c_2revのとき、f_c_2rev=1
K1_R_2rev≦R_d_2revのとき、f_d_2rev=1
とする。
発生頻度の閾値K1_R_2rev、K2_R_2rev、K3_Phase、K4_Phase、K5_Phaseの値は、位相の収束性、発生頻度に応じて、目標性能となるよう経験的に決めるのが望ましい。
このように実施例2では、複数回の位相の発生頻度から空燃比が最もずれている気筒の特定を行うので、その精度が高くなる。
<気筒別回転変動演算部204(図17)>
この気筒別回転変動演算部204では、図17に示すように、クランク角センサ15の検出信号に基づき、180°CA毎に回転速度Neの今回値と前回値との差dNe(回転変動)を求め、これに基づいて、実施例1の気筒別回転変動演算部104と同じく、気筒別の回転変動(dNe_1, dNe_2, dNe_3, dNe_4)を演算する。特に、この実施例2においては、位相検出回数N_2revが所定の閾値KN_2revに達するまでの各統計処理区間における平均値(移動平均)として、気筒別の回転変動が演算される。具体的には、下記の通りに処理する。
i)N_2rev=1のとき
・CYLCNT=1のとき、
dNe_1=dNe_1(前回値), dNe_2=dNe_2(前回値)
dNe_3=dNe_3(前回値), dNe_4=dNe
・CYLCNT=2のとき、
dNe_1=dNe_1(前回値), dNe_2=dNe_2(前回値)
dNe_3=dNe, dNe_4=dNe_4(前回値)
・CYLCNT=3のとき、
dNe_1=dNe_1(前回値), dNe_2=dNe
dNe_3=dNe_3(前回値), dNe_4=dNe_4(前回値)
・CYLCNT=4のとき、
dNe_1=dNe, dNe_2=dNe_2(前回値)
dNe_3=dNe_3(前回値), dNe_4=dNe_4(前回値)
ii)1<N_2rev≦KN_2revのとき
・CYLCNT=1のとき
dNe_1=dNe_1(前回値), dNe_2=dNe_2(前回値)
dNe_3=dNe_3(前回値),
dNe_4=(dNe+dNe_4(前回値))/2
・CYLCNT=2のとき、
dNe_1=dNe_1(前回値), dNe_2=dNe_2(前回値)
dNe_3=(dNe+dNe_3(前回値))/2,
dNe_4=dNe_4(前回値)
・CYLCNT=3のとき、
dNe_1=dNe_1(前回値),
dNe_2=(dNe+dNe_2(前回値))/2
dNe_3=dNe_3(前回値), dNe_4=dNe_4(前回値)
・CYLCNT=4のとき、
dNe_1=(dNe+dNe_1(前回値))/2,
dNe_2=dNe_2(前回値)
dNe_3=dNe_3(前回値), dNe_4=dNe_4(前回値)
なお、実施例1と同じく、dNe_1、dNe_2、dNe_3、dNe_4は、それぞれ、1番気筒、2番気筒、3番気筒、4番気筒の回転変動(角加速度)を示し、正・負双方の値をとり得る。
また、位相検出回数N_2revが0のときは、各回転変動(dNe_1, dNe_2, dNe_3, dNe_4)を0に初期化する。前述したように、検出許可フラグfp_kenが0であるときは、位相検出回数N_2revが0となる。
<空燃比ずれ気筒検出部2(205)(図18)>
図18に示す空燃比ずれ気筒検出部2(205)では、実施例1の空燃比ずれ気筒検出部2(105)と同様に、気筒別の回転変動dNe_1, dNe_2, dNe_3, dNe_4を用いて、空燃比がずれている気筒をそのずれの方向とともに特定する。但し、この実施例2においては、統計処理区間毎、つまり、位相検出回数N_2revが所定の閾値KN_2revに達したときに、気筒の特定を行う。
図18の処理では、実施例1の空燃比ずれ気筒検出部2(105)と同じく、まず、回転変動に基づくリッチ気筒およびリーン気筒を表す8つのフラグ(f_1R_dNe、f_2R_dNe、f_3R_dNe、f_4R_dNe、f_1L_dNe、f_2L_dNe、f_3L_dNe、f_4L_dNe)を全て0に初期化する。
そして、N_2rev=KN_2revのとき、つまり位相検出回数N_2revが所定の閾値KN_2revに達したときに、4つの回転変動の比較から、下記のようにフラグのセットを行う。
・dNe_1, dNe_2, dNe_3, dNe_4の中の最大値がdNe_1のとき、1番気筒の空燃比が最もリッチであるとみなして、1番気筒リッチフラグ(f_1R_dNe)を1とする。
・dNe_1, dNe_2, dNe_3, dNe_4の中の最大値がdNe_2のとき、2番気筒の空燃比が最もリッチであるとみなして、2番気筒リッチフラグ(f_2R_dNe)を1とする。
・dNe_1, dNe_2, dNe_3, dNe_4の中の最大値がdNe_3のとき、3番気筒の空燃比が最もリッチであるとみなして、3番気筒リッチフラグ(f_3R_dNe)を1とする。
・dNe_1, dNe_2, dNe_3, dNe_4の中の最大値がdNe_4のとき、4番気筒の空燃比が最もリッチであるとみなして、4番気筒リッチフラグ(f_4R_dNe)を1とする。
・dNe_1, dNe_2, dNe_3, dNe_4の中の最小値がdNe_1のとき、1番気筒の空燃比が最もリーンであるとみなして、1番気筒リーンフラグ(f_1L_dNe)を1とする。
・dNe_1, dNe_2, dNe_3, dNe_4の中の最小値がdNe_2のとき、2番気筒の空燃比が最もリーンであるとみなして、2番気筒リーンフラグ(f_2L_dNe)を1とする。
・dNe_1, dNe_2, dNe_3, dNe_4の中の最小値がdNe_3のとき、3番気筒の空燃比が最もリーンであるとみなして、3番気筒リーンフラグ(f_3L_dNe)を1とする。
・dNe_1, dNe_2, dNe_3, dNe_4の中の最小値がdNe_4のとき、4番気筒の空燃比が最もリーンであるとみなして、4番気筒リーンフラグ(f_4L_dNe)を1とする。
このように、実施例2では、ある区間(統計処理区間)の間の平均的な回転変動の大小から空燃比が最もずれている気筒の特定を行うので、その精度が高くなる。
<空燃比ずれ気筒検出部3(206)(図19)>
図19に示す空燃比ずれ気筒検出部3(206)では、実施例1の空燃比ずれ気筒検出部3(106)と同様に、空燃比ずれ気筒検出部1(203)の検出結果と空燃比ずれ気筒検出部2(205)の検出結果とを用いて、空燃比が最もずれている一つの気筒をそのずれ方向とともに最終的に特定する。但し、この実施例2においては、回転変動からリーンとリッチの2つの気筒が検出されたときの処理が実施例1とは異なっている。
図19の処理では、まず、最終的なリッチ気筒およびリーン気筒を表す8つのフラグ(f_1R、f_2R、f_3R、f_4R、f_1L、f_2L、f_3L、f_4L)を全て0に初期化する。そして、空燃比センサ12の出力信号のエンジン2回転成分に基づく候補気筒を表すフラグと、クランク角センサ15による気筒別の回転変動に基づくリッチ気筒およびリーン気筒を表すフラグと、の組み合わせによって、下記のようにフラグのセットを行う。
・f_d_2rev=1かつf_1L_dNe=1のとき、1番気筒の空燃比が最もリーンであると判断し、1番気筒リーンフラグf_1Lを1とする。なお、仮に、このとき回転変動の情報に基づき同時に他の気筒がリッチであることを示していても(つまり回転変動によるリッチフラグが1であっても)、リーンフラグを優先し、リーンである気筒が最も空燃比がずれている気筒であると判定する。これは、リーンである気筒の方がエンジンの安定性に影響することを考慮したものである。
同様に、下記のように処理する。
・f_c_2rev=1かつf_2L_dNe=1のとき、2番気筒の空燃比が最もリーンであると判断し、2番気筒リーンフラグf_2Lを1とする。
・f_b_2rev=1かつf_3L_dNe=1のとき、3番気筒の空燃比が最もリーンであると判断し、3番気筒リーンフラグf_3Lを1とする。
・f_a_2rev=1かつf_4L_dNe=1のとき、4番気筒の空燃比が最もリーンであると判断し、4番気筒リーンフラグf_4Lを1とする。
一方、
・f_a_2rev=1かつf_1R_dNe=1かつf_4L=0のときは、エンジン2回転成分の位相に基づく検出結果および回転変動に基づく検出結果の双方から、1番気筒の空燃比が最もリッチであり、かつ、4番気筒はリーンではないと判断し、1番気筒リッチフラグ(f_1R)を1とする。
以下、同様に下記のように処理する。
・f_b_2rev=1かつf_2R_dNe=1かつf_3L=0のとき、f_2R=1とする。
・f_c_2rev=1かつf_3R_dNe=1かつf_2L=0のとき、f_3R=1とする。
・f_d_2rev=1かつf_4R_dNe=1かつf_1L=0のとき、f_4R=1とする。
このように、実施例2においては、所定の統計処理区間内における位相の発生頻度および同区間内の平均的な回転変動の大小に基づいて、空燃比が最もずれている気筒をそのずれの方向とともに特定するので、より精度の高い特定が可能である。また、エンジン2回転成分のパワーが所定値であるときに限って、位相検出などの処理を行うので、空燃比のばらつきが殆どないような場合の誤検出を防止できる。また、リッチ気筒とリーン気筒の2つの気筒が存在する場合に、リーン気筒の方を空燃比が最もずれている気筒として選択するので、例えば燃料噴射量の補正等によるエンジンの安定性の確保がより容易となる。
[実施例3]
次に、図20に基づいて実施例3について説明する。本実施例の特徴は、検出精度をより高めるために、フューエルカットなどに伴う空燃比センサ12の極端にリーンもしくはリッチな出力信号を排除するとともに、検出した位相を各気筒に対応した複数の範囲に分類する際の位相の閾値(K1_Phase等)をエンジン運転条件に応じて可変的に設定するようにした点にある。他は、基本的に実施例2と同様であるので、重複する説明は省略する。
実施例3のシステム構成およびコントロールユニット16の構成は、前述した図1,図2つまり実施例1のものと同様である。以下、実施例3としてROM22に書き込まれた制御プログラムについて説明する。
図20は実施例3の制御全体を表したブロック図であり、下記の各部で構成される。
・シリンダ内空気量演算部211(図11)
・2回転成分演算部101(図4)
・2回転成分パワー演算部212(図12)
・検出許可部313(図21に詳細を示す)
・2回転成分位相演算部102(図5)
・2回転成分位相出現頻度演算部314(図14、図22、図23に詳細を示す)
・空燃比ずれ気筒検出部1(203)(図16)
・気筒別回転変動演算部(204)(図17)
・空燃比ずれ気筒検出部2(205)(図18)
・空燃比ずれ気筒検出部3(206)(図19)
なお、図20において、2回転成分演算部101、2回転成分位相演算部102および空燃比ずれ気筒検出部203が、請求項における「第1の手段」に相当し、気筒別回転変動演算部204および空燃比ずれ気筒検出部205が「第2の手段」に相当し、空燃比ずれ気筒検出部206が「第3の手段」に相当する。2回転成分パワー演算部212が「2回転成分のパワースペクトルを演算する手段」に相当する。
制御全体は実施例2と同様であり、簡単に説明すると、「シリンダ内空気量演算部211」では、シリンダ内空気量(Tp)を演算する。
前述した「2回転成分演算部101」で、触媒上流空燃比センサ12の出力信号(Rabf)の離散フーリエ変換によりこの出力信号(Rabf)に含まれるエンジン2回転成分の実数部(R_2rev)と虚数部(I_2rev)を演算する。「2回転成分パワー演算部212」で実数部R_2revと虚数部I_2revとから、2回転成分パワー(Power)を演算する。
「検出許可部313」では、最も空燃比がずれている気筒の検出を許可するフラグ(fp_ken)を演算する。
前述した「2回転成分位相演算部102」で、実数部R_2revと虚数部I_2revとから、エンジン2回転成分の位相(Phase)を演算する。そして「2回転成分位相出現頻度演算部314」で、各気筒別に、2回転成分位相出現頻度(R_a_2rev等)を演算する。「空燃比ずれ気筒検出部1(203)」では、2回転成分位相出現頻度(R_a_2rev等)から、空燃比がずれている気筒(詳しくは、空燃比がずれている可能性がある2つの気筒の候補)とずれ方向(リッチもしくはリーン)を検出する。
「気筒別回転変動演算部204」では、クランク角センサ15の信号から気筒別回転変動(dNe_1, dNe_2, dNe_3, dNe_4)を演算する。
「空燃比ずれ気筒検出部2(205)」では、気筒別回転変動d_Ne_1, dNe_2, dNe_3, dNe_4から、空燃比がずれている気筒とずれ方向(リッチもしくはリーン)を検出する。
そして、「空燃比ずれ気筒検出部3(206)」では、「空燃比ずれ気筒検出部1(203)」の検出結果と「空燃比ずれ気筒検出部2(205)」の検出結果の双方を用いて、最終的な空燃比ずれ気筒とずれ方向(リッチもしくはリーン)を検出する。
以下、実施例2と異なる検出許可部313および2回転成分位相出現頻度演算部314の詳細を、図21〜図23のブロック図に基づいて説明する。なお、図21〜図23の処理は、各気筒の燃焼毎つまり180°CA周期で実行される。他のシリンダ内空気量演算部211、2回転成分演算部101、2回転成分パワー演算部212、2回転成分位相演算部102、空燃比ずれ気筒検出部1(203)、気筒別回転変動演算部(204)、空燃比ずれ気筒検出部2(205)、空燃比ずれ気筒検出部3(206)については、前述したものと変わりがないので、説明は省略する。
<検出許可部313(図21)>
検出許可部313では、図21に示すように、空燃比がずれている気筒の検出を行うか否かを示す検出許可フラグ(fp_ken)のセット、リセットを行う。具体的には、2回転成分パワーPowerと空燃比センサ12の出力信号Rabfとから、下記のように処理する。
・Power≧K1_Power
かつ
K1_Rabf≦Rabf≦K2_Rabf
のとき、fp_ken(検出許可フラグ)を1とする。
・それ以外では、fp_ken(検出許可フラグ)を0とする。
すなわち、空燃比センサ12の出力信号Rabfが一定範囲内(例えば空燃比として13.5〜15など)にあり、かつ2回転成分パワーPowerが所定の閾値K1_Power以上である場合に限って、空燃比が最もずれている気筒の検出を許可する。これによって、不要な誤検出が回避される。閾値K1_Powerは、目標検出性能相当の空燃比ばらつきレベルに応じて決めることが望ましい。本実施例3では、空燃比を一定範囲内に制限することで、フューエルカットなどによる極端な出力信号による誤差が排除される。閾値K1_Rabf, K2_Rabfは、空燃比センサ12の出力信号Rabfからエンジン2回転成分が検出可能な空燃比範囲として決めることが望ましい。
<2回転成分位相出現頻度演算部314(図14)>
実施例3においては、2回転成分位相出現頻度演算部314が実施例2の2回転成分位相出現頻度演算部214とは異なっているが、その全体的な構成は、図14に示した実施例2のものと同様であるので、その詳細な説明は省略する。実施例3では、図14の一部をなす空燃比ずれ発生回数演算部315(実施例2の空燃比ずれ発生回数演算部215と区別するために異なる参照符号を付す)が実施例2のものと異なっている。
<空燃比ずれ発生回数演算部315(図22)>
実施例3の空燃比ずれ発生回数演算部315は、図22に示すように、図15のものと比較して、検出した位相を各気筒に対応した複数の範囲に分類する際の位相の閾値(K1_Phase等)をエンジン運転条件に応じて可変的に設定する位相しきい値演算部321を備えている点において異なっている。
すなわち、この空燃比ずれ発生回数演算部315は、実施例2と同じく、空燃比ずれ発生回数(Cnt_a_2rev等)をカウントするものであって、2回転成分位相Phaseと検出許可フラグfp_kenを用いて、下記の処理を行う。前述したように、N_2revは、位相検出回数、Cnt_a_2revは、「1番気筒リッチもしくは4番気筒リーン」発生回数、Cnt_b_2revは、「2番気筒リッチもしくは3番気筒リーン」発生回数、Cnt_c_2revは、「3番気筒リッチもしくは2番気筒リーン」発生回数、Cnt_d_2revは、「4番気筒リッチもしくは1番気筒リーン」発生回数、である。
検出許可フラグfp_kenが0であるときは、これらのN_2rev、Cnt_a_2rev、Cnt_b_2rev、Cnt_c_2rev、Cnt_d_2rev、を全て0にリセットする。
検出許可フラグfp_kenが1であるときは、位相検出回数N_2revに基づき、下記の通りとする。
i)N_2rev(前回値)<KN_2revのとき
・N_2rev=N_2rev(前回値)+1
とし、さらに、
・K1_Phase≦Phase<K2_Phaseであれば、
Cnt_a_2rev=Cnt_a_2rev(前回値)+1
・K2_Phase≦Phase<K3_Phaseであれば、
Cnt_b_2rev=Cnt_b_2rev(前回値)+1
・K3_Phase≦Phase<K4_Phaseであれば、
Cnt_c_2rev=Cnt_c_2rev(前回値)+1
・K4_Phase≦Phase<K5_Phaseであれば、
Cnt_d_2rev=Cnt_d_2rev(前回値)+1
ii)N_2rev(前回値)=KN_2revのとき
・N_2rev=1
とし、さらに、
・K1_Phase≦Phase<K2_Phaseであれば、
Cnt_a_2rev=1
・K2_Phase≦Phase<K3_Phaseであれば、
Cnt_b_2rev=1
・K3_Phase≦Phase<K4_Phaseであれば、
Cnt_c_2rev=1
・K4_Phase≦Phase<K5_Phaseであれば、
Cnt_d_2rev=1
ここで、本実施例3においては、位相範囲を仕切る閾値K1_Phase、K2_Phase、K3_Phase、K4_Phase、K5_Phaseが、エンジン回転速度Neとシリンダ内空気量Tpとに基づいて、位相しきい値演算部321によって演算される。
<位相しきい値演算部321(図23)>
位相しきい値演算部321は、図23に示すように、例えば、エンジン回転速度Neとシリンダ内空気量Tpとをパラメータとする各々のテーブルTbl_K1_Phase、Tbl_K2_Phase、Tbl_K3_Phase、Tbl_K4_Phase、Tbl_K5_Phaseを参照して、位相閾値(K1_Phase、K2_Phase、K3_Phase、K4_Phase、K5_Phase)を求める。
各テーブルの値は、エンジンに応じて変わるので、エンジン回転速度Neとシリンダ内空気量Tpとで定まる各運転条件毎に経験的ないし実験的に決めることが望ましい。
このように実施例3では、位相範囲を仕切る閾値をエンジン運転条件に応じて可変的に設定するので、気筒番号と位相との対応関係がより確実に得られ、最終的な気筒の特定の精度が向上する。
[実施例4]
次に、図24に基づいて実施例4について説明する。本実施例の特徴は、前述の各実施例のように空燃比が最もずれている気筒をそのずれ方向とともに特定した後、気筒間の空燃比差が小さくなるように、少なくとも一つの気筒の燃料噴射量を補正するようにした点にある。他は、基本的に実施例3と同様であるので、重複する説明は省略する。
実施例4のシステム構成およびコントロールユニット16の構成は、前述した図1,図2つまり実施例1のものと同様である。以下、実施例4としてROM22に書き込まれた制御プログラムについて説明する。
図24は実施例4の制御全体を表したブロック図であり、下記の各部で構成される。
・シリンダ内空気量演算部211(図11)
・2回転成分演算部101(図4)
・2回転成分パワー演算部212(図12)
・検出許可部313(図21)
・2回転成分位相演算部102(図5)
・2回転成分位相出現頻度演算部314(図14、図22、図23)
・空燃比ずれ気筒検出部1(203)(図16)
・気筒別回転変動演算部(204)(図17)
・空燃比ずれ気筒検出部2(205)(図18)
・空燃比ずれ気筒検出部3(206)(図19)
・燃料噴射量補正値演算部431(図25に詳細を示す)
・燃料噴射量演算部432(図26に詳細を示す)
なお、図24において、2回転成分演算部101、2回転成分位相演算部102および空燃比ずれ気筒検出部203が、請求項における「第1の手段」に相当し、気筒別回転変動演算部204および空燃比ずれ気筒検出部205が「第2の手段」に相当し、空燃比ずれ気筒検出部206が「第3の手段」に相当する。2回転成分パワー演算部212が「2回転成分のパワースペクトルを演算する手段」に相当する。また、燃料噴射量補正値演算部431は、「空燃比を補正する手段」である。
燃料噴射量の補正を除く基本的な制御は実施例3と同様であり、簡単に説明すると、「シリンダ内空気量演算部211」では、シリンダ内空気量(Tp)を演算する。
「2回転成分演算部101」で、触媒上流空燃比センサ12の出力信号(Rabf)の離散フーリエ変換によりこの出力信号(Rabf)に含まれるエンジン2回転成分の実数部(R_2rev)と虚数部(I_2rev)を演算する。「2回転成分パワー演算部212」で実数部R_2revと虚数部I_2revとから、2回転成分パワー(Power)を演算する。
「検出許可部313」では、最も空燃比がずれている気筒の検出を許可するフラグ(fp_ken)を演算する。
「2回転成分位相演算部102」で、実数部R_2revと虚数部I_2revとから、エンジン2回転成分の位相(Phase)を演算する。そして「2回転成分位相出現頻度演算部314」で、各気筒別に、2回転成分位相出現頻度(R_a_2rev等)を演算する。「空燃比ずれ気筒検出部1(203)」では、2回転成分位相出現頻度(R_a_2rev等)から、空燃比がずれている気筒(詳しくは、空燃比がずれている可能性がある2つの気筒の候補)とずれ方向(リッチもしくはリーン)を検出する。
「気筒別回転変動演算部204」では、クランク角センサ15の信号から気筒別回転変動(dNe_1, dNe_2, dNe_3, dNe_4)を演算する。
「空燃比ずれ気筒検出部2(205)」では、気筒別回転変動d_Ne_1, dNe_2, dNe_3, dNe_4から、空燃比がずれている気筒とずれ方向(リッチもしくはリーン)を検出する。
そして、「空燃比ずれ気筒検出部3(206)」では、「空燃比ずれ気筒検出部1(203)」の検出結果と「空燃比ずれ気筒検出部2(205)」の検出結果の双方を用いて、最終的な空燃比ずれ気筒とずれ方向(リッチもしくはリーン)を検出する。
実施例4では、さらに、「燃料噴射量補正値演算部431」において、最終的な空燃比ずれ気筒とずれ方向とから各気筒毎に燃料噴射量補正値(Fhos1等)を演算する。そして、「燃料噴射量演算部432」では、演算した各気筒の燃料噴射量補正値(Fhos1等)を用いて、気筒別の燃料噴射量(TI1等)を演算する。
以下、実施例3と異なる燃料噴射量補正値演算部431および燃料噴射量演算部432の詳細を、図25、図26のブロック図に基づいて説明する。なお、図25の処理は、各気筒の燃焼毎つまり180°CA周期で実行される。他のシリンダ内空気量演算部211、2回転成分演算部101、2回転成分パワー演算部212、検出許可部313、2回転成分位相演算部102、2回転成分位相出現頻度演算部314、空燃比ずれ気筒検出部1(203)、気筒別回転変動演算部(204)、空燃比ずれ気筒検出部2(205)、空燃比ずれ気筒検出部3(206)については、前述したものと変わりがないので、説明は省略する。
<燃料噴射量補正値演算部431(図25)>
図25に示す燃料噴射量補正値演算部431では、前述したように空燃比ずれ気筒検出部3(206)から最終的に出力される各気筒毎のリッチフラグないしリーンフラグ(f_1R、f_1L等)に基づいて、1番気筒〜4番気筒の燃料噴射量補正値(Fhos1,Fhos2,Fhos3,Fhos4)をそれぞれ演算する。具体的には、下記のように、リッチ側およびリーン側への所定の微小量HosR、HosLの加算・減算によって、各気筒の燃料噴射量補正値(Fhos1等)を増減変化させていく。
・f_1R=1のとき
Fhos1=Fhos1(前回値)−HosR
f_1L=1のとき
Fhos1=Fhos1(前回値)+HosL
それ以外は、
Fhos1=Fhos1(前回値)
・f_2R=1のとき
Fhos2=Fhos2(前回値)−HosR
f_2L=1のとき
Fhos2=Fhos2(前回値)+HosL
それ以外は、
Fhos2=Fhos2(前回値)
・f_3R=1のとき
Fhos3=Fhos3(前回値)−HosR
f_3L=1のとき
Fhos3=Fhos3(前回値)+HosL
それ以外は、
Fhos3=Fhos3(前回値)
・f_4R=1のとき
Fhos4=Fhos4(前回値)−HosR
f_4L=1のとき
Fhos4=Fhos4(前回値)+HosL
それ以外は、
Fhos4=Fhos4(前回値)
なお、リッチ側への変化量HosRおよびリーン側への変化量HosLは、目標とする補正速度や補正精度に応じて決めることが望ましい。
<燃料噴射量演算部432(図26)>
図26に示す燃料噴射量演算部432では、前述した各気筒の燃料噴射量補正値(Fhos1等)を用いて、1番気筒〜4番気筒の燃料噴射量(TI1, TI2, TI3, TI4)をそれぞれ演算する。具体的には、下記に示すように、シリンダ内空気量Tpに燃料噴射量補正値(Fhos1等)を乗じて、燃料噴射量を求める。
TI1=Tp×Fhos1
TI2=Tp×Fhos2
TI3=Tp×Fhos3
TI4=Tp×Fhos4
このように、空燃比が最もずれている気筒として特定された気筒の燃料噴射量を、その空燃比のずれが小さくなる方向に補正することで、空燃比のばらつきが小さくなり、エンジンの安定性が向上するとともに、全気筒が目標空燃比(例えば理論空燃比)に揃うようになり、排気性能が向上する。
[実施例5]
次に、図27に基づいて実施例5について説明する。本実施例の特徴は、前述の各実施例のように空燃比が最もずれている気筒をそのずれ方向とともに特定した後、そのずれが過度に大きい場合には、エンジンの排気性能および安定性の悪化を報知するようにした点にある。他は、基本的に実施例3と同様であるので、重複する説明は省略する。
実施例5のシステム構成およびコントロールユニット16の構成は、前述した図1,図2つまり実施例1のものと同様である。以下、実施例5としてROM22に書き込まれた制御プログラムについて説明する。
図27は実施例の制御全体を表したブロック図であり、下記の各部で構成される。
・シリンダ内空気量演算部211(図11)
・2回転成分演算部101(図4)
・2回転成分パワー演算部212(図12)
・検出許可部313(図21)
・2回転成分位相演算部102(図5)
・2回転成分位相出現頻度演算部314(図14、図22、図23)
・空燃比ずれ気筒検出部1(203)(図16)
・気筒別回転変動演算部(204)(図17)
・空燃比ずれ気筒検出部2(205)(図18)
・空燃比ずれ気筒検出部3(206)(図19)
・異常判定部541(図28に詳細を示す)
なお、図27において、2回転成分演算部101、2回転成分位相演算部102および空燃比ずれ気筒検出部203が、請求項における「第1の手段」に相当し、気筒別回転変動演算部204および空燃比ずれ気筒検出部205が「第2の手段」に相当し、空燃比ずれ気筒検出部206が「第3の手段」に相当する。2回転成分パワー演算部212が「2回転成分のパワースペクトルを演算する手段」に相当する。また、異常判定部541が「異常と報知する手段」に相当する。
異常報知を除く基本的な制御は実施例3と同様であり、簡単に説明すると、「シリンダ内空気量演算部211」では、シリンダ内空気量(Tp)を演算する。
「2回転成分演算部101」で、触媒上流空燃比センサ12の出力信号(Rabf)の離散フーリエ変換によりこの出力信号(Rabf)に含まれるエンジン2回転成分の実数部(R_2rev)と虚数部(I_2rev)を演算する。「2回転成分パワー演算部212」で実数部R_2revと虚数部I_2revとから、2回転成分パワー(Power)を演算する。
「検出許可部313」では、最も空燃比がずれている気筒の検出を許可するフラグ(fp_ken)を演算する。
「2回転成分位相演算部102」で、実数部R_2revと虚数部I_2revとから、エンジン2回転成分の位相(Phase)を演算する。そして「2回転成分位相出現頻度演算部314」で、各気筒別に、2回転成分位相出現頻度(R_a_2rev等)を演算する。「空燃比ずれ気筒検出部1(203)」では、2回転成分位相出現頻度(R_a_2rev等)から、空燃比がずれている気筒(詳しくは、空燃比がずれている可能性がある2つの気筒の候補)とずれ方向(リッチもしくはリーン)を検出する。
「気筒別回転変動演算部204」では、クランク角センサ15の信号から気筒別回転変動(dNe_1, dNe_2, dNe_3, dNe_4)を演算する。
「空燃比ずれ気筒検出部2(205)」では、気筒別回転変動d_Ne_1, dNe_2, dNe_3, dNe_4から、空燃比がずれている気筒とずれ方向(リッチもしくはリーン)を検出する。
そして、「空燃比ずれ気筒検出部3(206)」では、「空燃比ずれ気筒検出部1(203)」の検出結果と「空燃比ずれ気筒検出部2(205)」の検出結果の双方を用いて、最終的な空燃比ずれ気筒とずれ方向(リッチもしくはリーン)を検出する。
実施例5では、さらに、「異常判定部541」において、最終的に特定された空燃比が最もずれている気筒およびその方向と、空燃比センサ出力信号のエンジン2回転成分のパワーと、から、異常フラグ(f_MIL)の演算を行う。
以下、実施例3と異なる異常判定部541の詳細を、図28のブロック図に基づいて説明する。なお、他のシリンダ内空気量演算部211、2回転成分演算部101、2回転成分パワー演算部212、検出許可部313、2回転成分位相演算部102、2回転成分位相出現頻度演算部314、空燃比ずれ気筒検出部1(203)、気筒別回転変動演算部(204)、空燃比ずれ気筒検出部2(205)、空燃比ずれ気筒検出部3(206)については、前述したものと変わりがないので、説明は省略する。
<異常判定部541(図28)>
図28に示す異常判定部541では、前述したように空燃比ずれ気筒検出部3(206)から最終的に出力される各気筒毎のリッチフラグないしリーンフラグ(f_1R、f_1L等)と、2回転成分パワー演算部212から出力されるエンジン2回転成分のパワーPowerと、に基づいて、異常フラグ(f_MIL)のセット、リセットを行う。具体的には、各気筒のリッチフラグないしリーンフラグ(f_1R_dNe、f_2R_dNe、f_3R_dNe、f_4R_dNe、f_1L_dNe、f_2L_dNe、f_3L_dNe、f_4L_dNe)のいずれかが1で、かつ「Power≧K2_Power」のときには、異常フラグ(f_MIL)を1とし、それ以外であれば、0とする。
パワーPowerの閾値K2_Powerの値は、報知したい排気悪化レベル相当となるよう、経験的ないし実験的に決めることが望ましい。なお、図28には示していないが、異常フラグf_MILが1となったときに、例えば、警告ランプの点灯や警告音等によって運転者にエンジンの排気性能異常を報知することができる。
このように、エンジン2回転成分のパワーPowerの大きさに基づき、各気筒の空燃比のばらつきが許容し得る範囲内のものであるか否かを確実に判別することができる。
7…燃料噴射弁
9…エンジン
12…触媒上流空燃比センサ
15…クランク角センサ
16…コントロールユニット
101…2回転成分演算部
102…2回転成分位相演算部
103…空燃比ずれ気筒検出部1
104…気筒別回転変動演算部
105…空燃比ずれ気筒検出部2
106…空燃比ずれ気筒検出部3

Claims (10)

  1. 複数の気筒の排気管集合部に空燃比センサを備えるとともに、クランクシャフトの回転角を検出する回転角センサを備えてなる多気筒エンジンの制御装置において、
    上記空燃比センサの出力信号に含まれるエンジン2回転成分の位相に基づいて、上記複数の気筒のうち理論空燃比から最も空燃比がずれている気筒の候補を特定する第1の手段と、
    上記回転角センサの出力信号から気筒別の回転変動を検出する第2の手段と、
    上記第1の手段と上記第2の手段の検出結果に基づいて、上記複数の気筒のうち理論空燃比から最も空燃比がずれている気筒を特定する第3の手段と、を備えたことを特徴とする多気筒エンジンの制御装置。
  2. 上記第2の手段は、
    気筒別の角加速度が最大の気筒を、空燃比が最もリッチな気筒とみなし、
    気筒別の角加速度が最小の気筒を、空燃比が最もリーンな気筒とみなし、
    上記第3の手段は、
    上記第1の手段で特定した候補の中に、上記第2の手段による空燃比が最もリッチな気筒もしくは最もリーンな気筒があれば、この空燃比が最もリッチな気筒もしくは最もリーンな気筒を上記の最も空燃比がずれている気筒と特定し、
    上記第1の手段で特定した候補の中に、上記第2の手段による空燃比が最もリッチな気筒と最もリーンな気筒の双方が含まれる場合は、この空燃比が最もリッチな気筒および最もリーンな気筒を上記の最も空燃比がずれている気筒と特定する、ことを特徴とする請求項1に記載の多気筒エンジンの制御装置。
  3. 上記第2の手段は、
    気筒別の角加速度が最大の気筒を、空燃比が最もリッチな気筒とみなし、
    気筒別の角加速度が最小の気筒を、空燃比が最もリーンな気筒とみなし、
    上記第3の手段は、
    上記第1の手段で特定した候補の中に、上記第2の手段による空燃比が最もリッチな気筒もしくは最もリーンな気筒があれば、この空燃比が最もリッチな気筒もしくは最もリーンな気筒を上記の最も空燃比がずれている気筒と特定し、
    上記第1の手段で特定した候補の中に、上記第2の手段による空燃比が最もリッチな気筒と最もリーンな気筒の双方が含まれる場合は、空燃比が最もリーンな気筒の方を、上記の最も空燃比がずれている気筒と特定する、ことを特徴とする請求項に記載の多気筒エンジンの制御装置。
  4. 上記第1の手段は、
    上記空燃比センサの出力信号を離散フーリエ変換して得たエンジン2回転成分の実数部と虚数部とからエンジン2回転成分の位相を求める、ことを特徴とする請求項1から請求項までのいずれか一項に記載の多気筒エンジンの制御装置。
  5. 上記第1の手段は、
    複数に分割した所定の位相の範囲毎に、エンジン2回転成分の位相が現れる頻度を求め、最も頻度が高い位相範囲に対応する一つないし複数の気筒を上記の候補とする、ことを特徴とする請求項1から請求項までのいずれか一項に記載の多気筒エンジンの制御装置。
  6. 上記の位相の範囲が、エンジンの運転条件に応じて可変的に設定される、ことを特徴とする請求項5に記載の多気筒エンジンの制御装置。
  7. 上記第3の手段が特定した最も空燃比がずれている気筒の空燃比の理想空燃費からのずれ量が小さくなるように、当該気筒の空燃比を補正する手段を備えたことを特徴とする請求項1から請求項までのいずれか一項に記載の多気筒エンジンの制御装置。
  8. 上記空燃比センサの出力信号の離散フーリエ変換により上記エンジン2回転成分のパワースペクトルを演算する手段と、
    このパワースペクトルを所定の閾値と比較する手段と、をさらに備え、
    上記パワースペクトルが上記閾値以上の場合に上記の最も空燃比がずれている気筒の特定を行う、ことを特徴とする請求項1から請求項までのいずれか一項に記載の多気筒エンジンの制御装置。
  9. 上記空燃比センサの出力信号の離散フーリエ変換により上記エンジン2回転成分のパワースペクトルを演算する手段と、
    このパワースペクトルを所定の第2の閾値と比較する手段と、
    上記パワースペクトルが上記第2の閾値以上のときにエンジンの異常と報知する手段と、
    をさらに備えたことを特徴とする請求項1から請求項までのいずれか一項に記載の多気筒エンジンの制御装置。
  10. 偶数個の気筒の排気管が集合する排気管集合部に上記空燃比センサが設けられている、
    ことを特徴とする請求項1から請求項までのいずれか一項に記載の多気筒エンジンの制御装置。
JP2012238484A 2012-10-30 2012-10-30 多気筒エンジンの制御装置 Active JP6130124B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012238484A JP6130124B2 (ja) 2012-10-30 2012-10-30 多気筒エンジンの制御装置
PCT/JP2013/077416 WO2014069194A1 (ja) 2012-10-30 2013-10-09 多気筒エンジンの制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012238484A JP6130124B2 (ja) 2012-10-30 2012-10-30 多気筒エンジンの制御装置

Publications (2)

Publication Number Publication Date
JP2014088795A JP2014088795A (ja) 2014-05-15
JP6130124B2 true JP6130124B2 (ja) 2017-05-17

Family

ID=50627108

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012238484A Active JP6130124B2 (ja) 2012-10-30 2012-10-30 多気筒エンジンの制御装置

Country Status (2)

Country Link
JP (1) JP6130124B2 (ja)
WO (1) WO2014069194A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102119876B1 (ko) * 2018-12-04 2020-06-05 현대오트론 주식회사 단기통 4행정 엔진의 실화 진단 방법 및 장치
KR102119873B1 (ko) * 2018-12-04 2020-06-05 현대오트론 주식회사 단기통 4행정 엔진의 실화 진단 방법 및 장치

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015203458B3 (de) * 2015-02-26 2016-05-12 Continental Automotive Gmbh Verfahren und Vorrichtung zum Betreiben einer Brennkraftmaschine
DE102015219362B3 (de) * 2015-10-07 2016-10-20 Continental Automotive Gmbh Verfahren und Vorrichtung zum Betreiben einer Brennkraftmaschine
DE102017215849B4 (de) * 2017-09-08 2019-07-18 Continental Automotive Gmbh Verfahren zur Überprüfung der Funktion eines Drucksensors im Luft-Ansaugtrakt oder Abgas-Auslasstrakt eines Verbrennungsmotors im Betrieb und Motor-Steuerungseinheit
CN107975434A (zh) * 2017-11-16 2018-05-01 中国第汽车股份有限公司 缸内直喷汽油机各缸空燃比不均匀性检测方法和系统
US11255282B2 (en) 2019-02-15 2022-02-22 Toyota Jidosha Kabushiki Kaisha State detection system for internal combustion engine, data analysis device, and vehicle
EP3696395A1 (en) 2019-02-15 2020-08-19 Toyota Jidosha Kabushiki Kaisha State detection system for internal combustion engine, data analysis device, and vehicle
JP6853287B2 (ja) 2019-02-21 2021-03-31 トヨタ自動車株式会社 インバランス検出装置、インバランス検出システム、データ解析装置、および内燃機関の制御装置
CN112112740A (zh) * 2020-10-13 2020-12-22 吉林大学 一种高压共轨发动机各缸转速均匀性模糊pi控制方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10288072A (ja) * 1997-04-16 1998-10-27 Toyota Motor Corp 内燃機関のアイドルco濃度調整装置
JP4296838B2 (ja) * 2003-05-21 2009-07-15 株式会社デンソー エンジン制御装置
JP2006052684A (ja) * 2004-08-12 2006-02-23 Hitachi Ltd エンジンの制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102119876B1 (ko) * 2018-12-04 2020-06-05 현대오트론 주식회사 단기통 4행정 엔진의 실화 진단 방법 및 장치
KR102119873B1 (ko) * 2018-12-04 2020-06-05 현대오트론 주식회사 단기통 4행정 엔진의 실화 진단 방법 및 장치

Also Published As

Publication number Publication date
JP2014088795A (ja) 2014-05-15
WO2014069194A1 (ja) 2014-05-08

Similar Documents

Publication Publication Date Title
JP6130124B2 (ja) 多気筒エンジンの制御装置
US8548718B2 (en) Air/fuel ratio variation abnormality detection apparatus, and abnormality detection method
JP4270251B2 (ja) 燃焼改善手段の故障診断装置
US9399961B2 (en) Method and system for air fuel ratio control and detecting cylinder imbalance
JP5780257B2 (ja) 多気筒内燃機関の気筒間空燃比ばらつき異常検出装置
US20120297866A1 (en) Apparatus and method for detecting abnormal air-fuel ratio variation
US20180246011A1 (en) Misfire detection device for internal combustion engine
JP5359932B2 (ja) 4ストロークサイクル内燃機関およびその気筒判別方法
US6499474B2 (en) Air/fuel ratio control apparatus for internal combustion engine
JP6020474B2 (ja) 気筒間空燃比ばらつき異常検出装置
US20120255531A1 (en) Inter-cylinder air/fuel ratio imbalance abnormality detection apparatus and inter-cylinder air/fuel ratio imbalance abnormality detection method for multicylinder internal combustion engine
JP2021036138A (ja) 内燃機関の状態判定装置、内燃機関の状態判定システム、データ解析装置、および内燃機関の制御装置
JP5918702B2 (ja) エンジンの制御装置
WO2019130525A1 (ja) エンジン異常検出装置
JP4120276B2 (ja) 内燃機関の失火検出装置
US10508608B2 (en) Control device for engine
JP2011226363A (ja) 内燃機関の異常診断装置
US20150114376A1 (en) Inter-cylinder air-fuel ratio variation abnormality detection apparatus
JP4317842B2 (ja) 圧力状態検出装置の異常判定装置
JP4474377B2 (ja) 内燃機関の空燃比制御装置
US9512795B2 (en) Inter-cylinder air-fuel ratio variation abnormality detection apparatus
JP2011089443A (ja) 気筒間空燃比ばらつき検出装置
JP2015117641A (ja) エンジンの制御装置
JP2016041922A (ja) 内燃機関の気筒別空燃比制御装置
JP5590006B2 (ja) 内燃機関の制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160304

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20160713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160720

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161116

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20170126

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: 20170404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170413

R150 Certificate of patent or registration of utility model

Ref document number: 6130124

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170927

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250