説明

リニアモータの推力リップル補償装置とモータ制御装置

【課題】 リニアモータの推力リップルの周期性が少なくても、また負荷が変化しても、モータの送りむらを減少させるリニアモータの推力リップル補償装置を提供する。
【解決手段】 推力指令およびリニアモータの位置に基づいて補償推力指令を生成する推力リップル補償部20と、補償推力指令を入力し電流指令を出力する電流指令変換器12と、リニアモータの電流を電流指令に追従させる電流アンプ13とを備えたリニアモータの推力リップル補償装置において、推力リップル補償部20は、リニアモータの位置を入力しフーリエ基本位相を出力する位相計算器22と、フーリエ基本位相および推力指令に基づいて推力リップル補償値を出力する推力リップル計算器21と、推力指令に推力リップル補償値を加算して補償推力指令を出力する加算器23とで構成される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、リニアモータに起因する推力リップルを減少させることにより、該リップルにより発生する送りむらを減少させるリニアモータの推力リップル補償装置に関する。
【背景技術】
【0002】
サーボモータにおいては、可動子と固定子との相対位置に応じてコイルに流れる電流を変化させることにより推力を得ている。
例えば、同期型リニアモータ等のサーボモータにおいては、可動子または固定子のどちらかの側に永久磁石を配置し、対向側にコイルを配置しており、可動子と固定子との相対位置に応じて、d‐q変換を行い、一定な推力を得るために、一定なq軸電流指令を与え、電流フィードバック制御してコイルに電流を流している。
ところが、コアの不均一性、着磁の乱れ、端効果などの要因によってコギングやトルク定数の変動が存在するため、一定なq軸電流指令を与えても、サーボモータが発生する推力は可動子と固定子との相対位置によって変わる。よって、サーボの制御性能を向上させるため、このような推力リップルの補償は不可欠になる。
【0003】
従来のサーボモータのトルクリップル補正方法は、トルク指令制御部によって、速度ループ補償器が発生したトルク指令からトルクリップルによるトルク変化相当分を補償している(例えば、特許文献1参照)。
また、サーボモータの電気角に合わせて作った正弦波信号である第1の補正量と、そのサーボモータで駆動する機械の特定の移動距離に合わせて作った正弦波信号である第2の補正量とを、トルク指令に加えているものもある(例えば、特許文献2参照)。
図4は第1従来技術のサーボモータのトルクリップル補正方法の構成を示すブロック線図である。図4において、31は速度ループ補償器、32はトルク定数、33はモータおよび機械系、36はトルク指令制御部である。
トルク指令制御部36は、速度ループ補償器31によって算出されたトルク指令Tcおよびサーボモータのロータ磁石と電機子巻線との空間的位置関係であるロータ位相θmと電機子巻線に流れる電流値Iとに依存するトルクリップルTl(θm,I)とに基づいて、補正トルク指令Tc’を算出する。
いま、トルク定数32をKtとすると、トルクTmは、
Tm=Kt・Tc+Tl(θm,I)
となる。
一方、第1の従来技術のトルクリップル補正方法を適用した場合には、トルク指令Tcはトルク指令制御部36によって補正されて補正トルク指令Tc’となり、
Tm=Kt・Tc’+Tl(θm,I)
となる。
そして、この補正トルク指令Tc’の持つトルク指令の補正量は、トルクリップルTl(θm,I)を補償する補正項Cによって、
Tc’=Tc・(1+C)
と表すことができる。
この場合、トルクTmは、
Tm=Kt・Tc・(1+C)+Tl(θm,I)
=Kt・Tc+Kt・Tc・C+Tl(θm,I)
となり、
C=−Tl(θm,I)/(Kt・Tc)
とすることで、トルクリップルTl(θm,I)を補正することができる。
【0004】
図5は第2従来技術のサーボモータのトルクリップル補償装置の構成を示すブロック線図である。図5において、41はモータ、42はエンコーダ、43は電流制御手段、44はPWM電力変換装置、45は電流検出手段、46はモータ電気角計算手段、47は第1の周波数f・振幅D・位相φ入力手段、48は第1の正弦波計算手段、49はモータ位置計算手段、50は第2の周波数f・振幅D・位相φ入力手段、51は第2の正弦波計算手段、52は第1加算手段、53は第2加算手段である。
モータ電気角計算手段46は、エンコーダ42によって検出されたモータ位置posからモータ電気角θeを計算する。第1の周波数f・振幅D・位相φ入力手段47では、周波数(モータ電気角周波数の整数倍)・振幅・位相を自由に選ぶことができ、それらを第1の正弦波計算手段48に入力する。第1の正弦波計算手段48は、sinテーブルを備えており、モータ電気角θeと入力された周波数f・振幅D・位相φに基づいて、
D・sin(f・θe−φ)
ただし、fは正の整数である。
となる正弦波を作る。
また、この第1の正弦波はm個(mは自然数)作ることができるので、第1のトルクリップル補正量Tcnp1は、
【0005】
【数1】

