説明

内燃機関の制御装置

【課題】アルコール濃度による空燃比の変化を空燃比学習値に誤って反映するのを抑制する内燃機関の制御装置を提供する。
【解決手段】アルコール含有燃料が給油される内燃機関を制御する内燃機関の制御装置であって、燃料給油判定しない場合にもアルコール濃度推定を実施した上で、アルコール濃度推定値が変動した場合には、アルコール濃度の変化による空燃比のずれを反映した空燃比学習値からアルコール濃度の変化による空燃比のずれ分を除去し、適切な空燃比による燃料制御を実施する。また、燃料給油判定しない場合のアルコール濃度推定時には、燃料噴射量を補正する空燃比学習値を燃料給油判定した場合のアルコール濃度推定時の空燃比学習値に切換えることにより、アルコール濃度推定の精度を向上させる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、アルコールとガソリンの混合されたアルコール含有燃料が給油される内燃機関を制御する内燃機関の制御装置に関するものである。
【0002】
ガソリンの他にアルコールとガソリンの混合されたアルコール含有燃料が給油された場合でも走行可能な、所謂、フレキシブルフューエルビークル(FFV)と言われる自動車がある。
【0003】
アルコールは、通常のガソリン(混合燃料)に対してC(炭素)原子の含有量が異なるため、フレキシブルフューエルビークルに用いられる内燃機関にアルコールとガソリンの混合燃料を供給するにあたっては、燃料内のアルコール濃度値に従って燃料噴射量を調整する必要がある。
【0004】
このため、このようなフレキシブルフューエルビークルにおいては、燃料内のアルコール濃度値を燃料タンク内に設けられたアルコール濃度センサにより検出したり、排気空燃比に基づいて算出される空燃比フィードバック補正係数の平均値とアルコール濃度値との相関関係により、アルコール濃度推定を行うものが従来から知られている。
【0005】
例えば、特許文献1においては、燃料給油がなされた場合に、空燃比制御により得られる空燃比補正量の基準値からのずれに基づくアルコール濃度学習を実施する方法が提案されており、給油がなされたか否かの判定を燃料タンク内の燃料量が予め設定された給油判定量以上増加したか否かにより判定する方法が提案されている。
【0006】
つまり、車両の揺れや燃料レベルセンサの精度を考慮して確実に燃料給油がなされたかを検出し、燃料給油された場合には、燃料に含まれるアルコール濃度が変動している可能性があることから、アルコール濃度推定を実施する方法である。
【0007】
また、特許文献2においては、例えばアルコール濃度に対応して予め設定された噴射量で燃料を噴射した際に出力されるトルク値と、アルコール濃度に対応して予め設定された基準となるトルク値を比較することによって濃度推定を行うことにより、給油判定しない場合でも定期または不定期にアルコール濃度を推定する方法が提案されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2008−19830号公報(要約の欄、図1)
【特許文献2】特開2007−137321号公報(要約の欄、図1)
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかし、特許文献1において開示された方法では、燃料タンク内の燃料量が予め設定された給油判定量以下の場合には、燃料給油判定がなされないため、燃料給油を検出できない程度の継ぎ足し給油をしたような場合に、給油されたにもかかわらず燃料給油判定されず、アルコール濃度推定を実施しないことになる。
【0010】
その結果、給油後もアルコール濃度推定されないため、給油前の推定したアルコール濃度と給油後の実際の燃料タンク内に現在ある燃料のアルコール濃度が一致しない場合が発生し、次回燃料給油まで誤ったアルコール濃度推定値にて燃料量を調整することになる。
【0011】
このため、給油後の燃料のアルコール濃度変化による空燃比のずれは、空燃比フィードバック制御時は前述のフィードバック補正係数で調整されることで解消される。更に、全運転領域で空燃比のずれを解消するために、一般的にはフィードバック補正係数を元に空燃比を学習し、その結果を空燃比学習値として記憶することになる。つまり、アルコール濃度変化は、アルコール濃度推定を実施しない場合、その後のフィードバック制御により最終的には空燃比学習値に反映されることになる。
【0012】
一方、空燃比学習値は、本来、燃料系デバイスの経年変化やばらつきによる空燃比のずれ量を前述のフィードバック制御により学習し、フィードバック制御時には、前記フィードバック補正係数がリッチ(過濃)側またはリーン(希薄)側のいずれかに偏った値にならないように、また、フィードバック制御時以外は、フィードバック補正係数が反映されないことによる空燃比のずれが生じないように空燃比学習値を反映し、最適な燃料噴射量の調整を行うことが目的である。
【0013】
また、空燃比学習値を、燃料系の経年変化やばらつきによる空燃比のずれを学習することを利用して、異常に学習値がリッチ側またはリーン側に偏った場合は燃料系に異常が発生していると判断する燃料系異常を検出し、故障判定することにも使用している。
【0014】
ところが、給油判定できずにアルコール濃度を推定しない場合、アルコール濃度の変化による空燃比のずれを空燃比学習値に反映されてしまうと、本来の目的以外の空燃比のずれを学習してしまうことになり、本来の目的である燃料系デバイスの経年変化やばらつきによる空燃比のずれを十分に学習できなくなり、その結果最適な燃料噴射量を行うことができなくなる恐れがある。
【0015】
また、燃料系に異常が発生していないにもかかわらず、空燃比学習値にアルコール濃度による空燃比のずれが反映されてしまうことにより、燃料系異常の故障誤判定する場合がある。
【0016】
更に、アルコール濃度による空燃比の変化分を空燃比学習値として学習後に給油判定し、アルコール濃度推定を行う際に、空燃比学習値にすでに給油判定しなかった場合のアルコール濃度変化による空燃比のずれが反映されていることで、実際のアルコール濃度に応じた空燃比の変化が正しく検出されず、アルコール濃度推定が正しく行えない問題もある。
【0017】
また、特許文献2において開示された方法のように、燃料給油判定の有無にかかわらず定期または不定期に濃度推定を実施したとしても、アルコール濃度変化があった場合にアルコール濃度を推定する前に空燃比学習が実施された場合、空燃比学習値に誤ってアルコール濃度が反映されることになってしまい、特許文献1で開示された方法と同様の問題が考えられる。
【0018】
つまり、定期または不定期に濃度推定をした場合でも、空燃比学習を最適に行い、アルコール濃度推定の精度を向上させるには不十分である。
【0019】
この発明は、前記課題を解決するためになされたもので、アルコール濃度による空燃比の変化を空燃比学習値に誤って反映するのを抑制する内燃機関の制御装置を提供するものである。
【課題を解決するための手段】
【0020】
この発明に係る内燃機関の制御装置は、アルコールとガソリンの混合されたアルコール含有燃料が給油される内燃機関を制御する内燃機関の制御装置であって、前記アルコール含有燃料のアルコール濃度値を推定するアルコール濃度推定手段と、前記アルコール濃度推定手段により推定されたアルコール濃度値により燃料量を補正する手段と、前記内燃機関に供給された燃料混合気の空燃比を学習し、空燃比学習値を得る空燃比学習手段と、前記アルコール濃度推定手段によりアルコール濃度値を検出した時に前記空燃比学習値を見直す手段と、を備えたものである。
【発明の効果】
【0021】
この発明の内燃機関の制御装置によれば、アルコール濃度による空燃比の変化を空燃比学習値に誤って反映するのを抑制できる。
【図面の簡単な説明】
【0022】
【図1】この発明の実施の形態1に係る内燃機関の制御装置の概略構成を示す説明図である。
【図2】この発明の実施の形態1に係る内燃機関の制御装置におけるアルコール濃度推定を実施する制御の流れを示すフローチャートである。
【図3】この発明の実施の形態1に係る内燃機関の制御装置における燃料給油を判定する制御の流れを示すフローチャートである。
【図4】この発明の実施の形態1に係る内燃機関の制御装置におけるアルコール濃度推定の制御の流れを示すフローチャートである。
【図5】この発明の実施の形態1に係る内燃機関の制御装置におけるアルコール濃度推定を実施するタイムチャートである。
【発明を実施するための形態】
【0023】
以下、添付の図面を参照して、この発明に係る内燃機関の制御装置について好適な実施の形態を説明する。
【0024】
実施の形態1.
図1は、この発明の実施の形態1に係る内燃機関の制御装置の概略構成を示している。なお、図1に示す内燃機関は、アルコールを含む燃料を用いる内燃機関であって、車両に搭載されるものである。
【0025】
エンジン1の燃焼室1aには、点火プラグ2が設けられており、吸気バルブ3を介して吸気マニホールド4が接続されると共に、排気バルブ5を介して排気マニホールド6が接続されている。また、エンジン冷却水の水温を検出する水温センサ7が設けられている。
【0026】
吸気マニホールド4には、吸入空気量を制御するスロットル弁8と、吸入空気量を測定する吸気量センサ9、及び吸気中に燃料を噴射供給するインジェクタ10が設けられている。
【0027】
エンジンコントロールユニット(以下、ECUと言う。)11は、噴射指令信号により運転条件に応じて所定の空燃比となるように、吸気中にインジェクタ10から燃料を噴射供給するように制御している。なお、ECU10には、各種演算処理を実行する中央処理装置であるCPU(Central Processing Unit)12と、制御プログラムを格納したROM(Read Only Memory)(図示せず)と、各種データを格納するRAM(Random Access Memory)13と、ECU11への電源供給が行われない場合にもデータを保持するバックアップRAM(図示せず)が設けられている。
【0028】
排気マニホールド6には、排気中の酸素濃度を検出することによって排気中の空燃比を算出可能にする空燃比検出手段としての第1酸素濃度センサ14、第1三元触媒15、第2酸素濃度センサ16、及び第2三元触媒17が設けられている。
【0029】
第1三元触媒15、第2三元触媒17は、理論空燃比を中心とする、所謂、ウィンドウに空燃比がある場合に最大の転化効率をもって排気中のNOx(窒素酸化物)、HC(炭化水素)、CO(一酸化炭素)を同時に浄化できるため、ECU11では、三元触媒15の上流側に設けた第1酸素濃度センサ14からの出力に基づいて排気空燃比が前述のウィンドウの範囲内で変動するように、排気空燃比のフィードバック(以下、F/Bと言う。)制御を行う。
【0030】
また、ECU11には回転数センサ18からの信号が入力され、エンジン回転数を検出すると共に、エンジン運転状態を把握することが可能となっている。
【0031】
前述の通り、アルコールを含む燃料は、通常のガソリンに対してC(炭素)原子の含有量が異なるため、同一の当量比を得るには大きな噴射量が要求されることになり、アルコールとガソリンの混合燃料をエンジンに供給するにあたっては、燃料内のアルコール濃度値に従って燃料噴射量を調整する必要がある。
【0032】
ECU11では、燃料貯溜装置(以下、燃料タンクと言う。)19に設けられている燃料レベルセンサ20の出力値が増加した場合、エンジン運転時間が所定時間を越えた場合にアルコール濃度推定を行う。
【0033】
そこで、図1に示す本実施の形態における内燃機関の制御装置のECU11内における実際の処理について、図2〜図4のフローチャートに従って説明する。
【0034】
図2〜図4は、アルコール濃度推定の実施、燃料演算用空燃比学習値の切換え、空燃比学習値の見直しをするまでのフローチャートであり、ECU11の動作中に繰り返し実行される。
【0035】
図2は、ECU11の動作中の燃料演算、空燃比学習、アルコール濃度推定実施時の燃料演算用空燃比学習値の切換え、及びアルコール濃度推定完了時の空燃比学習値の見直しをするルーチンである。
【0036】
図2の判定ルーチンにおいて、ECU11は、まずステップS200では燃料給油判定処理を実施する。その燃料給油判定処理については図3のフローチャートで説明する。
【0037】
図3の燃料給油判定処理では、まずステップS301にて、今回、燃料レベルセンサ20の出力値により検出された燃料タンク19内の燃料量今回値FTANKとして更新し、ステップS302に進む。
【0038】
ステップS302では、前回ステップS303で更新された燃料タンク19内の燃料量前回値FTANKBと今回値FTANKを比較する。そして、今回値FTANKの方が小さければ、すなわち燃料タンク19内の燃料量が前回に比べて減少していると判定し、ステップS303へ進み、前回値FTANKBを更新した後にステップS304へ進む。
【0039】
ステップS302において、今回値FTANKが大きければ、すなわち燃料タンク19内の燃料量が増加していると判定し、ステップS303をスキップしてS304へ進む。
【0040】
つまり、ステップS303では燃料量が消費されて減少しているか、給油などにより増加しているかを判定し、燃料を消費している場合にのみ、前回値FTANKBを更新している。
【0041】
なお、今回値FTANK及び前回値FTANKBは、ECU11内のメモリ(例えば、RAM13)に格納される情報であって、図示しないバックアップRAMにより、ECU11の電源が切れたときも再電源ONで情報は保持しており、最初の電源ON時の今回値FTANK、前回値FTANKBの初期値は、例えば、燃料レベルセンサ20の出力値を格納するなどして不定値にならないようにしてある。
【0042】
次に、ステップS304では給油量FTANKINを下式により求めている。
FTANKIN=FTANK−FTANKB
前記前回値FTANKBは、前述の通り燃料タンク19内の燃料が消費されたときに更新されている。つまり、燃料が消費されているときには、FTANK<FTANKBであり、FTANKIN<0となって給油はされていない状態といえる。
【0043】
一方、燃料タンク19内の燃料が増加しているときは、前回値FTANKBは更新されないため、FTANK≧FTANKBであり、FTANKIN≧0となって、給油されているかも知れない状態となっているといえる。つまり、前記演算により求めた給油量FTANKINを使用することにより、給油されたか否かをステップS305で判定することになる。
【0044】
ステップS305では、給油量FTANKINが予め設定された給油判定量より大きいか否かで給油されたか否かを判定している。ここで、給油量FTANKINは、前述の通り、燃料レベルセンサ20の出力値から求められた情報を元に演算された結果である。また、燃料レベルセンサ20の出力値は必ずしも給油された場合にのみ増加側に変動するとは限らない。燃料タンク19の揺れなどでも変動する可能性はある。
【0045】
そのため本実施の形態では、確実に給油したことを判定する方法の一例として、前述の通りステップS305である程度給油量FTANKINが大きくなったとき、すなわち燃料タンク19内の燃料が消費状態から増加となってある一定量をこえた時に給油判定をするようにしたが、給油したことが判定できれば本判定方法に限らなくてもよい。
【0046】
ステップS305にて給油判定された場合には、ステップS306へ進み、給油したことを判定するためのフラグFLAG1をセットし、本ルーチンの処理を終える。ステップS305で給油判定されなかった場合は、ステップS306はスキップされ、本ルーチンの処理を終える。
【0047】
ここで、FLAG1はECU11内のメモリ(例えば、RAM13)に格納される情報であって、前述の通り、ECU11の電源が切れたときも再電源ONで情報は保持しており、後述の図2のフローで濃度推定が実施されるまでは給油判定結果は保持される。
【0048】
ここで図2に戻り、ステップS200で給油判定処理した後は、ステップS201でアルコール濃度推定許可判定処理を実施する。アルコール濃度推定許可判定処理については図4のフローチャートで説明する。
【0049】
図4に示すように、アルコール濃度推定許可判定処理では、まずステップS400でFLAG1が1であるかどうか、すなわち給油がなされているかどうか判定する。給油がなされていると判定すれば、ステップS401へ進み、アルコール濃度推定許可判定を実行することになる。
【0050】
給油がなされていなければ、ステップS402へ進み、後述するエンジン運転時間T1が予め設定された所定時間Ts以上か否かの判断を行い、所定時間Ts以上であればステップS401へ進み、アルコール濃度推定許可判定を実行することになる。
【0051】
ここで、前記所定時間Tsは、給油判定されていないにもかかわらず継ぎ足し給油などで燃料の補給が行われていなければ、本来、エンジンが運転できないような時間を設定する。
【0052】
また、前記の所定時間Tsは、エンジンの燃料タンクの容量と燃費性能などで推測可能であり、また実験的に求めた値に対して、ある程度余裕を持たせた値にするなどして設定することができる。
【0053】
ステップS402の判定で、エンジン運転時間T1が所定時間Ts未満であれば、ステップ405でアルコール濃度推定を許可しないこととし、許可フラグFLAG3=0とし、ステップS406で後述の濃度推定完了判定で使用するアルコール濃度推定時間T2=0として本ルーチンの処理を終える。
【0054】
よって、ステップS402は、給油判定がなされていなくても、継ぎ足し給油などで燃料タンク19内のアルコール濃度が変化した可能性が高い場合には、アルコール濃度推定許可判定を実行するための処理である。
【0055】
次に、ステップS401では空燃比F/B制御中か否かを判定する。空燃比F/B制御中であれば濃度推定許可と判定してステップS403へ進み、アルコール濃度推定可能とみなしてアルコール濃度推定許可フラグFLAG3=1とする。
【0056】
その後、ステップS404でアルコール濃度推定時間T2をカウントし、本ルーチンの処理を終える。
【0057】
ステップS401において、空燃比F/B制御中でなければ、ステップS405、ステップS406の処理を実行し、本ルーチンの処理を終える。
【0058】
つまり、本実施の形態では、図4のアルコール濃度推定許可判定処理は給油判定がなされた場合か、エンジン運転時間が所定時間Ts経過した場合の空燃比F/B制御中であればアルコール濃度推定を許可する判定としている。
【0059】
ここで、エンジン運転時間T1は、ECU11内のメモリ(例えば、RAM13)にあって、ECU11の電源がONからOFF、OFFからONにかかわらず、エンジン運転停止や運転を繰りかえした場合のエンジン運転時間をカウントするものであり、初めての電源ON時の初期値は0としてある。また、濃度推定時間T2、FLAG3についてはECU11内のRAM13に格納される情報である。
【0060】
なお、ここではアルコール濃度推定可否判断を行うための条件に空燃比F/B制御中か否かを用いたが、空燃比を用いたアルコール濃度推定が可能であれば、特に方法はどのような方法でもよく、また、濃度推定許可判定条件も必要に応じて、例えば、水温センサ7による水温情報や、回転数センサ18によるエンジン回転情報などのほかの情報についての条件を追加しても何ら差し支えない。
【0061】
また、本実施の形態では、エンジン運転時間T1の条件以外でアルコール濃度推定する条件の一例として給油判定を説明したが、無駄な処理を省くために給油判定処理を省くことも可能である。
【0062】
再び図2に戻り、ステップS202以降の処理について説明する。
ステップS202では、図4で判定されたアルコール濃度推定許可フラグFLAG3が1か否か、即ち、アルコール濃度推定許可条件が成立しているか否かの判断を行う。アルコール濃度推定許可条件が不成立FLAG3=0と判断された場合は、ステップS203へ進む。
【0063】
ステップS203では、エンジン回転数が0rpmか否かの判断、即ち、エンジン運転中か否かの判断を行う。エンジン回転数が0rpmでない(エンジン運転中)と判断された場合は、ステップS204にてエンジン運転時間T1をカウントし、ステップS205に移行する。逆にエンジン回転数が0rpm(エンジン運転中でない)と判断された場合は、エンジン運転時間T1をカウントせずにステップS205に移行する。
【0064】
エンジン運転時間T1は、前述の図4のステップS402で給油判定がなされていなくても、継ぎ足し給油などで燃料タンク19内のアルコール濃度に変化した可能性が高いか否かを判定するために用いられる値である。
【0065】
ステップS205では、燃料噴射量演算を行う。一般に燃料噴射量の演算には、回転数センサ18で検出された回転数と吸気量センサ9で検出された吸入空気量とに基づいて基本燃料噴射量Fuel_Baseを演算する。そして、その基本燃料噴射量Fuel_Baseを、空燃比学習値AFLRN、アルコール濃度推定値ALCHから予め設定されたアルコール濃度に対する補正係数K_ALCH、内燃機関の温度(冷却水温)等に基づく環境補正K_ENV、及び空燃比F/B中の空燃比F/B補正係数αに基づき補正することで燃料噴射量Fuelを決定しており、例えば、次の(1)式で与えられる。
Fuel=Fuel_base×AFLRN×K_ALCH×K_ENV×α
・・・・・・(1)
【0066】
なお、空燃比F/B中でない場合は、αは強制的に1.0に設定されたり、エンジンの運転条件により他の固定値として扱われたりする場合もあるが、空燃比F/B中でない場合のαの処置については、この発明の主旨とは直接的な関係が薄いので説明は割愛する。
【0067】
次に、ステップS206にてアルコール濃度推定値前回値ALCH_OLDにアルコール濃度推定値ALCHを代入し、アルコール濃度推定値前回値の更新を行い、ステップS217に移行する。本情報は後述する濃度推定完了後における空燃比学習値の見直しのために、濃度推定を実施しないときに前回値として記憶しておく処置である。
【0068】
ステップ217では、空燃比学習条件が成立しているか否かを判定し、成立していればステップS218に進み空燃比学習を行う。
【0069】
ここで、ステップS217の空燃比学習条件について説明する。空燃比学習条件には、一般に、空燃比F/B中であることや、内燃機関の温度(冷却水温)等の環境条件などが挙げられるが、ここでは学習が適正に行える条件であれば特に条件についてはこだわらない。
【0070】
ステップS218では、空燃比学習値AFLRNを算出する。ここで、空燃比学習方法の一例について説明する。空燃比学習値AFLRNは、一般に、空燃比F/B中に空燃比F/B補正係数αの平均値αaveが基準値1.0(空燃比=理論空燃比14.7)より大きい場合に、空燃比学習値前回値AFLRN(n−1)に予め設定された所定値を加算する。逆に、空燃比F/B補正係数αの平均値αaveが基準値1.0より小さい場合は、空燃比学習値前回値AFLRN(n−1)から予め設定された所定値を減算する。
【0071】
つまり、空燃比F/B中に空燃比F/B補正係数αの定常的な値が基準値1.0(空燃比=理論空燃比14.7)に対して、リッチであるかリーンであるかを判定し、急激な空燃比の変動がないように徐々に空燃比学習を行い、(1)式の演算式に反映し、ECU11動作中は、図2の処理が繰り返し実行されることで最終的にはαが基準値1.0(空燃比=理論空燃比14.7)近傍となるようになっている。
【0072】
ステップS218の処理が終了すれば、図2のルーチンを終了する。
【0073】
次に、ステップS202において、アルコール濃度推定許可条件成立FLAG3=1と判断された場合の処理につき説明する。
ステップS202でアルコール濃度推定開始条件成立FLAG3=1と判断された場合は、ステップS219に進み給油判定されたか否かをFLAG1により判定する。
【0074】
ステップS219でFLAG1=1、即ち、給油判定されている状態であれば、ステップS223へ進み、ステップS223で前記(1)式と同一の演算式で燃料噴射量Fuelを設定する。
【0075】
ステップS219でFLAG1=0、即ち、給油判定されていない状態であれば、ステップS207へ進む。
【0076】
ステップS207では給油判定されていない場合のアルコール濃度推定のための燃料噴射量の演算を行う。ここでの燃料噴射量の演算には、ステップS205にて説明した基本燃料噴射量と(1)式と類似の演算を行うが、次の(2)式の通り、演算に使用する空燃比学習値がステップS205の場合と異なり、前回濃度推定完了時に見直された空燃比学習値AFLRN1を使用している。
Fuel=Fuel_base×AFLRN1×K_ALCH×K_ENV×α
・・・・・・(2)
【0077】
ここで、前回アルコール濃度推定完了時に見直された空燃比学習値AFLRN1を使用する理由について説明する。
【0078】
継ぎ足し給油などで、燃料タンク19内のアルコール濃度が変化したにもかかわらずアルコール濃度推定が実施されない状態では、アルコール濃度変化量が空燃比F/B中に空燃比F/B補正係数αに反映されることになる。
【0079】
前述の通り、濃度推定しない場合はステップS217の学習条件が成立すればステップS218で空燃比学習を実施することになり、つまりは、アルコール濃度変化が含まれた空燃比F/B補正係数αにより空燃比学習されることになる。よってこの場合、空燃比学習値AFLRNはアルコール濃度変化が含まれた値になってしまう。
【0080】
従って、前述のアルコール濃度変化が含まれた学習値を使用しないで、前回濃度推定時に見直された学習値がより適正な値と考えられるため、AFLRN1を使用して燃料演算する方が後述のF/B補正値を使用して濃度推定を実施した場合、F/B補正値にのみアルコール濃度変化量が反映されることになり、より精度よいアルコール濃度推定が実施できる。
【0081】
この場合、空燃比F/B補正係数αは初期値1.0としてもよいが、使用する空燃比学習値が変更されることによる空燃比F/B補正係数の変動分(例えば、AFALRNとAFLRN1の偏差)を予め初期値として設定するなどして、アルコール濃度推定実施前後で、急激な燃料噴射量の変化を抑制すればよりよい。
【0082】
本実施の形態では、給油判定している状態と給油判定していない状態で演算式を分けて、給油判定している状態でのアルコール濃度推定時には、後述の通り学習値を見直さず、給油判定していない状態でのアルコール濃度推定時にのみ見直す方式として説明する。
【0083】
次に、ステップ207で燃料演算され噴射する燃料量を設定した後は、ステップS220でアルコール濃度推定が実施される。
【0084】
以下に本実施の形態におけるステップS220でのアルコール濃度推定方法について説明する。
アルコール燃料の理論空燃比(例えばエタノール100%の場合は8.9)は、ガソリンの理論空燃比(例えば、14.7)よりも小さく、アルコール燃料を使用した場合にガソリンと同じ条件で燃料噴射制御を実施すると燃料噴射量が不足するため、F/B制御にて空燃比F/B補正係数αを変化させることにより、燃料噴射量の調節を行う。このアルコール濃度の変化が、F/B制御の空燃比F/B補正係数αの変化に反映されることにより、以下に示す手段にて空燃比F/B補正係数αよりアルコール濃度を算出することができる。
【0085】
アルコール濃度推定値の算出は、まず、F/B中の空燃比F/B補正係数αの最大値αmax及び最小値αminを読み込み、αmax、αminの平均値、即ち、空燃比F/B補正係数αの平均値αaveを算出する。
αave=(αmax+αmin)/2
そして、前記平均値αaveと、空燃比F/B補正係数αによる補正が実質的に行われないことになる基準値1.0との偏差ΔMを算出する。
ΔM=αave−1.0
あらかじめ設定してある前記偏差ΔMを軸とするマップより、アルコール濃度推定値(ALCH)を算出する。ここで、前記ΔMが大きいほど、より大きなアルコール濃度を算出する。
【0086】
本実施の形態では、空燃比F/B補正係数αを用いてアルコール濃度を算出したが、アルコール濃度が算出できれば特にその方法についてはこだわらない。
【0087】
次に、ステップS221では、アルコール濃度推定時間T2が予め設定されたアルコール濃度推定に所要する時間以上か否かの判断を行う。アルコール濃度推定時間T2が所定時間以上と判断された場合は、ステップS222にてアルコール濃度推定完了フラグをセットFLAG5=1し、当該処理を終了する。逆に、アルコール濃度推定時間T2が所定時間未満と判断された場合は、当該処理を終了する。
【0088】
これは、前述のアルコール濃度推定を実施する上では空燃比F/B補正係数αがある程度安定した値となるために時間を要するための処置で、本実施の形態ではアルコール濃度推定のためのアルコール濃度推定時間T2は前述の図4のステップS404でカウントされた濃度推定許可となってからの時間である。
【0089】
次に、ステップS208ではFLAG5=1か否か、つまりアルコール濃度推定完了か否かの判定を行う。アルコール濃度推定未完了FLAG5=0と判断された場合は、以下の処理をスキップし本ルーチンの処理を終える。
【0090】
アルコール濃度推定完了FLAG5=1と判断された場合は、ステップS209にてFLAG1=1か否か、つまり燃料給油判定したか否かの判断を行い、燃料給油判定していないFLAG1=0と判断された場合は、ステップS210にてアルコール濃度推定値の変化量が予め設定された判定値以上か否かの判断を行う。この判定では、アルコール濃度推定値ALCHとアルコール濃度推定値前回値ALCH_OLDの絶対差|ALCH−ALCH_OLD|が判定値以上か否かの判断を行う。
【0091】
アルコール濃度の今回値と前回値の偏差|ALCH−ALCH_OLD|の判定を実施するのは、見直すための十分なアルコール濃度偏差があるかどうかを判定するためで、濃度偏差が少ない場合は、例えば誤差範囲として学習値の見直しを行わないためである。
【0092】
ここで、アルコール濃度推定値の変化量が判定値以上と判断された場合は、ステップS211にて空燃比学習値の見直しを行う。逆に燃料給油判定したFLAG1=1と判断された場合、及びアルコール濃度推定値の変化量が判定値未満と判断された場合は、ステップS212に移行する。
【0093】
つまり、燃料給油判定されていないアルコール濃度推定時の場合は、前回アルコール濃度推定時から十分時間がたっており、その間継ぎ足し給油などでアルコール濃度が変化し、学習値に誤って反映されている可能性が高いため、その場合に学習値を見直していることになる。燃料給油判定がなされた場合にはその限りではなく、学習値の見直しを行っていない。
【0094】
ここで、ステップS211での空燃比学習値見直し方法について説明する。アルコール濃度推定値が更新された場合には、空燃比学習値にアルコール濃度による空燃比の変化が反映されていることが考えられるため、以下に示す手段にて空燃比学習値からアルコール濃度による空燃比の変化を除去する。
【0095】
空燃比学習値AFLRNのリセット方法としては、リセット前の空燃比学習値AFLRN、現在のアルコール濃度推定値ALCH、アルコール濃度推定値前回値ALCH_OLDから、前記(1)式で説明した予めアルコール濃度に応じて設定された補正係数K_ALCH、アルコール濃度推定値前回値による補正係数K_ALCH_OLDを使用する。
【0096】
そして、リセット前の空燃比学習値すなわちアルコール濃度推定前の空燃比学習値をAFLRN(n−1)とした場合、アルコール濃度推定値に応じた補正係数の変化割合を乗算することで空燃比学習値AFLRNのリセットを行う。
AFLRN=AFLRN(n−1)×K_ALCH_OLD÷K_ALCH
【0097】
つまり、今回アルコール濃度推定で、前回の空燃比学習値を使用することによって得られたアルコール濃度の変化量は、アルコール濃度推定前の空燃比学習値に反映されているため、その分だけ空燃比学習値に補正することになり、空燃比学習値AFLRNに誤って反映されたアルコール濃度の変化量を除去し適正な値にリセットすることができる。
【0098】
次に、ステップS212からステップS215まではアルコール濃度推定完了時の処置であり、次回のアルコール濃度推定に備える処置である。
【0099】
ステップS212で空燃比学習値AFLRN1に空燃比学習値AFLRNを設定し、ステップS213にて燃料給油判定フラグをクリアFLAG1=0し、ステップS214にてアルコール濃度推定開始条件フラグをクリアFLAG3=0し、ステップS215にてエンジン運転時間T1を0にリセットし本ルーチンの処理を終える。
【0100】
以上のように、実施の形態1に係る内燃機関の制御装置について説明したが、この発明は、この実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内にて、種々の態様を採ることができる。例えば、本実施の形態では、ステップS200の燃料給油判定手段を図3にて説明したが、燃料給油が検出できれば特に判定手段はこだわらない。
【0101】
また、本実施の形態では、ステップS415のアルコール濃度推定手段は、空燃比変化に基づくアルコール濃度推定が実施できれば特に推定手段はこだわらない。
【0102】
また、本実施の形態では、エンジン運転時間の条件以外でアルコール濃度推定する条件の一例として給油判定を説明したが、無駄な処理を省くために給油判定処理は省くことも可能である。給油判定処理を省いた場合は、ステップS219、ステップS223、ステップS209の処理を省くことになる。
【0103】
以上のように、実施の形態1に係る内燃機関の制御装置について説明したが、次に、図5によりその効果についてタイムチャートを用いて説明する。
【0104】
図5はアルコール濃度推定を実施するタイムチャートで、実線が実施の形態1に係る内燃機関の制御装置の動作を示し、点線が従来技術の動作を示している。
【0105】
まず、時刻t0までは燃料タンク19内のアルコール濃度が0%である状態で、時刻t0のタイミングで燃料を給油し、燃料タンク19内のアルコール濃度が30%に変動する。また、ここで燃料給油判定を行う。
【0106】
時刻t0から時刻t1までは、アルコール濃度の影響により空燃比が変動し、その変動した空燃比からアルコール濃度推定により、時刻t1のタイミングでアルコール濃度推定値30%を算出する。一般にアルコール濃度推定値を算出した場合は、空燃比をリセットしている。
【0107】
次に、時刻t2のタイミングで継ぎ足し給油を行い、燃料タンク19内のアルコール濃度が40%に増加する。ここでは、燃料給油判定しないため、アルコール濃度推定は実施しない。時刻t2から時刻t3までの期間は、アルコール濃度の影響により、空燃比が変動している。
【0108】
そして、時刻t3のタイミングから空燃比学習により空燃比学習値が変動する。これにより、時刻t3から時刻t4までに空燃比は1.0に収束し、空燃比学習値はアルコール濃度の変化による空燃比の変動を吸収する。
【0109】
次に、時刻t5のタイミングから、給油判定に関わらないアルコール濃度推定を実施する。ここで、従来技術では、燃料演算にアルコール濃度10%分の空燃比の変動を吸収した空燃比学習値を使用するため、空燃比が変動せず、アルコール濃度推定を実施してもアルコール濃度推定値は変化しない。
【0110】
しかし、実施の形態1に係る内燃機関の制御装置では、燃料演算用空燃比学習値を前回アルコール濃度推定完了時の空燃比学習値に置き換える。これにより、空燃比は変動を開始する。その変動した空燃比からアルコール濃度推定により時刻t6のタイミングでアルコール濃度推定値40%を算出し、空燃比をリセットする。ここで、アルコール濃度推定値が変動したため、空燃比学習値を見直し、アルコール濃度の影響による変化分を除去する。
【0111】
次に、時刻t7のタイミングで燃料給油を行い、燃料タンク19内のアルコール濃度が80%に変動する。時刻t7から時刻t8までに空燃比がアルコール濃度の影響により変動し、時刻t8のタイミングで変動した空燃比からアルコール濃度推定が完了する。空燃比をリセットする。ここで、従来技術では、空燃比学習値にアルコール濃度10%分の影響を吸収しているため、アルコール濃度推定値は70%となり、燃料タンク19内のアルコール濃度とアルコール濃度推定値が一致せず、空燃比学習値にもアルコール濃度10%の影響を吸収したままとなる。
【0112】
逆に、実施の形態1に係る内燃機関の制御装置では、アルコール濃度推定値80%を算出し、燃料タンク19内のアルコール濃度とアルコール濃度推定値が一致し、アルコール濃度の影響を空燃比学習値には反映しなくすることができる。
【0113】
このように、実施の形態1に係る内燃機関の制御装置によれば、アルコール濃度推定を実施した時に、例えば継ぎ足し給油などで濃度が変化した状態にもかかわらず、給油判定できずECU11がアルコール濃度の変化を引き起こすことがあったことを検知できない状態で、今回推定したアルコール濃度が前回推定したアルコール濃度から変化した場合に、アルコール濃度の変化は空燃比の変化分による変化とみなして空燃比学習値から除去する。つまり、アルコール濃度による空燃比の変化を空燃比学習値に誤って反映することを抑制することができる。これにより、経年変化やばらつきによる空燃比のずれを空燃比学習値に最適に反映することができる。
【0114】
また、空燃比学習値に最適に反映することで燃料系異常を検出する燃料システムモニタの故障誤判定を防止することができる。
【0115】
更に、燃料給油に関わらないアルコール濃度推定時には、燃料量の調整にアルコール濃度の変化による空燃比の変化を含まない前回給油判定時の空燃比学習値により学習値見直すことで、最適な空燃比学習値を燃料噴射量に反映することができ、アルコール濃度推定の精度を向上させることができる。
【符号の説明】
【0116】
1 エンジン
1a 燃焼室
2 点火プラグ
3 吸気バルブ
4 吸気マニホールド
5 排気バルブ
6 排気マニホールド
7 水温センサ
8 スロットル弁
9 吸気量センサ
10 インジェクタ
11 エンジンコントロールユニット(ECU)
12 CPU
13 RAM
14 第1酸素濃度センサ
15 第1三元触媒
16 第2酸素濃度センサ
17 第2三元触媒
18 回転数センサ
19 燃料貯溜装置(燃料タンク)
20 燃料レベルセンサ

