(57)【特許請求の範囲】
【請求項１】
内燃機関のクランク軸とそれに駆動連結されたカム軸との間の回転位相を調整する回転位相調整機構を備え、機関運転状態に応じて回転位相調整機構の進角量を制御する内燃機関の制御装置において、
カム軸上の所定の基準回転位置に対応するカムパルス信号を発生させるカム角センサと、
所定角度範囲でクランク角の判別区間を設定し、該判別区間に同期したカムパルス信号に基づいて内燃機関のクランク角を判別するクランク角判別手段と、
前記判別区間とカムパルス信号との相対位置から初回気筒のクランク角判別時における回転位相調整機構の進角量を推測し、その進角量が所定量以上であれば、クランク角の判別を遅らせる判別遅延手段と、
を備えることを特徴とする内燃機関の制御装置。
【請求項２】
初回気筒のクランク角判別時に推測される回転位相調整機構の進角量が所定量以上となる場合、気筒別の燃料噴射や点火時期の制御開始を遅らせる請求項１に記載の内燃機関の制御装置。
【請求項３】
クランク軸の回転に伴い等回転角度毎に回転パルス信号を発生させるクランク角センサを備え、該センサによる複数個分の回転パルス信号にて前記判別区間が設定される内燃機関の制御装置において、
前記判別遅延手段は、
カムパルス信号の発生時から判別区間の終了までの間で回転パルス信号をカウントする手段と、
前記カウントされる回転パルス信号のパルス数が予め設定される所定値を越える時、クランク角の判別を禁じる手段とを備える請求項１又は２に記載の内燃機関の制御装置。
【請求項４】
請求項３に記載の内燃機関の制御装置において、
前記判別遅延手段は、前記カウントされる回転パルス信号のパルス数が、回転位相調整機構の最遅角状態でのパルス数と異なる場合に、クランク角の判別を禁じる内燃機関の制御装置。
【請求項５】
請求項３に記載の内燃機関の制御装置において、
前記判別遅延手段は、前記カウントされる回転パルス信号のパルス数が、回転位相調整機構の最遅角状態でのパルス数に、カムパルス信号に影響を与える要素のバラツキを考慮した見込み分を加えたものよりも大きく異なる場合に、クランク角の判別を禁じる内燃機関の制御装置。
【請求項６】
前記判別遅延手段によりクランク角判別が遅らされる時、内燃機関が少なくとも１気筒分だけクランキングし、カムパルス信号が正規に検出された後にクランク角判別を開始する請求項１〜５の何れかに記載の内燃機関の制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、クランク軸とカム軸との間の回転位相を調整する回転位相調整機構を備えた内燃機関に適用され、初回気筒のクランク角判別を良好に行い、内燃機関の制御性を向上させるための内燃機関の制御装置に関するものである。
【０００２】
【従来の技術】
この種の従来技術として、特開平７−１５０９８９号公報の装置が知られている。同公報の装置では、クランク軸とカム軸との間の回転位相を調整する回転位相調整機構（ＶＶＴ機構）を備え、クランク軸及びカム軸の回転位置をクランク角センサ及びカム角センサにより各々検出する。また、上記ＶＶＴ機構の作用角（最大調整量）よりも広くクランク角の判別区間を設定し、この判別区間に同期したカム角センサのパルス信号出力の有無に基づいて気筒判別を行う。同装置によれば、ＶＶＴ機構の作用角に関係なく正常な気筒判別が実施できるようになっていた。
【０００３】
しかしながら、上記装置では、ＶＶＴ機構を持たない装置に比べクランク角の判別区間がより広く設定されるため、機関停止時には同判別区間の途中でクランク軸の回転が停止し、同判別区間内の停止位置から内燃機関が始動される可能性が高くなる。従って、始動直後において初回気筒のクランク角判別（気筒判別）が実施できずに燃料噴射や点火時期の制御開始が遅れてしまい、結果として始動性が悪化するという問題を招く。
【０００４】
またその他の従来技術として、特開平７−１０９９４８号公報には、クランク角センサの信号出力の不等間隔部を使って気筒判別を行うクランク角判別装置が開示されている。すなわち、同公報の装置では、クランク角に応じて異なる回数連続した不等間隔部を有するパルス信号を、クランク角センサが出力し、該パルス信号の不等間隔部の連続回数とカム角センサの信号出力（カム信号）とに基づいて気筒判別を行うこととしていた。かかる装置では、上記特開平７−１５０９８９号公報の装置とは異なりクランク角の判別区間が狭くて済むため、同判別区間の途中から機関始動が開始される可能性は低く、機関始動性は良好に保たれるようになっていた。
【０００５】
しかしながら、上記特開平７−１０９９４８号公報の装置の場合、ＶＶＴ機構との組み合せにおいて、以下の問題がある。つまり、ＶＶＴ機構の動作位置が進角側にずれた状態で内燃機関が始動された時、判別区間からカム信号が外れているため正確なカム信号が計測できず、内燃機関の気筒を誤判別してしまう。内燃機関の気筒を誤判別すると、正規以外の気筒に対し燃料噴射や点火が実施されることになり、始動性悪化等の事態を招く。
【０００６】
また、内燃機関の始動時以外にも、ＥＣＵ（電子制御装置）の電源ライン瞬断により同ＥＣＵ内のＣＰＵが初期化される場合など、ＶＶＴ進角状態のまま、改めて初回気筒のクランク角判別が行われる場合、上記各公報の装置ではクランク角判別を速やかに且つ正確に行うことができず、気筒別の燃料噴射や点火時期の制御開始が遅れるという問題が生じる。
【０００７】
【発明が解決しようとする課題】
本発明は上記問題に着目してなされたものであって、その目的とするところは、回転位相調整機構の進角状態に関係なく、初回のクランク角判別を好適に行い、ひいては気筒判別を正しく実施して内燃機関の制御性を向上させることができる内燃機関の制御装置を提供することである。
【０００８】
【課題を解決するための手段】
請求項１に記載の発明では、カム軸上の所定の基準回転位置に対応するカムパルス信号を発生させるカム角センサと、所定角度範囲でクランク角の判別区間を設定し、該判別区間に同期したカムパルス信号に基づいて内燃機関のクランク角を判別するクランク角判別手段と、前記判別区間とカムパルス信号との相対位置から初回気筒のクランク角判別時における回転位相調整機構の進角量を推測し、その進角量が所定量以上であれば、クランク角の判別を遅らせる判別遅延手段と、を備える。
【０００９】
本構成によれば、例えばＶＶＴ機構が進角状態となったままで内燃機関が始動され、カム軸の回転に伴い発生するカムパルス信号がクランク角の判別区間から外れる場合に、初回気筒のクランク角判別が禁じられる。そして、カムパルス信号が正確に検出された後、クランク角判別が開始される。かかる場合、一時的にクランク角判別が待たされるものの、判別開始の当初から正確な処理が実施され、気筒の誤判別が防止できる。従って、気筒の誤判別に起因して内燃機関の始動性が低下する等の不都合が解消される。また、ＶＶＴ機構の作用角を見込んで判別区間を広く設定せざるを得ず、結果的にクランク角判別（気筒判別）が遅れるといった不都合も生じない。その結果、ＶＶＴ機構の進角状態に関係なく、機関始動時など、初回のクランク角判別を好適に行い、ひいては気筒判別を正しく実施して内燃機関の制御性を向上させることができる。
【００１０】
上記請求項１の発明では、請求項２に記載したように、初回気筒のクランク角判別時に推測されるＶＶＴ機構の進角量が所定量以上となる場合、気筒別の燃料噴射や点火時期の制御開始を遅らせるとよい。これにより、機関始動時やＥＣＵへの電源瞬断直後において、正規以外の気筒に対し燃料噴射制御や点火時期制御が実施されるといった不都合が解消される。
【００１１】
請求項３に記載の発明では、請求項１又は２に記載の発明において、前記判別遅延手段は、カムパルス信号の発生時から判別区間の終了までの間で回転パルス信号をカウントする手段と、前記カウントされる回転パルス信号のパルス数が予め設定される所定値を越える時、クランク角の判別を禁じる手段とを備える。
【００１２】
上記構成によれば、回転パルス信号のパルス数によりクランク角判別の可否が判定できる。そのため、ＶＶＴ進角量の推測に際し、その推測が簡易に実施できる。また、ＶＶＴ機構とクランク角センサとを併せ持つ既存の装置において、構成上の変更がなくとも本発明が容易に適用できる。
【００１３】
請求項４に記載の発明では、請求項３に記載の発明において、前記判別遅延手段は、前記カウントされる回転パルス信号のパルス数が、ＶＶＴ機構の最遅角状態でのパルス数と異なる場合に、クランク角の判別を禁じる。
【００１４】
ＶＶＴ機構は一般に、機関始動時には最遅角状態で保持され、その状態であれば良好なるクランク角判別が実施できる。それ故、上記発明の如く、ＶＶＴ機構の最遅角状態を基準にクランク角判別を禁じる構成とすることで、クランク角判別の実施適否が正しく判断され、機関始動時など、初回時のクランク角判別がより一層適切に実施できる。
【００１５】
請求項５に記載の発明では、請求項３に記載の発明において、前記判別遅延手段は、前記カウントされる回転パルス信号のパルス数が、ＶＶＴ機構の最遅角状態でのパルス数に、カムパルス信号に影響を与える要素のバラツキを考慮した見込み分を加えたものよりも大きく異なる場合に、クランク角の判別を禁じる。
【００１６】
カムパルス信号に影響を与える要素の一つとして、カムパルス信号を生成するための回転円板（パルス誘起体）が内燃機関のクランク角度に対して数パルス相当分の組み付け公差を持つことが挙げられる。上記請求項５の発明によれば、こうしたカムパルス信号のバラツキが存在する場合にも、センサ組み付け公差分を考慮しつつＶＶＴ機構の進角状態が推測できる。従って、機関始動時など、初回時のクランク角判別がより一層適切且つ確実に実施できる。
【００１７】
また、請求項６に記載の発明では、請求項１〜５の何れかに記載の発明において、前記判別遅延手段によりクランク角判別が遅らされる時、内燃機関が少なくとも１気筒分だけクランキングし、カムパルス信号が正規に検出された後にクランク角判別を開始する。
【００１８】
要するに、クランキング開始時のある気筒でカムパルス信号が正しく検出されず、クランク角判別が禁止されても、それに続いて判別対象となる次の気筒でカムパルス信号が正しく検出されれば、当該気筒での正確なクランク角判別が可能となる。すなわち、例えば気筒毎にカムパルス信号が出力される構成の場合、１気筒分だけクランキングすることで、正確なクランク角判別が開始できるようになる。それ故、請求項６の発明によれば、クランク角判別が一時的に遅らされても、その後、速やかにクランク角判別を開始することができる。
【００１９】
【発明の実施の形態】
以下、この発明を具体化した一実施の形態を図面に従って説明する。
本実施の形態における内燃機関の制御装置は、第１〜第４気筒（以下、＃１〜＃４気筒と記載）を有する４気筒４サイクル内燃機関に適用され、各気筒の特定のクランク角を判別し、且つ該判別したクランク角に応じて気筒別に燃料噴射や点火時期の制御を実施するものである。なお、各気筒の点火順序は＃１→＃３→＃４→＃２であり、＃１及び＃４気筒、＃２及び＃３気筒が、それぞれのピストンが同じ位相で摺動する、いわゆる気筒グループを形成している。従って、例えば同一気筒グループの一方の気筒が爆発行程にあるとき他方の気筒が吸気行程にあることとなる。
【００２０】
はじめに、図１に示す本制御装置についてその概要を説明する。同図１において、クランク軸１の回転は伝達機構２により吸気カム軸３及び排気カム軸４に伝達される。伝達機構２は、クランク軸１に係合されたクランクプーリ５、タイミングベルト６、吸気カム軸３に係合された吸気カムプーリ７、及び排気カム軸４に係合された排気カムプーリ８等によって形成されている。該伝達機構２は通常、これらクランクプーリ５、タイミングベルト６、吸気カムプーリ７及び排気カムプーリ８等を通じて、クランク軸１とカム軸３及び４とが２対１の回転角度に維持されるよう、その伝達係数が設定されている。なお、吸気カム軸３に設けられているカム３ａは、同カム軸３の回転に基づいて吸気バルブ１１を開閉駆動し、排気カム軸４に設けられているカム４ａは、同カム軸４の回転に基づいて排気バルブ１２を開閉駆動する。
【００２１】
吸気カムプーリ７には、該カムプーリ７と吸気カム軸３とを相対回動せしめてクランク軸１とカム軸３との間の回転位相を調整する油圧駆動式のＶＶＴ機構（回転位相調整機構）１０が組み込まれている。ＶＶＴ機構１０は、外部から与えられるＶＶＴ駆動信号に基づき、クランク軸１に対する吸気カム軸３の進角量を制御する。但し、該ＶＶＴ機構１０としてのこのような構成は既に周知であり、同機構１０についての改めての説明は割愛する。
【００２２】
またこの図１の装置では、クランク軸１のクランク角度位置を検出するためのクランク角センサ２０と、吸気カム軸３の基準回転位置を検出するためのカム角センサ３０とが設けられ、これら各センサにより検出されるクランク軸１と吸気カム軸３との相対回転角度を基準として、上記各バルブの開閉タイミング制御や各気筒のクランク角判別が実行されるようになっている。
【００２３】
すなわち、クランク角センサ２０の構成を拡大して示す図２（ａ）において、クランク軸１には、そのクランク軸１と一体に回転するパルス誘起体としてのクランク側円板２１が同軸上に固定されており、同円板２１の周囲には等間隔で多数の突起２２が設けられている。また、それら突起２２に対向するよう電磁ピックアップ式のパルス発生器２３がクランク軸１近傍に配設されている。そして、パルス発生器２３は、突起２２の個々が対向位置に達する毎に１つのパルス（便宜上、以下これをＮＥ信号という）を発生する。
【００２４】
突起２２は、その多くが１０°ＣＡ毎に等間隔で設けられている。但し、クランク軸１が＃１又は＃４気筒の圧縮上死点（以下、＃１ＴＤＣ，＃４ＴＤＣと記載、他の気筒についても同様）に対応するクランク角まで回転した時にパルス発生器２３と対向する突起を「２２ａ」とした場合、クランク軸１の回転方向を基準にこの突起２２ａよりも３歯分の間をおいて進角側には、突起を２歯分欠落させた欠歯部２４ａが形成されている。また、＃２ＴＤＣ，＃３ＴＤＣにてパルス発生器２３と対向する突起を「２２ｂ」とした場合、この突起２２ｂの直前には、突起を２歯分ずつ欠落させた２つの欠歯部２４ｂ，２４ｃが形成されている。
【００２５】
すなわち、＃１，＃４気筒に関しては各ＴＤＣの３０°ＣＡ進角側で欠歯部２４ａにより単一の欠歯が検出されるのに対し、＃２，＃３気筒に関しては各ＴＤＣ直前で欠歯部２４ｂ，２４ｃにより２つ連続する欠歯が検出されるようになっている。
【００２６】
一方、カム角センサ３０の構成を拡大して示す図２（ｂ）において、吸気カム軸３には、そのカム軸３と一体に回転するパルス誘起体としてのカム側円板３１が同軸上に固定されており、同円板３１の周囲には計６個の突起３２ａ，３２ｂ，３２ｃ，３２ｄ，３２ｅ，３２ｆが設けられている。また、それら突起３２ａ〜３２ｆに対向するよう電磁ピックアップ式のパルス発生器３３がカム軸３近傍に配設されている。そして、パルス発生器３３は、突起３２ａ〜３２ｆの個々が対向位置に達する毎に１つのパルス（便宜上、以下これをＧ信号という）を発生する。
【００２７】
より詳細には、計６個の突起のうち、４つの突起３２ａ，３２ｃ，３２ｅ，３２ｆは各々９０°間隔（１８０°ＣＡ間隔）で設けられ、それ以外の２つの突起３２ｂ，３２ｄは、突起３２ｃ，３２ｅの各々１５°（３０°ＣＡ）だけ進角側に設けられている。ここで、１８０°ＣＡ間隔の４つの突起３２ａ，３２ｃ，３２ｅ，３２ｆは、各気筒（＃１〜＃４）のＴＤＣよりも２５°ＣＡだけ進角側の所定位置（ＢＴＤＣ２５°ＣＡ）にカム軸３の回転が達した時にパルス発生器３３と対向するよう、各々設けられる。
【００２８】
図１のＥＣＵ４０において、ＣＰＵ４１には、上記カム角センサ３０（パルス発生器３３）からのＧ信号が入力バッファ４２を介して入力されると共に、上記クランク角センサ２０（パルス発生器２３）からのＮＥ信号が入力バッファ４３を介して入力される。そして、ＣＰＵ４１は、これらＧ信号及びＮＥ信号に基づいて、基準位置検出、各気筒のクランク角判別、回転数算出等の演算処理を行う。
【００２９】
ＣＰＵ４１にはその他にも、始動状態を検出するスタータスイッチ、アイドル状態を検出するアイドルスイッチ等、機関運転状態を検出するためのスイッチ群５１のデジタル信号が入力バッファ４４を介して入力されると共に、吸入空気量を検出するエアフロメータ、冷却水温を検出する水温センサ、バッテリ計等、機関運転状態を検出するためのセンサ群５２のアナログ検出信号がＡ／Ｄ変換器４５を介して入力される。
【００３０】
ＣＰＵ４１は、各スイッチ群５１及びセンサ群５２からの運転状態情報と、前述のＧ信号及びＮＥ信号とに基づいて、最適な点火時期、燃料噴射量及びＶＶＴ進角量を演算する。そして、ＣＰＵ４１は、出力バッファ４６を介してイグナイタ５３に点火信号を出力し、所定の気筒の点火コイル５４に通電すると共に、演算された点火時期に通電を遮断することにより、通電遮断時に発生する高電圧を各気筒の点火プラグ（図示せず）に導き各気筒の混合気を点火燃焼させる。また、ＣＰＵ４１は、出力バッファ４６を介して噴射信号を各気筒毎のインジェクタ５５に出力し、当該インジェクタ５５より吸気マニホールドに燃料を噴射させる。
【００３１】
更に、ＣＰＵ４１は、出力バッファ４６を介してＶＶＴ駆動回路５６にＶＶＴ駆動信号を出力し、ＶＶＴ機構１０を駆動させて吸気カム軸３の進角量を制御する。因みに、当該ＶＶＴ機構１０は、機関始動時には最遅角側（進角量＝０）に制御され、始動後に機関運転状態に応じて所望の進角量に制御されるようになっている。
【００３２】
次に、カム角センサ３０によるＧ信号及びクランク角センサ２０によるＮＥ信号を用い、本実施の形態におけるクランク角判別の実施過程を図３，４のタイムチャートを参照して説明する。ここで、図３は、最遅角状態での各信号のタイムチャートであり、図４は、ＶＶＴ進角量＝６０°ＣＡでの各信号のタイムチャートである。
【００３３】
最遅角状態を示す図３において、Ｇ信号は、＃１〜＃４の全気筒のＢＴＤＣ２５°ＣＡと、＃３，＃４気筒のＢＴＤＣ５５°ＣＡとで各々出力され、ＥＣＵ４０に入力される。
【００３４】
また、＃１〜＃４の各気筒においては、複数個分のＮＥ信号によりクランク角判別区間が設定されており、本実施の形態では同判別区間が「ＢＴＤＣ７０°ＣＡ〜ＴＤＣ」の７０°ＣＡ区間にて設定される。これら各気筒のクランク角判別区間内には、個々に１つの欠歯（以下、「単一欠歯」という）、又は２つ連続する欠歯（以下、「連続欠歯」という）が設けられている。ここで、一方の気筒グループをなす＃１，＃４気筒では、同判別区間内において「単一欠歯」が検出され、他方の気筒グループをなす＃２，＃３気筒では、同判別区間内において「連続欠歯」が検出されることとなる。
【００３５】
なお図中、「ＫＣ」は欠歯カウンタであり、同カウンタは欠歯位置の到来に伴い１ずつカウントアップされる。「ＧＣ」はＧ信号カウンタであり、同カウンタはＧ信号の入力毎に１ずつカウントアップされる。「ＳＥＴＣ」はＧ信号セットカウンタであり、同カウンタはＧ信号の入力時に所定値（本実施の形態では、１０）がセットされ、その後、ＮＥ信号の入力毎に１ずつカウントダウンされる。但し、これらカウンタＫＣ，ＧＣ，ＳＥＴＣは、クランク角判別区間の終了時に何れも０にクリアされるようになっている。
【００３６】
クランク角判別に際しては、欠歯カウンタＫＣの値からＮＥ信号の欠歯の種類（単一又は連続）が認識されると共に、Ｇ信号カウンタＧＣの値からクランク角判別区間内におけるＧ信号の数が認識され、これら認識された両結果に従い＃１〜＃４気筒の各ＴＤＣ位置が各々判別される。
【００３７】
例えば＃１，＃４気筒については、単一欠歯の検出に伴い判別区間の終了時に欠歯カウンタＫＣが１になるのに対し、＃２，＃３気筒については、連続欠歯の検出に伴い判別区間の終了時に欠歯カウンタＫＣが２になる。また一方で、＃１，＃２気筒は、判別区間内に１つのＧ信号が入力されてＧ信号カウンタＧＣが１となるのに対し、＃３，＃４気筒は、判別区間内に２つのＧ信号が入力されてＧ信号カウンタＧＣが２となる。
【００３８】
従って、クランク角判別区間の終了時における各カウンタ値を参照し、
（ａ）ＫＣ＝１，ＧＣ＝１であれば、＃１ＴＤＣである、
（ｂ）ＫＣ＝２，ＧＣ＝２であれば、＃３ＴＤＣである、
（ｃ）ＫＣ＝１，ＧＣ＝２であれば、＃４ＴＤＣである、
（ｄ）ＫＣ＝２，ＧＣ＝１であれば、＃２ＴＤＣである、
といった具合に各々のクランク角判別が可能となる。
【００３９】
また、Ｇ信号セットカウンタＳＥＴＣに着目すると、例えば＃１気筒では、ＢＴＤＣ２５°ＣＡでのＧ信号入力後、ＮＥ信号毎にＧ信号セットカウンタＳＥＴＣが１ずつカウントダウンされ、クランク角判別区間内において「１０→９→８」と推移する。これに対し、＃３気筒では、ＳＥＴＣ値が同判別区間内で「１０→９→１０」と推移し、＃４気筒では、ＳＥＴＣ値が同判別区間内で「１０→９→１０→９→８」と推移し、＃２気筒ではＳＥＴＣ値が同判別区間内で「１０」のままとなる。つまり、図３に示すＶＶＴ最遅角状態では、各気筒の判別区間終了時（各気筒のＴＤＣ）において、＃１，＃４気筒はＳＥＴＣ＝８となり、＃２，＃３気筒はＳＥＴＣ＝１０となる。
【００４０】
一方、６０°ＣＡ進角状態を示す図４において、Ｇ信号は、＃１〜＃４の全気筒のＢＴＤＣ８５°ＣＡと、＃３，＃４気筒のＢＴＤＣ１１５°ＣＡとで各々出力され、ＥＣＵ４０に入力される。
【００４１】
かかる場合、気筒毎のＧ信号がクランク角判別区間から外れるが、基本的には上記ＶＶＴ最遅角時における（ａ）〜（ｄ）と同様に、判別区間終了時における各カウンタ値を参照し、
（ａ）ＫＣ＝１，ＧＣ＝１であれば、＃１ＴＤＣである、
（ｂ）ＫＣ＝２，ＧＣ＝２であれば、＃３ＴＤＣである、
（ｃ）ＫＣ＝１，ＧＣ＝２であれば、＃４ＴＤＣである、
（ｄ）ＫＣ＝２，ＧＣ＝１であれば、＃２ＴＤＣである、
といった具合に各々のクランク角判別が可能となる。すなわち、内燃機関の運転途中において図４の如くＶＶＴ進角が実施されていても、各Ｇ信号の数（ＧＣ値）が正しく検出できれば、上記（ａ）〜（ｄ）の通りクランク角が判別できる。
【００４２】
ところが、ＶＶＴ機構１０が進角側に動作した状態で機関始動が開始される場合、或いはＥＣＵ４０の電源ライン瞬断によりＣＰＵ４１が初期化される場合など、図４の如くＶＶＴ進角状態のまま、改めて初回のクランク角判別が実施される際には、実際のピストンの停止位置を考慮すると、気筒毎のＧ信号の数（ＧＣ値）が正しく認識されず、気筒を誤判別する可能性が生じる。具体的には、ＶＶＴ進角に起因して、例えば＃３，＃４気筒での２つのＧ信号のうち、一方のみが認識される場合、＃３ＴＤＣ，＃４ＴＤＣではＧＣ＝１と誤認識され、気筒の誤判別を招くおそれが生じる。また、＃１，＃２気筒で１つのＧ信号が認識されたとしても、本来、その信号が１つでよいのか又は２つあるのかが特定できなければ、正確に気筒を判別することができない。
【００４３】
そこで本実施の形態では、こうした機関始動時やＥＣＵの電源瞬断時における気筒の誤判別を未然に防止すべく、Ｇ信号とクランク角判別区間との間の相対位置からＶＶＴ進角量を推測し、そのＶＶＴ進角量が所定量以上であれば初回のクランク角判別の実施を遅らせ、Ｇ信号が正確に検出された後にクランク角判別を開始するように構成する。
【００４４】
つまり、各気筒のＴＤＣ（判別区間終了時）におけるＧ信号セットカウンタＳＥＴＣの値に着目し、機関始動時やＥＣＵの電源瞬断時において、初回のクランク角判別時におけるＳＥＴＣ値がＶＶＴ最遅角時と比べて大きく相違する場合、Ｇ信号が判別区間から外れているとみなし、クランク角判別を一時的に禁止する。
【００４５】
例えば、カム角センサ３０のカム側円板３１（パルス誘起体）はクランク角度に対してＮＥ信号数個分の組み付け公差を持つため、この組み付け公差がＧ信号に影響を与える要素となる。それ故、Ｇ信号に影響を与える要素のバラツキを考慮し、初回のクランク角判別時におけるＳＥＴＣ値が、ＶＶＴ最遅角時のＳＥＴＣ値にセンサ組み付け公差の見込み分を加えたものよりも大きく異なる場合に、クランク角判別を禁じる。
【００４６】
本実施の形態では、センサ組み付け公差の見込み分（Ｇ信号バラツキの影響分）をＮＥ信号１個分とし、ＶＶＴ最遅角時のＳＥＴＣ値を基準に、＃１，＃４気筒についてはＳＥＴＣ値の判定値を「８−１＝７」とし、＃２，＃３気筒についてはＳＥＴＣ値の判定値を「１０−１＝９」とする。従って、
・＃１ＴＤＣ，＃４ＴＤＣの検出時にＳＥＴＣ＜７、
・＃２ＴＤＣ，＃３ＴＤＣの検出時にＳＥＴＣ＜９、
であれば、ＶＶＴ進角量が所定の許容量を超えると推測し、クランク角判別を禁止する。
【００４７】
換言すると、ＣＰＵ起動後、初回のクランク角判別時において、
・＃１ＴＤＣ，＃４ＴＤＣの検出時にＳＥＴＣ≧７、
・＃２ＴＤＣ，＃３ＴＤＣの検出時にＳＥＴＣ≧９、
である場合にのみ、ＶＶＴ進角量が所定の許容量よりも小さいと推測し、最初のＧ信号情報を用いてクランク角判別を実施する。
【００４８】
クランク角判別が禁止される場合には、気筒別の燃料噴射や点火時期の制御を直ちに開始せず、気筒毎のＧ信号の数を正しく検出した後、クランク角判別の実施と共に上記制御を開始する。
【００４９】
因みに、図４において例えば＃１気筒でのＴＤＣ判別が禁止された後、続く＃３気筒では、相変わらずＧ信号が判別区間外となるが、その時点では２つのＧ信号が検出されてＧ信号カウンタＧＣが正しくカウントされ、＃３ＴＤＣが正確に判別できる。以後も同様に、Ｇ信号が判別区間外となってもＧ信号カウンタＧＣが正しくカウントされるので、正確なクランク角判別が可能となる。すなわち、４気筒内燃機関の場合、最大で約１８０°ＣＡ（１気筒分）だけクランク角判別が遅れ、その後、クランク角判別が開始されることとなる。
【００５０】
図５は、ＣＰＵ４１により実行されるＧ信号の割込み処理を示すフローチャートであり、Ｇ信号の割込みに伴い同図の処理が起動されると、先ずステップ１０１では、Ｇ信号カウンタＧＣを１インクリメントする。続くステップ１０２では、Ｇ信号セットカウンタＳＥＴＣに「１０」をセットし、その後本処理を一旦終了する。
【００５１】
また、図６〜図８は、ＣＰＵ４１により実行されるＮＥ信号の割込み処理を示すフローチャートであり、同処理により気筒毎のクランク角判別が実施される。先ず図６のステップ２０１では、ＮＥ信号のパルス間隔ｔｃｒを計測し、続くステップ２０２では、前記計測したパルス間隔の今回値ｔｃｒ（ｉ）と前回値ｔｃｒ（ｉ−１）とからパルス間隔比率ｔｒａｔｉｏを、
ｔｒａｔｉｏ＝ｔｃｒ（ｉ）／ｔｃｒ（ｉ−１）
として算出する。その後、ステップ２０３では、欠歯カウンタＫＣが１であるか否かを判別し、当初はＫＣの初期値が０のため、ステップ２０４に進む。
【００５２】
その後、ステップ２０４では、前記算出したパルス間隔比率ｔｒａｔｉｏと所定値Ｋｈ（１＜Ｋｈ＜３）とを比較し、ｔｒａｔｉｏ≧Ｋｈであるか否かによって、クランク角センサ２０が欠歯位置を検出したか否かを判別する。
【００５３】
今回が欠歯位置でなくステップ２０４が否定判別されると、そのままステップ２０６に進む。また、クランク角センサ２０が欠歯位置を検出してステップ２０４が肯定判別されると、ステップ２０５で欠歯カウンタＫＣに１をセットした後、ステップ２０６に進む。ステップ２０６，２０７では、Ｇ信号カウンタＧＣが１以上であることを条件に、Ｇ信号セットカウンタＳＥＴＣを１デクリメントし、その後本処理を一旦終了する。つまり、今回のＮＥ信号割込みよりも先に前記図５のＧ信号割込みによりＧＣ値が１又は２に操作されていれば、ＳＥＴＣ値が１デクリメントされる。
【００５４】
次のＮＥ割込み処理ではＫＣ＝１であるため、ステップ２０３からステップ２０８に進む。ステップ２０８では、ＮＥ信号カウンタＮＣが０であるか否かを判別する。はじめてステップ２０８に進んだ時はＮＣ＝０であるので、当該ステップ２０８を肯定判別してステップ２０９に進む。
【００５５】
ステップ２０９では、ＮＥ信号のパルス間隔比率ｔｒａｔｉｏと所定値Ｋｊ（０．３＜Ｋｊ＜１）とを比較し、ｔｒａｔｉｏ≧Ｋｊであれば、ステップ４００に進んで連続欠歯の検出処理を実行する。すなわち、ステップ２０９が肯定判別されることは、連続欠歯が検出されたことを意味し、ステップ４００では後述する図８の連続欠歯検出処理を実行する。具体的には、＃２ＴＤＣ，＃３ＴＤＣでは、上記ステップ２０９が肯定判別される。
【００５６】
また、ＮＣ≠０又はｔｒａｔｉｏ＜Ｋｊの場合には、ステップ２１０に進んでＮＥ信号カウンタＮＣを１インクリメントし、続くステップ２１１では、ＮＣ＝３であるか否かを判別する。当初はＮＣ≠３であるため、ステップ２０６に進み、ＧＣ値に応じてＳＥＴＣ値の減算処理を実施し、その後本処理を一旦終了する。
【００５７】
その後、ＮＥ信号毎にステップ２１０が繰り返されてＮＣ＝３になると、ステップ２１１を肯定判別してステップ３００に進む。ステップ２１１が肯定判別されることは、単一欠歯が検出されたことを意味し、ステップ３００では後述する図７の単一欠歯検出処理を実行する。例えば＃１気筒や＃４気筒において、単一欠歯の検出後にＮＥ信号が３回入力される時、すなわち＃１，＃４ＴＤＣに達した時、ステップ２１１が肯定判別されることとなる（図３，４参照）。
【００５８】
次に、単一欠歯検出処理について、図７のフローチャートに従い説明する。
図７のステップ３０１では、機関始動時など、初回のクランク角判別時にＶＶＴ機構１０が進角状態にあることを表すＶＶＴ進角フラグＸＡＤＶが１であるか否かを判別する。例えば機関始動当初にはＸＡＤＶ＝０であるためステップ３０２に進み、その時のＳＥＴＣ値が７以上かどうかにより、ＶＶＴ進角状態でなくＧ信号の数が正しく検出できるか否か（判別区間内にＧ信号が位置しているか否か）を判別する。
【００５９】
そして、ＳＥＴＣ≧７であれば、Ｇ信号の数が正しく認識できると判断し、ステップ３０４〜３０７において、その時のＧＣ値を基に＃１ＴＤＣ又は＃４ＴＤＣを判別する。すなわち、ＧＣ＝１であれば（ステップ３０４がＹＥＳ）、ステップ３０６で＃１ＴＤＣである旨を判別し、ＧＣ＝２であれば（ステップ３０５がＹＥＳ）、ステップ３０７で＃４ＴＤＣである旨を判別する。
【００６０】
図７でのＴＤＣ判別後、図６に戻ってステップ２１２→２１３へ順次進み、各カウンタＮＣ，ＫＣ，ＳＥＴＣ，ＧＣをそれぞれ０にクリアして本処理を終了する。なお、例えばノイズ等の影響によりＧＣ≠１，２となる場合には、図７のステップ３０６，３０７のＴＤＣ判別を行わずそのまま図６のステップ２１２に進む。
【００６１】
また、ステップ３０２で、ＳＥＴＣ＜７であると判別される場合、ＶＶＴ進角状態にありＧ信号の数が正しく認識できない可能性があると判断し、ステップ３０３に進んでＶＶＴ進角フラグＸＡＤＶに１をセットする。その後、図６に戻りステップ２１２，２１３を順次実行する。すなわちこの時、気筒の誤判別の可能性があるため、クランク角判別が実施されない。
【００６２】
ＸＡＤＶ＝１が一旦セットされると、次回からはステップ３０１を肯定判別してステップ３０２を読み飛ばし、直接ステップ３０４に進む。そして、ステップ３０４〜３０７において、ＧＣ値に基づいて＃１ＴＤＣ又は＃４ＴＤＣを判別する。
【００６３】
上述した図３の場合、＃１，＃４ＴＤＣの判別に際し、ＳＥＴＣ＝８となるのでステップ３０２がＹＥＳとなり、直ちにクランク角判別の実施が許可されるのに対し、図４の場合、ＳＥＴＣ＝４となるのでステップ３０２がＮＯとなり、その時のクランク角判別が一時的に禁じられることとなる。
【００６４】
次に、連続欠歯検出処理について、図８のフローチャートに従い説明する。
図８のステップ４０１では、ＶＶＴ進角フラグＸＡＤＶが１であるか否かを判別する。例えば機関始動当初にはＸＡＤＶ＝０であるためステップ４０２に進み、その時のＳＥＴＣ値が９以上かどうかにより、ＶＶＴ進角状態でなくＧ信号の数が正しく検出できるか否か（判別区間内にＧ信号が位置しているか否か）を判別する。
【００６５】
そして、ＳＥＴＣ≧９であれば、Ｇ信号の数が正しく認識できると判断し、ステップ４０４〜４０７において、その時のＧＣ値を基に＃２ＴＤＣ又は＃３ＴＤＣを判別する。すなわち、ＧＣ＝１であれば（ステップ４０４がＹＥＳ）、ステップ４０６で＃２ＴＤＣである旨を判別し、ＧＣ＝２であれば（ステップ４０５がＹＥＳ）、ステップ４０７で＃３ＴＤＣである旨を判別する。
【００６６】
図８でのＴＤＣ判別後、図６に戻ってステップ２１３へ進み、各カウンタＫＣ，ＳＥＴＣ，ＧＣをそれぞれ０にクリアして本処理を終了する。なお、例えばノイズ等の影響によりＧＣ≠１，２となる場合には、図８のステップ４０６，４０７のクランク角判別を行わずそのまま図６のステップ２１３に進む。
【００６７】
また、ステップ４０２で、ＳＥＴＣ＜９であると判別される場合、ＶＶＴ進角状態にありＧ信号の数が正しく認識できない可能性があると判断し、ステップ４０３に進んでＶＶＴ進角フラグＸＡＤＶに１をセットする。その後、図６に戻りステップ２１３を実行する。すなわちこの時、気筒の誤判別の可能性があるため、クランク角判別が実施されない。
【００６８】
ＸＡＤＶ＝１が一旦セットされると、次回からはステップ４０１を肯定判別してステップ４０２を読み飛ばし、直接ステップ４０４に進む。そして、ステップ４０４〜４０７において、ＧＣ値に基づいて＃２ＴＤＣ又は＃３ＴＤＣを判別する。
【００６９】
上述した図３の場合、＃２，＃３ＴＤＣの判別に際し、ＳＥＴＣ＝１０となるのでステップ４０２がＹＥＳとなり、直ちにクランク角判別の実施が許可されるのに対し、図４の場合、ＳＥＴＣ＝６となるのでステップ４０２がＮＯとなり、その時のクランク角判別が一時的に禁じられることとなる。
【００７０】
上記ステップ３０６，３０７，４０６，４０７の何れかで初回のクランク角判別が完了する迄は、気筒別の燃料噴射や点火時期の制御開始が待たされ、同クランク角判別が完了すると、それを受けて気筒別の燃料噴射や点火時期の制御が順次開始される。
【００７１】
上記図６〜８の処理によれば、初回のクランク角判別時にＶＶＴ進角状態にあると判断されてステップ３０２又は４０２の何れかが否定判別される場合、その時のＮＥ信号割込みではクランク角判別が禁止されるが、その後、約１８０°ＣＡ（１気筒分）だけクランキングすると、次気筒のＴＤＣでのＮＥ信号割込み時には、ＳＥＴＣ値に関係なくクランク角判別が開始される。
【００７２】
以上詳述した本実施の形態によれば、以下に示す効果が得られる。
（１）クランク角判別区間とＧ信号（カムパルス信号）との相対位置から初回気筒のクランク角判別時におけるＶＶＴ機構１０の進角量を推測し、その進角量が所定量以上であれば、クランク角の判別を遅らせることとしたので、一時的にクランク角判別が待たされるものの、判別開始の当初から正確な処理が実施され、気筒の誤判別が防止できる。従って、気筒の誤判別に起因して内燃機関の始動性が低下する等の不都合が解消される。また、ＶＶＴ機構１０の作用角を見込んで判別区間を広く設定せざるを得ず、結果的にクランク角判別（気筒判別）が遅れ、始動性が悪化する、といった不都合も生じない。その結果、ＶＶＴ機構１０の進角状態に関係なく、機関始動時など、初回のクランク角判別を好適に行い、ひいては気筒判別を正しく実施して機関始動性や始動後の制御性を向上させることができる。
【００７３】
（２）初回気筒のクランク角判別時に推測されるＶＶＴ機構１０の進角量が所定量以上となる場合、気筒別の燃料噴射や点火時期の制御開始を遅らせるので、機関始動時やＥＣＵの電源瞬断直後において、正規以外の気筒に対し燃料噴射制御や点火時期制御が実施されるといった不都合が解消される。
【００７４】
（３）Ｇ信号の発生時から判別区間の終了までの間でＮＥ信号（回転パルス信号）をカウントし、該ＮＥ信号のパルス数が予め設定される所定値を越える時、クランク角の判別を禁じるので、ＶＶＴ進角量の推測に際し、その推測が簡易に実施できる。また、ＶＶＴ機構とクランク角センサとを併せ持つ既存の装置において、構成上の変更がなくとも本実施形態の処理が容易に適用できる。
【００７５】
（４）初回気筒のクランク角判別時において、カム角センサ３０の組み付け公差（Ｇ信号バラツキ）を見込んだ判定値で、その時々のＳＥＴＣ値が判定されるので、その公差分を考慮しつつＶＶＴ進角状態が正確に把握でき、ひいては機関始動時などにおけるクランク角判別がより一層適切且つ確実に実施できる。
【００７６】
（５）クランク角判別が遅らされる時、内燃機関が１気筒分だけクランキングした後にクランク角判別が開始されるので、仮にクランク角判別が一時的に遅らされても、その後、速やかにクランク角判別を開始することができる。
【００７７】
なお本発明は、上記以外に次の形態にて具体化できる。
上記実施の形態では、初回のクランク角判別時におけるＳＥＴＣ値の判定値を、カム角センサ３０の組み付け公差（Ｇ信号バラツキ）を見込んで＃１，＃４気筒は「７」、＃２，＃３気筒は「９」としていた。かかる場合、このＧ信号バラツキ分を除けば、ＶＶＴ進角の許容量はＮＥ信号の１間隔（１０°ＣＡ）未満であった。これに対し、ＶＶＴ進角の許容量を例えばＮＥ信号の１，２個分程度（１０〜２０°ＣＡ程度）とし、その許容範囲内ではＶＶＴ進角状態であっても初回のクランク角判別の実施を許可するようにしてもよい。具体的には、ＳＥＴＣ値の判定値を、＃１，＃４気筒は「５（又は６）」とし、＃２，＃３気筒は「７（又は８）」とする。この場合、
・＃１ＴＤＣ，＃４ＴＤＣの検出時にＳＥＴＣ＜５、
・＃２ＴＤＣ，＃３ＴＤＣの検出時にＳＥＴＣ＜７、
であれば、ＶＶＴ進角量が所定の許容量を超えると推測し、クランク角判別を禁止する。
【００７８】
また、カム角センサ３０の組み付け公差（Ｇ信号バラツキ）を考慮せずに前記ＳＥＴＣ値の判定値を設定する構成でもよい。例えば、初回のクランク角判別時におけるＳＥＴＣ値が、「ＶＶＴ最遅角状態」でのＳＥＴＣ値と異なる場合、或いは「ＶＶＴ最遅角状態＋ＶＶＴ進角の許容量」でのＳＥＴＣ値よりも小さい場合に、クランク角判別を禁じることとする。
【００７９】
上記実施の形態では、Ｇ信号割込み（図５の処理）を実施し、同割込みにてＧ信号カウンタＧＣの加算処理やＧ信号セットカウンタＳＥＴＣのセット処理を行ったが、これを変更する。例えば、Ｇ信号入力をそれに続くＮＥ信号入力時までラッチしておき、当該ＮＥ信号の割込みにてＧＣ値の加算処理やＳＥＴＣ値のセット処理を行う（図５の処理を図６に盛り込む）。かかる場合、Ｇ信号直後のＮＥ信号ではＳＥＴＣ値が減算されないため、ＳＥＴＣ値が前記図３，４中の数値とは異なるが、その分ＶＶＴ進角状態を判定する際のＳＥＴＣ値の判定値を変更すればよい。
【００８０】
こうしてＮＥ信号の割込みにてＧＣ値の加算処理やＳＥＴＣ値のセット処理を行う場合、実際には、ＶＶＴ最遅角状態を表す図３において、＃１，＃４気筒の判別区間内でＳＥＴＣ値が「１０→９」と推移する。それ故、前記図７のステップ３０２の処理を「ＳＥＴＣ≧８か？」の処理に変更し、ＳＥＴＣ＜８の場合に、ＶＶＴ進角状態にありＧ信号の数が正しく認識できない可能性があると判断し、ＶＶＴ進角フラグＸＡＤＶに１をセットしてその割込み時におけるクランク角判別を禁止する。上記の通り、各カウンタの操作を何れもＮＥ信号割込みにて実施すれば、Ｇ信号とＮＥ信号との間の時間間隔が非常に短くても、各カウンタの動作が確実に実施できる。
【００８１】
上記実施の形態では、Ｇ信号入力時に「ＳＥＴＣ＝１０」をセットし、以降ＮＥ信号入力毎にＳＥＴＣ値を減算したが、この構成を変更する。例えばＧ信号入力後のＮＥ信号入力毎に０から１ずつカウントアップするカウンタを用い、同カウンタの値に基づきＶＶＴ進角量を推測する構成としてもよい。
【００８２】
上記実施の形態では、クランク角判別に際し、各気筒のＴＤＣ位置を判別したが、これに限らず、他のクランク角度を判別する構成としてもよい。その判別されるクランク角度が変更される場合、それに合わせてクランク角判別区間が変更される。
【００８３】
上記実施の形態では、４気筒内燃機関についてその実施具体例を記載したが、４気筒以外の多気筒内燃機関についても勿論適用できる。４気筒以外の多気筒内燃機関で実施する際には、クランク角センサやカム角センサのパルス出力位置や基準位置（欠歯位置）を適宜変更して具体化すればよい。
【図面の簡単な説明】
【図１】発明の実施の形態における内燃機関の制御装置の概要を示す構成図。
【図２】クランク角センサとカム角センサとを拡大して示す構成図。
【図３】ＶＶＴ機構が最遅角状態にある時の信号出力形態を示すタイムチャート。
【図４】ＶＶＴ機構が６０°ＣＡ進角状態にある時の信号出力形態を示すタイムチャート。
【図５】Ｇ信号の割込み処理を示すフローチャート。
【図６】クランク角判別のためのＮＥ信号の割込み処理を示すフローチャート。
【図７】単一欠歯の検出処理を示すフローチャート。
【図８】連続欠歯の検出処理を示すフローチャート。
【符号の説明】
１…クランク軸、２…伝達機構、３…吸気カム軸、１０…ＶＶＴ機構（回転位相調整機構）、２０…クランク角センサ、３０…カム角センサ、４０…ＥＣＵ、４１…クランク角判別手段，判別遅延手段を構成するＣＰＵ。
【図１】
0004075205.tif 000002
【図２】
0004075205.tif 000003
【図３】
0004075205.tif 000004
【図４】
0004075205.tif 000005
【図５】
0004075205.tif 000006
【図６】
0004075205.tif 000007
【図７】
0004075205.tif 000008
【図８】
0004075205.tif 000009