(57)【特許請求の範囲】
【請求項１】
内燃機関に設けられた機関制御のためのセンサ，アクチュエータ等の制御機器の異常を予め設定された異常判定条件に基づき判定する異常判定手段を備え、該異常判定手段にて制御機器の異常が判定されると、該制御機器を使用しない所定のフェイルセーフ制御を実行すると共に、
前記制御機器の異常状態からの正常復帰を、予め設定された正常復帰条件に基づき判定する正常復帰判定手段を備え、該正常復帰判定手段にて該制御機器の正常復帰が判定されると、前記フェイルセーフ制御を解除して、該制御機器を用いた通常制御を実行する内燃機関の制御装置において、
前記異常判定手段による異常判定と前記正常復帰判定手段による正常復帰判定とが所定頻度で交互に繰り返されると、前記正常復帰判定手段が前記制御機器の正常復帰を判定する正常復帰条件を、正常復帰し難い方向に切り換える復帰条件変更手段を設けたことを特徴とする内燃機関の制御装置。
【請求項２】
請求項１に記載の内燃機関の制御装置であって、
多気筒４サイクル内燃機関のクランクシャフトに同期して回転する第１回転体、該第１回転体の外周位置に等角度間隔で形成された複数の第１回転角被検出部、該第１回転体の外周位置の特定箇所に形成された第１基準位置被検出部、及び、該各被検出部の回転軌跡近傍に設けられ各被検出部の通過に応じて検出信号を発生する第１検出素子を備えた第１回転センサと、
前記内燃機関のカムシャフトに同期して回転する第２回転体、該第２回転体の外周位置に等角度間隔で前記内燃機関の気筒数に対応した数だけ形成された第２回転角被検出部、該第２回転体の外周位置の特定箇所に形成された第２基準位置被検出部、及び、該各被検出部の回転軌跡近傍に設けられ各被検出部の通過に応じて検出信号を発生する第２検出素子を備えた第２回転センサと、
前記第１回転センサから前記第１基準位置被検出部に対応した第１基準検出信号が入力されると、該信号入力前の前記第２回転センサからの検出信号の入力パターンから特定気筒の基準位置を判別する気筒判別手段と、
を備え、
前記異常判定手段は、前記第１回転センサからの検出信号に基づき、前記第１検出素子にて前記第１基準位置被検出部が検出される期間内での前記第１回転角被検出部の検出回数をカウントし、該カウント値が前記第１回転角被検出部の個数と一致しないときに、前記異常判定条件が成立したとして、前記第１回転センサの異常を判定し、
前記正常復帰判定手段は、前記異常判定条件が非成立状態になるか、前記気筒判別手段にて特定気筒の基準位置が判別されると、前記正常復帰条件が成立したとして、前記第１回転センサの正常復帰を判定し、
前記復帰条件変更手段は、前記異常判定手段による異常判定と前記正常復帰判定手段による正常復帰判定とが所定頻度で交互に繰り返されると、前記正常復帰判定手段が前記第１回転センサの正常復帰を判定する正常復帰条件を、前記異常判定条件の非成立状態のみに切り換えることを特徴とする内燃機関の制御装置。
【請求項３】
請求項１又は請求項２に記載の内燃機関の制御装置において、
前記復帰条件変更手段は、前記異常判定手段による異常判定と正常復帰判定手段による正常復帰判定との繰返し回数を所定期間毎にカウントするカウント手段を備え、該カウント手段によるカウント値が所定値以上になったときに、前記正常復帰条件を切り換えることを特徴とする内燃機関の制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、機関制御に用いるセンサ，アクチュエータ等の制御機器の異常を判定すると所定のフェイルセーフ制御を行い、制御機器の正常復帰を判定すると機関制御を通常制御に復帰させる内燃機関の制御装置に関する。
【０００２】
【従来の技術】
従来より、内燃機関の制御，例えば燃料噴射制御や点火時期制御等を行う制御装置においては、制御に用いるセンサ，アクチュエータ等の制御機器に異常が発生すると、内燃機関を正常に制御することができず、場合によっては安全性を保てないことがあるので、これら制御機器の正常・異常を判定して、異常判定時には、その制御機器の使用を禁止して、他の制御機器を代りに使用するか或は予め設定された所定の制御手順で機関制御を行うフェイルセーフ制御を実行するようにしている。
【０００３】
また、こうしたフェイルセーフ制御を実行する装置では、異常判定後、制御機器が正常状態に復帰することがあるので、制御機器の動作状態等を監視して、制御機器が正常復帰したか否かを判定し、制御機器の正常復帰を判定すると、フェイルセーフセーフ制御を解除して、機関制御を速やかに通常制御に復帰させる。
【０００４】
【発明が解決しようとする課題】
ところが、このように制御機器の異常判定及び正常復帰判定を行い、通常制御からフェイルセーフ制御への切り換え及びフェイルセーフ制御から通常制御への切り換えを行う制御装置では、正常・異常の判定結果が、正常→異常→正常というように、不規則に且つ頻繁に変化することがある。
【０００５】
そして、この場合、機関制御も、通常制御→フェイルセーフ制御→通常制御というように頻繁に切り替わるので、機関制御を安定して実行することができず、内燃機関の運転状態が不安定になり、場合によってはフェイルセーフ制御が不完全になって、安全性を充分に確保できなくなることも考えられる。
【０００６】
また、こうした問題は、制御機器自体が実際に正常動作・異常動作を繰り返した場合に発生するのは当然であるが、特に、制御の応答性や信頼性を確保するために異常判定条件と正常復帰判定条件とに夫々異なる条件を設定した場合に発生し易くなる。
【０００７】
例えば、従来より、内燃機関のクランクシャフトに設けた歯車状の回転センサに欠歯や余分歯を設け、その位置を検出することによりクランクシャフトの所定の回転角度位置を検出し、その検出位置から燃料噴射等の制御を行う気筒を判別する装置が知られている。そして、この種の装置では、回転センサの異常を判定する異常判定条件と正常復帰を判定する正常復帰条件とを同じにすると（つまり、異常判定条件の成立の有・無によってセンサの異常・正常を判定するようにすると）、ノイズ等によって回転センサの異常が誤判定されたときに回転センサが正常動作しているにもかかわらずフェイルセーフ制御が実行されてしまうとか、内燃機関の始動時に、回転センサの異常判定条件が成立しているか否かを確認するのに時間がかかり、燃料噴射や点火を行う気筒の判別が遅れて、内燃機関を速やかに始動することができなくなる、といったことがあるので、回転センサの異常判定条件として、回転センサから内燃機関の１回転当たりに出力される検出信号が正常か否かによって回転センサの異常判定を行う判定条件を設定し、正常復帰条件には、回転センサからの検出信号に基づき気筒判別ができたか否かを判定することにより正常復帰を判定する判定条件を設定する、というように、異常判定条件と復帰判定条件とに夫々異なる判定条件を設定することが行われている。しかし、このように異常判定条件と正常復帰条件とに異なる判定条件を設定すると、異常判定条件と正常復帰条件との違いにより、異常判定時には制御機器の異常が判定され、正常復帰判定時には制御機器の正常が判定されて、正常・異常の判定結果が頻繁に切り替わる、といったことがあり、上記問題が発生し易くなるのである。
【０００８】
本発明は、こうした問題に鑑みなされたもので、上記のように制御機器の異常判定及び正常復帰判定を行うことにより、機関制御を、通常制御からフェイルセーフ制御或はその逆へと切り換える装置において、異常・正常の判定が頻繁に切り替わって制御が不安定になるのを防止することを目的とする。
【０００９】
【課題を解決するための手段】
かかる目的を達成するために、請求項１に記載の内燃機関の制御装置では、異常判定手段が、予め設定された異常判定条件に基づき、機関制御のための制御機器の異常動作を判定すると、その制御機器を使用しない所定のフェイルセーフ制御を実行し、正常復帰判定手段が、予め設定された正常復帰条件に基づき制御機器の異常動作から正常動作への復帰を検出すると、フェイルセーフ制御を解除して、機関制御を、その制御機器を用いた通常制御に復帰させる。そして、異常判定手段による異常判定と正常復帰判定手段による正常復帰判定とが所定頻度で交互に繰り返されると、復帰条件変更手段が、正常復帰判定手段が制御機器の正常復帰を判定する正常復帰条件を正常復帰し難い方向に切り換える。
【００１０】
従って、本発明によれば、異常判定手段による異常判定と正常復帰判定手段による正常復帰判定とが所定頻度で交互に繰り返された場合には、正常復帰判定手段により制御機器の正常復帰が判定され難くなり、制御機器の正常・異常の判定結果の頻繁な切り替わりを防止して、機関制御を安定させることができる。また特に、本発明では、正常復帰条件を正常復帰し難い方向に切り換えるので、異常判定と正常復帰判定とが交互に繰り返された場合には、制御機器の正常・異常の判定結果は、「異常」側で安定し、フェールセーフ制御が連続的に安定して実行されることになるので、安全性を充分に確保することができる。
【００１１】
次に、請求項２に記載の内燃機関の制御装置においては、多気筒４サイクル内燃機関のクランクシャフトの回転状態を検出する第１回転センサと、その内燃機関のカムシャフトの回転状態を検出する第２回転センサとを備え、第１回転センサから第１基準位置被検出部に対応した第１基準検出信号が入力されたときに、気筒判別手段にて、その入力前の第２回転センサからの検出信号の入力パターンから、特定気筒の基準位置を判別する。
【００１２】
つまり、第１基準位置被検出部は、第１回転体の外周位置の特定箇所に設けられているため、これに対応した第１基準検出信号は、第１回転センサからクランクシャフトの１回転に１回の割りで出力されるが、４サイクル内燃機関においては、各気筒の全行程がクランクシャフトの２回転で完了するので、第１基準検出信号のみでは、機関制御に必要な特定気筒の基準位置（例えば燃料噴射を開始する基準となる気筒）を判別できない。そこで本発明では、第１基準信号が入力された際に、クランクシャフトの２回転で１回転するカムシャフトに設けた第２回転センサからの検出信号を利用して、特定気筒の基準位置を判別するのである。
【００１３】
そして、本発明では、異常判定手段にて第１回転センサの異常を判定する際の異常判定条件が、第１検出素子にて第１基準位置被検出部が検出される期間内での第１回転角被検出部の検出回数のカウント値が、第１回転体に形成した第１回転角被検出部の個数と一致しないときに、第１回転センサの異常を判定するように設定され、正常復帰判定手段にて第１回転センサの正常復帰を判定する際の正常復帰条件が、異常判定条件が非成立状態になるか、気筒判別手段にて特定気筒の基準位置が判別されたときに、第１回転センサの正常復帰を判定するように設定される。
【００１４】
なお、これは、前述したように、復帰判定条件を異常判定条件と同じにすると、ノイズ等によって第１回転センサの異常が誤判定されたときにフェイルセーフ制御が実行されてしまうとか、内燃機関の始動時に第１回転センサの正常判定を行うのに時間がかかり、気筒判別して燃料噴射等を開始するのが遅れて、始動性が低下する、といったことがあるためであり、本発明では、正常復帰条件として、異常判定条件の非成立時と、気筒判別手段にて特定気筒の基準位置を判別できたときとの２つの条件を設定することにより、内燃機関の始動時には、気筒判別ができた時点で内燃機関を速やかに始動できるようにしている。
【００１５】
ところが、このように異常判定条件と正常復帰条件とに異なる条件を設定した場合には、同一条件にした場合に比べて、第１回転センサの異常判定と正常判定とが繰り返される可能性が高く、しかもその場合は、第１回転センサに何等かの異常は生じていると考えられる。そこで、本発明では、異常判定手段による異常判定と正常復帰判定手段による正常復帰判定とが所定頻度で交互に繰り返されると、復帰条件変更手段にて、正常復帰判定手段が第１回転センサの正常復帰を判定する正常復帰条件を、異常判定条件の非成立状態のみに切り換えることにより、正常復帰判定手段にて正常復帰を判定し難くしているのである。
【００１６】
この結果、本発明によれば、第１回転センサの正常・異常の判定結果の頻繁な切り替わりを防止して、機関制御を安定させることができると共に、第１回転センサに何等かの異常が生じているにもかかわらず、正常復帰が誤判定されるのを防止することができる。従って、本発明によれば、第１回転センサを用いた機関制御を良好に実行することができ、内燃機関運転時の安全性を向上することができる。
【００１７】
なお、復帰条件変更手段としては、請求項３に記載の如く、カウント手段にて、異常判定手段による異常判定と正常復帰判定手段による正常復帰判定との繰返し回数を所定期間毎にカウントし、このカウント手段によるカウント値が所定値以上になったときに、正常復帰条件を切り換えるようにすればよい。
【００１８】
【発明の実施の形態】
以下に本発明の一実施例を図面と共に説明する。
図１は、自動車用４サイクル６気筒ディーゼルエンジン（以下単にエンジンという）への燃料噴射量等を制御する実施例のエンジン制御装置の構成を表わす概略構成図である。
【００１９】
図１に示すように、エンジンのクランクシャフト１には、その同軸上に第１回転体として円板状のＮＥパルサ２が固定されている。このＮＥパルサ２の外周には、クランクシャフト１の所定回転角度毎｛本実施例では１５℃Ａ毎（℃Ａ：クランク角度）｝毎に、第１回転角被検出部としての複数の突起３が形成されている。そして、この複数の突起３のうち、特定気筒，例えば第１気筒及び第６気筒の上死点（ＴＤＣ）を示す基準位置に対応する突起は削除されており、その部分が第１基準位置被検出部としての欠歯部４となっている。従って、ＮＥパルサ２には、合計２３個の突起３が形成されていることになる。
【００２０】
一方、エンジンのクランクシャフト１に同期して回転し、クランクシャフト１の２回転に１回転するカムシャフト５には、その同軸上に第２回転体として円板状のＧパルサ６が固定されている。このＧパルサ６の外周には、気筒数に対応して外周を等分割した所定角度毎（本実施例では６気筒であるので６０度毎であり、クランク角では１２０℃Ａ毎となる）に、第２回転角被検出部としての複数（本実施例では６個）の突起７が形成されている。そして、この複数の突起７は、エンジン各気筒の上死点前４５℃Ａの位置に形成され、各気筒の基準位置を示すように作用する。また、第１気筒の上死点を示す基準位置に対応する突起７の直前には、第２基準位置被検出部としての余分歯８が形成されている。なお本実施例では、余分歯８は、第１気筒の上死点前７５℃Ａの位置に形成される。
【００２１】
また、上記各パルサ２、６の外周近傍には、夫々、第１検出素子及び第２検出素子としての電磁ピックアップ１０，１２が配設されている。そして、各電磁ピックアップ１０，１２は、波形整形回路１５を介して、ＣＰＵ，ＲＯＭ，ＲＡＭ等からなるマイクロコンピュータにより構成された電子制御装置（以下、単にＣＰＵという）１６に接続されている。以下、ＮＥパルサ２，電磁ピックアップ１０等によって構成されるセンサ（第１回転センサ）をＮＥセンサと称し、Ｇパルサ６，電磁ピックアップ１２等によって構成されるセンサ（第２回転センサ）をＧセンサと称する。
【００２２】
このように構成された本実施例のエンジン制御装置においては、ＮＥセンサの突起３が電磁ピックアップ１０との対向位置を通過する度に、図４（ｂ）に示すようなＮＥパルス信号が、波形整形回路１５を介してＣＰＵ１６へ入力される。また、Ｇセンサの突起７及び余分歯８が電磁ピックアップ１２の対向位置を通過する度に、図４（ａ）に示すようなＧパルス信号が、波形整形回路１５を介してＣＰＵ１６へ入力される。
【００２３】
そして、ＣＰＵ１６は、これらの入力信号に基づいて次に燃料噴射すべき気筒を特定したり、エンジンのクランク角度や回転速度を求めるための演算処理や、その演算結果とエンジンの運転状態を検出する他のセンサ群１７からの入力信号とに基づき、燃料噴射量，噴射時期，燃料圧等の制御量を演算して、その演算結果に基づきインジェクタ１８等のアクチュエータを駆動制御する、燃料噴射量制御，燃料噴射時期制御，燃料圧制御等のための演算処理等を実行する。
【００２４】
なお、図４において、＃１〜＃６は、エンジン各気筒の気筒番号，つまり第１気筒〜第６気筒を夫々表わし、０，１２０，…７２０の数値は、ＣＰＵ１６内で上記各種制御のために認識するクランクシャフト１の回転位置、詳しくは、第１気筒＃１が吸気行程に入るときの上死点位置を基準（０）とするエンジン１サイクル毎（つまり２回転毎）のクランク角度を表わす。
【００２５】
また、図４から明らかなように、ＮＥセンサを構成するＮＥパルサ２は、欠歯部４が電磁ピックアップ１０を通過した後にＣＰＵ１６に最初に入力されるＮＥパルス信号（立上がり）が、Ｇセンサから第１気筒＃１及び第６気筒＃６の上死点前４５℃ＡのタイミングでＣＰＵ１６に入力されるＧパルス信号（立上がり）の次に、ＣＰＵ１６に入力されるように位置決めされている。
【００２６】
次に、ＣＰＵ１６において実行される処理のうち、本発明にかかわる主要な処理であるＮＥ割込み処理について、図２及び図３に示すフローチャートに沿って説明する。
ＮＥ割込み処理は、ＮＥパルス信号の入力（立上がり）間隔からＮＥセンサの欠歯部４を検出して、現在上死点付近にある第１気筒＃１，第６気筒＃６のうち、その後吸入行程に入って燃料噴射を実行すべき気筒はいずれであるか，換言すればクランクシャフト１は図４に示す０℃Ａ（＝７２０℃Ａ）付近の基準位置であるか３６０℃Ａ付近の基準位置であるか，を特定する気筒判別、及び、ＮＥパルス信号の入力状態からＮＥセンサの異常判定等を行うための処理であり、ＮＥセンサからＮＥパルス信号が入力される度（具体的にはＮＥパルス信号が立上がる度）に実行される。
【００２７】
図２に示す如く、ＮＥパルス信号が入力されてＮＥ割込み処理が開始されると、まずＳ１１０（Ｓ：ステップを表わす）にて、ＮＥパルス信号の入力数をカウントするカウンタＣＮＥの値をインクリメント（＋＋ＣＮＥ）し、続くＳ１２０にて、今回入力されたＮＥパルス信号はＮＥパルサ２の欠歯部４通過後のパルス信号（以下、このパルス信号の入力を欠歯入力という）であるか否かを判断するＮＥ欠歯判定処理を実行する。
【００２８】
なお、このＮＥ欠歯判定処理は、例えば、ＮＥパルス信号の今回の入力時刻ｔ(n) と前回の入力時刻ｔ(n-1) とからＮＥパルス信号の入力間隔（換言すればパルス幅）Ｔ(n) を求め、このパルス幅Ｔ(n) が前回求めたパルス幅Ｔ(n-1) に対して所定値（例えば３／２）倍以上であるか否かを判断する、といった手順で実行される。
【００２９】
そして、続くＳ１３０では、パルス幅Ｔ(n) が前回のパルス幅Ｔ(n-1) の所定値倍以上であり、Ｓ１２０のＮＥ欠歯判定処理にて欠歯入力が判定されたかどうかを判断し、欠歯入力が判定されていればＳ１４０に移行し、欠歯入力が判定されていなければ、Ｓ２４０に移行する。
【００３０】
Ｓ１４０では、ＣＰＵ１６の起動時に初期化処理によってリセット（０）される欠歯判定フラグＸＬＡＣＫ２がリセット状態のままであるか否かを判断することにより、現在、ＣＰＵ１６の起動後初めて欠歯入力を判定したタイミングであるかどうかを判断する。そして、欠歯判定フラグＸＬＡＣＫ２がリセット状態であれば、Ｓ１５０にて、欠歯判定フラグＸＬＡＣＫ２をセット（１）して、Ｓ２２０に移行し、逆に欠歯判定フラグＸＬＡＣＫ２がセットされていれば、続くＳ１６０に移行する。
【００３１】
Ｓ１６０では、カウンタＣＮＥの値がクランクシャフト１の１回転分のＮＥパルス信号数に対応した所定値（本実施例では「２３」）であるか否かによって、ＮＥセンサは正常であるか否かを判断する。そして、カウンタＣＮＥの値が所定値「２３」であり、ＮＥセンサは正常であると判断すると、Ｓ１７０に移行し、ＮＥセンサの正常を表わす「ＮＥアクティブ」を記憶する。また、続くＳ１８０では、後述の禁止フラグＸＮＥＮＧをリセット（０）し、Ｓ２２０に移行する。
【００３２】
一方、Ｓ１６０にて、カウンタＣＮＥの値が所定値「２３」ではないと判断されると、ＮＥセンサ或はＮＥパルス信号の入力系に何等かの異常があったと判断して、Ｓ１９０に移行し、現在、「ＮＥアクティブ」が記憶されているか否かを判断する。そして、「ＮＥアクティブ」が記憶されていれば、続くＳ２００にて、所定期間内（本実施例ではＮＥパルス信号が２３０個入力される期間内）でのＮＥセンサの正常・異常反転回数（換言すれば異常判定頻度）を計測するためのカウンタＣＦＡＩＬ１をインクリメント（＋＋ＣＦＡＩＬ１）した後、Ｓ２１０に移行し、「ＮＥアクティブ」が記憶されていなければ、そのままＳ２１０に移行する。そして、Ｓ２１０では、ＮＥセンサの異常を表わす「ＮＥ非アクティブ」を記憶し、Ｓ２２０に移行する。
【００３３】
次に、Ｓ２２０では、上記カウンタＣＮＥをクリア（ＣＮＥ←０）し、続くＳ２３０にて、正常復帰条件として予め設定された判定条件▲１▼，▲２▼から、今回の欠歯入力は、クランクシャフト１の０℃Ａ（＝７２０℃Ａ）付近の基準位置を表わすものであるか，３６０℃Ａ付近の基準位置を表わすものであるか，或はＮＥパルサ２の突起３の欠落によるものであるかを判定する、図３に示す判定処理を実行する。尚、この判定処理については後述する。
【００３４】
そして、続くＳ２４０では、ＮＥセンサの異常判定頻度を表わすカウンタＣＦＡＩＬ１の値が所定値（例えば「５」）以上であるか否かを判断し、このカウンタＣＦＡＩＬ１の値が所定値以上であれば、Ｓ２５０にて、上記Ｓ２３０の判定処理における正常復帰判定の実行を禁止する禁止フラグＸＮＥＮＧをセット（１）して、Ｓ２６０に移行し、カウンタＣＦＡＩＬ１の値が所定値に達していなければ、そのままＳ２６０に移行する。
【００３５】
また次に、Ｓ２６０では、上記カウンタＣＮＥとは別にＮＥパルス信号の入力数をカウントするカウンタＣＦＡＩＬ２の値をインクリメント（＋＋ＣＦＡＩＬ２）し、続くＳ２７０にて、このカウンタＣＦＡＩＬ２の値が所定値（本実施例では値「２３０」）以上であるか否かを判断する。
【００３６】
そして、カウンタＣＦＡＩＬ２の値が所定値「２３０」に達していなければそのまま当該処理を終了し、逆にカウンタＣＦＡＩＬ２の値が所定値「２３０」以上であれば、Ｓ２８０に移行して、カウンタＣＦＡＩＬ１及びＣＦＡＩＬ２を夫々クリア（ＣＦＡＩＬ１，ＣＦＡＩＬ２←０）した後、当該処理を終了する。
【００３７】
次に、上記Ｓ２３０にて実行される判定処理について説明する。
図３に示す如く、この判定処理は、まずＳ３１０にて、禁止フラグＸＮＥＮＧがセットされているか否かを判断し、禁止フラグＸＮＥＮＧがセットされていれば、Ｓ３２０以降の判定処理を実行することなく、そのまま当該処理を終了して、上記Ｓ２４０に移行し、逆に、禁止フラグＸＮＥＮＧがリセット状態であれば、続くＳ３２０に移行する。
【００３８】
Ｓ３２０では、予め設定された判定条件▲１▼に従い、今回の欠歯入力の前に２個のＧパルス信号が入力されているか否かを判断することにより、現在、クランクシャフト１が０℃Ａ（＝７２０℃Ａ）に対応した基準位置であるか否かを判定する。
【００３９】
なお、この判定条件▲１▼は、前回ＮＥパルス信号が入力された時点(i-1) から、今回ＮＥパルス信号が入力された時点(i) までの間に、Ｇパルス信号が１個入力され、しかも、ＮＥパルス信号の入力に伴い今回のＮＥ割込み処理から数えて３回前にＮＥ割込み処理が起動された時点(i-3) から、前回ＮＥパルス信号が入力された時点(i-1) までの間に、Ｇパルス信号が１個入力されている場合に、０℃Ａの基準位置を判定するように、予め設定されている。
【００４０】
そして、Ｓ３２０にて、この判定条件▲１▼が成立したと判断されると、Ｓ３３０に移行し、現在、クランクシャフト１が０℃Ａ（＝７２０℃Ａ）の基準位置であり、その後吸気行程に入って燃料噴射すべき気筒は第１気筒＃１であると判定し、その旨を記憶した後、Ｓ３６０に移行する。
【００４１】
一方、Ｓ３２０にて、判定条件▲１▼が成立していないと判断されると、Ｓ３４０に移行し、今度は、予め設定された判定条件▲２▼に従い、今回の欠歯入力の前にＧパルス信号が１個だけ入力されているか否かを判断することにより、現在、クランクシャフト１が３６０℃Ａに対応した基準位置であるか否かを判定する。
【００４２】
なお、この判定条件▲２▼は、前回ＮＥパルス信号が入力された時点(i-1) から、今回ＮＥパルス信号が入力された時点(i) までの間に、Ｇパルス信号が１個入力され、しかも、ＮＥパルス信号の入力に伴い今回のＮＥ割込み処理から数えて３回前にＮＥ割込み処理が起動された時点(i-3) から、前回ＮＥパルス信号が入力された時点(i-1) までの間に、Ｇパルス信号が入力されていない場合に、３６０℃Ａの基準位置を判定するように、予め設定されている。
【００４３】
そして、Ｓ３４０にて、この判定条件▲２▼が成立していないと判断されると、今回の欠歯入力は、ＮＥパルサ２の突起３の欠落によるものであるとして、そのまま当該処理を終了する。また、逆に判定条件▲２▼が成立したと判断されると、Ｓ３５０に移行し、現在、クランクシャフト１が３６０℃Ａの基準位置であり、その後吸気行程に入って燃料噴射すべき気筒は第６気筒＃６であると判定し、その旨を記憶した後、Ｓ３６０に移行する。
【００４４】
そして、Ｓ３６０では、上記処理によりクランクシャフト１の基準位置を検出できたことから、ＮＥセンサは正常であるとして、「ＮＥアクティブ」を記憶し、当該処理を終了する。
つまり、図４に示すように、Ｇセンサからは、各気筒＃１〜＃６の上死点に対応したＧパルス信号に加えて、第１気筒＃１の上死点に対応したＧパルス信号よりも所定クランク角度（３０℃Ａ）分前のタイミングで、余分歯８によるＧパルス信号が出力されることから、Ｓ３２０，Ｓ３４０では、欠歯入力の直前の時点(i-1) から時点(i) までの間にＧパルス信号が入力されているか否かによって第１及び第６気筒＃１，＃６の上死点を確認し、更にその前の時点(i-3) から時点(i-1) の間に余分歯によるＧパルス信号が入力されているか否かによって、クランクシャフト１が０℃Ａの基準位置であるか否かを判定するのである。
【００４５】
そして、これら各Ｓ３２０，Ｓ３４０の処理にて、Ｇパルス信号の入力数から、クランクシャフト１の０℃Ａ又は３６０℃Ａに対応した基準位置を検出できた場合には、前記Ｓ１６０〜Ｓ２１０の処理にて、一旦ＮＥセンサの異常を判定して「ＮＥ非アクティブ」を記憶した場合であっても、Ｓ３６０にて、ＮＥセンサは正常であるものとして、「ＮＥアクティブ」を記憶することにより、ＮＥセンサの判定状態を「異常」から「正常」に復帰させ、ＮＥセンサを用いた燃料噴射制御を実行できるようにするのである。
【００４６】
なお、上記Ｓ１６０〜Ｓ２１０の処理によりＮＥセンサの異常が判定されて、「ＮＥ非アクティブ」が記憶され、上記Ｓ３２０，Ｓ３４０の処理でも判定条件▲１▼又は▲２▼が成立していないと判断された場合には、「ＮＥ非アクティブ」が保持され、ＮＥセンサの異常判定状態が継続するが、このように「ＮＥ非アクティブ」が記憶されている場合には、ＣＰＵ１６は、図示しないＧパルス信号の割込み処理により、Ｇパルス信号のみを用いて気筒判別を行い、その判定結果に従い燃料噴射を実行してエンジンの運転を継続させる、フェイルセーフ制御を実行する。つまり、本実施例では、こうしたフェイルセーフ制御を実行することにより、ＮＥセンサの異常時に、エンジン停止を招くことなく、エンジンの運転を継続させて、車両の走行安全性を確保するのである。
【００４７】
以上説明したように、本実施例のエンジン制御装置においては、ＮＥセンサの欠歯入力から欠歯入力までの間のＮＥパルス信号の個数からＮＥセンサの異常を判定し、異常判定時には、その旨を表わす「ＮＥ非アクティブ」を記憶して、ＮＥセンサ異常時のエンジンの継続運転を実行させるフェイルセーフ制御に移行できるようにするが、一旦ＮＥセンサの異常が判定されて「ＮＥ非アクティブ」が記憶されても、ＮＥセンサの欠歯入力とその前のＧパルス入力状態とに基づく気筒判別動作によって、判定条件▲１▼又は▲２▼が成立して、気筒判別を実行できた場合には、ＮＥセンサは正常であるものとして「ＮＥ非アクティブ」から「ＮＥアクティブ」に速やかに復帰させる。
【００４８】
この結果、例えば、ＮＥセンサを構成するＮＥパルサ２の突起３が欠落した場合等、ＮＥセンサに物理的な異常が発生して、「ＮＥ非アクティブ」が記憶され、その後上記▲１▼，▲２▼の判定条件が成立しない場合には、ＮＥセンサ異常時のフェイルセーフ制御を実行させて車両走行時の安全性を向上することができる。また例えば、外部ノイズ等によってＮＥセンサの異常が誤判定された場合等、「ＮＥ非アクティブ」が一旦記憶されても、その後、気筒判別を正常に実行できた場合には、ＮＥセンサの判定状態を「ＮＥ非アクティブ」から「ＮＥアクティブ」に速やかに復帰させることができ、フェイルセーフ制御が不必要に実行されるのを防止できる。
【００４９】
ところで、図５に示す如く、ＮＥパルサ２に形成された複数の突起３のうち、第２及び第５気筒＃２，＃５の上死点に対応した突起３、或は第３及び第４気筒＃３，＃４の上死点に対応した突起３等、欠歯部４のクランク角度位置に対して１２０℃Ａ分或は２４０℃Ａ分だけずれた回転角度位置に形成された突起３が欠落している場合には、上記Ｓ１６０〜Ｓ２１０の処理により、ＮＥセンサの異常が判定されて「ＮＥ非アクティブ」が記憶されても、その後Ｓ２３０にて実行される判定処理にて、Ｇセンサから出力される第２及び第５気筒＃２，＃５の上死点に対応したＧパルス信号、或は第３及び第４気筒＃３，＃４の上死点に対応したＧパルス信号により、上記判定条件▲２▼が成立したと判断され、ＮＥセンサの判定状態が「ＮＥ非アクティブ」から「ＮＥアクティブ」に復帰することになる。そしてこの場合には、クランクシャフト１が３６０℃Ａに対応した基準位置にあると誤判定されて、第６気筒＃６に対して燃料噴射が繰返し実行されることになるので、エンジンに損傷を与えてしまう。
【００５０】
なお、図５は、欠歯部４に対して１２０℃Ａ及び２４０℃Ａ分夫々位置ずれした２個の突起３が共に欠落し、第２気筒＃〜第６気筒の上死点付近で順に判定条件▲２▼が成立して、ＮＥセンサの正常・異常を表わすフラグＸＮＥＡＣＴが「ＮＥアクティブ」を表わすセット状態と「ＮＥ非アクティブ」を表わすリセット状態とに繰返し反転される場合を表わす。
【００５１】
しかし、本実施例では、図５に示すように、カウンタＣＦＡＩＬ２にてＮＥパルス信号の入力数を「０」から所定値「２３０」まで繰返しカウントすることにより、クランクシャフト１の回転に応じた判定期間（クランクシャフト１が凡そ１０回転する期間）を繰返し設定し、カウンタＣＦＡＩＬ１を用いて、その期間内にＮＥセンサの判定結果が「ＮＥアクティブ」から「ＮＥ非アクティブ」に反転する反転回数をカウントし、そのカウント値が所定値「５」に達すると、禁止フラグＸＮＥＮＧをセットして、通常時の正常復帰条件である判定条件▲１▼，▲２▼が成立したか否かの判定を禁止して、たとえ判定条件▲１▼，▲２▼が成立していても「ＮＥアクティブ」に復帰させないようにしているため、第６気筒の誤判定が継続されることはなく、その後、エンジンへの燃料噴射をＮＥセンサ異常時のフェイルセーフ制御にて実行させて、エンジンの損傷を防止することができる。
【００５２】
また、禁止フラグＸＮＥＮＧは、欠歯入力の間のＮＥパルス信号数が所定値「２３」となって、Ｓ１６０にて「ＣＮＥ＝２３」が判定されたとき（つまり、異常判定条件が非成立となったとき）に初めてリセットされるので、禁止フラグＸＮＥＮＧが一旦セットされると、その後エンジンの運転中に再度「ＮＥ非アクティブ」から「ＮＥアクティブ」に復帰することはなく、フェイルセーフ制御を継続させることができる。
【００５３】
従って、本実施例のエンジン制御装置によれば、ＮＥセンサの異常判定を正確に行い、ＮＥセンサにより気筒判別を実行できる場合には、その判別結果に従い燃料噴射制御を実行してエンジンを正常運転させ、ＮＥセンサにより気筒判別を実行できない場合には、Ｇセンサを用いて気筒判別を行うフェイルセーフ制御によりエンジンの運転を継続させる、といったことが可能になり、エンジン制御の安全性及び制御精度を向上することができる。
【００５４】
なお、本実施例において、「ＮＥ非アクティブ」から「ＮＥアクティブ」への切り換え（つまりＮＥセンサの正常復帰）を、ＮＥセンサの異常判定条件（ＮＥ≠２３）が成立しなくなったときだけでなく、欠歯入力前のＧパルス信号の入力状態から気筒判別を実行できたときにも行うようにしているのは、ノイズ等によってＮＥセンサの異常判定条件が成立したときに、気筒判別を正常に実行できるにもかかわらずＮＥセンサの異常を判定して、フェイルセーフ制御を実行してしまうのを防止するためである。
【００５５】
また本実施例では、ＣＰＵ１６の起動後、最初に欠歯入力があった場合（Ｓ１４０：ＮＯ）には、Ｓ１５０にてその旨を表わす欠歯判定フラグＸＬＡＣＫ２をセットするだけで、そのままＳ２３０の判定処理に移行し、Ｓ２３０にて判定条件▲１▼又は▲２▼が成立していると判定した場合には、そのまま通常制御を開始するようにしているが、これは、ＣＰＵ１６の起動後、ＮＥセンサの異常判定を実行してから、判定条件▲１▼，▲２▼を用いて気筒判別を行うようにすると、エンジン始動直後の燃料噴射を速やかに開始することができず、エンジンの始動性が低下するためである。つまり、本実施例では、エンジン始動後は、速やかに気筒判別して、燃料噴射を開始できるようにすることで、エンジンの始動性、特に低温始動時の始動性を確保できるようにしているのである。
【００５６】
以上、本発明の一実施例として、ＮＥセンサの異常判定を欠歯入力の間のパルス信号数に基づき実行すると共に、気筒判別を欠歯入力前のＧパルス信号の入力状態に基づき実行し、更に、ＮＥセンサの異常判定状態から正常判定状態への復帰を、ＮＥセンサの異常判定条件が成立しなくなったときと、欠歯入力前のＧパルス信号の入力状態から気筒判別を実行できたときに実行することにより、ＮＥセンサからの欠歯入力を用いた気筒判別を速やかに実行して、エンジン制御を応答遅れなく開始できるようにしたエンジン制御装置に本発明を適用した場合について説明したが、本発明は、こうしたエンジン制御装置に限定されることはなく、種々の態様をとることができる。
【００５７】
例えば、上記実施例では、６気筒ディーゼルエンジンの燃料噴射制御を行うエンジン制御装置について説明したが、４気筒ディーゼルエンジンに対する燃料噴射制御を行うエンジン制御装置であっても、ガソリンエンジンに対する制御（燃料噴射制御，点火時期制御等）を行うエンジン制御装置であっても、ＮＥセンサとＧセンサとを用いて気筒判別を行う制御装置であれば、上記実施例と同様に構成することにより、同様の効果を得ることができる。
【００５８】
また、異常判定の対象物としては、上記実施例のようなＮＥセンサ以外のセンサ、例えばＧセンサであっても、或は他のアクチュエータであってもよく、その異常判定と正常復帰判定とを行うことにより通常制御とフェイルセーフ制御とを切り換える制御装置であれば、本発明を適用することができる。
【図面の簡単な説明】
【図１】  実施例のエンジン制御装置の構成を表わす概略構成図である。
【図２】  実施例のＮＥ割込み処理を表わすフローチャートである。
【図３】  図２のＳ２３０にて実行される気筒判別用の判定処理の詳細を表わすフローチャートである。
【図４】  実施例のＧセンサ及びＮＥセンサからの出力パルスとＮＥセンサ正常判定時のカウンタＣＮＥの変化を表わすタイムチャートである。
【図５】  ＮＥセンサの正常・異常判定が繰り返された場合の動作の一例を表わすタイムチャートである。
【符号の説明】
１…クランクシャフト    ２…ＮＥパルサ    ３…突起    ４…欠歯部
５…カムシャフト    ６…Ｇパルサ    ７…突起    ８…余分歯
１０，１２…電磁ピックアップ    １５…波形整形回路
１６…電子制御装置（ＣＰＵ）
【図１】
0003651088.tif 000002
【図２】
0003651088.tif 000003
【図３】
0003651088.tif 000004
【図４】
0003651088.tif 000005
【図５】
0003651088.tif 000006