以下、本発明を実施するための形態について、図面を参照して説明する。
実施の形態1.
図1は、本発明の実施の形態1に係る内燃機関の制御装置を示す構成図である。なお、図1に示す内燃機関は、アルコールを含む燃料を用いる内燃機関である。また、この内燃機関には、複数の気筒が設けられているが、図1では、そのうちの1本の気筒のみを示している。
図1において、内燃機関であるエンジン1には、吸気ポート2と、排気ポート3と、エンジン1を冷却するウォータジャケット4とが設けられている。吸気ポート2には、吸気管5が接続されている。また、排気ポート3には、排気管6が接続されている。ウォータジャケット4には、冷却水温を検出する水温センサ7が取り付けられている。エンジン1の回転数は、クランク角センサ8からの所定クランク角毎に出力されるパルス信号の周波数によって検出される。
吸気管5は、エアクリーナ収納部9と、サージタンク10とを有している。エアクリーナ収納部9内には、吸気ダクト(図示せず)からの空気を浄化するエアクリーナ11が設けられている。サージタンク10内には、吸気温度を検出する吸気温度センサ12が設けられている。
また、吸気管5内におけるエアクリーナ収納部9及びサージタンク10間には、エアフローメータ13及びスロットルバルブ14が設けられている。エアフローメータ13は、エンジン1への吸入空気量を検出する。スロットルバルブ14の上方には、スロットルボデー15が設けられている。スロットルボデー15内には、スロットルバルブ14が収納可能となっている、また、スロットルボデー15には、空気吸気量を調節するアイドルスピードコントロールバルブ16と、吸気管5の圧力を検出する吸気管圧力センサ17とが設けられている。
一方、排気管6には、上流側酸素濃度センサ18と、下流側酸素濃度センサ19とが設けられている。また、排気管6内における上流側酸素濃度センサ18及び下流側酸素濃度センサ19間には、排気ガスを浄化する三元触媒20が設けられている。上流側酸素濃度センサ18は、三元触媒20によって浄化される前の排出ガス中の酸素濃度を検出する。下流側酸素濃度センサ19は、三元触媒20よって浄化された後の排気ガス中の酸素濃度を検出する。
各気筒の吸気ポート2の近傍には、燃料を噴射する燃料噴射弁(インジェクタ)21が設けられている。燃料噴射弁21は、エンジンコントロールユニット40(以下、「ECU40」と略称する)からの燃料噴射指令信号により運転条件に応じて、所定の空燃比となるように、吸気管5内の吸入空気中に、燃料タンク22から供給される燃料を噴射する。
ECU40は、図示していないが、後述する各種演算処理に用いられるデータを格納するバックアップRAM(Random Access Memory)又はEEPROM(Electrically Erasable and Programmable Read Only Memory)と、演算制御プログラムが格納されているROMとを有している。また、ECU40には、エンジン1及びその周辺に設けられた各種センサ(図示せず)の検出信号が入力される。
また、本実施の形態1におけるECU40は、上流側空燃比フィードバック制御手段41と、下流側空燃比フィードバック制御手段42と、上流側アルコール濃度推定値算出手段43(上流側濃度推定手段に相当)と、下流側アルコール濃度推定値算出手段44(下流側濃度推定手段に相当)と、上流側目標空気過剰率算出手段45(上流側目標値算出手段に相当)と、燃料供給量調整手段46とを有している。
なお、詳細は、後述するが、ECU40内の各手段は、概略、以下のように機能する。また、本発明における内燃機関の制御装置は、上流側アルコール濃度推定値算出手段43、上流側目標空気過剰率算出手段45を有さない構成とすることも可能である。
上流側空燃比フィードバック制御手段41は、上流側酸素濃度センサ18による検出値が、後述する上流側目標空気過剰率(上流側目標値)に一致するように、内燃機関へ供給する空燃比を調整する。
下流側空燃比フィードバック制御手段42は、下流側酸素濃度センサ19による検出値が、後述する下流側目標値に一致するように、上流側目標空気過剰率を調整する。
上流側アルコール濃度推定値算出手段43は、上流側空燃比フィードバック制御手段41による空燃比の調整量に基づいて、燃料タンク22内の燃料の単一組成分のアルコール濃度推定値を算出する。
下流側アルコール濃度推定値算出手段44は、下流側空燃比フィードバック制御手段42による上流側目標空気過剰率の調整量に基づいて、燃料タンク22内の燃料の単一組成分のアルコール濃度推定値を算出する。
上流側目標空気過剰率算出手段45は、上流側アルコール濃度推定値算出手段43によって算出されたアルコール濃度推定値に基づいて、上流側目標空気過剰率を算出する。
燃料供給量調整手段46は、上流側アルコール濃度推定値算出手段43及び下流側アルコール濃度推定値算出手段44によって算出されたアルコール濃度推定値に基づいて、内燃機関への燃料供給量を調整する。
燃料タンク22内には、混合燃料が蓄えられている。混合燃料としては、例えば、ガソリンとエタノールとの混合燃料などが挙げられる。
燃料タンク22内には、混合燃料を汲み上げる燃料ポンプ23と、混合燃料の液面レベルを検出する燃料レベルゲージ24とが設けられている。燃料ポンプ23には、燃料供給パイプ25を介して圧力レギュレータ26が接続されている。圧力レギュレータ26には、燃料供給パイプ25を介して燃料フィルタ27が接続されている。燃料フィルタ27には、燃料供給パイプ25を介して各気筒の燃料噴射弁21に燃料を供給するデリバリパイプ28が接続されている。
圧力レギュレータ26の背圧室は、大気に開放されている。これにより、燃料ポンプ23から圧力レギュレータ26に送られる燃料の余剰分は、圧力レギュレータ26の燃料戻し口26aから燃料タンク22内へ戻される。
また、燃料タンク22には、混合燃料から発生する蒸散ガスを吸着するキャニスター29が接続されている。キャニスター29は、バルブ30を介してサージタンク10に接続されている。バルブ30は、ECU40からの制御信号に基づいて蒸散ガス導入時に開放される。この結果、キャニスター29に吸着された蒸散ガスは、吸気管5を介してエンジン1に導入される。
図2は、ガソリンとエタノールとの混合燃料のアルコール濃度と理論空燃比との関係を示すグラフである。三元触媒20は、空燃比が理論空燃比付近において、最大の浄化効率をもって排気ガス中のNOx、HC、COを浄化することできる。しかし、燃料内の単一組成成分濃度(アルコール濃度)が異なる燃料は、通常のガソリンに対してC(炭素)原子の含有量が異なるため、ガソリンとアルコールとの理論空燃比も異なっている。
そこで、燃料内の単一組成成分濃度が異なる燃料においても、三元触媒20内の空燃比を理論空燃比に維持する方法として、上流側酸素濃度センサ18を用いた上流側空燃比フィードバック制御が一般的に知られている。
ここでは、上流側酸素濃度センサ18を用いた従来の上流側空燃比フィードバック制御について説明する。
ECU40は、上流側酸素濃度センサ18によって検出された排気ガス中の酸素濃度に基づいて理論空燃比に対する空燃比のずれ量を検出し、エンジン1への供給空燃比を理論空燃比にフィードバック制御する。これにより、空燃比は、アルコール濃度により変化する理論空燃比付近に自動補正される。
しかし、上流側酸素濃度センサ18を用いた上流側空燃比フィードバック制御だけでは、三元触媒20内の空燃比を理論空燃比に維持する制御精度が十分ではなかった。
そこで、上流側酸素濃度センサ18及び下流側酸素濃度センサ19を用いて三元触媒20内の空燃比の理論空燃比からのずれ量を検出するとともに、空燃比を理論空燃比に維持するように、上流側の空燃比フィードバック制御の制御定数を補正し、上流側の空燃比を調整する下流側の空燃比フィードバック制御を行なうダブル濃度センサシステムが一般に知られている。
ここで、上流側酸素濃度センサ18及び下流側酸素濃度センサ19の構成・機能を中心に、以下に説明する。図3は、2値型酸素濃度センサの要部を示す構成図、図4は、リニア型酸素濃度センサの要部を示す構成図である。
なお、本実施の形態1おける上流側酸素濃度センサ18及び下流側酸素濃度センサ19は、理論空燃比を境に2値の出力特性をもつ2値型酸素濃度センサであるが、必ずしもこれに限定されず、理論空燃比に対する空燃比のずれ量をリニアに検出するリニア型酸素濃度センサであってもよい。
まず、図3に示すように、2値型酸素濃度センサの内部には、ジルコニア素子が設けられている。2値型酸素濃度センサは、ジルコニア素子の内側に酸素濃度の高い大気を導くとともに、ジルコニア素子の外側に酸素濃度の低い排気ガスを導くようになっている。
これにより、ジルコニア素子の両端で酸素濃度差が生じると、酸素イオンがジルコニア素子の中を通過し、ネルンストの式で表される起電力が生じる。例えば、ジルコニア素子の外側を通過する排気ガス中の空燃比が理論空燃比よりも小さい時には、酸素濃度差が大きくなるので、起電力も大きくなる。反対に、ジルコニア素子の外側を通過する排気ガス中の空燃比が理論空燃比よりも大きい時には、酸素濃度差が小さくなるので、起電力も小さくなる。
また、ジルコニア素子の両端の電極には、起電力を取り出すために白金が使用されている。これは、電極の役割に加えて白金の触媒作用を働かせ、十分な起電力と、理論空燃比を境にして外側電極近傍の酸素濃度を急変させる特性とを得るためである。
一方、図4に示すように、リニア型酸素濃度センサの内部には、ジルコニア素子及び酸素ポンプ素子が設けられている。酸素ポンプ素子は、測定室内に導入される排気ガスが理論空燃比よりもリーンな場合、測定室内の酸素を外側の排気ガス中に放出する。反対に、酸素ポンプ素子は、測定室内に導入される排気ガスが理論空燃比よりもリッチな場合、外側の排気ガス中の酸素を取り入れる。
また、酸素ポンプ素子は、リニア型酸素濃度センサのコントロールユニット(図示せず)によって制御されている。コントロールユニットは、理論空燃比に対する排気ガスの空燃比ずれ量を示す電圧を出力する。従って、リニア型酸素濃度センサは、酸素の放出及び取り入れによって生じる酸素ポンプ素子の電流値に基づいて、理論空燃比に対する空燃比のずれ量をリニアに検出することができる。
図5は、上流側酸素濃度センサ18が2値型酸素濃度センサであった場合に、浄化前の排気ガスを検出した結果を示すグラフ、図6は、上流側酸素濃度センサ18がリニア型酸素濃度センサであった場合に、浄化前の排気ガスを検出した結果を示すグラフである。なお、図5、6の横軸に示す空気過剰率(λ)は、空燃比/理論空燃比で定義される。
通常、浄化前の排気ガス中の水素(H2)濃度は、アルコール濃度が高くなるほど高くなる。また、酸素(O2)より分子量の小さい水素は、上流側酸素濃度センサ18のジルコニア素子に拡散し易い。このため、検出された酸素濃度は、実際の酸素濃度より少なくなり、上流側酸素濃度センサ18の起電力も大きくなる。
従って、図5、6に示すように、アルコール燃料では、実際の空燃比が理論空燃比(空気過剰率(λ)=1)であるのに対し、2値型酸素濃度センサの起電力が大きくなり、リッチ出力する。また、リニア型酸素濃度センサもジルコニア素子により検出された酸素濃度を基準に空燃比を検出しているため、同様に、リッチ出力する。
このように、上流側の2値型酸素濃度センサ又は上流側のリニア型酸素濃度センサを用いた上流側の空燃比フィードバック制御による空燃比は、アルコール濃度に比例して理論空燃比から若干リーン側にずれる。従って、三元触媒20の浄化率が低下し、NOx、HC、COの排出量が多くなってしまう。
図7は、下流側酸素濃度センサ19が2値型酸素濃度センサであった場合に、浄化前の排気ガスを検出した結果を示すグラフ、図8は、下流側酸素濃度センサ19がリニア型酸素濃度センサであった場合に、浄化前の排気ガスを検出した結果を示すグラフである。
図7、8に示すように、排ガス中の水素濃度は、三元触媒20によって浄化されることにより水素が酸化されるため、アルコール濃度に関わらず、ほぼ0になることが分かる。また、理論空燃比付近及び理論空燃比よりリーン側では、三元触媒20の酸化作用が増加するため、水素濃度がほぼ0になる。さらに、理論空燃比よりリッチ側では、三元触媒20の酸化作用が低下するため、水素濃度が増加する。従って、下流側酸素濃度センサ19は、理論空燃比付近でのアルコール濃度変化による出力シフトが大幅に減少する。
また、上流側酸素濃度センサ18による空燃比のリーンシフトは、下流側酸素濃度センサ19により検出できる。このため、下流側空燃比フィードバック制御により上流側の空燃比を補正するダブル酸素濃度センサシステムは、アルコール燃料の水素増加に対しても有効である。
さらに、下流側空燃比フィードバック制御による上流側の空燃比の補正量により、アルコール濃度の変化を検出することができる。
そこで、本発明の実施の形態1においては、下流側空燃比フィードバック制御による上流側の空燃比の補正量に基づいて、アルコール濃度推定値を算出する下流側濃度推定値算出手段と、この下流側濃度推定値算出手段によって算出されたアルコール濃度推定値に基づいて内燃機関への燃料供給量を調整する燃料供給量調整手段46とを備えた内燃機関の制御装置について、以下に説明する。
まず始めに、上流側酸素濃度センサ18を用いた上流側空燃比フィードバック制御について説明する。
燃料噴射弁21からエンジン1に供給される燃料噴射量Qfuel1は、アルコール濃度が0%の場合の基本噴射量Qfuel0、後述するアルコール濃度補正係数KAL、空燃比フィードバック補正係数KFB、学習補正係数KLRN及び蒸散ガス導入補正係数KPRGを用いて、次式(1)のように設定される。
Qfuel1=Qfuel0×KAL×KFB×KLRN×KPRG (1)
上式(1)の基本噴射量Qfuel0は、エアフローメータ13で検出される吸入空気量qaから演算されるエンジン1への供給空気量Qacylと、目標空燃比AF0とを用いて、次式(2)のように演算される。
Qfuel0=Qacyl/AF0 (2)
上式(2)の目標空燃比AF0は、アルコール濃度が0%のときの空燃比であり、図9に示すような、エンジン回転数と負荷(例えば、吸入空気量qa)との3次元マップに基づいて設定される。
図9において、エンジン回転数又は負荷が大きい場合には、リッチ化制御の目標空燃比AF0(=12〜13)に設定される。また、エンジン回転数又は負荷が中間運転域の場合には、理論空燃比制御の目標空燃比AF0(≒14.5)に設定される。さらに、エンジン回転数が中間運転域で負荷が小さい場合には、リーン化制御の目標空燃比AF0(=16)又は燃料カットの目標空燃比AF0(=∞)に設定される。
ここで、アルコール濃度補正係数KAL、空燃比フィードバック補正係数KFB、学習補正係数KLRN及び蒸散ガス導入補正係数KPRGについて、以下に説明する。
アルコール濃度補正係数KALは、アルコール濃度により変化する理論空燃比の変化を補正する補正係数である。また、アルコール濃度補正係数KALは、空燃比フィードバック補正係数KFB及び下流側空燃比フィードバック制御に基づいて算出される。
空燃比フィードバック補正係数KFBは、上流側酸素濃度センサ18の出力に基づいて、後述する上流側目標空気過剰率AFobjとなるように実施される上流側空燃比フィードバック制御の補正係数である。
学習補正係数KLRNは、燃料供給装置(例えば、燃料噴射弁21)の経年変化などによる特性変動を補正する補正係数である。また、学習補正係数KLRNは、空燃比フィードバック補正係数KFBに基づいて算出される。
蒸散ガス導入補正係数KPRGは、蒸散ガス導入による空燃比の変動を補正する補正係数である。また、蒸散ガス導入補正係数KPRGは、空燃比フィードバック補正係数KFBに基づいて算出される。
図10は、本発明の実施の形態1に係るECU40による上流側空燃比フィードバック制御の設定動作を示すフローチャートである。これは、上流側酸素濃度センサ18の出力に基づいて内燃機関に供給する空燃比を補正する上流側空燃比フィードバック制御ルーチンであって、所定時間、例えば、5ms毎に実行される。
図10において、各判定処理からの分岐部の符号「Y」、「N」は、それぞれ「Yes」、「No」を示している。
まず、ステップS101において、ECU40は、上流側酸素濃度センサ18からの出力V1をA/D変換して取り込み、図11に示すような、出力電圧(V)と空気過剰率(λ)との2次元マップを用いて、出力V1を検出空気過剰率AF1に変換する。
そして、ステップS102において、ECU40は、上流側目標空気過剰率AFobjを、後述する目標空気過剰率の基準値AFobj0と、目標空気過剰率の補正値ΔAFobjとに基づいて、次式(3)のように算出する。
AFobj←AFobj0+ΔAFobj (3)
上式(3)の上流側目標空気過剰率の基準値AFobj0は、アルコール濃度に比例して増加する水素濃度によって生じる上流側酸素濃度センサ18のリーンシフトを補償する。このため、上流側目標空気過剰率の基準値AFobj0は、図12に示すような、2次元マップを用いて、アルコール濃度ALの変化に応じて設定される。
また、上式(3)の上流側目標空気過剰率の補正値ΔAFobjは、後述する下流側空燃比フィードバック制御により算出され、後述するアルコール濃度推定値誤差ΔALによる上流側目標空気過剰率の基準値AFobj0の設定誤差を補償する。
ここで、図12に示すような、2次元マップは、水素濃度の増加量がエンジン回転数及び負荷によって変化するため、エンジン回転数及び負荷により区切られた運転条件毎に設定される。これは、エンジン回転数又は負荷が大きくなるにつれて、アルコール濃度変化による水素濃度変化が減少し、上流側酸素濃度センサ18のリーンシフトが減少する傾向にあるためである。
なお、上流側目標空気過剰率の基準値AFobj0は、必ずしもアルコール濃度の変化に応じて設定する必要はなく、水素濃度によって生じる上流側酸素濃度センサ18のリーンシフトを下流側空燃比フィードバック制御によって補償してもよい。
次に、ステップS103において、ECU40は、検出空気過剰率AF1と、上流側目標空気過剰率AFobjとの偏差ΔAF1を、次式(4)のように演算する。
ΔAF1←AF1−AFobj (4)
次に、ステップS104において、ECU40は、上流側酸素濃度センサ18による上流側空燃比フィードバック条件が成立しているか否かを判定する。
このとき、例えば、理論空燃比制御の空燃比制御条件時及び上流側酸素濃度センサ18の活性状態時の場合(即ち、Yes)には、上流側空燃比フィードバック条件が成立と判定し、ステップS105へ処理が移行する。
但し、後述するオープンループ制御の禁止判定がされた場合には、理論空燃比制御以外の空燃比制御条件時であっても、上流側空燃比フィードバック条件が成立していると判定される。
ステップS105において、ECU40は、偏差ΔAF1に応じてPI制御の処理である比例演算(以下、「P」と称する)及び積分演算(以下、「I」と称する)を行い、偏差ΔAF1をなくすような出力を次式(5)〜(7)のように演算する。なお、空燃比フィードバック補正係数KFBは、一般的なPI制御器により演算される。
KFB←1.0+KI+KP (5)
KI ←KI+GI×ΔAF1 (6)
KP ←GP×ΔAF1 (7)
上式(5)、(6)のKIは、上流側の積分演算値である。また、上式(5)、(7)のKPは、上流側の比例演算値である。さらに、上式(6)のGIは、上流側の積分ゲインである。さらにまた、上式(7)のGPは、上流側の比例ゲインである。なお、GI及びGPは、フィードバック制御性が良好となるように運転条件毎に設定されている。
ここで、上流側酸素濃度センサ18の検出空気過剰率AF1が上流側目標空気過剰率AFobjよりも小さい(リーン)側の場合には、空燃比フィードバック補正係数KFBを燃料の供給量が減少するように設定する。これにより、検出空気過剰率AF1を上流側目標空気過剰率AFobjとなるように設定する。
一方、理論空燃比制御以外の空燃比制御条件時、上流側酸素濃度センサ18の不活性状態時及び故障時などのいずれかの場合(即ち、No)には、上流側フィードバック条件が不成立と判定し、ステップS106へ処理が移行する。
ここで、理論空燃比制御以外の空燃比制御条件としては、例えば、冷却水温が低温時でのリッチ化制御中、高負荷パワー増量のリッチ化制御中、燃費向上のためのリーン化制御中、始動後のリーン化制御中及び燃料カット中などが挙げられる。
ステップS106において、ECU40は、空燃比フィードバック補正係数KFBを1.0にリセットする。即ち、KI及びKPを0にリセットする。
次に、ステップS107において、ECU40は、アルコール濃度補正係数KALの更新条件であるか否かを判定する。
このとき、アルコール濃度補正係数KALの更新条件であった場合(即ち、Yes)には、ステップS108へ処理が移行する。
ここで、アルコール濃度推定中は、後述する蒸散ガス導入を禁止する必要や、オープンループ制御を禁止する必要があるため、その他の空燃比制御の機能が低下する。従って、アルコール濃度更新期間は、給油によってアルコール濃度が変化する可能性の高い期間に設定する。
アルコール濃度更新期間としては、例えば、燃料タンク22内の燃料レベルゲージ24の検出信号の変化などに基づいて、燃料タンク22に燃料が給油されたと判定された後の所定期間、エンジン始動後の所定期間、又はECU40のリセット処理により、バックアップRAMに保存されたアルコール濃度補正係数KALなどの記憶値が初期化された後の所定期間などが挙げられる。また、アルコール濃度更新期間は、時間及び積算燃料噴射量などで管理する。
ステップS108において、ECU40は、空燃比フィードバック補正係数KFBからアルコール濃度補正係数KALを、次式(8)ように更新する。
KAL←KAL×KFB (8)
上式(8)の「KAL×KFB」は、現在のアルコール濃度補正係数KAL及び空燃比フィードバック補正係数KFBの乗算であり、アルコール濃度0%の理論空燃比を基準にして、現在のアルコール濃度の理論空燃比を補償する真のアルコール濃度補正係数KALに相当する。
また、ECU40は、図13に示すような、アルコール濃度補正係数KALと、アルコール濃度ALとの特性マップに基づいてアルコール濃度推定値を更新する。このアルコール濃度推定値は、各種空燃比制御及び点火時期制御などに用いられる。
ここで、空燃比制御としては、例えば、エンジン始動時の燃料制御などが挙げられる。また、点火時期制御としては、点火時期演算及びノック制御に関する制御定数の演算などが挙げられる。
次に、アルコール濃度推定値の誤差について説明する。アルコール濃度推定値の誤差は、アルコール濃度更新期間の設定誤差によって生じる。
また、アルコール濃度更新期間の設定誤差としては、例えば、給油判定漏れが生じた場合及び燃料供給装置の特性変動により生じた空燃比フィードバック補正係数の変動が学習補正係数KLRNに反映されず、アルコール濃度補正係数KALに反映される場合などが挙げられる。
なお、上流側空燃比フィードバック制御による空燃比フィードバック補正係数KFBの短期的な変動の影響を低減するために、空燃比フィードバック補正係数KFBにフィルタ処理又は移動平均処理を行ってもよい。但し、アルコール濃度補正係数KALの更新時には、アルコール濃度変化による空燃比フィードバック補正係数KFBの変動がアルコール濃度補正係数KALに反映されるため、空燃比フィードバック補正係数KFBを1.0にリセットする。即ち、KP及びKIを0にリセットする。
また、アルコール濃度補正係数KALは、特性マップ(図13参照)を用いて、後述する下流側アルコール濃度に基づいて算出してもよい。
一方、アルコール濃度補正係数KALの更新条件でなかった場合(即ち、No)には、ステップS109へ処理が移行する。
次に、ステップS109において、ECU40は、蒸散ガスの導入条件であるか否かを判定する。
このとき、蒸散ガスの導入条件であった場合(即ち、Yes)には、蒸散ガスを導入し、ステップS110へ処理が移行する。
ステップS110において、ECU40は、吸気管5に導入された蒸散ガスの濃度変化による空燃比の変化を補償する蒸散ガス導入補正係数KPRGを、次式(9)ように更新する。
KPRG←KPRG×KFB (9)
上式(9)の「KPRG×KFB」は、現在の蒸散ガス導入補正係数KPRG及び空燃比フィードバック補正係数KFBの乗算であり、導入された蒸散ガス濃度を補償する真の蒸散ガス補正係数に相当する。
一方、蒸散ガスの導入条件でなかった(ステップS107において、アルコール濃度更新期間と判定された)場合(即ち、No)には、蒸散ガスの導入を禁止し、ステップS111へ処理が移行する。これにより、蒸散ガス導入による空燃比フィードバック補正係数KFBの変動を防止するとともに、アルコール濃度推定値の精度が向上する。
ステップS111において、ECU40は、蒸散ガス導入補正係数KPRGを1.0にリセットする。
次に、ステップS112において、ECU40は、空燃比フィードバック補正係数KFBの学習補正係数KLRNの学習値更新禁止条件であるか否かを判定する。
このとき、アルコール濃度更新期間及び蒸散ガス導入時でなかった場合(即ち、Yes)には、学習補正係数KLRNの学習値更新禁止条件でないと判定し、ステップS113へ処理が移行する。
ステップS113において、ECU40は、学習補正係数KLRNを、次式(10)のように更新する。
KLRN←KLRN×KFB (10)
上式(10)の「KRLN×KFB」は、現在の学習補正係数KLRN及び空燃比フィードバック補正係数KFBの乗算であり、真の学習補正係数に相当する。
一方、アルコール濃度更新期間及び蒸散ガス導入時であった場合(即ち、No)には、学習補正係数KLRNの学習値更新禁止条件であると判定し、学習補正係数KLRNの学習値の更新を禁止する。これにより、アルコール濃度変化及び蒸散ガス濃度変化により生じた空燃比フィードバック補正係数KFBの変動が学習補正係数KLRNの更新に反映されるのを防止するとともに、学習補正係数KLRNの学習値、アルコール濃度補正係数KAL及び蒸散ガス導入補正係数KPRGの算出精度が向上する。
ここで、本実施の形態1における学習補正係数KLRNの学習値の更新(以下、「学習制御」と称する)について説明する。
学習制御は、燃料供給装置(例えば、燃料噴射弁21)の経年変化及び個体差(生産ばらつき)を補償する。燃料供給装置の経年変化としては、燃料噴射弁21の噴射量特性の変化などが挙げられる。また、個体差としては、エアフローメータ13の検出空気量の誤差などが挙げられる。
これらの特性変化がない場合、空燃比フィードバック補正係数KFBの中心は、1.0になるように設計(設定)されている。しかし、特性変化がある場合、空燃比フィードバック補正係数KFBの中心は、1.0からずれてしまう。
そこで、学習制御には、空燃比フィードバック補正係数KFBの中心の1.0からのずれを学習値及び学習補正係数KLRNによって補償し、空燃比フィードバック補正係数KFBの中心を1.0に保つ作用がある。
次に、ステップS114において、ECU40は、空燃比オープンループ制御の禁止条件であるか否かを判定する。
このとき、空燃比オープンループ制御の禁止条件(ステップS107においてアルコール濃度更新期間)であった場合(即ち、Yes)には、ステップS115へ処理が移行する。
ステップS115において、ECU40は、空燃比オープンループ制御を禁止する。これにより、上流側空燃比フィードバック制御を確実に行い、空燃比フィードバック補正係数KFBを演算することにより、アルコール濃度推定値の精度が向上する。
なお、空燃比オープンループ制御としては、例えば、理論空燃比制御以外の空燃比制御である高負荷パワーの増加のリッチ化制御、燃料向上のためのリーン化制御、低冷却水温時のリッチ化制御及び始動後のリーン化制御などが挙げられる。
図14は、本発明の実施の形態1に係るECU40による下流側空燃比フィードバック制御の設定動作を示すフローチャートである。これは、下流側酸素濃度センサ19の出力に基づいて上流側目標空気過剰率の補正値ΔAFobjを演算する下流側空燃比フィードバック制御の演算ルーチンであって、所定時間、例えば、5ms毎に実行される。
まず、ステップS201において、ECU40は、下流側酸素濃度センサ19からの出力V2を読み込む。
次に、ステップS202において、ECU40は、下流側酸素濃度センサ19の出力V2の目標値となる下流側目標値VR2を設定する。なお、理論空燃比付近の下流側酸素濃度センサ19の所定出力値としては、例えば、0.45V付近に設定される。
次に、ステップS203において、ECU40は、下流側酸素濃度センサ19の出力V2と、下流側目標値VR2との偏差ΔV2を次式(11)のように演算する。
ΔV2←V2−VR2 (11)
次に、ステップS204において、ECU40は、下流側酸素濃度センサ19による下流側フィードバック条件が成立しているか否かを判定する。
このとき、下流側酸素濃度センサ19が活性状態になっており、かつ上流側フィードバック条件が成立し、理論空燃比制御を行っている場合(即ち、Yes)には、下流側フィードバック条件が成立と判定し、ステップS205へ処理が移行する。
ステップS205において、ECU40は、偏差ΔV2に応じてPI制御の処理であるP(比例演算)及びI(積分演算)を行い、偏差ΔV2をなくすような出力を、次式(12)〜(14)のように演算する。なお、上流側目標空気過剰率の補正値ΔAFobjは、一般的なPI制御器により演算される。
ΔAFobj←KI2+KP2 (12)
KI2←KI2+GI2×ΔV2 (13)
KP2←GP2×ΔV2 (14)
上式(12)、(13)のKI2は、下流側の積分演算値である。また、上式(12)、(14)のKP2は、下流側の比例演算値である。さらに、上式(13)のGI2は、下流側の積分ゲインである。さらにまた、上式(14)のGP2は、下流側の比例ゲインである。なお、GI2及びGP2は、下流側空燃比フィードバック制御が良好になるように、運転条件毎に設定されている。
Pは、偏差ΔV2に比例して出力を生成するため、速い応答性を示すとともに、偏差ΔV2を急速に減少させることができる。また、Iは、偏差ΔV2を積分して出力を生成するため、比較的ゆっくりと動作するとともに、水素などによる上流側酸素濃度センサ18の特性変動に起因する下流側酸素濃度センサ19の定常的な偏差ΔV2を解消することができる。
ここで、下流側酸素濃度センサ19の出力V2が下流側目標値VR2よりも小さい(リーン)側の場合、上流側目標空気過剰率AFobjは、下流側酸素濃度センサ19の出力V2を下流側目標値VR2よりも大きい(リッチ)側に補正し、下流側酸素濃度センサ19の出力V2が下流側目標値VR2になるように設定する。
一方、下流側酸素濃度センサ19が不活性状態となっており、かつ上流側フィードバック条件が不成立で理論空燃比制御を行っていない場合(即ち、No)には、下流側フィードバック条件が不成立と判定し、ステップS206へ処理が移行する。
ステップS206において、ECU40は、Pの更新を停止し、バックアップRAMに積分演算値KI2を保存する。
ここで、排気ガス中の水素濃度は、エンジン回転数及び負荷の運転条件によって変化するため、上流側酸素濃度センサ18の特性変動も、エンジン回転数及び負荷の運転条件によって変化する。
従って、下流側の積分演算値KI2は、エンジン回転数及び負荷によって区切られた運転条件毎に設けられたバックアップRAMに保存され、運転条件が変化する毎に更新するバックアップRAMを切り替える。また、バックアップRAMを用いることにより、エンジンの停止及び再始動毎に、下流側の積分演算値KI2がリセットされ、制御性能の低下を防止する。
図15は、本発明の実施の形態1に係るECU40による下流側のアルコール濃度推定値の設定動作を示すフローチャートである。これは、下流側空燃比フィードバック制御により算出される目標空気過剰率の補正値ΔAFobjに基づいてアルコール濃度推定値及びアルコール濃度補正係数KALを補正する下流側アルコール濃度推定値算出手段44の演算ルーチンであって、所定時間、例えば、5ms毎に実行される。
ここで、上流側目標空気過剰率AFobjは、上流側空燃比フィードバック制御により演算されたアルコール濃度推定値に応じてフィードフォワード的に設定される。しかしながら、アルコール濃度推定値誤差ΔALが生じた場合には、下流側空燃比フィードバック制御によりフィードバック的に補償される。
従って、下流側空燃比フィードバック制御により演算される目標空気過剰率の補正値ΔAFobjの変動により、アルコール濃度推定値の推定誤差ΔALが生じたか否かを判定することができる。そして、アルコール濃度推定値の推定誤差ΔALが生じたと判定された場合には、アルコール濃度推定値を補正することができる。
まず、ECU40は、エンジンの加速及び減速などの過度運転によって生じた一時的な下流側酸素濃度センサ19の出力変動の影響を低減するために、目標空気過剰率の補正値ΔAFobjをフィルタ処理したΔAFobj_fltを演算する(ステップS301)。
ΔAFobj_fltは、エンジン回転数及び負荷により区切られた運転条件毎に設けられたバックアップRAMに保存され、運転条件が変化する毎に更新するバックアップRAMを切り替える。これは、アルコール濃度変化による上流側酸素濃度センサ18の特性変動量がエンジン回転数及び負荷の運転条件毎により変化するためである。
なお、運転条件毎に保存された下流側空燃比フィードバック制御の積分演算値KI2をΔAFobj_fltの代わりに用いてもよい。なぜなら、積分演算値KI2は、上流側酸素濃度センサ18の特性変動を補償する作用があるからである。
次に、ステップS302において、ECU40は、下流側空燃比フィードバック制御により演算されたアルコール濃度推定値の推定誤差を算出する。このとき、ECU40は、図16に示すような、2次元マップを用いて、ΔAFobj_fltとアルコール濃度推定値誤差ΔALとを算出する。
次に、ステップS303において、ECU40は、後述するアルコール濃度推定値誤差ΔALの平均値ΔALAVEが所定閾値よりも大ききか否かを判定することにより、アルコール濃度推定値誤差ΔALが大きいか否かを判定する。
ECU40は、特定の運転条件におけるアルコール濃度推定値誤差ΔALの平均値ΔALAVEを算出する。これは、特性変動が大きくなる運転条件のアルコール濃度推定値誤差ΔALの平均値ΔALAVE、又は運転頻度の高い運転条件のアルコール濃度推定値誤差ΔALの平均値ΔALAVEを算出することにより、アルコール濃度推定値誤差ΔALの算出精度を向上することができる。
ステップS303において、ECU40は、アルコール濃度推定値誤差ΔALの平均値ΔALAVEが所定閾値よりも大きい(即ち、Yes)の場合、アルコール濃度推定値誤差ΔALも大きいと判定し、ステップS304へ処理が移行する。
なお、水素による酸素濃度センサの特性変動は、運転条件により傾向差があることを利用して、経年変化などの要因による酸素濃度センサの特性変動と分離することができる。従って、所定の運転条件のアルコール濃度推定値誤差ΔALの平均値ΔALAVEが大きくなり、その他の運転条件のアルコール濃度推定値誤差ΔALの平均値ΔALAVEが小さい場合には、アルコール濃度推定値誤差ΔALが大きくなったと判定してもよい。
また、前回のエンジン停止時のアルコール濃度推定値誤差ΔALの平均値ΔALAVEと、現在のエンジン運転中のアルコール濃度推定値誤差ΔALの平均値ΔALAVEとの偏差が大きくなった場合に、アルコール濃度推定値誤差ΔALが大きくなったことを判定するようにしてもよい。なぜなら、燃料の給油は、エンジン停止中に実施される可能性が高いため、アルコール濃度推定値誤差ΔALが給油毎に生じる恐れがあるからである。
ステップS304において、ECU40は、アルコール濃度推定値を現在のアルコール濃度推定値と、アルコール濃度推定値誤差ΔALの平均値ΔALAVEとに基づいて、次式(15)のように補正する。
AL←AL+ΔALAVE (15)
また、ECU40は、特性マップ(図13参照)を用いて、アルコール濃度補正係数KALを、補正後のアルコール濃度推定値に基づいて更新する。このとき、ECU40は、運転条件毎に保存されているΔAFobj_flt又はKI2を0にリセットする。
なお、下流側空燃比フィードバック制御後の上流側目標空気過剰率AFobj(AFobj+ΔAFobj)は、真の上流側目標空気過剰率である。このため、特性マップ(図12参照)を用いて、下流側アルコール濃度推定値AL2を算出するようにしてもよい。このとき、AFobj0は、上流側アルコール濃度に応じて変化させないようにしてもよい。また、この場合には、下流側アルコール濃度推定値AL2と、上流側アルコール濃度推定値との差が大きくなった場合、アルコール濃度推定値誤差ΔALが生じたと判定し、上流側アルコール濃度推定値に下流側アルコール濃度推定値AL2を代入するようにしてもよい。
以上のように、実施の形態1による内燃機関の制御装置は、下流側空燃比フィードバック制御手段による上流側目標値の調整量に基づいて、燃料タンク内の単一組成分のアルコール濃度推定値を算出している。さらに、算出したアルコール濃度推定値に基づいて内燃機関への燃料供給量を調整している。これにより、アルコール濃度の推定を、より正確に行うことができるとともに、このアルコール濃度推定値に基づいて燃料噴射量を最適化することができる。
なお、上述の説明では、下流側空燃比フィードバック制御手段42による上流側目標値の調整量に基づいて、燃料タンク内の単一組成分のアルコール濃度推定値を算出する下流側濃度推定値算出手段を備えた構成について説明したが、本発明はこのような構成に限定されるものではない。上流側空燃比フィードバック制御手段41による空燃比の調整量に基づいて、燃料タンク内の単一組成分のアルコール濃度推定値を算出する上流側濃度推定値算出手段をさらに備える構成とすることも可能である。この場合には、下流側濃度推定値算出手段及び上流側濃度推定値算出手段によるそれぞれの推定値に応じて、内燃機関への燃料供給量を調整することができる。
さらに、上流側濃度推定値算出手段による推定値に基づいて、上流側目標値を算出する構成とすることもできる。この場合には、上流側目標値が、上流側空燃比フィードバック制御により演算されたアルコール濃度推定値に応じてフィードフォワード的に設定されるとともに、アルコール濃度推定値誤差ΔALが生じた場合には、下流側空燃比フィードバック制御によりフィードバック的に補償されることとなる。