説明

リニアモータの推力リップル補償装置およびその補償方法

【課題】 リニアモータの推力リップルが多周期成分を含んでも、制御ゲインが低くても、高精度に推力リップルを補償し、モータの送りむらを減少させるリニアモータの推力リップル補償装置を提供する。
【解決手段】 リニアモータの推力リップル補償装置において、推力リップル補償部20は、可動子位置を入力しフーリエ基本波の位相を出力する位相計算器25と、可動子位置に基づいてフーリエ変換機能信号と係数更新機能信号を出力する操作器24と、フーリエ変換機能信号が有効となった際にフーリエ基本位相および補償推力指令に基づいてフーリエ変換を行い第1フーリエ係数を算出するフーリエ変換器23と、係数更新機能信号が有効となった際に第1フーリエ係数を入力してデータ更新し第2フーリエ係数を出力するバッファ22と、第2フーリエ係数を用いてフーリエ基本位相に基づいて逆フーリエ変換を行いリップル補償値を算出する逆フーリエ変換器21とで構成した。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、リニアモータに発生する推力リップルを減少させ、送りむらを減少させる推力リップル補償装置に関する。
【背景技術】
【0002】
ACサーボモータは、可動子と固定子との相対位置に応じてコイルに流れる電流を変化させることにより推力を得ている。例えば、同期型リニアモータ等のACサーボモータは、可動子または固定子のどちらかの側に永久磁石が配置され、対向側にはコイルが配置されており、駆動装置が、可動子と固定子との相対位置に応じて、三角関数状の電流を流して一定の推力を得ている。d−q軸制御を用いる場合は、モータの電流や電圧を多相/d‐q変換を行い、一定のq軸電流指令を与えることにより一定の推力を得ることができる。推力を制御する場合はq軸電流指令を制御すればよい。
ところが、モータを構成しているコアの不均一性、着磁の乱れ、端効果などの要因でコギング推力が発生したり推力定数が可動子と固定子の相対位置により変動するため、一定のq軸電流指令を与えても、サーボモータが発生する推力は可動子と固定子との相対位置によって変わる。よって、サーボの制御性能を向上させるため、このような推力リップルの補償は不可欠になる。
【0003】
従来のサーボモータのトルクリップル補正装置は、トルク指令をFFT解析し補償関数のパラメータを決定して回転角度に応じたトルク補償量を計算し、トルク脈動に相当するトルクを補償している(例えば、特許文献1参照)。
図5は従来技術のサーボモータのトルクリップル補償装置の構成を示すブロック線図である。図5において、50は内部パラメータ決定機構、51はモータ、52は電流制御器、
53はトルクフィルタ、54は速度制御器、55は差分演算器、56は速度指令、57はトルク指令、58はリップル生成器、59はFFT解析手段である。
トルク指令57に出てくるリップル成分を除去する為にモータの回転角度θmに同期してリップル生成器58からSIN波を生成し、トルク指令にフィードバックして打ち消す。また、内部パラメータ決定機構50は一定速度の速度指令とFFT解析手段59で求めた振動周波数およびリップル量に基づいてSIN波のパラメータA、Bおよびαを決定する。以下、その決定方法を説明する。
まず、振動周波数とモータ速度およびエンコーダパルス数からBを計算する。次に、FFT解析手段59はトルク指令57の値をFFT解析してその時のリップルの大きさを記憶しておく。αを0から360度まで1度ずつ変えて、リップルの大きさが一番小さくなる際の値をパラメータαの位相とする。最後に、パラメータAを定格トルクの1%から±0.1%で変化させてトルク指令のリップルが現れない程度までこの繰り返しを行う。
【0004】
このようにして、SIN波のパラメータA、Bおよびαを決定して、トルクリップル補正量を計算している。
【特許文献1】特開2001−197765号公報(第3頁、図1)
【発明の開示】
【発明が解決しようとする課題】
【0005】
従来技術のサーボモータのトルクリップル補償装置は、1つSIN波のリップル補償値を計算したので、サーボモータのトルクリップルが回転角度の多周期成分を含む場合にはトルクリップルを完全に補償することができないという問題があった。また、トルク指令のリップルと実際のトルクリップルとは差があり、そして速度制御器の制御ゲインが小さいほどその差が大きいので、制御ゲインを上げられない場合に、補償効果が低下するという問題もあった。
本発明はこのような問題点に鑑みてなされたものであり、リニアモータの推力リップルが多周期成分を含んでも、制御ゲインが低くても、高精度に推力リップルを補償し、モータの送りむらを減少させることができる推力リップル補償装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記問題を解決するため、本発明は、次のように構成したものである。
請求項1に記載の発明は、リニアモータの可動子位置Xを入力し可動子速度Vを出力する微分器と、速度指令Vから前記可動子速度Vを差し引いた値を入力し推力指令Fを出力する速度制御器と、補償推力指令Fおよび前記可動子位置Xに基づいてリップル補償値(h)を生成する推力リップル補償部と、前記推力指令Fに前記リップル補償値hを足し合わせた前記補償推力指令Fを入力し電流指令を出力する電流指令変換器と、前記リニアモータの電流を前記電流指令に追従させる電流アンプとを備えたリニアモータの推力リップル補償装置において、前記推力リップル補償部は、前記可動子位置Xを入力しフーリエ基本波位相θを出力する位相計算器と、前記可動子位置Xに基づいてフーリエ変換機能信号Sと係数更新機能信号Sを出力する操作器と、前記フーリエ変換機能信号Sが有効となった際に前記フーリエ基本位相θおよび前記補償推力指令Fに基づいてフーリエ変換を行い第1フーリエ係数を算出するフーリエ変換器と、前記係数更新機能信号Sが有効となった際に前記第1フーリエ係数を入力してデータ更新し第2フーリエ係数を出力するバッファと、前記第2フーリエ係数を用いて前記フーリエ基本位相θに基づいて逆フーリエ変換を行い前記リップル補償値hを算出する逆フーリエ変換器とで構成することを特徴とするものである。
【0007】
また、請求項2に記載の発明は、請求項1に記載のリニアモータの推力リップル補償装置において、前記位相計算器は、前記フーリエ基本位相θを次式で計算することを特徴とするものである。
θ=mod{(X−X),(X−X)}・2π
ただし、Xは補償すべく移動範囲のスタート位置、Xは補償すべく移動範囲のエンド位置、mod{P,Q}はPをQで割った余りを求める関数を表す。
【0008】
また、請求項3に記載の発明は、検出されたリニアモータの可動子位置Xを微分器に入力して可動子速度Vを出力し、速度指令Vから前記可動子速度Vを差し引いた値を速度制御器に入力して推力指令Fを出力し、前期可動子位置Xおよび補償推力指令Fを推力リップル補償部に入力してリップル補償値hを出力し、前記推力指令Fと前記リップル補償値hとを足して前記補償推力指令Fとし、前記補償推力指令Fを電流指令変換器に入力して電流指令を出力し、前記電流指令を電流アンプに入力して前記リニアモータのコイルに電流を流してリニアモータを駆動することを特徴とするリニアモータの推力リップル補償方法において、前記推力リップル補償部は、前記可動子位置Xを位相計算器に入力してフーリエ基本位相θを出力し、前記可動子位置Xに基づいて操作器にて変換更新判断処理してフーリエ変換機能信号Sと係数更新機能信号Sを出力し、前記フーリエ変換機能信号Sが有効となった際に前記フーリエ基本位相θおよび前記補償推力指令(F)に基づいてフーリエ変換を行い第1フーリエ係数を算出し、前記係数更新機能信号Sが有効となった際に前記第1フーリエ係数を入力してバッファのデータを更新して第2フーリエ係数を出力し、前記第2フーリエ係数を用いて前記フーリエ基本位相θに基づいて逆フーリエ変換を行い前記リップル補償値hを算出するという手順をとったのである。
【0009】
また、請求項4に記載の発明は、請求項3に記載のリニアモータの推力リップル補償方法において、前記変換更新判断処理では、前記可動子位置がフーリエ変換区間にある間に、前記フーリエ変換機能信号Sを有効させ、前記フーリエ変換が終了した直後に前記係数更新機能信号Sを有効させるという手順をとったのである。
【0010】
また、請求項5に記載の発明は、請求項4に記載のフーリエ変換区間において、前記可動子速度がほぼ一定であり、前記フーリエ基本位相の変化量が2πであるという特徴をとったのである。
【0011】
また、請求項6に記載の発明は、請求項3に記載のリニアモータの推力リップル補償方法において、前記推力リップル補償を複数回行うという手順をとったのである。
【発明の効果】
【0012】
リップルの高次成分も考慮して補償を行うので、より正確にリップルを補償することができ、モータの送りむらを減少させるという効果がある。
また、補償が繰り返し行うので、速度制御器の制御ゲインが低くても、精度良くリップル補償できる。
【発明を実施するための最良の形態】
【0013】
以下、本発明の実施の形態について図を参照して説明する。
実際のモータ制御装置には様々な機能や手段が内蔵されているが、図には本発明に関係する機能や手段のみを記載し説明する。また、以下同一名称には極力同一符号を付け重複説明を省略する。
【実施例1】
【0014】
図1は、本発明のリニアモータの推力リップル補償装置の構成を示すブロック線図である。図1において、1はモータ制御装置、11は速度制御器、4はリニアモータ、5は負荷、6は位置検出器である。また、12は電流指令変換器、13は電流アンプ、20は推力リップル補償部、21は逆フーリエ変換器、22はバッファ、23はフーリエ変換器、24は操作器、25は位相計算器である。
モータ制御装置1は、速度制御器11、電流指令変換器12、電流アンプ13、および推力リップル補償部20で構成されており、推力リップル補償部20は、逆フーリエ変換器21、バッファ22、フーリエ変換器23、操作器24、および位相計算器25で構成されている。推力リップル補償部20は、過去の補償推力指令Fおよびリニアモータの可動子位置Xに基づいて現在のリップル補償値hを算出する。また、推力指令Fにリップル補償値hを足して補償推力指令Fとする。
電流指令変換器12は、補償推力指令Fを電流指令Iに変換し電流アンプ13に出力する。
電流アンプ13は、電流指令Iに基づいてリニアモータ4にモータ電流I(q軸電流を指す。以下同様)を流す。
リニアモータ4は、推力Fを発生し負荷5を駆動する。
位置検出器6は、リニアモータ4に装着されており、リニアモータ4の位置Xを検出して推力リップル補償部20および微分器15に出力する。
【0015】
以下、推力リップル補償装置の動作プロセスを説明する。
一般的に、リニアモータ4に一定のモータ電流Iを流すと、リニアモータが発生する推力Fまたはその推力リップルFは可動子位置Xの関数となる。
位相計算器25は可動子位置Xをフーリエ基本位相θへ変換するものである。
推力Fが可動子位置Xの周期関数である場合は、その周期のスタート位置をXとし、エンド位置をXとし、推力Fが可動子位置Xの周期関数でない場合では、補償すべく移動範囲のスタート位置をXと、そのエンド位置をXとする。フーリエ基本位相θを式(1)のように与える。
θ=mod{(X−X),(X−X)}・2π (1)
ここで、mod{P,Q}はPをQで割った余りを求める関数を表す。
従って、推力Fは式(2)のようなフーリエ級数で表すことができる。
【0016】
【数1】

