(57)【特許請求の範囲】
【請求項１】
開口を開閉する覆材を駆動する電動モータと、
前記電動モータの回転数に基づいて位相の異なるパルス信号を生成する少なくとも一対の回転数センサと、
前記一対の回転数センサの各々から入力した２つのパルス信号を基に前記覆材の移動方向を判定すると共に該覆材の位置を検出する位置検出手段と
を備え、
前記位置検出手段は、一方の前記回転数センサがエッジを検出したときの他方の前記回転数センサの信号レベルにより前記電動モータの回転方向を判断すると共に、判断された前記回転方向が複数回連続して反転したのを検出したことを条件として前記回転数センサに異常が生じたと判断すること、
を特徴とする開口覆材の開閉制御装置。
【請求項２】
前記パルス信号の周期を計時する計時手段を備え、
前記位置検出手段は、前記計時手段により計時された前記周期が所定周期より小さいときそのパルス信号はノイズであると判断することを特徴とする請求項１に記載の開口覆材の開閉制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、例えば自動車の窓等の開口に設けられるサンルーフやパワーウインドウ等の覆材の開閉制御を行う開口覆材の開閉制御装置に関するものである。
【０００２】
【従来の技術】
従来、例えば自動車の窓等の開口に設けられるサンルーフやパワーウインドウ等の開口覆材を、運転者のスイッチ操作に応じて開閉制御する開口覆材の開閉制御装置を備えるものがある。例えば、特公平５−２５６８６号公報にはサンルーフをチルト開閉およびスライド開閉するサンルーフ開閉制御装置が提案されている。このようなサンルーフでは、電動モータとドライブユニットによってチルト開閉及びスライド開閉を順次行うようにされており、完全に閉じた状態の全閉位置を中心に、電動モータを一方向に回転させることでチルト開方向、逆方向へ回転させることでスライド開方向へとサンルーフは制御される。
【０００３】
また、近年では、サンルーフやパワーウインドウに人や物が挟み込まれたことを検知し、その開閉動作を停止又は反転させる挟み込み防止機能を備えたものもある。この種の開閉制御装置では、サンルーフやパワーウインドウ等の覆材が停止又は反転した状態から次の動作に移るために開閉制御する上で、覆材の位置検出が必要である。上記のような電動モータによる開閉制御装置では、所定位置を基準とした電動モータの回転方向及び回転数を順次検出して計数することで、覆材の位置を検出することができる。
【０００４】
従来、覆材の位置検出方法としては、例えば、モータの回転軸に取り付けた磁石を検出するホールＩＣ（回転数センサ）を使用し、ホールＩＣから入力されるパルス信号のエッジを計数して覆材の位置を検出するものがあった。この位置検出方法では、サンルーフの開閉方向の判定はモータの正転・逆転・停止を制御するリレーのオン／オフ状態を見て行い、モータの停止や回転方向の切り替わりを把握しながら位置カウンタの計数処理を行っていた。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記従来の位置検出方法は、モータの停止や反転のタイミングをリレーのオン／オフ状態から判断していたため、モータの停止や反転を判定してからも、実際にはモータはわずかな期間は惰性回転しており、この惰性回転分が位置カウンタに計数されない場合があった。また、パルス信号に乗ったノイズを誤って計数する計数エラーも心配されていた。
【０００６】
このため、ホールＩＣ等のパルス信号を生成するセンサの他に、サンルーフの絶対位置を検出する位置検出スイッチを設け、位置カウンタの計数値（サンルーフ位置）を位置検出スイッチの検知信号を基に補正するようにしていた。特に、位置検出スイッチなどの位置補正用センサはモータおよび制御ユニットの配設位置から離れた位置に配置される場合も多く、位置検出スイッチが増えるだけでなく長いハーネス等が必要であった。このように従来装置では、ホールＩＣ等のセンサとは別に位置補正用センサを設けなければならなかったため、センサ類の組付点数の増加（ハーネス等も増加）による装置の複雑化および大型化、制御内容の複雑化、組み立て工数増加による製造効率低下などの不都合を招きやすいという問題点があった。
【０００７】
これに対して、本出願人は特願２０００−７０３３９号において、位置検出スイッチを使用せず、互いに位相の異なる２つ（あるいはそれ以上）の回転数センサを使用することで、回転方向によって２つのセンサの入力順序が異なることを利用して回転方向を決定する方法を提案している。これは、第１センサと第２センサに現れるエッジの方向（上昇あるいは下降）とそのタイミングの順序によって回転方向を決定するものであり、例えば、第１センサ→第２センサの順で共に上昇エッジが現れたら正回転等というように、第１センサの前回エッジ方向と第２センサの今回エッジ方向の順番により回転方向を決定する。さらに、決定された各回転方向へのエッジの数をカウントすることで各方向へのモータの回転量を把握できるので、これによって覆材の絶対位置を判定するものである。
【０００８】
しかしながら、例えば、挟み込みが発生して急激な停止あるいは反転が行われた場合等の記憶が曖昧となった状況では、前回のエッジ方向が特定できなくなるおそれがある。上記の方法では前回のエッジ方向を利用して回転方向を決定しているので、このような場合に今回最初に検出したエッジの処理が定義できず、位置ずれの要因となってしまう。さらに、回転方向検出、位置カウントの増減およびセンサの異常判定を同時に成立させるには、複雑な条件分析が必要となるので処理が煩雑であるという問題点があった。
【０００９】
この発明は上記の事情に鑑みてなされたものであって、その目的は、回転数センサを用いるだけで、簡単な処理によって高精度の位置検出が可能となる開口覆材の開閉制御装置を提供することにある。
【００１０】
【課題を解決するための手段】
上記目的を達成するために、請求項１に記載の発明は、開口を開閉する覆材を駆動する電動モータと、電動モータの回転数に基づいて位相の異なるパルス信号を生成する少なくとも一対の回転数センサと、一対の回転数センサの各々から入力した２つのパルス信号を基に覆材の移動方向を判定すると共に該覆材の位置を検出する位置検出手段とを備え、位置検出手段は、一方の回転数センサがエッジを検出したときの他方の回転数センサの信号レベルにより電動モータの回転方向を判断すると共に、判断された前記回転方向が複数回連続して反転したのを検出したことを条件として前記回転数センサに異常が生じたと判断すること、を特徴とするものである。
【００１１】
上記の発明の構成によれば、少なくとも一対の回転数センサが生成する位相の異なるパルス信号によって電動モータの回転方向が判断される。その際、過去のエッジを使用せず、エッジと同時に検出できる他方のセンサの信号レベルを利用するだけでよいので、例えば、挟み込みが発生して急激な停止あるいは反転が行われた場合等の過去の記憶が曖昧である状況でも即座に回転方向が判断できる。従って、回転方向が常に正確に判断できるので回転数の誤差が発生せず、高精度に覆材の位置検出が可能となる。
【００１３】
上記の発明の構成によれば、位置検出手段によって判断されたモータの回転方向が反転を複数回繰り返したとき回転数センサの異常と判断する。例えば、一対の回転数センサのうちの一つが断線、ショート等の異常により信号レベルが変化しない場合、上記の位置検出方法によればエッジを検出する度にモータの回転方向の反転と判断される。しかし、エッジ検出のタイミングでモータが複数回反転を繰り返すことは実際にはあり得ないので、このような場合には回転数センサの異常と判断する。従って、回転数センサの一つに異常が発生した場合においても、即座に異常と判断されるので回転数の誤差が発生せず、高精度に覆材の位置検出が可能となる。
【００１４】
上記目的を達成するために、請求項２に記載の発明は、請求項１に記載の開口覆材の開閉制御装置において、パルス信号の周期を計時する計時手段を備え、位置検出手段は、計時手段により計時された周期が所定周期より小さいときそのパルス信号はノイズであると判断することを特徴とするものである。
【００１５】
上記の発明の構成によれば、計時手段によってパルス信号の周期が計時され、その周期が所定周期より小さいときそのパルス信号はノイズであると判断される。モータにはそれぞれ所定範囲の回転数があり、それを大きく越えて回転することはあり得ない。つまり、モータの回転周期が所定周期範囲より小さいことはあり得ないので、所定周期より小さい周期でパルス信号が発生している場合は、その信号はノイズによるものと判断できる。従って、余計なノイズを回転数としてカウントすることがないので、さらに高精度に覆材の位置検出が可能となる。
【００１６】
【発明の実施の形態】
以下、本発明の開口覆材の開閉制御装置を具体化した一実施の形態を図面を参照して詳細に説明する。図１は、本実施の形態に係るサンルーフ開閉制御装置１の概略構成を示すブロック図である。
【００１７】
図１に示すように、ドライブユニット２は、図示しないサンルーフを開閉する電動モータ２０と電動モータ２０の駆動を制御する制御装置３から構成される。さらに、ドライブユニット２には、自動車に搭載されたバッテリ２１、イグニション（ＩＧ）スイッチ２２、操作スイッチ２３等が接続され、バッテリ２１のプラス電位や各スイッチ２２、２３の信号が入力されている。制御装置３は、マイクロコンピュータ（マイコン）１０を中心として、マイコン１０に電圧を供給する電源回路１１、操作スイッチ２３からの信号を入力する入力インターフェース（Ｉ／Ｆ）回路１２、電動モータ２０を駆動するためのリレー駆動回路１３とリレー１４、１５、電動モータ２０の回転を検出するためのホールＩＣ１６、１７と入力Ｉ／Ｆ回路１８、１９が接続されている。また、マイコン１０には計時手段としてのタイマや記憶手段としてのメモリ等が内蔵されている。
【００１８】
操作スイッチ２３は、自動車の室内に設けられて使用者がサンルーフの開閉操作をするためのものであり、その操作方向に応じてオープン／ダウンあるいはクローズ／アップが入力されるか、あるいは中立位置では共に入力されない。ここで、オープン及びクローズはスライド開閉に関する指示であり、ダウン及びアップはチルト開閉に関する指示である。このサンルーフ開閉制御装置１では、電動モータ２０と図示しないギヤユニットとが一体に組み立てられ、ギヤユニットの出力軸がスライド機構及びチルト機構と作動連結されている。本実施形態では、サンルーフが完全に閉止した全閉状態から、モータ２０が正回転駆動されるとスライドオープンし、逆回転駆動されるとチルトアップする。すなわち、チルトアップ全開位置からモータ２０の正回転駆動によって、チルトダウン→全閉→スライドオープンの順で移動し、スライドオープン全開位置からモータ２０の逆回転駆動によって、スライドクローズ→全閉→チルトアップの順で移動する。操作スイッチ２３は、オープン／ダウンによってモータ２０の正回転駆動を、クローズ／アップによってモータ２０の逆回転駆動を指示することとなる。
【００１９】
また、基準位置からの各方向へのモータ２０の回転数は、ギヤユニットを介してサンルーフの移動距離に一対一に対応している。このことから、例えば全閉位置を原点として、正回転駆動を＋方向、逆回転駆動を−方向としてモータ２０の回転数を累積することで、原点（全閉）からのサンルーフの移動距離、すなわち、サンルーフの絶対位置が判断できる。つまり、サンルーフが基準位置にあるときのモータ２０の回転数を基準として、モータ２０の回転にしたがって回転数を累積して記憶しておくことで、その時のサンルーフの絶対位置が把握できる。
【００２０】
操作スイッチ２３の信号は入力Ｉ／Ｆ回路１２を介してマイコン１０に入力され、マイコン１０はこの信号に応じてリレー駆動回路１３を介してリレー１４、１５を駆動し、モータ２０を駆動制御する。モータ２０の回転軸２０ａにはマグネット３０が取り付けられており、モータ２０の回転によってホールＩＣ１６、１７を横切る磁束が変化する。この変化をホールＩＣ１６、１７で検出した出力が、入力Ｉ／Ｆ回路１８、１９を介してパルス信号としてマイコン１０に入力される。
本実施例のマイコン１０が、請求項１の「位置検出手段」に相当する。
【００２１】
このパルス信号の例を図２に示す。ここでは、ホールＩＣ１６の出力信号をＩＣａ、ホールＩＣ１７の出力信号をＩＣｂ、上記の正回転を回転方向ＣＷ、逆回転を回転方向ＣＣＷと表記している。図２（ａ）は、ＩＣａとＩＣｂのレベルの変化を示すグラフであり、回転方向ＣＷでは時間と共にこのグラフの左から右へと各信号が変化し、回転方向ＣＣＷでは右から左へと変化する。２つのホールＩＣ１６、１７はその出力が図２（ａ）のようにエッジ位置がずれて検知されるように配置され、図中の各数字１〜６および▲１▼〜▲７▼は、ＩＣａがエッジを検出したタイミングである。
【００２２】
また、図２（ｂ）と（ｃ）は、各回転方向でのＩＣａエッジ位置におけるＩＣａ、ＩＣｂのレベルを表にしたものである。図２（ｂ）の表４０に示すように、回転方向ＣＷでは、タイミング１〜６でＩＣａにエッジが検出され、タイミング１、３、５は上昇エッジ、タイミング２、４、６は下降エッジである。それらの時のＩＣｂは表４０に示すとおりであり、ＩＣａが上昇エッジの時にＩＣｂはＬＯレベル、ＩＣａが下降エッジの時にＩＣｂはＨＩレベルを検出する。同様に、図２（ｃ）の表４１に示すように、回転方向ＣＣＷでは、タイミング▲２▼〜▲７▼でエッジが検出され、タイミング▲３▼、▲５▼、▲７▼は上昇エッジ、タイミング▲２▼、▲４▼、▲６▼は下降エッジである。それらの時のＩＣｂは表４１に示すとおりであり、ＩＣａが上昇エッジの時にＨＩレベル、ＩＣｂが下降エッジの時にＬＯレベルを検出する。すなわち、ＩＣａがエッジを検出したとき、そのエッジの方向と同時点でのＩＣｂのレベルを検出することにより、回転方向がＣＷであるかＣＣＷであるかが判断できる。
【００２３】
従って、２つのホールＩＣ１６、１７の出力から、その一方のエッジの方向と他方の信号レベルを同時に検出することで、即時にモータ２０の回転方向が判断される。モータ２０の回転方向の一方、ここでは回転方向ＣＷを＋方向として出現したエッジの回数を累積し、表４０、４１のカウント欄に示すように位置カウントとする。この位置カウントにより、モータ２０の基準位置からの回転数がわかり、従って、サンルーフの絶対位置が把握できる。モータ２０が回転方向ＣＣＷへ回転したときは、表４１のカウント欄に示すようにそのエッジの回数を累積した位置カウントから減算していけばよい。
【００２４】
次に、図３にモータ２０の回転方向が途中で変化した場合のホールＩＣ１６、１７の信号の様子を示す。タイミング５０までは回転方向ＣＷであり、その後ＣＣＷに変化している。図３に示すように、タイミング５１では、ＩＣａ：上昇、ＩＣｂ：ＬＯなので回転方向ＣＷであり、次にエッジが検出されるタイミング５２では、ＩＣａ：下降、ＩＣｂ：ＬＯとなって回転方向ＣＣＷであることがわかる。したがって、位置カウント値はタイミング５１までエッジ毎に＋１し、タイミング５２以降はエッジ毎に−１とすればよく、回転方向が途中で変化した場合でも位置カウントが正しく得られる。
【００２５】
次に、ホールＩＣ１６，１７のいずれかに異常が発生した場合について、図４、図５を使用して説明する。ホールＩＣ１６、１７に、例えばショート、断線等の異常が発生すると、そのＩＣが発生する信号はＨＩまたはＬＯのままで変化しなくなる。図４に示したのは、ホールＩＣ１７の信号ＩＣｂがＬＯのままとなった場合である。ＩＣａ、ＩＣｂは図４（ａ）のグラフに示すようになり、図中各タイミング１〜１１での各信号レベルを図４（ｂ）の表６０に示す。この場合、表６０に示すように、タイミング１、５、９ではＩＣａ：下降、ＩＣｂ：ＬＯなので回転方向ＣＣＷ、タイミング３、７、１１ではＩＣａ：上昇、ＩＣｂ：ＬＯなので回転方向ＣＷと判断される。すなわち、エッジ毎に回転方向が反転していることになる。実際には、このように頻繁に回転方向が反転することはあり得ないので、反転の起きた回数をカウントして反転が所定回数連続したらホールＩＣ１７の異常と判断できる。
【００２６】
同様に、ホールＩＣ１６が異常である場合を図５に示す。図５（ａ）に示すように、ＩＣａがＬＯのままである。このとき、ＩＣａのエッジは検出されないので、フローチャートを用いて後述するようにＩＣｂのエッジを利用する。すると、図５（ｂ）に示すように、各エッジにおいて回転方向が反転したと判断され、したがって、ホールＩＣ１６の異常であることが、直ちに分かる。
【００２７】
次に、２つのホールＩＣ１６、１７の信号ＩＣａ、ＩＣｂのレベルを使用してその時のモータ２０の回転方向を判断するための回転方向検出処理のフローチャートを図６〜１４に示す。この回転方向検出処理は、各信号ＩＣａ、ＩＣｂが入力される度にマイコン１０で実行されるものである。
【００２８】
図６に示すように、回転方向検出処理が実行されるとマイコン１０は、まず、各ホールＩＣ１６、１７の信号であるＩＣａ、ＩＣｂを入力Ｉ／Ｆ１８、１９を介して入力し（Ｓ１０１）、それらの値をマイコン１０内に備えられる記憶装置に記憶する（Ｓ１０２）。続いて、ＩＣａレベルがＬＯであるかＨＩであるかを判断して（Ｓ１０３）、ＬＯであればＩＣａレベルＬＯ処理を実行する（Ｓ１０４）。あるいは、ＨＩであればＩＣａレベルＨＩ処理を実行する（Ｓ１０５）。
【００２９】
図７にＩＣａレベルＬＯ処理のフローチャートを示す。このＩＣａレベルＬＯ処理が実行されるとマイコン１０はまず、内蔵する記憶装置から前回記憶したＩＣａレベルを読み出す。読み出されたＩＣａ前回レベルがＨＩであるかどうかを判断し（Ｓ２０１）、ＨＩであれば（Ｓ２０１：ＹＥＳ）、さらに前回記憶されたＩＣａのエッジ方向を読み出し、上昇エッジであるかどうかを判断する（Ｓ２０２）。ＩＣａ前回エッジが上昇であれば（Ｓ２０２：ＹＥＳ）、さらに既にカウントされたエッジ回数があるかどうかを判断する（Ｓ２０３）。初めてのエッジであれば（Ｓ２０３：ＮＯ）、エッジ回数を１とする（Ｓ２０６）。
【００３０】
初めてのエッジでなければ（Ｓ２０３：ＹＥＳ）、周期カウントが所定の値（Ｔｓ）より大きいかどうかを判断する（Ｓ２０４）。周期カウントとはエッジとエッジの間の時間のことであり、この期間があまりに短い場合はノイズによるエッジと判断される。モータ２０の回転数には上限があり、上限を越えて速い回転はあり得ないからである。周期カウントが所定の値Ｔｓより大きい場合には（Ｓ２０４：ＹＥＳ）、正常なエッジと判断されるので、その時の周期カウントをエッジ期間として記憶し（Ｓ２０５）、エッジ回数を＋１とする（Ｓ２０６）。さらに、今回のエッジはＨＩ→ＬＯと変化しているので下降エッジであり（Ｓ２０７）、正常なエッジを検出したので周期カウントをクリアし（Ｓ２０８）、次のエッジまでの間隔を測定できるようにする。
【００３１】
次に、同時に入力されたＩＣｂレベルを調べ（Ｓ２０９）、ＨＩであれば（Ｓ２０９：ＹＥＳ）、ＩＣａ：下降かつＩＣｂ：ＨＩなので前記したようにこの時のモータ２０の回転方向はＣＷと判断される。従って、モータ２０の累積回転数に相当するモータ回転カウントを＋１し（Ｓ２１０）、ＩＣａモータ回転をＣＷとする（Ｓ２１１）。ここでＩＣａモータ回転としたのは、ＩＣａのエッジを基準として判断されるモータ２０の回転方向という意味である。続いて、図９に示すＩＣａ回転ＣＷ処理を実行する（Ｓ２１２）。
【００３２】
あるいは、ＩＣｂレベルがＬＯであれば（Ｓ２０９：ＮＯ）、ＩＣａ：下降かつＩＣｂ：ＬＯなのでこの時のモータ２０の回転方向はＣＣＷと判断される。従って、モータ回転カウントを−１し（Ｓ２１３）、ＩＣａモータ回転をＣＣＷとし（Ｓ２１４）、図１０に示すＩＣａ回転ＣＣＷ処理を実行する（Ｓ２１５）。これら、ＩＣａ回転ＣＷ処理又はＩＣａ回転ＣＣＷ処理の実行が終了したら、このＩＣａレベルＬＯ処理の実行を終了する。
【００３３】
一方、ＩＣａ前回レベルがＬＯである場合（Ｓ２０１：ＮＯ）、ＩＣａ前回エッジが下降である場合（Ｓ２０２：ＮＯ）、周期カウントが所定値Ｔｓより大きくない場合（Ｓ２０４）の何れかの場合には、ＩＣａはエッジでないと判断される。従って、マイコン１０はＩＣｂレベルに関する処理を行うために、ＩＣｂレベルがＬＯであるかどうかを判断する（Ｓ２１６）。ＩＣｂレベルがＬＯであれば図１１に示すＩＣｂレベルＬＯ処理を実行し（Ｓ２１７）、ＩＣｂレベルがＨＩであれば図１２に示すＩＣｂレベルＨＩ処理を実行する（Ｓ２１８）。いずれも、これらの処理が終了したら、ＩＣａレベルＬＯ処理を終了する。
【００３４】
つぎに、図６のメインルーチンにおいてＩＣａレベルがＨＩであった場合には（Ｓ１０３：ＮＯ）、図８に示すＩＣａレベルＨＩ処理が実行される。この処理は、ＩＣａレベルＬＯ処理とエッジ方向が逆であるだけでほぼ同様なので、簡単に説明する。
【００３５】
まず、ＩＣａ前回レベルＬＯであり（Ｓ３０１：ＹＥＳ）、ＩＣａ前回エッジが下降であり（Ｓ３０２：ＹＥＳ）、周期カウントがＴｓより大であれば（Ｓ３０４）、エッジ回数を＋１し（Ｓ３０６）、上昇エッジとする（Ｓ３０７）。さらに、ＩＣｂレベルに従ってＩＣａモータ回転方向を決定し（Ｓ３０９）、ＩＣａ回転ＣＣＷ処理（Ｓ３１２）又は、ＩＣａ回転ＣＷ処理（Ｓ３１５）を実行する。ＩＣａがエッジでないと判断されたときは（Ｓ３０１：ＮＯ、Ｓ３０２：ＮＯ、Ｓ３０４：ＮＯ）、ＩＣｂレベルによってＩＣｂレベルＬＯ処理（Ｓ３１７）又は、ＩＣｂレベルＨＩ処理（Ｓ３１８）を実行する。
【００３６】
次に、ＩＣａレベルＬＯ処理（図７）、ＩＣａレベルＨＩ処理（図８）においてＩＣａモータ回転がＣＷと判断された場合に実行されるＩＣａ回転ＣＷ処理を図９のフローチャートに従って説明する。
【００３７】
ＩＣａ回転ＣＷ処理が実行されると、マイコン１０は、まず、記憶装置に記憶されている前回のＩＣａモータ回転方向がＣＷであったかどうかを判断する（Ｓ４０１）。前回が今回と同じ回転ＣＷであった場合は（Ｓ４０１：ＹＥＳ）、反転していないのでＩＣａモータ反転カウントをクリアする（Ｓ４０２）。前回が回転ＣＷでなかった場合は（Ｓ４０１：ＮＯ）、今回回転方向の反転が起こったと判断できるので、反転カウントを＋１する（Ｓ４０３）。
【００３８】
次に、操作スイッチ２３による指示に従ってモータ２０を駆動するために、マイコン１０がリレー駆動回路１３を介してリレー１４、１５に出力しているモータ２０の回転方向がＣＷであるかどうかを判断する（Ｓ４０４）。リレー駆動回路１３への出力がＣＷであれば（Ｓ４０４：ＹＥＳ）、ＩＣａにより判断された回転方向と同じであり、従って、ＩＣａモータ回転方向の異常はないと判断されるのでＩＣａモータ回転方向異常タイマをクリアする（Ｓ４０５）。一方、リレー駆動回路１３への出力がＣＷでない場合（Ｓ４０４：ＮＯ）、ＩＣａモータ回転方向と結果が食い違っている。しかし、挟み込みの検出などによって急にモータ２０の停止あるいは反転が行われた場合等には、惰性によってモータ２０がある程度回転を続けるため、即座に異常であると判断することはできない。従って、とりあえずＩＣａモータ回転方向異常タイマを＋１し（Ｓ４０６）、しばらく様子を見る。
【００３９】
ＩＣａによるエッジがカウントされ、このＩＣａ回転ＣＷ処理が実行される度に回転方向異常と判断されると上記のＩＣａモータ回転方向異常タイマが蓄積される。そこで、ＩＣａモータ回転方向異常タイマが所定の閾値ＴＡを越えているかどうかを判断する（Ｓ４０７）。ＴＡを越えていれば（Ｓ４０７：ＹＥＳ）、回転方向異常が続いているということであり、異常処理を行う（Ｓ４０８）。
【００４０】
また、Ｓ４０３でカウントされるＩＣａモータ反転カウントも、このＩＣａ回転ＣＷ処理が実行される度に蓄積されることがある。つまり、ＩＣａのエッジ毎に回転方向が反転していると判断された場合であり、図４で示したようにＩＣｂレベルの変化がない場合である。従って、ＩＣａモータ反転カウントが所定の閾値ＮＲを越えていれば（Ｓ４０９：ＹＥＳ）、ＩＣｂの異常であると判断されるので、ＩＣｂ異常処理を行う（Ｓ４１０）。一方、ＩＣａモータ回転方向異常タイマもＩＣａモータ反転カウントも蓄積していなくて、いずれも異常でないと判断された場合は（Ｓ４０７：ＮＯ、Ｓ４０９：ＮＯ）、何もせずにこのＩＣａ回転ＣＷ処理を終了する。
【００４１】
次に、ＩＣａレベルＬＯ処理（図７）、ＩＣａレベルＨＩ処理（図８）においてＩＣａモータ回転がＣＣＷと判断された場合に実行されるＩＣａ回転ＣＣＷ処理を図１０のフローチャートに従って説明する。この処理は回転方向が異なるのみで図９のＩＣａ回転方向ＣＷ処理とほぼ同様であるので、ごく簡単に説明する。
【００４２】
前回のＩＣａモータ回転方向がＣＣＷでなければ（Ｓ５０１：ＮＯ）、ＩＣａモータ反転カウントを＋１する（Ｓ５０３）。また、モータ２０への出力がＣＣＷでなければ（Ｓ５０４：ＮＯ）、ＩＣａモータ回転方向異常タイマを＋１する（Ｓ５０６）。この、ＩＣａモータ反転カウント及びＩＣａモータ回転方向異常タイマは、図９のＩＣａ回転ＣＷ処理のものと共通である。さらに、これらの値がそれぞれの閾値を越えた場合には（Ｓ５０７：ＹＥＳ、Ｓ５０９：ＹＥＳ）、それぞれ異常処理を行う（Ｓ５０８、Ｓ５１０）
【００４３】
次に、ＩＣａレベルＬＯ処理（図７）、ＩＣａレベルＨＩ処理（図８）においてＩＣａがエッジでなかった場合に、ＩＣｂレベルに応じて実行されるＩＣｂレベルＬＯ処理、ＩＣｂレベルＨＩ処理を図１１、図１２のフローチャートに従って説明する。
【００４４】
図１１に示すように、ＩＣｂレベルＬＯ処理が実行されると、マイコン１０は内蔵する記憶装置に記憶されている前回のＩＣｂレベルを読み出し、そのＩＣｂ前回レベルがＨＩであるかどうかを判断する（Ｓ６０１）。ＨＩであれば（Ｓ６０１：ＹＥＳ）、さらに、ＩＣｂ前回エッジが上昇であるかどうかを判断する（Ｓ６０２）。上昇であれば（Ｓ６０２：ＹＥＳ）、前回から今回のＩＣｂレベル（ＨＩ→ＬＯ）は、下降エッジであると判断される（Ｓ６０３）。ＩＣｂ前回レベルがＬＯであるか（Ｓ６０１：ＮＯ）、ＩＣｂ前回エッジが下降であるか（Ｓ６０２：ＮＯ）の場合は、今回のＩＣｂレベルはエッジではないと判断されるので、周期カウントを＋１して（Ｓ６０４）、このＩＣｂレベルＬＯ処理を終了する。この周期カウントは、ＩＣａレベルＬＯ処理（図７）のＳ２０４またはＩＣａレベルＨＩ処理（図８）のＳ３０４で閾値と比較して判断されるものであり、ＩＣａとＩＣｂがともにエッジではない信号の回数を表している。
【００４５】
今回のＩＣｂレベルが下降エッジであるとされたときには、続いてＩＣａレベルがＬＯであるかどうかを判断する（Ｓ６０５）。ここまでは、ＩＣａエッジを利用してモータ２０の回転方向を判断する方法を説明したが、ＩＣｂレベルのエッジを利用しても同様に回転方向を判断することができる。つまり、ＩＣｂエッジの時のＩＣａレベルによってモータ２０の回転方向を判断することもできる。図２のグラフからわかるように、ＩＣｂ：上昇かつＩＣａ：ＨＩ、またはＩＣｂ：下降かつＩＣａ：ＬＯの時にＣＷ回転、ＩＣｂ：上昇かつＩＣａ：ＬＯ、またはＩＣｂ：下降かつＩＣａ：ＨＩの時にＣＣＷ回転と判断できる。
【００４６】
ここではＩＣｂエッジが下降であるので、ＩＣａレベルがＬＯであれば（Ｓ６０５：ＹＥＳ）、ＩＣｂエッジによって判断されるモータ２０の回転方向はＣＷ回転となる。そこで、モータ回転カウントを＋１し（Ｓ６０６）、ＩＣｂエッジによって判断されたモータ２０の回転方向であるＩＣｂモータ回転をＣＷとし（Ｓ６０７）、ＩＣｂ回転ＣＷ処理を実行して（Ｓ６０８）、この処理を終了する。ここで、Ｓ６０６を破線で表しているのは、ＩＣａエッジによってモータ回転カウントがカウントされている場合には（図７の２１０、２１３、図８の３１０、３１３）、ここでカウントすると２重にカウントしてしまうので、このＳ６０６は実行されないことを表している。ＩＣａエッジによってカウントされていない場合にはここでカウントする。
【００４７】
また、ＩＣａレベルがＨＩであれば（Ｓ６０５：ＮＯ）、ＩＣｂエッジによって判断されるモータ２０の回転方向はＣＣＷであり、モータ回転カウントを−１し（Ｓ６０９）、ＩＣｂモータ回転ＣＣＷ（Ｓ６１０）、ＩＣｂ回転ＣＣＷ処理を実行して（Ｓ６１１）、この処理を終了する。Ｓ６０９の破線については、Ｓ６０６と同様である。
【００４８】
次に、ＩＣｂレベルＨＩ処理を図１２のフローチャートに示す。これは、ＩＣｂレベルＬＯ処理（図１１）と、ＩＣｂレベルとＩＣｂのエッジ方向が異なるのみで同様の処理であり、図１２のＳ７０１〜Ｓ７１１は図１１のＳ６０１〜Ｓ６１１に対応しているので説明を省略する。
【００４９】
さらに、ＩＣｂレベルＬＯ処理（図１１）、ＩＣｂレベルＨＩ処理（図１２）において実行されるＩＣｂ回転ＣＷ処理とＩＣｂ回転ＣＣＷ処理のフローチャートを図１３と図１４に示す。これらは、それぞれＩＣａ回転ＣＷ処理（図９）、ＩＣａ回転ＣＣＷ処理（図１０）と判断の基となった信号がＩＣａ→ＩＣｂ、ＩＣｂ→ＩＣａと変更されただけで全く同様の処理である。従って、図１１のＳ８０１〜Ｓ８１０は図９のＳ４０１〜Ｓ４１０に、図１２のＳ９０１〜Ｓ９１０は図１０のＳ５０１〜Ｓ５１０に対応しているので説明を省略する。
【００５０】
以上詳細に説明したように、この実施の形態によれば、一対のホールＩＣ１６、１７から同時に入力された信号ＩＣａ、ＩＣｂによって、何れかがエッジを示したときの他方のレベルに従ってモータ２０の回転方向が判断される。これにより、過去のエッジの履歴が万一失われた場合でも、即座に回転方向が判断できる。また、挟み込み等によって、急激に停止、反転する等によりモータ２０の回転方向が変化した場合においてもエッジが発生すると同時に回転方向が判断できるので、累積した回転数に誤差が発生しない。従って、高精度にサンルーフの絶対位置が検出される。
【００５１】
また、ホールＩＣ１６、１７の何れかに異常が発生した場合においては、その出力信号のレベルが変化しなくなることから、回転方向の反転の繰り返しと判断される。従って、回転方向の反転をカウントしておき、その繰り返し回数が所定の閾値ＮＲより大きくなった場合にホールＩＣ１６あるいは１７の異常と判断することができる。これにより、ホールＩＣ１６、１７の異常がすばやく容易に発見できる。
【００５２】
また、モータ２０の回転数には上限があるので、ＩＣａ、ＩＣｂのエッジ間隔には下限がある。そこで、ＩＣａ、ＩＣｂのエッジの間隔を周期カウントとし、周期カウントが所定の閾値Ｔｓ以下である場合には、ノイズであってエッジではないと判断している。これにより、あり得ない間隔のエッジを除くことができ、累積した回転数の誤差が発生しない。従って、さらに高精度にサンルーフの絶対位置が検出される。
【００５３】
尚、この発明は前記実施の形態に限定されるものではなく、発明の趣旨を逸脱することのない範囲で変更して実施することができる。
【００５４】
【発明の効果】
請求項１に記載の発明の構成によれば、少なくとも一対の回転数センサが生成する位相の異なるパルス信号によって、過去のエッジを使用せず、エッジと同時に検出できる他方のセンサの信号レベルを利用するだけで電動モータの回転方向が判断される。従って、回転方向が常に正確に判断できるので回転数の誤差が発生せず、高精度に覆材の位置検出が可能となる。
【００５５】
請求項２に記載の発明の構成によれば、位置検出手段によって判断されたモータの回転方向が反転を複数回繰り返したとき回転数センサの異常と判断する。従って、回転数センサの一つに異常が発生した場合においても、即座に異常と判断されるので回転数の誤差が発生せず、高精度に覆材の位置検出が可能となる。
【００５６】
請求項３に記載の発明の構成によれば、計時手段によってパルス信号の周期が計時され、その周期が所定周期より小さいときそのパルス信号はノイズであると判断される。従って、余計なノイズを回転数としてカウントすることがないので、さらに高精度に覆材の位置検出が可能となる。
【図面の簡単な説明】
【図１】本実施の形態に係るサンルーフ開閉制御装置の概略構成を示すブロック図である。
【図２】２つのホールＩＣの信号を示すグラフと表である。
【図３】モータの回転方向が変化した場合のホールＩＣの信号を示すグラフである。
【図４】１つのホールＩＣに異常が発生した場合のホールＩＣの信号を示すグラフと表である。
【図５】１つのホールＩＣに異常が発生した場合のホールＩＣの信号を示すグラフと表である。
【図６】回転方向検出処理を示すフローチャートである。
【図７】ＩＣａレベルＬＯ処理を示すフローチャートである。
【図８】ＩＣａレベルＨＩ処理を示すフローチャートである。
【図９】ＩＣａ回転ＣＷ処理を示すフローチャートである。
【図１０】ＩＣａ回転ＣＣＷ処理を示すフローチャートである。
【図１１】ＩＣｂレベルＬＯ処理を示すフローチャートである。
【図１２】ＩＣｂレベルＨＩ処理を示すフローチャートである。
【図１３】ＩＣｂ回転ＣＷ処理を示すフローチャートである。
【図１４】ＩＣｂ回転ＣＣＷ処理を示すフローチャートである。
【符号の説明】
１    サンルーフ開閉制御装置
３    制御装置
１０  マイクロコンピュータ
１６  ホールＩＣ
１７  ホールＩＣ
２０  電動モータ
【図１】
0004752095.tif 000002
【図２】
0004752095.tif 000003
【図３】
0004752095.tif 000004
【図４】
0004752095.tif 000005
【図５】
0004752095.tif 000006
【図６】
0004752095.tif 000007
【図７】
0004752095.tif 000008
【図８】
0004752095.tif 000009
【図９】
0004752095.tif 000010
【図１０】
0004752095.tif 000011
【図１１】
0004752095.tif 000012
【図１２】
0004752095.tif 000013
【図１３】
0004752095.tif 000014
【図１４】
0004752095.tif 000015