以下、本発明の実施形態につき図を参照して説明する。以下では、背景技術の項で説明した図1〜図4を本発明の実施形態として引用する。図1は、本発明の実施形態であるパワーウィンドウ装置の電気的構成を示したブロック図である。本パワーウィンドウ装置は、車両の窓の開閉を制御する開閉制御装置であって、本発明における電動機制御装置の一実施形態を構成している。モータ3は、本発明における電動機の一実施形態を構成し、制御部8は、本発明における制御手段の一実施形態を構成している。図2は、操作スイッチの一例を示した概略構成図である。図3は、車両の各窓に設けられる窓開閉機構の一例を示した図である。図4は、図3において窓に物体が挟み込まれた状態を示した図である。これらの各図についてはすでに説明済みなので、ここでは重複説明を省略する。
図5は、本発明の第1実施形態における回転異常検出ブロックを示した図である。この回転異常検出ブロックは、制御部8に備わるものであって、ここでは、81、83、85、87〜89の各ブロックを便宜上ハードウェアの回路として図示してあるが、実際にはこれらの回路の機能はソフトウェアによって実現される。勿論、ハードウェア回路によりこれらのブロックを構成してもよい。また、82、84、86の各ブロックは、制御部8のメモリの領域として確保してもよい。
図5において、回転速度検出部81は、図1のパルス検出回路5から出力されるパルスの数を計数することによって、モータ3の回転速度を所定の周期で検出する。回転速度記憶部82は、回転速度検出部81で検出した回転速度を、図1のメモリ6の所定領域に順次記憶する。つまり、回転速度記憶部82には、所定の周期で検出した複数の回転速度が順番に記憶される。1回変化量算出部83は、回転速度検出部81から出力される現在の回転速度と、回転速度記憶部82に記憶されている過去の回転速度とから回転速度の変化量を1回変化量として算出する。1回変化量記憶部84は、1回変化量算出部83で算出した1回変化量を順次記憶する。つまり、1回変化量記憶部84には、所定の周期で算出した複数の1回変化量が順番に記憶される。2回変化量算出部85は、1回変化量算出部83から出力される現在の1回変化量と、回転速度記憶部82に記憶されている過去の1回変化量とから回転速度の変化量の変化量を2回変化量として算出する。2回変化量記憶部86は、2回変化量算出部85で算出した2回変化量を順次記憶する。つまり、2回変化量記憶部86には、所定の周期で算出した複数の2回変化量が順番に記憶される。閾値変更部87は、予め設定されてメモリ6の所定領域に記憶されている所定の閾値を、1回変化量記憶部84に記憶されている1回変化量と2回変化量記憶部86に記憶されている2回変化量とに基づいて後述するように変更する。変化量・閾値比較部88は、1回変化量算出部83から出力される1回変化量と、閾値変更部87から出力される未変更または変更後の閾値とを比較する。回転異常判定部89は、変化量・閾値比較部88での比較結果に基づいて、図4で示したような窓100に物体Zを挟み込んだことにより発生するモータ3の回転異常の有無を判定し、該判定結果に応じた制御信号を図1のモータ駆動回路2へ出力する。
回転速度検出部81は、ロータリエンコーダ4およびパルス検出回路5とともに、本発明における検出手段の一実施形態を構成している。回転速度記憶部82は、本発明における第1の記憶手段の一実施形態を構成している。1回変化量算出部83は、本発明における第1の算出手段の一実施形態を構成している。1回変化量記憶部84は、本発明における第2の記憶手段の一実施形態を構成している。2回変化量算出部85は、本発明における第2の算出手段の一実施形態を構成している。2回変化量記憶部86は、本発明における第3の記憶手段の一実施形態を構成している。閾値変更部87は、本発明における閾値変更手段の一実施形態を構成している。変化量・閾値比較部88は、本発明における比較手段の一実施形態を構成している。回転異常判定部89は、本発明における判定手段の一実施形態を構成している。
図6は、パワーウィンドウ装置の基本的な動作を示したフローチャートである。ステップS1で、図2の操作スイッチ1がマニュアル閉MCの位置にあれば、マニュアル閉動作の処理が行われ(ステップS2)、ステップS3で、操作スイッチ1がオート閉ACの位置にあれば、オート閉動作の処理が行われ(ステップS4)、ステップS5で、操作スイッチ1がマニュアル開MOの位置にあれば、マニュアル開動作の処理が行われ(ステップS6)、ステップS7で、操作スイッチ1がオート開AOの位置にあれば、オート開動作の処理が行われる(ステップS8)。また、ステップS7で、操作スイッチ1がオート開AOの位置になければ、操作スイッチ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)、モータ3の回転状態検出処理を行う(ステップS14)。この処理の詳細については後述する。
ステップS14の処理を終了すると、図1の制御部8のメモリまたはメモリ6の所定領域に設けられている変化量・閾値比較フラグが「1」になっているか否かを判定する(ステップS15)。この変化量・閾値比較フラグは、ステップS14の処理中で後述するように閾値と1回変化量とを比較した結果を示していて、1回変化量が閾値に達している場合は「1」、1回変化量が閾値に達していない場合は「0」となる。ここで、変化量・閾値比較フラグが「1」になっていると(ステップS15:YES)、続いて、制御部8のメモリまたはメモリ6の所定領域に設けられている変更条件フラグが「0」になっているか否かを判定する(ステップS16)。この変更条件フラグは、ステップS14の処理中で後述するように1回変化量と2回変化量が所定の条件を満たしているか否かの判定結果を示していて、所定の条件を満たしている場合は「1」、満たしていない場合は「0」となる。ここで、変更条件フラグが「0」になっていると(ステップS16:YES)、図4で示したような窓100への物体Zの挟み込みによるモータ3の回転異常が発生したと判断する(ステップS17)。そして、モータ駆動回路2から逆転信号を出力してモータ3を逆転させ、窓100を開く(ステップS18)。これによって、挟み込みが解除される。そして、窓100が完全に開いたか否かを判定し(ステップS19)、完全に開けば(ステップS19:YES)処理を終了し、完全に開いてなければ(ステップS19:NO)、ステップS18へ戻ってモータ3の逆転を継続する。
一方、ステップS15で1回変化量・閾値比較フラグが「0」になっている場合(ステップS15:NO)や、ステップS16で変更条件フラグが「1」になっている場合(ステップS16:NO)は、窓100への物体Zの挟み込みによるモータ3の回転異常が発生していないと判断する(ステップS20)。そして、モータ駆動回路2からモータ3の反転と停止を禁止する信号を出力し、モータ3の正転をそのまま継続させる(ステップS21)。本例では、上述したように挟み込みによるモータ3の回転異常が発生したと判断した後に、モータ3を逆転させているので、ステップS21ではモータ駆動回路2からモータ3へ反転のみ禁止する信号を出力してもよい。他の例として、挟み込みによるモータ3の回転異常が発生したと判断した後に、モータ3を停止させる場合は、ステップS21ではモータ駆動回路2からモータ3へ停止のみ禁止する信号を出力してもよい。
ステップS21の後、操作スイッチ1がマニュアル閉MCの位置にあるか否かを判定し(ステップS22)、操作スイッチ1がマニュアル閉MCの位置にあれば(ステップS22:YES)、ステップS12へ戻ってモータ3の正転を継続し、マニュアル閉MCの位置になければ(ステップS22:NO)、オート閉ACの位置にあるか否かを判定する(ステップS23)。操作スイッチ1がオート閉ACの位置にあれば(ステップS23:YES)、後述のオート閉処理に移り(ステップS24)、オート閉ACの位置になければ(ステップS23:NO)、マニュアル開MOの位置にあるか否かを判定する(ステップS25)。操作スイッチ1がマニュアル開MOの位置にあれば(ステップS25:YES)、後述のマニュアル開処理に移り(ステップS26)、マニュアル開MOの位置になければ(ステップS25:NO)、オート開AOの位置にあるか否かを判定する(ステップS27)。操作スイッチ1がオート開AOの位置にあれば(ステップS27:YES)、後述のオート開処理に移り(ステップS28)、操作スイッチ1がオート開AOの位置になければ(ステップS27:NO)、何も処理せずに終了する。
図8は、図6のステップS4、図7のステップS24、後述する図9のステップS60、および図10のステップS67におけるオート閉動作の詳細手順を示したフローチャートである。最初に、オート閉動作により窓100が完全に閉じたか否かをロータリエンコーダ4の出力に基づいて判定する(ステップS31)。窓100が完全に閉じれば(ステップS31:YES)処理を終了し、完全に閉じてなければ(ステップS31:NO)、モータ駆動回路2へ正転信号を出力してモータ3を正転させ、窓100を閉じる(ステップS32)。続いて、窓100が完全に閉じたか否かを判定し(ステップS33)、完全に閉じれば(ステップS33:YES)処理を終了する。これに対して、窓100が完全に閉じてなければ(ステップS33:NO)、モータ3の回転状態検出処理を行う(ステップS34)。この処理の詳細についても後述する。
ステップS34の処理を終了すると、閾値・1回変化量比較フラグが「1」になっているか否かを判定し(ステップS35)、該フラグが「1」になっていると(ステップS35:YES)、続いて変更条件フラグが「0」になっているか否かを判定し(ステップS36)、該フラグが「0」になっていると(ステップS36:YES)、窓100への物体Zの挟み込みによるモータ3の回転異常が発生したと判断する(ステップS37)。そして、モータ駆動回路2から逆転信号を出力してモータ3を逆転させ、窓100を開く(ステップS38)。これによって、挟み込みが解除される。そして、窓100が完全に開いたか否かを判定し(ステップS39)、完全に開けば(ステップS39:YES)処理を終了し、完全に開いてなければ(ステップS39:NO)、ステップS38へ戻ってモータ3の逆転を継続する。
一方、ステップS35で1回変化量・閾値比較フラグが「0」になっている場合(ステップS35:NO)や、ステップS36で変更条件フラグが「1」になっている場合(ステップS36:NO)は、窓100への物体Zの挟み込みによるモータ3の回転異常が発生していないと判断する(ステップS40)。そして、モータ駆動回路2からモータ3の反転と停止を禁止する信号を出力し、モータ3の正転をそのまま継続させる(ステップS41)。続いて、操作スイッチ1がマニュアル開MOの位置にあれば(ステップS42:YES)、後述のマニュアル開処理に移り(ステップS43)、マニュアル開MOの位置になければ(ステップS42:NO)、オート開AOの位置にあるか否かを判定する(ステップS44)。操作スイッチ1がオート開AOの位置にあれば(ステップS44:YES)、後述のオート開処理に移り(ステップS45)、操作スイッチ1がオート開AOの位置になければ(ステップS44:NO)、ステップS32へ戻ってモータ3の正転を継続する。
図9は、図6のステップS6、図7のステップS26、および図8のステップS43におけるマニュアル開処理の詳細手順を示したフローチャートである。本図は、本発明の特徴とするところではないが、以下に一通り説明しておく。最初に、マニュアル開動作により窓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のステップS28、図8のステップS45、および図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および図12は、第1実施形態における、図7のステップS14、および図8のステップS34のモータ3の回転状態検出処理の詳細手順を示したフローチャートである。なお、図12は、図11の続きのフローチャートである。図11において、最初に、図5の回転速度検出部81によりモータ3の現在の回転速度f(0)を取得し、回転速度記憶部82に記憶する(ステップS71)。次に、現在の回転速度f(0)の所定回数前に検出した過去の回転速度f(x)を回転速度記憶部82から読み出す(ステップS72)。「x」は過去の任意の検出時間である。そして、1回変化量算出部83により現在の回転速度f(0)と過去の回転速度f(x)の差分を1回変化量ΔF1(0)として算出して(ΔF1(0)=f(x)−f(0))、1回変化量記憶部84に記憶する(ステップS73)。さらに引き続き、現在の1回変化量ΔF1(0)の所定回数前に算出した過去の1回変化量ΔF1(y)を1回変化量記憶部84から読み出す(ステップS74)。「y」は過去の任意の検出時間である。上記の「x」と「y」とは、同一時間であってもよいが、好ましくは異なる時間である方がよい。そして、2回変化量算出部85により現在の1回変化量ΔF1(0)と過去の1回変化量ΔF1(y)の差分を2回変化量ΔF2(0)として算出して(ΔF2(0)=ΔF1(0)−ΔF1(y))、2回変化量記憶部86に記憶する(ステップS75)。
図13は、第1実施形態における、窓100の閉動作中の回転速度検出部81から出力されるモータ3の回転速度と、上記のようにして算出した1回変化量および2回変化量の時間的変化を示した図である。縦軸にモータ回転速度、即ち図1のロータリエンコーダ4から出力されるパルスの周波数を示し、横軸に時間、即ち該パルスのエッジのタイミングを示している。黒丸で示しているfはモータ3の生の回転速度、黒四角で示しているΔF1は回転速度fの変化量である1回変化量、黒三角で示しているΔF2は1回変化量ΔF1の変化量である2回変化量、太線で示すSは上述した閾値である。一点鎖線で示すAは1回変化量ΔF1と比較する第1の所定値、二点鎖線で示すBは2回変化量ΔF2と比較する第2の所定値である。第1の所定値Aおよび第2の所定値Bは、予め設定されてメモリ6の所定領域に記憶されている。本第1実施形態では、第1の所定値Aおよび第2の所定値Bを、1回変化量ΔF1が第1の所定値Aに達するかどうかと、2回変化量ΔF2が第2の所定値Bに達するかどうかの結果から、モータ3の回転速度fが一定の減速傾向にあるか否かを判断できるような値にそれぞれ設定している。
図13では、窓100の閉動作が正常に行われた状態、即ち窓100に物体Zを挟み込んだり悪路走行時の振動やドア開閉時の衝撃等の外乱が加わったりしていない状態を示している。後述する図15、図18、および図20も同様に閉動作正常状態を示している。図3に示すXアーム式の窓開閉機構102では、モータ3の駆動により第1アーム104を回動させて窓100を閉じていく際に、第1アーム104が斜め下へ傾いた状態から水平状態に近づくに連れて、てこの原理によりモータ3にかかる負荷が大きくなって、モータ3の回転速度fが図示するように徐々に低下して一定の減速傾向となる。そして、第1アーム104が水平状態から斜め上へ傾いて行くに連れて、てこの原理によりモータ3にかかる負荷が小さくなって、モータ3の回転速度fが図示するように徐々に上昇して一定の加速傾向となる。
変化量ΔF1、ΔF2は、図11で説明したように算出している。詳しくは図13では、1回変化量ΔF1は、左側に矢印で示すように現在より8回前に検出した過去の回転速度fから現在の回転速度fを引いて算出している。2回変化量ΔF2は、ほぼ中央に矢印で示すように現在の1回変化量ΔF1からこの3回前に算出した過去の1回変化量ΔF1を引いて算出している。このように変化量ΔF1、ΔF2を算出するのは、図3のピニオン109の軸ずれ等の構造的要因によりモータ3の回転速度fが脈動しても、該脈動の影響により変化量ΔF1、ΔF2が相殺され難くするためや、回転速度fと変化量ΔF1、ΔF2の加減速傾向をいずれも同様に、即ちいずれも減速中は低下し加速中は上昇するようにして、状態を把握し易くするためである。閾値Sは、「0」より「+」側に比較的離れた値(本例では初期値S(0)を8Hz)に設定している。第1の所定値Aは、「0」より「+」側でかつ閾値より小さい値(本例では3Hz)に設定し、第2の所定値Bは、「0」より「+」側でかつ第1の所定値Aより小さい値(本例では1Hz)に設定している。
図11でステップS75を終了すると、現在の変化量ΔF1(0)、ΔF2(0)の所定回数前の一定区間における1回変化量ΔF1(z)〜ΔF1(z+n)および2回変化量ΔF2(z)〜ΔF1(z+n)をそれぞれ1回変化量記憶部84および2回変化量記憶部86から読み出す(ステップS76)。「z」は過去の任意の算出時間である。「z」と前記の「x」および「y」とは、同一時間であってもよいが、好ましくは異なる時間である方がよい。そして、閾値変更部87で1回変化量ΔF1(z)〜ΔF1(z+n)の全てが所定値A以上であり(所定値Aに達している)、かつ2回変化量ΔF2(z)〜ΔF2(z+n)の全てが所定値B未満である(所定値Bに達していない)か否かを判定する(図12のステップS77)。この条件は、本第1実施形態では閾値Sをアップするためのものである。図13では、現在から3回前の連続する4区間における1回変化量ΔF1の全てが第1の所定値A以上でありかつ2回変化量ΔF2の全てが第2の所定値B未満であることとしている。
図13に示すようにモータ3の回転速度fが一定の減速傾向にある場合は、粗い破線で囲んでいるように現在の3回前の4区間における1回変化量ΔF1の全てが「0」より閾値Sに達し易い「+」側にあって第1の所定値A以上となり、かつ2回変化量ΔF2の全てが「0」付近にあって第2の所定値B未満となるので(図12のステップS77:YES)、変更条件フラグを上記条件が満たされたことを示すように「1」にする(ステップS78)。そして、回転速度fが一定の減速傾向にあると判断して、1回変化量ΔF1が閾値Sに達し難くなるように、閾値Sを初期値S(0)から所定量アップした値S(m)に変更して設定する(ステップS79)。図13では、初期値S(0)から1Hzアップして変更後の閾値S(m)を9Hzにしている。これによって、モータ3の回転異常を誤検知しないための誤検知マージン(閾値Sと1回変化量ΔF1の差分)が大きくなる。
次いで、変化量・閾値比較部88で現在の1回変化量ΔF1(0)と変更後の閾値S(m)とを比較して、1回変化量ΔF1(0)が閾値S(m)以上である(閾値S(m)に達している)か否かを判定する(ステップS80)。ここで、外乱の影響でモータ3の回転速度fが脈動している等により1回変化量ΔF1(0)が閾値S(m)以上になっていると(ステップS80:YES)、変化量・閾値比較フラグを1回変化量ΔF1(0)が閾値S(m)以上であることを示すように「1」にする(ステップS81)。そして、モータ3の回転状態検出処理を終了して、図7のステップS15または図8のステップS35へ移行する。このようにして移行すると、変化量・閾値比較フラグが「1」であり(図7のステップS15:YESまたは図8のステップS35:YES)、変更条件フラグが「1」である(図7のステップS16:NOまたは図8のステップS36:NO)ので、窓100への物体Zの挟み込みによるモータ3の回転異常が発生していないと判断する(図7のステップS20または図8のステップS40)。そして、モータ駆動回路2から反転・停止禁止信号を出力して、モータ3の正転を継続させ(図7のステップS21または図8のステップS41)、前述したように以降の処理を実行する。
上記に対して、図12のステップS80で、1回変化量ΔF1(0)が閾値S(m)未満になっていると(ステップS80:NO)、変化量・閾値比較フラグを1回変化量ΔF1(0)が閾値S(m)未満であることを示すように「0」にする(ステップS85)。そして、モータ3の回転状態検出処理を終了して、図7のステップS15または図8のステップS35へ移行する。このようにして移行すると、変化量・閾値比較フラグが「0」である(図7のステップS15:NOまたは図8のステップS35:NO)ので、窓100への物体Zの挟み込みによるモータ3の回転異常が発生していないと判断する(図7のステップS20または図8のステップS40)。そして、モータ駆動回路2から反転・停止禁止信号を出力して、モータ3の正転を継続させ(図7のステップS21または図8のステップS41)、前述したように以降の処理を実行する。
その後、図13に示すようにモータ3の回転速度fが一定の減速傾向から一定の加速傾向に切り替わった場合は、細かい破線で囲んでいるように現在の3回前の4区間における1回変化量ΔF1の一部が閾値に達し難い「−」側に推移して、第1の所定値A未満となる(図12のステップS77:NO)。さらにこの後、1回変化量ΔF1は図13に示すように「−」側に推移した後「−」側のある値(本例では−4Hz)で飽和する。2回変化量ΔF2の方は、一旦「0」より「−」側に推移した後、また「0」付近に戻って飽和し、第2の所定値B以上になることはない。上記のようにステップS77の条件を満たさなくなると、変更条件フラグを条件が満たされていないことを示すように「0」にする(ステップS82)。そして、回転速度fが一定の減速傾向から変化した(一定の減速傾向を示さなくなった)と判断して、閾値Sを変更値S(m)から初期値S(0)に戻して設定する(ステップS83)。これによって、1回変化量ΔF1の「−」側への推移により大きくなり過ぎたモータ3の回転異常の誤検知マージンが所定量(本例では1Hz)小さくなる。
次いで、変化量・閾値比較部88で現在の1回変化量ΔF1(0)と閾値S(0)とを比較して、1回変化量ΔF1(0)が閾値S(0)以上であるか否かを判定する(ステップS84)。このとき、上記のように1回変化量ΔF1の「−」側への推移によりモータ3の回転異常の誤検知マージンが大きくなっているので、ある程度の外乱があっても、1回変化量ΔF1(0)は閾値S(0)以上になり難い。ステップS84で、1回変化量ΔF1(0)が閾値S(0)未満であれば(ステップS84:NO)、変化量・閾値比較フラグを「0」にし(ステップS85)、1回変化量ΔF1(0)が閾値S(0)以上であれば(ステップS84:YES)、変化量・閾値比較フラグを「1」にする(ステップS81)。そして、モータ3の回転状態検出処理を終了して、図7のステップS15または図8のステップS35へ移行する。このようにして移行すると、変化量・閾値比較フラグが「0」であれば(図7のステップS15:NOまたは図8のステップS35:NO)、窓100への物体Zの挟み込みによるモータ3の回転異常が発生していないと判断する(図7のステップS20または図8のステップS40)。そして、モータ駆動回路2から反転・停止禁止信号を出力して、モータ3の正転を継続させ(図7のステップS21または図8のステップS41)、前述したように以降の処理を実行する。
上記に対して、変化量・閾値比較フラグが「1」であれば(図7のステップS15:YESまたは図8のステップS35:YES)、変更条件フラグは「0」である(図7のステップS16:YESまたは図8のステップS36:YES)ので、窓100への物体Zの挟み込みによるモータ3の回転異常が発生したと判断する(図7のステップS17または図8のステップS37)。そして、モータ駆動回路2から逆転信号を出力してモータ3を逆転させ、窓100を開いて(図7のステップS18および図8のステップS38)、挟み込みを解除し、窓100が完全に開けば(図7のステップS19:YESまたは図8のステップS39:YES)、図7のマニュアル閉処理または図8のオート閉処理を終了する。
一方、図4に示すように窓100に物体Zを挟み込んだ場合は、図示していないが、モータ3の回転速度fは挟まれ時から急激に低下(減速)して「0」に近づき、1回変化量ΔF1および2回変化量ΔF2はともに挟まれ時から上昇(加速)して、さらに1回変化量ΔF1は閾値Sに達する。このため、図12のステップ77で2回変化量ΔF2(z)〜ΔF2(z+n)が第2の所定値B以上となり(ステップS77:NO)、変更条件フラグを「0」にして(ステップS82)、閾値Sを初期値S(0)に設定する(ステップS83)。そして、ステップS84で現在の1回変化量ΔF1(0)が閾値S(0)以上になっていると判定し(ステップS84:YES)、変化量・閾値比較フラグを「1」にして(ステップS81)、モータ3の回転状態検出処理を終了し、図7のステップS15または図8のステップS35へ移行する。このようにして移行すると、変化量・閾値比較フラグが「1」であり(図7のステップS15:YESまたは図8のステップS35:YES)、変更条件フラグが「0」である(図7のステップS16:YESまたは図8のステップS36:YES)ので、窓100への物体Zの挟み込みによるモータ3の回転異常が発生したと判断する(図7のステップS17または図8のステップS37)。そして、モータ駆動回路2から逆転信号を出力してモータ3を逆転させ、窓100を開いて(図7のステップS18および図8のステップS38)、挟み込みを解除し、窓100が完全に開けば(図7のステップS19:YESまたは図8のステップS39:YES)、図7のマニュアル閉処理または図8のオート閉処理を終了する。
以上の第1実施形態のようにすると、モータ3の回転速度fが一定の減速傾向にある場合は、現在から所定回数前の所定区間に算出された回転速度fの変化量である1回変化量ΔF1(z)〜ΔF1(z+n)と回転速度fの変化量の変化量である2回変化量ΔF2(z)〜ΔF2(z+n)のうち、1回変化量ΔF1(z)〜ΔF1(z+n)の全てが「0」より「+」側にあって第1の所定値A以上となり、2回変化量ΔF2(z)〜ΔF2(z+n)の全てが「0」付近にあって第2の所定値B未満となるので、1回変化量ΔF1(0)が閾値Sに達し難くなるように閾値Sが変更されて、モータ3の回転異常の誤検知マージンを大きくすることができる。このため、外乱の影響等によりモータ3の回転異常の有無を誤判定し難くなり、モータ3の回転異常を正確に検知可能となる。
また、モータ3の回転速度fが一定の減速傾向から一定の加速傾向に切り替わった場合に、閾値Sを変更した値S(m)のままにしておくと、1回変化量ΔF1が「0」以外の値でかつ閾値Sに達し難い「−」側の値(閾値Sと反対側に寄った値)になるため、モータ3の回転異常の誤検知マージンが大きくなり過ぎて、外乱の影響等によるモータ3の回転異常の誤検知だけでなく、実際のモータ3の回転異常も検知し難くなる。然るに、上述のように、モータ3の回転速度fが一定の減速傾向から一定の加速傾向に切り替わって、1回変化量ΔF1が「0」より閾値Sに達し難い「−」側に推移した後飽和して、第1の所定値A未満となり、2回変化量ΔF2が一旦「0」より「−」側に推移した後また「0」付近に戻って飽和して、第2の所定値B以上にならないことを受けて、変更した閾値S(m)を初期値S(0)に戻すと、モータ3の回転異常の誤検知マージンを大きくなり過ぎないよう抑制することができる。このため、外乱の影響等によりモータ3の回転異常の有無を誤判定し難くなるとともに、実際にモータ3の回転異常が生じたときに回転異常無しと誤判定し難くなり、モータ3の回転異常を正確に検知可能となる。
さらに、1回変化量ΔF1(z)〜ΔF1(z+n)の全てが第1の所定値A以上であり、かつ2回変化量ΔF2(z)〜ΔF2(z+n)の全てが第2の所定値B未満である場合において、現在の1回変化量ΔF1(0)が閾値S以上になったときに、モータ3の反転または停止を禁止するので、モータ3の回転速度fが一定の減速傾向にある場合に、モータ3が回転異常状態ではないのに、外乱の影響等により1回変化量ΔF1(0)が閾値S以上になっても、モータ3の回転状態をそのまま維持することができる。
図14は、第2実施形態におけるモータ3の回転状態検出処理の一部の詳細手順を示したフローチャートである。本フローチャートは、前述の図12のフローチャートに代えて、前述の図11のフローチャートの続きとして実行されるものである。よって、図11を第2実施形態として引用する。また、前述の図7および図8のフローチャートも第2実施形態として引用する。さらに、本第2実施形態の回転異常検出ブロックは図5と同様であるため、図5も第2実施形態として引用する。図11において、前述したようにステップS71〜S75を実行して、モータ3の現在の回転速度f(0)、1回変化量ΔF1(0)、および2回変化量ΔF2(0)を、それぞれ取得して対応する記憶部82、84、86に記憶する。
図15は、第2実施形態における窓100の閉動作中のモータ3の回転速度と1回変化量および2回変化量の時間的変化を示した図である。モータ3の回転速度f、1回変化量ΔF1、および2回変化量ΔF2の表示形態と検出・算出方法は、図13と同様である。閾値Sの表示形態も図13と同様である。「0」より「+」側に一点鎖線および二点鎖線で示しているのは、前述したのと同様の第1の所定値Aおよび第2の所定値Bである。本第2実施形態では、これら「+」側の第1の所定値Aおよび第2の所定値Bに加えて、「0」より「−」側にも、一点鎖線および二点鎖線で示すように1回変化量ΔF1と比較する第1の所定値A’と2回変化量ΔF2と比較する第2の所定値B’をそれぞれ設けている。「−」側の第1の所定値A’および第2の所定値B’は、1回変化量ΔF1が第1の所定値A’に達するかどうかと、2回変化量ΔF2が第2の所定値B’に達するかどうかの結果から、モータ3の回転速度fが一定の加速傾向にあるか否かを判断できるような値にそれぞれ設定している。図15では、第1の所定値A’は、−3Hzに設定し、第2の所定値B’は、−1Hzに設定している。閾値Sは、初期値S(0)を8Hzに設定していて、後述するようにモータ3の回転速度fが一定の減速傾向と一定の加速傾向にあるときにそれぞれ変更する。
図11でステップS75を終了すると、現在の所定回数前の一定区間における1回変化量ΔF1(z)〜ΔF1(z+n)および2回変化量ΔF2(z)〜ΔF1(z+n)をそれぞれ記憶部84、86から読み出す(ステップS76)。そして、閾値変更部87で1回変化量ΔF1(z)〜ΔF1(z+n)の全てが「+」側の所定値A以上であり、かつ2回変化量ΔF2(z)〜ΔF2(z+n)の全てが「+」側の所定値B未満であるか否かを判定する(図14のステップS77)。この条件は、本第2実施形態では閾値Sをアップするためのものである。図15では、現在から3回前の連続する4区間における1回変化量ΔF1の全てが「+」側の第1の所定値A以上でありかつ2回変化量ΔF2の全てが「+」側の第2の所定値B未満であることとしている。
図15の左側に示すようにモータ3の回転速度fが一定の減速傾向にある場合は、左側に粗い破線で囲んでいるように現在の3回前の4区間における1回変化量ΔF1の全てが「+」側にあって第1の所定値A以上となり、かつ2回変化量ΔF2の全てが「0」付近にあって第2の所定値B未満となるので(図14のステップS77:YES)、変更条件フラグを上記条件が満たされたことを示すように「1」にする(ステップS78)。そして、回転速度fが一定の減速傾向にあると判断して、1回変化量ΔF1が閾値Sに達し難くなるように、閾値Sを初期値S(0)から所定量アップした値S(m)に変更して設定する(ステップS79)。図15では、初期値S(0)から1Hzアップして変更後の閾値S(m)を9Hzにしている。これによって、モータ3の回転異常を誤検知しないための誤検知マージンが大きくなる。
次いで、変化量・閾値比較部88で現在の1回変化量ΔF1(0)と変更後の閾値S(m)とを比較して、1回変化量ΔF1(0)が閾値S(m)以上であるか否かを判定する(ステップS80)。そして、この判定結果に応じて変化量・閾値比較フラグを、1回変化量ΔF1(0)が閾値S(m)以上であることを示す「1」(ステップS81)か、または閾値S(m)未満であることを示す「0」にし(ステップS85)、モータ3の回転状態検出処理を終了して、図7のステップS15または図8のステップS35へ移行する。この後、図7および図8で前述したのと同様の手順で、挟み込みによるモータ3の回転異常が発生していないと判断し(図7のステップS20または図8のステップS40)、モータ駆動回路2から反転・停止禁止信号を出力して、モータ3の正転を継続させ(図7のステップS21または図8のステップS41)、以降の処理を実行する。
そしてその後、図15の中央より若干左側に示すようにモータ3の回転速度fが一定の減速傾向から一定の加速傾向に切り替わった場合は、中央より若干左側に細かい破線で囲んでいるように現在の3回前の4区間における1回変化量ΔF1の一部が第1の所定値A未満となって、図14のステップS77の条件を満たさなくなる(ステップS77:NO)。このようになると、閾値変更部87で1回変化量ΔF1(z)〜ΔF1(z+n)の全てが「−」側の所定値A’以下であり(所定値A’に達している)、かつ2回変化量ΔF2(z)〜ΔF2(z+n)の全てが「−」側の所定値B’より大きい(所定値B’に達していない)か否かを判定する(ステップS100)。この条件は、本第2実施形態では閾値Sをダウンするためのものである。図15では、現在から3回前の連続する4区間における1回変化量ΔF1の全てが「−」側の第1の所定値A’以下でありかつ2回変化量ΔF2の全てが「−」側の第2の所定値B’より大きいこととしている。
図15の中央より左側に細かい破線で囲んでいる状況では、現在の3回前の4区間における1回変化量ΔF1の全てが「0」より閾値Sに達し易い「+」側にあって第1の所定値A’より大きく、かつ2回変化量ΔF2の一部が「−」側にあって第2の所定値B’以下であるので(ステップS100:NO)、変更条件フラグを上記条件が満たされないことを示すように「0」にする(ステップS82)。そして、回転速度fが一定の減速傾向から変化したと判断して、閾値Sを変更値S(m)から初期値S(0)に戻して設定する(ステップS83)。これによって、1回変化量ΔF1の「−」側への推移により大きくなり過ぎたモータ3の回転異常の誤検知マージンが所定量(本例では1Hz)小さくなる。
次いで、変化量・閾値比較部88で現在の1回変化量ΔF1(0)と閾値S(0)とを比較して、1回変化量ΔF1(0)が閾値S(0)以上であるか否かを判定する(ステップS84)。そして、この判定結果に応じて変化量・閾値比較フラグを「1」(ステップS81)か、または「0」にし(ステップS85)、モータ3の回転状態検出処理を終了して、図7のステップS15または図8のステップS35へ移行する。この後、前述したのと同様の手順で、挟み込みによるモータ3の回転異常が発生していない(図7のステップS20または図8のステップS40)か、または発生した(図7のステップS17または図8のステップS37)と判断する。そして、この結果に応じて前述したように、図7のステップS21または図8のステップS41を実行して、以降の処理を実行するか、或いは図7のステップS18、S19または図8のステップS38、S39を実行して、マニュアル閉処理またはオート閉処理を終了する。
また、図15のほぼ中央に示すようにモータ3の回転速度fが一定の加速傾向であり続けている場合は、ほぼ中央に粗い破線で囲んでいるように現在の3回前の4区間における1回変化量ΔF1の全てが「−」側の第1の所定値A’以下となり、かつ2回変化量ΔF2の全てが「0」付近にあって「−」側の第2の所定値B’より大きくなるので(ステップS100:YES)、変更条件フラグを上記条件が満たされたことを示すように「1」にする(ステップS101)。そして、回転速度fが一定の加速傾向であると判断して、1回変化量ΔF1が閾値Sに達し易くなるように、閾値Sを初期値S(0)から所定量ダウンした値S(n)に変更して設定する(ステップS102)。図15では、初期値S(0)から1Hzダウンして変更後の閾値S(n)を7Hzにしている。これによって、1回変化量ΔF1の「−」側への推移により大きくなり過ぎたモータ3の回転異常の誤検知マージンが所定量(本例では1Hz)小さくなる。
次いで、変化量・閾値比較部88で現在の1回変化量ΔF1(0)と変更後の閾値S(n)とを比較して、1回変化量ΔF1(0)が閾値S(n)以上であるか否かを判定する(ステップS103)。そして、この判定結果に応じて変化量・閾値比較フラグを「1」(ステップS81)か、または「0」にし(ステップS85)、モータ3の回転状態検出処理を終了して、図7のステップS15または図8のステップS35へ移行する。この後、前述したのと同様の手順で、挟み込みによるモータ3の回転異常が発生していない(図7のステップS20または図8のステップS40)か、または発生した(図7のステップS17または図8のステップS37)と判断する。そして、この結果に応じて前述したように、図7のステップS21または図8のステップS41を実行して、以降の処理を実行するか、或いは図7のステップS18、S19または図8のステップS38、S39を実行して、マニュアル閉処理またはオート閉処理を終了する。
また、図15の右側に示すようにモータ3の回転速度fが一定の加速傾向から変化した(一定の加速傾向を示さなくなった)場合は、右側に細い破線で囲んでいるように現在の3回前の4区間における1回変化量ΔF1の一部が閾値に達し易い側(「0」および「+」に向かう側)に推移して、「−」側の第1の所定値A’より大きくなる(図14のステップS100:NO)。2回変化量ΔF2の方は、「0」より「+」側に推移して、「−」側の第2の所定値B’以下になることはない。上記のようにステップS100の条件を満たさなくなると、変更条件フラグを上記条件が満たされていないことを示すように「0」にする(ステップS82)。そして、回転速度fが一定の加速傾向から変化したと判断して、閾値Sを変更値S(n)から初期値S(0)に戻して設定する(ステップS83)。これによって、1回変化量ΔF1の「0」および「+」側へ向かう推移により小さくなり過ぎたモータ3の回転異常の誤検知マージンが所定量(本例では1Hz)大きくなる。
次いで、変化量・閾値比較部88で現在の1回変化量ΔF1(0)と閾値S(0)とを比較して、1回変化量ΔF1(0)が閾値S(0)以上であるか否かを判定する(ステップS84)。そして、この判定結果に応じて変化量・閾値比較フラグを「1」(ステップS81)か、または「0」にし(ステップS85)、モータ3の回転状態検出処理を終了して、図7のステップS15または図8のステップS35へ移行する。この後、前述したのと同様の手順で、挟み込みによるモータ3の回転異常が発生していない(図7のステップS20または図8のステップS40)か、または発生した(図7のステップS17または図8のステップS37)と判断する。そして、この結果に応じて前述したように、図7のステップS21または図8のステップS41を実行して、以降の処理を実行するか、或いは図7のステップS18、S19または図8のステップS38、S39を実行して、マニュアル閉処理またはオート閉処理を終了する。
一方、図4に示すように窓100に物体Zを挟み込んだ場合は、図示していないが、モータ3の回転速度fは挟まれ時から急激に低下して「0」に近づき、1回変化量ΔF1および2回変化量ΔF2はともに挟まれ時から上昇して、さらに1回変化量ΔF1は閾値Sに達する。このため、図14のステップ77で2回変化量ΔF2(z)〜ΔF2(z+n)が第2の所定値B以上となり(ステップS77:NO)、さらにステップS100で1回変化量ΔF1(z)〜ΔF1(z+n)が第1の所定値A’より大きくなり(ステップS100:NO)、変更条件フラグを「0」にして(ステップS82)、閾値Sを初期値S(0)に設定する(ステップS83)。そして、ステップS84で現在の1回変化量ΔF1(0)が閾値S(0)以上になっていると判定し(ステップS84:YES)、変化量・閾値比較フラグを「1」にして(ステップS81)、モータ3の回転状態検出処理を終了し、図7のステップS15または図8のステップS35へ移行する。この後、前述したのと同様の手順で、挟み込みによるモータ3の回転異常が発生したと判断する(図7のステップS17または図8のステップS37)。そして、モータ逆転信号を出力してモータ3を逆転させ、窓100を開いて(図7のステップS18および図8のステップS38)、挟み込みを解除し、窓100が完全に開けば(図7のステップS19:YESまたは図8のステップS39:YES)、マニュアル閉処理またはオート閉処理を終了する。
以上の第2実施形態のようにすると、モータ3の回転速度fが一定の減速傾向にある場合は、1回変化量ΔF1(z)〜ΔF1(z+n)の全てが「+」側の第1の所定値A以上となり、2回変化量ΔF2(z)〜ΔF2(z+n)の全てが「+」側の第2の所定値B未満となるので、1回変化量ΔF1(0)が閾値Sに達し難くなるように閾値Sが変更されて、モータ3の回転異常の誤検知マージンを大きくすることができる。このため、外乱の影響等によりモータ3の回転異常の有無を誤判定し難くなり、モータ3の回転異常を正確に検知可能となる。また、モータ3の回転速度fが一定の減速傾向から一定の加速傾向に切り替わった場合には、1回変化量ΔF1(z)〜ΔF1(z+n)の一部が「+」側の第1の所定値A未満となるので、変更した閾値S(m)が初期値S(0)に戻されて、モータ3の回転異常の誤検知マージンを大きくなり過ぎないよう抑制することができる。このため、外乱の影響等によりモータ3の回転異常の有無を誤判定し難くなるとともに、実際にモータ3の回転異常が生じたときに回転異常無しと誤判定し難くなり、モータ3の回転異常を正確に検知可能となる。
また、モータ3の回転速度fが一定の加速傾向にある場合は、1回変化量ΔF1(z)〜ΔF1(z+n)の全てが「0」より「−」側にあって「−」側の第1の所定値A’以下となり、2回変化量ΔF2(z)〜ΔF2(z+n)の全てが「0」付近にあって「−」側の第2の所定値B’より大きくなるので、1回変化量ΔF1(0)が閾値Sに達し易くなるように、閾値Sが変更されて、モータ3の回転異常の誤検知マージンを小さくすることができる。このため、外乱の影響等によりモータ3の回転異常の有無を誤判定し難くなるとともに、実際にモータ3の回転異常が生じたときに回転異常無しと誤判定し難くなり、モータ3の回転異常を正確に検知可能となる。また、モータ3の回転速度が一定の加速傾向から変化した場合に、閾値Sを変更したS(n)のままにしておくと、1回変化量が「0」以外の値でかつ閾値Sに達し易い値(閾値S側に寄った値)になるため、モータ3の回転異常の誤検知マージンが小さくなり過ぎて、外乱の影響等によるモータ3の回転異常を誤検知し易くなる。然るに、上述のように、モータ3の回転速度fが一定の加速傾向から変化して、1回変化量ΔF1が「0」より閾値Sに達し易い「+」側に推移して、「−」側の第1の所定値A’より大きくなり、2回変化量ΔF2が「0」より「+」側に推移して飽和し、「−」側の第2の所定値B’以下にならないことを受けて、変更した閾値S(n)を初期値S(0)に戻すと、モータ3の回転異常の誤検知マージンを小さくなり過ぎないよう抑制することができる。このため、外乱の影響等によりモータ3の回転異常の有無を誤判定し難くなり、モータ3の回転異常を正確に検知可能となる。
さらに、1回変化量ΔF1(z)〜ΔF1(z+n)の全てが「+」側の第1の所定値A以上であり、かつ2回変化量ΔF2(z)〜ΔF2(z+n)の全てが「+」側の第2の所定値B未満である場合と、1回変化量ΔF1(z)〜ΔF1(z+n)の全てが「−」側の第1の所定値A’以下であり、かつ2回変化量ΔF2(z)〜ΔF2(z+n)の全てが「−」側の第2の所定値B’より大きい場合において、現在の1回変化量ΔF1(0)が閾値S以上になったときに、モータ3の反転または停止を禁止するので、モータ3の回転速度fが一定の減速傾向または加速傾向にある場合に、モータ3が回転異常状態ではないのに、外乱の影響等により1回変化量ΔF1(0)が閾値S以上になっても、モータ3の回転状態をそのまま維持することができる。
図16は、本発明の第3実施形態における回転異常検出ブロックを示した図である。図中、図5と同一部分には同一符号を付してある。図5では、記憶部84、86から読み出した1回変化量および2回変化量に基づいて、前述したように閾値を変更する閾値変更部87を設けていたが、図16ではこれに代えて、記憶部84、86から読み出した1回変化量および2回変化量に基づいて、後述するように1回変化量算出部83から出力される1回変化量を変更する変化量変更部90を設けている。また、変化量・閾値比較部91は、変化量変更部90から出力される未変更または変更後の1回変化量と所定の閾値とを比較する。変化量変更部90は、本発明における変化量変更手段の一実施形態を構成し、変化量・閾値比較部91は、本発明における比較手段の一実施形態を構成する。
図17は、第3実施形態におけるモータ3の回転状態検出処理の一部の詳細手順を示したフローチャートである。本フローチャートは、前述の図12のフローチャートに代えて、前述の図11のフローチャートの続きとして実行されるものである。よって、図11を第3実施形態として引用する。また、前述の図7および図8のフローチャートも第3実施形態として引用する。図11において、前述したようにステップS71〜S75を実行して、モータ3の現在の回転速度f(0)、1回変化量ΔF1(0)、および2回変化量ΔF2(0)をそれぞれ取得して、対応する記憶部82、84、86に記憶する。
図18は、第3実施形態における窓100の閉動作中のモータ3の回転速度と1回変化量および2回変化量の時間的変化を示した図である。モータ3の回転速度f、1回変化量ΔF1、および2回変化量ΔF2の表示形態と検出・算出方法と変化状況は、図13と同様である。第1の所定値Aおよび第2の所定値Bの表示形態と値も、図13と同様である。閾値Sは、変更されることはなく常に一定の値(本例では8Hz)である。白四角で示しているΔF1−Cは1回変化量ΔF1を変更した値である。これについては後述する。
図11でステップS75を終了すると、現在の所定回数前の一定区間における1回変化量ΔF1(z)〜ΔF1(z+n)および2回変化量ΔF2(z)〜ΔF1(z+n)をそれぞれ記憶部84、86から読み出す(ステップS76)。そして、変化量変更部90で1回変化量ΔF1(z)〜ΔF1(z+n)の全てが所定値A以上であり、かつ2回変化量ΔF2(z)〜ΔF2(z+n)の全てが所定値B未満であるか否かを判定する(図17のステップS90)。この条件は、本第3実施形態では1回変化量ΔF1をダウンして、モータ3の回転異常の誤検知マージンの減少をオフセット(相殺)するためのものである。図18では、現在から3回前の連続する4区間における1回変化量ΔF1の全てが第1の所定値A以上でありかつ2回変化量ΔF2の全てが第2の所定値B未満であることとしている。
図18に示すようにモータ3の回転速度fが一定の減速傾向にある場合は、粗い破線で囲んでいるように現在の3回前の4区間における1回変化量ΔF1の全てが「+」側にあって第1の所定値A以上となり、かつ2回変化量ΔF2の全てが「0」付近にあって第2の所定値B未満となるので(図17のステップS90:YES)、変更条件フラグを上記条件が満たされたことを示すように「1」にする(ステップS91)。そして、回転速度fが一定の減速傾向にあると判断して、1回変化量ΔF1が閾値Sに達し難くなるように、1回変化量算出部83から出力される現在の1回変化量ΔF1(0)を所定量ダウンした値ΔF1(0)−Cに変更する(ステップS92)。図18では、1回変化量ΔF1を1Hzダウンして変更後の1回変化量ΔF1−Cを算出している。これによって、モータ3の回転異常の誤検知マージンが大きくなる。
次いで、変化量・閾値比較部91で変更後の1回変化量ΔF1(0)−Cと閾値Sとを比較して、1回変化量ΔF1(0)−Cが閾値S以上であるか否かを判定する(ステップS93)。ここで、1回変化量ΔF1(0)−Cが閾値S以上であれば(ステップS93:YES)、変化量・閾値比較フラグを1回変化量ΔF1(0)−Cが閾値S以上であることを示すように「1」にする(ステップS94)。また、1回変化量ΔF1(0)−Cが閾値S未満であれば(ステップS93:NO)、変化量・閾値比較フラグを1回変化量ΔF1(0)−Cが閾値S以上でないことを示すように「0」にする(ステップS98)。そして、モータ3の回転状態検出処理を終了して、図7のステップS15または図8のステップS35へ移行する。このようにして移行すると、変化量・閾値比較フラグが「1」で(図7のステップS15:YESまたは図8のステップS35:YES)かつ変更条件フラグが「1」である(図7のステップS16:NOまたは図8のステップS36:NO)ため、または変化量・閾値比較フラグが「0」である(図7のステップS15:NOまたは図8のステップS35:NO)ため、挟み込みによるモータ3の回転異常が発生していないと判断する(図7のステップS20または図8のステップS40)。そして、モータ駆動回路2から反転・停止禁止信号を出力して、モータ3の正転を継続させ(図7のステップS21または図8のステップS41)、前述したように以降の処理を実行する。
そしてその後、図18に示すようにモータ3の回転速度fが一定の減速傾向から一定の加速傾向に切り替わった場合は、細かい破線で囲んでいるように現在の3回前の4区間における1回変化量ΔF1の一部が「−」側に推移して、第1の所定値A未満となる(図17のステップS90:NO)。さらにこの後、1回変化量ΔF1は図18に示すように「−」側に推移した後「−」側のある値で飽和する。2回変化量ΔF2の方は、一旦「−」側に推移した後、また「0」付近に戻って飽和し、第2の所定値B以上になることはない。上記のようにステップS90の条件を満たさなくなると、変更条件フラグを条件が満たされていないことを示すように「0」にする(ステップS95)。そして、回転速度fが一定の減速傾向から変化したと判断して、現在の1回変化量ΔF1(0)に対する変更(ダウン)を止める(ステップS96)。この後、変化量・閾値比較部91で現在の1回変化量ΔF1(0)と閾値Sとを比較して、1回変化量ΔF1(0)が閾値S以上であるか否かを判定する(ステップS97)。このとき、上記のように1回変化量ΔF1の「−」側への推移により大きくなり過ぎたモータ3の回転異常の誤検知マージンが、1回変化量ΔF1に対する変更を止めたことにより所定量(本例では1Hz)小さくなるが、ある程度の外乱があっても、1回変化量ΔF1(0)は閾値S以上になり難い。
ステップS97で、1回変化量ΔF1(0)が閾値S未満であれば(ステップS97:NO)、変化量・閾値比較フラグを「0」にし(ステップS98)、1回変化量ΔF1(0)が閾値S以上であれば(ステップS97:YES)、変化量・閾値比較フラグを「1」にする(ステップS94)。そして、モータ3の回転状態検出処理を終了して、図7のステップS15または図8のステップS35へ移行する。このようにして移行すると、変化量・閾値比較フラグが「0」であれば(図7のステップS15:NOまたは図8のステップS35:NO)、挟み込みによるモータ3の回転異常が発生していないと判断する(図7のステップS20または図8のステップS40)。そして、モータ駆動回路2から反転・停止禁止信号を出力して、モータ3の正転を継続させ(図7のステップS21または図8のステップS41)、前述したように以降の処理を実行する。対して、変化量・閾値比較フラグが「1」であれば(図7のステップS15:YESまたは図8のステップS35:YES)、変更条件フラグは「0」である(図7のステップS16:YESまたは図8のステップS36:YES)ので、窓100への物体Zの挟み込みによるモータ3の回転異常が発生したと判断する(図7のステップS17または図8のステップS37)。そして、モータ駆動回路2から逆転信号を出力してモータ3を逆転させ、窓100を開いて(図7のステップS18および図8のステップS38)、挟み込みを解除し、窓100が完全に開けば(図7のステップS19:YESまたは図8のステップS39:YES)、マニュアル閉処理またはオート閉処理を終了する。
一方、図4に示すように窓100に物体Zを挟み込んだ場合は、図示していないが、モータ3の回転速度fは挟まれ時から急激に低下して「0」に近づき、1回変化量ΔF1および2回変化量ΔF2はともに挟まれ時から上昇して、さらに1回変化量ΔF1は閾値Sに達する。このため、図17のステップ90で2回変化量ΔF2(z)〜ΔF2(z+n)が第2の所定値B以上となり(ステップS90:NO)、変更条件フラグを「0」にして(ステップS95)、1回変化量ΔF1(0)の変更を止める(ステップS96)。そして、ステップS97で現在の1回変化量ΔF1(0)が閾値S以上になっていると判定し(ステップS97:YES)、変化量・閾値比較フラグを「1」にして(ステップS94)、モータ3の回転状態検出処理を終了し、図7のステップS15または図8のステップS35へ移行する。この後、前述したのと同様の手順で、挟み込みによるモータ3の回転異常が発生したと判断する(図7のステップS17または図8のステップS37)。そして、モータ逆転信号を出力してモータ3を逆転させ、窓100を開いて(図7のステップS18および図8のステップS38)、挟み込みを解除し、窓100が完全に開けば(図7のステップS19:YESまたは図8のステップS39:YES)、マニュアル閉処理またはオート閉処理を終了する。
以上の第3実施形態のようにすると、モータ3の回転速度fが一定の減速傾向にある場合は、1回変化量ΔF1(z)〜ΔF1(z+n)の全てが「0」より「+」側にあって第1の所定値A以上となり、2回変化量ΔF2(z)〜ΔF2(z+n)の全てが「0」付近にあって第2の所定値B未満となるので、1回変化量ΔF1(0)が閾値Sに達し難くなるように変更(ダウン)されて、モータ3の回転異常の誤検知マージンを大きくすることができる。このため、外乱の影響等によりモータ3の回転異常の有無を誤判定し難くなり、モータ3の回転異常を正確に検知可能となる。
また、モータ3の回転速度fが一定の減速傾向から一定の加速傾向に切り替わった場合に、1回変化量ΔF1(0)の上記変更を継続していると、1回変化量ΔF1が「−」側の値(閾値Sと反対側に寄った値)になるため、モータ3の回転異常の誤検知マージンが大きくなり過ぎて、外乱の影響等によるモータ3の回転異常の誤検知だけでなく、実際のモータ3の回転異常も検知し難くなる。然るに、上述のように、モータ3の回転速度fが一定の減速傾向から一定の加速傾向に切り替わって、1回変化量ΔF1が「−」側に推移した後飽和して、第1の所定値A未満となり、2回変化量ΔF2が一旦「0」より「−」側に推移した後また「0」付近に戻って飽和して、第2の所定値B以上にならないことを受けて、1回変化量ΔF1(0)の上記変更を止めると、モータ3の回転異常の誤検知マージンを大きくなり過ぎないよう抑制することができる。このため、外乱の影響等によりモータ3の回転異常の有無を誤判定し難くなるとともに、実際にモータ3の回転異常が生じたときに回転異常無しと誤判定し難くなり、モータ3の回転異常を正確に検知可能となる。
さらに、1回変化量ΔF1(Z)〜ΔF1(Z+n)の全てが第1の所定値A以上であり、かつ2回変化量ΔF2(Z)〜ΔF2(Z+n)の全てが第2の所定値B未満である場合において、変更後の1回変化量ΔF1(0)−Cが閾値S以上になったときに、モータ3の反転または停止を禁止するので、モータ3の回転速度fが一定の減速傾向にある場合に、モータ3が回転異常状態ではないのに、外乱の影響等により1回変化量ΔF1(0)−Cが閾値S以上になっても、モータ3の回転状態をそのまま維持することができる。
図19は、第4実施形態におけるモータ3の回転状態検出処理の一部の詳細手順を示したフローチャートである。本フローチャートは、前述の図12のフローチャートに代えて、前述の図11のフローチャートの続きとして実行されるものである。よって、図11を第4実施形態として引用する。また、前述の図7および図8のフローチャートも第4実施形態として引用する。さらに、本第4実施形態の回転異常検出ブロックは図16と同様であるため、図16も第4実施形態として引用する。図11において、前述したようにステップS71〜S75を実行して、モータ3の現在の回転速度f(0)、1回変化量ΔF1(0)、および2回変化量ΔF2(0)をそれぞれ取得して、対応する記憶部82、84、86に記憶する。
図20は、第4実施形態における窓100の閉動作中のモータ3の回転速度と1回変化量および2回変化量の時間的変化を示した図である。モータ3の回転速度f、1回変化量ΔF1、および2回変化量ΔF2の表示形態と検出・算出方法は、図13と同様である。「+」側の第1の所定値Aおよび第2の所定値Bと、「−」側の第1の所定値A’および第2の所定値B’の表示形態と値は、図15と同様である。閾値Sは、変更されることはなく常に一定の値(本例では8Hz)である。実線の白四角で示しているΔF1−Cは1回変化量ΔF1を所定量ダウンするように変更した値であり、破線の白四角で示しているΔF1+Dは1回変化量ΔF1を所定量アップするように変更した値である。これらについては後述する。
図11でステップS75を終了すると、現在の所定回数前の一定区間における1回変化量ΔF1(z)〜ΔF1(z+n)および2回変化量ΔF2(z)〜ΔF1(z+n)をそれぞれ記憶部84、86から読み出す(ステップS76)。そして、変化量変更部90で1回変化量ΔF1(z)〜ΔF1(z+n)の全てが「+」側の所定値A以上であり、かつ2回変化量ΔF2(z)〜ΔF2(z+n)の全てが「+」側の所定値B未満であるか否かを判定する(図19のステップS90)。この条件は、本第4実施形態では1回変化量ΔF1をダウンして、モータ3の回転異常の誤検知マージンの減少をオフセットするためのものである。図20では、現在から3回前の連続する4区間における1回変化量ΔF1の全てが「+」側の第1の所定値A以上でありかつ2回変化量ΔF2の全てが「+」側の第2の所定値B未満であることとしている。
図20の左側に示すようにモータ3の回転速度fが一定の減速傾向にある場合は、左側に粗い破線で囲んでいるように現在の3回前の4区間における1回変化量ΔF1の全てが「+」側にあって第1の所定値A以上となり、かつ2回変化量ΔF2の全てが「0」付近にあって第2の所定値B未満となるので(図19のステップS90:YES)、変更条件フラグを上記条件が満たされたことを示すように「1」にする(ステップS91)。そして、回転速度fが一定の減速傾向にあると判断して、1回変化量ΔF1が閾値Sに達し難くなるように、現在の1回変化量ΔF1(0)を所定量ダウンした値ΔF1(0)−Cに変更する(ステップS92)。図20では、1回変化量ΔF1を1Hzダウンして変更後の1回変化量ΔF1−Cを算出している。これによって、モータ3の回転異常の誤検知マージンが所定量(本例では1Hz)大きくなる。
次いで、変化量・閾値比較部91で変更後の1回変化量ΔF1(0)−Cと閾値Sとを比較して、1回変化量ΔF1(0)−Cが閾値S以上であるか否かを判定する(ステップS93)。そして、この判定結果に応じて変化量・閾値比較フラグを、1回変化量ΔF1(0)−Cが閾値S以上であることを示す「1」(ステップS94)か、または閾値S未満であることを示す「0」にし(ステップS98)、モータ3の回転状態検出処理を終了して、図7のステップS15または図8のステップS35へ移行する。この後、前述したのと同様の手順で、挟み込みによるモータ3の回転異常が発生していないと判断し(図7のステップS20または図8のステップS40)、モータ駆動回路2から反転・停止禁止信号を出力して、モータ3の正転を継続させ(図7のステップS21または図8のステップS41)、以降の処理を実行する。
そしてその後、図20の中央より若干左側に示すようにモータ3の回転速度fが一定の減速傾向から一定の加速傾向に切り替わった場合は、中央より若干左側に細かい破線で囲んでいるように現在の3回前の4区間における1回変化量ΔF1の一部が第1の所定値A未満となって、図19のステップS90の条件を満たさなくなる(ステップS90:NO)。このようになると、変化量変更部90で1回変化量ΔF1(z)〜ΔF1(z+n)の全てが「−」側の所定値A’以下であり、かつ2回変化量ΔF2(z)〜ΔF2(z+n)の全てが「−」側の所定値B’より大きいか否かを判定する(ステップS110)。この条件は、本第4実施形態では閾値Sをアップして、モータ3の回転異常の誤検知マージンの増加をオフセットするためのものである。図20では、現在から3回前の連続する4区間における1回変化量ΔF1の全てが「−」側の第1の所定値A’以下でありかつ2回変化量ΔF2の全てが「−」側の第2の所定値B’より大きいこととしている。
図20の中央より左側に細かい破線で囲んでいる状況では、現在の3回前の4区間における1回変化量ΔF1の全てが「0」より閾値Sに達し易い「+」側にあって第1の所定値A’より大きく、かつ2回変化量ΔF2の一部が「−」側にあって第2の所定値B’以下であるので(ステップS110:NO)、変更条件フラグを上記条件が満たされないことを示すように「0」にする(ステップS95)。そして、回転速度fが一定の減速傾向から変化したと判断して、現在の1回変化量ΔF1(0)に対する変更(ダウン)を止める(ステップS96)。これによって、1回変化量ΔF1の「−」側への推移により大きくなり過ぎたモータ3の回転異常の誤検知マージンが所定量(本例では1Hz)小さくなる。
次いで、変化量・閾値比較部91で現在の1回変化量ΔF1(0)と閾値S(0)とを比較して、1回変化量ΔF1(0)が閾値S(0)以上であるか否かを判定する(ステップS97)。そして、この判定結果に応じて変化量・閾値比較フラグを「1」(ステップS94)か、または「0」にし(ステップS98)、モータ3の回転状態検出処理を終了して、図7のステップS15または図8のステップS35へ移行する。この後、前述したのと同様の手順で、挟み込みによるモータ3の回転異常が発生していない(図7のステップS20または図8のステップS40)か、または発生した(図7のステップS17または図8のステップS37)と判断する。そして、この結果に応じて前述したように、図7のステップS21または図8のステップS41を実行して、以降の処理を実行するか、或いは図7のステップS18、S19または図8のステップS38、S39を実行して、マニュアル閉処理またはオート閉処理を終了する。
また、図20のほぼ中央に示すようにモータ3の回転速度fが一定の加速傾向であり続けている場合は、ほぼ中央に粗い破線で囲んでいるように現在の3回前の4区間における1回変化量ΔF1の全てが「−」側の第1の所定値A’以下となり、かつ2回変化量ΔF2の全てが「0」付近にあって「−」側の第2の所定値B’より大きくなるので(ステップS110:YES)、変更条件フラグを上記条件が満たされたことを示すように「1」にする(ステップS111)。そして、回転速度fが一定の加速傾向であると判断して、1回変化量ΔF1が閾値Sに達し易くなるように、現在の1回変化量ΔF1(0)を所定量アップした値ΔF1(0)+Dに変更する(ステップS112)。図20では、1回変化量ΔF1を1Hzアップして変更後の1回変化量ΔF+Dを算出している。これによって、モータ3の回転異常の誤検知マージンが所定量(本例では1Hz)小さくなる。
次いで、変化量・閾値比較部91で変更後の1回変化量ΔF1(0)+Dと閾値Sとを比較して、1回変化量ΔF1(0)+Dが閾値S以上であるか否かを判定する(ステップS113)。そして、この判定結果に応じて変化量・閾値比較フラグを「1」(ステップS94)か、または「0」にし(ステップS98)、モータ3の回転状態検出処理を終了して、図7のステップS15または図8のステップS35へ移行する。この後、前述したのと同様の手順で、挟み込みによるモータ3の回転異常が発生していない(図7のステップS20または図8のステップS40)か、または発生した(図7のステップS17または図8のステップS37)と判断する。そして、この結果に応じて前述したように、図7のステップS21または図8のステップS41を実行して、以降の処理を実行するか、或いは図7のステップS18、S19または図8のステップS38、S39を実行して、マニュアル閉処理またはオート閉処理を終了する。
また、図20の右側に示すようにモータ3の回転速度fが一定の加速傾向から変化した場合は、右側に細い破線で囲んでいるように現在の3回前の4区間における1回変化量ΔF1の一部が閾値に達し易い側(「0」および「+」に向かう側)に推移して、「−」側の第1の所定値A’より大きくなる(図19のステップS110:NO)。2回変化量ΔF2の方は、「0」より「+」側に推移して、「−」側の第2の所定値B’以下になることはない。上記のようにステップS110の条件を満たさなくなると、変更条件フラグを上記条件が満たされていないことを示すように「0」にする(ステップS95)。そして、回転速度fが一定の加速傾向から変化したと判断して、現在の1回変化量ΔF1(0)に対する変更(アップ)を止める(ステップS96)。これによって、1回変化量ΔF1の「0」および「+」側へ向かう推移により小さくなり過ぎたモータ3の回転異常の誤検知マージンが所定量(本例では1Hz)大きくなる。
次いで、変化量・閾値比較部91で現在の1回変化量ΔF1(0)と閾値Sとを比較して、1回変化量ΔF1(0)が閾値S以上であるか否かを判定する(ステップS97)。そして、この判定結果に応じて変化量・閾値比較フラグを「1」(ステップS94)か、または「0」にし(ステップS98)、モータ3の回転状態検出処理を終了して、図7のステップS15または図8のステップS35へ移行する。この後、前述したのと同様の手順で、挟み込みによるモータ3の回転異常が発生していない(図7のステップS20または図8のステップS40)か、または発生した(図7のステップS17または図8のステップS37)と判断する。そして、この結果に応じて前述したように、図7のステップS21または図8のステップS41を実行して、以降の処理を実行するか、或いは図7のステップS18、S19または図8のステップS38、S39を実行して、マニュアル閉処理またはオート閉処理を終了する。
一方、図4に示すように窓100に物体Zを挟み込んだ場合は、図示していないが、モータ3の回転速度fは挟まれ時から急激に低下して「0」に近づき、1回変化量ΔF1および2回変化量ΔF2はともに挟まれ時から上昇して、さらに1回変化量ΔF1は閾値Sに達する。このため、図19のステップ90で2回変化量ΔF2(z)〜ΔF2(z+n)が第2の所定値B以上となり(ステップS90:NO)、さらにステップS110で1回変化量ΔF1(z)〜ΔF1(z+n)が第1の所定値A’より大きくなり(ステップS110:NO)、変更条件フラグを「0」にして(ステップS95)、現在の1回変化量ΔF1(0)に対する変更を止める(ステップS96)。そして、ステップS97で現在の1回変化量ΔF1(0)が閾値S(0)以上になっていると判定し(ステップS97:YES)、変化量・閾値比較フラグを「1」にして(ステップS94)、モータ3の回転状態検出処理を終了し、図7のステップS15または図8のステップS35へ移行する。この後、前述したのと同様の手順で、挟み込みによるモータ3の回転異常が発生したと判断する(図7のステップS17または図8のステップS37)。そして、モータ逆転信号を出力してモータ3を逆転させ、窓100を開いて(図7のステップS18および図8のステップS38)、挟み込みを解除し、窓100が完全に開けば(図7のステップS19:YESまたは図8のステップS39:YES)、マニュアル閉処理またはオート閉処理を終了する。
以上の第4実施形態のようにすると、モータ3の回転速度fが一定の減速傾向にある場合は、1回変化量ΔF1(z)〜ΔF1(z+n)の全てが「+」側の第1の所定値A以上となり、2回変化量ΔF2(z)〜ΔF2(z+n)の全てが「+」側の第2の所定値B未満となるので、1回変化量ΔF1(0)が閾値Sに達し難くなるように変更(ダウン)されて、モータ3の回転異常の誤検知マージンを大きくすることができる。このため、外乱の影響等によりモータ3の回転異常の有無を誤判定し難くなり、モータ3の回転異常を正確に検知可能となる。また、モータ3の回転速度fが一定の減速傾向から一定の加速傾向に切り替わった場合には、1回変化量ΔF1(z)〜ΔF1(z+n)の一部が「+」側の第1の所定値A未満となるので、1回変化量ΔF1(0)が上記のように変更されなくなって、モータ3の回転異常の誤検知マージンを大きくなり過ぎないよう抑制することができる。このため、外乱の影響等によりモータ3の回転異常の有無を誤判定し難くなるとともに、実際にモータ3の回転異常が生じたときに回転異常無しと誤判定し難くなり、モータ3の回転異常を正確に検知可能となる。
また、モータ3の回転速度fが一定の加速傾向にある場合は、1回変化量ΔF1(z)〜ΔF1(z+n)の全てが「0」より「−」側にあって「−」側の第1の所定値A’以下となり、2回変化量ΔF2(z)〜ΔF2(z+n)の全てが「0」付近にあって「−」側の第2の所定値B’より大きくなるので、1回変化量ΔF1(0)が閾値Sに達し易くなるように変更(アップ)されて、モータ3の回転異常の誤検知マージンを小さくすることができる。このため、外乱の影響等によりモータ3の回転異常の有無を誤判定し難くなるとともに、実際にモータ3の回転異常が生じたときに回転異常無しと誤判定し難くなり、モータ3の回転異常を正確に検知可能となる。また、モータ3の回転速度が一定の加速傾向から変化した場合に、1回変化量ΔF1(0)の上記変更を継続していると、1回変化量ΔF1が閾値Sに達し易い値になるため、モータ3の回転異常の誤検知マージンが小さくなり過ぎて、外乱の影響等によるモータ3の回転異常を誤検知し易くなる。然るに、上述のように、モータ3の回転速度fが一定の加速傾向から変化して、1回変化量ΔF1が「0」より閾値Sに達し易い「+」側に推移して、「−」側の第1の所定値A’より大きくなり、2回変化量ΔF2が「0」より「+」側に推移して、「−」側の第2の所定値B’以下にならないことを受けて、1回変化量ΔF1(0)の上記変更を止めると、モータ3の回転異常の誤検知マージンを小さくなり過ぎないよう抑制することができる。このため、外乱の影響等によりモータ3の回転異常の有無を誤判定し難くなり、モータ3の回転異常を正確に検知可能となる。
さらに、1回変化量ΔF1(z)〜ΔF1(z+n)の全てが「+」側の第1の所定値A以上であり、かつ2回変化量ΔF2(z)〜ΔF2(z+n)の全てが「+」側の第2の所定値B未満である場合と、1回変化量ΔF1(z)〜ΔF1(z+n)の全てが「−」側の第1の所定値A’以下であり、かつ2回変化量ΔF2(z)〜ΔF2(z+n)の全てが「−」側の第2の所定値B’より大きい場合において、変更後の1回変化量ΔF1(0)−C、ΔF1(0)+Dが閾値S以上になったときに、モータ3の反転または停止を禁止するので、モータ3の回転速度fが一定の減速傾向または加速傾向にある場合に、モータ3が回転異常状態ではないのに、外乱の影響等により1回変化量ΔF1(0)−C、ΔF1(0)+Dが閾値S以上になっても、モータ3の回転状態をそのまま維持することができる。
以上述べた実施形態では、本発明を車両のドアの窓を開閉制御する装置に適用した場合を例に挙げたが、本発明はこれ以外にも、車両の天井のサンルーフ、車両の後部扉、建物の窓、建物の扉・戸など各種の開閉体を開閉制御する装置に適用することができる。