JP7314895B2 - 内燃機関の失火判定装置 - Google Patents

内燃機関の失火判定装置 Download PDF

Info

Publication number
JP7314895B2
JP7314895B2 JP2020160653A JP2020160653A JP7314895B2 JP 7314895 B2 JP7314895 B2 JP 7314895B2 JP 2020160653 A JP2020160653 A JP 2020160653A JP 2020160653 A JP2020160653 A JP 2020160653A JP 7314895 B2 JP7314895 B2 JP 7314895B2
Authority
JP
Japan
Prior art keywords
cylinder
fluctuation amount
misfire
fuel
value
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
JP2020160653A
Other languages
English (en)
Other versions
JP2022053819A (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.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2020160653A priority Critical patent/JP7314895B2/ja
Priority to EP21192069.9A priority patent/EP3974800A1/en
Priority to US17/475,292 priority patent/US11598258B2/en
Priority to CN202111091370.7A priority patent/CN114251175B/zh
Publication of JP2022053819A publication Critical patent/JP2022053819A/ja
Application granted granted Critical
Publication of JP7314895B2 publication Critical patent/JP7314895B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02BINTERNAL-COMBUSTION PISTON ENGINES; COMBUSTION ENGINES IN GENERAL
    • F02B75/00Other engines
    • F02B75/16Engines characterised by number of cylinders, e.g. single-cylinder engines
    • F02B75/18Multi-cylinder engines
    • 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
    • F02BINTERNAL-COMBUSTION PISTON ENGINES; COMBUSTION ENGINES IN GENERAL
    • F02B77/00Component parts, details or accessories, not otherwise provided for
    • F02B77/08Safety, indicating, or supervising devices
    • 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
    • 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/0087Selective cylinder activation, i.e. partial cylinder operation
    • 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/009Electrical control of supply of combustible mixture or its constituents using means for generating position or synchronisation signals
    • 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/22Safety or indicating devices for abnormal conditions
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M15/00Testing of engines
    • G01M15/04Testing internal-combustion engines
    • G01M15/11Testing internal-combustion engines by detecting misfire
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D17/00Controlling engines by cutting out individual cylinders; Rendering engines inoperative or idling
    • F02D17/02Cutting-out
    • 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/1002Output torque
    • 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/101Engine speed
    • 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/1015Engines misfires
    • 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/021Introducing corrections for particular conditions exterior to the engine
    • F02D41/0235Introducing corrections for particular conditions exterior to the engine in relation with the state of the exhaust gas treating apparatus
    • F02D41/027Introducing corrections for particular conditions exterior to the engine in relation with the state of the exhaust gas treating apparatus to purge or regenerate the exhaust gas treating apparatus
    • F02D41/029Introducing corrections for particular conditions exterior to the engine in relation with the state of the exhaust gas treating apparatus to purge or regenerate the exhaust gas treating apparatus the exhaust gas treating apparatus being a particulate filter
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M15/00Testing of engines
    • G01M15/04Testing internal-combustion engines
    • G01M15/05Testing internal-combustion engines by combined monitoring of two or more different engine parameters
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)

Description

