(57)【要約】【課題】内燃機関における空燃比制御の精度低下を好適に抑制することができる制御装置を提供することを目的とする。【解決手段】ＥＣＵ５０は、気筒２３の筒内圧を検出する筒内圧センサ４０を備えるエンジン１０に適用される。ＥＣＵ５０は、エンジン１０の実空燃比を目標空燃比に制御する際、空燃比学習の学習結果をエンジン１０の燃料噴射量に反映させる。また、ＥＣＵ５０は、筒内圧センサ４０により検出された筒内圧に基づいて、エンジン１０での失火が生じているか否かを判定し、失火が生じていると判定した場合に、空燃比学習を禁止する。【選択図】      図１
2019190341.tif 000002
【特許請求の範囲】
【請求項１】
気筒（２３）の筒内圧を検出する筒内圧検出部（４０）を備える内燃機関（１０）に適用され、
前記内燃機関の実空燃比を目標空燃比に制御する空燃比制御部と、
前記空燃比制御部による前記実空燃比の制御に際し、空燃比学習を実施する学習部と、
前記空燃比学習の学習結果を前記内燃機関の燃料噴射量に反映させる反映部と、
を備える内燃機関の制御装置（５０）であって、
前記筒内圧検出部により検出された前記筒内圧に基づいて、前記内燃機関での失火が生じているか否かを判定する失火判定部と、
前記失火判定部により前記失火が生じていると判定された場合に、前記学習部による前記空燃比学習を禁止する禁止部とを備える内燃機関の制御装置。
【請求項２】
前記失火判定部は、前記内燃機関の圧縮行程から膨張行程までの期間において前記筒内圧検出部により検出された前記筒内圧に基づいて、前記失火が生じているか否かを判定する請求項１に記載の内燃機関の制御装置。
【請求項３】
前記失火判定部は、前記内燃機関の回転速度、負荷及び点火タイミングの少なくともいずれかに基づいて、前記失火の判定値を変更する請求項１又は２に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の制御装置に関する。
【背景技術】
【０００２】
特許文献１には、内燃機関の実空燃比を目標空燃比に制御する空燃比制御を実施する制御装置が開示されている。また、制御装置は、実空燃比と目標空燃比との偏差に基づいて空燃比補正値を算出し、算出した空燃比補正値に基づいて空燃比学習を実施する。そして、学習結果である空燃比学習値を燃料噴射量に反映させることにより、空燃比制御を好適に実施している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第２７６７３４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
空燃比学習時において、気筒内の混合気が着火しない失火が生じることにより、空燃比学習時の実空燃比がリーン側にずれ、学習結果が過剰にリッチ側となる場合がある。このような学習結果が燃料噴射量に反映されることにより、空燃比制御の精度が低下することが懸念される。また、失火の影響により学習結果が過剰にリッチ側となることにより、燃料系の異常が生じていると誤判定されることも懸念される。
【０００５】
本発明は上記課題に鑑みたものであり、内燃機関における空燃比制御の精度低下を好適に抑制することができる制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために本発明では、気筒の筒内圧を検出する筒内圧検出部を備える内燃機関に適用される制御装置に関する。制御装置は、前記内燃機関の実空燃比を目標空燃比に制御する空燃比制御部と、前記空燃比制御部による前記実空燃比の制御に際し、空燃比学習を実施する学習部と、前記空燃比学習の学習結果を、前記内燃機関の燃料噴射量に反映させる反映部と、を備えている。また、制御装置は、前記筒内圧検出部により検出された前記筒内圧に基づいて、前記内燃機関での失火が生じているか否かを判定する失火判定部と、前記失火判定部により前記失火が生じていると判定された場合に、前記学習部による前記空燃比学習を禁止する禁止部とを備えている。
【０００７】
内燃機関の燃焼時と失火時とは燃焼圧力が相違するため、筒内圧に基づいて内燃機関の失火を判定できる。そこで、上記構成では、圧力検出部により検出された筒内圧に基づいて、内燃機関での失火が生じているか否かが判定され、失火が生じていると判定された場合に、学習部による空燃比学習が禁止される。この場合、筒内圧に基づいて失火を判定することにより、内燃機関の回転速度に基づいて失火を判定する構成と比べて、燃焼時と失火時との間の回転速度差が小さい低負荷領域での判定精度の低下を抑制できる。このため、失火の影響による実空燃比の制御の精度低下を好適に抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】エンジン制御システムの構成図。
【図２】筒内圧の推移を示す図。
【図３】空燃比学習の許可と禁止とを切り替える手順を示すフローチャート。
【図４】失火の有無を判定する際に用いる判定値を説明する図。
【図５】空燃比制御の許可と禁止とを切り替えるタイミングチャート。
【発明を実施するための形態】
【０００９】
（第１実施形態）
以下、本発明を具体化した一実施形態としてのエンジン制御システムを図面に基づいて説明する。
【００１０】
図１に示すエンジン制御システムは、車両に搭載される内燃機関としてのエンジン１０を備えている。エンジン１０は、筒内噴射式の４サイクルガソリンエンジンであり、かつ多気筒型のガソリンエンジンである。なお、図１では、１つの気筒２３のみを図示し、他の気筒については図示を省略している。
【００１１】
エンジン１０を構成するエンジン本体２０の吸気ポート及び排気ポートには、それぞれ図示しないカム軸の回転に応じて開閉動作する吸気弁３１及び排気弁３２が設けられている。吸気弁３１の開動作により吸気通路１１を流れる吸入空気が気筒２３内に導入される。また、排気弁３２の開動作により燃焼後の排気が排気通路３５に排出される。吸気弁３１及び排気弁３２それぞれには、吸気弁３１及び排気弁３２の開閉タイミングを可変とする可変動弁機構３３，３４が設けられている。可変動弁機構３３，３４としては、油圧駆動式又は電動式の可変動弁機構が用いられればよい。
【００１２】
エンジン本体２０には気筒２３ごとに電磁駆動式のインジェクタ２１が設けられており、シリンダ内壁とピストン２２の上面（頂部）とにより区画形成される燃焼室内には、インジェクタ２１からの燃料が直接噴射される。
【００１３】
エンジン１０のシリンダヘッドには点火プラグ３６が取り付けられている。点火プラグ３６には、図示しない点火コイル等を通じて所望とする点火タイミングＴｉｇにおいて高電圧が印加される。この高電圧の印加により、各点火プラグ３６の対向電極間に火花放電が発生し、気筒２３内の燃料に着火する。
【００１４】
エンジン本体２０には、クランク軸４３の回転位置を、所定クランク角度毎にクランク角信号として出力するクランク角度センサ４２が設けられている。また、クランク角度センサ４２から出力されるクランク角信号により、クランク軸４３の回転速度をエンジン回転速度ＮＥとして検出できる。
【００１５】
各気筒２３には、気筒２３内の圧力を筒内圧Ｐｆとして検出する筒内圧センサ４０が設けられている。筒内圧センサ４０が筒内圧検出部に相当する。
【００１６】
吸気通路１１には気筒２３に吸気される吸入空気の量を吸入空気量として検出するエアフロメータ１２が設けられている。吸気通路１１において、エアフロメータ１２よりも下流側には、ＤＣモータ等のスロットルアクチュエータ１３によって開度調節されるスロットル弁１４が設けられている。吸気通路１１において、スロットル弁１４よりも下流側にはサージタンク１６と、サージタンク１６に流れる吸入空気を各気筒２３に導入する吸気マニホールド１８とが設けられている。
【００１７】
排気通路３５には、排気の空燃比を検出する空燃比センサ３８が設けられている。
【００１８】
エンジン１０は制御装置としてのＥＣＵ５０を備えている。上述した各種センサ１２，３８，４０，４２の出力は、ＥＣＵ５０に入力される。ＥＣＵ５０は、ＣＰＵ、ＲＯＭ、ＲＡＭ等よりなるマイクロコンピュータを備え、ＲＯＭに記憶された各種の制御プログラムの実行により、エンジン運転状態に応じたインジェクタ２１の燃料噴射量の制御や、点火プラグ３６の点火タイミングＴｉｇの制御を行う。
【００１９】
ＥＣＵ５０は、空燃比センサ３８により検出された実空燃比を目標空燃比（例えば、理論空燃比）に制御する空燃比制御を実施する。ＥＣＵ５０は、空燃比制御として、実空燃比と目標空燃比との偏差に基づいて、燃料の基本噴射量を補正するための空燃比補正係数を算出する。基本噴射量は、例えば、エンジン回転速度、及びエンジン負荷に基づいて算出される噴射量である。ＥＣＵ５０は、空燃比補正係数を含む各種補正係数を用いて基本噴射量を補正し、補正後の値を最終噴射量として算出する。そして、最終噴射量をインジェクタ２１の噴射時間に換算し、その換算後の噴射時間をインジェクタ２１の開弁時間として設定する。本実施形態では、ＥＣＵ５０が空燃比制御部に相当する。
【００２０】
ＥＣＵ５０は、空燃比制御の実施に際し、空燃比学習を実施する。空燃比学習では、インジェクタ２１の個体差や経年変化等に起因する定常的な空燃比補正係数のズレが算出され、それが空燃比学習値として記憶される。具体的には、ＥＣＵ５０は、空燃比補正係数に基づいて空燃比学習値を算出し、この空燃比学習値をメモリに記憶する。そして、ＥＣＵ５０は、空燃比制御の際、記憶した空燃比学習値により基本噴射量を補正することにより、燃料噴射量に空燃比学習値を反映させる。本実施形態では、ＥＣＵ５０が学習部、及び反映部に相当する。
【００２１】
空燃比学習では、例えば、エンジン回転速度ＮＥやエンジン負荷ＥＬにより区分した複数の運転領域が定められており、ＥＣＵ５０は運転領域ごとに空燃比学習値の算出及び記憶を実施する。なお、エンジン負荷ＥＬとしては、吸入空気量、アクセルの踏み込み量を示すアクセル開度、及びインジェクタ２１からの燃料噴射量の少なくともいずれかに応じて判断されればよい。
【００２２】
ＥＣＵ５０が実施する空燃比学習において、気筒２３内の混合気が着火しない失火が生じることにより、空燃比学習時の実空燃比がリーン側にずれ、学習結果が過剰にリッチ側となる場合がある。このような学習結果が燃料噴射量に反映されることにより、空燃比制御の精度が低下することが懸念される。また、失火の影響により学習結果が過剰にリッチ側となることにより、燃料系の異常が生じていると誤判定されることも懸念される。
【００２３】
そこで、本実施形態では、ＥＣＵ５０は、筒内圧に基づいてエンジン１０に失火が生じているか否かを判定する。そして、ＥＣＵ５０は、失火が生じていると判定した場合、空燃比学習の実施を禁止するようにしている。
【００２４】
次に、筒内圧に基づいて失火の有無を判定する原理を説明する。図２は、筒内圧Ｐｆの推移を示しており、横軸をクランク角度（ｄｅｇ．ＣＡ）とし、縦軸を筒内圧Ｐｆ（ｂａｒ）とした図である。なお、図２では、ＴＤＣ（上死点）となるクランク角度を中心（＝０ｄｅｇ．ＣＡ）とする筒内圧Ｐｆの推移を示しており、吸気行程と圧縮行程とを負のクランク角度により示し、膨張行程と排気行程とを正のクランク角度により示している。また、図２において、気筒２３内において燃焼が生じている場合の筒内圧Ｐｆの推移を実線で示し、一部に失火が生じている場合の筒内圧Ｐｆの推移を破線で示す。
【００２５】
筒内圧Ｐｆは、圧縮行程ＳＴ１で上昇し、ＴＤＣから所定クランク角度後に最大となる。その後、筒内圧Ｐｆは、膨張行程ＳＴ２で低下する。その後、排気弁３２が開弁することにより、気筒２３内の混合ガスが排気通路３５を通じて排気される排気行程となる。
【００２６】
失火が生じた場合、気筒２３内で混合気が燃焼しておらず、燃焼時よりも筒内圧Ｐｆが小さくなる。図２では、圧縮行程ＳＴ１において、失火時の筒内圧Ｐｆの上昇量は、燃焼時の筒内圧Ｐｆの上昇量よりも小さくなっている。そこで、ＥＣＵ５０は、筒内圧Ｐｆに基づいて失火の有無を判定し、失火が生じていると判定した場合空燃比学習を禁止している。また、筒内圧Ｐｆに基づいて失火を判定することにより、エンジン回転速度ＮＥに基づいて失火を判定する場合と比べて、燃焼時と失火時との間の回転速度差が小さい低負荷領域での判定精度の低下を抑制できる。
【００２７】
エンジン１０には、圧縮行程ＳＴ１から膨張行程ＳＴ２までにおいて、筒内圧Ｐｆが最大となるタイミングが存在する。図２では、燃焼時及び失火時のいずれにも、上死点ＴＤＣ付近で筒内圧Ｐｆが最大値Ｐ１，Ｐ２となっている。即ち、燃焼時と失火時との筒内圧Ｐｆの差はこの期間において顕著となる。そこで、本実施形態では、ＥＣＵ５０は圧縮行程ＳＴ１から膨張行程ＳＴ２までの最大筒内圧に基づいて、エンジン１０の失火の有無を判定している。
【００２８】
次に、図３を用いて、本実施形態に係る空燃比学習の許可と禁止とを切り替える手順を説明する。図３に示す処理は、ＥＣＵ５０により所定周期で繰り返し実施される。図３の各ステップにおいて、ステップＳ１２〜ステップＳ１８が失火判定部に相当し、ステップＳ１９が禁止部に相当する。
【００２９】
ステップＳ１１では、空燃比学習の学習実施条件が成立しているか否かを判定する。学習実効条件としては、例えば、エンジン１０に流れる冷却水の水温が所定値以上であることを条件としている。
【００３０】
学習実施条件が成立していると判定すると、ステップＳ１２に進み、最大筒内圧Ｐｍを取得する。本実施形態では、圧縮行程から膨張行程までの期間において、筒内圧センサ４０により検出された筒内圧Ｐｆの最大筒内圧Ｐｍを取得する。例えば、クランク角度センサ４２からのクランク角信号ＣＡに基づいて、エンジン１０の行程が、圧縮行程から膨張行程までの期間であるか否かを判定すればよい。
【００３１】
ステップＳ１３では、空燃比学習が実施可能であることを示す学習許可フラグＦ１がハイレベルとなっているか否かを判定する。本実施形態では、空燃比学習が実施可能である場合、学習許可フラグＦ１をハイレベルとし、空燃比学習が禁止される場合、学習許可フラグＦ１をローレベルとする。そのため、学習許可フラグＦ１の値により、空燃比学習が実施可能であるか否かを判定することができる。ここでは、学習許可フラグＦ１がハイレベルであるとして、ステップＳ１４に進む。
【００３２】
ステップＳ１４では、エンジン１０の失火の有無を判定するための失火判定値ＴＨＡを設定する。筒内圧Ｐｆは、エンジン回転速度ＮＥ、エンジン負荷ＥＬ又は点火タイミングＴｉｇにより変動する。そこで、ステップＳ１４では、エンジン回転速度ＮＥ、エンジン負荷ＥＬ及び点火タイミングＴｉｇに基づいて、失火判定値ＴＨＡを設定する。
【００３３】
エンジン回転速度ＮＥ及びエンジン負荷ＥＬが筒内圧Ｐｆの変化に与える影響は、点火タイミングＴｉｇが筒内圧Ｐｆの変化に与える影響よりも大きい。そこで、本実施形態では、エンジン回転速度ＮＥ及びエンジン負荷ＥＬに基づいて、失火判定値ＴＨＡのベース値を示すベース判定値ＴＨａを設定する。また、点火タイミングＴｉｇに応じてベース判定値ＴＨａを補正する判定補正値ｋを設定する。そして、ベース判定値ＴＨａに判定補正値ｋを積算した値を失火判定値ＴＨＡとして算出する。
【００３４】
図４（ａ）は、エンジン回転速度ＮＥ及びエンジン負荷ＥＬと、ベース判定値ＴＨａとの関係を説明する図である。図４（ｂ）は、点火タイミングＴｉｇと判定補正値ｋとの関係を説明する図である。
【００３５】
筒内圧Ｐｆはエンジン回転速度ＮＥに応じてその値が変化する。そのため、図４（ａ）に示すように、エンジン回転速度ＮＥに応じてベース判定値ＴＨａを設定する。また、エンジン負荷ＥＬが大きいほど、筒内圧Ｐｆが大きな値となる。そのため、ベース判定値ＴＨａをエンジン負荷ＥＬが大きいほど大きな値に設定する。
【００３６】
点火タイミングＴｉｇが基準点火タイミングに対してクランク角度で遅角側となるほど、気筒２３内の燃焼速度が遅くなり、筒内圧Ｐｆが小さくなる。また、点火タイミングＴｉｇが基準点火タイミングに対してクランク角度で進角側となるほど、気筒２３内の燃焼速度が早くなり、筒内圧Ｐｆが大きくなる。そのため、図４（ｂ）に示すように、点火タイミングＴｉｇが基準点火タイミングに対して進角側となるほど、判定補正値ｋを大きな値に設定する。
【００３７】
例えば、エンジン回転速度ＮＥ及びエンジン負荷ＥＬの組み合わせと、ベース判定値ＴＨａの組み合わせとの関係を定めるマップを保持しておく。そして、このマップから、エンジン回転速度ＮＥ及びエンジン負荷ＥＬの組合せに応じたベース判定値ＴＨａを参照すればよい。また、点火タイミングＴｉｇと、判定補正値ｋとの関係を定めるマップを保持しておく。そして、このマップから、点火タイミングＴｉｇに応じた、判定補正値ｋを参照すればよい。
【００３８】
図３に戻り、ステップＳ１５では、ステップＳ１２で取得した最大筒内圧Ｐｍが、ステップＳ１４で設定した失火判定値ＴＨＡ以下であるか否かを判定する。最大筒内圧Ｐｍが失火判定値ＴＨＡよりも大きいと判定すると、失火が生じていないとして、図３の処理を一旦終了する。一方、最大筒内圧Ｐｍが失火判定値ＴＨＡ以下であると判定すると、ステップＳ１６に進む。
【００３９】
本実施形態では、失火が生じていると判定した際の信頼性を向上させるため、最大筒内圧Ｐｍが失火判定値ＴＨＡ以下である状態が所定時間継続していることを条件に、空燃比学習を禁止する。具体的には、まず、ステップＳ１６では、最大筒内圧Ｐｍが失火判定値ＴＨＡ以下となっている継続時間を計時する第１カウンタＣｏ１を増加させる。ステップＳ１７では、第１カウンタＣｏ１が第１継続判定値ＴＨＢよりも大きいか否かを判定する。ここでは、第１カウンタＣｏ１が第１継続判定値ＴＨＢ以下であると判定したとし、図３の処理を一旦終了する。
【００４０】
その後、最大筒内圧Ｐｍが失火判定値ＴＨＡ以下となっている状態が継続することで、図３の処理の演算周期毎に第１カウンタＣｏ１が増加されていく。一方、ステップＳ１５において、最大筒内圧Ｐｍが失火判定値ＴＨＡよりも大きいと判定した場合、第１カウンタＣｏ１をリセットする。ステップＳ１７で、第１カウンタＣｏ１が第１継続判定値ＴＨＢよりも大きいと判定すると、ステップＳ１８に進む。
【００４１】
ステップＳ１８に進む場合、エンジン１０に失火が生じていると判定できるため、学習許可フラグＦ１をハイレベルからローレベルに変更することにより、空燃比学習を禁止する。この場合、第１カウンタＣｏ１をリセットする。
【００４２】
ステップＳ１８の処理が終了すると、図３の処理を一旦終了する。
【００４３】
次の演算周期において、ステップＳ１３に進んだ場合、学習許可フラグＦ１がローレベルとなっていると判定すると、ステップＳ２１に進む。ステップＳ２１では、ステップＳ１２で取得した最大筒内圧Ｐｍが失火判定値ＴＨＡよりも大きいか否かを判定する。最大筒内圧Ｐｍが失火判定値ＴＨＡ以下であると判定すると、失火が継続して生じていると判定でき、図３の処理を一旦終了する。一方、最大筒内圧Ｐｍが失火判定値ＴＨＡよりも大きいと判定すると、エンジン１０の失火が解消されたと判定できるため、ステップＳ２２に進む。
【００４４】
本実施形態では、失火が解消されたことの判定の信頼性を向上させるため、最大筒内圧Ｐｍが失火判定値ＴＨＡよりも大きい状態が所定時間継続していることを条件に、空燃比学習の禁止を解除する。そのため、まず、ステップＳ２２では、最大筒内圧Ｐｍが失火判定値ＴＨＡよりも大きい状態の継続時間を計時する第２カウンタＣｏ２を増加させる。ステップＳ２３では、第２カウンタＣｏ２が第２継続判定値ＴＨＣよりも大きいか否かを判定する。第２カウンタＣｏ２が第２継続判定値ＴＨＣ以下であると判定すると、図３の処理を一旦終了する。
【００４５】
最大筒内圧Ｐｍが失火判定値ＴＨＡよりも大きい状態が継続することにより、第２カウンタＣｏ２が第２継続判定値ＴＨＣよりも大きいと判定すると、ステップＳ２４に進む。ステップＳ２４では、学習許可フラグＦ１をローレベルからハイレベルに変更することにより、空燃比学習の禁止を解除する。この場合、第２カウンタＣｏ２をリセットする。なお、ステップＳ２１において、最大筒内圧Ｐｍが失火判定値ＴＨＡ以下であると判定する場合も、第２カウンタＣｏ２をリセットする。
【００４６】
ステップＳ２４の処理が終了すると、図３の処理を一旦終了する。
【００４７】
次に、図５を用いて、本実施形態の作用を説明する。図５（ａ）はエンジン回転速度ＮＥの推移を示している。図５（ｂ）はエンジン負荷ＥＬの推移を示している。図５（ｃ）は圧縮行程から膨張行程までの間に取得された最大筒内圧Ｐｍの推移を示している。図５（ｄ）は第１カウンタＣｏ１の推移を示している。図５（ｅ）は第２カウンタＣｏ２の推移を示している。図５（ｆ）は学習許可フラグＦ１の推移を示している。
【００４８】
まず、時刻ｔ１１〜ｔ１４では、学習許可フラグＦ１がハイレベルとなっており、空燃比学習が許可されている。
【００４９】
時刻ｔ１１から時刻ｔ１２では、エンジン負荷ＥＬが増加しており、エンジン負荷ＥＬの増加に伴って最大筒内圧Ｐｍが増加している。そして、時刻ｔ１２以降、エンジン負荷ＥＬの減少に伴って、最大筒内圧Ｐｍが減少している。
【００５０】
時刻ｔ１３で、最大筒内圧Ｐｍが失火判定値ＴＨＡ以下となることにより、第１カウンタＣｏ１の増加が開始される。時刻ｔ１３以後も、最大筒内圧Ｐｍが失火判定値ＴＨＡ以下となっているため、第１カウンタＣｏ１の増加が継続されている。そして、時刻ｔ１４で、第１カウンタＣｏ１が第１継続判定値ＴＨＢよりも大きな値となり、学習許可フラグＦ１がハイレベルからローレベルに変更される。そのため、空燃比学習が禁止される。
【００５１】
その後、時刻ｔ１４〜ｔ１５の間で、エンジン１０の失火が解消されることにより、時刻ｔ１５で最大筒内圧Ｐｍが減少から増加に転じている。時刻ｔ１６で、最大筒内圧Ｐｍが失火判定値ＴＨＡよりも大きくなることにより、第２カウンタＣｏ２の増加が開始される。時刻ｔ１６以後においても、最大筒内圧Ｐｍが失火判定値ＴＨＡよりも大きな値となっているため、第２カウンタＣｏ２の増加が継続されている。そして、時刻ｔ１７で、第２カウンタＣｏ２が第２継続判定値ＴＨＣよりも大きな値となり、学習許可フラグＦ１がローレベルからハイレベルに変更される。そのため、空燃比学習の禁止が解除される。
【００５２】
以上説明した本実施形態では以下の効果を奏する。
【００５３】
・ＥＣＵ５０は、実空燃比の制御に際し、空燃比学習を実施し、学習結果を燃料噴射量に反映する。また、ＥＣＵ５０は、筒内圧センサ４０により検出された筒内圧に基づいて、エンジン１０に失火が生じているか否かを判定する。失火が生じていると判定した場合に、空燃比学習を禁止する。この場合、失火の影響による実空燃比の制御の精度低下を好適に抑制することができる。
【００５４】
・エンジン１０の圧縮行程から膨張行程までの期間では、筒内圧Ｐｆが最大となるタイミングが存在する。そのため、この期間において、燃焼時と失火時との間の筒内圧の差が顕著となる。そこで、ＥＣＵ５０は、圧縮行程から膨張行程までの期間において筒内圧センサ４０により検出された筒内圧Ｐｆに基づいて、失火が生じているか否かを判定する。この場合、失火の有無を精度良く判定することができ、空燃比学習が不要に禁止されるのを抑制することができる。
【００５５】
・筒内圧Ｐｆは、エンジン回転速度ＮＥ、エンジン負荷ＥＬ又は点火タイミングＴｉｇにより変動する。そこで、ＥＣＵ５０は、エンジン回転速度ＮＥ、エンジン負荷ＥＬ及び点火タイミングＴｉｇの少なくともいずれかに基づいて、失火判定値ＴＨＡを変更する。この場合、エンジン１０の運転状態を加味して失火の有無を判定することができるため、空燃比学習が不要に禁止されるのを抑制することができる。
【００５６】
（その他の実施形態）
・ＥＣＵ５０が気筒２３毎に空燃比学習を実施する場合、以下のように気筒２３毎の空燃比学習の禁止又は許可を設定してもよい。具体的には、各気筒２３に設けられた筒内圧センサ４０の検出値に基づいて、気筒毎に失火が生じているか否かを判定する。そして、失火が生じていると判定した気筒２３に対しては判空燃比学習を禁止し、それ以外の気筒に対しては空燃比学習を許可すればよい。
【００５７】
・ＥＣＵ５０は、エンジン回転速度ＮＥ、エンジン負荷ＥＬ及び点火タイミングＴｉｇの全てを用いて失火判定値ＴＨＡを設定することに換えて、エンジン回転速度ＮＥ及びエンジン負荷ＥＬの少なくともいずれかにより失火判定値ＴＨＡを設定してもよい。
【００５８】
・ＥＣＵ５０は、圧縮行程後半から膨張行程前半までの筒内圧が所定の閾値以上であると判定した場合に、エンジン１０に失火が生じていると判定してもよい。
【００５９】
・エンジン１０は、筒内噴射式に限定されず、ポート噴射式であってもよい。
【符号の説明】
【００６０】
１０…エンジン、２３…気筒、４０…筒内圧センサ、５０…ＥＣＵ。
【図１】
2019190341.tif 000003
【図２】
2019190341.tif 000004
【図３】
2019190341.tif 000005
【図４】
2019190341.tif 000006
【図５】
2019190341.tif 000007