ただし、Nは一定な自然数、A,B(n=1,2,・・・,N)は推力リップルのフーリエ係数である。
よって、逆フーリエ変換器21は式(3)のようにリップル補償値hを算出する。
【0017】
【数2】

ただし、a,b(n=1,2,・・・,N)は推力補償フーリエ係数(或いは第2フーリエ係数)である。a,b(n=1,2,・・・,N)の初期値を全て0とし、その値の更新は次のように行う。
【0018】
まず、リニアモータを図3に示した運動パターンで運転させる。
図3は、推力リップル補償部のパラメータを決定する際のリニアモータの運動パターンの一例を示す図である。すなわち、位置Xからエンド位置Xまでの区間(以下、フーリエ変換区間という)が必ず定速区間に入るようにリニアモータを運転させる。また、定速区間はフーリエ基本位相θの数周期分(0〜2πは1周期と言う)を含んでも良い。また、図3のような運動パターンでの運転が反復に行われる。
次に、操作器24は可動子位置Xがフーリエ変換区間にある間にフーリエ変換機能信号Sを有効し、フーリエ変換器23は式(4)および式(5)のように補償推力指令Fをフーリエ基本位相θに対してフーリエ変換を行い、新たな推力補償フーリエ係数(或いは第1フーリエ係数)a,b(n=1,2,・・・,N)を算出する。
【0019】
【数3】

