JP3816725B2 - Motor control device and correction value measuring method for suppressing torque ripple used in the same - Google Patents

Motor control device and correction value measuring method for suppressing torque ripple used in the same Download PDF

Info

Publication number
JP3816725B2
JP3816725B2 JP2000120438A JP2000120438A JP3816725B2 JP 3816725 B2 JP3816725 B2 JP 3816725B2 JP 2000120438 A JP2000120438 A JP 2000120438A JP 2000120438 A JP2000120438 A JP 2000120438A JP 3816725 B2 JP3816725 B2 JP 3816725B2
Authority
JP
Japan
Prior art keywords
torque
speed
correction value
ripple
motor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000120438A
Other languages
Japanese (ja)
Other versions
JP2001309687A (en
Inventor
英俊 池田
彰 佐竹
尚徳 山崎
正徳 安江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2000120438A priority Critical patent/JP3816725B2/en
Publication of JP2001309687A publication Critical patent/JP2001309687A/en
Application granted granted Critical
Publication of JP3816725B2 publication Critical patent/JP3816725B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Control Of Electric Motors In General (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、回転モータあるいはリニアモータの制御装置において、回転のトルクあるいは直動の推力の脈動を減少させるモータ制御装置に関するものである。
【0002】
【従来の技術】
回転モータあるいはリニアモータにおいては、回転子あるいは可動子の位置によって、回転のトルクあるいは直動の推力が変動し、このため回転子の回転に伴ってトルクが脈動する、あるいは可動子の移動に伴って推力が脈動する現象が発生することが知られており、トルクリプルあるいは推力リプルと呼ばれる。トルクリプルあるいは推力リプルは、モータを使用している装置の動作に悪影響を与える場合がある。そのため、このトルクリプルあるいは推力リプルを測定し、この測定値を利用した制御によりトルクリプルあるいは推力リプルを減少させるようなモータの制御装置が提案されている。図12〜図22は例えば特開平10−23774号公報に示されたモータの回転制御装置を示すものである。
【0003】
以下、本従来例を図面によって説明する。なお、例示した従来例の明細書では、トルクの脈動により発生する速度の脈動をトルクリップルと称しているが、以下の説明では正確に表現するために、トルクリプルはトルクの脈動を示し、速度リプルはトルクリプルにより生じる速度の脈動を示し、また回転角度振動はトルクリプルにより生じる回転角度の振動成分を示すこととする。
まず、モータのトルクリプルに起因した回転角度振動を測定する方法について、図12のフローチャートに従って説明する。尚、この説明は図13〜図16を参照しながら行う。
【0004】
図12は、本従来例でのモータの回転角度振動の測定処理動作を示すフローチャートである。同図に示すように、ステップS1において、先ずモータが予め設定された所定の指令速度N(rpm)で回転制御される。この時、速度指令データに基づくモータ指令回転角度と、エンコーダ等により測定されたモータ実回転角度がデータとして保存される。図13(a)は速度指令データに基づくモータ指令回転角度と、モータが理想的に動作した場合の回転角度(モータ理想回転角度)との関係を示し、図13(b)はその実回転角度データとの関係を示したものである。モータが速度指令データ通りに回転した場合には、図13(a)の理想データに示すように、モータ指令回転角度とモータ回転角度との関係は直線になる。しかし、モータは実際にはトルクリプル等により速度指令データ通りに回転せず、図13(b)の実回転データに示すように、回転角度に振動成分を生じる。
【0005】
次に、ステップS2において、モータ1回転分の理想回転角度データ及び実回転角度データが、それぞれデータの起点がモータの回転角度にして例えば5/3度ずつずれた各4種類の第1〜第4データDa1〜Da4,Db1〜Db4として記憶される。ここでずらす角度を5/3度に設定しているのは、本従来例での実施例に用いられるモータが1回転に対してトルクリプルが36回発生するモータであり、5/3度は回転角度振動の1周期分のモータ回転角の1/6に相当するからである。なお、このずらす角度が、回転角度振動のモータ回転角に対する位相を算出する際の分解能に相当する。
【0006】
次に、ステップS3において、先に作成された第1〜第4理想回転角度データDa1〜Da4及び第1〜第4実回転角度データDb1〜Db4に、それぞれハニング窓関数が乗算される。図14(a),(b)は、乗算の結果得られた各ハニングデータを示すものである。続いて、ステップS4において、上記各ハニングデータを周波数成分に分解するために、各ハニングデータがFFT(高速フーリエ変換)処理される。ステップS5については、測定に直接関係がないため説明を省略する。
同時に、ステップS6において、対応する理想回転角度のFFTデータと実回転角度のFFTデータとに基づき、4種類の伝達関数が求められる。そして、ステップS7において、求められた各伝達関数に基づき、4種類のボード線図が作成される。図15は作成されたボード線図の一例を示すものであるが、速度リプルの周波数である36Hzの周波数におけるゲインが大きくなっていることが判る。
【0007】
次に、ステップS8において、4種類のボード線図から、速度リプルの周波数におけるゲインが最大のボード線図が選択され、そのゲインGが記憶される。この最大のゲインGを有するボード線図に対応するデータが、図16においてサイン波Wで示された回転角度振動の波高値が最大のものに相当し、選択されたボード線図に対応するデータの起点はサイン波Wの起点と一致する。一方、速度リプルのサイン波の起点位置は、サイン波Wのマイナス側の最大波高値の位置に相当すると考えられる。
例えば、最大のゲインGを有するボード線図に対応するデータがDa2,Db2であった場合には、データDa2,Db2の起点はモータ回転角の原点から5/3度ずれた位置なので、速度リプルが発生する基点の回転角度は、5/3度+7.5度となる。ここで7.5度はずれが無い場合のサイン波Wのマイナス側の最大波高値の角度である。
【0008】
次に、ステップS9において、速度リプルの周波数での理想回転角データの波高値Pが算出される。第1理想データDa1にハニング窓関数が乗算され、続いてFFT処理された後、下記の式(1)に従って、速度リプル周波数での波高値Pが算出される。
P=2×√(Rl2+Im2)・・・(1)
ここで、Rlは速度リプル周波数でのFFT結果の実軸データの大きさを表し、Imは虚軸データの大きさを表す。
【0009】
次にステップS10において、前記ステップS9で算出された理想回転角データの波高値Pと、前記ステップS8で選択された最大ゲインGとに基づき、下記の式(2)に従って、速度リプル周波数での振れ量が算出される。
振れ量(degree)=P×(10(G/20)−1)・・・(2)
以上の様に、本従来例では上記の手順により、トルクリプルにより発生する回転角度振動の振幅と位相ずれ(モータ回転角の原点に対する)を求めることが出来る。
なお、前記の回転角度振動の振幅と位相ずれは、同じモータであっても回転速度N(rpm)が変化するのに応じて変化する。そのため、回転角度振動の振幅と位相ずれのデータはモータを制御する各回転速度N毎に求めておく必要がある。
【0010】
次に、上記測定結果に基づき、モータのトルクリプルに起因した回転角度振動を抑制する方法について、図17〜図20に従って説明する。
先ず図17のステップS31において、モータで発生する回転角度振動の振幅と位相ずれ量が、上記方法にてあらかじめ測定・算出され記憶されている。この振幅及び位相ずれ量は、前記のようにモータの回転速度N(rpm)の各回転速度毎にそれぞれ算出されている。
【0011】
次に、ステップS32において、モータのトルクリプルに起因して発生する回転角度振動を表すサイン波が作成される。その波形f(i)は下記の式(3)で表すことができる。
f(i)=1×sin(B・θi−Pi) ・・・(3)
ここで、θiはモータの回転角度を表し、Piは回転角度振動の位相ずれ量を表す。又、Bはモータが1回転中に発生するトルクリプルの回数を表す。
続いて、ステップS33において、例えば図18のようなモータ速度制御指令値データ(角度−速度データ)Hが時間で積分されて、図19に示すような時間−角度データIが作成される。
【0012】
次にステップS34において、積分の結果得られた時間−角度データIに補正値が加えられて、図20に示すような補正後の時間−角度データJが作成される。つまり、この補正後の時間−角度データJは、図19に示す時間−角度データIに対して、トルクリプルに起因して生じるモータの回転角度振動を打ち消すような値を補正値として加えたものになる。具体的には、図19の時間−角度データI上において、ある時間tiでのモータ回転角度をθiとしたとき、その回転角度θiでのモータ回転速度Niが図18に示すモータ速度制御指令値データ(角度−速度データ)Hより求められる。そして、その求められた回転速度Niでの回転角度振動の振幅Siおよび位相ずれPiが得られ、前記式(3)に従い、モータの回転角度がθiのときの値f(i)が求められる。このように図19の時間−角度データI上における時間tiを少しずつ変えながら、各時間tiでの回転角度θiにそれぞれ対応する値Si,f(i)が求められる。そして、このようにして求められた値Si,f(i)に基づき、下記の式(4)に従って図20に示すような補正後の時間−角度データJが作成される。
J=I−f(i)×Si ・・・(4)
【0013】
次に、ステップS35において、補正後の時間−角度データJが微分されて、図21に示すような時間−速度データKが作成される。続いて、ステップS36において、図20に示す補正後の時間−角度データJと図21に示す時間−速度データKとに基づき、図22に示すような補正後の主軸速度制御データ(角度−速度データ)Lが作成される。本従来例では、このデータをモータを回転制御するための指令値として使用すれば、モータに生じるトルクリプルが発生する回転角度振動をあらかじめ予想して指令値データを作成することにより、モータにトルクリプルに起因した回転角度振動が生じることなく制御する事が出来るとされている。
【0014】
【発明が解決しようとする課題】
従来のトルクリプルを測定・抑制するモータの制御装置は以上のように構成されており、その方式の要点は、トルクリプルにより発生する回転角度あるいは回転速度の振動の振幅と位相を測定しておき、これらを回転角度指令あるいは回転速度指令に補正量として加えることである。ところがこの従来の方式では、制御対象の応答が考慮されていないためトルクリプルによる回転変動を完全に抑制することは出来ない。
【0015】
以下、上記の問題点を図23、24のトルクリプルを発生するモータの速度フィードバック制御系のブロック線図を用いて説明する。図23、24において、1は速度指令値uとモータ回転速度yとの差である速度エラーからモータ発生トルクまでの伝達関数G1aを表すブロック、2は前記モータ発生トルクとトルクリプルdとの合計である出力トルクからモータ回転速度yまでの伝達関数G2aを表すブロックである。
まず図23に示すように、速度指令値uとして一定値u0を入力した場合に、発生する速度リプルがΔyであったとする。
【0016】
従来の制御方式の場合、この速度リプルΔyを補正値として速度指令値uから減じるのであるが、この補正値によって生じる速度リプルΔy’は図25のブロック線図より(5)式で表されることが分かる。
Δy’=Δy・G1a・G2a/(1+G1a・G2a)・・・(5)
これより、補正後の速度リプルの合計は(6)式で表される。
Δyc=Δy−Δy’=Δy/(1+G1a・G2a) ・・・(6)
このように、従来の制御方式では(6)式で示す速度リプルΔycが残り、トルクリプルの影響を完全に除くことはできないという問題点があった。なお、上記の説明では補正値を速度指令値に加える場合について説明しているが、角度指令値およびトルク指令値に補正値を加える場合でも、同様の問題があることは明らかである。
【0017】
この発明は上記のような問題点を解消するためになされたもので、トルク(推力)リプルを測定・抑制するモータの制御装置において、制御対象の応答を考慮してトルクリプルによる回転変動を完全に抑制することが出来るモータ制御装置およびトルクリプルを抑制するための補正値の測定方法を提供することを目的とするものである。
【0018】
【課題を解決するための手段】
この発明の請求項1に係るモータ制御装置は、位置、速度またはトルクに係る指令値に基づき必要なトルクを発生し、モータの位置、速度またはトルクを制御するものであって、
上記モータが発生するトルクリプルに起因する上記モータの位置、速度またはトルクに係る出力におけるリプル成分を、上記指令値に所定の補正値を加算することにより抑制するようにしたモータ制御装置において、
上記位置、速度またはトルクに係る指令値入力から上記モータ発生トルクまでの伝達関数をG1、上記モータ発生トルクとトルクリプルとの和であるモータ出力トルクから上記位置、速度またはトルクに係る出力までの伝達関数をG2、上記補正値を加算しないときに上記位置、速度またはトルクに係る出力を周波数分析することによって上記モータの回転周波数のM倍(Mは自然数)の周波数成分として抽出されたリプル周波数成分をddとしたとき、上記補正値hdを下式により設定するものである。
hd=−dd/(G1・G2)
【0019】
また、この発明の請求項2に係る補正値測定方法は、請求項1に係るモータ制御装置において速度指令値に補正値を加算して速度出力リプル成分を抑制する場合の当該速度補正値を測定により求める方法において、
任意の第1の速度指令値を入力した状態での速度出力のリプル周波数成分ydを求め、
速度指令値として上記第1の速度指令値と上記リプル周波数の任意の速度補正値hとを加算したものを入力した状態での速度出力のリプル周波数成分yhdを求め、
上記yd、h、yhdから下式により伝達関数(G1・G2)を求め、
(G1・G2)=(yhd−yd)/h
上記伝達関数(G1・G2)に基づき求めるべき速度補正値を算出するようにしたものである。
【0020】
また、請求項3に係る補正値測定方法は、請求項1に係るモータ制御装置においてトルク指令値に補正値を加算してトルク出力リプル成分を抑制する場合の当該トルク補正値を測定により求める方法において、
任意の第1のトルク指令値を入力した状態でのトルク出力のリプル周波数成分yd’を求め、
トルク指令値として上記第1のトルク指令値と上記リプル周波数の任意のトルク補正値h’とを加算したものを入力した状態でのトルク出力のリプル周波数成分yhd’を求め、
上記yd’、h’、yhd’から下式により伝達関数(G1’・G2’)を求め、
(G1’・G2’)=(yhd’−yd’)/h’
上記伝達関数(G1’・G2’)に基づき求めるべきトルク補正値を算出するようにしたものである。
【0021】
また、請求項4に係る補正値測定方法は、請求項1に係るモータ制御装置であって速度制御系を有するものにおいてトルク指令値に補正値を加算してトルク出力リプル成分を抑制する場合の当該トルク補正値を測定により求める方法において、
任意の第1の速度指令値を入力した状態でのトルク出力のリプル周波数成分yd’を求め、
速度指令値として上記第1の速度指令値を入力しトルク指令値として上記リプル周波数の任意のトルク補正値h’を入力した状態でのトルク出力のリプル周波数成分yhd’を求め、
上記yd’、h’、yhd’から下式により伝達関数(G1’・G2’)を求め、
(G1’・G2’)=(yhd’−yd’)/h’
上記伝達関数(G1’・G2’)に基づき求めるべきトルク補正値を算出するようにしたものである。
【0022】
また、請求項5に係る補正値測定方法は、請求項1に係るモータ制御装置であって速度制御系を有するものにおいてトルク指令値に補正値を加算してトルク出力リプル成分を抑制する場合の当該トルク補正値を測定により求める方法において、
トルク指令値入力からモータ発生トルクまでの応答が十分速く、かつ速度指令値にリプル周波数成分が含まれていない場合、
任意の第1の速度指令値を入力した状態でのトルク出力のリプル周波数成分yd’’を求め、
速度指令値として上記第1の速度指令値を入力しトルク指令値として上記リプル周波数の任意のトルク補正値h’を入力した状態でのトルク出力のリプル周波数成分yhd’’を求め、
上記yd’’、h’、yhd’’から下式により伝達関数(G1’・G2’)を求め、
(G1’・G2’)≒(G1’)=(yhd’’−yd’’)/h’
上記伝達関数(G1’・G2’)に基づき求めるべきトルク補正値を算出するようにしたものである。
【0023】
また、請求項6に係る補正値測定方法は、請求項5において、トルク出力のリプル周波数成分yd’’およびyhd’’を、それぞれ下式により求めるようにしたものである。
yd’’=((dy/dt)/Jm)−u’
yhd’’=((dy/dt)/Jm)−(u’+h’)
但し、yは速度出力、Jmはモータの慣性モーメント、u’は第1の速度指令値を入力したときのトルク指令値を示す。
【0024】
また、請求項7に係る補正値測定方法は、モータ回転数の変動範囲をカバーするように異なる複数の回転数を設定し、これら複数の設定回転数における補正値を測定し、上記設定回転数と異なる回転数における補正値は上記測定補正値から補間法により求めるようにしたものである。
【0025】
また、請求項8に係る補正値測定方法は、モータ負荷量の変動範囲をカバーするように異なる複数の負荷量を設定し、これら複数の設定負荷量における補正値を測定し、上記設定負荷量と異なる負荷量における補正値は上記測定補正値から補間法により求めるようにしたものである。
【0026】
また、請求項9に係る補正値測定方法は、モータが、そのリプル周波数が異なる複数のトルクリプルを発生する場合、補正値は各リプル周波数毎に測定するようにしたものである。
【0027】
【発明の実施の形態】
実施の形態1.
図1は、この発明を実施するための実施の形態1によるモータ制御装置の動作を説明するための図であり、トルクリプルが発生する回転(リニア)モータの速度制御系のブロック線図である。なお、本願発明は、回転のトルクを直動の推力、トルクリプルをこの推力のリプルと考えれば、回転モータだけでなくリニアモータにも全く同様に適用でき同等の効果を奏する。従って、以下では、主に回転モータを対象に説明するものとする。
図1において、1は速度指令値入力uからモータ発生トルクまでの伝達関数G1を表すブロック、2は上記モータ発生トルクとトルクリプルdとの和であるモータ出力トルクからモータ回転速度yまでの伝達関数G2を表すブロックである。
なお、図1では速度フィードバックループが図示されていないが、速度フィードバックループを図示した先の図23、24との整合性を図るものとすると、
G1=G1a
G2=G2a/(1+G1a・G2a)
と考えればよい。また、hは速度リプルを抑制する補正値である。
【0028】
まず、実施の形態1によるモータ制御装置の原理について図1を用いて詳しく説明する。
はじめに、速度指令値uを与え、かつ補正値hを0とした状態で速度制御装置を動作させた状態の、回転速度出力yについて考えてみる。
ここで、トルクリプルdがモータ回転角度θm(=∫ydt)に同期して発生し、モータ回転に対するトルクリプルの周期はあらかじめ明らかであるものとすれば、回転角度θmからトルクリプルdの周波数ωdを知ることが出来る。速度指令値uに含まれるトルクリプルdと同じ周波数ωdの成分をudとすれば、回転速度出力yに含まれている周波数ωdの成分は、速度指令値の周波数ωd成分udとトルクリプルdとにより回転速度出力yに生じる速度リプルydであり、(7)式の伝達関数表現で表される。
yd=G1・G2・ud+G2・d ・・・(7)
なお、速度リプルydを求めるには、回転速度出力yを周波数分析して、トルクリプル周波数ωdの成分を抽出すれば良い。
また、以上の説明で、速度指令値uにトルクリプル周波数ωd成分udが含まれ得るとしているのは、例えば以下に示す場合が想定されるからである。即ち、図1では図示していないが、速度制御系の外側に例えば回転位置の制御系が存在し、その回転位置制御系のフィードバック量に上記ωd成分が含まれ、結果として、位置指令値と位置フィードバック量との差信号を入力として作成される速度指令値にωd成分が含まれる場合が想定されるからである。
【0029】
次に、上記速度指令値uに、トルクリプル周波数ωdの信号である補正値hを加えて速度制御系を動作させた場合の、回転速度出力yについて考えてみる。この場合は、回転速度出力yの中のトルクリプル周波数ωdの成分には、速度指令値udとトルクリプルdとが回転速度出力yに発生させる速度リプルydの他に、補正値hが回転速度出力yに発生させる速度リプル分も含まれる。これより、この時の回転速度出力yに含まれるトルクリプル周波数ωdの速度リプルyhdは式(8)の伝達関数表現で表される。
yhd=G1・G2・(h+ud)+G2・d ・・・(8)
式(8)に式(7)を代入して整理し、式(9)を得る。
G1・G2=(yhd−yd)/h ・・・(9)
【0030】
式(9)より、補正値h=0の場合の測定結果から求めた速度リプルyd、補正値h≠0の場合の測定結果から求めた速度リプルyhd、および補正値hから、伝達関数G1・G2を求めることが可能なことが分かる。また式(9)より、補正値h≠0の速度リプルyhdを0にするような補正値hdは式(10)の伝達関数表現により求められる。
hd=−yd/(G1・G2) ・・・(10)
以上の説明より、上記の手順で作成された補正値hdを速度指令値uに加えることにより、速度リプルydを0にすることが出来るのが分かる。
【0031】
それでは次に、以上の原理を用いて回転モータのトルクリプルを抑制する制御を行う具体的な手順を、図2を用いて説明する。図2はこの発明を実施するための実施の形態1によるモータ制御装置の動作の手順を示すフローチャートである。なお図2において、S1〜S3は図4で後述する第一の速度脈動測定手段の動作であり、S4〜S6は第二の速度脈動測定手段の動作であり、S7は速度補正値算出手段の動作である。
【0032】
まずS1では、モータの速度制御装置に適当な速度指令値uを入力して、この時の回転速度出力yをS2にて測定・記憶する。従って、後述するように、ここで入力された速度指令値に相当するモータ回転速度における補正値を求めることになる。
次にS3では、S2にて測定した回転速度出力yを周波数分析してトルクリプル周波数ωdの成分を抽出して記憶する。この時、トルクリプルdはモータ回転角度に同期して発生するので、回転速度出力yの周波数分析はモータ回転角度に対して行う必要がある。具体的には、モータ1回転に対してトルクリプルがM回発生するとすれば、モータ回転角度θmに対してトルクリプル周波数ωdは式(11)で表される。
ωd=M・d(θm)/dt ・・・(11)
周波数分析には様々な計算方法があるが、回転速度出力yからこのトルクリプル周波数ωdの成分である速度リプルydを抽出してその振幅とモータ回転角度に対する位相を求めるには、例えば以下の計算を行えばよい。
【0033】
まず、式(12)、(13)のa、bを計算して、ある程度の時間(少なくとも一番周期の長い回転数変動の一周期より長い間)の平均値を求める。これにより、d(M・θm)/dt=ωd以外の周波数成分を持つ信号は平均すると0になる。
a=y・cos(M・θm) ・・・(12)
b=y・sin(M・θm) ・・・(13)
速度リプルydを式(14)で表した時、速度リプルの振幅Rおよびθm=0での位相φは、平均されたa,bより式(15)、(16)で求められるので、これを記憶する。
yd=R・sin(M・θm+φ) ・・・(14)
R=√(a2+b2) ・・・(15)
φ=tan-1(a/b) ・・・(16)
【0034】
次にS4では、S1で与えた速度指令値uにトルクリプル周波数ωdの補正値hを加えた値を速度指令値として入力し、この時の回転速度出力をS5にて測定・記憶する。この場合の補正値hは、例えば式(17)に示した値を用いる。
h=H・sin(M・θm) ・・・(17)
式(17)においてHは適当な補正値の振幅である。
次にS6では、S5で測定した回転速度出力をS3同様に処理して、速度変動yhdの振幅Rhおよび位相φhを求めて記憶する。この時、速度変動yhdは式(18)で表すことが出来る。
yhd=Rh・sin(M・θm+φh) ・・・(18)
【0035】
そして次にS7において、速度リプルを0にするような補正値を算出してテーブルを作成する。式(10)に基づけば、速度リプルを0にする補正値hdは式(19)の伝達関数表現で与えられる。
hd=−h・yd/(yhd−yd) ・・・(19)
式(19)は伝達関数表現であるため、それぞれが正弦波である式(19)右辺の計算は、各正弦波を極座標表示して合成したものに相当する。h、yhd、ydを式(20)〜(22)のように極座標表示して考える。
h=H・ej(M・ θ m) ・・・(20)
yd=R・ej(M・ θ m+ φ ) ・・・(21)
yhd=Rh・ej(M・ θ m+ φ h) ・・・(22)
式(20)〜(22)を式(19)に代入し、整理して式(23)を得る。
hd=−h・1/(Rh/R・ej( φ h- φ )−1) ・・・(23)
【0036】
図3を用いて式(23)の補正値hdの計算方法を説明する。極座標ベクトルAは振幅Rh/R、位相φh−φの正弦波を表し、極座標ベクトルBはAから1を減じたベクトルで、式(23)右辺の分母に相当する。極座標ベクトルCはベクトルBの逆数であり、位相は正負が反転してベクトルの大きさは逆数となる。hは大きさH、位相0のM・θmで回転するベクトルであるが、これとベクトルCを合成して極座標ベクトルDを得る。Dは位相がCと同じであり、大きさはHにCの振幅を乗じたものとなる。
【0037】
以上の手順により、大きさHd、位相φhdの極座標ベクトルDが得られた。このベクトルにより表される補正値hdは、式(24)で表される。
hd=Hd・sin(M・θm+φhd) ・・・(24)
実際の制御に用いるには、制御に必要なデータの処理時間を短縮するため、式(24)により計算される補正値hdを適当なモータ回転角度毎に計算しておいて、あらかじめ補正テーブルを作成しておくほうが都合がよい場合が多い。
以上の作業により、モータ1回転に対してM回発生するトルクリプルに対する補正テーブルの作成が完了した。
【0038】
実際に速度リプルを抑制する速度制御を行うには、速度指令値に対して、現在のモータ回転角度により作成した補正テーブルを用いて速度指令値の補正値を求め、この補正値を速度指令値に加えて速度制御装置に与えればよい。
なお、上記の実施の形態では補正データをあらかじめ計算して補正テーブルの形で保存しているが、高速な処理が可能な制御装置の場合、S6の各データの形で保存しておいて、実際に制御する際に図3および式(24)の計算を行って補正値を算出することが可能であり、保存するデータ量が少なくてよいというメリットがある。
【0039】
ところで、トルクリプルの発生要因としては、例えば、集中巻コイルを採用した同期機におけるスロット通過に基づくもの、極数によって発生するもの、各センサーのオフセット誤差に基づくもの等が考えられるが、対象とするトルクリプルが複数の周期で存在する場合は、1)既に作成した補正テーブルを使用してこれらの速度リプルを消去した状態で、S1〜S7の手順によりその他の周波数の速度リプルのデータ測定を行う方法、2)一つの速度リプルに対する補正テーブルを作成した後に、速度リプルの消去は行わずにその他の速度リプルのデータ測定を行う方法、3)S3において複数のトルクリプル周波数に対してR、φを求め、次にS4において複数の周波数成分を足しあわせたhを用いて測定し、S6において複数のトルクリプル周波数に対してRh、φhを求め、S7にてこれらのデータより複数の速度リプルに対する補正テーブルを一度に作成する方法、が考えられる。要は、各リプル周波数毎に補正値を求めればよい。
【0040】
また、補正値hdのパラメータHd、φhdはモータの回転速度によっても変化する。これは、以上に述べた測定方法では、G1・G2の特性を、最初に入力された速度指令値に相当するモータ回転速度における、トルクリプル周波数ωdにおいてのみ測定している為である。そのため、モータ回転速度が変化する制御系に対して本発明の制御装置を適用するためには、使用するそれぞれのモータ回転速度について補正値hdのパラメータを測定・用意する必要がある。ただし、モータ回転速度の変化に対するパラメータHd、φhdの変化は比較的緩やかであるため、ある程度の回転速度の間隔で測定したデータにより途中の区間でのパラメータを補間して使用する方法でも十分実用的である。
【0041】
それでは次に、以上の機能を持つモータ制御装置の具体的な構成について説明する。図4はモータ制御装置の具体的な構成について説明した図である。以下、図4の各部の働きを図2の動作手順を参照しながら説明する。なお、以下の例では第一の速度脈動測定手段と第二の速度脈動測定手段とを同一の装置により構成した場合について説明する。
まず図2のS1の速度制御は、適切な速度指令値が速度指令値発生手段3により発生され、その指令値に基づきモータの回転速度を制御するモータ回転速度制御手段4により行われる。モータ回転速度制御手段4は、エンコーダ等の回転センサを含んだモータ6と接続されて同モータ6の速度制御を行う装置であり、具体的には例えばサーボアンプであって、速度指令値発生手段3は、例えばサーボアンプのコントローラである。
【0042】
次に図2のS2の回転速度の検出・記憶は、モータの回転がモータ回転角度・速度測定手段7により行われる。モータ回転角度・速度の検出は、モータ6に接続された回転の信号を用いても良いし、別の回転センサあるいは速度センサ(モータの回転部分表面の速度を測定する場合)を用いても良い。ただしこの場合でも、モータ6に接続された回転センサの信号と別の回転・速度センサの信号は、対応する信号が同時に測定される必要がある。モータ回転角度・速度測定手段7はこれらの信号を取り込み・保存する機能を有しており、具体的には回転センサとの信号インターフェースを持ったデータ処理装置などを含む。
【0043】
次に図2のS3では、速度リプル算出手段8により式(12)〜(16)の計算を行い、保存されたモータ回転速度のデータからトルクリプル周波数成分の信号を抽出して速度リプルの振幅と位相を算出して、その結果がリプルデータ保存手段9に記憶される。速度リプル算出手段8およびリプルデータ保存手段9は、具体的にはデータ処理装置上のプログラムである。
次に図2のS4の補正値を含む速度制御では、補正指令値発生手段5により発生された適当な補正値が速度指令値発生手段3に送られ、これを加算した速度指令値によりモータ回転速度制御手段4がモータ6を制御する。速度指令値発生手段3は、例えばサーボアンプのコントローラ上のプログラムである。
【0044】
次に図2のS4、5、6では、モータ回転角度・速度測定手段7、速度リプル算出手段8、リプルデータ保存手段9により、S2、S3と同様に速度リプルの振幅・位相が算出・保存される。
そこで、次のS7ではリプルデータ保存手段9に保存されたデータを用いて、式(20)〜(24)および図3にて説明された計算方法により補正指令値演算手段10が速度リプルを0にするような補正指令値を算出し、補正指令値保存手段11により保存される。補正指令値演算手段10および補正指令値保存手段11は、例えばデータ処理装置上のプログラムである。補正指令値は、例えばモータ回転角度とそれに対応する速度指令値補正値が各モータ角度について記憶された補正テーブルの形式で納められる。
以上で速度リプルを0にするような補正指令値が作成され、補正指令値保存手段11上に保存された。速度リプルを0にする制御を行う際には、補正データを補正指令値発生手段5に移して、この補正速度指令値を速度指令値に加えてモータを制御する。
【0045】
ここで、図4に示した装置構成は、速度指令値発生手段3、モータ回転速度制御手段4、補正指令値発生手段5からなる速度制御装置12と、モータ回転角度・速度測定手段7、速度リプル算出手段8、リプルデータ保存手段9からなる速度脈動測定手段13と、補正指令値演算手段10、補正指令値保存手段11からなる速度補正値算出手段17、およびモータ6に分けることが出来る。この内、速度脈動測定手段13および速度補正値算出手段17は補正指令値を作成する際には必要であるが、補正指令値作成後にモータ制御を行う際には必要ではない。
【0046】
ところで、モータが発生するトルクリプルはモータが無負荷の場合でも発生するコギングトルクと、負荷時に発生する通電リプルに大別される。図4に示したモータ制御装置の構成ではモータ6単体にて測定・制御を行っているため、この図の構成ではコギングトルクによる速度リプルは検出できるが、通電リプルは測定できない。通電リプルを含めたトルクリプルを測定、補償するには、モータ6に他のモータやブレーキなどの適当な負荷を与える必要がある。一般に通電リプルの特性は負荷の大きさにより変化するので、通電リプルを補償するような補正指令値を作成するには、使用するそれぞれの負荷状態に応じて補正テーブルを測定・用意する必要がある。ただし、負荷状態の変化に対する補正データの変化は比較的緩やかであるため、ある程度の負荷状態の間隔で測定したデータにより途中の区間でのパラメータを補間して使用する方法でも十分実用的である。
【0047】
なお、以上では回転モータのトルクリプルに対する制御装置について説明したが、リニアモータの推力リプルに対する制御装置についても同様の装置が有効であることは言うまでもない。後述の実施の形態についても同様である。
即ち、本願明細書の請求項に記載したトルクは、リニアモータでの推力をも意味し、トルクリプルは推力リプルをも意味するものである。
【0048】
実施の形態2.
実施の形態1においては速度指令値に補正値を加えたのに対して、以下に説明する実施の形態2では、モータ電流制御系のトルク(電流)指令値に補正値を加える方式について述べる。
図5は、この発明を実施するための実施の形態2によるモータ制御装置を説明するための図であり、トルクリプルが発生するモータの速度制御装置のブロック線図である。図5は速度フィードバックを含む速度制御系のブロック線図で、その意味で実施の形態1の図1と同等のものであり、更に、速度フィードバックを図示しているという点では、先の図23、24と同じものである。但し、この実施の形態2においては、トルクリプルを抑制するための補正値をトルク指令値に加えることを想定しているので、これを可能とするため、前掲の各図におけるブロック1を、図5では、速度指令値誤差からトルク指令値までの伝達関数G1a1を示すブロック、即ち、速度制御器14と、トルク指令値からトルク出力までの伝達関数G1a2を示すブロック、即ち、トルク制御器15とに分割して示している。従って、
G1a1・G1a2=G1a
が成立する。
ブロック2は先の各図と同様のものである。また、h’はトルクリプルを抑制する補正値であり、u、y、dは図1と同じ、u’は速度制御器14の出力するトルク指令値、y’は出力トルクである。
【0049】
まず、速度制御系の動作を含めたトルクの入出力関係について考えてみる。図実施の形態1と同じように速度指令値uに適当な信号を入力したとすると、本形態の場合は速度(速度フィードバック)制御のためにトルク指令値u’にトルクリプルdと同じ周波数の再現性のない成分が含まれる可能性があるが、その影響を検討する。
【0050】
図5のブロック線図を等価変換して考えると、トルクリプル周波数ωdの信号の入出力については図6への等価変換が可能である。ここで図6において点線で囲んだ部分を伝達関数G2bのブロック16にまとめて考えれば、トルクリプル周波数ωdの信号について図6のブロック線図は図7と同じものと考えることが出来る。
図7において、トルク指令u’からトルク出力y’までの部分を取り出してみると、図1において、G2=1とした場合のブロック図と同じ形となる。ここで、トルク出力y’を何らかの方法で検出することを考えると、このトルク出力y’はその検出手段18の応答性に関係するが、これを伝達関数G2’と表すものとし、かつ、図7のトルク制御器15の伝達関数G1a2をG1’と表すものとすると、図7のうち、トルク制御に係る部分は図8に示す形に表現することができる。
これにより図8に示したトルクの入出力関係を用いれば、実施の形態1と同様に補正値hd’を求めることが出来ることが分かる。
【0051】
それでは、実施の形態2によるモータ制御装置の原理について説明する。はじめに、適当な速度指令値uを与え(これによって、後述するように、速度制御器14からトルク指令値u’が出力される)、かつ補正値h’を0とした状態で速度制御系を動作させた状態の、トルク指令値u’およびトルク出力y’に含まれている周波数ωdの成分は、トルク指令値ud’およびトルクリプルdが回転トルク出力y’に生じるトルクリプルyd’であり、式(25)の伝達関数表現で表される。
yd’=G1’・G2’・ud’+G2’・d ・・・(25)
【0052】
次に、トルク指令値u’に、トルクリプル周波数ωdの信号である補正値h’を加えて制御系を動作させた場合の、第二の測定結果である回転トルク出力y’に含まれるトルクリプル周波数ωdのトルクリプルyhd’は式(26)の伝達関数表現で表される。
yhd’=G1’・G2’・(h’+ud’)+G2’・d ・・・(26)
式(26)に式(25)を代入して整理し、式(27)を得る。
G1’・G2’=(yhd’−yd’)/h’ ・・・(27)
式(27)より、補正値h’=0の場合のトルクリプルyd’、補正値h’≠0の場合のトルクリプルyhd’、および補正値h’から、伝達関数G1’・G2’を求めることが可能なことが分かる。
また式(27)より、補正値h’≠0のトルクリプルyhd’を0にするような補正値hd’は式(28)の伝達関数表現で与えられる。
hd’=−yd’/(G1’・G2’) ・・・(28)
以上の説明より、上記の手順で作成された補正値hd’をトルク指令値u’に加えることにより、トルクリプルyhd’を0にすることが出来るのが分かる。
【0053】
それでは次に、以上の原理を用いて回転モータのトルクリプルを抑制する制御を行う具体的な手順を、図9を用いて説明する。図9はこの発明を実施するための実施の形態2によるモータ制御装置の動作の手順を示すフローチャートである。なお図9において、S1’〜S3’は第一のトルク脈動測定手段の動作であり、S4’〜S6’は第二のトルク脈動測定手段の動作であり、S7’はトルク補正値算出手段の動作である。
まずS1’では、モータの速度制御装置に適当な速度指令値uを入力し、この時のトルク出力をS2’にて測定・記憶する。トルク出力の測定には、トルクセンサをモータに接続して測定する、あるいはモータの回転速度変化からトルク出力を算出するオブザーバを用いるなどの方法が考えられる。
【0054】
次にS3’では、S1’にて測定したトルク出力を周波数分析してトルクリプル周波数を持つ成分を抽出する。この時、トルクリプルはモータ回転角度に同期して発生するので、トルク出力の周波数分析はモータ回転角度に対して行う必要がある。実施の形態1において回転速度出力に対して行ったのと同様の処理を行うことにより、トルクリプルyd’は式(29)で表すことができる。
yd’=R’・sin(M・θm+φ’) ・・・(29)
次にS4’では、S1’での速度制御系が発生するトルク指令値u’にトルクリプル周波数ωdの補正値h’を加えた値をトルク制御系のトルク指令値として入力し、この時のトルクリプルyhd’を測定・記憶する。この場合の補正値h’は、例えば式(30)に示した値を用いる。
h’=H’・sin(M・θm) ・・・(30)
式(30)においてH’は適当な補正値の振幅である。
次にS5’では、S4’で測定したトルク出力をS2’同様に処理して、トルクリプルyhd’の振幅Rh’および位相φh’を求める。この時、トルクリプルyhd’は式(31)で表すことが出来る。
yhd’=Rh’・sin(M・θm+φh’) ・・・(31)
【0055】
そして次にS6’において、出力トルクリプルを0にするような補正値を算出してテーブルを作成する。式(28)に基づけば、出力トルクリプルを0にする補正値hd’は式(32)の伝達関数表現で与えられる。
hd’=−h’・yd’/(yhd’−yd’) ・・・(32)
式(32)は伝達関数表現であるため、それぞれが正弦波である式(32)右辺の計算は、各正弦波を極座標表示して合成したものに相当する。実施の形態1で示したのと同様の方法で計算することにより、補正値hd’は、式(33)で表すことが出来る。
hd’=Hd’・sin(M・θm+φhd’) ・・・(33)
以上の作業により、実施の形態1と同様にトルクリプルを0にするトルク指令補正値を得ることが出来る。トルクリプルの抑制制御を行う際には、上記の方法で求めたトルク指令補正値を本来のトルク指令値に加えてトルク制御装置に出力すればよい。
【0056】
なお、複数の周期のトルクリプルに対する補正の方法、およびモータ回転数による補正値の変化、モータ負荷時に発生するトルクリプルの補正方法についても、実施の形態1と同様の対策を行うことが出来る。
【0057】
なお、以上の例では速度フィードバックを行ったままトルク指令補正値を求める方法について説明したが、図5、6のブロック図に示したように速度フィードバックの有無は上記の制御方法には影響を与えない。このため、速度フィードバックの応答を遅くしてトルク指令値u’にトルクリプル周波数の成分が含まれないようにする、あるいは速度フィードバックを行わない状態でも、上記の方法でトルク指令補正値を求めることが勿論可能である。
【0058】
ここで、トルク制御器15の応答G1’(図8)について検討してみる。トルク制御器はモータ電流をフィードバック制御しており、通常そのフィードバック制御自体の応答はトルクリプル周波数に対して十分高速である場合が多いが、サーボアンプのハードウェアにおいて速度制御器とトルク制御器とが別のマイコンにより構成されている場合は、信号伝送の遅れのためにトルク指令値が実際にトルク制御器に入力されるまでに無駄時間が生じる場合がある。この無駄時間は、上記の方法で計算されたトルク補正値においては位相の進み分となって現れるが、無駄時間が一定であればこの位相の進み量はトルクリプル周波数に比例する。
【0059】
このため、トルク制御器の応答が単純な無駄時間と考えられるような制御装置においては、無駄時間により発生する補正値の位相進み量がトルクリプル周波数より予想できるので、モータ回転速度に応じて補正値の位相進み量を変化させることにより、それぞれのモータ回転速度に対応した補正値を測定・保存することなくトルクリプルを抑制するようなトルク指令補正値を得ることが出来る。
そのためには、少なくとも二つのモータ回転速度について上記の方法でトルク補正値を求め、この二つの条件での補正値の位相差からトルク制御器の無駄時間を算出すればよい。トルクリプル抑制制御を行う際には、あらかじめ求めた無駄時間が制御時のトルクリプル周波数において発生する位相ずれを計算し、トルク補正値の算出の際その分の位相進みを加算すればよいことが分かる。
【0060】
実施の形態3.
以下に説明する実施の形態3では、実施の形態2においてトルク(電流)制御器の応答が十分速く、かつ速度指令値にトルクリプル周波数の信号が含まれていない場合の制御方式について述べる。
まず、トルク(電流)制御器の応答が十分速い場合の、速度制御系の動作を含めたトルクの入出力関係は図6のブロック線図において伝達関数G1a2=1と考えれば良く、図10のブロック線図で表すことが出来る。図10における信号aはトルク出力であり、信号−bは速度制御系が速度リプルに応答して発生するトルク指令値に相当するが、速度指令値にトルクリプル周波数の信号が含まれていない場合は、トルクリプル周波数の成分は信号−bのみとなる。即ち、信号cはトルク出力からトルク指令値を減じたものに等しいことが分かる。この信号cを以下では外乱出力と呼ぶ。
【0061】
これより、モータ電流制御系の応答が十分速い場合には、外乱出力を出力信号と考えることにより、また、図8で説明した場合と同様、伝達関数G1a2をG1’と表すと、図10のブロック図を図11のように簡略化して考えることが出来る。図11において、信号y’’は、実際にトルクセンサ等で測定したトルク出力からトルク指令値を減じて求めても良いが、モータの回転速度変動からトルク出力を算出するオブザーバの出力からトルク指令値を減じたもの、即ちいわゆる外乱オブザーバの出力を用いても良い。
【0062】
それでは以下に、実施の形態3によるモータ制御装置の原理について説明する。はじめに、トルクリプル周波数ωdの成分が含まれない速度指令値を与え、かつ補正値h’を0とした状態で速度制御系を動作させた状態での第一の測定結果である外乱出力yd’’はトルクリプルdに等しい(式(34))。
yd’’=d ・・・(34)
次に、トルク指令値u’に、トルクリプル周波数ωdの信号である補正値h’を加えて制御系を動作させた場合の第二の測定結果である外乱出力yhd’’は式(35)の伝達関数表現で表される。
yhd’’=G1’・h’+d ・・・(35)
なお、以上のyd’’、yhd’’は、上述したいわゆる外乱オブザーバの出力を用いて、式(36)(37)により求めることができる。
yd’’=((dy/dt)/Jm)−u’ ・・・(36)
yhd’’=((dy/dt)/Jm)−(u’+h’) ・・・(37)
但し、yは速度出力、Jmはモータの慣性モーメント、u’はトルク指令値である。
【0063】
式(34)(35)より式(38)を得る。
G1’=(yhd’’−yd’’)/h’ ・・・(38)
【0064】
式(38)より、補正値h’=0の場合の外乱出力yd’’、補正値h≠0の場合の外乱出力yhd’’、および補正値h’から、伝達関数G1’を求めることが可能なことが分かる。
また式(35)より、補正値h’≠0の外乱出力yhd’’を0にするような補正値hd’は式(39)の伝達関数表現で与えられる。
hd’=−yd’’/G1’ ・・・(39)
【0065】
以上の説明より、上記の手順で作成された補正値hd’をトルク指令値u’に加えることにより、トルク変動を0にすることが出来るのが分かる。
なお、トルクリプルの測定や制御方法の具体的な手順等については、実施の形態2と同様であるので説明を省略する。
【0066】
また、以上では、トルクリプルを抑制するための補正値を、速度指令値に加算する場合(実施の形態1)、トルク指令値に加算する場合(実施の形態2、3)について説明したが、全く同様の考え方を踏襲して、(回転)位置指令値に補正値を加算してトルクリプルによる影響を抑制することもできる。勿論、この場合の補正値の測定も上述した方法を同様に適用することにより可能である。
【0067】
【発明の効果】
以上のように、この発明の請求項1に係るモータ制御装置は、位置、速度またはトルクに係る指令値に基づき必要なトルクを発生し、モータの位置、速度またはトルクを制御するものであって、
上記モータが発生するトルクリプルに起因する上記モータの位置、速度またはトルクに係る出力におけるリプル成分を、上記指令値に所定の補正値を加算することにより抑制するようにしたモータ制御装置において、
上記位置、速度またはトルクに係る指令値入力から上記モータ発生トルクまでの伝達関数をG1、上記モータ発生トルクとトルクリプルとの和であるモータ出力トルクから上記位置、速度またはトルクに係る出力までの伝達関数をG2、上記補正値を加算しないときに上記位置、速度またはトルクに係る出力を周波数分析することによって上記モータの回転周波数のM倍(Mは自然数)の周波数成分として抽出されたリプル周波数成分をddとしたとき、上記補正値hdを下式により設定するので、制御装置の応答を考慮した補正値が採用され、トルクリプルの抑制効果が確実に得られる。
hd=−dd/(G1・G2)
【0068】
また、この発明の請求項2に係る補正値測定方法は、請求項1に係るモータ制御装置において速度指令値に補正値を加算して速度出力リプル成分を抑制する場合の当該速度補正値を測定により求める方法において、
任意の第1の速度指令値を入力した状態での速度出力のリプル周波数成分ydを求め、
速度指令値として上記第1の速度指令値と上記リプル周波数の任意の速度補正値hとを加算したものを入力した状態での速度出力のリプル周波数成分yhdを求め、
上記yd、h、yhdから下式により伝達関数(G1・G2)を求め、
(G1・G2)=(yhd−yd)/h
上記伝達関数(G1・G2)に基づき求めるべき速度補正値を算出するようにしたので、速度出力リプル成分を抑制するための速度補正値が簡便確実に得られる。
【0069】
また、請求項3に係る補正値測定方法は、請求項1に係るモータ制御装置においてトルク指令値に補正値を加算してトルク出力リプル成分を抑制する場合の当該トルク補正値を測定により求める方法において、
任意の第1のトルク指令値を入力した状態でのトルク出力のリプル周波数成分yd’を求め、
トルク指令値として上記第1のトルク指令値と上記リプル周波数の任意のトルク補正値h’とを加算したものを入力した状態でのトルク出力のリプル周波数成分yhd’を求め、
上記yd’、h’、yhd’から下式により伝達関数(G1’・G2’)を求め、
(G1’・G2’)=(yhd’−yd’)/h’
上記伝達関数(G1’・G2’)に基づき求めるべきトルク補正値を算出するようにしたので、トルクリプル成分を抑制するためのトルク補正値が簡便確実に得られる。
【0070】
また、請求項4に係る補正値測定方法は、請求項1に係るモータ制御装置であって速度制御系を有するものにおいてトルク指令値に補正値を加算してトルク出力リプル成分を抑制する場合の当該トルク補正値を測定により求める方法において、
任意の第1の速度指令値を入力した状態でのトルク出力のリプル周波数成分yd’を求め、
速度指令値として上記第1の速度指令値を入力しトルク指令値として上記リプル周波数の任意のトルク補正値h’を入力した状態でのトルク出力のリプル周波数成分yhd’を求め、
上記yd’、h’、yhd’から下式により伝達関数(G1’・G2’)を求め、
(G1’・G2’)=(yhd’−yd’)/h’
上記伝達関数(G1’・G2’)に基づき求めるべきトルク補正値を算出するようにしたので、トルクリプル成分を抑制するためのトルク補正値が簡便確実に得られる。
【0071】
また、請求項5に係る補正値測定方法は、請求項1に係るモータ制御装置であって速度制御系を有するものにおいてトルク指令値に補正値を加算してトルク出力リプル成分を抑制する場合の当該トルク補正値を測定により求める方法において、
トルク指令値入力からモータ発生トルクまでの応答が十分速く、かつ速度指令値にリプル周波数成分が含まれていない場合、
任意の第1の速度指令値を入力した状態でのトルク出力のリプル周波数成分yd’’を求め、
速度指令値として上記第1の速度指令値を入力しトルク指令値として上記リプル周波数の任意のトルク補正値h’を入力した状態でのトルク出力のリプル周波数成分yhd’’を求め、
上記yd’’、h’、yhd’’から下式により伝達関数(G1’・G2’)を求め、
(G1’・G2’)≒(G1’)=(yhd’’−yd’’)/h’
上記伝達関数(G1’・G2’)に基づき求めるべきトルク補正値を算出するようにしたので、トルクリプル成分を抑制するためのトルク補正値が簡便確実に得られる。
【0072】
また、請求項6に係る補正値測定方法は、請求項5において、トルク出力のリプル周波数成分yd’’およびyhd’’を、それぞれ下式により求めるようにしたので、トルク出力リプル成分が、いわゆる外乱オブザーバの出力を用いて簡便に求めることができる。
yd’’=((dy/dt)/Jm)−u’
yhd’’=((dy/dt)/Jm)−(u’+h’)
但し、yは速度出力、Jmはモータの慣性モーメント、u’は第1の速度指令値を入力したときのトルク指令値を示す。
【0073】
また、請求項7に係る補正値測定方法は、モータ回転数の変動範囲をカバーするように異なる複数の回転数を設定し、これら複数の設定回転数における補正値を測定し、上記設定回転数と異なる回転数における補正値は上記測定補正値から補間法により求めるようにしたので、モータ回転数の変動範囲の全域にわたる補正値を簡便に得ることができる。
【0074】
また、請求項8に係る補正値測定方法は、モータ負荷量の変動範囲をカバーするように異なる複数の負荷量を設定し、これら複数の設定負荷量における補正値を測定し、上記設定負荷量と異なる負荷量における補正値は上記測定補正値から補間法により求めるようにしたので、モータ負荷量の変動範囲の全域にわたる補正値を簡便に得ることができる。
【0075】
また、請求項9に係る補正値測定方法は、モータが、そのリプル周波数が異なる複数のトルクリプルを発生する場合、補正値は各リプル周波数毎に測定するようにしたので、複数のトルクリプル現象についても、これらを確実に抑制するための補正値を得ることができる。
【図面の簡単な説明】
【図1】 この発明の実施の形態1におけるモータ制御装置の制御ブロックを示す構成図である。
【図2】 実施の形態1における補正値の測定方法を説明するためのフローチャートである。
【図3】 補正値を計算する過程における各量をベクトル表示した図である。
【図4】 この発明に係るモータ制御装置を示す構成図である。
【図5】 この発明の実施の形態2の前提となる制御ブロックを示す構成図である。
【図6】 図5を等価的に変換した制御ブロック図である。
【図7】 図6を等価的に変換した制御ブロック図である。
【図8】 実施の形態2におけるモータ制御装置の制御ブロックを示す構成図である。
【図9】 実施の形態2における補正値の測定方法を説明するためのフローチャートである。
【図10】 この発明の実施の形態3の前提となる制御ブロックを示す構成図である。
【図11】 実施の形態3におけるモータ制御装置の制御ブロックを示す構成図である。
【図12】 従来のモータ制御装置における、測定処理動作を示すフローチャートである。
【図13】 図12のS2による、モータの回転角度の指令値と出力値との関係を示す図である。
【図14】 図12のS3による、ハニングデータを示す図である。
【図15】 図12のS7による、ボード線図である。
【図16】 トルクリプルに起因する速度変動の波を説明する図である。
【図17】 トルクリプル抑制動作を示すフローチャートである。
【図18】 モータ速度制御指令(角度−速度データ)を示す図である。
【図19】 図17のS33による、時間−角度データを示す図である。
【図20】 図17のS34による、補正後の時間−角度データを示す図である。
【図21】 図17のS35による、時間−速度データを示す図である。
【図22】 図17のS36による、角度−速度データを示す図である。
【図23】 従来の問題点を説明するための制御ブロック図である。
【図24】 従来のトルクリプル抑制動作を説明するための制御ブロック図である。
【符号の説明】
1,2,14〜16,18 それぞれ伝達関数で表されるブロック、
3 速度指令値発生手段、4 モータ回転速度制御手段、
5 補正指令値発生手段、6 モータ、7 モータ回転角度・速度測定手段、
8 速度リプル算出手段、9 リプルデータ保存手段、
10 補正指令値演算手段、11 補正指令値保存手段。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a motor control device for reducing rotational torque or pulsation of linear thrust in a rotary motor or linear motor control device.
[0002]
[Prior art]
In a rotary motor or linear motor, the rotational torque or linear motion thrust varies depending on the position of the rotor or mover. Therefore, the torque pulsates as the rotor rotates, or the mover moves. It is known that a phenomenon in which thrust pulsates occurs, which is called torque ripple or thrust ripple. Torque ripple or thrust ripple may adversely affect the operation of the device using the motor. Therefore, a motor control device has been proposed in which the torque ripple or thrust ripple is measured and the torque ripple or thrust ripple is reduced by control using the measured value. 12 to 22 show a motor rotation control device disclosed in, for example, Japanese Patent Laid-Open No. 10-23774.
[0003]
Hereinafter, this conventional example will be described with reference to the drawings. In the specification of the conventional example illustrated, the speed pulsation generated by the torque pulsation is referred to as torque ripple. However, in order to accurately represent the torque ripple, the torque ripple indicates the torque pulsation. Represents a speed pulsation caused by torque ripple, and rotational angle vibration represents a vibration component of the rotational angle caused by torque ripple.
First, a method for measuring rotational angular vibration caused by motor torque ripple will be described with reference to the flowchart of FIG. This description will be made with reference to FIGS.
[0004]
FIG. 12 is a flowchart showing the measurement processing operation of the rotational angular vibration of the motor in this conventional example. As shown in the figure, in step S1, the motor is first controlled to rotate at a predetermined command speed N (rpm) set in advance. At this time, the motor command rotation angle based on the speed command data and the actual motor rotation angle measured by an encoder or the like are stored as data. FIG. 13A shows the relationship between the motor command rotation angle based on the speed command data and the rotation angle when the motor operates ideally (motor ideal rotation angle). FIG. 13B shows the actual rotation angle data. It shows the relationship. When the motor rotates according to the speed command data, the relationship between the motor command rotation angle and the motor rotation angle is a straight line as shown in the ideal data in FIG. However, the motor does not actually rotate according to the speed command data due to torque ripple or the like, but generates a vibration component in the rotation angle as shown in the actual rotation data in FIG.
[0005]
Next, in step S2, the ideal rotation angle data and the actual rotation angle data for one rotation of the motor are respectively converted into four types of first to first shifts, each of which is shifted by, for example, 5/3 degrees as the rotation angle of the motor. 4 data are stored as Da1 to Da4 and Db1 to Db4. The angle to be shifted is set to 5/3 degrees because the motor used in the embodiment of the conventional example generates 36 times of torque ripple for one rotation, and the rotation is 5/3 degrees. This is because it corresponds to 1/6 of the motor rotation angle for one cycle of angular vibration. This angle of shift corresponds to the resolution when calculating the phase of the rotation angle vibration with respect to the motor rotation angle.
[0006]
Next, in step S3, the first to fourth ideal rotation angle data Da1 to Da4 and the first to fourth actual rotation angle data Db1 to Db4 created previously are multiplied by the Hanning window function, respectively. FIGS. 14A and 14B show the Hanning data obtained as a result of multiplication. Subsequently, in step S4, each Hanning data is subjected to an FFT (Fast Fourier Transform) process in order to decompose each Hanning data into frequency components. Since step S5 is not directly related to measurement, description thereof is omitted.
At the same time, in step S6, four types of transfer functions are obtained based on the corresponding ideal rotation angle FFT data and actual rotation angle FFT data. In step S7, four types of Bode diagrams are created based on the obtained transfer functions. FIG. 15 shows an example of the generated Bode diagram, and it can be seen that the gain at a frequency of 36 Hz, which is the frequency of the speed ripple, is increased.
[0007]
Next, in step S8, a Bode diagram having the maximum gain at the frequency of the speed ripple is selected from the four types of Bode diagrams, and the gain G is stored. The data corresponding to the Bode diagram having the maximum gain G corresponds to the peak value of the rotation angle vibration indicated by the sine wave W in FIG. 16, and the data corresponding to the selected Bode diagram. The starting point of coincides with the starting point of the sine wave W. On the other hand, the starting position of the sine wave of the velocity ripple is considered to correspond to the position of the maximum peak value on the minus side of the sine wave W.
For example, when the data corresponding to the Bode diagram having the maximum gain G is Da2 and Db2, the starting points of the data Da2 and Db2 are positions that are shifted by 5/3 degrees from the origin of the motor rotation angle. The rotation angle of the base point at which is generated is 5/3 ° + 7.5 °. Here, it is the angle of the maximum peak value on the negative side of the sine wave W when there is no deviation of 7.5 degrees.
[0008]
Next, in step S9, the peak value P of the ideal rotation angle data at the frequency of the speed ripple is calculated. After the first ideal data Da1 is multiplied by the Hanning window function and subsequently subjected to FFT processing, the peak value P at the velocity ripple frequency is calculated according to the following equation (1).
P = 2 × √ (Rl2+ Im2) ... (1)
Here, Rl represents the size of the real axis data of the FFT result at the velocity ripple frequency, and Im represents the size of the imaginary axis data.
[0009]
Next, in step S10, based on the peak value P of the ideal rotation angle data calculated in step S9 and the maximum gain G selected in step S8, the following equation (2) is used. A shake amount is calculated.
Swing amount (degree) = P × (10(G / 20)-1) ... (2)
As described above, in this conventional example, the amplitude and phase shift (with respect to the origin of the motor rotation angle) of the rotation angle vibration generated by the torque ripple can be obtained by the above procedure.
Note that the amplitude and phase shift of the rotation angle vibration change according to the change of the rotation speed N (rpm) even in the same motor. Therefore, it is necessary to obtain the amplitude and phase shift data of the rotation angle vibration for each rotation speed N for controlling the motor.
[0010]
Next, a method for suppressing rotational angular vibration caused by the torque ripple of the motor based on the measurement result will be described with reference to FIGS.
First, in step S31 of FIG. 17, the amplitude and phase shift amount of the rotational angular vibration generated by the motor are measured and calculated in advance by the above method and stored. As described above, the amplitude and the phase shift amount are calculated for each rotation speed of the motor rotation speed N (rpm).
[0011]
Next, in step S32, a sine wave representing the rotation angle vibration generated due to the torque ripple of the motor is created. The waveform f (i) can be expressed by the following equation (3).
f (i) = 1 × sin (B · θi−Pi) (3)
Here, θi represents the rotation angle of the motor, and Pi represents the phase shift amount of the rotation angle vibration. B represents the number of torque ripples generated during one rotation of the motor.
Subsequently, in step S33, for example, motor speed control command value data (angle-speed data) H as shown in FIG. 18 is integrated with time, and time-angle data I as shown in FIG. 19 is created.
[0012]
Next, in step S34, a correction value is added to the time-angle data I obtained as a result of integration, and corrected time-angle data J as shown in FIG. 20 is created. That is, the corrected time-angle data J is obtained by adding a value that cancels the rotational angular vibration of the motor caused by torque ripple to the time-angle data I shown in FIG. 19 as a correction value. Become. Specifically, on the time-angle data I in FIG. 19, when the motor rotation angle at a certain time ti is θi, the motor rotation speed Ni at the rotation angle θi is the motor speed control command value shown in FIG. It is obtained from data (angle-speed data) H. Then, the amplitude Si of the rotation angle vibration and the phase shift Pi at the obtained rotation speed Ni are obtained, and the value f (i) when the rotation angle of the motor is θi is obtained according to the equation (3). In this way, the values Si, f (i) respectively corresponding to the rotation angles θi at each time ti are obtained while changing the time ti on the time-angle data I in FIG. 19 little by little. Based on the values Si, f (i) thus obtained, corrected time-angle data J as shown in FIG. 20 is created according to the following equation (4).
J = If−i (i) × Si (4)
[0013]
Next, in step S35, the corrected time-angle data J is differentiated to generate time-speed data K as shown in FIG. Subsequently, in step S36, based on the corrected time-angle data J shown in FIG. 20 and the time-speed data K shown in FIG. 21, the corrected spindle speed control data (angle-speed) as shown in FIG. Data) L is created. In this conventional example, if this data is used as a command value for controlling the rotation of the motor, the torque ripple generated in the motor is predicted in advance, and the command value data is generated by predicting the rotation angle vibration generated in the motor. It is said that control can be performed without causing the resulting rotation angle vibration.
[0014]
[Problems to be solved by the invention]
Conventional motor control devices for measuring and suppressing torque ripple are configured as described above. The main points of the method are to measure the amplitude and phase of rotation angle or rotation speed vibration generated by torque ripple. Is added to the rotation angle command or the rotation speed command as a correction amount. However, in this conventional method, since the response of the object to be controlled is not taken into consideration, the rotation fluctuation due to torque ripple cannot be completely suppressed.
[0015]
Hereinafter, the above problem will be described with reference to the block diagram of the speed feedback control system of the motor generating the torque ripple shown in FIGS. In FIGS. 23 and 24, 1 is a block representing a transfer function G1a from a speed error which is the difference between the speed command value u and the motor rotational speed y to the motor generated torque, and 2 is the sum of the motor generated torque and the torque ripple d. It is a block showing a transfer function G2a from a certain output torque to a motor rotational speed y.
First, as shown in FIG. 23, when a constant value u0 is input as the speed command value u, it is assumed that the generated speed ripple is Δy.
[0016]
In the case of the conventional control method, the speed ripple Δy ′ is subtracted from the speed command value u using the speed ripple Δy as a correction value. The speed ripple Δy ′ generated by the correction value is expressed by the equation (5) from the block diagram of FIG. I understand that.
Δy ′ = Δy · G1a · G2a / (1 + G1a · G2a) (5)
From this, the sum of the corrected speed ripples is expressed by equation (6).
Δyc = Δy−Δy ′ = Δy / (1 + G1a · G2a) (6)
As described above, the conventional control method has the problem that the speed ripple Δyc expressed by the equation (6) remains and the influence of the torque ripple cannot be completely eliminated. In the above description, the correction value is added to the speed command value. However, it is obvious that the same problem occurs even when the correction value is added to the angle command value and the torque command value.
[0017]
The present invention has been made to solve the above-described problems, and in a motor control device that measures and suppresses torque (thrust) ripple, the rotational fluctuation due to torque ripple is completely considered in consideration of the response of the controlled object. It is an object of the present invention to provide a motor control device that can be suppressed and a correction value measurement method for suppressing torque ripple.
[0018]
[Means for Solving the Problems]
  A motor control device according to claim 1 of the present invention generates necessary torque based on a command value related to position, speed or torque, and controls the position, speed or torque of the motor,
  In the motor control apparatus that suppresses a ripple component in the output relating to the position, speed, or torque of the motor caused by torque ripple generated by the motor by adding a predetermined correction value to the command value,
  The transfer function from the command value input related to the position, speed or torque to the motor generated torque is G1, and the transfer function from the motor output torque which is the sum of the motor generated torque and the torque ripple to the output related to the position, speed or torque Function G2, output related to the position, speed or torque when the correction value is not addedWas extracted as a frequency component of M times (M is a natural number) the rotational frequency of the motor.When the ripple frequency component is dd, the correction value hd is set by the following equation.
  hd = -dd / (G1 · G2)
