(57)【要約】      （修正有）【課題】アルコール混合燃料を使用可能な内燃機関に供給する燃料のアルコール濃度を検出するアルコール濃度センサの出力固着異常やオフセット異常を検出できるようにする。【解決手段】所定の異常診断実行条件が成立したときに、空燃比制御をフィードバック制御からオープンループ制御に切り替えて燃料噴射量を所定割合変化させて、アルコール濃度センサ４１で検出したアルコール濃度に応じた理論空燃比を求めると共に、オープンループ制御中の実空燃比（＝空気重量／燃料重量）を演算して、この実空燃比とアルコール濃度検出値に応じた理論空燃比との比から推定空気過剰率λestを演算し、空燃比センサ２４で検出した実空気過剰率λと前記推定空気過剰率λestとの偏差Δλ（絶対値）が異常判定値より大きいか否かで、アルコール濃度センサ４１の異常の有無を判定する。【選択図】図１
2011089457.tif 000002
【特許請求の範囲】
【請求項１】
アルコール混合燃料を使用可能な内燃機関に供給する燃料のアルコール濃度を検出するアルコール濃度センサと、前記内燃機関から排出されるガスの空気過剰率λを検出する空燃比センサと、前記アルコール濃度センサの異常診断を実行する異常診断手段とを備えたアルコール濃度センサの異常診断装置において、
前記異常診断手段は、所定の異常診断実行条件が成立したときに前記内燃機関の空燃比制御をフィードバック制御からオープンループ制御に切り替えて燃料噴射量を変化させる手段と、前記アルコール濃度センサで検出したアルコール濃度に応じた理論空燃比を用いて推定空気過剰率λest を演算する手段と、前記オープンループ制御中に前記空燃比センサで検出した空気過剰率λと前記推定空気過剰率λest とを比較して前記アルコール濃度センサの異常診断を実行する手段とを備えていることを特徴とするアルコール濃度センサの異常診断装置。
【請求項２】
前記異常診断手段は、前記空燃比センサで検出した空気過剰率λと前記推定空気過剰率λest との偏差Δλに基づいて前記アルコール濃度センサの検出誤差を補正するためのセンサ補正量を学習する手段を備えていることを特徴とする請求項１に記載のアルコール濃度センサの異常診断装置。
【請求項３】
前記異常診断手段は、前記オープンループ制御中に燃料噴射量を増加させる期間と減少させる期間とを少なくとも１回ずつ交互に設定することを特徴とする請求項１又は２に記載のアルコール濃度センサの異常診断装置。
【請求項４】
前記異常診断手段は、前記オープンループ制御中に燃料噴射量を変化させる毎に前記空燃比センサで検出した空気過剰率λと前記推定空気過剰率λest との偏差Δλを算出して前記偏差Δλの平均値を算出し、前記偏差Δλの平均値に基づいて前記アルコール濃度センサの異常診断を実行することを特徴とする請求項１乃至３のいずれかに記載のアルコール濃度センサの異常診断装置。
【請求項５】
燃料タンク内への給油の有無を判定する給油判定手段を備え、
前記異常診断実行条件には、前記給油判定手段で給油有りと判定された場合に給油後の内燃機関の運転期間が所定期間経過することが含まれることを特徴とする請求項１乃至４のいずれかに記載のアルコール濃度センサの異常診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アルコール混合燃料のアルコール濃度を検出するアルコール濃度センサの異常診断を実行するアルコール濃度センサの異常診断装置に関する発明である。
【背景技術】
【０００２】
近年、ＣＯ2 排出量削減、石油代替燃料の活用等の社会的要請から、燃料として、ガソリンにアルコールを混合したアルコール混合燃料を使用可能なエンジン（内燃機関）を搭載した自動車の需要が増加している。このような自動車では、燃料タンクに前回と異なるアルコール濃度の燃料が給油されると、燃料タンク内の燃料のアルコール濃度が変化する。ガソリンとアルコールとでは理論空燃比が異なるため、燃料のアルコール濃度が変化すると、燃料の理論空燃比も変化することから、燃料のアルコール濃度に応じて燃料噴射量（実空燃比）を変化させる必要がある。
【０００３】
そこで、内燃機関に供給する燃料のアルコール濃度をアルコール濃度センサで検出し、そのアルコール濃度検出値に応じて燃料噴射量を補正するようにしたものがある。このものでは、アルコール濃度センサが異常になると、アルコール濃度検出値に応じた燃料補正量が異常になるため、理論空燃比からの実空燃比のずれが大きくなって、エミッション増加やエンジン不調に陥ってしまう。従って、アルコール濃度センサの異常が発生したときには、その異常を早期に検出してフェイルセーフ処理や警告等を行う必要がある。
【０００４】
そこで、特許文献１（実公平６−３４５５９号公報）では、アルコール濃度センサで検出したアルコール濃度の変化量が所定値以上のときに、目標空燃比に対する実空燃比のずれ（空燃比フィードバック補正係数）を所定時間監視して、実空燃比のずれが大きい状態が続く場合は、アルコール濃度センサの異常と判定するようにしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】実公平６−３４５５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上記従来の異常診断技術では、アルコール濃度センサで検出したアルコール濃度の変化量が所定値以上のときに実空燃比のずれを監視するようにしているため、アルコール濃度センサの異常が発生しても、アルコール濃度センサで検出したアルコール濃度の変化量が所定値以上とならない場合（例えばアルコール濃度センサの出力が一定値に固着する出力固着異常の場合）は、その異常を検出できない。また、アルコール濃度センサの出力特性がずれてセンサ出力のオフセット誤差が過大になるオフセット異常が発生した場合も、アルコール濃度センサで検出したアルコール濃度の変化量が所定値以上にならなければ、オフセット異常を検出できない。
【０００７】
そこで、本発明が解決しようとする課題は、アルコール濃度センサの出力固着異常やオフセット異常を検出できるアルコール濃度センサの異常診断装置を提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１に係る発明は、アルコール混合燃料を使用可能な内燃機関に供給する燃料のアルコール濃度を検出するアルコール濃度センサと、前記内燃機関から排出されるガスの空気過剰率λを検出する空燃比センサと、前記アルコール濃度センサの異常診断を実行する異常診断手段とを備えたアルコール濃度センサの異常診断装置において、前記異常診断手段は、所定の異常診断実行条件が成立したときに前記内燃機関の空燃比制御をフィードバック制御からオープンループ制御に切り替えて燃料噴射量を変化させる手段と、前記アルコール濃度センサで検出したアルコール濃度に応じた理論空燃比を用いて推定空気過剰率λest を演算する手段と、前記オープンループ制御中に前記空燃比センサで検出した空気過剰率λと前記推定空気過剰率λest とを比較して前記アルコール濃度センサの異常診断を実行する手段とを備えていることを特徴とするものである。
【０００９】
ここで、空気過剰率λは、実空燃比と理論空燃比との比であり、実空燃比は、内燃機関の気筒内に吸入される混合気の空気と燃料の重量比である。
空気過剰率λ＝実空燃比／理論空燃比
実空燃比＝空気重量／燃料重量
燃料のアルコール濃度が変化すると、燃料の理論空燃比も変化する。
【００１０】
空燃比フィードバック制御中は、空燃比センサで検出される空気過剰率λが目標値（一般には１．０）となるように燃料噴射量がフィードバック補正される。そこで、本発明では、アルコール濃度センサの異常診断を行う際に、空燃比制御をフィードバック制御からオープンループ制御に切り替えて燃料噴射量を変化させて、空気過剰率λを空燃比フィードバック制御中の目標値から変化させる。この際、アルコール濃度センサで検出したアルコール濃度が正しければ、検出したアルコール濃度に応じた理論空燃比を用いて演算した推定空気過剰率λest が空燃比センサで検出した空気過剰率λとほぼ一致するが、アルコール濃度センサの検出値が間違っていれば、間違った理論空燃比を用いて推定空気過剰率λest を演算することになるため、推定空気過剰率λest が間違った値となり、空燃比センサで検出した空気過剰率λと推定空気過剰率λest とのずれ（偏差Δλ）が過大となる。従って、空燃比センサで検出した空気過剰率λと推定空気過剰率λest とを比較すれば、両者のずれ（偏差Δλ）が正常時のばらつき範囲を越えているか否かでアルコール濃度センサの異常の有無を判定することができる。この場合、アルコール濃度センサの出力固着異常やオフセット異常が発生すると、アルコール濃度センサの検出値が間違った値となり、空燃比センサで検出した空気過剰率λと推定空気過剰率λest とのずれ（偏差Δλ）が過大となるため、アルコール濃度センサの出力固着異常やオフセット異常も検出することができる。
【００１１】
本発明は、請求項２のように、オープンループ制御中に空燃比センサで検出した空気過剰率λと前記推定空気過剰率λest との偏差Δλに基づいてアルコール濃度センサの検出誤差を補正するためのセンサ補正量を学習するようにしても良い。このようにすれば、アルコール濃度センサの検出誤差をセンサ補正量の学習値で精度良く補正して、アルコール濃度センサの検出値の精度を高めることができる。
【００１２】
また、請求項３のように、オープンループ制御中に燃料噴射量を増加させる期間と減少させる期間とを少なくとも１回ずつ交互に設定するようにしても良い。このようにすれば、オープンループ制御中（異常診断処理中）でも、排出ガス浄化用の触媒の状態がリッチ／リーンのいずれか一方側に偏って排出ガス浄化率が低下することを防止でき、オープンループ制御中（異常診断処理中）のエミッションが増加することを回避できる。
【００１３】
また、請求項４のように、オープンループ制御中に燃料噴射量を変化させる毎に、空燃比センサで検出した空気過剰率λと前記推定空気過剰率λest との偏差Δλを算出して前記偏差Δλの平均値を算出し、前記偏差Δλの平均値に基づいてアルコール濃度センサの異常診断を実行するようにしても良い。このように、偏差Δλの平均値を用いれば、異常診断精度を向上できる。
【００１４】
また、請求項５のように、燃料タンク内への給油の有無を判定する給油判定手段を備え、前記異常診断実行条件には、前記給油判定手段で給油有りと判定された場合に給油後の内燃機関の運転期間が所定期間経過することが含まれるようにすると良い。
【００１５】
給油後に内燃機関を始動しても、燃料タンクから燃料噴射弁までの燃料通路内には給油前の燃料が残っているため、燃料通路内に残っている燃料が全て噴射されて給油後の燃料と入れ替わるまでは、給油前の燃料が内燃機関に噴射される。従って、給油後の始動直後に異常診断を開始すると、燃料通路内に残っている給油前の燃料の影響でアルコール濃度センサの異常を誤判定する可能性がある。
【００１６】
従って、給油後の内燃機関の運転期間が所定期間経過することを異常診断実行条件に含ませるようにすれば、燃料通路内に残っている給油前の燃料の影響でアルコール濃度センサの異常を誤判定することを未然に防止できる。ここで、「内燃機関の運転期間が所定期間経過すること」とは、例えば、(1) 内燃機関の運転時間が所定時間経過すること、(2) 始動開始後の燃料噴射量積算値又は吸気量積算値が所定値を越えたこと、(3) 始動開始後の機関回転数積算値が所定値を越えたこと、(4) 始動開始後の走行距離が所定値を越えたことのいずれかを用いれば良い。
【図面の簡単な説明】
【００１７】
【図１】図１は本発明の一実施例におけるエンジン制御システムの概略構成を示す図である。
【図２】図２はアルコール濃度センサが正常な場合の異常診断期間中の推定空気過剰率λest と空燃比センサで検出した空気過剰率λの挙動の一例を示すタイムチャートである。
【図３】図３はアルコール濃度センサが異常な場合の異常診断期間中の推定空気過剰率λest と空燃比センサで検出した空気過剰率λの挙動の一例を示すタイムチャートである。
【図４】図４はアルコール濃度センサ異常診断実行条件判定ルーチンの処理の流れを示すフローチャートである。
【図５】図５はアルコール濃度センサ異常診断実行ルーチンの処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明を実施するための形態を吸気ポート噴射式エンジンに適用して具体化した一実施例を図面を用いて説明する。
まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。
内燃機関であるエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４が設けられている。このエアフローメータ１４の下流側には、モータ１５によって開度調節されるスロットルバルブ１６と、このスロットルバルブ１６の開度（スロットル開度）を検出するスロットル開度センサ１７とが設けられている。
【００１９】
更に、スロットルバルブ１６の下流側には、サージタンク１８が設けられ、このサージタンク１８に、吸気管圧力を検出する吸気管圧力センサ１９が設けられている。また、サージタンク１８には、エンジン１１の各気筒に空気を導入する吸気マニホールド２０が設けられ、各気筒の吸気マニホールド２０の吸気ポート近傍に、それぞれ吸気ポートに向けて燃料を噴射する燃料噴射弁２１が取り付けられている。また、エンジン１１のシリンダヘッドには、各気筒毎に点火プラグ２２が取り付けられ、各気筒の点火プラグ２２の火花放電によって筒内の混合気に着火される。
【００２０】
一方、エンジン１１の排気管２３には、排出ガスの空気過剰率λを検出する空燃比センサ２４（酸素センサ）が設けられ、この空燃比センサ２４の下流側に、排出ガスを浄化する三元触媒等の触媒２５が設けられている。
【００２１】
また、エンジン１１のシリンダブロックには、冷却水温を検出する冷却水温センサ２６や、ノッキングを検出するノックセンサ２９が取り付けられている。また、クランク軸２７の外周側には、クランク軸２７が所定クランク角回転する毎にパルス信号を出力するクランク角センサ２８が取り付けられ、このクランク角センサ２８の出力信号に基づいてクランク角やエンジン回転速度が検出される。
【００２２】
エンジン１１は、燃料として、例えば、ガソリン、エタノールやメタノール等のアルコール、ガソリンにアルコールを混合したアルコール混合燃料をいずれも使用可能であり、運転者がこれらのガソリン、アルコール、アルコール混合燃料のいずれかを選択して燃料タンク３０内に給油するようになっている。燃料タンク３０内には、燃料を汲み上げる燃料ポンプ３１が設けられている。この燃料ポンプ３１から吐出される燃料は、燃料配管３２を通してデリバリパイプ３３に送られ、このデリバリパイプ３３から各気筒の燃料噴射弁２１に分配される。燃料配管３２のうちの燃料ポンプ３１付近には、燃料フィルタ３４とプレッシャレギュレータ３５が接続され、このプレッシャレギュレータ３５によって燃料ポンプ３１の吐出圧が所定圧力に調圧され、その圧力を越える燃料の余剰分が燃料戻し管３６により燃料タンク３０内に戻されるようになっている。
【００２３】
また、燃料タンク３０から燃料噴射弁２１までの燃料通路（燃料配管３２とデリバリパイプ３３）の所定位置には、エンジン１１に供給される燃料のアルコール濃度を検出するアルコール濃度センサ４１が取り付けられている。このアルコール濃度センサ４１は、例えば、静電容量式のアルコール濃度センサ又は光学式のアルコール濃度センサである。静電容量式のアルコール濃度センサは、燃料のアルコール濃度に応じて燃料の比誘電率が変化して、燃料が通過する電極間の静電容量が変化することを利用して、電極間の静電容量を測定することでアルコール濃度を検出する。光学式のアルコール濃度センサは、燃料の透過光量（透過率）を測定してアルコール濃度を検出する。尚、アルコール濃度センサ４１の取付場所は、燃料通路に限定されず、燃料タンク３０内であっても良い。
【００２４】
燃料タンク３０には、エバポ配管３７を介してキャニスタ３８が接続されている。このキャニスタ３８内には、エバポガス（燃料蒸発ガス）を吸着する活性炭等の吸着体（図示せず）が収容されている。キャニスタ３８とエンジン吸気系（例えばスロットルバルブ１６下流側の吸気管１２又はサージタンク１８又は吸気マニホールド２０）との間には、キャニスタ３８内の吸着体に吸着されているエバポガスをエンジン吸気系にパージ（放出）するためのパージ通路３９が設けられ、このパージ通路３９の途中に、エンジン運転状態に応じてパージ流量を調整するためのパージ制御弁４０が設けられている。
【００２５】
上述した各種センサの出力は、制御回路（以下「ＥＣＵ」と表記する）４３に入力される。このＥＣＵ４３は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）に記憶された各種のエンジン制御プログラムを実行することで、エンジン運転状態に応じて燃料噴射弁２１の燃料噴射量や点火プラグ２２の点火時期を制御する。
【００２６】
その際、ＥＣＵ４３は、エンジン運転中に所定の空燃比フィードバック制御実行条件が成立したときに、空燃比センサ２４の検出値に基づいて排出ガスの空気過剰率λest を目標値（例えば１．０）に一致させるように空燃比フィードバック補正量を算出し、この空燃比フィードバック補正量を用いて燃料噴射弁２１の燃料噴射量を補正する空燃比フィードバック制御を実行すると共に、空気過剰率λ＝１（理論空燃比）とするための空燃比学習補正量を学習してバックアップＲＡＭ等の書き替え可能な不揮発性メモリに更新記憶する。
【００２７】
また、燃料のアルコール濃度が高くなるほど、燃料の理論空燃比が小さくなり、実空燃比を理論空燃比に制御するのに必要な燃料噴射量が増加するという関係があることを考慮して、ＥＣＵ４３は、アルコール濃度センサ４１で検出した燃料のアルコール濃度に応じてアルコール濃度燃料補正量をマップ等により設定して燃料噴射弁２１の燃料噴射量をアルコール濃度燃料補正量で補正する。
【００２８】
このものでは、アルコール濃度センサ４１が異常になると、アルコール濃度検出値に応じた燃料補正量が異常になるため、理論空燃比からの実空燃比のずれが大きくなって、エミッション増加やエンジン不調に陥ってしまう。従って、アルコール濃度センサ４１の異常が発生したときには、その異常を早期に検出してフェイルセーフ処置や警告等を行う必要がある。
【００２９】
そこで、本実施例では、ＥＣＵ４３は、アルコール濃度センサ４１の異常診断を実行する異常診断手段として機能し、次のようにしてアルコール濃度センサ４１の異常診断を実行する。所定の異常診断実行条件が成立したときに、空燃比制御をフィードバック制御からオープンループ制御に切り替えて燃料噴射量を所定割合変化させ、アルコール濃度センサ４１で検出したアルコール濃度に応じた理論空燃比をマップ等により求めると共に、オープンループ制御中の実空燃比（＝空気重量／燃料重量）を演算して、この実空燃比とアルコール濃度検出値に応じた理論空燃比との比から推定空気過剰率λest を演算し、空燃比センサ２４で検出した実空気過剰率λと前記推定空気過剰率λest とを比較してアルコール濃度センサ４１の異常診断を実行する。
【００３０】
推定空気過剰率λest ＝実空燃比／［アルコール濃度検出値に応じた理論空燃比］
この際、アルコール濃度センサ４１で検出したアルコール濃度が正しければ、図２に示すように、アルコール濃度検出値に応じた理論空燃比を用いて演算した推定空気過剰率λest が空燃比センサ２４で検出した実空気過剰率λとほぼ一致するが、アルコール濃度センサ４１の検出値が間違っていれば、間違った理論空燃比を用いて推定空気過剰率λest を演算することになるため、推定空気過剰率λest が間違った値となり、図３に示すように、空燃比センサ２４で検出した実空気過剰率λと推定空気過剰率λest とのずれ（偏差Δλ）が大きくなる。従って、空燃比センサ２４で検出した実空気過剰率λと推定空気過剰率λest とを比較すれば、両者のずれ（偏差Δλ）が正常範囲（正常時のばらつき範囲）を越えているか否かでアルコール濃度センサ４１の異常の有無を判定することができる。この場合、アルコール濃度センサ４１の出力固着異常やオフセット異常が発生すると、アルコール濃度センサ４１の検出値が間違った値となり、空燃比センサ２４で検出した実空気過剰率λと推定空気過剰率λest とのずれ（偏差Δλ）が過大となるため、アルコール濃度センサ４１の出力固着異常やオフセット異常も検出することができる。
【００３１】
更に、本実施例では、空燃比センサ２４で検出した実空気過剰率λと前記推定空気過剰率λest との偏差Δλに基づいてアルコール濃度センサ４１の検出誤差を補正するためのセンサ補正量を学習してバックアップＲＡＭ等の書き替え可能な不揮発性メモリに記憶し、空燃比フィードバック制御中にアルコール濃度センサ４１の検出値をセンサ補正量の学習値で補正するようにしている。このようにすれば、アルコール濃度センサ４１の検出誤差を精度良く補正して、アルコール濃度センサ４１の検出値の精度を高めることができ、アルコール濃度検出値に応じた燃料補正量の精度を高めることができる。
【００３２】
更に、本実施例では、図２に示すように、オープンループ制御中（異常診断処理中）に燃料噴射量を増加させる期間と減少させる期間とを少なくとも１回ずつ交互に設定するようにしている。このようにすれば、オープンループ制御中でも、排出ガス浄化用の触媒２５の状態がリッチ／リーンのいずれか一方側に偏って排出ガス浄化率が低下することを防止でき、オープンループ制御中のエミッションが増加することを回避することができる。      
【００３３】
この際、オープンループ制御中に燃料噴射量が増加又は減少する毎に、空燃比センサ２４で検出した空気過剰率λと推定空気過剰率λest との偏差Δλを算出して偏差Δλの平均値を算出し、偏差Δλの平均値に基づいてアルコール濃度センサ４１の異常診断を実行するようにしている。このように、偏差Δλの平均値を用いれば、異常診断精度を向上することができる。
【００３４】
ところで、給油後にエンジン１１を始動しても、燃料タンク３０から燃料噴射弁２１までの燃料通路（燃料配管３２とデリバリパイプ３３）内には給油前の燃料が残っているため、燃料通路内に残っている燃料が全て噴射されて給油後の燃料と入れ替わるまでは、給油前の燃料がエンジン１１に噴射される。従って、給油後の始動直後に異常診断を開始すると、燃料通路内に残っている給油前の燃料の影響でアルコール濃度センサ４１の異常を誤判定する可能性がある。
【００３５】
この対策として、本実施例では、給油判定手段で給油有りと判定された場合に、給油後のエンジン１１の運転期間が所定期間経過することを異常診断実行条件の１つとしている。このようにすれば、燃料通路内に残っている燃料が全て噴射されて給油後の燃料と入れ替わるまで異常診断を開始しないようにすることができるため、燃料通路内に残っている給油前の燃料の影響でアルコール濃度センサ４１の異常を誤判定することを未然に防止できる。ここで、「エンジン１１の運転期間が所定期間経過すること」とは、例えば、(1) エンジン１１の運転時間が所定時間経過すること、(2) 始動開始後の燃料噴射量積算値又は吸気量積算値が所定値を越えたこと、(3) 始動開始後の機関回転数積算値が所定値を越えたこと、(4) 始動開始後の走行距離が所定値を越えたことのいずれかを用いれば良い。
【００３６】
以上説明した本実施例のアルコール濃度センサ４１の異常診断処理は、ＥＣＵ４３によって図４及び図５のルーチンに従って実行される。以下、各ルーチンの処理内容を説明する。
【００３７】
［アルコール濃度センサ異常診断実行条件判定ルーチン］
図４のアルコール濃度センサ異常診断実行条件判定ルーチンは、エンジン運転中（ＥＣＵ４３の電源オン期間中）に所定周期で繰り返し実行され、ステップ１０１〜１０６の条件を全て満たすか否かで異常診断実行条件が成立しているか否かを判定する。
【００３８】
本ルーチンが起動されると、まずステップ１０１で、ＥＣＵ４３に実装された空燃比制御系異常診断機能の診断結果に基づいて、空燃比センサ２４、燃料噴射弁２１、燃料ポンプ３１等の空燃比制御系の各部品が正常に機能しているか否かを判定し、空燃比制御系に何等かの異常が検出されていれば、異常診断実行条件が不成立となり、ステップ１０８に進み、異常診断実行フラグを「ＯＦＦ」に維持又はリセットする。
【００３９】
上記ステップ１０１で、空燃比制御系の各部品が正常に機能していると判定されれば、ステップ１０２に進み、停車中に給油されたか否かを給油判定手段により判定する。ここで、給油判定手段は、例えば、エンジン始動時（イグニッションスイッチのオン時）に燃料タンク３０内の燃料レベル検出器（図示せず）で検出した燃料タンク３０内の燃料レベル（燃料残量）が前回のエンジン停止時（イグニッションスイッチのオフ時）の検出燃料レベルよりも増加しているか否かで給油の有無を判定したり、或は、燃料タンク３０の給油口を閉塞する燃料キャップの開閉を検出する燃料キャップ開閉スイッチ（図示せず）により燃料キャップの開閉を監視して給油の有無を判定したり、或は、停車中に燃料タンク３０内の燃料温度を検出する燃料温度センサ（図示せず）の検出値を監視して燃料タンク３０内の燃料温度が急激に低下したときに給油有有りと判定するようにしても良い。
【００４０】
上記ステップ１０２で、停車中に給油されていないと判定されれば、異常診断実行条件が不成立となり、ステップ１０８に進み、異常診断実行フラグを「ＯＦＦ」に維持又はリセットする。
【００４１】
上記ステップ１０２で、停車中に給油されたと判定されれば、ステップ１０３に進み、給油後のエンジン１１の運転期間が、燃料通路内に残っている燃料が全て噴射されて給油後の燃料と入れ替わるのに要する所定期間経過したか否かを判定し、所定期間が経過していないと判定されれば、異常診断実行条件が不成立となり、ステップ１０８に進み、異常診断実行フラグを「ＯＦＦ」に維持又はリセットする。
【００４２】
上記ステップ１０３で、給油後のエンジン１１の運転期間が所定期間経過したと判定されれば、ステップ１０４に進み、アルコール濃度センサ４１の検出値が安定しているか否か（検出値が所定期間変動しないか否か）を判定し、アルコール濃度センサ４１の検出値が安定していなければ、正常なアルコール濃度センサ４１でもアルコール濃度を正しく検出できないため、異常診断実行条件が不成立となり、ステップ１０８に進み、異常診断実行フラグを「ＯＦＦ」に維持又はリセットする。
【００４３】
上記ステップ１０４で、アルコール濃度センサ４１の検出値が安定していると判定されれば、ステップ１０５に進み、空気過剰率λ＝１（理論空燃比）とするための空燃比学習補正量の学習を完了したか否かを判定し、空燃比学習補正量の学習を完了していないと判定されれば、異常診断実行条件が不成立となり、ステップ１０８に進み、異常診断実行フラグを「ＯＦＦ」に維持又はリセットする。
【００４４】
上記ステップ１０５で、空燃比学習補正量の学習を完了したと判定されれば、ステップ１０６に進み、吸入空気量とエンジン回転速度がほぼ一定に維持される定常運転中（例えば定速走行中）であるか否かを判定し、定常運転中ではないと判定されれば、異常診断実行条件が不成立となり、ステップ１０８に進み、異常診断実行フラグを「ＯＦＦ」に維持又はリセットする。
【００４５】
以上説明したステップ１０１〜１０６で全て「Ｙｅｓ」と判定されれば、異常診断実行条件が成立し、ステップ１０７に進み、異常診断実行フラグを「ＯＮ」にセットする。
尚、異常診断実行条件は、ステップ１０１〜１０６の条件に限定されず、一部の条件を省いたり、他の条件を追加しても良いことは言うまでもない。
【００４６】
［アルコール濃度センサ異常診断実行ルーチン］
図５のアルコール濃度センサ異常診断実行ルーチンは、エンジン運転中（ＥＣＵ４３の電源オン期間中）に所定周期で繰り返し実行され、前記図４のアルコール濃度センサ異常診断実行条件判定ルーチンと共に特許請求の範囲でいう異常診断手段としての役割を果たす。本ルーチンが起動されると、まずステップ２０１で、異常診断実行フラグが「ＯＮ」であるか否か（異常診断実行条件が成立しているか否か）を判定し、異常診断実行フラグが「ＯＦＦ」であれば、以降の処理を行うことなく、本ルーチンを終了する。
【００４７】
上記ステップ２０１で、異常診断実行フラグが「ＯＮ」と判定されれば、ステップ２０２に進み、空燃比制御をフィードバック制御からオープンループ制御に切り替えた後、ステップ２０３に進み、燃料噴射量を所定割合増加又は減少させる。
【００４８】
そして、次のステップ２０４で、アルコール濃度センサ４１の検出値を読み込んだ後、ステップ２０５に進み、アルコール濃度センサ４１の検出値に応じた理論空燃比をマップ等により求めると共に、オープンループ制御中の実空燃比（＝空気重量／燃料重量）を算出して、この実空燃比とアルコール濃度センサ４１の検出値に応じた理論空燃比との比から推定空気過剰率λest を算出する。
【００４９】
この後、ステップ２０６に進み、空燃比センサ２４の出力が安定したか否か（所定期間変動しないか否か）を判定し、空燃比センサ２４の出力が安定するまで待機する。尚、燃料噴射量を所定割合増加又は減少させてから、空燃比センサ２４の出力が安定するのに要する所定時間が経過したか否かを判定し、所定時間が経過した時点で空燃比センサ２４の出力が安定したと判定するようにしても良い。
【００５０】
空燃比センサ２４の出力が安定したと判定した時点で、ステップ２０７に進み、空燃比センサ２４で検出した実空気過剰率λを読み込み、次のステップ２０８で、実空気過剰率λと推定空気過剰率λest との偏差Δλ（絶対値）を算出する。
Δλ＝｜λ−λest ｜
【００５１】
この後、ステップ２０９に進み、偏差Δλの算出回数（燃料噴射量の増減回数）が所定回になったか否かを判定し、まだ偏差Δλの算出回数が所定回になっていなければ、上述したステップ２０３の処理に戻り、燃料噴射量を異常診断開始前の燃料噴射量（空気過剰率λ＝１）から所定割合増加又は減少させる。この際、前回の燃料噴射量の変化方向とは反対方向に燃料噴射量を変化させる。この後、上述したステップ２０３〜２０８の処理を繰り返して、実空気過剰率λと推定空気過剰率λest との偏差Δλを算出する。
【００５２】
以上のようにして、前回の燃料噴射量の変化方向とは反対方向に燃料噴射量を変化させて実空気過剰率λと推定空気過剰率λest との偏差Δλを算出するという処理を、所定回繰り返した後、ステップ２１０に進み、偏差Δλの平均値を算出し、次のステップ２１１で、偏差Δλの平均値を異常判定値と比較して、偏差Δλの平均値が異常判定値以下であれば、ステップ２１４に進み、アルコール濃度センサ４１の検出誤差が正常範囲内であると判定する。この後、ステップ２１５に進み、偏差Δλの平均値に基づいてアルコール濃度センサ４１の検出誤差を補正するためのセンサ補正量を学習してバックアップＲＡＭ等の書き替え可能な不揮発性メモリに記憶する。
【００５３】
これに対して、上記ステップ２１１で、偏差Δλの平均値が異常判定値よりも大きいと判定されれば、ステップ２１２に進み、アルコール濃度センサ４１の異常と判定して、ステップ２１３に進み、警告ランプ（図示せず）を点灯又は点滅したり、運転席のインストルメントパネルの表示部に警告表示したりして運転者に警告すると共に、適宜のフェールセーフ処理を実行する。このフェールセーフ処理では、例えば、アルコール濃度センサ４１の検出値を無効として、アルコール濃度センサ４１の検出値に応じたアルコール濃度燃料補正量を例えば最小値（０）とする。
【００５４】
以上説明した本実施例によれば、所定の異常診断実行条件が成立したときに、空燃比制御をフィードバック制御からオープンループ制御に切り替えて燃料噴射量を所定割合変化させ、アルコール濃度センサ４１で検出したアルコール濃度に応じた理論空燃比をマップ等により求めると共に、オープンループ制御中の実空燃比（＝空気重量／燃料重量）を演算して、この実空燃比とアルコール濃度検出値に応じた理論空燃比との比から推定空気過剰率λest を演算し、空燃比センサ２４で検出した実空気過剰率λと前記推定空気過剰率λest とを比較してアルコール濃度センサ４１の異常診断を実行するようにしたので、アルコール濃度センサ４１の出力固着異常やオフセット異常も検出することができる。
【００５５】
尚、偏差Δλの平均値を算出する際に、リッチ側（燃料噴射量増加側）の偏差Δλの平均値とリーン側（燃料噴射量減少側）の偏差Δλの平均値とを別々に算出し、リッチ側の偏差Δλの平均値とリーン側の偏差Δλの平均値をそれぞれ異常判定値と比較して、リッチ側の異常とリーン側の異常とを別々に判定するようにしても良い。この場合、アルコール濃度センサ４１の検出誤差を補正するためのセンサ補正量を学習する際に、リッチ側のセンサ補正量とリーン側のセンサ補正量とを別々に学習するようにしても良い。
【００５６】
また、偏差Δλの平均値を算出せずに、偏差Δλの算出を１回のみ行ってアルコール濃度センサ４１の異常診断を実行するようにしても良い。
その他、本発明は、図１に示すような吸気ポート噴射式エンジンに限定されず、筒内噴射式エンジンにも適用して実施できる等、要旨を逸脱しない範囲内で種々変更して実施できる。
【符号の説明】
【００５７】
１１…エンジン（内燃機関）、１２…吸気管、１６…スロットルバルブ、２１…燃料噴射弁、２２…点火プラグ、２３…排気管、２４…空燃比センサ、２５…触媒、３０…燃料タンク、３１…燃料ポンプ、３２…燃料配管、３３…デリバリパイプ、４１…アルコール濃度センサ、４３…ＥＣＵ（異常診断手段，給油判定手段）
【図１】
2011089457.tif 000003
【図２】
2011089457.tif 000004
【図３】
2011089457.tif 000005
【図４】
2011089457.tif 000006
【図５】
2011089457.tif 000007