(57)【特許請求の範囲】
【請求項１】
クランクシャフトと前記クランクシャフトに所定回転数比をもって連動するカムシャフトとを有する内燃エンジンのクランクシャフトの回転角度位置を検出する内燃エンジンのクランク角度位置検出装置であって、
前記クランクシャフト及び前記カムシャフトは、各々連動する第１及び第２回転体を有し、
前記第１及び第２回転体の各々は回転方向に互いに角度間隔をおいて順次配列された複数の同形状の被検出部を有し、
前記第１回転体の相隣り合う前記角度間隔は互いに等しく、
前記第２回転体の１つの回転方向における少なくとも２つの連続する角度間隔の順列が互いに異なり、且つ、少なくとも1組の隣接角度間隔が等しく、
前記クランクシャフトの回転数に対する前記カムシャフトの回転数の比に前記第２回転体の最小角度間隔を乗じた値が前記第１回転体の前記角度間隔以上であることを特徴とする内燃エンジンのクランク角度位置検出装置。
【請求項２】
前記第１及び第２回転体の前記被検出部を検知するセンサから発せられるセンサ出力信号が同時に発しないように前記被検出部と前記センサとの相対位置が定められていることを特徴とする請求項１記載の内燃エンジンのクランク角度位置検出装置。
【請求項３】
前記クランクシャフトの回転数に対する前記カムシャフトの回転数の比に前記第２回転体の最小角度間隔を乗じた値を１以上の自然数で除算した値を前記第１回転体の前記被検出部の角度間隔とし、前記第２回転体に対応するセンサから２つのセンサ出力信号が連続して発せられる間に前記第１回転体に対応するセンサから発せられるセンサ出力信号のパルス数をカウントすることによって前記第２回転体の前記被検出部の角度間隔を得るクランク角検出手段を更に有することを特徴とする請求項１記載の内燃エンジンのクランク角度位置検出装置。
【請求項４】
前記第１回転体の１回転に対する前記第２回転体の回転角度内において少なくとも３つの前記被検出部が前記第２回転体に設けられていることを特徴とする請求項１記載の内燃エンジンのクランク角度位置検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃エンジンのクランク角度位置検出装置に関する。
【０００２】
【従来の技術】
内燃エンジンのクランク角度位置検出装置として、特許公報２５９６５８１号に開示されている如き装置が知られている。この装置は、等間隔に磁気突起が設けられた第１回転体をクランクシャフトに有し、不等間隔に磁気突起が設けられた第２回転体をカムシャフトに有するものであった。このクランク角度位置検出装置は、第１回転体と第２回転体とに設けられた磁気突起の通過を検出して発せられるクランクパルスとカムパルスとのパルスの数を計数し、このパルスの数に応じて内燃エンジンのクランクシャフトの角度位置を検出するものであった。
【０００３】
【発明が解決しようとする課題】
しかし乍ら、上述した如き従来のクランク角度位置検出装置は、始動時におけるクランク軸の角度位置によっては、クランク軸が３６０度以上回転しなければ、ステージ番号を確定することができない場合があり、内燃エンジンの行程を確定するまでの時間が長くなるという問題が生じた。
【０００４】
本発明は、上述の点に鑑みてなされたものであり、その目的とするところは、内燃エンジンの行程を短時間に確定することができる内燃エンジンのクランク角度位置検出装置を提供することにある。
【０００５】
【課題を解決するための手段】
本発明による内燃エンジンのクランク角度位置検出装置は、クランクシャフトと前記クランクシャフトに所定回転数比をもって連動するカムシャフトとを有する内燃エンジンのクランクシャフトの回転角度位置を検出する内燃エンジンのクランク角度位置検出装置であって、前記クランクシャフト及び前記カムシャフトは、各々連動する第１及び第２回転体を有し、
前記第１及び第２回転体の各々は回転方向に互いに角度間隔をおいて順次配列された複数の同形状の被検出部を有し、前記第１回転体の相隣り合う前記角度間隔は互いに等しく、前記第２回転体の１つの回転方向における少なくとも２つの連続する角度間隔の順列が互いに異なり、且つ、少なくとも1組の隣接角度間隔が等しく、前記クランクシャフトの回転数に対する前記カムシャフトの回転数の比に前記第２回転体の最小角度間隔を乗じた値が前記第１回転体の前記角度間隔以上であることを特徴とする。
【０００６】
すなわち、本発明の特徴によれば、前記第１回転体の被検出部は、相隣り合う角度間隔が互いに等しくなるように設けられ、かつ第２回転体の被検出部は、１つの回転方向における少なくとも２つの連続する角度間隔の順列が互いに異なり、かつ少なくとも1組の隣接角度間隔が等しくなるように設けられているので、内燃エンジンの行程を短時間に確定することができる。
【０００７】
【発明の実施の形態】
以下に、本発明の実施例について図面に基づいて説明する。
図１は、内燃エンジン、吸気系、排気系及び内燃エンジンの制御部の構成を示す。
内燃エンジン１の吸気系２には、車輌の外部から吸入する空気の吸気量を制御するスロットルバルブ３が設けられている。スロットルバルブ３には、スロットルバルブ３の開度を検出するスロットルバルブ開度センサ１１が設けられている。更に、吸気系２には、吸気の圧力を検出する吸気管圧力センサ１２、吸気の温度を検出する吸気温度センサ１３も設けられている。また、燃料を噴射する為の燃料噴射装置４も設けられており、内燃エンジン１は吸気と燃料噴射装置４から噴射された燃料との混合気を吸入し、吸入した混合気を燃焼させてピストン６を往復駆動せしめてクランクシャフト７を回転駆動する。この内燃エンジン１には、内燃エンジンを冷却するための冷却水の温度を検出する冷却水温度センサ１４が設けられている。また、クランクシャフト７の近傍には、クランクシャフト７の角度を検出するクランクパルスセンサ１５が設けられている。更に、内燃エンジン１にはクランクシャフト７に所定の回転数比、例えば２：１をもって連動するカムシャフト（図示せず）が設けられており、カムシャフト近傍にはカムシャフトの回転角度位置を検出するカムパルスセンサ１６が設けられている。内燃エンジン１において燃焼した混合気は、排気ガスとして、排気系５へ排出される。排気系５には、排気ガス中の酸素濃度を検出する酸素濃度センサ１７が設けられている。更に、内燃エンジン１の近傍には大気の圧力を検出する大気圧センサ１８が設けられている。
【０００８】
上述した如き各種センサ１１〜１４及び１７と１８とから発せられる出力信号は、電子制御ユニット（以下、ＥＣＵと称する）３０に供給される。スロットルバルブ開度センサ１１、吸気管圧力センサ１２、吸気温度センサ１３、冷却水温度センサ１４、酸素濃度センサ１７及び大気圧センサ１８から発せられる出力信号は、レベル変換回路群２１に供給されて、所定の電圧信号に変換された後、ＥＣＵ３０内のマルチプレクサ（以下、ＭＰＸと称する）３１に供給される。ＭＰＸ３１は、所定のタイミングでＣＰＵ３４から発せられる命令に応じて、スロットルバルブ開度センサ１１、吸気管圧力センサ１２、吸気温度センサ１３、冷却水温度センサ１４、酸素濃度センサ１７及び大気圧センサ１８から発せられる出力信号のうちのいずれか１つを選択的にＡ／Ｄ変換器３２に供給するスイッチである。Ａ／Ｄ変換器３２は、供給された信号をディジタル信号へ変換し、入出力バス３３に供給する。入出力バス３３は、ＣＰＵ３４にデータ信号又はアドレス信号が入出力されるようになされている。
【０００９】
一方、クランクパルスセンサ１５から発せられる信号、例えばクランク角３０度毎に発せられるパルス信号は、波形整形回路２２に供給されて波形を整形した後、ＣＰＵ３４の割り込み入力及び回転数カウンタ３７へ供給される。回転数カウンタ３７は、内燃エンジンの回転数に応じたディジタル値が出力されるようになされており、回転数カウンタ３７から発せられる出力信号は、入出力バス３３へ供給される。また、カムパルスセンサ１６から発せられるパルス信号は、波形整形回路２３に供給されて波形を整形した後、ＣＰＵ３４の割り込み入力へ供給される。上述した如き構成とすることにより、ＣＰＵ３４は、クランクシャフト７の基準位置、内燃エンジンの回転数及びクランク角度を検出することができるのである。
【００１０】
上述した入出力バス３３には、ＲＯＭ３５、ＲＡＭ３６及び燃料噴射装置４を駆動するための駆動回路２４が接続されている。ＣＰＵ３４から燃料噴射制御指令が燃料噴射装置４に供給されると、燃料噴射装置４の燃料噴射弁（図示せず）を制御し、燃料供給量が制御されるのである。また、ＲＯＭ３５は、図４、５、１７及び１８において説明するフローチャートに従ってクランクシャフトの回転角度位置を検出するプログラムを記憶している。
【００１１】
図２は、本発明の第１の実施例である第１回転体における磁気突起の配置と第２回転体における磁気突起の配置とを示す。
図２（ａ）に示す如く、クランクシャフト７上には円型の第１回転体９がクランクシャフト７の回転運動に連動するように設けられている。図中の矢印に示す如くクランクシャフト７が反時計方向に回転した場合には、第１回転体９も反時計方向に回転する。また、第１回転体９の外周には、被検出部としての８個の磁気突起４０ａ〜４０ｈが回転方向に４５度毎間隔で設けられている。磁気突起４０ａ〜４０ｈの回転軌跡近傍には磁気突起が近傍を通過する毎に磁気突起から生ずる磁束の変化に応じたパルス信号（以下、クランクパルス信号と称する。）を発するクランクパルスセンサ１５が設けられている。
【００１２】
一方、図２（ｂ）に示す如く、カムシャフト８上には円型の第２回転体１０がクランクシャフト７の回転運動に連動するように設けられており、第１回転体と同様に図中の矢印に示す如き方向に第２回転体１０も反時計方向に回転する。カムシャフト８は、図示しないチェーンスプロケットを介してクランクシャフト７に連結されており、クランクシャフト７の回転は、所定の減速比、例えば２で減速されてカムシャフト８に伝達される。カムシャフト８の外周には、被検出部としての７個の磁気突起４２Ａ〜４２Ｇが所定の間隔毎、本第１の実施例においては、４２Ａ〜４２Ｂ間は２２．５度、４２Ｂ〜４２Ｃ間は６７．５度、４２Ｃ〜４２Ｄ間は４５．０度、４２Ｄ〜４２Ｅ間は４５．０度、４２Ｅ〜４２Ｆ間は６７．５度、４２Ｆ〜４２Ｇ間は２２．５度、４２Ｇ〜４２Ａ間は９０．０度の如く、磁気突起間の２つの連続する角度間隔の順列が全て互いに異なるように設けられている。また、第１回転体と同様に磁気突起４２Ａ〜４２Ｇの回転軌跡近傍にはカムパルスセンサ１６が設けられている。
【００１３】
上述した第１の実施例においては、第１回転体の被検出部としての磁気突起は４５度毎に等間隔に設けられているが故、第１回転体に設けられた相隣り合う被検出部の最大間隔は４５度である。一方、第２回転体に設けられた相隣り合う被検出部の最小間隔は、４２Ａ〜４２Ｂ又は４２Ｆ〜４２Ｇにおける２２．５度である。また、上述した如く第１回転体の回転数と第２回転体の回転数との比は２である。従って、この第１の実施例においては、第２回転体の最小間隔である２２．５度に回転数の比である２を乗じた値は、第１回転体の最大間隔である４５度に等しくなるという関係を満たすのである。更に、クランクパルスセンサ１５から発せられるパルス信号とカムパルスセンサ１６から発せられるパルス信号（以下、カムパルス信号と称する。）とが同時に発しないようにすべく、第１回転体９はクランクシャフト７に対して所定の角度θだけ回転方向に偏倚した位置に設けられている。
【００１４】
図３は、上述したカムパルス信号が発せられたことを検出したときに割り込み処理により実行されるサブルーチンを示すフローチャートである。
このサブルーチンにおいては、フラグF_CAMの値を１に設定して（ステップＳ１）終了する。尚、割り込み要求信号としてのカムパルス信号が発せられて本サブルーチンが割り込み処理により実行されたときには、フラグF_CAMの値は１に設定される。一方、割り込み要求信号としてのクランクパルス信号が発せられて後述する図４に示すサブルーチンが割り込み処理により実行されたときには、フラグF_CAMの値は図４のステップＳ１２において初期化、例えば０に設定される。
【００１５】
図４は、クランクパルス信号が発せられたときに割り込み処理により実行されて前回値と今回値とを得るサブルーチンを示す。
まず、上述したフラグF_CAMの値が１であるか否かを判断する（ステップＳ１１）。このフラグF_CAMの値が１である状態とは、割り込み要求信号としてのクランクパルス信号が前回発せられて本サブルーチンが実行されたときからクランクパルス信号が今回発せられて本サブルーチンが実行されるときまでの間に、図３に示したカムパルス信号による割り込み処理のサブルーチンが実行されたことを示す。一方、このフラグF_CAMの値が０である状態とは、クランクパルス信号が前回発せられて本サブルーチンが実行されたときからクランクパルス信号が今回発せられて本サブルーチンが実行されるときまでの間に、図３に示したサブルーチンが実行されなかったことを示す。
【００１６】
上述したフラグF_CAMの値に応じて処理すべく、ステップＳ１１においてフラグF_CAMの値が１であると判別した場合には、後述する如く前回値と今回値とからステップＳ１８〜Ｓ２６に示す行程判別の処理を実行した後、フラグF_CAMの値を０に設定する（ステップＳ１２）。一方、ステップＳ１１においてフラグF_CAMの値が０であると判別した場合には、直ちにフラグF_CAMの値を初期化すべく０に設定する（ステップＳ１２）。ステップＳ１２の処理の後、カウント値を所定値、例えば１だけ増加せしめた（ステップＳ１３）後、ステージ番号の値を所定値、例えば１だけ増加せしめる（ステップＳ１４）。次いで、ステージ番号の値が１６未満であるか否かを判断する（ステップＳ１５）。ステージ番号の値が１６未満であると判別した場合には、直ちに本サブルーチンを終了し、一方、ステージ番号の値が１６以上であると判別した場合には、ステージ番号の値を初期値、例えば０に設定した（ステップＳ１６）後、断線判別サブルーチンを実行して（ステップＳ１７）、本サブルーチンを終了する。
【００１７】
一方、カムパルス信号が発せられた場合には、上述したステップＳ１１においてフラグF_CAMの値が１であると判別した後、フラグF_1stの値が１であるか否かを判断する（ステップＳ１８）。このフラグF_1stは、第１のカムパルス信号を既に検出したか否かを示すフラグであり、第１のカムパルス信号を既に検出した場合にはフラグF_1stの値は１に設定され、第１のカムパルス信号を未だに検出していない場合にはフラグF_1stの値は０に設定される。ステップＳ１８においてフラグF_1stの値が０であると判別した場合には、カウント値を初期値、例えば０に初期化した（ステップＳ１９）後、フラグF_1stの値を１に設定する（ステップＳ２０）。この後、上述した如きステップＳ１２〜Ｓ１７の処理を実行して本サブルーチンを終了する。尚、上述したカウント値とは、最新のカムパルス信号が発せられてから現時点までの間において発せられたクランクパルス信号のパルス数を計数した値である。
【００１８】
また、上述したステップＳ１８においてフラグF_1stの値が１であると判別した場合には、今回値を前回値に代入して（ステップＳ２１）、カウント値を今回値に代入した（ステップＳ２２）後、カウント値を初期値、例えば０に初期化する（ステップＳ２３）。上述した今回値とは、前回のカムパルス信号が発せられた時点から今回のカムパルス信号が発せられた時点までの間においてクランクパルス信号のパルス数を計数した値である。一方、前回値とは、前前回のカムパルス信号が発せられた時点から前回のカムパルス信号が発せられた時点までの間においてクランクパルス信号のパルス数を計数した値である。次に、フラグF_2ndの値が１であるか否かを判断する（ステップＳ２４）。このフラグF_2ndは、第２のカムパルス信号を既に検出したか否かを示すフラグであり、第２のカムパルス信号を既に検出した場合にはフラグF_1stの値は１に設定され、第２のカムパルス信号を未だに検出していない場合にはフラグF_1stの値は０に設定される。ステップＳ２４においてフラグF_2ndの値が０であると判別した場合には、フラグF_2ndの値を１に設定した（ステップＳ２５）後、ステップＳ１２〜Ｓ１７の処理を実行して本サブルーチンを終了する。また、ステップＳ２４においてフラグF_2ndの値が１であると判別した場合には、後述する行程判別ルーチンを実行した（ステップＳ２６）後、ステップＳ１２〜Ｓ１７の処理を実行して本サブルーチンを終了する。
【００１９】
図５は、図４に示したサブルーチンを実行して得られた前回値及び今回値に基づいて内燃エンジンの行程判別の処理をするサブルーチンを示す。
最初に、今回値が４より大きいか否かを判断する（ステップＳ３１）。今回値が４より大きいと判別した場合には、フラグF_1stの値を０に設定し（ステップＳ３２）、フラグF_2ndの値を０に設定し（ステップＳ３３）、フラグF_fixの値を０に設定した（ステップＳ３４）後、本サブルーチンを終了する。今回値が４より大きいと判別する場合とは、例えばノイズ信号が発生してノイズ信号がクランクパルス信号に重畳したようなときに、パルスの数を誤って多くカウントした場合である。また、フラグF_fixとは、本サブルーチンを実行することにより内燃エンジンの行程を示すステージ番号を確定できたか否かを表すフラグであり、ステージ番号を確定できた場合にはフラグF_fixの値を１に設定し、ステージ番号を確定できなかった場合にはフラグF_fixの値を０に設定する。
【００２０】
上述したステップＳ３１において、今回値が４以下であると判別した場合には、前回値が１である否かを判断する（ステップＳ３５）。前回値が１である判別した場合には、今回値が３であるか否かを判断する（ステップＳ３６）。今回値が３であると判別した場合にはステージ番号を３に設定し（ステップＳ３７）、今回値が３でないと判別した場合には、今回値が４であるか否かを判断する（ステップＳ３８）。今回値が４であると判別した場合にはステージ番号を１５に設定する（ステップＳ３９）。ステージ番号を確定できた場合には、フラグF_fixの値を１とし（ステップＳ５４）、本サブルーチンを終了する。また、ステップＳ３８において、今回値が４でないと判別した場合には上述したステップＳ３２〜Ｓ３４の処理をして本サブルーチンを終了する。
【００２１】
ステップＳ３５において、前回値が１でないと判別した場合には前回値が２であるか否かを判断する（ステップＳ４０）。前回値が２であると判別した場合には、今回値が２であるか否かを判断する（ステップＳ４１）。今回値が２であると判別した場合にはステージ番号を７に設定し（ステップＳ４２）、今回値が２でないと判別した場合には、今回値が３であるか否かを判断する（ステップＳ４３）。今回値が３であると判別した場合には、ステージ番号を１０に設定する（ステップＳ４４）。ステージ番号を確定できた場合には、フラグF_fixの値を１とし（ステップＳ５４）、本サブルーチンを終了する。一方、ステップＳ４３において、今回値が３でないと判別した場合には上述したステップＳ３２〜Ｓ３４の処理をして本サブルーチンを終了する。
【００２２】
ステップＳ４０において、前回値が２でないと判別した場合には前回値が３であるか否かを判断する（ステップＳ４５）。前回値が３であると判別した場合には、今回値が１であるか否かを判断する（ステップＳ４６）。今回値が１であると判別した場合にはステージ番号を１１に設定し（ステップＳ４７）、今回値が１でないと判別した場合には、今回値が２であるか否かを判断する（ステップＳ４８）。今回値が２であると判別した場合には、ステージ番号を５と設定する（ステップＳ４９）。ステージ番号を確定できた場合には、フラグF_fixの値を１とし（ステップＳ５４）、本サブルーチンを終了する。一方、ステップＳ４８において、今回値が２でないと判別した場合には上述したステップＳ３２〜Ｓ３４の処理をして本サブルーチンを終了する。
【００２３】
上述したステップＳ４５において、前回値が３でないと判別した場合には前回値が１より大きいか否かを判断する（ステップＳ５０）。前回値が１以下であると判別した場合には、断線判別ルーチンを実行した後（ステップＳ５１）、フラグF_fixの値を０とし（ステップＳ５２）、本サブルーチンを終了する。前回値が１より大きいと判別した場合には、前回値は４であることからステージ番号を０に設定した（ステップＳ５３）後、フラグF_fixの値を１とし（ステップＳ５４）、本サブルーチンを終了する。
【００２４】
図６は、図２に示した第１回転体と第２回転体とを４気筒の内燃エンジンに用いた場合の内燃エンジン始動時におけるエンジン行程の１つの例を示す。
内燃エンジンが始動されることによりクランクシャフト７とカムシャフト８とが回転し始める。内燃エンジンの始動直後においては、図６（ｂ）に示す如く最初に第１回転体の磁気突起４０ｈが検出されて、クランクパルス信号がクランクパルスセンサ１５から発せられる。この時点においては、図６（ｃ）に示す第２回転体の磁気突起は検出されておらずカムパルス信号は発せられていない。従って、上述したフラグF_CAMの値は０であるが故に、図４に示したサブルーチンにおいては、ステップＳ１１→Ｓ１２→Ｓ１３→Ｓ１４→Ｓ１５と実行されるのである。
【００２５】
この後、クランクシャフトとカムシャフトとが回転するに従って、図６（ｃ）に示す如く第２回転体の磁気突起４２Ｅが検出されると、カムパルス信号がカムパルスセンサ１６から発せられて、図３のサブルーチンが実行されることによりF_CAMの値は１になる。次いで、図６（ｂ）に示す第１回転体の磁気突起４０Ａが検出されると、図４に示したサブルーチンのステップＳ１１→Ｓ１８→Ｓ１９→Ｓ２０→Ｓ１２→Ｓ１３→Ｓ１４→Ｓ１５が実行され、ステップＳ２０においてフラグF_1stの値を１に設定する。この例においては、上述した第１のカムパルス信号とは、磁気突起４２Ｅの検出により発せられたカムパルスを示す。次に、第１回転体の磁気突起４０ｂが検出されたときには、フラグF_CAMの値は０に設定されているが故に、図４に示したサブルーチンは、ステップＳ１１→Ｓ１２→Ｓ１３→Ｓ１４→Ｓ１５と実行される。上述したステップＳ１３の処理を実行することによりカウンタ値はクランクパルス信号が発せられる毎に１ずつ増加する。
【００２６】
次に、図６（ｃ）の第２回転体の磁気突起４２Ｆが検出された時点においては、カウンタ値は、図６（ｂ）の４０ａ〜４０ｃを計数しているが故に３となる。磁気突起４２Ｆが検出されると、フラグF_CAMの値は１に設定される。次いで、第１回転体の磁気突起４０ｄが検出されると、フラグF_CAMの値は１に設定され、かつF_1stの値は１に設定されているが故に、図４に示したサブルーチンは、ステップＳ１１→Ｓ１８→Ｓ２１→Ｓ２２→Ｓ２３→Ｓ２４→Ｓ２５→Ｓ１２→Ｓ１３→Ｓ１４→Ｓ１５の如く実行される。このステップＳ２５においてフラグF_2ndの値を１に設定する。この図６に示した例においては、上述した第２のカムパルス信号とは、磁気突起４２Ｆの検出により発せられたカムパルスを示すのである。また、この時点においては、今回値は所定の初期値のままであり、ステップＳ２１においては前回値も初期値が代入される。一方、ステップＳ２２においては、上述したカウント値である３を今回値に代入する。従って、この時点における今回値とは、第１回転体の４０ａ〜４０ｃの３つのパルスを計数したものとなる。更に、ステップＳ２３においてカウント値を初期化し、ステップＳ１３においてカウント値を１だけ加算するが故に、カウント値は１となる。このカウント値は、第１回転体の４０ｄを検出したことによるものである。
【００２７】
更に、図６（ｃ）の第２回転体の磁気突起４２Ｇが検出されると、フラグF_CAMの値は１に設定され、図６（ｂ）の第１回転体の磁気突起４０ｅが検出されると、フラグF_CAMの値は１に設定され、F_1stの値は１に設定され、F_2ndの値は１に設定されているが故に、図４に示したサブルーチンは、ステップＳ１１→Ｓ１８→Ｓ２１→Ｓ２２→Ｓ２３→Ｓ２４→Ｓ２６→Ｓ１２→Ｓ１３→Ｓ１４→Ｓ１５の如く実行される。上述した如く、今回値は３に設定されているのでステップＳ２１において前回値は３となる。一方、カウント値は１に設定されているのでステップＳ２２において今回値は１となる。この時点における前回値とは、第１回転体の４０ａ〜４０ｃの３つのパルスを計数した数であり、今回値とは、第１回転体の４０ｄの１つのパルスを計数した数である。上述したステップＳ２６においては、前回値＝３かつ今回値＝１として図５に示した行程判別のサブルーチンを実行する。前回値＝３かつ今回値＝１の場合には、図５のステップＳ４７からステージ番号の値は１１に設定される。更に、図４のステップＳ１４においてステージ番号の値を１だけ加算することにより、第１回転体の磁気突起４０ｅが検出された時点おけるステージ番号は１２であると確定することができるのである。
【００２８】
上述したことから明らかな如く、カムパルス信号を３個検出することによりステージ番号を確定することができ、内燃エンジンの各気筒の行程を判別することができるのである。図６（ａ）に示す如くステージ番号が確定された以降においては、図６（ｄ）に示すように各気筒の上死点位置（以下、ＴＤＣと称する）を判別することができる。例えば、ステージ番号が１３のときは第３気筒のＴＤＣであり、ステージ番号が１のときは第１気筒のＴＤＣであり、ステージ番号が５のときは第２気筒のＴＤＣであり、ステージ番号が９のときは第４気筒のＴＤＣであることを判別することができ、燃料噴射のタイミングや点火のタイミングを的確に制御することができるのである。
【００２９】
図７は、図２（ｂ）に示した第２回転体の磁気突起の角度間隔とその区間においてカウント値として計数されるクランクパルスの数との関係、及び前回値と今回値とから確定されるステージ番号を示す。
第２回転体における相隣り合う連続した２つの磁気突起の区間を図７（ａ）の第１列に示す。この磁気突起の区間の各々における角度間隔を図７（ａ）の第２列に示す如く設定した場合には、図４に示したサブルーチンを実行することにより第２回転体におけるこれらの２つの磁気突起を検出する間において第３列に示した如きクランクパルス信号のパルスの数を計数することとなるのである。
【００３０】
また、図７（ｂ）の第１列には、現時点において検出する第２回転体における磁気突起の番号を示した。この番号の磁気突起の各々を検出した場合における前回値を第２列に示し、今回値を第３列に示した。尚、前回値と今回値との後に示した括弧内の区間は、その前回値と今回値とが得られた区間を示す。また、図７（ｂ）の第４列は、後述する前回値と今回値との和を示す。上述した如く、図４に示したサブルーチンを実行することにより計数したクランクパルス信号のパルスの数から前回値及び今回値を得ることができ、この前回値と今回値との数値の並び、即ち順列に基づいて図５に示したサブルーチンを実行して図７（ｂ）の第５列に示すステージ番号を得ることができるのである。尚、この第５列に示したステージ番号は、図５のサブルーチンのステップＳ３７、Ｓ３９、Ｓ４２、Ｓ４４、Ｓ４７、Ｓ４９及びＳ５２において得られる数値を示したものである。また、上述した順列とは、前回値と今回値との数値の並びを称することとしてもよく、また、連続する２つの角度間隔の並び、例えば、第２回転体の磁気突起４２Ａを検出した時点においては、４２Ｆ〜４２Ｇと４２Ｇ〜４２Ａとの各々における２２．５度と９０度との２つの角度間隔の並びを順列と称してもよい。
【００３１】
図８は、本発明の第２の実施例である第１回転体における磁気突起の配置と第２回転体における磁気突起の配置とを示す。尚、図２に示した構成要素と対応する構成要素には同一の符号を付した。
図８（ａ）に示す如く、クランクシャフト７上の第１回転体９の外周には、被検出部としての１４個の磁気突起５０ａ〜５０ｎが回転方向に略等しい間隔で設けられている。但し、この第２の実施例においては、磁気突起５０ｅと５０ｆとの角度間隔は２２度であり、その他の全ての相隣り合う磁気突起の角度間隔は２６度である。また、図８（ｂ）に示す如く、クランクシャフト７に連動して回転するカムシャフト８上の第２回転体１０の外周には、被検出部としての７個の磁気突起５２Ａ〜５２Ｇが設けられており、５２Ａ〜５２Ｂ間は２６度、５２Ｂ〜５２Ｃ間は５０度、５２Ｃ〜５２Ｄ間は７８度、５２Ｄ〜５２Ｅ間は５２度、５２Ｅ〜５２Ｆ間は６３度、５２Ｆ〜５２Ｇ間は３９度、５２Ｇ〜５２Ａ間は５２度の如く、磁気突起間の２つの連続する角度間隔の順列が全て互いに異なるように設けられている。また、第１回転体９はクランクシャフト７に対して所定の角度θだけ回転方向に偏倚した位置に設けられている。尚、図２に示したものと同様にクランクシャフト７の回転は、所定の減速比、例えば２で減速されてカムシャフト８に伝達される。
【００３２】
上述した第２の実施例においては、第１回転体に設けられた相隣り合う被検出部の最大間隔は、５０ｅ〜５０ｆの区間を除いた区間における２６度である。一方、第２回転体に設けられた相隣り合う被検出部の最小間隔は、５２Ａ〜２２Ｂにおける２６度である。また、上述した如く第１回転体の回転数と第２回転体の回転数との比は２である。従って、この第２の実施例においては、第２回転体の最小間隔である２６度に回転数の比である２を乗じた値は、第１回転体の最大間隔より大きいという関係を満たすのである。
【００３３】
図９は、図８に示した第２回転体の磁気突起の角度間隔とその区間においてカウント値として計数されるクランクパルスの数との関係、及び前回値と今回値とから確定されるステージ番号を示す。尚、図９（ａ）及び（ｂ）に示した表の各列は図７に示したものと同様のものである。
図８（ｂ）に示した第２回転体の相隣り合う連続した２つの磁気突起の角度間隔を図９（ａ）の第２列に示す。図４に示したサブルーチンと同様のクランクパルス割り込みルーチンを実行することにより相隣り合う２つの磁気突起を検出する間において第３列に示した如きクランクパルス信号のパルスの数を計数する。尚、この第２の実施例においては、図４に示したクランクパルス割り込みルーチンのステップＳ１５は、ステージ番号の値が２８未満であるか否かを判断することとして、クランクパルス割り込みルーチンを実行するのである。第２回転体の磁気突起の角度間隔を上述した如き間隔とすることにより第１回転体の磁気突起の間隔が一部において異なる場合においても的確にクランクパルスの数を計数することができるのである。
【００３４】
また、図９（ｂ）に示す如く、クランクパルス信号のパルスの数から得られる前回値及び今回値に基づいて図１０に示す如き行程判別ルーチンを実行することによりステージ番号を確定することができるのである。尚、この図１０に示した行程判別ルーチンは、図５に示したサブルーチンと同様のものであり、図８に示した第１回転体と第２回転体とを後述するＶ型２気筒の内燃エンジンに用いた場合において実行されるものである。
【００３５】
図１１は、図８に示した第１回転体と第２回転体とをＶ型２気筒の内燃エンジンにおけるエンジン行程の１つの例を示す。
この場合においてもカムパルス信号のパルスを３個、例えば、図１１（ｃ）に示す磁気突起５２Ａ、５２Ｂ及び５２Ｃを検出すると内燃エンジンのステージ番号を確定することができる。例えば、ステージ番号が２のときはリア気筒のＴＤＣであり、ステージ番号が１８のときはフロント気筒のＴＤＣであることを判別することができるのである。
【００３６】
図１２は、本発明の第３の実施例である第１回転体における磁気突起の配置と第２回転体における磁気突起の配置とを示す。尚、図２に示した構成要素と対応する構成要素には同一の符号を付した。
図１２（ａ）に示す如く、クランクシャフト７上の第１回転体９の外周には、被検出部としての１２個の磁気突起６０ａ〜６０ｌが回転方向に３０度毎間隔で設けられている。また、図１２（ｂ）に示す如く、クランクシャフト７に連動して回転するカムシャフト８上の第２回転体１０の外周には、被検出部としての７個の磁気突起６２Ａ〜６２Ｇが設けられており、６２Ａ〜６２Ｂ間は９０度、６２Ｂ〜６２Ｃ間は３０度、６２Ｃ〜６２Ｄ間は６０度、６２Ｄ〜６２Ｅ間は６０度、６２Ｅ〜６２Ｆ間は３０度、６２Ｆ〜６２Ｇ間は４５度、６２Ｇ〜６２Ａ間は４５度の如く、磁気突起間の２つの連続する角度間隔の順列が全て互いに異なるように設けられている。尚、図２に示した第１回転体と第２回転体と同様に、第１回転体９はクランクシャフト７に対して所定の角度θだけ回転方向に偏倚した位置に設けられている。また、図２に示したものと同様にクランクシャフト７の回転は、所定の減速比、例えば２で減速されてカムシャフト８に伝達される。
【００３７】
上述した第３の実施例においては、第１回転体の被検出部は等間隔に設けられており、相隣り合う被検出部の最大間隔は３０度である。一方、第２回転体に設けられた相隣り合う被検出部の最小間隔は、６２Ｂ〜６２Ｃ又は６２Ｅ〜６２Ｆにおける３０度である。また、上述した如く第１回転体の回転数と第２回転体の回転数との比は２である。従って、この第３の実施例においては、第２回転体の最小間隔である３０度に回転数の比である２を乗じた値は、第１回転体の最大間隔より大きいという関係を満たすのである。
【００３８】
図１３は、図１２に示した第２回転体の磁気突起の角度間隔とその区間においてカウント値として計数されるクランクパルス信号のパルス数との関係、及び前回値と今回値とから確定されるステージ番号を示す。尚、図１３（ａ）及び（ｂ）に示した表の各列は図７に示したものと同様のものである。
図１２（ｂ）に示した第２回転体の相隣り合う連続した２つの磁気突起の角度間隔を図１３（ａ）の第２列に示す。図４に示したサブルーチンと同様のクランクパルス割り込みルーチンを実行することにより相隣り合う２つの磁気突起を検出する間において第３列に示した如きクランクパルス信号のパルスの数を計数する。尚、この第３の実施例においては、図４に示したクランクパルス割り込みルーチンのステップＳ１５は、ステージ番号の値が２４未満であるか否かを判断することとして、クランクパルス割り込みルーチンを実行するのである。第２回転体の磁気突起の角度間隔を上述した如き間隔にしたことにより第１回転体の磁気突起の間隔を３０度とした場合においても的確にクランクパルス信号のパルス数を計数することができるのである。
【００３９】
また、図１３（ｂ）に示す如く、クランクパルス信号のパルスの数から得られる前回値及び今回値に基づいて図１４に示す如き行程判別ルーチンを実行することによりステージ番号を確定することができるのである。尚、この図１４に示した行程判別ルーチンは、図５に示したサブルーチンと同様のものであり、図１２に示した第１回転体と第２回転体とを後述する４気筒の内燃エンジンに用いた場合において実行されるものである。
【００４０】
図１５は、図１２に示した第１回転体と第２回転体とを４気筒の内燃エンジンに用いた場合におけるエンジン行程の１つの例を示す。
この場合においてもカムパルス信号のパルスを３個、例えば図１５（ｃ）に示す６２Ａ、６２Ｂ及び６２Ｃの磁気突起を検出したときに発せられるパルスを検出した時点で内燃エンジンのステージ番号を確定することができ、例えば、ステージ番号が１のときは第１気筒のＴＤＣであり、ステージ番号が７のときは第２気筒のＴＤＣであり、ステージ番号が１３のときは第４気筒のＴＤＣであり、ステージ番号が１９のときは第３気筒のＴＤＣであることを判別することができるのである。
【００４１】
図１６は、図１２に示した第１回転体と第２回転体とを６気筒の内燃エンジンに用いた場合におけるエンジン行程の１つの例を示す。
上述した図１５の場合と同様にカムパルス信号のパルスを３個検出した時点で内燃エンジンのステージ番号を確定することができ、例えば、ステージ番号が１のときは第１気筒のＴＤＣであり、ステージ番号が５のときは第４気筒のＴＤＣであり、ステージ番号が９のときは第５気筒のＴＤＣであり、ステージ番号が１３のときは第２気筒のＴＤＣであり、ステージ番号が１７のときは第３気筒のＴＤＣであり、ステージ番号が２１のときは第６気筒のＴＤＣであることを判別することができるのである。
【００４２】
図１７は、クランクパルス信号が発せられたときに割り込み処理により実行されて今回値と合計値とを得るサブルーチンを示すフローチャートである。尚、このサブルーチンは、図２に示した第１回転体と第２回転体とを４気筒の内燃エンジンに用いた場合に実行されるものである。
このサブルーチンは、図４に示したサブルーチンと同様のものであり、図４におけるステップＳ２１とステップＳ２２とを各々ステップＳ７１とステップＳ７２とに置き換えたものであり、カウント値から前回値の代わりに前回値と今回値との和である合計値を得るものである。この合計値は、上述した図７（ｂ）、図９（ｂ）及び図１３（ｂ）や後述する図２０（ｂ）、図２５（ｂ）に示す表の各々の第４列に示したものである。
【００４３】
図１８は、上述した今回値及び合計値に基づいて内燃エンジンの行程判別の処理をするサブルーチンを示すフローチャートである。尚、このサブルーチンは、図１７と同様に図２に示した第１回転体と第２回転体とを４気筒の内燃エンジンに用いた場合に実行されるものである。
最初に、今回値が４より大きいか否かを判断する（ステップＳ３０１）。今回値が４より大きいと判別した場合には、フラグF_1stの値を０に設定し（ステップＳ３０２）、フラグF_2ndの値を０に設定し（ステップＳ３０３）、フラグF_fixの値を０に設定した（ステップＳ３０４）後、本サブルーチンを終了する。
【００４４】
ステップＳ３０１において、今回値が４以下であると判別した場合には、合計値が５より大きいか否かを判断する（ステップＳ３０５）。合計値が５より大きいと判別した場合には、上述したステップＳ３０２〜Ｓ３０４の処理を実行して本サブルーチンを終了する。ステップＳ３０５において、合計値が５以下であると判別した場合には、合計値が４であるか否かを判断する（ステップＳ３０６）。合計値が４であると判別した場合には、今回値が３であるか否かを判断する（ステップＳ３０７）。今回値が３であると判別した場合には、ステージ番号を３にする（ステップＳ３０８）。ステップＳ３０７において今回値が３でないと判別した場合には、今回値が２であるか否かを判断する（ステップＳ３０９）。今回値が２であると判別した場合には、ステージ番号を７にする（ステップＳ３１０）。ステップＳ３０９において今回値が２でないと判別した場合には、今回値が１であるか否かを判断する（ステップＳ３１１）。今回値が１であると判別した場合には、ステージ番号を１１にする（ステップＳ３１２）。ステージ番号が確定した場合には、フラグF_fixの値を１とし（ステップＳ３２２）、本サブルーチンを終了する。また、ステップＳ３１１において、今回値が１でないと判別した場合には上述したステップＳ３０２〜Ｓ３０４の処理をして本サブルーチンを終了する。
【００４５】
上述したステップＳ３０６において、合計値が４でないと判別した場合には、合計値が４より小さいか否かを判断する（ステップＳ３１３）。合計値が４より小さいと判別した場合には、断線判別ルーチンを実行した（ステップＳ３２３）後、上述したステップＳ３０２〜Ｓ３０４の処理をして本サブルーチンを終了する。ステップＳ３１３において、合計値が４以上であると判別した場合には、今回値が４であるか否かを判断する（ステップＳ３１４）。今回値が４であると判別した場合には、ステージ番号を１５にする（ステップＳ３２１）。ステップＳ３１４において今回値が４でないと判別した場合には、今回値が３であるか否かを判断する（ステップＳ３１５）。今回値が３であると判別した場合には、ステージ番号を１０にする（ステップＳ３１６）。ステップＳ３１５において今回値が３でないと判別した場合には、今回値が２であるか否かを判断する（ステップＳ３１７）。今回値が２であると判別した場合には、ステージ番号を５にする（ステップＳ３１８）。ステップＳ３１７において今回値が２でないと判別した場合には、今回値が１であるか否かを判断する（ステップＳ３１９）。今回値が１であると判別した場合には、ステージ番号を０にする（ステップＳ３２０）。ステップＳ３１９において今回値が１でないと判別した場合には、上述したステップＳ３０２〜Ｓ３０４の処理をして本サブルーチンを終了する。一方、ステージ番号が確定できた場合には、フラグF_fixの値を１とし（ステップＳ３２２）、本サブルーチンを終了する。
【００４６】
図１９は、本発明の第４の実施例である第１回転体における磁気突起の配置と第２回転体における磁気突起の配置とを示す。尚、図２に示した構成要素と対応する構成要素には同一の符号を付した。
図１９（ａ）に示す如く、クランクシャフト７上の第１回転体９の外周には、被検出部としての９個の磁気突起７０ａ〜７０ｉが回転方向に４０度毎に等間隔に設けられている。また、図１９（ｂ）に示す如く、クランクシャフト７に連動して回転するカムシャフト８上の第２回転体１０の外周には、被検出部としての６個の磁気突起７２Ａ〜７２Ｆが設けられており、７２Ａ〜７２Ｂ間は４０度、７２Ｂ〜７２Ｃ間は８０度、７２Ｃ〜７２Ｄ間は６０度、７２Ｄ〜７２Ｅ間は６０度、７２Ｅ〜７２Ｆ間は８０度、７２Ｆ〜７２Ａ間は４０度の如く、磁気突起間の２つの連続する角度間隔の順列が全て互いに異なるように設けられている。尚、図２に示した第１回転体と第２回転体と同様に、第１回転体９はクランクシャフト７に対して所定の角度θだけ回転方向に偏倚した位置に設けられている。また、図２に示したものと同様にクランクシャフト７の回転は、所定の減速比、例えば２で減速されてカムシャフト８に伝達される。
【００４７】
上述した第４の実施例においては、第１回転体の被検出部は等間隔に設けられており、相隣り合う被検出部の最大間隔は４０度である。一方、第２回転体に設けられた相隣り合う被検出部の最小間隔は、７２Ａ〜７２Ｂ又は７２Ｆ〜７２Ａにおける４０度である。また、上述した如く第１回転体の回転数と第２回転体の回転数との比は２である。従って、この第４の実施例においては、第２回転体の最小間隔である４０度に回転数の比である２を乗じた値は、第１回転体の最大間隔より大きいという関係を満たすのである。
【００４８】
図２０は、図１９に示した第２回転体の磁気突起の角度間隔とその区間においてカウント値として計数されるクランクパルス信号のパルス数との関係、及び前回値と今回値とから確定されるステージ番号を示す。尚、図２０（ａ）及び（ｂ）に示した表の各列は図７に示したものと同様のものである。
図１９（ｂ）に示した第２回転体の相隣り合う連続した２つの磁気突起の角度間隔を図２０（ａ）の第２列に示す。図４又は図１７に示したサブルーチンと同様のクランクパルス割り込みルーチンを実行することにより相隣り合う２つの磁気突起を検出する間において第３列に示した如きクランクパルスの数を計数する。尚、この第４の実施例においては、図４又は図１７に示したクランクパルス割り込みルーチンのステップＳ１５又はＳ６５は、ステージ番号の値が１８未満であるか否かを判断することとして、クランクパルス割り込みルーチンを実行するのである。第２回転体の磁気突起の角度間隔を上述した如き間隔にしたことにより第１回転体の磁気突起の間隔を４０度とした場合においても的確にクランクパルスの数を計数することができるのである。
【００４９】
また、図２０（ｂ）に示す如く、クランクパルス信号のパルスの数から前回値、今回値及び合計値を得て図２１又は２２に示す如き行程判別ルーチンを実行することによりステージ番号を確定することができるのである。尚、この図２１に示した行程判別ルーチンは、図５に示したサブルーチンと同様のものであり、図２２に示した行程判別ルーチンは、図１８に示したサブルーチンと同様のものである。また、図２１及び２２に示した如き行程判別ルーチンは、図１９に示した第１回転体と第２回転体とを後述する６気筒の内燃エンジンに用いた場合において実行されるものである。
【００５０】
図２３は、図１９に示した第１回転体と第２回転体とを６気筒の内燃エンジンに用いた場合におけるエンジン行程の１つの例を示す。
この例においてもカムパルスを３個検出した時点で内燃エンジンのステージ番号を確定することができ、例えば、ステージ番号が１のときは第１気筒のＴＤＣであり、ステージ番号が４のときは第４気筒のＴＤＣであり、ステージ番号が７のときは第５気筒のＴＤＣであり、ステージ番号が１０のときは第２気筒のＴＤＣであり、ステージ番号が１３のときは第３気筒のＴＤＣであり、ステージ番号が１６のときは第６気筒のＴＤＣであることを判別することができるのである。
【００５１】
図２４は、本発明の第５の実施例である第１回転体における磁気突起の配置と第２回転体における磁気突起の配置とを示す。尚、図２に示した構成要素と対応する構成要素には同一の符号を付した。
図２４（ａ）に示す如く、クランクシャフト７上の第１回転体９の外周には、被検出部としての１０個の磁気突起８０ａ〜８０ｊが回転方向に３６度毎に等間隔に設けられている。また、図２４（ｂ）に示す如く、クランクシャフト７に連動して回転するカムシャフト８上の第２回転体１０の外周には、被検出部としての８個の磁気突起８２Ａ〜８２Ｈが設けられており、８２Ａ〜８２Ｂ間は７２度、８２Ｂ〜８２Ｃ間は１８度、８２Ｃ〜８２Ｄ間は５４度、８２Ｄ〜８２Ｅ間は３６度、８２Ｅ〜８２Ｆ間は３６度、８２Ｆ〜８２Ｇ間は５４度，８２Ｇ〜８２Ｈ間は１８度、８２Ｈ〜８２Ａ間は７２度の如く、磁気突起間の２つの連続する角度間隔の順列が全て互いに異なるように設けられている。尚、図２に示した第１回転体と第２回転体と同様に、第１回転体９はクランクシャフト７に対して所定の角度θだけ回転方向に偏倚した位置に設けられている。また、図２に示したものと同様にクランクシャフト７の回転は、所定の減速比、例えば２で減速されてカムシャフト８に伝達される。
【００５２】
上述した第５の実施例においては、第１回転体の被検出部は等間隔に設けられており、相隣り合う被検出部の最大間隔は３６度である。一方、第２回転体に設けられた相隣り合う被検出部の最小間隔は、８２Ｂ〜８２Ｃ又は８２Ｇ〜８２Ｈにおける１８度である。また、上述した如く第１回転体の回転数と第２回転体の回転数との比は２である。従って、この第５の実施例においては、第２回転体の最小間隔である１８度に回転数の比である２を乗じた値は、第１回転体の最大間隔である３６度に等しいという関係を満たすのである。
【００５３】
図２５は、図２４に示した第２回転体の磁気突起の角度間隔とその区間においてカウント値として計数されるクランクパルス信号のパルス数との関係、及び前回値、今回値及び合計値とから確定されるステージ番号を示す。
図２４（ｂ）に示した第２回転体の相隣り合う連続した２つの磁気突起の角度間隔を図２５（ａ）の第２列に示す。図４又は１７に示したクランクパルス割り込みルーチンと同様のサブルーチンを実行することにより相隣り合う２つの磁気突起を検出する間において第３列に示した如きクランクパルス信号のパルスの数を計数する。尚、この第５の実施例においては、図４又は１７に示したクランクパルス割り込みルーチンのステップＳ１５又はＳ６５は、ステージ番号の値が２０未満であるか否かを判断することとして、クランクパルス割り込みルーチンを実行するのである。第２回転体の磁気突起の角度間隔を上述した如き間隔にしたことにより第１回転体の磁気突起の間隔を３６度とした場合においても的確にクランクパルスの数を計数することができるのである。
【００５４】
また、図２５（ｂ）に示す如く、クランクパルス信号のパルスの数から前回値、今回値及び合計値を得て図２６又は２７に示す如き行程判別ルーチンを実行することによりステージ番号を確定することができるのである。尚、この図２６に示した行程判別ルーチンは、図５に示したサブルーチンと同様のものであり、図２７に示した行程判別ルーチンは、図１８に示したサブルーチンと同様のものである。また、図２６及び２７に示した如き行程判別ルーチンは、図２４に示した第１回転体と第２回転体とを後述する４気筒の内燃エンジンに用いた場合において実行されるものである。
【００５５】
図２８は、図２４に示した第１回転体と第２回転体とを４気筒の内燃エンジンに用いた場合におけるエンジン行程の１つの例を示す。
この場合においてもカムパルスを３個検出した時点で内燃エンジンのステージ番号を確定することができ、例えば、ステージ番号が１のときは第１気筒のＴＤＣであり、ステージ番号が６のときは第２気筒のＴＤＣであり、ステージ番号が１１のときは第４気筒のＴＤＣであり、ステージ番号が１６のときは第３気筒のＴＤＣであることを判別することができるのである。
【００５６】
図２９は、本発明の第６の実施例である第１回転体における磁気突起の配置と第２回転体における磁気突起の配置とを示す。尚、図２に示した構成要素と対応する構成要素には同一の符号を付した。
図２９（ａ）に示す如く、クランクシャフト７上の第１回転体９の外周には、被検出部としての１６個の磁気突起９０ａ〜９０ｐが回転方向に２２．５度毎に等間隔に設けられている。また、図２９（ｂ）に示す第２回転体１０は、図２（ｂ）に示したものと同様の第２回転体である。また、第１回転体９はクランクシャフト７に対して所定の角度θだけ回転方向に偏倚した位置に設けられている。尚、図２に示したものと同様にクランクシャフト７の回転は、所定の減速比、例えば２で減速されてカムシャフト８に伝達される。
【００５７】
上述した第６の実施例においては、第１回転体の被検出部は等間隔に設けられており、相隣り合う被検出部の最大間隔は２２．５度である。一方、第２回転体に設けられた相隣り合う被検出部の最小間隔は、４２Ａ〜４２Ｂ又は４２Ｆ〜４２Ｇにおける２２．５度である。また、上述した如く第１回転体の回転数と第２回転体の回転数との比は２である。従って、この第２の実施例においては、第２回転体の最小間隔である２２．５度に回転数の比である２を乗じた値は、第１回転体の最大間隔より大きいという関係を満たすのである。
【００５８】
図３０は、本発明の第７の実施例である第１回転体における磁気突起の配置と第２回転体における磁気突起の配置とを示す。尚、図２に示した構成要素と対応する構成要素には同一の符号を付した。
図３０（ａ）に示す如く、クランクシャフト７上の第１回転体９の外周には、被検出部としての２４個の磁気突起１００ａ〜１００ｘが回転方向に１５度毎に等間隔に設けられている。また、図３０（ｂ）に示す第２回転体１０は、図２（ｂ）に示したものと同様の第２回転体である。また、第１回転体９はクランクシャフト７に対して所定の角度θだけ回転方向に偏倚した位置に設けられている。尚、図２に示したものと同様にクランクシャフト７の回転は、所定の減速比、例えば２で減速されてカムシャフト８に伝達される。
【００５９】
上述した第７の実施例においては、第１回転体の被検出部は等間隔に設けられており、相隣り合う被検出部の最大間隔は１５度である。一方、第２回転体に設けられた相隣り合う被検出部の最小間隔は、４２Ａ〜４２Ｂ又は４２Ｆ〜４２Ｇにおける２２．５度である。また、上述した如く第１回転体の回転数と第２回転体の回転数との比は２である。従って、この第２の実施例においては、第２回転体の最小間隔である２２．５度に回転数の比である２を乗じた値は、第１回転体の最大間隔より大きいという関係を満たすのである。
【００６０】
図３１は、ノイズが発生したときの処理をするサブルーチンを示す。
最初に、前回値を最小クランクパルス数Ｎで除算した値を前回除算値として算出する（ステップＳ１０１）。ここで、最小クランクパルス数Ｎとは、第２回転体に設けられた磁気突起の最小の角度間隔において検出されるクランクパルスの数をいい、２以上の自然数である。例えば、図２９に示した第１回転体と第２回転体の場合においては、第２回転体に設けられた磁気突起の最小の角度間隔は、４２Ａ〜４２Ｂ又は４２Ｆ〜４２Ｇの２２．５度であり、この角度間隔で計数できるクランクパルスの数は２である。また、図３０に示した第１回転体と第２回転体の場合においては、第２回転体の最小の角度間隔４２Ａ〜４２Ｂ又は４２Ｆ〜４２Ｇで計数できるクランクパルスの数は３である。即ち、図２９の場合にはＮ＝２となり、図３０の場合にはＮ＝３となるのである。次いで、同様に、今回値を最小クランクパルス数Ｎで除算した値を今回除算値として算出する（ステップＳ１０２）。次に、ステップＳ１０１で算出した前回除算値の小数部分の値が０であるか否か、即ち除算の結果の剰余が０であるか否かを判断する（ステップＳ１０３）。前回除算値の小数部分の値が０であると判別した場合には、直ちに本サブルーチンを終了する。前回除算値の小数部分の値が０でないと判別した場合には、ステップＳ１０２で算出した今回除算値の小数部分の値が０であるか否かを判断する（ステップＳ１０４）。今回除算値の小数部分の値が０であると判別した場合には、直ちに本サブルーチンを終了する。今回除算値の小数部分の値が０でないと判別した場合には、前回除算値の整数部分の値、即ち、一の位で切り捨てた値に最小クランクパルス数Ｎを乗ずることにより訂正した値を訂正前回値に代入した（ステップＳ１０５）後、今回除算値の整数部分の値に最小クランクパルス数Ｎを乗ずることにより訂正した値を訂正今回値に代入する（ステップＳ１０６）。
【００６１】
図３２は、図２９及び３０に示した第１回転体と第２回転体とを用いたときにおける訂正前回値と訂正今回値とを算出した値を示す。
図３２（ａ）は、図２９に示した第１回転体と第２回転体とを用いたときのものである。第１列に示した突起番号は、現時点において検出している第２回転体の磁気突起の番号を示す。また、第２列及び第３列は、ノイズが発生していない場合の前回値と今回値とであり、各々の行に括弧内に示した区間は、カムパルスを計数することにより前回値と今回値とを得た磁気突起の区間を示す。更に、第４列及び第５列は、ノイズが１回発生した場合に得られた前回値と今回値とである。上述した図３１のサブルーチンを実行することにより、図３２（ａ）の第６列と第７列に示した訂正前回値及び訂正今回値が得られ、ノイズが１回発生した場合には、図３２（ａ）の第６列と第７列に示した訂正前回値及び訂正今回値の如く、ノイズが発生しないときの前回値と今回値とに訂正することができるのである。
【００６２】
図３２（ｂ）は、図３０に示した第１回転体と第２回転体とを用いたときのものである。図３２（ｂ）の各列に示したものは、図３２（ａ）と同様のものを表す。この図３２（ｂ）の第４列及び第５列の前回値と今回値とは、ノイズが２回発生した場合に得られる前回値と今回値とである。この前回値と今回値とに基づいて、図３１に示したサブルーチンを実行することにより、図３２（ｂ）の第６列と第７列に示した訂正前回値及び訂正今回値が得られ、ノイズが２回発生した場合においても、ノイズが発生しないときの前回値と今回値に訂正することができるのである。
【００６３】
上述した図２９又は３０に示した第１回転体と第２回転体を用いて、図３１に示したサブルーチンを実行することにより、各角度間隔において（最小クランクパルス数Ｎ−１）回以下だけのノイズが発生した場合には、前回値と今回値と訂正することができるのである。
上述した実施例においては、第２回転体の最小間隔においても、少なくとも１個の必ずクランクパルス信号のパルスを検出する構成としている。従って、この第２回転体の最小間隔におけるクランクパルス信号のパルスの数を計数することにより、クランクパルスセンサ１５を含む回路及びカムパルスセンサ回路１６の断線を判別することができるのである。例えば、図４におけるステップＳ１７、図５におけるステップＳ５１、図１７におけるステップＳ６７及び図１８におけるステップＳ３２３においてクランクパルス信号のパルスの数を計数して断線を判別することとしてもよい。
【００６４】
尚、上述した如き実施例においては、第１回転体及び第２回転体の角度位置を得る方法として磁気突起から発せられる磁束の変化を検出して得る場合を示したが、ホール素子式や光学式によって角度位置を得ることとしてもよい。
【００６５】
【発明の効果】
以上説明した如く、本発明による内燃エンジンのクランク角度位置検出装置によれば、前記第１回転体の被検出部は、相隣り合う角度間隔が互いに等しくなるように設けられ、かつ第２回転体の被検出部は、１つの回転方向における少なくとも２つの連続する角度間隔の順列が互いに異なり、かつ少なくとも1組の隣接角度間隔が等しくなるように設けられているので、内燃エンジンの行程を短時間に確定することができる。
【図面の簡単な説明】
【図１】内燃エンジン、吸気系、排気系及び内燃エンジンの制御部の構成を示すブロック図である。
【図２】本発明の第１の実施例である第１回転体における磁気突起の配置と第２回転体における磁気突起の配置とを示す概略図である。
【図３】カムパルス信号が発せられたことを検出したときに割り込み処理により実行されるサブルーチンを示すフローチャートである。
【図４】クランクパルス信号が発せられたときに割り込み処理により実行されて前回値と今回値とを得るサブルーチンを示すフローチャートである。
【図５】図４に示したサブルーチンを実行して得られた前回値及び今回値に基づいて内燃エンジンの行程判別の処理をするサブルーチンを示すフローチャートである。
【図６】図２に示した第１回転体と第２回転体とを４気筒の内燃エンジンに用いた場合の内燃エンジン始動時におけるエンジン行程の１つの例を示す図である。
【図７】第２回転体の磁気突起の角度間隔とその区間においてカウント値として計数されるクランクパルスの数との関係、及び前回値と今回値とから確定されるステージ番号を示す表である。
【図８】本発明の第２の実施例である第１回転体における磁気突起の配置と第２回転体における磁気突起の配置とを示す概略図である。
【図９】図８に示した第２回転体の磁気突起の角度間隔とその区間においてカウント値として計数されるクランクパルスの数との関係、及び前回値と今回値とから確定されるステージ番号を示す表である。
【図１０】図８に示した第１回転体と第２回転体とをＶ型２気筒の内燃エンジンに用いた場合において、前回値及び今回値に基づいて内燃エンジンの行程判別の処理をするサブルーチンを示すフローチャートである。
【図１１】図８に示した第１回転体と第２回転体とをＶ型２気筒の内燃エンジンに用いた場合におけるエンジン行程の１つの例を示すタイムチャートである。
【図１２】本発明の第３の実施例である第１回転体における磁気突起の配置と第２回転体における磁気突起の配置とを示す概略図である。
【図１３】第２回転体の磁気突起の角度間隔とその区間においてカウント値として計数されるクランクパルスの数との関係、及び前回値と今回値とから確定されるステージ番号を示す表である。
【図１４】図１２に示した第１回転体と第２回転体とを４気筒の内燃エンジンに用いた場合において、前回値及び今回値に基づいて内燃エンジンの行程判別の処理をするサブルーチンを示すフローチャートである。
【図１５】図１２に示した第１回転体と第２回転体とを４気筒の内燃エンジンに用いた場合におけるエンジン行程の１つの例を示すタイムチャートである。
【図１６】図１２に示した第１回転体と第２回転体とを６気筒の内燃エンジンに用いた場合におけるエンジン行程の１つの例を示すタイムチャートである。
【図１７】クランクパルス信号が発せられたことを検出したときに割り込み処理により実行されるサブルーチンを示すフローチャートである。
【図１８】今回値及び合計値に基づいて内燃エンジンの行程判別の処理をするサブルーチンを示すフローチャートである。
【図１９】本発明の第４の実施例である第１回転体における磁気突起の配置と第２回転体における磁気突起の配置とを示す概略図である。
【図２０】第２回転体の磁気突起の角度間隔とその区間においてカウント値として計数されるクランクパルスの数との関係、及び前回値と今回値とから確定されるステージ番号を示す表である。
【図２１】図１９に示した第１回転体と第２回転体とを４気筒の内燃エンジンに用いた場合において、前回値及び今回値に基づいて内燃エンジンの行程判別の処理をするサブルーチンを示すフローチャートである。
【図２２】図１９に示した第１回転体と第２回転体とを４気筒の内燃エンジンに用いた場合において、今回値及び合計値に基づいて内燃エンジンの行程判別の処理をするサブルーチンを示すフローチャートである。
【図２３】図１９に示した第１回転体と第２回転体とを６気筒の内燃エンジンに用いた場合におけるエンジン行程の１つの例を示す図である。
【図２４】本発明の第５の実施例である第１回転体における磁気突起の配置と第２回転体における磁気突起の配置とを示す概略図である。
【図２５】第２回転体の磁気突起の角度間隔とその区間においてカウント値として計数されるクランクパルスの数との関係、及び前回値と今回値とから確定されるステージ番号を示す表である。
【図２６】図２４に示した第１回転体と第２回転体とを４気筒の内燃エンジンに用いた場合において、前回値及び今回値に基づいて内燃エンジンの行程判別の処理をするサブルーチンを示すフローチャートである。
【図２７】図２４に示した第１回転体と第２回転体とを４気筒の内燃エンジンに用いた場合において、今回値及び合計値に基づいて内燃エンジンの行程判別の処理をするサブルーチンを示すフローチャートである。
【図２８】図２４に示した第１回転体と第２回転体とを４気筒の内燃エンジンに用いた場合におけるエンジン行程の１つの例を示す図である。
【図２９】本発明の第６の実施例である第１回転体における磁気突起の配置と第２回転体における磁気突起の配置とを示す。
【図３０】本発明の第７の実施例である第１回転体における磁気突起の配置と第２回転体における磁気突起の配置とを示す。
【図３１】ノイズが発生したときの処理をするサブルーチンを示すフローチャートである。
【図３２】図２９及び３０に示した第１回転体と第２回転体とを用いたときにおける訂正前回値と訂正今回値とを算出した値を示す表である。
【符号の説明】
１  内燃エンジン
７  クランクシャフト
８  カムシャフト
９  第１回転体
１０  第２回転体
１５  クランクパルスセンサ
１６  カムパルスセンサ
【図１】
0003694444.tif 000002
【図２】
0003694444.tif 000003
【図３】
0003694444.tif 000004
【図４】
0003694444.tif 000005
【図５】
0003694444.tif 000006
【図６】
0003694444.tif 000007
【図７】
0003694444.tif 000008
【図８】
0003694444.tif 000009
【図９】
0003694444.tif 000010
【図１０】
0003694444.tif 000011
【図１１】
0003694444.tif 000012
【図１２】
0003694444.tif 000013
【図１３】
0003694444.tif 000014
【図１４】
0003694444.tif 000015
【図１５】
0003694444.tif 000016
【図１６】
0003694444.tif 000017
【図１７】
0003694444.tif 000018
【図１８】
0003694444.tif 000019
【図１９】
0003694444.tif 000020
【図２０】
0003694444.tif 000021
【図２１】
0003694444.tif 000022
【図２２】
0003694444.tif 000023
【図２３】
0003694444.tif 000024
【図２４】
0003694444.tif 000025
【図２５】
0003694444.tif 000026
【図２６】
0003694444.tif 000027
【図２７】
0003694444.tif 000028
【図２８】
0003694444.tif 000029
【図２９】
0003694444.tif 000030
【図３０】
0003694444.tif 000031
【図３１】
0003694444.tif 000032
【図３２】
0003694444.tif 000033