(57)【要約】【課題】エンジンの停止位置を精度良く検出できるようにする。【解決手段】エンジン１１の点火や燃料噴射が停止されてエンジン１１の回転が停止する際には、クランク軸２４の回転に応じてピストン３４が上下動して筒内の空気が圧縮・膨張されて筒内圧力が変化するため、クランク角に応じて筒内圧力が変化し、圧縮ＴＤＣ（圧縮上死点）で筒内圧力が最大値となる。そこで、エンジン１１が停止する際に、クランク角センサ２６の出力信号に基づいてエンジン１１の回転が停止したか否かを判定し、エンジン１１の回転が停止したと判定されたときに筒内圧力センサ３３で検出した筒内圧力と、圧縮ＴＤＣにおいて筒内圧力センサ３３で検出した筒内圧力との関係を用いて、圧縮ＴＤＣ時のクランク角を基準にしてエンジン停止時のクランク角（停止位置）を算出する。【選択図】図１
2009138662.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の回転が停止したときの停止位置を検出する停止位置検出手段を備えた内燃機関の停止位置検出装置において、
内燃機関の筒内圧力を検出する筒内圧力検出手段と、
内燃機関の回転が停止したか否かを判定する停止判定手段とを備え、
前記停止位置検出手段は、前記停止判定手段により内燃機関の回転が停止したと判定されたときに前記筒内圧力検出手段で検出した筒内圧力に基づいて内燃機関の停止位置を検出することを特徴とする内燃機関の停止位置検出装置。
【請求項２】
内燃機関の回転が停止する過程で前記筒内圧力検出手段で検出した筒内圧力に基づいて内燃機関の回転方向が逆転したか否かを判定する逆転判定手段を備え、
前記停止位置検出手段は、前記停止判定手段により内燃機関の回転が停止したと判定されたときに前記逆転判定手段の判定結果と前記筒内圧力検出手段で検出した筒内圧力とに基づいて内燃機関の停止位置を検出することを特徴とする請求項１に記載の内燃機関の停止位置検出装置。
【請求項３】
前記停止位置検出手段は、前記停止判定手段により内燃機関の回転が停止したと判定されたときに前記筒内圧力検出手段で検出した筒内圧力と、圧縮上死点において前記筒内圧力検出手段で検出した筒内圧力とに基づいて内燃機関の停止位置を検出することを特徴とする請求項１又は２に記載の内燃機関の停止位置検出装置。
【請求項４】
内燃機関の回転が停止したときの停止位置を検出する停止位置検出手段を備えた内燃機関の停止位置検出装置において、
内燃機関のクランク軸が所定クランク角回転する毎にクランク角信号を出力するクランク角センサと、
前記クランク角センサから出力されるクランク角信号をカウントしてそのカウント値に基づいてクランク角を検出するクランク角検出手段と、
内燃機関の筒内圧力を検出する筒内圧力検出手段と、
内燃機関の回転が停止する過程で前記筒内圧力検出手段で検出した筒内圧力に基づいて内燃機関の回転方向が逆転したか否かを判定する逆転判定手段と、
内燃機関の回転が停止したか否かを判定する停止判定手段とを備え、
前記クランク角検出手段は、前記逆転判定手段により内燃機関の回転方向が逆転したと判定されたときに前記クランク角信号のカウントアップ／ダウンを切り換えて前記クランク角信号をカウントしてそのカウント値に基づいてクランク角を検出し、
前記停止位置検出手段は、前記停止判定手段により内燃機関の回転が停止したと判定されたときに前記クランク角検出手段による前記クランク角信号のカウント値に基づいて内燃機関の停止位置を検出することを特徴とする内燃機関の停止位置検出装置。
【請求項５】
内燃機関の筒内圧力を検出する筒内圧力検出手段と、
内燃機関の回転が停止する過程で前記筒内圧力検出手段で検出した筒内圧力に基づいて内燃機関の回転方向が逆転したか否かを判定する逆転判定手段と
を備えていることを特徴とする内燃機関の逆転検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の停止位置を検出する内燃機関の停止位置検出装置及び内燃機関の回転方向の逆転を検出する内燃機関の逆転検出装置に関する発明である。
【背景技術】
【０００２】
一般に、内燃機関の運転中は、クランク角センサとカム角センサの出力信号に基づいて気筒を判別し且つクランク角を検出して点火制御や燃料噴射制御を行うようにしているが、内燃機関の始動時は、スタータにより内燃機関をクランキングして特定気筒の判別が完了するまで（つまり特定気筒の所定クランク角の信号を検出するまで）、最初に点火・噴射する気筒が不明であるという問題がある。
【０００３】
この問題を解決するために、特許文献１（特開昭６０−２４０８７５号公報）に記載されているように、内燃機関の回転停止時のクランク角（クランク軸の停止位置）をメモリに記憶しておき、次の内燃機関の始動時に、特定気筒の所定クランク角の信号を最初に検出するまでの間は、上記メモリに記憶された内燃機関の回転停止時のクランク角を基準にして点火制御や燃料噴射制御を開始することで、始動性や始動時の排気エミッションを向上させるようにしたものがある。
【０００４】
しかし、イグニッションスイッチがオフ操作されて点火や燃料噴射が停止された後も、暫く内燃機関が惰性で回転するため、イグニッションスイッチのオフ操作時のクランク角を記憶したのでは、実際の内燃機関の停止位置（次の内燃機関の始動位置）を誤判定してしまう。従って、イグニッションスイッチのオフ後も、内燃機関の回転が完全に停止するまで、制御系の電源をオン状態に維持してクランク角の検出を継続する必要があるが、内燃機関の回転が停止する間際に圧縮行程の圧縮圧によって内燃機関の回転方向が逆転する現象が発生することがあるため、内燃機関の停止位置を正確に検出することができない（従来技術では逆転は検出できない）。
【０００５】
そこで、特許文献２（特開２００４−２４５１０５号公報）に記載されているように、内燃機関が停止する過程で、内燃機関の運動エネルギとその運動を妨げる損失エネルギとを演算して、内燃機関の回転停止挙動を推定し、内燃機関の停止位置を推定するようにしたものがある。
【０００６】
更に、特許文献３（特開２００６−５７５２４号公報）に記載されているように、内燃機関が停止する過程で、上記特許文献２と同様の方法で内燃機関の回転停止挙動を推定し、この回転停止挙動に基づいて決定したタイミングで、内燃機関の補機（例えば発電機）の負荷トルクを制御して内燃機関の停止位置を目標停止位置に制御する停止位置制御を実行することで、内燃機関の停止位置を制御するようにしたものがある。
【特許文献１】特開昭６０−２４０８７５号公報（第２頁等）
【特許文献２】特開２００４−２４５１０５号公報（第２頁等）
【特許文献３】特開２００６−５７５２４号公報（第２頁等）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献２のように、内燃機関が停止する過程で、内燃機関の運動エネルギとその運動を妨げる損失エネルギとを演算して内燃機関の停止位置を推定する方法は、内燃機関の製造ばらつき、経時変化、停止直前の運転状態、補機類の動作状況等の影響を受けて停止位置の推定精度が低下しやすく、しかも、演算負荷が大きくなるという課題がある。
【０００８】
また、上記特許文献３のように、内燃機関の停止位置を制御する停止位置制御を実行しても、内燃機関の製造ばらつき、経時変化、停止直前の運転状態、補機類の動作状況等によっては、内燃機関を常に目標停止位置で正確に停止できるとは限らず、内燃機関の停止位置が目標停止位置からずれてしまうことがあり、結果的に停止位置を誤検出することになってしまうことがある。
【０００９】
本発明は、このような事情を考慮してなされたものであり、従って本発明の目的は、内燃機関の製造ばらつき、経時変化、停止直前の運転状態、補機類の動作状況等の影響を受けずに、比較的簡単な演算処理で内燃機関の停止位置を精度良く検出できるようにすることにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、請求項１に係る発明は、内燃機関の停止位置検出装置において、内燃機関の筒内圧力を検出する筒内圧力検出手段を設け、内燃機関の回転が停止したか否かを停止判定手段により判定し、停止判定手段により内燃機関の回転が停止したと判定されたときに、筒内圧力検出手段で検出した筒内圧力に基づいて内燃機関の停止位置を停止位置検出手段により検出するようにしたものである。
【００１１】
内燃機関の点火や燃料噴射が停止されて内燃機関の回転が停止する際には、クランク軸の回転に応じてピストンが上下動して筒内の空気が圧縮・膨張されて筒内圧力が変化するため、クランク角に応じて筒内圧力が変化する。従って、内燃機関の回転が停止したときに検出した筒内圧力を用いれば、内燃機関の製造ばらつき、経時変化、停止直前の運転状態、補機類の動作状況等の影響を受けずに、比較的簡単な演算処理で、内燃機関の回転が停止したクランク角（停止位置）を精度良く検出することができる。
【００１２】
ところで、内燃機関の回転が停止する間際に圧縮行程の圧縮圧によって内燃機関の回転方向が逆転することがあるが、内燃機関の回転方向が逆転して停止した場合には、内燃機関の停止位置を誤検出する可能性がある。
【００１３】
そこで、請求項２のように、内燃機関の回転が停止する過程で筒内圧力検出手段で検出した筒内圧力に基づいて内燃機関の回転方向が逆転したか否かを逆転判定手段により判定し（請求項５参照）、停止判定手段により内燃機関の回転が停止したと判定されたときに逆転判定手段の判定結果と筒内圧力検出手段で検出した筒内圧力とに基づいて内燃機関の停止位置を検出するようにしても良い。
【００１４】
一般に、内燃機関の回転が停止する過程では、圧縮上死点毎に筒内圧力が最大値となり、圧縮上死点毎の筒内圧力がほぼ一定となるが、圧縮行程の途中で内燃機関の回転方向が逆転すると、筒内圧力が圧縮上死点の筒内圧力に到達する前に低下する。従って、内燃機関の回転が停止する過程で筒内圧力を監視すれば、筒内圧力が圧縮上死点の筒内圧力に到達する前に低下したか否かで内燃機関の回転方向が逆転したか否かを精度良く判定することができる。そして、内燃機関の回転方向が逆転したか否かの判定結果と内燃機関の回転が停止したときに検出した筒内圧力とを用いれば、内燃機関の回転方向が逆転せずに停止した場合と、逆転して停止した場合とを区別して、内燃機関の回転が停止したときに検出した筒内圧力に基づいて内燃機関の回転が停止したクランク角を精度良く求めることができ、内燃機関の回転方向が逆転して停止した場合でも、内燃機関の停止位置を精度良く検出することができる。
【００１５】
更に、請求項３のように、停止判定手段により内燃機関の回転が停止したと判定されたときに筒内圧力検出手段で検出した筒内圧力と、圧縮上死点において筒内圧力検出手段で検出した筒内圧力とに基づいて内燃機関の停止位置を検出するようにしても良い。このようにすれば、内燃機関の回転が停止したときに検出した筒内圧力と、圧縮上死点において検出した筒内圧力との関係を用いて、圧縮上死点のクランク角を基準にして内燃機関の回転が停止したクランク角（停止位置）を精度良く検出することができる。
【００１６】
また、請求項４のように、内燃機関の停止位置を検出する停止位置検出手段と、内燃機関のクランク軸が所定クランク角回転する毎にクランク角信号を出力するクランク角センサと、前記クランク角センサから出力されるクランク角信号をカウントしてそのカウント値に基づいてクランク角を検出するクランク角検出手段と、内燃機関の筒内圧力を検出する筒内圧力検出手段と、内燃機関の回転が停止する過程で前記筒内圧力検出手段で検出した筒内圧力に基づいて内燃機関の回転方向が逆転したか否かを判定する逆転判定手段と、内燃機関の回転が停止したか否かを判定する停止判定手段とを備え、前記クランク角検出手段は、前記逆転判定手段により内燃機関の回転方向が逆転したと判定されたときに前記クランク角信号のカウントアップ／ダウンを切り換えて前記クランク角信号をカウントしてそのカウント値に基づいてクランク角を検出し、前記停止位置検出手段は、前記停止判定手段により内燃機関の回転が停止したと判定されたときに前記クランク角検出手段による前記クランク角信号のカウント値に基づいて内燃機関の停止位置を検出するように構成しても良い。
【００１７】
このようにすれば、内燃機関の回転が正転しているときには、クランク角センサから出力されるクランク角信号のカウント値をカウントアップし、内燃機関の回転方向が逆転しているときには、クランク角センサから出力されるクランク角信号のカウント値をカウントダウンするという制御が可能となり、内燃機関の回転方向が逆転した場合でも、クランク角信号のカウント値とクランク角との対応関係を正常に保つことができて、クランク角信号のカウント値からクランク角を精度良く検出することができる。これにより、内燃機関の回転方向が逆転して停止した場合でも、停止時のクランク角信号のカウント値から内燃機関の停止位置を精度良く検出することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を実施するための最良の形態を具体化した幾つかの実施例を説明する。
【実施例１】
【００１９】
本発明の実施例１を図１乃至図３に基づいて説明する。
まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。
【００２０】
内燃機関であるエンジン１１の吸気ポート１２に接続された吸気管１３の途中には、スロットルバルブ１４が設けられ、このスロットルバルブ１４の開度（スロットル開度）がスロットル開度センサ１５によって検出される。更に、スロットルバルブ１４の下流側には、吸気管圧力を検出する吸気管圧力センサ１８が設けられ、各気筒の吸気ポート１２の近傍に、それぞれ燃料を噴射する燃料噴射弁１９が取り付けられている。また、エンジン１１のシリンダヘッドには、各気筒毎に点火プラグ３１が取り付けられ、各点火プラグ３１の火花放電によって筒内の混合気に着火される。
【００２１】
一方、エンジン１１の排気ポート２０に接続された排気管２１の途中には、排出ガスを浄化する三元触媒等の触媒２２が設置されている。エンジン１１のシリンダブロックには、冷却水温を検出する冷却水温センサ２３が設けられている。エンジン１１のクランク軸２４に取り付けられたシグナルロータ２５の外周に対向してクランク角センサ２６が設置され、このクランク角センサ２６からシグナルロータ２５の回転に同期して所定クランク角毎（例えば６℃Ａ又は１０℃Ａ毎）にクランク角信号（パルス信号）が出力される。また、エンジン１１のカム軸２７に取り付けられたシグナルロータ２８の外周に対向してカム角センサ２９が設置され、このカム角センサ２９からシグナルロータ２８の回転に同期して所定カム角毎にカム角信号（パルス信号）が出力される。
【００２２】
更に、エンジン１１のシリンダヘッドには、各気筒毎に筒内圧力を検出する筒内圧力センサ３３（筒内圧力検出手段）が設けられている。この筒内圧力センサ３３は、点火プラグ３１と一体化したタイプのものを用いても良いし、点火プラグ３１とは別体のセンサ部を燃焼室内に臨ませるように取り付けるタイプのものを用いても良い。
【００２３】
これら各種センサの出力は、制御回路（以下「ＥＣＵ」と表記する）３０に入力される。このＥＣＵ３０は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）に記憶された各種のエンジン制御プログラムを実行することで、エンジン運転状態に応じて燃料噴射弁１９の燃料噴射量や点火プラグ３１の点火時期を制御すると共に、エンジン運転中に図示しないＩＧスイッチ（イグニッションスイッチ）のオフ信号又はアイドルストップ信号（アイドルストップ指令）が入力されてエンジン停止指令が発生したときに、点火及び／又は燃料噴射を停止してエンジン１１の回転を停止させる。
【００２４】
その際、ＥＣＵ３０は、後述する図２のエンジン停止位置検出ルーチンを実行することで、クランク角センサ２６の出力信号に基づいてエンジン１１の回転が停止したか否かを判定し、エンジン１１の回転が停止したと判定されたときに筒内圧力センサ３３で検出した筒内圧力（エンジン停止時の筒内圧力）と、圧縮ＴＤＣ（圧縮上死点）において筒内圧力センサ３３で検出した筒内圧力（圧縮ＴＤＣ時の筒内圧力）とに基づいてエンジン１１の停止位置を検出する。
【００２５】
エンジン１１の点火や燃料噴射が停止されてエンジン１１の回転が停止する際には、クランク軸２４の回転に応じてピストン３４が上下動して筒内の空気が圧縮・膨張されて筒内圧力が変化するため、図３に示すように、クランク角に応じて筒内圧力が変化する。この場合、圧縮行程では、クランク角が進角するのに応じて筒内圧力が上昇し、圧縮ＴＤＣに達した時点で筒内圧力が最大値となり、その後、膨張行程では、クランク角が進角するのに応じて筒内圧力が低下する。
【００２６】
従って、圧縮ＴＤＣ付近（圧縮行程又は膨張行程）で停止した気筒のエンジン停止時の筒内圧力と、その気筒の圧縮ＴＤＣ時の筒内圧力（例えば、最新の圧縮ＴＤＣ時の筒内圧力又は圧縮ＴＤＣ時の筒内圧力の平均値等）との関係を用いて、その気筒の圧縮ＴＤＣ時のクランク角を基準にしてエンジン停止時のクランク角を算出することができ、そのエンジン停止時のクランク角をエンジン１１の停止位置として検出することができる。
【００２７】
以下、ＥＣＵ３０が実行する図２のエンジン停止位置検出ルーチンの処理内容を説明する。
図２に示す停止位置検出ルーチンは、ＥＣＵ３０の電源オン中に所定周期で実行され、特許請求の範囲でいう停止位置検出手段としての役割を果たす。尚、ＩＧスイッチのオフ後も暫くの間は、電源回路のメインリレー（図示せず）をオン状態に維持してＥＣＵ３０への通電が継続されて、本ルーチンが実行されるようになっている。
【００２８】
本ルーチンが起動されると、まず、ステップ１０１で、エンジン停止過程（点火及び／又は燃料噴射が停止されてエンジン１１の回転が停止する過程）であるか否かを、例えば、ＩＧスイッチがオフ操作されたか否かによって判定する。
【００２９】
このステップ１０１で、エンジン停止過程であると判定された場合には、ステップ１０２に進み、エンジン１１の回転が停止したか否かを、例えば、クランク角センサ２６からのクランク角信号（パルス信号）が入力されることなく所定時間が経過したか否かによって判定する。このステップ１０２の処理が特許請求の範囲でいう停止判定手段としての役割を果たす。
【００３０】
このステップ１０２で、エンジン１１の回転が停止したと判定されたときに、ステップ１０３に進み、圧縮ＴＤＣ付近（圧縮行程又は膨張行程）で停止した気筒のエンジン停止時の筒内圧力と、その気筒の圧縮ＴＤＣ時の筒内圧力（例えば、最新の圧縮ＴＤＣ時の筒内圧力又は圧縮ＴＤＣ時の筒内圧力の平均値等）との関係を用いて、その気筒の圧縮ＴＤＣ時のクランク角を基準にしてエンジン停止時のクランク角を求める。
【００３１】
例えば、圧縮行程で停止した場合（筒内圧力のピーク位置を越える前に停止した場合）には、エンジン停止時の筒内圧力と圧縮ＴＤＣ時の筒内圧力との差又は比等に基づいて、圧縮ＴＤＣ時のクランク角からエンジン停止時のクランク角までのクランク角幅をマップ又は数式等により求め、そのクランク角幅を圧縮ＴＤＣ時のクランク角から減算してエンジン停止時のクランク角を求める。
【００３２】
一方、膨張行程で停止した場合（筒内圧力のピーク位置を越えた後に停止した場合）には、エンジン停止時の筒内圧力と圧縮ＴＤＣ時の筒内圧力との差又は比等に基づいて、圧縮ＴＤＣ時のクランク角からエンジン停止時のクランク角までのクランク角幅をマップ又は数式等により求め、そのクランク角幅を圧縮ＴＤＣ時のクランク角に加算してエンジン停止時のクランク角を求める。
【００３３】
尚、エンジン停止時の筒内圧力と圧縮ＴＤＣ時の筒内圧力とに基づいてエンジン停止時のクランク角を求める方法は、適宜変更しても良い。
【００３４】
このようにして求めたエンジン停止時のクランク角をエンジン１１の停止位置として検出してＥＣＵ３０のバックアップＲＡＭ３２等の不揮発性メモリに記憶して、次回のエンジン始動時に、この停止位置を始動位置とみなして気筒判別して、点火・噴射を開始してエンジン１１を始動させる。
【００３５】
以上説明した本実施例１では、エンジン１１の回転が停止する際には、クランク角に応じて筒内圧力が変化して圧縮ＴＤＣで筒内圧力が最大値となることに着目して、エンジン停止時の筒内圧力と圧縮ＴＤＣ時の筒内圧力との関係を用いて、圧縮ＴＤＣ時のクランク角を基準にしてエンジン停止時のクランク角を算出するようにしたので、エンジン１１の製造ばらつき、経時変化、停止直前の運転状態、補機類の動作状況等の影響を受けずに、比較的簡単な演算処理で、エンジン停止時の筒内圧力と圧縮ＴＤＣ時の筒内圧力との関係からエンジン停止時のクランク角（停止位置）を精度良く検出することができる。また、クランク角センサ２６によるクランク角検出間隔（クランク角信号の出力間隔）が広い場合は、このクランク角検出間隔よりも細かい間隔でエンジン１１の停止位置を検出することも可能である。
【実施例２】
【００３６】
次に、図４及び図５を用いて本発明の実施例２を説明する。但し、前記実施例１と実質的に同一部分については説明を簡略化し、主として前記実施例１と異なる部分について説明する。
【００３７】
ところで、エンジン１１の回転が停止する間際に圧縮行程の圧縮圧によってエンジン１１の回転方向が逆転することがあるが、エンジン１１の回転方向が逆転して停止した場合には、エンジン１１の停止位置を誤検出する可能性がある。
【００３８】
そこで、本実施例２では、後述する図４のエンジン停止位置検出ルーチンを実行することで、エンジン停止過程で圧縮行程にある気筒の筒内圧力が圧縮ＴＤＣ時の筒内圧力に到達する前に低下したか否かによってエンジン１１の回転方向が逆転したか否かを判定するようにしている。
【００３９】
一般に、エンジン停止過程では、圧縮ＴＤＣ毎に筒内圧力が最大値となり、圧縮ＴＤＣ毎の筒内圧力がほぼ一定となるが、図５に示すように、圧縮行程の途中でエンジン１１の回転方向が逆転すると、筒内圧力が圧縮ＴＤＣ時の筒内圧力に到達する前に低下する。従って、エンジン停止過程で圧縮行程にある気筒の筒内圧力が圧縮ＴＤＣ時の筒内圧力に到達する前に低下したか否かを判定すれば、エンジン１１の回転方向が逆転したか否かを精度良く判定することができる。
【００４０】
そして、エンジン１１の回転方向が逆転せずに停止した場合と、逆転して停止した場合とを区別して、エンジン停止時の筒内圧力と圧縮ＴＤＣ時の筒内圧力とに基づいてエンジン１１の停止位置を検出することで、エンジン１１の回転方向が逆転して停止した場合でも、エンジン１１の停止位置を精度良く検出できるようにしている。
【００４１】
図４のエンジン停止位置検出ルーチンでは、まず、ステップ２０１で、エンジン停止過程であるか否か（例えばＩＧスイッチがオフ操作されたか否か）を判定する。
【００４２】
このステップ２０１で、エンジン停止過程であると判定された場合には、ステップ２０２に進み、圧縮行程にある気筒の筒内圧力が圧縮ＴＤＣ時の筒内圧力に到達する前に低下したか否かによってエンジン１１の回転方向が逆転したか否かを判定する。このステップ２０２の処理が特許請求の範囲でいう逆転判定手段としての役割を果たす。
【００４３】
このステップ２０２で、エンジン１１の回転方向が逆転していないと判定された場合には、ステップ２０３に進み、逆転フラグを「０」に維持する。その後、上記ステップ２０２で、エンジン１１の回転方向が逆転したと判定された場合には、ステップ２０４に進み、逆転フラグを「１」にセットする。
【００４４】
この後、ステップ２０５に進み、エンジン１１の回転が停止したか否か（例えば、クランク角センサ２６からのクランク角信号が入力されることなく所定時間が経過したか否か）を判定し、このステップ２０５で、エンジン１１の回転が停止したと判定されたときに、ステップ２０６に進み、逆転フラグ（逆転したか否かの判定結果）及び圧縮ＴＤＣ付近で停止した気筒のエンジン停止時の筒内圧力と、その気筒の圧縮ＴＤＣ時の筒内圧力との関係を用いて、その気筒の圧縮ＴＤＣ時のクランク角を基準にしてエンジン停止時のクランク角（停止位置）を算出する。
【００４５】
例えば、逆転フラグが「１」の場合（エンジン１１の回転方向が逆転したと判定された場合）には、圧縮行程でエンジン１１の回転方向が逆転して停止したと判断して、エンジン停止時の筒内圧力と圧縮ＴＤＣ時の筒内圧力との差又は比等に基づいて、圧縮ＴＤＣ時のクランク角からエンジン停止時のクランク角までのクランク角幅をマップ又は数式等により求め、そのクランク角幅を圧縮ＴＤＣ時のクランク角から減算してエンジン停止時のクランク角を求める。
【００４６】
一方、逆転フラグが「０」の場合（エンジン１１の回転方向が逆転していないと判定された場合）には、前記実施例１で説明した図２のステップ１０３と同じ方法で、エンジン停止時のクランク角を求める。
【００４７】
このようにして求めたエンジン停止時のクランク角をエンジン１１の停止位置として検出してＥＣＵ３０のバックアップＲＡＭ３２等の不揮発性メモリに記憶する。
【００４８】
以上説明した本実施例２では、エンジン停止過程で圧縮行程にある気筒の筒内圧力が圧縮ＴＤＣ時の筒内圧力に到達する前に低下したか否かによってエンジン１１の回転方向が逆転したか否かを判定するようにしたので、エンジン１１の回転方向が逆転したか否かを精度良く判定して、エンジン１１の停止位置を検出することができる。しかも、エンジン１１の回転方向が逆転せずに停止した場合と、逆転して停止した場合とを区別して、エンジン停止時の筒内圧力と圧縮ＴＤＣ時の筒内圧力とに基づいてエンジン１１の停止位置を検出するようにしたので、エンジン１１の回転方向が逆転して停止した場合でも、エンジン１１の停止位置を精度良く検出することができる。
【００４９】
尚、上記各実施例１，２では、エンジン停止時の筒内圧力と圧縮ＴＤＣ時の筒内圧力とに基づいてエンジン１１の停止位置を検出するようにしたが、エンジン１１が停止する際のスロットル開度等が毎回ほぼ同じで圧縮ＴＤＣ時の筒内圧力が毎回ほぼ同じ場合には、エンジン停止時の筒内圧力のみに基づいてエンジン１１の停止位置を検出するようにしても良い。
【実施例３】
【００５０】
次に、図６及び図７を用いて本発明の実施例３を説明する。但し、前記実施例２と実質的に同一部分については説明を簡略化し、主として前記実施例２と異なる部分について説明する。
【００５１】
ＥＣＵ３０は、図７に実線で示すように、クランク角センサ２６からクランク角信号（パルス信号）が出力される毎にそのクランク角信号をカウントするクランク角カウンタのカウント値をカウントアップして（１カウントがクランク角信号の出力間隔である例えば６℃Ａ又は１０℃Ａに相当）、そのカウント値に基づいてクランク角を検出するクランク角検出手段として機能する。
【００５２】
また、ＥＣＵ３０は、後述する図６のエンジン停止位置検出ルーチンを実行することで、エンジン停止過程で圧縮行程にある気筒の筒内圧力が圧縮ＴＤＣ時の筒内圧力に到達する前に低下したか否かによってエンジン１１の回転方向が逆転したか否かを判定し、エンジン１１の回転方向が逆転したと判定された場合には、その時点ｔ1 で、図７に点線で示すように、クランク角カウンタのカウント方向をアップ方向からダウン方向に切り換えて、クランク角センサ２６からクランク角信号が出力される毎にクランク角カウンタのカウント値をカウントダウンする。そして、エンジン１１の回転が停止したと判定されたときに、その時点のクランク角カウンタのカウント値からエンジン停止位置を検出する。
【００５３】
図６のエンジン停止位置検出ルーチンでは、まず、ステップ３０１で、エンジン停止過程であるか否か（例えば、ＩＧスイッチがオフ操作されたか否か）を判定する。
【００５４】
このステップ３０１で、エンジン停止過程であると判定された場合には、ステップ３０２に進み、圧縮行程にある気筒の筒内圧力が圧縮ＴＤＣ時の筒内圧力に到達する前に低下したか否かによってエンジン１１の回転方向が逆転したか否かを判定する。
【００５５】
このステップ３０２で、エンジン１１の回転方向が逆転していないと判定された場合には、ステップ３０３に進み、クランク角カウンタのカウント方向を正転時のカウント方向であるアップ方向に維持して、クランク角センサ２６からクランク角信号が出力される毎にクランク角カウンタのカウント値をカウントアップする。
【００５６】
その後、上記ステップ３０２で、エンジン１１の回転方向が逆転したと判定された場合には、ステップ３０４に進み、クランク角カウンタのカウント方向を逆転時のカウント方向であるダウン方向に切り換えて、クランク角センサ２６からクランク角信号が出力される毎にクランク角カウンタのカウント値をカウントダウンする。
【００５７】
この後、ステップ３０５に進み、エンジン１１の回転が停止したか否か（例えば、クランク角センサ２６からのクランク角信号が入力されることなく所定時間が経過したか否か）を判定し、このステップ３０５で、エンジン１１の回転が停止したと判定されたときに、ステップ３０６に進み、その時点のクランク角カウンタのカウント値からエンジン停止位置を検出する。
【００５８】
以上説明した本実施例３では、筒内圧力に基づいてエンジン１１の回転方向が逆転したと判定されたときに、クランク角カウンタのカウント方向を切り換えて、クランク角センサ２６からクランク角信号が出力される毎にクランク角カウンタのカウント値をカウントダウンするようにしたので、エンジン１１の回転方向が逆転して停止した場合でも、クランク角カウンタのカウント値とクランク角との対応関係を正常に保つことができて、エンジン停止時のクランク角カウンタのカウント値からエンジン停止位置を精度良く検出することができる。
【００５９】
尚、上記各実施例１〜３では、エンジン１１の回転が停止したか否かをクランク角センサ２６からのクランク角信号が入力されることなく所定時間が経過したか否かによって判定するようにしたが、エンジン１１の回転が停止したか否かの判定方法は、適宜変更しても良く、例えば、エンジン１１の回転速度が低下する過程で所定回転速度を通過してから所定の停止判定時間が経過したときにエンジン１１の回転が停止したと判定するようにしても良い。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施例１におけるエンジン制御システム全体の概略構成図である。
【図２】実施例１のエンジン停止位置検出ルーチンの処理の流れを説明するフローチャートである。
【図３】筒内圧力の挙動を示すタイムチャートである。
【図４】実施例２のエンジン停止位置検出ルーチンの処理の流れを説明するフローチャートである。
【図５】エンジンの逆転を検出する方法を説明するタイムチャートである。
【図６】実施例３のエンジン停止位置検出ルーチンの処理の流れを説明するフローチャートである。
【図７】クランク角カウンタの挙動を説明するタイムチャートである。
【符号の説明】
【００６１】
１１…エンジン（内燃機関）、１３…吸気管、１４…スロットルバルブ、１９…燃料噴射弁、２１…排気管、２６…クランク角センサ、３０…ＥＣＵ（停止判定手段，停止位置検出手段，逆転判定手段，クランク角検出手段）、３１…点火プラグ、３３…筒内圧力センサ（筒内圧力検出手段）
【図１】
2009138662.tif 000003
【図２】
2009138662.tif 000004
【図３】
2009138662.tif 000005
【図４】
2009138662.tif 000006
【図５】
2009138662.tif 000007
【図６】
2009138662.tif 000008
【図７】
2009138662.tif 000009