【0006】
となる。
また、モータ位置計算手段49は、モータ位置posから前述の特定の移動範囲L内でのモータ位置Leを計算する。周波数f・振幅D・位相φ入力手段50では、周波数(モータの特定の距離の移動を1周期とする周波数の整数倍の倍数)・振幅・位相を自由に選ぶことができ、それらを第2の正弦波計算手段51に入力する。周波数f、振幅D、位相φの値は、例えば一定速度にて上記特定の距離以上の範囲を移動したときのトルクデータを読み込み、周波数fの値毎にフーリエ変換の計算を実行し、振幅D、位相φの値を求めることで求まる。第2の正弦波計算手段48は、sinテーブルを備えており、モータ位置Leと入力された周波数f・振幅D・位相φに基づいて、
D・sin{2π・f・(Le/L)−φ}
ただし、fは正の整数である。
となる正弦波を作る。
また、この第2の正弦波はk個(kは自然数)作ることができるので、第2のトルクリップル補正量Tcmp2は、
【0007】
【数2】

【0008】
となる。
このようにして、第1のトルクリップル補正量Tcnp1および第2のトルクリップル補正量Tcmp2を求めて、それぞれを加え合わせた値をトルクリップル補正量としている。
【特許文献1】特開平7−284286号公報(第8頁、図1)
【特許文献2】特開2005−80482号公報(第6頁、図1)
【発明の開示】
【発明が解決しようとする課題】
【0009】
第1従来技術のサーボモータのトルクリップル補正方法は、速度ループ補償器が発生したトルク指令にトルクリップルによるトルク変化相当分を補償する係数を乗じた値を補償トルク指令としているので、トルク指令が0である場合に存在しているトルクリップルを補償できないという問題があった。
また、第2従来技術のサーボモータのトルクリップル補償装置は、サーボモータの電気角および回転角度のみに基づいてトルク指令補償値を計算したので、負荷が変化した時の電流によって変化するトルクリップルを補償できないという問題があった。
また、上述の2つ従来技術では、回転モータを想定し、回転角度或いは電気角度に依存する周期的なリップルを補償しているため、リニアモータなど磁極位置に関するリップルの周期性が少ないものに対しては適応できないという問題もあった。
本発明はこのような問題点に鑑みてなされたものであり、推力指令が0である場合に存在している推力リップルであっても、負荷が変化した時の電流によって変化する推力リップルであっても、リップルの周期性が少なくても、高精度に推力リップルを補償し、モータの送りむらを減少させることができる推力リップル補償装置とモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記問題を解決するため、本発明は、次のように構成したものである。
請求項1に記載の発明は、 推力指令(F)およびリニアモータの位置(X)に基づいて補償推力指令(F)を生成する推力リップル補償部と、前記補償推力指令(F)を入力し電流指令を出力する電流指令変換器と、前記リニアモータの電流を前記電流指令に追従させる電流アンプとを備えたリニアモータの推力リップル補償装置において、
前記推力リップル補償部は、前記リニアモータの位置(X)を入力しフーリエ基本波の位相(θ)(以下、「フーリエ基本位相(θ)」という。)を出力する位相計算器と、前記フーリエ基本位相(θ)および前記推力指令(F)に基づいて推力リップル補償値(F)を出力する推力リップル計算器と、前記推力指令(F)に前記推力リップル補償値(F)を加算して前記補償推力指令(F)を出力する加算器とで構成することを特徴とするものである。
【0011】
また、請求項2に記載の発明は、請求項1に記載のリニアモータの推力リップル補償装置において、前記位相計算器は、前記フーリエ基本位相(θ)を次式で計算することを特徴とするものである。
θ=mod{(X−X),(X−X)}・2π
ただし、Xは補償すべく移動範囲のスタート位置、Xは補償すべく移動範囲のエンド位置、mod{P,Q}はPをQで割った余りを求める関数を表す。
【0012】
また、請求項3に記載の発明は、請求項1に記載のリニアモータの推力リップル補償装置において、前記推力リップル計算器は、前記フーリエ基本位相(θ)および前記推力指令(F)に基づいて、前記推力リップル補償値(F)を次式で計算することを特徴とするものである。
【数3】