【0020】
【数4】

ただし、Jはフーリエ基本位相θの1周期における計測回数である。
【0021】
最後に、操作器24はフーリエ変換終了後に係数更新機能信号Sを有効し、新たな推力補償フーリエ係数でバッファ22のデータを更新する。
また、逆フーリエ変換器21は更新された推力補償フーリエ係数を用いて式(3)のように新たなリップル補償値hを算出する。
以上のようにフーリエ変換と逆フーリエ変換を繰り返し行い、すべてのa,b(n=1,2,・・・,N)がほぼ一定な値になると、それを推力補償フーリエ係数の最終値とし、フーリエ変換を停止する。
【0022】
以下、推力リップル補償装置の動作原理を説明する。
図2は、可動子速度がほぼ一定になった際の図1の近似等価ブロック線図である。図2において、14は推力リップル補償部のモデル、16は推力定数の平均値である。また、17はリニアモータの可動子を含む機械可動部のモデルであり、リニアモータが発生する推力Fから負荷力Fを差し引いて得た加速力Fからリニアモータの可動子速度Vまでの伝達関数で表されている。ただし、Mは機械可動部の質量である。
一般に、電流アンプ13の応答特性は速度制御の応答特性より数倍から十数倍とかなり良いため、モータ電流Iが電流指令Iと等しいと見なせるので、電流アンプ13のモデル化は省略している。
厳密に言えばリニアモータが発生する推力Fとコイルに流れるモータ電流Iとの比例関係(推力定数)は可動子位置Xによって変わるが、推力Fをモータ電流Iに一定な比例関係(推力定数の平均値)Kで比例する成分Fと可動子位置Xによって変わるリップル成分Fとの差で表すことができる。
【0023】
フーリエ変換区間において、補償推力指令Fの平均値をFとし、FとFの差を推力指令リップルFとする。また、図1のような推力リップル補償装置において、リニアモータを図3のような運動パターンで1度駆動したことを1回運転という。図1より、今回運転の逆フーリエ変換に用いたフーリエ係数は前回運転の補償推力指令Fをフーリエ変換したものであるため、今回(k回目)運転のリップル補償値h(k)が同じフーリエ位相に対応する前回運転の補償推力指令Fr(k−1)と等しくなる。すなわち、式(6)が成り立つ。
(k)=Fr(k−1) (6)
速度制御器の伝達関数をC、機械可動部のモデルをPとすると、図2より、k回目の補償推力指令Fh(k)は式(7)のようになる。
【0024】
【数5】

