(57)【要約】      （修正有）【課題】筒内圧にオフセット誤差を含んでいたとしても精度よく特定クランク角になるまでの間に発熱した燃料の総発熱量を算出できる発熱量算出装置を提供すること。【解決手段】クランク角センサでクランク角を逐次取得するＳ１２１。そのクランク角の各々に対して、筒内圧センサで筒内圧を取得しＳ１２３、シリンダの容積を取得するＳ１２７。筒内圧と容積とに基づいて、クランク角の単位角度あたりの熱発生率を算出するＳ１２９。そして、上死点前の特定クランク角を（−Ｂ）としたときに、熱発生率を、上死点ＴＤＣを中心に進角側と遅角側とで等しい区間［−Ｂ、Ｂ］で積算するＳ１３３。【選択図】図６
2010196556.tif 000002
【特許請求の範囲】
【請求項１】
シリンダ、ピストン及びクランクを有する内燃機関において、上死点ＴＤＣを基準とした前記クランクの回転角であるクランク角θが上死点後の特定クランク角Ｂになるまでの間に発熱した燃料の総発熱量Ｑ１を算出する発熱量算出装置であって、
前記クランク角θを逐次検出するクランク角センサから前記クランク角θを取得するクランク角取得手段と、
そのクランク角取得手段が取得した前記クランク角θの各々に対して、前記シリンダの内圧である筒内圧Ｐを検出する筒内圧センサから前記筒内圧Ｐを取得する筒内圧取得手段と、
前記クランク角取得手段が取得した前記クランク角θの各々に対して、前記シリンダの容積Ｖを取得する容積取得手段と、
前記筒内圧取得手段が取得した前記筒内圧Ｐと前記容積取得手段が取得した前記容積Ｖとに基づいて、前記クランク角取得手段が取得した前記クランク角θの各々に対して、前記クランク角θの単位角度あたりの熱発生率ｄＱ／ｄθを算出する熱発生率算出手段と、
上死点前の前記特定クランク角Ｂを（−Ｂ）としたときに、前記熱発生率算出手段が算出した前記熱発生率ｄＱ／ｄθを、上死点ＴＤＣを中心に進角側と遅角側とで等しい区間［−Ｂ、Ｂ］で積算する積算手段とを備えることを特徴とする発熱量算出装置。
【請求項２】
前記熱発生率算出手段は、前記筒内圧Ｐ、前記容積Ｖ、前記クランク角θの単位角度あたりの前記筒内圧Ｐの変化率である筒内圧変化率ｄＰ／ｄθ及び前記クランク角θの単位角度あたりの前記容積Ｖの変化率である容積変化率ｄＶ／ｄθを下記数１式に代入して、前記熱発生率ｄＱ／ｄθを算出することを特徴とする請求項１に記載の発熱量算出装置。
【数１】
2010196556.tif 000009
【請求項３】
前記区間［−Ｂ、Ｂ］が、噴射された燃料すべてが燃焼したときの前記総発熱量Ｑ１が算出できる必要十分な区間となるように、前記特定クランク角Ｂを決定する区間決定手段を備えることを特徴とする請求項１又は２に記載の発熱量算出装置。
【請求項４】
上死点ＴＤＣを検出する上死点検出手段と、
その上死点検出手段が検出した上死点ＴＤＣに対応する前記クランク角センサが検出する前記クランク角θを上死点角度として取得する上死点角度取得手段と、
前記クランク角センサが検出する前記クランク角θを前記上死点角度が基準となるように補正する補正手段とを備え、
前記クランク角取得手段は、前記補正手段によって補正された前記クランク角θを取得することを特徴とする請求項１〜３のいずれか１項に記載の発熱量算出装置。
【請求項５】
前記上死点検出手段は、
燃料が噴射されていない状態で、前記筒内圧センサが検出する前記クランク角θの各々に対する前記筒内圧Ｐを補正用筒内圧として取得する補正用筒内圧取得手段と、
その補正用筒内圧取得手段が取得した補正用筒内圧が最大となる点を上死点として検出する最大点検出手段とを有することを特徴とする請求項４に記載の発熱量算出装置。
【請求項６】
前記上死点検出手段は上死点ＴＤＣを複数回検出し、
前記上死点角度取得手段は、前記上死点検出手段によって複数回検出された上死点の各々について、前記上死点角度を取得し、
前記補正手段は、前記上死点角度取得手段によって取得された複数個の前記上死点角度の平均値に基づいて前記補正をすることを特徴とする請求項５に記載の発熱量算出装置。
【請求項７】
請求項１〜６のいずれかの発熱量算出装置と、
燃料の総発熱量が、前記発熱量算出装置が算出した前記総発熱量Ｑ１の特定の燃焼割合となるクランク角θを実燃焼時期として検出する実燃焼時期検出手段と、
その実燃焼時期検出手段によって検出された前記実燃焼時期が、目標燃焼時期となるように、燃料の噴射時期若しくは点火時期を制御する燃焼時期制御手段とを備えることを特徴とする内燃機関の制御装置。
【請求項８】
エンジンの回転数を取得する回転数取得手段から取得したエンジンの回転数と燃料の噴射量の指令値である指令噴射量とに基づいて、前記目標燃焼時期を決定する目標燃焼時期決定手段とを備えることを特徴とする請求項７に記載の内燃機関の制御装置。
【請求項９】
請求項１〜６のいずれかの発熱量算出装置と、
燃料の噴射量の指令値を指令噴射量として取得する指令噴射量取得手段と、
その指令噴射量取得手段によって取得された前記指令噴射量の燃料が噴射された場合におけるその燃料の総発熱量を予定総発熱量Ｑ２として算出する予定総発熱量算出手段と、
前記総発熱量Ｑ１と前記予定総発熱量Ｑ２とを比較して、燃料を噴射するインジェクタが異常か否かを判断する異常判断手段とを備えることを特徴とするインジェクタの異常検出装置。
【請求項１０】
前記予定総発熱量算出手段は、前記指令噴射量と燃料密度と燃料のエネルギー密度から算出した値を、運転条件と吸気量、吸気圧、ＥＧＲ率、吸気温度、エンジン水温及びコモンレール圧力のうち少なくとも一つの値に基づいて決定される補正係数で補正することで前記予定総発熱量Ｑ２を求めることを特徴とする請求項９に記載のインジェクタの異常検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関における燃料の発熱量を算出する発熱量算出装置、及びその発熱量算出装置で算出された発熱量を利用した装置に関する。
【背景技術】
【０００２】
近年、自動車のエミッション規制が強化されており、そのエミッション規制に対応するために、有害排気ガスを低減する取り組みがなされている。その取り組みとして、例えば、燃焼後の排気ガスの一部を取り出し、吸気側へ導き再度吸気させる技術である排気ガス再循環（Ｅｘｈａｕｓｔ  Ｇａｓ  Ｒｅｃｉｒｃｕｌａｔｉｏｎ）を導入して、有害排気ガスの一つである窒素酸化物（ＮＯｘ）の低減を図っている。
【０００３】
しかしながら、排気ガス再循環を導入すると、シリンダ内の温度が低い状態で燃料が燃焼することになるため、燃料性状や環境条件の影響を受けやすくなり燃焼時期がばらついてしまう。そこで、シリンダの内圧である筒内圧Ｐを筒内圧センサで検出して、その筒内圧Ｐに基づいて、燃料の燃焼時期を制御する技術が知られている。具体的には、例えば特許文献１に記載の方法で、クランク角の単位角度あたりの熱発生率を算出する。次いで、その熱発生率を燃料が燃焼された区間で積算して、燃料の総発熱量を算出する。そして、その総発熱量を１００％としたときの、例えば所定のタイミング（例えば上死点後８°（ＡＴＤＣ８°））における燃焼割合ＭＦＢを算出し、その燃焼割合ＭＦＢが目標燃焼割合（例えば５０％）となるように、燃料の噴射時期若しくは点火時期を制御する。このように、燃料の総発熱量を算出することは有用である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３３３１１０７号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、筒内圧センサで検出される筒内圧Ｐとして必ずしも常に適正な値が得られるというわけではない。例えば温度変化等の外的要因、筒内圧センサ自体の特性ばらつき又は経年変化等により、真の筒内圧Ｐ０に不要なオフセット誤差αが重畳することがある。このような場合、その筒内圧Ｐに基づいて算出される熱発生率に誤差が生じることになる。その結果、その熱発生率を、燃料が燃焼された区間で積算して算出される総発熱量にも誤差が生じてしまう。
【０００６】
また、その総発熱量を利用して燃焼時期の制御等をする装置においては、総発熱量に誤差がある場合には、正確に燃料の燃焼時期を制御できない等、その装置の目的を達成できない。
【０００７】
本発明は上記事情を考慮してなされたものであり、筒内圧Ｐにオフセット誤差αを含んでいたとしても精度よく総発熱量を算出できる発熱量算出装置を提供することを課題とする。また、その総発熱量算出装置で算出された総発熱量を利用した装置を提供することを課題とする。
【課題を解決するための手段】
【０００８】
上記課題を達成するために、請求項１の発熱量算出装置は、シリンダ、ピストン及びクランクを有する内燃機関において、上死点ＴＤＣを基準とした前記クランクの回転角であるクランク角θが上死点後の特定クランク角Ｂになるまでの間に発熱した燃料の総発熱量Ｑ１を算出する発熱量算出装置であって、
前記クランク角θを逐次検出するクランク角センサから前記クランク角θを取得するクランク角取得手段と、
そのクランク角取得手段が取得した前記クランク角θの各々に対して、前記シリンダの内圧である筒内圧Ｐを検出する筒内圧センサから前記筒内圧Ｐを取得する筒内圧取得手段と、
前記クランク角取得手段が取得した前記クランク角θの各々に対して、前記シリンダの容積Ｖを取得する容積取得手段と、
前記筒内圧取得手段が取得した前記筒内圧Ｐと前記容積取得手段が取得した前記容積Ｖとに基づいて、前記クランク角取得手段が取得した前記クランク角θの各々に対して、前記クランク角θの単位角度あたりの熱発生率ｄＱ／ｄθを算出する熱発生率算出手段と、
上死点前の前記特定クランク角Ｂを（−Ｂ）としたときに、前記熱発生率算出手段が算出した前記熱発生率ｄＱ／ｄθを、上死点ＴＤＣを中心に進角側と遅角側とで等しい区間［−Ｂ、Ｂ］で積算する積算手段とを備えることを特徴とする。
【０００９】
総発熱量Ｑ１は、クランク角θの単位角度あたりの熱発生率ｄＱ／ｄθを積算することにより算出することができる。その熱発生率ｄＱ／ｄθは、筒内圧Ｐと容積Ｖとに基づいて算出することができる。そこで、請求項１の発熱量算出装置では、熱発生率ｄＱ／ｄθを算出するために、クランク角θの各々に対して、筒内圧Ｐと容積Ｖを取得している。ここで、筒内圧センサで検出される筒内圧Ｐが上述したようにオフセット誤差αを含むことがある。なおオフセット誤差αは、どの筒内圧Ｐでも等しい値とする。そして熱発生率算出手段は、筒内圧Ｐと容積Ｖとに基づいて熱発生率ｄＱ／ｄθを算出しているが、筒内圧Ｐにオフセット誤差αが含まれているとすると、算出される熱発生率ｄＱ／ｄθに誤差Ｆが生じることになる。ここで、本出願人はその誤差ＦがＬ×α×（ｄＶ／ｄθ）で表されることを発見した。なお、Ｌは比熱比κから計算される定数（κ／（κ−１）)、（ｄＶ／ｄθ）はクランク角θの単位角度あたりの容積Ｖの変化率である。すなわち、誤差Ｆは、容積Ｖの変化率ｄＶ／ｄθを変数とした関数で表される。そして、その容積Ｖの変化率ｄＶ／ｄθは、上死点ＴＤＣを中心にして正負が反対になった対称な値となるので、誤差Ｆは上死点ＴＤＣを中心にして正負が反対になった対称な値となる。例えば上死点後５０°（ＡＴＤＣ５０°）における誤差ＦをＦ５０とすると、上死点前５０°（ＢＴＤＣ５０°）における誤差Ｆは（−Ｆ５０）となる。
【００１０】
そこで積算手段は、上死点ＴＤＣを中心に進角側と遅角側とで等しい区間［−Ｂ、Ｂ］で熱発生率ｄＱ／ｄθを積算して、熱発生率ｄＱ／ｄθの誤差ＦであるＬα（ｄＶ／ｄθ）の影響を打ち消している。一方で、真の筒内圧Ｐ０に基づく熱発生率ｄＱ／ｄθは、燃料の燃焼が開始するまでは、ゼロであると考えられる。したがって、積算する区間［−Ｂ、Ｂ］が、燃料の燃焼が開始する前の区間を含んでいたとしても、その区間ではゼロの熱発生率ｄＱ／ｄθを積算することになるので、総発熱量Ｑ１の算出には影響を与えない。よって、オフセット誤差αの影響を打ち消しつつ、特定クランク角Ｂになるまでの間に発熱した燃料の総発熱量Ｑ１を算出することができる。
【００１１】
また、請求項２の熱発生量算出装置は、請求項１において、熱発生率算出手段は、前記筒内圧Ｐ、前記容積Ｖ、前記クランク角θの単位角度あたりの前記筒内圧Ｐの変化率である筒内圧変化率ｄＰ／ｄθ及び前記クランク角θの単位角度あたりの前記容積Ｖの変化率である容積変化率ｄＶ／ｄθを下記数１式に代入して、前記熱発生率ｄＱ／ｄθを算出することを特徴とする。
【数１】
2010196556.tif 000003
【００１２】
この数１で示される式は、特許文献１など多くの文献に記載されており、熱発生率ｄＱ／ｄθを算出するための信頼度が高い式であると考えられる。したがって、この式を採用することにより、精度よく熱発生率ｄＱ／ｄθを算出することができる。
【００１３】
ただし、上述したように、筒内圧Ｐに誤差αが含まれているとすると、算出される熱発生率ｄＱ／ｄθに誤差Ｆが生じることになる。すなわち、Ｐ＝Ｐ０＋αを数１式に代入すると、下記数２式が導かれる。
【数２】
2010196556.tif 000004
【００１４】
数２の右辺のκ／（κ−１）×α（ｄＶ／ｄθ）が熱発生率ｄＱ／ｄθの誤差Ｆである。すなわち、κ／（κ−１）＝Ｌとすると、誤差Ｆは、上述したようにＬ×α×（ｄＶ／ｄθ）で表されることがわかる。なお、数２式中の誤差Ｆを除いた値が、真の筒内圧Ｐ０に対する熱発生率ｄＱ／ｄθである。したがって、総発熱量Ｑ１は、κ／（κ−１）×α（ｄＶ／ｄθ）で表される誤差Ｆが打ち消されて、真の筒内圧Ｐ０に対する熱発生率ｄＱ／ｄθが積算された値である。
【００１５】
請求項３の熱発生量算出装置は、請求項１又は２において、前記区間［−Ｂ、Ｂ］が、噴射された燃料すべてが燃焼したときの前記総発熱量Ｑ１が算出できる必要十分な区間となるように、前記特定クランク角Ｂを決定する区間決定手段を備えることを特徴とする。
【００１６】
これにより、区間［−Ｂ、Ｂ］は、すべての燃料が燃焼したときの総発熱量Ｑ１が算出できる必要十分な区間となる。すなわち、区間［−Ｂ、Ｂ］は、燃料の燃焼が開始されてからすべての燃料が燃焼するまでの区間を含んでいる。したがって、すべての燃料が燃焼したときの総発熱量Ｑ１を算出できる。また、区間［−Ｂ、Ｂ］は、すべての燃料が燃焼したときの総発熱量Ｑ１が算出できる必要十分な区間であるので、総発熱量Ｑ１を算出するために、熱発生率ｄＱ／ｄθを積算する際に、燃料が燃焼し終えた後の熱発生率ｄＱ／ｄθを必要以上に積算することがない。よって、計算負荷を低減できる。
【００１７】
一方、クランク角センサで検出されるクランク角θは、上死点ＴＤＣを基準とした角度であるが、そのクランク角θは、クランク角センサの取り付け誤差等のために正確な上死点ＴＤＣを基準とした角度ではないこともあり得る。検出されたクランク角θに誤差があると、そのクランク角θに対応させて算出される熱発生率ｄＱ／ｄθや総発熱量Ｑ１にも誤差が生じることになる。
【００１８】
このような事情を考慮して、請求項４の発熱量算出装置は、請求項１〜３のいずれかにおいて、上死点ＴＤＣを検出する上死点検出手段と、その上死点検出手段が検出した上死点ＴＤＣに対応する前記クランク角センサが検出する前記クランク角θを上死点角度として取得する上死点角度取得手段と、前記クランク角センサが検出する前記クランク角θを前記上死点角度が基準となるように補正する補正手段とを備え、前記クランク角取得手段は、前記補正手段によって補正された前記クランク角θを取得することを特徴とする。
【００１９】
このように、クランク角取得手段が取得するクランク角θは、補正手段によって補正された角度であるので、真の上死点ＴＤＣが基準となっている角度である。すなわち、クランク角取得手段が取得するクランク角θは、精度が良い角度であるといえるので、そのクランク角θに対応させて算出される熱発生率ｄＱ／ｄθや総発熱量Ｑ１は精度が良いものであると言える。
【００２０】
ここで上死点ＴＤＣは、クランク角θに対する筒内圧Ｐの変化に着目することにより検出することができる。すなわち、クランク角θの変化にともなって、容積Ｖが変化することになるが、筒内圧Ｐは、燃料が噴射されていない状態では容積Ｖが小さいほど大きくなると考えられる。そして容積Ｖが最も小さいとき、すなわち上死点ＴＤＣのときに、筒内圧Ｐは最も大きくなると考えられる。なお、燃料が噴射されている状態では、その燃料の影響により、上死点ＴＤＣのときでも筒内圧Ｐは最大とならないことがある。したがって、筒内圧Ｐから上死点ＴＤＣを検出するには、燃料が噴射されていない状態における筒内圧Ｐに着目するのが望ましい。
【００２１】
請求項５の発明はこのような事情を考慮してなされたものである。すなわち、請求項５の発熱量算出装置は、請求項４において、前記上死点検出手段は、燃料が噴射されていない状態で、前記筒内圧センサが検出する前記クランク角θの各々に対する前記筒内圧Ｐを補正用筒内圧として取得する補正用筒内圧取得手段と、その補正用筒内圧取得手段が取得した補正用筒内圧が最大となる点を上死点として検出する最大点検出手段とを有することを特徴とする。これにより、真の上死点ＴＤＣを検出することができる。
【００２２】
なお、同じクランク角θであっても、筒内圧センサが検出する筒内圧Ｐの最大値は、電気ノイズや機械ノイズなどにより時間変動することがある。すなわち、上死点検出手段が検出する上死点は時間変動することがある。そこで、請求項６の発熱量算出装置では、前記上死点検出手段は上死点ＴＤＣを複数回検出し、前記上死点角度取得手段は、前記上死点検出手段によって複数回検出された上死点の各々について、前記上死点角度を取得し、前記補正手段は、前記上死点角度取得手段によって取得された複数個の前記上死点角度の平均値に基づいて前記補正をしている。
【００２３】
これにより、上死点ＴＤＣが時間変化することによって上死点角度が時間変化したとしても、複数個の上死点角度の平均値に基づいて、前記補正がなされるので、上死点ＴＤＣの時間変化の影響を抑えることができる。
【００２４】
請求項７の内燃機関の制御装置は、請求項１〜６のいずれかの発熱量算出装置と、
燃料の総発熱量が、前記発熱量算出装置が算出した前記総発熱量Ｑ１の特定の燃焼割合となるクランク角θを実燃焼時期として検出する実燃焼時期検出手段と、
その実燃焼時期検出手段によって検出された前記実燃焼時期が目標燃焼時期となるように、燃料の噴射時期若しくは点火時期を制御する燃焼時期制御手段とを備えることを特徴とする。
【００２５】
燃焼時期を適切に制御すれば、ノッキングの防止、有害排気ガスの低減、出力の高効率化等を図ることができる。そして、総発熱量Ｑ１の特定の燃焼割合となるクランク角θを実燃焼時期としたときに、その実燃焼時期が目標燃焼時期となるように、燃料の噴射時期若しくは点火時期を制御することで燃焼時期を適切に制御することができる。請求項７の内燃機関の制御装置は、このような事情を考慮してなされたものである。この際、請求項７の内燃機関の制御装置は、請求項１〜６のいずれかの発熱量算出装置で算出された総発熱量Ｑ１に基づいて燃料の燃焼時期を制御している。請求項１〜６のいずれかの発熱量算出装置は、筒内圧Ｐにオフセット誤差αが含まれている場合であっても、正確な総発熱量Ｑ１を算出することができるので、その総発熱量Ｑ１によって燃料の燃焼時期を制御している内燃機関の制御装置によれば、正確に燃料の燃焼時期を制御することができる。その結果、ノッキングの防止、有害排気ガスの低減、出力の高効率化等を図ることができる。
【００２６】
また、請求項８の内燃機関の制御装置は、請求項７において、エンジンの回転数を取得する回転数取得手段から取得したエンジンの回転数と燃料の噴射量の指令値である指令噴射量とに基づいて、前記目標燃焼時期を決定する目標燃焼時期決定手段とを備えることを特徴とする。
【００２７】
噴射された燃料がどのように燃焼するかは、エンジンの回転数と燃料の指令噴射量とに基づいて、事前に適合するためある程度予測することができる。そして、その予測を前提として、燃料の燃焼がどの時期に開始されれば、その燃焼が最適になされるのかを予測することができる。そこで、請求項８の内燃機関の制御装置は、エンジンの回転数と燃料の噴射量とに基づいて、目標燃焼時期を決定している。これにより、エンジンの回転数と燃料の噴射量とで定められるエンジンの運転条件に応じた目標燃焼時期が決定されるので、エンジンの運転条件に応じて適切に燃料の燃焼を制御することができる。
【００２８】
請求項９のインジェクタの異常検出装置は、請求項１〜６のいずれかの発熱量算出装置と、
燃料の噴射量の指令値を指令噴射量として取得する指令噴射量取得手段と、
その指令噴射量取得手段によって取得された前記指令噴射量の燃料が噴射された場合におけるその燃料の総発熱量を予定総発熱量Ｑ２として算出する予定総発熱量算出手段と、
前記総発熱量Ｑ１と前記予定総発熱量Ｑ２とを比較して、燃料を噴射するインジェクタが異常か否かを判断する異常判断手段とを備えることを特徴とする。
【００２９】
インジェクタの異常のために、インジェクタから実際に噴射された燃料の噴射量が指令噴射量ではないことがある。この場合、予定していた燃焼がなされないことになるので、出力が低下する等の不具合が発生する。一方、燃料の噴射量は、燃料の総発熱量に比例する。そこで、請求項９のインジェクタの異常検出装置では、実際の総発熱量Ｑ１と、指令噴射量から算出された燃料の予定総発熱量Ｑ２とを比較して、インジェクタの異常を検出している。この際、実際の総発熱量Ｑ１は、請求項１〜６のいずれかの発熱量算出装置で算出されたものであるので、筒内圧Ｐにオフセット誤差αが含まれている場合であっても、正確な値であると言える。すなわち、筒内圧Ｐにオフセット誤差αが含まれている場合であっても、正確にインジェクタの異常を検出することができる。
【００３０】
また、予定総発熱量Ｑ２は、請求項１０のように算出することができる。すなわち、請求項１０のインジェクタの異常検出装置は、請求項９において、前記予定総発熱量算出手段は、前記指令噴射量と燃料密度と燃料のエネルギー密度から算出した値を、運転条件と吸気量、吸気圧、ＥＧＲ率、吸気温度、エンジン水温及びコモンレール圧力のうち少なくとも一つの値に基づいて決定される補正係数で補正することで前記予定総発熱量Ｑ２を求めることを特徴とする。予定総発熱量Ｑ２は、指令噴射量の燃料がどの程度熱に変化するのかによる。そして、どの程度熱に変化するかは、エンジン回転数や指令噴射量で定められる運転条件によって異なる。補正係数は、指令噴射量の燃料がどの程度熱に変化するのかを示した係数であって、運転条件ごとに適合値として定められている。
【００３１】
ここで、上記補正係数は、運転条件に応じた値となるが、請求項１０のように、吸気量、吸気圧、ＥＧＲ率、吸気温度、エンジン水温及びコモンレール圧力のうち少なくとも一つの値に基づいて決定することができる。例えば、吸気量は筒内に吸入される酸素量／酸素濃度を反映した値であると言える。すなわち、吸入量が増加するにしたがって、筒内に吸入される酸素量／酸素濃度が増加するので燃料が燃焼しやすくなる一方、吸入量が低下するにしたがって、筒内に吸入される酸素量／酸素濃度が低下するので燃料が燃焼し難くなる。そこで、基準の吸入量に対して、吸入量が増加した場合は、補正係数を大きくして予定総発熱量Ｑ２が大きくなるようにし、反対に吸入量が低下した場合は、補正係数を小さくして予定総発熱量Ｑ２が小さくなるようする。
【００３２】
また、吸気圧は筒内に吸入される酸素量／酸素濃度を反映した値であると言える。すなわち、吸気圧が増加するにしたがって、筒内に吸入される酸素量／酸素濃度が増加するので燃料が燃焼しやすくなる一方、吸気圧が低下するにしたがって、筒内に吸入される酸素量／酸素濃度が低下するので燃料が燃焼し難くなる。そこで、基準の吸気圧に対して、吸気圧が増加した場合は、補正係数を大きくして予定総発熱量Ｑ２が大きくなるようにし、反対に吸気圧が低下した場合は、補正係数を小さくして予定総発熱量Ｑ２が小さくなるようする。
【００３３】
また、ＥＧＲ率は筒内に吸入される酸素量／酸素濃度を反映した値であると言える。すなわち、ＥＧＲ率が増加するにしたがって、筒内に吸入される酸素量／酸素濃度が低下するので燃料が燃焼し難くなる一方、ＥＧＲ率が低下するにしたがって、筒内に吸入される酸素量／酸素濃度が増加するので燃料が燃焼しやすくなる。そこで、基準のＥＧＲ率に対して、ＥＧＲ率が増加した場合は、補正係数を小さくして予定総発熱量Ｑ２が小さくなるようにし、反対にＥＧＲ率が低下した場合は、補正係数を大きくして予定総発熱量Ｑ２が大きくなるようする。
【００３４】
また、吸気温度は筒内温度を反映した値であると言える。すなわち、吸気温度が増加するにしたがって、筒内温度が増加するので燃料が燃焼しやすくなる一方、吸気温度が低下するにしたがって、筒内温度が低下するので燃料が燃焼し難くなる。そこで、基準の吸気温度に対して、吸気温度が増加した場合は、補正係数を大きくして予定総発熱量Ｑ２が大きくなるようにし、反対に吸気温度が低下した場合は、補正係数を小さくして予定総発熱量Ｑ２が小さくなるようする。
【００３５】
また、エンジン水温は筒内温度を反映した値であると言える。すなわち、エンジン水温が増加するにしたがって、筒内温度が増加するので燃料が燃焼しやすくなる一方、エンジン水温が低下するにしたがって、筒内温度が低下するので燃料が燃焼し難くなる。そこで、基準のエンジン水温に対して、エンジン水温が増加した場合は、補正係数を大きくして予定総発熱量Ｑ２が大きくなるようにし、反対にエンジン水温が低下した場合は、補正係数を小さくして予定総発熱量Ｑ２が小さくなるようする。
【００３６】
また、コモンレール圧は、燃料の拡散・揮発に関係している。そして、燃料が拡散・揮発しやすくなるほど、燃料と空気とが混合しやすくなり、その結果、燃料が燃焼しやすくなる。反対に、燃料が拡散・揮発し難くなるほど、燃料と空気とが混合し難くなり、その結果、燃料が燃焼し難くなる。すなわち、コモンレール圧は、燃料と空気との混合しやすさを反映した値であると言える。そこで、基準のコモンレール圧に対して、コモンレール圧が増加した場合は、補正係数を大きくして予定総発熱量Ｑ２が大きくなるようにし、反対にコモンレール圧が低下した場合は、補正係数を小さくして予定総発熱量Ｑ２が小さくなるようにする。
【００３７】
このように、吸気量、吸気圧、ＥＧＲ率、吸気温度、エンジン水温及びコモンレール圧力のうち少なくとも一つの値に基づいて決定される補正係数で補正して求められる予定総発熱量Ｑ２は、運転条件を考慮した正確な値であると言える。
【図面の簡単な説明】
【００３８】
【図１】第一、第二実施形態のエンジン制御システムの概略構成を示した図である。
【図２】第一実施形態のＲＯＭ５３のメモリを示した概念図である。
【図３】クランク角θごとの容積Ｖを示した図である。
【図４】噴射時期制御処理のメインルーチンを示したフローチャートである。
【図５】目標燃焼時期決定処理の詳細を示したフローチャートである。
【図６】総発熱量算出処理の詳細を示したフローチャートである。
【図７】上死点位置補正処理の詳細を示したフローチャートである。
【図８】補正用筒内圧の波形２０１を示した図である。
【図９】波形２０１のピーク２０２周辺（図８の点線枠内）を拡大した図である。
【図１０】最大筒内圧となるクランク角θｘの時間変化を示した図である。
【図１１】クランク角θごとの筒内圧Ｐの波形１を示した図である。
【図１２】クランク角θごとの熱発生率ｄＱ／ｄθの波形３を示した図である。
【図１３】総発熱量Ｑの波形５を示した図である。
【図１４】熱発生率ｄＱ／ｄθの波形３と、真の筒内圧Ｐ０に対する熱発生率ｄＱ／ｄθの波形４と誤差Ｆの波形７とを示した図である。
【図１５】総発熱量Ｑの波形８を示した図である。
【図１６】実ＭＦＢ５０の検出方法を説明するための図である。
【図１７】第二実施形態のＲＯＭ５３のメモリを示した概念図である。
【図１８】異常検出処理のメインルーチンを示したフローチャートである。
【図１９】予定総発熱量算出処理の詳細を示したフローチャートである。
【発明を実施するための形態】
【００３９】
（第一実施形態）
以下、本発明の第一実施形態について図面を参照しながら説明する。この第一実施形態は、本発明の発熱量算出装置及び内燃機関の制御装置を具現化した実施形態である。なお、本実施形態のシステムは、コモンレール式の燃料噴射装置を備えたディーゼルエンジンを制御対象とするエンジン制御システムである。
【００４０】
先ず、本実施形態のエンジン制御システムの概略構成を説明する。図１は、本実施形態のエンジン制御システムの概略構成を示した図である。なお、このシステムの制御対象とするエンジン１０としては、４輪自動車（例えばＡＴ車）に搭載される多気筒（例えば直列４気筒）エンジンを想定している。ただし、この図１においては、説明の便宜上、１つのシリンダ１５のみを図示している。このエンジン１０は、４ストローク（４×ピストン行程）のレシプロ式ディーゼルエンジン（内燃機関）である。すなわち、このエンジン１０では、吸気弁２、排気弁３０のカム軸（図示外）に設けられた気筒判別センサ（電磁ピックアップ）にてその時の対象シリンダ♯１〜♯４について、それぞれ吸入・圧縮・燃焼・排気の４行程による１燃焼サイクル「７２０°ＣＡ」周期で、詳しくは例えば各シリンダ間で「１８０°ＣＡ」ずらして、シリンダ♯１、♯３、♯４、♯２の順に逐次実行される。これら４つのシリンダ♯１〜♯４の構成は基本的には同様の構成となっている。ここでは１つのシリンダ１４に注目して、当該システムについての説明を行う。
【００４１】
図１に示すように、このシステムは、シリンダ１５内で燃焼を通じて生成したトルクによる出力軸であるクランク軸４３を回転させるエンジン１０を制御対象として、そのエンジン１０を制御するための各種センサ及びＥＣＵ５０等を有して構築されている。以下、制御対象のエンジン１０をはじめとするこのシステムを構成する各要素について詳述する。
【００４２】
ここで制御対象とされるエンジン１０（ディーゼルエンジン）は、基本的には、シリンダブロック１４とシリンダヘッド２２とによりシリンダ（気筒）１５が形成されて構成されている。シリンダブロック１４には、冷却水がエンジン１０内を循環するための冷却水路（ウオータジャケット）１２と、その冷却水路１２内の冷却水の温度（冷却水温）を検出する水温センサ７２とが設けられている。そして、その冷却水によりエンジン１０が冷却されている。
【００４３】
また、シリンダ１５内には、ピストン１６が収納され、そのピストン１５の往復運動により、エンジン１０の出力軸であるクランク軸４３が回転するようになっている。なお、クランク軸４３にはクランク軸とともに回転するパルサ４２が設けられている。そのパルサ４２の外周には、複数の歯が形成されている。そして、パルサ４２の外周側には、パルサ４２に形成された歯を検出することによって、クランク１８の回転角であるクランク角θを示したクランク角信号を出力するクランク角センサ６０（例えば電磁ピックアップ）が設けられている。そのクランク角センサ６０で出力されるクランク角信号が例えば１°ＣＡ周期となるように、パルサ４２の外周に形成された歯の数や間隔が定められている。また、パルサ４２の外周には、上死点検出用の歯も形成されており、クランク角センサ６０はその歯を検出することによって、上死点ＴＤＣに対応した上死点信号も出力している。
【００４４】
ただし、クランク角センサ６０やパルサ４２の取り付け誤差等のために、上死点ＴＤＣではないにもかかわらずクランク角センサが上死点信号を出力することがあり得る。すなわち、クランク角センサ６０で検出される上死点にずれが生じる。このような場合、上死点ＴＤＣを基準として検出されるクランク角θは正確な値ではないことになる。そこで、本実施形態では、真の上死点ＴＤＣを検出して、上死点ＴＤＣのずれを補正している。詳細は後述する。
【００４５】
シリンダブロック１４上端面に固定されるシリンダヘッド２２と、シリンダ１５内のピストン１６冠面との間には、燃焼室２０が形成されている。シリンダヘッド２２には、燃焼室２０に開口する吸気ポート２２（吸気口）と排気ポート２６（排気口）とが例えば１つのシリンダに対して２つずつ（計４ポート）形成されている。そして、これら吸気ポート２２及び排気ポート２６が、それぞれ図示しないカム（詳しくはクランク軸４３と連動するカム軸に取り付けられたカム）によって駆動される吸気弁２８（吸気バルブ）と排気弁３０（排気バルブ）とにより開閉されるようになっている。さらに、これら各ポート２４、２６を通じてシリンダ１５内の燃焼室２０と車外（外気）とを連通可能にすべく、吸気ポート２４には、シリンダ１５に外気（新気）を吸入するための吸気管３２（吸気通路）が接続され、排気ポート２６には、各シリンダから燃焼ガス（排気）を排出するための排気管３４（排気通路）が接続されている。
【００４６】
エンジン１０の吸気系を構成する吸気管３２には、最上流部にエアクリ−ナ（図示外）が設けられ、そのエアクリ−ナを通じて空気中の異物が除去されつつ新気が吸入される。また、エアクリ−ナの下流部には、その新気の流量（新気量）を示した電気信号Ｆａとして検出するエアフロメータ７４（吸気量センサ）が設けられており、その電気信号Ｆａが後述するＥＣＵ５０に入力されている。このエアフロメータ７４として、例えばホットワイヤ式のエアフロメータが用いられる。また、エアフロメータ７４の近傍には、吸入空気の圧力Ｐｍを検出する吸気圧センサ６８と、吸入空気の温度Ｔａを検出する吸気温度センサ７０が設けられており、吸入空気の圧力Ｐｍと吸入空気の温度ＴａがそれぞれＥＣＵ５０に入力されている。
【００４７】
他方、エンジン１０の排気系を構成する排気管３４には、排気ガス中の酸素濃度Ｄｏを検出するリニア検出式の酸素濃度センサであるＡ／Ｆセンサ７６が設けられており、酸素濃度ＤｏがＥＣＵ５０に入力されている。そして、このＡ／Ｆセンサ７６で検出された酸素濃度Ｄｏは、例えばＥＧＲ制御に用いられる。
【００４８】
一方、このシステムの燃料供給系においては、燃料供給方式として筒内噴射式を採用している。すなわち、シリンダ１５内において燃焼室２０には、コモンレール３６（蓄圧配管）から分岐管１００を介して供給された高圧燃料（例えば噴射圧力「１０００気圧」以上の軽油）を、燃焼室２０内へ直接的に噴射供給する電磁駆動式の燃料噴射弁としてのインジェクタ４０が、さらに設けられている。その高圧燃料の圧力は、コモンレール３６内の圧力を検出するコモンレール圧センサ６４からの検出信号に基づいて制御されている。そして、エンジン１０においては、こうしたインジェクタ４０の開弁駆動により各シリンダ１５に対して所要の量の燃料が随時噴射供給されている。すなわち、エンジン１０の運転時には、吸気弁２８の開動作により吸入空気が吸気管３２からシリンダ１５の燃焼室２０内へ導入され、これがインジェクタ４０から噴射供給された燃料と混ざり、混合気の状態でシリンダ１５内のピストン１６により圧縮されて着火（自己着火）、燃焼し、排気弁３０の開動作により燃焼後の排気が排気管３４へ排出されることになる。
【００４９】
また燃焼室２０には、燃焼室２０内に位置する検出部（燃焼室２０内に差し込まれたプローブの先端部）にてシリンダ１６内の圧力Ｐ（筒内圧）を検出する筒内圧センサ６６が、例えば着火補助装置としてのグロープラグと一体にして設けられている（詳しくはシリンダヘッド２２に固定されている）。そしてこれにより、シリンダ１６内における燃焼状態の把握、すなわち着火時期や燃焼温度の推定、さらにはノッキング検出、燃焼圧のピーク位置検出、失火検出等が可能とされている。なお、筒内圧センサ６６で検出された筒内圧Ｐは、ＬＰＦ８０でノイズが除去されてＥＣＵ５０に入力される。また、上記インジェクタ４０と同様、筒内圧センサ６６もエンジン１０の各シリンダ（４つ図全て）の各燃焼室に対して、それぞれ設けられている。
【００５０】
また、排気ガスの一部をＥＧＲガスとして吸気系に還流させるためのＥＧＲ装置が、吸気管３２と排気管３４との間に配設されている。このＥＧＲ装置は、基本的には、吸気管３２と排気管３４とを連通するように設けられたＥＧＲ配管９０と、そのＥＧＲ配管９０に設けられた電磁弁等からなるＥＧＲ弁９１とによって構成されている。ＥＧＲ弁９１のバルブ開閉はＥＣＵ５０によって制御される。そして、ＥＧＲ弁９１のバルブ開度により、ＥＧＲ配管９０の通路面積、ひいてはＥＧＲ率（排気全体に対してシリンダ１６に戻されるＥＧＲガスの占める割合）が調節可能とされている。ちなみに、この調節は、上記Ａ／Ｆセンサ７６の出力に基づいて行われ、例えばＥＧＲ弁９１が全閉された状態では、ＥＧＲ配管９０が遮断され、ＥＧＲ量は「ゼロ」となる。また必要に応じて、ＥＧＲガスを冷却するＥＧＲクーラ等も、ＥＧＲ配管９０に対して設けられる。このＥＧＲ装置では、こうした構成に基づき、ＥＧＲ配管９０を通じて排気ガスの一部を吸気系に再循環することにより燃焼温度を下げてＮＯｘの発生を低減している。
【００５１】
さらに、上記エンジン１０を動力に利用して走行する図示しない車両（例えば４輪乗用車又はトラック等）には、上記各センサの他にも、車両制御のための各種センサが設けられている。例えば運転者の要求トルクを車両側に知らせるための運転操作部に相当するアクセルペダルには、同ペダルの状態（変位量）に応じた電気信号を出力するアクセルセンサ６２が、運転者によるアクセルペダルの操作量（踏み込み量）を検出するために設けられている。
【００５２】
こうしたシステムの中で、本実施形態の発熱量算出装置及び内燃機関の制御装置として機能する部分がＥＣＵ５０である。このＥＣＵ５０は、上記各種センサの検出信号に基づいてエンジン１０の運転条件やユーザの要求を把握し、それに応じてインジェクタ４０等の各種アクチュエータを操作することにより、その時々の状況に応じた最適な態様でエンジン１０に係る各種制御を行っている。例えばエンジン１０の定常運転時には、上記各センサの検出信号に基づいて、各種の燃焼条件（例えば噴射時期や燃料の噴射量等）を算出するとともに、各種アクチュエータを操作することで、上記各シリンダ内（燃焼室）での燃料燃焼を通じて生成される図示トルク（生成トルク）、ひいては実際に出力軸（クランク軸４３）へ出力される軸トルク（出力トルク）を制御する。
【００５３】
また本実施形態のＥＣＵ５０は、本発明の「発熱量算出装置」及び「内燃機関の制御装置」として機能し、クランク角θごとの熱発生率ｄＱ／ｄθを積算することによってインジェクタ４０から噴射された燃料のすべてが燃焼したときの総発熱量Ｑ１を算出するとともに、その総発熱量Ｑ１に基づいて噴射時期を制御する噴射時期制御処理を行っている。この噴射時期制御処理の詳細についてはフローチャートを参照して後述する。
【００５４】
そしてＥＣＵ５０は、各種の演算を行うＣＰＵ５１、その演算途中のデータや演算結果等を一時的に記憶するメインメモリとしてのＲＡＭ５２、プログラムメモリとしてのＲＯＭ５３等によって構成されている。またＲＯＭ５３には、プログラムの他に、上記噴射時期制御処理で用いられる各種データが記憶されている。図２は、ＲＯＭ５３のメモリを示した概念図である。図２に示すように、ＲＯＭ５３には、プログラム等を記憶するプログラムメモリ５３１の他に、燃焼時期決定用マップメモリ５３２、区間決定用マップメモリ５３３、ＦＢ量算出用係数メモリ５３４及び容積メモリ５３５が設けられている。以下、各メモリ５３２〜５３５について説明する。
【００５５】
燃焼時期決定用マップメモリ５３２には、インジェクタ４０から噴射された燃料のすべてが燃焼したときの総発熱量Ｑ１の５０％の燃焼割合のときのクランク角θの目標値である目標ＭＦＢ５０（目標燃焼時期）を決定するための燃焼時期決定用マップ（図示外）が記憶されている。この目標ＭＦＢ５０は、エンジンの回転数及び燃料の噴射量で定まる運転条件に応じて定められている。すなわち、燃焼時期決定用マップは、エンジンの回転数及び燃料の噴射量に対応して定められた目標ＭＦＢ５０のマップである。この目標ＭＦＢ５０は、ノッキングの防止、有害排気ガスの低減、出力の高効率化等の最適な燃焼を実現するためのパラメータである。したがって、総発熱量Ｑ１の５０％の燃焼割合のときのクランク角θの実際の値を実ＭＦＢ５０（実燃焼時期）としたときに、その実ＭＦＢ５０が目標ＭＦＢ５０となるように噴射時期を制御すれば、効果的にノッキングの防止、有害排気ガスの低減、出力の高効率化等を図ることができる。なお、目標ＭＦＢ５０が運転条件に応じて定められているのは、運転条件が異なれば燃焼条件も異なり、最適な燃焼をする条件が異なるためである。
【００５６】
区間決定用マップメモリ５３３には、ＥＣＵ５０が熱発生率ｄＱ／ｄθを積算して総発熱量Ｑ１を算出する際に、熱発生率ｄＱ／ｄθを積算するクランク角θの区間Ｒ（範囲）を決定するための区間決定用マップ（図示外）が記憶されている。その区間Ｒは、すべての燃料が燃焼したときの総発熱量Ｑ１が算出できる必要十分な区間である。このように区間Ｒを、すべての燃料が燃焼したときの総発熱量Ｑ１が算出できる必要十分な区間としているのは、すべての燃料が燃焼したときの総発熱量Ｑ１を算出できるようにするとともに、燃料が燃焼し終えた後の熱発生率ｄＱ／ｄθを必要以上に積算するのを防止するためである。また区間Ｒは、燃料の噴射時期や噴射量等で定められる運転条件ごとに定められている。なぜなら、運転条件が異なれば、燃料の燃焼開始時期や燃焼終了時期が異なるためである。したがって、区間決定用マップは、運転条件に対応して定められる区間Ｒのマップである。
【００５７】
ＦＢ量算出用係数メモリ５３４には、実ＭＦＢ５０が目標ＭＦＢ５０となるように噴射時期を制御するときのパラメータであるＦＢ量を決定するためのＦＢ量算出用係数が記憶されている。本実施形態では、フィードバック制御により噴射時期を制御しており、この際、どの程度フィードバックさせればよいのかを示したのがＦＢ量である。このＦＢ量は、運転条件や周囲の環境に応じて定められる値である。例えば、ある装置の温度をフィードバック制御により６０℃に保ちたいときにその外気温が１０℃のときと３０℃のときでは加熱に必要な熱量は異なってくる。すなわちＦＢ量が異なってくる。エンジン制御についても、これと同様なことが言え、運転条件や周囲の環境に応じて必要なＦＢ量が異なってくる。したがって、ＦＢ量算出用係数は、運転条件や周囲の環境に応じたＦＢ量を算出するための係数である。
【００５８】
本実施形態では、フィードバック制御としてＰＩＤ制御を採用している。このＰＩＤ制御は、入力値（噴射時期）を出力値（実ＭＦＢ５０）と目標値（目標ＭＦＢ５０）との偏差Ｅｒｒｏｒ、その積分、及び微分の３つの要素によって行う方法である。より詳細には、ＰＩＤ制御は、偏差Ｅｒｒｏｒに比例して入力値を変化させる比例動作、偏差Ｅｒｒｏｒの積分に比例して入力値を変化させる積分動作、及び偏差Ｅｒｒｏｒの微分に比例して入力値を変化させる微分動作が組み合わされた制御である。そしてＦＢ量は、比例動作に対応する比例ＦＢ量と、積分動作に対応する積分ＦＢ量と、微分動作に対応する微分ＦＢ量とから決定される。比例ＦＢ量は、偏差Ｅｒｒｏｒと比例ゲインＧｐとに基づいて決定される。また積分ＦＢ量は、偏差Ｅｒｒｏｒの積分と積分ゲインＧｉとに基づいて決定される。また微分ＦＢ量は、偏差Ｅｒｒｏｒの微分と微分ゲインＧｄとに基づいて決定される。そして、上記ＦＢ量算出用係数は、比例ゲインＧｐ、積分ゲインＧｉ及び微分ゲインＧｄのことである。これら比例ゲインＧｐ、積分ゲインＧｉ、微分ゲインＧｄは、運転条件や周囲の環境に応じたＦＢ量を算出できるように定められた適合値である。このように、ＰＩＤ制御を採用しているのは、運転条件や周囲の環境ごとにＦＢ量算出用係数を定めなくても、運転条件や周囲の環境に応じたＦＢ量を算出できるからである。
【００５９】
容積メモリ５３５には、クランク角θごとのシリンダ１６の容積Ｖ（燃焼室２０の容積）が記憶されている。図３は、クランク角θごとの容積Ｖを示した図である。なお、上死点ＴＤＣのときのクランク角θを「ゼロ」とし、下死点ＢＤＣのときのクランク角θを「１８０°」としている。図３に示すように、容積Ｖは、上死点ＴＤＣのときに最も小さくなり、下死点ＢＤＣに近づくにつれて徐々に大きくなり、下死点ＢＤＣのときに最も大きくなる。そして、容積Ｖは、上死点ＴＤＣを中心にして、遅角側ＡＴＤＣと進角側ＢＴＤＣとで対称となっている。すなわち、例えばＡＴＤＣ５０°のときの容積Ｖと、ＢＴＤＣ５０°のときの容積Ｖとは等しい。
【００６０】
続いて、クランク角θごとの熱発生率ｄＱ／ｄθを積算することによってインジェクタ４０から噴射された燃料のすべてが燃焼したときの総発熱量Ｑ１を算出するとともに、その総発熱量Ｑ１に基づいて噴射時期を制御する噴射時期制御処理について、フローチャートを参照して説明する。この噴射時期制御処理はＥＣＵ５０が実行する。図４は噴射時期制御処理のメインルーチンを示したフローチャートである。なお、図４のフローチャートの処理は、エンジンが始動されている状態で一定期間おきに実行される。
【００６１】
先ずステップＳ１０で、運転条件に応じた目標ＭＦＢ５０を決定する目標燃焼時期決定処理を実行する。図５は目標燃焼時期決定処理の詳細を示したフローチャートである。以下、図５のフローチャートを参照して、目標燃焼時期決定処理の詳細を説明する。
【００６２】
先ずステップＳ１１１で、エンジンの回転数を取得する。エンジンの回転数は、クランク角センサ６０によって検出されるクランク角θが単位時間当たりにどの程度変化するかに基づいて算出することができる。すなわち、クランク角θの単位時間当たりの変化が大きくなるにつれて、エンジンの回転数が大きくなる。なおステップＳ１１１は本発明の「回転数取得手段」に相当する処理である。
【００６３】
続くステップＳ１１２では、インジェクタ４０で噴射させる燃料の指令噴射量を取得する。この指令噴射量は、ステップＳ１１１で取得されたエンジンの回転数やエアフロメータ７４、吸気圧センサ６８、吸気温度センサ７０等の各種センサの検出値に基づいて、ユーザからの要求や運転条件、周囲の環境を考慮してＥＣＵ５０自身が決定する値である。
【００６４】
続くステップＳ１１３は、本発明の「目標燃焼時期決定手段」に相当する処理であり、エンジンの回転数と指令噴射量とで定められる運転条件に対応した目標ＭＦＢ５０を、図２の燃焼時期決定用マップメモリ５３２に記憶されている燃焼時期決定用マップから決定する。その後、図５のフローチャートの処理を終了する。このように、エンジンの回転数と指令噴射量に応じた目標ＭＦＢ５０を決定しているのは、エンジンの回転数と指令噴射量に応じた最適な燃焼を実現するためである。
【００６５】
説明を図４のフローチャートの処理に戻り、ステップＳ１０の処理の後、ステップＳ１２で、すべての燃料が燃焼したときの総発熱量Ｑ１を算出する総発熱量算出処理を実行する。図６は総発熱量算出処理の詳細を示したフローチャートである。以下、図６のフローチャートを参照して、総発熱量算出処理の詳細を説明する。
【００６６】
先ずステップＳ１２１で、クランク角センサ６０の検出信号に基づいて、クランク角θを逐次取得する。なお、ステップＳ１２１は本発明の「クランク角取得手段」に相当する処理である。
【００６７】
続くステップＳ１２３は、本発明の「筒内圧取得手段」に相当する処理であり、ステップＳ１２１で取得したクランク角θの各々に対して、筒内圧センサ６６が検出する筒内圧Ｐを取得し、その筒内圧Ｐを対応するクランク角θと対応つけてＲＡＭ５２に記憶する。なお、筒内圧センサ６６で検出される筒内圧Ｐとして必ずしも常に適正な値が得られるというわけではない。例えば温度変化等の外的要因、筒内圧センサ６６自体の特性ばらつき又は経年変化等により、真の筒内圧Ｐ０に不要なオフセット誤差αが重畳することがある。図１１は、ＲＡＭ５２に記憶される筒内圧Ｐの波形１を示した図である。また図１１には、波形１と比較するために、真の筒内圧Ｐ０の波形２も示している。図１１に示すように、筒内圧Ｐの波形１は、真の筒内圧Ｐ０の波形２に対して、オフセット誤差αが重畳されている。
【００６８】
ここで、上述したように、クランク角センサ６０やパルサ４２の取り付け誤差等のために、上死点ＴＤＣではないにもかかわらずクランク角センサ６０が上死点信号を出力することがあり得る。このような場合、ステップＳ１２１において、上死点ＴＤＣを基準として検出されるクランク角θにずれが生じることになる。クランク角θがずれていると、ステップＳ１２３でそのクランク角θに対応付けて記憶した筒内圧Ｐもずれてしまい、その結果、算出される熱発生率ｄＱ／ｄθや総発熱量Ｑ１の精度が悪くなる。そこで、ステップＳ１２５で、クランク角センサ６０で検出される上死点ＴＤＣを真の上死点ＴＤＣに補正する上死点位置補正処理が実行される。図７は上死点位置補正処理の詳細を示したフローチャートである。以下、図７のフローチャートを参照して、上死点位置補正処理の詳細を説明する。
【００６９】
先ずステップＳ３１で、平均回数を示す変数ＭをゼロにしてＲＡＭ５２に記憶する。ここで、上死点ＴＤＣは、クランク角θに対する筒内圧Ｐの変化に着目することにより検出することができる。すなわち、クランク角θの変化にともなって、容積Ｖが変化することになるが、筒内圧Ｐは、燃料が噴射されていない状態では容積Ｖが小さいほど大きくなると考えられる。そして容積Ｖが最も小さいとき、すなわち上死点ＴＤＣのときに、筒内圧Ｐは最も大きくなると考えられる。なお、燃料が噴射されている状態では、燃焼の影響により、上死点ＴＤＣのときでも筒内圧Ｐは最大とならないことがある。したがって、筒内圧Ｐから上死点ＴＤＣを検出するには、燃料が噴射されていない状態における筒内圧Ｐに着目するのが望ましい。
【００７０】
そこで、ステップＳ３３で、現在燃料が噴射されていない状態、すなわちフューエルカット状態であるか否かを判断する。燃料の噴射時期はＥＣＵ５０自身で決定しているので、ＥＣＵ５０は現在フューエルカット状態であるか否かを判断することができる。この際、フューエルカット状態ではない場合には、フューエルカット状態になるまで待機状態となる（Ｓ３３：ＮＯ）。そして、フューエルカット状態の場合には（Ｓ３３：ＹＥＳ）、ステップＳ３５で、クランク角θごとに、筒内圧センサ６６で検出される筒内圧を補正用筒内圧として取得して、ＲＡＭ５２に記憶する。なお、ステップＳ３３、Ｓ３５は本発明の「補正用筒内圧取得手段」に相当する処理である。図８は、ＲＡＭ５２に記憶される補正用筒内圧の波形２０１を示した図である。図８に示すように、補正用筒内圧の波形２０１は、上死点ＴＤＣのときにピーク２０２をとっている。したがって、真の上死点ＴＤＣに対応するクランク角θを上死点角度θＴＤＣとしたときに、ピーク２０２（最大筒内圧）に対応するクランク角θが上死点角度θＴＤＣとなる。
【００７１】
このように、上死点角度θＴＤＣを検出するには、理論的にはピーク２０２に対応するクランク角θを読み取ればいいわけだが、実際には、筒内圧センサ６６で検出される筒内圧は、ノイズ等の影響でばらつく。図９は、波形２０１のピーク２０２周辺（図８の点線枠内）を拡大した図である。なお、参考までに、ノイズ等の影響がない場合の補正用筒内圧の波形２０３も示している。図９に示すように、波形２０１はノイズ等の影響によって、きれいな波形になっていないことがわかる。したがって、波形２０１のピーク２０２に対応するクランク角θｘは、真の上死点角度θＴＤＣ（ノイズ等の影響がない場合の補正用筒内圧の波形２０３のピーク２０４に対応するクランク角）と厳密には一致しない。そこで本実施形態では、異なる時間で検出される複数のクランク角θｘの平均値θｘ＿ａｖｅを上死点角度θＴＤＣとみなしている。なお、図９には、クランク角センサ６０で検出される補正前の上死点位置が参考までに示されている。
【００７２】
すなわちステップＳ３７で、ＲＡＭ５２に記憶されている補正用筒内圧の波形２０１（図９参照）から、最大筒内圧となるピーク２０２を検出する。なおステップＳ３７は本発明の「最大点検出手段」に相当する処理である。そしてステップＳ３９は、本発明の「上死点角度取得手段」に相当する処理であり、ピーク２０２に対応するクランク角θｘをＲＡＭ５２に記憶する。続くステップＳ４１で、ステップＳ３１でＲＡＭ５２に記憶した平均回数を示す変数Ｍを１加算する。続くステップＳ４３で、その平均回数を示す変数Ｍが所定の規定個数Ｎ以上となったか否かを判断する。なお、規定個数Ｎは、平均値θｘ＿ａｖｅを算出するためのクランク角θｘの個数である。したがって、大きな規定個数Ｎであるほど、算出される平均値θｘ＿ａｖｅはノイズ等の影響が抑えられて真の上死点角度θＴＤＣに近づくと考えられる。しかし規定個数Ｎがあまりに大きすぎると、平均値θｘ＿ａｖｅの算出に計算負荷が大きくなったり時間がかかったりする。そのため、規定個数Ｎは、算出される平均値θｘ＿ａｖｅの精度と計算負荷等を考慮して定められている。
【００７３】
ステップＳ４３において、平均回数を示す変数Ｍが未だ規定個数Ｎに達していない場合には（Ｓ４３：ＮＯ）、ステップＳ３３の処理に戻る。その後、フューエルカット状態で、再び補正用筒内圧を取得して（Ｓ３５）、その補正用筒内圧に基づいて、最大筒内圧に対応するクランク角θｘをＲＡＭ５２に蓄積して記憶する（Ｓ３９）。そして、ＲＡＭ５２に記憶されているクランク角θｘの個数（変数Ｍ）が、規定個数Ｎ以上となった場合には（Ｓ４３：ＹＥＳ）、ステップＳ４５で、ＲＡＭ５２に記憶されているクランク角θｘの平均値θｘ＿ａｖｅを算出する。ここで、図１０は、最大筒内圧となるクランク角θｘの時間変化を示した図である。このように、筒内圧センサ６６で検出される筒内圧はノイズ等の影響で時間的に変化し、それに伴って、クランク角θｘも時間的に変化することになる。図１０には、クランク角θｘの分布を示した分布曲線２１０も示されている。上述のステップＳ３１〜Ｓ４５によって平均値θｘ＿ａｖｅを算出することは、分布曲線２１０のピークに対応するクランク角θｘを算出することと同じである。
【００７４】
そしてステップＳ４７で、クランク角θが平均値θｘ＿ａｖｅのときに上死点位置となるように設定する。これによって、図６のステップＳ１２１で取得したクランク角θは、平均値θｘ＿ａｖｅを上死点ＴＤＣとして、上死点ＴＤＣの遅角側ＡＴＤＣをプラスの角度、進角側ＢＴＤＣをマイナスの角度となるように補正される。その後、図７のフローチャートの処理を終了する。なお、ステップＳ４５、Ｓ４７は本発明の「補正手段」に相当する処理である。また、ステップＳ３１〜Ｓ４３は本発明の「上死点検出手段」に相当する処理である。
【００７５】
説明を図６のフローチャートの処理に戻り、ステップＳ１２５の上死点位置補正処理が実行された後、本発明の「容積取得手段」に相当する処理であるステップＳ１２７で、図２の容積メモリ５３５に記憶されているクランク角θごとの容積Ｖ（図３参照）を読み出す。
【００７６】
そしてステップＳ１２９は、本発明の「熱発生率算出手段」に相当する処理であり、下記数３式によって、クランク角θの各々に対して、クランク角θの単位角度あたりの熱発生率ｄＱ／ｄθを算出して、ＲＡＭ５２に記憶する。
【数３】
2010196556.tif 000005
【００７７】
なお、数３式は特許文献１など多くの文献に記載されており、熱発生率（ｄＱ／ｄθ）を算出するための信頼度が高い式であると考えられる。ここで、数３式中のκは比熱比、ｄＶ／ｄθはクランク角θの単位角度あたりの容積Ｖの変化率（容積変化率）、ｄＰ／ｄθはクランク角θの単位角度あたりの筒内圧Ｐの変化率（筒内圧変化率）である。なお容積変化率ｄＶ／ｄθは、ステップＳ１２７で読み出したクランク角θごとの容積Ｖ（図３参照）に基づいて算出することができる。また筒内圧変化率ｄＰ／ｄθは、ステップＳ１２３で取得・記憶したクランク角θごとの筒内圧Ｐ（図１１参照）に基づいて算出することができる。このように、筒内圧Ｐ、容積Ｖ、容積変化率ｄＶ／ｄθ及び筒内圧変化率ｄＰ／ｄθを数３式に代入することにより、熱発生率ｄＱ／ｄθを算出することができる。ただし、上述したように、筒内圧Ｐにオフセット誤差αが重畳されている場合には、算出される熱発生率ｄＱ／ｄθに誤差が生じることになる。
【００７８】
図１２は、クランク角θごとの熱発生率ｄＱ／ｄθの波形３を示した図である。また図１２には、参考までに、筒内圧Ｐにオフセット誤差αが重畳されていない場合の熱発生率ｄＱ／ｄθの波形４も示している。筒内圧Ｐにオフセット誤差αが重畳されていない場合の熱発生率ｄＱ／ｄθ（波形４）は、上死点ＴＤＣの進角側ＢＴＤＣでは、ほぼゼロとなっている。そして、遅角側ＡＴＤＣの上死点ＴＤＣ付近で急激に変化しており、さらに遅角側ＡＴＤＣになると小さい値となっている。このように、熱発生率ｄＱ／ｄθが進角側ＢＴＤＣでほぼゼロとなっているのは、進角側ＢＴＤＣでは燃料の燃焼が未だ開始されていないからである。また、熱発生率ｄＱ／ｄθが遅角側ＡＴＤＣの上死点ＴＤＣ付近で急激に変化しているのは、その付近で燃料の燃焼がなされるからである。その後クランク角が進んで、熱発生率ｄＱ／ｄθが小さい値となっているのは、燃料の燃焼の大部分が終了したためである。
【００７９】
一方、筒内圧Ｐにオフセット誤差αが重畳されている場合の熱発生率ｄＱ／ｄθ（波形３）は、燃料の燃焼が未だ開始されていないにもかかわらず、進角側ＢＴＤＣでゼロとなっていない。また、遅角側ＡＴＤＣの上死点ＴＤＣ付近では、波形４と近似しているが、クランク角が進んで燃料の燃焼の大部分が終了しているにもかかわらず、熱発生率ｄＱ／ｄθは一定以上の値をとっている。すなわち、波形３と波形４とを比較すると、筒内圧Ｐにオフセット誤差αが重畳されている場合には、熱発生率ｄＱ／ｄθに誤差が生じていることがわかる。
【００８０】
そして、一般的に総発熱量Ｑ１は、燃料が燃焼している区間で熱発生率ｄＱ／ｄθを積算することで算出できるが、熱発生率ｄＱ／ｄθに誤差があると、その熱発生率ｄＱ／ｄθに基づいて算出される総発熱量Ｑ１も誤差が生じてしまう。例えば、燃料の燃焼が上死点ＴＤＣに対応する上死点角度θＴＤＣで開始されたとすると、あるクランク角θまでの間に発熱した燃料の総発熱量Ｑは、区間［θＴＤＣ、θ］で熱発生率ｄＱ／ｄθを積算することにより算出することができる。図１３は、クランク角θを変数としたときの、筒内圧Ｐにオフセット誤差αが重畳されている場合の熱発生率ｄＱ／ｄθ（図１２の波形３）を区間［θＴＤＣ、θ］で積算して算出した総発熱量Ｑの波形５を示した図である。また図１３には、クランク角θを変数としたときの、筒内圧Ｐにオフセット誤差αが重畳されていない場合の熱発生率ｄＱ／ｄθ（図１２の波形４）を区間［θＴＤＣ、θ］で積算して算出した総発熱量Ｑの波形６も示している。図１３に示すように、波形５と波形６とを比較すると、クランク角θが大きくなるほど、筒内圧Ｐにオフセット誤差αが重畳されている場合の総発熱量Ｑ（波形５）の誤差が大きくなる。これは、クランク角θが大きくなるほど、誤差を含んだ熱発生率ｄＱ／ｄθを多く積算するからである。したがって、すべての燃料が燃焼したときの総発熱量Ｑ１を算出するためには、クランク角θをある程度大きく定めなければならないが、上述したようにクランク角θを大きくとると総発熱量Ｑ１の誤差が大きくなる。そこで本発明の発熱量算出装置は、この課題を解決することを目的としている。以下、この課題をどのように解決したかを説明する。
【００８１】
先ず、筒内圧Ｐに誤差αが含まれている場合の熱発生率ｄＱ／ｄθの誤差Ｆについて検討する。真の筒内圧をＰ０とすると、Ｐ＝Ｐ０＋αの関係が成り立つ。なお、オフセット誤差αは、どの筒内圧Ｐでも等しい値とする。このＰ＝Ｐ０＋αを数３式に代入すると、下記数４式が導かれる。
【数４】
2010196556.tif 000006
【００８２】
数４式中の右辺のκ／（κ−１）×α（ｄＶ／ｄθ）が熱発生率（ｄＱ／ｄθ）の誤差Ｆである。なお、数４式中の誤差Ｆを除いた値が、真の筒内圧Ｐ０に対する熱発生率ｄＱ／ｄθである。図１４は、熱発生率ｄＱ／ｄθの波形３と、真の筒内圧Ｐ０に対する熱発生率ｄＱ／ｄθの波形４と誤差Ｆの波形７とを示した図である。数４式より、熱発生率ｄＱ／ｄθは、真の筒内圧Ｐ０に対する熱発生率ｄＱ／ｄθと誤差Ｆとを加算したものであるので、波形３は波形４と波形７とに分解することができる。
【００８３】
ここで、κ／（κ−１）×α（ｄＶ／ｄθ）で表される誤差Ｆは、容積変化率ｄＶ／ｄθを変数とした関数である。そして、その容積変化率（ｄＶ／ｄθ）は、上死点ＴＤＣを中心にして正負が反対になった対称な値となるので、誤差Ｆも上死点ＴＤＣを中心にして正負が反対になった対称な値となる。例えば上死点後５０°（ＡＴＤＣ５０°）における誤差ＦをＦ５０とすると、上死点前５０°（ＢＴＤＣ５０°）における誤差Ｆは（−Ｆ５０）となる。すなわち図１４の誤差Ｆの波形７は、上死点ＴＤＣを中心にして正負が反対になった対称な形となっている。
【００８４】
したがって、熱発生率ｄＱ／ｄθを積算するクランク角θの区間Ｒ（範囲）を、上死点ＴＤＣを中心に遅角側ＡＴＤＣと進角側ＢＴＤＣとで等しくすれば、熱発生率ｄＱ／ｄθの誤差Ｆの影響を打ち消すことができる。そこで、ステップＳ１３１では、熱発生率ｄＱ／ｄθを積算するクランク角θの区間Ｒを、図３に示す区間決定用マップメモリ５３３に記憶されている区間決定用マップで決定する。この際、上死点ＴＤＣを中心に遅角側ＡＴＤＣと進角側ＢＴＤＣとで等しくなるように区間Ｒを決定する。また、エンジンの回転数、燃料の噴射時期、噴射量等で定められる運転条件に応じて、すべての燃料が燃焼したときの総発熱量Ｑ１が算出できる必要十分な区間となるように区間Ｒを決定する。このように区間Ｒを、すべての燃料が燃焼したときの総発熱量Ｑ１が算出できる必要十分な区間としているのは、すべての燃料が燃焼したときの総発熱量Ｑ１を算出できるようにするとともに、燃料が燃焼し終えた後の熱発生率ｄＱ／ｄθを必要以上に積算するのを防止するためである。なお、ステップＳ１３１は本発明の「区間決定手段」に相当する処理である。
【００８５】
したがって、すべての燃料の燃焼が終了したときのクランク角θをＢとし、上死点前の特定クランク角Ｂを−Ｂとしたときに、ステップＳ１３１で決定される区間Ｒは［−Ｂ、Ｂ］となる。
【００８６】
そしてステップＳ１３３は、本発明の「積算手段」に相当する処理であり、図１２、図１４に示す熱発生率ｄＱ／ｄθ（波形３）を、ステップＳ１３１で決定した区間［−Ｂ、Ｂ］で積算する。図１５は、クランク角θを変数として、図１２、図１４に示す熱発生率ｄＱ／ｄθ（波形３）を区間［−Ｂ、θ］で積算して算出した総発熱量Ｑの波形８を示した図である。また図１５には、筒内圧Ｐにオフセット誤差αが重畳されている場合の熱発生率ｄＱ／ｄθ（図１２の波形３）を区間［θＴＤＣ、Ｂ］で積算して算出した総発熱量Ｑの波形５を示している。さらに図１５には、筒内圧Ｐにオフセット誤差αが重畳されていない場合の熱発生率ｄＱ／ｄθ（図１２の波形４）を区間［θＴＤＣ、Ｂ］で積算して算出した総発熱量Ｑの波形６も示している。
【００８７】
図１５に示すように、熱発生率ｄＱ／ｄθを区間［−Ｂ、θ］で積算して算出した総発熱量Ｑ（波形８）は、θが進角側ＢＴＤＣの範囲では、マイナスの値となっている。そしてθが上死点角度θＴＤＣに近づくほど、マイナスの値が大きくなっている。これは、θが進角側ＢＴＤＣの範囲では、熱発生率ｄＱ／ｄθ（波形３）の値はマイナスとなっているためである（図１２、図１４参照）。一方、θが遅角側ＡＴＤＣの範囲では、熱発生率ｄＱ／ｄθ（波形３）の値はプラスとなっているので（図１２、図１４参照）、総発熱量Ｑ（波形８）もクランク角が進むにつれて徐々に大きくなっている。そして、θがＢのときでは、総発熱量Ｑ（波形８）は、筒内圧Ｐにオフセット誤差αが重畳されていない場合の総発熱量Ｑ１（波形６）と一致する。すなわち、熱発生率ｄＱ／ｄθを区間［−Ｂ、Ｂ］で積算することにより、オフセット誤差αの影響を取り除いた精度の高い総発熱量Ｑ１を算出することができる。なお、熱発生率ｄＱ／ｄθを区間［θＴＤＣ、Ｂ］で積算して算出した総発熱量Ｑ（波形５）は、上述したように誤差が含まれている。
【００８８】
ここで、熱発生率ｄＱ／ｄθ（図１４の波形３）は、上述したように、真の筒内圧Ｐ０に対する熱発生率ｄＱ／ｄθ（図１４の波形４）と誤差Ｆ（図１４の波形７）とに分解することができる。したがって、熱発生率ｄＱ／ｄθ（図１４の波形３）を区間［−Ｂ、Ｂ］で積算した値は、真の筒内圧Ｐ０に対する熱発生率ｄＱ／ｄθ（図１４の波形４）を区間［−Ｂ、Ｂ］で積算した値と、誤差Ｆ（図１４の波形７）を区間［−Ｂ、Ｂ］で積算した値とを足しあわせた値となる。そして、誤差Ｆは、上述したように、上死点ＴＤＣを中心にして正負が対称になった値であるので、誤差Ｆ（図１４の波形７）を区間［−Ｂ、Ｂ］で積算した値はゼロとなる。そのため、熱発生率ｄＱ／ｄθ（図１４の波形３）を区間［−Ｂ、Ｂ］で積算することは、真の筒内圧Ｐ０に対する熱発生率ｄＱ／ｄθ（図１４の波形４）を区間［−Ｂ、Ｂ］で積算するのと同義である。そして真の筒内圧Ｐ０に対する熱発生率ｄＱ／ｄθは、燃料の燃焼が開始するまでは、ゼロであると考えられる。したがって、積算する区間［−Ｂ、Ｂ］が、燃料の燃焼が開始する前の区間を含んでいたとしても、その区間ではゼロの熱発生率ｄＱ／ｄθを積算することになるので、総発熱量Ｑ１の算出には影響を与えない。よって、オフセット誤差αの影響を打ち消しつつ、特定クランク角Ｂになるまでの間に発熱した燃料の総発熱量Ｑ１を算出することができる。
【００８９】
ステップＳ１３５で総発熱量Ｑ１を算出した後、図６に示す総発熱量算出処理は終了する。そして図４のフローチャートの処理に戻り、ステップＳ１４で、総発熱量Ｑ１の５０％の燃焼割合のときのクランク角θである実ＭＦＢ５０を検出する。なおステップＳ１４は本発明の「実燃焼時期検出手段」に相当する処理である。図１６は、実ＭＦＢ５０の検出方法を説明するための図である。その図１６は、クランク角θを変数としたときの、筒内圧Ｐにオフセット誤差αが重畳されている場合の熱発生率ｄＱ／ｄθ（図１２の波形３）を区間［θＴＤＣ、θ］で積算して算出した総発熱量Ｑの波形５を示している。また図１３は、クランク角θを変数としたときの、筒内圧Ｐにオフセット誤差αが重畳されていない場合の熱発生率ｄＱ／ｄθ（図１２の波形４）を区間［θＴＤＣ、θ］で積算して算出した総発熱量Ｑの波形６も示している。
【００９０】
そして、特定クランク角Ｂに対応する波形６の点１５０が総発熱量Ｑ１を示している。その点１５０の半分の高さに相当する波形６の点１５１が、総発熱量Ｑ１の５０％の燃焼割合を示している。したがって、波形６の点１５１に対応するクランク角θが実ＭＦＢ５０となるわけだが、筒内圧Ｐにオフセット誤差αがあることを前提としており、波形６は実際には検出されるわけではないので問題となる。
【００９１】
ここで、図１６の波形５と波形６とを比較すると、上死点ＴＤＣ付近では、波形５と波形６とは近似している。そして、実ＭＦＢ５０は一般的に上死点ＴＤＣ付近になると考えられる。すなわち波形６の点１５１は、波形５上の点とみなすことができる。そこでステップＳ１４では、ステップＳ１２で算出した総発熱量Ｑ１を示した点１５０の半分の高さに相当する波形５の点１５１を検出する。なお、波形５は、熱発生率ｄＱ／ｄθを区間［θＴＤＣ、Ｂ］で積算して算出した総発熱量Ｑを示しているので、熱発生率ｄＱ／ｄθを区間［θＴＤＣ、Ｂ］で積算して波形５を算出する。
【００９２】
そして、波形５の点１５１に対応するクランク角θを実ＭＦＢ５０として読み取る。本実施形態では、実ＭＦＢ５０が目標ＭＦＢ５０となるように噴射時期をフィードバック制御している。そして、どの程度フィードバックさせればよいのかを示したＦＢ量を決定するために、ステップＳ１６では、ステップＳ１０で決定した目標ＭＦＢ５０と、ステップＳ１４で検出した実ＭＦＢ５０との偏差Ｅｒｒｏｒ（目標ＭＦＢ５０−実ＭＦＢ５０）を算出する。
【００９３】
続くステップＳ１８では、その偏差Ｅｒｒｏｒを下記数５式に代入して、実ＭＦＢ５０が目標ＭＦＢ５０となるように噴射時期を制御するときのパラメータであるＦＢ量を決定する。
【数５】
2010196556.tif 000007
【００９４】
なお、数５式はＰＩＤ制御におけるＦＢ量を算出式である。このＰＩＤ制御は、入力値（噴射時期）を出力値（実ＭＦＢ５０）と目標値（目標ＭＦＢ５０）との偏差Ｅｒｒｏｒ、その積分、及び微分の３つの要素によって行う方法である。より詳細には、ＰＩＤ制御は、偏差Ｅｒｒｏｒに比例して入力値を変化させる比例動作、偏差Ｅｒｒｏｒの積分に比例して入力値を変化させる積分動作、及び偏差Ｅｒｒｏｒの微分に比例して入力値を変化させる微分動作が組み合わされた制御である。そしてＦＢ量は、比例動作に対応する比例ＦＢ量と、積分動作に対応する積分ＦＢ量と、微分動作に対応する微分ＦＢ量とから決定される。比例ＦＢ量は、偏差Ｅｒｒｏｒと比例ゲインＧｐとに基づいて決定される。また積分ＦＢ量は、偏差Ｅｒｒｏｒの積分と積分ゲインＧｉとに基づいて決定される。また微分ＦＢ量は、偏差Ｅｒｒｏｒの微分と微分ゲインＧｄとに基づいて決定される。これら比例ゲインＧｐ、積分ゲインＧｉ、微分ゲインＧｄは、運転条件や周囲の環境に応じたＦＢ量を算出できるように定められた適合値であり、図３に示すＦＢ量算出用係数メモリ５３４に予め記憶されている。
【００９５】
続くステップＳ２０では、ステップＳ１８で決定したＦＢ量に基づいて、燃料の噴射時期を遅角若しくは進角させて、図４の噴射時期制御処理のメインルーチンを終了する。これにより、実ＭＦＢ５０が目標ＭＦＢ５０となるように制御されるので、運転条件に応じた最適な燃焼を実現できる。
【００９６】
以上説明したように、本実施形態のエンジン制御システムによれば、筒内圧Ｐに含まれるオフセット誤差αの影響を打ち消しつつ、すべての燃料が燃焼したときの総発熱量Ｑ１を算出することができる。
【００９７】
また、熱発生率ｄＱ／ｄθを積算する区間［−Ｂ、Ｂ］は、すべての燃料が燃焼したときの総発熱量Ｑ１が算出できる必要十分な区間となるように決定される。すなわち、区間［−Ｂ、Ｂ］は、燃料の燃焼が開始されてからすべての燃料が燃焼するまでの区間を含んでいる。したがって、すべての燃料が燃焼したときの総発熱量Ｑ１を算出できる。また、区間［−Ｂ、Ｂ］は、すべての燃料が燃焼したときの総発熱量Ｑ１が算出できる必要十分な区間であるので、総発熱量Ｑ１を算出するために、熱発生率ｄＱ／ｄθを積算する際に、燃料が燃焼し終えた後の熱発生率ｄＱ／ｄθを必要以上に積算することがない。よって、計算負荷を低減できる。
【００９８】
また、図６のステップＳ１２１で取得されたクランク角θは、真の上死点ＴＤＣが基準となっている角度に補正される。すなわち、精度が良い角度であるといえる。そのため、そのクランク角θに対応させて算出される熱発生率ｄＱ／ｄθや総発熱量Ｑ１は精度が良いものであると言える。
【００９９】
また本実施形態のエンジン制御システムによれば、実ＭＦＢ５０が目標ＭＦＢ５０となるように噴射時期が制御されるので、ノッキングの防止、有害排気ガスの低減、出力の高効率化等を図ることができる。この際、実ＭＦＢ５０を総発熱量Ｑ１に基づいて検出しており、その総発熱量Ｑ１は、筒内圧Ｐにオフセット誤差αが含まれている場合であっても、正確な値であると言えるので、精度が高い実ＭＦＢ５０を検出することができる。したがって、正確に燃料の燃焼時期を制御することができる。
【０１００】
また、目標ＭＦＢ５０は、エンジンの回転数と燃料の噴射量とで定められるエンジンの運転条件に応じて決定されるので、エンジンの運転条件に応じて適切に燃料の燃焼を制御することができる。
【０１０１】
また、ＰＩＤ制御によって実ＭＦＢ５０が目標ＭＦＢ５０なるように噴射時期が制御されるので、周囲の温度等の環境が変化しても、適切に燃料の燃焼時期を制御することができる。
（第二実施形態）
【０１０２】
次に、本発明の第二実施形態について図面を参照しながら説明する。この第二実施形態は、本発明の発熱量算出装置及びインジェクタの異常検出装置を具現化した実施形態である。本実施形態のエンジン制御システムは、指令噴射量Ｓの燃料がインジェクタから噴射された場合におけるその燃料の総発熱量を予定総発熱量Ｑ２としたときに、指令噴射量Ｓから予定総発熱量Ｑ２を算出している。そして、第一実施形態と同じ方法で算出した実際の燃料の総発熱量Ｑ１とその予定総発熱量Ｑ２とを比較して、インジェクタから指令噴射量Ｓ相当の燃料が本当に噴射されているかを判断している。そして、指令噴射量Ｓ相当の燃料が噴射されていないと判断した場合には、インジェクタの異常を出力する。以下、本実施形態のエンジン制御システムについて第一実施形態と異なる部分を中心に説明する。
【０１０３】
先ず、本実施形態のエンジン制御システムの構成について説明する。本実施形態のエンジン制御システムは、図１に示す第一実施形態と同じ構成である。ただし、ＲＯＭ５３に記憶されているデータの内容と、ＥＣＵ５０が実行する処理とが第一実施形態と異なっている。その他の要素については同じである。
【０１０４】
図１７は、本実施形態のＲＯＭ５３のメモリを示した概念図である。なお、第一実施形態と同じメモリには同じ符号を付している。図１７に示すように、本実施形態のＲＯＭ５３には、プログラムメモリ５３１、燃焼時期決定用マップメモリ５３２、区間決定用マップメモリ５３３、ＦＢ量算出用係数メモリ５３４、容積メモリ５３５、補正係数メモリ５３６及び基準値メモリ５３７が設けられている。プログラムメモリ５３１、燃焼時期決定用マップメモリ５３２、区間決定用マップメモリ５３３、ＦＢ量算出用係数メモリ５３４、容積メモリ５３５には、それぞれ第一実施形態と同じデータが記憶されている。
【０１０５】
補正係数メモリ５３６には、予定総発熱量Ｑ２の算出の際に用いられる補正係数Ｈが記憶されている。予定総発熱量Ｑ２は、指令噴射量Ｓの燃料がどの程度熱に変化するのかによる。そして、どの程度熱に変化するかは、エンジン回転数や指令噴射量Ｓで定められる運転条件によって異なる。補正係数Ｈは、指令噴射量Ｓの燃料がどの程度熱に変化するのかを示した係数であって、運転条件ごとに適合値として定められている。
【０１０６】
基準値メモリ５３７には、エンジン回転数及び指令噴射量Ｓで定められる運転条件で燃料が燃焼した場合に、吸気量、吸気圧、ＥＧＲ率、吸気温度、エンジン水温及びコモンレール圧力のそれぞれが一般的に取り得る値として、それぞれの基準値が記憶されている。すなわち、基準値メモリ５３７には、運転条件ごとに基準値が記憶されている。
【０１０７】
本実施形態のＥＣＵ５０は、本発明の「発熱量算出装置」及び「インジェクタの異常検出装置」として機能し、インジェクタ４０の異常を検出する異常検出処理を実行している。以下、その異常検出処理について説明する。図１８は、異常検出処理のメインルーチンを示したフローチャートである。なお、図１８のフローチャートの処理は、エンジンが始動されている状態で一定期間おきに実行される。また、第一実施形態と同じ処理には同じ符号を付している。
【０１０８】
先ずステップＳ１２で、第一実施形態と同じ方法ですべての燃料が燃焼したときの総発熱量Ｑ１を算出する。続くステップＳ７１は、本発明の「指令噴射量取得手段」に相当する処理であり、インジェクタ４０で噴射させる燃料の指令噴射量Ｓを取得する。この指令噴射量Ｓは、エンジンの回転数やエアフロメータ７４、吸気圧センサ６８、吸気温度センサ７０等の各種センサの検出値に基づいて、ユーザからの要求や運転条件、周囲の環境を考慮してＥＣＵ５０自身が決定する値である。
【０１０９】
続くステップＳ７３は、本発明の「予定総発熱量算出手段」に相当する処理であり、その指令噴射量Ｓから予定総発熱量Ｑ２を算出する予定総発熱量算出処理を実行する。図１９は予定総発熱量算出処理の詳細を示したフローチャートである。以下、予定総発熱量算出処理の詳細を説明する。
【０１１０】
先ずステップＳ９１で、エンジン回転数や指令噴射量Ｓに応じた補正係数Ｈを、図１７に示す補正係数マップメモリ５３６から読み出す。続くステップＳ９３では、図１７に示す基準値メモリ５３７から、エンジン回転数や指令噴射量Ｓに応じた基準値を読み出す。
【０１１１】
続くステップＳ９５では、予定総発熱量Ｑ２の算出に影響のある情報を各種センサから取得する。具体的には、エアフロメータ７４から吸気量を取得する。吸気量は筒内に吸入される酸素量／酸素濃度を反映した値であると言える。すなわち、吸入量が増加するにしたがって、筒内に吸入される酸素量／酸素濃度が増加するので燃料が燃焼しやすくなる一方、吸入量が低下するにしたがって、筒内に吸入される酸素量／酸素濃度が低下するので燃料が燃焼し難くなる。よって吸気量は、予定総発熱量Ｑ２の算出に影響のある情報であると言える。
【０１１２】
またステップＳ９５では、吸気圧センサ６８から吸気圧を取得する。吸気圧は筒内に吸入される酸素量／酸素濃度を反映した値であると言える。すなわち、吸気圧が増加するにしたがって、筒内に吸入される酸素量／酸素濃度が増加するので燃料が燃焼しやすくなる一方、吸気圧が低下するにしたがって、筒内に吸入される酸素量／酸素濃度が低下するので燃料が燃焼し難くなる。よって吸気圧は、予定総発熱量Ｑ２の算出に影響のある情報であると言える。
【０１１３】
またステップＳ９５では、ＥＧＲ弁９１のバルブ開度を調節するためのＡ／Ｆセンサ７６から排気ガス中の酸素濃度を取得する。そして、その酸素濃度からＥＧＲ率を算出する。ＥＧＲ率は筒内に吸入される酸素量／酸素濃度を反映した値であると言える。すなわち、ＥＧＲ率が増加するにしたがって、筒内に吸入される酸素量／酸素濃度が低下するので燃料が燃焼し難くなる一方、ＥＧＲ率が低下するにしたがって、筒内に吸入される酸素量／酸素濃度が増加するので燃料が燃焼しやすくなる。よってＥＧＲ率は、予定総発熱量Ｑ２の算出に影響のある情報であると言える。
【０１１４】
またステップＳ９５では、吸気温度センサ７０から吸気温度を取得する。吸気温度は筒内温度を反映した値であると言える。すなわち、吸気温度が増加するにしたがって、筒内温度が増加するので燃料が燃焼しやすくなる一方、吸気温度が低下するにしたがって、筒内温度が低下するので燃料が燃焼し難くなる。よって吸気温度は、予定総発熱量Ｑ２の算出に影響のある情報であると言える。
【０１１５】
またステップＳ９５では、水温センサ７２からエンジン水温を取得する。エンジン水温は筒内温度を反映した値であると言える。すなわち、エンジン水温が増加するにしたがって、筒内温度が増加するので燃料が燃焼しやすくなる一方、エンジン水温が低下するにしたがって、筒内温度が低下するので燃料が燃焼し難くなる。よってエンジン水温は、予定総発熱量Ｑ２の算出に影響のある情報であると言える。
【０１１６】
またステップＳ９５では、コモンレール圧センサ６４からコモンレール３６内の圧力を示したコモンレール圧を取得する。コモンレール圧は、燃料の拡散・揮発に関係している。そして、燃料が拡散・揮発しやすくなるほど、燃料と空気とが混合しやすくなり、その結果、燃料が燃焼しやすくなる。反対に、燃料が拡散・揮発し難くなるほど、燃料と空気とが混合し難くなり、その結果、燃料が燃焼し難くなる。よってコモンレール圧は、予定総発熱量Ｑ２の算出に影響のある情報であると言える。
【０１１７】
続くステップＳ９７では、ステップＳ９３で取得した基準値と、ステップＳ９５で取得した吸気量、吸気圧、ＥＧＲ率、吸気温度、エンジン水温及びコモンレール圧とを比較して、実際の運転条件、環境条件を反映した補正係数Ｈとなるように、補正係数Ｈを補正する。具体的には、ステップＳ９５で取得した吸気量が基準値と比較して大きい場合には、燃料が燃焼しやすくなるとして、補正係数Ｈを大きくする。一方、ステップＳ９５で取得した吸気量が基準値と比較して小さい場合には、燃料が燃焼し難くなるとして、補正係数Ｈを小さくする。そして、吸気量に基づいて補正した補正係数Ｈを補正係数Ｈ１としてＲＡＭ５２に記憶する。なお、吸気量と燃料の燃焼との関係は、理論的若しくは経験的に求めることができ、その関係は予めＲＯＭ５３に記憶されている。そして、実際の吸気量からどの程度、補正係数Ｈを大きくしたり小さくしたりするかは、その関係に基づいて決定することができる。
【０１１８】
またステップＳ９７では、ステップＳ９５で取得した吸気圧が基準値と比較して大きい場合には、燃料が燃焼しやすくなるとして、補正係数Ｈを大きくする。一方、ステップＳ９５で取得した吸気圧が基準値と比較して小さい場合には、燃料が燃焼し難くなるとして、補正係数Ｈを小さくする。そして、吸気圧に基づいて補正した補正係数Ｈを補正係数Ｈ２としてＲＡＭ５２に記憶する。なお、吸気圧と燃料の燃焼との関係は、理論的若しくは経験的に求めることができ、その関係は予めＲＯＭ５３に記憶されている。そして、実際の吸気圧からどの程度、補正係数Ｈを大きくしたり小さくしたりするかは、その関係に基づいて決定することができる。
【０１１９】
またステップＳ９７では、ステップＳ９５で取得したＥＧＲ率が基準値と比較して大きい場合には、燃料が燃焼し難くなるとして、補正係数Ｈを小さくする。一方、ステップＳ９５で取得したＥＧＲ率が基準値と比較して小さい場合には、燃料が燃焼しやすくなるとして、補正係数Ｈを大きくする。そして、ＥＧＲ率に基づいて補正した補正係数Ｈを補正係数Ｈ３としてＲＡＭ５２に記憶する。なお、ＥＧＲ率と燃料の燃焼との関係は、理論的若しくは経験的に求めることができ、その関係は予めＲＯＭ５３に記憶されている。そして、実際のＥＧＲ率からどの程度、補正係数Ｈを大きくしたり小さくしたりするかは、その関係に基づいて決定することができる。
【０１２０】
またステップＳ９７では、ステップＳ９５で取得した吸気温度が基準値と比較して大きい場合には、燃料が燃焼しやすくなるとして、補正係数Ｈを大きくする。一方、ステップＳ９５で取得した吸気温度が基準値と比較して小さい場合には、燃料が燃焼し難くなるとして、補正係数Ｈを小さくする。そして、吸気温度に基づいて補正した補正係数Ｈを補正係数Ｈ４としてＲＡＭ５２に記憶する。なお、吸気温度と燃料の燃焼との関係は、理論的若しくは経験的に求めることができ、その関係は予めＲＯＭ５３に記憶されている。そして、実際の吸気温度からどの程度、補正係数Ｈを大きくしたり小さくしたりするかは、その関係に基づいて決定することができる。
【０１２１】
またステップＳ９７では、ステップＳ９５で取得したエンジン水温が基準値と比較して大きい場合には、燃料が燃焼しやすくなるとして、補正係数Ｈを大きくする。一方、ステップＳ９５で取得したエンジン水温が基準値と比較して小さい場合には、燃料が燃焼し難くなるとして、補正係数Ｈを小さくする。そして、エンジン水温に基づいて補正した補正係数Ｈを補正係数Ｈ５としてＲＡＭ５２に記憶する。なお、エンジン水温と燃料の燃焼との関係は、理論的若しくは経験的に求めることができ、その関係は予めＲＯＭ５３に記憶されている。そして、実際のエンジン水温からどの程度、補正係数Ｈを大きくしたり小さくしたりするかは、その関係に基づいて決定することができる。
【０１２２】
またステップＳ９７では、ステップＳ９５で取得したコモンレール圧が基準値と比較して大きい場合には、燃料が燃焼しやすくなるとして、補正係数Ｈを大きくする。一方、ステップＳ９５で取得したコモンレール圧が基準値と比較して小さい場合には、燃料が燃焼し難くなるとして、補正係数Ｈを小さくする。そして、コモンレール圧に基づいて補正した補正係数Ｈを補正係数Ｈ６としてＲＡＭ５２に記憶する。なお、コモンレール圧と燃料の燃焼との関係は、理論的若しくは経験的に求めることができ、その関係は予めＲＯＭ５３に記憶されている。そして、実際のコモンレール圧からどの程度、補正係数Ｈを大きくしたり小さくしたりするかは、その関係に基づいて決定することができる。
【０１２３】
そして、ステップＳ９７では、ＲＡＭ５２に記憶された補正係数Ｈ１〜Ｈ６を読み出して、それらの平均値を補正後の補正係数Ｈとする。これによって、吸気量、吸気圧、ＥＧＲ率、吸気温度、エンジン水温及びコモンレール圧のすべてを反映した補正係数Ｈとなる。
【０１２４】
続くステップＳ９９では、下記数６式によって予定総発熱量Ｑ２を算出する。
【数６】
2010196556.tif 000008
なお、数６式中のＤは燃料密度、Ｋは燃料のエネルギー密度であり、それぞれ予め定められている値である。すなわち、指令噴射量Ｓと燃料密度Ｄと燃料のエネルギー密度Ｋと運転条件に応じた補正係数Ｈとを乗算することによって、予定総発熱量Ｑ２を算出する。その後、図１９のフローチャートの処理を終了する。
【０１２５】
説明を図１８のフローチャートの処理に戻り、ステップＳ７５で、予定総発熱量Ｑ２と実際の総発熱量Ｑ１とを比較して、予定総発熱量Ｑ２が総発熱量Ｑ１相当であるか否かを判断することによって、インジェクタ４０が異常か否かを判断する。例えば、予定総発熱量Ｑ２と総発熱量Ｑ１との差分が、所定値以下か否かによって、予定総発熱量Ｑ２が総発熱量Ｑ１相当であるか否かを判断する。なおステップＳ７５は本発明の「異常判断手段」に相当する処理である。
【０１２６】
そして、インジェクタ４０の異常であると判断した場合には（Ｓ７５：ＹＥＳ）、ステップＳ７７で、図示しない報知器（例えば発光ダイオードやスピーカ）でインジェクタ４０が異常であることをユーザに報知する。その後、図１８のフローチャートの処理を終了する。これによって、ユーザはインジェクタ４０の異常を把握することができ、修理等をすることができる。一方、インジェクタ４０の異常はないと判断した場合には（Ｓ７５：ＮＯ）、そのまま図１８のフローチャートの処理を終了する。
【０１２７】
以上説明したように、本実施形態のエンジン制御システムによれば、実際の総発熱量Ｑ１と、指令噴射量Ｓから算出された燃料の予定総発熱量Ｑ２とを比較して、インジェクタ４０の異常を検出している。この際、実際の総発熱量Ｑ１は、筒内圧Ｐにオフセット誤差αが含まれている場合であっても、正確な値であると言える。すなわち、筒内圧Ｐにオフセット誤差αが含まれている場合であっても、正確にインジェクタ４０の異常を検出することができる。
【０１２８】
また、予定総発熱量Ｑ２は、指令噴射量Ｓと燃料密度Ｄと燃料のエネルギー密度Ｋと運転条件に応じた補正係数Ｈとを乗算して算出している。したがって、その予定総発熱量Ｑ２は、燃料の種類や運転条件を反映した値であると言える。さらに、補正係数Ｈは、吸気量、吸気圧、ＥＧＲ率、吸気温度、エンジン水温及びコモンレール圧力に基づいた値であるので、より精度よく予定総発熱量Ｑ２を算出することができる。
【０１２９】
なお、本発明に係る発熱量算出装置、内燃機関の制御装置及びインジェクタの異常検出装置は、上記実施形態に限定されるわけではなく、発明の範囲内で変形することができる。例えば、上記第一、第二実施形態では、制御対象のエンジン１０がディーゼルエンジンであったが、ガソリンエンジンを制御対象としてもよい。この場合、第一実施形態では、燃料の噴射時期の代わりに燃料の点火時期を制御することになる。
【０１３０】
また、上記第二実施形態にでは、吸気量、吸気圧、ＥＧＲ率、吸気温度、エンジン水温及びコモンレール圧のそれぞれの補正係数Ｈ１〜Ｈ６の平均値を補正後の補正係数Ｈとしていた。この場合、補正係数Ｈ１〜Ｈ６の大きさにばらつきがあるとき、大きな補正係数Ｈ１〜Ｈ６や小さな補正係数Ｈ１〜Ｈ６が平均化されてしまう。そこで、補正係数Ｈ１〜Ｈ６のうち、最大の補正係数Ｈ１〜Ｈ６若しくは最小の補正係数Ｈ１〜Ｈ６を補正後の補正係数Ｈとしてもよい。これによって、吸気量、吸気圧、ＥＧＲ率、吸気温度、エンジン水温及びコモンレール圧のうち、最も寄与している情報で予定総発熱量Ｑ２を算出することができる。
【０１３１】
また、上記第一実施形態では、総発熱量Ｑ１の５０％となる燃焼時期を制御していた。これは、効果的にノッキングの防止、有害排気ガスの低減、出力の高効率化等を図ることができるからである。ただし、総発熱量Ｑ１の５０％となる燃焼時期だけに限定されるわけではなく、効果的にノッキングの防止、有害排気ガスの低減、出力の高効率化等を図ることができるのであれば、どの燃焼時期（例えば総発熱量Ｑ１の１０％〜９０％の範囲の燃焼時期）を制御してもよい。
【０１３２】
また、上記第一実施形態では、ＰＩＤ制御で燃焼時期を制御していたが、これに限定されるわけではない。また、上記実施形態では、数３式によって熱発生率を算出していたが、これに限定されるわけではない。
【符号の説明】
【０１３３】
１０  エンジン（内燃機関）
１５  シリンダ
１６  ピストン
１８  クランク
３６  コモンレール
４０  インジェクタ
５０  ＥＣＵ（発熱量算出装置、内燃機関の制御装置、インジェクタの異常検出装置）
６６  筒内圧センサ
６０  クランク角センサ
６４  コモンレール圧センサ
６８  吸気圧センサ
７０  吸気温度センサ
７２  エンジン水温センサ
７４  エアフロメータ
７６  Ａ／Ｆセンサ
９１  ＥＧＲ弁
Ｑ１  総発熱量
Ｐ  筒内圧
Ｐ０  真の筒内圧
α  オフセット誤差
θ  クランク角
Ｂ  特定クランク角
ＴＤＣ  上死点
Ｑ２  予定総発熱量
Ｓ  指令噴射量
Ｄ  燃料密度
Ｋ  燃料のエネルギー密度
Ｈ  補正係数
Ｓ１２１  クランク角取得手段
Ｓ１２３  筒内圧取得手段
Ｓ１２７  容積取得手段
Ｓ１２９  熱発生率算出手段
Ｓ１３１  区間決定手段
Ｓ１３３  積算手段
Ｓ３３、Ｓ３５  補正用筒内圧取得手段
Ｓ３７  最大点検出手段
Ｓ３９  上死点角度取得手段
Ｓ３１〜Ｓ４３  上死点検出手段
Ｓ４５、Ｓ４７  補正手段
Ｓ１４  実燃焼時期検出手段
Ｓ１６〜Ｓ２０  燃焼時期制御手段
Ｓ１１１  回転数取得手段
Ｓ１１３  目標燃焼時期決定手段
Ｓ７１  指令噴射量取得手段
Ｓ７３  予定総発熱量算出手段
Ｓ７５  異常判断手段
【図１】
2010196556.tif 000010
【図２】
2010196556.tif 000011
【図３】
2010196556.tif 000012
【図４】
2010196556.tif 000013
【図５】
2010196556.tif 000014
【図６】
2010196556.tif 000015
【図７】
2010196556.tif 000016
【図８】
2010196556.tif 000017
【図９】
2010196556.tif 000018
【図１０】
2010196556.tif 000019
【図１１】
2010196556.tif 000020
【図１２】
2010196556.tif 000021
【図１３】
2010196556.tif 000022
【図１４】
2010196556.tif 000023
【図１５】
2010196556.tif 000024
【図１６】
2010196556.tif 000025
【図１７】
2010196556.tif 000026
【図１８】
2010196556.tif 000027
【図１９】
2010196556.tif 000028