(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023161942
(43)【公開日】2023-11-08
(54)【発明の名称】モータ制御装置、アクチュエータ、及びモータ制御方法
(51)【国際特許分類】
H02P 8/32 20060101AFI20231031BHJP
H02P 25/098 20160101ALI20231031BHJP
【FI】
H02P8/32
H02P25/098
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022072607
(22)【出願日】2022-04-26
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 令和4年3月9~12日 2022国際ロボット展 にて公開 令和4年3月9日 日刊工業新聞 令和4年3月9日付日刊 にて公開 令和4年3月9日 https://www.iai-robot.co.jp/index.html にて公開 令和4年3月9日 https://www.iai-robot.co.jp/product/new/index.html にて公開 令和4年3月16日 メールマガジン「-超小型エレシリンダーの紹介-」 にて公開
(71)【出願人】
【識別番号】391008515
【氏名又は名称】株式会社アイエイアイ
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】山野 幸司
(72)【発明者】
【氏名】西 匡宏
【テーマコード(参考)】
5H501
5H580
【Fターム(参考)】
5H501AA22
5H501BB05
5H501DD01
5H501DD07
5H501GG01
5H501GG03
5H501JJ26
5H501LL35
5H580AA03
5H580BB07
5H580CA02
5H580CA03
5H580GG03
5H580HH02
(57)【要約】
【課題】トルクリップルに起因してモータ制御信号に生じる振動を、移動体の移動速度によらずに抑制する。
【解決手段】モータ制御装置10は、移動体27を所定の位置まで移動させるための位置指令値及び位置検出値に基づいてモータ制御信号を生成し、移動体27の移動速度に応じて変動する高調波の周波数成分に対応する中心周波数を設定し、モータ制御信号から、設定された中心周波数を含む所定の範囲の周波数成分を減衰させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
移動体を移動させるモータを制御するモータ制御装置であって、
前記移動体を所定の位置まで移動させるための位置指令値及び位置検出値に基づいてモータ制御信号を生成する制御信号生成部と、
前記移動体の移動速度に応じて変動する高調波の周波数成分に対応する中心周波数を設定する設定部と、
前記モータ制御信号から、前記設定部により設定された中心周波数を含む所定の範囲の周波数成分を減衰させるフィルタ部と、
を備えたモータ制御装置。
【請求項2】
前記移動体及び前記モータを含む装置の構造に起因する共振周波数を含む所定の範囲の周波数成分を減衰させる別のフィルタ部を更に備えた、
請求項1に記載のモータ制御装置。
【請求項3】
前記中心周波数は、前記移動体の移動速度及び前記モータの極対数に応じて変動する高調波の周波数成分に対応する、
請求項1に記載のモータ制御装置。
【請求項4】
前記位置指令値を、前記移動体の目標位置、目標速度、及び加減速度を含むパラメータに基づいて生成する位置指令生成部を更に備え、
前記設定部は、前記目標速度に応じて前記中心周波数を設定する、
請求項1に記載のモータ制御装置。
【請求項5】
前記フィルタ部は、前記目標速度が規定速度以上である場合に、前記モータ制御信号から、前記中心周波数を含む所定の範囲の周波数成分を減衰させる、
請求項4に記載のモータ制御装置。
【請求項6】
前記設定部は、前記中心周波数の設定に加えて、減衰帯域の幅及び減衰量の少なくとも一方を設定する、
請求項1に記載のモータ制御装置。
【請求項7】
前記モータは、永久磁石型のステッピングモータである、
請求項1に記載のモータ制御装置。
【請求項8】
移動体と、
前記移動体を移動させるモータと、
前記モータを制御する、請求項1~請求項7の何れか1項に記載のモータ制御装置と、
を含むアクチュエータ。
【請求項9】
移動体を移動させるモータを制御するモータ制御装置のモータ制御方法であって、
前記移動体を所定の位置まで移動させるための位置指令値及び位置検出値に基づいてモータ制御信号を生成し、
前記移動体の移動速度に応じて変動する高調波の周波数成分に対応する中心周波数を設定し、
前記モータ制御信号から、前記設定された中心周波数を含む所定の範囲の周波数成分を減衰させる、
モータ制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータ制御装置、アクチュエータ、及びモータ制御方法に関する。
【背景技術】
【0002】
例えば、特許文献1には、移動体の振動を抑制可能なアクチュエータが記載されている。このアクチュエータは、移動体を移動させるモータのモータ駆動部と、モータ駆動部に入力する入力信号から所定の周波数成分を除去するフィルタ部とを備え、フィルタ部が除去する周波数成分の設定周波数を、移動体に負荷される負荷重量に応じた機械系の固有振動数に合わせて設定する。
【0003】
この種のアクチュエータでは、モータを制御するモータ制御信号から、アクチュエータの構造に起因する機械系の固有振動数(すなわち、共振周波数)を中心とした周波数成分を除去するノッチフィルタが設けられている。これにより、移動体の振動、異音等の発生を抑制することができる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、アクチュエータの小型化のため、比較的サイズの小さいモータを採用した場合、ディテントトルク(コギングトルクともいう。)が大きく、モータの出力に対するトルクリップルの影響が相対的に大きくなってしまう。
【0006】
モータにおけるトルクリップルの影響により、電流指令値等のモータ制御信号の基本波に対して高調波が重畳される。
【0007】
また、モータ制御信号の波形を周波数解析した結果、ピークとなる周波数はモータの回転速度、すなわち、回転周波数の所定の倍数の高調波に対応していることが分かる。つまり、移動体の移動速度はモータの回転速度に連動しているため、ピークとなる周波数が移動体の移動速度に応じて変動することが分かる。
【0008】
一方、アクチュエータの構造等で決まる共振周波数が複数存在する場合がある。上記特許文献1に記載のノッチフィルタでは、固定型であるため、モータ制御信号に対して、1つの共振周波数を含む所定の範囲の周波数成分を抑制することはできるが、別の共振周波数には対応できない。この場合、別の共振周波数に対して、移動体の移動速度に応じて変動する、高調波に対応する周波数が一致すると、アクチュエータに振動、異音等を発生させるおそれがあり、望ましくない。
【0009】
本発明は、以上の事実を考慮して成されたもので、トルクリップルに起因してモータ制御信号に生じる振動を、移動体の移動速度によらずに抑制することができるモータ制御装置、アクチュエータ、及びモータ制御方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するために、第1態様に係るモータ制御装置は、移動体を移動させるモータを制御するモータ制御装置であって、前記移動体を所定の位置まで移動させるための位置指令値及び位置検出値に基づいてモータ制御信号を生成する制御信号生成部と、前記移動体の移動速度に応じて変動する高調波の周波数成分に対応する中心周波数を設定する設定部と、前記モータ制御信号から、前記設定部により設定された中心周波数を含む所定の範囲の周波数成分を減衰させるフィルタ部と、を備える。
【0011】
第1態様によれば、移動体の移動速度に応じて変動する高調波の周波数成分に対応する中心周波数を含む所定の範囲の周波数成分を減衰させることができる。
【0012】
また、第2態様に係るモータ制御装置は、第1態様に係るモータ制御装置において、前記移動体及び前記モータを含む装置の構造に起因する共振周波数を含む所定の範囲の周波数成分を減衰させる別のフィルタ部を更に備える。
【0013】
第2態様によれば、移動体及びモータを含む装置の構造に起因する共振周波数を含む所定の範囲の周波数成分を減衰させることができる。
【0014】
また、第3態様に係るモータ制御装置は、第1態様又は第2態様に係るモータ制御装置において、前記中心周波数が、前記移動体の移動速度及び前記モータの極対数に応じて変動する高調波の周波数成分に対応する。
【0015】
第3態様によれば、モータの極対数を考慮した中心周波数を設定することができる。
【0016】
また、第4態様に係るモータ制御装置は、第1態様~第3態様の何れか1態様に係るモータ制御装置において、前記位置指令値を、前記移動体の目標位置、目標速度、及び加減速度を含むパラメータに基づいて生成する位置指令生成部を更に備え、前記設定部が、前記目標速度に応じて前記中心周波数を設定する。
【0017】
第4態様によれば、移動体の目標位置、目標速度、及び加減速度を含むパラメータに基づく位置指令値を考慮してモータ制御信号を生成することができる。
【0018】
また、第5態様に係るモータ制御装置は、第4態様に係るモータ制御装置において、前記フィルタ部が、前記目標速度が規定速度以上である場合に、前記モータ制御信号から、前記中心周波数を含む所定の範囲の周波数成分を減衰させる。
【0019】
第5態様によれば、目標速度が規定速度未満である場合に中心周波数を連動させることで生じる制御系への影響を抑制することができる。
【0020】
また、第6態様に係るモータ制御装置は、第1態様~第5態様の何れか1態様に係るモータ制御装置において、前記設定部が、前記中心周波数の設定に加えて、減衰帯域の幅及び減衰量の少なくとも一方を設定する。
【0021】
第6態様によれば、中心周波数に加えて、減衰帯域の幅及び減衰量の少なくとも一方を設定することができる。
【0022】
また、第7態様に係るモータ制御装置は、第1態様~第6態様の何れか1態様に係るモータ制御装置において、前記モータが、永久磁石型のステッピングモータである。
【0023】
第7態様によれば、永久磁石型のステッピングモータに対して、移動体の移動速度に応じて変動する高調波の周波数成分に対応する中心周波数を含む所定の範囲の周波数成分を減衰させることができる。
【0024】
更に、上記目的を達成するために、第8態様に係るアクチュエータは、移動体と、前記移動体を移動させるモータと、前記モータを制御する、第1態様~第7態様の何れか1態様に係るモータ制御装置と、を含む。
【0025】
第8態様によれば、移動体の移動速度に応じて変動する高調波の周波数成分に対応する中心周波数を含む所定の範囲の周波数成分を減衰させることができるアクチュエータを提供することができる。
【0026】
更に、上記目的を達成するために、第9態様に係るモータ制御方法は、移動体を移動させるモータを制御するモータ制御装置のモータ制御方法であって、前記移動体を所定の位置まで移動させるための位置指令値及び位置検出値に基づいてモータ制御信号を生成し、前記移動体の移動速度に応じて変動する高調波の周波数成分に対応する中心周波数を設定し、前記モータ制御信号から、前記設定された中心周波数を含む所定の範囲の周波数成分を減衰させる。
【0027】
第9態様によれば、上記第1態様と同様に、移動体の移動速度に応じて変動する高調波の周波数成分に対応する中心周波数を含む所定の範囲の周波数成分を減衰させることができる。
【発明の効果】
【0028】
以上説明したように、本発明によれば、トルクリップルに起因してモータ制御信号に生じる振動を、移動体の移動速度によらずに抑制することができる、という効果が得られる。
【図面の簡単な説明】
【0029】
【
図1】実施形態に係るモータ制御装置及びアクチュエータの構成の一例を概略的に示す図である。
【
図2】実施形態に係るモータ制御装置の電気的な構成の一例を示すブロック図である。
【
図3】各種移動指令における移動体の移動速度の遷移例を示す波形図である。
【
図4】実施形態に係るモータ制御装置の機能的な構成の一例を示すブロック図である。
【
図5】実施形態に係るノッチフィルタ部の一例を示す図である。
【
図6】可変ノッチフィルタを表す伝達関数の一例を示す図である。
【
図7】移動体の目標速度に中心周波数を連動させた場合におけるトルク電流指令値を表す電流波形の周波数解析結果の一例を示す図である。
【
図8】実施形態に係る目標速度と中心周波数との対応関係の説明に供する図である。
【
図9】実施形態に係る制御プログラムによるメジャーループの流れの一例を示すフローチャートである。
【
図10】実施形態に係る移動指令取得処理の流れの一例を示すフローチャートであり、
図9のステップS101のサブルーチンである。
【
図11】実施形態に係る制御プログラムによるマイナーループの流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0030】
以下、図面を参照して、本開示の技術を実施するための形態の一例について詳細に説明する。なお、動作、作用、機能が同じ働きを担う構成要素及び処理には、全図面を通して同じ符号を付与し、重複する説明を適宜省略する場合がある。各図面は、本開示の技術を十分に理解できる程度に、概略的に示してあるに過ぎない。よって、本開示の技術は、図示例のみに限定されるものではない。また、本実施形態では、本発明と直接的に関連しない構成や周知な構成については、説明を省略する場合がある。
【0031】
図1は、本実施形態に係るモータ制御装置10及びアクチュエータ20の構成の一例を概略的に示す図である。
【0032】
図1に示すように、アクチュエータ20は、エンコーダ21、モータ22、出力シャフト23、カップリング24、すべりねじ軸25、すべりねじナット26、及び移動体27を備えている。なお、すべりねじ軸25及びすべりねじナット26は、ボールねじ軸及びボールねじナットとしてもよい。また、
図1の例では、移動体27は、ロッドタイプとして示しているが、テーブルタイプであってもよい。
【0033】
エンコーダ21は、モータ22に取り付けられている。エンコーダ21は、モータ22の回転位置を検出し、検出した位置をフィードバック位置信号としてモータ制御装置10に出力する。
【0034】
モータ22は、モータ制御装置10によって制御され、移動体27を移動させるための駆動源である。より詳細には、モータ22は、移動体27を出力シャフト23の軸方向に往復させるように軸移動させる。モータ22は、例えば、突極性を有している。突極性とは、磁気抵抗(リラクタンス)が回転子の円周上の位置によって不均一な性質のことをいう。モータ22は、例えば、PM型ステッピングモータ又はハイブリッド型ステッピングモータなどの永久磁石型のステッピングモータである。なお、モータ22は、ステッピングモータに限定されるものではなく、サーボモータであってもよい。
【0035】
モータ22の出力シャフト23は、カップリング24を介して、すべりねじ軸25が結合されている。すべりねじ軸25は、すべりねじナット26と共に、モータ22の回転運動を並進運動に変換するための機械部品として構成される。移動体27は、すべりねじナット26を介して、すべりねじ軸25に接合されている。
【0036】
モータ制御装置10は、各相電流指令値を用いてモータ22を制御する。各相電流指令値は、モータ22の通電電流を制御するための指令値である。なお、
図1では、モータ制御装置10は、アクチュエータ20と別体に設けられているが、アクチュエータ20に内蔵されていてもよい。すなわち、アクチュエータ20は、モータ制御装置10を備えていてもよい。
【0037】
図2は、第1の実施形態に係るモータ制御装置10の電気的な構成の一例を示すブロック図である。
【0038】
図2に示すように、本実施形態に係るモータ制御装置10は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、入出力インタフェース(I/O)14と、記憶部15と、接続部16と、を備えている。
【0039】
CPU11、ROM12、RAM13、及びI/O14は、バスを介して各々接続されている。I/O14には、記憶部15と、接続部16と、を含む各機能部が接続されている。これらの各機能部は、I/O14を介して、CPU11と相互に通信可能とされる。
【0040】
CPU11、ROM12、RAM13、及びI/O14によって制御部が構成される。制御部は、モータ制御装置10の一部の動作を制御するサブ制御部として構成されてもよいし、モータ制御装置10の全体の動作を制御するメイン制御部の一部として構成されてもよい。制御部の各ブロックの一部又は全部には、例えば、LSI(Large Scale Integration)等の集積回路又はIC(Integrated Circuit)チップセットが用いられる。上記各ブロックに個別の回路を用いてもよいし、一部又は全部を集積した回路を用いてもよい。上記各ブロック同士が一体として設けられてもよいし、一部のブロックが別に設けられてもよい。また、上記各ブロックのそれぞれにおいて、その一部が別に設けられてもよい。制御部の集積化には、LSIに限らず、専用回路又は汎用プロセッサを用いてもよい。
【0041】
記憶部15としては、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等が用いられる。ROM12又は記憶部15には、モータ22を制御するための制御プログラム、モータ22の制御に必要な各種の設定値、データテーブル等が記憶される。
【0042】
制御プログラムは、例えば、モータ制御装置10に予めインストールされていてもよい。制御プログラムは、不揮発性の記憶媒体に記憶して、又はネットワークを介して配布して、モータ制御装置10に適宜インストールすることで実現してもよい。なお、不揮発性の記憶媒体の例としては、CD-ROM(Compact Disc Read Only Memory)、光磁気ディスク、HDD、DVD-ROM(Digital Versatile Disc Read Only Memory)、フラッシュメモリ、メモリカード等が想定される。
【0043】
接続部16は、エンコーダ21、モータ22、及びPLC(Programmable Logic Controller)等の上位装置の各々と接続するためのインタフェースである。
【0044】
図3は、各種移動指令における移動体27の移動速度の遷移例を示す波形図である。縦軸に移動体27の移動速度を示し、横軸に時間を示す。
【0045】
各種移動指令としては、例えば、位置決め動作指令、及び原点復帰動作指令が挙げられる。位置決め動作とは、モータ22の回転に応じて、移動体27を、位置決め動作開始点から位置決め動作の目標位置まで移動させる動作である。例えば、
図1に示す矢印のように、移動体27は、前進端への位置決め動作では原点(後退端)から前進端まで移動し、原点(後退端)への位置決め動作では前進端から原点(後退端)まで移動する。原点復帰動作とは、モータ22の回転に応じて、移動体27を原点復帰動作開始点から原点(原点復帰動作の目標位置)まで移動させる動作である。例えば、移動体27は、前進端から原点(後退端)まで移動する。
【0046】
図3は、各種動作における移動体27の移動速度の時間変化の一例を示す。より詳細には、
図3は、例えば、原点復帰動作、前進端への位置決め動作、及び原点(後退端)への位置決め動作の順に行った場合の移動体27の移動速度の時間変化を示す。
図3に示すように、位置決め動作では移動体27を比較的高速で移動させて、原点復帰動作では移動体27を比較的低速で移動させる。尚、
図3に示す例において、各動作における移動体27の移動速度は、前進端への位置決め動作における速度>原点(後退端)への位置決め動作における速度>原点復帰動作における速度という関係となっている。
【0047】
ところで、上述したように、アクチュエータ20の構造等に起因する複数の共振周波数が存在する場合に、複数の共振周波数のいずれかに対して、移動体の移動速度に応じて変動する、高調波に対応する周波数が一致すると、アクチュエータ20に振動、異音等を発生させるおそれがあり、望ましくない。
【0048】
このため、本実施形態に係るモータ制御装置10のCPU11は、ROM12又は記憶部15に記憶されている制御プログラムをRAM13に書き込んで実行することにより、
図4に示す各部として機能する。
【0049】
図4は、本実施形態に係るモータ制御装置10の機能的な構成の一例を示すブロック図である。
【0050】
図4に示すように、本実施形態に係るモータ制御装置10のCPU11は、制御信号生成部110、ノッチフィルタ部120、電流指令変換部121、電流制御部122、位置情報取得部123、現在速度換算部124、及び電気角換算部125として機能する。
【0051】
制御信号生成部110は、移動指令取得部111、運転計画生成部112、位置制御器114、速度制御器115、第1減算器116、第2減算器117、及びノッチフィルタ設定部118を含む。ノッチフィルタ設定部118は、設定部の一例であり、運転計画生成部112は、位置指令生成部の一例である。
【0052】
制御信号生成部110は、移動体27を所定の位置まで移動させるための位置指令値及び位置検出値に基づいてトルク電流指令値(電流指令値Ic)を生成する。トルク電流指令値は、モータ制御信号の一例である。
【0053】
具体的に、移動指令取得部111は、例えば、PLC等の上位装置から移動指令を取得する。なお、モータ制御装置10がプログラム作成機能を有している場合には、モータ制御装置10自体がPLCとして機能してもよい。この移動指令は、例えば、位置決め動作指令及び原点復帰動作指令のいずれかである。位置決め動作指令は、例えば、前進端などの位置決め動作終了位置を示す目標位置等で構成される位置情報と、位置決め動作の上限速度を示す目標速度等で構成される速度情報と、加速度及び減速度で構成される加減速度情報と、を含むパラメータで構成され、位置決め動作を実現するための指令である。なお、位置決め動作速度は、位置決め動作の時間が短くなるように比較的高い目標速度に設定されている。原点復帰動作指令は、例えば、原点復帰動作終了位置を示す原点(後退端)等で構成される位置情報と、原点復帰動作の上限速度を示す目標速度等で構成される速度情報と、加減速度情報と、を含むパラメータで構成され、原点復帰動作を実現するための指令である。原点復帰動作速度は、例えば、位置決め動作速度よりも比較的低い目標速度(例えば、20mm/s以下)に設定されている。移動指令取得部111は、移動指令から、当該移動指令の種別を判定し、判定結果を運転計画生成部112に出力する。また、移動指令取得部111は、移動指令に含まれる移動体27の目標速度をノッチフィルタ設定部118に出力する。
【0054】
運転計画生成部112は、移動体27の目標位置に向けて位置指令値を生成し、生成した位置指令値を第1減算器116に出力する。位置指令値は、運転計画生成部112によって、移動体27の目標位置、目標速度、及び加減速度を含むパラメータに基づいて生成される。移動体27の目標位置、目標速度、及び加減速度を含むパラメータは、各種移動指令から取得される。運転計画生成部112は、移動体27の移動速度が、一例として、上述の
図3に示すように、目標速度を上限とした台形形状に時間的に変化するように位置指令値を生成する。
【0055】
より詳細には、運転計画生成部112は、各種移動指令を取得すると、現在の位置指令値と目標位置との差から移動体27を移動させたい距離を定め、移動体27の速度が目標速度を上底とする台形形状(移動距離によっては目標速度に達しない三角形状)となるように位置指令値を逐次(詳細を後述するメジャーループの制御周期で)生成する。言い換えると、運転計画生成部112は、移動体27の移動速度を加速中は移動速度が目標速度となるまでパラメータの加速度で加速させて、一定速中は目標速度を維持し、減速中は移動速度がゼロとなるまでパラメータの減速度で減速させて、移動開始時点から移動終了時点までの時間における速度変化を示す台形(移動距離によっては目標速度に達しない三角形)の面積、つまり、速度の時間積分が、上記定めた距離となるように位置指令値を逐次生成する。また、逐次生成される位置指令値の変化量は、加速中においては増加し、減速中においては減少し、速度一定のときはパラメータの目標速度を超えないように調整される。つまり、目標速度は位置指令値の変化量のリミッタを意味する。これにより、
図3に示す挙動、つまり、各種移動指令における速度の時間変化を実現するような位置指令値が生成される。
【0056】
第1減算器116は、運転計画生成部112からの位置指令値から、位置情報取得部123からの現在位置(位置検出値)を減じて得られた位置偏差を位置制御器114に出力する。
【0057】
位置制御器114は、第1減算器116から得られた位置偏差に位置制御用ゲインを乗じて速度指令値を生成し、生成した速度指令値を第2減算器117に出力する。位置制御器114は、比例制御を行う。
【0058】
第2減算器117は、位置制御器114からの速度指令値から、現在速度換算部124からの現在速度(速度検出値)を減じて得られた速度偏差を速度制御器115に出力する。
【0059】
速度制御器115は、第2減算器117から得られた速度偏差に速度制御用比例ゲイン/速度制御用積分ゲインを乗じて積分することによりトルク電流指令値(電流指令値Ic)を生成し、生成したトルク電流指令値(電流指令値Ic)をノッチフィルタ部120に出力する。速度制御器115は、比例/積分制御を行う。
【0060】
ノッチフィルタ設定部118は、移動体27の移動速度に応じて変動する高調波の周波数成分に対応する中心周波数を設定し、設定した中心周波数を含む設定情報をノッチフィルタ部120に出力する。また、ノッチフィルタ設定部118は、中心周波数の設定に加えて、減衰帯域の幅及び減衰量の少なくとも一方を設定してもよい。なお、移動体27の移動速度は、例えば、上述の各種移動指令から得られる移動体27の目標速度として表される。
【0061】
ノッチフィルタ部120は、トルク電流指令値から、ノッチフィルタ設定部118により設定された中心周波数を含む所定の範囲の周波数成分を減衰させる。なお、移動体27の目標速度に応じて中心周波数を切り替える可変ノッチフィルタ処理についての具体的な説明は後述する。
【0062】
電流指令変換部121は、各相電流指令値(本実施形態では、2相(A、B相)電流指令値)を、ノッチフィルタ部120からのトルク電流指令値及び電気角換算部125からの電気角を用いて生成し、生成した各相電流指令値を電流制御部122に出力する。なお、電気角とは、磁界の1周期分を2π[rad]又は360度として角度を表したもので、機械角(軸の回転角度)×極対数により表される。
【0063】
電流制御部122は、電流指令変換部121からの各相電流指令値を用いて、モータ22を制御する。
【0064】
位置情報取得部123は、モータ22に取り付けられたエンコーダ21から、モータ22のフィードバック位置信号を取得する。位置情報取得部123は、フィードバック位置信号に基づいて得られる移動体27の位置検出値を現在位置として第1減算器116、現在速度換算部124、及び電気角換算部125の各々に出力する。
【0065】
現在速度換算部124は、位置情報取得部123からの現在位置を現在速度(速度検出値)に換算し、換算した現在速度(速度検出値)を第2減算器117に出力する。
【0066】
電気角換算部125は、位置情報取得部123からの現在位置を電気角に換算し、換算した電気角を電流指令変換部121に出力する。
【0067】
次に、
図5~
図8を参照して、本実施形態に係る可変ノッチフィルタ処理について具体的に説明する。
【0068】
モータ22としてステッピングモータを採用した場合、トルクリップルの影響は、電気角1周期に対して、所定の周期(例えば、1/2、1/4)で現れる。つまり、トルクリップルの影響は、電気角1周期に対して、2回、4回の頻度で現れる。このトルクリップルに起因して、トルク電流指令値に対して基本波の所定の倍数の高調波が重畳される。ここで、「所定の倍数」は、モータ22の極対数に応じて決定される。極対数が例えば「5」であれば、「所定の倍数」は、2×5=10倍、4×5=20倍となる。なお、トルクリップルとは、トルクの変動幅、つまり、トルクの最大値(Max)と最小値(Min)との差を意味する。
【0069】
ここで、ノッチフィルタ部120を無効化した状態で、5極対のモータ22の回転周波数を5~50[Hz]の1[Hz]刻みで動作させたときのトルク電流指令値の電流波形を周波数解析した結果の一例を下記に示す。なお、モータ22の回転周波数は、移動体27の目標速度により定まる。
【0070】
(1)目標速度:24[mm/s]、回転周波数:6[Hz]±1[Hz]の場合、60±10[Hz](10倍高調波)、120±20[Hz](20倍高調波)が出現。
(2)目標速度:60[mm/s]、回転周波数:15[Hz]±1[Hz]の場合、150±10[Hz](10倍高調波)、300±20[Hz](20倍高調波)が出現。
(3)目標速度:128[mm/s]、回転周波数:32[Hz]±1[Hz]の場合、320±10[Hz](10倍高調波)が出現。
(4)目標速度:160[mm/s]、回転周波数:40[Hz]±1[Hz]の場合、4000±10[Hz](10倍高調波)が出現。
【0071】
上記の通り、概ねモータ22の回転周波数の10倍高調波及び20倍高調波の2通りでピークが出現する。具体的に、目標速度が所定速度(例えば、100mm/s)以下である場合には、20倍高調波が多く出現し、目標速度が所定速度(例えば、100mm/s)より高い場合には、10倍高調波が多く出現する。このため、これらの高調波を減衰させるために、ノッチフィルタ部120を用いて可変ノッチフィルタ処理を実行する。
【0072】
図5は、本実施形態に係るノッチフィルタ部120の一例を示す図である。
【0073】
図5に示すように、ノッチフィルタ部120は、固定ノッチフィルタ120A及び可変ノッチフィルタ120Bを含む。可変ノッチフィルタ120Bは、フィルタ部の一例であり、1段でもよいし、2段以上であってもよい。また、固定ノッチフィルタ120Aは、別のフィルタ部の一例であり、1段でもよいし、2段以上であってもよい。
【0074】
可変ノッチフィルタ120Bは、速度制御器115から得られたトルク電流指令値から、ノッチフィルタ設定部118により設定された中心周波数を含む所定の範囲の周波数成分を減衰させる。所定の範囲は、例えば、中心周波数の±10%の範囲とする。具体的には、中心周波数が例えば100Hzであれば、90Hz以上110Hz以下の範囲とする。中心周波数は、移動体27の目標速度及びモータの極対数に応じて変動する高調波の周波数成分に対応する。なお、極対数は、5極対に限定されるものではなく、他の極対数でも対応可能である。
【0075】
具体的に、可変ノッチフィルタ120Bは、移動体27の目標速度が所定速度(後述の第2規定速度に相当し、例えば、100mm/s)以下である場合には、モータ22の回転周波数の20倍の周波数(20倍高調波)を中心周波数として含む所定の範囲の周波数成分を減衰させる。また、可変ノッチフィルタ120Bは、移動体27の目標速度が所定速度(例えば、100mm/s)より高い場合には、モータ22の回転周波数の10倍の周波数(10倍高調波)を中心周波数として含む所定の範囲の周波数成分を減衰させる。
【0076】
図6は、可変ノッチフィルタ120Bを表す伝達関数の一例を示す図である。
図6において、縦軸はゲインを示し、横軸は周波数を示す。
【0077】
図6に示す伝達関数をN(s)とした場合、伝達関数N(s)は、下記の式(1)により表される。
【0078】
【0079】
但し、ωnは中心周波数、ζは減衰率、dはゲインを示す。ゲインdは、下記の式(2)により表される。
【0080】
【0081】
図6に示す伝達関数N(s)において、中心周波数ω
nが設定可能とされる。中心周波数ω
nは、ノッチフィルタ設定部118により設定される中心周波数である。また、減衰帯域の幅(=2×ζω
n)及び減衰量(=dm)(単位:dB)の少なくとも一方を設定可能としてもよい。これらの減衰帯域の幅及び減衰量についてもノッチフィルタ設定部118により設定される。減衰帯域の幅には、例えば、中心周波数の±10%の範囲で適切な幅が設定される。具体的には、中心周波数が例えば100Hzであれば、90Hz以上110Hz以下の範囲で適切な幅が設定される。減衰量には、例えば、-15dB以上-10dB以下の範囲で適切な値が設定される。
【0082】
また、移動体27の目標速度に連動しない共振が発生する場合がある。このときの共振周波数を減衰させるために、固定ノッチフィルタ120Aを設けるようにしてもよい。固定ノッチフィルタ120Aは、速度制御器115から得られたトルク電流指令値から、アクチュエータ20の構造に起因する共振周波数を含む所定の範囲の周波数成分を減衰させる。つまり、固定ノッチフィルタ120Aは、特定の共振周波数を中心周波数とするノッチフィルタであり、中心周波数は移動体27の目標速度によらずに固定とされる。なお、所定の範囲は、可変ノッチフィルタ120Bの場合と同様に、例えば、共振周波数の±10%の範囲とする。
【0083】
図7は、移動体27の目標速度に中心周波数を連動させた場合におけるトルク電流指令値を表す電流波形の周波数解析結果の一例を示す図である。
図7において、縦軸は振幅を示し、横軸は周波数[Hz]を示す。
【0084】
図7に示す周波数解析結果は、電流波形D1と電流波形D2とを比較して示している。電流波形D1は、可変ノッチフィルタ120Bを有効にした場合の周波数解析結果であり、電流波形D2は、可変ノッチフィルタ120Bを無効にした場合の周波数解析結果である。尚、いずれの電流波形D1、D2においても、固定ノッチフィルタ120Aは無効となっている。
【0085】
図7に示すように、可変ノッチフィルタ120Bを有効にした電流波形D1では、可変ノッチフィルタ120Bを無効にした電流波形D2と比較して、高調波成分が減衰していることが分かる。但し、移動体27の目標速度が比較的低い場合に、可変ノッチフィルタ120Bを有効にすると制御系に影響する場合があるため、中心周波数がf1(例えば、100Hz)未満では可変ノッチフィルタ120Bを無効にすることが望ましい。つまり、可変ノッチフィルタ120Bは、目標速度が規定速度(後述の第1規定速度に相当し、例えば、40mm/s)未満では、無効化され、目標速度が規定速度(例えば、40mm/s)以上では、トルク電流指令値から、中心周波数を含む所定の範囲の周波数成分を減衰させる。なお、「制御系に影響する」とは、例えば、中心周波数がある値(ここではf1)よりも低いと移動体27がハンチング(振動)して位置決めができない等の影響が挙げられる。また、中心周波数f2、f3の近傍では、目標速度に連動していない共振が存在している。このため、中心周波数f2(例えば、180Hz)、f3(例えば、360Hz)に対して、可変ノッチフィルタ120Bとは別に、固定ノッチフィルタ120Aを設けることが望ましい。
【0086】
ここで、上述したように、中心周波数が低いと移動体27がハンチング(振動)して位置決めができない等の影響がある点、一方、中心周波数が高いと装置が反応しない周波数となり計算する必要がない点から中心周波数に適切な範囲を設けることが望ましい。本実施形態では、中心周波数の範囲を、例えば、100Hz以上500Hz以下とする。
【0087】
図8は、本実施形態に係る目標速度と中心周波数との対応関係の説明に供する図である。
図8において、縦軸は速度を示し、横軸は時間を示す。
図8に示す例では、移動指令1~3が異なる目標速度及び目標位置での位置決め指令である場合について説明するが、これに限定されるものではない。Vt1は第1目標速度であり、移動指令1の目標速度に対応する。Vt2は第2目標速度であり、移動指令2の目標速度に対応する。Vt3は第3目標速度であり、移動指令3の目標速度に対応する。Vr1は第1規定速度(閾値)を示し、Vr2は第2規定速度(閾値)を示す。但し、Vt1>Vr2≧Vt3≧Vr1>Vt2の関係がある。
【0088】
図8に示すように、上位装置から移動指令1を取得した場合、移動指令1に含まれる第1目標速度Vt1は第2規定速度Vr2(例えば、100mm/s)より高いため、可変ノッチフィルタ120Bの中心周波数には、第1目標速度Vt1に対応する、モータ22の回転周波数の10倍の周波数を設定する。なお、固定ノッチフィルタ120Aは、例えば、常時有効化されている。また、上位装置から移動指令2を取得した場合、移動指令2に含まれる第2目標速度Vt2は第1規定速度Vr1(例えば、40mm/s)未満であるため、可変ノッチフィルタ120Bを無効にする。また、上位装置から移動指令3を取得した場合、移動指令3に含まれる第3目標速度Vt3は第2規定速度Vr2以下でかつ第1規定速度Vr1以上であるため、可変ノッチフィルタ120Bの中心周波数には、第3目標速度Vt3に対応する、モータ22の回転周波数の20倍の周波数を設定する。
【0089】
次に、
図9~
図11を参照して、本実施形態に係るモータ制御装置10の作用を説明する。
【0090】
図9は、本実施形態に係る制御プログラムによるメジャーループの流れの一例を示すフローチャートである。
【0091】
まず、モータ制御装置10に対してモータ制御の指示がなされると、CPU11によって制御プログラムが起動され、以下の各処理を実行する。なお、本処理は、メジャーループとして、例えば、1ms毎に実行される。
【0092】
図9のステップS101では、CPU11が、PLC等の上位装置から移動指令を取得する。なお、上述したように、モータ制御装置10がプログラム作成機能を有している場合には、モータ制御装置10自体がPLCとして機能してもよい。
【0093】
図10は、本実施形態に係る移動指令取得処理の流れの一例を示すフローチャートであり、
図9のステップS101のサブルーチンである。
【0094】
図10のステップS111では、CPU11が、PLC等の上位装置から移動指令を取得したか否かを判定する。移動指令を取得したと判定した場合(肯定判定の場合)、ステップS112に移行し、移動指令を取得していないと判定した場合(否定判定の場合)、
図9のステップS102にリターンする。
【0095】
ステップS112では、CPU11が、ステップS111で取得した移動指令に含まれる移動体27の目標速度が第1規定速度(例えば、40mm/s)未満であるか否かを判定する。移動体27の目標速度が第1規定速度未満であると判定した場合(肯定判定の場合)、ステップS113に移行し、移動体27の目標速度が第1規定速度未満ではない、つまり、第1規定速度以上であると判定した場合(否定判定の場合)、ステップS114に移行する。
【0096】
ステップS113では、CPU11が、可変ノッチフィルタ120Bを無効化し、
図9のステップS102にリターンする。
【0097】
一方、ステップS114では、CPU11が、可変ノッチフィルタ120Bを有効化する。
【0098】
ステップS115では、CPU11が、移動体27の目標速度が第2規定速度(例えば、100mm/s)以下であるか否かを判定する。移動体27の目標速度が第2規定速度以下であると判定した場合(肯定判定の場合)、ステップS116に移行し、移動体27の目標速度が第2規定速度以下ではない、つまり、第2規定速度より高いと判定した場合(否定判定の場合)、ステップS117に移行する。
【0099】
ステップS116では、CPU11が、可変ノッチフィルタ120Bの中心周波数として、移動体27の目標速度に対応する、モータ22の回転周波数の20倍の周波数(20倍高調波)を設定すると共に、減衰帯域の幅及び減衰量の少なくとも一方をノッチフィルタ変数(パラメータ)として算出し、
図9のステップS102にリターンする。
【0100】
ステップS117では、CPU11が、可変ノッチフィルタ120Bの中心周波数として、移動体27の目標速度に対応する、モータ22の回転周波数の10倍の周波数(10倍高調波)を設定すると共に、減衰帯域の幅及び減衰量の少なくとも一方をノッチフィルタ変数(パラメータ)として算出し、
図9のステップS102にリターンする。
【0101】
図9のステップS102では、CPU11が、運転計画、つまり、移動指令に応じて、移動体27を移動させるための位置指令値を生成し、現在位置(位置検出値)を取得した後、位置制御器処理を実行して、メインループの処理を終了する。位置制御器処理では、CPU11は、生成した位置指令値から取得した現在位置を減じて位置偏差を算出し、位置偏差に位置制御用ゲインを乗じて速度指令値を生成する。
【0102】
図11は、本実施形態に係る制御プログラムによるマイナーループの流れの一例を示すフローチャートである。
【0103】
まず、モータ制御装置10に対してモータ制御の指示がなされると、CPU11によって制御プログラムが起動され、以下の各処理を実行する。なお、本処理は、マイナーループとして、例えば、100μs毎に実行される。
【0104】
図11のステップS121では、CPU11が、現在位置を取得し、当該現在位置に基づいて現在速度を算出する。
【0105】
ステップS122では、CPU11が、可変ノッチフィルタ120Bの設定情報を取得する。設定情報には、移動体27の目標速度に応じて設定された中心周波数、減衰帯域の幅、及び減衰量が含まれる。
【0106】
ステップS123では、CPU11が、速度制御器による速度制御処理を実行することで電流指令値Icを生成する。具体的には、比例/積分制御により、速度指令値から現在速度(速度検出値)を減じて得られた速度偏差に速度制御用比例ゲイン/速度制御用積分ゲインを乗じて積分することにより電流指令値Ic(トルク電流指令値)を生成する。
【0107】
ステップS124では、CPU11が、固定ノッチフィルタ120Aが有効であるか否かを判定する。固定ノッチフィルタ120Aが有効であると判定した場合(肯定判定の場合)、ステップS125に移行し、固定ノッチフィルタ120Aが有効ではない、つまり、無効であると判定した場合(否定判定の場合)、ステップS126に移行する。固定ノッチフィルタ120Aが有効であるか否かは、例えば、アクチュエータ20を使用するユーザがパラメータにより設定可能であり、CPU11は、当該パラメータの情報を参照してステップS124の判定を実行する。
【0108】
ステップS125では、CPU11が、ステップS123で生成した電流指令値Icに固定ノッチフィルタ120Aによるフィルタ処理を実行する。
【0109】
ステップS126では、CPU11が、可変ノッチフィルタ120Bが有効であるか否かを判定する。可変ノッチフィルタ120Bが有効であると判定した場合(肯定判定の場合)、ステップS127に移行し、可変ノッチフィルタ120Bが有効ではない、つまり、無効であると判定した場合(否定判定の場合)、ステップS128に移行する。
【0110】
ステップS127では、CPU11が、ステップS123で生成した電流指令値Ic又はステップS125で固定ノッチフィルタ120Aによるフィルタ処理が施された電流指令値Icに可変ノッチフィルタ120Bによるフィルタ処理を実行する。
【0111】
ステップS128では、CPU11が、各相電流指令値を、電流指令値Ic及び電気角を用いて生成し、生成した各相電流指令値を用いて、モータ22の電流制御を行い、マイナーループの処理を終了する。
【0112】
以上説明したように、本実施形態によれば、移動体の移動速度に応じて中心周波数を切り替える可変ノッチフィルタ処理が実行される。これにより、トルクリップルに起因してモータ制御信号に生じる振動を、移動体の移動速度によらずに抑制することができる。
【0113】
また、複数存在する共振周波数がアクチュエータの設置姿勢、負荷条件等で変化する場合であっても、移動体の移動速度に応じて中心周波数を切り替えることで、対応することが可能となる。
【0114】
また、アクチュエータを小型化するためにモータを小さくするとトルクリップルの影響が大きくなるが、可変ノッチフィルタ処理によって、アクチュエータに発生する振動、異音等を効果的に抑制することができる。
【0115】
また、フィードバック制御に基づき動的にノッチフィルタ処理を行う場合には、現在速度及び現在位置をフィードバックしたモータ制御信号に振動が発生しているか否かを判定する必要がある。これに対して、本実施形態に係る可変ノッチフィルタ処理では、目標速度を用いているため、このような判定を行う必要がない。このため、演算処理の負荷を軽減することができる。
【0116】
以上、各実施形態に係るモータ制御装置を例示して説明した。実施形態は、モータ制御装置の機能をコンピュータに実行させるためのプログラムの形態としてもよい。実施形態は、これらのプログラムを記憶したコンピュータが読み取り可能な非一時的記憶媒体の形態としてもよい。
【0117】
その他、上記実施形態で説明したモータ制御装置の構成は、一例であり、主旨を逸脱しない範囲内において状況に応じて変更してもよい。
【0118】
また、上記実施形態で説明したプログラムの処理の流れも、一例であり、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
【0119】
また、上記実施形態では、プログラムを実行することにより、実施形態に係る処理がコンピュータを利用してソフトウェア構成により実現される場合について説明したが、これに限らない。実施形態は、例えば、ハードウェア構成や、ハードウェア構成とソフトウェア構成との組み合わせによって実現してもよい。
【符号の説明】
【0120】
10 モータ制御装置
11 CPU
12 ROM
13 RAM
14 I/O
15 記憶部
16 接続部
20 アクチュエータ
21 エンコーダ
22 モータ
23 出力シャフト
24 カップリング
25 すべりねじ軸
26 すべりねじナット
27 移動体