(57)【特許請求の範囲】
【請求項１】
モータ特性を取得するモータ特性取得装置において、
モータの回転軸に固定されたマグネットと、
前記回転軸の周囲に設けられ、前記モータの回転に伴って前記マグネットが近傍を通過するときに信号を出力する少なくとも１つの磁気検出器と、
前記磁気検出器から出力される信号のエッジを検出し、前記磁気検出器から順次出力される時間的に最も近接したエッジの間隔であるエッジ間隔時間を逐次算出して保持し、前記モータの複数の回転周期において対応するエッジ間隔時間を比較してその変化率を算出する演算部と、
を備え、
前記演算部は、
算出された変化率を所定の基準周期に乗算することにより、前記モータの回転周期を算出し、
複数の回転周期にまたがる期間における同位相区間のエッジ間隔時間の変化率を前記基準周期に乗算することにより、前記モータの回転周期を算出し、
各位相区間ごとに所定期間のエッジ間隔時間を逐次記憶し、
各エッジ検出時に、同位相区間のエッジ間隔時間の平均値である平均エッジ間隔時間を算出するとともに、そのエッジ検出時に算出されたエッジ間隔時間と平均エッジ間隔時間との変化率を算出し、その変化率を前記基準周期に乗算することにより、前記モータの回転周期を算出することを特徴とするモータ特性取得装置。
【請求項２】
モータ特性を取得するモータ特性取得装置において、
モータの回転軸に固定されたマグネットと、
前記回転軸の周囲に設けられ、前記モータの回転に伴って前記マグネットが近傍を通過するときに信号を出力する少なくとも１つの磁気検出器と、
前記磁気検出器から出力される信号のエッジを検出し、前記磁気検出器から順次出力される時間的に最も近接したエッジの間隔であるエッジ間隔時間を逐次算出して保持し、前記モータの複数の回転周期において対応するエッジ間隔時間を比較してその変化率を算出する演算部と、
を備え、
前記演算部は、
算出された変化率を所定の基準周期に乗算することにより、前記モータの回転周期を算出し、
複数の回転周期にまたがる期間における同位相区間のエッジ間隔時間の変化率を前記基準周期に乗算することにより、前記モータの回転周期を算出し、
前記モータの回転開始後の所定期間、エッジの検出ごとに、前記モータの回転が開始されてから算出された各エッジ間隔時間の積算による経過時間と、その経過時間に検出されたエッジ数とに基づいて仮の回転周期を算出し、
その所定期間において最後に検出された各位相区間に対応する仮の回転周期を、前記所定期間経過後の各位相区間に対応する初回のエッジ検出時に仮の基準周期として用いて前記モータの回転周期を算出し、
それ以降の各エッジ検出時には、前回算出された同位相区間についての回転周期を前記基準周期として用いて前記モータの回転周期を算出することを特徴とするモータ特性取得装置。
【請求項３】
モータ特性を取得するモータ特性取得装置において、
モータの回転軸に固定されたマグネットと、
前記回転軸の周囲に設けられ、前記モータの回転に伴って前記マグネットが近傍を通過するときに信号を出力する少なくとも１つの磁気検出器と、
前記磁気検出器から出力される信号のエッジを検出し、前記磁気検出器から順次出力される時間的に最も近接したエッジの間隔であるエッジ間隔時間を逐次算出して保持し、前記モータの複数の回転周期において対応するエッジ間隔時間を比較してその変化率を算出する演算部と、
を備え、
前記演算部は、
算出された変化率を所定の基準周期に乗算することにより、前記モータの回転周期を算出し、
複数の回転周期にまたがる期間における同位相区間のエッジ間隔時間の変化率を前記基準周期に乗算することにより、前記モータの回転周期を算出し、
前記モータの回転開始後の所定期間は前記基準周期の算出のためのデータ取得期間として回転周期の算出は行わず、その所定期間の経過時間とその経過時間に検出されたエッジ数とに基づいて仮の基準周期を算出し、
前記所定期間経過後の初回の各エッジ検出時に前記仮の基準周期を用いて前記モータの回転周期を算出し、
それ以降の各エッジ検出時には、前回算出された同位相区間についての回転周期を前記基準周期として用いて前記モータの回転周期を算出することを特徴とするモータ特性取得装置。
【請求項４】
前記演算部は、各エッジ検出時に、連続する位相区間について算出された平均エッジ間隔時間の１周期分の合計から仮の基準周期を取得し、その仮の基準周期を前記基準周期として用いることを特徴とする請求項１に記載のモータ特性取得装置。
【請求項５】
前記演算部は、前記回転周期について予め設定された算出許容範囲を参照し、算出された回転周期が前記算出許容範囲を外れたときには、その回転周期を次回の基準周期としては用いずに前記仮の基準周期を再度演算し、その仮の基準周期を用いて前記モータの回転周期を算出することを特徴とする請求項２〜４のいずれかに記載のモータ特性取得装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、駆動源となるモータの回転特性を取得する装置、およびそのモータ特性を用いて制御を行う制御装置に関する。
【背景技術】
【０００２】
車両のなかには、パワーウィンドを作動させてドアガラスを閉じる際に異物を挟み込んだ場合、その挟み込みの発生を迅速に検知してドアガラスを開方向に反転動作させるものがある。挟み込み対象物に高い負荷をかけることを防止するものである。このドアガラスは、専用のモータの正転または逆転によって昇降駆動されるため、そのモータの回転数よってその動作速度が変化する。上述のようにドアガラスの上昇時に異物が挟み込まれた場合、異物に加わる負荷の反力によりドアガラスの動作速度が低下する。このため、モータの回転数が基準値よりも低下したことによりその挟み込みの発生を検出できる。
【０００３】
このモータの回転数は、モータの回転軸に設けられた回転検出センサにより検出される。この回転検出センサは、その回転軸上にＮ極およびＳ極が対向配置されたマグネットと、その周囲に配置されたホール素子とを含んで構成される。モータの回転軸とともにマグネットが回転することにより、ホール素子から磁束密度に比例したパルス状の検出信号（ホール電圧）が出力される。この検出信号のパルス幅からモータの回転周期を算出することにより、その回転数を取得することができる。その場合、例えば１つのマグネットに対して２つのホール素子を互いに位相をずらして配置し、両ホール素子から出力される検出信号のオン・オフ状態を比較すれば、モータの回転方向を検出することもできる。
【０００４】
ところが、このような回転検出センサにおいてマグネットのＮ極およびＳ極の着磁にばらつきがあると、その検出信号のパルス幅に誤差が生じ、正確な回転数が得られ難くなることがある。ホール素子を複数設けた場合には、さらにホール素子の取り付け誤差が発生することもある。
【０００５】
このような問題に対し、ホール素子から出力される検出信号に対してしきい値を設定し、得られた矩形パルス信号の対応するエッジ間の経過時間からモータの回転数を算出する方法が提案されている（例えば特許文献１参照）。
【０００６】
このようにしきい値の設定によるエッジの検出位置を基準にすることにより、常にマグネットの同一点を基準とした回転周期が算出され、着磁の誤差やホール素子の取り付け誤差による影響を実質的になくすことができる。さらに、複数のホール素子を設置したことにより、各パルス信号の上昇エッジおよび下降エッジの検出ごとに回転周期が算出されるため、例えば１／４周期ごとに回転周期を取得できるなど、回転数の算出タイミングを細かくしてその測定精度を向上させることができる。
【特許文献１】特開平１１−１０７６２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載の方法においては、個々のホール素子のパルス信号について上昇エッジから次の上昇エッジまでの経過時間、下降エッジから次の下降エッジまでの経過時間が回転周期として算出される。つまり、演算対象となるエッジ間隔がそれぞれ１周期分あるため、モータが１回転する間にその回転周期に急な変化があった場合、これに鋭敏に反応できないといった問題がある。すなわち、演算周期の分解能を高めたにもかかわらず、各パルス信号の演算区間には時間的に重複する部分がある。このため、各回転周期の期間において局所的にその周期（つまり、モータの回転速度）が変化しても、その変化が演算上鈍ってしまうという問題がある。
【０００８】
このような回転検出センサをパワーウィンドに適用する場合、特に挟み込み対象物が硬い物質からなる場合には、モータの回転速度は急激に変化する。このため、そのような硬い対象物についても挟み込みによる高い負荷をかけないようにするためには、時々刻々変化するモータの回転周期を正確かつ鋭敏に取得する必要がある。なお、このような問題は、パワーウィンドのみならず、例えばスライティングルーフ、あるいは自動ドアやシャッタなど、モータに駆動され、そのモータの回転数を回転検出センサにより検出しつつ駆動制御が行われる装置であれば同様に発生する可能性がある。
【０００９】
本発明はこのような問題に鑑みてなされたものであり、マグネットの着磁誤差、回転検出センサの取り付け誤差を取り除きながらも、モータの回転周期の変化に鋭敏に反応できる装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明のある態様は、モータ特性を取得するモータ特性取得装置において、モータの回転軸に固定されたマグネットと、回転軸の周囲に設けられ、モータの回転に伴ってマグネットが近傍を通過するときに信号を出力する少なくとも１つの磁気検出器と、磁気検出器から出力される信号のエッジを検出し、磁気検出器から順次出力される時間的に最も近接したエッジの間隔であるエッジ間隔時間を逐次算出して保持し、モータの複数の回転周期において対応するエッジ間隔時間を比較してその変化率を算出する演算部と、を備える。
【００１１】
ここで、「磁気検出器」は、モータの回転軸の周囲に１つ設けられていてもよいし、複数設けられていてもよい。後者の場合、複数の磁気検出器は、回転軸の周方向に対して所定の間隔で設けられる。各磁気検出器は、マグネットが近傍を通過するときにそれぞれ信号を出力する。演算部は、算出された変化率を所定の基準周期に乗算することにより、モータの回転周期を算出してもよいし、さらにその回転周期からモータの回転速度を算出してもよい。また、モータ特性を１つのパラメータとして制御対象を制御する制御装置に当該モータ特性取得装置が含まれる場合、演算部は、回転周期まで算出することなく、その制御装置の制御部にその変化率の情報を出力してもよい。つまり、制御部が基準周期を保持し、演算部から取得した変化率をその基準周期に乗算することによりモータの回転周期を算出してもよい。制御部は、さらにその回転周期からモータの回転速度を算出して制御に用いてもよい。
【００１２】
この態様によると、モータの回転周期がエッジ間隔時間により細分化され、各エッジ検出時に、そのとき算出されたエッジ間隔時間とそのモータの１回転以上前に算出された対応するエッジ間隔時間との変化率が算出される。この変化率はモータの回転位相が同じである同位相区間の経過時間の比率を表すため、その位相区間におけるモータの回転周期の変化率を反映する。したがって、この変化率を変化前の基準周期に乗算することにより、マグネットの着磁誤差や磁気検出器の取り付け誤差にかかわらず、モータの回転周期を正確に算出することができる。また、各位相区間ごとの変化率から回転周期を算出するため、他の位相区間を演算に含める場合のような演算上の鈍りが生じることもなく、モータの回転周期の変化に鋭敏に反応した演算結果が得られるようになる。
【発明の効果】
【００１３】
本発明によれば、マグネットの着磁誤差、回転検出センサの取り付け誤差を取り除きながらも、モータの回転周期の変化に鋭敏に反応する装置を提供できる。
【発明を実施するための最良の形態】
【００１４】
本発明の一実施形態は、モータ特性を取得するモータ特性取得装置として構成される。このモータ特性取得装置は、モータの回転軸に固定されたマグネットと、回転軸の周囲に設けられ、モータの回転に伴ってマグネットが近傍を通過するときに信号を出力する少なくとも１つの磁気検出器と、磁気検出器から出力される信号のエッジを検出し、磁気検出器から順次出力される時間的に最も近接したエッジの間隔であるエッジ間隔時間を逐次算出して保持し、モータの複数の回転周期において対応するエッジ間隔時間を比較してその変化率を算出する演算部と、を備える。磁気検出器は、回転軸の周方向に対して所定の間隔で複数配置されてもよい。このように構成すれば、各磁気検出器から出力される複数の信号の状態を比較することにより、モータの回転方向を検出することもできる。
【００１５】
演算部は、逐次算出されるエッジ間隔時間と、そのモータの１回転前に算出された同位相区間のエッジ間隔時間との変化率を基準周期に乗算することにより、モータの回転周期を算出してもよい。このようにすれば、各位相区間において１周期ごとの回転周期の変化に鋭敏に反応した演算結果を得ることができる。
【００１６】
あるいは、演算部が、各位相区間ごとにエッジ間隔時間を逐次記憶し、各エッジ検出時に、所定期間における同位相区間のエッジ間隔時間の平均値である平均エッジ間隔時間を算出するようにしてもよい。そして、そのエッジ検出時に算出されたエッジ間隔時間と平均エッジ間隔時間との変化率を算出し、その変化率を基準周期に乗算することにより、モータの回転周期を算出してもよい。このような平均エッジ間隔時間は、各位相区間ごとの回転周期の平均値を反映するものでもあるため、各位相区間の平均エッジ間隔時間を１周期分合計すれば、モータの平均的な仮の回転周期を求めることができる。この仮の回転周期は、モータの通常時の動作特性を反映するものといえる。そこで、この仮の回転周期を仮の基準周期とし、上記変化率を乗算して回転周期を算出するようにしてもよい。
【００１７】
また、モータの回転開始直後は回転トルクが比較的大きくなるため、安定した回転特性が得られるまでに所定回転数を要することがある。また、モータが少なくとも１回転しなければ、本来回転周期を算出することはできない。このような期間においてもモータの回転数を検出する必要がある場合には、その回転開始直後の回転周期も何らかの方法で取得する必要がある。そこで、演算部が、モータの回転開始後の所定期間、エッジの検出ごとに、モータの回転が開始されてから取得した各エッジ間隔時間を積算した経過時間と、その経過時間に検出されたエッジ数とに基づいて仮の回転周期を算出するようにしてもよい。この仮の回転周期はエッジの検出ごとに算出されるため、各位相区間ごとにこれを保持してもよい。そして、その所定期間において最後に検出された各位相区間に対応する仮の回転周期を、所定期間経過後の各位相区間に対応する初回のエッジ検出時に仮の基準周期として回転周期を算出するようにしてもよい。その所定期間以降の各エッジ検出時には、前回算出された同位相区間についての回転周期を基準周期として用いてモータの回転周期を算出してもよい。
【００１８】
あるいは、演算部は、モータの回転開始後の所定期間は基準周期の算出のためのデータ取得期間として回転周期の算出は行わず、その所定期間の経過時間とその経過時間に検出されたエッジ数とに基づいて仮の基準周期を算出するようにしてもよい。そして、所定期間経過後の初回の各エッジ検出時にその仮の基準周期を用いてモータの回転周期を算出し、それ以降の各エッジ検出時には、前回算出された同位相区間についての回転周期を基準周期として用いてモータの回転周期を算出してもよい。
【００１９】
なお、以上の態様では、各位相区間において算出された回転周期が次回の同位相区間における回転周期の演算に基準周期として用いられるが、その回転周期はモータの回転に応じて時々刻々変化していく。そこで、演算部は、モータの回転停止により回転周期の取得情報をリセットし、モータの回転開始ごとに回転周期の演算を実行してもよい。
【００２０】
また、このように前回の回転周期を基準周期として用いるような相対比較による演算を行う場合、その演算の過程で算出された回転周期と実際の回転周期との間に誤差が生じると、その誤差が累積していく可能性がある。そこで、逐次算出される基準周期に絶対値による規制を行うようにしてもよい。すなわち、演算部は、回転周期について予め設定された算出許容範囲を参照し、算出された回転周期が算出許容範囲を外れたときには、その回転周期を次回の基準周期としては用いずに仮の基準周期を再度演算し、その仮の基準周期を用いてモータの回転周期を算出するようにしてもよい。この「算出許容範囲」については、例えばモータの設計仕様から想定しうる回転周期の範囲を設定してもよいし、予めモータの特性試験を行うなどして、正常時であれば可能性のある回転周期の範囲を設定してもよい。あるいは、このように回転周期が算出許容範囲を外れたとき、あるいは算出許容範囲とは無関係に、所定期間ごとに基準周期をリセットして算出しなおす処理を行うようにしてもよい。
【００２１】
以上に述べたモータ特性取得装置は、モータの回転速度などのモータ特性を１つのパラメータとして制御対象を制御する制御装置に、モータ特性取得部として組み込むことができる。例えば、パワーウィンド、スライティングルーフ、あるいは自動ドアやシャッタなど、モータに駆動され、そのモータの回転数を回転検出センサにより検出しつつ駆動制御が行われる装置に組み込んでもよい。制御装置は、モータ特性取得部が取得したモータの回転周期からその回転速度を算出し、その回転速度に応じて予め設定した制御モードへ移行して、モータの回転制御を実行するものでもよい。
【００２２】
以下、図面を参照しつつ本発明を具体化した実施例について詳細に説明する。以下の実施例は、本発明のモータ特性取得装置をパワーウィンド制御装置に組み込んで具現化したものである。
【００２３】
［第１実施例］
図１は、第１実施例に係るパワーウィンド制御装置の概略構成を表す図である。図２は、パワーウィンドを駆動させるモータの回転検出部の概略構成を表す図である。説明の便宜上、同図には運転席に設けられたパワーウィンド制御装置が示されている。
【００２４】
図１に示すように、本実施例のパワーウインド制御装置は、車両のドアガラス２を昇降させるレギュレータ４を駆動制御するものであり、そのレギュレータ４を駆動するモータアクチュエータ６と、モータアクチュエータ６を駆動する制御ユニット８を備える。
【００２５】
モータアクチュエータ６は、レギュレータ４を駆動するモータ１０、そのモータ１０を駆動するモータ駆動回路１２、モータ１０の回転状態を検出する回転検出センサ１４を含む。モータ１０は、その回転軸が減速ギヤを介してレギュレータ４の図示しないアームに接続されており、正転によりアームを伸長させてドアガラス２を閉じる方向に上昇させ、逆転によりアームを縮小させてドアガラス２を開く方向に下降させる。
【００２６】
モータ駆動回路１２は、制御ユニット８からの指令信号に基づいてオン・オフ動作を行う複数のリレー回路を含む。各リレー回路はトランジスタを備えており、このトランジスタへの通電状態を切り替えることで各リレーの接続切替えが行われる。それにより、モータ１０に正転方向または逆転方向の電圧が印加されるように構成されている。
【００２７】
回転検出センサ１４は、モータ１０の回転に応じたパルス信号を制御ユニット８に向けて出力する。すなわち、図２に示すように、モータ１０の回転軸２０には、Ｎ極およびＳ極が対向配置された２極のマグネット２２が固定されている。本実施例では、Ｎ極とＳ極とが回転軸２０に対して対称に設けられており、回転位相の約１８０度ごとにその境界が現れるように構成されている。回転検出センサ１４は、そのマグネット２２の周囲に配置された磁気検出器としての２つのホール素子２４，２６を含んで構成される。ホール素子２４とホール素子２６とは、回転軸２０を中心に互いに９０度ずれた位置にそれぞれ配置されている。各ホール素子は、モータ１０の回転軸２０とともにマグネット２２が回転することにより、そのマグネット２２から受ける磁束密度に比例したパルス状の検出信号（ホール電圧）を出力する。
【００２８】
図１に戻り、制御ユニット８は、マイクロコンピュータ（以下「マイコン」と表記する）３０を中心に構成されており、電源回路３２、スイッチ入力回路３４、通信回路３６を含んで構成される。電源回路３２は、図示しないバッテリの電源電圧をマイコン３０や回転検出センサ１４の各ホール素子等の各部に供給する。また、イグニッションスイッチ（以下「ＩＧスイッチ」と表記する）４０からの入力信号が、電源回路３２を介してマイコン３０に入力される。
【００２９】
マイコン３０は、各種演算処理を実行するＣＰＵ、各種制御プログラムを格納するＲＯＭ、データ格納やプログラム実行のためのワークエリアとして利用されるＲＡＭ、入出力インターフェース、計時用のタイマ等を備える。
【００３０】
スイッチ入力回路３４は、運転者によるパワーウィンドスイッチ（「ＰＷスイッチ」と表記する）４２の操作に応じた入力信号をマイコン３０に入力する。スイッチ入力回路３４はマニュアルスイッチおよびオートスイッチを含み、マニュアルスイッチは開スイッチおよび閉スイッチからなる。開スイッチは、運転者がＰＷスイッチ４２を１段階押し下げたときにオンされ、その押し下げ操作の期間中のみドアガラス２を開方向に動作させるための信号を出力する。閉スイッチは、運転者がＰＷスイッチ４２を１段階引き上げたときにオンされ、その引き上げ操作の期間中のみドアガラス２を閉方向に動作させるための信号を出力する。一方、オートスイッチは、ＰＷスイッチ４２が２段階操作されることによりオンし、運転者の操作解除後もドアガラス２の開方向または閉方向の動作を継続させるための信号を出力する。
【００３１】
通信回路３６は、車両に搭載された図示しない電子制御装置（「ＥＣＵ」という）との双方向通信を行うための回路であり、図示しない通信ラインを介してＥＣＵに接続されている。ＥＣＵは、運転席に設けられた制御ユニット８、助手席に設けられた制御ユニット、および左右後席にそれぞれ設けられた制御ユニットに接続されており、これらを統括的に管理する。運転席には、助手席および後席のドアガラスを駆動制御するためのＰＷスイッチも設けられており、運転者がこれらを操作することにより、その操作指令信号がＥＣＵを介して各席の制御ユニットに伝送される。
【００３２】
マイコン３０は、各種センサ・スイッチや通信回路３６からの入力信号に基づいて所定の演算処理を行い、モータ駆動回路１２に向けて制御信号を出力する。また、必要に応じてＥＣＵとの通信を行う。
【００３３】
次に、本実施例に係るモータ１０の回転速度の検出方法について説明する。図３および図４は、モータの回転周期の算出方法を表す説明図である。図３において、上段にはホール素子２４から回転検出センサ１４を介して出力されるパルス信号Ａが示され、下段にはホール素子２６から回転検出センサ１４を介して出力されるパルス信号Ｂが示されている。同図の横軸は時間の経過を表している。図４には、その回転周期の演算過程で検出されるパルス信号のエッジと、演算に用いるパラメータとの関係が示されている。同図の横軸はエッジの検出数を表し、縦軸は回転周期とエッジ間隔時間とを表している。
【００３４】
上述のように、ホール素子２４、２６は、マグネット２２から受ける磁束密度に比例したパルス状の検出信号を出力する。回転検出センサ１４は、各ホール素子の出力信号（ホール電圧）に対して図示しないしきい値ＴＨＳ，ＴＨＮを設定しており、磁束密度がそのしきい値を超えて変化したときに、検出信号の出力レベルがＨレベルとＬレベルの間で切り替わる。しきい値ＴＨＳは、マグネット２２がＮ極とＳ極との境界線からＳ極側に回転するときに出力レベルを切り替える基準とされる検出信号の値である。一方、しきい値ＴＨＮは、マグネット２２がＮ極とＳ極との境界線からＮ極側に回転するときに出力レベルを切り替える基準とされる検出信号の値である。本実施例では、しきい値ＴＨＳ，ＴＨＮがともにゼロに設定されており、検出される磁束の向きにより出力レベルが切り替わり、図３に示すような矩形のパルス信号Ａ，Ｂとなってマイコン３０へ入力される。
【００３５】
すなわち、各ホール素子がマグネット２２のＳ極に対向した状態からＮ極に対向する状態に切り替わって磁束の向きが正の方向に変化したとき、各パルス信号はＬレベルからＨレベルに切り替わる。逆に、各ホール素子がマグネット２２のＮ極に対向した状態からＳ極に対向する状態に切り替わって磁束の向きが負の方向に変化したとき、各パルス信号はＨレベルからＬレベルに切り替わる。言い換えれば、マグネット２２のＮ極とＳ極との境界線が通過するごとに出力レベルが切り替わり、マイコン３０において各パルス信号の上昇エッジまたは下降エッジが検出される。
【００３６】
図示の例では、時刻ｔ１においてホール素子２４によるパルス信号Ａの下降エッジが検出され、時刻ｔ２においてホール素子２６によるパルス信号Ｂの下降エッジが検出されている。そして、時刻ｔ３においてパルス信号Ａの上昇エッジが検出され、時刻ｔ４においてパルス信号Ｂの上昇エッジが検出されている。
【００３７】
本実施例では、まず、この２つのパルス信号の上昇エッジおよび下降エッジのうち、いずれのパルス信号であるかにかかわらず時間的に順次検出されるエッジ間のエッジ間隔時間ａ１，ｂ１，ｃ１，ｄ１，ａ２，・・・を逐次算出する。すなわち、マイコン３０は、最初のエッジが検出されてからタイマを駆動して各エッジをトリガとしてその時間間隔を算出する。このタイマは例えばフリーランニングカウンタを用いて構成することができ、そのカウント値の差分からエッジ間隔時間を算出することができる。なお、このようなカウント処理自体は、例えば特許文献１にも示されるように公知の技術であるため、その詳細な説明については省略する。各エッジ間隔時間は、モータ１０の回転周期のほぼ１／４周期に対応するが、その１周期の期間においても回転周期が変化しうるため、同じ値をとるとは限らない。実際には、マグネット２２のＮ極およびＳ極の着磁誤差や各ホール素子の取り付け誤差があるため、異なる値をとるといえる。図示の例では、エッジ間隔時間ａ１よりもエッジ間隔時間ｃ１のほうが短くなっている。
【００３８】
そして、前後の周期における同位相区間のエッジ間隔時間の変化率αを、予め算出された基準周期に乗算することにより、時々刻々変化するリアルタイムのモータ１０の回転周期を算出する。例えば時刻ｔ６においてパルス信号Ｂの下降エッジが検出されたときに、その下降エッジと、これと時間的に隣接するパルス信号Ａの下降エッジとのエッジ間隔時間ａ２を算出する。続いて、このエッジ間隔時間ａ２と、１周期前の同位相区間のエッジ間隔時間ａ１との変化率αａ（＝ａ２／ａ１）を算出する。そして、図４にも示すように、その１周期前の同位相区間のエッジ検出時に算出された基準周期Ｔａ１に対してこの変化率αａを乗算することにより、今回のエッジ検出時の回転周期Ｔａ２を算出する。この回転周期Ｔａ２は、次回の同位相区間のエッジ検出時に基準周期として用いられる。なお、ここでいう「位相区間」とは、エッジにより区切られる回転位相の各区間を意味する。エッジは、各ホール素子からみて回転軸２０の回転位相が同じ位置にて検出されるため、各エッジ間の位相区間はモータ１０の回転速度によらず一定である。「同位相区間」とは、その位相区間が同じである区間を意味する。図示の例では、エッジ間隔時間ａ１の位相区間とエッジ間隔時間ａ２の位相区間、エッジ間隔時間ｂ１の位相区間とエッジ間隔時間ｂ２の位相区間、エッジ間隔時間ｃ１の位相区間とエッジ間隔時間ｃ２の位相区間、エッジ間隔時間ｄ１の位相区間とエッジ間隔時間ｄ２の位相区間が、それぞれ同位相区間ということになる。
【００３９】
同様に、時刻ｔ７のエッジ検出時にエッジ間隔時間ｂ２が算出されたときには、１周期前の同位相区間のエッジ間隔時間ｂ１との変化率αｂ（＝ｂ２／ｂ１）を算出する。そして、その１周期前の同位相区間のエッジ検出時に算出された基準周期Ｔｂ１に対してこの変化率αｂを乗算することにより、今回のエッジ検出時の回転周期Ｔｂ２を算出する。このように、基準周期には、前回の同位相区間に対応するエッジ検出時に算出された回転周期が用いられ、今回のリアルタイムの回転周期が算出される。ただし、その前回の回転周期が確定するまでの所定期間においては、その所定期間のエッジ間隔時間の積算値に基づいて平均的な回転周期を算出する。その詳細については後述する。
【００４０】
このような回転周期の算出方法は、約１／４周期ごとの周期の変化を算出するため、従来技術のように１周期分の回転時間を算出する場合に比べて演算上の分解能が高くなる。また、１周期を細分化した同じ位相区間のエッジ間隔時間の変化率を算出し、回転周期についても同じ変化率で変化すると仮定して算出することで、その細分化された位相区間における変化に鋭敏に対応することができる。
【００４１】
図５は、比較例としてモータの回転周期を１周期を単位に算出する方法を表す説明図であり、図３に対応する。  
図示の比較例のように１周期を単位に回転周期を算出する場合、時刻ｔ６において算出される回転周期はＴａ２＝ｂ１＋ｃ１＋ｄ１＋ａ２となる。すなわち、理想的には時刻ｔ６の直近のエッジ間隔時間ａ２に対応するリアルタイムの回転周期を算出したいところ、そのエッジ間隔時間ａ２とは位相区間が異なるエッジ間隔時間ｂ１，ｃ１，ｄ１によってその値が鈍ることになる。これに対し、エッジ間隔時間ａ２の位相区間が概ね１／４周期であることから、エッジ間隔時間ａ２を単純に４倍して回転周期とする方法も考えられるが、マグネット２２の着磁誤差や各ホール素子の取り付け誤差があるため、正確な値は期待できない。そこで、本実施例では、同じ位相区間のエッジ間隔時間ａ２，ａ１の変化率αａ（＝ａ２／ａ１）を用いる。同じ位相区間での比較はその着磁誤差や取り付け誤差の影響が及ばないため、仮にモータ１０の回転速度が急変しても、その変化率で換算することで正確かつ鋭敏な回転周期を得ることができる。
【００４２】
次に、モータ１０の回転周期の算出処理の具体例について説明する。図６は、回転周期算出処理の流れを表すフローチャートである。以下の処理は、ＩＧスイッチ４０がオンにされた後、マイコン３０が所定の割り込みタイミングにて実行するものである。
【００４３】
マイコン３０は、運転者によってＰＷスイッチ４２が操作され、スイッチ入力回路３４からドアガラス２の駆動要求を表す信号が入力されると、それにしたがった通常のパワーウィンド制御を実行する。すなわち、マニュアルスイッチの開スイッチがオンにされると、ドアガラス２を開方向に駆動するための制御信号をモータ駆動回路１２に向けて出力する。これにより、モータ１０が正転してドアガラス２を開方向に動作させる。閉スイッチがオンにされると、ドアガラス２を閉方向に駆動するための制御信号をモータ駆動回路１２に向けて出力する。これにより、モータ１０が逆転してドアガラス２を閉方向に動作させる。オートスイッチがオンにされると、運転者によるＰＷスイッチ４２の操作解除後もドアガラス２の開閉動作を継続させるための制御信号をモータ駆動回路１２に向けて出力する。これにより、モータ１０がそのドアガラス２の開閉動作を継続する。また、ドアガラス２の閉動作時に、全閉状態に到る前にその動作速度が基準速度よりも低下した場合には、異物が挟み込まれた可能性があるため、緊急避難的にモータ１０の回転を反転させてドアガラス２を開方向に制御する。このとき、ドアガラス２を全開状態まで開くことなく、所定位置まで開くように制御してもよい。なお、この通常のパワーウィンド制御については一般的な手法が用いられるため、その詳細な説明については省略する。
【００４４】
本実施例では、このような異物の挟み込み等の判定に際してモータ１０の回転速度の低下を鋭敏に検出するために、このパワーウィンド制御に並行して以下の回転周期算出処理が行われる。
【００４５】
すなわち、回転検出センサ１４にてパルス信号が出力されると、マイコン３０は、図６に示すエッジ割り込みルーチンを実行する。このとき、マイコン３０は、タイマの値を参照して前エッジ検出時からの経過時間であるエッジ間隔時間Ｔを算出するとともに（Ｓ１４）、エッジ検出数Ｎを１インクリメントする（Ｓ１６）。すなわち、マイコン３０は、モータ１０の起動時からパルス信号Ａ，Ｂの上昇エッジおよび下降エッジが順次入力されるごとに、その起動時からのエッジの検出数と前後に検出されたエッジのエッジ間隔時間とを算出し、ＲＡＭの所定の記憶領域に記憶していく。なお、最初のエッジの検出時にはエッジ間隔時間は算出されないので、Ｓ１４の算出はされないことになる。
【００４６】
続いて、マイコン３０は、現在のエッジ検出数Ｎが予め設定した基準検出数Ｎｓｅｔ以上であれば（Ｓ１８のＹ）、後述する周期演算・記憶処理を実行する（Ｓ２０）。この基準検出数Ｎｓｅｔについては、後述する回転周期の算出基準となる基準周期が安定して得られるエッジの検出数が予め設定される。図３にも示したように、ここではパルス信号Ａの下降エッジ、パルス信号Ｂの下降エッジ、パルス信号Ａの上昇エッジ、パルス信号Ｂの上昇エッジ、・・・といった具合に検出されるため、基準検出数Ｎｓｅｔは一周期分のエッジ数である４以上の値が設定される。本実施例では、モータの定常回転時の回転周期を基準周期とするために８周期分のエッジ数である３２が設定される。つまり、モータ回転開始直後は慣性力が小さいために定常回転時の回転周期が得られ難いため、複数周期の余裕をもって基準周期を設定するようにしている。ただし、その基準検出数Ｎｓｅｔについては適宜設定変更可能である。一方、エッジ検出数Ｎが基準検出数Ｎｓｅｔ未満であれば（Ｓ１８のＮ）、後述する仮周期設定処理を実行する（Ｓ２２）。
【００４７】
図７は、図６におけるＳ２２の仮周期設定処理の流れを表すフローチャートである。  
マイコン３０は、モータ１０の回転周期に用いる基準周期が定まるまでの間、この仮周期設定処理において仮の回転周期を算出し、現在の回転速度の算出に用いる。
【００４８】
すなわち、マイコン３０は、まず、今回算出されたエッジ間隔時間ＴをメモリバッファＳＢＵに記憶する（Ｓ３０）。続いて、それまでに算出されたエッジ間隔時間Ｔの積算値に対して今回算出されたエッジ間隔時間Ｔを加算し、モータ１０の駆動開始からの経過時間ＳＴを算出する（Ｓ３２）。マイコン３０は、この経過時間ＳＴとＳ１６にて記憶されたエッジ数Ｎを用いて、下記式（１）により仮の回転周期ＤＣを算出する（Ｓ３４）。  
ＤＣ＝ＳＴ×（Ｍ／Ｎ）  ・・・（１）  
ここで、Ｍはモータ１０の１回転あたりに検出されるエッジ数であり、本実施例では４である。
【００４９】
続いて、マイコン３０は、今回検出されたエッジがパルス信号Ａの上昇エッジであれば（Ｓ３６のＹ，Ｓ３８のＹ）、今回算出されたエッジ間隔時間ＴをメモリバッファＴＡに記憶するとともに（Ｓ４０）、メモリバッファＳＡに回転周期ＤＣを記憶し（Ｓ４２）、現在の回転周期とする（Ｓ４４）。そのエッジがパルス信号Ａの下降エッジであれば（Ｓ３６のＹ，Ｓ３８のＮ）、そのエッジ間隔時間ＴをメモリバッファＴＢに記憶するとともに（Ｓ４６）、メモリバッファＳＢに回転周期ＤＣを記憶し（Ｓ４８）、現在の回転周期Ｓとする（Ｓ４４）。そのエッジがパルス信号Ｂの上昇エッジであれば（Ｓ３６のＮ，Ｓ５０のＹ）、そのエッジ間隔時間ＴをメモリバッファＴＣに記憶するとともに（Ｓ５２）、メモリバッファＳＣに回転周期ＤＣを記憶し（Ｓ５４）、現在の回転周期Ｓとする（Ｓ４４）。そのエッジがパルス信号Ｂの下降エッジであれば（Ｓ３６のＮ，Ｓ５０のＮ）、そのエッジ間隔時間ＴをメモリバッファＴＤに記憶するとともに（Ｓ５６）、メモリバッファＳＤに回転周期ＤＣを記憶し（Ｓ５８）、現在の回転周期Ｓとする（Ｓ４４）。以上のように算出された回転周期Ｓは、エッジ検出数Ｎが基準検出数Ｎｓｅｔになるまで現在の回転周期としてパワーウィンド制御に用いられる。そして、エッジ検出数Ｎが基準検出数Ｎｓｅｔになったときに基準周期とされ、Ｓ２０の当初の処理に用いられる。
【００５０】
図８は、図６におけるＳ２０の周期演算・設定処理の流れを表すフローチャートである。  
周期演算・設定処理において、マイコン３０は、今回検出されたエッジがパルス信号Ａの上昇エッジであれば（Ｓ６０のＹ，Ｓ６２のＹ）、メモリバッファＴＡから前回記憶されたエッジ間隔時間ＰＴを取得する（Ｓ６４）。そして、今回検出されたエッジ間隔時間Ｔとエッジ間隔時間ＰＴとからその変化率α（＝Ｔ／ＰＴ）を算出する（Ｓ６６）。図４に示した例でいえば、変化率αｂ（＝ｂ２／ｂ１）が算出されたりする。その一方、マイコン３０は、メモリバッファＳＡからモータ１０の１回転前の回転周期ＰＳを取得する（Ｓ６８）。そして、この回転周期ＰＳと変化率αを用いて、下記式（２）により現在の回転周期Ｓを算出する（Ｓ７０）。  
Ｓ＝ＰＳ×α  ・・・（２）  
そして、マイコン３０は、メモリバッファＴＡにエッジ間隔時間Ｔを記憶するとともに（Ｓ７２）、メモリバッファＳＡに回転周期Ｓを記憶する（Ｓ７４）。
【００５１】
一方、今回検出されたエッジがパルス信号Ａの下降エッジであれば（Ｓ６０のＹ，Ｓ６２のＮ）、メモリバッファＴＢから前回記憶されたエッジ間隔時間ＰＴを取得する（Ｓ７６）。そして、エッジ間隔時間Ｔとエッジ間隔時間ＰＴとからその変化率α（＝Ｔ／ＰＴ）を算出する（Ｓ７８）。図４に示した例でいえば、例えば変化率αａ（＝ａ２／ａ１）が算出されたりする。その一方、マイコン３０は、メモリバッファＳＢからモータ１０の１回転前の回転周期ＰＳを取得し（Ｓ８０）、上記式（２）により現在の回転周期Ｓを算出する（Ｓ８２）。そして、メモリバッファＴＢにエッジ間隔時間Ｔを記憶するとともに（Ｓ８４）、メモリバッファＳＢに回転周期Ｓを記憶する（Ｓ８６）。
【００５２】
今回検出されたエッジがパルス信号Ｂの上昇エッジであれば（Ｓ６０のＮ，Ｓ８８のＹ）、メモリバッファＴＣから前回記憶されたエッジ間隔時間ＰＴを取得する（Ｓ９０）。そして、エッジ間隔時間Ｔとエッジ間隔時間ＰＴとからその変化率α（＝Ｔ／ＰＴ）を算出する一方（Ｓ９２）、メモリバッファＳＣからモータ１０の１回転前の回転周期ＰＳを取得し（Ｓ９４）、上記式（２）により現在の回転周期Ｓを算出する（Ｓ９６）。そして、メモリバッファＴＣにエッジ間隔時間Ｔを記憶するとともに（Ｓ９８）、メモリバッファＳＣに回転周期Ｓを記憶する（Ｓ１００）。
【００５３】
今回検出されたエッジがパルス信号Ｂの下降エッジであれば（Ｓ６０のＮ，Ｓ８８のＮ）、メモリバッファＴＤから前回記憶されたエッジ間隔時間ＰＴを取得する（Ｓ１０２）。そして、エッジ間隔時間Ｔとエッジ間隔時間ＰＴとからその変化率α（＝Ｔ／ＰＴ）を算出する一方（Ｓ１０４）、メモリバッファＳＤからモータ１０の１回転前の回転周期ＰＳを取得し（Ｓ１０６）、上記式（２）により現在の回転周期Ｓを算出する（Ｓ１０８）。そして、メモリバッファＴＤにエッジ間隔時間Ｔを記憶するとともに（Ｓ１１０）、メモリバッファＳＤに回転周期Ｓを記憶する（Ｓ１１２）。
【００５４】
以上のように、本実施例の回転周期算出処理においては、エッジ検出数Ｎが基準検出数Ｎｓｅｔ以上となる所定期間が経過するまでは仮の回転周期を設定し、安定した回転周期が得られるようになってからこれを基準周期として次回の回転周期の算出に用いるようにしている。
【００５５】
図９および図１０は、実施例の効果を定性的に表す図である。図９は、モータ１０の回転周期が徐々に短くなった後、再度徐々に長くなるように変化した場合を仮定し、そのとき算出される回転周期の変化を表している。同図の横軸はある時点からのエッジの検出数を表し、縦軸が回転周期を表している。図中実線が本実施例の算出法（図３参照）による回転周期の算出結果を表し、破線が比較例の算出法（図５参照）による回転周期の算出結果を表している。一方、図１０は、モータ１０の回転周期が一定の状態からある時点を境に長くなるように変化した場合を仮定し、そのとき算出される回転周期の変化を表している。（Ａ）は本実施例による回転周期の算出結果を表し、（Ｂ）は比較例による回転周期の算出結果を表している。各図の横軸はある時点からのエッジの検出数を表し、縦軸が回転周期を表している。
【００５６】
図９に示すようにモータ１０の回転周期が変化した場合、例えばエッジの５検出目に本来得られるべき回転周期（周期真値）が２ｍｓｅｃであるとすると、本実施例では上記式（２）によりＳ＝５×２／５＝２（ｍｓｅｃ）となって、その本来の値が得られる。なお、ここでは、対応するエッジ間隔時間における周期真値の比が、その対応するエッジ間隔時間そのものの比になるとして計算している。６検出目以降も同様に計算することで、本来得られるべき回転周期に一致した算出値が得られる。これに対し、比較例では例えば６検出目にＳ＝（２＋１＋２＋３）／４＝２となるなど、それ以降も図示のように本来得られるべき値とは若干異なる値が算出される。一方、図１０に示すようにモータ１０の回転周期が変化した場合、本実施例では５検出目以降の回転周期の変化に応じて算出値も同じように変化する。これに対し、比較例では図示のように回転周期の変化に対して算出値の追従が遅れる。
【００５７】
このように比較例の演算方法では、今回のエッジ検出時の回転周期の演算に他の位相区間の回転周期の値が影響するため、全体として演算値が鈍り、算出結果の正確性や実際の回転周期に対する応答性に支障をきたしている。これに対し、本実施例では、今回のエッジ検出時の回転周期と、１周期前の同位相区間の回転周期とを用いた演算が行われるため、他の位相区間の回転周期の影響をうけず、正確で鋭敏な算出結果が得られていることが分かる。
【００５８】
以上に説明したように、本実施例においては、モータ１０の回転周期がエッジ間隔時間により細分化され、各エッジ検出時に、そのとき算出されたエッジ間隔時間とその１周期前に算出された対応するエッジ間隔時間との変化率αが算出される。すなわち、この変化率αは、モータ１０の回転位相が同じである同位相区間の経過時間の比率を表すため、モータ１０の回転周期の変化率αを正確に表すことができる。したがって、この変化率αを変化前の回転周期に乗算することにより、マグネットの着磁誤差や磁気検出器の取り付け誤差にかかわらず、今回の回転周期を正確に算出することができる。また、そのように各位相区間ごとの変化率αから回転周期を算出すると、他の位相区間を演算に含める場合のような演算上の鈍りが生じることもなく、モータ１０の短期間の回転周期の変化に対して鋭敏に反応した演算結果を得ることができる。
【００５９】
［第２実施例］
次に、本発明の第２実施例について説明する。本実施例は、モータ１０の回転周期の算出処理において平均エッジ間隔時間を用いる点が異なる以外は第１実施例とほぼ同様である。このため、上記第１実施例と同様の構成部分については必要に応じて同一の符号を付す等して適宜その説明を省略する。
【００６０】
図１１および図１２は、本実施例の回転周期算出方法を表す概念図である。図１１は、基準周期の算出方法を表している。図１２は、エッジ検出ごとに算出されるエッジ間隔時間とモータ１０の回転周期との関係を表している。  
既に説明した第１実施例では、エッジ検出時に算出したエッジ間隔時間を１周期前（モータ１０の１回転前）の対応する位相区間のエッジ間隔時間と比較して変化率αを算出した例を示した。本実施例では、図１１に示すように、モータ１０が回転するごとに各位相区間についてそれまで算出されたエッジ間隔時間の平均値である平均エッジ間隔時間ａｈ，ｂｈ，ｃｈ，ｄｈを算出する。また、これら各位相区間の平均エッジ間隔時間ａｈ，ｂｈ，ｃｈ，ｄｈを合計して平均的な回転周期を算出し、これを基準周期ｓｈとする。各平均エッジ間隔時間および基準周期ｓｈは、モータ１０の回転とともに更新される。
【００６１】
図１２に示すように、マイコン３０は、エッジ検出ごとに取得されるエッジ間隔時間と平均エッジ間隔時間とを用いて変化率βを算出し、この平均エッジ間隔時間から算出した基準周期ｓｈに変化率βを乗算することにより、現在のモータ１０の回転周期Ｓを算出する。
【００６２】
図１３は、回転周期算出処理の流れを表すフローチャートである。以下の処理は、ＩＧスイッチ４０がオンにされた後、マイコン３０が、パワーウィンド制御に並行して実行する。  
回転検出センサ１４にてパルス信号が出力されると、マイコン３０は、図１３に示すエッジ割り込みルーチンを実行する。すなわち、マイコン３０は、回転検出センサ１４からパルス信号のエッジが検出されると、タイマの値を参照して前回のエッジ検出時からの経過時間であるエッジ間隔時間ｔを算出する（Ｓ２０４）。
【００６３】
続いて、マイコン３０は、今回検出されたエッジがパルス信号Ａの上昇エッジであれば（Ｓ２０６のＹ，Ｓ２０８のＹ）、今回算出されたエッジ間隔時間ｔをメモリバッファｔａに記憶するとともに（Ｓ２１０）、平均エッジ間隔時間ａｈを算出してメモリバッファｓａに記憶する（Ｓ２１２）。このメモリバッファｔａおよび以下に述べるメモリバッファｔｂ，ｔｃ，ｔｄは、直近の４周期分のエッジ間隔時間ｔを記憶できるいわゆるリングバッファなどのキュー型のバッファとして構成されている。平均エッジ間隔時間ａｈは、それまでに算出されてメモリバッファａに蓄積されたエッジ間隔時間ｔの合計を、それまでに検出されたエッジ数で除算した平均値であるが、直近の４周期分のエッジ間隔時間ｔの平均であるため、演算上、それ以前のエッジ間隔時間の影響はない。マイコン３０は、今回検出されたエッジ間隔時間ｔと平均エッジ間隔時間ａｈとからその変化率β（＝ｔ／ａｈ）を算出する（Ｓ２１４）。
【００６４】
一方、今回検出されたエッジがパルス信号Ａの下降エッジであれば（Ｓ２０６のＹ，Ｓ２０８のＮ）、今回算出されたエッジ間隔時間ｔをメモリバッファｔｂに記憶する（Ｓ２２０）。そして、平均エッジ間隔時間ｂｈを算出してメモリバッファｓｂに記憶し（Ｓ２２２）、今回検出されたエッジ間隔時間ｔと平均エッジ間隔時間ｂｈとからその変化率β（＝ｔ／ｂｈ）を算出する（Ｓ２２４）。
【００６５】
また、今回検出されたエッジがパルス信号Ｂの上昇エッジであれば（Ｓ２０６のＮ，Ｓ２３０のＹ）、今回算出されたエッジ間隔時間ｔをメモリバッファｔｃに記憶する（Ｓ２３２）。そして、平均エッジ間隔時間ｃｈを算出してメモリバッファｓｃに記憶し（Ｓ２３４）、今回検出されたエッジ間隔時間ｔと平均エッジ間隔時間ｃｈとからその変化率β（＝ｔ／ｃｈ）を算出する（Ｓ２３６）。
【００６６】
一方、今回検出されたエッジがパルス信号Ｂの下降エッジであれば（Ｓ２０６のＮ，Ｓ２３０のＮ）、今回算出されたエッジ間隔時間ｔをメモリバッファｔｄに記憶する（Ｓ２４０）。そして、平均エッジ間隔時間ｄｈを算出してメモリバッファｓｄに記憶し（Ｓ２４２）、今回検出されたエッジ間隔時間ｔと平均エッジ間隔時間ｄｈとからその変化率β（＝ｔ／ｄｈ）を算出する（Ｓ２４４）。
【００６７】
マイコン３０は、このようにして得られた平均エッジ間隔時間ａｈ，ｂｈ，ｃｈ，ｄｈを合計して基準周期ｓｈとし（Ｓ２１６）、この基準周期ｓｈに変化率βを乗算することにより、モータ１０の現在の回転周期Ｓ（＝ｓｈ×β）を算出する（Ｓ２１８）。
【００６８】
以上に説明したように、本実施例においては、モータ１０の回転周期がエッジ間隔時間により細分化され、各エッジ検出時に、そのとき算出されたエッジ間隔時間と、それ以前に算出された同位相区間のエッジ間隔時間の平均値との変化率βが算出される。すなわち、この変化率βも、モータ１０の回転位相が同じである同位相区間の経過時間の比率を表すため、モータ１０の回転周期の変化率αを正確に表すことができる。このため、モータ１０の回転周期の変化に鋭敏に反応した演算結果を得ることができる。また、エッジが検出されるたびに毎回基準周期が算出されるため、モータ１０の回転開始直後に第１実施例のような仮の回転周期を算出する工程は必要なく、その回転開始時点から同じ処理ルーチンにて演算を行うことができる。
【００６９】
本発明は上述の各実施例に限定されるものではなく、当業者の知識に基づいて各種の設計変更等の変形を各実施例に対して加えることも可能であり、そのような変形が加えられた実施例も本発明の範囲に含まれうる。
【００７０】
上記実施例においては、各ホール素子の出力信号に対するしきい値ＴＨＳ，ＴＨＮをともにゼロに設定した例を示したが、例えば特許文献１に示されるように、そのしきい値については正または負の値を適宜設定することが可能である。
【００７１】
上記実施例では、Ｎ極およびＳ極を一つずつ配置した２極のマグネット２２を例示したが、Ｎ極とＳ極がそれぞれ複数設けられて、周方向に順次配置される４極、６極・・・といったマグネットを採用することもできる。
【００７２】
上記実施例では、パワーウィンド制御装置がドアガラス２の閉動作時に異物の挟み込みを検出すると説明したが、ドアガラス２の開動作時の異物の挟み込み（巻き込み）を検出するものであってもよい。つまり、モータ１０の回転周期の低下により、ドアガラス２の開動作時および閉動作時の少なくとも一方における異物の挟み込みを検出するものであってもよいし、その検出モードを切り替え可能としてもよい。上記実施例によるモータの回転周期の算出法は、少なくともそのいずれかのモードにてを利用することができる。
【００７３】
上記実施例では、そのモータの回転周期の算出法をパワーウィンド制御装置に適用したが、車両のスライティングルーフ、自動ドアやシャッタなど、モータに駆動され、そのモータの回転数を回転検出センサにより検出しつつ駆動制御が行われる制御装置であれば適用することが可能である。
【図面の簡単な説明】
【００７４】
【図１】第１実施例に係るパワーウィンド制御装置の概略構成を表す図である。
【図２】パワーウィンドを駆動させるモータの回転検出部の概略構成を表す図である。
【図３】モータの回転周期の算出方法を表す説明図である。
【図４】モータの回転周期の算出方法を表す説明図である。
【図５】比較例としてモータの回転周期を１周期を単位に算出する方法を表す説明図である。
【図６】回転周期算出処理の流れを表すフローチャートである。
【図７】図６におけるＳ２２の仮周期設定処理の流れを表すフローチャートである。
【図８】図６におけるＳ２０の周期演算・設定処理の流れを表すフローチャートである。
【図９】実施例の効果を定性的に表す図である。
【図１０】実施例の効果を定性的に表す図である。
【図１１】第２実施例の回転周期算出方法を表す概念図である。
【図１２】第２実施例の回転周期算出方法を表す概念図である。
【図１３】回転周期算出処理の流れを表すフローチャートである。
【符号の説明】
【００７５】
２  ドアガラス、  ４  レギュレータ、  ６  モータアクチュエータ、  ８  制御ユニット、  １０  モータ、  １２  モータ駆動回路、  １４  回転検出センサ、  ２０  回転軸、  ２２  マグネット、  ２４  ホール素子、  ２６  ホール素子、  ３０  マイコン、  ３２  電源回路、  ３４  スイッチ入力回路、  ３６  通信回路、  ４０  ＩＧスイッチ、  ４２  ＰＷスイッチ。
【図１】
0004964112.tif 000002
【図２】
0004964112.tif 000003
【図３】
0004964112.tif 000004
【図４】
0004964112.tif 000005
【図５】
0004964112.tif 000006
【図６】
0004964112.tif 000007
【図７】
0004964112.tif 000008
【図８】
0004964112.tif 000009
【図９】
0004964112.tif 000010
【図１０】
0004964112.tif 000011
【図１１】
0004964112.tif 000012
【図１２】
0004964112.tif 000013
【図１３】
0004964112.tif 000014