例えば自動車には、ドアの窓、サンルーフ、スライドドア等の開閉体と、該開閉体を駆動するための電動機と、該電動機を制御する電動機制御装置とが設けられている。電動機制御装置のうち、窓開閉用の電動機を制御するものは、パワーウィンドウ装置(または窓開閉制御装置)と呼ばれている。パワーウィンドウ装置は、一般にスイッチの操作により電動機であるモータを正転または逆転させて、ドアの窓ガラスを昇降させ、窓を開閉する。
図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の回転速度を検出することができる。また、ロータリエンコーダ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が自動的に閉じるため、誤って手や首などが挟まれた場合に、閉動作を禁止して人体に危害が加わるのを防止する必要性から、このような挟み込み検知機能が設けられる。挟み込みの検知にあたっては、例えば、パルス検出回路5の出力であるモータ3の回転速度を制御部8が随時読み込み、現在の回転速度と以前の回転速度とを比較して、その比較結果に基づいてモータ3の回転異常の有無を判定し、該判定結果から挟み込みの有無を判断する。具体的には、窓100に物体Zの挟み込みが発生すると、急激にモータ3の負荷が増大して回転速度が低下する異常が生じるため、回転速度の変化量が大きくなり、この変化量が所定の閾値を超えたときに、物体Zが挟み込まれたと判断する。所定の閾値はメモリ6に予め記憶されている。また、挟み込みの有無を誤って判断しないように、モータ3の回転速度の変化や、窓ガラス101の位置等に応じて、所定の閾値を変更することが従来から行われている(例えば、下記の特許文献1〜3参照)。
特開2005−120635号公報
特開平11−324481号公報
特開2003−3744号公報
以下、本発明の実施形態につき図を参照して説明する。以下では、背景技術の項で説明した図1〜図4を本発明の実施形態として引用する。図1は、本発明の実施形態であるパワーウィンドウ装置の電気的構成を示したブロック図である。本パワーウィンドウ装置は、車両の窓の開閉を制御する開閉制御装置であって、本発明における電動機制御装置の一実施形態を構成している。モータ3は、本発明における電動機の一実施形態を構成し、制御部8は、本発明における制御手段の一実施形態を構成している。図2は、操作スイッチの一例を示した概略構成図である。図3は、車両の各窓に設けられる窓開閉機構の一例を示した図である。図4は、図3において窓に物体が挟み込まれた状態を示した図である。これらの各図についてはすでに説明済みなので、ここでは重複説明を省略する。
図5は、本発明の第1実施形態における回転異常検出ブロックを示した図である。この回転異常検出ブロックは、制御部8に備わるものである。ここでは、便宜上ハードウェアの回路として図示してあるが、実際には各回路の機能はソフトウェアによって実現される。勿論、ハードウェア回路により回転異常検出ブロックを構成してもよい。後述する他の実施形態においても同様である。
図5において、回転速度検出部81は、図1のパルス検出回路5から出力されるパルスの数を計数することによって、モータ3の回転速度を所定の周期で検出する。回転速度記憶部82は、回転速度検出部81で検出した回転速度を順次記憶する。つまり、回転速度記憶部82には、所定の周期で検出した複数の回転速度が順番に記憶される。1回変化量算出部83は、回転速度検出部81から出力される現在の回転速度と、回転速度記憶部82に記憶された過去の回転速度とから回転速度の変化量を1回変化量として算出する。1回変化量記憶部84は、1回変化量算出部83で算出した1回変化量を順次記憶する。つまり、1回変化量記憶部84には、所定の周期で算出した複数の1回変化量が順番に記憶される。2回変化量算出部85は、1回変化量算出部83から出力される現在の1回変化量と、1回変化量記憶部84に記憶された過去の1回変化量とから回転速度の変化量の変化量を2回変化量として算出する。閾値変更部86は、予め設定されてメモリ6の所定領域に記憶された所定の閾値を、1回変化量算出部83から出力される現在の1回変化量と、2回変化量算出部85から出力される現在の2回変化量とに基づいて変更する。変化量・閾値比較部87は、1回変化量算出部83から出力される1回変化量と、閾値変更部86から出力される未変更または変更後の閾値とを比較する。回転異常判定部88は、変化量・閾値比較部87の比較結果に基づいて、図4で示したような窓100に物体Zを挟み込んだことにより発生するモータ3の回転異常の有無を判定し、該判定結果に応じた制御信号を図1のモータ駆動回路2へ出力する。
回転速度検出部81は、本発明における検出手段の一実施形態を構成している。回転速度記憶部82は、本発明における第1の記憶手段の一実施形態を構成している。1回変化量算出部83は、本発明における第1の算出手段の一実施形態を構成している。1回変化量記憶部84は、本発明における第2の記憶手段の一実施形態を構成している。2回変化量算出部85は、本発明における第2の算出手段の一実施形態を構成している。閾値変更部86は、本発明における変更手段の一実施形態を構成している。変化量・閾値比較部87は、本発明における比較手段の一実施形態を構成している。回転異常判定部88は、本発明における判定手段の一実施形態を構成している。
図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の処理の結果、モータ3の回転異常の発生が有れば(ステップS15:YES)、図4で示したような窓100への物体Zの挟み込みが発生したと判断する(ステップS16)。そして、モータ駆動回路2から逆転信号を出力してモータ3を逆転させ、窓100を開く(ステップS17)。これによって、挟み込みが解除される。そして、窓100が完全に開いたか否かを判定し(ステップS18)、完全に開けば(ステップS18:YES)処理を終了し、完全に開いてなければ(ステップS18:NO)、ステップS17へ戻ってモータ3の逆転を継続する。
一方、ステップS14の処理の結果、モータ3の回転異常の発生が無ければ(ステップS15:NO)、窓100への物体Zの挟み込みは発生していないので、ステップS19で操作スイッチ1がマニュアル閉MCの位置にあるか否かを判定する。操作スイッチ1がマニュアル閉MCの位置にあれば(ステップS19:YES)、ステップS12へ戻ってモータ3の正転を継続する。対して、操作スイッチ1がマニュアル閉MCの位置になければ(ステップS19:NO)、オート閉ACの位置にあるか否かを判定する(ステップS20)。操作スイッチ1がオート閉ACの位置にあれば(ステップS20:YES)、後述のオート閉処理に移り(ステップS21)、オート閉ACの位置になければ(ステップS20:NO)、マニュアル開MOの位置にあるか否かを判定する(ステップS22)。操作スイッチ1がマニュアル開MOの位置にあれば(ステップS22:YES)、後述のマニュアル開処理に移り(ステップS23)、マニュアル開MOの位置になければ(ステップS22:NO)、オート開AOの位置にあるか否かを判定する(ステップS24)。操作スイッチ1がオート開AOの位置にあれば(ステップS24:YES)、後述のオート開処理に移り(ステップS25)、操作スイッチ1がオート開AOの位置になければ(ステップS24:NO)、何も処理せずに終了する。
図8は、図6のステップS4、図7のステップS21、後述する図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の処理の結果、モータ3の回転異常の発生が有れば(ステップS35:YES)、窓100への物体Zの挟み込みが発生したと判断する(ステップS36)。そして、モータ駆動回路2から逆転信号を出力してモータ3を逆転させ、窓100を開く(ステップS37)。これによって、挟み込みが解除される。そして、窓100が完全に開いたか否かを判定し(ステップS38)、完全に開けば(ステップS38:YES)処理を終了し、完全に開いてなければ(ステップS38:NO)、ステップS37へ戻ってモータ3の逆転を継続する。
一方、ステップS34の処理の結果、モータ3の回転異常の発生が無ければ(ステップS35:NO)、窓100への物体Zの挟み込みは発生していないので、ステップS39で操作スイッチ1がマニュアル開MOの位置にあるか否かを判定する。操作スイッチ1がマニュアル開MOの位置にあれば(ステップS39:YES)、後述のマニュアル開処理に移り(ステップS40)、マニュアル開MOの位置になければ(ステップS39:NO)、オート開AOの位置にあるか否かを判定する(ステップS41)。操作スイッチ1がオート開AOの位置にあれば(ステップS41:YES)、後述のオート開処理に移り(ステップS42)、操作スイッチ1がオート開AOの位置になければ(ステップS41:NO)、ステップS32へ戻ってモータ3の正転を継続する。
図9は、図6のステップS6、図7のステップS23、および図8のステップS40におけるマニュアル開処理の詳細手順を示したフローチャートである。本図は、本発明の特徴とするところではないが、以下に一通り説明しておく。最初に、マニュアル開動作により窓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のステップS25、図8のステップS42、および図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」は過去の任意のタイミング(パルスエッジ)である。「y」と上記「x」とは、同一のタイミングであってもよいが、好ましくは異なるタイミングである方がよい。そして、2回変化量算出部85により現在の1回変化量ΔF1(0)と過去の1回変化量ΔF1(y)の差分を2回変化量ΔF2(0)として算出する(ΔF2(0)=ΔF1(0)−ΔF1(y))(ステップS75)。
図13は、第1実施形態における窓100の閉動作中のモータ3の回転速度と1回変化量と2回変化量の変化状態を示した図である。縦軸には、モータ回転速度、即ち図1のロータリエンコーダ4から出力されるパルスの周波数を示している。横軸には、窓ガラス101の移動量、即ち該パルスのエッジのタイミングを示している。塗り潰した丸で示しているfは、モータ3の生の回転速度である。塗り潰した四角で示しているΔF1は、1回変化量(回転速度fの変化量)である。塗り潰した三角で示しているΔF2は、2回変化量(1回変化量ΔF1の変化量)である。本例では、1回変化量ΔF1は、現在より4回前に検出した過去の回転速度fから現在の回転速度fを引いて算出している。2回変化量ΔF2は、現在の1回変化量ΔF1からこの2回前に算出した過去の1回変化量ΔF1を引いて算出している。このように変化量ΔF1、ΔF2を算出するのは、回転速度fに対する変化量ΔF1、ΔF2の増減傾向を同様にして、回転速度fの変化状態を把握し易くするためである。これにより、回転速度fが等速度の間は、いずれの変化量ΔF1、ΔF2も「0」を示し、回転速度fが加速(上昇)すると、いずれの変化量ΔF1、ΔF2も増加(「−」側へ移動)し、回転速度fが減速(減少)すると、いずれの変化量ΔF1、ΔF2も減少(「+」側へ移動)する。このため、変化量ΔF1、ΔF2の増減傾向を検出することで、回転速度fの加減速傾向を検出することができる。
太線で示すSは、窓100への物体Zの挟み込みによるモータ3の回転異常の有無を検出するための閾値である。二点鎖線で示すAは、2回変化量ΔF2がある程度の減少傾向にあることを検出するための閾値である。各閾値S、Aは、予め設定されてメモリ6の所定領域に記憶されている。本例では、閾値Sを「0」より「+」側で比較的離れた値(例えば初期値S(0)を8Hz)に設定している。また、閾値Aを「0」より「+」側で比較的近い値(2Hz)に設定している。変化量ΔF1、ΔF2の増減傾向については、変化量ΔF1、ΔF2が「+」側の値か「−」側の値かによっても検出される。
図13では、窓100の閉動作中に、車両が悪路を走行したり、ドアが強く閉められたりする等して、衝撃が発生して外乱として入力された状態を示している。後述する図15および図18においても同様である。窓100の閉動作中に上記外乱が入力されたため、図13の中央に示すように、モータ3の回転速度fが弱く加速(上昇)した後、減速(減少)して、波打ったように変動している。またこれに伴って、1回変化量ΔF1と2回変化量ΔF2が「0」から弱く「−」側へ増加した後、「+」側へ減少して、再び「−」側へ増加し、波打ったように変動している。
図11のステップS75の終了後、図12のステップS76で現在の1回変化量ΔF1(0)が「0」以下で増加傾向にあり、かつ現在の2回変化量ΔF2(0)が閾値A以上である程度の減少傾向にあるか否かを判定する。図13の中央より左側に示すようにモータ3の回転速度fが等速度にあるときや、モータ3の回転速度fが外乱の影響により弱く加速したときは、現在の1回変化量ΔF1(0)は「0」以下になるが、現在の2回変化量ΔF2(0)は閾値A未満となってある程度の減少傾向を示さない(図12のステップS76:NO)。こうなると、モータ3の回転速度fの加速傾向は検出できるが、減速傾向は未だ検出できないので、外乱の入力も未だ検出できず、閾値変更部86で閾値Sを変更せずに初期値S(0)のままにしておく(ステップS80)。
そして次に、変化量・閾値比較部87で現在の1回変化量ΔF1(0)と閾値S(0)とを比較して、1回変化量ΔF1(0)が閾値S(0)以上であるか否かを判定する(ステップS81)。ここで、現在の1回変化量ΔF1(0)が閾値S(0)以上であれば(ステップS81:YES)、回転異常判定部88でモータ3の回転異常の発生が有ると判断する(ステップS79)。そして、回転異常検出処理を終了し、図7のステップS15または図8のステップS35へ移行する。この後、モータ3の回転異常の発生が有ったため(ステップS15:YESまたはステップS35:YES)、窓100への物体Zの挟み込みが発生したと判断する(ステップS16またはステップS36)。そして、モータ3を逆転させて、窓100を開き(ステップS17またはステップS37)、前述したように以降の処理を実行する。
上記に対して、図12のステップS81で現在の1回変化量ΔF1(0)が閾値S(0)未満であれば(ステップS81:NO)、回転異常判定部88でモータ3の回転異常の発生が無いと判断する(ステップS82)。そして、回転異常検出処理を終了し、図7のステップS15または図8のステップS35へ移行する。この後、モータ3の回転異常の発生が無かったため(ステップS15:NOまたはステップS35:NO)、窓100への物体Zの挟み込みは発生しておらず、モータ3の正転を継続する。そして、操作スイッチ1がマニュアル閉MCの位置にあるか否かを判定し(ステップS19またはステップS39)、前述したように以降の処理を実行する。
その後、図13の中央に示すようにモータ3の回転速度fが外乱の影響により弱く加速した後減速すると、破線で囲んでいるように現在の1回変化量ΔF1(0)が「0」以下で増加傾向を示し、かつ現在の2回変化量ΔF2(0)が閾値A以上である程度の減少傾向を示す(図12のステップS76:YES)。こうなると、モータ3の回転速度fの加速傾向から減速傾向への転換が検出できるので、外乱の入力が検出でき、外乱に対応するように、閾値変更部86で閾値Sを初期値S(0)から所定量アップした値S(m)に変更する(ステップS77)。図13では、初期値S(0)から6Hzアップして変更後の閾値S(m)を14Hzにしている。これにより、モータ3の回転異常を誤検知しないための誤検知マージン(閾値Sと1回変化量ΔF1の差分)が大きくなり、1回変化量ΔF1が閾値Sに達し難くなる。
そして次に、変化量・閾値比較部87で現在の1回変化量ΔF1(0)と変更後の閾値S(m)とを比較して、1回変化量ΔF1(0)が閾値S(m)以上であるか否かを判定する(ステップS78)。ここで、現在の1回変化量ΔF1(0)が閾値S(m)以上であれば(ステップS78:YES)、回転異常判定部88でモータ3の回転異常の発生が有ると判断する(ステップS79)。そして、回転異常検出処理を終了し、図7のステップS15または図8のステップS35へ移行する。この後、モータ3の回転異常の発生が有ったため(ステップS15:YESまたはステップS35:YES)、窓100への物体Zの挟み込みが発生したと判断する(ステップS16またはステップS36)。そして、モータ3を逆転させて、窓100を開き(ステップS17またはステップS37)、前述したように以降の処理を実行する。
上記に対して、図12のステップS78で現在の1回変化量ΔF1(0)が閾値S(m)未満であれば(ステップS78:NO)、回転異常判定部88でモータ3の回転異常の発生が無いと判断する(ステップS82)。そして、回転異常検出処理を終了し、図7のステップS15または図8のステップS35へ移行する。この後、モータ3の回転異常の発生が無かったため(ステップS15:NOまたはステップS35:NO)、操作スイッチ1がマニュアル閉MCの位置にあるか否かを判定し(ステップS19またはステップS39)、前述したように以降の処理を実行する。図7のマニュアル閉処理または図8のオート閉処理の終了後、閾値Sは初期値S(0)に戻される。
以上の第1実施形態によると、窓100の閉動作中に、悪路走行やドアの強閉等による外乱が入力されて、モータ3の回転速度fが弱く加速した後減速した場合には、1回変化量ΔF1と2回変化量ΔF2が増加傾向を示した後減少傾向を示す。その際、1回変化量ΔF1が増加傾向を示したまま、先に2回変化量ΔF2が減少傾向へ転じるので、該転換時に外乱の入力を確実に検知して、外乱に対応するようにモータ3の回転異常を検出するための閾値Sを変更することができる。このため、変更後の閾値S(m)と1回変化量ΔF1とを比較することで、外乱の影響によりモータ3の回転異常の有無を誤判定しなくなり、モータ3の回転異常を正確に検知可能となる。また、外乱の入力が無い状態で、窓100への物体Zの挟み込みによりモータ3の回転速度が低下する回転異常が発生した場合には、1回変化量ΔF1と2回変化量ΔF2が減少傾向のみ示すので、外乱が入力されたと誤検知せず、閾値Sを無駄に変更しないようにすることができる。このため、未変更の閾値S(0)と1回変化量ΔF1とを比較することで、外乱の影響によらないモータ3の回転異常の有無を誤判定しなくなり、モータ3の回転異常を正確に検知可能となる。
図14は、本発明の第2実施形態におけるモータ3の回転異常検出処理の一部の詳細手順を示したフローチャートである。本フローチャートは、前述の図12のフローチャートに代えて、前述の図11のフローチャートの続きとして実行されるものである。よって、図11を第2実施形態として引用する。また、前述の図7および図8のフローチャートも第2実施形態として引用する。さらに、本第2実施形態の回転異常検出ブロックは図5と同様であるため、図5も第2実施形態として引用する。なお、図14では、図12と同一処理については同一符号を付してある。図11において、前述したようにステップS71〜S75を実行して、モータ3の現在の回転速度f(0)、現在の1回変化量ΔF1(0)、および現在の2回変化量ΔF2(0)をそれぞれ取得する。
図15は、第2実施形態における窓100の閉動作中のモータ3の回転速度と1回変化量と2回変化量の変化状態を示した図である。モータ3の回転速度f、1回変化量ΔF1、および2回変化量ΔF2の表示形態と検出・算出方法と変化状態は、図13と同様である。閾値Sの表示形態と設定値も、図13と同様である。二点鎖線で示すCは、2回変化量ΔF2がある程度の減少傾向にあることを検出するための閾値である。一点鎖線で示すBは、1回変化量ΔF1が2回変化量ΔF2より弱い減少傾向にあることを検出するための閾値である。各閾値B、Cは、予め設定されてメモリ6の所定領域に記憶されている。本例では、閾値Bを、「0」より「+」側で比較的近い値(3Hz)に設定している。また、閾値Cを、「0」より「+」側で閾値Sより小さくて閾値Bより大きい値(5Hz)に設定している。
図11のステップS75の終了後、図14のステップS90で現在の2回変化量ΔF2(0)が閾値C以上である程度の減少傾向にあり、かつ現在の1回変化量ΔF1(0)が閾値B未満で2回変化量ΔF2(0)より弱い減少傾向にあるか(即ち、2回変化量ΔF2(0)より強い減少傾向にないか)否かを判定する。図15の中央より左側に示すようにモータ3の回転速度fが等速度にあるときや、モータ3の回転速度fが外乱の影響により弱く加速したときからしばらくの間は、現在の1回変化量ΔF1(0)は閾値B未満になるが、現在の2回変化量ΔF2(0)は閾値C未満となってある程度の減少傾向を示さない(図14のステップS90:NO)。こうなると、モータ3の回転速度fの加速傾向は検出できるが、減速傾向は未だ検出できないので、外乱の入力も未だ検出できず、閾値Sを変更せずに初期値S(0)のままにしておく(ステップS80)。そして、現在の1回変化量ΔF1(0)と閾値S(0)とを比較して、1回変化量ΔF1(0)が閾値S(0)以上であるか否かを判定し(ステップS81)、該判定結果に応じて、前述したように以降の処理を実行する。
その後、図15の中央に示すようにモータ3の回転速度fが外乱の影響により弱く加速した後減速すると、破線で囲んでいるように現在の2回変化量ΔF2(0)が閾値C以上である程度の減少傾向を示し、かつ現在の1回変化量ΔF1(0)が閾値B未満で2回変化量ΔF2(0)より弱い減少傾向を示す(図14のステップS90:YES)。こうなると、モータ3の回転速度fの加速傾向から減速傾向への転換が検出できるので、外乱の入力が検出でき、外乱に対応するように、閾値Sを初期値S(0)から所定量アップした値S(m)に変更する(ステップS77)。図15では、図13と同様に、初期値S(0)から6Hzアップして変更後の閾値S(m)を14Hzにしている。そして、現在の1回変化量ΔF1(0)と変更後の閾値S(m)とを比較して、1回変化量ΔF1(0)が閾値S(m)以上であるか否かを判定し(ステップS78)、該判定結果に応じて、前述したように以降の処理を実行する。
以上の第2実施形態によると、窓100の閉動作中に外乱が入力されて、モータ3の回転速度fが弱く加速した後減速した場合には、1回変化量ΔF1と2回変化量ΔF2が増加傾向を示した後減少傾向を示す。その際、先に2回変化量ΔF2が減少傾向へ転じてから、1回変化量ΔF1が2回変化量ΔF2より弱い減少傾向へ転じるので、該転換時に外乱の入力を確実に検知して、外乱に対応するように閾値Sを変更することができる。このため、変更後の閾値S(m)と1回変化量ΔF1とを比較することで、外乱の影響によりモータ3の回転異常の有無を誤判定しなくなり、モータ3の回転異常を正確に検知可能となる。また、外乱の入力が無い状態で、窓100への物体Zの挟み込みによりモータ3の回転速度が低下する回転異常が発生した場合には、1回変化量ΔF1と2回変化量ΔF2が一気に強い減少傾向を示すので、外乱が入力されたと誤検知せず、閾値Sを無駄に変更しないようにすることができる。このため、未変更の閾値S(0)と1回変化量ΔF1とを比較することで、外乱の影響によらないモータ3の回転異常の有無を誤判定しなくなり、モータ3の回転異常を正確に検知可能となる。
図16は本発明の第3実施形態における回転異常検出ブロックを示した図である。図中、図5と同一若しくは対応する部分には同一符号を付してある。図16では、図5に示した構成に加えて、積分値算出部90を設けている。また、図5に示した閾値変更部86に代えて、閾値変更部91を設けている。積分値算出部90は、所定区間に1回変化量算出部83で算出されて1回変化量記憶部84に記憶された複数の1回変化量の積分値を算出する。閾値変更部91は、予め設定されてメモリ6の所定領域に記憶された所定の閾値を、積分値算出部90から出力される1回変化量の積分値と、2回変化量算出部85から出力される現在の2回変化量とに基づいて変更する。積分値算出部90は、本発明における第3の算出手段の一実施形態を構成する。閾値変更部91は、本発明における変更手段の一実施形態を構成する。
図17は、第3実施形態におけるモータ3の回転異常検出処理の一部の詳細手順を示したフローチャートである。本フローチャートは、前述の図12のフローチャートに代えて、前述の図11のフローチャートの続きとして実行されるものである。よって、図11を第3実施形態として引用する。また、前述の図7および図8のフローチャートも第3実施形態として引用する。なお、図17では、図12と同一処理については同一符号を付してある。図11において、前述したようにステップS71〜S75を実行して、モータ3の現在の回転速度f(0)、現在の1回変化量ΔF1(0)、および現在の2回変化量ΔF2(0)をそれぞれ取得する。
図18は、第3実施形態における窓100の閉動作中のモータ3の回転速度と1回変化量と2回変化量の変化状態を示した図である。モータ3の回転速度f、1回変化量ΔF1、および2回変化量ΔF2の表示形態と検出・算出方法と変化状態は、図13と同様である。閾値S、Aの表示形態と設定値も、図13と同様である。図18の中央に塗り潰して示すDは、所定区間の1回変化量ΔF1の積分値である。
図11のステップS75の終了後、図17のステップS91で1回変化量記憶部84より現在から所定回数前までの連続する区間の1回変化量ΔF1(0)〜ΔF1(z)を読み出し、該1回変化量ΔF1(0)〜ΔF1(z)に「0」以下と「0」より大きい値が有って、増加傾向と減少傾向がそれぞれ存在しているか否かを判定する。現在の1回変化量ΔF1(0)は1回変化量算出部83より取得してもよい。「z」は過去の任意の1回変化量ΔF1のタイミング(パルスエッジ)である。図18では、現在から2回前までの連続する3区間における1回変化量ΔF1に、「0」以下と「0」より大きい値が有って、増加傾向と減少傾向が存在しているかを検出している。図18の中央より左側に示すようにモータ3の回転速度fが等速度にあるときや、モータ3の回転速度fが外乱の影響により弱く加速したときは、現在から所定回数前までの1回変化量ΔF1(0)〜ΔF1(z)は全て「0」以下で増加傾向のみを示し、減少傾向を示さない(図17のステップS91:NO)。こうなると、モータ3の回転速度fの加速傾向は検出できるが、減速傾向は未だ検出できないので、外乱の入力も未だ検出できず、閾値変更部91で閾値Sを変更せずに初期値S(0)のままにしておく(ステップS80)。そして、現在の1回変化量ΔF1(0)と閾値S(0)とを比較して、1回変化量ΔF1(0)が閾値S(0)以上であるか否かを判定し(ステップS81)、該判定結果に応じて、前述したように以降の処理を実行する。
その後、図18の中央に示すようにモータ3の回転速度fが外乱の影響により弱く加速した後減速すると、破線で囲んでいるように現在から所定回数前までの1回変化量ΔF1(0)〜ΔF1(z)に「0」以下と「0」より大きい値が有って、増加傾向と減少傾向がそれぞれ存在する(図17のステップS91:YES)。このようになると、積分値算出部90で1回変化量ΔF1(0)〜ΔF1(z)の積分値Dを算出する(ステップS92)。図18では、横軸と縦軸の一目盛をそれぞれ「1」とし、破線内で「0」より「−」側に塗り潰して示す部分の面積が「−3.5」であり、「+」側に塗り潰して示す部分の面積が「+0.5」であるので、これらの値を合計して、積分値Dは「−3」となる。
次に、図17のステップS93で1回変化量ΔF1(0)〜ΔF1(z)の積分値Dが「0」以下で増加傾向を示し(即ち、1回変化量ΔF1(0)〜ΔF1(z)が全体として増加傾向を示し)、かつ現在の2回変化量ΔF2(0)が閾値A以上である程度の減少傾向を示しているか否かを判定する。図18の破線内では、上記のように積分値Dが「−3」となって「0」以下で増加傾向を示し、かつ現在の2回変化量ΔF2(0)が閾値A以上である程度の減少傾向を示している(図17のステップS93:YES)。こうなると、モータ3の回転速度fの加速傾向から減速傾向への転換が検出できるので、外乱の入力が検出でき、外乱に対応するように、閾値変更部91で閾値Sを初期値S(0)から所定量アップした値S(m)に変更する(ステップS77)。図18では、図13と同様に、初期値S(0)から6Hzアップして変更後の閾値S(m)を14Hzにしている。そして、現在の1回変化量ΔF1(0)と変更後の閾値S(m)とを比較して、1回変化量ΔF1(0)が閾値S(m)以上であるか否かを判定し(ステップS78)、該判定結果に応じて、前述したように以降の処理を実行する。対して、ステップS93で積分値Dが「0」より大きかったり、2回変化量ΔF2(0)が閾値A未満であったりした場合は(ステップS93:NO)、閾値Sを変更せず初期値S(0)のままにしておき(ステップS80)、前述したように以降の処理を実行する。
以上の第3実施形態によると、窓100の閉動作中に外乱が入力されて、モータ3の回転速度fが弱く加速した後減速した場合には、1回変化量ΔF1と2回変化量ΔF2が増加傾向を示した後減少傾向を示す。その際、所定区間で1回変化量ΔF1が増加傾向と減少傾向を示しつつ、該1回変化量ΔF1の積分値Dが増加傾向を示すとき、即ち所定区間の1回変化量ΔF1が増加傾向から減少傾向へ転じた直後で全体的にはまだ増加傾向を示すときに、2回変化量ΔF2は既に減少傾向へ転じているので、このときに外乱の入力を確実に検知して、外乱に対応するように閾値Sを変更することができる。このため、変更後の閾値S(m)と1回変化量ΔF1とを比較することで、外乱の影響によりモータ3の回転異常の有無を誤判定しなくなり、モータ3の回転異常を正確に検知可能となる。また、外乱の入力が無い状態で、窓100への物体Zの挟み込みによりモータ3の回転速度が低下する回転異常が発生した場合には、1回変化量ΔF1と2回変化量ΔF2が増加傾向と減少傾向の両方を示さないので、外乱が入力されたと誤検知せず、閾値Sを無駄に変更しないようにすることができる。このため、未変更の閾値S(0)と1回変化量ΔF1とを比較することで、外乱の影響によらないモータ3の回転異常の有無を誤判定しなくなり、モータ3の回転異常を正確に検知可能となる。
以上述べた実施形態では、本発明を車両のドアの窓を開閉制御する装置に適用した場合を例に挙げたが、本発明はこれ以外にも、車両の天井のサンルーフ、車両の後部扉、建物の窓、建物の扉・戸など各種の開閉体を開閉制御する装置に適用することができる。