[0019]
According to a second aspect of the present invention, there is provided a correction value measuring method for measuring a speed correction value when the motor control device according to the first aspect adds a correction value to a speed command value to suppress a speed output ripple component. In the method of obtaining by
A ripple frequency component yd of a speed output in a state where an arbitrary first speed command value is input is obtained,
A ripple frequency component yhd of a speed output in a state where a sum of the first speed command value and an arbitrary speed correction value h of the ripple frequency is input as a speed command value,
From the above yd, h, yhd, the transfer function (G1 · G2) is obtained by the following equation,
(G1 · G2) = (yhd−yd) / h
The speed correction value to be obtained is calculated based on the transfer function (G1 · G2).
[0020]
According to a third aspect of the present invention, there is provided a method for measuring a correction value in a case where the correction value is added to a torque command value to suppress a torque output ripple component in the motor control device according to the first aspect. In
Obtaining a ripple frequency component yd 'of the torque output in a state where an arbitrary first torque command value is inputted;
A torque output ripple frequency component yhd 'in a state in which a sum of the first torque command value and the arbitrary torque correction value h' of the ripple frequency is input as a torque command value is obtained,
A transfer function (G1 ′ · G2 ′) is obtained from the above yd ′, h ′, yhd ′ by the following equation,
(G1 '· G2') = (yhd'-yd ') / h'
A torque correction value to be obtained is calculated based on the transfer function (G1 '· G2').
[0021]
According to a fourth aspect of the present invention, there is provided a correction value measurement method according to the first aspect of the motor control device according to the first aspect, wherein the correction value is added to the torque command value and the torque output ripple component is suppressed. In the method of obtaining the torque correction value by measurement,
A ripple frequency component yd 'of torque output in a state where an arbitrary first speed command value is input is obtained,
A ripple frequency component yhd 'of torque output in a state where the first speed command value is inputted as a speed command value and an arbitrary torque correction value h' of the ripple frequency is inputted as a torque command value,
A transfer function (G1 ′ · G2 ′) is obtained from the above yd ′, h ′, yhd ′ by the following equation,
(G1 '· G2') = (yhd'-yd ') / h'
A torque correction value to be obtained is calculated based on the transfer function (G1 '· G2').
[0022]
The correction value measuring method according to claim 5 is a motor control device according to claim 1 having a speed control system in which the correction value is added to the torque command value to suppress the torque output ripple component. In the method of obtaining the torque correction value by measurement,
When the response from the torque command value input to the motor generated torque is fast enough and the speed command value does not include a ripple frequency component,
A ripple frequency component yd '' of torque output in a state where an arbitrary first speed command value is input is obtained,
A ripple frequency component yhd ″ of a torque output in a state where the first speed command value is input as a speed command value and an arbitrary torque correction value h ′ of the ripple frequency is input as a torque command value,
A transfer function (G1 ′ · G2 ′) is obtained from the above yd ″, h ′, yhd ″ by the following equation:
(G1 ′ · G2 ′) ≈ (G1 ′) = (yhd ″ −yd ″) / h ′
A torque correction value to be obtained is calculated based on the transfer function (G1 '· G2').
[0023]
According to a sixth aspect of the present invention, there is provided a correction value measuring method according to the fifth aspect, wherein the ripple frequency components yd "and yhd" of the torque output are respectively obtained by the following equations.
yd ″ = ((dy / dt) / Jm) −u ′
yhd '' = ((dy / dt) / Jm)-(u '+ h')
Here, y represents the speed output, Jm represents the moment of inertia of the motor, and u 'represents the torque command value when the first speed command value is input.
[0024]
The correction value measuring method according to claim 7 sets a plurality of different rotation speeds so as to cover a fluctuation range of the motor rotation speed, measures correction values at the plurality of set rotation speeds, and sets the rotation speed. The correction value at a different rotational speed is obtained from the measurement correction value by an interpolation method.
[0025]
The correction value measuring method according to claim 8 sets a plurality of different load amounts so as to cover the fluctuation range of the motor load amount, measures correction values in the plurality of set load amounts, and sets the set load amount. The correction values at different load amounts are obtained from the measured correction values by an interpolation method.
[0026]
The correction value measuring method according to claim 9 is such that, when the motor generates a plurality of torque ripples having different ripple frequencies, the correction value is measured for each ripple frequency.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
Embodiment 1 FIG.
FIG. 1 is a diagram for explaining the operation of the motor control apparatus according to Embodiment 1 for carrying out the present invention, and is a block diagram of a speed control system of a rotary (linear) motor that generates torque ripple. Note that the present invention can be applied to not only a rotary motor but also a linear motor in the same way, with the same effect if the rotational torque is regarded as a direct acting thrust and the torque ripple as a ripple of this thrust. Therefore, in the following, the description will be made mainly for the rotary motor.
In FIG. 1, 1 is a block representing a transfer function G1 from the speed command value input u to the motor generated torque, and 2 is a transfer function from the motor output torque, which is the sum of the motor generated torque and the torque ripple d, to the motor rotational speed y. This is a block representing G2.
In addition, although the speed feedback loop is not illustrated in FIG. 1, if the consistency with the previous FIGS. 23 and 24 illustrating the speed feedback loop is assumed,
G1 = G1a
G2 = G2a / (1 + G1a · G2a)
I think that. Further, h is a correction value that suppresses speed ripple.
[0028]
First, the principle of the motor control apparatus according to the first embodiment will be described in detail with reference to FIG.
First, consider the rotational speed output y when the speed control device is operated with the speed command value u and the correction value h set to zero.
Here, if the torque ripple d is generated in synchronization with the motor rotation angle θm (= ∫ydt) and the period of the torque ripple with respect to the motor rotation is clear in advance, the frequency ωd of the torque ripple d is known from the rotation angle θm. I can do it. If a component of the same frequency ωd as the torque ripple d included in the speed command value u is ud, the component of the frequency ωd included in the rotational speed output y is rotated by the frequency ωd component ud of the speed command value and the torque ripple d. This is a velocity ripple yd generated in the velocity output y, and is expressed by a transfer function expression of equation (7).
yd = G1, G2, ud + G2, d (7)
In order to obtain the speed ripple yd, the rotational speed output y may be frequency-analyzed to extract the component of the torque ripple frequency ωd.
In the above description, the torque command frequency u can include the torque ripple frequency ωd component ud because, for example, the following cases are assumed. That is, although not shown in FIG. 1, for example, a rotational position control system exists outside the speed control system, and the feedback amount of the rotational position control system includes the ωd component. As a result, the position command value and This is because a case where a ωd component is included in a speed command value created by using a difference signal from the position feedback amount as an input is assumed.
[0029]
Next, consider the rotational speed output y when the speed control system is operated by adding the correction value h, which is a signal of the torque ripple frequency ωd, to the speed command value u. In this case, the component of the torque ripple frequency ωd in the rotational speed output y includes, in addition to the speed ripple yd that the speed command value ud and the torque ripple d generate in the rotational speed output y, the correction value h is the rotational speed output y. This includes the speed ripple generated in Thus, the speed ripple yhd of the torque ripple frequency ωd included in the rotational speed output y at this time is expressed by the transfer function expression of the equation (8).
yhd = G1 · G2 · (h + ud) + G2 · d (8)
Substituting equation (7) into equation (8) and rearranging it yields equation (9).
G1 · G2 = (yhd−yd) / h (9)
[0030]
From equation (9), from the speed ripple yd obtained from the measurement result when the correction value h = 0, the speed ripple yhd obtained from the measurement result when the correction value h ≠ 0, and the correction value h, the transfer function G1 · It can be seen that G2 can be obtained. Further, from equation (9), the correction value hd that makes the velocity ripple yhd of the correction value h ≠ 0 zero is obtained by the transfer function expression of equation (10).
hd = −yd / (G1 · G2) (10)
From the above description, it can be seen that the speed ripple yd can be made zero by adding the correction value hd created by the above procedure to the speed command value u.
[0031]
Next, a specific procedure for performing control for suppressing torque ripple of the rotary motor using the above principle will be described with reference to FIG. FIG. 2 is a flowchart showing an operation procedure of the motor control apparatus according to the first embodiment for carrying out the present invention. In FIG. 2, S1 to S3 are operations of the first speed pulsation measuring means described later in FIG. 4, S4 to S6 are operations of the second speed pulsation measuring means, and S7 is a speed correction value calculating means. Is the action.
[0032]
First, in S1, an appropriate speed command value u is input to the motor speed control device, and the rotational speed output y at this time is measured and stored in S2. Therefore, as will be described later, a correction value for the motor rotational speed corresponding to the speed command value input here is obtained.
Next, in S3, the rotational speed output y measured in S2 is subjected to frequency analysis, and a component of the torque ripple frequency ωd is extracted and stored. At this time, since the torque ripple d is generated in synchronization with the motor rotation angle, it is necessary to analyze the frequency of the rotation speed output y with respect to the motor rotation angle. Specifically, if the torque ripple is generated M times for one rotation of the motor, the torque ripple frequency ωd is expressed by Expression (11) with respect to the motor rotation angle θm.
ωd = M · d (θm) / dt (11)
There are various calculation methods for frequency analysis. To extract the speed ripple yd, which is a component of the torque ripple frequency ωd, from the rotational speed output y and obtain the phase with respect to the amplitude and the motor rotation angle, for example, the following calculation is performed. Just do it.
[0033]
First, a and b in the equations (12) and (13) are calculated to obtain an average value for a certain period of time (at least longer than one cycle of the longest rotation speed fluctuation). As a result, signals having frequency components other than d (M · θm) / dt = ωd average 0.
a = y · cos (M · θm) (12)
b = y · sin (M · θm) (13)
When the velocity ripple yd is expressed by the equation (14), the amplitude R of the velocity ripple and the phase φ at θm = 0 can be obtained by the equations (15) and (16) from the averaged a and b. Remember.
yd = R · sin (M · θm + φ) (14)
R = √ (a2+ B2(15)
φ = tan-1(A / b) (16)
[0034]
Next, in S4, a value obtained by adding the correction value h of the torque ripple frequency ωd to the speed command value u given in S1 is input as a speed command value, and the rotational speed output at this time is measured and stored in S5. As the correction value h in this case, for example, the value shown in Expression (17) is used.
h = H · sin (M · θm) (17)
In Expression (17), H is the amplitude of an appropriate correction value.
Next, in S6, the rotational speed output measured in S5 is processed in the same manner as in S3, and the amplitude Rh and phase φh of the speed fluctuation yhd are obtained and stored. At this time, the speed fluctuation yhd can be expressed by Expression (18).
yhd = Rh · sin (M · θm + φh) (18)
[0035]
Then, in S7, a correction value that makes the speed ripple zero is calculated and a table is created. Based on Expression (10), the correction value hd that sets the velocity ripple to 0 is given by the transfer function expression of Expression (19).
hd = −h · yd / (yhd−yd) (19)
Since Expression (19) is a transfer function expression, the calculation of the right side of Expression (19), each of which is a sine wave, corresponds to a combination of each sine wave displayed in polar coordinates. Consider h, yhd, and yd by displaying them in polar coordinates as shown in equations (20) to (22).
h = H · ej (M ・ θ m)  ... (20)
yd = R · ej (M ・ θ m + φ )  (21)
yhd = Rh · ej (M ・ θ m + φ h)  (22)
Expressions (20) to (22) are substituted into Expression (19) and rearranged to obtain Expression (23).
hd = −h · 1 / (Rh / R · ej ( φ h- φ )-1) (23)
[0036]
A method of calculating the correction value hd of equation (23) will be described with reference to FIG. A polar coordinate vector A represents a sine wave having an amplitude Rh / R and a phase φh−φ, and a polar coordinate vector B is a vector obtained by subtracting 1 from A, and corresponds to the denominator on the right side of Expression (23). The polar coordinate vector C is the reciprocal of the vector B, and the phase is inverted between the positive and negative phases, and the magnitude of the vector is the reciprocal. h is a vector rotating with M · θm of magnitude H and phase 0, and this is combined with the vector C to obtain a polar coordinate vector D. D has the same phase as C, and the magnitude is H multiplied by the amplitude of C.
[0037]
The polar coordinate vector D having the magnitude Hd and the phase φhd was obtained by the above procedure. The correction value hd represented by this vector is represented by Expression (24).
hd = Hd · sin (M · θm + φhd) (24)
In order to use for actual control, in order to shorten the processing time of data necessary for control, the correction value hd calculated by the equation (24) is calculated for each appropriate motor rotation angle, and the correction table is stored in advance. It is often convenient to create it.
With the above operation, the creation of the correction table for the torque ripple generated M times for one rotation of the motor is completed.
[0038]
In order to perform speed control that actually suppresses the speed ripple, the correction value of the speed command value is obtained for the speed command value using the correction table created based on the current motor rotation angle, and this correction value is obtained as the speed command value. In addition to the above, it may be given to the speed control device.
In the above embodiment, correction data is calculated in advance and stored in the form of a correction table. However, in the case of a control device capable of high-speed processing, it is stored in the form of each data in S6. When actually controlling, it is possible to calculate the correction value by performing the calculation of FIG. 3 and the equation (24), and there is an advantage that the amount of data to be stored may be small.
[0039]
By the way, as a cause of occurrence of torque ripple, for example, one based on slot passing in a synchronous machine employing a concentrated winding coil, one caused by the number of poles, one based on an offset error of each sensor, etc. can be considered. When torque ripples exist in a plurality of periods, 1) A method of measuring speed ripple data of other frequencies by the procedure of S1 to S7 in a state where these speed ripples are erased using the already created correction table. 2) A method of measuring data of other speed ripples without creating a speed ripple after creating a correction table for one speed ripple, and 3) obtaining R and φ for a plurality of torque ripple frequencies in S3. Next, in S4, measurement is performed using h obtained by adding a plurality of frequency components. In S6, a plurality of torques are measured. Rh respect pull frequency, seek .phi.h, how to create a correction table at once for a plurality of speed ripple from these data in S7, are conceivable. In short, a correction value may be obtained for each ripple frequency.
[0040]
Further, the parameters Hd and φhd of the correction value hd also change depending on the rotational speed of the motor. This is because in the measurement method described above, the characteristics of G1 and G2 are measured only at the torque ripple frequency ωd at the motor rotation speed corresponding to the speed command value input first. Therefore, in order to apply the control device of the present invention to the control system in which the motor rotation speed changes, it is necessary to measure and prepare the parameter of the correction value hd for each motor rotation speed to be used. However, since the changes in the parameters Hd and φhd with respect to the change in the motor rotation speed are relatively gradual, the method of interpolating and using the parameters in the middle section based on the data measured at a certain rotation speed interval is also sufficiently practical. It is.
[0041]
Next, a specific configuration of the motor control device having the above functions will be described. FIG. 4 is a diagram illustrating a specific configuration of the motor control device. Hereinafter, the function of each part in FIG. 4 will be described with reference to the operation procedure in FIG. In the following example, a case where the first velocity pulsation measuring unit and the second velocity pulsation measuring unit are configured by the same device will be described.
First, the speed control of S1 in FIG. 2 is performed by the motor rotation speed control means 4 which generates an appropriate speed command value by the speed command value generation means 3 and controls the rotation speed of the motor based on the command value. The motor rotation speed control means 4 is a device that is connected to a motor 6 including a rotation sensor such as an encoder and controls the speed of the motor 6. Specifically, the motor rotation speed control means 4 is a servo amplifier, for example, and includes a speed command value generation means. Reference numeral 3 denotes a servo amplifier controller, for example.
[0042]
Next, the rotation speed of the motor is detected by the motor rotation angle / speed measurement means 7 in S2 of FIG. The rotation angle / speed of the motor may be detected by using a rotation signal connected to the motor 6, or using another rotation sensor or speed sensor (when measuring the speed of the rotating part surface of the motor). . However, even in this case, the signals of the rotation sensor connected to the motor 6 and the signals of another rotation / speed sensor need to be measured simultaneously. The motor rotation angle / speed measuring means 7 has a function of capturing and storing these signals, and specifically includes a data processing device having a signal interface with a rotation sensor.
[0043]
Next, in S3 of FIG. 2, the speed ripple calculation means 8 calculates the equations (12) to (16), extracts the torque ripple frequency component signal from the stored motor rotation speed data, and calculates the amplitude of the speed ripple. The phase is calculated and the result is stored in the ripple data storage unit 9. The speed ripple calculation means 8 and the ripple data storage means 9 are specifically programs on the data processing device.
Next, in the speed control including the correction value of S4 in FIG. 2, an appropriate correction value generated by the correction command value generating means 5 is sent to the speed command value generating means 3, and the motor rotation is performed by the speed command value obtained by adding this. The speed control means 4 controls the motor 6. The speed command value generating means 3 is a program on the controller of the servo amplifier, for example.
[0044]
Next, in S4, 5, and 6 of FIG. 2, the motor rotation angle / speed measurement means 7, the speed ripple calculation means 8, and the ripple data storage means 9 calculate and store the speed ripple amplitude and phase in the same manner as S2 and S3. Is done.
Therefore, in the next S7, using the data stored in the ripple data storage unit 9, the correction command value calculation unit 10 sets the speed ripple to 0 by the calculation method described in equations (20) to (24) and FIG. The correction command value is calculated and stored by the correction command value storage unit 11. The correction command value calculation means 10 and the correction command value storage means 11 are programs on the data processing device, for example. The correction command value is stored, for example, in the form of a correction table in which the motor rotation angle and the corresponding speed command value correction value are stored for each motor angle.
Thus, a correction command value that makes the speed ripple 0 is created and stored on the correction command value storage means 11. When performing control to set the speed ripple to 0, the correction data is transferred to the correction command value generating means 5, and this corrected speed command value is added to the speed command value to control the motor.
[0045]
Here, the apparatus configuration shown in FIG. 4 includes a speed control device 12 comprising a speed command value generating means 3, a motor rotational speed control means 4, a correction command value generating means 5, a motor rotational angle / speed measuring means 7, a speed. It can be divided into a speed pulsation measuring means 13 composed of a ripple calculating means 8, a ripple data storing means 9, a correction command value calculating means 10, a speed correction value calculating means 17 composed of a correction command value storing means 11, and a motor 6. Among these, the speed pulsation measuring means 13 and the speed correction value calculating means 17 are necessary when creating the correction command value, but are not necessary when performing the motor control after creating the correction command value.
[0046]
By the way, the torque ripple generated by the motor is roughly divided into a cogging torque generated even when the motor is unloaded and an energized ripple generated when the motor is loaded. In the configuration of the motor control apparatus shown in FIG. 4, since the measurement and control are performed by the motor 6 alone, the speed ripple due to the cogging torque can be detected, but the energized ripple cannot be measured. In order to measure and compensate torque ripple including energized ripple, it is necessary to apply an appropriate load such as another motor or brake to the motor 6. In general, the characteristics of energized ripples vary with the size of the load. To create a correction command value that compensates for energized ripples, it is necessary to measure and prepare a correction table according to each load state to be used. . However, since the change in the correction data with respect to the change in the load state is relatively gradual, the method of interpolating and using the parameters in the middle section based on the data measured at some load state interval is also sufficiently practical.
[0047]
In addition, although the control apparatus with respect to the torque ripple of a rotary motor was demonstrated above, it cannot be overemphasized that the same apparatus is effective also about the control apparatus with respect to the thrust ripple of a linear motor. The same applies to later-described embodiments.
That is, the torque described in the claims of the present specification also means thrust in a linear motor, and the torque ripple also means thrust ripple.
[0048]
Embodiment 2. FIG.
In the first embodiment, the correction value is added to the speed command value. In the second embodiment described below, a method of adding the correction value to the torque (current) command value of the motor current control system will be described.
FIG. 5 is a diagram for explaining a motor control apparatus according to Embodiment 2 for carrying out the present invention, and is a block diagram of a motor speed control apparatus in which torque ripple is generated. FIG. 5 is a block diagram of a speed control system including speed feedback. In this sense, FIG. 5 is equivalent to FIG. 1 of the first embodiment. Further, FIG. , 24. However, in the second embodiment, it is assumed that a correction value for suppressing torque ripple is added to the torque command value. Therefore, in order to enable this, the block 1 in each of the above figures is replaced with FIG. Then, a block indicating the transfer function G1a1 from the speed command value error to the torque command value, that is, the speed controller 14, and a block indicating the transfer function G1a2 from the torque command value to the torque output, ie, the torque controller 15 are provided. Shown separately. Therefore,
G1a1 · G1a2 = G1a
Is established.
Block 2 is similar to the previous figures. Further, h ′ is a correction value for suppressing torque ripple, u, y, d are the same as those in FIG. 1, u ′ is a torque command value output from the speed controller 14, and y ′ is an output torque.
[0049]
First, consider the torque input / output relationship including the operation of the speed control system. As in the first embodiment, if an appropriate signal is input to the speed command value u, in this embodiment, the torque command value u ′ has the same frequency as the torque ripple d for speed (speed feedback) control. Inexperienced ingredients may be included, but consider their effects.
[0050]
Considering equivalent conversion of the block diagram of FIG. 5, the input / output of the signal of the torque ripple frequency ωd can be equivalently converted to FIG. Here, if the portion surrounded by the dotted line in FIG. 6 is considered together in the block 16 of the transfer function G2b, the block diagram of FIG. 6 can be considered to be the same as that of FIG. 7 for the signal of the torque ripple frequency ωd.
In FIG. 7, when the portion from the torque command u ′ to the torque output y ′ is taken out, it becomes the same shape as the block diagram when G2 = 1 in FIG. Here, considering that the torque output y ′ is detected by some method, the torque output y ′ is related to the responsiveness of the detecting means 18, and this is expressed as a transfer function G2 ′. If the transfer function G1a2 of the torque controller 15 of No. 7 is expressed as G1 ′, the portion related to torque control in FIG. 7 can be expressed in the form shown in FIG.
Accordingly, it can be understood that the correction value hd 'can be obtained in the same manner as in the first embodiment by using the torque input / output relationship shown in FIG.
[0051]
Now, the principle of the motor control apparatus according to the second embodiment will be described. First, an appropriate speed command value u is given (as a result, a torque command value u ′ is output from the speed controller 14 as will be described later), and the speed control system is set with the correction value h ′ set to 0. The component of the frequency ωd included in the torque command value u ′ and the torque output y ′ in the operated state is a torque ripple yd ′ generated by the torque command value ud ′ and the torque ripple d in the rotational torque output y ′. It is represented by the transfer function expression of (25).
yd '= G1'.G2'.ud' + G2'.d (25)
[0052]
Next, the torque ripple frequency included in the rotational torque output y ′ as the second measurement result when the control system is operated by adding the correction value h ′ that is a signal of the torque ripple frequency ωd to the torque command value u ′. The torque ripple yhd ′ of ωd is expressed by the transfer function expression of Equation (26).
yhd '= G1'.G2'. (h '+ ud') + G2'.d (26)
Substituting equation (25) into equation (26) for rearrangement, equation (27) is obtained.
G1 '· G2' = (yhd'-yd ') / h' (27)
From equation (27), the transfer function G1 ′ · G2 ′ can be obtained from the torque ripple yd ′ when the correction value h ′ = 0, the torque ripple yhd ′ when the correction value h ′ ≠ 0, and the correction value h ′. I understand that it is possible.
Further, from the equation (27), the correction value hd ′ that makes the torque ripple yhd ′ of the correction value h ′ ≠ 0 zero is given by the transfer function expression of the equation (28).
hd '=-yd' / (G1 '· G2') (28)
From the above description, it can be seen that the torque ripple yhd 'can be made zero by adding the correction value hd' created in the above procedure to the torque command value u '.
[0053]
Next, a specific procedure for performing control to suppress torque ripple of the rotary motor using the above principle will be described with reference to FIG. FIG. 9 is a flowchart showing an operation procedure of the motor control apparatus according to the second embodiment for carrying out the present invention. In FIG. 9, S1 ′ to S3 ′ are operations of the first torque pulsation measuring means, S4 ′ to S6 ′ are operations of the second torque pulsation measuring means, and S7 ′ is a torque correction value calculating means. Is the action.
First, in S1 ', an appropriate speed command value u is input to the motor speed control device, and the torque output at this time is measured and stored in S2'. The torque output can be measured by connecting a torque sensor to the motor, or using an observer that calculates the torque output from a change in the rotational speed of the motor.
[0054]
Next, in S3 ', the torque output measured in S1' is subjected to frequency analysis to extract a component having a torque ripple frequency. At this time, torque ripple is generated in synchronism with the motor rotation angle, so the frequency analysis of the torque output needs to be performed with respect to the motor rotation angle. By performing the same processing as that performed on the rotational speed output in the first embodiment, the torque ripple yd 'can be expressed by Expression (29).
yd ′ = R ′ · sin (M · θm + φ ′) (29)
Next, in S4 ′, a value obtained by adding a correction value h ′ of the torque ripple frequency ωd to the torque command value u ′ generated by the speed control system in S1 ′ is input as a torque command value of the torque control system, and the torque ripple at this time Measure and store yhd ′. As the correction value h ′ in this case, for example, the value shown in Expression (30) is used.
h ′ = H ′ · sin (M · θm) (30)
In Expression (30), H ′ is an amplitude of an appropriate correction value.
Next, in S5 ', the torque output measured in S4' is processed in the same manner as S2 'to determine the amplitude Rh' and phase φh 'of the torque ripple yhd'. At this time, the torque ripple yhd 'can be expressed by Expression (31).
yhd ′ = Rh ′ · sin (M · θm + φh ′) (31)
[0055]
In step S6 ', a correction value is calculated so as to make the output torque ripple 0, and a table is created. Based on Expression (28), the correction value hd ′ for setting the output torque ripple to 0 is given by the transfer function expression of Expression (32).
hd '=-h' · yd '/ (yhd'-yd') (32)
Since Expression (32) is a transfer function expression, the calculation of the right side of Expression (32), each of which is a sine wave, corresponds to a combination of each sine wave displayed in polar coordinates. The correction value hd ′ can be expressed by the equation (33) by calculating using the same method as described in the first embodiment.
hd ′ = Hd ′ · sin (M · θm + φhd ′) (33)
With the above operation, a torque command correction value that makes the torque ripple zero can be obtained as in the first embodiment. When performing torque ripple suppression control, the torque command correction value obtained by the above method may be added to the original torque command value and output to the torque control device.
[0056]
It should be noted that the same countermeasures as in the first embodiment can be taken for the correction method for torque ripples of a plurality of cycles, the change in the correction value depending on the motor rotation speed, and the correction method for torque ripple generated when the motor is loaded.
[0057]
In the above example, the method for obtaining the torque command correction value while performing the speed feedback has been described. However, as shown in the block diagrams of FIGS. 5 and 6, the presence or absence of speed feedback affects the above control method. Absent. Therefore, the torque command correction value can be obtained by the above method even when the speed feedback response is delayed so that the torque command value u ′ does not include the torque ripple frequency component, or the speed feedback is not performed. Of course it is possible.
[0058]
Here, the response G1 '(FIG. 8) of the torque controller 15 will be examined. The torque controller performs feedback control of the motor current, and the response of the feedback control itself is usually sufficiently high speed with respect to the torque ripple frequency. However, the speed controller and the torque controller in the servo amplifier hardware are different. In the case of being constituted by another microcomputer, there is a case where a dead time occurs until the torque command value is actually input to the torque controller due to a delay in signal transmission. This dead time appears as a phase advance in the torque correction value calculated by the above method, but if the dead time is constant, the amount of phase advance is proportional to the torque ripple frequency.
[0059]
For this reason, in a control device in which the response of the torque controller is considered to be a simple dead time, the phase advance amount of the correction value generated due to the dead time can be predicted from the torque ripple frequency. By changing the phase advance amount, torque command correction values that suppress torque ripple can be obtained without measuring and storing correction values corresponding to the respective motor rotation speeds.
For this purpose, the torque correction value is obtained by the above method for at least two motor rotation speeds, and the dead time of the torque controller is calculated from the phase difference between the correction values under these two conditions. When performing torque ripple suppression control, it is understood that a phase shift that occurs at a torque ripple frequency during control when the dead time that has been obtained in advance is calculated, and that the phase advance is added when calculating the torque correction value.
[0060]
Embodiment 3 FIG.
In the third embodiment described below, a control method when the response of the torque (current) controller is sufficiently fast and the speed command value does not include the torque ripple frequency signal in the second embodiment will be described.
First, when the response of the torque (current) controller is sufficiently fast, the torque input / output relationship including the operation of the speed control system can be considered as the transfer function G1a2 = 1 in the block diagram of FIG. It can be represented by a block diagram. The signal a in FIG. 10 is a torque output, and the signal -b corresponds to a torque command value generated by the speed control system in response to the speed ripple, but when the speed command value does not include a torque ripple frequency signal. The component of the torque ripple frequency is only signal -b. That is, it can be seen that the signal c is equal to the torque output minus the torque command value. This signal c is hereinafter referred to as a disturbance output.
[0061]
Thus, when the response of the motor current control system is sufficiently fast, by considering the disturbance output as an output signal, and similarly to the case described with reference to FIG. 8, the transfer function G1a2 is expressed as G1 ′, FIG. A block diagram can be simplified as shown in FIG. In FIG. 11, the signal y ″ may be obtained by subtracting the torque command value from the torque output actually measured by the torque sensor or the like, but the torque command is obtained from the output of the observer that calculates the torque output from the fluctuation in the rotational speed of the motor. You may use what reduced the value, ie, the output of what is called a disturbance observer.
[0062]
The principle of the motor control device according to the third embodiment will be described below. First, a disturbance output yd '' that is a first measurement result in a state where a speed command value that does not include a component of the torque ripple frequency ωd is given and the speed control system is operated in a state where the correction value h ′ is zero. Is equal to the torque ripple d (formula (34)).
yd ″ = d (34)
Next, the disturbance output yhd ″, which is the second measurement result when the control system is operated by adding the correction value h ′ that is a signal of the torque ripple frequency ωd to the torque command value u ′, is expressed by the equation (35). Expressed in transfer function representation.
yhd ″ = G1 ′ · h ′ + d (35)
The above yd ″ and yhd ″ can be obtained by the equations (36) and (37) using the output of the so-called disturbance observer described above.
yd ″ = ((dy / dt) / Jm) −u ′ (36)
yhd ″ = ((dy / dt) / Jm) − (u ′ + h ′) (37)
Here, y is the speed output, Jm is the moment of inertia of the motor, and u 'is the torque command value.
[0063]
Equation (38) is obtained from equations (34) and (35).
G1 '= (yhd "-yd") / h' (38)
[0064]
From equation (38), the transfer function G1 ′ can be obtained from the disturbance output yd ″ when the correction value h ′ = 0, the disturbance output yhd ″ when the correction value h ≠ 0, and the correction value h ′. I understand that it is possible.
Further, from the equation (35), the correction value hd ′ that makes the disturbance output yhd ″ of the correction value h ′ ≠ 0 zero is given by the transfer function expression of the equation (39).
hd '=-yd "/ G1' (39)
[0065]
From the above description, it can be seen that the torque fluctuation can be made zero by adding the correction value hd 'created by the above procedure to the torque command value u'.
Note that the specific procedure of the torque ripple measurement and control method is the same as that of the second embodiment, and thus the description thereof is omitted.
[0066]
In the above description, the case where the correction value for suppressing the torque ripple is added to the speed command value (Embodiment 1) and the case where the correction value is added to the torque command value (Embodiments 2 and 3) have been described. By following the same concept, it is possible to suppress the influence of torque ripple by adding a correction value to the (rotation) position command value. Of course, the correction value in this case can also be measured by applying the method described above in the same manner.
[0067]
【The invention's effect】
  As described above, the motor control device according to the first aspect of the present invention generates the necessary torque based on the command value related to the position, speed or torque, and controls the position, speed or torque of the motor. ,
  In the motor control apparatus that suppresses a ripple component in the output relating to the position, speed, or torque of the motor caused by torque ripple generated by the motor by adding a predetermined correction value to the command value,
  The transfer function from the command value input related to the position, speed or torque to the motor generated torque is G1, and the transfer function from the motor output torque which is the sum of the motor generated torque and the torque ripple to the output related to the position, speed or torque Function G2, output related to the position, speed or torque when the correction value is not addedWas extracted as a frequency component of M times (M is a natural number) the rotational frequency of the motor.When the ripple frequency component is dd, the correction value hd is set by the following equation, so that a correction value that takes into account the response of the control device is adopted, and a torque ripple suppressing effect is reliably obtained.
  hd = -dd / (G1 · G2)
[0068]
According to a second aspect of the present invention, there is provided a correction value measuring method for measuring a speed correction value when the motor control device according to the first aspect adds a correction value to a speed command value to suppress a speed output ripple component. In the method of obtaining by
A ripple frequency component yd of a speed output in a state where an arbitrary first speed command value is input is obtained,
A ripple frequency component yhd of a speed output in a state where a sum of the first speed command value and an arbitrary speed correction value h of the ripple frequency is input as a speed command value,
From the above yd, h, yhd, the transfer function (G1 · G2) is obtained by the following equation,
(G1 · G2) = (yhd−yd) / h
Since the speed correction value to be obtained is calculated based on the transfer function (G1 · G2), the speed correction value for suppressing the speed output ripple component can be obtained easily and reliably.
[0069]
According to a third aspect of the present invention, there is provided a method for measuring a correction value in a case where the correction value is added to a torque command value to suppress a torque output ripple component in the motor control device according to the first aspect. In
Obtaining a ripple frequency component yd 'of the torque output in a state where an arbitrary first torque command value is inputted;
A torque output ripple frequency component yhd 'in a state in which a sum of the first torque command value and the arbitrary torque correction value h' of the ripple frequency is input as a torque command value is obtained,
A transfer function (G1 ′ · G2 ′) is obtained from the above yd ′, h ′, yhd ′ by the following equation,
(G1 '· G2') = (yhd'-yd ') / h'
Since the torque correction value to be obtained is calculated based on the transfer function (G1 ′ · G2 ′), the torque correction value for suppressing the torque ripple component can be obtained simply and reliably.
[0070]
According to a fourth aspect of the present invention, there is provided a correction value measurement method according to the first aspect of the motor control device according to the first aspect, wherein the correction value is added to the torque command value and the torque output ripple component is suppressed. In the method of obtaining the torque correction value by measurement,
A ripple frequency component yd 'of torque output in a state where an arbitrary first speed command value is input is obtained,
A ripple frequency component yhd 'of torque output in a state where the first speed command value is inputted as a speed command value and an arbitrary torque correction value h' of the ripple frequency is inputted as a torque command value,
A transfer function (G1 ′ · G2 ′) is obtained from the above yd ′, h ′, yhd ′ by the following equation,
(G1 '· G2') = (yhd'-yd ') / h'
Since the torque correction value to be obtained is calculated based on the transfer function (G1 ′ · G2 ′), the torque correction value for suppressing the torque ripple component can be obtained simply and reliably.
[0071]
The correction value measuring method according to claim 5 is a motor control device according to claim 1 having a speed control system in which the correction value is added to the torque command value to suppress the torque output ripple component. In the method of obtaining the torque correction value by measurement,
When the response from the torque command value input to the motor generated torque is fast enough and the speed command value does not include a ripple frequency component,
A ripple frequency component yd '' of torque output in a state where an arbitrary first speed command value is input is obtained,
A ripple frequency component yhd ″ of a torque output in a state where the first speed command value is input as a speed command value and an arbitrary torque correction value h ′ of the ripple frequency is input as a torque command value,
A transfer function (G1 ′ · G2 ′) is obtained from the above yd ″, h ′, yhd ″ by the following equation:
(G1 ′ · G2 ′) ≈ (G1 ′) = (yhd ″ −yd ″) / h ′
Since the torque correction value to be obtained is calculated based on the transfer function (G1 ′ · G2 ′), the torque correction value for suppressing the torque ripple component can be obtained simply and reliably.
[0072]
Further, in the correction value measuring method according to claim 6, since the ripple frequency components yd '' and yhd '' of the torque output are obtained by the following equations in claim 5, the torque output ripple component is a so-called so-called torque output ripple component. It can be easily obtained using the output of the disturbance observer.
yd ″ = ((dy / dt) / Jm) −u ′
yhd '' = ((dy / dt) / Jm)-(u '+ h')
Here, y represents the speed output, Jm represents the moment of inertia of the motor, and u 'represents the torque command value when the first speed command value is input.
[0073]
The correction value measuring method according to claim 7 sets a plurality of different rotation speeds so as to cover a fluctuation range of the motor rotation speed, measures correction values at the plurality of setting rotation speeds, and sets the rotation speed. Since the correction value at a different rotational speed is obtained from the measured correction value by an interpolation method, a correction value over the entire fluctuation range of the motor rotational speed can be easily obtained.
[0074]
The correction value measuring method according to claim 8 sets a plurality of different load amounts so as to cover the fluctuation range of the motor load amount, measures correction values in the plurality of set load amounts, and sets the set load amount. Since the correction value at a different load amount is obtained from the measured correction value by an interpolation method, a correction value over the entire fluctuation range of the motor load amount can be easily obtained.
[0075]
In the correction value measurement method according to claim 9, when the motor generates a plurality of torque ripples having different ripple frequencies, the correction value is measured for each ripple frequency. Thus, a correction value for reliably suppressing these can be obtained.
[Brief description of the drawings]
FIG. 1 is a configuration diagram showing a control block of a motor control device according to Embodiment 1 of the present invention.
FIG. 2 is a flowchart for explaining a correction value measurement method according to the first embodiment;
FIG. 3 is a diagram in which each amount in the process of calculating a correction value is displayed as a vector.
FIG. 4 is a block diagram showing a motor control device according to the present invention.
FIG. 5 is a configuration diagram showing a control block which is a premise of the second embodiment of the present invention.
FIG. 6 is a control block diagram obtained by equivalently converting FIG.
FIG. 7 is a control block diagram obtained by equivalently converting FIG.
FIG. 8 is a configuration diagram illustrating a control block of a motor control device according to a second embodiment.
FIG. 9 is a flowchart for explaining a correction value measurement method according to the second embodiment;
FIG. 10 is a configuration diagram showing a control block which is a premise of a third embodiment of the present invention.
FIG. 11 is a configuration diagram illustrating a control block of a motor control device according to a third embodiment.
FIG. 12 is a flowchart showing a measurement processing operation in a conventional motor control device.
13 is a diagram showing the relationship between the command value of the motor rotation angle and the output value according to S2 of FIG.
FIG. 14 is a diagram illustrating Hanning data according to S3 of FIG.
FIG. 15 is a Bode diagram according to S7 of FIG.
FIG. 16 is a diagram for explaining a speed fluctuation wave caused by torque ripple.
FIG. 17 is a flowchart showing a torque ripple suppressing operation.
FIG. 18 is a diagram showing a motor speed control command (angle-speed data).
FIG. 19 is a diagram showing time-angle data according to S33 of FIG.
FIG. 20 is a diagram showing corrected time-angle data according to S34 of FIG.
FIG. 21 is a diagram showing time-speed data according to S35 of FIG.
FIG. 22 is a diagram showing angle-speed data according to S36 of FIG.
FIG. 23 is a control block diagram for explaining a conventional problem.
FIG. 24 is a control block diagram for explaining a conventional torque ripple suppressing operation.
[Explanation of symbols]
1, 2, 14 to 16, 18 blocks each represented by a transfer function,
3 speed command value generating means, 4 motor rotation speed control means,
5 correction command value generation means, 6 motor, 7 motor rotation angle / speed measurement means,
8 speed ripple calculation means, 9 ripple data storage means,
10 correction command value calculation means, 11 correction command value storage means.

