(57)【要約】      （修正有）【課題】クランクロータ及びＶＶＴカムロータが逆転したときにおいても、ＶＶＴカムロータの位相を算出できるようにして、クランクロータの位置を速やかに確定する。【解決手段】本発明の電子制御装置１は、逆転検出機能付のクランクロータ信号ＳａとＶＶＴカムロータ信号Ｓｂとに基づいて、内燃機関のクランクロータ１０の位置及びＶＶＴカムロータ１１の位置を検出するものであって、前記クランクロータ信号Ｓａに基づいて前記クランクロータ１０の逆転発生を検出したときに、前記クランクロータ１０側の逆転検出結果に基づいて前記ＶＶＴカムロータ１１の位置を算出するカム位置算出部を備えたものである。【選択図】図１
2016205275.tif 000002
【特許請求の範囲】
【請求項１】
逆転検出機能付のクランクロータ信号とＶＶＴカムロータ信号とに基づいて、内燃機関のクランクロータ（１０）の位置及びＶＶＴカムロータ（１１）の位置を検出する電子制御装置であって、
前記クランクロータ信号に基づいて前記クランクロータの逆転発生を検出したときに、前記クランクロータ側の逆転検出結果に基づいて前記ＶＶＴカムロータの位置を算出するカム位置算出部を備えたことを特徴とする電子制御装置。
【請求項２】
前記カム位置算出部は、前記クランクロータの正転時にはＶＶＴ位置カウンタを加算あるいは減算し、逆転時には正転時と反対に前記ＶＶＴ位置カウンタを減算あるいは加算することを特徴とする請求項１記載の電子制御装置。
【請求項３】
前記カム位置算出部は、前記クランクロータの正転中においてＶＶＴカムロータ信号のエッジが入力したときに、ＶＶＴ位置カウンタのカウント値を初期値に設定することを特徴とする請求項１または２記載の電子制御装置。
【請求項４】
前記カム位置算出部は、前記クランクロータの逆転中においてＶＶＴカムロータ信号のエッジが入力したときに、ＶＶＴ位置カウンタのカウント値がゼロ°ＣＡを示すカウント値になったときには、前回ＶＶＴカムロータ信号のエッジ入力時のカウント値に戻すことを特徴とする請求項１から３のいずれか一項記載の電子制御装置。
【請求項５】
前記カム位置算出部により算出した前記ＶＶＴカムロータの位置に基づいて、前記ＶＶＴカムロータのＶＶＴ位相を算出する位相算出部（６）を備えたことを特徴とする請求項１記載の電子制御装置。
【請求項６】
前記内燃機関の始動後における前記ＶＶＴカムロータ信号のエッジ入力時に、前記カム位置算出部により算出した前記ＶＶＴカムロータの位置に基づいて、前記クランクロータの位置を確定するクランク位置確定部（７）を備えたことを特徴とする請求項１記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＶＶＴカムロータの位相を算出し、算出したＶＶＴカムロータの位相に基づいてクランクロータの位置を正確に確定する機能を備えた電子制御装置に関する。
【背景技術】
【０００２】
この種の電子制御装置においては、一般的にクランクロータが正転している場合には、ＶＶＴ（Variable Valve Timing）カムロータも正転するように構成されており、ＶＶＴカムセンサから出力されるＶＶＴカムロータ信号のエッジ入力時刻と、クランクロータ位置より定まる位相算出タイミングでの時刻を用いてＶＶＴカムロータの位相算出を実施している。そして、ＶＶＴカムロータ信号のエッジ２つを用いてＶＶＴカムロータ形状を判別し、判別したＶＶＴカムロータ形状に基づいてクランクロータの位置を確定するように構成されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２９２６１号公報
【特許文献２】特開２００６−２２６２２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
さて、クランクロータの逆転が発生した場合、クランクロータの逆転を検出し、クランクロータ側の逆転時の位置修正を行なったり、燃料噴射を停止したりする構成が知られている（特許文献１、２参照）。クランクロータが逆転する場合、クランクロータとＶＶＴカムロータはタイミングベルトで連結されているので、ＶＶＴカムロータも逆転する。
【０００５】
しかし、ＶＶＴカムロータが逆転すると、ＶＶＴカムロータの位置を正確に把握することができなくなる。例えば、ＶＶＴカムセンサ信号のエッジ入力タイミングと位相算出タイミングとの間でＶＶＴカムロータの逆転が発生すると、２つの時間的な関係が崩れ、ＶＶＴカムロータの位相を算出できなくなる。また、ＶＶＴカムロータの位置を正確に把握できなくなると、再びＶＶＴカムロータ信号のエッジが２つ入力するまで、ＶＶＴカムロータの形状を判別できなくなることから、クランクロータの位置を確定できなくなる。
【０００６】
本発明の目的は、クランクロータ及びＶＶＴカムロータが逆転したときにおいても、ＶＶＴカムロータの位相を算出できるようにして、クランクロータの位置を速やかに確定することができる電子制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
請求項１の発明は、逆転検出機能付のクランクロータ信号とＶＶＴカムロータ信号とに基づいて、内燃機関のクランクロータの位置及びＶＶＴカムロータの位置を検出する電子制御装置であって、前記クランクロータ信号に基づいて前記クランクロータの逆転発生を検出したときに、前記クランクロータ側の逆転検出結果に基づいて前記ＶＶＴカムロータの位置を算出するカム位置算出部を備えたところに特徴を有する。
【図面の簡単な説明】
【０００８】
【図１】本発明の第１実施形態を示すもので、電子制御装置の概略構成を示すブロック図
【図２】（ａ）は正転中のクランクロータ信号Ｓａを説明する図、（ｂ）は逆転中のクランクロータ信号Ｓａを説明する図
【図３】（ａ）はクランクロータ信号Ｓａを入力したときの制御のフローチャート、（ｂ）はクランク軸の逆転判定制御のフローチャート
【図４】正転中のＶＶＴ位置カウンタの算出方法を説明する図
【図５】逆転中のＶＶＴ位置カウンタの算出方法を説明する図
【図６】ＶＶＴ位置カウンタの算出制御のフローチャート（その１）
【図７】ＶＶＴ位置カウンタの算出制御のフローチャート（その２）
【図８】ＶＶＴ位相算出制御を説明する図
【図９】ＶＶＴ位相算出制御のフローチャート（その１）
【図１０】ＶＶＴ位相算出制御のフローチャート（その２）
【図１１】早期クランク位置確定方法を説明する図
【図１２】ＶＶＴ位置カウンタのカウント値と、カムロータの形状と、クランクカウンタのカウント値との対応関係の表を示す図
【図１３】早期クランク位置確定制御のフローチャート
【発明を実施するための形態】
【０００９】
以下、本発明の第１実施形態について、図１ないし図１３を参照して説明する。まず、図１は、本実施形態の電子制御装置１の全体概略構成を示すブロック図である。この図１に示すように、電子制御装置（ＥＣＵ）１は、例えばマイクロコンピュータを主体として構成されており、波形整形回路２と、逆転判定部３と、ＶＶＴ位置カウンタ生成部４と、ＶＶＴ位置カウンタ修正部５と、ＶＶＴ位相算出部６と、早期クランク位置確定部７とを備えている。
【００１０】
波形整形回路２は、逆転検出機能付きクランクセンサ８から出力されるクランクロータ信号Ｓａと、カムセンサ（ＶＶＴカムセンサ）９から出力されるＶＶＴカムロータ信号Ｓｂとを入力し、波形整形したクランクロータ信号ＳａとＶＶＴカムロータ信号Ｓｂとを出力する。
【００１１】
逆転検出機能付きクランクセンサ８は、内燃機関のクランク軸に一体に設けられたクランクロータ１０と、クランクロータ１０の外周部に所定角度毎に設けられた複数の歯部１０ａと、歯部１０ａを検出する検出器（図示しない）とを備える。クランクロータ１０の外周部には、２個の歯部１０ａが欠けた欠歯部１０ｂが設けられている。逆転検出機能付きクランクセンサ８は、クランクロータ１０が、図２（ａ）に示すように、正転方向（矢印Ａ方向）に回転すると、歯部１０ａの有無に応じてパルス信号Ｐ１を、クランクロータ信号Ｓａとして出力する。また、逆転検出機能付きクランクセンサ８は、クランクロータ１０が、図２（ｂ）に示すように、逆転方向（矢印Ｂ方向）に回転すると、歯部１０ａの有無に応じてパルス信号Ｐ２を、クランクロータ信号Ｓａとして出力する。
【００１２】
この構成の場合、クランクロータ１０が正転したときに出力されるパルス信号Ｐ１のパルスアクティブ時間ｔａ１（図２（ａ）参照）が、クランクロータ１０が逆転したときに出力されるパルス信号Ｐ２のパルスアクティブ時間ｔａ２（図２（ｂ）参照）よりも短くなるように構成されている。パルス信号Ｐ１のパルスアクティブ時間ｔａ１は例えば数十μｓ程度の時間であり、パルス信号Ｐ２のパルスアクティブ時間ｔａ２は例えば数百μｓ程度の時間である。このパルスアクティブ時間ｔａ１、ｔａ２の差によって、クランクロータ信号Ｓａを入力した側で、クランクロータ１０が正転しているか、逆転しているかを判定できる構成となっている。
【００１３】
逆転判定部３は、逆転検出機能付きクランクセンサ８から出力されたクランクロータ信号Ｓａを波形整形回路２を介して入力し、上記パルスアクティブ時間ｔａ１、ｔａ２の差に基づいてクランクロータ１０が正転しているか逆転しているかを判定し、判定結果の情報をＶＶＴ位置カウンタ生成部４へ出力する。
【００１４】
カムセンサ９は、クランク軸に対して１／２の減速比を有するカム軸に一体に設けられたカムロータ（ＶＶＴカムロータ）１１と、カムロータ１１の外周部に６０°ＣＡ（クランクアングル）、１２０°ＣＡ及び１８０°ＣＡ間隔の歯部１１ａ、１１ｂ、１１ｃと、これら歯部１１ａ、１１ｂ、１１ｃを検出する検出器（図示しない）とを備える。カムセンサ９は、歯部１１ａ、１１ｂ、１１ｃの山形状または谷形状に対応したパルス信号（図４参照）をＶＶＴカムロータ信号Ｓｂとして出力する。
【００１５】
ＶＶＴ位置カウンタ生成部４は、逆転検出機能付きクランクセンサ８から出力されたクランクロータ信号Ｓａを波形整形回路２を介して入力し、クランクロータ信号Ｓａに基づいてＶＶＴ位置カウンタを算出する。尚、ＶＶＴ位置カウンタの算出の具体的制御については、後述する。ＶＶＴ位置カウンタ修正部５は、カムセンサ９から出力されたＶＶＴカムロータ信号Ｓｂを波形整形回路２を介して入力し、ＶＶＴカムロータ信号Ｓｂに基づいてＶＶＴ位置カウンタを修正する。尚、ＶＶＴ位置カウンタの修正の具体的制御については、後述する。ＶＶＴ位置カウンタ生成部４及びＶＶＴ位置カウンタ修正部５は、カム位置算出部の機能を構成する。
【００１６】
ＶＶＴ位相算出部６は、カムセンサ９から出力されたＶＶＴカムロータ信号Ｓｂを波形整形回路２を介して入力すると共に、ＶＶＴ位置カウンタ生成部４から出力されるＶＶＴ位置カウンタのカウント値を入力し、ＶＶＴカムロータ信号Ｓｂ及びＶＶＴ位置カウンタのカウント値に基づいてＶＶＴ位相を算出する。尚、ＶＶＴ位相の算出の具体的制御については、後述する。ＶＶＴ位相算出部６は、位相算出部の機能を構成する。
【００１７】
早期クランク位置確定部７は、カムセンサ９から出力されたＶＶＴカムロータ信号Ｓｂを波形整形回路２を介して入力すると共に、ＶＶＴ位置カウンタ生成部４から出力されるＶＶＴ位置カウンタのカウント値を入力し、ＶＶＴカムロータ信号Ｓｂ及びＶＶＴ位置カウンタのカウント値に基づいてクランク位置を確定する。尚、クランク位置の確定の具体的制御については、後述する。早期クランク位置確定部７は、クランク位置確定部の機能を構成する。
【００１８】
次に、上記構成の電子制御装置１の動作について、図３ないし図１３を参照して説明する。まず、図３（ａ）及び（ｂ）は、逆転判定部３の制御の内容を示すフローチャートである。図３（ａ）のフローチャートは、クランクロータ信号Ｓａを入力したときの制御の内容を示し、図３（ｂ）のフローチャートは、クランク軸の逆転判定制御の内容を示し、これら２つの制御は、クランクロータ信号Ｓａのエッジ（立下りエッジ及び立ち上がりエッジ）が入力する毎にパラレルに実行される。
【００１９】
クランクロータ信号Ｓａが逆転判定部３に入力すると、図３（ａ）のステップＳ１０において、クランクロータ信号Ｓａのエッジの入力時刻がメモリに記憶される。具体的には、クランクロータ信号Ｓａの立下りエッジ及び立ち上がりエッジが入力される毎に、立下りエッジの入力時刻及び立ち上がりエッジの入力時刻が電子制御装置１のメモリ（図示しない）に記憶される。
【００２０】
次に、クランク軸の逆転判定制御が開始されると、ステップＳ１１０において、クランクロータ信号Ｓａの逆転検出用のエッジ（即ち、図２に示すパルスアクティブ時間ｔa１、ｔa２を算出するためのエッジ）が入力したか否かを判断する。ここで、クランクロータ信号Ｓａの逆転検出用のエッジが入力したときには（ステップＳ１１０にて「ＹＥＳ」）、ステップＳ１２０へ進み、記憶されているクランクロータ信号Ｓａの立下りエッジの入力時刻及び立ち上がりエッジの入力時刻に基づいて、クランクロータ信号Ｓａのパルスアクティブ時間ｔａを算出する。
【００２１】
続いて、ステップＳ１３０へ進み、上記算出したパルスアクティブ時間ｔａが閾値未満であるか否かを判断する。ここで、パルスアクティブ時間ｔａが閾値未満であるときには（ステップＳ１３０にて「ＹＥＳ」）、クランクロータ１０が正転していると判断できることから、ステップＳ１４０へ進み、クランクロータ１０の回転方向を示す回転方向フラグを正転中（例えばオフ）に設定する。
【００２２】
一方、上記ステップＳ１３０において、パルスアクティブ時間ｔａが閾値以上であるときには（ステップＳ１３０にて「ＮＯ」）、クランクロータ１０が逆転していると判断できることから、ステップＳ１５０へ進み、クランクロータ１０の回転方向を示す回転方向フラグを逆転中（例えばオン）に設定する。
【００２３】
尚、上記ステップＳ１１０において、クランクロータ信号Ｓａの逆転検出用のエッジが入力しなかったときには（「ＮＯ」）、何もしないで制御を終了する。
次に、ＶＶＴ位置カウンタの算出方法について、図４及び図５を参照して説明する。まず、図４は、クランクロータ１０が正転する場合のＶＶＴ位置カウンタの算出方法を示す。この正転時の場合、ＶＶＴ位置カウンタは、クランクロータ信号Ｓａの立下りエッジに同期してカウントアップ例えば１０°ＣＡカウントアップし、ＶＶＴカムロータ信号Ｓｂのエッジ（立下りエッジ及び立上りエッジ）が入力したときに０°ＣＡを設定する。
【００２４】
具体的には、例えば時刻ｔ１で、ＶＶＴカムロータ信号Ｓｂのエッジ（立下りエッジ）が入力したときに、ＶＶＴ位置カウンタに０°ＣＡを設定する。この後、クランクロータ信号Ｓａの立下りエッジが入力した時刻ｔ２で、ＶＶＴ位置カウンタを例えば３０°ＣＡカウントアップ（クランクロータ１０の欠歯部１０ｂに対応する角度）する。これ以降、クランクロータ信号Ｓａの立下りエッジが入力する毎に、ＶＶＴ位置カウンタを例えば１０°ＣＡカウントアップする。そして、例えば時刻ｔ３で、ＶＶＴカムロータ信号Ｓｂのエッジ（立上りエッジ）が入力したときに、ＶＶＴ位置カウンタに０°ＣＡを設定する。この後は、クランクロータ信号Ｓａの立下りエッジが入力する毎に、ＶＶＴ位置カウンタを例えば１０°ＣＡカウントアップする。これ以降、クランクロータ１０の正転時は同様のカウントアップ処理を実行する。尚、クランクロータ１０の欠歯部１０ｂに対応するクランクロータ信号Ｓａの立下りエッジが入力したときには、ＶＶＴ位置カウンタを例えば３０°ＣＡカウントアップする。
【００２５】
次に、図５は、クランクロータ１０が正転しているときに一時的に逆転が発生する場合のＶＶＴ位置カウンタの算出方法を示す。尚、クランクロータ１０の逆転は、クランクロータ１０がかなり低速で正転しているとき（即ち、エンジンが停止する少し前の回転状態のとき）に発生することがある。この場合、正転時には、ＶＶＴ位置カウンタは、上述したように、クランクロータ信号Ｓａの立下りエッジに同期してカウントアップ例えば１０°ＣＡカウントアップすると共に、ＶＶＴカムロータ信号Ｓｂのエッジ（立下りエッジ及び立上りエッジ）が入力したときに０°ＣＡを設定する。そして、逆転が発生したときには、ＶＶＴ位置カウンタは、クランクロータ信号Ｓａの立下りエッジに同期してカウントダウン例えば１０°ＣＡカウントダウンする。更に、ＶＶＴカムロータ信号Ｓｂのエッジ（立下りエッジ及び立上りエッジ）が入力したときに、ＶＶＴ位置カウンタのカウント値が０°ＣＡの場合には、前回ＶＶＴカムロータ信号Ｓｂのエッジ（立下りエッジ及び立上りエッジ）が入力したときのカウント値（０°ＣＡに設定する前のカウント値）をＶＶＴ位置カウンタに設定し、この設定したカウント値からカウントダウンを開始するように構成されている。
【００２６】
具体的には、例えば時刻ｔ１１で、ＶＶＴカムロータ信号Ｓｂのエッジ（立下りエッジ）が入力したときに、ＶＶＴ位置カウンタに０°ＣＡを設定する。この後、クランクロータ信号Ｓａの立下りエッジが入力した時刻ｔ１２で、ＶＶＴ位置カウンタを例えば３０°ＣＡカウントアップ（クランクロータ１０の欠歯部１０ｂに対応する角度）する。これ以降、クランクロータ信号Ｓａの立下りエッジが入力する毎に、ＶＶＴ位置カウンタを例えば１０°ＣＡカウントアップする。そして、例えば時刻ｔ１３で、ＶＶＴカムロータ信号Ｓｂのエッジ（立上りエッジ）が入力したときに、ＶＶＴ位置カウンタに０°ＣＡを設定する。尚、ＶＶＴカムロータ信号Ｓｂのエッジが入力したときのＶＶＴ位置カウンタのカウント値は、１１０°ＣＡである。
【００２７】
ここで、クランクロータ１０の逆転が発生し、時刻ｔ１４で、クランクロータ信号Ｓａのパルスアクティブ時間ｔａに基づいて逆転が検出されると、この後、時刻ｔ１５で、ＶＶＴカムロータ信号Ｓｂの立下りエッジが入力したとき、ＶＶＴ位置カウンタのその時点のカウント値が０°ＣＡであるから、前回ＶＶＴカムロータ信号Ｓｂのエッジが入力したときのＶＶＴ位置カウンタのカウント値である１１０°ＣＡを、ＶＶＴ位置カウンタのカウント値として設定する。この後は、クランクロータ信号Ｓａの立下りエッジが入力する毎に、ＶＶＴ位置カウンタを例えば１０°ＣＡカウントダウンする。
【００２８】
さて、クランクロータ１０が正転に戻り、時刻ｔ１６で、クランクロータ信号Ｓａのパルスアクティブ時間に基づいて正転が検出されると、この後、時刻ｔ１７で、クランクロータ信号Ｓａの立下りエッジが入力したとき、ＶＶＴ位置カウンタを例えば１０°ＣＡカウントアップする（この場合、エッジが入力したときのＶＶＴ位置カウンタのカウント値は８０°ＣＡであるから、そのカウント値からカウントダウンする）。そして、これ以降は、クランクロータ１０の正転時のカウントアップ処理を実行する。
【００２９】
図６及び図７は、ＶＶＴ位置カウンタの算出制御のフローチャートを示す。まず、図６のフローチャートは、クランクロータ信号Ｓａの立下りエッジが入力されたときの制御の内容を示す。図６のステップＳ２１０においては、クランクロータ１０が正転中であるか否かを判断する。ここで、クランクロータ１０が正転中であるときには（ステップＳ２１０にて「ＹＥＳ」）、ステップＳ２２０へ進み、ＶＶＴ位置カウンタを１０°ＣＡカウントアップする。また、上記ステップＳ２１０において、クランクロータ１０が逆転中であるときには（「ＮＯ」）、ステップＳ２３０へ進み、ＶＶＴ位置カウンタを１０°ＣＡカウントダウンする。上記した図６に示すＶＶＴ位置カウンタの算出制御は、ＶＶＴ位置カウンタ生成部４の制御として構成される。
【００３０】
次に、図７のフローチャートは、ＶＶＴカムロータ信号Ｓｂのエッジ（立下りエッジまたは立上りエッジ）が入力されたときの制御の内容を示す。図７のステップＳ３１０においては、クランクロータ１０が正転中であるか否かを判断する。ここで、クランクロータ１０が正転中であるときには（ステップＳ３１０にて「ＹＥＳ」）、ステップＳ３２０へ進み、ＶＶＴ位置カウンタのカウント値を０°ＣＡに設定（更新）する。一方、上記ステップＳ３１０において、クランクロータ１０が逆転中であるときには（「ＮＯ」）、ステップＳ３３０へ進み、ＶＶＴ位置カウンタのカウント値を、前回ＶＶＴカムロータ信号Ｓｂのエッジが入力したときのカウント値に設定（更新）する。上記した図７に示すＶＶＴ位置カウンタの算出制御は、ＶＶＴ位置カウンタ修正部５の制御として構成される。
【００３１】
次に、ＶＶＴ位置カウンタを用いてＶＶＴ位相を算出する制御について、図８ないし図１０を参照して説明する。まず、図８は、ＶＶＴ位置カウンタを用いてＶＶＴ位相を算出する制御の一例を示す。ＶＶＴ位相とは、カムロータ１１の谷から山へのエッジ入力から基準位置までの角度差（図８中の角度差ｄＡ参照）のことであり、クランクロータ信号ＳａとＶＶＴカムロータ信号Ｓｂとクランクロータ１０の回転方向とＶＶＴ位置カウンタのカウント値とに基づいて、下記のようにしてＶＶＴ位相ｄＡを算出する。尚、基準位置は、カムロータ１１の３個の山形状の歯部１１ａ、１１ｂ、１１ｃにそれぞれ設定されている。
【００３２】
まず、ＶＶＴカムロータ信号Ｓｂのエッジ入力処理について説明する。位相算出するエッジ（カムロータ１１の谷形状から山形状に変わる立上りエッジ）入力から基準位置までのＶＶＴ位置カウンタのカウント値の変化量を算出するため、エッジ入力時に、入力したエッジが位相算出するエッジではなくても、基準位置を通過する前であれば、ＶＶＴ位置カウンタのカウント値をＶＶＴ位置カウンタの変化量に加算する。尚、クランクロータ１０が逆転から正転に戻った場合に、正しくＶＶＴ位相を算出可能とするために、クランクロータ１０が逆転している場合には、位相算出するエッジでないエッジが入力した場合には、処理をせずに終了する。また、エッジ入力時に、位相算出するエッジではなく、基準位置を通過した後であれば、位相算出中では無いため、処理をせず終了する。
【００３３】
次に、図９のフローチャートは、ＶＶＴ位相算出制御、特には、ＶＶＴカムロータ信号Ｓｂのエッジが入力したときの制御の内容を示す。図１０のフローチャートは、ＶＶＴ位相算出制御、特には、クランクロータ信号Ｓａのエッジが入力したときの制御の内容を示す。図９及び図１０に示すＶＶＴ位相算出制御は、ＶＶＴ位相算出部６の制御として構成される。
【００３４】
まず、ＶＶＴカムロータ信号Ｓｂのエッジが入力したときの制御について、図９を参照して説明する。図９のステップＳ４１０において、入力したエッジが位相算出する方向（具体的には、立上りエッジ）であるか否かを判断する。ここで、入力したエッジが位相算出する方向でなければ（ステップＳ４１０にて「ＮＯ」）、何もしないで終了する。
【００３５】
上記ステップＳ４１０において、入力したエッジが位相算出する方向であるときには（「ＹＥＳ」）、ステップＳ４２０へ進み、クランクロータ１０が正転中であるか否かを判断する。ここで、クランクロータ１０が正転中でなければ（ステップＳ４２０にて「ＮＯ」）、何もしないで終了する。
【００３６】
上記ステップＳ４２０において、クランクロータ１０が正転中であるときには（「ＹＥＳ」）、ステップＳ４３０へ進み、カムロータ１１の歯部１１ａ、１１ｂ、１１ｃの基準位置を通過前であるか否かを判断する。ここで、基準位置を通過した後のときには（ステップＳ４３０にて「ＮＯ」）、何もしないで終了する。また、上記ステップＳ４３０において、基準位置を通過前であるときには（「ＹＥＳ」）、ステップＳ４４０へ進み、ＶＶＴ位置カウンタのカウント値をＶＶＴ位置カウンタの変化量に加算して、本制御を終了する。
【００３７】
次に、クランクロータ信号Ｓａのエッジが入力したときの制御について、図１０を参照して説明する。図１０のステップＳ５１０において、カムロータ１１の基準位置であるか否かを判断する。ここで、基準位置でなければ（ステップＳ５１０にて「ＮＯ」）、何もしないで終了する。また、上記ステップＳ５１０において、基準位置であるときには（「ＹＥＳ」）、ステップＳ５２０へ進み、クランクロータ１０が正転中であるか否かを判断する。ここで、クランクロータ１０が正転中でなければ（ステップＳ５２０にて「ＮＯ」）、何もしないで終了する。
【００３８】
また、上記ステップＳ５２０において、クランクロータ１０が正転中であるときには（「ＹＥＳ」）、ステップＳ５３０へ進み、ＶＶＴ位置カウンタの変化量とＶＶＴ位置カウンタのカウント値とに基づいてＶＶＴ位相を算出する。即ち、クランクロータ信号Ｓａの立上りエッジ入力時に、基準位置であって、且つ、クランクロータ１０が正転していれば、ＶＶＴ位置カウンタの変化量とＶＶＴ位置カウンタのカウント値を合算してＶＶＴ位相を算出する。続いて、ステップＳ５４０へ進み、位相算出が完了したとして、ＶＶＴ位置カウンタの変化量に０°ＣＡを設定して、制御を終了する。
【００３９】
尚、上記したように、ステップＳ５３０にてＶＶＴ位相を算出した後、クランクロータが逆転していて基準位置となった場合には、クランクロータが正転に戻った際に再度基準位置に到達する可能性があるため、処理をせず終了する（ステップＳ５２０にて「ＮＯ」）。
【００４０】
次に、ＶＶＴ位置カウンタを用いた早期クランク位置確定方法について、図１１を参照して説明する。早期クランク位置確定とは、クランクロータ１０の欠歯位置以外でクランクロータ１０の位置を確定することであり、ＶＶＴカムロータ信号ＳｂとＶＶＴ位置カウンタに基づいて、下記の通り早期クランク位置を確定する。尚、クランクカウンタとは、クランクロータ１０の位置を示すカウンタであり、クランクロータ信号Ｓａのエッジ入力毎にカウントアップ（例えば１０°ＣＡカウントアップ）を行い、エンスト判定（エンジン停止状態）成立時に初期値に設定する。
【００４１】
ここで、図１１を参照して、早期クランク位置確定制御の一例について説明する。クランクロータ１０の停止後における時刻ｔ５１において、エンジンのエンストが判定されると、この時点で、クランクカウンタが初期値（例えば０°ＣＡ）に設定される。この後、時刻ｔ５２において、エンジン始動後のＶＶＴカムロータ信号Ｓｂの初回エッジが入力したときに、ＶＶＴカムロータ信号Ｓｂの電圧レベルによって上記初回エッジが立上りエッジであるか立下りエッジであるかを判別し、カムロータ１１の形状（山形状／谷形状）を判断する。図１１の例では、初回エッジが立上りエッジであるから、カムロータ１１の形状は谷形状であると判断する。そして、判断した初回エッジの前のカムロータ１１の形状と、初回エッジの前のＶＶＴ位置カウンタのカウント値と、図１２に示す対応表とから、クランクカウンタのカウント値を設定する。尚、図１２の対応表は、ＶＶＴ位置カウンタのカウント値と、カムロータ１１の形状と、クランクカウンタのカウント値との対応関係を示す表である。図１１の例では、初回エッジの前のカムロータ１１の形状が谷であると共に、初回エッジの前のＶＶＴ位置カウンタのカウント値が１１０°ＣＡであるから、図１２の表によってクランクカウンタのカウント値として６００°ＣＡを設定することができる。従って、この図１１の例では、エンジン始動後、クランクロータ１０が例えば２０°ＣＡ回転しただけで、クランク位置（クランクカウンタのカウント値）を確定することができる。即ち、本実施形態では、図１２の表に示すクランクロータ１０の山、谷のエッジ入力時と、クランクロータ１０の欠歯部のエッジ入力時とにおいて（即ち、クランクロータ１０が２回転する間における例えば８か所のエッジ入力時において）、クランク位置を確定することができる。
【００４２】
尚、従来構成では、クランクロータ１０の欠歯部のエッジ入力時（即ち、クランクロータ１０が２回転する間における欠歯部の２か所）のときだけ、クランク位置を確定できる構成となっている。従って、本実施形態によれば、エンジン始動後、従来構成よりも、早くクランク位置を確定することができる。また、本実施形態では、エンジン始動後のＶＶＴカムロータ信号Ｓｂの２回目以降のエッジ入力時は、クランク位置は確定済みのため、早期クランク位置確定制御の処理は実行しない構成となっている。
【００４３】
次に、図１３のフローチャートは、早期クランク位置確定制御の内容を示す。この早期クランク位置確定制御は、早期クランク位置確定部７の制御として構成される。図１３のステップＳ６１０においては、エンジン始動後のＶＶＴカムロータ信号Ｓｂの初回エッジが入力したか否かを判断する。ここで、初回エッジが入力したときには（ステップＳ６１０にて「ＹＥＳ」）、ステップＳ６２０へ進み、ＶＶＴカムロータ信号Ｓｂの電圧レベルによって初回エッジが立上りエッジであるか立下りエッジであるかを判別し、カムロータ１１の形状（山形状／谷形状）を判断（算出）する。
【００４４】
続いて、ステップＳ６３０へ進み、初回エッジの前のカムロータ１１の形状と、初回エッジの前のＶＶＴ位置カウンタのカウント値とによって、図１２に示す対応表に基づいて、クランクカウンタのカウント値を設定（算出）して、制御を終了する。
【００４５】
また、ステップＳ６１０において、エンジン始動後の初回エッジでないエッジ（２回目以降のエッジ）が入力したときには（「ＮＯ」）、何もしないで終了する。
このような構成の本実施形態においては、クランクロータ信号Ｓａに基づいてクランクロータ１０の逆転発生を検出したときに、クランクロータ１０側の逆転検出結果に基づいてカムロータ１１の位置を算出するように構成した。この構成によれば、クランクロータ１０の逆転が発生する領域において、クランクロータ１０（クランクセンサ８）側の逆転検出有無を使用するので、クランクロータ１０とタイミングベルトで連結しているＶＶＴカムロータ１０の逆転の有無を正確に推測可能となることから、ＶＶＴカムロータ１１の位置（ＶＶＴ位置カウンタ）を正確に算出することができる。
【００４６】
また、上記実施形態では、クランクロータ１０の正転時にはＶＶＴ位置カウンタを加算（あるいは減算）し、逆転時には正転時と反対にＶＶＴ位置カウンタを減算（あるいは加算）するように構成したので、ＶＶＴカムロータ１１の位置を示すＶＶＴ位置カウンタを、クランクロータ１０の正転逆転に応じて正確に算出することができる。
【００４７】
また、上記実施形態では、クランクロータ１０の正転中においてＶＶＴカムロータ信号Ｓｂのエッジが入力したときに、ＶＶＴ位置カウンタのカウント値を初期値（例えば０°ＣＡ）に設定するように構成したので、ＶＶＴカムロータ信号Ｓｂのエッジ間においてＶＶＴカムロータ１１の位置を正確に算出することが可能となる。
【００４８】
また、上記実施形態では、クランクロータ１０の逆転中においてＶＶＴカムロータ信号Ｓｂのエッジが入力したときに、ＶＶＴ位置カウンタのカウント値がゼロ°ＣＡを示すカウント値になったときには、前回ＶＶＴカムロータ信号のエッジ入力時のカウント値に戻すように構成したので、連続して逆転が発生しても正しくＶＶＴカム位置を算出することができる。
【００４９】
また、上記実施形態では、算出したＶＶＴカムロータの位置（ＶＶＴ位置カウンタ）に基づいて、ＶＶＴカムロータ１１のＶＶＴ位相を算出するように構成したので、ＶＶＴカムロータ１１の逆転を考慮して算出されたＶＶＴカムロータ１１の位置を用いてＶＶＴカムロータ１１のＶＶＴ位相を算出することから、逆転が発生した場合でもＶＶＴカムロータ１１の位置がずれなくなるため、正確にＶＶＴ位相（変位角）を算出できる。
【００５０】
また、上記実施形態では、内燃機関の始動後におけるＶＶＴカムロータ信号Ｓｂのエッジ入力時に、算出されたＶＶＴカムロータの位置に基づいて、クランクロータ１０の位置を確定するように構成したので、逆転が発生しやすい車両停止直前でも正確にＶＶＴカムロータ１１の位置を算出可能となることから、車両停止時のＶＶＴカムロータ１１の位置に基づいて内燃機関の始動後、１回目のＶＶＴカムロータ信号Ｓｂのエッジ入力でクランクロータ１０の位置を確定することができる。このため、本実施形態は、従来構成のクランクロータ信号Ｓａの欠歯部のエッジ入力によりクランクロータ１０の位置を確定する制御に比べて、早くクランクロータ１０の位置を確定することが可能となる。
【００５１】
尚、上記実施形態では、クランクロータ１０の正転時にはＶＶＴ位置カウンタを加算し、逆転時にはＶＶＴ位置カウンタを減算するように構成したが、これに代えて、クランクロータ１０の正転時にはＶＶＴ位置カウンタを減算し、逆転時にはＶＶＴ位置カウンタを加算するように構成しても良い。
【符号の説明】
【００５２】
図面中、１は電子制御装置、３は逆転判定部、４はＶＶＴ位置カウンタ生成部、５はＶＶＴ位置カウンタ修正部、６はＶＶＴ位相算出部（位相算出部）、７は早期クランク位置確定部（クランク位置確定部）、８は逆転検出機能付きクランクセンサ、９はカムセンサ、１０はクランクロータ、１１はカムロータである。
【図１】
2016205275.tif 000003
【図２】
2016205275.tif 000004
【図３】
2016205275.tif 000005
【図４】
2016205275.tif 000006
【図５】
2016205275.tif 000007
【図６】
2016205275.tif 000008
【図７】
2016205275.tif 000009
【図８】
2016205275.tif 000010
【図９】
2016205275.tif 000011
【図１０】
2016205275.tif 000012
【図１１】
2016205275.tif 000013
【図１２】
2016205275.tif 000014
【図１３】
2016205275.tif 000015