モータ制御装置
【課題】モータの電流遮断時を正確に検出するとともに、モータの電流遮断後でもモータ電流遮断前のパルス周期に基づいてモータの電流遮断時からモータの停止時までのパルス数を推定できるようにする。
【解決手段】制御部4が、モータ2の動作中、抽出回路3から出力されたパルス信号のパルスごとにパルス周期を計時して、計時したパルス周期を順次記憶する。制御部4が、モータ2の動作中、モータドライバ6に停止指令を出力して、モータ2の電流を遮断する。その後、制御部4が、A/Dコンバータ8によって検出された電圧に基づいてモータ2の電流遮断を検出したら、記憶したパルス周期のうちモータ2の電流遮断の検出直前の一パルス分又は複数パルス分のパルス周期に基づいてモータ2の電流遮断の検出時からモータ2の停止時までの推定パルス数を算出する。
【解決手段】制御部4が、モータ2の動作中、抽出回路3から出力されたパルス信号のパルスごとにパルス周期を計時して、計時したパルス周期を順次記憶する。制御部4が、モータ2の動作中、モータドライバ6に停止指令を出力して、モータ2の電流を遮断する。その後、制御部4が、A/Dコンバータ8によって検出された電圧に基づいてモータ2の電流遮断を検出したら、記憶したパルス周期のうちモータ2の電流遮断の検出直前の一パルス分又は複数パルス分のパルス周期に基づいてモータ2の電流遮断の検出時からモータ2の停止時までの推定パルス数を算出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータ制御装置に関する。
【背景技術】
【0002】
車両用シート、電動ドアミラー、パワーウィンドウ等には可動部が設けられ、可動部がモータによって駆動される。可動部の位置及び速度を制御装置によって正確に制御するためには、動作中のモータの回転量を検出する必要がある。モータの回転量を検出するべく、センサが用いられる。つまり、センサ(例えば、ホール素子、エンコーダ、リードスイッチセンサ)がモータ等に設けられ、動作中のモータの回転に同期した信号がセンサによって出力され、センサの出力信号が検出回路(例えば、コンパレータやAD変換器)を介して制御装置に入力される。
【0003】
ところが、センサを用いると、コストアップの要因になってしまう。そこで、センサを用いずに、モータの電流信号を利用して、モータの後段回路によってモータの回転量を検出する技術が提案されている(例えば、特許文献1、特許文献2参照)。モータが動作している際には、モータの電流信号には直流成分、低周波成分及び高周波ノイズ等が含まれており、更に、モータの回転に同期した脈動(以下、リプル(ripple)という。)成分も含まれている。特許文献1、特許文献2に記載の技術では、モータの電流信号を後段回路によって処理することによってリプル成分を抽出する。具体的には、後段回路のフィルタによってモータの電流信号のうち直流成分、低周波成分及び高周波ノイズを除去し、リプル成分を通過させる。モータの電流信号の各成分の周波数が環境変化によって変動するため、後段回路のフィルタには、カットオフ周波数を可変することができるスイッチト・キャパシタ・フィルタを用いる。具体的には、スイッチト・キャパシタ・フィルタを通過した信号が演算回路にフィードバックされ、演算回路がフィードバック信号からカットオフ周波数を演算して、スイッチト・キャパシタ・フィルタのカットオフ周波数を設定する。
【0004】
特許文献1に記載の技術では、リプルパルス整形回路が、スイッチト・キャパシタ・フィルタ(SCF)を通過したリプル成分をパルス化し、カウンタ(CT)が、リプルパルス整形回路の出力信号のパルス数を計数する。カウンタ(CT)によって計数されたパルス数が、モータの回転量に相当するとともに、可動部の移動量に相当する。
【0005】
ところで、モータの電流が遮断されてすぐにモータが停止するのではなく、モータが電流遮断時からしばらく回転する。モータの電流が遮断されると、特許文献1及び特許文献2に記載の技術ではモータの回転量を正確に検出することができない。そこで、特許文献3には、モータの停止時までのパルス数を推定する技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2003−9585号公報
【特許文献2】特開2008−283762号公報
【特許文献3】特開2000−250629号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところが、特許文献3には、制御部(CPU2)がモータ(11)の作動停止時をどのように判断するのか詳細に開示されていない。特許文献3の〔0046〕、〔0047〕及び図10の記載によれば、制御部(CPU2)がリレー(9)をオフにして、モータ(
11)の作動停止後に制御部(CPU2)がパルス周期を算出する。しかし、モータの作動停止後ではモータ(11)の電流が遮断されているから、モータ(11)のパルス周期を算出することができない。
そこで、本発明が解決しようとする課題は、モータの電流遮断時を正確に検出するとともに、モータの電流遮断後でもモータ電流遮断前のパルス周期に基づいてモータの電流遮断時からモータの停止時までのパルス数を推定できるようにすることである。
【課題を解決するための手段】
【0008】
以上の課題を解決するための請求項1に係る発明によれば、
モータ制御装置が、駆動されると電流信号に周期的なリプルを発生させるモータと、前記モータの前記電流信号からリプル成分を抽出して、そのリプル成分をパルス化したパルス信号を出力する抽出回路と、前記モータの電圧を検出する電圧検出部と、前記パルス信号を入力するとともに、前記モータを制御する制御部と、を備え、前記制御部が、前記パルス信号のパルスごとに前記パルス信号のパルス周期を計時して、計時したパルス周期を順次記憶する第一処理と、前記モータの電流を遮断する第二処理と、前記第二処理後に前記電圧検出部によって検出された電圧に基づいて前記モータの電流遮断を検出したら、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の一パルス分又は複数パルス分のパルス周期に基づいて前記モータの電流遮断の検出時から前記モータの停止時までの推定パルス数を算出する第三処理と、を実行する。
【0009】
請求項2に係る発明によれば、
モータ制御装置が、駆動されると電流信号に周期的なリプルを発生させるモータと、前記モータの前記電流信号からリプル成分を抽出して、そのリプル成分をパルス化したパルス信号を出力する抽出回路と、前記モータの電流を検出する電流検出部と、前記パルス信号を入力するとともに、前記モータを制御する制御部と、を備え、前記制御部が、前記パルス信号のパルスごとに前記パルス信号のパルス周期を計時して、計時したパルス周期を順次記憶する第一処理と、前記モータの電流を遮断する第二処理と、前記第二処理後に前記電流検出部によって検出された電流に基づいて前記モータの電流遮断を検出したら、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の一パルス分又は複数パルス分のパルス周期に基づいて前記モータの電流遮断の検出時から前記モータの停止時までの推定パルス数を算出する第三処理と、を実行する。
【0010】
請求項3に係る発明によれば、請求項1又は2において、
前記モータ制御装置が、第一入力値及び第二入力値と出力値との関係を表した第一補正マップと、第一入力値及び第二入力値と出力値との関係を表した第二補正マップとを記憶した記憶部と、温度を検出する温度センサと、を更に備え、前記制御部が、前記パルス信号のパルスごとに前記温度センサによって検出された温度を順次記憶する第四処理を実行し、前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第一補正マップの第一入力値に当てはめるとともに、前記第四処理で記憶した温度のうち前記モータの電流遮断の検出直前の複数パルス分の温度の平均値又は一パルス分の温度を前記第一補正マップの第二入力値に当てはめることで、それらに対応する出力値を前記モータの電流遮断の検出時から前記モータの停止時までの停止時間として求め、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第二補正マップの第一入力値に当てはめるとともに、求めた前記停止時間を前記第二補正マップの第二入力値に当てはめることで、それらに対応する出力値を前記推定パルス数として求める。
【0011】
請求項4に係る発明によれば、請求項1又は2において、
前記モータ制御装置が、第一入力値及び第二入力値と出力値との関係を表した補正マッ
プを記憶した記憶部と、温度を検出する温度センサと、を更に備え、前記制御部が、前記パルス信号のパルスごとに前記温度センサによって検出された温度を順次記憶する第四処理を実行し、前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記補正マップの第一入力値に当てはめるとともに、前記第四処理で記憶した温度のうち前記モータの電流遮断の検出直前の複数パルス分の温度の平均値又は一パルス分の温度を前記補正マップの第二入力値に当てはめることで、それらに対応する出力値を前記推定パルス数として求める。
【0012】
請求項5に係る発明によれば、請求項2において、
前記モータ制御装置が、第一入力値及び第二入力値と出力値との関係を表した第一補正マップと、第一入力値及び第二入力値と出力値との関係を表した第二補正マップとを記憶した記憶部を更に備え、前記制御部が、前記パルス信号のパルスごとに前記電流検出部によって検出された電流を順次記憶する第四処理を実行し、前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第一補正マップの第一入力値に当てはめるとともに、前記第四処理で記憶した電流のうち前記モータの電流遮断の検出直前の複数パルス分の電流の平均値又は一パルス分の電流を前記第一補正マップの第二入力値に当てはめることで、それらに対応する出力値を前記モータの電流遮断の検出時から前記モータの停止時までの停止時間として求め、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第二補正マップの第一入力値に当てはめるとともに、求めた前記停止時間を前記第二補正マップの第一入力値に当てはめることで、それらに対応する出力値を前記推定パルス数として求める。
【0013】
請求項6に係る発明によれば、請求項2において
前記モータ制御装置が、第一入力値及び第二入力値と出力値との関係を表した補正マップを記憶した記憶部を更に備え、前記制御部が、前記パルス信号のパルスごとに前記電流検出部によって検出された電流を順次記憶する第四処理を実行し、前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記補正マップの第一入力値に当てはめるとともに、前記第四処理で記憶した電流のうち前記モータの電流遮断の検出直前の複数パルス分の電流の平均値又は一パルス分の電流を前記補正マップの第二入力値に当てはめることで、それらに対応する出力値を前記推定パルス数として求める。
【0014】
請求項7に係る発明によれば、請求項1又は2において、
前記モータ制御装置が、入力値と出力値との関係を表した第一補正マップと、第一入力値及び第二入力値と出力値との関係を表した第二補正マップとを記憶した記憶部を更に備え、前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第一補正マップの入力値に当てはめることで、それに対応する出力値を前記モータの電流遮断の検出時から前記モータの停止時までの停止時間として求め、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第二補正マップの第一入力値に当てはめるとともに、求めた前記停止時間を前記第二補正マップの第一入力値に当てはめることで、それらに対応する出力値を前記推定パルス数として求める。
【0015】
請求項8に係る発明によれば、請求項1又は2において、
前記モータ制御装置が、入力値と出力値との関係を表した補正マップを記憶した記憶部
を更に備え、前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記補正マップの入力値に当てはめることで、それに対応する出力値を前記推定パルス数として求める。
【0016】
請求項9に係る発明によれば、請求項1又は2において、
前記制御部が、前記パルス信号のパルス数を計数する第五処理と、前記第五処理で計数したパルス数と前記第四処理で算出した推定パルス数を加算する第六処理と、を実行する。
【0017】
請求項10に係る発明によれば、請求項1又は2において、
前記モータ制御装置が、所定の原点位置から前記モータの動作前の初期位置までの回転量をパルス数で表した初期位置データを記憶した記憶部を更に備え、前記制御部が、前記パルス信号のパルス数を計数する第五処理と、前記第五処理で計数したパルス数と前記第四処理で算出した推定パルス数との和を前記初期位置データから減算し、又は前記第五処理で計数したパルス数と前記第四処理で算出した推定パルス数との和を前記初期位置データに加算し、前記記憶部に記憶された前記初期位置データをその加算結果又は減算結果に更新する第六処理と、を実行する。
【発明の効果】
【0018】
請求項1、2に係る発明によれば、制御部が電圧検出部の検出電圧又は電流検出部の検出電流に基づいてモータの電流遮断を検出するから、モータの電流遮断時が正確に検出される。
制御部がモータの電流を遮断する処理を行った時から実際にモータの電流が遮断される時までに時間差があったものとしても、そのモータの電流遮断時が正確に検出される。
制御部がパルスごとのパルス周期を順次記憶するから、電圧検出部によって検出された電圧又は電流検出部によって検出された電流に基づいてモータの電流遮断を検出した後でも、制御部が電流遮断の検出直前のパルス周期に基づいて電流遮断の検出時からモータの停止時までの推定パルス数を算出することができる。
制御部がモータの電流遮断の検出直前の一パルス分又は複数パルス分のパルス周期に基づいてモータの電流遮断の検出時からモータの停止時までの推定パルス数を算出するから、モータが電流遮断後にしばらく回転しても、モータの停止時までのモータの回転量やモータの停止位置が正確に求められる。
【0019】
モータやモータによって駆動される可動部の摩擦係数等が温度の影響を受けるから、モータの電流遮断時からモータの停止時までのモータの回転量が温度に依存する。請求項3、4に係る発明によれば、制御部がモータの電流遮断の検出直前の温度を第一補正マップ又は補正マップの第二入力値に当てはめて推定パルス数を算出するから、算出された推定パルス数は温度を因子とする。そのため、算出された推定パルス数がより正確であり、モータの停止時までのモータの回転量やモータの停止位置が正確に求められる。
【0020】
モータに掛かる摩擦等が増加するにつれて、モータの電流遮断時からモータの停止時までの時間が減少するとともに、その間のモータの回転量も減少する。モータに掛かる摩擦等が増加するにつれて、モータの負荷が増加する。モータの負荷が増加するにつれて、モータの電流が増加する。請求項5、6に係る発明によれば、制御部がモータの電流遮断時の検出直前のモータの電流を第一補正マップ又は補正マップの第二入力値に当てはめて推定パルス数を算出するから、算出された推定パルス数はモータの負荷を因子とする。そのため、算出された推定パルス数がより正確であり、モータの停止時までのモータの回転量やモータの停止位置が正確に求められる。
【0021】
請求項7、8に係る発明によれば、制御部がモータの電流遮断の検出直前のパルス周期を第一補正マップ及び第二補正マップ又は補正マップの入力値に当てはめて、推定パルス数を算出するから、モータが電流遮断時からしばらく回転しても、モータの停止時までのモータの回転量やモータの停止位置が正確に求められる。
【0022】
請求項9に係る発明によれば、モータの起動時からモータの停止時までのパルス数やモータの回転量が正確に求められる。
【0023】
請求項10に係る発明によれば、モータの停止時におけるモータの回転位置が正確に求められる。
【図面の簡単な説明】
【0024】
【図1】本発明を適用した実施形態に係るモータ制御装置を示したブロック図である。
【図2】モータの電流信号の波形を示したタイミングチャートである。
【図3】モータの電流信号の波形を示したタイミングチャートである。
【図4】電流電圧変換器、ハイパスフィルタ、バンドパスフィルタ、フィルタと差動増幅器、増幅器及び波形整形部の入力信号及び出力信号の波形を示した図である。
【図5】フィルタの周波数特性を示したグラフである。
【図6】フィルタと差動増幅器を示した回路図である。
【図7】フィルタと差動増幅器の入力信号及び出力信号の波形を示したタイミングチャートである。
【図8】モータを起動させる処理の流れを示したフローチャートである。
【図9】モータの動作中にパルス信号のパルス数を計数する処理の流れを示したフローチャートである。
【図10】モータの動作中にパルス信号のパルス周期を計時する処理の流れを示したフローチャートである
【図11】モータの電流遮断後のパルス数を推定する処理の流れを示したフローチャートである。
【図12】モータの動作中に計数したパルス数やモータの停止位置を補正する処理の流れを示したフローチャートである。
【図13】車両用シートのシート本体を示した側面図である。
【図14】本発明を適用した実施形態の変形例に係るモータ制御装置を示したブロック図である。
【図15】フィルタの周波数特性を示したグラフである。
【図16】フィルタの周波数特性を示したグラフである。
【発明を実施するための形態】
【0025】
以下に、本発明を実施するための形態について図面を用いて説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい種々の限定が付されているが、本発明の範囲を以下の実施形態及び図示例に限定するものではない。
【0026】
図1は、モータ制御装置1のブロック図である。
モータ制御装置1は、モータ2、抽出回路3、制御部4、記憶部5、モータドライバ6、A/Dコンバータ7及びA/Dコンバータ8等を備える。
【0027】
モータ2は、直流モータである。電流がモータ2に流れると、モータ2が回転するとともに、モータ2が周期的なリプル(ripple)を電流に発生させる。モータ2の電流信号について図2及び図3を参照して説明する。図2は、モータ2が駆動される際にモータ2に流れる電流のレベルの変化を示したチャートである。図3は、図2に示されたA部におけ
る時間及び電流のスケールを大きくして示したチャートである。
【0028】
図2において、時刻T1はモータ2が起動したタイミングであり、時刻T2はモータ2が安定的に動作し始めるタイミングである。時刻T3は、モータ2によって駆動される可動部がストッパ等に当接して、モータ2の動力を可動部に伝える伝動機構が拘束され始めるタイミングである。時刻T4は、モータ2が停止するタイミングである。
図2及び図3に示すように、モータ2の電流信号は直流成分、リプル成分及び一又は複数の周波成分(交流成分)を含み、周波成分及びリプル成分が直流成分に重畳している。モータ2の電流信号のうち、電流のレベルが急激に変化した高周波成分はノイズである(例えば、符号n参照)。なお、図3は、高周波ノイズ成分がないものとして図示されている。
【0029】
時刻T1から時刻T2までの期間P1では、リプル成分r1と、リプル成分r1よりも周波数が低い低周波成分とが直流成分に重畳している。期間P1のうちモータ2の起動直後では、慣性力の影響により低周波成分の電流レベルが大きく、その後、低周波成分の電流レベルが時間の経過に伴って緩やかに減少する。また、モータ2の起動直後では、低周波成分よりも周波数が高いリプル成分r1の振幅が大きく、その後、リプル成分r1の周波数が時間の経過に伴って漸増するとともに、リプル成分r1の振幅が時間の経過に伴って漸減する。
時刻T2から時刻T3までの期間P2では、リプル成分r2と、リプル成分r2よりも周波数が低い低周波成分とが直流成分に重畳し、直流成分がほぼ一定で安定し、低周波成分の周波数及び振幅が安定し、リプル成分r2の周波数及び振幅が安定している。リプル成分r2の周波数が低周波成分の周波数よりも高くなるのは、モータ2に内蔵された複数のコイルが巻き線抵抗に差を有するためである。
時刻T3から時刻T4までの期間P3では、モータの電流信号のうち低周波成分の周波数が低くなり、低周波成分の電流レベルが時間の経過とともに漸増する。期間P3では、モータの電流信号のうちリプル成分r3の周波数が時間の経過に伴って漸減し、リプル成分r3の振幅が時間の経過に伴って漸増する。
【0030】
モータ2の電流信号のうち低周波成分及びリプル成分の周波数及び振幅は、様々な環境(例えば、モータ2に対する負荷、環境温度、モータ2の電源電圧等)の影響を受ける。そのため、環境が変化すれば、低周波成分及びリプル成分の周波数及び振幅が変化する。
【0031】
抽出回路3は、以上のようなモータ2の電流信号からリプル成分を抽出して、リプル成分をパルス化し、リプル成分がパルス化されてなるパルス信号を制御部4に出力する。抽出回路3及び抽出回路3を用いたリプル抽出方法について具体的に説明する。
【0032】
図1に示すように、抽出回路3は、電流電圧変換器10、ハイパスフィルタ(High-pass Filter)20、バンドパスフィルタ(Band-pass Filter)30、フィルタ40、差動増幅器50、増幅器60及び波形整形部70を備える。図4は、電流電圧変換器10、ハイパスフィルタ20、バンドパスフィルタ30、フィルタ40と差動増幅器50、増幅器60及び波形整形部70の入力信号及び出力信号を説明するための図である。図4において、電流電圧変換器10、ハイパスフィルタ20及びバンドパスフィルタ30の入力信号と出力信号が示されている期間は、図2における時刻T1から期間P2の初期にかけてである。フィルタ40と差動増幅器50、増幅器60及び波形整形部70の入力信号及び出力信号が示されている期間は、図2における期間P2の一部である。
【0033】
電流電圧変換器10は、モータ2の電流信号を入力する。電流電圧変換器10は、入力したモータ2の電流信号を電圧信号に変換する。具体的には、電流電圧変換器10が抵抗器11を有し、抵抗器11がグランドとモータ2の間に接続され、モータ2の電流信号が
抵抗器11とモータ2の間における電圧信号に変換される。電流電圧変換器10は、変換した電圧信号をハイパスフィルタ20及びバンドパスフィルタ30を介してフィルタ40及び差動増幅器50に出力する。なお、電流電圧変換器10は、オペアンプを用いたもの(例えば、負帰還型電流電圧変換器)でもよい。
【0034】
ハイパスフィルタ20は、電流電圧変換器10によって変換された電圧信号(電流電圧変換器10の出力信号)を入力する。ハイパスフィルタ20は、電流電圧変換器10によって変換された電圧信号(電流電圧変換器10の出力信号)のうち高周波成分を通過させ、低周波成分を減衰させる。つまり、ハイパスフィルタ20は、電流電圧変換器10によって変換された電圧信号のうち直流成分を除去する。ハイパスフィルタ20は、バンドパスフィルタ30を介して、低周波成分が減衰した信号をフィルタ40及び差動増幅器50に出力する。
ハイパスフィルタ20は、オペアンプを用いたもの(例えば、負帰還型ハイパスフィルタ、正帰還型ハイパスフィルタ)又は抵抗器・キャパシタを用いたもの(例えば、CRハイパスフィルタ)である。
【0035】
バンドパスフィルタ30は、電流電圧変換器10によって変換された電圧信号をハイパスフィルタ20を介して入力する。バンドパスフィルタ30は、電流電圧変換器10によって変換された電圧信号(ハイパスフィルタ20の出力信号)のうち所定周波数帯域の成分を通過させ、その所定周波数帯域外の成分を減衰させる。つまり、バンドパスフィルタ30は、電流電圧変換器10によって変換された電圧信号(ハイパスフィルタ20の出力信号)のうち高周波ノイズ成分を除去するとともに、ハイパスフィルタ20によって除去しきれなかった低周波成分を除去する。バンドパスフィルタ30は、所定周波数帯域外の成分を減衰させた信号をフィルタ40及び差動増幅器50に出力する。
バンドパスフィルタ30は、オペアンプを用いたもの(例えば、多重負帰還型バンドパスフィルタ、多重正帰還型バンドパスフィルタ)又は抵抗器・キャパシタを用いたものである。
なお、バンドパスフィルタ30がハイパスフィルタ20の後段に設けられているが、バンドパスフィルタ30が電流電圧変換器10の後段であってハイパスフィルタ20の前段に設けられてもよい。
【0036】
フィルタ40は、電流電圧変換器10によって変換された電圧信号をハイパスフィルタ20及びバンドパスフィルタ30を介して入力し、その信号を濾波する。フィルタ40は、濾波した信号を差動増幅器50に出力する。
【0037】
図5は、フィルタ40の周波数特性を示したグラフである。
図5に示すように、フィルタ40は、バンドパスフィルタである。フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)のうち、低カットオフ周波数fc1から高カットオフ周波数fc2までの間の中間周波数帯域の成分を通過させる。低カットオフ周波数fc1はフィルタ40のハイパスフィルタ部のカットオフ周波数であり、高カットオフ周波数fc2はフィルタ40のローパスフィルタ部のカットオフ周波数であり、低カットオフ周波数fc1<高カットオフ周波数fc2である。なお、カットオフ周波数とは、出力電力が入力電力の1/2となる周波数を指す。つまり、ゲインGが−3dbとなる周波数がカットオフ周波数である。
また、フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)のうち、低カットオフ周波数fc1を下回る低周波域の成分を減衰させる。具体的には、低カットオフ周波数fc1を下回る低周波域において、フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)に含まれる成分の周波数が低いほど減衰率がより高くなるように、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)の低周波域
成分を減衰させる。
また、フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)のうち、高カットオフ周波数fc2を超える高周波域の成分を減衰させる。具体的には、高カットオフ周波数fc2を超える高周波域において、フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)に含まれる成分の周波数が低いほど減衰率がより低くなるように、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)の高周波域成分を減衰させる。
【0038】
図2及び図3に示したように、モータ2の電流信号は、リプル成分と、そのリプル成分よりも周波数が低い低周波成分とを重畳したものである。リプル成分の周波数は実験・測定等によって予め調べられ、フィルタ40の回路設計において、温度変化によるリプル成分の周波数の変動も考慮しつつ、フィルタ40の高カットオフ周波数fc2がリプル成分の周波数(例えば、常温時の周波数)よりも低く設定されている。従って、フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)のうちリプル成分を低周波成分(低周波成分はリプル成分よりも周波数が低い。)よりも高い減衰率で減衰させる。つまり、フィルタ40は、リプル成分を低周波成分よりも効率的に除去する。従って、フィルタ40は、リプル成分を除去した信号を差動増幅器50に出力する。
【0039】
差動増幅器50は、電流電圧変換器10によって変換された電圧信号をハイパスフィルタ20及びバンドパスフィルタ30を介して入力するとともに、フィルタ40の出力信号を入力する。差動増幅器50は、入力したフィルタ40の出力信号と、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)の差分を取って、その差分を増幅する。差動増幅器50は、その差分を表す差分信号を増幅器60に出力する。
【0040】
図6は、フィルタ40と差動増幅器50の一例を示した回路図である。図7(a)は図6に示されたA部における電圧信号の波形を示したタイミングチャートであり、図7(b)は図6に示されたB部における電圧信号の波形を示したタイミングチャートであり、図7(c)は図6に示されたC部における電圧信号の波形を示したタイミングチャートである。
【0041】
図6に示すように、フィルタ40は、ハイパスフィルタ41、ローパスフィルタ42及びハイパスフィルタ43を有する。バンドパスフィルタ30の出力がハイパスフィルタ41の入力に接続され、ハイパスフィルタ41の出力がローパスフィルタ42の入力に接続され、ローパスフィルタ42の出力がハイパスフィルタ43の出力に接続される。
【0042】
ハイパスフィルタ41は、二次のCRハイパスフィルタである。つまり、ハイパスフィルタ41は、キャパシタ41a、抵抗器41b、キャパシタ41c及び抵抗器41dを有する。なお、ハイパスフィルタ41が一つのキャパシタ及び抵抗器からなる一次のCRハイパスフィルタであってもよい。また、ハイパスフィルタ41が三次以上のCRハイパスフィルタでもよい。
ローパスフィルタ42は、二次のRCローパスフィルタである。つまり、ローパスフィルタ42は、抵抗器42a、キャパシタ42b、抵抗器42c及びキャパシタ42dを有する。なお、ローパスフィルタ42が一つの抵抗器及びキャパシタからなる一次のRCローパスフィルタであってもよい。また、ローパスフィルタ42が三次以上のRCローパスフィルタでもよい。
ハイパスフィルタ43は、キャパシタ43aからなる。
【0043】
差動増幅器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を省略してもよい。
【0044】
差動増幅器50によって出力された差分信号は、電流電圧変換器10によって変換された電圧信号のうちリプル成分である。差動増幅器50によって出力された差分信号が、バンドパスフィルタ30の出力信号とフィルタ40の出力信号との差分を表すからこそ、モータ2の電流信号の各成分の周波数が環境変化によって変化しても、モータ2の電流信号に含まれるリプルを高精度に検出することができる。
【0045】
図1、図6に示すように、増幅器60は、差動増幅器50によって出力された差分信号(オペアンプ53の出力信号)を入力する。増幅器60は、差動増幅器50によって出力された差分信号を増幅して、それを波形整形部70に出力する。増幅器60は、例えば負帰還型増幅器である。
【0046】
波形整形部70は、差動増幅器50によって出力された差分信号(オペアンプ53の出力信号)を増幅器60を介して入力する。波形整形部70は、差動増幅器50によって出力された差分信号(増幅器60の出力信号)の波形を矩形波に整形する。具体的には、波形整形部70がコンパレータを有し、該コンパレータが、差動増幅器50によって出力された差分信号(増幅器60の出力信号)を基準電圧と比較することによって、差動増幅器50によって出力された差分信号(増幅器60の出力信号)をパルス信号に変換する。波形整形部70は、矩形波に整形されたパルス信号を制御部4に出力する。制御部4は、波形整形部70によって出力されたパルス信号を入力する。
【0047】
モータドライバ6は、制御部4からの指令に従ってモータ2を駆動する。つまり、モータドライバ6は、制御部4から起動指令及び回転向き指令を受けたら、モータ2をその回転向きに起動させる。モータドライバ6は、制御部4から受けた設定速度指令に従ってその設定速度でモータ2を駆動する。モータドライバ6は、制御部4から停止指令を受けたら、モータ2を停止する。
【0048】
A/Dコンバータ7は、電圧検出部である。つまり、A/Dコンバータ7は、モータ2の電源電圧を検出して、その電圧信号をデジタル信号に変換して、デジタル化した電圧データを制御部4に出力する。制御部4は、A/Dコンバータ7によって出力される電圧データを入力する。
【0049】
A/Dコンバータ8は、電流検出部である。つまり、A/Dコンバータ8は、モータ2の電流値を検出して、その電流信号をデジタル信号に変換して、デジタル化した電流データを制御部4に出力する。ここで、電流電圧変換器10の出力信号がモータ2の電流を表すので、A/Dコンバータ8は電流電圧変換器10の出力信号をデジタル信号に変換して、それを制御部4に出力する。制御部4は、A/Dコンバータ8によって出力される電流データを入力する。
【0050】
制御部4は、CPU4a及びRAM4b等を有するコンピュータである。CPU4aは、数値計算、情報処理、機器制御等の各種処理を行う。RAM4bは、一時記憶領域としての作業領域をCPU4aに提供する。
【0051】
記憶部5は、制御部4に接続されている。記憶部5は、不揮発性メモリ、ハードディスクといった読み書き可能な記憶媒体である。記憶部5は、一つの記憶媒体からなるものでもよいし、複数の記憶媒体を組み合わせたものでもよい。記憶部5が複数の記憶媒体を組み合わせたものである場合、何れかの記憶媒体がROMであってもよい。
【0052】
記憶部5には、初期位置データ5Aが格納されている。初期位置データ5Aは、モータ2が動作する前のモータ2の初期の回転位置や、モータ2によって駆動される可動部の初期位置を示す。具体的には、初期位置データ5Aは、モータ2が所定の原点位置から初期の回転位置まで回転した場合のパルス信号のパルス数である。そのパルス数に所定の定数を乗じて得られた値は、モータ2が所定の原点位置から初期の回転位置まで回転した場合の回転量であって、モータ2が動作する前のモータ2の初期の回転位置を示す。初期位置データ5Aは、予め設定されたデフォルト値であるか、又は以前にモータ2が動作した際に書き込まれた値である。仮にモータ2の初期の回転位置が原点位置であれば、初期位置データ5Aはゼロである。
【0053】
記憶部5には、制御部4にとって読み取り可能なプログラム5Zが格納されている。制御部4は、プログラム5Zを読み込んでそのプログラム5Zに従った処理を行ったり、そのプログラム5Zによって各種機能を実現したりする。なお、記憶部5が複数の記憶媒体を組み合わせたものである場合、プログラム5Zが記憶部5のROMに格納されていてもよい。
【0054】
記憶部5には、入力値と出力値との関係を表した補正マップ5B及び補正マップ5Cが格納されている。
【0055】
補正マップ5B及び補正マップ5Cは、補正ルックアップテーブル又は補正関数である。補正ルックアップテーブルは、入力値のデータ列と出力値のデータ列を対応づけたデータテーブルである。補正関数は、入力値と出力値の関係を数式で表したものである。
【0056】
補正マップ5Bは、入力値の数が単数となる単入力補正マップ(単入力ルックアップテーブル又は単入力関数)である。補正マップ5Cは、入力値の数が2である複入力補正マップ(複入力ルックアップテーブル又は複入力関数)である。
【0057】
補正マップ5Bの入力値には、モータ2の電流遮断の検出直前に抽出回路3によって出力されたパルス信号のパルス周期が当てはめられる。なお、抽出回路3によって出力されたパルス信号のパルス周期の逆数に所定の定数を乗じて得られる値がモータ2に回転速度に相当するとともに、モータ2によって駆動される可動部の速度に相当する。そのため、パルス信号のパルス周期を補正マップ5Bの入力値に当てはめることは、モータ2の回転速度又は可動部の速度を補正マップ5Bの入力値に当てはめることに相当する。
【0058】
補正マップ5Bの出力値は、モータ2の電流遮断の検出時からモータ2の停止時までの停止時間である。補正マップ5Bが関数である場合、補正マップ5Bの出力値はモータ2の摩擦係数、慣性モーメント、可動部の摩擦等を定数とした入力値の関数である。補正マップ5Bがルックアップテーブルである場合、補正マップ5Bは、その関数の入力値に当てはめられたデータ列と、その当てはめによって求められた出力値のデータ列とを対応づけたデータテーブルである。補正マップ5Bの入力値に当てはめられるパルス周期が減少
する(モータ2の回転速度や可動部の移動速度が増加する)につれて、その当てはめによって求められる出力値としての停止時間が増加する。
【0059】
補正マップ5Cの第一の入力値には、モータ2の電流遮断の検出直前に抽出回路3によって出力されたパルス信号のパルス周期が当てはめられる。
【0060】
補正マップ5Cの第二の入力値には、モータ2の電流遮時からモータ2の停止時までの停止時間が当てはめられる。つまり、補正マップ5Bの出力値が補正マップ5Cの第二の入力値に当てはめられる。
【0061】
補正マップ5Cの出力値は、モータ2の電流遮断の検出時からモータ2の停止時までの間に仮にモータ2に電流が流れていたとしたら、その間に抽出回路3が出力したパルス信号の推定パルス数である。その推定パルス数に所定の定数を乗じて得られた値がモータ2の回転量に相当するので、補正マップ5Cの出力値は、モータ2の電流遮断の検出時からモータ2の停止時までの間のモータ2の回転量でもある。また、その推定パルス数に所定の定数を乗じて得られた値が可動部の移動量に相当するので、補正マップ5Cの出力値は、モータ2の電流遮断の検出時からモータ2の停止時までの間の可動部の移動量でもある。
【0062】
補正マップ5Cの第一入力値に当てはめられるパルス周期が減少する(モータ2の回転速度や可動部の移動速度が増加する)につれて、その当てはめによって求められる出力値としての推定パルス数(モータ2の回転量や可動部の移動量)が増加する。補正マップ5Cの第二入力値に当てはめられる停止時間が増加するにつれて、その当てはめによって求められる出力値としての推定パルス数(モータ2の回転量や可動部の移動量)が増加する。
【0063】
二つの補正マップ5B,5Cが記憶部5に格納される代わりに、入力値と出力値との関係を表した補正マップ5Dが記憶部5に格納されていてもよい。補正マップ5Dは、入力値の数が単数となる単入力補正マップ(単入力ルックアップテーブル又は単入力関数)である。補正マップ5Dの入力値には、モータ2の電流遮断の検出直前に抽出回路3によって出力されたパルス信号のパルス周期が当てはめられる。補正マップ5Dの出力値は、モータ2の電流遮断の検出時からモータ2の停止時までの間に仮にモータ2に電流が流れていたとしたら、その間に抽出回路3が出力したパルス信号の推定パルス数である。補正マップ5Dの入力値に当てはめられるパルス周期が減少する(モータ2の回転速度や可動部の移動速度が増加する)につれて、その当てはめによって求められる出力値としての推定パルス数(モータ2の回転量や可動部の移動量)が増加する。
【0064】
補正マップ5B,5C,5Dは予め実験やシミュレーション等によって求められたものである。
【0065】
制御部4は、プログラム5Zによって次に述べるような手段として機能する。
【0066】
制御部4は、回転向きに関する指令及び起動指令をモータドライバ6に出して、モータ2を起動させる起動手段として機能する。
制御部4は、波形整形部70の出力信号のパルス数を計数する計数手段として機能する。計数手段によって計数されたパルス数に所定の定数を乗じて得られる値が、モータ2の回転量に相当する。そのため、計数手段は、モータ2の回転量を算出する回転量算出手段に相当する。また、計数手段によって計数されたパルス数に所定の定数を乗じて得られる値が、モータ2によって駆動される可動部の移動量にも相当する。そのため、計数手段は、可動部の移動量を算出する移動量算出手段に相当する。
制御部4は、波形整形部70の出力信号のパルス周期(パルスの立ち上がりから次のパルスの立ち上がりまでの時間)をパルスごとに計時する計時手段として機能する。制御部4によって計時されたパルス周期の逆数に所定の定数を乗じて得られる値が、モータ2の回転速度に相当するとともに、モータ2によって駆動される可動部の速度に相当する。そのため、計時手段は、モータ2の回転速度やモータ2によって駆動される可動部の移動速度を算出する速度算出手段でもある。
制御部4は、計時手段によって計時されたパルスごとのパルス周期をRAM又は記憶部5に順次記憶していく蓄積手段として機能する。なお、RAM又は記憶部5に蓄積するパルス周期のデータ数が限られている場合、制御部4は、パルス周期のデータをRAM又は記憶部5に記録する際に、最も古いパルス周期のデータをRAM又は記憶部5から削除する。
制御部4は、A/Dコンバータ7から入力した電圧データを監視する第一モニタ手段として機能する。
制御部4は、A/Dコンバータ8から入力した電流データを監視する第二モニタ手段として機能する。
制御部4は、停止指令をモータドライバ6に出して、モータ2を停止させる停止手段として機能する。
制御部4は、第一モニタ手段の監視中においてA/Dコンバータ7から入力した電圧データが所定の閾値を下回った場合にモータ2の電流の遮断を検出する第一電流遮断検出手段として機能する。
制御部4は、第二モニタ手段の監視中においてA/Dコンバータ8から入力した電流データが所定の閾値を下回った場合にモータ2の電流の遮断を検出する第二電流遮断検出手段として機能する。
制御部4は、蓄積手段によって順次記憶されたパルス周期のうち第一電流遮断検出手段と第二電流遮断検出手段のうち一方又は両方によってモータ2の電流遮断が検出された直前の一パルス分のパルス周期T_before又は複数パルス分のパルス周期T_beforeの平均値から、モータ2の電流遮断の検出時からモータ2の停止時までのモータ2の回転量に相当する推定パルス数を算出するパルス数算出手段として機能する。パルス数算出手段によって算出された推定パルス数に所定の定数を乗じて得られる値が、モータ2の電流遮断の検出時からモータ2の停止時までのモータ2の推定回転量に相当する。そのため、パルス数算出手段は、モータ2の電流遮断の検出時からモータ2の停止時までのモータ2の推定回転量を算出する推定回転量算出手段でもある。また、パルス数算出手段によって算出された推定パルス数に所定の定数を乗じて得られる値が、モータ2の電流遮断の検出時からモータ2の停止時までの可動部の推定移動量にも相当する。そのため、パルス数算出手段は、モータ2の電流遮断の検出時からモータ2の停止時までの可動部の推定移動量を算出する推定移動量算出手段でもある。
制御部4は、計数手段によって計数されたパルス数にパルス数算出手段によって算出された推定パルス数を加算するパルス数補正手段として機能する。なお、パルス数補正手段は、回転量算出手段によって算出されたモータ2の回転量に推定回転量算出手段によって算出されたモータ2の推定回転量を加算する回転量補正手段に相当する。また、パルス数補正手段は、移動量算出手段によって算出された可動部の移動量に推定移動量算出手段によって算出された可動部の推定移動量を加算する移動量補正手段に相当する。
制御部4は、記憶部5に記憶された初期位置データ5Aからパルス数補正手段によって求められた和を減算し、又は記憶部5に記憶された初期位置データ5Aにパルス数補正手段によって求められた和を加算する補正手段として機能する。この補正手段は、モータ2の回転位置を補正する回転位置補正手段に相当するとともに、可動部の位置を補正する位置補正手段に相当する。
制御部4は、記憶部5に記憶された初期位置データ5Aを補正手段によって求められた差又は和に更新する更新手段として機能する。
【0067】
プログラム5Zに基づく制御部4の処理の流れについて説明するとともに、制御部4の処理に伴うモータ制御装置1の動作について説明する。
【0068】
所定の条件が満たされると、制御部4がモータ2の起動処理(図8参照)を実行する。所定の条件が満たされるとは、例えば、ユーザが起動スイッチをオンにすること、起動センサがオンになること、制御部4によって実行されている処理(例えば、シーケンス処理)で所定の条件が満たされること等である。
【0069】
まず、制御部4は、モータ2の回転の向き(正回転か逆回転)を決定し、その回転の向きをRAM又は記憶部5に書き込む(ステップS11)。
【0070】
次に、制御部4は、ステップS11で決定した向きにモータ2を起動させる(ステップS12)。つまり、制御部4は、ステップS11で決定した向きに従った回転向き指令をモータドライバ6に出力するとともに、起動指令をそのモータドライバ6に出力する。回転向き指令及び起動指令を受けたモータドライバ6がモータ2に通電して、モータ2をその回転向きに駆動する。これにより、モータ2が回転し、モータ2によって可動部が駆動される。以上により、モータ2の起動処理が終了する。
【0071】
モータ2の動作中は、抽出回路3がモータ2の電流信号からリプル成分を抽出(検出)して、リプル成分をパルス化する。そして、抽出回路3は、リプル成分がパルス化されてなるパルス信号を制御部4に出力する。
【0072】
モータ2が起動すると、制御部4は、抽出回路3から入力したパルス信号に基づいて、パルス信号のパルス数の計数、モータ2の回転量の算出及びモータ2の回転位置の算出を行う。より具体的には、制御部4が図9に示す処理を実行することによってパルス信号のパルス数の計数、モータ2の回転量の算出及びモータ2の回転位置の算出を行う。
【0073】
図9に示す処理について具体的に説明する。
制御部4は、A/Dコンバータ7から入力した電圧データを監視して、電圧データを所定の閾値と比較する(ステップS21)。上述のように制御部4がモータ2を起動させると(ステップS13)、モータ2に電流が通電するから、制御部4は電圧データが所定の閾値を上回ったと判定して、モータ2の通電・起動を検出する(ステップS21:Yes)。そして、制御部4が記憶部5から初期位置データ5Aを読み込んで、制御部4の処理がステップS22に移行する。なお、制御部4がA/Dコンバータ8から入力した電流データを監視して、制御部4が電流データを所定の閾値と比較してもよい(ステップS21)。この場合、モータ2に電流が通電した場合、制御部4は電流データが所定の閾値を上回ったと判定して、モータ2の通電・起動を検出する(ステップS21:Yes)。
【0074】
電流がモータ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で減算を行う。勿論、回転の向きと演算の関係が逆であってもよい。
【0075】
ステップS24において更新された計数値Nが、制御部4によって計数されたパルス数である。制御部4によって計数されたパルス数(計数値N)に所定の定数を乗じて得られる値がモータ2の回転量や可動部の移動量に相当するから、制御部4がパルス数(計数値N)を計数する処理(ステップS21〜ステップS26)は、制御部4がモータ2の回転量や可動部の移動量を算出する処理に相当する。また、ステップS25において求められた差や和が、モータ2の回転位置(原点位置からその回転位置までのモータ2の回転量)を示すとともに、可動部の位置(原点位置からその位置までの可動部の移動量)を示す。
【0076】
制御部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の処理を再度行う。
【0077】
制御部4が図9に示す処理を実行している時に所定の条件が満たされると、制御部4がモータドライバ6に停止指令を出力する。そうすると、停止指令を受けたモータドライバ6がモータ2の通電を遮断し、モータ2が停止する。所定の条件とは、例えば、ユーザが停止スイッチをオンにすること、制御部4によって実行された処理(例えば、シーケンス処理)で所定の条件が満たされること、上述のステップS25において求めた差又は和が所定の値になることである。
【0078】
制御部4がモータドライバ6に停止指令を出力すると、モータ2の電流がモータドライバ6によって遮断されるので、制御部4はA/Dコンバータ7から入力した電圧データが所定の閾値を下回ったと判定して(ステップS26:Yes)、制御部4は図9に示す処理を終了する。なお、制御部4がA/Dコンバータ8から入力した電流データを所定の閾値と比較する場合(ステップS26)、モータ2の電流が遮断されたら、制御部4は電流データが所定の閾値を下回ったと判定して(ステップS26:Yes)、制御部4は図9に示す処理を終了する。
【0079】
制御部4は、図9に示す処理の終了後、図9に示すステップS23〜ステップS26の処理を繰り返している際に最後のステップS25において求めた差又は和をRAMに一時記憶する。また、制御部4は、図9に示す処理の終了後、計数値NをRAMに一時記憶する。
【0080】
ところで、モータ2の電流が遮断された時すぐにモータ2が停止するのではなく、その後もモータ2が慣性力によって回転し続ける。モータ2の電流が遮断された時からモータ2が停止する時までの間、リプルがモータ2の電流信号に発生しない。そのため、モータ2の電流が遮断された時からモータ2が停止する時までの間、パルス数、モータ2の回転量及び可動部の移動量が制御部4によって算出されない。そこで、制御部4は、次のような処理(図10〜図12参照)を行うことによって、モータ2の電流が遮断された時からモータ2が停止する時までの期間のパルス数、モータ2の回転量及び可動部の移動量を補完する。
【0081】
モータ2の動作中において、制御部4は、パルス信号のパルス周期を算出する。具体的
には、制御部4が、図10に示すような処理を実行することによってパルスの立ち上がりから次のパルスの立ち上がりまでのパルス周期をパルスごとに順次算出し、算出したパルス周期をRAMや記憶部5に順次記憶する。
【0082】
まず、制御部4は、計時時間をゼロにリセットする(ステップS31)。次に、制御部4は、計時を開始するとともに、抽出回路3の出力パルス信号のパルスが立ち上がるまで計時を継続する(ステップS32、ステップS33:No)。そして、制御部4が抽出回路3の出力パルス信号のパルスの立ち上がりを検出したら(ステップS33:Yes)、制御部4が計時を終了するとともに(ステップS34)、計時時間をRAM若しくは記憶部5又はこれらの両方に記憶する(ステップS35)。そして、制御部4は計時時間を再びゼロにリセットする(ステップS31)。制御部4が以上のステップS31〜ステップS35の処理を繰り返すことによって、計時時間がRAM若しくは記憶部5又はこれらの両方に順次記憶される。RAM若しくは記憶部5又はこれらの両方に書き込まれた計時時間は、抽出回路3の出力パルス信号のパルス周期である。パルス周期の逆数が、モータ2の回転速度に示すとともに、モータ2によって駆動される可動部の速度を示す。従って、制御部4がパルスごとにパルス周期を計時する処理(ステップS31〜ステップS35)は、パルスごとにモータ2の回転速度や可動部の速度を求める処理に相当する。
【0083】
制御部4がモータドライバ6に停止指令を出力したら、制御部4が図11に示すような処理を実行する。まず、制御部4は、A/Dコンバータ7から入力した電圧データを監視して、電圧データを所定の閾値と比較する(ステップS41)。上述のように制御部4がモータドライバ6に停止指令を出力すると、モータ2の電流が遮断するから、制御部4は電圧データが所定の閾値を下回ったと判定して、モータ2の電流遮断を検出する(ステップS41:Yes)。なお、ステップS41では、制御部4がA/Dコンバータ8から入力した電流データを所定の閾値と比較してもよい(ステップS41)。この場合、モータ2の電流が遮断されたら、制御部4は電流データが所定の閾値を↓回ったと判定して(ステップS41:Yes)、モータ2の電流遮断を検出する。
【0084】
次に、制御部4は、記憶部5又はRAMに記憶されたパルスごとのパルス周期(図10参照)のうち、モータ2の電流の遮断を検出する直前(ステップS41:Yes,ステップS26:Yesの直前)の一パルス分又は複数パルス分のパルス周期T_beforeを読み込む(ステップS42)。パルス周期T_beforeの逆数に所定の定数を乗じて得られる値は、モータ2の電流遮断の検出直前のモータ2の回転速度に相当するとともに、モータ2の電流遮断の検出直前の可動部の速度に相当する。従って、制御部4がパルス周期T_beforeを読み込む処理(ステップS42)は、制御部4がモータ2の遮電直線のモータ2の回転速度や可動部の速度を読み込む処理に相当する。なお、制御部4が複数パルス分のパルス周期T_beforeを読み込んだ場合には、制御部4が複数パルス分のパルス周期T_beforeの平均値を算出する。
【0085】
次に、制御部4は、複数パルス分のパルス周期T_beforeの平均値又は一パルス分のパルス周期T_beforeから、モータ2の電流遮断の検出時からモータ2の停止時までの停止時間T_stopを算出する(ステップS43)。具体的には、制御部4は、複数パルス分のパルス周期T_beforeの平均値又は一パルス分のパルス周期T_beforeを補正マップ5Bの入力値に当てはめることによって、それに対応する出力値を停止時間T_stopとして求める(ステップS43)。
【0086】
次に、制御部4は、複数パルス分のパルス周期T_beforeの平均値又は一パルス分のパルス周期T_before及び停止時間T_stopから、モータ2の電流遮断の検出時からモータ2の停止時までの推定パルス数nを算出する(ステップS44)。具体的には、制御部4は、複数パルス分のパルス周期T_beforeの平均値又は一パルス分のパルス周期T_beforeを
補正マップ5Cの第一入力値に当てはめるとともに、ステップS43で算出した停止時間T_stopを補正マップ5Cの第二入力値に当てはめることによって、それらに対応する出力値を推定パルス数nとして求める(ステップS44)。推定パルス数nは、モータ2の電流遮断の検出時からモータ2の停止時までのモータ2の回転量に相当するパルス数である。そのため、制御部4が推定パルス数nを算出する処理(ステップS44)は、制御部4がモータ2の推定回転量や可動部の推定移動量を算出する処理に相当する。なお、制御部4は、補正マップ5B,5Cを用いずに、複数パルス分のパルス周期T_beforeの平均値又は一パルス分のパルス周期T_beforeを補正マップ5Dの入力値に当てはめることによって、それに対応する出力値を推定パルス数nとして求めてもよい。
【0087】
制御部4は、推定パルス数nの算出後、図11に示す処理を終了する。
【0088】
制御部4は、図11に示す処理において推定パルス数nを求めたら、図11に示す処理で求めた推定パルス数nに基づき、図9に示すステップS23〜ステップS26の処理を繰り返している際に最後のステップS25において求めた差又は和を補正することで、モータ2の回転位置(停止位置)や可動部の位置(停止位置)を補正する。具体的には、制御部4が図12に示すような処理を実行する。つまり、制御部4は、最後のステップS25において求めた差から推定パルス数nを減算するか、又は最後のステップS25において求めた和に推定パルス数nを加算する(ステップS51)。この際、制御部4は、ステップS51の演算をステップS11で決定した向きに従って決定する。例えば、ステップS11で決定した回転の向きが正回転である場合には、制御部4がステップS51で推定パルス数nの加算を行い、ステップS11で決定した回転の向きが逆回転である場合には、制御部4がステップS51で推定パルス数nの減算を行う。勿論、回転の向きと加算・減算の関係が逆であってもよい。
次に、制御部4は、そのような減算又は加算によって求めた値を記憶部5に書き込む(ステップS52)。具体的には、制御部4は、記憶部5に記憶された初期位置データ5AをステップS51で求めた値に書き換える。そして、制御部4は、図12に示す処理を終了する。
【0089】
なお、制御部4は、最後のステップS24において求めたパルス数(計数値N)に推定パルス数nを加算することで、モータ2の回転量や可動部の移動量を補正してもよい。その場合、図12に示すステップS51の処理では、制御部4は、計数値Nと推定パルス数nの和を記憶部5の初期位置データ5Aに加算するか、又は計数値Nとパルス数nの和を記憶部5の初期位置データ5Aから減算する。この際、制御部4は、ステップS51の演算をステップS11で決定した向きに従って決定する。例えば、ステップS11で決定した回転の向きが正回転である場合には、制御部4がステップS51で加算を行い、ステップS11で決定した回転の向きが逆回転である場合には、制御部4がステップS51で減算を行う。勿論、回転の向きと加算・減算の関係が逆であってもよい。
【0090】
以上に述べたことがモータ制御装置1の動作の説明である。図1に示されたモータ制御装置1は、例えば車両用シート装置に用いられる。その車両用シート装置は、図1に示されたモータ制御装置1と、図13に示されたシート本体90とを備え、シート本体90の可動部がモータ2によって駆動される。
【0091】
シート本体90の可動部の数とモータ2の数が同数であることが好ましく、モータ2の数が複数である場合、モータドライバ6及び抽出回路3がモータ2ごとに設けられ、制御部4及び記憶部5が全てのモータ2に共通している。なお、モータ2の数が複数である場合、モータドライバ6及び抽出回路3の数がそれぞれ1であってもよい。その場合、リレー回路が設けられ、リレー回路が制御部4からの指令に従って複数のモータ2のうちの何れか一つを選択する。そして、そのリレー回路が選択したモータ2を抽出回路3及びモー
タドライバ6に接続するとともに、他を抽出回路3及びモータドライバ6から遮断する。
【0092】
シート本体90について具体的に説明する。シート本体90はレール91、シートボトム92、バックレスト93、ヘッドレスト94、アームレスト95及びレッグレスト96等を備える。
【0093】
シートボトム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を跳ね上げ状態から垂下状態に又はその逆に駆動する。
【0094】
本発明の実施の形態は、以下のような効果を奏する。
(1) 制御部4がA/Dコンバータ7によって検出された電圧データ又はA/Dコンバータ8によって検出された電流データに基づいてモータ2の電流遮断を検出するから(ステップS41:Yes)、モータ2の電流遮断時が正確に検出される。また、制御部4がモータ2の電流を遮断する処理を行った時から実際にモータ2の電流が遮断される時までに遅れが生じても、そのモータ2の電流遮断時が正確に検出される。
(2) 制御部4がパルスごとのパルス周期を順次記憶するから(ステップS35)、モータ2の電流遮断の検出後でも、制御部4が電流遮断の検出直前のパルス周期を利用してモータ2の電流遮断の検出時からモータ2の停止時までの推定パルス数nを算出することができる(図11参照)。
(3) 制御部4がモータの電流遮断の検出直前のパルス周期に基づいてモータの電流遮断の検出時からモータの停止時までの推定パルス数nを算出するから(図11参照)、モータ2が電流遮断時からしばらく回転しても、モータ2の停止時までのモータの回転量やモータ2の停止位置が正確に求められる(図12参照)。
(4) フィルタ40の回路設計においてフィルタ40の高カットオフ周波数fc2がリプル成分の周波数よりも低く設定されているから、フィルタ40によってリプル成分を除去することができる。
(5) 差動増幅器50が、バンドパスフィルタ30の出力信号(電流電圧変換器10によって変換された電圧信号のうち直流成分及び高周波ノイズ成分等が除去されたもの)と、フィルタ40の出力信号(電流電圧変換器10によって変換された電圧信号のうち直流成分、高周波ノイズ成分及びリプル成分等が除去されたもの)の差分を取って、それを差分信号として出力する。そのため、差動増幅器50の出力信号は、電流電圧変換器10によって変換された電圧信号のうちリプル成分である。差動増幅器50の出力信号が差分信号であるからこそ、モータ2の電流信号の各成分の周波数が環境変化によって変動しても、リプル成分が正確に抽出されて、モータ2の電流信号中のリプルを高精度に検出することができる。
(6) 図5に示す周波数特性のうち、高カットオフ周波数fc2よりも高い領域の傾斜部分を利用したからこそ、リプル成分の周波数が温度変化により変動したものとしても、差動増幅器50の出力信号がリプル成分として正確に抽出される。
(7) フィルタ40の周波数特性を利用して、フィルタ40と差動増幅器50によってリ
プル成分を抽出したから、フィルタ40にカットオフ周波数可変型フィルタを用いなくても済む。そのため、フィルタ40のコストを削減することができる。
(8) 抽出回路3がフィードバック制御回路のような閉ループ回路でないから、モータ2の電流信号の各成分の周波数が過渡的に又は急激に変化したものとしても、リプルを正確に検出することができる。
(9) フィルタ40が抵抗器41b,41d,41a,41c及びキャパシタ41a,41c,41b,41d,43aからなるフィルタであるから、フィルタ40の構成がシンプルであり、フィルタ40のコストアップを抑えることができる。
(10) フィルタ40の周波数特性を利用して、フィルタ40と差動増幅器50によってリプル成分を抽出したから、ハイパスフィルタ20やバンドパスフィルタ30にカットオフ周波数可変型フィルタを用いなくても済む。そのため、ハイパスフィルタ20やバンドパスフィルタ30のコストアップを抑えることができる。
(11) 電流電圧変換器10によって変換された電圧信号のうち直流成分がハイパスフィルタ20によって除去されるから、そのハイパスフィルタ20の後段のバンドパスフィルタ30、フィルタ40及び差動増幅器50の処理が正確に行われる。
(12) 電流電圧変換器10によって変換された電圧信号のうち所定周波数帯域外の成分がバンドパスフィルタ30によって減衰するから、そのバンドパスフィルタ30の後段のフィルタ40や差動増幅器50の処理が正確に行われる。
【0095】
〔変形例〕
なお、本発明を適用可能な実施形態は、上述した実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。以下、変形例について説明する。以下に挙げる変形例は可能な限り組み合わせてもよい。
【0096】
〔変形例1〕
上述の実施の形態では、補正マップ5Bが、入力値の数が単数となる単入力補正マップ(単入力ルックアップテーブル又は単入力関数)であった。それに対して、変形例1では、補正マップ5Bが、入力値の数が2となる複入力補正マップ(複入力ルックアップテーブル又は複入力関数)である。補正マップ5Bの第一入力値には、モータ2の電流遮断の検出直前に抽出回路3によって出力されたパルス信号のパルス周期が当てはめられる。補正マップ5Bの第二入力値には、モータ2の電流遮断の検出直前にA/Dコンバータ8から入力した電流データが当てはめられる。補正マップ5Bの出力値は、モータ2の電流遮断の検出時からモータ2の停止時までの停止時間である。補正マップ5Bの第二入力値に当てはめられる電流データが減少するにつれて、その当てはめによって求められる出力値としての停止時間が増加する。
【0097】
モータ2に掛かる摩擦等が増加するにつれて、モータ2の電流遮断時からモータ2の停止時までの時間が減少するとともに、その間のモータの回転量も減少する。モータ2に掛かる摩擦等が増加するにつれて、モータ2の負荷が増加する。モータの負荷が増加するにつれて、モータ2の電流が増加する。そこで、モータ2の負荷を停止時間に反映させるべく、モータ2の電流遮断の検出直前にA/Dコンバータ8から入力した電流データが補正マップ5Bの第二入力値に当てはめられる。
【0098】
補正マップ5Dを用いる場合、補正マップ5Dは、入力値の数が2となる複入力補正マップ(複入力ルックアップテーブル又は複入力関数)である。補正マップ5Dの第一入力値には、モータ2の電流遮断の検出直前に抽出回路3によって出力されたパルス信号のパルス周期が当てはめられる。補正マップ5Dの第二入力値には、モータ2の電流遮断の検出直前にA/Dコンバータ8から入力した電流データが当てはめられる。補正マップ5Dの出力値は、モータ2の電流遮断の検出時からモータ2の停止時までの間に仮にモータ2に電流が流れていたとしたら、その間に抽出回路3が出力したパルス信号の推定パルス数
である。補正マップ5Dの第二入力値に当てはめられる電流データが減少するにつれて、その当てはめによって求められる出力値としての推定パルス数が増加する。
【0099】
変形例1における制御部4の処理は、以下の点で、第1の実施の形態における制御部4の処理と相違する。
【0100】
モータ2の動作中、制御部4は、抽出回路3によって出力されたパルス信号のパルスが立ち上がる度に、A/Dコンバータ8から入力された電流データをRAM又は記憶部5に順次記憶していく。なお、RAM又は記憶部5に蓄積する電流データの数が限られている場合、制御部4は、電流データをRAM又は記憶部5に記録する際に、最も古い電流データをRAM又は記憶部5から削除する。
【0101】
図11のステップS42の処理においては、制御部4が、記憶部5又はRAMに記憶されたパルスごとの電流データのうち、モータ2の電流の遮断を検出する直前の一パルス分又は複数パルス分の電流データを読み込む。勿論、制御部4は、モータ2の電流の遮断を検出する直前の一パルス分又は複数パルス分のパルス周期T_beforeも読み込む(ステップS42)。なお、制御部4が複数パルス分の電流データを読み込んだ場合には、制御部4が複数パルス分の電流データの平均値を算出する。
【0102】
図11のステップS43の処理においては、制御部4が、複数パルス分のパルス周期T_beforeの平均値又は一パルス分のパルス周期T_beforeを補正マップ5Bの第一入力値に当てはめるとともに、複数パルス分の電流データの平均値又は一パルス分の電流データを補正マップ5Bの第二入力値に当てはめることによって、それらに対応する出力値を停止時間T_stopとして求める。
【0103】
補正マップ5Dを用いる場合には、ステップS42の処理の後、図11に示す処理の終了の前に、制御部4が、複数パルス分のパルス周期T_beforeの平均値又は一パルス分のパルス周期T_beforeを補正マップ5Dの第一入力値に当てはめるとともに、複数パルス分の電流データの平均値又は一パルス分の電流データを補正マップ5Dの第二入力値に当てはめることによって、それらに対応する出力値を推定パルス数nとして求める。
【0104】
以上に説明したことを除いて、第1の実施の形態と変形例1は同様である。
【0105】
変形例1によれば、モータ2の負荷や摩擦等が変動する場合でも、モータ2の電流遮断時からモータ2の停止時までのモータ2の回転量等を正確に算出することができる。
【0106】
〔変形例2〕
上述の実施の形態では、補正マップ5Bは、入力値の数が単数となる単入力補正マップ(単入力ルックアップテーブル又は単入力関数)であった。それに対して、変形例2では、補正マップ5Bは、入力値の数が3となる複入力補正マップ(複入力ルックアップテーブル又は複入力関数)である。補正マップ5Bの第一入力値には、モータ2の電流遮断の検出直前に抽出回路3によって出力されたパルス信号のパルス周期が当てはめられる。補正マップ5Bの第二入力値には、モータ2の電流遮断の検出直前にA/Dコンバータ8から入力した電流データが当てはめられる。補正マップ5Bの第三入力値には、モータ2の電流遮断の検出直前にA/Dコンバータ7から入力した電圧データが当てはめられる。
【0107】
モータ2の摩擦係数や可動部の摩擦係数等は環境温度に依存し、環境温度が高まるにつれて、モータ2の摩擦係数や可動部の摩擦係数等が低くなる。また、環境温度はモータ2の電流や電圧に依存する。そこで、環境温度を停止時間に反映させるべく、モータ2の電流遮断の検出直前にA/Dコンバータ8から入力した電流データが補正マップ5Bの第二
入力値に当てはめられるとともに、モータ2の電流遮断の検出直前にA/Dコンバータ7から入力した電圧データが補正マップ5Bの第三入力値に当てはめられる。
【0108】
補正マップ5Dを用いる場合、補正マップ5Dは、入力値の数が3となる複入力補正マップ(複入力ルックアップテーブル又は複入力関数)である。補正マップ5Dの第一入力値には、モータ2の電流遮断の検出直前に抽出回路3によって出力されたパルス信号のパルス周期が当てはめられる。補正マップ5Dの第二入力値には、モータ2の電流遮断の検出直前にA/Dコンバータ8から入力した電流データが当てはめられる。補正マップ5Dの第三入力値には、モータ2の電流遮断の検出直前にA/Dコンバータ7から入力した電圧データが当てはめられる。補正マップ5Dの出力値は、モータ2の電流遮断の検出時からモータ2の停止時までの間に仮にモータ2に電流が流れていたとしたら、その間に抽出回路3が出力したパルス信号の推定パルス数である。
【0109】
変形例2における制御部4の処理は、以下の点で、第1の実施の形態における制御部4の処理と相違する。
【0110】
モータ2の動作中、制御部4は、抽出回路3によって出力されたパルス信号のパルスが立ち上がる度に、A/Dコンバータ8から入力された電流データをRAM又は記憶部5に順次記憶していく。また、モータ2の動作中、制御部4は、抽出回路3によって出力されたパルス信号のパルスが立ち上がる度に、A/Dコンバータ8から入力された電圧データをRAM又は記憶部5に順次記憶していく。なお、RAM又は記憶部5に蓄積する電流データの数が限られている場合、制御部4は、電流データをRAM又は記憶部5に記録する際に、最も古い電流データをRAM又は記憶部5から削除する。RAM又は記憶部5に蓄積する電圧データの数が限られている場合も同様である。
【0111】
図11のステップS42の処理においては、制御部4が、記憶部5又はRAMに記憶されたパルスごとの電流データのうち、モータ2の電流の遮断を検出する直前の一パルス分又は複数パルス分の電流データを読み込む。制御部4が、記憶部5又はRAMに記憶されたパルスごとの電圧データのうち、モータ2の電流の遮断を検出する直前の一パルス分又は複数パルス分の電圧データを読み込む。勿論、制御部4は、モータ2の電流の遮断を検出する直前の一パルス分又は複数パルス分のパルス周期T_beforeも読み込む(ステップS42)。なお、制御部4が複数パルス分の電流データを読み込んだ場合には、制御部4が複数パルス分の電流データの平均値を算出する。制御部4が複数パルス分の電圧データを読み込んだ場合も同様である。
【0112】
図11のステップS43の処理においては、制御部4が、複数パルス分のパルス周期T_beforeの平均値又は一パルス分のパルス周期T_beforeを補正マップ5Bの第一入力値に当てはめる。更に、制御部4は、複数パルス分の電流データの平均値又は一パルス分の電流データを補正マップ5Bの第二入力値に当てはめる。更に、制御部4は、複数パルス分の電圧データの平均値又は一パルス分の電圧データを補正マップ5Bの第三入力値に当てはめる。そして、制御部4は、それらの当てはめによって、当てはめた数値に対応する出力値を停止時間T_stopとして求める。
【0113】
補正マップ5Dを用いる場合には、ステップS42の処理の後、図11に示す処理の終了の前に、制御部4が、複数パルス分のパルス周期T_beforeの平均値又は一パルス分のパルス周期T_beforeを補正マップ5Dの第一入力値に当てはめる。更に、制御部4は、複数パルス分の電流データの平均値又は一パルス分の電流データを補正マップ5Dの第二入力値に当てはめる。更に、制御部4は、複数パルス分の電圧データの平均値又は一パルス分の電圧データを補正マップ5Dの第三入力値に当てはめる。そして、制御部4は、それらの当てはめによって、当てはめた数値に対応する出力値を推定パルス数nとして求め
る。
【0114】
以上に説明したことを除いて、第1の実施の形態変形例2は同様である。
【0115】
変形例2によれば、環境温度が変動して、モータ2の摩擦係数等が変動する場合でも、モータ2の電流遮断時からモータ2の停止時までのモータ2の回転量等を正確に算出することができる。
【0116】
〔変形例3〕
図14に示すように、温度センサ9bがインターフェース9aを介して制御部4に接続されている。温度センサ9bは、温度を検出して、インターフェース9aを通じて温度データを制御部4に出力する。制御部4は、温度センサ9bによって出力された温度データを入力する。温度センサ9bがモータ2に取り付けられ、温度センサ9bがモータ2の温度を検出する。或いは、温度センサ9bがモータ制御装置1の周辺に設けられ、温度センサ9bがモータ制御装置1の周辺の環境温度を検出する。或いは、温度センサ9bがシート本体90が取り付けられる車室内に配置され、温度センサ9bが車室の温度を検出する。或いは、温度センサ9bがシート本体90が取り付けられる車室のカーエアコンに内蔵された温度センサであり、その温度センサ9bが車室の温度を検出する。
【0117】
変形例3では、補正マップ5Bが、入力値の数が2となる複入力補正マップ(複入力ルックアップテーブル又は複入力関数)である。補正マップ5Bの第一入力値には、モータ2の電流遮断の検出直前に抽出回路3によって出力されたパルス信号のパルス周期が当てはめられる。補正マップ5Bの第二入力値には、モータ2の電流遮断の検出直前に温度センサ9bによって検出された温度データが当てはめられる。補正マップ5Bの出力値は、モータ2の電流遮断の検出時からモータ2の停止時までの停止時間である。補正マップ5Bの第二入力値に当てはめられる温度データが増加するにつれて、その当てはめによって求められる出力値としての停止時間が増加する。
【0118】
モータ2の摩擦係数や可動部の摩擦係数等は環境温度に依存し、環境温度が高まるにつれて、モータ2の摩擦係数や可動部の摩擦係数等が低くなる。そこで、環境温度を停止時間に反映させるべく、モータ2の電流遮断の検出直前に温度センサ9bから入力した温度センサが補正マップ5Bの第二入力値に当てはめられる。
【0119】
補正マップ5Dを用いる場合、補正マップ5Dは、入力値の数が2となる複入力補正マップ(複入力ルックアップテーブル又は複入力関数)である。補正マップ5Dの第一入力値には、モータ2の電流遮断の検出直前に抽出回路3によって出力されたパルス信号のパルス周期が当てはめられる。補正マップ5Dの第二入力値には、モータ2の電流遮断の検出直前に温度センサ9bによって検出された温度データが当てはめられる。補正マップ5Dの出力値は、モータ2の電流遮断の検出時からモータ2の停止時までの間に仮にモータ2に電流が流れていたとしたら、その間に抽出回路3が出力したパルス信号の推定パルス数である。補正マップ5Dの第二入力値に当てはめられる温度データが増加するにつれて、その当てはめによって求められる出力値としての推定パルス数が増加する。
【0120】
変形例3における制御部4の処理は、以下の点で、第1の実施の形態における制御部4の処理と相違する。
【0121】
モータ2の動作中、制御部4は、抽出回路3によって出力されたパルス信号のパルスが立ち上がる度に、温度センサ9bから入力された温度データをRAM又は記憶部5に順次記憶していく。なお、RAM又は記憶部5に蓄積する温度データの数が限られている場合、制御部4は、温度データをRAM又は記憶部5に記録する際に、最も古い温度データを
RAM又は記憶部5から削除する。
【0122】
図11のステップS42の処理においては、制御部4が、記憶部5又はRAMに記憶されたパルスごとの温度データのうち、モータ2の電流の遮断を検出する直前の一パルス分又は複数パルス分の温度データを読み込む。勿論、制御部4は、モータ2の電流の遮断を検出する直前の一パルス分又は複数パルス分のパルス周期T_beforeも読み込む(ステップS42)。なお、制御部4が複数パルス分の温度データを読み込んだ場合には、制御部4が複数パルス分の温度データの平均値を算出する。
【0123】
図11のステップS43の処理においては、制御部4が、複数パルス分のパルス周期T_beforeの平均値又は一パルス分のパルス周期T_beforeを補正マップ5Bの第一入力値に当てはめるとともに、複数パルス分の温度データの平均値又は一パルス分の温度データを補正マップ5Bの第二入力値に当てはめることによって、それらに対応する出力値を停止時間T_stopとして求める。
【0124】
補正マップ5Dを用いる場合には、ステップS42の処理の後、図11に示す処理の終了の前に、制御部4が、複数パルス分のパルス周期T_beforeの平均値又は一パルス分のパルス周期T_beforeを補正マップ5Dの第一入力値に当てはめるとともに、複数パルス分の温度データの平均値又は一パルス分の温度データを補正マップ5Dの第二入力値に当てはめることによって、それらに対応する出力値を推定パルス数nとして求める。
【0125】
以上に説明したことを除いて、第1の実施の形態と変形例1は同様である。
【0126】
変形例3によれば、環境温度が変動する場合でも、モータ2の摩擦係数等が変動する場合でも、モータ2の電流遮断時からモータ2の停止時までのモータ2の回転量等を正確に算出することができる。
【0127】
〔変形例4〕
上述の実施形態及び変形例1〜3では、制御部4が図11に示すステップS42〜ステップS44の処理をモータ2の電流遮断後に行っていた。それに対して、モータ2の電流遮断前において、制御部4がパルス信号のパルス周期を求める度に図11に示すステップS42〜ステップS44の処理を行ってもよい。つまり、制御部4が、図10に示すステップS35でパルス周期を計時したら、そのパルス周期から停止時間T_stopを求め(ステップS43)、そのパルス周期と停止時間T_stopから推定パルス数nを求める(ステップS44)。なお、制御部4は、図10に示すステップS35でパルス周期を計時したら、そのパルス周期を補正マップ5Dの入力値に当てはめることによって、それに対応する出力値を推定パルス数nとして求めてもよい。
【0128】
そして、制御部4は、図9に示すステップS23からステップS26までの処理を繰り返している際に、図9に示すステップS24の後にステップS24で求めたパルス数(計数値N)に推定パルス数nを加算することで、モータ2の回転量や可動部の移動量を補正する。ただし、制御部4は、計数値Nを更新せずに、計数値Nとは別に、計数値Nと推定パルス数nの和を求める。計数値Nと推定パルス数nの和は、仮にその時点でモータ2の電流が遮断されたとしたらモータ2が起動してから停止するまでのモータ2の回転量や可動部の移動量を示す。
また、制御部4は、図9に示すステップS23からステップS26までの処理を繰り返している際に、図9に示すステップS25の後にステップS25で求めた差から推定パルス数nを減算するか、又はステップS25で求めた和に推定パルス数nを加算する。そのような減算又は加算によって求められた値は、仮にその時点でモータ2の電流が遮断されたとしたらモータ2や可動部の停止位置を示す。
【0129】
〔変形例5〕
上述のステップS22において、制御部4は、計数値Nをゼロにリセットするのではなく、計数値Nを初期位置データ5Aに設定してもよい。この場合、ステップS25における処理が省略される。更に、ステップS24においては、制御部4が、抽出回路3によって出力されたパルス信号のパルスを入力するごとに、計数値Nに1を加算し又は減算することで計数値Nを更新する。制御部4は、ステップS24の演算をステップS11で決定した向きに従って決定する。例えば、ステップS11で決定した回転の向きが正回転である場合には、制御部4がステップS24で加算を行い、ステップS11で決定した回転の向きが逆回転である場合には、制御部4がステップS24で減算を行う。勿論、回転の向きと演算の関係が逆であってもよい。
ステップS24で更新した計数値Nは、モータ2の回転位置を示すとともに、原点位置を基準としてその原点位置からの距離を示す。
【0130】
〔変形例6〕
抽出回路3は一例であり、上述の実施形態の回路に限るものではない。例えば、フィルタ40及び差動増幅器50を省略してもよい。その場合、リプル成分の周波数が変化しても、リプル成分を正確に抽出できるようにするために、スイッチト・キャパシタ・フィルタをバンドパスフィルタ30の後段であって増幅器60の前段に設けることが好ましい。スイッチト・キャパシタ・フィルタのカットオフ周波数が可変であり、リプル成分や低周波成分の周波数が変化した場合でも、スイッチト・キャパシタ・フィルタは、低周波成分を減衰させ、リプル成分を通過させる。
【0131】
〔変形例7〕
フィルタ40の回路設計において、温度変化によるリプル成分の周波数の変動も考慮しつつ、図5に示すフィルタ40の低カットオフ周波数fc1がリプル成分の周波数(例えば、常温時の周波数)よりも高く設定されている。従って、フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)のうちリプル成分を高周波成分(高周波成分はリプル成分よりも周波数が高い。)よりも高い減衰率で減衰させる。つまり、フィルタ40は、リプル成分を高周波成分よりも効率的に除去する。従って、フィルタ40は、リプル成分を除去した信号を差動増幅器50に出力する。
【0132】
この場合、モータ2の電流信号やフィルタ40及び差動増幅器50の入力信号は、リプル成分と、そのリプル成分よりも周波数が高い高周波成分とを重畳したものである。
【0133】
〔変形例8〕
フィルタ40がバンドパスフィルタではなく、図15に示すような周波数特性を有したローパスフィルタであってもよい。フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)のうちカットオフ周波数fc3以下の成分を通過させ、カットオフ周波数fc3を超える成分を減衰させる。具体的には、カットオフ周波数fc3を超える高周波域において、フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)に含まれる成分の周波数が低いほど減衰率がより低くなるように、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)を減衰させる。
【0134】
フィルタ40の回路設計において、温度変化によるリプル成分の周波数の変動も考慮しつつ、図15に示すフィルタ40のカットオフ周波数fc3がリプル成分の周波数(例えば、常温時の周波数)よりも低く設定されている。従って、フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)のうちリプル成分を低周波成分(低周波成分はリプル成分よりも周波数が低い。)よりも高い減衰率
で減衰させる。つまり、フィルタ40は、リプル成分を低周波成分よりも効率的に除去する。従って、フィルタ40は、リプル成分を除去した信号を差動増幅器50に出力する。
【0135】
この場合、モータ2の電流信号やフィルタ40及び差動増幅器50の入力信号は、リプル成分と、そのリプル成分よりも周波数が低い低周波成分とを重畳したものである。
【0136】
フィルタ40がローパスフィルタである場合、図6に示すハイパスフィルタ41,43が省略され、バンドパスフィルタ30の出力がローパスフィルタ42の入力に接続され、ローパスフィルタ42の出力が抵抗器51を介してオペアンプ53の反転入力端子に接続される。
【0137】
〔変形例9〕
フィルタ40がバンドパスフィルタではなく、図16に示すような周波数特性を有したハイパスフィルタであってもよい。フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)のうちカットオフ周波数fc4以上の成分を通過させ、カットオフ周波数fc4を下回る成分を減衰させる。具体的には、カットオフ周波数fc4を下回る低周波域において、フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)に含まれる成分の周波数が低いほど減衰率がより高くなるように、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)を減衰させる。
【0138】
フィルタ40の回路設計において、温度変化によるリプル成分の周波数の変動も考慮しつつ、図16に示すフィルタ40のカットオフ周波数fc4がリプル成分の周波数(例えば、常温時の周波数)よりも高く設定されている。従って、フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)のうちリプル成分を高周波成分(高周波成分はリプル成分よりも周波数が高い。)よりも高い減衰率で減衰させる。つまり、フィルタ40は、リプル成分を高周波成分よりも効率的に除去する。従って、フィルタ40は、リプル成分を除去した信号を差動増幅器50に出力する。
【0139】
フィルタ40がハイパスフィルタである場合、図6に示すローパスフィルタ42が省略され、バンドパスフィルタ30の出力がハイパスフィルタ41の入力に接続されている。
【0140】
〔変形例10〕
フィルタ40がバンドパスフィルタではなく、バンドストップフィルタであってもよい。
【0141】
〔変形例11〕
ハイパスフィルタ20とバンドパスフィルタ30の一方又は両方を省略してもよい。ハイパスフィルタ20を省略した場合には、電流電圧変換器10の出力がバンドパスフィルタ30の入力に接続される。バンドパスフィルタ30を省略した場合には、ハイパスフィルタ20の出力がフィルタ40の入力及び差動増幅器50の入力に接続される。ハイパスフィルタ20とバンドパスフィルタ30の両方が省略されている場合には、電流電圧変換器10の出力がフィルタ40の入力及び差動増幅器50の入力に接続される。
【0142】
〔変形例12〕
モータ制御装置1が電動ドアミラー装置に組み込まれ、電動ドアミラー装置の可動部(例えば、ドアに対してミラーハウジングの格納及び展開をする格納機構、ミラーハウジングに対してミラーを上下に振るチルト機構、ミラーハウジングに対してミラーを左右に振るパン機構)がモータ制御装置1のモータ2によって駆動されてもよい。モータ制御装置1がパワーウィンドウ装置に組み込まれ、パワーウィンドウ装置の可動部(例えば、ウィ
ンドウレギュレター)がモータ2によって駆動されてもよい。
【0143】
〔変形例13〕
フィルタ40がオペアンプを用いたもの(例えば、負帰還型ローパスフィルタ、正帰還型ローパスフィルタ、多重負帰還型バンドパスフィルタ、多重正帰還型バンドパスフィルタ)でもよい。
【符号の説明】
【0144】
1 モータ制御装置
2 モータ
3 抽出回路
4 制御部
5 記憶部
5A 初期位置データ
5B 補正マップ(第一補正マップ)
5C 補正マップ(第二補正マップ)
5D 補正マップ
7 A/Dコンバータ(電圧検出部)
8 A/Dコンバータ(電流検出部)
【技術分野】
【0001】
本発明は、モータ制御装置に関する。
【背景技術】
【0002】
車両用シート、電動ドアミラー、パワーウィンドウ等には可動部が設けられ、可動部がモータによって駆動される。可動部の位置及び速度を制御装置によって正確に制御するためには、動作中のモータの回転量を検出する必要がある。モータの回転量を検出するべく、センサが用いられる。つまり、センサ(例えば、ホール素子、エンコーダ、リードスイッチセンサ)がモータ等に設けられ、動作中のモータの回転に同期した信号がセンサによって出力され、センサの出力信号が検出回路(例えば、コンパレータやAD変換器)を介して制御装置に入力される。
【0003】
ところが、センサを用いると、コストアップの要因になってしまう。そこで、センサを用いずに、モータの電流信号を利用して、モータの後段回路によってモータの回転量を検出する技術が提案されている(例えば、特許文献1、特許文献2参照)。モータが動作している際には、モータの電流信号には直流成分、低周波成分及び高周波ノイズ等が含まれており、更に、モータの回転に同期した脈動(以下、リプル(ripple)という。)成分も含まれている。特許文献1、特許文献2に記載の技術では、モータの電流信号を後段回路によって処理することによってリプル成分を抽出する。具体的には、後段回路のフィルタによってモータの電流信号のうち直流成分、低周波成分及び高周波ノイズを除去し、リプル成分を通過させる。モータの電流信号の各成分の周波数が環境変化によって変動するため、後段回路のフィルタには、カットオフ周波数を可変することができるスイッチト・キャパシタ・フィルタを用いる。具体的には、スイッチト・キャパシタ・フィルタを通過した信号が演算回路にフィードバックされ、演算回路がフィードバック信号からカットオフ周波数を演算して、スイッチト・キャパシタ・フィルタのカットオフ周波数を設定する。
【0004】
特許文献1に記載の技術では、リプルパルス整形回路が、スイッチト・キャパシタ・フィルタ(SCF)を通過したリプル成分をパルス化し、カウンタ(CT)が、リプルパルス整形回路の出力信号のパルス数を計数する。カウンタ(CT)によって計数されたパルス数が、モータの回転量に相当するとともに、可動部の移動量に相当する。
【0005】
ところで、モータの電流が遮断されてすぐにモータが停止するのではなく、モータが電流遮断時からしばらく回転する。モータの電流が遮断されると、特許文献1及び特許文献2に記載の技術ではモータの回転量を正確に検出することができない。そこで、特許文献3には、モータの停止時までのパルス数を推定する技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2003−9585号公報
【特許文献2】特開2008−283762号公報
【特許文献3】特開2000−250629号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところが、特許文献3には、制御部(CPU2)がモータ(11)の作動停止時をどのように判断するのか詳細に開示されていない。特許文献3の〔0046〕、〔0047〕及び図10の記載によれば、制御部(CPU2)がリレー(9)をオフにして、モータ(
11)の作動停止後に制御部(CPU2)がパルス周期を算出する。しかし、モータの作動停止後ではモータ(11)の電流が遮断されているから、モータ(11)のパルス周期を算出することができない。
そこで、本発明が解決しようとする課題は、モータの電流遮断時を正確に検出するとともに、モータの電流遮断後でもモータ電流遮断前のパルス周期に基づいてモータの電流遮断時からモータの停止時までのパルス数を推定できるようにすることである。
【課題を解決するための手段】
【0008】
以上の課題を解決するための請求項1に係る発明によれば、
モータ制御装置が、駆動されると電流信号に周期的なリプルを発生させるモータと、前記モータの前記電流信号からリプル成分を抽出して、そのリプル成分をパルス化したパルス信号を出力する抽出回路と、前記モータの電圧を検出する電圧検出部と、前記パルス信号を入力するとともに、前記モータを制御する制御部と、を備え、前記制御部が、前記パルス信号のパルスごとに前記パルス信号のパルス周期を計時して、計時したパルス周期を順次記憶する第一処理と、前記モータの電流を遮断する第二処理と、前記第二処理後に前記電圧検出部によって検出された電圧に基づいて前記モータの電流遮断を検出したら、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の一パルス分又は複数パルス分のパルス周期に基づいて前記モータの電流遮断の検出時から前記モータの停止時までの推定パルス数を算出する第三処理と、を実行する。
【0009】
請求項2に係る発明によれば、
モータ制御装置が、駆動されると電流信号に周期的なリプルを発生させるモータと、前記モータの前記電流信号からリプル成分を抽出して、そのリプル成分をパルス化したパルス信号を出力する抽出回路と、前記モータの電流を検出する電流検出部と、前記パルス信号を入力するとともに、前記モータを制御する制御部と、を備え、前記制御部が、前記パルス信号のパルスごとに前記パルス信号のパルス周期を計時して、計時したパルス周期を順次記憶する第一処理と、前記モータの電流を遮断する第二処理と、前記第二処理後に前記電流検出部によって検出された電流に基づいて前記モータの電流遮断を検出したら、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の一パルス分又は複数パルス分のパルス周期に基づいて前記モータの電流遮断の検出時から前記モータの停止時までの推定パルス数を算出する第三処理と、を実行する。
【0010】
請求項3に係る発明によれば、請求項1又は2において、
前記モータ制御装置が、第一入力値及び第二入力値と出力値との関係を表した第一補正マップと、第一入力値及び第二入力値と出力値との関係を表した第二補正マップとを記憶した記憶部と、温度を検出する温度センサと、を更に備え、前記制御部が、前記パルス信号のパルスごとに前記温度センサによって検出された温度を順次記憶する第四処理を実行し、前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第一補正マップの第一入力値に当てはめるとともに、前記第四処理で記憶した温度のうち前記モータの電流遮断の検出直前の複数パルス分の温度の平均値又は一パルス分の温度を前記第一補正マップの第二入力値に当てはめることで、それらに対応する出力値を前記モータの電流遮断の検出時から前記モータの停止時までの停止時間として求め、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第二補正マップの第一入力値に当てはめるとともに、求めた前記停止時間を前記第二補正マップの第二入力値に当てはめることで、それらに対応する出力値を前記推定パルス数として求める。
【0011】
請求項4に係る発明によれば、請求項1又は2において、
前記モータ制御装置が、第一入力値及び第二入力値と出力値との関係を表した補正マッ
プを記憶した記憶部と、温度を検出する温度センサと、を更に備え、前記制御部が、前記パルス信号のパルスごとに前記温度センサによって検出された温度を順次記憶する第四処理を実行し、前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記補正マップの第一入力値に当てはめるとともに、前記第四処理で記憶した温度のうち前記モータの電流遮断の検出直前の複数パルス分の温度の平均値又は一パルス分の温度を前記補正マップの第二入力値に当てはめることで、それらに対応する出力値を前記推定パルス数として求める。
【0012】
請求項5に係る発明によれば、請求項2において、
前記モータ制御装置が、第一入力値及び第二入力値と出力値との関係を表した第一補正マップと、第一入力値及び第二入力値と出力値との関係を表した第二補正マップとを記憶した記憶部を更に備え、前記制御部が、前記パルス信号のパルスごとに前記電流検出部によって検出された電流を順次記憶する第四処理を実行し、前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第一補正マップの第一入力値に当てはめるとともに、前記第四処理で記憶した電流のうち前記モータの電流遮断の検出直前の複数パルス分の電流の平均値又は一パルス分の電流を前記第一補正マップの第二入力値に当てはめることで、それらに対応する出力値を前記モータの電流遮断の検出時から前記モータの停止時までの停止時間として求め、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第二補正マップの第一入力値に当てはめるとともに、求めた前記停止時間を前記第二補正マップの第一入力値に当てはめることで、それらに対応する出力値を前記推定パルス数として求める。
【0013】
請求項6に係る発明によれば、請求項2において
前記モータ制御装置が、第一入力値及び第二入力値と出力値との関係を表した補正マップを記憶した記憶部を更に備え、前記制御部が、前記パルス信号のパルスごとに前記電流検出部によって検出された電流を順次記憶する第四処理を実行し、前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記補正マップの第一入力値に当てはめるとともに、前記第四処理で記憶した電流のうち前記モータの電流遮断の検出直前の複数パルス分の電流の平均値又は一パルス分の電流を前記補正マップの第二入力値に当てはめることで、それらに対応する出力値を前記推定パルス数として求める。
【0014】
請求項7に係る発明によれば、請求項1又は2において、
前記モータ制御装置が、入力値と出力値との関係を表した第一補正マップと、第一入力値及び第二入力値と出力値との関係を表した第二補正マップとを記憶した記憶部を更に備え、前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第一補正マップの入力値に当てはめることで、それに対応する出力値を前記モータの電流遮断の検出時から前記モータの停止時までの停止時間として求め、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第二補正マップの第一入力値に当てはめるとともに、求めた前記停止時間を前記第二補正マップの第一入力値に当てはめることで、それらに対応する出力値を前記推定パルス数として求める。
【0015】
請求項8に係る発明によれば、請求項1又は2において、
前記モータ制御装置が、入力値と出力値との関係を表した補正マップを記憶した記憶部
を更に備え、前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記補正マップの入力値に当てはめることで、それに対応する出力値を前記推定パルス数として求める。
【0016】
請求項9に係る発明によれば、請求項1又は2において、
前記制御部が、前記パルス信号のパルス数を計数する第五処理と、前記第五処理で計数したパルス数と前記第四処理で算出した推定パルス数を加算する第六処理と、を実行する。
【0017】
請求項10に係る発明によれば、請求項1又は2において、
前記モータ制御装置が、所定の原点位置から前記モータの動作前の初期位置までの回転量をパルス数で表した初期位置データを記憶した記憶部を更に備え、前記制御部が、前記パルス信号のパルス数を計数する第五処理と、前記第五処理で計数したパルス数と前記第四処理で算出した推定パルス数との和を前記初期位置データから減算し、又は前記第五処理で計数したパルス数と前記第四処理で算出した推定パルス数との和を前記初期位置データに加算し、前記記憶部に記憶された前記初期位置データをその加算結果又は減算結果に更新する第六処理と、を実行する。
【発明の効果】
【0018】
請求項1、2に係る発明によれば、制御部が電圧検出部の検出電圧又は電流検出部の検出電流に基づいてモータの電流遮断を検出するから、モータの電流遮断時が正確に検出される。
制御部がモータの電流を遮断する処理を行った時から実際にモータの電流が遮断される時までに時間差があったものとしても、そのモータの電流遮断時が正確に検出される。
制御部がパルスごとのパルス周期を順次記憶するから、電圧検出部によって検出された電圧又は電流検出部によって検出された電流に基づいてモータの電流遮断を検出した後でも、制御部が電流遮断の検出直前のパルス周期に基づいて電流遮断の検出時からモータの停止時までの推定パルス数を算出することができる。
制御部がモータの電流遮断の検出直前の一パルス分又は複数パルス分のパルス周期に基づいてモータの電流遮断の検出時からモータの停止時までの推定パルス数を算出するから、モータが電流遮断後にしばらく回転しても、モータの停止時までのモータの回転量やモータの停止位置が正確に求められる。
【0019】
モータやモータによって駆動される可動部の摩擦係数等が温度の影響を受けるから、モータの電流遮断時からモータの停止時までのモータの回転量が温度に依存する。請求項3、4に係る発明によれば、制御部がモータの電流遮断の検出直前の温度を第一補正マップ又は補正マップの第二入力値に当てはめて推定パルス数を算出するから、算出された推定パルス数は温度を因子とする。そのため、算出された推定パルス数がより正確であり、モータの停止時までのモータの回転量やモータの停止位置が正確に求められる。
【0020】
モータに掛かる摩擦等が増加するにつれて、モータの電流遮断時からモータの停止時までの時間が減少するとともに、その間のモータの回転量も減少する。モータに掛かる摩擦等が増加するにつれて、モータの負荷が増加する。モータの負荷が増加するにつれて、モータの電流が増加する。請求項5、6に係る発明によれば、制御部がモータの電流遮断時の検出直前のモータの電流を第一補正マップ又は補正マップの第二入力値に当てはめて推定パルス数を算出するから、算出された推定パルス数はモータの負荷を因子とする。そのため、算出された推定パルス数がより正確であり、モータの停止時までのモータの回転量やモータの停止位置が正確に求められる。
【0021】
請求項7、8に係る発明によれば、制御部がモータの電流遮断の検出直前のパルス周期を第一補正マップ及び第二補正マップ又は補正マップの入力値に当てはめて、推定パルス数を算出するから、モータが電流遮断時からしばらく回転しても、モータの停止時までのモータの回転量やモータの停止位置が正確に求められる。
【0022】
請求項9に係る発明によれば、モータの起動時からモータの停止時までのパルス数やモータの回転量が正確に求められる。
【0023】
請求項10に係る発明によれば、モータの停止時におけるモータの回転位置が正確に求められる。
【図面の簡単な説明】
【0024】
【図1】本発明を適用した実施形態に係るモータ制御装置を示したブロック図である。
【図2】モータの電流信号の波形を示したタイミングチャートである。
【図3】モータの電流信号の波形を示したタイミングチャートである。
【図4】電流電圧変換器、ハイパスフィルタ、バンドパスフィルタ、フィルタと差動増幅器、増幅器及び波形整形部の入力信号及び出力信号の波形を示した図である。
【図5】フィルタの周波数特性を示したグラフである。
【図6】フィルタと差動増幅器を示した回路図である。
【図7】フィルタと差動増幅器の入力信号及び出力信号の波形を示したタイミングチャートである。
【図8】モータを起動させる処理の流れを示したフローチャートである。
【図9】モータの動作中にパルス信号のパルス数を計数する処理の流れを示したフローチャートである。
【図10】モータの動作中にパルス信号のパルス周期を計時する処理の流れを示したフローチャートである
【図11】モータの電流遮断後のパルス数を推定する処理の流れを示したフローチャートである。
【図12】モータの動作中に計数したパルス数やモータの停止位置を補正する処理の流れを示したフローチャートである。
【図13】車両用シートのシート本体を示した側面図である。
【図14】本発明を適用した実施形態の変形例に係るモータ制御装置を示したブロック図である。
【図15】フィルタの周波数特性を示したグラフである。
【図16】フィルタの周波数特性を示したグラフである。
【発明を実施するための形態】
【0025】
以下に、本発明を実施するための形態について図面を用いて説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい種々の限定が付されているが、本発明の範囲を以下の実施形態及び図示例に限定するものではない。
【0026】
図1は、モータ制御装置1のブロック図である。
モータ制御装置1は、モータ2、抽出回路3、制御部4、記憶部5、モータドライバ6、A/Dコンバータ7及びA/Dコンバータ8等を備える。
【0027】
モータ2は、直流モータである。電流がモータ2に流れると、モータ2が回転するとともに、モータ2が周期的なリプル(ripple)を電流に発生させる。モータ2の電流信号について図2及び図3を参照して説明する。図2は、モータ2が駆動される際にモータ2に流れる電流のレベルの変化を示したチャートである。図3は、図2に示されたA部におけ
る時間及び電流のスケールを大きくして示したチャートである。
【0028】
図2において、時刻T1はモータ2が起動したタイミングであり、時刻T2はモータ2が安定的に動作し始めるタイミングである。時刻T3は、モータ2によって駆動される可動部がストッパ等に当接して、モータ2の動力を可動部に伝える伝動機構が拘束され始めるタイミングである。時刻T4は、モータ2が停止するタイミングである。
図2及び図3に示すように、モータ2の電流信号は直流成分、リプル成分及び一又は複数の周波成分(交流成分)を含み、周波成分及びリプル成分が直流成分に重畳している。モータ2の電流信号のうち、電流のレベルが急激に変化した高周波成分はノイズである(例えば、符号n参照)。なお、図3は、高周波ノイズ成分がないものとして図示されている。
【0029】
時刻T1から時刻T2までの期間P1では、リプル成分r1と、リプル成分r1よりも周波数が低い低周波成分とが直流成分に重畳している。期間P1のうちモータ2の起動直後では、慣性力の影響により低周波成分の電流レベルが大きく、その後、低周波成分の電流レベルが時間の経過に伴って緩やかに減少する。また、モータ2の起動直後では、低周波成分よりも周波数が高いリプル成分r1の振幅が大きく、その後、リプル成分r1の周波数が時間の経過に伴って漸増するとともに、リプル成分r1の振幅が時間の経過に伴って漸減する。
時刻T2から時刻T3までの期間P2では、リプル成分r2と、リプル成分r2よりも周波数が低い低周波成分とが直流成分に重畳し、直流成分がほぼ一定で安定し、低周波成分の周波数及び振幅が安定し、リプル成分r2の周波数及び振幅が安定している。リプル成分r2の周波数が低周波成分の周波数よりも高くなるのは、モータ2に内蔵された複数のコイルが巻き線抵抗に差を有するためである。
時刻T3から時刻T4までの期間P3では、モータの電流信号のうち低周波成分の周波数が低くなり、低周波成分の電流レベルが時間の経過とともに漸増する。期間P3では、モータの電流信号のうちリプル成分r3の周波数が時間の経過に伴って漸減し、リプル成分r3の振幅が時間の経過に伴って漸増する。
【0030】
モータ2の電流信号のうち低周波成分及びリプル成分の周波数及び振幅は、様々な環境(例えば、モータ2に対する負荷、環境温度、モータ2の電源電圧等)の影響を受ける。そのため、環境が変化すれば、低周波成分及びリプル成分の周波数及び振幅が変化する。
【0031】
抽出回路3は、以上のようなモータ2の電流信号からリプル成分を抽出して、リプル成分をパルス化し、リプル成分がパルス化されてなるパルス信号を制御部4に出力する。抽出回路3及び抽出回路3を用いたリプル抽出方法について具体的に説明する。
【0032】
図1に示すように、抽出回路3は、電流電圧変換器10、ハイパスフィルタ(High-pass Filter)20、バンドパスフィルタ(Band-pass Filter)30、フィルタ40、差動増幅器50、増幅器60及び波形整形部70を備える。図4は、電流電圧変換器10、ハイパスフィルタ20、バンドパスフィルタ30、フィルタ40と差動増幅器50、増幅器60及び波形整形部70の入力信号及び出力信号を説明するための図である。図4において、電流電圧変換器10、ハイパスフィルタ20及びバンドパスフィルタ30の入力信号と出力信号が示されている期間は、図2における時刻T1から期間P2の初期にかけてである。フィルタ40と差動増幅器50、増幅器60及び波形整形部70の入力信号及び出力信号が示されている期間は、図2における期間P2の一部である。
【0033】
電流電圧変換器10は、モータ2の電流信号を入力する。電流電圧変換器10は、入力したモータ2の電流信号を電圧信号に変換する。具体的には、電流電圧変換器10が抵抗器11を有し、抵抗器11がグランドとモータ2の間に接続され、モータ2の電流信号が
抵抗器11とモータ2の間における電圧信号に変換される。電流電圧変換器10は、変換した電圧信号をハイパスフィルタ20及びバンドパスフィルタ30を介してフィルタ40及び差動増幅器50に出力する。なお、電流電圧変換器10は、オペアンプを用いたもの(例えば、負帰還型電流電圧変換器)でもよい。
【0034】
ハイパスフィルタ20は、電流電圧変換器10によって変換された電圧信号(電流電圧変換器10の出力信号)を入力する。ハイパスフィルタ20は、電流電圧変換器10によって変換された電圧信号(電流電圧変換器10の出力信号)のうち高周波成分を通過させ、低周波成分を減衰させる。つまり、ハイパスフィルタ20は、電流電圧変換器10によって変換された電圧信号のうち直流成分を除去する。ハイパスフィルタ20は、バンドパスフィルタ30を介して、低周波成分が減衰した信号をフィルタ40及び差動増幅器50に出力する。
ハイパスフィルタ20は、オペアンプを用いたもの(例えば、負帰還型ハイパスフィルタ、正帰還型ハイパスフィルタ)又は抵抗器・キャパシタを用いたもの(例えば、CRハイパスフィルタ)である。
【0035】
バンドパスフィルタ30は、電流電圧変換器10によって変換された電圧信号をハイパスフィルタ20を介して入力する。バンドパスフィルタ30は、電流電圧変換器10によって変換された電圧信号(ハイパスフィルタ20の出力信号)のうち所定周波数帯域の成分を通過させ、その所定周波数帯域外の成分を減衰させる。つまり、バンドパスフィルタ30は、電流電圧変換器10によって変換された電圧信号(ハイパスフィルタ20の出力信号)のうち高周波ノイズ成分を除去するとともに、ハイパスフィルタ20によって除去しきれなかった低周波成分を除去する。バンドパスフィルタ30は、所定周波数帯域外の成分を減衰させた信号をフィルタ40及び差動増幅器50に出力する。
バンドパスフィルタ30は、オペアンプを用いたもの(例えば、多重負帰還型バンドパスフィルタ、多重正帰還型バンドパスフィルタ)又は抵抗器・キャパシタを用いたものである。
なお、バンドパスフィルタ30がハイパスフィルタ20の後段に設けられているが、バンドパスフィルタ30が電流電圧変換器10の後段であってハイパスフィルタ20の前段に設けられてもよい。
【0036】
フィルタ40は、電流電圧変換器10によって変換された電圧信号をハイパスフィルタ20及びバンドパスフィルタ30を介して入力し、その信号を濾波する。フィルタ40は、濾波した信号を差動増幅器50に出力する。
【0037】
図5は、フィルタ40の周波数特性を示したグラフである。
図5に示すように、フィルタ40は、バンドパスフィルタである。フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)のうち、低カットオフ周波数fc1から高カットオフ周波数fc2までの間の中間周波数帯域の成分を通過させる。低カットオフ周波数fc1はフィルタ40のハイパスフィルタ部のカットオフ周波数であり、高カットオフ周波数fc2はフィルタ40のローパスフィルタ部のカットオフ周波数であり、低カットオフ周波数fc1<高カットオフ周波数fc2である。なお、カットオフ周波数とは、出力電力が入力電力の1/2となる周波数を指す。つまり、ゲインGが−3dbとなる周波数がカットオフ周波数である。
また、フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)のうち、低カットオフ周波数fc1を下回る低周波域の成分を減衰させる。具体的には、低カットオフ周波数fc1を下回る低周波域において、フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)に含まれる成分の周波数が低いほど減衰率がより高くなるように、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)の低周波域
成分を減衰させる。
また、フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)のうち、高カットオフ周波数fc2を超える高周波域の成分を減衰させる。具体的には、高カットオフ周波数fc2を超える高周波域において、フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)に含まれる成分の周波数が低いほど減衰率がより低くなるように、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)の高周波域成分を減衰させる。
【0038】
図2及び図3に示したように、モータ2の電流信号は、リプル成分と、そのリプル成分よりも周波数が低い低周波成分とを重畳したものである。リプル成分の周波数は実験・測定等によって予め調べられ、フィルタ40の回路設計において、温度変化によるリプル成分の周波数の変動も考慮しつつ、フィルタ40の高カットオフ周波数fc2がリプル成分の周波数(例えば、常温時の周波数)よりも低く設定されている。従って、フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)のうちリプル成分を低周波成分(低周波成分はリプル成分よりも周波数が低い。)よりも高い減衰率で減衰させる。つまり、フィルタ40は、リプル成分を低周波成分よりも効率的に除去する。従って、フィルタ40は、リプル成分を除去した信号を差動増幅器50に出力する。
【0039】
差動増幅器50は、電流電圧変換器10によって変換された電圧信号をハイパスフィルタ20及びバンドパスフィルタ30を介して入力するとともに、フィルタ40の出力信号を入力する。差動増幅器50は、入力したフィルタ40の出力信号と、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)の差分を取って、その差分を増幅する。差動増幅器50は、その差分を表す差分信号を増幅器60に出力する。
【0040】
図6は、フィルタ40と差動増幅器50の一例を示した回路図である。図7(a)は図6に示されたA部における電圧信号の波形を示したタイミングチャートであり、図7(b)は図6に示されたB部における電圧信号の波形を示したタイミングチャートであり、図7(c)は図6に示されたC部における電圧信号の波形を示したタイミングチャートである。
【0041】
図6に示すように、フィルタ40は、ハイパスフィルタ41、ローパスフィルタ42及びハイパスフィルタ43を有する。バンドパスフィルタ30の出力がハイパスフィルタ41の入力に接続され、ハイパスフィルタ41の出力がローパスフィルタ42の入力に接続され、ローパスフィルタ42の出力がハイパスフィルタ43の出力に接続される。
【0042】
ハイパスフィルタ41は、二次のCRハイパスフィルタである。つまり、ハイパスフィルタ41は、キャパシタ41a、抵抗器41b、キャパシタ41c及び抵抗器41dを有する。なお、ハイパスフィルタ41が一つのキャパシタ及び抵抗器からなる一次のCRハイパスフィルタであってもよい。また、ハイパスフィルタ41が三次以上のCRハイパスフィルタでもよい。
ローパスフィルタ42は、二次のRCローパスフィルタである。つまり、ローパスフィルタ42は、抵抗器42a、キャパシタ42b、抵抗器42c及びキャパシタ42dを有する。なお、ローパスフィルタ42が一つの抵抗器及びキャパシタからなる一次のRCローパスフィルタであってもよい。また、ローパスフィルタ42が三次以上のRCローパスフィルタでもよい。
ハイパスフィルタ43は、キャパシタ43aからなる。
【0043】
差動増幅器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を省略してもよい。
【0044】
差動増幅器50によって出力された差分信号は、電流電圧変換器10によって変換された電圧信号のうちリプル成分である。差動増幅器50によって出力された差分信号が、バンドパスフィルタ30の出力信号とフィルタ40の出力信号との差分を表すからこそ、モータ2の電流信号の各成分の周波数が環境変化によって変化しても、モータ2の電流信号に含まれるリプルを高精度に検出することができる。
【0045】
図1、図6に示すように、増幅器60は、差動増幅器50によって出力された差分信号(オペアンプ53の出力信号)を入力する。増幅器60は、差動増幅器50によって出力された差分信号を増幅して、それを波形整形部70に出力する。増幅器60は、例えば負帰還型増幅器である。
【0046】
波形整形部70は、差動増幅器50によって出力された差分信号(オペアンプ53の出力信号)を増幅器60を介して入力する。波形整形部70は、差動増幅器50によって出力された差分信号(増幅器60の出力信号)の波形を矩形波に整形する。具体的には、波形整形部70がコンパレータを有し、該コンパレータが、差動増幅器50によって出力された差分信号(増幅器60の出力信号)を基準電圧と比較することによって、差動増幅器50によって出力された差分信号(増幅器60の出力信号)をパルス信号に変換する。波形整形部70は、矩形波に整形されたパルス信号を制御部4に出力する。制御部4は、波形整形部70によって出力されたパルス信号を入力する。
【0047】
モータドライバ6は、制御部4からの指令に従ってモータ2を駆動する。つまり、モータドライバ6は、制御部4から起動指令及び回転向き指令を受けたら、モータ2をその回転向きに起動させる。モータドライバ6は、制御部4から受けた設定速度指令に従ってその設定速度でモータ2を駆動する。モータドライバ6は、制御部4から停止指令を受けたら、モータ2を停止する。
【0048】
A/Dコンバータ7は、電圧検出部である。つまり、A/Dコンバータ7は、モータ2の電源電圧を検出して、その電圧信号をデジタル信号に変換して、デジタル化した電圧データを制御部4に出力する。制御部4は、A/Dコンバータ7によって出力される電圧データを入力する。
【0049】
A/Dコンバータ8は、電流検出部である。つまり、A/Dコンバータ8は、モータ2の電流値を検出して、その電流信号をデジタル信号に変換して、デジタル化した電流データを制御部4に出力する。ここで、電流電圧変換器10の出力信号がモータ2の電流を表すので、A/Dコンバータ8は電流電圧変換器10の出力信号をデジタル信号に変換して、それを制御部4に出力する。制御部4は、A/Dコンバータ8によって出力される電流データを入力する。
【0050】
制御部4は、CPU4a及びRAM4b等を有するコンピュータである。CPU4aは、数値計算、情報処理、機器制御等の各種処理を行う。RAM4bは、一時記憶領域としての作業領域をCPU4aに提供する。
【0051】
記憶部5は、制御部4に接続されている。記憶部5は、不揮発性メモリ、ハードディスクといった読み書き可能な記憶媒体である。記憶部5は、一つの記憶媒体からなるものでもよいし、複数の記憶媒体を組み合わせたものでもよい。記憶部5が複数の記憶媒体を組み合わせたものである場合、何れかの記憶媒体がROMであってもよい。
【0052】
記憶部5には、初期位置データ5Aが格納されている。初期位置データ5Aは、モータ2が動作する前のモータ2の初期の回転位置や、モータ2によって駆動される可動部の初期位置を示す。具体的には、初期位置データ5Aは、モータ2が所定の原点位置から初期の回転位置まで回転した場合のパルス信号のパルス数である。そのパルス数に所定の定数を乗じて得られた値は、モータ2が所定の原点位置から初期の回転位置まで回転した場合の回転量であって、モータ2が動作する前のモータ2の初期の回転位置を示す。初期位置データ5Aは、予め設定されたデフォルト値であるか、又は以前にモータ2が動作した際に書き込まれた値である。仮にモータ2の初期の回転位置が原点位置であれば、初期位置データ5Aはゼロである。
【0053】
記憶部5には、制御部4にとって読み取り可能なプログラム5Zが格納されている。制御部4は、プログラム5Zを読み込んでそのプログラム5Zに従った処理を行ったり、そのプログラム5Zによって各種機能を実現したりする。なお、記憶部5が複数の記憶媒体を組み合わせたものである場合、プログラム5Zが記憶部5のROMに格納されていてもよい。
【0054】
記憶部5には、入力値と出力値との関係を表した補正マップ5B及び補正マップ5Cが格納されている。
【0055】
補正マップ5B及び補正マップ5Cは、補正ルックアップテーブル又は補正関数である。補正ルックアップテーブルは、入力値のデータ列と出力値のデータ列を対応づけたデータテーブルである。補正関数は、入力値と出力値の関係を数式で表したものである。
【0056】
補正マップ5Bは、入力値の数が単数となる単入力補正マップ(単入力ルックアップテーブル又は単入力関数)である。補正マップ5Cは、入力値の数が2である複入力補正マップ(複入力ルックアップテーブル又は複入力関数)である。
【0057】
補正マップ5Bの入力値には、モータ2の電流遮断の検出直前に抽出回路3によって出力されたパルス信号のパルス周期が当てはめられる。なお、抽出回路3によって出力されたパルス信号のパルス周期の逆数に所定の定数を乗じて得られる値がモータ2に回転速度に相当するとともに、モータ2によって駆動される可動部の速度に相当する。そのため、パルス信号のパルス周期を補正マップ5Bの入力値に当てはめることは、モータ2の回転速度又は可動部の速度を補正マップ5Bの入力値に当てはめることに相当する。
【0058】
補正マップ5Bの出力値は、モータ2の電流遮断の検出時からモータ2の停止時までの停止時間である。補正マップ5Bが関数である場合、補正マップ5Bの出力値はモータ2の摩擦係数、慣性モーメント、可動部の摩擦等を定数とした入力値の関数である。補正マップ5Bがルックアップテーブルである場合、補正マップ5Bは、その関数の入力値に当てはめられたデータ列と、その当てはめによって求められた出力値のデータ列とを対応づけたデータテーブルである。補正マップ5Bの入力値に当てはめられるパルス周期が減少
する(モータ2の回転速度や可動部の移動速度が増加する)につれて、その当てはめによって求められる出力値としての停止時間が増加する。
【0059】
補正マップ5Cの第一の入力値には、モータ2の電流遮断の検出直前に抽出回路3によって出力されたパルス信号のパルス周期が当てはめられる。
【0060】
補正マップ5Cの第二の入力値には、モータ2の電流遮時からモータ2の停止時までの停止時間が当てはめられる。つまり、補正マップ5Bの出力値が補正マップ5Cの第二の入力値に当てはめられる。
【0061】
補正マップ5Cの出力値は、モータ2の電流遮断の検出時からモータ2の停止時までの間に仮にモータ2に電流が流れていたとしたら、その間に抽出回路3が出力したパルス信号の推定パルス数である。その推定パルス数に所定の定数を乗じて得られた値がモータ2の回転量に相当するので、補正マップ5Cの出力値は、モータ2の電流遮断の検出時からモータ2の停止時までの間のモータ2の回転量でもある。また、その推定パルス数に所定の定数を乗じて得られた値が可動部の移動量に相当するので、補正マップ5Cの出力値は、モータ2の電流遮断の検出時からモータ2の停止時までの間の可動部の移動量でもある。
【0062】
補正マップ5Cの第一入力値に当てはめられるパルス周期が減少する(モータ2の回転速度や可動部の移動速度が増加する)につれて、その当てはめによって求められる出力値としての推定パルス数(モータ2の回転量や可動部の移動量)が増加する。補正マップ5Cの第二入力値に当てはめられる停止時間が増加するにつれて、その当てはめによって求められる出力値としての推定パルス数(モータ2の回転量や可動部の移動量)が増加する。
【0063】
二つの補正マップ5B,5Cが記憶部5に格納される代わりに、入力値と出力値との関係を表した補正マップ5Dが記憶部5に格納されていてもよい。補正マップ5Dは、入力値の数が単数となる単入力補正マップ(単入力ルックアップテーブル又は単入力関数)である。補正マップ5Dの入力値には、モータ2の電流遮断の検出直前に抽出回路3によって出力されたパルス信号のパルス周期が当てはめられる。補正マップ5Dの出力値は、モータ2の電流遮断の検出時からモータ2の停止時までの間に仮にモータ2に電流が流れていたとしたら、その間に抽出回路3が出力したパルス信号の推定パルス数である。補正マップ5Dの入力値に当てはめられるパルス周期が減少する(モータ2の回転速度や可動部の移動速度が増加する)につれて、その当てはめによって求められる出力値としての推定パルス数(モータ2の回転量や可動部の移動量)が増加する。
【0064】
補正マップ5B,5C,5Dは予め実験やシミュレーション等によって求められたものである。
【0065】
制御部4は、プログラム5Zによって次に述べるような手段として機能する。
【0066】
制御部4は、回転向きに関する指令及び起動指令をモータドライバ6に出して、モータ2を起動させる起動手段として機能する。
制御部4は、波形整形部70の出力信号のパルス数を計数する計数手段として機能する。計数手段によって計数されたパルス数に所定の定数を乗じて得られる値が、モータ2の回転量に相当する。そのため、計数手段は、モータ2の回転量を算出する回転量算出手段に相当する。また、計数手段によって計数されたパルス数に所定の定数を乗じて得られる値が、モータ2によって駆動される可動部の移動量にも相当する。そのため、計数手段は、可動部の移動量を算出する移動量算出手段に相当する。
制御部4は、波形整形部70の出力信号のパルス周期(パルスの立ち上がりから次のパルスの立ち上がりまでの時間)をパルスごとに計時する計時手段として機能する。制御部4によって計時されたパルス周期の逆数に所定の定数を乗じて得られる値が、モータ2の回転速度に相当するとともに、モータ2によって駆動される可動部の速度に相当する。そのため、計時手段は、モータ2の回転速度やモータ2によって駆動される可動部の移動速度を算出する速度算出手段でもある。
制御部4は、計時手段によって計時されたパルスごとのパルス周期をRAM又は記憶部5に順次記憶していく蓄積手段として機能する。なお、RAM又は記憶部5に蓄積するパルス周期のデータ数が限られている場合、制御部4は、パルス周期のデータをRAM又は記憶部5に記録する際に、最も古いパルス周期のデータをRAM又は記憶部5から削除する。
制御部4は、A/Dコンバータ7から入力した電圧データを監視する第一モニタ手段として機能する。
制御部4は、A/Dコンバータ8から入力した電流データを監視する第二モニタ手段として機能する。
制御部4は、停止指令をモータドライバ6に出して、モータ2を停止させる停止手段として機能する。
制御部4は、第一モニタ手段の監視中においてA/Dコンバータ7から入力した電圧データが所定の閾値を下回った場合にモータ2の電流の遮断を検出する第一電流遮断検出手段として機能する。
制御部4は、第二モニタ手段の監視中においてA/Dコンバータ8から入力した電流データが所定の閾値を下回った場合にモータ2の電流の遮断を検出する第二電流遮断検出手段として機能する。
制御部4は、蓄積手段によって順次記憶されたパルス周期のうち第一電流遮断検出手段と第二電流遮断検出手段のうち一方又は両方によってモータ2の電流遮断が検出された直前の一パルス分のパルス周期T_before又は複数パルス分のパルス周期T_beforeの平均値から、モータ2の電流遮断の検出時からモータ2の停止時までのモータ2の回転量に相当する推定パルス数を算出するパルス数算出手段として機能する。パルス数算出手段によって算出された推定パルス数に所定の定数を乗じて得られる値が、モータ2の電流遮断の検出時からモータ2の停止時までのモータ2の推定回転量に相当する。そのため、パルス数算出手段は、モータ2の電流遮断の検出時からモータ2の停止時までのモータ2の推定回転量を算出する推定回転量算出手段でもある。また、パルス数算出手段によって算出された推定パルス数に所定の定数を乗じて得られる値が、モータ2の電流遮断の検出時からモータ2の停止時までの可動部の推定移動量にも相当する。そのため、パルス数算出手段は、モータ2の電流遮断の検出時からモータ2の停止時までの可動部の推定移動量を算出する推定移動量算出手段でもある。
制御部4は、計数手段によって計数されたパルス数にパルス数算出手段によって算出された推定パルス数を加算するパルス数補正手段として機能する。なお、パルス数補正手段は、回転量算出手段によって算出されたモータ2の回転量に推定回転量算出手段によって算出されたモータ2の推定回転量を加算する回転量補正手段に相当する。また、パルス数補正手段は、移動量算出手段によって算出された可動部の移動量に推定移動量算出手段によって算出された可動部の推定移動量を加算する移動量補正手段に相当する。
制御部4は、記憶部5に記憶された初期位置データ5Aからパルス数補正手段によって求められた和を減算し、又は記憶部5に記憶された初期位置データ5Aにパルス数補正手段によって求められた和を加算する補正手段として機能する。この補正手段は、モータ2の回転位置を補正する回転位置補正手段に相当するとともに、可動部の位置を補正する位置補正手段に相当する。
制御部4は、記憶部5に記憶された初期位置データ5Aを補正手段によって求められた差又は和に更新する更新手段として機能する。
【0067】
プログラム5Zに基づく制御部4の処理の流れについて説明するとともに、制御部4の処理に伴うモータ制御装置1の動作について説明する。
【0068】
所定の条件が満たされると、制御部4がモータ2の起動処理(図8参照)を実行する。所定の条件が満たされるとは、例えば、ユーザが起動スイッチをオンにすること、起動センサがオンになること、制御部4によって実行されている処理(例えば、シーケンス処理)で所定の条件が満たされること等である。
【0069】
まず、制御部4は、モータ2の回転の向き(正回転か逆回転)を決定し、その回転の向きをRAM又は記憶部5に書き込む(ステップS11)。
【0070】
次に、制御部4は、ステップS11で決定した向きにモータ2を起動させる(ステップS12)。つまり、制御部4は、ステップS11で決定した向きに従った回転向き指令をモータドライバ6に出力するとともに、起動指令をそのモータドライバ6に出力する。回転向き指令及び起動指令を受けたモータドライバ6がモータ2に通電して、モータ2をその回転向きに駆動する。これにより、モータ2が回転し、モータ2によって可動部が駆動される。以上により、モータ2の起動処理が終了する。
【0071】
モータ2の動作中は、抽出回路3がモータ2の電流信号からリプル成分を抽出(検出)して、リプル成分をパルス化する。そして、抽出回路3は、リプル成分がパルス化されてなるパルス信号を制御部4に出力する。
【0072】
モータ2が起動すると、制御部4は、抽出回路3から入力したパルス信号に基づいて、パルス信号のパルス数の計数、モータ2の回転量の算出及びモータ2の回転位置の算出を行う。より具体的には、制御部4が図9に示す処理を実行することによってパルス信号のパルス数の計数、モータ2の回転量の算出及びモータ2の回転位置の算出を行う。
【0073】
図9に示す処理について具体的に説明する。
制御部4は、A/Dコンバータ7から入力した電圧データを監視して、電圧データを所定の閾値と比較する(ステップS21)。上述のように制御部4がモータ2を起動させると(ステップS13)、モータ2に電流が通電するから、制御部4は電圧データが所定の閾値を上回ったと判定して、モータ2の通電・起動を検出する(ステップS21:Yes)。そして、制御部4が記憶部5から初期位置データ5Aを読み込んで、制御部4の処理がステップS22に移行する。なお、制御部4がA/Dコンバータ8から入力した電流データを監視して、制御部4が電流データを所定の閾値と比較してもよい(ステップS21)。この場合、モータ2に電流が通電した場合、制御部4は電流データが所定の閾値を上回ったと判定して、モータ2の通電・起動を検出する(ステップS21:Yes)。
【0074】
電流がモータ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で減算を行う。勿論、回転の向きと演算の関係が逆であってもよい。
【0075】
ステップS24において更新された計数値Nが、制御部4によって計数されたパルス数である。制御部4によって計数されたパルス数(計数値N)に所定の定数を乗じて得られる値がモータ2の回転量や可動部の移動量に相当するから、制御部4がパルス数(計数値N)を計数する処理(ステップS21〜ステップS26)は、制御部4がモータ2の回転量や可動部の移動量を算出する処理に相当する。また、ステップS25において求められた差や和が、モータ2の回転位置(原点位置からその回転位置までのモータ2の回転量)を示すとともに、可動部の位置(原点位置からその位置までの可動部の移動量)を示す。
【0076】
制御部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の処理を再度行う。
【0077】
制御部4が図9に示す処理を実行している時に所定の条件が満たされると、制御部4がモータドライバ6に停止指令を出力する。そうすると、停止指令を受けたモータドライバ6がモータ2の通電を遮断し、モータ2が停止する。所定の条件とは、例えば、ユーザが停止スイッチをオンにすること、制御部4によって実行された処理(例えば、シーケンス処理)で所定の条件が満たされること、上述のステップS25において求めた差又は和が所定の値になることである。
【0078】
制御部4がモータドライバ6に停止指令を出力すると、モータ2の電流がモータドライバ6によって遮断されるので、制御部4はA/Dコンバータ7から入力した電圧データが所定の閾値を下回ったと判定して(ステップS26:Yes)、制御部4は図9に示す処理を終了する。なお、制御部4がA/Dコンバータ8から入力した電流データを所定の閾値と比較する場合(ステップS26)、モータ2の電流が遮断されたら、制御部4は電流データが所定の閾値を下回ったと判定して(ステップS26:Yes)、制御部4は図9に示す処理を終了する。
【0079】
制御部4は、図9に示す処理の終了後、図9に示すステップS23〜ステップS26の処理を繰り返している際に最後のステップS25において求めた差又は和をRAMに一時記憶する。また、制御部4は、図9に示す処理の終了後、計数値NをRAMに一時記憶する。
【0080】
ところで、モータ2の電流が遮断された時すぐにモータ2が停止するのではなく、その後もモータ2が慣性力によって回転し続ける。モータ2の電流が遮断された時からモータ2が停止する時までの間、リプルがモータ2の電流信号に発生しない。そのため、モータ2の電流が遮断された時からモータ2が停止する時までの間、パルス数、モータ2の回転量及び可動部の移動量が制御部4によって算出されない。そこで、制御部4は、次のような処理(図10〜図12参照)を行うことによって、モータ2の電流が遮断された時からモータ2が停止する時までの期間のパルス数、モータ2の回転量及び可動部の移動量を補完する。
【0081】
モータ2の動作中において、制御部4は、パルス信号のパルス周期を算出する。具体的
には、制御部4が、図10に示すような処理を実行することによってパルスの立ち上がりから次のパルスの立ち上がりまでのパルス周期をパルスごとに順次算出し、算出したパルス周期をRAMや記憶部5に順次記憶する。
【0082】
まず、制御部4は、計時時間をゼロにリセットする(ステップS31)。次に、制御部4は、計時を開始するとともに、抽出回路3の出力パルス信号のパルスが立ち上がるまで計時を継続する(ステップS32、ステップS33:No)。そして、制御部4が抽出回路3の出力パルス信号のパルスの立ち上がりを検出したら(ステップS33:Yes)、制御部4が計時を終了するとともに(ステップS34)、計時時間をRAM若しくは記憶部5又はこれらの両方に記憶する(ステップS35)。そして、制御部4は計時時間を再びゼロにリセットする(ステップS31)。制御部4が以上のステップS31〜ステップS35の処理を繰り返すことによって、計時時間がRAM若しくは記憶部5又はこれらの両方に順次記憶される。RAM若しくは記憶部5又はこれらの両方に書き込まれた計時時間は、抽出回路3の出力パルス信号のパルス周期である。パルス周期の逆数が、モータ2の回転速度に示すとともに、モータ2によって駆動される可動部の速度を示す。従って、制御部4がパルスごとにパルス周期を計時する処理(ステップS31〜ステップS35)は、パルスごとにモータ2の回転速度や可動部の速度を求める処理に相当する。
【0083】
制御部4がモータドライバ6に停止指令を出力したら、制御部4が図11に示すような処理を実行する。まず、制御部4は、A/Dコンバータ7から入力した電圧データを監視して、電圧データを所定の閾値と比較する(ステップS41)。上述のように制御部4がモータドライバ6に停止指令を出力すると、モータ2の電流が遮断するから、制御部4は電圧データが所定の閾値を下回ったと判定して、モータ2の電流遮断を検出する(ステップS41:Yes)。なお、ステップS41では、制御部4がA/Dコンバータ8から入力した電流データを所定の閾値と比較してもよい(ステップS41)。この場合、モータ2の電流が遮断されたら、制御部4は電流データが所定の閾値を↓回ったと判定して(ステップS41:Yes)、モータ2の電流遮断を検出する。
【0084】
次に、制御部4は、記憶部5又はRAMに記憶されたパルスごとのパルス周期(図10参照)のうち、モータ2の電流の遮断を検出する直前(ステップS41:Yes,ステップS26:Yesの直前)の一パルス分又は複数パルス分のパルス周期T_beforeを読み込む(ステップS42)。パルス周期T_beforeの逆数に所定の定数を乗じて得られる値は、モータ2の電流遮断の検出直前のモータ2の回転速度に相当するとともに、モータ2の電流遮断の検出直前の可動部の速度に相当する。従って、制御部4がパルス周期T_beforeを読み込む処理(ステップS42)は、制御部4がモータ2の遮電直線のモータ2の回転速度や可動部の速度を読み込む処理に相当する。なお、制御部4が複数パルス分のパルス周期T_beforeを読み込んだ場合には、制御部4が複数パルス分のパルス周期T_beforeの平均値を算出する。
【0085】
次に、制御部4は、複数パルス分のパルス周期T_beforeの平均値又は一パルス分のパルス周期T_beforeから、モータ2の電流遮断の検出時からモータ2の停止時までの停止時間T_stopを算出する(ステップS43)。具体的には、制御部4は、複数パルス分のパルス周期T_beforeの平均値又は一パルス分のパルス周期T_beforeを補正マップ5Bの入力値に当てはめることによって、それに対応する出力値を停止時間T_stopとして求める(ステップS43)。
【0086】
次に、制御部4は、複数パルス分のパルス周期T_beforeの平均値又は一パルス分のパルス周期T_before及び停止時間T_stopから、モータ2の電流遮断の検出時からモータ2の停止時までの推定パルス数nを算出する(ステップS44)。具体的には、制御部4は、複数パルス分のパルス周期T_beforeの平均値又は一パルス分のパルス周期T_beforeを
補正マップ5Cの第一入力値に当てはめるとともに、ステップS43で算出した停止時間T_stopを補正マップ5Cの第二入力値に当てはめることによって、それらに対応する出力値を推定パルス数nとして求める(ステップS44)。推定パルス数nは、モータ2の電流遮断の検出時からモータ2の停止時までのモータ2の回転量に相当するパルス数である。そのため、制御部4が推定パルス数nを算出する処理(ステップS44)は、制御部4がモータ2の推定回転量や可動部の推定移動量を算出する処理に相当する。なお、制御部4は、補正マップ5B,5Cを用いずに、複数パルス分のパルス周期T_beforeの平均値又は一パルス分のパルス周期T_beforeを補正マップ5Dの入力値に当てはめることによって、それに対応する出力値を推定パルス数nとして求めてもよい。
【0087】
制御部4は、推定パルス数nの算出後、図11に示す処理を終了する。
【0088】
制御部4は、図11に示す処理において推定パルス数nを求めたら、図11に示す処理で求めた推定パルス数nに基づき、図9に示すステップS23〜ステップS26の処理を繰り返している際に最後のステップS25において求めた差又は和を補正することで、モータ2の回転位置(停止位置)や可動部の位置(停止位置)を補正する。具体的には、制御部4が図12に示すような処理を実行する。つまり、制御部4は、最後のステップS25において求めた差から推定パルス数nを減算するか、又は最後のステップS25において求めた和に推定パルス数nを加算する(ステップS51)。この際、制御部4は、ステップS51の演算をステップS11で決定した向きに従って決定する。例えば、ステップS11で決定した回転の向きが正回転である場合には、制御部4がステップS51で推定パルス数nの加算を行い、ステップS11で決定した回転の向きが逆回転である場合には、制御部4がステップS51で推定パルス数nの減算を行う。勿論、回転の向きと加算・減算の関係が逆であってもよい。
次に、制御部4は、そのような減算又は加算によって求めた値を記憶部5に書き込む(ステップS52)。具体的には、制御部4は、記憶部5に記憶された初期位置データ5AをステップS51で求めた値に書き換える。そして、制御部4は、図12に示す処理を終了する。
【0089】
なお、制御部4は、最後のステップS24において求めたパルス数(計数値N)に推定パルス数nを加算することで、モータ2の回転量や可動部の移動量を補正してもよい。その場合、図12に示すステップS51の処理では、制御部4は、計数値Nと推定パルス数nの和を記憶部5の初期位置データ5Aに加算するか、又は計数値Nとパルス数nの和を記憶部5の初期位置データ5Aから減算する。この際、制御部4は、ステップS51の演算をステップS11で決定した向きに従って決定する。例えば、ステップS11で決定した回転の向きが正回転である場合には、制御部4がステップS51で加算を行い、ステップS11で決定した回転の向きが逆回転である場合には、制御部4がステップS51で減算を行う。勿論、回転の向きと加算・減算の関係が逆であってもよい。
【0090】
以上に述べたことがモータ制御装置1の動作の説明である。図1に示されたモータ制御装置1は、例えば車両用シート装置に用いられる。その車両用シート装置は、図1に示されたモータ制御装置1と、図13に示されたシート本体90とを備え、シート本体90の可動部がモータ2によって駆動される。
【0091】
シート本体90の可動部の数とモータ2の数が同数であることが好ましく、モータ2の数が複数である場合、モータドライバ6及び抽出回路3がモータ2ごとに設けられ、制御部4及び記憶部5が全てのモータ2に共通している。なお、モータ2の数が複数である場合、モータドライバ6及び抽出回路3の数がそれぞれ1であってもよい。その場合、リレー回路が設けられ、リレー回路が制御部4からの指令に従って複数のモータ2のうちの何れか一つを選択する。そして、そのリレー回路が選択したモータ2を抽出回路3及びモー
タドライバ6に接続するとともに、他を抽出回路3及びモータドライバ6から遮断する。
【0092】
シート本体90について具体的に説明する。シート本体90はレール91、シートボトム92、バックレスト93、ヘッドレスト94、アームレスト95及びレッグレスト96等を備える。
【0093】
シートボトム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を跳ね上げ状態から垂下状態に又はその逆に駆動する。
【0094】
本発明の実施の形態は、以下のような効果を奏する。
(1) 制御部4がA/Dコンバータ7によって検出された電圧データ又はA/Dコンバータ8によって検出された電流データに基づいてモータ2の電流遮断を検出するから(ステップS41:Yes)、モータ2の電流遮断時が正確に検出される。また、制御部4がモータ2の電流を遮断する処理を行った時から実際にモータ2の電流が遮断される時までに遅れが生じても、そのモータ2の電流遮断時が正確に検出される。
(2) 制御部4がパルスごとのパルス周期を順次記憶するから(ステップS35)、モータ2の電流遮断の検出後でも、制御部4が電流遮断の検出直前のパルス周期を利用してモータ2の電流遮断の検出時からモータ2の停止時までの推定パルス数nを算出することができる(図11参照)。
(3) 制御部4がモータの電流遮断の検出直前のパルス周期に基づいてモータの電流遮断の検出時からモータの停止時までの推定パルス数nを算出するから(図11参照)、モータ2が電流遮断時からしばらく回転しても、モータ2の停止時までのモータの回転量やモータ2の停止位置が正確に求められる(図12参照)。
(4) フィルタ40の回路設計においてフィルタ40の高カットオフ周波数fc2がリプル成分の周波数よりも低く設定されているから、フィルタ40によってリプル成分を除去することができる。
(5) 差動増幅器50が、バンドパスフィルタ30の出力信号(電流電圧変換器10によって変換された電圧信号のうち直流成分及び高周波ノイズ成分等が除去されたもの)と、フィルタ40の出力信号(電流電圧変換器10によって変換された電圧信号のうち直流成分、高周波ノイズ成分及びリプル成分等が除去されたもの)の差分を取って、それを差分信号として出力する。そのため、差動増幅器50の出力信号は、電流電圧変換器10によって変換された電圧信号のうちリプル成分である。差動増幅器50の出力信号が差分信号であるからこそ、モータ2の電流信号の各成分の周波数が環境変化によって変動しても、リプル成分が正確に抽出されて、モータ2の電流信号中のリプルを高精度に検出することができる。
(6) 図5に示す周波数特性のうち、高カットオフ周波数fc2よりも高い領域の傾斜部分を利用したからこそ、リプル成分の周波数が温度変化により変動したものとしても、差動増幅器50の出力信号がリプル成分として正確に抽出される。
(7) フィルタ40の周波数特性を利用して、フィルタ40と差動増幅器50によってリ
プル成分を抽出したから、フィルタ40にカットオフ周波数可変型フィルタを用いなくても済む。そのため、フィルタ40のコストを削減することができる。
(8) 抽出回路3がフィードバック制御回路のような閉ループ回路でないから、モータ2の電流信号の各成分の周波数が過渡的に又は急激に変化したものとしても、リプルを正確に検出することができる。
(9) フィルタ40が抵抗器41b,41d,41a,41c及びキャパシタ41a,41c,41b,41d,43aからなるフィルタであるから、フィルタ40の構成がシンプルであり、フィルタ40のコストアップを抑えることができる。
(10) フィルタ40の周波数特性を利用して、フィルタ40と差動増幅器50によってリプル成分を抽出したから、ハイパスフィルタ20やバンドパスフィルタ30にカットオフ周波数可変型フィルタを用いなくても済む。そのため、ハイパスフィルタ20やバンドパスフィルタ30のコストアップを抑えることができる。
(11) 電流電圧変換器10によって変換された電圧信号のうち直流成分がハイパスフィルタ20によって除去されるから、そのハイパスフィルタ20の後段のバンドパスフィルタ30、フィルタ40及び差動増幅器50の処理が正確に行われる。
(12) 電流電圧変換器10によって変換された電圧信号のうち所定周波数帯域外の成分がバンドパスフィルタ30によって減衰するから、そのバンドパスフィルタ30の後段のフィルタ40や差動増幅器50の処理が正確に行われる。
【0095】
〔変形例〕
なお、本発明を適用可能な実施形態は、上述した実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。以下、変形例について説明する。以下に挙げる変形例は可能な限り組み合わせてもよい。
【0096】
〔変形例1〕
上述の実施の形態では、補正マップ5Bが、入力値の数が単数となる単入力補正マップ(単入力ルックアップテーブル又は単入力関数)であった。それに対して、変形例1では、補正マップ5Bが、入力値の数が2となる複入力補正マップ(複入力ルックアップテーブル又は複入力関数)である。補正マップ5Bの第一入力値には、モータ2の電流遮断の検出直前に抽出回路3によって出力されたパルス信号のパルス周期が当てはめられる。補正マップ5Bの第二入力値には、モータ2の電流遮断の検出直前にA/Dコンバータ8から入力した電流データが当てはめられる。補正マップ5Bの出力値は、モータ2の電流遮断の検出時からモータ2の停止時までの停止時間である。補正マップ5Bの第二入力値に当てはめられる電流データが減少するにつれて、その当てはめによって求められる出力値としての停止時間が増加する。
【0097】
モータ2に掛かる摩擦等が増加するにつれて、モータ2の電流遮断時からモータ2の停止時までの時間が減少するとともに、その間のモータの回転量も減少する。モータ2に掛かる摩擦等が増加するにつれて、モータ2の負荷が増加する。モータの負荷が増加するにつれて、モータ2の電流が増加する。そこで、モータ2の負荷を停止時間に反映させるべく、モータ2の電流遮断の検出直前にA/Dコンバータ8から入力した電流データが補正マップ5Bの第二入力値に当てはめられる。
【0098】
補正マップ5Dを用いる場合、補正マップ5Dは、入力値の数が2となる複入力補正マップ(複入力ルックアップテーブル又は複入力関数)である。補正マップ5Dの第一入力値には、モータ2の電流遮断の検出直前に抽出回路3によって出力されたパルス信号のパルス周期が当てはめられる。補正マップ5Dの第二入力値には、モータ2の電流遮断の検出直前にA/Dコンバータ8から入力した電流データが当てはめられる。補正マップ5Dの出力値は、モータ2の電流遮断の検出時からモータ2の停止時までの間に仮にモータ2に電流が流れていたとしたら、その間に抽出回路3が出力したパルス信号の推定パルス数
である。補正マップ5Dの第二入力値に当てはめられる電流データが減少するにつれて、その当てはめによって求められる出力値としての推定パルス数が増加する。
【0099】
変形例1における制御部4の処理は、以下の点で、第1の実施の形態における制御部4の処理と相違する。
【0100】
モータ2の動作中、制御部4は、抽出回路3によって出力されたパルス信号のパルスが立ち上がる度に、A/Dコンバータ8から入力された電流データをRAM又は記憶部5に順次記憶していく。なお、RAM又は記憶部5に蓄積する電流データの数が限られている場合、制御部4は、電流データをRAM又は記憶部5に記録する際に、最も古い電流データをRAM又は記憶部5から削除する。
【0101】
図11のステップS42の処理においては、制御部4が、記憶部5又はRAMに記憶されたパルスごとの電流データのうち、モータ2の電流の遮断を検出する直前の一パルス分又は複数パルス分の電流データを読み込む。勿論、制御部4は、モータ2の電流の遮断を検出する直前の一パルス分又は複数パルス分のパルス周期T_beforeも読み込む(ステップS42)。なお、制御部4が複数パルス分の電流データを読み込んだ場合には、制御部4が複数パルス分の電流データの平均値を算出する。
【0102】
図11のステップS43の処理においては、制御部4が、複数パルス分のパルス周期T_beforeの平均値又は一パルス分のパルス周期T_beforeを補正マップ5Bの第一入力値に当てはめるとともに、複数パルス分の電流データの平均値又は一パルス分の電流データを補正マップ5Bの第二入力値に当てはめることによって、それらに対応する出力値を停止時間T_stopとして求める。
【0103】
補正マップ5Dを用いる場合には、ステップS42の処理の後、図11に示す処理の終了の前に、制御部4が、複数パルス分のパルス周期T_beforeの平均値又は一パルス分のパルス周期T_beforeを補正マップ5Dの第一入力値に当てはめるとともに、複数パルス分の電流データの平均値又は一パルス分の電流データを補正マップ5Dの第二入力値に当てはめることによって、それらに対応する出力値を推定パルス数nとして求める。
【0104】
以上に説明したことを除いて、第1の実施の形態と変形例1は同様である。
【0105】
変形例1によれば、モータ2の負荷や摩擦等が変動する場合でも、モータ2の電流遮断時からモータ2の停止時までのモータ2の回転量等を正確に算出することができる。
【0106】
〔変形例2〕
上述の実施の形態では、補正マップ5Bは、入力値の数が単数となる単入力補正マップ(単入力ルックアップテーブル又は単入力関数)であった。それに対して、変形例2では、補正マップ5Bは、入力値の数が3となる複入力補正マップ(複入力ルックアップテーブル又は複入力関数)である。補正マップ5Bの第一入力値には、モータ2の電流遮断の検出直前に抽出回路3によって出力されたパルス信号のパルス周期が当てはめられる。補正マップ5Bの第二入力値には、モータ2の電流遮断の検出直前にA/Dコンバータ8から入力した電流データが当てはめられる。補正マップ5Bの第三入力値には、モータ2の電流遮断の検出直前にA/Dコンバータ7から入力した電圧データが当てはめられる。
【0107】
モータ2の摩擦係数や可動部の摩擦係数等は環境温度に依存し、環境温度が高まるにつれて、モータ2の摩擦係数や可動部の摩擦係数等が低くなる。また、環境温度はモータ2の電流や電圧に依存する。そこで、環境温度を停止時間に反映させるべく、モータ2の電流遮断の検出直前にA/Dコンバータ8から入力した電流データが補正マップ5Bの第二
入力値に当てはめられるとともに、モータ2の電流遮断の検出直前にA/Dコンバータ7から入力した電圧データが補正マップ5Bの第三入力値に当てはめられる。
【0108】
補正マップ5Dを用いる場合、補正マップ5Dは、入力値の数が3となる複入力補正マップ(複入力ルックアップテーブル又は複入力関数)である。補正マップ5Dの第一入力値には、モータ2の電流遮断の検出直前に抽出回路3によって出力されたパルス信号のパルス周期が当てはめられる。補正マップ5Dの第二入力値には、モータ2の電流遮断の検出直前にA/Dコンバータ8から入力した電流データが当てはめられる。補正マップ5Dの第三入力値には、モータ2の電流遮断の検出直前にA/Dコンバータ7から入力した電圧データが当てはめられる。補正マップ5Dの出力値は、モータ2の電流遮断の検出時からモータ2の停止時までの間に仮にモータ2に電流が流れていたとしたら、その間に抽出回路3が出力したパルス信号の推定パルス数である。
【0109】
変形例2における制御部4の処理は、以下の点で、第1の実施の形態における制御部4の処理と相違する。
【0110】
モータ2の動作中、制御部4は、抽出回路3によって出力されたパルス信号のパルスが立ち上がる度に、A/Dコンバータ8から入力された電流データをRAM又は記憶部5に順次記憶していく。また、モータ2の動作中、制御部4は、抽出回路3によって出力されたパルス信号のパルスが立ち上がる度に、A/Dコンバータ8から入力された電圧データをRAM又は記憶部5に順次記憶していく。なお、RAM又は記憶部5に蓄積する電流データの数が限られている場合、制御部4は、電流データをRAM又は記憶部5に記録する際に、最も古い電流データをRAM又は記憶部5から削除する。RAM又は記憶部5に蓄積する電圧データの数が限られている場合も同様である。
【0111】
図11のステップS42の処理においては、制御部4が、記憶部5又はRAMに記憶されたパルスごとの電流データのうち、モータ2の電流の遮断を検出する直前の一パルス分又は複数パルス分の電流データを読み込む。制御部4が、記憶部5又はRAMに記憶されたパルスごとの電圧データのうち、モータ2の電流の遮断を検出する直前の一パルス分又は複数パルス分の電圧データを読み込む。勿論、制御部4は、モータ2の電流の遮断を検出する直前の一パルス分又は複数パルス分のパルス周期T_beforeも読み込む(ステップS42)。なお、制御部4が複数パルス分の電流データを読み込んだ場合には、制御部4が複数パルス分の電流データの平均値を算出する。制御部4が複数パルス分の電圧データを読み込んだ場合も同様である。
【0112】
図11のステップS43の処理においては、制御部4が、複数パルス分のパルス周期T_beforeの平均値又は一パルス分のパルス周期T_beforeを補正マップ5Bの第一入力値に当てはめる。更に、制御部4は、複数パルス分の電流データの平均値又は一パルス分の電流データを補正マップ5Bの第二入力値に当てはめる。更に、制御部4は、複数パルス分の電圧データの平均値又は一パルス分の電圧データを補正マップ5Bの第三入力値に当てはめる。そして、制御部4は、それらの当てはめによって、当てはめた数値に対応する出力値を停止時間T_stopとして求める。
【0113】
補正マップ5Dを用いる場合には、ステップS42の処理の後、図11に示す処理の終了の前に、制御部4が、複数パルス分のパルス周期T_beforeの平均値又は一パルス分のパルス周期T_beforeを補正マップ5Dの第一入力値に当てはめる。更に、制御部4は、複数パルス分の電流データの平均値又は一パルス分の電流データを補正マップ5Dの第二入力値に当てはめる。更に、制御部4は、複数パルス分の電圧データの平均値又は一パルス分の電圧データを補正マップ5Dの第三入力値に当てはめる。そして、制御部4は、それらの当てはめによって、当てはめた数値に対応する出力値を推定パルス数nとして求め
る。
【0114】
以上に説明したことを除いて、第1の実施の形態変形例2は同様である。
【0115】
変形例2によれば、環境温度が変動して、モータ2の摩擦係数等が変動する場合でも、モータ2の電流遮断時からモータ2の停止時までのモータ2の回転量等を正確に算出することができる。
【0116】
〔変形例3〕
図14に示すように、温度センサ9bがインターフェース9aを介して制御部4に接続されている。温度センサ9bは、温度を検出して、インターフェース9aを通じて温度データを制御部4に出力する。制御部4は、温度センサ9bによって出力された温度データを入力する。温度センサ9bがモータ2に取り付けられ、温度センサ9bがモータ2の温度を検出する。或いは、温度センサ9bがモータ制御装置1の周辺に設けられ、温度センサ9bがモータ制御装置1の周辺の環境温度を検出する。或いは、温度センサ9bがシート本体90が取り付けられる車室内に配置され、温度センサ9bが車室の温度を検出する。或いは、温度センサ9bがシート本体90が取り付けられる車室のカーエアコンに内蔵された温度センサであり、その温度センサ9bが車室の温度を検出する。
【0117】
変形例3では、補正マップ5Bが、入力値の数が2となる複入力補正マップ(複入力ルックアップテーブル又は複入力関数)である。補正マップ5Bの第一入力値には、モータ2の電流遮断の検出直前に抽出回路3によって出力されたパルス信号のパルス周期が当てはめられる。補正マップ5Bの第二入力値には、モータ2の電流遮断の検出直前に温度センサ9bによって検出された温度データが当てはめられる。補正マップ5Bの出力値は、モータ2の電流遮断の検出時からモータ2の停止時までの停止時間である。補正マップ5Bの第二入力値に当てはめられる温度データが増加するにつれて、その当てはめによって求められる出力値としての停止時間が増加する。
【0118】
モータ2の摩擦係数や可動部の摩擦係数等は環境温度に依存し、環境温度が高まるにつれて、モータ2の摩擦係数や可動部の摩擦係数等が低くなる。そこで、環境温度を停止時間に反映させるべく、モータ2の電流遮断の検出直前に温度センサ9bから入力した温度センサが補正マップ5Bの第二入力値に当てはめられる。
【0119】
補正マップ5Dを用いる場合、補正マップ5Dは、入力値の数が2となる複入力補正マップ(複入力ルックアップテーブル又は複入力関数)である。補正マップ5Dの第一入力値には、モータ2の電流遮断の検出直前に抽出回路3によって出力されたパルス信号のパルス周期が当てはめられる。補正マップ5Dの第二入力値には、モータ2の電流遮断の検出直前に温度センサ9bによって検出された温度データが当てはめられる。補正マップ5Dの出力値は、モータ2の電流遮断の検出時からモータ2の停止時までの間に仮にモータ2に電流が流れていたとしたら、その間に抽出回路3が出力したパルス信号の推定パルス数である。補正マップ5Dの第二入力値に当てはめられる温度データが増加するにつれて、その当てはめによって求められる出力値としての推定パルス数が増加する。
【0120】
変形例3における制御部4の処理は、以下の点で、第1の実施の形態における制御部4の処理と相違する。
【0121】
モータ2の動作中、制御部4は、抽出回路3によって出力されたパルス信号のパルスが立ち上がる度に、温度センサ9bから入力された温度データをRAM又は記憶部5に順次記憶していく。なお、RAM又は記憶部5に蓄積する温度データの数が限られている場合、制御部4は、温度データをRAM又は記憶部5に記録する際に、最も古い温度データを
RAM又は記憶部5から削除する。
【0122】
図11のステップS42の処理においては、制御部4が、記憶部5又はRAMに記憶されたパルスごとの温度データのうち、モータ2の電流の遮断を検出する直前の一パルス分又は複数パルス分の温度データを読み込む。勿論、制御部4は、モータ2の電流の遮断を検出する直前の一パルス分又は複数パルス分のパルス周期T_beforeも読み込む(ステップS42)。なお、制御部4が複数パルス分の温度データを読み込んだ場合には、制御部4が複数パルス分の温度データの平均値を算出する。
【0123】
図11のステップS43の処理においては、制御部4が、複数パルス分のパルス周期T_beforeの平均値又は一パルス分のパルス周期T_beforeを補正マップ5Bの第一入力値に当てはめるとともに、複数パルス分の温度データの平均値又は一パルス分の温度データを補正マップ5Bの第二入力値に当てはめることによって、それらに対応する出力値を停止時間T_stopとして求める。
【0124】
補正マップ5Dを用いる場合には、ステップS42の処理の後、図11に示す処理の終了の前に、制御部4が、複数パルス分のパルス周期T_beforeの平均値又は一パルス分のパルス周期T_beforeを補正マップ5Dの第一入力値に当てはめるとともに、複数パルス分の温度データの平均値又は一パルス分の温度データを補正マップ5Dの第二入力値に当てはめることによって、それらに対応する出力値を推定パルス数nとして求める。
【0125】
以上に説明したことを除いて、第1の実施の形態と変形例1は同様である。
【0126】
変形例3によれば、環境温度が変動する場合でも、モータ2の摩擦係数等が変動する場合でも、モータ2の電流遮断時からモータ2の停止時までのモータ2の回転量等を正確に算出することができる。
【0127】
〔変形例4〕
上述の実施形態及び変形例1〜3では、制御部4が図11に示すステップS42〜ステップS44の処理をモータ2の電流遮断後に行っていた。それに対して、モータ2の電流遮断前において、制御部4がパルス信号のパルス周期を求める度に図11に示すステップS42〜ステップS44の処理を行ってもよい。つまり、制御部4が、図10に示すステップS35でパルス周期を計時したら、そのパルス周期から停止時間T_stopを求め(ステップS43)、そのパルス周期と停止時間T_stopから推定パルス数nを求める(ステップS44)。なお、制御部4は、図10に示すステップS35でパルス周期を計時したら、そのパルス周期を補正マップ5Dの入力値に当てはめることによって、それに対応する出力値を推定パルス数nとして求めてもよい。
【0128】
そして、制御部4は、図9に示すステップS23からステップS26までの処理を繰り返している際に、図9に示すステップS24の後にステップS24で求めたパルス数(計数値N)に推定パルス数nを加算することで、モータ2の回転量や可動部の移動量を補正する。ただし、制御部4は、計数値Nを更新せずに、計数値Nとは別に、計数値Nと推定パルス数nの和を求める。計数値Nと推定パルス数nの和は、仮にその時点でモータ2の電流が遮断されたとしたらモータ2が起動してから停止するまでのモータ2の回転量や可動部の移動量を示す。
また、制御部4は、図9に示すステップS23からステップS26までの処理を繰り返している際に、図9に示すステップS25の後にステップS25で求めた差から推定パルス数nを減算するか、又はステップS25で求めた和に推定パルス数nを加算する。そのような減算又は加算によって求められた値は、仮にその時点でモータ2の電流が遮断されたとしたらモータ2や可動部の停止位置を示す。
【0129】
〔変形例5〕
上述のステップS22において、制御部4は、計数値Nをゼロにリセットするのではなく、計数値Nを初期位置データ5Aに設定してもよい。この場合、ステップS25における処理が省略される。更に、ステップS24においては、制御部4が、抽出回路3によって出力されたパルス信号のパルスを入力するごとに、計数値Nに1を加算し又は減算することで計数値Nを更新する。制御部4は、ステップS24の演算をステップS11で決定した向きに従って決定する。例えば、ステップS11で決定した回転の向きが正回転である場合には、制御部4がステップS24で加算を行い、ステップS11で決定した回転の向きが逆回転である場合には、制御部4がステップS24で減算を行う。勿論、回転の向きと演算の関係が逆であってもよい。
ステップS24で更新した計数値Nは、モータ2の回転位置を示すとともに、原点位置を基準としてその原点位置からの距離を示す。
【0130】
〔変形例6〕
抽出回路3は一例であり、上述の実施形態の回路に限るものではない。例えば、フィルタ40及び差動増幅器50を省略してもよい。その場合、リプル成分の周波数が変化しても、リプル成分を正確に抽出できるようにするために、スイッチト・キャパシタ・フィルタをバンドパスフィルタ30の後段であって増幅器60の前段に設けることが好ましい。スイッチト・キャパシタ・フィルタのカットオフ周波数が可変であり、リプル成分や低周波成分の周波数が変化した場合でも、スイッチト・キャパシタ・フィルタは、低周波成分を減衰させ、リプル成分を通過させる。
【0131】
〔変形例7〕
フィルタ40の回路設計において、温度変化によるリプル成分の周波数の変動も考慮しつつ、図5に示すフィルタ40の低カットオフ周波数fc1がリプル成分の周波数(例えば、常温時の周波数)よりも高く設定されている。従って、フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)のうちリプル成分を高周波成分(高周波成分はリプル成分よりも周波数が高い。)よりも高い減衰率で減衰させる。つまり、フィルタ40は、リプル成分を高周波成分よりも効率的に除去する。従って、フィルタ40は、リプル成分を除去した信号を差動増幅器50に出力する。
【0132】
この場合、モータ2の電流信号やフィルタ40及び差動増幅器50の入力信号は、リプル成分と、そのリプル成分よりも周波数が高い高周波成分とを重畳したものである。
【0133】
〔変形例8〕
フィルタ40がバンドパスフィルタではなく、図15に示すような周波数特性を有したローパスフィルタであってもよい。フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)のうちカットオフ周波数fc3以下の成分を通過させ、カットオフ周波数fc3を超える成分を減衰させる。具体的には、カットオフ周波数fc3を超える高周波域において、フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)に含まれる成分の周波数が低いほど減衰率がより低くなるように、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)を減衰させる。
【0134】
フィルタ40の回路設計において、温度変化によるリプル成分の周波数の変動も考慮しつつ、図15に示すフィルタ40のカットオフ周波数fc3がリプル成分の周波数(例えば、常温時の周波数)よりも低く設定されている。従って、フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)のうちリプル成分を低周波成分(低周波成分はリプル成分よりも周波数が低い。)よりも高い減衰率
で減衰させる。つまり、フィルタ40は、リプル成分を低周波成分よりも効率的に除去する。従って、フィルタ40は、リプル成分を除去した信号を差動増幅器50に出力する。
【0135】
この場合、モータ2の電流信号やフィルタ40及び差動増幅器50の入力信号は、リプル成分と、そのリプル成分よりも周波数が低い低周波成分とを重畳したものである。
【0136】
フィルタ40がローパスフィルタである場合、図6に示すハイパスフィルタ41,43が省略され、バンドパスフィルタ30の出力がローパスフィルタ42の入力に接続され、ローパスフィルタ42の出力が抵抗器51を介してオペアンプ53の反転入力端子に接続される。
【0137】
〔変形例9〕
フィルタ40がバンドパスフィルタではなく、図16に示すような周波数特性を有したハイパスフィルタであってもよい。フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)のうちカットオフ周波数fc4以上の成分を通過させ、カットオフ周波数fc4を下回る成分を減衰させる。具体的には、カットオフ周波数fc4を下回る低周波域において、フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)に含まれる成分の周波数が低いほど減衰率がより高くなるように、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)を減衰させる。
【0138】
フィルタ40の回路設計において、温度変化によるリプル成分の周波数の変動も考慮しつつ、図16に示すフィルタ40のカットオフ周波数fc4がリプル成分の周波数(例えば、常温時の周波数)よりも高く設定されている。従って、フィルタ40は、電流電圧変換器10によって変換された電圧信号(バンドパスフィルタ30の出力信号)のうちリプル成分を高周波成分(高周波成分はリプル成分よりも周波数が高い。)よりも高い減衰率で減衰させる。つまり、フィルタ40は、リプル成分を高周波成分よりも効率的に除去する。従って、フィルタ40は、リプル成分を除去した信号を差動増幅器50に出力する。
【0139】
フィルタ40がハイパスフィルタである場合、図6に示すローパスフィルタ42が省略され、バンドパスフィルタ30の出力がハイパスフィルタ41の入力に接続されている。
【0140】
〔変形例10〕
フィルタ40がバンドパスフィルタではなく、バンドストップフィルタであってもよい。
【0141】
〔変形例11〕
ハイパスフィルタ20とバンドパスフィルタ30の一方又は両方を省略してもよい。ハイパスフィルタ20を省略した場合には、電流電圧変換器10の出力がバンドパスフィルタ30の入力に接続される。バンドパスフィルタ30を省略した場合には、ハイパスフィルタ20の出力がフィルタ40の入力及び差動増幅器50の入力に接続される。ハイパスフィルタ20とバンドパスフィルタ30の両方が省略されている場合には、電流電圧変換器10の出力がフィルタ40の入力及び差動増幅器50の入力に接続される。
【0142】
〔変形例12〕
モータ制御装置1が電動ドアミラー装置に組み込まれ、電動ドアミラー装置の可動部(例えば、ドアに対してミラーハウジングの格納及び展開をする格納機構、ミラーハウジングに対してミラーを上下に振るチルト機構、ミラーハウジングに対してミラーを左右に振るパン機構)がモータ制御装置1のモータ2によって駆動されてもよい。モータ制御装置1がパワーウィンドウ装置に組み込まれ、パワーウィンドウ装置の可動部(例えば、ウィ
ンドウレギュレター)がモータ2によって駆動されてもよい。
【0143】
〔変形例13〕
フィルタ40がオペアンプを用いたもの(例えば、負帰還型ローパスフィルタ、正帰還型ローパスフィルタ、多重負帰還型バンドパスフィルタ、多重正帰還型バンドパスフィルタ)でもよい。
【符号の説明】
【0144】
1 モータ制御装置
2 モータ
3 抽出回路
4 制御部
5 記憶部
5A 初期位置データ
5B 補正マップ(第一補正マップ)
5C 補正マップ(第二補正マップ)
5D 補正マップ
7 A/Dコンバータ(電圧検出部)
8 A/Dコンバータ(電流検出部)
【特許請求の範囲】
【請求項1】
駆動されると電流信号に周期的なリプルを発生させるモータと、
前記モータの前記電流信号からリプル成分を抽出して、そのリプル成分をパルス化したパルス信号を出力する抽出回路と、
前記モータの電圧を検出する電圧検出部と、
前記パルス信号を入力するとともに、前記モータを制御する制御部と、を備え、
前記制御部が、
前記パルス信号のパルスごとに前記パルス信号のパルス周期を計時して、計時したパルス周期を順次記憶する第一処理と、
前記モータの電流を遮断する第二処理と、
前記第二処理後に前記電圧検出部によって検出された電圧に基づいて前記モータの電流遮断を検出したら、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の一パルス分又は複数パルス分のパルス周期に基づいて前記モータの電流遮断の検出時から前記モータの停止時までの推定パルス数を算出する第三処理と、を実行する、モータ制御装置。
【請求項2】
駆動されると電流信号に周期的なリプルを発生させるモータと、
前記モータの前記電流信号からリプル成分を抽出して、そのリプル成分をパルス化したパルス信号を出力する抽出回路と、
前記モータの電流を検出する電流検出部と、
前記パルス信号を入力するとともに、前記モータを制御する制御部と、を備え、
前記制御部が、
前記パルス信号のパルスごとに前記パルス信号のパルス周期を計時して、計時したパルス周期を順次記憶する第一処理と、
前記モータの電流を遮断する第二処理と、
前記第二処理後に前記電流検出部によって検出された電流に基づいて前記モータの電流遮断を検出したら、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の一パルス分又は複数パルス分のパルス周期に基づいて前記モータの電流遮断の検出時から前記モータの停止時までの推定パルス数を算出する第三処理と、を実行する、モータ制御装置。
【請求項3】
第一入力値及び第二入力値と出力値との関係を表した第一補正マップと、第一入力値及び第二入力値と出力値との関係を表した第二補正マップとを記憶した記憶部と、
温度を検出する温度センサと、を更に備え、
前記制御部が、前記パルス信号のパルスごとに前記温度センサによって検出された温度を順次記憶する第四処理を実行し、
前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第一補正マップの第一入力値に当てはめるとともに、前記第四処理で記憶した温度のうち前記モータの電流遮断の検出直前の複数パルス分の温度の平均値又は一パルス分の温度を前記第一補正マップの第二入力値に当てはめることで、それらに対応する出力値を前記モータの電流遮断の検出時から前記モータの停止時までの停止時間として求め、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第二補正マップの第一入力値に当てはめるとともに、求めた前記停止時間を前記第二補正マップの第二入力値に当てはめることで、それらに対応する出力値を前記推定パルス数として求める、請求項1又は2に記載のモータ制御装置。
【請求項4】
第一入力値及び第二入力値と出力値との関係を表した補正マップを記憶した記憶部と、
温度を検出する温度センサと、を更に備え、
前記制御部が、前記パルス信号のパルスごとに前記温度センサによって検出された温度を順次記憶する第四処理を実行し、
前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記補正マップの第一入力値に当てはめるとともに、前記第四処理で記憶した温度のうち前記モータの電流遮断の検出直前の複数パルス分の温度の平均値又は一パルス分の温度を前記補正マップの第二入力値に当てはめることで、それらに対応する出力値を前記推定パルス数として求める、請求項1又は2に記載のモータ制御装置。
【請求項5】
第一入力値及び第二入力値と出力値との関係を表した第一補正マップと、第一入力値及び第二入力値と出力値との関係を表した第二補正マップとを記憶した記憶部を更に備え、
前記制御部が、前記パルス信号のパルスごとに前記電流検出部によって検出された電流を順次記憶する第四処理を実行し、
前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第一補正マップの第一入力値に当てはめるとともに、前記第四処理で記憶した電流のうち前記モータの電流遮断の検出直前の複数パルス分の電流の平均値又は一パルス分の電流を前記第一補正マップの第二入力値に当てはめることで、それらに対応する出力値を前記モータの電流遮断の検出時から前記モータの停止時までの停止時間として求め、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第二補正マップの第一入力値に当てはめるとともに、求めた前記停止時間を前記第二補正マップの第一入力値に当てはめることで、それらに対応する出力値を前記推定パルス数として求める、請求項2に記載のモータ制御装置。
【請求項6】
第一入力値及び第二入力値と出力値との関係を表した補正マップを記憶した記憶部を更に備え、
前記制御部が、前記パルス信号のパルスごとに前記電流検出部によって検出された電流を順次記憶する第四処理を実行し、
前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記補正マップの第一入力値に当てはめるとともに、前記第四処理で記憶した電流のうち前記モータの電流遮断の検出直前の複数パルス分の電流の平均値又は一パルス分の電流を前記補正マップの第二入力値に当てはめることで、それらに対応する出力値を前記推定パルス数として求める、請求項2に記載のモータ制御装置。
【請求項7】
入力値と出力値との関係を表した第一補正マップと、第一入力値及び第二入力値と出力値との関係を表した第二補正マップとを記憶した記憶部を更に備え、
前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第一補正マップの入力値に当てはめることで、それに対応する出力値を前記モータの電流遮断の検出時から前記モータの停止時までの停止時間として求め、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第二補正マップの第一入力値に当てはめるとともに、求めた前記停止時間を前記第二補正マップの第一入力値に当てはめることで、それらに対応する出力値を前記推定パルス数として求める、請求項1又は2に記載のモータ制御装置。
【請求項8】
入力値と出力値との関係を表した補正マップを記憶した記憶部を更に備え、
前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記補正マップの入力値に当てはめることで、それに対応する出力値を前記推定パルス数として求める、請求項1又は2に記載のモータ制御装置。
【請求項9】
前記制御部が、
前記パルス信号のパルス数を計数する第五処理と、
前記第五処理で計数したパルス数と前記第四処理で算出した推定パルス数を加算する第六処理と、を実行する、請求項1から8の何れか一項に記載のモータ制御装置。
【請求項10】
所定の原点位置から前記モータの動作前の初期位置までの回転量をパルス数で表した初期位置データを記憶した記憶部を更に備え、
前記制御部が、
前記パルス信号のパルス数を計数する第五処理と、
前記第五処理で計数したパルス数と前記第四処理で算出した推定パルス数との和を前記初期位置データから減算し、又は前記第五処理で計数したパルス数と前記第四処理で算出した推定パルス数との和を前記初期位置データに加算し、前記記憶部に記憶された前記初期位置データをその加算結果又は減算結果に更新する第六処理と、を実行する、請求項1又は2に記載のモータ制御装置。
【請求項1】
駆動されると電流信号に周期的なリプルを発生させるモータと、
前記モータの前記電流信号からリプル成分を抽出して、そのリプル成分をパルス化したパルス信号を出力する抽出回路と、
前記モータの電圧を検出する電圧検出部と、
前記パルス信号を入力するとともに、前記モータを制御する制御部と、を備え、
前記制御部が、
前記パルス信号のパルスごとに前記パルス信号のパルス周期を計時して、計時したパルス周期を順次記憶する第一処理と、
前記モータの電流を遮断する第二処理と、
前記第二処理後に前記電圧検出部によって検出された電圧に基づいて前記モータの電流遮断を検出したら、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の一パルス分又は複数パルス分のパルス周期に基づいて前記モータの電流遮断の検出時から前記モータの停止時までの推定パルス数を算出する第三処理と、を実行する、モータ制御装置。
【請求項2】
駆動されると電流信号に周期的なリプルを発生させるモータと、
前記モータの前記電流信号からリプル成分を抽出して、そのリプル成分をパルス化したパルス信号を出力する抽出回路と、
前記モータの電流を検出する電流検出部と、
前記パルス信号を入力するとともに、前記モータを制御する制御部と、を備え、
前記制御部が、
前記パルス信号のパルスごとに前記パルス信号のパルス周期を計時して、計時したパルス周期を順次記憶する第一処理と、
前記モータの電流を遮断する第二処理と、
前記第二処理後に前記電流検出部によって検出された電流に基づいて前記モータの電流遮断を検出したら、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の一パルス分又は複数パルス分のパルス周期に基づいて前記モータの電流遮断の検出時から前記モータの停止時までの推定パルス数を算出する第三処理と、を実行する、モータ制御装置。
【請求項3】
第一入力値及び第二入力値と出力値との関係を表した第一補正マップと、第一入力値及び第二入力値と出力値との関係を表した第二補正マップとを記憶した記憶部と、
温度を検出する温度センサと、を更に備え、
前記制御部が、前記パルス信号のパルスごとに前記温度センサによって検出された温度を順次記憶する第四処理を実行し、
前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第一補正マップの第一入力値に当てはめるとともに、前記第四処理で記憶した温度のうち前記モータの電流遮断の検出直前の複数パルス分の温度の平均値又は一パルス分の温度を前記第一補正マップの第二入力値に当てはめることで、それらに対応する出力値を前記モータの電流遮断の検出時から前記モータの停止時までの停止時間として求め、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第二補正マップの第一入力値に当てはめるとともに、求めた前記停止時間を前記第二補正マップの第二入力値に当てはめることで、それらに対応する出力値を前記推定パルス数として求める、請求項1又は2に記載のモータ制御装置。
【請求項4】
第一入力値及び第二入力値と出力値との関係を表した補正マップを記憶した記憶部と、
温度を検出する温度センサと、を更に備え、
前記制御部が、前記パルス信号のパルスごとに前記温度センサによって検出された温度を順次記憶する第四処理を実行し、
前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記補正マップの第一入力値に当てはめるとともに、前記第四処理で記憶した温度のうち前記モータの電流遮断の検出直前の複数パルス分の温度の平均値又は一パルス分の温度を前記補正マップの第二入力値に当てはめることで、それらに対応する出力値を前記推定パルス数として求める、請求項1又は2に記載のモータ制御装置。
【請求項5】
第一入力値及び第二入力値と出力値との関係を表した第一補正マップと、第一入力値及び第二入力値と出力値との関係を表した第二補正マップとを記憶した記憶部を更に備え、
前記制御部が、前記パルス信号のパルスごとに前記電流検出部によって検出された電流を順次記憶する第四処理を実行し、
前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第一補正マップの第一入力値に当てはめるとともに、前記第四処理で記憶した電流のうち前記モータの電流遮断の検出直前の複数パルス分の電流の平均値又は一パルス分の電流を前記第一補正マップの第二入力値に当てはめることで、それらに対応する出力値を前記モータの電流遮断の検出時から前記モータの停止時までの停止時間として求め、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第二補正マップの第一入力値に当てはめるとともに、求めた前記停止時間を前記第二補正マップの第一入力値に当てはめることで、それらに対応する出力値を前記推定パルス数として求める、請求項2に記載のモータ制御装置。
【請求項6】
第一入力値及び第二入力値と出力値との関係を表した補正マップを記憶した記憶部を更に備え、
前記制御部が、前記パルス信号のパルスごとに前記電流検出部によって検出された電流を順次記憶する第四処理を実行し、
前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記補正マップの第一入力値に当てはめるとともに、前記第四処理で記憶した電流のうち前記モータの電流遮断の検出直前の複数パルス分の電流の平均値又は一パルス分の電流を前記補正マップの第二入力値に当てはめることで、それらに対応する出力値を前記推定パルス数として求める、請求項2に記載のモータ制御装置。
【請求項7】
入力値と出力値との関係を表した第一補正マップと、第一入力値及び第二入力値と出力値との関係を表した第二補正マップとを記憶した記憶部を更に備え、
前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第一補正マップの入力値に当てはめることで、それに対応する出力値を前記モータの電流遮断の検出時から前記モータの停止時までの停止時間として求め、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記第二補正マップの第一入力値に当てはめるとともに、求めた前記停止時間を前記第二補正マップの第一入力値に当てはめることで、それらに対応する出力値を前記推定パルス数として求める、請求項1又は2に記載のモータ制御装置。
【請求項8】
入力値と出力値との関係を表した補正マップを記憶した記憶部を更に備え、
前記第三処理では、前記制御部が、前記第一処理で記憶したパルス周期のうち前記モータの電流遮断の検出直前の複数パルス分のパルス周期の平均値又は一パルス分のパルス周期を前記補正マップの入力値に当てはめることで、それに対応する出力値を前記推定パルス数として求める、請求項1又は2に記載のモータ制御装置。
【請求項9】
前記制御部が、
前記パルス信号のパルス数を計数する第五処理と、
前記第五処理で計数したパルス数と前記第四処理で算出した推定パルス数を加算する第六処理と、を実行する、請求項1から8の何れか一項に記載のモータ制御装置。
【請求項10】
所定の原点位置から前記モータの動作前の初期位置までの回転量をパルス数で表した初期位置データを記憶した記憶部を更に備え、
前記制御部が、
前記パルス信号のパルス数を計数する第五処理と、
前記第五処理で計数したパルス数と前記第四処理で算出した推定パルス数との和を前記初期位置データから減算し、又は前記第五処理で計数したパルス数と前記第四処理で算出した推定パルス数との和を前記初期位置データに加算し、前記記憶部に記憶された前記初期位置データをその加算結果又は減算結果に更新する第六処理と、を実行する、請求項1又は2に記載のモータ制御装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2012−205377(P2012−205377A)
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願番号】特願2011−67057(P2011−67057)
【出願日】平成23年3月25日(2011.3.25)
【出願人】(000220066)テイ・エス テック株式会社 (625)
【Fターム(参考)】
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願日】平成23年3月25日(2011.3.25)
【出願人】(000220066)テイ・エス テック株式会社 (625)
【Fターム(参考)】
[ Back to top ]