"可動範囲の両端の間を移動可能な可動部を駆動し、動作すると電流信号に周期的なリプルを発生させるモータと、前記モータの前記電流信号からリプル成分を抽出して、そのリプル成分をパルス化したパルス信号を出力する抽出回路と、前記モータの電流を検出する電流検出部と、前記電流検出部によって検出された電流のデータを入力するとともに前記パルス信号を入力し、前記モータを制御する制御部と、前記モータの動作前の初期位置を前記初期位置から所定の原点位置までのパルス数で表した初期位置データと、前記可動部が前記可動範囲内から前記端に移動して前記モータが更に回転することができる前記モータの拘束開始位置を前記拘束開始位置から前記原点位置までのパルス数で表した拘束開始位置データと、前記可動部が前記可動範囲の前記端に位置して前記モータがそれ以上回転できずに拘束される前記モータのロック位置を前記ロック位置から前記原点位置までのパルス数で表したロック位置データと、を記憶した記憶部と、を備え、前記制御部が、前記モータを起動させる起動処理と、前記起動処理後に前記パルス信号のパルスを入力するたびに、前記起動処理後に前記パルス信号に発生したパルス数を計数し、計数したパルス数を前記初期位置データの値に加算し、又は計数したパルス数を前記初期位置データの値から減算する計数処理と、前記起動処理後に前記計数処理において算出した差又は和を前記拘束開始位置データの値と比較することで、前記モータの位置が前記拘束開始位置の間であるか否かを判定する判定処理と、前記モータの位置が前記拘束開始位置の間でないと前記判定処理において判定した場合に、前記電流検出部から入力した電流データが所定値以上になるまで前記モータの回転を継続し、前記電流検出部から入力した電流データが所定値以上になったら前記モータを停止させる停止処理と、前記停止処理後に、前記記憶部に記憶された前記初期位置データを前記ロック位置データの値に書き換える更新処理と、を更に実行する、モータ制御装置。前記制御部が、前記初期位置データの値が前記ロック位置データの値に等しいか否かを判定する第二判定処理と、前記初期位置データの値が前記ロック位置データの値に等しいと前記第二判定処理において判定した場合に、前記起動処理の実行後に前記計数処理において算出する差又は和が前記拘束開始位置データの値に等しくなるまで、前記モータの停止を禁止する禁止処理と、を更に実行する、請求項1に記載のモータ制御装置。前記制御部が、前記モータの位置が前記拘束開始位置の間であると前記判定処理において判定した場合に、前記モータを停止させる第二停止処理を更に実行する、請求項1又は2に記載のモータ制御装置。前記制御部が、前記初期位置データの値が前記ロック位置データの値に等しくないと前記第二判定処理において判定した場合に、前記起動処理を実行する、請求項2に記載のモータ制御装置。前記制御部が、前記起動処理後に所定の停止条件が満たされた時に前記判定処理を実行する、請求項1から4の何れか一項に記載のモータ制御装置。請求項1から5の何れか一項に記載のモータ制御装置と、前記モータによって駆動される前記可動部を有するシート本体と、を備える車両用シート装置。ところが、モータと可動部の間には歯車といった伝動機構等が設けられ、伝動機構には遊びやがたつき等がある。そのため、可動部が可動範囲の端に移動してロックされても、モータが更に回転することができる。特許文献3の技術は、可動部がロックされて、モータが更に回転することを考慮したものではなく、ロック位置情報の値に更新された現在位置情報は実際の可動部の位置を正確に表したものではない。つまり、可動部が可動範囲の端に移動してモータが停止した後、モータを逆に回転すると、モータの回転直後ではモータだけが回転するが、可動部が移動しないから、その際に演算される現在位置情報は可動部の実際の位置からずれたものとなってしまう。また、可動部が可動範囲の端に移動してロックされて、モータが更に回転しても、モータの回転速度が極低速であるから、リプルのパルスが正確に生成されない。そのため、可動部が可動範囲の端に移動してロックされて、モータが更に回転する場合、モータの位置を正確に求めることができない。そこで、本発明が解決しようとする課題は、可動部が可動範囲の端に移動してロックされて、モータが更に回転するような場合でも、モータの位置を正確に求められるようにすることである。以上の課題を解決するための請求項1に係る発明によれば、モータ制御装置が、可動範囲の両端の間を移動可能な可動部を駆動し、動作すると電流信号に周期的なリプルを発生させるモータと、前記モータの前記電流信号からリプル成分を抽出して、そのリプル成分をパルス化したパルス信号を出力する抽出回路と、前記モータの電流を検出する電流検出部と、前記電流検出部によって検出された電流のデータを入力するとともに前記パルス信号を入力し、前記モータを制御する制御部と、前記モータの動作前の初期位置を前記初期位置から所定の原点位置までのパルス数で表した初期位置データと、前記可動部が前記可動範囲内から前記端に移動して前記モータが更に回転することができる前記モータの拘束開始位置を前記拘束開始位置から前記原点位置までのパルス数で表した拘束開始位置データと、前記可動部が前記可動範囲の前記端に位置して前記モータがそれ以上回転できずに拘束される前記モータのロック位置を前記ロック位置から前記原点位置までのパルス数で表したロック位置データと、を記憶した記憶部と、を備え、前記制御部が、前記モータを起動させる起動処理と、前記起動処理後に前記パルス信号のパルスを入力するたびに、前記起動処理後に前記パルス信号に発生したパルス数を計数し、計数したパルス数を前記初期位置データの値に加算し、又は計数したパルス数を前記初期位置データの値から減算する計数処理と、前記起動処理後に前記計数処理において算出した差又は和を前記拘束開始位置データの値と比較することで、前記モータの位置が前記拘束開始位置の間であるか否かを判定する判定処理と、前記モータの位置が前記拘束開始位置の間でないと前記判定処理において判定した場合に、前記電流検出部から入力した電流データが所定値以上になるまで前記モータの回転を継続し、前記電流検出部から入力した電流データが所定値以上になったら前記モータを停止させる停止処理と、前記停止処理後に、前記記憶部に記憶された前記初期位置データを前記ロック位置データの値に書き換える更新処理と、を更に実行する。請求項2に係る発明によれば、請求項1において、前記制御部が、前記初期位置データの値が前記ロック位置データの値に等しいか否かを判定する第二判定処理と、前記初期位置データの値が前記ロック位置データの値に等しいと前記第二判定処理において判定した場合に、前記起動処理の実行後に前記計数処理において算出する差又は和が前記拘束開始位置データの値に等しくなるまで、前記モータの停止を禁止する禁止処理と、を更に実行する。請求項3に係る発明によれば、請求項1又は2において、前記制御部が、前記モータの位置が前記拘束開始位置の間であると前記判定処理において判定した場合に、前記モータを停止させる第二停止処理を更に実行する。請求項4に係る発明によれば、請求項2において、前記制御部が、前記初期位置データの値が前記ロック位置データの値に等しくないと前記第二判定処理において判定した場合に、前記起動処理を実行する。請求項5に係る発明によれば、請求項1から4の何れか一項において、前記制御部が、前記起動処理後に所定の停止条件が満たされた時に前記判定処理を実行する。請求項6に係る発明によれば、車両用シート装置が、請求項1から5の何れか一項に記載のモータ制御装置と、前記モータによって駆動される前記可動部を有するシート本体と、を備える。請求項1に係る発明によれば、初期位置、拘束開始位置及びロック位置がモータの位置を表す座標系で規定され、初期位置データ、拘束開始位置データ及びロック位置データがモータの位置をパルス数で表現するから、制御部がモータの位置を表現する座標系を利用して処理を行うことができる。従って、制御部が計数処理において算出した差や和は実際のモータの位置を正確に表すとともに、判定処理でも、モータの位置が拘束開始位置の間であるか否かを正確に判定することができる。モータの位置が拘束開始位置の間でないと制御部が判定した場合、可動部が可動範囲の端に移動してロックされており、その後も制御部がモータの回転を継続する。そして、モータと可動部の間の伝動機構等の遊びやがたつき等が締められると、モータに対する負荷が大きくなって、モータの電流が増加する。その際、電流検出部から入力した電流データが所定値以上になったら制御部がモータを停止させるから、モータがロック位置でロックされた状態で停止する。その後、初期位置データが、ロック位置を表すロック位置データの値であるパルス数に書き換えられるから、初期位置データがモータの実際のロック位置を正確に表現する。そのため、可動部が可動範囲の端に移動してロックされて、モータが更に回転するような場合でも、モータの位置が正確に算出される。可動部が可動範囲の端に移動してロックされて、モータが更に回転しても、リプルのパルスが正確に生成されない場合でも、停止処理後に、初期位置データがロック位置を表すロック位置データの値に書き換えられるから、その後のモータの動作の際でもモータの位置が正確に算出される。つまり、制御部が算出したモータの位置に累積的な誤差が発生しても、その誤差が解消される。請求項2に係る発明によれば、初期位置データの値がロック位置データの値に等しいと制御部が第二判定処理において判定した場合、モータの動作前の初期位置がロック位置である。その場合、制御部が計数処理において算出する差又は和が拘束開始位置データの値に等しくなるまで、モータの停止を禁止しているから、モータがロック位置と拘束開始位置の間で停止することがない。そのため、制御部が算出するモータの位置は、実際のモータの位置を正確に表す。よって、モータの位置を正確に制御することができる。請求項3に係る発明によれば、制御部によって算出されたモータの位置が拘束開始位置の間であると制御部が判定した場合に、制御部がモータを停止させるから、モータの停止位置が拘束開始位置の間である。そのため、その後制御部がモータを起動する際に制御部が算出するモータの位置は、実際のモータの位置を正確に表す。よって、モータの位置を正確に制御することができる。請求項5に係る発明によれば、所定の停止条件が満たされても、制御部が判定処理を実行し、その判定の結果、制御部が停止処理を実行すれば、モータが継続して回転した後に、モータが停止する。つまり、モータの位置が拘束開始位置からロック位置の間にとなる際に、所定の停止条件が満たされても、モータがすぐに停止せずにロック位置で停止する。以下に、本発明を実施するための形態について図面を用いて説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい種々の限定が付されているが、本発明の範囲を以下の実施形態及び図示例に限定するものではない。図1は、モータ制御装置1のブロック図である。モータ制御装置1は、モータ2、抽出回路3、制御部4、記憶部5、モータドライバ6、A/Dコンバータ7、A/Dコンバータ8及び入力部9c等を備える。モータ2と可動部の間に伝動機構が設けられ、モータ2が伝動機構に連結され、伝動機構が可動部に連結されている。モータ2が回転すると、モータ2の動力が伝動機構によって可動部に伝達され、モータ2が可動部を移動させる。図2は、モータ2の位置を表現する座標系と可動部99の位置を表現する座標系を示した図である。可動部99の可動範囲の両端にストッパ98,98がそれぞれ設けられ、可動部99の可動範囲がこれらストッパ98,98の間に設定されている。モータ2が正転して可動部99が一方のストッパ98に当接すると、可動部99が可動範囲の外に移動できないが、モータ2は伝動機構等の遊び、弾性変形及びがたつき等の分だけ正転することができる。一方、モータ2が正転して可動部99が他方のストッパ98に当接すると、可動部99が可動範囲の外に移動できないが、モータ2は伝動機構等の遊び、弾性変形及びがたつき等の分だけ逆転することができる。つまり、モータ2の可動範囲は可動部99の可動範囲よりも広い。可動部99が可動範囲内からストッパ98に当接するまで移動し、モータ2の更なる回転によって伝動機構等の遊び等が締められ始める位置を拘束開始位置という。つまり、モータ2の位置が拘束開始位置であれば、可動部99が可動範囲の端に位置してストッパ98に当接して可動部99が拘束されるが、可動部99がそのストッパ98に向かう向きにモータ2が更に回転することができる。可動部99がストッパ98に当接した状態で伝動機構等の遊び等が締められてモータ2がそれ以上回転できずに拘束された位置をロック位置という。モータ2の可動範囲の両端の位置がロック位置となる。つまり、モータ2の位置がロック位置であれば、可動部99が可動範囲の端に位置してストッパ98に当接して、伝動機構等の遊び等がなく、可動部99がそのストッパ98に向かう向きにモータ2が回転することができない。拘束開始位置からロック位置にかけての範囲を拘束範囲といい、一方の拘束開始位置から他方の拘束開始位置にかけての範囲を非拘束範囲という。また、所定の原点位置が両方の拘束開始位置の間に予め設定され、モータ2の位置は原点位置を基準と定められる。なお、原点位置がロック位置に設定されてもよい。モータ2は、直流モータである。電流がモータ2に流れると、モータ2が回転するとともに、モータ2が周期的なリプルrippleを電流に発生させる。モータ2の電流信号について図3及び図4を参照して説明する。図4は、モータ2が可動範囲内の或る位置からロック位置まで駆動される際にモータ2に流れる電流のレベルの変化を示したチャートである。図4は、図3に示されたA部における時間及び電流のスケールを大きくして示したチャートである。図3において、時刻T1はモータ2が起動したタイミングであり、時刻T2はモータ2が安定的に動作し始めるタイミングである。時刻T3は、モータ2によって駆動される可動部99がストッパ98に当接して、モータ2の動力を可動部99に伝える伝動機構が締められ始めるタイミングである。時刻T3は、モータ2が拘束開始位置に位置するタイミングでもある。時刻T4は、モータ2の位置がロック位置になってモータ2が停止するタイミングである。図3及び図4に示すように、モータ2の電流信号は直流成分、リプル成分及び一又は複数の周波成分交流成分を含み、周波成分及びリプル成分が直流成分に重畳している。モータ2の電流信号のうち、電流のレベルが急激に変化した高周波成分はノイズである例えば、符号n参照。なお、図4は、高周波ノイズ成分がないものとして図示されている。時刻T1から時刻T2までの期間P1では、リプル成分r1と、リプル成分r1よりも周波数が低い低周波成分とが直流成分に重畳している。期間P1のうちモータ2の起動直後では、慣性力の影響により低周波成分の電流レベルが大きく、その後、低周波成分の電流レベルが時間の経過に伴って緩やかに減少する。また、モータ2の起動直後では、低周波成分よりも周波数が高いリプル成分r1の振幅が大きく、その後、リプル成分r1の周波数が時間の経過に伴って漸増するとともに、リプル成分r1の振幅が時間の経過に伴って漸減する。時刻T2から時刻T3までの期間P2では、リプル成分r2と、リプル成分r2よりも周波数が低い低周波成分とが直流成分に重畳し、直流成分がほぼ一定で安定し、低周波成分の周波数及び振幅が安定し、リプル成分r2の周波数及び振幅が安定している。リプル成分r2の周波数が低周波成分の周波数よりも高くなるのは、モータ2に内蔵された複数のコイルが巻き線抵抗に差を有するためである。時刻T3から時刻T4までの期間P3では、モータ2の電流信号のうち低周波成分の周波数が低くなり、低周波成分の電流レベルが時間の経過とともに漸増する。期間P3では、モータ2の電流信号のうちリプル成分r3の周波数が時間の経過に伴って漸減し、リプル成分r3の振幅が時間の経過に伴って漸増する。期間P3では、可動部99がストッパ98に当接しているため、モータ2が極低速で回転する。モータ2の電流信号のうち低周波成分及びリプル成分の周波数及び振幅は、様々な環境例えば、モータ2に対する負荷、環境温度、モータ2の電源電圧等の影響を受ける。そのため、環境が変化すれば、低周波成分及びリプル成分の周波数及び振幅が変化する。抽出回路3は、以上のようなモータ2の電流信号からリプル成分を抽出して、リプル成分をパルス化し、リプル成分がパルス化されてなるパルス信号を制御部4に出力する。抽出回路3及び抽出回路3を用いたリプル抽出方法について具体的に説明する。図1に示すように、抽出回路3は、電流電圧変換器10、ハイパスフィルタHighpassFilter20、バンドパスフィルタBandpassFilter30、フィルタ40、差動増幅器50、増幅器60及び波形整形部70を備える。図5は、電流電圧変換器10、ハイパスフィルタ20、バンドパスフィルタ30、フィルタ40と差動増幅器50、増幅器60及び波形整形部70の入力信号及び出力信号を説明するための図である。図5において、電流電圧変換器10、ハイパスフィルタ20及びバンドパスフィルタ30の入力信号と出力信号が示されている期間は、図3における時刻T1から期間P2の初期にかけてである。フィルタ40と差動増幅器50、増幅器60及び波形整形部70の入力信号及び出力信号が示されている期間は、図3における期間P2の一部である。電流電圧変換器10は、モータ2の電流信号を入力する。電流電圧変換器10は、入力したモータ2の電流信号を電圧信号に変換する。具体的には、電流電圧変換器10が抵抗器11を有し、抵抗器11がグランドとモータ2の間に接続され、モータ2の電流信号が抵抗器11とモータ2の間における電圧信号に変換される。電流電圧変換器10は、変換した電圧信号をハイパスフィルタ20及びバンドパスフィルタ30を介してフィルタ40及び差動増幅器50に出力する。なお、電流電圧変換器10は、オペアンプを用いたもの例えば、負帰還型電流電圧変換器でもよい。ハイパスフィルタ20は、電流電圧変換器10によって変換された電圧信号電流電圧変換器10の出力信号を入力する。ハイパスフィルタ20は、電流電圧変換器10によって変換された電圧信号電流電圧変換器10の出力信号のうち高周波成分を通過させ、低周波成分を減衰させる。つまり、ハイパスフィルタ20は、電流電圧変換器10によって変換された電圧信号のうち直流成分を除去する。ハイパスフィルタ20は、バンドパスフィルタ30を介して、低周波成分が減衰した信号をフィルタ40及び差動増幅器50に出力する。ハイパスフィルタ20は、オペアンプを用いたもの例えば、負帰還型ハイパスフィルタ、正帰還型ハイパスフィルタ又は抵抗器キャパシタを用いたもの例えば、CRハイパスフィルタである。バンドパスフィルタ30は、電流電圧変換器10によって変換された電圧信号をハイパスフィルタ20を介して入力する。バンドパスフィルタ30は、電流電圧変換器10によって変換された電圧信号ハイパスフィルタ20の出力信号のうち所定周波数帯域の成分を通過させ、その所定周波数帯域外の成分を減衰させる。つまり、バンドパスフィルタ30は、電流電圧変換器10によって変換された電圧信号ハイパスフィルタ20の出力信号のうち高周波ノイズ成分を除去するとともに、ハイパスフィルタ20によって除去しきれなかった低周波成分を除去する。バンドパスフィルタ30は、所定周波数帯域外の成分を減衰させた信号をフィルタ40及び差動増幅器50に出力する。バンドパスフィルタ30は、オペアンプを用いたもの例えば、多重負帰還型バンドパスフィルタ、多重正帰還型バンドパスフィルタ又は抵抗器キャパシタを用いたものである。なお、バンドパスフィルタ30がハイパスフィルタ20の後段に設けられているが、バンドパスフィルタ30が電流電圧変換器10の後段であってハイパスフィルタ20の前段に設けられてもよい。フィルタ40は、電流電圧変換器10によって変換された電圧信号をハイパスフィルタ20及びバンドパスフィルタ30を介して入力し、その信号を濾波する。フィルタ40は、濾波した信号を差動増幅器50に出力する。図6は、フィルタ40の周波数特性を示したグラフである。図6に示すように、フィルタ40は、バンドパスフィルタである。フィルタ40は、電流電圧変換器10によって変換された電圧信号バンドパスフィルタ30の出力信号のうち、低カットオフ周波数fc1から高カットオフ周波数fc2までの間の中間周波数帯域の成分を通過させる。低カットオフ周波数fc1はフィルタ40のハイパスフィルタ部のカットオフ周波数であり、高カットオフ周波数fc2はフィルタ40のローパスフィルタ部のカットオフ周波数であり、低カットオフ周波数fc1<高カットオフ周波数fc2である。なお、カットオフ周波数とは、出力電力が入力電力の12となる周波数を指す。つまり、ゲインGが-3dbとなる周波数がカットオフ周波数である。また、フィルタ40は、電流電圧変換器10によって変換された電圧信号バンドパスフィルタ30の出力信号のうち、低カットオフ周波数fc1を下回る低周波域の成分を減衰させる。具体的には、低カットオフ周波数fc1を下回る低周波域において、フィルタ40は、電流電圧変換器10によって変換された電圧信号バンドパスフィルタ30の出力信号に含まれる成分の周波数が低いほど減衰率がより高くなるように、電流電圧変換器10によって変換された電圧信号バンドパスフィルタ30の出力信号の低周波域成分を減衰させる。また、フィルタ40は、電流電圧変換器10によって変換された電圧信号バンドパスフィルタ30の出力信号のうち、高カットオフ周波数fc2を超える高周波域の成分を減衰させる。具体的には、高カットオフ周波数fc2を超える高周波域において、フィルタ40は、電流電圧変換器10によって変換された電圧信号バンドパスフィルタ30の出力信号に含まれる成分の周波数が低いほど減衰率がより低くなるように、電流電圧変換器10によって変換された電圧信号バンドパスフィルタ30の出力信号の高周波域成分を減衰させる。図3及び図4に示したように、モータ2の電流信号は、リプル成分と、そのリプル成分よりも周波数が低い低周波成分とを重畳したものである。リプル成分の周波数は実験測定等によって予め調べられ、フィルタ40の回路設計において、温度変化によるリプル成分の周波数の変動も考慮しつつ、フィルタ40の高カットオフ周波数fc2がリプル成分の周波数例えば、常温時の周波数よりも低く設定されている。従って、フィルタ40は、電流電圧変換器10によって変換された電圧信号バンドパスフィルタ30の出力信号のうちリプル成分を低周波成分低周波成分はリプル成分よりも周波数が低い。よりも高い減衰率で減衰させる。つまり、フィルタ40は、リプル成分を低周波成分よりも効率的に除去する。従って、フィルタ40は、リプル成分を除去した信号を差動増幅器50に出力する。差動増幅器50は、電流電圧変換器10によって変換された電圧信号をハイパスフィルタ20及びバンドパスフィルタ30を介して入力するとともに、フィルタ40の出力信号を入力する。差動増幅器50は、入力したフィルタ40の出力信号と、電流電圧変換器10によって変換された電圧信号バンドパスフィルタ30の出力信号の差分を取って、その差分を増幅する。差動増幅器50は、その差分を表す差分信号を増幅器60に出力する。図7は、フィルタ40と差動増幅器50の一例を示した回路図である。図8aは図7に示されたA部における電圧信号の波形を示したタイミングチャートであり、図8bは図7に示されたB部における電圧信号の波形を示したタイミングチャートであり、図8cは図7に示されたC部における電圧信号の波形を示したタイミングチャートである。図7に示すように、フィルタ40は、ハイパスフィルタ41、ローパスフィルタ42及びハイパスフィルタ43を有する。バンドパスフィルタ30の出力がハイパスフィルタ41の入力に接続され、ハイパスフィルタ41の出力がローパスフィルタ42の入力に接続され、ローパスフィルタ42の出力がハイパスフィルタ43の入力に接続される。ハイパスフィルタ41は、二次のCRハイパスフィルタである。つまり、ハイパスフィルタ41は、キャパシタ41a、抵抗器41b、キャパシタ41c及び抵抗器41dを有する。なお、ハイパスフィルタ41が一つのキャパシタ及び抵抗器からなる一次のCRハイパスフィルタであってもよい。また、ハイパスフィルタ41が三次以上のCRハイパスフィルタでもよい。ローパスフィルタ42は、二次のRCローパスフィルタである。つまり、ローパスフィルタ42は、抵抗器42a、キャパシタ42b、抵抗器42c及びキャパシタ42dを有する。なお、ローパスフィルタ42が一つの抵抗器及びキャパシタからなる一次のRCローパスフィルタであってもよい。また、ローパスフィルタ42が三次以上のRCローパスフィルタでもよい。ハイパスフィルタ43は、キャパシタ43aからなる。差動増幅器50は抵抗器51,52、オペアンプ53、カップリングコンデンサ54及びバイアス回路55等を有する。オペアンプ53の出力端子が抵抗器52を介してオペアンプ53の反転入力端子に接続され、負帰還がオペアンプ53にかけられている。フィルタ40の出力信号ハイパスフィルタ43の出力信号が抵抗器51を介してオペアンプ53の反転入力端子に入力され、バンドパスフィルタ30の出力信号がカップリングコンデンサ54及びバイアス回路55を介してオペアンプ53の非反転入力端子に入力される。カップリングコンデンサ54は、バンドパスフィルタ30の出力信号の直流成分を除去する。バイアス回路55は、電源電圧とグランドの間に直列された抵抗器56,57を有する。バイアス回路55は、カップリングコンデンサ54によって直流成分が除去されたバンドパスフィルタ30の出力信号にバイアス電圧をかけて、バンドパスフィルタ30の出力信号の基準レベルを引き上げる。なお、カップリングコンデンサ54及びバイアス回路55を省略してもよい。差動増幅器50によって出力された差分信号は、電流電圧変換器10によって変換された電圧信号のうちリプル成分である。差動増幅器50によって出力された差分信号が、バンドパスフィルタ30の出力信号とフィルタ40の出力信号との差分を表すからこそ、モータ2の電流信号の各成分の周波数が環境変化によって変化しても、モータ2の電流信号に含まれるリプルを高精度に検出することができる。図1、図7に示すように、増幅器60は、差動増幅器50によって出力された差分信号オペアンプ53の出力信号を入力する。増幅器60は、差動増幅器50によって出力された差分信号を増幅して、それを波形整形部70に出力する。増幅器60は、例えば負帰還型増幅器である。波形整形部70は、差動増幅器50によって出力された差分信号オペアンプ53の出力信号を増幅器60を介して入力する。波形整形部70は、差動増幅器50によって出力された差分信号増幅器60の出力信号の波形を矩形波に整形する。具体的には、波形整形部70がコンパレータを有し、該コンパレータが、差動増幅器50によって出力された差分信号増幅器60の出力信号を基準電圧と比較することによって、差動増幅器50によって出力された差分信号増幅器60の出力信号をパルス信号に変換する。波形整形部70は、矩形波に整形されたパルス信号を制御部4に出力する。制御部4は、波形整形部70によって出力されたパルス信号を入力する。モータドライバ6は、制御部4からの指令に従ってモータ2を駆動する。つまり、モータドライバ6は、制御部4から起動指令及び回転向き指令を受けたら、モータ2をその回転向きに起動させる。モータドライバ6は、制御部4から停止指令を受けたら、モータ2を停止する。A/Dコンバータ7は、電圧検出部である。つまり、A/Dコンバータ7は、モータ2の電源電圧を検出して、その電圧信号をデジタル信号に変換して、デジタル化した電圧データを制御部4に出力する。制御部4は、A/Dコンバータ7によって出力される電圧データを入力する。A/Dコンバータ8は、電流検出部である。つまり、A/Dコンバータ8は、モータ2の電流値を検出して、その電流信号をデジタル信号に変換して、デジタル化した電流データを制御部4に出力する。ここで、電流電圧変換器10の出力信号がモータ2の電流を表すので、A/Dコンバータ8は電流電圧変換器10の出力信号をデジタル信号に変換して、それを制御部4に出力する。制御部4は、A/Dコンバータ8によって出力される電流データを入力する。制御部4は、CPU4a及びRAM4b等を有するコンピュータである。CPU4aは、数値計算、情報処理、機器制御等の各種処理を行う。RAM4bは、一時記憶領域としての作業領域をCPU4aに提供する。入力部9cが制御部4に接続されている。入力部9cは、複数のスイッチ等を有する。入力部9cがユーザ等によって操作された場合に、入力部9cが操作内容に応じた信号を制御部4に出力し、制御部4がその信号を入力するとともにその信号に応じた指令をモータドライバ6に出力する。記憶部5は、制御部4に接続されている。記憶部5は、不揮発性メモリ、ハードディスクといった読み書き可能な記憶媒体である。記憶部5は、一つの記憶媒体からなるものでもよいし、複数の記憶媒体を組み合わせたものでもよい。記憶部5が複数の記憶媒体を組み合わせたものである場合、何れかの記憶媒体がROMであってもよい。記憶部5には、初期位置データ5Aが格納されている。初期位置データ5Aは、モータ2が動作する前のモータ2の初期位置を示す。具体的には、初期位置データ5Aは図2に示す座標系の座標で表されており、モータ2の位置を表す座標がパルス数で表現されている。従って、初期位置データ5Aは、仮に図2に示すようにモータ2が初期位置から所定の原点位置まで回転した場合、その間に抽出回路3によって出力されたパルス信号のパルス数で表現されている。初期位置データ5Aは、予め設定されたデフォルト値であるか、又は以前にモータ2が動作した際に書き込まれた値である。仮にモータ2の初期位置が原点位置であれば、初期位置データ5Aを表すパルス数はゼロである。初期位置データ5Aは、モータ2が停止する度に更新される。初期位置データ5Aの値が非拘束範囲内の値やロック位置の値になることはあるが、初期位置データ5Aの値が拘束範囲内但し、ロック位置及び拘束開始位置を除く。の値になることはない。記憶部5には、拘束開始位置データ5Bが格納されている。拘束開始位置データ5Bは、図2に示す座標系における拘束開始位置の座標を表す。従って、拘束開始位置データ5Bは、仮に図2に示すようにモータ2が拘束開始位置から所定の原点位置まで回転した場合、その間に抽出回路3によって出力されたパルス信号のパルス数で表される。記憶部5には、ロック位置データ5Cが格納されている。ロック位置データ5Cは、図2に示す座標系におけるロック位置の座標を表す。従って、ロック位置データ5Cは、仮に図2に示すようにモータ2がロック位置から所定の原点位置まで回転した場合、その間に抽出回路3によって出力されたパルス信号のパルス数で表される。拘束開始位置データ5B及びロック位置データ5Cの値は、予め実験測定等によって調査した値である。記憶部5には、制御部4にとって読み取り可能なプログラム5Zが格納されている。制御部4は、プログラム5Zを読み込んでそのプログラム5Zに従った処理を行ったり、そのプログラム5Zによって各種機能を実現したりする。拘束開始位置データ5B及びロック位置データ5Cはプログラム5Zとは別に記憶部5に格納されていてもよいし、プログラム5Zに組み込まれていてもよい。なお、記憶部5が複数の記憶媒体を組み合わせたものである場合、プログラム5Zが記憶部5のROMに格納されていてもよい。プログラム5Zに基づく制御部4の処理の流れについて説明するとともに、制御部4の処理に伴うモータ制御装置1の動作について説明する。所定の起動条件が満たされると、制御部4がモータ2の起動処理図9参照を実行する。所定の起動条件が満たされるとは、例えば、ユーザが入力部9cの起動スイッチをオンにすること、起動センサがオンになること、制御部4によって実行されている処理例えば、シーケンス処理で所定の条件が満たされること等である。まず、制御部4は、モータ2の回転の向き正回転か逆回転を決定し、その回転の向きをRAM又は記憶部5に書き込むステップS11。モータ2の回転の向きは、制御部4によって実行されている処理によって決められたり、ユーザによる入力部9cの操作によって決められたりする。例えば、ユーザが入力部9cの正転起動スイッチをオンにすれば、制御部4がモータ2の回転の向きを正転に決定し、ユーザが入力部9cの逆転起動スイッチをオンにすれば、制御部4がモータ2の回転の向きを逆転に決定する。次に、制御部4が、記憶部5に記憶された初期位置データ5Aを読み込む。そして、制御部4は、読み込んだ初期位置データ5Aの値がロック位置データ5Cの値に等しいか否か判定するステップS12。モータ2の初期位置がロック位置でない場合、初期位置データ5Aの値がロック位置データ5Cの値と異なる。その場合、制御部4は、初期位置データ5Aの値がロック位置データ5Cの値に等しくないと判定するステップS12:NO。そして、制御部4は、ステップS11で決定した向きにモータ2を起動させるステップS16。つまり、制御部4は、ステップS11で決定した向きに従った回転向き指令をモータドライバ6に出力するとともに、起動指令をそのモータドライバ6に出力する。回転向き指令及び起動指令を受けたモータドライバ6がモータ2に通電して、モータ2をその回転向きに駆動する。これにより、モータ2が回転し、モータ2によって可動部が駆動される。制御部4がモータ2を起動させたら、起動処理が終了する。なお、モータ2の起動後、制御部4は、抽出回路3から入力したパルス信号に基づいてパルス信号のパルス数の計数、モータ2の回転量の算出及びモータ2の位置現在位置の算出を行う。詳細については後述する図10参照。モータ2の初期位置が可動範囲の両端のロック位置のどちらか一方である場合、初期位置データ5Aの値がロック位置データ5Cの値に相当する。その場合、制御部4は、初期位置データ5Aの値がロック位置データ5Cの値に等しいと判定するステップS12:YES。そして、制御部4の処理がステップS13に移行する。ステップS13では、制御部4は、ステップS11で決定した向きがロック位置から拘束開始位置に向かう向きであるか否かを判定するステップS13。ステップS11で決定した向きがロック位置から拘束開始位置に向かう向きでないと制御部4が判定した場合ステップS13:NO、制御部4がモータ2を起動させずにステップS18、起動処理が終了する。ステップS11で決定した向きがロック位置から拘束開始位置に向かう向きでない場合には、モータ2の回転向きが拘束開始位置からモータ2の初期位置となるロック位置に向かう向きになってしまい、伝動機構の遊び等が締められているから、たとえモータ2に電流が通電しても、モータ2が回転せず、モータ2に過電流等が発生してしまう虞がある。ところが、制御部4がモータ2を起動させないからステップS17、そのような過電流等の発生を抑えることができる。ステップS11で決定した向きがロック位置から拘束開始位置に向かう向きであると制御部4が判定した場合ステップS13:YES、制御部4は、ステップS11で決定した向きにモータ2を起動させるステップS14。つまり、制御部4は、ステップS11で決定した向きに従った回転向き指令をモータドライバ6に出力するとともに、起動指令をそのモータドライバ6に出力する。回転向き指令及び起動指令を受けたモータドライバ6がモータ2に通電して、モータ2をその回転向きに駆動する。これにより、モータ2が回転し、モータ2によって可動部が駆動される。モータ2の起動後、制御部4は、抽出回路3から入力したパルス信号に基づいてパルス信号のパルス数の計数、モータ2の回転量の算出及びモータ2の位置現在位置の算出を行うとともに図10参照、算出したモータ2の位置を監視するステップS15。そして、制御部4は、算出したモータ2の位置の値が拘束開始位置データ5Bの値に等しくなるまでステップS15:YES、モータ2を停止させずにステップS15:NO、ステップS18、モータ2を継続して動作させるステップS14。制御部4によって算出されるモータ2の位置の値が拘束開始位置データ5Bの値に等しくなるまでの間にたとえユーザが入力部9cの起動スイッチをオフにしたり、入力部9cの停止スイッチをオンにしたりしても、制御部4がその操作を無効にして、モータ2を停止させずにステップS18、モータ2を継続して動作させるステップS14。制御部4によって算出されるモータ2の位置の値が拘束開始位置データ5Bに相当する値になったらステップS15:YES、制御部4は起動処理を終了する。なお、制御部4がモータ2を起動させた後にステップS14、ステップS16、制御部4が起動処理を終了しても、制御部4がモータ2を停止させない限り、モータ2が継続して回転する。モータ2の動作中は、抽出回路3がモータ2の電流信号からリプル成分を抽出検出して、リプル成分をパルス化する。そして、抽出回路3は、リプル成分がパルス化されてなるパルス信号を制御部4に出力する。モータ2が起動すると、制御部4は、抽出回路3から入力したパルス信号に基づいて、パルス信号のパルス数の計数、モータ2の回転量の算出及びモータ2の位置の算出を行う。より具体的には、制御部4が図10に示す処理を実行することによってパルス信号のパルス数の計数、モータ2の回転量の算出及びモータ2の位置の算出を行う。図10に示す処理について具体的に説明する。制御部4は、A/Dコンバータ7から入力した電圧データを監視して、電圧データを所定の閾値と比較するステップS21。上述のように制御部4がモータ2を起動させるとステップS16又はステップS14、モータ2に電流が通電するから、制御部4は電圧データが所定の閾値を上回ったと判定して、モータ2の通電起動を検出するステップS21:Yes。そして、制御部4が記憶部5から初期位置データ5Aを読み込んで、制御部4の処理がステップS22に移行する。なお、制御部4がA/Dコンバータ8から入力した電流データを監視して、制御部4が電流データを所定の閾値と比較してもよいステップS21。この場合、モータ2に電流が通電した場合、制御部4は電流データが所定の閾値を上回ったと判定して、モータ2の通電起動を検出するステップS21:Yes。電流がモータ2に通電すると、制御部4は抽出回路3によって出力されたパルス信号のパルス数を計数するとともに、モータ2の回転量及び位置を算出するステップS22,S23,S24、S25。具体的には、まず、制御部4は、計数値NをゼロにリセットするステップS22。その後、制御部4は、抽出回路3によって出力されたパルス信号のパルスを入力するごとにステップS23:Yes、計数値Nに1を加算して得られた値に計数値Nを更新するとともにステップS24、読み込んだ初期位置データ5Aの値に更新後の計数値Nを加算するか、又は読み込んだ初期位置データ5Aの値から更新後の計数値Nを減算するステップS25。制御部4は、ステップS25の演算をステップS11で決定した向きに従って決定する。例えば、ステップS11で決定した回転の向きが正回転である場合には、制御部4がステップS25で加算を行い、ステップS11で決定した回転の向きが逆回転である場合には、制御部4がステップS25で減算を行う。勿論、回転の向きと演算の関係が逆であってもよい。ステップS24において更新された計数値Nが、制御部4によって計数されたパルス数である。制御部4によって計数されたパルス数計数値Nは、モータ2の座標系図2参照における初期位置から現在位置までの回転量を表す。ステップS25において求められた差や和が、パルスを入力した時点におけるモータ2の現在位置を表す。上述のように、制御部4がステップS25で算出した差や和が拘束開始位置データ5Bに相当する値であればステップS15:YES、制御部4が起動処理を終了し、制御部4がステップS25で算出した差や和が拘束開始位置データ5Bに相当する値でなければステップS15:NO、制御部4が起動処理を継続して、モータ2の停止を禁止するステップS18。制御部4は、モータ2の電流の遮断を検出するまでステップS23~ステップS26の処理を繰り返すステップS26:No。具体的には、制御部4は、ステップS25の処理の後に、A/Dコンバータ7から入力した電圧データを所定の閾値と比較するステップS26。そして、モータ2の電流が遮断されなかったら、制御部4は電圧データが所定の閾値を上回っていると判定してステップS26:No、制御部4の処理がステップS23に戻り、制御部4がステップS23~ステップS25の処理を再度行う。なお、ステップS26では、制御部4がA/Dコンバータ8から入力した電流データを所定の閾値と比較してもよいステップS26。この場合、モータ2の電流が遮断されなかったら、制御部4は電流データが所定の閾値を上回ったと判定してステップS26:No、制御部4がステップS23~ステップS25の処理を再度行う。制御部4が図10に示す処理を実行している時に所定の停止条件が満たされると、制御部4がモータ2の停止処理図11参照を実行する。所定の停止条件とは、例えば、ユーザが入力部9cの停止スイッチをオンにすること、ユーザが入力部9cの起動スイッチをオフにすること、制御部4によって実行された処理例えば、シーケンス処理で所定の条件が満たされること、上述のステップS25において求めた差又は和が所定の値になること等である。まず、制御部4は、停止処理開始直後にステップS25で算出した差や和モータ2の位置が非拘束範囲内に収まっているか否かを判定するステップS31。具体的には、制御部4が、ステップS25で算出した差や和を拘束開始位置データ5Bの値と比較するステップS31。比較の結果、停止処理開始直後にステップS25で算出した差や和モータ2の位置が非拘束範囲内に収まっていると制御部4が判定した場合ステップS31:YES、制御部4がモータドライバ6に停止指令を出力するステップS41。そうすると、停止指令を受けたモータドライバ6がモータ2の通電を遮断し、モータ2が停止する。モータ2の停止位置は、一方の拘束開始位置から他方の拘束開始位置までの間である。モータ2の電流がモータドライバ6によって遮断されるので、制御部4はA/Dコンバータ7から入力した電圧データが所定の閾値を下回ったと判定してステップS26:Yes、制御部4は図10に示す処理を終了する。なお、制御部4がA/Dコンバータ8から入力した電流データを所定の閾値と比較する場合ステップS26、モータ2の電流が遮断されたら、制御部4は電流データが所定の閾値を下回ったと判定してステップS26:Yes、制御部4は図90に示す処理を終了する。次に、制御部4は、停止処理開始直後にステップS25で算出した差や和を記憶部5に書き込むステップS42。具体的には、制御部4は、記憶部5に記憶された初期位置データ5Aの値を停止処理開始直後のステップS25において求めた差又は和に書き換えるステップS42。その後、制御部4は停止処理を終了する。ステップS31の比較の結果、ステップS25で算出した差や和モータ2の位置が非拘束範囲内に収まっていないと制御部4が判定した場合ステップS31:NO、制御部4の処理がステップS32に移行する。ステップ32では、制御部4は、ステップS11で決定した向きがロック位置から拘束開始位置に向かう向きであるか否かを判定するステップS32。ステップS11で決定した向きがロック位置から拘束開始位置に向かう向きであると制御部4が判定した場合ステップS32:YES、制御部4がモータ2を停止させずにステップS37、モータ2を継続して動作させる。なお、モータ2が起動する前の初期位置データ5Aの値がロック位置データ5Cの値に等しい場合にモータ2が回転していれば図9に示すステップS12YES、ステップS13YES、ステップS14参照、制御部4の処理はステップS32からステップS37に移行する。モータ2が継続して回転するからステップS37参照、制御部4が図10に示すステップS23~ステップS26の処理を繰り返し実行する。そのため、制御部4は、抽出回路3によって出力されたパルス信号のパルスを入力する度に、モータ2の位置を算出するステップS25。そして、制御部4は、ステップS25で算出したモータ2の位置の値が拘束開始位置データ5Bの値に等しくなるまでステップS38:YES、モータ2を停止させずにステップS38:NO、ステップS37、モータ2を継続して動作させる。モータ2の回転が継続している際に、制御部4によって算出されるモータ2の位置の値が拘束開始位置データ5Bの値に等しくなったらステップS38:YES、制御部4がモータドライバ6に停止指令を出力するステップS39。そうすると、停止指令を受けたモータドライバ6がモータ2の通電を遮断し、モータ2が停止する。モータ2の停止位置は、拘束開始位置である。モータ2の電流がモータドライバ6によって遮断されるので、制御部4はA/Dコンバータ7から入力した電圧データが所定の閾値を下回ったと判定してステップS26:Yes、制御部4は図10に示す処理を終了する。次に、制御部4は、図9に示すステップS23~ステップS26の処理を繰り返している際に最後のステップS25において求めた差又は和を記憶部5に書き込むステップS40。具体的には、制御部4は、記憶部5に記憶された初期位置データ5Aの値を最後のステップS25において求めた差又は和に書き換えるステップS40。書き換えられた初期位置データ5Aの値は、拘束開始位置データ5Bの値に等しいか、拘束開始位置データ5Bの値に近似している。その後、制御部4は停止処理を終了する。なお、ステップS40において、制御部4は、記憶部5に記憶された初期位置データ5Aの値を拘束開始位置データ5Bの値に書き換えてもよい。ステップS32の判定において、ステップS11で決定した向きがロック位置から拘束開始位置に向かう向きでないと制御部4が判定した場合ステップS32:NO、制御部4の処理がステップS33に移行する。モータ2の位置が非拘束範囲から拘束開始位置を超えて拘束範囲に移ると、制御部4の処理がステップS33に移行することになる。ステップS33では、制御部4が、A/Dコンバータ8から入力した電流データを監視して、電流データを所定値と比較するステップS33。所定値は、モータ2を拘束してモータ2に一定の電圧を印加することでそのモータ2に流れる電流を実験等によって予め測定したものである。つまり、所定値は、モータ2が拘束状態であるか否かを判別するための基準となる電流値である。モータ2が拘束範囲内において拘束開始位置からロック位置に向けて回転していると、モータ2が拘束されていないから、モータ2に流れる電流が所定値以上にならないので、制御部4は、A/Dコンバータ8から入力した電流データが所定値未満である判定するステップS33:NO。その場合、制御部4は、モータ2を停止させずにステップS34モータ2を継続して動作させるとともに、A/Dコンバータ8から入力した電流データの監視も継続するステップS33。モータ2の回転が継続して、伝動機構等の遊び等が締められると、モータ2がロック位置で拘束される。そうすると、モータ2に流れる電流が所定閾値以上になる。そのため、制御部4は、A/Dコンバータ8から入力した電流データが所定値以上である判定するステップS33:NO。制御部4がモータドライバ6に停止指令を出力するステップS35。そうすると、停止指令を受けたモータドライバ6がモータ2の通電を遮断し、モータ2が停止する。モータ2の停止位置はロック位置となる。モータ2の停止後、制御部4は、記憶部5に記憶された初期位置データ5Aの値をロック位置データ5Cの値に書き換えるステップS36。その後、制御部4は停止処理を終了する。以上に述べたことがモータ制御装置1の動作の説明である。図1に示されたモータ制御装置1は、例えば車両用シート装置に用いられる。その車両用シート装置は、図1に示されたモータ制御装置1と、図12に示されたシート本体90とを備え、シート本体90の可動部がモータ2によって駆動される。シート本体90の可動部の数とモータ2の数が同数であることが好ましく、モータ2の数が複数である場合、モータドライバ6及び抽出回路3がモータ2ごとに設けられ、制御部4及び記憶部5が全てのモータ2に共通している。また、モータ2の数が複数である場合、モータ2ごとに初期位置データ5A、拘束開始位置データ5B及びロック位置データ5Cが記憶部5に格納されている。なお、モータ2の数が複数である場合、モータドライバ6及び抽出回路3の数がそれぞれ1であってもよい。その場合、リレー回路が設けられ、リレー回路が制御部4からの指令に従って複数のモータ2のうちの何れか一つを選択する。そして、そのリレー回路が選択したモータ2を抽出回路3及びモータドライバ6に接続するとともに、他を抽出回路3及びモータドライバ6から遮断する。シート本体90について具体的に説明する。シート本体90はレール91、シートボトム92、バックレスト93、ヘッドレスト94、アームレスト95及びレッグレスト96等を備える。シートボトム92がレール91の上に搭載され、シートボトム92がレール91よって前後方向に移動可能に設けられており、モータ2がシートボトム92を前後方向に駆動する。シートボトム92の前部が昇降可能に設けられ、別のモータ2がシートボトム92の前部を上下方向に駆動する。シートボトム92の後部が昇降可能に設けられ、別のモータ2がシートボトム92の後部を上下方向に駆動する。バックレスト93がリクライニング機構によってシートボトム92の後端部に回転可能に連結され、別のモータ2がバックレスト93をシートボトム92に対して起伏させる。ヘッドレスト94がバックレスト93の上端部に昇降可能回転可能に連結され、別のモータ2がヘッドレスト94を上下方向に駆動し、更に別のモータ2がヘッドレスト94を前後に起伏させる。アームレスト95がバックレスト93の側面に回転可能に連結され、別のモータ2がアームレスト95を水平状態から垂直状態に及びその逆に駆動する。レッグレスト96がシートボトム92の前端部に回転可能に連結され、別のモータ2がレッグレスト96を跳ね上げ状態から垂下状態に又はその逆に駆動する。シート本体90の何れの可動部にも可動範囲が設定され、可動範囲の両端にストッパが設けられている。本発明の実施の形態は、以下のような効果を奏する。モータ2の動作中にモータ2の位置が拘束範囲内に収まっている際にステップS31NO参照、所定の停止条件が満たされても、モータ2が停止せずに、モータ2が回転しづけるステップS34参照。その後、モータ2がロック位置に移動して、モータ2の電流が上昇するとステップS33YES参照、モータ2が停止する。そのため、モータ2は拘束範囲内で停止せずに、ロック位置で停止する。そして、制御部4が初期位置データ5Aの値をロック位置データ5Cの値に更新するからステップS36参照、制御部4が算出するモータ2の位置に累積的な誤差が発生した場合でも、その誤差が解消される。モータ2の位置が拘束範囲内であって、モータ2の回転向きが拘束開始位置からロック位置に向かう向きであると、モータ2が極低速で回転するから、抽出回路3から出力されるパルス信号にパルスが正確に生成されない。そのような場合でも、モータ2が拘束範囲内で停止せずにロック位置で停止しステップS35参照、更に制御部4が算出するモータ2の位置がリセットされて、初期位置データ5Aの値がロック位置データ5Cの値に更新される。よって、抽出回路3から出力されるパルス信号にパルスが正確に生成されなくても、制御部4がモータ2の位置を正確に算出することができる。モータ2がロック位置で停止した後、モータ2が再度起動するとステップS14参照、制御部4が算出するモータ2の位置の値が拘束開始位置データ5Bの値に等しくなるまで、モータ2の停止が禁止されるステップS14、ステップS15、ステップS18、ステップS38、ステップS37参照。よって、モータ2が拘束範囲内で停止することがない。初期位置、拘束開始位置及びロック位置がモータ2の位置を表す座標系で規定され図2参照、初期位置データ、拘束開始位置データ及びロック位置データがモータ2の位置をパルス数で表現する。従って、制御部4が可動部99の位置を表現する座標系を基準としてモータ2の制御を行っているのではなく、モータ2の位置を表現する座標系を基準としてモータ2の制御を行っている図2参照。よって、可動部99がストッパ98に当接して可動部99が拘束された場合、更にモータ2が回転することも考慮して、モータ2の位置制御が行われる。フィルタ40の回路設計においてフィルタ40の高カットオフ周波数fc2がリプル成分の周波数よりも低く設定されているから、フィルタ40によってリプル成分を除去することができる。差動増幅器50が、バンドパスフィルタ30の出力信号電流電圧変換器10によって変換された電圧信号のうち直流成分及び高周波ノイズ成分等が除去されたものと、フィルタ40の出力信号電流電圧変換器10によって変換された電圧信号のうち直流成分、高周波ノイズ成分及びリプル成分等が除去されたものの差分を取って、それを差分信号として出力する。そのため、差動増幅器50の出力信号は、電流電圧変換器10によって変換された電圧信号のうちリプル成分である。差動増幅器50の出力信号が差分信号であるからこそ、モータ2の電流信号の各成分の周波数が環境変化によって変動しても、リプル成分が正確に抽出されて、モータ2の電流信号中のリプルを高精度に検出することができる。図5に示す周波数特性のうち、高カットオフ周波数fc2よりも高い領域の傾斜部分を利用したからこそ、リプル成分の周波数が温度変化により変動したものとしても、差動増幅器50の出力信号がリプル成分として正確に抽出される。フィルタ40の周波数特性を利用して、フィルタ40と差動増幅器50によってリプル成分を抽出したから、フィルタ40にカットオフ周波数可変型フィルタを用いなくても済む。そのため、フィルタ40のコストを削減することができる。抽出回路3がフィードバック制御回路のような閉ループ回路でないから、モータ2の電流信号の各成分の周波数が過渡的に又は急激に変化したものとしても、リプルを正確に検出することができる。フィルタ40が抵抗器41b,41d,41a,41c及びキャパシタ41a,41c,41b,41d,43aからなるフィルタであるから、フィルタ40の構成がシンプルであり、フィルタ40のコストアップを抑えることができる。フィルタ40の周波数特性を利用して、フィルタ40と差動増幅器50によってリプル成分を抽出したから、ハイパスフィルタ20やバンドパスフィルタ30にカットオフ周波数可変型フィルタを用いなくても済む。そのため、ハイパスフィルタ20やバンドパスフィルタ30のコストアップを抑えることができる。電流電圧変換器10によって変換された電圧信号のうち直流成分がハイパスフィルタ20によって除去されるから、そのハイパスフィルタ20の後段のバンドパスフィルタ30、フィルタ40及び差動増幅器50の処理が正確に行われる。電流電圧変換器10によって変換された電圧信号のうち所定周波数帯域外の成分がバンドパスフィルタ30によって減衰するから、そのバンドパスフィルタ30の後段のフィルタ40や差動増幅器50の処理が正確に行われる。変形例なお、本発明を適用可能な実施形態は、上述した実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。以下、変形例について説明する。以下に挙げる変形例は可能な限り組み合わせてもよい。変形例1上述のステップS22において、制御部4は、計数値Nをゼロにリセットするのではなく、計数値Nを初期位置データ5Aに設定してもよい。この場合、ステップS25における処理が省略される。更に、ステップS24においては、制御部4が、抽出回路3によって出力されたパルス信号のパルスを入力するごとに、計数値Nに1を加算し又は減算することで計数値Nを更新する。制御部4は、ステップS24及びステップS49の演算をステップS11で決定した向きに従って決定する。例えば、ステップS11で決定した回転の向きが正回転である場合には、制御部4がステップS24で加算を行い、ステップS11で決定した回転の向きが逆回転である場合には、制御部4がステップS24で減算を行う。勿論、回転の向きと演算の関係が逆であってもよい。ステップS24で更新した計数値Nは、モータ2の現在位置を表すとともに、原点位置を基準としてその原点位置からの現在位置までの距離をパルス数で表す。変形例2抽出回路3は一例であり、上述の実施形態の回路に限るものではない。例えば、フィルタ40及び差動増幅器50を省略してもよい。その場合、リプル成分の周波数が変化しても、リプル成分を正確に抽出できるようにするために、スイッチトキャパシタフィルタをバンドパスフィルタ30の後段であって増幅器60の前段に設けることが好ましい。スイッチトキャパシタフィルタのカットオフ周波数が可変であり、リプル成分や低周波成分の周波数が変化した場合でも、スイッチトキャパシタフィルタは、低周波成分を減衰させ、リプル成分を通過させる。変形例3フィルタ40の回路設計において、温度変化によるリプル成分の周波数の変動も考慮しつつ、図6に示すフィルタ40の低カットオフ周波数fc1がリプル成分の周波数例えば、常温時の周波数よりも高く設定されている。従って、フィルタ40は、電流電圧変換器10によって変換された電圧信号バンドパスフィルタ30の出力信号のうちリプル成分を高周波成分高周波成分はリプル成分よりも周波数が高い。よりも高い減衰率で減衰させる。つまり、フィルタ40は、リプル成分を高周波成分よりも効率的に除去する。従って、フィルタ40は、リプル成分を除去した信号を差動増幅器50に出力する。この場合、モータ2の電流信号やフィルタ40及び差動増幅器50の入力信号は、リプル成分と、そのリプル成分よりも周波数が高い高周波成分とを重畳したものである。変形例4フィルタ40がバンドパスフィルタではなく、図13に示すような周波数特性を有したローパスフィルタであってもよい。フィルタ40は、電流電圧変換器10によって変換された電圧信号バンドパスフィルタ30の出力信号のうちカットオフ周波数fc3以下の成分を通過させ、カットオフ周波数fc3を超える成分を減衰させる。具体的には、カットオフ周波数fc3を超える高周波域において、フィルタ40は、電流電圧変換器10によって変換された電圧信号バンドパスフィルタ30の出力信号に含まれる成分の周波数が低いほど減衰率がより低くなるように、電流電圧変換器10によって変換された電圧信号バンドパスフィルタ30の出力信号を減衰させる。フィルタ40の回路設計において、温度変化によるリプル成分の周波数の変動も考慮しつつ、図13に示すフィルタ40のカットオフ周波数fc3がリプル成分の周波数例えば、常温時の周波数よりも低く設定されている。従って、フィルタ40は、電流電圧変換器10によって変換された電圧信号バンドパスフィルタ30の出力信号のうちリプル成分を低周波成分低周波成分はリプル成分よりも周波数が低い。よりも高い減衰率で減衰させる。つまり、フィルタ40は、リプル成分を低周波成分よりも効率的に除去する。従って、フィルタ40は、リプル成分を除去した信号を差動増幅器50に出力する。この場合、モータ2の電流信号やフィルタ40及び差動増幅器50の入力信号は、リプル成分と、そのリプル成分よりも周波数が低い低周波成分とを重畳したものである。フィルタ40がローパスフィルタである場合、図7に示すハイパスフィルタ41,43が省略され、バンドパスフィルタ30の出力がローパスフィルタ42の入力に接続され、ローパスフィルタ42の出力が抵抗器51を介してオペアンプ53の反転入力端子に接続される。変形例5フィルタ40がバンドパスフィルタではなく、図14に示すような周波数特性を有したハイパスフィルタであってもよい。フィルタ40は、電流電圧変換器10によって変換された電圧信号バンドパスフィルタ30の出力信号のうちカットオフ周波数fc4以上の成分を通過させ、カットオフ周波数fc4を下回る成分を減衰させる。具体的には、カットオフ周波数fc4を下回る低周波域において、フィルタ40は、電流電圧変換器10によって変換された電圧信号バンドパスフィルタ30の出力信号に含まれる成分の周波数が低いほど減衰率がより高くなるように、電流電圧変換器10によって変換された電圧信号バンドパスフィルタ30の出力信号を減衰させる。フィルタ40の回路設計において、温度変化によるリプル成分の周波数の変動も考慮しつつ、図14に示すフィルタ40のカットオフ周波数fc4がリプル成分の周波数例えば、常温時の周波数よりも高く設定されている。従って、フィルタ40は、電流電圧変換器10によって変換された電圧信号バンドパスフィルタ30の出力信号のうちリプル成分を高周波成分高周波成分はリプル成分よりも周波数が高い。よりも高い減衰率で減衰させる。つまり、フィルタ40は、リプル成分を高周波成分よりも効率的に除去する。従って、フィルタ40は、リプル成分を除去した信号を差動増幅器50に出力する。フィルタ40がハイパスフィルタである場合、図7に示すローパスフィルタ42が省略され、バンドパスフィルタ30の出力がハイパスフィルタ41の入力に接続されている。変形例6フィルタ40がバンドパスフィルタではなく、バンドストップフィルタであってもよい。変形例7ハイパスフィルタ20とバンドパスフィルタ30の一方又は両方を省略してもよい。ハイパスフィルタ20を省略した場合には、電流電圧変換器10の出力がバンドパスフィルタ30の入力に接続される。バンドパスフィルタ30を省略した場合には、ハイパスフィルタ20の出力がフィルタ40の入力及び差動増幅器50の入力に接続される。ハイパスフィルタ20とバンドパスフィルタ30の両方が省略されている場合には、電流電圧変換器10の出力がフィルタ40の入力及び差動増幅器50の入力に接続される。変形例8モータ制御装置1が電動ドアミラー装置に組み込まれ、電動ドアミラー装置の可動部例えば、ドアに対してミラーハウジングの格納及び展開をする格納機構、ミラーハウジングに対してミラーを上下に振るチルト機構、ミラーハウジングに対してミラーを左右に振るパン機構がモータ制御装置1のモータ2によって駆動されてもよい。モータ制御装置1がパワーウィンドウ装置に組み込まれ、パワーウィンドウ装置の可動部例えば、ウィンドウレギュレターがモータ2によって駆動されてもよい。変形例9フィルタ40がオペアンプを用いたもの例えば、負帰還型ローパスフィルタ、正帰還型ローパスフィルタ、多重負帰還型バンドパスフィルタ、多重正帰還型バンドパスフィルタでもよい。"