(57)【特許請求の範囲】
【請求項１】
内燃機関の筒内圧力を筒内圧力検出手段で検出し、その検出値に基づいて着火時期を検出する内燃機関の着火時期検出装置において、
前記筒内圧力検出手段で過去に検出された非燃焼時の筒内圧力（以下「モータリング圧力」という）に基づいて、燃焼による圧力上昇を除いた現在の筒内空気の圧力（以下「基準圧力」という）を算出する基準圧力算出手段と、
前記筒内圧力検出手段で検出した現在の筒内圧力（以下「検出圧力」という）と前記基準圧力とを比較して着火時期を検出する着火時期検出手段とを備え、
前記基準圧力算出手段は、前記検出圧力と前記モータリング圧力との圧力比から求めた係数を前記モータリング圧力に乗算して前記基準圧力を算出することを特徴とする内燃機関の着火時期検出装置。
【請求項２】
前記筒内圧力検出手段は、燃料噴射カット時の筒内圧力を前記モータリング圧力として検出することを特徴とする請求項１に記載の内燃機関の着火時期検出装置。
【請求項３】
前記基準圧力算出手段は、前記圧力比を燃料着火前の少なくとも一点のクランク角で算出することを特徴とする請求項１又は２に記載の内燃機関の着火時期検出装置。
【請求項４】
前記筒内圧力検出手段により複数のクランク角で検出した複数の検出圧力に基づいて前記筒内圧力検出手段の出力特性のオフセット誤差を算出し、このオフセット誤差の分だけ前記筒内圧力検出手段の出力特性を補正するオフセット誤差補正手段を備えていることを特徴とする請求項１乃至３のいずれかに記載の内燃機関の着火時期検出装置。
【請求項５】
燃料噴射カット毎に所定条件下で前記筒内圧力検出手段により前記モータリング圧力を検出して該モータリング圧力の記憶値を更新するモータリング圧力更新手段を備えていることを特徴とする請求項１乃至４のいずれかに記載の内燃機関の着火時期検出装置。
【請求項６】
前記筒内圧力検出手段により少なくとも一点のクランク角で検出した前記モータリング圧力をその標準値と比較することで前記筒内圧力検出手段の出力特性のゲイン誤差を求め、このゲイン誤差の分だけ前記筒内圧力検出手段の出力特性を補正するゲイン誤差補正手段を備えていることを特徴とする請求項１乃至５のいずれかに記載の内燃機関の着火時期検出装置。
【請求項７】
前記着火時期検出手段は、前記検出圧力と前記基準圧力との差圧が着火判定値を越えた時を着火時期と判定することを特徴とする請求項１乃至６のいずれかに記載の内燃機関の着火時期検出装置。
【請求項８】
前記着火時期検出手段は、前記検出圧力と前記基準圧力との差圧を所定期間毎に算出し、前記着火判定値を越えた、連続する少なくとも２点の差圧を結ぶ特性線を求め、この特性線の延長線が前記着火判定値を越える時を着火時期と判定することを特徴とする請求項７に記載の内燃機関の着火時期検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関（エンジン）の筒内圧力を検出し、その検出圧力から着火時期を検出する内燃機関の着火時期検出装置に関するものである。
【０００２】
【従来の技術】
エンジンの着火時期は、エンジン出力、燃費及びエミッションに直接影響を与える制御パラメータである。一般に、着火時期は、エンジン運転条件、環境条件、燃料噴射系の経時変化等によって変化し、特に、ディーゼルエンジンでは、混合気を高圧縮して自己着火させるため、着火時期が変化しやすい傾向がある。従って、エンジン出力、燃費及びエミッションを向上するには、着火時期を制御する必要がある。
【０００３】
そこで、ディーゼルエンジンでは、特開平９−６８０８１号公報に示すように筒内圧力センサにより筒内圧力を検出し、この筒内圧力に基づいて燃焼（着火）による圧力上昇を検出することで、実際の着火時期を検出し、この着火時期を目標着火時期と一致させるように燃料噴射時期をフィードバック制御する技術が検討されている。
【０００４】
しかし、ディーゼルエンジンは、圧縮比が大きく、筒内に多量の空気を吸入するため、筒内空気の圧縮圧力（以下「基準圧力」という）が燃焼による圧力上昇に比べて相対的に大きくなる。このため、筒内圧力の検出値から基準圧力を除去しないと、燃焼による圧力上昇を精度良く検出することができない。
【０００５】
そこで、上記公報のものは、予め各クランク角での基準圧力を計算により求めてマップ等で記憶しておき、検出した筒内圧力から基準圧力を減算して基準圧力の影響を排除した燃焼圧力（燃焼による圧力上昇）を求め、この燃焼圧力が着火判定値を越えた時を着火時期と判定するようにしている。
【０００６】
【発明が解決しようとする課題】
ところで、基準圧力は一定ではなくエンジン運転条件等により変化し、特に過給機付きのエンジンではその変化が大きくなる傾向がある。従って、上記公報の技術において、正確な燃焼圧力を求めるには、検出した筒内圧力からその時のエンジン運転条件に応じた基準圧力を減算する必要がある。このため、予めエンジン運転条件毎に各クランク角での基準圧力を計算してマップ等で記憶しておく必要がある。しかし、刻々と変化する全てのエンジン運転条件に対して、その全ての基準圧力を予め計算で求めて記憶しておくことは事実上困難である。しかも、全てのエンジン運転条件の基準圧力に関する膨大なデータを記憶しておく必要があり、大容量のメモリが必要になってコストアップする欠点もある。
【０００７】
本発明はこのような事情を考慮してなされたものであり、従ってその目的は、エンジン運転条件毎の基準圧力を予め計算してマップ等で記憶しておかなくても、エンジン運転中にエンジン運転条件に応じた基準圧力を簡単に求めることができ、この基準圧力を用いて筒内圧力の検出値から着火時期を精度良く検出することができる内燃機関の着火時期検出装置を提供することにある。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１の内燃機関の着火時期検出装置は、筒内圧力検出手段で過去に検出された非燃焼時の筒内圧力（以下「モータリング圧力」という）に基づいて、燃焼による圧力上昇を除いた現在の筒内空気の圧力（以下「基準圧力」という）を基準圧力算出手段で算出し、筒内圧力検出手段で検出した現在の筒内圧力（以下「検出圧力」という）と基準圧力とを比較して、着火時期検出手段によって着火時期を検出することを第１の特徴とし、更に、基準圧力を算出する際に、検出圧力とモータリング圧力との圧力比から求めた係数をモータリング圧力に乗算して基準圧力を算出することを第２の特徴とする。
【０００９】
この場合、モータリング圧力は、あるエンジン運転条件における非燃焼時の筒内圧力、つまり燃焼による圧力上昇を除いた筒内空気の圧縮圧力である。従って、モータリング圧力は、それを検出した時のエンジン運転条件における基準圧力に相当することから、モータリング圧力検出時のエンジン運転条件と現在のエンジン運転条件との関係から、モータリング圧力をベースデータとして現在のエンジン運転条件における基準圧力を算出することができる。このため、本発明では、エンジン運転条件毎の基準圧力を予め計算してマップ等で記憶しておかなくても、エンジン運転中にその時のエンジン運転条件に応じた基準圧力を簡単に算出することができ、この基準圧力と検出圧力との比較から着火時期を精度良く検出することができる。しかも、エンジン運転条件毎の基準圧力に関する膨大なデータを記憶しておく必要がないため、大容量のメモリを必要とせず、その分、低コスト化できる。更に、基準圧力を算出する際のベースデータとなるモータリング圧力は、エンジン運転中に筒内圧力検出手段で検出するので、個々のエンジンの個体差によるモータリング圧力特性の違いにも対処できる。
【００１０】
ここで、車両減速時や高回転時等に実施される燃料噴射カットは、筒内が非燃焼状態となるため、請求項２のように、筒内圧力検出手段によって燃料噴射カット時の筒内圧力をモータリング圧力として検出するようにすると良い。このようにすれば、エンジン運転中にモータリング圧力の検出のための非燃焼状態をわざわざ作り出す必要がなく、運転性を損なわずに、車両減速時等の燃料噴射カットを利用してモータリング圧力を検出することができる。
【００１１】
また、請求項１に係る発明は、検出圧力とモータリング圧力との圧力比から求めた係数をモータリング圧力に乗算して基準圧力を算出するようにしている。つまり、モータリング圧力は、モータリング圧力検出時のエンジン運転条件における検出圧力（＝モータリング圧力検出時の基準圧力）であることから、現在のエンジン運転条件における検出圧力とモータリング圧力（モータリング圧力検出時の検出圧力）との圧力比は、現在のエンジン運転条件における基準圧力とモータリング圧力検出時の基準圧力との圧力比を推定する有力なパラメータとなる。従って、この圧力比から求めた係数をモータリング圧力（＝モータリング圧力検出時の基準圧力）に乗算すれば、現在のエンジン運転条件における基準圧力を簡単に算出することができる。
【００１２】
この場合、請求項３のように、検出圧力とモータリング圧力との圧力比を燃料着火前の少なくとも一点のクランク角において算出するようにすると良い。図２に示すように、燃料着火前であれば、燃焼による筒内圧力の上昇が生じないため、検出圧力と基準圧力とがほぼ一致する。従って、燃料着火前に圧力比を算出すれば、燃焼による圧力上昇の影響を全く受けない圧力比を算出することができ、燃料着火後のクランク角でも基準圧力を精度良く算出することができる。
【００１３】
ところで、筒内圧力検出手段として用いられる筒内圧力センサは、温度等の使用条件によって出力特性にオフセット誤差が生じることがあり、これが着火時期の検出精度を低下させる原因となる。
【００１４】
この対策として、請求項４のように、筒内圧力検出手段により複数のクランク角で検出した複数の検出圧力に基づいて筒内圧力検出手段の出力特性のオフセット誤差を算出し、このオフセット誤差の分だけ筒内圧力検出手段の出力特性を補正するようにしても良い。このようにすれば、たとえ、筒内圧力検出手段の出力特性にオフセット誤差が生じたとしても、筒内圧力検出手段の出力からオフセット誤差を排除した補正値を用いて着火時期を精度良く検出することができる。
【００１５】
また、請求項５のように、燃料噴射カット毎に所定条件下で筒内圧力検出手段によりモータリング圧力を検出して該モータリング圧力の記憶値を更新するようにすると良い。このようにすれば、内燃機関の特性や筒内圧力検出手段の出力特性が経時変化したとしても、その経時変化に応じて更新した最新のモータリング圧力に基づいて基準圧力を精度良く算出することができ、経時変化による着火時期の検出精度の低下を防ぐことができる。
【００１６】
また、筒内圧力検出手段の出力特性は、使用条件、経時変化等により圧力変化に対するゲイン（出力感度）が変化することがある。この対策として、請求項６のように、筒内圧力検出手段により少なくとも一点のクランク角で検出したモータリング圧力をその標準値と比較することで筒内圧力検出手段の出力特性のゲイン誤差を求め、このゲイン誤差の分だけ筒内圧力検出手段の出力を補正するようにしても良い。このようにすれば、筒内圧力検出手段の出力特性にゲイン誤差が生じたとしても、筒内圧力検出手段の出力からゲイン誤差を排除した補正値を用いて着火時期を精度良く検出することができる。
【００１７】
ところで、着火時期の検出方法は、例えば、検出圧力と基準圧力との比が着火判定値を越えた時を着火時期と判定するようにしても良いが、請求項７のように検出圧力と基準圧力との差圧が着火判定値を越えた時を着火時期と判定するようにしても良い。検出圧力と基準圧力との差圧は、燃焼による圧力上昇分に相当するため、差圧から着火時期を精度良く検出することができる。
【００１８】
ここで、検出圧力と基準圧力との差圧を所定のサンプリング間隔Δθ毎に算出するシステムでは、図６（ａ）に示すように、例えば、サンプリングタイミング角θf-1 で差圧ΔＰ（θf-1 ）を算出した直後に着火が起った場合、次のサンプリングタイミング角θf （＝θf-1 ＋Δθ）で算出した差圧ΔＰ（θf ）が初めて着火判定値Ｆを越えることになる。この場合、サンプリングタイミング角θf を着火時期と判定すると、着火時期の検出値と実際の着火時期との間にずれが生じる。このため、サンプリング間隔Δθを大きくすると、着火時期の検出誤差が大きくなり、かといって、サンプリング間隔Δθを小さくすると、ＣＰＵ負荷が増大する。
【００１９】
この対策として、請求項８のように、検出圧力と基準圧力との差圧を所定期間毎に算出する場合、着火判定値を越えた、連続する少なくとも２点の差圧を結ぶ特性線を求め、この特性線の延長線が着火判定値を越える時を着火時期と判定するようにしても良い。図６（ｂ）に示すように、例えば、差圧ΔＰが着火判定値Ｆを越えた後に算出した差圧ΔＰ（θf ）とΔＰ（θf ＋Δθ）とを結ぶ直線を求め、この直線の延長線が着火判定値Ｆと交差するクランク角θffを着火時期と判定すれば、たとえ、サンプリング間隔Δθを大きくしても、実際の着火時期と着火時期の検出値とのずれ幅を小さくすることができ、着火時期を精度良く検出することができる。しかも、サンプリング間隔Δθを大きくできるため、ＣＰＵ負荷も軽減できる。
【００２０】
【発明の実施の形態】
［実施形態（１）］
以下、本発明を４気筒のディーゼルエンジンに適用した実施形態（１）を図１乃至図５に基づいて説明する。
【００２１】
まず、図１に基づいてエンジン制御システム全体の構成を説明する。内燃機関であるディーゼルエンジン１１の各気筒には、電磁弁式の燃料噴射弁１２が取り付けられ、各燃料噴射弁１２には、高圧ポンプ（図示せず）から高圧に畜圧された燃料がコモンレール１３を通して分配される。このコモンレール１３には、燃料噴射弁１２に分配する燃料の圧力（コモンレール燃圧）を検出する燃圧センサ１４が取り付けられている。また、ディーゼルエンジン１１の１つの代表気筒には、筒内圧力を検出する筒内圧力センサ１５（筒内圧力検出手段）が取り付けられている。
【００２２】
更に、エンジン１１のクランク軸２０の近傍には、所定クランク角毎にパルス信号を出力するクランク角センサ１６が設置され、カム軸（図示せず）の近傍には、気筒判別センサ１７が設置されている。また、アクセルペダル（図示せず）には、アクセルセンサ等の負荷センサ１８が設けられている。
【００２３】
前述した各種センサの出力信号は、エンジン電子制御回路（以下「ＥＣＵ」と表記する）１９に入力される。このＥＣＵ１９は、マイクロコンピュータを主体として構成され、各種センサで検出したエンジン運転状態に基づいて燃料噴射量や燃料噴射時期を演算し、その演算結果に基づいて燃料噴射弁１２を制御する。
【００２４】
更に、ＥＣＵ１９は、燃料噴射カット時に所定条件下で筒内圧力センサ１５によって検出した非燃焼時の筒内圧力（モータリング圧力）Ｐｍに基づいて、燃焼による圧力上昇を除いた現在の筒内空気の圧縮圧力（基準圧力）Ｐｂを算出する基準圧力算出手段として機能すると共に、筒内圧力センサ１５で検出した筒内圧力（検出圧力）Ｐｋと基準圧力Ｐｂとの差圧（燃焼による圧力上昇）に基づいて着火時期を検出する着火時期検出手段として機能する。そして、ＥＣＵ１９は、検出した着火時期を目標着火時期に一致させるように燃料噴射弁１２の噴射時期をフィードバック制御する。
【００２５】
ここで、ＥＣＵ１９による着火時期の検出方法について説明する。
図２に示すモータリング圧力Ｐｍ（θ）の波形は、燃料噴射カット中に所定の運転条件が成立した時（例えばエンジン回転数が所定回転数Ｎとなった時）に、筒内圧力センサ１５の出力を１サイクル（７２０℃Ａ）分だけ読み込んで、ＥＣＵ１９内のバックアップＲＡＭ等の不揮発性メモリ（図示せず）に記憶したものである。このモータリング圧力Ｐｍ（θ）の波形は、所定走行時間Ｔ１（例えば１００時間）経過毎に、燃料噴射カット中に所定の運転条件が成立した時に新たに検出し、記憶値を更新する。
【００２６】
また、検出圧力Ｐｋ（θ）は、所定のサンプリング間隔Δθ（例えば１℃Ａ）毎に筒内圧力センサ１５によって検出する。
一方、基準圧力Ｐｂ（θ）は、モータリング圧力Ｐｍ（θ）と検出圧力Ｐｋ（θ）とから次のようにして算出する。
【００２７】
燃料着火前における検出圧力Ｐｋ（θ）は、燃焼による圧力上昇を含まないため、基準圧力Ｐｂ（θ）とほぼ一致する。従って、着火前の圧縮行程に設定された算出クランク角θ0 における検出圧力Ｐｋ（θ0 ）とモータリング圧力Ｐｍ（θ0 ）との圧力比Ｈを次式により算出すれば、燃焼による圧力上昇の影響を全く受けない圧力比Ｈを算出することができる。
Ｈ＝Ｐｋ（θ0 ）／Ｐｍ（θ0 ）
ここで、算出クランク角θ0 は、圧力比Ｈの算出精度を高めるために、できるだけ着火直前であることが好ましく、例えばＢＴＤＣ１０℃Ａ（圧縮上死点前１０℃Ａ）に設定すると良い。また、着火前の一点のクランク角θ0 のみで圧力比Ｈを算出しても良いが、着火前の複数点のクランク角で圧力比Ｈを算出し、複数の圧力比Ｈの平均値を用いるようにしても良い。
【００２８】
この算出クランク角θ0 以降の各クランク角θ毎に、モータリング圧力Ｐｍ（θ）に圧力比Ｈを掛け合わせることで、各クランク角θにおける基準圧力Ｐｂ（θ）を算出する。
Ｐｂ（θ）＝Ｈ×Ｐｍ（θ）
これにより、基準圧力Ｐｂ（θ）を簡単に算出することができる。
【００２９】
図４に示すように、圧力比Ｈを算出した算出クランク角θ0 以降のクランク角θにおいて、所定のサンプリング間隔Δθ毎に、検出圧力Ｐｋ（θ）と算出した基準圧力Ｐｂ（θ）との差圧ΔＰ（θ）を次式により算出する。
ΔＰ（θ）＝Ｐｋ（θ）−Ｐｂ（θ）
この差圧ΔＰ（θ）は、燃焼による圧力上昇分に相当するため、この差圧ΔＰ（θ）を着火判定値Ｆと比較して、この差圧ΔＰ（θ）が着火判定値Ｆを越えたクランク角θf を着火時期と判定する。これにより、検出圧力Ｐｋ（θ）から燃焼による圧力上昇分のみを取り出して着火時期を精度良く検出できる。尚、着火判定値Ｆは、検出誤差を考慮して例えば１００ｋＰａに設定すれば良い。
【００３０】
以上説明したＥＣＵ１９による着火時期の検出は、図５に示す着火時期検出プログラムにより実行される。本プログラムは、所定時間毎又は所定クランク角毎に実行され、筒内圧力センサ１５が設けられた代表気筒の着火時期が検出される。本プログラムが起動されると、まず、ステップ１０１で、前回モータリング圧力Ｐｍ（θ）の波形を更新してからの積算走行時間が、所定時間Ｔ１（例えば１００時間）を越えたか否かを判定する。もし、積算走行時間が所定時間Ｔ１に達していなければ、モータリング圧力Ｐｍ（θ）の波形を更新せず、そのままステップ１０５に進む。
【００３１】
一方、積算走行時間が所定時間Ｔ１を越えていれば、ステップ１０２に進み、燃料噴射カット中に所定の運転条件が成立した時（例えばエンジン回転数が所定回転数Ｎとなった時）に、１サイクル分だけ筒内圧力センサ１５の出力をモータリング圧力Ｐｍ（θ）として読み込み、ＥＣＵ１９の不揮発性メモリに記憶されたモータリング圧力Ｐｍ（θ）の記憶データを更新する。この後、ステップ１０３で、更新したモータリング圧力Ｐｍ（θ）のピーク圧Ｐmax が所定値Ｐｓよりも高いか否かを判定する。もし、ピーク圧Ｐmax が所定値Ｐｓ以下であれば、筒内圧力が異常低下していると判断して、ステップ１０４に進み、警告ランプ（図示せず）の点灯等により異常表示を行って筒内圧力の異常低下を運転者に知らせ、本プログラムを終了する。
【００３２】
これに対して、ステップ１０３で、ピーク圧Ｐmax が所定値Ｐｓよりも高いと判定された場合は、筒内圧力が正常であると判断して、ステップ１０５に進む。このステップ１０５では、ＥＣＵ１９の不揮発性メモリに記憶されたモータリング圧力Ｐｍ（θ）の波形を読み出し、次のステップ１０６で、現在のクランク角θを算出クランク角θ0 （例えばＢＴＤＣ１０℃Ａ）と比較し、算出クランク角θ0 に達するまで、ステップ１０６で待機する。その後、算出クランク角θ0 に達した時点で、ステップ１０７に進み、算出クランク角θ0 における検出圧力Ｐｋ（θ0 ）とモータリング圧力Ｐｍ（θ0 ）との圧力比Ｈを次式により算出し、ステップ１０６に戻る。
Ｈ＝Ｐｋ（θ0 ）／Ｐｍ（θ0 ）
【００３３】
この後、クランク角θが算出クランク角θ0 を越えた時に、ステップ１０６からステップ１０８に進み、算出クランク角θ0 以降の各クランク角θ毎に、モータリング圧力Ｐｍ（θ）に圧力比Ｈを乗算して各クランク角θの基準圧力Ｐｂ（θ）を次式により算出する。
Ｐｂ（θ）＝Ｈ×Ｐｍ（θ）
この基準圧力Ｐｂ（θ）のデータは、本プログラムが終了するまでＥＣＵ１９内のＲＡＭ等のメモリに一時的に記憶しておく。
【００３４】
基準圧力Ｐｂ（θ）の算出後、ステップ１０９に進み、算出クランク角θ0 以降のクランク角θ（以降θx と表記する）における差圧ΔＰ（θx ）を次式により算出する。
ΔＰ（θx ）＝Ｐｋ（θx ）−Ｐｂ（θx ）
【００３５】
この後、ステップ１１０に進み、差圧ΔＰ（θx ）が着火判定値Ｆを越えたか否かを判定し、差圧ΔＰ（θx ）が着火判定値Ｆ以下であれば、ステップ１１１に進み、現在のクランク角θx が着火検出終了クランク角θk を越えたか否かを判定する。この着火検出終了クランク角θk は、膨張行程終了付近のクランク角に設定されている。従って、正常に着火すれば、着火検出終了クランク角θk までに差圧ΔＰ（θx ）が着火判定値Ｆを越える。
【００３６】
上記ステップ１１１で、クランク角θx が着火検出終了クランク角θk を越えと判定されるまで、上述したステップ１０６→１０８→１０９→１１０の処理を繰り返して差圧ΔＰ（θx ）を着火判定値Ｆと比較する処理を繰り返し、ステップ１１０で、差圧ΔＰ（θx ）が着火判定値Ｆよりも大きいと判定された時点で、ステップ１１２に進み、着火と判定し、そのときのクランク角θf を着火時期と記憶して、本プログラムを終了する。
【００３７】
一方、ステップ１１０で、差圧ΔＰ（θx ）が着火判定値Ｆを越えたと判定されることなく、ステップ１１１でクランク角θx が着火検出終了クランク角θk を越えたと判定された場合は、失火と判断してステップ１１３に進み、失火表示して運転者に失火を知らせ、本プログラムを終了する。
【００３８】
ところで、図３に破線で示す従来例のように、例えばエンジン低負荷時に対応した基準圧力を予め計算して記憶しておき、この基準圧力を全てのエンジン運転条件に適用すると、エンジン高負荷時では、基準圧力が実際の基準圧力と大きく異なってしまい、着火時期を誤検出する可能性がある。この対策として、予めエンジン運転条件毎に基準圧力を計算してマップ等で記憶しておき、エンジン運転条件に応じた基準圧力をマップ等から求めるようにすれば、着火時期の検出精度を向上できるが、刻々と変化する全てのエンジン運転条件に対して、その全ての基準圧力を予め計算で求めて記憶しておくことは事実上困難である。しかも、エンジン運転条件毎の基準圧力に関する膨大なデータを記憶しておく必要があり、大容量のメモリが必要になってコストアップする欠点もある。
【００３９】
これに対し、本実施形態（１）では、図２に示すように、燃料着火前の算出クランク角θ0 における検出圧力Ｐｋ（θ0 ）と、その時のエンジン運転条件の算出クランク角θ0 における基準圧力Ｐｂ（θ0 ）とがほぼ一致する点に着目し、燃料着火前の算出クランク角θ0 における検出圧力Ｐｋ（θ0 ）とモータリング圧力Ｐｍ（θ0 ）との圧力比Ｈを算出することで、現在のエンジン運転条件における基準圧力Ｐｂとモータリング圧力Ｐｍとの圧力比Ｈを求め、算出クランク角θ0 以降の各クランク角θx 毎に、モータリング圧力Ｐｍ（θx ）に圧力比Ｈを掛け合わせることで、各クランク角θx における基準圧力Ｐｂ（θx ）を算出する。これにより、燃焼による圧力上昇の影響を全く受けない圧力比Ｈを用いて、燃料着火後のクランク角の基準圧力Ｐｂ（θx ）を精度良く算出することができ、この基準圧力Ｐｂ（θx ）と検出圧力Ｐｋ（θx ）との差圧ΔＰ（θx ）から着火時期を精度良く検出することができる。しかも、従来のようにエンジン運転条件毎の基準圧力を予め計算してマップ等で記憶しておく必要がないため、大容量のメモリを必要とせず、その分、低コスト化できる。
【００４０】
また、上記実施形態（１）では、車両減速時等に実施される燃料噴射カット時に筒内圧力センサ１５でモータリング圧力Ｐｍを検出するので、個々のエンジンの個体差によるモータリング圧力特性の違いにも対処することができ、エンジンの個体差による着火時期の検出精度のばらつきを少なくすることができる。しかも、モータリング圧力Ｐｍを所定時間Ｔ１経過毎に更新するので、エンジン特性や筒内圧力センサ１５の出力特性が経時変化したとしても、その経時変化に応じて更新したモータリング圧力Ｐｍに基づいて基準圧力Ｐｂを精度良く算出することができ、経時変化による着火時期の検出精度の低下を防ぐことができる。
【００４１】
尚、上記実施形態（１）では、モータリング圧力Ｐｍを所定時間Ｔ１経過毎に更新するようにしたが、所定走行距離経過毎に更新するようにしても良い。
また、筒内圧力センサ１５は、燃料噴射弁１２やグロープラグ（図示せず）と一体型のものを用いるようにしても良い。
【００４２】
また、上記実施形態（１）では、筒内圧力センサ１５が設けられた代表気筒について着火時期の検出を行うようにしたが、筒内圧力センサ１５を全気筒に設けて、各気筒毎に図５の着火時期検出プログラムを実行して、各気筒毎に着火時期を検出するようにしても良い。
【００４３】
更に、上記実施形態（１）の着火時期の検出方法は、エンジン出力発生のためのメイン噴射に先立って行うパイロット噴射の着火時期の検出や、いわゆる「均一予混合燃焼システム」における圧縮行程前半での燃料噴射の着火時期の検出に適用しても良い。
【００４４】
［実施形態（２）］
図６（ａ）に示すように、サンプリングタイミング角θf-1 の直後に着火が起った場合、次のサンプリングタイミング角θf （＝θf-1 ＋Δθ）になった時に初めて差圧ΔＰ（θf ）が着火判定値Ｆを越えたと判定される。この場合、サンプリングタイミング角θf を着火時期と判定すると、着火時期の検出値と実際の着火時期との間にずれが生じる。このため、サンプリング間隔Δθを大きくすると、着火時期の検出誤差が大きくなり、かといって、サンプリング間隔Δθを小さくすると、ＥＣＵ１９のＣＰＵ負荷が増大する。実際の着火時期のとのずれ幅が大きくなってしまう。
【００４５】
このような事情を考慮して、本発明の実施形態（２）では、図６（ｂ）に示すように、差圧ΔＰが着火判定値Ｆを越えた領域において、サンプリングタイミング角θf での差圧ΔＰ（θf ）と、その次のサンプリングタイミング角θf ＋Δθでの差圧ΔＰ（θf ＋Δθ）とを結ぶ差圧上昇直線Ａ（特性線）を求め、この差圧上昇直線Ａの延長線と着火判定値Ｆとの交点のクランク角θffを着火時期と判定する。これにより、たとえ、サンプリング間隔Δθを大きくしても、実際の着火時期と着火時期の検出値とのずれ幅を小さくすることができ、着火時期を精度良く検出することができる。しかも、サンプリング間隔Δθを大きくできるため、ＥＣＵ１９のＣＰＵ負荷も軽減できる。
【００４６】
以上のような着火時期の補正は、図７に示す着火時期補正プログラムにより実行される。本プログラムが起動されると、まず、ステップ２０１で、差圧ΔＰが着火判定値Ｆを越えたか否かを判定し、差圧ΔＰが着火判定値Ｆを越えた時に、次のステップ２０２に進み、サンプリングタイミング角θf での差圧ΔＰ（θf ）と、次のサンプリングタイミング角θf ＋Δθでの差圧ΔＰ（θf ＋Δθ）を算出する。
【００４７】
この後、ステップ２０３に進み、差圧ΔＰ（θf ）と差圧ΔＰ（θf ＋Δθ）とを結ぶ差圧上昇直線Ａを求め、この差圧上昇直線Ａと着火判定値Ｆとの交点のクランク角θffを求め、このクランク角θffを着火時期と判定する（ステップ２０４）。
【００４８】
尚、上記実施形態（２）では、着火判定値Ｆを越えた、連続する２点のクランク角での差圧ΔＰから差圧上昇直線Ａを求めるようにしたが、連続する３点以上のクランク角での差圧ΔＰから差圧上昇直線（又は差圧上昇曲線）を求めるようにしても良い。
【００４９】
［実施形態（３）］
次に、本発明の実施形態（３）を図８乃至図１１に基づいて説明する。
筒内圧力センサ１５は、温度等の使用条件によって出力特性にオフセット誤差が生じることがあり［図８（ａ）参照］、これが着火時期の検出精度を低下させる原因となる。このオフセット誤差は、次のようにして求めることができる。
【００５０】
ここで、オフセット誤差をｂ、着火前のクランク角θ1 ，θ2 （但し、θ1 ＜θ2 ＜θ0 ）における検出圧力をそれぞれＰｓ（θ1 ），Ｐｓ（θ2 ）、真の筒内圧力をそれぞれＰｔ（θ1 ），Ｐｔ（θ2 ）とすると、次式のように表すことができる。
Ｐｓ（θ1 ）＝Ｐｔ（θ1 ）＋ｂ    ……（１）
Ｐｓ（θ2 ）＝Ｐｔ（θ2 ）＋ｂ    ……（２）
【００５１】
また、クランク角θ1 からθ2 までの筒内空気の状態変化を断熱変化と仮定すると、次式のように表すことができる。
Ｐｔ（θ1 ）×｛Ｖ（θ1 ）｝γ ＝Ｐｔ（θ2 ）×｛Ｖ（θ2 ）｝γ 
Ｐｔ（θ2 ）／Ｐｔ（θ1 ）＝｛Ｖ（θ1 ）／Ｖ（θ2 ）｝γ ＝Ｋ    ……（３）
ここで、Ｖ（θ）は筒内容積、γは比熱比、ＫはＶ（θ）とγから決まる定数である。
【００５２】
上記（１）〜（３）式を解くと、オフセット誤差ｂは次式により算出することができる。
ｂ＝１／（Ｋ−１）×｛Ｋ×Ｐｓ（θ1 ）−Ｐｓ（θ2 ）｝    ……（４）
このオフセット誤差ｂを筒内圧力センサ１５の出力から減算すれば、筒内圧力センサ１５の出力のオフセット誤差を補正することができる。
【００５３】
また、筒内圧力センサ１５の出力特性は、使用条件、経時変化等により圧力変化に対するゲイン（出力感度）が変化することがあり（図９参照）、これによっても着火時期の検出精度が低下する。このゲイン誤差は、次のようにして求めることができる。
【００５４】
ここで、ゲイン誤差をａ、算出クランク角θ0 におけるモータリング圧力の標準値をＰｍｔ（θ0 ）、モータリング圧力の検出値をＰｍｓ（θ0 ）とすると、次式のように表すことができる。尚、モータリング圧力の標準値Ｐｍｔ（θ0 ）は、算出クランク角θ0 における標準的なモータリング圧力であり、予め設計データに基づいて設定したり、或は、初期状態（劣化前）の筒内圧力センサ１５で検出したモータリング圧力を用いるようにしても良い。
Ｐｍｓ（θ0 ）＝ａ×Ｐｍｔ（θ0 ）
【００５５】
従って、ゲイン誤差ａは次式により算出することができる。
ａ＝Ｐｍｓ（θ0 ）／Ｐｍｔ（θ0 ）      ……（５）
このゲイン誤差ａで筒内圧力センサ１５の出力を割り算することで、筒内圧力センサ１５の出力のゲイン誤差を補正することができる。尚、モータリング圧力の検出値Ｐｍｓ（θ0 ）は、エンジン回転数等のエンジン運転条件によって変化するため、標準値Ｐｍｔ（θ0 ）をエンジン運転条件毎に設定して、その時のエンジン運転条件に応じた標準値Ｐｍｔ（θ0 ）を選択するようにすると良い。
【００５６】
本実施形態（３）では、ＥＣＵ１９は、図１０及び図１１に示す着火時期検出プログラムを実行することで、上記（４），（５）式を用いて筒内圧力センサ１５の出力特性のオフセット誤差及びゲイン誤差を補正するオフセット誤差補正手段及びゲイン誤差補正手段として機能すると共に、オフセット誤差及びゲイン誤差を補正した差圧を用いて着火時期の検出を行う。
【００５７】
図１０及び図１１の着火時期検出プログラムは、所定時間毎又は所定クランク角毎に実行される。本プログラムが起動されると、まず、ステップ３０１で、モータリング圧力Ｐｍ（θ）の波形を更新する。これにより、筒内圧力センサ１５の出力特性の経時変化に対応してモータリング圧力Ｐｍ（θ）が更新される。尚、モータリング圧力Ｐｍ（θ）の更新は、前記実施形態（１）と同じく、燃料噴射カット中に所定の運転条件が成立した時に、１サイクル分だけ筒内圧力センサ１５の出力を読み込み、ＥＣＵ１９の不揮発性メモリに記憶されたモータリング圧力Ｐｍ（θ）の記憶データを更新する。
【００５８】
この後、ステップ３０２で、ＥＣＵ１９の不揮発性メモリに記憶されたモータリング圧力Ｐｍ（θ1 ），Ｐｍ（θ2 ）を読み出し、モータリング圧力Ｐｍ（θ）のオフセット誤差ｂｍを次式により算出する。
ｂｍ＝１／（Ｋ−１）×｛Ｋ×Ｐｍ（θ1 ）−Ｐｍ（θ2 ）｝
【００５９】
次のステップ３０３で、このオフセット誤差ｂｍを用いてモータリング圧力Ｐｍ（θ）のオフセット誤差を次式により補正する。
Ｐｍ’（θ）＝Ｐｍ（θ）−ｂｍ
このようにして求められたオフセット誤差補正後のモータリング圧力Ｐｍ’（θ）は、本プログラムが終了するまでＥＣＵ１９のＲＡＭ等のメモリに一時的に記憶しておく。
【００６０】
この後、クランク角θがクランク角θ1 となった時に、検出圧力Ｐｋ（θ1 ）を検出し、その後、クランク角θがクランク角θ2 となった時に、検出圧力Ｐｋ（θ2 ）を検出し、検出圧力Ｐｋ（θ）のオフセット誤差ｂｋを次式により算出する（ステップ３０４〜３０８）。
ｂｋ＝１／（Ｋ−１）×｛Ｋ×Ｐｋ（θ1 ）−Ｐｋ（θ2 ）｝
【００６１】
この後、クランク角θが算出クランク角θ0 となった時に、ステップ３０９からステップ３１０に進み、算出クランク角θ0 におけるオフセット誤差補正後のモータリング圧力Ｐｍ’（θ0 ）と、算出クランク角θ0 におけるモータリング圧力の標準値Ｐｍｔ（θ0 ）とをＥＣＵ１９の不揮発性メモリから読み出し、ゲイン誤差ａを次式により算出する。
ａ＝Ｐｍ’（θ0 ）／Ｐｍｔ（θ0 ）
この際、モータリング圧力の標準値Ｐｍｔ（θ0 ）は、エンジン運転条件に応じた値を選択できるするようにすると良い。
【００６２】
次のステップ３１１で、オフセット誤差ｂｋを用いて検出圧力Ｐｋ（θ0 ）のオフセット誤差を次式により補正する。
Ｐｋ’（θ0 ）＝Ｐｋ（θ0 ）−ｂｋ
【００６３】
この後、ステップ３１２で、オフセット誤差補正後の検出圧力Ｐｋ’（θ0 ）とオフセット誤差補正後のモータリング圧力Ｐｍ’（θ0 ）との圧力比Ｈ’を次式により算出する。
Ｈ’＝Ｐｋ’（θ0 ）／Ｐｍ’（θ0 ）
【００６４】
この後、クランク角θが算出クランク角θ0 を越えた時に、ステップ３０９からステップ３１３に進み、オフセット誤差ｂｋを用いて検出圧力Ｐｋ（θ）のオフセット誤差を次式により補正する。
Ｐｋ’（θ）＝Ｐｋ（θ）−ｂｋ
【００６５】
次のステップ３１４で、オフセット誤差補正後の基準圧力Ｐｂ’（θ）を次式により算出する。
Ｐｂ’（θ）＝Ｈ’×Ｐｍ’（θ）
【００６６】
次のステップ３１５で、ゲイン誤差ａを用いて、オフセット誤差補正後の検出圧力Ｐｋ’（θ）と基準圧力Ｐｂ’（θ）との差圧ΔＰ’（θ）のゲイン誤差を次式により補正する。
ΔＰ’（θ）＝１／ａ×｛Ｐｋ’（θ）−Ｐｂ’（θ）｝
このようにして算出された差圧ΔＰ’（θ）は、オフセット誤差とゲイン誤差の両方が補正された値となる。
【００６７】
この後、ステップ３１６で、差圧ΔＰ’（θ）が着火判定値Ｆ’を越えたか否かを判定し、差圧ΔＰ’（θ）が着火判定値Ｆ以下であれば、上述したステップ３０９→３１３→３１４→３１５→３１６の処理を繰り返して差圧ΔＰ’（θ）を着火判定値Ｆと比較する処理を繰り返実行する。
【００６８】
その後、ステップ３１６で、差圧ΔＰ’（θ）が着火判定値Ｆ’を越えたと判定されたときに、ステップ３１７に進み、着火と判定し、そのときのクランク角θ’f を着火時期と記憶して、本プログラムを終了する。
【００６９】
以上説明した実施形態（３）では、使用条件や経時変化によって筒内圧力センサ１５の出力にオフセット誤差やゲイン誤差が発生しても、そのオフセット誤差やゲイン誤差を求めて、検出圧力、モータリング圧力及び差圧を補正するので、筒内圧力センサ１５の出力のオフセット誤差やゲイン誤差を取り除いたデータを用いて着火時期を検出することができ、より高精度な着火時期の検出が可能である。
【００７０】
尚、上記実施形態（３）では、一点のクランク角θ0 におけるモータリング圧力の標準値Ｐｍｔ（θ0 ）を記憶しておき、一点のクランク角θ0 でゲイン誤差ａを求めたが、モータリング圧力の標準値Ｐｍｔ（θ）の波形を記憶しておき、２点以上のクランク角でゲイン誤差を求め、それらの平均値をゲイン誤差として用いるようにしても良い。
【００７１】
また、上記実施形態（３）では、検出圧力とモータリング圧力の両方のオフセット誤差を補正した後、オフセット誤差補正後の検出圧力と基準圧力との差圧のゲイン誤差を補正するようにしたが、これとは反対に、ゲイン誤差を補正してから、オフセット誤差を補正するようにしても良く、また、筒内圧力センサ１５の出力を読み込む段階で、オフセット誤差とゲイン誤差の両方を補正するようにしても良く、要は、差圧を着火判定値と比較するまでに、オフセット誤差とゲイン誤差を補正すれば良い。或は、オフセット誤差とゲイン誤差の一方のみを補正するようにしても良い。
【００７２】
［実施形態（４）］
次に、本発明の実施形態（４）を図１２乃至図１６に基づいて説明する。本実施形態（４）では、図１２に示すように、前記実施形態（１）の図１で説明したシステム構成に加えて、エンジン１１の排気管２１に、ＮＯｘ触媒２２が設けられている。このＮＯｘ触媒２２は、セラミックや金属等の担体の表面に、酸素過剰雰囲気中でも還元剤（ＨＣ）の存在下でＮＯｘ（窒素酸化物）を還元浄化可能な触媒成分（例えばＣｕ−ゼオライトやＰｔ−ゼオライト）を担持したものである。
【００７３】
燃料噴射弁１２は、図１３に示すように、圧縮上死点近傍でエンジン出力発生のためのメイン噴射を行うと共に、このメイン噴射に先立ち、パイロット噴射を行う。更に、メイン噴射後の膨張行程（例えばＡＴＤＣ９０〜１８０℃Ａ）において、ポスト噴射を行って少量の燃料（例えばメイン噴射の１〜５％）を噴射し、還元剤としての燃料（ＨＣ）をＮＯｘ触媒２２に供給する。
【００７４】
通常、ポスト噴射は、シリンダ内温度が燃料の燃焼温度より低い時期に実施されるため、ポスト噴射した燃料は、燃焼することなく、シリンダ内の燃焼熱により適度に熱分解（改質）されて、反応性の高い（分子量が小さい）低沸点ＨＣに変化する。これにより、ＮＯｘ触媒２２での反応量を増加させてＮＯｘ浄化率を高める。
【００７５】
しかし、エンジン出力が大きい場合には、シリンダ内温度が高くなるため、ポスト噴射した燃料がシリンダ内で燃焼して、ＮＯｘ触媒２２ヘ供給されなくなり、ＮＯｘ浄化率が低下してしまう。
【００７６】
これを防止するには、ポスト噴射時期を遅角すれば良いが、遅角し過ぎると、シリンダ内温度が低くなりすぎて、ポスト噴射した燃料が十分に熱分解されないため、反応性の低い（分子量が大きい）高沸点ＨＣの割合が多くなってしまい、ＮＯｘ浄化率が低下してしまう。
【００７７】
そこで、本実施形態（４）では、ポスト噴射燃料が着火（燃焼）した場合、図１５に示すように、検出圧力Ｐｋと基準圧力Ｐｂの差圧ΔＰが上昇する点に着目して、図１６に示すポスト噴射時期補正プログラムを実行することで、検出圧力Ｐｋと基準圧力Ｐｂの差圧ΔＰに基づいてポスト噴射燃料の着火の有無を判定し、それに応じてポスト噴射時期を補正する。
【００７８】
図１６のポスト噴射時期補正プログラムは、クランク角θがポスト噴射燃料の燃焼可能範囲θA 〜θB （例えばＡＴＤＣ９０〜１８０℃Ａ）にある場合のみに着火の有無を判定する。つまり、θA 〜θB の範囲内に着火時期があるか否かを判定する。
【００７９】
本プログラムが起動されると、まずステップ４０１で、クランク角θがクランク角θA 以上か否かを判定し、クランク角θA 以上となったときに、ステップ４０２に進み、例えば実施形態（１）と同じ方法で、検出圧力Ｐｋと基準圧力Ｐｂの差圧ΔＰ（θ）を算出し、次のステップ４０３で、今回算出した差圧ΔＰ（θ）と前回算出した差圧ΔＰ（θ−１）との差が着火判定値ΔＰ１よりも大きいか否かを判定する。
【００８０】
もし、ΔＰ（θ）−ΔＰ（θ−１）が着火判定値ΔＰ１以下であれば、ステップ４０４に進み、クランク角θがクランク角θB 以上か否かを判定し、θ＜θB と判定される毎に、上述したステップ４０２，４０３を繰り返し実行する。そして、θ≧θB に達するまでに、ステップ４０３で、ΔＰ（θ）−ΔＰ（θ−１）が着火判定値ΔＰ１よりも大きいと判定されれば、ステップ４０５に進み、ポスト噴射燃料が着火（燃焼）していると判定する。この場合、ＮＯｘ触媒２２ヘＨＣが供給されなくなってしまうため、ステップ４０６に進み、ポスト噴射時期を遅角する。これにより、ポスト噴射時のシリンダ内温度が下がるため、ポスト噴射燃料の燃焼が抑えられる。
【００８１】
一方、ステップ４０３で、ΔＰ（θ）−ΔＰ（θ−１）が着火判定値ΔＰ１より大きいと判定されることなく、θ≧θB となった場合は、ステップ４０４からステップ４０７に進み、ポスト噴射燃料は着火（燃焼）していないと判定する。しかし、ポスト噴射時期が遅すぎると、シリンダ内温度が低すぎて、ポスト噴射燃料が十分に熱分解されないため、高いＮＯｘ浄化率を得ることができない。従って、ポスト噴射燃料が着火（燃焼）していない場合は、ステップ４０８で、ポスト噴射時期を進角する。これにより、ポスト噴射時のシリンダ内温度が上がるため、ポスト噴射燃料の熱分解が促進され、ＮＯｘ浄化率が高められる。
【００８２】
以上のようにすれば、ポスト噴射時期がポスト噴射燃料が着火し始める直前の時期に補正され、ポスト噴射燃料は、ほとんど燃焼することなく、最も効率良く熱分解されるため、反応性の高いＨＣをＮＯｘ触媒２２に供給することができ、ＮＯｘ浄化率を向上させることができる。
【００８３】
尚、上記各実施形態（１）〜（４）では、本発明をコモンレース式の噴射システムをもつ４気筒のディーゼルエンジンに適用したが、コモンレール式以外の噴射システムのディーゼルエンジンや４気筒以外のディーゼルエンジンに本発明を適用しても良い。
【図面の簡単な説明】
【図１】本発明の実施形態（１）におけるシステム全体の概略構成を示す図である。
【図２】検出圧力と基準圧力とモータリング圧力の波形を示す図である。
【図３】実施形態（１）と従来の方法について検出圧力と基準圧力の特性を説明する図で、（ａ）はエンジン低負荷時の図、（ｂ）はエンジン高負荷時の図である。
【図４】着火時期の検出方法を説明するための図である。
【図５】実施形態（１）の着火時期検出プログラムの処理の流れを示すフローチャートである。
【図６】（ａ），（ｂ）は、実施形態（２）における着火時期検出の補正方法を説明するための図である。
【図７】実施形態（２）の着火時期検出補正プログラムの処理の流れを示すフローチャートである。
【図８】（ａ）はオフセット誤差補正前の筒内圧力センサの出力特性を示す図、（ｂ）はオフセット誤差補正後の筒内圧力センサの出力特性を示す図である。
【図９】筒内圧力センサの出力特性のゲイン誤差について説明するための図である。
【図１０】実施形態（３）の着火時期検出プログラムの処理の流れを示すフローチャート（その１）である。
【図１１】実施形態（３）の着火時期検出プログラムの処理の流れを示すフローチャート（その２）である。
【図１２】実施形態（４）におけるシステム全体の概略構成を示す図である。
【図１３】パイロット噴射、メイン噴射、ポスト噴射のタイミングを示すタイムチャートである。
【図１４】シリンダ内温度の変化特性を示す図である。
【図１５】ポスト噴射燃料の着火時期の検出方法を説明するための図である。
【図１６】実施形態（４）のポスト噴射時期補正プログラム処理の流れを示すフローチャートである。
【符号の説明】
１１…ディーゼルエンジン（内燃機関）、１２…燃料噴射弁、１５…筒内圧力センサ（筒内圧力検出手段）、１６…クランク角センサ、１９…ＥＣＵ（基準圧力算出手段，着火時期検出手段，オフセット誤差補正手段，ゲイン誤差補正手段）、２２…ＮＯｘ触媒。
【図１】
0004117588.tif 000002
【図２】
0004117588.tif 000003
【図３】
0004117588.tif 000004
【図４】
0004117588.tif 000005
【図５】
0004117588.tif 000006
【図６】
0004117588.tif 000007
【図７】
0004117588.tif 000008
【図８】
0004117588.tif 000009
【図９】
0004117588.tif 000010
【図１０】
0004117588.tif 000011
【図１１】
0004117588.tif 000012
【図１２】
0004117588.tif 000013
【図１３】
0004117588.tif 000014
【図１４】
0004117588.tif 000015
【図１５】
0004117588.tif 000016
【図１６】
0004117588.tif 000017