(57)【要約】【課題】素子抵抗値の検出時期やＰＷＭ制御のオン・オフ切り換え時期を変更することなくノイズの影響を軽減した素子抵抗値を取得し、素子抵抗値に基づくヒータへの通電を制御することができるガスセンサのヒータ制御装置を提供する。【解決手段】ＣＰＵは前回求めたＲｐｖｓ平均値（初回はＲｐｖｓ取得値）に所定の値を加算および減算して上限値と下限値を求め、ウインドウＷ１を設定する。１回のＰＷＭ制御周期の間に、ＣＰＵは複数回のＲｐｖｓ［Ｐ２］〜［Ｐ１１］を取得し、ウインドウＷ１内（下限値以上上限値以下）に収まらないＲｐｖｓ［Ｐ５］、［Ｐ６］、［Ｐ９］を除外してＲｐｖｓ平均値Ａ１を求める。ＣＰＵはＲｐｖｓ平均値Ａ１に所定の値を加算および減算して上限値と下限値を求め、次回のウインドウＷ２を設定する。【選択図】図３
2015064208.tif 000002
【特許請求の範囲】
【請求項１】
固体電解質体および前記固体電解質体に設けられた一対の電極を有する少なくとも一つ以上のセルを備えるガス検出素子と、通電によって発熱し、前記ガス検出素子を加熱して活性化させるヒータとを備えるガスセンサの前記ヒータへの通電を制御するガスセンサのヒータ制御装置であって、
前記ガス検出素子の素子抵抗値を検出する検出手段と、
前記検出手段が検出した複数回分の前記素子抵抗値のうち、所定条件を満たす前記素子抵抗値を抽出する抽出手段と、
前記抽出手段が抽出した前記素子抵抗値の平均値を演算する演算手段と、
前記演算手段が演算した前記平均値に基づいてデューティ比を設定し、前記ヒータへの通電を周期的にオン・オフするヒータ制御手段と、
を備え、
前記検出手段は前記ヒータ制御手段による前記ヒータへの１回の通電周期内に少なくとも４つ以上の素子抵抗値を検出し、
前記演算手段は前記ヒータ制御手段による前記ヒータへの１回の通電周期ごとに１回の前記平均値の演算を行うものであり、
前記所定条件を満たす前記素子抵抗値は、今回の前記通電周期において検出される素子抵抗値のうちで、
前記演算手段が前回の前記通電周期において演算した前記平均値を基準とする所定の大きさの範囲に含まれる値を有する前記素子抵抗値、
または、
前記演算手段が前回の前記通電周期において演算した前記平均値との差分が大きい順に２つの値を除外した素子抵抗値であること
を特徴とするガスセンサのヒータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ガスセンサのガス検出素子を活性化するヒータへの通電を制御するためのヒータ制御装置に関する。
【背景技術】
【０００２】
固体電解質体および一対の電極からなるセルを少なくとも１つ以上備えるガス検出素子を有し、酸素等の特定ガスの濃度を検出するガスセンサが知られている。ガス検出素子は温度が上昇すると活性化し、固体電解質体が酸素イオン導電性を良好に発揮することにより特定ガスの濃度検出を可能とする。ガス検出素子は、内燃機関から排出される排気ガスの熱によって加熱される。その一方で、ガス検出素子の早期活性化と、素子温度を一定に保つことによる動作の安定性を確保するため、ガスセンサはヒータを備える。ガスセンサの制御装置はヒータの通電制御を、通常、ＰＷＭ制御によって行う。
【０００３】
ガスセンサの制御装置は、ガス検出素子による特定ガスの濃度検出を行いながら、ガス検出素子の抵抗値（インピーダンス）を検出することによって、ガス検出素子の温度を検出する。制御装置は、素子温度の検出結果に基づいてＰＷＭ制御におけるデューティ比を算出し、ヒータの通電制御を行うことで、ガス検出素子の温度を一定に保つ。ここで、ＰＷＭ制御によるヒータへの通電のオン・オフ切り換えと素子抵抗値の検出時期（検出期間）とが重なると、素子抵抗値の検出結果にノイズが重畳する可能性がある。このため、ＰＷＭ制御におけるオン・オフ切り換え時期と、素子抵抗値の検出時期とが重複しないように制御することができる制御装置が知られている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４２４１７３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、素子抵抗値の検出時期と、ＰＷＭ制御のオン・オフ切り換え時期とが重なる場合に、素子抵抗値の検出時期をずらす処理を行ったり、ＰＷＭ制御の周期をずらす処理を行ったりしている。素子抵抗値の検出時期をずらした場合、制御装置は、素子抵抗値を検出する過程で行う様々な処理を一定の周期で一定の時期に行うことができなくなる。制御装置は、処理時期の変更に合わせた調整を様々な処理間で行う必要が生ずるので、制御内容が複雑化するという問題がある。また、ＰＷＭ制御の周期をずらした場合、制御装置は、素子温度を一定に保つためにデューティ比を再計算する必要が生ずるので、制御内容が複雑化するという問題がある。
【０００６】
本発明は、上記問題点を解決するためになされたものであり、素子抵抗値の検出時期やＰＷＭ制御のオン・オフ切り換え時期を変更することなくノイズの影響を軽減した素子抵抗値を取得し、素子抵抗値に基づくヒータへの通電を制御することができるガスセンサのヒータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様によれば、固体電解質体および前記固体電解質体に設けられた一対の電極を有する少なくとも一つ以上のセルを備えるガス検出素子と、通電によって発熱し、前記ガス検出素子を加熱して活性化させるヒータとを備えるガスセンサの前記ヒータへの通電を制御するガスセンサのヒータ制御装置であって、前記ガス検出素子の素子抵抗値を検出する検出手段と、前記検出手段が検出した複数回分の前記素子抵抗値のうち、所定条件を満たす前記素子抵抗値を抽出する抽出手段と、前記抽出手段が抽出した前記素子抵抗値の平均値を演算する演算手段と、前記演算手段が演算した前記平均値に基づいてデューティ比を設定し、前記ヒータへの通電を周期的にオン・オフするヒータ制御手段と、を備え、前記検出手段は前記ヒータ制御手段による前記ヒータへの１回の通電周期内に少なくとも４つ以上の素子抵抗値を検出し、前記演算手段は前記ヒータ制御手段による前記ヒータへの１回の通電周期ごとに１回の前記平均値の演算を行うものであり、前記所定条件を満たす前記素子抵抗値は、今回の前記通電周期において検出される素子抵抗値のうちで、前記演算手段が前回の前記通電周期において演算した前記平均値を基準とする所定の大きさの範囲に含まれる値を有する前記素子抵抗値、または、前記演算手段が前回の前記通電周期において演算した前記平均値との差分が大きい順に２つの値を除外した素子抵抗値であることを特徴とするガスセンサのヒータ制御装置が提供される。
【０００８】
本態様に係るガスセンサのヒータ制御装置は、ノイズ等の影響を受けた可能性のある素子抵抗値を除外して、ヒータへの通電制御に用いる素子抵抗値の平均値を求めることができる。ノイズ等は、ヒータへの通電をオン・オフするときに生じやすいが、ヒータ制御装置は、ノイズの影響を受けた素子抵抗値を取得しても精確な平均値を求めることができる。ゆえにヒータ制御装置は、ヒータへの通電をオン・オフするタイミングを避けて素子抵抗値を取得する制御を行わなくともよく、処理の簡易化を図ることができる。また、ヒータ制御装置は、ヒータへの通電オン・オフのタイミングを検出する必要がないので、素子抵抗値の取得を常時行うことができる。
【０００９】
また、本態様では、平均値を基準とする所定の大きさ範囲に含まれる値を有する素子抵抗値を除外したり、平均値との差分が大きい順に２つの値を有する素子抵抗値を除外したりすることで、上記いずれの場合においてもノイズ等の影響を受けた可能性のある素子抵抗値を容易に除外でき、素子抵抗値の平均値を精確に求めることができる。そして、精度の良い素子抵抗値の平均値を用いてヒータの通電を制御することにより、ガス検出素子を適切な温度で加熱することができ、ひいては特定ガスの濃度を精度良く検出することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】ヒータ４０を備える全領域空燃比センサ１０とＥＣＵ１００の電気的な構成を示すブロック図である。
【図２】Ｒｐｖｓ演算処理（ウインドウ方式）のフローチャートである。
【図３】Ｒｐｖｓ演算処理（ウインドウ方式）について説明するためのタイミングチャートである。
【図４】Ｒｐｖｓ演算処理（偏差方式）のフローチャートである。
【図５】Ｒｐｖｓ演算処理（偏差方式）について説明するためのタイミングチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明を具体化したガスセンサのヒータ制御装置の一実施の形態について、図面を参照して説明する。第一実施形態では、ガスセンサの一例として全領域空燃比センサ１０を挙げ、ヒータ制御装置の一例として、自動車の電子制御装置（ＥＣＵ）１００を挙げる。図１を参照し、全領域空燃比センサ１０およびＥＣＵ１００の構成について説明する。なお、全領域空燃比センサ１０については公知のものを使用しているため、その構造等の詳細については説明を省略し、概略的な構成について以下に説明する。
【００１２】
図１に示す全領域空燃比センサ１０は、自動車のエンジンの排気通路（図示外）に取り付けられ、排気通路を流通する排気ガス中の酸素濃度をもとに、排気ガスの空燃比を検出するセンサである。全領域空燃比センサ１０は、図示外のハウジング内に、細幅で長尺な板形状のセンサ素子２０を保持した構造を有する。全領域空燃比センサ１０は、センサ素子２０に通電するための複数のリード線５を外部に引き出し、離れた位置に配置されるＥＣＵ１００と電気的に接続する。ＥＣＵ１００は、マイクロコンピュータ６０を備え、特定用途向け集積回路（ＡＳＩＣ）７０とヒータ制御回路５０が組み込まれている。ＥＣＵ１００は、ＡＳＩＣ７０およびヒータ制御回路５０を用いて全領域空燃比センサ１０への通電を制御し、全領域空燃比センサ１０から得られる出力に基づき、エンジンの空燃比フィードバック制御を行う。
【００１３】
センサ素子２０の構造について説明する。センサ素子２０は、排気ガス中の酸素濃度を検出するためのガス検出素子３０と、ガス検出素子３０を加熱するためのヒータ４０を一体に構成したものである。ガス検出素子３０は、ジルコニアを主体とする固体電解質体３１，３３と、アルミナを主体とする絶縁基体３２とを備える。固体電解質体３１，３３および絶縁基体３２は、いずれも細幅で長尺な板形状を有する。ガス検出素子３０は、固体電解質体３３、絶縁基体３２、固体電解質体３１を、その順に、厚み方向に積層した構造を有する。なお、図１は、固体電解質体３１，３３および絶縁基体３２の長手方向と直交する断面を図示したものである。固体電解質体３１は、両面に、白金を主体とする一対の電極２１，２２がそれぞれ形成されている。電極２１の表面は、セラミックスからなる多孔質性の保護層２３に覆われている。保護層２３は、排気ガスに含まれるシリコン等の被毒成分から電極２１を保護する。固体電解質体３３は、両面に、一対の電極２４，２５がそれぞれ形成されている。電極２５は、固体電解質体３３と絶縁層４１（後述）との間に挟まれている。
【００１４】
絶縁基体３２は、長手方向の一端側に、固体電解質体３１，３３を厚み方向の両側面とする中空状のガス検出室２７を備える。ガス検出室２７は、幅方向の両端に、多孔質状の拡散律速部２６を備え、ガス検出室２７内に排気ガスを導入可能に構成する。拡散律速部２６は、ガス検出室２７内に排気ガスを導入する際の流入量を制限する。固体電解質体３１上の電極２２と、固体電解質体３３上の電極２４は、それぞれガス検出室２７内に露出する。
【００１５】
ヒータ４０は、アルミナを主体とし、固体電解質体と同様の細幅で長尺な板形状を有する２枚の絶縁層４１，４２を備え、厚み方向に積層する。絶縁層４１，４２は、間に、白金を主体とする発熱抵抗体４３を配置する。固体電解質体はジルコニアからなり、常温では絶縁性を示すが、高温環境下では活性化して酸素イオン導電性を示すことが知られている。ヒータ４０は、固体電解質体３１，３３を加熱して活性化させ、活性化後には、酸素イオン導電性の安定性を図るために設けられる。ヒータ４０は、絶縁層４１をガス検出素子３０の固体電解質体３３の外層側に配設し、ガス検出素子３０と一体にセンサ素子２０を構成する。
【００１６】
このような構造を有するセンサ素子２０において、固体電解質体３１およびその両面に設けられた一対の電極２１，２２は、外部からガス検出室２７内に酸素を汲み入れ、あるいはガス検出室２７から外部へ酸素を汲み出す酸素ポンプセルとして機能する。以下では、固体電解質体３１および電極２１，２２からなる酸素ポンプセルを総じてＩｐセル３７とよぶ。また、固体電解質体３３およびその両面に設けられた一対の電極２４，２５は、両電極間の酸素濃度に応じて起電力を発生させる酸素濃度検出セルとして機能する。電極２５は、一対の電極２４，２５に微小な定電流Ｉｃｐが供給されることにより、基準酸素源を生成する。つまり、電極２５は、酸素濃度検出セルにおいて酸素濃度を検出する際に基準となる基準酸素濃度雰囲気に晒され、基準電極として振る舞う。以下では、固体電解質体３３および電極２４，２５からなる酸素濃度検出セルを総じてＶｓセル３８とよぶ。Ｉｐセル３７およびＶｓセル３８に設けられた電極のうち、ガス検出室２７に露出した両セルの一方の電極２２，２４は互いに導通し、全領域空燃比センサ１０のＣＯＭポートに接続する。Ｖｓセル３８の他方の電極２５はＶｓ＋ポートに接続し、Ｉｐセル３７の他方の電極２１はＩｐ＋ポートに接続する。
【００１７】
次に、センサ素子２０が接続されるＥＣＵ１００の概略的な構成について説明する。ＥＣＵ１００は、マイクロコンピュータ６０、ＡＳＩＣ７０、およびヒータ制御回路５０を有する。なお、図示しないが、ＥＣＵ１００は、他にもエンジンの制御に関わる様々な回路（装置）を有する。
【００１８】
マイクロコンピュータ６０は、自動車のエンジンの駆動等を電子的に制御するための装置である。マイクロコンピュータ６０は、各種の制御プログラムの実行にしたがい、ＡＳＩＣ７０を含む、自身に接続する各回路（装置）を制御して、燃料の噴射タイミングや点火時期を制御する。マイクロコンピュータ６０は、ＡＳＩＣ７０およびヒータ制御回路５０を介して全領域空燃比センサ１０への電力の供給を制御し、センサ素子２０から排気ガス中の酸素濃度に応じた電流値を電圧信号として得る。さらに、マイクロコンピュータ６０は、エンジンのピストン位置や回転数を検出できるクランク角や、燃焼圧などの情報を他の回路（装置）から取得する。マイクロコンピュータ６０は、公知の構成のＣＰＵ６１、ＲＯＭ６２、およびＲＡＭ６３を搭載する。ＣＰＵ６１は、上記の制御を含む各種制御を実行する。ＲＯＭ６２は、各種制御を行うためのプログラムや初期値等を記憶する。ＲＡＭ６３は、プログラムの実行に使用される各種変数やフラグ、カウンタ等を一時的に記憶する。
【００１９】
ＡＳＩＣ７０は、全領域空燃比センサ１０の駆動制御を行うための回路を集積して１チップ化し、ＥＣＵ１００に容易に組み込めるようにした、特定用途向け集積回路である。ＡＳＩＣ７０は、マイクロコンピュータ６０から入力される信号に応じてガス検出素子３０に電力を供給し、ガス検出素子３０による酸素濃度の検出結果をマイクロコンピュータ６０に出力する。具体的に、ＡＳＩＣ７０は、ガス検出素子３０のＶｓセル３８に微小な定電流Ｉｃｐを流し、電極２５側に酸素イオンを移動させて酸素を溜め込ませ、電極２５を基準電極として機能させる。ＡＳＩＣ７０は、Ｖｓセル３８の一対の電極２４，２５間に生ずる起電力Ｖｓを検出し、あらかじめ定められた基準電圧（例えば４５０ｍＶ）と比較する。ＡＳＩＣ７０は、比較結果に基づき、Ｉｐセル３７の一対の電極２１，２２間に流すポンプ電流Ｉｐの向きや大きさを制御する。Ｉｐセル３７は、ポンプ電流Ｉｐの向きや大きさに応じて、ガス検出室２７への酸素の汲み入れやガス検出室２７からの酸素の汲み出しを行う。さらに、ＡＳＩＣ７０は、温度に応じて変化するガス検出素子３０の抵抗値変化を別途検出し、マイクロコンピュータ６０に出力する。
【００２０】
ヒータ制御回路５０は、ヒータ４０の発熱抵抗体４３の両端に、バッテリからの電圧Ｖｈを印加する。ヒータ制御回路５０は、発熱抵抗体４３への通電をＰＷＭ制御（パルス幅変調制御）するためのスイッチング素子５１を備える。発熱抵抗体４３の両端に印加する電圧Ｖｈの電圧波形のデューティ比は、マイクロコンピュータ６０のＣＰＵ６１が算出する。具体的な算出にあたって、ＣＰＵ６１は、ＡＳＩＣ７０が検出するＶｓセル３８の加熱状態に応じた抵抗値変化をもとに、デューティ比を演算する。ＣＰＵ６１は、デューティ比の演算結果に従い、ヒータ制御回路５０にパルス信号を出力する。ヒータ制御回路５０はＣＰＵ６１が出力するパルス信号に基づいて、デューティ比に応じた電圧波形をなす電圧Ｖｈを発熱抵抗体４３に印加し、Ｉｐセル３７およびＶｓセル３８を加熱する。
【００２１】
ＥＣＵ１００は、さらに、Ａ／Ｄ変換器９８，９９、抵抗器Ｒ１および検出抵抗器Ｒｄを備える。Ａ／Ｄ変換器９８，９９は、それぞれＡＳＩＣ７０のＶｏｕｔポート，Ｖｒｐｖｓポート（後述）に接続し、各ポートから入力されるアナログの出力電圧をデジタル変換してマイクロコンピュータ６０のＣＰＵ６１に出力する。
【００２２】
次に、ＡＳＩＣ７０の電気的な構成について説明する。ＡＳＩＣ７０は、入出力用の複数のポート（Ｖｓ＋，Ｐｏｕｔ，Ｖｃｅｎｔ，ＣＯＭ，Ｉｐ＋，Ｂａｔ，Ｖｏｕｔ，Ｖｒｐｖｓ）を有する。全領域空燃比センサ１０のＶｓ＋ポートおよびＩｐ＋ポートは、それぞれリード線５を介し、ＡＳＩＣ７０のＶｓ＋ポートおよびＩｐ＋ポートに接続する。全領域空燃比センサ１０のＣＯＭポートは、リード線５を介してＥＣＵ１００の抵抗器Ｒ１に接続し、さらに抵抗器Ｒ１と検出抵抗器Ｒｄを介してＡＳＩＣ７０のＶｃｅｎｔポートとＰｏｕｔポートに接続する。
【００２３】
ＡＳＩＣ７０は、ＰＩＤ制御回路７１、基準電圧生成回路７２、第１差動増幅回路７３、Ｉｃｐ供給回路７４、スイッチＳＷ１、−Ｉｃｏｎｓｔ供給回路７５、スイッチＳＷ２、＋Ｉｃｏｎｓｔ供給回路７６、第２差動増幅回路８２、サンプルホールド回路８３、オペアンプＯＰ１、バッファＯＰ２、スイッチＳＷ３、コンデンサＣ１を備える。Ｉｃｐ供給回路７４は、全領域空燃比センサ１０のガス検出素子３０に微小な定電流Ｉｃｐを供給する回路である。−Ｉｃｏｎｓｔ供給回路７５、＋Ｉｃｏｎｓｔ供給回路７６は、それぞれ、Ｖｓセル３８の抵抗値測定用の一定の電流値に設定される定電流−Ｉｃｏｎｓｔと、その逆極性の一定の電流値に設定される定電流＋Ｉｃｏｎｓｔを供給する回路である。Ｉｃｐ供給回路７４、−Ｉｃｏｎｓｔ供給回路７５、＋Ｉｃｏｎｓｔ供給回路７６は、それぞれＶｓ＋ポートに接続する。オペアンプＯＰ１は、ガス検出素子３０のＩｐセル３７にポンプ電流Ｉｐを供給する。オペアンプＯＰ１の出力端子はＩｐ＋ポートに接続する。オペアンプＯＰ１の反転入力（−）端子はＶｃｅｎｔポートに接続し、非反転入力（＋）端子には３．６Ｖの基準電圧が印加される。
【００２４】
ＰＩＤ制御回路７１は、オペアンプＯＰ１がＩｐセル３７に供給するポンプ電流Ｉｐの大きさを制御する。ＰＩＤ制御回路７１の入力側は、バッファＯＰ２を介してＶｓ＋ポートに接続する。詳細に、バッファＯＰ２の非反転入力（＋）端子がスイッチＳＷ３を介してＶｓ＋ポートに接続し、非反転入力（＋）端子とスイッチＳＷ３の間にコンデンサＣ１が接続されている。バッファＯＰ２の出力端子は、バッファＯＰ２の反転入力（−）端子とＰＩＤ制御回路７１の入力側に接続する。また、ＰＩＤ制御回路７１の入力側は、基準電圧生成回路７２に接続する。基準電圧生成回路７２は、ポンプ電流Ｉｐの制御目標となる基準電圧（４５０ｍＶ）を生成する。ＰＩＤ制御回路７１の出力側は、Ｐｏｕｔポートに接続し、さらに検出抵抗器Ｒｄを介してＶｃｅｎｔポート、つまりはオペアンプＯＰ１の反転入力（−）端子に接続する。検出抵抗器Ｒｄは、ポンプ電流Ｉｐの大きさを検出するための抵抗器である。検出抵抗器Ｒｄの両端は、ＰｏｕｔポートとＶｃｅｎｔポートとに接続する。ＰｏｕｔポートとＶｃｅｎｔポートは、それぞれ第１差動増幅回路７３の入力側に接続する。第１差動増幅回路７３は、ポンプ電流Ｉｐが流れることによって検出抵抗器Ｒｄの両端に生ずる電位差Ｖｄを所定の増幅率で増幅する回路であり、オペアンプと抵抗器から構成される公知の回路構成を有する。第１差動増幅回路７３は、増幅した電位差Ｖｄを検出電位Ｖｏｕｔとして、ＶｏｕｔポートからＡ／Ｄ変換器９８を介してマイクロコンピュータ６０に出力する。
【００２５】
バッファＯＰ２の出力端子はさらに分岐し、第２差動増幅回路８２の入力側に接続する。第２差動増幅回路８２の入力側はＶｓ＋ポートに接続し、スイッチＳＷ１を介して上記−Ｉｃｏｎｓｔ供給回路７５に接続されると共に、スイッチＳＷ２を介して＋Ｉｃｏｎｓｔ供給回路７６にも接続する。第２差動増幅回路８２の出力側はサンプルホールド回路８３の入力側に接続する。サンプルホールド回路８３の出力側はＶｒｐｖｓポートに接続し、第２差動増幅回路８２の出力をＡ／Ｄ変換器９９を介してマイクロコンピュータ６０に出力する。後述するが、マイクロコンピュータ６０は、ガス検出素子３０の温度を一定に保つ制御を行うため、Ｖｓセル３８の素子抵抗値（Ｒｐｖｓ）を取得する。Ｒｐｖｓの検出は、Ｖｓセル３８に抵抗値測定用の定電流−Ｉｃｏｎｓｔを流した際のＶｓセル３８の両端の電圧Ｖｓの変化をもとに行われる。第２差動増幅回路８２は、定電流−Ｉｃｏｎｓｔを流す前のＶｓ＋ポートの電位と、定電流−Ｉｃｏｎｓｔを所定時間流した後の電位との電位差ΔＶｓを検出する回路であり、オペアンプと抵抗器から構成される公知の回路構成を有する。サンプルホールド回路８３は、第２差動増幅回路８２の出力する電位差ΔＶｓを保持（ホールド）する公知の回路構成を有する。サンプルホールド回路８３は、次回の電位差ΔＶｓの検出までの間、今回検出した電位差ΔＶｓを保持するように機能し、ＣＰＵ６１による読み取りのタイミングを調整する。
【００２６】
なお、図示しないが、ＡＳＩＣ７０はスイッチＳＷ１〜ＳＷ３以外にも複数のスイッチを備え、各スイッチのオン、オフ制御を行うための制御回路を備える。スイッチの制御回路は、ガス検出素子３０の各種制御モードに応じてスイッチのオン・オフを切り替え、上記した各種回路の駆動・非駆動を制御する。例えば、ガス検出素子３０を活性化する非活性モードでは、ヒータ４０への通電により、ガス検出素子３０が加熱される。このとき、スイッチの制御回路は、Ｉｃｐ供給回路７４の通電をオンに設定し、ＰＩＤ制御回路７１の出力、オペアンプＯＰ１の出力をオフに設定することで、Ｖｓセル３８に定電流Ｉｃｐが流され、基準電極（電極２５）に酸素が溜め込まれる。また、ガス検出素子３０が活性化し、酸素濃度の検出を行う活性モードでは、スイッチの制御回路がＩｃｐ供給回路７４の通電、ＰＩＤ制御回路７１の出力、オペアンプＯＰ１の出力をオンに設定する。Ｖｓセル３８への定電流Ｉｃｐの供給が維持された状態で、ＰＩＤ制御回路７１およびオペアンプＯＰ１から、酸素濃度の検出のための大きな電流をＩｐセル３７に流すことができるようになる。
【００２７】
そして、活性モード中には、定期的に、Ｖｓセル３８の素子抵抗値を取得する検出モードの制御が行われる。検出モードでは、スイッチの制御回路が、所定の短時間スイッチＳＷ１をオンに設定し、−Ｉｃｏｎｓｔ供給回路７５の通電をオンする一方、スイッチＳＷ３をオフに設定し、Ｖｓ＋ポートとバッファＯＰ２の非反転入力（＋）端子との接続をオフする。定電流Ｉｃｐに定電流−Ｉｃｏｎｓｔが重畳されて流され、Ｖｓ＋ポートに生じた電位が第２差動増幅回路８２に入力される。また、スイッチＳＷ３がオフに設定された際のコンデンサＣ１は定電流Ｉｃｐのみが流されていたときのＶｓ＋ポートの電位を保持し、その電位をバッファＯＰ２により第２差動増幅回路８２に入力する。第２差動増幅回路８２は、Ｖｓセル３８に定電流−Ｉｃｏｎｓｔが通電される直前のＶｓ＋ポートの電位と、定電流−Ｉｃｏｎｓｔが通電されたことにより変化したＶｓ＋ポートの電位との電位差ΔＶｓを出力する。電位差ΔＶｓは、サンプルホールド回路８３を介し、さらにＶｒｐｖｓポートからＡ／Ｄ変換器９９を介してマイクロコンピュータ６０に入力される。マイクロコンピュータ６０のＣＰＵ６１は、電位差ΔＶｓに基づき、Ｖｓセル３８の素子抵抗値（Ｒｐｖｓ）を算出する。後述するが、ＣＰＵ６１は、Ｒｐｖｓ演算処理の実行において、Ｒｐｖｓを複数取得し、ヒータ制御回路５０に対するＰＷＭ制御のデューティ比の算出に用いるＲｐｖｓ平均値を求める。
【００２８】
なお、定電流−Ｉｃｏｎｓｔは、所定の短時間、Ｖｓセル３８に流されるが、スイッチの制御回路が定電流−Ｉｃｏｎｓｔ供給回路７５の通電を、スイッチＳＷ１を用いてオフに設定した後、電位差ΔＶｓの出力状態は、サンプルホールド回路８３によって保持される。スイッチの制御回路は、次いで、スイッチＳＷ２をオンに設定して＋Ｉｃｏｎｓｔ供給回路７６をオンにし、Ｖｓセル３８に逆極性の定電流＋Ｉｃｏｎｓｔを流す。これは、固体電解質体の酸素イオン導電性に対する配向現象によって本来の酸素濃度差を反映する内部起電力を出力しない状態からＶｓセル３８を短時間で復帰させるためである。スイッチの制御回路は、電位差ΔＶｓの取得後、スイッチＳＷ１〜ＳＷ３のオン・オフの状態を、もとの活性モードの設定に復帰する。なお、非活性モード中にも検出モードの制御が行われ、Ｒｐｖｓに基づくガス検出素子３０の活性判定が行われる。
【００２９】
次に、全領域空燃比センサ１０を用いて排気ガスの酸素濃度（空燃比）を検出する動作について簡単に説明する。まず、Ｖｓセル３８の一対の電極２４、２５間に発生する電圧（起電力）Ｖｓが、ガス検出室２７内の排気ガスの空燃比を理論空燃比に近づけるための電圧Ｖｓの制御目標電圧として設定される４５０ｍＶと比較され、オペアンプＯＰ１にフィードバックされる。つまり、Ｉｐセル３７に流されるポンプ電流Ｉｐの向きと大きさが、ＰＩＤ制御回路７１およびオペアンプＯＰ１によって制御され、ガス検出室２７内の排気ガスの空燃比が理論空燃比となるように、Ｉｐセル３７による酸素の汲み入れまたは汲み出しが行われる。
【００３０】
具体的に、ガス検出室２７内に流入した排気ガスの空燃比が理論空燃比よりもリッチであった場合、排気ガス中の酸素濃度が薄いため、外部から固体電解質体３１を介してガス検出室２７内に酸素を汲み入れるように、ポンプ電流Ｉｐが通電制御される。一方、ガス検出室２７内に流入した排気ガスの空燃比が理論空燃比よりもリーンであった場合、排気ガス中には多くの酸素が存在するため、ガス検出室２７から外部へ酸素を汲み出すように、ポンプ電流Ｉｐが通電制御される。このときのポンプ電流Ｉｐが検出抵抗器Ｒｄを流れる。第１差動増幅回路７３はポンプ電流Ｉｐ（検出抵抗器Ｒｄの両端の電位差）を電圧変換し、Ａ／Ｄ変換器９８を介し、全領域空燃比センサ１０の出力（検出信号）としてマイクロコンピュータ６０のＣＰＵ６１に出力する。ＣＰＵ６１は、検出信号として得たポンプ電流Ｉｐの大きさと向きから、排気ガス中に含まれる酸素濃度、ひいては排気ガスの空燃比を検出する。
【００３１】
ところで、安定した酸素濃度の検出結果を得るには、固体電解質体３１，３３が活性化温度以上（例えば、７５０℃）となるまでガス検出素子３０を加熱して活性化させ、活性化後もガス検出素子３０の温度を一定に保つ制御を行う必要がある。前述したように、ヒータ制御回路５０は、マイクロコンピュータ６０のＣＰＵ６１が算出したデューティ比に従い、ガス検出素子３０を加熱するヒータ４０の発熱抵抗体４３への通電をＰＷＭ制御で行う。ヒータ４０にはバッテリ電圧が印加されるので、ＰＷＭ制御によるヒータ４０への通電のオン・オフ切り換え時にノイズを生ずる虞がある。また、外来のノイズの影響を受ける虞もある。ノイズが生ずると、ＥＣＵ１００の基準電位が変動する。
【００３２】
Ｖｓセル３８の素子抵抗値（Ｒｐｖｓ）は、上記したように、定電流−Ｉｃｏｎｓｔを所定の短時間流すことでＶｓ＋ポートに生じた電位の変化を第２差動増幅回路８２で検出し、ＣＰＵ６１の取得タイミングに合わせるためサンプルホールド回路８３が保持した上で出力する電位差ΔＶｓに基づいて求められる。このため、Ｒｐｖｓがノイズの影響を受けた場合、Ｒｐｖｓは、ノイズが生じたタイミングによって、本来のノイズを含まないＲｐｖｓよりも高い値になったり低い値になったりする可能性がある。つまり、ヒータ４０の通電オン時のノイズが重畳したＲｐｖｓと、オフ時のノイズが重畳したＲｐｖｓが、共に本来よりも高い値または共に低い値になる場合もあれば、それぞれが高い値と低い値になる場合もある。
【００３３】
例えば、サンプルホールド回路８３が電位差ΔＶｓを保持した時点ではノイズの影響がなく、ＣＰＵ６１に電位差ΔＶｓが出力される際にヒータ４０がオンになって基準電位が高くなった場合、ＣＰＵ６１が取得するＲｐｖｓは、本来よりも低い値になる可能性がある。また、例えば、ヒータ４０への通電がオンになり、そのとき生ずる瞬雑ノイズの影響で電位差ΔＶｓが本来よりも大きい値となり、その値をサンプルホールド回路８３が保持したが、基準電位が影響を受けて高くなる前に電位差ΔＶｓがＣＰＵ６１に出力された場合、ＣＰＵ６１が取得するＲｐｖｓは、本来よりも高い値になる可能性がある。また、例えば、ヒータ４０への通電がオフになり、そのとき生ずる瞬雑ノイズの影響で電位差ΔＶｓが本来よりも大きい値でサンプルホールド回路８３が保持したものの、ＣＰＵ６１に電位差ΔＶｓを出力する際には基準電位に対する影響がなくなり低くなった場合、ＣＰＵ６１が取得するＲｐｖｓは、本来よりも高い値になる可能性がある。もっとも、ノイズが生じたタイミングによっては、基準電位の変動があっても、サンプルホールド回路８３が電位差ΔＶｓを保持したときと、サンプルホールド回路８３がＣＰＵ６１に電位差ΔＶｓを出力するときの基準電位が同じで、差分である電位差ΔＶｓにノイズの影響を及ぼさない場合もある。
【００３４】
そこで、第一実施形態では、ＣＰＵ６１は、Ｒｐｖｓ演算処理を行い、ヒータ４０への１回の通電周期（ＰＷＭ制御周期）の間にＶｓセル３８の素子抵抗値（Ｒｐｖｓ）を複数回取得する。ＣＰＵ６１は、前回求めたＲｐｖｓ平均値に基づいて設定したウインドウ（上限値と下限値で規定する抵抗値の許容範囲）内に収まらず、ノイズが重畳した可能性のあるＲｐｖｓを除外した上で、今回のＲｐｖｓの平均値を算出する。すなわち、ヒータ４０の通電オン時のノイズが重畳したＲｐｖｓと、オフ時のノイズが重畳したＲｐｖｓが、共に本来よりも高い値または共に低い値になった場合でも、あるいはそれぞれが高い値と低い値になった場合でも、ＣＰＵ６１は、ノイズが重畳した可能性のあるＲｐｖｓを除外することができる。このように求めるＲｐｖｓ平均値に基づいて、ＣＰＵ６１は、ＰＷＭ制御のためのデューティ比を算出し、ヒータ制御回路５０に、デューティ比に応じた電圧波形をなす電圧Ｖｈを発熱抵抗体４３に印加させ、ガス検出素子３０の温度を一定に保つ制御を行う。
【００３５】
以下、図２、図３を参照し、第一実施形態のＲｐｖｓ演算処理ついて説明する。なお、Ｒｐｖｓ演算処理のプログラムはＲＯＭ６２に記憶され、ＣＰＵ６１が読み出して実行する。ＣＰＵ６１は、ＲＡＭ６３にワークエリアを設定し、Ｒｐｖｓ、平均値演算用バッファ、積算カウンタ、ウインドウ（上限値および下限値）、Ｒｐｖｓ平均値、ＲｐｖｓタイマーおよびＰＷＭタイマーの記憶領域を確保する。第一実施形態において、ヒータ４０のＰＷＭ制御周期は、例えば１００ｍｓであり、ＣＰＵ６１は、Ｒｐｖｓの取得を、例えば１０ｍｓごとに行うものとする。
【００３６】
Ｒｐｖｓ演算処理のプログラムの初回実行時は、ウインドウが設定されていない。図３に示すように、ＣＰＵ６１は、初回実行時のみ、一度、Ｒｐｖｓ［Ｐ１］を取得し、取得したＲｐｖｓに所定の値を加算および減算して上限値と下限値を求め、ウインドウＷ１を設定する。また、ＣＰＵ６１は、Ｒｐｖｓの取得周期（１０ｍｓ）を計時するＲｐｖｓタイマーと、ヒータ４０のＰＷＭ制御周期（１００ｍｓ）を計時するＰＷＭタイマーをスタートさせる。また、ＣＰＵ６１は、平均値演算用バッファおよび積算カウンタをクリアし、０を記憶する。なお、このときのヒータ４０のＰＷＭ制御におけるデューティ比は０．４であるものとする。
【００３７】
図２に示すように、ＣＰＵ６１は、ＡＳＩＣ７０のサンプルホールド回路８３が保持する電位差ΔＶｓを、Ａ／Ｄ変換器９９を介して読み取り、電位差ΔＶｓに基づいて求められるＲｐｖｓ［Ｐ２］（図３参照）を取得する（Ｓ１１）。電位差ΔＶｓは、定電流Ｉｃｐを流したときのＶｓ＋ポートの電位と、定電流Ｉｃｐに定電流−Ｉｃｏｎｓｔを重畳して流したときのＶｓ＋ポートの電位の差分である。ゆえにＣＰＵ６１は、ΔＶｓ／（−Ｉｃｏｎｓｔ）でＲｐｖｓ［Ｐ２］を算出し、ＲＡＭ６３に記憶する。なお、ＣＰＵ６１は、ＲｐｖｓタイマーがＲｐｖｓの取得周期の経過を計時したときＲｐｖｓを取得し、Ｒｐｖｓタイマーをリスタートする。
【００３８】
ＣＰＵ６１は、取得したＲｐｖｓ［Ｐ２］がウインドウＷ１内の値であるか否か判断する（Ｓ１３）。ウインドウは、後述するＳ２１の処理を行って求めたＲｐｖｓ平均値に、Ｓ２３の処理で、所定の値を加算および減算して上限値と下限値を求めることで設定される。ゆえにＲｐｖｓ演算処理のプログラムの初回実行時、ウインドウは設定されていないので、上記のように、ウインドウは初回に取得したＲｐｖｓ［Ｐ１］（図３参照）に基づいて設定される。Ｒｐｖｓ［Ｐ２］がウインドウＷ１内の値（上限値以下且つ下限値以上の値）であれば（Ｓ１３：ＹＥＳ）、ＣＰＵ６１はＲＡＭ６３に確保した平均値演算用バッファにＲｐｖｓ［Ｐ２］を加算する（Ｓ１５）。また、ＣＰＵ６１は、積算カウンタ（図３参照）を＋１加算（インクリメント）する（Ｓ１７）。
【００３９】
ＣＰＵ６１は、ＰＷＭタイマーの値に基づき、ヒータ４０のＰＷＭ制御周期が経過したか否か判断し（Ｓ１９）、経過していなければ（Ｓ１９：ＮＯ）、処理をＳ１１に戻す。ＣＰＵ６１は、ＰＷＭ制御周期が経過しないうちはＳ１１〜Ｓ１９の処理を繰り返し、上記同様にＲｐｖｓを取得し、ウインドウＷ１内の値であるか否か判断する。図３に示すように、ＰＷＭタイマースタート後２０ｍｓおよび３０ｍｓ経過時に取得したＲｐｖｓ［Ｐ３］および［Ｐ４］は、ウインドウＷ１内の値である。ＣＰＵ６１は平均値演算用バッファにそれぞれを加算し、積算カウンタもそれぞれインクリメントする。
【００４０】
ＰＷＭタイマースタート後４０ｍｓ経過時、ヒータ４０の通電がオフになったタイミングと重なり、取得したＲｐｖｓ［Ｐ５］にノイズが重畳した場合、Ｒｐｖｓ［Ｐ５］はウインドウＷ１内に収まらない。図２に示すように、Ｒｐｖｓ［Ｐ５］がウインドウＷ１内の値でない場合（Ｓ１３：ＮＯ）、ＣＰＵ６１はＳ１９に処理を進める。ＣＰＵ６１は、Ｒｐｖｓ［Ｐ５］を平均値演算用バッファに加算せず、積算カウンタもインクリメントせず、Ｒｐｖｓ平均値の算出対象から除外する。ＰＷＭタイマースタート後５０ｍｓ経過時に取得したＲｐｖｓ［Ｐ６］（図３参照）もヒータ４０の通電オフ時に生じたノイズの影響を受けており、ウインドウＷ１内に収まらない場合、ＣＰＵ６１は、Ｒｐｖｓ［Ｐ６］もＲｐｖｓ平均値の算出対象から除外する。ＰＷＭタイマースタート後８０ｍｓ経過時に取得したＲｐｖｓ［Ｐ９］（図３参照）が、例えば外来ノイズの影響を受けてウインドウＷ１内に収まらない場合、ＣＰＵ６１は同様に、Ｒｐｖｓ［Ｐ９］をＲｐｖｓ平均値の算出対象から除外する。
【００４１】
ＰＷＭタイマースタート後１００ｍｓ経過時に取得したＲｐｖｓ［Ｐ１１］がウインドウＷ１内の値であれば、ＣＰＵ６１は、平均値演算用バッファの加算（Ｓ１５）と積算カウンタのインクリメント（Ｓ１７）を行う。ＣＰＵ６１は、ＰＷＭタイマーの値に基づき、ＰＷＭ制御周期が経過したと判断すると（Ｓ１９：ＹＥＳ）、ＰＷＭタイマーをリスタートし、Ｒｐｖｓ平均値を算出する（Ｓ２１）。Ｒｐｖｓ平均値は、平均値演算用バッファに積算したＲｐｖｓの値を積算カウンタの値で除算することによって求まる。図３に示すように、Ｒｐｖｓ平均値Ａ１の算出対象となるＲｐｖｓは［Ｐ２］〜［Ｐ４］、［Ｐ７］、［Ｐ８］、［Ｐ１０］、［Ｐ１１］の７値であり、ＣＰＵ６１は、Ｒｐｖｓ平均値Ａ１の演算結果をＲＡＭ６３に記憶する。また、ＣＰＵ６１は、ヒータ４０のＰＷＭ制御のためＣＰＵ６１が実行する他のプログラムが利用可能となるように、Ｒｐｖｓ平均値Ａ１をＲＡＭ６３の所定の記憶領域にコピーする。ＣＰＵ６１は、Ｒｐｖｓ平均値Ａ１に所定の値を加算および減算して上限値と下限値を求め、次回のウインドウＷ２を設定する（Ｓ２３）。ＣＰＵ６１は、平均値演算用バッファおよび積算カウンタをクリアして０を記憶し（Ｓ２５）、処理をＳ１１に戻す。
【００４２】
ＣＰＵ６１は、以後同様に、ＰＷＭ制御周期ごとに複数のＲｐｖｓを取得し、ウインドウ内に収まらない値を除外した上で、今回のＲｐｖｓ平均値を求める。ＣＰＵ６１は、他のプログラムの実行において、Ｒｐｖｓ平均値に基づきＰＷＭ制御のためのデューティ比を算出する。ＣＰＵ６１は、ヒータ制御回路５０を制御してヒータ４０の発熱抵抗体４３にデューティ比に応じた電圧波形をなす電圧Ｖｈを印加し、ガス検出素子３０の温度を一定に保つ制御を行う。Ｒｐｖｓ平均値は１回のＰＷＭ制御周期において取得する複数のＲｐｖｓのうち、ノイズの影響を受けたＲｐｖｓを除外して求めたものであるので精確性が高く、ＣＰＵ６１は、ガス検出素子３０の温度を精確に制御することができる。
【００４３】
なお、図３の例のように、Ｒｐｖｓは外来ノイズの影響を受ける場合もあるが、Ｒｐｖｓ平均値の精確性を確保する上では、主にはヒータ４０の通電オン・オフ時に生ずるノイズの影響を受ける場合を考慮すれば足りる。また、図３の例において、Ｒｐｖｓ［Ｐ５］と［Ｐ６］はヒータ４０の通電オフ時のノイズの影響を受けたものと考えられるが、ヒータ４０の通電オン・オフ時それぞれで生ずるノイズがＲｐｖｓ取得周期の２回にわたってＲｐｖｓに影響を及ぼすことは希である。ゆえに、ヒータ４０の通電オン・オフ時に生ずるノイズが１回ずつＲｐｖｓに影響を及ぼす場合がある点を考慮すると、ＣＰＵ６１は、１回のＰＷＭ制御周期において、少なくとも４つ以上のＲｐｖｓを取得し、１回のＲｐｖｓ平均値を演算すればよい。
【００４４】
次に、ヒータ制御装置の第二実施形態について説明する。第二実施形態のヒータ制御装置は、第一実施形態と同様に、全領域空燃比センサ１０を制御するＥＣＵ１００であり、第一実施形態とはＲｐｖｓ演算処理における処理内容が異なる。ゆえに、以下では、ヒータ制御装置の機械的構成の説明は省略し、Ｒｐｖｓ演算処理について説明する。
【００４５】
第二実施形態では、ＣＰＵ６１は、Ｒｐｖｓ演算処理のプログラムの実行によって、ヒータ４０への１回の通電周期（ＰＷＭ制御周期）の間にＶｓセル３８の素子抵抗値（Ｒｐｖｓ）を複数回取得する。ＣＰＵ６１は、前回求めたＲｐｖｓ平均値との差分（偏差）が大きく、ノイズが重畳した可能性のあるＲｐｖｓを、偏差の大きい順に２つ除外した上で、今回のＲｐｖｓの平均値を算出する。ノイズはヒータ４０の通電オン・オフ時に生じやすく、１回のＰＷＭ制御周期の間に取得する複数のＲｐｖｓのうち、２つのＲｐｖｓにノイズが重畳する可能性がある。ヒータ４０の通電オン時のノイズが重畳したＲｐｖｓと、通電オフ時のノイズが重畳したＲｐｖｓは、共に本来よりも高い値または共に低い値になる場合もあれば、それぞれが高い値と低い値になる場合もある。ＣＰＵ６１は、ノイズが重畳した可能性のあるＲｐｖｓを偏差に基づいて除外することで、Ｒｐｖｓ平均値の精確性を確保することができる。
【００４６】
以下、図４、図５を参照し、第二実施形態のＲｐｖｓ演算処理について説明する。ＣＰＵ６１は、ＲＯＭ６２からＲｐｖｓ演算処理のプログラムを読み出して実行する。ＣＰＵ６１は、ＲＡＭ６３にワークエリアを設定し、取得回数分のＲｐｖｓとそれぞれの偏差、平均値演算用バッファ、積算カウンタ、Ｒｐｖｓ平均値、ＲｐｖｓタイマーおよびＰＷＭタイマーの記憶領域を確保する。なお、第二実施形態でも同様に、ヒータ４０のＰＷＭ制御周期は、例えば１００ｍｓであり、ＣＰＵ６１は、Ｒｐｖｓの取得を、例えば１０ｍｓごとに行うものとする。
【００４７】
Ｒｐｖｓ演算処理のプログラムの初回実行時は、Ｒｐｖｓ平均値が設定されていない。図５に示すように、ＣＰＵ６１は、初回実行時のみ、一度、Ｒｐｖｓ［Ｐ２１］を取得し、取得したＲｐｖｓを、Ｒｐｖｓ平均値Ａ２１に設定する。また、ＣＰＵ６１は、ＲｐｖｓタイマーとＰＷＭタイマーをスタートさせ、複数のＲｐｖｓとそれぞれの偏差の記憶領域、平均値演算用バッファおよび積算カウンタをクリアし、０を記憶する。
【００４８】
図４に示すように、ＣＰＵ６１は、第一実施形態と同様に、電位差ΔＶｓに基づいて算出したＲｐｖｓ［Ｐ２２］（図５参照）を取得してＲＡＭ６３に記憶し（Ｓ３１）、Ｒｐｖｓタイマーをリスタートする。ＣＰＵ６１はＲＡＭ６３に確保した平均値演算用バッファにＲｐｖｓ［Ｐ２２］を加算する（Ｓ３３）。ＣＰＵ６１は、ＲＡＭ６３に記憶するＲｐｖｓ平均値Ａ２１からＲｐｖｓ［Ｐ２２］を減算して偏差［Ｄ２２］を求め（Ｓ３５）、Ｒｐｖｓ［Ｐ２２］と関連づけてＲＡＭ６３に記憶する（Ｓ３７）。ＣＰＵ６１は、積算カウンタ（図３参照）を＋１加算（インクリメント）する（Ｓ３９）。
【００４９】
ＣＰＵ６１は、ＰＷＭタイマーの値に基づき、ヒータ４０のＰＷＭ制御周期が経過したか否か判断し（Ｓ４１）、経過していなければ（Ｓ４１：ＮＯ）、処理をＳ３１に戻す。ＣＰＵ６１は、ＰＷＭ制御周期が経過しないうちはＳ３１〜Ｓ４１の処理を繰り返し、上記同様にＲｐｖｓ［Ｐ２３］〜［Ｐ３０］を取得し、偏差［Ｄ２３］〜［Ｄ３０］を求め、それぞれＲＡＭ６３に記憶する。ＣＰＵ６１は平均値演算用バッファに取得したＲｐｖｓを加算し、積算カウンタもそれぞれインクリメントする。
【００５０】
ＰＷＭタイマースタート後１００ｍｓ経過時、ＣＰＵ６１は、取得したＲｐｖｓ［Ｐ３１］を平均値演算用バッファに加算し（Ｓ３３）、偏差［Ｄ３１］を求めて（Ｓ３５）、Ｒｐｖｓ［Ｐ３１］とともに記憶し（Ｓ３７）、積算カウンタをインクリメントする（Ｓ３９）。ＣＰＵ６１は、ＰＷＭタイマーの値に基づき、ＰＷＭ制御周期が経過したと判断すると（Ｓ４１：ＹＥＳ）、ＰＷＭタイマーをリスタートする。ＣＰＵ６１は、ＲＡＭ６３に記憶する複数のＲｐｖｓ［Ｐ２２］〜［Ｐ３１］に関連づけた複数の偏差［Ｄ２２］〜［Ｄ３１］のうち、値の大きな順に２つの偏差を検索する（Ｓ４３）。図５の例では、ＰＷＭタイマースタート後５０ｍｓ経過時に取得したＲｐｖｓ［Ｐ２６］の偏差［Ｄ２６］が最大であり、ＰＷＭタイマースタート後９０ｍｓ経過時に取得したＲｐｖｓ［Ｐ３０］の偏差［Ｄ３０］が２番目に大きい。ＣＰＵ６１は、平均値演算用バッファに積算したＲｐｖｓ［Ｐ２２］〜［Ｐ３１］の値から、Ｒｐｖｓ［Ｐ２６］の値とＲｐｖｓ［Ｐ３０］の値を減算する。また、ＣＰＵ６１は、積算カウンタの値から２を減算する。ＣＰＵ６１は、減算後の平均値演算用バッファの値を減算後の積算カウンタの値で除算し、Ｒｐｖｓ平均値Ａ２２を算出する（Ｓ４５）。ＣＰＵ６１は、Ｒｐｖｓ平均値Ａ２２の演算結果をＲＡＭ６３に記憶する。また、ＣＰＵ６１は、ヒータ４０のＰＷＭ制御のためＣＰＵ６１が実行する他のプログラムが利用可能となるように、Ｒｐｖｓ平均値Ａ２２をＲＡＭ６３の所定の記憶領域にコピーする。ＣＰＵ６１は、平均値演算用バッファおよび積算カウンタをクリアして０を記憶し（Ｓ４７）、処理をＳ３１に戻す。
【００５１】
ＣＰＵ６１は、以後同様に、ＰＷＭ制御周期ごとに複数のＲｐｖｓを取得し、前回のＲｐｖｓ平均値との偏差が大きい順に２つの値を除外した上で、今回のＲｐｖｓ平均値を求める。ＣＰＵ６１は、他のプログラムの実行において、Ｒｐｖｓ平均値に基づきＰＷＭ制御のためのデューティ比を算出する。ＣＰＵ６１は、ヒータ制御回路５０を制御してヒータ４０の発熱抵抗体４３にデューティ比に応じた電圧波形をなす電圧Ｖｈを印加し、ガス検出素子３０の温度を一定に保つ制御を行う。Ｒｐｖｓ平均値は１回のＰＷＭ制御周期において取得する複数のＲｐｖｓのうち、ノイズの影響を受けたＲｐｖｓを除外して求めたものであるので精確性が高く、ＣＰＵ６１は、ガス検出素子３０の温度を精確に制御することができる。第一実施形態とどうように、ヒータ４０の通電オン・オフ時に生ずるノイズが１回ずつＲｐｖｓに影響を及ぼす場合がある点を考慮すると、ＣＰＵ６１は、１回のＰＷＭ制御周期において、少なくとも４つ以上のＲｐｖｓを取得し、１回のＲｐｖｓ平均値を演算すればよい。
【００５２】
以上説明したように、ＥＣＵ１００のＣＰＵ６１は、ノイズ等の影響を受けた可能性のあるＲｐｖｓ（素子抵抗値）を除外して、ヒータ４０への通電制御に用いるＲｐｖｓ平均値を求めることができる。ノイズ等は、ヒータ４０への通電をオン・オフするときに生じやすいが、ＣＰＵ６１は、ノイズの影響を受けたＲｐｖｓを取得しても精確なＲｐｖｓ平均値を求めることができる。ゆえにＣＰＵ６１は、ヒータ４０への通電をオン・オフするタイミングを避けてＲｐｖｓを取得する制御を行わなくともよく、処理の簡易化を図ることができる。また、ＣＰＵ６１は、ヒータ４０への通電オン・オフのタイミングを検出する必要がないので、Ｒｐｖｓの取得を常時行うことができる。
【００５３】
また、ＣＰＵ６１は、Ｒｐｖｓ平均値を基準とするウインドウ内に収まらないＲｐｖｓを除外したり、Ｒｐｖｓ平均値との偏差が大きい順に２つの値を有するＲｐｖｓを除外したりすることで、上記いずれの場合においてもノイズ等の影響を受けた可能性のあるＲｐｖｓを容易に除外でき、Ｒｐｖｓ平均値を精確に求めることができる。そして、精度の良いＲｐｖｓ平均値を用いてヒータ４０の通電を制御することにより、ガス検出素子３０を適切な温度で加熱することができ、ひいては排気ガス中の酸素濃度をもとに排気ガスの空燃比を精度良く検出することが可能となる。
【００５４】
なお、本発明は上記実施の形態に限られず、本発明の要旨を逸脱しない範囲内において種々の変更を加えてもよい。センサ制御装置は自動車のＥＣＵを例としたが、ＥＣＵとは独立の制御装置を設けてもよい。ガスセンサの一例として全領域空燃比センサを挙げたが、本発明は、固体電解質体を基体とするガス検出素子と、固体電解質体を加熱して早期活性化を図るヒータ素子を備えるガスセンサ、例えば、酸素センサ、ＮＯｘセンサ、ＨＣセンサ等に適用してもよい。また、上記の実施形態では、素子抵抗値の検出にあたり、特定のセル（上記の実施形態ではＶｓセル３８）に対して特定の大きさの電流を流したときの電圧変化を用いて検出するようにしたが、特定のセルに対して特定の大きさの電圧を印加したときの電流変化を用いて検出するようにしてもよい。なお、素子抵抗値を検出するための特定のセルはＶｓセル３８に限定されず、その他のセル（上記の実施形態ではＩｐセル３７）であってもよい。
【００５５】
また、上記の実施形態では、ＰＷＭ制御周期を１００ｍｓとしたが、任意の周期を設定してもよい。Ｒｐｖｓ取得周期についても同様であり、実施形態では１０ｍｓとしたが、任意の周期を設定してもよい。１回のＰＷＭ制御周期において、少なくとも４つ以上のＲｐｖｓを取得できればよい。なお、ＰＷＭ制御周期はＲｐｖｓ取得周期の整数倍でなくともよい。また、実施形態ではＲｐｖｓ演算処理で、ＰＷＭタイマーを用意してＰＷＭ制御周期を計時した。これに限らず、例えば、ＰＷＭ制御を行う他のプログラムの実行においてＣＰＵ６１がＰＷＭ制御周期の経過を知らせる信号（例えばフラグ等のオン・オフでもよい。）を出力し、Ｒｐｖｓ演算処理でＣＰＵ６１が当該信号を受信することで、ＰＷＭ制御周期の経過を検知してもよい。
【００５６】
実施形態では、ＣＰＵ６１は、ガス検出素子３０の活性化後、動作の安定性を図るために行う温度一定制御において、ＰＷＭ制御におけるデューティ比の算出に用いるために、Ｒｐｖｓ演算処理を行い、Ｒｐｖｓ平均値を求めた。これに限らず、ＣＰＵ６１は、ヒータ４０がガス検出素子３０を加熱して活性化する過渡期における温度制御にＲｐｖｓ平均値を用いてもよい。
【００５７】
第一実施形態において、ウインドウの幅（上限値、下限値）は、Ｒｐｖｓ平均値を基準に所定の値を加減算して求めたが、Ｒｐｖｓ平均値に対する上限値の差と、Ｒｐｖｓ平均値に対する下限値の差を異ならせてもよい。例えば、ガス検出素子３０の活性化を行う場合の温度制御にＲｐｖｓ平均値を用いる場合、ガス検出素子３０の温度上昇に伴いＲｐｖｓは減少していく傾向にあるため、Ｒｐｖｓ平均値に対する上限値の差よりも、Ｒｐｖｓ平均値に対する下限値の差を大きくしたウインドウを設定してもよい。
【００５８】
第二実施形態において、Ｒｐｖｓ平均値との偏差が大きい順に２つのＲｐｖｓを、Ｒｐｖｓ平均値の算出対象から除外したが、２つに限らず、３つ以上でもよい。
【符号の説明】
【００５９】
１０    全領域空燃比センサ
３０    ガス検出素子
４０    ヒータ
５０    ヒータ制御回路
６１    ＣＰＵ
８２    第２差動増幅回路
１００    ＥＣＵ
【図１】
2015064208.tif 000003
【図２】
2015064208.tif 000004
【図３】
2015064208.tif 000005
【図４】
2015064208.tif 000006
【図５】
2015064208.tif 000007