定速区間において、速度指令Vと負荷力Fおよびそれらの応答が一定になるため、式(7)より、補償推力指令Fのリップル成分である推力指令リップルFは式(8)のようになる。
【0025】
【数6】

【0026】
,b(n=1,2,・・・,N)の初期値が全て0であるため、式(3)より、1回目運転時のリップル補償値hの値h(1)も0となる。すなわち、式(9)が成り立つ。
(1)=0 (9)
式(9)を式(8)に代入すると、1回目運転時の推力指令リップルFの値Fr(1)は式(10)のようになる。
【0027】
【数7】


式(10)を式(6)に代入すると、2回目運転時のリップル補償値hの値h(2)は式(11)のようになる。
【0028】
【数8】


また、式(11)を式(8)に代入すると、2回目運転時の推力指令リップルFの値Fr(2)は式(12)のようになる。
【0029】
【数9】

さらに、式(12)を式(6)に代入すると、3回目運転時のリップル補償値hの値h(3)は式(13)のようになる。
【0030】
【数10】

このように展開すると、k回目運転時のリップル補償値hの値h(k)は式(14)のようになる。
【0031】
【数11】

推力リップルFの最大周波数をωrmとし、速度制御器11C(s)を式(15)を満たすように構成すれば、式(16)が成り立つ。
【0032】
【数12】

