例えば自動車には、ドアの窓、サンルーフ、スライドドア等の開閉体と、該開閉体を開閉させるための電動機と、該電動機の駆動を制御する開閉体制御装置とが設けられている。開閉体制御装置のうち、窓開閉用の電動機を制御するものは、パワーウィンドウ装置(または窓開閉制御装置)と呼ばれている。パワーウィンドウ装置は、一般にスイッチの操作により電動機であるモータを正転または逆転させて、ドアの窓ガラスを昇降させ、窓を開閉する。
図1は、パワーウィンドウ装置の電気的構成を示したブロック図である。1は窓の開閉を操作するための操作スイッチ、2はモータ3を駆動するモータ駆動回路、4はモータ3の回転駆動状態に応じたパルス信号を出力するロータリエンコーダ、5はロータリエンコーダ4から出力されるパルス信号を検出するパルス検出回路、6はROMやRAM等から構成されるメモリ、8は窓の開閉動作を制御するCPUおよびメモリから構成される制御部である。
操作スイッチ1を操作すると、制御部8に窓開閉指令が与えられ、モータ駆動回路2によりモータ3が正転または逆転する。モータ3の回転駆動により、モータ3と連動する窓開閉機構が作動して窓の開閉が行われる。パルス検出回路5によるロータリエンコーダ4からのパルス信号の検出結果に基づき、制御部8が窓の開閉量やモータの回転速度を算出して、モータ駆動回路2を介してモータ3の回転を制御する。
図2は、操作スイッチ1の一例を示した概略構成図である。操作スイッチ1は、軸Qを中心としてab方向に回転可能な操作ノブ11と、この操作ノブ11と一体に設けられたロッド12と、公知のスライドスイッチ13とから構成される。14はスライドスイッチ13のアクチュエータ、20は操作スイッチ1が組み込まれるスイッチユニットのカバーである。ロッド12の下端は、スライドスイッチ13のアクチュエータ14と係合しており、操作ノブ11がab方向に回転すると、ロッド12を介してアクチュエータ14がcd方向に移動し、その移動位置に応じてスライドスイッチ13の接点(図示省略)が切り換えられる。
操作ノブ11は、オート閉AC、マニュアル閉MC、中立N、マニュアル開MO、オート開AOの各位置へ切換可能となっている。図2は、操作ノブ11が中立Nの位置にある状態を示している。この位置から操作ノブ11をa方向に一定量回転させて、マニュアル閉MCの位置にすると、マニュアル動作で窓が閉じるマニュアル閉動作が行われ、この位置よりさらにa方向に操作ノブ11を回転させてオート閉ACの位置にすると、オート動作で窓が閉じるオート閉動作が行われる。また、操作ノブ11を中立Nの位置からb方向に一定量回転させて、マニュアル開MOの位置にすると、マニュアル動作で窓が開くマニュアル開動作が行われ、この位置よりさらにb方向に操作ノブ11を回転させてオート開AOの位置にすると、オート動作で窓が開くオート開動作が行われる。操作ノブ11には、図示しないバネが設けられており、回転した操作ノブ11から手を離すと、操作ノブ11はバネの力により中立Nの位置に復帰する。
マニュアル動作の場合は、操作ノブ11がマニュアル閉MCまたはマニュアル開MOの位置に手で保持され続ける間だけ、窓を閉じる動作または開ける動作が行われ、操作ノブ11から手を離してノブが中立Nの位置に復帰すると、窓の閉動作または開動作は停止する。一方、オート動作の場合は、一旦、操作ノブ11がオート閉ACまたはオート開AOの位置まで回転されると、その後は操作ノブ11から手を離してノブが中立Nの位置に復帰しても、窓の閉動作または開動作が継続して行われる。
図3は、車両の各窓に設けられる窓開閉機構の一例を示した図である。100は自動車の窓、101は窓100を開閉する窓ガラス、102はXアーム式の窓開閉機構である。窓ガラス101は、窓開閉機構102の作動により昇降動作を行い、窓ガラス101の上昇により窓100が閉じ、窓ガラス101の下降により窓100が開く。窓開閉機構102において、103は窓ガラス101の下端に取り付けられた支持部材である。104は一端が支持部材103に係合され、他端がブラケット106に回転可能に支持された第1アーム、105は一端が支持部材103に係合され、他端がガイド部材107に係合された第2アームである。第1アーム104と第2アーム105とは、それぞれの中間部において軸を介して連結されている。3は前述のモータ、4は前述のロータリエンコーダである。ロータリエンコーダ4はモータ3の回転軸に連結されており、モータ3の回転量に比例した数のパルス信号を出力する。ロータリエンコーダ4から出力されるパルス信号を検出および計数することにより、該パルス信号の周波数、モータ3の回転速度、および窓ガラス101の移動量を算出することができる。
109はモータ3により回転駆動されるピニオン、110はピニオン109と噛合して回転する扇形のギヤである。ギヤ110は、第1アーム104に固定されている。モータ3は正逆方向に回転可能であり、正逆方向への回転によりピニオン109およびギヤ110を回転させて、第1アーム104を正逆方向へ回動させる。これに追随して、第2アーム105の他端がガイド部材107の溝に沿って横方向にスライドし、支持部材103が上下方向に移動して窓ガラス101を昇降させ、窓100を開閉する。
以上のようなパワーウィンドウ装置において、操作ノブ11が図2のオート閉ACの位置にあってオート閉動作が行われる場合やマニュアル閉MCの位置にあってマニュアル閉動作が行われる場合に、物体の挟み込みを検知する機能が備わっている。すなわち、図4に示したように、窓100が閉まる途中で窓ガラス101の隙間に物体Zが挟み込まれた場合、これを検知して窓100の閉動作を停止したり、開動作へ切り換えたりするようになっている。特に、オート閉動作中は窓100が自動的に閉じるため、誤って手や首などが挟まれた場合に、閉動作を禁止して人体に危害が加わるのを防止する必要性から、このような挟み込み検知機能が設けられる。挟み込みの検知にあたっては、例えば、制御部8がパルス検出回路5から出力されるパルス信号の周期や周波数を随時読み込み、現在の周期や周波数と以前の周期や周波数とを比較して、該比較結果に基づいて挟み込みの有無を判断する。具体的には、窓100に物体Zの挟み込みが発生すると、急激にモータ3の負荷が増大して回転速度が低下する異常が生じるため、パルス信号の周期や周波数の変化量が大きくなり、該変化量が所定の閾値を超えたときに、物体Zが挟み込まれたと判断する。
また、窓100の閉動作中に悪路を走行したりドアを強く閉めたりする等して、振動や衝撃等の外乱が作用した場合、この影響を受けて窓ガラス101が振動し、モータ3の負荷が変動し、パルス信号の周期や周波数の変化量が大きくなるため、該変化量が所定の挟み込み閾値を超えて、物体Zが挟み込まれたと誤判断してしまうことがある。このような挟み込みの誤判断を防止するため、パルス信号の周期の変化量に基づいて、外乱が作用したことを判断し、挟み込み閾値をより高い外乱作用時の値に変更することが行われている(例えば、下記の特許文献1参照)。また、所定期間のパルス信号の周期の変化を示す擬似曲線をフーリエ変換して各振動数と各振動数の強度とを算出し、各振動数に応じて振動閾値を予め設定された値に変更するとともに、各振動数の強度と振動閾値とを比較して、外乱が作用したことを判断することが行われている(例えば、下記の特許文献2参照)。
特許第3237520号公報
特開2005−120635号公報
以下、本発明の実施形態につき図を参照して説明する。以下では、背景技術の項で説明した図1〜図4を本発明の実施形態として引用する。図1は、本発明の実施形態であるパワーウィンドウ装置の電気的構成を示したブロック図である。本パワーウィンドウ装置は、本発明における開閉体制御装置の一実施形態を構成している。モータ3は、本発明における電動機の一実施形態を構成している。ロータリエンコーダ4は、本発明における出力手段の一実施形態を構成している。制御部8は、本発明における制御手段の一実施形態を構成している。図2は、操作スイッチの一例を示した概略構成図である。図3は、車両の各窓に設けられる窓開閉機構の一例を示した図である。図4は、図3において窓に物体が挟み込まれた状態を示した図である。窓100は、本発明における開閉体の一実施形態を構成している。上記各図についてはすでに説明済みなので、ここでは重複説明を省略する。
図5は、本発明の実施形態における挟み込み検出ブロックを示した図である。この挟み込み検出ブロックは、制御部8に備わるものである。ここでは、便宜上ハードウェアの回路として図示してあるが、実際には各回路の機能はソフトウェアによって実現される。勿論、ハードウェア回路により挟み込み検出ブロックを構成してもよい。
図5において、周波数検出部81は、図1のロータリエンコーダ4からパルス検出回路5を介して出力されるモータ3の回転駆動状態に応じたパルス信号の周波数を検出する。モータ3の回転速度および窓ガラス101の移動量は、制御部8でパルス信号を計数することにより算出できる。周波数記憶部82は、周波数検出部81で検出した周波数を順次記憶する。差分算出部83は、周波数検出部81から出力される現在の周波数と、周波数記憶部82に記憶された過去の周波数との差分を該周波数の変化量として算出する。振動閾値変更部84は、差分算出部83で算出された差分に基づいて、予め設定されて記憶された上限振動閾値および下限振動閾値を変更する。挟み込み閾値変更部85は、差分算出部83で算出された差分と振動閾値変更部84で変更された上限振動閾値および下限振動閾値とを比較した結果に基づいて、外乱による振動の有無を判断して、予め設定されて記憶された挟み込み閾値を変更する。挟み込み判定部86は、差分算出部83で算出された差分と挟み込み閾値変更部85から出力される未変更または変更後の挟み込み閾値とを比較した結果に基づいて、図4で示した窓100への物体Zの挟み込みの有無を判定し、該判定結果に応じた制御信号を図1のモータ駆動回路2へ出力する。上記上限振動閾値および下限振動閾値は、窓100の閉動作中に、モータ3の回転駆動状態に応じたパルス信号の周波数の変化量が、外乱の影響を受けて振動しているか否かを判断するための値である。上記挟み込み閾値は、窓100の閉動作中に、モータ3の回転駆動状態に応じたパルス信号の周波数の変化量が、窓100への物体Zの挟み込みにより急激に変化しているか否かを判断するための値である。
周波数検出部81は、本発明における検出手段の一実施形態を構成している。周波数記憶部82は、本発明における記憶手段の一実施形態を構成している。差分算出部83は、本発明における算出手段の一実施形態を構成している。振動閾値変更部84は、本発明における第2の変更手段の一実施形態を構成している。挟み込み閾値変更部85は、本発明における第1の変更手段の一実施形態を構成している。挟み込み判定部86は、本発明における判定手段の一実施形態を構成している。
図6は、パワーウィンドウ装置の基本的な動作を示したフローチャートである。各処理は、制御部8が実行する。ステップS1で図2の操作スイッチ1がマニュアル閉MCの位置にあれば(ステップS1:YES)、マニュアル閉動作の処理が行われ(ステップS2)、ステップS3で操作スイッチ1がオート閉ACの位置にあれば(ステップS3:YES)、オート閉動作の処理が行われ(ステップS4)、ステップS5で操作スイッチ1がマニュアル開MOの位置にあれば(ステップS5:YES)、マニュアル開動作の処理が行われ(ステップS6)、ステップS7で操作スイッチ1がオート開AOの位置にあれば(ステップS7:YES)、オート開動作の処理が行われる(ステップS8)。また、ステップS7で操作スイッチ1がオート開AOの位置になければ(ステップS7:NO)、操作スイッチ1は中立Nの位置にあって、何も処理を行わない。ステップS2、S4、S6、S8の詳細については、以下に順を追って説明する。
図7は、図6のステップS2、後述する図9のステップS58、および図10のステップS65におけるマニュアル閉動作の詳細手順を示したフローチャートである。各手順は、制御部8を構成するCPUにより実行される。後述するフローチャートについても同様である。最初に、マニュアル閉動作により窓100が完全に閉じたか否かをロータリエンコーダ4の出力に基づいて判定する(ステップS11)。窓100が完全に閉じれば(ステップS11:YES)、処理を終了し、完全に閉じてなければ(ステップS11:NO)、モータ駆動回路2から正転信号を出力してモータ3を正転させ、窓100を閉じる(ステップS12)。続いて、窓100が完全に閉じたか否かを判定し(ステップS13)、完全に閉じれば(ステップS13:YES)、処理を終了する。これに対して、窓100が完全に閉じてなければ(ステップS13:NO)、窓100への物体Zの挟み込みの発生を検出する挟み込み検出処理を行う(ステップS14)。この処理の詳細については後述する。
ステップS14の処理の結果、窓100への物体Zの挟み込みの発生が有れば(ステップS15:YES)、モータ駆動回路2から逆転信号を出力してモータ3を逆転させ、窓100を開く(ステップS16)。これによって、挟み込みが解除される。そして、窓100が完全に開いたか否かを判定し(ステップS17)、完全に開けば(ステップS17:YES)処理を終了し、完全に開いてなければ(ステップS17:NO)、ステップS16へ戻ってモータ3の逆転を継続する。
一方、ステップS14の処理の結果、窓100への物体Zの挟み込みの発生が無ければ(ステップS15:NO)、窓100への物体Zの挟み込みは発生していないので、ステップS18で操作スイッチ1がマニュアル閉MCの位置にあるか否かを判定する。操作スイッチ1がマニュアル閉MCの位置にあれば(ステップS18:YES)、ステップS12へ戻ってモータ3の正転を継続する。対して、操作スイッチ1がマニュアル閉MCの位置になければ(ステップS18:NO)、オート閉ACの位置にあるか否かを判定する(ステップS19)。操作スイッチ1がオート閉ACの位置にあれば(ステップS19:YES)、後述のオート閉処理に移り(ステップS20)、オート閉ACの位置になければ(ステップS19:NO)、マニュアル開MOの位置にあるか否かを判定する(ステップS21)。操作スイッチ1がマニュアル開MOの位置にあれば(ステップS21:YES)、後述のマニュアル開処理に移り(ステップS22)、マニュアル開MOの位置になければ(ステップS21:NO)、オート開AOの位置にあるか否かを判定する(ステップS23)。操作スイッチ1がオート開AOの位置にあれば(ステップS23:YES)、後述のオート開処理に移り(ステップS24)、操作スイッチ1がオート開AOの位置になければ(ステップS23:NO)、何も処理せずに終了する。
図8は、図6のステップS4、図7のステップS20、後述する図9のステップS60、および図10のステップS67におけるオート閉動作の詳細手順を示したフローチャートである。最初に、オート閉動作により窓100が完全に閉じたか否かをロータリエンコーダ4の出力に基づいて判定する(ステップS31)。窓100が完全に閉じれば(ステップS31:YES)、処理を終了し、完全に閉じてなければ(ステップS31:NO)、モータ駆動回路2へ正転信号を出力してモータ3を正転させ、窓100を閉じる(ステップS32)。続いて、窓100が完全に閉じたか否かを判定し(ステップS33)、完全に閉じれば(ステップS33:YES)、処理を終了する。これに対して、窓100が完全に閉じてなければ(ステップS33:NO)、窓100への物体Zの挟み込みの発生を検出する挟み込み検出処理を行う(ステップS34)。この処理の詳細についても後述する。
ステップS34の処理の結果、窓100への物体Zの挟み込みの発生が有れば(ステップS35:YES)、モータ駆動回路2から逆転信号を出力してモータ3を逆転させ、窓100を開く(ステップS36)。これによって、挟み込みが解除される。そして、窓100が完全に開いたか否かを判定し(ステップS37)、完全に開けば(ステップS37:YES)処理を終了し、完全に開いてなければ(ステップS37:NO)、ステップS36へ戻ってモータ3の逆転を継続する。
一方、ステップS34の処理の結果、窓100への物体Zの挟み込みの発生が無ければ(ステップS35:NO)、ステップS38で操作スイッチ1がマニュアル開MOの位置にあるか否かを判定する。操作スイッチ1がマニュアル開MOの位置にあれば(ステップS38:YES)、後述のマニュアル開処理に移り(ステップS39)、マニュアル開MOの位置になければ(ステップS38:NO)、オート開AOの位置にあるか否かを判定する(ステップS40)。操作スイッチ1がオート開AOの位置にあれば(ステップS40:YES)、後述のオート開処理に移り(ステップS41)、操作スイッチ1がオート開AOの位置になければ(ステップS40:NO)、ステップS32へ戻ってモータ3の正転を継続する。
図9は、図6のステップS6、図7のステップS22、および図8のステップS39におけるマニュアル開処理の詳細手順を示したフローチャートである。本図は、本発明の特徴とするところではないが、以下に一通り説明しておく。最初に、マニュアル開動作により窓100が完全に開いたか否かをロータリエンコーダ4の出力に基づいて判定する(ステップS51)。窓100が完全に開けば(ステップS51:YES)、処理を終了し、完全に開いてなければ(ステップS51:NO)、モータ駆動回路2から逆転信号を出力してモータ3を逆転させ、窓100を開ける(ステップS52)。続いて、窓100が完全に開いたか否かを判定し(ステップS53)、完全に開けば(ステップS53:YES)、処理を終了し、完全に開いてなければ(ステップS53:NO)、操作スイッチ1がマニュアル開MOの位置にあるか否かを判定する(ステップS54)。操作スイッチ1がマニュアル開MOの位置にあれば(ステップS54:YES)、ステップS52へ戻ってモータ3の逆転を継続し、マニュアル開MOの位置になければ(ステップS54:NO)、オート開AOの位置にあるか否かを判定する(ステップS55)。操作スイッチ1がオート開AOの位置にあれば(ステップS55:YES)、後述のオート開処理に移り(ステップS56)、オート開AOの位置になければ(ステップS55:NO)、マニュアル閉MCの位置にあるか否かを判定する(ステップS57)。操作スイッチ1がマニュアル閉MCの位置にあれば(ステップS57:YES)、前述のマニュアル閉処理に移り(ステップS58)、マニュアル閉MCの位置になければ(ステップS57:NO)、オート閉ACの位置にあるか否かを判定する(ステップS59)。操作スイッチ1がオート閉ACの位置にあれば(ステップS59:YES)、前述のオート閉処理に移り(ステップS60)、操作スイッチ1がオート閉ACの位置になければ(ステップS59:NO)、何も処理せずに終了する。
図10は、図6のステップS8、図7のステップS24、図8のステップS41、および図9のステップS56におけるオート開処理の詳細手順を示したフローチャートである。本図も、本発明の特徴とするところではないが、以下に一通り説明しておく。最初に、オート開動作により窓100が完全に開いたか否かをロータリエンコーダ4の出力に基づいて判定する(ステップS61)。窓100が完全に開けば(ステップS61:YES)、処理を終了し、完全に開いてなければ(ステップS61:NO)、モータ駆動回路2から逆転信号を出力してモータ3を逆転させ、窓100を開ける(ステップS62)。続いて、窓100が完全に開いたか否かを判定し(ステップS63)、完全に開けば(ステップS63:YES)処理を終了し、完全に開いてなければ(ステップS63:NO)、操作スイッチ1がマニュアル閉MCの位置にあるか否かを判定する(ステップS64)。操作スイッチ1がマニュアル閉MCの位置にあれば(ステップS64:YES)、前述のマニュアル閉処理に移り(ステップS65)、マニュアル閉MCの位置になければ(ステップS64:NO)、オート閉ACの位置にあるか否かを判定する(ステップS66)。操作スイッチ1がオート閉ACの位置にあれば(ステップS66:YES)、前述のオート閉処理に移り(ステップS67)、操作スイッチ1がオート閉ACの位置になければ(ステップS66:NO)、ステップS62へ戻って、モータ3の逆転を継続する。
図11は、第1実施形態における図7のステップS14および図8のステップS34の挟み込み検出処理の詳細手順を示したフローチャートである。図11において、先ず、図5の周波数検出部81により現在のモータ3の回転駆動状態に応じたパルス信号の周波数f(n)を検出して、周波数記憶部82に記憶する(ステップS71)。次に、現在の周波数f(n)の所定回数前に検出した過去の周波数f(n−z)を周波数記憶部82から読み出す(ステップS72)。次に、差分算出部83により現在の周波数f(n)と過去の周波数f(n−z)の差分Δf(n)(=f(n−z)−f(n))を算出する(ステップS73)。次に、挟み込み閾値変更部85により、差分Δf(n)と現在設定されている振動閾値S1(n)、S2(n)とを比較して、差分Δf(n)が上限振動閾値S1(n)より小さく、かつ下限振動閾値S2(n)より大きいか否かを判定する(ステップS74)。振動閾値S1、S2の初期値S1(0)、S2(0)は、例えば+所定値X、−所定値Xに予め設定されている。所定値Xは、例えば窓100に物体Zを挟み込んだ時におけるパルス信号の単位周期あたりの最大周波数差分の変化量(実験またはシミュレーションで取得)と同値になっている。振動閾値S1、S2は、後述するようにステップS82で変更される。
窓100の閉動作中に外乱が作用していない場合は、パルス信号の周波数があまり変動しないので、差分Δf(n)が上限振動閾値S1(n)より小さくなり、かつ下限振動閾値S2(n)より大きくなる(ステップS74:YES)。こうなると、外乱による振動が発生していない(無し)と判断して(ステップS75)、挟み込み閾値D(n)を変更せずに、現在設定されている値D(n)のままにしておく。対して、窓100の閉動作中に、車両が悪路を走行したり、窓100を設置したドアが強く閉められたりして、振動や衝撃等の外乱が作用している場合は、パルス信号の周波数が大きく変動するので、差分Δf(n)が上限振動閾値S1(n)以上または下限振動閾値S2(n)以下になる(ステップS74:NO)。こうなると、外乱による振動が発生した(有り)と判断し(ステップS76)、現在の挟み込み閾値D(n)が初期値D(0)のままであれば(ステップS77:YES)、挟み込み閾値D(n)を初期値D(0)に所定量Yを加算した外乱作用時の値D(0)+Yに変更する(ステップS78)。また、挟み込み閾値D(n)が既に外乱作用時の値D(0)+Yに変更されていて、初期値D(0)でなければ(ステップS77:NO)、挟み込み閾値D(n)をさらに変更せず、現在設定されている変更後の値D(0)+Yのままにしておく。所定値Yは、例えば窓100に物体Zを挟み込んでいない状態で、悪路走行時またはドア強閉時の外乱による振動が発生した時におけるパルス信号の最大周波数差分(実験またはシミュレーションで取得)以上の値にする。
そして次に、挟み込み判定部86により差分Δf(n)と現在の挟み込み閾値D(n)とを比較して、差分Δf(n)が該挟み込み閾値D(n)より大きいか否かを判定する(ステップS79)。このとき、挟み込み閾値D(n)を未だ変更していなければ、差分Δf(n)と初期値D(0)とを比較する。また、挟み込み閾値D(n)を既に変更していれば、差分Δf(n)と変更後の値D(0)+Yとを比較する。ここで、差分Δf(n)が挟み込み閾値D(n)以下であれば(ステップS79:NO)、窓100への物体Zの挟み込みが発生していない(無し)と判断し(ステップS81)、振動閾値変更部84により次回の上限振動閾値S1(n+1)および下限振動閾値S2(n+1)を変更する(ステップS82)。このとき、振動閾値変更部84は、差分Δf(n)に対して、所定量Xを加算した値を次回の上限振動閾値S1(n+1)とし、かつ所定量Xを減算した値を次回の下限振動閾値S2(n+1)とする。振動閾値S1(n+1)、S2(n+1)の変更後、挟み込み検出処理を終了する。このとき、挟み込み閾値D(n)は、現在設定された値のまま維持される。この後、図7のステップS15または図8のステップS35へ移行して、窓100への物体Zの挟み込みの発生が無かったため(ステップS15:NOまたはステップS35:NO)、モータ3の正転を継続する。そして、操作スイッチ1がマニュアル閉MCの位置にあるか否かを判定して(ステップS18またはステップS38)、前述したように以降の処理を実行する。その後、図7のステップS14または図8のステップS34で挟み込み検出処理を再び開始した場合は、前回の図11のステップS82で変更した上限振動閾値S1(n+1)および下限振動閾値S2(n+1)が、今回のステップS74の上限振動閾値S1(n)および下限振動閾値S2(n)となり、今回のステップS73で算出された差分Δf(n)と比較される。
一方、図11のステップS79で、差分Δf(n)が挟み込み閾値D(n)より大きければ(ステップS79:YES)、窓100への物体Zの挟み込みが発生した(有り)と判断して(ステップS80)、挟み込み閾値D(n)を初期化、即ち初期値D(0)に戻し(ステップS83)、挟み込み検出処理を終了する。この後、図7のステップS15または図8のステップS35へ移行して、窓100への物体Zの挟み込みの発生が有ったため(ステップS15:YESまたはステップS35:YES)、モータ3を逆転させて、窓100を開き(ステップS16またはステップS36)、前述したように以降の処理を実行する。
図12は、第2実施形態における図7のステップS14および図8のステップS34の挟み込み検出処理の詳細手順を示したフローチャートである。図中、図11と同一処理については同一符号を付してある。第1実施形態では、ステップS74の判定結果に基づいて一旦変更した挟み込み閾値D(n)を、窓100への物体Zの挟み込みを検出しない限りずっと維持するが、第2実施形態では、毎回ステップS74の判定結果に基づいて挟み込み閾値D(n)を変更しまたは初期値D(0)のまま維持し、挟み込み検出処理の終了時に毎回初期化する。つまり、図12において、前述したようにステップS71〜S73を実行した後、ステップS74で差分Δf(n)が上限振動閾値S1(n)より小さくなり、かつ下限振動閾値S2(n)より大きくなれば(ステップS74:YES)、外乱による振動が発生していないと判断して(ステップS75)、挟み込み閾値D(n)を初期値D(0)のままにしておく。
また、ステップS74で差分Δf(n)が上限振動閾値S1(n)以上または下限振動閾値S2(n)以下になれば(ステップS74:NO)、外乱による振動が発生したと判断して(ステップS76)、挟み込み閾値D(n)を初期値D(0)に所定量Yを加算した値D(0)+Yへ変更する(ステップS78)。そして、ステップS79で差分Δf(n)が挟み込み閾値D(n)より大きければ(ステップS79:YES)、挟み込みが発生したと判断し(ステップS80)、挟み込み閾値D(n)を初期化して(ステップS83)、挟み込み検出処理を終了する。また、ステップS79で差分Δf(n)が挟み込み閾値D(n)以下であれば(ステップS79:NO)、挟み込みが発生していないと判断して(ステップS81)、次回の振動閾値S1(n+1)、S2(n+1)を変更し(ステップS82)、挟み込み閾値D(n)を初期化して(ステップS83)、挟み込み検出処理を終了する。
図13は、第3実施形態における図7のステップS14および図8のステップS34の挟み込み検出処理の詳細手順を示したフローチャートである。図中、図11および図12と同一処理については同一符号を付してある。第3実施形態では、ステップS74の判定結果に基づいて一旦変更した挟み込み閾値D(n)を、窓100への物体Zの挟み込みを検出しない限り、挟み込み閾値D(n)を変更してから窓ガラス101が所定距離移動するまでの間維持する。つまり、図13において、前述したようにステップS71〜S73を実行した後、ステップS74で差分Δf(n)が上限振動閾値S1(n)以上または下限振動閾値S2(n)以下であれば(ステップS74:NO)、外乱による振動が発生したと判断して(ステップS76)、制御部8に備わるカウンタの値を所定値m(m>0)にする(ステップS84)。
また、ステップS74で差分Δf(n)が上限振動閾値S1(n)より小さくなり、かつ下限振動閾値S2(n)より大きくなれば(ステップS74:YES)、外乱による振動が発生していないと判断して(ステップS75)、現在のカウンタの値から1を減算する(ステップS85)。次に、カウンタの値が0より小さければ(ステップS86:YES)、カウンタの値を0にし(ステップS87)、カウンタの値が0以上であれば(ステップS86:NO)、そのままにしておく。そして、ステップS88でカウンタの値が0より大きければ(ステップS88:YES)、挟み込み閾値D(n)を初期値D(0)に所定量Yを加算した値D(0)+Yへ変更する(ステップS78)。また、ステップS88でカウンタの値が0以下であれば(ステップS88:NO)、挟み込み閾値D(n)を初期値D(0)のままにしておく。そして、ステップS79で差分Δf(n)が挟み込み閾値D(n)より大きければ(ステップS79:YES)、挟み込みが発生したと判断し(ステップS80)、挟み込み閾値D(n)を初期化して(ステップS83)、挟み込み検出処理を終了する。また、ステップS79で差分Δf(n)が挟み込み閾値D(n)以下であれば(ステップS79:NO)、挟み込みが発生していないと判断して(ステップS81)、次回の振動閾値S1(n+1)、S2(n+1)を変更し(ステップS82)、挟み込み閾値D(n)を初期化して(ステップS83)、挟み込み検出処理を終了する。
図14は、第4実施形態における図7のステップS14および図8のステップS34の挟み込み検出処理の詳細手順を示したフローチャートである。図中、図11〜図13と同一処理については同一符号を付してある。第4実施形態では、ステップS74の判定結果に基づいて一旦変更した挟み込み閾値D(n)を、窓100への物体Zの挟み込みを検出しない限り、挟み込み閾値D(n)を変更してから所定時間経過するまでの間維持する。つまり、図14において、前述したようにステップS71〜S73を実行した後、ステップS74で差分Δf(n)が上限振動閾値S1(n)以上または下限振動閾値S2(n)以下であれば(ステップS74:NO)、外乱による振動が発生したと判断して(ステップS76)、制御部8に備わるタイマを初期化、即ちタイマの値を0にし(ステップS89)、該タイマによる時間の計測を開始する(ステップS90)。また、ステップS74で差分Δf(n)が上限振動閾値S1(n)より小さくなり、かつ下限振動閾値S2(n)より大きくなれば(ステップS74:YES)、外乱による振動が発生していないと判断して(ステップS75)、タイマによる時間の計測を停止中か否かを判定する(ステップS91)。
ステップS90でタイマによる時間の計測を開始した後、またはステップS91でタイマによる時間の計測が停止中でないと判定した後(ステップS91:NO)、タイマの計測値が所定時間T(T>0)より小さければ(ステップS92:YES)、挟み込み閾値D(n)を初期値D(0)に所定量Yを加算した値D(0)+Yへ変更する(ステップS78)。また、ステップS92でタイマの計測値が所定時間T以上であれば(ステップS92:NO)、タイマによる時間の計測を停止し(ステップS93)、挟み込み閾値D(n)を初期値D(0)のままにしておく。そして、ステップS79で差分Δf(n)が挟み込み閾値D(n)より大きければ(ステップS79:YES)、挟み込みが発生したと判断し(ステップS80)、挟み込み閾値D(n)を初期化して(ステップS83)、挟み込み検出処理を終了する。また、ステップS79で差分Δf(n)が挟み込み閾値D(n)以下であれば(ステップS79:NO)、挟み込みが発生していないと判断して(ステップS81)、次回の振動閾値S1(n+1)、S2(n+1)を変更し(ステップS82)、挟み込み閾値D(n)を初期化して(ステップS83)、挟み込み検出処理を終了する。
図15は、上述した第1〜第4実施形態の挟み込み検出処理を実行するための変数を初期化する挟み込み検出処理用変数初期化処理の手順を示したフローチャートである。各処理は、制御部8が実行する。図15において、車両のイグニッションスイッチがオンされると(ステップS101:YES)、挟み込み検出処理用変数、即ち挟み込み閾値D(n)、振動閾値S1(n)、S2(n)、カウンタの値、またはタイマの値をそれぞれ初期化する(ステップS102)。つまり、挟み込み閾値D(n)を初期値D(0)にし、振動閾値S1(n)、S2(n)を初期値S1(0)、S2(0)にし、カウンタの値を0にし、タイマの値を0にする。この後、図6のフローチャートに従ってパワーウィンドウ装置の基本動作が実行され(ステップS103)、イグニッションスイッチがオフされると(ステップS104:YES)、変数初期化処理を終了する。
図16は、窓100の閉動作中に外乱が作用しなかった場合のモータ3の回転駆動状態に応じたパルス信号の周波数fの変化状態を示した図である。図17は、窓100の閉動作中にドアの強閉による外乱が作用した場合の周波数fの変化状態を示した図である。図18は、図17の破線で囲うドア強閉時前後の周波数f、周波数fの差分Δf、第1〜第3実施形態の挟み込み閾値D1〜D3、および振動閾値S1、S2の変化状態を示した図である。図19は、窓100の閉動作中に車両の悪路走行による外乱が作用した場合の周波数fの変化状態を示した図である。各図において、縦軸には周波数を示し、横軸にはパルス信号を計数して算出する窓ガラス101の移動量(閉まる方向への移動距離)を示している。
窓100の閉動作中に外乱が作用しなかった場合は、図16に示すようにパルス信号の周波数fが大きく振動することなく推移して行く。この場合、毎回、図11〜図14のステップS74で現在のパルス信号の周波数f(n)の差分Δf(n)が上限振動閾値S1(n)より小さくかつ下限振動閾値S2(n)より大きくなり(ステップS74:YES)、外乱による振動が発生していないと判断され(ステップS75)、挟み込み閾値D(n)が初期値D(0)から変更されることはない。そして、差分Δf(n)が挟み込み閾値の初期値D(0)と比較されて、該初期値D(0)以下と判定され(ステップS79:NO)、挟み込みが発生していないと判断される(ステップS81)。
窓100の閉動作中に窓100を設置したドアが強く閉められたことによる外乱が作用した場合は、図17および図18に示すようにパルス信号の周波数fが一時的に大きく振動する。この場合、図11〜図14のステップS74で差分Δf(n)が上限振動閾値S1(n)以上または下限振動閾値S2(n)以下となり(ステップS74:NO)、外乱による振動が発生したと判断され(ステップS75)、挟み込み閾値D(n)が変更される(ステップS78)ことがある。具体的には、図11の第1実施形態によると、例えば図18に太い実線で示すように挟み込み閾値D1が、差分Δfの振動閾値S1、S2(前回の差分Δf±3Hz)に対する到達または超越により、一旦初期値(7Hz)から該初期値に所定量(8Hz)を加算した外乱作用時の閾値(15Hz)に変更された後、挟み込みが検出されない限りずっと外乱作用時の閾値(15Hz)に維持される。図12の第2実施形態によると、例えば図18に細い一点鎖線で示すように挟み込み閾値D2が、毎回の差分Δfと振動閾値S1、S2との比較結果に基づいて、初期値(7Hz)から外乱作用時の閾値(15Hz)に変更されたりされなかったりする。図13の第3実施形態によると、例えば図18に中ぐらいの太さの点線で示すように挟み込み閾値D3が、差分Δfの振動閾値S1、S2に対する到達時または超越時より窓ガラス101が所定距離(7mm)移動するまでの間、初期値(7Hz)から外乱作用時の閾値(15Hz)に変更されて維持される。図14の第4実施形態によると、例えば図18に細い破線で示すように挟み込み閾値D4が、差分Δfの振動閾値S1、S2に対する到達時または超越時より所定時間経過するまでの間、初期値(7Hz)から外乱作用時の閾値(15Hz)に変更されて維持される。そしてその後、図11〜図14のステップS79で差分Δf(n)が未変更または変更後の挟み込み閾値D(n)と比較されて、該挟み込み閾値D(n)以下と判定され(ステップS79:NO)、挟み込みが発生していないと判断される(ステップS81)。
窓100の閉動作中に車両が悪路を走行していたことによる外乱が窓100に作用した場合は、図19に示すようにパルス信号の周波数fが大きく振動し続けて推移して行く。この場合、上述したように、図11〜図14のステップS74で差分Δf(n)が上限振動閾値S1(n)以上または下限振動閾値S2(n)以下となり(ステップS74:NO)、外乱による振動が発生したと判断され(ステップS75)、挟み込み閾値D(n)が変更される(ステップS78)ことがある。そして、図11〜図14のステップS79で差分Δf(n)が未変更または変更後の挟み込み閾値D(n)と比較されて、該挟み込み閾値D(n)以下と判定され(ステップS79:NO)、挟み込みが発生していないと判断される(ステップS81)。
以上によると、上限振動閾値S1および下限振動閾値S2を実際のモータ3の回転駆動状態に応じたパルス信号の周波数fの変化に応じて随時変更することができる。特に、特許文献2のようにフーリエ変換等の複雑な演算を行わなくても、現在の周波数f(n)の変化に応じて、次回の上限振動閾値S1(n+1)および下限振動閾値S2(n+1)を随時容易に変更することができる。そして、次回において、周波数f(n)の差分Δf(n)と上限振動閾値S1(n)および下限振動閾値S2(n)との比較結果に基づいて、窓100に作用した外乱による振動の有無を正確かつ容易に判断することが可能となる。さらに、外乱による振動が発生したと判断して、挟み込み閾値D(n)を外乱作用時の閾値(初期値D(0)+所定値Y)に変更し、該挟み込み閾値D(n)と差分Δf(n)との比較結果に基づいて、窓100への異物Zの挟み込みの有無を正確かつ容易に判断することが可能となる。
また、図11の第1実施形態によると、振動閾値S1(n)、S2(n)と差分Δf(n)との比較結果に基づいて、外乱による振動が有ると判断して、挟み込み閾値D(n)を変更した後、挟み込みが検出されない限りずっと、変更後の挟み込み閾値D(n)を維持して、該外乱に留意するので、以降変更後の挟み込み閾値D(n)と差分Δf(n)との比較結果に基づいて異物Zの挟み込みの有無を正確に判断することが可能となる。また、図13の第3実施形態または図14の第4実施形態によると、外乱による振動が発生したと判断して、挟み込み閾値D(n)を変更した後、挟み込みが検出されない限り、窓ガラス101の所定移動量または所定時間にわたって、変更後の挟み込み閾値D(n)を維持して、該外乱に留意するので、該所定移動量または所定時間にわたって変更後の挟み込み閾値D(n)と差分Δf(n)との比較結果に基づいて異物Zの挟み込みの有無を正確に判断することが可能となる。特に、外乱により周波数f(n)が大きく変化し続けた場合に、異物Zが挟み込まれたと誤判断するのを上記所定移動量または所定時間にわたって確実に防止することが可能となる。さらに、第3実施形態、第4実施形態、または図12の第2実施形態によると、変更した挟み込み閾値D(n)をその後初期値D(0)に戻すので、外乱が作用しなくなったときに、該挟み込み閾値D(0)と差分Δf(n)との比較結果に基づいて、異物Zの挟み込みの発生を素早く判断することが可能となる。
本発明は、以上述べた実施形態以外にも種々の形態を採用することができる。例えば、以上の実施形態では、現在のパルス信号の周波数f(n)と過去のパルス信号の周波数f(n−z)とから算出した今回の差分Δf(n)に対して、所定量加算または減算した値を、次回の上限振動閾値S1(n+1)または下限振動閾値S2(n+1)とした例を挙げたが、本発明はこれのみに限定するものではなく、これ以外に、今回の差分Δf(n)に対して所定量加算または減算した値を、同じ今回の上限振動閾値S1(n)または下限振動閾値S2(n)としたり、2回以上先の上限振動閾値S1(n+w)または下限振動閾値S2(n+w)としたりするようにしてもよい(w≧2)。
また、以上述べた実施形態では、本発明を車両のドアの窓を開閉制御するパワーウィンドウ装置に適用した場合を例に挙げたが、本発明はこれ以外にも、車両の天井のサンルーフ、車両の後部扉、建物の窓、建物の扉・戸など各種の開閉体を開閉制御する装置に適用することができる。