(57)【特許請求の範囲】
【請求項１】
ＡＣサーボモータの駆動電流とロータ位相とからｄ−ｑ変換によって磁界の作る磁束方向のｄ相電流を求め、該ｄ相電流が零となるように制御を行なうＡＣサーボモータの電流制御方法において、
指令電圧値が電力増幅器の制限を超える電圧飽和状態であって減速時には、ｄ相電流から形成される補正値をｑ相電流指令に加えてｑ相電流指令を小さくすることを特徴とするＡＣサーボモータの電流制御方法。
【請求項２】
前記電圧飽和状態において、電流ループにおける電流指令の積分項の値を変更し、電圧リミット値にクランプした電圧指令を出力することを特徴とする請求項１記載のＡＣサーボモータの電流制御方法。
【請求項３】
前記ＡＣサーボモータの電圧飽和はｄ相電圧とｑ相電圧を成分とするベクトルの大きさが電力増幅器の電圧リミット値を超えたことにより検知することを特徴とする請求項１，又は２記載のＡＣサーボモータの電流制御方法。
【請求項４】
前記ＡＣサーボモータの減速はモータの回転とｑ相電流指令の極性により検知することを特徴とする請求項１，又は２記載のＡＣサーボモータの電流制御方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、工作機械や産業機械等の機械，装置やロボットの駆動源として使用されるＡＣサーボモータの電流制御方法に関する。
【０００２】
【従来の技術】
図１１は従来から行なわれているＡＣサーボモータの制御系のブロック線図である。位置指令からエンコーダ等で検出される位置フィードバック値を減じて位置偏差を求め、該位置偏差にポジションゲインを乗じて位置ループ制御（１）を行なって速度指令を求め、この速度指令から速度フィードバック値を減じて速度偏差を求め、比例，積分制御等の速度ループ処理（２）を行いトルク指令（電流指令）を求める。さらに、このトルク指令から電流フィードバック値を減じて電流ループ処理（３）を行い各相の電圧指令を求めてＰＷＭ制御等を行いＡＣサーボモータＭを制御している。
上記制御系において、電流ループとして、従来は例えば３相ＡＣサーボモータの場合では３相電流を別々に制御する方式が一般的である。図１２は上記３相電流を別々に制御する電流ループ処理の詳細図である。
【０００３】
速度ループ処理で求められたトルク指令（電流指令）にエンコーダ等で検出されたサーボモータのロータ位置θよりＵ，Ｖ，Ｗ相に対して電気角でそれぞれ２π／３ずれた正弦波を乗じて各相の電流指令を求め、該電流指令から電流検出器で検出される各相の実電流Ｉｕ，Ｉｖ，Ｉｗを減じて電流偏差を求め、各相電流制御器５ｕ，５ｖ，５ｗで比例積分（ＰＩ）制御等を行なって各相の指令電圧Ｅｕ，Ｅｖ，Ｅｗを電力増幅器６に出力する。電力増幅器６ではインバータ等でＰＷＭ制御を行なって各相の電流Ｉｕ，Ｉｖ，ＩｗをサーボモータＭに流し駆動することになる。
以上のように、ＡＣサーボモータにおいては、位置，速度ループの最も内側のマイナーループに電流ループを持ち、この電流ループはＡＣサーボモータの各相に流す電流をそれぞれ制御するループとなっている。
【０００４】
上記３相電流を別々に制御する方式の場合には、モータの回転速度が上昇すると電流指令の周波数も上昇し、電流位相が徐々に遅れるため電流の無効成分が多くなり、トルクを効率よく発生することができなくなるという欠点があり、また、制御量として交流を扱っているため、定速度回転かつ定負荷時における定常状態においてさえも、指令に対する位相の遅れや振幅の減衰等の偏差が存在し、直流モータと同程度のトルク制御を実現することが困難である。
この欠点を改善する方法として、３相電流をｄ−ｑ変換してｄ相，ｑ相の２相に変換した後にそれぞれの相を制御する方法が知られている。このｄ−ｑ変換を利用する方法は、電流を直流として制御するので制御系の位相遅れがなく、トルク特性が３相電流を別々に制御する場合と比較して改善されることが知られている。ｄ−ｑ変換においては、ｄ軸は磁界の作る磁束の方向にとることが一般的であり、図１３に示すようにロータの永久磁石の磁束の向きにｄ軸をとり、該ｄ軸に直交する向きにｑ軸をとっている。
【０００５】
図１４はＡＣサーボモータの従来の制御をｄ−ｑ変換して制御するときのブロック線図である。ｄ相の電流指令を「０」とし、ｑ相の電流指令を速度ループから出力されるトルク指令とし、モータの各ｕ，ｖ，ｗ相の実電流（いずれかから２相を検出すればよい）及びロータ位置検出器で検出されたロータの位相から、３相電流から２相電流へ変換する手段９でｄ相，ｑ相の電流Ｉｄ，Ｉｑを求めて上記各相指令値から減じてｄ相，ｑ相の電流偏差を求め、電流制御器５ｄ，５ｑで従来と同様にして比例，積分制御を行い、ｄ相指令電圧及びｑ相指令電圧Ｖｄ，Ｖｑを求める。そして、２相電圧から３相電圧に変換する手段８は、この２相の指令電圧Ｖｄ，ＶｑからＵ，Ｖ，Ｗ相の指令電圧Ｖｕ，Ｖｖ，Ｖｗを求め、電力増幅器６に出力してインバータ等でサーボモータの各相に対して電流Ｉｕ，Ｉｖ，Ｉｗを流してサーボモータを制御する構成となっている。
【０００６】
次に、このｄ−ｑ変換を利用する電流制御方法について解析する。交流電動機において３相交流で表した回路方程式は次の式（１）で表される。
【０００７】
【数１】
0003751991.tif 000002
上記式（１）の左辺はモータのＵ，Ｖ，Ｗ相の電圧であり、右辺例えば第１項の左側の行列はインピーダンス行例であり、Ｒは巻線抵抗、Ｌは巻線の自己インダクタンス、Ｍは相互インダクタンスで、Ｐは微分演算子である。また、右辺第１項右側のベクトルは各相電流Ｉｕ，Ｉｖ，Ｉｗのベクトルであり、右辺第２項は各相の巻線が誘起する起電力ｅｕ，ｅｖ，ｅｗである。そこで、式（２）で表される３相交流座標系から２相交流座標系に変換する交流行列Ｃ１、及び式（３）で表される２相交流座標系から３相交流座標系に変換する交流行列Ｃ２を用いて上記式（１）を変換すると、いわゆるｄ−ｑ変換を行なう式（４）が得られる。
【０００８】
【数２】
0003751991.tif 000003
【０００９】
【数３】
0003751991.tif 000004
【００１０】
【数４】
0003751991.tif 000005
なお、上記式（３）において、θはロータの電気角（ｕ相の巻線を基準として時計回りの方向にとった界磁の角度）であり、式（４）におけるωはロータの角速度（電気角）、Φは巻線鎖交磁束数の最大値である。上記式（４）より、磁界の作る磁束方向のｄ相電流Ｉｄを「０」に制御し、ｑ相電流Ｉｑについてのみ、その大きさを制御するようにすると、直流サーボモータと同じ制御が行なえることを意味している。
そして、上記変換行列Ｃ１，Ｃ２と３相の電圧，電流の合計が「０」である関係、すなわち、Ｖｕ＋Ｖｖ＋Ｖｗ＝０、Ｉｕ＋Ｉｖ＋Ｉｗ＝０の関係から、３相電圧Ｖｕ，Ｖｖ，Ｖｗと２相電圧Ｖｄ，Ｖｑ、及び３相電流Ｉｕ，Ｉｖ，Ｉｗと２相電流Ｉｄ，Ｉｑの関係は次の式（５），式（６）が成立する。
【００１１】
【数５】
0003751991.tif 000006
【００１２】
【数６】
0003751991.tif 000007
そこで、図１４における手段９において、上記式（６）の演算を行って２相電流のＩｄ，Ｉｑを求めて各相の電流フィードバックとし、また、上記手段８において、上記式（５）の演算を行って２相電圧Ｖｄ，Ｖｑから３相電流Ｖｕ，Ｖｖ，Ｖｗを求めることによって、ｄ−ｑ変換を利用してサーボモータの電流制御を行なう方法が得られる。
【００１３】
【発明が解決しようとする課題】
前記したように、３相交流を２相直流に座標変換して直流制御方式を採用することによって、電流ループゲインを必要以上に高く設定することなく定常偏差を低減することができる。しかしながら、実際に直流制御方式を実現する場合には、高速回転において電流指令が電力増幅器の制限を超えるような場合、いわゆる電圧飽和が発生する。この電圧飽和では電流制御が困難となり、加速の場合には電流が流れなくなる方向に働くが、減速の場合には電流が増加する方向にはたらき、電力増幅器の素子を破損したりモータの減磁を引き起こす要因となる。
【００１４】
電流ループは通常２次の制御系で構成されており、電動機の回転数が高くなるにつれて各電流ループに対する入力周波数が高くなって位相遅れとゲインの低下が生じる。位相遅れについては位相進め制御によって補償することができるが、ゲインの低下は補償されない。そのため、指令に対して実電流の振幅は小さくなり、実電流の振幅が電流リミッタのリミット値より小さい場合でも、指令が実質的にリミットされるという場合が生じる。また、減速時には電動機の逆起電圧が電動機の電圧の印加方向と同じ方向に働き、電流リミッタのリミット値を超える場合が生じる。つまり、減速時には電動機へ流す電流の方向は電動機の回転方向と逆であり、逆起電力の方向と同一となるため、指令に逆起電力が加算されて実電流の最大値がリミット値を超える場合が生じ、トランジスタ等の制御素子や電動機自体を破損させる場合がある。
【００１５】
そこで、本発明は前記した従来の問題点を解決して、電圧飽和状態における減速時の電流の増大を抑制するＡＣサーボモータの電流制御方法を提供することを目的とする。
【００１６】
【課題を解決するための手段】
本発明は、ＡＣサーボモータの駆動電流とロータ位相とからｄ−ｑ変換によって磁界の作る磁束方向のｄ相電流を求め、該ｄ相電流が零となるように制御を行なうＡＣサーボモータの電流制御方法において、指令電圧値が電力増幅器の制限を超える電圧飽和状態であって減速時には、ｄ相電流をｑ相電流指令に加えることにより、前記目的を達成するものである。
【００１７】
本発明の指令電圧値が電圧飽和状態であるか、モータが減速時であるか等の判定は、電流指令を比例積分する電流制御器と電力増幅器側へのｄ−ｑ変換器との間に設けた電圧飽和処理ブロックにより行なうことができ、電流制御器からの電圧指令値とモータからの速度とを入力とし、その判定結果は、ｄ相電流をｑ相電流指令に加えるｑ相電流指令補正ブロック及び電流制御器の積分器に出力される。
また、電圧飽和状態において、電流ループにおける電流指令の積分項の値を変更し電圧リミット値にクランプした電圧指令を出力することにより、制御出力がクランプされたことによる制御偏差の増大，電流ループ中の積分器の値の増大を抑制するものである。
また、本発明のＡＣサーボモータの電流制御方法において、ＡＣサーボモータの電圧飽和ブロックはｄ相電圧とｑ相電圧を成分とするベクトルの大きさが電力増幅器の電圧リミット値を超えたことにより検知し、また、ＡＣサーボモータの減速はモータの回転とｑ相電流指令の極性により検知する。
【００１８】
【作用】
電力増幅器からＡＣサーボモータに供給される駆動電流を、モータの各ｕ，ｖ，ｗ相の中のいずれか２相の実電流を測定することによって求め、また、ロータ位置検出器によりロータの位相を求める。３相電流から２相電流へ変換する手段は、この求めた実電流とロータ位相から前記式（６）によるｄ−ｑ変換の演算を行ってｄ相，ｑ相の電流Ｉｄ，Ｉｑを求める。
次に、各相指令値から前記ｄ相電流Ｉｄ，ｑ相電流Ｉｑを減じてｄ相，ｑ相の電流偏差を求め、電流制御器において比例，積分制御を行い、ｄ相指令電圧Ｖｄ及びｑ相指令電圧Ｖｑを求める。
【００１９】
電圧飽和処理ブロックは、このｄ相指令電圧Ｖｄ，ｑ相指令電圧Ｖｑとモータからの速度を入力して、ｄ相指令電圧とｑ相指令電圧を成分とするベクトルの大きさと電力増幅器の電圧リミット値との比較により電圧飽和の検知を行い、また、ｑ相電流Ｉｑと速度からモータが加速状態かあるいは減速状態かの判定を行なう。
この電圧飽和処理ブロックにおいて電圧飽和状態でかつ減速と判定された場合には、その結果をｑ相電流指令補正ブロックに知らせてｄ相電流を使用してｑ相電流指令を小さくする。これにより、電圧飽和時の減速時における電流増加を防ぎ、電力増幅器の破損やモータの減磁作用を阻止する。
また、電圧飽和処理ブロックにおける判定結果は、電流制御器の積分項の値を変更したり、電圧指令の電力増幅器の電圧リミット値にクランプする処理を行なわせる。
【００２０】
【実施例】
以下、本発明の実施例を図を参照しながら詳細に説明する。
（本発明を実施するための構成例）
図１は、本発明の電流制御方法を実施するときのブロック線図である。図１のブロック線図は前記図１４に示した従来のＡＣサーボモータのｄ−ｑ変換による制御ブロック線図において、電圧飽和処理ブロック１０とｑ相電流指令補正ブロック１１の点で相違している。
図１に示すブロック線図は以下のような構成となっている。ｄ相の電流指令Ｉｄを「０」とし、ｑ相の電流指令Ｉｑを速度ループから出力されるトルク指令とし、３相電流から２相電流へ変換する手段９において、ＡＣサーボモータＭの各ｕ，ｖ，ｗ相の実電流（いずれかから２相を検出すればよい）及びロータ位置検出器で検出されたロータの位相θをｄ−ｑ変換してｄ相電流Ｉｄ，ｑ相電流Ｉｑを求め、さらに上記各相指令値Ｉｄ，Ｉｑからこのｄ相電流Ｉｄ，ｑ相電流Ｉｑを減じてｄ相，ｑ相の電流偏差を求め、この電流偏差を積分器１２ｄ，１２ｑ及び積分ゲインがｋ１の積分ゲインブロック１３ｄ，１３ｑと、比例ゲインがｋ２の比例ブロック１４ｄ，１４ｑによって比例積分制御を行ない、ｄ相指令電圧Ｖｄ，ｑ相指令電圧Ｖｑを求める。なお、この積分器１２，積分ゲインブロック１３，比例ブロック１４は電流制御器を構成している。
【００２１】
そして、本発明の電圧飽和処理ブロック１０は前記電流制御器に次に設けられるブロックであり、ｄ相指令電圧Ｖｄ，ｑ相指令電圧Ｖｑ、さらにトルク指令及びＡＣサーボモータＭの速度ωを入力信号としている。電圧飽和処理ブロック１０は電圧指令が飽和したか否かの判定及びモータが減速中であるかあるいは加速中であるかの判定を行なう機能を備えたブロックである。
この中、電圧飽和の判定は、例えば次式（７）で示される条件によって行なうことができる。
Ｖｑ2 ＋Ｖｑ2 ＞Ｖｌｉｍｉｔ2                             …（７）
なお、Ｖｌｉｍｉｔは電圧リミット値である。
また、モータの加減速の判定は、例えばω・Ｉｑ＊の正負の判定によって行なうことができる。なお、ωはモータの速度であり、Ｉｑ＊はｑ相のトルク指令値（ｑ相電流指令値）である（以下、ｑ相電流指令値をＩｑ＊によって表す）。
【００２２】
電圧飽和処理ブロック１０は、電圧飽和状態でかつ減速の場合にはその結果をｑ相電流指令補正ブロック１１に知らせる。このｑ相電流指令補正ブロック１１は、３相電流から２相電流へ変換する手段９から得られたｄ相電流Ｉｄをｑ相電流指令値に加える機能を備えるブロックであり、例えば、以下の式（８），（９）に示される補正値Ｉｃを演算して加算しｑ相電流指令値Ｉｑ＊を変更するものである。
Ｉｑ＊≧０      Ｉｃ＝ｋ・Ｉｄ
Ｉｑ＊≦０      Ｉｃ＝−ｋ・Ｉｄ                          …（８）
Ｉｑ＊←Ｉｑ＊＋Ｉｃ                                      …（９）
なお、ｋは補正係数である。
【００２３】
また、電圧飽和処理ブロック１０は、電圧飽和状態の場合において電流制御器の積分項１２，１３の値ｓｕｍｄ，ｓｕｍｑを書換えを行なう。この書換えは、加速状態か減速状態かに応じて相違している。
積分項１２，１３値ｓｕｍｄ，ｓｕｍｑは、加速及び減速に応じて例えば以下の式（１０）に示される値に書き替えられる。
0003751991.tif 000008
また、電圧指令についても電圧リミット値にクランプする。
【００２４】
さらに、２相電圧から３相電圧に変換する手段８は、電圧飽和処理ブロック１０で飽和処理された２相の指令電圧Ｖｄ，ＶｑからＵ，Ｖ，Ｗ相の指令電圧Ｖｕ，Ｖｖ，Ｖｗを求め、電力増幅器６に出力してインバータ等でサーボモータの各相に対して電流Ｉｕ，Ｉｖ，Ｉｗを流してサーボモータＭの制御を行なう。
【００２５】
（本発明の実施例の作用）
次に、本発明の実施例の作用について説明する。
（Ａ）加速時（速度は正方向）
（１）ｑ相電流指令補正処理
電圧飽和処理ブロック１０において、電圧飽和状態でかつ減速の場合にはその結果がｑ相電流指令補正ブロック１１に知らせられてｑ相電流指令補正処理が行なわれるが、加速時には、ｑ相電流指令補正ブロック１１に対して該ブロックを駆動する信号は出力されず、ｑ相電流指令は速度ループから入力されたトルク指令をそのまま使用することになる。
【００２６】
（２）指令電圧のクランプ，及び飽和処理
ｄ−ｑ変換を利用する電流制御においては、磁束の方向と同じ向きのｄ相電流を「０」とし、ｄ相電流Ｉｄと直交するｑ相電流Ｉｑをトルク指令に追従させるよう制御するため、Ｉｄ＝０，Ｉｑ＞であり、正方向に回転しかつ加速時であるためロータの角速度ωは正である。したがって、前記式（４）によるｄ相電圧とｑ相電圧をベクトル図で表すと図２となる。
このｄ相電圧Ｖｄとｑ相電圧Ｖｑの構成ベクトル電圧Ｖｃが電圧リミット値Ｖｌｉｍｉｔを超えた場合に、この合成ベクトルＶｃの位相を変えずに、大きさをＶｌｉｍｉｔとした電圧Ｖｃ’に変換して、指令電圧のクランプを行なうと、この関係は以下の式（１１），（１２）によって表すことができる。
Ｖｄ＝Ｖｌｉｍｉｔ・ｓｉｎθ                            …（１１）
Ｖｑ＝Ｖｌｉｍｉｔ・ｃｏｓθ                            …（１２）
なお、位相θはｔａｎθ＝Ｖｄ／Ｖｑの関係にある。
【００２７】
前記クランプ処理により生じる位相ずれを調整するため、積分器に対して飽和処理を行なう必要がある。合成電圧Ｖｃが電圧リミット値Ｖｌｉｍｉｔを超えていない場合におけるｄ相電圧及びｑ相電圧と電流（ただしＩｄ＝０）の関係は図３で表される。
ここで、ｄ相電圧及びｑ相電圧が上昇して合成電圧Ｖｃが電圧リミット値Ｖｌｉｍｉｔを超えてクランプされると、ｑ相電流Ｉｑによってｄ相電圧Ｖｄ側に（−ωＬ・Ｉｑ）の負電圧が生ずるが、ｄ相電圧Ｖｄはクランプされているためこの（−ωＬ・Ｉｑ）の達することができず、図４に示すように正のｄ相電流が流れ、ｑ相電圧Ｖｑは（ωＬ・Ｉｄ）が付加されて
Ｖｑ＝ωΦ＋Ｚ・Ｉｑ＋ωＬ・Ｉｄ                        …（１３）
となり、ｑ相電圧Ｖｑは増加することになる。
【００２８】
このことは、電圧飽和によってクランプすると、ｄ相電流Ｉｄの増加に従ってｄ相電圧Ｖｄは減少し、ｑ相電圧Ｖｑが増加することを示し、図２の破線で示す合成ベクトル電圧Ｖｃ”の方向に位相θが減少することになる。ｄ相電流Ｉｄの増加し位相θが遅れると発生トルクが減少することになる。
そこで、この実施例では、ｑ相の積分器の値を書き替えることによってｄ相電流Ｉｄの増加の防止を行なう。
【００２９】
この実施例では、例えば、前記式（１０）中に示したように、ｑ相の積分項の値ｓｕｍｑを（Ｖｑ＋ｋ２・Ｉｑ）／ｋ１に書き替えることにより、このｑ相の積分器の値を書き替えとクランプとを行なうことができる。図１において、電圧飽和時にｑ相の積分項の値ｓｕｍｑを（Ｖｑ＋ｋ２・Ｉｑ）／ｋ１に書き替えると、電流制御器から得られる出力はＶｑとなり、積分器の飽和処理を行なうとともに指令電圧をクランプすることができる。
【００３０】
（Ｂ）減速時（速度は正方向）
（１）ｑ相電流指令補正処理
この場合には、電圧飽和処理ブロック１０において、電圧飽和状態でかつ減速の場合にはその結果がｑ相電流指令補正ブロック１１に知らせられ、ｑ相電流指令補正処理が行なわれる。ｑ相電流指令補正ブロック１１では、該知らせに応じて、前記式（８），（９）の演算を行なって、ｑ相電流指令Ｉｑ＊に補正値Ｉｃ（＝ｓｉｇｎ（Ｉｑ＊）ｋ・Ｉｄ）を加えて（Ｉｑ＊＋Ｉｃ）とする。
ｄ相電流Ｉｄを使用してｑ相電流指令Ｉｑ＊を小さくすることによってｑ相電流Ｉｑの増加は抑制されることになる。したがって、電圧飽和時の減速時における電流増加は抑えられ、これによって、電力増幅器の破損やモータの減磁作用が阻止されることになる。
なお、このとき、補正係数ｋを調整することによって、ｑ相電流指令Ｉｑ＊の補正の程度を調節することができる。
【００３１】
（２）指令電圧のクランプ，及び飽和処理
減速時において、指令電圧が飽和していない状態では、Ｉｄ＝０，Ｉｑ＜０，ω＞０であるから、前記式（４）によるｄ相電圧とｑ相電圧をベクトル図で表すと図５となる。
なお、図５の（ｂ）はｄ相電圧Ｖｄを示し、図５の（ａ）は｜Ｚ・Ｉｑ｜＞｜ωΦ｜の場合のｑ相電圧Ｖｑ（＜０）を示し、図５の（ｃ）は｜Ｚ・Ｉｑ｜＜｜ωΦ｜の場合のｑ相電圧Ｖｑ（＞０）を示している。
ここで、高速回転時のｑ相電圧Ｖｑは、｜Ｚ・Ｉｑ｜＜｜ωΦ｜となるから図５の（ｃ）で示される。この状態で、ｄ相電圧Ｖｄがクランプされると図６の（ａ）に示すようにｄ相電流Ｉｄが流れることになり、これにともなって、ｑ相電圧Ｖｑは図６の（ｂ）に示すように減少する。したがって、ｄ相電流の増加に従って、ｄ相電圧Ｖｄ，ｑ相電圧Ｖｑは減少することになる。このことは、指令電圧のベクトル位相に変化は生じないことを意味している。
【００３２】
そこで、この実施例では、ｄ相及びｑ相の積分器の値を書き替えることによってｄ相電流Ｉｄの増加の防止を行なう。
この実施例では、例えば、前記式（１０）中に示したように、ｄ相の積分項の値ｓｕｍｄを（Ｖｄ＋ｋ２・Ｉｄ）／ｋ１に書き替え、ｑ相の積分項の値ｓｕｍｑを（Ｖｑ＋ｋ２・Ｉｑ）／ｋ１に書き替えることにより、このｄ相，ｑ相の積分器の値を書き替えとクランプとを行なうことができる。図１において、電圧飽和時にｄ相の積分項の値ｓｕｍｄを（Ｖｄ＋ｋ２・Ｉｄ）／ｋ１に書き替え、ｑ相の積分項の値ｓｕｍｑを（Ｖｑ＋ｋ２・Ｉｑ）／ｋ１に書き替えると、電流制御器から得られる出力はそれぞれＶｄ，ｑとなり、積分器の飽和処理を行なうとともに指令電圧をクランプすることができる。
【００３３】
（本発明の実施例を適用するサーボモータモータの構成例）
図８は、本発明の実施例を適用したサーボモータ制御系のブロック図であり、その構成は従来のデジタルサーボ制御を行なう装置と同一の構成であるため、概略的に示している。図８において、２０はコンピュータを内蔵した数値制御装置（ＣＮＣ）、２１は共有ＲＡＭ、２２はプロセッサ（ＣＰＵ），ＲＯＭ，ＲＡＭ等を有するデジタルサーボ回路、２３はトランジスタインバータ等の電力増幅器、ＭはＡＣサーボモータ、２４はＡＣサーボモータＭの回転とともにパルスを発生するエンコーダ、２５はロータ位相を検出するためのロータ位置検出器である。
図７は上記デジタルサーボ回路２２のプロセッサが所定周期毎に実施する電流ループ制御処理のフローチャートである。デジタルサーボ回路２２のプロセッサは、数値制御装置（ＣＮＣ）から指令された位置指令（もしくは速度指令）を共有ＲＡＭ２１を介して読み取り位置ループ処理，速度ループ処理を行なう。
【００３４】
まず、速度ループ処理によって出力されたトルク指令Ｉｑ＊を読むとともに（ステップＳ１）、ロータ位置検出器２５からロータ位相θを取り込む（ステップＳ２）。
次に、電流検出器で検出されるＵ相，Ｖ相の実電流Ｉｕ，Ｉｖを取込み（ステップＳ３）、取り込んだＵ相，Ｖ相の実電流Ｉｕ，Ｉｖとロータ位相θより前記式（６）の演算を行なってｄ相，ｑ相の電流Ｉｄ，Ｉｑを算出し（ステップＳ４）該ｄ相電流Ｉｄをフィードバック電流とし、ｄ相電流指令を「０」として、通常の電流ループ処理（比例積分制御）を行いｄ相指令電圧Ｖｄを求める。また、ステップＳ１で読み取ったトルク指令をｑ相の電流指令とし、ステップＳ４で算出したｑ相の電流値Ｉｑをフィードバック電流として電流ループ処理を行ってｑ相の電圧指令Ｖｑを求める（ステップＳ５）。
【００３５】
次に、ステップＳ５で求めたｄ相，ｑ相指令電圧Ｖｄ，Ｖｑの合成ベクトルＶｃがクランプ電圧である電圧リミット値Ｖｌｉｍｉｔを超えるか否かの判定を行なう。すなわち、（Ｖｄ2 ＋Ｖｑ2 ）の値がＶｌｉｍｉｔ2 の値より大きいか否かの判定を行なう（ステップＳ６）。
合成ベクトルＶｃが電圧リミット値Ｖｌｉｍｉｔを超えない場合には、ステップＳ１３に進んで、ステップＳ５で算出したｄ相，ｑ相の電圧を指令電圧とし、該電圧をｄ−ｑ変換してＵ，Ｖ，Ｗ相の電圧指令値を求め出力する（ステップＳ１３）。
また、ステップＳ６において、合成ベクトルＶｃが電圧リミット値Ｖｌｉｍｉｔを超えている場合には、ω・Ｉｑの符号によって加速状態であるかあるいは減速状態であるかの判定を行なう（ステップＳ７）。
【００３６】
ステップＳ７の判定で、モータが正方向に回転し（ω＞０），トルク指令Ｉｑ＊が正の場合、あるいはモータが負方向に回転し（ω＜０），トルク指令Ｉｑ＊が負の場合であって加速状態の場合には、ステップＳ９に進んで比例積分制御を行なってｄ相電圧Ｖｄ及びｑ相電圧Ｖｑを算出する（ステップＳ９）。
また、ステップＳ７の判定で、モータが正方向に回転し（ω＞０），トルク指令Ｉｑ＊が負の場合、あるいはモータが負方向に回転し（ω＜０），トルク指令Ｉｑ＊が正の場合であって減速状態の場合には、ステップＳ８においてｑ相電流指令補正の処理を行なう。ｑ相電流指令補正の処理は、ステップＳ４で求めたｄ相電流Ｉｄに係数ｋを乗じたＩｄ・ｋをＩｑ＊の符号に応じてトルク指令Ｉｑ＊に加えることによって行なうことができる。その後、このｑ相電流指令補正を行なったｑ相電流をステップＳ９の比例積分制御によりｄ相電圧Ｖｄ及びｑ相電圧Ｖｑを算出する。
【００３７】
次に、フローチャート中の破線の囲みで示したステップＳ１０〜ステップＳ１２からなる電圧飽和処理を行なう。
電圧飽和処理では、減速時及び加速時においてｑ相の積分項ｓｕｍｑを（Ｖｑ＋ｋ２・Ｉｑ）／ｋ１に書換え（ステップＳ１０）、加速時においてのみ（ステップＳ１１）ｄ相の積分項ｓｕｍｄを（Ｖｄ＋ｋ２・Ｉｄ）／ｋ１に書換える  （ステップＳ１２）。
なお、ステップＳ１１の判定は、前記ステップＳ７における判定と同様にモータ速度ωの符号とトルク指令Ｉｑ＊の符号によって判定することができる。
前記工程によって得られたｄ相電圧Ｖｄとｑ相電圧Ｖｑを前記式（５）に示すｄ−ｑ変換によってＵ，Ｖ，Ｗ相の電圧指令値を算出して出力し（ステップＳ１３，ステップＳ１４）、当該周期の電流ループ処理を終了する。
【００３８】
（実施例の効果）
図９及び図１０は本発明の実施例によるシミュレーション結果を示すものであり、図１０の（ｂ）は図９に示すような−５０００ｒｐｍから５０００ｒｐｍまでのステップ加減速を印加した場合の電流値を表している。図１０の（ｂ）に示す電流では、電流リミット内に制御されている。これに対して、図１０の（ａ）は従来の制御方式によるシミュレーション結果であり、電流リミットオーバーが生じていることを示している。
なお、図９中に示すａ，ｂ，ｃは図１０中に示すａ，ｂ，ｃと対応している。
【００３９】
【発明の効果】
以上説明したように、本発明によれば、電圧飽和状態における減速時の電流の増大を抑制するＡＣサーボモータの電流制御方法を提供することができる。
【図面の簡単な説明】
【図１】本発明の電流制御方法を実施するときのブロック線図である。
【図２】ｄ相，ｑ相指令電圧の関係を説明するための図である。
【図３】加速時におけるｄ相，ｑ相電圧の説明図である。
【図４】加速時において電圧指令が飽和したときのｄ相，ｑ相電圧の説明図である。
【図５】減速時におけるｄ相，ｑ相電圧の説明図である。
【図６】減速時において電圧指令が飽和したときのｄ相，ｑ相電圧の説明図である。
【図７】本発明のデジタルサーボ回路のプロセッサが実施する電流ループ処理のフローチャートである。
【図８】本発明の一実施例のデジタルサーボ系のブロック図である。
【図９】本発明の実施例によるシミュレーション結果を示す図である。
【図１０】本発明の実施例によるシミュレーション結果を示す図である。
【図１１】従来から行なわれているＡＣサーボモータの制御系のブロック線図である。
【図１２】従来のＡＣサーボモータの制御系の３相電流を別々に制御する電流ループ処理の詳細図である。
【図１３】ｄ−ｑ変換の座標系を説明する図である。
【図１４】電流制御をｄ−ｑ変換して行なう電流制御部のブロック図である。
【符号の説明】
６  電力増幅器
８  ２相−３相変換器
９  ３相−２相変換器
１０  電圧飽和処理ブロック
１１  ｑ相電流指令補正
Ｖｄ  ｄ相電圧指令
Ｖｑ  ｑ相電圧指令
Ｉｄ  ｄ相電流指令
Ｉｑ  ｑ相電流指令
【図１】
0003751991.tif 000009
【図２】
0003751991.tif 000010
【図３】
0003751991.tif 000011
【図４】
0003751991.tif 000012
【図５】
0003751991.tif 000013
【図６】
0003751991.tif 000014
【図７】
0003751991.tif 000015
【図８】
0003751991.tif 000016
【図９】
0003751991.tif 000017
【図１０】
0003751991.tif 000018
【図１１】
0003751991.tif 000019
【図１２】
0003751991.tif 000020
【図１３】
0003751991.tif 000021
【図１４】
0003751991.tif 000022