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