(57)【特許請求の範囲】
【請求項１】
複数気筒からなるエンジンにおいて、エンジンのクランク軸に設けられ、前記クランク軸の回転位置を示す信号を出力するクランクセンサと、
内燃機関のカム軸に設けられ、前記カム軸の回転位置を示す信号を出力するカムセンサと、
前記カムセンサの出力と前記クランクセンサの出力に基づいてエンジンの回転位置を特定することにより正規の気筒識別を行う正規気筒識別手段と、
前記カムセンサの出力に基づいてエンジンの回転位置を特定することにより暫定的な気筒識別を行う暫定気筒識別手段とを備えることを特徴とするエンジン制御装置。
【請求項２】
前記正規気筒判別手段によりエンジンの回転位置が特定される前に、前記暫定気筒識別手段によりエンジンの回転位置が特定されたときに、前記暫定気筒識別手段により特定されたエンジンの回転位置に基づいてエンジンを制御する制御手段を備えることを特徴とする請求項１に記載のエンジン制御装置。
【請求項３】
前記制御手段は、前記暫定気筒識別手段が特定したエンジンの回転位置によって示される気筒に燃料を噴射する燃料噴射制御手段と、前記暫定気筒識別手段が特定したエンジンの回転位置によって示される気筒に点火を行う点火制御手段とのうち少なくとも１つを備えることを特徴とする請求項２に記載のエンジン制御装置。
【請求項４】
前記カムセンサは、２つの凸部と２つの凹部とを有する第１のカムロータと、２つの凸部と２つの凹部とを有する第２のカムロータとを有し、各カムロータの凹部と凸部との立上り又は立下りが、各気筒に対応して配置されることを特徴とする請求項３に記載のエンジン制御装置。
【請求項５】
第１のカム軸と第２のカム軸とを有し、
前記カムセンサは、前記第１のカム軸に設けられる第１のカムセンサと、前記第２のカム軸に設けられる第２のカムセンサとを有し、
前記正規気筒識別手段は、前記クランクセンサの信号と、前記第１カムセンサと前記第２カムセンサとのうち少なくとも一方のカムセンサの信号とに基づいてエンジンの回転位置を特定し、
前記制御手段は、前記正規気筒識別手段によりエンジンの回転位置が特定されていない期間は、前記暫定気筒識別手段により特定されるエンジンの回転位置に基づいてエンジンを制御することを特徴とする請求項２乃至請求項４に記載のエンジン制御装置。
【請求項６】
前記第１カムセンサと前記第２カムセンサとは、両者の信号の組み合わせによってエンジンの複数の基準位置を指し示すように構成されていることを特徴とする請求項５に記載のエンジン制御装置。
【請求項７】
前記クランクセンサは、エンジンの基準位置を示す信号を出力するよう構成され、
前記第１カムセンサと前記第２カムセンサとは、前記クランクセンサが提供する前記基準位置とは異なる基準位置を指し示すよう構成されていることを特徴とする請求項５または請求項６のいずれか一方に記載のエンジン制御装置。
【請求項８】
前記第１カムセンサと前記第２カムセンサとは高レベル、低レベルの２値の信号を出力することを特徴とする請求項５乃至請求項７のいずれか一つに記載のエンジン制御装置。
【請求項９】
前記暫定気筒識別手段は、前記第１カムセンサの信号と前記第２カムセンサの信号のうち、一方の信号のレベルの切り替わりと、他方のレベルとの組み合わせに従って、エンジンの回転位置を特定することを特徴とする請求項５乃至請求項８のいずれか一つに記載のエンジン制御装置。
【請求項１０】
前記信号のレベルの切り替わりは、エンジンの所定気筒の吸気行程の略上死点から上死点後略６０°クランク角度の範囲内に設定されていることを特徴とする請求項８または９に記載のエンジン制御装置。
【請求項１１】
前記点火時期制御手段は、前記第１カムセンサの信号のレベルの切り替わりと、前記第２カムセンサの信号のレベルの切り替わりとが、両方とも検出されてから、前記暫定気筒識別手段が特定したエンジンの回転位置によって示される気筒に点火を行うことを特徴とする請求項５乃至請求項１０のいずれか一つに記載のエンジン制御装置。
【請求項１２】
前記正規気筒識別手段により特定されるエンジンの回転位置と、前記暫定気筒識別手段により特定されるエンジンの回転位置とのずれを算出し、前記暫定気筒識別手段により特定されるエンジンの回転位置を補正する補正手段を備えることを特徴とする請求項９に記載のエンジン制御装置。
【請求項１３】
第１カム軸と第２カム軸とを備える多気筒エンジンのエンジン制御装置において、
前記第１カム軸に設けられ、前記第１カム軸が１回転する間に、少なくとも気筒数の半分の回数は変化する信号を出力する第１カムセンサと、
前記第２カム軸に設けられ、前記第２カム軸が１回転する間に、少なくとも気筒数の半分の回数は変化する信号を出力する第２カムセンサと、
前記第１カムセンサの信号と前記第２カムセンサの信号とのみに基づいてエンジンの回転位置を特定する暫定気筒識別手段とを備え、
前記暫定気筒識別手段は、前記第１カムセンサの信号と前記第２カムセンサの信号とのうち一方が変化したときの、他方の信号の大きさに基づいて多気筒のうちの特定気筒が所定の行程にあることを検出することを特徴とするエンジン制御装置。
【請求項１４】
多気筒エンジンのエンジン制御システムにおいて、
前記エンジンのクランク軸に設けられ、第１基準位置を示す信号を出力するクランクセンサと、
前記エンジンのカム軸に設けられ、前記第１基準位置とは異なる第２基準位置を示す信号を出力するカムセンサと、
前記クランク軸に対する前記カム軸の回転位相を変化させる可変バルブタイミング装置と、
前記クランクセンサの信号と前記カムセンサの信号とに基づいて前記可変バルブタイミング装置を制御するバルブタイミング制御手段と、
前記第１基準位置を検出し、前記第１基準位置に基づいて前記エンジンを制御する第１エンジン制御手段と、
少なくとも前記第１基準位置が検出されるまでの期間、前記第２基準位置を検出し、前記第２基準位置に基づいて前記エンジンを制御する第２エンジン制御手段とを備えることを特徴とするエンジン制御装置。
【請求項１５】
前記クランクセンサは、３６０クランク角度毎に前記第１基準位置を示す信号を発生するためのクランクロータを有し、
前記カムセンサは、７２０クランク角度の間に、一方の前記第１基準位置において高レベル信号を発生し、他方の前記第１基準位置において低レベル信号を発生し、さらに前記第２基準位置において前記高レベルと前記低レベルとの間の切り替わりを発生するためのカムロータを有することを特徴とする請求項１４に記載のエンジン制御装置。
【請求項１６】
前記カムセンサは、前記エンジンの第１カム軸に設けた第１カムセンサと、前記エンジンの第２カム軸に設けた第２カムセンサとを備え、
前記第１カムセンサと前記第２カムセンサとは、前記第２の基準位置に加えてさらに、前記第１基準位置とも前記第２基準位置とも異なる第３基準位置を示す信号を出力することを特徴とする請求項１５に記載のエンジン制御装置。
【請求項１７】
前記クランクセンサは、３６０クランク角度毎に前記第１基準位置を示す信号を発生するためのクランクロータを有し、
前記カムセンサは、前記エンジンの第１カム軸に設けた第１カムセンサと、前記エンジンの第２カム軸に設けた第２カムセンサとを備え、
前記第１カムセンサは、７２０クランク角度の間に、一方の前記第１基準位置において高レベル信号を発生し、他方の前記第１基準位置において低レベルの信号を発生し、前記第２基準位置において高レベル又は低レベルの信号を発生するための第１カムロータを備え、
前記第２カムセンサは、７２０クランク角度の間に、前記第２基準位置において高レベル又は低レベルの信号を発生するための第２カムロータを備えることを特徴とする請求項１４に記載のエンジン制御装置。
【請求項１８】
前記第１エンジン制御手段と前記第２エンジン制御手段とは、燃料噴射時期と点火時期との少なくと一つを制御することを特徴とする請求項１４乃至請求項１７のいずれか一つに記載のエンジン制御装置。
【請求項１９】
前記カムセンサは、前記エンジンの気筒数と同じ数の基準位置を示す信号を出力するよう構成されていることを特徴とする請求項１４乃至請求項１８のいずれか一つに記載のエンジン制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
内燃機関において、クランク軸の回転位置に応じた各気筒の燃焼サイクルを識別する内燃機関の制御装置に関する。
【０００２】
【従来技術】
一般に、自動車用エンジン等の内燃機関においては、燃料噴射や点火時期を、自動車あるいはエンジンの運転条件に応じて制御する。エンジンの制御においては、各気筒毎に、しかも各気筒の所定行程において、さらには所定の時期に、燃料噴射、あるいは点火を行う必要がある。
【０００３】
このため、エンジンの制御のためには、エンジンの回転位置、即ち、クランク軸の回転位置（回転角度）を特定する必要がある。エンジンの回転位置を特定する処理は、多気筒エンジンにおいては、気筒判別処理と呼ばれる。例えば、多気筒４ストロークエンジンでは、クランク軸の１回転に１回だけ検出される基準位置が用いられる。この基準位置を検出するために設けられるクランクセンサは、複数気筒のうちの特定の気筒が吸気行程の初期にあるときに基準位置信号が発生するように配置される。
【０００４】
エンジン制御装置は、このクランクセンサの信号に基づいて燃料噴射時期に達した気筒を特定し、さらに燃料噴射時期を最適な位置に調節する。このようなエンジン制御システムは、例えば、マイクロコンピュータを用いて構成でき、燃料噴射、点火の時期は、タイマ制御によって実現されている。
【０００５】
【発明が解決しようとする課題】
ところで、クランクセンサは、例えば、１０°ＣＡ毎におきに配置された３４個の歯と、基準位置としての２個の欠歯とにより構成できる。この構成では、エンジンを始動するときに基準位置を認識するまでに最大で３６０°ＣＡを要する。これでは、運転者がスタータモータを起動してからエンジンが３６０°ＣＡ回転するまでは燃料噴射等を実行することができないので、エンジンの始動に長期間を要する。
【０００６】
また、他方では、基準位置を認識するまでは、エンジンの回転位置を特定せずに燃料噴射を実行する技術として非同期噴射の技術が知られている。ところが、非同期噴射ではエンジンの回転位置を特定せずに燃料噴射を実行するので、運転状態に応じた適切な燃料噴射制御を実行することはできない。例えば、非同期噴射が、ある気筒の吸気行程から圧縮行程に跨って行われた場合、非同期噴射の途中で吸気バルブが閉じられてしまい燃焼に必要な燃料が不足してしまう場合がある。従って、非同期噴射では、各気筒に最適な燃料噴射を実行することができない虞がある。このため、最適な燃料を供給しようとすると、エンジンの始動期間を短縮することが困難であった。また、非同期噴射では、始動時のエミッションが悪化する虞があった。
【０００７】
本発明は上述の課題に鑑みてなされたものであり、従って、本発明の目的とするところは始動性とエミッションとを改善したエンジン制御装置を提供することにある。
【０００８】
【課題を解決するための手段】
請求項１の発明によれば、カムセンサの出力とクランクセンサの出力に基づいてエンジンの回転位置を特定することにより正規の気筒識別を行う正規気筒識別手段と、カムセンサの出力に基づいてエンジンの回転位置を特定することにより暫定的な気筒識別を行う暫定気筒識別手段とを備える。
【０００９】
これにより、いずれかの気筒識別手段が、先にエンジンの回転位置を特定するので早期にエンジンの回転位置を特定できる。
【００１０】
更に請求項２の発明によれば、正規気筒判別手段によりエンジンの回転位置が特定される前に、暫定気筒識別手段によりエンジンの回転位置が特定されたときに、暫定気筒識別手段により特定されたエンジンの回転位置に基づいてエンジンを制御する制御手段を備える。
【００１１】
これにより、エンジンが始動されてから正規気筒識別手段によりエンジンの回転位置が設定されていない期間では、暫定気筒識別手段、若しくは、正規気筒識別手段との何れか一方の気筒識別によりエンジンの回転位置が設定される。ここで、正規気筒識別手段のみでは、３６０°ＣＡ間気筒識別を行なうことができなくても、暫定気筒識別手段により、正規気筒識別手段により識別できない気筒に対するクランク軸の回転位置を検知することができる。そして、早期にエンジンの回転位置に応じたエンジン制御を実施することができるので、始動性とエミッションとを向上させることができる。
【００１２】
請求項３の発明によれば、制御手段は、暫定気筒識別手段が特定したエンジンの回転位置によって示される気筒に燃料を噴射する燃料噴射制御手段と、暫定気筒識別手段が特定したエンジンの回転位置によって示される気筒に点火を行う点火制御手段とのうち少なくとも１つを備える。
【００１３】
これにより、暫定気筒識別手段が正規気筒識別手段よりも早期にエンジンの回転位置を特定した場合、燃料噴射制御と点火時期制御とを精度良く実行することができるので、始動性とエミッションとを向上させることができる。
【００１４】
請求項４の発明によれば、カムセンサは、２つの凸部と２つの凹部とを有する第１のカムロータと、２つの凸部と２つの凹部とを有する第２のカムロータとを有し、各カムロータの凹部と凸部との立上り又は立下りが、各気筒に対応して配置される。
【００１５】
請求項５の発明によれば、第１のカム軸と第２のカム軸とを有し、カムセンサは、第１のカム軸に設けられる第１のカムセンサと、第２のカム軸に設けられる第２のカムセンサとを有し、正規気筒識別手段は、クランクセンサの信号と、第１カムセンサと第２カムセンサとのうち少なくとも一方のカムセンサの信号とに基づいてエンジンの回転位置を特定し、制御手段は、正規気筒識別手段によりエンジンの回転位置が特定されていない期間は、暫定気筒識別手段により特定されるエンジンの回転位置に基づいてエンジンを制御する。
【００１６】
請求項６の発明によれば、第１カムセンサと第２カムセンサとは、両者の信号の組み合わせによってエンジンの複数の基準位置を指し示すように構成されている。
【００１７】
これにより、第１カムセンサと第２カムセンサとの組み合わせによってエンジンの回転位置を特定することができる。つまり、クランクセンサの信号によらずエンジンの回転位置を特定することができるので、暫定気筒識別手段と正規気筒識別手段とのうちいずれか一方の手段でエンジンの回転位置が特定できる。従って、早期にエンジンの回転位置に基づいてエンジン制御を実行できるので、始動性とエミッションを向上することができる。
【００１８】
請求項７の発明によれば、クランクセンサは、エンジンの基準位置を示す信号を出力するよう構成され、第１カムセンサと第２カムセンサとは、クランクセンサが提供する基準位置とは異なる基準位置を指し示すよう構成されている。
【００１９】
これにより、クランクセンサの信号に基づいてエンジンの回転位置を特定する正規気筒識別手段によりエンジンの回転位置が特定できない期間は、第１カムセンサと第２カムセンサとが提供する基準位置によってエンジンの回転位置を特定することができる。従って、早期にエンジンの回転位置を特定でき、これに基づいてエンジン制御を実行できるので、始動性とエミッションを向上できる。
【００２０】
請求項８の発明によれば、第１カムセンサと第２カムセンサとは高レベル、低レベルの２値の信号を出力する。
【００２１】
請求項９の発明によれば、暫定気筒識別手段は、第１カムセンサの信号と第２カムセンサの信号のうち、一方の信号のレベルの切り替わりと、他方のレベルとの組み合わせに従って、エンジンの回転位置を特定する。
【００２２】
請求項１０の発明によれば、信号のレベルの切り替わりは、エンジンの所定気筒の吸気行程の略上死点から上死点後略６０°クランク角度の範囲内に設定されている。
【００２３】
これにより、暫定気筒識別手段による気筒識別により気筒識別が行なわれると、識別された気筒に対して燃料噴射制御を実施することができる。つまり、この識別する期間は、吸気行程の略上死点から上死点後略６０°クランク角度の範囲内に設定されているので、噴射した燃料が確実に燃焼室内に供給できる。
【００２４】
請求項１１の発明によれば、点火時期制御手段は、第１カムセンサの信号のレベルの切り替わりと、第２カムセンサの信号のレベルの切り替わりとが、両方とも検出されてから、暫定気筒識別手段が特定したエンジンの回転位置によって示される気筒に点火を行う。
【００２５】
これにより、いずれか一方のカムセンサが故障しているときに、点火時期制御が実施されることが防止されるので、精度良い点火時期を設定することができずに、燃焼が悪化してしまう不都合を防止することができる。
【００２６】
請求項１２の発明によれば、正規気筒識別手段により特定されるエンジンの回転位置と、暫定気筒識別手段により特定されるエンジンの回転位置とのずれを算出し、暫定気筒識別手段により特定されるエンジンの回転位置を補正する補正手段を備える。
【００２７】
これにより、正規気筒識別手段による気筒識別の識別結果と、暫定気筒判別による気筒識別の識別結果とを比較することにより第１・第２のカムセンサの誤差を精度良く補正することができる。つまり、カムロータの取り付け位置等によって生ずる誤差を補正することができる。
【００２８】
請求項１３の発明によれば、第１カム軸と第２カム軸とを備える多気筒エンジンのエンジン制御装置において、第１カム軸に設けられ、第１カム軸が１回転する間に、少なくとも気筒数の半分の回数は変化する信号を出力する第１カムセンサと、第２カム軸に設けられ、第２カム軸が１回転する間に、少なくとも気筒数の半分の回数は変化する信号を出力する第２カムセンサと、第１カムセンサの信号と第２カムセンサの信号とに基づいてエンジンの回転位置を特定する暫定気筒識別手段とを備える。
【００２９】
これにより、カム軸の１回転当りに第１カムセンサと第２カムセンサとが出力変化は、多気筒のすべての気筒に対して設定できる。従って、各気筒に対応するエンジンの回転位置を検知することができる。
【００３０】
更に、請求項１３の発明によれば、暫定気筒識別手段は、第１カムセンサの信号と第２カムセンサの信号とのうち一方が変化したときの、他方の信号の大きさに基づいて多気筒のうちの特定気筒が所定の行程にあることを検出する。
【００３１】
これにより、暫定気筒識別手段は、第１カムセンサと第２カムセンサの信号状態の組み合わせにより全気筒を識別できる。従って、クランキングが行われてから最初の気筒が来ると速やかにその気筒を識別できるので、始動性とエミッションを向上できるエンジン制御を実行できる。このクランキングが行われてから最初の気筒が来るまでの期間は、例えば、４気筒４サイクルエンジンは最も遅くとも内燃機関の始動から１８０°ＣＡ、６気筒４サイクルエンジンは最も遅くとも１２０°ＣＡ、８気筒４サイクルエンジンの場合には９０°ＣＡである。
【００３２】
請求項１４の発明によれば、多気筒エンジンのエンジン制御システムにおいて、クランクセンサの信号とカムセンサの信号とに基づいて可変バルブタイミング装置を制御するバルブタイミング制御手段と、第１基準位置を検出し、第１基準位置に基づいてエンジンを制御する第１エンジン制御手段と、少なくとも第１基準位置が検出されるまでの期間、第２基準位置を検出し、第２基準位置に基づいて前記エンジンを制御する第２エンジン制御手段とを備える。
【００３３】
これにより、エンジンを始動する時に、第１基準位置又は第２基準位置のいずれかが先に検出されるので、早期にエンジンの回転位置に応じたエンジン制御を提供できる。しかも、カムセンサは可変バルブタイミング装置の制御にも利用することができる。
【００３４】
請求項１５の発明によれば、クランクセンサは、３６０クランク角度毎に第１基準位置を示す信号を発生するためのクランクロータを有し、カムセンサは、７２０クランク角度の間に、一方の第１基準位置において高レベル信号を発生し、他方の第１基準位置において低レベル信号を発生し、さらに第２基準位置において高レベルと低レベルとの間の切り替わりを発生するためのカムロータを有する。
【００３５】
クランクセンサは、３６０クランク角度毎に第１基準位置を発生する。エンジンの１サイクルが７２０クランク角度であるので、エンジン１サイクルに２回の第１基準位置が検出される。この２つの第１基準位置を識別するために、カムセンサは、一方の第１基準位置においては高レベル、他方の第１基準位置においては低レベルを発生する。しかしながら、エンジンがクランキングされてから第１基準位置を識別できるまで最も遅いと３６０クランク角度を要する。そこで、カムロータは、第１基準位置とは異なる第２基準位置を発生できるよう構成される。これにより、第１基準位置を検出できない期間は第２基準位置に基づいてエンジンを制御できるので、早期にエンジンの回転位置に応じたエンジン制御を提供できる。
【００３６】
請求項１６の発明によれば、カムセンサは、エンジンの第１カム軸に設けた第１カムセンサと、エンジンの第２カム軸に設けた第２カムセンサとを備える。そして、第１カムセンサと第２カムセンサとは、第２の基準位置に加えて更に、第１基準位置とも第２基準位置とも異なる第３基準位置を示す信号を出力する。
【００３７】
これにより、エンジンがクランキングされてから第１基準位置が検出されない期間では、第１カムセンサと第２カムセンサとにより、第２基準位置若しくは第３基準位置を検出できる。
【００３８】
請求項１７の発明によれば、クランクセンサは、３６０クランク角度毎に第１基準位置を示す信号を発生するためのクランクロータを有する。また、カムセンサは、エンジンの第１カム軸に設けた第１カムセンサと、エンジンの第２カム軸に設けた第２カムセンサとを備える。そして、第１カムセンサは、７２０クランク角度の間に、一方の第１基準位置において高レベル信号を発生し、他方の第１基準位置において低レベルの信号を発生する。更に、第２基準位置において高レベル又は低レベルの信号を発生するための第１カムロータを備える。また、第２カムセンサは、７２０クランク角度の間に、第２基準位置において高レベル又は低レベルの信号を発生するための第２カムロータを備える。
【００３９】
クランクセンサは、３６０クランク角度毎に第１基準位置を発生する。エンジンの１サイクルが７２０クランク角度であるので、エンジン１サイクルに２回の第１基準位置が検出される。この２つの第１基準位置を識別するために、カムセンサは、一方の第１基準位置においては高レベル、他方の第１基準位置においては低レベルを発生する。しかしながら、エンジンがクランキングされてから第１基準位置を識別できるまで最も遅いと３６０クランク角度を要する。そこで、第１カムロータは、第１基準位置とは異なる第２基準位置において高レベル又は低レベルの信号を発生できるよう構成される。また、第２カムロータは、第２基準位置において、高レベル又は低レベルの信号を発生できる。
【００４０】
これにより、第１基準位置を検出できない期間は第２基準位置に基づいてエンジンを制御できる。つまり、第２基準位置は、第１カムセンサと第２カムセンサとによって複数の気筒を識別することができるので、早期にエンジンの回転位置に応じたエンジン制御を提供できる。
【００４１】
請求項１８の発明によれば、第１エンジン制御手段と第２エンジン制御手段とは、燃料噴射時期と点火時期との少なくと一つを制御する。
【００４２】
これにより、第１エンジン制御手段又は第２エンジン制御手段により特定されるエンジン回転位置に基づいて燃料噴射時期と点火時期との少なくとも一つを制御できる。従って、特定されたエンジン回転速度に基づいて燃料噴射時期と点火時期との少なくとも一つを精度良く実施できる。
【００４３】
請求項１９の発明によれば、カムセンサは、エンジンの気筒数と同じ数の基準位置を示す信号を出力するよう構成されている。
【００４４】
これにより、全ての気筒に対して基準位置を発生するので、カムセンサはエンジンがクランキングされてから最初の気筒を識別できる。従って、エンジンのクランキングから速やかに気筒を特定でき、エンジンの制御を実行するので、始動性とエミッションを向上することができる。
【００４５】
【発明の実施の形態】
＜第１の実施の形態＞
以下に、本発明に係る第１の実施の形態を図面を用いて説明する。図１は概略構成図であり、本発明のエンジン制御装置が適用された火花点火式の４サイクルＶ型８気筒エンジンの構成を示している。本発明に係る第１の実施の形態においては、バンクＡと、バンクＢとを有する。バンクＡの吸気バルブを駆動するカム軸７Ａには、可変バルブタイミング装置（ＶＣＴ）３５が設けられる。バンクＢの吸気バルブを駆動するカム軸７Ｂには、可変バルブタイミング装置（ＶＣＴ）３５が設けられる。カム軸７Ａ、７Ｂは、クランク軸２によって駆動される。
【００４６】
クランク軸２が１回転すると、カム軸７Ａ、７Ｂは１／２回転する。本実施の形態では、バンクＡの１番気筒を＃１Ａ、２番気筒を＃２Ａ、３番気筒を＃３Ａ、そして４番気筒を＃４Ａと記述する。バンクＢも、同様に、＃１Ｂ、＃２Ｂ、＃３Ｂ、＃４Ｂと記述する。このエンジンの燃焼順序は、＃１Ａ、＃１Ｂ、＃４Ａ、＃２Ａ、＃２Ｂ、＃３Ａ、＃３Ｂ、＃４Ｂ、＃１Ａである。各カム軸７Ａ、７Ｂには、この燃焼順序に対応したカムプロファイルが形成されている。
【００４７】
エンジン３０のクランク軸２には、クランクセンサ１が設けられている。クランク角センサ１は、エンジン３０のクランク軸２に固定されたクランクロータ３とマグネット式のピックアップコイル４（以下、ＭＰＵと称する）とからなる。クランク角ロータ３の外周には１０°ＣＡ毎に歯部３ａが設けられる。ただし、その一部には歯部３ａの１個分を欠落させた欠歯部３ｂとが設けられている。この結果、クランクセンサ１は、クランク軸２の１回転中に３５個のパルスを出力する。エンジン３０の１運転サイクルにおいては、クランク軸２は７２０°ＣＡ回転し、クランクセンサ１は７０個のパルスを出力する。
【００４８】
また、カム軸７Ａには、カムセンサ６が設けられる。カムセンサ６は、カム軸７Ａに設けられたカムロータ８と磁気抵抗素子９（以下、ＭＲＥと称する）とからなる。ＭＲＥ９は、カムロータ８との間の距離に応じて変化する磁束を検出するものであり、カムロータ８の突出部８ｂと欠落部８ａとにより、カムロータ８のＨｉ・Ｌｏ状態と、突出部８ｂと欠落部８ａとの切り替わり部としてカムエッジの立ち上がり、若しくは立ち下がりを検出する。
【００４９】
一方、バンクＢに配設されるカムセンサ１０は、カムロータ１９とＭＲＥ１８とから構成される。カムロータ１９は、カムロータ８とは異なる外周形状を有している。カムロータ８の外周形状と、カムロータ１９の外周形状とは、互いに関連性をもって配設されている。カムロータ１９も、２箇所の凹部１９ａと、２箇所の凸部１９ｂとを有する。カムロータ１９の凸部１９ｂの前縁と後縁は、カムロータ８のＨｉ期間又はＬｏ期間の中に設定されている。一方、カムロータ８の凸部８ｂの前縁と後縁は、カムロータ１９のＨｉ期間又はＬｏ期間の中に設定されている。
【００５０】
さらに、凸部８ｂと凹部１９ｂは、４５°（９０°ＣＡ）を単位として配置されている。カムセンサ６は、カム軸７Ａが一回転する間に、少なくとも気筒数（８気筒）の半分の回数（４回）の信号変化を生じる。カムセンサ１０も、カム軸７Ｂが一回転する間に少なくとも気筒数の半分の回数の信号変化を生じる．カムロータ８及び１９の外周形状は、ＭＲＥ９又は１８の出力のいずれかが、４５°毎に立上り又は立下りを迎えるように設定されている。それぞれの立上り、立下りの位置は、例えば、各気筒のＡＴＤＣ３０°の位置に対応している。
【００５１】
尚、本実施の形態では、ＶＣＴ３４、３５によって吸気弁のタイミングを始動に適した位置まで遅角した状態において、立上り、立下りの位置がＡＴＤＣ３０°に位置している。２つのカムセンサ６、１０は、エンジン３０の気筒数（８気筒）に対応した数の基準位置（８箇所）を規定し、各基準位置を示す信号を出力する。結果、２つのＭＲＥ９，１８の信号によって、エンジン３０の回転位置を特定することができる。例えば、８気筒のうちいずれの気筒が吸気行程にあるのかを特定することができる。
【００５２】
クランクセンサ１は、３６０°ＣＡに１個の基準位置信号を出力する。一方、カムセンサ６，１０は、クランクセンサ１から基準位置信号が得られない期間において、少なくとも１箇所の基準位置を示す信号を発生する。この実施の形態では、一方のカムセンサの出力が変化した時の他方のカムセンサ出力レベルによって、７２０°ＣＡ中の特定の回転位置が示される。この実施の形態では、カムセンサ９，１８によって、８箇所の回転位置を示すことができる。尚、ＭＲＥ９，１８に代えて、ホール素子を用いても良い。
【００５３】
クランク角センサ１にはＭＰＵ用波形整形回路１１が接続されている。この波形整形回路１１では、クランクセンサ１からの出力信号が所定の閾値に基づいて波形整形する。波形整形回路１１からは、クランクロータ３の外周形状に対応した２値の信号が出力される。この信号は、クランク角信号Ｎｅと呼ばれる。また、カム角センサ６，１０にはＭＲＥ用波形整形回路１７が接続されている。この波形整形回路１７は、フィルタにより出力信号のノイズを除去し、コンパレータにより波形整形を行う。波形整形回路１７からは、カムロータ８と、カムロータ１９との外周形状に対応した２値の信号を判定する。
【００５４】
これらの信号は、カム各信号Ｃａ，Ｃｂと呼ばれる。波形整形回路１１，波形整形回路１７の出力は、ＥＣＵ２０に入力される。このＥＣＵ２０は、クランク角信号Ｎｅ及びカム角信号Ｃａ，Ｃｂとに基づいて、内燃機関の＃２気筒及び＃４気筒の燃焼におけるＴＤＣが検知される。
【００５５】
ＥＣＵ２０は、周知の各種演算処理を実行する中央処理装置としてのＣＰＵ、制御プログラムを格納したＲＯＭ、各種データを格納するＲＡＭ、Ｂ／Ｕ（バックアップ）ＲＡＭ、入出力回路及び及びそれらを接続するバスライン等からなる論理演算回路として構成されている。そして、ＥＣＵ２０は、クランク角信号Ｎｅに基づいてエンジン回転速度Ｎｅを算出する。また、ＥＣＵ２０には、この他、各種センサ情報として吸気圧センサ１２からの吸気圧信号Ｐｍ、水温センサ１３からの冷却水温信号Ｔｗ等が入力されている。
【００５６】
ＥＣＵ２０は、燃料噴射装置３１と、点火装置３２を制御する。燃料噴射装置３１は、複数の燃料噴射弁３１Ａ−３１Ｈを備える。核燃料噴射弁は、エンジンの各気筒の吸気管に設けられている。点火装置３２は、各気筒に設けられた点火プラグを有しており、ＥＣＵ２０から指示された点火プラグに点火火花を発生させる。さらにＥＣＵ２０は，クランクセンサ１、カムセンサ６，１０の信号に基づいてエンジンの回転位置を特定し、適切な気筒に対応する燃料噴射弁を駆動して燃料を供給する。このような燃料噴射制御は、独立噴射制御と呼ばれる。また、ＥＣＵ２０は、クランクセンサ１、カムセンサ６，１０の信号に基づいてエンジンの回転位置を特定し、適切な気筒に対応する点火プラグに火花が発生するように点火装置３２を制御する。
【００５７】
ＥＣＵ２０には、バッテリ１４が接続されている。更に、ＥＣＵ２０には、イグニッションスイッチ１５が接続されている。イグニッションスイッチ１５には、「ＯＦＦ」、「ＯＮ」、「ＳＴＡＲＴ」の位置が設けられている。運転者がイグニッションスイッチ１５をキー操作によって「ＯＦＦ」位置から「ＯＮ」位置に切り換えると、ＥＣＵ２０に起動信号が入力され、各種制御プログラムが実行される。また、イグニッションスイッチ１５が「ＳＴＡＲＴ」位置に切り換えられると、ＥＣＵ２０を動作させたままバッテリ１４からスタータモータ１６に電力が供給され、停止状態にあるエンジンがクランキングされる。尚、本実施の形態においては、エンジンがスタータモータによってクランキングされ、エンジンが自ら回転を始めるまでを始動期間と呼ぶ。
【００５８】
２つのカムセンサ６，１０からの信号は、図２に示される組み合わせによって、各気筒のＡＴＤＣ３０°ＣＡに対応するエンジンの回転位置を示す。図２において、矢印の記号は、信号の立上りと立下りを示している。また、Ｓｃｍ＿ＥｓｔＣｒｎｋは、カムセンサ６，１０からの信号によって設定される推定クランクカウンタの値を示す。本実施の形態では、２つのカムセンサ６，１０から出力される信号状態の組み合わせによって、エンジンの回転位置を特定する。具体的には、いずれか一方のカムセンサ６，１０からの信号が立上り又は立下りを迎えた時の他方のカムセンサ６，１０のＨｉ又はＬｏの状態によって、８気筒すべてのＡＴＤＣ３０°ＣＡを検知する。
【００５９】
この実施例のＥＣＵ２０が実行する処理をフローチャートに沿って説明する。
【００６０】
図３は、例えば、ＥＣＵ２０に起動信号が与えられた直後、或いはエンジンがストールした直後などに起動される初期設定処理である。ステップＳ７０１では、推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋとクランクカウンタＳｃｍ＿ＣＣＲＮＫとにカウント値として初期値＄ＦＦを入力して本ルーチンを終了する。
【００６１】
運転者がイグニッションスイッチ１５を操作してスタータモータ１６が駆動されると、エンジンがクランキングされる。同時に、ＥＣＵは、正規の気筒判別処理としての正規起動識別処理と、暫定的な気筒判別処理としての暫定気筒識別処理とのプログラムを実行する。図４と図５とは暫定気筒識別処理を示す。この処理は、カムセンサ６，１０からの信号のエッジ（立上り又は立下り）が検出される毎に起動される割込処理である。この処理では、図２に示した各信号の組み合わせを判別し、クランク軸２の回転位置に相当するカウント値を設定する。カウント値は、推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋと呼ばれる。
【００６２】
まず、ステップ１０１（以下、ステップをＳと称する）にてカムセンサ６のエッジが検出されるとＳ１０２へ進む。Ｓ１０２では、カムセンサ６の信号エッジが立上りであるか立下りであるかが判定される。カムセンサ６の信号エッジが立上りであると判定されると、Ｓ１０３に進む。Ｓ１０３ではカムセンサ１０の信号がＨｉであるかＬｏであるかが判定される。カムセンサ１０がＨｉであると判定されると、Ｓ１０４に進み、カムセンサ１０がＬｏであると判定されると、Ｓ１０５へ進む。
【００６３】
ステップＳ１０４では、推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋにカウント値として、４８＋αを入力して本ルーチンを終了する。ここで、推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋに入力するカウント値４８は、気筒＃３ＡのＡＴＤＣ３０°ＣＡを示す。また、αは、補正値である。補正値αは、クランクロータ３とカムロータ８，１９とのずれを補正するための値であり、エンジンの運転中に学習される。一方、Ｓ１０５では、推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋにカウント値として、２２＋αを入力して本ルーチンを終了する。カウント値２２は、気筒＃４ＡのＡＴＤＣ３０°ＣＡを示す。
【００６４】
Ｓ１０２にて、カムセンサ６の信号エッジが立上りであると判定されると、Ｓ１０６へ進む。Ｓ１０６ではカムセンサ１０の信号がＨｉであるかＬｏであるかが判定される。ここでカムセンサ１０の信号がＨｉであると判定されると、Ｓ１０７へ進む。Ｓ１０６にてカムセンサ１０の信号がＬｏであると判定されると、Ｓ１０８へ進む。
【００６５】
Ｓ１０７では、推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋに気筒＃２ＢのＡＴＤＣ３０°ＣＡに対応した３９＋αを入力して本ルーチンを終了する。一方、Ｓ１０８では、推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋにＢ−ｂａｎｋの気筒＃４ＢのＡＴＤＣ３０°ＣＡに対応した６５＋αを入力して本ルーチンを終了する。
【００６６】
次に、Ｓ１０１にてカムセンサ１０の信号エッジが検出された場合、図５のフローチャートに分岐する。Ｓ１０９にてカムセンサ１０の信号エッジが立上りであるか否かを判定する。カムセンサ１０の信号エッジが立上りであると判定されると、Ｓ１１０に進む。Ｓ１１０では、カムセンサ６の信号がＨｉであるか否かが判定される。ここで、カムセンサ６の信号がＨｉであると判定されると、Ｓ１１１へ進む。Ｓ１１１では、推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋに気筒＃２ＡのＡＴＤＣ３０°ＣＡを示すカウント値３０＋αを入力して本ルーチンを終了する。Ｓ１１０にて、カムセンサ６がＬｏであると判定されるとＳ１１２へ進み、推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋに気筒＃１ＡのＡＴＤＣ３０°ＣＡに対応したカウント値４＋αを入力して本ルーチンを終了する。
【００６７】
Ｓ１０９にてカムセンサ１０の信号が立下りであると判定されると、Ｓ１１３に進む。Ｓ１１３では、カムセンサ６の信号がＨｉであるかＬｏであるかが判定される。ここで、カムセンサ６の信号がＨｉであると判定されると、Ｓ１１４に進み、推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋに気筒＃３ＢのＡＴＤＣ３０°ＣＡに対応するカウント値５７＋αを入力して本ルーチンチンを終了する。一方、Ｓ１１３にてカムセンサ６がＬｏであると判定されるとＳ１１５に進む。Ｓ１１５では、推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋに気筒＃１ＢのＡＴＤＣ３０°ＣＡに対応するカウント値１３＋αを入力して本ルーチンを終了する。
【００６８】
この結果、暫定気筒識別のプログラムでは、２つのカムセンサ６，１０の信号状態の組み合わせを識別することによって、推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋには、各気筒のＡＴＤＣ３０°ＣＡに対応したカウント値が設定される。本実施の形態では、カムロータ８，１９上の４５°毎にカウント値の設定タイミングが訪れる。従って、エンジンがクランキングされると、遅くとも９０°ＣＡ回転するまでに推定クランクカウンタにカウント値を設定することができる。
【００６９】
推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋの値は、カウント処理によってクランク軸２の回転に従ってカウントアップされる。このカウント値によって、エンジン３０の回転位置が示される。
【００７０】
図６は、カウント処理を示すフローチャートである。この処理は、クランクセンサ１の出力に応答して起動される割り込み処理である。本実施の形態では、クランクセンサ１はエンジン３０の１サイクルの間に、７０個のパルスを発生する。そこで、この処理では、クランク軸が２回転する毎にカウント値をリセットする。
【００７１】
まずＳ２０１では、推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋが６９を越えたか否かを判定する。ここで推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋが６９を未満であると判定されると、ステップＳ２０２へ進む。Ｓ２０２では、推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋに０（リセット）を入力して本ルーチンを終了する。一方、Ｓ２０１で推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋが６９以上であると判定されると、Ｓ２０３へ進み推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋを１だけカウントアップして本ルーチンを終了する。
【００７２】
従って、前提気筒識別処理によってカウント値が一旦設定されると、以降はクランクセンサ１からの信号に基づいて推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋの値が設定される。故に、比較的低い分解能をもったカムセンサ６，１０の信号によって初期値を設定した後は、クランクセンサ１の高分解能信号によってエンジン３０の回転位置を高精度に検知することができる。
【００７３】
本実施の形態では、更に、正規気筒識別処理が実行される。図７は、正規気筒識別処理を示すフローチャートである。この処理は、クランクセンサ１の信号に応答して起動される割込み処理である。まず、Ｓ３０１では、カムセンサ６の信号エッジが検出されたか否かが判定される。カムセンサ６の信号エッジが検出されると、Ｓ３０２に進む。Ｓ３０２では、カムカウンタＳｃｍ＿ＣＡＭＣｎｔに０を入力し、Ｓ３０４へ進む。一方、Ｓ３０１でカムセンサ６の信号エッジが検出されないと、Ｓ３０３に進む。Ｓ３０３では、カムカウンタＳｃｍ＿ＣＡＭＣｎｔを１だけカウントアップし、Ｓ３０４へ進む。この結果、カムカウンタＳｃｍ＿ＣＡＭＣｎｔは、クランクセンサ１の信号毎にカウントアップされ、カム軸カムセンサ６の信号エッジ毎にリセットされるカウンタとなる。
【００７４】
Ｓ３０４では、クランクロータ３の欠歯３ａが検出されたか否かが判定される。ここで、欠歯３ａが検出されない場合、そのまま本ルーチンを終了する。一方、欠歯３ａが検出されるとＳ３０５へ進み、カムカウンタＳｃｍ＿ＣＡＭＣｎｔが１２よりも大きいか否かを判定する。かむカウンタＳｃｍ＿ＣＡＭＣｎｔのカウント地が１２よりも大きいとＳ３０７へ進む。Ｓ３０７では、クランクカウンタＳｃｍ＿ＣＣＲＮＫに２１を入力し、本ルーチンを終了する。Ｓ３０５にて、カムカウンタＳｃｍ＿ＣＣＲＮＫのカウンタ値が１２よりも小さいと、Ｓ３０６へ進む。Ｓ３０６では、クランクカウンタＳｃｍ＿ＣＣＲＮＫにカウント値９を入力し、本ルーチンを終了する。この結果、クランク軸２が１サイクル中の１周目にあるのか、２周目にあるのかが判別される。
【００７５】
図８は、クランクカウンタＳｃｍ＿ＣＡＭＣｎｔをカウントアップする処理である。Ｓ３１１からＳ３１３の処理によりクランクカウンタＳｃｍ＿ＣＣＲＮＫは、０から２２まで繰り返しカウントされる。この処理は、クランクセンサ１からの信号に応答して、３０°ＣＡ毎に起動される。正規気筒識別処理では、クランクセンサ１が提供する基準位置と、カムセンサ６が提供する基準位置とに基づいてクランク軸２の回転位置を特定している。本実施の形態では、基準位置が８気筒のうちの気筒＃２ＡのＴＤＣであるか気筒＃４ＢのＴＤＣであるかをカムセンサ６の信号エッジからの距離によって判別する。そして、一旦基準位置を検知した後は、３０°ＣＡ毎にカウントアップすることで、クランク軸２の回転位置を特定する。
【００７６】
図９は、補正値αを求めるためのフローチャートである。この処理は、正規気筒識別の後にクランクカウンタＳｃｍ＿ＣＣＲＮＫのカウント値が９になる毎に実行される。Ｓ６０１ではクランクカウンタＳｃｍ＿ＣＣＲＮＫのカウント値が９であることが確認される。角センサ１，６，１０が設計通りに組み立てられ、エンジン３０に装着されている場合、クランクカウンタＳｃｍ＿ＣＣＲＮＫが９であるときには、推定クランクカウンタＳｃｍ＿ＣＣＲＮＫのカウント値が２６になる。しかし、組み立て誤差などに起因して、両カウント値がずれることがある。Ｓ６０２では、ずれαを演算する。この処理により、ずれαが学習される。そして、Ｓ１０４などの処理に反映されることで、ずれが補正される。
【００７７】
図１０，図１１は、エンジン制御のフローチャートを示す。図１０は、燃料噴射制御を示し、図１１は、点火時期制御を示す。これらのエンジン制御は、正規気筒識別処理又は暫定気筒識別処理によって特定されたクランク軸２の回転位置に応じて実行される。例えば、燃料噴射制御ルーチンは、クランクセンサ１の信号に応答して起動される割込処理である。ここで、暫定気筒識別処理によって与えられた回転位置は、第１判別処理によって回転位置が与えられるまでの間だけ、暫定的に、エンジン制御に利用される。
【００７８】
まず、Ｓ４０１にて正規気筒識別が行なわれたことを示すフラグｆが０であるか否かを判定する。ここで、フラグｆが１である場合は、正規気筒識別が行われたことを意味する。ｆ＝１の場合、Ｓ４０２に進み、通常燃料噴射制御を実施する。通常の燃料噴射制御は、運転状態に応じて燃料噴射量を設定する。そして、クランクカウンタＳｃｍ＿ＣＣＲＮＫに基づいて燃料噴射タイミングを設定する。ここでは、ＶＣＴ３４，３５による吸気バルブや排気バルブの開閉タイミングも考慮して燃料噴射タイミングが設定される。吸気バルブの開閉タイミングは、クランクセンサ１の信号と、カムセンサ６，１０の信号との角度差等によって検出される。
【００７９】
一方、フラグｆ＝０である場合、すなわち、正規気筒識別が行なわれていないと判定すると、Ｓ４０３へ進む。Ｓ４０３では、推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋのカウント値が目標領域へ到達したか否かを判定する。この目標領域は、次に燃料噴射を行うべき気筒の吸気ＢＴＤＣ９０°ＣＡから吸気ＡＴＤＣ３０°ＣＡの範囲である。次に燃料噴射を行うべき気筒は、カウント値によって特定される。カウント値が、目標領域に達してない場合は、そのまま本ルーチンを終了する。
【００８０】
一方、カウント値が目標領域にあると判定されるとＳ４０４へ進む。Ｓ４０４では、後続のＳ４０５による燃料噴射を１サイクルに限る制限処理を行う。Ｓ４０４にて、次に燃料噴射を行うべき当該気筒に対して、未だ燃料噴射を実行していないと判断された場合には、Ｓ４０５に進み燃料噴射を実行する。尚、この燃料噴射は、エンジン３０を始動するための始動燃料噴射である。一方、当該気筒に対して、既にＳ４０５にて燃料噴射を実行している場合には、本ルーチンを終了する。
【００８１】
この結果、エンジン１の１サイクル（７２０°ＣＡ）の間に限って推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋに基づく燃料噴射制御が実行される。しかし、通常は、３６０°ＣＡ以内に正規気筒識別が成功するため、Ｓ４０４による制限が機能する前に処理はＳ４０２へ流れ、エンジン３０の継続的な回転が確保される。
【００８２】
以上のように燃料噴射制御において、正規気筒識別により回転位置が特定されるまでは、暫定気筒識別により特定された回転位置に基づいて燃焼噴射制御を実施する。このため、クランキングの開始から早い時期に、エンジン３０の回転位置に応じた燃料噴射を実行できる。本実施の形態では、暫定気筒識別により特定された回転位置が、目標領域に到達した時点で燃料噴射を実行するので早期に燃料噴射を開始でき、しかもＶＣＴ３４，３５の影響を排除することができる。目標領域を吸気ＢＴＤＣ９０°ＣＡから吸気ＡＴＤＣ３０°ＣＡに設定することで、吸気バルブが開いている期間内に燃料噴射し、燃焼室内に燃料供給できる。尚、目標領域は、本実施の形態に限定されるものではない。
【００８３】
図１１の点火時期制御では、暫定気筒識別により回転位置を特定した後に、クランクセンサ１の信号毎に起動される割込処理である。まず、Ｓ５０１にて正規気筒識別が実行されたか否かが判定される。本実施の形態では、クランクカウンタＳｃｍ＿ＣＣＲＮＫが２４よりも小さいか大きいかによって判定する。正規気筒識別が実行されたと判定されるとＳ５０４に進み、クランクカウンタＳｃｍ＿ＣＣＲＮＫに基づいて点火時期制御を実行する。Ｓ５０４では、エンジン回転速度Ｎｅとエンジンの負荷とのマップを検索することで運転状態に応じて設定された点火時期を算出する。そして、クランクカウンタＳｃｍ＿ＣＣＲＮＫによって示されるクランク軸２の回転位置が、算出された点火時期に達すると点火プラグに火花を発生させる。
【００８４】
一方、Ｓ５０１にて正規気筒識別が実施されていないと判定されると、Ｓ５０２へ進み、推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋに基づいて点火時期制御を実施する。Ｓ５０２では、エンジン回転速度Ｎｅとエンジンの負荷とのマップを検索することで運転状態に応じて設定された点火時期を算出する。そして、推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋによって示されるクランク軸２の回転位置が、算出された点火時期に達すると点火プラグに火花を発生させる。
【００８５】
尚、点火時期制御は、カムセンサ６，１０の両方の信号エッジが検出されてから実施されるのが好ましい。例えば、カムセンサ６，１０のいずれか一方が故障している場合には、正常な暫定気筒識別が実行できない。この場合には、正規気筒識別が行われるのを待ってエンジン制御を行うことが望まし。これによって、カムセンサ６，１０のいずれか一方が故障した場合でも、燃焼が不安定になることが防止されエミッションが悪化することが防止される。
【００８６】
ＥＣＵ２０は、更にＶＣＴ３４，３５を制御する。ＥＣＵ２０は、クランク軸２に対するカム軸７Ａの第１位相差を演算する第１手段２０ａと、クランク軸２に対するカム軸７Ｂの第２位相差を演算する第２手段２０ｂとを備える。ＥＣＵ２０は、エンジン３０の運転状態に応じた目標位相差を設定する目標値設定手段２０ｃを有する。更に、ＥＣＵ２０は、第１位相差と、第２位相差とを目標位相差に一致させるように制御する制御手段２０ｄを備える。第１位相差と第２位相差は、クランクセンサ１の信号と、カムセンサ６，１０の信号とに基づいて算出される。例えば、クランクセンサ１の基準位置信号と、カムセンサ６の信号エッジとの間の差によって第１位相差を算出することができる。
【００８７】
以上のように実施される制御処理を図１２のタイムチャートに示す。図１２には、上段から順に、ＴＤＣを向かえた気筒、クランクカウンタＳｃｍ＿ＣＣＲＮＫの値、推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋの値、クランクセンサ１の出力波形、カムセンサ６の出力波形、カムセンサ１０の出力波形、そして各気筒の行程が図示されている。
【００８８】
例えば、時刻ｔ１からスタータモータ１６が駆動されると、エンジン３０がクランキングされる。この場合、クランクセンサ１が基準位信号を出力するのは、略３６０°ＣＡ後の時刻ｔ３である。従って、本実施の形態では、暫定気筒識別処理によって、早期にエンジン３０の回転位置が特敵される。図１２の場合、時刻ｔ２においてカムセンサ６が立ち下がる。このとき、カムセンサ１０の信号はＬｏである。このため、推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋには、６５が設定される。例えば、時刻ｔ２において、気筒＃２Ａが吸気行程にあり、しかも吸気バルブが閉弁時機にあることを検知でき、気筒＃２Ａに対して燃料噴射を実行できる。
【００８９】
本実施の形態によると、遅くとも９０°ＣＡ以内にエンジンの回転位置を検出することができる。そして、エンジンのクランキング開始から速やかに精度の高い燃料噴射制御、点火時期制御を実施できる。また、カムセンサ６，１０は、ＶＣＴ３４，３５の制御にも使用することができる。
【００９０】
本実施例では、クランクセンサ１は、欠歯部３ｂによって、３６０°ＣＡごとに第１基準位置信号を発生する。７２０°ＣＡの間に得られる２つの第１基準位置信号は、カムセンサ６，１０の信号レベルを参照することで識別される。カムセンサ６，１０は、７２０°ＣＡの間に信号エッジと信号レベルとの組み合わせからなる８つの基準位置信号を発生する。８つの基準位置信号には、第１基準位置信号と位置が異なる６つの信号が含まれる。
【００９１】
本実施の形態において、暫定気筒識別手段は図４，図５、及び図６のフローチャートに、正規気筒識別手段は図７、及び図８のフローチャートに、点火時期制御手段は図１１のフローチャートに、燃料噴射量制御手段は図１０のフローチャートに、それぞれ相当し機能する。
【００９２】
＜第２の実施の形態＞
本発明は、Ｖ型６気筒の４サイクルエンジンに適用することもできる。Ｖ型６気筒の４サイクルエンジンは、各バンク毎に３気筒を有する。燃焼順序は、＃１Ａ→＃１Ｂ→＃２Ａ→＃２Ｂ→＃３Ａ→＃３Ｂである。図１３は、第２の実施の形態の各部の信号を示すタイムチャートである。図１３は、上段から順に、ＴＤＣを向かえた気筒、クランクカウンタＳｃｍ＿ＣＣＲＮＫの値、推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋの値、クランクセンサ１の出力波形、カムセンサ６の出力波形、カムセンサ１０の出力波形、そして各気筒の行程が図示されている。
【００９３】
本実施の形態でも、図１に示した構成と同様の構成が採用される。但し、カムセンサ６，１０のカムロータ８，１９の外周形状は異なる。カムロータ８，１９は、図１３中段に示される波形に対応した外周形状を有している。本実施の形態では、カムセンサ６，１０のそれぞれは、４つの凸部を外周に備えている。そして、４つの凸部は、１２０°ＣＡ若しくは２４０°ＣＡの間隔を空けて配置される。更に、２つのカムセンサ６，１０の出力は、３６０°ＣＡの間に１回だけＨｉとＬｏとの組み合わせになる。図１３においては、時刻ｔ１においてＨｉとＬｏとの組み合わせが発生し、時刻ｔ５においてはＬｏとＨｉとの組み合わせが発生する。
【００９４】
カムセンサ６，１０は、クランクセンナ１からの基準位置信号が得られない期間において、ＨｉとＬｏとの組み合わせ信号を出力する。例えば、時刻ｔ１において、カムセンサ６の出力がＨｉ、カムセンサ１０の信号がＬｏとなる。この場合には、推定クランクカウンタＳｃｍ＿ＣＣＲＮＫにクランク軸２の回転位置を示すカウント値として６が設定される。時刻ｔ５においては、カムセンサ６の出力がＬｏ、カムセンサ１０の出力がＨｉとなる。っこの場合には、推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋにクランク軸２の回転位置を示すカウント値として５３が設定される。時刻ｔ２、又は時刻ｔ４においては、両方のカムセンサの出力がＨｉとなる。この場合、推定クランクカウンタＳｃｍ＿ＥｓｔＣｒｎｋには、カウント値１８又は４１を設定しても良い。
【００９５】
正規気筒識別は、クランクセンサ１の基準位置信号と、カムセンサ６，１０が両方ともＨｉである場合には、クランクカウンタＳｃｍ＿ＣＣＲＮＫにクランク軸２の回転位置を示すカウント値２２を設定する。クランクセンサ１が欠歯部３ｂを検出したときに、カムセンサ６，１０が両方ともＬｏである場合には、クランクカウンタＳｃｍ＿ＣＣＲＮＫにクランク軸２の回転位置を示すカウント値１０を設定する。本実施の形態では、エンジンのクランキングが開始されてから遅くとも２４０°ＣＡ以内にエンジンの回転位置を特定できる。
【００９６】
第２の実施の形態では、クランクセンサ１は、３６０°ＣＡ毎に第１基準位置信号を欠歯部３ｂによって発生する。７２０°ＣＡの間に得られる２つの第１基準位置信号は、カムセンサ６，１０の信号レベルを参照することで識別される。カムセンサ６，１０は、３６０°ＣＡの間にＨｉレベルとＬｏレベルの組み合わせからなる第２基準位置信号を発生する。７２０°ＣＡの間に得られる２つの第２基準位置信号は、レベルを反転させることで識別される。
【００９７】
本発明は、Ｖ型エンジンに限らず、インライン型エンジンにも適用できる。例えば、吸気カムにＶＣＴを備え、排気カムにもＶＣＴを備え、それぞれにカムセンサを備えるインライン型エンジンにも適用できる。さらに、ＶＣＴを備えないエンジンに適用しても良い。
【図面の簡単な説明】
【図１】本発明のエンジン制御装置の概略構成図である。
【図２】第１の実施の形態に係る気筒判別処理を示す表である。
【図３】第１の実施の形態に係る初期設定処理を示すフローチャートである。
【図４】第１の実施の形態に係る暫定気筒識別を示すフローチャートである。
【図５】第１の実施の形態に係る暫定気筒識別を示すフローチャートである。
【図６】第１の実施の形態に係る暫定気筒識別を示すフローチャートである。
【図７】第１の実施の形態に係る正規気筒識別を示すフローチャートである。
【図８】第１の実施の形態に係る正規気筒識別を示すフローチャートである。
【図９】第１の実施の形態に係る補正処理を示すフローチャートである。
【図１０】第１の実施の形態に係る燃料噴射制御を示すフローチャートである。
【図１１】第１の実施の形態に係る点火時期制御を示すフローチャートである。
【図１２】第１の実施の形態を示すタイムチャートである。
【図１３】第２の実施の形態を示すタイムチャートである。
【符号の説明】
１…クランクセンサ、
２…クランクシャフト、
６…カムセンサ、
７ａ…カム軸、
７ｂ…カム軸、
１０…カムセンサ、
２０…ＥＣＵ、
３０…エンジン。
【図１】
0003979161.tif 000002
【図２】
0003979161.tif 000003
【図３】
0003979161.tif 000004
【図４】
0003979161.tif 000005
【図５】
0003979161.tif 000006
【図６】
0003979161.tif 000007
【図７】
0003979161.tif 000008
【図８】
0003979161.tif 000009
【図９】
0003979161.tif 000010
【図１０】
0003979161.tif 000011
【図１１】
0003979161.tif 000012
【図１２】
0003979161.tif 000013
【図１３】
0003979161.tif 000014