(57)【要約】【課題】クランク軸の逆転判定手段と正転復帰判定手段を複数備えると共に、クランク軸が逆転したときに点火を禁止し、点火禁止の解除を適切なタイミングで実行して再始動性を向上させるようにした内燃機関の制御装置を提供する。【解決手段】内燃機関のクランク軸が正転方向の回転から逆転したことを異なる逆転判定条件に基づいて判定する複数の逆転判定手段と、クランク軸が逆転から正転に復帰したことを異なる正転復帰判定条件に基づいて判定する複数の正転復帰判定手段を備える内燃機関の制御装置において、複数の逆転判定手段の少なくともいずれかにおいてクランク軸は逆転と判定されるとき、内燃機関の点火を禁止すると共に（Ｓ４００，Ｓ４０６，Ｓ４１２）、点火禁止後、複数の正転復帰判定手段の少なくともいずれかにおいてクランク軸が逆転から正転に復帰したと判定される場合、点火禁止を解除する（Ｓ４００，Ｓ４１２，Ｓ４１６）。【選択図】図１２
2010209760.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関のクランク軸が正転方向の回転から逆転したことを異なる逆転判定条件に基づいて判定する複数の逆転判定手段と、前記複数の逆転判定手段の少なくともいずれかにおいて前記クランク軸は逆転と判定されるとき、前記内燃機関の点火を禁止する点火禁止手段と、前記点火禁止手段によって前記内燃機関の点火が禁止された後、前記クランク軸が逆転から正転に復帰したことを異なる正転復帰判定条件に基づいて判定する複数の正転復帰判定手段とを備えると共に、前記点火禁止手段は、前記複数の正転復帰判定手段の少なくともいずれかにおいて前記クランク軸が逆転から正転に復帰したと判定される場合、前記内燃機関の点火の禁止を解除することを特徴とする内燃機関の制御装置。
【請求項２】
前記クランク軸の所定クランク角度ごとにクランク角度信号を出力するクランク角度信号出力手段と、前記クランク軸の回転で駆動されて交流電圧を出力する交流発電機と、前記クランク角度信号が出力されるとき、前記交流発電機から出力される交流電圧の極性を判定する極性判定手段とを備えると共に、前記複数の逆転判定手段の少なくともいずれかは、前記判定された極性の周期と前記クランク軸が正転方向に回転させられるときに前記交流発電機から出力されるべき正転時極性周期が一致しないとき、前記クランク軸は逆転と判定し、前記複数の正転復帰判定手段の少なくともいずれかは、前記点火禁止手段によって前記内燃機関の点火が禁止された後、前記判定された極性の周期が前記正転時極性周期に一致するとき、前記クランク軸が逆転から正転に復帰したと判定することを特徴とする請求項１記載の内燃機関の制御装置。
【請求項３】
前記クランク軸に連動して回転するロータの円周に所定の円周方向長さを有して等角度間隔に配置される複数個の突起と、前記突起と対向する静止位置に配置され、前記突起の前端位置と後端位置を示す前端位置信号と後端位置信号を出力する突起位置信号出力手段と、前端位置信号が出力されてから後端位置信号が出力されるまでの突起経過時間を計測すると共に、前記後端位置信号が出力されてから次の突起の前端位置信号が出力されるまでの突起間経過時間を計測する時間計測手段とを備えると共に、前記複数の逆転判定手段の少なくともいずれかは、前記計測された突起経過時間と突起間経過時間に基づいて前記クランク軸は逆転と判定し、前記複数の正転復帰判定手段の少なくともいずれかは、前記点火禁止手段によって前記内燃機関の点火が禁止された後、前記計測された突起経過時間と突起間経過時間に基づいて前記クランク軸が逆転から正転に復帰したと判定することを特徴とする請求項１または２記載の内燃機関の制御装置。
【請求項４】
前記時間計測手段は、前記突起の前端位置信号と後端位置信号が出力される度に前記突起経過時間と突起間経過時間を計測すると共に、前記逆転判定手段は、今回計測された突起間経過時間と前回計測された突起間経過時間の比率が第１の所定値以上の場合、または今回計測された突起経過時間と前回計測された突起経過時間の比率が第２の所定値以上の場合、前記クランク軸は逆転と判定することを特徴とする請求項３記載の内燃機関の制御装置。
【請求項５】
前記複数個の突起のいずれかは、前記円周方向長さが残余の突起のそれと異なるように形成される正転判定用突起からなると共に、前記時間計測手段は、前記突起の前端位置信号と後端位置信号が出力される度に前記突起経過時間と突起間経過時間を計測すると共に、前記正転復帰判定手段は、今回計測された突起経過時間および突起間経過時間の比率と、前回計測された突起経過時間および突起間経過時間の比率との変化量を算出し、前記算出された変化量に基づいて前記正転判定用突起が検出される場合、前記クランク軸が逆転から正転に復帰したと判定することを特徴とする請求項３または４記載の内燃機関の制御装置。
【請求項６】
前記複数の逆転判定手段の少なくともいずれかにおいて前記クランク軸は逆転と判定されるとき、前記内燃機関の燃料噴射を禁止する燃料噴射禁止手段を備えると共に、前記燃料噴射禁止手段は、前記複数の正転復帰判定手段の少なくともいずれかにおいて前記クランク軸が逆転から正転に復帰したと判定される場合、前記内燃機関の燃料噴射の禁止を解除することを特徴とする請求項１から５のいずれかに記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は内燃機関の制御装置に関し、より詳しくはクランク軸が逆転したときに点火を禁止するようにした内燃機関の制御装置に関する。
【背景技術】
【０００２】
内燃機関のクランキング時などにおいてクランク軸の回転速度が不足すると、クランク軸が正転方向の回転から逆転方向の回転に反転することがある。そのような状態のときに点火が行われると、クランク軸などに逆転負荷が作用して機関本体の損傷などを引き起こす恐れがある。そこで、従来より、クランク軸が逆転したと判定されるときに点火を禁止すると共に、点火禁止後にクランク軸が逆転から正転に復帰したと判定される場合に点火の禁止を解除するようにした内燃機関の制御装置が提案されている（例えば特許文献１および２参照）。尚、特許文献１記載の技術における逆転判定条件と正転復帰判定条件は、特許文献２記載の技術のそれと異なる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第２７８０２５７号公報
【特許文献２】特開２００５−２２０８６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、内燃機関の制御装置においては、例えばクランク軸の逆転を精度良く検出するため、逆転判定条件が異なる複数の逆転判定手段と、前記逆転判定条件に応じて正転復帰判定条件が異なる複数の正転復帰判定手段を備えるように構成することが考えられる。
【０００５】
しかしながら、正転復帰判定手段を複数備えるように構成すると、クランク軸が正転に復帰したと判定されるタイミングは判定条件によって相違するため、点火禁止後に運転者によって再始動操作がなされる際、内燃機関の始動開始までに時間がかかるという不都合が生じ得る。即ち、点火禁止は複数の正転復帰判定手段の全てにおいて正転復帰と判定されるまで解除されないため、再始動操作から内燃機関の始動開始までに時間がかかることも考えられ、再始動性が低下する恐れがあった。
【０００６】
従って、この発明の目的は上記した課題を解決し、クランク軸の逆転判定手段と正転復帰判定手段を複数備えると共に、クランク軸が逆転したときに点火を禁止し、点火禁止の解除を適切なタイミングで実行して再始動性を向上させるようにした内燃機関の制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、請求項１にあっては、内燃機関のクランク軸が正転方向の回転から逆転したことを異なる逆転判定条件に基づいて判定する複数の逆転判定手段と、前記複数の逆転判定手段の少なくともいずれかにおいて前記クランク軸は逆転と判定されるとき、前記内燃機関の点火を禁止する点火禁止手段と、前記点火禁止手段によって前記内燃機関の点火が禁止された後、前記クランク軸が逆転から正転に復帰したことを異なる正転復帰判定条件に基づいて判定する複数の正転復帰判定手段とを備えると共に、前記点火禁止手段は、前記複数の正転復帰判定手段の少なくともいずれかにおいて前記クランク軸が逆転から正転に復帰したと判定される場合、前記内燃機関の点火の禁止を解除するように構成した。
【０００８】
請求項２に係る内燃機関の制御装置にあっては、前記クランク軸の所定クランク角度ごとにクランク角度信号を出力するクランク角度信号出力手段と、前記クランク軸の回転で駆動されて交流電圧を出力する交流発電機と、前記クランク角度信号が出力されるとき、前記交流発電機から出力される交流電圧の極性を判定する極性判定手段とを備えると共に、前記複数の逆転判定手段の少なくともいずれかは、前記判定された極性の周期と前記クランク軸が正転方向に回転させられるときに前記交流発電機から出力されるべき正転時極性周期が一致しないとき、前記クランク軸は逆転と判定し、前記複数の正転復帰判定手段の少なくともいずれかは、前記点火禁止手段によって前記内燃機関の点火が禁止された後、前記判定された極性の周期が前記正転時極性周期に一致するとき、前記クランク軸が逆転から正転に復帰したと判定するように構成した。
【０００９】
請求項３に係る内燃機関の制御装置にあっては、前記クランク軸に連動して回転するロータの円周に所定の円周方向長さを有して等角度間隔に配置される複数個の突起と、前記突起と対向する静止位置に配置され、前記突起の前端位置と後端位置を示す前端位置信号と後端位置信号を出力する突起位置信号出力手段と、前端位置信号が出力されてから後端位置信号が出力されるまでの突起経過時間を計測すると共に、前記後端位置信号が出力されてから次の突起の前端位置信号が出力されるまでの突起間経過時間を計測する時間計測手段とを備えると共に、前記複数の逆転判定手段の少なくともいずれかは、前記計測された突起経過時間と突起間経過時間に基づいて前記クランク軸は逆転と判定し、前記複数の正転復帰判定手段の少なくともいずれかは、前記点火禁止手段によって前記内燃機関の点火が禁止された後、前記計測された突起経過時間と突起間経過時間に基づいて前記クランク軸が逆転から正転に復帰したと判定するように構成した。
【００１０】
請求項４に係る内燃機関の制御装置にあっては、前記時間計測手段は、前記突起の前端位置信号と後端位置信号が出力される度に前記突起経過時間と突起間経過時間を計測すると共に、前記逆転判定手段は、今回計測された突起間経過時間と前回計測された突起間経過時間の比率が第１の所定値以上の場合、または今回計測された突起経過時間と前回計測された突起経過時間の比率が第２の所定値以上の場合、前記クランク軸は逆転と判定するように構成した。
【００１１】
請求項５に係る内燃機関の制御装置にあっては、前記複数個の突起のいずれかは、前記円周方向長さが残余の突起のそれと異なるように形成される正転判定用突起からなると共に、前記時間計測手段は、前記突起の前端位置信号と後端位置信号が出力される度に前記突起経過時間と突起間経過時間を計測すると共に、前記正転復帰判定手段は、今回計測された突起経過時間および突起間経過時間の比率と、前回計測された突起経過時間および突起間経過時間の比率との変化量を算出し、前記算出された変化量に基づいて前記正転判定用突起が検出される場合、前記クランク軸が逆転から正転に復帰したと判定するように構成した。
【００１２】
請求項６に係る内燃機関の制御装置にあっては、前記複数の逆転判定手段の少なくともいずれかにおいて前記クランク軸は逆転と判定されるとき、前記内燃機関の燃料噴射を禁止する燃料噴射禁止手段を備えると共に、前記燃料噴射禁止手段は、前記複数の正転復帰判定手段の少なくともいずれかにおいて前記クランク軸が逆転から正転に復帰したと判定される場合、前記内燃機関の燃料噴射の禁止を解除するように構成した。
【発明の効果】
【００１３】
請求項１に係る内燃機関の制御装置にあっては、逆転判定条件が異なる複数の逆転判定手段の少なくともいずれかにおいてクランク軸は逆転と判定されるとき、内燃機関の点火を禁止するように構成したので、クランク軸の逆転を正確に検知して点火を禁止することができ、よってクランク軸などに逆転負荷が作用することがなく、内燃機関本体の損傷などを防止することができる。
【００１４】
また、内燃機関の点火が禁止された後、正転復帰判定条件が異なる複数の正転復帰判定手段の少なくともいずれかにおいてクランク軸が逆転から正転に復帰したと判定される場合、内燃機関の点火の禁止を解除するように構成、即ち、複数の正転復帰判定手段の全てではなく、少なくともいずれかにおいてクランク軸は正転復帰と判定されるとき、点火禁止を解除するように構成したので、点火禁止の解除を早期に適切なタイミングで実行でき、よって再始動性を向上させることができる。
【００１５】
請求項２に係る内燃機関の制御装置にあっては、クランク角度信号が出力されるとき、交流発電機から出力される交流電圧の極性を判定すると共に、判定された極性の周期が正転時極性周期に一致しないとき、クランク軸は逆転と判定し、内燃機関の点火が禁止された後、判定された極性の周期が正転時極性周期に一致するとき、クランク軸が逆転から正転に復帰したと判定するように構成したので、上記した効果に加え、クランク軸が逆転したことおよび逆転から正転に復帰したことをより正確に検知することができる。
【００１６】
請求項３に係る内燃機関の制御装置にあっては、ロータの円周に配置される複数個の突起を備えると共に、突起の前端位置と後端位置を示す前端位置信号と後端位置信号から計測される突起経過時間と突起間経過時間に基づき、クランク軸の逆転および正転復帰を判定するように構成したので、上記した効果に加え、クランク軸が逆転したことおよび逆転から正転に復帰したことをより一層正確に検知することができる。
【００１７】
請求項４に係る内燃機関の制御装置にあっては、今回計測された突起間経過時間と前回計測された突起間経過時間の比率が第１の所定値以上の場合、または今回計測された突起経過時間と前回計測された突起経過時間の比率が第２の所定値以上の場合、クランク軸は逆転と判定するように構成したので、請求項３で述べた効果に加え、クランク軸が逆転したことをより一層正確に検知することができる。
【００１８】
請求項５に係る内燃機関の制御装置にあっては、今回計測された突起経過時間および突起間経過時間の比率と、前回計測された突起経過時間および突起間経過時間の比率との変化量に基づき、円周方向長さが残余の突起のそれと異なる正転判定用突起が検出される場合、クランク軸が正転復帰したと判定するように構成したので、請求項３または４で述べた効果に加え、クランク軸が逆転から正転に復帰したことをより一層正確に検知でき、点火禁止の解除をより一層適切なタイミングで実行することができる。
【００１９】
請求項６に係る内燃機関の制御装置にあっては、複数の逆転判定手段の少なくともいずれかにおいてクランク軸は逆転と判定されるとき、内燃機関の燃料噴射を禁止するように構成したので、上記した効果に加え、逆転による負荷がクランク軸などに作用することはなく、内燃機関本体の損傷などをより確実に防止することができる。
【００２０】
また、複数の正転復帰判定手段の少なくともいずれかにおいてクランク軸が逆転から正転に復帰したと判定される場合、内燃機関の燃料噴射の禁止を解除するように構成、即ち、複数の正転復帰判定手段の全てではなく、少なくともいずれかにおいてクランク軸は正転復帰と判定されるとき、燃料噴射火禁止を解除するように構成したので、燃料噴射禁止の解除を早期に適切なタイミングで実行でき、よって再始動性をより一層向上させることができる。
【図面の簡単な説明】
【００２１】
【図１】この発明の実施例に係る内燃機関の制御装置を全体的に示す概略図である。
【図２】図１に示す発電機を構成するロータなどの説明図である。
【図３】図１に示すＥＣＵの構成を全体的に示すブロック図である。
【図４】図１に示す内燃機関の制御装置の動作を示すフロー・チャートである。
【図５】図４のクランク角基準位置検出処理のサブ・ルーチン・フロー・チャートである。
【図６】図５のクランク角基準位置の検出を説明するためのタイム・チャートである。
【図７】図６と同様に、クランク角基準位置の検出を説明するためのタイム・チャートである。
【図８】図４の第１の逆転・正転復帰判定処理のサブ・ルーチン・フロー・チャートである。
【図９】図８の第１の逆転・正転復帰判定処理を説明するためのタイム・チャートである。
【図１０】図４の第２の逆転・正転復帰判定処理のサブ・ルーチン・フロー・チャートである。
【図１１】図１０の第２の逆転・正転復帰判定処理を説明するためのタイム・チャートである。
【図１２】図４の逆転・正転復帰判定確定処理を示すサブ・ルーチン・フロー・チャートである。
【図１３】図４の点火出力処理のサブ・ルーチン・フロー・チャートである。
【図１４】図４の燃料噴射処理のサブ・ルーチン・フロー・チャートである。
【図１５】図４フロー・チャートと平行して実行される内燃機関の制御装置の動作を示すフロー・チャートである。
【発明を実施するための形態】
【００２２】
以下、添付図面に即してこの発明に係る内燃機関の制御装置を実施するための形態について説明する。
【実施例】
【００２３】
図１はこの発明の実施例に係る内燃機関の制御装置を全体的に示す概略図である。
【００２４】
図１において符号１０は、図示しない車両（例えば自動二輪車）に搭載された内燃機関（以下「エンジン」という）を示す。エンジン１０は４サイクル単気筒の水冷式で、排気量２５０ｃｃ程度のガソリン・エンジンからなる。尚、符号１０ａはエンジン１０のクランクケースを示す。
【００２５】
エンジン１０の吸気管１２にはスロットルバルブ１４が配置される。スロットルバルブ１４は、車両のハンドルバーに運転者の手動操作自在に設けられたアクセラレータ（スロットルグリップ）にスロットルワイヤ（共に図示せず）を介して機械的に接続され、アクセラレータの操作量に応じて開閉され、エアクリーナ１６から吸気管１２を通ってエンジン１０に吸入される空気の量を調整する。
【００２６】
吸気管１２においてスロットルバルブ１４の下流側の吸気ポート付近にはインジェクタ２０が配置され、スロットルバルブ１４で調整された吸入空気にガソリン燃料を噴射する。噴射された燃料は吸入空気と混合して混合気を形成し、混合気は、吸気バルブ２２が開弁されるとき、燃焼室２４に流入する。
【００２７】
燃焼室２４に流入した混合気は、点火コイル２６から供給された高電圧で点火プラグ３０が火花放電されるときに点火されて燃焼し、ピストン３２を図１において下方に駆動してクランク軸３４を回転させる。燃焼によって生じた排ガスは、排気バルブ３６が開弁されるとき、排気管４０を流れる。排気管４０には触媒装置４２が配置され、排ガス中の有害成分を除去する。触媒装置４２で浄化された排ガスはさらに下流に流れ、エンジン１０の外部に排出される。
【００２８】
スロットルバルブ１４の付近にはポテンショメータからなるスロットル開度センサ４４が設けられ、スロットルバルブ１４の開度θＴＨを示す出力を生じる。吸気管１２のスロットルバルブ１４の上流側には吸気温センサ４６が設けられて吸入空気の温度ＴＡを示す出力を生じると共に、下流側には絶対圧センサ５０が設けられ、吸気管内絶対圧（エンジン負荷）ＰＢＡを示す出力を生じる。
【００２９】
エンジン１０のシリンダブロックの冷却水通路１０ｂには水温センサ５２が取り付けられ、エンジン１０の温度（エンジン冷却水温）ＴＷに応じた出力を生じる。エンジン１０のクランク軸３４の付近であってクランクケース１０ａの壁面（静止位置）には、電磁ピックアップからなるクランク角センサ（クランク角度信号出力手段。突起位置信号出力手段）５４が配置される。尚、クランク角センサ５４については、後に詳説する。
【００３０】
エンジン１０のクランク軸３４には、交流発電機（以下、単に「発電機」という）６０が接続される。発電機６０は、クランク軸３４に接続されるロータ（タイミングロータ）６０ａと、ロータ６０ａに取り付けられる永久磁石６０ｂと、永久磁石６０ｂと対向する位置に配置される３相のステータコイル６０ｃ，６０ｄ，６０ｅおよび逆転検出用コイル６０ｆなどからなる。
【００３１】
図２は図１に示す発電機６０を構成するロータ６０ａなどの説明図である。
【００３２】
図２に示す如く、ロータ６０ａは円筒状を呈すると共に、クランク軸３４に連動（同期）して回転する。尚、ロータ６０ａはエンジン１０のフライホイールを兼用する。ロータ６０ａの円周（外周側）には、磁性体からなると共に、所定の円周方向長さを有する複数個（１８個）の突起６０ｇが所定距離をおいて等角度間隔に配置される。具体的には、１８個の突起６０ｇは、ロータ６０ａの回転方向において各突起６０ｇの後端位置が、クランク軸３４の所定クランク角度（より具体的には２０°）ごとの等間隔となるように配置される。
【００３３】
複数個の突起６０ｇの内の１つはクランク角基準位置を検出するための基準突起（図２において符号６０ｇ１で示す）である。基準突起６０ｇ１は、前端位置から後端位置までの円周方向長さが残余の（他の）突起６０ｇ２のそれと異なるように形成される、具体的には突起６０ｇ２のそれに比べて長く形成されると共に、その後端位置は上死点前１０°（ＢＴＤＣ１０°（クランク角基準位置））となるように設定される。尚、基準突起６０ｇ１は、クランク軸３４が逆転から正転に復帰したことを判定するための正転判定用突起としても機能するが、それについては後述する。
【００３４】
ロータ６０ａの突起６０ｇと対向する静止位置には、前記したクランク角センサ５４が配置される。従って、クランク角センサ５４は、ロータ６０ａの回転に伴って突起６０ｇが近傍を通過するごとにパルス信号を出力する。詳しくは、クランク角センサ５４は、回転方向に対して各突起６０ｇの前端位置が通過したときに負極性の振幅を有するパルス信号（前端位置信号）を出力すると共に、後端位置が通過したときに正極性の振幅を有するパルス信号（後端位置信号）を出力する。即ち、クランク角センサ５４は、クランク軸３４の所定クランク角度（２０°）ごとに負極性あるいは正極性の振幅を有するパルス信号（クランク角度信号）を出力する。尚、基準突起６０ｇ１の円周方向長さは残余の突起６０ｇ２より長いため、クランク角センサ５４による基準突起６０ｇ１の前端位置を検出するタイミングは、残余の突起６０ｇ２のそれに比して早くなる。
【００３５】
永久磁石６０ｂは、ロータ６０ａの内周側に取着されると共に、Ｓ極とＮ極が等角度（具体的には３０°ごと）に交互に配置、別言すれば、Ｓ極とＮ極を１組（１対）として６０°ごとに配置される。また、逆転検出用コイル６０ｆは、クランク角基準位置（ＢＴＤＣ１０°）となるように配置される。
【００３６】
これにより、発電機６０は、クランク軸３４の回転に伴ってロータ６０ａ（詳しくはロータ６０ａに取着された永久磁石６０ｂ）が回転させられると、電磁誘導によってステータコイル６０ｃ，６０ｄ，６０ｅおよび逆転検出用コイル６０ｆから交流電圧を出力する。具体的には、ステータコイル６０ｃ，６０ｄ，６０ｅはＵ，Ｖ，Ｗ相からなる３相の交流電圧を出力すると共に、逆転検出用コイル６０ｆは１相の交流電圧を出力する。
【００３７】
このように、発電機６０は永久磁石式の交流発電機からなり、クランク軸３４の回転で駆動されて交流電圧を出力する。尚、上記した逆転検出用コイル６０ｆから出力される交流電圧は、ロータ６０ａ（クランク軸３４）が６０°回転するのに要する時間を１周期とする交流電圧となる。
【００３８】
図１の説明に戻ると、発電機６０のステータコイル６０ｃ，６０ｄ，６０ｅから出力される３相の交流電圧は、レギュレートレクチファイヤ６２を介してバッテリ６４に入力される。
【００３９】
レギュレートレクチファイヤ６２は、整流回路６２ａと出力電圧調整回路６２ｂを備える。整流回路６２ａは、ステータコイル６０ｃ，６０ｄ，６０ｅから入力される３相の交流電圧を、図示しないブリッジ回路で直流電圧に整流して出力電圧調整回路６２ｂに出力する。出力電圧調整回路６２ｂは、入力された直流電圧を調整して電源電圧を生成し、電源電圧をバッテリ６４に供給して充電すると共に、後述する電子制御ユニット（Electronic Control Unit。以下「ＥＣＵ」という）７０にも動作電源として供給する。バッテリ６４は、例えばエンジン始動時など発電機６０から交流電圧が出力されないとき、ＥＣＵ７０に動作電源を供給する。
【００４０】
上記したクランク角センサ５４などの各センサの出力および発電機６０の逆転検出用コイル６０ｆから出力される交流電圧はＥＣＵ７０に入力される。
【００４１】
図３はＥＣＵ７０の構成を全体的に示すブロック図である。
【００４２】
ＥＣＵ７０はマイクロコンピュータからなり、図３に示すように、波形整形回路７０ａと、回転数カウンタ７０ｂと、基準電圧源７０ｃと、コンパレータ回路７０ｄと、Ａ／Ｄ変換回路７０ｅと、ＣＰＵ７０ｆと、点火回路７０ｇと、駆動回路７０ｈと、ＲＯＭ７０ｉと、ＲＡＭ７０ｊおよびタイマ７０ｋを備える。
【００４３】
波形整形回路７０ａは、クランク角センサ５４の出力（パルス信号。信号波形）を矩形状のパルス信号に波形整形し、回転数カウンタ７０ｂに出力する。回転数カウンタ７０ｂは入力されたパルス信号をカウントしてエンジン回転数ＮＥを検出（算出）し、エンジン回転数ＮＥを示す信号をＣＰＵ７０ｆへ出力する。基準電圧源７０ｃは、負極の直流電圧を基準電圧としてコンパレータ回路７０ｄの非反転入力端子に出力する。
【００４４】
コンパレータ回路７０ｄはオペアンプからなると共に、逆転検出用コイル６０ｆの交流電圧が反転入力端子に入力される。コンパレータ回路７０ｄは、交流電圧と基準電圧を比較し、交流電圧が基準電圧より大きいとき（換言すれば、交流電圧の極性が正極のとき）にハイレベルの比較結果信号を、交流電圧が基準電圧より小さいとき（交流電圧の極性が負極のとき）にローレベルの比較結果信号をＣＰＵ７０ｆに出力する。Ａ／Ｄ変換回路７０ｅは、スロットル開度センサ４４や吸気温センサ４６などの各センサの出力が入力され、アナログ信号値をデジタル信号値に変換してＣＰＵ７０ｆに出力する。
【００４５】
ＣＰＵ７０ｆは、変換されたデジタル信号やコンパレータ回路７０ｄからの比較結果信号などに基づき、ＲＯＭ７０ｉに格納されているプログラムに従って演算を実行し、クランク角度が点火出力タイミングのときに点火コイル２６の点火制御信号を点火回路７０ｇに出力する（即ち、点火時期制御を行う）。また、ＣＰＵ７０ｆは、各信号などに基づき、同様にＲＯＭ７０ｉに格納されているプログラムに従って演算を実行し、燃料噴射タイミングのときに燃料噴射制御信号を駆動回路７０ｈに送る（燃料噴射制御を行う）。
【００４６】
点火回路７０ｇは、ＣＰＵ７０ｆからの点火制御信号に応じ、点火コイル２６を通電して点火を行う。駆動回路７０ｈは、ＣＰＵ７０ｆからの燃料噴射制御信号に応じ、インジェクタ２０を駆動して燃料を噴射させる。ＲＡＭ７０ｊは、例えば点火時期制御および燃料噴射制御において算出された点火時期や燃料噴射量などのデータが書き込まれる。また、タイマ７０ｋは、後述するプログラムにおいて行われる時間計測の処理に利用される。
【００４７】
図４はこの実施例に係る内燃機関の制御装置の動作を示すフロー・チャートである。図示のプログラムは、ＥＣＵ７０においてロータ６０ａの突起６０ｇの前端位置と後端位置のいずれかに相当するクランク角度信号が入力されるごとに実行（ループ）される。
【００４８】
先ずＳ１０においてクランク角基準位置を検出する処理を行う。図５はＳ１０のクランク角基準位置検出処理のサブ・ルーチン・フロー・チャートであり、図６はクランク角基準位置の検出を説明するためのタイム・チャートである。
【００４９】
図５フロー・チャートの説明に入る前に、図６を参照してクランク角基準位置の検出について説明する。尚、図６においては、上から順にロータ６０ａの外周の形状、クランク角センサ５４の出力信号、波形整形回路７０ａの出力信号などを示す。
【００５０】
クランク角基準位置の検出は、クランク角センサ５４の出力に基づいてロータ６０ａの基準突起６０ｇ１が検出されたか否か判断することで行われる。即ち、図６に示すように、クランク角センサ５４は、ロータ６０ａの突起６０ｇの前端位置が通過したときに前端位置信号（具体的には負極性のパルス信号）を、後端位置が通過したときに後端位置信号（正極性のパルス信号）を出力する。波形整形回路７０ａは、クランク角センサ５４から入力される信号が前端位置信号で所定電圧−Ｖth以下のときにハイレベル、後端位置信号で所定電圧Ｖth以上のときにローレベルとなるパルス信号を出力する。
【００５１】
従って、波形整形回路７０ａにおいてハイレベルのパルス信号が出力される時間は、クランク角センサ５４において前端位置信号が出力されてから後端位置信号が出力されるまでの時間、換言すれば、突起６０ｇが通過する時間に相当する。一方、ローレベルのパルス信号が出力される時間は、後端位置信号が出力されてから次の突起６０ｇの前端位置信号が出力されるまでの時間、即ち、隣接する２個の突起６０ｇの間の部位が通過する時間に相当する。尚、以下において、突起６０ｇが通過する時間を「突起経過時間」といい、隣接する２個の突起６０ｇの間の部位が通過する時間を「突起間経過時間」という。
【００５２】
基準突起６０ｇ１にあっては、前述したように、クランク角センサ５４による前端位置の検出タイミングが残余の突起６０ｇ２より早いため、基準突起６０ｇ１の突起経過時間と突起間経過時間は他の突起６０ｇ２のそれとは相違することとなる。
【００５３】
以上から、この実施例に係る内燃機関の制御装置にあっては、上記した突起経過時間と突起間経過時間を計測し、計測された各時間に基づいて基準突起６０ｇ１が検出されたか否か（通過したか否か）判断し、基準突起６０ｇ１が検出されるときにクランク軸３４はクランク角基準位置にあると判断するようにした。
【００５４】
これについて図５フロー・チャートを参照して具体的に説明すると、先ずＳ１００においてクランク角センサ５４から前端位置信号が出力されたか否か判断、具体的には、波形整形回路７０ａにおいて立ち上がりエッジが検出されたか否か判断する。Ｓ１００で肯定されるときはＳ１０２に進み、タイマ７０ｋによる突起間経過時間の計測（後述）を終了し、Ｓ１０４に進んで前回設定された突起間経過時間ＴＣＤＥＮＴを前回突起間経過時間ＴＣＤＥＮＴ１にセットすると共に、Ｓ１０２で得られた突起間経過時間を今回計測された値として突起間経過時間ＴＣＤＥＮＴにセット、即ち、突起間経過時間ＴＣＤＥＮＴと前回突起間経過時間ＴＣＤＥＮＴ１を更新する。
【００５５】
次いでＳ１０６に進み、突起経過時間の計測を開始する。Ｓ１０６の処理後またはＳ１００で否定されるときはＳ１０８に進み、クランク角センサ５４から後端位置信号が出力されたか否か（具体的には、波形整形回路７０ａにおいて立ち下がりエッジが検出されたか否か）判断する。Ｓ１０８で否定されるときは以降の処理をスキップする一方、肯定されるときはＳ１１０に進み、Ｓ１０６で開始した突起経過時間の計測を終了する。
【００５６】
次いでＳ１１２に進んで前回設定された突起経過時間ＴＣＰＲＪを前回突起経過時間ＴＣＰＲＪ１にセットすると共に、Ｓ１１０で得られた突起経過時間を今回計測された値として突起経過時間ＴＣＰＲＪにセット、即ち、突起経過時間ＴＣＰＲＪと前回突起経過時間ＴＣＰＲＪ１を更新する。そしてＳ１１４に進んで突起間経過時間の計測を開始する。
【００５７】
このように、Ｓ１００からＳ１１４までの処理は、クランク角センサ５４から前端位置信号が出力されてから後端位置信号が出力されるまでの突起経過時間ＴＣＰＲＪを計測すると共に、後端位置信号が出力されてから次の突起６０ｇの前端位置信号が出力されるまでの突起間経過時間ＴＣＤＥＮＴを計測する処理である。尚、突起経過時間ＴＣＰＲＪと突起間経過時間ＴＣＤＥＮＴは、上記の如く突起６０ｇの前端位置信号と後端位置信号が出力される度に計測される。
【００５８】
次いでＳ１１６に進み、クランクステージＣＡＬＳＴＧの値を１つインクリメントする。クランクステージＣＡＬＳＴＧは、クランクシャフト１回転（３６０ＣＡ）を突起６０ｇによって等間隔に分けてなるステージ番号であり、例えば上死点後１０°（ＡＴＤＣ１０°）を０番として１７番までの１８個のクランク角度位置を示す番号であって点火時期制御や燃料噴射制御などに利用される。
【００５９】
次いでＳ１１８に進み、前回算出された突起経過時間ＴＣＰＲＪと突起間経過時間ＴＣＤＥＮＴの比率を示す第１の比率ＲＴＣＰＤを、前回値として前回第１の比率ＲＴＣＰＤ１にセットする。そしてＳ１２０に進み、Ｓ１０４とＳ１１２で得られた突起経過時間ＴＣＰＲＪと突起間経過時間ＴＣＤＥＮＴの比率を算出し、算出された値を今回値として第１の比率ＲＴＣＰＤにセットする。具体的には、今回の第１の比率ＲＴＣＰＤは下記の式（１）に従って算出される。
ＲＴＣＰＤ＝ＴＣＰＲＪ／ＴＣＤＥＮＴ                        ・・・式（１）
【００６０】
次いでＳ１２２に進み、基準突起６０ｇ１が検出されたことを示す基準突起検出フラグＦ_ＬＯＮＧのビットが１か否か判断する。フラグＦ_ＬＯＮＧは初期値が０とされるため、Ｓ１２２の処理を最初に実行するときは否定されてＳ１２４に進み、第１の比率ＲＴＣＰＤと前回第１の比率ＲＴＣＰＤ１の変化量を算出（正確には、第１の比率ＲＴＣＰＤから前回第１の比率ＲＴＣＰＤ１を減算して差を算出）し、算出された変化量が第１の判定しきい値Ａ以上か否か判断する。
【００６１】
Ｓ１２４の処理について図６を参照して説明する。基準突起６０ｇ１は円周方向長さが他の突起６０ｇ２に比して長く形成されるため、基準突起６０ｇ１の後端位置が通過した時点ｔ１１にあっては、突起経過時間ＴＣＰＲＪを突起間経過時間ＴＣＤＥＮＴで除して得られる第１の比率ＲＴＣＰＤが前回第１の比率ＲＴＣＰＤ１に比して大きくなる。
【００６２】
従って、Ｓ１２４では第１の比率ＲＴＣＰＤと前回第１の比率ＲＴＣＰＤ１の変化量を算出し、算出された変化量が第１の判定しきい値Ａ以上のとき、基準突起６０ｇ１が通過したと判定するようにした。そのため、第１の判定しきい値Ａは、基準突起６０ｇ１の円周方向長さなどを考慮して基準突起６０ｇ１が通過したと判定できるような値に適宜設定される。
【００６３】
Ｓ１２４で肯定されるときはＳ１２６に進み、基準突起検出フラグＦ_ＬＯＮＧのビットを１にセットする一方、否定されるとき（基準突起６０ｇ１が通過したと判定されないとき）はＳ１２８に進んでフラグＦ_ＬＯＮＧのビットを０にセットする。
【００６４】
フラグＦ_ＬＯＮＧのビットが１にセットされると、次回以降のプログラムループにおいてＳ１２２で肯定されてＳ１３０に進み、前回第１の比率ＲＴＣＰＤ１と第１の比率ＲＴＣＰＤの変化量（正確には、前回第１の比率ＲＴＣＰＤ１から第１の比率ＲＴＣＰＤを減算して差）を算出し、算出された変化量が第２の判定しきい値Ｂ以上か否か判断する。
【００６５】
この処理について詳説すると、図６から分かるように、基準突起６０ｇ１通過後に次の突起６０ｇ２の後端位置が通過する時点ｔ１２にあっては、想像線で示す突起経過時間ＴＣＰＲＪを突起間経過時間ＴＣＤＥＮＴで除して得られる第１の比率ＲＴＣＰＤが前回第１の比率ＲＴＣＰＤ１に比して小さくなる。
【００６６】
従って、Ｓ１３０では前回第１の比率ＲＴＣＰＤ１から第１の比率ＲＴＣＰＤを減算して算出される変化量が第２の判定しきい値Ｂ以上のとき、基準突起６０ｇ１後に次の突起６０ｇ２が通過したと判定するようにした。第２の判定しきい値Ｂは、基準突起６０ｇ１や突起６０ｇ２の円周方向長さなどを考慮して次の突起６０ｇ２が通過したと判定できるような値に適宜設定される。
【００６７】
Ｓ１３０で否定されるときはＳ１３２に進み、基準位置検出フラグＦ_ＴＣＴＤＣのビットを０にセットする。他方、Ｓ１３０で肯定（即ち、基準突起６０ｇ１、次の突起６０ｇ２の順で確実に通過したと判定）されるときはクランク角基準位置（ＢＴＤＣ１０°）が確実に検出されたとしてＳ１３４に進み、基準突起検出フラグＦ_ＬＯＮＧのビットを０にセットし、Ｓ１３６に進んで基準位置検出フラグＦ_ＴＣＴＤＣのビットを１にセットする。
【００６８】
即ち、フラグＦ_ＴＣＴＤＣのビットが１にセットされることはクランク角基準位置が確実に検出されたことを、０にセットされることはクランク角基準位置が検出されていないことを意味する。Ｓ１３６の処理後はＳ１３８に進んでクランクステージＣＡＬＳＴＧの値を０にリセットする。
【００６９】
ここで、クランク軸３４が逆転方向に回転しているときのクランク角基準位置検出処理について説明する。
【００７０】
図７はクランク軸３４が逆転したときのクランク角基準位置の検出を説明するための、図６と同様なタイム・チャートである。
【００７１】
図７に示す如く、クランク軸３４が逆転している状態で基準突起６０ｇ１が通過する時点ｔ２１にあっては、第１の比率ＲＴＣＰＤから前回第１の比率ＲＴＣＰＤ１を減算して得られる変化量が正転時のそれに比して小さくなる、別言すれば、第１の判定しきい値Ａ未満となる。また、基準突起６０ｇ１通過後に次の突起６０ｇ２が通過する時点ｔ２２にあっても同様に、想像線で示す如く、前回第１の比率ＲＴＣＰＤ１から第１の比率ＲＴＣＰＤを減算して得られる変化量は正転時のそれに比して小さく、第２の判定しきい値Ｂ未満となる。
【００７２】
そのため、クランク軸３４が逆転しているときはＳ１２４，Ｓ１３０の判断で否定され、クランク角基準位置が検出されることはなく、基準位置検出フラグＦ_ＴＣＴＤＣのビットが１になることはない。従って、後に説明するが、クランク軸３４が逆転と判定された後において、フラグＦ_ＴＣＴＤＣのビットが０から１となり、クランク角基準位置を検出することができる場合、クランク軸３４が逆転から正転に復帰したと判定することが可能となる。
【００７３】
このように、今回計測された突起経過時間ＴＣＰＲＪおよび突起間経過時間ＴＣＤＥＮＴの比率（第１の比率ＲＴＣＰＤ）と、前回計測された突起経過時間ＴＣＰＲＪ１および突起間経過時間ＴＣＤＥＮＴ１の比率（前回第１の比率ＲＴＣＰＤ１）との変化量を算出し、算出された変化量に基づいて基準突起６０ｇ１が検出される場合、クランク軸３４が逆転から正転に復帰したと判定することができる。このことから分かるように、基準突起６０ｇ１は、クランク軸３４が正転復帰したことを判定するための正転判定用突起としても機能する。
【００７４】
図４の説明に戻ると、次いでＳ１２に進み、クランク角センサ５４から後端位置信号が出力されたか否か判断する。Ｓ１２で否定されるときは以降の処理をスキップする一方、肯定されるときはＳ１４に進んで突起経過時間ＴＣＰＲＪなどに基づいてクランク軸３４の逆転および正転復帰を判定する第１の逆転・正転復帰判定処理を行う。
【００７５】
図８はＳ１４の第１の逆転・正転復帰判定処理のサブ・ルーチン・フロー・チャートであり、図９は第１の逆転・正転復帰判定処理を説明するためのタイム・チャートである。
【００７６】
図８に示すように、先ずＳ２００において第１の逆転判定フラグＦ_ＲＥＶＣＲＫ（後述）のビットが１か否か判断する。フラグＦ_ＲＥＶＣＲＫは初期値が０とされるため、Ｓ２００の処理を最初に実行するときは通例否定されてＳ２０２に進み、突起間経過時間ＴＣＤＥＮＴと前回突起間経過時間ＴＣＤＥＮＴ１の比率（第２の比率ＲＴＣＤＥＮＴ）を算出すると共に、突起経過時間ＴＣＰＲＪと前回突起経過時間ＴＣＰＲＪ１の比率（第３の比率ＲＴＣＰＲＪ）を算出する。具体的には、第２、第３の比率ＲＴＣＤＥＮＴ，ＲＴＣＰＲＪは、下記の式（２）（３）に従って算出される。
ＲＴＣＤＥＮＴ＝ＴＣＤＥＮＴ／ＴＣＤＥＮＴ１                ・・・式（２）
ＲＴＣＰＲＪ＝ＴＣＰＲＪ／ＴＣＰＲＪ１                      ・・・式（３）
【００７７】
次いでＳ２０４に進み、第２の比率ＲＴＣＤＥＮＴが第１の所定値以上か否か判断する。Ｓ２０４で否定されるときはＳ２０６に進み、第３の比率ＲＴＣＰＲＪが第２の所定値以上か否か判断する。このＳ２０２からＳ２０６までの処理は、クランク軸３４が逆転したか否か判断する処理である。
【００７８】
図９を参照しつつ具体的に説明すると、クランク軸３４にあっては、正転方向の回転から逆転方向の回転に反転する場合、正転方向の回転速度が徐々に低下して一旦停止し、その後逆転方向の速度を生じることとなる。そのため、クランク軸３４が逆転した時点ｔ３１においては、クランク軸３４の減速・停止などに起因して突起経過時間ＴＣＰＲＪまたは突起間経過時間ＴＣＤＥＮＴの今回値が前回値に比して大きくなる。
【００７９】
このことからＳ２０２からＳ２０６までの処理にあっては、突起間経過時間ＴＣＤＥＮＴと突起経過時間ＴＣＰＲＪにおける今回値と前回値の比率（第２、第３の比率ＲＴＣＤＥＮＴ，ＲＴＣＰＲＪ）を算出し、算出された第２の比率ＲＴＣＤＥＮＴが第１所定値以上、または第３の比率ＲＴＣＰＲＪが第２の所定値以上のとき、クランク軸３４が逆転したと判定するようにした。そのため、第１、第２の所定値は共に、クランク軸３４が逆転したと判定できるような値に適宜設定される。尚、図９の時点ｔ３１にあっては、第３の比率ＲＴＣＰＲＪが第２の所定値以上となるような場合を示した。
【００８０】
図８の説明を続けると、Ｓ２０６で否定されるときはＳ２０８に進み、第１の逆転判定フラグＦ_ＲＥＶＣＲＫのビットを０にセットする一方、Ｓ２０４またはＳ２０６で肯定されるときはＳ２１０に進み、フラグＦ_ＲＥＶＣＲＫのビットを１にセットする。即ち、フラグＦ_ＲＥＶＣＲＫのビットが１にセットされることは、計測された突起経過時間ＴＣＰＲＪや突起間経過時間ＴＣＤＥＮＴに基づいてクランク軸３４が逆転と判定されることを、０にセットされることはクランク軸３４が正転と判定されることを意味する。
【００８１】
クランク軸３４が逆転と判定されてフラグＦ_ＲＥＶＣＲＫのビットが１にセットされると、次回以降のプログラムループにおいてＳ２００で肯定されてＳ２１２に進み、基準位置検出フラグＦ_ＴＣＴＤＣのビットが１か否か判断する。前述したように、クランク軸３４が逆転と判定された後に、フラグＦ_ＴＣＴＤＣのビットが０から１となってクランク角基準位置を検出できる場合、クランク軸３４が逆転から正転に復帰したと判定することができるため、Ｓ２１２で肯定されるときはＳ２０８に進み、第１の逆転判定フラグＦ_ＲＥＶＣＲＫのビットを０にセットする（時点ｔ３２）。尚、Ｓ２１２で否定されるときはＳ２０８をスキップする。
【００８２】
図４に戻ると、次いでＳ１６に進み、交流発電機６０から出力される交流電圧に基づいてクランク軸３４の逆転と正転復帰を判定する第２の逆転・正転復帰判定処理を行う。
【００８３】
図１０は第２の逆転・正転復帰判定処理のサブ・ルーチン・フロー・チャートである。
【００８４】
同図の説明に入る前に、図１１タイム・チャートを参照して第２の逆転・正転復帰判定処理における逆転判定について説明する。
【００８５】
図１１においては、上から順にクランク軸３４の実際の回転方向、波形整形回路７０ａとクランク角センサ５４の出力信号、発電機６０の逆転検出用コイル６０ｆから出力される交流電圧、その交流電圧の極性の検出状態、後述する正転周期計数カウンタＣＴＦＯＲＷＡＲＤおよび第２の逆転判定フラグＦ_ＲＥＶＡＣＧを示す。
【００８６】
クランク軸３４が正転方向に回転している時点ｔ４１からｔ４６までを例にとって説明すると、波形整形回路７０ａから出力された各パルス信号の立ち下がりエッジ（後端位置信号）の間隔は、図示の如く、クランク軸３４が２０°（２０ＣＡ）回転するのに要した時間に相当する。
【００８７】
発電機６０の逆転検出用コイル６０ｆは、ロータ６０ａ（クランク軸３４）が６０°回転するのに要する時間を１周期とする交流電圧を出力する。この交流電圧の極性を、クランク角センサ５４からクランク角度信号が出力されるとき、正確には波形整形回路７０ａの各パルス信号が立ち下がりエッジとなる（後端位置信号が出力される）ときにコンパレータ回路７０ｄの比較結果信号に基づいて検出（判定）すると、図示のように、時点ｔ４１で正極、時点ｔ４２で正極、時点ｔ４３で負極となることが分かる。
【００８８】
図１１において、時点ｔ４６でクランク軸３４が逆転しているが、時点ｔ４６で逆転しない場合（正転方向の回転を継続する場合）の発電機６０の交流電圧を想像線で示すと、その極性は、続く時点ｔ４４からｔ４６においても同様に、時点ｔ４４で正極、時点ｔ４５で正極、時点ｔ４６（具体的には、点火出力タイミング）で負極となることが分かる。
【００８９】
即ち、クランク角度信号が出力される時点において、クランク軸３４が正転方向に回転させられるときに交流発電機６０から出力されるべき交流電圧の極性の周期は「正極」「正極」「負極」の順となる。以下において、この周期を「正転時極性周期」ともいう。
【００９０】
従って、この実施例に係る内燃機関の制御装置にあっては、クランク角度信号が出力されるとき、発電機６０から出力される交流電圧の極性を判定すると共に、判定された極性の周期を正転時極性周期と比較し、判定された極性の周期が正転時極性周期に一致するときにクランク軸３４は正転であると判定する（クランク軸３４の正転を検出する）一方、一致しないときにクランク軸３４は逆転であると判定する（クランク軸３４の逆転を検出する）ようにした。
【００９１】
以上を前提とし、図１１を参照しつつ図１０の説明に入ると、先ずＳ３００において前回のプログラム実行時に設定された今回電圧極性ＲＥＶＡＣＧ０（後述）を前回電圧極性ＲＥＶＡＣＧ１にセットすると共に、前回のプログラム実行時に設定された前回電圧極性ＲＥＶＡＣＧ１を前々回電圧極性ＲＥＶＡＣＧ２にセットし、前回電圧極性ＲＥＶＡＣＧ１と前々回電圧極性ＲＥＶＡＣＧ２を更新する。
【００９２】
次いでＳ３０２に進み、現在の（正確にはクランク角度信号が出力されるときに）発電機６０から出力される交流電圧の極性を判定（検出）する。具体的には、コンパレータ回路７０ｄの比較結果信号に基づいて極性を判定、より具体的には、図１１に示す如く、発電機６０の交流電圧が基準電圧より大きいときは正極、小さいときは負極と判定する。
【００９３】
次いでＳ３０４に進み、判定された交流電圧の極性を今回電圧極性ＲＥＶＡＣＧ０にセット（更新）する。即ち、今回電圧極性ＲＥＶＡＣＧ０は、現在の交流電圧の極性を意味すると共に、前回電圧極性ＲＥＶＡＣＧ１は前回のクランク角度信号が出力されたとき（例えば現在を図１１の時点ｔ４３としたときの時点ｔ４２）の交流電圧の極性を、前々回電圧極性ＲＥＶＡＣＧ２は前々回のクランク角度信号が出力されたとき（例えば現在を時点ｔ４３としたときの時点ｔ４１）の交流電圧の極性を意味する。
【００９４】
次いでＳ３０６に進み、第２の逆転判定フラグＦ_ＲＥＶＡＣＧ（後述）のビットが１か否か判断する。フラグＦ_ＲＥＶＡＣＧは初期値が０とされるため、Ｓ３０６の処理を最初に実行するときは否定されてＳ３０８に進み、クランクステージＣＡＬＳＴＧなどに基づき、クランク角度が点火制御信号を出力すべき点火出力タイミング（例えばＢＴＤＣ１０°（クランク角基準位置））か否か判断する。
【００９５】
Ｓ３０８で否定されるときは以降の処理をスキップする一方、肯定されるときはＳ３１０に進み、前々回電圧極性ＲＥＶＡＣＧ２が正極か否か判断する。Ｓ３１０で肯定されるときはＳ３１２に進み、前回電圧極性ＲＥＶＡＣＧ１が正極か否か判断し、肯定されるときはＳ３１４に進んで今回電圧極性ＲＥＶＡＣＧ０が負極か否か判断する。
【００９６】
即ち、Ｓ３１０からＳ３１４は、Ｓ３００からＳ３０４の処理で得られた交流電圧の極性の周期を正転時極性周期（具体的には、正極・正極・負極からなる極性周期）と比較し、交流電圧の極性の周期が正転時極性周期に一致するか否か判定する処理である。
【００９７】
Ｓ３１４で肯定、換言すれば、交流電圧の極性の周期が正転時極性周期に一致しているときはクランク軸３４が正転と判定し、以降の処理をスキップする。一方、Ｓ３１０からＳ３１４の処理の内のいずれかにおいて否定、即ち、例えば図１１の時点ｔ４６に示すように、交流電圧の極性の周期が正転時極性周期に一致しない（不一致の）ときはクランク軸３４が逆転と判定し、Ｓ３１６に進んで第２の逆転判定フラグＦ_ＲＥＶＡＣＧのビットを１にセットする。よって、フラグＦ_ＲＥＶＡＣＧが１にセットされることは、発電機６０から出力される交流電圧の極性の周期に基づき、クランク軸３４が逆転と判定されることを、０にセットされることはクランク軸３４が正転と判定されることを意味する。
【００９８】
次いでＳ３１８に進み、後述する処理で利用される正電圧計数カウンタＣＴＡＣＧＰと正転周期計数カウンタＣＴＦＯＲＷＡＲＤの値を０にリセットする。
【００９９】
クランク軸３４が逆転と判定されてフラグＦ_ＲＥＶＡＣＧのビットが１にセットされると、次回以降のプログラムループにおいてＳ３０６で肯定されてＳ３２０に進む。このＳ３２０以降は、クランク軸３４が逆転から正転に復帰したことを判定する処理である。
【０１００】
以下説明すると、Ｓ３２０において今回電圧極性ＲＥＶＡＣＧ０が負極か否か判断し、否定されるときはＳ３２２に進み、正電圧計数カウンタＣＴＡＣＧＰの値を１つインクリメントする。Ｓ３２２の処理はＳ３２０で肯定されるまで繰り返し実行されるため、カウンタＣＴＡＣＧＰの値は、Ｓ３２０で現在の交流電圧の極性が負極と判定される以前のプログラムループにおいて正極と判定された（具体的にはＳ３２０で否定された）回数を意味する。
【０１０１】
Ｓ３２０で肯定されるときはＳ３２４に進み、正電圧計数カウンタＣＴＡＣＧＰの値が２か否か判断する。即ち、Ｓ３２０，Ｓ３２４は、交流電圧の極性が現在は負極と判定され、それ以前の２回のプログラムループにおいて正極と判定されているか否か、別言すれば、交流電圧の極性の周期が正転時極性周期（具体的には、正極・正極・負極からなる極性周期）に一致するか否か判定する処理である。
【０１０２】
Ｓ３２４で否定、即ち、一致しないとき（例えば図１１における時点ｔ４７やｔ４８のとき）はＳ３２６に進み、正転周期計数カウンタＣＴＦＯＲＷＡＲＤの値を０にリセットする一方、肯定されるとき（一致するとき。図１１にあっては、実際のクランク軸３４が時点ｔ４９で正転に復帰したとすると、時点ｔ５０のとき）はＳ３２８に進み、カウンタＣＴＦＯＲＷＡＲＤの値を１つインクリメントする。従って、このカウンタＣＴＦＯＲＷＡＲＤは、クランク軸３４が逆転と判定された後、前記一致と判定される回数を示す。
【０１０３】
次いでＳ３３０に進み、正電圧計数カウンタＣＴＡＣＧＰの値を０にリセットし、Ｓ３３２に進んで正転周期計数カウンタＣＴＦＯＲＷＡＲＤの値が所定回数（具体的には２回）以上か否か判断、別言すれば、前記一致と判定される回数が所定回数に到達した否か判断する。Ｓ３３２で否定されるときは以降の処理をスキップする一方、肯定されるとき（図１１の時点ｔ５１のとき）はクランク軸３４が逆転から正転に確実に復帰したと判定してＳ３３４に進み、第２の逆転判定フラグＦ_ＲＥＶＡＣＧのビットを０にセットする。
【０１０４】
図４の説明に戻ると、次いでＳ１８に進み、Ｓ１４やＳ１６で行われたクランク軸３４の逆転または正転復帰判定を確定させる処理を行う。
【０１０５】
図１２は逆転・正転復帰判定確定処理のサブ・ルーチン・フロー・チャートである。
【０１０６】
図１２に示す如く、先ずＳ４００において第２の逆転判定フラグＦ_ＲＥＶＡＣＧのビットが１か否か判断する。Ｓ４００で肯定されるときはＳ４０２に進み、履歴フラグＦ_ＲＶＡＣＧＲＣＤ（初期値０）のビットを１にセットする。即ち、フラグＦ_ＲＶＡＣＧＲＣＤのビットが１にセットされることは、第２の逆転・正転復帰判定処理においてクランク軸３４が逆転と判定された履歴があることを、０にセットされることはその履歴がないことを意味する。
【０１０７】
次いでＳ４０４に進み、逆転検出確定フラグＦ_ＲＥＶＥＲＳＥのビットが１か否か判断する。フラグＦ_ＲＥＶＥＲＳＥは初期値が０に設定されるため、Ｓ４０４の処理を最初に実行するときは否定されてＳ４０６に進み、フラグＦ_ＲＥＶＥＲＳＥのビットを１にセットする。尚、フラグＦ_ＲＥＶＥＲＳＥのビットが０のときは、後述する処理においてエンジン１０の点火および燃料噴射が行われる一方、１のときは点火および燃料噴射が禁止される。
【０１０８】
次いでＳ４０８に進み、基準位置検出フラグＦ_ＴＣＴＤＣと基準突起検出フラグＦ_ＬＯＮＧのビットを０にセットし、クランク角基準位置の検出によって行われるクランク軸３４の正転復帰判定処理に備える。尚、Ｓ４０６でフラグＦ_ＲＥＶＥＲＳＥのビットが１にセットされると、次回以降のプログラムループにあってはＳ４０４で肯定され、Ｓ４０６，Ｓ４０８の処理をスキップする。
【０１０９】
他方、Ｓ４００で否定されるときはＳ４１０に進み、履歴フラグＦ_ＲＶＡＣＧＲＣＤのビットが１か否か判断する。Ｓ４１０で否定されるときはＳ４１２に進み、第１の逆転判定フラグＦ_ＲＥＶＣＲＫのビットが１か否か判断する。Ｓ４１２で肯定されるときは前述したＳ４０４〜Ｓ４０８の処理に進み、フラグＦ_ＲＥＶＥＲＳＥのビットが０の場合はＳ４０６で１にセットし、１の場合はそのままプログラムを終了する。
【０１１０】
このように、逆転判定条件が異なる第１、第２の逆転・正転復帰判定処理の少なくともいずれかにおいてクランク軸３４は逆転と判定されるとき（具体的には、第１、第２の逆転判定フラグＦ_ＲＥＶＣＲＫ，Ｆ_ＲＥＶＡＣＧの少なくともいずれかが１のとき）、フラグＦ_ＲＥＶＥＲＳＥのビットを１にセットしてクランク軸３４の逆転検出を確定させ、エンジン１０の点火および燃料噴射を禁止する。
【０１１１】
エンジン１０の点火と燃料噴射が禁止された後のプログラムループにおいて、Ｓ４００で否定されるとき、即ち、第２の逆転・正転復帰判定処理においてクランク軸３４が逆転から正転に復帰したと判定されて第２の逆転判定フラグＦ_ＲＥＶＡＣＧのビットが１から０になったときはＳ４１０に進む。
【０１１２】
履歴フラグＦ_ＲＶＡＣＧＲＣＤのビットは未だ１のままであるため、Ｓ４１０の判断は肯定されてＳ４１４に進み、第１の逆転判定フラグＦ_ＲＥＶＣＲＫのビットを０にセットする。即ち、エンジン１０の点火などが禁止された後、第２の逆転・正転復帰判定処理においてクランク軸３４は正転復帰と判定される場合、第１の逆転・正転復帰判定処理の結果に関わらず、第１の逆転判定フラグＦ_ＲＥＶＣＲＫのビットを０にセットする。
【０１１３】
次いでＳ４１６に進み、逆転検出確定フラグＦ_ＲＥＶＥＲＳＥのビットを０にセットし、Ｓ４１８に進んで履歴フラグＦ_ＲＶＡＣＧＲＣＤのビットを０にセットする。
【０１１４】
また、エンジン１０の点火と燃料噴射が禁止された後のプログラムループにおいて、Ｓ４１２で否定されるとき、即ち、第１の逆転・正転復帰判定処理においてクランク軸３４が逆転から正転に復帰したと判定されて第１の逆転判定フラグＦ_ＲＥＶＣＲＫのビットが１から０になったときは前述したＳ４１４からＳ４１８の処理を実行する。
【０１１５】
このように、エンジン１０の点火と燃料噴射が禁止された後、正転復帰判定条件が異なる第１、第２の逆転・正転復帰判定処理の少なくともいずれかにおいてクランク軸３４が逆転から正転に復帰したと判定される場合（具体的には、第１、第２の逆転判定フラグＦ_ＲＥＶＣＲＫ，Ｆ_ＲＥＶＡＣＧの少なくともいずれかが１から０になった場合）、Ｓ４１６でフラグＦ_ＲＥＶＥＲＳＥのビットを０にセットしてクランク軸３４の逆転検出を解除し、後述の如くエンジン１０の点火の禁止および燃料噴射の禁止を解除する。
【０１１６】
次いで図４フロー・チャートにおいてＳ２０に進んで点火出力処理を行い、Ｓ２２に進んで燃料噴射処理を行う。
【０１１７】
図１３はその点火出力処理を示すサブ・ルーチン・フロー・チャートであり、図１４は燃料噴射処理を示すサブ・ルーチン・フロー・チャートである。
【０１１８】
図１３に示す如く、Ｓ５００においてクランク角センサ５４の出力に基づいてエンジン回転ＮＥを算出（検出）し、Ｓ５０２に進んでスロットル開度センサ４４の出力に基づいてスロットルバルブ１４の開度θＴＨを算出（検出）する。次いでＳ５０４に進み、算出されたエンジン回転数ＮＥとスロットル開度θＴＨに基づき、予め設定されたマップ値を検索して点火時期を算出する。
【０１１９】
次いでＳ５０６に進んでクランク角度が点火出力タイミングか否か判断し、否定されるときは以降の処理をスキップする一方、肯定されるときはＳ５０８に進み、逆転検出確定フラグＦ_ＲＥＶＥＲＳＥのビットが１か否か判断する。
【０１２０】
Ｓ５０８で否定、即ち、クランク軸３４が正転と判定、または逆転から正転に復帰したと判定されるときはＳ５１０に進み、算出された点火時期で点火が行われるように点火制御信号を出力する。他方、Ｓ５０８で肯定、即ち、クランク軸３４が逆転と判定されるときはＳ５１２に進み、点火制御信号の出力を禁止、換言すれば、エンジン１０の点火を禁止する。
【０１２１】
燃料噴射処理は、図１４に示す如く、Ｓ６００においてエンジン回転数ＮＥとスロットル開度θＴＨなどから予め設定されたマップ値を検索して燃料噴射量と燃料噴射タイミングを算出する。次いでＳ６０２に進み、クランク角度が算出された燃料噴射タイミングか否か判断し、否定されるときは以降の処理をスキップする一方、肯定されるときはＳ６０４に進み、逆転検出確定フラグＦ_ＲＥＶＥＲＳＥのビットが１か否か判断する。
【０１２２】
Ｓ６０４で否定されるときはＳ６０６に進み、インジェクタ２０から燃料を噴射させる燃料噴射制御信号を出力する一方、肯定されるときはＳ６０８に進み、燃料噴射制御信号の出力を禁止、換言すれば、エンジン１０の燃料噴射を禁止する。
【０１２３】
図１５は、図４フロー・チャートと平行してＥＣＵ７０によって所定時間、例えば５ｍｓｅｃごとに実行される内燃機関の制御装置の動作を示すフロー・チャートである。
【０１２４】
以下説明すると、Ｓ７００において、前回のプログラム実行時から今回のプログラム実行までにクランク角センサ５４からクランク角度信号の入力があったか否か判断する。Ｓ７００で肯定されるときは以降の処理をスキップする一方、否定されるときはＳ７０２に進んでエンジン１０が停止しているか否か判断、正確にはクランク軸３４が完全に停止しているか否か判断する。Ｓ７０２にあっては、クランク角度信号がクランク角センサ５４から所定時間（例えば２００ｍｓｅｃ）入力されないとき、エンジン１０は停止していると判断する。
【０１２５】
Ｓ７０２で否定されるときはそのままプログラムを終了する一方、肯定されるときはＳ７０４に進み、基準位置検出フラグＦ_ＴＣＴＤＣと基準突起検出フラグＦ_ＬＯＮＧのビットを０にセットし、Ｓ７０６に進んで逆転検出確定フラグＦ_ＲＥＶＥＲＳＥ、第１、第２の逆転判定フラグＦ_ＲＥＶＣＲＫ，Ｆ_ＲＥＶＡＣＧのビットを０にセットする。このように、エンジン１０が停止するときは各フラグのビットを０にセットして点火禁止・燃料噴射禁止を解除し、次回のプログラム実行に備える。
【０１２６】
以上の如く、この発明の実施例にあっては、内燃機関（エンジン）１０のクランク軸３４が正転方向の回転から逆転したことを異なる逆転判定条件に基づいて判定する複数の逆転判定手段と（ＥＣＵ７０。第１、第２の逆転・正転復帰判定処理。Ｓ１４，Ｓ１６）、前記複数の逆転判定手段の少なくともいずれかにおいて前記クランク軸３４は逆転と判定されるとき、前記内燃機関の点火を禁止する点火禁止手段と（ＥＣＵ７０。Ｓ１４〜Ｓ２０，Ｓ２１０，Ｓ３１６，Ｓ４０６，Ｓ５０８，Ｓ５１２）、前記点火禁止手段によって前記内燃機関の点火が禁止された後、前記クランク軸が逆転から正転に復帰したことを異なる正転復帰判定条件に基づいて判定する複数の正転復帰判定手段と（ＥＣＵ７０。第１、第２の逆転・正転復帰判定処理。Ｓ１０〜Ｓ１６）を備えると共に、前記点火禁止手段は、前記複数の正転復帰判定手段の少なくともいずれかにおいて前記クランク軸３４が逆転から正転に復帰したと判定される場合、前記内燃機関の点火の禁止を解除するように構成した（Ｓ１４〜Ｓ２０，Ｓ２０８，Ｓ３３４，Ｓ４１６，Ｓ５０８，Ｓ５１０）。
【０１２７】
このように、逆転判定条件が異なる複数の逆転判定手段の少なくともいずれかにおいてクランク軸３４は逆転と判定されるとき、エンジン１０の点火を禁止するように構成したので、クランク軸３４の逆転を正確に検知して点火を禁止することができ、よってクランク軸３４などに逆転負荷が作用することがなく、エンジン本体の損傷などを防止することができる。
【０１２８】
また、エンジン１０の点火が禁止された後、正転復帰判定条件が異なる複数の正転復帰判定手段の少なくともいずれかにおいてクランク軸３４が逆転から正転に復帰したと判定される場合、エンジン１０の点火の禁止を解除するように構成、即ち、複数の正転復帰判定手段の全てではなく、少なくともいずれかにおいてクランク軸３４は正転復帰と判定されるとき、点火禁止を解除するように構成したので、点火禁止の解除を早期に適切なタイミングで実行でき、よって再始動性を向上させることができる。
【０１２９】
また、前記クランク軸３４の所定クランク角度ごとにクランク角度信号を出力するクランク角度信号出力手段と（クランク角センサ５４）、前記クランク軸３４の回転で駆動されて交流電圧を出力する交流発電機６０と、前記クランク角度信号が出力されるとき、前記交流発電機６０から出力される交流電圧の極性を判定する極性判定手段と（ＥＣＵ７０。Ｓ１６，Ｓ３０２）を備えると共に、前記複数の逆転判定手段の少なくともいずれかは、前記判定された極性の周期と前記クランク軸３４が正転方向に回転させられるときに前記交流発電機６０から出力されるべき正転時極性周期が一致しないとき、前記クランク軸３４は逆転と判定し（Ｓ１６，Ｓ３１０〜Ｓ３１６）、前記複数の正転復帰判定手段の少なくともいずれかは、前記点火禁止手段によって前記内燃機関の点火が禁止された後、前記判定された極性の周期が前記正転時極性周期に一致するとき、前記クランク軸３４が逆転から正転に復帰したと判定するように構成したので（Ｓ１６，Ｓ３０６，Ｓ３２０〜Ｓ３３４）、クランク軸３４が逆転したことおよび逆転から正転に復帰したことをより正確に検知することができる。
【０１３０】
また、前記クランク軸３４に連動して回転するロータ６０ａの円周に所定の円周方向長さを有して等角度間隔に配置される複数個の突起６０ｇ（基準突起６０ｇ１、突起６０ｇ２）と、前記突起６０ｇと対向する静止位置（クランクケース１０ａ）に配置され、前記突起６０ｇの前端位置と後端位置を示す前端位置信号と後端位置信号を出力する突起位置信号出力手段と（クランク角センサ５４）、前端位置信号が出力されてから後端位置信号が出力されるまでの突起経過時間ＴＣＰＲＪを計測すると共に、前記後端位置信号が出力されてから次の突起６０ｇの前端位置信号が出力されるまでの突起間経過時間ＴＣＤＥＮＴを計測する時間計測手段と（ＥＣＵ７０。Ｓ１０，Ｓ１００〜Ｓ１１４）を備えると共に、前記複数の逆転判定手段の少なくともいずれかは、前記計測された突起経過時間ＴＣＰＲＪと突起間経過時間ＴＣＤＥＮＴに基づいて前記クランク軸３４は逆転と判定し（Ｓ１４，Ｓ２０２〜Ｓ２０６，Ｓ２１０）、前記複数の正転復帰判定手段の少なくともいずれかは、前記点火禁止手段によって前記内燃機関の点火が禁止された後、前記計測された突起経過時間ＴＣＰＲＪと突起間経過時間ＴＣＤＥＮＴに基づいて前記クランク軸３４が逆転から正転に復帰したと判定するように構成した（Ｓ１０，Ｓ１４，Ｓ１１８〜Ｓ１３６，Ｓ２００，Ｓ２０８，Ｓ２１２）。これにより、クランク軸３４が逆転したことおよび逆転から正転に復帰したことをより一層正確に検知することができる。
【０１３１】
また、前記時間計測手段は、前記突起６０ｇの前端位置信号と後端位置信号が出力される度に前記突起経過時間ＴＣＰＲＪと突起間経過時間ＴＣＤＥＮＴを計測すると共に（Ｓ１０，Ｓ１００〜Ｓ１１４）、前記逆転判定手段は、今回計測された突起間経過時間ＴＣＤＥＮＴと前回計測された突起間経過時間（前回突起間経過時間ＴＣＤＥＮＴ１）の比率（第２の比率ＲＴＣＤＥＮＴ）が第１の所定値以上の場合、または今回計測された突起経過時間ＴＣＰＲＪと前回計測された突起経過時間（前回突起経過時間ＴＣＰＲＪ１）の比率（第３の比率ＲＴＣＰＲＪ）が第２の所定値以上の場合、前記クランク軸３４は逆転と判定するように構成した（Ｓ１４，Ｓ２０２〜Ｓ２０６，Ｓ２１０）ので、クランク軸３４が逆転したことをより一層正確に検知することができる。
【０１３２】
また、前記複数個の突起６０ｇのいずれかは、前記円周方向長さが残余の突起６０ｇ２のそれと異なるように形成される正転判定用突起（基準突起６０ｇ１）からなると共に、前記時間計測手段は、前記突起の前端位置信号と後端位置信号が出力される度に前記突起経過時間ＴＣＰＲＪと突起間経過時間ＴＣＤＥＮＴを計測すると共に（Ｓ１０，Ｓ１００〜Ｓ１１４）、前記正転復帰判定手段は、今回計測された突起経過時間ＴＣＰＲＪおよび突起間経過時間ＴＣＤＥＮＴの比率（第１の比率ＲＴＣＰＤ）と、前回計測された突起経過時間ＴＣＰＲＪ１および突起間経過時間ＴＣＤＥＮＴ１の比率（前回第１の比率ＲＴＣＰＤ１）との変化量を算出し、前記算出された変化量に基づいて前記正転判定用突起６０ｇ１が検出される場合、前記クランク軸３４が逆転から正転に復帰したと判定するように構成した（Ｓ１０，Ｓ１４，Ｓ１１８〜Ｓ１３６，Ｓ２００，Ｓ２０８，Ｓ２１２）。これにより、クランク軸３４が逆転から正転に復帰したことをより一層正確に検知でき、点火禁止の解除をより一層適切なタイミングで実行することができる。
【０１３３】
また、前記複数の逆転判定手段の少なくともいずれかにおいて前記クランク軸３４は逆転と判定されるとき、前記内燃機関（エンジン）１０の燃料噴射を禁止する燃料噴射禁止手段を備えると共に（ＥＣＵ７０。Ｓ１４，Ｓ１６，Ｓ２２，Ｓ２１０，Ｓ３１６，Ｓ４０６，Ｓ６０４，Ｓ６０８）、前記燃料噴射禁止手段は、前記複数の正転復帰判定手段の少なくともいずれかにおいて前記クランク軸３４が逆転から正転に復帰したと判定される場合、前記内燃機関の燃料噴射の禁止を解除するように構成した（Ｓ１４，Ｓ１６，Ｓ２２，Ｓ２０８，Ｓ３３４，Ｓ４１６，Ｓ６０４，Ｓ６０６）。
【０１３４】
このように、複数の逆転判定手段の少なくともいずれかにおいてクランク軸３４は逆転と判定されるとき、エンジン１０の燃料噴射を禁止するように構成したので、逆転による負荷がクランク軸３４などに作用することはなく、エンジン本体の損傷などをより確実に防止することができる。
【０１３５】
また、複数の正転復帰判定手段の少なくともいずれかにおいてクランク軸３４が逆転から正転に復帰したと判定される場合、エンジン１０の燃料噴射の禁止を解除するように構成、即ち、複数の正転復帰判定手段の全てではなく、少なくともいずれかにおいてクランク軸３４は正転復帰と判定されるとき、燃料噴射火禁止を解除するように構成したので、燃料噴射禁止の解除を早期に適切なタイミングで実行でき、よって再始動性をより一層向上させることができる。
【０１３６】
尚、上記において、正転時極性周期を正極・正極・負極からなる極性周期としたが、それらは例示であって、発電機６０の仕様に応じて適宜変更されることはいうまでもない。
【０１３７】
また、基準突起６０ｇ１の円周方向の長さを他の突起６０ｇ２のそれに比して長くなるようにしたが、短くなるように構成しても良く、その意味から、請求項５において「複数個の突起のいずれかは、前記円周方向長さが残余の突起のそれと異なるように形成される」と記載した。その場合、第１、第２の判定しきい値Ａ，Ｂや第１、第２の所定値は適宜変更される。
【０１３８】
また、正転周期計数カウンタＣＴＦＯＲＷＡＲＤと比較する所定回数やエンジン１０の排気量などを具体的な数値で示したが、それらは例示であって限定されるものではない。
【０１３９】
また、車両の例として自動二輪車を挙げたが、それに限られるものではなく、例えばスクータやＡＴＶ（All Terrain Vehicle）など、運転者がシート（サドル）に跨って乗る型の、いわゆる鞍乗り型車両であれば良く、さらには他の車両（例えば四輪自動車）であっても良い。
【符号の説明】
【０１４０】
１０  エンジン（内燃機関）、３４  クランク軸、５４  クランク角センサ、６０  交流発電機、６０ａ  ロータ、６０ｇ  突起、６０ｇ１  基準突起（正転判定用突起）、６０ｇ２  （残余の）突起、７０  ＥＣＵ（電子制御ユニット）
【図１】
2010209760.tif 000003
【図２】
2010209760.tif 000004
【図３】
2010209760.tif 000005
【図４】
2010209760.tif 000006
【図５】
2010209760.tif 000007
【図６】
2010209760.tif 000008
【図７】
2010209760.tif 000009
【図８】
2010209760.tif 000010
【図９】
2010209760.tif 000011
【図１０】
2010209760.tif 000012
【図１１】
2010209760.tif 000013
【図１２】
2010209760.tif 000014
【図１３】
2010209760.tif 000015
【図１４】
2010209760.tif 000016
【図１５】
2010209760.tif 000017