IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ トヨタ自動車株式会社の特許一覧

<>
  • 特許-内燃機関の失火検出装置 図1
  • 特許-内燃機関の失火検出装置 図2
  • 特許-内燃機関の失火検出装置 図3
  • 特許-内燃機関の失火検出装置 図4
  • 特許-内燃機関の失火検出装置 図5
  • 特許-内燃機関の失火検出装置 図6
  • 特許-内燃機関の失火検出装置 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-28
(45)【発行日】2023-12-06
(54)【発明の名称】内燃機関の失火検出装置
(51)【国際特許分類】
   F02D 45/00 20060101AFI20231129BHJP
   F02D 41/22 20060101ALI20231129BHJP
【FI】
F02D45/00 368Z
F02D45/00 362
F02D41/22
【請求項の数】 3
(21)【出願番号】P 2021012556
(22)【出願日】2021-01-29
(65)【公開番号】P2022116409
(43)【公開日】2022-08-10
【審査請求日】2023-02-23
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】杉本 仁己
【審査官】北村 亮
(56)【参考文献】
【文献】特開2018-76818(JP,A)
【文献】特開平9-112334(JP,A)
【文献】特開平4-365958(JP,A)
【文献】特開2009-293501(JP,A)
【文献】特開平5-60004(JP,A)
【文献】特開2006-266253(JP,A)
【文献】特開2009-138663(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
F02D 45/00
F02D 41/22
(57)【特許請求の範囲】
【請求項1】
複数の気筒を有した内燃機関に適用され、
前記複数の気筒のうちの一部の気筒における混合気の燃焼制御を停止させる停止処理と、
クランク信号に基づき、クランク軸の回転変動量を算出する変動量算出処理と、
失火の有無の判定対象に関する前記回転変動量の大きさに基づき失火の有無を判定する判定処理と、を実行し、
前記回転変動量は、瞬時速度変数の変化量であり、
前記瞬時速度変数は、所定角度だけ前記クランク軸が回転する際の速度を示す変数であり、
前記変動量算出処理は、前記回転変動量として、第1回転変動量および第2回転変動量を算出する処理を含み、
前記第1回転変動量および前記第2回転変動量は、それぞれ、第1瞬時速度変数の変化量、および第2瞬時速度変数の変化量であり、
前記第1瞬時速度変数は、前記所定角度を、第1角度とするものであり、
前記第2瞬時速度変数は、前記所定角度を、前記第1角度よりも大きい第2角度とするものであり、
前記判定処理は、
参照用の前記回転変動量に対する前記判定対象の前記回転変動量の相対的な大きさに基づき失火の有無を判定する第1判定処理と、
前記停止処理の実行中に前記参照用の回転変動量が前記一部の気筒の前記回転変動量に該当する場合、前記参照用の前記回転変動量との相対的な大きさによることなく前記判定対象の前記回転変動量の大きさに基づき前記失火の有無を判定する第2判定処理と、
を含み、
前記参照用の前記回転変動量と前記判定対象の前記回転変動量とは、予め定められた間隔だけ離間した前記回転変動量であり、
前記予め定められた間隔は、前記クランク軸の1回転の整数倍の角度間隔であり、
前記第1判定処理は、前記回転変動量として前記第1回転変動量を用いて前記失火の有無を判定する処理を含み、
前記第2判定処理は、前記回転変動量として前記第2回転変動量を用いて前記失火の有無を判定する処理である内燃機関の失火検出装置。
【請求項2】
前記第2角度は、圧縮上死点の出現間隔の大きさを有する角度である請求項1記載の内燃機関の失火検出装置。
【請求項3】
前記第1判定処理は、前記クランク軸の回転速度が高速判定値以下の場合、前記回転変動量として前記第1回転変動量を用いて前記失火の有無を判定し、前記クランク軸の回転速度が前記高速判定値を上回る場合、前記回転変動量として前記第2回転変動量を用いて前記失火の有無を判定する処理であり、
前記第2判定処理は、前記クランク軸の回転速度が前記高速判定値以下の場合において、前記回転変動量として前記第2回転変動量を用いて前記失火の有無を判定する処理を含む請求項2記載の内燃機関の失火検出装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、内燃機関の失火検出装置に関する。
【背景技術】
【0002】
たとえば下記特許文献1には、回転変動量に基づき、失火の有無を判定する失火検出装置が記載されている。回転変動量は、圧縮上死点の出現間隔よりも短い角度間隔におけるクランク軸の速度である瞬時回転速度の変動量である。詳しくは、互いに360°CAだけ離間した回転変動量同士の差と閾値との差に基づき失火の有無を判定する。すなわち、閾値との大小比較の対象を、対象となる回転変動量自体とする代わりに、対象となる回転変動量を360°CA前の回転変動量で減算した値とする。これは、クランク角センサの製造ばらつき等の影響を抑制するためである(段落「0003」)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2009-138663号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
発明者は、内燃機関の軸トルクがゼロではないときにおいて、後処理装置の再生処理を実行することを検討した。詳しくは、再生処理として、一部の気筒のみ燃焼制御を停止し、残りの気筒の空燃比を理論空燃比よりもリッチとして、排気中に未燃燃料および酸素を供給することを検討した。ただし、その場合、360°CA前の回転変動量が上記一部の気筒に対応する瞬時回転速度に基づき算出される場合には、失火の誤判定に繋がる。
【課題を解決するための手段】
【0005】
以下、上記課題を解決するための手段およびその作用効果について記載する。
1.複複数の気筒を有した内燃機関に適用され、前記複数の気筒のうちの一部の気筒における混合気の燃焼制御を停止させる停止処理と、クランク信号に基づき、クランク軸の回転変動量を算出する変動量算出処理と、失火の有無の判定対象に関する前記回転変動量の大きさに基づき失火の有無を判定する判定処理と、を実行し、前記回転変動量は、瞬時速度変数の変化量であり、前記瞬時速度変数は、所定角度だけ前記クランク軸が回転する際の速度を示す変数であり、前記変動量算出処理は、前記回転変動量として、第1回転変動量および第2回転変動量を算出する処理を含み、前記第1回転変動量および前記第2回転変動量は、それぞれ、第1瞬時速度変数の変化量、および第2瞬時速度変数の変化量であり、前記第1瞬時速度変数は、前記所定角度を、第1角度とするものであり、前記第2瞬時速度変数は、前記所定角度を、前記第1角度よりも大きい第2角度とするものであり、前記判定処理は、参照用の前記回転変動量に対する前記判定対象の前記回転変動量の相対的な大きさに基づき失火の有無を判定する第1判定処理と、前記停止処理の実行中に前記参照用の回転変動量が前記一部の気筒の前記回転変動量に該当する場合、前記参照用の前記回転変動量との相対的な大きさによることなく前記判定対象の前記回転変動量の大きさに基づき前記失火の有無を判定する第2判定処理と、を含み、前記参照用の前記回転変動量と前記判定対象の前記回転変動量とは、予め定められた間隔だけ離間した前記回転変動量であり、前記予め定められた間隔は、前記クランク軸の1回転の整数倍の角度間隔であり、前記第1判定処理は、前記回転変動量として前記第1回転変動量を用いて前記失火の有無を判定する処理を含み、前記第2判定処理は、前記回転変動量として前記第2回転変動量を用いて前記失火の有無を判定する処理である内燃機関の失火検出装置である。
【0006】
上記第1判定処理は、判定対象の回転変動量の大きさと判定値との大小を直接比較する代わりに、参照用の回転変動量との相対的な大小を比較する。ここで参照用の回転変動量と対象気筒の回転変動量とは、クランク軸の1回転の整数倍だけ離間した量である。そのため、それら一対の回転変動量の算出に用いられたクランクロータの被検出部は同じものとなることから、それら一対の回転変動量のそれぞれに対する公差の影響は同等である。したがって、判定対象の回転変動量と参照用の回転変動量との相対的な大きさは、公差の影響が十分に抑制された量となる。したがって、第1判定処理によれば、公差の影響を抑制しつつ失火の有無を判定できる。
【0007】
ただし、上記停止処理を実行する場合、燃焼制御の停止対象となっている気筒の回転変動量は、失火時の回転変動量相当となる。そのため、燃焼制御の停止対象となっている気筒の回転変動量を参照用の回転変動量とする場合には、上記相対的な大きさによって失火の有無を精度良く判定することが困難である。
【0008】
そこで上記構成では、参照用の回転変動量が燃焼制御の停止対象となっている気筒の回転変動量に該当する場合、第2判定処理によって、相対的な大きさによることなく、判定対象の回転変動量の大きさに基づき失火の有無を判定する。しかも、その際、第2判定処理の入力を第2回転変動量とする。ここで、第2回転変動量は、第2瞬時速度変数の変化量であり、第2瞬時速度変数は、第1瞬時速度変数と比較して所定角度が大きい。ところで、クランクロータの任意の一対の被検出部間の間隔の誤差は、互いに隣接する一対の被検出部間の間隔の誤差程度である。したがって、公差によって第2瞬時速度変数に生じる誤差は、公差によって第1瞬時速度変数に生じる誤差よりも小さい。そのため、判定対象の回転変動量に公差が及ぼす影響を抑制できる。
【0009】
以上より、上記構成によれば、停止処理を実行する場合であっても、失火の有無を高精度に算出できる。
2.前記第2角度は、圧縮上死点の出現間隔の大きさを有する角度である上記1記載の内燃機関の失火検出装置である。
【0010】
判定対象の気筒で失火が生じる場合、クランク軸の回転速度が圧縮上死点間の出現間隔の期間にわたって低下を続ける傾向がある。そのため、圧縮上死点の出現間隔以下となる条件で瞬時速度変数を定める所定角度を大きくするほど、回転変動量の絶対値が大きくなりやすい。したがって、上記構成では、第2角度を圧縮上死点の出現間隔の大きさとすることにより、第2角度間隔をより小さくする場合と比較して、失火の判定対象の気筒において失火が生じる場合の回転変動量の大きさを大きくすることができる。
【0011】
3.前記第1判定処理は、前記クランク軸の回転速度が高速判定値以下の場合、前記回転変動量として前記第1回転変動量を用いて前記失火の有無を判定し、前記クランク軸の回転速度が前記高速判定値を上回る場合、前記回転変動量として前記第2回転変動量を用いて前記失火の有無を判定する処理であり、前記第2判定処理は、前記クランク軸の回転速度が前記高速判定値以下の場合において、前記回転変動量として前記第2回転変動量を用いて前記失火の有無を判定する処理を含む上記2記載の内燃機関の失火検出装置である。
【0012】
停止処理を実行しておらず且つ失火が生じていない場合、圧縮上死点間の出現間隔を周期とするクランク軸のトルク変動が生じる。このトルク変動に起因した回転変動は、回転速度が低い場合には、高い場合と比較して、大きくなる。そのため、回転速度が低い場合には高い場合と比較して、圧縮上死点の出現間隔内の一対の瞬時速度変数によって回転変動量を定める場合、回転変動量の絶対値が大きい値となる。そして、失火が生じた場合と生じていない場合との回転変動量の相違も大きくなる。したがって、失火の有無の判定をするうえでS/N比を高めることができる。
【0013】
これに対し、所定角度を圧縮上死点の出現間隔とする場合、失火が生じていないときの回転変動量はゼロ程度となる。そのため、失火が生じた場合と生じていない場合との回転変動量の相違も、上記の場合と比較して小さくなる。したがって、クランク軸の回転速度が低い場合には、圧縮上死点の出現間隔内の一対の瞬時速度変数によって回転変動量を定めることが失火の有無を判定するうえでS/N比を高くできる。
【0014】
一方、回転速度が高い場合には、低い場合と比較して、圧縮上死点の出現間隔内の一対の瞬時速度変数によって定量化された回転変動量の大きさが小さくなり、S/N比が低下する。一方、判定対象の気筒で失火が生じる場合、クランク軸の回転速度が圧縮上死点間の出現間隔の期間にわたって低下を続ける傾向がある。そのため、第2角度を極力大きくした方が、失火が生じた場合と生じていない場合との回転変動量の相違を大きくするうえで有利である。
【0015】
そこで上記構成では、回転速度が高い場合と、第2判定処理と、に限って、第2回転変動量を用いる。
【図面の簡単な説明】
【0016】
図1】一実施形態にかかる車両の駆動系および制御装置の構成を示す図。
図2】同実施形態にかかるGPF再生処理の手順を示す流れ図。
図3】同実施形態にかかる回転変動量の算出に関する処理の手順を示す流れ図。
図4】同実施形態にかかる連続気筒失火の判定に関する処理の手順を示す流れ図。
図5】同実施形態にかかるクランクロータの公差を示す図。
図6】同実施形態にかかるクランクロータの公差を示す図。
図7】(a)および(b)は、同実施形態にかかるクランク軸の回転挙動を例示するタイムチャート。
【発明を実施するための形態】
【0017】
以下、一実施形態について図面を参照しつつ説明する。
図1に示すように、内燃機関10は、4つの気筒#1~#4を備える。内燃機関10においては、気筒#1、気筒#3、気筒#4、気筒#2の順に圧縮上死点が出現する。内燃機関10の吸気通路12には、スロットルバルブ14が設けられている。吸気通路12の下流部分である吸気ポート12aには、吸気ポート12aに燃料を噴射するポート噴射弁16が設けられている。吸気通路12に吸入された空気やポート噴射弁16から噴射された燃料は、吸気バルブ18の開弁に伴って、燃焼室20に流入する。燃焼室20には、筒内噴射弁22から燃料が噴射される。また、燃焼室20内の空気と燃料との混合気は、点火プラグ24の火花放電に伴って燃焼に供される。そのときに生成される燃焼エネルギは、クランク軸26の回転エネルギに変換される。
【0018】
燃焼室20において燃焼に供された混合気は、排気バルブ28の開弁に伴って、排気として排気通路30に排出される。排気通路30には、酸素吸蔵能力を有した三元触媒32と、ガソリンパティキュレートフィルタ(GPF34)とが設けられている。なお、本実施形態では、GPF34として、粒子状物質(PM)を捕集するフィルタに三元触媒が担持されたものを想定している。
【0019】
クランク軸26には、歯部42が設けられたクランクロータ40が結合されている。歯部42は、クランク軸26の複数の回転角度のそれぞれを示す。クランクロータ40には、基本的には、10°CA間隔で歯部42が設けられているものの、隣接する歯部42間の間隔が30°CAとなる箇所である欠け歯部44が1箇所設けられている。これは、クランク軸26の基準となる回転角度を示すためのものである。
【0020】
クランク軸26は、動力分割装置を構成する遊星歯車機構50のキャリアCに機械的に連結されている。遊星歯車機構50のサンギアSには、第1モータジェネレータ52の回転軸52aが機械的に連結されている。また、遊星歯車機構50のリングギアRには、第2モータジェネレータ54の回転軸54aと駆動輪60とが機械的に連結されている。第1モータジェネレータ52の端子には、インバータ56によって交流電圧が印加される。また、第2モータジェネレータ54の端子には、インバータ58によって交流電圧が印加される。
【0021】
制御装置70は、内燃機関10を制御対象とし、その制御量としてのトルクや排気成分比率等を制御するために、スロットルバルブ14、ポート噴射弁16、筒内噴射弁22、および点火プラグ24等の内燃機関10の操作部を操作する。また、制御装置70は、第1モータジェネレータ52を制御対象とし、その制御量である回転速度を制御すべく、インバータ56を操作する。また、制御装置70は、第2モータジェネレータ54を制御対象とし、その制御量であるトルクを制御すべくインバータ58を操作する。図1には、スロットルバルブ14、ポート噴射弁16、筒内噴射弁22、点火プラグ24、およびインバータ56,58のそれぞれの操作信号MS1~MS6を記載している。制御装置70は、内燃機関10の制御量を制御するために、エアフローメータ80によって検出される吸入空気量Ga、およびクランク角センサ82の出力信号Scrを参照する。ここで、出力信号Scrは、クランク角センサ82が被検出部としての歯部42と対向する周期を有する周期信号である。また制御装置70は、水温センサ86によって検出される水温THW、および排気圧センサ88によって検出されるGPF34に流入する排気の圧力Pexを参照する。また、制御装置70は、第1モータジェネレータ52の制御量を制御するために、第1モータジェネレータ52の回転角を検知する第1回転角センサ90の出力信号Sm1を参照する。また制御装置70は、第2モータジェネレータ54の制御量を制御するために、第2モータジェネレータ54の回転角を検知する第2回転角センサ92の出力信号Sm2を参照する。
【0022】
制御装置70は、CPU72、ROM74、記憶装置75、および周辺回路76を備えており、それらが通信線78によって通信可能とされている。ここで、周辺回路76は、内部の動作を規定するクロック信号を生成する回路や、電源回路、リセット回路等を含む。制御装置70は、ROM74に記憶されたプログラムをCPU72が実行することにより制御量を制御する。特に、制御装置70は、GPF34の再生処理と、失火の判定処理と、を実行する。以下では、GPF34の再生に関する処理、失火の判定のための回転変動量の算出に関する処理、および失火の判定に関する処理の順に説明する。
【0023】
「GPF34の再生に関する処理」
図2に、本実施形態にかかる制御装置70が実行する処理の手順を示す。図2に示す処理は、ROM74に記憶されたプログラムをCPU72がたとえば所定周期で繰り返し実行することにより実現される。なお、以下では、先頭に「S」が付与された数字によって、各処理のステップ番号を表現する。
【0024】
図2に示す一連の処理において、CPU72は、まず、回転速度NE、充填効率ηおよび水温THWを取得する(S10)。回転速度NEは、CPU72により、出力信号Scrに基づき算出される。また、充填効率ηは、CPU72により、吸入空気量Gaおよび回転速度NEに基づき算出される。次にCPU72は、回転速度NE、充填効率ηおよび水温THWに基づき、堆積量DPMの更新量ΔDPMを算出する(S12)。ここで、堆積量DPMは、GPF34に捕集されているPMの量である。詳しくは、CPU72は、回転速度NE、充填効率ηおよび水温THWに基づき排気通路30に排出される排気中のPMの量を算出する。また、CPU72は、回転速度NEおよび充填効率ηに基づきGPF34の温度を算出する。そしてCPU72は、排気中のPMの量とGPF34の温度とに基づき更新量ΔDPMを算出する。なお、CPU72は、後述のS22の処理を実行する場合には、更新量ΔDPMを減少補正すればよい。
【0025】
次にCPU72は、堆積量DPMを、更新量ΔDPMに応じて更新する(S14)。次に、CPU72は、フラグFが「1」であるか否かを判定する(S16)。フラグFは、「1」である場合に、GPF34のPMを燃焼除去するための再生処理を実行していることを示し、「0」である場合にそうではないことを示す。CPU72は、「0」であると判定する場合(S16:NO)、堆積量DPMが再生実行値DPMH以上であることと、後述のS22の処理を中断しているときであることとの論理和が真であるか否かを判定する(S18)。再生実行値DPMHは、GPF34が捕集したPM量が多くなっており、PMを除去することが望まれる値に設定されている。CPU72は、論理和が真であると判定する場合(S18:YES)、以下の条件(a)および条件(b)の論理積が真であるか否かを判定する(S20)。この処理は、再生処理の実行が許可されるか否かを判定する処理である。
【0026】
条件(a):内燃機関10に対する要求トルクである機関要求トルクTe*が規定値Teth以上である旨の条件である。
条件(b):回転速度NEが、再生下限値NEthL以上であって且つ再生上限値NEthH以下である旨の条件である。
【0027】
CPU72は、論理積が真であると判定する場合(S20:YES)、再生処理を実行し、フラグFに「1」を代入する(S22)。すなわち、CPU72は、気筒#1のポート噴射弁16および筒内噴射弁22からの燃料の噴射を停止する。また、CPU72は、気筒#2~#4の燃焼室20内の混合気の空燃比を理論空燃比よりもリッチとすべくポート噴射弁16および筒内噴射弁22を操作する。この処理は、排気通路30に酸素と未燃燃料とを排出し、GPF34の温度を上昇させてGPF34が捕集したPMを燃焼除去するための処理である。すなわち、排気通路30に酸素と未燃燃料を排出することにより、三元触媒32等において未燃燃料を燃焼させ排気の温度を上昇させ、ひいてはGPF34の温度を上昇させることができる。また、GPF34に酸素を供給することによって、GPF34が捕集したPMを燃焼除去することができる。
【0028】
一方、CPU72は、フラグFが「1」であると判定する場合(S16:YES)、堆積量DPMが停止用閾値DPML以下であるか否かを判定する(S24)。停止用閾値DPMLは、GPF34に捕集されているPMの量が十分に小さくなり、再生処理を停止させてもよい値に設定されている。CPU72は、停止用閾値DPMLを上回ると判定する場合(S24:NO)、S20の処理に移行する。一方、CPU72は、停止用閾値DPML以下と判定する場合(S24:YES)と、S20の処理において否定判定される場合とには、再生処理を停止し、フラグFに「0」を代入する(S26)。
【0029】
なお、CPU72は、S22,S26の処理を完了する場合や、S18の処理において否定判定する場合には、図2に示す一連の処理を一旦終了する。
「失火の判定のための回転変動量の算出に関する処理」
図3に、回転変動量の算出に関する処理の手順を示す。図3に示す処理は、ROM74に記憶されたプログラムをCPU72がたとえば所定周期で繰り返し実行することにより実現される。
【0030】
図3に示す一連の処理において、CPU72は、まず、クランク軸26が30°CA回転するのに要する時間である第1時間T30を取得する(S30)。第1時間T30は、出力信号Scrに基づき、クランク角センサ82に対向する歯部42が30°CA離間した歯部42に切り替わるまでの時間の計時処理によって算出される。次にCPU72は、「m=0,1,2,3,…」として、第1時間T30[m+1]に第1時間T30[m]を代入し、第1時間T30[0]にS30の処理で新たに取得した第1時間T30を代入する(S32)。この処理は、第1時間T30の後のカッコ内の変数を、過去のものほど数字が大きくなるようにするための処理である。この処理によって、カッコ内の変数の値が1つ大きい場合、30°CAだけ前の第1時間T30となる。
【0031】
次にCPU72は、現在のクランク軸26の回転角度が、気筒#1~#4のいずれかの圧縮上死点を基準としてATDC120°CAであるか否かを判定する(S34)。CPU72は、ATDC120°CAであると判定する場合(S34:YES)、第1回転変動量ΔT30[m+1]に第1回転変動量ΔT30[m]を代入し、第1時間T30[0]から第1時間T30[3]を減算した値を、第1回転変動量ΔT30[0]に代入する(S36)。第1回転変動量ΔT30は、失火の有無の判定対象となる気筒において失火が生じていない場合に負の値となり、失火が生じている場合に正の値となる変数である。ここで、失火の有無の対象となる気筒とは、S34の処理によって、圧縮上死点を120°過ぎたと判定された気筒である。
【0032】
一方、CPU72は、ATDC120°CAではないと判定する場合(S34:NO)、ATDC210°CAであるか否かを判定する(S38)。CPU72は、ATDC210°CAであると判定する場合(S38:YES)、第2時間T180[m+1]に第2時間T180[m]を代入し、第2時間T180[0]を算出する(S40)。第2時間T180は、ATDC30°CA~ATDC210°CAまでの180°CAだけクランク軸26が回転するのに要した時間である。CPU72は、直近の6個の第1時間T30「0」~第1時間T30[5]の和を第2時間T180[0]に代入する。そして、CPU72は、第2回転変動量ΔT180[m+1]に第2回転変動量ΔT180[m]を代入し、第2時間T180[0]から第2時間T180[1]を減算した値を、第2回転変動量ΔT180[0]に代入する(S42)。第2回転変動量ΔT180は、失火の有無の判定対象となる気筒において失火が生じていない場合にゼロ程度の値となり、失火が生じている場合に正の値となる変数である。ここで、失火の有無の対象となる気筒とは、S38の処理によって、圧縮上死点を210°過ぎたと判定された気筒である。
【0033】
なお、CPU72は、S36,S42の処理が完了する場合や、S38の処理において否定判定する場合には、図3に示す一連の処理を一旦終了する。
「失火の判定に関する処理」
図4に、失火の判定に関する処理の手順を示す。図4に示す処理は、ROM74に記憶されたプログラムをCPU72がたとえば所定周期で繰り返し実行することにより実現される。
【0034】
図4に示す一連の処理において、CPU72は、まずフラグFが「0」であるか否かを判定する(S50)。CPU72は、「0」であると判定する場合(S50:YES)、回転速度NEが高速判定値NEHH以上であるか否かを判定する(S52)。高速判定値NEHHは、再生上限値NEthHよりも大きい値とされている。CPU72は、高速判定値NEHH未満であると判定する場合(S52:NO)、気筒#1~#4のいずれかのATDC120°CAであるか否かを判定する(S54)。
【0035】
CPU72は、ATDC120°CAであると判定する場合(S54:YES)、第1回転変動量ΔT30[0]から第1回転変動量ΔT30[2]を減算した値が第1判定値ΔTth1以上であるか否かを判定する(S56)。この処理は、判定対象の気筒において失火が生じたか否かを判定する処理である。ここで判定対象の気筒とは、S54の処理において圧縮上死点を120°過ぎたと判定された気筒である。詳しくは、CPU72は、回転速度NEが低い場合に高い場合よりも第1判定値ΔTth1を大きい値に設定する。この処理は、回転速度NEが低いほどクランク軸26の回転変動が大きくなることに鑑みた処理である。また、CPU72は、充填効率ηが大きい場合に小さい場合よりも第1判定値ΔTth1を大きい値に設定する。この処理は、充填効率ηが大きいほどクランク軸26の回転変動が大きくなることに鑑みた処理である。
【0036】
CPU72は、第1判定値ΔTth1以上であると判定する場合(S56:YES)、失火の判定対象とされた気筒#iにおいて、失火が生じた旨の仮判定をする(S58)。そして、CPU72は、失火の判定対象とされた気筒#iの仮判定の回数をカウントするカウンタC[i]をインクリメントする(S60)。次にCPU72は、後述のS68の処理が実行された最後のタイミングから所定期間が経過したか否かを判定する(S62)。
【0037】
CPU72は、所定期間が経過したと判定する場合(S62:YES)、カウンタC[1]~C[4]に、閾値Cth以上となるものがあるか否かを判定する(S64)。そしてCPU72は、閾値Cth以上となるものがあると判定する場合(S64:YES)、図1に示す警告灯100を操作することによって、失火が生じた旨の本判定がなされた旨を報知する(S66)。ここで、本判定は、特定の気筒における失火率が許容範囲を超える旨の判定である。これに対し、CPU72は、閾値Cth未満であると判定する場合(S64:NO)、カウンタC[1]~C[4]を初期化する(S68)。
【0038】
一方、CPU72は、高速判定値NEHH以上であると判定する場合(S52:YES)、ATDC210°CAであるか否かを判定する(S70)。CPU72は、ATDC210°CAであると判定する場合(S70:YES)、第2回転変動量ΔT180[0]から第2回転変動量ΔT180[2]を減算した値が第2判定値ΔTth2以上であるか否かを判定する(S72)。この処理は、判定対象の気筒において失火が生じたか否かを判定する処理である。ここで判定対象の気筒とは、S70の処理において圧縮上死点を210°過ぎたと判定された気筒である。詳しくは、CPU72は、回転速度NEが低い場合に高い場合よりも第2判定値ΔTth2を大きい値に設定する。また、CPU72は、充填効率ηが大きい場合に小さい場合よりも第2判定値ΔTth2を大きい値に設定する。ここで、第2判定値ΔTth2を可変設定する狙いは、第1判定値ΔTth1を可変設定する狙いと同じである。
【0039】
CPU72は、第2判定値ΔTth2以上と判定する場合(S72:YES)、S58の処理に移行する一方、第2判定値ΔTth2未満と判定する場合(S72:NO)、S62の処理に移行する。
【0040】
一方、CPU72は、フラグFが「1」であると判定する場合(S50:NO)、気筒#1のATDC120~210°CAであるか否かを判定する(S74)。CPU72は、気筒#1のATDC120~210°CAではないと判定する場合(S74:NO)、気筒#4のATDC120~210°CAであるか否かを判定する(S76)。CPU72は、気筒#4のATDC120~210°CAではないと判定する場合(S76:NO)、S54の処理に移行する。一方、CPU72は、気筒#4のATDC120~210°CAであると判定する場合(S76:YES)、ATDC210°CAであるか否かを判定する(S78)。CPU72は、ATDC210°CAであると判定する場合(S78:YES)、第2回転変動量ΔT180[0]が第3判定値ΔTth3以上であるか否かを判定する(S80)。この処理は、判定対象である気筒#4において失火が生じたか否かを判定する処理である。詳しくは、CPU72は、回転速度NEが低い場合に高い場合よりも第3判定値ΔTth3を大きい値に設定する。また、CPU72は、充填効率ηが大きい場合に小さい場合よりも第3判定値ΔTth3を大きい値に設定する。ここで、第3判定値ΔTth3を可変設定する狙いは、第1判定値ΔTth1を可変設定する狙いと同じである。
【0041】
CPU72は、第3判定値ΔTth3以上であると判定する場合(S80:YES)、S58の処理に移行する一方、第3判定値ΔTth3未満であると判定する場合(S80:NO)、S62の処理に移行する。
【0042】
なお、CPU72は、S66,S68の処理が完了する場合と、S54,S62,S70,S78の処理において否定判定する場合と、S74の処理において肯定判定する場合と、には、図4に示す一連の処理を一旦終了する。
【0043】
ここで、本実施形態の作用および効果について説明する。
CPU72は、失火の判定対象となる気筒の第1回転変動量ΔT30[0]から参照用の第1回転変動量ΔT30[2]を減算した値が第1判定値ΔTth1以上である場合に、失火が生じた旨の仮判定をする。ここで、参照用の第1回転変動量ΔT30[2]は、判定対象の第1回転変動量ΔT30[0]とは360°CAだけ離間した第1回転変動量ΔT30である。そのため、第1回転変動量ΔT30[0],ΔT30[2]は、同一の歯部42の検出に基づき算出されたものである。そのため、第1回転変動量ΔT30[0]に対する歯部42の公差に起因した誤差の影響と第1回転変動量ΔT30[2]に対する歯部42の公差に起因した誤差の影響とは同等となる。したがって、第1回転変動量ΔT30[0]から第1回転変動量ΔT30[2]を減算した量は、歯部42の公差に起因した誤差の影響が好適に抑制された量となっている。そのため、失火の判定精度を高めることができる。
【0044】
ただし、判定対象となる気筒に関し、公差の影響を抑制して失火の判定を行うことができるのは、参照用の第1回転変動量ΔT30が、正常に燃焼がなされた気筒の第1回転変動量ΔT30であることを前提としている。
【0045】
ところで、CPU72は、GPF34が捕集したPMの量が多くなると、再生処理を実行する。すなわち、CPU72は、気筒#1の燃焼制御を停止する停止処理と、気筒#2~#4の混合気の空燃比をリッチとするリッチ燃焼処理とを実行する。
【0046】
そして、CPU72は、再生処理の実行時、気筒#4が失火の判定対象となる場合、第2回転変動量ΔT180と第3判定値ΔTth3との大小比較に基づき、失火の有無を判定する。すなわち、気筒#4の圧縮上死点よりも360°CAだけ前に圧縮上死点が出現した気筒は、気筒#1である。再生処理時には、気筒#1に関する第1回転変動量ΔT30は、失火時の量相当となっている。そのため、気筒#4の失火の有無を判定する場合に、その第1回転変動量ΔT30[0]から360°CAだけ前の第1回転変動量ΔT30[2]を減算した値を用いると、失火の判定精度が低下する。
【0047】
特に、CPU72は、気筒#4の失火の有無の判定に用いる回転変動量を、第1回転変動量ΔT30に代えて、第2回転変動量ΔT180とする。これにより、以下に説明するように、公差の影響を抑制できる。
【0048】
図5に示すように、歯部42は、その両端部の位置が公差の影響により最大で誤差δだけずれうる。換言すれば、歯部42の幅は、中央特性品に対して、「2・δ」だけ大きいものが最大の幅を有し「2・δ」だけ小さいものが最小の幅を有する。すなわち、歯部42の幅の最大値と最小値との差は、「4・δ」である。
【0049】
図6に、公差を有したクランクロータ40の一部を例示する。図6に示すように、10°CA毎に設けられる歯部42の公差に起因して、3個の歯部42の両脇の一対の歯部42のうちの一方の端部から他方の端部までの角度は、「30-2・δ°CA」以上「30+2・δ°CA」以下となる。一方、18個の歯部42の両脇の一対の歯部42のうちの一方の端部から他方の端部までの角度は、「180-2・δ°CA」以上「180+2・δ」以下となる。すなわち、いずれの場合であっても誤差の大きさは、「2・δ」以下である。
【0050】
したがって、第1時間T30と第2時間T180とでは、第2時間T180の方が、クランク軸26の回転速度をより高精度に表現できる。換言すれば、第1時間T30と第2時間T180とでは、第2時間T180の方が、歯部42の公差に起因した誤差が小さくなる。そのため、気筒#4の失火の有無の判定に、第2回転変動量ΔT180を用いることにより、第1回転変動量ΔT30を用いる場合と比較して、公差の影響を抑制できる。
【0051】
以上説明した本実施形態によれば、さらに以下に記載する作用および効果が得られる。
(1)CPU72は、回転速度NEが高速判定値NEHH未満である場合、原則、第1回転変動量ΔT30を用いて失火の有無を判定する一方、高速判定値NEHH以上である場合、第2回転変動量ΔT180を用いて失火の有無を判定した。これにより、失火の有無の判定におけるS/N比を極力高めることができる。
【0052】
図7(a)に回転速度NEが高速判定値NEHH未満の場合の第1時間T30の推移を例示する。図7(a)に示すように、第1時間T30は、圧縮上死点の出現間隔の周期で大きく変動する。そのため、失火が生じてないときの第1回転変動量ΔT30の絶対値が大きい値となる。そのため、失火の判定対象に失火が生じる場合の、判定対象の第1回転変動量ΔT30[0]から参照用の第1回転変動量ΔT30[2]を減算した値も大きくなる。
【0053】
図7(b)は、回転速度NEが高速判定値NEHH以上の場合の第1時間T30の推移を例示する。なお、図7(b)に示す縦軸の長さL2は、図7(a)に示した縦軸の長さL1の数十分の1となっている。図示されるように、回転速度NEが高い場合、第1時間T30の変動が小さくなっている。そのため、失火の判定対象に失火が生じる場合の、判定対象の第1回転変動量ΔT30[0]から参照用の第1回転変動量ΔT30[2]を減算した値が、図7(a)と比較して小さくなる。
【0054】
このため、CPU72は、回転速度NEが高速判定値NEHH以上の場合には、第2回転変動量ΔT180を用いる。失火が生じると、180°CAの期間にわたってクランク軸26の回転速度が低下し続ける傾向がある。そのため、失火の有無による第2回転変動量ΔT180の相違は、第1回転変動量ΔT30と比較して顕著となる。そのため、第2回転変動量ΔT180を用いることにより、第1回転変動量ΔT30を用いる場合と比較して、失火の有無の判定精度を高めることができる。
【0055】
(2)CPU72は、再生処理時であっても、気筒#2,#3については、第1回転変動量ΔT30を用いて失火の有無を判定する。回転速度NEが高速判定値NEHHよりも低いときには、失火の有無による第1回転変動量ΔT30の相違が特に大きくなることから、第1回転変動量ΔT30を用いることにより、第2回転変動量ΔT180を用いる場合と比較してS/N比を高めることができる。
【0056】
<対応関係>
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。[1,2]停止処理は、S22の処理に対応する。判定処理は、S56,S72,S80の処理に対応する。第1瞬時速度変数は、第1時間T30に対応する。第2瞬時速度変数は、第2時間T180に対応する。第1回転変動量は、第1回転変動量ΔT30に対応する。第2回転変動量は、第2回転変動量ΔT180に対応する。第1判定処理は、S56,S72の処理に対応する。第2判定処理は、S80の処理に対応する。[3]高速判定値は、高速判定値NEHHに対応する。
【0057】
<その他の実施形態>
なお、本実施形態は、以下のように変更して実施することができる。本実施形態および以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【0058】
「瞬時速度変数について」
・上記実施形態では、第1瞬時速度変数を定義するクランク角度間隔である所定角度を30°CAとしたが、これに限らない。たとえば、10°CAであってもよい。
【0059】
・上記実施形態では、第2瞬時速度変数を定義するクランク角度間隔である所定角度を180°CAとしたが、これに限らない。たとえば圧縮上死点の出現間隔よりも小さくて且つ第1瞬時速度変数を定義する角度間隔よりも大きい角度間隔であってもよい。
【0060】
・高速判定値NEHH以上の場合と、第2判定処理用とで、瞬時速度変数を定義する所定角度が互いに異なってもよい。
・瞬時速度変数としては、時間の次元を有する量に限らず、たとえば速度の次元を有する量であってもよい。
【0061】
「回転変動量について」
・上記実施形態では、高速判定値NEHH未満のときに通常用いる回転変動量を、120°CA離間した瞬時速度変数同士の差としたが、これに限らない。たとえば、90°CA離間した瞬時速度変数同士の差としてもよい。
【0062】
・回転変動量としては、瞬時速度変数同士の差に限らず、瞬時速度変数同士の比であってもよい。
「本判定について」
・上記実施形態では、特定の気筒において連続的に失火が生じる等、特定の気筒の失火率が高くなる異常の有無を判定したが、これに限らない。たとえば、内燃機関が備える気筒のトータルの失火率が高くなる異常の有無を判定してもよい。
【0063】
「第1判定処理について」
・第1判定処理としては、互いに360°CAだけ離間した回転変動量同士の差を用いるものに限らない。たとえば、720°CAだけ離間した回転変動量同士の差を用いてもよい。要は、360°CAの整数倍だけ離間した回転変動量同士の差を用いることにより、仮判定の精度がクランクロータ40の歯部42の公差によって低下することを抑制できる。
【0064】
・第1判定値ΔTth1を、回転速度NEおよび充填効率ηに応じて可変設定することは必須ではない。たとえば、回転速度NEおよび充填効率ηの2つに関しては、それらのうちの1つのみに基づき可変設定してもよい。またたとえば、回転速度NEおよび充填効率ηのうちの少なくとも1つと、水温THWとに基づき可変設定してもよい。もっとも、第1判定値ΔTth1を可変設定すること自体必須ではない。
【0065】
・第2判定値ΔTth2を、回転速度NEおよび充填効率ηに応じて可変設定することは必須ではない。たとえば、回転速度NEおよび充填効率ηの2つに関しては、それらのうちの1つのみに基づき可変設定してもよい。またたとえば、回転速度NEおよび充填効率ηのうちの少なくとも1つと、水温THWとに基づき可変設定してもよい。もっとも、第2判定値ΔTth2を可変設定すること自体必須ではない。
【0066】
・高速判定値NEHH以上の場合に、判定のための入力を、第1回転変動量ΔT30から第2回転変動量ΔT180に切り替えること自体、必須ではない。
「第2判定処理について」
・第3判定値ΔTth3を、回転速度NEおよび充填効率ηに応じて可変設定することは必須ではない。たとえば、回転速度NEおよび充填効率ηの2つに関しては、それらのうちの1つのみに基づき可変設定してもよい。またたとえば、回転速度NEおよび充填効率ηのうちの少なくとも1つと、水温THWとに基づき可変設定してもよい。もっとも、第3判定値ΔTth3を可変設定すること自体必須ではない。
【0067】
「停止処理について」
・停止処理としては、再生処理に限らない。たとえば、内燃機関10の出力を調整するために一部の気筒における燃料の供給を停止する処理であってもよい。またたとえば、1部の気筒において異常が生じた場合に、その気筒における燃焼制御を停止する処理であってもよい。またたとえば、三元触媒32の酸素吸蔵量が規定値以下となる場合に、一部の気筒のみ燃焼制御を停止し、残りの気筒における混合気の空燃比を理論空燃比とする制御を実行する処理であってもよい。
【0068】
「クランクロータについて」
図1には、歯部42が10°CA間隔で形成されている例を示したが、これに限らず、圧縮上死点の出現間隔以下であればよい。
【0069】
・所定の角度間隔毎に設けられる被検出部としては、歯部42に限らない。たとえば、クランクロータ40の外周に歯部42を設けない代わりに、外周に沿って所定間隔毎に孔を空け、この孔を被検出部としてもよい。また、この孔に、その周囲と透磁率が異なる部材を埋め込んでもよい。
【0070】
「後処理装置について」
・後処理装置としては、三元触媒32の下流にGPF34を備えるものに限らず、たとえばGPF34の下流に三元触媒32を備えるものであってもよい。また、三元触媒32およびGPF34を備えるものに限らない。たとえば、GPF34のみを備えてもよい。また、たとえば後処理装置が三元触媒32のみからなる場合であっても、その再生処理時において後処理装置の昇温が必要となるなら、上記実施形態やそれらの変更例に例示した処理を実行することが有効である。なお、後処理装置が三元触媒32の下流にGPFを備える場合には、GPFとしては、三元触媒が担持されたフィルタに限らず、フィルタのみであってもよい。
【0071】
「制御装置について」
・制御装置としては、CPU72とROM74とを備えて、ソフトウェア処理を実行するものに限らない。たとえば、上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理するたとえばASIC等の専用のハードウェア回路を備えてもよい。すなわち、制御装置は、以下の(a)~(c)のいずれかの構成であればよい。(a)上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するROM等のプログラム格納装置とを備える。(b)上記処理の一部をプログラムに従って実行する処理装置およびプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。(c)上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置およびプログラム格納装置を備えたソフトウェア実行装置や、専用のハードウェア回路は複数であってもよい。
【0072】
「内燃機関について」
・内燃機関の気筒数は4つに限らず、たとえば、6個でもよく、またたとえば8個でもよい。
【0073】
・内燃機関がポート噴射弁16および筒内噴射弁22を備えることも必須ではない。
・内燃機関としては、ガソリン機関のような火花点火式内燃機関に限らず、たとえば燃料を軽油とする圧縮着火式内燃機関等であってもよい。
【0074】
「車両について」
・車両としては、シリーズ・パラレルハイブリッド車に限らず、たとえばパラレルハイブリッド車やシリーズハイブリッド車であってもよい。もっとも、ハイブリッド車に限らず、たとえば、車両の動力発生装置が内燃機関10のみの車両であってもよい。
【符号の説明】
【0075】
10…内燃機関
26…クランク軸
30…排気通路
32…三元触媒
34…GPF
40…クランクロータ
42…歯部
44…欠け歯部
50…遊星歯車機構
図1
図2
図3
図4
図5
図6
図7