(57)【要約】  車両に搭載された窓ガラス（２）の動きを制御するパワーウインドウ装置は、窓ガラス（２）を自動的に閉じる自動閉じ機能を実行する開閉制御部（６０）と、窓ガラス（２）を駆動する電動機（１０）の起動回数を計数する計数部（６３）と、電動機（１０）の起動回数に基づいて自動閉じ機能を制限する機能制限部（６４）と、を有する。機能制限部（６４）は、窓ガラス（２）が全閉位置に達したときに自動閉じ機能の制限を解除する。
2018207684.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載された開閉体の動きを制御する開閉体制御装置であって、
前記開閉体を自動的に閉じる自動閉じ機能を実行する開閉制御部と、
前記開閉体を駆動する電動機の起動回数を計数する計数部と、
前記起動回数に基づいて前記自動閉じ機能を制限する機能制限部と、を有する、
開閉体制御装置。
【請求項２】
前記機能制限部は、前記開閉体が全閉位置に達したときに前記自動閉じ機能の制限を解除する、
請求項１に記載の開閉体制御装置。
【請求項３】
前記計数部は、前記開閉体が全閉位置に達したときに前記起動回数をゼロにリセットする、
請求項１又は２に記載の開閉体制御装置。
【請求項４】
前記機能制限部は、前記起動回数が所定の閾値を超えた場合に、前記自動閉じ機能の実行を禁止する、
請求項１乃至３の何れかに記載の開閉体制御装置。
【請求項５】
車両に搭載された開閉体の動きを制御する開閉体制御方法であって、
前記開閉体を自動的に閉じる自動閉じ機能を実行するステップと、
前記開閉体を駆動する電動機の起動回数を計数するステップと、
前記起動回数に基づいて前記自動閉じ機能を制限するステップと、を有する、
開閉体制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両の窓ガラス、サンルーフ、ドアミラー等の開閉体を電動機で動作させる開閉体制御装置に関する。
【背景技術】
【０００２】
従来、サンルーフを開閉する電動機（モータ）の駆動制御装置が知られている（特許文献１参照。）。この装置は、サンルーフが全閉位置から開方向に摺動しているときの作動時間を計測する。そして、その作動時間が所定の最大値に達したときにモータを停止させることで、リミットスイッチに依存することなく、サンルーフが全開位置に達したときにサンルーフの動きを停止させることができる。サンルーフが全開位置から閉方向に摺動しているときについても同様である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】実開平３−１１４４２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のような制御は、開閉体の位置を数ミリ単位で高精度に検出する必要がある場合には不向きである。開閉体の位置の検出誤差（開閉体の実際の位置と検出された位置との差）が大きいためである。開閉体の位置を高精度に検出する必要がある場合は、例えば、開閉体を自動的に閉じる自動閉じ機能を実行しているときに開閉体が異物に接触したか或いは全閉位置に達したかを区別する場合である。この場合、開閉体の位置の検出誤差が大きいと、自動閉じ機能が誤動作してしまうおそれがある。具体的には、開閉体が全閉位置に達した状態を異物に接触した状態と誤認識してしまい、開閉体の移動方向を反転させて開閉体を開いてしまうおそれがある。或いは、開閉体が異物に接触した状態を全閉位置に達した状態と誤認識してしまい、開閉体で異物を挟み込んでしまうおそれがある。【０００５】
上述の点に鑑み、自動閉じ機能の誤動作をより確実に防止できる開閉体制御装置を提供することが望まれる。
【課題を解決するための手段】
【０００６】
本発明の実施例に従った開閉体制御装置は、車両に搭載された開閉体の動きを制御する開閉体制御装置であって、前記開閉体を自動的に閉じる自動閉じ機能を実行する開閉制御部と、前記開閉体を駆動する電動機の起動回数を計数する計数部と、前記起動回数に基づいて前記自動閉じ機能を制限する機能制限部と、を有する。
【発明の効果】
【０００７】
上述の手段により、自動閉じ機能の誤動作をより確実に防止できる開閉体制御装置を提供できる。
【図面の簡単な説明】
【０００８】
【図１】パワーウインドウ装置の構成例を示す概略図である。
【図２】図１のパワーウインドウ装置における演算装置の構成例を示す機能ブロック図である。
【図３】自動閉じ処理のフローチャートである。
【図４Ａ】窓ガラスと上部サッシュの位置関係を示す断面図である。
【図４Ｂ】窓ガラスと上部サッシュの位置関係を示す断面図である。
【図５】基本処理のフローチャートである。
【図６】回転角度検出器の構成例を示す概略図である。
【図７】整流子の概略図である。
【図８Ａ】第１パルス信号が生成されるタイミングの一例を示す図である。
【図８Ｂ】第１パルス信号が生成されるタイミングの別の一例を示す図である。
【図９】第２パルス信号が生成されるタイミングの一例を示す図である。
【図１０】回転量算出処理のフローチャートである。
【図１１】合成パルス信号及びホールパルス信号のそれぞれの推移を示す図である。
【図１２】更新処理のフローチャートである。
【図１３】電動機の回転安定状態の一例を示す図である。
【図１４】回転安定状態のときの電動機の端子間電圧、電流及び第１パルス信号の時間的推移を示す図である。
【発明を実施するための形態】
【０００９】
以下、図を参照し、本発明の実施例に係る開閉体制御装置の一例であるパワーウインドウ装置について説明する。図１は、パワーウインドウ装置の構成例を示す概略図である。
【００１０】
パワーウインドウ装置は、車両のドア１に搭載された開閉体としての窓ガラス２の動きを制御する。パワーウインドウ装置は、主に、窓ガラス駆動機構４の制御を行う演算装置６を有する。図１の例では、演算装置６はドア１内に設けられているが、車両内の別の位置に設けられていてもよい。
【００１１】
ドア１は窓１ａを備えている。窓１ａは窓ガラス２が上下動することで開閉される。具体的には、窓ガラス２が下降することで窓１ａが開かれ、窓ガラス２が上昇することで窓１ａが閉じられる。そして、窓ガラス２が全閉位置まで上昇すると窓１ａは全閉状態となる。このとき、窓ガラス２の上端部２ｔは、ドア１の上端部を構成する上部サッシュ３に突き当たる。
【００１２】
窓ガラス駆動機構４は、窓ガラス２を上下動させる機構であり、ドア１内に収納されている。窓ガラス駆動機構４は、動力源としての電動機１０を含む。
【００１３】
電動機１０は、順方向及び逆方向に回転可能であり、一方向に回転することで窓ガラス２を上昇させ、他方向に回転することで窓ガラス２を下降させる。図１の例では、電動機１０は、整流子を備えた直流整流子電動機である。演算装置６は、電動機１０の回転を制御することで窓ガラス２による窓１ａの開閉を制御できる。
【００１４】
図２は、演算装置６の構成例を示す機能ブロック図である。演算装置６は、主に、操作ボタン７、電圧検出部１０ａ及び電流検出部１０ｂからの信号を受けて各種演算を実行し、４つのスイッチＳＷ１〜ＳＷ４のそれぞれに対して制御指令を出力できる。図２の例では、演算装置６は、ＣＰＵ、揮発性メモリ、不揮発性メモリ等を備えたマイクロコンピュータである。スイッチＳＷ１〜ＳＷ４は、半導体リレーで構成されている。電磁リレーで構成されていてもよい。
【００１５】
電動機１０は、４つのスイッチＳＷ１〜ＳＷ４を介して電源に接続されている。そして、スイッチＳＷ１とスイッチＳＷ３が閉状態（導通状態）となったときに順回転して窓ガラス２を下降させる。また、スイッチＳＷ２とスイッチＳＷ４が閉状態となったときに逆回転して窓ガラス２を上昇させる。電源に接続されている図２の例では、順回転する電動機１０を流れる電流が正の値を有し、逆回転する電動機１０を流れる電流が負の値を有する。惰性回転中は、スイッチＳＷ２とスイッチＳＷ３が閉状態となり、順回転する電動機１０を流れる電流は負の値を有し、逆回転する電動機１０を流れる電流は正の値を有する。本実施例では、惰性回転中も回転を検出するために、電動機１０と電流検出部１０ｂは、閉ループ中に存在する。なお、本実施例では、電動機１０は、電気抵抗値が十分大きいため、電動機１０の２つの端子を短絡しても、惰性で回転する。一方、電動機１０は、電気抵抗値が小さい場合には、電動機１０の２つの端子を短絡すると、急速に減速する。惰性回転中の電動機１０の減速を抑制するためには、抵抗器を通る閉ループを形成すればよい。
【００１６】
電圧検出部１０ａは、電動機１０の端子間電圧Ｖを検出する。電流検出部１０ｂは、電動機１０を流れる電流Ｉｍを検出する。
【００１７】
操作ボタン７は、窓ガラス２を操作するための操作装置の一例であり、例えば、ドア１の車室側の表面に設けられている。本実施例では、操作ボタン７は、自動開ボタン７Ａ、手動開ボタン７Ｂ、自動閉ボタン７Ｃ及び手動閉ボタン７Ｄを含む。
【００１８】
演算装置６は、各種演算を実行するための機能要素として、開閉制御部６０、位置検出部６１、接触判定部６２、計数部６３及び機能制限部６４を有する。
【００１９】
開閉制御部６０は、窓ガラス２の動きを制御する。本実施例では、開閉制御部６０は、操作ボタン７からの信号に応じて窓ガラス２の動きを制御する。
【００２０】
例えば、開閉制御部６０は、所定の窓開け条件が満たされた場合に窓ガラス２を自動的に開ける（下降させる）自動開け機能を実行する。例えば、自動開ボタン７Ａが操作されると、所定の窓開け条件が満たされたと判定し、スイッチＳＷ１及びスイッチＳＷ３を閉状態にして電動機１０を順回転させて窓ガラス２を下降させる。そして、他のボタンが操作されるか、或いは、窓ガラス２が全開位置に達するまでその順回転を継続させる。自動開ボタン７Ａが再操作されたときにその順回転を停止させてもよい。
【００２１】
また、開閉制御部６０は、手動開ボタン７Ｂが操作されると、手動開ボタン７Ｂが操作されている間だけ窓ガラス２を開ける（下降させる）手動開け機能を実行する。例えば、手動開ボタン７Ｂが押下されている間だけスイッチＳＷ１及びスイッチＳＷ３を閉状態にして電動機１０を順回転させて窓ガラス２を下降させる。そして、手動開ボタン７Ｂの押下が中止されてから所定時間が経過すると、その順回転を停止させる。
【００２２】
また、開閉制御部６０は、所定の窓閉じ条件が満たされた場合に窓ガラス２を自動的に閉じる（上昇させる）自動閉じ機能を実行する。例えば、自動閉ボタン７Ｃが操作されると、所定の窓閉じ条件が満たされたと判定し、スイッチＳＷ２及びスイッチＳＷ４を閉状態にして電動機１０を逆回転させて窓ガラス２を上昇させる。そして、他のボタンが操作されるか、或いは、窓ガラス２が全閉位置に達するまでその逆回転を継続させる。自動閉ボタン７Ｃが再操作されたときにその逆回転を停止させてもよい。
【００２３】
また、開閉制御部６０は、手動閉ボタン７Ｄが操作されると、手動閉ボタン７Ｄが操作されている間だけ窓ガラス２を閉じる（上昇させる）手動閉じ機能を実行する。例えば、手動閉ボタン７Ｄが押下されている間だけスイッチＳＷ２及びスイッチＳＷ４を閉状態にして電動機１０を逆回転させて窓ガラス２を上昇させる。そして、手動閉ボタン７Ｄの押下が中止されてから所定時間が経過すると、その逆回転を停止させる。
【００２４】
位置検出部６１は、窓ガラス２の位置を検出する。本実施例では、位置検出部６１は、電動機１０の回転角度を算出する。そして、電動機１０の回転角度に基づき、全閉位置に関する窓ガラス２の上端部２ｔの相対位置を検出する。また、位置検出部６１は、窓１ａが全閉状態となったと判定する度に、その時点で検出されている上端部２ｔの位置で基準位置としての全閉位置を更新する。すなわち、上端部２ｔの現在の位置が全閉位置となる。
【００２５】
接触判定部６２は、窓ガラス２と他の物体とが接触しているか否かを判定する。本実施例では、接触判定部６２は、自動閉じ機能の実行中に窓ガラス２と他の物体とが接触しているか否かを判定する。例えば、位置検出部６１が算出する電動機１０の回転角速度と端子間電圧Ｖと電流Ｉｍとに基づいてトルクを算出する。そして、算出したトルクが所定の第１閾値以上の場合に窓ガラス２と他の物体とが接触していると判定する。
【００２６】
計数部６３は、電動機１０の起動回数を計数する。本実施例では、計数部６３は、電動機１０が起動したとき、すなわち電動機１０の回転が開始されたときに、電動機１０の起動回数をカウントアップする。例えば、操作ボタン７が操作される度に起動回数を１だけ加算（インクリメント）する。また、計数部６３は、窓ガラス２が全閉位置に達する度に起動回数をゼロにリセットする。
【００２７】
機能制限部６４は、開閉制御部６０による機能の一部を制限する。本実施例では、機能制限部６４は、所定の機能制限条件が満たされた場合に自動閉じ機能を制限する。例えば、電動機１０の起動回数に基づいて自動閉じ機能を制限する。
【００２８】
自動閉じ機能の制限は、例えば、自動閉じ機能の実行を禁止すること、自動閉じ機能による窓ガラス２の上端部２ｔの最終到達位置を全閉位置よりも低い位置にすること、自動閉じ機能による窓ガラス２の移動距離（上昇距離）を制限すること等を含む。
【００２９】
機能制限部６４は、例えば、電動機１０の起動回数が所定の閾値を超えたときに、所定の機能制限条件が満たされたと判定し、自動閉じ機能の実行を禁止する。起動回数が多いほど、窓ガラス２の位置の検出誤差が大きくなり、自動閉じ機能が誤動作する可能性が高まるためである。
【００３０】
この点に関し、窓ガラス２を上昇させるために電動機１０を起動する場合と窓ガラス２を下降させるために電動機１０を起動する場合とで検出誤差の増減方向が正反対となるときには、計数部６３はその違いを考慮してもよい。例えば、計数部６３は、自動開ボタン７Ａ又は手動開ボタン７Ｂが押下されたときに起動回数を１だけインクリメントし、自動閉ボタン７Ｃ又は手動閉ボタン７Ｄが押下されたときに起動回数を１だけ減算（デクリメント）してもよい。
【００３１】
また、機能制限部６４は、窓ガラス２が全閉位置に達したときに自動閉じ機能の制限を解除する。自動閉じ機能の誤動作の原因となる窓ガラス２の位置の検出誤差がゼロにリセットされるためである。
【００３２】
ここで、図３、図４Ａ及び図４Ｂを参照し、自動閉ボタン７Ｃが操作されたときに演算装置６が実行する処理（以下、「自動閉じ処理」とする。）について説明する。図３は自動閉じ処理のフローチャートである。図４Ａ及び図４Ｂは、窓ガラス２の上端部２ｔと上部サッシュ３の位置関係を示す断面図であり、図１の破線Ｌ１を含む平面を矢印ＡＲ１で示す方向から見たときの断面図に対応する。
【００３３】
最初に、演算装置６は、自動閉じ機能が有効であるか否かを判定する（ステップＳＴ１）。演算装置６は、例えば、機能制限部６４によって自動閉じ機能が制限されていない場合に自動閉じ機能が有効であると判定する。機能制限部６４によって自動閉じ機能が禁止されていない場合に自動閉じ機能が有効であると判定してもよい。すなわち、自動閉じ機能が制限されている場合であっても禁止されていなければ自動閉じ機能が有効であると判定してもよい。
【００３４】
自動閉じ機能が無効であると判定した場合（ステップＳＴ１のＮＯ）、開閉制御部６０は、自動閉じ機能を開始させることなく、今回の自動閉じ処理を終了させる。
【００３５】
自動閉じ機能が有効であると判定した場合（ステップＳＴ１のＹＥＳ）、開閉制御部６０は、自動閉じ機能を開始させる（ステップＳＴ２）。開閉制御部６０は、例えば、スイッチＳＷ２及びスイッチＳＷ４を閉状態にして電動機１０を逆回転させて窓ガラス２を上昇させる。
【００３６】
その後、接触判定部６２は、窓ガラス２と他の物体とが接触しているか否かを判定する（ステップＳＴ３）。接触判定部６２は、例えば、電動機１０が発生させているトルクが第１閾値以上の場合に窓ガラス２と他の物体とが接触していると判定する。
【００３７】
窓ガラス２と他の物体とが接触していないと判定した場合（ステップＳＴ３のＮＯ）、接触判定部６２は、窓ガラス２と他の物体とが接触していると判定するまでステップＳＴ３の判定を繰り返す。
【００３８】
窓ガラス２と他の物体とが接触していると判定された場合（ステップＳＴ３のＹＥＳ）、位置検出部６１は、窓ガラス２の上端部２ｔの位置が非検出範囲内にあるか否かを判定する（ステップＳＴ４）。
【００３９】
非検出範囲は、窓ガラス２と接触している物体を異物として検出しない範囲、すなわち、窓ガラス２と接触している物体が上部サッシュ３であるとみなされる範囲を意味する。「範囲」は、例えば、全閉位置からの距離で表される。
【００４０】
本実施例では、位置検出部６１は、図４Ａに示すように、全閉位置と窓ガラス２の上端部２ｔとの距離Ｄ１が閾値Ｄｔ以下の場合に、窓ガラス２の上端部２ｔの位置が非検出範囲内にあると判定する。そして、接触判定部６２により窓ガラス２と他の物体とが接触していると判定され、且つ、位置検出部６１により窓ガラス２の上端部２ｔの位置が非検出範囲内にあると判定されると、演算装置６は、窓１ａが全閉状態にあると判定する。
【００４１】
一方で、位置検出部６１は、図４Ｂに示すように、全閉位置と窓ガラス２の上端部２ｔとの距離Ｄ１が閾値Ｄｔより大きい場合に、窓ガラス２の上端部２ｔの位置が非検出範囲内にないと判定する。そして、接触判定部６２により窓ガラス２と他の物体とが接触していると判定され、且つ、位置検出部６１により窓ガラス２の上端部２ｔの位置が非検出範囲内にないと判定されると、演算装置６は、窓ガラス２が上部サッシュ３以外の異物に接触していると判定する。
【００４２】
窓ガラス２の上端部２ｔの位置が非検出範囲内にあると判定した場合（ステップＳＴ４のＹＥＳ）、開閉制御部６０は、窓１ａが全閉状態にあると判定して電動機１０を停止させる（ステップＳＴ５）。電動機１０が発生させているトルクが第２閾値（＞第１閾値）に達するまで電動機１０の逆回転を継続させ、トルクが第２閾値に達したときに電動機１０の逆回転を停止させてもよい。
【００４３】
その後、位置検出部６１は、全閉位置をリセット（初期化）する（ステップＳＴ６）。位置検出部６１は、例えば、窓ガラス２の上端部２ｔの現在の位置が全閉位置に一致しているか否かにかかわらず、窓ガラス２の上端部２ｔの現在の位置を全閉位置として設定する。
【００４４】
そして、計数部６３は、起動回数をリセットする。全閉位置のリセットにより、窓ガラス２の位置の検出誤差が解消されるためである。そして、機能制限部６４は、自動閉じ機能を制限している場合には、その制限を解除する。窓ガラス２の位置の検出誤差が解消されたため、すなわち、その検出誤差に起因して自動閉じ機能が誤動作するおそれがなくなったためである。
【００４５】
窓ガラス２の上端部２ｔの位置が非検出範囲内にないと判定した場合（ステップＳＴ４のＮＯ）、開閉制御部６０は、窓ガラス２が上部サッシュ３以外の異物に接触していると判定し、電動機１０の回転方向を反転させる（ステップＳＴ７）。本実施例では、開閉制御部６０は、逆回転していた電動機１０を順回転させて窓ガラス２を下降させる。異物の挟み込みを防止するためである。
【００４６】
その後、開閉制御部６０は、窓ガラス２が全開位置に達するまで電動機１０を順回転させ、窓ガラス２が全開位置に達したところで電動機１０を停止させる（ステップＳＴ８）。開閉制御部６０は、窓ガラス２が所定距離だけ下降したところで電動機１０の順回転を停止させてもよい。
【００４７】
次に、図５を参照し、パワーウインドウ装置の稼働中に演算装置６が実行する基本的な処理（以下、「基本処理」とする。）について説明する。図５は基本処理のフローチャートである。演算装置６は、所定の制御周期で繰り返しこの基本処理を実行する。
【００４８】
最初に、演算装置６は、操作ボタン７が操作されたか否かを判定する（ステップＳＴ１１）。本実施例では、演算装置６は、自動開ボタン７Ａ、手動開ボタン７Ｂ、自動閉ボタン７Ｃ及び手動閉ボタン７Ｄの何れかが押下されたときに操作ボタン７が操作されたと判定する。
【００４９】
操作ボタン７が操作されたと判定した場合（ステップＳＴ１１のＹＥＳ）、計数部６３は、電動機１０の起動回数をカウントアップする（ステップＳＴ１２）。本実施例では、自動開ボタン７Ａ、手動開ボタン７Ｂ、自動閉ボタン７Ｃ及び手動閉ボタン７Ｄの何れが押下された場合であっても起動回数を１だけインクリメントする。
【００５０】
その後、機能制限部６４は、起動回数が閾値を超えたか否かを判定する（ステップＳＴ１３）。本実施例では、機能制限部６４は、起動回数が１０回を超えたか否かを判定する。
【００５１】
起動回数が閾値を超えたと判定した場合（ステップＳＴ１３のＹＥＳ）、機能制限部６４は、自動閉じ機能を制限する（ステップＳＴ１４）。本実施例では、機能制限部６４は、自動閉じ機能の実行を禁止する。
【００５２】
起動回数が閾値を超えていないと判定された場合（ステップＳＴ１３のＮＯ）、演算装置６は、自動閉じ機能を制限することなく、ステップＳＴ１５を実行する。操作ボタン７が操作されていないと判定した場合（ステップＳＴ１１のＮＯ）、演算装置６は、起動回数をカウントアップすることなく、また、自動閉じ機能を制限することなく、ステップＳＴ１５を実行する。
【００５３】
ステップＳＴ１５において、演算装置６は、窓１ａが全閉状態にあるか否かを判定する。本実施例では、窓ガラス２の上端部２ｔの位置が非検出範囲内にある場合に窓１ａが全閉状態にあると判定する。例えば、手動閉ボタン７Ｄの操作によって上端部２ｔの位置が非検出範囲内に至った場合に窓１ａが全閉状態にあると判定する。
【００５４】
窓１ａが全閉状態にあると判定された場合（ステップＳＴ１５のＹＥＳ）、位置検出部６１は全閉位置をリセットし、計数部６３は起動回数をリセットし、そして、機能制限部６４は、自動閉じ機能を制限している場合には、その制限を解除する（ステップＳＴ１６）。本実施例では、位置検出部６１は、窓ガラス２の上端部２ｔの現在の位置を全閉位置として設定する。計数部６３は起動回数をゼロにリセットする。機能制限部６４は、自動閉じ機能の実行を禁止している場合には、その禁止を解除する。
【００５５】
窓１ａが全閉状態にないと判定した場合（ステップＳＴ１５のＮＯ）、演算装置６は、全閉位置のリセット、起動回数のリセット、及び、自動閉じ機能の制限の解除の何れをも行うことなく、今回の基本処理を終了させる。
【００５６】
上述のように、パワーウインドウ装置は、窓ガラス２を自動的に閉じる自動閉じ機能を実行する開閉制御部６０と、窓ガラス２を駆動する電動機１０の起動回数を計数する計数部６３と、電動機１０の起動回数に基づいて自動閉じ機能を制限する機能制限部６４とを有する。そのため、窓ガラス２の位置の検出誤差が大きくなった可能性があるときに自動閉じ機能を制限できる。例えば電動機１０の起動回数が所定の閾値を超えた場合に自動閉じ機能を制限できる。起動回数が閾値を超えるといった状況は、例えば、窓ガラス２を僅かに動かすためのインチング操作が繰り返された場合に発生する。この構成により、パワーウインドウ装置は、窓ガラス２が全閉位置に達したことを検出するためのセンサ（リミットスイッチ、ホールセンサ等）を備えていなくとも、自動閉じ機能の誤動作を低コストで且つ確実に防止できる。すなわち、電流Ｉｍのリップル成分に基づいて窓ガラス２の位置を検出する後述のような構成においても、自動閉じ機能の誤動作を確実に防止できる。具体的には、窓ガラス２が全閉位置に達した状態を異物に接触した状態と誤認識してしまい、窓ガラス２の移動方向を反転させて窓ガラス２を開いてしまうといった状況が発生してしまうのを防止できる。また、窓ガラス２が異物に接触した状態を全閉位置に達した状態と誤認識してしまい、窓ガラス２で異物を挟み込んでしまうといった状況が発生してしまうのを防止できる。
【００５７】
機能制限部６４は、窓ガラス２が全閉位置に達したときに自動閉じ機能の制限を解除してもよい。この構成により、パワーウインドウ装置は、自動閉じ機能が一時的に制限されている場合であっても、窓ガラス２が全閉位置に達したときにその制限を解除して自動閉じ機能を再び利用可能な状態にできる。
【００５８】
計数部６３は、電動機１０が起動するときに電動機１０の起動回数をカウントアップしてもよい。例えば、操作ボタン７が操作される度に起動回数をカウントアップしてもよく、操作ボタン７からの信号とは無関係に、電動機１０の回転が開始される度に起動回数をカウントアップしてもよい。この構成により、パワーウインドウ装置は、窓ガラス２の位置の検出誤差が大きくなった可能性のある状態を容易に認識できる。
【００５９】
計数部６３は、望ましくは、窓ガラス２が全閉位置に達したときに電動機１０の起動回数をゼロにリセットする。窓ガラス２が全閉位置に達すると、全閉位置がリセットされ、窓ガラス２の位置の検出誤差が解消されるためである。この構成により、計数部６３は、自動閉じ機能が誤って早期に制限されてしまうのを防止できる。
【００６０】
機能制限部６４は、電動機１０の起動回数が所定の閾値を超えた場合に、自動閉じ機能の実行を禁止してもよい。自動閉じ機能の実行を禁止するときの閾値は、自動閉じ機能を制限するときの閾値より大きい値であってもよい。この構成により、パワーウインドウ装置は、窓ガラス２の位置の検出誤差が大きくなった可能性が高いときに自動閉じ機能の実行を禁止できる。その結果、自動閉じ機能の誤動作をより確実に防止できる。
【００６１】
次に、図６〜図１４を参照し、位置検出部６１の詳細について説明する。回転角度検出器１００は、位置検出部６１の一例であり、電動機１０の回転角度を検出し、その回転角度に基づいて窓ガラス２の位置を検出する。図６の例では、回転角度検出器１００は、電動機１０の端子間電圧Ｖと電動機１０を流れる電流Ｉｍとに基づいて電動機１０の回転角度を検出する。
【００６２】
図７は電動機１０における整流子２０の概略図である。図７に示すように、整流子２０は、スリット２０ｓによって互いに隔てられた８つの整流子片２０ａで構成されている。各整流子片２０ａの円弧の中心角であるスリット間角度θｃは約４５度である。
【００６３】
回転角度検出器１００は、主に、電圧フィルタ部３０、回転角速度算出部３１、回転角度算出部３２、電流フィルタ部３３、第１信号生成部３４、第２信号生成部３５、回転情報算出部３６、抵抗設定部３７等の要素を含む。各要素は、電気回路で構成されていてもよく、ソフトウェアで構成されていてもよい。
【００６４】
電圧フィルタ部３０は、電圧検出部１０ａが出力する端子間電圧Ｖの波形を滑らかにする。電圧フィルタ部３０は、例えば、回転角速度算出部３１が電動機１０の回転角速度を精度良く算出できるように端子間電圧Ｖの波形を滑らかにする。図６の例では、電圧フィルタ部３０は、ローパスフィルタであり、電圧検出部１０ａが出力する端子間電圧Ｖの波形のうちの高周波成分をノイズとして除去した端子間電圧Ｖ'を出力する。
【００６５】
回転角速度算出部３１は、電動機１０の端子間電圧Ｖ'と電動機１０を流れる電流Ｉｍとに基づいて電動機１０の回転角速度を算出する。図６の例では、回転角速度算出部３１は、式（１）に基づいて回転角速度ωを算出する。
【００６６】
【数１】
2018207684.tif 000003
Keは逆起電力定数であり、Ｒｍは電動機１０の内部抵抗に対応する値（設定抵抗値）であり、Ｌｍは電動機１０のインダクタンスであり、ｄＩｍ／ｄｔは電流Ｉｍの一回微分である。電流Ｉｍの一回微分は、例えば、前回の電流Ｉｍの値と今回の電流Ｉｍの値との差である。設定抵抗値Ｒｍは、例えば、回転角度検出器１００の起動時に抵抗設定部３７によって設定される。
【００６７】
回転角速度算出部３１は、一定の制御周期毎に電動機１０の回転角速度ωを算出し、算出した回転角速度ωを回転角度算出部３２に対して出力する。
【００６８】
回転角度算出部３２は、電動機１０の回転角度θを算出する。回転角度算出部３２は、式（２）に基づいて回転角度θを算出する。
【００６９】
【数２】
2018207684.tif 000004
回転角度算出部３２は、例えば、回転角速度算出部３１が一定の制御周期毎に出力する回転角速度ωを積算して回転角度θを算出し、算出した回転角度θに関する信号である回転角度信号を第２信号生成部３５に対して出力する。
【００７０】
また、回転角度算出部３２は、第２信号生成部３５からの同期指令に応じて回転角度θをゼロにリセットする。
【００７１】
電流フィルタ部３３は、電流検出部１０ｂが出力する電流Ｉｍに含まれる特定の周波数成分であるリップル成分Ｉｒを出力する。電流フィルタ部３３は、例えば、第１信号生成部３４が電流Ｉｍのリップル成分Ｉｒを検出できるようにリップル成分Ｉｒの周波数を通すバンドパスフィルタで構成される。バンドパスフィルタで構成される電流フィルタ部３３は、電流検出部１０ｂが出力する電流Ｉｍの波形のうちのリップル成分Ｉｒ以外の周波数成分を除去する。本実施例で利用するリップル成分Ｉｒは、整流子片２０ａとブラシとの接触・分離に起因して生成される。そのため、リップル成分Ｉｒの１周期の間に電動機１０が回転する角度はスリット間角度θｃに等しい。
【００７２】
第１信号生成部３４は、電動機１０が一定の角度だけ回転したことを、リップル成分Ｉｒの波形から推定した信号を生成する。この信号は、リップル成分Ｉｒの周期に応じた信号である。一定の角度は、リップル成分Ｉｒの１周期に対応する角度でもよいし、半周期に対応する角度でもよい。この実施例では、電動機１０がスリット間角度θｃだけ回転する毎に、リップル成分Ｉｒの波形から推定した信号（第１パルス信号Ｐａ）を生成する。第１信号生成部３４は、例えば、電流フィルタ部３３が出力するリップル成分Ｉｒの波形に基づいて第１パルス信号Ｐａを生成する。
【００７３】
図８Ａは、第１信号生成部３４が第１パルス信号Ｐａを生成するタイミングの一例を示す図である。第１信号生成部３４は、リップル成分Ｉｒの１周期毎に第１パルス信号Ｐａを生成する。例えば、リップル成分Ｉｒが基準電流値Ｉｂを超える度に第１パルス信号Ｐａを生成する。図８Ａの例では、時刻ｔ１、ｔ２、ｔ３、・・・、ｔｎ等で第１パルス信号Ｐａを生成している。Ｃ１、Ｃ２、Ｃ３、・・・、Ｃｎ等は、リップル成分Ｉｒの周期を示し、θ１、θ２、θ３、・・・、θｎ等は、第１信号生成部３４が第１パルス信号を生成したときの回転角度θを示す。回転角度θは、回転角度算出部３２が算出した値である。このように、第１信号生成部３４は、典型的には、回転角度θのがスリット間角度θｃだけ増加する毎に第１パルス信号Ｐａを生成する。
【００７４】
但し、第１信号生成部３４は、例えば、電動機１０の電源オフ後の惰性回転期間において電流Ｉｍ及びそのリップル成分Ｉｒが小さくなった場合、リップル成分Ｉｒを検出できずに、第１パルス信号Ｐａを生成できないことがある。また、第１信号生成部３４は、例えば、電動機１０の電源オン直後に突入電流が発生した場合、その突入電流に応じて第１パルス信号Ｐａを誤って生成してしまうことがある。このような第１パルス信号Ｐａの生成漏れ又は誤生成は、回転角度検出器１００が出力する電動機１０の回転に関する情報（以下、「回転情報」とする。）の信頼性を低下させてしまう。
【００７５】
そこで、回転角度検出器１００は、第２信号生成部３５により、電動機１０の回転角度を表す信号をより高精度に生成できるようにしている。
【００７６】
第２信号生成部３５は、電動機１０が所定角度だけ回転したことを表す信号を生成する。第２信号生成部３５は、例えば、回転角度算出部３２が出力する回転角度信号と第１信号生成部３４が出力する第１パルス信号Ｐａとに基づいてスリット間角度θｃ毎に第２パルス信号Ｐｂを生成する。第２パルス信号Ｐｂは、電動機１０が所定角度だけ回転したことを表す情報の一例である。第１パルス信号Ｐａは、リップル成分Ｉｒの波形のみから推定した信号であるため、誤って出力されることがある。一方、第２パルス信号Ｐｂは、第１パルス信号Ｐａと、回転角度信号の双方から推定した信号であるため、誤差を一定値以下にできる。
【００７７】
図９は、第２信号生成部３５が第２パルス信号Ｐｂを生成するタイミングの一例を示す図である。第１閾値θｕ及び第２閾値θｄは、第１パルス信号Ｐａの受付可否の閾値であり、例えば、回転角度θと電動機１０の実際の回転角度との最大位相差に基づいて設定される。
【００７８】
第２信号生成部３５は、回転角度θが第１閾値θｕ以上で且つスリット間角度θｃ未満のときに第１信号生成部３４が最初に生成した第１パルス信号Ｐａに基づいて、第２パルス信号Ｐｂを生成する。第１閾値θｕは、予め設定される値であってもよく、動的に設定される値であってもよい。図９は、回転角度θが第１閾値θｕ以上で且つスリット間角度θｃ未満の角度範囲である受付範囲をドットパターンで示す。図９の例では、第１信号生成部３４が第１パルス信号Ｐａ１、Ｐａ２、Ｐａ４を生成したときの回転角度θ１、θ２、θ５が第１閾値θｕ以上で且つスリット間角度θｃ未満である。すなわち、回転角度θ１、θ２、θ５のそれぞれがスリット間角度θｃに達するまでの残りの角度が角度α未満である。角度αは、例えば、回転角度θと電動機１０の実際の回転角度との最大誤差に基づき設定される。この場合、第２信号生成部３５は、時刻ｔ１、ｔ２、ｔ５において第１信号生成部３４が生成した第１パルス信号Ｐａ１、Ｐａ２、Ｐａ４がノイズでないとみなす。そのため、第２信号生成部３５は、時刻ｔ１、ｔ２、ｔ５において第２パルス信号Ｐｂ１、Ｐｂ２、Ｐｂ４を生成する。第２パルス信号Ｐｂを生成すると、第２信号生成部３５は、回転角度算出部３２に対して同期指令を出力する。なお、回転角度θがスリット間角度θｃ未満、且つ、第１閾値θｕ以上の場合に、リップル成分Ｉｒと同じ周波数成分を持つノイズが発生すると、誤った第１パルス信号Ｐａが出力され、第２パルス信号Ｐｂが生成されるおそれがある。しかし、次のタイミングで、本当のリップル成分Ｉｒが検出され、回転角度検出器１００は、正しい回転角度を検出できる。したがって、回転角度検出器１００が検出する回転角度は、ノイズによって、一時的に誤って検出されても、正しい回転角度に戻る。また、誤差の範囲は、角度α未満であり、実用上、問題無い範囲である。
【００７９】
また、第２信号生成部３５は、回転角度θの大きさが所定角度に達したときに第２パルス信号Ｐｂを生成する。所定角度は、例えば、スリット間角度θｃである。但し、回転角度θは、回転角度算出部３２が算出した角度であり、誤差が含まれる。図９の例では、時刻ｔ３、ｔ７、ｔ９において回転角度θ３、θ７、θ９の絶対値がスリット間角度θｃに達したときに第２パルス信号Ｐｂ３、Ｐｂ５、Ｐｂ６を生成している。第２パルス信号Ｐｂを生成すると、第２信号生成部３５は、回転角度算出部３２に対して同期指令を出力する。回転角度算出部３２は、同期指令を受けると回転角度θをゼロにリセットする。
【００８０】
すなわち、第２信号生成部３５は、例えば、時刻ｔ２において、第２パルス信号Ｐｂ２を生成した後で第１パルス信号Ｐａを受け取ることがない状態のまま、回転角度θの絶対値がスリット間角度θｃに達したときに第２パルス信号Ｐｂ３を生成する。
【００８１】
このように、第２信号生成部３５は、何らかの理由で第１パルス信号Ｐａが生成されなかった場合であっても、回転角度算出部３２によって算出された回転角度θの絶対値がスリット間角度θｃに達しさえすれば、第２パルス信号Ｐｂを生成する。そのため、第１パルス信号Ｐａの生成漏れを確実に防止できる。
【００８２】
また、第２信号生成部３５は、第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θが第２閾値θｄ未満の場合、第２パルス信号Ｐｂを生成しない。第２閾値θｄは、予め設定される値であってもよく、動的に設定される値であってもよい。このような状況は、典型的には、回転角度θの大きさが所定角度に達したことで第２パルス信号Ｐｂが生成された後に発生する。図９は、回転角度θがゼロ以上で且つ第２閾値θｄ未満の角度範囲である受付範囲をドットパターンで示す。図９の例では、時刻ｔ３で回転角度θの絶対値がスリット間角度θｃに達したことで第２パルス信号Ｐｂ３が生成された後の時刻ｔ４において、第１信号生成部３４が第１パルス信号Ｐａ３を生成している。このときの回転角度θ４は、第２閾値θｄ未満である。すなわち、時刻ｔ３でリセットされた後に積算された回転角度θ４は未だ角度β未満である。この場合、第２信号生成部３５は、時刻ｔ４で第１信号生成部３４が生成した第１パルス信号Ｐａ３を、時刻ｔ３で生成した第２パルス信号Ｐｂ３に統合可能と判定できる。具体的には、電動機１０の実際の回転角度がスリット間角度θｃに達する前に、回転角度算出部３２が出力する回転角度θが、スリット間角度θｃに達した場合に発生する。すなわち、実際の回転角度がスリット間角度θｃに達していないにもかかわらず、回転角度算出部３２が算出した回転角度θがスリット間角度θｃに達したために、第２パルス信号Ｐｂ３が生成された場合に発生する。第２パルス信号Ｐｂ３を生成した直後に第１パルス信号Ｐａ３が生成された時点が、実際の回転角度がスリット間角度θｃに達した瞬間である。このため、第２信号生成部３５は、第１パルス信号Ｐａ３を生成した時点で、回転角度算出部３２に対して同期指令を出力する。この場合、第２信号生成部３５は、時刻ｔ４では第２パルス信号Ｐｂを生成しない。図９の「×」に向かう破線矢印は、第１パルス信号Ｐａ３に基づいて第２パルス信号Ｐｂが生成されなかったことを表す。他の図における「×」に向かう破線矢印についても同様である。
【００８３】
また、第１信号生成部３４が、第１パルス信号Ｐａを短時間に連続して生成することがある。上述したとおり、図８Ａにおいて、リップル成分Ｉｒが基準電流値Ｉｂを超える度に、第１信号生成部３４が、第１パルス信号Ｐａを生成する。リップル成分Ｉｒが基準電流値Ｉｂを超える直前や直後は、微小なノイズが重畳されても、第１パルス信号Ｐａが誤って生成される。この場合、第１信号生成部３４が、第１パルス信号Ｐａを生成する間隔が角度β（第２閾値θｄ）未満となる。図９の例では、第１信号生成部３４が、時刻ｔ２で、第１パルス信号Ｐａ２を生成する。第２信号生成部３５は、第２パルス信号Ｐｂ２を生成すると共に、回転角度算出部３２に同期指令を出力する。回転角度算出部３２は、回転角度θをリセットする。その後、第１信号生成部３４が、時刻ｔ２'で、第１パルス信号Ｐａ２'を生成する。時刻ｔ２'の時点での回転角度θは、第２閾値θｄ未満である。この場合、第２信号生成部３５は、第２パルス信号Ｐｂを生成せず、同期指令も出力しない。図９の「×」に向かう破線矢印は、第１パルス信号Ｐａ３に基づいて第２パルス信号Ｐｂが生成されなかったことを表す。なお、リップル成分Ｉｒが基準電流値Ｉｂを超える直前や直後は、微小なノイズが重畳された場合、短時間に連続して複数発生する第１パルス信号Ｐａの何れが、スリット間角度θｃに達したことを示す第１パルス信号Ｐａか判断できない。しかし、この場合、複数の第１パルス信号Ｐａは、短い期間内（角度β未満）に生成されるため、最初の第１パルス信号Ｐａの時点で、回転角度θがスリット間角度θｃに達したと見なしても、実用上、問題ない。また、リップル成分Ｉｒが基準電流値Ｉｂを超える度に、同様のノイズが発生したとしても、誤差は、角度β未満に抑えられる。つまり、誤差が累積しない。このため、実用上問題ない範囲に誤差を抑えることができる。
【００８４】
また、第２信号生成部３５は、第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θが第２閾値θｄ以上で且つ第１閾値θｕ未満の場合、すなわち、回転角度θが角度範囲Ｒ１内にある場合、第２パルス信号Ｐｂを生成することはなく、回転角度算出部３２に対して同期指令を出力することもない。図９の例では、時刻ｔ６において第１信号生成部３４が第１パルス信号Ｐａ５を生成したときの回転角度θ６は、第２閾値θｄ以上で且つ第１閾値θｕ未満である。すなわち、回転角度θ６がスリット間角度θｃに達するまでの残りの角度が角度αより大きく、時刻ｔ５でリセットされた後に積算された回転角度θ６が角度β以上である。この場合、第２信号生成部３５は、第１パルス信号Ｐａ５がノイズに基づくものと判定できる。そのため、第２信号生成部３５は、時刻ｔ６では第２パルス信号Ｐｂを生成することはなく、回転角度算出部３２に対して同期指令を出力することもない。すなわち、ノイズに基づく第１パルス信号Ｐａ５による影響を排除できる。
【００８５】
また、第２信号生成部３５は、第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θが第２閾値θｄ未満の場合、第２パルス信号Ｐｂを生成しない。但し、第２信号生成部３５は、第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θが第２閾値θｄ未満の場合、回転角度算出部３２に対して同期指令を出力する場合と、同期指令を出力しない場合がある。第１パルス信号Ｐａが生成される前に、回転角度θがスリット間角度θｃに達した後で、回転角度θが第２閾値θｄ未満のときに第１パルス信号Ｐａが生成されると、第２信号生成部３５は、同期指令を回転角度算出部３２に送る。但し、第１パルス信号Ｐａが生成される前に、回転角度θがスリット間角度θｃに達した後で、回転角度θが第２閾値θｄ未満のときに複数の第１パルス信号Ｐａが生成されると、２番目以降の第１パルス信号Ｐａは無視される。すなわち、第２信号生成部３５は、同期指令を出力しない。また、回転角度θがスリット間角度θｃに達する前に第１パルス信号Ｐａが生成された後、回転角度θが第２閾値θｄ未満のときに第１パルス信号Ｐａが生成されても、第２信号生成部３５は、同期指令を出力しない。つまり、第１パルス信号Ｐａが第２閾値θｄ（角度β）未満の間に、複数の第１パルス信号Ｐａが生成された場合、２番目以降の第１パルス信号Ｐａは無視される。すなわち、第２信号生成部３５は、同期指令を出力しない。図９の例では、時刻ｔ４'において第１信号生成部３４が第１パルス信号Ｐａ３'を生成したときの回転角度θ４'は、第２閾値θｄ未満である。しかしながら、第１パルス信号Ｐａ３'は、直近の第２パルス信号Ｐｂ３が生成された後の２番目の第１パルス信号Ｐａである。そのため、第２信号生成部３５は、第１パルス信号Ｐａ３'を受け取ったときには、第２パルス信号Ｐｂを生成することはなく、回転角度算出部３２に対して同期指令を出力することもない。
【００８６】
以上の構成により、回転角度検出器１００は、電動機１０の回転角度θの検出誤差を実用上問題ない範囲に抑えることができる。特に、回転角度検出器１００では、誤差が累積されることがない。このため、電動機１０の回転数にかかわらず、誤差を一定範囲内に抑えることができる。発明者は、次の前提が成り立つことを発見し、上述した回転角度検出器１００を発明した。（１）微小ノイズによるリップル成分Ｉｒの誤検出は、リップル成分Ｉｒが基準電流値Ｉｂを超える直前か直後に限定される。この場合、正しく生成された第１パルス信号Ｐａの前後の短時間（角度αだけ前から角度βだけ後まで）のみ、誤った第１パルス信号Ｐａが生成される。（２）大きなノイズは、電源オン直後の突入電流等によるもので、スリット間角度θｃより充分長い間隔で発生する。（３）回転角度算出部３２が、端子間電圧Ｖ'と電流Ｉｍから算出する回転角度θの誤差は、スリット間角度θｃより充分に小さい。
【００８７】
以上の構成により、第２信号生成部３５は、例えば、電動機１０の電源オフ後の惰性回転期間において電流Ｉｍ及びそのリップル成分Ｉｒが小さくなり、第１信号生成部３４がリップル成分Ｉｒの波形に基づいて第１パルス信号Ｐａを生成できない場合であっても、第２パルス信号Ｐｂを生成できる。
【００８８】
また、第２信号生成部３５は、例えば、電動機１０の電源オン直後に突入電流が発生し、第１信号生成部３４がその突入電流に応じて第１パルス信号Ｐａを誤って生成してしまった場合であっても、その第１パルス信号Ｐａに対応する第２パルス信号Ｐｂを生成しない。すなわち、その第１パルス信号Ｐａによる影響を排除できる。
【００８９】
また、第２信号生成部３５は、例えば、第１信号生成部３４がノイズ等の影響により第１パルス信号Ｐａを誤って生成してしまった場合であっても、その第１パルス信号Ｐａに対応する第２パルス信号Ｐｂを生成することはなく、回転角度算出部３２に対して同期指令を出力することもない。
【００９０】
そのため、回転角度検出器１００は、第１パルス信号Ｐａと回転角度信号の双方に基づき生成される第２パルス信号Ｐｂに基づいて電動機１０の回転情報を算出することで、電動機１０の回転情報の信頼性を向上させることができる。
【００９１】
また、第２信号生成部３５は、電動機１０の回転方向を表す方向信号を出力する。例えば、第２信号生成部３５は、回転方向が順回転方向であれば、回転角度θとして正の値を出力し、回転方向が逆回転方向であれば、回転角度θとして負の値を出力する。回転角度θは、電動機１０を流れる電流が正の値のときに正の値を有し、電動機１０を流れる電流が負の値のときに負の値を有する。但し、惰性回転中は、回転角度θは、電動機１０を流れる電流が負の値のときに正の値を有し、電動機１０を流れる電流が正の値のときに負の値を有する。
【００９２】
回転情報算出部３６は、電動機１０の回転情報を算出する。電動機１０の回転情報は、例えば、基準回転位置からの回転量（回転角度）、基準回転位置からの回転数、基準位置（全閉位置）に対する窓ガラス２の上端部２ｔの相対位置、窓１ａの開き量等に変換された値でもよい。また、ある期間における回転角速度ωの平均値、最大値、最小値、中央値等の統計値を含んでいてもよい。図６の例では、回転情報算出部３６は、第２信号生成部３５の出力に基づいて電動機１０の回転情報を算出する。例えば、電動機１０の回転が開始した後に生成された第２パルス信号Ｐｂの数にスリット間角度θｃを乗ずることで、電動機１０の回転が開始した後の回転量を算出する。その際、回転情報算出部３６は、第２信号生成部３５が第２パルス信号Ｐｂと共に出力する方向信号に基づいて第２パルス信号Ｐｂの数をインクリメントするかデクリメントするかを決定する。或いは、回転情報算出部３６は、順回転方向を表す方向信号と共に受けた第２パルス信号Ｐｂの数と、逆回転方向を表す方向信号と共に受けた第２パルス信号Ｐｂの数とを別々に計数し、それらの差に基づいて電動機１０の回転量を算出してもよい。
【００９３】
抵抗設定部３７は、電動機１０の抵抗特性に対応する抵抗値を設定する。抵抗設定部３７は、例えば、回転角度検出器１００の起動時に、不揮発性記憶媒体に予め記憶されている値を、式（１）における設定抵抗値Ｒｍとして設定する。設定抵抗値Ｒｍは、動的に更新されてもよい。
【００９４】
次に、図１０を参照し、回転角度検出器１００が電動機１０の回転量を算出する処理（以下、「回転量算出処理」とする。）の流れについて説明する。図１０は、回転量算出処理のフローチャートである。回転角度検出器１００は、電動機１０の駆動中にこの回転量算出処理を実行する。
【００９５】
最初に、回転角度検出器１００は、端子間電圧Ｖ及び電流Ｉｍを取得する（ステップＳＴ２１）。図６の例では、回転角度検出器１００は、電圧検出部１０ａが出力する端子間電圧Ｖ、及び、電流検出部１０ｂが出力する電流Ｉｍを所定の制御周期毎に取得する。
【００９６】
その後、回転角度検出器１００は、回転角速度ω及び回転角度θを算出する（ステップＳＴ２２）。図６の例では、回転角度検出器１００の回転角速度算出部３１は、端子間電圧Ｖ'と電流Ｉｍを式（１）に代入して回転角速度ωを所定の制御周期毎に算出する。そして、回転角度検出器１００の回転角度算出部３２は、制御周期毎に算出される回転角速度ωを積算して回転角度θを算出する。
【００９７】
その後、回転角度検出器１００は、回転角度θが所定角度未満であるか否かを判定する（ステップＳＴ２３）。図６の例では、回転角度検出器１００の第２信号生成部３５は、回転角度θがスリット間角度θｃ未満であるか否かを判定する。
【００９８】
回転角度θがスリット間角度θｃ以上であると判定した場合（ステップＳＴ２３のＮＯ）、第２信号生成部３５は、スリット間角度θｃまでのタイミングで第１パルス信号Ｐａが生成されなかったと判定する。この場合、第２信号生成部３５は、第１パルス信号Ｐａが生成されていないことを示すためにフラグＦを"Ｆａｌｓｅ"にする（ステップＳＴ２３Ａ）。フラグＦは、第１パルス信号Ｐａが生成されたか否かを示すためのフラグである。フラグＦの初期値は、第１パルス信号Ｐａが生成されていないことを示す"Ｆａｌｓｅ"である。フラグＦが"Ｔｒｕｅ"であることは、第１パルス信号Ｐａが既に生成されたことを示す。そして、第２パルス信号Ｐｂを生成し（ステップＳＴ２９）、且つ、回転角度θをゼロにリセットする（ステップＳＴ３０）。これは、第１パルス信号Ｐａが生成される前に回転角度θがスリット間角度θｃに達した場合であり、図９の例において時刻ｔ３、ｔ７、ｔ９で回転角度θが回転角度θ３、θ７、θ９に達した場合に対応する。
【００９９】
一方、回転角度θがスリット間角度θｃ未満であると判定した場合（ステップＳＴ２３のＹＥＳ）、第２信号生成部３５は、第１パルス信号Ｐａが生成されたか否かを判定する（ステップＳＴ２４）。図６の例では、第１信号生成部３４によって第１パルス信号Ｐａが生成されたか否かを判定する。
【０１００】
回転角度θがスリット間角度θｃ未満の段階（ステップＳＴ２３のＹＥＳ）で第１パルス信号Ｐａが未だ生成されていないと第２信号生成部３５が判定した場合（ステップＳＴ２４のＮＯ）、回転角度検出器１００は、回転量を算出する（ステップＳＴ２７）。そして、回転情報算出部３６は、第２信号生成部３５の出力に基づいて電動機１０の回転量を算出する。この場合、算出される回転量に変化はない。これは、図９の例において時刻ｔ０で回転角度θが回転角度θ０になっている場合に対応する。
【０１０１】
その後、回転角度検出器１００は、回転角速度ωがゼロになったか否かを判定する（ステップＳＴ２８）。そして、回転角度検出器１００は、回転角速度ωがゼロになっていないと判定した場合（ステップＳＴ２８のＮＯ）、処理をステップＳＴ１に戻し、回転角速度ωがゼロになったと判定した場合（ステップＳＴ２８のＹＥＳ）、回転量算出処理を終了させる。
【０１０２】
第１パルス信号Ｐａが生成されたと判定した場合（ステップＳＴ２４のＹＥＳ）、第２信号生成部３５は、回転角度θが第１閾値θｕ未満であるか否かを判定する（ステップＳＴ２５）。第１閾値θｕ未満のタイミングで生成された第１パルス信号Ｐａは、ノイズに基づく慨然性が高いためである。
【０１０３】
回転角度θが第１閾値θｕ以上であると判定した場合（ステップＳＴ２５のＮＯ）、第２信号生成部３５は、第１パルス信号Ｐａが生成されたか否かを示すためにフラグＦを"Ｔｒｕｅ"にする（ステップＳＴ２５Ａ）。そして、第２信号生成部３５は、第２パルス信号Ｐｂを生成し（ステップＳＴ２９）、且つ、回転角度θをゼロにリセットする（ステップＳＴ３０）。回転角度θが、第１閾値θｕ以上のときに第１パルス信号Ｐａが発生した場合、第１パルス信号Ｐａが発生した時点の実際の回転角度が、スリット間角度θｃに近いためである。これは、図９の例において時刻ｔ１、ｔ２、ｔ５で第１パルス信号Ｐａ１、Ｐａ２、Ｐａ４が生成された場合に対応する。
【０１０４】
回転角度θが第１閾値θｕ未満であると判定した場合（ステップＳＴ２５のＹＥＳ）、第２信号生成部３５は、現時点では、第１パルス信号Ｐａがノイズに基づくものでないとは判定できない。回転角度θは、多少の誤差を含む場合がある。また、第１パルス信号Ｐａの生成時期が、ノイズ等の影響で、若干ずれることがある。このため、回転角度θがスリット間角度θｃに達する時期と、第１パルス信号Ｐａの生成時期がずれる場合がある。このため、回転角度θがスリット間角度θｃに達する時期と、第１パルス信号Ｐａの生成時期のどちらが早いか分からないためである。そこで、第２信号生成部３５は、直近の第２パルス信号Ｐｂを生成した後で最初に受け取った第１パルス信号Ｐａに関し、回転角度θが第２閾値θｄ未満であるか否かを判定する（ステップＳＴ２６）。
【０１０５】
最初の第１パルス信号Ｐａに関する回転角度θが第２閾値θｄ未満であると判定した場合（ステップＳＴ２６のＹＥＳ）、第２信号生成部３５は、フラグＦを調べる（ステップＳＴ２６Ａ）。フラグＦは、第１パルス信号Ｐａが、連続して発生したことを判断するためのフラグである。フラグＦが"Ｔｒｕｅ"の場合、第１パルス信号Ｐａは、連続して発生した２番目以降の第１パルス信号Ｐａである。フラグＦが"Ｔｒｕｅ"の場合（ステップＳＴ２６ＡのＹＥＳ）、回転角度検出器１００は、回転量を算出する（ステップＳＴ２７）。これは、図９の例において時刻ｔ２'、ｔ４'で第１パルス信号Ｐａ２'、Ｐａ３'が生成されたときに対応する。フラグＦが"Ｆａｌｓｅ"の場合（ステップＳＴ２６ＡのＮＯ）、第２信号生成部３５は、フラグＦを"Ｔｒｕｅ"にする（ステップＳＴ２６Ｂ）。その後、第２信号生成部３５は、回転角度θをゼロにリセットする（ステップＳＴ３０）。回転角度θが第２閾値θｄ未満の場合、第１パルス信号Ｐａが生成されたときの実際の回転角度が、スリット間角度θｃに近いためである。すなわち、第２閾値θｄ未満の場合、第１パルス信号Ｐａが、直前に生成した第２パルス信号Ｐｂに対応すると判定できるためである。これは、図９の例において時刻ｔ４、ｔ８で第１パルス信号Ｐａ３、Ｐａ６が生成された場合に対応する。すなわち、第１パルス信号Ｐａ３、Ｐａ６が第２パルス信号Ｐｂ３、Ｐｂ５に対応すると判定できる。
【０１０６】
最初の第１パルス信号Ｐａに関する回転角度θが第２閾値θｄ以上であると判定した場合（ステップＳＴ２６のＮＯ）、すなわち、角度範囲Ｒ１内であると判定した場合、第２信号生成部３５は、その第１パルス信号Ｐａがノイズに基づくものであると判定する。この場合、第２信号生成部３５は、第２パルス信号Ｐｂを生成することはなく、回転角度θをリセットすることもない。そして、回転情報算出部３６は、第２信号生成部３５の出力に基づいて電動機１０の回転量を算出する。これは、図９の例において時刻ｔ６で第１パルス信号Ｐａ５が生成されたときに対応する。すなわち、第２信号生成部３５は、第１パルス信号Ｐａ５をノイズに基づくものと判定している。
【０１０７】
その後、回転角度検出器１００は、電動機１０の回転量を算出する（ステップＳＴ２７）。図６の例では、回転角度検出器１００の回転情報算出部３６は、電動機１０の回転が開始した後に生成された第２パルス信号Ｐｂの数にスリット間角度θｃを乗ずることで、電動機１０の回転が開始した後の回転量を算出する。
【０１０８】
次に、図１１を参照し、回転角度検出器１００が算出した電動機１０の回転量の信頼性に関する実験結果について説明する。図１１は、合成パルス信号及びホールパルス信号のそれぞれの推移を示す図である。
【０１０９】
合成パルス信号は、第２パルス信号Ｐｂの複数パルスを１パルスに合成することで得られる信号である。図１１の例では、スリット間角度θｃは９０度である。第１パルス信号Ｐａ及び第２パルス信号Ｐｂは、基本的に、電動機１０の回転軸が９０度回転する度に生成されている。そして、合成パルス信号は、第２パルス信号Ｐｂの２パルスを１パルスに合成して生成されている。すなわち、回転角度検出器１００は、電動機１０の回転軸が１８０度回転する度に合成パルス信号を１つ生成するように構成されている。
【０１１０】
ホールパルス信号は、ホールセンサが出力したパルス信号である。ホールセンサは、第２パルス信号Ｐｂとホールパルス信号との比較のために電動機１０の回転軸に取り付けられた磁石が作る磁束を検出する。図１１の例では、回転角度検出器１００は、電動機１０の回転軸が１８０度回転する度にホールパルス信号を１つ生成するように構成されている。
【０１１１】
図１１の「×」に向かう破線矢印は、第１パルス信号Ｐａに基づいて第２パルス信号Ｐｂが生成されなかったことを表す。すなわち、第１パルス信号Ｐａがノイズとして無視されたことを表す。また、図１１の８つの実線矢印は、第１パルス信号Ｐａの生成漏れの際に第２パルス信号Ｐｂが追加されたことを表す。
【０１１２】
図１１の例では、電動機１０の順回転を開始させてからその順回転を停止させるまでの期間に生成された合成パルス信号及びホールパルス信号のそれぞれの数が等しいことが確認された。すなわち、第２パルス信号Ｐｂに基づいて算出される電動機１０の回転量が、ホールセンサによって検出される電動機１０の回転量に等しいことが確認された。
【０１１３】
次に、図１２を参照し、抵抗設定部３７が電動機１０の抵抗特性に対応する抵抗値を更新する処理（以下、「更新処理」とする。）について説明する。図１２は、更新処理のフローチャートである。抵抗設定部３７は、所定の制御周期で繰り返しこの更新処理を実行する。
【０１１４】
最初に、抵抗設定部３７は、電動機１０の回転が安定している回転安定状態であるか否かを判定する（ステップＳＴ３１）。回転安定状態は、例えば、所定期間における電動機１０の端子間電圧Ｖの変動幅が所定値未満で、且つ、その所定期間における電動機１０を流れる電流Ｉｍの変動幅が所定値未満で、且つ、その所定期間における第１パルス信号Ｐａの周期の変動幅が所定値未満の状態を含む。
【０１１５】
図１３は、窓ガラス２の昇降に使用される電動機１０の回転安定状態の一例を示す。具体的には、窓ガラス２を下げるためのインチング操作が行われたときの端子間電圧Ｖ、電流Ｉｍ及び第１パルス信号Ｐａの時間的推移を示す。窓ガラス２を下げるためのインチング操作は、例えば、手動閉ボタン７Ｄの短時間の押圧操作である。図１３は、時刻ｔ１において手動閉ボタン７Ｄが押下されたときにスイッチＳＷ１及びＳＷ３（図６参照。）が閉状態となり端子間電圧Ｖ及び電流Ｉｍが増加する様子を示す。また、時刻ｔ４においてスイッチＳＷ１が開状態となり且つスイッチＳＷ２（図６参照。）が閉状態となった後で電動機１０の惰性回転に応じて端子間電圧Ｖ及び電流Ｉｍが変動する様子を示す。そして、時刻ｔ５において電動機１０が停止して端子間電圧Ｖ及び電流Ｉｍがゼロに至る様子を示す。時刻ｔ２は最初の回転安定状態の開始時点を表し、時刻ｔ３は最初の回転安定状態の終了時点を表す。図１４は、最初の回転安定状態のときの端子間電圧Ｖ、電流Ｉｍ及び第１パルス信号Ｐａの時間的推移を示す。
【０１１６】
図１４に示すように、抵抗設定部３７は、所定数の第１パルス信号Ｐａを検出する度に、その期間における端子間電圧Ｖ及び電流Ｉｍのそれぞれの平均値を算出する。中央値、最頻値、最大値、最小値等の他の統計値であってもよい。図１４の例では、８つの第１パルス信号Ｐａを検出する度にその期間Ｔにおける端子間電圧Ｖ及び電流Ｉｍのそれぞれの平均値を算出している。期間Ｔ１、Ｔ２、Ｔ３、・・・、Ｔｎは、８つの第１パルス信号Ｐａを検出するのに要した期間を表す。平均端子間電圧Ｖ１、Ｖ２、Ｖ３、・・・、Ｖｎは、期間Ｔ１、Ｔ２、Ｔ３、・・・、Ｔｎにおける端子間電圧Ｖの平均値を表す。平均電流Ｉｍ１、Ｉｍ２、Ｉｍ３、・・・、Ｉｍｎは、期間Ｔ１、Ｔ２、Ｔ３、・・・、Ｔｎにおける電流Ｉｍの平均値を表す。
【０１１７】
抵抗設定部３７は、例えば、以下の条件が満たされる場合に、電動機１０が回転安定状態にあると判定する。
【０１１８】
【数３】
2018207684.tif 000005
ΔＴは期間閾値を表し、ΔＩｍは電流閾値を表し、ΔＶは電圧閾値を表す。ｉは１〜ｎの整数を表す。具体的には、抵抗設定部３７は、期間Ｔ１〜Ｔｎのそれぞれの期間Ｔ１に対する差の絶対値が期間閾値ΔＴより小さく、平均電流Ｉｍ１〜Ｉｍｎのそれぞれの平均電流Ｉｍ１に対する差の絶対値が電流閾値ΔＩｍより小さく、且つ、平均端子間電圧Ｖ１〜Ｖｎのそれぞれの平均端子間電圧Ｖ１に対する差の絶対値が電圧閾値ΔＶより小さい場合に電動機１０が回転安定状態にあると判定する。すなわち、第１パルス信号Ｐａの生成間隔、電流Ｉｍ及び端子間電圧Ｖが何れも安定しているときに電動機１０が回転安定状態にあると判定する。
【０１１９】
図１４の破線による図解は、期間Ｔ２、Ｔ３、Ｔｎの期間Ｔ１に対する差の絶対値が期間閾値ΔＴより小さいことを表している。図１４のドットパターン領域は、Ｔ１±ΔＴの範囲を表している。図１４の一点鎖線による図解は、平均端子間電圧Ｖ２、Ｖ３、Ｖｎの平均端子間電圧Ｖ１に対する差の絶対値が電圧閾値ΔＶより小さいことを表している。図１４の二点鎖線による図解は、平均電流Ｉｍ２、Ｉｍ３、Ｉｍｎの平均電流Ｉｍ１に対する差の絶対値が電流閾値ΔＩｍより小さいことを表している。
【０１２０】
図１４の例では、抵抗設定部３７は、時刻ｔ３において、時刻ｔ２から時刻ｔ３までの期間で電動機１０が回転安定状態にあったと判定できる。すなわち、電動機１０が現時点において回転安定状態にあると判定できる。
【０１２１】
ここで再び図１２を参照する。電動機１０が回転安定状態にあると判定すると（ステップＳＴ３１のＹＥＳ）、抵抗設定部３７は、第１パルス信号Ｐａの周期に基づいて回転角速度ω'を算出する（ステップＳＴ３２）。抵抗設定部３７は、例えば、以下の式（３）に基づいて回転角速度ω'を算出する。
【０１２２】
【数４】
2018207684.tif 000006
ｎは期間Ｔの数を表し、Ｍは期間Ｔにおける第１パルス信号Ｐａの数を表す。例えば、ｎを１０とし、Ｍを８とし、スリット間角度θｃを４５度とすると、回転角速度ω'は、電動機１０が１０回転する間の平均回転角速度［rad/s］を表す。このように、抵抗設定部３７は、第１パルス信号Ｐａの周期（上述の例では８０周期）に基づいて回転角速度ω'を算出できる。
【０１２３】
その後、抵抗設定部３７は、回転角速度ω'に基づいて推定抵抗値Ｒ'ｍを算出する（ステップＳＴ３３）。抵抗設定部３７は、例えば、以下の式（４）に基づいて推定抵抗値Ｒ'ｍを算出する。
【０１２４】
【数５】
2018207684.tif 000007
式（４）は電動機の基本理論式であり、Keは逆起電力定数を表し、Ke×ω'は逆起電力推定値を表す。すなわち、平均端子間電圧Ｖ１〜Ｖｎの平均値から逆起電力推定値を差し引いた値を平均電流Ｉｍ１〜Ｉｍｎの平均値で除した値が推定抵抗値Ｒ'ｍとして導き出される。平均値は、中央値、最頻値、最大値、最小値等の他の統計値であってもよい。
【０１２５】
その後、抵抗設定部３７は、推定抵抗値Ｒ'ｍが正常範囲内にあるか否かを判定する（ステップＳＴ３４）。抵抗設定部３７は、例えば、不揮発性記憶媒体に予め登録されている正常範囲の上限及び下限を参照し、推定抵抗値Ｒ'ｍが正常範囲内にあるか否かを判定する。正常範囲の上限及び下限の少なくとも一方は、外気温、電動機１０の温度等に応じて動的に変更されてもよい。
【０１２６】
推定抵抗値Ｒ'ｍが正常範囲内にあると判定した場合（ステップＳＴ３４のＹＥＳ）、抵抗設定部３７は、推定抵抗値Ｒ'ｍを用いて設定抵抗値Ｒｍを更新する（ステップＳＴ３５）。図１２の例では、抵抗設定部３７は、推定抵抗値Ｒ'ｍを算出する周期と同じ周期で、推定抵抗値Ｒ'ｍを用いて設定抵抗値Ｒｍを更新する。但し、抵抗設定部３７は、推定抵抗値Ｒ'ｍを算出する周期とは異なる周期で設定抵抗値Ｒｍを更新してもよい。例えば、推定抵抗値Ｒ'ｍを算出する周期より短い周期で設定抵抗値Ｒｍを更新してもよい。
【０１２７】
具体的には、抵抗設定部３７は、例えば、以下の式（５）で導き出される抵抗値Ｒ"ｍで設定抵抗値Ｒｍを更新してもよい。
【０１２８】
【数６】
2018207684.tif 000008
Kmは１．０以下の正の実数定数を表す。すなわち、Kmの値が１．０に近いほど、設定抵抗値Ｒｍは推定抵抗値Ｒ'ｍに近い抵抗値Ｒ"ｍで更新される。典型的には、Kmは１．０未満である。設定抵抗値Ｒｍの急変、振動等を防止するためである。Kmは、不揮発性記憶媒体に予め登録されている固定値又は可変値であってもよく、動的に算出され且つ設定される値であってもよい。例えば、インチング操作（比較的短い押圧操作）が行われたときのKmは、通常操作（比較的長い押圧操作）が行われたときのKmよりも大きくなるように設定されてもよい。インチング操作が行われたときは、通常操作が行われたときに比べ、設定抵抗値Ｒｍを更新する処理を繰り返し実行するために利用できる時間が短いためである。
【０１２９】
また、式（５）から明らかなように、抵抗設定部３７は、更新後の設定抵抗値Ｒｍ（抵抗値Ｒ"ｍ）と推定抵抗値Ｒ'ｍとの差が、更新前の設定抵抗値Ｒｍと推定抵抗値Ｒ'ｍとの差より小さくなるように設定抵抗値Ｒｍを更新する。設定抵抗値Ｒｍの急変を防止しながら、設定抵抗値Ｒｍを推定抵抗値Ｒ'ｍに徐々に近づけるようにするためである。例えば、式（４）を用いて繰り返し導き出される推定抵抗値Ｒ'ｍがほとんど変化しない場合、抵抗設定部３７は、設定抵抗値Ｒｍを推定抵抗値Ｒ'ｍに徐々に近づけることができる。特に、推定抵抗値Ｒ'ｍを算出する周期より短い周期で設定抵抗値Ｒｍを更新する場合、抵抗設定部３７は、新たな推定抵抗値Ｒ'ｍが算出される前に、設定抵抗値Ｒｍを推定抵抗値Ｒ'ｍに徐々に近づけることができる。抵抗値Ｒ"ｍは、導き出される度に推定抵抗値Ｒ'ｍに近づくためである。
【０１３０】
電動機１０が回転安定状態にないと判定した場合（ステップＳＴ３１のＮＯ）、或いは、推定抵抗値Ｒ'ｍが正常範囲内にないと判定した場合（ステップＳＴ３４のＮＯ）、抵抗設定部３７は、設定抵抗値Ｒｍを更新することなく、今回の更新処理を終了する。この場合、回転角速度算出部３１は、現在の設定抵抗値Ｒｍを用い、式（１）に基づいて回転角速度ωを算出する。
【０１３１】
このように、抵抗設定部３７は、電動機１０が回転安定状態にあるときの第１パルス信号Ｐａの周期から電動機１０の回転角速度ω'を算出する。そして、算出した回転角速度ω'に基づいて推定抵抗値Ｒ'ｍを導き出し、推定抵抗値Ｒ'ｍを用いて式（１）における設定抵抗値Ｒｍを更新できる。そのため、電動機１０の温度変化、経年変化等に起因する電動機１０の抵抗特性の変化に応じて設定抵抗値Ｒｍを適切に更新できる。経年変化は、例えば、整流子片２０ａの摩耗、ブラシの摩耗等を含む。その結果、回転角度検出器１００は、例えば、電動機１０の電源オフ後の惰性回転期間において電流Ｉｍ及びそのリップル成分Ｉｒが小さくなり、第１信号生成部３４がリップル成分Ｉｒの波形に基づいて第１パルス信号Ｐａを生成できない場合にも、電動機１０の回転に関する情報をより高い信頼性で取得できる。具体的には、第１パルス信号Ｐａによらずに、適切な設定抵抗値Ｒｍを用いてリアルタイムに算出された回転角速度ω及び回転角度θに基づいて第２パルス信号Ｐｂをより正確に生成することで、電動機１０の回転に関する情報をより高い信頼性で取得できる。例えば、窓ガラス２の昇降に使用される電動機１０に関し、窓ガラス２を昇降させるためのインチング操作が行われた場合における電動機１０の惰性回転期間であっても、電動機１０の回転に関する情報をより高い信頼性で取得できる。
【０１３２】
上述の通り、整流子２０を備えた電動機１０の回転情報を取得する回転角度検出器１００は、電動機１０の抵抗特性に対応する抵抗値を設定する抵抗設定部３７と、電圧検出部１０ａが検出した検出電圧値と電流検出部１０ｂが検出した検出電流値と抵抗設定部３７が設定した設定抵抗値Ｒｍとに基づいて電動機１０の回転に関する情報を算出する回転情報算出部３６とを含む。そして、抵抗設定部３７は、電動機１０の回転が安定している回転安定状態で検出された検出電圧値と検出電流値とに基づいて推定抵抗値Ｒ'ｍをリアルタイムで導き出し、その推定抵抗値Ｒ'ｍを用いて設定抵抗値Ｒｍをリアルタイムで更新するように構成されている。そのため、ホールセンサ等の回転センサが無くても、電動機１０の回転情報を高い信頼性で取得できる。これは、センサインタフェース回路、ハーネス等の回転センサを利用するために必要な部品を省略できることを意味する。そのため、軽量化、低コスト化、小型化等を実現できる。
【０１３３】
抵抗設定部３７は、例えば、推定抵抗値Ｒ'ｍが所定範囲内である場合にその推定抵抗値Ｒ'ｍを用いて設定抵抗値Ｒｍを更新し、推定抵抗値Ｒ'ｍが所定範囲外である場合には設定抵抗値Ｒｍを更新しないように構成されている。そのため、異常な推定抵抗値Ｒ'ｍによって設定抵抗値Ｒｍが更新されてしまうのを防止できる。
【０１３４】
回転安定状態は、例えば、所定期間における端子間電圧Ｖの変動幅が所定値未満で、且つ、その所定期間における電流Ｉｍの変動幅が所定値未満で、且つ、その所定期間における第１パルス信号Ｐａの周期の変動幅が所定値未満の状態である。回転安定状態は、端子間電圧Ｖ、電流Ｉｍ、及び、第１パルス信号Ｐａの周期の少なくとも１つを用いて定められる他の状態であってもよい。例えば、所定期間における端子間電圧Ｖの標準偏差が所定値未満で、且つ、その所定期間における電流Ｉｍの標準偏差が所定値未満で、且つ、その所定期間における第１パルス信号Ｐａの周期の標準偏差が所定値未満の状態であってもよい。或いは、所定期間における端子間電圧Ｖの積算値が所定範囲内で、且つ、その所定期間における電流Ｉｍの積算値が所定範囲内の状態であってもよい。この構成により、抵抗設定部３７は、推定抵抗値Ｒ'ｍを適切に導き出すことができる。
【０１３５】
また、抵抗設定部３７は、望ましくは、更新後の設定抵抗値Ｒｍと推定抵抗値Ｒ'ｍとの差が、更新前の設定抵抗値Ｒｍと推定抵抗値Ｒ'ｍとの差より小さくなるように設定抵抗値Ｒｍを更新ように構成されている。設定抵抗値Ｒｍの急変を防止しながら、設定抵抗値Ｒｍを推定抵抗値Ｒ'ｍに徐々に近づけるようにするためである。
【０１３６】
また、回転角度検出器１００は、電流Ｉｍのリップル成分Ｉｒに基づいて生成される第１パルス信号Ｐａと、端子間電圧Ｖ及び電流Ｉｍに基づいて算出される回転角度θとを用いて第２パルス信号Ｐｂを生成する。すなわち、別々の方法で導き出される２つのパラメータである第１パルス信号Ｐａと回転角度θとを用いて第２パルス信号Ｐｂを生成する。そのため、一方のパラメータが適切に導出されなかった場合であっても他方のパラメータでその不具合を補うことができる。その結果、電動機１０の回転情報をより高い信頼性で取得できる。
【０１３７】
回転角度算出部３２は、例えば、端子間電圧Ｖと電流Ｉｍとに基づいて算出される電動機１０の回転角速度ωを積算して回転角度θを算出するように構成される。そのため、回転角度算出部３２は、電動機１０の起動直後の期間、惰性回転期間等を含めた全期間に亘って回転角度θを安定的且つ継続的に算出できる。そして、第２信号生成部３５は、例えば、回転角度θが所定角度に達したときに、第２パルス信号Ｐｂを即時に生成するように構成される。そのため、第２信号生成部３５は、第１パルス信号Ｐａの生成漏れが発生した場合であっても、安定的且つ継続的に算出される回転角度θに基づき、所定角度だけ回転したことを表す第２パルス信号Ｐｂをリアルタイムに生成できる。そのため、回転角度検出器１００は、電動機１０の回転情報を遅滞なく算出できる。
【０１３８】
第２信号生成部３５は、例えば、回転角度θが所定角度に達したときに、回転角度θをゼロにリセットする指令を回転角度算出部３２に出力するように構成される。そのため、回転角度検出器１００は、回転角度算出部３２が算出する回転角度θの最大値が所定角度に制限されるので、回転角度θの記憶に必要なメモリのサイズを小さくできる。
【０１３９】
所定角度は、例えば、整流子片２０ａの円弧の中心角、すなわちスリット間角度θｃである。そのため、回転角度検出器１００は、回転角度算出部３２が算出する回転角度θの累積誤差の最大値をスリット間角度θｃとすることができる。
【０１４０】
受付範囲は、例えば、電動機１０がスリット間角度θｃだけ回転する毎に生じる回転角度θの最大誤差の範囲である。すなわち、回転角速度算出部３１が、実際よりも、回転角速度ωを大きく算出した場合に、実際の回転角度に基づく第１パルス信号Ｐａが生成される（誤差を含んだ）回転角度θの最大値が第２閾値θｄである。また、回転角速度算出部３１が、実際よりも、回転角速度ωを小さく算出した場合に、実際の回転角度に基づく第１パルス信号Ｐａが生成される（誤差を含んだ）回転角度θの最小値が第１閾値θｕである。そのため、回転角度検出器１００では、回転角度算出部３２が算出する回転角度θの誤差が累積されない。つまり、電動機１０が何回転しても、誤差を−αから＋βの範囲とすることができる。
【０１４１】
第２信号生成部３５は、例えば、第１パルス信号Ｐａを受けたときに、回転角度θが第１閾値θｕ以上であれば、第２パルス信号Ｐｂを生成するように構成される。第１閾値θｕは、例えば、所定角度（スリット間角度θｃ）より小さい値として予め設定されている。この構成により、第２信号生成部３５は、回転角度θが、第１閾値θｕ以上のときに生成された第１パルス信号Ｐａをノイズに基づくものではないと見なす。そして、第１パルス信号Ｐａが生成されなくても、回転角度θが所定角度（スリット間角度θｃ）に達したら、第２パルス信号Ｐｂを生成する。そのため、第１パルス信号Ｐａの生成漏れによる回転情報の算出結果への影響を確実に排除できる。
【０１４２】
また、第２信号生成部３５は、例えば、第１パルス信号Ｐａを受けたときに、回転角度θが第１閾値θｕ未満であれば、第２パルス信号Ｐｂを生成しないように構成される。この構成により、第２信号生成部３５は、回転角度θが第１閾値θｕ未満のときに生成された第１パルス信号Ｐａをノイズに基づくものであると判定できる。そして、ノイズに基づいて生成された第１パルス信号Ｐａに対応する第２パルス信号Ｐｂが生成されてしまうのを防止できる。そのため、ノイズに基づいて生成された第１パルス信号Ｐａによる回転情報の算出結果への影響を確実に排除できる。
【０１４３】
また、第２信号生成部３５は、例えば、第１パルス信号Ｐａを受けたときに、回転角度θが第２閾値θｄより小さければ、回転角度θをゼロにリセットする指令を回転角度算出部３２に出力するように構成される。第２閾値θｄは、例えば、所定角度（スリット間角度θｃ）より位相がβだけ遅れた値として予め設定されている。この構成により、第２信号生成部３５は、第１パルス信号Ｐａの生成漏れの発生に先立って第２パルス信号Ｐｂを生成した直後に第１パルス信号Ｐａを受けた場合、その第１パルス信号Ｐａをノイズに基づくものではないと見なす。そして、その第１パルス信号Ｐａを、直前に生成した第２パルス信号Ｐｂに対応付けることができる。そのため、第１パルス信号Ｐａの生成タイミングのずれによる回転情報の算出結果への影響を確実に排除できる。
【０１４４】
以上、本発明の好ましい実施例について詳説した。しかしながら、本発明は、上述した実施例に制限されることはない。本発明の範囲を逸脱することなしに上述した実施例に種々の変形及び置換を加えることができる。
【０１４５】
例えば、開閉体制御装置は、車両のサンルーフ、ドアミラー、スライドドア等の窓ガラス２以外の開閉体を電動機で動作させる装置であってもよい。
【０１４６】
本願は、２０１７年５月１０日に出願した日本国特許出願２０１７−０９３６７５号に基づく優先権を主張するものであり、これらの日本国特許出願の全内容を本願に参照により援用する。
【符号の説明】
【０１４７】
１・・・ドア  １ａ・・・窓  ２・・・窓ガラス  ２ｔ・・・上端部  ３・・・上部サッシュ  ４・・・窓ガラス駆動機構  ６・・・演算装置  ７・・・操作ボタン  ７Ａ・・・自動開ボタン  ７Ｂ・・・手動開ボタン  ７Ｃ・・・自動閉ボタン  ７Ｄ・・・手動閉ボタン  １０・・・電動機  １０ａ・・・電圧検出部  １０ｂ・・・電流検出部  ２０・・・整流子  ２０ａ・・・整流子片  ２０ｓ・・・スリット  ３０・・・電圧フィルタ部  ３１・・・回転角速度算出部  ３２・・・回転角度算出部  ３３・・・電流フィルタ部  ３４・・・第１信号生成部  ３５・・・第２信号生成部  ３６・・・回転情報算出部  ３７・・・抵抗設定部  ６０・・・開閉制御部  ６１・・・位置検出部  ６２・・・接触判定部  ６３・・・計数部  ６４・・・機能制限部  １００・・・回転角度検出器  ＳＷ１〜ＳＷ４・・・スイッチ
【図１】
2018207684.tif 000009
【図２】
2018207684.tif 000010
【図３】
2018207684.tif 000011
【図４Ａ】
2018207684.tif 000012
【図４Ｂ】
2018207684.tif 000013
【図５】
2018207684.tif 000014
【図６】
2018207684.tif 000015
【図７】
2018207684.tif 000016
【図８Ａ】
2018207684.tif 000017
【図８Ｂ】
2018207684.tif 000018
【図９】
2018207684.tif 000019
【図１０】
2018207684.tif 000020
【図１１】
2018207684.tif 000021
【図１２】
2018207684.tif 000022
【図１３】
2018207684.tif 000023
【図１４】
2018207684.tif 000024
【国際調査報告】
2018207684.tif 000025
2018207684.tif 000026