Claims (9)

位置、速度またはトルクに係る指令値に基づき必要なトルクを発生し、モータの位置、速度またはトルクを制御するものであって、
上記モータが発生するトルクリプルに起因する上記モータの位置、速度またはトルクに係る出力におけるリプル成分を、上記指令値に所定の補正値を加算することにより抑制するようにしたモータ制御装置において、
上記位置、速度またはトルクに係る指令値入力から上記モータ発生トルクまでの伝達関数をG1、上記モータ発生トルクとトルクリプルとの和であるモータ出力トルクから上記位置、速度またはトルクに係る出力までの伝達関数をG2、上記補正値を加算しないときに上記位置、速度またはトルクに係る出力を周波数分析することによって上記モータの回転周波数のM倍(Mは自然数)の周波数成分として抽出されたリプル周波数成分をddとしたとき、上記補正値hdを下式により設定することを特徴とするモータ制御装置。
hd=−dd/(G1・G2)
Generate necessary torque based on the command value related to position, speed or torque, and control the position, speed or torque of the motor,
In the motor control apparatus that suppresses a ripple component in the output relating to the position, speed, or torque of the motor caused by torque ripple generated by the motor by adding a predetermined correction value to the command value,
The transfer function from the command value input related to the position, speed or torque to the motor generated torque is G1, and the transfer function from the motor output torque which is the sum of the motor generated torque and the torque ripple to the output related to the position, speed or torque The ripple frequency component extracted as a frequency component of M times the rotational frequency of the motor (M is a natural number) by frequency analysis of the output related to the position, speed or torque when the function is G2 and the correction value is not added The motor control device is characterized in that the correction value hd is set according to the following equation, where dd is dd.
hd = -dd / (G1 · G2)
請求項1に係るモータ制御装置において速度指令値に補正値を加算して速度出力リプル成分を抑制する場合の当該速度補正値を測定により求める方法において、
任意の第1の速度指令値を入力した状態での速度出力のリプル周波数成分ydを求め、
速度指令値として上記第1の速度指令値と上記リプル周波数の任意の速度補正値hとを加算したものを入力した状態での速度出力のリプル周波数成分yhdを求め、
上記yd、h、yhdから下式により伝達関数(G1・G2)を求め、
(G1・G2)=(yhd−yd)/h
上記伝達関数(G1・G2)に基づき求めるべき速度補正値を算出するようにしたことを特徴とする補正値測定方法。
In the motor control device according to claim 1, in the method for obtaining the speed correction value by measurement by adding the correction value to the speed command value and suppressing the speed output ripple component,
A ripple frequency component yd of a speed output in a state where an arbitrary first speed command value is input is obtained,
A ripple frequency component yhd of a speed output in a state where a sum of the first speed command value and an arbitrary speed correction value h of the ripple frequency is input as a speed command value,
From the above yd, h, yhd, the transfer function (G1 · G2) is obtained by the following equation,
(G1 · G2) = (yhd−yd) / h
A correction value measuring method characterized in that a speed correction value to be obtained is calculated based on the transfer function (G1 · G2).
請求項1に係るモータ制御装置においてトルク指令値に補正値を加算してトルク出力リプル成分を抑制する場合の当該トルク補正値を測定により求める方法において、
任意の第1のトルク指令値を入力した状態でのトルク出力のリプル周波数成分yd’を求め、
トルク指令値として上記第1のトルク指令値と上記リプル周波数の任意のトルク補正値h’とを加算したものを入力した状態でのトルク出力のリプル周波数成分yhd’を求め、
上記yd’、h’、yhd’から下式により伝達関数(G1’・G2’)を求め、
(G1’・G2’)=(yhd’−yd’)/h’
上記伝達関数(G1’・G2’)に基づき求めるべきトルク補正値を算出するようにしたことを特徴とする補正値測定方法。
In the motor control device according to claim 1, in the method of obtaining the torque correction value by measurement by adding the correction value to the torque command value and suppressing the torque output ripple component,
A ripple frequency component yd ′ of the torque output in a state where an arbitrary first torque command value is input is obtained,
A torque output ripple frequency component yhd ′ in a state in which a value obtained by adding the first torque command value and an arbitrary torque correction value h ′ of the ripple frequency is input as a torque command value is obtained.
A transfer function (G1 ′ · G2 ′) is obtained from the above yd ′, h ′, yhd ′ by the following equation,
(G1 ′ · G2 ′) = (yhd′−yd ′) / h ′
A correction value measurement method characterized in that a torque correction value to be obtained is calculated based on the transfer function (G1 ′ · G2 ′).
請求項1に係るモータ制御装置であって速度制御系を有するものにおいてトルク指令値に補正値を加算してトルク出力リプル成分を抑制する場合の当該トルク補正値を測定により求める方法において、
任意の第1の速度指令値を入力した状態でのトルク出力のリプル周波数成分yd’を求め、
速度指令値として上記第1の速度指令値を入力しトルク指令値として上記リプル周波数の任意のトルク補正値h’を入力した状態でのトルク出力のリプル周波数成分yhd’を求め、
上記yd’、h’、yhd’から下式により伝達関数(G1’・G2’)を求め、
(G1’・G2’)=(yhd’−yd’)/h’
上記伝達関数(G1’・G2’)に基づき求めるべきトルク補正値を算出するようにしたことを特徴とする補正値測定方法。
In the motor control device according to claim 1, having a speed control system, the correction value is added to the torque command value to suppress the torque output ripple component, and the torque correction value is determined by measurement.
A ripple frequency component yd ′ of the torque output in a state where an arbitrary first speed command value is input is obtained,
A ripple frequency component yhd ′ of a torque output in a state where the first speed command value is input as a speed command value and an arbitrary torque correction value h ′ of the ripple frequency is input as a torque command value,
A transfer function (G1 ′ · G2 ′) is obtained from the above yd ′, h ′, yhd ′ by the following equation,
(G1 ′ · G2 ′) = (yhd′−yd ′) / h ′
A correction value measurement method characterized in that a torque correction value to be obtained is calculated based on the transfer function (G1 ′ · G2 ′).
請求項1に係るモータ制御装置であって速度制御系を有するものにおいてトルク指令値に補正値を加算してトルク出力リプル成分を抑制する場合の当該トルク補正値を測定により求める方法において、
トルク指令値入力からモータ発生トルクまでの応答が十分速く、かつ速度指令値にリプル周波数成分が含まれていない場合、
任意の第1の速度指令値を入力した状態でのトルク出力のリプル周波数成分yd’’を求め、
速度指令値として上記第1の速度指令値を入力しトルク指令値として上記リプル周波数の任意のトルク補正値h’を入力した状態でのトルク出力のリプル周波数成分yhd’’を求め、
上記yd’’、h’、yhd’’から下式により伝達関数(G1’・G2’)を求め、
(G1’・G2’)≒(G1’)=(yhd’’−yd’’)/h’
上記伝達関数(G1’・G2’)に基づき求めるべきトルク補正値を算出するようにしたことを特徴とする補正値測定方法。
In the motor control device according to claim 1, having a speed control system, the correction value is added to the torque command value to suppress the torque output ripple component, and the torque correction value is determined by measurement.
When the response from the torque command value input to the motor generated torque is fast enough and the speed command value does not include a ripple frequency component,
Obtain a ripple frequency component yd '' of torque output in a state where an arbitrary first speed command value is input,
A ripple frequency component yhd '' of a torque output in a state where the first speed command value is input as a speed command value and an arbitrary torque correction value h ′ of the ripple frequency is input as a torque command value,
The transfer function (G1 ′ · G2 ′) is obtained from the above yd ″, h ′, yhd ″ by the following equation:
(G1 ′ · G2 ′) ≈ (G1 ′) = (yhd ″ −yd ″) / h ′
A correction value measurement method characterized in that a torque correction value to be obtained is calculated based on the transfer function (G1 ′ · G2 ′).
請求項5において、トルク出力のリプル周波数成分yd’’およびyhd’’を、それぞれ下式により求めるようにしたことを特徴とする補正値測定方法。
yd’’=((dy/dt)/Jm)−u’
yhd’’=((dy/dt)/Jm)−(u’+h’)
但し、yは速度出力、Jmはモータの慣性モーメント、u’は第1の速度指令値を入力したときのトルク指令値を示す。
6. The correction value measuring method according to claim 5, wherein the ripple frequency components yd '' and yhd '' of the torque output are obtained by the following equations, respectively.
yd ″ = ((dy / dt) / Jm) −u ′
yhd ″ = ((dy / dt) / Jm) − (u ′ + h ′)
However, y represents the speed output, Jm represents the moment of inertia of the motor, and u ′ represents the torque command value when the first speed command value is input.
モータ回転数の変動範囲をカバーするように異なる複数の回転数を設定し、これら複数の設定回転数における補正値を測定し、上記設定回転数と異なる回転数における補正値は上記測定補正値から補間法により求めるようにしたことを特徴とする請求項2ないし6のいずれかに記載の補正値測定方法。A plurality of different rotation speeds are set so as to cover the fluctuation range of the motor rotation speed, the correction values at the plurality of setting rotation speeds are measured, and the correction value at a rotation speed different from the set rotation speed is calculated from the measurement correction value. 7. The correction value measuring method according to claim 2, wherein the correction value is obtained by an interpolation method. モータ負荷量の変動範囲をカバーするように異なる複数の負荷量を設定し、これら複数の設定負荷量における補正値を測定し、上記設定負荷量と異なる負荷量における補正値は上記測定補正値から補間法により求めるようにしたことを特徴とする請求項2ないし7のいずれかに記載の補正値測定方法。A plurality of different load amounts are set so as to cover the fluctuation range of the motor load amount, the correction values at the plurality of set load amounts are measured, and the correction value at a load amount different from the set load amount is calculated from the measurement correction value. 8. The correction value measuring method according to claim 2, wherein the correction value is obtained by an interpolation method. モータが、そのリプル周波数が異なる複数のトルクリプルを発生する場合、補正値は各リプル周波数毎に測定するようにしたことを特徴とする請求項2ないし8のいずれかに記載の補正値測定方法。9. The correction value measuring method according to claim 2, wherein when the motor generates a plurality of torque ripples having different ripple frequencies, the correction value is measured for each ripple frequency.
JP2000120438A 2000-04-21 2000-04-21 Motor control device and correction value measuring method for suppressing torque ripple used in the same Expired - Fee Related JP3816725B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000120438A JP3816725B2 (en) 2000-04-21 2000-04-21 Motor control device and correction value measuring method for suppressing torque ripple used in the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000120438A JP3816725B2 (en) 2000-04-21 2000-04-21 Motor control device and correction value measuring method for suppressing torque ripple used in the same

