JP3963984B2 - エンジン回転数算出装置及びエンジンの気筒別失火検出装置 - Google Patents
エンジン回転数算出装置及びエンジンの気筒別失火検出装置 Download PDFInfo
- Publication number
- JP3963984B2 JP3963984B2 JP28097996A JP28097996A JP3963984B2 JP 3963984 B2 JP3963984 B2 JP 3963984B2 JP 28097996 A JP28097996 A JP 28097996A JP 28097996 A JP28097996 A JP 28097996A JP 3963984 B2 JP3963984 B2 JP 3963984B2
- Authority
- JP
- Japan
- Prior art keywords
- correction value
- crank angle
- section
- calculated
- interval time
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Description
【発明の属する技術分野】
本発明は、エンジンと同期回転するロータに設けた気筒毎の特定クランク角区間を表示する角度表示部の間隔時間から区間平均回転数を算出し、或いは該区間平均回転数の変化量から失火を気筒別に判定するエンジン回転数算出装置及びエンジンの気筒別失火検出装置に関する。
【0002】
【従来の技術】
一般に、多気筒エンジンにおける燃焼は毎サイクル同一過程を経て行われることが、安定した出力を得る上で理想であるが、多気筒エンジンにおいては吸気管形状の複雑化、気筒間の吸気干渉などによる吸気分配率の不均一化、冷却順路によって生じる各気筒間の若干の燃焼温度の相違、各気筒の燃焼室容積、ピストン形状などの製造上のばらつき等の相乗的作用により気筒毎の燃焼にばらつきが生じ易い。
【0003】
従来、この気筒間の燃焼変動は、気筒別の空燃比制御、点火時期制御等で最小限に抑制されているが、最近の高出力、低燃費化の傾向にある高性能エンジンでは、インジェクタ、点火プラグ等の劣化の進行度合い、或いは故障等で断続的な失火が発生し易く、失火の発生により気筒間の燃焼変動が大きくなり、出力の低下を招く。
【0004】
そこで、本出願人は、特開平4−171250号公報において、4気筒エンジンの各気筒の燃焼による仕事をしていない区間、すなわち燃焼終了気筒と次の燃焼開始気筒との間の特定のクランク角区間の区間平均回転数を算出し、1燃焼行程前に算出した区間平均回転数と、その前後に算出した区間平均回転数の平均値との差回転を算出し、該差回転と失火レベル判定値とを比較して1燃焼行程前気筒の失火状態を判定する技術を提案した。
【0005】
ところで、上記特定クランク角区間は、クランクシャフトに軸着したクランクロータの外周に形成した突起(或いはスリット)によって始まりと終わりとが設定されており、この突起(或いはスリット)をクランク角センサにて検出したときに出力される信号(クランクパルス)の入力間隔時間に基づいて上記区間平均回転数が算出されるため、クランク角区間を表示する突起(或いはスリット)の開き角にばらつきがあると、クランク角区間ごとに算出する区間平均回転数に誤差が生じ、この誤差が見かけ上、回転変動因子として取り込まれてしまい、失火判定を精度良く行うことができなくなる。
【0006】
そのため、本出願人は、特開平6−42397号公報において、上記差回転を統計処理して、クランクロータに形成した特定クランク角区間の始まりと終わりとに対応する突起(或いはスリット)の製造上のばらつきによって生じる回転変動因子を補正して、補正後差回転を求め、この補正後差回転の変化に基づいて失火を判定する技術を提案した。
【0007】
【発明が解決しようとする課題】
しかし、例えば図21(a)に示すように、4気筒エンジンにおいてクランクロータの周囲に各気筒の圧縮上死点(TDC)を基準として、圧縮上死点前(BTDC)θ1,θ2,θ3の位置に突起を形成し、各突起の位置がθ1=97°、θ2=65°、θ3=10°で、これらの製造公差が±0.25°の場合、クランク角区間θ2−θ3(開き角55°)の製造誤差は±0.5°となる。上記先行例では、クランク角区間θ2−θ3の間隔時間から区間平均回転数を算出しており、点火順序を#1→#3→#2→#4とし、#1,#2気筒側のクランク角区間θ2−θ3が55°+0.5°、#3,#4気筒側のクランク角区間θ2−θ3が55°−0.5°の最大公差で製造された場合、各クランク角区間θ2−θ3における実際の角速度がほぼ同じで、且つ失火することなく定速運転している状態のときの真の平均回転数が6000rpmのとき、#1,#2気筒側のクランク角区間θ2−θ3で計測した区間平均回転数は6054rpm、#3,#4気筒側のクランク角区間θ2−θ3で計測した区間平均回転数は5945rpmとなる。
【0008】
特開平4−171250号公報では、図21(b)において、今回算出した区間平均回転数が#3気筒の燃焼終了後の区間平均回転数N#3とした場合、1燃焼行程前の区間平均回転数がN#1、2燃焼行程前の区間平均回転数がN#4であり、1燃焼行程前の差回転ΔNは、
となり、−109(rpm)の検出誤差が生じる。
【0009】
一方、特開平6−42397号公報で算出する補正後差回転変化DDNEA#3は、DELNA#3,DELNA#1を補正後差回転とすると、
DDNEA#3=DELNA#3−DELNA#1
但し、補正後差回転DELNA#3,DELNA#1は差回転DELNE#3,DELNE#1から、この差回転DELNE#3,DELNE#1を統計処理して気筒毎に算出した差回転補正値AVEDNO#3,AVEDNO#1を減算して求めたものである(DELNA#i=DELNE#i−AVEDNO#i)。
【0010】
尚、差回転DELNE#3はクランク角区間θ2−θ3の区間平均回転数N#3,N#1の差回転、DELNE#1は同様にクランク角区間θ2−θ3の区間平均回転数N#1,N#4の差回転であり、エンジンが失火を伴わずに一定速で高速回転している場合には、上記差回転DELNE#3,DELNE#1と上記補正後差回転DELNA#3,DELNA#1とが近似し(上記統計処理して気筒毎に算出する上記差回転補正値AVEDNO#3、AVEDNO#1は無視できるものとする)、したがって、
となり、補正後差回転変化DDNEA#3,DDNEA#1が +218(rpm),−218(rpm)とそれぞれ誤検出されてしまう。その結果、図22に示すように、縦軸に補正後差回転(rpm)、横軸に1目盛り(1Div)を1サイクル(720゜CA)として表した場合、クランク角区間θ2−θ3で検出した区間平均回転数基づいて算出した気筒毎の補正後差回転DELNA#iが、見かけ上、大きく変動したように誤検出されてしまう。
【0011】
このように、上記先行例では、クランクロータの特定クランク角区間の始まりと終わりに形成した突起の開き角が寸法公差内で製造されていたとしても、特に高速回転域では真の区間平均回転数に対して実際に計測した区間平均回転数が大きな誤差を生じ、しかも、高速回転域では運動エネルギが大きいため失火発生時の運動変化量が相対的に小さく、計測した区間平均回転数の誤差分と、失火によって生じる運動変化量とを明確に峻別することが困難で、失火判定精度を高めるには限界がある。
【0012】
又、特開平6−42398号公報には、該当気筒の差回転DELNE#iと全気筒差回転加重平均値AVEDNとの差を加重平均して得た前回の該当気筒の気筒別差回転加重平均値AVEDN#iOLDを、該当気筒の差回転DELNE#iから減算して補正後差回転DELNA#iを求め、この補正後差回転DELNA#iに基づき該当気筒の失火判定を行うことで、クランクロータに形成した突起(或いはスリット)の位置及び形状等の製造誤差を排除し、失火の有無を気筒毎に正確に検出する技術が開示されている。
【0013】
しかし、この先行例では、全気筒の差回転を加重平均した全気筒差回転加重平均値と該当気筒の差回転との差を更に加重平均によりなまし処理した気筒別差回転加重平均を用いて該当気筒の差回転を補正しているため、間接的な補正であり、且つ、2重のなまし処理による加重平均により補正を行うため、補正遅れを生じ、特に、製造誤差などに起因するクランクロータの突起間の角度誤差による影響を確実に排除することはできない。
【0014】
本発明は、上記事情に鑑み、低回転域は勿論のこと、高回転域においても、各気筒の燃焼のばらつきの影響を受けることなく、ロータに設けた気筒毎の特定クランク角区間を表示する角度表示部の開き角のばらつきによる区間平均回転数の検出誤差を排除し、正確な区間平均回転数を算出することができると共に、失火の有無を気筒毎に正確に検出することのできるエンジン回転数算出装置及びエンジンの気筒別失火検出装置を提供することを目的とする。
【0015】
【課題を解決するための手段】
上記目的を達成するため本発明による第1のエンジン回転数算出装置は、エンジンと同期回転するロータに、少なくとも気筒毎の特定クランク角区間を表示する角度表示部を設け、該角度表示部を検出したクランク角検出手段からの信号に基づきエンジン1回転の間隔時間と特定クランク角区間の間隔時間とを算出し、この両間隔時間の比から上記クランク角区間の設計角度に対する角度補正値を算出する手段と、上記角度補正値を加重平均処理して回転補正値を算出する手段と、上記回転補正値で上記特定クランク角区間の間隔時間を補正して補正間隔時間を算出する手段と、この補正間隔時間に基づき区間平均回転数を算出する手段とを備えることを特徴とする。
【0016】
本発明による第2のエンジン回転数算出装置は、エンジンと同期回転するロータに、少なくとも気筒毎の特定クランク角区間を表示する角度表示部を設け、該角度表示部を検出したクランク角検出手段からの信号に基づき2カ所以上の特定クランク角区間の間隔時間を算出し、この各間隔時間のひとつを基準間隔時間とし、該基準間隔時間と他のクランク角区間の間隔時間との比から相対的な角度補正値を算出する手段と、上記角度補正値を加重平均処理して回転補正値を算出する手段と、上記回転補正値で上記特定クランク角区間の間隔時間を補正して補正間隔時間を算出する手段と、この補正間隔時間に基づき対応するクランク角区間毎の区間平均回転数を算出する手段とを備えることを特徴とする。
【0017】
本発明による第3のエンジン回転数算出装置は、前記第1のエンジン回転数算出装置或いは前記第2のエンジンの回転数算出装置において、前記回転補正値が燃料カット時に算出されることを特徴とする。
【0018】
本発明による第4のエンジン回転数算出装置は、前記第1のエンジン回転数算出装置或いは前記第2のエンジンの回転数算出装置において、前記回転補正値をエンジン回転数をパラメータとして領域別に格納することを特徴とする。
【0019】
本発明による第5のエンジン回転数算出装置は、前記第1のエンジン回転数算出装置或いは前記第2のエンジンの回転数算出装置において、前記回転補正値をエンジン回転数をパラメータとして領域別に格納するテーブルを備え、上記テーブルの全領域が初期化されているときは最初に算出された回転補正値を上記テーブルの全領域に格納することを特徴とする。
【0020】
本発明による第6のエンジン回転数算出装置は、前記第1のエンジン回転数算出装置或いは前記第2のエンジンの回転数算出装置において、前記回転補正値をエンジン回転数をパラメータとして領域別に格納するテーブルを備えると共に、上記テーブルの各領域がエンジン回転域毎に一定のグループに区分され、上記テーブルの全領域が初期化されているときは最初に算出された回転補正値を上記テーブルの全領域に格納し、又上記テーブルの全領域に同一の回転補正値が格納された後、該テーブルの各グループ内の領域が更新されていないときは、エンジン回転数をパラメータとして特定した該当グループ内の領域を当該回転補正値で更新することを特徴とする。
【0021】
本発明による第1のエンジンの気筒別失火検出装置は、エンジンと同期回転するロータに、少なくとも気筒毎の特定クランク角区間を表示する角度表示部を設け、該角度表示部を検出したクランク角検出手段からの信号に基づきエンジン1回転の間隔時間と特定クランク角区間の間隔時間とを算出し、この両間隔時間の比から上記クランク角区間の設計角度に対する角度補正値を算出する手段と、上記角度補正値を加重平均処理して回転補正値を算出する手段と、上記回転補正値で上記特定クランク角区間の間隔時間を補正して補正間隔時間を算出する手段と、この補正間隔時間に基づき区間平均回転数を算出する手段と、前回算出した区間平均回転数と今回算出した区間平均回転数及び前々回算出した区間平均回転数との変化量に基づき前回算出した区間平均回転数に対応する気筒の失火を判定する手段とを備えることを特徴とする。
【0022】
本発明による第2のエンジンの気筒別失火検出装置は、エンジンと同期回転するロータに、少なくとも気筒毎の特定クランク角区間を表示する角度表示部を設け、該角度表示部を検出したクランク角検出手段からの信号に基づき2カ所以上の特定クランク角区間の間隔時間を算出し、この各間隔時間のひとつを基準間隔時間とし、該基準間隔時間と他のクランク角区間の間隔時間との比から相対的な角度補正値を算出する手段と、上記角度補正値を加重平均処理して回転補正値を算出する手段と、上記回転補正値で上記特定クランク角区間の間隔時間を補正して補正間隔時間を算出する手段と、この補正間隔時間に基づき対応するクランク角区間毎の区間平均回転数を算出する手段と、前回算出した区間平均回転数と今回算出した区間平均回転数及び前々回算出した区間平均回転数との変化量に基づき前回算出した区間平均回転数に対応する気筒の失火を判定する手段とを備えることを特徴とする。
【0023】
本発明による第1のエンジン回転数算出装置では、エンジン運転時、該エンジンに同期して回転するロータに設けた気筒毎の特定クランク角区間を表示する角度表示部をクランク角検出手段にて検出すると、該クランク角検出手段から上記角度表示部に対応する信号が出力され、この信号に基づき上記クランク角区間の間隔時間とエンジン1回転の間隔時間とを算出し、この両間隔時間の比から上記クランク角区間の設計角度に対する角度補正値を算出し、この角度補正値を加重平均処理して回転補正値を算出し、この回転補正値で当該特定クランク角区間の間隔時間を補正して補正間隔時間を算出し、この補正間隔時間に基づいて当該特定クランク角区間の区間平均回転数を算出する。
【0024】
本発明による第2のエンジン回転数算出装置では、エンジン運転時、該エンジンに同期して回転するロータに設けた気筒毎の特定クランク角区間を表示する角度表示部をクランク角検出手段にて検出すると、該クランク角検出手段から上記角度表示部に対応する信号が出力され、この信号に基づき上記各クランク角区間の間隔時間を算出し、ひとつの間隔時間を基準間隔時間として該基準間隔時間と他のクランク角区間の間隔時間との比から、基準となるクランク角区間に対する他のクランク角区間の相対的な角度補正値を算出し、この角度補正値を加重平均処理して回転補正値を算出し、この回転補正値で他の特定クランク角区間の間隔時間を補正して補正間隔時間を算出し、この補正間隔時間に基づいて当該特定クランク角区間の区間平均回転数を算出する。
【0025】
本発明による第3のエンジン回転数算出装置では、前記第1のエンジン回転数算出装置、或いは前記第2のエンジン回転数算出装置において、前記回転補正値を燃料カット時に算出することで、燃焼のばらつきの影響を受けずに回転補正値を設定することが可能になる。
【0026】
本発明による第4のエンジン回転数算出装置では、前記第1のエンジン回転数算出装置、或いは前記第2のエンジン回転数算出装置において、前記回転補正値をエンジン回転数をパラメータとして区画される領域に格納することで、エンジン回転数毎の回転補正値で前記間隔時間を補正することが可能となる。
【0027】
本発明による第5のエンジン回転数算出装置では、前記第1のエンジン回転数算出装置、或いは前記第2のエンジン回転数算出装置において、前記回転補正値をエンジン回転数をパラメータとして格納する全ての領域が初期化されているときは最初に算出した回転補正値を上記テーブルの全領域に格納することで、その後、エンジン回転数領域が変化した場合であっても、対応する間隔時間を上記回転補正値で補正することが可能になる。
【0028】
本発明による第6のエンジン回転数算出装置では、前記第1のエンジン回転数算出装置、或いは前記第2のエンジン回転数算出装置において、前記回転補正値をエンジン回転数をパラメータとして格納するテーブルをエンジン運転域毎に一定のグループに区分し、上記テーブルの各領域が初期化されているときは最初に算出した回転補正値を上記テーブルの全領域に格納し、上記テーブルの全領域に同一の回転補正値が格納された後、エンジン回転数をパラメータとして特定する回転補正値を格納する領域が属するグループの全領域が更新されていないときは、今回算出した回転補正値でグループ内の全領域を更新する。
【0029】
本発明による第1のエンジンの気筒別失火検出装置では、エンジン運転時、該エンジンに同期して回転するロータに設けた気筒毎の特定クランク角区間を表示する角度表示部をクランク角検出手段にて検出すると、該クランク角検出手段から上記角度表示部に対応する信号が出力され、この信号に基づき上記クランク角区間の間隔時間とエンジン1回転の間隔時間とを算出し、この両間隔時間の比から上記クランク角区間の設計角度に対する角度補正値を算出し、この角度補正値を加重平均処理して回転補正値を算出し、この回転補正値で当該特定クランク角区間の間隔時間を補正して補正間隔時間を算出し、この補正間隔時間に基づいて当該特定クランク角区間の区間平均回転数を算出する。次いで、前回算出した区間平均回転数を、その両隣の前々回算出した区間平均回転数及び今回算出した区間平均回転数と比較し、その変化量から上記前回算出した区間平均回転数に対応する気筒が失火したか否かを判定する。
【0030】
本発明による第2のエンジンの気筒別失火判別装置は、エンジン運転時、該エンジンに同期して回転するロータに設けた気筒毎の特定クランク角区間を表示する角度表示部をクランク角検出手段にて検出すると、該クランク角検出手段から上記角度表示部に対応する信号が出力され、この信号に基づき上記各クランク角区間の間隔時間を算出し、該間隔時間のひとつを基準間隔時間として該基準間隔時間と他のクランク角区間の間隔時間との比から、基準となるクランク角区間に対する他のクランク角区間の相対的な角度補正値を算出し、この角度補正値を加重平均処理して回転補正値を算出し、この回転補正値で他の特定クランク角区間の間隔時間を補正して補正間隔時間を算出し、この補正間隔時間に基づいて当該特定クランク角区間の区間平均回転数を算出する。次いで、前回算出した区間平均回転数を、その両隣の前々回算出した区間平均回転数及び今回算出した区間平均回転数と比較し、その変化量から上記前回算出した区間平均回転数に対応する気筒が失火したか否かを判定する。
【0031】
【発明の実施の形態】
以下、図面に基づいて本発明の一実施の形態を説明する。図1〜図18に本発明の第1実施の形態を示す。図11の符号1はエンジンで、図においては水平対向型4気筒エンジンを示す。このエンジン1のシリンダヘッド2に形成された各吸気ポート2aに吸気マニホールド3が連通され、この吸気マニホールド3に各気筒の吸気通路が集合するエアチャンバ4を介してスロットルチャンバ5、吸気管6が連通され、この吸気管6の吸入空気取り入れ口側にエアクリーナ7が取り付けられている。
【0032】
又、上記吸気管6のエアクリーナ7の直下流に、ホットワイヤ式等の吸入空気量センサ8が介装され、さらに、上記スロットルチャンバ5に設けられたスロットル弁5aに、スロットル開度に応じた電圧を出力するスロットル開度センサ9aとスロットル弁全閉でONするアイドル接点を有するアイドルスイッチ9bとが組み込まれたスロットルセンサ9が連設されている。
【0033】
又、上記スロットル弁5aをバイパスして、その上流側と下流側とを連通するバイパス通路10に、ISC(アイドル回転数制御)弁11が介装されている。さらに、上記吸気マニホールド3の各気筒の各吸気ポート2a直上流側にインジェクタ14が臨まされ、上記シリンダヘッド2には、先端を燃焼室に露呈する点火プラグ15aが各気筒毎に取り付けられている。各点火プラグ15aには点火コイル15bがそれぞれ連設され、この各点火コイル15bにイグナイタ16が接続されている。
【0034】
上記インジェクタ14は、燃料供給路17を介して燃料タンク18に連通されており、この燃料タンク18内にはインタンク式の燃料ホンプ19が設けられている。この燃料ポンプ19からの燃料は、上記燃料供給路17に介装された燃料フィルタ20を経て上記インジェクタ14及びプレッシャレギュレータ21に圧送され、プレッシャレギュレータ21から上記燃料タンク18にリターンされて上記インジェクタ14への燃料圧力が所定の圧力に調圧される。
【0035】
又、エンジン1のシリンダブロック1aにノックセンサ22が取り付けられると共に、シリンダブロック1aの左右バンクを連通する冷却水通路23に冷却水温センサ24が臨まされている。さらに、上記シリンダヘッド2の排気ポート2bに連通する排気マニホールド25の集合部にO2センサ26が配設され、その下流に触媒コンバータ27が介装されている。
【0036】
又、上記シリンダブロック1aに支承されたクランクシャフト1bに、クランクロータ28が軸着され、このクランクロータ28の外周に、所定のクランク角に対応する突起を検出する電磁ピックアップ等からなるクランク角センサ29が対設され、さらに、上記クランクシャフト1bに対して1/2回転するカムシャフト1cに連設されたカムロータ30に、電磁ピックアップ等からなる気筒判別用のカム角センサ31が対設されている。
【0037】
本実施の形態によるエンジン1の点火順序は#1→#3→#2→#4であり、図12に示すように、#1,#2気筒の圧縮上死点(TDC#1,#2)が同位相であり、#3,#4気筒の圧縮上死点(TDC#3,#4)が同位相となる。この#1,#2気筒の圧縮上死点(TDC#1,#2)と、#3,#4気筒の圧縮上死点(TDC#3,#4)とが互いに対向され、クランクロータ28の外周には、各圧縮上死点(TDC#1,#2、TDC#3,#4)を基準として、回転方向に、角度表示部としての突起(或いはスリット)28a,28b,28c(28a’,28b’,28c’)が、圧縮上死点前(BTDC)θ1a,θ2a,θ3a(θ1b,θ2b,θ3b)の位置にそれぞれ形成されている。
【0038】
又、図13に示すように、上記カムロータ30の外周に気筒判別用突起(或いはスリット)30a,30b,30cが形成されている。突起30aが#3,#4気筒の圧縮上死点後(ATDC)θ4の位置に形成され、又突起30bが3個の突起で形成され、その最初の突起が#1気筒の圧縮上死点後(ATDC)θ5の位置に形成されている。更に、突起30cが2個の突起で形成され、その最初の突起が#2気筒の圧縮上死点後(ATDC)θ6の位置に形成されている。
【0039】
尚、本実施の形態では、θ1a,θ1b=97゜CA(CAはクランク角度)、θ2a,θ2b=65゜CA、θ3a,θ3b=10゜CA、θ4=20゜CA、θ5=5゜CA、θ6=20゜CAに設定されている。従って、クランク角区間θ2a−θ3aの開き角θ12、及びクランク角区間θ2b−θ3bの開き角θ34は、設計上、55゜CAになる。
【0040】
図10に示すように、後述する電子制御装置(ECU)40では、クランク角区間θ2a−θ3a(或いはθ2b−θ3b)のクランクパルスの入力間隔時間から失火判定用の区間平均回転数MNX#iを算出し、又、特定突起間のクランクパルス入力間隔時間から燃料噴射制御、或いは点火時期制御等の各制御系で読込まれるエンジン回転数Neが算出される。尚、θ2a,θ2bが点火時期ADVをカウントする際の基準クランク角に設定されている。又、各カムパルスがクランクパルスと重複しない位置に割り込まれ、割り込まれたカムパルスの個数と発生位置から気筒判別を行う。上記クランク角区間θ2a−θ3a(或いはθ2b−θ3b)は、本実施の形態ではBTDC65−10゜CA区間であり、既に燃焼を終了した気筒とこれから燃焼を開始する気筒との間の燃焼により仕事を行わない区間であり、換言すれば、このクランク角区間θ2a−θ3a(或いはθ2b−θ3b)は、既に燃焼を終了した気筒の燃焼の影響を受けにくいため、このクランク角区間θ2a−θ3a(或いはθ2b−θ3b)の回転変動から失火を判定することができる。
【0041】
図14に示すように、上記電子制御装置40は、CPU41、ROM42、RAM43、バックアップRAM43、カウンタ・タイマ群45、及びI/Oインターフェース46がバスライン47を介して互いに接続されるマイクロコンピュータを中心として構成されており、その他、安定化電圧を各部に供給する定電圧回路48、上記I/Oインターフェース46の出力ポートからの信号によりアクチュエータ類を駆動する駆動回路49、及びセンサ類からのアナログ信号をデジタル信号に変換するA/D変換器50等の周辺回路が組み込まれている。
【0042】
尚、上記カウンタ・タイマ群45は、フリーランカウンタ、カム角センサ信号の入力計数用カウンタ等の各種タイマ、燃料噴射用タイマ、点火用タイマ、定期割込みを発生させるための定期割込み用タイマ、クランク角センサ出力信号の入力間隔計数用タイマ、及びシステム異常監視用ウォッチドッグタイマ等の各種タイマを便宜上総称するもので、上記マイクロコンピュータにおいては、その他、各種のソフトウェアカウンタ・タイマが用いられる。
【0043】
上記定電圧回路48は、電源リレー51のリレー接点を介してバッテリ52に接続されており、電源リレー51のリレーコイルがイグニッションスイッチ53を介して上記バッテリ52に接続されている。又、上記バッテリ52に燃料ポンプ19が燃料ポンプリレー54のリレー接点を介して接続されている。又、上記定電圧回路48は、上記イグニッションスイッチ53がONされ、上記電源リレー51の接点が閉となったとき、上記バッテリ52の電圧を安定化して電子制御装置40の各部に供給する。さらに、上記バックアップRAM43には、バッテリ52が上記定電圧回路48を介して直接接続されており、上記イグニッションスイッチ53のON/OFFに拘らず常時バックアップ用電源が供給される。
【0044】
又、上記I/Oインターフェース46の入力ポートには、車速センサ32、スタータスイッチ33、アイドルスイッチ9b、ノックセンサ22、クランク角センサ29、及びカム角センサ31が接続されると共に、吸入空気量センサ8、スロットル開度センサ9a、冷却水温センサ24、O2センサ26がA/D変換器50を介して接続され、更に、このA/D変換器50に上記バッテリ52の端子電圧VBが入力されてモニタされる。
【0045】
一方、上記I/Oインターフェース46の出力ポートには、イグナイタ16が接続され、更に、上記駆動回路49を介してISC弁11、インジェクタ14及び、図示しないインストルメントパネルに配設され、各種警報を集中して表示するCHECK ENGINEランプ34が接続されていると共に、燃料ポンプリレー54のリレーコイルの一端が接続され、又、このリレーコイルの他端が上記イグニッションスイッチ53に接続されている。
【0046】
上記ROM42には、エンジン制御プログラムや各種の故障診断プログラム、マップ類等の固定データが記憶されており、また、上記RAM43には、上記各センサ類、スイッチ類の出力信号を処理した後のデータ、及び上記CPU41で演算処理したデータがストアされる。また、上記バックアップRAM43には、各種学習マップ、制御用データ、自己診断機能により検出した故障部位に対応するトラブルデータ等がストアされ、上記イグニッションスイッチ53がOFFのときにもデータが保持される。
【0047】
上記CPU41では、ROM42に記憶されているプログラムに従って、各センサ、及びスイッチ類からの出力信号に基づき、上記インジェクタ14、上記点火プラグ15a、及び、ISC弁11に対する制御量の演算並びに制御信号の出力、すなわち、燃料噴射制御(空燃比制御)、点火時期制御、アイドル回転数制御等のエンジン制御を最適に制御すると共に、クランクロータ28の各突起28b,28c間、及び,28b’,28c’間の製造公差による区間平均回転数の誤差を修正し、更に、修正後の区間平均回転数に基づき算出した特定クランク角区間の回転変動から気筒別の失火判定を行う。そして、失火判定時には上記CHECH ENGINEランプ34を点灯して運転者に警告すると共に、失火気筒を示すトラブルデータをバックアップRAM43にストアする。
【0048】
尚、上記トラブルデータは、電子制御装置40に対し故障診断用セレクタモニタ(携帯型故障診断装置)35をコネクタ36を介して接続することで外部に読み出すことができる。上記故障診断用セレクタモニタ35については、本出願人による特公平7−9388号公報等に詳述されている。
【0049】
以下、上記電子制御装置40で実行される失火判定ルーチンについて、図1〜図7のフローチャートに従って説明する。
【0050】
イグニッションスイッチ53をONすると電子制御装置40に電源が投入され、システムがイニシャライズ(各フラグ、及びデータ類のクリア、但し、バックアップRAM43に格納されているトラブルデータ等のデータは除く)され、その後、エンジンを始動させると、図1〜図2に示す失火診断ルーチンが、クランク角センサ29から出力されるθ3a(或いはθ3b)のクランクパルス毎、すなわちエンジン1/2回転毎に実行される。尚、フローチャート中の#iは、直前に燃焼を終了した気筒を示している。
【0051】
先ず、ステップS101で、前回ルーチン実行時に得られたクランク角区間θ2a−θ3a(或いは θ2b−θ3b)の補正間隔時間MTXA#i、区間平均回転数MNX#i、180゜CAクランクパルス間隔時間T180#i、差回転変化量DDNEA#i等の各データを、前回のデータとして、RAM43のワークエリアにストアする(MTXA#i-1←MTXA#i,MNX#i-1←MNX#i,T180#i-1←T180#i,DDNEA#i-1←DDNEA#i…)。尚、イグニッションスイッチ53をON後の最初のルーチン実行時には、各データがクリアされているため、上記ワークエリアには、“0”が格納される。
【0052】
そして、ステップS102で、これから圧縮行程を迎える気筒#i+1が、#1,#2気筒か、#3,#4気筒かをバックアップRAM43の所定アドレスに格納されている気筒番号CYLの値を参照して判別する。図10に示すように、気筒判別は、クランクパルスと、このクランクパルス間に割り込むカムパルスとに基づいて判別する。例えば、カムパルスθ5が入力された後のクランクパルスが、#3気筒の圧縮上死点前(BTDC)θ1bのクランク角を示すことが判別でき、又、カムパルスθ5の後にカムパルスθ4が入力された後のクランクパルスが、#2気筒のBTDCθ1aのクランク角を示すことが判別できる。同様に、カムパルスθ6が入力された後のクランクパルスが、#4気筒のBTDCθ1bを示すクランク角であり、又、カムパルスθ6の後にカムパルスθ4が入力された後のクランクパルスが、#1気筒のBTDCθ1aを示すクランク角であることが判別できる。そして、これから圧縮上死点を迎える気筒#i+1の気筒番号(1,3,2,4)がバックアップRAM43の所定アドレスCYLに順次格納される。従って、例えば、現在実行されている失火診断ルーチンが#1,#2気筒のBTDCθ3aのカムパルス入力時のものである場合、CYL=1、或いはCYL=2であり、又、#3,#4気筒のBTDCθ3aのカムパルス入力時のものである場合、CYL=3、或いはCYL=4である。
【0053】
そして、上記ステップS102で、CYL<3(#1気筒、或いは#2気筒)と判定したときはステップS103へ進み、又、CYL≧3(#3気筒、或いは#4気筒)と判定したときはステップS104へ進む。
【0054】
ステップS103へ進むと、エンジン回転数Neを読込み、このエンジン回転数NeをパラメータとしてテーブルTKMF12を参照して、回転補正値KMFX12を設定し、ステップS105へ進む。又、ステップS104へ進むと、エンジン回転数Neを読込み、このエンジン回転数NeをパラメータとしてテーブルTKMF34を参照して、回転補正値KMFX34を設定し、ステップS106へ進む。上記回転補正値KMFX12,KMFX34は後述する回転補正値算出サブルーチンで算出され、エンジン回転数NeをパラメータとするテーブルTKMF12,TKMF34の対応する領域にそれぞれ格納される。
【0055】
そして、ステップS103からステップS105へ進むと、次式からクランク角区間θ2a−θ3aの補正間隔時間MTXA#i(μsec)を算出しステップS107へ進む。
【0056】
MTXA#i←MTX#i・KMFX12 …(1)
一方、ステップS104からステップS106へ進むと、次式からクランク角区間θ2b−θ3bの補正間隔時間MTXA#i(μsec)を算出しステップS107へ進む。
MTXA#i←MTX#i・KMFX34 …(2)
ステップS107では、上記ステップS105或いはステップS106で算出した補正間隔時間MTXA#i(μsec)に基づき、燃焼行程気筒#iに対応する区間平均回転数MNX#i(rpm)を次式から算出する。
MNX#i←(60・106)/MTXA#i …(3)
次いで、ステップS108で、上記区間平均回転数MNX#iから前回算出した区間平均回転数MNX#i-1を減算して、差回転DELNE#iを算出し(DELNE#i←MNX#i−MNX#i-1)、ステップS109で、上記差回転DELNE#iから前回算出した差回転DELNE#i-1を減算して、差回転変化量DDNEA#iを算出する。
DDNEA#i←DELNE#i−DELNE#i-1 …(4)
尚、上記差回転変化量DDNEA#iは、
となる。
【0057】
すなわち、図10に示すように、例えば燃焼行程気筒が#3である場合、1燃焼行程前の気筒である#1気筒の区間平均回転数MNX#i-1の2倍と、その両隣の区間平均回転数MNX#i,MNX#i-2との差が、今回算出した差回転変化量DDNEA#iであり、従って、後述する単発失火判定サブルーチンにおいて、失火判定レベルLVLMISと比較されて、失火の有無が診断されるが、このときの失火判定の対象となる気筒は、1燃焼行程前気筒#i-1であることが解る。
【0058】
ところで、上記ステップS107で算出する区間平均回転数MNX#iは、クランク角区間θ2a−θ3a,θ2b−θ3bの開き角θ12,θ34の製造誤差分のばらつきを補正して算出されているため、この区間平均回転数MNX#iと前回算出した区間平均回転数MNX#i-1との差から算出する上記差回転DELNE#iは、図15に示すように、クランクロータ28の製造誤差による回転数算出誤差を修正した正確な差回転となる。尚、図15及び、後述する図16、22においては、縦軸の1目盛りを50回転、横軸の1目盛り(1div)を720°CAとして、電子制御装置40内で算出した差回転データを示している。
【0059】
しかし、図18に示すように、エンジンにスナッチなどの断続的な回転変動が発生すると、上記差回転DELNE#iを所定の失火判定レベルと比較するだけでは、正確な失火判定は困難であるため、上記ステップS109において、差回転変化量DDNEA#iを求め、この差回転変化量DDNEA#iにより、その前後の気筒の差回転の変化を捕らえることで、図16に示すように、失火発生時のエンジン運転状態に応じてレベルの変化する差回転DELNE#iに対し、スナッチなどによるエンジン回転変動の影響を排除して正確な失火判定が可能となる。
【0060】
その後、上記ステップ110へ進むと、燃料カット中か否かを判別する。燃料カット条件としては、例えば、高回転(例えば6500rpm以上)、高車速(例えば180Km/h以上)、減速走行中等があり、これらの条件の何れかが満足されたとき燃料カットが実行される。そして、燃料カット中のときはステップS111へ進み、後述する回転補正値算出サブルーチンを実行し、ステップS115で診断許可フラグFLGDIAGをクリアして(FLGDIAG←0)、ステップS116へ進む。
【0061】
又、燃料噴射が許可されているときはステップS112へ進み、このステップS112,S113で、基本燃料噴射パルス幅Tpと設定値TpLWER、或いはエンジン回転数Neと設定回転数NeUPERとを比較して診断条件が成立するか否かを判別する。
【0062】
そして、Tp≧TpLWER、且つ、Ne<NeUPERのときは、診断条件成立としてステップ114へ進み、診断許可フラグFLGDIAGをセットし(FLGDIAG←1)、一方、Tp<TpLWER、或いは、Ne≧NeUPERのときは、診断条件不成立としてステップS115へ分岐し、診断許可フラグFLGDIAGをクリアして(FLGDIAG←0)、ステップS116へ進む。。
【0063】
そして、上記ステップS116へ進むと、後述する単発失火診断サブルーチンを実行し、ステップS117へ進み、1つ前の燃焼行程気筒#i-1の失火フラグFLGMIS#i-1の値を参照する。この失火フラグは、上記ステップS116における単発失火診断において失火と判定されたときセットされるもので、FLGMIS#i-1=1、すなわち、失火診断対象となる1つ前の燃焼行程気筒#I-1が失火のときは、ステップS118へ進み、失火回数のカウント値MISCNT#i-1をカウントアップして(MISCNT#i-1←MISCNT#i-1+1)、ステップS119へ進む。又、上記ステップS117で、FLGMIS#i-1=0、すなわち、失火診断対象となる1つ前の燃焼行程気筒#I-1に失火が発生していないときは、そのままステップS119へ進む。
【0064】
そして、ステップS119へ進むと、診断許可フラグFLGDIAGの値を参照し、FLGDIAG=0のときには、ステップS125へジャンプし、FLGDIAG=1のときには、ステップS120で、失火診断の実行毎にカウントされるカウント値CRACNTをカウントアップし(CRACNT←CRACNT+1)、ステップS121で、上記カウント値CRACNTが2000に達したか否かを判別する。尚、この失火判定ルーチンは、クランク角センサ29から出力されるθ3a,θ3bのクランクパルス入力毎、すなわちエンジン1/2回転毎に実行されるため、CRACNT≧2000のときは、エンジンが1000回転以上経過した状態を示す。
【0065】
そして、CRACNT<2000のときはステップS125へジャンプし、又、CRACNT≧2000のときは、ステップS122へ進み、後述する失火判定サブルーチンを実行し、ステップS123,S124で、それぞれ、カウント値CRACNT、及び全ての気筒に対する失火回数のカウント値MISCNT#1〜#4をクリアして(CRACNT←0、MISCNT#1〜#4←0)、ステップS125へ進む。ステップS125では、今回算出した補正間隔時間MTXA#i、区間平均回転数MNX#i、差回転DELNE#i、差回転変化量DDENA#iの各データをモニタ用データとしてRAM43にセットし、ルーチンを抜ける。
【0066】
次に、上記失火判定ルーチンのステップS111で実行される回転補正値算出サブルーチンについて、図3に示すフローチャートに従って説明する。このルーチンでは、クランクロータ28に形成されているクランク角区間θ2a−θ3a,θ2b−θ3bの始まりと終わりを表示する突起28b,28c間、及び突起28b’,28c’間の開き角θ12,θ34の製造誤差による区間平均回転数の算出誤差を補正する回転補正値KMFX12,KMFX34を算出する。この回転補正値KMFX12,KMFX34を燃料カット中に行うのは、以下の理由による。
【0067】
燃料噴射中は、各気筒の吸気管形状や吸気干渉による吸気分配率の不均一、冷却系の影響による燃焼温度の相違、燃焼室容積やピストン形状の製造誤差による気筒毎の圧縮比のばらつき、燃料噴射弁の製造誤差による燃料噴射量のばらつき等の相乗作用から燃焼にばらつきが生じ易く、このような運転条件下でクランクロータ28に形成されている突起28b,28c間、及び突起28b’,28c’間の開き角θ12,θ34の製造誤差を推定することは困難である。
【0068】
これに対し、燃料カット中は、クランクシャフトの回転が正の運動エネルギとフリクションによる負の力にのみ依存しているため、燃焼のばらつきの影響を受け難く、上記回転補正値KMFX12,KMFX34を高精度に算出することができるからである。
【0069】
先ず、ステップS201では、クランク角区間θ2a−θ3a(或いは,θ2b−θ3b)の180゜CAクランクパルス入力間隔時間T180#iを算出し、ステップS202で、上記180゜CAクランク角間隔時間T180#iと、ワークエリアにストアされている前回算出した180゜CAクランク角間隔時間T180#i-1、及び今回算出したクランクパルス入力間隔時間MTX#iとに基づき次式から、角度補正値KFMを算出する。
ここで、θKは定数であり、クランク角区間θ2a−θ3a(或いは、θ2b−θ3b)の設計角度(本実施の形態では55゜CA)とエンジン1回転(360゜CA)との比(55゜CA/360゜CA)に相当する。
【0070】
従って、上記(5)式は、
となり、上記角度補正値KFMがエンジン1回転当たりの周期と、失火判別に利用するクランク角区間θ2a−θ3a(或いは、θ2b−θ3b)の周期との比であることが解る。ここで、周期fは、f=1/ω(ω:角速度)であるため、クランク角区間θ2a−θ3a(或いは、θ2b−θ3b)が誤差なく形成されていれば、上記角度補正値KFMは、1.0となる。
【0071】
そして、ステップS203で、これから圧縮行程を迎える気筒#i+1が、#1,#2気筒か、#3,#4気筒かをバックアップRAM43の所定アドレスに格納されている気筒番号CYLの値を参照して判別し、CYL<3(#1気筒、或いは#2気筒)と判定したときはステップS204へ進み、上記角度補正値KMFを次式に基づき加重平均処理して、回転補正値KMFX12を算出する。
そして、ステップS205で、後述するθ2a−θ3a区間回転補正値更新サブルーチンを実行し、上記回転補正値KFMX12をエンジン回転数をパラメータとするテーブルTKMF12の所定領域に格納し、ルーチンを抜ける。
【0072】
一方、上記ステップS203で、CYL≧3(#3気筒、或いは#4気筒)と判定したときはステップS206へ進み、上記角度補正値KMFを次式に基づき加重平均処理して、回転補正値KMFX34を算出する。
【0073】
そして、ステップS207で、後述するθ2b−θ3b区間回転補正値更新サブルーチンを実行し、上記回転補正値KFMX34をエンジン回転数をパラメータとするテーブルTKMF34の所定領域に格納し、ルーチンを抜ける。
【0074】
図8に示すように、例えばクランクロータ28のクランク角区間θ2a−θ3aの開き角θ12が製造公差の上限で製造され、又、クランク角区間θ2b−θ3bの挟み角θ34が製造公差の下限で製造された場合、上記回転補正値KMFX12,KMFX34は、図の一点鎖線で示すように、理論的にはエンジン回転数に影響されず常に一定値を示す筈であるが、実際のクランク角区間θ2a−θ3a(或いは、θ2b−θ3b)の周期とエンジン1回転の周期との比は、動弁系のフリクションやそれを駆動するベルトの共振、ピストン、クランクシャフト等のフリクション、ポンピングロス、及び慣性力等の影響により変化するため、同図に実線で示すように、エンジン回転数が高くなるに従い、エンジン1回転の周期に対して、クランク角区間θ2a−θ3a(或いは、θ2b−θ3b)の周期が長くなる、換言すれば、エンジン1回転の角速度に対してクランク角区間θ2a−θ3a(或いはθ2b−θ3b)の角速度が遅くなる右下がりの特性を示す。そのため、上記ステップS205,S207において、上記回転補正値KMFX12,KMFX34を、図9に示すようなエンジン回転数をパラメータとする16格子のテーブルに格納し、エンジン特性によって生じる種々の影響を排除する。
【0075】
上記θ2a−θ3a区間回転補正値更新サブルーチン、及びθ2b−θ3b区間回転補正値更新サブルーチンは、図4、図5に示すフローチャートに従って、それぞれ実行される。本実施の形態では、図9に示すように、上記回転補正値KMFX12,KMFX34を格納するテーブルTKMF12,TKMF34の領域が、エンジン回転数Neをパラメータとして2000rpm〜6000rpmの範囲で、250rpm毎に16格子に区画し、更に、各格子を1000rpm毎の4グループに区分している。
【0076】
図4に示すθ2a−θ3a区間回転補正値更新サブルーチンでは、先ず、ステップS301で、バックアップRAM43の所定アドレスに格納されている全体フラグFKMFX120の値を参照する。バッテリ52や電子制御装置40を一旦取り外し、再度組み込んだ後、或いは組立工程において上記電子制御装置40にバックアップ電源を供給した後の最初ルーチン実行時には、上記バックアップRAM43が初期化されて、全てのフラグ類がクリアされるため、FKMFX120=0であり、ステップS302へ進み、テーブルTKMF12の全格子に今回算出した回転補正値KMFX12を記憶させ、ステップS303で上記全体フラグFKMFX120をセットし、ルーチンを抜ける。
【0077】
一方、二回目以後のルーチン実行時には、FKMFX120=1であるため、ステップS301からステップS304へ進み、このステップS304〜S306で、エンジン回転数Neに基づきテーブルTKMF12の格子の1000rpm毎に区分されているグループを判別する。そして、エンジン回転数Neが5000rpm以上のときは、ステップS304からステップS307へ進み、グループ別フラグFKMFX121の値を参照する。
【0078】
FKMFX121=0のときは5000rpm以上の4格子(図9(a)参照)に対して、初期の回転補正値KMFX12が記憶されたままの状態であり、ステップS308へ進み、上記5000rpm以上の4格子全てに回転補正値KMFX12を記憶させ、ステップS309で、バックアップRAM43に記憶されているグループ別フラグFKMFX121をセットし、ルーチンを抜ける。又、FKMFX121=1のときは、ステップS310へ進み、エンジン回転数Neに対応する格子に上記回転補正値KMFX12を記憶させて、ルーチンを抜ける。
【0079】
又、エンジン回転数Neが5000rpm>Ne≧4000rpmのときは、ステップS305からステップS311へ進み、グループ別フラグFKMFX122の値を参照する。FKMFX122=0のときは5000rpm〜4000rpm間の4格子(図9(a)参照)に対して、初期の回転補正値KMFX12が記憶されたままの状態であり、ステップS312へ進み、5000rpm〜4000rpm間の4格子全てに回転補正値KMFX12を記憶させ、ステップS313で、バックアップRAM43に記憶されているグループ別フラグFKMFX122をセットし、ルーチンを抜ける。又、FKMFX122=1のときは、ステップS314へ進み、エンジン回転数Neに対応する格子に上記回転補正値KMFX12を記憶させて、ルーチンを抜ける。
【0080】
又、エンジン回転数Neが4000rpm>Ne≧3000rpmのときは、ステップS306からステップS315へ進み、グループ別フラグFKMFX123の値を参照する。FKMFX123=0のときは、4000rpm〜3000rpm間の4格子(図9(a)参照)に対して、初期の回転補正値KMFX12が記憶されたままの状態であり、ステップS316へ進み、4000rpm〜3000rpm間の4格子全てに回転補正値KMFX12を記憶させ、ステップS317で、バックアップRAM43に記憶されているグループ別フラグFKMFX123をセットし、ルーチンを抜ける。又、FKMFX123=1のときは、ステップS318へ進み、エンジン回転数Neに対応する格子に上記回転補正値KMFX12を記憶させて、ルーチンを抜ける。
【0081】
又、エンジン回転数Neが、3000>NeのときはステップS319へ進み、グループ別フラグFKMFX124の値を参照する。FKMFX124=0のときは、3000rpm未満の4格子(図9(a)参照)に対して、初期の回転補正値KMFX12が記憶されたままの状態であり、ステップS320へ進み、3000rpm未満の4格子全てに、今回算出した回転補正値KMFX12を記憶させ、ステップS321で、バックアップRAM43に記憶されているグループ別フラグFKMFX124をセットし、ルーチンを抜ける。又、FKMFX124=1のときは、ステップS322へ進み、エンジン回転数Neに対応する格子に上記回転補正値KMFX12を記憶させて、ルーチンを抜ける。
【0082】
又、図5に示すθ2b−θ3b区間回転補正値更新サブルーチンでは、先ず、ステップS401で、バックアップRAM43の所定アドレスに格納されている全体フラグFKMFX340の値を参照する。上述と同様、バッテリ52や電子制御装置40を一旦取り外し、再度組み込んだ後、或いは組立工程において上記電子制御装置40にバックアップ電源を供給した後の最初ルーチン実行時には、上記バックアップRAM43が初期化されて、全てのフラグ類がクリアされるため、FKMFX340=0であり、ステップS402へ進み、テーブルTKMF34の全格子に今回算出した回転補正値KMFX34を記憶させ、ステップS403で上記全体フラグFKMFX340をセットし、ルーチンを抜ける。
【0083】
一方、二回目以後のルーチン実行時には、FKMF340=1であるため、ステップS401からステップS404へ進み、このステップS404〜S406で、エンジン回転数Neに基づきテーブルTKMF34の格子の1000rpm毎に区分けしたグループを判別する。
【0084】
そして、エンジン回転数Neが5000rpm以上のときは、ステップS404からステップS407へ進み、グループ別フラグFKMF341の値を参照する。FKMF341=0のときは5000rpm以上の4格子(図9(b)参照)に対して、初期の回転補正値KMFX34が記憶されたままの状態であり、ステップS408へ進み、上記5000rpm以上の4格子全てに、今回算出した回転補正値KMFX34を記憶させ、ステップS409で、バックアップRAM43に記憶されているグループ別フラグFKMF341をセットし、ルーチンを抜ける。又、FKMF341=1のときは、ステップS410へ進み、エンジン回転数Neに対応する格子に上記回転補正値KMFX34を記憶させて、ルーチンを抜ける。
【0085】
又、エンジン回転数Neが5000rpm>Ne≧4000rpmのときは、ステップS405からステップS411へ進み、グループ別フラグFKMF342の値を参照する。FKMF342=0のときは5000rpm〜4000rpm間の4格子(図9(b)参照)に対して、初期の回転補正値KMFX34が記憶されたままの状態であり、ステップS412へ進み、5000rpm〜4000rpm間の4格子全てに回転補正値KMFX34を記憶させ、ステップS413で、バックアップRAM43に記憶されているグループ別フラグFKMF342をセットし、ルーチンを抜ける。又、FKMF342=1のときは、ステップS414へ進み、エンジン回転数Neに対応する格子に上記回転補正値KMFX34を記憶させて、ルーチンを抜ける。
【0086】
又、エンジン回転数Neが4000rpm>Ne≧3000rpmのときは、ステップS406からステップS415へ進み、グループ別フラグFKMF343の値を参照する。FKMF343=0のときは、4000rpm〜3000rpm間の4格子(図9(b)参照)に対して、初期の回転補正値KMFX34が記憶されたままの状態であり、ステップS416へ進み、4000rpm〜3000rpm間の4格子全てに回転補正値KMFX34を記憶させ、ステップS417で、バックアップRAM43に記憶されているグループ別フラグFKMF343をセットし、ルーチンを抜ける。又、FKMF343=1のときは、ステップS418へ進み、エンジン回転数Neに対応する格子に上記回転補正値KMFX34を記憶させて、ルーチンを抜ける。
【0087】
又、エンジン回転数Neが、3000>NeのときはステップS419へ進み、グループ別フラグFKMF344の値を参照する。FKMF344=0のときは、3000rpm未満の4格子(図9(b)参照)に対して、初期の回転補正値KMFX34が記憶されたままの状態であり、ステップS420へ進み、3000rpm未満の4格子全てに回転補正値KMFX34を記憶させ、ステップS421で、バックアップRAM43に記憶されているグループ別フラグFKMF344をセットし、ルーチンを抜ける。又、FKMF344=1のときは、ステップS422へ進み、エンジン回転数Neに対応する格子に上記回転補正値KMFX34を記憶させて、ルーチンを抜ける。
【0088】
その結果、上記各テーブルTKMF12,TKMF34に格納されている回転補正値KMFX12,KMFX34がクリアされた場合であっても、最初のルーチン実行時に全ての格子に回転補正値KMFX12,KMFX34が記憶され、次いで、グループ化された複数の格子に新たな回転補正値KMFX12,KMFX34が格納され、さらにグループ化された格子に新たな回転補正値KMFX12,KMFX34が格納されているときは、個別の格子に新たな回転補正値KMFX12,KMFX34が格納されるようにしたので、未学習の格子がなく、運転頻度の少ない回転数域であっても、エンジン回転数Neに対応して格納されている回転補正値KMFX12,KMFX34を用いてクランク角区間θ2a−θ3a,θ2a−θ3aの開き角θ12,θ34の製造上のばらつきを速やかに補正することができるばかりでなく、各回転補正値KMFX12,KMFX34を16格子以上に細分化した場合であっても、各適正補正値への収束性が良くなる。
【0089】
尚、上記テーブルTKMF12,TKMF34が初期化されているときの最初のルーチン実行時に、全ての格子に対して同一の回転補正値KMFX12,KMFX34を格納せず、エンジン回転数をパラメータとして該当する領域に上記回転補正値KMFX12,KMFX34を格納し、他の領域に対しては、今回算出した角度補正値KMFの傾向を再現する値を、演算により、或いは、該回転補正値KMFX12,KMFX34の基準値1.0に対する偏差をテーブル化し、該テーブルを参照して、他の領域に格納する回転補正値KMFX12,KMFX34を設定するようにしても良い。
【0090】
次に、上記失火判定ルーチンのステップS116で実行する単発失火判定サブルーチン、及びステップS122で実行する失火判定サブルーチンについて説明する。
【0091】
上記単発失火判定サブルーチンは、図6に示すフローチャートに従って実行される。先ず、ステップS501で、診断許可フラグFLGDIAGの値を参照し、FLGDIAG=0のときには、ステップS506で1燃焼行程前気筒#i-1に対する失火フラグFLGMIS#i-1をクリアして(FLGMIS#i-1←0)、ルーチンを抜け、又、FLGDIAG=1のときには、ステップS502へ進む。
【0092】
ステップS502では、エンジン回転数Neとエンジン負荷の代表である基本燃料噴射パルス幅Tpとをパラメータとして失火判定レベルマップを補間計算付きで参照し、エンジン運転状態に応じた失火判定レベルLVLMISを設定し、ステップS503へ進む。
【0093】
上記失火判定レベルLVLMISは、図17に示すように、基本燃料噴射パルス幅Tpの小さいエンジン低負荷域から基本燃料噴射パルス幅Tpが大きくなって負荷が増大する程、スライスレベルが上昇するような値が、ROM42にマップとしてストアされている。
【0094】
そして、ステップS502からステップS503へ進むと、このステップS503、及びステップS504で、上記失火判定レベルLVLMISと、RAM43から読出した燃焼行程気筒#iの差回転変化量DDNEA#i、1燃焼行程前気筒#i-1の差回転変化量DDNEA#i-1をそれぞれ比較し、失火判定を行なう。
【0095】
先ず、ステップS503では、失火判定レベルLVLMISと燃焼行程気筒#iの差回転変化量DDNEA#iとを比較し、DDNEA#i<LVLMISのときは、前述のステップS506を経てルーチンを抜け、DDNEA#i≧LVLMISのとき、ステップS504で、負の失火判定レベル(−LVLMIS)と上記1燃焼行程前気筒#i-1の差回転変化量DDNEA#i-1とを比較する。
【0096】
そして、DDNEA#i-1>−LVLMISのときには、失火なしと判別して前述のステップS506へ分岐し、DDNEA#i-1≦−LVLMISのときには、1燃焼行程前気筒#i-1(これから燃焼行程を迎える気筒を基準とした場合には、2燃焼行程前気筒)が失火状態であると判別し、ステップS505へ進み、失火フラグFLGMIS#i-1をセットして(FLGMIS#i-1←1)、ルーチンを抜ける。
【0097】
すなわち、2燃焼行程前気筒#i-2から1燃焼行程前気筒#i-1にかけての差回転変化量DDNEA#i-1が失火判定レベルLVLMIS以下の負の方向に減少した後、1燃焼行程前気筒#i-1から現在の燃焼行程気筒#iにかけての差回転変化量DDNEA#iが失火判定レベルLVLMIS以上の正の方向に増加したときにのみ、1燃焼行程前気筒#i-1が失火状態であると判定することにより、図18に示すように、差回転が所定時間連続して変化するスナッチなどのエンジン回転変動と区別し、正確に失火を検出することができる。
【0098】
一方、図7に示す失火判定サブルーチンでは、先ず、ステップS601で、4気筒分の合計失火回数ΣMISCNTn(n=1〜4)を、前述の失火診断ルーチンのステップS120でカウントしたカウント値CRACNT(=2000)で割算して、エンジン1000回転当りの失火率MISCNT(%)を算出する(MISCNT←ΣMISCNTn/CRACNT×100)。
【0099】
次いで、ステップS602へ進み、上記ステップS601で算出した失火率MISCNTが設定値LMSCNT未満かを判別する。この設定値LMSCNTは、エンジン回転数Neと基本燃料噴射パルス幅Tpとをパラメータとして予めROM42にストアされた定数である。
【0100】
上記ステップS602における判別の結果、MISCNT≧LMSCNTのときには、ステップS603で、失火率MISCNTをバックアップRAM44の所定アドレスにストアし、ステップS604で、バックアップRAM44の所定アドレスにストアされている1回目失火判定NGフラグFLGNG1の値を参照する。
【0101】
そして、未だ1回目失火判定NGフラグFLGNG1がセットされておらずFLGNG1=0のときには、ステップS606へジャンプし、又、1回目失火判定NGフラグFLGNG1がセットされておりFLGNG1=1のときには、ステップS605へ進んでバックアップRAM44の所定アドレスにストアされている2回目失火判定NGフラグFLGNG2をセットし(FLGNG2←1)、CHECH ENGINEランプ34を点灯あるいは点滅させるなどしてユーザーに警告を発し、ステップS606へ進む。
【0102】
ステップS606では、1回目失火判定NGフラグFLGNG1をセットし(FLGNG1←1)、ステップS612で、異常なしの判定回数をカウントするための失火OKカウンタをクリアして(CNTOK←0)ルーチンを抜ける。
【0103】
すなわち、ノイズなどによる誤診断を避けるため、1回目の判定で失火率MISCNTが設定値LMSCNT以上となっても、すぐには警告を発せず、2回目の判定で続けて失火率MISCNTが設定値LMSCNT以上となった場合に、その気筒は異常であると断定して警告を発する。
【0104】
尚、このとき、バックアップRAM44には、失火気筒のトラブルデータがストアされ、ディーラにおけるトラブルシュートの際に、ECU40のモニタランプの点滅コードあるいはセレクトモニタ35にて上記バックアップRAM44に記憶されているトラブルデータが読出される。そして、失火気筒が判別されて修理がなされた後、上記バックアップRAM44のトラブルデータは上記セレクトモニタ35などを介してクリアする。
【0105】
一方、上記ステップS602で、MISCNT<LMSCNTのときには異常なしであるため、ステップS607で、失火OKカウンタCNTOKをインクリメントすると(CNTOK←CNTOK+1)、ステップS608で、失火OKカウンタCNTOKの値が80回を越えたかを判別し、CNTOK<80のときは、そのままルーチンを抜け、CNTOK≧80のとき、ステップS609,S610,S611で、それぞれ、1回目失火判定NGフラグFLGNG1、2回目失火判定NGフラグFLGNG2、失火率MISCNTをクリアすると(FLGNG1←0、FLGNG2←0、MISCNT←0)、前述のステップS612へ進み、失火OKカウンタCNTOKをクリアして(CNTOK←0)ルーチンを抜ける。
【0106】
次に、図19、図20に本発明の第2の実施の形態を示す。図19は、第1の実施の形態の図3に代えて採用される回転補正値算出サブルーチンで、図20は、図1のステップS103〜S106に代えて採用される失火診断ルーチンである。
【0107】
上記第1の実施の形態では、回転補正値KMFX12,KMFX34を、失火判別に利用するクランク角区間θ2a−θ3a、或いはθ2b−θ3bの周期と、エンジン1回転の周期との比から個別に算出してるが、本実施の形態では、失火判別に利用するクランク角区間が複数ある場合、あるクランク角区間の角速度を基準とし、この基準となるクランク角区間のクランクパルス入力間隔時間に対する他のクランク角区間のクランクパルス入力間隔時間の相対変動から失火を判別するもので、失火を判定する区間が2カ所の場合には、1つの角度補正値KMFのみが算出される。尚、本実施の形態では、クランク角区間θ2a−θ3aの区間を基準とし、このクランク角区間θ2a−θ3aの区間で算出した基準区間平均角速度MTF12と他のクランク角区間θ2b−θ3bで算出した角速度MTF34との比から、該クランク角区間θ2b−θ3bのクランクパルス入力間隔時間MTX34に対する角度補正値KMFを求める。
【0108】
図19に示す回転補正値算出サブルーチンでは、先ず、ステップS701で、最新のクランクパルス入力間隔時間MTX12、MTX34に基づき算出した各クランク角区間θ2a−θ3a,θ2b−θ3bの周期TMF12,TMF34の比から、角度補正値KMFを算出する。
KMF←TMF12/TMF34 …(8)
尚、本実施の形態では、各クランク角区間θ2a−θ3a,θ2b−θ3bの開き角θ12,θ34は、同じ角度(55゜CA)に設定されているため、上記(8)式は、
KMF←MTX12/MTX34 …(8’)
でも良い。
【0109】
次いで、ステップS702で、上記補正値KMFを次式に基づき加重平均処理して、クランク角区間θ2b−θ3bのクランクバルブ入力間隔時間MTX34を補正する回転補正値KMFXを算出する。
【0110】
そして、ステップS703で、前記第1の実施の形態のθ2a−θ3a区間回転補正値更新サブルーチン(或いはθ2b−θ3b区間回転補正値更新ルーチン)と同様のルーチンを実行して上記回転補正値KFMXをエンジン回転数をパラメータとするテーブルTKMF12(或いはTKMF34)の所定領域に格納し、ルーチンを抜ける。
【0111】
そして、図20に示す失火診断ルーチンのステップS102で、これから圧縮行程を迎える気筒#i+1を、前記第1の実施の形態と同様、パックアップRAM43の所定アドレスに格納されている気筒番号CYLの値を参照して判別し、#1,#2気筒のときはステップS801へ進み、クランク角区間θ2a−θ3aのクランクパルス入力間隔時間MTX12を、補正間隔時間MTXA#iとして、ステップS107へ進む。又、これから圧縮行程を迎える気筒が#3,#4気筒の場合には、ステップS802へ分岐し、エンジン回転数Neを読込み、このエンジン回転数NeをパラメータとしてテーブルTKMFを参照して、回転補正値KMFXを設定し、ステップS803で、次式からクランク角区間θ2b−θ3bの補正間隔時間MTXA#iを算出しステップS107へ進む。
【0112】
MTXA#i←MTX34・KMFX …(10)
そして、ステップS107以降において、前記第1の実施の形態と同様にルーチンを実行して、失火の有無を気筒別に診断する。
【0113】
この実施の形態によれば、基準となるクランク角区間のクランクパルス入力間隔時間を基準として、他のクランク角区間のクランクパルス入力間時間を修正してクランクロータ28のクランク角区間θ2a−θ3a,θ2b−θ3bの製造誤差に伴う区間平均回転数の算出誤差を相対的に修正するようにしたので、演算が容易になる。
【0114】
【発明の効果】
以上、説明したように請求項1記載の発明によれば、エンジンと同期回転するロータの気筒毎に対応する特定クランク角区間に設けた角度表示部を検出して出力されるクランクパルスに基づきエンジン1回転の間隔時間と特定クランク角区間の間隔時間とを算出し、この両間隔時間の比から当該特定クランク角区間の角度補正値を算出し、この角度補正値を加重平均処理して回転補正値を算出し、この回転補正値により当該特定クランク角区間の間隔時間を補正するようにしたので、上記ロータのクランク角区間毎に設けた角度表示部の開き角に製造誤差があっても、この製造誤差が排除された、設計通りのクランク角区間に対応した真の間隔時間を求めることができ、従って、この間隔時間に基づいて正確な区間平均回転数を算出することができる。
【0115】
請求項2記載の発明によれば、エンジンと同期回転するロータの気筒毎に対応する特定クランク角区間に設けた角度表示部を検出して出力されるクランクパルスに基づき2カ所以上の特定クランク角区間の間隔時間を算出し、この各間隔時間の1つを基準間隔時間とし、この基準間隔時間と他のクランク角区間の間隔時間との比から、当該クランク角区間の間隔時間を補正する角度補正値を算出し、この角度補正値を加重平均処理して回転補正値を算出し、この回転補正値で補正した間隔時間に基づいて当該クランク角区間の区間平均回転数を算出するようにしたので、基準となるクランク角区間の開き角に対する他のクランク角区間の開き角のばらつきが相対的に排除され、従って、全クランク角区間の区間平均回転数が、基準となるクランク角区間の区間平均回転数を基準とした相対的な値に統一され、該基準区間平均回転数に対する他の区間平均回転数の相対的な変化量を一律に検出することが可能となる。
【0116】
請求項3記載の発明によれば、上記請求項1或いは2記載の発明において、前記回転補正値を燃料カット時に算出することで、気筒間の燃焼によるばらつきの影響を排除して正確な回転補正値を求めることができる。
【0117】
請求項4記載の発明によれば、上記請求項1或いは2記載の発明において、前記角度補正値をエンジン回転数をパラメータとして領域別に格納するようにしたので、高回転域であっても動弁系、及びクランクシャフトなどのフリクション、ポンプピングロス等の影響による回転変動を排除した正確な値を求めることができる。
【0118】
請求項5記載の発明によれば、上記請求項1或いは2記載の発明において、前記回転補正値をエンジン回転数をパラメータとしてテーブルに対して領域別に格納する際に、該テーブルが初期化されているときは、最初に算出された回転補正値を上記テーブルの全領域に格納するようにしたので、テーブルが初期化された後に運転領域が変化した場合でも、上記回転補正値を利用してクランク角区間の間隔時間を補正することができ、各領域に格納される補正値の適正な値への収束性が良くなる。
【0119】
請求項6記載の発明によれば、上記請求項1或いは2記載の発明において、前記回転補正値をエンジン回転数をパラメータとしてテーブルに対して領域別に格納する際に、該テーブルが初期化されているときは、最初に算出された回転補正値を上記テーブルの全領域に格納し、その後は、エンジン回転数に基づき、該エンジン回転数毎に一定のグループに区分された領域に上記回転補正値を格納するようにしたので、学習の機会の少ない領域であっても適正な回転補正値への収束性が良くなり、従って、テーブルの領域をより細分化することができ、その分、上記間隔時間をより緻密に補正することができる。
【0120】
請求項7記載の発明によれば、エンジンと同期回転するロータの気筒毎に対応する特定クランク角区間に設けた角度表示部を検出して出力されるクランクパルスに基づきエンジン1回転の間隔時間と特定クランク角区間の間隔時間とを算出し、この両間隔時間の比から当該特定クランク角区間の角度補正値を算出し、この角度補正値を加重平均して回転補正値を算出し、この回転補正値により当該特定クランク角区間の間隔時間を補正するようにしたので、上記ロータのクランク角区間毎に設けた角度表示部の開き角に製造誤差があっても、この製造誤差が排除された、設計通りのクランク角区間に対応した真の間隔時間を求めることができ、この真の間隔時間から算出された区間平均回転数に基づき、失火診断の対象となる気筒に係わる区間平均回転数と、その両隣の区間平均回転数との変化量に基づき上記失火診断対象となる気筒の失火の有無を正確に検出することができる。
【0121】
請求項8記載の発明によれば、エンジンと同期回転するロータの気筒毎に対応する特定クランク角区間に設けた角度表示部を検出して出力されるクランクパルスに基づき2カ所以上の特定クランク角区間の間隔時間を算出し、この各間隔時間の1つを基準間隔時間とし、この基準間隔時間周期と他のクランク角区間の間隔時間との比から、当該クランク角区間の間隔時間を補正する角度補正値を算出し、この角度補正値を加重平均処理して回転補正値を算出し、この回転補正値で補正した間隔時間に基づいて当該クランク角区間の区間平均回転数を算出するようにしたので、基準となるクランク角区間の開き角に対する他のクランク角区間の開き角のばらつきが相対的に排除され、従って、全クランク角区間の区間平均回転数が、基準となるクランク角区間の区間平均回転数にを基準とした相対的な値に統一され、上記ロータのクランク角区間毎に設けた角度表示部の開き角に製造誤差があっても、各クランク角区間の区間平均回転数は、この製造誤差によるばらつきが相対的に修正された状態で算出される。従って、この区間平均回転数を用いて、失火診断の対象となる気筒に係わる区間平均回転数と、その両隣の区間平均回転数との変化量から上記失火診断対象となる気筒の失火の有無を正確に検出することができる。
【図面の簡単な説明】
【図1】第1実施の形態による失火診断ルーチンを示すフローチャート
【図2】同失火診断ルーチンを示すフローチャート(続き)
【図3】同回転補正値算出サブルーチンを示すフローチャート
【図4】同θ2a−θ3a区間回転補正値更新サブルーチンを示すフローチャート
【図5】同θ2b−θ3b区間回転補正値更新サブルーチンを示すフローチャート
【図6】同単発失火判定サブルーチンを示すフローチャート
【図7】同失火判定サブルーチンを示すフローチャート
【図8】同回転補正値の特性を示す説明図
【図9】同回転補正値を格納するテーブルの概念図
【図10】同筒内圧力変動、クランクパルス、カムパルス、及びエンジン回転変動を示すタイミングチャート
【図11】同エンジンの全体概略図
【図12】同クランクロータとクランク角センサの正面図
【図13】同カムロータとカム角センサの正面図
【図14】同電子制御装置の回路図
【図15】同差回転を示す説明図
【図16】同差回転変化量を示す説明図
【図17】同失火判定レベルの説明図
【図18】同スナッチ発生時の運転状態と差回転を示す説明図
【図19】第2実施の形態による回転補正値算出サブルーチンを示すフローチャート
【図20】同失火診断ルーチンを示すフローチャート
【図21】従来例によるクランクロータとクランク角センサの正面図、及びクランクパルスと燃焼行程気筒を示すタイミングチャート
【図22】従来例による補正前の差回転を示す説明図
【符号の説明】
1…エンジン
28…クランクロータ
28b,28c,28a’,28b’…角度表示部(突起)
29…クランク角検出手段(クランク角センサ)
KMF…角度補正値
MTXA#i…補正間隔時間
MNX#i…区間平均回転数
MNX#i-2…(前々回算出した)区間平均回転数
MNX#i-1…(前回算出した)区間平均回転数
Ne…エンジン回転数
TKMF12,TKMF34…テーブル
θ2a−θ3a,θ2b−θ3b…クランク角区間
Claims (8)
- エンジンと同期回転するロータに、少なくとも気筒毎の特定クランク角区間を表示する角度表示部を設け、
該角度表示部を検出したクランク角検出手段からの信号に基づきエンジン1回転の間隔時間と特定クランク角区間の間隔時間とを算出し、この両間隔時間の比から上記クランク角区間の設計角度に対する角度補正値を算出する手段と、
上記角度補正値を加重平均処理して回転補正値を算出する手段と、
上記回転補正値で上記特定クランク角区間の間隔時間を補正して補正間隔時間を算出する手段と、
この補正間隔時間に基づき区間平均回転数を算出する手段とを備えることを特徴とするエンジン回転数算出装置。 - エンジンと同期回転するロータに、少なくとも気筒毎の特定クランク角区間を表示する角度表示部を設け、
該角度表示部を検出したクランク角検出手段からの信号に基づき2カ所以上の特定クランク角区間の間隔時間を算出し、この各間隔時間のひとつを基準間隔時間とし、該基準間隔時間と他のクランク角区間の間隔時間との比から相対的な角度補正値を算出する手段と、
上記角度補正値を加重平均処理して回転補正値を算出する手段と、
上記回転補正値で上記特定クランク角区間の間隔時間を補正して補正間隔時間を算出する手段と、
この補正間隔時間に基づき対応するクランク角区間毎の区間平均回転数を算出する手段とを備えることを特徴とするエンジン回転数算出装置。 - 前記回転補正値が燃料カット時に算出されることを特徴とする請求項1或いは2記載エンジンの回転数算出装置。
- 前記回転補正値をエンジン回転数をパラメータとして領域別に格納することを特徴とする請求項1或いは2記載のエンジン回転数算出装置。
- 前記回転補正値をエンジン回転数をパラメータとして領域別に格納するテーブルを備え、
上記テーブルの全領域が初期化されているときは最初に算出された回転補正値を上記テーブルの全領域に格納することを特徴とする請求項1或いは2載のエンジンの回転数算出装置。 - 前記回転補正値をエンジン回転数をパラメータとして領域別に格納するテーブルを備えると共に、
上記テーブルの各領域がエンジン回転域毎に一定のグループに区分され、
上記テーブルの全領域が初期化されているときは最初に算出された回転補正値を上記テーブルの全領域に格納し、
又上記テーブルの全領域に同一の回転補正値が格納された後、該テーブルの各グループ内の領域が更新されていないときは、エンジン回転数をパラメータとして特定した該当グループ内の領域を当該回転補正値で更新することを特徴とする請求項1或いは2記載のエンジン回転数算出装置。 - エンジンと同期回転するロータに、少なくとも気筒毎の特定クランク角区間を表示する角度表示部を設け、
該角度表示部を検出したクランク角検出手段からの信号に基づきエンジン1回転の間隔時間と特定クランク角区間の間隔時間とを算出し、この両間隔時間の比から上記クランク角区間の設計角度に対する角度補正値を算出する手段と、
上記角度補正値を加重平均処理して回転補正値を算出する手段と、
上記回転補正値で上記特定クランク角区間の間隔時間を補正して補正間隔時間を算出する手段と、
この補正間隔時間に基づき区間平均回転数を算出する手段と、
前回算出した区間平均回転数と今回算出した区間平均回転数及び前々回算出した区間平均回転数との変化量に基づき前回算出した区間平均回転数に対応する気筒の失火を判定する手段とを備えることを特徴とするエンジンの気筒別失火検出装置。 - エンジンと同期回転するロータに、少なくとも気筒毎の特定クランク角区間を表示する角度表示部を設け、
該角度表示部を検出したクランク角検出手段からの信号に基づき2カ所以上の特定クランク角区間の間隔時間を算出し、この各間隔時間のひとつを基準間隔時間とし、該基準間隔時間と他のクランク角区間の間隔時間との比から相対的な角度補正値を算出する手段と、
上記角度補正値を加重平均処理して回転補正値を算出する手段と、
上記回転補正値で上記特定クランク角区間の間隔時間を補正して補正間隔時間を算出する手段と、
この補正間隔時間に基づき対応するクランク角区間毎の区間平均回転数を算出する手段と、
前回算出した区間平均回転数と今回算出した区間平均回転数及び前々回算出した区間平均回転数との変化量に基づき前回算出した区間平均回転数に対応する気筒の失火を判定する手段とを備えることを特徴とするエンジンの気筒別失火検出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28097996A JP3963984B2 (ja) | 1996-10-23 | 1996-10-23 | エンジン回転数算出装置及びエンジンの気筒別失火検出装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28097996A JP3963984B2 (ja) | 1996-10-23 | 1996-10-23 | エンジン回転数算出装置及びエンジンの気筒別失火検出装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10122031A JPH10122031A (ja) | 1998-05-12 |
JP3963984B2 true JP3963984B2 (ja) | 2007-08-22 |
Family
ID=17632570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28097996A Expired - Fee Related JP3963984B2 (ja) | 1996-10-23 | 1996-10-23 | エンジン回転数算出装置及びエンジンの気筒別失火検出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3963984B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4508036B2 (ja) * | 2005-08-23 | 2010-07-21 | 株式会社デンソー | 回転角度検出装置 |
EP1757946B1 (en) | 2005-08-23 | 2016-12-28 | Denso Corporation | Rotation angle sensing device |
JP4940411B2 (ja) * | 2007-06-27 | 2012-05-30 | 多摩川精機株式会社 | アナログ角度センサ精度補正プログラム、補正方法、記録媒体およびサーボドライバ |
JP4633809B2 (ja) * | 2008-02-14 | 2011-02-16 | 本田技研工業株式会社 | 内燃機関の失火検出装置 |
JP5958221B2 (ja) * | 2012-09-18 | 2016-07-27 | マツダ株式会社 | 内燃機関の制御方法 |
-
1996
- 1996-10-23 JP JP28097996A patent/JP3963984B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10122031A (ja) | 1998-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3743073B2 (ja) | 内燃機関の失火検出装置 | |
US5862505A (en) | Misfire discriminating method and apparatus for an engine | |
KR0145702B1 (ko) | 엔진제어장치 | |
JP2002047996A (ja) | 内燃機関用失火検出装置 | |
JP2784069B2 (ja) | エンジンの失火判定装置 | |
US7886584B2 (en) | Method and apparatus for detecting a stroke of a 4-cycle internal combustion engine, based on changes in rotary engine speed | |
US5447061A (en) | Misfire detection method for engine | |
JP3186524B2 (ja) | 内燃機関のクランク角検出装置 | |
JPH06101560A (ja) | 内燃エンジンの燃焼状態検出装置 | |
JP3963984B2 (ja) | エンジン回転数算出装置及びエンジンの気筒別失火検出装置 | |
JPH0874652A (ja) | 内燃エンジンの燃焼状態検出装置 | |
JPH06146999A (ja) | 内燃エンジンの燃焼状態検出装置 | |
JP3643250B2 (ja) | エンジンの失火検出装置 | |
WO2019187733A1 (ja) | 角度検出装置および角度検出方法 | |
JP2010150953A (ja) | 内燃機関の失火診断装置 | |
JPH02112646A (ja) | 多気筒内熱機関用失火検出装置 | |
JPH04265475A (ja) | エンジンの気筒別失火判別方法 | |
JPH10213058A (ja) | エンジンの失火診断装置 | |
JPH10148153A (ja) | エンジンの失火診断装置 | |
JPH0642398A (ja) | エンジンの失火検出方法 | |
JPH0751917B2 (ja) | エンジンの気筒別失火判別方法 | |
JPH1077899A (ja) | エンジンの失火診断装置 | |
JP4186350B2 (ja) | 内燃機関の燃焼状態検出装置 | |
JP3346138B2 (ja) | 内燃機関の失火検出装置 | |
JPH0533717A (ja) | 多気筒内燃機関の失火検出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060323 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061031 |
|
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: 20070501 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070523 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110601 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110601 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120601 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |