(57)【特許請求の範囲】
【請求項１】
内燃機関を自動停止させるための自動停止要件が成立する場合に、前記内燃機関を停止させ、前記自動停止要件が成立した後に前記内燃機関を再始動させるための再始動要件が成立する場合に、前記内燃機関を再始動させる内燃機関の自動停止再始動装置であって、
前記内燃機関を始動するためのスタータと、
前記内燃機関のクランク角度を検出するクランク角度検出部の出力信号であるクランク信号に基づいて、前記内燃機関の回転速度を演算する回転速度演算部と、
前記クランク角度検出部が出力した前記クランク信号が内燃機関の回転状態が正回転状態の場合に対応した正回転クランク信号であるか逆回転状態の場合に対応した逆回転クランク信号であるかを判定する回転方向判定部と、
前記回転速度演算部が演算した前記回転速度が、あらかじめ規定される、スタータ駆動可能回転速度下限値からスタータ駆動可能回転速度上限値までの駆動可能回転速度範囲内に含まれていない場合において前記スタータを駆動禁止状態にするとともに、前記クランク角度検出部が出力したクランク信号が前記正回転クランク信号から前記逆回転クランク信号に変化した場合において前記スタータを駆動禁止状態にする駆動禁止判定部と、
前記クランク角度検出部が、前記正回転クランク信号から前記逆回転クランク信号に変化した際の最初の前記逆回転クランク信号である第１回目の逆回転クランク信号に続いて第２回目の逆回転クランク信号を出力した場合に、前記第１回目の逆回転クランク信号が入力された第１時刻と、前記第２回目の逆回転クランク信号が入力された第２時刻との時間間隔を演算し、演算した前記時間間隔と、前記スタータ駆動可能回転速度下限値でクランク信号毎の回転角度分だけ前記内燃機関が回転する際にかかる時間に相当する駆動許可下限値相当時間とに応じて設定した駆動禁止解除判定時間が、前記第２時刻から経過するまでの間に、前記第２回目の逆回転クランク信号に続いて３回目の逆回転クランク信号が入力されなければ、前記駆動禁止状態を解除する駆動禁止解除部と、
前記再始動要件が成立し、前記スタータが駆動禁止状態ではない場合に、前記スタータの駆動を行い、前記内燃機関を再始動させる再始動制御部と、
を備え、
前記駆動禁止解除部は、
前記時間間隔が前記駆動許可下限値相当時間よりも小さい場合には、前記駆動許可下限値相当時間を前記駆動禁止解除判定時間として設定し、前記時間間隔が前記駆動許可下限値相当時間以上の場合には、前記時間間隔を前記駆動禁止解除判定時間として設定する
内燃機関の自動停止再始動装置。
【請求項２】
請求項１に記載の内燃機関の自動停止再始動装置において、
前記回転方向判定部は、
前記クランク角度検出部が出力するクランク信号が各周期でＬＯＷ値を取り得る合計時間であるＬＯＷ時間に応じて、前記クランク信号が前記正回転クランク信号であるか前記逆回転クランク信号であるかを判定する
内燃機関の自動停止再始動装置。
【請求項３】
内燃機関を始動するためのスタータを備えた内燃機関の自動停止再始動装置において、エンジンコントロールユニット（ＥＣＵ）により実行される内燃機関の自動停止再始動方法であって、
内燃機関を自動停止させるための自動停止要件が成立する場合に、前記内燃機関を停止させる自動停止制御ステップと、
前記内燃機関のクランク角度を検出するクランク角度検出部の出力信号であるクランク信号に基づいて前記内燃機関の回転速度を演算する回転速度演算ステップと、
前記回転速度演算ステップで演算した前記回転速度が、あらかじめ規定される、スタータ駆動可能回転速度下限値からスタータ駆動可能回転速度上限値までの駆動可能回転速度範囲内に含まれていない場合において前記スタータを駆動禁止状態にするとともに、前記クランク角度検出部が出力したクランク信号が正回転クランク信号から逆回転クランク信号に変化した場合において前記スタータを駆動禁止状態にする駆動禁止判定ステップと、
前記クランク角度検出部が、前記正回転クランク信号から変化した際の最初の前記逆回転クランク信号である第１回目の逆回転クランク信号に続いて第２回目の逆回転クランク信号を出力した場合に、前記第１回目の逆回転クランク信号が出力された第１時刻と、前記第２回目の逆回転クランク信号が出力された第２時刻との時間間隔を演算し、演算した前記時間間隔と、前記スタータ駆動可能回転速度下限値でクランク信号毎の回転角度分だけ前記内燃機関が回転する際にかかる時間に相当する駆動許可下限値相当時間とに応じて設定した駆動禁止解除判定時間が、前記第２時刻から経過するまでの間に、前記第２回目の逆回転クランク信号に続いて３回目の逆回転クランク信号が出力されなければ、前記駆動禁止状態を解除する駆動禁止解除ステップと、
前記自動停止要件が成立した後に前記内燃機関を再始動させるための再始動要件が成立し、前記スタータが駆動禁止状態ではない場合に、前記スタータの駆動を行い、前記内燃機関を再始動させる再始動制御ステップと、
を備え、
前記駆動禁止解除ステップにおいて、
前記時間間隔が前記駆動許可下限値相当時間よりも小さい場合には、前記駆動許可下限値相当時間を前記駆動禁止解除判定時間として設定し、前記時間間隔が前記駆動許可下限値相当時間以上の場合には、前記時間間隔を前記駆動禁止解除判定時間として設定する
内燃機関の自動停止再始動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動停止要件が成立した場合には、内燃機関を停止させ、再始動要件が成立した場合には、内燃機関を再始動させる、内燃機関の自動停止再始動装置および内燃機関の自動停止再始動方法に関するものである。
【背景技術】
【０００２】
近年、車両には、内燃機関とともに、消費燃料の削減を主な目的として、内燃機関の自動停止再始動装置（いわゆるアイドリングストップを実行するための装置）が一般的に搭載されている。このような内燃機関の自動停止再始動装置は、運転者の減速または停車操作に基づいた所定の自動停止要件が成立した場合には、内燃機関を停止させ、運転者の発進または加速操作に基づいた再始動要件が成立した場合には、内燃機関を再始動させる。
【０００３】
また、このような内燃機関の自動停止再始動装置の動作の一例として、例えば、スタータまたは動力伝達系に対して過大な負荷がかからないように、自動停止中の内燃機関の回転状態が逆回転状態である場合に、スタータの駆動禁止状態を設定し、自動停止中の内燃機関の再始動が行われないようにする。そして、回転状態が逆回転状態である内燃機関の回転速度ピークを直接検出した後（内燃機関の回転速度が最小値となった後）の所定回転速度以上となった時にスタータの駆動禁止状態を解除する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術には、以下のような課題がある。
従来技術において、内燃機関の回転速度ピークを検出するためには、内燃機関の逆回転クランク信号（逆回転クランク角度）を３回以上検出する必要がある。したがって、内燃機関の回転状態が逆回転状態となる時間が短く、例えば、逆回転クランク信号を２回しか検出することができない場合には、回転速度ピークを検出することができない。
【０００５】
このような場合、内燃機関の回転状態に応じて、スタータの駆動禁止状態を適切に解除することができないという問題点があった。また、結果として、内燃機関の回転が完全に停止するまでの間（例えば、２００ｍｓｅｃ程度経過するまでの間）、スタータの駆動禁止状態を解除することができず、駆動禁止状態の時間が必要以上に長くなってしまうおそれがあるという問題点があった。
【０００６】
本発明は、前記のような課題を解決するためになされたものであり、内燃機関の自動停止要件が成立した後のスタータの駆動禁止状態を、内燃機関の回転状態に応じて適切に解除することができるとともに、スタータの駆動禁止状態の時間を最小限に抑えることのできる内燃機関の自動停止再始動装置および内燃機関の自動停止再始動方法を得ることを目的とする。
【課題を解決するための手段】
【０００７】
本発明における内燃機関の自動停止再始動装置は、内燃機関を自動停止させるための自動停止要件が成立する場合に、内燃機関を停止させ、自動停止要件が成立した後に内燃機関を再始動させるための再始動要件が成立する場合に、内燃機関を再始動させる内燃機関の自動停止再始動装置であって、内燃機関を始動するためのスタータと、内燃機関のクランク角度を検出するクランク角度検出部の出力信号であるクランク信号に基づいて、内燃機関の回転速度を演算する回転速度演算部と、クランク角度検出部が出力したクランク信号が内燃機関の回転状態が正回転状態の場合に対応した正回転クランク信号であるか逆回転状態の場合に対応した逆回転クランク信号であるかを判定する回転方向判定部と、回転速度演算部が演算した回転速度が、あらかじめ規定される、スタータ駆動可能回転速度下限値からスタータ駆動可能回転速度上限値までの駆動可能回転速度範囲内に含まれていない場合においてスタータを駆動禁止状態にするとともに、クランク角度検出部が出力したクランク信号が正回転クランク信号から逆回転クランク信号に変化した場合においてスタータを駆動禁止状態にする駆動禁止判定部と、クランク角度検出部が、正回転クランク信号から逆回転クランク信号に変化した際の最初の逆回転クランク信号である第１回目の逆回転クランク信号に続いて第２回目の逆回転クランク信号を出力した場合に、第１回目の逆回転クランク信号が入力された第１時刻と、第２回目の逆回転クランク信号が入力された第２時刻との時間間隔を演算し、演算した時間間隔と、スタータ駆動可能回転速度下限値でクランク信号毎の回転角度分だけ内燃機関が回転する際にかかる時間に相当する駆動許可下限値相当時間とに応じて設定した駆動禁止解除判定時間が、第２時刻から経過するまでの間に、第２回目の逆回転クランク信号に続いて３回目の逆回転クランク信号が入力されなければ、駆動禁止状態を解除する駆動禁止解除部と、再始動要件が成立し、スタータが駆動禁止状態ではない場合に、スタータの駆動を行い、内燃機関を再始動させる再始動制御部と、を備え、駆動禁止解除部は、時間間隔が駆動許可下限値相当時間よりも小さい場合には、駆動許可下限値相当時間を駆動禁止解除判定時間として設定し、時間間隔が駆動許可下限値相当時間以上の場合には、時間間隔を駆動禁止解除判定時間として設定するものである。
【０００８】
本発明における内燃機関の自動停止再始動方法は、内燃機関を始動するためのスタータを備えた内燃機関の自動停止再始動装置において、エンジンコントロールユニット（ＥＣＵ）により実行される内燃機関の自動停止再始動方法であって、内燃機関を自動停止させるための自動停止要件が成立する場合に、内燃機関を停止させる自動停止制御ステップと、内燃機関のクランク角度を検出するクランク角度検出部の出力信号であるクランク信号に基づいて内燃機関の回転速度を演算する回転速度演算ステップと、回転速度演算ステップで演算した回転速度が、あらかじめ規定される、スタータ駆動可能回転速度下限値からスタータ駆動可能回転速度上限値までの駆動可能回転速度範囲内に含まれていない場合においてスタータを駆動禁止状態にするとともに、クランク角度検出部が出力したクランク信号が正回転クランク信号から逆回転クランク信号に変化した場合においてスタータを駆動禁止状態にする駆動禁止判定ステップと、クランク角度検出部が、正回転クランク信号から変化した際の最初の逆回転クランク信号である第１回目の逆回転クランク信号に続いて第２回目の逆回転クランク信号を出力した場合に、第１回目の逆回転クランク信号が出力された第１時刻と、第２回目の逆回転クランク信号が出力された第２時刻との時間間隔を演算し、演算した時間間隔と、スタータ駆動可能回転速度下限値でクランク信号毎の回転角度分だけ内燃機関が回転する際にかかる時間に相当する駆動許可下限値相当時間とに応じて設定した駆動禁止解除判定時間が、第２時刻から経過するまでの間に、第２回目の逆回転クランク信号に続いて３回目の逆回転クランク信号が出力されなければ、駆動禁止状態を解除する駆動禁止解除ステップと、自動停止要件が成立した後に内燃機関を再始動させるための再始動要件が成立し、スタータが駆動禁止状態ではない場合に、スタータの駆動を行い、内燃機関を再始動させる再始動制御ステップと、を備え、駆動禁止解除ステップにおいて、時間間隔が駆動許可下限値相当時間よりも小さい場合には、駆動許可下限値相当時間を駆動禁止解除判定時間として設定し、時間間隔が駆動許可下限値相当時間以上の場合には、時間間隔を駆動禁止解除判定時間として設定するものである。
【発明の効果】
【０００９】
本発明によれば、初回の逆回転クランク信号が検出された時刻と、２回目の逆回転クランク信号が検出された時刻との時間間隔と、スタータ駆動可能回転速度下限値に対応した駆動許可下限値相当時間とに応じて設定した駆動禁止解除判定時間が３回目の逆回転クランク信号が入力される前に経過すれば、スタータの駆動禁止状態を解除する。これにより、内燃機関の自動停止要件が成立した後のスタータの駆動禁止状態を、内燃機関の回転状態に応じて適切に解除することができるとともに、スタータの駆動禁止状態の時間を最小限に抑えることのできる内燃機関の自動停止再始動装置および内燃機関の自動停止再始動方法を得ることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態１における内燃機関の自動停止再始動装置の概略構成を示す構成図である。
【図２】本発明の実施の形態１において、クランク角度センサの出力信号に基づいてクランク角度、クランクカウンタおよびエンジンの回転速度が演算される場合の説明図である。
【図３】本発明の実施の形態１における内燃機関の自動停止再始動装置がエンジンに対して行う自動停止再始動処理を示したフローチャートである。
【図４Ａ】本発明の実施の形態１における内燃機関の自動停止再始動装置が行うスタータの駆動許可／駆動禁止判定処理を示したフローチャートである。
【図４Ｂ】本発明の実施の形態１における内燃機関の自動停止再始動装置が行うスタータの駆動許可／駆動禁止判定処理を示したフローチャートである。
【図４Ｃ】本発明の実施の形態１における内燃機関の自動停止再始動装置が行うスタータの駆動許可／駆動禁止判定処理を示したフローチャートである。
【図５】本実施の形態１における内燃機関の自動停止再始動装置が各時刻において行う動作の一例を示す説明図である。
【図６】本実施の形態１における内燃機関の自動停止再始動装置が各時刻において行う動作の別例を示す説明図である。
【図７】従来技術における内燃機関の自動停止再始動装置が内燃機関の回転状態が逆回転状態である際の回転速度ピークを検出する場合の説明図である。
【発明を実施するための形態】
【００１１】
以下、本発明による内燃機関の自動停止再始動装置および内燃機関の自動停止再始動方法を、好適な実施の形態に従って図面を用いて説明する。なお、図面の説明においては、同一要素には同一符号を付し、重複する説明を省略する。
【００１２】
実施の形態１．
はじめに、本願発明の技術的特徴を明確にするために、前述した、従来技術における課題について、図７を参照しながら詳細に説明する。図７は、従来技術における内燃機関の自動停止再始動装置が内燃機関の回転状態が逆回転状態である際の回転速度ピークを検出する場合の説明図である。
【００１３】
図７には、クランク信号（１）、回転速度ＮＥ（２）およびクランク信号間の時間間隔（３）の経時変化が示されている。なお、回転速度ＮＥ（２）の記載について、実線は、演算された回転速度ＮＥ（回転速度演算結果）を示し、点線は、内燃機関の実際の回転速度を示す。また、内燃機関の逆回転時の回転速度を便宜上、マイナスで表記している。
【００１４】
ここで、内燃機関の回転速度ＮＥは、一般的に、所定クランク角度（例えば、上死点前６０度）の時間間隔またはクランク角度（例えば、３０度）ごとの時間間隔から演算される。しかしながら、内燃機関が回転を開始した場合および回転が正回転から逆回転に転じた場合等といった内燃機関の回転状態変化が発生した場合には、その回転状態変化が発生した時刻を、クランク角度の検出によって判定することが不可能である。
【００１５】
したがって、回転状態変化が発生した後に初めて検出される、初回の逆回転クランク信号が検出された時刻（初回の逆回転クランク角度が検出された時刻）を、回転状態変化の開始時刻としている。具体的には、内燃機関の回転が正回転から逆回転に転じれば、逆回転開始時刻は、初回の逆回転クランク信号が検出された時刻に相当する。また、このような場合、逆回転クランク信号が初めて検出されたこととなるので、逆回転クランク信号が検出された時刻に対応した内燃機関の回転速度ＮＥを演算することができない。
【００１６】
また、内燃機関の回転状態（回転速度）が例えば、図７に例示した挙動を示す場合には、逆回転クランク信号を２回検出すれば、逆回転中の回転速度を初めて演算することができる。具体的には、時刻Ｔ４において、逆回転中の回転速度を初めて演算することができることとなる。なお、初回の逆回転クランク信号が検出される時刻Ｔ３においては、便宜上、回転速度ＮＥが０となるように設定する（ただし、時刻Ｔ２において、内燃機関の実際の回転速度が０となる）。
【００１７】
また、逆回転クランク信号を３回検出すれば、回転速度差を初めて演算することができる。具体的には、時刻Ｔ５において、回転速度差を初めて演算することができることとなる。
【００１８】
したがって、従来技術における内燃機関の自動停止再始動装置は、２回目の逆回転クランク信号が検出された時刻以降の回転速度を演算することによって、逆回転中の回転速度ピークを検出する。
【００１９】
具体的には、時刻Ｔ４、Ｔ５、Ｔ６のそれぞれの時刻において演算した回転速度ＮＥ（Ｔ４）、ＮＥ（Ｔ５）、ＮＥ（Ｔ６）のそれぞれの大きさに応じて、回転速度ＮＥ（Ｔ５）が回転速度ピークとして検出される。そして、この回転速度ピークが検出後において、スタータの駆動禁止状態が解除され、再始動要件が成立すれば、内燃機関が再始動する。
【００２０】
しかしながら、このように逆回転中の回転速度ピークを検出する場合、前述したように、内燃機関の回転状態が逆回転状態となる時間が短く、例えば、逆回転クランク信号を２回しか検出することができない場合には、結果として、内燃機関の回転状態に応じて、スタータの駆動禁止状態を適切に解除することができないこととなる。
【００２１】
これに対して、本願発明では、初回の逆回転クランク信号が検出された時刻と、２回目の逆回転クランク信号が検出された時刻との時間間隔と、スタータ駆動可能回転速度下限値に対応した駆動許可下限値相当時間とに応じて設定した駆動禁止解除判定時間が３回目の逆回転クランク信号が入力される前に経過すれば、スタータ２００の駆動禁止状態を解除するという技術的特徴を有する。これにより、内燃機関の回転状態に応じて、スタータの駆動禁止状態を適切に解除することができる。
【００２２】
次に、本実施の形態１における内燃機関の自動停止再始動装置について、図１を参照しながら説明する。図１は、本発明の実施の形態１における内燃機関の自動停止再始動装置の概略構成を示す構成図である。なお、図１には、内燃機関の自動停止再始動装置とともに、内燃機関１０１およびその周辺部材についても併せて示されている。
【００２３】
まず、本実施の形態１における内燃機関の自動停止再始動装置が適用される内燃機関１０１（以降では、エンジン１０１と称す）について、具体例を挙げながら説明する。なお、エンジン１０１の構成および動作等は、以下で説明される内容に限定されず、本願発明は、ここで例示したエンジン１０１以外の種類のエンジンについても適用可能である。
【００２４】
図１に示すように、エアフィルタ１０２、吸気管１１０、サージタンク１０９および吸気マニホルド１１１を介して、エンジン１０１の各気筒に空気が供給される。
【００２５】
エアフィルタ１０２には、吸入空気の温度を検出する吸気温度センサ１０３が設けられている。また、吸気管１１０には、吸入空気の空気量を検出するエアフロセンサ１０４と、吸入空気の流量を制御するスロットル弁１０６と、スロットル弁１０６の開度を検出するスロットル開度センサ１０７とが設けられている。なお、スロットル弁１０６は、エアフロセンサ１０４に対して吸気管１１０の下流側に位置し、モータ１０５の駆動によって動作する。また、サージタンク１０９には、タンク内の吸気圧力を検出する吸気管圧力センサ１０８が設けられている。
【００２６】
エンジン１０１の各気筒の吸気ポート近傍に設けられた燃料噴射弁１１２によって、エンジン１０１に燃料が供給され、供給された燃料が前述した供給空気と混合されて混合気を形成し、エンジン１０１の各気筒の燃焼室に吸入される。また、燃焼室に吸入された混合気は、点火プラグ（図示せず）で着火されることによって燃焼する。そして、燃焼によって発生した燃焼ガスは、排気管１１４を通り、触媒装置（図示せず）によって有害なガスが浄化された後に、大気に排出される。
【００２７】
また、エンジン１０１には、エンジン１０１の冷却水温を検出する水温センサ（図示せず）と、エンジン１０１のクランク角度を検出するクランク角度センサ１１３とが設けられている。なお、本実施の形態１におけるクランク角度センサ１１３は、エンジン１０１のクランク角度を検出するクランク角度検出部を具体的に例示したものである。
【００２８】
次に、本実施の形態１における内燃機関の自動停止再始動装置について説明する。この内燃機関の自動停止再始動装置は、スタータ２００およびエンジンコントロールユニット３００（以降では、ＥＣＵ３００と称す）を備えて構成されている。
【００２９】
スタータ２００は、ピニオンギア２０１、ソレノイド２０２、プランジャ２０３およびスタータモータ２０４を有する。また、スタータモータ２０４は、プランジャ２０３の動作によって接点がオンする配線を介してバッテリ４００と接続される。
【００３０】
ここで、エンジン１０１には、スタータ２００と、エンジン１０１のクランク軸に連結されたリングギア１１５とが設けられている。そして、エンジン１０１の始動および再始動時には、スタータ２００と、リングギア１１５とによってエンジン１０１がクランキングされる。
【００３１】
具体的には、エンジン１０１の始動および再始動時には、後述するＥＣＵ３００が出力する駆動信号に基づいて、ソレノイド２０２への通電が開始され、プランジャ２０３が動作することによって、ピニオンギア２０１の押し出しが開始される。続いて、ピニオンギア２０１と、リングギア１１５とが当接した後に、バッテリ４００と、スタータモータ２０４との配線上の接点がオンすることによって、スタータモータ２０４の回転駆動が開始される。そして、ピニオンギア２０１と、リングギア１１５とが確実に噛み合うとともに、エンジン１０１のクランキングが開始される。
【００３２】
また、後述するＥＣＵ３００は、エンジン１０１に設けられているクランク角度センサ１１３の出力信号に基づいて、クランク角度、クランクカウンタＣＲＫおよびエンジン１０１の回転速度ＮＥ等の演算を行う。
【００３３】
ＥＣＵ３００は、入出力インターフェース３０１、ＣＰＵ（マイクロプロセッサ）３０２、ＲＯＭ（リードオンリーメモリ）３０３、ＲＡＭ（ランダムアクセスメモリ）３０４および駆動回路３０５を有する。
【００３４】
入出力インターフェース３０１には、前述した各種センサの出力信号と、アクセルペダル（図示せず）の踏み込み量およびブレーキ（図示せず）の踏み込み量等の検出信号とが入力される。
【００３５】
ＣＰＵ３０２は、後述するＲＯＭ３０３に格納されている制御プログラムや各種定数を読み込み、制御演算を行うと共に、その演算（判定）結果を後述するＲＡＭ３０４や入出力インターフェース３０１へ出力する。
【００３６】
また、ＣＰＵ３０２は、本発明に係わる自動停止要件および、再始動要件の成立可否の判定を行うとともに、クランク角度センサ１１３の出力信号に基づく制御演算（例えば、エンジン１０１の回転速度ＮＥの演算）を行う。
【００３７】
ＲＯＭ３０３には、ＣＰＵ３０２による演算で使用される制御プログラムおよび各種定数等が格納される。また、ＲＡＭ３０４には、ＣＰＵ３０２による演算結果が一時的に格納される。また、駆動回路３０５は、ＣＰＵ３０２から入力された演算結果に基づいて、燃料噴射弁１１２およびスタータ２００等に駆動信号を出力する。
【００３８】
次に、ＥＣＵ３００がクランク角度センサ１１３の出力信号に基づいて演算するクランク角度、クランクカウンタＣＲＫおよびエンジン１０１の回転速度ＮＥについて、図２を参照しながら説明する。図２は、本発明の実施の形態１において、クランク角度センサ１１３の出力信号に基づいてクランク角度、クランクカウンタＣＲＫおよびエンジン１０１の回転速度ＮＥが演算される場合の説明図である。
【００３９】
図２には、クランク角度センサ１１３の出力信号（Ａ）、回転速度ＮＥ（Ｂ）、クランク角度（Ｃ）およびクランクカウンタＣＲＫ（Ｄ）の経時変化が示されている。なお、回転速度ＮＥ（Ｂ）の記載について、実線は、ＥＣＵ３００によって演算された回転速度ＮＥ（回転速度演算結果）を示し、点線は、内燃機関の実際の回転速度を示す。また、内燃機関の逆回転時の回転速度を便宜上、マイナスで表記している。
【００４０】
ここで、本実施の形態１におけるクランク角度センサ１１３の出力信号は、エンジン１０１の回転状態が正回転状態と、逆回転状態との場合に応じて変化する。したがって、エンジン１０１の回転状態を正確に検出することができる。また、このようなクランク角度センサ１１３の出力信号に基づき、ＥＣＵ３００によって演算された各演算値は、図２に示すような挙動を示す。
【００４１】
また、ＥＣＵ３００にクランク角度センサ１１３の出力信号が入力される毎に、エンジン１０１の回転速度ＮＥ等の演算が行われる。具体的には、エンジン１０１の回転速度ＮＥ、クランク角度およびクランクカウンタＣＲＫの演算は、クランク角度センサ１１３の出力信号の立下り時刻（ＨＩＧＨ値からＬＯＷ値へ切り替わる時刻）に実行される。
【００４２】
クランク角度センサ１１３の出力信号が各周期でＬＯＷ値を取り得る合計時間であるＬＯＷ時間が短い場合には、エンジン１０１の回転状態が正回転状態であり、このＬＯＷ時間が長い場合には、エンジン１０１の回転状態が逆回転状態であると判定される。また、クランク角度センサ１１３の出力信号は、クランク角度間の所定角度（例えば、１０度）ごとに出力される。なお、このエンジン１０１の回転状態の判定は、ＥＣＵ３００内のＲＯＭ３０３に格納されている回転方向判定部によって実行される。すなわち、この回転方向判定部は、クランク角度センサ１１３が出力したクランク信号がエンジン１０１の回転状態が正回転状態の場合に対応した正回転クランク信号であるか逆回転状態の場合に対応した逆回転クランク信号であるかを判定していることとなる。
【００４３】
また、エンジン１０１の回転速度ＮＥは、クランク角度センサ１１３の出力信号が今回入力された時刻である今回入力時刻（Ｔ（ｎ））および前回入力された時刻である前回入力時刻（Ｔ（ｎ−１））の時間間隔と、クランク角度間の所定角度（例えば、１０度）とを用いると、下式（１）にしたがって演算される。なお、このエンジン１０１の回転速度ＮＥの演算は、ＥＣＵ３００内のＲＯＭ３０３に格納されている回転速度演算部によって実行される。
【００４４】
回転速度ＮＥ［ｒ／ｍｉｎ］＝６０／（Ｔ（ｎ）−Ｔ（ｎ−１））×（クランク角度間の所定角度）／３６０                                                    （１）
【００４５】
また、クランク角度は、エンジン１０１の各気筒の圧縮上死点を基準（＝０度）とし、圧縮上死点を過ぎると最大値になるように演算される。
【００４６】
また、クランクカウンタＣＲＫは、エンジン１０１のクランク軸が２回転（吸気、圧縮、燃焼、排気行程）すれば変化する。すなわち、クランクカウンタＣＲＫは、エンジン１０１の第一気筒の圧縮行程の上死点を基準（＝０）として、２回転後の圧縮行程の上死点前で最大値となり、上死点になると０に戻るように演算される。
【００４７】
ここで、図２に示すように、時刻Ｔ１から時刻Ｔ３までの期間において、クランク角度センサ１１３の出力信号（以降では、必要に応じてクランク信号と称す）から、ＥＣＵ３００は、エンジン１０１の回転状態が正回転状態であると判定する。また、時刻Ｔ１から時刻Ｔ３においてクランク角度センサ１１３が出力する正回転クランク信号（正回転時に対応したクランク信号）のクランク信号間の時間間隔がだんだん長くなっていくので、エンジン１０１の回転速度ＮＥが低下していく。また、クランク角度は、所定角度ずつ減算され、クランクカウンタＣＲＫは、所定値ずつ加算されていく。
【００４８】
時刻Ｔ４以降において、クランク角度センサ１１３の出力信号におけるＬＯＷ時間が長くなるので、ＥＣＵ３００は、エンジン１０１の回転状態が逆回転状態であると判定する。また、時刻Ｔ４で検出されるクランク角度センサ１１３の出力信号は、初回の逆回転クランク信号（初回逆回転時に対応したクランク信号）であるので、エンジン１０１の回転速度ＮＥが０とされる。同様に、クランク角度は、所定角度だけ加算され、クランクカウンタＣＲＫは、所定値だけ減算される。
【００４９】
なお、時刻Ｔ４において、エンジン１０１の回転速度ＮＥが０とされる理由としては、以下の通りである。すなわち、時刻Ｔ４において、エンジン１０１の回転状態が逆回転状態であるので、本来、回転速度ＮＥは０ではなく、マイナスの値とすべきである。
【００５０】
しかしながら、時刻Ｔ３からＴ４までの期間において、エンジン１０１の回転状態が正回転状態から逆回転状態へ変化しているので、図２に示すように、一旦、実際の回転速度が０となる。また、クランク角度センサ１１３は、クランク軸の回転状態によって信号を出力するので、実際の回転速度が０の状態では信号を出力することができない。したがって、クランク角度センサ１１３の出力信号によって、実際の回転速度が０である時刻を判定することができないので、時刻Ｔ４をエンジン１０１の逆回転の開始時刻として、回転速度ＮＥを０としている。
【００５１】
時刻Ｔ５において、クランク角度センサ１１３から２回目の逆回転クランク信号が出力された場合に、初めてマイナスの回転速度ＮＥ（すなわち、エンジン１０１の回転状態が逆回転状態における回転速度ＮＥ）が演算される。また、クランク角度は、所定角度だけ加算され、クランクカウンタＣＲＫは、所定値だけ減算される。
【００５２】
なお、エンジン１０１の回転状態が逆回転状態から正回転状態に変化した後に、クランク角度センサ１１３が初回正回転時に対応した出力信号を出力した場合、同様に、エンジン１０１の回転速度ＮＥが０とされるとともに、クランク角度が所定角度だけ減算され、クランクカウンタＣＲＫが所定値だけ加算される。
【００５３】
このように、ＥＣＵ３００は、クランク角度センサ１１３の出力信号に基づいて、エンジン１０１の回転状態を正確に判定するので、回転状態が変化した場合であっても、エンジン１０１のクランク角度およびクランクカウンタＣＲＫを正確に演算することができる。
【００５４】
次に、本実施の形態１における内燃機関の自動停止再始動装置の一連の動作手順について、図３および図４Ａ〜図４Ｃのフローチャートを参照しながら説明する。図３は、本発明の実施の形態１における内燃機関の自動停止再始動装置がエンジン１０１に対して行う自動停止再始動処理を示したフローチャートである。図４Ａ〜図４Ｃは、本発明の実施の形態１における内燃機関の自動停止再始動装置が行うスタータ２００の駆動許可／駆動禁止判定処理を示したフローチャートである。なお、図４Ａ〜図４Ｃは、１つのフローチャートを３つの図面に分けて記載したもので、図４Ａに記載の部分と、図４Ｂに記載の部分と、図４Ｃに記載の部分とは続いている。
【００５５】
まず、図３のフローチャートについて説明する。この図３におけるフローチャートの一連処理は、内燃機関の自動停止再始動装置内のＥＣＵ３００によって、処理周期（例えば、１０ｍｓｅｃ周期）毎に演算される（実行される）。
【００５６】
はじめに、ステップＳ１０１において、ＥＣＵ３００は、自動停止要件が成立しているか否かを判定する。具体的には、運転者による減速、停車操作の意志を判断するための様々な情報に基づいて、この自動停止要件が成立しているか否かが判定される。
【００５７】
なお、前述した様々な情報の具体例として、例えば、（１）水温センサの検出温度が所定温度（例えば、６０度）以上であるか否か、（２）車両速度が所定速度（例えば、１２ｋｍ／ｈ）以上を一度以上検出しているか否か、（３）現在の車両速度が所定速度（例えば、０ｋｍ／ｈ）以下であるか否か、（４）ブレーキペダルは踏み込まれているか否か、（５）アクセルペダルの踏み込み量が所定値（例えば、踏み込み量なし）以下であるか否か等といった情報が挙げられる。
【００５８】
そして、ステップＳ１０１において、ＥＣＵ３００は、自動停止要件が成立していない（すなわち、Ｎｏ）と判定した場合には、ステップＳ１０５へと進み、後述する自動停止制御実施フラグをクリアし、一連の処理を終了し、次の処理へと進む。
【００５９】
一方、ステップＳ１０１において、ＥＣＵ３００は、自動停止要件が成立している（すなわち、Ｙｅｓ）と判定した場合には、ステップＳ１０２へと進み、自動停止制御が未実施であるか否かを判定する。具体的には、後述する自動停止制御実施フラグがセットされているか否かに基づいて、自動停止制御の未実施判定が行われる。
【００６０】
そして、ステップＳ１０２において、ＥＣＵ３００は、自動停止制御が未実施である（すなわち、Ｙｅｓ）と判定した場合には、ステップＳ１０３へと進み、自動停止制御処理を行う。具体的には、ステップＳ１０３において、ＥＣＵ３００は、燃料噴射弁１１２への駆動信号を停止し、エンジン１０１への燃料供給を停止する。また、ＥＣＵ３００は、例えば、スロットル弁１０６の制御量の変更またはエンジン１０１に取り付けられている変速機のクラッチの開放等といった制御も併せて実行する。
【００６１】
次に、ステップＳ１０４において、ＥＣＵ３００は、自動停止制御実施フラグをセットし、ステップＳ１０６へと進む。続いて、ステップＳ１０６において、ＥＣＵ３００は、駆動禁止経験フラグＦ３をクリアし（Ｆ３＝０）、ステップＳ１０７へと進む。なお、駆動禁止経験フラグＦ３の詳細については、後述する。
【００６２】
一方、ステップＳ１０２において、ＥＣＵ３００は、自動停止制御が実施されている（すなわち、Ｎｏ）と判定した場合には、ステップＳ１０７へと進む。具体的には、ＥＣＵ３００は、自動停止要件成立後にステップＳ１０２の処理を初めて実行した場合には、自動停止制御をまだ実行していないこととなる。したがって、ＥＣＵ３００は、ステップＳ１０２において、自動停止制御が未実施であると判定し、ステップＳ１０３へと進むこととなる。
【００６３】
また、ＥＣＵ３００は、自動停止要件成立後にステップＳ１０２の処理を２回目以降に実行した場合には、自動停止制御をすでに実行していることとなる。したがって、ＥＣＵ３００は、ステップＳ１０２において、自動停止制御が実施されていると判定し、ステップＳ１０７へと進むこととなる。
【００６４】
次に、ステップＳ１０７において、ＥＣＵ３００は、再始動要件が成立しているか否かを判定する。具体的には、運転者による発進、加速操作の意思を判断する様々な情報と、吸気温度センサ１０３といったエンジン１０１に設けられている各種センサ等に電力を供給するバッテリ４００の状態を示した情報等とに基づいて、この再始動要件が成立しているか否かが判定される。
【００６５】
なお、前述した様々な情報の具体例として、例えば、（１）ブレーキペダルの踏み込み量が所定値（例えば、踏み込み量なし）以下であるか否か、（２）アクセルペダルが所定値（例えば、踏み込み量に対し一割以上の踏み込み量）以上であるか否か等といった情報が挙げられる。
【００６６】
そして、ステップＳ１０７において、ＥＣＵ３００は、再始動要件が成立していない（すなわち、Ｎｏ）と判定した場合には、一連の処理を終了し、次の処理へと進む。
【００６７】
一方、ステップＳ１０７において、ＥＣＵ３００は、再始動要件が成立している（すなわち、Ｙｅｓ）と判定した場合には、ステップＳ１０８へと進む。続いて、ステップＳ１０８において、ＥＣＵ３００は、スタータ２００の駆動許可／駆動禁止判定処理の結果を読み込み、ステップＳ１０９へと進む。なお、スタータ２００の駆動許可／駆動禁止判定処理の詳細については、後述する。
【００６８】
次に、ステップＳ１０９において、ＥＣＵ３００は、ステップＳ１０８で読み込んだ駆動禁止判定フラグＦ２が「０」であるか否かを判定する。そして、ステップＳ１０９において、ＥＣＵ３００は、駆動禁止判定フラグＦ２が「１」である（すなわち、Ｎｏ）と判定した場合には、一連の処理を終了し、次の処理へと進む。
【００６９】
一方、ステップＳ１０９において、ＥＣＵ３００は、駆動禁止判定フラグＦ２が「０」である（すなわち、Ｙｅｓ）と判定した場合には、ステップＳ１１０へと進む。
【００７０】
次に、ステップＳ１１０において、ＥＣＵ３００は、ステップＳ１０８で読み込んだ駆動許可判定フラグＦ１が「１」であるか否かを判定する。そして、ステップＳ１１０において、ＥＣＵ３００は、駆動許可判定フラグＦ１が「０」である（すなわち、Ｎｏ）と判定した場合には、一連の処理を終了し、次の処理へと進む。
【００７１】
一方、ステップＳ１１０において、ＥＣＵ３００は、駆動許可判定フラグＦ１が「１」である（すなわち、Ｙｅｓ）と判定した場合には、ステップＳ１１１へと進む。
【００７２】
次に、ステップＳ１１１において、ＥＣＵ３００は、スタータ２００が駆動可能な状態であるので、スタータ２００に対する駆動指示を行うことにより、エンジン１０１のクランキングを開始し、ステップＳ１１２へと進む。
【００７３】
そして、ステップＳ１１２において、ＥＣＵ３００は、再始動時制御処理を行い、一連の処理を終了し、次の処理へと進む。具体的には、ＥＣＵ３００は、ステップＳ１１２において、燃料噴射弁１１２への駆動信号を出力し、燃料噴射を再開する。さらに、ＥＣＵ３００は、例えば、スロットル弁１０６の制御量を再始動時の制御量に変更するといった制御を実行する。
【００７４】
なお、ステップＳ１０１〜Ｓ１０６までの処理は、ＥＣＵ３００内のＲＯＭ３０３に格納されている自動停止制御部によって実行される。また、ステップＳ１０７〜Ｓ１１２までの処理は、ＥＣＵ３００内のＲＯＭ３０３に格納されている再始動制御部によって実行される。
【００７５】
次に、図４Ａ〜図４Ｃのフローチャートについて説明する。この図４Ａ〜図４Ｃにおけるフローチャートの一連処理は、内燃機関の自動停止再始動装置内のＥＣＵ３００によって、先の図３のフローチャートにおける処理周期よりも速い処理周期（例えば、２．５ｍｓｅｃ周期）毎に演算される（実行される）。
【００７６】
また、スタータ２００の駆動許可／駆動禁止判定処理の結果（演算結果）は、前述したように、先の図３のフローチャートにおけるステップＳ１０８が実行処理された場合に読み込まれる。さらに、以下で説明するが、ステップＳ２０１〜Ｓ２０６までの処理がスタータ２００の駆動許可判定の処理となり、ステップＳ２０７〜Ｓ２２５までの処理がスタータ２００の駆動禁止判定の処理および駆動禁止解除の処理となる。
【００７７】
はじめに、ステップＳ２０１において、ＥＣＵ３００は、クランク角度センサ１１３からクランク信号が入力されたか否かを判定する。そして、ステップＳ２０１において、ＥＣＵ３００は、クランク信号が入力されていない（すなわち、Ｎｏ）と判定した場合には、ステップＳ２０７へと進む。
【００７８】
一方、ステップＳ２０１において、ＥＣＵ３００は、クランク信号が入力された（すなわち、Ｙｅｓ）と判定した場合には、ステップＳ２０２へと進み、駆動禁止経験フラグＦ３が「０」であるか否かを判定する。なお、駆動禁止経験フラグＦ３とは、逆回転クランク信号が入力された後に駆動禁止判定フラグＦ２がセットされた場合にのみセットされるフラグであり、エンジン１０１の逆回転における駆動禁止判定を１回のみ行うために利用する情報である。
【００７９】
そして、ステップＳ２０２において、ＥＣＵ３００は、駆動禁止経験フラグＦ３が「１」である（すなわち、Ｎｏ）と判定した場合には、ステップＳ２０７へと進む。一方、ステップＳ２０２において、ＥＣＵ３００は、駆動禁止経験フラグＦ３が「０」である（すなわち、Ｙｅｓ）と判定した場合には、ステップＳ２０３へと進む。なお、エンジン１０１が正回転中であれば、駆動禁止経験フラグＦ３が「０」である。
【００８０】
次に、ステップＳ２０３において、ＥＣＵ３００は、エンジン１０１の回転速度ＮＥを読み込み、Ｓ２０４へと進み、スタータ２００の駆動許可判定を行う。具体的には、ＥＣＵ３００は、エンジン１０１の回転速度ＮＥがスタータ２００のスタータ駆動可能回転速度下限値Ｎｅ＿Ｌ（例えば、−６０ｒ／ｍｉｎ）からスタータ駆動可能回転速度上限値Ｎｅ＿Ｈ（例えば、８０ｒ／ｍｉｎ）までの駆動可能回転速度範囲内に含まれるか否かを判定する。
【００８１】
ここで、前述したように、スタータ２００は、ピニオンギア２０１がリングギア１１５と噛み合って接点がオンすることでスタータモータ２０４に通電が開始されて回転駆動が始まる。そのため、エンジン１０１の始動時および再始動時において、スタータ２００のピニオンギア２０１は、無回転状態でエンジン１０１のリングギア１１５と噛み合うこととなる。また、エンジン１０１の回転速度ＮＥによっては、ピニオンギア２０１がリングギア１１５と噛み合うことが困難となる。したがって、ステップＳ２０４において、ピニオンギア２０１がリングギア１１５と噛み合うことが可能である駆動可能回転速度範囲内に、エンジン１０１の回転速度ＮＥが含まれるか否かの判定が行われることとなる。
【００８２】
また、エンジン１０１のリングギア１１５がエンジン１０１のクランク軸に連結されているので、リングギア１１５の回転速度は、エンジン１０１の回転速度ＮＥと同等となる。そのため、エンジン１０１の回転速度ＮＥに基づいて、スタータ２００の駆動許可判定が行われる。
【００８３】
そして、ステップＳ２０４において、ＥＣＵ３００は、エンジン１０１の回転速度ＮＥが駆動可能回転速度範囲内に含まれている（すなわち、Ｙｅｓ）と判定した場合には、ステップＳ２０５へと進む。続いて、ステップＳ２０５において、ＥＣＵ３００は、駆動許可判定フラグＦ１をセットするともに（Ｆ１＝１）、駆動禁止判定フラグＦ２をクリアして（Ｆ２＝０）、ステップＳ２０７へと進む。なお、本実施の形態１において、フラグをセットするとは、フラグを「１」にすることを意味し、フラグをクリアするとは、フラグを「０」にすることを意味する。
【００８４】
一方、ステップＳ２０４において、ＥＣＵ３００は、エンジン１０１の回転速度ＮＥが駆動可能回転速度範囲内に含まれていない（すなわち、Ｎｏ）と判定した場合には、ステップＳ２０６へと進む。続いて、ステップＳ２０６において、ＥＣＵ３００は、駆動許可判定フラグＦ１をクリアするともに（Ｆ１＝０）、駆動禁止判定フラグＦ２をセットして（Ｆ２＝１）、ステップＳ２０７へと進む。
【００８５】
次に、ステップＳ２０７において、ＥＣＵ３００は、入力されたクランク信号が逆回転クランク信号であるか否かを判定する。
【００８６】
なお、ＥＣＵ３００は、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）が１以上であるか否かを判定することにより、入力されたクランク信号が逆回転クランク信号であるか否かを判定してもよい。すなわち、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）が１以上である場合には、入力されたクランク信号が逆回転クランク信号であると判定されることとなる。また、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）が０である場合には、入力されたクランク信号が正回転クランク信号であると判定されることとなる。
【００８７】
ここで、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）とは、初期値が０であり、逆回転クランク信号が入力されて初めてカウントアップされる情報である。また、エンジン１０１の回転状態が正回転状態の場合（すなわち、入力されたクランク信号が逆回転クランク信号でないと判定される場合）には、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）がカウントアップされることはない。
【００８８】
そして、ステップＳ２０７において、ＥＣＵ３００は、入力されたクランク信号が逆回転クランク信号でない（すなわち、Ｎｏ）と判定した場合には、ステップＳ２２５へと進む。また、ステップＳ２２５において、ＥＣＵ３００は、前回処理時の逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ−１）と、今回処理時の逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）とをクリアすることによって、両方とも０にして、一連の処理を終了し、次の処理へと進む。
【００８９】
なお、以降では、今回処理時の逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）を、単に、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）と称し、前回処理時の逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ−１）を、単に、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ−１）と称す。一方、ステップＳ２０７において、ＥＣＵ３００は、入力されたクランク信号が逆回転クランク信号である（すなわち、Ｙｅｓ）と判定した場合には、ステップＳ２０８へと進む。
【００９０】
次に、ステップＳ２０８において、ＥＣＵ３００は、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）の演算を行い、ステップＳ２０９へと進む。具体的には、ＥＣＵ３００は、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ−１）を、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）に置き換える（ＲＥＶ＿ＣＲＫ（ｎ−１）＝ＲＥＶ＿ＣＲＫ（ｎ））。さらに、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）を１だけカウントアップする（ＲＥＶ＿ＣＲＫ（ｎ）＝ＲＥＶ＿ＣＲＫ（ｎ）＋１）。
【００９１】
次に、ステップＳ２０９において、ＥＣＵ３００は、入力されるクランク信号が初回の逆回転クランク信号であるか否かを判定する。具体的には、ＥＣＵ３００は、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ−１）が０であり、かつ、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）が１である場合には、入力されるクランク信号が初回の逆回転クランク信号であると判定する。一方、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ−１）が０でない、または、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）が１でない場合には、入力されるクランク信号が初回の逆回転クランク信号でないと判定する。
【００９２】
そして、ステップＳ２０９において、ＥＣＵ３００は、入力されるクランク信号が初回の逆回転クランク信号でない（すなわち、Ｎｏ）と判定した場合には、ステップＳ２１２へと進む。なお、２回目以降の逆回転クランク信号が入力されている場合、入力されるクランク信号が初回の逆回転クランク信号でないと判定される。
【００９３】
次に、ステップＳ２１２において、ＥＣＵ３００は、最新の逆回転クランク信号が入力された入力時刻と、逆回転クランク信号が１回前に入力された入力時刻とから、クランク信号間の時間間隔ｔ＿ｃｒｋ（ｎ）を算出して、ステップＳ２１３へと進む。なお、前述したように、初回の逆回転クランク信号が入力された時刻が逆回転開始時刻となるので、２回目の逆回転クランク信号が入力されることによって、クランク信号間の時間間隔ｔ＿ｃｒｋ（ｎ）が初めて演算される。
【００９４】
一方、ステップＳ２０９において、ＥＣＵ３００は、入力されるクランク信号が初回の逆回転クランク信号である（すなわち、Ｙｅｓ）と判定した場合には、ステップＳ２１０へと進み、駆動禁止経験フラグＦ３が「０」であるか否かを判定する。
【００９５】
そして、ステップＳ２１０において、ＥＣＵ３００は、駆動禁止経験フラグＦ３が「１」である（すなわち、Ｎｏ）と判定した場合には、ステップＳ２１３へと進む。具体的には、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）が１であり、ステップＳ２１０を２回目以降に演算する場合には、駆動禁止経験フラグＦ３が「１」である。
【００９６】
一方、ステップＳ２１０において、ＥＣＵ３００は、駆動禁止経験フラグＦ３が「０」である（すなわち、Ｙｅｓ）と判定した場合には、ステップＳ２１１へと進む。具体的には、ステップＳ２１０を初回に演算する場合（すなわち、入力されるクランク信号が初回の逆転クランク信号である場合）には、駆動禁止経験フラグＦ３が「０」である。
【００９７】
次に、ステップＳ２１１において、ＥＣＵ３００は、駆動許可判定フラグＦ１をクリアして（Ｆ１＝０）、駆動禁止判定フラグＦ２をセットして（Ｆ２＝１）、駆動禁止経験フラグＦ３をセットして（Ｆ３＝１）、ステップＳ２１３へと進む。
【００９８】
次に、ステップＳ２１３において、ＥＣＵ３００は、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）が２であるか否かを判定する。そして、ステップＳ２１３において、ＥＣＵ３００は、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）が２でない（すなわち、Ｎｏ）と判定した場合には、ステップＳ２１９へと進む。
【００９９】
具体的には、入力されるクランク信号が初回の逆回転クランク信号である場合には、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）が１であるので、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）が２でないと判定されることとなる。
【０１００】
一方、ステップＳ２１３において、ＥＣＵ３００は、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）が２である（すなわち、Ｙｅｓ）と判定した場合には、ステップＳ２１４へと進む。
【０１０１】
具体的には、入力されるクランク信号が２回目の逆転クランク信号である場合には、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）が２であるので、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）が２であると判定されることとなる。
【０１０２】
次に、ステップＳ２１４において、ＥＣＵ３００は、計測タイマのカウントアップを行い、ステップＳ２１５へと進む。なお、この計測タイマは、２回目の逆回転クランク信号が入力された後にカウントアップされるタイマであり、具体的には、２回目の逆回転クランク信号が入力された時刻からの経過時間ｔ＿ｃｔを計測する。なお、以降では、計測タイマが計測する２回目の逆回転クランク信号が入力された時刻からの経過時間ｔ＿ｃｔを、タイマ計測時間ｔ＿ｃｔと称す。
【０１０３】
次に、ステップＳ２１５において、ＥＣＵ３００は、ステップＳ２１２で算出したクランク信号間の時間間隔ｔ＿ｃｒｋ（ｎ）が駆動許可下限値相当時間Ｔ＿ｌよりも大きいか否かを判定する。
【０１０４】
なお、駆動許可下限値相当時間Ｔ＿ｌは、スタータ２００の駆動可能回転速度に基づいて設定され、ＥＣＵ３００内のＲＯＭ３０３にあらかじめ記憶されている。具体的には、駆動許可下限値相当時間Ｔ＿ｌは、クランク信号毎の回転角度（クランク角度間の所定角度）を用いて、スタータ２００の駆動可能回転速度の時間換算値から設定される。例えば、スタータ２００のスタータ駆動可能回転速度下限値Ｎｅ＿Ｌが−６０ｒ／ｍｉｎであり、クランク信号毎の回転角度が１０度である場合、駆動許可下限値相当時間Ｔ＿ｌは、約２８ｍｓｅｃとなる。
【０１０５】
そして、ステップＳ２１５において、ＥＣＵ３００は、クランク信号間の時間間隔ｔ＿ｃｒｋ（ｎ）が駆動許可下限値相当時間Ｔ＿ｌよりも大きい（すなわち、Ｙｅｓ）と判定した場合には、ステップＳ２１６へと進む。
【０１０６】
次に、ステップＳ２１６において、ＥＣＵ３００は、タイマ計測時間ｔ＿ｃｔがクランク信号間の時間間隔ｔ＿ｃｒｋ（ｎ）以上であるか否かを判定する。
【０１０７】
そして、ステップＳ２１６において、ＥＣＵ３００は、タイマ計測時間ｔ＿ｃｔがクランク信号間の時間間隔ｔ＿ｃｒｋ（ｎ）以上である（すなわち、Ｙｅｓ）と判定した場合には、ステップＳ２１８へと進む。一方、ステップＳ２１６において、ＥＣＵ３００は、タイマ計測時間ｔ＿ｃｔがクランク信号間の時間間隔ｔ＿ｃｒｋ（ｎ）未満である（すなわち、Ｎｏ）と判定した場合には、一連の処理を終了し、次の処理へと進む。
【０１０８】
また、ステップＳ２１５において、ＥＣＵ３００は、クランク信号間の時間間隔ｔ＿ｃｒｋ（ｎ）が駆動許可下限値相当時間Ｔ＿ｌ以下（すなわち、Ｎｏ）と判定した場合には、ステップＳ２１７へと進む。
【０１０９】
次に、ステップＳ２１７において、ＥＣＵ３００は、タイマ計測時間ｔ＿ｃｔが駆動許可下限値相当時間Ｔ＿ｌよりも大きいか否かを判定する。
【０１１０】
そして、ステップＳ２１７において、ＥＣＵ３００は、タイマ計測時間ｔ＿ｃｔが駆動許可下限値相当時間Ｔ＿ｌよりも大きい（すなわち、Ｙｅｓ）と判定した場合には、ステップＳ２１８へと進む。一方、ステップＳ２１７において、ＥＣＵ３００は、タイマ計測時間ｔ＿ｃｔが駆動許可下限値相当時間Ｔ＿ｌ以下である（すなわち、Ｎｏ）と判定した場合には、一連の処理を終了し、次の処理へと進む。
【０１１１】
次に、ステップＳ２１８において、ＥＣＵ３００は、駆動許可判定フラグＦ１をセットして（Ｆ１＝１）、駆動禁止判定フラグＦ２をクリアして（Ｆ２＝０）、計測タイマをクリアして（ｔ＿ｃｔ＝０）、一連の処理を終了し、次の処理へと進む。
【０１１２】
一方、ステップＳ２１３において、ＥＣＵ３００は、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）が２でない（すなわち、Ｎｏ）と判定した場合には、ステップＳ２１９へと進み、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）が３以上であるか否かを判定する。そして、ステップＳ２１９において、ＥＣＵ３００は、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）が３以上である（すなわち、Ｙｅｓ）と判定した場合には、ステップＳ２２０へと進む。
【０１１３】
次に、ステップＳ２２０において、ＥＣＵ３００は、クランク信号間の時間間隔ｔ＿ｃｒｋ（ｎ）がクランク信号間の時間間隔ｔ＿ｃｒｋ（ｎ−１）よりも大きいか否かを判定する。なお、クランク信号間の時間間隔ｔ＿ｃｒｋ（ｎ−１）とは、クランク信号間の時間間隔ｔ＿ｃｒｋ（ｎ）が演算されるよりも１回前に演算されたものである。
【０１１４】
そして、ステップＳ２２０において、ＥＣＵ３００は、クランク信号間の時間間隔ｔ＿ｃｒｋ（ｎ）がクランク信号間の時間間隔ｔ＿ｃｒｋ（ｎ−１）未満である（すなわち、Ｎｏ）と判定した場合には、一連の処理を終了し、次の処理へと進む。
【０１１５】
一方、ステップＳ２２０において、ＥＣＵ３００は、クランク信号間の時間間隔ｔ＿ｃｒｋ（ｎ）がクランク信号間の時間間隔ｔ＿ｃｒｋ（ｎ−１）よりも大きい（すなわち、Ｙｅｓ）と判定した場合には、ステップＳ２２１へと進む。
【０１１６】
次に、ステップＳ２２１において、ＥＣＵ３００は、クランク信号間の時間間隔ｔ＿ｃｒｋ（ｎ）が駆動許可下限値相当時間Ｔ＿ｌ以上であるか否かを判定する。そして、ステップＳ２２１において、ＥＣＵ３００は、クランク信号間の時間間隔ｔ＿ｃｒｋ（ｎ）が駆動許可下限値相当時間Ｔ＿ｌ未満である（すなわち、Ｎｏ）と判定した場合には、一連の処理を終了し、次の処理へと進む。
【０１１７】
一方、ステップＳ２２１において、ＥＣＵ３００は、クランク信号間の時間間隔ｔ＿ｃｒｋ（ｎ）が駆動許可下限値相当時間Ｔ＿ｌ以上である（すなわち、Ｙｅｓ）と判定した場合には、ステップＳ２２２へと進む。
【０１１８】
次に、ステップＳ２２２において、ＥＣＵ３００は、駆動許可判定フラグＦ１をセットして（Ｆ１＝１）、駆動禁止判定フラグＦ２をクリアして（Ｆ２＝０）、計測タイマをクリアして（ｔ＿ｃｔ＝０）、一連の処理を終了し、次の処理へと進む。
【０１１９】
一方、ステップＳ２１９において、ＥＣＵ３００は、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）が３未満である（すなわち、Ｎｏ）と判定した場合には、ステップＳ２２３へと進み、内燃機関（エンジン１０１）が停止しているか否かを判定する。具体的には、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（ｎ）が１の場合（すなわち、入力されるクランク信号が初回の逆回転クランク信号である場合）にステップＳ２２３が実行されることとなる。
【０１２０】
そして、ステップＳ２２３において、ＥＣＵ３００は、エンジン１０１が停止していない（すなわち、Ｎｏ）と判定した場合には、一連の処理を終了し、次の処理へと進む。なお、この場合、スタータ２００の駆動禁止状態が継続されることとなる。
【０１２１】
一方、ステップＳ２２３において、ＥＣＵ３００は、エンジン１０１が停止している（すなわち、Ｙｅｓ）と判定した場合には、ステップＳ２２４へと進む。
【０１２２】
次に、ステップＳ２２４において、ＥＣＵ３００は、駆動許可判定フラグＦ１をセットして（Ｆ１＝１）、駆動禁止判定フラグＦ２をクリアして（Ｆ２＝０）、計測タイマをクリアして（ｔ＿ｃｔ＝０）、一連の処理を終了し、次の処理へと進む。
【０１２３】
なお、ステップＳ２０１〜Ｓ２０６までの処理は、ＥＣＵ３００内のＲＯＭ３０３に格納されている駆動許可判定部によって実行される。また、ステップＳ２０７〜Ｓ２１１までの処理は、ＥＣＵ３００内のＲＯＭ３０３に格納されている駆動禁止判定部によって実行される。さらに、ステップＳ２１２〜Ｓ２２５までの処理は、ＥＣＵ３００内のＲＯＭ３０３に格納されている駆動禁止解除部によって実行される。
【０１２４】
次に、本実施の形態１における内燃機関の自動停止再始動装置が各時刻において行う動作について、図５および図６のタイミングチャートを参照しながら説明する。図５は、本実施の形態１における内燃機関の自動停止再始動装置が各時刻において行う動作の一例を示す説明図である。図６は、本実施の形態１における内燃機関の自動停止再始動装置が各時刻において行う動作の別例を示す説明図である。
【０１２５】
なお、図５および図６においては、特に、自動停止中におけるエンジン１０１の回転速度ＮＥの低下中に、本実施の形態１における内燃機関の自動停止再始動装置がエンジン１０１に対して行う駆動禁止状態の解除動作が中心に示されている。
【０１２６】
図５および図６には、クランク角度センサ１１３の出力信号（Ａ）、回転速度ＮＥ（Ｂ）、クランクカウンタＣＲＫ（Ｃ）、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（Ｄ）、クランク信号間の時間間隔ｔ＿ｃｒｋ（Ｅ）、計測タイマによるタイマ計測時間ｔ＿ｃｔ（Ｆ）、駆動許可判定フラグＦ１（Ｇ）、駆動禁止判定フラグＦ２（Ｈ）および駆動禁止経験フラグＦ３（Ｉ）の経時変化が示されている。
【０１２７】
なお、回転速度ＮＥ（Ｂ）の記載について、実線は、ＥＣＵ３００によって演算された回転速度ＮＥ（回転速度演算結果）を示し、点線は、内燃機関の実際の回転速度を示す。また、内燃機関の逆回転時の回転速度を便宜上、マイナスで表記している。
【０１２８】
ここで、前述したように、クランク角度センサ１１３の出力信号は、エンジン１０１の回転状態が正回転状態と逆回転状態との場合に応じて変化する。したがって、このようなクランク角度センサ１１３の出力信号に基づき、ＥＣＵ３００によって演算された各演算値は、図５および図６に示すような挙動を示す。
【０１２９】
まず、図５のタイミングチャートについて説明する。図５に示すように、時刻Ｔ１よりも前の時刻において、時間が時刻Ｔ１に進むにしたがって、クランク角度センサ１１３の出力信号におけるクランク信号間の時間間隔ｔ＿ｃｒｋが長くなっていく。
【０１３０】
このような場合、この時間間隔ｔ＿ｃｒｋに応じて、エンジン１０１の回転速度ＮＥが低下していくとともに、クランクカウンタＣＲＫが所定値ずつ加算されていく。また、エンジン１０１の回転状態が正回転状態であり、回転速度ＮＥがスタータ２００の駆動可能回転速度範囲内に含まれていない。したがって、駆動許可判定フラグＦ１が「０」となり、駆動禁止判定フラグＦ２が「１」となるので、スタータ２００が駆動禁止状態となる。また、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ等が変化しない。
【０１３１】
時刻Ｔ１において、エンジン１０１の回転速度ＮＥがスタータ駆動可能回転速度上限値Ｎｅ＿Ｈ以下になる。このような場合、駆動許可判定フラグＦ１が「１」となり、駆動禁止判定フラグＦ２が「０」となるので、スタータ２００が駆動許可状態となる。なお、スタータ２００が駆動許可状態となるとともに、前述した再始動要件が成立すれば、スタータ２００が駆動することとなる。
【０１３２】
時刻Ｔ２において、クランク角度センサ１１３の出力信号が初回の逆回転クランク信号となる。このような場合、クランクカウンタＣＲＫが所定値だけ減算されるとともに、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫ（Ｄ）が０から１にカウントアップされる。また、駆動許可判定フラグＦ１が「０」となり、駆動禁止判定フラグＦ２が「１」となるので、スタータ２００が駆動禁止状態となる。また、駆動禁止経験フラグＦ３が「１」となる。なお、図５に示すように、クランク角度センサ１１３の出力信号が初回の逆回転クランク信号となる時刻Ｔ２以降においては、スタータ２００が駆動禁止状態となる。
【０１３３】
時刻Ｔ３において、クランク角度センサ１１３の出力信号が２回目の逆回転クランク信号となる。このような場合、クランクカウンタＣＲＫが所定値だけ減算されるとともに、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫが１から２にカウントアップされる。また、１回目の逆回転クランク信号と、２回目の逆回転クランク信号とのクランク信号間の時間間隔ｔ＿ｃｒｋ（以降では、時間間隔ｔ＿ｃｒｋ（１，２）と称す）が演算されるとともに、計測タイマのカウントアンプが開始される。
【０１３４】
ここで、２回目の逆回転クランク信号が入力される時刻Ｔ３では、時間間隔ｔ＿ｃｒｋ（１，２）が演算され、前述したように、駆動許可下限値相当時間Ｔ＿ｌとの大きさの比較が行われる。そして、この比較結果に応じて、駆動禁止解除判定時間が決定される。なお、図５においては、時間間隔ｔ＿ｃｒｋ（１，２）が駆動許可下限値相当時間Ｔ＿ｌよりも小さいので、駆動禁止解除判定時間は、駆動許可下限値相当時間Ｔ＿ｌに相当する。
【０１３５】
時刻Ｔ４において、計測タイマが計測する、時刻Ｔ３からの経過時間ｔ＿ｃｔが駆動禁止解除判定時間である駆動許可下限値相当時間Ｔ＿ｌ以上になる。このような場合、駆動許可判定フラグＦ１が「１」となり、駆動禁止判定フラグＦ２が「０」となるので、スタータ２００が駆動許可状態となる。すなわち、３回目の逆回転クランク信号が入力される時刻Ｔ５よりも早い時刻Ｔ４において、スタータ２００の駆動禁止状態が解除されることとなる。また、計測タイマがクリアされる（ｔ＿ｃｔ＝０）。
【０１３６】
なお、時刻Ｔ３から駆動禁止解除判定時間以上となる時刻Ｔ４以降においては、スタータ２００は、再度、駆動許可状態となり、前述した再始動要件が成立すれば、スタータ２００が駆動することとなる。
【０１３７】
このように、図５においては、２回目の逆回転クランク信号が入力される時刻Ｔ３における回転速度ＮＥがスタータ駆動可能回転速度下限値Ｎｅ＿Ｌよりも速く回転している場合を例示している。
【０１３８】
ここで、２回目の逆回転クランク信号が入力されてから駆動許可下限値相当時間Ｔ＿ｌが経過する間に３回目の逆回転クランク信号が入力されれば、エンジン１０１の実際の回転速度がスタータ駆動可能回転速度下限値Ｎｅ＿Ｌよりも速い速度で逆回転していることとなる。このような場合、エンジン１０１の実際の回転速度が駆動可能回転速度範囲内に含まれていないので、スタータ２００の駆動禁止状態が解除されない。
【０１３９】
これに対して、２回目の逆回転クランク信号が入力されてから駆動許可下限値相当時間Ｔ＿ｌが経過する間に３回目の逆回転クランク信号が入力されなければ、エンジン１０１の実際の回転速度が駆動許可下限値相当時間Ｔ＿ｌの経過時に、スタータ駆動可能回転速度下限値Ｎｅ＿Ｌよりも遅い速度で逆回転していることとなる。このような場合、エンジン１０１の実際の回転速度は回転速度ピークを過ぎて、駆動可能回転速度範囲内に含まれているので、スタータ２００の駆動禁止状態が解除される。
【０１４０】
以上より、このような場合、ＥＣＵ３００は、従来技術と異なり、時刻Ｔ４において、エンジン１０１の回転速度ＮＥの演算結果に基づいて、回転速度ピークを検出しなくても、スタータ２００の駆動禁止状態を解除することができる。すなわち、ＥＣＵ３００は、逆回転クランク信号が２回入力されるだけで、エンジン１０１の回転状態に応じて、スタータ２００の駆動禁止状態を適切に解除することができる。
【０１４１】
次に、図６のタイミングチャートについて説明する。なお、図６において、時刻Ｔ１よりも前の時刻から時刻Ｔ３までの期間においては、先の図５について説明した上記内容と同様であるので、説明を省略する。
【０１４２】
時刻Ｔ３において、クランク角度センサ１１３の出力信号が２回目の逆回転クランク信号となる。このような場合、クランクカウンタＣＲＫが所定値だけ減算されるとともに、逆回転クランクパルスカウンタＲＥＶ＿ＣＲＫが１から２にカウントアップされる。また、クランク信号間の時間間隔ｔ＿ｃｒｋが演算されるとともに、計測タイマのカウントアンプが開始される。
【０１４３】
ここで、２回目の逆回転クランク信号が入力される時刻Ｔ３では、時間間隔ｔ＿ｃｒｋ（１，２）が演算され、前述したように、駆動許可下限値相当時間Ｔ＿ｌとの大きさの比較が行われる。そして、この比較結果に応じて、駆動禁止解除判定時間が決定される。なお、図６においては、先の図５と異なり、時間間隔ｔ＿ｃｒｋ（１，２）が駆動許可下限値相当時間Ｔ＿ｌ以上であるので、駆動禁止解除判定時間は、時間間隔ｔ＿ｃｒｋ（１，２）に相当する。
【０１４４】
時刻Ｔ４において、計測タイマが計測する、時刻Ｔ３からの経過時間ｔ＿ｃｔが駆動禁止解除判定時間である時間間隔ｔ＿ｃｒｋ（１，２）以上になる。このような場合、駆動許可判定フラグＦ１が「１」となり、駆動禁止判定フラグＦ２が「０」となるので、スタータ２００が駆動許可状態となる。すなわち、３回目の逆回転クランク信号が入力される時刻よりも早い時刻Ｔ４において、スタータ２００の駆動禁止状態が解除されることとなる。また、計測タイマがクリアされる（ｔ＿ｃｔ＝０）。
【０１４５】
なお、時刻Ｔ３から駆動禁止解除判定時間以上となる時刻Ｔ４以降においては、スタータ２００は、再度、駆動許可状態となり、前述した再始動要件が成立すれば、スタータ２００が駆動することとなる。
【０１４６】
このように、図６においては、２回目の逆回転クランク信号が入力される時刻Ｔ３における回転速度ＮＥがスタータ駆動可能回転速度下限値Ｎｅ＿Ｌよりも遅く回転している場合を例示している。
【０１４７】
ここで、２回目の逆回転クランク信号が入力されてから時間間隔ｔ＿ｃｒｋ（１，２）が経過する間に３回目の逆回転クランク信号が入力されれば、エンジン１０１の実際の回転速度が時刻Ｔ３における回転速度ＮＥよりも速い速度で逆回転していることとなる。このような場合、エンジン１０１の実際の回転速度は回転速度ピークに到達していないのでスタータ２００の駆動禁止状態が解除されない。
【０１４８】
これに対して、２回目の逆回転クランク信号が入力されてから時間間隔ｔ＿ｃｒｋ（１，２）が経過する間に３回目の逆回転クランク信号が入力されなければ、エンジン１０１の実際の回転速度が時間間隔ｔ＿ｃｒｋ（１，２）の経過時に、時刻Ｔ３における回転速度ＮＥよりも遅い速度で逆回転していることとなる。このような場合、エンジン１０１の実際の回転速度は回転速度ピークを過ぎているので、スタータ２００の駆動禁止状態が解除される。
【０１４９】
以上より、ＥＣＵ３００は、従来技術と異なり、３回目の逆回転クランク信号が入力される時刻において、エンジン１０１の回転速度ＮＥの演算に基づいて、回転速度ピークを検出しなくても、スタータ２００の駆動禁止状態を解除することができる。すなわち、ＥＣＵ３００は、逆回転クランク信号が２回入力されるだけで、エンジン１０１の回転状態に応じて、スタータ２００の駆動禁止状態を適切に解除することができる。
【０１５０】
このように、ＥＣＵ３００は、初回の逆回転クランク信号と、２回目の逆回転クランク信号とのクランク信号間の時間間隔ｔ＿ｃｒｋ（時刻Ｔ２と、時刻Ｔ３との時間間隔）と、スタータ駆動可能回転速度下限値Ｎｅ＿Ｌに対応した駆動許可下限値相当時間Ｔ＿ｌとに応じて設定した駆動禁止解除判定時間が３回目の逆回転クランク信号が入力される前に経過すれば、スタータ２００の駆動禁止状態を解除する。
【０１５１】
これにより、エンジン１０１が逆回転状態となった後の回転状態に応じて、速やかにスタータ２００の駆動禁止状態を解除することができる。
【０１５２】
また、ＥＣＵ３００は、初回の逆回転クランク信号と、２回目の逆回転クランク信号とのクランク信号間の時間間隔ｔ＿ｃｒｋが駆動許可下限値相当時間Ｔ＿ｌよりも小さい場合には、計測タイマが計測する経過時間ｔ＿ｃｔが駆動許可下限値相当時間Ｔ＿ｌに達すれば、スタータ２００の駆動禁止状態を解除する。一方、初回の逆回転クランク信号と、２回目の逆回転クランク信号とのクランク信号間の時間間隔ｔ＿ｃｒｋが、駆動許可下限値相当時間Ｔ＿ｌ以上の場合には、計測タイマが計測する経過時間ｔ＿ｃｔがこの時間間隔ｔ＿ｃｒｋに達すれば、スタータ２００の駆動禁止状態を解除する。
【０１５３】
これにより、３回目の逆回転クランク信号が入力される時刻よりも早い時刻において、スタータ２００の駆動禁止状態を、エンジン１０１の回転状態に応じて適切に解除することができることとなるので、駆動禁止状態の時間が必要以上に長くなることがない。
【０１５４】
また、ＥＣＵ３００は、クランク角度センサの出力信号の変化によって、エンジン１０１の回転状態が正回転状態であるか、逆回転状態であるかを判定している。これにより、エンジン１０１の回転状態が正確に検出されることとなるので、例えば、スタータ２００の駆動禁止状態を解除すべきではないような回転状態の場合において、誤って解除するといった誤動作が発生しない。
【０１５５】
以上、本実施の形態１によれば、初回の逆回転クランク信号が検出された時刻と、２回目の逆回転クランク信号が検出された時刻との時間間隔と、スタータ駆動可能回転速度下限値に対応した駆動許可下限値相当時間とに応じて設定した駆動禁止解除判定時間が３回目の逆回転クランク信号が入力される前に経過すれば、スタータの駆動禁止状態を解除する。これにより、内燃機関の回転状態に応じて適切にスタータの駆動禁止状態を解除することができるとともに、スタータの駆動禁止状態の時間を短縮することができ、再始動要件が成立すれば速やかにスタータの駆動を行い、内燃機関を再始動させることができる。
【０１５６】
なお、本実施の形態１では、逆回転クランク信号の検出結果から内燃機関の回転状態が逆回転状態に変化したと判定された後に、スタータが駆動禁止状態になる場合を例示して説明したが、これに限定されない。すなわち、本願発明は、内燃機関の回転速度の演算結果から内燃機関の回転状態が正回転状態から逆回転状態に変化すると判定された後にスタータが駆動禁止状態になる場合であっても、本願発明を適用でき、同様の効果が得られる。
【符号の説明】
【０１５７】
１０１  内燃機関（エンジン）、１０２  エアフィルタ、１０３  吸気温度センサ、１０４  エアフロセンサ、１０５  モータ、１０６  スロットル弁、１０７  スロットル開度センサ、１０８  吸気管圧力センサ、１０９  サージタンク、１１０  吸気管、１１１  吸気マニホルド、１１２  燃料噴射弁、１１３  クランク角度センサ、１１４  排気管、１１５  リングギア、２００  スタータ、２０１  ピニオンギア、２０２  ソレノイド、２０３  プランジャ、２０４  スタータモータ、３００  エンジンコントロールユニット（ＥＣＵ）、３０１  入出力インターフェース、３０２  ＣＰＵ、３０３  ＲＯＭ、３０４  ＲＡＭ、３０５  駆動回路、４００  バッテリ。
【要約】      （修正有）【課題】内燃機関の回転状態に応じて、スタータの駆動禁止状態を適切に解除することのできる内燃機関の自動停止再始動装置および内燃機関の自動停止再始動方法を得る。【解決手段】初回の逆回転クランク信号が検出された時刻と、２回目の逆回転クランク信号が検出された時刻との時間間隔と、スタータ駆動可能回転速度下限値に対応した駆動許可下限値相当時間とに応じて設定した駆動禁止解除判定時間が３回目の逆回転クランク信号が入力される前に経過すれば、スタータの駆動禁止状態を解除する。【選択図】図１【図１】
0005566499.tif 000002
【図２】
0005566499.tif 000003
【図３】
0005566499.tif 000004
【図４Ａ】
0005566499.tif 000005
【図４Ｂ】
0005566499.tif 000006
【図４Ｃ】
0005566499.tif 000007
【図５】
0005566499.tif 000008
【図６】
0005566499.tif 000009
【図７】
0005566499.tif 000010