次に図面を参照してこの発明の実施の形態を説明する。図1は、この発明の実施形態に従う、内燃機関(以下、エンジンと呼ぶ)およびその制御装置の全体的な構成図である。
電子制御ユニット(以下、「ECU」)という)1は、車両の各部から送られてくるデータを受け入れる入力インターフェース1a、車両の各部の制御を行うための演算を実行するCPU1b、読み取り専用メモリ(ROM)およびランダムアクセスメモリ(RAM)を有するメモリ1c、および車両の各部に制御信号を送る出力インターフェース1dを備えている。メモリ1cのROMには、車両の各部の制御を行うためのプログラムおよび各種のデータが格納されている。この発明に従う筒内圧センサの故障を検出するためのプログラムは、該ROMに格納される。ROMは、EPROMのような書き換え可能なROMでもよい。RAMには、CPU1bによる演算のための作業領域が設けられる。車両の各部から送られてくるデータおよび車両の各部に送り出す制御信号は、RAMに一時的に記憶される。
エンジン2は、たとえば4サイクルのエンジンである。エンジン2は、可変圧縮比機構を備えたものでもよい。
エンジン2は、吸気弁3を介して吸気管4に連結され、排気弁5を介して排気管6に連結されている。吸気弁3および排気弁5は、連続可変動弁系でもよい。ECU1からの制御信号に従って燃料を噴射する燃料噴射弁7が、吸気管4に設けられている。代替的に、燃料噴射弁7は、燃焼室8に設けられてもよい。
エンジン2は、吸気管4から吸入される空気と、燃料噴射弁7から噴射される燃料との混合気を、燃焼室8に吸入する。燃料室8には、ECU1からの点火時期信号に従って火花を飛ばす点火プラグ9が設けられている。点火プラグ9によって発せられた火花により、混合気は燃焼する。
筒内圧センサ15は、点火プラグ9のシリンダに接する部分に埋没されている。代替的に、燃料噴射弁7が燃焼室8に設けられる場合には、筒内圧センサ15を、該燃料噴射弁7のシリンダに接する部分に埋没させてもよい。筒内圧センサ15は、燃焼室8内の筒内圧の変化率に応じた信号を生成し、それを、ECU1に送る。
エンジン2には、クランク角センサ17が設けられている。クランク角センサ17は、クランクシャフト11の回転に伴い、パルス信号であるCRK信号およびTDC信号をECU1に出力する。
CRK信号は、所定のクランク角で出力されるパルス信号である。ECU1は、該CRK信号に応じ、エンジン2の回転数NEを算出する。TDC信号は、ピストン10のTDC位置に関連したクランク角度で出力されるパルス信号である。
エンジン2の吸気管4には、スロットル弁18が設けられている。スロットル弁18の開度は、ECU1からの制御信号により制御される。スロットル弁18に連結されたスロットル弁開度センサ(θTH)19は、スロットル弁18の開度に応じた信号を、ECU1に供給する。
吸気管圧力(Pb)センサ20は、スロットル弁18の下流側に設けられている。PBセンサ20によって検出された吸気管圧力PBはECU1に送られる。
エンジン水温(TW)センサ21は、エンジン2のシリンダブロックの冷却水が充満した気筒周壁(図示せず)に取り付けられ、エンジン冷却水の温度TWを検出し、それをECU1に送る。
ECU1に向けて送られた信号は入力インターフェース1aに渡され、アナログデジタル(A/D)変換される。CPU1bは、該デジタル信号を、メモリ1cに格納されているプログラムに従って処理し、車両のアクチュエータに送るための制御信号を作り出す。出力インターフェース1dは、これらの制御信号を、燃料噴射弁7、点火プラグ9、スロットル弁18、およびその他の機械要素のアクチュエータに送る。
図2は、筒内圧センサ15の取り付けの一例を示す図である。シリンダヘッド21のねじ孔22に点火プラグ9がねじ込まれている。シリンダヘッド21の点火プラグの取り付け座面23と、点火プラグ座金部24との間に、筒内圧センサのセンサ素子部25が、ワッシャ26と共に挟み込まれている。センサ素子部25は、圧電素子からなる。
センサ素子部25は、点火プラグ9の座金として締め付けられるので、該センサ素子部25には、所定の締め付け荷重(初期荷重)が与えられる。燃焼室8内の圧力が変化すると、該センサ素子部25に印加される荷重が変化する。筒内圧センサ15は、該所定の締め付け荷重に対する荷重の変化を、筒内圧の変化として検出する。該筒内圧の変化を積分することにより、筒内圧が求められる。
圧電素子を用いた場合、一般に、筒内圧の変化と、筒内圧センサの出力との間の関係に、ヒステリシス特性が存在する。また、圧電素子の温度上昇に伴って、筒内圧センサの出力も上昇する。このような筒内圧センサを内燃機関に搭載すると、内燃機関から発生する熱に依存して、筒内圧センサの出力にバラツキが生じる。その結果、積分により得られる筒内圧の波形に、“ずれ”すなわちドリフトが生じるおそれがある。
一例を示すと、図3の(a)は、筒内圧センサ15の出力、すなわち筒内圧の変化率Vpsが示されている。
筒内圧を算出するため、式(1)に示されるように、筒内圧センサの出力Vpsを積分する。
図3の(b)および(c)は、積分により得られる筒内圧Pcylの波形を示す。図3の(b)は、ドリフトが現れていない筒内圧Pcylの例であり、図3の(c)は、ライン200に示すようなドリフトが現れている筒内圧Pcylの例である。
このようなドリフトの大きさは、温度だけではなく、筒内圧センサがどの程度劣化しているかに依存して変化することが知られている。筒内圧センサの劣化の程度が大きくなるにつれ、該ドリフトの大きさも大きくなる。本願の発明者は、この知見に着目し、筒内圧センサの故障を検出するいくつかの手法を提案する。
図4は、本願発明の第1の実施例に従う、筒内圧センサの故障を判定する装置のブロック図である。これらの機能ブロックは、典型的には、ECU1に記憶されたコンピュータプログラムにより実現される。代替的に、ハードウェア、ソフトウェア、ファームウェアおよびこれらの組み合わせにより、これらの機能を実現してもよい(以下のブロック図についても同様である)。
筒内圧センサ15の出力は、アナログデジタル変換され、Vpsとして筒内圧センサの故障判定装置に入力される。該アナログデジタル変換は、1燃焼サイクルよりも短い時間間隔Tkで行われる。積分装置31は、上記の式(1)に従い、筒内圧センサ15の出力を積分して、筒内圧Pcylを算出する。該積分操作は、好ましくは、筒内圧センサの出力をアナログデジタル変換する周期Tkに同期して行われる。
ドリフトパラメータ算出部32は、1燃焼サイクル中における筒内圧のドリフトの大きさを表すドリフトパラメータを算出する。この実施例では、ドリフトパラメータとして、1燃焼サイクル中における筒内圧のドリフト量Pdftを逐次的に統計処理した値Pdftaveを用いる。故障検出部33は、ドリフトパラメータPdftaveに基づいて、筒内圧センサ15が故障しているかどうかを判断する。
図5は、第1の実施例に従う筒内圧センサの故障を検出するプロセスのフローチャートである。該プロセスは、1燃焼サイクルにつき1回実行される。好ましくは、筒内圧が大気圧付近にまで低下し、かつ安定している排気行程中に実行される。一実施例では、1燃焼サイクルは、クランク角度720度に相当する。
ステップS1において、筒内圧のドリフトパラメータを算出するルーチン(たとえば、図7)により算出されたドリフトパラメータPdftaveを取得する。ステップS2において、ドリフトパラメータPdftaveが、上限値(たとえば、2mV)および下限値(たとえば、−2mV)により規定される所定範囲内にあるかどうかを調べる。ドリフトパラメータPdftaveが該所定範囲内になければ、筒内圧センサが故障している可能性があると判断し、フラグFsk_PcylにNGを設定する(S3)。ドリフトパラメータPdftaveが該所定範囲内にあれば、筒内圧センサは正常であると判断し、フラグFsk_PcylにOKを設定する(S4)。
図6は、筒内圧センサが故障しているかどうかを最終的に判定するプロセスのフローチャートである。該プロセスは、所定の時間間隔(たとえば、10ミリ秒)で実施される。
ステップS7において、フラグFsk_Pcylの値NGへの設定が、所定時間(たとえば、500ミリ秒)にわたって継続したかどうかを判断する。ステップS7の判断がYesならば、筒内圧センサが故障していると判定する(S8)。このような判断により、より正確に、筒内圧センサの故障を判定することができる。
代替的に、図5に示されるステップS3において、フラグFsk_Pcylが値NGに設定されることに応じて、筒内圧センサが故障していると判定してもよい。
図7は、ドリフトパラメータを算出するプロセスのフローチャートを示す。該プロセスは、1燃焼サイクルにつき1回実行される。好ましくは、筒内圧が大気圧付近にまで低下し、かつ安定している排気行程中に実行される。
ステップS11において、積分装置31により算出された筒内圧Pcylを取得する。ステップS12において、筒内圧の今回値Pcylから、前回値Pcyl1を減算して、筒内圧のドリフト量Pdftを算出する。該ドリフト量Pdftは、1燃焼サイクル中のドリフトの量を表す。前述したように、該プロセスが排気行程中に実行されるので、筒内圧Pcylが、大気圧付近まで確実に低下し、かつ安定しているタイミングでサンプリングされ、よって、ドリフト量Pdftを正確に算出することができる。ステップS13において、筒内圧の今回値Pcylを、前回値Pcyl1にシフトする。
ステップS14において、式(2)に従い、係数Kpdriftを算出する。Pdriftは、後述するステップS16で算出される可変ゲインであり、初期値はゼロに設定される。
Kpdrift=Pdrift/(1+Pdrift) (2)
ステップS15において、式(3)に従って、ドリフト量を統計処理した値Pdftaveを算出する。
Pdftave=Pdftave
+Kpdrift×(Pdft−Pdftave) (3)
こうして、統計処理値Pdftaveが、その時点におけるドリフト量Pdftとの偏差(Pdft−Pdftave)が最小になるように、逐次的に算出される。
ステップS16において、可変ゲインPdriftを式(4)に従って算出する。Avewは、固定の重みパラメータ(たとえば、0.991)である。
Pdrift=Pdrift/Avew
+(1−Pdrift/(Avew+Pdrift)) (4)
こうして、燃焼サイクルごとに、筒内圧のドリフト量Pdftおよびドリフトパラメータ(統計処理値)Pdftaveが算出される。
ノイズの影響および内燃機関の運転状態の影響により、筒内圧センサの出力にはバラツキが生じることがある。逐次的に統計処理した値Pdftaveを用いることにより、このバラツキに起因する故障検出への影響を最小にすることができる。
しかしながら、代替の実施形態では、ドリフトパラメータとして、ドリフト量Pdftを用いて故障判定を実施してもよい。たとえば、ドリフト量Pdftが所定範囲内にないとき、フラグFsk_Pcylに値NGを設定することができる。
図8は、本願発明の第2の実施例に従う、筒内圧センサの故障を判定する装置のブロック図である。第1の実施例と異なる点は、ドリフト量だけでなく、筒内圧の挙動をも考慮して、筒内圧センサの故障を検出することである。
積分装置31およびドリフトパラメータ算出部32は、第1の実施例の図4に示されるものと同じである。最大値算出部44は、1燃焼サイクル中における筒内圧Pcylの最大値PcylMaxを求める。故障検出部43は、筒内圧の最大値PcylMaxに従って、筒内圧センサの故障を判定するための所定範囲を設定する。故障検出部43は、ドリフトパラメータPdftaveが、該所定範囲内にあるかどうかに従い、筒内圧センサの故障を検出する。
筒内圧のドリフトの量は、筒内圧の挙動に応じて変化する。第2の実施例によれば、筒内圧センサの故障を判定するための所定範囲が、筒内圧の挙動に応じて設定されるので、筒内圧センサの故障を、より正確に検出することができる。
図9は、第2の実施例に従う筒内圧センサの故障を検出するプロセスのフローチャートである。該プロセスは、たとえば、燃焼サイクルごと、好ましくは排気工程中に実施される。一実施例では、1燃焼サイクルは、クランク角度720度に相当する。
ステップS21において、筒内圧のドリフトパラメータを算出するルーチン(たとえば、図7)により算出されたドリフトパラメータPdftaveを取得する。ステップS22において、今回の燃焼サイクル中における筒内圧の最大値PcylMaxを求める。ステップS23において、筒内圧の最大値PcylMaxに応じて、所定範囲の上限値および下限値を設定する。
該所定範囲の設定の一例を、図10に示す。筒内圧の最大値PcylMaxが100kPaより小さいとき、上限値および下限値は、それぞれ1mVおよび−1mVに設定される。筒内圧の最大値PcylMaxが100kPaより大きいときは、該最大値PcylMaxが大きくなるにつれ、上限値および下限値の絶対値も大きくなるよう設定される。これは、筒内圧センサが故障しているとき、筒内圧の変動が大きいほど、ドリフトの変動も大きくなるからである。
図9に戻り、ステップS24において、ドリフトパラメータPdftaveが、ステップS23で設定された上限値および下限値により規定される所定範囲内かどうかを調べる。ドリフトパラメータPdftaveが該所定範囲内になければ、筒内圧センサが故障している可能性があると判断し、フラグFsk_PcylにNGを設定する(S25)。ドリフトパラメータPdftaveが該所定範囲内にあれば、筒内圧センサは正常であると判断し、フラグFsk_PcylにOKを設定する(S26)。
第1の実施例に従う、図6に示される故障判定プロセスは、第2の実施例にも同様に適用される。また、第1の実施例と同様に、ドリフトパラメータとして、統計処理値Pdftaveの代わりに、ドリフト量Pdftを用いてもよい。
第2の実施例において、筒内圧の最大値PcylMaxの代わりに、筒内圧Pcylの変動の大きさを表す他のパラメータを用いてもよい。例えば、図示平均有効圧を用いてもよい。図示平均有効圧は、当業者には周知のパラメータである。エンジンの燃焼工程に従い、筒内圧は変化する。吸気行程が開始すると、吸気弁が開くので、筒内圧は下がる。圧縮行程においては、筒内圧は増加する。混合気が燃焼すると、筒内圧は急激に増加する。ピストンが押し下げられ、筒内圧は減少を開始する。排気工程に入ると、排気弁が開くので、筒内圧はさらに減少する。式(5)に示されるように、図示有効平均圧は、典型的には、筒内圧の変化率ΔPcylを1燃焼サイクルにわたって積分した値を、エンジンの全工程容積Vで割ることにより、算出されることができる。
図11は、本願発明の第3の実施例に従う、筒内圧センサの故障を判定する装置のブロック図である。
筒内圧のドリフトの量は、エンジンの運転状態に応じて変動するおそれがある。第3の実施例によれば、エンジンの運転状態に応じてドリフトパラメータを補正するので、ドリフトパラメータに対する運転状態の影響を抑制することができ、よって、筒内圧センサの故障をより正確に検出することができる。
積分装置31およびドリフトパラメータ算出部32は、第1の実施例の図4に示されるものと同じである。運転状態検出部53は、吸気管圧力センサ20(図1)により検出された吸気管圧力PBに基づいて、補正係数KLOADを算出する。吸気管圧力PBは、エンジンの負荷を表している。
補正部54は、ドリフトパラメータPdftaveを、補正係数KLOADを用いて補正する。故障検出部55は、補正済みドリフトパラメータPdftave’が所定範囲内にあるかどうかに従い、筒内圧センサの故障を検出する。
図12は、第3の実施例に従う筒内圧センサの故障を検出するプロセスのフローチャートである。該プロセスは、たとえば、燃焼サイクルごと、好ましくは排気工程中に実施される。一実施例では、1燃焼サイクルは、クランク角度720度に相当する。
ステップS31において、筒内圧のドリフトパラメータを算出するルーチン(たとえば、図7)により算出されたドリフトパラメータPdftaveを取得する。ステップS32において、吸気管圧力センサにより検出された吸気管圧力PBに基づいて、所定のマップを参照し、補正係数KLOADを求める。
図13に、該所定のマップの一例を示す。エンジン負荷が高くなるに従って、すなわち吸気管圧力PBが大きくなるに従って、エンジン温度が上昇する。エンジン温度が上昇すると、筒内圧センサが正常であってもドリフトの量が増加する傾向がある。したがって、エンジン負荷が大きくなるほど、補正係数KLOADを小さく設定し、これにより、ドリフトパラメータをエンジン負荷に依存しない値にする。
ステップS33において、ドリフトパラメータPdftaveに補正係数KLOADを乗算して、補正済みドリフトパラメータPdftave’を算出する。ステップS34において、補正済みドリフトパラメータPdftave’が、上限値(たとえば、2mV)および下限値(たとえば、−2mV)により規定される所定範囲内にあるかどうかを調べる。補正済みドリフトパラメータPdftave’が該所定範囲内になければ、筒内圧センサが故障している可能性があると判断し、フラグFsk_PcylにNGを設定する(S35)。補正済みドリフトパラメータPdftave’が該所定範囲内にあれば、筒内圧センサは正常であると判断し、フラグFsk_PcylにOKを設定する(S36)。
第1の実施例に従う、図6に示される故障判定プロセスは、第3の実施例にも同様に適用される。また、第1の実施例と同様に、ドリフトパラメータとして、統計処理値Pdftaveの代わりに、ドリフト量Pdftを用いてもよい。
エンジン負荷の代わりに、エンジンの運転状態を表す他のパラメータを用いても良い。一実施形態では、エンジン水温センサ21(図1)により検出されるエンジン水温TWを用いることができる。たとえば、エンジン水温の時間あたりの変化量を用いてもよい。
図14は、本願発明の第4の実施例に従う、筒内圧センサの故障を判定する装置のブロック図である。この実施例では、筒内圧センサに意図的にドリフトを含ませることにより、筒内圧センサの故障をより正確に判定する。
探査信号重畳部60は、筒内圧センサ15の出力に所定の直流成分(以下、探査信号と呼び、たとえば、1mVである)が重畳されるように、筒内圧センサのセンサ素子部25(図2)に意図的に所定の荷重を加える。たとえば、探査信号重畳部60は、筒内圧センサに連結されたアクチュエータであり、ECU1からの制御信号に応答して、該センサ素子部25に所定の荷重を加える。その結果、筒内圧センサの出力には探査信号が重畳される。
筒内圧センサの出力は、(Vps+直流成分)となる。積分装置61は、式(6)に示されるように、該筒内圧センサの出力を積分して、筒内圧Pcylを算出する。探査信号の重畳により、筒内圧Pcylには、該探査信号に応じたドリフトが意図的に含まれる。
ドリフトパラメータ算出部62は、第1の実施例の図4に示されるドリフトパラメータ算出部32と同様の手法で、ドリフトパラメータを算出する。探査信号積分器63は、探査信号を、1燃焼サイクルにわたって積分した値を算出する。減算器64は、ドリフトパラメータPdftaveから、探査信号の積分値を減算する。故障検出部65は、ドリフトパラメータPdftaveが、所定範囲内にあるかどうかに従い、筒内圧センサの故障を検出する。
筒内圧センサが正常な時、該探査信号の重畳により生じる”意図的なドリフト”の量は、該探査信号から推定することができる。筒内圧センサが故障していると、該意図的なドリフトの量も増大する。したがって、ドリフトパラメータから、該探査信号から推定されたドリフトの量を減算することにより、筒内圧センサが故障しているかどうかを、より容易に判断することができる。
筒内圧センサのセンサ素子部25には、図2を参照して説明したように、初期荷重がかかっている。該初期荷重には、バラツキが生じるおそれがある。このような初期荷重のバラツキは、ドリフト量を変動させるおそれがある。ドリフト量が変動すると、筒内圧センサの故障に誤判定が生じるおそれがある。
この実施例によれば、意図的なドリフトを筒内圧に生じさせることにより、筒内圧センサが故障している時のドリフトの量が増大するので、このような初期荷重のバラツキに影響を受けることなく、筒内圧センサの故障を判定することができる。より正確に筒内圧センサの故障を判定するため、好ましくは、探査信号の大きさは、意図的なドリフトの量が、該初期荷重のバラツキに対して十分大きくなるよう設定される。
代替的に、減算器64による減算を行うことなく、該意図的なドリフトを含むドリフトパラメータに基づいて、筒内圧センサが故障しているかどうかを判断してもよい。
図15は、第4の実施例に従う筒内圧センサの故障を検出するプロセスのフローチャートである。該プロセスは、たとえば、燃焼サイクルごと、好ましくは排気工程中に実施される。一実施例では、1燃焼サイクルは、クランク角度720度に相当する。
ステップS41において、筒内圧のドリフトパラメータを算出するルーチン(たとえば、図7)により算出されたドリフトパラメータPdftaveを取得する。ステップS42において、ドリフトパラメータPdftaveから、探査信号の積分値、すなわち(探査信号×1燃焼サイクル)を減算する。
ステップS43において、ドリフトパラメータPdftaveが、上限値(たとえば、2mV)および下限値(たとえば、−2mV)により規定される所定範囲内にあるかどうかを調べる。ドリフトパラメータPdftaveが該所定範囲内になければ、筒内圧センサが故障している可能性があると判断し、フラグFsk_PcylにNGを設定する(S44)。ドリフトパラメータPdftaveが該所定範囲内にあれば、筒内圧センサは正常であると判断し、フラグFsk_PcylにOKを設定する(S45)。
第1の実施例に従う、図6に示される故障判定プロセスは、第4の実施例にも同様に適用される。また、第1の実施例と同様に、ドリフトパラメータとして、統計処理値Pdftaveの代わりに、ドリフト量Pdftを用いてもよい。
図16は、本願発明の第5の実施例に従う、筒内圧センサの故障を判定する装置のブロック図である。この実施例では、複数の気筒間の筒内圧センサの出力の相関を用いる。
積分装置71およびドリフトパラメータ算出部72は、第1の実施例の図4に示される積分装置31およびドリフトパラメータ算出部32と同様の手法で、それぞれの気筒について、筒内圧センサを算出し、ドリフトパラメータを算出する。図1を参照して説明したように、この実施例では4気筒のエンジンを用いている。したがって、第1〜第4気筒について、筒内圧Pcyl1〜Pcyl4が得られ、その後ドリフトパラメータPdftave1〜Pdftave4が得られる。
相関部73は、複数の気筒間のドリフトパラメータの相関をとる。この実施例では、得られた4個のドリフトパラメータから、最大値および最小値を求める。代替的に、他の相関をとってもよい。たとえば、4個のドリフトパラメータの平均値を求める、または、4個のドリフトパラメータの中心値を求める、等により、相関をとることができる。故障検出部74は、求めた最大値および最小値が、所定範囲内にあるかどうかに従い、いずれかの気筒の筒内圧センサに故障があるかどうかを判断する。
この実施例によれば、複数の気筒間のドリフトパラメータの相関をとるので、筒内圧センサの故障をより正確に検出することができる。
図17は、第5の実施例に従う筒内圧センサの故障を検出するプロセスのフローチャートである。該プロセスは、たとえば、燃焼サイクルごと、好ましくは排気工程中に実施される。一実施例では、1燃焼サイクルは、クランク角度720度に相当する。
ステップS51において、第1〜第4気筒のそれぞれについて、筒内圧のドリフトパラメータを算出するルーチン(たとえば、図7)により算出されたドリフトパラメータPdftave1〜Pdftave4を取得する。ステップS52において、ドリフトパラメータPdftave1〜Pdftave4の中から、最大値および最小値を選択し、Pdftave_maxおよびPdftave_minにそれぞれ設定する。
ステップS53において、ドリフトパラメータの最大値Pdftave_maxが、上限値(たとえば、2mV)および下限値(たとえば、−2mV)により規定される所定範囲内にあり、かつドリフトパラメータの最小値Pdftave_minが、該所定範囲内にあるかどうかを調べる。最大値および最小値のいずれかが該所定範囲内になければ、いずれかの気筒の筒内圧センサが故障している可能性があると判断し、フラグFsk_PcylにNGを設定する(S54)。最大値および最小値の両方が該所定範囲内にあれば、すべての気筒についての筒内圧センサは正常であると判断し、フラグFsk_PcylにOKを設定する(S55)。
代替的に、ドリフトパラメータの最大値Pdftave_maxが、上記所定範囲内になければ、該最大値Pdftave_maxが得られた気筒について、故障の可能性があると判断してもよい。同様に、ドリフトパラメータの最小値Pdftave_minが、上記所定範囲内になければ、該最小値Pdftave_minが得られた気筒について、故障の可能性があると判断してもよい。
第1の実施例に従う、図6に示される故障判定プロセスは、第5の実施例にも同様に適用される。また、第1の実施例と同様に、ドリフトパラメータとして、統計処理値Pdftaveの代わりに、ドリフト量Pdftを用いてもよい。
図18は、本願発明の第6の実施例に従う、筒内圧センサの故障を判定する装置のブロック図である。この実施例には、筒内圧をリセットするための機構が設けられる。リセット操作により、ドリフトパラメータを正確かつ容易に求めることができる。
積分装置81は、筒内圧センサの出力Vpsを積分して、筒内圧Pcylを算出する。リセット機構82は、所定のタイミングでリセット信号を発生する。リセット信号は、筒内圧を所定の基準値(たとえば、ゼロ)にリセットする信号である。この実施例では、リセット信号は、各燃焼サイクルの所定のタイミングで生成される。積分装置81は、リセット信号に応答して、該所定の基準値にリセットされた筒内圧Pcylを出力する。
ドリフトパラメータ算出部83は、リセットされる前の筒内圧Pcyl_preと、リセットされた後の筒内圧Pcyl_postとの差に基づいて、ドリフトパラメータPdftaveを算出する。
故障検出部84は、第1〜第5の実施例のうちのいずれかの手法に従って、筒内圧センサの故障を検出することができる。すなわち、第1の実施例に従えば、ドリフトパラメータが所定範囲内にあるかどうかに従って、筒内圧センサの故障を判定する。第2の実施例に従えば、該所定範囲が、筒内圧の最大値に応じて設定される。第3の実施例に従えば、ドリフトパラメータは、エンジンの運転状態に応じて補正され、該補正されたドリフトパラメータが所定範囲内にあるかどうかに従って、筒内圧センサの故障を判定する。第4の実施例に従えば、筒内圧センサの出力に探査信号が重畳される。第5の実施例に従えば、複数の気筒間についてドリフトパラメータの相関をとり、該相関に基づいて、筒内圧センサの故障を判定する。
図19を参照して、リセット機構の一例およびリセット信号の働きを説明する。図19の(a)は、積分装置81の回路の一例を示す。該積分回路は、スイッチング素子85、コンデンサ86および演算増幅器87を備える。リセット信号に応じて、スイッチング素子85が閉じられる。該素子を閉じると、コンデンサ86の前後の電位差が無くなり、よって演算増幅器87の出力が基準値にリセットされる。
図19の(b)には、このようなリセット操作を行った場合の、積分回路81から出力される筒内圧Pcylの波形の一例が示されている。リセット操作は、時間t1、t2、t3、t4およびt5において実施される。このようなリセット操作により、筒内圧Pcylが基準値(ここでは、ゼロ)にリセットされる。リセット操作の前後の筒内圧の差が、1燃焼サイクル中のドリフトの量を表している。
図20は、リセット操作の前後における筒内圧の変化量を算出するプロセスのフローチャートである。該プロセスは、1燃焼サイクルよりも短い時間間隔で(たとえば、クランク角度1度ごとに)実施される。
ステップS61において、リセット信号に応じて筒内圧がリセットされたかどうかを判断する。この判断がNoならば、その時点で積分装置81から出力される筒内圧Pcylを、リセット操作前の筒内圧Pcyl_preとして記憶する(S62)。この判断がYesならば、その時点で積分装置81から出力される筒内圧Pcylを、リセット操作後の筒内圧Pcyl_postとして記憶する(S63)。ステップS64において、リセット前の筒内圧Pcyl_preとリセット後の筒内圧Pcyl_postを、変化量ΔPcylとして算出する。
図21は、ドリフトパラメータを算出するプロセスのフローチャートを示す。ステップS71において、図20のステップS64で算出された変化量ΔPcylを、筒内圧のドリフト量Pdftに設定する。ドリフト量Pdftは、1燃焼サイクル中の筒内圧のドリフトの量を表す。ステップS72〜74は、図7のステップS14〜S16と同じであるので、説明を省略する。
前述したように、こうして算出されたドリフトパラメータに、第1〜第5の実施例のうちのいずれかの故障判定手法を適用して、筒内圧センサの故障を判定することができる。
図22は、本願発明の第7の実施例に従う、筒内圧センサの故障を判定する装置のブロック図である。ドリフトを含まない筒内圧を算出するため、ドリフト補正量を算出する機構が設けられることがある。本実施例では、この機構を利用して、ドリフトパラメータを算出する。
補正装置91は、筒内圧センサ15の出力、すなわち筒内圧の変化率Vpsから、ドリフト補正量Pcyl_compを減算することにより、筒内圧の変化率を補正する。積分装置92は、該補正により得られた筒内圧変化率Vps’を積分し、筒内圧Pcylを算出する。ドリフト補正量算出装置90は、ドリフト補正量Pcyl_compを算出するための装置である。ドリフト補正量Pcyl_compは、補正装置91にフィードバックされる。
このフィードバック操作は、所定の時間間隔で繰り返し行われる。したがって、所定の時間間隔ごとに、筒内圧センサの出力Vpsから、ドリフト成分Pcyl_compが除去される。ドリフト成分が除去された筒内圧センサの出力Vps’を積分するので、得られる筒内圧Pcylの波形に、ドリフトが現れることを抑制することができる。
この実施例では、ドリフト補正量算出装置90による処理は、1燃焼サイクルの長さに等しいTnの周期で行われ、補正装置91および積分装置92による処理は、Tnよりも短いTkの周期で行われる。好ましくは、Tkは、筒内圧センサの出力をアナログデジタル変換するサイクルの長さに一致するように決められる。こうすることにより、筒内圧センサの出力がデジタル値Vpsとして得られるたびに、該Vpsをドリフト補正量Pcyl_compで補正することができる。
ドリフトパラメータ算出部96は、ドリフト補正量Pcyl_compに基づいて、ドリフトパラメータPdftaveを算出する。故障検出部97は、第6の実施例の所で述べたように、第1〜第5の実施例のうちのいずれかの手法に従って、筒内圧センサの故障を判定することができる。
ドリフト補正量算出装置90は、サンプリング回路93、ドリフト量算出回路94およびドリフト変化率算出回路95を備える。サンプリング回路93によるサンプリングは、Tnの周期で行われる。サンプリング回路93は、各燃焼サイクルの所定のクランク(CRK)角度で、筒内圧Pcylをサンプリングする。好ましくは、吸気行程中の所定のクランク角度で、筒内圧Pcylをサンプリングする。該サンプリングにより得られた筒内圧サンプルPsampleは、次のサンプリングまでサンプリング回路93に保持される。図23の(a)に、筒内圧サンプルPsampleの波形の一例を示す。
ドリフト量算出回路94は、サンプリング回路93により筒内圧サンプルPsampleが生成されることに応じて、式(7)を実行し、ドリフト量Pdftを算出する。ドリフト量Pdftは、1燃焼サイクル中のドリフト量を表す。
ドリフト量Pdft=筒内圧Psample−基準値 (7)
基準値は、ドリフトの影響がないときの筒内圧を示すように設定される。一例では、基準値として、サンプリング回路93によるサンプリングと同じタイミングでサンプリングされた、吸気管圧力センサ20(図1)の出力PBを用いる。吸気行程中は吸気バルブが開いているので、ドリフトの影響がなければ、筒内圧と吸気管圧力とはほぼ同じ圧力となる。筒内圧Pcylから吸気管圧力PBを減算することにより得られる値は、該燃焼サイクル中に蓄積されたドリフト量Pdftとなる。
図23の(b)に、ドリフト量Pdftの一例を示す。第1の燃焼サイクルにおける吸気行程中の時間t1にサンプリングされた筒内圧サンプルPsample1は、次の筒内圧サンプルが得られるまで、サンプリング回路93に保持される。時間t1にサンプリングされた吸気管圧力PBとの差が、該第1の燃焼サイクルについてのドリフト量Pdft1である。同様に、第2の燃焼サイクルにおける吸気行程中の時間t2にサンプリングされた筒内圧サンプルPsample2が、次の筒内圧サンプルが得られるまで、サンプリング回路93に保持される。時間t2にサンプリングされた吸気管圧力PBとの差が、該第2の燃焼サイクルについてのドリフト量Pdft2である。こうして、燃焼サイクルごとに、ドリフト量Pdftが算出される。
図22に戻り、ドリフト変化率算出回路95は、式(8)を実行し、ドリフト変化率Pcyl_compを算出する。ドリフト変化率Pcyl_compは、時間Tkあたりのドリフト変化率を表す。
ドリフト変化率Pcyl_comp
=ドリフト量Pdft/所定のサンプリング回数 (8)
ここで、所定のサンプリング回数=1燃焼サイクル/Tk
前述したように、一実施例では、Tkは、筒内圧センサの出力をアナログデジタル変換するサイクルの長さに等しい。こうして、時間Tkごとに得られる筒内圧センサの出力Vpsを、時間Tkあたりのドリフト変化率Pcyl_compで補正することができる。
図23の(c)に、ドリフト変化率Pcyl_compを示す。時間t1において、ドリフト量算出回路94がドリフト量Pdftを算出する。該ドリフト量Pdftを、所定のサンプリング回数で除算することにより、時間Tkあたりのドリフト変化率Pcyl_compを算出することができる。こうして算出されたドリフト変化率Pcyl_compが、ドリフト補正量として、補正装置91(図22)にフィードバックされる。
図24は、ドリフト補正量(ドリフト変化率)を算出するプロセスのフローチャートである。このプロセスは、所定のクランク角度(たとえば、1度)ごとに実施される。
ステップS81において、アップカウンタDcntが所定値Dsampleに達したかどうかを判断する。アップカウンタは、各燃焼サイクルの吸気行程中の開始時点、すなわちクランク角度がゼロになった時に、ゼロにリセットされる。アップカウンタは、クランク角センサ17(図1)からのクランク信号に従ってカウントする。一実施例では、アップカウンタは、0から720までカウントする。Dsampleは、筒内圧Pcylをサンプリングすべきクランク角度を示し、予め決められている。
ステップS81の答えがNoならば、筒内圧をサンプリングすべき時ではないので、カウンタDcntをインクリメントする(S82)。ステップS81の答えがYesならば、アップカウンタの値をゼロにセットする(S83)。ステップS84において、筒内圧Pcylをサンプリングし、筒内圧サンプルPsampleを得る。また、吸気管圧力センサからの出力PBをサンプリングする。ステップS85において、筒内圧サンプルPsampleと、吸気管圧力PBとの差を、ドリフト量Pdftとして算出する。ステップS86において、ドリフト量Pdftを、所定のサンプリング回数で除算し、ドリフト変化率Pcyl_compを算出する。この実施例では、式(8)を参照して前述したように、1燃焼サイクルに対応するクランク角度は720度である。Tkに対応するクランク角度をDとすると、所定のサンプリング回数は、720/Dである。
図25は、ドリフトパラメータを算出するプロセスのフローチャートを示す。該プロセスは、Tkの周期で実施される。ステップS91において、式(9)に示されるように、ドリフト変化率Pcyl_compの積分操作を実行する。すなわち、Dのクランク角あたりのドリフト変化率Pcyl_compを、筒内圧のドリフト量Pdftiの前回値に加算し、ドリフト量Pdftiの今回値を算出する。
Pdftiの今回値=Pdftiの前回値+Pcyl_comp (9)
こうして算出されるドリフト量Pdftiは、今回の演算サイクルの時点における筒内圧のドリフト量を示す。1燃焼サイクル中、ドリフト量Pdftiは、一次的に変化するよう算出される。
代替的に、1度のクランク角度の周期で該プロセスを実施する場合には、式(9)に示される積分操作では、(Pcyl_comp/D)が加算される。
ステップS92〜94は、図7のステップS14〜S16と同じであるので、説明を省略する。こうして算出されるドリフトパラメータPdftaveは、ドリフト量Pdftiに応じて、よりきめ細かく曲線的に変化するよう算出される。
前述したように、こうして算出されたドリフトパラメータに、第1〜第5の実施例のいずれかに従う故障判定手法を適用して、筒内圧センサの故障を判定することができる。
ドリフト変化率Pcyl_compを算出するための他の実施例を以下に説明する。
図26は、図22に示されるドリフト補正量算出装置90についての代替形態を示す。サンプリング回路93およびドリフト量算出回路94は、図22に示されるものと同じである。図22に示されるドリフト補正量算出装置と異なる点は、ドリフト量Pdftからドリフト変化率Pcyl_compを算出する手法である。この実施例によると、オーバーサンプリング、移動平均、および微分という一連の操作により、ドリフト変化率Pcyl_compを算出する。この手法について、図27を参照して説明する。
図27の(a)には、各燃焼サイクルにおいて(すなわち、Tnの周期で)ドリフト量算出回路94により算出されたドリフト量Pdftの波形が示されている。オーバーサンプリング回路101は、Tkの周期で、ドリフト量Pdftをオーバーサンプリングする。
1燃焼サイクルにおけるサンプリング回数mは、(1燃焼サイクル/Tk)である。図27の(a)には、m=6の例が示されている。
移動平均回路102は、オーバーサンプリングによってサンプル値が得られるたびに、式(10)に従い、サンプルPdft(k−(m−1))〜Pdft(k)を平均する。こうして、時間Tkあたりのドリフト量ΔPdftを算出する。
こうして得られるドリフト量ΔPdftは、図27の(b)に示されるようなラインで表される。該ドリフト量ΔPdftは、時間Tkあたりに蓄積されるドリフト量を示す。したがって、図27の(b)に示されるラインの傾きを求めることにより、すなわち該ドリフト量ΔPdftを微分することにより、ドリフト変化率Pcyl_compを算出することができる。
一例として、m=6の時に時間t1で算出されるドリフト変化率Pcyl_compが示されている。該ドリフト変化率Pcyl_compは、Pdft(k−5)〜Pdft(k)を移動平均することにより得たΔPdftを微分することにより、算出される。こうして、Tkの周期でドリフト変化率Pcyl_compを算出すると、図27の(c)に示されるような波形が得られる。算出されたドリフト変化率Pcyl_compは、補正装置91(図22)にフィードバックされる。
前述したように、Tkは、筒内圧センサの出力をアナログデジタル変換するサイクルの長さに等しい。こうして、Tkの周期で得られる筒内圧センサの出力Vpsを、時間Tkあたりのドリフト変化率Pcyl_compで補正することができる。
上記の実施形態では、オーバーサンプリングされたサンプル値の平均に、移動平均法を用いた。代替的に、他のフィルタリング(たとえば、ローパスフィルタ)を用いてもよい。
図28は、本願発明の第8の実施例に従う、筒内圧センサの故障を判定する装置のブロック図である。ドリフトを含まない筒内圧を算出するため、ドリフト補正量を算出する機構が設けられている点は、第7の実施例と同様である。この機構を利用し、ドリフトパラメータが算出される。第7の実施例と異なるのは、ドリフト補正量を算出する手法が異なる点である。
積分装置111は、筒内圧センサの出力Vpsを積分して、筒内圧Pcylを算出する。補正装置112は、該筒内圧Pcylを、ドリフト補正量ΔPdftで補正して、補正済み筒内圧Pcyl’を算出する。該補正により、補正済み筒内圧Pcyl’は、ドリフトを含まない。ドリフト補正量算出装置110は、筒内圧Pcylに基づいて、ドリフト補正量ΔPdftを算出するための装置である。
この実施例では、ドリフト補正量算出装置110による処理は、1燃焼サイクルの長さに等しいTnの周期で行われ、積分装置111および補正装置112による処理は、Tnよりも短いTkの周期で行われる。好ましくは、Tkは、筒内圧センサの出力をアナログデジタル変換するサイクルの長さに一致するように決められる。こうすることにより、筒内圧センサの出力がデジタル値Vpsとして得られるたびに、該Vpsに対応する筒内圧Pcylをドリフト補正量ΔPdftで補正することができる。
ドリフトパラメータ算出部96は、第7の実施例と同様の手法で、ドリフト補正量ΔPdftに基づいてドリフトパラメータPdftaveを算出する。故障検出部97は、第6の実施例の所で述べたように、第1〜第5の実施例のうちのいずれかの手法に従って、筒内圧センサの故障を検出することができる。
ドリフト補正量算出装置110は、サンプリング回路113、ドリフト量算出回路114、オーバーサンプリング回路115および移動平均回路116を備える。これらの回路は、第7の実施例の図26に示されるサンプリング回路93、ドリフト量算出回路94、オーバーサンプリング回路101および移動平均回路102と同様に動作する。その結果、移動平均回路116により、時間Tkあたりのドリフト量ΔPdftが算出される(式(10)参照)。補正装置112は、該時間Tkあたりのドリフト量ΔPdftを、ドリフト補正量として受け取る。補正装置112は、筒内圧Pcylからドリフト補正量ΔPdftを減算することにより筒内圧Pcylを補正し、補正済み筒内圧Pcyl’を算出する。補正済み筒内圧Pcyl’は、ドリフトを含まない筒内圧を示す。
こうして、筒内圧センサの出力がデジタル値Vpsとして得られるたびに、筒内圧Pcylがドリフト補正量ΔPdftで補正される。周期Tkの長さは、燃焼サイクルの長さよりも短いので、1燃焼サイクルにわたって筒内圧にドリフトが蓄積されることを回避することができる。
上記の実施例では、オーバーサンプリングされたドリフト量のサンプルを平均するのに、移動平均法を用いた。代替的に、他のフィルタリング(たとえば、ローパスフィルタ)を用いてもよい。
図29は、第8の実施例に従う、ドリフトパラメータを算出するプロセスのフローチャートを示す。該プロセスは、この例では、Tkの周期で実施される。ステップS101において、時間Tkあたりのドリフト量ΔPdftを、ドリフト量Pdftに設定する。ステップS102〜104は、図7のステップS14〜S16と同じであるので、説明を省略する。
前述したように、こうして算出されたドリフトパラメータに、第1〜第5の実施例のいずれかに従う故障判定手法を適用して、筒内圧センサの故障を判定することができる。
第7および第8の実施例で示されるドリフト補正量算出機構は一例であり、他の機構を用いて、筒内圧センサの出力を補正し、または筒内圧を補正するようにしてもよい。
一例として、第7の実施例に従う補正機構に、ドリフト変化率Pcyl_compをゼロに収束させる制御を実施するコントローラを、ドリフト変化率算出部95と補正装置91の間に設けてもよい。ドリフト変化率Pcyl_compがゼロになるよう、補正装置91への制御入力が算出される。該制御入力を用いて筒内圧センサの出力Vpsを補正することにより、該筒内圧センサの出力がドリフトを含まないようにする。
また、第8の実施例に従う補正機構に、ドリフト量ΔPdftをゼロに収束させる制御を実施するコントローラを、移動平均回路119と補正装置112の間に設けてもよい。この場合、ドリフト補正量算出装置110の入力は、補正済み筒内圧Pcyl’となる。補正済み筒内圧Pcyl’に基づいて、ドリフト補正量ΔPdftを求め、該ドリフト補正量ΔPdftをゼロに収束させる制御を実施して、補正装置112への制御入力を算出する。該補正装置112が、該制御入力によって筒内圧Pcylを補正することにより、補正済み筒内圧Pcyl’にドリフトが含まれないようにする。
本発明は、汎用の(例えば、船外機等の)内燃機関に適用可能である。