【0033】
【数13】


そして、図2より、式(17)が成り立つ。
【0034】
【数14】

以上のことをまとめると、速度制御器11C(s)を式(15)を満たすように構成すれば、図1のような推力リップル補償装置を十分大きな回数で運転すれば、推力リップルがほぼ完全に補償される。
また、式(15)の条件は容易に満たされる。例えば、速度制御器を比例制御器とすれば、その制御ゲイン、機械可動部の質量Mおよび推力定数の平均値Kの大きさと関係なく式(15)が常に成り立つ。
【0035】
このようにして、リニアモータを一定の運転パターンで運転しながら、前回運転時の補償推力指令Fおよび可動子位置Xに基づいてフーリエ変換を行い補償推力指令のフーリエ係数を計算し、そのフーリエ係数を用いて逆フーリエ変換を行い今回のリップル補償値hを計算し、推力指令Fを足して新たな補償推力指令Fとすることを繰り返し行い、推力リップルを段々完全補償し、モータの送りむらを減少させることができる。
【0036】
次に、本発明の効果を具体例を用いて説明する。K=K、速度制御器をPI制御とした場合のシミュレーション結果を図4に示す。図4より、1回目補償を行う際にリップル補償値hが推力リップルFと大きな差があるが、9回目補償を行う際にリップル補償値hが推力リップルFとほぼ一致になる。
【0037】
本発明のリニアモータの推力リップル補償装置は、従来のサーボモータのトルクリップル補償装置に比較して、リップルの高次成分も考慮して補償を行うので、より正確にリップルを補償することができ、モータの送りむらを減少させるという効果がある。
また、補償が繰り返し行うので、速度制御器の制御ゲインが低くても、補償効果が低下しない。
【図面の簡単な説明】
【0038】
【図1】本発明のリニアモータの推力リップル補償装置の構成を示すブロック線図
【図2】可動子速度がほぼ一定になった際に図1の近似等価ブロック線図
【図3】推力リップル補償部のパラメータを決定する際にリニアモータの運動パターンの一例を示す図
【図4】K=K、速度制御器をPI制御とした場合のシミュレーション結果
【図5】従来技術のサーボモータのトルクリップル補償装置の構成を示すブロック線図
【符号の説明】
【0039】
1 モータ制御装置
4 リニアモータ
5 負荷
6 位置検出器
11 速度制御器
12 電流指令変換器
13 電流アンプ
14 推力リップル補償部のモデル
15 微分器
16 推力定数の平均値
17 機械可動部のモデル
20 推力リップル補償部
21 逆フーリエ変換器
22 バッファ
23 フーリエ変換器
24 操作器
25 位相計算器
50 内部パラメータ決定機構
51 モータ
52 電流制御器
53 トルクフィルタ
54 速度制御器
55 差分演算器
56 速度指令
57 トルク指令
58 リップル生成器
59 FFT解析手段