Publications (2)

Publication Number Publication Date
JP2001309687A JP2001309687A (en) 2001-11-02
JP3816725B2 true JP3816725B2 (en) 2006-08-30

Family

ID=18631252

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000120438A Expired - Fee Related JP3816725B2 (en) 2000-04-21 2000-04-21 Motor control device and correction value measuring method for suppressing torque ripple used in the same

Country Status (1)

Country Link
JP (1) JP3816725B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005247574A (en) * 2004-03-08 2005-09-15 Mitsubishi Electric Corp Elevator control device
JP5084196B2 (en) * 2006-08-09 2012-11-28 三菱電機株式会社 Electric motor control apparatus and electric motor control method
JP5371419B2 (en) * 2008-12-26 2013-12-18 キヤノン株式会社 Method for controlling motor in equipment
CN113767565B (en) * 2019-05-09 2023-09-29 松下知识产权经营株式会社 Motor control system, motor control method, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08223920A (en) * 1995-02-17 1996-08-30 Hitachi Ltd Method and apparatus for control of comparator, and correction method of converter ac current used for them
JP3411490B2 (en) * 1997-12-25 2003-06-03 シャープ株式会社 Motor speed control device
JPH11299277A (en) * 1998-04-14 1999-10-29 Yaskawa Electric Corp Motor torque correction device and motor driving device provided with the same

