(57)【要約】【課題】開閉体のロック停止が位置ずれによるものか異物等の挟み込みによるものかを正確に判別することが可能な開閉体制御装置を提供する。【解決手段】スライドルーフ４を摺動制御するコントローラ５は、サンルーフ摺動可能範囲（Ｘａ−Ｘｂ）のうち所定の範囲を作動領域（Ｓａ−Ｓｂ）として設定し、スライドルーフ４が作動領域（Ｓａ−Ｓｂ）内で作動するようにスライドルーフ４を駆動するモータ２５を制御する。そして、スライドルーフ４がスライドロック端（Ｘｂ）側で停止した場合に、位置ずれの可能性ありとしてその停止位置を記憶し（ステップＳ２６）、その停止位置からスライドルーフ４が再度摺動してチルトロック端（Ｘａ）と当接して停止するまでの移動距離（Ｂｍｏｖ〜Ｅｍｏｖ）が、サンルーフ摺動可能範囲（Ｘａ−Ｘｂ）よりも大きいか否かにより位置ずれか否かを判別する（ステップＳ４８）。【選択図】図６
2008045289.tif 000002
【特許請求の範囲】
【請求項１】
一方のロック端と他方のロック端との間を摺動可能範囲として開閉体を摺動させる駆動モータと、
前記ロック端のうちいずれかのロック端を基準に、前記摺動可能範囲内の所定の範囲を前記開閉体の作動領域として設定する作動領域設定手段と、
前記駆動モータによる前記開閉体の作動範囲が、前記作動領域内となるように前記駆動モータを制御する駆動モータ制御手段と、
前記開閉体の停止を検知する停止検知手段と、
前記停止検知手段により前記一方のロック端側の作動領域内で前記開閉体の停止が検知された場合に、前記設定された作動領域に位置ずれが発生した可能性があるとして、停止の発生を示す停止情報を記憶する停止情報記憶手段と、
前記停止情報記憶手段によって停止情報が記憶された状態で、前記開閉体が再度作動して前記一方のロック端とは反対側のロック端に当接して停止したときの停止状態に基づいて、前記設定された作動領域に位置ずれが発生しているか否かを判別する位置ずれ判別手段と、を備えたことを特徴とする開閉体制御装置。
【請求項２】
前記停止情報記憶手段は、前記開閉体の停止位置を停止情報として記憶することを特徴とする請求項１に記載の開閉体制御装置。
【請求項３】
前記駆動モータ制御手段は、前記停止情報記憶手段が前記停止情報を記憶したことを条件に、前記開閉体が前記ロック端に当接するまで作動を可能とすることを特徴とする請求項１に記載の開閉体制御装置。
【請求項４】
前記位置ずれ判別手段は、前記一方のロック端側の前記停止位置から前記反対側のロック端に当接して停止するまでの前記開閉体の移動距離に応じて、前記設定された作動領域の位置ずれの状態を判別することを特徴とする請求項１に記載の開閉体制御装置。
【請求項５】
前記位置ずれ判別手段は、前記移動距離が前記摺動可能範囲と同一又はこれよりも長いことを条件に、前記設定された作動領域に位置ずれが生じていると判別することを特徴とする請求項４に記載の開閉体制御装置。
【請求項６】
前記位置ずれ判別手段は、前記移動距離が前記摺動可能範囲よりも短いことを条件に、前記設定された作動領域に位置ずれが生じていないと判別することを特徴とする請求項４に記載の開閉体制御装置。
【請求項７】
前記位置ずれ判別手段は、前記停止情報記憶手段によって停止情報が記憶された状態で、前記開閉体が前記一方のロック端と同じロック端側に向けて再度作動したときに、前記一方のロック端側の作動領域の端部又は該端部よりも前記一方のロック端側まで摺動したことを条件に、前記設定された作動領域に位置ずれが生じていないと判別することを特徴とする請求項１に記載の開閉体制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は開閉体制御装置に係り、特に、車両等のサンルーフ、パワーウインドウ、スライドドアなどの開閉体を備えた装置において開閉体の開閉動作を制御する開閉体制御装置に関する。
【背景技術】
【０００２】
車両のサンルーフ装置等の開閉体装置では、車体の開口部に配設された開閉体がモータに駆動されることにより、開口部の一端側と他端側の間を摺動して開口部を開閉する。例えば、サンルーフのスライドルーフ（開閉体）は、車幅方向を支点として車体後端部側が上下動するチルト動作と、車体前後方向にスライドするスライド動作とを行う。スライドルーフは、駆動モータの出力軸と接続され、出力軸の回動によりチルト側の端部とスライド側の端部との間を摺動する。
【０００３】
開口部の両端側には、スライドルーフをスライドさせるスライダーと当接してスライドルーフの摺動を阻止するストッパーが設けられ、スライダーとストッパーの当接によりスライドルーフの摺動を機械的ロックで停止している。スライドルーフは、チルトアップ側での機械的停止位置であるチルトロック端と、スライドオープン側での機械的停止位置であるスライドロック端との間を摺動可能範囲として、その間を摺動可能となっている。
【０００４】
各ロック端でスライドルーフを機械的ロックにより停止させると、停止の際に部材等の当接による衝突音が発生するため、乗員等に不快感を起こさせる問題があった。
そこで、スライドルーフの停止時に衝突音を発生させにくくするため、機械的ロック位置の若干手前の位置でモータを停止させ、停止後の慣性力によりスライドルーフを全開位置まで移動させる技術が知られている（例えば、特許文献１）。この特許文献１の技術では、開閉体を駆動するモータと、モータの回転に基づくパルスを発生するパルス発生手段と、パルスを計数する計数手段と、計数手段からの出力信号に応じてモータの制御を行う制御部と、を備え、モータの回転によるパルスのカウント値に基づいて、開閉体の位置を間接的に取得している。そして、所定の原点位置からのパルス数をカウントして、このカウント値がスライドルーフの全開位置の手前の所定位置となったときにモータの回転を停止している。
【０００５】
そして、この技術では、サンルーフの動作機構の経時変化等により、計数手段によるカウント値とスライドルーフの実際の位置とが異なることがあった。例えば、スライドルーフを手で無理に開閉したり、スライドルーフの摺動中に計数手段へ電力の供給が一時的に行われなくなったりすることにより、スライドルーフの実際の位置と計数手段によるカウント値との間で乖離、すなわち、スライドルーフの位置ずれが生じる。このような位置ずれが生じた場合、原点位置を補正して、スライドルーフの実際の位置と計数手段によるカウント値とを一致させる必要がある。
【０００６】
そこで、特許文献１に記載のサンルーフ装置では、このような位置ずれを検出して、原点位置のリセットを行っている。
具体的には、ロック位置モータの回転駆動によりスライドルーフ（すなわち、開閉体）を摺動させる作動領域を設定し、作動領域内で所定のフェール検出区間を設定して、この区間におけるパルスの絶対カウント値の範囲を予め記憶し、スライドルーフが過負荷検知により停止したときに計数手段がカウントしたパルスのカウント値がフェール検出区間のパルスの絶対カウント値の範囲内であるとき、ロック位置におけるパルス情報をリセットするものである。これにより、スライドルーフに位置ずれが生じた場合に原点位置をリセットして、位置ずれを補正することが可能となる。
【０００７】
しかしながら、特許文献１に記載の技術では、フェール検出区間で過負荷検知（すなわち、ロック停止）した場合、位置ずれと判断して即座にパルス情報をリセットしてその位置を基準位置とするため、異物等の挟み込みによる一時的な停止の場合であっても位置ずれによる停止と誤認して基準位置を変更してしまい、これによりスライドルーフの実際の位置とパルス情報とが一致しなくなることがあった。
【０００８】
すなわち、スライドルーフとルーフ開口部との間やスライダーとストッパーとの間に異物が挟まった場合も、スライドルーフの摺動が停止してしまい、上述の位置ずれによるロック停止の場合と同様に、フェール検出区間で過負荷検出されてパルス情報がリセットされてしまうことがある。
一般に、経時変化等による位置ずれは、基準位置をリセットしなければその状態が持続する、いわば継続的なものである。一方、異物による過負荷状態は、異物を取り除けば正常状態に復帰する、いわば一時的なものである。このため、異物の挟み込みによるスライドルーフの停止を位置ずれによる停止と誤認してパルス情報をリセットしてしまうと、異物が取り除かれた後ではスライドルーフの実際の位置とパルス情報が一致せずに、適切な位置でスライドルーフの停止が行えなくなるという不都合があった。
【０００９】
このような課題を解決するために、開閉体が過負荷検知により停止した場合、開閉体の開閉モードを自動的にマニュアルモードに切り換え、次の開閉時に開閉体が通常の停止位置で停止した場合に、自動的にオートモードに復帰させ、スライドルーフが先に過負荷検知されたのと同一位置で再度過負荷検知されて停止した場合に、位置ずれと判断してロック位置におけるパルス情報をリセットする技術が開示されている。このようにすることで、スライドルーフの停止が、異物等の外的要因によるものか、経時変化等による位置ずれによるものかを判別することが可能となる（例えば、特許文献２参照）。
【００１０】
【特許文献１】特開２００５−２９０９３８号公報（段落０００６〜００２１、第２図）
【特許文献２】特開２００５−２９０９３９号公報（段落０００７〜００２０、第４図）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献２に記載の技術では、開閉体が過負荷検知された位置と同じ側で再度過負荷検知された場合にのみ位置ずれと判断してパルス情報をリセットするため、再度同じ位置に摺動させなければ位置ずれか否かを判別できないという不都合があった。このように、特許文献２に記載の技術では、位置ずれと判断する条件が限定的であるため、この条件に適合しない場合は長期に亘って判別不能状態が持続し、この間スライドルーフの実際の位置とパルス情報とを一致させることができず、スライドルーフを適切な位置で停止させることが困難であった。
【００１２】
本発明の目的は、開閉体の位置ずれを正確に検出することが可能な開閉体制御装置を提供することにある。
【課題を解決するための手段】
【００１３】
前記課題は、請求項１の開閉体制御装置によれば、一方のロック端と他方のロック端との間を摺動可能範囲として開閉体を摺動させる駆動モータと、前記ロック端のうちいずれかのロック端を基準に、前記摺動可能範囲内の所定の範囲を前記開閉体の作動領域として設定する作動領域設定手段と、前記駆動モータによる前記開閉体の作動範囲が、前記作動領域内となるように前記駆動モータを制御する駆動モータ制御手段と、前記開閉体の停止を検知する停止検知手段と、前記停止検知手段により前記一方のロック端側の作動領域内で前記開閉体の停止が検知された場合に、前記設定された作動領域に位置ずれが発生した可能性があるとして、停止の発生を示す停止情報を記憶する停止情報記憶手段と、前記停止情報記憶手段によって停止情報が記憶された状態で、前記開閉体が再度作動して前記一方のロック端とは反対側のロック端に当接して停止したときの停止状態に基づいて、前記設定された作動領域に位置ずれが発生しているか否かを判別する位置ずれ判別手段と、を備えることにより解決される。
【００１４】
摺動可能範囲の一方のロック端側で開閉体が停止した場合、この停止が位置ずれによる継続的なものであるか、異物等の侵入による一時的なものであるかによって、そのロック端と反対側のロック端と当接して停止するロック停止状態（例えば、ロック停止するまでの開閉体の移動距離やロック停止位置など）が異なる。
そこで、本発明の開閉体制御装置では、一方のロック端側の作動領域内で開閉体が停止した場合に、位置ずれの可能性があるとして停止の発生を示す停止情報を記憶する。この状態で、開閉体が反対側のロック端と当接することにより停止したときは、その停止状態に基づいて、先のロック停止が位置ずれによるものか異物等の侵入によるものなのかを判別している。
このようにすることで、開閉体の停止が検出されたロック端側と反対側のロック端での停止状態に基づいて、先の停止が位置ずれによるものか否かを正確に判別することが可能となる。
【００１５】
また、請求項２の開閉体制御装置のように、前記停止情報記憶手段は、前記開閉体の停止位置を停止情報として記憶することが好ましい。
このようにすることで、一方のロック端側で停止したときの開閉体の停止位置を知ることができる。このため、この停止位置を基準に、反対側のロック端での停止位置情報を取得することができる。そして、反対側のロック端での停止位置（すなわち、停止状態）に基づいて、先の停止が位置ずれによるものか否かを正確に判別することができる。
【００１６】
また、請求項３の開閉体制御装置のように、前記駆動モータ制御手段は、前記停止情報記憶手段が前記停止情報を記憶したことを条件に、前記開閉体が前記ロック端に当接するまで作動を可能とすると好適である。
このようにすることで、開閉体を反対側のロック端に確実に当接させることが可能となる。これにより、反対側のロック端との当接による停止状態を確実に検知するとともに、その停止状態を得ることが可能となる。したがって、先の停止の原因が位置ずれによるものか否かを正確に判別することが可能となる。
【００１７】
また、請求項４の開閉体制御装置のように、前記位置ずれ判別手段は、前記一方のロック端側の前記停止位置から前記反対側のロック端に当接して停止するまでの前記開閉体の移動距離に応じて、前記設定された作動領域の位置ずれの状態を判別することが好ましい。
具体的には、請求項５の開閉体制御装置のように、請求項４の要件に加えて、前記位置ずれ判別手段は、前記移動距離が前記摺動可能範囲と同一又はこれよりも長いことを条件に、前記設定された作動領域に位置ずれが生じていると判別するとよい。
あるいは、請求項６の開閉体制御装置のように、請求項４の要件に加えて、前記位置ずれ判別手段は、前記移動距離が前記摺動可能範囲よりも短いことを条件に、前記設定された作動領域に位置ずれが生じていないと判別するとよい。
【００１８】
位置ずれによる停止の場合と異物等の侵入による停止の場合とでは、一方のロック端側での停止位置から反対側のロック端までの開閉体の移動距離が異なる。すなわち、位置ずれによる停止の場合は、一方のロック端との当接による停止であるため、その停止位置から反対側のロック端までの開閉体の移動距離は、開閉体が作動できる範囲、すなわち摺動可能範囲と一致する。一方、異物等の侵入による停止の場合は、異物の挟み込みによる停止であるため、その停止位置から反対側のロック端までの開閉体の移動距離は、挟み込んだ異物の大きさ分だけ摺動可能範囲分の距離よりも短い。
そこで、請求項４の開閉体制御装置では、一方のロック端側での停止位置から反対側のロック端までの開閉体の移動距離に応じて、位置ずれか否かを判別している。
具体的には、移動距離が摺動可能範囲分の距離と同一又はこれよりも長い場合、位置ずれが生じていると判断する。一方、移動距離が摺動可能範囲分の距離よりも短い場合、位置ずれが生じていないと判断する。このようにすることで、先に停止の原因が位置ずれによるものか否かを正確に判別することが可能となる。
このようにすることで、先の停止の原因が位置ずれによるものか否かを正確に判別することが可能となる。
【００１９】
また、請求項７の開閉体制御装置のように、前記位置ずれ判別手段は、前記停止情報記憶手段によって停止情報が記憶された状態で、前記開閉体が前記一方のロック端と同じロック端側に向けて再度作動したときに、前記一方のロック端側の作動領域の端部又は該端部よりも前記一方のロック端側まで摺動したことを条件に、前記設定された作動領域に位置ずれが生じていないと判別すると好適である。
このようにすることで、ロック検出されたロック端と反対側に摺動する場合のみならず、同じロック端側へ摺動したときの開閉体の停止状態に基づいて、位置ずれか否かを判別することが可能となる。これにより、位置ずれか否かを判別する条件が増し、長期に亘って判別不能状態が持続して位置ずれにより開閉体の動作不良が持続することを防止できる。また、判別条件が増えることで、より正確に位置ずれか否かを判別することが可能となる。
【発明の効果】
【００２０】
本発明の開閉体制御装置によれば、摺動可能範囲の一方のロック端側で開閉体が停止した状態で、再度開閉体が摺動して反対側のロック端と当接して停止したときは、そのロック端での停止状態に基づいて、先の停止が位置ずれによるものか異物の侵入による一時的なものなのかを判別しているため、先の停止が位置ずれによるものか否かを正確に判別することが可能となる。したがって、異物の挟み込みといった位置ずれ以外の要因による停止の場合にむやみに位置の再設定等を行なうことがなく、位置ずれが発生した場合にのみ適切に位置を補正することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の一実施形態について、図を参照して説明する。なお、以下に説明する構成、手順等は、本発明を限定するものではなく、本発明の趣旨に沿って各種改変することができることは勿論である。
図１〜図９は本発明の一実施形態に係るものであり、図１は車体に搭載されたサンルーフ装置を斜め上方から見た状態を示す要部斜視図、図２は開閉体制御装置及びその周辺装置の電気的構成を示すシステムブロック図、図３はスライドルーフの位置とカウント情報との対応関係を示す説明図、図４〜９は開閉体制御装置によるスライドルーフの開閉制御処理のフローチャートである。
【００２２】
以下に、本発明の開閉体制御装置を、サンルーフ装置のスライドルーフの開閉制御に適用した一実施形態について説明する。
図１は、サンルーフ装置を搭載した自動車１の要部斜視図であって、自動車１のルーフパネル２に形成された天窓３（すなわち、開口部）に対して、開閉体としてのスライドルーフ４が設けられている。スライドルーフ４の車体前方部には、駆動モータ及び制御回路等を搭載したコントローラ５が設けられている。スライドルーフ４は、このコントローラ５の駆動モータにより前後及び上下移動することが可能となっている。なお、コントローラ５は、本発明の開閉体制御装置に相当する。
【００２３】
スライドルーフ４は、ガラスや透明プラスチック樹脂等で形成された板状部材であり、車体の前後方向に向けて往復スライド移動するスライド開閉作動と、車幅方向を支点として後端側が上下動するチルト開閉作動が可能となっている。
スライドルーフ４には、これを摺動させるスライダー（不図示）に連結されている。スライダーは、車体進行方向に向けて車体天面に配設されたレール（不図示）と係合し、これに沿って摺動可能な部材である。スライダーにはスライドルーフ４が固定されており、スライダーの摺動に伴ってスライドルーフ４も摺動可能となっている。後述するチルト作動領域ではスライダーの摺動に伴いスライドルーフ４が上下に摺動（チルト動作）し、スライド作動領域ではスライダーの摺動に伴いスライドルーフ４が前後に摺動（スライド動作）する。
【００２４】
図２は、コントローラ５を備えたサンルーフ装置の電気的構成を説明するためのシステムブロック図である。この図に示すように、コントローラ５は、周辺回路へ電力を供給する電源部２１と、各種スイッチ等からの入力信号を受信する入力部２２と、モータ２５の駆動制御信号を出力する制御部２３と、駆動制御信号に基づいてモータ２５の回転動作を制御する駆動回路部２４と、出力軸の回動によりスライドルーフ４を移動させるモータ２５と、モータ２５の出力軸の回転情報を出力する位置センサ２６ａ，２６ｂと、位置センサ２６ａ，２６ｂで検出された回転情報に基づいてモータ２５の出力軸の回転速度及び回転位置に関する情報を制御部２３へ出力する速度・位置検出回路部２７と、を主要な構成要素として備えている。
【００２５】
電源部２１は、バッテリー１１及び制御部２３と電気的に接続され、これらに電力を供給するための装置である。電源部２１は、バッテリー１１から印加される駆動電圧＋Ｂボルトを所定の電圧に変換して制御部２３に供給する。
バッテリー１１は、イグニッションスイッチ１２と、チルトスイッチ１３と、スライドスイッチ１４と、車速センサ１５と、に電気的に接続される。これらの各種スイッチは、コントローラ５の入力部２２に電気的に接続されている。入力部２２は、これらスイッチ等と電気的に接続され、操作信号等を制御部２３に送信するための装置である。
【００２６】
イグニッションスイッチ１２は、エンジン等の電動機の始動を開始するためのスイッチである。イグニッションスイッチ１２は、乗員の操作により操作信号（オン信号）を生成し、入力部２２へ出力する。入力部２２は、イグニッションスイッチ１２のオン信号を制御部２３に送信する。制御部２３は、入力部２２を介して入力されたイグニッションスイッチ１２のオン信号により起動し、電源部２１から供給される駆動電圧により起動する。
【００２７】
チルトスイッチ１３とスライドスイッチ１４は、いずれも乗員等により操作され、スライドルーフ４の開閉操作をするためのスイッチである。チルトスイッチ１３は、スライドルーフ４をチルトアップ方向及びチルトダウン方向へ摺動させる２方向切替スイッチで構成されている。チルトスイッチ１３は、入力部２２を介して制御部２３と電気的に接続されている。乗員によりチルトスイッチ１３が操作されると、制御部２３はモータ２５をチルト作動させるためのチルト駆動信号を生成して駆動回路部２４へ出力する。
【００２８】
スライドスイッチ１４は、チルトスイッチ１３と同様に乗員等により操作され、スライドルーフ４をスライドオープン方向又はスライドクローズ方向へ摺動させる２方向切替スイッチで構成されている。スライドスイッチ１４も、入力部２２を介して制御部２３と電気的に接続されている。乗員によりスライドスイッチ１４が操作されると、制御部２３はモータ２５をスライド作動させるためのスライド駆動信号を生成して駆動回路部２４へ出力する。
【００２９】
車速センサ１５は車速を出力するセンサであり、上記各種スイッチと同様に入力部２２を介して制御部２３に接続されている。車速センサ１５は、車速を検出して制御部２３に車速情報を出力する。
【００３０】
制御部２３は、モータ２５の駆動制御を行う装置である。制御部２３は、演算手段としてのマイクロプロセッサ（ＭＰＵ２３ａ）と、記憶手段としてのメモリ２３ｂとを主要な構成要素として備えている。また、制御部２３には、図示しないクロック発振回路から動作に必要な基準クロック信号が入力され、この基準クロック信号に基づいてモータ２５への駆動制御信号の送信などが行われる。
【００３１】
制御部２３は、モータ２５の動作モードを決定し、それを駆動制御信号として駆動回路部２４を介してモータ２５に送信する。モータ２５の動作モードには、モータ２５を停止させるモータ停止、スライドオープン作動させるオープン作動、スライドクローズ作動させるクローズ作動、チルトダウン作動させるダウン作動、チルトアップ作動させるアップ作動の５つの動作モードがある。
【００３２】
制御部２３は、後述する速度・位置検出回路部２７を介して位置センサ２６ａ，２６ｂから出力されるパルス信号を計数する計数手段としての機能を有している。さらに、制御部２３のメモリ２３ｂには、原点位置の記憶、スライドルーフ４の現在位置の演算、位置ずれか否かの判定等をＭＰＵ２３ａに実行させる位置ずれ判別プログラムが記憶されている。この位置ずれ判別プログラムについては、後に図４〜９のフローチャートの説明の際に詳細に説明する。
【００３３】
駆動回路部２４は、制御部２３及びモータ２５と電気的に接続され、制御部２３からの駆動制御信号に基づいてモータ２５の回転制御を行う装置である。駆動回路部２４は、制御部２３からのモータ２５の動作モードに応じて、モータ２５を駆動制御し、各動作モードに応じた作動をさせる。
【００３４】
モータ２５は、正転及び反転の両方向に回動可能な出力軸を備えた電動機である。モータ２５の出力軸は、スライドルーフ４を摺動させるスライダー（不図示）と機械的に接続されており、モータ２５の出力軸の回転に伴ってスライドルーフ４が摺動するよう構成されている。また、モータ２５は、駆動回路部２４と電気的に接続されており、駆動回路部２４を介して制御部２３から入力される駆動制御信号に基づいて、回転開始、回転停止、回転方向切換え、回転速度変更等の駆動制御が行われる。
【００３５】
位置センサ２６ａ，２６ｂは、モータ２５の出力軸の回転速度及び回転方向などを検出して、これらを回転位置情報として出力するセンサである。本実施形態では、位置センサ２６ａ，２６ｂとして一対のホールＩＣセンサを用いている。モータ２５の出力軸には、回転方向に沿って離間した２箇所に多極着磁されたセンサマグネットが設けられている。一方、ホールＩＣセンサは、ホール素子により磁気量を電気量に変換して出力するセンサである。モータ２５の出力軸の回転により、出力軸に設けられたセンサマグネットが位置センサ２６ａ，２６ｂに接近して磁気変化が生じると、位置センサ２６ａ，２６ｂはその変化量に応じた電気量のパルス状の出力信号を発生する。この出力信号は、それぞれの位置センサ２６ａ，２６ｂにつき、出力軸の一回転あたり一回のパルスが発生する。位置センサ２６ａ，２６ｂは、速度・位置検出回路部２７と電気的に接続され、パルス状信号をこれに出力する。
【００３６】
速度・位置検出回路部２７は、位置センサ２６ａ，２６ｂから出力された出力信号を成形して、矩形のパルス信号へ変換する。位置センサ２６ａ，２６ｂは出力軸の回転方向に沿って離れた位置に配置されているため、位置センサ２６ａ，２６ｂから出力されるパルス状の出力信号は、互いに所定の位相差（例えば、１／２周期）を有している。速度・位置検出回路部２７は、制御部２３と電気的に接続されており、成形されたパルス信号をこれに出力する。
【００３７】
制御部２３は、速度・位置検出回路部２７を介して位置センサ２６ａ，２６ｂから出力されるパルス信号を受信し、これをカウントする計数手段としての機能を有している。位置センサ２６ａ，２６ｂは、それぞれ出力軸の一回転あたりに１つのパルス信号を出力するため、パルス信号をカウントすることで、出力軸の回転数を取得することができる。出力軸の回転数は、これに接続されたスライドルーフ４の移動距離と対応しているため、パルス数をカウントすることで、スライドルーフ４の移動距離を間接的に取得することができる。
【００３８】
また、制御部２３は、位置センサ２６ａ，２６ｂのそれぞれのパルス信号の立ち上がりエッジと立ち下がりエッジを検知し、その組み合わせによりモータ２５の出力軸の回転方向が正転方向であるか反転方向であるかを検出する。さらに、制御部２３は、計時手段としてのタイマーを備え、位置センサ２６ａ，２６ｂの単位時間あたりのパルス数を計数することにより、モータ２５の出力軸の回転速度を検出する。
【００３９】
制御部２３は、スライドルーフ４の摺動が阻止されてモータ２５に過負荷がかかった場合にこれを検知する機能も備えている。すなわち、制御部２３は、駆動回路部２４を介してモータ２５に出力する駆動制御信号と、速度・位置検出回路２７を介してモータ２５から出力される回転速度情報とを比較し、駆動制御信号により所定の回転速度が指示されているにもかかわらず、速度・位置検出回路２７で実際にモータ２５の出力軸から検知される回転速度がほとんどゼロの場合に、制御部２３はスライドルーフ４の摺動が物理的に阻止されモータ２５に過負荷がかかっている状態であると判断して停止信号を発生する。この速度・位置検出回路２７及び制御部２３が、本発明の停止検知手段に相当する。
なお、停止検知手段としては、本実施形態のようにモータ２５の負荷を検出する手段に限定されず、スライドルーフ４の移動を直接監視する光センサ等を用いて停止位置を検出するようにしてもよい。
【００４０】
次に、図３を参照して、スライドルーフ４の開閉位置とカウント情報との対応関係について説明する。図３の（ａ）は位置ずれや異物侵入のない正常状態におけるスライドルーフ４とカウント値との対応関係を示す図、（ｂ）はサンルーフ装置の経時変化等によりスライドルーフ４がスライド側に位置ずれした場合のカウント値との対応関係を示す図、（ｃ）はスライドルーフ４がチルト側に位置ずれした場合のカウント値との対応関係を示す図、（ｄ）はスライド側に異物が侵入したときのスライドルーフ４とカウント値との対応関係を示す図、（ｅ）はチルト側に異物が侵入したときのスライドルーフ４とカウント値との対応関係を示す図である。
【００４１】
図３に示すように、スライドルーフ４は、チルト側の摺動限界であるチルトロック端（Ｘａ）と、サンルーフの天窓３を完全に遮蔽する全閉位置（Ｃ）と、スライド側の摺動限界であるスライドロック端（Ｘｂ）との間を摺動可能となっている。スライドルーフ４は、チルトロック端（Ｘａ）と全閉位置（Ｃ）との間を車体後端部側が上下動するチルト動作と、全閉位置（Ｃ）とスライドロック端（Ｘｂ）との間を前後方向にスライドするスライド動作とを行う。
【００４２】
チルトロック端（Ｘａ）では、スライドルーフ４をチルト作動するスライダーとストッパー（いずれも不図示）が当接することでスライダーがロックされ、スライドルーフ４の上方への摺動が機械的に阻止される。また、スライドロック端（Ｘｂ）では、スライドルーフ４をスライド作動するスライダーと摺動阻止部材（いずれも不図示）が当接することでスライダーがロックされ、スライドルーフ４の車体後方への摺動が機械的に阻止される。
【００４３】
全閉位置（Ｃ）は、スライドルーフ４が天窓３を完全に遮蔽する位置であり、その周辺にルーフ開口量が実質的に０ｍｍとなる全閉領域を有している。さらにその周辺には、異物等の挟み込みを検知して挟み込み防止動作を行う挟み込み防止制御マスク領域が設けられている。ルーフパネル２とスライドルーフ４との間に異物が侵入した場合、この領域においてモータ２５の過負荷状態等が検知されると、制御部２３は異物が侵入したと判断し、スライドルーフ４を駆動するモータ２５を反転させて異物を取り除く動作を行う。
【００４４】
チルトロック端（Ｘａ）の近傍には、チルト全開位置（Ｓａ）が設定されている。チルト全開位置（Ｓａ）は、モータ２５の回転を停止してチルトアップ作動を停止する位置である。チルトアップ作動中にチルト全開位置（Ｓａ）となると、モータ２５の回転を停止して、摺動中のスライドルーフ４の慣性力によりスライドルーフ４がチルトロック端（Ｘａ）まで移動する。このように、チルトロック端（Ｘａ）の手前でモータ２５の回転を停止することで、機械的ロックによる衝突音が発生しにくく、乗員等に不快感を生じさせにくくなる。
【００４５】
同様に、スライドロック端（Ｘｂ）の近傍には、スライド全開位置（Ｓｂ）が設定されている。スライド全開位置（Ｓｂ）は、モータ２５の回転を停止してスライドオープンを停止する位置である。スライドオープン作動中にスライド全開位置（Ｓｂ）となると、モータ２５の回転を停止して、摺動中のスライドルーフ４の慣性力によりスライドルーフ４がスライドロック端（Ｘｂ）まで摺動する。チルト全開位置（Ｓａ）とスライド全開位置（Ｓｂ）との間が、モータ２５の駆動によるスライドルーフ４の作動領域（Ｓａ−Ｓｂ）として設定される。制御部２３は、この作動領域をパルス数として予め記憶し、スライドルーフ４がこの作動領域内で摺動するように、駆動回路部２４を介してモータ２５を駆動制御する。この制御部２３が、本発明の作動領域設定手段に相当する。また、制御部２３及びこれによる駆動制御信号を受けてモータ２５を駆動制御する駆動回路部２４が、本発明の駆動モータ制御手段に相当する。
【００４６】
スライドルーフ４の現在位置情報は、コントローラ５の制御部２３でモータ２５からのパルス信号をカウントすることにより間接的に取得することができる。制御部２３は、モータ２５からのパルス信号をカウントしてその数値を現在位置情報として記憶する。
【００４７】
制御部２３は、位置センサ２６ａ，２６ｂ及び速度・位置検出回路部２７から出力されるパルス信号に基づいて、モータ２５の回転方向を検知し、モータ２５が正転している場合は、パルス信号の立ち上がりごとにパルス数のカウント値を１ずつインクリメントする。一方、モータ２５が反転している場合は、パルス信号の立ち上がりごとにパルス数のカウント値を１ずつデクリメントする。
【００４８】
図３の（ａ）に示すように、本実施形態では、チルトロック端（Ｘａ）を原点位置とし、このときのパルス数のカウント値を「０」としている。また、スライドロック端（Ｘｂ）は１０００となっている。このパルス数は、スライドルーフ４の実際の移動距離にすると約５００ｍｍに相当する。スライドルーフ４が機械的に摺動可能な範囲（サンルーフ摺動可能範囲Ｘａ−Ｘｂ）は、チルトロック端（Ｘａ）とスライドロック端（Ｘｂ）との間の１０００パルス分である。この１０００パルスは、チルトロック端（Ｘａ）とスライドロック端（Ｘｂ）の間の距離で決定されるため不変であり、実際の移動距離にすると約５００ｍｍに相当する。
【００４９】
本実施形態では、スライド全開位置（Ｓｂ）は、原点位置からのパルス数で言えば９８０の位置に設定されている。また、スライド全開位置（Ｓｂ）から全閉位置（Ｃ）に向かう所定の範囲は、位置ずれ検出領域として設定されている（図中の黒く塗りつぶした領域）。本実施形態では、位置ずれ検出領域は、スライド全開位置（Ｓｂ）である９８０から９７２までの８パルス分の区間に設定されている。
【００５０】
次に、位置ずれによるロック停止と異物等の侵入によるロック停止とを判別する原理について説明する。
まず、位置ずれによる場合について説明する。
図の（ｂ）に示すように、スライド側に向けて位置ずれが生じると、スライドルーフ４の摺動がスライドロック端（Ｘｂ）で機械的に停止し、モータ２５に過負荷が生じる。コントローラ５の制御部２３は、この過負荷を検知し、これがスライドロック端（Ｘｂ）側の位置ずれ検出領域で生じた場合には、位置ずれの可能性ありと判断する。
【００５１】
チルトロック端（Ｘａ）の近傍のチルト全開位置（Ｓａ）は、原点位置からのパルス数で言えば２０の位置に設定されている。また、チルト全開位置（Ｓａ）から全閉位置（Ｃ）に向かう所定の範囲は、位置ずれ検出領域として設定されている（図中の黒く塗りつぶした領域）。この位置ずれ検出領域は、チルト全開位置（Ｓａ）である２０から２８までの８パルス分の区間に設定されている。
【００５２】
一方、図の（ｃ）に示すように、チルト側に向けて位置ずれが生じると、スライドルーフ４の摺動がチルトロック端（Ｘａ）で機械的に停止し、モータ２５に過負荷が生じる。制御部２３は、この過負荷を検知し、これがチルトロック端（Ｘａ）側の位置ずれ検出領域で生じた場合には、位置ずれの可能性ありと判断する。
【００５３】
次に、異物等の侵入による場合について説明する。
図の（ｄ）に示すように、スライド側に異物が侵入すると、スライドルーフ４がスライドロック端（Ｘｂ）まで摺動することが阻止される。このとき、モータ２５に過負荷が検知される。例えば、スライド側の９７７パルス数の位置で異物によるロック停止が生じたとすると、その際に検知される過負荷はスライド側の位置ずれ検出領域内であるため、位置ずれと誤認される可能性がある。
【００５４】
一方、図の（ｅ）に示すように、チルト側に異物が侵入すると、スライドルーフ４がチルトロック端（Ｘａ）まで摺動することが阻止される。このとき、モータ２５に過負荷が検知される。例えば、チルト側の２３パルス数の位置で異物によるロック停止が生じたとすると、その際に検知される過負荷がチルト側の位置ずれ検出領域内であるため、位置ずれと誤認される可能性がある。
【００５５】
本例では、一方のロック端側へ向けて作動中にスライドルーフ４の停止状態を検出した場合、停止時のパルス数を記憶する。そして、制御部２３によりモータ２５を全開位置（Ｓａ，Ｓｂ）で停止する制御を解除し、スライドルーフ４がロック端（Ｘａ，Ｘｂ）までモータ駆動により摺動できるようにする。その後、スライドルーフ４が再度摺動し、そのロック端側と反対側のロック端と当接したときの停止状態によって、ロック停止が位置ずれによるものか異物侵入によるものかを判別している。
【００５６】
具体的には、上記（ｂ）のようなスライド側の位置ずれによる停止の場合、反対のロック端（この場合、チルトロック端（Ｘａ））までスライドルーフ４を摺動させてチルトロック端（Ｘａ）で当接させると、スライド側の停止位置からチルトロック端（Ｘａ）での停止位置までのスライドルーフ４の移動距離（Ｂｍｏｖ）は−２３から９７７までの１０００パルス分であり、これは、サンルーフ摺動可能範囲Ｘａ−Ｘｂである１０００パルス分と一致する。
【００５７】
一方、上記（ｄ）のようなスライド側での異物の挟み込みによる停止の場合、反対側のチルトロック端（Ｘａ）までスライドルーフ４を摺動させてチルトロック端（Ｘａ）で当接させると、スライド側の停止位置からチルトロック端（Ｘａ）での停止位置までのスライドルーフ４の移動距離（Ｄｍｏｖ）は０から９７７までの９７７パルス分となり、サンルーフ摺動可能範囲Ｘａ−Ｘｂである１０００パルス分に満たない。
【００５８】
同様に、上記（ｃ）のようなチルト側の位置ずれによる停止の場合、反対のロック端（この場合、スライドロック端（Ｘｂ）までスライドルーフ４を摺動させてスライドロック端（Ｘｂ）で当接させると、スライド側の停止位置からスライドロック端（Ｘｂ）での停止位置までのスライドルーフ４の移動距離（Ｃｍｏｖ）は２３から１０２３までの１０００パルス分であり、これは、サンルーフ摺動可能範囲Ｘａ−Ｘｂである１０００パルス分と一致する。
【００５９】
一方、上記（ｅ）のようなチルト側での異物の挟み込みによる停止の場合、反対側のスライドロック端（Ｘｂ）までスライドルーフ４を摺動させてスライドロック端（Ｘｂ）で当接させると、チルト側の停止位置からスライドロック端（Ｘｂ）での停止位置までのスライドルーフ４の移動距離（Ｅｍｏｖ）は２３から１０００までの９７７パルス分となり、サンルーフ摺動可能範囲Ｘａ−Ｘｂである１０００パルス分に満たない。
【００６０】
このように、一方のロック端側での停止位置から、反対のロック端へ向けてスライドルーフ４を摺動させたときに、位置ずれと異物との場合で、そのロック端までの移動距離が異なる。そこで、本例では、一方のロック端側でロック停止が発生した場合、制御部２３はその停止位置をメモリ２３ｂに記憶し、次にスライドルーフ４が反対側のロック端側に向けて摺動してそのロック端と当接するまでのスライドルーフ４の移動距離を演算する。そして、その移動距離が、サンルーフ摺動可能範囲Ｘａ−Ｘｂよりも小さければ、先の停止が異物等の侵入によるものと判断し、サンルーフ摺動可能範囲Ｘａ−Ｘｂと同一又はそれよりも大きければ、先の停止が位置ずれによるロック端との当接による停止であると判断する。なお、ロック停止位置を記憶するメモリ２３ｂが、本発明の停止情報記憶手段に相当する。また、ロック停止位置が本発明の停止情報に相当する。
【００６１】
さらに、本実施形態では、一方のロック端側でロック停止したのちに再度同じロック端側にスライドルーフ４が摺動して、そのロック端と当接したときの停止状態によっても、先の停止が位置ずれによるものか否かを判断している。
【００６２】
すなわち、（ｂ）のようなスライド側への位置ずれの場合、スライドルーフ４を再度スライドロック端側へ摺動させたとしても、同じ場所（この場合は、９８０パルス数の位置）でスライドロック端に当接して停止する。
【００６３】
一方、（ｄ）のようなスライド側への異物の侵入による場合、異物が取り除かれていれば、（ａ）の正常状態と同じになる。このため、スライドルーフ４を同じスライドロック端側に再度摺動させた時に、スライド全開位置（Ｓｂ）又はこれよりもスライドロック端（Ｘｂ）側までスライドルーフ４が摺動する。
逆に、異物が取り除かれていなければ、スライドルーフ４は、再度同じ位置（この場合、９７７パルス数の位置）で異物に当接して停止する。
【００６４】
そこで、本実施形態では、一方のロック端側でロック停止し、位置ずれの可能性ありと判断された場合に、再度同じロック端側へスライドルーフ４が摺動したときに、そのロック端側の全開位置（すなわち、作動領域Ｓａ−Ｓｂの端部）かこれよりもロック端側までスライドルーフ４が摺動したときは、先のロック停止が異物によるものであり、すでに異物が取り除かれたとして、位置ずれなしと判断する。
【００６５】
一方、一方のロック端側でロック停止した後、再度同じロック端へスライドルーフ４が摺動したときに、位置ずれ検出領域でロック停止が検出されたときは、位置ずれが発生したか、異物が侵入して未だに取り除かれていない状態であるとして、位置ずれなしと判断せずに判断を保留する。
【００６６】
以上説明したように、本実施形態の位置ずれ判別は、以下の手順で行われる。
１．一方のロック端側でロック停止を検出すると、制御部２３は、位置ずれの可能性ありとしてその停止位置情報をパルス数として記憶するとともに、モータ２５をロック端で停止させる制御を解除する。
２．その後、先にロック停止したロック端と反対側のロック端にスライドルーフ４が摺動し、そのロック端で停止した場合に、その停止位置をパルス数として記憶する。
３．先のロック停止位置におけるパルス数から反対側のロック端で停止したときの停止位置におけるパルス数を減算し、先のロック停止位置から反対側のロック端での停止位置までのスライドルーフ４の移動距離を算出する。
４．その移動距離が、サンルーフ摺動可能距離以上であれば位置ずれと判断し、サンルーフ摺動可能距離よりも小さければ異物の侵入によるものと判断する。
５．上記１の後、先にロック停止したロック端と同じ側のロック端にスライドルーフ４が摺動し、そのロック端の全開位置又はそれよりもロック端側までスライドルーフ４が摺動した場合に、先のロック停止が異物の挟み込みによるもので既に異物が取り除かれたと判断する。
【００６７】
次に、図４〜９のフローチャートを参照して、本発明の開閉体制御装置による開閉体の制御手順について具体的に説明する。
コントローラ５の制御部２３は、上述したように位置ずれ判別プログラムを備えている。この位置ずれ判別プログラムは、制御部２３のメモリ領域に原点位置を数値情報として記憶させる原点位置記憶処理と、原点位置が初期化されているか否かを初期化済みフラグをセットして記憶させる初期化記憶処理と、原点位置を基準にモータ２５からのパルス数をカウントしてスライドルーフ４の現在位置を数値情報として記憶させる現在位置記憶処理と、ロック停止が生じたときに位置ずれが生じた可能性があるとしてそのロック位置がスライド側かチルト側かの情報とそのときの停止位置を記憶させる位置ずれ記憶処理と、をＭＰＵ２３ａに実行させる。位置ずれ判別プログラムを実行するＭＰＵ２３ａと位置ずれ判別プログラムを記憶するメモリ２３ｂが、本発明の位置ずれ判別手段に相当する。
【００６８】
制御部２３のメモリ２３ｂには、原点位置が初期化されているか否かを示す「初期化済み」フラグ（未初期化又は初期化済み）や、原点位置を基準にパルス数をカウントして決定される「現在位置」（数値情報）が記憶される。また、メモリ２３ｂには、スライドルーフ４の摺動中にロック停止した場合に、そのロック停止したロック端側へ位置ずれが発生している可能性があるとして、ロック停止の有無及びそのロック停止方向に関する情報（位置ずれなし、スライド側、チルト側のいずれか）が、「位置ずれ検出」情報として記憶される。さらに、メモリ２３ｂには、スライド側でロック停止した際の停止位置である「スライドロック位置」（数値情報）や、チルト側でロック停止した際の停止位置である「チルトロック位置」（数値情報）が記憶される。
【００６９】
まず、ステップＳ１において、制御部２３は、原点位置が初期化済みか否かを判定する。原点位置は、開閉体の移動距離測定の基準となる位置であり、本実施形態ではチルトロック端（Ｘａ）を原点位置として設定している。この処理は、制御部２３に記憶された初期化済みフラグがセットされているか否かに基づいて行われる。
原点位置が初期化されていない場合は、ステップＳ１０に進んで初期化処理を行う（図５）。原点位置が初期化されている場合は、ステップＳ２で現在のモータの動作モードを判別し、モータ２５が作動している場合は動作モード（オープン作動、クローズ作動、ダウン作動、アップ作動）に応じた処理を行う。
【００７０】
一方、ステップＳ２でモータ２５が停止していると判定したときは、次のステップＳ３に進み、チルトスイッチ１３やスライドスイッチ１４がオンされているか否かを判定する。スライドスイッチ１４によりオープン作動が指示された場合はステップＳ４に進み、制御部２３はモータ２５の回転方向をオープン方向として、オープン作動を行うよう動作モードを設定する。一方、スライドスイッチ１４によりクローズ作動が指示された場合はステップＳ５に進み、制御部２３はモータ２５の回転方向をクローズ方向として、クローズ作動を行うよう動作モードを設定する。
【００７１】
また、チルトスイッチ１３によりダウン作動が指示された場合はステップＳ６に進み、制御部２３はモータ２５の回転方向をダウン方向として、ダウン作動を行うよう動作モードを設定する。チルトスイッチ１３によりアップ作動が指示された場合はステップＳ７に進み、制御部２３はモータ２５の回転方向をアップ方向として、アップ作動を行うよう動作モードを設定する。
【００７２】
ステップＳ１で原点位置が未初期化状態と判定された場合、ステップＳ１０（図５参照）に進んで現在のモータ２５の動作モードを判別する。その結果、クローズ／アップ作動状態であれば、ステップＳ１１でロック状態が検出されたか否かを判定する。ロック状態が検出された場合、ステップＳ１２に進み、原点位置に初期化済みフラグをセットし、記憶している現在位置情報に「０」を書き込みリセットする。これにより、チルトロック端（Ｘａ）が原点位置として設定される。ステップＳ１０でモータ停止中と判定された場合、次のステップＳ１３でスイッチ入力か否かを判定する。スイッチが入力されている場合、ステップＳ１４、Ｓ１５で、入力されたスイッチに応じた動作モードを設定する。
【００７３】
次に、位置ずれを判定する流れについて説明する。
ステップＳ２で動作モードがオープン作動であると判定された場合（Ｂ）、ステップＳ２０でロック検出されたか否かを判定する。この結果、ロック検出がないと判定されると、ステップＳ２１に進んで現在位置がスライド全開位置（Ｓｂ）よりも全閉位置（Ｃ）側であれば（現在位置＜スライド全開位置）処理を抜ける。一方、現在位置がスライド全開位置（Ｓｂ）よりもスライドロック端（Ｘｂ）側であれば（現在位置≧スライド全開位置）ステップＳ２２に進み、メモリ２３ｂに記憶されている位置ずれ検出情報を取得し、以前にスライド側でロック状態（すなわち、位置ずれの可能性ありの状態）が検出されたか否かを判定する。
【００７４】
位置ずれ検出情報として「スライド側」がメモリ２３ｂに記憶され、以前にスライド側でロック検出された場合は、後述するステップＳ３０に進み、位置ずれ検出情報を初期化して位置ずれなしとする。ステップＳ２２で以前にスライド側でロック検出されていない場合は、位置ずれ検出情報に基づいて、ステップＳ２３で以前にチルト側でロック検出されたか否かを判別する。この結果、チルト側でもロック検出されていないと判断されると、ステップＳ３１に進み、動作モードをモータ停止として、モータ２５を作動停止させる。ステップＳ２３で、以前にチルト側でロック検出されていると判断されると、動作モードを変更せずに処理を抜ける。
【００７５】
一方、ステップＳ２０においてスライド側でロック検出された場合は、メモリ２３ｂに記憶されている位置ずれ検出情報を取得し、ステップＳ２４で以前にチルト側でロック検出されたか否かを判別する。この結果、ロック検出なしと判断されると、ステップＳ２５で現在位置がスライド側の位置ずれ検出領域内であるか否かを判別する。この結果、現在位置がスライド側位置ずれ検出領域外であれば、ステップＳ３１で動作モードをモータ停止として、モータ２５を作動停止させる。一方、ステップＳ２５で、現在位置がスライド側の位置ずれ検出領域内であれば、スライド側で位置ずれの可能性が生じたと判断し、ステップＳ２６でスライドロック位置を現在位置とし、ステップＳ２７でメモリ２３ｂに記憶されている位置ずれ検出情報に「スライド側」を記憶させる。
【００７６】
ステップＳ２４で、以前にチルト側でロック検出されたと判断されると、ステップＳ２８に進み、そのロック検出された現在位置からそのときに検出されて記憶されたチルトロック位置までの移動距離（すなわち、「現在位置−チルトロック位置」）が、サンルーフ摺動可能範囲よりも小さいか否かを判別する。この結果、移動距離がサンルーフ摺動可能範囲よりも小さい場合、以前検出されたチルト側でのロック検出が異物等の挟み込みが原因で位置ずれではないと判断して、ステップＳ３０に進んで位置ずれ検出なしとする。一方、移動距離がサンルーフ摺動可能範囲以上であれば、以前検出されたチルト側でのロック検出が、位置ずれ（図３の（ｃ）の状態）によるものであると判断し、ステップＳ２９に進んで位置ずれの補正を行う。
【００７７】
ステップＳ２９では、「現在位置＝現在位置−チルトロック位置」とし、現在位置をスライドロック端（Ｘｂ）の位置とする。これにより、位置ずれが補正され、正常状態となる。続いて、ステップＳ３０で、位置ずれ検出を初期化して、位置ずれなしとする。ステップＳ３１に進み、動作モードをモータ停止に変更し、モータ２５を作動停止させる。
【００７８】
ステップＳ２の動作振り分けモードで現在の動作モードがクローズ作動であると判断されると（Ｃ）、ステップＳ３５（図７参照）に進み、現在位置が全閉位置（Ｃ）まで到達したか否かを判定する。その結果、現在位置が全閉位置（Ｃ）まで到達していないときは（現在位置＞全閉位置）処理を抜け、全閉位置（Ｃ）まで到達したときは（現在位置≦全閉位置）動作モードをモータ停止としてモータ２５を作動停止させる。
【００７９】
ステップＳ２の動作振り分けモードで現在の動作モードがダウン作動であると判断されると（Ｄ）、ステップＳ３７（図８参照）に進み、現在位置が全閉位置（Ｃ）まで到達したか否かを判定する。その結果、現在位置が全閉位置（Ｃ）まで到達していないときは（現在位置＜全閉位置）処理を抜け、全閉位置（Ｃ）まで到達したときは（現在位置≧全閉位置）動作モードをモータ停止としてモータ２５を作動停止させる。
【００８０】
ステップＳ２で動作モードがアップ作動であると判定された場合（Ｅ）、ステップＳ４０でロック検出されたか否かを判定する。この結果、ロック検出がないと判定されると、ステップＳ４１に進んで現在位置がチルト全開位置（Ｓａ）よりも全閉位置（Ｃ）側であれば（現在位置＞チルト全開位置）処理を抜ける。一方、現在位置がチルト全開位置（Ｓａ）よりもチルトロック端（Ｘａ）側であれば（現在位置≦チルト全開位置）ステップＳ４２に進み、メモリ２３ｂに記憶されている位置ずれ検出情報を取得し、以前にチルト側でロック検出が検出されたか否かを判定する。
【００８１】
メモリ２３ｂの位置ずれ検出情報として「チルト側」が記憶され以前にチルト側でロック検出されている場合は、後述するステップＳ５０に進み、位置ずれ検出情報を初期化して位置ずれなしとする。ステップＳ４２で以前にチルト側でロック検出されていない場合は、ステップＳ４３で以前にスライド側でロック検出されたか否かを判別する。この結果、スライド側でもロック検出されていないと判断されると、ステップＳ５１に進み、動作モードをモータ停止として、モータ２５を作動停止させる。ステップＳ５１で、以前にスライド側でロック検出されていると判断されると、動作モードを変更せずに処理を抜ける。
【００８２】
一方、ステップＳ４０においてチルト側でロック検出された場合は、ステップＳ４４でメモリ２３ｂに記憶されている位置ずれ検出情報を取得し、以前にスライド側でロック状態（すなわち、位置ずれの可能性ありの状態）が検出されたか否かを判別する。この結果、ロック検出なしと判断されると、ステップＳ４５で現在位置がチルト側の位置ずれ検出領域内であるか否かを判別する。この結果、現在位置がチルト側位置ずれ検出領域外であれば、ステップＳ５１で動作モードをモータ停止として、モータ２５を作動停止させる。一方、ステップＳ４５で、現在位置がチルト側の位置ずれ検出領域内であれば、チルト側で位置ずれが生じた可能性ありと判断し、ステップＳ４６でチルトロック位置を現在位置とし、ステップＳ４７で位置ずれ検出位置を「チルト側」とする。
【００８３】
ステップＳ４４で、以前にスライド側でロック検出が検出されたと判断されると、ステップＳ４８に進み、そのときに検出され記憶されたスライドロック位置からロック検出された現在位置までの移動距離（すなわち、「現在位置−スライドロック位置」）が、サンルーフ摺動可能範囲よりも小さいか否かを判別する。この結果、移動距離がサンルーフ摺動可能範囲よりも小さい場合、以前検出されたスライド側でのロック検出が異物等の挟み込みが原因であると判断して、ステップＳ５０に進んで位置ずれ検出なしとする。一方、移動距離がサンルーフ摺動可能範囲以上であれば、以前検出されたスライド側でのロック検出が、位置ずれ（図３の（ｂ）の状態）によるものであると判断し、ステップＳ４９に進んで位置ずれの補正を行う。
【００８４】
ステップＳ４９では、「現在位置＝０」とし、現在位置をスライドロック端（Ｘｂ）の位置、すなわち原点位置とする。これにより、位置ずれが補正され、正常状態となる。続いて、ステップＳ５０で、メモリ２３ｂに記憶された位置ずれ検出情報を初期化して、位置ずれなしとする。ステップＳ５１に進み、動作モードをモータ停止に変更し、モータ２５を作動停止させる。
【００８５】
次に、位置ずれか否かの判定手順を、図３の説明図と図４〜９のフローチャートとに基づいて詳細に説明する。
まず、最初にオープン作動中にスライドロック端（Ｘｂ）側でロック停止が検出されると、ステップＳ２０でロック検出ありと判断され、ステップＳ２４で以前にチルト側で位置ずれが検出されたか否かが判断される。今回のロック検出が最初であるため、ステップＳ２５，ステップＳ２６でスライドロック位置を現在位置とし、位置ずれ検出位置を「スライド側」としたのち、ステップＳ３１でモータ２５を作動停止させる。これにより、スライド側で位置ずれが発生した可能性があることが記憶された状態となる。
【００８６】
その後、スライドルーフ４がチルトロック端（Ｘａ）へ摺動し、ステップＳ４０でチルトロック端（Ｘａ）にてロック検出されることを契機に、ステップＳ４４で以前にスライド側でロック検出されたか否かを判定する。この場合、以前にスライド側でロック検出があったと判断され、ステップＳ４８に移行する。ステップＳ４８では、ステップＳ２６で記憶されたスライドロック位置を読み出し、このスライドロック位置から今回のチルトロック位置までのスライドルーフ４の移動距離がサンルーフ摺動可能距離であるか否かを判定する。
【００８７】
上述したように、先にスライド側でロック停止した原因が、図３の（ｂ）のような位置ずれである場合には、スライドルーフ４はスライドロック端（Ｘｂ）からチルトロック端（Ｘａ）までサンルーフ摺動可能範囲を摺動することができる。他方、図３の（ｄ）のような異物等の挟み込みである場合には、スライドルーフ４は異物の挟み込みによりロック停止した位置からチルトロック端（Ｘａ）まで、サンルーフ摺動可能範囲を摺動することができない。
【００８８】
このため、ステップＳ４８で現在位置（すなわち、チルトロック端（Ｘａ））から前回のスライドロック位置までのスライドルーフ４の移動距離がサンルーフ摺動可能範囲、図３では１０００パルス分に相当するか否かを判定する。その結果、サンルーフ摺動可能範囲以上となる場合は、前回スライド側でロック停止した原因が、位置ずれによるものと判断する。この位置ずれを補正するため、ステップＳ４９で現在位置、すなわちチルトロック端（Ｘａ）を「０」とする。
【００８９】
一方、スライドルーフ４の移動距離が、サンルーフ摺動可能範囲に満たない場合は、前回ロック端でロック停止した原因が異物等の挟み込みによるものと判断する。この場合、位置ずれを補正する必要がないため、ステップＳ４９をスキップしてステップＳ５０で位置ずれ検出なしとする。
【００９０】
アップ作動中にチルトロック端（Ｘａ）側でロックが検出された場合も同様の手順で位置ずれか否かの判定が行われる。
すなわち、最初にチルトロック端（Ｘａ）側でロックが検出されると、ステップＳ４０でロック検出ありと判断され、ステップＳ４６でチルトロック位置を現在位置とし、位置ずれ検出位置を「チルト側」とする。これにより、チルト側で位置ずれが発生した可能性があることが記憶された状態となる。
【００９１】
その後、スライドルーフ４が再度摺動してスライドロック端（Ｘｂ）へ摺動し、ステップＳ２０でスライドロック端（Ｘｂ）にてロック検出されることを契機に、ステップＳ２４で以前にチルト側で位置ずれ検出されたか否かを判定して、ステップＳ２８に移行する。ステップＳ２８では、ステップＳ４６で記憶されたチルトロック位置を読み出し、ステップＳ２８でこのチルトロック位置から今回のチルトロック位置までのスライドルーフ４の移動距離がサンルーフ摺動可能距離であるか否かを判定する。
【００９２】
その結果、移動距離がサンルーフ摺動可能範囲以上となる場合は、前回チルト側でロック停止した原因が位置ずれによるものと判断する。この位置ずれを補正するため、ステップＳ２９で現在位置、すなわちスライドロック端（Ｘｂ）を「現在位置−チルトロック位置」を演算し、これを現在位置として格納する。本実施形態では、「現在位置−チルトロック位置」の値は１０００となる。
【００９３】
一方、スライドルーフ４の移動距離がサンルーフ摺動可能範囲に満たない場合は、前回ロック端でロック停止した原因が異物等の挟み込みによるものと判断する。この場合、位置ずれを補正する必要がないため、ステップＳ２９をスキップしてステップＳ３０で位置ずれ検出なしとする。
【００９４】
このように、本実施形態では、スライドルーフ４の位置ずれによる停止と異物等の挟み込みによる停止とで、反対側のロック端までの移動距離、すなわち停止状態が異なることを利用して、両者のいずれであるかを判別している。
【００９５】
本実施形態では、ロック停止した側と反対側のロック端での停止状態に基づいて位置ずれか否かを判別しているが、更に従来と同様にロック停止した側と同じ側での停止状態に基づいて位置ずれか否かを判別することも可能である。以下、具体的に説明する。
【００９６】
オープン作動中にスライド側でロック検出された場合、ステップＳ２７でスライド側にて位置ずれ検出があったことが記憶される。異物等の挟み込みによる場合は、異物が取り除かれればスライドルーフ４はスライド側へ摺動してもロックせずにスライド全開位置（Ｓｂ）まで摺動できる。一方、位置ずれの場合は、スライドルーフ４はスライド側へ摺動しても再度同じ位置でロックする。
【００９７】
このため、スライド側でロック検出された後に再度オープン作動がされた場合、ステップ２０でロック検出なしと判定され、続くステップＳ２１でスライド全開位置（Ｓｂ）までスライドルーフ４が摺動すると、ステップＳ２２に進んで以前にスライド側でロック検出されたか否かが判定される。その結果、以前にスライド側で位置ずれ検出ありと判定されると、前回のスライド側でのロック検出が異物等の挟み込みによるものであり、すでにその異物が取り除かれたと判断して、ステップＳ３０で位置ずれ検出なしに変更する。
【００９８】
アップ作動中にチルト側でロック検出された場合も同様で、まずステップＳ４７でチルト側にて位置ずれ検出があったことが記憶される。
次に、再度アップ作動がされた場合、ステップ４０でロック検出なしと判定され、続くステップＳ４１でチルト全開位置（Ｓａ）までスライドルーフ４が摺動すると、ステップＳ４２に進んで以前にチルト側でロック検出されたか否かが判定される。その結果、以前にチルト側で位置ずれ検出ありと判定されると、前回のチルト側でのロック検出が異物等の挟み込みによるものであり、すでにその異物が取り除かれたと判断して、ステップＳ５０で位置ずれ検出なしに変更する。
【００９９】
このようにすることで、ロック停止が検出されたロック端側と反対側のロック端へ摺動する場合のみならず、同じロック端側へ摺動したときのスライドルーフ４の停止状態に基づいて、位置ずれか否かを判別することが可能となる。これにより、位置ずれか否かを判別する条件が増し、長期に亘って判別不能状態が持続して、位置ずれによりスライドルーフ４の動作不良が持続することを効率的に防止することが可能となる。また、判別条件が増えることで、より正確に位置ずれか否かを判別することが可能となる。
【図面の簡単な説明】
【０１００】
【図１】車体に搭載されたサンルーフ装置を斜め上方から見た状態を示す要部斜視図である。
【図２】開閉体制御装置及びその周辺装置の電気的構成を示すシステムブロック図である。
【図３】スライドルーフの位置とカウント情報との対応関係を示す説明図である。
【図４】開閉体制御装置によるスライドルーフの開閉制御処理のフローチャートである。
【図５】開閉体制御装置によるスライドルーフの開閉制御処理のフローチャートである。
【図６】開閉体制御装置によるスライドルーフの開閉制御処理のフローチャートである。
【図７】開閉体制御装置によるスライドルーフの開閉制御処理のフローチャートである。
【図８】開閉体制御装置によるスライドルーフの開閉制御処理のフローチャートである。
【図９】開閉体制御装置によるスライドルーフの開閉制御処理のフローチャートである。
【符号の説明】
【０１０１】
１‥自動車、  ２‥ルーフパネル、  ３‥天窓（開口部）、  ４‥スライドルーフ（開閉体）、  ５‥コントローラ（開閉体制御装置）、  １１‥バッテリー、  １２‥イグニッションスイッチ、  １３‥チルトスイッチ、  １４‥スライドスイッチ、  １５‥車速センサ、  ２１‥電源部、  ２２‥入力部、  ２３‥制御部、  ２３ａ‥ＭＰＵ、  ２３ｂ‥メモリ、  ２４‥駆動回路部、  ２５‥モータ（駆動モータ）、  ２６ａ，２６ｂ‥位置センサ、  ２７‥速度・位置検出回路部、  Ｘａ‥チルトロック端、  Ｘｂ‥スライドロック端、  Ｓａ‥チルト全開位置、  Ｓｂ‥スライド全開位置、  Ｃ‥全閉位置
【図１】
2008045289.tif 000003
【図２】
2008045289.tif 000004
【図３】
2008045289.tif 000005
【図４】
2008045289.tif 000006
【図５】
2008045289.tif 000007
【図６】
2008045289.tif 000008
【図７】
2008045289.tif 000009
【図８】
2008045289.tif 000010
【図９】
2008045289.tif 000011