【0013】
ただし、Nは一定な自然数である。また、A
【数4】

【0014】

【数5】


であり、Mは一定な自然数、anm,bnm(n=1,2,・・・,N;m=0,1,・・・,M)は定数である。
【0015】
また、請求項4に記載の発明は、モータ制御装置において、請求項1ないし3のいずれかに記載のリニアモータの推力リップル補償装置を備えることを特徴とするものである。
【発明の効果】
【0016】
請求項1ないし3のいずれかに記載の発明によれば、推力指令およびリニアモータの位置に基づいて実際の推力リップルとの誤差が小さい推力リップル補償値を計算して補償を行うため、推力指令が0である場合に存在している推力リップルであっても、負荷が変化した時の電流によって変化する推力リップルであっても、リニアモータの推力リップルの周期性が少なくても、高精度に推力リップルを補償し、モータの送りむらを減少させる推力リップル補償装置を提供することができる。
また、請求項4に記載の発明によれば、推力指令およびリニアモータの位置に基づいて実際の推力リップルとの誤差が小さい推力リップル補償値を計算して補償を行う推力リップル補償装置を備えているので、推力指令が0である場合に存在している推力リップルであっても、負荷が変化した時の電流によって変化する推力リップルであっても、リニアモータの推力リップルの周期性が少なくても、高精度に推力リップルを補償し、モータの送りむらを減少させることのできるモータ制御装置を提供することができる。
【発明を実施するための最良の形態】
【0017】
以下、本発明の実施の形態について図を参照して説明する。
実際のモータ制御装置には様々な機能や手段が内蔵されているが、図には本発明に関係する機能や手段のみを記載し説明することとする。また、以下同一名称には極力同一符号を付け重複説明を省略する。
【実施例1】
【0018】
図1は、本発明のリニアモータの推力リップル補償装置の構成を示すブロック線図である。図1において、1はモータ制御装置、4はリニアモータ、5は負荷、6は位置検出器であり、12は電流指令変換器、13は電流アンプ、20は推力リップル補償部、21は推力リップル計算器、22は位相計算器である。
モータ制御装置1は、電流指令変換器12、電流アンプ13、および推力リップル補償部20で構成されており、推力リップル補償部20は、推力指令Fおよびリニアモータの位置Xを入力し、その推力指令Fおよびリニアモータの位置Xに基づいて補償推力指令Fを算出して電流指令変換器12に出力する。
電流指令変換器12は、補償推力指令Fを電流指令Iに変換し電流アンプ13に出力する。
電流アンプ13は、電流指令Iに基づいてリニアモータ4にモータ電流Iを流す。
リニアモータ4は、推力を発生し負荷を駆動する。
位置検出器5は、リニアモータ4に装着されており、リニアモータ4の位置Xを検出して推力リップル補償部20に出力する。
【0019】
推力リップル補償部20は、推力リップル計算器21、位相計算器22および加算器23で構成されており、位相計算器22は、リニアモータ4の位置Xを入力し、リニアモータ4の位置Xに基づいてフーリエ基本位相θを計算し推力リップル計算器21に出力する。
推力リップル計算器21は、推力指令Fおよびフーリエ基本位相θを入力し、その推力指令Fおよびフーリエ基本位相θに基づいて推力リップル補償値Fを計算し、加算器23に出力する。
加算器23は、推力指令Fに推力リップル補償値Fを加算して補償推力指令Fを算出し、電流指令変換器12に出力する。
【0020】
以下、推力リップルの補償原理について説明する。
まず、推力リップルFと推力指令Fおよびリニアモータの位置Xとの関係を分析する。
リニアモータの推力Fは、リニアモータのコイルに流れる電流により発生する電磁力Fと、永久磁石が磁性材料との間に発生する吸引力(一般的にコギングと言う)Fとを含む。理想なリニアモータとしては、電磁力Fがモータ電流Iと一定な定数で比例し(すなわち、力定数が定数である)、コギングFが0となることが望ましいが、実際のリニアモータでは、力定数がモータ電流Iおよびリニアモータの位置Xによって変動し、また、コギングFがリニアモータの位置Xによって変わる。
【0021】
本発明が、従来技術と異なる点は、リニアモータの位置Xを入力しフーリエ基本位相θを出力する位相計算器22と、フーリエ基本位相θおよび推力指令Fに基づいて推力リップル補償値Fを出力する推力リップル計算器21と、推力指令Fに推力リップル補償値Fを加算して補償推力指令Fを出力する加算器23とで構成した推力リップル補償部20を備え、推力指令が0である場合に存在している推力リップルと、負荷が変化した時の電流によって変化する推力リップルと、の両方を共に考慮して補償を行う点である。
【0022】
図2は、図1の近似等価ブロック線図である。図2において、14は推力定数、15はコギング関数、16は加算器、17は減算器、18はリニアモータの可動子を含む機械可動部のモデルである。
一般的に、電流アンプ13の特性は良いため、モータ電流Iが電流指令Iと等しいと見なせるので、電流アンプ13のモデル化は省略している。
推力定数14は、関数K(I,X)で表わされている。コギング関数15は、関数c(X)で表わされている。リニアモータの可動子を含む機械可動部のモデル18は、加速力Fからリニアモータの位置Xまでの伝達関数で表されている。電磁力FとコギングFとの和がモータの発生する推力Fとなる。
また、推力Fから負荷力Fを差し引いたものが機械可動部を加速する加速力Fとなる。
【0023】
図2により、推力Fは式(1)のように表すことができる。
F=F+F=I・K(I,X)+c(X) (1)
また、式(2)が成り立つ。
=I=F/K(2)
式(2)を式(1)に代入し、推力Fは式(3)に示すように補償推力指令Fおよびリニアモータ4の位置Xの関数で表すことができる。
F=(F/K)・K(F/K,X)+c(X)=f(F,X) (3)
式(3)より、推力Fは補償推力指令Fに追従せず、そのリップルは補償推力指令Fおよびリニアモータ4の位置Xによって変わる。
よって、リニアモータに一定な推力Fを発生させるため、補償推力指令Fにリップル補償値を含ませる必要がある。
【0024】
次に、フーリエ基本位相θおよび推力リップル補償値Fを算出する方法について説明する。
推力Fがリニアモータ4の位置Xの周期関数である場合では、その周期のスタート位置をX、エンド位置をXとする。
推力Fがリニアモータ4の位置Xの周期関数でない場合では、補償すべく移動範囲のスタート位置をX、そのエンド位置をXとする。
よって、フーリエ基本位相θを式(4)のように与える。
θ=mod{(X−X),(X−X)}・2π (4)
ただし、mod{P,Q}はPをQで割った余りを求める関数を表す。
そして、推力リップル補償値Fを式(5)のようなフーリエ級数で表すものとする。
【0025】
【数6】

