(57)【要約】【課題】内燃機関の排気合流部に設置した１つの空燃比センサの検出値に基づいて各気筒の空燃比を制御するシステムにおいて、気筒別空燃比補正量の誤学習による気筒別空燃比制御の精度悪化を防止する。【解決手段】排気合流部３６に設置した空燃比センサ３７の検出値に基づいて各気筒の空燃比を推定し、各気筒の推定空燃比に基づいて気筒別空燃比補正量を算出すると共に、気筒別空燃比補正量をなまし処理等により学習して、気筒別空燃比補正量とその学習値に基づいて各気筒に供給する混合気の空燃比（燃料噴射量）を各気筒毎に補正して気筒間の空燃比ばらつきを少なくするように制御する。この気筒別空燃比制御中に、いずれかの気筒の気筒別空燃比補正量が所定範囲（許容範囲）から外れた状態が暫く続いたときに気筒別空燃比補正量の学習を禁止することで、気筒別空燃比補正量の誤学習を防止する。【選択図】図１
2008038784.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の複数の気筒の排出ガスが合流する排気合流部に、該排出ガスの空燃比を検出する空燃比センサを設置し、前記空燃比センサの検出値に基づいて各気筒の空燃比を推定する気筒別空燃比推定手段と、前記複数の気筒について気筒毎に空燃比の気筒間ばらつきを補正するための各気筒の空燃比補正量（以下「気筒別空燃比補正量」という）を算出する気筒別空燃比補正量算出手段と、前記気筒別空燃比補正量を学習する気筒別学習手段と、前記気筒別空燃比補正量及び／又はその学習値に基づいて各気筒の燃料噴射量を補正して気筒間の空燃比ばらつきを小さくする気筒別空燃比制御を実行する気筒別空燃比制御手段とを備えた内燃機関の気筒別空燃比制御装置において、
いずれか１つ又は２つ以上の気筒の気筒別空燃比補正量が所定範囲を外れたときに前記気筒別学習手段による気筒別空燃比補正量の学習を禁止する学習禁止手段を備えていることを特徴とする内燃機関の気筒別空燃比制御装置。
【請求項２】
前記気筒別学習手段は、内燃機関の運転領域毎に前記気筒別空燃比補正量を学習し、
前記学習禁止手段は、前記いずれか１つ又は２つ以上の気筒の気筒別空燃比補正量が所定範囲を外れた運転領域についてのみ前記気筒別学習手段による気筒別空燃比補正量の学習を禁止することを特徴とする請求項１に記載の内燃機関の気筒別空燃比制御装置。
【請求項３】
前記学習禁止手段は、前記気筒別空燃比補正量が所定範囲を外れた気筒又は気筒グループについてのみ前記気筒別学習手段による気筒別空燃比補正量の学習を禁止することを特徴とする請求項１に記載の内燃機関の気筒別空燃比制御装置。
【請求項４】
前記気筒別学習手段は、内燃機関の運転領域毎に前記気筒別空燃比補正量を学習し、
前記学習禁止手段は、前記いずれか１つ又は２つ以上の気筒の気筒別空燃比補正量が所定範囲を外れた運転領域において、前記気筒別空燃比補正量が所定範囲を外れた気筒又は気筒グループについてのみ前記気筒別学習手段による気筒別空燃比補正量の学習を禁止することを特徴とする請求項１に記載の内燃機関の気筒別空燃比制御装置。
【請求項５】
内燃機関の複数の気筒の排出ガスが合流する排気合流部に、該排出ガスの空燃比を検出する空燃比センサを設置し、前記空燃比センサの検出値に基づいて各気筒の空燃比を推定する気筒別空燃比推定手段と、前記複数の気筒について気筒毎に空燃比の気筒間ばらつきを補正するための各気筒の空燃比補正量（以下「気筒別空燃比補正量」という）を算出する気筒別空燃比補正量算出手段と、前記気筒別空燃比補正量を学習する気筒別学習手段と、前記気筒別空燃比補正量及び／又はその学習値に基づいて各気筒の燃料噴射量を補正して気筒間の空燃比ばらつきを小さくする気筒別空燃比制御を実行する気筒別空燃比制御手段とを備えた内燃機関の気筒別空燃比制御装置において、
いずれか１つ又は２つ以上の気筒の気筒別空燃比補正量の学習値が所定範囲を外れたときに前記気筒別学習手段による気筒別空燃比補正量の学習を禁止する学習禁止手段を備えていることを特徴とする内燃機関の気筒別空燃比制御装置。
【請求項６】
前記気筒別学習手段は、内燃機関の運転領域毎に前記気筒別空燃比補正量を学習し、
前記学習禁止手段は、前記いずれか１つ又は２つ以上の気筒の気筒別空燃比補正量の学習値が所定範囲を外れた運転領域についてのみ前記気筒別学習手段による気筒別空燃比補正量の学習を禁止することを特徴とする請求項５に記載の内燃機関の気筒別空燃比制御装置。
【請求項７】
前記学習禁止手段は、前記気筒別空燃比補正量が所定範囲を外れた気筒又は気筒グループについてのみ前記気筒別学習手段による気筒別空燃比補正量の学習を禁止することを特徴とする請求項５に記載の内燃機関の気筒別空燃比制御装置。
【請求項８】
前記気筒別学習手段は、内燃機関の運転領域毎に前記気筒別空燃比補正量を学習し、
前記学習禁止手段は、前記いずれか１つ又は２つ以上の気筒の気筒別空燃比補正量の学習値が所定範囲を外れた運転領域において、前記気筒別空燃比補正量の学習値が所定範囲を外れた気筒又は気筒グループについてのみ前記気筒別学習手段による気筒別空燃比補正量の学習を禁止することを特徴とする請求項５に記載の内燃機関の気筒別空燃比制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の気筒の排出ガスが合流する排気合流部に設置した空燃比センサの検出値に基づいて各気筒の空燃比（気筒別空燃比）を推定する機能を備えた内燃機関の気筒別空燃比制御装置に関する発明である。
【背景技術】
【０００２】
近年、特許文献１（特開２００５−２０７４０５号公報）に記載されているように、複数の気筒の排出ガスが合流する排気合流部に設置した１つの空燃比センサの出力に基づいて複数の気筒の空燃比を気筒毎に推定すると共に、気筒毎に空燃比の気筒間ばらつきを補正するための各気筒の空燃比補正量（気筒別空燃比補正量）を算出して、この気筒別空燃比補正量をなまし処理等により学習し、気筒別空燃比補正量とその学習値に基づいて複数の気筒の空燃比（燃料噴射量）を気筒毎に制御する気筒別空燃比制御を実施するようにしたものがある。更に、この特許文献１の気筒別空燃比制御システムでは、気筒別空燃比の推定が困難（気筒別空燃比補正量の算出が困難）となる運転条件では、気筒別空燃比補正量の学習値を用いて気筒別空燃比制御を実施するようにしている。
【特許文献１】特開２００５−２０７４０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このような気筒別空燃比制御システムでは、例えば、空燃比センサ出力のサンプルタイミング（各気筒の空燃比検出タイミング）のずれによって気筒別空燃比の推定精度が低下したり、各気筒の燃料噴射系の個体差（燃料噴射弁の製造ばらつきや経時劣化等）によって燃料噴射量のばらつきが大きくなったりすると、気筒間の空燃比ばらつきが大きくなって、気筒別空燃比補正量やその学習値が大きくなることがある。しかし、気筒別空燃比補正量やその学習値が大きくなるほど、それらの精度が悪くなると考えられるため、気筒別空燃比補正量の学習値を無制限に更新すると、気筒別空燃比補正量を誤学習して気筒別空燃比制御が間違った方向に働く可能性があり、却って気筒別空燃比制御の精度が悪化する可能性がある。
【０００４】
本発明はこのような事情を考慮してなされたものであり、従ってその目的は、気筒別空燃比補正量の誤学習による気筒別空燃比制御の精度悪化を防止することができる内燃機関の気筒別空燃比制御装置を提供することにある。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、請求項１に係る発明は、内燃機関の複数の気筒の排出ガスが合流する排気合流部に、該排出ガスの空燃比を検出する空燃比センサを設置し、前記空燃比センサの検出値に基づいて各気筒の空燃比を推定する気筒別空燃比推定手段と、前記複数の気筒について気筒毎に空燃比の気筒間ばらつきを補正するための各気筒の空燃比補正量（以下「気筒別空燃比補正量」という）を算出する気筒別空燃比補正量算出手段と、前記気筒別空燃比補正量を学習する気筒別学習手段と、前記気筒別空燃比補正量及び／又はその学習値に基づいて各気筒の燃料噴射量を補正して気筒間の空燃比ばらつきを小さくする気筒別空燃比制御を実行する気筒別空燃比制御手段とを備えた内燃機関の気筒別空燃比制御装置において、いずれか１つ又は２つ以上の気筒の気筒別空燃比補正量が所定範囲を外れたときに前記気筒別学習手段による気筒別空燃比補正量の学習を学習禁止手段によって禁止するようにしたものである。このようにすれば、いずれか１つ又は２つ以上の気筒の気筒別空燃比補正量が所定範囲（許容範囲）から外れたときに気筒別空燃比補正量の学習を禁止することができるので、気筒別空燃比補正量の誤学習を防止することができ、気筒別空燃比制御の精度悪化を防止することができる。
【０００６】
この場合、請求項２のように、内燃機関の運転領域毎に気筒別空燃比補正量を学習する場合は、いずれか１つ又は２つ以上の気筒の気筒別空燃比補正量が所定範囲を外れた運転領域についてのみ気筒別空燃比補正量の学習を禁止するようにしても良い。このようにすれば、気筒別空燃比補正量が所定範囲を外れた運転領域のみで気筒別空燃比補正量の学習を禁止して気筒別空燃比補正量の誤学習を防止しながら、気筒別空燃比補正量が所定範囲内に収まる他の運転領域では、気筒別空燃比補正量の学習を継続して、気筒別空燃比補正量の学習精度を高めることができる。
【０００７】
また、請求項３のように、気筒別空燃比補正量が所定範囲を外れた気筒又は気筒グループについてのみ前記気筒別学習手段による気筒別空燃比補正量の学習を禁止するようにしても良い。このようにすれば、気筒別空燃比補正量が所定範囲を外れた気筒又は気筒グループについてのみ、気筒別空燃比補正量の学習を禁止して気筒別空燃比補正量の誤学習を防止しながら、気筒別空燃比補正量が所定範囲内に収まる他の気筒又は気筒グループについては、気筒別空燃比補正量の学習を継続して、気筒別空燃比補正量の学習精度を高めることができる。
【０００８】
更に、請求項４のように、いずれか１つ又は２つ以上の気筒の気筒別空燃比補正量が所定範囲を外れた運転領域において、気筒別空燃比補正量が所定範囲を外れた気筒又は気筒グループについてのみ前記気筒別学習手段による気筒別空燃比補正量の学習を禁止するようにしても良い。このようにすれば、気筒別空燃比補正量の学習を禁止する運転領域と気筒を最小限にすることができる。
【０００９】
また、請求項５のように、いずれか１つ又は２つ以上の気筒の気筒別空燃比補正量の学習値が所定範囲を外れたときに前記気筒別学習手段による気筒別空燃比補正量の学習を禁止するようにしても良い。このようにしても、前記請求項１と同様の効果を得ることができる。
【００１０】
この場合も、請求項６のように、いずれか１つ又は２つ以上の気筒の気筒別空燃比補正量の学習値が所定範囲を外れた運転領域についてのみ気筒別空燃比補正量の学習を禁止するようにしたり、或は、請求項７のように、気筒別空燃比補正量が所定範囲を外れた気筒又は気筒グループについてのみ気筒別空燃比補正量の学習を禁止するようにしたり、或は、請求項８のように、いずれか１つ又は２つ以上の気筒の気筒別空燃比補正量の学習値が所定範囲を外れた運転領域において、気筒別空燃比補正量の学習値が所定範囲を外れた気筒又は気筒グループについてのみ気筒別空燃比補正量の学習を禁止するようにしても良い。いずれの場合も、前記請求項２〜４に係る発明と同様の効果を得ることができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明を実施するための最良の形態を具体化した幾つかの実施例を説明する。
【実施例１】
【００１２】
本発明の実施例１を図１乃至図７に基づいて説明する。
まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。
内燃機関である例えば直列４気筒のエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４が設けられている。このエアフローメータ１４の下流側には、モータ等によって開度調節されるスロットルバルブ１５とスロットル開度を検出するスロットル開度センサ１６とが設けられている。
【００１３】
更に、スロットルバルブ１５の下流側には、サージタンク１７が設けられ、このサージタンク１７には、吸気管圧力を検出する吸気管圧力センサ１８が設けられている。また、サージタンク１７には、エンジン１１の各気筒に空気を導入する吸気マニホールド１９が設けられ、各気筒の吸気マニホールド１９の吸気ポート近傍に、それぞれ燃料を噴射する燃料噴射弁２０が取り付けられている。エンジン運転中は、燃料タンク２１内の燃料が燃料ポンプ２２によりデリバリパイプ２３に送られ、各気筒の噴射タイミング毎に各気筒の燃料噴射弁２０から燃料が噴射される。デリバリパイプ２３には、燃料圧力（燃圧）を検出する燃圧センサ２４が取り付けられている。
【００１４】
また、エンジン１１には、吸気バルブ２５と排気バルブ２６の開閉タイミングをそれぞれ可変する可変バルブタイミング機構２７，２８が設けられている。更に、エンジン１１には、吸気カム軸２９と排気カム軸３０の回転に同期してカム角信号を出力する吸気カム角センサ３１と排気カム角センサ３２が設けられ、エンジン１１のクランク軸の回転に同期して所定クランク角毎（例えば３０℃Ａ毎）にクランク角信号のパルスを出力するクランク角センサ３３が設けられている。
【００１５】
一方、エンジン１１の各気筒の排気マニホールド３５が合流する排気合流部３６には、排出ガスの空燃比を検出する空燃比センサ３７が設置され、この空燃比センサ３７の下流側に排出ガス中のＣＯ，ＨＣ，ＮＯｘ等を浄化する三元触媒等の触媒３８が設けられている。
【００１６】
上記空燃比センサ３７等の各種センサの出力は、エンジン制御回路（以下「ＥＣＵ」と表記する）４０に入力される。このＥＣＵ４０は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）に記憶された各種のエンジン制御プログラムを実行することで、エンジン運転状態に応じて各気筒の燃料噴射弁２０の燃料噴射量や点火時期を制御する。
【００１７】
本実施例１では、ＥＣＵ４０は、図２乃至図５の気筒別空燃比制御用の各ルーチンを実行することで、エンジン運転中に後述する気筒別空燃比推定モデルを用いて空燃比センサ３７の検出値（排気合流部３６を流れる排出ガスの実空燃比）に基づいて各気筒の空燃比（気筒別空燃比）を推定し、全気筒の推定空燃比の平均値を算出して、その平均値を基準空燃比（全気筒の目標空燃比）に設定すると共に、各気筒の推定空燃比（気筒別推定空燃比）と基準空燃比との偏差を各気筒毎に算出して、その偏差が小さくなるように各気筒の燃料噴射量に対する燃料補正係数（気筒別空燃比補正量）を算出すると共に、この気筒別空燃比補正量をなまし処理等により学習して、気筒別空燃比補正量とその学習値に基づいて各気筒の燃料噴射量を補正することで、各気筒に供給する混合気の空燃比を各気筒毎に補正して気筒間の空燃比ばらつきを少なくするように制御する（以下、この制御を気筒別空燃比制御という）。この際、気筒別空燃比補正量をなまし処理等により学習して、その学習値をＥＣＵ４０のバックアップＲＡＭ等の書き換え可能な不揮発性メモリ（図示せず）に気筒毎に更新記憶する。尚、気筒別空燃比の推定が困難（気筒別空燃比補正量の算出が困難）となる運転条件では、気筒別空燃比補正量の学習値を用いて気筒別空燃比制御を実施するようにしても良い。
【００１８】
ここで、空燃比センサ３７の検出値（排気合流部３６を流れる排出ガスの実空燃比）に基づいて各気筒の空燃比を推定するモデル（以下「気筒別空燃比推定モデル」という）の具体例を説明する。
【００１９】
排気合流部３６におけるガス交換に着目して、空燃比センサ３７の検出値を、排気合流部３６における各気筒の推定空燃比の履歴と空燃比センサ３７の検出値の履歴とにそれぞれ所定の重みを乗じて加算したものとしてモデル化し、該モデルを用いて各気筒の空燃比を推定するようにしている。この際、オブザーバとしてはカルマンフィルタを用いる。
【００２０】
より具体的には、排気合流部３６におけるガス交換のモデルを次の（１）式にて近似する。
ｙs(t)＝ｋ1 ×ｕ(t-1) ＋ｋ2 ×ｕ(t-2) −ｋ3 ×ｙs(t-1)−ｋ4 ×ｙs(t-2)
……（１）
ここで、ｙS は空燃比センサ３７の検出値、ｕは排気合流部３６に流入するガスの空燃比、ｋ1 〜ｋ4 は定数である。
【００２１】
排気系では、排気合流部３６におけるガス流入及び混合の一次遅れ要素と、空燃比センサ３７の応答遅れによる一次遅れ要素とが存在する。そこで、上記（１）式では、これらの一次遅れ要素を考慮して過去２回分の履歴を参照することとしている。
【００２２】
上記（１）式を状態空間モデルに変換すると、次の（２ａ）、（２ｂ）式が導き出される。
Ｘ(t+1) ＝Ａ・Ｘ(t) ＋Ｂ・ｕ(t) ＋Ｗ(t)       ……（２ａ）
Ｙ(t) ＝Ｃ・Ｘ(t) ＋Ｄ・ｕ(t)                 ……（２ｂ）
【００２３】
ここで、Ａ，Ｂ，Ｃ，Ｄはモデルのパラメータ、Ｙは空燃比センサ３７の検出値、Ｘは状態変数としての各気筒の推定空燃比、Ｗはノイズである。
【００２４】
更に、上記（２ａ）、（２ｂ）式によりカルマンフィルタを設計すると、次の（３）式が得られる。
Ｘ＾(k+1｜k)＝Ａ・Ｘ＾(k｜k-1)＋Ｋ｛Ｙ(k) −Ｃ・Ａ・Ｘ＾(k｜k-1)｝  ……（３）
ここで、Ｘ＾（エックスハット）は各気筒の推定空燃比、Ｋはカルマンゲインである。Ｘ＾(k+1｜k)の意味は、時間(k) の推定値により次の時間(k+1) の推定値を求めることを表す。
【００２５】
以上のようにして、気筒別空燃比推定モデルをカルマンフィルタ型オブザーバにて構成することにより、燃焼サイクルの進行に伴い各気筒の空燃比を順次推定することができる。
【００２６】
本実施例１では、各気筒の推定空燃比（気筒別推定空燃比）と基準空燃比との偏差に基づいて算出した気筒別空燃比補正量をなまし処理等により学習して、その学習値をＥＣＵ４０のバックアップＲＡＭ等の書き換え可能な不揮発性メモリ（図示せず）に気筒毎に更新記憶するが、気筒別空燃比補正量が大きくなるほど、その学習精度が悪くなると考えられるため、気筒別空燃比補正量の学習値を無制限に更新すると、気筒別空燃比補正量を誤学習して気筒別空燃比制御が間違った方向に働く可能性があり、却って気筒別空燃比制御の精度が悪化する可能性がある。
【００２７】
この対策として、本実施例１では、いずれかの気筒の気筒別空燃比補正量が所定範囲（許容範囲）から外れた状態が暫く続いたときに気筒別空燃比補正量の学習を禁止することで、気筒別空燃比補正量の誤学習を防止するようにしている。
【００２８】
以上説明した気筒別空燃比制御と気筒別空燃比補正量の学習は、ＥＣＵ４０によって図２乃至図５の各ルーチンに従って実行される。以下、各ルーチンの処理内容を説明する。      
【００２９】
［気筒別空燃比制御メインルーチン］
図２の気筒別空燃比制御メインルーチンは、クランク角センサ３３の出力パルスに同期して所定クランク角毎（例えば３０℃Ａ毎）に起動され、特許請求の範囲でいう気筒別空燃比制御手段としての役割を果たす。本ルーチンが起動されると、まずステップ１０１で、気筒別空燃比制御の実行条件が成立しているか否かを判定する。この気筒別空燃比制御の実行条件としては、例えば次の条件(1) 〜(4) がある。
【００３０】
(1) 空燃比センサ３７が活性状態であること
(2) 空燃比センサ３７が異常（故障）と判定されていないこと
(3) エンジン１１が暖機状態（例えば冷却水温が所定温度以上）であること
(4) エンジン運転領域（例えばエンジン回転速度と吸気管圧力）が空燃比推定精度を確保できる運転領域であること
【００３１】
これら４つの条件(1) 〜(4) を全て満したときに気筒別空燃比制御の実行条件が成立し、いずれか１つでも満たさない条件があれば、実行条件が不成立となる。この実行条件が不成立であれば、以降の処理を行うことなく、本ルーチンを終了する。
【００３２】
一方、実行条件が成立していれば、ステップ１０２に進み、各気筒の空燃比検出タイミング（空燃比センサ３７の出力のサンプルタイミング）を、その時点のエンジン負荷（例えば吸気管圧力）に応じてマップにより設定する。尚、各気筒の空燃比検出タイミングをエンジン負荷とエンジン回転速度に応じてマップにより設定しても良い。
【００３３】
この後、ステップ１０３に進み、現在のクランク角が上記ステップ１０２で設定した空燃比検出タイミングであるか否かを判定し、空燃比検出タイミングでなければ、以降の処理を行うことなく、本ルーチンを終了する。
【００３４】
これに対して、現在のクランク角が上記ステップ１０２で設定した空燃比検出タイミングであれば、ステップ１０４に進み、図３の気筒別空燃比制御実行ルーチンを実行して、本ルーチンを終了する。
【００３５】
［気筒別空燃比制御実行ルーチン］
図３の気筒別空燃比制御実行ルーチンは、図２の気筒別空燃比制御メインルーチンのステップ１０４で実行されるサブルーチンである。本ルーチンが起動されると、まずステップ２０１で、空燃比センサ３７の出力（空燃比検出値）を読み込む。この後、ステップ２０２に進み、前記気筒別空燃比推定モデルを用いて今回の空燃比推定対象となる気筒の空燃比を空燃比センサ３７の検出値に基づいて推定する。このステップ２０２の処理が特許請求の範囲でいう気筒別空燃比推定手段としての役割を果たす。この後、ステップ２０３に進み、全気筒の推定空燃比の平均値を算出して、その平均値を基準空燃比（全気筒の目標空燃比）に設定する。
【００３６】
この後、ステップ２０４に進み、各気筒の推定空燃比と基準空燃比との偏差を算出して、その偏差が小さくなるように気筒別空燃比補正量（各気筒の燃料補正量）を算出した後、ステップ２０５に進み、後述する図４の気筒別空燃比補正量学習ルーチンを実行して、気筒別空燃比補正量を学習する。
【００３７】
そして、次のステップ２０６で、各気筒の気筒別空燃比補正量とその学習値を用いて、各気筒の燃料噴射量を補正することで、各気筒に供給する混合気の空燃比を各気筒毎に補正して気筒間の空燃比ばらつきを少なくするように制御する。
【００３８】
［気筒別空燃比補正量学習ルーチン］
図４の気筒別空燃比補正量学習ルーチンは、図３の気筒別空燃比制御実行ルーチンのステップ２０５で実行されるサブルーチンであり、特許請求の範囲でいう気筒別学習手段としての役割を果たす。本ルーチンが起動されると、まずステップ３０１で、学習実行条件が成立しているか否かを判定する。ここで、学習実行条件としては、例えば次の２つの条件(1) ，(2) がある。
【００３９】
(1) 気筒別空燃比制御の実行中であること
(2) 空燃比変動量が所定値以下の安定した運転状態であること
上記２つの条件(1) ，(2) を両方とも満たせば、学習実行条件が成立し、いずれか１つでも満たさない条件があれば、学習実行条件が不成立となる。この学習実行条件が不成立であれば、以降の処理を行うことなく、本ルーチンを終了する。
【００４０】
一方、学習実行条件が成立していれば、ステップ３０２に進み、後述する図５の学習禁止判定ルーチンを実行して、いずれかの気筒の気筒別空燃比補正量が所定範囲外（許容範囲外）であるか否かを判定し、いずれかの気筒の気筒別空燃比補正量が所定範囲外である状態が所定時間継続した時点で、学習禁止フラグを学習禁止を意味するＯＮにセットする。
【００４１】
そして、次のステップ３０３で、学習禁止フラグが学習禁止を意味するＯＮにセットされているか否かを判定し、学習禁止フラグがＯＮ（学習禁止）にセットされていれば、以降の処理を行うことなく、本ルーチンを終了する。これにより、気筒別空燃比補正量の学習が禁止される。
【００４２】
これに対して、学習禁止フラグがＯＦＦ（学習許可）であれば、ステップ３０４に進み、ＥＣＵ４０の書き換え可能な不揮発性メモリ（図示せず）に記憶されている図７の気筒別空燃比補正量学習マップにおいて、現在のエンジン運転領域（エンジン回転速度と負荷）に対応する学習領域（気筒別空燃比補正量の学習値を更新する学習領域）を選択する。この後、ステップ３０５に進み、気筒毎に気筒別空燃比補正量のなまし値をなまし係数Ｋを用いて次式により算出する。
気筒別空燃比補正量なまし値＝
｛前回なまし値×（Ｋ−１）＋今回の気筒別空燃比補正量｝／Ｋ
【００４３】
この後、ステップ３０６に進み、気筒別空燃比補正量学習値の更新タイミングであるか否かを判定する。この学習値更新タイミングは、学習値の更新周期が少なくとも気筒別補正量の算出周期よりも長くなるよう設定されている。このステップ３０６で、学習値の更新タイミングでないと判定されれば、そのまま本ルーチンを終了する。
【００４４】
一方、上記ステップ３０６で、学習値の更新タイミングであると判定されれば、ステップ３０７に進み、気筒別空燃比補正量なまし値の絶対値が所定値ＴＨＡ以上であるか否かを判定し、当該なまし値の絶対値が所定値ＴＨＡよりも小さければ、学習値を更新する必要がないと判断して本ルーチンを終了する。
【００４５】
また、上記ステップ３０７で、気筒別空燃比補正量なまし値の絶対値が所定値ＴＨＡ以上であると判定されれば、ステップ３０８に進み、気筒別空燃比補正量なまし値に基づいてマップにより学習値更新量を算出する。この学習値更新量を算出するマップは、気筒別空燃比補正量なまし値が大きくなるほど、学習値更新量が大きくなるように設定されている。
【００４６】
この後、ステップ３０９に進み、前回の気筒別空燃比補正量学習値に今回の学習値更新量を加算して求めた値を、新たな気筒別空燃比補正量学習値としてＥＣＵ４０の書き換え可能な不揮発性メモリ（図示せず）に更新記憶する。この際、図７の気筒別空燃比補正量学習マップのうちの前記ステップ３０４で選択された学習領域の学習値が更新される。尚、図７の気筒別空燃比補正量学習マップは、気筒毎に作成される。
【００４７】
［学習禁止判定ルーチン］
図５の学習禁止判定ルーチンは、図４の気筒別空燃比補正量学習ルーチンのステップ３０２で実行されるサブルーチンであり、特許請求の範囲でいう学習禁止手段としての役割を果たす。
【００４８】
本ルーチンが起動されると、まずステップ４０１で、各気筒の気筒別空燃比補正量を読み込み、次のステップ４０２で、いずれかの気筒の気筒別空燃比補正量が所定範囲外（許容範囲外）であるか否かを判定し、全ての気筒の気筒別空燃比補正量が所定範囲内であれば、気筒別空燃比補正量の学習が許可される。この場合は、ステップ４０６に進み、気筒別空燃比補正量が所定範囲外になっている状態の継続時間を計測するディレイ時間カウンタＴの値を０にリセットして本ルーチンを終了する。
【００４９】
これに対して、上記ステップ４０２で、いずれかの気筒の気筒別空燃比補正量が所定範囲外であると判定されれば、ステップ４０３に進み、ディレイ時間カウンタＴをカウントアップして、気筒別空燃比補正量が所定範囲外になっている状態の継続時間を計測する。この後、ステップ４０４に進み、ディレイ時間カウンタＴのカウント時間が所定値を越えたか否かを判定し、ディレイ時間カウンタＴのカウント値が所定値を越えていなければ、そのまま本ルーチンを終了する。その後、ディレイ時間カウンタＴのカウント値が所定値を越えた時点で、ステップ４０５に進み、学習禁止フラグをＯＮ（学習禁止）にセットして本ルーチンを終了する。
【００５０】
以上説明した本実施例１の制御例を図６のタイムチャートを用いて説明する。
図６の例では、時刻ｔ1 で、気筒別空燃比制御の実行条件が成立して、気筒別空燃比制御が開始され、各気筒＃１〜＃４の気筒別空燃比補正量が算出される。この気筒別空燃比制御の実行中は、各気筒＃１〜＃４の気筒別空燃比補正量が所定範囲外であるか否かが判定され、いずれかの気筒（図６の例では＃１）の気筒別空燃比補正量が所定範囲外になった時点ｔ2 で、ディレイ時間カウンタＴのカウントアップ動作が開始され、気筒別空燃比補正量が所定範囲外になっている状態の継続時間が計測される。
【００５１】
その後、ディレイ時間カウンタＴのカウント値が所定値を越えた時点ｔ3 で、学習禁止フラグがＯＮ（学習禁止）にセットされる。この後は、気筒別空燃比補正量の学習が禁止される。
【００５２】
以上説明した本実施例１によれば、いずれかの気筒の気筒別空燃比補正量が所定範囲外になっている状態が暫く続いたときに、気筒別空燃比補正量の学習を禁止するようにしたので、気筒別空燃比補正量の誤学習を防止することができ、気筒別空燃比制御の精度悪化を防止することができる。
【００５３】
尚、本発明は、いずれか１つの気筒の気筒別空燃比補正量が所定範囲外になっている状態が暫く続いたときに、気筒別空燃比補正量の学習を禁止する構成に限定されず、いずれか２つ以上の気筒の気筒別空燃比補正量が所定範囲外になっている状態が暫く続いたときに、気筒別空燃比補正量の学習を禁止するようにしても良い。
【００５４】
また、本発明は、気筒別空燃比補正量が所定範囲を外れた気筒又は気筒グループについてのみ気筒別空燃比補正量の学習を禁止するようにしても良い。このようにすれば、気筒別空燃比補正量が所定範囲を外れた気筒又は気筒グループについてのみ、気筒別空燃比補正量の学習を禁止して気筒別空燃比補正量の誤学習を防止しながら、気筒別空燃比補正量が所定範囲内に収まる他の気筒又は気筒グループについては、気筒別空燃比補正量の学習を継続して、気筒別空燃比補正量の学習精度を高めることができる。
【実施例２】
【００５５】
上記実施例１で説明した図４の気筒別空燃比補正量学習ルーチンでは、エンジン運転領域（エンジン回転速度と負荷）毎に気筒別空燃比補正量学習値を更新するようにしている（図７参照）。
【００５６】
この点を考慮して、図８及び図９に示す本発明の実施例２では、いずれかの気筒の気筒別空燃比補正量が所定範囲を外れた場合に、気筒別空燃比補正量が所定範囲を外れた運転領域についてのみ気筒別空燃比補正量の学習を禁止し、それ以外の運転領域では、気筒別空燃比補正量の学習を許可するようにしている。
【００５７】
以下、本実施例２で実行する図８及び図９のルーチンの処理内容を説明する。
図８の気筒別空燃比補正量学習ルーチンは、前記実施例１で説明した図４の気筒別空燃比補正量学習ルーチンのステップ３０３の次にステップ３０３ａの判定処理を追加しただけであり、その他のステップの処理は同じである。
【００５８】
図８の気筒別空燃比補正量学習ルーチンでは、ステップ３０１で、学習実行条件が成立していると判定されれば、ステップ３０２に進み、後述する図９の学習禁止判定ルーチンを実行する。
【００５９】
そして、次のステップ３０３で、学習禁止フラグが学習禁止を意味するＯＮにセットされているか否かを判定し、学習禁止フラグがＯＮ（学習禁止）にセットされていれば、ステップ３０３ａに進み、現在のエンジン運転領域（エンジン回転速度と負荷）が後述する図９の学習禁止判定ルーチンによって記憶された学習禁止領域であるか否かを判定する。その結果、現在のエンジン運転領域が学習禁止領域であれば、以降の処理を行うことなく、本ルーチンを終了する。これにより、学習禁止領域についてのみ、気筒別空燃比補正量の学習が禁止される。
【００６０】
これに対して、上記ステップ３０３ａで、現在のエンジン運転領域が学習禁止領域でなければ、気筒別空燃比補正量の学習可能と判断して、ステップ３０４以降の処理に進み、前記実施例１と同様の方法で、現在のエンジン運転領域に対応する学習領域の気筒別空燃比補正量学習値を更新する。
【００６１】
図９の学習禁止判定ルーチンは、図８の気筒別空燃比補正量学習ルーチンのステップ３０２で実行されるサブルーチンであり、前記実施例１で説明した図５の学習禁止判定ルーチンのステップ４０５の次にステップ４０７の処理を追加しただけであり、その他のステップの処理は同じである。
【００６２】
図９の学習禁止判定ルーチンでは、ステップ４０１〜４０５の処理により、いずれかの気筒の気筒別空燃比補正量が所定範囲外になっている状態が所定時間経過すると、学習禁止フラグをＯＮ（学習禁止）にセットする。この後、ステップ４０７に進み、現在のエンジン運転領域を学習禁止領域としてＥＣＵ４０の書き換え可能な不揮発性メモリ（図示せず）に記憶し、以後、この学習禁止領域についてのみ、気筒別空燃比補正量の学習を禁止する。
【００６３】
以上説明した本実施例２では、いずれかの気筒の気筒別空燃比補正量が所定範囲を外れた運転領域のみで気筒別空燃比補正量の学習を禁止して気筒別空燃比補正量の誤学習を防止しながら、気筒別空燃比補正量が所定範囲内に収まる他の運転領域では、気筒別空燃比補正量の学習を継続することができ、気筒別空燃比補正量の学習精度を高めることができる。
【００６４】
尚、本発明は、いずれか１つの気筒の気筒別空燃比補正量が所定範囲を外れた運転領域のみで気筒別空燃比補正量の学習を禁止する構成に限定されず、いずれか２つ以上の気筒の気筒別空燃比補正量が所定範囲を外れた運転領域のみで気筒別空燃比補正量の学習を禁止するようにしても良い。
【実施例３】
【００６５】
図１０及び図１１に示す本発明の実施例３では、いずれかの気筒の気筒別空燃比補正量が所定範囲を外れた運転領域において、気筒別空燃比補正量が所定範囲を外れた気筒についてのみ気筒別空燃比補正量の学習を禁止するようにしている。
【００６６】
図１０の気筒別空燃比補正量学習ルーチンは、前記実施例２で説明した図８の気筒別空燃比補正量学習ルーチンのステップ３０３ａの次にステップ３０３ｂの判定処理を追加しただけであり、その他のステップの処理は同じである。
【００６７】
図１０の気筒別空燃比補正量学習ルーチンでは、ステップ３０１で、学習実行条件が成立していると判定されれば、ステップ３０２に進み、後述する図１１の学習禁止判定ルーチンを実行する。
【００６８】
そして、次のステップ３０３で、学習禁止フラグが学習禁止を意味するＯＮにセットされているか否かを判定し、学習禁止フラグがＯＮ（学習禁止）にセットされていれば、ステップ３０３ａに進み、現在のエンジン運転領域（エンジン回転速度と負荷）が後述する図１１の学習禁止判定ルーチンによって記憶された学習禁止領域であるか否かを判定する。その結果、現在のエンジン運転領域が学習禁止領域であると判定されれば、ステップ３０３ｂに進み、後述する図１１の学習禁止判定ルーチンによって記憶された学習禁止気筒の気筒別空燃比補正量学習値の更新タイミングであるか否かを判定し、学習禁止気筒の気筒別空燃比補正量学習値の更新タイミングであれば、以降の処理を行うことなく、本ルーチンを終了する。これにより、学習禁止気筒の気筒別空燃比補正量学習マップ（図７参照）のうちの学習禁止領域についてのみ、気筒別空燃比補正量の学習が禁止される。
【００６９】
これに対して、上記ステップ３０３ａ又はステップ３０３ｂで「Ｎｏ」と判定された場合、つまり、現在のエンジン運転領域が学習禁止領域でない場合、又は、学習禁止気筒の気筒別空燃比補正量学習値の更新タイミングでない場合は、気筒別空燃比補正量の学習可能と判断して、ステップ３０４以降の処理に進み、前記実施例１と同様の方法で、学習が許可された気筒の気筒別空燃比補正量学習マップのうちの現在のエンジン運転領域に対応する学習領域の気筒別空燃比補正量学習値を更新する。
【００７０】
図１１の学習禁止判定ルーチンは、図１０の気筒別空燃比補正量学習ルーチンのステップ３０２で実行されるサブルーチンであり、前記実施例２で説明した図９の学習禁止判定ルーチンのステップ４０７の処理をステップ４０７ａの処理に変更しただけであり、その他のステップの処理は同じである。
【００７１】
図１１の学習禁止判定ルーチンでは、ステップ４０１〜４０５の処理により、いずれかの気筒の気筒別空燃比補正量が所定範囲外になっている状態が所定時間経過すると、学習禁止フラグをＯＮ（学習禁止）にセットする。この後、ステップ４０７ａに進み、現在のエンジン運転領域を学習禁止領域として記憶すると共に、気筒別空燃比補正量が所定範囲を外れた気筒を学習禁止気筒として記憶し、以後、この学習禁止気筒の気筒別空燃比補正量学習マップのうちの学習禁止領域についてのみ、気筒別空燃比補正量の学習を禁止する。
【００７２】
以上説明した本実施例３では、いずれかの気筒の気筒別空燃比補正量が所定範囲を外れた運転領域において、気筒別空燃比補正量が所定範囲を外れた気筒についてのみ気筒別空燃比補正量の学習を禁止するようにしたので、気筒別空燃比補正量の学習を禁止する運転領域と気筒を最小限にすることができ、気筒別空燃比補正量の学習精度を高めることができる。
【００７３】
尚、本発明は、いずれか１つの気筒の気筒別空燃比補正量が所定範囲を外れた運転領域において、当該１つの気筒についてのみ気筒別空燃比補正量の学習を禁止する構成に限定されず、いずれか２つ以上の気筒の気筒別空燃比補正量が所定範囲を外れた運転領域において、当該２つ以上の気筒別空燃比補正量の学習を禁止するようにしても良い。
【００７４】
また、いずれかの気筒の気筒別空燃比補正量が所定範囲を外れた運転領域において、当該気筒が属する気筒グループについて気筒別空燃比補正量の学習を禁止するようにしても良い。
【実施例４】
【００７５】
上記実施例１〜３では、いずれかの気筒の気筒別空燃比補正量が所定範囲を外れた場合に、気筒別空燃比補正量の学習を禁止するようにしたが、いずれかの気筒の気筒別空燃比補正量学習値が所定範囲を外れた場合に、気筒別空燃比補正量の学習を禁止するようにしても良い。以下、これを具体化した本発明の実施例４を説明する。
【００７６】
本実施例４では、図１２の学習禁止判定ルーチンを実行して、まず、気筒別空燃比補正量学習値を読み込み（ステップ４０１ａ）、いずれかの気筒の気筒別空燃比補正量学習値が所定範囲外であるか否かを判定し（ステップ４０２ａ）、いずれかの気筒の気筒別空燃比補正量学習値が所定範囲外になっている状態の継続時間を計測するディレイ時間カウンタＴのカウント値が所定値を越えた時点で、学習禁止フラグを学習禁止を意味するＯＮにセットする（ステップステップ４０３〜４０５）。これ以外の処理は前記実施例１と同じである。
【００７７】
本実施例４の制御例を図１３のタイムチャートを用いて説明する。
図１３の例では、時刻ｔ1 で、気筒別空燃比制御の実行条件が成立して、気筒別空燃比制御が開始され、各気筒＃１〜＃４の気筒別空燃比補正量が算出される。
【００７８】
その後、時刻ｔ2 で、学習実行条件が成立して、気筒別空燃比補正量の学習が開始され、各気筒＃１〜＃４の気筒別空燃比補正量学習値が更新される。
【００７９】
その後、各気筒＃１〜＃４の気筒別空燃比補正量学習値が所定範囲外（許容範囲外）であるか否かが判定され、いずれかの気筒の気筒別空燃比補正量学習値が所定範囲外になった時点ｔ3 で、ディレイ時間カウンタＴのカウントアップ動作が開始され、気筒別空燃比補正量学習値が所定範囲外になっている状態の継続時間が計測される。
【００８０】
その後、ディレイ時間カウンタＴのカウント値が所定値を越えた時点ｔ4 で、学習禁止フラグがＯＮ（学習禁止）にセットされる。この後は、気筒別空燃比補正量の学習が禁止される。
【００８１】
以上説明した本実施例４においても、前記実施例１と同様の効果を得ることができる。  尚、本発明は、いずれか１つの気筒の気筒別空燃比補正量学習値が所定範囲外になっている状態が暫く続いたときに、気筒別空燃比補正量の学習を禁止する構成に限定されず、いずれか２つ以上の気筒の気筒別空燃比補正量学習値が所定範囲外になっている状態が暫く続いたときに、気筒別空燃比補正量の学習を禁止するようにしても良い。
【００８２】
また、本発明は、気筒別空燃比補正量学習値が所定範囲を外れた気筒又は気筒グループについてのみ気筒別空燃比補正量の学習を禁止するようにしても良い。このようにすれば、気筒別空燃比補正量学習値が所定範囲を外れた気筒又は気筒グループについてのみ、気筒別空燃比補正量の学習を禁止して気筒別空燃比補正量の誤学習を防止しながら、気筒別空燃比補正量学習値が所定範囲内に収まる他の気筒又は気筒グループについては、気筒別空燃比補正量の学習を継続して、気筒別空燃比補正量の学習精度を高めることができる。
【実施例５】
【００８３】
図１４に示す本発明の実施例５では、いずれかの気筒の気筒別空燃比補正量学習値が所定範囲（許容範囲）を外れた場合に、気筒別空燃比補正量学習値が所定範囲を外れた運転領域についてのみ気筒別空燃比補正量の学習を禁止し、それ以外の運転領域では、気筒別空燃比補正量の学習を許可するようにしている。
【００８４】
本実施例５で実行する図１４の学習禁止判定ルーチンは、前記実施例４で説明した図１２の学習禁止判定ルーチンのステップ４０５の次にステップ４０７の処理を追加しただけであり、その他のステップの処理は同じである。
【００８５】
図１４の学習禁止判定ルーチンでは、ステップ４０１ａ〜４０５の処理により、いずれかの気筒の気筒別空燃比補正量学習値が所定範囲外になっている状態が所定時間経過すると、学習禁止フラグをＯＮ（学習禁止）にセットする。この後、ステップ４０７に進み、現在のエンジン運転領域を学習禁止領域としてＥＣＵ４０の書き換え可能な不揮発性メモリ（図示せず）に記憶し、以後、この学習禁止領域についてのみ、気筒別空燃比補正量の学習を禁止する。本実施例５では、前記実施例２で説明した図８の気筒別空燃比補正量学習ルーチンが実行される。
【００８６】
以上説明した本実施例５では、いずれかの気筒の気筒別空燃比補正量学習値が所定範囲を外れた運転領域のみで気筒別空燃比補正量の学習を禁止して気筒別空燃比補正量の誤学習を防止しながら、気筒別空燃比補正量学習値が所定範囲内に収まる他の運転領域では、気筒別空燃比補正量の学習を継続することができ、気筒別空燃比補正量の学習精度を高めることができる。
【００８７】
尚、本発明は、いずれか１つの気筒の気筒別空燃比補正量学習値が所定範囲を外れた運転領域のみで気筒別空燃比補正量の学習を禁止する構成に限定されず、いずれか２つ以上の気筒の気筒別空燃比補正量学習値が所定範囲を外れた運転領域のみで気筒別空燃比補正量の学習を禁止するようにしても良い。
【実施例６】
【００８８】
図１５に示す本発明の実施例６では、いずれかの気筒の気筒別空燃比補正量学習値が所定範囲を外れた運転領域において、気筒別空燃比補正量学習値が所定範囲を外れた気筒についてのみ気筒別空燃比補正量の学習を禁止するようにしている。
【００８９】
図１５の学習禁止判定ルーチンは、前記実施例５で説明した図１４の学習禁止判定ルーチンのステップ４０７の処理をステップ４０７ａの処理に変更しただけであり、その他のステップの処理は同じである。
【００９０】
図１５の学習禁止判定ルーチンでは、ステップ４０１ａ〜４０５の処理により、いずれかの気筒の気筒別空燃比補正量学習値が所定範囲外になっている状態が所定時間経過すると、学習禁止フラグをＯＮ（学習禁止）にセットする。この後、ステップ４０７ａに進み、現在のエンジン運転領域を学習禁止領域として記憶すると共に、気筒別空燃比補正量学習値が所定範囲を外れた気筒を学習禁止気筒として記憶し、以後、この学習禁止気筒の気筒別空燃比補正量学習マップのうちの学習禁止領域についてのみ、気筒別空燃比補正量の学習を禁止する。本実施例６では、前記実施例３で説明した図１０の気筒別空燃比補正量学習ルーチンが実行される。
【００９１】
以上説明した本実施例６では、いずれかの気筒の気筒別空燃比補正量学習値が所定範囲を外れた運転領域において、気筒別空燃比補正量学習値が所定範囲を外れた気筒についてのみ気筒別空燃比補正量の学習を禁止するようにしたので、気筒別空燃比補正量の学習を禁止する運転領域と気筒を最小限にすることができ、気筒別空燃比補正量の学習精度を高めることができる。
【００９２】
尚、本発明は、いずれか１つの気筒の気筒別空燃比補正量学習値が所定範囲を外れた運転領域において、当該１つの気筒についてのみ気筒別空燃比補正量の学習を禁止する構成に限定されず、いずれか２つ以上の気筒の気筒別空燃比補正量学習値が所定範囲を外れた運転領域において、当該２つ以上の気筒別空燃比補正量の学習を禁止するようにしても良い。
【００９３】
また、いずれかの気筒の気筒別空燃比補正量学習値が所定範囲を外れた運転領域において、当該気筒が属する気筒グループについて気筒別空燃比補正量の学習を禁止するようにしても良い。
【００９４】
その他、本発明は、吸気ポート噴射エンジンに限定されず、筒内噴射エンジンにも適用して実施できる等、要旨を逸脱しない範囲で種々変更して実施できる。
【図面の簡単な説明】
【００９５】
【図１】本発明の実施例１におけるエンジン制御システム全体の概略構成図である。
【図２】実施例１の気筒別空燃比制御メインルーチンの処理の流れを示すフローチャートである。
【図３】実施例１の気筒別空燃比制御実行ルーチンの処理の流れを示すフローチャートである。
【図４】実施例１の気筒別空燃比補正量学習ルーチンの処理の流れを示すフローチャートである。
【図５】実施例１の学習禁止判定ルーチンの処理の流れを示すフローチャートである。
【図６】実施例１の制御例を説明するタイムチャートである。
【図７】実施例１の気筒別空燃比補正量学習マップを概念的に示す図である。
【図８】実施例２の気筒別空燃比補正量学習ルーチンの処理の流れを示すフローチャートである。
【図９】実施例２の学習禁止判定ルーチンの処理の流れを示すフローチャートである。
【図１０】実施例３の気筒別空燃比補正量学習ルーチンの処理の流れを示すフローチャートである。
【図１１】実施例３の学習禁止判定ルーチンの処理の流れを示すフローチャートである。
【図１２】実施例４の学習禁止判定ルーチンの処理の流れを示すフローチャートである。
【図１３】実施例４の制御例を説明するタイムチャートである。
【図１４】実施例５の学習禁止判定ルーチンの処理の流れを示すフローチャートである。
【図１５】実施例６の学習禁止判定ルーチンの処理の流れを示すフローチャートである。
【符号の説明】
【００９６】
１１…エンジン（内燃機関）、１２…吸気管、１４…エアフローメータ、１５…スロットルバルブ、１９…吸気マニホールド、２０…燃料噴射弁、２２…燃料ポンプ、２４…燃圧センサ、２７，２８…可変バルブタイミング機構、３５…排気マニホールド、３６…排気合流部、３７…空燃比センサ、３８…触媒、４０…ＥＣＵ（気筒別空燃比推定手段，気筒別空燃比補正量算出手段，気筒別空燃比制御手段，気筒別学習手段，学習禁止手段）
【図１】
2008038784.tif 000003
【図２】
2008038784.tif 000004
【図３】
2008038784.tif 000005
【図４】
2008038784.tif 000006
【図５】
2008038784.tif 000007
【図６】
2008038784.tif 000008
【図７】
2008038784.tif 000009
【図８】
2008038784.tif 000010
【図９】
2008038784.tif 000011
【図１０】
2008038784.tif 000012
【図１１】
2008038784.tif 000013
【図１２】
2008038784.tif 000014
【図１３】
2008038784.tif 000015
【図１４】
2008038784.tif 000016
【図１５】
2008038784.tif 000017