(57)【特許請求の範囲】
【請求項１】
開閉体を駆動するモータと、該モータの動きに同期したパルス出力を行う検出手段と、該検出手段からのパルス出力の変化に基づいて開閉体動作中に挟み込み検知を行う制御手段を備えた開閉体の挟み込み検知装置において、
前記制御手段は、所定数のパルス出力の変化を記憶し、記憶した前記パルス出力から基準周期Ｔｂを設定すると共に該基準周期Ｔｂに基づき挟み込みが許容される周期係数Ｃｂを算出して、前記周期係数Ｃｂと最新周期Ｔｎに基づく乗算値と、基準周期Ｔｂとの比較により挟み込み確定を行い、
前記パルス出力が検出されない場合、前記パルス出力の所定パルス前の状態変化から現在までの時間幅Ｔｐと前記周期係数Ｃｂに基づく乗算値が前記基準周期Ｔｂ以上、且つ前記パルス出力の最後に検知したパルス出力の状態変化から現在までの時間幅Ｔｅと前記周期係数Ｃｂに基づく乗算値が前記基準周期Ｔｂ以上で挟み込み確定を行うことを特徴とする開閉体の挟み込み検知装置。
【請求項２】
開閉体を駆動するモータと、該モータの動きに同期したパルス出力を行う検出手段と、該検出手段からのパルス出力の変化に基づいて開閉体動作中に挟み込み検知を行う制御手段を備えた開閉体の挟み込み検知装置において、
前記制御手段は、前記パルス出力の出力変化を記憶し、最新の周期Ｔｎを取得すると共に数パルス前のパルス出力から基準周期Ｔｂを設定し、該基準周期Ｔｂに基づき周期係数Ｃｂを算出して、前記周期係数Ｃｂと前記周期Ｔｎに基づく乗算値が基準周期Ｔｂ以上で挟み込み確定を行い、
前記パルス出力が検出されない場合、前記パルス出力の所定パルス前の状態変化から現在までの時間幅Ｔｐと前記周期係数Ｃｂに基づく乗算値が前記基準周期Ｔｂ以上、且つ前記パルス出力の最後に検知したパルス出力の状態変化から現在までの時間幅Ｔｅと前記周期係数Ｃｂに基づく乗算値が前記基準周期Ｔｂ以上で挟み込み確定を行うことを特徴とする開閉体の挟み込み検知装置。
【請求項３】
前記周期係数Ｃｂを駆動電源電圧の変動に応じて補正した周期係数Ｃｄ（ΔＶ）とすることを特徴とする請求項１又は請求項２に記載の開閉体の挟み込み検知装置。
【請求項４】
前記基準周期Ｔｂは、モータ回転が増加している場合に取得されることを特徴とする請求項１〜請求項３のいずれか一項に記載の開閉体の挟み込み検知装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、固定部材に対して開閉動作を行う開閉体の挟み込み検知装置に関するものであり、特に、挟み込み検知装置の制御に係わるものである。
【０００２】
【従来の技術】
近年、車両ではサンルーフやウィンドレギュレータといった開閉窓（開閉体）をモータにより動作させる場合、異物等を挟み込んだ場合を検出し、開閉体を停止させたり、このような挟み込みを検知した場合には開閉体動作方向とは逆方向へ反転駆動するなどの安全機構が設けられている。
【０００３】
このように、異物の挟み込みの検出にはモータトルクの変動を検出してやれば挟み込みが検知でき、ホール素子等を用いた回転検出センサにより開閉体を駆動するモータのモータ回転状態を検出し、回転検出センサからのパルス信号に基づき、挟み込み検出を行う方法が知られている。
【０００４】
例えば、特開平６−２８０４４６号公報には、開閉体駆動用のモータの駆動速度や駆動加速度が、開閉体の駆動速度あるいは駆動加速度に基づいて設定される所定のしきい値以下であると挟み込み現象発生と判定される開閉制御装置が開示されている。この装置は、パワーウィンドウを駆動するモータの回転をモータ位置検出センサにより検出し、モータ回転速度およびモータ回転加速度を算出し、モータ回転速度変化が定常である場合にはモータ回転速度を速度しきい値と比較し、モータ回転速度変化が定常でない場合にはモータ回転加速度を加速度しきい値と比較してモータの反転制御を行っている。
【０００５】
また、特開平８−４４１６号公報には、窓ガラスが安全制御動作領域内にあるとき、相対速度が所定値より大きく、窓ガラスの閉塞時の速度変化が複数回連続するとき、各変化量の和が他の所定値より大きいときに挟み込みが検出される挟み込み防止装置が開示されている。この装置では、窓ガラスを駆動するモータ回転状態をパルス信号の時間間隔よりエッジ間隔時間Ｔｎを検出し、角速度成分データにＦｎ＝１／Ｔｎの関係式より変換し、電圧補正データおよび相対速度Ｖｎを求め、相対速度の和ＤＶｎを算出する。この相対速度の和が所定値より大きい場合に挟み込みが判定される。
【０００６】
更に、特開平８−１２８２５９号公報には、ウィンドウの閉動作中において、ホール素子からのパルス信号の出力間隔に相当する周期に基づき異物の挟み込み判定のためのしきい値を設定して、挟み込みの有無を判定するウィンドウ開閉制御装置が開示されている。この装置は、挟み込み可能範囲内でパルス信号のウィンドウを駆動するモータのモータ回転を検出するセンサのパルス信号の周期を読み出し、周期範囲ΔＴｉとしきい値ｍｉとの関係をマップから読み出して、パルス信号周期変化率αを算出し、この周期変化率αにより異物の挟み込みを検出する。
【０００７】
【発明が解決しようとする課題】
しかしながら、上記した特開平６−２８０４４６号公報や特開平８−４４１６号公報に示されるものは、モータの回転速度を求める必要があり、モータ回転速度を求める場合、パルス周期の逆数をとるため、演算過程において除算処理が必要になる。一般的に、加算、減算、乗算に比べると、除算は演算時間を要し、プログラム容量の増大を招く。また、パルス周期を求め、周期比を算出するためには同じく除算処理が必要になり、制御装置では回転周期を取り込み、演算を行った後に挟み込み状態か否かを判定するため、挟み込み状態のデータを検出しても判定までに時間を要するものとなる。
【０００８】
この場合、挟み込み判定に時間を要すると、モータの回転速度が急激に低下した場合、硬いものを挟んだ場合等、挟み込みが発生した場合には挟み込み荷重が大きくなってしまう。また、モータ回転を検出するセンサが故障した場合等のように、センサからパルス出力が制御装置に入ってこない場合には、挟み込み判定ができなくなってしまう。
【０００９】
また、特開平８−１２８２５９号公報のように、挟み込み判定時にマップを使用する方法では、挟み込み判定に必要な情報をメモリに予め記憶させておかなければならず、メモリ容量が増大する。
【００１０】
よって、本発明は上記の問題点に鑑みてなされたものであり、挟み込み判定時にモータ回転速度等の算出に必要となる除算を用いることなく、挟み込み判定を早期に行うことと、モータ回転信号が入力されなくなった場合でも挟み込み荷重を抑え、正確に挟み込み判定が行えることと、メモリの増大を抑えた挟み込み判定が行えること、とを技術的課題とする。
【００１１】
【課題を解決するための手段】
上記の課題を解決するために講じた第１の技術的手段は、開閉体を駆動するモータと、該モータの動きに同期したパルス出力を行う検出手段と、該検出手段からのパルス出力の変化に基づいて開閉体動作中に挟み込み検知を行う制御手段を備えた開閉体の挟み込み検知装置において、前記制御手段は、所定数のパルス出力の変化を記憶し、記憶した前記パルス出力から基準周期Ｔｂを設定すると共に該基準周期Ｔｂに基づき挟み込みが許容される周期係数Ｃｂを算出して、前記周期係数Ｃｂと最新周期Ｔｎに基づく乗算値と、基準周期Ｔｂとの比較により挟み込み確定を行い、前記パルス出力が検出されない場合、前記パルス出力の所定パルス前の状態変化から現在までの時間幅Ｔｐと前記周期係数Ｃｂに基づく乗算値が前記基準周期Ｔｂ以上、且つ前記パルス出力の最後に検知したパルス出力の状態変化から現在までの時間幅Ｔｅと前記周期係数Ｃｂに基づく乗算値が前記基準周期Ｔｂ以上で挟み込み確定を行うようにしたことである。
【００１２】
これによれば、制御手段は所定数のパルス出力の変化を記憶し、記憶したパルス出力から基準周期Ｔｂを設定すると共に基準周期Ｔｂに基づいて挟み込みが許容される周期係数Ｃｂを算出する。周期係数Ｃｂが算出されると、周期係数Ｃｂと最新周期Ｔｎに基づく乗算値（例えば、Ｃｂ×Ｔｎ）と、基準周期Ｔｂとの比較により挟み込み確定を行うことが可能である。この場合、挟み込み判定にはモータ回転速度を算出する必要がなく、演算過程において除算処理は必要なくなる。このため、挟み込み判定を早期に行うことが可能となり、挟み込みが発生した場合には挟み込み荷重の増加を抑えることが可能となる。また、挟み込み判定時には従来の如く、データマップを予め記憶しておかなくて良いので、メモリ容量を抑えることが可能である。
【００１３】
つまり、通常、モータは、モータ発生トルクとモータ回転速度の関係において、モータを駆動する電圧が一定である場合には負の相関（例えば、モータ回転速度が速くなるとモータに発生するモータ発生トルク（単にトルクと称す）は小さくなり、モータ回転速度が遅くなるとモータ発生トルクは大きくなるという連続した特性）を示す。
【００１４】
そこで、モータに発生する現在の発生トルクをＦｎ、基準となるモータ発生トルクをＦｂ、発生トルク差をΔＦ（＝Ｆｎ−Ｆｂ）とし、現在のモータ回転数をＲｎ、Ｆｂのトルク発生時のモータ回転数をＲｂとした場合、モータ回転数とトルクは負の相関を持っているため、｛Ｆｎ−Ｆｂ｝／｛Ｒｂ−Ｒｎ｝＝ｋｒ（一定）と表現でき、ΔＲ＝｛Ｒｂ−Ｒｎ｝と置くと、ΔＦ＝Ｆｎ−Ｆｂ＝ｋｒ×ΔＲという関係式（式１）が得られる。
【００１５】
一方、モータ回転数Ｒｂ、Ｒｎに対するモータ回転数の周期をそれぞれＴｂ、Ｔｎとすると、Ｒｂ＝｛１／Ｔｂ｝、Ｒｎ＝｛１／Ｔｎ｝より、ΔＲ＝｛１／Ｔｂ｝−｛１／Ｔｎ｝となる。そこで、検出したいトルク変動を表す回転速度変動をＲｄｅｔとすると、ΔＲ（＝｛１／Ｔｂ｝−｛１／Ｔｎ｝）が、Ｒｄｅｔ≦ΔＲの条件を満たした時、検出したい負荷変動が発生したと推定できる。そこで、上式の両辺にＴｂ×Ｔｎを乗じると、Ｒｄｅｔ×Ｔｂ×Ｔｎ≦１×（Ｔｎ−Ｔｂ）となって、Ｔｎ≧Ｔｂ／｛１−Ｒｄｅｔ×Ｔｂ｝という関係式が成立する。この場合、Ｃｂ＝｛１−Ｒｄｅｔ×Ｔｂ｝と置くと、Ｔｎ≧Ｔｂ／Ｃｂという関係式（式２）が成立する。
【００１６】
つまり、基準となる周期（基準周期）ＴｂからＲｄｅｔ変動した場合の周期がＴｂ／Ｃｂであり、この周期より現在の周期Ｔｎが大きくなった場合に、検出すべき負荷変動が発生したものと考えられる。以後、このＴｂ／Ｃｂを許容周期と呼ぶ。
【００１７】
しかしながら、式２は除算を含むため、Ｔｎ×Ｃｂ≧Ｔｂという関係式（式３）に変形し、現在の周期Ｔｎと基準値設定時に算出したＣｂとの積がＴｂより大きくなった時、検出すべき負荷変動が発生したものと考えることができる。
【００１８】
よって、このような挟み込み判定を行えば、モータ回転速度等の算出に必要となる除算を用いることなく、挟み込み判定を行うことが可能となる。また、挟み込み判定には除算を用いないので、挟み込み判定を早期に行うことができ、挟み込みが発生した場合には挟み込み荷重の増加を抑えることが可能となる。また、挟み込み判定時にはマップを使用しないので、メモリ容量を抑えることが可能である。
【００１９】
上記の課題を解決するために講じた第２の技術的手段は、開閉体を駆動するモータと、該モータの動きに同期したパルス出力を行う検出手段と、該検出手段からのパルス出力の変化に基づいて開閉体動作中に挟み込み検知を行う制御手段を備えた開閉体の挟み込み検知装置において、前記制御手段は、前記パルス出力の出力変化を記憶し、最新の周期Ｔｎを取得すると共に数パルス前のパルス出力から基準周期Ｔｂを設定し、該基準周期Ｔｂに基づき周期係数Ｃｂを算出して、前記周期係数Ｃｂと前記周期Ｔｎに基づく乗算値が基準周期Ｔｂ以上で挟み込み確定を行い、前記パルス出力が検出されない場合、前記パルス出力の所定パルス前の状態変化から現在までの時間幅Ｔｐと前記周期係数Ｃｂに基づく乗算値が前記基準周期Ｔｂ以上、且つ前記パルス出力の最後に検知したパルス出力の状態変化から現在までの時間幅Ｔｅと前記周期係数Ｃｂに基づく乗算値が前記基準周期Ｔｂ以上で挟み込み確定を行うようにしたことである。
【００２０】
これによれば、制御手段はパルス出力の出力変化を記憶し、最新の周期Ｔｎを取得すると共に数パルス前のパルス出力から基準周期Ｔｂを設定し、基準周期Ｔｂに基づき周期係数Ｃｂを算出して、周期係数Ｃｂと前記周期Ｔｎに基づく乗算値（例えば、Ｃｂ×Ｔｎ）が基準周期Ｔｂ以上で挟み込み確定を行うので、挟み込み判定には除算処理は必要なくなることから、挟み込み判定が早期に行え、挟み込み荷重の増加を抑えることが可能となる。また、挟み込み判定時には従来の如く、データマップを予め記憶しておかなくて良いので、メモリ容量を抑えることが可能である。
【００２２】
また、第１及び第２の技術的手段によれば、開閉体の動作途中に急激な回転数変化が発生した場合や、パルス出力が得られなくなった場合でも、パルス出力の所定パルス前の状態変化から現在までの時間幅Ｔｐと周期係数Ｃｂに基づく乗算値が前記基準周期Ｔｂ以上、且つ前記パルス出力の最後に検知したパルス出力の状態変化から現在までの時間幅Ｔｅと前記周期係数Ｃｂに基づく乗算値が前記基準周期Ｔｂ以上で挟み込み確定を行うことが可能となり、安定した挟み込み荷重で挟み込み検出が可能となる（図３の（ｃ）参照）。
【００２３】
好ましくは、上記周期係数Ｃｂを駆動電源電圧の変動に応じて補正する。すなわち、図９に示されるように、通常、モータは、モータ発生トルクと駆動電源電圧の関係において、モータ回転速度が一定である場合には正の相関（例えば、駆動電源電圧が小さくなるとモータ発生トルクは小さくなり、駆動電源電圧が大きくなるとモータ発生トルクは大きくなるという連続した特性）を示す。
【００２４】
そこで、モータに発生する現在の発生トルクをＦｖｎ、基準となるモータ発生トルクをＦｖｂ、発生トルク差をΔＦｖ（＝Ｆｖｎ−Ｆｖｂ）とし、現在の駆動電源電圧をＶｎ、Ｆｖｂのトルク発生時の駆動電源電圧をＶｂとした場合、駆動電源電圧とトルクは正の相関を持っているため、｛Ｆｖｎ−Ｆｖｂ｝／｛Ｖｎ−Ｖｂ｝＝ｋｖ（一定）と表現でき、ΔＶ＝｛Ｖｎ−Ｖｂ｝と置くと、ΔＦｖ＝Ｆｖｎ−Ｆｖｂ＝ｋｖ×ΔＶという関係式が得られる。
【００２５】
前記回転速度変動ΔＲ、駆動電源電圧変動ΔＶとトルク変動ΔＦとの関係は下式のように表現できる。
ΔＦ＝ｋ１×ΔＦｒ＋ｋ２×ΔＦｖ＝ｋｒｄ×ΔＲ＋ｋｖｄ×ΔＶ
既述のように、ΔＲ＝｛１／Ｔｂ｝−｛１／Ｔｎ｝なので、
ΔＦ＝ｋｒｄ×（｛１／Ｔｂ｝−｛１／Ｔｎ｝）＋ｋｖｄ×ΔＶ
となる。そこで、検出したいトルク変動をＦｄｅｔとすると、Ｆｄｅｔ−ｋｖｄ×ΔＶ≦ｋｒｄ×（｛１／Ｔｂ｝−｛１／Ｔｎ｝）の条件を満たした時、検出したい負荷変動が発生したと推定できる。そこで、上式の両辺にＴｂ×Ｔｎを乗じると、｛Ｆｄｅｔ−ｋｖｄ×ΔＶ｝×Ｔｂ×Ｔｎ≦ｋｒｄ×（Ｔｎ−Ｔｂ）となって、Ｔｎ≧ｋｒｄ×Ｔｂ／｛ｋｒｄ−（Ｆｄｅｔ−ｋｖｄ×ΔＶ）×Ｔｂ｝という関係式が成立する。この場合、Ｃｄ（ΔＶ）＝｛ｋｒｄ−（Ｆｄｅｔ−ｋｖｄ×ΔＶ）×Ｔｂ｝と置くと、Ｔｎ≧Ｔｂ／Ｃｄ（ΔＶ）という関係式（式４）が成立する。
【００２６】
つまり、基準となる周期（基準周期）ＴｂからＦｄｅｔ変動した場合の周期がＴｂ／Ｃｄ（ΔＶ）であり、この周期より現在の周期Ｔｎが大きくなった場合に、検出すべき負荷変動が発生したものと考えられる。以後、このＴｂ／Ｃｄ（ΔＶ）を駆動電源を補正した後の許容周期と呼ぶ。
【００２７】
しかしながら、式４は除算を含むため、両辺にＣｄ（ΔＶ）を乗じて、Ｔｎ×Ｃｄ（ΔＶ）≧Ｔｂという関係式（式５）に更に変形し、現在の周期Ｔｎと基準値設定時に算出したＣｄ（ΔＶ）との積がＴｂより大きくなった時、検出すべき負荷変動が発生したものと考えることができる。
【００２８】
また、前記（式１）において、Ｆｄｅｔに相当する回転速度変動をＲｄｅｔとすると、Ｆｄｅｔ＝ｋｒ×Ｒｄｅｔと表現できる。従って、Ｃｄ（ΔＶ）＝｛ｋｒｄ−（ｋｒ×Ｒｄｅｔ−ｋｖｄ×ΔＶ）×Ｔｂ｝と書き直すこともできる。
【００２９】
この式の特徴は、駆動電源電圧を補正した後の許容回転速度を係数として用いているにも関わらず、計算比較対照が周期で代用できる点と、現在の取得周期及び駆動電源電圧から許容される周期を即座に計算している点である。
【００３０】
よって、このような挟み込み判定を行えば、モータ回転速度等の算出に必要となる除算を用いることなく、駆動電源電圧を補正した挟み込み判定を行うことが可能となる。また、挟み込み判定には除算を用いないので、挟み込み判定を早期に行うことができ、挟み込みが発生した場合には挟み込み荷重の増加を抑えることが可能となる。また、挟み込み判定時にはマップを使用しないので、メモリ容量を抑えることが可能である。
【００３１】
さらに、パルス出力が検出されない場合における、パルス出力の所定パルス前の状態変化から現在までの時間幅Ｔｐと上記Ｃｄ（ΔＶ）との乗算値に基づき挟み込み検知を行うようにすれば、駆動電源電圧を考慮して挟み込み検知を行うことが可能となり、安定した挟み込み荷重で挟み込み検出が可能となる（図６の（ｂ）参照）。
【００３２】
さらにまた、パルス出力が検出されない場合における、パルス出力の最後に検知したパルス出力の状態変化から現在までの時間幅Ｔｅと上記Ｃｄ（ΔＶ）との乗算値に基づき挟み込み検知を行うようにすれば、駆動電源電圧を考慮して挟み込み検知を行うことが可能となり、最新パルスから早期の挟み込み確定が行え、安定した挟み込み荷重で挟み込み検出が可能となる（図６の（ｃ）参照）。
【００３３】
以上、各種類の挟み込み検知判定において、駆動電源電圧の変動時においてもその機能の性能劣化を抑制できる。
更に、基準周期Ｔｂは、モータ回転が増加している場合に設定すると良い。実際に物体の挟み込みが発生している場合、モータ回転は減少（周期が増大）する。挟み込み検知処理を実施する処理はモータ回転が減少（周期が増大）している状態でのみ実施することも可能となる。このようにすると、モータ回転が増加（つまり、周期が減少）している状態では制御装置の処理時間が空き、その時間にて基準周期Ｔｂおよび周期係数Ｃｂを演算することが可能となり、挟み込み判定の処理時間を減少させることができる。これにより、高性能なＣＰＵを用いなくて良いため、低コスト化が行える。
【００３４】
【発明の実施の形態】
（第１実施形態）
以下、本発明の第１実施形態を図面を参照して説明する。
【００３５】
本実施形態においては、挟み込み検知装置を車両のサンルーフ装置に適用した場合について説明を行うが、これに限定されるものではなく、例えば、車両ではウィンドウを上下動させるパワーウィンドレギュレータ装置、ルーフ全体あるいは室内全体を開放／フード付状態にさせるルーフ開閉制御装置、建造物にあっては自動ドア装置等にも適用できるものとする。
【００３６】
図１はサンルーフ装置１０の車両２０への取付図を示す。車両２０のルーフ２１には長方形状を呈する開口２１ａが設けられ、開口２１ａの覆材として開閉体となるサンルーフ（ルーフガラスと称す）２２が設けられている。尚、このルーフガラス２２は公知のスライド機構により車両の前後方向にスライドし、公知のチルト機構により車両の上下方向にチルト動作する。
【００３７】
ルーフガラス２２を駆動するドライブユニット２３は、開口２１ａの前方のルーフ内に埋設された状態で設けられ、ドライブユニット２３はモータ２とギヤユニット２５が一体になっている。構造上、ギヤユニット２５の出力軸がスライド機構およびチルト機構と連係しており、モータ２が図２に示す制御装置１により駆動制御されると、ルーフガラス２２はスライド動作とチルト動作を一連の動作の中で行う。
【００３８】
図２は、本装置１０のシステム構成図である。ルーフガラス２２を駆動する制御装置１は、ルーフガラス２２の開閉動作を指示するもので、ルーフガラス２２の位置を検出するスイッチ類８からの信号を受け、その信号状態に基づいて状況判断し、モータ２に対して駆動信号を出力すると、ルーフガラス２２はこの駆動信号に従って動作する。このような装置１０において、ルーフガラス２２と車両の開口２１ａとの間に物体（例えば手や物）が挟み込まれた場合、モータ２の回転が抑止され回転数が減少することを利用し、挟み込み検知を行って、挟み込み発生時にはルーフガラス２２の閉動作を即座に停止させ、開動作へと反転動作させる挟み込み検知機構が安全性の面で付加されている。
【００３９】
制御装置１は、内部にプログラムを記憶したＲＯＭ、プログラム処理に必要な数値を記憶するＲＡＭ、モータ回転に同期したパルス出力を出すモータ回転数センサ７からパルス周期を計測等を行うタイマ、及び、駆動電源としてのバッテリＢＡＴから入力される駆動電源電圧としてのバッテリ電圧等のアナログ値をデジタル値に変換するＡ／Ｄ変換器等を備えたＣＰＵ５と、入力信号に対してＣＰＵ５との電気的整合性をとる入力インターフェース（入力Ｉ／Ｆ４）と、ルーフガラス２２をスライド動作時には開閉方向に動作させる機能を有するモータ２の回転方向を正転（開方向）または反転（閉方向）させるリレー６と、車両のバッテリＢＡＴから電源（通常、１２Ｖ）が供給され、安定化した一定電圧（例えば、５Ｖ）が作られる電源回路３と、から主に構成される。電源回路３により作られた一定電圧は、ＣＰＵ５に供給される。また、制御装置１の入力Ｉ／Ｆ４にはバッテリ電圧が供給されている。
【００４０】
制御装置１には、モータ２の出力軸に設けられた図示しない磁石（例えば、Ｎ極とＳ極が１対で設けられる）が１回転するにつき１パルスの周期信号をホール素子により検出するモータ回転数センサ７からの信号、ルーフガラス２２の位置を検出する位置検出スイッチからの信号、ルーフガラス２２を開閉させる手動の操作スイッチ８からの信号が入力される。入力された信号は入力インターフェースＩ／Ｆ回路４を通してＣＰＵ５に入力され、制御装置１内にてバッテリＢＡＴ電圧が入力Ｉ／Ｆ回路４を通してＣＰＵ５に入力される。モータ回転数センサ７からの信号は、モータ回転に同期してオン／オフし、交互に繰り返されるパルス出力がＣＰＵ５に入力される。ＣＰＵ５は、その入力されたパルス信号から信号レベルの比較を行い、エッジを検出する。
【００４１】
ＣＰＵ５はこれらの入力された信号を基にして、リレー６に対してモータ２を駆動する信号を出力し、リレー６の通電状態および通電方向を切り替えることによりモータ２の停止、正回転側または反転側への回転動作を行わせ、モータ制御を行う。
【００４２】
そこで、モータ回転数センサ７からのパルス信号を基にした挟み込み検知判定について、図３を参照し説明する。図３では一例として、３種類の挟み込み判定を示すものである。図３の（ａ）は、モータ回転数センサ７からパルス出力（エッジ変化）が連続して発生している場合の周期データである。この場合では、モータ回転数センサ７からパルス出力が高電位（Ｈｉ）、低電位（Ｌｏ）交互に発生しているため、前々回の２エッジ前と今回のエッジ（最新エッジ）発生時の間の時間から、モータ回転数センサ信号７の周期（最新周期）Ｔｎが取得できる。この周期Ｔｎの値を用い、挟み込み検知判定時の基準周期Ｔｂの決定が行える。
【００４３】
そこで、基準周期Ｔｂに関する説明を以下に行う。
通常、モータ２は、モータ発生トルクとモータ回転速度の関係において、モータ２を駆動する電圧が一定である場合には負の相関（例えば、モータ回転速度が速くなるとモータに発生するモータ発生トルク（単にトルクとも言う）は小さくなり、モータ回転速度が遅くなるとモータ発生トルクが大きくなるという特性）を示す。
【００４４】
そこで、モータ２に発生する現在の発生トルクをＦｎ、基準となるモータ発生トルクをＦｂ、発生トルク差をΔＦ（＝Ｆｎ−Ｆｂ）とし、現在のモータ回転数をＲｎ、Ｆｂのトルク発生時のモータ回転数をＲｂとした場合、モータ回転数とトルクは負の相関を持っているため、｛Ｆｎ−Ｆｂ｝／｛Ｒｂ−Ｒｎ｝＝ｋｒ（一定）と表現できる。そこで、ΔＲ＝｛Ｒｂ−Ｒｎ｝と置くと、ΔＦ＝Ｆｎ−Ｆｂ＝ｋｒ×ΔＲという関係式（式１）が得られる。
【００４５】
一方、モータ回転数Ｒｂ、Ｒｎに対するモータ回転数の周期をそれぞれＴｂ、Ｔｎとすると、Ｒｂ＝｛１／Ｔｂ｝、Ｒｎ＝｛１／Ｔｎ｝より、ΔＲ＝｛１／Ｔｂ｝−｛１／Ｔｎ｝となる。そこで、検出したいトルク変動を表す回転速度変動をＲｄｅｔとすると、ΔＲ（＝｛１／Ｔｂ｝−｛１／Ｔｎ｝）が、Ｒｄｅｔ≦ΔＲの条件を満たした時、検出したい負荷変動が発生したと推定できる。そこで、上式の両辺にＴｂ×Ｔｎを乗じると、Ｒｄｅｔ×Ｔｂ×Ｔｎ≦１×（Ｔｎ−Ｔｂ）となり、更に変形を行うと、Ｔｎ≧Ｔｂ／｛１−Ｒｄｅｔ×Ｔｂ｝という関係式が成立する。この場合、Ｃｂ＝｛１−Ｒｄｅｔ×Ｔｂ｝と置くと、Ｔｎ≧Ｔｂ／Ｃｂという関係式（式２）が成立する。
【００４６】
つまり、基準となる周期ＴｂからＲｄｅｔ変動した場合の周期がＴｂ／Ｃｂであり、この周期より現在の周期Ｔｎが大きくなった場合に、検出すべき負荷変動が発生したものと考えることができる。以後、このＴｂ／Ｃｂを許容周期と呼ぶことにする。しかし、式２の関係式は除算を含むため、Ｔｎ×Ｃｂ≧Ｔｂという関係式（式３）に変形し、現在の周期Ｔｎと基準値設定時に算出したＣｂとの積がＴｂより大きくなった時、検出すべき負荷変動が発生したものとみなすことができる。即ち、挟み込み検知判定では、図３の（ａ）の様に、周期Ｔｎの値が、許容周期（Ｔｂ／Ｃｂ）の値より大きくなる場合に、挟み込みは発生したものとみなすことができる。
【００４７】
一方、図３の（ｂ）は、モータ回転数センサ信号７からのパルス出力でエッジ変化が途中でとまった場合の周期データである。この場合、２エッジ前から現在までの経過時間をＴｐとし、この経過時間Ｔｐの値を用いて挟み込み検知判定を行うようにする。尚、経過時間Ｔｐは現在における信号周期に相当するものであり、周期に相当する経過時間Ｔｐの値が許容周期Ｔｂ／Ｃｂの値より以上になる場合に挟み込みが発生したと判定することができる。これにより、急激な荷重変化等による周期の変化により、モータ回転数センサ７からのパルス信号によるエッジ変化がとまった状態になった場合においても、許容周期（Ｔｂ／Ｃｂ）に対して挟み込み検知判定ができ、安定した荷重で挟み込み検知を行うことができる。
【００４８】
挟み込み検知判定において、挟み込みの誤判定を防止するために、所定回数（例えば、２回）だけ連続して挟み込み検知した場合に挟み込みが発生したと見なすフィルタを用いる場合、急激な荷重変化が発生しても、２度同じような現象になるまでエッジを待たなければならず、早期に挟み込み検知を正確に行うことができないものとなる。
【００４９】
そこで、図３の（ｃ）は早期に挟み込み検知判定を行う本実施形態の周期データに対しての挟み込み判定の説明図であり、（ｂ）と同様、モータ回転数センサ７からのパルス信号のエッジ変化がとまった場合の周期データを示す。この図では、前回エッジ（最新エッジ）から現在までの経過時間をＴｅとするものであり、このＴｅは現在におけるエッジ幅に相当する。図３（ｃ）に示すように、周期に相当するＴｐまたはエッジ幅に相当するＴｅの値が、上記した許容周期（Ｔｂ／Ｃｂ）の値より大きくなる場合に挟み込みが発生したものとみなすことができるが、ここでは、Ｔｅを導入してエッジ幅の挟み込み許容時間を許容周期（Ｔｂ／Ｃｂ）とすることにより、エッジが制御装置１に入力されない場合においても、許容周期（Ｔｂ／Ｃｂ）に対して挟み込み検知判定を行うことができる。それ故に、挟み込みの誤判定を防止するフィルタの所定回数が２回の場合においては、２エッジ前のエッジからの周期に対してはＴｐにて１回目の挟み込み検知と解釈し、１エッジ前のエッジからの周期としてＴｅにて２回目の挟み込み検知を行える。このことから、誤判定を防止した早期の判定が行え、挟み込み荷重を抑えることができる。
【００５０】
つまり、モータ回転数センサ７からエッジが入らなくなった状態においても、検知途中でエッジ変化が検出されず、挟み込み検知が確定できない状態においても、Ｔｅを用いて許容周期（Ｔｂ／Ｃｂ）に対して、挟み込み検知判定を（ｂ）よりも早期に行うことができ、しかも、（ｂ）よりも挟み込み荷重を抑えて、挟み込み検知確定を行うことができる。
【００５１】
次に、図４及び図５を参照し、本実施形態における制御装置１の挟み込み判定処理を示すフローチャートについて説明する。
制御装置１に電源が供給されると、制御装置１はＣＰＵ内部のＲＯＭの中に記憶されるプログラムを実行する。まず最初に、ステップＳ１０１にて本装置１０の初期化を行う。初期化では、ＣＰＵ５の状態の設定、メモリ（ＲＯＭ，ＲＡＭ）のチェック、入出力ポートの設定、パルス信号周期測定用のタイマの設定等を行い、ステップＳ１０２からステップＳ１２２までの処理をメインルーチンと称し、所定周期で実行される。この場合、メインルーチンの周期はモータ回転数センサ７の入力信号のエッジ幅に対して、十分に短い時間としている。
【００５２】
ステップＳ１０２では、ＣＰＵ５に入力される各種スイッチ８からの信号の入力処理を行う。ここでは、制御装置１に入力される信号（各種スイッチ８からの信号、モータ回転数センサ７からの信号、及び、電源回路３からの電圧信号）を入力し、必要なメモリに記憶する。次の、ステップＳ１０３では、現在のルーフガラス２２の動作状態が挟み込み検知を行う動作状態であるか判定を行う。つまり、ルーフガラス２２が開方向へ動作中の場合には挟み込み検知処理を行わず、ステップＳ１２１に移る。一方、ルーフガラス２２が閉方向へ動作中の場合は、ステップＳ１０４以降の挟み込み検出処理を行う。
【００５３】
次の、ステップＳ１０４では現在のモータ２の回転状態が、安定したものとなっているかの判定を行う。ここでは、モータ回転が通電開始から所定時間経過するまでの安定しない状態を過渡期としている。そこで、過渡期におけるモータ２の回転数（周期）の変化を誤って挟み込み検知としないようにするため、過渡期では挟み込み検知判定を行わず、モータ回転が安定してからその判定を行うようにしている。従って、ステップＳ１０４にてモータ回転状態が過渡期の状態であると判断した場合（起動マスク中の場合）には、ステップＳ１２１に移り、モータ回転が過渡期を過ぎて安定している場合は、ステップＳ１０５に移って、挟み込み検知の判定を行う。
【００５４】
ステップＳ１０５では、モータ回転数センサ７から出力されるパルス信号のエッジ変化が有りか否か（ＣＰＵ５にエッジ変化が入力されたか否か）の判定を行う。このエッジ変化の有無に基づいて、挟み込み検知処理の状態をわけることにより、メインループを実行する処理時間が低減できる。ステップＳ１０５において、モータ回転数センサ７からのパルス信号のエッジ変化（パルスエッジ）を検知した場合にはステップＳ１０６に移るが、エッジを検知していない場合には図５のステップＳ１１５に移る。
【００５５】
ステップＳ１０６では、モータ回転数センサ７からのパルス信号の周期Ｔｎを取得し、メモリ（ＲＡＭ）に保存する。この周期Ｔｎは、パルス信号の立ち上がりエッジで検出を行う場合には連続する２つの立ち上がりエッジ間の時間とし、パルス信号の立ち下りエッジで検出する場合は連続する２つの立ち下りエッジ間の時間とする。ＣＰＵ５はパルス出力の変化を基にしてパルス信号のエッジ発生毎に周期Ｔｎを取得し、一定期間のパルス周期データ（例えば、立ち上がり又は立ち下がりエッジが６エッジ入力される間のデータ）を、ＲＡＭに保存する。つまり、これは周期変化をみるために、所定回数（所定周期）前のパルス周期と周期Ｔｎの周期の変化状態を判定している。具体的には、周期Ｔｎの取得方法として、エッジ検出毎に所定周期でカウントを行う周期測定用のタイマの値を周期Ｔｎの値としてＲＡＭ上に保存し、取得後に周期測定用タイマの値を零クリアする。そして、所定回数分だけ６エッジ間の周期データを保存するメモリ領域、及び、メモリ上のデータ格納位置を示すポインタからなるリングバッファ構造を用い、周期Ｔｎ取得時にポインタの示す６エッジ前の周期Ｔｎ−６のデータを取得し、別メモリ領域上に保存する。そして、ポインタの示すメモリ領域に取得した周期Ｔｎの値を保存し、ポインタの値を次のデータを示すように更新を行う。この処理により、メモリ上のデータの移動を行う必要がなく、演算処理時の負荷を少なくできる。
【００５６】
ステップＳ１０７では、周期Ｔｎの変動状態のチェックを行う。ここで、周期Ｔｎが過去の周期より短くなる場合には、周期の逆数であるモータ回転数は増加していると判断できる。逆に、周期Ｔｎが過去の周期より長くなる場合は、モータ回転数が減少していると判断できる。つまり、挟み込みが発生している場合にはモータ回転数は減少することから、挟み込み検知処理はモータ回転が減少している場合のみ実行すれば良い。このため、後述する挟み込み周期係数値の算出は、モータ回転が増加している場合に行えば、周期Ｔｎの変動に従い、周期係数演算を行う過程と、実際に挟み込みを検知の確定を行う過程を２つにわけることができ、１回のメインループにおける処理時間の低減を行うことができる。本実施形態では、周期Ｔｎの変動を６エッジ前の周期Ｔｎ−６と周期Ｔｎの大小関係を比較することにより判定し、Ｔｎ＜Ｔｎ−６の場合にはステップＳ１０８に移り、Ｔｎ≧Ｔｎ−６の場合にはステップＳ１１０にそれぞれ移る。
【００５７】
ステップＳ１０８では周期Ｔｎの値を基準周期Ｔｂとして設定し、メモリに保存する。周期が短くなる間（モータ回転が増加している間）は、基準周期Ｔｂの値は逐次更新される。そして、ステップＳ１０９にて、基準周期Ｔｂの値に基づき、挟み込みが発生した場合に挟み込みを許容できる許容周期Ｔｂ／Ｃｂを求めるのに必要となる周期係数Ｃｂを算出する。Ｃｂ＝１−Ｒｄｅｔ×Ｔｂという関係式で表わされ、この中でＲｄｅｔは挟み込み検知荷重に相当する変動量である。ステップＳ１０９にてＣｂ算出した後に、ステップＳ１２１に移る。
【００５８】
つまり、周期幅が短縮する過程においては、基準周期Ｔｂの設定とＣｂの値の算出を行い、ステップＳ１０９の後、ステップＳ１２１に移るが、ステップＳ１０８からステップＳ１０９を行う処理過程では、挟み込み検知を行う必要がないため、挟み込み検知の比較処理は行わない。
【００５９】
一方、ステップＳ１１０ではステップＳ１０９で算出した周期係数Ｃｂ、ステップＳ１０８で設定された基準周期ＴｂおよびステップＳ１０６にて取得した周期Ｔｎを用いて、挟み込み検知の比較処理を行う。周期Ｔｎの値が許容周期Ｔｂ／Ｃｂの値よりも大きい場合、挟み込みが発生したものとするのであるが、ここで、許容周期Ｔｂ／Ｃｂを算出するために除算処理を行わないようにするため、両方の値にＣｂの値を掛けた値であるＴｎ×Ｃｂの値とＴｂの値を比較し、Ｔｎ×Ｃｂによる演算値がＴｂの値より大きい場合、挟み込みが発生したものとみなす。この場合、除算処理が必要でないため、処理能力の低い安価なＣＰＵ５を用いて多倍語長演算を実施しても挟み込み判定に要する処理時間は、除算を行う必要がある処理に比べ短く済む。それにより、処理能力の低いＣＰＵを用いて精度の高い挟み込み検知判定を実現できる、しかも、挟み込み判定が短くなれば、挟み込み荷重の増加を抑えることができる。
【００６０】
ステップＳ１１０により挟み込みが発生したと見なされた場合には、ステップＳ１１２に移るが、挟み込みが発生したとみなされない場合には、ステップＳ１１１に移り、ここで、パルス信号のエッジ検出毎に挟み込みの誤判定をしないようにカウントしている連続挟み込み検知回数のカウンタ値をクリヤ（０回）とした後、ステップＳ１２１に移る。ステップＳ１１２では、ステップＳ１１０にて挟み込みが発生したとみなされると、連続挟み込み検知回数を１回分増加させる。その後、ステップＳ１１３にて、連続挟み込み検知回数カウンタのカウンタ値（連続挟み込み検知回数）が規定回数（例えば、２回）以上であるか判定し、規定回数以上挟み込みとみなされた場合には挟み込み検知確定とし、挟み込み検知確定がなされない場合には、ステップＳ１２１に移る。ステップＳ１１４では、挟み込み検知確定結果としてルーフガラス２２を駆動するモータ２の動作を停止させるため、モータ駆動用のリレー６をオフする信号を出力する。また、ルーフガラス２２の動作制御処理のために挟み込み検知を確定したことを示すフラグをセットする。その後、ステップＳ１２１にてこのフラグを参照し、挟み込み検知確定時にはルーフガラス２２を閉方向への動作を上述の如く即座に停止し、反転方向へ動作させる（ルーフガラス２２の開方向へ挟み込みを検知した位置より、例えば、２００ｍｍ戻す）制御を実行する。
【００６１】
一方、図５のステップＳ１１５では、最後に検知したパルス信号の最新エッジから現在までの経過時間Ｔｅを取得する。このＴｅの値は、現在のメインルーチンにて最後のパルス信号の立ち上がり又は立ち下がりエッジが発生してからの経過時間に相当する。実際には周期測定用タイマの値をＴｅの値として取得し、ＲＡＭに保存する。その後、ステップＳ１１６にて周期係数Ｃｂ、基準周期ＴｂおよびＴｅの値を用いて、Ｃｂ×Ｔｅで算出された乗算値とＴｂとの値の比較により、挟み込み検知の判定を行う。最新エッジからの経過時間Ｔｅの値が、許容周期Ｔｂ／Ｃｂの値よりも大きい場合に挟み込み検知とし、実際の判定では、Ｔｅ×Ｃｂの値とＴｂの値の大小関係を判定を実施することにより、ＴｅとＴｂ／Ｃｂとの大小関係を判定する。ステップＳ１１８の判定式により挟み込みが発生したとみなされた時には、ステップＳ１２０に移り、ステップＳ１１４と同様の処理を行うが、挟み込みが発生したとみなされない場合には、ステップＳ１１７に移る。
【００６２】
ステップＳ１１７では、数パルス前（例えば、２つ前）に検知した信号エッジから現在までの時間Ｔｐを取得する。Ｔｐの値は、現在のメインルーチンにてパルス信号のエッジが発生した場合の周期（ここでは、所定パルス前（２エッジ前）からの経過時間）に相当する。実際には前回エッジ発生時に取得した信号エッジ幅と今回のＴｅの値を加算することにより、Ｔｐの値を算出してＲＡＭに保存する。
【００６３】
ステップＳ１１７の後、ステップＳ１１８にて周期係数Ｃｂ、基準周期ＴｂおよびＴｐの値を用いて、Ｃｂ×ＴｐとＴｂの比較にて、ステップＳ１１０と基本的に同様な関係式により、挟み込み検知判定を行う。このステップＳ１１８にて挟み込みが発生していない（Ｃｂ×ＴｐがＴｂ以下）場合、挟み込み検知の比較処理を終了し、図４のステップＳ１２１に移るが、挟み込みが発生しているとみなせる（Ｃｂ×ＴｐがＴｂ以上）場合には、ステップＳ１１９に移り挟み込み検知回数の確認を行う。
【００６４】
ステップＳ１１９において、既に規定回数がｎ−１回連続挟み込み検知をしている場合には、ステップＳ１２０に移るが、そうでない場合、挟み込み検知処理を終了して図４のステップＳ１２１に移る。ステップＳ１２０では、ステップＳ１１４と同様に挟み込み検知確定結果としてルーフを動作させるモータ２を停止させるため、モータ駆動用リレー６をオフする出力を行う。また、ルーフガラス２２の動作制御処理のために挟み込み検知確定したことを示すフラグをＲＡＭ上に保存する。急激な回転数変動が発生した場合、パルス信号エッジの入力間隔が急激に広がる。その場合においても、許容周期より周期相当の時間であるＴｐおよびＴｅの時間が超えることを判定することにより、安定した荷重で挟み込み検知を行うことができる。
【００６５】
ステップＳ１２１では入力信号を基にルーフガラス２２の動作を決め、ルーフガラス２２を動作させるモータ２のリレー６への出力情報をＲＡＭ上に記憶する。例えば、開操作スイッチ８がオン入力の場合、ルーフガラス２２を開方向へ動作させ、閉操作スイツチ８がオン入力の場合、ルーフガラス２２を閉方向へ動作させる。挟み込み検知判定の結果により挟み込み検知確定がなされた場合には、ルーフガラス２２の閉方向への動作を即座に停止し、開方向へ２００ｍｍだけ反転動作させる。実際のＣＰＵ５からリレー６への出力はステップＳ１２２にて行い、リレー６への出力情報をＲＡＭ上に保存する。その後、ステップＳ１２２にて、ＲＡＭ上の出力情報を用いてモータ２を駆動するリレー６の出力を行い、ステップＳ１０２からステップＳ１２２に示す上述した同じ処理を繰り返す。
【００６６】
以上説明したように、本実施形態ではモータ回転数センサ７からのパルス信号のエッジ入力があれば、周期Ｔｎと許容周期Ｔｂ／Ｃｂの乗算値とＴｂを比較するだけで良いため、挟み込み検出が迅速にできる。また、許容周期に相当する期間、モータ回転数センサ７からのエッジ入力がない場合でも、エッジ入力がある場合と同一の検出精度を保つことができる。
【００６７】
挟み込み判定では、除算処理を行わなくても挟み込みの検知精度を出せるように演算処理を工夫しているため、比較的安価なＣＰＵ５でも対応が可能である。更にその上、挟み込み検出状態および周期係数Ｃｂの更新が必要でないときには演算の必要がないため、ＣＰＵ５の演算負荷を低減できる。
【００６８】
（第２実施形態）
以下、本発明の第２実施形態を図面を参照して説明する。なお、第２実施形態は、バッテリＢＡＴの電圧変動（駆動電源電圧変動）を考慮した挟み込み検知判定に変更したことが第１実施形態と異なる。すなわち、図９に示されるように、通常、モータ２は、モータ発生トルクと駆動電源電圧（バッテリ電圧）の関係において、モータ回転速度が一定である場合には正の相関を示す。従って、前記周期係数Ｃｂをこの特性を考慮して補正した周期係数Ｃｄ（ΔＶ）（＝｛ｋｒｄ−（ｋｒ×Ｒｄｅｔ−ｋｖｄ×ΔＶ）×Ｔｂ｝）としたことが第１実施形態と異なる。いうまでもなく、この周期係数Ｃｄ（ΔＶ）は、許容周期（Ｔｂ／Ｃｂ（ΔＶ））（式４参照）を算出するためのものである。
【００６９】
図６は、本実施形態でのモータ回転数センサ７からのパルス信号を基にした挟み込み検知判定を示す説明図である。図６の（ａ）は、モータ回転数センサ７からパルス出力（エッジ変化）が連続して発生している場合の周期データであり、第１実施形態と同様にモータ回転数センサ７の信号周期（最新周期）Ｔｎが取得できる。この周期Ｔｎの値を用い、挟み込み検知判定時の基準周期Ｔｂの決定が行える。本実施形態では、図６の（ａ）のように、周期Ｔｎの値がバッテリ電圧に基づく補正後の許容周期（Ｔｂ／Ｃｂ（ΔＶ））の値よりも大きくなるときに、第１実施形態と同様に挟み込みが発生したものとみなすことができる。
【００７０】
図６の（ｂ）は、モータ回転数センサ７からのパルス出力でエッジ変化が途中でとまった場合の周期データであり、第１実施形態と同様に２エッジ前から現在までの経過時間（時間幅）Ｔｐが取得できる。この経過時間Ｔｐの値を用いて挟み込み検知判定を行うようにする。すなわち、図６の（ｂ）のように、経過時間Ｔｐの値がバッテリ電圧に基づく補正後の許容周期（Ｔｂ／Ｃｂ（ΔＶ））の値よりも大きくなるときに、第１実施形態と同様に挟み込みが発生したものとみなすことができる。これにより、動作途中に急激な荷重変化等による周期の変化（回転速度変化）が発生した時や、モータ回転数センサ７からのパルス信号によるエッジ変化がとまった状態になった場合においても、バッテリ電圧に基づく補正後の許容周期（Ｔｂ／Ｃｂ（ΔＶ））に対して挟み込み検知判定ができ、安定した荷重で挟み込み検知を行うことができる。
【００７１】
図６の（ｃ）は、モータ回転数センサ７からのパルス出力でエッジ変化が途中でとまった場合の周期データであり、第１実施形態と同様に前回エッジ（最新エッジ）から現在までの経過時間（時間幅）Ｔｅが取得できる。この経過時間Ｔｅの値を用いて挟み込み検知判定を行うようにする。すなわち、図６の（ｃ）のように、周期に相当するＴｐまたはエッジ幅に相当するＴｅの値がバッテリ電圧に基づく補正後の許容周期（Ｔｂ／Ｃｂ（ΔＶ））の値よりも大きくなるときに、第１実施形態と同様に挟み込みが発生したものとみなすことができる。これにより、モータ回転数センサ７からエッジが入らなくなった状態において、Ｔｐを用いて挟み込み検知が確定できない状態においても、Ｔｅを用いてバッテリ電圧に基づく補正後の許容周期（Ｔｂ／Ｃｂ（ΔＶ））に対して、挟み込み検知判定を行うことができ、安定した荷重で挟み込み検知を行うことができる。
【００７２】
次に、図７及び図８を参照し、本実施形態における制御装置１の挟み込み判定処理を示すフローチャートについて説明する。まず最初に、ステップＳ２０１にて第１実施形態と同様、本装置１０の初期化を行い、ステップＳ２０２からステップＳ２２４までの処理をメインルーチンと称し、所定周期で実行される。
【００７３】
ステップＳ２０２では、ＣＰＵ５に入力される各種スイッチ８からの信号の入力処理を行う。ここでは、制御装置１に入力される信号（各種スイッチ８からの信号、モータ回転数センサ７からの信号、及び、バッテリＢＡＴからの電圧信号）を入力し、必要なメモリに記憶する。
【００７４】
次の、ステップＳ２０３では、第１実施形態と同様に現在のモータ２の回転状態が、安定したものとなっているかの判定を行う（ステップＳ１０４参照）。すなわち、モータ回転が安定していない（起動マスク中）場合には、ステップＳ２２３に移り、同安定している場合は、ステップＳ２０４に移って、挟み込み検知の判定を行う。
【００７５】
ステップＳ２０４では、第１実施形態と同様にモータ回転数センサ７から出力されるパルス信号のエッジ変化が有りか否か（ＣＰＵ５にエッジ変化が入力されたか否か）の判定を行う（ステップＳ１０５参照）。ステップＳ２０４において、モータ回転数センサ７からのパルス信号のエッジ変化（パルスエッジ）を検知した場合にはステップＳ２０５に移るが、エッジを検知していない場合には図８のステップＳ２１５に移る。
【００７６】
ステップＳ２０５では、第１実施形態と同様にモータ回転数センサ７からのパルス信号の周期Ｔｎを取得し、メモリ（ＲＡＭ）に保存する。また、併せてバッテリ電圧Ｖｎを取得し、メモリ（ＲＡＭ）に保存する。このバッテリ電圧Ｖｎは、バッテリＢＡＴからの電圧信号のＡ／Ｄ変換後の値である。
【００７７】
ステップＳ２０６では、第１実施形態と同様に周期Ｔｎの変動状態のチェックを行う。ここで、周期Ｔｎが過去の周期より短くなる場合には、周期の逆数であるモータ回転数は増加していると判断してステップＳ２０７に移る。逆に、周期Ｔｎが過去の周期より長くなる場合は、モータ回転数が減少していると判断してステップＳ２０８にそれぞれ移る。
【００７８】
ステップＳ２０７では周期Ｔｎの値を基準周期Ｔｂとして設定し、バッテリ電圧Ｖｎの値を基準電圧Ｖｂとして設定し、メモリに保存する。周期が短くなる間（モータ回転が増加している間）は、基準周期Ｔｂ及び基準電圧Ｖｂの値は逐次更新される。ステップＳ２０７の後、ステップＳ２２３に移るが、ステップＳ２０７を行う処理過程では、挟み込み検知を行う必要がないため、挟み込み検知の比較処理は行わない。
【００７９】
一方、ステップＳ２０６において周期Ｔｎが過去の周期より長くなる場合は、ステップＳ２０８にて、Ｖｎ，Ｖｂから駆動電源電圧変動ΔＶ｛＝（Ｖｎ−Ｖｂ）｝を算出する。次に、ステップＳ２０９にて基準周期Ｔｂ及び駆動電源電圧変動ΔＶに基づき駆動電源電圧を補正した後の周期係数Ｃｄ（ΔＶ）を算出する。周期係数Ｃｄ（ΔＶ）は、駆動電源電圧を補正した後の許容周期（Ｔｂ／Ｃｄ（ΔＶ））算出用の係数で、Ｃｄ（ΔＶ）＝｛ｋｒｄ＋（ｋｒ×Ｒｄｅｔ＋ｋｖｄ×ΔＶ）×Ｔｂ｝であることは既述のとおりである。Ｒｄｅｔは、所定電圧下での挟み込み検知荷重に相当する回転速度変動量である。ステップＳ２０９にてＣｄ（ΔＶ）を算出した後に、ステップＳ２１０に移る。
【００８０】
ステップＳ２１０ではステップＳ２０９で算出した周期係数Ｃｄ（ΔＶ）、ステップＳ２０７で設定された基準周期ＴｂおよびステップＳ２０５にて取得した周期Ｔｎを用いて、挟み込み検知の比較処理を行う。周期Ｔｎの値が許容周期Ｔｂ／Ｃｄ（ΔＶ）の値よりも大きい場合、挟み込みが発生したものとするのであるが、ここで、許容周期Ｔｂ／Ｃｄ（ΔＶ）を算出するために除算処理を行わないようにするため、第１実施形態と同様に両方の値にＣｄ（ΔＶ）の値を掛けた値であるＴｎ×Ｃｄ（ΔＶ）の値とＴｂの値を比較し、Ｔｎ×Ｃｄ（ΔＶ）による演算値がＴｂの値以上の場合、挟み込みが発生したものとみなす。
【００８１】
ステップＳ２１０により挟み込みが発生したと見なされた場合には、ステップＳ２１２に移る。挟み込みが発生したとみなされない場合には、ステップＳ２１１に移り、第１実施形態と同様の連続挟み込み検知回数のカウンタ値をクリヤ（０回）としてメモリに保存した後、ステップＳ２２３に移る。一方、ステップＳ２１２では、連続挟み込み検知回数を１回分増加させる。その後、ステップＳ２１３にて、連続挟み込み検知回数カウンタのカウンタ値（連続挟み込み検知回数）が規定回数（例えば、２回）以上であるか判定し、規定回数以上挟み込みとみなされた場合には挟み込み検知確定とし、ステップＳ２１４に移る。挟み込み検知確定がなされない場合には、ステップＳ２２３に移る。ステップＳ２１４では、挟み込み検知確定結果としてルーフガラス２２を駆動するモータ２の動作を停止させるため、モータ駆動用のリレー６をオフする信号を出力する。また、ルーフガラス２２の動作制御処理のために挟み込み検知を確定したことを示すフラグをメモリ上にセットする。その後、ステップＳ２２３にてこのフラグを参照し、挟み込み検知確定時にはルーフガラス２２を閉方向への動作を上述の如く即座に停止し、反転方向へ動作させる（ルーフガラス２２の開方向へ挟み込みを検知した位置より、例えば、２００ｍｍ戻す）制御を実行する。
【００８２】
一方、図８のステップＳ２１５では、第１実施形態と同様に最後に検知したパルス信号の最新エッジから現在までの経過時間Ｔｅを取得し、メモリ（ＲＡＭ）に保存する。また、併せてバッテリ電圧Ｖｅを取得し、メモリ（ＲＡＭ）に保存する。このバッテリ電圧Ｖｅも、バッテリ電圧Ｖｎと同様にバッテリＢＡＴからの電圧信号のＡ／Ｄ変換後の値である。その後、ステップＳ２１６にて、Ｖｅ，Ｖｂから駆動電源電圧変動ΔＶ｛＝（Ｖｅ−Ｖｂ）｝を算出する。次に、ステップＳ２１７にて基準周期Ｔｂ及び駆動電源電圧変動ΔＶに基づき駆動電源電圧を補正した後の周期係数Ｃｄ（ΔＶ）をステップＳ２０９に準じて算出する。
【００８３】
次に、ステップＳ２１８に移り、ステップＳ２１７で算出した周期係数Ｃｄ（ΔＶ）、ステップＳ２０７で設定された基準周期ＴｂおよびステップＳ２１５にて取得した経過時間Ｔｅを用いて、ステップＳ２１０に準じて挟み込み検知の比較処理を行う。エッジ幅に相当する経過時間Ｔｅの値が許容周期Ｔｂ／Ｃｄ（ΔＶ）の値よりも大きい場合、挟み込みが発生したものとするのであるが、ここで、許容周期Ｔｂ／Ｃｄ（ΔＶ）を算出するために除算処理を行わないようにするため、第１実施形態と同様に両方の値にＣｄ（ΔＶ）の値を掛けた値であるＴｎ×Ｃｄ（ΔＶ）の値とＴｂの値を比較し、Ｔｎ×Ｃｄ（ΔＶ）による演算値がＴｂの値以上の場合、挟み込みが発生したものとみなす。
【００８４】
ステップＳ２１８により挟み込みが発生したと見なされた場合には、ステップＳ２２２に移る。挟み込みが発生したとみなされない場合には、ステップＳ２１９に移る。
【００８５】
ステップＳ２１９では、第１実施形態と同様に数パルス前（例えば、２つ前）に検知した信号エッジから現在までの時間Ｔｐを取得し、メモリ（ＲＡＭ）に保存する。
【００８６】
ステップＳ２１９の後、ステップＳ２２０にてステップＳ２１７にて算出された周期係数Ｃｄ（ΔＶ）、基準周期ＴｂおよびＴｐの値を用いて、Ｃｄ（ΔＶ）×ＴｐとＴｂの比較にて、ステップＳ２１０と基本的に同様な関係式により、挟み込み検知判定を行う。このステップＳ２２０にて挟み込みが発生していない（Ｃｄ（ΔＶ）×ＴｐがＴｂより小さい）場合、挟み込み検知の比較処理を終了し、ステップＳ２２３に移るが、挟み込みが発生しているとみなせる（Ｃｄ（ΔＶ）×ＴｐがＴｂ以上）場合には、ステップＳ２２１に移り挟み込み検知回数の確認を行う。
【００８７】
ステップＳ２２１において、既に規定回数がｎ−１回連続挟み込み検知をしている場合には、挟み込み検知確定としステップＳ２２２に移るが、そうでない場合、挟み込み検知処理を終了しステップＳ２２３に移る。ステップＳ２２２では、ステップＳ２１４と同様に挟み込み検知確定結果としてルーフを動作させるモータ２を停止させるため、モータ駆動用リレー６をオフする出力を行う。また、ルーフガラス２２の動作制御処理のために挟み込み検知確定したことを示すフラグをＲＡＭ上に保存する。急激な回転数変動が発生した場合、パルス信号エッジの入力間隔が急激に広がる。その場合においても、許容周期より周期相当の時間であるＴｐおよびＴｅの時間が超えることを判定することにより、安定した荷重で挟み込み検知を行うことができる。
【００８８】
ステップＳ２２３では、第１実施形態と同様に入力信号を基にルーフガラス２２の動作を決め、ルーフガラス２２を動作させるモータ２のリレー６への出力情報をＲＡＭ上に記憶する。その後、第１実施形態と同様にステップＳ２２４にて、ＲＡＭ上の出力情報を用いてモータ２を駆動するリレー６の出力を行い、ステップＳ２０２からステップＳ２２４に示す上述した同じ処理を繰り返す。
【００８９】
以上詳述したように、本実施形態によれば、前記第１実施形態と同様の効果に加えて以下に示す効果が得られるようになる。
（１）本実施形態では、バッテリ電圧（駆動電源電圧）の変動時においても挟み込み検知機能の性能劣化を抑制できる。
【００９０】
（２）本実施形態では、周期幅変化（回転数変化）に応じて周期Ｔｎ及びバッテリ電圧Ｖｎを設定する処理と、周期係数Ｃｄ（ΔＶ）の演算及び挟み込み検知判定の処理を２分した。従って、各メインループでの処理時間を低減することができる。
【００９１】
【発明の効果】
第１の発明によれば、制御手段は所定数のパルス出力の変化を記憶し、記憶したパルス出力から基準周期Ｔｂを設定すると共に基準周期Ｔｂに基づいて挟み込みが許容される周期係数Ｃｂを算出し、周期係数Ｃｂと最新周期Ｔｎに基づく乗算値（例えば、Ｃｂ×Ｔｎ）と、基準周期Ｔｂとの比較により挟み込み確定を行うことができる。この場合、挟み込み判定には除算処理は必要なくなり、挟み込み判定を早期に行うことができ、挟み込み荷重の増加を抑えることができる。また、挟み込み判定時には従来の如く、データマップを予め記憶しておかなくて良いので、メモリ容量を抑えることができる。
【００９２】
第２の発明によれば、制御手段はパルス出力の出力変化を記憶し、最新の周期Ｔｎを取得すると共に数パルス前のパルス出力から基準周期Ｔｂを設定し、基準周期Ｔｂに基づき周期係数Ｃｂを算出して、周期係数Ｃｂと前記周期Ｔｎに基づく乗算値（例えば、Ｃｂ×Ｔｎ）が基準周期Ｔｂ以上で挾み込み確定を行うので、挟み込み判定には除算処理は必要なく、より正確な挟み込み判定が早期に行うことができ、挟み込み荷重の増加を抑えることができる。また、挟み込み判定時には従来の如く、データマップを予め記憶しておかなくて良いので、メモリ容量を抑えることができる。
【００９３】
パルス出力が検出されない場合、パルス出力の状態変化から現在までの時間幅を算出し、周期係数と時間幅に基づく乗算値が基準周期幅以上で挟み込み検知を行うようにすれば、パルス入力がない場合でも、モータ回転数の変動が発生し許容される負荷変動を上回ったとした挟み込み確定が、開閉体の動作途中に急激な回転数変化が発生した場合や、パルス出力が得られなくなった場合でも、安定した挟み込み荷重で挟み込み確定ができる。
【００９４】
周期係数Ｃｂを駆動電源電圧の変動量に応じて補正した周期係数Ｃｄ（ΔＶ）とすることで、駆動電源電圧の変動時においても挟み込み検知機能の性能劣化を抑制できる。
【００９５】
基準周期は、モータ回転が増加している場合に設定すれば、演算負荷を均等化した効率良い挟み込み判定が行え、処理時間を減少させることができ、制御手段を低コスト化できる。
【図面の簡単な説明】
【図１】本発明の第１実施形態における開閉体の挟み込み検知装置を車両のサンルーフ装置に適用した場合の取付図である。
【図２】図１に示すサンルーフ装置のシステム構成図である。
【図３】図２に示すモータ回転数センサから出力されるパルス信号の周期データに基づき、挟み込み検知判定を行う説明図であり、（ａ）はパルス信号のエッジ変化が発生する場合に許容周期Ｔｂ／ＣｂとＴｎで判定を行う場合、（ｂ）はエッジ変化が途中でなくなった場合に許容周期Ｔｂ／ＣｂとＴｐで判定を行う場合、（ｃ）はエッジ変化が途中でなくなった場合に許容周期Ｔｂ／ＣｂとＴｅ，Ｔｐで判定を行う場合を示す。
【図４】図２に示す制御装置の動作フローチャートである。
【図５】図２に示す制御装置の動作フローチャートである。
【図６】本発明の第２実施形態においてモータ回転数センサから出力されるパルス信号の周期データに基づき、挟み込み検知判定を行う説明図であり、（ａ）はパルス信号のエッジ変化が発生する場合に許容周期Ｔｂ／Ｃｄ（ΔＶ）とＴｎで判定を行う場合、（ｂ）はエッジ変化が途中でなくなった場合に許容周期Ｔｂ／Ｃｄ（ΔＶ）とＴｐで判定を行う場合、（ｃ）はエッジ変化が途中でなくなった場合に許容周期Ｔｂ／Ｃｄ（ΔＶ）とＴｅ，Ｔｐで判定を行う場合を示す。
【図７】同実施形態の動作フローチャートである。
【図８】同実施形態の動作フローチャートである。
【図９】駆動電源電圧に応じたモータ発生トルクとモータ回転速度との関係を示すグラフである。
【符号の説明】
１  制御装置（制御手段）
２  モータ
５  ＣＰＵ（制御手段）
７  モータ回転数センサ（検出手段）
１０  サンルーフ装置（挟み込み検知装置）
２２  ルーフガラス（開閉体）
【図１】
0004802381.tif 000002
【図２】
0004802381.tif 000003
【図３】
0004802381.tif 000004
【図４】
0004802381.tif 000005
【図５】
0004802381.tif 000006
【図６】
0004802381.tif 000007
【図７】
0004802381.tif 000008
【図８】
0004802381.tif 000009
【図９】
0004802381.tif 000010