(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-16
(45)【発行日】2024-12-24
(54)【発明の名称】モータアンプ及び角度調整方法
(51)【国際特許分類】
H02P 29/00 20160101AFI20241217BHJP
G01B 7/30 20060101ALI20241217BHJP
【FI】
H02P29/00
G01B7/30 B
(21)【出願番号】P 2020113001
(22)【出願日】2020-06-30
【審査請求日】2023-05-18
(73)【特許権者】
【識別番号】000002233
【氏名又は名称】ニデックインスツルメンツ株式会社
(74)【代理人】
【識別番号】100097113
【氏名又は名称】堀 城之
(74)【代理人】
【識別番号】100162363
【氏名又は名称】前島 幸彦
(74)【代理人】
【識別番号】100194283
【氏名又は名称】村上 大勇
(72)【発明者】
【氏名】吉田 零
(72)【発明者】
【氏名】望月 浩幸
【審査官】若林 治男
(56)【参考文献】
【文献】特開平08-297501(JP,A)
【文献】特開2009-015448(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 29/00
G01B 7/30
(57)【特許請求の範囲】
【請求項1】
位置指令を送信する上位装置に接続され、モータの回転を制御するモータアンプであって、
前記上位装置から取得した位置指令の取得周期と、モータの回転位置の制御周期との比率に応じて、前記モータの回転位置を調整するフィルタを設定するフィルタ設定部と、
前記フィルタ設定部により前記フィルタが設定された場合、前記位置指令から前記フィルタに対応した角度情報を算出し、算出された前記角度情報により前記モータの回転位置を制御する角度調整部とを備え、
前記フィルタは平均移動平均フィルタであり、
前記フィルタ設定部は、
前記モータのトルクを換算して
、モータ動作の異音と振動を検知し、適切な前記移動平均
のデータ数を算出し、
所定期間内のトルクの変化の絶対値である振動値が特定の閾値を超えた場合に、前記異音と振動音とが発生したと判定し、前記移動平均フィルタを設定し、前記移動平均フィルタのタップ数を1から始めて、このタップ数を増やしていき、前記振動値が最も少なくなる値を設定する
ことを特徴とするモータアンプ。
【請求項2】
前記フィルタ設定部は、前記上位装置から前記位置指令を取得すると、過去に取得した位置指令の期間を基に、毎回、前記移動平均フィルタの前記タップ数を算出して設定する ことを特徴とする請求項1に記載のモータアンプ。
【請求項3】
前記角度調整部は、
直近に取得した前記位置指令の値と、以前に取得した前記位置指令の値とに基づいた移動平均により、前記角度情報を算出する
ことを特徴とする請求項1又は2に記載のモータアンプ。
【請求項4】
前記角度調整部は、
前記位置指令の取得周期と前記回転位置の制御周期とから、前記移動平均の平均を算出するためのサンプリングデータ数を算出する
ことを特徴とする請求項3に記載のモータアンプ。
【請求項5】
位置指令を送信する上位装置に接続され、モータの回転を制御するモータアンプにより実行される角度調整方法であって、
前記上位装置から取得した位置指令の取得周期と、モータの回転位置の制御周期との差分に応じて、前記モータの回転位置を調整するフィルタを設定し、
前記フィルタが設定された場合、前記位置指令から前記フィルタに対応した角度情報を算出し、算出された前記角度情報により前記モータの回転位置を制御し、
前記フィルタは平均移動平均フィルタであり、
前記モータのトルクを換算して
、モータ動作の異音と振動を検知し、適切な前記移動平均
のデータ数を算出し、
所定期間内のトルクの変化の絶対値である振動値が特定の閾値を超えた場合に、前記異音と振動音とが発生したと判定し、前記移動平均フィルタを設定し、前記移動平均フィルタのタップ数を1から始めて、このタップ数を増やしていき、前記振動値が最も少なくなる値を設定する
ことを特徴とする角度調整方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特にPLC等の上位装置とフィールドネットワークで接続され、絶対値の位置指令で制御されるモータアンプ及び角度調整方法に関する。
【背景技術】
【0002】
従来から、位置指令を送信するPLC(Programmable Logic Controller)等の上位装置と、モータの回転位置を取得するエンコーダと、このエンコーダに接続されたモータアンプが存在する。
たとえば、特許文献1には、エンコーダから出力される位置データを取得して、当該位置データに基づいて、モータの回転を制御するモータアンプにあたる制御装置が記載されている(例えば、特許文献の段落[0022]等参照)。この制御装置は、位置データに基づいて、モータに印加する電流又は電圧等を制御することにより、モータの回転を制御する。更に、制御装置は、上位装置から上位制御信号を取得して、当該上位制御信号に表された位置等を実現可能な回転力がモータのシャフトから出力されるように、モータを制御することも可能である旨、記載されている。
【0003】
ここで、近年、EtherCAT等のFA(Factory Automation)制御用のフィールドネットワークが用いられるようになってきた。
このEtherCAT等で上位装置とモータアンプを接続して位置指令を送信する場合、例えば、1ミリ秒(ms)等の周期で、絶対値の位置指令値が送信される。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載されたような従来のモータアンプをEtherCAT等で接続した場合、位置指令の周期がモータアンプの制御周期より長いと、モータアンプから送信される角度情報として同じ値が続いた後、急に変更されるような制御となることがあった。このため、モータが振動、騒音を発することがあった。
【0006】
本発明は、このような状況に鑑みてなされたものであり、モータの振動、騒音を抑えるモータアンプを提供し、上述の問題を解消することを目的とする。
【課題を解決するための手段】
【0007】
本発明のモータアンプは、位置指令を送信する上位装置に接続され、モータの回転を制御するモータアンプであって、前記上位装置から取得した位置指令の取得周期と、モータの回転位置の制御周期との比率に応じて、前記モータの回転位置を調整するフィルタを設定するフィルタ設定部と、前記フィルタ設定部により前記フィルタが設定された場合、前記位置指令から前記フィルタに対応した角度情報を算出し、算出された前記角度情報により前記モータの回転位置を制御する角度調整部とを備え、前記フィルタは平均移動平均フィルタであり、前記フィルタ設定部は、前記モータのトルクを換算して、モータ動作の異音と振動を検知し、適切な前記移動平均のデータ数を算出し、所定期間内のトルクの変化の絶対値である振動値が特定の閾値を超えた場合に、前記異音と振動音とが発生したと判定し、前記移動平均フィルタを設定し、前記移動平均フィルタのタップ数を1から始めて、このタップ数を増やしていき、前記振動値が最も少なくなる値を設定することを特徴とする。
このように構成することで、位置指令値の急激な増減を緩和させ、モータの騒音、振動を抑制することができる。
【0008】
本発明のモータアンプは、前記角度調整部は、直近に取得した前記位置指令の値と、以前に取得した前記位置指令の値とに基づいた移動平均により、前記角度情報を算出することを特徴とする。
このように構成することで、モータの回転位置の制御を適切に行うことができる。
【0009】
本発明のモータアンプは、前記角度調整部は、前記位置指令の取得周期と前記回転位置の制御周期とから、前記移動平均の平均を算出するためのサンプリングデータ数を算出することを特徴とする。
このように構成することで、通信周期に応じて最適な移動平均フィルタのタップ数を自動的に設定することができる。
【0010】
本発明のモータアンプは、前記フィルタ設定部は、前記上位装置から前記位置指令を取得すると、過去に取得した位置指令の期間を基に、毎回、前記移動平均フィルタの前記タップ数を算出して設定することを特徴とする。
このように構成することで、上位装置2の処理の都合、フィールドネットワークの状態、ノイズ等により位置指令の周期が不安定になっても、適切なタップ数を設定可能とすることができる。
【0011】
本発明の角度調整方法は、位置指令を送信する上位装置に接続され、モータの回転を制御するモータアンプにより実行される角度調整方法であって、前記上位装置から取得した位置指令の取得周期と、モータの回転位置の制御周期との差分に応じて、前記モータの回転位置を調整するフィルタを設定し、前記フィルタが設定された場合、前記位置指令から前記フィルタに対応した角度情報を算出し、算出された前記角度情報により前記モータの回転位置を制御し、前記フィルタは平均移動平均フィルタであり、前記モータのトルクを換算して、モータ動作の異音と振動を検知し、適切な前記移動平均のデータ数を算出し、所定期間内のトルクの変化の絶対値である振動値が特定の閾値を超えた場合に、前記異音と振動音とが発生したと判定し、前記移動平均フィルタを設定し、前記移動平均フィルタのタップ数を1から始めて、このタップ数を増やしていき、前記振動値が最も少なくなる値を設定することを特徴とする。
このように構成することで、位置指令値の急激な増減を緩和させ、モータの騒音、振動を抑制することができる。
【発明の効果】
【0012】
本発明によれば、位置指令の取得周期と、エンコーダの回転位置の制御周期との差分に応じて、エンコーダへ送信する角度情報を調整し、調整された角度情報をエンコーダへ送信することで、角度情報として同じ値が続いて急に変更されることを抑制し、モータの振動、騒音を抑制することが可能なモータアンプを提供することができる。
【図面の簡単な説明】
【0013】
【
図1】本発明の実施の形態に係る制御システムのシステム構成図である。
【
図2】本発明の実施の形態に係る回転位置制御処理のフローチャートである。
【
図4】従来の角度情報及び本発明の角度情報の概念図である。
【発明を実施するための形態】
【0014】
<実施の形態>
〔制御システムXの構成〕
図1を参照して、本発明の実施の形態に係る制御システムXの構成について説明する。
制御システムXは、モータアンプ1、上位装置2、エンコーダ3、及びモータ4を含んで構成される。
【0015】
モータアンプ1は、上位装置2とエンコーダ3とに接続された、制御用デバイスである。本実施形態においては、モータアンプ1は、例えば、上位装置2から送信される位置指令を取得し、更に、エンコーダ3から角度情報を取得して、これらを基に、モータ4を駆動制御する。本実施形態においては、この位置指令及び角度情報は、例えば、17ビット~32ビット等、エンコーダ3の精度に応じたモータ4のシャフトSの回転位置を示す絶対値の値である。
【0016】
モータアンプ1と上位装置2との間は、例えば、EtherCAT等のフィールドネットワークで接続されている。一方、モータアンプ1とエンコーダ3との間は、例えば、専用線やシリアル通信線等で接続され、モータ4をサーボ駆動する電力も供給される。この電力は、エンコーダ3を介して、又は、直接、モータ4に供給される。加えて、モータアンプ1は、上位装置2からのデータリクエストに応答することも可能であってもよい。または、モータアンプ1は、モータ4のモータ制御の電流フィードバック値を用いてトルク換算することも可能である。加えて、モータアンプ1は、エンコーダ3から温度等の状態情報を取得することも可能である。
モータアンプ1の詳細構成については後述する。
【0017】
上位装置2は、位置指令を送信するクライアント(顧客)用の機器である。上位装置2は、例えば、マイクロコントローラを備えた各種機器のPLCやロジックボード等である。
上位装置2は、モータ4を制御するための制御信号を、位置指令としてモータアンプ1に送信する。この位置指令の送信の周期は、フィールドネットワークの構成や上位装置2の構成に応じて、任意(可変)となる。
また、上位装置2は、検出されたモータ4の位置データ、その他のデータをモータアンプ1から取得することも可能である。
【0018】
エンコーダ3は、モータの回転位置を取得するデバイスである。本実施形態では、エンコーダ3は、モータ4の回転位置の位置データを検出し、角度情報としてモータアンプ1に送信する。このため、エンコーダ3は、例えば、磁気式や光学式の角度検出機構と、MPU(Micro Processing Unit、マイクロコントローラ)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)等の制御演算手段と、角度情報や一時データを保持するRAM(Random Access Memory)、制御プログラムを記録したROM(Read Only Memory)等の一時的でない記録媒体を含んでいる。
【0019】
また、エンコーダ3は、モータ4やエンコーダ3自身の温度を測定する温度センサ等も備えている。また、エンコーダ3は、データのバックアップ用バッテリー(図示せず)を内蔵し、外力等によりシャフトが駆動された場合、位置データを内蔵の記憶媒体に記憶し続けることが可能であってもよい。
また、エンコーダ3は、この温度センサ、バッテリーの電圧センサ等の信号について、位置データとは別の別種類のデータとして送信可能であってもよい。
【0020】
モータ4は、モータアンプ1からの制御信号により、回転出力軸であるシャフトSを、回転軸Aを中心軸として回転させる。
モータ4は、ロータ(rotor)、ベアリング(bearing)、ステータ(stator)、ブラケット(bracket)等を備える一般的なサーボモータ等である。
【0021】
〔モータアンプ1の構成〕
より詳しく説明すると、本実施形態においては、モータアンプ1は、通信制御部10及びアンプ制御部20を備えている。
【0022】
通信制御部10は、フィールドネットワークの通信を受信し、上位装置2からモータアンプ1宛の位置指令等を取得して、アンプ制御部20に送信する。この位置指令の送信は、例えば、上位装置2からの位置指令の取得の周期の揺れ(ジッター)等を吸収した上で、周期的に実行されてもよい。すなわち、この通信制御部10から送信される位置指令の周期は、上位装置2から取得した位置指令の取得周期に対応する。加えて、通信制御部10は、後述するフィルタを設定することが可能である。
通信制御部10は、例えば、MPU、DSP、ASIC等の制御演算手段と、RAMやROM等の一時的でない記録媒体と、フィールドネットワークの通信用の回路(物理層)とを含んでいる。
【0023】
アンプ制御部20は、通信制御部10から取得した位置指令に基づく角度情報を算出してモータ4をサーボ駆動させシャフトSの位置を制御する。この際、アンプ制御部20は、エンコーダ3で取得した角度情報も参照してモータ4の制御を行うことが可能である。さらに、アンプ制御部20は、その他の各種センサの情報等も取得して、角度情報と併せて通信制御部10へ送信することも可能である。
アンプ制御部20は、MPU、DSP、ASIC等の制御演算手段と、RAMやROM等の一時的でない記録媒体とを含んでいる。
【0024】
次に、モータアンプ1の機能的な構成について説明する。
通信制御部10は、フィルタ設定部100を備えている。
アンプ制御部20は、角度調整部110を備えている。
【0025】
フィルタ設定部100は、上位装置2から取得した位置指令の取得周期と、モータ4の回転位置の制御周期との比率に応じて、モータ4の回転位置を調整するフィルタを設定することが可能である。具体的には、この比率は(位置指令の取得周期)/(回転位置の制御周期)の値として、例えば、1以上の特定値である。また、本実施形態のフィルタとしては、移動平均フィルタを用いる例について説明する。この場合、フィルタ設定部100は、位置指令の取得周期と回転位置の制御周期とから、移動平均を算出するためのサンプリングデータ数(以下、単に「タップ数」という。)を算出し、これも角度調整部110に設定可能である。
【0026】
角度調整部110は、フィルタ設定部100によりフィルタが設定された場合、位置指令からフィルタに対応した角度情報を算出(調整)し、これによりモータ4の回転位置を制御する。具体的には、角度調整部110は、上位装置2から取得した位置指令の取得周期と、モータ4の回転位置の制御周期との差分に応じて、モータ4の回転位置を調整する角度情報を算出する。より具体的には、移動平均フィルタを用いる場合、角度調整部110は、直近に取得した位置指令の値と、以前に取得した位置指令の値とに基づいた移動平均により、角度情報を算出する。この場合、例えば、角度調整部110は、直近に取得した位置指令に示された回転位置の値と、その一つ前に取得した位置指令に示された回転位置の値とを、モータ4の回転位置の制御周期の期間毎に、タップ数分の複数の位置指令データをサンプリングして、移動平均を算出可能である。
【0027】
加えて、角度調整部110は、エンコーダ3から取得した角度情報に応じて、実際の角度の調整を行うことも可能である。
【0028】
角度調整部110は、算出された角度情報によりモータ4の回転位置を制御する。具体的に、角度調整部110は、角度調整部110により算出された角度情報に基づく角度情報を取得し、エンコーダ3から角度情報を取得しつつ、角度情報で設定された回転位置になるようにモータ4を駆動させる。
【0029】
ここで、通信制御部10は、通信制御部10の記録媒体に格納された制御プログラムを実行することで、フィルタ設定部100として機能する。また、アンプ制御部20は、アンプ制御部20の記録媒体に格納された制御プログラムを実行することで、角度調整部110として機能する。なお、これらの構成の一部又は全部をロジック回路又はFPGA(Field Programmable Gate Array)等で回路的に構成することも可能である。
【0030】
〔回転位置制御処理〕
次に、
図2及び
図3により、本発明の実施の形態に係る回転位置制御処理の説明を行う。
本実施形態の回転位置制御処理では、上位装置2から取得した位置指令の取得周期と、モータ4の回転位置の制御周期との比率に応じて、移動平均フィルタを設定するか否かを判定する。移動平均フィルタを設定した場合、モータ4の回転位置を調整する角度情報を算出する。そして、算出された角度情報によりモータの回転位置を制御する。
本実施形態の回転位置データ送信処理は、モータアンプの通信制御部10及びアンプ制御部20が、それぞれの記憶媒体に記憶された制御プログラム(図示せず)を、各部と協働し、ハードウェア資源を用いて実行する。
以下で、
図2のフローチャートにより、本実施形態の回転位置制御処理をステップ毎に説明する。
【0031】
(ステップS101)
まず、フィルタ設定部100が、位置指令取得処理を行う。
角度調整部110は、上位装置2から位置指令を取得する。
図3により説明すると、本実施形態においては、フィールドネットワークから、1ミリ秒(1ms)の周期で位置指令を取得する例について説明する。加えて、この例では、角度情報によりアンプ制御部20によりモータ4をサーボ駆動する制御周期は100マイクロ秒(100μs)である。
【0032】
(ステップS102)
次に、フィルタ設定部100が、移動平均フィルタを有効化するか否かを判定する。
ここで、本実施形態においては、位置指令の取得周期と、回転位置の制御周期との比率(割合)が1以上の特定値以上の場合、フィルタ設定部100は、Yesと判定する。この特定値は、例えば、モータにおいて、顕著な振動、騒音が発生する比率を基に算出されてもよい。
たとえば、
図3では比率が10であり、このように比率が顕著に大きくなる場合には、Yesと判定される。
【0033】
または、フィルタ設定部100は、位置指令の取得周期が第一特定時間以上で、回転位置の制御周期が第二特定時間以下の場合、Yesとするような判定を行うことも可能である。この第一特定時間は、例えば、
図3のように1msであり、第二特定時間は、例えば、100μsであってもよい。
フィルタ設定部100は、それ以外の場合には、Noと判定する。
【0034】
Yesの場合、フィルタ設定部100は、処理をステップS103に進める。
Noの場合、フィルタ設定部100は、処理をステップS104に進める。
【0035】
(ステップS103)
移動平均フィルタを有効化する場合、フィルタ設定部100が、タップ数設定処理を行う。
まず、フィルタ設定部100は、移動平均フィルタを有効化したことを、非周期通信にて角度調整部110に設定する。また、フィルタ設定部100は、位置指令の取得周期と回転位置の制御周期とから、移動平均を算出するための最適なタップ数を算出する。このタップ数は、位置指令の取得周期と、回転位置の制御周期との比率の値以下であることで、位置指令の取得周期の期間以下で、位置指令に設定された回転位置までモータ4を制御可能となる。この上で、そして、フィルタ設定部100は、算出されたタップ数を、非同期通信で角度調整部110に設定する。
【0036】
図3の例では、フィルタ設定部100は、タップ数を、1ms/100μs=10(個)として算出し、このタップ数を角度調整部110に設定する。
【0037】
(ステップS104)
次に、角度調整部110が、移動平均フィルタ処理を行う。
この処理では、角度調整部110は、直近に取得した位置指令の値と、以前に取得した位置指令の値とに基づいた移動平均により、角度情報を算出する。このため、角度調整部110は、フィルタ設定部100により設定されたタップ数を用いる。
【0038】
図3(a)~(d)によれば、フィールドネットワーク通信での位置指令はこの例だと1ms周期で更新される。しかしながら、角度調整部110は、
図3(a)の黒丸で示すように、通信での位置指令の値を、角度情報の周期、すなわち100μsでサンプリングする。よって、角度調整部110は、点線で示すような大きな階段状の位置指令の値を取得することになる。
すなわち、角度調整部110は、過去のタップ数分のサンプリングされた位置指令の値を取得してこの平均値(移動平均)を、白丸で示す角度情報として算出する。この例では、角度調整部110は、各位置指令のサンプリング時に、10個分の過去の位置指令の値による移動平均を算出し、これを調整された角度情報とする。
【0039】
(ステップS105)
ここで、角度調整部110が、角度制御処理を行う。
角度調整部110は、算出された角度情報によりモータ4の回転位置を制御する。ここでは、移動平均フィルタが設定された場合は、
図3に直線で示すように、なめらかな制御が可能となる。
または、角度調整部110は、移動平均フィルタが設定されていない場合は、位置指令の値をそのまま角度情報として用いてモータ4の回転位置を制御可能である。
以上により、本発明の実施の形態に係る回転位置制御処理を終了する。
【0040】
〔本実施形態の主な効果〕
以上のように構成することで、以下のような効果を得ることができる。
従来、パルス列入力タイプのモータアンプでは、上位装置からパルスが入力されていた。この場合、パルス列は連続的に入力されるため、パルス列の入力周期によりパルスカウントが異なっていた。たとえば、モータアンプ側は100μsの制御周期で、パルスの入力カウント値を計測していた。そして、100μs毎に、前回のカウント値との差分(後退差分)を位置指令として、モータを駆動していた。このような場合、常に適切な位置指令で制御可能となるため、補間は不要であった。
【0041】
一方、近年、EtherCAT等のフィールドネットワークで位置指令を送信するような制御システムが開発されてきた。このようなシステムでは、上位装置からの指令速度、移動量としては上述のパルス列入力と同等の位置指令値が、絶対値の数値として直接通信で指令される。
【0042】
図4(a)の例に示すように、このような制御システムでは、通信指令の取得周期がモータアンプの回転位置の制御周期より長い場合、モータアンプの制御周期の間、所定回数だけ、同じ位置指令の値が続くことになってしまう。この場合、モータアンプは、角度情報Daで示すように、位置指令が変化しない間は、回転位置を変化させない停止維持の制御を行う。その後、新たな位置指令を取得して指令値が更新されると、モータアンプは、この新たな位置指令受信により急加速して急停止する制御を行い、また停止維持を行う。そして、このような急加速、急停止、停止維持の制御が周期的に繰り返されることで、騒音、振動の原因となっていた。
【0043】
これに対して、本発明の実施の形態に係るモータアンプ1は、位置指令を送信する上位装置2に接続され、モータ4の回転を制御するモータアンプであって、上位装置2から取得した位置指令の取得周期と、モータ4の回転位置の制御周期との比率に応じて、モータ4の回転位置を調整するフィルタを設定するフィルタ設定部100と、フィルタ設定部100によりフィルタが設定された場合、位置指令からフィルタに対応した角度情報を算出し、算出された角度情報によりモータ4の回転位置を制御する角度調整部110とを備えることを特徴とする。
【0044】
このように構成することで、通信周期が長いことによる位置指令値の急激な増減を緩和させ、モータ4の騒音、振動を抑制することができる。
図4(b)を参照すると、角度情報Dbの例で示すように、フィルタを適用することで、急加速、急停止、停止維持をするような制御がなくなり、スムーズな制御が可能となる。これにより、モータ4の騒音、振動を抑制することができる。
【0045】
本発明の実施の形態に係るモータアンプ1では、フィルタは移動平均フィルタであり、角度調整部110は、直近に取得した位置指令の値と、以前に取得した位置指令の値とに基づいた移動平均により、角度情報を算出することを特徴とする。
【0046】
このように構成することで、単に直線補間等のフィルタリングをするのに比べて、トルクのあるモータ4の回転位置の制御を適切に行うことができる。すなわち、移動平均フィルタにより補完することで、上位装置2とモータアンプ1との通信周期に関わらず、適切な制御を行うことができる。よって、モータ4の騒音、振動を抑制することができる。また、直近に位置指令を取得した時点と、以前に位置指令を取得した時点との間の期間内に、直近に取得した位置指令の角度情報までモータ4の回転位置を駆動させることを担保できる。すなわち、例えば、位置指令の1周期以内の遅延時間で、位置指令で指定された回転位置までモータ4の軸を駆動することが可能となる。
【0047】
本発明の実施の形態に係るモータアンプ1では、フィルタ設定部100は、位置指令の取得周期と回転位置の制御周期とから、移動平均を算出するためのサンプリングデータ数を算出することを特徴とする。
【0048】
このように構成することで、通信周期に応じて最適な移動平均フィルタのタップ数を自動的に設定することができる。よって、アンプ制御部20において、通信周期を考慮する必要がなくなる。結果として、パルス列の入力時と同様に、常に振動、騒音なくモータ4を動作させることができる。
【0049】
〔他の実施の形態〕
なお、上述の実施形態においては、フィルタ設定部100において、位置指令の取得周期と、モータの回転位置の制御周期との比率に応じて、移動平均フィルタを設定するか否かを判定する例について説明した。
【0050】
しかしながら、フィルタ設定部100は、モータ4のモータ制御の電流フィードバック値を用いてトルク換算を行い、モータ動作の異音と振動を検知し、適切なタップ数を算出することを特徴としてもよい。さらに、この際に、フィルタ設定部100は、換算されたトルクの変化から、適切な移動平均のタップ数を推定することも可能である。たとえば、フィルタ制御部100は、所定期間内のトルクの変化の絶対値(振動値)が特定の閾値を超えた場合に、振動、騒音が発生したと判定し、移動平均フィルタを設定する。この際に、タップ数を1から始めて、このタップ数を増やしていき、上述の振動値が最も少なくなるような値を設定するようにしてもよい。
加えて、エンコーダ3に、モータ4のトルク値を測定するトルクセンサを備えるような構成の場合、このトルクセンサからトルクフィードバック値を取得して、上述のような処理を行うことも可能である。
【0051】
このように構成することで、位置指令によるモータ4の回転位置の制御の遅延を抑えつつ、振動、騒音を抑えることが可能となる。すなわち、振動、騒音が許容範囲内であれば、移動平均フィルタを設定せずに高速な制動を行うこともできる。または、移動平均タップ数を最小限に抑えることで、位置指令の値まで素早く回転位置を変化させることが可能となる。
【0052】
また、上述の実施形態においては、移動平均フィルタを、直近から過去の位置指令のサンプリング値についてのみ用いる例について説明した。しかしながら、例えば、直近の位置指令が、次の周期まで同じ値を示すとして、この「未来」の位置指令の値を用いて移動平均を算出してもよい。
このように構成することで、モータ4の軸の回転位置をより速く変化させ、駆動することが可能となる。
【0053】
また、上述の実施形態においては、フィルタとして移動平均フィルタを用いたものの、それ以外の平滑化フィルタを用いることも可能である。この場合、例えば、モータの軸のトルクや慣性等を考慮したフィルタリングを行ったり、位置指令の値の変化自体から未来の位置指令の値を推定して、補完する角度情報を算出したりしてもよい。
このように構成することで、位置指令の周期性、モータ4の性質等に対応して、様々な振動、騒音等に対応可能となる。
【0054】
また、上述の実施形態においては、フィルタ設定部100が、移動平均フィルタのタップ数を、上位装置2から取得した、多少誤差のある位置指令の周期を基に算出する例について記載した。しかしながら、フィルタ設定部100は、通信制御部10が位置指令を送信する、周期的な周期に合わせてこれを算出してもよい。逆に、フィルタ設定部100は、上位装置2から、位置指令を取得すると、過去に取得した位置指令の期間を基に、毎回、タップ数を算出して設定してもよい。
このように構成することで、上位装置2の処理の都合、フィールドネットワークの状態、ノイズ等により位置指令の周期が不安定になっても、適切なタップ数を設定可能となる。
【0055】
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
【符号の説明】
【0056】
1 モータアンプ
2 上位装置
3 エンコーダ
4 モータ
10 通信制御部
20 アンプ制御部
100 フィルタ設定部
110 角度調整部
Da、Db 角度情報
A 回転軸
S シャフト
X 制御システム