Also Published As

Publication number Publication date
JP2001309687A (en) 2001-11-02

Similar Documents

Publication Publication Date Title
JP5446988B2 (en) Torque ripple suppression control device and control method for rotating electrical machine
US8395345B2 (en) Valve control device
JP5326429B2 (en) Electric motor pulsation suppression device
JP5277787B2 (en) Synchronous motor drive control device
WO2002038332A1 (en) Servocontrol device
JP7072728B2 (en) Power converter control device and motor drive system
KR102515704B1 (en) Control device, control method, and motor driving system for power conversion device
JP5936770B2 (en) Rotating machine control device
CN112271970B (en) Permanent magnet synchronous motor vector control method, equipment and storage medium
JPH03270658A (en) Imbalance correcting device for rotor
JP2016144389A (en) Method and system for controlling rotor angular speed of induction motor
JP6789459B1 (en) Motor inductance measuring device, motor drive system, and motor inductance measuring method
JP3816725B2 (en) Motor control device and correction value measuring method for suppressing torque ripple used in the same
TW201415786A (en) A controlling method of synchronous reluctance motor
JP5386859B2 (en) Motor torque ripple suppression device
JP2015509357A (en) Control of permanent magnet electric machine
JP2010035352A (en) Device for estimating rotor position of synchronous electric motor
JP3920750B2 (en) DC brushless motor control device
CN103155404A (en) Microstep drive control device for stepping motor
CN113708684B (en) Permanent magnet synchronous motor control method and device based on extended potential observer
JP6664288B2 (en) Motor control device
CN110798113B (en) Phase compensator of permanent magnet synchronous motor
JP2013027134A (en) Control device
WO2023243087A1 (en) Electric motor control device
JP7212243B2 (en) Rotating machine control device and control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041115

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20041115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060314

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060510

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060608

R150 Certificate of patent or registration of utility model

Ref document number: 3816725

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110616

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120616

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130616

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees