(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-10
(45)【発行日】2023-10-18
(54)【発明の名称】内燃機関の失火検出装置
(51)【国際特許分類】
F02D 45/00 20060101AFI20231011BHJP
F02D 41/22 20060101ALI20231011BHJP
G01M 15/11 20060101ALI20231011BHJP
【FI】
F02D45/00 368Z
F02D45/00 362
F02D41/22
G01M15/11
(21)【出願番号】P 2020135300
(22)【出願日】2020-08-07
【審査請求日】2022-08-09
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】杉本 仁己
【審査官】西山 智宏
(56)【参考文献】
【文献】特開2009-162218(JP,A)
【文献】特表2000-513063(JP,A)
【文献】特開2008-111353(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
F02D 45/00
F02D 41/22
G01M 15/11
(57)【特許請求の範囲】
【請求項1】
ダンパを介して動力の伝達先にクランク軸が接続された多気筒の内燃機関に適用され、
前記クランク軸の微小回転角度領域における回転速度であるクランク側速度を取得するクランク側取得処理と、
前記ダンパのうちの前記クランク軸とは逆側における微小回転角度領域における回転速度である後段側速度を取得する後段側取得処理と、
前記クランク側速度および前記後段側速度の差を入力とし、物理モデルに基づき前記クランク側速度のうち前記ダンパのねじれに起因した成分であるねじれ速度成分を算出する算出処理と、
前記ねじれ速度成分が除去された前記クランク軸の回転速度を示す変数である判定用速度変数に基づき、前記内燃機関の失火の有無を判定する判定処理と、を実行し、
前記物理モデルは、前記差に応じた値を入力とする第1積分要素と、該第1積分要素の出力値に応じた値を入力とする第2積分要素とを含み、
前記算出処理は、
前記第2積分要素の出力値を、
前記第2積分要素の出力値の時系列データを有限応答型のローパスフィルタに入力した際の出力値だけ減少補正する補正処理を含む内燃機関の失火検出装置。
【請求項2】
ダンパを介して動力の伝達先にクランク軸が接続された多気筒の内燃機関に適用され、
前記クランク軸の微小回転角度領域における回転速度であるクランク側速度を取得するクランク側取得処理と、
前記ダンパのうちの前記クランク軸とは逆側における微小回転角度領域における回転速度である後段側速度を取得する後段側取得処理と、
前記クランク側速度および前記後段側速度の差を入力とし、物理モデルに基づき前記クランク側速度のうち前記ダンパのねじれに起因した成分であるねじれ速度成分を算出する算出処理と、
前記ねじれ速度成分が除去された前記クランク軸の回転速度を示す変数である判定用速度変数に基づき、前記内燃機関の失火の有無を判定する判定処理と、を実行し、
前記物理モデルは、前記差に応じた値を入力とする第1積分要素と、該第1積分要素の出力値に応じた値を入力とする第2積分要素とを含み、
前記算出処理は、
前記第1積分要素の出力値を、
前記第1積分要素の出力値の時系列データを有限応答型のローパスフィルタに入力した際の出力値だけ減少補正する補正処理を含む内燃機関の失火検出装置。
【請求項3】
ダンパを介して動力の伝達先にクランク軸が接続された多気筒の内燃機関に適用され、
前記クランク軸の微小回転角度領域における回転速度であるクランク側速度を取得するクランク側取得処理と、
前記ダンパのうちの前記クランク軸とは逆側における微小回転角度領域における回転速度である後段側速度を取得する後段側取得処理と、
前記クランク側速度および前記後段側速度の差を入力とし、物理モデルに基づき前記クランク側速度のうち前記ダンパのねじれに起因した成分であるねじれ速度成分を算出する算出処理と、
前記ねじれ速度成分が除去された前記クランク軸の回転速度を示す変数である判定用速度変数に基づき、前記内燃機関の失火の有無を判定する判定処理と、を実行し、
前記物理モデルは、前記差に応じた値を入力とする第1積分要素と、該第1積分要素の出力値に応じた値を入力とする第2積分要素とを含み、
前記算出処理は、
前記第2積分要素の入力となる前記第1積分要素の出力値に応じた値を、
前記第1積分要素の出力値に応じた値の時系列データを有限応答型のローパスフィルタに入力した際の出力値だけ減少補正する補正処理を含む内燃機関の失火検出装置。
【請求項4】
ダンパを介して動力の伝達先にクランク軸が接続された多気筒の内燃機関に適用され、
前記クランク軸の微小回転角度領域における回転速度であるクランク側速度を取得するクランク側取得処理と、
前記ダンパのうちの前記クランク軸とは逆側における微小回転角度領域における回転速度である後段側速度を取得する後段側取得処理と、
前記クランク側速度および前記後段側速度の差を入力とし、物理モデルに基づき前記クランク側速度のうち前記ダンパのねじれに起因した成分であるねじれ速度成分を算出する算出処理と、
前記ねじれ速度成分が除去された前記クランク軸の回転速度を示す変数である判定用速度変数に基づき、前記内燃機関の失火の有無を判定する判定処理と、を実行し、
前記物理モデルは、前記差に応じた値を入力とする第1積分要素と、該第1積分要素の出力値に応じた値を入力とする第2積分要素とを含み、
前記算出処理は、
前記第1積分要素の入力となる前記差に応じた値を、
前記差の時系列データを有限応答型のローパスフィルタに入力した際の出力値だけ減少補正する補正処理を含む内燃機関の失火検出装置。
【請求項5】
前記ローパスフィルタは、入力される前記変数の個数を、前記内燃機関の気筒数の倍数個とするフィルタを含む請求項1
~4のいずれか1項に記載の内燃機関の失火検出装置。
【請求項6】
前記ローパスフィルタは、1燃焼サイクルにおける前記変数の値の単純移動平均処理値を出力するフィルタを含む請求項1
~5のいずれか1項に記載の内燃機関の失火検出装置。
【請求項7】
前記算出処理は、前記第2積分要素の出力値に応じた値のうちの回転0.5次の倍数成分を抽出するコウムフィルタ処理を含む請求項
1~6のいずれか1項に記載の内燃機関の失火検出装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、内燃機関の失火検出装置に関する。
【背景技術】
【0002】
たとえば下記特許文献1にはクランク軸がダンパを介して駆動輪側に機械的に連結された内燃機関に適用される失火検出装置が記載されている。この装置は、クランク軸の回転速度と、ダンパのうちの駆動輪側の回転速度である後段側速度との差を入力とする物理モデルに基づき、クランク軸の回転速度のうちの共振によるねじれ速度成分を算出する。そしてこの装置では、クランク軸の回転速度からねじれ速度成分を除去した値に基づき、失火の有無を判定する。さらにこの装置では、ねじれ速度成分の算出処理に、ハイパスフィルタを用いることにより、共振周波数よりも低い周波数成分である低周波成分を除去している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記装置において、ハイパスフィルタを無限応答型のフィルタにて構成する場合、周波数帯に応じて位相特性が異なる。そのため、共振が生じる回転周波数が複数ある場合、ねじれ速度成分を算出する処理を、共振が生じる回転周波数帯毎に各別に設ける必要がある。
【課題を解決するための手段】
【0005】
以下、上記課題を解決するための手段およびその作用効果について記載する。
1.ダンパを介して動力の伝達先にクランク軸が接続された多気筒の内燃機関に適用され、前記クランク軸の微小回転角度領域における回転速度であるクランク側速度を取得するクランク側取得処理と、前記ダンパのうちの前記クランク軸とは逆側における微小回転角度領域における回転速度である後段側速度を取得する後段側取得処理と、前記クランク側速度および前記後段側速度の差を入力とし、物理モデルに基づき前記クランク側速度のうち前記ダンパのねじれに起因した成分であるねじれ速度成分を算出する算出処理と、前記ねじれ速度成分が除去された前記クランク軸の回転速度を示す変数である判定用速度変数に基づき、前記内燃機関の失火の有無を判定する判定処理と、を実行し、前記算出処理は、前記物理モデルが扱う変数の値を、該変数の時系列データを有限応答型のローパスフィルタに入力した際の出力値だけ減少補正する補正処理を含む内燃機関の失火検出装置である。
【0006】
上記構成では、ローパスフィルタを用いることにより、低周波成分を抽出できることから、補正処理によって、物理モデルで扱う変数の値に含まれる低周波成分を低減することができる。そして、ローパスフィルタを有限応答型のフィルタとすることにより、互いに異なる周波数帯における位相特性をそろえることが可能となり、ひいては、狙いとする複数の周波数帯におけるねじれ速度成分を同一の処理によって算出することができる。
【0007】
2.前記ローパスフィルタは、入力される前記変数の個数を、前記内燃機関の気筒数の倍数個とするフィルタを含む上記1記載の内燃機関の失火検出装置である。
上記構成では、圧縮上死点の出現周波数の整数分の1の倍数の周波数成分のゲインを「1」として且つ位相特性の相違を小さくすることが可能となり、ひいては、ねじれ速度成分を高精度に算出できる。
【0008】
3.前記ローパスフィルタは、1燃焼サイクルにおける前記変数の値の単純移動平均処理値を出力するフィルタを含む上記1または2記載の内燃機関の失火検出装置である。
上記構成では、回転0.5次の倍数の周波数成分のゲインを「1」として且つ位相特性の相違を小さくするうえで高い性能を発揮できる。
【0009】
4.前記物理モデルは、前記差に応じた値を入力とする第1積分要素と、該第1積分要素の出力値に応じた値を入力とする第2積分要素とを含み、前記ローパスフィルタは、前記第2積分要素の出力値の時系列データを入力とするフィルタである第2出力側フィルタを含み、前記補正処理は、前記第2積分要素の出力値を前記第2出力側フィルタの出力値によって減少補正する処理を含む上記1~3のいずれか1つに記載の内燃機関の失火検出装置である。
【0010】
低周波成分が生じる要因には、積分処理が含まれる。そこで上記構成では、第2積分要素の出力値を第2出力側フィルタの出力値によって減少補正することにより、第2積分要素の出力値の低周波成分を低減することができる。
【0011】
5.前記物理モデルは、前記差に応じた値を入力とする第1積分要素と、該第1積分要素の出力値に応じた値を入力とする第2積分要素とを含み、前記ローパスフィルタは、前記第1積分要素の出力値の時系列データを入力とするフィルタである第1出力側フィルタを含み、前記補正処理は、前記第1積分要素の出力値を前記第1出力側フィルタの出力値によって減少補正する処理を含む上記1~4のいずれか1つに記載の内燃機関の失火検出装置である。
【0012】
低周波成分が生じる要因には、積分処理が含まれる。そこで上記構成では、第1積分要素の出力値を第1出力側フィルタの出力値によって減少補正することにより、第1積分要素の出力値の低周波成分を低減することができる。
【0013】
6.前記物理モデルは、前記差に応じた値を入力とする第1積分要素と、該第1積分要素の出力値に応じた値を入力とする第2積分要素とを含み、前記ローパスフィルタは、前記第1積分要素の出力値に応じた値の時系列データを入力とするフィルタである第2入力側フィルタを含み、前記補正処理は、前記第2積分要素の入力となる前記第1積分要素の出力値に応じた値を、前記第2入力側フィルタの出力値によって減少補正した値とする処理を含む上記1~5のいずれか1つに記載の内燃機関の失火検出装置である。
【0014】
上記構成では、第1積分要素の出力値を第2入力側フィルタの出力値によって減少補正することにより、第2積分要素の入力に含まれる低周波成分を低減できる。
7.前記物理モデルは、前記差に応じた値を入力とする第1積分要素と、該第1積分要素の出力値に応じた値を入力とする第2積分要素とを含み、前記ローパスフィルタは、前記差の時系列データを入力とするフィルタである第1入力側フィルタを含み、前記補正処理は、前記第1積分要素の入力となる前記差に応じた値を、前記第1入力側フィルタの出力値によって前記差を減少補正した値とする処理を含む上記1~6のいずれか1つに記載の内燃機関の失火検出装置である。
【0015】
上記構成では、第1積分要素の入力となる前記差に応じた値を、第1入力側フィルタの出力値によって前記差を減少補正した値とすることにより、第1積分要素の入力に含まれる低周波成分を低減できる。
【0016】
8.前記算出処理は、前記第2積分要素の出力値に応じた値のうちの回転0.5次の倍数成分を抽出するコウムフィルタ処理を含む上記4~7のいずれか1つに記載の内燃機関の失火検出装置である。
【0017】
上記構成では、回転0.5次の倍数成分を抽出するコウムフィルタ処理を採用することにより、回転0.5次の倍数以外の成分を低減することができる。
【図面の簡単な説明】
【0018】
【
図1】一実施形態にかかる制御装置および駆動系を示す図。
【
図2】同実施形態にかかる制御装置が実行する処理の手順を示す流れ図。
【
図3】同実施形態にかかる制御装置が実行する処理の手順を示す流れ図。
【
図4】同実施形態にかかる制御装置が実行する処理の一部の詳細な手順を示す流れ図。
【
図5】同実施形態にかかる制御装置が実行する処理の一部の詳細な手順を示す流れ図。
【
図6】同実施形態にかかる周波数強度分布を示す図。
【発明を実施するための形態】
【0019】
以下、一実施形態について図面を参照しつつ説明する。
図1に示すように、内燃機関10は、4個の気筒である、気筒#1,#2,#3,#4を有する4ストロークエンジンである。内燃機関10のクランク軸12には、歯部22が設けられたクランクロータ20が結合されている。歯部22は、クランク軸12の複数の回転角度のそれぞれを示す。クランクロータ20には、基本的には、10°CA間隔で歯部22が設けられているものの、隣接する歯部22間の間隔が30°CAとなる箇所である欠け歯部24が1箇所設けられている。これは、クランク軸12の基準となる回転角度を示すためのものである。
【0020】
クランク軸12には、ダンパ14を介して動力分割装置30が機械的に連結されている。動力分割装置30は、内燃機関10、第1モータジェネレータ40、および第2モータジェネレータ50の動力を分割する。動力分割装置30は、遊星歯車機構を備えており、遊星歯車機構のキャリアCにダンパ14を介してクランク軸12が機械的に連結されており、サンギアSに、第1モータジェネレータ40の回転軸42が機械的に連結されており、リングギアRに、第2モータジェネレータ50の回転軸52が機械的に連結されている。なお、第1モータジェネレータ40の端子には、第1インバータ44の出力電圧が印加される。また、第2モータジェネレータ50の端子には、第2インバータ54の出力電圧が印加される。
【0021】
動力分割装置30のリングギアRには、第2モータジェネレータ50の回転軸52に加えて、さらに、変速装置32を介して駆動輪34が機械的に連結されている。
制御装置60は、内燃機関10を制御対象とし、その制御量であるトルクや排気成分比率等を制御すべく、内燃機関10の各種操作部を操作する。また、制御装置60は、第1モータジェネレータ40を制御対象とし、その制御量であるトルクや回転速度等を制御すべく、第1インバータ44を操作する。また、制御装置60は、第2モータジェネレータ50を制御対象とし、その制御量であるトルクや回転速度等を制御すべく、第2インバータ54を操作する。
【0022】
制御装置60は、上記制御量を制御する際、クランク角センサ70の出力信号Scrや、第1モータジェネレータ40の回転軸42の回転角を検知する第1回転角センサ72の出力信号Sm1、第2モータジェネレータ50の回転軸52の回転角を検知する第2回転角センサ74の出力信号Sm2を参照する。
【0023】
制御装置60は、CPU62、ROM64、RAM66および周辺回路68を備えており、それらがローカルネットワーク69を介して通信可能とされている。ここで、周辺回路68は、内部の動作を規定するクロック信号を生成する回路や、電源回路、リセット回路等を含む。制御装置60は、ROM64に記憶されたプログラムをCPU62が実行することにより制御量を制御する。
【0024】
図2に、制御装置60が実行する処理の手順を示す。
図2に示す処理は、ROM64に記憶されたプログラムをCPU62が所定のクランク角度周期で繰り返し実行することにより実現される。なお、以下では、先頭に「S」が付与された数字によって、各処理のステップ番号を表現する。
【0025】
図2に示す一連の処理において、CPU62は、まず、現在のクランク軸12の回転角度が、気筒#1~#4のうちの失火の検出対象とするものの圧縮上死点を基準としてATDC30°CAであるか否かを判定する(S10)。CPU62は、ATDC30°CAであると判定する場合(S10:YES)、クランク軸12が圧縮上死点から30°CA回転するまでに要する時間T30[0]を取得する(S12)。次にCPU62は、ATDC90°CAとなるまで待機する(S14:NO)。そしてCPU62は、ATDC90°CAとなったと判定する場合(S14:YES)、クランク軸12がATDC60°CA~ATDC90°CAだけ回転するまでに要した時間T30[2]を取得する(S18)。なお、T30の後のカッコ内の数字は、30°CA進むごとに「1」だけ増加する変数である。そしてCPU62は、時間T30[0]から時間T30[2]を減算した値を、S10の処理によって圧縮上死点が検知された気筒に関する回転変動量ΔT30[0]に代入する(S20)。回転変動量ΔT30は、失火の検出対象となる気筒において失火が生じていない場合に負の値となり、失火が生じている場合に正の値となる変数である。なお、CPU62は、回転変動量ΔT30[0]をRAM66に記憶させる。
【0026】
次にCPU62は、360°CAだけ前の回転変動量ΔT30[2]を読み出す(S22)。回転変動量ΔT30[2]は、360°CAだけ前にS20の処理によってRAM66に記憶された値である。そしてCPU62は、回転変動量ΔT30[0]から回転変動量ΔT30[2]を減算した値が、閾値Δthよりも大きいか否かを判定する(S24)。ここで、失火の検出対象となる気筒で失火が生じていない場合には、回転変動量ΔT30[0]と回転変動量ΔT30[2]とは同程度の量となることから、上記減算した値は、ゼロ程度の値となる。これに対し、失火の検出対象となる気筒において失火が生じる場合には、上記減算した値は正の大きい値となる。閾値Δthは、失火が生じた際に上記減算した値がとりうる値に設定されている。
【0027】
CPU62は、閾値Δthよりも大きいと判定する場合(S24:YES)、カウンタCnをインクリメントする(S26)。CPU62は、S26の処理を完了する場合やS24の処理において否定判定する場合には、S24の処理を始めて実行したタイミングと後述のS36の処理の実行タイミングとのうちのいずれか遅い方のタイミングから所定期間が経過したか否かを判定する(S28)。そしてCPU62は、所定期間が経過したと判定する場合(S28:YES)、カウンタCnが閾値Cnth以上であるか否かを判定する(S30)。閾値Cnthは、検出対象となる気筒において連続的に失火が生じている場合に所定期間内に同気筒で失火が生じる回数に応じて設定されている。CPU62は、閾値Cnth以上であると判定する場合(S30:YES)、失火の検出対象となる気筒において連続的に失火が生じている旨判定する(S32)。そしてCPU62は、
図1に示した警告灯80を操作することによって、ユーザにその旨を報知する報知処理を実行する(S34)。
【0028】
一方、CPU62は、カウンタCnが閾値Cnth未満であると判定する場合(S30:NO)、カウンタCnを初期化する(S36)。
なお、CPU62は、S34,S36の処理が完了する場合や、S10,S28の処理において否定判定する場合には、
図2に示した一連の処理を一旦終了する。
【0029】
図3に、クランク軸12が30°CA回転するのに要する時間T30を算出する処理の手順を示す。
図3に示す処理は、ROM64に記憶されたプログラムをCPU62が、クランク軸12が30°CAする周期で繰り返し実行することにより実現される。具体的には、たとえばクランク角センサ70が所定の歯部22を検知することをトリガとして繰り返し実行される。なお、所定の歯部22は、30°CA毎に定義されているものとする。
【0030】
図3に示す一連の処理において、CPU62は、まず直近の30°CAの回転角度領域をクランク軸12が回転するのに要した時間et3txdhを算出する(S40)。この処理は、
図1に示すように、クランク角センサ70が30°CAだけ離間した2つの歯部22のいずれか一方を検知してから他方を検知するまでに要した時間の計時処理となる。次にCPU62は、30°CAに対応する角度定数CRを時間et3txdhによって除算することによって、直近の30°CAの回転角度領域におけるクランク軸12の回転速度であるクランク側速度ωeを算出する(S42)。
【0031】
次にCPU62は、ダンパ14のうちのキャリアC側の回転速度である後段側速度ωoutを算出する(S44)。CPU62は、第1モータジェネレータ40の回転軸42の微小回転角度領域における回転速度ωm1と、第2モータジェネレータ50の回転軸52の微小回転角度領域における回転速度ωm2と、動力分割装置30のギア比とに基づき、後段側速度ωoutを算出する。ここで、微小回転角度領域は、1回転よりも小さい回転角度領域とする。また、回転速度ωm1は、第1回転角センサ72の出力信号Sm1に基づきCPU62によって算出される。また、回転速度ωm2は、第2回転角センサ74の出力信号Sm2に基づきCPU62によって算出される。
【0032】
次にCPU62は、クランク側速度ωeから後段側速度ωoutを減算した値を差分速度ωdampに代入する(S46)。次にCPU62は、差分速度ωdampの積算処理に基づきダンパ14のクランク軸12側とキャリアC側とのねじれ角θdampを算出する(S48)。そして、CPU62は、ねじれ角θdampに弾性係数Kを乗算した値を、ねじれトルクTdampに代入する(S50)。ねじれトルクTdampは、ダンパ14のクランク軸12側とキャリアC側とのねじれ角θdampの絶対値がゼロよりも大きくなることによって発生するトルクである。
【0033】
そしてCPU62は、ねじれトルクTdampの積算処理に基づき、ダンパ14のねじれによって発生するトルクがクランク軸12の回転速度に及ぼす影響分を定量化した速度成分であるねじれ速度成分ωrを算出する(S52)。ここでは、ねじれトルクTdampに比例したクランク軸12の角加速度成分の積算処理によってねじれ速度成分ωrを算出する物理モデルを用いる。そして、CPU62は、クランク側速度ωeからねじれ速度成分ωrを減算した値によって角度定数CRを除算した値を、時間T30に代入する(S54)。
【0034】
なお、CPU62は、S54の処理を完了する場合には、
図3に示した一連の処理を一旦終了する。
図4に、S48の処理の詳細な手順を示す。
【0035】
図4に示す一連の処理において、CPU62は、まず直近に算出された差分速度ωdampと、時間et3txdhとを取得する(S60)。次にCPU62は、直近の24個の差分速度ωdamp[0]~ωdamp[23]の単純移動平均処理値を平均差分速度ωdamp720[0]に代入する(S62)。平均差分速度ωdamp720は、差分速度ωdampの高周波成分を除去した変数である。換言すれば、差分速度ωdampにローパスフィルタ処理が施された変数である。なお、差分速度ωdamp[i]の変数iは、値が大きいほどより過去の値を示す。
【0036】
次にCPU62は、差分速度ωdampの積算処理によって、ねじれ角θdampの原型となるねじれ角θdampbを算出する(S64)。本実施形態では、積算処理として、台形近似を例示する。すなわち、本実施形態にかかる積分要素は、今回のねじれ角θdampb[0]を算出すべく前回のねじれ角θdampb[1]に加算する変数を、今回の差分速度ωdamp[0]に時間et3txdhを乗算した値とする代わりに、差分速度ωdamp[0],ωdamp[1]の和と時間et3txdhとの積の「1/2」相当の量とする。詳しくは、差分速度ωdamp[0],ωdamp[1]のそれぞれから低周波成分を除去した値同士の和と時間et3txdhとの積の「1/2」とする。ここで、差分速度ωdamp[0]から低周波成分を除去した値は、「ωdamp[0]-ωdamp720[0]」であり、差分速度ωdamp[1]から低周波成分を除去した値は、「ωdamp[1]-ωdamp720[1]」である。ここで、低周波成分とは、1燃焼サイクルよりも大きい周期を有する成分のことである。
【0037】
次にCPU62は、直近の24個のねじれ角θdampb[0]~θdampb[23]の単純移動平均処理値を平均ねじれ角θdamp720に代入する(S66)。平均ねじれ角θdamp720は、ねじれ角θdampbの高周波成分を除去した変数である。換言すれば、ねじれ角θdampbにローパスフィルタ処理が施された変数である。なお、ねじれ角θdampb[i]の変数iは、値が大きいほどより過去の値を示す。
【0038】
次にCPU62は、ねじれ角θdampb[0]の絶対値が閾値θth以上であることと、平均ねじれ角θdamp720の絶対値が閾値θth以上であることとの論理和が真であるか否かを判定する(S68)。この処理は、平均差分速度ωdamp720を用いても除去しきれなかった低周波成分がねじれ角θdampbに蓄積しているか否かと、平均差分速度ωdamp720自体に低周波成分が蓄積しているか否かと、を判定する処理である。そしてCPU62は、論理和が真であると判定する場合(S68:YES)、ねじれ角θdampb[0]から平均ねじれ角θdamp720を減算した値をねじれ角θdampb[0]に代入し、平均ねじれ角θdamp720および、ねじれ角θdampb[1],θdampb[2],…を初期化する(S70)。
【0039】
CPU62は、S70の処理を完了する場合や、S68の処理において否定判定する場合には、ねじれ角θdampb[0]から平均ねじれ角θdamp720を減算した値をねじれ角θdampa[0]に代入する(S72)。この処理は、ねじれ角θdampb[0]から低周波成分を除去する処理である。ここで、低周波成分とは、1燃焼サイクルよりも大きい周期を有する成分のことである。
【0040】
次にCPU62は、ねじれ角θdampaにコウムフィルタ処理を施すことによって、ねじれ角θdampを算出する(S74)。本実施形態では、コウムフィルタとして、フィードフォワード型のフィルタを採用する。詳しくは、今回のねじれ角θdampa[0]と1燃焼サイクル前のねじれ角θdampa[24]との加重移動平均処理をするフィルタを採用する。すなわち、CPU62は、今回のねじれ角θdampa[0]に係数βを乗算した値と、1燃焼サイクル前のねじれ角θdampa[24]に係数αを乗算した値との和を、ねじれ角θdampとする。ここで、「α+β=1」である。
【0041】
なおCPU62は、S74の処理を完了する場合、
図3のS48の処理を完了する。
図5に、
図3のS52の処理の詳細な手順を示す。
図5に示すように、CPU62は、まず、S50の処理によって算出された最新のねじれトルクTdamp[0]と、時間et3txdhとを取得する(S80)。次にCPU62は、直近の24個のねじれトルクTdamp[0]~Tdamp[23]の単純移動平均処理値を、平均ねじれトルクTdamp720[0]に代入する(S82)。平均ねじれトルクTdamp720は、ねじれトルクTdampの高周波成分を除去した変数である。換言すれば、ねじれトルクTdampにローパスフィルタ処理が施された変数である。なお、ねじれトルクTdamp[i]の変数iは、値が大きいほどより過去の値を示す。
【0042】
次にCPU62は、ねじれトルクTdampから慣性係数Jを除算した値の積算処理によって、ねじれ速度成分ωrの原型となるねじれ速度成分ωrbを算出する(S84)。本実施形態では、積算処理として、台形近似を例示する。すなわち、本実施形態にかかる積分要素は、今回のねじれ速度成分ωrb[0]を算出すべく前回のねじれ速度成分ωrb[1]に加算する変数を、ねじれトルクTdamp[0],Tdamp[1]から慣性係数Jを除算した値同士の和と時間et3txdhとの積の「1/2」相当の量とする。詳しくは、ねじれトルクTdamp[0],Tdamp[1]のそれぞれから低周波成分を除去した値同士の和と時間et3txdhとの積の「1/2」とする。ここで、ねじれトルクTdamp[0]から低周波成分を除去した値は、「Tdamp[0]-Tdamp720[0]」であり、ねじれトルクTdamp[1]から低周波成分を除去した値は、「Tdamp[1]-Tdamp720[1]」である。ここで、低周波成分とは、1燃焼サイクルよりも大きい周期を有する成分のことである。
【0043】
次にCPU62は、直近の24個のねじれ速度成分ωrb[0]~ωrb[23]の単純移動平均処理値を平均ねじれ速度成分ωr720に代入する(S86)。平均ねじれ速度成分ωr720は、ねじれ速度成分ωrbの高周波成分を除去した変数である。換言すれば、ねじれ速度成分ωrbにローパスフィルタ処理が施された変数である。なお、ねじれ速度成分ωrb[i]の変数iは、値が大きいほどより過去の値を示す。
【0044】
次にCPU62は、ねじれ速度成分ωrb[0]の絶対値がωth以上であることと、平均ねじれ速度成分ωr720の絶対値が閾値ωth以上であることとの論理和が真であるか否かを判定する(S88)。この処理は、平均ねじれ速度成分ωr720を用いても除去しきれなかった低周波成分がねじれ速度成分ωrbに蓄積しているか否かと、平均ねじれ速度成分ωr720自体に低周波成分が蓄積しているか否かと、を判定する処理である。そしてCPU62は、論理和が真であると判定する場合(S88:YES)、ねじれ速度成分ωrb[0]から平均ねじれ速度成分ωr720を減算した値をねじれ速度成分ωrb[0]に代入し、平均ねじれ速度成分ωr720および、ねじれ速度成分ωrb[1],ωrb[2],…を初期化する(S90)。
【0045】
CPU62は、S90の処理を完了する場合や、S88の処理において否定判定する場合には、ねじれ速度成分ωrb[0]から平均ねじれ速度成分ωr720を減算した値をねじれ速度成分ωra[0]に代入する(S92)。この処理は、ねじれ速度成分ωrb[0]から低周波成分を除去する処理である。ここで、低周波成分とは、1燃焼サイクルよりも大きい周期を有する成分のことである。
【0046】
次にCPU62は、ねじれ速度成分ωraにコウムフィルタ処理を施すことによって、ねじれ速度成分ωrを算出する(S94)。本実施形態では、コウムフィルタとして、フィードフォワード型のフィルタを採用する。詳しくは、今回のねじれ速度成分ωra[0]と1燃焼サイクル前のねじれ速度成分ωra[24]との加重移動平均処理をするフィルタを採用する。すなわち、CPU62は、今回のねじれ速度成分ωra[0]に係数βを乗算した値と、1燃焼サイクル前のねじれ速度成分ωra[24]に係数αを乗算した値との和を、ねじれ速度成分ωrとする。ここで、「α+β=1」である。
【0047】
なお、CPU62は、S94の処理を完了する場合、
図3のS52の処理を完了する。
ここで、本実施形態の作用および効果について説明する。
CPU62は、30°CA離間した歯部22の検出タイミング同士の差である時間et3txdhを直接用いる代わりに、クランク側速度ωeからねじれ速度成分ωrを減算した値によって角度定数CRを除算した値である時間T30を用いて失火の検出処理を行う。ここで、CPU62は、ねじれ速度成分ωrの算出において、低周波成分を除去するために、有限応答型のローパスフィルタを用いる。これにより、内燃機関10のクランク軸12の回転周波数が、回転0.5次の周波数の整数倍となるときのフィルタのゲインを「1」として且つ、位相特性を互いにそろえることができる。そのため、互いに異なる複数の周波数が駆動系の共振周波数と一致する場合であっても、ねじれ速度成分ωrを算出する共通のフィルタで対処できる。
【0048】
図6に、本実施形態における共振周波数成分を例示する。
図6に示すように、本実施形態では、変速装置32の変速比が4速であるときには、回転0.5次の周波数が駆動系の共振周波数f1に一致する。また、変速装置32の変速比が1速であるときには、回転1次の周波数が共振周波数f2と一致する。そして、共振周波数f2が、共振周波数f1の2倍となっている。そのため、ねじれ速度成分ωrの算出に用いるフィルタにおいて回転0.5次および回転1次のゲインを極力大きくして且つ一定値とするのみならず、それらにおいて位相特性をそろえる必要がある。すなわち、たとえゲイン特性を同等としたところで、位相特性がそろわない場合には、変速比が4速であるか1速であるかに応じてねじれ速度成分ωrの算出に用いるロジックを変更する必要が生じる。
【0049】
図7に、本実施形態にかかるフィルタのゲイン特性および位相特性を示す。なお、
図7においては、説明の便宜上、模式的に、回転0.5次が10Hz、回転1次が20Hzのときに共振周波数と一致するとしている。
【0050】
図7に破線にて示す曲線faは、S64,S84の処理において用いる積分要素の特性を示す。また、一点鎖線に示す曲線fbは、S62,S66,S82,S86の処理において用いるローパスフィルタの特性を示す。また、実線にて示す曲線fcは、上記積分要素とローパスフィルタとを組み合わせた特性を示す。
図7に示すように、上記積分要素とローパスフィルタとを組み合わせることによって、回転0.5次の整数倍におけるゲインを「1」、位相を「0」にそろえることができる。
【0051】
図8に示す曲線fdは、S74,S94の処理において用いたコウムフィルタを加えた特性を示す。
図8に示すように、コウムフィルタを用いることにより、回転0.5次よりも低周波のゲインを低下させることができる。これは、コウムフィルタとして、回転0.5次の倍数成分を抽出するフィルタを用いたためである。
【0052】
図8には、さらに、二点鎖線にて示す曲線feによって、ねじれ速度成分ωrの算出に、無限応答型ハイパスフィルタを用いた場合の特性を示す。無限応答型ハイパスフィルタを用いる場合、回転0.5次以上の周波数帯におけるゲインを「1」として且つ、回転0.5次未満の周波数帯のゲインを小さくすることができることから、ゲイン特性のみに関しては非常に望ましい特性を有している。しかし、回転0.5次の整数倍の周波数における位相特性をそろえることができない。そのため、
図6に例示したように、4速において回転0.5次成分が共振周波数帯に一致する場合と、1速において回転1次成分が共振周波数帯に一致する場合とで、ねじれ速度成分ωrを算出するフィルタを各別に設計する必要が生じる。
【0053】
以上説明した本実施形態によれば、さらに以下に記載する作用および効果が得られる。
(1)S62,S66,S82,S86の処理において用いるローパスフィルタを、入力される変数の個数が、内燃機関10の気筒数の倍数個であるフィルタとした。これにより、圧縮上死点の出現周波数の整数分の1の倍数の周波数成分のゲインを「1」として且つ位相特性の相違を小さくすることが可能となる。
【0054】
(2)S62,S66,S82,S86の処理において用いるローパスフィルタを、1燃焼サイクルにおける変数の値の単純移動平均処理値を出力するフィルタとした。これにより、回転0.5次の倍数の周波数成分のゲインを「1」として且つ位相特性の相違を小さくするうえで高い性能を発揮できる。
【0055】
(3)ねじれ角θdampb[0]の絶対値や平均ねじれ角θdamp720の絶対値が閾値θthを超える場合、ねじれ角θdampb[1],θdampb[2],…を初期化した。これにより、ローパスフィルタ処理によって低周波成分を完全には除去できないことに起因してねじれ角θdampbの絶対値がある程度大きい値となったとしても、これを解消できる。
【0056】
(4)ねじれ速度成分ωrb[0]の絶対値や平均ねじれ速度成分ωr720の絶対値が閾値ωthを超える場合、ねじれ速度成分ωrb[1],ωrb[2],…を初期化した。これにより、ローパスフィルタ処理によって低周波成分を完全には除去できないことに起因してねじれ速度成分ωrbの絶対値がある程度大きい値となったとしても、これを解消できる。
【0057】
<対応関係>
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。[1]クランク側取得処理は、S40,S42の処理に対応する。後段側取得処理は、S44の処理に対応する。算出処理は、S48~S52の処理に対応する。判定処理は、S24~S32の処理に対応する。補正処理は、S64,S72,S84,S92の処理に対応する。[2]S62,S66,S82,S86の処理において、24個の移動平均処理をしていることに対応する。[3]S62,S66,S82,S86の処理に対応する。[4~7]第1積分要素は、S64の処理において用いられている積分要素に対応する。第2積分要素は、S84の処理において用いられている積分要素に対応する。第2出力側フィルタは、S86の処理において利用されるFIRフィルタに対応する。第1出力側フィルタは、S66の処理において利用されるFIRフィルタに対応する。第2入力側フィルタは、S82の処理に利用されるFIRフィルタに対応する。第1入力側フィルタは、S62の処理に利用されるFIRフィルタに対応する。[8]コウムフィルタ処理は、S94の処理に対応する。
【0058】
<その他の実施形態>
なお、本実施形態は、以下のように変更して実施することができる。本実施形態および以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【0059】
「ローパスフィルタについて」
・上記実施形態では、ローパスフィルタ処理への入力となる変数の値を30°CA毎に算出したが、これに限らない。たとえば、180°CAの整数分の1である、10°CA毎に算出してもよく、またたとえば60°CA毎に算出してもよい。もっとも、それらにも限らない。ただし、ローパスフィルタ処理への入力となる変数の値は、圧縮上死点の出現間隔の整数分の1毎に算出されることが望ましい。
【0060】
・上記実施形態では、圧縮上死点の出現間隔の整数分の1毎に算出される変数の値の1燃焼サイクルにおける時系列データをローパスフィルタ処理の入力としたが、これに限らない。たとえば、2燃焼サイクルにおける時系列データをローパスフィルタ処理の入力としてもよい。これによっても、回転0.5次の整数倍の周波数におけるゲインおよび位相をそろえることが可能となる。もっとも、1燃焼サイクルの整数倍における時系列データをローパスフィルタ処理の入力とすること自体必須ではない。たとえば、回転1次以上の周波数においてのみ共振がみられる場合、2ストロークにおける時系列データをローパスフィルタ処理の入力としてもよい。
【0061】
・上記実施形態では、S62,S66,S82,S86の処理において用いるローパスフィルタの入力となる変数の値の個数を全て同一としたが、これに限らない。たとえば、S82,S86の処理において用いるローパスフィルタの入力となる変数の値の個数を24個としつつも、S62,S66の処理において用いるローパスフィルタの入力となる変数の値の個数については、12個としてもよい。その場合であっても、S62,S66の処理において用いるローパスフィルタの入力となる変数の値は、圧縮上死点の出現間隔の整数分の1毎に算出されることが望ましい。
【0062】
・上記実施形態では、S62,S66,S82,S86の処理において圧縮上死点の出現間隔の整数分の1毎に算出される変数の値の互いに共通した所定期間である1燃焼サイクルにおける時系列データをローパスフィルタ処理の入力としたが、これに限らない。たとえば、S82,S86の処理においては、1燃焼サイクルにおける時系列データをローパスフィルタ処理の入力としつつも、S62,S66の処理においては、2燃焼サイクルにおける時系列データをローパスフィルタ処理の入力としてもよい。
【0063】
・上記実施形態では、S62,S66,S82,S86の処理におけるローパスフィルタ処理を全て単純移動平均処理としたが、これに限らない。たとえば、S82,S86の処理においては、単純移動平均処理としつつも、S62,S66の処理においては、指数移動平均処理としてもよい。
【0064】
・S62,S66,S82,S86の処理の少なくとも1つにおいて、単純移動平均処理を用いることも必須ではなく、任意の有限応答型のフィルタを用いてよい。
「第1積分要素について」
・上記実施形態では、S64の処理における積分要素として、台形近似をするものを例示したが、これに限らない。たとえば、最新の差分速度ωdamp[0]と時間間隔との積を都度加算する処理であってもよい。
【0065】
「第2積分要素について」
・上記実施形態では、S84の処理における積分要素として、台形近似をするものを例示したが、これに限らない。たとえば、最新のねじれトルクTdamp[0]から慣性係数Jを除算した値と時間間隔との積を都度加算する処理であってもよい。
【0066】
「物理モデルについて」
・上記実施形態では、ねじれ速度成分ωrを算出するための物理モデルとして、弾性係数Kおよび慣性係数Jを固定値とするモデルを例示したが、これに限らない。たとえば、ねじれ角θdampの絶対値が大きい場合に小さい場合よりも弾性係数Kを大きい値とするなど、ねじれ角θdampに応じて弾性係数Kを可変としてもよい。
【0067】
・ねじれ速度成分ωrを算出するための物理モデルとしては、弾性係数Kおよび慣性係数Jのみからなるものにも限らない。たとえば、粘性係数と差分速度ωdampとの積からなる項と、ねじれ角θdampと弾性係数Kとの積からなる項との和を、ねじれトルクTdampとするモデルであってもよい。
【0068】
「算出処理について」
・上記実施形態では、S62,S66,S82,S86の処理において、それぞれローパスフィルタ処理を行ったが、これに限らない。たとえば、S86の処理のみローパスフィルタ処理を実行しつつも、それ以外については実行しなくてもよい。
【0069】
・上記実施形態では、S74,S94の処理の双方においてコウムフィルタ処理を実行したが、これに限らない。たとえばS94の処理を実行しつつも、S74の処理については削除してもよい。もっとも、コウムフィルタ処理を実行すること自体必須ではない。
【0070】
「判定用速度変数について」
・上記実施形態では、判定用速度変数として、微小回転角度領域の回転に要する時間T30を例示したが、これに限らない。たとえば、微小回転角度領域における回転速度であってもよい。
【0071】
「判定処理について」
・上記実施形態では、クランク軸12が30°CA回転するのに要する時間同士の差に基づき、失火の有無を判定したが、これに限らない。たとえば、クランク軸12が30°CA回転するのに要する時間同士の比に基づき失火の有無を判定してもよい。またたとえば、「判定用速度変数について」の欄に記載したように、判定用速度変数を速度の次元を有する変数とする場合、クランク軸12が30°CA回転する際の角速度同士の差に基づき失火の有無を判定してもよい。さらにたとえば、クランク軸12が30°CA回転する際の角速度同士の比に基づき失火の有無を判定してもよい。
【0072】
・判定処理に利用するクランク軸12の回転速度または回転に要する時間を定める微小回転角度としては、30°CAに限らず、圧縮上死点の出現間隔以下の適宜の回転角度としてよい。
【0073】
・上記実施形態では、特定の気筒で連続的に失火が生じているか否かを判定する処理を例示したが、ねじれ速度成分ωrに基づく失火判定処理としては、これに限らない。
「ローパスフィルタの用途について」
・上記実施形態では、互いに異なる変速比の各々における共振周波数が互いに異なる場合に、フィルタ処理による位相をそろえるべく、FIR型のローパスフィルタを採用したが、これに限らない。変速装置32を備えない場合であっても、たとえば所定の回転速度NEのときに1気筒の連続失火で共振が発生する場合、所定の回転速度の1/2の回転速度において、互いに1回転だけずれた一対の気筒で連続的に失火が生じる対向気筒失火の場合に共振が発生する。そして、ねじれ速度成分ωrを算出する際にたとえばIIR型のハイパスフィルタを用いる場合などには、回転1次と回転0.5次とで位相特性に差が生じることから、1気筒連続失火と、対向気筒失火とを同一のフィルタで扱うことができず、たとえば対向気筒失火の判定においては位相補償を追加するなどすることが要求される。これに対し、上記のようにFIR型のローパスフィルタを用いることにより、回転1次と回転0.5次とで位相特性をそろえることができることから、1気筒連続失火と対向気筒失火とで、ねじれ速度成分ωrの算出処理のロジックを共通化することができる。
【0074】
「失火検出装置について」
・失火検出装置としては、CPU62とROM64とを備えて、ソフトウェア処理を実行するものに限らない。たとえば、上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理するたとえばASIC等の専用のハードウェア回路を備えてもよい。すなわち、失火検出装置は、以下の(a)~(c)のいずれかの構成であればよい。(a)上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するROM等のプログラム格納装置とを備える。(b)上記処理の一部をプログラムに従って実行する処理装置およびプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。(c)上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置およびプログラム格納装置を備えたソフトウェア実行装置や、専用のハードウェア回路は複数であってもよい。
【0075】
「車両について」
・車両としては、シリーズ・パラレルハイブリッド車に限らない。たとえばシリーズハイブリッド車や、パラレルハイブリッド車であってもよい。なお、車載回転機として、内燃機関とモータジェネレータとを備えるものにも限らない。たとえば内燃機関を備えるもののモータジェネレータを備えない車両であってもよく、またたとえばモータジェネレータを備えるものの内燃機関を備えない車両であってもよい。
【符号の説明】
【0076】
10…内燃機関
12…クランク軸
14…ダンパ
20…クランクロータ
22…歯部
24…欠け歯部
30…動力分割装置
32…変速装置
34…駆動輪
40…第1モータジェネレータ
50…第2モータジェネレータ
60…制御装置