【特許請求の範囲】
【請求項1】
アルコールとガソリンの混合されたアルコール含有燃料が給油される内燃機関を制御する内燃機関の制御装置であって、
前記アルコール含有燃料のアルコール濃度値を推定するアルコール濃度推定手段と、
前記アルコール濃度推定手段により推定されたアルコール濃度値により燃料量を補正する手段と、
前記内燃機関に供給された燃料混合気の空燃比を学習し、空燃比学習値を得る空燃比学習手段と、
前記アルコール濃度推定手段によりアルコール濃度値を検出した時に前記空燃比学習値を見直す手段と、
を備えたことを特徴とする内燃機関の制御装置。
【請求項2】
前記アルコール濃度推定手段は、所定のエンジン運転時間毎にアルコール濃度推定することを特徴とする請求項1に記載の内燃機関の制御装置。
【請求項3】
前記アルコール濃度推定手段は、アルコール濃度推定する場合に、前回アルコール濃度推定時の空燃比学習値を用いて燃料量を補正することを特徴とする請求項1または請求項2に記載の内燃機関の制御装置。
【請求項4】
前記空燃比学習値を見直す手段は、前記アルコール濃度推定により検出したアルコール濃度に変化がある場合に前記空燃比学習値を見直すことを特徴とする請求項1〜請求項3のいずれか一項に記載の内燃機関の制御装置。
【請求項5】
前記空燃比学習値を見直す手段が、前記アルコール濃度推定により検出したアルコール濃度の変化に基づいて前記空燃比学習値を見直す場合に、現在の空燃比学習値からアルコール濃度変化割合を除去することを特徴とする請求項1〜請求項4のいずれか一項に記載の内燃機関の制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2010−248967(P2010−248967A)
【公開日】平成22年11月4日(2010.11.4)
【国際特許分類】
【出願番号】特願2009−98093(P2009−98093)
【出願日】平成21年4月14日(2009.4.14)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】