(57)【要約】【課題】新たなセンサを設けることなく機関逆回転の発生を速やかに検出することができ、且つ、クランクシャフト停止時のカウンタを的確に実クランク角に対応させて次回の機関運転時における始動性向上を図る。【解決手段】エンジン停止過程での逆回転発生の検出は、バルブタイミング可変機構９の駆動に用いるべく吸気カムシャフト７に連結された電動機１０を駆動制御するために電動機１０に設けられた回転センサ１８〜２０という、既存のセンサを利用して行われる。そして、逆回転発生が検出されると、以後はクランク角を把握するためのカウンタＣがクランク信号出力毎にデクリメントされる。更に、逆回転発生と当該逆回転発生の検出とのタイミングのずれに起因するカウンタＣと実際のクランク角とのずれが、そのずれに対応した値である減算値Ｙの算出、及び、同減算値Ｙの分のカウンタＣの減算を通じて解消される。【選択図】      図１
2006233914.tif 000002
【特許請求の範囲】
【請求項１】
クランクシャフトが一定角度回転する毎にクランク信号を出力するクランクポジションセンサと、前記クランクシャフト及びカムシャフトのうちの一方に連結された回転電機とを備える内燃機関に適用され、前記回転電機のロータ周りに配設されて同ロータの回転によって生じる誘起電圧に応じた信号を出力する複数の回転センサからの信号を加味して前記回転電機を制御するとともに、前記クランク信号の出力毎にインクリメントされるカウンタに基づきクランク角を把握して当該クランク角に基づき内燃機関の運転制御を実行する内燃機関の制御装置において、
前記複数の回転センサからの信号の出力パターンが正回転時の出力パターンと異なることに基づき内燃機関での逆回転発生を検出する検出手段と、
前記検出手段による逆回転発生の検出後、前記クランク信号の出力毎に前記カウンタをデクリメントするデクリメント手段と、
内燃機関での実際の逆回転発生と当該逆回転発生の検出とのタイミングのずれに起因する前記カウンタと実際のクランク角とのずれに対応した減算値を算出し、その減算値の分だけ前記カウンタを減算する減算手段と、
機関停止時の前記カウンタのカウント値を記憶しておき、次回の機関始動時には前記記憶されたカウント値を前記カウンタの初期値とする初期値設定手段と、
を備えることを特徴とする内燃機関の制御装置。
【請求項２】
前記検出手段は、前記クランク信号に基づき各回転センサからの信号の機関正回転時における理論上の立ち上がりタイミング及び立ち下がりタイミングを判別し、そのタイミングにて同信号の立ち上がり及び立ち下がりが実際に生じているか否かを判断し、そのときに同信号の立ち上がり及び立ち下がりが生じてない旨判断されることに基づき、内燃機関の逆回転が発生していることを検出する
請求項１記載の内燃機関の制御装置。
【請求項３】
前記減算手段は、前記検出手段による逆回転発生の検出直前に信号の理論上の立ち上がりタイミング及び立ち下がりタイミングを迎えた回転センサについて、同センサからの信号が前記タイミング以降に立ち上がりと立ち下がりとの間で変化するまでの期間のクランク信号の出力回数に基づき、前記減算値を算出する
請求項２記載の内燃機関の制御装置。
【請求項４】
前記内燃機関は前記カムシャフトに連結された電動機の駆動制御を通じて同カムシャフトの前記クランクシャフトに対する相対回転位相を変更するバルブタイミング可変機構を備えるものであり、前記回転電機は前記バルブタイミング可変機構の電動機である
請求項１〜３のいずれか一項に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の制御装置に関するものである。
【背景技術】
【０００２】
自動車用エンジン等の内燃機関においては、クランク信号及びカム信号からクランク角が把握され、当該クランク角に基づいて燃料噴射及び点火が行われる（特許文献１参照）。
【０００３】
ここで、上記クランク信号は、クランクシャフトに取り付けられたクランクロータ近傍のクランクポジションセンサから、同シャフトの回転に伴い例えばクランク角３０°毎に出力されるものである。すなわち、上記クランクロータの外形は、このような等間隔のクランク信号がクランクポジションセンサから出力されるような形状に形成される。一方、上記カム信号は、カムシャフトに取り付けられたカムロータ近傍のカムポジションセンサから、カムシャフトの３６０°回転毎（クランク角７２０°毎）に出力されるものである。すなわち、上記カムロータの外形は、このようなカム信号がカムポジションセンサから出力されるような形状に形成される。なお、上記カム信号の出力間隔については、同カム信号が気筒判別等に用いられるだけであり、クランク信号のように３０°ＣＡ毎といった短い出力間隔とする必要はないことから、クランク信号の出力間隔（３０°ＣＡ毎）に比べてクランク角７２０°毎という長い間隔にされている。
【０００４】
そして、上記クランク信号及びカム信号に基づいてクランク角を把握する際には、例えばクランク信号出力毎にインクリメントされるカウンタが用いられることとなる。このカウンタは、機関始動開始後にスタータによりクランクシャフト及びカムシャフトをある程度回転させ、クランク信号及びカム信号に基づき最初にクランク角が０°になった旨判断できたとき「０」にセットされる。その後、カウンタは、クランク信号出力毎にインクリメントされ、クランク角０°から始まる内燃機関の１サイクルが終了したとき、言い換えればクランク角７２０°に達してカウンタが７２０°ＣＡに対応した値になるときには「０」に戻される。従って、０〜７２０°ＣＡの間にはカウンタがクランク角３０°毎に「１」ずつ増加し、そのカウンタに基づいてクランク角を把握することが可能になる。
【０００５】
ところで、内燃機関の始動性を向上させるには、始動開始後の早期に燃料噴射及び点火を開始することが好ましい。このため、機関運転終了時（クランクシャフト停止時）のカウンタのカウント値を記憶しておき、次回の機関始動開始時には当該記憶されたカウント値をカウンタの初期値とすることで、上記カウント値を機関停止を間においた機関運転間で引き継ぐことが考えられる。このカウント値の引き継ぎを行うことで、機関始動開始後に直ちにカウンタに基づきクランク角を把握することができ、当該クランク角に基づき燃料噴射及び点火を機関始動開始後の早期に開始することが可能になる。
【０００６】
しかしながら、内燃機関の運転中からの停止に際しては、燃料噴射や点火の停止後に機関回転速度が圧縮行程での燃焼室内の圧力等による回転抵抗によって徐々に低下してゆき、最終的に上記燃焼室内の圧力によって内燃機関が一旦逆回転した後に機関回転が停止する。このため、クランク信号の出力毎にカウンタをインクリメントするだけでは、上記逆回転の発生後にカウンタと実クランク角との間にずれが生じる。これは、逆回転発生後は、クランク信号の出力毎に実クランク角が小になるのにもかかわらずカウンタがインクリメントされるためである。このため、上記逆回転が発生したときには、カウント値を実クランク角に合わせるための対策を講じないと、クランクシャフト停止時のカウンタのカウント値が実クランク角に対応しなくなる。
【０００７】
ここで、上記対策を講じるには逆回転発生を検出する必要がある。しかし、クランク信号及びカム信号の出力パターンは内燃機関の正回転時と逆回転時とでほとんど変わらないため、それらの出力パターンに基づいて逆回転の発生を検出することは困難である。そこで、特許文献２の技術を適用して内燃機関の逆回転発生を検出することも考えられる。この特許文献２では、二つのクランクポジションセンサを設け、機関正回転時に二つのクランクポジションセンサからのクランク信号が互いに異なるタイミングで出力されるように各センサを配置している。この場合、二つのセンサからのクランク信号の出力タイミングのずれ状態が内燃機関の正回転時と逆回転時とで異なるようになるため、そのずれ状態に基づき内燃機関での逆回転発生が検出される。
【特許文献１】特開平８−１４４８２５公報（段落番号［００１０］、図３、図４）
【特許文献２】特公平６−５０１０７公報（第３頁左欄１９〜３１行）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記のように特許文献２の技術を適用して内燃機関の逆回転発生を検出した場合、逆回転が実際に発生した後の比較的早い時期に当該逆回転の発生を検出することはできる。これは、内燃機関の逆回転に伴う上記ずれ状態の変化が、実際に逆回転が発生した後の比較的早い時期に現れるためである。しかし、こうした逆回転発生の検出では、二つのクランクポジションセンサを設けなければならず、余分にクランクポジションセンサを設ける分の手間やコストアップは避けられない。
【０００９】
また、逆回転発生の検出を実際の逆回転発生後の比較的早期に行うことができるといっても、実際の逆回転発生から当該逆回転発生の検出までにはある程度の時差（タイミングのずれ）が生じる。このため、当該時差に対応する期間中には上記対策を実施することができず、その時差に起因して上記対策を実施するのが遅れてしまう。その結果、当該対策の実施遅れの分だけ、同対策の実施後にもカウンタと実クランク角との間にずれが残り、クランクシャフト停止時のカウンタのカウント値を実クランク角に対応させることが困難になる。
【００１０】
そして、クランクシャフト停止時のカウンタのカウンタ値が実クランク角に対応していないまま記憶され、次回の機関始動開始時のカウンタの初期値として用いられると、その始動開始後にカウンタに基づいて把握されるクランク角が誤ったものとなる。その結果、始動開始後の初回の燃料噴射及び点火を的確なタイミング（クランク角）で実施できず、内燃機関の始動性を向上させることができなくなる。
【００１１】
本発明はこのような実情に鑑みてなされたものであって、その目的は、新たなセンサを設けることなく機関逆回転の発生を速やかに検出することができ、且つ、クランクシャフト停止時のカウンタを的確に実クランク角に対応させて次回の機関運転時における始動性向上を図ることのできる内燃機関の制御装置を提供することにある。
【課題を解決するための手段】
【００１２】
以下、上記目的を達成するための手段及びその作用効果について記載する。
上記目的を達成するため、請求項１記載の発明では、クランクシャフトが一定角度回転する毎にクランク信号を出力するクランクポジションセンサと、前記クランクシャフト及びカムシャフトのうちの一方に連結された回転電機とを備える内燃機関に適用され、前記回転電機のロータ周りに配設されて同ロータの回転によって生じる誘起電圧に応じた信号を出力する複数の回転センサからの信号を加味して前記回転電機を制御するとともに、前記クランク信号の出力毎にインクリメントされるカウンタに基づきクランク角を把握して当該クランク角に基づき内燃機関の運転制御を実行する内燃機関の制御装置において、前記複数の回転センサからの信号の出力パターンが正回転時の出力パターンと異なることに基づき内燃機関での逆回転発生を検出する検出手段と、前記検出手段による逆回転発生の検出後、前記クランク信号の出力毎に前記カウンタをデクリメントするデクリメント手段と、内燃機関での実際の逆回転発生と当該逆回転発生の検出とのタイミングのずれに起因する前記カウンタと実際のクランク角とのずれに対応した減算値を算出し、その減算値の分だけ前記カウンタを減算する減算手段と、機関停止時の前記カウンタのカウント値を記憶しておき、次回の機関始動時には前記記憶されたカウント値を前記カウンタの初期値とする初期値設定手段とを備えた。
【００１３】
内燃機関においては、通常、クランクシャフトやカムシャフトに各種回転電機が接続されている。こうした回転電機としては、例えばクランクシャフトに連結された発電機があげられる。また、ハイブリッド車両に搭載される内燃機関においては、クランクシャフトに同機関の回転をアシストする電動機が回転電機として連結される。更に、クランクシャフトに対するカムシャフトの相対回転位相を変更するバルブタイミング可変機構を備える内燃機関であって、そのバルブタイミング可変機構として電動式のものを採用した場合には、カムシャフトに連結された上記相対回転位相を変更するための電動機が回転電機として連結される。そして、上述した各種回転電機は、クランクシャフト及びカムシャフトと一体的に回転する。また、回転電機のロータの回転によって誘起電圧が生じると、その誘起電圧に応じた信号が各回転センサから出力される。回転電機は各回転センサからの信号を加味して制御される。
【００１４】
上記各回転センサからの信号の立ち上がり及び立ち下がりについては、それら回転センサがロータ周りに配設されているため、回転センサ毎に異なるタイミングで生じる。すなわち、内燃機関の正回転時における各回転センサからの信号の出力パターンについては、同信号の立ち上がり及び立ち下がりがそれぞれ異なるタイミングで生じるというパターン、言い換えれば比較的短い間隔で上記立ち上がり及び立ち下がりが生じるというパターンになる。そして、内燃機関の逆回転が発生して回転電機のロータも逆回転すると、すぐに、上記信号の立ち上がり及び立ち下がりのタイミングが正回転時と異なるようになり、その信号の出力パターンの変化に基づき同機関の逆回転発生を速やかに検出することができる。また、こうした逆回転発生の検出では、回転電機を制御するのに用いられる回転センサという既存の部品を利用しているため、新たなセンサを設けることなく当該逆回転発生の検出が可能になる。
【００１５】
そして、内燃機関での逆回転発生が検出されると、以後はカウンタがクランク信号出力毎にデクリメントされる。このため、逆回転発生の検出後にはクランク信号の出力毎に小となってゆくクランク角に合わせて、カウンタをクランク信号の出力毎に小とすることが可能になる。ただし、実際に逆回転が発生してから当該逆回転発生を検出するまでにある程度の時間がかかり、それら逆回転発生と当該逆回転発生の検出との時差（タイミングのずれ）に起因してカウンタのデクリメント開始が遅れてしまう。その結果、上記時差に対応する期間中は、逆回転状態にあるにもかかわらずカウンタがインクリメントされ、カウンタと実クランク角との間にずれが生じる。
【００１６】
しかし、逆回転発生と当該逆回転発生の検出とのタイミングのずれに起因する前記カウンタと実際のクランク角とのずれは、そのずれに対応した値である減算値の算出、及び、当該減算値の分のカウンタの減算を通じて解消される。これにより、カウンタの実クランク角への対応が図られることとなる。このため、内燃機関の運転停止過程で逆回転が生じたとしても、クランクシャフト停止時のカウンタを的確に実クランク角に対応させることができる。そして、このときのカウンタのカウンタ値は、記憶されて次回の機関始動開始時にカウンタの初期値として用いられる。従って、上記機関始動開始時にカウンタに基づき把握されるクランク角を正確なものとすることができ、その始動開始後の早期に初回の燃料噴射及び点火を的確なタイミング（クランク角）にて実行し、内燃機関の始動性向上を図ることができるようになる。
【００１７】
請求項２記載の発明では、請求項１記載の発明において、前記検出手段は、前記クランク信号に基づき各回転センサからの信号の機関正回転時における理論上の立ち上がりタイミング及び立ち下がりタイミングを判別し、そのタイミングにて同信号の立ち上がり及び立ち下がりが実際に生じているか否かを判断し、そのときに同信号の立ち上がり及び立ち下がりが生じてない旨判断されることに基づき、内燃機関の逆回転が発生していることを検出するものとした。
【００１８】
内燃機関の正回転時における各回転センサからの信号の理論上の立ち上がりタイミング及び立ち下がりタイミングについては、クランクポジションセンサからのクランク信号に基づき判別することができる。そして、それらタイミングがきたときに同信号の立ち上がり及び立ち下がりが実際に生じることとなる。一方、内燃機関の逆回転が生じると、回転電機のロータが逆回転して各回転センサからの信号の出力パターンが変化するのに対し、クランク信号の出力パターンは正回転時と変わらない。このため、内燃機関の逆回転時にも、正回転時と同じように、各回転センサからの信号の理論上の立ち上がりタイミング及び立ち下がりタイミングの判別が行われる。ただし、逆回転時には、ロータ逆回転に伴う上記信号の出力パターンの変化が生じていることから、クランク信号に基づき把握される上記信号の理論上の立ち上がりタイミング及び立ち下がりタイミングがきたとしても、そのときに実際に上記信号の立ち上がり及び立ち下がりが生じることはない。上記構成によれば、こうした現象が発生しているか否かが判断され、発生している旨判断されることに基づき、内燃機関の逆回転発生を的確に検出することができる。
【００１９】
請求項３記載の発明では、請求項２記載の発明において、前記減算手段は、前記検出手段による逆回転発生の検出直前に信号の理論上の立ち上がりタイミング及び立ち下がりタイミングを迎えた回転センサについて、同センサからの信号が前記タイミング以降に立ち上がりと立ち下がりとの間で変化するまでの期間のクランク信号の出力回数に基づき、前記減算値を算出するものとした。
【００２０】
内燃機関での逆回転発生の有無の判断は、各回転センサからの信号の理論上の立ち上がりタイミング及び立ち下がりタイミング毎に行われる。そして、各回転センサの信号における逆回転発生後の出力パターンは、当該逆回転発生前のパターンを逆回転発生時点を中心として反転させたパターンとなる。このため、逆回転発生の検出直前に信号の理論上の立ち上がりタイミング及び立ち下がりタイミングを迎えた回転センサについては、逆回転発生直後に信号の立ち上がりと立ち下がりとの間での変化が生じることになる。そして、上記回転センサにおける逆回転発生検出前の信号の理論上の立ち上がりタイミング及び立ち下がりタイミングから、逆回転発生後に同信号の立ち上がりと立ち下がりとの間で変化が生じるまでの期間（以下、出力回数判定期間という）は次のような傾向を有する。すなわち、逆回転発生のタイミングが同信号における次回の理論上の立ち上がりタイミング又は立ち下がりタイミング、言い換えれば次回の逆回転発生の有無の判断時点に近いほど長くなり、逆に遠い（判断時点よりも早い）ほど短くなる。また、この出力回数判定期間が長くなるほど、当該期間中でのクランク信号の出力回数は多くなる。
【００２１】
従って、上記クランク信号の出力回数が少なくなるほど、実際の逆回転発生から当該逆回転発生の検出までの期間は長くなり、逆回転が発生しているのにカウンタがインクリメントされるという期間も長くなって、同カウンタと実クランク角とのずれが大きくなる。逆に、上記クランク信号の出力回数が多くなるほど、実際の逆回転発生から当該逆回転発生の検出までの期間は短くなり、逆回転が発生しているのにカウンタがインクリメントされるという期間も短くなって、同カウンタと実クランク角とのずれが小さくなる。
【００２２】
上記構成によれば、同カウンタと実クランク角とのずれを解消すべくカウンタを減算するための減算値が、当該ずれの大きさに関連するパラメータである上記クランク信号の出力回数に基づき算出される。従って、この減算値の分だけカウンタを減算することで、同カウンタと実クランク角とのずれを的確に解消し、クランクシャフト停止時のカウンタを実クランク角に的確に対応させることができるようになる。
【００２３】
請求項４記載の発明では、請求項１〜３のいずれか一項に記載の発明において、前記内燃機関は前記カムシャフトに連結された電動機の駆動制御を通じて同カムシャフトの前記クランクシャフトに対する相対回転位相を変更するバルブタイミング可変機構を備えるものであり、前記回転電機は前記バルブタイミング可変機構の電動機であることを要旨とした。
【００２４】
上記構成によれば、内燃機関は電動機の駆動制御を通じてクランクシャフトに対するカムシャフトの相対回転位相を変更するバルブタイミング可変機構を備えており、同機構の電動機はカムシャフトと一体回転するようになる。また、電動機のロータの回転によって誘起電圧が生じると、その誘起電圧に応じた信号が各回転センサから出力される。この電動機は各回転センサからの信号を加味して駆動制御される。上記各回転センサからの信号出力パターンについては、同信号の立ち上がり及び立ち下がりがそれぞれ異なるタイミングであって比較的短い間隔で生じるというパターンになる。そして、内燃機関の逆回転が発生して電動機のロータも逆回転すると、すぐに、上記信号の立ち上がり及び立ち下がりのタイミングが正回転時と異なるようになり、その信号の出力パターンの変化に基づき同機関の逆回転発生を速やかに検出することができる。また、こうした逆回転発生の検出では、バルブタイミング可変機構の電動機を駆動制御するのに用いられる回転センサという既存の部品を利用しているため、新たなセンサを設けることなく当該逆回転発生の検出が可能になる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明を自動車用の多気筒エンジンに適用した一実施形態について図１〜図２２を参照して説明する。
図１のエンジン１においては、その燃焼室２に燃料噴射弁３から噴射された燃料と吸気通路４から吸入される空気とが供給され、それら燃料と空気とからなる混合気に対し点火プラグ５による点火が行われる。このように混合気に対する点火が行われて同混合気が燃焼すると、その際の燃焼エネルギによりエンジン１が駆動されてクランクシャフト６が回転する。なお、クランクシャフト６には、エンジン１の始動時に同シャフト６を強制回転（クランキング）させるためのスタータ２５が接続される。
【００２６】
また、クランクシャフト６の回転は、吸気カムシャフト７及び排気カムシャフト８に伝達される。これらカムシャフト７，８は、クランクシャフト６からの回転伝達により、クランクシャフト６が７２０°回転するに当たり３６０°回転する。こうした吸気カムシャフト７及び排気カムシャフト８の回転を通じてエンジン１の吸気バルブ及び排気バルブが開閉駆動される。
【００２７】
吸気カムシャフト７には、クランクシャフト６に対する吸気カムシャフト７の相対回転位相を変更して、吸気バルブのバルブタイミングを進角又は遅角させるバルブタイミング可変機構９が設けられている。このバルブタイミング可変機構９としては、吸気カムシャフト７に出力軸１０ａを連結した電動機１０の駆動制御を通じて、クランクシャフト６に対する吸気カムシャフト７の相対回転位相を変更する電動式のものが用いられている。上記電動機１０は、その出力軸１０ａに連結される電動機ロータ１７に巻線された励磁コイルと、ステータ（図示せず）に配設されたＵ相、Ｖ相、Ｗ相の電機子コイルとを備える巻線界磁式の三相交流回転電気機として構成されている。この電動機１０の出力軸１０ａは、吸気カムシャフト７に連結され、同シャフト７と一体回転する。
【００２８】
上記出力軸１０ａの回転速度は電動機１０の駆動制御を通じて増減される。そして、出力軸１０ａの回転速度を吸気カムシャフト７の回転速度よりも速くすると、吸気カムシャフト７の回転が増速されて同シャフト７のクランクシャフト６に対する相対回転位相が進角側に変更される。その結果、吸気バルブのバルブタイミングが進角されるようになる。また、出力軸１０ａの回転速度を吸気カムシャフト７の回転速度よりも遅くすると、吸気カムシャフト７の回転が減速されて同シャフト７のクランクシャフト６に対する相対回転位相が遅角側に変更される。その結果、吸気バルブのバルブタイミングが遅角されるようになる。
【００２９】
次に、クランクシャフト６及び吸気カムシャフト７の回転状態を検出する検出装置について説明する。
クランクシャフト６にはクランクロータ１３が取り付けられ、同クランクロータ１３の近傍にはクランクポジションセンサ１４が設けられている。図２は、クランクロータ１３及びクランクポジションセンサ１４を拡大して示した略図である。同図に示されるように、クランクロータ１３の外周部には、クランクシャフト６の軸線を中心とする所定角度（この実施形態では１０°）毎に合計３４個の突起１３ａと一つの欠歯１３ｂとが設けられている。そして、クランクシャフト６が回転すると、クランクロータ１３の各突起１３ａ及び欠歯１３ｂが順次クランクポジションセンサ１４の側方を通過する。その結果、クランクポジションセンサ１４からは、図４（ａ）に示されるような信号、すなわちクランク角が１０°進む毎に突起１３ａに対応したパルス状のクランク信号が出力されるとともに、クランク角１８０°、５４０°ではの欠歯１３ｂに対応したクランク信号が出力される。この欠歯１３ｂに対応したクランク信号は、突起１３ａに対応したクランク信号の三つ分の幅を有する。そして、クランクポジションセンサ１４から出力されるクランク信号は、エンジン回転速度を求める際などに用いられる。
【００３０】
図１に示されるように、吸気カムシャフト７にはカムロータ１５が取り付けられ、同カムロータ１５の近傍にはカムポジションセンサ１６が設けられている。図３は、このカムロータ１５及びカムポジションセンサ１６を拡大して示した略図である。同図に示されるように、カムロータ１５の外周部には合計三つの突起１５ａ〜１５ｃが設けられている。そして、各突起１５ａ〜１５ｃの吸気カムシャフト７の軸線を中心とする角度間隔はそれぞれ、突起１５ａと突起１５ｂとで９０°、突起１５ｂと突起１５ｃとで９０°、突起１５ｃと突起１５ａとで１８０°になっている。そして、吸気カムシャフト７が回転すると、カムロータ１５の各突起１５ａ〜１５ｃが順次カムポジションセンサ１６の側方を通過する。その結果、カムポジションセンサ１６からは、図４（ｂ）に示されるような信号、すなわちクランク角が約０°、１８０°、３６０°になったときに突起１５ａ〜突起１５ｃに対応したパルス状のカム信号が出力される。そして、カムポジションセンサ１６から出力されるカム信号は、エンジン１の気筒判別や吸気バルブのバルブタイミング検出などに用いられる。
【００３１】
次に、電動機１０の回転状態を検出する検出装置について説明する。
図１に示されるように、電動機１０においては、その出力軸１０ａに取り付けられた電動機ロータ１７の周囲に合計三つの回転センサ、すなわち第１〜第３の回転センサ１８〜２０が等間隔に設けられている。そして、これら第１〜第３の回転センサ１８〜２０は、クランクシャフト６及び吸気カムシャフト７と一体回転する出力軸１０ａの回転に伴う電動機ロータ１７の回転時、その回転によって生じる誘起電圧に応じた矩形の信号、例えば図４（ｃ）〜（ｅ）に示されるような信号を出力する。同図から分かるように、第１〜第３の回転センサ１８〜２０からそれぞれ出力される矩形の信号は、クランク角９０°毎に立ち上がりと立ち下がりを繰り返し、互いにクランク角６０°分ずれた状態となる。そして、第１〜第３の回転センサ１８〜２０からの信号は、吸気バルブのバルブタイミングを変更すべく電動機１０を駆動制御するにあたって、同電動機１０（出力軸１０ａ）の回転速度や回転位置を求める際などに用いられる。
【００３２】
次に、エンジン１の制御装置の電気的構成について図１を参照して説明する。
この制御装置は、エンジン１の燃料噴射制御や点火時期制御、及び、吸気バルブのバルブタイミング制御といったエンジン１の運転制御、並びに、スタータ２５の駆動制御を行うエンジン制御用コンピュータ１１を備えている。エンジン制御用コンピュータ１１は、エンジン１の制御にかかる演算処理を実行するＣＰＵ、その制御に必要なプログラムやデータの記憶されたＲＯＭ、ＣＰＵの演算結果が一時的に記憶されるＲＡＭ、外部との間で信号を入・出力するための入・出力ポート等を備えて構成されている。
【００３３】
エンジン制御用コンピュータ１１には、上述したクランクポジションセンサ１４及びカムポジションセンサ１６が接続されるほか、更に以下のセンサを含む各種センサが接続されている。
【００３４】
・自動車の運転者によって踏み込み操作されるアクセルペダルの踏み込み量（アクセル踏込量）を検出するアクセルポジションセンサ２１。
・エンジン１の吸気通路４に設けられたスロットルバルブの開度（スロットル開度）を検出するスロットルポジションセンサ２２。
【００３５】
・上記吸気通路４を通じて燃焼室２に吸入される空気の量を検出するエアフローメータ２３。
・「オフ」、［アクセサリ］、「オン」、及び、「スタート」といった四つの切換位置のいずれかに切り換え操作され、現在の切換位置に対応した信号を出力するイグニッションスイッチ２４。
【００３６】
また、エンジン制御用コンピュータ１１には電動機１０を駆動するための電動機駆動ドライバ１２が接続されており、この電動機駆動ドライバ１２には上述した第１〜第３の回転センサ１８〜２０が接続されている。エンジン制御用コンピュータ１１は、電動機駆動ドライバ１２に対し指令信号を出力することで電動機１０を駆動制御する。一方、電動機駆動ドライバ１２は、第１〜第３の回転センサ１８〜２０からの図４（ｃ）〜（ｅ）に示されるような信号を入力すると、それら各信号をエンジン制御用コンピュータ１１に出力する。
【００３７】
エンジン制御用コンピュータ１１は、上記各種センサから入力した検出信号に基づきエンジン運転状態を把握する。そして、その把握したエンジン運転状態に応じて燃料噴射弁３、点火プラグ５、及び、電動機１０を駆動することで、燃料噴射弁３からの燃料噴射の制御、及び、点火プラグ５の点火時期の制御、吸気バルブのバルブタイミング制御が行われる。なお、吸気バルブのバルブタイミング制御を行うべく電動機１０を駆動制御する際には、上記回転センサ１８〜２０からの各信号に基づき現在の電動機１０の駆動状態、すなわち出力軸１０ａの回転速度や回転位置などが把握され、その現在の駆動状態を加味しつつ電動機１０の駆動が行われる。このように電動機１０を駆動する際に現在の電動機１０の駆動状態を加味するのは、その電動機１０の駆動を的確に行うためである。
【００３８】
エンジン１の各種運転制御のうち、燃料噴射制御や点火制御といったエンジン１の運転制御については、エンジン１のクランク角に基づき燃料噴射及び点火を行うことによって実現される。このため、エンジン１での燃料噴射及び点火を行うには、エンジン１のクランク角を把握しておく必要がある。そして、クランク角を把握する際には、クランク信号に基づきインクリメントされるカウンタが用いられることとなる。このカウンタは、クランク角０°を基準として突起１３ａに対応したクランク信号の出力毎にインクリメント（「１」加算）される。なお、欠歯１３ｂに対応したクランク信号の出力時に限っては、同クランク信号が突起１３ａに対応したクランク信号三つ分に相当することから、カウンタに「３」が加算される。そして、カウンタがクランク角０°から始まるエンジン１の１サイクルが終了したときのクランク角に対応した値、すなわち「７２（７２０°ＣＡ）」になったときには、同カウンタが「０」に戻される。従って、０〜７２０°ＣＡの間にはカウンタがクランク角１０°毎に「１」ずつ増加し、そのカウンタに基づいてクランク角を把握することが可能になる。
【００３９】
次に、エンジン１の始動及び停止について説明する。
通常、エンジン１の始動及び停止は、イグニッションスイッチ２４の操作に基づき、エンジン制御用コンピュータ１１によるスタータ２５の駆動制御、並びに、燃料噴射及び点火の制御を通じて行われる。
【００４０】
すなわち、エンジン停止中、自動車の乗員によりイグニッションスイッチ２４が「オフ」から「アクセサリ」、「オン」、「スタート」へと順次切り換えられると、同スイッチ２４が「スタート」に切り換えられた時点でエンジン１の始動指令がなされ、スタータ２５の駆動を通じてエンジン１のクランキングが開始される。そして、クランキング中に、燃焼室２への燃料と空気との供給、及び、それら燃料と空気とからなる混合気への点火が行われることで、エンジン１の自立運転が開始される。エンジン１の自立運転開始後は、イグニッションスイッチ２４が「オン」に操作され、スタータ２５の駆動によるクランキングが停止される。
【００４１】
また、エンジン運転中、自動車の乗員によりイグニッションスイッチ２４が「オン」から、「アクセサリ」、「オフ」へと順次切り換えられると、同スイッチ２４が「アクセサリ」に切り換えられた時点で燃料噴射弁３からの燃料噴射、及び、点火プラグ５による点火が停止され、混合気の燃焼が行われなくなってエンジン１が停止開始される。なお、上記イグニッションスイッチ２４の「オン」から「アクセサリ」への切り換えは通常、アイドル運転中に行われることから、上記のようにエンジン１が停止開始された後には、エンジン回転速度が圧縮行程での燃焼室２内の圧力等による回転抵抗によってアイドル回転速度から徐々に低下してゆく。そして、最終的には、上記燃焼室２内の圧力によってエンジン１が一旦逆回転し、その後にエンジン回転が停止することとなる。
【００４２】
ところで、エンジン１の始動性を向上させるには、始動開始後のクランク角の把握を可能な限り早く行い、クランク角に基づく燃料噴射及び点火を始動開始後のできる限り早い時期に開始することが好ましい。このため、エンジン１の運転終了時（クランクシャフト６の停止時）のカウンタのカウント値をエンジン制御用コンピュータ１１に設けられた不揮発性のＲＡＭに記憶しておき、次回のエンジン始動開始時に当該記憶されたカウント値をカウンタの初期値とすることが考えられる。この場合、上記カウント値がエンジン停止を間においたエンジン運転間で引き継がれることになる。このため、エンジン始動開始後に直ちにカウンタに基づきクランク角を把握することができ、当該クランク角に基づき燃料噴射及び点火を始動開始後の早期に開始することが可能になる。
【００４３】
ただし、エンジン１の運転中からの停止に際しては、エンジン１が一旦逆回転した後に停止するため、上記逆回転の発生後には実クランク角が小となってゆくのに対しカウンタがクランク信号出力毎に加算されてゆき、それらカウンタと実クランク角との間にずれが生じる。そして、そのずれへの対策を講じないと、クランクシャフト停止時のカウンタのカウント値が実クランク角に対応しなくなる。ここで、上記対策を講じるにはエンジン１での逆回転発生を検出する必要があり、こうした逆回転発生の検出として、例えば［背景技術］の欄に記載した検出の仕方を採用することが考えられる。しかし、［背景技術］の欄に記載した逆回転の検出では、逆回転発生の検出を発生後に速やかに行おうとすると、新たにクランクポジションセンサを追加しなければならず、そのための手間やコストアップは避けられないという問題がある。
【００４４】
そこで本実施形態では、第１〜第３の回転センサ１８〜２０からの信号を利用してエンジン１の逆回転発生を検出することで、その検出を実際の逆回転発生後に速やかに行えるようにする。また、この逆回転発生の検出では、バルブタイミング可変機構９の電動機１０を駆動制御するのに用いるべく当該電動機１０に設けられた第１〜第３の回転センサ１８〜２０という既存の部品を利用しているため、新たなセンサを設けることなく逆回転発生を検出することが可能になる。
【００４５】
次に、第１〜第３の回転センサ１８〜２０からの信号を利用したエンジン１の逆回転の検出について、図４のタイミングチャートを参照して詳しく説明する。
このタイミングチャートの横軸は、エンジン１の正回転時におけるクランク角の変化を表している。このクランク角は、図４（ａ）に示されるクランク信号、及び、図４（ｂ）に示されるカム信号に基づき確定される。
【００４６】
また、クランク角の変化に対する第１〜第３の回転センサ１８〜２０からの信号の出力パターンは、上述したように図４（ｃ）〜（ｅ）に示されるようなものになる。この図から分かるように、上記各回転センサ１８〜２０の信号は、クランク角９０°毎に立ち上がりと立ち下がりを繰り返し、互いにクランク角６０°分ずれた状態となる。これは上記各回転センサ１８〜２０が電動機ロータ１７の周囲に等間隔に設けられているためである。以上のことから、上記信号の立ち上がり及び立ち下がりは、回転センサ毎に異なるタイミング、より詳しくはクランク角３０°毎という比較的短い間隔毎に生じる。従って、エンジン正回転時における各回転センサ１８〜２０からの信号の出力パターンについては、同信号の立ち上がり及び立ち下がりがそれぞれ異なるタイミングで生じるというパターン、言い換えればクランク角３０°毎という比較的短い間隔で上記立ち上がり及び立ち下がりが生じるというパターンになる。
【００４７】
エンジン正回転時における各回転センサ１８〜２０からの信号の理論上の立ち上がりタイミング及び立ち下がりタイミングについては、クランク信号に基づき判別することができる。すなわち、本実施形態の場合には、クランク角が０°、３０°、６０°・・・と３０°進む毎に上記立ち上がり及び立ち下がりが生じ、このタイミングを上記理論上の立ち上がり及び立ち下がりのタイミングと判別することができる。そして、エンジン正回転時には、それらのタイミングがきたときに、上記信号の実際の立ち上がり及び立ち下がりが生じることとなる。
【００４８】
ここで、例えばクランク角３１５°でエンジン１の逆回転が開始された場合を例に、エンジン１の逆回転について考えてみる。
エンジン１が正回転してクランク角３１５°になったとき、同エンジン１が逆回転したとすると、それ以後のクランク信号の出力パターン及び各回転センサ１８〜２０からの信号の出力パターンは、クランク角３１５°前の各出力パターンを図中の破線Ｌ１を中心に反転させたパターンとなる。
【００４９】
クランク信号は、正回転時には等間隔毎（クランク角１０°毎）に出力されるものであるため、上記逆回転に伴いクランク信号の出力パターンが破線Ｌ１を中心に反転したとしても、その出力パターンは正回転時とほとんど変わらない。このため、逆回転後も正回転と同じようにクランク信号に基づき現在のクランク角が確定され、当該確定されたクランク角について０°３０ＣＡ、°ＣＡ、６０°ＣＡ・・・となる時点が、各回転センサ１８〜２０からの信号の理論上の立ち上がりタイミング及び立ち下がりタイミングであると判別される。
【００５０】
一方、各回転センサ１８〜２０からの信号の出力パターンには、正回転から逆回転への移行に伴い図５のタイミングチャートに示されるような変化が生じる。同図５において、（ａ）〜（ｃ）は正回転時における第１〜第３の回転センサからの信号の出力パターンを示している。そして、クランク角３１５°にてエンジン１が逆回転すると、それ以後の上記信号の出力パターンは、電動機ロータ１７の逆回転に伴って図５（ｄ）〜（ｆ）に示されるような出力パターン、すなわちクランク角３１５°前の出力パターンを図中の破線Ｌ１を中心に反転させた出力パターンとなる。
【００５１】
この実施形態では、第１〜第３の回転センサ１８〜２０からの信号の出力パターンがエンジン１の逆回転に伴い正回転時の出力パターンと異なるものになると、そのことに基づきエンジン１の逆回転が発生していることを検出する。
【００５２】
上記信号の立ち上がり及び立ち下がりは、エンジン１の正回転時、クランク角３０°毎という比較的短い間隔で生じている。このため、エンジン１の逆回転が生じると、それに伴い上記信号の立ち上がり及び立ち下がりのタイミングが正回転時と異なるようになるという、上記信号の出力パターンの変化が速やかに生じる。従って、当該出力パターンの変化に基づき逆回転発生を速やかに検出することができる。
【００５３】
なお、上記出力パターンの変化に基づく逆回転の検出は、より具体的には、図６のフローチャートに示される手順に従って以下のように行われる。
すなわち、上述したようにエンジン１の正回転時と逆回転時とのいずれの場合であれ、クランク角の確定はクランク信号に基づいて行われ、当該クランク角について０°ＣＡ、３０°ＣＡ、６０°ＣＡ・・・となる時点が、各回転センサ１８〜２０からの信号の理論上の立ち上がりタイミング及び立ち下がりタイミングであると判別される（Ｓ１０１）。
【００５４】
ここで、例えばクランク角３１５°でエンジン１の逆回転が生じたとすると、クランク信号に基づき確定されたクランク角が３３０°になった時点が、各回転センサ１８〜２０からの信号の理論上の立ち上がり及び立ち下がりのタイミングであると判別される。そして、エンジン正回転時には、上記のように判別されたタイミング（３３０°ＣＡ）がくると、対応する信号の立ち上がり又は立ち下がり（この場合は第１の回転センサ１８からの信号の立ち下がり（図５（ａ）参照））が実際に生じる。しかし、エンジン１が逆回転している場合には、各回転センサ１８〜２０からの信号の出力パターンは正回転時の状態から変化するため、上記タイミング（３３０°ＣＡ）がきても、対応する信号の立ち上がり又は立ち下がりは生じない（図５（ｄ）参照）。
【００５５】
こうした現象の有無は、上記タイミングがきたとき（Ｓ１０２：ＹＥＳ）、対応する信号の立ち上がり又は立ち下がりが実際に生じているか否か（Ｓ１０３）によって判断される。すなわち、このタイミングにおいて、上記対応する信号の立ち上がり又は立ち下がりが実際に生じていない場合には（Ｓ１０３：ＹＥＳ）、上述した現象が発生していることになる。そして、その現象が発生していることに基づき、エンジン１の逆回転が発生していることが検出される（Ｓ１０４）。
【００５６】
以上のような各回転センサ１８〜２０からの信号の出力パターンを利用した逆回転の検出は、電動機駆動ドライバ１２を通じて行われる。そして、エンジン１の逆回転発生が検出されたときには電動機駆動ドライバ１２からエンジン制御用コンピュータ１１に図５（ｇ）に示されるように逆回転信号「Ｈｉ」が出力される。また、エンジン１の逆回転発生が検出されていないときには、電動機駆動ドライバ１２からエンジン制御用コンピュータ１１に正回転信号「Ｌｏ」が出力される。
【００５７】
次に、エンジン１での逆回転発生後に生じるカウンタと実クランク角とのずれの対策について、カウンタ算出ルーチンを示す図７のフローチャートを参照して説明する。このカウンタ算出ルーチンは、エンジン制御用コンピュータ１１を通じて、クランク信号の出力毎に実行される。
【００５８】
同ルーチンでは、クランク角を把握するのに用いられるカウンタＣの加減算が行われる。そして、エンジン制御用コンピュータ１１は、同ルーチンの実行を通じて加減算される毎にカウンタＣのカウント値を不揮発性のＲＡＭに記憶しておき、エンジン停止後の次回のエンジン始動開始時には上記不揮発性のＲＡＭに記憶されたカウント値をカウンタＣの初期値として設定する。これにより、エンジン１の運転が終了したときには、クランクシャフト停止時のカウンタＣのカウント値が記憶され、次回のエンジン始動開始時には当該カウント値を初期値としてカウンタＣの加算が開始されることになる。
【００５９】
同ルーチンにおいては、まず電動機駆動ドライバ１２から逆回転信号「Ｈｉ」が出力されているか否かに基づき、エンジン１の逆回転発生が検出されているか否かが判断される（Ｓ２０１）。
【００６０】
ここで否定判定であって逆回転発生が検出されていない旨判断されると、クランク角を把握するのに用いられるカウンタＣを加算するための処理（Ｓ２０２〜Ｓ２０４）が行われる。すなわち、ステップＳ２０２では、カウンタＣが「１８」、「５４」以外であるか否かが判断される。ここで肯定判定であれば、エンジン１の正回転時に突起１３ａに基づくクランク信号が出力されている状況ということになり、ステップＳ２０３に進んでカウンタＣがインクリメント（「１」加算）される。また、ステップＳ２０２で否定判定であれば、エンジン１の正回転時に欠歯１３ｂに基づくクランク信号が出力されている状況ということになり、この場合に限ってはステップＳ２０４に進んでカウンタＣが「３」加算される。このカウンタＣは、上記加算処理を通じて「７２（７２０°ＣＡ）」になったとき（Ｓ２１２：ＹＥＳ）、「０」に戻されることとなる（Ｓ２１３）。
【００６１】
一方、ステップＳ２０１で肯定判定であって逆回転発生が検出されている旨判断されると、逆回転発生後のカウンタＣと実クランク角とのずれへの対策として、ステップＳ２０５〜Ｓ２０８の処理が実行される。すなわち、ステップＳ２０５では、カウンタＣが「２１」、「５７」以外であるか否かが判断される。ここで肯定判定であれば、エンジン１の逆回転時に突起１３ａに基づくクランク信号が出力されている状況ということになり、ステップＳ２０６に進んでカウンタＣがデクリメント（「１」減算）される。また、ステップＳ２０５で否定判定であれば、エンジン１の逆回転時に欠歯１３ｂに基づくクランク信号が出力されている状況ということになり、この場合に限ってはステップＳ２０７に進んでカウンタＣが「３」減算される。これは欠歯１３ｂに対応するクランク信号が突起１３ａに対応するクランク信号三つ分に相当するためである。
【００６２】
このようにエンジン１での逆回転発生が検出された後には、クランク角が１０°進む毎にカウンタＣが「１」ずつ減少する。このため、逆回転発生の検出後にはクランク信号の出力毎に小となってゆく実クランク角に合わせて、カウンタＣをクランク信号の出力毎に減少させることが可能になる。
【００６３】
ただし、実際に逆回転が発生してから当該逆回転発生を検出するのにある程度の時間がかかり、それら逆回転発生と当該逆回転発生の検出との時差（タイミングのずれ）に起因してカウンタＣのデクリメント開始が遅れてしまう。例えば、図５の例では３１５°ＣＡで逆回転が発生したとしても、当該逆回転の発生を検出できるのは３３０°ＣＡであって、３１５〜３３０°ＣＡの間が上記時差に対応する期間ということになる。この期間中は、逆回転状態にあるにもかかわらずカウンタＣがクランク信号の出力毎にインクリメントされるため、カウンタＣと実クランク角との間にずれが生じることは避けられない。そして、このずれがクランクシャフト停止に至るまで残ったままとなり、クランクシャフト停止時のカウンタＣを実クランク角に対応させることが困難になる。
【００６４】
そして、クランクシャフト停止時のカウンタＣのカウント値が実クランク角に対応していないまま記憶され、次回のエンジン始動開始時のカウンタＣの初期値として用いられると、その始動開始後にカウンタＣに基づいて把握されるクランク角が誤ったものとなる。その結果、エンジン始動開始後の初回の燃料噴射及び点火を的確なタイミング（クランク角）で実施できず、エンジン１の始動性を向上させることができなくなる。
【００６５】
そこで本実施形態では、ステップＳ２０８（図７）の処理として、エンジン１での実際の逆回転発生と当該逆回転発生の検出との時差（タイミングのずれ）に起因するカウンタＣと実クランク角とのずれに対応した減算値Ｙを算出し、その減算値Ｙの分だけカウンタＣを減算するカウンタ減算処理を実行する。このカウンタ減算処理を通じて、上記時差に起因するカウンタＣと実クランク角とのずれを解消し、カウンタＣの実クランク角への対応を図ることで、エンジン１の停止過程で逆回転が生じたとしても、クランクシャフト停止時のカウンタＣを的確に実クランク角に対応させることができる。従って、上記エンジン始動開始時にカウンタＣに基づき把握されるクランク角を正確なものとすることができ、その始動開始後の早期に初回の燃料噴射及び点火を的確なタイミング（クランク角）にて実行し、エンジン１の始動性向上を図ることができるようになる。
【００６６】
以上のようなステップＳ２０５〜Ｓ２０８でのカウンタＣの減算を行った後、カウンタＣのカウント値が「０」未満になっていれば（Ｓ２０９：ＹＥＳ）、「Ｃ←７２＋Ｃ」という式を通じてカウンタＣのカウント値が正の値へと変換される（Ｓ２１０）。
【００６７】
次に、上記カウンタ減算処理（Ｓ２０８）の概要について説明する。
このカウンタ減算処理で用いられる減算値Ｙは、逆回転発生の検出直前に信号の理論上の立ち上がりタイミング及び立ち下がりタイミングを迎えた回転センサについて、同センサからの信号が上記タイミング以降に立ち上がりと立ち下がりとの間で変化するまでの期間（以下、出力回数判定期間という）のクランク信号の出力回数Ｘに基づき算出される。
【００６８】
ここで、エンジン１での逆回転発生の有無の判断は、各回転センサ１８〜２０からの信号の理論上の立ち上がりタイミング及び立ち下がりタイミング毎、すなわち０°ＣＡ、３０°ＣＡ、６０°ＣＡ・・・・・といったクランク角３０°毎に行われる。また、各回転センサ１８〜２０の信号における逆回転発生後の出力パターンは、当該逆回転発生前のパターンを逆回転発生時点を中心として反転させたパターンとなる。このため、逆回転発生の検出直前に信号の理論上の立ち上がりタイミング及び立ち下がりタイミングを迎えた回転センサについては、逆回転発生直後に信号の立ち上がりと立ち下がりとの間での変化が生じることになる。そして、上記回転センサにおける逆回転発生検出前の信号の理論上の立ち上がりタイミング及び立ち下がりタイミングから、逆回転発生後に同信号の立ち上がりと立ち下がりとの間で変化が生じるまでの期間（出力回数判定期間）は次のような傾向を有する。すなわち、逆回転発生のタイミングが同信号における次回の理論上の立ち上がりタイミング又は立ち下がりタイミング、言い換えれば次回の逆回転発生の有無の判断時点に近いほど長くなり、逆に遠い（判断時点よりも早い）ほど短くなる。また、この出力回数判定期間が長くなるほど、当該期間中でのクランク信号の出力回数は多くなる。
【００６９】
従って、上記クランク信号の出力回数Ｘが少なくなるほど、実際の逆回転発生から当該逆回転発生の検出までの期間は長くなり、逆回転が発生しているのにカウンタＣがインクリメントされるという期間も長くなって、同カウンタＣと実クランク角とのずれが大きくなる。逆に、上記クランク信号の出力回数Ｘが多くなるほど、実際の逆回転発生から当該逆回転発生の検出までの期間は短くなり、逆回転が発生しているのにカウンタＣがインクリメントされるという期間も短くなって、同カウンタＣと実クランク角とのずれが小さくなる。
【００７０】
しかし、同カウンタＣと実クランク角とのずれを解消すべくカウンタＣを減算するための減算値Ｙは、当該ずれの大きさに関係するパラメータである上記クランク信号の出力回数Ｘに基づき算出される。従って、この減算値Ｙの分だけカウンタＣを減算することで、同カウンタＣと実クランク角とのずれを的確に解消し、クランクシャフト停止時のカウンタＣを実クランク角度に的確に対応させることができるようになる。
【００７１】
なお、上記ずれを解消可能な減算値Ｙは、逆回転発生時における欠歯１３ｂのクランクポジションセンサ１４に対する相対位置から影響を受ける。このため、減算値Ｙの算出については、以下の［１］〜［３］に示される場合に分けて各々異なる態様で行われることとなる。
【００７２】
［１］欠歯１３ｂから離れた位置の突起１３ａに対応するクランク信号が出力されているときに逆回転が発生した場合。
［２］欠歯１３ｂに対応したクランク信号が出力されているときに逆回転が発生した場合。
【００７３】
［３］欠歯１３ｂの直後に位置する突起１３ａに対応するクランク信号が出力されているときに逆回転が発生した場合。
次に、上記［１］〜［３］の各状況毎の減算値Ｙの算出手順について、図８〜図２１を参照して詳しく説明する。
【００７４】
これらの図のうち、図８〜図１３は上記［１］の状況に対応しており、図１４及び図１５は上記［２］の状況に対応しており、図１６〜図２１は上記［３］の状況に対応している。そして、これら図８〜図２１において、（ａ）はエンジン正回転時のクランク信号の出力パターンを示し、（ｂ）は破線のタイミングでエンジン逆回転が発生した場合のクランク信号の出力パターンを示している。また、図８〜図２１の（Ｃ）は、逆回転発生の検出直前に信号の理論上の立ち上がり及び立ち下がりタイミングを迎える回転センサからの信号の出力パターンを示している。以下、［１］〜［３］の各状況毎に減算値Ｙの算出手順について説明する。
【００７５】
・上記［１］の状況での減算値Ｙの算出
こうした［１］の状況としては、例えばクランク角が３００〜３３０°となる期間にあるときに逆回転が発生するという状況があげられる。この期間においては、３００°ＣＡにて第３の回転センサ２０からの信号の理論上の立ち上がりタイミングを迎え、３３０°ＣＡにて同信号の理論上の立ち下がりタイミングを迎えることとなる。そして、実際の逆回転発生から当該逆回転発生の検出までの期間、言い換えれば当該期間中のクランク信号の出力回数Ｘは、３００〜３３０°ＣＡの間のいずれのタイミングで逆回転が発生するかによって変わってくる。
【００７６】
クランク角３００〜３０５°の間で逆回転が発生した場合（図８）、逆回転発生後のクランク信号の出力パターンは、図８（ｂ）に示されるように同クランク信号の逆回転発生前の出力パターンを図中の破線を中心として反転させたパターンとなる。また、上記逆回転発生直前である３００°ＣＡには第３の回転センサ２０からの信号の立ち上がりが生じる。この第３の回転センサ２０からの信号の逆回転発生直後の出力パターンも、同信号の逆回転発生前の出力パターンを上記破線を中心として反転させたパターンとなる。このため、逆回転発生直後には第３の回転センサ２０からの信号の立ち下がりが生じる。
【００７７】
上記のように逆回転が発生した場合、次回に逆回転発生の有無を判断するタイミング（Ｃ＝３３となるタイミング）まで、実クランク角は逆回転発生後のクランク信号出力毎に２９０°、２８０°、２７０°と小さくなってゆくのに対し、カウンタＣはクランク信号の出力毎にインクリメントされて「３１」、「３２」、「３３」と増加することになる。そして、カウンタＣが「３３」になった時点で逆回転発生が検出され、以降はカウンタＣがクランク信号出力毎にデクリメントされる。このため、逆回転発生の検出後、初回のクランク信号の出力時にカウンタＣは「３３」から「１」だけ減算されて「３２」となる。しかし、このときの実クランク角は２６０°であるため、カウンタＣは、本来ならば２６０°ＣＡに対応した値である「２６」になるべきであり、その値に対し「６」だけずれていることになる。
【００７８】
こうしたカウンタＣと実クランク角との間のずれは、実際の逆回転発生と当該逆回転発生の検出との時差（タイミングのずれ）に起因しており、その時差が大となるほど大きくなる。そして、この時差については、逆回転発生直前での第３の回転センサ２０の信号における理論上の立ち上がりタイミング（３００°ＣＡ）から同信号の次回の立ち下がりまでの期間（出力回数判定期間）に対応しており、この出力回数判定期間が短くなるほど大になるという傾向を有している。更に、上記出力回数判定期間の長さについては、当該期間中のクランク信号の出力回数Ｘが多くなるほど長くなる。従って、出力回数Ｘは、上記カウンタＣと実クランク角とのずれに対応したパラメータということになり、この場合は「１」という値をとるようになる。
【００７９】
そして、出力回数Ｘに基づきカウンタＣと実クランク角とのずれ（この場合は「６」）に対応した減算値Ｙの算出が行われる。具体的には、出力回数Ｘとして「１」を用い、「Ｙ＝７−Ｘ」という式に基づき減算値Ｙが算出される。こうして算出された減算値Ｙは「６」となり、同減算値Ｙの分だけカウンタＣを減算することで、カウンタＣが「２６」になって実クランク角（２６０°ＣＡ）とのずれが解消され、同カウンタＣの実クランク角への対応が図られる。
【００８０】
なお、図９〜図１３では各々、逆回転発生のタイミング（図中破線）が３０５〜３１０°の間、３１０〜３１５°の間、３１５〜３２０°の間、３２０〜３２５°の間、及び、３２５〜３３０°の間となった場合のクランク信号の出力パターン（図中（ｂ））、及び、第３の回転センサ２０の出力パターン（図中（ｃ））を表している。
【００８１】
これらの図から分かるように、実際の逆回転発生と当該逆回転発生の検出との時差については、逆回転発生のタイミングが第３の回転センサ２０からの信号の次回の理論上の立ち下がりタイミング（Ｃ＝３３となるタイミング）、言い換えれば次回の逆回転発生の有無の判断時点に近いほど長くなり、逆に遠い（判断時点よりも早い）ほど短くなる。また、それに対応して、逆回転発生のタイミングが「Ｃ＝３３」となるタイミングに近くなるほど、出力回数判定期間が長くなって出力回数Ｘが多くなってゆく。より詳しくは、逆回転発生のタイミングが３０５〜３１０°の間、３１０〜３１５°の間、３１５〜３２０°の間、３２０〜３２５°の間、３２５〜３３０°の間と変化するにつれて、出力回数Ｘが「２」、「３」、「４」、「５」、「６」と増加してゆく。そして、この出力回数Ｘを用いて「Ｙ＝７−Ｘ」という式に基づき減算値Ｙを算出し、出力回数判定期間終了直後のカウンタＣから上記減算値Ｙを減算することにより、３００〜３０５°の間で逆回転が発生した場合と同様に、カウンタＣと実クランク角とのずれが解消され、同カウンタＣの実クランク角への対応が図られる。
【００８２】
・上記［２］の状況下での減算値Ｙの算出
こうした［２］の状況としては、例えばクランク角が１８０〜２１０°となる期間にあるときに逆回転が発生するという状況があげられる。この期間においては、１８０°ＣＡにて第２の回転センサ１９からの信号の理論上の立ち上がりタイミングを迎え、２１０°ＣＡにて同信号の理論上の立ち下がりタイミングを迎えることとなる。そして、実際の逆回転発生から当該逆回転の検出までの期間、言い換えれば当該期間中のクランク信号の出力回数Ｘは、１８０〜２１０°ＣＡの間のいずれのタイミングで逆回転が発生するかによって変わってくる。
【００８３】
クランク角１８０〜１９５°の間で逆回転が発生した場合（図１４）、逆回転発生後のクランク信号の出力パターンは、図１４（ｂ）に示されるように同クランク信号の逆回転発生前の出力パターンを図中の破線を中心として反転させたパターンとなる。また、上記逆回転発生直前である１８０°ＣＡには第２の回転センサ１９からの信号の立ち上がりが生じる。この第２の回転センサ１９からの信号の逆回転発生直後の出力パターンも、同信号の逆回転発生前の出力パターンを上記破線を中心として反転させたパターンとなる。このため、逆回転発生直後には第２の回転センサ１９からの信号の立ち下がりが生じる。
【００８４】
上記のように逆回転が発生した場合、カウンタＣが「１８」となった状態でエンジン１が逆回転し、その後の最初のクランク信号出力が突起１３ａに対応したものであるのに欠歯１３ｂに対応したものと見なされてカウンタＣが「３」加算される。このとき、実際のクランク角は逆回転に伴い１８０°から１７０°へと小さくなるのに対し、カウンタＣは「１８」から「２１」へと増加することになる。そして、カウンタＣが「２１」になると、逆回転発生の有無が判断されてエンジン１での逆回転の発生が検出され、以降はカウンタＣがクランク信号出力毎にデクリメントされる。このため、逆回転発生の検出後、初回のクランク信号の出力時にカウンタＣは「２１」から「１」だけ減算されて「２０」となる。しかし、このときの実クランク角は１７０°から１６０°へと変化しており、カウンタＣは、本来ならば１６０°ＣＡに対応した値である「１６」になるべきであり、その値に対し「４」だけずれていることになる。
【００８５】
こうしたカウンタＣと実クランク角との間のずれは、実際の逆回転発生と当該逆回転発生の検出との時差（タイミングのずれ）に起因しており、その時差が大となるほど大きくなる。そして、この時差については、逆回転発生直前での第２の回転センサ１９の信号における理論上の立ち上がりタイミング（１８０°ＣＡ）から同信号の次回の立ち下がりまでの期間（出力回数判定期間）に対応しており、この出力回数判定期間が短くなるほど大になるという傾向を有している。更に、上記出力回数判定期間の長さについては、当該期間中のクランク信号の出力回数Ｘが多くなるほど長くなる。従って、出力回数Ｘは、上記カウンタＣと実クランク角とのずれに対応したパラメータということになり、この場合は「１」という値をとるようになる。
【００８６】
そして、出力回数Ｘに基づきカウンタＣと実クランク角とのずれ（この場合は「４」）に対応した減算値Ｙの算出が行われる。具体的には、出力回数Ｘとして「１」を用い、「Ｙ＝５−Ｘ」という式に基づき減算値Ｙが算出される。こうして算出された減算値Ｙは「４」となり、同減算値Ｙの分だけカウンタＣを減算することで、カウンタＣが「１６」になって実クランク角（１６０°ＣＡ）とのずれが解消され、同カウンタＣの実クランク角への対応が図られる。
【００８７】
なお、図１５では、逆回転発生のタイミング（図中破線）が１９５〜２１０°の間となった場合のクランク信号の出力パターン（図中（ｂ））、及び、第２の回転センサ１９の出力パターン（図中（ｃ））を表している。
【００８８】
この図から分かるように、実際の逆回転発生と当該逆回転発生の検出との時差については、逆回転発生のタイミングが第２の回転センサ１９からの信号の次回の理論上の立ち下がりタイミング（Ｃ＝２１となるタイミング）、言い換えれば次回の逆回転発生の有無の判断時点に近いほど長くなる。また、それに対応して、逆回転発生のタイミングが「Ｃ＝２１」となるタイミングに近くなるほど、出力回数判定期間が長くなって出力回数Ｘが多くなる。従って、逆回転発生のタイミングが１９５〜２１０°の間になると、出力回数Ｘが「２」へと増加する。そして、この出力回数Ｘを用いて「Ｙ＝５−Ｘ」という式に基づき減算値Ｙを算出し、出力回数判定期間終了直後のカウンタＣ（「２０」）から上記減算値Ｙを減算することにより、１８０〜１９５°の間で逆回転が発生した場合と同様に、カウンタＣと実クランク角とのずれが解消され、同カウンタＣの実クランク角への対応が図られる。
【００８９】
・上記［３］の状況下での減算値Ｙの算出
こうした［３］の状況としては、例えばクランク角が２１０〜２１５°となる期間にあるときに逆回転が発生するという状況があげられる。この期間においては、２１０°ＣＡにて第３の回転センサ２０からの信号の理論上の立ち下がりタイミングを迎え、２４０°ＣＡにて同信号の理論上の立ち上がりタイミングを迎えることとなる。そして、実際の逆回転発生から当該逆回転の検出までの期間、言い換えれば当該期間中のクランク信号の出力回数Ｘは、２１０〜２４０°ＣＡの間のいずれのタイミングで逆回転が発生するかによって変わってくる。
【００９０】
クランク角２１０〜２１５°の間で逆回転が発生した場合（図１６）、逆回転発生後のクランク信号の出力パターンは、図１６（ｂ）に示されるように同クランク信号の逆回転発生前の出力パターンを図中の破線を中心として反転させたパターンとなる。また、上記逆回転発生直前である２１０°ＣＡには第３の回転センサ２０からの信号の立ち下がりが生じる。この第３の回転センサ２０からの信号の逆回転発生直後の出力パターンも、同信号の逆回転発生前の出力パターンを上記破線を中心として反転させたパターンとなる。このため、逆回転発生直後には第３の回転センサ２０からの信号の立ち上がりが生じる。
【００９１】
上記のように逆回転が発生した場合、カウンタＣが「２１」となった状態でエンジン１が逆回転し、その後の最初のクランク信号出力が欠歯１３ｂに対応したものであるのに突起１３ａに対応したものと見なされてカウンタＣがインクリメント（「１」加算）される。このとき実際のクランク角は逆回転に伴い２１０°から１８０°へと小さくなるのに対し、カウンタＣは「２１」から「２２」へと増加することになる。その後、次回に逆回転発生の有無を判断するタイミング（Ｃ＝２４となるタイミング）まで、実クランク角はクランク信号出力毎に１７０°、１６０°と小さくなってゆくのに対し、カウンタＣはクランク信号の出力毎にインクリメントされて「２３」、「２４」と増加する。そして、カウンタＣが「２４」になった時点で逆回転発生が検出され、以降はカウンタＣがクランク信号出力毎にデクリメントされる。このため、逆回転発生の検出後、初回のクランク信号の出力時にカウンタＣは「２４」から「１」だけ減算されて「２３」となる。しかし、このときの実クランク角は１５０°であるため、カウンタＣは、本来ならば１５０°ＣＡに対応した値である「１５」になるべきであり、その値に対し「８」だけずれていることになる。
【００９２】
こうしたカウンタＣと実クランク角との間のずれは、実際の逆回転発生と当該逆回転発生の検出との時差（タイミングのずれ）に起因しており、その時差が大となるほど大きくなる。そして、この時差については、逆回転発生直前での第３の回転センサ２０の信号における理論上の立ち下がりタイミング（２１０°ＣＡ）から同信号の次回の立ち上がりまでの期間（出力回数判定期間）に対応しており、この出力回数判定期間が短くなるほど大になるという傾向を有している。更に、上記出力回数判定期間の長さについては、当該期間中のクランク信号の出力回数Ｘが多くなるほど長くなる。従って、出力回数Ｘは、上記カウンタＣと実クランク角とのずれに対応したパラメータということになり、この場合は「１」という値をとるようになる。
【００９３】
そして、出力回数Ｘに基づきカウンタＣと実クランク角とのずれ（この場合は「８」）に対応した減算値Ｙの算出が行われる。具体的には、出力回数Ｘとして「１」を用い、「Ｙ＝９−Ｘ」という式に基づき減算値Ｙが算出される。こうして算出された減算値Ｙは「８」となり、同減算値Ｙの分だけカウンタＣを減算することで、カウンタＣが「１５」になって実クランク角（１５０°ＣＡ）とのずれが解消され、同カウンタＣの実クランク角への対応が図られる。
【００９４】
なお、図１７〜図２１では各々、逆回転発生のタイミング（図中破線）が２１５〜２２０°の間、２２０〜２２５°の間、２２５〜２３０°の間、２３０〜２３５°の間、及び、２３５〜２４０°の間となった場合のクランク信号の出力パターン（図中（ｂ））、及び、第３の回転センサ２０の出力パターン（図中（ｃ））を表している。
【００９５】
これらの図から分かるように、実際の逆回転発生と当該逆回転発生の検出との時差については、逆回転発生のタイミングが第３の回転センサ２０からの信号の次回の理論上の立ち上がりタイミング（Ｃ＝２４となるタイミング）、言い換えれば次回の逆回転発生の有無の判断時点に近いほど長くなり、逆に遠い（判断時点よりも早い）ほど短くなる。また、それに対応して、逆回転発生のタイミングが「Ｃ＝２４」となるタイミングに近くなるほど、出力回数判定期間が長くなって出力回数Ｘが多くなってゆく。より詳しくは、逆回転発生のタイミングが２１５〜２２０°の間、２２０〜２２５°の間、２２５〜２３０°の間、２３０〜２３５°の間、２３５〜２４０°の間と変化するにつれて、出力回数Ｘが「２」、「３」、「４」、「５」、「６」と増加してゆく。そして、この出力回数Ｘを用いて「Ｙ＝９−Ｘ」という式に基づき減算値Ｙを算出し、出力回数判定期間終了直後のカウンタＣから上記減算値Ｙを減算することにより、２１０〜２１５°の間で逆回転が発生した場合と同様に、カウンタＣと実クランク角とのずれが解消され、同カウンタＣの実クランク角への対応が図られる。
【００９６】
次に、カウンタ減算処理（図７のＳ２０８）の詳細な実行手順について、カウンタ減算処理ルーチンを示す図２２のフローチャートを参照して説明する。このカウンタ減算処理ルーチンは、エンジン制御用コンピュータ１１を通じて、図７のカウンタ算出ルーチンにおけるステップＳ２０８に進む毎に実行される。
【００９７】
同ルーチンにおいては、エンジン停止までの間にカウンタ減算処理が既に行われているか否かを判断するためのフラグＦが「０（未完）」であるか否かが判断される（Ｓ３０１）。ここで肯定判定がなされると、逆回転発生直前に信号の理論上の立ち上がりタイミング及び立ち下がりタイミングを迎えた回転センサについて、上記タイミング以降に同センサからの信号の立ち上がりと立ち下がりとの間での変化が生じたか否かが判断される（Ｓ３０２）。そして、ここで肯定判定であれば出力回数判定期間が終わったことになり、その出力回数判定期間中のクランク信号の出力回数Ｘに基づき、上記［１］〜［３］の各状況毎に減算値Ｙを算出するための処理（Ｓ３０３〜３０７）が実行される。
【００９８】
具体的には、逆回転発生検出時のカウンタＣが「２１」または「５７」でないこと（Ｓ３０３：ＹＥＳ）、すなわち上記［２］の状況でないこと、及び、同カウンタＣが「２４」または「５７」でないこと、すなわち上記［３］の状況でないことを条件に、上記［１］の状況である旨判断され、ステップＳ３０５の処理に進む。この処理では、出力回数判定期間中のクランク信号の出力回数Ｘに基づき「Ｙ＝７−Ｘ」という式を用いて減算値Ｙが算出される（Ｓ３０５）。また、逆回転発生時のカウンタＣが「２１」または「５７」であるとき（Ｓ３０３：ＮＯ）、すなわち上記［２］の状況であるときには、出力回数判定期間中のクランク信号の出力回数Ｘを用いて「Ｙ＝５−Ｘ」という式に基づき減算値Ｙが算出される（Ｓ３０６）。更に、逆回転発生時のカウンタＣが「２４」または「６０」であるとき（Ｓ３０４：ＮＯ）、すなわち上記［３］の状況であるときには、出力回数判定期間中のクランク信号の出力回数Ｘを用いて「Ｙ＝９−Ｘ」という式に基づき減算値Ｙが算出される（Ｓ３０７）。
【００９９】
このように減算値Ｙが算出されると、カウンタＣが減算値Ｙだけ減算される（Ｓ３０８）。その後、フラグＦが「１（完了）」に設定され、以降にステップＳ３０２〜Ｓ３０８の処理（カウンタ減算処理）が実施されることはなくなる。なお、フラグＦはエンジン停止時に初期値である「０（未完）」に設定されることとなる。
【０１００】
以上詳述した本実施形態によれば、以下に示す効果が得られるようになる。
（１）エンジン１の停止過程での逆回転発生の検出には、バルブタイミング可変機構９を駆動するための電動機１０に設けられた第１〜第３の回転センサ１８〜２０が利用される。これら回転センサ１８〜２０は、吸気バルブのバルブタイミング制御を行うべく電動機１０を駆動制御するために設けられたものである。このように既存のセンサである第１〜第３の回転センサ１８〜２０を用いてエンジン１の逆回転発生を検出しているため、その逆回転発生の検出のために新たなセンサやロータを設ける必要はない。
【０１０１】
（２）第１〜第３の回転センサ１８〜２０は電動機ロータ１７の周りに等間隔をおいて配設されており、各センサ１８からの信号の立ち上がり及び立ち下がりはエンジン１の正回転時にはクランク角３０°毎という比較的短い間隔で生じる。そして、エンジン１の逆回転時には、それに伴い上記信号の立ち上がり及び立ち下がりのタイミングが正回転時と異なるようになるという、上記信号の出力パターンの変化が速やかに生じる。従って、当該出力パターンの変化に基づき逆回転発生を速やかに検出することができる。
【０１０２】
（３）第１〜第３の回転センサ１８〜２０からの信号の出力パターンが正回転時の状態から変化しているか否かは、クランク信号に基づき判別される上記信号の理論上の立ち上がり及び立ち下がりタイミングにて、実際に同信号の立ち上がり及び立ち下がりが生じているか否かに基づき判断される。逆回転が発生している場合、上記タイミングがきても、対応する信号の立ち上がり及び立ち下がりが実際に生じることはない。このため、上述した判断に基づき、各回転センサ１８〜２０からの信号の出力パターンの正回転時の状態からの変化、言い換えればエンジン１の逆回転発生を的確に検出することができる。
【０１０３】
（４）エンジン１の停止過程で逆回転発生が検出されると、以後はクランク角を把握するためのカウンタＣがクランク信号出力毎にデクリメントされる。このため、逆回転発生の検出後にはクランク信号の出力毎に小となってゆく実クランク角に合わせて、カウンタＣをクランク信号の出力毎に小とすることが可能になる。ただし、実際に逆回転が発生してから当該逆回転発生を検出するまでにある程度の時間がかかり、それら逆回転発生と当該逆回転発生の検出との時差（タイミングのずれ）に起因してカウンタＣのデクリメント開始が遅れてしまう。その結果、上記時差に対応する期間中は、逆回転状態にあるにもかかわらずカウンタＣがインクリメントされ、カウンタＣと実クランク角との間にずれが生じる。しかし、逆回転発生と当該逆回転発生の検出とのタイミングのずれに起因するカウンタＣと実際のクランク角とのずれは、そのずれに対応した値である減算値Ｙの算出、及び、当該減算値Ｙの分のカウンタＣの減算を通じて解消される。こうしたカウンタ減算処理を行うことで、カウンタＣの実クランク角への対応が図られる。このため、エンジン１の運転停止過程で逆回転が生じたとしても、クランクシャフト停止時のカウンタＣを的確に実クランク角に対応させることができる。そして、このときのカウンタＣのカウンタ値は、記憶されて次回のエンジン始動開始時にカウンタＣの初期値として用いられる。従って、上記エンジン始動開始時にカウンタＣに基づき把握されるクランク角を正確なものとすることができ、その始動開始後の早期に初回の燃料噴射及び点火を的確なタイミング（クランク角）にて実行し、エンジンの始動性向上を図ることができるようになる。
【０１０４】
（５）エンジン１での逆回転発生の有無の判断は、各回転センサ１８〜２０からの信号の理論上の立ち上がりタイミング及び立ち下がりタイミング毎に行われる。そして、各回転センサ１８〜２０の信号における逆回転発生後の出力パターンは、当該逆回転発生前のパターンを逆回転発生時点を中心として反転させたパターンとなる。このため、逆回転発生の検出直前に信号の理論上の立ち上がりタイミング及び立ち下がりタイミングを迎えた回転センサについては、逆回転発生直後に信号の立ち上がりと立ち下がりとの間での変化が生じることになる。そして、上記回転センサにおける逆回転発生検出前の信号の理論上の立ち上がりタイミング及び立ち下がりタイミングから、逆回転発生後に同信号の立ち上がりと立ち下がりとの間での変化が生じるまでの期間（出力回数判定期間）は次のような傾向を有する。すなわち、逆回転発生のタイミングが同信号における次回の理論上の立ち上がりタイミング又は立ち下がりタイミング、言い換えれば次回の逆回転発生の有無の判断時点に近いほど長くなり、逆に遠い（判断時点よりも早い）ほど短くなる。そして、この出力回数判定期間が長くなるほど、当該機関中でのクランク信号の出力回数Ｘは多くなる。従って、上記出力回数Ｘが少なくなるほど、実際の逆回転発生から当該逆回転発生の検出までの期間は長くなり、逆回転が発生しているのにカウンタＣがインクリメントされるという期間も長くなって、同カウンタＣと実クランク角のずれが大きくなる。逆に、上記出力回数Ｘが多くなるほど、実際の逆回転発生から当該逆回転発生の検出までの期間は短くなり、逆回転が発生しているのにカウンタＣがインクリメントされるという期間も短くなって、同カウンタＣと実クランク角とのずれが小さくなる。そして、カウンタＣと実クランク角とのずれを解消すべくカウンタＣを減算するための減算値Ｙは、当該ずれの大きさに関連するパラメータである上記出力回数Ｘに基づき算出される。従って、この減算値Ｙの分だけカウンタＣを減算することで、同カウンタＣと実クランク角とのずれを的確に解消し、クランクシャフト停止時のカウンタＣを実クランク各に的確に対応させることができるようになる。
【０１０５】
なお、上記実施形態は、例えば以下のように変更することもできる。
・第１〜第３の回転センサ１８〜２０からの信号の出力パターンが正回転時の状態から変化しているか否かの判断として、上記（３）に記載した判断の仕方以外の仕方を採用することもできる。例えば、あるクランク角での各回転センサ１８〜２０からの信号の状態（「Ｈｉ」か「Ｌｏ」か）をエンジン正回転時の状態と比較し、ここで正回転時の状態と異なっている場合に、上記信号の出力パターンが正回転時の状態から変化していること、言い換えればエンジン１の逆回転が発生していることを検出するようにしてもよい。
【０１０６】
・減算値Ｙを逆回転発生から当該逆回転発生の検出までの期間に対応する値として算出するのに、上記（５）に記載した算出の仕方以外の仕方を採用してもよい。
・クランクシャフトやカムシャフトに連結される回転電機として、バルブタイミング可変機構９の電動機１０を例示したが、本発明はこれに限定されない。例えば、エンジンのクランクシャフトには通常は発電機が連結されるが、この発電機を上記回転電機として用いてもよい。また、ハイブリッド自動車に搭載されるエンジンにおいては、クランクシャフトに同エンジンの回転をアシストする電動機が連結されるが、この電動機を上記回転電機として用いてもよい。
【０１０７】
・クランクポジションセンサ１４及びクランクロータ１３については、必ずしもクランクシャフト６側に設ける必要はなく、例えば排気カムシャフト８側に設けて同シャフト８の回転に基づきクランクシャフト６の回転状態を検出するようにしてもよい。
【図面の簡単な説明】
【０１０８】
【図１】本実施形態の制御装置が適用されるエンジン全体を示す略図。
【図２】クランクロータ及びクランクポジションセンサを拡大して示す略図。
【図３】カムロータ及びカムポジションセンサを拡大して示した略図。
【図４】（ａ）〜（ｅ）は、クランク角が変化したときのクランクポジションセンサからのクランク信号、カムポジションセンサからのカム信号、及び、第１〜第３の回転センサからの信号の波形を示すタイミングチャート。
【図５】（ａ）〜（ｃ）はエンジン正回転時における第１〜第３の回転センサからの信号、（ｄ）〜（ｆ）はエンジン逆回転時における第１〜第３の回転センサからの信号、（ｇ）は電動機駆動ドライバから出力される正逆回転信号の波形をそれぞれ示すタイミングチャート。
【図６】エンジンの逆回転発生を検出する手順を示すフローチャート。
【図７】カウンタの算出手順を示すフローチャート。
【図８】（ａ）は正回転時のクランク信号の出力パターン、（ｂ）は３００〜３０５°ＣＡの間で逆回転が発生した場合のクランク信号の出力パターン、（ｃ）は上記逆回転発生時の第３の回転センサからの信号の出力パターンを示す波形図。
【図９】（ａ）は正回転時のクランク信号の出力パターン、（ｂ）は３０５〜３１０°ＣＡの間で逆回転が発生した場合のクランク信号の出力パターン、（ｃ）は上記逆回転発生時の第３の回転センサからの信号の出力パターンを示す波形図。
【図１０】（ａ）は正回転時のクランク信号の出力パターン、（ｂ）は３１０〜３１５°ＣＡの間で逆回転が発生した場合のクランク信号の出力パターン、（ｃ）は上記逆回転発生時の第３の回転センサからの信号の出力パターンを示す波形図。
【図１１】（ａ）は正回転時のクランク信号の出力パターン、（ｂ）は３１５〜３２０°ＣＡの間で逆回転が発生した場合のクランク信号の出力パターン、（ｃ）は上記逆回転発生時の第３の回転センサからの信号の出力パターンを示す波形図。
【図１２】（ａ）は正回転時のクランク信号の出力パターン、（ｂ）は３２０〜３２５°ＣＡの間で逆回転が発生した場合のクランク信号の出力パターン、（ｃ）は上記逆回転発生時の第３の回転センサからの信号の出力パターンを示す波形図。
【図１３】（ａ）は正回転時のクランク信号の出力パターン、（ｂ）は３２５〜３３０°ＣＡの間で逆回転が発生した場合のクランク信号の出力パターン、（ｃ）は上記逆回転発生時の第３の回転センサからの信号の出力パターンを示す波形図。
【図１４】（ａ）は正回転時のクランク信号の出力パターン、（ｂ）は１８０〜１９５°ＣＡの間で逆回転が発生した場合のクランク信号の出力パターン、（ｃ）は上記逆回転発生時の第３の回転センサからの信号の出力パターンを示す波形図。
【図１５】（ａ）は正回転時のクランク信号の出力パターン、（ｂ）は１９５〜２１０°ＣＡの間で逆回転が発生した場合のクランク信号の出力パターン、（ｃ）は上記逆回転発生時の第３の回転センサからの信号の出力パターンを示す波形図。
【図１６】（ａ）は正回転時のクランク信号の出力パターン、（ｂ）は２１０〜２１５°ＣＡの間で逆回転が発生した場合のクランク信号の出力パターン、（ｃ）は上記逆回転発生時の第３の回転センサからの信号の出力パターンを示す波形図。
【図１７】（ａ）は正回転時のクランク信号の出力パターン、（ｂ）は２１５〜２２０°ＣＡの間で逆回転が発生した場合のクランク信号の出力パターン、（ｃ）は上記逆回転発生時の第３の回転センサからの信号の出力パターンを示す波形図。
【図１８】（ａ）は正回転時のクランク信号の出力パターン、（ｂ）は２２０〜２２５°ＣＡの間で逆回転が発生した場合のクランク信号の出力パターン、（ｃ）は上記逆回転発生時の第３の回転センサからの信号の出力パターンを示す波形図。
【図１９】（ａ）は正回転時のクランク信号の出力パターン、（ｂ）は２２５〜２３０°ＣＡの間で逆回転が発生した場合のクランク信号の出力パターン、（ｃ）は上記逆回転発生時の第３の回転センサからの信号の出力パターンを示す波形図。
【図２０】（ａ）は正回転時のクランク信号の出力パターン、（ｂ）は２３０〜２３５°ＣＡの間で逆回転が発生した場合のクランク信号の出力パターン、（ｃ）は上記逆回転発生時の第３の回転センサからの信号の出力パターンを示す波形図。
【図２１】（ａ）は正回転時のクランク信号の出力パターン、（ｂ）は２３５〜２４０°ＣＡの間で逆回転が発生した場合のクランク信号の出力パターン、（ｃ）は上記逆回転発生時の第３の回転センサからの信号の出力パターンを示す波形図。
【図２２】カウンタ減算処理の実行手順を示すフローチャート。
【符号の説明】
【０１０９】
１…エンジン、２…燃焼室、３…燃料噴射弁、４…吸気通路、５…点火プラグ、６…クランクシャフト、７…吸気カムシャフト、８…排気カムシャフト、９…バルブタイミング可変機構、１０…電動機（回転電機）、１０ａ…出力軸、１１…エンジン制御用コンピュータ（検出手段、デクリメント手段、減算手段、初期値設定手段）、１２…電動機駆動ドライバ（検出手段）、１３…クランクロータ、１３ａ…突起、１３ｂ…欠歯、１４…クランクポジションセンサ、１５…カムロータ、１５ａ〜１５ｃ…突起、１６…カムポジションセンサ、１７…電動機ロータ、１８…第１の回転センサ、１９…第２の回転センサ、２０…第３の回転センサ、２１…アクセルポジションセンサ、２２…スロットルポジションセンサ、２３…エアフローメータ、２４…イグニッションスイッチ、２５…スタータ。
【図１】
2006233914.tif 000003
【図２】
2006233914.tif 000004
【図３】
2006233914.tif 000005
【図４】
2006233914.tif 000006
【図５】
2006233914.tif 000007
【図６】
2006233914.tif 000008
【図７】
2006233914.tif 000009
【図８】
2006233914.tif 000010
【図９】
2006233914.tif 000011
【図１０】
2006233914.tif 000012
【図１１】
2006233914.tif 000013
【図１２】
2006233914.tif 000014
【図１３】
2006233914.tif 000015
【図１４】
2006233914.tif 000016
【図１５】
2006233914.tif 000017
【図１６】
2006233914.tif 000018
【図１７】
2006233914.tif 000019
【図１８】
2006233914.tif 000020
【図１９】
2006233914.tif 000021
【図２０】
2006233914.tif 000022
【図２１】
2006233914.tif 000023
【図２２】
2006233914.tif 000024