【0026】
ただし、Nは一定な自然数である。また、フーリエ係数A(n=1,2,・・・,N)およびB(n=1,2,・・・,N)は式(6)に示すように元の推力指令Fの多項式で表すものとする。
【0027】
【数7】

【0028】
ただし、Mは一定な自然数、anm,bnm(n=1,2,・・・,N;m=0,1,・・・,M)は定数である。
よって、補償推力指令Fは式(6′)のようになる。
【0029】
【数8】

【0030】
補償パラメータanmおよびbnmは定数であって、リニアモータを駆動する系が決定された際に決定しておくことにより、リニアモータを運転する際に、毎回、決定する必要はない。
つぎに、補償パラメータanmおよびbnmを決定する方法を説明する。
リニアモータ4の位置Xをフィードバックして位置速度制御系を構成する。
図3は、補償パラメータを決定するために用いた位置速度制御系を構成した一例である。図3において、11は位置速度制御器、30は補償パラメータ決定部である。
位置速度制御器11は、位置指令Xおよびリニアモータ4の位置Xを入力し、その位置指令Xおよびリニアモータの位置Xに基づいて推力指令Fを算出し、補償パラメータ決定部30に出力する。
補償パラメータ決定部30は、推力指令Fおよびリニアモータ4の位置Xに基づいて補償パラメータanmおよびbnmを決定する。
【0031】
まず、スタート位置Xからエンド位置Xまでの区間が定速区間に入るように位置指令Xを設定し、スタート位置Xとエンド位置Xとの間にモータ速度が一定となるように位置速度制御器11の制御ゲインを十分大きく上げるか、若しくは、位置速度制御器に繰り返し補償器を含ませる。
つぎに、リニアモータを動かしながら、リニアモータがスタート位置Xとエンド位置Xとの間に移動する際にリニアモータの位置Xと対応する推力指令Fを記録する。
さらに、そのデータに基づいてフーリエ解析してAおよびBを計算する。また、数回負荷力Fを変えてAおよびBを計算する。
最後に、AとBの近似誤差が最小となるように最小2乗法を用いてanmおよびbnmを計算する。
このようにして、補償パラメータanmおよびbnmを決定する。
【0032】
このようにして、リニアモータを運転する際に、リップル測定時に使われた推力指令に近い値を新たな推力指令とすることで、リニアモータがリップル測定時とほぼ同じ動きをするようにさせることができる。
また、リップル測定時にモータ速度が一定となるように制御されたため、加速力Fが0となるので、推力Fが負荷力Fと等しくなり、すなわち、推力リップルが0になっていた。
従って、図1のように補償されたリニアモータが発生する推力リップルも小さくなるので、モータの送りむらを減少させることができる。
【0033】
本発明のリニアモータの推力リップル補償装置は、従来のサーボモータのトルクリップル補償装置に比較して、推力指令が0である場合に存在している推力リップルと、負荷が変化した時の電流によって変化する推力リップルと、の両方を共に考慮して補償を行うので、トルク指令が0である場合に存在しているトルクリップルが大きくても、負荷が変化しても、モータの送りむらを減少させるという効果がある。
【図面の簡単な説明】
【0034】
【図1】本発明のリニアモータの推力リップル補償装置の構成を示すブロック線図
【図2】図1の近似等価ブロック線図
【図3】補償パラメータを決定するために用いた位置速度制御系を構成した一例
【図4】第1従来技術のサーボモータのトルクリップル補正方法の構成を示すブロック線図
【図5】第2従来技術のサーボモータのトルクリップル補償装置の構成を示すブロック線図
【符号の説明】
【0035】
1 モータ制御装置
4 リニアモータ
5 負荷
6 位置検出器
12 電流指令変換器
13 電流アンプ
14 推力定数
15 コギング関数
16 加算器
17 減算器
18 機械可動部のモデル
20 推力リップル補償部
21 推力リップル計算器
22 位相計算器
30 補償パラメータ決定部
31 速度ループ補償器
32 トルク定数
33 および機械系
36 トルク指令制御部
41 モータ
42 エンコーダ
43 電流制御手段
44 PWM電力変換装置
45 電流検出手段
46 モータ電気角計算手段
47 第1の周波数f・振幅D・位相φ入力手段
48 第1の正弦波計算手段
49 モータ位置計算手段
50 第2の周波数f・振幅D・位相φ入力手段
51 第2の正弦波計算手段
52 第1加算手段
53 第2加算手段

