(57)【特許請求の範囲】
【請求項１】
車両のエンジンの排気通路に装着されると共に、前記排気通路を流れる排気ガス中の酸素濃度に応じた出力値を出力する酸素センサの大気学習方法であって、
燃料供給を停止した状態でエンジンのクランキング動作を行い、前記排気通路内の前記酸素センサ周囲に大気を導入することにより、前記酸素センサの出力値と酸素濃度との関係を補正するための補正係数を算出する大気学習を実施するにあたり、前工程として、予め定められた運転条件下での前記エンジンの駆動を、前記排気通路内の雰囲気を略一律に揃えるために設定された一定時間にわたって実施させ、その後に前記クランキング動作を行って当該クランキング動作時に取得される前記酸素センサの出力値を学習用出力値に設定し、前記学習用出力値を基に前記大気学習を実施する
ことを特徴とする酸素センサの大気学習方法。
【請求項２】
請求項１に記載の酸素センサの大気学習方法であって、
前記予め定められた運転条件下での前記エンジンの駆動は、アイドリング運転である
酸素センサの大気学習方法。
【請求項３】
請求項１または請求項２に記載の酸素センサの大気学習方法であって、
前記エンジンのクランキング動作を複数回間欠的に実行し前記大気学習を実施する
酸素センサの大気学習方法。
【請求項４】
請求項３に記載の酸素センサの大気学習方法であって、
複数回実行されるクランキング動作のうちの特定回目のクランキング動作時に取得される前記酸素センサの出力値を前記学習用出力値に設定し、前記学習用出力値を基に前記大気学習を実施する
酸素センサの大気学習方法。
【請求項５】
請求項３に記載の酸素センサの大気学習方法であって、
各回のクランキング動作時に、一定周期で取得される複数個の前記酸素センサの出力値を平均化した平均出力値を基に学習候補値を求め、各回のクランキング動作に対応して算出された各学習候補値のうちの少なくとも１つに基づいて前記学習用出力値を設定し、前記学習用出力値を基に前記大気学習を実施する
酸素センサの大気学習方法。
【請求項６】
請求項５に記載の酸素センサの大気学習方法であって、
各回のクランキング動作に対応して得られた各学習候補値のうち、最も大きい値を前記学習用出力値に設定する
酸素センサの大気学習方法。
【請求項７】
請求項１〜請求項６のいずれかに記載の酸素センサの大気学習方法であって、
前記学習用出力値に予め設定した一定値を加算した値を用いて前記大気学習を実施する
酸素センサの大気学習方法。
【請求項８】
請求項１〜請求項６のいずれかに記載の酸素センサの大気学習方法であって、
前記学習用出力値に当該学習用出力値に占める一定の割合分の値を加算した値を用いて前記大気学習を実施する
酸素センサの大気学習方法。
【請求項９】
請求項１〜請求項８のいずれかに記載の酸素センサの大気学習方法であって、
前記車両に搭載されると共に、前記エンジンの制御を司るエンジンコントロールユニットに対して、前記車両の外部から燃料供給停止信号を与えることにより、前記エンジンコントロールユニットが前記燃料供給停止信号の入力に基づいて前記燃料供給を停止した状態に移行する
酸素センサの大気学習方法。
【請求項１０】
請求項１〜請求項８のいずれかに記載の酸素センサの大気学習方法であって、
前記車両に搭載されると共に、前記エンジンの制御を司るエンジンコントロールユニットを備え、当該エンジンコントロールユニットは、前記車両に搭乗した作業者により操作可能な２つ以上の車両構成部品に対する当該作業者による操作状態の組み合わせが、特定の組み合わせにあると判定されたときに、前記燃料供給を停止した状態に移行する
酸素センサの大気学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジンの排気通路に装着されると共に、排気通路を流れる排気ガス中の酸素濃度に応じた出力値を出力する酸素センサの大気学習方法に関する。
【背景技術】
【０００２】
車両等のエンジンの排気通路に装着され、この排気通路に流れる排気ガス中の酸素濃度を検出する酸素センサが知られている。この酸素センサを構成するセンサ素子には個体バラツキ（製造バラツキ）があるため、同一品番の酸素センサであっても出力値（検出信号）の出力特性が複数の酸素センサ間で異なる。そこで、各酸素センサを大気雰囲気に晒して当該酸素センサを駆動させ、大気中の酸素濃度に相当する出力値を検出し、目標とする（理想的な）大気出力になるための補正係数を酸素センサ毎に設定する大気学習方法が知られている。そして、酸素センサ毎に設定された補正係数は、エンジンの制御を司るＥＣＵ（エンジンコントロールユニット）のＲＯＭやＥＥＰＲＯＭ等の記憶媒体に記憶され、ＥＣＵは、自身に接続される酸素センサから入力される出力値に補正係数を乗じた値に基づき、排気ガス中の酸素濃度を検出することで、精度の良い酸素濃度の検出を行っている。
【０００３】
酸素センサを大気雰囲気に晒して大気学習を行う具体的な方法としては、車両の出荷前に、酸素センサをエンジンの排気通路に取り付け、エンジンを始動させることなく燃料供給を停止（禁止）した状態で当該エンジンのクランキング動作を行うことで、排気通路に大気を導入して酸素センサの大気学習（大気校正動作）を実行する方法が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１５０３７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、車両が出荷された後（換言すれば、車両が実使用に供されている期間に）、何らかの事情で酸素センサに異常（例えば、配線異常や素子割れ）が生じて車両の使用者がその異常をミルランプの点灯等を通じて認識した際、酸素センサの交換が必要となる。このようなケースでは、ディーラや修理工場等にて車両を運び込んで酸素センサの交換を行い、改めて上記のクランキング動作を行って酸素センサの大気学習、即ち、排気通路に装着される酸素センサを対象にした補正係数の設定を行う必要がある。
【０００６】
しかしながら、使用者等が車両を走行させてディーラや修理工場等に当該車両を運び込んだ場合、運び込まれるまでの走行状態（例えば、走行時間や走行速度）によって排気通路内の雰囲気がまちまちとなっている。そのため、運び込まれた車両に対して即座に作業者が新品の酸素センサを排気通路に取り付け、燃料供給を停止した状態で予め決められたクランキング動作を行って大気学習を行っても、車両が運び込まれるまでの走行状態（運転履歴）の違いに依存して、排気通路内の雰囲気が一律に揃わず、酸素センサの周囲を狙いとする大気雰囲気に実質的に晒すことができないことが本発明者らの検討により分かった。つまり、ディーラや修理工場等に運び込まれた車両に対して交換用の酸素センサを装着して上記クランキング動作のもと大気学習を実行しても、運び込まれた車両の排気通路内の雰囲気が異なると、同じ酸素センサを装着する状況下でも異なる補正係数が算出され、精度の良い大気学習を行えないおそれがある。
【０００７】
本発明は、かかる従来の問題点に鑑みてされたもので、酸素センサの交換時等にも精度良く大気学習を実施することができる酸素センサの大気学習方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様は、車両のエンジンの排気通路に装着されると共に、前記排気通路を流れる排気ガス中の酸素濃度に応じた出力値を出力する酸素センサの大気学習方法であって、燃料供給を停止した状態でエンジンのクランキング動作を行い、前記排気通路内の前記酸素センサ周囲に大気を導入することにより、前記酸素センサの出力値と酸素濃度との関係を補正するための補正係数を算出する大気学習を実施するにあたり、前工程として、予め定められた運転条件下での前記エンジンの駆動を、前記排気通路内の雰囲気を略一律に揃えるために設定された一定時間にわたって実施させ、その後に前記クランキング動作を行って当該クランキング動作時に取得される前記酸素センサの出力値を学習用出力値に設定し、前記学習用出力値を基に前記大気学習を実施することを特徴とする酸素センサの大気学習方法である。
【０００９】
本発明の酸素センサの大気学習方法では、燃料供給を停止した状態でエンジンのクランキング動作を行って排気通路内の酸素センサ周囲に大気を導入するのに先立ち、予め定められた運転条件下でのエンジンの駆動を、排気通路内の雰囲気を略一律に揃えるために設定された一定時間にわたって実施させる前工程を実施している。これにより、酸素センサを交換する目的で使用者等が車両を走行させてディーラや修理工場等に当該車両を運び込んだ際に、運び込まれるまでの走行状態（運転履歴）がまちまちであったとしても、一定時間にわたる予め定められた運転条件下でのエンジンの駆動を通じて、排気通路内の雰囲気を略一律に揃えることができる。そして、上記の前工程を行った後に、交換された酸素センサの周囲に大気を導入して補正係数を算出するための大気学習を実施することで、同じ酸素センサであれば同一の補正係数が算出されることになり、精度の良い大気学習を行うことができる。
【００１０】
ここで、「予め定められた運転条件下でのエンジンの駆動」とは、例えば、「アイドリング運転」や「一定範囲内のエンジン回転数（例えば、１０００ｒｐｍ〜２０００ｒｐｍの範囲内）でエンジンを駆動する運転状態」などが挙げられる。なお、本発明の酸素センサの大気学習方法にあっては、この「予め定められた運転条件下でのエンジンの駆動」は、アイドリング運転とするのが好ましい。大気学習の前工程に実施する予め定められた運転条件下でのエンジンの駆動をアイドリング運転とすれば、当該前工程時に作業者がアクセルペダルを踏む等の手間を省け、前工程を簡略化することができるからである。
【００１１】
また、上記の予め定められた運転条件下でのエンジンの駆動を行う「一定時間」については特に定めがないが、１０分以上の値を設定することが排気通路内の雰囲気を略一律に安定して揃える観点から好ましい。また、「一定時間」の上限値については、無駄なエンジン駆動を防止する観点から、６０分以下の値に設定すれば良い。
【００１２】
ところで、エンジンのクランキング動作によって酸素センサの大気学習を実行する場合、セルモータの駆動によりクランキングさせることになるが、排気通路内の雰囲気を実質的に大気雰囲気にするにはそれなりのクランキング動作時間が必要となる。このとき、連続してセルモータを長時間駆動させたのではセルモータに掛かる負荷が大きくなり、セルモータの劣化が生じる可能性がある。
【００１３】
そこで、本発明の酸素センサの大気学習方法の好ましい態様として、燃料供給を停止した状態でエンジンのクランキング動作を複数回間欠的に実行すると良い。このようにクランキング動作を複数回間欠的に実行することで、セルモータを連続的に駆動させずに、排気通路内の酸素センサ周囲に大気を導入することが可能となり、酸素センサの大気学習の実施に起因してセルモータに劣化が生じるのを抑制することができる。複数回間欠的に実行されるクランキング動作としては、例えば１０秒といった予め設定した時間のクランキングを、５秒といった予め設定した時間間隔をおいて複数回（例えば、３回）にわたって間欠的に行う動作が挙げられる。なお、１回あたりのクランキング時間、今回のクランキングから次回のクランキングに移行するまでの時間（間隔）、クランキング回数などは、車種や排気通路のレイアウト、セルモータの構造等を考慮しつつ、適宜設定すれば良い。
【００１４】
また、エンジンのクランキング動作を複数回間欠的に実行するにあたっては、燃料供給を停止させた状態で、作業者がキーをスタート位置からイグニション位置に回動させる行為を間欠的に行うなど、人為的に行っても良いが、車両の電子制御装置に設置されるマイクロコンピュータのＲＯＭ等の不揮発性メモリに、燃料供給を停止した状態で、複数回間欠的にクランキング動作を一義的に行うプログラムを予め記憶させておき、そのプログラムを起動させることにより自動的に行うのが好ましい。上記プログラムに沿って間欠的なクランキング動作が行うことで、１回あたりのクランキング時間や今回のクランキングから次回のクランキングに移行するまでの時間（間隔）がばらつかず、安定した大気学習につなげられるからである。
【００１５】
さらに、本発明の酸素センサの大気学習方法であって、エンジンのクランキング動作を複数回間欠的に実行して大気学習を行う上述した態様では、複数回実行されるクランキング動作のうちの特定回目のクランキング動作時に取得される前記酸素センサの出力値を学習用出力値に設定し、前記学習用出力値を基に前記大気学習を実施する大気学習方法とすると良い。
【００１６】
複数回実行されるクランキング動作のうちの特定回目のクランキング動作を対象にし、その特定回目のクランキング動作時に取得される酸素センサの出力値を学習用出力値に設定することで、簡易的に大気学習に必要な学習用出力値を取得することができる。なお、燃料供給を停止した状態でエンジンのクランキング動作を複数回間欠的に実行した場合、初回のクランキング動作から排気通路内の酸素センサ周囲に大気が導入され、クランキング回数が増すに従い、酸素センサ周囲は実質的な大気雰囲気（大気相当の酸素濃度）になっていく傾向がある。そのため、学習用出力値を設定するクランキング動作は最終回とすることが精度の良い大気学習を行う観点から好ましいが、必ずしも最終回には限定されない。
【００１７】
また、学習用出力値として設定される「特定回目のクランキング動作時に取得される酸素センサの出力値」としては、特定回目のクランキング動作時の最後に取得される出力値といった任意のタイミングで得られる１つの出力値の他、特定回目のクランキング動作時に、一定周期で取得される複数個の出力値を平均化した平均出力値を用いても良い。なお、燃料供給を停止した状態でクランキング動作した場合、排気通路内の雰囲気（ガス）には脈動が生じるため、酸素センサの出力値もこの脈動の影響により少なからず変動する。それより、特定回目のクランキング動作時に、一定周期で取得される複数個の出力値を平均化して平均化出力値を学習用出力値に設定することが、上記脈動の影響を軽減して精度の良い学習用出力値を得る観点から好ましい。また、平均化処理の手法としては、相加平均処理、移動平均処理、加重平均処理のいずれでも良く、移動平均処理または加重平均処理を行う場合には、次々に得られる平均出力値のうちの最も大きな値を学習用出力値に設定するようにしても良い。
【００１８】
さらに、本発明の酸素センサの大気学習方法であって、エンジンのクランキング動作を複数回間欠的に実行して大気学習を行う上述した態様では、各回のクランキング動作時に、一定周期で取得される複数個の前記酸素センサの出力値を平均化した平均出力値を基に学習候補値を求め、各回のクランキング動作に対応して算出された各学習候補値のうちの少なくとも１つに基づいて前記学習用出力値を設定し、前記学習用出力値を基に前記大気学習を実施する大気学習方法とする良い。
【００１９】
このように、各回のクランキング動作時に平均出力値に基づく学習候補値を求め、各回のクランキング動作に対応して算出された各学習候補値のうちの少なくとも１つを学習用出力値に設定した態様でも、精度の良い酸素センサの大気学習を行うことができる。このとき、各学習候補値の全ての平均値を学習用出力値に設定したり、あるいは、各学習候補値のうち最も大きな値を学習用出力値に設定するようにして、各回のクランキング動作に対応して算出された全ての学習候補値を考慮して学習用出力値を設定することで、何らかの事情で特定回目のクランキング時に排気通路内の雰囲気が急変することがあっても、信頼性の高い学習用出力値を得ることができる。また、複数個の酸素センサの出力値を平均化した平均出力値を基にして求められる学習候補値としては、各クランキング動作期間中の最後に取得される相加平均値、移動平均値、加重平均値そのものでも良いし、平均化処理として移動平均処理または加重平均処理を行う場合には、１回あたりのクランキング動作時に次々に算出される平均出力値のうちの最も大きな値を、その回の学習候補値として設定するようにしても良い。
【００２０】
ところで、本発明においては、大気学習の実施の前に、一定時間にわたる予め定められた運転条件下でのエンジン駆動を通じて、排気通路内の雰囲気を略一律に揃える前工程を行っている。ただし、この前工程ではエンジンを駆動（運転）させているため、排気通路のレイアウトや酸素センサの装着位置、あるいは、前工程の実行によって排気通路内に残留する燃料残留量の程度などに起因して、その後に燃料供給を停止した状態でクランキング動作を行っても酸素センサの周囲の雰囲気が大気相当の酸素濃度にまで達しないことがある。この場合には、大気学習の精度が少なからず低下するおそれがある。
【００２１】
そこで、上述した酸素センサの大気学習方法においては、前記学習用出力値に予め設定した一定値を加算した値を用いて前記大気学習を実施すると良い。または、上述した酸素センサの大気学習方法においては、前記学習用出力値に当該学習用出力値に占める一定の割合分の値を加算した値を用いて前記大気学習を実施すると良い。
【００２２】
これらにより、クランキング動作時の酸素センサ周囲の雰囲気（実際の酸素濃度）が理想とする大気相当の酸素濃度に達せず、そのような状況下で学習用出力値が取得されても、この学習用出力値に対して予め設定した一定値、あるいは、取得された学習用出力値に占める一定の割合分の値を加算することで、理想とする大気相当の酸素濃度に相当した値にシフトさせることができる。そして、この学習用出力値をシフトさせた値を用いて補正係数を算出することにより、大気学習の精度を低下させることなく、上述した前工程の効果を有意義に維持することができる。なお、「予め設定した一定値」、「学習用出力値に占める一定の割合分」の数値については、一定時間にわたる特定運定領域でのエンジン駆動の条件と、その後の燃料供給を停止した状態におけるエンジンのクランキング動作を行ったときの酸素センサ周囲の酸素濃度との関係を予め対象となる車両（エンジン）に対して実験的に求めておき、その関係を基にして適宜決定すればよい。
【００２３】
さらに、本発明の酸素センサの大気学習方法では、前記車両に搭載されるエンジンコントロールユニットに対して、前記車両の外部から燃料供給停止信号を与えることにより、前記エンジンコントロールユニットが前記燃料供給停止信号の入力に基づいて前記燃料供給を停止した状態に移行するとよい。
【００２４】
本発明では、大気学習に向けてのクランキング動作を行うに先立って燃料供給を停止した状態にする訳だが、エンジンコントロールユニットに対して車両の外部から燃料供給停止信号を与えることによって当該エンジンコントロールユニットが燃料供給を停止した状態に移行する構成であれば、作業者は容易に燃料供給を停止した状態を設定でき、その後のクランキング動作につなげることができる。
【００２５】
さらに、本発明の酸素センサの大気学習方法では、前記車両に搭載されるエンジンコントロールユニットを備え、当該エンジンコントロールユニットは、前記車両に搭乗した作業者により操作可能な２つ以上の車両構成部品に対する当該作業者による操作状態の組み合わせが、特定の組み合わせにあると判定されたときに、前記燃料供給を停止した状態に移行するようにしてもよい。
【００２６】
本発明では、大気学習に向けてのクランキング動作を行うに先立って燃料供給を停止した状態にする訳だが、車両に搭乗した作業者により操作可能な２つ以上の車両構成部品に対する当該作業者による操作状態の組み合わせが、特定の組み合わせにあるとエンジンコントロールユニットが判定したときに、エンジンコントロールユニットが燃料供給を停止した状態に移行する燃料供給を停止した状態に移行する構成であれば、作業者が特定の操作状態をするだけで燃料供給を停止した状態を設定でき、燃料供給を停止した状態を生成するための装置を別途に設ける必要がないといったメリットが得られる。
【００２７】
なお、車両構成部品としては、アクセルペダル、ブレーキペダル、ハンドル、ウィンカーレバー、ワイパーレバー、エアコンのボタン等、作業者が車両に搭乗した際に、手間なく操作することができる構成部品であればよい。また、作業者による車両構成部品の操作状態の特定の組み合わせとしては、通常の運転時に使用者が操作することのない組み合わせが好ましく、例えば、アクセルペダルとブレーキペダルを一緒に踏むといった組み合わせや、ハンドルを右側に最大限きった状態で、ウィンカーレバーを操作して左ウィンカーを点灯させ、エアコンの風量ボタンを最大に設定するといった組み合わせ等を例示することができる。
【図面の簡単な説明】
【００２８】
【図１】酸素センサを排気系に装着した車両の概略構成図である。
【図２】燃料供給を停止した状態で複数回間欠的にクランキング動作を行ったときの酸素センサの出力値の状態（推移）を示した図である。
【図３】補正係数Ｋｐを算出する方法（概要）を説明した図である。
【図４】実施例１にかかる酸素センサの大気学習処理のフローチャートである。
【図５】実施例２にかかる酸素センサの大気学習処理のフローチャートである。
【図６】実施例３にかかる酸素センサの大気学習処理のフローチャートである。
【図７】変形例２にかかる酸素センサの大気学習を行うに先立って実行される大気学習開始認識処理のフローチャートである。
【発明を実施するための形態】
【００２９】
以下、本発明の実施の形態について、図面を参照して説明する。以下の各実施形態では、本発明をガソリン自動車に適用した場合について説明する。
【００３０】
（実施例１）
図１は、酸素センサ２０を排気系に取り付けた車両（ガソリン自動車）の概略構成図である。ガソリン自動車のエンジン１００の排気管（排気通路）１２０には、酸素センサ２０が装着されている。そして、酸素センサ２０には、エンジンの制御を司るＥＣＵ（エンジンコントロールユニット）１０が接続されている。
【００３１】
エンジン１００の吸気管１１０にはスロットル弁１０２が設けられ、エンジン１００の各気筒（燃焼室）には、燃料を筒内に供給するための燃料噴射弁１０４が設置されている。また、排気管１２０の下流側には、排ガス浄化触媒１３０が取り付けられている。そして、ＥＣＵ１０は、酸素センサ２０からの出力値（詳細には、酸素センサ２０の出力値に後述する補正係数Ｋｐを乗じた値）に基づき、排気ガス中の酸素濃度、ひいては空燃比を算出し、この算出した空燃比に基づき燃料噴射弁１０４からの燃料噴射量を制御する。これにより、適切な空燃比で、エンジン１００の運転が行われるようになっている。
【００３２】
ＥＣＵ１０は、ＣＰＵ２、ＲＯＭ３、ＲＡＭ４、外部とのインターフェース回路（Ｉ／Ｆ）５を備えた公知のマイクロコンピュータ、ＥＥＰＲＯＭ等からなる不揮発メモリ８、センサ制御回路３２、ヒータ制御回路３４を備えたユニットである。そして、ＥＣＵ１０のＣＰＵ２は、ＲＯＭ３に予め記憶されたプログラムに従って排気ガス中の酸素濃度、ひいては空燃比を算出したり、酸素センサのヒータを加熱したり、後述する酸素センサ２０の大気学習を行う処理等の適宜の処理を実行する。
【００３３】
酸素センサ２０は、例えば、酸素イオン伝導性の固体電解質体に一対の電極を設けたセルを２つ用いた、いわゆる２セル式の広域空燃比センサとすることができる。この酸素センサ２０の具体的な構成としては、酸素ポンプセルと酸素濃度検出セルを、排気ガスが導入される中空の測定室が介在するように積層し、さらにこれら２つのセルを活性温度にまで加熱するためのヒータを積層したセンサ素子と、このセンサ素子を自身の内側に保持すると共に、排気管１２０に装着するためのハウジングと、ハウジングに取り付けられると共に、センサ素子の排気ガスに晒される部位の周囲を取り囲む、ガス導入孔付きのプロテクタと、を含む構成となっている。
【００３４】
この酸素センサ２０は、ＥＣＵ１０内に設けられた、抵抗器、演算増幅回路、スイッチング素子等の適宜の回路素子を用いて構成された公知のセンサ制御回路３２及びヒータ制御回路３４に接続されている。ヒータ制御回路３４はＣＰＵ２の指示に従ってヒータを通電制御する（具体的には、ヒータに印加される電圧をＰＷＭ通電制御する）ことで、ヒータを発熱させ、酸素ポンプセル及び酸素濃度セルが活性温度となるように加熱する。また、センサ制御回路３２は、酸素濃度検出セルの出力が一定値（例えば、４５０ｍＶ）となるように、酸素ポンプセルに通電を行い、酸素ポンプセルが測定室内の酸素を外部に汲み出す、あるいは、測定室に酸素を汲み入れるように駆動する。そして、酸素ポンプセル（酸素センサ２０）に流れるポンプ電流を出力値としてＥＣＵ１０のＣＰＵ２に出力する。
【００３５】
次に、酸素センサ２０の大気学習の手法について説明する。大気学習は、排気管１２０に酸素センサ２０を装着し、排気管１２０内の酸素センサ２０の周囲に大気を導入し、その酸素センサ２０の出力値（大気出力値）と酸素濃度との関係を補正するための補正係数を算出する処理である。この大気学習は、理想的とされる所定の酸素センサ、換言すれば、製造バラツキの中心の出力特性を有する標準的な酸素センサであって、酸素センサ２０と同一の構成からなる酸素センサ（以下、基準酸素センサという）の出力値（大気出力）と、排気管１２０に装着された酸素センサ２０の出力値（大気出力）との乖離（対応のずれ）を解消するための、補正係数Ｋｐを算出することで行われる。そして、得られた補正係数Ｋｐは、ＥＣＵ２０の不揮発メモリ８に記憶される。
【００３６】
これにより、エンジン１００を運転（駆動）している期間に、ＣＰＵ２にて酸素センサ２０から出力される出力値に不揮発メモリ８に記憶された補正係数Ｋｐを乗じ、その乗じた値に基づき排気ガス中の酸素濃度を算出することで、酸素センサ２０の個体バラツキ（製造バラツキ）の影響を受けることなく、いずれの酸素センサ２０でも精度の良い酸素濃度検出を実現することができる。
【００３７】
さて、酸素センサ２０の大気学習具体的な処理について説明する。まず、ガソリン自動車（エンジン）を出荷する前に、ＥＣＵ１０の不揮発メモリ８に補正係数Ｋｐを記憶させる処理を行う。補正係数Ｋｐの算出にあたっては、燃料噴射装置１０４による燃料供給を停止した状態で、一度も運転をさせていないエンジン１００（換言すれば、燃料供給のもとでの完爆が一度もなされてないエンジン１００）に対してクランキング動作を行うことで、排気管１２０内の酸素センサ２０の周囲に大気を導入することで行う。より詳しくは、エンジン１００のクランキング動作を複数回間欠的に実行し、複数回のクランキング動作期間中に取得される酸素センサ２０の出力値（ポンプ電流値）に基づき、補正係数Ｋｐの算出を行う。
【００３８】
図２は、このクランキング動作時における酸素センサ２０の出力推移を示している。より詳しくは、図２では、１０秒間のクランキング動作を、各クランキング動作間の間隔を５秒間に設定した上で、３回実施した際の酸素センサ２０のポンプ電流Ｉｐｒの出力推移を示している。この図２から理解できるように、初回のクランキング動作時から酸素センサ２０の出力値が増加していき、初回のクランキング動作の後半から、その後のクランキング動作時における酸素センサ２０の出力値がある範囲内で変動していることから、燃料供給を停止した状態でクランキング動作を行うことにより排気管１２０内の酸素センサ２０の周囲に大気が導入されていることが分かる。
【００３９】
また、図２に示すように、燃料供給を停止した状態でクランキング動作を行った場合、排気管１２０内の雰囲気（ガス）には脈動が生じるため、酸素センサ２０の出力値（ポンプ電流）もこの脈動の影響により変動していることが分かる。そこで、本実施例１では、この脈動の影響を軽減して大気学習の基となる学習用出力値を得るべく、各回のクランキング動作時に、一定周期で取得される複数個の酸素センサ２０の出力値を加重平均処理し、次々に得られる加重平均値のうちの最も大きな値（加重平均ピーク値）を１回あたりのクランキング動作時の学習候補値として求め、さらに各回のクランキング動作に対応して求められた全ての学習候補値（加重平均ピーク値）の中で最も大きな値を学習用出力値Ｉｐａｖｍａｘとして設定している。
【００４０】
そして、このようにしてエンジン１００のクランキング動作を複数回間欠的に実行し、複数回のクランキング動作期間中に設定された酸素センサ２０の出力値に基づく上記の学習用出力値Ｉｐａｖｍａｘを基に、図３に示すように、Ｋｐ＝（基準酸素センサの大気相当の出力値Ｉｐｓｏ）／（学習用出力値Ｉｐａｖｍａｘ）の演算式から補正係数Ｋｐを算出し、この補正係数Ｋｐを不揮発メモリ８に記憶させる。なお、この燃料供給を停止した状態下での複数回のクランキング動作を通じて補正係数Ｋｐを算出する一連の処理は、ＥＣＵ１０に対して大気学習実行信号が入力されることで、ＣＰＵ２が、ＲＯＭ３に予め記憶された大気学習用のプログラムを呼び出すことで自動的に実施される。この大気学習のプログラムのフローチャートについては、後述する。
【００４１】
さて、このようにしてガソリン自動車（エンジン１００）の出荷前に、ＥＣＵ１０の不揮発メモリ８に補正係数Ｋｐを記憶させた状態で、ガソリン自動車は出荷される訳だが、当該自動車が実使用に供されている期間に、何らかの事情で酸素センサ２０に異常（例えば、配線異常や素子割れ）が生じて自動車の使用者がその異常をミルランプの点灯等を通じて認識することがある。そのような酸素センサ２０の異常を認識した場合には、自動車をディーラや修理工場等に運びこみ、新品の酸素センサに交換を行う必要がある。
【００４２】
そして、運び込まれたガソリン自動車に対して、作業者は、新品の酸素センサ２０を排気通路に取り付け、上述したクランキング動作に基づく大気学習を行って、交換された酸素センサ２０に対応する補正係数Ｋｐを、エンジン出荷前に補正係数Ｋｐを算出する手順と同様に算出し、不揮発メモリ８に記憶（上書き）する。このとき、本実施例１では、クランキング動作に基づく大気学習（補正係数Ｋｐの算出）に先立ち、エンジン１００を一定時間にわたって予め定められた運転条件下で駆動させる前工程を実施するようにしている。本実施例１では、より具体的に、新品の酸素センサ２０を排気管１２０に取り替えた後、エンジン１００を２０分間にわたってアイドリング運転で駆動させる前工程を実施するようにしている。
【００４３】
この前工程を実施することによって、酸素センサ２０を交換する目的で使用者等が自動車を走行させてディーラや修理工場等に当該自動車を運び込んだ際に、運び込まれるまでの走行状態（運転履歴）がまちまちであったとしても、２０分間にわたる予め定められた運転条件（アイドリング運転）のもとでのエンジン１００駆動を通じて、排気管１０２内の雰囲気を略一律に揃えることができ、運び込まれるまでの運転履歴をリセットすることができる。そして、この前工程を行った後に、交換された酸素センサ２０に対して上述したクランキング動作のもとでの大気学習を実施する（補正係数Ｋｐの算出を行う）ことで、排気管１２０内の雰囲気を安定した大気雰囲気にすることができ、自動車の運転履歴に影響を受けることなく、精度の良い大気学習が行えることになる。
【００４４】
次に、ガソリン自動車（エンジン１００）の出荷前、及び、酸素センサ２０の交換時にＣＰＵ２が実行する大気学習用のプログラムのフローチャートについて、図４を参照して説明する。本実施例１は、エンジン１００の出荷前と酸素センサ２０の交換時にＣＰＵ２が実行する大気学習処理を同じプログラム（フローチャート）にて実施している。この図４に示すフローチャートは、ＥＣＵ１０に対して大気学習実行信号を作業者が外部装置から入力することでＣＰＵ２が処理を開始し、このフローチャートの処理が終了するまでの間、所定の周期（例えば、１ｍｓｅｃ毎）に繰り返し実行される。また、ＥＣＵ１０に対して外部機器から大気学習実行信号が作業者の操作によって入力されると、ＣＰＵ２はＲＯＭ３に設定された別のプログラムを起動させ、燃料供給を停止（具体的には、燃料を噴射するインジェクタの駆動を強制停止）し、その上で１０秒間のクランキング動作を各回５秒の間隔を置いて３回実行する処理を開始する。つまり、本実施例１では、大気学習実行信号が燃料供給を停止する燃料供給停止信号を兼ねており、外部機器（車両の外部）からＥＣＵ１０に対して大気学習実行信号（燃料供給停止信号）を与えることによってＥＣＵ１０が燃料供給を停止した状態に移行し、大気学習実行信号が与えられている間は燃料供給を停止した状態が継続する構成になっている。
【００４５】
まず、図４に示すように、ＣＰＵ２は、ステップＳ２において、初期化処理を行う。初期化処理の具体的な内容は、クランキングフラグを０に設定し、クランキング回数ｎを０に設定し、今回の加重平均ピーク値及び学習用出力値Ｉｐａｖｍａｘをリセットする。そして、ステップＳ４に進み、酸素センサ２０の出力値Ｉｐｒを取得する。なお、酸素センサ２０については、別途のプログラムを通じて駆動が開始されることによって、酸素イオン伝導性を発揮する状態に活性化され、また、センサ制御回路３２を通じて出力値Ｉｐｒを出力するように駆動されている。次いで、ステップＳ６に進み、クランキング動作中（詳細には、燃料供給が停止された状態下でのクランキング動作中）であるか否かを判定する。ステップＳ６では、エンジン駆動がない状態でセルモータが駆動しているか否かで、クランキング動作の有無を判断することができる。
【００４６】
ステップＳ６において、クランキング動作中である（Ｙｅｓ）と判定された場合は、ステップＳ８に進み、クランキングフラグを１に設定する。そして、ステップＳ１０に進み、出力値Ｉｐｒの加重平均処理を行って加重平均値Ｉｐｒａｖを算出する。この加重平均処理は、例えば、下記式（１）に基づいて行われる。
Ｉｐｒａｖ＝１／１２８×｛最新のＩｐｒ−Ｉｐｒａｖ（ｎ−１）｝＋Ｉｐｒａｖ（ｎ−１） ・・・（１）
上記式（１）のＩｒａｖ（ｎ−１）は、１つ前（直前）の処理で算出された加重平均値に該当する。なお、この大気学習用のプログラムの開始直後はＩｐｒａｖ（ｎ−１）が存在しないため、最初に得られるＩｐｒをＩｐｒａｖ（ｎ−１）に代入して加重平均値Ｉｐｒａｖを求めるようにしている。
【００４７】
次に、ステップＳ１２に進み、加重平均ピーク値があるか否かを判定する。加重平均ピーク値がない（Ｎｏ）と判定された場合はステップＳ１６に進み、今回の加重平均値Ｉｐｒａｖ（ステップＳ１０の処理で算出された加重平均値Ｉｐｒａｖ）を加重平均ピーク値に設定し、その後、後述するステップＳ１８に進む。一方、ステップＳ１２にて、加重平均ピーク値がある（Ｙｅｓ）と判定された場合は、ステップＳ１４に進み、現在の加重平均ピーク値が、今回の加重平均値よりも大きいか否かを判定する。ステップＳ１４において、現在の加重平均ピーク値が今回の加重平均値よりも大きい（Ｙｅｓ）と判定した場合は、ステップＳ１８に進む。
【００４８】
一方、ステップＳ１４において、現在の加重平均ピーク値が今回の加重平均値よりも大きくない（Ｎｏ）と判定した場合は、ステップＳ１６に進み、今回の加重平均値Ｉｐｒａｖを加重平均ピーク値に更新し、その後、ステップＳ１８に進む。ステップＳ１８では、所定の経過時間（１ｍｓｅｃ）の経過を待ち、ステップＳ４の処理に戻る。
【００４９】
一方、ステップＳ６において、クランキング動作中ではない（Ｎｏ）と判定された場合は、ステップＳ２０に進み、クランキングフラグが１に設定されているか否かを判定する。ステップＳ２０においてクランキングフラグが１に設定されている（Ｙｅｓ）と判定された場合、ステップＳ２２に進み、クランキングフラグを０に設定する。その後、ステップＳ２４に進んで、学習用出力値Ｉｐａｖｍａｘがあるか否かを判定する。初回のクランキング動作が完了し、初めてステップＳ２０にて肯定（Ｙｅｓ）の判定がなされた場合には、学習用出力値Ｉｐａｖｍａｘは存在しない（保持されていない）ため、ステップＳ２
４にて否定（Ｎｏ）の判定がされ、ステップＳ２８に進む。ステップＳ２８では、学習用出力値Ｉｐａｖｍａｘとして、今回のクランキング動作時に得られた加重平均ピーク値を設定（保持）し、後述するステップＳ３０に進む。一方、ステップＳ２４にて学習用出力値Ｉｐａｖｍａｘがある（Ｙｅｓ）と判定された場合は、ステップＳ２６に進んで、現在の学習用出力値Ｉｐａｖｍａｘが、今回のクランキング動作時に得られた加重平均ピーク値（学習候補値に相当）よりも大きいか否かを判定する。
【００５０】
ステップＳ２６において、現在の学習用出力値Ｉｐａｖｍａｘが今回の加重平均ピーク値よりも大きい（Ｙｅｓ）と判定された場合には、ステップＳ３０に進む。また、ステップＳ２６において、現在の学習用出力値Ｉｐａｖｍａｘが今回の加重平均ピーク値よりも大きくない（Ｎｏ）と判定された場合には、ステップＳ２８に進み、学習用出力値Ｉｐａｖｍａｘを、今回のクランキング動作時に得られた加重平均ピーク値に更新し（換言すれば、新規な学習候補値に持ち替え）、ステップＳ３０に進む。ステップＳ３０では、クランキング回数ｎをインクリメントする。なお、ステップＳ２０においてクランキングフラグが１に設定されていると判定される場合は、直前までクランキング動作が行われていたことを示すことになる。
【００５１】
ステップＳ３０の処理が完了すると、ステップＳ３２に進み、クランキング回数ｎが３回であるか否かを判定する。ステップＳ３２において、クランキング回数ｎが３回である（Ｙｅｓ）と判定されると、ステップＳ３４に移行する。一方、ステップＳ２０において、クランキングフラグが１に設定されていない（Ｎｏ）と判定された場合、または、ステップＳ３２において、クランキング回数ｎが３回に到達していない（Ｎｏ）と判定された場合には、ステップＳ１８に進む。
【００５２】
次に、ステップＳ３４では、酸素センサ２０の大気学習を実行する。具体的には、補正係数Ｋｐを算出するために、（基準酸素センサの大気相当の出力値Ｉｐｓｏ）／（学習用出力値Ｉｐａｖｍａｘ）の演算式に基づき、補正係数Ｋｐを算出する。そして、ステップＳ３６に進み、ステップＳ３４にて算出された補正係数Ｋｐを排気管１２０に装着された酸素センサ２０に適合した補正係数Ｋｐであるとして、不揮発メモリ８に記憶させる。このステップＳ３６が完了することで、大気学習処理を終了する。そして、ＥＣＵ１００は、補正係数Ｋｐが設定されると、外部装置に対して補正係数Ｋｐが設定された旨を報せる報知信号を送信する等の処理を適宜実行し、それにより、作業者は、大気学習処理（補正係数Ｋｐの設定）が完了したことを知ることができる。
【００５３】
以上に説明した本実施例１の酸素センサ２０の大気学習方法を実施することで、酸素センサの交換時であっても、一定時間にわたる予め定められた運転条件下でのエンジン１００の駆動を通じて、排気管１２０内の雰囲気を略一律に揃えられるので、燃料供給を停止した状態下でのクランキング動作のもとでの酸素センサ２０の大気学習の信頼性をより高められる。
【００５４】
（実施例２）
次に、本発明の実施例２について説明する。本実施例２の酸素センサの大気学習方法は、実施例１と比較して、不揮発メモリ８に記憶されている大気学習用のプログラムのフローチャートが異なるのみで、その他については同様である。従って、ここでは、実施例１と異なる点を中心に説明し、実施例１と同様な点については説明を省略または簡略化する。なお、本実施例２においても、エンジン１００の出荷前と酸素センサ２０の交換時にＣＰＵ２が実行する大気学習処理を同じプログラム（フローチャート）にて実施するものである。
【００５５】
実施例１では、各回のクランキング動作時に得られる加重平均ピーク値の中で最も大きな値を学習用出力値Ｉｐａｖｍａｘに設定し、この学習用出力値Ｉｐａｖｍａｘを基に補正係数Ｋｐを算出するようにしたが、本実施例２では、燃料供給を停止した状態下での複数回のクランキング動作のうち、最終回のクランキング動作時にのみ酸素センサ２０の出力値の加重平均処理を行い、最終回のクランキング動作時に得られる加重平均値のピーク値、即ち加重平均ピーク値を学習用出力値Ｉｐａｖｍａｘに設定し、この学習用出力値Ｉｐａｖｍａｘを基に補正係数Ｋｐを算出するようにしている。図５に、ＲＯＭ３に記憶された本実施例２の大気学習用のプログラム（大気学習処理）のフローチャートを示す。
【００５６】
図５に示すフローチャートでは、図４のフローチャートのステップＳ８とステップＳ１０との間に、ステップＳ９として、クランキング回数ｎが２回であるか否かを判定する処理を追加している。このステップＳ９において、クランキング回数ｎが２回以上である（Ｙｅｓ）と判定された場合には、最終回（即ち、３回目）のクランキング動作時の酸素センサ２０の出力値Ｉｐｒの加重平均ピーク値を算出するためにステップＳ１０以降の処理に進む。一方、ステップＳ９において、クランキング回数ｎが２回に到達していない（Ｎｏ）と判定された場合には、最終回のクランキング動作を迎えていないため、加重平均ピーク値の算出は不要のため、ステップＳ１２〜Ｓ１６の処理をスキップしてステップＳ１８に進むようにしている。
【００５７】
また、図５に示す本実施例２のフローチャートでは、図４のフローチャートにおけるステップＳ２４，Ｓ２６，Ｓ２８の処理が削除され、ステップＳ２２の処理が終了すると、ステップＳ３０に進んで、クランキング回数ｎをインクリメントする処理を行うようにしている。そして、ステップＳ３２にてクランキング回数ｎが３回である（Ｙｅｓ）と判定された場合に、ステップＳ３３の処理を経た後、ステップＳ３４の補正係数Ｋｐ算出処理に進むようにしている。ステップＳ３３では、学習用出力値Ｉｐａｖｍａｘとして、今回（最終回）のクランキング動作時に得られた酸素センサの出力値Ｉｐｒの加重平均ピーク値を設定する処理を行っている。本実施例２では、このようにしてステップＳ３４にて補正係数Ｋｐを算出するようにしている。なお、図５のフローチャートでは、ステップＳ２〜Ｓ８，Ｓ１０〜Ｓ２２，Ｓ３０，Ｓ３２，Ｓ３４，Ｓ３６の各処理は、上記の実施例１にて説明した処理と同様であるため、説明は省略する。
【００５８】
本実施例２でも燃料供給を停止した状態でのエンジン１００のクランキング動作を通じて、精度の良い酸素センサ２０の大気学習を実現することができる。また、この実施例２においても、上記の実施例１と同様に、酸素センサ２０の交換時には、クランキング動作に基づく大気学習（補正係数Ｋｐの算出）に先立ち、新品の酸素センサ２０を排気管１２０に装着し、エンジン１００を一定時間にわたって予め定められた運転条件下で駆動させる（例えば、２０分間にわたりアイドリング運転する）前工程を行うことを必須にしている。これにより、実施例２の酸素センサ２０の大気学習方法を実施することで、酸素センサの交換時であっても、酸素センサ２０の大気学習の信頼性をより高められる。
【００５９】
（実施例３）
次に、本発明の実施例３について説明する。本実施例３の酸素センサの大気学習方法は、エンジン１００の出荷前は、上記実施例１にて説明した図４に示す大気学習用プログラムを実行し、酸素センサ２０の交換時には、ＲＯＭ３において、図４に示すフローチャートとは異なるプログラムとして記憶された大気学習プログラム（大気学習処理）を実行するものである。なお、本実施例３では、ＥＣＵ１０に対して大気学習実行信号を作業者が外部装置から入力することで図４に示す大気学習用プログラムを呼び出してＣＰＵ２が当該プログラムに沿った処理を実行する一方、酸素センサ２０の交換時には、大気学習実行信号とは大きさないし波形挙動を異ならせた交換時学習実行信号をＥＣＵ１０に対して作業者が入力することで、図６に示す大気学習用プログラムが呼び出されるようになっている。なお、本実施例３では、大気学習実行信号及び交換時学習実行信号がＥＣＵ１０に入力されることにより、エンジンへの燃料供給が停止（具体的には、燃料を噴射するインジェクタの駆動が停止）されるようにＥＣＵ１０内のプログラムが別途に構成されている。また、この図６に示す大気学習用プログラム（大気学習処理）のフローチャートは所定の周期（例えば、１ｍｓｅｃ毎）に繰り返し実行され、酸素センサ２０の大気学習が終了するまで継続する。
【００６０】
酸素センサ２０の交換時に用いられる大気学習用プログラムを図６に示すが、この図６は、基本的に上記実施例１の図４に示すフローチャートに、ステップＳ１３１を導入した以外は、図４のステップＳ２〜Ｓ３６の処理と同じ処理を実行するものである。そのため、図６のフローチャートにおけるステップＳ２〜Ｓ３６の説明については、省略または簡略化する。
【００６１】
図６に示すフローチャートでは、ステップＳ３４の前にステップＳ１３３という処理を設けている。このステップＳ１３３は、ステップＳ３２にてクランキング回数ｎが３回に達している（Ｙｅｓ）と判定された場合に実行される処理であり、具体的には、ステップＳ２８にて設定された現在（最新）の学習用出力値Ｉｐａｖｍａｘに一定値ｂを加算して、学習用出力値Ｉｐａｖｍａｘを補正する。そして、ステップＳ３４に進み、基準酸素センサの大気相当の出力値Ｉｐｓｏを補正された学習用出力値Ｉｐａｖｍａｘで除することで補正係数Ｋｐを算出する。本実施例３では、このようにして補正係数Ｋｐの算出するようにしている。
【００６２】
このように本実施例３では、学習用出力値Ｉｐａｖｍａｘに一定値ｂを加算することで、学習用出力値Ｉｐａｖｍａｘを補正している訳だが、この理由は以下の通りである。本実施例３においても、上記の実施例１と同様に、酸素センサ２０の交換時には、クランキング動作に基づく大気学習（補正係数Ｋｐの算出）に先立ち、新品の酸素センサ２０を排気管１２０に装着し、エンジン１００を一定時間にわたって予め定められた運転条件下で駆動させる（例えば、２０分間にわたりアイドリング運転する）前工程を行うことを必須にしている。ただし、排気通路のレイアウトや酸素センサの装着位置、あるいは、前工程の実行によって排気管１２０内に残留する燃料残留量の程度などに起因して、この前工程を実施後に燃料供給を停止した状態でクランキング動作を行っても酸素センサ２０の周囲の雰囲気が大気相当の酸素濃度にまで達しないことがある。
【００６３】
そこで、本実施例３では、前工程のエンジン１００の駆動の条件と、その後の燃料供給を停止した状態におけるエンジン１００のクランキング動作を行ったときの酸素センサ２０周囲の酸素濃度との関係を予め対象となるエンジン１００に関して実験的に求めておき、その関係を基にして決定した一定値ｂを学習用出力値Ｉｐａｖｍａｘに加算するようにしている。そして、一定値ｂを加えて学習用出力値Ｉｐａｖｍａｘを補正する（シフトさせる）ことにより、前工程後に行うクランキング動作時に酸素センサ２０の周囲の雰囲気が大気相当の酸素濃度にまで達しなくても、大気相当の酸素濃度にほぼ相当する学習用出力値Ｉｐａｖｍａｘを設定することができ、ひいては、精度の良い大気学習を行うことが可能となる。
【００６４】
（変形例１）
次に、本発明の変形例１について説明する。本変形例１は、実施例３における酸素センサ２０の交換時に実行される図６に示す大気学習処理のフローチャートのＳ１３３の処理内容を変更するものである。実施例３では、ステップＳ１３３において、ステップＳ２８にて設定された現在（最新）の学習用出力値Ｉｐａｖｍａｘに一定値ｂを加算して、学習用出力値Ｉｐａｖｍａｘを補正する処理を行った。これに対し、本変形形態１では、ステップＳ１３３の処理として、ステップＳ２８にて設定された現在（最新）の学習用出力値Ｉｐａｖｍａｘに、当該学習用出力値Ｉｐａｖｍａｘに占める一定の割合分（例えば、５％）を加算して、学習用出力値Ｉｐａｖｍａｘを補正する処理を行うようにしている。
【００６５】
なお、本変形例１でも、前工程のエンジン１００の駆動の条件と、その後の燃料供給を停止した状態におけるエンジン１００のクランキング動作を行ったときの酸素センサ２０周囲の酸素濃度との関係を予め対象となるエンジン１００に関して実験的に求めておき、その関係を基にして学習用出力値Ｉｐａｖｍａｘに占める一定の割合の値を決定するようにしている。このようにして、学習用出力値Ｉｐａｖｍａｘに占める一定の割合分を、学習用出力値Ｉｐａｖｍａｘに加えて補正する（シフトさせる）ことにより、前工程後に行うクランキング動作時に酸素センサ２０の周囲の雰囲気が大気相当の酸素濃度にまで達しなくても、大気相当の酸素濃度にほぼ相当する学習用出力値Ｉｐａｖｍａｘを設定することができ、ひいては、精度の良い大気学習を行うことが可能となる。
【００６６】
（変形例２）
本発明の変形例２について説明する。上記実施例１では、ＥＣＵ１０に対して外部機器から大気学習実行信号が作業者の操作によって入力されると、ＣＰＵ２はＲＯＭ３に設定された別のプログラムを起動させ、燃料供給を停止（具体的には、燃料を噴射するインジェクタの駆動を強制停止）し、その上で１０秒間のクランキング動作を各回５秒の間隔を置いて３回実行する処理を開始するように構成されていた。これに対し、本変形例２では、ＥＣＵ１０に対して外部機器から大気学習実行信号を入力せず、車両に搭乗した作業者の操作状態によって、ＥＣＵ１０が燃料供給を停止（具体的には、燃料を噴射するインジェクタの駆動を強制停止）し、その上で１０秒間のクランキング動作を３回実行する処理を開始するように構成されている。
【００６７】
具体的に、変形例２には、エンジン１００の出荷前、及び、酸素センサ２０の交換時にＣＰＵ２が図７に示すＲＯＭ３に予め記憶された大気学習開始認識処理を実行し、この大気学習開始認識処理にて燃料供給を停止して大気学習開始との認識がなされると、図４に示す大気学習処理のプログラムが発動されるようになっている。この図７に示すフローチャートは、車両に搭乗した作業者がキーオンすることでＣＰＵ２がその処理を開始する。
【００６８】
まず、図７に示すように、ＣＰＵ２は、ステップＳ５１において、車両に搭乗した作業者により操作可能な２つの車両構成部品に対する当該作業者による操作状態の組み合わせが、特定の組み合わせにあるか否かを判定する。本変形例２では、車両構成部品の対象としてアクセルペダルとブレーキペダルの２つの構成部品を設定しており、アクセルペダルとブレーキペダルとが一緒に踏み込まれた状態が、特定の組み合わせが成立された状態として設定されている。つまり、ステップＳ５１では、アクセルペダルとブレーキペダルとが一緒に踏み込まれているか否かを判定し、両ペダルが共に踏み込まれていると判定された場合に、２つの車両構成部品の操作状態の組み合わせが特定の組み合わせにあると判定するようにしている。
【００６９】
ステップＳ５１において、２つの車両構成部品の操作状態の組み合わせが特定の組み合わせにある（Ｙｅｓ）と判定された場合は、ステップＳ５２に進み、その特定の組み合わせが一定時間（例えば、１０秒間）継続しているかを判定する。一方、ステップＳ５１において、２つの車両構成部品の操作状態の組み合わせが特定の組み合わせにない（Ｎｏ）と判定された場合はステップＳ５３に進み、ステップＳ５２にて一定時間の経過をモニタするタイマーのリセット処理を行って、その後、ステップＳ５１の判定処理に戻る。
【００７０】
ステップＳ５２にて、特定の組み合わせが一定時間継続した（Ｙｅｓ）と判定された場合には、ステップＳ５４に進む。一方、ステップＳ５２にて、特定の組み合わせが一定時間継続していない（Ｎｏ）と判定された場合には、ステップＳ５１の判定処理に戻る。そして、ステップＳ５４に進むと、燃料供給を停止する処理を行い、次いでステップＳ５４に進んで図４に示す大気学習処理のプログラムを開始する処理（換言すれば、大気学習処理のプログラムを発動させる信号を出力する処理）を行う。ステップＳ５４の処理が完了すると、大気学習開始認識処理を終了する。そして、ステップＳ５４の処理を受けて、上述した図４に示す大気学習処理のプログラムが別途に実行されることになる。このようにして、本変形例２では酸素センサの大気学習を行うようにしている。
【００７１】
以上において、本発明を実施例１〜３，変形例１，２に即して説明したが、本発明は上記実施例に限定されるものではなく、その要旨を逸脱しない範囲で、適宜変更して適用できることはいうまでもない。
例えば、酸素センサ２０は、２セル式の広域空燃比センサに限らず、１セル式の限界電流式の空燃比センサを用いることができる。
【００７２】
さらに、燃料供給を停止した状態下でのクランキング動作による酸素センサ２０の大気学習の前工程として、一定時間にわたる予め定められた運転条件下にてエンジン駆動する条件は、２０分間にわたるアイドリング運転に限定されず、例えば、１５分間にわたってエンジン回転数が１０００ｒｐｍ〜２０００ｒｐｍの範囲内となるようにエンジン駆動する条件等を設定しても良い。この前工程は、酸素センサ２０の大気学習前の排気管１２０内の雰囲気が一律に揃うような条件であれば特に限定されない。また、上記変形例２では、車両構成部品の対象としてアクセルペダルとブレーキペダルの２つの構成部品を設定したが、車両構成部品はこれらに限定されず、また、構成部品の数も３つ以上に設定し、適宜の操作状態の組み合わせを特定の組み合わせとして設定するようにしてもよい。
【符号の説明】
【００７３】
２ ＣＰＵ
３ ＲＯＭ
８ 不揮発メモリ
１０ エンジンコントロールユニット（ＥＣＵ）
２０ 酸素センサ
３２ センサ制御回路
１００ エンジン
１２０ 排気管（排気通路）
【図１】
0005417601.tif 000002
【図２】
0005417601.tif 000003
【図３】
0005417601.tif 000004
【図４】
0005417601.tif 000005
【図５】
0005417601.tif 000006
【図６】
0005417601.tif 000007
【図７】
0005417601.tif 000008