(57)【特許請求の範囲】
【請求項１】
可動範囲の両端の間を移動可能な可動部を駆動し、動作すると電流信号に周期的なリプルを発生させるモータと、
前記モータの前記電流信号からリプル成分を抽出して、そのリプル成分をパルス化したパルス信号を出力する抽出回路と、
前記モータの電流を検出する電流検出部と、
前記電流検出部によって検出された電流のデータを入力するとともに前記パルス信号を入力し、前記モータを制御する制御部と、
前記モータの動作前の初期位置を前記初期位置から所定の原点位置までのパルス数で表した初期位置データと、前記可動部が前記可動範囲内から前記端に移動して前記モータが更に回転することができる前記モータの拘束開始位置を前記拘束開始位置から前記原点位置までのパルス数で表した拘束開始位置データと、前記可動部が前記可動範囲の前記端に位置して前記モータがそれ以上回転できずに拘束される前記モータのロック位置を前記ロック位置から前記原点位置までのパルス数で表したロック位置データと、を記憶した記憶部と、を備え、
前記制御部が、
前記モータを起動させる起動処理と、
前記起動処理後に前記パルス信号のパルスを入力するたびに、前記起動処理後に前記パルス信号に発生したパルス数を計数し、計数したパルス数を前記初期位置データの値に加算し、又は計数したパルス数を前記初期位置データの値から減算する計数処理と、
前記起動処理後に前記計数処理において算出した差又は和を前記拘束開始位置データの値と比較することで、前記モータの位置が前記拘束開始位置の間であるか否かを判定する判定処理と、
前記モータの位置が前記拘束開始位置の間でないと前記判定処理において判定した場合に、前記電流検出部から入力した電流データが所定値以上になるまで前記モータの回転を継続し、前記電流検出部から入力した電流データが所定値以上になったら前記モータを停止させる停止処理と、
前記停止処理後に、前記記憶部に記憶された前記初期位置データを前記ロック位置データの値に書き換える更新処理と、を更に実行する、モータ制御装置。
【請求項２】
前記制御部が、
前記初期位置データの値が前記ロック位置データの値に等しいか否かを判定する第二判定処理と、
前記初期位置データの値が前記ロック位置データの値に等しいと前記第二判定処理において判定した場合に、前記起動処理の実行後に前記計数処理において算出する差又は和が前記拘束開始位置データの値に等しくなるまで、前記モータの停止を禁止する禁止処理と、を更に実行する、請求項１に記載のモータ制御装置。
【請求項３】
前記制御部が、前記モータの位置が前記拘束開始位置の間であると前記判定処理において判定した場合に、前記モータを停止させる第二停止処理を更に実行する、請求項１又は２に記載のモータ制御装置。
【請求項４】
前記制御部が、前記初期位置データの値が前記ロック位置データの値に等しくないと前記第二判定処理において判定した場合に、前記起動処理を実行する、請求項２に記載のモータ制御装置。
【請求項５】
前記制御部が、前記起動処理後に所定の停止条件が満たされた時に前記判定処理を実行する、請求項１から４の何れか一項に記載のモータ制御装置。
【請求項６】
請求項１から５の何れか一項に記載のモータ制御装置と、
前記モータによって駆動される前記可動部を有するシート本体と、を備える車両用シート装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置及び車両用シート装置に関する。
【背景技術】
【０００２】
車両用シート、電動ドアミラー、パワーウィンドウ等には可動部が設けられ、可動部がモータによって駆動される。可動部の位置及び速度を制御装置によって正確に制御するためには、動作中のモータの回転量や位置を検出する必要がある。モータの回転量や位置を検出するべく、センサが用いられる。つまり、センサ（例えば、ホール素子、エンコーダ、リードスイッチセンサ）がモータ等に設けられ、動作中のモータの回転に同期した信号がセンサによって出力され、センサの出力信号が検出回路（例えば、コンパレータやＡＤ変換器）を介して制御装置に入力される。
【０００３】
ところが、センサを用いると、コストアップの要因になってしまう。そこで、センサを用いずに、モータの電流信号を利用して、モータの後段回路によってモータの回転量や位置を検出する技術が提案されている（例えば、特許文献１、特許文献２参照）。モータが動作している際には、モータの電流信号には直流成分、低周波成分及び高周波ノイズ等が含まれており、更に、モータの回転に同期した脈動（以下、リプル（ripple）という。）成分も含まれている。特許文献１、特許文献２に記載の技術では、モータの電流信号を後段回路によって処理することによってリプル成分を抽出する。具体的には、後段回路のフィルタによってモータの電流信号のうち直流成分、低周波成分及び高周波ノイズを除去し、リプル成分を通過させる。モータの電流信号の各成分の周波数が環境変化によって変動するため、後段回路のフィルタには、カットオフ周波数を可変することができるスイッチト・キャパシタ・フィルタを用いる。具体的には、スイッチト・キャパシタ・フィルタを通過した信号が演算回路にフィードバックされ、演算回路がフィードバック信号からカットオフ周波数を演算して、スイッチト・キャパシタ・フィルタのカットオフ周波数を設定する。
【０００４】
特許文献１に記載の技術では、リプルパルス整形回路が、スイッチト・キャパシタ・フィルタ（ＳＣＦ）を通過したリプル成分をパルス化し、カウンタ（ＣＴ）が、リプルパルス整形回路の出力信号のパルス数を計数する。カウンタ（ＣＴ）によって計数されたパルス数が、モータの回転量に相当するとともに、可動部の移動量に相当する。
【０００５】
ところで、可動部には可動範囲が設定されており、可動部が可動範囲の一方の端から他方の端にかけて移動可能である。特許文献３には、モータによって駆動される可動部が可動範囲（Ａ）の端（Ｘ）に移動したら、モータを停止させる技術が開示されている。具体的には、可動部の可動範囲（Ａ）の端（Ｘ）の内側にロック検出エリア（ｌ11）が設定されている（特許文献３の図７等参照）。そして、モータが回転することで可動部がロック検出エリア（ｌ11）の外からロック検出エリア（ｌ11）内に進入した場合、可動部が可動範囲（Ａ）の端（Ｘ）に移動してロックされると、制御部（２２）のロック状態判定部（７３）がモータの電流によって可動部のロックを検出し、制御部（２２）の停止位置情報補正部（８４）が制御部（２２）に対してモータの出力を停止させる（特許文献３の図８等参照）。その後、制御部（２２）の現在位置情報更新部（７５）が、現在位置情報演算部（７７）によって計算された現在位置情報の値をロック位置情報記憶部（７８）に記憶されたロック位置情報の値に更新する。ロック位置情報は、可動部の可動範囲（Ａ）の端（Ｘ）を表すものである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−９５８５号公報
【特許文献２】特開２００８−２８３７６２号公報
【特許文献３】特表２０１０−３３５１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところが、モータと可動部の間には歯車といった伝動機構等が設けられ、伝動機構には遊びやがたつき等がある。そのため、可動部が可動範囲の端に移動してロックされても、モータが更に回転することができる。特許文献３の技術は、可動部がロックされて、モータが更に回転することを考慮したものではなく、ロック位置情報の値に更新された現在位置情報は実際の可動部の位置を正確に表したものではない。つまり、可動部が可動範囲の端に移動してモータが停止した後、モータを逆に回転すると、モータの回転直後ではモータだけが回転するが、可動部が移動しないから、その際に演算される現在位置情報は可動部の実際の位置からずれたものとなってしまう。
【０００８】
また、可動部が可動範囲の端に移動してロックされて、モータが更に回転しても、モータの回転速度が極低速であるから、リプルのパルスが正確に生成されない。そのため、可動部が可動範囲の端に移動してロックされて、モータが更に回転する場合、モータの位置を正確に求めることができない。
【０００９】
そこで、本発明が解決しようとする課題は、可動部が可動範囲の端に移動してロックされて、モータが更に回転するような場合でも、モータの位置を正確に求められるようにすることである。
【課題を解決するための手段】
【００１０】
以上の課題を解決するための請求項１に係る発明によれば、
モータ制御装置が、可動範囲の両端の間を移動可能な可動部を駆動し、動作すると電流信号に周期的なリプルを発生させるモータと、前記モータの前記電流信号からリプル成分を抽出して、そのリプル成分をパルス化したパルス信号を出力する抽出回路と、前記モータの電流を検出する電流検出部と、前記電流検出部によって検出された電流のデータを入力するとともに前記パルス信号を入力し、前記モータを制御する制御部と、前記モータの動作前の初期位置を前記初期位置から所定の原点位置までのパルス数で表した初期位置データと、前記可動部が前記可動範囲内から前記端に移動して前記モータが更に回転することができる前記モータの拘束開始位置を前記拘束開始位置から前記原点位置までのパルス数で表した拘束開始位置データと、前記可動部が前記可動範囲の前記端に位置して前記モータがそれ以上回転できずに拘束される前記モータのロック位置を前記ロック位置から前記原点位置までのパルス数で表したロック位置データと、を記憶した記憶部と、を備え、前記制御部が、前記モータを起動させる起動処理と、前記起動処理後に前記パルス信号のパルスを入力するたびに、前記起動処理後に前記パルス信号に発生したパルス数を計数し、計数したパルス数を前記初期位置データの値に加算し、又は計数したパルス数を前記初期位置データの値から減算する計数処理と、前記起動処理後に前記計数処理において算出した差又は和を前記拘束開始位置データの値と比較することで、前記モータの位置が前記拘束開始位置の間であるか否かを判定する判定処理と、前記モータの位置が前記拘束開始位置の間でないと前記判定処理において判定した場合に、前記電流検出部から入力した電流データが所定値以上になるまで前記モータの回転を継続し、前記電流検出部から入力した電流データが所定値以上になったら前記モータを停止させる停止処理と、前記停止処理後に、前記記憶部に記憶された前記初期位置データを前記ロック位置データの値に書き換える更新処理と、を更に実行する。
【００１１】
請求項２に係る発明によれば、請求項１において、
前記制御部が、前記初期位置データの値が前記ロック位置データの値に等しいか否かを判定する第二判定処理と、前記初期位置データの値が前記ロック位置データの値に等しいと前記第二判定処理において判定した場合に、前記起動処理の実行後に前記計数処理において算出する差又は和が前記拘束開始位置データの値に等しくなるまで、前記モータの停止を禁止する禁止処理と、を更に実行する。
【００１２】
請求項３に係る発明によれば、請求項１又は２において、
前記制御部が、前記モータの位置が前記拘束開始位置の間であると前記判定処理において判定した場合に、前記モータを停止させる第二停止処理を更に実行する。
【００１３】
請求項４に係る発明によれば、請求項２において、
前記制御部が、前記初期位置データの値が前記ロック位置データの値に等しくないと前記第二判定処理において判定した場合に、前記起動処理を実行する。
【００１４】
請求項５に係る発明によれば、請求項１から４の何れか一項において、
前記制御部が、前記起動処理後に所定の停止条件が満たされた時に前記判定処理を実行する。
【００１５】
請求項６に係る発明によれば、
車両用シート装置が、請求項１から５の何れか一項に記載のモータ制御装置と、前記モータによって駆動される前記可動部を有するシート本体と、を備える。
【発明の効果】
【００１６】
請求項１に係る発明によれば、初期位置、拘束開始位置及びロック位置がモータの位置を表す座標系で規定され、初期位置データ、拘束開始位置データ及びロック位置データがモータの位置をパルス数で表現するから、制御部がモータの位置を表現する座標系を利用して処理を行うことができる。従って、制御部が計数処理において算出した差や和は実際のモータの位置を正確に表すとともに、判定処理でも、モータの位置が拘束開始位置の間であるか否かを正確に判定することができる。
モータの位置が拘束開始位置の間でないと制御部が判定した場合、可動部が可動範囲の端に移動してロックされており、その後も制御部がモータの回転を継続する。そして、モータと可動部の間の伝動機構等の遊びやがたつき等が締められると、モータに対する負荷が大きくなって、モータの電流が増加する。その際、電流検出部から入力した電流データが所定値以上になったら制御部がモータを停止させるから、モータがロック位置でロックされた状態で停止する。その後、初期位置データが、ロック位置を表すロック位置データの値であるパルス数に書き換えられるから、初期位置データがモータの実際のロック位置を正確に表現する。そのため、可動部が可動範囲の端に移動してロックされて、モータが更に回転するような場合でも、モータの位置が正確に算出される。
可動部が可動範囲の端に移動してロックされて、モータが更に回転しても、リプルのパルスが正確に生成されない場合でも、停止処理後に、初期位置データがロック位置を表すロック位置データの値に書き換えられるから、その後のモータの動作の際でもモータの位置が正確に算出される。つまり、制御部が算出したモータの位置に累積的な誤差が発生しても、その誤差が解消される。
【００１７】
請求項２に係る発明によれば、初期位置データの値がロック位置データの値に等しいと制御部が第二判定処理において判定した場合、モータの動作前の初期位置がロック位置である。その場合、制御部が計数処理において算出する差又は和が拘束開始位置データの値に等しくなるまで、モータの停止を禁止しているから、モータがロック位置と拘束開始位置の間で停止することがない。そのため、制御部が算出するモータの位置は、実際のモータの位置を正確に表す。よって、モータの位置を正確に制御することができる。
【００１８】
請求項３に係る発明によれば、制御部によって算出されたモータの位置が拘束開始位置の間であると制御部が判定した場合に、制御部がモータを停止させるから、モータの停止位置が拘束開始位置の間である。そのため、その後制御部がモータを起動する際に制御部が算出するモータの位置は、実際のモータの位置を正確に表す。よって、モータの位置を正確に制御することができる。
【００１９】
請求項５に係る発明によれば、所定の停止条件が満たされても、制御部が判定処理を実行し、その判定の結果、制御部が停止処理を実行すれば、モータが継続して回転した後に、モータが停止する。つまり、モータの位置が拘束開始位置からロック位置の間にとなる際に、所定の停止条件が満たされても、モータがすぐに停止せずにロック位置で停止する。
【図面の簡単な説明】
【００２０】
【図１】本発明を適用した実施形態に係るモータ制御装置を示したブロック図である。
【図２】モータの位置を表現する座標系と可動部の位置を表現する座標系を示した図である。
【図３】モータの電流信号の波形を示したタイミングチャートである。
【図４】モータの電流信号の波形を示したタイミングチャートである。
【図５】電流電圧変換器、ハイパスフィルタ、バンドパスフィルタ、フィルタと差動増幅器、増幅器及び波形整形部の入力信号及び出力信号の波形を示した図である。
【図６】フィルタの周波数特性を示したグラフである。
【図７】フィルタと差動増幅器を示した回路図である。
【図８】フィルタと差動増幅器の入力信号及び出力信号の波形を示したタイミングチャートである。
【図９】モータを起動させる処理の流れを示したフローチャートである。
【図１０】モータの動作中にパルス信号のパルス数を計数する処理の流れを示したフローチャートである。
【図１１】モータを停止させる処理の流れを示したフローチャートである。
【図１２】車両用シート装置のシート本体を示した側面図である。
【図１３】フィルタの周波数特性を示したグラフである。
【図１４】フィルタの周波数特性を示したグラフである。
【発明を実施するための形態】
【００２１】
以下に、本発明を実施するための形態について図面を用いて説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい種々の限定が付されているが、本発明の範囲を以下の実施形態及び図示例に限定するものではない。
【００２２】
図１は、モータ制御装置１のブロック図である。
モータ制御装置１は、モータ２、抽出回路３、制御部４、記憶部５、モータドライバ６、Ａ／Ｄコンバータ７、Ａ／Ｄコンバータ８及び入力部９ｃ等を備える。
【００２３】
モータ２と可動部の間に伝動機構が設けられ、モータ２が伝動機構に連結され、伝動機構が可動部に連結されている。モータ２が回転すると、モータ２の動力が伝動機構によって可動部に伝達され、モータ２が可動部を移動させる。図２は、モータ２の位置を表現する座標系と可動部９９の位置を表現する座標系を示した図である。可動部９９の可動範囲の両端にストッパ９８，９８がそれぞれ設けられ、可動部９９の可動範囲がこれらストッパ９８，９８の間に設定されている。モータ２が正転して可動部９９が一方のストッパ９８に当接すると、可動部９９が可動範囲の外に移動できないが、モータ２は伝動機構等の遊び、弾性変形及びがたつき等の分だけ正転することができる。一方、モータ２が正転して可動部９９が他方のストッパ９８に当接すると、可動部９９が可動範囲の外に移動できないが、モータ２は伝動機構等の遊び、弾性変形及びがたつき等の分だけ逆転することができる。つまり、モータ２の可動範囲は可動部９９の可動範囲よりも広い。
【００２４】
可動部９９が可動範囲内からストッパ９８に当接するまで移動し、モータ２の更なる回転によって伝動機構等の遊び等が締められ始める位置を拘束開始位置という。つまり、モータ２の位置が拘束開始位置であれば、可動部９９が可動範囲の端に位置してストッパ９８に当接して可動部９９が拘束されるが、可動部９９がそのストッパ９８に向かう向きにモータ２が更に回転することができる。
【００２５】
可動部９９がストッパ９８に当接した状態で伝動機構等の遊び等が締められてモータ２がそれ以上回転できずに拘束された位置をロック位置という。モータ２の可動範囲の両端の位置がロック位置となる。つまり、モータ２の位置がロック位置であれば、可動部９９が可動範囲の端に位置してストッパ９８に当接して、伝動機構等の遊び等がなく、可動部９９がそのストッパ９８に向かう向きにモータ２が回転することができない。
【００２６】
拘束開始位置からロック位置にかけての範囲を拘束範囲といい、一方の拘束開始位置から他方の拘束開始位置にかけての範囲を非拘束範囲という。また、所定の原点位置が両方の拘束開始位置の間に予め設定され、モータ２の位置は原点位置を基準と定められる。なお、原点位置がロック位置に設定されてもよい。
【００２７】
モータ２は、直流モータである。電流がモータ２に流れると、モータ２が回転するとともに、モータ２が周期的なリプル（ripple）を電流に発生させる。モータ２の電流信号について図３及び図４を参照して説明する。図４は、モータ２が可動範囲内の或る位置からロック位置まで駆動される際にモータ２に流れる電流のレベルの変化を示したチャートである。図４は、図３に示されたＡ部における時間及び電流のスケールを大きくして示したチャートである。
【００２８】
図３において、時刻Ｔ１はモータ２が起動したタイミングであり、時刻Ｔ２はモータ２が安定的に動作し始めるタイミングである。時刻Ｔ３は、モータ２によって駆動される可動部９９がストッパ９８に当接して、モータ２の動力を可動部９９に伝える伝動機構が締められ始めるタイミングである。時刻Ｔ３は、モータ２が拘束開始位置に位置するタイミングでもある。時刻Ｔ４は、モータ２の位置がロック位置になってモータ２が停止するタイミングである。
【００２９】
図３及び図４に示すように、モータ２の電流信号は直流成分、リプル成分及び一又は複数の周波成分（交流成分）を含み、周波成分及びリプル成分が直流成分に重畳している。モータ２の電流信号のうち、電流のレベルが急激に変化した高周波成分はノイズである（例えば、符号ｎ参照）。なお、図４は、高周波ノイズ成分がないものとして図示されている。
【００３０】
時刻Ｔ１から時刻Ｔ２までの期間Ｐ１では、リプル成分ｒ１と、リプル成分ｒ１よりも周波数が低い低周波成分とが直流成分に重畳している。期間Ｐ１のうちモータ２の起動直後では、慣性力の影響により低周波成分の電流レベルが大きく、その後、低周波成分の電流レベルが時間の経過に伴って緩やかに減少する。また、モータ２の起動直後では、低周波成分よりも周波数が高いリプル成分ｒ１の振幅が大きく、その後、リプル成分ｒ１の周波数が時間の経過に伴って漸増するとともに、リプル成分ｒ１の振幅が時間の経過に伴って漸減する。
【００３１】
時刻Ｔ２から時刻Ｔ３までの期間Ｐ２では、リプル成分ｒ２と、リプル成分ｒ２よりも周波数が低い低周波成分とが直流成分に重畳し、直流成分がほぼ一定で安定し、低周波成分の周波数及び振幅が安定し、リプル成分ｒ２の周波数及び振幅が安定している。リプル成分ｒ２の周波数が低周波成分の周波数よりも高くなるのは、モータ２に内蔵された複数のコイルが巻き線抵抗に差を有するためである。
【００３２】
時刻Ｔ３から時刻Ｔ４までの期間Ｐ３では、モータ２の電流信号のうち低周波成分の周波数が低くなり、低周波成分の電流レベルが時間の経過とともに漸増する。期間Ｐ３では、モータ２の電流信号のうちリプル成分ｒ３の周波数が時間の経過に伴って漸減し、リプル成分ｒ３の振幅が時間の経過に伴って漸増する。期間Ｐ３では、可動部９９がストッパ９８に当接しているため、モータ２が極低速で回転する。
【００３３】
モータ２の電流信号のうち低周波成分及びリプル成分の周波数及び振幅は、様々な環境（例えば、モータ２に対する負荷、環境温度、モータ２の電源電圧等）の影響を受ける。そのため、環境が変化すれば、低周波成分及びリプル成分の周波数及び振幅が変化する。
【００３４】
抽出回路３は、以上のようなモータ２の電流信号からリプル成分を抽出して、リプル成分をパルス化し、リプル成分がパルス化されてなるパルス信号を制御部４に出力する。抽出回路３及び抽出回路３を用いたリプル抽出方法について具体的に説明する。
【００３５】
図１に示すように、抽出回路３は、電流電圧変換器１０、ハイパスフィルタ（High-pass Filter）２０、バンドパスフィルタ（Band-pass Filter）３０、フィルタ４０、差動増幅器５０、増幅器６０及び波形整形部７０を備える。図５は、電流電圧変換器１０、ハイパスフィルタ２０、バンドパスフィルタ３０、フィルタ４０と差動増幅器５０、増幅器６０及び波形整形部７０の入力信号及び出力信号を説明するための図である。図５において、電流電圧変換器１０、ハイパスフィルタ２０及びバンドパスフィルタ３０の入力信号と出力信号が示されている期間は、図３における時刻Ｔ１から期間Ｐ２の初期にかけてである。フィルタ４０と差動増幅器５０、増幅器６０及び波形整形部７０の入力信号及び出力信号が示されている期間は、図３における期間Ｐ２の一部である。
【００３６】
電流電圧変換器１０は、モータ２の電流信号を入力する。電流電圧変換器１０は、入力したモータ２の電流信号を電圧信号に変換する。具体的には、電流電圧変換器１０が抵抗器１１を有し、抵抗器１１がグランドとモータ２の間に接続され、モータ２の電流信号が抵抗器１１とモータ２の間における電圧信号に変換される。電流電圧変換器１０は、変換した電圧信号をハイパスフィルタ２０及びバンドパスフィルタ３０を介してフィルタ４０及び差動増幅器５０に出力する。なお、電流電圧変換器１０は、オペアンプを用いたもの（例えば、負帰還型電流電圧変換器）でもよい。
【００３７】
ハイパスフィルタ２０は、電流電圧変換器１０によって変換された電圧信号（電流電圧変換器１０の出力信号）を入力する。ハイパスフィルタ２０は、電流電圧変換器１０によって変換された電圧信号（電流電圧変換器１０の出力信号）のうち高周波成分を通過させ、低周波成分を減衰させる。つまり、ハイパスフィルタ２０は、電流電圧変換器１０によって変換された電圧信号のうち直流成分を除去する。ハイパスフィルタ２０は、バンドパスフィルタ３０を介して、低周波成分が減衰した信号をフィルタ４０及び差動増幅器５０に出力する。
ハイパスフィルタ２０は、オペアンプを用いたもの（例えば、負帰還型ハイパスフィルタ、正帰還型ハイパスフィルタ）又は抵抗器・キャパシタを用いたもの（例えば、ＣＲハイパスフィルタ）である。
【００３８】
バンドパスフィルタ３０は、電流電圧変換器１０によって変換された電圧信号をハイパスフィルタ２０を介して入力する。バンドパスフィルタ３０は、電流電圧変換器１０によって変換された電圧信号（ハイパスフィルタ２０の出力信号）のうち所定周波数帯域の成分を通過させ、その所定周波数帯域外の成分を減衰させる。つまり、バンドパスフィルタ３０は、電流電圧変換器１０によって変換された電圧信号（ハイパスフィルタ２０の出力信号）のうち高周波ノイズ成分を除去するとともに、ハイパスフィルタ２０によって除去しきれなかった低周波成分を除去する。バンドパスフィルタ３０は、所定周波数帯域外の成分を減衰させた信号をフィルタ４０及び差動増幅器５０に出力する。
バンドパスフィルタ３０は、オペアンプを用いたもの（例えば、多重負帰還型バンドパスフィルタ、多重正帰還型バンドパスフィルタ）又は抵抗器・キャパシタを用いたものである。
【００３９】
なお、バンドパスフィルタ３０がハイパスフィルタ２０の後段に設けられているが、バンドパスフィルタ３０が電流電圧変換器１０の後段であってハイパスフィルタ２０の前段に設けられてもよい。
【００４０】
フィルタ４０は、電流電圧変換器１０によって変換された電圧信号をハイパスフィルタ２０及びバンドパスフィルタ３０を介して入力し、その信号を濾波する。フィルタ４０は、濾波した信号を差動増幅器５０に出力する。
【００４１】
図６は、フィルタ４０の周波数特性を示したグラフである。
図６に示すように、フィルタ４０は、バンドパスフィルタである。フィルタ４０は、電流電圧変換器１０によって変換された電圧信号（バンドパスフィルタ３０の出力信号）のうち、低カットオフ周波数ｆｃ１から高カットオフ周波数ｆｃ２までの間の中間周波数帯域の成分を通過させる。低カットオフ周波数ｆｃ１はフィルタ４０のハイパスフィルタ部のカットオフ周波数であり、高カットオフ周波数ｆｃ２はフィルタ４０のローパスフィルタ部のカットオフ周波数であり、低カットオフ周波数ｆｃ１＜高カットオフ周波数ｆｃ２である。なお、カットオフ周波数とは、出力電力が入力電力の1/2となる周波数を指す。つまり、ゲインＧが−3dbとなる周波数がカットオフ周波数である。
【００４２】
また、フィルタ４０は、電流電圧変換器１０によって変換された電圧信号（バンドパスフィルタ３０の出力信号）のうち、低カットオフ周波数ｆｃ１を下回る低周波域の成分を減衰させる。具体的には、低カットオフ周波数ｆｃ１を下回る低周波域において、フィルタ４０は、電流電圧変換器１０によって変換された電圧信号（バンドパスフィルタ３０の出力信号）に含まれる成分の周波数が低いほど減衰率がより高くなるように、電流電圧変換器１０によって変換された電圧信号（バンドパスフィルタ３０の出力信号）の低周波域成分を減衰させる。
【００４３】
また、フィルタ４０は、電流電圧変換器１０によって変換された電圧信号（バンドパスフィルタ３０の出力信号）のうち、高カットオフ周波数ｆｃ２を超える高周波域の成分を減衰させる。具体的には、高カットオフ周波数ｆｃ２を超える高周波域において、フィルタ４０は、電流電圧変換器１０によって変換された電圧信号（バンドパスフィルタ３０の出力信号）に含まれる成分の周波数が低いほど減衰率がより低くなるように、電流電圧変換器１０によって変換された電圧信号（バンドパスフィルタ３０の出力信号）の高周波域成分を減衰させる。
【００４４】
図３及び図４に示したように、モータ２の電流信号は、リプル成分と、そのリプル成分よりも周波数が低い低周波成分とを重畳したものである。リプル成分の周波数は実験・測定等によって予め調べられ、フィルタ４０の回路設計において、温度変化によるリプル成分の周波数の変動も考慮しつつ、フィルタ４０の高カットオフ周波数ｆｃ２がリプル成分の周波数（例えば、常温時の周波数）よりも低く設定されている。従って、フィルタ４０は、電流電圧変換器１０によって変換された電圧信号（バンドパスフィルタ３０の出力信号）のうちリプル成分を低周波成分（低周波成分はリプル成分よりも周波数が低い。）よりも高い減衰率で減衰させる。つまり、フィルタ４０は、リプル成分を低周波成分よりも効率的に除去する。従って、フィルタ４０は、リプル成分を除去した信号を差動増幅器５０に出力する。
【００４５】
差動増幅器５０は、電流電圧変換器１０によって変換された電圧信号をハイパスフィルタ２０及びバンドパスフィルタ３０を介して入力するとともに、フィルタ４０の出力信号を入力する。差動増幅器５０は、入力したフィルタ４０の出力信号と、電流電圧変換器１０によって変換された電圧信号（バンドパスフィルタ３０の出力信号）の差分を取って、その差分を増幅する。差動増幅器５０は、その差分を表す差分信号を増幅器６０に出力する。
【００４６】
図７は、フィルタ４０と差動増幅器５０の一例を示した回路図である。図８（ａ）は図７に示されたＡ部における電圧信号の波形を示したタイミングチャートであり、図８（ｂ）は図７に示されたＢ部における電圧信号の波形を示したタイミングチャートであり、図８（ｃ）は図７に示されたＣ部における電圧信号の波形を示したタイミングチャートである。
【００４７】
図７に示すように、フィルタ４０は、ハイパスフィルタ４１、ローパスフィルタ４２及びハイパスフィルタ４３を有する。バンドパスフィルタ３０の出力がハイパスフィルタ４１の入力に接続され、ハイパスフィルタ４１の出力がローパスフィルタ４２の入力に接続され、ローパスフィルタ４２の出力がハイパスフィルタ４３の入力に接続される。
【００４８】
ハイパスフィルタ４１は、二次のＣＲハイパスフィルタである。つまり、ハイパスフィルタ４１は、キャパシタ４１ａ、抵抗器４１ｂ、キャパシタ４１ｃ及び抵抗器４１ｄを有する。なお、ハイパスフィルタ４１が一つのキャパシタ及び抵抗器からなる一次のＣＲハイパスフィルタであってもよい。また、ハイパスフィルタ４１が三次以上のＣＲハイパスフィルタでもよい。
【００４９】
ローパスフィルタ４２は、二次のＲＣローパスフィルタである。つまり、ローパスフィルタ４２は、抵抗器４２ａ、キャパシタ４２ｂ、抵抗器４２ｃ及びキャパシタ４２ｄを有する。なお、ローパスフィルタ４２が一つの抵抗器及びキャパシタからなる一次のＲＣローパスフィルタであってもよい。また、ローパスフィルタ４２が三次以上のＲＣローパスフィルタでもよい。
ハイパスフィルタ４３は、キャパシタ４３ａからなる。
【００５０】
差動増幅器５０は抵抗器５１，５２、オペアンプ５３、カップリングコンデンサ５４及びバイアス回路５５等を有する。オペアンプ５３の出力端子が抵抗器５２を介してオペアンプ５３の反転入力端子に接続され、負帰還がオペアンプ５３にかけられている。フィルタ４０の出力信号（ハイパスフィルタ４３の出力信号）が抵抗器５１を介してオペアンプ５３の反転入力端子に入力され、バンドパスフィルタ３０の出力信号がカップリングコンデンサ５４及びバイアス回路５５を介してオペアンプ５３の非反転入力端子に入力される。カップリングコンデンサ５４は、バンドパスフィルタ３０の出力信号の直流成分を除去する。バイアス回路５５は、電源電圧とグランドの間に直列された抵抗器５６，５７を有する。バイアス回路５５は、カップリングコンデンサ５４によって直流成分が除去されたバンドパスフィルタ３０の出力信号にバイアス電圧をかけて、バンドパスフィルタ３０の出力信号の基準レベルを引き上げる。なお、カップリングコンデンサ５４及びバイアス回路５５を省略してもよい。
【００５１】
差動増幅器５０によって出力された差分信号は、電流電圧変換器１０によって変換された電圧信号のうちリプル成分である。差動増幅器５０によって出力された差分信号が、バンドパスフィルタ３０の出力信号とフィルタ４０の出力信号との差分を表すからこそ、モータ２の電流信号の各成分の周波数が環境変化によって変化しても、モータ２の電流信号に含まれるリプルを高精度に検出することができる。
【００５２】
図１、図７に示すように、増幅器６０は、差動増幅器５０によって出力された差分信号（オペアンプ５３の出力信号）を入力する。増幅器６０は、差動増幅器５０によって出力された差分信号を増幅して、それを波形整形部７０に出力する。増幅器６０は、例えば負帰還型増幅器である。
【００５３】
波形整形部７０は、差動増幅器５０によって出力された差分信号（オペアンプ５３の出力信号）を増幅器６０を介して入力する。波形整形部７０は、差動増幅器５０によって出力された差分信号（増幅器６０の出力信号）の波形を矩形波に整形する。具体的には、波形整形部７０がコンパレータを有し、該コンパレータが、差動増幅器５０によって出力された差分信号（増幅器６０の出力信号）を基準電圧と比較することによって、差動増幅器５０によって出力された差分信号（増幅器６０の出力信号）をパルス信号に変換する。波形整形部７０は、矩形波に整形されたパルス信号を制御部４に出力する。制御部４は、波形整形部７０によって出力されたパルス信号を入力する。
【００５４】
モータドライバ６は、制御部４からの指令に従ってモータ２を駆動する。つまり、モータドライバ６は、制御部４から起動指令及び回転向き指令を受けたら、モータ２をその回転向きに起動させる。モータドライバ６は、制御部４から停止指令を受けたら、モータ２を停止する。
【００５５】
Ａ／Ｄコンバータ７は、電圧検出部である。つまり、Ａ／Ｄコンバータ７は、モータ２の電源電圧を検出して、その電圧信号をデジタル信号に変換して、デジタル化した電圧データを制御部４に出力する。制御部４は、Ａ／Ｄコンバータ７によって出力される電圧データを入力する。
【００５６】
Ａ／Ｄコンバータ８は、電流検出部である。つまり、Ａ／Ｄコンバータ８は、モータ２の電流値を検出して、その電流信号をデジタル信号に変換して、デジタル化した電流データを制御部４に出力する。ここで、電流電圧変換器１０の出力信号がモータ２の電流を表すので、Ａ／Ｄコンバータ８は電流電圧変換器１０の出力信号をデジタル信号に変換して、それを制御部４に出力する。制御部４は、Ａ／Ｄコンバータ８によって出力される電流データを入力する。
【００５７】
制御部４は、ＣＰＵ４ａ及びＲＡＭ４ｂ等を有するコンピュータである。ＣＰＵ４ａは、数値計算、情報処理、機器制御等の各種処理を行う。ＲＡＭ４ｂは、一時記憶領域としての作業領域をＣＰＵ４ａに提供する。
【００５８】
入力部９ｃが制御部４に接続されている。入力部９ｃは、複数のスイッチ等を有する。入力部９ｃがユーザ等によって操作された場合に、入力部９ｃが操作内容に応じた信号を制御部４に出力し、制御部４がその信号を入力するとともにその信号に応じた指令をモータドライバ６に出力する。
【００５９】
記憶部５は、制御部４に接続されている。記憶部５は、不揮発性メモリ、ハードディスクといった読み書き可能な記憶媒体である。記憶部５は、一つの記憶媒体からなるものでもよいし、複数の記憶媒体を組み合わせたものでもよい。記憶部５が複数の記憶媒体を組み合わせたものである場合、何れかの記憶媒体がＲＯＭであってもよい。
【００６０】
記憶部５には、初期位置データ５Ａが格納されている。初期位置データ５Ａは、モータ２が動作する前のモータ２の初期位置を示す。具体的には、初期位置データ５Ａは図２に示す座標系の座標で表されており、モータ２の位置を表す座標がパルス数で表現されている。従って、初期位置データ５Ａは、仮に図２に示すようにモータ２が初期位置から所定の原点位置まで回転した場合、その間に抽出回路３によって出力されたパルス信号のパルス数で表現されている。初期位置データ５Ａは、予め設定されたデフォルト値であるか、又は以前にモータ２が動作した際に書き込まれた値である。仮にモータ２の初期位置が原点位置であれば、初期位置データ５Ａを表すパルス数はゼロである。初期位置データ５Ａは、モータ２が停止する度に更新される。初期位置データ５Ａの値が非拘束範囲内の値やロック位置の値になることはあるが、初期位置データ５Ａの値が拘束範囲内（但し、ロック位置及び拘束開始位置を除く。）の値になることはない。
【００６１】
記憶部５には、拘束開始位置データ５Ｂが格納されている。拘束開始位置データ５Ｂは、図２に示す座標系における拘束開始位置の座標を表す。従って、拘束開始位置データ５Ｂは、仮に図２に示すようにモータ２が拘束開始位置から所定の原点位置まで回転した場合、その間に抽出回路３によって出力されたパルス信号のパルス数で表される。
【００６２】
記憶部５には、ロック位置データ５Ｃが格納されている。ロック位置データ５Ｃは、図２に示す座標系におけるロック位置の座標を表す。従って、ロック位置データ５Ｃは、仮に図２に示すようにモータ２がロック位置から所定の原点位置まで回転した場合、その間に抽出回路３によって出力されたパルス信号のパルス数で表される。
【００６３】
拘束開始位置データ５Ｂ及びロック位置データ５Ｃの値は、予め実験・測定等によって調査した値である。
【００６４】
記憶部５には、制御部４にとって読み取り可能なプログラム５Ｚが格納されている。制御部４は、プログラム５Ｚを読み込んでそのプログラム５Ｚに従った処理を行ったり、そのプログラム５Ｚによって各種機能を実現したりする。拘束開始位置データ５Ｂ及びロック位置データ５Ｃはプログラム５Ｚとは別に記憶部５に格納されていてもよいし、プログラム５Ｚに組み込まれていてもよい。なお、記憶部５が複数の記憶媒体を組み合わせたものである場合、プログラム５Ｚが記憶部５のＲＯＭに格納されていてもよい。
【００６５】
プログラム５Ｚに基づく制御部４の処理の流れについて説明するとともに、制御部４の処理に伴うモータ制御装置１の動作について説明する。
【００６６】
所定の起動条件が満たされると、制御部４がモータ２の起動処理（図９参照）を実行する。所定の起動条件が満たされるとは、例えば、ユーザが入力部９ｃの起動スイッチをオンにすること、起動センサがオンになること、制御部４によって実行されている処理（例えば、シーケンス処理）で所定の条件が満たされること等である。
【００６７】
まず、制御部４は、モータ２の回転の向き（正回転か逆回転）を決定し、その回転の向きをＲＡＭ又は記憶部５に書き込む（ステップＳ１１）。モータ２の回転の向きは、制御部４によって実行されている処理によって決められたり、ユーザによる入力部９ｃの操作によって決められたりする。例えば、ユーザが入力部９ｃの正転起動スイッチをオンにすれば、制御部４がモータ２の回転の向きを正転に決定し、ユーザが入力部９ｃの逆転起動スイッチをオンにすれば、制御部４がモータ２の回転の向きを逆転に決定する。
【００６８】
次に、制御部４が、記憶部５に記憶された初期位置データ５Ａを読み込む。そして、制御部４は、読み込んだ初期位置データ５Ａの値がロック位置データ５Ｃの値に等しいか否か判定する（ステップＳ１２）。
【００６９】
モータ２の初期位置がロック位置でない場合、初期位置データ５Ａの値がロック位置データ５Ｃの値と異なる。その場合、制御部４は、初期位置データ５Ａの値がロック位置データ５Ｃの値に等しくないと判定する（ステップＳ１２：ＮＯ）。そして、制御部４は、ステップＳ１１で決定した向きにモータ２を起動させる（ステップＳ１６）。つまり、制御部４は、ステップＳ１１で決定した向きに従った回転向き指令をモータドライバ６に出力するとともに、起動指令をそのモータドライバ６に出力する。回転向き指令及び起動指令を受けたモータドライバ６がモータ２に通電して、モータ２をその回転向きに駆動する。これにより、モータ２が回転し、モータ２によって可動部が駆動される。制御部４がモータ２を起動させたら、起動処理が終了する。なお、モータ２の起動後、制御部４は、抽出回路３から入力したパルス信号に基づいてパルス信号のパルス数の計数、モータ２の回転量の算出及びモータ２の位置（現在位置）の算出を行う。詳細については後述する（図１０参照）。
【００７０】
モータ２の初期位置が可動範囲の両端のロック位置のどちらか一方である場合、初期位置データ５Ａの値がロック位置データ５Ｃの値に相当する。その場合、制御部４は、初期位置データ５Ａの値がロック位置データ５Ｃの値に等しいと判定する（ステップＳ１２：ＹＥＳ）。そして、制御部４の処理がステップＳ１３に移行する。ステップＳ１３では、制御部４は、ステップＳ１１で決定した向きがロック位置から拘束開始位置に向かう向きであるか否かを判定する（ステップＳ１３）。
【００７１】
ステップＳ１１で決定した向きがロック位置から拘束開始位置に向かう向きでないと制御部４が判定した場合（ステップＳ１３：ＮＯ）、制御部４がモータ２を起動させずに（ステップＳ１８）、起動処理が終了する。ステップＳ１１で決定した向きがロック位置から拘束開始位置に向かう向きでない場合には、モータ２の回転向きが拘束開始位置からモータ２の初期位置となるロック位置に向かう向きになってしまい、伝動機構の遊び等が締められているから、たとえモータ２に電流が通電しても、モータ２が回転せず、モータ２に過電流等が発生してしまう虞がある。ところが、制御部４がモータ２を起動させないから（ステップＳ１７）、そのような過電流等の発生を抑えることができる。
【００７２】
ステップＳ１１で決定した向きがロック位置から拘束開始位置に向かう向きであると制御部４が判定した場合（ステップＳ１３：ＹＥＳ）、制御部４は、ステップＳ１１で決定した向きにモータ２を起動させる（ステップＳ１４）。つまり、制御部４は、ステップＳ１１で決定した向きに従った回転向き指令をモータドライバ６に出力するとともに、起動指令をそのモータドライバ６に出力する。回転向き指令及び起動指令を受けたモータドライバ６がモータ２に通電して、モータ２をその回転向きに駆動する。これにより、モータ２が回転し、モータ２によって可動部が駆動される。
【００７３】
モータ２の起動後、制御部４は、抽出回路３から入力したパルス信号に基づいてパルス信号のパルス数の計数、モータ２の回転量の算出及びモータ２の位置（現在位置）の算出を行うとともに（図１０参照）、算出したモータ２の位置を監視する（ステップＳ１５）。そして、制御部４は、算出したモータ２の位置の値が拘束開始位置データ５Ｂの値に等しくなるまで（ステップＳ１５：ＹＥＳ）、モータ２を停止させずに（ステップＳ１５：ＮＯ、ステップＳ１８）、モータ２を継続して動作させる（ステップＳ１４）。制御部４によって算出されるモータ２の位置の値が拘束開始位置データ５Ｂの値に等しくなるまでの間にたとえユーザが入力部９ｃの起動スイッチをオフにしたり、入力部９ｃの停止スイッチをオンにしたりしても、制御部４がその操作を無効にして、モータ２を停止させずに（ステップＳ１８）、モータ２を継続して動作させる（ステップＳ１４）。
【００７４】
制御部４によって算出されるモータ２の位置の値が拘束開始位置データ５Ｂに相当する値になったら（ステップＳ１５：ＹＥＳ）、制御部４は起動処理を終了する。なお、制御部４がモータ２を起動させた後に（ステップＳ１４、ステップＳ１６）、制御部４が起動処理を終了しても、制御部４がモータ２を停止させない限り、モータ２が継続して回転する。
【００７５】
モータ２の動作中は、抽出回路３がモータ２の電流信号からリプル成分を抽出（検出）して、リプル成分をパルス化する。そして、抽出回路３は、リプル成分がパルス化されてなるパルス信号を制御部４に出力する。
【００７６】
モータ２が起動すると、制御部４は、抽出回路３から入力したパルス信号に基づいて、パルス信号のパルス数の計数、モータ２の回転量の算出及びモータ２の位置の算出を行う。より具体的には、制御部４が図１０に示す処理を実行することによってパルス信号のパルス数の計数、モータ２の回転量の算出及びモータ２の位置の算出を行う。
【００７７】
図１０に示す処理について具体的に説明する。
制御部４は、Ａ／Ｄコンバータ７から入力した電圧データを監視して、電圧データを所定の閾値と比較する（ステップＳ２１）。上述のように制御部４がモータ２を起動させると（ステップＳ１６又はステップＳ１４）、モータ２に電流が通電するから、制御部４は電圧データが所定の閾値を上回ったと判定して、モータ２の通電・起動を検出する（ステップＳ２１：Ｙｅｓ）。そして、制御部４が記憶部５から初期位置データ５Ａを読み込んで、制御部４の処理がステップＳ２２に移行する。なお、制御部４がＡ／Ｄコンバータ８から入力した電流データを監視して、制御部４が電流データを所定の閾値と比較してもよい（ステップＳ２１）。この場合、モータ２に電流が通電した場合、制御部４は電流データが所定の閾値を上回ったと判定して、モータ２の通電・起動を検出する（ステップＳ２１：Ｙｅｓ）。
【００７８】
電流がモータ２に通電すると、制御部４は抽出回路３によって出力されたパルス信号のパルス数を計数するとともに、モータ２の回転量及び位置を算出する（ステップＳ２２，Ｓ２３，Ｓ２４、Ｓ２５）。具体的には、まず、制御部４は、計数値Ｎをゼロにリセットする（ステップＳ２２）。その後、制御部４は、抽出回路３によって出力されたパルス信号のパルスを入力するごとに（ステップＳ２３：Ｙｅｓ）、計数値Ｎに１を加算して得られた値に計数値Ｎを更新するとともに（ステップＳ２４）、読み込んだ初期位置データ５Ａの値に更新後の計数値Ｎを加算するか、又は読み込んだ初期位置データ５Ａの値から更新後の計数値Ｎを減算する（ステップＳ２５）。制御部４は、ステップＳ２５の演算をステップＳ１１で決定した向きに従って決定する。例えば、ステップＳ１１で決定した回転の向きが正回転である場合には、制御部４がステップＳ２５で加算を行い、ステップＳ１１で決定した回転の向きが逆回転である場合には、制御部４がステップＳ２５で減算を行う。勿論、回転の向きと演算の関係が逆であってもよい。
【００７９】
ステップＳ２４において更新された計数値Ｎが、制御部４によって計数されたパルス数である。制御部４によって計数されたパルス数（計数値Ｎ）は、モータ２の座標系（図２参照）における初期位置から現在位置までの回転量を表す。ステップＳ２５において求められた差や和が、パルスを入力した時点におけるモータ２の現在位置を表す。上述のように、制御部４がステップＳ２５で算出した差や和が拘束開始位置データ５Ｂに相当する値であれば（ステップＳ１５：ＹＥＳ）、制御部４が起動処理を終了し、制御部４がステップＳ２５で算出した差や和が拘束開始位置データ５Ｂに相当する値でなければ（ステップＳ１５：ＮＯ）、制御部４が起動処理を継続して、モータ２の停止を禁止する（ステップＳ１８）。
【００８０】
制御部４は、モータ２の電流の遮断を検出するまでステップＳ２３〜ステップＳ２６の処理を繰り返す（ステップＳ２６：Ｎｏ）。具体的には、制御部４は、ステップＳ２５の処理の後に、Ａ／Ｄコンバータ７から入力した電圧データを所定の閾値と比較する（ステップＳ２６）。そして、モータ２の電流が遮断されなかったら、制御部４は電圧データが所定の閾値を上回っていると判定して（ステップＳ２６：Ｎｏ）、制御部４の処理がステップＳ２３に戻り、制御部４がステップＳ２３〜ステップＳ２５の処理を再度行う。なお、ステップＳ２６では、制御部４がＡ／Ｄコンバータ８から入力した電流データを所定の閾値と比較してもよい（ステップＳ２６）。この場合、モータ２の電流が遮断されなかったら、制御部４は電流データが所定の閾値を上回ったと判定して（ステップＳ２６：Ｎｏ）、制御部４がステップＳ２３〜ステップＳ２５の処理を再度行う。
【００８１】
制御部４が図１０に示す処理を実行している時に所定の停止条件が満たされると、制御部４がモータ２の停止処理（図１１参照）を実行する。所定の停止条件とは、例えば、ユーザが入力部９ｃの停止スイッチをオンにすること、ユーザが入力部９ｃの起動スイッチをオフにすること、制御部４によって実行された処理（例えば、シーケンス処理）で所定の条件が満たされること、上述のステップＳ２５において求めた差又は和が所定の値になること等である。
【００８２】
まず、制御部４は、停止処理開始直後にステップＳ２５で算出した差や和（モータ２の位置）が非拘束範囲内に収まっているか否かを判定する（ステップＳ３１）。具体的には、制御部４が、ステップＳ２５で算出した差や和を拘束開始位置データ５Ｂの値と比較する（ステップＳ３１）。
【００８３】
比較の結果、停止処理開始直後にステップＳ２５で算出した差や和（モータ２の位置）が非拘束範囲内に収まっていると制御部４が判定した場合（ステップＳ３１：ＹＥＳ）、制御部４がモータドライバ６に停止指令を出力する（ステップＳ４１）。そうすると、停止指令を受けたモータドライバ６がモータ２の通電を遮断し、モータ２が停止する。モータ２の停止位置は、一方の拘束開始位置から他方の拘束開始位置までの間である。モータ２の電流がモータドライバ６によって遮断されるので、制御部４はＡ／Ｄコンバータ７から入力した電圧データが所定の閾値を下回ったと判定して（ステップＳ２６：Ｙｅｓ）、制御部４は図１０に示す処理を終了する。なお、制御部４がＡ／Ｄコンバータ８から入力した電流データを所定の閾値と比較する場合（ステップＳ２６）、モータ２の電流が遮断されたら、制御部４は電流データが所定の閾値を下回ったと判定して（ステップＳ２６：Ｙｅｓ）、制御部４は図９０に示す処理を終了する。
【００８４】
次に、制御部４は、停止処理開始直後にステップＳ２５で算出した差や和を記憶部５に書き込む（ステップＳ４２）。具体的には、制御部４は、記憶部５に記憶された初期位置データ５Ａの値を停止処理開始直後のステップＳ２５において求めた差又は和に書き換える（ステップＳ４２）。その後、制御部４は停止処理を終了する。
【００８５】
ステップＳ３１の比較の結果、ステップＳ２５で算出した差や和（モータ２の位置）が非拘束範囲内に収まっていないと制御部４が判定した場合（ステップＳ３１：ＮＯ
）、制御部４の処理がステップＳ３２に移行する。ステップ３２では、制御部４は、ステップＳ１１で決定した向きがロック位置から拘束開始位置に向かう向きであるか否かを判定する（ステップＳ３２）。
【００８６】
ステップＳ１１で決定した向きがロック位置から拘束開始位置に向かう向きであると制御部４が判定した場合（ステップＳ３２：ＹＥＳ）、制御部４がモータ２を停止させずに（ステップＳ３７）、モータ２を継続して動作させる。なお、モータ２が起動する前の初期位置データ５Ａの値がロック位置データ５Ｃの値に等しい場合にモータ２が回転していれば（図９に示すステップＳ１２（ＹＥＳ）、ステップＳ１３（ＹＥＳ）、ステップＳ１４参照）、制御部４の処理はステップＳ３２からステップＳ３７に移行する。
【００８７】
モータ２が継続して回転するから（ステップＳ３７参照）、制御部４が図１０に示すステップＳ２３〜ステップＳ２６の処理を繰り返し実行する。そのため、制御部４は、抽出回路３によって出力されたパルス信号のパルスを入力する度に、モータ２の位置を算出する（ステップＳ２５）。そして、制御部４は、ステップＳ２５で算出したモータ２の位置の値が拘束開始位置データ５Ｂの値に等しくなるまで（ステップＳ３８：ＹＥＳ）、モータ２を停止させずに（ステップＳ３８：ＮＯ、ステップＳ３７）、モータ２を継続して動作させる。
【００８８】
モータ２の回転が継続している際に、制御部４によって算出されるモータ２の位置の値が拘束開始位置データ５Ｂの値に等しくなったら（ステップＳ３８：ＹＥＳ）、制御部４がモータドライバ６に停止指令を出力する（ステップＳ３９）。そうすると、停止指令を受けたモータドライバ６がモータ２の通電を遮断し、モータ２が停止する。モータ２の停止位置は、拘束開始位置である。モータ２の電流がモータドライバ６によって遮断されるので、制御部４はＡ／Ｄコンバータ７から入力した電圧データが所定の閾値を下回ったと判定して（ステップＳ２６：Ｙｅｓ）、制御部４は図１０に示す処理を終了する。
【００８９】
次に、制御部４は、図９に示すステップＳ２３〜ステップＳ２６の処理を繰り返している際に最後のステップＳ２５において求めた差又は和を記憶部５に書き込む（ステップＳ４０）。具体的には、制御部４は、記憶部５に記憶された初期位置データ５Ａの値を最後のステップＳ２５において求めた差又は和に書き換える（ステップＳ４０）。書き換えられた初期位置データ５Ａの値は、拘束開始位置データ５Ｂの値に等しいか、拘束開始位置データ５Ｂの値に近似している。その後、制御部４は停止処理を終了する。なお、ステップＳ４０において、制御部４は、記憶部５に記憶された初期位置データ５Ａの値を拘束開始位置データ５Ｂの値に書き換えてもよい。
【００９０】
ステップＳ３２の判定において、ステップＳ１１で決定した向きがロック位置から拘束開始位置に向かう向きでないと制御部４が判定した場合（ステップＳ３２：ＮＯ）、制御部４の処理がステップＳ３３に移行する。モータ２の位置が非拘束範囲から拘束開始位置を超えて拘束範囲に移ると、制御部４の処理がステップＳ３３に移行することになる。
【００９１】
ステップＳ３３では、制御部４が、Ａ／Ｄコンバータ８から入力した電流データを監視して、電流データを所定値と比較する（ステップＳ３３）。所定値は、モータ２を拘束してモータ２に一定の電圧を印加することでそのモータ２に流れる電流を実験等によって予め測定したものである。つまり、所定値は、モータ２が拘束状態であるか否かを判別するための基準となる電流値である。
【００９２】
モータ２が拘束範囲内において拘束開始位置からロック位置に向けて回転していると、モータ２が拘束されていないから、モータ２に流れる電流が所定値以上にならないので、制御部４は、Ａ／Ｄコンバータ８から入力した電流データが所定値未満である判定する（ステップＳ３３：ＮＯ）。その場合、制御部４は、モータ２を停止させずに（ステップＳ３４）モータ２を継続して動作させるとともに、Ａ／Ｄコンバータ８から入力した電流データの監視も継続する（ステップＳ３３）。
【００９３】
モータ２の回転が継続して、伝動機構等の遊び等が締められると、モータ２がロック位置で拘束される。そうすると、モータ２に流れる電流が所定閾値以上になる。そのため、制御部４は、Ａ／Ｄコンバータ８から入力した電流データが所定値以上である判定する（ステップＳ３３：ＮＯ）。制御部４がモータドライバ６に停止指令を出力する（ステップＳ３５）。そうすると、停止指令を受けたモータドライバ６がモータ２の通電を遮断し、モータ２が停止する。モータ２の停止位置はロック位置となる。
【００９４】
モータ２の停止後、制御部４は、記憶部５に記憶された初期位置データ５Ａの値をロック位置データ５Ｃの値に書き換える（ステップＳ３６）。その後、制御部４は停止処理を終了する。
【００９５】
以上に述べたことがモータ制御装置１の動作の説明である。図１に示されたモータ制御装置１は、例えば車両用シート装置に用いられる。その車両用シート装置は、図１に示されたモータ制御装置１と、図１２に示されたシート本体９０とを備え、シート本体９０の可動部がモータ２によって駆動される。
【００９６】
シート本体９０の可動部の数とモータ２の数が同数であることが好ましく、モータ２の数が複数である場合、モータドライバ６及び抽出回路３がモータ２ごとに設けられ、制御部４及び記憶部５が全てのモータ２に共通している。また、モータ２の数が複数である場合、モータ２ごとに初期位置データ５Ａ、拘束開始位置データ５Ｂ及びロック位置データ５Ｃが記憶部５に格納されている。なお、モータ２の数が複数である場合、モータドライバ６及び抽出回路３の数がそれぞれ１であってもよい。その場合、リレー回路が設けられ、リレー回路が制御部４からの指令に従って複数のモータ２のうちの何れか一つを選択する。そして、そのリレー回路が選択したモータ２を抽出回路３及びモータドライバ６に接続するとともに、他を抽出回路３及びモータドライバ６から遮断する。
【００９７】
シート本体９０について具体的に説明する。シート本体９０はレール９１、シートボトム９２、バックレスト９３、ヘッドレスト９４、アームレスト９５及びレッグレスト９６等を備える。
【００９８】
シートボトム９２がレール９１の上に搭載され、シートボトム９２がレール９１よって前後方向に移動可能に設けられており、モータ２がシートボトム９２を前後方向に駆動する。シートボトム９２の前部が昇降可能に設けられ、別のモータ２がシートボトム９２の前部を上下方向に駆動する。シートボトム９２の後部が昇降可能に設けられ、別のモータ２がシートボトム９２の後部を上下方向に駆動する。バックレスト９３がリクライニング機構によってシートボトム９２の後端部に回転可能に連結され、別のモータ２がバックレスト９３をシートボトム９２に対して起伏させる。ヘッドレスト９４がバックレスト９３の上端部に昇降可能・回転可能に連結され、別のモータ２がヘッドレスト９４を上下方向に駆動し、更に別のモータ２がヘッドレスト９４を前後に起伏させる。アームレスト９５がバックレスト９３の側面に回転可能に連結され、別のモータ２がアームレスト９５を水平状態から垂直状態に及びその逆に駆動する。レッグレスト９６がシートボトム９２の前端部に回転可能に連結され、別のモータ２がレッグレスト９６を跳ね上げ状態から垂下状態に又はその逆に駆動する。
【００９９】
シート本体９０の何れの可動部にも可動範囲が設定され、可動範囲の両端にストッパが設けられている。
【０１００】
本発明の実施の形態は、以下のような効果を奏する。
(1)  モータ２の動作中にモータ２の位置が拘束範囲内に収まっている際に（ステップＳ３１（ＮＯ）参照）、所定の停止条件が満たされても、モータ２が停止せずに、モータ２が回転しづける（ステップＳ３４参照）。その後、モータ２がロック位置に移動して、モータ２の電流が上昇すると（ステップＳ３３（ＹＥＳ）参照）、モータ２が停止する。そのため、モータ２は拘束範囲内で停止せずに、ロック位置で停止する。そして、制御部４が初期位置データ５Ａの値をロック位置データ５Ｃの値に更新するから（ステップＳ３６参照）、制御部４が算出するモータ２の位置に累積的な誤差が発生した場合でも、その誤差が解消される。
(2)  モータ２の位置が拘束範囲内であって、モータ２の回転向きが拘束開始位置からロック位置に向かう向きであると、モータ２が極低速で回転するから、抽出回路３から出力されるパルス信号にパルスが正確に生成されない。そのような場合でも、モータ２が拘束範囲内で停止せずにロック位置で停止し（ステップＳ３５参照）、更に制御部４が算出するモータ２の位置がリセットされて、初期位置データ５Ａの値がロック位置データ５Ｃの値に更新される。よって、抽出回路３から出力されるパルス信号にパルスが正確に生成されなくても、制御部４がモータ２の位置を正確に算出することができる。
(3)  モータ２がロック位置で停止した後、モータ２が再度起動すると（ステップＳ１４参照）、制御部４が算出するモータ２の位置の値が拘束開始位置データ５Ｂの値に等しくなるまで、モータ２の停止が禁止される（ステップＳ１４、ステップＳ１５、ステップＳ１８、ステップＳ３８、ステップＳ３７参照）。よって、モータ２が拘束範囲内で停止することがない。
(4)  初期位置、拘束開始位置及びロック位置がモータ２の位置を表す座標系で規定され（図２参照）、初期位置データ、拘束開始位置データ及びロック位置データがモータ２の位置をパルス数で表現する。従って、制御部４が可動部９９の位置を表現する座標系を基準としてモータ２の制御を行っているのではなく、モータ２の位置を表現する座標系を基準としてモータ２の制御を行っている（図２参照）。よって、可動部９９がストッパ９８に当接して可動部９９が拘束された場合、更にモータ２が回転することも考慮して、モータ２の位置制御が行われる。
(5)  フィルタ４０の回路設計においてフィルタ４０の高カットオフ周波数ｆｃ２がリプル成分の周波数よりも低く設定されているから、フィルタ４０によってリプル成分を除去することができる。
(6)  差動増幅器５０が、バンドパスフィルタ３０の出力信号（電流電圧変換器１０によって変換された電圧信号のうち直流成分及び高周波ノイズ成分等が除去されたもの）と、フィルタ４０の出力信号（電流電圧変換器１０によって変換された電圧信号のうち直流成分、高周波ノイズ成分及びリプル成分等が除去されたもの）の差分を取って、それを差分信号として出力する。そのため、差動増幅器５０の出力信号は、電流電圧変換器１０によって変換された電圧信号のうちリプル成分である。差動増幅器５０の出力信号が差分信号であるからこそ、モータ２の電流信号の各成分の周波数が環境変化によって変動しても、リプル成分が正確に抽出されて、モータ２の電流信号中のリプルを高精度に検出することができる。
(7)  図５に示す周波数特性のうち、高カットオフ周波数ｆｃ２よりも高い領域の傾斜部分を利用したからこそ、リプル成分の周波数が温度変化により変動したものとしても、差動増幅器５０の出力信号がリプル成分として正確に抽出される。
(8)  フィルタ４０の周波数特性を利用して、フィルタ４０と差動増幅器５０によってリプル成分を抽出したから、フィルタ４０にカットオフ周波数可変型フィルタを用いなくても済む。そのため、フィルタ４０のコストを削減することができる。
(9)  抽出回路３がフィードバック制御回路のような閉ループ回路でないから、モータ２の電流信号の各成分の周波数が過渡的に又は急激に変化したものとしても、リプルを正確に検出することができる。
(10)  フィルタ４０が抵抗器４１ｂ，４１ｄ，４１ａ，４１ｃ及びキャパシタ４１ａ，４１ｃ，４１ｂ，４１ｄ，４３ａからなるフィルタであるから、フィルタ４０の構成がシンプルであり、フィルタ４０のコストアップを抑えることができる。
(11)  フィルタ４０の周波数特性を利用して、フィルタ４０と差動増幅器５０によってリプル成分を抽出したから、ハイパスフィルタ２０やバンドパスフィルタ３０にカットオフ周波数可変型フィルタを用いなくても済む。そのため、ハイパスフィルタ２０やバンドパスフィルタ３０のコストアップを抑えることができる。
(12)  電流電圧変換器１０によって変換された電圧信号のうち直流成分がハイパスフィルタ２０によって除去されるから、そのハイパスフィルタ２０の後段のバンドパスフィルタ３０、フィルタ４０及び差動増幅器５０の処理が正確に行われる。
(13)  電流電圧変換器１０によって変換された電圧信号のうち所定周波数帯域外の成分がバンドパスフィルタ３０によって減衰するから、そのバンドパスフィルタ３０の後段のフィルタ４０や差動増幅器５０の処理が正確に行われる。
【０１０１】
〔変形例〕
なお、本発明を適用可能な実施形態は、上述した実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。以下、変形例について説明する。以下に挙げる変形例は可能な限り組み合わせてもよい。
【０１０２】
〔変形例１〕
上述のステップＳ２２において、制御部４は、計数値Ｎをゼロにリセットするのではなく、計数値Ｎを初期位置データ５Ａに設定してもよい。この場合、ステップＳ２５における処理が省略される。更に、ステップＳ２４においては、制御部４が、抽出回路３によって出力されたパルス信号のパルスを入力するごとに、計数値Ｎに１を加算し又は減算することで計数値Ｎを更新する。制御部４は、ステップＳ２４及びステップＳ４９の演算をステップＳ１１で決定した向きに従って決定する。例えば、ステップＳ１１で決定した回転の向きが正回転である場合には、制御部４がステップＳ２４で加算を行い、ステップＳ１１で決定した回転の向きが逆回転である場合には、制御部４がステップＳ２４で減算を行う。勿論、回転の向きと演算の関係が逆であってもよい。
【０１０３】
ステップＳ２４で更新した計数値Ｎは、モータ２の現在位置を表すとともに、原点位置を基準としてその原点位置からの現在位置までの距離をパルス数で表す。
【０１０４】
〔変形例２〕
抽出回路３は一例であり、上述の実施形態の回路に限るものではない。例えば、フィルタ４０及び差動増幅器５０を省略してもよい。その場合、リプル成分の周波数が変化しても、リプル成分を正確に抽出できるようにするために、スイッチト・キャパシタ・フィルタをバンドパスフィルタ３０の後段であって増幅器６０の前段に設けることが好ましい。スイッチト・キャパシタ・フィルタのカットオフ周波数が可変であり、リプル成分や低周波成分の周波数が変化した場合でも、スイッチト・キャパシタ・フィルタは、低周波成分を減衰させ、リプル成分を通過させる。
【０１０５】
〔変形例３〕
フィルタ４０の回路設計において、温度変化によるリプル成分の周波数の変動も考慮しつつ、図６に示すフィルタ４０の低カットオフ周波数ｆｃ１がリプル成分の周波数（例えば、常温時の周波数）よりも高く設定されている。従って、フィルタ４０は、電流電圧変換器１０によって変換された電圧信号（バンドパスフィルタ３０の出力信号）のうちリプル成分を高周波成分（高周波成分はリプル成分よりも周波数が高い。）よりも高い減衰率で減衰させる。つまり、フィルタ４０は、リプル成分を高周波成分よりも効率的に除去する。従って、フィルタ４０は、リプル成分を除去した信号を差動増幅器５０に出力する。
この場合、モータ２の電流信号やフィルタ４０及び差動増幅器５０の入力信号は、リプル成分と、そのリプル成分よりも周波数が高い高周波成分とを重畳したものである。
【０１０６】
〔変形例４〕
フィルタ４０がバンドパスフィルタではなく、図１３に示すような周波数特性を有したローパスフィルタであってもよい。フィルタ４０は、電流電圧変換器１０によって変換された電圧信号（バンドパスフィルタ３０の出力信号）のうちカットオフ周波数ｆｃ３以下の成分を通過させ、カットオフ周波数ｆｃ３を超える成分を減衰させる。具体的には、カットオフ周波数ｆｃ３を超える高周波域において、フィルタ４０は、電流電圧変換器１０によって変換された電圧信号（バンドパスフィルタ３０の出力信号）に含まれる成分の周波数が低いほど減衰率がより低くなるように、電流電圧変換器１０によって変換された電圧信号（バンドパスフィルタ３０の出力信号）を減衰させる。
【０１０７】
フィルタ４０の回路設計において、温度変化によるリプル成分の周波数の変動も考慮しつつ、図１３に示すフィルタ４０のカットオフ周波数ｆｃ３がリプル成分の周波数（例えば、常温時の周波数）よりも低く設定されている。従って、フィルタ４０は、電流電圧変換器１０によって変換された電圧信号（バンドパスフィルタ３０の出力信号）のうちリプル成分を低周波成分（低周波成分はリプル成分よりも周波数が低い。）よりも高い減衰率で減衰させる。つまり、フィルタ４０は、リプル成分を低周波成分よりも効率的に除去する。従って、フィルタ４０は、リプル成分を除去した信号を差動増幅器５０に出力する。
【０１０８】
この場合、モータ２の電流信号やフィルタ４０及び差動増幅器５０の入力信号は、リプル成分と、そのリプル成分よりも周波数が低い低周波成分とを重畳したものである。
フィルタ４０がローパスフィルタである場合、図７に示すハイパスフィルタ４１，４３が省略され、バンドパスフィルタ３０の出力がローパスフィルタ４２の入力に接続され、ローパスフィルタ４２の出力が抵抗器５１を介してオペアンプ５３の反転入力端子に接続される。
【０１０９】
〔変形例５〕
フィルタ４０がバンドパスフィルタではなく、図１４に示すような周波数特性を有したハイパスフィルタであってもよい。フィルタ４０は、電流電圧変換器１０によって変換された電圧信号（バンドパスフィルタ３０の出力信号）のうちカットオフ周波数ｆｃ４以上の成分を通過させ、カットオフ周波数ｆｃ４を下回る成分を減衰させる。具体的には、カットオフ周波数ｆｃ４を下回る低周波域において、フィルタ４０は、電流電圧変換器１０によって変換された電圧信号（バンドパスフィルタ３０の出力信号）に含まれる成分の周波数が低いほど減衰率がより高くなるように、電流電圧変換器１０によって変換された電圧信号（バンドパスフィルタ３０の出力信号）を減衰させる。
【０１１０】
フィルタ４０の回路設計において、温度変化によるリプル成分の周波数の変動も考慮しつつ、図１４に示すフィルタ４０のカットオフ周波数ｆｃ４がリプル成分の周波数（例えば、常温時の周波数）よりも高く設定されている。従って、フィルタ４０は、電流電圧変換器１０によって変換された電圧信号（バンドパスフィルタ３０の出力信号）のうちリプル成分を高周波成分（高周波成分はリプル成分よりも周波数が高い。）よりも高い減衰率で減衰させる。つまり、フィルタ４０は、リプル成分を高周波成分よりも効率的に除去する。従って、フィルタ４０は、リプル成分を除去した信号を差動増幅器５０に出力する。
フィルタ４０がハイパスフィルタである場合、図７に示すローパスフィルタ４２が省略され、バンドパスフィルタ３０の出力がハイパスフィルタ４１の入力に接続されている。
【０１１１】
〔変形例６〕
フィルタ４０がバンドパスフィルタではなく、バンドストップフィルタであってもよい。
【０１１２】
〔変形例７〕
ハイパスフィルタ２０とバンドパスフィルタ３０の一方又は両方を省略してもよい。ハイパスフィルタ２０を省略した場合には、電流電圧変換器１０の出力がバンドパスフィルタ３０の入力に接続される。バンドパスフィルタ３０を省略した場合には、ハイパスフィルタ２０の出力がフィルタ４０の入力及び差動増幅器５０の入力に接続される。ハイパスフィルタ２０とバンドパスフィルタ３０の両方が省略されている場合には、電流電圧変換器１０の出力がフィルタ４０の入力及び差動増幅器５０の入力に接続される。
【０１１３】
〔変形例８〕
モータ制御装置１が電動ドアミラー装置に組み込まれ、電動ドアミラー装置の可動部（例えば、ドアに対してミラーハウジングの格納及び展開をする格納機構、ミラーハウジングに対してミラーを上下に振るチルト機構、ミラーハウジングに対してミラーを左右に振るパン機構）がモータ制御装置１のモータ２によって駆動されてもよい。モータ制御装置１がパワーウィンドウ装置に組み込まれ、パワーウィンドウ装置の可動部（例えば、ウィンドウレギュレター）がモータ２によって駆動されてもよい。
【０１１４】
〔変形例９〕
フィルタ４０がオペアンプを用いたもの（例えば、負帰還型ローパスフィルタ、正帰還型ローパスフィルタ、多重負帰還型バンドパスフィルタ、多重正帰還型バンドパスフィルタ）でもよい。
【符号の説明】
【０１１５】
１  モータ制御装置
２  モータ
３  抽出回路
４  制御部
５  記憶部
５Ａ  初期位置データ
５Ｂ  拘束開始位置データ
５Ｃ  ロック位置データ
８  Ａ／Ｄコンバータ（電流検出部）
９８  ストッパ
９９  可動部
【図１】
0005628728.tif 000002
【図２】
0005628728.tif 000003
【図３】
0005628728.tif 000004
【図４】
0005628728.tif 000005
【図５】
0005628728.tif 000006
【図６】
0005628728.tif 000007
【図７】
0005628728.tif 000008
【図８】
0005628728.tif 000009
【図９】
0005628728.tif 000010
【図１０】
0005628728.tif 000011
【図１１】
0005628728.tif 000012
【図１２】
0005628728.tif 000013
【図１３】
0005628728.tif 000014
【図１４】
0005628728.tif 000015