(57)【要約】【課題】逆転検出機能付きのクランク角センサの異常が発生したときに、その異常を速やかに検出できるようにする。【解決手段】クランク角センサ１４は、シグナルロータ１２の外周部に沿って配置した第１センサ１５と第２センサ１６を有し、これら２つのセンサ１５，１６の出力の関係に基づいてクランク軸１１の回転方向（正転／逆転）を判定して、当該回転方向（正転／逆転）に応じて異なるパルス幅のクランク角信号をエンジン制御回路１８に出力する。エンジン制御回路１８は、クランク角センサ１４からクランク角信号が所定個出力されるのに要する時間を所定クランク角時間として計測し、前回（又は前々回）の所定クランク角時間と比較して今回の所定クランク角時間が所定以上変動したか否かでクランク角センサ１４の異常の有無を判定する。【選択図】図１
2011069282.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関のクランク軸の回転に同期して２つのセンサ部から位相の異なるパルス信号を周期的に出力して、これら２つのパルス信号の関係に基づいて前記クランク軸の回転方向を判定して、当該回転方向に応じて異なるパルス幅のクランク角信号を出力するクランク角センサと、前記クランク角センサから出力されるクランク角信号をカウントするクランク角カウンタと、前記クランク角カウンタのカウント値に基づいてクランク角を検出する手段とを備え、前記クランク角カウンタは、前記クランク軸の逆転が発生する可能性がある所定回転速度以下の逆転監視領域では、前記クランク角信号のパルス幅に基づいて加算／減算を切り替えて当該クランク角信号をカウントし、前記逆転監視領域を上回る回転領域では、前記クランク角信号の発生数を単純にカウントするクランク角検出システムの異常診断装置において、
前記クランク角センサから前記クランク角信号がＮ個（但しＮは１又は２以上の整数）出力されるのに要する時間を所定クランク角時間として計測する手段と、
前回又は前々回の所定クランク角時間と比較して今回の所定クランク角時間が所定以上変動したか否かで前記クランク角センサの異常の有無を判定する異常診断手段と
を備えていることを特徴とするクランク角検出システムの異常診断装置。
【請求項２】
前記異常診断手段は、前記逆転監視領域では、前記クランク角センサの異常診断を禁止する手段を有することを特徴とする請求項１に記載のクランク角検出システムの異常診断装置。
【請求項３】
前記異常診断手段は、前回又は前々回の所定クランク角時間に対する今回の所定クランク角時間の変動率を算出して当該変動率に基づいて前記クランク角センサの異常の有無を判定することを特徴とする請求項１又は２に記載のクランク角検出システムの異常診断装置。
【請求項４】
前記異常診断手段は、前記変動率が所定値以下になったときに、前記前回又は前々回の所定クランク角時間を記憶手段に記憶し、次回以降の変動率算出時には、前記記憶手段に記憶されている所定クランク角時間に対する今回の所定クランク角時間の変動率を算出して当該変動率が所定値以下であるか否かを判定し、当該変動率が連続して所定値以下となる回数が所定回数に達したときに前記クランク角センサの異常と判定することを特徴とする請求項３に記載のクランク角検出システムの異常診断装置。
【請求項５】
前記異常診断手段は、前記クランク角センサの異常と判定する際に、前回のクランク角信号と今回のクランク角信号のどちらか一方のパルス幅が逆転相当のパルス幅であるか否かで前記クランク角センサの異常の判定結果が正しいか否かを確認する手段を有することを特徴とする請求項１乃至４のいずれかに記載のクランク角検出システムの異常診断装置。
【請求項６】
前記異常診断手段により前記クランク角センサの異常と判定された場合に内燃機関の運転を停止又は機関出力を抑制するフェールセーフ手段を備えていることを特徴とする請求項１乃至５のいずれかに記載のクランク角検出システムの異常診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関のクランク軸の逆転を検出可能なクランク角センサを備えたクランク角検出システムの異常診断装置に関する発明である。
【背景技術】
【０００２】
一般に、内燃機関の運転中は、クランク角センサとカム角センサの出力信号に基づいて気筒を判別し且つクランク角を検出して点火制御や燃料噴射制御を行うようにしているが、内燃機関の始動時は、スタータにより内燃機関をクランキングして特定気筒の判別を完了するまで（つまり特定気筒の所定クランク角の信号を検出するまで）、最初に点火・噴射する気筒が不明である。
【０００３】
そこで、従来より、内燃機関の回転停止時のクランク角（回転停止位置）をメモリに記憶しておき、次の内燃機関の始動時に、メモリに記憶された内燃機関の回転停止時のクランク角を始動開始時のクランク角とみなして点火制御や燃料噴射制御を開始することで、始動性や始動時のエミッションを向上させるようにしたものがある。
【０００４】
しかし、内燃機関の回転が停止する間際に、回転トルクが低下してピストンが圧縮上死点を乗り越えられずに逆転することがあるため、逆転を検出できない従来の一般的なクランク角センサでは、回転停止時のクランク角を正確に検出することができない。
【０００５】
そこで、例えば、特許文献１（特開２００５−２３３６２２号公報）に記載されているように、逆転検出機能付きのクランク角センサが開発されている。このクランク角センサは、クランク軸に固定されたシグナルロータの外周部に沿って２つのセンサ部を所定クランク角間隔で配置し、シグナルロータの回転に同期して２つのセンサ部から位相の異なるパルス信号を周期的に処理回路に出力し、これら２つのパルス信号の関係に基づいてクランク軸の回転方向（正転／逆転）を判定して、当該回転方向（正転／逆転）に応じて異なるパルス幅のクランク角信号を出力するように構成されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２３３６２２号公報（第２頁等）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、回転方向（正転／逆転）の判定方法は、例えば、一方のセンサ部（以下「第１センサ」という）の出力がＨｉ→Ｌｏ、Ｌｏ→Ｈｉに反転するタイミングで、他方のセンサ部（以下「第２センサ」という）の出力がＨｉであれば、正転と判定し、Ｌｏであれば、逆転と判定するようにしている（ここで、「Ｈｉ」は「ハイレベル」、「Ｌｏ」は「ローレベル」を意味する）。この判定方法では、第２センサの出力がＨｉ側に固着する故障が発生すると、正転方向にしか回転していない場合でも、回転方向の判定結果が正転と逆転と交互に反転して、正転相当のパルス幅と逆転相当のパルス幅のクランク角信号が交互に出力されてしまい、クランク角を正確に検出できなくなってしまう。
【０００８】
また、逆転は、エンジン回転が停止する間際の極低回転領域でしか発生しないため、エンジン運転中は、正転のみと判断してクランク角信号の発生数を単純にクランク角カウンタでカウントして、そのカウント値からクランク角を検出するようにしているが、エンジン運転中に上記故障が発生した場合は、クランク角センサから出力されるクランク角信号の数が故障前の２倍となり（この理由については後述する）、クランク角カウンタのカウント値が故障前の２倍の速度で上昇するため、クランク角の検出値（クランク角カウンタのカウント値）が実際のクランク角よりも進角側にずれて、噴射時期や点火時期が適正な時期よりも進角側にずれてしまい、エンジン運転状態が悪化して、最悪の場合には、エンジンが損傷する可能性もある。
【０００９】
そこで、本発明が解決しようとする課題は、逆転検出機能付きのクランク角センサの異常が発生したときに、その異常を速やかに検出できるクランク角検出システムの異常診断装置を提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、請求項１に係る発明は、内燃機関のクランク軸の回転に同期して２つのセンサ部から位相の異なるパルス信号を周期的に出力して、これら２つのパルス信号の関係に基づいて前記クランク軸の回転方向を判定して、当該回転方向に応じて異なるパルス幅のクランク角信号を出力するクランク角センサと、前記クランク角センサから出力されるクランク角信号をカウントするクランク角カウンタと、前記クランク角カウンタのカウント値に基づいてクランク角を検出する手段とを備え、前記クランク角カウンタは、前記クランク軸の逆転が発生する可能性がある所定回転速度以下の逆転監視領域では、前記クランク角信号のパルス幅に基づいて加算／減算（アップカウント／ダウンカウント）を切り替えて当該クランク角信号をカウントし、前記逆転監視領域を上回る回転領域では、正転のみと判断してクランク角信号の発生数を単純にカウントするクランク角検出システムの異常診断装置において、前記クランク角センサから前記クランク角信号がＮ個（但しＮは１又は２以上の整数）出力されるのに要する時間を所定クランク角時間として計測する手段と、前回又は前々回の所定クランク角時間と比較して今回の所定クランク角時間が所定以上変動したか否かで前記クランク角センサの異常の有無を判定する異常診断手段とを備えた構成としたものである。
【００１１】
通常の内燃機関の運転中は、クランク軸の逆転が発生しない回転領域で運転されるため、正転のみと判断してクランク角信号の発生数を単純にクランク角カウンタでカウントして、そのカウント値に基づいてクランク角を検出する。この際、クランク角センサの２つのセンサ部のうちの一方のセンサ部の出力が一定値に固着する故障が発生すると、クランク角センサから出力されるクランク角信号の数が故障前の２倍となり（この理由については後述する）、クランク角カウンタのカウント値が故障前の２倍の速度で上昇するため、クランク角センサからクランク角信号がＮ個出力されるのに要する所定クランク角時間が故障前の約１／２となる。このような所定クランク角時間の急変は、実際の内燃機関の加減速で起こり得る変動範囲を越えている。このような故障前後の所定クランク角時間の急変に着目して、前回又は前々回の所定クランク角時間と比較して今回の所定クランク角時間が所定以上変動したか否かでクランク角センサの異常の有無を判定するものであり、これにより、逆転検出機能付きのクランク角センサの異常が発生したときに、その異常を速やかに検出することが可能となる。
【００１２】
この場合、請求項２のように、クランク軸の逆転が発生する可能性がある逆転監視領域では、クランク角センサの異常診断を禁止するようにすると良い。このようにすれば、クランク軸の逆転により発生したクランク角信号を、故障により発生したクランク角信号と誤判定することを未然に防止でき、クランク角センサの異常診断の信頼性を向上させることができる。
【００１３】
また、前回又は前々回の所定クランク角時間と今回の所定クランク角時間とを比較する手法としては、請求項３のように、前回又は前々回の所定クランク角時間に対する今回の所定クランク角時間の変動率を算出して、当該変動率に基づいてクランク角センサの異常の有無を判定するようにすると良い。このようにすれば、極めて簡単な演算処理によりクランク角センサの異常診断を行うことができる。
【００１４】
また、請求項４のように、前記変動率が所定値以下になったときに、前回又は前々回の所定クランク角時間を記憶手段に記憶し、次回以降の変動率算出時には、前記記憶手段に記憶されている所定クランク角時間に対する今回の所定クランク角時間の変動率を算出して当該変動率が所定値以下であるか否かを判定し、当該変動率が連続して所定値以下となる回数が所定回数に達したときに前記クランク角センサの異常と判定するようにしても良い。このようにすれば、クランク角センサの出力に重畳したノイズにより変動率が所定値以下になった場合でも、その後、記憶手段に記憶されている所定クランク角時間を用いて算出した変動率が所定値よりも大きくなるため、ノイズによる異常の誤判定を未然に防止できる。
【００１５】
また、請求項５のように、クランク角センサの異常と判定する際に、前回のクランク角信号と今回のクランク角信号のどちらか一方のパルス幅が逆転相当のパルス幅であるか否かでクランク角センサの異常の判定結果が正しいか否かを確認するようにしても良い。要するに、クランク角センサの２つのセンサ部のうちの一方のセンサ部の出力が一定値に固着する故障が発生すると、正転相当のパルス幅のクランク角信号と逆転相当のパルス幅のクランク角信号が交互に出力されるようになるため、前回のクランク角信号と今回のクランク角信号のどちらか一方のパルス幅が逆転相当のパルス幅であるか否かで、変動率に基づくクランク角センサの異常の判定結果が正しいか否かを確認することができる。
【００１６】
また、請求項６のように、異常診断手段によりクランク角センサの異常と判定された場合に、内燃機関の運転を停止又は機関出力を抑制するフェールセーフ手段を備えた構成とすることが好ましい。このようにすれば、クランク角センサの異常が発生した場合に、内燃機関が損傷するすることを未然に防止できる。
【図面の簡単な説明】
【００１７】
【図１】図１は本発明の一実施例のクランク角検出システムの構成を概略的に示す図である。
【図２】図２（ａ）と（ｂ）は正転時と逆転時の第１センサ出力、第２センサ出力、クランク角信号のパルス幅の関係を説明するタイムチャートである。
【図３】図３は第１センサ出力と第２センサ出力の関係に基づいてクランク軸の回転方向を判定する際に用いる回転方向判定マップを説明する図である。
【図４】図４は第２センサ出力がＨｉ側に固着した故障時の第１センサ出力、第２センサ出力、クランク角信号のパルス幅、クランク角カウンタの関係を説明するタイムチャートである。
【図５】図５はエンジンが正転しているときに第２センサの出力がＨｉ側に固着する故障が発生したときの挙動を示すタイムチャートである。
【図６】図６はクランク角センサ異常診断ルーチンの処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明を実施するための形態を具体化した一実施例を説明する。
まず、図１に基づいてクランク角検出システムの構成を説明する。
エンジン（内燃機関）のクランク軸１１に固定された円盤状のシグナルロータ１２の外周部には、複数の突起１３が所定クランク角ピッチ（例えば１０ＣＡピッチ）で形成されている。このシグナルロータ１２の外周部に対向するようにクランク角センサ１４がエンジン側に固定されている。このクランク角センサ１４は、シグナルロータ１２の外周部に沿って所定クランク角間隔で配置した第１センサ１５（センサ部）と第２センサ１６（センサ部）を有する。
【００１９】
各センサ１５，１６は、例えば、電磁誘導方式、ホールセンサ方式のセンサであり、図２に示すように、シグナルロータ１２の回転に伴い、その突起１３が各センサ１５，１６と対向する毎に、各センサ１５，１６の出力がＨｉ→Ｌｏに反転し、突起１３間の谷間が各センサ１５，１６と対向する毎に、各センサ１５，１６の出力がＬｏ→Ｈｉに反転する（ここで、「Ｈｉ」は「ハイレベル」、「Ｌｏ」は「ローレベル」を意味する）。尚、各センサ１５，１６のＨｉ／Ｌｏの関係は、上記とは反対であっても良い。
【００２０】
各センサ１５，１６から両者の配置間隔に相当する位相差のあるパルス信号が周期的に処理回路１７に出力され、これら２つのパルス信号の関係に基づいて図３の回転方向判定マップに従ってクランク軸１１の回転方向（正転／逆転）が判定されて、当該回転方向（正転／逆転）に応じて異なるパルス幅α，βのクランク角信号がエンジン制御回路１８に出力される。処理回路１７は、論理回路により構成されている。
【００２１】
ここで、本実施例の回転方向（正転／逆転）の判定方法を図２、図３を用いて説明する。第１センサ１５の出力がＨｉ→Ｌｏに反転するタイミング（立ち下がりエッジ）と、Ｌｏ→Ｈｉに反転するタイミング（立ち上がりエッジ）で、それぞれ、第２センサ１６の出力がＨｉかＬｏかを判定し、図３の回転方向判定マップに従って正転／逆転を判定する。正転時には、第１センサ１５の出力がＨｉ→Ｌｏに反転するタイミング（立ち下がりエッジ）で、クランク角センサ１４から小さいパルス幅αのクランク角信号（ローレベル信号）を出力し、逆転時には、第１センサ１５の出力がＬｏ→Ｈｉに反転するタイミング（立ち下がりエッジ）で、クランク角センサ１４から大きいパルス幅βのクランク角信号（ローレベル信号）を出力する。尚、Ｈｉ／Ｌｏの関係は、上記とは反対であっても良い。また、第１センサ１５と第２センサ１６の関係も、上記とは反対であっても良い。
【００２２】
エンジン制御回路１８は、マイクロコンピュータを主体として構成され、クランク角センサ１４から出力されるクランク角信号をカウントするクランク角カウンタとしての機能を備え、このクランク角カウンタのカウント値に基づいてクランク角を検出する。この場合、クランク角カウンタは、クランク軸１１の逆転が発生する可能性がある所定回転速度以下（例えば４００ｒｐｍ以下）の逆転監視領域では、クランク角信号が入力される毎に、クランク角信号のパルス幅を所定の閾値（但しα＜閾値＜β）と比較して小さいパルス幅αか大きいパルス幅βかを判定し、その判定結果に応じて加算／減算（アップカウント／ダウンカウント）を切り替えてクランク角信号をカウントする（正転時にはアップカウントし、逆転時にはダウンカウントする）。これにより、逆転時には、クランク角カウンタのカウント値が逆転量に応じてダウンカウントされるため、逆転が発生しても、クランク角カウンタのカウント値から実際のクランク角を正確に検出することができる。一方、逆転監視領域を上回る回転領域（例えば４００ｒｐｍ以上）では、逆転が発生しないため、正転のみと判断してクランク角信号の発生数を単純にアップカウントする。
【００２３】
ところで、図４に示すように、第２センサ１６の出力がＨｉ側に固着する故障が発生すると、正転方向にしか回転していない場合でも、図３の回転方向判定マップに従って回転方向の判定結果が正転と逆転に交互に反転し、第１センサ１５の出力がＨｉ→Ｌｏに反転するタイミング（立ち下がりエッジ）で、クランク角センサ１４から正転相当のパルス幅αのクランク角信号が出力され、第１センサ１５の出力がＬｏ→Ｈｉに反転するタイミング（立ち下がりエッジ）で、クランク角センサ１４から逆転相当のパルス幅βのクランク角信号が出力されてしまう。その結果、第１センサ１５の１つのパルス信号で、正転相当のパルス幅αのクランク角信号と逆転相当のパルス幅βのクランク角信号が出力されてしまう。
【００２４】
このため、第２センサ１６の出力がＨｉ側に固着する故障が発生すると、クランク角センサ１４から出力されるクランク角信号の数が故障前の２倍となり、クランク角カウンタのカウント値が故障前の２倍の速度で上昇する。その結果、従来システムでは、クランク角の検出値（クランク角カウンタのカウント値）が実際のクランク角よりも進角側にずれて、噴射時期や点火時期が適正な時期よりも進角側にずれてしまい、エンジン運転状態が悪化して、最悪の場合には、エンジンが損傷する可能性もあった。
【００２５】
そこで、本実施例では、上記課題を解決するために、クランク角センサ１４からクランク角信号がＮ個（但しＮは１又は２以上の整数）出力されるのに要する時間を所定クランク角時間として計測し、前回（又は前々回）の所定クランク角時間と比較して今回の所定クランク角時間が所定以上変動したか否かでクランク角センサ１４の異常の有無を判定する。以下、本実施例の異常診断方法を図５を用いて説明する。
【００２６】
本実施例では、シグナルロータ１２の突起１３が１０ＣＡピッチで形成され、正常時にはクランク角センサ１４からクランク角信号が１０ＣＡ周期で出力される。エンジン制御回路１８は、クランク角センサ１４からクランク角信号が３個出力されるのに要する時間を３０ＣＡ時間Ｔ３０として計測し、この３０ＣＡ時間Ｔ３０を用いてエンジン回転速度を算出する。図５は、エンジンが正転しているときに、第２センサ１６の出力がＨｉ側に固着する故障が発生したときの挙動を示している。前述したように、第２センサ１６の出力がＨｉ側に固着する故障が発生すると、クランク角センサ１４から出力されるクランク角信号の数が故障前の２倍となり、その結果、３０ＣＡ時間Ｔ３０が故障前の約１／２となる。このような３０ＣＡ時間Ｔ３０の急変は、実際のエンジンの加減速で起こり得る変動範囲を越えている。このような故障前後の３０ＣＡ時間Ｔ３０の急変に着目して、前回の３０ＣＡ時間Ｔ３０［前回］と比較して今回の３０ＣＡ時間Ｔ３０［今回］が所定以上変動したか否かでクランク角センサ１４の異常の有無を判定する。
【００２７】
具体的には、まず、前回の３０ＣＡ時間Ｔ３０［前回］に対する今回の３０ＣＡ時間Ｔ３０［今回］の変動率を算出する。
変動率＝Ｔ３０［今回］／Ｔ３０［前回］
【００２８】
そして、この変動率を所定の判定閾値と比較して、変動率が判定閾値以下であれば、暫定的に異常と判定して異常判定カウンタを１カウントアップする。ここで、判定閾値は、異常時の変動率（約０．５）と正常時の変動率（１．０付近）とを判別しやすいように、０．５と１．０との間の中間的な値（例えば、０．７、０．７５、０．８、０．８８等）に設定されている。
【００２９】
更に、本実施例では、変動率が判定閾値以下になったときに、前回の３０ＣＡ時間Ｔ３０［前回］をエンジン制御回路１８のＲＡＭ等のメモリ（記憶手段）に前回値Ｔ３０ＨＯＬＤとして記憶し、次回以降の変動率算出時には、メモリに記憶されている前回値Ｔ３０ＨＯＬＤに対する今回の３０ＣＡ時間Ｔ３０［今回＋ｎ］の変動率を算出する。
変動率＝Ｔ３０［今回＋ｎ］／Ｔ３０ＨＯＬＤ
（ｎ＝１，２，……）
【００３０】
そして、この変動率が判定閾値以下であるか否かを判定し、当該変動率が連続して判定閾値以下となる回数を異常判定カウンタでカウントし、そのカウント値が所定値（例えば２）に達したときに、最終的にクランク角センサ１４の異常と判定する。
【００３１】
このようにすれば、クランク角センサ１４の出力に重畳したノイズにより変動率が判定閾値以下になった場合でも、その後、メモリに記憶されている前回値Ｔ３０ＨＯＬＤを用いて算出した変動率が判定閾値よりも大きくなるため、ノイズによる異常の誤判定を未然に防止できる。
【００３２】
また、本実施例では、エンジン制御回路１８は、クランク角信号が入力される毎に、そのクランク角信号のパルス幅を計測し、前回のクランク角信号のパルス幅と今回のクランク角信号のパルス幅を認識する。但し、逆転相当のパルス幅βのクランク角信号とその次に発生する正転相当のパルス幅αのクランク角信号との間隔が狭くなりすぎると、逆転相当のパルス幅βを認識できないため、この場合は、逆転相当のパルス幅βがそれよりも大きい上限値Ｍａｘとして認識される。
【００３３】
第２センサ１６の出力がＨｉ側に固着してクランク角信号の発生数が倍になる倍パルス故障が発生してから、３０ＣＡ以降は、必ず正転相当のパルス幅αのクランク角信号と逆転相当のパルス幅βのクランク角信号が交互に発生するため、変動率に基づいてクランク角センサ１４の異常と判定する際には、前回のクランク角信号と今回のクランク角信号のどちらか一方のパルス幅が逆転相当のパルス幅β又はＭａｘであるか否かで、変動率に基づくクランク角センサ１４の異常の判定結果が正しいか否かを確認する。
【００３４】
また、本実施例では、クランク軸１１の逆転が発生する可能性がある所定回転速度以下の逆転監視領域では、上述した変動率に基づくクランク角センサ１４の異常診断が禁止され、逆転監視領域を上回る回転領域でのみ、上述した変動率に基づくクランク角センサ１４の異常診断を実行する。このようにすれば、クランク軸１１の逆転により発生したクランク角信号を、故障により発生したクランク角信号と誤判定することを未然に防止でき、クランク角センサ１４の異常診断の信頼性を向上させることができる。
【００３５】
更に、本実施例では、エンジン制御回路１８は、クランク角センサ１４の異常と判定した場合に、適宜のフェールセーフ処置を実行し、例えば、噴射カット、点火カットを実行してエンジンの運転を強制的に停止させたり、或は、カム角センサの出力信号のみに基づいて噴射時期と点火時期を制御してエンジン出力を抑制して退避走行するようにしても良い。このようにすれば、クランク角センサ１４の異常が発生した場合に、エンジンが損傷するすることを未然に防止できる。
【００３６】
以上説明した本実施例のクランク角センサ１４の異常診断は、エンジン制御回路１８によって図６のクランク角センサ異常診断ルーチンに従って次のようにして実行される。図６のクランク角センサ異常診断ルーチンは、エンジン運転中に所定周期で実行され、特許請求の範囲でいう異常診断手段としての役割を果たす。
【００３７】
本ルーチンが起動されると、まずステップ１０１で、クランク軸１１の逆転が発生する可能性がある逆転監視領域を上回る回転領域（例えばエンジン回転速度Ｎｅ＞４００ｒｐｍ）であるか否かを判定し、「Ｎｏ」と判定された場合、つまり逆転監視領域（例えばエンジン回転速度Ｎｅ≦４００ｒｐｍ）と判定された場合は、以降の処理を行うことなく、本ルーチンを終了する。これにより、クランク軸１１の逆転が発生する可能性がある逆転監視領域では、変動率に基づくクランク角センサ１４の異常診断が禁止され、クランク軸１１の逆転による異常の誤判定が未然に防止される。
【００３８】
上記ステップ１０１で、逆転監視領域を上回る回転領域と判定されれば、ステップ１０２に進み、クランク角センサ１４からクランク角信号が３個出力されるタイミング（３０ＣＡタイミング）で、前回の３０ＣＡ時間Ｔ３０［前回］に対する今回の３０ＣＡ時間Ｔ３０［今回］の変動率を算出する。
変動率＝Ｔ３０［今回］／Ｔ３０［前回］
【００３９】
この後、ステップ１０３に進み、変動率が所定の判定閾値以下であるか否かを判定して、変動率が判定閾値よりも大きいと判定されれば、正常と判断して、以降の処理を行うことなく、本ルーチンを終了する。
【００４０】
これに対し、上記ステップ１０３で、変動率が判定閾値以下と判定されれば、第２センサ１６の出力がＨｉ側に固着してクランク角信号の発生数が倍になる倍パルス故障の可能性があると判断して、ステップ１０４に進み、前回の３０ＣＡ時間Ｔ３０［前回］をエンジン制御回路１８のＲＡＭ等のメモリに前回値Ｔ３０ＨＯＬＤとして記憶すると共に、変動率が判定閾値以下と判定された回数をカウントする異常判定カウンタをインクリメントして、そのカウント値を１にする。
【００４１】
この後、ステップ１０５に進み、次の３０ＣＡタイミングまで待機し（クランク角信号が３個出力されるまで待機し）、次の３０ＣＡタイミングになった時点で、ステップ１０６に進み、エンジン制御回路１８のメモリに記憶されている前回値Ｔ３０ＨＯＬＤに対する今回の３０ＣＡ時間Ｔ３０［今回＋ｎ］の変動率を算出する。
変動率＝Ｔ３０［今回＋ｎ］／Ｔ３０ＨＯＬＤ
（ｎ＝１，２，……）
【００４２】
この後、ステップ１０７に進み、変動率が所定の判定閾値以下であるか否かを判定して、変動率が判定閾値よりも大きいと判定されれば、正常と判断して、ステップ１０８に進み、メモリに記憶されている前回値Ｔ３０ＨＯＬＤと異常判定カウンタのカウント値を、それぞれクリアして本ルーチンを終了する。
【００４３】
これに対し、上記ステップ１０７で、変動率が判定閾値以下と判定されれば、倍パルス故障の可能性があると判断して、ステップ１０９に進み、異常判定カウンタをインクリメントする。
【００４４】
そして、次のステップ１１０で、異常判定カウンタのカウント値が所定値（例えば２）以上であるか否かを判定し、２未満と判定されれば、前記ステップ１０５〜１０７の処理を再実行して、次の３０ＣＡタイミングになった時点で、メモリに記憶されている前回値Ｔ３０ＨＯＬＤに対する今回の３０ＣＡ時間Ｔ３０［今回＋ｎ］の変動率を算出し、変動率が判定閾値以下であれば、異常判定カウンタのカウント値をインクリメントし（ステップ１０９）、変動率が判定閾値よりも大きければ、正常と判断して、メモリに記憶されている前回値Ｔ３０ＨＯＬＤと異常判定カウンタのカウント値をそれぞれクリアする（ステップ１０８）。
【００４５】
このような処理の繰り返しにより、ステップ１１０で、異常判定カウンタのカウント値が所定値以上であると判定されれば、変動率に基づく異常診断では、クランク角センサ１４の異常と判定される。この場合は、変動率に基づくクランク角センサ１４の異常の判定結果が正しいか否かを確認するために、次のステップ１１１で、前回のクランク角信号と今回のクランク角信号のどちらか一方のパルス幅が逆転相当のパルス幅β又はＭａｘであるか否かを判定する。このステップ１１１で、「Ｎｏ」と判定されれば、変動率に基づくクランク角センサ１４の異常の判定結果が間違っていると判断して、クランク角センサ１４の異常と判定せずに、本ルーチンを終了する。
【００４６】
これに対し、上記ステップ１１１で、前回のクランク角信号と今回のクランク角信号のどちらか一方のパルス幅が逆転相当のパルス幅β又はＭａｘであると判定されれば、変動率に基づくクランク角センサ１４の異常の判定結果が正しいと判断して、ステップ１１２に進み、最終的にクランク角センサ１４の異常と判定して、ステップ１１３に進み、フェールセーフ処置を実行する。これにより、例えば、噴射カット、点火カットを実行してエンジンの運転を強制的に停止させたり、或は、カム角センサの出力信号のみに基づいて噴射時期と点火時期を制御してエンジン出力を抑制して退避走行すると共に、運転席のインストルメントパネルの警告表示部に警告表示したり、警告ランプを点灯又は点滅させて運転者に警告する。このステップ１１３の処理が特許請求の範囲でいうフェールセーフ手段としての役割を果たす。
【００４７】
以上説明した本実施例によれば、前回の所定クランク角時間に対する今回の所定クランク角時間の変動率を算出して、当該変動率に基づいてクランク角センサ１４の異常の有無を判定するようにしたので、逆転検出機能付きのクランク角センサ１４の異常が発生したときに、その異常を速やかに検出することができる。
【００４８】
尚、本実施例では、前回の所定クランク角時間と比較して今回の所定クランク角時間が所定以上変動したか否かを判定する手法の具体例として、“前回”の所定クランク角時間に対する“今回”の所定クランク角時間の変動率を算出するようにしたが、これとは反対に、“今回”の所定クランク角時間に対する“前回”の所定クランク角時間の変動率を算出するようにしても良い。或は、“前回”と“今回”の所定クランク角時間の差を“前回”又は“今回”の所定クランク角時間で割り算して変動率を算出するようにしても良い。
【００４９】
その他、本発明は、ステップ１１１の処理（前回のクランク角信号と今回のクランク角信号のどちらか一方のパルス幅が逆転相当のパルス幅β又はＭａｘであるか否かで、変動率に基づくクランク角センサ１４の異常の判定結果が正しいか否かを確認する処理）を省略しても良い等、要旨を逸脱しない範囲内で種々変更して実施できることは言うまでもない。
【符号の説明】
【００５０】
１１…クランク軸、１２…シグナルロータ、１３…突起、１４…クランク角センサ、１５…第１センサ（センサ部）、１６…第２センサ（センサ部）、１７…処理回路、１８…エンジン制御回路（異常診断手段）
【図１】
2011069282.tif 000003
【図２】
2011069282.tif 000004
【図３】
2011069282.tif 000005
【図４】
2011069282.tif 000006
【図５】
2011069282.tif 000007
【図６】
2011069282.tif 000008