(57)【特許請求の範囲】
【請求項１】
エンジンのクランク角に対応した信号と、該信号間で気筒グループを識別するための追加信号とを発生する第１の信号発生手段と、
上記第１の信号発生手段で発生する信号間で、気筒に対応した気筒判別信号を発生する第２の信号発生手段と、
上記第１信号発生手段の信号間における上記気筒判別信号の状態に基づいて気筒を判別する気筒判別手段と、
上記エンジンの燃焼行程順に基づいて、上記気筒判別手段で判別した気筒の次の気筒を推定する気筒推定手段と、
上記第１の信号発生手段で発生する信号の信号間隔の変化に基づいて上記気筒グループを判別するグループ判別手段と、
上記エンジンの燃焼行程順に基づいて、上記グループ判別手段で判別した気筒グループの次の気筒グループを推定するグループ推定手段と、
上記気筒推定手段で推定した前回の気筒推定結果と、上記気筒判別手段で判別した今回の気筒判別結果とから気筒判別結果の異常を判定する気筒判別異常判定手段と、
上記グループ推定手段で推定した前回の気筒グループ推定結果と、上記グループ判別手段で判別した今回の気筒グループ判別結果とから気筒グループ判別結果の異常を判定するグループ判別異常判定手段と、
上記グループ判別異常判定手段の判定結果が正常である場合、上記気筒判別異常判定手段の判定結果に応じて、上記気筒判別手段で判別した今回の気筒と上記気筒推定手段で前回推定した今回の気筒とから制御対象とする気筒を確定する気筒確定手段と
を備えたことを特徴とするエンジンの気筒判別装置。
【請求項２】
上記気筒確定手段は、
上記気筒判別異常判定手段の判定結果と上記グループ判別異常判定手段の判定結果とが共に異常の場合、或いは上記グループ判別異常判定手段の判定結果が異常の場合、上記気筒判別手段の判別結果及び上記グループ判別手段の判別結果を初期化することを特徴とする請求項１記載のエンジンの気筒判別装置。
【請求項３】
上記気筒確定手段は、
上記気筒判別異常判定手段による判定結果が異常の場合、異常判定結果が連続して設定回数に達するまでは上記気筒推定手段で前回推定した今回の気筒を制御対象とする気筒として確定し、異常判定結果が連続して設定回数以上となった場合、上記気筒判別手段で判別した今回の気筒を制御対象とする気筒として確定、或いは上記気筒判別手段の判別結果及び上記グループ判別手段の判別結果を初期化することを特徴とする請求項１又は２記載のエンジンの気筒判別装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、信号へのノイズ混入や信号瞬断に対しても、より確実性の高い気筒を制御対象気筒とするエンジンの気筒判別装置に関する。
【０００２】
【従来の技術】
一般に、多気筒エンジンにおいては、気筒に対応して点火時期や燃料噴射の制御タイミングを決定しており、クランク軸に対して設置したセンサからのクランク角に対応する信号と、カム軸に対して設置したセンサからの気筒判別信号との２系統の信号を処理して気筒を判別している。この気筒判別に際しては、誤判別による誤った気筒への燃料噴射や点火を防止する対策が重要であり、このため、従来から種々の提案がなされている。
【０００３】
例えば、特開平１１−３４３９１９号公報には、各気筒の行程位相差毎の気筒判別信号に基づく前回の気筒判別結果から今回の気筒判別結果を予測し、予測した気筒判別結果と気筒判別信号に基づく気筒判別結果とを比較し、両者が異なるときには、予測した結果を今回の気筒判別結果とすることで、気筒判別信号にノイズが重畳しても誤った気筒への燃料噴射や点火を回避する技術が開示されている。
【０００４】
【発明が解決しようとする課題】
しかしながら、前述の先行技術では、気筒判別信号にノイズが混入した場合には、正しい気筒判別を維持できるものの、各気筒の行程位相差毎に出力される基準信号（クランク角に対応した信号）にノイズが混入したり、瞬断による基準信号の信号抜けが発生したような場合には、気筒の推定に誤りを生じる可能性があり、誤った気筒に対して燃料噴射や点火を行なう虞がある。
【０００５】
本発明は上記事情に鑑みてなされたもので、クランク角に対応した信号及び気筒判別信号の何れにノイズ混入や信号瞬断が発生した場合においても、より確実性の高い気筒を燃料噴射や点火の対象としてエンジンの不具合を未然に防止することのできるエンジンの気筒判別装置を提供することを目的としている。
【０００６】
【課題を解決するため課題】
上記目的を達成するため、請求項１記載の発明は、エンジンのクランク角に対応した信号と、該信号間で気筒グループを識別するための追加信号とを発生する第１の信号発生手段と、上記第１の信号発生手段で発生する信号間で、気筒に対応した気筒判別信号を発生する第２の信号発生手段と、上記第１信号発生手段の信号間における上記気筒判別信号の状態に基づいて気筒を判別する気筒判別手段と、上記エンジンの燃焼行程順に基づいて、上記気筒判別手段で判別した気筒の次の気筒を推定する気筒推定手段と、上記第１の信号発生手段で発生する信号の信号間隔の変化に基づいて上記気筒グループを判別するグループ判別手段と、上記エンジンの燃焼行程順に基づいて、上記グループ判別手段で判別した気筒グループの次の気筒グループを推定するグループ推定手段と、上記気筒推定手段で推定した前回の気筒推定結果と、上記気筒判別手段で判別した今回の気筒判別結果とから気筒判別結果の異常を判定する気筒判別異常判定手段と、上記グループ推定手段で推定した前回の気筒グループ推定結果と、上記グループ判別手段で判別した今回の気筒グループ判別結果とから気筒グループ判別結果の異常を判定するグループ判別異常判定手段と、上記グループ判別異常判定手段の判定結果が正常である場合、上記気筒判別異常判定手段の判定結果に応じて、上記気筒判別手段で判別した今回の気筒と上記気筒推定手段で前回推定した今回の気筒とから制御対象とする気筒を確定する気筒確定手段とを備えたことを特徴とする。
【０００８】
請求項２記載の発明は、請求項１記載の発明において、上記気筒確定手段は、上記気筒判別異常判定手段の判定結果と上記グループ判別異常判定手段の判定結果とが共に異常の場合、或いは上記グループ判別異常判定手段の判定結果が異常の場合、上記気筒判別手段の判別結果及び上記グループ判別手段の判別結果を初期化することを特徴とする。
【０００９】
請求項３記載の発明は、請求項１又は２記載の発明において、上記気筒確定手段は、上記気筒判別異常判定手段による判定結果が異常の場合、異常判定結果が連続して設定回数に達するまでは上記気筒推定手段で前回推定した今回の気筒を制御対象とする気筒として確定し、異常判定結果が連続して設定回数以上となった場合、上記気筒判別手段で判別した今回の気筒を制御対象とする気筒として確定、或いは上記気筒判別手段の判別結果及び上記グループ判別手段の判別結果を初期化することを特徴とする。
【００１０】
すなわち、請求項１記載の発明は、エンジンのクランク角に対応した信号と該信号間で気筒グループを識別するための追加信号とからなる信号列の信号間における気筒判別信号の状態に基づいて気筒を判別し、判別した気筒の次の気筒をエンジンの燃焼行程順に基づいて推定する。また、エンジンのクランク角に対応した信号と該信号間で気筒グループを識別するための追加信号とからなる信号列における信号間隔の変化に基づいて気筒グループを判別し、判別した気筒グループの次の気筒グループをエンジンの燃焼行程順に基づいて推定する。そして、前回の気筒推定結果と今回の気筒判別結果とから気筒判別結果の異常を判定すると共に、前回の気筒グループの推定結果と今回の気筒グループの判別結果とから気筒グループの判別結果の異常を判定し、気筒グループの判別結果が正常である場合、気筒判別結果の異常判定結果に応じ、今回判別した気筒と前回推定した今回の気筒とから制御対象とする気筒を確定する。
【００１２】
請求項２記載の発明は、気筒判別結果とグループ判別結果とが共に異常の場合、或いはグループ判別結果が異常の場合、気筒判別結果及びグループ判別結果を初期化する。
【００１３】
請求項３記載の発明は、気筒判別結果が異常の場合、異常が連続して設定回数に達するまでは前回推定した今回の気筒を制御対象とする気筒として確定し、異常が連続して設定回数以上となった場合、今回の気筒を制御対象とする気筒として確定、或いは気筒判別結果及びグループ判別結果を初期化する。
【００１４】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。図１〜図９は本発明の実施の第１形態に係わり、図１はエンジン制御系の全体図、図２はクランクロータとクランク角センサの正面図、図３はカムロータとカム角センサの正面図、図４はクランク角センサ信号とカム角センサ信号との関係を示すタイムチャート、図５は気筒判別に係わる機能ブロック図、図６は気筒判別・推定ルーチンのフローチャート、図７はカム角センサ信号数計測ルーチンのフローチャート、図８はグループ判別・推定ルーチンのフローチャート、図９は気筒確定ルーチンのフローチャートである。
【００１５】
図１において、符号１はエンジン（図１においては、直列４気筒型自然吸気式エンジン）であり、このエンジン１のシリンダヘッド２に形成された各吸気ポート２ａにインテークマニホルド３が連通されている。インテークマニホルド３には、各気筒の吸気通路が集合するエアチャンバ４を介して吸気管５が連通され、吸気管５の吸入空気取入れ口側に、エアクリーナ６が取付けられている。
【００１６】
また、吸気管５にはスロットルボディ７が取付けられ、このスロットルボディ７の吸気通路にスロットル弁８が介装されている。スロットルボディ７には、スロットル弁８の上流側と下流側とを連通するバイパス通路が形成されており、このバイパス通路に、冷却水温が低いとき開弁し、エンジン冷態始動時及び暖機運転中に必要な量の空気をスロットル弁８をバイパスさせて燃焼室に供給してファーストアイドル制御を行なうためのサーモエアバルブ９が介装されている。
【００１７】
また、インテークマニホルド３の各気筒の各吸気ポート２ａ直上流側にインジェクタ１０が臨まされ、デリバリパイプ１１に連通されている。デリバリパイプ１１には、プレッシャレギュレータ１２が取付けられており、図示しない燃料ポンプによって燃料供給ライン１３からデリバリパイプ１１内に圧送される燃料がプレッシャレギュレータ１２で調圧されて燃料リターンライン１４から燃料タンク１５に戻され、デリバリパイプ１１内の燃料圧力すなわちインジェクタ１０への燃料供給圧力が設定圧力に調圧される。
【００１８】
燃料タンク１５は、燃料タンク１５内で発生した蒸発燃料を吸気系にパージするため、その上部からパージ通路１６が延出され、万一の車両横転による燃料漏れを防止するためのロールオーババルブ１７及び２ウェイバルブ１８を経て活性炭等からなる吸着部を備えたキャニスタ１９に連通されている。パージ通路１６のキャニスタ１９下流側は、チェックバルブ２０を介してスロットルボディ７の吸気通路（スロットル弁８が全閉状態でスロットル弁８の直下流位置）に連通されている。
【００１９】
また、エンジン１のクランク室に連通するブローバイガス通路２１がシリンダヘッド２から延出され、エアクリーナ６の直上流側に連通されている。シリンダヘッド２には、各気筒毎に、その放電電極部を燃焼室に露呈する点火プラグ２２が配設されている。本形態のエンジン１では、同一の気筒グループに属する２つの気筒に対して１つの点火コイルを設置する同時点火方式を採用しており、＃１，＃４気筒を＃１グループ、＃２，＃３気筒を＃２グループとして、各グループ毎にイグナイタを内蔵する点火コイル２３が備えられ、点火プラグ２２に接続されている。更に、シリンダヘッド２の各排気ポート２ｂに連通するエグゾーストマニホルド２４の合流部に、触媒コンバータ２５が介装され、図示しない排気管に連通されている。
【００２０】
一方、符号５０は、マイクロコンピュータ等からなる電子制御装置（ＥＣＵ）である。ＥＣＵ５０は、内部のメモリに記憶されている制御プログラムに従って、センサ類で検出した運転状態に基づいてインジェクタ１０や点火コイル２３に内蔵されるイグナイタ等のアクチュエータ類に対する制御量を演算し、燃料噴射制御、点火時期制御等のエンジン制御を行う。
【００２１】
ＥＣＵ５０に接続されるセンサ類としては、エアチャンバ４に、スロットル弁８下流の吸気管圧力を絶対圧で検出する吸気管圧力センサ３０がフィルタ３１を介して取付けられ、シリンダヘッド２に設けられた冷却水通路２ｃに冷却水温センサ３２が臨まされている。また、触媒コンバータ２５の直上流側には、Ｏ2センサ３３が配設されている。
【００２２】
また、エンジン１のクランク軸１ａに軸着するクランクロータ３４の外周に、ホール素子等の磁気センサからなるクランク角センサ３５が対設されている。更に、クランク軸１ａに対して１／２回転するカム軸１ｂに軸着するカムロータ３６の外周に、ホール素子等の磁気センサからなるカム角センサ３７が対設されている。尚、クランクロータ３４及びクランク角センサ３５によって本発明の第１の信号発生手段が構成され、カムロータ３６及びカム角センサ３７によって本発明の第２の信号発生手段が構成される。
【００２３】
クランクロータ３４は、図２に示すように、その外周に２個の凹部３４ａと１個の凹部３４ｂが形成されている。本形態では、凹部３４ａが各気筒（＃１，＃４気筒と＃２，＃３気筒）のＢＴＤＣ（圧縮上死点前）６５°〜ＢＴＤＣ１５°に対応して配設され、凹部３４ｂが＃１グループ（＃１，＃４気筒）のＡＴＤＣ（圧縮上死点後）０°〜ＡＴＤＣ２０°に対応して配設されている。尚、以下、クランク角の表示として、ＢＴＤＣをＢ、ＡＴＤＣをＡで表すと共に角度の単位記号”°”を省略して略記（例えば、ＢＴＤＣ６５°はＢ６５、ＡＴＤＣ２０°はＡ２０）する。
【００２４】
図３に示すように、カムロータ３６の外周には、４個の凹部３６ａ、２個の凹部３６ｂ、３個の凹部３６ｃ、１個の凹部３６ｄが形成されている。本形態では、４個の凹部３６ａが＃１気筒のＢ２０５〜Ｂ１９０、Ｂ１７５〜Ｂ１６０、Ｂ１４５〜Ｂ１３０、Ｂ１１５〜Ｂ１００に対応して配設され、２個の凹部３６ｂが＃２気筒のＢ１４５〜Ｂ１３０、Ｂ１１５〜Ｂ１００に対応して配設されている。更に、３個の凹部３６ｃが＃４気筒のＢ１７５〜Ｂ１６０、Ｂ１４５〜Ｂ１３０、Ｂ１１５〜Ｂ１００に対応して配設され、１個の凹部３６ｄが＃３気筒のＢ１１５〜Ｂ１００に対応して配設されている。
【００２５】
そして、エンジン運転に伴いクランク軸１ａ及びカム軸１ｂが回転してクランクロータ３４及びカムロータ３６が回転すると、クランクロータ３４の各凹部３４ａ、３４ｂがクランク角センサ３５で検出され、カムロータ３６の各凹部３６ａ，３６ｂ，３６ｃ，３６ｄがカム角センサ３７で検出される。本形態では、クランク角センサ３５でクランクロータ３４の凹部３４ａ、３４ｂを検出したとき、ハイレベルのパルス信号ＣＲが出力され、カム角センサ３７でカムロータ３６の凹部３６ａ，３６ｂ，３６ｃ，３６ｄを検出したとき、ハイレベルのパルス信号ＣＡＭが出力される。
【００２６】
すなわち、図４のタイムチャートに示すように、クランク角センサ３５からは、各気筒のＢ６５〜Ｂ１５に対応するパルス幅の信号、＃１，＃４気筒のＡ０〜Ａ２０に対応するパルス幅の信号が出力される。このＡ０〜Ａ２０に対応するパルス幅の信号は、気筒グループを判別するための追加的な信号である。また、カム角センサ３７からは、＃１気筒のＢ２０５〜Ｂ１９０に対応するパルス幅、Ｂ１７５〜Ｂ１６０に対応するパルス幅、Ｂ１４５〜Ｂ１３０に対応するパルス幅、Ｂ１１５〜Ｂ１００に対応するパルス幅の４個の信号、＃２気筒のＢ１４５〜Ｂ１３０に対応するパルス幅、Ｂ１１５〜Ｂ１００に対応するパルス幅の２個の信号、＃４気筒のＢ１７５〜Ｂ１６０に対応するパルス幅、Ｂ１４５〜Ｂ１３０に対応するパルス幅、Ｂ１１５〜Ｂ１００に対応するパルス幅の３個の信号、＃３気筒のＢ１１５〜Ｂ１００に対応するパルス幅の１個の信号が出力される。
【００２７】
ＥＣＵ５０においては、クランク角センサ３５から出力されるパルス信号の入力間隔時間に基づいてエンジン回転数を算出すると共に、クランク角センサ３５からのパルス信号、及びカム角センサ３７からのパルス信号に基づいて燃料噴射対象気筒や点火対象気筒を気筒判別し、また、クランク角センサ３５から出力されるグループ判別用のパルス信号を識別して気筒グループを判別する。同時に、気筒判別結果から次の気筒を推定すると共にグループ判別結果から次の気筒グループを推定し、気筒判別結果、グループ判別結果、気筒推定結果、グループ推定結果に基づいて異常の有無を調べ、点火或いは燃料噴射の制御対象とする気筒（制御気筒）を確定する。
【００２８】
ＥＣＵ５０の気筒判別に係わる機能は、図５に示すように、気筒判別部（気筒判別手段）５１、気筒推定部（気筒推定手段）５２、気筒判別異常判定部（気筒判別異常判定手段）５３、グループ判別部（グループ判別手段）５４、グループ推定部（グループ推定手段）５５、グループ判別異常判定部（グループ判別異常判定手段）５６、気筒確定部（気筒確定手段）５７によって代表される。
【００２９】
気筒判別部５１は、クランク角センサ３５からのパルス信号の前回の立ち上がりエッジから今回の立ち上がりエッジまでに入力されるカム角センサ３７からのパルス信号の個数をチェックし、その個数に応じて気筒判別（クランク角を含む）を行なう。すなわち、図４のタイムチャートに示すように、クランク角センサ３５からのパルス信号ＣＲの前回の立ち上がりエッジから今回の立ち上がりエッジまでに入力されるカム角センサ３７からのパルス信号ＣＡＭの個数を調べることにより、今回入力されたクランク角センサ３５のパルス信号ＣＲの立ち上がりエッジが何れの気筒のＢ６５に対応する立ち上がりエッジであるかを識別することができ、以下に示すように気筒判別結果を得る。
ＣＡＭ          判別気筒及びクランク角
１個              ＃３気筒のＢ６５
２個              ＃２気筒のＢ６５
３個              ＃４気筒のＢ６５
４個              ＃１気筒のＢ６５
【００３０】
気筒推定部５２は、各気筒の燃焼行程順に基づいて、今回の気筒判別結果から次の気筒を推定する。本形態においては、各気筒の燃焼行程順は、以下の示す順であり、従って、今回判別した気筒が＃１気筒である場合には次の気筒は＃３気筒、今回判別した気筒が＃３気筒である場合には次の気筒は＃４気筒、今回判別した気筒が＃４気筒である場合には次の気筒は＃２気筒、今回判別した気筒が＃２気筒である場合には次の気筒は＃１気筒であると推定する。
0004443016.tif 000002
【００３１】
また、気筒判別異常判定部５３は、前回の気筒推定結果と今回の気筒判別結果とを比較し、異常の有無を判定する。すなわち、前回の気筒推定結果と今回の気筒判別結果とが一致している場合、気筒判別は正常であると判定し、両者が一致しない場合には、ノイズの混入によってカム角センサ３７の入力信号数を誤計数する等して前回或いは今回の気筒判別に誤判別を生じ、気筒判別結果が異常であると判定する。
【００３２】
グループ判別部５４は、クランク角センサ３５から出力されるパルス信号間隔の変化から追加的なグループ判別用のパルス信号を識別し、気筒グループ（クランク角を含む）を判別する。図４のタイムチャートに示すように、グループ判別用のパルス信号は、＃１グループ（＃１，＃４気筒）のＡ０〜Ａ２０に対応して出力されるため、パルス信号間隔として、前前回の入力信号の立ち下がりエッジから前回の入力信号の立ち下がりエッジまでの間隔と、前回の入力信号の立ち下がりエッジから今回の入力信号の立ち下がりエッジまでの間隔とを比較することにより、通常のＢ６５〜Ｂ１５のパルス信号と、グループ判別用のＡ０〜Ａ２０のパルス信号とを識別することができる。すなわち、クランク角センサ３５の信号の立ち下がりエッジは、＃１グループ（＃１，＃４気筒）のＢ１５，Ａ２０、＃２グループ（＃２，＃３気筒）のＢ１５の３種類であり、エッジ間隔が急激に広がった場合には＃２グループのＢ１５に対応する立ち下がりエッジ、エッジ間隔が急激に小さくなった場合には＃１グループのＡ２０に対応する立ち下がりエッジ、それ以外では＃１グループのＢ１５に対応する立ち下がりエッジであると識別する。
【００３３】
グループ推定部５５は、気筒推定部５２と同様、各気筒の燃焼行程順に基づいて、今回のグループ判別結果から次の気筒グループを推定する。すなわち、図４のタイムチャートから明らかなように、クランク角センサ３５の信号の立ち下がりエッジに着目すると、気筒グループ順は、以下の順であり、今回判別した気筒グループが＃１グループのＡ２０である場合には次の気筒グループは＃２グループのＢ１５、今回判別した気筒グループが＃２グループのＢ１５である場合には次の気筒グループは＃１グループのＢ１５、今回判別した気筒グループが＃１グループのＢ１５である場合には次の気筒グループは同じグループ（＃１グループ）のＡ２０であると推定する。
0004443016.tif 000003
【００３４】
グループ判別異常判定部５６は、前回のグループ推定結果と今回のグループ判別結果とを比較し、異常の有無を判定する。すなわち、前回のグループ推定結果と今回のグループ判別結果とが一致している場合、グループ判別は正常であると判定し、両者が一致しない場合には、クランク角センサ３５からの信号にノイズ等が混入して前回或いは今回のグループ判別に誤判別を生じ、グループ判別結果が異常であると判定する。
【００３５】
気筒確定部５７は、気筒判別異常判定部５３からの気筒判別における異常の有無、グループ判別異常判定部５６からのグループ判別における異常の有無に応じ、気筒判別部５１による気筒判別結果、気筒推定部５２による気筒推定結果、グループ判別部５４によるグループ判別結果、グループ推定部５５によるグループ推定結果に基づいて制御気筒を確定する。本形態においては、同一の気筒グループに属する２つの気筒に対して１つの点火コイルを設置する同時点火方式を採用しているため、気筒グループの判別が正しく行なわれていれば、誤った気筒に対して点火を行なうことはなく、万一、誤った気筒に対して燃料噴射を行なってもトルクショックや応答性の悪化を招くものの、エンジン１に重大な不具合を招くことはない。
【００３６】
従って、気筒判別結果及びグループ判別結果が正常である場合には、気筒判別部５１で判別された気筒を制御気筒とするが、グループ判別結果のみが正常で気筒判別結果が異常である場合には、気筒推定部５２で推定した気筒に対して燃料噴射を行なうと共に、グループ判別部５４で判別した気筒グループに対して点火を行なう。また、気筒判別結果が設定回数（例えば、３回）連続して異常の場合、或いは、グループ判別結果が異常の場合には、一旦、気筒判別及びグループ判別の判定を取り消して点火及び燃料噴射を休止すると共に、気筒判別部５１、グループ判別部５４に指示し、次からのクランク角センサ３５及びカム角センサ３７からの信号に基づいて新たに気筒判別及びグループ判別をやり直させる。
【００３７】
以下、ＥＣＵ５０によって実行される気筒確定に係る処理について、図６〜図９に示すフローチャートを用いて説明する。
【００３８】
図６は、システムイニシャライズ後、クランク角センサ３５から出力されるパルス信号ＣＲの立ち上がりエッジで割込み実行される気筒判別・推定ルーチンであり、先ず、ステップＳ００１でカウント値ＣＡＭＣＮＴが１であるか否かを調べる。このカウント値ＣＡＭＣＮＴは、カム角センサ３７からの信号ＣＡＭの入力数を計数するものであり、カム角センサ３７からの信号入力毎に割込み実行される図７のカム角センサ信号数計測ルーチンによってカウントアップされる。すなわち、カム角センサ３７からの信号入力毎に、カム角センサ信号数計測ルーチンのステップＳ０１５でカウント値ＣＡＭＣＮＴをカウントアップして（ＣＡＭＣＮＴ←ＣＡＭＣＮＴ＋１）ルーチンを抜ける処理が繰り返される。
【００３９】
尚、カウント値ＣＡＭＣＮＴは、後述するように、気筒判別・推定ルーチンにおいて、１回の気筒判別・気筒推定が終了する毎に０にクリアされる。すなわち、カウント値ＣＡＭＣＮＴは、クランク角センサ３５から出力されるパルス信号ＣＲの立ち上がりエッジ間でカウントされ、１回の気筒判別・推定毎にクリアされる。
【００４０】
そして、気筒判別ルーチンのステップＳ００１において、カウント値ＣＡＭＣＮＴの値がＣＡＭＣＮＴ＝１の場合には、ステップＳ００５へ進み、今回の入力信号の立ち上がりエッジは、＃３気筒のＢ６５に対応する立ち上がりエッジであると判定する。次に、ステップＳ００６へ進み、今回の気筒判別結果（＃３気筒）に基づいて次の気筒を＃４気筒と推定する。次回気筒の推定は、以下に示すように、今回判別した気筒に対する次の気筒を、燃焼行程順に基づいて予めテーブルに格納しておき、このテーブルを参照して次の気筒を推定する。そして、ステップＳ０１３へ進んで、次回の判定のためにカウント値ＣＡＭＣＮＴを０に初期化し（ＣＡＭＣＮＴ←０）、ルーチンを抜ける。
0004443016.tif 000004
【００４１】
また、ステップＳ００１において、ＣＡＭＣＮＴ≠１の場合には、ステップＳ００１からステップＳ００２へ進み、カウント値ＣＡＭＣＮＴが２か否かを調べる。その結果、ＣＡＭＣＮＴ≠２の場合にはステップＳ００３へ進み、ＣＡＭＣＮＴ＝２の場合、ステップＳ００７へ進んで、今回の入力信号の立ち上がりエッジは＃２気筒のＢ６５に対応する立ち上がりエッジであると判別し、ステップＳ００８で、今回の気筒判別結果である＃２気筒に基づいてテーブルを参照して、次の気筒を＃１気筒と推定する。そして、前述のステップＳ０１３でカウント値ＣＡＭＣＮＴを初期化してルーチンを抜ける。
【００４２】
一方、ＣＡＭＣＮＴ≠２でステップ００３へ進んだ場合には、ステップＳ００３でカウント値ＣＡＭＣＮＴが３か否かを調べる。そして、ＣＡＭＣＮＴ＝３の場合、ステップＳ００９へ進んで、今回の入力信号の立ち上がりエッジは＃４気筒のＢ６５に対応する立ち上がりエッジであると判別し、ステップＳ０１０で、今回の気筒判別結果である＃４気筒に基づいてテーブルを参照して次の気筒を＃２気筒と推定する。そして、前述のステップＳ０１３でカウント値ＣＡＭＣＮＴを初期化してルーチンを抜ける。
【００４３】
また、ステップＳ００３においてＣＡＭＣＮＴ≠３の場合には、ステップＳ００４へ進み、カウント値ＣＡＭＣＮＴが４か否かを調べる。そして、ＣＡＭＣＮＴ≠４の場合、そのままステップＳ０１３へ進んでカウント値ＣＡＭＣＮＴを初期化してルーチンを抜け、ＣＡＭＣＮＴ＝４の場合、ステップＳ０１１で、今回の入力信号の立ち上がりエッジは＃１気筒のＢ６５に対応する立ち上がりエッジであると判別し、ステップＳ０１２で、今回の気筒判別結果である＃１気筒に基づいてテーブルを参照して次の気筒を＃３気筒と推定する。そして、前述のステップＳ０１３でカウント値ＣＡＭＣＮＴを初期化してルーチンを抜ける。
【００４４】
次に、クランク角センサ３５から出力されるパルス信号ＣＲの立ち下がりエッジで図８のグループ判別・推定ルーチンが割込み実行される。このルーチンでは、先ず、ステップＳ１０１で、前前回のクランク角センサ３５の信号の立ち下がりエッジから前回のクランク角センサ３５の信号の立ち下がりエッジまでの間隔Ｔｏｌｄと、前回のクランク角センサ３５の信号の立ち下がりエッジから今回のクランク角センサ３５の信号の立ち下がりエッジまでの間隔Ｔｎｅｗとの比率Ｔｏｌｄ／Ｔｎｅｗを定数Ｋ１と比較する。
【００４５】
定数Ｋ１は、クランク角センサ３５から出力されるパルス信号列におけるグループ判別用の信号から通常の信号への移行を識別するための判定閾値である。すなわち、＃１グループ（＃１，＃４気筒）のＢ１５に対応する信号の立ち下がりエッジからＡ２０に対応する信号の立ち下がりエッジまでの間隔Ｐ１と、＃１グループ（＃１，＃４気筒）のＡ２０に対応する信号の立ち下がりエッジから＃２グループ（＃２，＃３気筒）のＢ１５に対応する信号の立ち下がりエッジまでの間隔Ｐ２との比率Ｐ１／Ｐ２を、クランクロータ３４の寸法バラツキや取付け誤差、クランク角センサ３５の特性バラツキ等を考慮して予めシミュレーション或いは実験等によって求め、判定のための若干の余裕を設けて定数Ｋ１としてＥＣＵ５０のメモリにストアしておく。
【００４６】
その結果、Ｔｏｌｄ／Ｔｎｅｗ＜Ｋ１の場合、すなわちクランク角センサ３５の信号間隔が急激に広がった場合には、ステップＳ１０１からステップＳ１０２へ進んで、今回のクランク角センサ３５の信号入力は、＃２グループ（＃２，＃３気筒）のＢ１５の立ち下がりエッジであると判定する。そして、ステップＳ１０３へ進み、今回の気筒グループの判別結果である＃２グループのＢ１５に基づいてテーブルを参照し、次の気筒グループに対応するクランク角センサ３５の信号の立ち下がりエッジは、＃１グループ（＃１，＃４気筒）のＢ１５であると推定してルーチンを抜ける。テーブルには、以下に示すように、今回判別した気筒グループに対する次の気筒グループが燃焼行程順に基づいて予め格納されており、このテーブルを参照して次回気筒グループを推定する。
0004443016.tif 000005
【００４７】
一方、ステップＳ１０１において、Ｔｏｌｄ／Ｔｎｅｗ≧Ｋ１の場合には、ステップＳ１０１から１０４へ進み、比率Ｔｏｌｄ／Ｔｎｅｗを予め設定された定数Ｋ２と比較する。定数Ｋ２は、定数Ｋ１に対し、クランク角センサ３５から出力されるパルス信号列における通常の信号からグループ判別用の信号への移行を識別するための判定閾値である。すなわち、＃２グループ（＃２，＃３気筒）のＢ１５に対応する信号の立ち下がりエッジから＃１グループ（＃１，＃４気筒）のＢ１５に対応する信号の立ち下がりエッジまでの間隔Ｐ３と、＃１グループ（＃１，＃４気筒）のＢ１５に対応する信号の立ち下がりエッジからＡ２０に対応する信号の立ち下がりエッジまでの間隔Ｐ１との比率Ｐ３／Ｐ１を、クランクロータ３４の寸法バラツキや取付け誤差、クランク角センサ３５の特性バラツキ等を考慮して予めシミュレーション或いは実験等によって求め、判定のための若干の余裕を設けて定数Ｋ２としてＥＣＵ５０のメモリにストアしておく。
【００４８】
そして、Ｔｏｌｄ／Ｔｎｅｗ＞Ｋ２の場合、すなわち、クランク角センサ３５の信号エッジ間隔が急激に小さくなった場合には、ステップＳ１０４からステップＳ１０５へ進み、今回のクランク角センサ３５の信号入力は、＃１グループのＡ２０の立ち下がりエッジであると判定する。そして、ステップＳ１０６で、今回の気筒グループの判別結果である＃１グループのＡ２０に基づいてテーブルを参照し、次の気筒グループに対応するクランク角センサ３５の信号の立ち下がりエッジは＃２グループのＢ１５であると推定してルーチンを抜ける。
【００４９】
また、ステップＳ１０４において、Ｔｏｌｄ／Ｔｎｅｗ≦Ｋ２の場合、すなわち、Ｋ１≦Ｔｏｌｄ／Ｔｎｅｗ≦Ｋ２の場合には、ステップＳ１０７へ進み、今回のクランク角センサ３５の信号入力は、＃１グループのＢ１５の立ち下がりエッジであると判定する。そして、ステップＳ１０８で、今回の気筒グループの判別結果である＃１グループのＢ１５に基づいてテーブルを参照し、次の気筒グループに対応するクランク角センサ３５の信号の立ち下がりエッジは、＃１グループのＡ２０であると推定してルーチンを抜ける。
【００５０】
以上の気筒判別及び推定結果、気筒グループ判別及び推定結果は、所定の制御タイミング毎に実行される図９の気筒確定ルーチンで参照される。このルーチンでは、先ず、ステップＳ２０１で、最新の気筒グループの判別結果と、この気筒グループを先のタイミングで推定した推定結果とを比較し、両者が一致するか否かを調べる。
【００５１】
その結果、気筒グループの判別結果と推定結果とが一致せず、グループ判別結果が異常であると判断される場合には、ステップＳ２０２へ進んで、気筒判別及びグループ判別の判別結果を初期化して一旦判定を取り消し、ルーチンを抜ける。これにより、点火、燃料噴射を休止すると共に、次のクランク角センサ３５及びカム角センサ３７からの入力に基づいて新たに気筒判別及びグループ判別をやり直す。
【００５２】
また、気筒グループの判別結果と推定結果とが一致する場合には、ステップＳ２０１からステップＳ２０３へ進み、最新の気筒判別結果と、この気筒を先のタイミングで推定した推定結果とを比較し、両者が一致するか否かを調べる。そして、気筒の判別結果と推定結果とが一致して正常に気筒判別が行われている場合には、ステップＳ２０７で、気筒判別結果が連続して異常と判断される毎にカウントアップされるカウント値ＣＹＬＣＨＫＣＮＴを０にクリアし（ＣＬＹＣＨＫＣＮＴ←０）、ステップＳ２０８で、判別気筒を制御気筒として確定し、ルーチンを抜ける。
【００５３】
一方、ステップＳ２０３において、気筒の判別結果と推定結果とが一致せず、気筒判別結果が異常であると判断される場合には、ステップＳ２０４でカウント値ＣＹＬＣＨＫＣＮＴが３以上か否か、すなわち３回以上連続して気筒判別結果が異常となっているか否かを調べる。そして、ＣＹＬＣＨＫＣＮＴ≧３の場合、ステップＳ２０４から前述のステップＳ２０２へ進んで気筒判別及びグループ判別の判別結果を初期化してルーチンを抜ける。
【００５４】
また、ＣＬＹＣＨＫＣＮＴ＜３の場合、ステップＳ２０４からステップＳ２０５へ進んでカウント値ＣＬＹＣＨＫＣＮＴをカウントアップし（ＣＬＹＣＨＫＣＮＴ←ＣＬＹＣＨＫＣＮＴ＋１）、ステップＳ２０６で、推定した気筒を制御気筒として確定し、ルーチンを抜ける。
【００５６】
すなわち、気筒判別とグループ判別とを互いに独立して行ない、それぞれの判別結果の異常の有無を調べることで、クランク角センサ３５の信号やカム角センサ３７の信号にノイズが混入したり、信号の瞬断が発生した場合においても、気筒判別結果及びグループ判別結果の正当性を総合的に判断することができ、より確実性の高い気筒を制御気筒とすることができる。
【００５７】
また、同時点火方式を採用する本形態のエンジン１に対しては、影響の大きいグループ判別結果を常にチェックし、グループ判別結果が異常と判断されるときには、気筒判別及びグループ判別をやり直すので、確実にエンジン１の不具合発生を防止することができる。
【００５８】
図１０は本発明の実施の第２形態に係わり、気筒確定ルーチンのフローチャートである。
【００５９】
第２形態は、前述の第１形態に対し、気筒毎に点火コイルを設置して気筒毎に点火を行なう方式や、ディストリビュータによって点火配電を行なう方式に対応するものである。すなわち、気筒毎に点火コイルを設置して気筒毎に点火を行なう方式のエンジンでは、気筒グループの判別情報のみでは正しい気筒に点火を行なうことができず、また、ディストリビュータによって点火配電を行なう方式のエンジンでは点火気筒を確定する必要がなく、誤った気筒に対して点火を行なう虞がない。
【００６０】
このため、第２形態では、気筒確定部５７の機能を若干変更し、気筒判別結果が正常であれば、グループ判別結果を調べることなく判別気筒を制御気筒として確定する。すなわち、図１０に示す気筒確定ルーチンにおいて、先ず、ステップＳ３０１で気筒判別結果が異常か否かを調べ、気筒判別結果が正常である場合には、ステップＳ３０２で判別気筒を制御気筒として確定してルーチンを抜ける。
【００６１】
一方、ステップＳ３０１において、気筒判別結果が異常である場合には、ステップＳ３０３へ進んで、更にグループ判別結果が異常か否かを調べる。そして、グループ判別結果が異常である場合、すなわち気筒判別結果とグループ判別結果の双方が異常である場合には、ステップＳ３０３からステップＳ３０５へ進んで気筒判別結果及びグループ判別の判別結果を全て初期化してルーチンを抜ける。これにより、点火、燃料噴射を休止すると共に、次のクランク角センサ３５及びカム角センサ３７からの入力に基づいて新たに気筒判別及びグループ判別をやり直す。
【００６２】
また、ステップＳ３０３において、グループ判別結果が正常である場合、すなわち気筒判別結果は異常であるもののグループ判別結果は正常である場合には、カム角センサ３７の信号へのノイズ混入或いはカム角センサ３７の信号の瞬断が発生して気筒判別が異常になったと考えられるため、ステップＳ３０４へ進み、前回の気筒判別結果から推定された推定された推定気筒を制御気筒として確定し、ルーチンを抜ける。
【００６３】
第２形態においては、前述の第１形態に対し、不必要な気筒判別のやり直しを抑制することができ、判別のやり直しの期間、燃料噴射や点火が停止することによるトルクショックの発生を必要最小限に抑えることができる。
【００６４】
【発明の効果】
以上説明したように本発明によれば、クランク角に対応した信号及び気筒判別信号の何れにノイズ混入や信号瞬断が発生した場合においても、より確実性の高い気筒を燃料噴射や点火の対象気筒としてエンジンの不具合を未然に防止することができる。
【図面の簡単な説明】
【図１】本発明の実施の第１形態に係わり、エンジン制御系の全体図
【図２】同上、クランクロータとクランク角センサの正面図
【図３】同上、カムロータとカム角センサの正面図
【図４】同上、クランク角センサ信号とカム角センサ信号との関係を示すタイムチャート
【図５】同上、気筒判別に係わる機能ブロック図
【図６】同上、気筒判別・推定ルーチンのフローチャート
【図７】同上、カム角センサ信号数計測ルーチンのフローチャート
【図８】同上、グループ判別・推定ルーチンのフローチャート
【図９】同上、気筒確定ルーチンのフローチャート
【図１０】本発明の実施の第２形態に係わり、気筒確定ルーチンのフローチャート
【符号の説明】
１    エンジン
３４  クランクロータ（第１の信号発生手段）
３５  クランク角センサ（第１の信号発生手段）
３６  カムロータ（第２の信号発生手段）
３７  カム角センサ（第２の信号発生手段）
５０  電子制御装置（気筒判別手段、気筒推定手段、グループ判別手段、グループ推定手段、気筒判別異常判定手段、グループ判別異常判定手段、気筒確定手段）
【図１】
0004443016.tif 000006
【図２】
0004443016.tif 000007
【図３】
0004443016.tif 000008
【図４】
0004443016.tif 000009
【図５】
0004443016.tif 000010
【図６】
0004443016.tif 000011
【図７】
0004443016.tif 000012
【図８】
0004443016.tif 000013
【図９】
0004443016.tif 000014
【図１０】
0004443016.tif 000015