(57)【要約】【課題】空燃比制御の安定性を確保しつつ、アルコール濃度を学習するようにした内燃機関の制御装置を提供する。【解決手段】検出された空燃比と目標空燃比との偏差に応じて算出される空燃比補正係数ＫＡＦに基づいて燃料に含まれるアルコール濃度を学習してアルコール濃度補正係数ＫＲＥＦＢＳを算出すると共に、空燃比補正係数ＫＡＦの制限値ＫＡＦＡＬＨ，ＫＡＦＡＬＬを設定する内燃機関の制御装置において、空燃比補正係数ＫＡＦが制限値ＫＡＦＡＬＨ，ＫＡＦＡＬＬに達したとき、前記制限値を変更する。【選択図】図５
2008115802.tif 000002
【特許請求の範囲】
【請求項１】
排気中の空燃比を検出する空燃比検出手段と、前記検出された空燃比と目標空燃比との偏差に応じて燃料噴射量の空燃比補正係数を算出する空燃比補正係数算出手段と、前記算出される空燃比補正係数に基づいて燃料に含まれるアルコール濃度を学習するアルコール濃度学習手段と、前記空燃比補正係数の制限値を設定する制限値設定手段と、前記アルコール濃度学習手段が学習するときに前記制限値を変更する制限値変更手段とを備えた内燃機関の制御装置において、前記制限値変更手段は、前記空燃比補正係数が前記制限値に達したとき、前記制限値を変更することを特徴とする内燃機関の制御装置。
【請求項２】
前記制限値設定手段は前記制限値を上限値と下限値とで設定すると共に、前記制限値変更手段は、前記空燃比補正係数が前記上限値に達したとき、前記上限値と前記下限値とをそれぞれ第１の所定値だけ増加補正する一方、前記空燃比補正係数が前記下限値に達したとき、前記下限値と前記上限値とをそれぞれ第２の所定値だけ減少補正することを特徴とする請求項１記載の内燃機関の制御装置。
【請求項３】
前記制限値設定手段は上限リミット値と下限リミット値の間で前記上限値と下限値を設定すると共に、前記アルコール濃度学習手段の学習によって算出されるアルコール濃度に応じ、前記上限リミット値と前記下限リミット値を持ち替えることを特徴とする請求項２記載の内燃機関の制御装置。
【請求項４】
前記制限値変更手段は、前記アルコール濃度学習手段が学習を開始する前のアルコール濃度前回値に応じ、前記上限リミット値と下限リミット値を持ち替えることを特徴とする請求項３記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は内燃機関の制御装置に関し、より詳しくはフレキシブル・フューエル・ビークル（Flexible Fuel Vehicle）、即ち、ガソリン燃料でも、エタノール燃料でも、あるいはガソリンとエタノールの混合燃料でも運転可能な車両用の内燃機関の制御装置に関する。
【背景技術】
【０００２】
フレキシブル・フューエル・ビークル（以下「ＦＦＶ」という）では、下記の特許文献１に記載されるように、通例、検出空燃比と目標空燃比の偏差に応じて算出される燃料噴射量の空燃比補正係数に基づいて燃料の性状（アルコール濃度）を検出する。
【０００３】
即ち、特許文献１記載の技術にあっては、給油があったことが検知されると、空燃比補正係数の制限値（リミッタ）を解除し、燃料噴射量を一時的に増減したときの排気空燃比の挙動に基づいて燃料の性状を推定している。
【特許文献１】特開２００３−１２０３６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記した従来技術においては、給油されると直ちに空燃比補正係数の制限値を解除していることから、給油されたにもかかわらず燃料の性状に変化がないときでも解除されるため、外乱などの影響で空燃比補正係数が大きく変化した場合、空燃比制御の安定性が低下してしまう不都合があった。
【０００５】
従って、この発明の目的は上記した課題を解決し、空燃比制御の安定性を確保しつつ、アルコール濃度を学習するようにした内燃機関の制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記の目的を解決するために、請求項１にあっては、排気中の空燃比を検出する空燃比検出手段と、前記検出された空燃比と目標空燃比との偏差に応じて燃料噴射量の空燃比補正係数を算出する空燃比補正係数算出手段と、前記算出される空燃比補正係数に基づいて燃料に含まれるアルコール濃度を学習するアルコール濃度学習手段と、前記空燃比補正係数の制限値を設定する制限値設定手段と、前記アルコール濃度学習手段が学習するときに前記制限値を変更する制限値変更手段とを備えた内燃機関の制御装置において、前記制限値変更手段は、前記空燃比補正係数が前記制限値に達したとき、前記制限値を変更する如く構成した。
【０００７】
請求項２に係る内燃機関の制御装置にあっては、前記制限値設定手段は前記制限値を上限値と下限値とで設定すると共に、前記制限値変更手段は、前記空燃比補正係数が前記上限値に達したとき、前記上限値と前記下限値とをそれぞれ第１の所定値だけ増加補正する一方、前記空燃比補正係数が前記下限値に達したとき、前記下限値と前記上限値とをそれぞれ第２の所定値だけ減少補正する如く構成した。
【０００８】
請求項３に係る内燃機関の制御装置にあっては、前記制限値設定手段は上限リミット値と下限リミット値の間で前記上限値と下限値を設定すると共に、前記アルコール濃度学習手段の学習によって算出されるアルコール濃度に応じ、前記上限リミット値と前記下限リミット値を持ち替える如く構成した。
【０００９】
請求項４に係る内燃機関の制御装置にあっては、前記制限値変更手段は、前記アルコール濃度学習手段が学習を開始する前のアルコール濃度前回値に応じ、前記上限リミット値と下限リミット値を持ち替える如く構成した。
【発明の効果】
【００１０】
請求項１にあっては、検出空燃比と目標空燃比との偏差に応じて算出される燃料噴射量の空燃比補正係数の制限値を、空燃比補正係数が前記制限値に達したときに変更する如く構成、換言すれば、空燃比補正係数が制限値に達しない限り変更しないように構成したので、給油時に燃料の性状に変化がない場合、外乱などの影響で空燃比補正係数が大きく変化するときも、制限値で変化が抑制されるので、アルコール濃度を学習するときも、空燃比制御の安定性を確保することができる。
【００１１】
請求項２に係る内燃機関の制御装置にあっては、空燃比補正係数が上限値に達したとき、上限値と下限値とをそれぞれ第１の所定値だけ増加補正する一方、下限値に達したとき、下限値と上限値とをそれぞれ第２の所定値だけ減少補正する如く構成したので、上記した効果に加え、空燃比補正係数の変化幅自体は変更されないことから、空燃比補正係数の偏差の最大値も変化しないこととなり、よって空燃比制御の安定性を一層良く確保することができる。
【００１２】
請求項３に係る内燃機関の制御装置にあっては、アルコール濃度学習値に応じ、上限リミット値と下限リミット値を持ち替える如く構成したので、上記した効果に加え、空燃比制御の安定性を一層良く確保することができる。アルコール濃度学習時の空燃比補正係数の最大偏差は給油によって変化したアルコール濃度の偏差によって決まるが、そのリミット値をアルコール濃度に応じて持ち替えることで、不要な制限値の変更を抑制することができ、空燃比制御の安定性を一層良く確保することができる。よって、アルコール濃度学習と空燃比制御とを最適に両立させることができる。
【００１３】
請求項４に係る内燃機関の制御装置にあっては、アルコール濃度学習を開始する前のアルコール濃度前回値に応じ、上限リミット値と下限リミット値を持ち替える如く構成したので、上記した効果に加え、空燃比制御の安定性を一層良く確保することができる。即ち、空燃比補正係数の上下限リミット値はアルコール濃度によって決まるが、そのリミット値をアルコール濃度学習を開始する前のアルコール濃度、即ち、前回のアルコール濃度に応じて持ち替えることで、不要な制限値の変更を抑制することができ、空燃比制御の安定性を一層良く確保することができる。よって、アルコール濃度学習と空燃比制御とを最適に両立させることができる。
【発明を実施するための最良の形態】
【００１４】
以下、添付図面に即してこの発明に係る内燃機関の制御装置を実施するための最良の形態について説明する。
【実施例】
【００１５】
図１は、この発明の実施例に係る内燃機関の制御装置を全体的に示す概略図である。
【００１６】
図１において、符号１０は、ＦＦＶ（図示せず）に搭載される、４気筒（シリンダ）４サイクルの内燃機関（１気筒のみ図示。以下「エンジン」という）を示す。エンジン１０において、エアクリーナ１２から吸入されて吸気管１４を通る空気（吸気）はスロットルバルブ１６で流量を調節されて吸気マニホルド１８を流れ、２個の吸気バルブ（１個のみ図示）２０が開弁されるとき、燃焼室に流入する。
【００１７】
スロットルバルブ１６は、ＦＦＶ運転席床面に配置されたアクセルペダル（図示せず）との機械的な接続を絶たれ、ＤＣモータ（アクチュエータ）２２に接続され、ＤＣモータ２２で駆動されて開閉する。このように、スロットルバルブ１６の開度はＤＢＷ（Drive By Wire）方式で制御される。
【００１８】
吸気バルブ２０の手前の吸気ポート付近には、メイン・インジェクタ２４が配置される。メイン・インジェクタ２４には、メイン燃料タンク２６に貯留され、メイン燃料タンク２６の内部に配置されたメイン燃料ポンプ２８で汲み上げられる燃料がメイン燃料供給管３０を介して圧送される。
【００１９】
メイン燃料タンク２６に貯留される燃料としては、ガソリンとエタノール（エチルアルコール）の混合燃料、具体的にはガソリン７８％とエタノール２２％の混合燃料（Ｅ２２）からガソリン０％とエタノール１００％のエタノール燃料（Ｅ１００）までの間のアルコール燃料が予定される。尚、アルコール燃料はガソリンに比して理論空燃比がリッチ側にずれると共に、そのずれはアルコール濃度の増加につれて拡大する。
【００２０】
吸気ポート付近においてメイン・インジェクタ２４の上流側には、サブ・インジェクタ３２が配置される。サブ・インジェクタ３２には、サブ燃料タンク３４に貯留されてサブ燃料ポンプ３６で汲み上げられるサブ燃料がサブ燃料供給管３８を介して圧送される。サブ燃料としては、ガソリン燃料、Ｅ２２などが使用される。
【００２１】
メイン・インジェクタ２４とサブ・インジェクタ３２は、駆動回路（図示せず）を通じてＥＣＵ（Electronic Control Unit。電子制御ユニット）４０に電気的に接続され、ＥＣＵ４０から開弁時間を示す駆動信号が駆動回路を通じて供給されると開弁し、開弁時間に応じた燃料を吸気ポートに噴射する。噴射された燃料は、流入した空気と混合して混合気（予混合気）を形成し、吸気バルブ２０が開弁されるとき、燃焼室に流入する。サブ燃料は、エンジン１０の始動時にのみ使用される。
【００２２】
燃焼室には点火プラグ４４が配置される。点火プラグ４４はイグナイタなどからなる点火装置（図示せず）に接続される。点火装置はＥＣＵ４０から点火信号が供給されると、点火プラグ４４の電極間に火花放電を生じさせる。混合気はそれによって着火されて燃焼し、ピストン４６を下方に駆動する。
【００２３】
ピストン４６を包み込むシリンダブロックの下部のクランクケース４８の内部には、ピストン４６に接続され、ピストン４６の上下運動を回転運動に変換するクランクシャフト（図示せず。５０はそれに取り付けられるパルサプレート５０を示す）が収容される。クランクケース４８の下部は、オイル（潤滑油）を受けるオイルパンを構成する。
【００２４】
燃焼によって生じた排気（排ガス）は、２個の排気バルブ（図示せず）が開弁するとき、排気ポート５２を通って排気管５４に流れる。排気管５４には、（２床の三元触媒からなる）触媒装置５６が配置される。排気は、触媒装置５６が活性状態にあるとき、ＨＣ，ＣＯ，ＮＯｘなどの有害成分を除去されてエンジン外の大気に放出される。
【００２５】
メイン燃料タンク２６とサブ燃料タンク３４の液面上方空間はチャージ通路５８，６０を介してキャニスタ６２に接続されると共に、キャニスタ６２はパージ通路６４を介して吸気管１４にスロットルバルブ１６の配置位置の下流で接続される。パージ通路６４には電磁バルブからなるパージ制御バルブ６４ａが設けられ、励磁されるとき、パージ通路６４を開放する。
【００２６】
上記した構成において、メイン燃料タンク２６とサブ燃料タンク３４から蒸発した燃料蒸気はチャージ通路５８，６０を通ってキャニスタ６２に流れ、その内部に収容された吸着材６２ａに吸着される。キャニスタ６２の内部はパージ制御バルブ６４ａが励磁されるとき、吸気管１４から負圧が作用し、吸着された燃料蒸気は大気開放孔６２ｂから導入される新気と共に、パージ通路６４を通って吸気系にパージされる。
【００２７】
クランクケース４８の上部はＰＣＶ（Positive Crankcase Ventilation）用の孔が穿設され、吸気管１４のスロットルバルブ１６の配置位置の下流と還流通路６８で接続される。還流通路６８にはチェックバルブ６８ａが設けられ、クランクケース内のオイルに混入したアルコール蒸気は、所定圧以上となるとチェックバルブ６８ａを押し開き、還流通路６８を通ってブローバイガスとして吸気系にパージされる。
【００２８】
シリンダブロックの上のシリンダヘッドには油圧で動作する動弁機構７０が設けられ、吸気バルブ２０のバルブタイミングとリフト量を高低２種の特性の間で変更する。
【００２９】
エンジン１０のクランクシャフトの付近にはクランク角センサ７２が配置され、前記したパルサプレート５０の回転から気筒判別信号と、各気筒のＴＤＣ（上死点）あるいはその付近のクランク角度を示すＴＤＣ信号と、ＴＤＣ信号を細分してなるクランク角度信号とを出力する。
【００３０】
エアクリーナ１２の付近には温度検出素子を備えたエアフローメータ７４が配置され、エアクリーナ１２から吸入される空気（吸気）量Ｑと吸気温ＴＡに応じた信号を出力する。
【００３１】
吸気管１４においてスロットルバルブ１６の下流にはＭＡＰセンサ７６が配置され、吸気管内圧力ＰＢＡを絶対圧で示す信号を出力すると共に、スロットルバルブ１６にはスロットル開度センサ７８が配置され、スロットルバルブ１６の位置（スロットル開度）ＴＨに応じた信号を出力する。
【００３２】
エンジン１０の冷却水通路（図示せず）には水温センサ８０が配置されてエンジン冷却水温ＴＷに応じた信号を出力すると共に、シリンダブロックにはノックセンサ８２が配置され、エンジン１０に生じる振動に応じた信号を出力する。
【００３３】
排気系において触媒装置５６の上流には広域空燃比センサ８４が配置され、理論空燃比からリッチあるいはリーンに至るまでの広い範囲において排気中の酸素濃度に応じた信号を出力する。広域空燃比センサ８４の出力に基づき、検出空燃比ＫＡＣＴが当量比で算出される。また、触媒装置５６の触媒床の間にはＯ２センサ８６が配置され、排気中の酸素濃度が理論空燃比からリッチあるいはリーンに変化するたびに反転する信号を出力する。
【００３４】
メイン燃料タンク２６にはフューエルレベルセンサ８８が配置され、燃料の液面高さに応じた信号を出力する。
【００３５】
アクセルペダルの付近にはアクセル開度センサ９０が設けられ、運転者のアクセルペダル踏み込み量を示すアクセル位置（エンジン負荷を示す）ＡＰに応じた信号を出力する。ドライブシャフト（図示せず）の付近には車速センサ９２が設けられ、ドライブシャフトの回転当たりにパルス信号を出力すると共に、ＦＦＶの適宜位置には大気圧センサ９４が設けられ、大気圧ＰＡに応じた信号を出力する。
【００３６】
上記したセンサ群の出力は、ＥＣＵ４０に入力される。ＥＣＵ４０はマイクロコンピュータからなり、ＣＰＵ，ＲＯＭ，ＲＡＭ，Ａ／Ｄ変換回路、入出力回路およびカウンタ（全て図示せず）を備える。ＥＣＵ４０は入力信号の内、クランク角度信号をカウントしてエンジン回転数ＮＥを算出（検出）すると共に、車速センサ９２の出力をカウントして車速ＶＰを算出（検出）する。
【００３７】
ＥＣＵ４０は入力値と算出値に基づき、ＲＯＭに格納されている命令に従い、続いて述べるように、燃料噴射量などを算出すると共に、エンジン回転数ＮＥと吸気管内絶対圧ＰＢＡとから吸気バルブ２０のバルブタイミングとリフト量を高低２種の特性の間で変更する。
【００３８】
図２は、そのＥＣＵ４０の動作を機能的に説明するブロック図である。
【００３９】
符号４０ａは燃料噴射量算出ブロックを示し、そこにおいては検出された運転状態に応じてエンジン１０に供給すべき燃料噴射量ＴＯＵＴが算出される。
【００４０】
即ち、エンジン負荷に応じて基本燃料噴射量ＴＩＭが算出されると共に、検出された空燃比ＫＡＣＴを目標空燃比ＫＣＭＤ（より正確には目標空燃比補正係数ＫＣＭＤ）に制御する空燃比フィードバック制御においてそれらの偏差に応じて空燃比補正係数（空燃比フィードバック補正係数）ＫＡＦが算出され、さらにアルコール濃度補正係数（アルコール濃度学習値）ＫＲＥＦＢＳなど、その他の補正係数が算出されて基本燃料噴射量が補正されることで、燃料噴射量ＴＯＵＴが算出される。
【００４１】
燃料噴射量算出ブロック４０ａでは、空燃比補正係数ＫＡＦの制限値が設定されると共に、アルコール濃度が学習されるときの制限値の変更の際、空燃比補正係数ＫＡＦが制限値に達したとき、制限値を変更する如く構成される。
【００４２】
算出された燃料噴射量ＴＯＵＴに基づき、メイン・インジェクタ２４が駆動される。尚、アルコール燃料はエンジン冷却水温ＴＷが低いときに始動性が悪いことから、エンジン１０の始動時にはメイン・インジェクタ２４に加え、サブ・インジェクタ３２を駆動してサブ燃料が噴射される。
【００４３】
符号４０ｂはアルコール濃度学習ブロックを示し、そこにおいては空燃比補正係数ＫＡＦに基づいて燃料に含まれるアルコール濃度が学習される。即ち、空燃比補正係数ＫＡＦをなましてアルコール濃度学習値ＫＲＥＦＸを算出し、それを前回のアルコール濃度補正係数ＫＲＥＦＢＳに乗算して補正することでアルコール濃度補正係数ＫＲＥＦＢＳが更新される。アルコール濃度補正係数ＫＲＥＦＢＳは、ブロック４０ａに送られる。
【００４４】
符号４０ｃは点火時期算出ブロックを示し、そこにおいては検出された運転状態に応じてエンジン１０に供給すべき点火時期が算出され、それに基づいて点火装置を介して点火プラグ４４の点火が制御される。
【００４５】
符号４０ｄはスロットル開度制御値算出ブロックを示し、そこにおいてはスロットル開度の制御値が算出され、それに基づいてＤＣモータ２２が駆動される。
【００４６】
図３はブロック４０ａにおける燃料噴射量算出処理を示すフロー・チャートである。図示のプログラムは、それぞれの気筒のＴＤＣ付近の所定クランク角度で実行される。
【００４７】
以下説明すると、Ｓ１０において別ルーチンで算出される、始動時増量補正項ＫＡＳＴ、加速度に応じて算出される加速補正項ＫＡＣＣ、減速度に応じて算出される減速補正項ＫＤＥＣを乗算し、よって得た積をｋｔｏｔａｌｔｍｐとする。
【００４８】
次いでＳ１２に進み、同様に別ルーチンで算出される、吸気温ＴＡに応じて算出される吸気温補正項ＫＴＡ、大気圧ＰＡに応じて算出される大気圧補正項ＫＰＡ、エンジン冷却水温ＴＷに応じて算出される水温補正項ＫＴＷを乗算し、よって得た積をｋｔａｔｗｐａとする。
【００４９】
次いでＳ１４に進み、Ｓ１０とＳ１２の処理で得られた２種の補正項を乗算し、よって得た値を乗算補正項積算値ＫＴＴＬとする。
【００５０】
次いでＳ１６に進み、エンジン１０に供給すべき燃料噴射量ＴＯＵＴを図示の式に従って算出する。
【００５１】
Ｓ１６に示される式で、ＫＲＥＦＢＳ：アルコール濃度補正係数、ＫＡＦ：空燃比補正係数、ＫＣＭＤ：目標空燃比あるいは目標空燃比補正係数（検出空燃比ＫＡＣＴと同様に当量比で示されることから、空燃比の目標値と、燃料噴射量を補正する補正係数としても機能する）、ＫＴＴＬ：上記した乗算補正項積算値、ＴＩＭ（暖機後の基本燃料噴射量で、予め設定された特性（マップ）をエンジン負荷Ｇａｉｒ（エアフローメータ７４の出力Ｑをエンジン回転数ＮＥで除算して得られた１回の燃焼に使用される空気量）で検索することで算出される）、ＫＥＶＡＣＴ：キャニスタパージ（吸気系に還流される燃料蒸気）による補正係数、ＫＣＴＭＦＦＶ：アルコール蒸散補正係数（オイル（潤滑油）に混入したアルコール蒸気の補正係数）である。最終的な燃料噴射量ＴＯＵＴを含め、燃料噴射量は全てメイン・インジェクタ２４の開弁時間で規定される。
【００５２】
図４はブロック３０ａにおける燃料噴射量算出処理の中の空燃比補正係数ＫＡＦの算出処理を示すフロー・チャートである。図示のプログラムも、それぞれの気筒のＴＤＣ付近の所定クランク角度で実行される。
【００５３】
以下説明すると、Ｓ１００において目標空燃比ＫＣＭＤと検出空燃比ＫＡＣＴの偏差ＤＫＣＭＤを算出し、Ｓ１０２に進み、偏差ＤＫＣＭＤに比例ゲインＫＰＡＦを乗じてＰＩＤ制御則におけるＰ項（比例項）ＫＰＦを算出し、Ｓ１０４に進み、偏差ＤＫＣＭＤに積分ゲインＫＩＡＦを乗じると共に、前回値ｋｉｆｔを加算してＩ項（積分項）ｋｉｆｔを算出する。
【００５４】
次いでＳ１０６に進み、偏差ＤＫＣＭＤから前回の偏差ＤＫＣＭＤＰを減算して得た差に微分ゲインＫＤＡＦを乗じてＰＩＤ制御則におけＤ項（微分項）ＫＤＦを算出する。
【００５５】
次いでＳ１１０に進み、比例項ＫＰＦと積分項ｋｉｆｔと微分項ＫＤＦを加算し、よって得た和を空燃比補正係数ＫＡＦとする。
【００５６】
次いでＳ１１２に進み、Ｓ１１０で算出された空燃比補正係数ＫＡＦが下限値（制限値）ＫＡＦＡＬＬ以下か、換言すれば下限値に達したか否か判断し、肯定されるときはＳ１１４に進み、下限値ＫＡＦＡＬＬを空燃比補正係数ＫＡＦとする。
【００５７】
次いでＳ１１６に進み、下限値ＫＡＦＡＬＬから所定値ＤＫＡＦＣＨＧＡＬ（前記した第２の所定値）を減算して減少補正した値を仮値ＫＡＦＡＬ、Ｓ１１８に進み、上限値（制限値）ＫＡＦＡＬＨから所定値ＤＫＡＦＣＨＧＡＬ（前記した第２の所定値）を減算して減少補正した値を仮値ＫＡＦＡＨとする。
【００５８】
図５は、上記した処理を説明するタイム・チャートである。
【００５９】
即ち、この実施例においては空燃比補正係数ＫＡＦ、より具体的にはそれをなまして得た値ＫＲＥＦＸで燃料に含まれるアルコール濃度が学習されるが、空燃比制御の安定性のため、空燃比補正係数ＫＡＦの変化を制限する制限値（上限値ＫＡＦＡＬＨと下限値ＫＡＦＡＬＬで規定される）が設定される。その場合、アルコール濃度が学習されるとき、空燃比補正係数が制限値に達したとき、前記制限値を変更する如く構成した。
【００６０】
図４フロー・チャートの説明に戻ると、Ｓ１１２で否定されるときはＳ１２０に進み、Ｓ１１０で算出されたフィードバック補正係数ＫＡＦが上限値ＫＡＦＡＬＨ以上か、換言すれば上限値に達したか否か判断し、肯定されるときはＳ１２２に進み、上限値ＫＡＦＡＬＨを空燃比補正係数ＫＡＦとする。
【００６１】
次いでＳ１２４に進み、下限値ＫＡＦＡＬＬに所定値ＤＫＡＦＣＨＧＡＬ（前記した第１の所定値）を加算して増加補正した値を仮値ＫＡＦＡＬ、Ｓ１２６に進み、上限値ＫＡＦＡＬＨに前記した所定値ＤＫＡＦＣＨＧＡＬ（前記した第１の所定値）を加算して増加補正した値を仮値ＫＡＦＡＨする。
【００６２】
尚、Ｓ１１６，Ｓ１１８で減算される値とＳ１２４，Ｓ１２６で加算される値を共に同一の値ＤＫＡＦＣＨＧＡＬとしたが、異ならせても良い。その意味で請求項において、Ｓ１２４，Ｓ１２６で加算される値を第１の所定値と記載すると共に、Ｓ１１６，Ｓ１１８で減算される値を第２の所定値と記載した。
【００６３】
Ｓ１２０で否定されるときはＳ１３０に進み、下限値ＫＡＦＡＬＬが基本下限値ＫＡＦＬＭＬ未満か否か判断する。Ｓ１３０で肯定されるときはＳ１３２に進み、空燃比補正係数ＫＡＦがセンタ値ＫＡＦＡＬＣＮＴ以上か否か判断する。
【００６４】
Ｓ１３２で肯定されるときはＳ１３４に進み、下限値ＫＡＦＡＬＬに所定値ＤＫＡＦＣＨＧＡＬを加算して増加補正した値をｋａｆａｌとし、Ｓ１３６に進み、上限値ＫＡＦＡＬＨに所定値ＤＫＡＦＣＨＧＡＬを加算して増加補正した値をｋａｆａｈとする。
【００６５】
次いでＳ１３８に進み、ｋａｆａｌが基本下限値ＫＡＦＬＭＬを上回るときはそれに限定するリミット処理を行い、処理後の値を仮値ＫＡＦＡＬとし、Ｓ１４０に進み、ｋａｆａｈが基本上限値ＫＡＦＬＭＴＨを上回るときはそれに限定するリミット処理を行い、処理後の値を仮値ＫＡＦＡＨとする。
【００６６】
他方、Ｓ１３０で否定されるときはＳ１４２に進み、上限値ＫＡＦＡＬＨが基本上限値ＫＡＦＬＭＴＨを上回るか否か判断する。Ｓ１４２で肯定されるときはＳ１４４に進み、空燃比補正係数ＫＡＦがセンタ値ＫＡＦＡＬＣＮＴ以下か否か判断する。
【００６７】
Ｓ１４４で肯定されるときはＳ１４６に進み、下限値ＫＡＦＡＬＬから所定値ＤＫＡＦＣＨＧＡＬを減算して減少補正した値をｋａｆａｌとし、Ｓ１４８に進み、上限値ＫＡＦＡＬＨから所定値ＤＫＡＦＣＨＧＡＬを減算して減少補正した値をｋａｆａｈとする。
【００６８】
次いでＳ１５０に進み、ｋａｆａｌが基本下限値ＫＡＦＬＭＬを下回るときはそれに限定するリミット処理を行い、処理後の値を仮値ＫＡＦＡＬとし、Ｓ１５２に進み、ｋａｆａｈが基本上限値ＫＡＦＬＭＴＨを下回るときはそれに限定するリミット処理を行い、処理後の値を仮値ＫＡＦＡＨとする。
【００６９】
他方、Ｓ１４２，Ｓ１３２，Ｓ１４４のいずれかで否定されるときはＳ１５４に進み、下限値ＫＡＦＡＬＬをそのまま仮値ＫＡＦＡＬとし、Ｓ１５６に進み、上限値ＫＡＦＡＬＨをそのまま仮値ＫＡＦＡＨとする。
【００７０】
図６は、同様に燃料噴射量算出ブロック４０ａの空燃比補正係数ＫＡＦの算出処理を示すフロー・チャートである。図示のプログラムも、それぞれの気筒のＴＤＣ付近の所定クランク角度で実行される。
【００７１】
以下説明すると、Ｓ２００においてフラグＦ_ＦＣＦＦＶＤＮのビットが１か否か判断する。このフラグは別ルーチンにおいてアルコール濃度の学習が終了するとそのビットが１にセットされることから、Ｓ２００の判断はアルコール濃度の学習が終了したか否か判断することを意味する。尚、アルコール濃度の学習については後述する。
【００７２】
Ｓ２００で否定されるときはＳ２０２に進み、アルコール濃度補正係数ＫＲＥＦＢＳで図７に示す特性を検索し、上限リミット値ＫＡＦＡＬＬＭＴＨを検索し、Ｓ２０４に進み、同様にアルコール濃度補正係数ＫＲＥＦＢＳで図７に示す特性を検索し、下限リミット値ＫＡＦＡＬＬＭＴＬを検索する。
【００７３】
次いでＳ２０６に進み、仮値ＫＡＦＡＨが上限リミット値ＫＡＦＡＬＬＭＴＨを超えるときはそれに制限するリミット処理を行って仮値ＫＡＦＡＨを上限値ＫＡＦＡＬＨとする。次いでＳ２０８に進み、仮値ＫＡＦＡＬが下限リミット値ＫＡＦＡＬＬＭＴＬを下回るときはそれに制限するリミット処理を行い、仮値ＫＡＦＡＬを下限値ＫＡＦＡＬＬとする。
【００７４】
他方、Ｓ２００で肯定されるときはＳ２１０に進み、基本上限値ＫＡＦＬＭＴＨを上限値ＫＡＦＡＬＨとし、Ｓ２１２に進み、基本下限値ＫＡＦＬＭＬを下限値ＫＡＦＡＬＬとする。
【００７５】
次いでＳ２１４に進み、得られた上限値ＫＡＦＡＬＨと下限値ＫＡＦＡＬＬを加算して得た和を２で除算し、よって得た商を前記したセンタ値ＫＡＦＡＬＣＮＴとする。
【００７６】
図８は、アルコール濃度学習ブロック４０ｂにおける処理を示すフロー・チャートである。図示のプログラムも、それぞれの気筒のＴＤＣ付近の所定クランク角度で実行される。
【００７７】
以下説明すると、Ｓ３００においてフラグＦ_ＰＧＤＬＹのビットが１にセットされているか否か判断する。このフラグは別ルーチンにおいてキャニスタパージが停止中のときそのビットが１にセットされることから、Ｓ３００の判断はキャニスタパージが停止中か否か判断することを意味する。
【００７８】
Ｓ３００で否定されるときは以降の処理をスキップすると共に、肯定されるときはＳ３０２に進み、エンジン回転数ＮＥが所定高回転数ＮＫＲＥＦＸＨを超えるか否か判断する。Ｓ３０２で肯定されるときは以降の処理をスキップすると共に、否定されるときはＳ３０４に進み、吸気温ＴＡが所定高吸気温ＴＡＲＥＦを超えるか否か判断する。
【００７９】
Ｓ３０４で肯定されるときは以降の処理をスキップすると共に、否定されるときはＳ３０６に進み、Ｆ_ＯＣＴＭＣＮＤのビットが１にあるか否か判断する。このフラグは別ルーチンにおいてオイルに混入したアルコール燃料の蒸散の影響が大きい領域にあるときそのビットが１にセットされることから、Ｓ３０６の判断はそのような領域にあるか否か判断することに相当する。
【００８０】
Ｓ３０６で否定されるときはＳ３０８に進み、吸気管内絶対圧ＰＢＡが所定低負荷値ＰＢＡＲＥＦＸＬを超えるか否か判断し、肯定されるときはＳ３１０に進み、吸気管内絶対圧ＰＢＡが所定高負荷値ＰＢＡＲＥＦＸＨ未満か否か判断する。
【００８１】
また、Ｓ３０６で肯定されるときはＳ３１２に進み、吸気管内絶対圧ＰＢＡが所定低負荷値ＰＢＡＲＥＦＸＬＦＦＶを超えるか否か判断し、否定されるときは以降の処理をスキップすると共に、肯定されるときはＳ３１０に進む。
【００８２】
Ｓ３１０で否定されるときは以降の処理をスキップすると共に、肯定されるときはＳ３１４に進み、図示の如く、重み係数Ｃを用いて加重平均を行うことで、空燃比補正係数ＫＡＦをなましてアルコール濃度学習値ＫＲＥＦＸを算出する。
【００８３】
このように、キャニスタパージが停止されると共に、エンジンの運転状態が所定の運転領域にあるとき、空燃比補正係数ＫＡＦをなましてアルコール濃度学習値ＫＲＥＦＸが算出される。
【００８４】
図９は、同様にアルコール濃度学習ブロック４０ｂの処理を示すフロー・チャートである。図示のプログラムも、それぞれの気筒のＴＤＣ付近の所定クランク角度で実行される。
【００８５】
以下説明すると、Ｓ４００においてフラグＦ_ＦＳＰＡＦＦＢのビットが１にセットされているか否か判断する。このフラグは別ルーチンにおいて広域空燃比センサ８４が故障しているときそのビットが１にセットされていることから、Ｓ４００の処理はそれを判断するに等しい。
【００８６】
Ｓ４００で否定されるときはＳ４０２に進み、フラグＦ_ＦＣＦＦＶＤＮのビットが１にセットされているか否か判断する。
【００８７】
図１０は、アルコール濃度学習を説明するタイム・チャートである。
【００８８】
Ｓ４０２のフラグは図１０に示すＦ_ＦＣ（フューエルカット実行フラグ）とＦ_ＫＡＬＣＯＫ（アルコード濃度補正係数学習完了フラグ）のビットが１にセットされるとき、別ルーチンにおいてそのビットが１にセットされる。
【００８９】
Ｓ４０２で肯定されるときはＳ４０４に進み、フラグＦ_ＫＲＥＦＢＳＯＮのビットが１にセットされているか否か判断する。このフラグはアルコール濃度補正係数の更新、換言すればアルコール濃度の学習の実行が終了するときそのビットが１にセットされることから、Ｓ４０４の判断は通例否定されてＳ４０６に進み、図示の如く、アルコール濃度補正係数ＫＲＥＦＢＳにアルコール濃度学習値ＫＲＥＦＸを乗じ、よって得た積をＫＲＥＦＢＳＴとする。
【００９０】
次いでＳ４０８に進み、ＫＲＥＦＢＳＴがｍａｘ値を上回るか、ｍｉｎ値を下回るときはそれに制限するリミット処理を行い、処理後の値をＫＲＥＦＢＳとし、Ｓ４１０に進み、前記したフラグＦ_ＫＲＥＦＢＳＯＮのビットを１にセットする。
【００９１】
このように、Ｓ４０４からＳ４１０までの処理は、アルコール濃度の学習が完了し、アルコール濃度補正係数の更新が許可されたとき、アルコール濃度補正係数ＫＲＥＦＢＳを更新する処理を意味し、アルコール濃度学習手段が学習を開始する前のアルコール濃度前回値とは、更新前のアルコール濃度補正係数ＫＲＥＦＢＳを意味する。
【００９２】
他方、Ｓ４０２で否定されるときはＳ４１２に進み、フラグＦ_ＷＯＴのビットが１にセットされているか否か判断する。このフラグは別ルーチンにおいて触媒装置５６を保護するために目標空燃比ＫＣＭＤ、目標空燃比補正係数ＫＣＭＤのリッチ化処理がなされたときそのビットが１にセットされることから、Ｓ４１２ではそれを判断する。
【００９３】
Ｓ４１２で肯定されるときはＳ４１４に進み、Ｆ_ＡＦＦＢのビットが１にセットされているか否か判断する。このフラグは別ルーチンにおいて前記した空燃比フィードバック制御が実行されるときそのビットが１にセットされることから、Ｓ４１４ではそれを判断する。
【００９４】
Ｓ４１４で否定されるときはＳ４１６に進み、前記したアルコール濃度補正係数学習完了フラグＦ_ＫＡＬＣＯＫのビットが１にセットされているか否か判断する。Ｓ４１６で肯定されるときはＳ４０４に進むと共に、否定されるときはＳ４１８に進み、前記したフラグＦ_ＫＲＥＦＢＳＯＮのビットを０にリセットする。Ｓ４１４で肯定されるときも同様である。尚、Ｓ４００で肯定されるときはＳ４２０，Ｓ４２２に進み、アルコール濃度補正係数などの値を１．０（補正なし）とする。
【００９５】
図１０を参照してアルコール濃度学習を説明すると、この実施例では空燃比補正係数ＫＡＦをなまして得たアルコール濃度学習値ＫＲＥＦＸに基づいてアルコール濃度が学習（検出）される。燃料としてＥ１００からＥ２２までを予定するが、アルコール濃度補正係数ＫＲＥＦＢＳはその中間のＥ６４に相当する値（１．０。補正なし）となるように初期値が設定される。
【００９６】
図１０の左端に示す如く、Ｅ６４使用時、給油により燃料がＥ１００に切り替えられたとすると、それに応じて空燃比補正係数ＫＡＦとそれをなましたアルコール濃度学習値ＫＲＥＦＸは変化し、アルコール濃度補正係数ＫＲＥＦＢＳは１．２に修正される。
【００９７】
その後、末尾のフラグＦ_ＲＥＦＵＥＬＦＦＶ（給油判定）から、アイドル中に給油により燃料がＥ２２に切り替えられたとすると、空燃比補正係数ＫＡＦと学習値ＫＲＥＦＸは反転し、アルコール濃度補正係数は０．８に修正される。
【００９８】
この実施例は上記の如く、排気中の空燃比ＫＡＣＴを検出する空燃比検出手段（広域空燃比センサ８４）と、前記検出された空燃比ＫＡＣＴと目標空燃比ＫＣＭＤとの偏差ＤＫＣＭＤに応じて燃料噴射量ＴＯＵＴの空燃比補正係数ＫＡＦを算出する空燃比補正係数算出手段（燃料噴射量算出ブロック４０ａ，Ｓ１００からＳ１１０）と、前記算出される空燃比補正係数ＫＡＦに基づいて燃料に含まれるアルコール濃度を学習するアルコール濃度学習手段（アルコール濃度学習ブロック４０ｂ，Ｓ３００からＳ３１４，Ｓ４００からＳ４２２）と、前記空燃比補正係数ＫＡＦの制限値（上下限値）ＫＡＦＡＬＨ，ＫＡＦＡＬＬを設定する制限値設定手段（燃料噴射量算出ブロック４０ａ，Ｓ２００からＳ２１４）と、前記アルコール濃度学習手段が学習するときに前記制限値を変更する制限値変更手段（ブロック４０ａ，Ｓ１１２，Ｓ１１６からＳ１２０、Ｓ１２４からＳ１５６）とを備えた内燃機関（エンジン）１０の制御装置において、前記制限値変更手段は、前記空燃比補正係数ＫＡＦが前記制限値ＫＡＦＡＬＨ，ＫＡＦＡＬＬに達したとき（Ｓ１１２，Ｓ１２０）、前記制限値を変更する（Ｓ１１６からＳ１１８，Ｓ１２４からＳ１５６）如く構成した。
【００９９】
このように、検出空燃比ＫＡＣＴと目標空燃比ＫＣＭＤとの偏差ＤＫＣＭＤに応じて算出される燃料噴射量ＴＯＵＴの空燃比補正係数ＫＡＦの制限値（上限値ＫＡＦＡＬＨ、下限値ＫＡＦＡＬＬ）を、空燃比補正係数が制限値に達したときに変更する如く構成、換言すれば、空燃比補正係数が制限値に達しない限り変更しないように構成したので、給油時に燃料の性状に変化がない場合、外乱などの影響で空燃比補正係数が大きく変化するときも、制限値で変化が抑制されるので、アルコール濃度を学習するときも、空燃比制御の安定性を確保することができる。
【０１００】
また、前記制限値設定手段は前記制限値を上限値ＫＡＦＡＬＨと下限値ＫＡＦＡＬＬとで設定すると共に、前記制限値変更手段は、空燃比補正係数ＫＡＦが上限値ＫＡＦＡＬＨに達したとき、上限値ＫＡＦＡＬＨと下限値ＫＡＦＡＬＬとをそれぞれＤＫＡＦＣＨＧＡＬ（第１の所定値）だけ増加補正する一方、下限値ＫＡＦＡＬＬに達したときも、下限値ＫＡＦＡＬＬと上限値ＫＡＦＡＬＨとをそれぞれＤＫＡＦＣＨＧＡＬ（第２の所定値）だけ減少補正する如く構成したので、上記した効果に加え、空燃比補正係数ＫＡＦの変化幅自体は変更されないことから、空燃比補正係数ＫＡＦの偏差の最大値も変化しないこととなり、よって空燃比制御の安定性を一層良く確保することができる。尚、前記した如く、第１の所定値の第２の所定値も同一の値ＤＫＡＦＣＨＧＡＬとしたが、別の値としても良い。
【０１０１】
また、前記制限値設定手段は上限リミット値ＫＡＦＡＬＬＭＴＨと下限リミット値ＫＡＦＡＬＬＭＴＬの間で前記上限値と下限値を設定すると共に、前記アルコール濃度学習手段の学習によって算出されるアルコール濃度、より具体的にはアルコール濃度補正係数ＫＲＥＦＢＳに応じ、上限リミット値ＫＡＦＡＬＬＭＴＨと下限リミット値ＫＡＦＡＬＬＭＴＬを持ち替える（Ｓ２０２，Ｓ２０４）如く構成したので、上記した効果に加え、空燃比制御の安定性を一層良く確保することができる。即ち、空燃比補正係数ＫＡＦの上下限リミット値ＫＡＦＡＬＬＭＴＨ，ＫＡＦＡＬＬＭＴＬはアルコール濃度によって決まるが、そのリミット値をアルコール濃度補正係数ＫＲＥＦＢＳに応じて持ち替えることで、不要な制限値の変更を抑制することができ、空燃比制御の安定性を一層良く確保することができる。よって、アルコール濃度学習と空燃比制御とを最適に両立させることができる。
【０１０２】
また、前記制限値変更手段は、前記アルコール濃度学習手段が学習を開始する前のアルコール濃度前回値、より具体的にはアルコール濃度補正係数ＫＲＥＦＢＳの前回値に応じ（Ｓ４０６からＳ４１０）、上限リミット値ＫＡＦＡＬＬＭＴＨと下限リミット値ＫＡＦＡＬＬＭＴＬを持ち替える如く構成したので、上記した効果に加え、空燃比制御の安定性を一層良く確保することができる。
【０１０３】
即ち、空燃比補正係数ＫＡＦの上下限リミット値ＫＡＦＡＬＬＭＴＨ，ＫＡＦＡＬＬＭＴＬはアルコール濃度によって決まるが、そのリミット値をアルコール濃度学習を開始する前のアルコール濃度補正係数ＫＲＥＦＢＳ、即ち、前回値に応じて持ち替えることで、不要な制限値の変更を抑制することができ、空燃比制御の安定性を一層良く確保することができる。よって、アルコール濃度学習と空燃比制御とを最適に両立させることができる。
【図面の簡単な説明】
【０１０４】
【図１】この発明の実施例に係る内燃機関の制御装置を全体的に示す概略図である。
【図２】図１に示す装置の動作、より具体的には図１に示す装置の中のＥＣＵ（電子制御ユニット）の動作を説明するブロック図である。
【図３】図２に示す燃料噴射量算出ブロックの燃料噴射量ＴＯＵＴの算出処理を示すフロー・チャートである。
【図４】同様に図２に示す燃料噴射量算出ブロックの空燃比補正係数ＫＡＦの算出処理を示すフロー・チャートである。
【図５】図４の処理を説明するタイム・チャートである。
【図６】同様に燃料噴射量算出ブロックの空燃比補正係数ＫＡＦの算出処理を示すフロー・チャートである。
【図７】図６の処理で使用される値を示す説明グラフである。
【図８】図２のアルコール濃度学習ブロックの処理を示すフロー・チャートである。
【図９】同様に図２のアルコール濃度学習ブロックの処理を示すフロー・チャートである。
【図１０】図２のアルコール濃度学習を説明するタイム・チャートである。
【符号の説明】
【０１０５】
１０  内燃機関（エンジン）、１６  スロットルバルブ、２２  ＤＣモータ、２４  メイン・インジェクタ、２６  メイン燃料タンク、４０  ＥＣＵ（電子制御ユニット）、４４  点火プラグ、５６  触媒装置、６２  キャニスタ、７０  動弁機構、７２  クランク角センサ、７４  エアフローメータ、７６  ＭＡＰセンサ、８０  水温センサ、８４  広域空燃比センサ、９０  アクセル開度センサ、９２  車速センサ、９４  大気圧センサ
【図１】
2008115802.tif 000003
【図２】
2008115802.tif 000004
【図３】
2008115802.tif 000005
【図４】
2008115802.tif 000006
【図５】
2008115802.tif 000007
【図６】
2008115802.tif 000008
【図７】
2008115802.tif 000009
【図８】
2008115802.tif 000010
【図９】
2008115802.tif 000011
【図１０】
2008115802.tif 000012