以下、パルス検出装置及びシート制御装置の一実施形態を図面に従って説明する。
図1に示すように、車両に搭載されたシート1は、シートクッション2と、このシートクッション2の後端部に対して傾動可能に設けられたシートバック3とを備えている。そして、そのシートバック3の上端には、ヘッドレスト4が設けられている。
また、本実施形態のシート1には、複数のアクチュエータ10(10a〜10d)と、これらの各アクチュエータ10に駆動される複数の位置調整機構11(11a〜11d)と、が設けられている。そして、本実施形態のシート1は、これにより、そのシート1に設定された可動要素MEの動作位置を調整可能な所謂パワーシートとしての構成を有している。
詳述すると、本実施形態のシート1には、シートリクライニングMEa、シートスライドMEb、シートリフターMEc、及びシートアラウンドMEdの4つの可動要素MEが設定されている。具体的には、シート1は、その位置調整機構11として、アクチュエータ10aの駆動出力をシートバック3のリクライニング動作(傾倒動作)に変換するシートリクライニング機構11aを備えている。また、シート1は、アクチュエータ10bの駆動出力をシート1(シートクッション2)のスライド動作(前後動作)に変換するシートスライド機構11bを備えている。更に、シート1は、アクチュエータ10cの駆動出力をシートクッション2のリフト動作(上下動作)に変換するシートリフト機構11cを備えている。そして、シート1は、アクチュエータ10dの駆動出力をシートクッション2のアラウンド(回転動作)に変換するシートアラウンド機構11dを備えている。
即ち、図2に示すように、本実施形態の各アクチュエータ10(10a〜10d)は、それぞれ、モータ12の回転を減速機13により減速して、その対応する各位置調整機構11に出力する。そして、本実施形態のシート1は、これにより、その各可動要素ME(MEa〜MEd)の構成部材15となるシートクッション2やシートバック3の配置が変更される構成となっている。
さらに詳述すると、本実施形態の各アクチュエータ10は、ECU20によって、その駆動源となるモータ12の回転が制御されている。具体的には、各アクチュエータ10のモータ12は、ECU20から供給される駆動電力に基づいて回転する。そして、本実施形態のECU20は、このモータ12に対する駆動電力の供給を通じて各アクチュエータ10(10a〜10d)の作動、つまりは、そのシート1に設定された上記各可動要素ME(MEa〜MEd)の動作位置X(Xa〜Xd)を制御する構成となっている。
また、本実施形態の各アクチュエータ10(10a〜10d)には、それぞれ、これらの各アクチュエータ10に駆動されることにより動作位置X(Xa〜Xd)が調整される各可動要素MEの動作に同期したパルス信号Sp(Spa〜Spd)を出力するパルスセンサ21が設けられている。そして、本実施形態のECU20は、そのパルス信号Spをカウント(積算)することにより、各可動要素MEの動作位置Xを検出する構成となっている。
(パルス検出)
次に、本実施形態のECU20によるパルス検出の態様について説明する。
図3に示すように、本実施形態のECU20は、各アクチュエータ10に設けられたパルスセンサ21のパルス信号Spを検出するパルス検出装置30としての機能を有したマイコン31を備えている。
詳述すると、本実施形態のマイコン31は、ECU20に設けられた電源部(主電源、電源IC)33の電源電圧V1に基づいて作動する。そして、本実施形態のマイコン31には、このマイコン31が実行するコンピュータプログラム、即ちソフトウェアのかたちで、そのパルス検出装置30が実装されている。
また、本実施形態のECU20は、上記マイコン31用の電源部33とは独立に設けられたパルスセンサ21用の電源部(センサ電源)34を備えている。そして、本実施形態のパルスセンサ21は、この電源部34に延びる電源線35と、接地接続(GND接続)される接地線36と、を備えた所謂二線式のセンサ構成を有している。
具体的には、本実施形態のパルスセンサ21は、センサ部を構成するホールIC37と、信号出力部を構成するNPNトランジスタ38及び抵抗39の直列回路と、を備えている。そして、これらのホールIC37とNPNトランジスタ38及び抵抗39の直列回路とは、互いに並列回路を形成するかたちで電源線35及び接地線36に接続されている。
また、上記のようにECU20に設けられたパルスセンサ21用の電源部34に延びる電源線35の途中には、外部抵抗40が直列に接続されている。更に、この電源線35は、その外部抵抗40よりもパルスセンサ21側の位置で本線35aから分岐した支線35bを有している。そして、この電源線35の支線35bの一端は、そのECU20に設けられたマイコン31のA/D変換ポート41に接続されている。
即ち、本実施形態のパルスセンサ21は、そのセンサ部としてのホールIC37と検出対象となる可動要素ME(の構成要素15)を駆動するアクチュエータ10(のモータ12や減速機13)に設けられたマグネット(図示略)との位置関係に基づいて、その出力部を構成するNPNトランジスタ38のオン/オフ状態が切り替わる。また、これにより、その電源線35から分岐した支線35bの基端部、つまりは、この支線35bの分岐点P1における電圧値Vsが変化する。具体的には、NPNトランジスタ38がオフ状態となっている場合には、その電源線35の本線35aが接続された電源部34の電源電圧V2に準じた高い値となり、NPNトランジスタ38がオン状態となっている場合には、そのNPNトランジスタ38に対して直列に接続された抵抗39と外部抵抗40との分圧に応じた低い電圧となる。そして、本実施形態のパルスセンサ21は、これにより、この電源線35の支線35bを信号線43として、その出力端子となる分岐点P1の電圧変化に基づいたパルス信号Spをマイコン31に対して出力する構成となっている。
即ち、本実施形態のマイコン31は、電源線35の支線35bを介してA/D変換ポート41に入力される電圧値Vs´をデジタル変換することにより、そのパルスセンサ21が出力するパルス信号Spの信号値Vspを検出する。尚、本実施形態のECU20には、電源線35の支線35bに対して直列に接続された抵抗44aと、一端側が接地された状態で抵抗44aを挟む位置に設けられた一対の抵抗44b,44cと、が設けられている。更に、マイコン31は、この検出されたパルス信号Spの信号値VspがハイレベルLvHであるかローレベルLvLであるかのレベル判定を実行する。そして、これにより、そのパルス信号Spのエッジ(ハイ/ローの切り替わり)を検出する構成となっている。
また、本実施形態の電源線35は、外部抵抗40よりもパルスセンサ21用の電源部34側において、その本線35aから分岐した支線35cを備えている。更に、この支線35cの一端は、マイコン31に設けられた第2のA/D変換ポート46に接続されている。尚、本実施形態のECU20において、この支線35cには、当該支線35cに対して直列に接続された抵抗47aと、一端側が接地された状態で抵抗47aと第2のA/D変換ポート46との間に接続された抵抗47bと、が設けられている。そして、本実施形態のマイコン31は、これにより、その電源線35の支線35cを介して入力されるパルスセンサ21の電源電圧V2を監視する構成になっている。
(レベル判定及び閾値学習)
次に、上記のように構成された本実施形態のシート制御装置50において、そのECU20に設けられたパルス検出装置30としてのマイコン31が実行する信号値Vspのレベル判定、及びそのレベル判定に用いる閾値の学習制御について説明する。
図4に示すように、本実施形態のマイコン31は、周期的に、そのA/D変換ポート41を介して入力されるパルス信号Spの信号値Vspを検出する。更に、マイコン31は、この検出したパルス信号Spの信号値Vspを記憶領域31mに保持した閾値Thと比較することにより(図3参照)、その信号値VspがハイレベルLvHであるかローレベルLvLであるかのレベル判定を実行する。尚、説明の便宜上、図4中、ハイレベルLvH及びローレベルLvLは、単に「H」「L」として記載する。更に、マイコン31は、このレベル判定の履歴(レベル判定履歴MLv)を、その記憶領域31mに保持する(図3参照)。そして、本実施形態のマイコン31は、この記憶領域31mに保持したレベル判定履歴MLvに基づいて、そのパルス信号Spのエッジを検出する。
詳述すると、本実施形態のマイコン31は、検出した信号値Vspのレベル判定に用いる閾値Thとして、その信号値VspがハイレベルLvHであると判定するためのハイレベル閾値ThH、及びその信号値VspがローレベルLvLであると判定するためのローレベル閾値ThLを設定する。尚、本実施形態のマイコン31は、ローレベル閾値ThLを基準に(ThL=Th)、そのハイレベル閾値ThHを設定する(ThH=ThL+ΔHL)。そして、その所定周期で検出したパルス信号Spの信号値Vspがハイレベル閾値ThHよりも高い場合には、その信号値VspがハイレベルLvHであると判定し、信号値Vspがローレベル閾値ThLよりも低い場合には、その信号値VspがローレベルLvLであると判定する。
尚、本実施形態のマイコン31は、検出したパルス信号Spの信号値Vspがハイレベル閾値ThHとローレベル閾値ThLとの間にある場合には、その記憶領域31mに保持したレベル判定履歴MLvに基づいて、前回の検出タイミングにおける判定結果を引き継ぐ。
即ち、前回の検出タイミングにおける判定結果がハイレベルLvHであった場合には、今回の検出タイミングにおいてもハイレベルLvHであると判定する。例えば、図4に示す例では、タイミングt20において検出したパルス信号Spの信号値Vspは、ハイレベル閾値ThHとローレベル閾値ThLとの間にある。このため、このタイミングt20におけるパルス信号Spの信号値Vspは、前回のタイミングt19における信号値Vspの検出結果と同じハイレベルLvHであると判定する。そして、同様に、前回の検出帯タイミングにおける判定結果がローレベルLvLであった場合には、今回の検出タイミングにおいてもまたローレベルLvLであると判定する。
また、本実施形態のマイコン31は、その記憶領域31mに保持したレベル判定履歴MLvに基づきパルス信号Spのエッジを検出する際、2回以上の連続一致を含んで3回以上同じ信号レベルLvの判定があった場合に、パルス信号Spのエッジを検出するために用いるエッジ検出論理LEDの切り替わり(H→L、又はL→H)があったと判定する。
例えば、この図4に示す例では、タイミングt4,t12において、その信号レベルLvがローレベルLvLからハイレベルLvHに切り替わっているが、上記検出条件により、そのエッジ検出論理LEDがローレベルLvLからハイレベルLvHに切り替わるのは、それぞれ、タイミングt6,t14となっている。また、タイミングt8,t16において、その信号レベルLvがハイレベルLvHからローレベルLvLに切り替わっているが、そのエッジ検出論理LEDがハイレベルLvHからローレベルLvLに切り替わるのは、それぞれ、タイミングt10,t18となっている。更に、タイミングt19において、そのパルス信号Spの信号レベルLvがローレベルLvLからハイレベルLvHに切り替わり、タイミングt21において、そのパルス信号Spの信号レベルLvがハイレベルLvHからローレベルLvLに切り替わっている。しかしながら、この場合には、上記の検出条件を満たさないことから、そのエッジ検出論理LEDは、ローレベルLvLのままとなっている。
さらに詳述すると、図5のフローチャートに示すように、本実施形態のマイコン31は、車両の始動(IGオン)に伴いパルスセンサ21に対して電源投入が行われることにより(ステップ101:YES)、そのパルスセンサ21用の電源部34が出力する電源電圧V2の検出を実行する(ステップ102)。また、マイコン31は、パルスセンサ21の電源電圧V2が安定した状態にあるか否かを判定する(ステップ103)。尚、本実施形態のマイコン31において、このステップ103における電源電圧V2の安定状態判定は、電源電圧V2の検出値が所定値以上に上昇した状態が所定時間以上継続しているか否かに基づいて行われる。そして、本実施形態のマイコン31は、そのパルスセンサ21の電源電圧V2が安定した状態にあると判定した場合(ステップ103:YES)には、その時点における電源電圧V2の検出値を当該電源電圧V2の基準値Vstdに設定する(ステップ104)。
また、本実施形態のマイコン31は、上記ステップ104において設定した電源電圧V2の基準値Vstdに基づき、そのパルスセンサ21が出力するパルス信号Spについて、上記のような信号値Vspのレベル判定を行うための閾値Thの初期値ThSを設定する(ステップ105)。尚、本実施形態のマイコン31は、電源電圧V2の基準値Vstdに所定の係数を乗じた値に所定のオフセット値を加えることにより、その閾値Thの初期値ThSを演算する(ThS=α×Vstd+β)。そして、本実施形態のマイコン31は、この初期値ThSを初回値として、その閾値Thの学習制御を実行する構成になっている(ステップ106)。
具体的には、図3及び図4に示すように、本実施形態のマイコン31は、その記憶領域31mに、上記レベル判定履歴MLvと関連付けてパルス信号Spの信号値Vspについての検出履歴を保持する(信号値検出履歴MVsp)。
また、図6及び図7に示すように、本実施形態のマイコン31は、この信号値検出履歴MVspに基づいて、ハイレベルLvHであると判定された信号値Vspの平均値VHav及びローレベルLvLであると判定された信号値Vspの平均値VLavを演算する。更に、本実施形態のマイコン31は、そのハイレベルであると判定された信号値Vspの平均値VHavに基づいたハイフィルタ値VHF及びローレベルであると判定された信号値Vspの平均値VLavに基づいたローフィルタ値VLFを演算するとともに、これらのハイフィルタ値VHFとローフィルタ値VLFとの間に閾値目標値Th0を設定する。そして、本実施形態のマイコン31は、これらのハイフィルタ値VHF、ローフィルタ値VLF、及び閾値目標値Th0を更新しつつ、その閾値Thを閾値目標値Th0に近付けるべく、新たな閾値Th´を演算する構成になっている(閾値学習制御)。
即ち、図8のフローチャートに示すように、マイコン31は、閾値学習制御の実行中においても、パルスセンサ21が出力するパルス信号Spの信号値Vspを取得すると(ステップ201)、この信号値Vspと閾値Thとの比較に基づいたレベル判定を実行する(ステップ202)。
尚、図6に示すように、本実施形態のマイコン31は、電源投入直後においては、そのパルスセンサ21の電源電圧V2に基づき演算した閾値Thの初期値ThS(図5参照、ステップ104及びステップ105)をローレベル閾値ThLに設定する。そして、学習制御の実行中は、ローレベル閾値ThLとハイレベル閾値ThHとの間の設定間隔ΔHLが最小となるように(例えば、1LSB:最小分解能)、そのローレベル閾値ThLを基準にハイレベル閾値ThHを設定する。
図8に示すように、次に、マイコン31は、そのステップ202のレベル判定結果に基づいて、そのレベル判定の履歴を更新する(レベル判定履歴MLv、ステップ203)。また、マイコン31は、このレベル判定履歴MLvに関連付けられた信号値Vspの検出履歴を更新する(信号値検出履歴MVsp、ステップ204)。更に、マイコン31は、これらのレベル判定履歴MLv及び信号値検出履歴MVspに基づいて、そのパルスセンサ21が出力するパルス信号Spの信号値Vspについての上記ハイフィルタ値VHFを演算し(ステップ205)、及びローフィルタ値VLFを演算する(ステップ206)。そして、本実施形態のマイコン31は、これらのハイフィルタ値VHF及びローフィルタ値VLFに基づいて、その閾値目標値Th0を演算する(ステップ207)。
具体的には、本実施形態のマイコン31は、これらハイフィルタ値VHFとローフィルタ値VLFとの中間値を閾値目標値Th0として演算する(Th0=(VHF+VLF)/2)。更に、マイコン31は、その記憶領域31mに保持する閾値Thを読み出して(ステップ208)、この閾値Thとして保持する値(保持値)と閾値目標値Th0との偏差ΔThを演算する(ΔTh=Th0−Th、ステップ209)。そして、本実施形態のマイコン31は、この偏差ΔThに学習ゲイン(比例ゲイン)Kを乗じた値を補正値として現在の閾値Thに加えることにより、その新たな閾値Th´を演算する(Th´=Th+(K×ΔTh)、ステップ210)。
そして、本実施形態のマイコン31は、このステップ210において演算した新たな閾値Th´で、その閾値Thとして記憶領域31mに保持された値を更新することにより(Th=Th´、ステップ211)、当該閾値Thの学習を行う構成となっている。
さらに詳述すると、図6及び図7に示すように、本実施形態のマイコン31は、検出したパルス信号Spの信号値VspがハイレベルLvHである旨の判定回数nHが所定回数n0に到達する毎に、当該ハイレベルLvHであると判定された所定回数n0分の信号値Vspの平均値VHavを単位ハイレベル平均値VHavUとして演算する。また、マイコン31は、検出したパルス信号Spの信号値VspがローレベルLvLである旨の判定回数nLが所定回数n0に到達する毎に、当該ローレベルLvLであると判定された所定回数n0分の信号値Vspの平均値VLavを単位ローレベル平均値VLavUとして演算する。そして、本実施形態のマイコン31は、これらの単位ハイレベル平均値VHavU及び単位ローレベル平均値VLavUに基づいて、そのハイフィルタ値VHF及びローフィルタ値VLFを演算する。
具体的には、図6に示すように、本実施形態のマイコン31は、最初に演算した単位ハイレベル平均値VHavU及び単位ローレベル平均値VLavUを、それぞれ、その初回のハイフィルタ値VHF及び初回のローフィルタ値VLFに設定する。そして、そのハイフィルタ値VHF及びローフィルタ値VLFの両方が演算されていることを条件に、閾値目標値Th0を演算し、及び、この閾値目標値Th0に基づいた新たな閾値Th´を演算する。
また、図3に示すように、本実施形態のマイコン31は、演算したハイフィルタ値VHF及びローフィルタ値VLFを、それぞれ、その記憶領域31mに保持する。
更に、図7に示すように、本実施形態のマイコン31は、新たに単位ハイレベル平均値VHavUが演算される毎に、この演算された単位ハイレベル平均値VHavUと、そのハイフィルタ値VHFとして記憶領域31mに保持する値(保持値)に基づいて、新たなハイフィルタ値VHF´を演算する。同様に、マイコン31は、新たに単位ローレベル平均値VLavUが演算される毎に、この演算された単位ローレベル平均値VLavUと、そのローフィルタ値VLFとして記憶領域31mに保持する値(保持値)に基づいて、新たなローフィルタ値VLF´を演算する。そして、本実施形態のマイコン31は、その演算した新たなハイフィルタ値VHF´によりハイフィルタ値VHFの保持値を更新し(VHF=VHF´)、及び、その演算した新たなローフィルタ値VLF´でローフィルタ値VLFの保持値を更新する(VLF=VLF´)。
尚、本実施形態のマイコン31は、新たなハイフィルタ値VHF又は新たなローフィルタ値VLFの何れかを演算する毎に、閾値目標値Th0を演算する。そして、本実施形態のマイコン31は、これにより、そのハイフィルタ値VHF、ローフィルタ値VLF、及び閾値目標値Th0を更新しつつ、その閾値Thの学習を行う構成になっている。
具体的には、図9のフローチャートに示すように、本実施形態のマイコン31は、そのハイフィルタ値VHFの演算処理(図8参照、ステップ205)において、先ず、その直前に行われたレベル判定の結果がハイレベル判定、つまりは検出したパルス信号Spの信号値VspがハイレベルLvHと判定されていた否かを判定する(ステップ301)。更に、マイコン31は、このレベル判定の結果がハイレベル判定であった場合(ステップ301:YES)には、計数用のカウンタをインクリメントして(nH=nH+1、ステップ302)、そのパルス信号Spの信号値VspがハイレベルLvHである旨の判定回数nHが所定回数n0に到達したか否かを判定する(ステップ303)。そして、ハイレベルLvHである旨の判定回数nHが所定回数n0に到達した場合(nH≧n0、ステップ303:YES)には、レベル判定履歴MLv及び信号値検出履歴MVspに基づいて、ハイレベルLvHであると判定された所定回数n0分の信号値Vspの平均値VHavを単位ハイレベル平均値VHavUとして演算する(ステップ304)。
次に、本実施形態のマイコン31は、このステップ304において演算された単位ハイレベル平均値VHavUが初回演算値、つまり、最初に演算した値であるか否かを判定する(ステップ305)。そして、初回演算値である場合(ステップ305:YES)には、そのステップ304において演算した単位ハイレベル平均値VHavUを初回のハイフィルタ値VHFに設定するとともに(ステップ306)、その値を記憶領域31mに保持する(ステップ307)。
一方、上記ステップ305において、初回演算値ではないと判定した場合(ステップ305:NO)、つまりは、既にハイフィルタ値VHFを記憶領域31mに保持している場合、マイコン31は、そのハイフィルタ値VHFとして保持する値(保持値)を記憶領域31mから読み出す(ステップ308)。そして、このハイフィルタ値VHFの保持値と上記ステップ304において演算した単位ハイレベル平均値VHavUとの平均値を求めることにより、その新たなハイフィルタ値VHF´を演算する(VHF´=(VHF+VHavU)/2、ステップ309)。
更に、本実施形態のマイコン31は、このステップ309において演算した新たなハイフィルタ値VHF´によって、その記憶領域31mに保持するハイフィルタ値VHFの値を更新する(VHF=VHF´、ステップ310)。そして、このステップ310又は上記ステップ307の処理を実行した後、その計数用のカウンタをクリアする構成になっている(nH=0、ステップ311)。
尚、本実施形態のマイコン31は、上記ステップ303において、ハイレベルLvHである旨の判定回数nHが所定回数n0に到達していないと判定した場合(nH<n0、ステップ303:NO)、ステップ304以降の各処理を実行しない。そして、上記ステップ301において、レベル判定の結果がハイレベル判定でなかった場合(ステップ303:NO)には、ステップ302以降の各処理を実行しない。
また、図10のフローチャートに示すように、本実施形態のマイコン31は、そのローフィルタ値VLFの演算処理(図8参照、ステップ206)においても同様に、先ず、その直前に行われたレベル判定の結果がローレベル判定、つまりは検出したパルス信号Spの信号値VspがローレベルLvLと判定されていた否かを判定する(ステップ401)。更に、マイコン31は、このレベル判定の結果がローレベル判定であった場合(ステップ401:YES)には、計数用のカウンタをインクリメントして(nL=nL+1、ステップ402)、そのパルス信号Spの信号値VspがローレベルLvLである旨の判定回数nLが所定回数n0に到達したか否かを判定する(ステップ403)。そして、ローレベルLvLである旨の判定回数nLが所定回数n0に到達した場合(nL≧n0、ステップ403:YES)には、レベル判定履歴MLv及び信号値検出履歴MVspに基づいて、ローレベルLvLであると判定された所定回数n0分の信号値Vspの平均値VLavを単位ローレベル平均値VLavUとして演算する(ステップ404)。
次に、本実施形態のマイコン31は、このステップ404において演算された単位ローレベル平均値VLavUが初回演算値、つまり、最初に演算した値であるか否かを判定する(ステップ405)。そして、初回演算値である場合(ステップ405:YES)には、そのステップ404において演算した単位ローレベル平均値VLavUを初回のローフィルタ値VLFに設定するとともに(ステップ406)、その値を記憶領域31mに保持する(ステップ407)。
一方、上記ステップ405において、初回演算値ではないと判定した場合(ステップ405:NO)、つまりは、既にローフィルタ値VLFを記憶領域31mに保持している場合、マイコン31は、そのローフィルタ値VLFとして保持する値(保持値)を記憶領域31mから読み出す(ステップ408)。そして、このローフィルタ値VLFの保持値と上記ステップ404において演算した単位ローレベル平均値VLavUとの平均値を求めることにより、その新たなローフィルタ値VLF´を演算する(VLF´=(VLF+VLavU)/2、ステップ409)。
更に、本実施形態のマイコン31は、このステップ409において演算した新たなローフィルタ値VLF´によって、その記憶領域31mに保持するローフィルタ値VLFの保値を更新する(VLF=VLF´、ステップ410)。そして、このステップ410又は上記ステップ407の処理を実行した後、その計数用のカウンタをクリアする構成になっている(nL=0、ステップ411)。
尚、本実施形態のマイコン31は、上記ステップ403において、ローレベルLvLである旨の判定回数nLが所定回数n0に到達していないと判定した場合(nL<n0、ステップ403:NO)、ステップ404以降の各処理を実行しない。そして、上記ステップ401において、レベル判定の結果がローレベル判定でなかった場合(ステップ403:NO)には、ステップ402以降の各処理を実行しない。
また、図11に示すように、本実施形態のマイコン31は、このような信号値Vspのレベル判定に用いる閾値Thの学習制御中(図8参照)、その間に検出されたパルス信号Spのエッジ(図4参照)をカウントする。そして、このエッジのカウント数Nが所定値N1に到達した場合に(N=N1)、新たな閾値Th´の演算を停止して、その閾値Thの学習を終了する。
更に、本実施形態のマイコン31は、閾値Thの学習を終了した後、そのハイレベル閾値ThHとローレベル閾値ThLとの間の設定間隔ΔHLを広げるオフセット処理を実行する。尚、本実施形態のマイコン31において、このハイレベル閾値ThH及びローレベル閾値ThLのオフセット処理は、そのハイレベル閾値ThHを所定値分、引き上げ、ローレベル閾値ThLを所定値分、引き下げることにより行われる。そして、これにより、その閾値Thの学習制御中、これらのハイレベル閾値ThH及びローレベル閾値ThLを用いたレベル判定領域から、そのパルス信号Spの信号値Vspが外れない構成になっている。
具体的には、図12のフローチャートに示すように、本実施形態のマイコン31は、閾値Thの学習制御中であるか否かを判定し(ステップ501)、学習制御中である場合(ステップ501:YES)には、既に、そのパルス信号Spのエッジをカウント中であるか否かを判定する(ステップ502)。そして、まだパルス信号Spのエッジカウントを開始していない場合(ステップ502:NO)には、そのエッジカウント用のカウンタをセットする(N=0、ステップ503)。
また、マイコン31は、パルス信号Spのエッジを検出した場合(ステップ504:YES)には、エッジカウント用のカウンタをインクリメントして(N=N+1、ステップ505)、そのエッジのカウント数Nが所定値N1に到達したか否かを判定する(ステップ506)。そして、エッジのカウント数Nが所定値N1に到達したと判定した場合(ステップ506:YES)には、その閾値Thの学習制御を終了して(ステップ507)、この閾値Thとして設定するローレベル閾値ThLとハイレベル閾値ThHとの間の設定間隔ΔHLを拡開させる(ステップ508)。
更に、図13のフローチャートに示すように、本実施形態のマイコン31は、閾値Thの学習制御を終了した後(ステップ601:YES)、パルスセンサ21の電源電圧V2を監視する(ステップ602〜ステップ606)。
具体的には、本実施形態のマイコン31は、パルスセンサ21の電源電圧V2を検出すると(ステップ602)、続いて、その記憶領域31mに保持する先に行った閾値Thの学習時における電源電圧V2の基準値Vstdを読み出す(ステップ603)。次に、マイコン31は、これらパルスセンサ21の電源電圧V2についての検出値と基準値Vstdとの差分を求めることにより、その基準値Vstdからの変動幅ΔV2を演算する(ΔV2=|Vstd−V2|、ステップ604)。そして、この電源電圧V2の変動幅ΔV2が、所定の閾値γを超えた場合(ΔV2>γ、ステップ605:YES)には、そのパルスセンサ21の電源電圧V2が、先に行った閾値Thの学習制御の実行時における基準値Vstdから所定範囲を超えて変動した状況にあると判定する(ステップ606)。
また、本実施形態のマイコン31は、このような電源電圧V2の変動を検出した場合には、上記ステップ602において取得した電源電圧V2の検出値によって、その記憶領域31mに保持する当該電源電圧V2の基準値Vstdを更新する(Vstd=V2、ステップ607)。そして、その後、再び、閾値Thの学習制御を実行する構成になっている(閾値学習再開、ステップ608)。
尚、本実施形態のマイコン31は、閾値Thの学習制御を実行中、パルスセンサ21の電源電圧V2が所定の閾値を超えて低下した場合には、その閾値Thの学習制御を中止する。そして、これにより、安定的に、その信号値Vspのレベル判定に用いる閾値Thを学習することが可能になっている。
以上、本実施形態によれば、以下のような効果を得ることができる。
(1)信号値検出部60a及びレベル判定部60bとしてのマイコン31は、周期的にパルス信号Spの信号値Vspを検出するとともに、その信号値Vspを閾値Thと比較することにより、この信号値VspがハイレベルLvHであるかローレベルLvLであるかのレベル判定を実行する。また、レベル判定履歴保持部60c及び信号値検出履歴保持部60dとしてのマイコン31は、そのレベル判定履歴MLvを保持するとともに、このレベル判定履歴MLvと関連付けて信号値Vspの検出履歴を保持する(信号値検出履歴MVsp)。更に、ハイフィルタ値演算部60e及びローフィルタ値演算部60fとしてのマイコン31は、ハイレベルLvHであると判定された信号値Vspの平均値VHavに基づくハイフィルタ値VHFを演算し、及びローレベルLvLであると判定された信号値Vspの平均値VLavに基づくローフィルタ値VLFを演算する。そして、閾値目標値設定部60g及び閾値学習部60hとしてのマイコン31は、これらのハイフィルタ値VHFとローフィルタ値VLFとの間に設定する閾値目標値Th0に基づいて新たな閾値Th´を演算する。
上記構成によれば、ハイレベルLvHと判定すべきパルス信号Spの信号値Vsp及びローレベルLvLと判定すべきパルス信号Spの信号値Vspが変動する状況においても、正しく、その信号値Vspのレベル判定に用いる閾値Thを学習することができる。そして、これにより、安定的に、そのパルス信号Spを検出することができる。
(2)閾値目標値設定部60gとしてのマイコン31は、ハイフィルタ値VHFとローフィルタ値VLFとの中間値を閾値目標値Th0に設定する(Th0=(VHF+VLF)/2、図8参照、ステップ207)。
上記構成によれば、そのハイレベルLvHと判定すべき信号値VspとローレベルLvLと判定すべき信号値Vspとの中間に新たな閾値Th´が演算されやすくなる。そして、これにより、より安定的に、そのパルス信号Spを検出することができる。
(3)閾値保持部60iとしてのマイコン31は、その記憶領域31mに閾値Thを保持する。また、閾値更新演算部60jとしてのマイコン31は、その閾値Thとして保持する値(保持値)と閾値目標値Th0との偏差ΔThを演算する(ΔTh=Th0−Th、図8参照、ステップ209)。そして、この偏差ΔThに学習ゲイン(比例ゲイン)Kを乗じた値を補正値として現在の閾値Thに加えることにより、その新たな閾値Th´を演算する(Th´=Th+(K×ΔTh)、ステップ210)。
上記構成によれば、閾値目標値Th0に閾値Thを追従させるかたちで、その閾値Thの学習を進めることができる。即ち、閾値Thの学習が進む毎に、その閾値Thを閾値目標値Th0に近付けることができる。そして、これにより、より安定的に、そのパルス信号Spを検出することができる。
(4)ハイフィルタ値保持部60kとしてのマイコン31は、その記憶領域31mにハイフィルタ値VHFを保持する(図3参照)。また、単位ハイレベル平均値演算部60lとしてのマイコン31は、パルス信号Spの信号値VspがハイレベルLvHである旨の判定回数nHが所定回数n0に到達する毎に、該ハイレベルLvHであると判定された所定回数n0分の信号値Vspの平均値VHavを単位ハイレベル平均値VHavUとして演算する(図9参照)。そして、ハイフィルタ値更新演算部60mとしてのマイコン31は、そのハイフィルタ値VHFとして記憶領域31mに保持する値と単位ハイレベル平均値VHavUとの平均値を求めることにより新たなハイフィルタ値VHF´を演算する(VHF´=(VHF+VHavU)/2、ステップ309)。同様に、ローフィルタ値保持部60nとしてのマイコン31は、その記憶領域31mにローフィルタ値VLFを保持する。更に、単位ローレベル平均値演算部60oとしてのマイコン31は、パルス信号Spの信号値VspがローレベルLvLである旨の判定回数nLが所定回数n0に到達する毎に、該ローレベルLvLであると判定された所定回数n0分の信号値Vspの平均値VLavを単位ローレベル平均値VLavUとして演算する(図10参照)。そして、ローフィルタ値更新演算部60pとしてのマイコン31は、そのローフィルタ値VLFとして記憶領域31mに保持する値と単位ローレベル平均値VLavUとの平均値を求めることにより新たなローフィルタ値VLF´を演算する(VLF´=(VLF+VLavU)/2、ステップ409)。
上記構成によれば、ハイレベルLvHであると判定された信号値Vspの平均値VHavに基づいたハイフィルタ値VHFの演算負荷、及びローレベルLvLであると判定された信号値Vspの平均値VLavに基づいたローフィルタ値VLFの演算負荷を軽減することができる。そして、これにより、そのマイコン31の演算能力を含めた構成の簡素化を図ることができる。
(5)ハイレベル閾値設定部60q及びローレベル閾値設定部60rとしてのマイコン31は、検出した信号値Vspのレベル判定に用いる閾値Thとして、その信号値VspがハイレベルLvHであると判定するためのハイレベル閾値ThH、及びその信号値VspがローレベルLvLであると判定するためのローレベル閾値ThLを設定する。そして、オフセット処理部60sとしてのマイコン31は、新たな閾値Th´の演算を停止して当該閾値Thの学習を終了した後、これらハイレベル閾値ThHとローレベル閾値ThLとの間の設定間隔ΔHLを拡開させる(図11参照)。
即ち、閾値Thの学習制御中は、そのハイレベル閾値ThHとローレベル閾値ThLとの間の設定間隔ΔHLを狭くすることで、これらハイレベル閾値ThH及びローレベル閾値ThLを用いたレベル判定領域から、そのパルス信号Spの信号値Vspが外れないようにすることができる。そして、その閾値Thの学習を終了した後は、これらのハイレベル閾値ThHとローレベル閾値ThLとの間の設定間隔ΔHLを広げることで、より正しく、その検出した信号値VspがハイレベルLvHであるかローレベルLvLであるかを判定することができる。
(6)電源電圧検出部60tとしてのマイコン31は、パルス信号Spを出力するパルスセンサ21の電源電圧V2を検出する。そして、再開判定部60uとしてのマイコン31は、新たな閾値Th´の演算を停止して当該閾値Thの学習を終了した後、その電源電圧V2が、先に行った閾値Thの学習制御の実行時における基準値Vstdから所定範囲を超えて変動した場合には、再び、閾値Thの学習を実行する(閾値学習再開、図13参照)。
上記構成によれば、閾値Thの学習を終了した後、そのハイレベルLvHと判定すべき信号値Vsp及びローレベルLvLと判定すべき信号値Vspが変動した状況においても、再度、この状況に応じた閾値Thを学習することで、安定的に、そのパルス信号Spを検出することができる。
(7)エッジ検出部60v及びパルスカウント部60wとしてのマイコン31は、レベル判定履歴MLvに基づきパルス信号Spのエッジを検出するとともに、そのエッジをカウントする。そして、終了判定部60xとしてのマイコン31は、そのエッジのカウント数Nが所定値N1に到達した場合に、新たな閾値Th´の演算を停止して、その閾値Thの学習を終了する。
即ち、エッジのカウント数Nが所定値N1に到達するまで、ハイフィルタ値VHF、ローレベルLvL、及び閾値目標値Th0を更新しつつ、その閾値目標値Th0に基づく新たな閾値Th´の演算を繰り返すことで、正しく、その閾値Thを学習したもの判定することができる。そして、これにより、その閾値Thの学習を終了することで、マイコン31の演算負荷を軽減することができる。
(8)パルスセンサ21は、パルス信号Spの信号線43を兼ねる電源線35と、接地接続(GND接続)される接地線36と、を備えた所謂二線式のセンサ構成を有する。
即ち、二線式のセンサ構成を有するパルスセンサ21は、ハイレベルLvHと判定すべき信号値VspとローレベルLvLと判定すべき信号値Vspとの差が縮小することで、例えば、電源電圧の変動や構成部品のバラツキ等を要因とした信号値変化の影響を受けやすくなる。従って、このようなものに上記(1)〜(7)の構成を適用することで、より顕著な効果を得ることができる。
(9)パルス検出装置30としての機能を有するマイコン31は、シート1に設定された可動要素ME(MEa〜MEd)の作動を制御するECU20に設けられる。また、マイコン31には、その可動要素ME(MEa〜MEd)の動作に同期したパルス信号Sp(Spa〜Spd)が入力される。そして、ECU20は、そのマイコン31によるパルス信号Spの検出結果に基づき各可動要素MEの動作位置X(Xa〜Xd)を検出する動作位置検出部61としての機能を有する。このような構成を採用することで、より安定的に、そのシート1に設定された可動要素MEの動作位置Xを検出することができる。
(10)ECU20は、マイコン31用の電源部33とは独立に設けられたパルスセンサ21用の電源部34を備える。
即ち、マイコン31用の電源部33とパルスセンサ21用の電源部34とを分けることで、より安定した電源電圧V1をマイコン31に供給することができる。そして、これにより、そのマイコン31の動作を安定させることができる。更に、マイコン31には、ハイレベルLvHと判定すべき信号値Vsp及びローレベルLvLと判定すべき信号値Vspが変動する状況においても安定的にパルス信号Spを検出することが可能なパルス検出装置30が実装される。そして、これにより、パルスセンサ21用の電源部34について構成の簡素化を図ることができる。
(11)閾値初期値演算部62aとしてのマイコン31は、パルスセンサ21の電源電圧V2に基づいて、その信号値Vspのレベル判定に用いる閾値Thの初期値ThSを設定する。これにより、その電源電圧V2に基づきパルスセンサ21が出力する信号値Vspに応じた適切な閾値Thの初期値ThSを設定することができる。
(12)初回ハイフィルタ値演算部62b及び初回ローフィルタ値演算部62cとしてのマイコン31は、最初に演算した単位ハイレベル平均値VHavU及び単位ローレベル平均値VLavUを、それぞれ、その初回のハイフィルタ値VHF及び初回のローフィルタ値VLFに設定する。これにより、適切に、そのハイフィルタ値VHF及びローフィルタ値VLFに基づいた閾値目標値Th0を演算することができる。
なお、上記実施形態は以下のように変更してもよい。
・上記実施形態では、シート1には、シートリクライニングMEa、シートスライドMEb、シートリフターMEc、及びシートアラウンドMEdの4つの可動要素MEが設定される。また、これらの各可動要素ME(MEa〜MEd)は、シート制御装置50を構成するECU20により、その動作位置X(Xa〜Xd)が調整される。更に、このECU20に設けられたマイコン31には、これらの各可動要素MEの動作に同期したパルス信号Sp(Spa〜Spd)を検出するパルス検出装置30が実装される。そして、ECU20は、そのマイコン31によるパルス信号Spの検出結果に基づき各可動要素MEの動作位置Xを検出する動作位置検出部61としての機能を有することとした。
しかし、これに限らず、シート1に設定する可動要素ME及びその組合せは、任意に変更してもよい。例えば、シートクッション2やヘッドレスト4のチルト動作(及び上下スライド動作)、或いはオットマンの展開動作等をシート1の可動要素MEとするものに適用してもよい。そして、そのマイコン31によるパルス信号Spの検出結果に基づいた動作位置Xの検出対象及びその組合せについてもまた、任意に変更してもよい。
・更に、シート1に設定された各可動要素MEの動作位置検出以外に用いられるパルス検出装置30に適用してもよい。即ち、パルス検出装置30に入力されるパルス信号Spは、必ずしもシート1に設定された可動要素MEの動作に同期したものでなくともよい。
・上記実施形態では、パルス検出装置30が実装されたマイコン31に対してパルス信号Spを出力するパルスセンサ21は、電源線35と接地線36とを備えた所謂二線式のセンサ構成を有することとした。しかし、これに限らず、そのパルス検出装置30に対し、独立した信号線を有する所謂三線式のパルスセンサが出力するパルス信号Spを入力する構成に適用してもよい。即ち、このような構成に適用した場合にも、上記実施形態と同様、安定的にパルス信号Spを検出することができる。
・更に、上記実施形態では、パルスセンサ21は、センサ部を構成するホールIC37と、信号出力部を構成するNPNトランジスタ38及び抵抗39の直列回路と、を備えることとしたが、そのセンサ部及び信号出力部の構成についてもまた、任意に変更してもよい。例えば、センサ部は、ホールIC37のような磁気式のものに代えて光学式のものを用いてもよい。そして、信号出力部についてもまた、そのNPNトランジスタ38に代えて、例えば、MOSFET等、その他のスイッチング素子を用いる構成としてもよい。
・上記実施形態では、ハイフィルタ値VHFとローフィルタ値VLFとの中間値を閾値目標値Th0に設定することとしたが(Th0=(VHF+VLF)/2)、必ずしも、このような数学的に厳密な中間値に設定しなくともよい。
・上記実施形態では、パルス信号Spの信号値VspがハイレベルLvHである旨の判定回数nHが所定回数n0に到達する毎に、該ハイレベルLvHであると判定された所定回数n0分の信号値Vspの平均値VHavを単位ハイレベル平均値VHavUとして演算する。同様に、信号値VspがローレベルLvLである旨の判定回数nLが所定回数n0に到達する毎に、該ローレベルLvLであると判定された所定回数n0分の信号値Vspの平均値VLavを単位ローレベル平均値VLavUとして演算する。そして、そのハイフィルタ値VHFの保持値と単位ハイレベル平均値VHavUとの平均値を新たなハイフィルタ値VHF´とし(VHF´=(VHF+VHavU)/2)、及びローフィルタ値VLFの保持値と単位ローレベル平均値VLavUとの平均値を新たなローフィルタ値VLF´とすることとした(VLF´=(VLF+VLavU)/2)。
しかし、これに限らず、ハイフィルタ値VHF及びローフィルタ値VLFは、それぞれ、ハイレベルLvHであると判定された信号値Vspの平均値VHavに基づいた値及びローレベルLvLであると判定された信号値Vspの平均値VLavに基づいた値であれば、任意に変更してもよい。例えば、ハイレベルLvHであると判定された信号値Vspの移動平均値及びローレベルLvLであると判定された信号値Vspの移動平均値を、それぞれ、そのハイフィルタ値VHF及びローフィルタ値VLFに用いる構成としてもよい。そして、単位ハイレベル平均値VHavUの移動平均値及び単位ローレベル平均値VLavUの移動平均値を、それぞれ、そのハイフィルタ値VHF及びローフィルタ値VLFに用いる構成としてもよい。
・上記実施形態では、ローレベル閾値ThLを基準に(ThL=Th)、ハイレベル閾値ThHを設定することとした(ThH=ThL+ΔHL)。しかし、これに限らず、ハイレベル閾値ThHを基準に(ThH=Th)、ローレベル閾値ThLを設定する構成であってもよい(ThL=ThH−ΔHL)。また、学習した閾値Thの上下にハイレベル閾値ThH及びローレベル閾値ThLを設定する構成であってもよい。そして、一つの閾値Thを用いて、その信号値Vspのレベル判定を行う構成としてもよい。
・上記実施形態では、閾値Thとして保持する値(保持値)と閾値目標値Th0との偏差ΔThを演算し(ΔTh=Th0−Th)、この偏差ΔThに学習ゲイン(比例ゲイン)Kを乗じた値を補正値として現在の閾値Thに加えることにより、その新たな閾値Th´を演算することとした(Th´=Th+(K×ΔTh))。しかし、これに限らず、例えば、微分制御や積分制御の要素を加える等、その閾値Thとして保持する値と閾値目標値Th0との偏差ΔThに基づいた補正値の演算方法は、任意に変更してもよい。そして、その他、閾値目標値Th0に近い新たな閾値Th´の演算がなされるような任意の方法を採用してもよい。
・上記実施形態では、閾値Thの学習制御中、その間に検出されたパルス信号Spのエッジをカウントする。そして、このエッジのカウント数Nが所定値N1に到達した場合に(N=N1)、新たな閾値Th´の演算を停止して閾値Thの学習を終了することとした。しかし、これに限らず、例えば、新たに演算した閾値Th´が、閾値目標値Th0を基準とした所定範囲内にある場合、或いは新たな閾値Th´の演算を所定回実行した場合等、閾値Thの学習を終了させる判定条件については、任意に変更してもよい。
次に、以上の実施形態から把握することのできる技術的思想を効果とともに記載する。
(イ)前記パルス信号を出力するパルスセンサの電源電圧を検出する電源電圧検出部と、前記パルスセンサの電源電圧に基づいて、前記閾値の初期値を設定する閾値初期値演算部と、を特徴とするパルス検出装置。これにより、その電源電圧に基づきパルスセンサが出力する信号値に応じた適切な閾値の初期値を設定することができる。
(ロ)最初に演算した前記単位ハイレベル平均値を初回のハイフィルタ値に設定する初回ハイフィルタ値設定部と、最初に演算した前記単位ローレベル平均値を初回のローフィルタ値に設定する初回ローフィルタ値設定部と、を備えること、を特徴とするパルス検出装置。これにより、適切に、そのハイフィルタ値及びローフィルタ値に基づいた閾値目標値を演算することができる。