(57)【特許請求の範囲】
【請求項１】
単気筒内燃機関または各気筒毎に吸気管とスロットルバルブとが設けられている多気筒内燃機関を制御する際に制御条件として用いられる大気圧を検出する内燃機関制御用大気圧検出装置であって、
前記内燃機関のスロットルバルブよりも下流側の吸気管内圧力を所定のサンプル間隔でサンプリングして絶対圧として検出する吸気管内圧力検出手段と、
前記内燃機関の燃焼サイクルをカウントする燃焼サイクルカウンタと、
大気圧予想値を記憶する大気圧予想値記憶手段と、
前記内燃機関の起動時には大気圧検出値Ｐaの設定された初期値を記憶し、大気圧検出値が更新されたときには該更新された大気圧検出値Ｐaを記憶する大気圧検出値記憶手段と、
前記内燃機関が各燃焼サイクルを行う間にサンプリングされた吸気管内圧力の最大値Ｐbmaxと最小値Ｐbminとを検出する吸気管内圧力最大・最小値検出手段と、
大気圧検出値記憶手段に記憶されている大気圧検出値Ｐaから前記吸気管内圧力の最大値Ｐbmaxを差し引いた値を第１の判定値ΔＰbaとして求める第１の判定値演算手段と、
前記吸気管内圧力の最大値Ｐbmaxから該吸気管内圧力の最小値Ｐbminを差し引いた値を第２の判定値ΔＰbとして求める第２の判定値演算手段と、
前記第１の判定値ΔＰbaが０または負で、かつ前記第２の判定値ΔＰbが第２の設定値ΔＰb2未満であるとき、及び前記第１の判定値ΔＰbaが正であってしかも第１の設定値ΔＰb1未満であり、かつ前記第２の判定値ΔＰbが第２の設定値ΔＰb2未満であるときに前記燃焼サイクルカウンタの計数値をカウントアップし、前記第１の判定値ΔＰbaが正で前記第１の設定値ΔＰb1以上であるとき及び前記第１の判定値ΔＰbaが０または負で前記第２の判定値ΔＰbが第２の設定値ΔＰb2以上であるときに前記燃焼サイクルカウンタの計数値を０にクリアする燃焼サイクルカウンタ制御手段と、
前記燃焼サイクルカウンタの計数値が１であるときに前記吸気管内圧力最大・最小値検出手段により新たに検出された前記吸気管内圧力の最大値を大気圧予想値として前記大気圧予想値記憶手段に記憶させ、前記燃焼サイクルカウンタの計数値が１を超え、ｎ（ｎは３以上の整数）未満であるときには前記吸気管内圧力最大・最小値検出手段により新たに検出された前記吸気管内圧力の最大値と前記大気圧予想値記憶手段に記憶されている大気圧予想値との平均値を新たな大気圧予想値として前記大気圧予想値記憶手段の記憶内容を更新する大気圧予想値更新手段と、
前記大気圧予想値記憶手段に記憶されている大気圧予想値から新たに求められた吸気管内圧力の最大値を差し引いた値を第３の判定値ΔＰbcとして求める第３の判定値演算手段と、
前記燃焼サイクルカウンタの計数値がｎであるときに前記第３の判定値を第３の設定値と比較して、前記第３の判定値ΔＰbcが第３の設定値ΔＰb3未満のときにｎ−１番目の燃焼サイクルで前記内燃機関の急減速操作が行われなかったと判定し、前記第３の判定値ΔＰbcが第３の設定値ΔＰb3以上であるときにｎ−１番目の燃焼サイクルで前記内燃機関の急減速操作が行われたと判定する急減速判定手段と、
前記急減速判定手段により内燃機関の急減速操作が行われなかったと判定されたときに、前記吸気管内圧力最大・最小値検出手段により新たに検出された吸気管内圧力の最大値と前記大気圧予想値記憶手段に記憶されている大気圧予想値との平均値を新たな大気圧検出値として、前記大気圧検出値記憶手段の記憶内容を更新する大気圧検出値更新手段と、
前記大気圧検出値記憶手段の記憶内容が更新されたときに前記燃焼サイクルカウンタの計数値を０にクリアする大気圧更新時燃焼サイクルカウンタリセット手段と、
前記第３の判定値ΔＰbcが第３の設定値ΔＰb3以上であるときに前記燃焼サイクルカウンタの計数値を０にクリアする急減速時燃焼サイクルカウンタリセット手段と、
を具備してなる内燃機関制御用大気圧検出装置。
【請求項２】
単気筒内燃機関または各気筒毎に吸気管とスロットルバルブとが設けられている多気筒内燃機関を制御する際に制御条件として用いられる大気圧を検出する内燃機関制御用大気圧検出装置であって、
前記内燃機関のスロットルバルブよりも下流側の吸気管内圧力を所定のサンプル間隔でサンプリングして絶対圧として検出する吸気管内圧力検出手段と、
前記内燃機関の燃焼サイクルをカウントする燃焼サイクルカウンタと、
大気圧予想値を記憶する大気圧予想値記憶手段と、
前記内燃機関の起動時には大気圧検出値Ｐaの設定された初期値を記憶し、大気圧検出値が更新されたときには該更新された大気圧検出値Ｐaを記憶する大気圧検出値記憶手段と、
前記内燃機関が各燃焼サイクルを行う間にサンプリングされた吸気管内圧力の最大値Ｐbmaxと最小値Ｐbminとを検出する吸気管内圧力最大・最小値検出手段と、
大気圧検出値記憶手段に記憶されている大気圧検出値Ｐaから前記吸気管内圧力の最大値Ｐbmaxを差し引いた値を第１の判定値ΔＰbaとして求める第１の判定値演算手段と、
前記吸気管内圧力の最大値Ｐbmaxから該吸気管内圧力の最小値Ｐbminを差し引いた値を第２の判定値ΔＰbとして求める第２の判定値演算手段と、
前記第１の判定値ΔＰbaが０または負で、かつ前記第２の判定値ΔＰbが第２の設定値ΔＰb2未満であるとき、及び前記第１の判定値ΔＰbaが正であって、しかも第１の設定値ΔＰb1未満であり、かつ前記第２の判定値ΔＰbが第２の設定値ΔＰb2未満であるときに前記燃焼サイクルカウンタの計数値をカウントアップし、前記第１の判定値ΔＰbaが正で前記第１の設定値ΔＰb1以上であるとき及び前記第１の判定値ΔＰbaが０または負で前記第２の判定値ΔＰbが第２の設定値ΔＰb2以上であるときに前記燃焼サイクルカウンタの計数値を０にクリアする燃焼サイクルカウンタ制御手段と、
前記燃焼サイクルカウンタの計数値が１であるときに前記吸気管内圧力最大・最小値検出手段により新たに検出された前記吸気管内圧力の最大値を大気圧予想値として前記大気圧予想値記憶手段に記憶させ、前記燃焼サイクルカウンタの計数値が１を超え、ｎ（ｎは３以上の整数）未満であるときには前記吸気管内圧力最大・最小値検出手段により新たに検出された前記吸気管内圧力の最大値と前記大気圧予想値記憶手段に記憶されている大気圧予想値との平均値を新たな大気圧予想値として前記大気圧予想値記憶手段の記憶内容を更新する大気圧予想値更新手段と、
前記大気圧予想値記憶手段に記憶されている大気圧予想値から新たに求められた吸気管内圧力の最大値を差し引いた値を第３の判定値ΔＰbcとして求める第３の判定値演算手段と、
前記燃焼サイクルカウンタの計数値がｎであるときに前記第３の判定値を第３の設定値と比較して、前記第３の判定値ΔＰbcが第３の設定値ΔＰb3未満のときにｎ−１番目の燃焼サイクルで前記内燃機関の急減速操作が行われなかったと判定し、前記第３の判定値ΔＰbcが第３の設定値ΔＰb3以上であるときにｎ−１番目の燃焼サイクルで前記内燃機関の急減速操作が行われたと判定する急減速判定手段と、
前記急減速判定手段により内燃機関の急減速操作が行われなかったと判定されたときに前記吸気管内圧力最大・最小値検出手段により新たに検出された吸気管内圧力の最大値と前記大気圧予想値記憶手段に記憶されている大気圧予想値との平均値を前記内燃機関の回転速度に応じて補正することにより求めた新たな大気圧検出値で前記大気圧検出値記憶手段の記憶内容を更新する大気圧検出値更新手段と、
前記大気圧検出値記憶手段の記憶内容が更新されたときに前記燃焼サイクルカウンタの計数値を０にクリアする大気圧更新時燃焼サイクルカウンタリセット手段と、
前記第３の判定値ΔＰbcが第３の設定値ΔＰb3以上であるときに前記燃焼サイクルカウンタの計数値を０にクリアする急減速時燃焼サイクルカウンタリセット手段と、
を具備してなる内燃機関制御用大気圧検出装置。
【請求項３】
単気筒内燃機関または各気筒毎に吸気管とスロットルバルブとが設けられている多気筒内燃機関を制御する際に制御条件として用いられる大気圧を検出する内燃機関制御用大気圧検出装置であって、
前記内燃機関のスロットルバルブの開度を検出するスロットル開度検出手段と、
前記内燃機関のスロットルバルブよりも下流側の吸気管内圧力を所定のサンプル間隔でサンプリングして絶対圧として検出する吸気管内圧力検出手段と、
前記内燃機関の燃焼サイクルをカウントする燃焼サイクルカウンタと、
大気圧予想値を記憶する大気圧予想値記憶手段と、
前記内燃機関の起動時には大気圧検出値Ｐaの設定された初期値を記憶し、大気圧検出値が更新されたときには該更新された大気圧検出値Ｐaを記憶する大気圧検出値記憶手段と、
前記内燃機関が各燃焼サイクルを行う間にサンプリングされた吸気管内圧力の最大値Ｐbmaxと最小値Ｐbminとを検出する吸気管内圧力最大・最小値検出手段と、
大気圧検出値記憶手段に記憶されている大気圧検出値Ｐaから前記吸気管内圧力の最大値Ｐbmaxを差し引いた値を第１の判定値ΔＰbaとして求める第１の判定値演算手段と、
前記吸気管内圧力の最大値Ｐbmaxから該吸気管内圧力の最小値Ｐbminを差し引いた値を第２の判定値ΔＰbとして求める第２の判定値演算手段と、
前記第１の判定値ΔＰbaが０または負で、かつ前記第２の判定値ΔＰbが第２の設定値ΔＰb2未満であるとき、及び前記第１の判定値ΔＰbaが正であって、しかも第１の設定値ΔＰb1未満であり、かつ前記第２の判定値ΔＰbが第２の設定値ΔＰb2未満であるときに前記燃焼サイクルカウンタの計数値をカウントアップし、前記第１の判定値ΔＰbaが正で前記第１の設定値ΔＰb1以上であるとき及び前記第１の判定値ΔＰbaが０または負で前記第２の判定値ΔＰbが第２の設定値ΔＰb2以上であるときに前記燃焼サイクルカウンタの計数値を０にクリアする燃焼サイクルカウンタ制御手段と、
前記燃焼サイクルカウンタの計数値が１であるときに前記吸気管内圧力最大・最小値検出手段により新たに検出された前記吸気管内圧力の最大値を大気圧予想値として前記大気圧予想値記憶手段に記憶させ、前記燃焼サイクルカウンタの計数値が１を超え、ｎ（ｎは３以上の整数）未満であるときには前記吸気管内圧力最大・最小値検出手段により新たに検出された前記吸気管内圧力の最大値と前記大気圧予想値記憶手段に記憶されている大気圧予想値との平均値を新たな大気圧予想値として前記大気圧予想値記憶手段の記憶内容を更新する大気圧予想値更新手段と、
前記大気圧予想値記憶手段に記憶されている大気圧予想値から新たに求められた吸気管内圧力の最大値を差し引いた値を第３の判定値ΔＰbcとして求める第３の判定値演算手段と、
前記燃焼サイクルカウンタの計数値がｎであるときに前記第３の判定値を第３の設定値と比較して、前記第３の判定値ΔＰbcが第３の設定値ΔＰb3未満のときにｎ−１番目の燃焼サイクルで前記内燃機関の急減速操作が行われなかったと判定し、前記第３の判定値ΔＰbcが第３の設定値ΔＰb3以上であるときにｎ−１番目の燃焼サイクルで前記内燃機関の急減速操作が行われたと判定する急減速判定手段と、
前記急減速判定手段により内燃機関の急減速操作が行われなかったと判定され、かつ前記スロットル開度検出手段により検出されているスロットル開度が設定値を超えているときに前記吸気管内圧力最大・最小値検出手段により新たに検出された吸気管内圧力の最大値と前記大気圧予想値記憶手段に記憶されている大気圧予想値との平均値を新たな大気圧検出値として、前記大気圧検出値記憶手段の記憶内容を更新する大気圧検出値更新手段と、 前記大気圧検出値記憶手段の記憶内容が更新されたときに前記燃焼サイクルカウンタの計数値を０にクリアする大気圧更新時燃焼サイクルカウンタリセット手段と、
前記第３の判定値ΔＰbcが第３の設定値ΔＰb3以上であるとき及び前記第３の判定値ΔＰbcは前記第３の設定値ΔＰb3未満であるが前記スロットル開度が設定値以下であるときに前記燃焼サイクルカウンタの計数値を０にクリアする急減速時燃焼サイクルカウンタリセット手段と、
を具備してなる内燃機関制御用大気圧検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関を制御する際に用いる制御条件の一つとして大気圧を検出する大気圧検出方法、及び該方法を実施するために用いる大気圧検出装置に関するものである。
【背景技術】
【０００２】
内燃機関を制御する際に、大気圧を制御条件として用いることが必要な場合がある。例えば、機関に燃料を供給するインジェクタからの燃料噴射量を制御する際には、吸気管を通してシリンダ内に吸入される吸入空気量の外に、大気圧、吸気温度及び機関の冷却水温度（機関の温度）などを制御条件として検出して、これらの制御条件に対して空燃比を適正な範囲に保つために必要な燃料噴射量を決定している。そのため、インジェクタにより燃料を供給する内燃機関においては、スロットル開度を検出するスロットルセンサ、スロットルバルブよりも下流側の吸気管内圧力を検出する吸気圧センサ、吸気温度センサ、冷却水温度センサ等を設けるとともに、大気圧センサを設けて、これらのセンサの出力から燃料噴射量を演算するようにしている。
【０００３】
上記のように、インジェクタからの燃料噴射量を制御する場合には、上記のような種々のセンサを機関に取り付けることが必要になるが、これらのセンサのうち、特に大気圧センサは高価であるため、コストの低減を図るためには、このセンサを省略することが望ましい。
【０００４】
大気圧センサを用いずに大気圧を検出する方法として、特許文献１や特許文献２に示された方法が提案されている。
【０００５】
特許文献１に示された方法では、スロットルバルブの下流側の吸気管内圧力を絶対圧として検出し、スロットルバルブ開度が所定の大きさ以上で、機関の回転速度が所定値以下のときに、スロットルバルブ開度と機関の回転速度とに応じて決定した補正値を吸気管内圧力に加算することにより大気圧を求めている。
【０００６】
また特許文献２に示された方法では、スロットルバルブ開度が、内燃機関の回転速度に応じて予め定めたスロットル開度よりも大きいときに、吸気管内圧力を検出する吸気圧センサの出力に補正値を加算することにより大気圧を求めるようにしている。
【０００７】
これらの大気圧検出方法によれば高価な大気圧センサを省略することができるが、従来の大気圧検出方法では、スロットルバルブの開度を検出することが必須であるため、機関にスロットルセンサを設けることが必要になる。そのため、これらの大気圧検出方法は、スロットルセンサを用いずに機関の回転速度と吸気管内圧力とから吸入空気量を推定して燃料噴射量を決定するスピードデンシティ方式により燃料噴射を制御する内燃機関には適用することができない。
【０００８】
そこで本発明者は、特許文献３に記載されているように、単気筒内燃機関または各気筒毎に吸気管及びスロットルバルブを有する多気筒内燃機関において、スロットルセンサを用いることなく、吸気管内圧力から大気圧を検出する方法を提案した。
【０００９】
この既提案の方法においては、内燃機関のスロットルバルブよりも下流側の吸気管内圧力を所定のサンプル間隔でサンプリングして絶対圧として検出する吸気管内圧力検出手段を設けて、内燃機関が１燃焼サイクルを行う間にサンプリングされた吸気管内圧力の最大値から最小値を差し引いた値を判定値として求め、この判定値が設定値以下であることを大気圧予想条件として、この大気圧予想条件が成立したときに、その条件が成立した燃焼サイクルの間に検出された吸気管内圧力の最大値を大気圧予想値として、この大気圧予想値を大気圧の検出値として更新する。
【００１０】
単気筒内燃機関や機関の各気筒毎に吸気管及びスロットルバルブが設けられている多気筒内燃機関においては、行程変化に伴って吸気管内の圧力が変動する。単気筒内燃機関や機関の各気筒毎に吸気管及びスロットルバルブが設けられている多気筒内燃機関の吸気管内圧力は、吸気行程が開始されると低下し、吸気行程が終了するまで低下を続ける。吸気行程が終了すると、スロットルバルブよりも上流側の大気圧と吸気管内の負圧との差圧により吸気管内に空気が流入するため、吸気管内圧力が大気圧に向けて上昇していく。機関が１燃焼サイクルを行う間の吸気管内圧力の変化を見ると、吸気管内圧力は、吸気行程が終了するタイミング付近で最小値を示し、次の吸気行程が開始されるまでの間の適当なタイミングで最大値を示す。
【００１１】
スロットルバルブがほとんど開いていない状態では、吸気管内圧力の変動量（低下量）が大きく、吸気行程が終了した後吸気管内圧力が大気圧に達する前に次の吸気行程が開始されるため、吸気管内圧力の最大値は大気圧よりも低い値を示すが、スロットルバルブがある程度以上開いている状態（機関に軽負荷以上の負荷がかかっている状態）では、吸気管内圧力の変動量が小さくなり、吸気行程が終了した後次の吸気行程が開始されるまでの間に吸気管内圧力が大気圧に到達するため、吸気管内圧力の最大値は大気圧にほぼ等しくなる。
【００１２】
従って、吸気管内圧力の最大値から最小値を差し引いた値を判定値として、この判定値が設定値以下であるときに大気圧予想条件が成立しているとすることができ、この大気圧予想条件が成立している状態で検出された吸気管内圧力の最大値を大気圧予想値として、この大気圧予想値、またはこの大気圧予想値に所定の補正処理を施して求めた値を新たな大気圧の検出値とすることにより、大気圧センサ及びスロットルセンサを用いることなく、大気圧を検出することができる。
【００１３】
上記の方法による場合、各燃焼サイクルにおいて判定値が設定値以下であると判定される毎に（大気圧予想条件が成立する毎に）大気圧更新条件が成立したとして、その燃焼サイクルにおいて検出された吸気管内圧力の最大値またはこの最大値に予め定めた補正処理を施して求めた値を新たな大気圧検出値とするようにしてもよいが、検出精度を高めるためには、連続してｎ（ｎは３以上の整数）燃焼サイクルに亘って、判定値が設定値以下であると判定されたときに大気圧更新条件が成立したとして、ｎ番目の燃焼サイクルで検出された吸気管内圧力の最大値またはこの最大値に予め定めた補正処理を施して求めた値を新たな大気圧検出値として、大気圧検出値を更新するようにするのが好ましい。
【特許文献１】特開昭５９−１８８５３０号公報
【特許文献２】特開平１−２８０６６０号公報
【特許文献３】特開２００３−６５１３８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
上記のように、特許文献３に示された大気圧検出方法によれば、大気圧センサ及びスロットルセンサを用いることなく、大気圧を検出することができるため、スピードデンシティ方式で燃料噴射量を制御する場合にも適用することができ、また高価な大気圧センサを省略することができるが、その後の研究により、大気圧更新条件の成立の判定が行なわれる直前に、スロットルバルブを急に閉じる急減速操作が行なわれたときには、大気圧を正確に検出できないという問題があることが明らかになった。
【００１５】
例えば、連続してｎ（ｎは３以上の整数）燃焼サイクルに亘って、吸気管内圧力変化量が設定値以下であることを大気圧更新条件とする場合に、大気圧更新条件が成立する直前（例えばｎ−１番目の燃焼サイクルの終期）に、スロットルバルブが急に閉じられたときには、ｎ番目の燃焼サイクルで大気圧更新条件が成立するものの、ｎ番目の燃焼サイクルで検出される吸気管内圧力の最大値が（ｎ−１）番目までの燃焼サイクルで検出された吸気管内圧力の最大値よりも極端に低くなるため、ｎ番目の燃焼サイクルで検出された吸気管内圧力の最大値に基づいて新たな大気圧検出値を求めると、大気圧検出値が本来の値よりも大幅に低い値で更新されてしまうという問題が生じる。
【００１６】
本発明の目的は、内燃機関の吸気管内圧力の最大値から最小値を差し引いて求めた値を判定値として、連続してｎ燃焼サイクルで判定値が設定値以下であると判定されたときに、大気圧更新条件が成立したとして、吸気管内圧力の最大値、またはこの最大値に所定の補正処理を施して求めた値を新たな大気圧の検出値として更新する内燃機関制御用大気圧検出装置において、大気圧更新条件が成立する直前に機関の急減速操作が行なわれたときに、大気圧の検出値が低めに更新されるのを防ぐことにある。
【課題を解決するための手段】
【００１７】
本発明は、単気筒内燃機関または各気筒毎に吸気管とスロットルバルブとが設けられている多気筒内燃機関を制御する際に制御条件として用いられる大気圧を検出する内燃機関制御用大気圧検出装置に係わるもので、本発明においては、内燃機関の一つの気筒に対して設けられた吸気管内のスロットルバルブよりも下流側で吸気管内圧力を絶対圧として検出する吸気管内圧力検出手段と、内燃機関が各燃焼サイクルを行う間に検出された吸気管内圧力の最大値と最小値とを検出する吸気管内圧力最大・最小値検出手段と、大気圧検出値を記憶する大気圧検出値記憶手段と、吸気管内圧力最大・最小値検出手段により検出された吸気管内圧力の最大値から最小値を差し引いた値を判定値として、内燃機関が連続してｎ燃焼サイクル（ｎは３以上の整数）を行う間に、すべての燃焼サイクルで吸気管内圧力の最大値から最小値を差し引いた値が設定値以下であると判定されたときに、前記内燃機関の急減速操作が行われたか否かを判定する急減速判定手段と、急減速判定手段により急減速操作が行われなかったと判定されたときにｎ番目の燃焼サイクルで検出された吸気管内圧力の最大値またはこの最大値に予め定めた補正処理を施して求めた値を新たな大気圧検出値として大気圧検出値記憶手段に記憶させる大気圧検出値更新手段とを設けた。
【００１８】
なお予め定めた補正処理とは、例えば、ｎ番目の燃焼サイクルで検出された吸気管内圧力の最大値と、ｎ−１番目の燃焼サイクルで更新された大気圧予想値との平均をとる処理や、１ないしｎ番目の燃焼サイクルのそれぞれで検出され吸気管内圧力の最大値（大気圧予想値）の平均をとる処理である。
【００１９】
上記のように、内燃機関が連続してｎ燃焼サイクルを行う間に、すべての燃焼サイクルで吸気管内圧力の最大値から最小値を差し引いた値が設定値以下であると判定されたときに（大気圧更新条件が成立したときに）、ｎ−１番目の燃焼サイクルで内燃機関を急減速する操作が行われたか否かを判定して、機関を急減速する操作が行われなかったと判定された場合にのみ、ｎ番目の燃焼サイクルで検出された吸気管内圧力の最大値またはこの最大値に予め定めた補正処理を施して求めた値を新たな大気圧検出値として更新するようにすると、ｎ−１番目の燃焼サイクルで機関の急減速操作が行われた場合に、大気圧検出値が低めに更新されるのを防ぐことができる。
【００２０】
本発明の好ましい態様では、吸気管内圧力最大・最小値検出手段により検出された吸気管内圧力の最大値から最小値を差し引いた値を判定値として、各燃焼サイクルにおいて、この判定値が設定値以下であると判定されたときに、各燃焼サイクルで検出された吸気管内圧力の最大値または該最大値に予め定めた補正処理を施して求めた値を新たな大気圧予想値として大気圧予想値記憶手段に記憶させる大気圧予想値更新手段が設けられる。このように、各燃焼サイクルにおいて、判定値が設定値以下であると判定されたときに（大気圧予測条件が成立したときに）大気圧予想値を更新して記憶させておくようにする場合、機関の急減速操作が行なわれたか否かの判定は、例えば、新たに検出された機関の吸気管内圧力の最大値と既に求められている大気圧予想値との差が設定値を超えているか否かにより行なうことができる。またスロットルバルブの開度を検出するスロットルセンサが設けられている場合には、スロットルバルブの開度の時間的な変化率から機関の急減速操作が行なわれたか否かを判定することができる。
【発明の効果】
【００２１】
以上のように、本発明によれば、内燃機関が連続してｎ燃焼サイクルを行う間に、すべての燃焼サイクルで吸気管内圧力の最大値から最小値を差し引いた値が設定値以下であると判定されて大気圧更新条件が成立したときに、ｎ−１番目の燃焼サイクルで内燃機関の急減速操作が行われたか否かを判定して、ｎ−１番目の燃焼サイクルで機関の急減速操作が行なわれなかったと判定されたときにのみ、ｎ番目の燃焼サイクルで検出された吸気管内圧力の最大値またはこの最大値に予め定めた補正処理を施して求めた値を新たな大気圧検出値として更新するようにしたので、大気圧更新条件の成立時の直前にたまたま機関の急減速操作が行われた場合に、大気圧検出値が低めに更新されるのを防ぐことができる。
【発明を実施するための最良の形態】
【００２２】
以下図面を参照して本発明の好ましい実施形態を説明する。
図１は、本発明を適用する内燃機関制御装置の一例として、内燃機関に燃料を供給するインジェクタからの燃料噴射量を制御する装置のハードウェアの構成を示したものである。本発明の検出方法は、２サイクル若しくは４サイクル単気筒内燃機関または各気筒毎に吸気管を有する２サイクル若しくは４サイクル多気筒内燃機関に適用することができるが、本実施形態では、説明を簡単にするため、内燃機関が単気筒４サイクル内燃機関であるとする。
【００２３】
図１において１はＣＰＵ１０１、Ａ／Ｄ変換器１０２、ＲＡＭ１０３、ＲＯＭ１０４、タイマ１０５などを備えたマイクロプロセッサ、２は図示しない内燃機関の吸気管に取り付けられたインジェクタである。インジェクタ２は、駆動パルスが与えられたときに、その弁を開いて、図示しない燃料ポンプから与えられている燃料を吸気管内に噴射する。燃料ポンプからインジェクタに与えられる燃料の圧力は一定に保たれているため、インジェクタからの燃料噴射量は駆動パルスのパルス幅（インジェクタの弁が開いている時間）により決まる。
【００２４】
３は内燃機関のクランク軸に取り付けられた回転体（例えばフライホイール）に設けられたリラクタ（磁束変化を生じさせるための突起または凹部）を検出して極性が異なるパルス信号を発生するパルサである。パルサ３は例えば、リラクタに対向する磁極部を先端に有する鉄心と、該鉄心に巻回された信号コイルと、該鉄心に磁気結合された永久磁石とを備えていて、リラクタの回転方向の前端側のエッジ及び後端側のエッジをそれぞれ検出したときに極性が異なるパルス信号を発生する。パルサ３が発生する第１及び第２のパルス信号はそれぞれ波形整形回路４及び５により波形整形されてＣＰＵ１０１に入力されている。
【００２５】
６は機関の吸気管スロットルバルブよりも下流側で吸気管内圧力を検出するように設けられた吸気管内圧力センサ、７は機関の冷却水温度を機関の温度として検出する水温センサ、８は吸気管内の空気の温度を吸気温度として検出する吸気温センサである。吸気圧センサ６，水温センサ７及び吸気温センサ８の出力信号は、入力インターフェース回路９とマイクロプロセッサ内のＡ／Ｄ変換器１０２とを通してＣＰＵ１０１に入力されている。
【００２６】
マイクロプロセッサのＣＰＵ１０１はＲＯＭ１０４に記憶された所定のプログラムを実行することにより、本発明の大気圧検出装置を構成するための各手段や、吸気圧センサにより検出された吸気管内圧力及び機関の回転速度に応じて吸入空気量を求める吸入空気量演算手段や、吸入空気量、大気圧、機関の冷却水温度、吸気温度などの制御条件に対して燃料噴射量を演算する噴射量演算手段、燃料噴射タイミングを検出する噴射タイミング検出手段などの機能実現手段を構成し、燃料噴射タイミングが検出されたときにその出力ポートから燃料の噴射時間に相当する信号幅を有する噴射指令信号を出力する。この噴射指令信号は、出力インターフェース回路１０を通してインジェクタ駆動回路１１に与えられる。インジェクタ駆動回路１１は噴射指令信号の信号幅に等しいパルス幅を有する駆動パルスをインジェクタ２に与える。インジェクタ２はインジェクタ駆動回路から駆動パルスが与えられている間にその弁を開いて吸気管内に燃料を噴射する。
【００２７】
図２ないし図５は、機関の種々の負荷に対して回転速度Ｎを一定（図示の例では３０００rpm）とするようにスロットルバルブの開度を調整した場合の吸気管内圧力の時間的な変化を、機関の行程変化と、パルサ３の出力信号波形とともに示したものである。図２ないし図５の（Ａ）は機関の行程変化を示し、これらの図において「吸」、「圧」、「爆」及び「排」はそれぞれ吸気行程、圧縮行程、爆発行程及び排気行程を示している。またＴＤＣは機関のクランク軸の回転角度位置がピストンの上死点に相応する位置（上死点位置）に一致するタイミングを示している。
【００２８】
図２ないし図５の（Ｂ）は、パルサ３が出力する第１及び第２のパルス信号Ｖp1及びＶp2を示したもので、第１のパルス信号Ｖp1は機関のクランク軸の回転角度位置が上死点位置よりも十分に進角した位置に設定された基準位置に一致するタイミングｔ1 で発生し、第２のパルス信号Ｖp2はクランク軸の回転角度位置が上死点付近に設定された機関の始動時及び低速時の点火位置に一致するタイミングｔ2 で発生する。
【００２９】
図２ないし図５の（Ｃ）は、機関の種々の負荷に対して機関の回転速度Ｎを３０００［ｒｐｍ］に保つようにスロットルバルブの開度αを調整した場合の吸気管内圧力Ｐｂの変化を示したもので、図２（Ｃ）は、機関の負荷が無負荷に近い状態で、スロットルバルブの開度αがα1 のとき（スロットルバルブがほぼ全閉状態にあるとき）の吸気管内圧力Ｐｂの変化を示し、図３（Ｃ）は、機関の負荷を増加させて、スロットルバルブの開度αをα2 （＞α1 ）とした場合の吸気管内圧力Ｐｂの変化を示している。また図４（Ｃ）は、更に負荷を重くしてスロットルバルブ開度αをα3（＞α2） としたときの吸気管内圧力Ｐｂの変化を示し、図５（Ｃ）は、機関の負荷を更に重くしてスロットルバルブの開度αをα4 （＞α3 ）としたとき（スロットルバルブをほぼ全開状態にしたとき）の吸気管内圧力Ｐｂの変化を示している。
【００３０】
図２（Ｃ）ないし図５（Ｃ）において、Ｐbmax及びＰbminはそれぞれ機関が１燃焼サイクルを行う間に生じる吸気管内圧力の最大値及び最小値を示し、Ｐair は大気圧を示している。またΔＰｂは、機関が１燃焼サイクルを行う間に生じる吸気管内圧力変動量を示している。この吸気管内圧力変動量は、最大値Ｐbmaxから最小値Ｐbminを差し引いた値（＝Ｐbmax−Ｐbmin）で与えられる。
【００３１】
単気筒内燃機関や各気筒毎に吸気管を有する多気筒内燃機関の吸気管内圧力は、特にスロットルバルブがほとんど開いていない状態にあるとき（機関が無負荷に近い状態にあるとき）に、行程変化に対して大きな変動を示す。スロットルバルブがほとんど開いていない状態では、図２（Ｃ）に示すように、吸気管内圧力は内燃機関の燃焼サイクルが吸気行程に入ると急激に低下し、吸気行程が終了するまで低下を続ける。吸気行程が終了するとスロットルバルブの上流の大気圧と吸気管内の高い負圧（気圧が極低い状態）との差圧によりスロットルバルブの周辺部の僅かな隙間を通して吸気管内に空気が流入する状態になるため、吸気管内圧力は緩やかに上昇する。スロットルバルブがほとんど開いていない状態では、吸気管内圧力が大気圧Ｐair に達する前に次の吸気行程が開始され、吸気管内圧力は再び急激に低下する。このような状態では、吸気管内圧力が大気圧に達することはないため、吸気管内圧力の最大値Ｐbmaxを大気圧の検出値とすることはできない。
【００３２】
これに対し、機関にある程度の負荷がかかってスロットルバルブ開度αがα2 になると、図３に示すように、吸気行程終了後の吸気管内への吸気の充填速度が速くなるため、次の吸気行程が開始される前に吸気管内圧力が大気圧Ｐair に達するようになり、吸気管内圧力変動量ΔＰｂ（＝Ｐbmax−Ｐbmin）は無負荷に近い図２の状態での値ΔＰb1よりも小さい値ΔＰb2を示す。
【００３３】
機関の負荷が更に重くなってスロットルバルブが更に開かれ、その開度がα3 になると、図４に示すように、吸気管内圧力変動量が更に少なくなり、負荷が更に重くなってスロットルバルブ開度がα4 （ほぼ全開状態）になると、図５（Ｃ）に示すように吸気管内圧力の低下はほとんど見られなくなる。
【００３４】
上記の結果から、スロットルバルブがある程度開かれていて、吸気管内圧力変動量ΔＰｂがある値以下になる状態では、吸気管内圧力の最大値が大気圧に達するため、吸気管内圧力の最大値Ｐbmaxを大気圧の予想値とすることができることが分かる。
【００３５】
本発明においては、上記のような吸気管内圧力の特性に着目して、スロットルセンサ及び大気圧センサを用いることなく、大気圧を検出するもので、内燃機関のスロットルバルブよりも下流側の吸気管内圧力を所定のサンプル間隔でサンプリングして絶対圧として検出する吸気管内圧力検出手段を設けて、内燃機関が１燃焼サイクルを行う間にサンプリングされた吸気管内圧力の最大値から最小値を差し引いた値（吸気管内圧力変化量）を判定値ΔＰbとして求め、この判定値が設定値以下のときに大気圧予想条件が成立しているとして、吸気管内圧力の最大値を大気圧予想値として取り込む。そして、連続してｎ燃焼サイクルで大気圧予想条件が成立したときに大気圧更新条件が成立したとして、そのときに検出されている吸気管内圧力の最大値に予め定めた補正処理を施することにより新たな大気圧検出値を求める。
【００３６】
上記判定値と比較する設定値は、実験結果に基づいて、吸気管内圧力の最大値Ｐbmaxが始めて大気圧に達するときの値よりも僅かに小さい値、例えば図３のΔＰb2に設定する。
【００３７】
上記のようにして大気圧検出値を更新する場合に、図６に示すように、ｎ燃焼サイクル目で大気圧検出値更新条件が成立する時刻ｔaよりも前のタイミングｔbで機関を急減速する操作（スロットルバルブが急に閉じられる操作）が行われると、時刻ｔaで大気圧更新条件は成立するものの、ｎ番目の燃焼サイクルで検出される吸気管内圧力の最大値Ｐbmaxが（ｎ−１）番目までの燃焼サイクルで検出された吸気管内圧力の最大値Ｐbmaxよりも極端に低くなるため、ｎ番目の燃焼サイクルで（時刻ｔaで）検出された吸気管内圧力の最大値に基づいて大気圧検出値を更新した場合、大気圧検出値が本来の大気圧予想値よりも大幅に低い値で更新されてしまうという問題が生じる。
【００３８】
このような問題が生じないようにするため、本発明においては、内燃機関が連続してｎ燃焼サイクルを行う間に、すべての燃焼サイクルで吸気管内圧力の最大値から最小値を差し引いた値が設定値以下であると判定されて大気圧更新条件が成立したときに、機関の吸気管内圧力の変化が反映された値から、直前に（例えばｎ−１番目の燃焼サイクルの終期に）内燃機関の急減速操作が行われたか否かを判定して、機関の急減速操作が行われなかったと判定されたときにのみ、ｎ番目の燃焼サイクルで検出された吸気管内圧力の最大値またはこの最大値に予め定めた補正処理を施して求めた値を新たな大気圧検出値として更新する。
【００３９】
図７は、本発明に係わる大気圧検出装置の基本的な構成を示したものである。本発明に係わる大気圧検出装置は、内燃機関ＥＮＧの一つの気筒に対して設けられた吸気管内のスロットルバルブよりも下流側で吸気管内圧力を絶対圧として検出する吸気管内圧力検出手段２０と、内燃機関が各燃焼サイクルを行う間に検出された吸気管内圧力の最大値と最小値とを検出する吸気管内圧力最大・最小値検出手段２１と、大気圧予想値を記憶する大気圧予想値記憶手段２２と、大気圧検出値を記憶する大気圧検出値記憶手段２３と、吸気管内圧力最大・最小値検出手段２１により検出された吸気管内圧力の最大値Ｐbmaxから最小値Ｐbminを差し引いた値を判定値ΔＰbとして演算する判定値演算手段２４と、判定値ΔＰbが設定値以下であることを大気圧予想条件として、この大気圧予想条件が成立しているときに、新たに求められた吸気管内圧力の最大値Ｐbmaxまたは該最大値に予め定めた補正処理を施して求めた値を新たな大気圧予想値Ｐatとして大気圧予想値記憶手段２２に記憶させる大気圧予想値更新手段２５と、機関の燃焼サイクルをカウントする燃焼サイクルカウンタ２６と、内燃機関が連続してｎ燃焼サイクル（ｎは３以上の整数）を行う間に、すべての燃焼サイクルで判定値ΔＰbが設定値以下であると判定されたときに、ｎ−１番目の燃焼サイクルで内燃機関の急減速操作が行われたか否かを判定する急減速判定手段２７と、急減速判定手段２７により急減速操作が行われなかったと判定されたときにｎ番目の燃焼サイクルで検出された吸気管内圧力の最大値またはこの最大値に予め定めた補正処理を施して求めた値を新たな大気圧検出値として大気圧検出値記憶手段２３に記憶させる大気圧検出値更新手段２８とを備えている。
【００４０】
機関の急減速操作が行なわれたか否かの判定は、例えば、既に更新されている大気圧予想値Ｐatから今回の燃焼サイクルで検出された吸気管内圧力の最大値を差し引いた値ΔＰbc(＝Ｐat−Ｐbmax）が設定値を超えているか否かにより判定することができる。
【００４１】
なお燃焼サイクルカウンタ２６は、燃焼サイクルを１ないしｎまで計数するカウンタで、現在の燃焼サイクルが１ないしｎ番目の燃焼サイクルのうちの何番目の燃焼サイクルであるかの情報を大気圧予想値更新手段２５と急減速判定手段２７とに与える。燃焼サイクルカウンタ２６は、判定値が設定値を超えているとき（大気圧予想条件が成立しなかったとき）及び大気圧検出値更新条件が成立して大気圧検出値が更新されたときにリセットされる。
【００４２】
大気圧検出値更新手段２８により更新された大気圧検出値は、内燃機関ＥＮＧを制御する内燃機関制御装置２９に与えられる。内燃機関制御装置２９は、与えられた大気圧検出値を制御条件の一つとして燃料噴射量を演算し、燃料噴射タイミングを検出した時に、演算した量の燃料を噴射するために必要な時間幅を有する噴射指令をインジェクタ駆動回路１１（図１参照）に与える。
【００４３】
上記の大気圧検出装置では、内燃機関が連続してｎ燃焼サイクルを行う間に、すべての燃焼サイクルで吸気管内圧力の最大値から最小値を差し引いて求めた判定値が設定値以下であると判定されたときに（大気圧更新条件が成立したときに）、ｎ−１番目の燃焼サイクルで内燃機関を急減速する操作が行われたか否かを判定する。そして、機関を急減速する操作が行われなかったと判定された場合には、ｎ番目の燃焼サイクルで検出された吸気管内圧力の最大値またはこの最大値に予め定めた補正処理を施して求めた値を新たな大気圧検出値として更新する。このように構成すると、ｎ−１番目の燃焼サイクルで機関の急減速操作が行われた場合に、大気圧検出値が低めに更新されるのを防ぐことができる。
【００４４】
上記の実施形態では、各燃焼サイクルで吸気管内圧力の最大値から最小値を差し引いた値が設定値以下であることを大気圧予想条件としているが、更に他の条件を加味して大気圧予想条件が成立したか否かを判定するようにしてもよい。例えば、大気圧の検出精度を高めるために、新たに検出された吸気管内圧力の最大値と既に更新されて記憶されている大気圧検出値との大小関係を大気圧予想条件が成立したか否かを判定するための判定条件として加味して、新たに検出された吸気管内圧力の最大値が、既に求められて記憶されている大気圧検出値よりもある程度以上低いときには、大気圧予想条件が成立しなかったとして、新たに検出された吸気管内圧力の最大値を大気圧予想値として採用しないようにすることもできる。
【００４５】
図８は、新たに検出された吸気管内圧力の最大値と既に更新されて記憶されている大気圧検出値との大小関係を、大気圧予想条件が成立したか否かを判定するための判定条件として加味する場合の大気圧検出装置の好ましい構成例を示したものである。
【００４６】
図８に示した実施形態では、内燃機関ＥＮＧのスロットルバルブよりも下流側の吸気管内圧力を所定のサンプル間隔でサンプリングして絶対圧として検出する吸気管内圧力検出手段２０と、内燃機関が各燃焼サイクルを行う間にサンプリングされた吸気管内圧力の最大値Ｐbmaxと最小値Ｐbminとを検出する吸気管内圧力最大・最小値検出手段２１と、大気圧予想値を記憶する大気圧予想値記憶手段２２と、大気圧検出値を記憶する大気圧検出値記憶手段２３と、第１ないし第３の判定値演算手段２４Ａないし２４Ｃと、大気圧予想値更新手段２５と、燃焼サイクルカウンタ２６と、急減速判定手段２７と、大気圧検出値更新手段２８と、燃焼サイクルカウンタ制御手段３１と、大気圧更新時燃焼サイクルカウンタリセット手段３２と、急減速時燃焼サイクルカウンタリセット手段３３とが設けられている。
【００４７】
第１の判定値演算手段２４Ａは、大気圧検出値記憶手段２３に記憶されている大気圧検出値Ｐaから吸気管内圧力の最大値Ｐbmaxを差し引いた値を第１の判定値ΔＰba（＝Ｐa−Ｐbmax）として求める手段であり、新たに検出された吸気管内圧力の最大値と既に更新されて記憶されている大気圧検出値との大小関係を、大気圧予想条件が成立したか否かを判定するための判定条件として加味する本実施形態で新たに設けられたものである。
【００４８】
第２の判定値演算手段２４Ｂは、吸気管内圧力の最大値Ｐbmaxから該吸気管内圧力の最小値Ｐbminを差し引いた値を第２の判定値ΔＰb（＝Ｐbmax−Ｐbmin）として求める手段で、図７に示した実施形態の判定値演算手段２４と同じものである。
上記第１の判定値及び第２の判定値は、大気圧検出値更新条件が成立したか否かを的確に判定し得るように、実験により適当な値に設定する。
【００４９】
第３の判定値演算手段２４Ｃは、大気圧予想値記憶手段２２に記憶されている大気圧予想値Ｐatから新たに求められた吸気管内圧力の最大値Ｐbmaxを差し引いた値を第３の判定値ΔＰbc（＝Ｐat−Ｐbmax）として求める手段で、吸気管内圧力の変化から機関の急減速操作を検出するために設けられたものである。第３の判定値は、機関の急減速操作が行なわれたことを的確に検出し得るように、実験結果に基づいて適当な値に設定する。
【００５０】
燃焼サイクルカウンタ２６は、例えば、内燃機関に取り付けられたパルサ３が、排気行程終了時（吸気行程開始時）の上死点位置付近で第２のパルス信号Ｖp2を発生するタイミングを基準タイミング（１燃焼サイクルが終了したか否かの判定を行なう際の基準となるタイミング）として、この基準タイミングが検出される回数をカウントすることにより、燃焼サイクルを計数する。
【００５１】
排気行程終了時の上死点位置付近で発生する第２のパルス信号は、吸気管内圧力が最小値を示した後にパルサ３が最初に発生する第２のパルス信号である。即ち、吸気管内圧力が最小値を示した後にパルサ３が最初に第２のパルス信号Ｖp2を発生するタイミングを基準タイミングとして検出することができる。
【００５２】
なお排気行程の終期にパルス信号を発生するカム軸センサが内燃機関のカム軸に取り付けられている場合には、該カム軸センサの出力パルスを検出することにより上記基準パルスを検出することができる。
【００５３】
燃焼サイクルカウンタ制御手段３１は、第１の判定値ΔＰbaが０または負で、かつ第２の判定値ΔＰbが第２の設定値ΔＰb2未満であるとき、及び第１の判定値ΔＰbaが正であって、しかも第１の設定値ΔＰb1未満であり、かつ第２の判定値ΔＰbが第２の設定値ΔＰb2未満であるときに燃焼サイクルカウンタの計数値をカウントアップし、第１の判定値ΔＰbaが正で第１の設定値ΔＰb1以上であるとき及び第１の判定値ΔＰbaが０または負で第２の判定値ΔＰbが第２の設定値ΔＰb2以上であるときに燃焼サイクルカウンタ２６の計数値を０にクリアするように燃焼サイクルカウンタ２６を制御する手段である。
【００５４】
大気圧予想値更新手段２５は、燃焼サイクルカウンタ２６の計数値が１であるときに吸気管内圧力最大・最小値検出手段２１により新たに検出された吸気管内圧力の最大値を大気圧予想値として大気圧予想値記憶手段２２に記憶させ、燃焼サイクルカウンタ２６の計数値が１を超え、ｎ（ｎは３以上の整数）未満であるときには吸気管内圧力最大・最小値検出手段２１により新たに検出された吸気管内圧力の最大値Ｐbmaxと大気圧予想値記憶手段２２に記憶されている大気圧予想値Ｐatとの平均値［＝（Ｐat＋Ｐbmax）／２］を新たな大気圧予想値として大気圧予想値記憶手段２２の記憶内容を更新する手段である。
【００５５】
急減速判定手段２７は、燃焼サイクルカウンタ２６の計数値がｎであるときに第３の判定値ΔＰbcを予め設定した第３の設定値と比較して、第３の判定値ΔＰbcが第３の設定値ΔＰb3未満のときにｎ−１番目の燃焼サイクルで内燃機関の急減速操作が行われなかったと判定し、第３の判定値ΔＰbcが第３の設定値ΔＰb3以上であるときにｎ−１番目の燃焼サイクルで内燃機関の急減速操作が行われたと判定する手段である。
【００５６】
大気圧検出値更新手段２８は、急減速判定手段２７により内燃機関の急減速操作が行われなかったと判定されたときに、吸気管内圧力最大・最小値検出手段２１により新たに検出された吸気管内圧力の最大値と大気圧予想値記憶手段２２に記憶されている大気圧予想値Ｐatとの平均値を新たな大気圧検出値Ｐa［＝（Ｐat＋Ｐbmax）／２］として、大気圧検出値記憶手段２３の記憶内容を更新する手段である。
【００５７】
また大気圧更新時燃焼サイクルカウンタリセット手段３２は、大気圧検出値記憶手段２３の記憶内容が更新されたときに燃焼サイクルカウンタ２６の計数値を０にクリアする手段であり、急減速時燃焼サイクルカウンタリセット手段３３は、第３の判定値ΔＰbcが第３の設定値ΔＰb3以上であるとき（急減速判定手段により、ｎ−１番目の燃焼サイクルで急減速操作が行なわれたと判定されたとき）に燃焼サイクルカウンタ２６の計数値を０にクリアする手段である。
【００５８】
上記の各手段は、ＲＯＭ１０４に記憶されたプログラムをＣＰＵ１０１に実行させることにより構成される。
【００５９】
なお各気筒毎に吸気管が設けられている多気筒内燃機関に本発明の検出方法を適用する場合には、吸気管内の圧力の検出をすべての吸気管について行ってそれぞれの吸気管内圧力に基づいて検出した大気圧の検出値を平均してもよいが、一般には、内燃機関の一つの気筒に対して設けられた吸気管内のスロットルバルブよりも下流側で吸気管内圧力を検出するように設けた一つの吸気圧センサの出力を所定のサンプル間隔でサンプリングすることにより吸気管内圧力を検出して、その検出値に基づいて大気圧の検出を行えば十分である。
【００６０】
本発明を実施するに当たっては、マイクロプロセッサ内のタイマに吸気管内圧力のサンプル間隔の計測を行わせて、該タイマがサンプル間隔を計測する毎に吸気圧センサの出力を読み込む過程を、ＣＰＵが実行するプログラムに設けておき、この過程と図１に示した吸気管内圧力センサ６とにより、内燃機関の一つの気筒に対して設けられた吸気管内のスロットルバルブよりも下流側で吸気管内圧力を検出する吸気圧センサの出力を所定のサンプル間隔でサンプリングして吸気管内圧力を絶対圧として検出する吸気管内圧力検出手段を構成しておく。
【００６１】
そして、吸気管内圧力をサンプリングする毎に、割り込みルーチンを実行させることにより、吸気管内圧力最大・最小値検出手段２１と、第１ないし第３の判定値演算手段２４Ａないし２４Ｃと、大気圧予想値更新手段２５と、燃焼サイクルカウンタ２６と、急減速判定手段２７と、大気圧検出値更新手段２８と、燃焼サイクルカウンタ制御手段３１と、大気圧更新時燃焼サイクルカウンタリセット手段３２と、急減速時燃焼サイクルカウンタリセット手段３３とを構成するための処理を行なう。
【００６２】
本発明に係わる大気圧検出装置を構成するために、吸気管内圧力がサンプリングされる毎にＣＰＵにより実行される割り込みルーチンのアルゴリズムの一例を図９ないし図１１に示した。図９ないし図１１に示したフローチャートにおいて、ＰｂＡＤは新たにサンプリングした吸気管内圧力を示し、ＰbmaxＳ及びＰbminＳはそれぞれ同じ燃焼サイクルで今までに検出されて記憶装置（ＲＡＭ）に記憶されている吸気管内圧力の最大値及び最小値である。
【００６３】
このアルゴリズムによる場合には、サンプルタイミングが検出された時に先ず図９のステップ１で吸気管内圧力ＰｂＡＤを読み込み、次いでステップ２において新たに読み込んだ吸気管内圧力ＰｂＡＤを今までに検出されている吸気管内圧力の最大値ＰbmaxＳと比較する。その結果ＰｂＡＤ＞ＰbmaxＳであるときには、ステップ３で今回検出された吸気管内圧力ＰｂＡＤを吸気管内圧力の最大値ＰbmaxＳとして、吸気管内圧力の最大値を更新した後、図１０のステップ６に移行する。最初は吸気管内圧力の最大値が求められていないため、ステップ２に続いてステップ３が実行される。ステップ２でＰｂＡＤ≦ＰbmaxＳと判定されたときには、ステップ４に進んでＰｂＡＤを今まで検出された吸気管内圧力の最小値ＰbminＳと比較する。その結果、ＰｂＡＤ＜ＰbminＳであると判定されたときには、ステップ５で今回検出された吸気管内圧力ＰｂＡＤを最小値ＰbminＳとして図１０のステップ６に移行する。ステップ４においてＰｂＡＤ≧ＰbminＳと判定されたときには、図１０のステップ６に移行する。最初にステップ４が実行される際には未だ吸気管内圧力の最小値が検出されていないため、ステップ４から図１０のステップ６に移行する。
【００６４】
図１０のステップ６では、今回のサンプルタイミングが燃焼サイクルの基準タイミングであるか否かを判定する。ここで燃焼サイクルの基準タイミングは、１燃焼サイクルが終了したか否かを判定する際の基準とするタイミングである。この基準タイミングは例えば、クランク軸の回転角度位置が排気行程終了時の上死点位置に一致するタイミングか、またはクランク軸の回転角度位置が排気行程終了時の上死点位置に一致するタイミング付近のタイミングに設定する。
【００６５】
排気行程終了時にパルス信号を発生するカム軸センサが機関に取りつけられている場合には、該カム軸センサの出力パルスを検出することにより上記基準タイミングを検出することができる。
【００６６】
また本実施形態のように、パルサ３がクランク軸の上死点位置（ピストンの上死点に相応する回転角度位置）に近い位置で第２のパルス信号を発生するように構成されている場合には、吸気管内圧力が最小値を示した後にパルサ３が最初に第２のパルス信号Ｖp2を発生するタイミングを燃焼サイクルの基準タイミングとすることもできる。
【００６７】
図１０のステップ６を実行した結果、今回のサンプルタイミングが基準タイミングに一致していると判定されたときには、ステップ７に進んで既に求められている吸気管内圧力の最大値ＰbmaxＳをＰbmaxとして、吸気管内圧力の最大値を確定し、更にステップ８において既に求められている吸気管内圧力の最小値ＰbminＳをＰbminとして吸気管内圧力の最小値を確定する。次いでステップ９でＰbmaxＳを記憶していたＲＡＭの内容及びＰbminＳを記憶していたＲＡＭの内容をクリアし、ステップ１０で第２の判定値ΔＰｂ＝Ｐbmax−Ｐbminを演算して演算結果をＲＡＭに記憶させる。その後ステップ１１で大気圧検出値記憶手段に記憶されている大気圧検出値Ｐaからステップ７で確定させた吸気管内圧力の最大値Ｐbmaxを差し引いて第１の判定値ΔＰba＝Ｐa−Ｐbmaxを演算する。ステップ６で、今回のサンプルタイミングが基準タイミングに一致していないと判定されたときには、この割り込み処理を終了する。
【００６８】
なお、機関を始動した後、吸気管内圧力の最初のサンプルタイミングで行われる割り込み処理時に、大気圧検出値記憶手段２３に記憶されている大気圧検出値Ｐaは予め設定された初期値である。
【００６９】
図１０のステップ１１を実行した後、図１１のステップ１２に移行して第１の判定値ΔＰbaが０または負であるか否か（Ｐa≦Ｐbmaxであるか否か）を判定する。その結果第１の判定値ΔＰbaが０または負であると判定されたとき、すなわち、新たに検出された吸気管内圧力の最大値Ｐbmaxが既に検出されて記憶されている大気圧検出値Ｐa以上であると判定されたときには、ステップ１３に進んで第２の判定値ΔＰbが第２の設定値ΔＰb2よりも小さいか否かを判定し、その結果、第２の判定値ΔＰbが第２の設定値ΔＰb2よりも小さいと判定されたときには、大気圧予想条件が成立したとして、ステップ１４に進んで燃焼サイクルカウンタの計数値ＣＴを１だけカウントアップする。
【００７０】
ステップ１２で第１の判定値ΔＰbaが正であると判定されたとき、すなわち、新たに検出された吸気管内圧力の最大値Ｐbmaxが既に検出されて記憶されている大気圧検出値Ｐaよりも小さいと判定されたときには、ステップ１５に進んで第１の判定値ΔＰbaが第１の設定値ΔＰb1未満であるか否かを判定する。その結果第１の判定値ΔＰbaが第１の設定値ΔＰb1未満であると判定されたときには、ステップ１３に移行して第２の判定値ΔＰbが第２の設定値ΔＰb2よりも小さいか否かを判定する。ステップ１３で第２の判定値ΔＰbが第２の設定値ΔＰb2以上であると判定されたとき、及びステップ１５で第１の判定値ΔＰbaが第１の設定値ΔＰb1以上であると判定されたときには、大気圧予想条件が成立していないとして、ステップ１６に進んで燃焼サイクルカウンタ２６の計数値ＣＴを０にクリアした後、この割り込み処理を終了する。
【００７１】
ステップ１４で燃焼サイクルカウンタ２６をカウントアップした後、ステップ１７に進んで燃焼サイクルカウンタの計数値ＣＴが１であるか否かを判定する。その結果計数値ＣＴが１である場合（今回の燃焼サイクルが、大気圧検出値を得る過程を開始した後最初の燃焼サイクルである場合）には、ステップ１８に進んで、今回の燃焼サイクルで求められた吸気管内圧力の最大値Ｐbmaxを大気圧予想値Ｐatとして大気圧予想値記憶手段２２に記憶させた後この割り込み処理を終了する。
【００７２】
ステップ１７で計数値ＣＴが１でないと判定されたときには、ステップ１９に進んで計数値ＣＴが設定値ｎ（ｎは３以上の整数）以上であるか否かを判定する。その結果、計数値ＣＴが設定値ｎ以上でない（ｎ未満である）と判定されたときには、ステップ２０に進んで、今回の燃焼サイクルで検出された吸気管内圧力の最大値Ｐbmaxと前回の燃焼サイクルで更新されて大気圧予想値記憶手段２２に記憶されている大気圧予想値Ｐatとの平均値［＝（Ｐat＋Ｐbmax）／２］を演算してこの平均値で大気圧予想値記憶手段２２の記憶内容（大気圧予想値Ｐat）を更新した後、この割り込み処理を終了する。
【００７３】
ステップ１９で計数値ＣＴが設定値ｎ以上であると判定されたときには、ステップ２１に進んで、第３の判定値ΔＰbc＝Ｐat−Ｐbmaxを演算し、ステップ２２で第３の判定値ΔＰbcと第３の設定値ΔＰb3とを比較する。その結果、第３の判定値ΔＰbcが第３の設定値ΔＰb3以上であると判定されたとき（ｎ−１番目の燃焼サイクルで機関の急減速操作が行われたとき）には、大気圧検出値更新条件が成立してないとしてステップ２３に進み、燃焼サイクルカウンタ２６の計数値ＣＴを０にクリアした後、この割り込み処理を終了する。
【００７４】
ステップ２２で第３の判定値ΔＰbcが第３の設定値ΔＰb3未満であると判定されたとき（ｎ−１番目の燃焼サイクルで機関の急減速操作が行われていないとき）には、ステップ２４に進んでｎ番目の燃焼サイクルで検出された吸気管内圧力の最大値Ｐbmaxとｎ−１番目の燃焼サイクルで更新されて大気圧予想値記憶手段２２に記憶されている大気圧予想値Ｐatとの平均値［＝（Ｐat＋Ｐbmax）／２］を演算してこの平均値で大気圧予想値記憶手段２２の記憶内容（大気圧予想値Ｐat）を更新する。次いでステップ２５に進んで、大気圧予想値Ｐatを新たな大気圧検出値Ｐaとして、この大気圧検出値Ｐaで大気圧検出値記憶手段２３の記憶内容（大気圧検出値Ｐa）を更新するとともに、燃焼サイクルカウンタの計数値ＣＴを０にクリアして、１つの大気圧検出過程を終了し、この割り込み処理を終了する。
【００７５】
本実施形態では、図９のステップ１ないし５と図７のステップ６ないし９とにより、吸気管内圧力最大・最小値検出手段２１が構成され、吸気管内圧力がサンプリングされる毎にこれらのステップが実行されることにより、１燃焼サイクルの期間に検出された吸気管内圧力の最大値ＰmaxＳと最小値ＰminＳとが検出される。
【００７６】
また図１０のステップ１１により、大気圧検出値記憶手段２３に記憶されている大気圧検出値Ｐaから吸気管内圧力の最大値Ｐbmaxを差し引いた値を第１の判定値ΔＰbaとして演算する第１の判定値演算手段２４Ａが構成され、ステップ１０により、最大・最小値検出手段により検出された最大値から最小値を差し引いた値を第２の判定値ΔＰbとして演算する第２の判定値演算手段２４Ｂが構成される。
【００７７】
更に、図１１のステップ１２ないし１６により、第１の判定値ΔＰbaが０または負で、かつ第２の判定値ΔＰbが第２の設定値ΔＰb2未満であるとき、及び第１の判定値ΔＰbaが正で第１の設定値ΔＰb1未満であり、かつ第２の判定値ΔＰbが第２の設定値ΔＰb2未満であるときに燃焼サイクルカウンタの計数値をカウントアップし、第１の判定値ΔＰbaが正で第１の設定値ΔＰb1以上であるとき及び第１の判定値ΔＰbaが０または負で第２の判定値ΔＰbが第２の設定値ΔＰb2以上であるときに燃焼サイクルカウンタの計数値を０にクリアする燃焼サイクルカウンタ制御手段３１が構成される。
【００７８】
また、図１１のステップ１７ないし２０により、燃焼サイクルカウンタの計数値ＣＴが１であるときに吸気管内圧力最大・最小値検出手段２１により新たに検出された吸気管内圧力の最大値Ｐbmaxを大気圧予想値として大気圧予想値記憶手段に記憶させ、燃焼サイクルカウンタの計数値ＣＴが１を超え、ｎ（ｎは３以上の整数）未満であるときには吸気管内圧力最大・最小値検出手段２１により新たに検出された吸気管内圧力の最大値Ｐbmaxと大気圧予想値記憶手段に記憶されている大気圧予想値Ｐatとの平均値を新たな大気圧予想値として大気圧予想値記憶手段２２の記憶内容を更新する大気圧予想値更新手段２５が構成される。
【００７９】
更に、図１１のステップ２１により、大気圧予想値記憶手段に記憶されている大気圧予想値から新たに求められた吸気管内圧力の最大値を差し引いた値を第３の判定値ΔＰbcとして求める第３の判定値演算手段２４Ｃが構成され、ステップ２２により、燃焼サイクルカウンタの計数値がｎであるときに第３の判定値ΔＰbcを第３の設定値ΔＰb3と比較して、第３の判定値ΔＰbcが第３の設定値ΔＰb3未満のときにｎ−１番目の燃焼サイクルで内燃機関の急減速操作が行われなかったと判定し、第３の判定値ΔＰbcが第３の設定値ΔＰb3以上であるときにｎ−１番目の燃焼サイクルで内燃機関の急減速操作が行われたと判定する急減速判定手段２７が構成される。
【００８０】
また、ステップ２４及び２５により、急減速判定手段２７によりｎ−１番目の燃焼サイクルで内燃機関の急減速操作が行われなかったと判定されたときに、吸気管内圧力最大・最小値検出手段２１により新たに検出された吸気管内圧力の最大値Ｐbmaxと大気圧予想値記憶手段２２に記憶されている大気圧予想値との平均値を新たな大気圧検出値Ｐaとして、大気圧検出値記憶手段２３の記憶内容を更新する大気圧検出値更新手段が構成される。
【００８１】
更に、ステップ２５のカウンタの計数値ＣＴを０にクリアする過程により、大気圧検出値記憶手段２３の記憶内容が更新されたときに燃焼サイクルカウンタ２６の計数値を０にクリアする大気圧更新時燃焼サイクルカウンタリセット手段３２が構成され、ステップ２３により、第３の判定値ΔＰbcが第３の設定値ΔＰb3以上であるときに燃焼サイクルカウンタ２６の計数値を０にクリアする急減速時燃焼サイクルカウンタリセット手段３３が構成される。
【００８２】
急減速判定手段２７を構成するための処理を行なわないとした場合の割込み処理のアルゴリズムの要部を示すフローチャートを図１５に示した。図１５に示したフローチャートは、図１１のフローチャートに相当するもので、図１５に示したアルゴリズムによる場合には、ｎ−１番目の燃焼サイクルで機関の急減速操作が行なわれた場合でも、ｎ番目の燃焼サイクルで検出された吸気管内圧力の最大値とｎ−１番目の燃焼サイクルで更新された大気圧予想値Ｐatとの平均値で大気圧検出値が更新される。このように構成されていると、図６に示すように、ｎ−１番目の燃焼サイクルで急減速操作が行なわれて、ｎ番目の燃焼サイクルで吸気管内圧力の最大値Ｐbmaxが大幅に低下したときに、大気圧検出値が実際の大気圧よりも大幅に低い値に更新されてしまう。
【００８３】
本発明によれば、内燃機関が連続してｎ燃焼サイクルを行う間に、すべての燃焼サイクルで吸気管内圧力の最大値から最小値を差し引いた値が設定値以下であると判定されて大気圧更新条件が成立したときに、ｎ−１番目の燃焼サイクルで内燃機関の急減速操作が行われたか否かを判定して、ｎ−１番目の燃焼サイクルで機関の急減速操作が行なわれなかったと判定されたときにのみ、ｎ番目の燃焼サイクルで検出された吸気管内圧力の最大値またはこの最大値に予め定めた補正処理を施して求めた値を新たな大気圧検出値として更新するようにしたので、大気圧更新条件の成立時にたまたま機関の急減速操作が行われた場合に、大気圧検出値が低めに更新されるのを防ぐことができる。
【００８４】
上記の説明では、機関の回転速度を３０００［ｒｐｍ］（一定）とした。このように、機関の回転速度がそれ程高くなく、吸気管内を通して流れる空気の流量が余り多くない状態では、上記の方法により大気圧をほとんど誤差を伴うことなく検出することができる。
【００８５】
ところが、機関の回転速度が高くなり、吸気管内を通して流れる空気の量が多くなると、吸気通路の圧力損失が増大するため、吸気管内圧力の最大値が大気圧に到達しない状態が生じる。このような状態では、吸気管内圧力の最大値そのものを大気圧の検出値とすると検出誤差が大きくなる。従って上記の検出方法を実施するに当たっては、機関の回転速度が設定値以下の運転領域で大気圧の検出を行ってその検出値を記憶させておき、記憶させた大気圧の検出値を制御条件の一つとして低速領域から高速領域までの機関の制御（例えば燃料噴射量の制御）を行うようにするのが好ましい。
【００８６】
また内燃機関の回転速度の如何に関わりなく常に大気圧を精度よく検出することが必要とされる場合には、第２の判定値ΔＰbが設定値ΔＰb2以下のときに検出した吸気管内圧力の最大値を大気圧の基礎検出値として、該基礎検出値を回転速度に応じて決定した補正量だけ補正した値を大気圧の検出値とするのが好ましい。
【００８７】
この場合、基礎検出値の補正は、基礎検出値に機関の回転速度に応じて決定した補正値を加算することにより行ってもよく、基礎検出値に機関の回転速度に応じて決定した補正係数を乗じることにより行ってもよい。
【００８８】
基礎検出値に機関の回転速度に応じて決定した補正値を加算することにより大気圧検出値を得る場合にマイクロプロセッサに実行させる割込み処理のアルゴリズムをフローチャートの要部を図１２に示した。図１２に示したフローチャートは、図１１に相当するもので、図１１のステップ２４の次に、機関の回転速度に対して補正値Ｃpaを演算するステップ２６が挿入されている。ステップ２５では、ステップ２４で演算された大気圧予想値Ｐatを基礎検出値として、この基礎検出値に補正値Ｃpaを加算することにより大気圧検出値Ｐaを演算している。その他の点は図９ないし図１１に示した割込処理と同様である。
【００８９】
この例では、ステップ２４，２５及び２６により、急減速判定手段２７が一つ前の燃焼サイクルで内燃機関の急減速操作が行われなかったと判定したときに吸気管内圧力最大・最小値検出手段により新たに検出された吸気管内圧力の最大値と大気圧予想値記憶手段に記憶されている大気圧予想値との平均値を内燃機関の回転速度に応じて補正することにより求めた新たな大気圧検出値で大気圧検出値記憶手段の記憶内容を更新する大気圧検出値更新手段が構成される。
【００９０】
図１３は本発明の他の実施形態の構成を示したもので、この例では、スロットルバルブの開度（スロットル開度）に比例した電気信号を検出するスロットルセンサの出力からスロットル開度を検出するスロットル開度検出手段３５が設けられて、このスロットル開度検出手段３５から得られるスロットル開度の情報が、大気圧検出値更新手段２８と、急減速時燃焼サイクルカウンタリセット手段３３とに与えられている。
【００９１】
大気圧検出値更新手段２８は、急減速判定手段２７により（ｎ−１）番目の燃焼サイクルで内燃機関の急減速操作が行われなかったと判定され、かつスロットル開度検出手段により検出されているスロットル開度が設定値を超えているときに吸気管内圧力最大・最小値検出手段により新たに検出された吸気管内圧力の最大値と大気圧予想値記憶手段に記憶されている大気圧予想値との平均値を新たな大気圧検出値として、大気圧検出値記憶手段の記憶内容を更新するように構成されている。
【００９２】
また急減速時燃焼サイクルカウンタリセット手段３３は、第３の判定値ΔＰbcが第３の設定値ΔＰb3以上であるとき、及び第３の判定値ΔＰbcは第３の設定値ΔＰb3未満であるがスロットル開度が設定値以下であるときに燃焼サイクルカウンタの計数値を０にクリアするように構成されている。
【００９３】
図１３に示した実施形態で吸気管内圧力がサンプリングされる毎にマイクロプロセッサに実行させる割込み処理のアルゴリズムを示すフローチャートの要部を図１４に示した。
図１４に示したフローチャートは、図１１に示したフローチャートに相当する部分で、この例では、ステップ２２とステップ２４との間にスロットル開度が設定値ＴＰＳ1よりも大きいか否かを判定するステップ２７が挿入されている。その他の点は図９ないし図１１に示した割込処理と同様である。
【００９４】
図１４に示した例では、ステップ２２で第３の判定値ΔＰbcが第３の設定値ΔＰb3未満であると判定されたとき（ｎ−１番目の燃焼サイクルで機関の急減速操作が行なわれなかったとき）に、ステップ２７に移行してスロットル開度が設定値ＴＰＳ1よりも大きいか否かを判定する。その結果、スロットル開度が設定値ＴＰＳ1よりも大きいと判定されたときには、ステップ２４に移行してｎ−１番目の燃焼サイクルで更新された大気圧予想値Ｐatとｎ番目の燃焼サイクルで求められた吸気管内圧力の最大値Ｐbmaxとの平均値を新たな大気圧予想値とし、ステップ２５で大気圧検出値記憶手段の記憶内容をこの大気圧予想値で置き換えて、大気圧検出値を更新するとともに、燃焼サイクルカウンタの計数値を０にクリアする。
【００９５】
ステップ２７でスロットル開度が設定値以下であると判定されたとき（第３の判定値ΔＰbcは第３の設定値ΔＰb3未満であるがスロットル開度が設定値以下であるとき）には、ステップ２３に移行して燃焼サイクルカウンタの計数値を０にクリアする。
【００９６】
吸気管内圧力の最大値から大気圧を検出する場合、スロットル開度が小さいと、実際の大気圧よりも低い値が検出され、大気圧の検出誤差が許容範囲を超えるおそれがあるが、上記のように、スロットル開度が設定値ＴＰＳ1を超えているときにのみ大気圧検出値を更新するようにすれば、設定値ＴＰＳ1を適当に設定しておくことにより、大気圧と実際の大気圧との間の誤差を許容範囲内に収めることができる。
【００９７】
上記の実施形態では、ｎ番目の燃焼サイクルで検出された吸気管内圧力の最大値とｎ−１番目の燃焼サイクルで更新された大気圧予想値との平均値を演算することにより、ｎ番目の燃焼サイクルで検出された吸気管内圧力の最大値を補正して、大気圧検出値を求めるようにしているが、本発明においては、ｎ番目の燃焼サイクルで検出された吸気管内圧力の最大値またはこの最大値に予め定めた補正処理を施して求めた値を新たな大気圧検出値とすれば良く、吸気管内圧力の最大値の補正の仕方は上記の例に限定されない。例えば、ｎ番目の燃焼サイクルで検出された吸気管内圧力の最大値を機関の回転速度に応じて補正した値を大気圧検出値としてもよく、１番目の燃焼サイクルからｎ番目の燃焼サイクルのそれぞれで検出された吸気管内圧力の最大値の平均値を大気圧検出値としてもよい。
【００９８】
以上、本発明の好ましいと思われる実施形態について説明したが、本明細書に開示した発明の構成をまとめて示すと下記の通りである。
【００９９】
（１）単気筒内燃機関または各気筒毎に吸気管とスロットルバルブとが設けられている多気筒内燃機関を制御する際に制御条件として用いられる大気圧を検出する内燃機関制御用大気圧検出装置であって、内燃機関の一つの気筒に対して設けられた吸気管内のスロットルバルブよりも下流側で吸気管内圧力を絶対圧として検出する吸気管内圧力検出手段と、内燃機関が各燃焼サイクルを行う間に検出された吸気管内圧力の最大値と最小値とを検出する吸気管内圧力最大・最小値検出手段と、大気圧検出値を記憶する大気圧検出値記憶手段と、吸気管内圧力最大・最小値検出手段により検出された吸気管内圧力の最大値から最小値を差し引いた値を判定値として、内燃機関が連続してｎ燃焼サイクル（ｎは３以上の整数）を行う間に、すべての燃焼サイクルで前記判定値が設定値以下であると判定されたときに、ｎ−１番目の燃焼サイクルで前記内燃機関の急減速操作が行われたか否かを判定する急減速判定手段と、急減速判定手段により急減速操作が行われなかったと判定されたときにｎ番目の燃焼サイクルで検出された吸気管内圧力の最大値またはこの最大値に予め定めた補正処理を施して求めた値を新たな大気圧検出値として大気圧検出値記憶手段に記憶させる大気圧検出値更新手段とを具備した内燃機関制御用大気圧検出装置。
【０１００】
（２）単気筒内燃機関または各気筒毎に吸気管とスロットルバルブとが設けられている多気筒内燃機関を制御する際に制御条件として用いられる大気圧を検出する内燃機関制御用大気圧検出装置であって、内燃機関のスロットルバルブよりも下流側の吸気管内圧力を所定のサンプル間隔でサンプリングして絶対圧として検出する吸気管内圧力検出手段と、内燃機関の燃焼サイクルをカウントする燃焼サイクルカウンタと、大気圧予想値を記憶する大気圧予想値記憶手段と、内燃機関の起動時には大気圧検出値Ｐaの設定された初期値を記憶し、大気圧検出値が更新されたときには該更新された大気圧検出値Ｐaを記憶する大気圧検出値記憶手段と、内燃機関が各燃焼サイクルを行う間にサンプリングされた吸気管内圧力の最大値Ｐbmaxと最小値Ｐbminとを検出する吸気管内圧力最大・最小値検出手段と、大気圧検出値記憶手段に記憶されている大気圧検出値Ｐaから吸気管内圧力の最大値Ｐbmaxを差し引いた値を第１の判定値ΔＰbaとして求める第１の判定値演算手段と、吸気管内圧力の最大値Ｐbmaxから該吸気管内圧力の最小値Ｐbminを差し引いた値を第２の判定値ΔＰbとして求める第２の判定値演算手段と、第１の判定値ΔＰbaが０または負で、かつ第２の判定値ΔＰbが第２の設定値ΔＰb2未満であるとき、及び第１の判定値ΔＰbaが正であって、しかも第１の設定値ΔＰb1未満であり、かつ第２の判定値ΔＰbが第２の設定値ΔＰb2未満であるときに燃焼サイクルカウンタの計数値をカウントアップし、第１の判定値ΔＰbaが正で第１の設定値ΔＰb1以上であるとき及び第１の判定値ΔＰbaが０または負で第２の判定値ΔＰbが第２の設定値ΔＰb2以上であるときに燃焼サイクルカウンタの計数値を０にクリアする燃焼サイクルカウンタ制御手段と、燃焼サイクルカウンタの計数値が１であるときに吸気管内圧力最大・最小値検出手段により新たに検出された吸気管内圧力の最大値を大気圧予想値として大気圧予想値記憶手段に記憶させ、燃焼サイクルカウンタの計数値が１を超え、ｎ（ｎは３以上の整数）未満であるときには吸気管内圧力最大・最小値検出手段により新たに検出された吸気管内圧力の最大値と大気圧予想値記憶手段に記憶されている大気圧予想値との平均値を新たな大気圧予想値として大気圧予想値記憶手段の記憶内容を更新する大気圧予想値更新手段と、大気圧予想値記憶手段に記憶されている大気圧予想値から新たに求められた吸気管内圧力の最大値を差し引いた値を第３の判定値ΔＰbcとして求める第３の判定値演算手段と、燃焼サイクルカウンタの計数値がｎであるときに第３の判定値を第３の設定値と比較して、第３の判定値ΔＰbcが第３の設定値ΔＰb3未満のときにｎ−１番目の燃焼サイクルで前記内燃機関の急減速操作が行われなかったと判定し、第３の判定値ΔＰbcが第３の設定値ΔＰb3以上であるときにｎ−１番目の燃焼サイクルで内燃機関の急減速操作が行われたと判定する急減速判定手段と、急減速判定手段により内燃機関の急減速操作が行われなかったと判定されたときに、吸気管内圧力最大・最小値検出手段により新たに検出された吸気管内圧力の最大値と大気圧予想値記憶手段に記憶されている大気圧予想値との平均値を新たな大気圧検出値として、大気圧検出値記憶手段の記憶内容を更新する大気圧検出値更新手���と、大気圧検出値記憶手段の記憶内容が更新されたときに燃焼サイクルカウンタの計数値を０にクリアする大気圧更新時燃焼サイクルカウンタリセット手段と、第３の判定値ΔＰbcが第３の設定値ΔＰb3以上であるときに燃焼サイクルカウンタの計数値を０にクリアする急減速時燃焼サイクルカウンタリセット手段とを具備した内燃機関制御用大気圧検出装置。
【０１０１】
（３）単気筒内燃機関または各気筒毎に吸気管とスロットルバルブとが設けられている多気筒内燃機関を制御する際に制御条件として用いられる大気圧を検出する内燃機関制御用大気圧検出装置であって、内燃機関のスロットルバルブよりも下流側の吸気管内圧力を所定のサンプル間隔でサンプリングして絶対圧として検出する吸気管内圧力検出手段と、内燃機関の燃焼サイクルをカウントする燃焼サイクルカウンタと、大気圧予想値を記憶する大気圧予想値記憶手段と、内燃機関の起動時には大気圧検出値Ｐaの設定された初期値を記憶し、大気圧検出値が更新されたときには該更新された大気圧検出値Ｐaを記憶する大気圧検出値記憶手段と、内燃機関が各燃焼サイクルを行う間にサンプリングされた吸気管内圧力の最大値Ｐbmaxと最小値Ｐbminとを検出する吸気管内圧力最大・最小値検出手段と、大気圧検出値記憶手段に記憶されている大気圧検出値Ｐaから吸気管内圧力の最大値Ｐbmaxを差し引いた値を第１の判定値ΔＰbaとして求める第１の判定値演算手段と、吸気管内圧力の最大値Ｐbmaxから該吸気管内圧力の最小値Ｐbminを差し引いた値を第２の判定値ΔＰbとして求める第２の判定値演算手段と、第１の判定値ΔＰbaが０または負で、かつ第２の判定値ΔＰbが第２の設定値ΔＰb2未満であるとき、及び第１の判定値ΔＰbaが正であって、しかも第１の設定値ΔＰb1未満であり、かつ第２の判定値ΔＰbが第２の設定値ΔＰb2未満であるときに燃焼サイクルカウンタの計数値をカウントアップし、第１の判定値ΔＰbaが正で第１の設定値ΔＰb1以上であるとき及び第１の判定値ΔＰbaが０または負で第２の判定値ΔＰbが第２の設定値ΔＰb2以上であるときに燃焼サイクルカウンタの計数値を０にクリアする燃焼サイクルカウンタ制御手段と、燃焼サイクルカウンタの計数値が１であるときに吸気管内圧力最大・最小値検出手段により新たに検出された吸気管内圧力の最大値を大気圧予想値として大気圧予想値記憶手段に記憶させ、燃焼サイクルカウンタの計数値が１を超え、ｎ（ｎは３以上の整数）未満であるときには吸気管内圧力最大・最小値検出手段により新たに検出された吸気管内圧力の最大値と大気圧予想値記憶手段に記憶されている大気圧予想値との平均値を新たな大気圧予想値として大気圧予想値記憶手段の記憶内容を更新する大気圧予想値更新手段と、大気圧予想値記憶手段に記憶されている大気圧予想値から新たに求められた吸気管内圧力の最大値を差し引いた値を第３の判定値ΔＰbcとして求める第３の判定値演算手段と、燃焼サイクルカウンタの計数値がｎであるときに第３の判定値を第３の設定値と比較して、第３の判定値ΔＰbcが第３の設定値ΔＰb3未満のときにｎ−１番目の燃焼サイクルで内燃機関の急減速操作が行われなかったと判定し、第３の判定値ΔＰbcが第３の設定値ΔＰb3以上であるときにｎ−１番目の燃焼サイクルで内燃機関の急減速操作が行われたと判定する急減速判定手段と、急減速判定手段により内燃機関の急減速操作が行われなかったと判定されたときに吸気管内圧力最大・最小値検出手段により新たに検出された吸気管内圧力の最大値と大気圧予想値記憶手段に記憶されている大気圧予想値との平均値を内燃機関の回転速度に応じて補正することにより求めた新たな大気圧検出値で大気圧検出値記憶手段���記憶内容を更新する大気圧検出値更新手段と、大気圧検出値記憶手段の記憶内容が更新されたときに燃焼サイクルカウンタの計数値を０にクリアする大気圧更新時燃焼サイクルカウンタリセット手段と、第３の判定値ΔＰbcが第３の設定値ΔＰb3以上であるときに燃焼サイクルカウンタの計数値を０にクリアする急減速時燃焼サイクルカウンタリセット手段とを具備した内燃機関制御用大気圧検出装置。
【０１０２】
（４）単気筒内燃機関または各気筒毎に吸気管とスロットルバルブとが設けられている多気筒内燃機関を制御する際に制御条件として用いられる大気圧を検出する内燃機関制御用大気圧検出装置であって、内燃機関のスロットルバルブの開度を検出するスロットル開度検出手段と、内燃機関のスロットルバルブよりも下流側の吸気管内圧力を所定のサンプル間隔でサンプリングして絶対圧として検出する吸気管内圧力検出手段と、内燃機関の燃焼サイクルをカウントする燃焼サイクルカウンタと、大気圧予想値を記憶する大気圧予想値記憶手段と、内燃機関の起動時には大気圧検出値Ｐaの設定された初期値を記憶し、大気圧検出値が更新されたときには該更新された大気圧検出値Ｐaを記憶する大気圧検出値記憶手段と、内燃機関が各燃焼サイクルを行う間にサンプリングされた吸気管内圧力の最大値Ｐbmaxと最小値Ｐbminとを検出する吸気管内圧力最大・最小値検出手段と、大気圧検出値記憶手段に記憶されている大気圧検出値Ｐaから前記吸気管内圧力の最大値Ｐbmaxを差し引いた値を第１の判定値ΔＰbaとして求める第１の判定値演算手段と、吸気管内圧力の最大値Ｐbmaxから該吸気管内圧力の最小値Ｐbminを差し引いた値を第２の判定値ΔＰbとして求める第２の判定値演算手段と、第１の判定値ΔＰbaが０または負で、かつ前記第２の判定値ΔＰbが第２の設定値ΔＰb2未満であるとき、及び第１の判定値ΔＰbaが正であって、しかも第１の設定値ΔＰb1未満であり、かつ前記第２の判定値ΔＰbが第２の設定値ΔＰb2未満であるときに前記燃焼サイクルカウンタの計数値をカウントアップし、第１の判定値ΔＰbaが正で第１の設定値ΔＰb1以上であるとき及び第１の判定値ΔＰbaが０または負で第２の判定値ΔＰbが第２の設定値ΔＰb2以上であるときに燃焼サイクルカウンタの計数値を０にクリアする燃焼サイクルカウンタ制御手段と、燃焼サイクルカウンタの計数値が１であるときに吸気管内圧力最大・最小値検出手段により新たに検出された吸気管内圧力の最大値を大気圧予想値として大気圧予想値記憶手段に記憶させ、燃焼サイクルカウンタの計数値が１を超え、ｎ（ｎは３以上の整数）未満であるときには吸気管内圧力最大・最小値検出手段により新たに検出された吸気管内圧力の最大値と大気圧予想値記憶手段に記憶されている大気圧予想値との平均値を新たな大気圧予想値として大気圧予想値記憶手段の記憶内容を更新する大気圧予想値更新手段と、大気圧予想値記憶手段に記憶されている大気圧予想値から新たに求められた吸気管内圧力の最大値を差し引いた値を第３の判定値ΔＰbcとして求める第３の判定値演算手段と、燃焼サイクルカウンタの計数値がｎであるときに第３の判定値を第３の設定値と比較して、第３の判定値ΔＰbcが第３の設定値ΔＰb3未満のときにｎ−１番目の燃焼サイクルで内燃機関の急減速操作が行われなかったと判定し、第３の判定値ΔＰbcが第３の設定値ΔＰb3以上であるときにｎ−１番目の燃焼サイクルで内燃機関の急減速操作が行われたと判定する急減速判定手段と、急減速判定手段により内燃機関の急減速操作が行われなかったと判定され、かつスロットル開度検出手段により検出されているスロットル開度が設定値を超えているときに吸気管内圧力最大・最小値検出手段により新たに検出された吸気管内���力の最大値と大気圧予想値記憶手段に記憶されている大気圧予想値との平均値を新たな大気圧検出値として、大気圧検出値記憶手段の記憶内容を更新する大気圧検出値更新手段と、大気圧検出値記憶手段の記憶内容が更新されたときに燃焼サイクルカウンタの計数値を０にクリアする大気圧更新時燃焼サイクルカウンタリセット手段と、第３の判定値ΔＰbcが第３の設定値ΔＰb3以上であるとき及び第３の判定値ΔＰbcは第３の設定値ΔＰb3未満であるがスロットル開度が設定値以下であるときに燃焼サイクルカウンタの計数値を０にクリアする急減速時燃焼サイクルカウンタリセット手段とを具備した内燃機関制御用大気圧検出装置。
【図面の簡単な説明】
【０１０３】
【図１】本発明を適用する内燃機関制御装置のハードウェアの構成例を示した構成図である。
【図２】スロットルバルブが全閉に近い状態での内燃機関の吸気管内圧力の時間的な変化を、機関の行程変化及びパルサの出力信号波形とともに示したタイミングチャートである。
【図３】スロットルバルブの開度を図２の状態よりも大きくしたときの内燃機関の吸気管内圧力の時間的な変化を、機関の行程変化及びパルサの出力信号波形とともに示したタイミングチャートである。
【図４】スロットルバルブの開度を図３の状態よりも大きくしたときの内燃機関の吸気管内圧力の時間的な変化を、機関の行程変化及びパルサの出力信号波形とともに示したタイミングチャートである。
【図５】スロットルバルブの開度を図４の状態よりも大きくしてスロットルバルブをほぼ全開状態としたときの内燃機関の吸気管内圧力の時間的な変化を、機関の行程変化及びパルサの出力信号波形とともに示したタイミングチャートである。
【図６】大気圧更新条件が成立する燃焼サイクルの一つ前の燃焼サイクルで機関の急減速操作が行われた場合の内燃機関の吸気管内圧力の時間的な変化を、機関の行程変化及びパルサの出力信号波形とともに示したタイミングチャートである。
【図７】本発明の実施形態の基本的な構成を示したブロック図である。
【図８】本発明の更に具体的な実施形態の構成を示したブロック図である。
【図９】図８の実施形態において、吸気管内圧力をサンプリングする毎にＣＰＵが実行する割り込みルーチンのプログラムの一部の構成を示したフローチャートである。
【図１０】同プログラムの他の部分の構成を示したフローチャートである。
【図１１】同プログラムの更に他の部分の構成を示したフローチャートである。
【図１２】本発明の実施形態において、吸気管内圧力の最大値を大気圧の基礎検出値として、該基礎検出値に補正値を加算することにより大気圧の検出値を求める場合に実行される割り込みルーチンのプログラムの図１１に相当する部分の構成の一例を示したフローチャートである。
【図１３】本発明の他の実施形態の構成を示したブロック図である。
【図１４】図１３に示した実施形態において、吸気管内圧力をサンプリングする毎にＣＰＵが実行する割り込みルーチンのプログラムの図１１に相当する部分のアルゴリズムを示したフローチャートである。
【図１５】本発明が対象とする大気圧検出装置において、機関の急減速操作が行なわれたか否かの判定を行なわないとした場合に、吸気管内圧力をサンプリングする毎にＣＰＵが実行する割り込みルーチンのプログラムの図１１に相当する部分のアルゴリズムを示したフローチャートである。
【符号の説明】
【０１０４】
１  マイクロプロセッサ
２  インジェクタ
３  パルサ
６  吸気圧センサ
７  水温センサ
８  吸気温度センサ
２０  吸気管内圧力検出手段
２１  吸気管内圧力最大・最小値検出手段
２２  大気圧予想値記憶手段
２３  大気圧検出値記憶手段
２４Ａ  第１の判定値演算手段
２４Ｂ  第２の判定値演算手段
２４Ｃ  第３の判定値演算手段
２５  大気圧予想値更新手段
２６  燃焼サイクルカウンタ
２７  急減速判定手段
２８  大気圧検出値更新手段
２９  内燃機関制御装置
３１  燃焼サイクルカウンタ制御手段
３２  大気圧更新時燃焼サイクルカウンタリセット手段
３３  急減速時燃焼サイクルカウンタリセット手段
【図１】
0004548269.tif 000002
【図２】
0004548269.tif 000003
【図３】
0004548269.tif 000004
【図４】
0004548269.tif 000005
【図５】
0004548269.tif 000006
【図６】
0004548269.tif 000007
【図７】
0004548269.tif 000008
【図８】
0004548269.tif 000009
【図９】
0004548269.tif 000010
【図１０】
0004548269.tif 000011
【図１１】
0004548269.tif 000012
【図１２】
0004548269.tif 000013
【図１３】
0004548269.tif 000014
【図１４】
0004548269.tif 000015
【図１５】
0004548269.tif 000016