【特許請求の範囲】
【請求項1】
リニアモータの可動子位置Xを入力し可動子速度Vを出力する微分器と、速度指令Vから前記可動子速度Vを差し引いた値を入力し推力指令Fを出力する速度制御器と、補償推力指令Fおよび前記可動子位置Xに基づいてリップル補償値hを生成する推力リップル補償部と、前記推力指令Fに前記リップル補償値hを足し合わせた前記補償推力指令Fを入力し電流指令を出力する電流指令変換器と、前記リニアモータの電流を前記電流指令に追従させる電流アンプとを備えたリニアモータの推力リップル補償装置において、
前記推力リップル補償部は、前記可動子位置Xを入力しフーリエ基本波位相θを出力する位相計算器と、前記可動子位置Xに基づいてフーリエ変換機能信号Sと係数更新機能信号Sを出力する操作器と、前記フーリエ変換機能信号Sが有効となった際に前記フーリエ基本位相θおよび前記補償推力指令Fに基づいてフーリエ変換を行い第1フーリエ係数を算出するフーリエ変換器と、前記係数更新機能信号Sが有効となった際に前記第1フーリエ係数を入力してデータ更新し第2フーリエ係数を出力するバッファと、前記第2フーリエ係数を用いて前記フーリエ基本位相θに基づいて逆フーリエ変換を行い前記リップル補償値hを算出する逆フーリエ変換器とで構成することを特徴とするリニアモータの推力リップル補償装置。
【請求項2】
前記位相計算器は、前記フーリエ基本位相θを次式で計算することを特徴とする請求項1に記載のリニアモータの推力リップル補償装置。
θ=mod{(X−X),(X−X)}・2π
ただし、Xは補償すべく移動範囲のスタート位置、Xは補償すべく移動範囲のエンド位置、mod{P,Q}はPをQで割った余りを求める関数を表す。
【請求項3】
検出されたリニアモータの可動子位置Xを微分器に入力して可動子速度Vを出力し、速度指令Vから前記可動子速度Vを差し引いた値を速度制御器に入力して推力指令Fを出力し、前期可動子位置Xおよび補償推力指令Fを推力リップル補償部に入力してリップル補償値hを出力し、前記推力指令Fと前記リップル補償値hとを足して前記補償推力指令Fとし、前記補償推力指令Fを電流指令変換器に入力して電流指令を出力し、前記電流指令を電流アンプに入力して前記リニアモータのコイルに電流を流してリニアモータを駆動することを特徴とするリニアモータの推力リップル補償方法において、
前記推力リップル補償部は、前記可動子位置Xを位相計算器に入力してフーリエ基本位相θを出力し、前記可動子位置Xに基づいて操作器にて変換更新判断処理してフーリエ変換機能信号Sと係数更新機能信号Sを出力し、前記フーリエ変換機能信号Sが有効となった際に前記フーリエ基本位相θおよび前記補償推力指令Fに基づいてフーリエ変換を行い第1フーリエ係数を算出し、前記係数更新機能信号Sが有効となった際に前記第1フーリエ係数を入力してバッファのデータを更新して第2フーリエ係数を出力し、前記第2フーリエ係数を用いて前記フーリエ基本位相θに基づいて逆フーリエ変換を行い前記リップル補償値hを算出することを特徴とするリニアモータの推力リップル補償方法。
【請求項4】
前記変換更新判断処理では、前記可動子位置がフーリエ変換区間にある間に、前記フーリエ変換機能信号Sを有効させ、前記フーリエ変換が終了した直後に前記係数更新機能信号Sを有効させることを特徴とする請求項3に記載のリニアモータの推力リップル補償方法。
【請求項5】
前記フーリエ変換区間において、前記可動子速度がほぼ一定であり、前記フーリエ基本位相の変化量が2πであることを特徴とする請求項4に記載のリニアモータの推力リップル補償方法。
【請求項6】
前記推力リップル補償を複数回行うことを特徴とする請求項3に記載のリニアモータの推力リップル補償方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate