(57)【特許請求の範囲】
【請求項１】
内燃機関が正転方向に所定クランク角回転する毎に正転信号を出力して逆転方向に所定クランク角回転する毎に逆転信号を出力するクランク角センサを備えた内燃機関の制御装置において、
内燃機関の回転方向が逆転するように制御する逆転制御を実行する逆転制御手段と、
前記逆転制御を実行したときに前記クランク角センサから前記逆転信号が出力されない場合に前記クランク角センサの逆転信号出力系の異常有りと判定する異常診断手段と
を備え、
前記逆転制御手段は、前記逆転制御として内燃機関の回転が停止する際に逆転が発生し易い状態となるように内燃機関及び／又はその補機を制御し、
前記異常診断手段は、前記逆転制御を実行したときに前記クランク角センサから前記逆転信号が出力されない状態が所定期間継続した場合に前記クランク角センサの逆転信号出力系の異常有りと判定することを特徴とする内燃機関の制御装置。
【請求項２】
前記逆転制御手段は、前記逆転制御として内燃機関の回転が停止する際に圧縮行程の圧縮圧が増加する方向にスロットル開度とバルブタイミングとバルブリフト量のうちの少なくとも１つを制御することを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項３】
前記逆転制御手段は、前記逆転制御として内燃機関の回転が停止する際に停止直前で逆転が発生し易いクランク角になるように内燃機関の回転速度及び／又は補機負荷を制御することを特徴とする請求項１又は２に記載の内燃機関の制御装置。
【請求項４】
車両の動力源として内燃機関とモータとを備え、
前記逆転制御手段は、前記逆転制御として内燃機関の停止中に前記モータの動力で強制的に内燃機関を逆転させる制御を実行することを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項５】
内燃機関が正転方向に所定クランク角回転する毎に正転信号を出力して逆転方向に所定クランク角回転する毎に逆転信号を出力するクランク角センサと、所定カム角でカム角信号を出力するカム角センサとを備えた内燃機関の制御装置において、
内燃機関の停止時に前記クランク角センサの出力信号に基づいて内燃機関の回転が停止した停止クランク角を検出する停止位置検出手段と、
内燃機関の始動時に前記停止クランク角と前記クランク角センサの出力信号とに基づいて暫定的にクランク角（以下「暫定クランク角」という）を検出する暫定クランク角検出手段と、
前記クランク角センサの出力信号と前記カム角センサの出力信号とに基づいて気筒判別してクランク角（以下「気筒判別後クランク角」という）を検出する気筒判別後クランク角検出手段と、
内燃機関の始動時に前記暫定クランク角と前記気筒判別後クランク角とを比較して前記クランク角センサの逆転信号出力系の異常の有無を判定する異常診断手段と
を備えていることを特徴とする内燃機関の制御装置。
【請求項６】
所定の自動停止条件が成立したときに内燃機関を自動停止させ、所定の自動始動条件が成立したときに内燃機関を自動始動させる自動停止・始動制御を実行するシステムに適用され、内燃機関が正転方向に所定クランク角回転する毎に正転信号を出力して逆転方向に所定クランク角回転する毎に逆転信号を出力するクランク角センサと、所定カム角でカム角信号を出力するカム角センサとを備えた内燃機関の制御装置において、
内燃機関の停止時に前記クランク角センサの出力信号に基づいて内燃機関の回転が停止した停止クランク角を検出する停止位置検出手段と、
内燃機関の始動時に前記停止クランク角と前記クランク角センサの出力信号とに基づいて暫定的にクランク角（以下「暫定クランク角」という）を検出する暫定クランク角検出手段と、
前記クランク角センサの出力信号と前記カム角センサの出力信号とに基づいて気筒判別してクランク角（以下「気筒判別後クランク角」という）を検出する気筒判別後クランク角検出手段と、
前記クランク角センサの逆転信号出力系の異常の有無を判定する異常診断手段と、
前記異常診断手段により前記クランク角センサの逆転信号出力系の異常無しと判定された場合に前記暫定クランク角に基づいて内燃機関の自動始動を実行し、前記異常診断手段により前記クランク角センサの逆転信号出力系の異常有りと判定された場合に前記気筒判別後クランク角に基づいて内燃機関の自動始動を実行するか又は前記自動停止・始動制御を禁止するフェールセーフ制御手段と
を備えていることを特徴とする内燃機関の制御装置。
【請求項７】
前記異常診断手段は、前記クランク角センサの逆転信号出力系の断線又は回路故障の有無を判定する手段を備え、
前記フェールセーフ制御手段は、前記異常診断手段により前記クランク角センサの逆転信号出力系の断線又は回路故障有りと判定された場合に前記自動停止・始動制御を禁止することを特徴とする請求項６に記載の内燃機関の制御装置。
【請求項８】
前記異常診断手段は、内燃機関の始動時に前記暫定クランク角と前記気筒判別後クランク角とが一致しているか否かを判定する手段を備え、
前記フェールセーフ制御手段は、前記異常診断手段により前記暫定クランク角と前記気筒判別後クランク角とが一致していないと判定された回数が所定値以下の場合に前記気筒判別後クランク角に基づいて内燃機関の自動始動を実行し、前記暫定クランク角と前記気筒判別後クランク角とが一致していないと判定された回数が所定値を越えた場合に前記自動停止・始動制御を禁止することを特徴とする請求項６又は７に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関が逆転方向に回転したときに逆転信号を出力するクランク角センサを備えた内燃機関の制御装置に関する発明である。
【背景技術】
【０００２】
一般に、内燃機関の運転中は、クランク角センサとカム角センサの出力信号に基づいて気筒を判別し且つクランク角を検出して点火制御や燃料噴射制御を行うようにしているが、内燃機関の始動時は、スタータにより内燃機関をクランキングして特定気筒の判別を完了するまで（つまり特定気筒の所定クランク角の信号を検出するまで）、最初に点火・噴射する気筒が不明である。
【０００３】
この問題を解決するために、特許文献１（特開昭６０−２４０８７５号公報）に記載されているように、内燃機関の回転停止時のクランク角（クランク軸の停止位置）をメモリに記憶しておき、次の内燃機関の始動時に、特定気筒の所定クランク角の信号を最初に検出するまでの間は、上記メモリに記憶された内燃機関の回転停止時のクランク角を基準にして点火制御や燃料噴射制御を開始することで、始動性や始動時の排気エミッションを向上させるようにしたものがある。
【０００４】
しかし、内燃機関の停止指令（イグニッションスイッチのオフ信号又はアイドルストップ指令）が発生して点火や燃料噴射が停止された後も、暫く内燃機関が惰性で回転するため、点火や燃料噴射を停止したときのクランク角を記憶したのでは、実際の内燃機関の停止位置（次の内燃機関の始動位置）を誤判定してしまう結果となる。従って、点火や燃料噴射の停止後も、内燃機関の回転が完全に停止するまでクランク角の検出を継続する必要があるが、内燃機関の回転が停止する間際に圧縮行程の圧縮圧によって内燃機関の回転方向が逆転する現象が発生することがあるため、内燃機関の回転停止時のクランク角を正確に検出することができない（従来の一般的なクランク角センサでは逆転を検出できない）。
【０００５】
そこで、特許文献２（特開２００５−２３３６２２号公報）や特許文献３（特開２００５−２５６８４２号公報）に記載されているように、逆転検出機能付きのクランク角センサが開発されている。これらのクランク角センサは、内燃機関の逆転時に正転時と異なるパルス幅のパルス信号を出力するように構成されている。
【特許文献１】特開昭６０−２４０８７５号公報（第２頁等）
【特許文献２】特開２００５−２３３６２２号公報（第２頁等）
【特許文献３】特開２００５−２５６８４２号公報（第２頁等）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、上述した逆転検出機能付きのクランク角センサを備えたシステムでは、クランク角センサの正転信号出力系（正転時のパルス信号の出力系）の異常は容易に検出することができるが、逆転信号出力系（逆転時のパルス信号の出力系）の異常を検出することは以下の理由により困難である。
【０００７】
つまり、内燃機関は、始動してから停止直前までは常に正回転しているため、始動時や始動後にクランク角センサの正転時のパルス信号が出力されなければ、正転信号出力系の異常であると判断することができる。しかし、内燃機関は、停止直前に必ず逆転が発生するわけではなく、逆転せずに停止することもあるため、停止直前にクランク角センサの逆転時のパルス信号が出力されない場合に、内燃機関が逆転しているにも拘らずクランク角センサから逆転時のパルス信号が出力されない異常状態なのか、或は、内燃機関が逆転していない状態なのかを区別することができず、クランク角センサの逆転信号出力系の異常を検出することができない。更に、クランク角センサの逆転信号出力系の異常が発生しても適正な処理（フェールセーフ）を行うことができないという問題がある。
【０００８】
本発明は、このような事情を考慮してなされたものであり、従って本発明の第１の目的は、逆転検出機能付きのクランク角センサの逆転信号出力系の異常を検出することができるようにすることであり、第２の目的は、逆転検出機能付きのクランク角センサの逆転信号出力系の異常時に適正な処理を行うことができるようにすることである。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、請求項１に係る発明は、内燃機関が正転方向に所定クランク角回転する毎に正転信号を出力して逆転方向に所定クランク角回転する毎に逆転信号を出力するクランク角センサ（逆転検出機能付きのクランク角センサ）を備えた内燃機関の制御装置において、内燃機関の回転方向が逆転するように制御する逆転制御を逆転制御手段により実行し、逆転制御を実行したときにクランク角センサから逆転信号が出力されない場合にクランク角センサの逆転信号出力系の異常有りと異常診断手段により判定することを第１の特徴とし、更に、逆転制御として内燃機関の回転が停止する際に逆転が発生し易い状態となるように内燃機関及び／又はその補機を制御し、逆転制御を実行したときにクランク角センサから逆転信号が出力されない状態が所定期間継続した場合にクランク角センサの逆転信号出力系の異常有りと判定することを第２の特徴とするものである。
【００１０】
つまり、内燃機関の回転方向が逆転するように制御する逆転制御を実行しても、クランク角センサから逆転信号が出力されない場合には、内燃機関の回転方向が逆転しているにも拘らずクランク角センサから逆転信号が出力されない異常状態であると判断して、クランク角センサの逆転信号出力系の異常有りと判定する。これにより、逆転検出機能付きのクランク角センサの逆転信号出力系の異常を検出することができる。
【００１１】
この場合、請求項１に係る発明は、逆転制御として内燃機関の回転が停止する際に逆転が発生し易い状態となるように内燃機関及び／又はその補機を制御し、逆転制御を実行したときにクランク角センサから逆転信号が出力されない状態が所定期間継続した場合にクランク角センサの逆転信号出力系の異常有りと判定することに技術的特徴がある。このように、内燃機関の回転が停止する際に逆転が発生し易い状態となるように内燃機関や補機を制御するようにすれば、内燃機関を逆転させるためのハード構成を新たに追加することなく、逆転検出機能付きのクランク角センサの逆転信号出力系の異常診断を行うことが可能となり、低コスト化の要求を満たすことができる。
【００１２】
具体的には、請求項２のように、逆転制御として内燃機関の回転が停止する際に圧縮行程の圧縮圧が増加する方向にスロットル開度とバルブタイミングとバルブリフト量のうちの少なくとも１つを制御するようにしても良い。このようにすれば、内燃機関の停止直前に圧縮行程の圧縮圧によってピストンが押し戻され易くなって逆転が発生し易くなる。
【００１３】
更に、請求項３のように、逆転制御として内燃機関の回転が停止する際に停止直前で逆転が発生し易いクランク角になるように内燃機関の回転速度及び／又は補機負荷を制御するようにしても良い。内燃機関の停止直前で逆転が発生し易いクランク角（例えば圧縮上死点の直前に相当するクランク角）になるように内燃機関の回転速度や補機負荷を制御すれば、内燃機関の停止直前に圧縮行程の圧縮圧によってピストンが押し戻され易くなって逆転が発生し易くなる。
【００１４】
また、請求項４のように、車両の動力源として内燃機関とモータとを備えたハイブリッドシステムに本発明を適用する場合は、逆転制御として内燃機関の停止中にモータの動力で強制的に内燃機関を逆転させる制御を実行するようにしても良い。このようにすれば、内燃機関を確実に且つ速やかに逆転させることができ、クランク角センサの逆転信号出力系の異常の有無を精度良く且つ速やかに検出することができる。
【００１５】
また、請求項５のように、内燃機関が正転方向に所定クランク角回転する毎に正転信号を出力して逆転方向に所定クランク角回転する毎に逆転信号を出力するクランク角センサと、所定カム角でカム角信号を出力するカム角センサとを備えた内燃機関の制御装置において、内燃機関の停止時にクランク角センサの出力信号に基づいて内燃機関の回転が停止した停止クランク角を検出する停止位置検出手段と、内燃機関の始動時に停止クランク角とクランク角センサの出力信号とに基づいて暫定的にクランク角（以下「暫定クランク角」という）を検出する暫定クランク角検出手段と、クランク角センサの出力信号とカム角センサの出力信号とに基づいて気筒判別してクランク角（以下「気筒判別後クランク角」という）を検出する気筒判別後クランク角検出手段とを備え、内燃機関の始動時に暫定クランク角と気筒判別後クランク角とを比較してクランク角センサの逆転信号出力系の異常の有無を異常診断手段により判定するようにしても良い。
【００１６】
クランク角センサの正転信号出力系と逆転信号出力系が両方とも正常であれば、暫定クランク角と気筒判別後クランク角とがほぼ一致するはずであるが、クランク角センサの正転信号出力系又は逆転信号出力系が異常になると、暫定クランク角と気筒判別後クランク角とが一致しなくなる。従って、内燃機関の始動時に暫定クランク角と気筒判別後クランク角とを比較すれば、クランク角センサの逆転信号出力系の異常の有無を精度良く判定することができる。この場合、ハード構成を新たに追加することなく、逆転検出機能付きのクランク角センサの逆転信号出力系の異常診断を行うことが可能となり、低コスト化の要求を満たすことができる。
【００１７】
また、請求項６のように、所定の自動停止条件が成立したときに内燃機関を自動停止させ、所定の自動始動条件が成立したときに内燃機関を自動始動させる自動停止・始動制御を実行するシステムに適用され、内燃機関が正転方向に所定クランク角回転する毎に正転信号を出力して逆転方向に所定クランク角回転する毎に逆転信号を出力するクランク角センサと、所定カム角でカム角信号を出力するカム角センサとを備えた内燃機関の制御装置において、内燃機関の停止時にクランク角センサの出力信号に基づいて内燃機関の回転が停止した停止クランク角を検出する停止位置検出手段と、内燃機関の始動時に停止クランク角とクランク角センサの出力信号とに基づいて暫定的にクランク角（以下「暫定クランク角」という）を検出する暫定クランク角検出手段と、クランク角センサの出力信号とカム角センサの出力信号とに基づいて気筒判別してクランク角（以下「気筒判別後クランク角」という）を検出する気筒判別後クランク角検出手段とを備え、更に、クランク角センサの逆転信号出力系の異常の有無を異常診断手段により判定し、クランク角センサの逆転信号出力系の異常無しと判定された場合に暫定クランク角に基づいて内燃機関の自動始動を実行し、クランク角センサの逆転信号出力系の異常有りと判定された場合に気筒判別後クランク角に基づいて内燃機関の自動始動を実行するか又は自動停止・始動制御を禁止するフェールセーフ制御手段を備えるようにしても良い。
【００１８】
つまり、クランク角センサの逆転信号出力系の異常無し（正常）と判定された場合には、内燃機関の停止時に逆転が発生しても、停止クランク角を精度良く検出することができるため、次の始動時にその停止クランク角に基づいて暫定クランク角を精度良く検出することができると判断して、気筒判別後クランク角よりも早い時期から検出可能な暫定クランク角に基づいて内燃機関の自動始動を早期に実行することで、速やかに自動始動することができる。
【００１９】
一方、クランク角センサの逆転信号出力系の異常有りと判定された場合には、内燃機関の停止時に逆転が発生したときに、停止クランク角を精度良く検出することができなくなるため、次の始動時にその停止クランク角に基づいた暫定クランク角の検出精度が低下すると判断して、暫定クランク角を用いずに気筒判別後クランク角に基づいて内燃機関の自動始動を実行することで、クランク角センサの逆転信号出力系の異常の影響を受けずに自動始動することができる。或は、自動停止・始動制御を禁止することで、クランク角センサの逆転信号出力系の異常による自動始動性の悪化を防止することができる。
【００２０】
この場合、請求項７のように、クランク角センサの逆転信号出力系の断線又は回路故障有りと判定された場合に自動停止・始動制御を禁止するようにしても良い。つまり、クランク角センサの逆転信号出力系の断線又は回路故障有りと判定された場合には、継続的な異常であると判断して、自動停止・始動制御を禁止する。
【００２１】
また、請求項８のように、暫定クランク角と気筒判別後クランク角とが一致していないと判定された回数が所定値以下の場合に気筒判別後クランク角に基づいて内燃機関の自動始動を実行し、暫定クランク角と気筒判別後クランク角とが一致していないと判定された回数が所定値を越えた場合に自動停止・始動制御を禁止するようにしても良い。つまり、暫定クランク角と気筒判別後クランク角とが一致していないと判定された回数が所定値（例えば１回）以下の場合には、ノイズ等の影響による一時的な異常である可能性があると判断して、自動停止・始動制御を禁止せずに気筒判別後クランク角に基づいて内燃機関の自動始動を実行し、暫定クランク角と気筒判別後クランク角とが一致していないと判定された回数が所定値を越えた場合には、継続的な異常であると判断して、自動停止・始動制御を禁止する。これにより、ノイズ等の影響による一時的な異常で自動停止・始動制御を禁止することを防止して燃費悪化を抑制することができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明を実施するための最良の形態を具体化した幾つかの実施例を説明する。
【実施例１】
【００２３】
本発明の実施例１を図１乃至図５に基づいて説明する。
まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。
内燃機関であるエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４が設けられている。このエアフローメータ１４の下流側には、モータ１５によって開度調節されるスロットルバルブ１６と、このスロットルバルブ１６の開度（スロットル開度）を検出するスロットル開度センサ１７とが設けられている。
【００２４】
更に、スロットルバルブ１６の下流側には、サージタンク１８が設けられ、このサージタンク１８に、吸気管圧力を検出する吸気管圧力センサ１９が設けられている。また、サージタンク１８には、エンジン１１の各気筒に空気を導入する吸気マニホールド２０が設けられ、各気筒の吸気マニホールド２０の吸気ポート近傍に、それぞれ燃料を噴射する燃料噴射弁２１が取り付けられている。また、エンジン１１のシリンダヘッドには、各気筒毎に点火プラグ２２が取り付けられ、各点火プラグ２２の火花放電によって筒内の混合気に着火される。
【００２５】
一方、エンジン１１の排気管２３には、排出ガスの空燃比又はリッチ／リーン等を検出する排出ガスセンサ２４（空燃比センサ、酸素センサ等）が設けられ、この排出ガスセンサ２４の下流側に、排出ガスを浄化する三元触媒等の触媒２５が設けられている。
【００２６】
また、エンジン１１には、吸気バルブ２８のバルブタイミング（開閉タイミング）を変化させる吸気側可変バルブタイミング装置２９と、排気バルブ３０のバルブタイミングを変化させる排気側可変バルブタイミング装置３１とが設けられている。エンジン１１のシリンダブロックには、冷却水温を検出する冷却水温センサ２６や、ノッキング振動を検出するノックセンサ２７が取り付けられている。
【００２７】
エンジン１１のクランク軸３２に取り付けられたシグナルロータ３３の外周に対向してクランク角センサ３４が設置されている。このクランク角センサ３４は、逆転検出機能付きのクランク角センサであり、シグナルロータ３３（クランク軸３２）が正転方向に所定クランク角（例えば１０℃Ａ）回転する毎に正転パルス信号を出力し、シグナルロータ３３が逆転方向に所定クランク角（例えば１０℃Ａ）回転する毎に逆転パルス信号を出力する。この場合、クランク角センサ３４は、正転パルス信号と逆転パルス信号を異なるパルス幅で出力することで、正転パルス信号と逆転パルス信号とを区別できるようにしている。或は、クランク角センサ３４に正転信号出力端子と逆転信号出力端子とを別々に設け、正転信号出力端子から正転パルス信号を出力し、逆転信号出力端子から逆転パルス信号を出力することで、正転パルス信号と逆転パルス信号とを区別できるようにしても良い。また、シグナルロータ３３には、特定のクランク角でクランク角センサ３４から出力されるパルス信号の間隔が長くなる欠歯部（図示せず）が設けられている。
【００２８】
また、エンジン１１のカム軸に取り付けられたシグナルロータ（図示せず）の外周に対向してカム角センサ３５が設置されている。このカム角センサ３５は、シグナルロータ（カム軸）の回転に同期して所定のカム角でカム角信号（パルス信号）を出力し、このカム角信号に基づいて気筒判別用のＧ信号のオン／オフが例えば３６０℃Ａ毎に切り替わるようになっている。
【００２９】
これら各種センサの出力は、制御回路（以下「ＥＣＵ」と表記する）３６に入力される。このＥＣＵ３６は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）に記憶された各種のエンジン制御プログラムを実行することで、エンジン運転状態に応じて燃料噴射弁２１の燃料噴射量や点火プラグ２２の点火時期を制御すると共に、自動停止・始動制御（いわゆるアイドルストップ制御）を実行する。
【００３０】
この自動停止・始動制御では、エンジン運転中に運転者が車両を停止させて自動停止条件が成立したときに燃料噴射及び点火を停止させてエンジン１１を自動的に停止させる停止制御を実行し、エンジン停止中に運転者が車両を発進させる操作（例えばアクセル操作、ブレーキ解除、シフトレバーの操作等）を行って自動始動条件が成立したときにスタータ（図示せず）をオンして燃料噴射及び点火を開始してエンジン１１を自動的に再始動させる始動制御を実行する。
【００３１】
また、ＥＣＵ３６は、図２のタイムチャートに示すように、クランク角センサ３４から出力されるパルス信号をクランクカウンタＣcr10でカウントし、そのカウント値に基づいてクランク角を検出する。
【００３２】
具体的には、まず、エンジン１１の通常始動時（例えばイグニッションスイッチのオン直後の始動時）にスタータをオンしてエンジン１１を始動させる際に、クランク角センサ３４から出力されるパルス信号の間隔が長くなる欠歯タイミングに達するまでの期間は、クランクカウンタＣcr10のカウント値を初期値（例えば−１）に維持する。
【００３３】
その後、欠歯タイミングになった時点で、Ｇ信号がオンか否かによって気筒判別し、Ｇ信号がオンであれば、クランクカウンタＣcr10のカウント値をＧ信号オン時の欠歯タイミングに相当するカウント値（例えば１０）にセットする。一方、Ｇ信号がオフであれば、クランクカウンタＣcr10のカウント値をＧ信号オフ時の欠歯タイミングに相当するカウント値（例えば４６）にセットする。
【００３４】
この後、エンジン１１のクランク軸３２が正転方向に所定クランク角（例えば１０℃Ａ）回転してクランク角センサ３４から正転パルス信号が出力される毎に、クランクカウンタＣcr10のカウント値を「１」ずつカウントアップし、そのカウント値に基づいてクランク角（気筒判別後クランク角）を検出する。このようにして、クランク角センサ３４の出力信号に基づいた欠歯タイミングとカム角センサ３５の出力信号に基づいたＧ信号とを用いて気筒判別して気筒判別後クランク角を検出する機能が特許請求の範囲でいう気筒判別後クランク角検出手段としての役割を果たす。
【００３５】
この後、エンジン１１の自動停止条件が成立して自動停止要求が発生したときに、燃料噴射及び点火を停止させてエンジン１１を自動的に停止させ、エンジン１１の回転が停止したときのクランクカウンタＣcr10のカウント値に基づいて停止クランク角を検出する。その際、エンジン１１の停止直前にエンジン１１の回転方向が逆転した場合には、エンジン１１のクランク軸３２が逆転方向に所定クランク角（例えば１０℃Ａ）回転してクランク角センサ３４から逆転パルス信号が出力される毎にクランクカウンタＣcr10のカウント値を「１」ずつカウントダウンする。このようにして、エンジン１１の自動停止時にクランク角センサ３４の出力信号に基づいてエンジン１１の回転が停止した停止クランク角を検出する機能が特許請求の範囲でいう停止位置検出手段としての役割を果たす。
【００３６】
この後、エンジン１１の自動始動条件が成立して自動始動要求が発生したときに、スタータをオンして燃料噴射及び点火を開始してエンジン１１を自動的に再始動させる。その際、クランク角センサ３４から出力されるパルス信号の間隔が長くなる欠歯タイミングに達するまでの期間は、前回の自動停止時のクランクカウンタＣcr10のカウント値（停止クランク角）を初期値として、エンジン１１のクランク軸３２が正転方向に所定クランク角（例えば１０℃Ａ）回転してクランク角センサ３４から正転パルス信号が出力される毎にクランクカウンタＣcr10のカウント値を「１」ずつカウントアップし、そのカウント値に基づいて暫定的にクランク角（暫定クランク角）を検出する。このようにして、エンジン１１の自動始動時に前回の自動停止時の停止クランク角とクランク角センサ３４の出力信号とに基づいて暫定クランク角を検出する機能が特許請求の範囲でいう暫定クランク角検出手段としての役割を果たす。
【００３７】
その後、クランク角センサ３４から出力されるパルス信号の間隔が長くなる欠歯タイミングになった時点で、Ｇ信号がオンか否かによって気筒判別し、Ｇ信号がオンであれば、クランクカウンタＣcr10のカウント値をＧ信号オン時の欠歯タイミングに相当するカウント値（例えば１０）にセットする。一方、Ｇ信号がオフであれば、クランクカウンタＣcr10のカウント値をＧ信号オフ時の欠歯タイミングに相当するカウント値（例えば４６）にセットする。
【００３８】
この後、エンジン１１のクランク軸３２が正転方向に所定クランク角（例えば１０℃Ａ）回転してクランク角センサ３４から正転パルス信号が出力される毎に、クランクカウンタＣcr10のカウント値を「１」ずつカウントアップし、そのカウント値に基づいてクランク角（気筒判別後クランク角）を検出する。
【００３９】
また、ＥＣＵ３６は、後述する図３及び図４の各ルーチンを実行することで、エンジン１１の回転が停止する際に回転方向が逆転するように制御する逆転制御を実行する逆転制御手段として機能すると共に、この逆転制御を実行したときにクランク角センサ３４から逆転パルス信号が出力されない場合に、クランク角センサ３４の逆転信号出力系の異常有りと判定する異常診断手段として機能する。
【００４０】
更に、ＥＣＵ３６は、後述する図５のルーチンを実行することで、クランク角センサ３４の逆転信号出力系の異常無し（正常）と判定された場合には、エンジン１１の自動始動時に暫定クランク角（前回の自動停止時の停止クランク角とクランク角センサ３４の出力信号とに基づいて暫定的に検出したクランク角）に基づいて早期に燃料噴射及び点火を開始してエンジン１１を自動始動する早期自動始動を実行し、クランク角センサ３４の逆転信号出力系の異常有りと判定された場合には、エンジン１１の自動始動時に気筒判別後クランク角（クランク角センサ３４の出力信号に基づいた欠歯タイミングとカム角センサ３５の出力信号に基づいたＧ信号とを用いて気筒判別して検出したクランク角）に基づいて燃料噴射及び点火を開始してエンジン１１を自動始動する通常自動始動を実行するか又は自動停止・始動制御を禁止するフェールセーフ制御手段として機能する。
以下、ＥＣＵ３６が実行する図３乃至図５の各ルーチンの処理内容を説明する。
【００４１】
［逆転信号出力系異常診断ルーチン］
図３に示す逆転信号出力系異常診断ルーチンは、ＥＣＵ３６の電源オン中に所定周期で実行される。本ルーチンが起動されると、まず、ステップ１０１で、自動停止条件が成立したか否かを判定し、自動停止条件が成立したと判定されれば、ステップ１０２に進み、自動停止・始動禁止フラグＦfail2 が自動停止・始動制御の許可を意味する「０」で且つ異常診断完了フラグＦjdg が異常診断の未完了を意味する「０」であるか否かを判定する。
【００４２】
このステップ１０２で、自動停止・始動禁止フラグＦfail2 が「０」で且つ異常診断完了フラグＦjdg が「０」であると判定されれば、ステップ１０３に進み、後述する図４の逆転制御ルーチンを実行して、エンジン１１の回転が停止する際に逆転が発生し易い状態となるようにエンジン回転速度とエンジン１１の補機負荷（例えばオルタネータの負荷）を制御する逆転制御を実行する。
【００４３】
この後、ステップ１０４に進み、逆転制御の実行時間をカウントする逆転制御カウンタＣstp のカウント値を「１」だけカウントアップした後、ステップ１０５に進み、クランク角センサ３４から逆転パルス信号が出力されたか否かを判定する。
【００４４】
このステップ１０５で、クランク角センサ３４から逆転パルス信号が出力されたと判定されれば、ステップ１０６に進み、逆転パルス信号をカウントする逆転パルス信号カウンタＣrev のカウント値を「１」だけカウントアップするが、上記ステップ１０５で、クランク角センサ３４から逆転パルス信号が出力されていないと判定されれば、逆転パルス信号カウンタＣrev のカウント値をそのまま維持する。
【００４５】
この後、ステップ１０７に進み、逆転制御カウンタＣstp のカウント値が所定値Ｋstp （例えば３〜５）以上であるか否かを判定し、逆転制御カウンタＣstp のカウント値が所定値Ｋstp 以上であると判定されたときに、ステップ１０８に進み、逆転パルス信号カウンタＣrev のカウント値が「０」であるか否かを判定する。
【００４６】
このステップ１０８で、逆転パルス信号カウンタＣrev のカウント値が「０」であると判定された場合、つまり、逆転制御を実行したときにクランク角センサ３４から逆転パルス信号が出力されない状態が所定期間継続した場合には、エンジン１１の回転方向が逆転しているにも拘らずクランク角センサ３４から逆転パルス信号が出力されない異常状態であると判断して、ステップ１０９に進み、クランク角センサ３４の逆転信号出力系の異常有りと判定して、逆転信号出力系異常フラグＦrev を「１」にセットし、更に、自動停止・始動禁止フラグＦfail2 を自動停止・始動制御の禁止を意味する「１」にセットして、異常診断完了フラグＦjdg を異常診断の完了を意味する「１」にセットする。
【００４７】
これに対して、上記ステップ１０８で、逆転パルス信号カウンタＣrev のカウント値が「０」ではないと判定された場合、つまり、逆転制御を実行したときにクランク角センサ３４から逆転パルス信号が出力された場合には、ステップ１１０に進み、クランク角センサ３４の逆転信号出力系の異常無し（正常）と判定して、逆転信号出力系異常フラグＦrev を「０」にリセット又は維持し、更に、自動停止・始動禁止フラグＦfail2 を「０」にリセット又は維持して、異常診断完了フラグＦjdg を「１」にセットする。
【００４８】
［逆転制御ルーチン］
図４に示す逆転制御ルーチンは、前記図３の逆転信号出力系異常診断ルーチンのステップ１０３で実行されるサブルーチンであり、エンジン１１の回転が停止する際に停止直前で逆転が発生し易いクランク角（例えば圧縮上死点の直前に相当するクランク角）になるようにエンジン回転速度とエンジン１１の補機負荷（例えばオルタネータの負荷）を制御する逆転制御を実行して、エンジン１１の回転が停止する際に逆転が発生し易い状態にする。
【００４９】
本ルーチンが起動されると、まず、ステップ２０１で、冷却水温ＴＨＷとスロットル開度ＴＡと補機負荷状態Ｔhoki（例えば、エンジン１１の動力で駆動される空調装置やオルタネータの推定駆動トルク等）とに応じた目標アイドル回転速度ＮＥtag をマップ又は数式等により算出する。
【００５０】
この後、ステップ２０２に進み、クランクカウンタＣcr10のカウント値が所定の目標値Ｋcr10（逆転制御を開始する目標クランク角に相当するカウント値）になったか否かを判定し、クランクカウンタＣcr10のカウント値が目標値Ｋcr10になったと判定されたときに、ステップ２０３に進み、エンジン回転速度ＮＥが目標アイドル回転速度ＮＥtag 付近である（ＮＥtag −Ｋ1 ＜ＮＥ≦ＮＥtag ＋Ｋ1 ）か否かを判定する。
【００５１】
このステップ２０３で、エンジン回転速度ＮＥが目標アイドル回転速度ＮＥtag 付近ではないと判定された場合には、ステップ２０４に進み、エンジン回転速度ＮＥが目標アイドル回転速度ＮＥtag に一致するようにＩＳＣ開度（スロットル開度又はアイドルスピードコントロールバルブの開度）を補正する。
【００５２】
その後、上記ステップ２０２でクランクカウンタＣcr10のカウント値が目標値Ｋcr10になったと判定され且つ上記ステップ２０３でエンジン回転速度ＮＥが目標アイドル回転速度ＮＥtag 付近であると判定されたときに、ステップ２０５に進み、燃料噴射を停止した後、ステップ２０６に進み、エンジン１１の回転が停止する際に停止直前で逆転が発生し易いクランク角（例えば圧縮上死点の直前に相当するクランク角）になるようにエンジン１１の補機負荷（例えばオルタネータの負荷）を制御する。これにより、エンジン１１の停止直前に圧縮行程の圧縮圧によってピストン３７が押し戻され易くなって逆転が発生し易くなる。
【００５３】
［自動始動制御ルーチン］
図５に示す自動始動制御ルーチンは、ＥＣＵ３６の電源オン中に所定周期で実行される。本ルーチンが起動されると、まず、ステップ３０１で、自動始動条件が成立したか否かを判定し、自動始動条件が成立したと判定されれば、ステップ３０２に進み、クランクカウンタＣcr10のカウント値が０以上であるか否かを判定する。
【００５４】
このステップ３０２で、クランクカウンタＣcr10のカウント値が０よりも小さい（初期値）と判定された場合には、ステップ３０５に進み、気筒判別後クランク角に基づいて燃料噴射及び点火を開始してエンジン１１を自動始動する通常自動始動を実行する。
【００５５】
一方、上記ステップ３０２で、クランクカウンタＣcr10のカウント値が０以上であると判定された場合には、ステップ３０３に進み、通常自動始動許可フラグＦfail1 が気筒判別後クランク角に基づいた通常自動始動の許可を意味する「１」にセットされているか否かを判定する。
【００５６】
このステップ３０３で、通常自動始動許可フラグＦfail1 が「０」であると判定された場合、つまり、クランク角センサ３４の逆転信号出力系の異常無し（正常）と判定された場合には、エンジン１１の自動停止時に逆転が発生しても、停止クランク角を精度良く検出することができるため、次の自動始動時にその停止クランク角に基づいて暫定クランク角を精度良く検出することができると判断して、ステップ３０４に進み、暫定クランク角に基づいて早期に燃料噴射及び点火を開始してエンジン１１を自動始動する早期自動始動を実行する。
【００５７】
一方、上記ステップ３０３で、通常自動始動許可フラグＦfail1 が「１」にセットされていると判定された場合、つまり、クランク角センサ３４の逆転信号出力系の異常有りと判定された場合には、エンジン１１の自動停止時に逆転が発生したときに、停止クランク角を精度良く検出できなくなるため、次の自動始動時にその停止クランク角に基づいた暫定クランク角の検出精度が低下すると判断して、ステップ３０５に進み、暫定クランク角を用いずに、気筒判別後クランク角に基づいて燃料噴射及び点火を開始してエンジン１１を自動始動する通常自動始動を実行する。
【００５８】
以上説明した本実施例１では、エンジン１１の回転が停止する際に回転方向が逆転し易い状態となるようにエンジン回転速度とエンジン１１の補機負荷（例えばオルタネータの負荷）を制御する逆転制御を実行し、逆転制御を実行したときにクランク角センサ３４から逆転パルス信号が出力されない状態が所定期間継続した場合に、エンジン１１の回転方向が逆転しているにも拘らずクランク角センサ３４から逆転パルス信号が出力されない異常状態であると判断して、クランク角センサ３４の逆転信号出力系の異常有りと判定するようにしたので、逆転検出機能付きのクランク角センサ３４の逆転信号出力系の異常を検出することができる。
【００５９】
しかも、本実施例１では、エンジン１１の回転が停止する際にエンジン回転速度とエンジン１１の補機負荷（例えばオルタネータの負荷）を制御して逆転制御を実行するようにしたので、エンジン１１を逆転させるためのハード構成を新たに追加することなく、逆転検出機能付きのクランク角センサ３４の逆転信号出力系の異常診断を行うことができ、低コスト化の要求を満たすことができる。
【００６０】
また、本実施例１では、クランク角センサ３４の逆転信号出力系の異常無し（正常）と判定された場合には、エンジン１１の自動停止時に逆転が発生しても、停止クランク角を精度良く検出することができるため、次の自動始動時にその停止クランク角に基づいて暫定クランク角を精度良く検出することができると判断して、気筒判別後クランク角よりも早い時期から検出可能な暫定クランク角に基づいた早期自動始動を実行するようにしたので、速やかに自動始動することができる。
【００６１】
一方、クランク角センサ３４の逆転信号出力系の異常有りと判定された場合には、エンジン１１の自動停止時に逆転が発生したときに、停止クランク角を精度良く検出することができなくなるため、次の自動始動時にその停止クランク角に基づいた暫定クランク角の検出精度が低下すると判断して、暫定クランク角を用いずに気筒判別後クランク角に基づいた通常自動始動を実行するようにしたので、クランク角センサ３４の逆転信号出力系の異常の影響を受けずに自動始動することができる。
【実施例２】
【００６２】
次に、図６を用いて本発明の実施例２を説明する。但し、前記実施例１と実質的に同一部分は説明を簡略化し、主として前記実施例１と異なる部分について説明する。
本実施例２では、後述する図６の逆転制御ルーチンを実行することで、エンジン１１の回転が停止する際に圧縮行程の圧縮圧が増加する方向にスロットル開度とバルブタイミングを制御する逆転制御を実行して、エンジン１１の回転が停止する際に逆転が発生し易い状態にする。
【００６３】
図６に示す逆転制御ルーチンでは、まず、ステップ４０１で、燃料噴射を停止した後、ステップ４０２に進み、エンジン回転速度ＮＥが所定回転速度Ｋne（例えば５００ｒｐｍ）以下に低下したか否かを判定し、エンジン回転速度ＮＥが所定回転速度Ｋne以下に低下したと判定されたときに、ステップ４０３に進み、現在のスロットル開度ＴＡに所定のかさ上げ量Ｋｔａ（例えば２０ｄｅｇ）を加算した値を目標スロットル開度ＴＡtag に設定し、実スロットル開度ＴＡが目標スロットル開度ＴＡtag に一致するようにスロットルバルブ１６のモータ１５を制御することで、スロットル開度ＴＡを増量補正して圧縮行程の圧縮圧を増加させる。
【００６４】
この後、ステップ４０４に進み、吸気バルブ２８のバルブタイミングを最進角位置に進角させるように吸気側可変バルブタイミング装置２９を制御すると共に、排気バルブ３０のバルブタイミングを最遅角位置に遅角させるように排気側可変バルブタイミング装置３１を制御することで、実圧縮比を高くして圧縮行程の圧縮圧を増加させる。尚、吸気バルブ２８のバルブリフト量を変化させる吸気側可変バルブリフト装置を備えている場合には、吸気バルブ２８のバルブリフト量を増大させるように吸気側可変バルブリフト装置を制御するようにしても良い。これにより、エンジン１１の停止直前に圧縮行程の圧縮圧によってピストン３７が押し戻され易くなって逆転が発生し易くなる。
【００６５】
尚、ステップ４０３の処理とステップ４０４の処理のうちの一方のみを実行して、圧縮行程の圧縮圧を増加させるようにしても良い。
【００６６】
本実施例２においても、前記実施例１とほぼ同じ効果を得ることができる。
上記各実施例１，２では、クランク角センサ３４の逆転信号出力系の異常有りと判定された場合に、気筒判別後クランク角に基づいた通常自動始動を実行するようにしたが、自動停止・始動制御を禁止するようにしても良い。或は、クランク角センサ３４の逆転信号出力系の異常有りと判定された場合に、クランク角センサ３４の逆転信号出力系の断線又は回路故障の有無を判定し、クランク角センサ３４の逆転信号出力系の断線又は回路故障有りと判定された場合に、継続的な異常であると判断して、自動停止・始動制御を禁止するようにしても良い。
【実施例３】
【００６７】
次に、図７及び図８を用いて本発明の実施例３を説明する。但し、前記実施例１と実質的に同一部分については説明を簡略化し、主として前記実施例１と異なる部分について説明する。
【００６８】
本実施例３では、後述する図７及び図８の異常診断ルーチンを実行することで、エンジン１１の自動始動時に暫定クランク角（前回の自動停止時の停止クランク角とクランク角センサ３４の出力信号とに基づいて暫定的に検出したクランク角）と気筒判別後クランク角（クランク角センサ３４の出力信号に基づいた欠歯タイミングとカム角センサ３５の出力信号に基づいたＧ信号とを用いて気筒判別して検出したクランク角）とを比較して、逆転検出機能付きのクランク角センサ３４の正転信号出力系又は逆転信号出力系の異常の有無を判定する。
【００６９】
クランク角センサ３４の正転信号出力系と逆転信号出力系が両方とも正常であれば、暫定クランク角と気筒判別後クランク角とがほぼ一致するはずであるが、クランク角センサ３４の正転信号出力系又は逆転信号出力系が異常になると、暫定クランク角と気筒判別後クランク角とが一致しなくなる。従って、エンジン１１の自動始動時に暫定クランク角と気筒判別後クランク角とを比較すれば、クランク角センサ３４の正転信号出力系又は逆転信号出力系の異常の有無を精度良く判定することができる。
【００７０】
図７及び図８に示す異常診断ルーチンは、クランク角センサ３４からパルス信号（正転パルス信号又は逆転パルス信号）が出力される毎に割り込み処理にて起動される。本ルーチンが起動されると、まず、ステップ５０１で、クランクカウンタＣcr10のカウント値が０以上であるか否かを判定し、クランクカウンタＣcr10のカウント値が０よりも小さい（初期値）と判定された場合には、ステップ５０２に進み、今回の割り込み処理が正転パルス信号の出力による割り込み処理であるか否かを判定し、正転パルス信号の出力による割り込み処理であると判定されれば、ステップ５０３に進み、クランク角センサ３４から出力されるパルス信号の間隔が長くなる欠歯タイミングであるか否かを判定する。
【００７１】
このステップ５０３で、欠歯タイミングであると判定された時点で、ステップ５０４に進み、Ｇ信号がオンであるか否かによって気筒判別し、Ｇ信号がオンであると判定された場合には、ステップ５０５に進み、クランクカウンタＣcr10のカウント値をＧ信号オン時の欠歯タイミングに相当するカウント値（例えば１０）にセットする。
【００７２】
一方、上記ステップ５０４で、Ｇ信号がオフであると判定された場合には、ステップ５０６に進み、クランクカウンタＣcr10のカウント値をＧ信号オフ時の欠歯タイミングに相当するカウント値（例えば４６）にセットする。
【００７３】
その後、上記ステップ５０１で、クランクカウンタＣcr10のカウント値が０以上であると判定されたときに、ステップ５０７に進み、今回の割り込み処理が正転パルス信号の出力による割り込み処理であるか否かを判定し、正転パルス信号の出力による割り込み処理であると判定された場合には、ステップ５０８に進み、クランクカウンタＣcr10のカウント値を「１」だけカウントアップする。この後、ステップ５０９に進み、クランクカウンタＣcr10のカウント値が上限値（例えば７１）以下であるか否かを判定し、クランクカウンタＣcr10のカウント値が上限値を上回ったときに、ステップ５１０に進み、クランクカウンタＣcr10のカウント値を下限値（例えば０）にリセットする。
【００７４】
一方、上記ステップ５０７で、正転パルス信号の出力による割り込み処理ではない（つまり逆転パルス信号の出力による割り込み処理である）と判定された場合には、ステップ５１１に進み、クランクカウンタＣcr10のカウント値を「１」だけカウントダウンする。この後、ステップ５１２に進み、クランクカウンタＣcr10のカウント値が下限値（例えば０）以上であるか否かを判定し、クランクカウンタＣcr10のカウント値が下限値を下回ったときに、ステップ５１３に進み、クランクカウンタＣcr10のカウント値を上限値（例えば７１）にリセットする。
【００７５】
この後、図８のステップ５１４に進み、クランク角センサ３４から出力されるパルス信号の間隔が長くなる欠歯タイミングであるか否かを判定し、欠歯タイミングであると判定された時点で、ステップ５１５に進み、Ｇ信号がオンであるか否かによって気筒判別し、Ｇ信号がオンであると判定された場合には、ステップ５１６に進み、現在のクランクカウンタＣcr10のカウント値とＧ信号オン時の欠歯タイミングに相当するカウント値（例えば１０）との偏差Ｄcrを次式により算出する。
Ｄcr＝｜Ｃcr10−１０｜
【００７６】
エンジン１１の自動始動時の最初のＧ信号オン時の欠歯タイミングの場合には、現在のクランクカウンタＣcr10のカウント値が暫定クランク角に相当し、Ｇ信号オン時の欠歯タイミングに相当するカウント値（例えば１０）が気筒判別後クランク角に相当するため、偏差Ｄcrが暫定クランク角と気筒判別後クランク角との偏差に相当する。
【００７７】
一方、上記ステップ５１５で、Ｇ信号がオフであると判定された場合には、ステップ５１７に進み、現在のクランクカウンタＣcr10のカウント値とＧ信号オフ時の欠歯タイミングに相当するカウント値（例えば４６）との偏差Ｄcrを次式により算出する。
Ｄcr＝｜Ｃcr10−４６｜
【００７８】
エンジン１１の自動始動時の最初のＧ信号オフ時の欠歯タイミングの場合には、現在のクランクカウンタＣcr10のカウント値が暫定クランク角に相当し、Ｇ信号オフ時の欠歯タイミングに相当するカウント値（例えば４６）が気筒判別後クランク角に相当するため、偏差Ｄcrが暫定クランク角と気筒判別後クランク角との偏差に相当する。
【００７９】
この後、ステップ５１８に進み、偏差Ｄcrが異常判定値Ｋdcr （例えば４）よりも小さいか否かを判定し、エンジン１１の自動始動時の最初の欠歯タイミングで、偏差Ｄcrが異常判定値Ｋdcr よりも小さいと判定された場合には、暫定クランク角と気筒判別後クランク角とがほぼ一致しているため、クランク角センサ３４の異常無し（正常）と判断して、ステップ５１９に進み、Ｇ信号がオンであるか否かを判定する。
【００８０】
このステップ５１９で、Ｇ信号がオンであると判定されれば、ステップ５２０に進み、クランクカウンタＣcr10のカウント値をＧ信号オン時の欠歯タイミングに相当するカウント値（例えば１０）にセットし、通常自動始動許可フラグＦfail1 を「０」にリセット又は維持する。一方、上記ステップ５１９で、Ｇ信号がオフであると判定されれば、ステップ５２１に進み、クランクカウンタＣcr10のカウント値をＧ信号オフ時の欠歯タイミングに相当するカウント値（例えば４６）にセットし、通常自動始動許可フラグＦfail1 を「０」にリセット又は維持する。
【００８１】
これに対して、上記ステップ５１８で、エンジン１１の自動始動時の最初の欠歯タイミングで、偏差Ｄcrが異常判定値Ｋdcr 以上であると判定された場合には、暫定クランク角と気筒判別後クランク角とが一致していない（両者の差が大きい）ため、クランク角センサ３４の正転信号出力系又は逆転信号出力系の異常有りと判断して、ステップ５２２に進み、クランクカウンタＣcr10のカウント値を初期値（例えば−１）にリセットし、通常自動始動許可フラグＦfail1 を「１」にセットする。
【００８２】
以上説明した本実施例３では、エンジン１１の自動始動時に暫定クランク角（前回の自動停止時の停止クランク角とクランク角センサ３４の出力信号とに基づいて暫定的に検出したクランク角）と気筒判別後クランク角（クランク角センサ３４の出力信号に基づいた欠歯タイミングとカム角センサ３５の出力信号に基づいたＧ信号とを用いて気筒判別して検出したクランク角）とを比較してクランク角センサ３４の正転信号出力系又は逆転信号出力系の異常の有無を判定するようにしたので、ハード構成を新たに追加することなく、逆転検出機能付きのクランク角センサ３４の異常診断を行うことができ、低コスト化の要求を満たすことができる。
【００８３】
尚、上記各実施例１，２では、クランク角センサ３４の逆転信号出力系の異常有りと判定された場合に、気筒判別後クランク角に基づいた通常自動始動を実行するようにしたが、クランク角センサ３４の逆転信号出力系の異常有りと判定された場合に、エンジン１１の自動始動時に暫定クランク角と気筒判別後クランク角とが一致している（両者の差が小さい）か否かを判定し、暫定クランク角と気筒判別後クランク角とが一致していないと判定された回数が所定値（例えば１回）以下の場合には、ノイズ等の影響による一時的な異常である可能性があると判断して、自動停止・始動制御を禁止せずに気筒判別後クランク角に基づいた通常自動始動を実行し、暫定クランク角と気筒判別後クランク角とが一致していないと判定された回数が所定値を越えた場合には、継続的な異常であると判断して、自動停止・始動制御を禁止するようにしても良い。これにより、ノイズ等の影響による一時的な異常で自動停止・始動制御を禁止することを防止して燃費悪化を抑制することができる。
【実施例４】
【００８４】
次に、図９及び図１０を用いて本発明をハイブリッド電気自動車に適用して具体化した実施例４を説明する。但し、前記実施例１と実質的に同一部分には同一符号を付して説明を簡略化し、主として前記実施例１と異なる部分について説明する。
【００８５】
まず、図９に基づいてハイブリッド電気自動車の車両駆動制御システムの構成を説明する。ハイブリッド電気自動車には、駆動源として、エンジン１１（内燃機関）とスタータ兼用の交流モータ３８が搭載され、これらの動力がトルクコンバータ３９と変速機４０を介してディファレンシャル装置４１に伝達され、更に駆動シャフト４２を介して駆動輪４３に伝達される。
【００８６】
パワートレイン制御装置４４は、クランク角センサ３４、カム角センサ３５、エアフローメータ１４、冷却水温センサ２６等によって検出されるエンジン運転状態や、車両用制御装置４５から送信されてくる車両状態の情報に基づいて、エンジン１１の吸入空気量、燃料噴射量、点火時期を制御してエンジン１１の出力トルクを制御すると共に、交流モータ３８の発生トルクを制御し、更に、トルクコンバータ３９のロックアップ状態や変速機４０の変速比等を制御する。
【００８７】
一方、車両用制御装置４５は、アクセルペダルセンサ４６、シフトセンサ４７、車速センサ４８、ブレーキマスターシリンダ圧センサ４９等の各種センサの出力信号や、パワートレイン制御装置４４から送信されてくるエンジン運転状態の情報に基づいて車両の走行状態を制御する。具体的には、車両用制御装置４５は、パワートレイン制御装置４４、インバータ５０、補機バッテリ制御装置５１（ＤＣ／ＤＣコンバータ）を介してエンジン１１、交流モータ３８、変速機４０、高圧直流バッテリ５２、補機バッテリ５３等を協調制御し、エンジン１１の自動停止・始動制御（いわゆるアイドルストップ制御）を実行すると共に、発進、加速アシスト、減速回生等を制御する。
【００８８】
始動制御では、交流モータ３８（スタータ）を起動してエンジン１１の回転速度を所定の回転速度まで上昇させた後、燃料ポンプ制御装置５４により燃料ポンプ５５を起動すると共に、パワートレイン制御装置４４によって燃料噴射と点火を開始してエンジン１１を始動する。
【００８９】
補機バッテリ制御装置５１は、車両用制御装置４５からの信号や、補機バッテリ電流センサ５６、補機バッテリ温度センサ５７等の各種センサの出力信号に基づいて補機バッテリ５３の充電量を制御する。また、車両用制御装置４５は、自己診断機能を搭載し、車両駆動制御システムの各部の異常・故障を検出したときに、警告表示部５８（警告手段）にその異常・故障内容を警告表示して運転者に警告する。
【００９０】
燃料タンク（図示せず）内の燃料を汲み上げてエンジン１１に供給する燃料ポンプ５５は、駆動源としてブラシ付きＤＣモータ（図示せず）を内蔵し、補機バッテリ５３の電圧を電源電圧として駆動される。この燃料ポンプ５５を制御する燃料ポンプ制御装置５４は、補機バッテリ電圧センサ５９や燃料ポンプコイル温度センサ６０等の出力信号に基づいて燃料ポンプ５５の駆動電流を制御する。
【００９１】
また、車両用制御装置４５は、後述する図１０の逆転信号出力系異常診断ルーチンを実行することで、エンジン停止中に交流モータ３８の動力で強制的にエンジン１１を逆転させる逆転制御を実行する逆転制御手段として機能すると共に、この逆転制御を実行したときにクランク角センサ３４から逆転パルス信号が出力されない場合に、クランク角センサ３４の逆転信号出力系の異常有りと判定する異常診断手段として機能する。
【００９２】
図１０に示す逆転信号出力系異常診断ルーチンでは、まず、ステップ６０１で、エンジン停止中であるか否かを判定し、次のステップ６０２で、変速機４０がニュートラル状態であるか否かを判定する。その結果、上記ステップ６０１でエンジン停止中ではない（エンジン運転中である）と判定された場合、又は、上記ステップ６０２で変速機４０がニュートラル状態ではない（動力伝達状態である）と判定された場合には、ステップ６０３以降の処理を行うことなく、本ルーチンを終了する。
【００９３】
一方、上記ステップ６０１でエンジン停止中であると判定され、且つ、上記ステップ６０２で変速機４０がニュートラル状態であると判定された場合には、ステップ６０３に進み、異常診断完了フラグＦjdg が異常診断の未完了を意味する「０」であるか否かを判定し、異常診断完了フラグＦjdg が「０」であると判定されれば、ステップ６０４に進み、交流モータ３８の動力で強制的にエンジン１１を逆転させる逆転制御を実行する。
【００９４】
この後、ステップ６０５に進み、クランク角センサ３４から逆転パルス信号が出力されたか否かを判定し、クランク角センサ３４から逆転パルス信号が出力されていないと判定された場合には、エンジン１１が逆転しているにも拘らずクランク角センサ３４から逆転パルス信号が出力されない異常状態であると判断して、ステップ６０６に進み、クランク角センサ３４の逆転信号出力系の異常有りと判定して、逆転信号出力系異常フラグＦrev を「１」にセットし、更に、自動停止・始動禁止フラグＦfail2 を自動停止・始動制御の禁止を意味する「１」にセットして、異常診断完了フラグＦjdg を異常診断の完了を意味する「１」にセットする。
【００９５】
これに対して、上記ステップ６０５で、クランク角センサ３４から逆転パルス信号が出力されたと判定された場合には、ステップ６０７に進み、クランク角センサ３４の逆転信号出力系の異常無し（正常）と判定して、逆転信号出力系異常フラグＦrev を「０」にリセット又は維持し、更に、自動停止・始動禁止フラグＦfail2 を「０」にリセット又は維持して、異常診断完了フラグＦjdg を「１」にセットする。
【００９６】
以上説明した本実施例４では、エンジン停止中に交流モータ３８の動力で強制的にエンジン１１を逆転させる逆転制御を実行するようにしたので、エンジン１１を確実に且つ速やかに逆転させることができ、クランク角センサ３４の逆転信号出力系の異常の有無を精度良く且つ速やかに検出することができる。
尚、上記各実施例１〜３で説明した技術は、エンジン１１のみを動力源とする一般的な車両に限定されず、ハイブリッド電気自動車に適用しても良いことは言うまでもない。
【００９７】
また、エンジン１１が逆転するのを防止する逆転防止機構と、逆転検出機能を備えていない一般的なクランク角センサとを備えたシステムにおいて、エンジン１１の自動始動時に暫定クランク角と気筒判別後クランク角とが一致しているか否かによって逆転防止機構の異常の有無を判定するようにしても良い。更に、逆転防止機構の異常無し（正常）と判定された場合に暫定クランク角に基づいた早期自動始動を実行し、逆転防止機構の異常有りと判定された場合に気筒判別後クランク角に基づいた通常自動始動を実行するか又は自動停止・始動制御を禁止するようにしても良い。
【図面の簡単な説明】
【００９８】
【図１】本発明の実施例１におけるエンジン制御システム全体の概略構成図である。
【図２】クランクカウンタのカウントに基づいたクランク角の検出方法を説明するタイムチャートである。
【図３】実施例１の逆転信号出力系異常診断ルーチンの処理の流れを説明するフローチャートである。
【図４】実施例１の逆転制御ルーチンの処理の流れを説明するフローチャートである。
【図５】実施例１の自動始動制御ルーチンの処理の流れを説明するフローチャートである。
【図６】実施例２の逆転制御ルーチンの処理の流れを説明するフローチャートである。
【図７】実施例３の異常診断ルーチンの処理の流れを説明するフローチャート（その１）である。
【図８】実施例３の異常診断ルーチンの処理の流れを説明するフローチャート（その２）である。
【図９】実施例４のハイブリッド電気自動車の車両駆動制御システム全体の概略構成図である。
【図１０】実施例４の逆転信号出力系異常診断ルーチンの処理の流れを説明するフローチャートである。
【符号の説明】
【００９９】
１１…エンジン（内燃機関）、１２…吸気管、１６…スロットルバルブ、２１…燃料噴射弁、２２…点火プラグ、２３…排気管、３２…クランク軸、３４…クランク角センサ、３５…カム角センサ、３６…ＥＣＵ（逆転制御手段，異常診断手段，停止位置検出手段，暫定クランク角検出手段，気筒判別後クランク角検出手段，フェールセーフ制御手段）、３８…交流モータ、３９…トルクコンバータ、４０…変速機、４４…パワートレイン制御装置、４５…車両用制御装置（逆転制御手段，異常診断手段）、５０…インバータ、５２…高圧直流バッテリ
【図１】
0004911364.tif 000002
【図２】
0004911364.tif 000003
【図３】
0004911364.tif 000004
【図４】
0004911364.tif 000005
【図５】
0004911364.tif 000006
【図６】
0004911364.tif 000007
【図７】
0004911364.tif 000008
【図８】
0004911364.tif 000009
【図９】
0004911364.tif 000010
【図１０】
0004911364.tif 000011