(57)【特許請求の範囲】
【請求項１】
サンルーフリッドの開方向作動に応じてデフレクタを突出させるデフレクタ機構を備えたサンルーフ装置のサンルーフリッドが閉方向に作動しているときに、当該サンルーフリッドを開閉作動させる駆動用モータの回転速度が所定のしきい値を超えて低下した際に前記モータを停止させたのち反転させてサンルーフリッドを開方向に作動させるサンルーフ制御方法において、
上記の制御に先立ってサンルーフリッドを移動させ、前記デフレクタ機構との係合が生じ得る領域内において前記モータの回転速度に予め定められた値以上の変動が生じた位置を当該モータの回転数に基づいて検出してデフレクタ位置とし、該デフレクタ位置の閉方向および開方向の所定距離範囲内をデフレクタ領域として特定すると共に、上記制御に際して、サンルーフリッドが前記デフレクタ領域内にあるときのしきい値をデフレクタ領域外にあるときのしきい値より大きく設定することを特徴とするサンルーフ制御方法。
【請求項２】
減速装置を介してサンルーフリッドに連結されたアーマチュア軸を有するモータと、
サンルーフリッドを開方向に移動させる開指令信号を発生する開スイッチと、
サンルーフリッドを閉方向に移動させる閉指令信号を発生する閉スイッチと、
前記開スイッチからの開指令信号に応じて開駆動信号を発生し、前記閉スイッチからの閉指令信号に応じて閉駆動信号を発生する制御手段と、
前記制御手段からの開駆動信号に応じてサンルーフリッドの開方向に相当する回転を与える駆動電流をモータに供給し、閉駆動信号に応じてサンルーフリッドの閉方向に相当する回転を与える駆動電流をモータに供給する駆動手段と、
前記モータのアーマチュア軸の回転に応じて位相差を有するパルス信号を発生するモータ回転検出手段と、
サンルーフリッドの開方向作動に応じてデフレクタを突出させるデフレクタ機構を備えたサンルーフ制御装置において、
前記制御手段は、前記モータ回転検出手段から発生するパルス信号数をカウントしてサンルーフリッドの現在位置データを出力するルーフ位置カウンタと、
前記モータ回転検出手段から発生するパルス信号に基いてモータの単位時間当たりの回転数を算出する回転数算出ブロックと、
前記回転数算出ブロックにより算出された単位時間当たりの回転数データを保存し、保存された回転数と現在の回転数との回転数差を算出する回転数メモリブロックと、
前記回転数メモリブロックにより算出された回転数差と比較されるしきい値が保存されたしきい値ＲＯＭと、
サンルーフリッドを作動させながら前記回転数算出ブロックにより算出された回転数に予め定められた値以上の変動が生じた位置を前記ルーフ位置カウンタのカウント値に基づいてデフレクタ位置とし、該デフレクタ位置の閉方向および開方向の所定距離範囲内をデフレクタ領域として特定すると共に、サンルーフリッドが当該デフレクタ領域内にあるか否かを判定して、デフレクタ領域内にある時に領域内信号を発生するデフレクタ領域認識ブロックと、
前記閉スイッチから閉指令信号が出力されると、回転数メモリブロックから出力された回転数差を前記しきい値ＲＯＭのしきい値と比較し、デフレクタ領域認識ブロックから領域内信号が発生していない場合には、回転数差が前記しきい値を超えたときに前記駆動手段に対する閉駆動信号の出力を停止して開駆動信号を出力する一方、デフレクタ領域認識ブロックから領域内信号が発生している場合には、前記回転数差を前記しきい値に予め定められた値を加えた補正しきい値と比較し、回転数差が当該補正しきい値を超えたときに前記駆動手段に対する閉駆動信号の出力を停止して開駆動信号を出力する制御ブロックを備えていることを特徴とするサンルーフ制御装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、車両の屋根に配設したサンルーフ装置のリッドをモータにより開閉駆動するサンルーフ駆動装置に係わり、とくに、デフレクタ（整流器)を備え、このデフレクタがサンルーフリッドの開放作動に応じてサンルーフ開口部の前縁部から突出するようにしたサンルーフ装置の制御方法および制御装置に関するものである。
【０００２】
【従来の技術】
自動車用のサンルーフ装置においては、サンルーフリッドの開放時に、走行風が車室内に流入したり、風切り音が生じたりするのを防止するために、サンルーフ開口部の前縁部にデフラクタを出没可能に取付け、サンルーフリッドのスライド移動に連動させて、サンルーフの閉鎖時にはルーフ内に収納する一方、開放時にはサンルーフ開口部の前縁部に突出させるようにしたものがある。
【０００３】
このようなデフレクタ機構を取付けたサンルーフ装置において、障害物の挟み込み検出、すなわち駆動モータの回転数（回転速度）を監視し、サンルーフリッドが閉方向に移動している際にモータの回転数が減少したことを検出した場合に、挟み込み発生と判断してサンルーフリッドを反転（開方向駆動）するような制御を行う場合には、サンルーフリッドがデフレクタ機構と衝突してデフレクタを収納させるときの負荷によるモータ回転数の低下を挟み込み発生と判定して、リッドを誤反転させてしまうようなことが考えられる。そこで、従来では、挟み込み発生と判定するためのモータの回転数低下幅のしきい値をデフレクタ機構と衝突が起り得る範囲のみ高く設定することによって、誤反転が発生しないようにしている。
【０００４】
【発明が解決しようとする課題】
しかしながら、個々のサンルーフ装置におけるデフレクタ機構との衝突位置のばらつきを考慮すると、デフレクタ機構と衝突が起り得る範囲、すなわちしきい値を高するデフレクタ領域を広めに設定しておくことが必要となる。したがって、万一この領域内で挟み込みは発生した場合には、モータの回転数がかなり低下するまでリッドが反転しないことになって、大きな挟み込み荷重が発生することになる。つまり、デフレクタ機構を備えたサンルーフ装置の挟み込み防止システムにおいては、挟み込み荷重が高くなる領域が広くなってしまうという問題点があり、このような問題点の解消が上記のようなサンルーフ装置における制御上の課題となっていた。
【０００５】
【発明の目的】
この発明は、デフレクタ機構を備えた従来のサンルーフ装置の挟み込み防止システムにおける上記課題に鑑みてなされたものであって、デフレクタ機構との衝突が予測されるデフレクタ領域を狭い範囲に確実に特定することができ、リッド反転時の挟み込み荷重が高い領域を狭くして、安全性をより向上させることができるサンルーフ制御方法、およびこのような制御に用いられるサンルーフ制御装置を提供することを目的としている。
【０００６】
【課題を解決するための手段】
本発明に係わるサンルーフ制御方法は、サンルーフリッドの開方向作動に応じてデフレクタを突出させるデフレクタ機構を備えたサンルーフ装置のサンルーフリッドが閉方向に作動しているときに、当該サンルーフリッドを開閉作動させる駆動用モータの回転速度が所定のしきい値を超えて低下した際に前記モータを停止させたのち反転させてサンルーフリッドを開方向に作動させるサンルーフ制御方法において、上記の制御に先立ってサンルーフリッドを移動させ、前記デフレクタ機構との係合が生じ得る領域内において前記モータの回転速度に予め定められた値以上の変動が生じた位置を当該モータの回転数に基づいて検出してデフレクタ位置とし、該デフレクタ位置の閉方向および開方向の所定距離範囲内をデフレクタ領域として特定すると共に、上記制御に際して、サンルーフリッドが前記デフレクタ領域内にあるときのしきい値をデフレクタ領域外にあるときのしきい値より大きく設定する構成としたことを特徴としており、サンルーフ制御方法におけるこのような構成を前述した従来の課題を解決するための手段としている。
【０００７】
本発明に係わるサンルーフ制御装置は、減速装置を介してサンルーフリッドに連結されたアーマチュア軸を有するモータと、サンルーフリッドを開方向に移動させる開指令信号を発生する開スイッチと、サンルーフリッドを閉方向に移動させる閉指令信号を発生する閉スイッチと、前記開スイッチからの開指令信号に応じて開駆動信号を発生し、前記閉スイッチからの閉指令信号に応じて閉駆動信号を発生する制御手段と、前記制御手段からの開駆動信号に応じてサンルーフリッドの開方向に相当する回転を与える駆動電流をモータに供給し、閉駆動信号に応じてサンルーフリッドの閉方向に相当する回転を与える駆動電流をモータに供給する駆動手段と、前記モータのアーマチュア軸の回転に応じて位相差を有するパルス信号を発生するモータ回転検出手段と、サンルーフリッドの開方向作動に応じてデフレクタを突出させるデフレクタ機構を備えたサンルーフ制御装置において、前記制御手段は、前記モータ回転検出手段から発生するパルス信号数をカウントしてサンルーフリッドの現在位置データを出力するルーフ位置カウンタと、前記モータ回転検出手段から発生するパルス信号に基いてモータの単位時間当たりの回転数を算出する回転数算出ブロックと、前記回転数算出ブロックにより算出された単位時間当たりの回転数データを保存し、保存された回転数と現在の回転数との回転数差を算出する回転数メモリブロックと、前記回転数メモリブロックにより算出された回転数差と比較されるしきい値が保存されたしきい値ＲＯＭと、サンルーフリッドを作動させながら前記回転数算出ブロックにより算出された回転数に予め定められた値以上の変動が生じた位置を前記ルーフ位置カウンタのカウント値に基づいてデフレクタ位置とし、該デフレクタ位置の閉方向および開方向の所定距離範囲内をデフレクタ領域として特定すると共に、サンルーフリッドが当該デフレクタ領域内にあるか否かを判定して、デフレクタ領域内にある時に領域内信号を発生するデフレクタ領域認識ブロックと、前記閉スイッチから閉指令信号が出力されると、回転数メモリブロックから出力された回転数差を前記しきい値ＲＯＭのしきい値と比較し、デフレクタ領域認識ブロックから領域内信号が発生していない場合には、回転数差が前記しきい値を超えたときに前記駆動手段に対する閉駆動信号の出力を停止して開駆動信号を出力する一方、デフレクタ領域認識ブロックから領域内信号が発生している場合には、前記回転数差を前記しきい値に予め定められた値を加えた補正しきい値と比較し、回転数差が当該補正しきい値を超えたときに前記駆動手段に対する閉駆動信号の出力を停止して開駆動信号を出力する制御ブロックを備えている構成とし、サンルーフ制御装置におけるこのような構成を前述した従来の課題を解決するための手段としたことを特徴としている。
【０００８】
【発明の作用】
本発明に係わるサンルーフ制御方法は、デフレクタ機構を備えたサンルーフ装置において挟み込み検出制御を行うに際し、実際の制御開始に先立ってサンルーフリッドを移動させ、デフレクタ機構との係合が生じ得る領域内において駆動用モータの回転速度に予め定められた値以上の変動が生じた位置を駆動用モータの回転数に基づいて検出してデフレクタ位置とし、検出されたデフレクタ位置の閉方向および開方向の所定距離範囲内をデフレクタ領域として特定しておき、実際の挟み込み検出に際して、サンルーフリッドがデフレクタ領域内にあるときのしきい値をデフレクタ領域外にあるときのしきい値より大きく設定するようにしている。すなわち、サンルーフ装置のそれぞれについてデフレクタ位置を検出して認識し、この位置を基準にしてしきい値を高くするデフレクタ領域を設定するようにしているので、個々のサンルーフ装置のデフレクタ位置が正確に把握され、ばらつきを見込む必要がなくなることから、反転時の挟み込み荷重が高い領域を狭くして安全性がより向上することになる。
【０００９】
図１は、本発明に係わる制御方法によるデフレクタの位置検出の原理、要領を示すものであって、サンルーフ装置を車両に搭載し、サンルーフリッド位置検知用カウンタなどの初期設定を終えた後、リッドを全開位置まで一旦移動させ、全開位置から全閉位置に向けて移動を開始した時のリッドの移動位置と駆動用モータの単位時間当たり回転数（回転速度）およびその変動の関係を図示したものである。なお、モータの回転数および回転変動は、モータに取付けた回転センサから発生するパルス信号の周期およびその変動を測定することによって、サンルーフリッド位置については、上記パルス信号のエッジ数を回転方向に応じてインクリメントあるいはデクリメントするカウンタによって、それぞれ把握することができる。
【００１０】
閉スイッチをオン操作することによって駆動用モータが回転を始め、図に示すように、出力軸の回転数が急速に上昇する。このとき、モータの出力軸に設けたダンパーの捩れや戻りによって、モータの起動直後には比較的大きな回転数変動が生じる。この後、モータは安定な回転を続け、これによってサンルーフリッドは全閉位置に向けて移動し、やがてリッドはＡ点を超えて、デフレクタ機構との衝突が予測される領域（Ａ−Ｂ）内に入る。なお、この領域（Ａ−Ｂ）は、サンルーフ装置の個体間のばらつきを考慮して、比較的広い範囲に設定してある。
【００１１】
そして、サンルーフリッドがＡ点を越えた後、領域（Ａ−Ｂ）内においてデフレクタ機構に衝突すると、その抵抗によってリッドの移動が妨げられ、モータの回転数が低下して回転変動が大きく現れる。そしてこの変動が予め定められたデフレクタ位置検出用のしきい値Ｎを超えると、この位置Ｃをデフレクタ位置として認識すると共に、このＣ点から全開位置側にΔＬ、全閉位置側にΔＭの範囲をデフレクタ領域と定め、このデフレクタ領域内におけるしきい値を他の部分よりも高く設定して、以後の挟み込み検出および反転制御を行う。
【００１２】
したがって、上述のように、サンルーフ装置のデフレクタ位置がそれぞれ正確に把握され、個体間のばらつき範囲を考慮する必要がなくなって、挟み込み検出のしきい値を高くして挟み込み荷重が大きくならざるを得ないデフレクタ領域を狭く設定でき、安全性がより向上することになる。
【００１３】
また、本発明に係わるサンルーフ制御装置は、サンルーフリッド駆動用のモータと、開閉スイッチと、制御手段と、制御手段からの開駆動信号あるいは閉駆動信号に基いてモータに駆動電流を供給する駆動手段と、モータ回転検出手段と、デフレクタ機構を備え、前記制御手段が、モータ回転検出手段からのパルス信号に基づいてサンルーフリッドの現在位置データを出力するルーフ位置カウンタと、同じくパルス信号に基づいてモータの単位時間当たりの回転数を算出する回転数算出ブロックと、単位時間当たりの回転数データを保存し、保存された回転数と現在回転数との回転数差を算出する回転数メモリブロックと、前記回転数差と比較されるしきい値ＲＯＭと、サンルーフリッドを作動させながらもモータの回転数に予め定められた値以上の変動が生じた位置を前記ルーフ位置カウンタのカウント値に基づいてデフレクタ位置とし、このデフレクタ位置の前後の所定距離範囲内をデフレクタ領域として特定すると共に、リッドが当該デフレクタ領域内にあるときに領域内信号を発生するデフレクタ領域認識ブロックと、閉スイッチから閉指令信号が出力されると、回転数メモリブロックから出力された回転数差を前記しきい値ＲＯＭのしきい値と比較し、デフレクタ領域認識ブロックから領域内信号が発生していない場合には、回転数差が前記しきい値を超えたときに駆動手段に対する閉駆動信号の出力を停止して開駆動信号を出力する一方、デフレクタ領域認識ブロックから領域内信号が発生している場合には、回転数差を前記しきい値に予め定められた値を加えた補正しきい値と比較して上記同様の制御を行う制御ブロックを備えたものであるから、本発明に係わる上記制御方法を実施するのに好適な構成のものであって、個々のサンルーフ装置のデフレクタ位置を正確に把握して、挟み込み時の荷重が高くなるデフラクタ領域が狭く設定され、安全性がより向上することになる。
【００１４】
【実施例】
以下、本発明を実施例に基づいてさらに具体的に説明する。
【００１５】
図２は、本発明に係わるサンルーフ制御装置の構成を示すブロック図であって、図に示すサンルーフ制御装置１は、開スイッチ２と、閉スイッチ３と、モータ４を備えたアクチュエータＡＣから、主として構成されており、アクチュエータＡＣには、２つのホールＩＣ、ＩＣ１およびＩＣ２からなるモータ回転検出手段５と、出力回路（駆動手段）６と、制御手段ＭＣＵ（microprogram control unit）が組込まれている。そして、制御手段ＭＣＵには、エッジ検出ブロック７、出力軸回転数算出ブロック（回転数算出ブロック）８、回転数メモリブロック９、ルーフ位置カウンタ１０、モータ起動後パルスカウンタ（フローチャートにおいては「モータ起動カウンタ」と略記）１１、しきい値データＲＯＭ（しきい値ＲＯＭ）１２、デフレクタ領域認識ブロック１３、ＥＥＰＲＯＭ（electrically erasable programmable ROM）１４、入力ブロック１５、制御ブロック１６および出力ブロック１７が内蔵されている。
【００１６】
開スイッチ２は、サンルーフリッドＬを開ける（スライド開）ときにオン操作され、オン操作によって開指令信号を発生する。また、閉スイッチ３は、サンルーフリッドＬを閉じる（スライド閉）ときにオン操作され、これによって閉指令信号を発生する。これらスイッチ２，３の操作によって発生した開指令信号あるいは閉指令信号は、制御手段ＭＣＵの入力ブロック１３に供給される。
【００１７】
モータ４は、アーマチュア軸４ａを有し、アーマチュア軸４ａはウオームおよびウオームホイールからなる減速機構を介して出力軸４ｂに連結され、出力軸４ｂには、図示しないリッド駆動機構を介してサンルーフリッドＬが連結されており、モータ４への駆動電流の供給に基くアーマチュア軸４ａおよび出力軸４ｂの正逆回転によって、サンルーフリッドＬが開閉作動するようになっている。
【００１８】
モータ回転検出手段５は、上記したように２つのホールＩＣからなり、これらホールＩＣ１およびＩＣ２は、アーマチュア軸４ａに取付けられたマグネットの周辺部に、非接触にして９０度相対して配置されている。
【００１９】
モータ回転検出手段５のホールＩＣ１およびＩＣ２は、モータ４のアーマチュア軸４ａの回転に応じて、図３に示すように、互いに９０度の位相差を持つパルス信号をそれぞれ発生する。これらホールＩＣ１およびホールＩＣ２が発生したパルス信号は、それぞれ制御手段ＭＣＵのエッジ検出ブロック７に供給される。
【００２０】
エッジ検出ブロック７は、モータ回転検出手段５のホールＩＣ１およびホールＩＣ２からの入力信号より、その立ち上り／立ち下がりエッジを検出し、出力軸回転数算出ブロック８に対して、モータ４の出力軸４ｂの回転数の計算開始を促す。また、後述するルーフ位置カウンタ１０およびモータ起動後パルスカウンタ１１のカウント要因となる。
【００２１】
出力軸回転数算出ブロック８は、エッジ検出ブロック７からのホールＩＣ信号の立ち上り／立ち下がり信号に基き、エッジが検出される度毎にエッジ間の時間を測定してアーマチュア軸４ａの回転数を算出し（すなわち、この実施例においては、モータ回転検出手段５からの発生する２つのパルス信号エッジ間の時間データ４個でアーマチュア軸１回転の時間に相当することになる）、アーマチュア軸４ａと出力軸４ｂとの減速比を乗じて単位時間当たりの出力軸４ｂの回転数（回転速度）を算出する。当該出力軸回転数算出ブロック１０による算出結果は、回転数メモリブロック９およびデフレクタ領域認識ブロック１３に与えられる。
【００２２】
回転数メモリブロック９は、出力軸回転数算出ブロック８によって算出された出力軸回転数（回転速度）データを予め定められた数（この実施例においては３３個）だけ保存し、挟み込み検出において監視対象となるモータ回転の減速幅として、比較期間の異なる複数の回転数差データ、この実施例においては、４パルスカウント間、８パルスカウント間、１６パルスカウント間および３２パルスカウント間の４種の回転数差データを算出し、制御ブロック１６に出力する。なお、これらの数値は、８ビット値であって０から２５５までの数値を取り得る。また、当該メモリブロック９に保存された３３個の出力軸回転数データは、ホールＩＣ信号の立ち上り／立ち下がりエッジが検出されて新たな回転数が算出される度毎に最新のデータに順次更新され、その都度比較期間（パルス間隔）が異なる前記４種の回転数差データが出力されることになる。
【００２３】
ルーフ位置カウンタ１０は、エッジ検出ブロック７からのホールＩＣ信号のパルス信号の立ち上り／立ち下がり信号をカウントし、アーマチュア軸４ａがサンルーフリッドＬの開方向に回転するとカウント値をインクリメントし、閉方向に回転するとカウント値をデクリメントする。なお、ルーフ位置カウンタ１０のカウント値ＧＰＣは、サンルーフリッドＬが前閉位置にあるときに「０」値をとるように設定してあり、当該カウント値ＧＰＣはサンルーフリッドＬの現在位置を示すことになる。また、サンルーフリッド位置カウンタ１０のカウントデータＧＰＣは、デフレクタ領域認識ブロック１３および制御ブロック１６に与えられる。
【００２４】
モータ起動後パルスカウンタ１１は、エッジ検出ブロック７からのホールＩＣ信号に基き、モータ４が停止した状態から回転を開始したのちに検出された立ち上り／立ち下がり信号をアーマチュア軸４ａの１／４回転毎にカウントする。当該モータ起動後パルスカウンタ１１によりカウントされたカウントデータは、しきい値ＲＯＭ１２からのしきい値データの読み出しに際して参照される。
【００２５】
しきい値データＲＯＭ１２には、図４に示すようなしきい値テーブルが格納されている。すなわち、回転数メモリブロック８において算出された４種類の回転数差データ（４、８、１６および３２パルスカウント差）に対応する４個のしきい値がモータ起動後パルスカウンタ１１のカウント値、すなわちモータ４が起動してからのサンルーフリッドＬの移動距離に応じて多数組（この実施例では７組）保存されている。なお、この図から明らかなように、各しきい値はモータ起動後パルスカウンタ１１のカウント値の増加に伴って段階的に減少するように設定されている。また、モータ４の起動直後であって、回転数が変動し易いカウント値が０〜１０の範囲では、しきい値がいずれも回転数差データを超えることがない「２５５」に設定されており、この範囲においてはモータ４の回転数がいかに変動したとしても、挟み込み発生と判定されてサンルーフリッドＬが反転作動することはなく、マスク領域となっている。
【００２６】
デフレクタ領域認識ブロック１３は、デフレクタ位置が認識される前、すなわち当該サンルーフ装置が車両に搭載された後の初期動作時に、ＲＯＭ１３ａないし１３ｃに予め保存された仮決めされた、ばらつき範囲を含む広いデフレクタ領域データ（図１に示したＡ点およびＢ点に相当する）、デフレクタ位置認識用の回転数変動しきい値、およびデフレクタ位置（図１に示したＣ点に相当）からデフレクタ領域を設定するための領域データ（図１に示したΔＬおよびΔＭ）を読込むと共に、出力軸回転数算出ブロック８からの回転数データ、ルーフ位置カウンタ１０のカウント値ＧＰＣ（サンルーフリッドＬの現在位置データ）を参照して、デフレクタ位置を特定して、その結果をデフレクタ位置格納ＲＡＭ１３ｄに書込む。
【００２７】
また、デフレクタ位置が認識されて初期動作を終了した後の実際の挟み込み検出制御時においては、特定されたデフレクタ位置に基いてデフレクタ領域を設定し、ルーフ位置カウンタ１０のカウント値ＧＰＣを参照して、サンルーフリッドＬが当該デフレクタ領域内にあるか否かを判定し、領域内にあるときには制御ブロック１６に対して領域内信号を供給する。
【００２８】
ＥＥＰＲＯＭ１４は、電気的に書込み可能なＲＯＭであって、デフレクタ位置情報、初期設定やデフレクタ認識が終了しているかどうかの情報を記憶する。
【００２９】
入力ブロック１５は、開スイッチ２からの開指令信号、あるいは閉スイッチ３からの閉指令信号の入力に基いて、これら入力信号にフィルタ処理、禁止処理などを行った上で制御ブロック１６に送る。
【００３０】
制御ブロック１６は、システム全体の動作をコントロールする。すなわち、入力ブロック１５を介して開スイッチ２から入力された開指令信号に基いて、出力ブロック１７により開駆動信号を出力回路６に供給する。また、入力ブロック１５を介して閉スイッチ３から閉指令信号が入力されると、出力ブロック１７を介して閉駆動信号を出力回路６に供給し、サンルーフリッドＬを閉方向に作動させる。そして、挟み込み検出を開始し、モータ起動後パルスカウンタ１１のカウント値を参照して、モータ起動後のサンルーフリッドＬの移動距離に応じた一組のしきい値データをしきい値データＲＯＭ１２のＲＯＭテーブル（図４）から読み出し、デフレクタ領域認識ブロック１３から領域内信号が出力されていないとき、すなわちサンルーフリッドＬが上記デフレクタ領域内にないときには、回転数メモリブロック９から入力された４種の回転数差データを対応するしきい値とそれぞれ比較し、回転数差データのすべてが対応するしきい値を超えていなければそのまま閉駆動信号の出力を継続し、４種の回転数差データのいずれか一つでも対応するしきい値を超えたときには、挟み込み発生と判定して、閉駆動信号の出力を停止すると共に、出力ブロック１７から開駆動信号を出力回路６に供給して、サンルーフリッドＬを反転させる制御を行う。
【００３１】
一方、デフレクタ領域認識ブロック１３から領域内信号が出力されているとき、すなわちサンルーフリッドＬが上記デフレクタ領域内にあるときには、ＲＯＭテーブルから読み出されたしきい値に予め定められた値を加算してしきい値を補正し、回転数メモリブロック９から入力された４種の回転数差データを補正された対応するしきい値とそれぞれ比較することによって、上記同様の制御を行う。
【００３２】
出力ブロック１７は、制御ブロック１６からその出力信号を受けて、モータ４を正逆転させるための開駆動信号あるいは閉駆動信号を出力回路６に供給する。
【００３３】
出力回路６は、リレーまたはトランジスタを含んでおり、出力ブロック１７から与えられた開駆動信号あるいは閉駆動信号に応じて、モータ４を正逆転させてルーフリッドＬを開閉作動させるための駆動電流をモータ４に供給し、あるいは供給を停止する。
【００３４】
このような構造を有するサンルーフ制御装置１においては、図５に示す通常動作ルーチン（メインルーチン）、図６に示すデフレクタ位置認識サブルーチン、および回転変動判定（挟み込み判定）サブルーチンに基いてサンルーフリッドＬの動きが制御される。
【００３５】
図５に示すメインルーチンにおいて、ステップ１１３〜１２１については、このような制御手段ＭＣＵを備えたアクチュエータＡＣをサンルーフ装置本体と共に車両に搭載したときに行う初期設定に係わるものであって、サンルーフリッドＬが全閉位置にあるときのルーフ位置カウンタ１０のカウント値ＧＰＣを「０」に正確に調整するためのものである。
【００３６】
すなわち、これらサンルーフシステムを車両に搭載した状態で、電源を入れると、まず、ステップ１０１においてＥＥＰＲＯＭ１４から初期動作フラグFG_INITの状態、すなわちこの場合には、初期動作フラグFG_INITがセットされていることが読込まれる。そして、ステップ１０２において、同じくＥＥＰＲＯＭ１４からデフレクタ位置データＤＥＦ（Ｃ）、およびデフレクタ位置認識フラグFG_DEFの状態が読込まれる。次いで、ステップ１０３においてデフレクタ位置データがあるか否かが判定されるが、この場合にはデフレクタ位置はまだ認識されていない（ＮＯ）ので、ステップ１０４において、デフレクタ位置認識フラグFG_DEFがセットされたのち、ステップ１０５において挟み込みが発生したことを示すフラグFG_SAFEが立っているかどうかが判定される。この時点では、サンルーフリッドＬは実質的にまだ作動しておらず、上記フラグはセットされていない（ＮＯ）ので、ステップ１０５から１０６に移行し、スライド閉スイッチ３からの入力の有無が判定され、スイッチ操作がなされるまでは、ステップ１０５〜ステップ１１１のループが繰り返される。
【００３７】
ここで、閉スイッチ３をオン操作すると（ＹＥＳ）、制御はステップ１１２に進み、ここで初期動作フラグFG_INITの状態が判定される。初期動作フラグFG_INITは、ステップ１０１でセットされていることが読込まれている（ＹＥＳ）ので、ステップ１１３に進み、このステップ１１３においてルーフ位置カウンタ１０のカウント値ＧＰＣをクリア（ＧＰＣ←０）した後、ステップ１１４においてモータロックかどうか、すなわちサンルーフリッドＬが全閉位置に到達したかどうかが判定される。
【００３８】
モータロックされていなければ（ＮＯ）、ステップ１１５に移行してモータ４にスライド閉方向の駆動電流が供給され、リッドＬが全閉位置に向けて移動し、全閉位置に到達して、ステップ１１４においてモータロックが検出されるまで、ステップ１０５、１０６、１１２〜１１５、１１０、１１６〜１１９、１０５のループが繰り返され、ステップ１１４においてモータロックが検出されると、ステップ１２０において初期動作フラグFG_INITがリセットされると共に、ステップ１２１においてこの初期動作フラグFG_INITのリセットがＥＥＰＲＯＭ１４に書込まれる。そして、この間ステップ１１９においてルーフ位置カウンタ１０がデクリメントされるが、ステップ１１３を通るたびにリッド位置カウンタ１０がクリアされるので、サンルーフリッドＬが全閉位置にあるときのルーフ位置カウンタ１０のカウント値ＧＰＣが「０」に設定され、初期設定が終了する。
【００３９】
次に、デフレクタ位置の認識動作に移行する。
【００４０】
電源が入ると、同様にステップ１０１においてＥＥＰＲＯＭ１４から初期動作フラグFG_INITの状態、すなわちこの場合にはリセットされている（ステップ１２１参照）ことが読込まれる。そして、ステップ１０２において、同じくＥＥＰＲＯＭ１４からデフレクタ位置データDEF(C)、およびデフレクタ位置認識フラグFG_DEFの状態が読込まれる。
【００４１】
そして、ステップ１０３においてデフレクタ位置データがあるか否かが判定されるが、この場合にもデフレクタ位置はまだ認識されていない（ＮＯ）ので、ステップ１０４において、デフレクタ位置認識フラグFG_DEFがセットされたのち、ステップ１０５に移行する。そして、同様に、スイッチ操作がなされるまで、ステップ１０５〜ステップ１１１のループが繰り返される。
【００４２】
ここで、開スイッチ２をオン操作するとステップ１０７（ＹＥＳ）からステップ１２２に移行し、当該ステップにおいてモータ４にスライド開方向の駆動電流が供給され、リッドＬが全開位置に向けて移動を開始する。そして、サンルーフリッドＬが全開位置に到達してモータロックされるまで、ステップ１２２、１１０、１１６〜１１８、１２３、１０５〜１０７、１２２のループが繰り返され、この間、ステップ１２３を通る度毎にルーフ位置カウンタ１０がインクリメントされる。
【００４３】
サンルーフリッドＬが全開位置に到達している状態で、閉スイッチ３をオン操作すると、制御はステップ１０６（ＹＥＳ）からステップ１１２に進み、ここで初期動作フラグFG_INITの状態が判定されるが、初期動作フラグFG_INITは、ステップ１０１においてリセット状態が読込まれているので、ステップ１１２（ＮＯ）からデフレクタ位置認識サブルーチン２００に移行する。
【００４４】
図６に示すデフレクタ位置認識サブルーチンのステップ２０１において、デフレクタ位置認識フラグFG_DEFの状態が判定され、ここではステップ１０４においてセットされている（ＹＥＳ）ので、ステップ２０２、２０３に移行して、サンルーフリッドＬが予め広く設定された仮のデフレクタ領域内（図１のＡ−Ｂ間領域）にあるかどうかが判定される。すなわち、ステップ２０２においては、ルーフ位置カウンタ１０のカウント値ＧＰＣが上記仮領域の全閉側ポイント（図１のＢ点）に相当するカウント値XDEF_CLSよりも大きいか否かが判定され、この場合には、リッドＬは全開位置にある（ＹＥＳ）ので、ステップ２０３に移行し、ルーフ位置カウンタ１０のカウント値ＧＰＣが上記仮領域の全開側ポイント（図１のＡ点）に相当するカウント値XDEF_OPN以下かどうかが判定されるが、同様に「ＮＯ」と判定されて（仮デフレクタ領域外）、ステップ２０４に進み、デフレクタ領域フラグFG_DEFINがリセットされたのち、メインルーチンに戻り、すぐさま回転変動判定サブルーチン３００に移行する。
【００４５】
図７に示す回転変動判定サブルーチンのステップ３０１においては、モータ４が作動中であるか否かを判定しており、この場合にはモータ４は停止状態（ＮＯ）なので、ステップ３０１からステップ３０２に移行し、ステップ３０２において回転数メモリブロック９の内容をクリアしたのち、ステップ３０３に移行し、挟み込み発生なしとして反転動作フラグFG_SAFEをリセットして、メインルーチンに戻る。
【００４６】
回転変動判定サブルーチン３００から戻ったステップ１２４においては、反転動作フラグFG_SAFEの状態が判定される。ここでは、回転変動判定サブルーチンのステップ３０３においてリセットされている（ＮＯ）ので、ステップ１１５に移行し、閉駆動信号に基づく駆動電流によってモータ４がサンルーフリッドＬのスライド閉方向に作動する。
【００４７】
モータ４の回転に基づいてモータ回転検出手段５のホールＩＣ１，ホールＩＣ２にエッジ入力が生じると、ステップ１１０、１１６〜１１９、１０５，１０６１１２、デフレクタ位置認識サブルーチン２００、回転変動判定サブルーチン３００、ステップ１２４、１１５、１１０のループが繰り返され、サンルーフリッドＬが全閉位置に向けて移動し、これに伴ってルーフ位置カウンタ１０のカウント値ＧＰＣが減少して行く。この間、デフレクタ位置認識サブルーチン２００においては、リッドＬが仮デフレクタ領域内（図１のＡ−Ｂ間領域）に到達するまでは、ステップ２０１〜２０４のループが繰り返される。一方、回転変動判定サブルーチン３００においては、ステップ３０１、３０４〜３１９、３０３のループが繰り返され、挟み込みの検出が繰り返し行われることになるが、ここでは挟み込みが発生しないものとして、その詳細については後述する。
【００４８】
サンルーフリッドＬは、その全閉位置に向けて円滑に移動し、この間、モータ４の出力軸４ｂも安定に回転を続け、回転変動もほとんどに発生しないが、やがてサンルーフリッドＬが図１のＡ点を超えて仮デフレクタ領域内に入ると、デフレクタ位置認識サブルーチン２００におけるステップ２０３において、ルーフ位置カウンタ１０のカウント値ＧＰＣが仮領域の全開側ポイント（Ａ点）に相当するカウント値XDEF_OPN以下（ＹＥＳ）と判定されてステップ２０５に移行し、デフレクタ領域フラグFG_DEFINがセットしたのち、ステップ２０６において、現在の出力軸４ｂの回転数（回転速度）REV(0)を回転数メモリブロック９に保存されたＮパルスカウント前の回転数REV(N)と比較することによって回転数差REV(BRD)を算出する。なお、この実施例においては、３２パルス前のデータREV(32)を用いているが、必ずしもこれに限定されず、１６、あるいは８パルス前のデータを用いることも可能である。
【００４９】
一方、ステップ２０５においてデフレクタ領域フラグFG_DEFINがセットされたことによって、回転変動判定サブルーチン３００のステップ３０５において「ＹＥＳ」と判定されるようになり、ステップ３２１に移行して、挟み込み検出用のしきい値を大きくするためのデフレクタ領域用補正値BRD(DEF)をＲＯＭから読み出してセットし、以後しきい値用データＲＯＭ１２から読み出した通常のしきい値にこのBRD(DEF)を加算したしきい値によって挟み込み検出が行われるが、この詳細についても後述することにする。
【００５０】
サンルーフリッドＬが仮デフレクタ領域内に入ったのち、図１に示した位置Ｃにおいてデフレクタ機構に衝突すると、リッドＬの動きが拘束されて、モータ出力軸４ｂの回転数が低下し、出力軸４ｂの回転変動が大きくなる。そして、デフレクタ位置認識サブルーチン２００におけるステップ２０７において、この回転変動、すなわち上記回転数差REV(BRD)が予め定められたしきい値XREV_DEFよりも大きくなる（ＹＥＳ）と、ステップ２０８において、このときのルーフ位置カウンタ１０のカウント値ＧＰＣをデフレクタ位置データDEF(C)として、デフレクタ位置格納ＲＡＭ１３ｄに保存する。
【００５１】
そして、制御は、ステップ２０９および２１０に移行し、ステップ２０９において、前記デフレクタ位置データDEF(C)から予め定められた値ΔＭを減算することによって全閉側デフレクタ位置DEF(CLS)を設定すると共に、ステップ２１０において、デフレクタ位置データDEF(C)に予め定められた値ΔＬを加算することによって全開側デフレクタ位置DEF(OPN)を設定する。これによって、個々の装置におけるデフレクタ機構との実際の衝突位置に基づいてデフレクタ領域が狭い範囲に設定されることになる。
【００５２】
そして、ステップ２１１において、デフレクタ位置データDEF(C)をＥＥＰＲＯＭ１４に書込むと共に、ステップ２１２においてデフレクタ位置認識フラグFG_DEFをリセットして、一連のデフレクタ認識処理を終了する。
【００５３】
次に、当該サンルーフ制御装置１の通常運転時における制御について説明する。
【００５４】
サンルーフリッドＬが閉じた状態において、車両のキースイッチを入れると、図５に示すメインルーチンの制御が開始され、まずステップ１０１において、初期動作フラグFG_INITがリセットされていることがＥＥＰＲＯＭ１４から読込まれると共に、ステップ１０２において、同じくＥＥＰＲＯＭ１４からデフレクタ位置データDEF(C)が読込まれる。
【００５５】
そして、ステップ１０３において、デフレクタ位置データDEF(C)の有無が判定され、当該データはステップ１０２においてＥＥＰＲＯＭ１４から読込まれている（ＹＥＳ）ので、ステップ１２５に移行し、ステップ１２５においてデフレクタ位置認識フラグFG_DEFをリセットして、ステップ１０５に移行する。
【００５６】
ステップ１０５において挟み込みが発生したことを示すフラグFG_SAFEの状態が判定されるが、この時点では、サンルーフリッドＬは全閉位置にあり、実質的にまだ作動していないため、上記フラグはセットされておらず（ＮＯ）、ステップ１０５からステップ１０６および１０７に移行し、スライド閉スイッチ３あるいはスライド開スイッチ２からの入力の有無が判定される。開スイッチ２、閉スイッチ３がいずれも操作されていない場合には、ステップ１０６（ＮＯ）およびステップ１０７（ＮＯ）からステップ１０８に移行し、ステップ１０８において、モータ起動直後からパルス割り込みの回数を計数するモータ起動後パルスカウンタ１１のカウント値ＭＰＣをクリアした後、ステップ１１９においてモータ出力（この場合には最初から出力されていない）を停止し、さらにステップ１１０に移行する。
【００５７】
ステップ１１０においては、ホールＩＣ１，ホールＩＣ２にエッジ入力の有無が判定されるが、この場合にはまだモータ４が回転しておらず、エッジ入力はない（ＮＯ）ので、ステップ１１１に移行してエッジ入力フラグFG_EDGEをリセットし、ステップ１０５に戻る。そして、スライド開スイッチ２がオン操作されるまで、上記ステップ１０５〜１１１のループが繰り返し実行される。
【００５８】
スライド開スイッチ２がオン操作されると、ステップ１０７においてスイッチ入力有り（ＹＥＳ）と判定されて、ステップ１２２に移行して出力回路６に対して開駆動信号が出力され、出力回路６からの駆動電流によってモータ４がサンルーフリッドＬのスライド開方向に作動する。そして、モータ４の回転に基づいてモータ回転検出手段５のホールＩＣ１，ホールＩＣ２にエッジ入力が生じると、ステップ１１０（ＹＥＳ）からステップ１１６に移行してエッジ入力フラグFG_EDGEをセットした後、ステップ１１７においてモータ起動後パルスカウンタ１１をインクリメントし、ステップ１１８においてホールＩＣ１およびＩＣ２から出力される両パルス信号のエッジ方向（一方のパルス信号に立ち上りエッジが検出されたときの他方のパルス信号がＨかＬか）に基づいてサンルーフリッドＬの移動方向が判定される。この場合、サンルーフリッドＬはスライド開方向に移動している（ＮＯ）ので、ステップ１２３に移行してルーフ位置カウンタ１０をインクリメントする。こうして、スライド開スイッチ２がオン操作されている間、ステップ１０５〜１０７、１２２、１１０、１１６〜１１９、１０５のループが繰り返され、サンルーフリッドＬが全開位置に向けて移動を続け、モータ起動後パルスカウンタ１１のカウント値ＭＰＣおよびルーフ位置カウンタ１０のカウント値ＧＰＣが増加する。
【００５９】
スライド開スイッチ２から指を離せば（オフ操作）、ステップ１０７（ＮＯ）からステップ１０８に移行して起動後パルスカウンタ１１をクリアした後、ステップ１０９において、開駆動信号が中止され、モータ４への電流供給を停止するので、サンルーフリッドＬを所望の位置で停止させることができる。そして、ホールＩＣ１，２からのパルス信号のエッジ入力がなくなれば、ステップ１１０（ＮＯ）からステップ１１１に移行し、エッジ入力フラグFG_EDGEをリセットしてステップ１０５に戻る。
【００６０】
そして、サンルーフリッドＬが十分に開いた状態において、スライド閉スイッチ３を押す（オン操作）と、ステップ１０５（ＮＯ）からステップ１０６を経て、ステップ１１２に移行して初期動作フラグFG_INITの状態が判定される。初期動作フラグFG_INITは、ステップ１０１においてリセットされていることが読込まれているので、ステップ１１２（ＮＯ）からデフレクタ位置認識サブルーチン２００に移行する。
【００６１】
図６に示すデフレクタ位置認識サブルーチンにおいては、まずステップ２０１において、デフレクタ位置認識フラグFG_DEFの状態が判定される。ここでは、メインルーチンのステップ１２５においてデフレクタ位置認識フラグFG_DEFがリセットされている（ＮＯ）ので、ステップ２１３に移行し、メインルーチンのステップ１０２において読込まれたデフレクタ位置データDEF(C)に基づいて、全閉側デフレクタ位置DEF(CLS)を設定する（DEF(C)−ΔM）と共に、全開側デフレクタ位置DEF(OPN)を設定する(DEF(C)＋ΔL)。そして設定された全開側および全閉側デフレクタ位置DEF(OPN)およびDEF(CLS)により設定されるデフレクタ領域にサンルーフリッドＬがあるか否かがステップ２１４および２１５において判定されるが、この時点ではモータ４が停止し、リッドＬは十分に開いた状態にあって、デフレクタ領域から離れているので、ステップ２１４（ＹＥＳ）およびステップ２１５（ＮＯ）を経てステップ２１６に進み、デフレクタ領域フラグFG_DEFINがリセットされたのち、メインルーチンに戻り、さらに回転変動判定サブルーチン３００に移行する。
【００６２】
図７に示す回転変動判定サブルーチンにおいては、まずステップ３０１において、モータ４が作動中であるか否かを判定しており、この場合にはまだモータ４は起動していないので（ＮＯ）、ステップ３０１からステップ３０２に移行し、ステップ３０２において回転数メモリブロック９の内容をクリアしたのち、ステップ３０３に移行し、挟み込み発生なしと判定して反転動作フラグFG_SAFEをリセットし、メインルーチンに戻る。
【００６３】
回転変動判定サブルーチン３００から戻ったステップ１２４においては、反転動作フラグFG_SAFEの状態が判定される。ここでは、回転変動判定サブルーチンのステップ３０３においてリセットされている（ＮＯ）ので、ステップ１１５に移行し、出力回路６に対して閉駆動信号が出力され、出力回路６からの駆動電流によってモータ４がサンルーフリッドＬのスライド閉方向に作動する。
【００６４】
モータ４が作動を開始しても、アーマチュア軸４ａが１／４回転以上回転して、モータ回転検出手段５を構成するホールＩＣ１，ホールＩＣ２からエッジ入力が生じるまでは、ステップ１１０からステップ１１１を経てステップ１０５に戻り、ステップ１０５、１０６、１１２を経て、デフレクタ位置認識サブルーチン２００および回転変動判定サブルーチン３００が再度実行される。
【００６５】
デフレクタ位置認識サブルーチン２００においては、リッドＬがデフレクタ領域内に到達するまでは、同様にステップ２０１、２１３〜２１６のループが繰り返されるに過ぎない。
【００６６】
回転変動判定サブルーチン３００においては、ステップ３０１（ＹＥＳ）から、ステップ３０４に移行するが、モータ回転検出手段５からエッジ入力が生じるまでは、ステップ３０４（ＮＯ）からステップ３０３に移行し、反転動作フラグFG_SAFEをリセットしたままにして、メインルーチンに戻り、閉駆動信号の出力が維持される。そして、モータ４のアーマチュア軸４ａが１／４回転以上回転して、モータ回転検出手段５のホールＩＣ１，ホールＩＣ２にエッジ入力が生じると、ステップ１１０からステップ１１６に移行してエッジ入力フラグFG_EDGEをセットすると共に、ステップ１１７においてモータ起動後パルスカウンタ１１をインクリメントし、ステップ１１８においてサンルーフリッドＬの移動方向が判定される。このとき、サンルーフリッドＬはスライド閉方向に移動している（ＹＥＳ）ので、ステップ１１９に移行してルーフ位置カウンタ１０をデクリメントしたのち、ステップ１０５に戻る。そして、ステップ１０５、１０６、１１２を経て、デフレクタ位置認識サブルーチン２００および回転変動判定サブルーチン３００が再び実行される。
【００６７】
デフレクタ位置認識サブルーチン２００においては、同様にステップ２０１、２１３〜２１６のループが繰り返される。一方、回転変動判定サブルーチン３００においては、ステップ３０１（ＹＥＳ）から、ステップ３０４に移行し、ステップ３０４においてエッジ入力フラグFG_EDGEがセットされている（ＹＥＳ）、すなわちパルス割り込みがあったと判定されてステップ３０５に進む。
【００６８】
ステップ３０５においては、デフレクタ領域フラグFG_DEFINの状態が判定される。このとき、サンルーフリッドＬはまだデフレクタ領域内に到達しておらず、デフレクタ領域フラグFG_DEFINがデフレクタ位置認識サブルーチンのステップ２１６においてリセットされている（ＮＯ）ので、ステップ３０６において、デフレクタ領域用補正値BRD(DEF)として「０」をセットした（すなわち補正を行わない）のち、ステップ３０７に移行する。ステップ３０７において、出力軸回転数算出ブロック８に内蔵され、モータ回転検出手段５のホールＩＣ１，ホールＩＣ２から出力された２つのパルス信号のエッジ間の時間を測定するタイマーPLS_TMのカウント値をＰＴ４としてロードし、ステップ３０８において前記パルス幅タイマーPLS_TMをクリアし、ステップ３０９に移行する。
【００６９】
ステップ３０９においては、エッジ間時間値ＰＴ４に、前回、前々回および３回前のエッジ検出時にロードした時間値ＰＴ３、ＰＴ２およびＰＴ１を加算することによってアーマチュア軸４ａの１回転に要する時間ＡＴを算出する。そして、ステップ３１０において、ステップ３０９で求めた１回転の時間ＡＴに、アーマチュア軸４ａと出力軸４ｂの減速比ＲＡＴを乗じた積で６０を除すことにより、単位時間（１分）当たりの出力軸４ｂの回転数Ｒin（ｎ）を算出する。
【００７０】
次いで、制御はステップ３１１に移行し回転数のシフト操作が行われる。すなわち、回転数メモリブロック９における回転数ＲＡＭ領域内に前回までに保存された回転数データＲＥＶ（０）〜ＲＥＶ（Ｍ）をそれぞれ１個づつシフトし、ステップ３１０で得られた最新の回転数Ｒin（ｎ）をＲＡＭ領域の最新データ位置ＲＡＭ（０）に保存する。なお、この実施例ではＭ＝３２である。制御はステップ３１２に進む。
【００７１】
ステップ３１２において、モータ起動後パルスカウンタ１１のそのときのカウント値ＭＰＣを参照して、しきい値データＲＯＭ１２内のＲＯＭテーブル（図４）から４パルスカウント差用のしきい値が読み込まれる。例えば、パルスカウンタ１１のカウント値ＭＰＣが０〜１０の場合には「２５５」、カウント値ＭＰＣが１１〜２０の場合には「１５」、カウント値ＭＰＣが２１以上の場合には「５」がそれぞれ読み込まれる。そして、これに補正値BRD(DEF)が加算されるが、ステップ３０６において当該補正値BRD(DEF)として「０」がセットされているので、実質的に加算は行われず、ＲＯＭテーブルから読み出されたままのデータが４パルスカウント差用のしきい値ＢＲＤ（４）としてセットされる。
【００７２】
そして、ステップ３１３において、比較期間が４パルスカウントのときの回転数差ＲＥＶ（４）−ＲＥＶ（０）が計算され、上記しきい値ＢＲＤ（４）とが比較される。この４パルスカウント回転数差ＲＥＶ（４）−ＲＥＶ（０）がしきい値ＢＲＤ（４）を超えていなければ（ＮＯ）、ステップ３１４に移行し、同様にそのときのモータ起動後パルスカウンタ１１のカウント値ＭＰＣを参照して、しきい値データＲＯＭ１２内のＲＯＭテーブルから８パルスカウント差用のしきい値が読み込まれる。例えば、カウント値ＭＰＣが０〜１０の場合には「２５５」、カウント値ＭＰＣが１１〜２０の場合には「２５」、カウント値ＭＰＣが２１〜８０の場合には「１５」、カウント値ＭＰＣが８１以上の場合には「１０」がそれぞれ読み込まれ、同様に「０」を加算することによって、ＲＯＭテーブルから読み出されたままのデータが８パルスカウント差用のしきい値ＢＲＤ（８）としてセットされる。
【００７３】
ステップ３１５において、比較期間が８パルスカウントのときの回転数差ＲＥＶ（８）−ＲＥＶ（０）が計算され、これと上記８パルスカウント差用のしきい値ＢＲＤ（８）とが比較される。この８パルスカウント回転数差ＲＥＶ（８）−ＲＥＶ（０）がしきい値ＢＲＤ（８）を超えていなければ（ＮＯ）、図示しないステップ３１６に移行し、そのときのモータ起動後パルスカウンタ１１のカウント値ＭＰＣに基づいて、しきい値データＲＯＭ１２内のＲＯＭテーブルから１６パルスカウント差用のしきい値ＢＲＤが読み込まれ、同様に１６パルスカウント差用のしきい値ＢＲＤ（１６）とされ、図示しないステップ３１７において、比較期間が１６パルスカウントのときの回転数差ＲＥＶ（１６）−ＲＥＶ（０）が計算され、これと上記しきい値ＢＲＤ（１６）とが同様に比較される。
【００７４】
この１６パルスカウント回転数差ＲＥＶ（１６）−ＲＥＶ（０）がしきい値ＢＲＤ（１６）を超えていなければ（ＮＯ）、ステップ３１８に移行し、そのときのモータ起動後パルスカウンタ１１のカウント値ＭＰＣに応じて、ＲＯＭテーブルから３２（＝Ｍ）パルスカウント差用のしきい値が読み込まれる。例えば、パルスカウンタ１１のカウント値ＭＰＣが０〜１０の場合には「２５５」、カウント値ＭＰＣが１１〜２０の場合には「４０」、カウント値ＭＰＣが２１〜１２０の場合には「２５」、カウント値ＭＰＣが１２１〜１５０の場合には「２０」、カウント値ＭＰＣが１５１以上の場合には「１７」がそれぞれ読み込まれ、同様にＲＯＭテーブルから読み出されたままのデータが３２パルスカウント差用のしきい値ＢＲＤ（３２）としてセットされたのち、ステップ３１９に移行する。
【００７５】
ステップ３１９における判定において、比較期間が３２パルスカウントのときの回転数差ＲＥＶ（３２）−ＲＥＶ（０）が計算され、これと上記しきい値ＢＲＤ（３２）とが同様に比較され、回転数差ＲＥＶ（３２）−ＲＥＶ（０）がしきい値ＢＲＤ（３２）を超えていなければ（ＮＯ）、ステップ３０３に移行し、挟み込みの発生がないものとして反転動作フラグFG_SAFEをリセットして、メインルーチンに戻る。
【００７６】
回転変動判定サブルーチン３００から戻ったステップ１２４において、反転動作フラグFG_SAFEの状態が判定され（ＮＯ）、ステップ１１５に移行し、出力回路６に対する閉駆動信号出力が維持され、モータ４はサンルーフリッドＬのスライド閉方向の移動を継続する。
【００７７】
そして、ステップ１１０を経て（ＹＥＳ）ステップ１１６に進み、該ステップ１１６においてエッジ入力フラグFG_EDGEをセット状態を保持し、ステップ１１７においてモータ起動後パルスカウンタ１１をインクリメントしたのち、ステップ１１８（ＹＥＳ）からステップ１１９に移行し、ステップ１１９においてルーフ位置カウンタ１０をデクリメントしたのち、ステップ１０５に戻る。
【００７８】
このようにして、スライド開スイッチ３のオン操作が続けば、ステップ１０５、１０６、１１２、デフレクタ位置認識サブルーチン２００、回転変動判定サブルーチン３００、ステップ１２４、１１５、１１０、１１６〜１１９、１０５の実行が繰り返され、サンルーフリッドＬの作動が何らかの障害によって拘束されて、回転変動判定サブルーチンのステップ３１３、３１５、３１７（図示せず）、３１９のいずれかの判定においてモータ４の回転速度が低下した（ＹＥＳ）と判定されない限り、モータ４の閉駆動回転が継続し、サンルーフリッドＬが全閉位置に向けて移動する。もちろん、サンルーフリッドＬが所望の位置となったときに、閉スイッチ３の操作を中断（オフ）すれば、ステップ１０６（ＮＯ）、ステップ１０７（ＮＯ）からステップ１０８に移行して、起動後パルスカウンタ１１をクリアした後、ステップ１０９において閉駆動信号出力を停止するので、その位置でサンルーフリッドＬが停止することになる。
【００７９】
何らかの原因でサンルーフリッドＬの動きが拘束されて、モータ４の円滑な回転が妨げられ、回転変動判定サブルーチン３００のステップ３１３、３１５、３１７および３１９のいずれかの判定において、モータ４の回転速度が低下した（ＹＥＳ）と判定されると、挟み込み発生と判断してステップ３２０に移行し、反転動作フラグFG_SAFEをセットして、メインルーチンに戻る。
【００８０】
回転変動判定サブルーチン３００から戻った後のステップ１２４において、反転動作フラグFG_SAFEの状態が判定され、この場合にはサブルーチンのステップ３２０において反転動作フラグFG_SAFEがセットされているので（ＹＥＳ）、制御はステップ１０８に移行する。そして、ステップ１０８においてモータ起動後パルスカウンタ１１をクリアし、ステップ１０９において閉駆動信号の出力を停止し、モータ４への駆動電流の供給を中止する。
【００８１】
モータ４の回転が停止し、モータ回転検出手段５のホールＩＣからエッジ入力がなくなると、ステップ１１０（ＮＯ）からステップ１１１に移行してエッジ入力フラグFG_EDGEをリセットしたのち、ステップ１０５に戻る。
【００８２】
ステップ１０５においては、反転動作フラグFG_SAFEがセットされている（ＹＥＳ）と判定されて、ステップ１２６に移行し、ステップ１２６においてルーフ位置カウンタ１０のそのときのカウント値ＧＰＣが予め定められたリッド位置データXSAFEと比較される。位置データXSAFEは、全開位置に近い比較的大きな値に設定してあるので、ステップ１２６（ＮＯ）からステップ１２２に移行し、ステップ１２２において開駆動信号が出力回路６に供給されるので、モータ４がサンルーフリッドＬの開方向に回転を始める。
【００８３】
モータ４の回転に基づいて、モータ回転検出手段５からのパルス信号にエッジ入力が検出されると、ステップ１１０（ＹＥＳ）から、ステップ１１６〜１１８（ＮＯ）を経てステップ１２３に移行し、ルーフ位置カウンタ１０がインクリメントされたのち、ステップ１０５に戻る。そして、ルーフ位置カウンタ１０のカウント値ＧＰＣがリッド位置データXSAFEを超え、リッドＬが十分に開放されると、ステップ１２６（ＹＥＳ）からステップ１２７に移行し、ステップ１２７においてスライド開スイッチ２あるいは閉スイッチ３の操作が確認される。
【００８４】
閉スイッチ３がまだオン操作されたまま、あるいはモータ４が開方向に作動している間に開スイッチ２が押しなおされた場合には、ステップ１２７（ＹＥＳ）からステップ１０８および１０９に移行して、モータ起動後パルスカウンタ１１をクリアしたのち、出力回路６に対する開駆動信号の出力が停止されるので、サンルーフが十分に開放された状態でリッドＬが停止する。
【００８５】
そして、閉スイッチ３および開スイッチ２から指を離すと、ステップ１２８において反転動作フラグFG_SAFEがリセットされ、挟み込み検出および反転作動制御が終了してステップ１０５に戻り、閉スイッチ３が再度操作された場合には、新たに挟み込み検出が開始される。
【００８６】
すなわち、この実施例においては、挟み込み検出の際に監視するモータの回転数（回転速度）の減少幅を４，８，１６，３２パルスカウントの４種類の時間差で算出し、これらの時間差をそれぞれに設定したしきい値に対応させて比較していることから、挟み込まれたものの硬さや変形能に拘わりなく高精度の挟み込み検出が可能になり、誤反転や挟み込み荷重の増大を防止することができる。また、モータ起動後パルスカウンタのカウント値、すなわちモータ４が作動を開始してからの移動距離に応じて段階的に減少する多数組のしきい値を用意して、移動距離に応じたしきい値と比較して挟み込みを判定するようにしており、特に作動開始直後のカウント値が１０までの範囲においては、しきい値を２５５としているので、回転数差がこれを超えることはなく、ダンパーなどの影響によってモータ４の回転変動が最も大きくなる作動開始直後の領域をマスクすることができ、誤検出に基づく誤反転を確実に防止することができる。
【００８７】
サンルーフリッドＬがデフレクタ機構との衝突位置（図１における点Ｃ）に近づき、デフレクタ位置認識サブルーチン２００において設定されたデフレクタ領域内に達すると、ルーフ位置カウンタ１０のカウント値ＧＰＣが全開側デフレクタ位置データDEF(OPN)以下となり、デフレクタ位置認識サブルーチンのステップ２１５において、「ＹＥＳ」と判定されて、ステップ２１７に移行し、デフレクタ領域フラグFG_DEFINがセットされたのち、メインルーチンに戻り、回転変動判定サブルーチン３００に移行し、デフレクタ機構との衝突を考慮した条件での挟み込み検出が開始される。
【００８８】
すなわち、回転変動判定サブルーチンのステップ３０５において、デフレクタ領域フラグFG_DEFINがセットされている（ＹＥＳ）と判定されるので、ステップ３２１に移行し、ステップ３２１においてデフレクタ領域用におけるしきい値の補正データがＲＯＭから読み出され、BRD(DEF)としてセットされる。
【００８９】
そして、ステップ３０７〜３１９において、モータ４の出力軸４ｂの回転数が同様に算出され、比較期間が４，８，１６および３２パルスカウントのときの回転数差ＲＥＶ（４）−ＲＥＶ（０），ＲＥＶ（８）−ＲＥＶ（０），ＲＥＶ（１６）−ＲＥＶ（０）およびＲＥＶ（３２）−ＲＥＶ（０）がそれぞれ計算され、対応するしきい値ＢＲＤ（４），ＢＯＲＤ（８），ＢＲＤ（１６）およびＢＲＤ（３２）とそれぞれ比較することによって、挟み込みの有無が同様に判定されることになるが、このときのしきい値はステップ３１２、３１４，３１６および３１８において、しきい値データＲＯＭ１２内のＲＯＭテーブルから読み出されたデータに補正値BRD(DEF)が加算されることにより大きなしきい値となっているので、サンルーフリッドＬがデフレクタ機構と衝突することによって、モータ４の回転に大きな変動が生じたとしても、これを挟み込みと誤判断してリッドＬが誤反転されるような不具合が回避されることになる。
【００９０】
サンルーフリッドＬが全閉位置に向けて更に移動し、デフレクタ位置認識サブルーチン２００において設定されたデフレクタ領域から出ると、ルーフ位置カウンタ１０のカウント値ＧＰＣが全閉側デフレクタ位置データDEF(CLS)以下になることから、デフレクタ位置認識サブルーチンのステップ２１４において、「ＮＯ」と判定され、ステップ２１６に移行して、デフレクタ領域フラグFG_DEFINがリセットされる。したがって、回転変動判定サブルーチンのステップ３０５において、デフレクタ領域フラグFG_DEFINがセットされていない（ＮＯ）と判定されるので、ステップ３０６において、再度BRD(DEF)が「０」にセットされる。
【００９１】
したがって、ステップ３１２〜３１９において、比較期間が４，８，１６および３２パルスカウントのときの回転数差をしきい値データＲＯＭ１２のＲＯＭテーブルから読み出されたままのしきい値とそれぞれ比較することによって、挟み込みの有無が判定されるので、従来どおりの高精度の挟み込み検出、反転制御が行われることになり、挟み込み荷重が低いものとなる。
【００９２】
【発明の効果】
以上説明してきたように、本発明に係わるサンルーフ制御方法においては、デフレクタ機構を備えたサンルーフ装置の挟み込み検出制御を行うに際し、実際の制御開始に先立ってサンルーフリッドを移動させ、デフレクタ機構との係合が生じ得る領域内において駆動用モータに回転変動が生じた位置をデフレクタ位置とし、当該デフレクタ位置前後の所定距離範囲内をデフレクタ領域として特定し、実際の挟み込み検出に際して、サンルーフリッドがデフレクタ領域内にあるときのしきい値をデフレクタ領域外のしきい値より大きく設定するようにしていることから、デフレクタ機構との衝突を挟み込み発生と誤判断して、サンルーフリッドを誤反転させるような不具合を防止することができると共に、個々のサンルーフ装置のデフレクタ位置を正確に把握することができ、個体間のばらつきを見込む必要がなくなるので、デフレクタ領域、すなわちしきい値が大きくなって反転時の挟み込み荷重が高くなる領域を可及的に狭くすることができ、安全性をより向上させることができるという極めて優れた効果がもたらされる。
【００９３】
また、本発明に係わるサンルーフ制御装置は、上記したように、駆動用モータ、開閉スイッチ、駆動手段、モータ回転検出手段、デフレクタ機構、およびルーフ位置カウンタと、回転数算出ブロックと、回転数メモリブロックと、しきい値ＲＯＭと、とくにデフレクタ位置検出してデフレクタ領域を特定すると共に、サンルーフリッドがデフレクタ領域内にあるか否かを判定するデフレクタ領域認識ブロックと、サンルーフリッドがデフレクタ領域内にあるときには、デフレクタ領域内にないときのしきい値に所定のしきい値を加算したしきい値によって挟み込み検出を行う制御ブロックを有する制御手段手段を備えたものであるから、本発明に係わる上記制御方法を実施するのに好適な構成を有し、上記同様の優れた効果がもたらされる。
【図面の簡単な説明】
【図１】本発明に係わるサンルーフ制御方法の原理、要領を概略的に示す説明図である。
【図２】本発明に係わるサンルーフ制御装置の構成を示すブロック図である。
【図３】図２に示したモータ回転検出手段の２つのホールＩＣから出力されるパルス信号の形状およびアーマチュア軸の回転数算出方法を示す説明図である。
【図４】図２に示したしきい値データＲＯＭに保存されたしきい値データの内容を示す図である。
【図５】図２に示したサンルーフ制御装置における制御のメインルーチンを示すフローチャートである。
【図６】図２に示したサンルーフ制御装置の制御におけるデフレクタ位置認識サブルーチンを示すフローチャートである。
【図７】図２に示したサンルーフ制御装置の制御における回転変動判定サブルーチンを示すフローチャートである。
【符号の説明】
１  サンルーフ制御装置
２  開スイッチ
３  閉スイッチ
４  モータ
４ａ  アーマチュア軸
５  モータ回転検出手段
６  出力回路（駆動手段）
８  出力軸回転数算出ブロック（回転数算出ブロック）
９  回転数メモリブロック
１０  ルーフ位置カウンタ
１２  しきい値データＲＯＭ（しきい値ＲＯＭ）
１３  デフレクタ領域認識ブロック
１６  制御ブロック
ＭＣＵ  制御手段
Ｌ  サンルーフリッド
【図１】
0003868803.tif 000002
【図２】
0003868803.tif 000003
【図３】
0003868803.tif 000004
【図４】
0003868803.tif 000005
【図５】
0003868803.tif 000006
【図６】
0003868803.tif 000007
【図７】
0003868803.tif 000008