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