この発明は内燃機関の失火判定装置に関するものである。
たとえば下記特許文献1には、圧縮上死点の出現間隔よりも小さい角度間隔におけるクランク軸の回転速度である瞬時回転速度についての互いに異なるクランク角領域における値同士の差によって定まる回転変動量に基づき、失火の有無を判定する失火判定装置が記載されている。詳しくは、互いに360°CAだけ離間した時点の回転変動量同士の差が閾値よりも大きいときに失火が発生していると判定する。ここで、閾値との大小比較の対象を、失火検出の対象となる判定気筒の膨張行程についての回転変動量自体とする代わりに、回転変動量を360°CA前の回転変動量で減算した値とするのは、クランク角センサの製造ばらつき等の影響を抑制するためである(段落「0003」)。
特開2009-138663号公報
発明者は、内燃機関の軸トルクがゼロではないときにおいて、排気浄化装置の再生処理を実行すべく、一部の気筒への燃料供給を停止し、残りの気筒への燃料供給を実施することで、排気中に酸素を供給することを検討した。ただし、その場合、360°CA前の回転変動量が燃料供給を停止している上記一部の気筒に対応する瞬時回転速度によって算出される場合には、判定気筒で失火が発生していても回転変動量同士の差が小さくなるために、失火を判定できない。
以下、上記課題を解決するための手段およびその作用効果について記載する。
上記課題を解決するための内燃機関の失火判定装置は、何れか1つのフューエルカット気筒への燃料供給を停止させ且つ前記何れか1つの気筒以外の残余の燃焼気筒への燃料供給を実施する単気筒フューエルカット制御を実行する単気筒フューエルカット処理と、クランク軸の回転速度の指標値である瞬時速度変数を算出する瞬時速度算出処理と、前記瞬時速度変数の変化量である回転変動量を算出する回転変動量算出処理と、失火検出の対象である判定気筒の前記回転変動量である第1回転変動量から前記判定気筒の膨張行程よりも360°CAの整数倍以前に膨張行程となる参照気筒の前記回転変動量である第2回転変動量を引いた差である変動量差分値を算出する変動量差分値算出処理と、前記変動量差分値と判定閾値との大小関係に基づいて、失火条件を満たしたとして、前記判定気筒が失火したと判定する失火判定処理と、前記失火判定処理を実行する際に前記参照気筒が前記フューエルカット気筒である場合に、前記参照気筒が前記フューエルカット気筒であることによる失火判定の結果への影響を低減するための補正を施す補正処理と、を実行することをその要旨とする。
上記構成によれば、フューエルカット気筒が参照気筒である場合、参照気筒がフューエルカット気筒であることによる影響を低減するための補正を施す補正処理が実行される。これにより、参照気筒がフューエルカット気筒であっても、そのことによる失火判定への影響を補正処理によって緩和することができる。したがって、上記構成によれば、参照気筒がフューエルカット気筒であっても誤判定を抑制することができる。
上記内燃機関の失火判定装置は、さらに、前記瞬時速度変数は、クランク角が既定の角度を回転するのに要した時間であり、前記失火判定処理は、前記変動量差分値が前記判定閾値以上となったとき、前記判定気筒が失火したと判定し、前記参照気筒が前記燃焼気筒である場合の前記判定閾値を、第1判定閾値としたとき、前記補正処理は、前記参照気筒が前記フューエルカット気筒である場合の前記判定閾値を、前記第1判定閾値よりも小さい第2判定閾値に補正することをその要旨とする。
上記構成によれば、瞬時速度変数をクランク角が既定の角度を回転するのに要した時間とし、変動量差分値が判定閾値以上となったとき、判定気筒が失火したと判定する場合において、参照気筒がフューエルカット気筒である場合の判定閾値を、第1判定閾値よりも小さい第2判定閾値とすることで、判定気筒に失火が生じている状態で変動量差分値が小さい値となったとしても、変動量差分値が判定閾値未満と誤判定されることを抑制できる。
上記内燃機関の失火判定装置は、さらに、前記失火判定処理における前記判定閾値を、前記クランク軸の回転速度が小さいときほど、大きくすることが好ましい。
クランク軸の回転速度が小さいほど、瞬時速度変数を算出するための回転角度の検出時間が長くなり、回転変動量の誤差幅が大きくなる。上記構成によれば、回転速度が小さいほど判定閾値を大きくするため、変動量差分値が判定閾値以上と誤判定されにくくなる。すなわち、回転速度が小さく、回転変動量の誤差幅が大きい場合であっても、誤って失火の発生が判定されにくくなる。
上記内燃機関の失火判定装置は、さらに、前記瞬時速度変数が、クランク角が既定の角度を回転する際の角速度であり、前記失火判定処理は、前記変動量差分値が前記判定閾値未満となったとき、前記判定気筒が失火したと判定し、前記参照気筒が前記燃焼気筒である場合の前記判定閾値を、第1判定閾値としたとき、前記補正処理は、前記参照気筒が前記フューエルカット気筒である場合の前記判定閾値を、前記第1判定閾値よりも大きい第2判定閾値に補正することをその要旨とする。
瞬時速度変数をクランク角が既定の角度を回転する際の角速度は、瞬時速度変数をクランク角が既定の角度を回転するのに要した時間の逆数である。したがって、上記構成によれば、瞬時速度変数を上記角速度とし、変動量差分値が判定閾値未満となったとき、判定気筒が失火したと判定する場合において、参照気筒がフューエルカット気筒である場合の判定閾値を、第1判定閾値よりも大きい第2判定閾値とすることで、判定気筒に失火が生じている状態で変動量差分値が大きい値となったとしても、変動量差分値が判定閾値以上と誤判定されることを抑制できる。
上記内燃機関の失火判定装置は、さらに、前記失火判定処理における前記判定閾値を、前記クランク軸の回転速度が小さいときほど、小さくすることが好ましい。
クランク軸の回転速度が小さいほど、瞬時速度変数を算出するための回転角度の検出時間が長くなり、クランク角が所定の角度を回転するのに要した時間の逆数である角速度から算出する回転変動量の誤差幅が大きくなる。したがって、上記構成によれば、回転速度が小さいほど判定閾値を小さくするため、変動量差分値が判定閾値未満と判定されにくくなる。すなわち、回転速度が小さく、回転変動量の誤差幅が大きい場合であっても、誤って失火の発生が判定されにくくなる。
上記内燃機関の失火判定装置は、さらに、前記補正処理は、前記参照気筒が前記フューエルカット気筒である場合の前記第2回転変動量を、前記参照気筒が前記燃焼気筒である場合の前記第2回転変動量に相当する値に補正することをその要旨とする。
上記構成によれば、参照気筒がフューエルカット気筒である場合の第2回転変動量を、参照気筒が燃焼気筒である場合の前記第2回転変動量に相当する値に補正すれば、参照気筒がフューエルカット気筒であっても燃料供給の停止が変動量差分値に与える影響を緩和できる。すなわち、参照気筒がフューエルカット気筒であっても、参照気筒が燃焼気筒である場合と同じ要件で失火条件の成立を判定することができる。したがって、上記構成によれば、補正処理によって、参照気筒がフューエルカット気筒であることによる失火判定結果への影響を低減できる。
上記内燃機関の失火判定装置は、さらに、前記内燃機関のトルクの指標値を算出するトルク算出処理をさらに含み、前記瞬時速度変数が、クランク角が既定の角度を回転するのに要した時間であり、前記失火判定処理は、前記変動量差分値が前記判定閾値以上となったとき、前記判定気筒が失火したと判定し、前記補正処理は、前記トルク算出処理において算出したトルクの指標値が小さいほど、前記第2回転変動量を大きな値に補正することが好ましい。
瞬時速度変数をクランク角が既定の角度を回転するのに要した時間とし、変動量差分値が判定閾値以上となったとき、判定気筒が失火したと判定する場合において、内燃機関のトルクが小さいほど、参照気筒がフューエルカット気筒である場合の第2回転変動量は大きい。上記構成によれば、こうした内燃機関のトルクの変化に応じた補正を施すことができる。
上記内燃機関の失火判定装置は、さらに、前記内燃機関のトルクの指標値を算出するトルク算出処理をさらに含み、前記瞬時速度変数が、クランク角が既定の角度を回転する際の角速度であり、前記失火判定処理は、前記変動量差分値が前記判定閾値未満となったとき、前記判定気筒が失火したと判定し、前記補正処理は、前記トルク算出処理において算出したトルクの指標値が小さいほど、前記第2回転変動量を小さな値に補正することが好ましい。
瞬時速度変数をクランク角が既定の角度を回転する際の角速度は、瞬時速度変数をクランク角が既定の角度を回転するのに要した時間の逆数である。したがって、瞬時速度変数を上記角速度とし、変動量差分値が判定閾値未満となったとき、判定気筒が失火したと判定する場合において、内燃機関のトルクが小さいほど、参照気筒がフューエルカット気筒である場合の第2回転変動量は小さい。上記構成によれば、こうした内燃機関のトルクの変化に応じた補正を施すことができる。
上記内燃機関の失火判定装置は、さらに、前記失火判定処理は、前記判定気筒が前記フューエルカット気筒となった場合、失火の判定を実行しないことを要旨とする。
上記構成によれば、判定気筒がフューエルカット気筒となった場合、失火判定の実施を禁止することで、判定気筒の燃料供給を意図的に停止しているのにもかかわらず、失火と誤判定されることを抑制できる。
第1の実施形態にかかる駆動系およびその制御系を示す図。 同実施形態にかかる単気筒フューエルカット制御の手順を示す流れ図。 同実施形態にかかる失火の検出に関する処理の手順を示す流れ図。 同実施形態にかかる失火の検出に関する処理の手順を示す流れ図。 同実施形態にかかる点火の順序を示す図。 第2の実施形態にかかる失火の検出に関する処理の手順を示す流れ図。 第2の実施形態にかかる失火の検出に関する処理の手順を示す流れ図。 第3の実施形態にかかる失火の検出に関する処理の手順を示す流れ図。 第3の実施形態にかかる失火の検出に関する処理の手順を示す流れ図。 第4の実施形態にかかる失火の検出に関する処理の手順を示す流れ図。 第4の実施形態にかかる失火の検出に関する処理の手順を示す流れ図。
<第1の実施形態>
以下、内燃機関の失火判定装置の第1の実施形態について、図1~図5を参照して説明する。
図1は第1の実施形態にかかる駆動系およびその制御系を示している。
図1に示すように、内燃機関10は、気筒#1~#4の4つの気筒を備える。内燃機関10の上流側に配置される吸気通路12には、スロットルバルブ14が設けられている。吸気通路12の下流部分は、分岐しており、各気筒に繋がっている。この分岐して各気筒に繋がっている部分である吸気ポート12aには、燃料を噴射するポート噴射弁16がそれぞれ設けられている。吸気通路12に吸入された空気やポート噴射弁16から噴射された燃料は、吸気バルブ18の開弁に伴って、燃焼室20に流入する。また、燃焼室20には、燃料が噴射される筒内噴射弁22から燃料が噴射される。燃焼室20に流入した空気や燃料、および筒内噴射弁22から噴射された燃料からなる混合気は、燃焼室20に設けられた点火プラグ24の火花放電に伴って燃焼する。そのときに生成される燃焼エネルギは、クランク軸26の回転エネルギに変換される。
燃焼室20において燃焼した混合気は、排気バルブ28の開弁に伴って、排気として排気通路30に排出される。排気通路30には、酸素吸蔵能力を有した三元触媒32と、ガソリンパティキュレートフィルタ(GPF34)とが設けられている。なお、本実施形態にかかるGPF34は、排気に含まれる粒子状物質(PM)を捕集するフィルタに三元触媒が担持されたものを想定している。
クランク軸26には、歯部42が設けられたクランクロータ40が結合されている。クランクロータ40には、基本的には、10°CA間隔で歯部42が設けられているものの、隣接する歯部42間の間隔が30°CAとなる箇所である欠け歯部44が1箇所設けられている。これは、クランク軸26の基準となる回転角度を示すためのものである。
クランク軸26は、動力分割装置を構成する遊星歯車機構50のキャリアCに機械的に連結されている。遊星歯車機構50のサンギアSには、第1モータジェネレータ52の回転軸52aが機械的に連結されている。また、遊星歯車機構50のリングギアRには、第2モータジェネレータ54の回転軸54aと駆動輪60とが機械的に連結されている。第1モータジェネレータ52の端子には、第1インバータ56によって交流電圧が印加される。また、第2モータジェネレータ54の端子には、第2インバータ58によって交流電圧が印加される。
制御装置70は、内燃機関10を制御対象とし、その制御量としてのトルクや排気成分比率等を制御するために、スロットルバルブ14、ポート噴射弁16、筒内噴射弁22、および点火プラグ24等の内燃機関10の操作部を操作する。また、制御装置70は、第1モータジェネレータ52を制御対象とし、その制御量である回転速度を制御すべく、第1インバータ56を操作する。また、制御装置70は、第2モータジェネレータ54を制御対象とし、その制御量であるトルクを制御すべく第2インバータ58を操作する。図1には、スロットルバルブ14、ポート噴射弁16、筒内噴射弁22、点火プラグ24、およびインバータ56,58のそれぞれの操作信号MS1~MS6を記載している。制御装置70は、内燃機関10の制御量を制御するために、エアフローメータ80によって検出される吸入空気量Ga、クランク角センサ82の出力信号Scr、および水温センサ86によって検出される水温THWを参照する。また、制御装置70は、内燃機関10の制御量を制御するために、三元触媒32の上流側の空燃比センサ88によって検出される空燃比AFr、および排気圧センサ90によって検出されるGPF34に流入する排気の圧力Pexを参照する。また、制御装置70は、第1モータジェネレータ52や第2モータジェネレータ54の制御量を制御するために、第1モータジェネレータ52の回転角を検知する第1回転角センサ92の出力信号Sm1、および第2モータジェネレータ54の回転角を検知する第2回転角センサ94の出力信号Sm2を参照する。
制御装置70は、CPU72と、ROM74と、記憶装置75と、周辺回路76と、を備えており、それらが通信線78によって通信可能とされている。ここで、周辺回路76は、内部の動作を規定するクロック信号を生成する回路や、電源回路、リセット回路等を含む。制御装置70は、ROM74に記憶されたプログラムをCPU72が実行することにより制御量を制御する。
図2に、本実施形態にかかる制御装置70が実行する単気筒フューエルカット制御の手順を示す。図2に示す処理は、ROM74に記憶されたプログラムをCPU72がたとえば所定周期で繰り返し実行することにより実現される。なお、以下では、先頭に「S」が付与された数字によって、各処理のステップ番号を表現する。
図2に示す一連の処理において、CPU72は、まず、回転速度NE、充填効率η、出力信号Scrおよび空燃比AFrを取得する(S100)。回転速度NEは、CPU72により、出力信号Scrに基づき算出される。また、充填効率ηは、CPU72により、吸入空気量Gaおよび回転速度NEに基づき算出される。充填効率ηが高いときほど、内燃機関10のトルクは大きくなる。そこで、本実施形態では、内燃機関10のトルクの指標値として充填効率ηを算出している。次にCPU72は、取得した空燃比AFrと単気筒フューエルカット実行値AF1を比較する(S110)。空燃比AFrが単気筒フューエルカット実行値AF1よりも大きい場合には、単気筒フューエルカット制御を実行せずに、図2に示す一連の処理を一旦終了させる(S110:NO)。すなわち、CPU72は、空燃比が単気筒フューエルカット実行値AF1よりも大きいことに基づいて、空燃比がリーンであり、三元触媒32に酸素を供給する必要がない場合には、単気筒フューエルカット制御を実行しない。空燃比AFrが単気筒フューエルカット実行値AF1以下となる場合(S110:YES)、内燃機関10に対するトルクの指令値である機関トルク指令値Te*に基づいて、気筒#1~#4に対する燃料噴射量を設定する(S120)。
S120において、CPU72は気筒#1~#4のうち、1つの気筒(たとえば、気筒#1)への燃料噴射量をゼロにし、且つ当該1つの気筒以外の残余の気筒(たとえば、気筒#2、気筒#3および気筒#4)への燃料噴射量を空燃比がストイキとなるように設定する。以下、燃料の供給の停止を適宜「フューエルカット(F/C)」といい、燃料の供給が停止される気筒を適宜「フューエルカット気筒」といい、燃料が供給される気筒を適宜「燃焼気筒」という。
S120の後、CPU72は、出力信号Scrに基づいて、燃料噴射開始時期が到来した気筒を判別する(S130)。CPU72は、ステップS130の判別処理により上記フューエルカット気筒(気筒#1)の燃料噴射開始時期が到来したと判定した場合(S140:NO)、当該1つの気筒に対応したポート噴射弁16および筒内噴射弁22から燃料を噴射させることなく、内燃機関10を20回転させる10サイクルの燃料噴射が完了したか否かを判定する(S160)。当該フューエルカット気筒(気筒#1)への燃料供給が停止される間(フューエルカット中)、当該フューエルカット気筒の吸気バルブ18および排気バルブ28は、燃料が供給される場合と同様に開閉させられる。また、CPU72は、ステップS130の判別処理により燃焼気筒(気筒#2、気筒#3または気筒#4)の何れかの燃料噴射開始時期が到来したと判定した場合(S140:YES)、当該燃焼気筒に対して該当するポート噴射弁16および筒内噴射弁22から燃料を噴射させ(S150)、10サイクルの燃料噴射が完了したか否かを判定する(ステップS160)。
S160にて10サイクルの燃料噴射が完了していないと判定した場合(S160:NO)、CPU72は、S120~S150の処理を繰り返し実行する。CPU72は、S160にて10サイクルの燃料噴射が完了したと判定した場合(S160:YES)、この一連の処理を終了する。そして、次の周期において再度ステップS100以降の処理を実行する。
図3および図4に、制御装置70が実行する別の処理の手順を示す。図3および図4に示す処理は、ROM74に記憶されたプログラムをCPU72がたとえば所定周期で繰り返し実行することにより実現される。なお、図3および図4は気筒#1,気筒#3,気筒#4,気筒#2の順に燃焼行程を迎え、かつ気筒#1をフューエルカット気筒としたときの図であり、気筒#2,気筒#3,気筒#4がそれぞれフューエルカット気筒となった場合は、適宜気筒番号を入れ替えればよい。
図3および図4に示す一連の処理において、CPU72は、まず、現在のクランク軸26の回転角度が、気筒#1~#4のいずれかの圧縮上死点を基準としてATDC30°CAであるか否かを判定する(S200)。CPU72は、ATDC30°CAでないと判定する場合は(S200:NO)、ATDC30°CAとなるまで待機する。CPU72は、ATDC30°CAであると判定する場合(S200:YES)、クランク軸26が圧縮上死点から30°CA回転するまでに要する時間T30[0]を取得する(S210)。次にCPU72は、ATDC120°CAであるか否かを判定する(S220)。CPU72は、ATDC120°CAでないと判定する場合は(S220:NO)、ATDC120°CAとなるまで待機する。そしてCPU72は、ATDC120°CAであると判定する場合(S220:YES)、クランク軸26がATDC90°CAからATDC120°CAまで回転するのに要した時間T30[90]を取得する(S230)。なお、T30の後のカッコ内の数字は、時間T30を計測し始めるクランク軸26の回転角度である。
そしてCPU72は、S200の処理によって圧縮上死点が検知された気筒に関する回転変動量ΔT30[n]として、時間T30[90]から時間T30[0]を減算した値を代入する(S240)。回転変動量ΔT30は、失火の有無の判定対象となる気筒において失火が生じていない場合に負の値となり、失火が生じている場合に0に近い値となる変数である。なお、CPU72は、回転変動量ΔT30[n]を記憶装置75に記憶させる。次にCPU72は、S200の処理によって圧縮上死点が検知され、膨張行程を迎えた気筒よりも360°CA以前に膨張行程となる気筒の回転変動量ΔT30[n-2]を記憶装置75から読み出す(S250)。回転変動量ΔT30[n-2]は、360°CAだけ前にS240の処理によって記憶装置75に記憶された値である。なお、本明細書においては、便宜上、ΔT30の後のカッコ内の数字は、S200の処理によって圧縮上死点が検知された気筒をn番としたとき、180°CAだけ過去に遡るごとに[]だけ減少する変数である。以下、失火の有無の判定対象となる気筒を判定気筒、失火の有無の判定対象となる気筒の圧縮上死点に対して、360°CA前に圧縮上死点が検知される気筒を、参照気筒という。
図4に示すように、次にCPU72は、単気筒フューエルカット制御の実行中であるか否かを判定する(S260)。CPU72は、単気筒フューエルカット制御の実行中であると判定する場合(S260:YES)、気筒#2,#3のATDCの期間であるか否かを判定する(S270)。そしてCPU72は、気筒#2,#3のATDCの期間であると判定する場合(S270:YES)には、回転変動量ΔT30[n]から回転変動量ΔT30[n-2]を減算した値である変動量差分値が、第1判定閾値Δth1以上か否かを判定する(S280)。また、CPU72は、単気筒フューエルカット制御の実行中でない場合(S260:NO)にも、回転変動量ΔT30[n]から回転変動量ΔT30[n-2]を減算した値である変動量差分値が、第1判定閾値Δth1以上か否かを判定する(S280)。
CPU72は、気筒#2,#3のATDCの期間でないと判定する場合(S270:NO)には、気筒#4のATDCの期間であるか判定する(S275)。CPU72は、気筒#4のATDCの期間であると判定した場合(S275:YES)、回転変動量ΔT30[n]から回転変動量ΔT30[n-2]を減算した値である変動量差分値が、第1判定閾値Δth1よりも小さい第2判定閾値Δth2以上か否かを判定する(S280)。
ここで、回転変動量ΔT30[n]の大きさと判定閾値との大小を比較する代わりに、回転変動量ΔT30[n]と回転変動量ΔT30[n-2]との相対的な大きさと第1判定閾値Δth1、第2判定閾値Δth2との大小を比較するのは、クランクロータ40の歯部42間の間隔の公差等の影響を除去するためである。すなわち、回転変動量ΔT30[n]と回転変動量ΔT30[n-2]とは、360°CAだけずれた量であることから、それらの量を算出する際に参照された歯部42は同一となる。そのため、歯部42間の間隔に公差があったとしても、その影響は、回転変動量ΔT30[n]と回転変動量ΔT30[n-2]とに同等に表れる。したがって、回転変動量ΔT30[n]と回転変動量ΔT30[n-2]との相対的な大きさと第1判定閾値Δth1、第2判定閾値Δth2との大小を比較することにより、公差等の影響を抑制できる。
また、CPU72は、第1判定閾値Δth1、第2判定閾値Δth2を、回転速度NEおよび充填効率ηを入力として可変設定する。詳しくは、CPU72は、回転速度NEが小さい場合に大きい場合よりも第1判定閾値Δth1、第2判定閾値Δth2を大きい値に設定する。また、CPU72は、トルクの指標値である充填効率ηが小さい場合に大きい場合よりも第1判定閾値Δth1を大きい値に設定し、第2判定閾値Δth2を大きい値に設定する。この処理は、回転速度NEおよび充填効率ηを入力変数とし、第1判定閾値Δth1、第2判定閾値Δth2を出力変数とするマップデータがROM74に予め記憶された状態で、CPU72により第1判定閾値Δth1、第2判定閾値Δth2をマップ演算することによって実現できる。
ここで、マップデータとは、入力変数の離散的な値と、入力変数の値のそれぞれに対応する出力変数の値と、の組データである。また、マップ演算は、たとえば、入力変数の値がマップデータの入力変数の値のいずれかに一致する場合、対応するマップデータの出力変数の値を演算結果とするのに対し、一致しない場合、マップデータに含まれる複数の出力変数の値の補間によって得られる値を演算結果とする処理とすればよい。
CPU72は、変動量差分値が、第1判定閾値Δth1以上と判定した場合(S280:YES)や、変動量差分値が、第2判定閾値Δth2以上と判定した場合(S285:YES)、判定気筒が失火したとして、カウンタCnをインクリメントする(S290)。カウンタCnは、気筒#1~#4のそれぞれに対応して各別のカウンタC1~C4からなるが、ここでは、それらを総括して「Cn」と記載している。CPU72は、S290の処理を完了する場合や、気筒#4のATDCの期間でないと判定した場合(S275:NO)、変動量差分値が第1判定閾値Δth1未満となる場合(S280:NO)、また変動量差分値が第2判定閾値Δth2未満となる場合(S285:NO)、S300の処理を実行する。S300では、判定気筒の連続失火の判定処理を開始してから所定時間が経過したか否かを判定する(S300)。なお、機関運転が開始されてからS280の処理またはS285の処理が初めて実行されると、機関運転開始後の初めての連続失火の判定処理が開始される。また、機関運転開始後の初めての連続失火の判定処理が終了した後は後述のS315の処理が実行された後、最初にS280の処理またはS285の処理が実行されたタイミングから連続失火の判定処理が改めて開始される。なお、気筒#4のATDCの期間でないと判定した場合(S275:NO)、気筒#1のATDCの期間となる。気筒#1はフューエルカット気筒であるため、この場合、CPU72は、S280~S290の処理を実行せず、気筒#1の失火の有無の判定処理を実行しない。
S300の処理において、CPU72は、所定期間が経過していないと判定する場合(S300:NO)、図3および図4に示す一連の処理を一旦終了させる。一方で、CPU72は、所定期間が経過したと判定する場合(S300:YES)、カウンタCnが閾値Cnth以上であるか否かを判定する(S310)。閾値Cnthは、判定気筒において連続的に失火が生じている場合に所定期間内に同気筒で失火が生じる回数に応じて設定されている。CPU72は、閾値Cnth以上であると判定する場合(S310:YES)、判定気筒において連続的に失火が生じていると判定する(S320)。すなわち、判定気筒における連続失火の発生を判定する。そしてCPU72は、図1に示した警告灯100を操作することによって、ユーザにその旨を報知する報知処理を実行する(S330)。これに対し、CPU72は、カウンタCnが閾値Cnth未満であると判定する場合(S310:NO)、カウンタCnを初期化して(S315)、連続失火の判定処理を終了させ、図3および図4に示す一連の処理を一旦終了させる。
図5は、同実施形態にかかる点火の順序を示す図である。上述したように、内燃機関10は気筒#1,気筒#3,気筒#4,気筒#2の順で膨張行程を迎え、気筒#1がフューエルカット気筒であり、気筒#2,気筒#3,気筒#4が燃焼気筒である。ここで、燃焼気筒が失火していない場合、T30[90]はT30[0]よりも小さい値となるため、回転変動量ΔT30は負の値となる。一方で燃焼気筒が失火している場合、T30[90]はT30[0]とほぼ同等の値となるため、回転変動量ΔT30は0とほぼ同等の値となる。また、フューエルカット気筒は燃焼が生じていないことから、失火時と同等の回転変動量となるため、この場合にも回転変動量ΔT30は0とほぼ同等の値となる。すなわち、本実施形態において、判定気筒が気筒#2,気筒#3となる場合においては、気筒#2,気筒#3はどちらも燃焼気筒であるため、判定気筒の360°CA以前に膨張行程を迎える参照気筒は必ず燃焼気筒となる。したがって、判定気筒で失火が生じていない場合には、変動量差分値は、ゼロ程度の値となる。これに対し、判定気筒である気筒#2,気筒#3のいずれかにおいて失火が生じる場合には、変動量差分値は正で且つ絶対値は大きい値となる。このため、第1判定閾値Δth1は、変動量差分値が第1判定閾値Δth1以上であることに基づいて判定気筒において失火が発生していると判別でき、変動量差分値が第1判定閾値Δth1未満であることに基づいて判定気筒において失火が発生していないと判別できる大きさの正の値に設定されている。一方で、判定気筒が気筒#4であるとき、参照気筒はフューエルカット気筒である気筒#1となるため、判定気筒で失火が生じていない場合には、変動量差分値は、負で且つ絶対値は大きい値となる。これに対し、判定気筒において失火が生じる場合には、変動量差分値は、ゼロ程度の値となる。このため、第2判定閾値Δth2は、変動量差分値が第2判定閾値Δth2以上であることに基づいて判定気筒において失火が発生していると判別でき、変動量差分値が第2判定閾値Δth2未満であることに基づいて判定気筒において失火が発生していないと判別できる大きさの負の値に設定されている。したがって、上述したように、第2判定閾値Δth2は、第1判定閾値Δth1よりも小さい値となっている。このように制御装置70では、参照気筒が燃焼気筒である場合には、判定閾値として第1判定閾値Δth1を用いて失火条件を満たしたか否かを判定するが、参照気筒がフューエルカット気筒である場合には、判定閾値を第2判定閾値Δth2に変更して失火条件を満たしたか否かを判定する。すなわち、制御装置70では、参照気筒がフューエルカット気筒である場合には、判定閾値を第1判定閾値Δth1よりも小さい第2判定閾値Δth2に補正して失火条件を満たしたか否かを判定する。
ここで、本実施形態の作用および効果について説明する。
CPU72は、空燃比AFrが単気筒フューエルカット実行値AF1以下となる場合、単気筒フューエルカット制御を実行する。これにより、気筒#1の吸気行程において吸入された空気は、燃焼に供されることなく、気筒#1の排気行程において排気通路に流出する。また、気筒#2~#4の混合気は、理論空燃比で燃焼する。したがって、三元触媒32がリッチ状態となった場合に、リーン燃焼に伴うNOx排出をすることなく、三元触媒32に酸素を供給することができる。これにより三元触媒32のリッチ状態を解消することができる。
CPU72は、判定気筒が燃焼気筒である気筒#2,気筒#3となる場合、判定気筒の360°CA以前に膨張行程を迎える参照気筒も燃焼気筒となるため、変動量差分値が第1判定閾値Δth1以上となる場合に失火と判定する。また、CPU72は、判定気筒が燃焼気筒である気筒#4となる場合、参照気筒はフューエルカット気筒である気筒#1となるため、変動量差分値が第2判定閾値Δth2以上となる場合に失火と判定する。このとき第2判定閾値Δth2は第1判定閾値Δth1よりも小さい値とするため、参照気筒がフューエルカット気筒である場合に、判定気筒が失火して、変動量差分値が小さい値となったとしても、変動量差分値が判定閾値未満と誤判定されることを抑制できる。
以上説明した本実施形態によれば、さらに以下に記載する作用および効果が得られる。
(1-1)CPU72は、第1判定閾値Δth1、第2判定閾値Δth2を、回転速度NEが小さい場合に大きい場合よりも大きい値に設定した。回転速度NEが小さいほど、T30を算出するための回転角度の検出時間が長くなり、ΔT30の誤差幅が大きくなる。上記構成では、回転速度NEが小さいほど第1判定閾値Δth1、第2判定閾値Δth2を大きくするため、変動量差分値が判定閾値以上と誤判定されにくくなる。すなわち、回転速度NEが小さく、回転変動量の誤差幅が大きい場合であっても、誤って失火の発生が判定されにくくなる。
(1-2)CPU72は、充填効率ηが小さい場合に大きい場合よりも第1判定閾値Δth1を小さい値に設定し、第2判定閾値Δth2を大きい値に設定した。充填効率ηが小さいほど、失火していない場合のΔT30は、回転変動が小さいため大きくなる。判定気筒が失火し、参照気筒が燃焼気筒である場合は、充填効率ηが小さいほど、変動量差分値が小さくなる。上記構成では、充填効率ηが小さいほど、第1判定閾値Δth1を小さい値に設定することで、回転変動量が小さい場合においても第1判定閾値Δth1未満と誤判定されにくくなる。また、判定気筒が失火せず、参照気筒がフューエルカット気筒である場合は、充填効率が小さいほど、変動量差分値が大きくなる。上記構成では、充填効率ηが小さいほど、第2判定閾値Δth2を大きい値に設定することで、回転変動量が小さい場合においても第2判定閾値Δth2以上と誤判定されにくくなる。すなわち、充填効率が小さく、変動量差分値が大きい場合であっても、誤って失火の発生が判定されにくくなる。
<第2の実施形態>
以下、第2の実施形態について、第1の実施形態との相違点を中心に図6および図7を参照しつつ説明する。
第2の実施形態では、気筒#4における失火の有無を判定する場合、燃焼気筒である気筒#2,気筒#3の圧縮上死点以降で取得された回転変動量ΔT30[n-2]に相当する値である回転変動量ΔT30’[n-2]となるように、記憶装置75から読み出す回転変動量ΔT30[n-2]を補正する。そして、補正した後に、回転変動量ΔT30[n]から回転変動量ΔT30[n-2]を減算した値である変動量差分値が第1判定閾値Δth1よりも大きいか否かで、気筒#4の失火を判定する。
図6および図7に制御装置70が実行する処理の手順を示す。第2の実施形態の制御装置70では、図3および図4を参照して説明した一連の処理に替えて、図6および図7に示す一連の処理を実行する。図6および図7に示す処理は、ROM74に記憶されたプログラムをCPU72がたとえば所定周期で繰り返し実行することにより実現される。なお、図6および図7は気筒#1,気筒#3,気筒#4,気筒#2の順に燃焼行程を迎え、かつ気筒#1をフューエルカット気筒としたときの図であり、気筒#2,気筒#3,気筒#4がそれぞれフューエルカット気筒となった場合は、適宜気筒番号を入れ替えればよい。
図6および図7に示す一連の処理において、CPU72は、まず、現在のクランク軸26の回転角度が、気筒#1~#4のいずれかの圧縮上死点を基準としてATDC30°CAであるか否かを判定する(S400)。CPU72は、ATDC30°CAでないと判定する場合は(S400:NO)、ATDC30°CAとなるまで待機する。CPU72は、ATDC30°CAであると判定する場合(S400:YES)、クランク軸26が圧縮上死点から30°CA回転するまでに要する時間T30[0]を取得する(S410)。次にCPU72は、ATDC120°CAであるか否かを判定する(S420)。CPU72は、ATDC120°CAでないと判定する場合は(S420:NO)、ATDC120°CAとなるまで待機する。そしてCPU72は、ATDC120°CAであると判定する場合(S420:YES)、クランク軸26がATDC90°CAからATDC120°CAまで回転するのに要した時間T30[90]を取得する(S430)。なお、T30の後のカッコ内の数字は、時間T30を計測し始めるクランク軸26の回転角度である。
そしてCPU72は、S400の処理によって圧縮上死点が検知された気筒に関する回転変動量ΔT30[n]として、時間T30[90]から時間T30[0]を減算した値を代入する(S440)。回転変動量ΔT30は、失火の有無の判定対象となる気筒において失火が生じていない場合に負の値となり、失火が生じている場合に0に近い値となる変数である。なお、CPU72は、回転変動量ΔT30[n]を記憶装置75に記憶させる。次にCPU72は、S400の処理によって圧縮上死点が検知され、膨張行程を迎えた気筒よりも360°CA以前に膨張行程となる気筒の回転変動量ΔT30[n-2]を記憶装置75から読み出す(S450)。回転変動量ΔT30[n-2]は、360°CAだけ前にS440の処理によって記憶装置75に記憶された値である。なお、本明細書においては、便宜上、ΔT30の後のカッコ内の数字は、S400の処理によって圧縮上死点が検知された気筒をn番としたとき、180°CAだけ過去に遡るごとに[]だけ減少する変数である。以下、失火の有無の判定対象となる気筒を判定気筒、失火の有無の判定対象となる気筒の圧縮上死点に対して、360°CA前に圧縮上死点が検知される気筒を、参照気筒という。
図7に示すように、次にCPU72は、単気筒フューエルカット制御の実行中であるか否かを判定する(S460)。CPU72は、単気筒フューエルカット制御の実行中であると判定する場合(S460:YES)、気筒#2,#3のATDCの期間であるか否かを判定する(S470)。そして、CPU72は、気筒#2,#3のATDCの期間でないと判定する場合(S470:NO)には、気筒#4のATDCの期間であるか判定する(S475)。CPU72は、気筒#4のATDCの期間であると判定した場合(S475:YES)、燃焼気筒である気筒#2,気筒#3のATDCの期間で取得した回転変動量ΔT30[n-1]や回転変動量ΔT30[n-3]に相当する値である回転変動量ΔT30’[n-2]となるように、S450で記憶装置75から読み出したフューエルカット気筒である気筒#1のATDC期間で取得した回転変動量ΔT30[n-2]を補正する(S480)。そして、CPU72は、S480の処理を終了する場合には、回転変動量ΔT30[n]から回転変動量ΔT30[n-2]を減算した値である変動量差分値が、第1判定閾値Δth1以上か否かを判定する(S490)。また、CPU72は、単気筒フューエルカット制御実行中でない場合(S460:NO)、そして気筒#2,#3のATDCの期間あると判定する場合(S470:YES)にも、回転変動量ΔT30[n]から回転変動量ΔT30[n-2]を減算した値である変動量差分値が、第1判定閾値Δth1以上か否かを判定する(S490)。ここで、失火の有無の判定対象となる気筒で失火が生じていない場合には、回転変動量ΔT30[n]と回転変動量ΔT30[n-2]とは同程度の量となることから、上記減算した値は、ゼロ程度の値となる。これに対し、失火の有無の判定対象となる気筒において失火が生じる場合には、上記減算した値は正で且つ絶対値が大きい値となる。第1判定閾値Δth1は、変動量差分値が第1判定閾値Δth1以上であることに基づいて判定気筒において失火が発生していると判別でき、変動量差分値が第1判定閾値Δth1未満であることに基づいて判定気筒において失火が発生していないと判別できる大きさの正の値に設定されている。
ここで、CPU72は、第1判定閾値Δth1を、トルクの指標値である充填効率ηを入力として可変設定する。詳しくは、CPU72は、充填効率ηが小さい場合に大きい場合よりも第1判定閾値Δth1を小さい値に設定する。この処理は、充填効率ηを入力変数とし第1判定閾値Δth1を出力変数とするマップデータがROM74に予め記憶された状態で、CPU72により第1判定閾値Δth1をマップ演算することによって実現できる。
また、CPU72は、回転変動量ΔT30’[n-2]を、充填効率ηを入力として可変設定する。詳しくは、CPU72は、充填効率ηが小さい場合に大きい場合よりも回転変動量ΔT30’[n-2]を大きい値に設定する。この処理は、充填効率ηを入力変数とし、回転変動量ΔT30’[n-2]を出力変数とするマップデータがROM74に予め記憶された状態で、CPU72により回転変動量ΔT30’[n-2]をマップ演算することによって実現できる。
ここで、マップデータとは、入力変数の離散的な値と、入力変数の値のそれぞれに対応する出力変数の値と、の組データである。また、マップ演算は、たとえば、入力変数の値がマップデータの入力変数の値のいずれかに一致する場合、対応するマップデータの出力変数の値を演算結果とするのに対し、一致しない場合、マップデータに含まれる複数の出力変数の値の補間によって得られる値を演算結果とする処理とすればよい。
CPU72は、変動量差分値が、第1判定閾値Δth1以上と判定した場合(S490:YES)、判定気筒が失火したとして、カウンタCnをインクリメントする(S500)。カウンタCnは、気筒#1~#4のそれぞれに対応して各別のカウンタC1~C4からなるが、ここでは、それらを総括して「Cn」と記載している。CPU72は、S500の処理を完了する場合や、気筒#4のATDCの期間でないと判定した場合(S475:NO)、変動量差分値が第1判定閾値Δth1未満となる場合(S490:NO)、S510の処理を実行する。S510では、判定気筒の連続失火の判定処理を開始してから所定時間が経過したか否かを判定する(S510)。なお、機関運転が開始されてからS490の処理が初めて実行されると、機関運転開始後の初めての連続失火の判定処理が開始される。また、機関運転開始後の初めての連続失火の判定処理が終了した後は後述のS525の処理が実行された後、最初にS490の処理が実行されたタイミングから連続失火の判定処理が改めて開始される。なお、気筒#4のATDCの期間でないと判定した場合(S475:NO)、気筒#1のATDCの期間となる。気筒#1はフューエルカット気筒であるため、この場合、CPU72は、S480~S500の処理を実行せず、気筒#1の失火の有無の判定処理を実行しない。
S510の処理において、CPU72は、所定期間が経過していないと判定する場合(S510:NO)、図6および図7に示す一連の処理を一旦終了させる。一方で、CPU72は、所定期間が経過したと判定する場合(S510:YES)、カウンタCnが閾値Cnth以上であるか否かを判定する(S520)。閾値Cnthは、判定気筒において連続的に失火が生じている場合に所定期間内に同気筒で失火が生じる回数に応じて設定されている。CPU72は、閾値Cnth以上であると判定する場合(S520:YES)、判定気筒において連続的に失火が生じていると判定する(S530)。すなわち、判定気筒における連続失火の発生を判定する。そしてCPU72は、図1に示した警告灯100を操作することによって、ユーザにその旨を報知する報知処理を実行する(S540)。これに対し、CPU72は、カウンタCnが閾値Cnth未満であると判定する場合(S520:NO)、カウンタCnを初期化して(S525)、連続失火の判定処理を終了させ、図6および図7に示す一連の処理を一旦終了させる。
ここで、第2の実施形態の作用および効果について説明する。
CPU72は、判定気筒が気筒#4となる場合、参照気筒はフューエルカット気筒である気筒#1となるため、燃焼気筒である気筒#2,気筒#3のATDCの期間で取得した回転変動量ΔT30[n-1]や回転変動量ΔT30[n-3]に相当する値である回転変動量ΔT30’[n-2]となるように、回転変動量ΔT30[n-2]を補正する。このとき、回転変動量ΔT30[n]から回転変動量ΔT30[n-2]を減算した値である変動量差分値が、第1判定閾値Δth1以上となる場合に失火と判定する。
フューエルカット気筒のATDCの期間で取得した回転変動量ΔT30は、0とほぼ同等の値となる。一方で、燃焼気筒のATDCの期間で取得した回転変動量ΔT30は、負の値となる。第2の実施形態の制御装置70によれば、回転変動量ΔT[n-2]を補正するため、参照気筒がフューエルカット気筒である場合においても、補正後の回転変動量ΔT30が負の値となる。そのため、判定気筒が失火したとしても、変動量差分値が0とほぼ同等の値とならずに正の値となるため、変動量差分値が第1判定閾値Δth1未満と誤判定されることを抑制できる。
以上説明した第2の実施形態によれば、さらに以下に記載する作用および効果が得られる。
(2-1)CPU72は、充填効率ηが小さい場合に大きい場合よりも第1判定閾値Δth1を小さい値に設定した。充填効率ηが小さいほど、失火していない場合のΔT30は、回転変動が小さいため大きくなる。判定気筒が失火し、参照気筒が燃焼気筒である場合は、充填効率ηが小さいほど、変動量差分値が小さくなる。上記構成では、充填効率ηが小さいほど、第1判定閾値Δth1を小さい値に設定することで、回転変動量が小さい場合においても第1判定閾値Δth1未満と誤判定されにくくなる。
(2-2)CPU72は、充填効率ηが小さい場合に大きい場合よりもΔT30’[n-2]を大きい値に設定した。充填効率ηが小さいほど、燃焼気筒におけるΔT30は大きい。上記構成では、充填効率ηが小さい場合に大きい場合よりもΔT30’[n-2]を大きい値に設定するため、回転変動量ΔT30[n]からΔT30’[n-2]となるように補正した回転変動量ΔT30[n-2]を減算した変動量差分値が第1判定閾未満と誤判定されにくくなる。
<第3の実施形態>
以下、第3の実施形態について、第1の実施形態との相違点を中心に図面を参照しつつ説明する。
第3の実施形態では、回転変動量や変動量差分値の算出に30°CA回転するまでに要する時間の逆数である角速度を用いて、気筒#1~気筒#4の失火を判定する。
図8および図9に、制御装置70が実行する別の処理の手順を示す。第3の実施形態の制御装置70では、図3および図4を参照して説明した一連の処理に替えて、図8および図9に示す一連の処理を実行する。図8および図9に示す処理は、ROM74に記憶されたプログラムをCPU72がたとえば所定周期で繰り返し実行することにより実現される。なお、図8および図9は気筒#1,気筒#3,気筒#4,気筒#2の順に燃焼行程を迎え、かつ気筒#1をフューエルカット気筒としたときの図であり、気筒#2,気筒#3,気筒#4がそれぞれフューエルカット気筒となった場合は、適宜気筒番号を入れ替えればよい。
図8および図9に示す一連の処理において、CPU72は、まず、現在のクランク軸26の回転角度が、気筒#1~#4のいずれかの圧縮上死点を基準としてATDC30°CAであるか否かを判定する(S600)。CPU72は、ATDC30°CAでないと判定する場合は(S600:NO)、ATDC30°CAとなるまで待機する。CPU72は、ATDC30°CAであると判定する場合(S600:YES)、クランク軸26が圧縮上死点から30°CA回転するまでに要する時間の逆数である角速度ω30[0]を取得する(S610)。次にCPU72は、ATDC120°CAであるか否かを判定する(S620)。CPU72は、ATDC120°CAでないと判定する場合は(S620:NO)、ATDC120°CAとなるまで待機する。そしてCPU72は、ATDC120°CAであると判定する場合(S620:YES)、クランク軸26がATDC90°CAからATDC120°CAまで回転するのに要した時間の逆数である角速度ω30[90]を取得する(S630)。なお、ω30の後のカッコ内の数字は、角速度ω30を計測し始めるクランク軸26の回転角度である。
そしてCPU72は、S600の処理によって圧縮上死点が検知された気筒に関する回転変動量Δω30[n]として、角速度ω30[90]から角速度ω30[0]を減算した値を代入する(S640)。回転変動量Δω30は、失火の有無の判定対象となる気筒において失火が生じていない場合に負の値となり、失火が生じている場合に0に近い値となる変数である。なお、CPU72は、回転変動量Δω30[n]を記憶装置75に記憶させる。次にCPU72は、S600の処理によって圧縮上死点が検知され、膨張行程を迎えた気筒よりも360°CA以前に膨張行程となる気筒の回転変動量Δω30[n-2]を記憶装置75から読み出す(S650)。回転変動量Δω30[n-2]は、360°CAだけ前にS640の処理によって記憶装置75に記憶された値である。なお、本明細書においては、便宜上、ΔT30の後のカッコ内の数字は、S600の処理によって圧縮上死点が検知された気筒をn番としたとき、180°CAだけ過去に遡るごとに[]だけ減少する変数である。以下、失火の有無の判定対象となる気筒を判定気筒、失火の有無の判定対象となる気筒の圧縮上死点に対して、360°CA前に圧縮上死点が検知される気筒を、参照気筒という。
図9に示すように、次にCPU72は、単気筒フューエルカット制御の実行中であるか否かを判定する(S660)。CPU72は、単気筒フューエルカット制御の実行中であると判定する場合(S660:YES)、気筒#2,#3のATDCの期間であるか否かを判定する(S670)。そしてCPU72は、気筒#2,#3のATDCの期間であると判定する場合(S670:YES)や単気筒フューエルカット制御の実行中でない場合(S660:NO)には、回転変動量Δω30[n]から回転変動量Δω30[n-2]を減算した値である変動量差分値が、第1判定閾値Δth1未満か否かを判定する(S680)。ここで、角速度ω30は30°CA回転するまでに要する時間T30の逆数であることより、判定気筒で失火が生じていない場合には、変動量差分値は、ゼロ程度の値となる。これに対し、判定気筒において失火が生じる場合には、変動量差分値は負で且つ絶対値は大きい値となる。このため、第1判定閾値Δth1は、変動量差分値が第1判定閾値Δth1未満であることに基づいて判定気筒において失火が発生していると判別でき、変動量差分値が第1判定閾値Δth1以上であることに基づいて判定気筒において失火が発生していないと判別できる大きさの負の値に設定されている。
CPU72は、気筒#2,#3のATDCの期間でないと判定する場合(S670:NO)には、気筒#4のATDCの期間であるか判定する(S675)。CPU72は、気筒#4のATDCの期間であると判定した場合(S675:YES)、回転変動量Δω30[n]から回転変動量Δω30[n-2]を減算した値である変動量差分値が、第1判定閾値Δth1よりも大きい値に補正した第2判定閾値Δth2未満か否かを判定する(S685)。ここで、判定気筒で失火が生じていない場合には、変動量差分値は、正で且つ絶対値は大きい値となる。これに対し、判定気筒において失火が生じる場合には、変動量差分値は、ゼロ程度の値となる。このため、第2判定閾値Δth2は、変動量差分値が第2判定閾値Δth2未満であることに基づいて判定気筒において失火が発生していると判別でき、変動量差分値が第2判定閾値Δth2以上であることに基づいて判定気筒において失火が発生していないと判別することができる大きさの正の値に設定されている。
ここで、CPU72は、第1判定閾値Δth1、第2判定閾値Δth2を、回転速度NEおよび充填効率ηを入力として可変設定する。詳しくは、CPU72は、回転速度NEが小さい場合に大きい場合よりも第1判定閾値Δth1、第2判定閾値Δth2を小さい値に設定する。また、CPU72は、充填効率ηが小さい場合に大きい場合よりも第1判定閾値Δth1を大きい値に設定し、第2判定閾値Δth2を小さい値に設定する。この処理は、回転速度NEおよび充填効率ηを入力変数とし、第1判定閾値Δth1、第2判定閾値Δth2を出力変数とするマップデータがROM74に予め記憶された状態で、CPU72により第1判定閾値Δth1、第2判定閾値Δth2をマップ演算することによって実現できる。
ここで、マップデータとは、入力変数の離散的な値と、入力変数の値のそれぞれに対応する出力変数の値と、の組データである。また、マップ演算は、たとえば、入力変数の値がマップデータの入力変数の値のいずれかに一致する場合、対応するマップデータの出力変数の値を演算結果とするのに対し、一致しない場合、マップデータに含まれる複数の出力変数の値の補間によって得られる値を演算結果とする処理とすればよい。
CPU72は、変動量差分値が、第1判定閾値Δth1未満と判定した場合(S680:YES)や、変動量差分値が、第2判定閾値Δth2未満と判定した場合(S685:YES)、判定気筒が失火したとして、カウンタCnをインクリメントする(S690)。カウンタCnは、気筒#1~#4のそれぞれに対応して各別のカウンタC1~C4からなるが、ここでは、それらを総括して「Cn」と記載している。CPU72は、S690の処理を完了する場合や、気筒#4のATDCの期間でないと判定した場合(S675:NO)、変動量差分値が第1判定閾値Δth1以上となる場合(S680:NO)、また変動量差分値が第2判定閾値Δth2以上となる場合(S685:NO)、S700の処理を実行する。S700では、判定気筒の連続失火の判定処理を開始してから所定時間が経過したか否かを判定する(S700)。なお、機関運転が開始されてからS680の処理またはS685の処理が初めて実行されると、機関運転開始後の初めての連続失火の判定処理が開始される。また、機関運転開始後の初めての連続失火の判定処理が終了した後は後述のS715の処理が実行された後、最初にS680の処理またはS685の処理が実行されたタイミングから連続失火の判定処理が改めて開始される。なお、気筒#4のATDCの期間でないと判定した場合(S675:NO)、気筒#1のATDCの期間となる。気筒#1はフューエルカット気筒であるため、この場合、CPU72は、S680~S690の処理を実行せず、気筒#1の失火の有無の判定処理を実行しない。
S700の処理において、CPU72は、所定期間が経過していないと判定する場合(S700:NO)、図8および図9に示す一連の処理を一旦終了させる。一方で、CPU72は、所定期間が経過したと判定する場合(S700:YES)、カウンタCnが閾値Cnth以上であるか否かを判定する(S710)。閾値Cnthは、判定気筒において連続的に失火が生じている場合に所定期間内に同気筒で失火が生じる回数に応じて設定されている。CPU72は、閾値Cnth以上であると判定する場合(S710:YES)、判定気筒において連続的に失火が生じていると判定する(S720)。すなわち、判定気筒における連続失火の発生を判定する。そしてCPU72は、図1に示した警告灯100を操作することによって、ユーザにその旨を報知する報知処理を実行する(S730)。これに対し、CPU72は、カウンタCnが閾値Cnth未満であると判定する場合(S710:NO)、カウンタCnを初期化して(S715)、連続失火の判定処理を終了させ、図8および図9に示す一連の処理を一旦終了させる。
ここで、第3の実施形態の作用および効果について説明する。
CPU72は、判定気筒が燃焼気筒である気筒#2,気筒#3となる場合、判定気筒の360°CA以前に膨張行程を迎える参照気筒も燃焼気筒となるため、変動量差分値が第1判定閾値Δth1未満となる場合に失火と判定する。また、CPU72は、判定気筒が燃焼気筒である気筒#4となる場合、参照気筒はフューエルカット気筒である気筒#1となるため、変動量差分値が第2判定閾値Δth2未満となる場合に失火と判定する。このとき第2判定閾値Δth2は第1判定閾値Δth1よりも大きい値とするため、参照気筒がフューエルカット気筒である場合に、判定気筒が失火して、変動量差分値が大きい値となったとしても、変動量差分値が判定閾値以上と誤判定されることを抑制できる。
以上説明した第3の実施形態によれば、さらに以下に記載する作用および効果が得られる。
(3-1)CPU72は、第1判定閾値Δth1、第2判定閾値Δth2を、回転速度NEが小さい場合に大きい場合よりも小さい値に設定した。回転速度NEが小さいほど、Δω30の誤差幅が大きくなる。上記構成では、回転速度NEが小さいほど第1判定閾値Δth1、第2判定閾値Δth2を小さくするため、変動量差分値が判定閾値未満と誤判定されにくくなる。すなわち、回転速度が小さく、回転変動量の誤差幅が大きい場合であっても、誤って失火の発生が判定されにくくなる。
(3-2)CPU72は、充填効率ηが小さい場合に大きい場合よりも第1判定閾値Δth1を大きい値に設定し、第2判定閾値Δth2を小さい値に設定した。角速度はクランク軸26の回転角度が30°CA回転するまでに要する時間の逆数であるため、充填効率ηが小さいほど、失火していない場合のΔω30は、回転変動が小さいため小さくなる。判定気筒が失火し、参照気筒が燃焼気筒である場合は、充填効率ηが小さいほど、変動量差分値が大きくなる。上記構成では、充填効率ηが小さいほど、第1判定閾値Δth1を大きい値に設定することで、回転変動量が大きい場合においても第1判定閾値Δth1以上と誤判定されにくくなる。また、判定気筒が失火せず、参照気筒がフューエルカット気筒である場合は、充填効率が小さいほど、変動量差分値が小さくなる。上記構成では、充填効率ηが小さいほど、第2判定閾値Δth2を小さい値に設定することで、回転変動量が小さい場合においても第2判定閾値Δth2未満と誤判定されにくくなる。すなわち、充填効率が小さく、変動量差分値が小さい場合であっても、誤って失火の発生が判定されにくくなる。
<第4の実施形態>
以下、第4の実施形態について、第2の実施形態との相違点を中心に図面を参照しつつ説明する。
第4の実施形態では、回転変動量や変動量差分値の算出に30°CA回転するまでに要する時間の逆数である角速度を用いて、気筒#1~気筒#4の失火を判定する。
図10および図11に制御装置70が実行する処理の手順を示す。第4の実施形態の制御装置70では、図6および図7を参照して説明した一連の処理に替えて、図10および図11に示す一連の処理を実行する。図10および図11に示す処理は、ROM74に記憶されたプログラムをCPU72がたとえば所定周期で繰り返し実行することにより実現される。なお、図10および図11は気筒#1,気筒#3,気筒#4,気筒#2の順に燃焼行程を迎え、かつ気筒#1をフューエルカット気筒としたときの図であり、気筒#2,気筒#3,気筒#4がそれぞれフューエルカット気筒となった場合は、適宜気筒番号を入れ替えればよい。
図10および図11に示す一連の処理において、CPU72は、まず、現在のクランク軸26の回転角度が、気筒#1~#4のいずれかの圧縮上死点を基準としてATDC30°CAであるか否かを判定する(S800)。CPU72は、ATDC30°CAでないと判定する場合は(S800:NO)、ATDC30°CAとなるまで待機する。CPU72は、ATDC30°CAであると判定する場合(S800:YES)、クランク軸26が圧縮上死点から30°CA回転するまでに要する時間の逆数である角速度ω30[0]を取得する(S810)。次にCPU72は、ATDC120°CAであるか否かを判定する(S820)。CPU72は、ATDC120°CAでないと判定する場合は(S820:NO)、ATDC120°CAとなるまで待機する。そしてCPU72は、ATDC120°CAであると判定する場合(S820:YES)、クランク軸26がATDC90°CAからATDC120°CAまで回転するのに要した時間の逆数である角速度ω30[90]を取得する(S830)。なお、ω30の後のカッコ内の数字は、角速度ω30を計測し始めるクランク軸26の回転角度である。
そしてCPU72は、S800の処理によって圧縮上死点が検知された気筒に関する回転変動量Δω30[n]として、角速度ω30[90]から角速度ω30[0]を減算した値を代入する(S840)。回転変動量Δω30は、失火の有無の判定対象となる気筒において失火が生じていない場合に負の値となり、失火が生じている場合に0に近い値となる変数である。なお、CPU72は、回転変動量Δω30[n]を記憶装置75に記憶させる。次にCPU72は、S800の処理によって圧縮上死点が検知され、膨張行程を迎えた気筒よりも360°CA以前に膨張行程となる気筒の回転変動量Δω30[n-2]を記憶装置75から読み出す(S850)。回転変動量Δω30[n-2]は、360°CAだけ前にS840の処理によって記憶装置75に記憶された値である。なお、本明細書においては、便宜上、ΔT30の後のカッコ内の数字は、S800の処理によって圧縮上死点が検知された気筒をn番としたとき、180°CAだけ過去に遡るごとに[]だけ減少する変数である。以下、失火の有無の判定対象となる気筒を判定気筒、失火の有無の判定対象となる気筒の圧縮上死点に対して、360°CA前に圧縮上死点が検知される気筒を、参照気筒という。
図11に示すように、次にCPU72は、単気筒フューエルカット制御の実行中であるか否かを判定する(S860)。CPU72は、単気筒フューエルカット制御の実行中であると判定する場合(S860:YES)、気筒#2,#3のATDCの期間であるか否かを判定する(S870)。そして、CPU72は、気筒#2,#3のATDCの期間でないと判定する場合(S870:NO)には、気筒#4のATDCの期間であるか判定する(S875)。CPU72は、気筒#4のATDCの期間であると判定した場合(S875:YES)、燃焼気筒である気筒#2,気筒#3のATDCの期間で取得した回転変動量Δω30[n-1]や回転変動量Δω30[n-3]に相当する値である回転変動量ΔT30’[n-2]となるように、S850で記憶装置75から読み出したフューエルカット気筒である気筒#1のATDC期間で取得した回転変動量Δω30[n-2]を補正する(S880)。そして、CPU72は、S880の処理を終了する場合には、回転変動量Δω30[n]から回転変動量Δω30[n-2]を減算した値である変動量差分値が、第1判定閾値Δth1未満か否かを判定する(S890)。また、CPU72は、単気筒フューエルカット制御実行中でない場合(S860:NO)、気筒#2,#3のATDCの期間あると判定する場合(S870:YES)場合にも、回転変動量Δω30[n]から回転変動量Δω30[n-2]を減算した値である変動量差分値が、第1判定閾値Δth1未満か否かを判定する(S890)。ここで、失火の有無の判定対象となる気筒で失火が生じていない場合には、回転変動量Δω30[n]と回転変動量Δω30[n-2]とは同程度の量となることから、上記減算した値は、ゼロ程度の値となる。これに対し、失火の有無の判定対象となる気筒において失火が生じる場合には、上記減算した値は負で且つ絶対値が大きい値となる。第1判定閾値Δth1は、変動量差分値が第1判定閾値Δth1未満であることに基づいて判定気筒において失火が発生していると判別でき、変動量差分値が第1判定閾値Δth1以上であることに基づいて判定気筒において失火が発生していないと判別できる大きさの負の値に設定されている。
ここで、CPU72は、第1判定閾値Δth1を、トルクの指標値である充填効率ηを入力として可変設定する。詳しくは、CPU72は、充填効率ηが小さい場合に大きい場合よりも第1判定閾値Δth1を大きい値に設定する。この処理は、充填効率ηを入力変数とし第1判定閾値Δth1を出力変数とするマップデータがROM74に予め記憶された状態で、CPU72により第1判定閾値Δth1をマップ演算することによって実現できる。
また、CPU72は、回転変動量Δω30’[n-2]を、充填効率ηを入力として可変設定する。詳しくは、CPU72は、充填効率ηが小さい場合に大きい場合よりも回転変動量Δω30’[n-2]を小さい値に補正する。この処理は、充填効率ηを入力変数とし、回転変動量Δω30’[n-2]を出力変数とするマップデータがROM74に予め記憶された状態で、CPU72により回転変動量Δω30’[n-2]をマップ演算することによって実現できる。
ここで、マップデータとは、入力変数の離散的な値と、入力変数の値のそれぞれに対応する出力変数の値と、の組データである。また、マップ演算は、たとえば、入力変数の値がマップデータの入力変数の値のいずれかに一致する場合、対応するマップデータの出力変数の値を演算結果とするのに対し、一致しない場合、マップデータに含まれる複数の出力変数の値の補間によって得られる値を演算結果とする処理とすればよい。
CPU72は、変動量差分値が、第1判定閾値Δth1未満と判定した場合(S890:YES)、判定気筒が失火したとして、カウンタCnをインクリメントする(S900)。カウンタCnは、気筒#1~#4のそれぞれに対応して各別のカウンタC1~C4からなるが、ここでは、それらを総括して「Cn」と記載している。CPU72は、S900の処理を完了する場合や、気筒#4のATDCの期間でないと判定した場合(S875:NO)、変動量差分値が第1判定閾値Δth1以上となる場合(S890:NO)、S910の処理を実行する。S910では、判定気筒の連続失火の判定処理を開始してから所定時間が経過したか否かを判定する(S910)。なお、機関運転が開始されてからS890の処理が初めて実行されると、機関運転開始後の初めての連続失火の判定処理が開始される。また、機関運転開始後の初めての連続失火の判定処理が終了した後は後述のS925の処理が実行された後、最初にS890の処理が実行されたタイミングから連続失火の判定処理が改めて開始される。なお、気筒#4のATDCの期間でないと判定した場合(S875:NO)、気筒#1のATDCの期間となる。気筒#1はフューエルカット気筒であるため、この場合、CPU72は、S880~S900の処理を実行せず、気筒#1の失火の有無の判定処理を実行しない。
S910の処理において、CPU72は、所定期間が経過していないと判定する場合(S910:NO)、図10および図11に示す一連の処理を一旦終了させる。一方で、CPU72は、所定期間が経過したと判定する場合(S910:YES)、カウンタCnが閾値Cnth以上であるか否かを判定する(S920)。閾値Cnthは、判定気筒において連続的に失火が生じている場合に所定期間内に同気筒で失火が生じる回数に応じて設定されている。CPU72は、閾値Cnth以上であると判定する場合(S920:YES)、判定気筒において連続的に失火が生じていると判定する(S930)。すなわち、判定気筒における連続失火の発生を判定する。そしてCPU72は、図1に示した警告灯100を操作することによって、ユーザにその旨を報知する報知処理を実行する(S940)。これに対し、CPU72は、カウンタCnが閾値Cnth未満であると判定する場合(S920:NO)、カウンタCnを初期化して(S925)、連続失火の判定処理を終了させ、図10および図11に示す一連の処理を一旦終了させる。
ここで、第4の実施形態の作用および効果について説明する。
CPU72は、判定気筒が気筒#4となる場合、参照気筒はフューエルカット気筒である気筒#1となるため、燃焼気筒である気筒#2,気筒#3のATDCの期間で取得した回転変動量Δω30[n-1]や回転変動量Δω30[n-3]に相当する値である回転変動量Δω30’[n-2]となるように、回転変動量Δω30[n-2]を補正する。このとき、回転変動量Δω30[n]から回転変動量Δω30[n-2]を減算した値である変動量差分値が、第1判定閾値Δth1未満の場合に失火と判定する。
フューエルカット気筒のATDCの期間で取得した回転変動量Δω30は、0とほぼ同等の値となる。一方で、燃焼気筒のATDCの期間で取得した回転変動量Δω30は、正の値となる。第4の実施形態の制御装置70によれば、回転変動量Δω[n-2]を補正するため、参照気筒がフューエルカット気筒である場合においても、補正後の回転変動量Δω30が正の値となる。そのため、判定気筒が失火したとしても、変動量差分値が0とほぼ同等の値とならずに負の値となるため、変動量差分値が第1判定閾値Δth1以上と誤判定されることを抑制できる。
以上説明した第4の実施形態によれば、さらに以下に記載する作用および効果が得られる。
(4-1)CPU72は、充填効率ηが小さい場合に大きい場合よりも第1判定閾値Δth1を大きい値に設定した。角速度はクランク軸26の回転角度が30°CA回転するまでに要する時間の逆数であるため、充填効率ηが小さいほど、失火していない場合のΔω30は、回転変動が小さいため小さくなる。判定気筒が失火し、参照気筒が燃焼気筒である場合は、充填効率ηが小さいほど、変動量差分値が大きくなる。上記構成では、充填効率ηが小さいほど、第1判定閾値Δth1を大きい値に設定することで、回転変動量が小さい場合においても第1判定閾値Δth1以上と誤判定されにくくなる。
(4-2)CPU72は、充填効率ηが小さい場合に大きい場合よりもΔω30’[n-2]を小さい値に設定した。充填効率ηが小さいほど、燃焼気筒におけるΔω30は小さい。上記構成では、充填効率ηが小さい場合に大きい場合よりもΔω30’[n-2]を小さい値に設定するため、回転変動量Δω30[n]からΔω30’[n-2]となるように補正した回転変動量Δω30[n-2]を減算した変動量差分値が第1判定閾値以上と誤判定されにくくなる。
<対応関係>
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。単気筒フューエルカット処理は、図2のS140,S150の処理に対応する。瞬時速度算出処理は、図3のS200~S230の処理や、図6のS400~S430の処理、図8のS600~S630の処理、図10のS800~S830の処理に対応する。瞬時速度変数は、T30や、ω30に対応する。回転変動量算出処理は、図3のS240の処理、図6のS440の処理、図8のS640の処理、図10のS840の処理に対応する。第1回転変動量は、ΔT30[n]や、Δω30[n]に対応する。第2回転変動量は、ΔT30[n-2]や、Δω30[n-2]に対応する。変動量差分値算出処理と失火判定処理は、図4のS280,S285の処理、図7のS490の処理、図9のS680,S685の処理、図11のS890の処理に対応する。補正処理は、図4のS285の処理、図7のS480の処理、図9のS685の処理、図11のS880の処理に対応する。第2回転変動量に相当する値は、ΔT30’[n-2]や、Δω30’[n-2]に対応する。
<その他の実施形態>
その他、上記各実施形態に共通して変更可能な要素としては次のようなものがある。以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
「瞬時速度変数について」
・上記実施形態では、圧縮上死点間の間隔以下のクランク角度領域におけるクランク軸26の回転速度を示す変数である瞬時速度変数を定義するクランク角度領域を30°CAとしたが、これに限らない。たとえば、10°CAであってもよく、またたとえば圧縮上死点間の間隔自体であってもよい。
「回転変動量について」
・上記実施形態では、回転変動量ΔT30を、90°CA離間した瞬時速度変数同士の差としたが、これに限らない。たとえば、60°CA離間した瞬時速度変数同士の差としてもよい。
「トルクの指標値について」
・充填効率ηを算出し、内燃機関10のトルクの指標値として、算出した充填効率ηを用いる例を示した。トルクの指標値は、充填効率ηに限らない。たとえば、トルクの指標値として、トルクの推定値を算出して算出した推定値をトルクの指標値として用いてもよい。また、たとえば内燃機関10のトルクの指標値として、充填効率ηに代えてアクセル操作量を用いてもよい。
「所定角度間隔について」
・図3のS250の処理や、図6のS450の処理、図8のS650の処理、図10のS850の処理では、特定気筒の連続失火を検出するために、判定気筒の回転変動量から、判定気筒よりも360°CA以前に膨張行程となる気筒の回転変動量を読み出したが、これに限らない。たとえば、内燃機関10が備える気筒#1~気筒#4のランダム失火を検出するために、判定気筒よりも720°CA以前に膨張行程となる気筒の回転変動量を読み出してもよい。この場合、図4のS280,S285の処理や、図7のS490の処理、図9のS680,S685の処理、図11のS890の処理では、回転変動量ΔT30[n]やΔω30[n]から、回転変動量ΔT30[n-4]やΔω30[n-4]を減算した値を変動量差分値とすればよい。
「判定閾値について」
・上記実施形態では、第1判定閾値Δth1および第2判定閾値Δth2を、回転速度NEおよび充填効率ηに基づき可変設定したが、これに限らない。回転速度NEおよび負荷を示す変数の双方に応じて判定閾値を可変設定する代わりに、それら2つの変数に関しては、それらのうちのいずれか1つのみに基づき判定閾値を可変設定してもよい。またたとえば、回転速度NEおよびトルクを示す変数の2つの変数のうちの少なくとも1つと、水温THWとに基づき判定閾値を可変設定してもよい。
「単気筒フューエルカット処理について」
・燃焼気筒における混合気の空燃比をストイキとすることも必須ではない。たとえばフューエルカット気筒、燃焼気筒の合計の空燃比がリーンとなれば、燃焼気筒における混合気の空燃比を弱リッチとしてもよい。
・単気筒フューエルカット処理の開始条件は、空燃比AFr≦単気筒フューエルカット実行値AF1の場合に限らない。たとえば、GPF34に堆積物が所定値以上堆積したと推定する場合に実行してもよい。この場合、燃焼気筒における空燃比をリッチとしてもよい。また、堆積量の推定は、GPF34の上流側と下流側との圧力の差と吸入空気量Gaとに基づき堆積量を推定してもよいし、回転速度NE、充填効率ηおよび水温THWに基づき堆積量を算出してもよい。
「失火の判定結果の反映について」
・上記実施形態では、連続失火が生じたと判定する場合、警告灯100を用いた報知処理を実行したが、報知処理としては、視覚情報を出力する装置を操作対象とする処理に限らず、たとえば聴覚情報を出力する装置を操作対象とする処理であってもよい。
・連続失火の判定結果を報知処理に利用すること自体必須ではない。たとえば、連続失火が生じた場合に、連続失火が生じにくい運転状態へと内燃機関10の制御を変更する処理を実行してもよい。
「制御装置について」
・制御装置としては、CPU72とROM74とを備えて、ソフトウェア処理を実行するものに限らない。たとえば、上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理するたとえばASIC等の専用のハードウェア回路を備えてもよい。すなわち、制御装置は、以下の(a)~(c)のいずれかの構成であればよい。(a)上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するROM等のプログラム格納装置とを備える。(b)上記処理の一部をプログラムに従って実行する処理装置およびプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。(c)上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置およびプログラム格納装置を備えたソフトウェア実行装置や、専用のハードウェア回路は複数であってもよい。
「車両について」
・車両としては、シリーズ・パラレルハイブリッド車に限らず、たとえばパラレルハイブリッド車やシリーズハイブリッド車であってもよい。もっとも、ハイブリッド車に限らず、たとえば、車両の動力発生装置が内燃機関10のみの車両であってもよい。
10…内燃機関
26…クランク軸
32…三元触媒
34…GPF
70…制御装置
72…CPU
74…ROM
75…記憶装置
76…周辺回路
78…通信線
80…エアフローメータ
82…クランク角センサ
86…水温センサ
88…空燃比センサ
90…排気圧センサ
92…第1回転角センサ
94…第2回転角センサ
100…警告灯

Claims (8)

  1. 排気系に排気を浄化する触媒を備えた多気筒内燃機関における内燃機関の失火判定装置において、
    何れか1つのフューエルカット気筒への燃料供給を停止させ且つ前記何れか1つの気筒以外の残余の燃焼気筒への燃料供給を実施する単気筒フューエルカット制御を実行する単気筒フューエルカット処理と、
    クランク軸の回転速度の指標値である瞬時速度変数を算出する瞬時速度算出処理と、
    前記瞬時速度変数の変化量である回転変動量を算出する回転変動量算出処理と、
    失火検出の対象である判定気筒の前記回転変動量である第1回転変動量から前記判定気筒の膨張行程よりも360°CAの整数倍以前に膨張行程となる参照気筒の前記回転変動量である第2回転変動量を減算した変動量差分値を算出する変動量差分値算出処理と、
    前記変動量差分値と判定閾値との大小関係に基づいて、失火条件を満たしたとして、前記判定気筒が失火したと判定する失火判定処理と、
    前記失火判定処理を実行する際に前記参照気筒が前記フューエルカット気筒である場合に、前記参照気筒が前記フューエルカット気筒であることによる失火判定の結果への影響を低減するための補正を施す補正処理と、を実行し、
    前記瞬時速度変数は、クランク角が既定の角度を回転するのに要した時間であり、
    前記失火判定処理は、前記変動量差分値が前記判定閾値以上となったとき、前記判定気筒が失火したと判定し、
    前記参照気筒が前記燃焼気筒である場合の前記判定閾値を、第1判定閾値としたとき、
    前記補正処理は、前記参照気筒が前記フューエルカット気筒である場合の前記判定閾値を、前記第1判定閾値よりも小さい第2判定閾値に補正する内燃機関の失火判定装置。
  2. 前記失火判定処理における前記判定閾値を、前記クランク軸の回転速度が小さいときほど、大きくする請求項1に記載の内燃機関の失火判定装置。
  3. 排気系に排気を浄化する触媒を備えた多気筒内燃機関における内燃機関の失火判定装置において、
    何れか1つのフューエルカット気筒への燃料供給を停止させ且つ前記何れか1つの気筒以外の残余の燃焼気筒への燃料供給を実施する単気筒フューエルカット制御を実行する単気筒フューエルカット処理と、
    クランク軸の回転速度の指標値である瞬時速度変数を算出する瞬時速度算出処理と、
    前記瞬時速度変数の変化量である回転変動量を算出する回転変動量算出処理と、
    失火検出の対象である判定気筒の前記回転変動量である第1回転変動量から前記判定気筒の膨張行程よりも360°CAの整数倍以前に膨張行程となる参照気筒の前記回転変動量である第2回転変動量を減算した変動量差分値を算出する変動量差分値算出処理と、
    前記変動量差分値と判定閾値との大小関係に基づいて、失火条件を満たしたとして、前記判定気筒が失火したと判定する失火判定処理と、
    前記失火判定処理を実行する際に前記参照気筒が前記フューエルカット気筒である場合に、前記参照気筒が前記フューエルカット気筒であることによる失火判定の結果への影響を低減するための補正を施す補正処理と、を実行し、
    前記瞬時速度変数が、クランク角が既定の角度を回転する際の角速度であり、
    前記失火判定処理は、前記変動量差分値が前記判定閾値未満となったとき、前記判定気筒が失火したと判定し、
    前記参照気筒が前記燃焼気筒である場合の前記判定閾値を、第1判定閾値としたとき、
    前記補正処理は、前記参照気筒が前記フューエルカット気筒である場合の前記判定閾値を、前記第1判定閾値よりも大きい第2判定閾値に補正する内燃機関の失火判定装置。
  4. 前記失火判定処理における前記判定閾値を、前記クランク軸の回転速度が小さいときほど、小さくする請求項3に記載の内燃機関の失火判定装置。
  5. 排気系に排気を浄化する触媒を備えた多気筒内燃機関における内燃機関の失火判定装置において、
    何れか1つのフューエルカット気筒への燃料供給を停止させ且つ前記何れか1つの気筒以外の残余の燃焼気筒への燃料供給を実施する単気筒フューエルカット制御を実行する単気筒フューエルカット処理と、
    クランク軸の回転速度の指標値である瞬時速度変数を算出する瞬時速度算出処理と、
    前記瞬時速度変数の変化量である回転変動量を算出する回転変動量算出処理と、
    失火検出の対象である判定気筒の前記回転変動量である第1回転変動量から前記判定気筒の膨張行程よりも360°CAの整数倍以前に膨張行程となる参照気筒の前記回転変動量である第2回転変動量を減算した変動量差分値を算出する変動量差分値算出処理と、
    前記変動量差分値と判定閾値との大小関係に基づいて、失火条件を満たしたとして、前記判定気筒が失火したと判定する失火判定処理と、
    前記失火判定処理を実行する際に前記参照気筒が前記フューエルカット気筒である場合に、前記参照気筒が前記フューエルカット気筒であることによる失火判定の結果への影響を低減するための補正を施す補正処理と、を実行し、
    前記補正処理は、前記参照気筒が前記フューエルカット気筒である場合の前記第2回転変動量を、前記参照気筒が前記燃焼気筒である場合の前記第2回転変動量に相当する値に補正する内燃機関の失火判定装置。
  6. 前記内燃機関のトルクの指標値を算出するトルク算出処理をさらに含み、
    前記瞬時速度変数が、クランク角が既定の角度を回転するのに要した時間であり、
    前記失火判定処理は、前記変動量差分値が前記判定閾値以上となったとき、前記判定気筒が失火したと判定し、
    前記補正処理は、前記トルク算出処理において算出したトルクの指標値が小さいほど、前記第2回転変動量を大きな値に補正する請求項5に記載の内燃機関の失火判定装置。
  7. 前記内燃機関のトルクの指標値を算出するトルク算出処理をさらに含み、
    前記瞬時速度変数が、クランク角が既定の角度を回転する際の角速度であり、
    前記失火判定処理は、前記変動量差分値が前記判定閾値未満となったとき、前記判定気筒が失火したと判定し、
    前記補正処理は、前記トルク算出処理において算出したトルクの指標値が小さいほど、前記第2回転変動量を小さな値に補正する請求項5に記載の内燃機関の失火判定装置。
  8. 前記失火判定処理は、前記判定気筒が前記フューエルカット気筒となった場合、失火の判定を実行しない請求項1~7のいずれか1項に記載の内燃機関の失火判定装置。
JP2020160653A 2020-09-25 2020-09-25 内燃機関の失火判定装置 Active JP7314895B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2020160653A JP7314895B2 (ja) 2020-09-25 2020-09-25 内燃機関の失火判定装置
EP21192069.9A EP3974800A1 (en) 2020-09-25 2021-08-19 Misfire determination apparatus and method for internal combustion engine
US17/475,292 US11598258B2 (en) 2020-09-25 2021-09-14 Misfire determination apparatus and method for internal combustion engine
CN202111091370.7A CN114251175B (zh) 2020-09-25 2021-09-17 内燃机的失火判定装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020160653A JP7314895B2 (ja) 2020-09-25 2020-09-25 内燃機関の失火判定装置

Publications (2)

Publication Number Publication Date
JP2022053819A JP2022053819A (ja) 2022-04-06
JP7314895B2 true JP7314895B2 (ja) 2023-07-26

Family

ID=77411593

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020160653A Active JP7314895B2 (ja) 2020-09-25 2020-09-25 内燃機関の失火判定装置

Country Status (4)

Country Link
US (1) US11598258B2 (ja)
EP (1) EP3974800A1 (ja)
JP (1) JP7314895B2 (ja)
CN (1) CN114251175B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7322852B2 (ja) * 2020-10-09 2023-08-08 トヨタ自動車株式会社 内燃機関の失火検出装置
JP7392672B2 (ja) * 2021-01-29 2023-12-06 トヨタ自動車株式会社 内燃機関の失火検出装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003113736A (ja) 2001-10-04 2003-04-18 Hitachi Ltd 失火検出装置
JP2009138663A (ja) 2007-12-07 2009-06-25 Denso Corp 内燃機関の失火検出装置
US20190234323A1 (en) 2018-01-29 2019-08-01 Ford Global Technologies, Llc System and method for diagnosing misfiring of a variable displacement engine

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2982381B2 (ja) * 1991-06-12 1999-11-22 株式会社デンソー 内燃機関用失火検出装置
JP2679468B2 (ja) 1991-07-04 1997-11-19 トヨタ自動車株式会社 内燃機関の失火検出装置
US5309756A (en) 1991-07-04 1994-05-10 Toyota Jidosha Kabushiki Kaisha Device for determining malfunction of an engine cylinder
DE19825990A1 (de) 1998-06-10 1999-12-16 Fev Motorentech Gmbh Verfahren zur Erkennung von Zündaussetzern an einer Kolbenbrennkraftmaschine mit elektromagnetisch betätigbaren Gaswechselventilen
JP4453654B2 (ja) * 2005-12-21 2010-04-21 トヨタ自動車株式会社 内燃機関の失火判定装置およびこれを搭載する車両並びに失火判定方法
JP2009293501A (ja) * 2008-06-05 2009-12-17 Hitachi Automotive Systems Ltd 多気筒内燃機関の失火検出装置
JP4577423B2 (ja) * 2008-07-15 2010-11-10 トヨタ自動車株式会社 内燃機関の失火判定装置
US9399963B2 (en) * 2013-03-15 2016-07-26 Tula Technology, Inc. Misfire detection system
US10088388B2 (en) * 2014-10-16 2018-10-02 Tula Technology, Inc. Engine error detection system
WO2016065047A1 (en) * 2014-10-23 2016-04-28 Tula Technology, Inc. Induction diagonistics for skip fire engine
JP6603348B2 (ja) * 2018-03-23 2019-11-06 株式会社Subaru 失火判定装置
JP6593560B1 (ja) * 2019-02-15 2019-10-23 トヨタ自動車株式会社 内燃機関の失火検出装置、内燃機関の失火検出システム、データ解析装置、および内燃機関の制御装置
JP6708292B1 (ja) * 2019-08-30 2020-06-10 トヨタ自動車株式会社 内燃機関の状態判定装置、内燃機関の状態判定システム、データ解析装置、および内燃機関の制御装置
JP7318621B2 (ja) * 2020-09-29 2023-08-01 トヨタ自動車株式会社 内燃機関の失火検出装置
JP7276295B2 (ja) * 2020-09-29 2023-05-18 トヨタ自動車株式会社 内燃機関の失火検出装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003113736A (ja) 2001-10-04 2003-04-18 Hitachi Ltd 失火検出装置
JP2009138663A (ja) 2007-12-07 2009-06-25 Denso Corp 内燃機関の失火検出装置
US20190234323A1 (en) 2018-01-29 2019-08-01 Ford Global Technologies, Llc System and method for diagnosing misfiring of a variable displacement engine

Also Published As

Publication number Publication date
US20220099528A1 (en) 2022-03-31
US11598258B2 (en) 2023-03-07
JP2022053819A (ja) 2022-04-06
EP3974800A1 (en) 2022-03-30
CN114251175A (zh) 2022-03-29
CN114251175B (zh) 2023-07-07

Similar Documents

Publication Publication Date Title
JP7314895B2 (ja) 内燃機関の失火判定装置
JP7318621B2 (ja) 内燃機関の失火検出装置
JP5263327B2 (ja) 多気筒内燃機関の気筒間空燃比ばらつき異常検出装置
JP7322852B2 (ja) 内燃機関の失火検出装置
JP7354984B2 (ja) 内燃機関の判定装置
US20220099041A1 (en) Misfire detection device and method for internal combustion engine
US11359556B2 (en) Device and method for detecting misfire in internal combustion engine
JP2019100296A (ja) 内燃機関の制御装置
US11454182B2 (en) Controller and control method for internal combustion engine
US11536628B2 (en) Misfire detecting device and method for internal combustion engine
US11448153B2 (en) Misfire detection device for internal combustion engine, misfire detection method for internal combustion engine, and memory medium
US11480125B2 (en) Misfire detection device for internal combustion engine
JP7392672B2 (ja) 内燃機関の失火検出装置
US20220195953A1 (en) Controller and control method for multi-cylinder internal combustion engine
JP2023046837A (ja) 内燃機関の制御装置
JP2023139771A (ja) 内燃機関の制御装置
JP2013221483A (ja) 内燃機関の制御装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210827

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230515

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230626

R151 Written notification of patent or utility model registration

Ref document number: 7314895

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151