【特許請求の範囲】
【請求項1】
推力指令(F)およびリニアモータの位置(X)に基づいて補償推力指令(F)を生成する推力リップル補償部と、前記補償推力指令(F)を入力し電流指令を出力する電流指令変換器と、前記リニアモータの電流を前記電流指令に追従させる電流アンプとを備えたリニアモータの推力リップル補償装置において、
前記推力リップル補償部は、前記リニアモータの位置(X)を入力しフーリエ基本波の位相(θ)(以下、「フーリエ基本位相(θ)」という。)を出力する位相計算器と、前記フーリエ基本位相(θ)および前記推力指令(F)に基づいて推力リップル補償値(F)を出力する推力リップル計算器と、前記推力指令(F)に前記推力リップル補償値(F)を加算して前記補償推力指令(F)を出力する加算器とで構成することを特徴とするリニアモータの推力リップル補償装置。
【請求項2】
前記位相計算器は、前記フーリエ基本位相(θ)を次式で計算することを特徴とする請求項1に記載のリニアモータの推力リップル補償装置。
θ=mod{(X−X),(X−X)}・2π
ただし、Xは補償すべく移動範囲のスタート位置、Xは補償すべく移動範囲のエンド位置、mod{P,Q}はPをQで割った余りを求める関数を表す。
【請求項3】
前記推力リップル計算器は、前記フーリエ基本位相(θ)および前記推力指令(F)に基づいて、前記推力リップル補償値(F)を次式で計算することを特徴とする請求項1に記載のリニアモータの推力リップル補償装置。
【数1】


ただし、Nは一定な自然数である。また、A
【数2】



【数3】


であり、Mは一定な自然数、anm,bnm(n=1,2,・・・,N;m=0,1,・・・,M)は定数である。
【請求項4】
請求項1ないし3のいずれかに記載のリニアモータの推力リップル補償装置を備えることを特徴とするモータ制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate