(57)【特許請求の範囲】
【請求項１】
吸入空気量に応じた時間間隔でパルス信号を出力するエアフローセンサを備えたエンジンの吸入空気量測定装置であって、
前記エアフローセンサからのパルス信号のエッジ間隔を順次周期として計測するとともに、計測された周期又はその逆数である周波数に基づいてエンジン制御に使用する吸入空気量を演算する第一の空気量演算手段と、
前記周波数もしくはそれから換算される吸入空気量に基づいて、それらが急変したと認識されたとき、及び／又は、前記周波数もしくはそれから換算される吸入空気量が予め定められた異常判定用しきい値を下まわるか上まわったとき、前記エアフローセンサに一時的な異常が発生したと判定する一時的異常判定手段と、
前記周波数とそれについて予め定められた故障判定用しきい値とに基づいて、前記エアフローセンサに故障が発生したか否かを判定する故障判定手段と、
前記一時的異常判定手段により前記エアフローセンサに一時的な異常が発生したと判定されてから、前記故障判定手段により前記エアフローセンサに故障が発生したと判定されるまでの間は、前記一時的な異常が発生したと判定されるより前の前記周期、周波数もしくは吸入空気量に基づいて、異常時用空気量を演算する第二の空気量演算手段と、
前記故障判定手段により前記エアフローセンサに故障が発生したと判定された後において、吸入空気量以外のエンジン負荷パラメータに基づいて、代替えとなる故障時用空気量を演算する第三の空気量演算手段と、を具備して構成されたエンジンの吸入空気量測定装置。
【請求項２】
前記一時的異常判定手段は、前記周波数もしくは吸入空気量の所定時間又は所定クランク角度当たりの変化量を求め、該変化量が予め定められたしきい値より大きくなったとき、前記周波数もしくは吸入空気量が急変したと認識するようにされていることを特徴とする請求項1に記載のエンジンの吸入空気量測定装置。
【請求項３】
前記異常判定用しきい値は、エンジン回転数、スロットル開度等の吸入空気量以外のエンジン負荷パラメータ、及び充填効率に基づいて設定されていることを特徴とする請求項１又は２に記載のエンジンの吸入空気量測定装置。
【請求項４】
前記第二の空気量演算手段は、前記一時的な異常が発生したと判定される直前の前記周期、周波数もしくは吸入空気量、あるいは、直前を含む所定期間内における前記周期、周波数もしくは吸入空気量に基づいて前記異常時用空気量を演算することを特徴とする請求項１から３のいずれかに記載のエンジンの吸入空気量測定装置。
【請求項５】
前記第二の空気量演算手段は、前記周波数もしくは吸入空気量について一次遅れ演算もしくは加重平均演算によるフィルタ処理を施すことによって前記異常時用空気量を求めることを特徴とする請求項１から４のいずれかに記載のエンジンの吸入空気量測定装置。
【請求項６】
前記第三の空気量演算手段は、エアフローセンサが故障したと判定された後、エンジン回転数、吸入空気量以外のエンジン負荷パラメータとしてのスロットル開度、及び充填効率を用いて、前記代替えとなる故障時用空気量を演算することを特徴とする請求項１から５のいずれかに記載のエンジンの吸入空気量測定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、吸入空気量に応じた時間間隔(周期)でパルス信号を出力するエアフローセンサを備えたエンジンの吸入空気量測定装置に関する。
【背景技術】
【０００２】
近年、特に車載用エンジンの分野では、燃費や排気エミッション特性等を向上させることが重要な課題となっており、そのため、アナログ式センサからの信号は、マイクロコンピュータを内蔵したコントロールユニットにおいてA/D変換し、デジタル演算処理によって、エンジンの主要な操作量である燃料噴射量(空燃比)や点火時期等の制御を行うことが一般的になっている。特に、吸入空気量は、吸気管圧力センサを用いて体積流量として間接的に検出する手法では要求される精度が出にくいため、質量流量を検出できるエアフローセンサを用い、さらにデジタル演算処理でその測定精度を高めることが望まれる。
【０００３】
前記エアフローセンサとしては、吸入空気量に応じたレベルの電圧を出力する電圧出力型のものが一般的であるが、最近は、前記のように高い測定精度が要求されることから、特許文献1、2等に見られるように、吸入空気量に応じた時間間隔(周期)で検出信号としてのパルス信号を出力するパルス出力型あるいは周波数出力型と呼ばれるエアフローセンサが普及しつつある。
【０００４】
このパルス(周波数)出力型と呼ばれるエアフローセンサを用いて吸入空気量を測定する場合、通常、該エアフローセンサから次々に到来するパルスの立ち上がりエッジ(もしくは立ち下がりエッジ)を検出し、各パルスの時間的間隔、詳しくは、先行パルスの立ち上がりエッジ(もしくは立ち下がりエッジ)が検出された時点から後行パルスの立ち上がりエッジ(もしくは立ち下がりエッジ)が検出された時点までの時間間隔(以下、パルスエッジ間隔、あるいは単にエッジ間隔と称す)を内蔵のタイマー機能で周期として計測し、この計測された周期を用いて燃料噴射制御等のエンジン制御に使用する吸入空気量を演算するようにされる。
【０００５】
また、前記周期を用いて吸入空気量を演算する場合、吸入空気量の演算タイミングは、所定サンプリング周期(期間)毎、あるいは、クランク軸の所定回転角度毎とされており、この演算タイミングの直前に求められた前記周期の値を吸入空気量に換算する場合と、前記サンプリング期間において前記周期を複数個を求め、それらの平均周期を算出し、この平均周期を吸入空気量に換算する場合とがある。
【０００６】
さらに、エアフローセンサ及びその配線系(以下、単にエアフローセンサと称すことがある)に故障が発生した場合には、エンジン制御に支障をきたすおそれがあるため、故障したか否かを判定し、故障したと判定される場合は運転席パネル上のランプを点灯あるいは点滅して運転者に警報を発することなどが特定の国では義務付けられており、そのため、例えば特許文献3に所載のように、エアフローセンサからの検出信号を予め設定されている異常判定用しきい値と比較して故障が発生したか否かを判定することなどが知られている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第3808038号公報
【特許文献２】特開平2-129522号公報
【特許文献３】特許第3483968号号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、エアフローセンサが電圧出力型の場合は、入力回路の時定数等を通した電圧値をAD変換して空気量に変換する方法がとられる。マイコンによる演算処理のため、所定の期間あるいはクランク角度に同期したデジタル的な検出処理として空気量が演算されるが、エアフローセンサの出力信号はアナログ的に連続性がある。
【０００９】
エアフローセンサ配線系において断線、バッテリー電圧VBへのショート等が発生した場合に、電圧出力型のエアフローセンサの出力は前述したように入力回路の時定数等により、一次遅れの出力として変化する。エアフローセンサに故障が発生したか否かは、電圧値が上下限しきい値を超えた状態が所定時間継続している場合に故障が発生したと判定するのが一般的である。
【００１０】
エアフローセンサの故障としては、その配線系を構成するコネクタ、ハーネスの瞬断や、外部ノイズの混入などによって発生する一時的なもの(一時的な異常と称す)と、回復する見込みのない真の故障とがあるが、エアフローセンサ故障判定に必要な前記故障判定用の所定時間(しきい値を超えている時間)は、エアフローセンサの故障が前記一時的な異常である場合は、誤判定を避けるためには、なるべく長い時間に設定することが好ましい。
【００１１】
それに対し、エアフローセンサの故障が真の故障である場合は、特に走行中あるいは車両停止中のアイドル状態において、最悪エンストに至るなどの運転性や走行時の安全性を損なう可能性があるため、故障と判定されたら即座にフェールセーフ動作に移行させることが要求されるので、できるだけ短い時間に設定することが好ましい。
【００１２】
このように、エアフローセンサの故障が一時的な異常である場合と真の故障である場合とでは、要求される故障判定時間の長さが相違するが、事の重要性を考えれば、真の故障をできるだけ早く見つけ出すことを最優先とすべきで、故障判定時間は可能な限り短く設定することが望ましい。
【００１３】
ここで、エアフローセンサが電圧出力型である場合は、断線又はショートが発生したときは、前述のように入力回路の時定数等により、一次遅れの出力となることで、判定時の信号が異常値であるものの吸入空気量として演算できるので、前記故障判定時間をエンストに至ることなくフェールセーフ動作に移行可能な時間に設定することも可能である。
【００１４】
一方、エアフローセンサがバルス(周波数)出力型である場合には、所定サンプリング期間におけるパルス数あるいはバルス信号のエッジ間隔(周期、周波数)を計測してそれを吸入空気量に換算する必要がある。
【００１５】
このパルス出力型のエアフローセンサにおいて断線、ショートが発生した場合は、入力回路の時定数等があっても、パルス信号のため、L(=0V)とH(=5V)に即座に信号が変化するため、電圧出力方式のような一次遅れの出力が殆ど存在せず、次のサンプリング期間で信号が極端な異常値を示すことになり、前記故障判定時間を可能な限り短くしても、エンストに至ってしまいフェールセーフ動作に移行させることができないという課題がある。
【００１６】
本発明は、上記事情に鑑みてなされたもので、その目的とするところは、吸入空気量に応じた時間間隔でパルス信号を出力するエアフローセンサに一時的な異常が発生したとき並びに真の故障が発生したとき、それを確実に検知し得て、即座に代替えとなる吸入空気量をできるだけ高精度に求めることのできるエンジンの吸入空気量測定装置を提供することにある。
【課題を解決するための手段】
【００１７】
上記目的を達成すべく、本発明に係るエンジンの吸入空気量測定装置は、エアフローセンサからのパルス信号のエッジ間隔を順次周期として計測するとともに、計測された周期又はその逆数である周波数に基づいてエンジン制御に使用する吸入空気量を演算する第一の空気量演算手段と、前記周波数もしくはそれから換算される吸入空気量に基づいて、それらが急変したと認識されたとき、及び／又は、前記周波数もしくはそれから換算される吸入空気量が予め定められた異常判定用しきい値を下まわるか上まわったとき、前記エアフローセンサに一時的な異常が発生したと判定する一時的異常判定手段と、前記周波数とそれについて予め定められた故障判定用しきい値とに基づいて、前記エアフローセンサに故障が発生したか否かを判定する故障判定手段と、前記一時的異常判定手段により前記エアフローセンサに一時的な異常が発生したと判定されてから、前記故障判定手段により前記エアフローセンサに故障が発生したと判定されるまでの間は、前記一時的な異常が発生したと判定されるより前の前記周期、周波数もしくは吸入空気量に基づいて、異常時用空気量を演算する第二の空気量演算手段と、前記故障判定手段により前記エアフローセンサに故障が発生したと判定された後において、スロットル開度等の吸入空気量以外のエンジン負荷パラメータとエンジン回転数とを用いて、代替えとなる故障時用空気量を演算する第三の空気量演算手段と、を具備して構成される。
【発明の効果】
【００１８】
本発明によれば、エアフローセンサに断線、バッテリ電圧(VB)へのショートなどの故障が発生した場合に、この故障を確実に検出することができるとともに、スロットル開度などの吸入空気量以外のエンジン負荷パラメータを用いて代替え吸入空気量を演算するようにされるので、エンストに至ることなくフェールセーフ動作に移行できる。
【００１９】
さらには、車両コネクタ、ハーネスの瞬断などによる一時的な異常が発生した場合でも第二の空気量演算手段により実際の吸入空気量に近い空気量を演算することができるので、エンジンの運転性、安定性を損なうことが無いようにできる。
上記した以外の、課題、構成、及び効果は、以下の実施形態により明らかにされる。
【図面の簡単な説明】
【００２０】
【図１】本発明に係る吸入空気量測定装置の一実施例を、それが適用された車載用エンジンと共に示す概略構成図。
【図２】図1に示されるコントロールユニットを含むエンジン制御系の説明に供される図。
【図３】エアフローセンサがパルス(周波数)出力型である場合の吸入空気量演算手法の一例の説明に供される機能ブロック図。
【図４】エアフローセンサが電圧出力型である場合の吸入空気量演算手法の一例の説明に供される図。
【図５】エアフローセンサの出力周波数及び周期と吸入空気量との関係を示す特性図。
【図６】本発明実施例のエアフローセンサ異常故障対策がとられた吸入空気量演算手法の一例の説明に供される機能ブロック図。
【図７】エアフローセンサ正常時の吸入空気量演算手法の一例の説明に供されるタイムチャート。
【図８】エアフローセンサ故障時の吸入空気量演算手法の一例の説明に供されるタイムチャート。
【図９】エアフローセンサ故障時における(A)エアフローセンサが電圧出力型である場合と(B)エアフローセンサがパルス(周波数)出力型である場合の比較説明に供されるタイムチャート。
【図１０】本発明実施例のエアフローセンサ異常故障対策がとられた吸入空気量演算例の説明に供されるタイムチャート。
【図１１】本発明実施例において、パルスエッジ間隔(周期)を求める際の処理手順の一例を示すフローチャート。
【図１２】本発明実施例において、吸入空気量を求める際の処理手順の一例を示すフローチャート。
【図１３】本発明実施例における故障が発生したか否かの判定に際して実行する処理手順の一例を示すフローチャート。
【図１４】本発明実施例における一時的な異常が発生したか否かの判定に際して実行する処理手順の一例を示すフローチャート。
【図１５】本発明実施例における故障時代替え空気量を求める処理手順の説明に供されるフローチャート。
【発明を実施するための形態】
【００２１】
以下、本発明の実施の形態を図面を参照しながら説明する。
図1は、本発明に係る吸入空気量測定装置の一実施例を、それが適用された車載用エンジンの一例と共に示す概略構成図である。
【００２２】
図1において、本実施例の吸入空気量測定装置が適用されたエンジン10は、例えば4つの気筒(#1、#2、#3、#4)を有するポート噴射式の多気筒エンジン(MPI式エンジン)であって、シリンダヘッド11a及びシリンダブロック11bからなるシリンダ11と、このシリンダ11の各気筒内に摺動自在に嵌挿されたピストン15と、を有し、ピストン15はコンロッド14を介してクランク軸13に連結されている。ピストン15上方には、所定形状の天井部を持つ燃焼室17が画成され、各気筒の燃焼室17には、点火コイル34から高電圧化された点火信号が供給される点火プラグ35が臨設されている。
【００２３】
燃料の燃焼に供せられる空気は、エアークリーナ22から、電制スロットル25が配在されたスロットルボディ26、コレクタ27、吸気マニホールド28、吸気ポート29等からなる吸気通路20を通り、下流端である吸気ポート29端部に配在された、吸気カム軸23により開閉駆動される吸気弁21を介して各気筒の燃焼室17に吸入される。そして、吸気通路20の下流部分である吸気マニホールド28には、各気筒毎に、吸気ポート29に向けて燃料を噴射する燃料噴射弁30が臨設されている。
【００２４】
燃焼室17に吸入された空気と燃料噴射弁30から噴射された燃料との混合気は、点火コイル34に接続された点火プラグ35による火花点火により燃焼せしめられ、その排気ガスは、燃焼室17から、排気カム軸24により開閉駆動される排気弁22を介して排気ポート、排気マニホールド、排気管等からなる排気通路40を通って外部の大気中に排出される。排気通路40には、排気浄化用の三元触媒60が配備され、該触媒60より上流側には、触媒前空燃比に対して線形の出力特性を持つリニヤ空燃比センサ51が配在され、触媒60より下流側には、触媒後空燃比がストイキ(理論空燃比)よりリッチ側かリーン側かを識別するためのスイッチング信号を出力するO2センサ52が配在されている。
【００２５】
また、各気筒毎に配備された燃料噴射弁30には、燃料タンク71内の燃料が燃料ポンプ72や燃圧レギュレータ73等を備えた燃料供給機構により所定燃圧に調圧されて供給され、燃料噴射弁30は、後述するコントロールユニット100から供給される、そのときの運転状態に応じたデューティ(=パルス幅=開弁時間に相当する)を持つ燃料噴射パルス信号により開弁駆動され、その開弁時間に応じた量の燃料を吸気ポート29に向けて噴射するようになっている。
【００２６】
一方、前記エンジン10の種々の制御、つまり、前記燃料噴射弁30による燃料噴射制御(空燃比制御)、前記点火プラグ35による点火時期制御等を行なうべく、マイクロコンピュータを内蔵するコントロールユニット100が備えられている。
【００２７】
コントロールユニット100は、基本的には、図2に示される如くに、そのハードウェア自体はよく知られているもので、CPU101、EP-ROM102、RAM103、A/D&D/A変換器等を含むI/OLSI105等で構成される。なお、本例では、CPU101、EP-ROM102、RAM103、I/OLSI105が別個に設けられているが、近年ではそれらが一つに纏められているものもあり、それを使用しても良いことはいうまでもない。
【００２８】
コントロールユニット100のI/OLSI105には、入力信号として、吸気通路20における電制スロットル25より上流側に配在された熱線式(後で詳述するが、ホットワイヤ式、熱式、熱抵抗式等とも呼ばれる)エアフローセンサ50により検出される吸入空気量に応じた信号、スロットルセンサ54により検出される電制スロットル25の開度に応じた信号、クランク軸13に添設されたクランク角センサ(回転数センサ)55から得られるクランク軸13の回転・位相(クランク角)をあらわすクランク角信号、排気カム軸24に添設されたカム角センサ56から得られるカム軸23の回転・位相をあらわすカム角信号、排気通路40に配在された空燃比センサ51、52からの排気空燃比に応じた信号、アクセルセンサ53からのアクセルペダル踏込量に応じた信号、シリンダブロック11bに配設された水温センサ58により検出されるエンジン冷却水温に応じた信号、吸気通路20に最上流部に配設された吸気温センサ59により検出される吸気温度に応じた信号、コントロールユニット100に付設された大気圧センサ57からの大気圧に応じた信号等が供給され、その他、エンジン10の運転、停止のメインスイッチであるイグニッションキー49からの信号等も供給され、さらに、図示はされていないが変速機のシフトポジションや車速等の情報も、車両コントロールユニットからユニット間通信によりもたらされる。
【００２９】
コントロールユニット100は、EP-ROM102に格納されているプログラムに従って、上記センサ類からの信号を入力として取り込み、所定の演算処理を実行し、エンジン10の運転状態を把握するとともに、この運転状態に基づき燃料噴射量、点火時期、スロットル開度等のエンジン10の主要な操作量を演算して、必要な制御信号を生成し、駆動回路を介してアクチュエータである燃料噴射弁30、点火コイル34、電制スロットル25等に所定のタイミングで供給して燃料噴射制御(空燃比制御)、点火時期制御、スロットル開度制御等を行う。
【００３０】
次に、前記熱線式エアフローセンサ50について説明する。
エアフローセンサ50は、測定対象である空気流の中に配置された熱線(発熱抵抗体)に流れる電流値が吸入空気量(質量流量)が多い程増え、逆に吸入空気量が少ないほど減るようにブリッジ回路が構成されており、流れる発熱抵抗電流より電圧信号として取り出される。吸入空気量に対応した電圧信号は、電圧周波数(VF変換回路)変換により、周波数に変換され、エアフローセンサ50からは空気量に応じて出力信号電圧の周期が変化する信号、言い換えれば、検出信号として吸入空気量に応じた時間間隔(周期)でパルス信号が出力されるようになっている。
【００３１】
図5(A)、(B)は、、エアフローセンサの出力周波数及び周期と吸入空気量との関係を示示す。
図示のように、吸入空気量が小さいと、出力信号の周波数は低く、吸入空気量が大きいと、出力信号の周波数は高くなり、その特性は非線形となる。なお、周波数と周期は逆数の関係にあるため、周期と吸入空気量との関係は、周波数と吸入空気量との関係の逆の特性になる。また、エンジンの要求空気量に合わせてセンサ出力を設定するため、周波数と吸入空気量あるいは周期と吸入空気量との関係が逆の特性の場合もあり、また、その特性が線形のケースもあるが、演算処理については変換テーブルが変わるだけである。
【００３２】
ここで、図示のような非線形特性の場合は、単位周期(周波数)当りの空気量の変化量が一律ではないため、例えば故障状態あるいは変化量をもとに制御しようとする際に、空気量に変換した値を使用するか、周期(周波数)を使用するかを考慮する必要がある。
【００３３】
コントロールユニット100は、エアフローセンサ50からのパルス信号を用いて吸入空気量を演算し、得られた吸入空気量を上記燃料噴射制御、点火時期制御、スロットル開度制御等に用いる。ここで、燃料噴射制御を例にとれば、コントロールユニット100は、図3に機能ブロックで示されているように、ブロック151、152においてエアフローセンサ50からのパルス信号のパルスエッジ間隔(周期Pt)を内蔵タイマで計測するとともに、その逆数(1/Pt)である周波数Fuを演算し、演算された周波数Fuを、周波数-空気量換算ブロック150のブロック153において、例えば後述の図5(A)に示される如くの関係で表される周波数-吸入空気量変換テーブルに照合して吸入空気量に換算し、換算された吸入空気量をブロック154において各種の制御に使用できるようにデジタルフィルタ処理にかけて吸入空気量Qを得、ブロック155においてこの吸入空気量Qと、ブロック156においてクランク角センサ55からのクランク角信号を用いて求められるエンジン回転数とに基づいて基本燃料噴射量を算出し、この基本燃料噴射量に、水温センサ58により検出されるエンジン冷却水温等に応じた補正量、空燃比センサ51、52からの信号に基づいて演算される排気空燃比に応じた補正係数等による補正を加えて燃料噴射量を演算し、この燃料噴射量に対応した燃料噴射パルス幅(デューティ)を持った駆動パルス信号Toutを生成して燃料噴射弁30に所定のタイミングで供給する。
【００３４】
同様にして、前記吸入空気量Qを、点火時期制御やスロットル開度制御等にも使用し、それらの演算結果をRAM103やEP-ROM102に保存する。
【００３５】
前記吸入空気量Qが燃料噴射制御等のエンジン制御に使用する吸入空気量であり、この吸入空気量Qを使用吸入空気量あるいは単に空気量Q(Qa、Qb、Qc・・・)と呼ぶことがある。
【００３６】
次に、本発明実施例のパルス(周波数)出力型の熱線式エアフローセンサ50の異常・故障関連処理の説明を行う前に、従来の電圧出力型のエアフローセンサを用いる場合の吸入空気量演算方法について図4を用いて説明する。
【００３７】
図4に示される従来例においては、コントロールユニット内部に入力処理回路として、C1、R1で示されるCRフィルタ回路を介して所定の一次遅れフィルタ効果により高周波ノイズがカットされた後、吸入空気量演算ブロック210のA/D変換ブロック211でAD変換され、変換された電圧相当値がVuとして取り込まれ、この電圧値Vuがデジタルフィルタブロック212にて吸入空気量に換算される。ブロック212以降は、図3のブロック155以降と同様である。
【００３８】
図7は、パルス(周波数)出力型のエアフローセンサ50の出力信号と周期演算タイミングの関係の説明に供される図である。
【００３９】
以下、図7中の流量計算タイミングである時点Taから時点Tdにおける、算出空気量QaからQdの演算方法を具体的に説明する。流量演算タイミングは所定のサンプリング間隔(Tsm)、例えば2ms毎に実行される。
【００４０】
まずタイマカウンタでは、エアフローセンサ50の出力であるパルス信号の立ち上がりエッジを検出し、その時点のタイマ値を保存する。
【００４１】
サンプリングタイミング(時点)Taにおいては、直前に演算されたタイマカウント値(周期Pt_an)を一度周波数Fu(=1/Pt_an)によりに変換した後、図5(A)示される如くの周波数-空気量変換テーブルにより流量単位に変換して空気量Qaを求める。
【００４２】
ここでは直前のパルス周期をもとにQを演算する例を示しているが、サンプリング間隔(期間Tsm)の間には複数のパルス周期が検出されるため、これらを平均処理してQを演算する手法もとられる。
【００４３】
同様に次のサンプリングタイミングTbでは直前に保存されているタイマカウント値Pt_b4を用いて空気量Qbを求め、以下同様にしてQc、Qd、・・・[Q(n)]を求める。
【００４４】
なお、上記した例では、周波数Fuを変換テーブルにより流量単位を持つ空気量QFoへ変換しているが、図5(B)のような周期-空気量変換テーブルにより、周期Pt_anを直接空気量へ変換するようにしても良い。
【００４５】
一方、図8は、図7に示される場合と同様な条件にて、断線によりエアフローセンサ50からの出力信号が時点I以降来なくなった場合の例を示す。
【００４６】
上記のような状態では、時点I以降はパルスが検出されないため、次のサンプリングタイミングTcにおけるタイマカウンタ(Pt_c3)は前回のサンプリングタイミングTbにおける空気量Qbより、極端に小さい空気量Qcとなり、さらに次のサンプリングタイミングTdにおける空気量Qdはほぼ0に等しい値となる。すなわち、断線が発生した場合は、最大でもサンプリング期間Tsmが2度(4ms)過ぎると空気量の極小値が検出されることになる。
【００４７】
図9(A)は従来の電圧出力型のエアフローセンサに断線が発生した場合、図9(B)は、パルス出力型のエアフローセンサに断線が発生した場合(異常・故障対策無し)を示し、それぞれの断線の発生時点をI'とIで示す。
【００４８】
まず、図9(A)の電圧出力型のエアフローセンサにおいて時点I'で断線が発生した場合、前述した図4の入力回路のC1,R1時定数により、センサからのAD変換取込み値はV1(V)から、Vuで示すような減衰をたどりV2(V)値に達する。このときの空気量演算値はQ1からQvに示す減衰をたどる。
【００４９】
故障が発生した否かは、センサ出力を故障判定用しきい値VL(V)[0(V)より大]と比較することにより行われ、センサ出力が故障判定用しきい値VL(V)を下まわった時点J'にて故障判定時間の計測が開始され、故障判定用しきい値VL(V)を下まわっている時間が判定用所定時間tDgに到達した時点K'で故障したと判定(確定)され、故障確定フラグfVDがセットされる。フェールセーフ制御への移行は、本フラグのセットをトリガとして実行されることになり、故障が確定するまでの間は、検出した空気量Qによって制御されるため、空気量Qvが極小量のQ2(ただし、0よりは多少大きい)に到達してしまい、エンジン回転数はN1からNvをたどりN2に低下する。時点K'でフェールセーフ制御に移行した場合に、Q2がある程度大きければ、N2からN3(破線)で示されているように回転数の復帰が可能であり、エンストなどの状態に達せず、復帰することができる。
【００５０】
一方、図9(B)に示されるパルス出力型のエアフローセンサにおいては、(a)のエアフローセンサからのパルス信号のエッジ間隔を周期として計測するとともに、(a')のように、計測された周期から周波数を求めるようにされる。この図9(B)のパルス出力型のエアフローセンサ50において何も異常・故障対策をしなかった場合には、時点Iで断線が発生したとすると、周波数はF1(Hz)からFuで示すような減衰をたどりF2(Hz)値に達する。このときの空気量演算値はQ1からQFoのように減衰する。
【００５１】
故障が発生した否かの判定は、周波数についての故障判定用しきい値FLs(Hz)に基づいて行われ、時点Jにて故障判定時間の計測が開始され、故障判定用しきい値FLs(Hz)を下まわっている時間が判定用所定時間tDgに到達した時点Kで故障したと判定(確定)され、故障確定フラグ(fFDs)がセットされる。フェールセーフ制御への移行は、本フラグのセットをトリガとして実行されることになり、故障が確定するまでの間は、検出した空気量(QFo)によって制御されるため、Qf2の空気量では既に極小値まで到達してしまい、エンジン回転数はN1からNfをたどりNf2ではエンスト状態に至ってしまう。時点Kでフェールセーフ制御に移行した場合に、エンストなどの状態から復帰することはできないため、再始動等の操作が必要になる。
【００５２】
次に、本発明実施例(エアフローセンサ50の異常・故障対策がなされている場合)を、図6及び図10を参照しながら説明する。
図6に機能ブロックで示されているように、エアフローセンサ50が正常である場合には、図3を用いて前述したように、エアフローセンサ50からのパルス信号のパルスエッジ間隔(周期Pt)を内蔵タイマで計測するとともに(図3のブロック151)、ブロック152でその逆数(1/Pt)である周波数Fuを演算し、演算された周波数Fuを、周波数-空気量換算ブロック150において、例えば図5(A)に示される如くの関係で表される周波数-吸入空気量変換テーブルに照合して吸入空気量に換算し、換算された吸入空気量を各種の制御に使用できるようにデジタルフィルタ処理にかけて吸入空気量Q(QFo)を得、ブロック155においてこの吸入空気量Q(QFo)とエンジン回転数とを用いてエンジンの運転状態に応じた燃料噴射量を演算し、この燃料噴射量に対応した燃料噴射パルス幅(デューティ)を持った駆動パルス信号Toutを生成して燃料噴射弁30に所定のタイミングで供給する。
【００５３】
上記に加えて、本実施例では、エアフローセンサ50に異常・故障が発生した場合の対策が次のように講じられている。
すなわち、一時的な故障(真の故障と区別するため、以下、一時的な異常と称す)が発生したか否かを判定する一時的異常判定手段320と、真の故障が発生したか否かを判定する故障判定手段370と、エアフローセンサ50に異常故障が発生していない正常時の吸入空気量（通常空気量と称することがある）QFoを演算する、前述した周期-周波数演算ブロック152及び周波数-空気量換算ブロック150などからなる第一の空気量演算手段140と、一時的な異常が発生した場合の異常時用空気量QFwを演算する第二の空気量演算手段330と、真の故障が発生した場合の代替えとなる吸入空気量(故障時用空気量)QFsを演算する第三の空気量演算手段350と、エアフローセンサ50に異常が発生したと判定された場合に、第一の空気量演算手段140により演算される正常時空気量QFoから第二の空気量演算手段330により演算される異常時用空気量QFwへの切り換えを行う異常時切換え手段335と、エアフローセンサ50に真の故障が発生したと判定(確定)された場合に、異常時切換え手段335からの空気量QFu(正常時空気量QFo又は異常時用空気量QFw)から第三の空気量演算手段350により演算される故障時用空気量QFsへの切り換えを行う故障時切換え手段345と、を備える。
【００５４】
前記一時的異常判定手段320は、周期-周波数演算ブロック152で演算された周波数Fuと周波数-空気量換算ブロック150で演算された空気量QFoとに基づいてエアフローセンサ50に異常が発生したか否かを判定する(詳細は後述)。
【００５５】
前記故障判定手段370は、周期-周波数演算ブロック152で演算された周波数Fuに基づいてエアフローセンサ50に故障が発生したか否かを判定(確定)する。
【００５６】
前記第二の空気量演算手段330は、周期-周波数演算ブロック152で演算された周波数Fuと周波数-空気量換算ブロック150で演算された直前の空気量QFoとに基づいて異常時用空気量QFwを演算する。
【００５７】
一時的異常判定手段320は、前記周波数Fu又は空気量QFoが急変したか否かを判定する急変判定手段321と、前記周波数Fu又は空気量QFoと予め設定された異常判定用しきい値とを比較する異常時用しきい値比較手段322を有し、それらの少なくとも一方によってエアフローセンサ50に異常が発生したと判定されたとき、異常時切換え手段335において、第一の空気量演算手段140により演算される通常空気量QFoから第二の空気量演算手段330により演算される異常時用空気量QFwへの切り換えを行う。
【００５８】
このように、一時的異常判定手段320により一時的な異常が発生したと判定されてから、故障判定手段370によりエアフローセンサ50に故障が発生したと判定(確定)されるまでの間は、異常時切換え手段335において、異常時用空気量QFwが空気量Qとして使用される。
【００５９】
また、故障判定手段370によりエアフローセンサ50が故障したと判定されて確定した場合には、故障時切換え手段345において、異常時切換え手段335からの空気量QFu(正常時空気量QFo又は異常時用空気量QFw)から第三の空気量演算手段350により演算される故障時用空気量QFsへの切り換えを行う。
【００６０】
図10は、パルス出力型のエアフローセンサ50を用いた場合において、図6を用いて説明した如くの異常故障対策がとられた場合を実線で示し、前述した図9(B)と同様に異常故障対策がとられていない場合において断線あるいはVBショート等の故障が発生した場合を破線で示したものである。
【００６１】
パルス(周波数)出力型のエアフローセンサ50では、信号線がVBショートした場合もパルス信号が無くなるので、判定方法としては断線のケースと同様になる。
【００６２】
本発明実施例では、周波数、空気量が時点Iから判定用しきい値FLs(Hz)、QLsに達するまでの間に所定時間毎に、前回値との差分の絶対値をとり、|dF/dt|=(Fu-Fu[old])、または|dQ/dt|=(QFo-QFo[old])を『急変判定用』として演算する([old]:前回値)。
【００６３】
一方で、異常時用空気量QFwとして、所定時間毎に(1)式に示される一次遅れのデジタルフィルタが施された値を演算する。ここで、ゲインGは小さい値すなわち減衰時間を長くなるような値としておくと良い。
【００６４】
【数１】
0005654514.tif 000002
【００６５】
【数２】
0005654514.tif 000003
【００６６】
また、他の手段としては、サンプリング周期毎に(2)式で示される如くの平均値、あるいは、サンプリング周期(例えば2ms)より長い時間(例えば20ms)で、最新値あるいは上記の(1)式フィルタ演算結果や(2)式平均値を更新して保存していくような方法がとられる。
これらの演算は常時行われ、一旦、一時的な異常と判定された後は、新たな更新をやめ、正常範囲となるまでは直前の値が保持される。
【００６７】
次に、時点Iにおいては、所定の演算周期毎に、周波数には『故障が確定』したか否かを判定するLow側の故障判定用しきい値FLsが固定値、あるいはテーブル設定値から設定されており、また、空気量Qには、『一時的な異常』が発生したか否かを判定するLow側の異常判定用しきい値QLsと、『急変判定用』のしきい値dQLsが予め設定され、これらは、エンジン回転数とスロットル開度のような吸入空気量以外のエンジン負荷を表わすパラメータ及び充填効率に応じて予め設定されているマップ値あるいはテーブル値から検索して設定されている。
【００６８】
ここで、『一時的な異常』が発生したか否かを判定する異常判定用しきい値QLsは、空気量Qではなく周波数について、『故障確定』用の故障判定用しきい値とは別に(『故障確定』用しきい値より高いレベルの異常判定用しきい値FLs‘に)設定しても良く、この場合、急変時に空気量Q換算値が非線形であることから、空気量Qよりも周波数によってより早く『一時的な異常』が発生したことを検出できるケースもある。また、『急変判定用』のしきい値dQLsは、通常の運転状態では有り得ない単位時間当たりの空気量変化量が設定される。
【００６９】
上記により、時点Iにて断線が発生すると、周波数はF1(Hz)からFuで示すような減衰をたどりF2(Hz)値に達する。このときの空気量演算値は破線で示したQ1からQFoの減衰をたどる。
【００７０】
このとき、急変判定用の|dQ/dt|はdQf_aに示すピーク値をとり、判定しきい値dQLsを超えたときに〔1〕『急変を認識』し、〔2〕『一時的異常』判定用のしきい値QLsを下まわったときに『一時的な異常と認識』する。
『一時的な異常』が発生したか否かは、下記(i)、(ii)のいずれかを満たしたか否かで判定する。
(ｉ)  :上記〔1〕または〔2〕が成立したとき
(ii)  :上記〔1〕かつ〔2〕が成立したとき
【００７１】
前者(i)は、空気量特性が非線形である場合に、スロットル全開などの比較的空気量の大きい領域では|dQ/dt|により通常有り得る最速の変化量より大きい値として、通常では有り得ない値を設定しておくことができるため、速く検出したい場合に有利である。
【００７２】
後者(ii)は、一時的な異常判定の確実性を高めていること意味しており、急変成立の誤判定を避ける効果があるが、その分検出が送れる可能性があるため、実際の運転性への影響を考慮して選択すれば良い。
【００７３】
以上により、周波数が故障判定用しきい値FLs(Hz))を下まわる時点より早く、『一時的な異常』が発生したか否かを判定することができるため、判定した時点で上記の第二の空気量演算手段330による異常時用空気量QFw演算へ移行することができる。
【００７４】
第二の空気量演算手段330により演算される異常時用空気量QFwは、図10(d)に示されるように、式(1)のデジタルフィルタではQFw〔1〕、式(2)ではQFw〔2〕のような値となり、一時的な異常が発生しても直前の値に基づいた、さほど減量されていない空気量に演算される。
【００７５】
上記異常時用空気量QFwを用いた制御中も、断線、VBショート状態が続いていると、『故障確定』用のLow側のしきい値FLsに達した時点Jにて故障判定時間の計測を開始し、故障判定用しきい値FLs(Hz)を下まわっている時間が判定用所定時間tDgに到達した時点Kで故障したと判定(確定)され、故障確定フラグ(fFDs)がセットされる。この時点Kで第三の空気量演算手段350による故障時用空気量演算へ移行し、時点KにおけるQf2_a1、あるいはQf2_a2から故障時用空気量QFsを用いた制御を行う。
【００７６】
以上により、従来制御ではQf2の空気量では既に極小値まで到達してしまい、エンジン回転数はN1からNfをたどりNf2ではエンスト状態に至ってしまったものが、時点Kでフェールセーフ制御に移行することができるので、エンジン回転数が0に近いN2f_aまで低下してしまうような事態を回避でき、時点K以降は回転数を復帰して維持できるため、エンストなどの状態に至るのを確実に防止することができる。
【００７７】
次に、コントロールユニット100が吸入空気量を演算する際(正常時並びに異常・故障発生時)に実行するプログラム(処理手順)の一例を、図11から図14のフローチャートを参照しながら説明する。
【００７８】
図11は、エアフローセンサ50から検出される周波数信号の立ち上りまたは立下りパルスエッジ毎に起動する処理を示したもので、一般的には割込み演算処理として起動するほか、マイコンの機能として同様の処理を有するものもある。
【００７９】
まず、ステップ510にてエッジが検出されると、ステップ520でタイマ機能にて計測しているカウント値Pt(n)をラッチする。次にステップ530では前回のエッジ検出時に記憶したPt(n-1)との差をとり、Ptを演算する。これが最新の周波数情報となる。
【００８０】
図12は、サンプリング周期、たとえばプログラムの演算JOB周期の2msなどで繰り返し実行される各演算手段について示したもので、ステップ1000において、前述した図11に示される如くの処理手順で周期Ptを演算し、次のステップ1010において、1/Ptの除算相当による演算を行い、各パルス毎の周波数Fuを演算する。
【００８１】
ステップ1020では、演算された周波数Fuから、図3のブロック150に示される如くの周波数-空気量変換テーブルによりQFoを演算する。
【００８２】
次のステップ1030では、演算されたQFoまたはFuと前回値からの差分量dQ/dt、dF/dtを演算し、ステップ1040では、前述した式(1)または式(2)等により、異常時用空気量QFwを演算する。
【００８３】
ステップ1050では故障判定処理、ステップ1060では一時的な異常(図13、図14に示す)判定処理を行い、ステップ1100に進み、故障と判定(確定)されているか否かを判断する。故障と判定(確定)されている場合はステップ1110へ進み、故障時用空気量QFsを空気量Qとして設定した上で、本ルーチンを終了する。
【００８４】
ステップ1100で故障と確定されていないと判断された場合は、ステップ1200へ進み、一時的な異常か否かを判断する。一時的な異常と判定された場合は、ステップ1210において、異常時用空気量QFwを空気量Qとして設定して、本ルーチンを終了する。
【００８５】
ステップ1200で一時的な異常ではない、つまり正常であると判定された場合は、ステップ1300へ進み、通常空気量QFoを、そのまま空気量Qに設定して本ルーチンを終了する。
【００８６】
ここで、図12のステップ1050の故障判定処理(M)を図13を用いて、また、ステップ1060の一時的異常判定処理(R)を図14を用いて、詳しく説明する。
【００８７】
図13に示される故障判定処理(M)は、ステップ2000において、周波数FuをLow側の故障判定用しきい値FLsと比較する。FuがFLsより大きい場合はステップ2100に進み、OKタイマカウント値をチェックし、OKカウントタイマが所定時間tDokより大きい、すなわち、時点Iからの経過時間が所定時間tDokより長ければステップ2220へ進み、故障確定フラグfFDgとNGタイマtDgをクリアし、RETURNして、図12のステップ1060へ進む。
【００８８】
ステップ2100で時点Iからの経過時間が所定時間tDokに達していなければステップ2220でOKカウントタイマをカウントアップし、RETURNする。
【００８９】
ステップ2000で“YES"すなわち周波数Fuが故障判定用FLsより小さい場合はステップ2110に進み、NGタイマカウント値をチェックし、NGタイマがtDgより大きい、すなわち時点Jからの経過時間が故障判定用所定時間tDokより長ければステップ2130へ進み、故障確定フラグfFDgをセット、ステップ2140でOKタイマ(tDok)をクリアし、RETURNして図12のステップ1060へ進む。ステップ2110で経過時間が所定時間tDgに達してなければステップ2120でNGカウントタイマをカウントアップし、RETURNする。
【００９０】
図14に示される一時的異常判定処理(R)は、(a)と(b)の二つの手法があり、(a)の手法では、ステップ3000において、『急変成立』を判定するためのしきい値(dFLs、またはdQLs)と比較する。Noすなわちしきい値より小さい場合はステップ3100に進み、さらに急変判定用のLow側のしきい値QLsと比較し、Noすなわち正常状態であれば、ステップ3200へ進む。
【００９１】
ステップ3000でしきい値より大きい場合はステップ3300へ進み、一時的異常フラグ(fdgck)をセットし、RETURNして図12のステップ1100へ進む。
【００９２】
ステップ3100ではQFnの絶対レベルが比較され、小さい場合すなわち常用範囲外であるときはステップ3300へ進み、一時的異常フラグ(fdgck)をセットし、RETURNして図12のステップ1100へ進む。
【００９３】
ステップ3200では周波数Fuの絶対レベルが正常範囲内にあるか否かを判断し、正常範囲内にあればステップ3400で一時的異常フラグfdgckをクリアしてRETURNする。
【００９４】
ステップ3200で正常範囲に無い場合はRETURNする。すなわち、一旦ステップ3300で一時的異常がセットされた場合は、周波数(Fu)が正常範囲に戻らない限りは判定が保持される。この目的は例えば一時的な瞬断が発生した場合にも、一時的異常と判定することで、一旦異常時用空気量QFwに移行し、正常範囲にもどれば、通常空気量QFoにもどるようにすることで、運転性の悪化を防止することができる。
【００９５】
また、図14(b)は、一時的異常判定をステップ3000の急変判定が成立、かつ、テップ3100‘でQFnの絶対レベルが常用範囲外であるときにステップ3300'で一時的異常が成立としたものである。本処理では一時的異常判定の確実性を高めていること意味しており、急変判定の誤判定を避ける効果があるがその分検出が送れる可能性がある。また、Low側のしきい値QLsに達しない場合には一時的な異常とは判定せず、検出される空気量QFoで演算するため、例えばマニュアルトランスミッションのクラッチ操作による回転数の落込みで空気量が急激に減少した場合などに急変判定の誤判定する可能性を防止できるなどの効果もある。
以上図14(a)か(b)いずれをとるかは実際の車両の運転性への影響を考慮して判定手段を選択すれば良い。  
【００９６】
一方、図15に示される如くに、上記演算タイミングとは別に、たとえばプログラムの演算JOB周期の10msなどで繰り返し実行されるタイミングで、故障時用空気量QFsがエンジン回転数とスロットル開度(等の吸入空気量以外のエンジン負荷パラメータ及び充填効率等)に基づいて演算される。
【００９７】
以上により、一時的な異常が発生した際や故障が発生した際にフェールセーフ動作への移行において、吸入空気量Qの演算が、エンジン及び車両の運転性を損なわないように実現できる。
【符号の説明】
【００９８】
10      エンジン
11      シリンダ
20      吸気通路
25      電制スロットル
30      燃料噴射弁
34      点火コイル
35      点火プラグ
50      熱線式エアフローセンサ
55      クランク角センサ
100      コントロールユニット
【図１】
0005654514.tif 000004
【図２】
0005654514.tif 000005
【図３】
0005654514.tif 000006
【図４】
0005654514.tif 000007
【図５】
0005654514.tif 000008
【図６】
0005654514.tif 000009
【図７】
0005654514.tif 000010
【図８】
0005654514.tif 000011
【図９】
0005654514.tif 000012
【図１０】
0005654514.tif 000013
【図１１】
0005654514.tif 000014
【図１２】
0005654514.tif 000015
【図１３】
0005654514.tif 000016
【図１４】
0005654514.tif 000017
【図１５】
0005654514.tif 000018