(57)【特許請求の範囲】
【請求項１】
サーボモータのＤＱ変換による電流制御において、
電圧指令飽和時にはＤ相の電流制御ループの積算器の書換えを行う飽和処理を減速時にのみ行うことを特徴とするサーボモータの電流制御方法。
【請求項２】
前記飽和処理は、積算器の値を（Ｖd＋ｋ2・Ｉdfb）／ｋ1に書換えることを特徴とする、請求項１に記載のサーボモータの電流制御方法。
Ｖd：クランプされたＤ相電圧
ｋ1：電流ループの積算ゲイン
ｋ2：電流ループの比例ゲイン
Ｉdfb：Ｄ相のフィードバック電流
【請求項３】
サーボモータのＤＱ変換による電流制御において、
加速中の電圧指令飽和時にはQ相の電流制御ループの積算器のみの値を（Ｖq＋ｋ2・Ｉqfb）／ｋ1に書換える飽和処理を行うことを特徴とするサーボモータの電流制御方法。
Ｖq：クランプされたＱ相電圧
ｋ1：電流ループの積算ゲイン
ｋ2：電流ループの比例ゲイン
Ｉqfb：Ｑ相のフィードバック電流
【請求項４】
サーボモータのＤＱ変換による電流制御において、
減速時の電圧指令飽和時には、
Ｄ相の電流制御ループの積算器の値を（Ｖd＋ｋ2・Ｉdfb）／ｋ1に書換え、
Q相の電流制御ループの積算器の値を（Ｖq＋ｋ2・Ｉqfb）／ｋ1に書換える飽和処理を行うことを特徴とするサーボモータの電流制御方法。
Ｖd：クランプされたＤ相電圧
Ｖq：クランプされたＱ相電圧
ｋ1：電流ループの積算ゲイン
ｋ2：電流ループの比例ゲイン
Ｉdfb：Ｄ相のフィードバック電流
Ｉqfb：Ｑ相のフィードバック電流
【請求項５】
前記電圧指令飽和は、Ｄ相およびＱ相の電圧指令のベクトル和が電力増幅器の電圧リミット値を超えたことにより判定することを特徴とする請求項１乃至４の何れかに記載のサーボモータの電流制御方法。
【請求項６】
前記サーボモータの減速は、モータの回転方向とＱ相電流指令の正負の符号により判定することを特徴とする請求項１乃至５の何れかに記載のサーボモータの電流制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、工作機械や産業用機械等の機械装置やロボットの駆動源として使用されるＡＣサーボモータの電流制御方法に関する。
【０００２】
【従来の技術】
図１０は、従来から行われているＡＣサーボモータの制御系のブロック線図である。位置指令からエンコーダ等で検出される位置フィードバック値を減じて位置偏差を求め、該位置偏差にポジションゲインを乗じて位置ループ制御を行って速度指令を求め、この速度指令から速度フィードバック値を減じて速度偏差を求め、比例・積分制御等の速度ループ処理を行いトルク指令（電流指令）を求める。さらに、このトルク指令から電流フィードバック値を減じて電流ループ処理を行い各相の電圧指令を求めてＰＷＭ制御等を行いＡＣサーボモータＭを制御している。
【０００３】
このような制御系において、電流ループとして、３相ＡＣサーボモータの場合では３相電流を別々に制御する交流電流制御方式が知られている。このような電流制御方式では、速度ループ処理で求められたトルク指令（電流指令）にエンコーダ等で検出されたサーボモータのロータ位置θよりＵ，Ｖ，Ｗ相に対して電気角でそれぞれ２π／３ずれた正弦波を乗じて各相の電流指令を求め、該電流指令から各電流検出器で検出さる各相の実電流Ｉｕ，Ｉｖ，Ｉｗを減じて電流偏差を求め、各相電流制御器Ｉｕ，Ｉｖ，Ｉｗで比例積分（ＰＩ）制御等を行って各相指令電圧Ｅｕ，Ｅｖ，Ｅｗを電力増幅器に出力する。電力増幅器では、インバータ等でＰＷＭ制御を行って各相の電流Ｉｕ，Ｉｖ，ＩｗをサーボモータＭに流して駆動を行う。これによって、位置，速度ループの最も内側のマイナーループに電流ループを形成し、この電流ループによりＡＣサーボモータの各相に流す電流の制御を行う。
【０００４】
上記３相電流を別々に制御する方式の場合には、モータの回転速度が上昇すると電流指令の周波数も上昇し、電流位相が徐々に遅れるため電流の無効成分が多くなり、トルクを効率よく発生することができなくなるという欠点があり、また、制御量として交流を扱っているため、定速度回転かつ定負荷時における定常状態においてさえも、指令に対する位相の遅れや振幅の減衰等の偏差が存在し、直流モータと同程度のトルク制御を実現することが困難である。
この欠点を改善する方式として、３相電流をＤＱ変換してＤ相，Ｑ相の２相の直流座標系に変換した後にそれぞれの相を直流成分で制御するＤＱ制御方式が知られている。
【０００５】
図１１はＡＣサーボモータをＤＱ変換により制御するブロック線図である。Ｄ相の電流指令を「０」とし、Ｑ相の電流指令を速度ループが出力されるトルク指令とする。そして、３相電流から２相電流へ変換する変換器９において、モータの各ｕ，ｖ，ｗ相の実電流およびロータ位置検出器で検出されたロータの位相を用いてＤ相，Ｑ相の電流Ｉｄ，Ｉｑを求め、この電流を各相指令値から減じてＤ相，Ｑ相の電流偏差を求める。電流制御器５ｄ，５ｑにおいて、この電流偏差を比例・積分制御してＤ相指令電圧ＶｄおよびＱ相指令電圧Ｖｑを求める。２相電圧から３相電圧に変換する手段８は、この２相の指令電圧Ｖｄ，Ｖｑからｕ，ｖ，ｗ相の指令電圧Ｖｕ，Ｖｖ，Ｖｗを求め、電力増幅器６に出力してインバータ等でサーボモータの各相に対して電流Ｉｕ，Ｉｖ，Ｉｗを流してサーボモータの制御を行う。
一般に、ＤＱ変換は以下の式によって表すことができる。
【０００６】
【数１】
0003683313.tif 000002
ＤＱ変換による直流制御方式を採用することによって、電流ループゲインを必要以上に高く設定することなく定常偏差を逓減することができるが、実際に直流制御方式を実現する場合には、高速回転において急加速を行う場合、大きなトルクを必要とするため、電流指令が電力増幅器の制限を超える場合があり、このときいわゆる電圧飽和が発生し、電流制御が困難となる。
【０００７】
このような場合、電流ループの積算器の値は増大する。この積算器の値が過大となると、電流指令が小さくなった後においても、しばらくの間最大電圧指令を出力し続け、電圧指令飽和後の電流ループの挙動が不安定となる。
【０００８】
そこで、従来以下のような飽和処理を行っている。図１２はＤＱ変換される従来のＡＣサーボモータを説明するためのブロック線図であり、図１３は飽和処理を説明するための電圧関係図である。
【０００９】
図１２において、Ｄ相コントローラおよびＱ相コントローラは、積分項１１，１２（Ｋ１は積分ゲイン）と比例項１３，１４（Ｋ２は比例ゲイン）を備える制御系であり、モータ側は抵抗分Ｒとインダクタンス分Ｌとを備える。また、各Ｄ相，Ｑ相は、互いに他の相からの干渉項１５，１６を備える。ここで、飽和処理は、電圧指令のクランプおよび積算器の値ｓの書換えにより行う。
【００１０】
図１３において、電圧指令ＶｃのＤ相の電圧をＶｄとし、Ｑ相の電圧をＶｑとし、電力増幅器が出力することができる制限電圧をＤＣリンク電圧Ｖdcとすると、飽和処理は以下の処理により行われる。
（１）Ｖｄ2 ＋Ｖｑ2 ＜Ｖdc2 （電圧指令Ｖｃの電圧ベクトルはＤＣリンク電圧の円内）のときには、電圧指令Ｖｃをそのまま出力する。
（２）Ｖｄ2 ＋Ｖｑ2 ＞Ｖdc2 （電圧指令Ｖｃの電圧ベクトルはＤＣリンク電圧の円外）のときには、電圧指令ＶｃのＤ相電圧ＶｄおよびＱ相電圧Ｖｑをそれぞれ
Ｖｄ＝Ｖdc・Ｖｄ／（Ｖｄ2 ＋Ｖｑ2 ）1/2                   …（２）
Ｖｑ＝Ｖdc・Ｖｑ／（Ｖｄ2 ＋Ｖｑ2 ）1/2                   …（３）
の値にクランプする。
【００１１】
そして、積算器の出力が前記クランプされたＤ相電圧ＶｄおよびＱ相電圧Ｖｑとなるように、積算器を書換える処理を行う。
電流ループの積算ゲインをｋ１、比例ゲインをｋ２、トルク指令をＩ、フィードバック電流をＩfb、積算器をｓとすると、
電圧指令Ｖｃ＝ｋ１・（Ｉ−Ｉfb）／ｓ−ｋ２・Ｉfb          …（４）
の関係から、前記クランプによって設定される最大電圧指令Ｖｃmax は以下の式で表される。
最大電圧指令Ｖｃmax ＝ｋ１・（Ｉ−Ｉfb）／ｓ＊−ｋ２・Ｉfb…（５）
ここで、積算器ｓ＊は最大電圧指令Ｖｃmax が得られるような積算器であり、
１／ｓ＊＝（Ｖｃmax ＋ｋ２・Ｉfb）／ｋ１                  …（６）
により表される。
したがって、積算器の値を書換える飽和処理によって、積算器の出力はクランプされたＤ相電圧ＶｄおよびＱ相電圧Ｖｑを出力し、電圧出力Ｖｃを常にＤＣリンク電圧Ｖdc内に制限する。
【００１２】
【発明が解決しようとする課題】
しかしながら、電圧指令の飽和時においてＤ相、Ｑ相の両方に飽和処理を行う従来の電流制御方法では、加速時の飽和処理において加速特性が低下するという問題点がある。
【００１３】
ＤＱ変換を利用する電流制御においては、磁束の方向と同じ向きのＤ相電流を「０」とし、Ｄ相電流Ｉｄと直交するＱ相電流Ｉｑをトルク指令に追従させるよう制御するため、Ｉｄ＝０，Ｉｑ＞であり、正方向に回転しかつ加速時であるためロータの角速度ωは正である。したがって、Ｄ相電圧とＱ相電圧をベクトル図で表すと図１４となる。
このＤ相電圧ＶｄとＱ相電圧Ｖｑの合成ベクトル電圧Ｖｃが電圧リミット値Ｖｌｉｍｉｔを超えた場合に、この合成ベクトルＶｃの位相を変えずに、大きさをＶｌｉｍｉｔとした電圧Ｖｃ’に変換して、指令電圧のクランプを行なうと、この関係は以下の式によって表すことができる。
Ｖｄ＝Ｖｌｉｍｉｔ・ｓｉｎθ                              …（７）
Ｖｑ＝Ｖｌｉｍｉｔ・ｃｏｓθ                              …（８）
なお、位相θはｔａｎθ＝Ｖｄ／Ｖｑの関係にある。
合成電圧Ｖｃが電圧リミット値Ｖｌｉｍｉｔを超えていない場合のＤ相電圧及びＱ相電圧と電流（ただしＩｄ＝０）の関係は図１５で表される。
ＤＱ変換による電流制御系において、無効電流を流すＤ相電流指令は通常０とし、Ｑ相電流指令によって電流制御を行うが、前記ＤＱ変換の式（１）で示されるように、モータ内の電圧干渉によってＤ相側にも電流が流れる。ここで、Ｄ相電圧及びＱ相電圧が上昇して合成電圧Ｖｃが電圧リミット値Ｖｌｉｍｉｔを超えてクランプされると、Ｑ相電流ＩｑによってＤ相電圧Ｖｄ側に（−ωＬ・Ｉｑ）の負電圧が発生する。しかしながら、飽和処理によってＤ相電圧Ｖｄはクランプされているために（−ωＬ・Ｉｑ）に達することができず、図１６（ａ）に示すように正のＤ相電流Ｉｄが流れる。この正のＤ相電流Ｉｄは、図１６（ｂ）に示すＱ相電圧Ｖｑに（ωＬ・Ｉｄ）を付加して
Ｖｑ＝ωΦ＋Ｚ・Ｉｑ＋ωＬ・Ｉｄ                          …（９）
とし、Ｑ相電圧Ｖｑを増加させる。
【００１４】
このことは、電圧飽和によって電圧のクランプを行うと、Ｑ相電流Ｉｄの増加に従ってＤ相電圧Ｖｄは減少し、Ｑ相電圧Ｖｑが増加することを示し、図１４の破線で示す合成ベクトル電圧Ｖｃ”の方向に位相θが減少することになる。Ｄ相電流Ｉｄが増加し位相θが遅れると発生トルクが減少することになる。つまり、Ｑ相電圧がＤＣリンク電圧にクランプされる場合には、Ｑ相電流Ｉｄの増加によってＱ相電流を増加させるための電圧を充分得ることが困難となり、サーボモータの加速特性を低下させることになる。
【００１５】
また、図１７のＤ相，Ｑ相の電圧を説明する図において、ＤＱ変換を使用した電流制御系では、加速時にＤ相のプラス方向に電流が流れると符号Ａに示すようにベクトル電圧はＤＣリンク電圧の内側に移動する方向となって電圧飽和が緩和され、Ｄ相のマイナス方向に電流が流れると符号Ｂに示すようにベクトル電圧はＤＣリンク電圧の外側に移動する方向となって電圧飽和が助長される。前記式（１）に示すように、加速時には電圧干渉によって通常Ｄ相のマイナス方向に電流が流れるため、電圧飽和が助長されることになる。
【００１６】
そこで、本発明は前記した従来の問題点を解決して、ＤＱ変換によるサーボモータの電流制御において、加速トルクの増大化と電圧指令の飽和時における減速電流制御の安定化を両立させることを目的とする。
【００１７】
【課題を解決するための手段】
本発明は、サーボモータのＤＱ変換において電流制御において、電圧指令飽和時においてＤ相の電流制御ループの積算器の書換えを行う飽和処理を減速時にのみ行う処理、あるいは、常時Ｑ相について飽和処理を行い、特に加速中の電圧指令飽和時にはＱ相の電流制御ループの積算器のみの書換えを行う飽和処理を行う処理によって、加速トルクを増大させ、また、電圧指令の飽和時における減速電流制御の安定化を行う。
【００１８】
高速回転中においてサーボモータに急加速等を行わせるには大きなトルクが必要となるが、このようなときにＤ相およびＱ相の電圧指令のベクトル和が電力増幅器の電圧リミット値を超えた電圧飽和の状態となると、電力増幅器の出力はクランプされた電圧指令に制限され、サーボモータの電流制御ができなくなる。
【００１９】
そこで、加速時においては、Ｄ相には飽和処理を行わず、Ｑ相にのみ飽和処理を行って、Ｑ相の電流制御ループの積算器のみの書換えを行う処理を施す。この処理において、Ｑ相に対する飽和処理は、電流ループの積算器の増大を制限し、電流指令が減少したときに最大電圧指令が出力し続けるといった現象を防止して、電圧指令飽和後の電流ループの減速電流制御を安定なものとする。また、Ｄ相に対して飽和処理を行わないことによって、Ｄ相電圧を制限せずに優先的に出力して、電圧干渉によって生じるＤ相電流を零に制御し、Ｑ相電流を増大させることによって加速トルクを増大させる。
この加速時の電圧指令飽和時に行う飽和処理では、ＶｄをクランプされたＤ相電圧、ＶqをクランプされたＱ相電圧、ｋ1を電流ループの積算ゲイン、ｋ2を電流ループの比例ゲイン、ＩdfbをＤ相のフィードバック電流、ＩqfbをＱ相のフィードバック電流としたとき、
Ｑ相の電流制御ループの積算器のみの値を（Ｖq＋ｋ2・Ｉqfb）／ｋ1に書換える。
【００２０】
また、減速時には、Ｄ相およびＱ相に対して飽和処理を行って、Ｄ相，Ｑ相の電流制御ループの積算器の書換えを行う。これによって、電流ループの積算器の増大を制限し、電流指令が減少したときに最大電圧指令が出力し続けるといった現象を防止して、電圧指令飽和後の電流ループの減速電流制御を安定なものとする。なお、電圧干渉によって生じるＤ相電流は、Ｑ相電流を減少させる方向に働くため、Ｄ相電圧によるＤ相電流の制御を行う必要はなく、Ｄ相についても飽和処理を行う。
この減速時の電圧指令飽和時に行う飽和処理では、ＶqをクランプされたＱ相電圧、ｋ1を電流ループの積算ゲイン、ｋ2を電流ループの比例ゲイン、ＩqfbをＱ相のフィードバック電流としたとき、Ｄ相の電流制御ループの積算器の値を（Ｖd＋ｋ2・Ｉdfb）／ｋ1に書換え、Ｑ相の電流制御ループの積算器のみの値を（Ｖq＋ｋ2・Ｉqfb）／ｋ1に書換える。
【００２１】
図１は、本発明のサーボモータの電流制御方法の概略を説明するためのフローチャートである。図１において、電圧指令が飽和しているか否かを判定して、未飽和の場合には、飽和処理を行うことなく電流ループの処理を行う（ステップＴ１）。そして、飽和している場合には、クランプされた電圧指令に基づいて積算器の書換えを行う飽和処理を、Ｑ相に対して行う（ステップＴ２）。
【００２２】
ここで、サーボモータを加速制御する場合には、Ｑ相のみ飽和処理を施した後に電流ループ処理を行い（ステップＴ３）、サーボモータの制御が加速でない場合には、Ｑ相の飽和処理に加えてＤ相についても飽和処理を施した後に電流ループ処理を行う（ステップＴ４）。
【００２３】
これによって、加速トルクの増大化と電圧指令の飽和時における減速電流制御の安定化という二つの効果を同時に達成することができる。
【００２４】
【発明の実施の形態】
以下、本発明の実施の形態を図を参照しながら詳細に説明する。
図２は本発明の実施の形態を説明するためのブロック線図であり、図３，４，５は本発明の実施の形態によるＤ相およびＱ相の電圧状態を説明する図である。
【００２５】
図２のブロック線図において、Ｄ相コントローラおよびＱ相コントローラは、積分項１１，１２（Ｋ１は積分ゲイン）と比例項１３，１４（Ｋ２は比例ゲイン）を備える制御系であり、モータ側は抵抗分Ｒとインダクタンス分Ｌとを備えている。また、各Ｄ相，Ｑ相は、互いに他の相からの干渉項１５，１６を備える。この構成は、前記図１２で示した従来のブロック線図と共通している。
【００２６】
図２のブロック線図において、本発明の電流制御では、Ｄ相の積算器については減速時にのみ飽和処理による書換えを行い、Ｑ相の積算器については加速時と減速時に飽和処理による書換えを行うものであり、これによって、加速時には加速トルクの増大させ、また、加速時および減速時に電圧指令の飽和時における減速電流制御の安定化を行う。
【００２７】
はじめに、加速時における動作について説明する。ＤＱ変換による電流制御系において、無効電流を流すＤ相電流指令は通常０とし、Ｑ相電流指令によって電流制御を行うと、前記図１６と同様にして、ＤＱ変換の式（１）で示されるように、モータ内の電圧干渉によってＤ相側に電流が流れる。ここで、Ｄ相電圧及びＱ相電圧が上昇して合成電圧Ｖｃが電圧リミット値Ｖｌｉｍｉｔを超えてクランプされると、Ｑ相電流ＩｑによってＤ相電圧Ｖｄ側に（−ωＬ・Ｉｑ）の負電圧が発生する。
【００２８】
本発明の電流制御では、Ｑ相については飽和処理を行うがＤ相については飽和処理を行わない。この処理により、Ｄ相電圧Ｖｄは図３（ａ）に示すように（−ωＬ・Ｉｑ）に達することができ、マイナス方向のＤ相電流Ｉｄが流れないように抑える。Ｄ相電流Ｉｄが流れないため、Ｑ相電圧Ｖには電圧干渉による電圧分が生じない。この関係は、図３（ｂ）および以下の式で表すことができる。
Ｖｑ＝ωΦ＋Ｚ・Ｉｑ                                      …（１０）
図３（ｃ）および図３（ｄ）は、本発明の電流制御方法と従来の電流制御方法によるＤ相，Ｑ相の関係を比較し説明するための図である。Ｑ相電圧について比較すると、本発明の電流制御方法によれば（図３（ｃ））、従来のＤ相の飽和処理によって生ずる電圧分（ω・Ｌ・Ｉｄ）が発生していないため、クランプされた電圧の内においてＱ相電流による成分を従来の電流制御方法（図３（ｄ））よりも大きくとることができる。したがって、サーボモータのトルクはＱ相電流に比例するため、サーボモータの加速特性を向上させることができる。
【００２９】
次に、減速時における動作について説明する。減速時において、指令電圧が飽和していない状態では、Ｉｄ＝０，Ｉｑ＜０，ω＞０であるから、前記式（４）によるＤ相電圧とＱ相電圧をベクトル図で表すと図４となる。
なお、図４の（ａ）は｜Ｚ・Ｉｑ｜＞｜ωΦ｜の場合のＱ相電圧Ｖｑ（＜０）を示し、図４の（ｃ）は｜Ｚ・Ｉｑ｜＜｜ωΦ｜の場合のＱ相電圧Ｖｑ（＞０）を示し、図４の（ｃ）はＤ相電圧Ｖｄを示している。
ここで、高速回転時のＱ相電圧Ｖｑは、｜Ｚ・Ｉｑ｜＜｜ωΦ｜となるから図４の（ｃ）で示される。この状態で、Ｄ相電圧Ｖｄがクランプされると図５の（ａ）に示すようにＤ相電流Ｉｄが流れることになり、これにともなって、Ｑ相電圧Ｖｑは図５の（ｂ）に示すように減少する。したがって、Ｄ相電流の増加に従って、Ｄ相電圧Ｖｄ，Ｑ相電圧Ｖｑは減少することになる。
【００３０】
Ｄ相およびＱ相の積分器の値を書き替えることによってＤ相電流Ｉｄの増加を防止する。例えば、前記式（６）中に示したように、Ｄ相の積算器の値を（Ｖｄ＋ｋ２・Ｉdfb ）／ｋ１に書き替え、Ｑ相の積算器の値を（Ｖｑ＋ｋ２・Ｉqfb ）／ｋ１に書換える。
【００３１】
図２において、電圧飽和時にＤ相の積算器の値を（Ｖｄ＋ｋ２・Ｉdfb ）／ｋ１に書き替え、Ｑ相の積算器の値を（Ｖｑ＋ｋ２・Ｉqfb ）／ｋ１に書換えると、電流制御器から得られる出力はそれぞれＶｄ，Ｖｑとなり、積分器の飽和処理を行なうとともに指令電圧をクランプすることができる。
【００３２】
図６は、本発明の実施例を適用したサーボモータ制御系のブロック図である。この構成は従来のデジタルサーボ制御を行う装置と同一であるため、概略的に示している。図６において、２０はコンピュータを内蔵した数値制御装置（ＣＮＣ）、２１は共有ＲＡＭ、２２はプロセッサ（ＣＰＵ），ＲＯＮ，ＲＡＭ等を有するデジタルサーボ回路、２３はトランジスタインバータ等の電力増幅器、ＭはＡＣサーボモータ、２４はＡＣサーボモータＭの回転とともにパルスを発生するエンコーダ、２５はロータ位相を検出するためのロータ位置検出器である。
【００３３】
図７はデジタルサーボ回路２２のプロセッサが所定周期毎に実施する電流ループ制御処理のフローチャートである。デジタルサーボ回路２２のプロセッサは、数値制御装置（ＣＮＣ）から指令された位置指令（もしくは速度指令）を共有ＲＡＭ２１を介して読み取り位置ループ処理，速度ループ処理を行なう。
【００３４】
まず、速度ループ処理によって出力されたトルク指令Ｉｑ＊を読むとともに（ステップＳ１）、ロータ位置検出器２５からロータ位相θを取り込む（ステップＳ２）。
次に、電流検出器で検出されるＵ相，Ｖ相の実電流Ｉｕ，Ｉｖを取込み（ステップＳ３）、取り込んだＵ相，Ｖ相の実電流Ｉｕ，Ｉｖとロータ位相θを用いてＤＱ変換によってＤ相，Ｑ相の電流Ｉｄ，Ｉｑを算出する（ステップＳ４）。
【００３５】
該Ｄ相電流Ｉｄをフィードバック電流とし、Ｄ相電流指令を「０」として、通常の電流ループ処理（比例積分制御）を行ってＤ相指令電圧Ｖｄを求める。また、ステップＳ１で読み取ったトルク指令をＱ相の電流指令とし、ステップＳ４で算出したＱ相の電流値Ｉｑをフィードバック電流として電流ループ処理を行ってＱ相の電圧指令Ｖｑを求める（ステップＳ５）。
【００３６】
次に、ステップＳ５で求めたＤ相，Ｑ相指令電圧Ｖｄ，Ｖｑの合成ベクトルＶｃが電圧リミット値ＶｌｉｍｉｔであるＤＣリンク電圧Ｖdcを超えるか否かの飽和判定を行なう。すなわち、（Ｖｄ2 ＋Ｖｑ2 ）の値がＶdc2 の値より大きいか否かの判定を行なう（ステップＳ６）。
合成ベクトルＶｃがＤＣリンク電圧Ｖdcを超えない場合には、ステップＳ１１に進んで、ステップＳ５で算出したＤ相，Ｑ相指令電圧Ｖｄ，ＶｑをＤＱ変換してＵ，Ｖ，Ｗ相の電圧指令値を求め出力する（ステップＳ１１）。
また、ステップＳ６において、合成ベクトルＶｃがＤＣリンク電圧Ｖdcを超えている場合には飽和状態と判定し、比例積分制御を行なってＱ相電圧Ｖｑを算出する（ステップＳ７）。そして、Ｑ相の積算器を（Ｖｑ＋ｋ２・Ｉqfb ）／ｋ１に書換えて、Ｑ相の飽和処理を行う（ステップＳ８）。
【００３７】
次に、ω・Ｉｑの符号によって加速状態か減速状態かの判定を行なう（ステップＳ９）。
ステップＳ９の判定で、モータが正方向に回転し（ω＞０），トルク指令Ｉｑ＊が正の場合、あるいはモータが負方向に回転し（ω＜０），トルク指令Ｉｑ＊が負の場合であって加速状態の場合には、ステップＳ１１に進んでＵ，Ｖ，Ｗ相の電圧指令値を求める。
また、ステップＳ９の判定で、モータが正方向に回転し（ω＞０），トルク指令Ｉｑ＊が負の場合、あるいはモータが負方向に回転し（ω＜０），トルク指令Ｉｑ＊が正の場合であって減速状態の場合には、Ｄ相の積算器を（Ｖｑ＋ｋ２・Ｉdfb ）／ｋ１に書換えて、Ｄ相の飽和処理を行い（ステップＳ１０）、ステップＳ１１に進んでＵ，Ｖ，Ｗ相の電圧指令値を求める。
【００３８】
なお、ステップＳ１０のＤ相の飽和処理を行う場合には、Ｑ相の飽和処理も行われることになる。
そして、前記工程によって得られたＤ相電圧ＶｄとＱ相電圧ＶｑをＤＱ変換によってＵ，Ｖ，Ｗ相の電圧指令値を算出して出力し（ステップＳ１１，ステップＳ１２）、当該周期の電流ループ処理を終了する。
【００３９】
（実施例の効果）
図８及び図９は従来および本発明の電流制御方法による応答結果を示すものであり、速度指令を−５０００ｒｐｍから＋５０００ｒｐｍにステップ加速を印加した場合の応答を表している。図８に示すように、従来の電流制御方法によりＤ相およびＱ相に両方に飽和処理を行った場合には、−５０００ｒｐｍから３０００ｒｐｍまでは１００ｍｓ程度の応答特性を示し、３０００ｒｐｍ以降はトルクが落ちて＋５０００ｒｐｍとなるまでに６００ｍｓ程度の時間を要している。
【００４０】
これに対して、図９に示すように、本発明の電流制御方法によりＤ相については飽和処理を行わずＱ相にのみ飽和処理を行った場合には、−５０００ｒｐｍから３０００ｒｐｍまでは従来の制御方法と同様に１００ｍｓ程度の応答特性を示すが、３０００ｒｐｍ以降においてもトルクの低下はわずかで２００ｍｓ程度の時間で＋５０００ｒｐｍに達しており、加速特性向上の効果を見ることができる。
【００４１】
【発明の効果】
以上説明したように、本発明によれば、ＤＱ変換によるサーボモータの電流制御において、加速トルクの増大化と電圧指令の飽和時における減速電流制御の安定化を両立させることができる。
【図面の簡単な説明】
【図１】本発明のサーボモータの電流制御方法の概略を説明するためのフローチャートである。
【図２】本発明の実施の形態を説明するためのブロック線図である。
【図３】本発明の実施の形態によるＤ相およびＱ相の電圧状態を説明する図である。
【図４】本発明の実施の形態によるＤ相およびＱ相の電圧状態を説明する図である。
【図５】本発明の実施の形態によるＤ相およびＱ相の電圧状態を説明する図である。
【図６】本発明の実施例を適用したサーボモータ制御系のブロック図である。
【図７】デジタルサーボ回路のプロセッサが所定周期毎に実施する電流ループ制御処理のフローチャートである。
【図８】従来の電流制御方法による応答結果を示す図である。
【図９】本発明の電流制御方法による応答結果を示す図である。
【図１０】従来から行われているＡＣサーボモータの制御系のブロック線図である。
【図１１】ＡＣサーボモータをＤＱ変換により制御するブロック線図である。
【図１２】ＤＱ変換される従来のＡＣサーボモータを説明するためのブロック線図である。
【図１３】飽和処理を説明するための電圧関係図である。
【図１４】Ｄ相電圧とＱ相電圧のベクトル図である。
【図１５】合成電圧Ｖｃが電圧リミットを超えていない場合のＤ相電圧及びＱ相電圧と電流の関係を説明するための図である。
【図１６】合成電圧Ｖｃが電圧リミットを超えた場合のＤ相電圧及びＱ相電圧と電流の関係を説明するための図である。
【図１７】Ｄ相，Ｑ相の電圧を説明する図である。
【符号の説明】
１  位置制御ブロック
２  速度制御ブロック
３  電流制御ブロック
５ｄ，５ｑ  電流制御器
６，２３  電力増幅器
７  ロータ位相器
８  ２相電圧から３相電圧に変換する手段
９  ３相電流から２相電流に変換する手段
１１，１２  積分項
１３，１４  比例項
１５，１６  干渉項
２０  ＣＮＣ
２１  共有メモリ
２２  デジタルサーボ回路
【図１】
0003683313.tif 000003
【図２】
0003683313.tif 000004
【図３】
0003683313.tif 000005
【図４】
0003683313.tif 000006
【図５】
0003683313.tif 000007
【図６】
0003683313.tif 000008
【図７】
0003683313.tif 000009
【図８】
0003683313.tif 000010
【図９】
0003683313.tif 000011
【図１０】
0003683313.tif 000012
【図１１】
0003683313.tif 000013
【図１２】
0003683313.tif 000014
【図１３】
0003683313.tif 000015
【図１４】
0003683313.tif 000016
【図１５】
0003683313.tif 000017
【図１６】
0003683313.tif 000018
【図１７】
0003683313.tif 000019