(57)【特許請求の範囲】
【請求項１】
燃料タンクに残留する燃料残量を検出して燃料残量データを出力する検出手段と、
該検出手段から出力された燃料残量データを所定周期毎に取り込み、該取り込んだ燃料残量データを所定数毎にひとまとめにブロック化して順次記憶するブロックデータ記憶手段と、
過去の燃料残量データに基づいて、前記取り込んだ燃料残量データから異常値データを除去する範囲を演算する異常値範囲演算手段と、
該異常値範囲演算手段で演算された範囲に基づいて、前記ブロックデータ記憶手段に記憶された各ブロックデータのそれぞれから異常値データを除去する異常値除去手段と、
該異常値除去手段で異常値データが除去された各ブロックデータに基づいて、各ブロック毎の単純平均をそれぞれ演算する単純平均演算手段と、
前記単純平均演算手段で演算された最新のブロックの単純平均と過去のブロックの単純平均とに基づいて、複数ブロック間の単純平均の変位傾向を演算する変位傾向演算手段と、を具備し、
前記異常値範囲演算手段は、前記変位傾向演算手段で演算された単純平均の変位傾向に基づいて、前記取り込んだ燃料残量データから異常値データを除去する範囲を演算し、
更に、前記単純平均演算手段で演算された最新のブロックの単純平均を、燃料残量に変換して出力する燃料残量出力手段と、
を備えてなることを特徴とする燃料タンクの燃料残量計測装置。
【請求項２】
燃料タンクに残留する燃料残量を検出して燃料残量データを出力する検出手段と、
該検出手段から出力された燃料残量データを所定周期毎に取り込み、該取り込んだ燃料残量データを所定数毎にひとまとめにブロック化して順次記憶するブロックデータ記憶手段と、
過去の燃料残量データに基づいて、前記取り込んだ燃料残量データから異常値データを除去する範囲を演算する異常値範囲演算手段と、
該異常値範囲演算手段で演算された範囲に基づいて、前記ブロックデータ記憶手段に記憶された各ブロックデータのそれぞれから異常値データを除去する異常値除去手段と、
該異常値除去手段で異常値データが除去された各ブロックデータに基づいて、各ブロック毎の単純平均をそれぞれ演算する単純平均演算手段と、
前記単純平均演算手段で演算された最新のブロックの単純平均と過去のブロックの単純平均とに基づいて、複数ブロック間の単純平均の変位傾向を演算する変位傾向演算手段と、を具備し、
前記異常値範囲演算手段は、前記変位傾向演算手段で演算された単純平均の変位傾向に基づいて、前記取り込んだ燃料残量データから異常値データを除去する範囲を演算し、
更に、前記単純平均演算手段で演算された最新のブロックの単純平均と過去のブロックの単純平均に基づいて、複数ブロック間の単純平均をさらに平均した二次平均を演算する二次平均演算手段と、
前記二次平均演算手段で演算された二次平均を、燃料残量に変換して出力する燃料残量出力手段と、
を備えてなることを特徴とする燃料タンクの燃料残量計測装置。
【請求項３】
燃料タンクに残留する燃料残量を検出して燃料残量データを出力する検出手段と、
該検出手段から出力される燃料残量データを所定周期毎に取り込み、該取り込んだ燃料残量データを所定数毎にひとまとめにブロック化して順次記憶するブロックデータ記憶手段と、
該ブロックデータ記憶手段に記憶された各ブロックデータに基づいて、各ブロック毎の単純平均をそれぞれ演算する単純平均演算手段と、
前記ブロックデータ記憶手段に記憶された最新のブロックデータに基づいて、該最新のブロックデータの分散を演算する分散演算手段と、
前記単純平均演算手段で演算された最新のブロックの単純平均と、過去の所定数のブロックの単純平均とに基づいて、複数のブロックデータの平均を求める二次平均演算手段と、
前記分散演算手段で演算された最新のブロックデータの分散に基づいて、前記二次平均演算手段で用いるブロック数である前記所定数を決定する回数演算手段と、
前記二次平均演算手段で演算された二次平均を、燃料残量に変換して出力する燃料残量出力手段と、
を備えてなることを特徴とする燃料タンクの燃料残量計測装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関を備えた車両等の燃料を収容する燃料タンクに係り、特に、燃料タンクに残留する燃料の残量を高い精度で計測することができる燃料タンクの燃料残量計測装置に関する。
【０００２】
【従来の技術】
例えば、内燃機関を備えた車両には、この内燃機関へ供給する燃料を収容する燃料タンクが設けられている。この燃料タンクには、タンク内に残留する燃料の残量を計測する燃料残量計測装置を設けてあるのが一般的である。
【０００３】
従来の燃料残量計測装置の一例をあげると、車両に取付けられた燃料タンクには、燃料タンクに残留する燃料残量を計測するフューエルセンダユニットが設けられる。このユニットは、燃料タンク内に設けられるフロートと、このフロートを、アーム軸を支点として回動自在に支持するフロートアームと、巻線抵抗と、フロートアームに連結され、アーム軸を支点として巻線抵抗上を摺動するコンタクトアームとを備えている。上記構成において、燃料が補給又は消費されて燃料液面の高さが変動すると、巻線抵抗上におけるコンタクトアームの接点位置は、燃料液面の高さ変動に追従して変位し、これに伴い巻線抵抗の電気抵抗値も変動する。したがって、燃料液面の高さ、すなわち燃料残量を、電気抵抗値を電圧値に変換することで検出することができる。そして、この検出された燃料残量は、車両の室内に設けられる燃料計に表示される。車両の運転者は、この燃料計の指示値を読むことで燃料タンクの燃料残量を知り、燃料残量が空になる前に燃料の補給を行う。
【０００４】
【発明が解決しようとする課題】
しかしながら、前述した従来の燃料残量計測装置にあっては、車両の加減速、振動、道路の傾斜等で車両の姿勢が変化することに起因して、燃料残量計に表示される燃料の残量に誤差を生じることがあった。この理由は、上述のように車両の姿勢が変化すると、車両に取付けられた燃料タンク内に収容される燃料液面が大きく揺動し、これに応じてフロートが上下に揺動することとなり、この結果、燃料液面の位置に追従して電気抵抗値が変化することによる。
【０００５】
そこで、従来より、燃料残量の計測誤差を可及的に排除するために、燃料計の指針駆動部に高粘度のシリコンダンパを設けるか、又は、電気抵抗値を燃料残量に変換するにあたり、入力された電気抵抗値を順次積算し、この積算値を時間平均することで燃料残量を求める等の手段を採用している。
【０００６】
ところが、前者のシリコンダンパを用いて燃料計の指針を安定化させると、燃料補給時に燃料計の指針が正規の指示値を示すまでに時間を要し、燃料計の指針の応答性を損うという新たな課題を生ずる。また、後者の電気抵抗の積算値を時間平均することで燃料残量を求めた場合、電気抵抗値の積算時間幅を短くすると、車両の姿勢変化に起因して燃料残量の計測誤差を生じる一方、積算時間幅を長くすると、例えば高速道路走行時などの時間あたりの燃料消費量が多いとき、前記時間幅内における燃料残量の落差が無視できないほど大きくなり、ひいては燃料残量の計測誤差を生じることとなり、結果として、燃料残量の計測誤差を除去することは難しかった。このような現状の下で、燃料残量の計測誤差を飛躍的に抑制して、燃料タンクに残留する燃料残量を高精度で計測することができる新規な技術の開発が関係者の間で久しく待ち望まれていた。
【０００７】
本発明は、上記した実情を鑑みてなされたものであり、検出された燃料残量データを所定周期毎に取り込み、取り込んだ燃料残量データを所定数毎にひとまとめにブロック化してブロックデータとして順次記憶しておき、このブロックデータに対し、二次平均又は異常値除去などのデータ処理を適宜施すことにより、燃料残量の計測誤差を飛躍的に抑制して燃料タンクに残留する燃料残量を高精度で計測することができる燃料タンクの燃料残量計測装置を提供することを課題とする。
【０００８】
【課題を解決するための手段】
上記課題を解決するために、請求項１の発明は、燃料タンクに残留する燃料残量を検出して燃料残量データを出力する検出手段と、該検出手段から出力された燃料残量データを所定周期毎に取り込み、該取り込んだ燃料残量データを所定数毎にひとまとめにブロック化して順次記憶するブロックデータ記憶手段と、過去の燃料残量データに基づいて、前記取り込んだ燃料残量データから異常値データを除去する範囲を演算する異常値範囲演算手段と、該異常値範囲演算手段で演算された範囲に基づいて、前記ブロックデータ記憶手段に記憶された各ブロックデータのそれぞれから異常値データを除去する異常値除去手段と、該異常値除去手段で異常値データが除去された各ブロックデータに基づいて、各ブロック毎の単純平均をそれぞれ演算する単純平均演算手段と、前記単純平均演算手段で演算された最新のブロックの単純平均と過去のブロックの単純平均とに基づいて、複数ブロック間の単純平均の変位傾向を演算する変位傾向演算手段と、を具備し、前記異常値範囲演算手段は、前記変位傾向演算手段で演算された単純平均の変位傾向に基づいて、前記取り込んだ燃料残量データから異常値データを除去する範囲を演算し、更に、前記単純平均演算手段で演算された最新のブロックの単純平均を、燃料残量に変換して出力する燃料残量出力手段と、を備えてなることを要旨とする。
【０００９】
削除
【００１０】
また、請求項２の発明は、燃料タンクに残留する燃料残量を検出して燃料残量データを出力する検出手段と、該検出手段から出力された燃料残量データを所定周期毎に取り込み、該取り込んだ燃料残量データを所定数毎にひとまとめにブロック化して順次記憶するブロックデータ記憶手段と、過去の燃料残量データに基づいて、前記取り込んだ燃料残量データから異常値データを除去する範囲を演算する異常値範囲演算手段と、該異常値範囲演算手段で演算された範囲に基づいて、前記ブロックデータ記憶手段に記憶された各ブロックデータのそれぞれから異常値データを除去する異常値除去手段と、該異常値除去手段で異常値データが除去された各ブロックデータに基づいて、各ブロック毎の単純平均をそれぞれ演算する単純平均演算手段と、前記単純平均演算手段で演算された最新のブロックの単純平均と過去のブロックの単純平均とに基づいて、複数ブロック間の単純平均の変位傾向を演算する変位傾向演算手段と、を具備し、前記異常値範囲演算手段は、前記変位傾向演算手段で演算された単純平均の変位傾向に基づいて、前記取り込んだ燃料残量データから異常値データを除去する範囲を演算し、更に、前記単純平均演算手段で演算された最新のブロックの単純平均と過去のブロックの単純平均に基づいて、複数ブロック間の単純平均をさらに平均した二次平均を演算する二次平均演算手段と、前記二次平均演算手段で演算された二次平均を、燃料残量に変換して出力する燃料残量出力手段と、を備えてなることを要旨とする。
【００１１】
削除
【００１２】
削除
【００１３】
請求項１，２の発明によれば、まず、検出手段は、燃料タンクに残留する燃料残量を検出して燃料残量データを出力し、これを受けてブロックデータ記憶手段は、検出手段から出力された燃料残量データを所定周期毎に取り込み、該取り込んだ燃料残量データを所定数毎にひとまとめにブロック化して順次記憶する。一方、異常値範囲演算手段は、過去の燃料残量データに基づいて、取り込んだ燃料残量データから異常値データを除去する範囲を演算し、これを受けて異常値除去手段は、異常値範囲演算手段で演算された範囲に基づいて、ブロックデータ記憶手段に記憶された各ブロックデータのそれぞれから異常値データを除去する。したがって、単純平均演算手段は、異常値除去手段で異常値データが除去された各ブロックデータに基づいて、各ブロック毎の単純平均をそれぞれ演算し、そして、燃料残量出力手段は、単純平均演算手段で演算された最新のブロックの単純平均を、燃料残量に変換して出力する。このように、各ブロックデータのそれぞれから異常値データが除去された後のデータに基づいて単純平均のデータ処理が施され、最新のブロックの単純平均が燃料残量に変換して出力されるため、燃料タンクに加速度が与えられて燃料液面が激しく揺れるような事態が生じた場合でも、異常値データが除去された後のデータを単純平均した燃料残量データは、実際の燃料残量を忠実に反映する値に収束して安定化することとなり、この結果、燃料残量の計測誤差を飛躍的に抑制して燃料タンクに残留する燃料残量を高精度で計測することができる。
【００１４】
削除
【００１５】
更に、請求項１，２の発明によれば、変位傾向演算手段は、単純平均演算手段で演算された最新のブロックの単純平均と過去のブロックの単純平均とに基づいて、複数ブロック間の単純平均の変位傾向を演算し、これを受けて異常値範囲演算手段は、変位傾向演算手段で演算された単純平均の変位傾向に基づいて、取り込んだ燃料残量データから異常値データを除去する範囲を演算する。すなわち、例えば、変位傾向演算手段において、燃料残量を意味する単純平均の変位傾向が単調増加であると演算された場合には、異常値範囲演算手段は、例えば車両においては登坂路を走行中であると判断して、異常値データを除去する範囲の上限を通常より大きい値に設定する一方、単純平均の変位傾向が単調減少であると演算された場合には、下り坂路を走行中であると判断して、前記範囲の下限を通常より大きい値に設定する。これにより、燃料タンクが傾斜状態にある場合における燃料残量データの偏りを許容するように、燃料タンクの傾斜状態に適合した範囲が設定されるので、一過性の状態である燃料タンクの傾斜に起因して、単純平均又は二次平均を求める際に用いられる異常値データを除去後の燃料残量データの数が極端に減少することは未然に防止され、この結果、燃料残量データの数が極端に減少することに起因して燃料残量が計測不能となる事態は回避され、継続的に安定した燃料残量を得ることができる。
【００１６】
そして、請求項３の発明は、燃料タンクに残留する燃料残量を検出して燃料残量データを出力する検出手段と、該検出手段から出力される燃料残量データを所定周期毎に取り込み、該取り込んだ燃料残量データを所定数毎にひとまとめにブロック化して順次記憶するブロックデータ記憶手段と、該ブロックデータ記憶手段に記憶された各ブロックデータに基づいて、各ブロック毎の単純平均をそれぞれ演算する単純平均演算手段と、前記ブロックデータ記憶手段に記憶された最新のブロックデータに基づいて、該最新のブロックデータの分散を演算する分散演算手段と、前記単純平均演算手段で演算された最新のブロックの単純平均と、過去の所定数のブロックの単純平均とに基づいて、複数のブロックデータの平均を求める二次平均演算手段と、前記分散演算手段で演算された最新のブロックデータの分散に基づいて、前記二次平均演算手段で用いるブロック数である前記所定数を決定する回数演算手段と、前記二次平均演算手段で演算された二次平均を、燃料残量に変換して出力する燃料残量出力手段と、を備えてなることを要旨とする。
【００１７】
請求項３の発明によれば、まず、検出手段は、燃料タンクに残留する燃料残量を検出して燃料残量データを出力し、これを受けてブロックデータ記憶手段は、検出手段から出力された燃料残量データを所定周期毎に取り込み、該取り込んだ燃料残量データを所定数毎にひとまとめにブロック化して順次記憶する。ブロックデータ記憶手段に記憶された各ブロックデータに基づいて、単純平均演算手段は、各ブロック毎の単純平均をそれぞれ演算する一方、分散演算手段は、最新のブロックデータの分散を演算する。これを受けて回数演算手段は、分散演算手段で演算された最新のブロックデータの分散に基づいて、複数ブロック間の単純平均をさらに平均することで演算される二次平均の母数となる二次平均の回数を演算する。すなわち、例えば、回数演算手段は、燃料残量データの分散が大きい場合、すなわち燃料液面が不安定に揺動している場合には、二次平均の回数を多く設定する一方、燃料残量データの分散が小さい場合、すなわち燃料液面が安定している場合には、二次平均の回数を少なく設定するように二次平均の回数を演算する。二次平均演算手段は、単純平均演算手段で演算された最新のブロックの単純平均と過去のブロックの単純平均とに基づいて、回数演算手段で演算された回数を母数とする二次平均を演算し、そして、燃料残量出力手段は、二次平均演算手段で演算された二次平均を、燃料残量に変換して出力する。
【００１８】
このように、最新のブロックデータの分散に基づいて演算された二次平均の回数を用いて、すなわち、燃料液面が不安定に揺動している場合には多く設定する一方、燃料液面が安定している場合には少なく設定された二次平均の回数を用いて、燃料液面の状態に対応して適宜調整された時間幅の燃料残量データを対象として二次平均を演算しているため、燃料液面が不安定に揺動している場合には、比較的長い時間幅での燃料残量データに基づいて燃料残量を求めるする一方、燃料液面が安定している場合には短い時間幅での燃料残量データに基づいて燃料残量を求めることにより、求められた燃料残量は、実際の燃料残量を忠実に反映する値に収束して速やかに安定化することとなり、この結果、燃料残量の計測誤差を飛躍的に抑制して燃料タンクに残留する燃料残量を高精度で計測することができる。
【００１９】
【発明の実施の形態】
以下に、本発明に係る燃料タンクの燃料残量計測装置の一実施形態について、図に基づいて詳細に説明する。
【００２０】
図１は、本発明に係る燃料タンクの燃料残量計測装置を示す概略構成図、図２３乃至図７は、本発明の動作フローチャート図、図８乃至図９は、本発明の動作説明に供する図である。
【００２１】
まず、本発明に係る燃料タンクの実施形態について、燃料タンクとして、内燃機関を備えた車両の燃料タンクを例示して説明する。
【００２２】
図１に示すように、車両の後部座席の下方などに設けられる燃料タンク１には、燃料タンク１内に残留する燃料残量を計測するフューエルセンダユニット３が設けられる。このユニット３は、燃料タンク１内に残留する燃料Ｆの液面上を浮遊するように位置するフロート５と、このフロート５を、アーム軸７を支点として回動自在に支持するフロートアーム９と、巻線抵抗１１と、フロートアーム９に連結され、アーム軸７を支点として巻線抵抗１１上を摺動する導電性のコンタクトアーム１３とを備える。
【００２３】
このコンタクトアーム１３は、導線１４ａを介して接地される一方、巻線抵抗１１の一端は、導線１４ｂを介して、巻線抵抗１１上におけるコンタクトアーム１３の接点位置に応じた電気抵抗値を電圧値に変換する電圧変換回路１５に接続される。フューエルセンダユニット３は、燃料Ｆの液面位置、すなわち燃料残量を電気抵抗値の形態で検出し、この検出値を受けて電圧変換回路１５は、検出された電気抵抗値を電圧値に変換して燃料残量データとして出力する。
【００２４】
電圧変換回路１５は、この回路１５から出力されたアナログ電圧形態の燃料残量データをデジタル形態のデータへ変換するＡ／Ｄ変換回路１７に接続される。このＡ／Ｄ変換回路１７は、ＣＰＵ１９に接続されており、Ａ／Ｄ変換回路１７から転送されたデジタル形態の燃料残量データを受けて、ＣＰＵ１９は、後に詳述するように、所定周期毎にサンプリングされる燃料残量データを順次入力し、所定数の燃料残量データを順次ひとまとめにブロック化して記憶させておき、過去の燃料残量データに基づいて設定される異常値フィルタを適用することで、各ブロック内における燃料残量データから異常値とみなされた燃料残量データを除外する異常値処理と、複数ブロック内における燃料残量データの平均を各ブロック毎にそれぞれ求め、求められた各ブロック内平均（以下、単純平均と言う。）の平均をさらに求め、求められた複数ブロック間平均（以下、二次平均と言う。）を燃料残量として出力する燃料残量出力処理と、最新ブロック内における燃料残量データの分散を求め、求められた分散データに基づいて、二次平均を求める際に母数として用いられるブロック数（以下、二次平均の回数と言う。）や、異常値フィルタの中心値を求める際に母数として用いられるブロック数（以下、フィルタ中心値の回数と言う。）を演算する回数演算処理と、最新ブロックの単純平均と過去の複数ブロックの単純平均とを参照することで燃料残量の変位傾向を求め、求められた燃料残量の変位傾向に基づいて、異常値フィルタの上限乃至下限値を適宜の値に設定するフィルタ設定処理とを実行する。
【００２５】
さらに、ＣＰＵ１９には、処理プログラムを格納するＲＯＭ２１と、ＣＰＵ１９から転送される各種データ、及びＡ／Ｄ変換回路１７から転送されたデジタル形態の燃料残量データを、燃料Ｆの容積、すなわち燃料残量に変換する際に用いられる変換マップを格納するＲＡＭ２３と、ＣＰＵ１９から転送される燃料残量を表示する燃料計２５とが接続される。これにより、ＣＰＵ１９から転送される燃料残量は、燃料計２５に表示されて、車室内の乗員に知らされる。
【００２６】
次に、本発明に係る燃料タンクの燃料残量計測装置の動作について、図２乃至図９を参照して詳細に説明する。なお、本発明の理解を容易にするために、はじめに、本発明の概略動作を説明し、その後に本発明の詳細動作を順次説明する。図２に示すように、本発明の処理プログラムは、パラメータ設定フローと、初期計測フローと、通常計測フローと、フィルタ初期化フローとの４つの部分フローから構成されており、以下に、各部分フローでの動作概略を説明する。
【００２７】
まず、ステップＳ１のパラメータ設定フローでは、初期設定として、燃料残量を計測する上で必要となる各種パラメータ値を設定するとともに、ＲＡＭ２３の記憶内容を初期化する。すなわち、燃料残量データをＣＰＵ１９を介して取り込む周期であるサンプリング時間と、異常値フィルタの上限又は下限値をそれぞれ規定するフィルタ係数Ｋh ，Ｋl と、二次平均の回数ｎ１と、フィルタ中心値の回数ｎ２と、異常値フィルタの中心値及び範囲を再設定するか否かの判定基準となる再設定回数ＤＣ３Ｎとをそれぞれ設定するとともに、メモリａの記憶内容を初期値に設定する。ここで設定された各種パラメータ値又はメモリａの記憶内容は、次述する初期計測フローなどの部分フローにおいて適宜用いられる。なお、以下の記載について、二次平均の回数ｎ１を「３」に設定し、フィルタ中心値の回数ｎ２を「２」に設定し、再設定回数ＤＣ３Ｎを「２」に設定した例をあげて説明する。また、例え処理プログラムが実行中であっても、図示しないリセットスイッチが押されてＣＰＵ１９にリセット信号が入力されると、処理プログラムは中断されて本パラメータ設定フローに戻る。
【００２８】
次に、ステップＳ３の初期計測フローでは、この初期計測フローのために予め設定された燃料残量データの入力条件に従って、例えば、１０ｍｓｅｃのサンプリング時間で、１００個の燃料残量データがＣＰＵ１９に取り込まれ、取り込まれたデータがＲＡＭ２３の所定のアドレスに順次格納される。さらに、ＣＰＵ１９は、ＲＡＭ２３から燃料残量データを読み出して、これらのデータの単純平均を演算し、この演算結果をｍ（０）、ｍＦ（０）として、ＲＡＭ２３の所定のアドレスに順次格納する一方、ＲＡＭ２３から読み出した変換マップを参照して、演算結果である電圧を燃料容積に変換し、この変換後の燃料残量を燃料計２５へ転送する。
【００２９】
また、ＣＰＵ１９は、次述する通常計測フローにおいて適用され、ノイズとなる異常値を除去する異常値フィルタの中心値Ｆn2、及び範囲を設定する。これらの異常値フィルタの設定は、ＲＡＭ２３から読み出したデータｍＦ（０）をフィルタの中心値Ｆn2とする一方、異常値フィルタの上限Ｆh 及び下限Ｆl のそれぞれを、式（１），（２）を用いることで求め、求めた値から範囲を規定する。
Ｆh ＝Ｆn2×Ｋh      式（１）
Ｆl ＝Ｆn2×Ｋl      式（２）
ただし、Ｋh ，Ｋl はフィルタ係数
【００３０】
なお、上述した初期計測フローは、通常は電源ＯＮ直後等の初期計測時にのみ用いられるが、後述するフィルタ初期化フローにおいて、異常値フィルタの中心値及び範囲を再設定する旨の判定がなされたとき、再び本初期計測フローに戻る。
【００３１】
次に、ステップＳ５の通常計測フローでは、通常の燃料残量計測が行われるが、二次平均の回数ｎ１が「３」に設定されているのを受けて、第１回目、第２回目、及び第３回目以降の通常計測の３つに場合分けして説明を進める。
【００３２】
まず、第１回目の通常計測では、この計測フローのために予め設定された燃料残量データの入力条件に従って、例えば、１００ｍｓｅｃのサンプリング時間で、５００個の燃料残量データを１ブロックとしてＣＰＵ１９に取り込み、取り込んだ１ブロックのデータをＲＡＭ２３の所定のアドレスに順次格納する。さらに、ＣＰＵ１９は、ＲＡＭ２３から１ブロックの燃料残量データを順次読み出して、読み出したデータに対し、初期計測フローで設定された異常値フィルタを適用し、設定範囲から外れた異常値データを除去して、正常値として選択されたデータを対象として単純平均を演算し、この演算結果をｍ（１）、ｍＦ（１）として、ＲＡＭ２３の所定のアドレスに順次格納する。なお、ｍ（１）は、二次平均の回数ｎ１の設定値に対応する３つのブロックをひとかたまりとしたときの第１回目の単純平均を意味し、二次平均を求める際に子数の要素として用いられる一方、ｍＦ（１）は、フィルタ中心値の回数ｎ２の設定値に対応する２つのブロックをひとかたまりとしたときの第１回目の単純平均を意味し、フィルタの中心値Ｆn2を求める際に子数の要素として用いられる。また、図８に示すように、１回の通常計測において、ＣＰＵ１９は、５００個の燃料残量データを１ブロックとして取り込むが、図９に示すように、設定範囲から外れた異常値データは異常値フィルタを適用することで除去されるので、実際に使用されるデータ数ＤＣ２は、取り込んだデータ数ＤＣに対して減少することとなる。
【００３３】
さらに、ＣＰＵ１９は、ＲＡＭ２３から読み出したそれぞれの単純平均データｍ（０）、ｍ（１）を対象として、式（３）に示す二次平均Ｍn1を演算し、この演算結果をＭn1として、ＲＡＭ２３の所定のアドレスに格納する。
Ｍn1＝｛（ｍ（０）＋ｍ（１）｝／２      式（３）
【００３４】
一方、ＲＡＭ２３から読み出した変換マップを参照して、演算結果である電圧を燃料容積に変換し、この変換後の燃料残量を燃料計２５へ転送する。
【００３５】
また、ＣＰＵ１９は、次述する第２回目の通常計測において適用される異常値フィルタの中心値Ｆn2、及び範囲を、前述した初期計測フローと同様に設定する。なお、ここでのフィルタの中心値Ｆn2は、ＲＡＭ２３から読み出したそれぞれのデータｍＦ（０）、ｍＦ（１）を元に、式（４）を用いることで求められる。
Ｆn2＝｛（ｍＦ（０）＋ｍＦ（１）｝／２      式（４）
【００３６】
次に、第２回目の通常計測では、第１回目の通常計測と同様のサンプリング時間、及び個数の燃料残量データを１ブロックとしてＣＰＵ１９に取り込み、取り込んだ１ブロックのデータをＲＡＭ２３の所定のアドレスに順次格納する。さらに、ＣＰＵ１９は、ＲＡＭ２３から１ブロックの燃料残量データを順次読み出して、読み出したデータに対し、第１回目の通常計測で設定された異常値フィルタを適用し、設定範囲から外れた異常値データを除去して、正常値として選択されたデータを対象として単純平均を演算し、この演算結果をｍ（２）、ｍＦ（０）として、ＲＡＭ２３の所定のアドレスにそれぞれ格納する。さらに、ＣＰＵ１９は、ＲＡＭ２３から読み出したそれぞれの単純平均データｍ（０）、ｍ（１）、ｍ（２）を対象として、式（５）に示す二次平均Ｍn2を演算し、演算結果をＭn2として、ＲＡＭ２３の所定アドレスに格納する。
【００３７】
Ｍn2＝｛（ｍ（０）＋ｍ（１）＋ｍ（２）｝／３    式（５）
一方、ＲＡＭ２３から読み出した変換マップを参照して、演算結果である電圧を燃料容積に変換し、この変換後の燃料残量を燃料計２５へ転送する。
【００３８】
また、ＣＰＵ１９は、次述する第３回目の通常計測において適用される異常値フィルタの中心値Ｆn2、及び範囲を、前述した初期計測フローと同様に設定する。なお、ここでのフィルタの中心値Ｆn2は、ＲＡＭ２３から読み出したそれぞれのデータｍＦ（１）、ｍＦ（０）を元に、式（６）を用いることで求められる。
Ｆn2＝｛（ｍＦ（１）＋ｍＦ（０）｝／２    式（６）
【００３９】
そして、第３回目以降の通常計測では、第１回目の通常計測と同様のサンプリング時間、及び個数の燃料残量データを１ブロックとしてＣＰＵ１９に取り込み、取り込んだ１ブロックのデータをＲＡＭ２３の所定のアドレスに順次格納する。さらに、ＣＰＵ１９は、ＲＡＭ２３から１ブロックの燃料残量データを順次読み出して、読み出したデータに対し、前回の通常計測で設定された異常値フィルタを適用し、設定範囲から外れた異常値データを除去して、正常値として選択されたデータを対象として単純平均を演算し、この演算結果をｍ（０）、ｍＦ（１）として、ＲＡＭ２３の所定のアドレスにそれぞれ格納する。さらに、ＣＰＵ１９は、ＲＡＭ２３から読み出したそれぞれの単純平均データｍ（１）、ｍ（２）、ｍ（０）を対象として、式（７）に示す二次平均Ｍn2を演算し、演算結果をＭn2として、ＲＡＭ２３の所定アドレスに格納する。
Ｍn2＝｛（ｍ（１）＋ｍ（２）＋ｍ（０）｝／３    式（７）
【００４０】
一方、ＲＡＭ２３から読み出した変換マップを参照して、演算結果である電圧を燃料容積に変換し、この変換後の燃料残量を燃料計２５へ転送する。
【００４１】
また、ＣＰＵ１９は、次回の通常計測において適用される異常値フィルタの中心値Ｆn2、及び範囲を、前述した初期計測フローと同様に設定する。なお、ここでのフィルタの中心値Ｆn2は、ＲＡＭ２３から読み出したそれぞれのデータｍＦ（０）、ｍＦ（１）を元に、式（８）を用いることで求められる。
Ｆn2＝｛（ｍＦ（０）＋ｍＦ（１）｝／２    式（８）
【００４２】
なお、通常計測フローでは、前述した異常値処理や燃料残量出力処理に加えて、最新ブロック内における燃料残量データの分散を求め、求められた分散データに基づいて、図２に示す条件設定１のテーブルに従って、二次平均の回数ｎ１、及びフィルタ中心値の回数ｎ２を演算する回数演算処理と、最新ブロックの単純平均と過去の複数ブロックの単純平均とを参照することで燃料残量の変位傾向を求め、求められた燃料残量の変位傾向に基づいて、図２に示す条件設定２のテーブルに従って、異常値フィルタの上限Ｆh 乃至下限Ｆl を適宜の値に再設定するフィルタ設定処理とを実行する。
【００４３】
上記した回数演算処理では、燃料残量データの分散が大きい場合、すなわち燃料液面が不安定に揺動している場合には、二次平均の回数ｎ１、及びフィルタ中心値の回数ｎ２を多く設定し、比較的長い時間幅での燃料残量データを対象としてデータ処理を施すことにより、燃料残量の計測誤差を除去するとともに、燃料残量出力を速やかに安定化するようにしている。一方、上記したフィルタ設定処理では、燃料残量の変位傾向が単調増加及び単調減少の場合には、坂道を走行中であると判断して、異常値フィルタの上限Ｆh 乃至下限Ｆl を適宜の値に再設定する。すなわち、燃料残量の変位傾向が単調増加の場合には、登坂路を走行中であると判断して、異常値フィルタの上限Ｆh を通常より大きい値に設定する一方、燃料残量の変位傾向が単調減少の場合には、下り坂路を走行中であると判断して、異常値フィルタの下限Ｆl を通常より大きい値に設定する。これにより、坂道走行時における燃料残量データの偏りを許容するように、走行状況に適合した異常値フィルタの範囲が設定されるので、一過性の走行状況に起因して、異常値フィルタを初期設定してしまうことを未然に防止することができる。
【００４４】
前述した通常計測フローにおいて、ＣＰＵ１９は、所定数の燃料残量データをひとかたまりの１ブロックとして取り込むが、設定範囲から外れた異常値データは異常値フィルタを適用することで除去されるので、実際に使用されるデータ数ＤＣ２は、取り込んだデータ数ＤＣに対して減少することとなる。しかし、高速道路走行時などの燃料残量の時間変化率が大きい場合には、実際に使用されるデータ数ＤＣ２が、取り込んだデータ数ＤＣに対して極端に減少する事態を生じることがある。このような場合、通常ルーチンでの異常値フィルタの設定では、実情に適合した設定値を得られないおそれがある。
【００４５】
そこで、ステップＳ７のフィルタ初期化フローでは、ある通常計測時において、実際に使用されるデータ数ＤＣ２が、例えば１００個などの予め定められるデータ数より少ない場合には、ＣＰＵ１９は、今回取り込んだデータは使用せずに、前回求めた燃料残量を今回の燃料残量として継続出力するようにしている。ただし、上記事態が、例えば２回などの予め定められる再設定回数ＤＣ３Ｎだけ連続して生じた場合には、ＣＰＵ１９は、異常値フィルタの設定値を初期化して初期計測フローに戻る。このように、通常ルーチンにおける異常値フィルタの設定では、実情に適合した設定値を得られなくなった場合には、初期計測フローにおいて異常値フィルタの再設定がなされ、これにより、実情に適合した設定値に修正される。
【００４６】
次に、本発明に係る燃料タンクの燃料残量計測装置の詳細動作について、図３乃至図７を参照して説明する。
【００４７】
まず、図示しない車両のイグニッションスイッチがオンされて、例えば５Ｖなどの所定レベルの電圧供給が確認されると（ステップＳ１１）、ＣＰＵ１９は、初期設定として、燃料残量を計測する上で必要となる各種パラメータ値を設定するとともに、ＲＡＭ２３の記憶内容を初期化する。すなわち、ＣＰＵ１９は、ディップスイッチ１乃至６の設定状態を確認して、燃料残量データをＣＰＵ１９を介して取り込む周期であるサンプリング時間と、異常値フィルタの上限又は下限値をそれぞれ規定するフィルタ係数Ｋh ，Ｋl と、二次平均の回数ｎ１と、フィルタ中心値の回数ｎ２と、異常値フィルタの中心値及び範囲を再設定するか否かの判定基準となる再設定回数ＤＣ３Ｎとをそれぞれ設定するとともに、ＳＵＭ、ＤＣ、ＳＣ、ＴＭ、Ｆl 、Ｆh 、ＳＣ２、ＤＣ２、ＤＣ３などの各種レジスタやメモリａの記憶内容を初期値に設定する（ステップＳ１３乃至Ｓ２７）。なお、ここで設定された各種パラメータ、レジスタ、及びメモリａの内容は、以下に述べるステップにおいて適宜用いられる。
【００４８】
次に、図示しないＩ／Ｏからスタート信号が入力され、例えば５Ｖなどの所定レベルの電圧供給が確認されると（ステップＳ２９）、ＣＰＵ１９は、初期計測フローのために予め設定された燃料残量データの入力条件に従って、例えば、１０ｍｓｅｃに設定されたタイマの計時をスタートさせ、このタイマがタイムアップすると（ステップＳ３１、Ｓ３３）、累積計測回数を記憶する累積計測回数レジスタＳＣの記憶内容が初期設定値「−１」か否か、すなわち、今回の計測が初期計測か否かを判定する（ステップＳ３５）。ステップＳ３５の判定の結果、今回の計測が初期計測のときはステップＳ３７へ進む一方、今回の計測が初期計測ではないときはステップＳ７７へ進む。
【００４９】
ステップＳ３５で今回の計測が初期計測であると判定されると、ＣＰＵ１９は、以下の初期計測フローを実行する。すなわち、ＣＰＵ１９は、燃料残量データを取り込み、取り込んだデータをＲＡＭ２３の所定のアドレスに格納する一方、取り込んだデータ数を記憶する取り込みデータ数レジスタＤＣの記憶内容に１を加算する（ステップＳ３７乃至Ｓ３９）。次に、ＣＰＵ１９は、初期計測フローのために予め設定された燃料残量データの入力条件に従って、例えば、１００個に設定される初期計測時の取り込みデータ数が設定値に達したか否かの判定を行う（ステップＳ４１）。ステップＳ４１の判定の結果、初期計測時の取り込みデータ数が設定値に達していなければステップＳ３３へ戻り、取り込みデータ数が設定値に達するまで所定のサンプリング時間で燃料残量データを取り込む一方、データ数が設定値に到達すれば次のステップＳ４３へ進む。
【００５０】
一方、ステップＳ３５で今回の計測が初期計測ではないと判定されると、ＣＰＵ１９は、以下の通常計測フローを実行する。すなわち、ＣＰＵ１９は、例えば１００ｍｓｅｃに設定される通常計測フローでのサンプリング時間に達したか否かの判定を行い（ステップＳ７７乃至Ｓ８１）、所定のサンプリング時間で燃料残量データを取り込み、取り込んだデータをＲＡＭ２３の所定のアドレスに格納する一方、取り込んだデータ数を記憶するデータ数レジスタＤＣの記憶内容に１を加算する（ステップＳ８３乃至Ｓ８５）。次に、ＣＰＵ１９は、通常計測フローのために予め設定された燃料残量データの入力条件に従って、例えば、５００個に設定される通常計測時の取り込みデータ数が設定値に達したか否かの判定を行う（ステップＳ８７）。ステップＳ８７の判定の結果、通常計測時の取り込みデータ数が設定値に達していなければステップＳ３３へ戻り、取り込みデータ数が設定値に達するまで所定のサンプリング時間で燃料残量データを取り込む一方、データ数が設定値に到達すれば次のステップＳ４３へ進む。
【００５１】
ステップＳ４１、又はステップＳ８７の判定の結果、取り込みデータ数が設定値に達すると、ＣＰＵ１９は、取り込みデータ数レジスタＤＣの記憶内容を初期化するとともに、累積計測回数レジスタＳＣの記憶内容に１を加算する（ステップＳ４３乃至Ｓ４５）。次に、ＣＰＵ１９は、ＲＡＭ２３の所定のアドレスから燃料残量データを読み出すとともに、取り込みデータ数レジスタＤＣの記憶内容に１を加算し、読み出した１６進コードの電圧値データを１０進の電圧値データに変換し、さらに、１０進の電圧値データを、ＲＡＭ２３から読み出した変換マップを参照して、燃料容積ＤＡＴＡに変換する（ステップＳ４７乃至Ｓ５３）。次に、ＣＰＵ１９は、累積計測回数レジスタＳＣの記憶内容が初期設定値に１を加算した値か否か、すなわち、今回の計測が初期計測か否かを判定する（ステップＳ５５）。ステップＳ５５の判定の結果、今回の計測が初期計測のときはステップＳ５７へ進む一方、今回の計測が初期計測ではないときはステップＳ８９へ進む。
【００５２】
ステップＳ５５で今回の計測が初期計測であると判定されると、ＣＰＵ１９は、１ブロックでの燃料残量の累積値を格納する燃料残量累積レジスタＳＵＭの記憶内容に、ステップＳ５３で取得した燃料容積ＤＡＴＡを加算して記憶内容を更新し、本実施形態では１００個に設定されている初期計測時の読み出しデータ数が設定値に達したか否かの判定を行う（ステップＳ５９）。ステップＳ５９の判定の結果、初期計測時の読み出しデータ数が設定値に達していなければステップＳ４７へ戻り、読み出しデータ数が設定値に達するまで燃料残量データを読み出して燃料容積ＤＡＴＡに変換する等の処理を繰り返し行う一方、データ数が設定値に達すれば次のステップＳ６１へ進む。ステップＳ６１において、ＣＰＵ１９は、初期計測時における１ブロック１００個の燃料残量累積値の平均を演算し、この演算結果ｍ（０）を、燃料残量平均を累積して記憶する燃料残量平均累積レジスタＳＵＭＭに格納するとともに、異常値フィルタの中心値Ｆn2、及び範囲を規定する際に用いるデータｍＦ（０）として、ＲＡＭ２３の所定のアドレスに格納する（ステップＳ６１乃至Ｓ６５）。
【００５３】
次に、ＣＰＵ１９は、データｍＦ（０）を参照して、異常値フィルタの中心値Ｆn2、及び、上限Ｆh と下限Ｆl とから規定される範囲を演算し、異常値フィルタを求められた値に設定する一方、ＲＡＭ２３から読み出した変換マップを参照して、ステップＳ６１の演算結果ｍ（０）を燃料容積に変換し、この変換後の燃料残量を燃料計２５へ転送する（ステップＳ６７乃至Ｓ７１）。そして、ＣＰＵ１９は、メモリａの記憶内容を初期化するとともに、燃料残量累積レジスタＳＵＭ、及び取り込みデータ数レジスタＤＣの記憶内容を０に設定後に、ステップＳ３３へ戻って所定の処理ステップを繰り返し実行する（ステップＳ７５）。
【００５４】
一方、ステップＳ５５で今回の計測が初期計測ではないと判定されると、ＣＰＵ１９は、以下の通常計測フローを実行する。すなわち、ＣＰＵ１９は、ステップＳ５３で取得した燃料容積ＤＡＴＡが、異常値フィルタの設定範囲内にあるか否かを判定し（ステップＳ８９）、ステップＳ８９の判定の結果、燃料容積ＤＡＴＡが異常値フィルタの設定範囲内にあれば、すなわち、燃料容積ＤＡＴＡが正常であるとみなされると次のステップＳ９１へ進み、燃料残量累積レジスタＳＵＭの記憶内容に、今回の燃料容積ＤＡＴＡを加算して記憶内容を更新し、正常であるとみなした燃料容積ＤＡＴＡの数を格納する正常データ数レジスタＤＣ２の記憶内容に１を加算する（ステップＳ９１乃至Ｓ９３）。一方、ステップＳ８９の判定の結果、燃料容積ＤＡＴＡが異常値フィルタの設定範囲外にあれば、すなわち、燃料容積ＤＡＴＡが異常であるとみなされると、前述したステップＳ９１乃至Ｓ９３の処理をジャンプして次のステップＳ９５へ進む。ステップＳ９５において、ＣＰＵ１９は、通常計測時の読み出しデータ数が設定値に達したか否かの判定を行う（ステップＳ９５）。ステップＳ９５の判定の結果、通常計測時の読み出しデータ数が設定値に達していなければステップＳ４７へ戻り、読み出しデータ数が設定値に達するまで燃料残量データを読み出して燃料容積ＤＡＴＡに変換する等の処理を繰り返し行う一方、データ数が設定値に達すれば次のステップＳ９７へ進む。
【００５５】
ステップＳ９７において、ＣＰＵ１９は、累積計測回数レジスタＳＣの記憶内容を、二次平均の回数ｎ１で割り算し、その余りをデータＸとしてＲＡＭ２３の所定のアドレスに格納するとともに、累積計測回数レジスタＳＣの記憶内容を、フィルタ中心値の回数ｎ２で割り算し、その余りをデータＸＦとしてＲＡＭ２３の所定のアドレスに格納する（ステップＳ９７乃至Ｓ９９）。ステップＳ９７乃至Ｓ９９で求めたデータＸ，ＸＦのそれぞれは、現在の累積計測回数が、二次平均の回数ｎ１、又はフィルタ中心値の回数ｎ２のそれぞれの設定回数のなかで何番目に位置付けられているかを判定する際に用いられる。次に、ＣＰＵ１９は、今回のＸ番目の通常計測における単純平均を、データｍ（Ｘ），ｍＦ（Ｘ）としてＲＡＭ２３の所定のアドレスにそれぞれ記憶するにあたり、前回のＸ番目の通常計測時のデータを消去し（ステップＳ１０１乃至Ｓ１０３）、正常データ数レジスタＤＣ２の記憶内容が１００以上か否か、すなわち、今回のＸ番目の通常計測時において実際に使用されるデータ数ＤＣ２が、例えば１００個などの予め定められるデータ数以上かを判定する（ステップＳ１０５）。
【００５６】
ステップＳ１０５の判定の結果、実際に使用されるデータ数ＤＣ２が１００個以上あると、ＣＰＵ１９は、今回のＸ番目の通常計測における単純平均を、データｍ（Ｘ），ｍＦ（Ｘ）としてＲＡＭ２３の所定のアドレスにそれぞれ格納し、正常データ数レジスタＤＣ２の記憶内容が１００以下となった累積回数を格納する異常累積回数レジスタＤＣ３の記憶内容に「０」を設定し（ステップＳ１０７乃至Ｓ１１１）、次のステップＳ１１３へ進む。
【００５７】
一方、ステップＳ１０５の判定の結果、実際に使用されるデータ数ＤＣ２が１００個に達していないと判定されると、ＣＰＵ１９は、異常累積回数レジスタＤＣ３の記憶内容に「１」を加算し、異常累積回数レジスタＤＣ３の記憶内容が、再設定回数ＤＣ３Ｎ（＝２）に達したか否かの判定を行う（ステップＳ１２１乃至Ｓ１２３）。ステップＳ１２３の判定の結果、異常累積回数レジスタＤＣ３の記憶内容が再設定回数ＤＣ３Ｎに達していなければ、ＣＰＵ１９は、今回のブロックで取り込んだデータは使用せずに、前回のブロックで求めた単純平均を、データｍ（Ｘ），ｍＦ（Ｘ）としてＲＡＭ２３の所定のアドレスにそれぞれ格納し（ステップＳ１２５乃至Ｓ１２７）、次のステップＳ１１３へ進む。
【００５８】
ステップＳ１１３において、ＣＰＵ１９は、二次平均を求める際に子数となる、二次平均の回数ｎ１を上限とする複数ブロックの単純平均の累積値を演算し、この演算結果を、燃料残量平均累積レジスタＳＵＭＭに格納する一方、やはり二次平均を求める際に子数となる、フィルタ中心値の回数ｎ２を上限とする複数ブロックの単純平均の累積値を演算し、この演算結果を、フィルタ用燃料残量平均累積レジスタＳＵＭＭＦに格納する（ステップＳ１１３乃至Ｓ１１５）。次に、ＣＰＵ１９は、累積計測回数レジスタＳＣの記憶内容が、二次平均の回数ｎ１の設定回数（＝３）に達しているか否か、すなわち、二次平均の母数をｎ１とすることができるか否かの判定を行い（ステップＳ１１７）、ステップＳ１１７の判定の結果、累積計測回数レジスタＳＣの記憶内容が二次平均の回数ｎ１に達していなければ、累積計測回数レジスタＳＣの記憶内容に１を加算した数を母数として二次平均の演算を行い、この演算結果をデータＭn1としてＲＡＭ２３の所定のアドレスに格納する一方、累積計測回数レジスタＳＣの記憶内容が二次平均の回数ｎ１に達していれば、二次平均の回数ｎ１を母数として二次平均の演算を行い、この演算結果をデータＭn1としてＲＡＭ２３の所定のアドレスに格納する（ステップＳ１１９乃至Ｓ１２９）。ここで求められた二次平均Ｍn1は、後述する処理ステップにおいて燃料残量に変換されて、燃料残量として出力される。
【００５９】
ステップＳ１１９乃至Ｓ１２９において、二次平均Ｍn1が求められると、ＣＰＵ１９は、累積計測回数レジスタＳＣの記憶内容が、フィルタ中心値の回数ｎ２の設定回数（＝２）に達しているか否か、すなわち、二次平均の母数をｎ２とすることができるか否かの判定を行い（ステップＳ１３１）、ステップＳ１３１の判定の結果、累積計測回数レジスタＳＣの記憶内容がフィルタ中心値の回数ｎ２に達していなければ、累積計測回数レジスタＳＣの記憶内容に１を加算した数を母数として二次平均の演算を行い、この演算結果をデータＦn2としてＲＡＭ２３の所定のアドレスに格納する一方、累積計測回数レジスタＳＣの記憶内容がフィルタ中心値の回数ｎ２に達していれば、フィルタ中心値の回数ｎ２を母数として二次平均の演算を行い、この演算結果をデータＦn2としてＲＡＭ２３の所定のアドレスに格納する（ステップＳ１３３乃至Ｓ１４７）。ここで求められた二次平均Ｆn2は、フィルタ中心値として採用されて、次述する処理ステップにおけるフィルタの設定に用いられる。
【００６０】
ステップＳ１３３乃至Ｓ１４７において、二次平均Ｆn2が求められると、ＣＰＵ１９は、異常値フィルタの上限Ｆh 乃至下限Ｆl を適宜の値に設定するフィルタ設定処理を実行し、二次平均Ｍn1を燃料残量に容積変換し、この変換後の燃料残量値ＴＭを燃料計２５へ転送する（ステップＳ１３５乃至Ｓ１３９）。そして、ＣＰＵ１９は、メモリａの記憶内容を初期化するとともに、燃料残量累積レジスタＳＵＭ、及び取り込みデータ数レジスタＤＣの記憶内容を０に設定後に、Ｉ／Ｏから終了信号が入力されて、供給電圧が０Ｖになったか否かの判定を行い、この判定の結果、処理継続と判定されると、ステップＳ３３へ戻って所定の処理ステップを繰り返し実行する一方、処理終了と判定されると、全ての計測処理を終了させる（ステップＳ１４１乃至Ｓ１４５）。
【００６１】
なお、本実施形態中、燃料液面をフロートを用いて検出する形態を例示して説明したが、本発明は、これに限定されるものではなく、例えば、超音波センサを用いた燃料液面検出など、どのような形態で燃料液面を検出したかにかかわらず、全ての形態の燃料残量計測装置に適用することができる。
【００６２】
また、本発明を、燃料蒸気の放散を防止する形態の燃料タンクに適用できることは言うまでもない。
【００６３】
最後に、本実施形態中、本発明に係る燃料タンクについて、燃料タンクとして、内燃機関を備えた車両の燃料タンクを例示して説明したが、本発明は、これに限定されるものではなく、例えば、内燃機関を備えた航空機の燃料タンクや、内燃機関を備えたトラクター等の農機具の燃料タンクなど、広い範囲の分野にわたり適用可能である。
【００６４】
削除
【００６５】
削除
【００６６】
【発明の効果】
請求項１，２の発明によれば、各ブロックデータのそれぞれから異常値データが除去された後のデータに基づいて単純平均のデータ処理が施され、最新のブロックの単純平均が燃料残量に変換して出力されるため、燃料タンクに加速度が与えられて燃料液面が激しく揺れるような事態が生じた場合でも、異常値データが除去された後のデータを単純平均した燃料残量データは、実際の燃料残量を忠実に反映する値に収束して安定化することとなり、この結果、燃料残量の計測誤差を飛躍的に抑制して燃料タンクに残留する燃料残量を高精度で計測することができる。
【００６７】
さらにまた、請求項１，２の発明によれば、燃料タンクが傾斜状態にある場合における燃料残量データの偏りを許容するように、燃料タンクの傾斜状態に適合した範囲が設定されるので、一過性の状態である燃料タンクの傾斜に起因して、単純平均又は二次平均を求める際に用いられる異常値データを除去後の燃料残量データの数が極端に減少することは未然に防止され、この結果、燃料残量データの数が極端に減少することに起因して燃料残量が計測不能となる事態は回避され、継続的に安定した燃料残量を得ることができる。
【００６８】
そして、請求項３の発明によれば、最新のブロックデータの分散に基づいて演算された二次平均の回数を用いて、すなわち、燃料液面が不安定に揺動している場合には多く設定する一方、燃料液面が安定している場合には少なく設定された二次平均の回数を用いて、燃料液面の状態に対応して適宜調整された時間幅の燃料残量データを対象として二次平均を演算しているため、燃料液面が不安定に揺動している場合には、比較的長い時間幅での燃料残量データに基づいて燃料残量を求めるする一方、燃料液面が安定している場合には短い時間幅での燃料残量データに基づいて燃料残量を求めることにより、求められた燃料残量は、実際の燃料残量を忠実に反映する値に収束して速やかに安定化することとなり、この結果、燃料残量の計測誤差を飛躍的に抑制して燃料タンクに残留する燃料残量を高精度で計測することができるというきわめて優れた効果を奏する。
【図面の簡単な説明】
【図１】図１は、本発明に係る燃料タンクの燃料残量計測装置を示す概略構成図である。
【図２】図２は、本発明の動作の概略を示すフローチャート図である。
【図３】図３は、本発明の動作の詳細を示すフローチャート図である。
【図４】図４は、本発明の動作の詳細を示すフローチャート図である。
【図５】図５は、本発明の動作の詳細を示すフローチャート図である。
【図６】図６は、本発明の動作の詳細を示すフローチャート図である。
【図７】図７は、本発明の動作の詳細を示すフローチャート図である。
【図８】図８は、本発明の説明に供する図である。
【図９】図９は、本発明の説明に供する図である。
【符号の説明】
１  燃料タンク
３  フューエルセンダユニット
５  フロート
７  アーム軸
９  フロートアーム
１１  巻線抵抗
１３  コンタクトアーム
１４ａ，１４ｂ  導線
１５  電圧変換回路
１７  Ａ／Ｄ変換回路
１９  ＣＰＵ
２１  ＲＯＭ
２３  ＲＡＭ
２５  燃料計
【図１】
0003660051.tif 000002
【図２】
0003660051.tif 000003
【図３】
0003660051.tif 000004
【図４】
0003660051.tif 000005
【図５】
0003660051.tif 000006
【図６】
0003660051.tif 000007
【図７】
0003660051.tif 000008
【図８】
0003660051.tif 000009
【図９】
0003660051.tif 000010