(57)【要約】【課題】余分な無効電流Ｉｄを流すことなく、的確に電圧飽和の発生を防止することができるサーボモータにおける電流制御方法を提供すること。【解決手段】無効電流Ｉｄを、Ｉｄ＝−｜Ｉ｜・ｓｉｎθ（０°≦θ≦９０°）、と規定する。電圧飽和の発生を防止するために、電圧飽和の発生と直接的に関係するｕ，ｖ，ｗ各相の電機子巻線に印加する各電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊に基づいて位相角θを制御して、無効電流Ｉｄの大きさを制御する。各電圧指令値が大きくなって電圧飽和が発生する可能性が高くなったときは、θを大きくしてＩｄを大きくし、各電圧指令値が小さくなって電圧飽和が発生する可能性が低くなったときは、θを小さくしてＩｄを小さくすることによって、電圧飽和が発生しそうな場合に限って必要最小限の無効電流Ｉｄを流すことができるので、的確に電圧飽和の発生を防止することができる。【選択図】図３
2007151294.tif 000002
【特許請求の範囲】
【請求項１】
界磁と、多相の電機子巻線を有する電機子とを備えるサーボモータにおいて、
前記界磁によって発生される界磁束と、前記各相の電機子巻線に電機子電圧を印加することによって発生される電機子磁束との相互作用に基づいて、前記界磁および前記電機子の相対回転動力を発生する際に、前記電機子における電圧飽和の発生を防止するために、ｄ軸方向を前記界磁束の方向とするｄｑ変換を施した前記電機子にｄ軸電流を流す電流制御方法であって、
ｄ軸電流Ｉｄ，ｑ軸電流Ｉｑを、前記電機子を流れる総電流Ｉ，位相角θ（０°≦θ≦９０°）によって、Ｉｄ＝−｜Ｉ｜・ｓｉｎθ，Ｉｑ＝Ｉ・ｃｏｓθ、と規定し、
前記位相角θを、前記電機子における電圧飽和の発生を防止するために、前記各相の電機子巻線に印加する電機子電圧の指令値である各電圧指令値に基づいて制御する
ことを特徴とする電流制御方法。
【請求項２】
界磁と、多相の電機子巻線を有する電機子とを備えるサーボモータにおいて、
前記界磁によって発生される界磁束と、前記各相の電機子巻線に電機子電圧を印加することによって発生される電機子磁束との相互作用に基づいて、前記界磁および前記電機子の相対回転動力を発生する際に、前記電機子における電圧飽和の発生を防止するために、ｄ軸方向を前記界磁束の方向とするｄｑ変換を施した前記電機子にｄ軸電流を流す電流制御方法であって、
ｄ軸電流Ｉｄ，ｑ軸電流Ｉｑを、位相角θ（０°≦θ＜９０°）によって、Ｉｄ＝−｜Ｉｑ｜・ｔａｎθ、と規定し、
前記位相角θを、前記電機子における電圧飽和の発生を防止するために、前記各相の電機子巻線に印加する電機子電圧の指令値である各電圧指令値に基づいて制御する
ことを特徴とする電流制御方法。
【請求項３】
請求項１または請求項２に記載の電流制御方法において、
前記電機子において電圧飽和を発生させることなく前記各相の電機子巻線に印加することが可能な最大電機子電圧Ｖｍａｘよりも小さい所定の電圧指令値閾値Ｖｏを設定し、
前記各電圧指令値の全てが前記電圧指令値閾値Ｖｏを超えない場合は、θ＝０°とし、
前記各電圧指令値の少なくとも１つが前記電圧指令値閾値Ｖｏを超える場合は、当該Ｖｏを超える電圧指令値をＶとして、θ＝｛（Ｖ−Ｖｏ）／（Ｖｍａｘ−Ｖｏ）｝・９０°とする
ことを特徴とする電流制御方法。
【請求項４】
請求項１または請求項２に記載の電流制御方法において、
前記電機子において電圧飽和を発生させることなく前記各相の電機子巻線に印加することが可能な最大電機子電圧Ｖｍａｘよりも小さい所定の電圧指令値閾値Ｖｏを設定し、
前記各電圧指令値と前記電圧指令値閾値Ｖｏとの比較を所定周期で継続的に行い、
前記所定周期で継続的に得られる比較結果のうち、時間的に直前の所定回数Ｎｏ分の比較結果を抽出し、
当該Ｎｏ回分の比較結果のうち、前記各電圧指令値の少なくとも１つが前記電圧指令値閾値Ｖｏを超えていた回数をＮとして、θ＝（Ｎ／Ｎｏ）・９０°とする
ことを特徴とする電流制御方法。
【請求項５】
請求項１から請求項４のいずれかに記載の電流制御方法において、
Ｉ２＝Ｉｄ２＋Ｉｑ２と表される前記電機子を流れる総電流Ｉの絶対値が、前記電機子における許容電流値Ｉｍａｘを超えないように制限する
ことを特徴とする電流制御方法。
【請求項６】
界磁と、多相の電機子巻線を有する電機子とを備えるサーボモータに組み込まれたコンピュータにおいて、
前記界磁によって発生される界磁束と、前記各相の電機子巻線に電機子電圧を印加することによって発生される電機子磁束との相互作用に基づいて、前記界磁および前記電機子の相対回転動力を発生する際に、前記電機子における電圧飽和の発生を防止するために、ｄ軸方向を前記界磁束の方向とするｄｑ変換を施した前記電機子にｄ軸電流を流す電流制御プログラムであって、
ｄ軸電流Ｉｄ，ｑ軸電流Ｉｑを、前記電機子を流れる総電流Ｉ，位相角θ（０°≦θ≦９０°）によって、Ｉｄ＝−｜Ｉ｜・ｓｉｎθ，Ｉｑ＝Ｉ・ｃｏｓθ、と規定し、
前記位相角θを、前記電機子における電圧飽和の発生を防止するために、前記各相の電機子巻線に印加する電機子電圧の指令値である各電圧指令値に基づいて制御する
ことを特徴とする電流制御プログラム。
【請求項７】
界磁と、多相の電機子巻線を有する電機子とを備えるサーボモータに組み込まれたコンピュータにおいて、
前記界磁によって発生される界磁束と、前記各相の電機子巻線に電機子電圧を印加することによって発生される電機子磁束との相互作用に基づいて、前記界磁および前記電機子の相対回転動力を発生する際に、前記電機子における電圧飽和の発生を防止するために、ｄ軸方向を前記界磁束の方向とするｄｑ変換を施した前記電機子にｄ軸電流を流す電流制御プログラムであって、
ｄ軸電流Ｉｄ，ｑ軸電流Ｉｑを、位相角θ（０°≦θ＜９０°）によって、Ｉｄ＝−｜Ｉｑ｜・ｔａｎθ、と規定し、
前記位相角θを、前記電機子における電圧飽和の発生を防止するために、前記各相の電機子巻線に印加する電機子電圧の指令値である各電圧指令値に基づいて制御する
ことを特徴とする電流制御プログラム。
【請求項８】
請求項６または請求項７に記載の電流制御プログラムが記録され、サーボモータに組み込まれたコンピュータによって読み取り可能である
ことを特徴とする記録媒体。    
【請求項９】
界磁と、多相の電機子巻線を有する電機子とを備えるサーボモータであって、
前記界磁によって発生される界磁束と、前記各相の電機子巻線に電機子電圧を印加することによって発生される電機子磁束との相互作用に基づいて、前記界磁および前記電機子の相対回転動力を発生する際に、前記電機子における電圧飽和の発生を防止するために、ｄ軸方向を前記界磁束の方向とするｄｑ変換を施した前記電機子にｄ軸電流を流し、
ｄ軸電流Ｉｄ，ｑ軸電流Ｉｑを、前記電機子を流れる総電流Ｉ，位相角θ（０°≦θ≦９０°）によって、Ｉｄ＝−｜Ｉ｜・ｓｉｎθ，Ｉｑ＝Ｉ・ｃｏｓθ、と規定し、
前記位相角θを、前記電機子における電圧飽和の発生を防止するために、前記各相の電機子巻線に印加する電機子電圧の指令値である各電圧指令値に基づいて制御する
ことを特徴とするサーボモータ。
【請求項１０】
界磁と、多相の電機子巻線を有する電機子とを備えるサーボモータであって、
前記界磁によって発生される界磁束と、前記各相の電機子巻線に電機子電圧を印加することによって発生される電機子磁束との相互作用に基づいて、前記界磁および前記電機子の相対回転動力を発生する際に、前記電機子における電圧飽和の発生を防止するために、ｄ軸方向を前記界磁束の方向とするｄｑ変換を施した前記電機子にｄ軸電流を流し、
ｄ軸電流Ｉｄ，ｑ軸電流Ｉｑを、位相角θ（０°≦θ＜９０°）によって、Ｉｄ＝−｜Ｉｑ｜・ｔａｎθ、と規定し、
前記位相角θを、前記電機子における電圧飽和の発生を防止するために、前記各相の電機子巻線に印加する電機子電圧の指令値である各電圧指令値に基づいて制御する
ことを特徴とするサーボモータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボモータにおける電流制御方法，電流制御プログラム，記録媒体，サーボモータに関する。詳しくは、ｄｑ変換を施したサーボモータの電機子にｄ軸電流を流すことによって電機子における電圧飽和の発生を防止するための電流制御方法，電流制御プログラム，記録媒体，サーボモータに関する。
【背景技術】
【０００２】
従来、サーボモータの電機子における電圧飽和の発生を防止するために、ｄ軸方向を界磁束の方向とするｄｑ変換を施した電機子にｄ軸電流Ｉｄを流すことが行われている（例えば、特許文献１参照）。サーボモータにおいては、ｑ軸電流Ｉｑがトルクを発生させるための有効電流であるのに対して、ｄ軸電流Ｉｄはトルクの発生に寄与しない無効電流である。しかしながら、無効電流Ｉｄを流すことによって、電機子に発生する逆起電力の影響を低減して電圧飽和の発生を防止することができるので、より大きな有効電流Ｉｑを流すことができるようになり、電流・トルク制御を安定して行うことができるようになる。
【０００３】
このことは、特許文献１の図２および図９によく示されている。これらの図は、電機子電圧をｄ軸電圧Ｖｄおよびｑ軸電圧Ｖｑの直交２成分に分けて表示したものである。ｄ軸電圧Ｖｄとｑ軸電圧Ｖｑとのベクトル和が電機子に印加される総電機子電圧に相当する。同各図中に示されている円はリンク電圧を表しており、総電機子電圧の上限を規定するものである。したがって、総電機子電圧ベクトルの先端がリンク電圧円の内部に入っていれば、同各図の表示に従って所望の電機子電圧を電機子に印加することができるが、逆に、総電機子電圧ベクトルの先端がリンク電圧円の外部に出てしまうと、電圧飽和が発生して同各図の表示に従う所望の電機子電圧が電機子に印加されないため、トルク発生のための所望のｑ軸電流Ｉｑを電機子に流すことができなくなってしまう。
【０００４】
さて、同各図において＋ｑ軸方向のベクトルである逆起電力Ｅは、具体的には、同期型サーボモータに関する公知の式、Ｅ＝ω・Φ、と表される。ここで、ωはサーボモータの回転角速度、Φは電機子巻線に鎖交する総磁束である（以下、特に断らない限り、ω≧０，Φ≧０、との仮定の下で説明する）。
逆起電力Ｅ（＝ω・Φ）は、ωに比例するので、高速回転時ほど大きくなる。同図９において、高速回転時に逆起電力ベクトルＥが大きくなると、その先端がリンク電圧円の周縁に近づくため、大きなｑ軸電流Ｉｑを流すことができなくなってしまう。なぜなら、ｑ軸電流Ｉｑを大きくすると、同図中Ｒ・Ｉｑとして表示される＋ｑ軸方向（Ｅと同方向）の駆動電圧ベクトルが長くなり、Ｅ＋Ｒ・Ｉｑのベクトル和の先端がリンク電圧円の外部に出てしまい、電圧飽和が発生してしまうからである。
【０００５】
しかし、ここで、同図２のように、無効電流Ｉｄ（≦０）を流せば、不都合は解消する。無効電流Ｉｄを流すことによって、逆起電力ベクトルＥと逆方向（−ｑ軸方向）の相殺電圧ベクトル−ω・Ｌ・｜Ｉｄ｜を発生することができるからである。−ｑ軸方向の相殺電圧ベクトルが付加されることによって、＋ｑ軸方向の駆動電圧ベクトルＲ・Ｉｑを長くしたとしても、これらのベクトル和としての総電機子電圧ベクトルの先端をリンク電圧円内に留めることが可能になる。したがって、無効電流Ｉｄを流せば、高速回転時であっても、大きな有効電流Ｉｑを流し続けることができ、安定して大きなトルク（∝Ｉｑ）を発生し続けることができる。
【０００６】
【特許文献１】特開平９−８４４００号公報（第２〜第４頁、図２、９）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１のサーボモータでは、逆起電力Ｅ（＝ω・Φ）が回転角速度ωに比例することに鑑みて、無効電流Ｉｄを回転角速度ωのみの１変数関数として定義し、回転角速度ωが大きくなるほど負方向に大きくなる無効電流Ｉｄを流すことによって電圧飽和の発生を防止している（以下、無効電流Ｉｄは負方向であるものとし、「負方向に大きい」を「大きい」と、「負方向に小さい」を「小さい」と簡略的に記載する）。
【０００８】
特許文献１のサーボモータでは、高速回転時（ω：大）であれば、常に大きな無効電流Ｉｄが流される。しかしながら、高速回転時であっても、例えば、サーボモータにかかる負荷が小さい場合には、発生させるトルクが小さくて済むので、有効電流Ｉｑ（∝トルク）を小さくすることができる。すると、同図９において、駆動電圧ベクトルＲ・Ｉｑを短くすることができるので、たとえ、高速回転時に逆起電力Ｅ（＝ω・Φ）が大きくなっても、これらのベクトル和としての総電機子電圧ベクトルの先端をリンク電圧円内に留めることが可能であり、電圧飽和は発生しにくくなる。このため、電圧飽和の発生を防止するための相殺電圧ベクトル−ω・Ｌ・｜Ｉｄ｜も小さくすることができるので、この場合は大きな無効電流Ｉｄを流す必要はない。このように、高速回転時であっても、特許文献１のサーボモータのように電圧飽和の発生を防止するために常に大きな無効電流Ｉｄを流し続ける必要はなく、むしろ、特許文献１のサーボモータでは、本来流す必要がない余分な無効電流Ｉｄを流し続けることによって、本来発生させずに済んだはずの余分な熱が発生され続けてサーボモータの保守管理上追加的な補償措置を講ずる必要が生じたり、サーボモータのエネルギー効率が悪化したりといった様々な問題が生じてしまう。
【０００９】
また、特許文献１のサーボモータでは、低速回転時（ω：小）であれば、流される無効電流Ｉｄは小さい。しかしながら、低速回転時であっても、例えば、サーボモータにかかる負荷が大きい場合には、発生させるトルクを大きくしなければならないので、有効電流Ｉｑ（∝トルク）を大きくしなければならない。すると、同図９において、駆動電圧ベクトルＲ・Ｉｑが長くなるので、たとえ、低速回転時に逆起電力Ｅ（＝ω・Φ）が小さくても、これらのベクトル和としての総電機子電圧ベクトルの先端をリンク電圧円内に留めることが困難になり、電圧飽和が発生しやすくなる。この場合、電圧飽和の発生を防止するためには、相殺電圧ベクトル−ω・Ｌ・｜Ｉｄ｜を大きくする必要があるが、特許文献１のサーボモータでは、低速回転時には小さな無効電流Ｉｄしか流されないので、相殺電圧ベクトルは小さく、電圧飽和の発生を防止するのに十分ではない。
【００１０】
以上のように、特許文献１のサーボモータでは、回転角速度ωに応じて無効電流Ｉｄの大きさを決めているために、高速回転時には余分な無効電流Ｉｄを流してしまう恐れがあり、低速回転時には電圧飽和の発生を的確に防止することができない恐れがある。
【００１１】
本発明の目的は、余分な無効電流Ｉｄを流すことなく、的確に電圧飽和の発生を防止することができる電流制御方法，電流制御プログラム，記録媒体，サーボモータを提供することである。
【課題を解決するための手段】
【００１２】
本発明の電流制御方法は、界磁と、多相の電機子巻線を有する電機子とを備えるサーボモータにおいて、前記界磁によって発生される界磁束と、前記各相の電機子巻線に電機子電圧を印加することによって発生される電機子磁束との相互作用に基づいて、前記界磁および前記電機子の相対回転動力を発生する際に、前記電機子における電圧飽和の発生を防止するために、ｄ軸方向を前記界磁束の方向とするｄｑ変換を施した前記電機子にｄ軸電流を流す電流制御方法であって、ｄ軸電流Ｉｄ，ｑ軸電流Ｉｑを、前記電機子を流れる総電流Ｉ，位相角θ（０°≦θ≦９０°）によって、Ｉｄ＝−｜Ｉ｜・ｓｉｎθ，Ｉｑ＝Ｉ・ｃｏｓθ、と規定し、前記位相角θを、前記電機子における電圧飽和の発生を防止するために、前記各相の電機子巻線に印加する電機子電圧の指令値である各電圧指令値に基づいて制御することを特徴とする。
【００１３】
本発明の電流制御方法では、無効電流Ｉｄを、Ｉｄ＝−｜Ｉ｜・ｓｉｎθ（０°≦θ≦９０°）、と規定している。ここで、θ＝０°のときには、Ｉｄ＝０となって無効電流Ｉｄが流されず、θ≠０°（０°＜θ≦９０°）のときには、Ｉｄ＜０となって無効電流Ｉｄが流される。そして、θが大きくなれば、無効電流Ｉｄは（負方向に）大きくなり、電圧飽和の発生を防止するための相殺電圧ベクトルが大きくなる。
本発明の電流制御方法では、電圧飽和の発生を防止するために、各相の電機子巻線に印加する各電圧指令値に基づいて位相角θを制御して、無効電流Ｉｄの大きさを制御している。具体的には後述するが、大雑把に言えば、各相への各電圧指令値が大きくなって電圧飽和が発生する可能性が高くなったときは、位相角θを大きくして無効電流Ｉｄを大きくし、各相への各電圧指令値が小さくなって電圧飽和が発生する可能性が低くなったときは、位相角θを小さくして無効電流Ｉｄを小さくする。なお、後述するように、位相角θの制御に利用する各相への各電圧指令値は、現在の値でもよいし、過去の値でもよい。
以上のように、本発明の電流制御方法では、電機子における電圧飽和の発生と直接的に関係する各相の電機子巻線への各電圧指令値に基づいて位相角θを制御して無効電流Ｉｄの大きさを制御しているため、電圧飽和が発生しそうな場合に限って必要最小限の無効電流Ｉｄを流すことができるので、余分な無効電流Ｉｄを流すことなく、的確に電圧飽和の発生を防止することができる。
【００１４】
本発明の電流制御方法は、界磁と、多相の電機子巻線を有する電機子とを備えるサーボモータにおいて、前記界磁によって発生される界磁束と、前記各相の電機子巻線に電機子電圧を印加することによって発生される電機子磁束との相互作用に基づいて、前記界磁および前記電機子の相対回転動力を発生する際に、前記電機子における電圧飽和の発生を防止するために、ｄ軸方向を前記界磁束の方向とするｄｑ変換を施した前記電機子にｄ軸電流を流す電流制御方法であって、ｄ軸電流Ｉｄ，ｑ軸電流Ｉｑを、位相角θ（０°≦θ＜９０°）によって、Ｉｄ＝−｜Ｉｑ｜・ｔａｎθ、と規定し、前記位相角θを、前記電機子における電圧飽和の発生を防止するために、前記各相の電機子巻線に印加する電機子電圧の指令値である各電圧指令値に基づいて制御することを特徴とする。
【００１５】
本発明の電流制御方法では、無効電流Ｉｄを、Ｉｄ＝−｜Ｉｑ｜・ｔａｎθ（０°≦θ＜９０°）、と規定している。ここで、無効電流Ｉｄを、Ｉｄ＝−｜Ｉ｜・ｓｉｎθ、と規定した先の場合と同様に、θ＝０°のときには、Ｉｄ＝０となって無効電流Ｉｄが流されず、θ≠０°（０°＜θ＜９０°）のときには、Ｉｄ＜０となって無効電流Ｉｄが流される。そして、θが大きくなれば、無効電流Ｉｄは（負方向に）大きくなり、電圧飽和の発生を防止するための相殺電圧ベクトルが大きくなる。
本発明の電流制御方法では、電圧飽和の発生を防止するために、電機子における電圧飽和の発生と直接的に関係する各相の電機子巻線への各電圧指令値に基づいて位相角θを制御して無効電流Ｉｄの大きさを制御しているため、電圧飽和が発生しそうな場合に限って必要最小限の無効電流Ｉｄを流すことができるので、余分な無効電流Ｉｄを流すことなく、的確に電圧飽和の発生を防止することができる。
【００１６】
本発明の電流制御方法では、前記電機子において電圧飽和を発生させることなく前記各相の電機子巻線に印加することが可能な最大電機子電圧Ｖｍａｘよりも小さい所定の電圧指令値閾値Ｖｏを設定し、前記各電圧指令値の全てが前記電圧指令値閾値Ｖｏを超えない場合は、θ＝０°とし、前記各電圧指令値の少なくとも１つが前記電圧指令値閾値Ｖｏを超える場合は、当該Ｖｏを超える電圧指令値をＶとして、θ＝｛（Ｖ−Ｖｏ）／（Ｖｍａｘ−Ｖｏ）｝・９０°とすることが好ましい。
【００１７】
この電流制御方法は、各相への各電圧指令値の現在の値に基づいて位相角θを制御して無効電流Ｉｄの大きさを制御する方法である。
すなわち、各相への各電圧指令値の少なくとも１つが電圧指令値閾値Ｖｏを超えて電圧飽和が発生する可能性が高くなると、Ｖｏを超えた電圧指令値をＶ（Ｖｏを超えた電圧指令値が複数ある場合は、最大の電圧指令値とする）として、θ＝｛（Ｖ−Ｖｏ）／（Ｖｍａｘ−Ｖｏ）｝・９０°、を満たすようにθを制御する。ここで、Ｖ＝Ｖｏのときには、θ＝０°となって無効電流Ｉｄが流されず、Ｖｏ＜Ｖ＜Ｖｍａｘのときには、θ≠０°（０°＜θ＜９０°）となって無効電流Ｉｄが流される。そして、Ｖが大きくなれば、θが大きくなって無効電流Ｉｄは（負方向に）大きくなり、Ｖ＝Ｖｍａｘとなると、θ＝９０°となり、無効電流Ｉｄは最大になる。
【００１８】
本発明の電流制御方法では、前記電機子において電圧飽和を発生させることなく前記各相の電機子巻線に印加することが可能な最大電機子電圧Ｖｍａｘよりも小さい所定の電圧指令値閾値Ｖｏを設定し、前記各電圧指令値と前記電圧指令値閾値Ｖｏとの比較を所定周期で継続的に行い、前記所定周期で継続的に得られる比較結果のうち、時間的に直前の所定回数Ｎｏ分の比較結果を抽出し、当該Ｎｏ回分の比較結果のうち、前記各電圧指令値の少なくとも１つが前記電圧指令値閾値Ｖｏを超えていた回数をＮとして、θ＝（Ｎ／Ｎｏ）・９０°とすることが好ましい。
【００１９】
この電流制御方法は、各相への各電圧指令値の過去の値に基づいて位相角θを制御して無効電流Ｉｄの大きさを制御する方法である。
この電流制御方法では、各相への各電圧指令値と電圧指令値閾値Ｖｏとの比較を周期的に行い、ここで得られた（過去の）比較結果に基づいて位相角θを制御する。ここで、各回の比較結果は、「各電圧指令値の全てが電圧指令値閾値Ｖｏを超えていない」（電圧飽和が発生する可能性が低い）というものと、「各電圧指令値の少なくとも１つが電圧指令値閾値Ｖｏを超えている」（電圧飽和が発生する可能性が高い）というものとに２分することができる。そして、以下で述べるように、前者の比較結果は位相角θを小さくするように寄与し、後者の比較結果は位相角θを大きくするように寄与する。
実際のθの決定は、時間的に直前のＮｏ回分の比較結果を抽出して行われる。すなわち、抽出されたＮｏ回分の比較結果のうち、「各電圧指令値の少なくとも１つが電圧指令値閾値Ｖｏを超えている」（電圧飽和が発生する可能性が高い）という比較結果の数をＮとして、θ＝（Ｎ／Ｎｏ）・９０°、を満たすようにθを制御する。ここで、Ｎ＝０のとき（過去Ｎｏ回分の比較の全てにおいて、電圧飽和が発生する可能性が低いとの比較結果が得られたとき）には、θ＝０°となって無効電流Ｉｄが流されず、０＜Ｎ＜Ｎｏのとき（過去Ｎｏ回分の比較のうちＮ回において、電圧飽和が発生する可能性が高いとの比較結果が得られたとき）には、θ≠０°（０°＜θ＜９０°）となって無効電流Ｉｄが流される。そして、Ｎが大きくなれば、θが大きくなって無効電流Ｉｄは（負方向に）大きくなり、Ｎ＝Ｎｏとなると（過去Ｎｏ回分の比較の全てにおいて、電圧飽和が発生する可能性が高いとの比較結果が得られたとき）、θ＝９０°となり、無効電流Ｉｄは最大になる。
【００２０】
本発明の電流制御方法では、Ｉ２＝Ｉｄ２＋Ｉｑ２と表される前記電機子を流れる総電流Ｉの絶対値が、前記電機子における許容電流値Ｉｍａｘを超えないように制限することが好ましい。
【００２１】
この電流制御方法によれば、電機子を流れる総電流Ｉの絶対値｜Ｉ｜が、電機子における許容電流値Ｉｍａｘを超えないように制限されるので、電機子に過度の電流が流れることを防止して、サーボモータの破損を防止することができる。
【００２２】
本発明の電流制御プログラムは、界磁と、多相の電機子巻線を有する電機子とを備えるサーボモータに組み込まれたコンピュータにおいて、前記界磁によって発生される界磁束と、前記各相の電機子巻線に電機子電圧を印加することによって発生される電機子磁束との相互作用に基づいて、前記界磁および前記電機子の相対回転動力を発生する際に、前記電機子における電圧飽和の発生を防止するために、ｄ軸方向を前記界磁束の方向とするｄｑ変換を施した前記電機子にｄ軸電流を流す電流制御プログラムであって、ｄ軸電流Ｉｄ，ｑ軸電流Ｉｑを、前記電機子を流れる総電流Ｉ，位相角θ（０°≦θ≦９０°）によって、Ｉｄ＝−｜Ｉ｜・ｓｉｎθ，Ｉｑ＝Ｉ・ｃｏｓθ、と規定し、前記位相角θを、前記電機子における電圧飽和の発生を防止するために、前記各相の電機子巻線に印加する電機子電圧の指令値である各電圧指令値に基づいて制御することを特徴とする。
【００２３】
本発明の電流制御プログラムは、界磁と、多相の電機子巻線を有する電機子とを備えるサーボモータに組み込まれたコンピュータにおいて、前記界磁によって発生される界磁束と、前記各相の電機子巻線に電機子電圧を印加することによって発生される電機子磁束との相互作用に基づいて、前記界磁および前記電機子の相対回転動力を発生する際に、前記電機子における電圧飽和の発生を防止するために、ｄ軸方向を前記界磁束の方向とするｄｑ変換を施した前記電機子にｄ軸電流を流す電流制御プログラムであって、ｄ軸電流Ｉｄ，ｑ軸電流Ｉｑを、位相角θ（０°≦θ＜９０°）によって、Ｉｄ＝−｜Ｉｑ｜・ｔａｎθ、と規定し、前記位相角θを、前記電機子における電圧飽和の発生を防止するために、前記各相の電機子巻線に印加する電機子電圧の指令値である各電圧指令値に基づいて制御することを特徴とする。
【００２４】
本発明の記録媒体は、前記電流制御プログラムが記録され、サーボモータに組み込まれたコンピュータによって読み取り可能であることを特徴とする。
【００２５】
以上のような電流制御プログラムおよび記録媒体は、前述した本発明の電流制御方法を実施するために利用されるので、本発明の電流制御方法と同じ各作用・効果を奏することができる。
【００２６】
本発明のサーボモータは、界磁と、多相の電機子巻線を有する電機子とを備えるサーボモータであって、前記界磁によって発生される界磁束と、前記各相の電機子巻線に電機子電圧を印加することによって発生される電機子磁束との相互作用に基づいて、前記界磁および前記電機子の相対回転動力を発生する際に、前記電機子における電圧飽和の発生を防止するために、ｄ軸方向を前記界磁束の方向とするｄｑ変換を施した前記電機子にｄ軸電流を流し、ｄ軸電流Ｉｄ，ｑ軸電流Ｉｑを、前記電機子を流れる総電流Ｉ，位相角θ（０°≦θ≦９０°）によって、Ｉｄ＝−｜Ｉ｜・ｓｉｎθ，Ｉｑ＝Ｉ・ｃｏｓθ、と規定し、前記位相角θを、前記電機子における電圧飽和の発生を防止するために、前記各相の電機子巻線に印加する電機子電圧の指令値である各電圧指令値に基づいて制御することを特徴とする。  
【００２７】
本発明のサーボモータは、界磁と、多相の電機子巻線を有する電機子とを備えるサーボモータであって、前記界磁によって発生される界磁束と、前記各相の電機子巻線に電機子電圧を印加することによって発生される電機子磁束との相互作用に基づいて、前記界磁および前記電機子の相対回転動力を発生する際に、前記電機子における電圧飽和の発生を防止するために、ｄ軸方向を前記界磁束の方向とするｄｑ変換を施した前記電機子にｄ軸電流を流し、ｄ軸電流Ｉｄ，ｑ軸電流Ｉｑを、位相角θ（０°≦θ＜９０°）によって、Ｉｄ＝−｜Ｉｑ｜・ｔａｎθ、と規定し、前記位相角θを、前記電機子における電圧飽和の発生を防止するために、前記各相の電機子巻線に印加する電機子電圧の指令値である各電圧指令値に基づいて制御することを特徴とする。
【００２８】
以上のようなサーボモータは、前述した本発明の電流制御方法を実施するための構成を備えているので、本発明の電流制御方法と同じ各作用・効果を奏することができる。
【発明を実施するための最良の形態】
【００２９】
続いて、本発明の実施形態を図面に基づいて説明する。
＜第１実施形態＞
図１は、本発明の第１実施形態にかかるサーボモータ１の等価回路図である。
サーボモータ１は、永久磁石によって構成される界磁１１と、３相（ｕ相，ｖ相，ｗ相）の電機子巻線を有する電機子１２とを備える３相同期モータである。界磁１１は、ロータとして回転可能に設けられている。ステータとしての電機子１２の各相の電機子巻線に、互いに位相が１２０°ずつ異なる交流電圧（電機子電圧）を印加すると、この交流電圧と同一の周波数で回転する電機子磁束を発生することができる。界磁１１は、この回転電機子磁束に対して自身の界磁束を平行にしようとする磁気的な力を受けて、当該回転電機子磁束に追従して回転する（回転角度ψ、回転角速度ω＝ｄψ／ｄｔ。以下、特に断らない限りω≧０（時計回り）、と仮定する）。以上のようにして、サーボモータ１では回転動力が発生される。
なお、図１において、Ｖｕ，Ｖｖ，Ｖｗは電機子１２の各相の電機子電圧、Ｒは各相共通の抵抗、Ｌ´は各相共通の自己インダクタンス、Ｍ´は各相間の相互インダクタンスである。また、界磁１１の回転角度ψは、界磁束の方向（界磁１１のＮ極とＳ極とを結ぶ方向）が、電機子１２のｕ相の形成方向に対してなす角度として定義される。
【００３０】
図１のサーボモータ１に対してｄｑ変換を施すと、図２の等価回路が得られる。
図２において、ｄ軸は界磁束の方向と一致され、これと直交する方向にｑ軸が形成されている。図１における３相（ｕ相，ｖ相，ｗ相）の電機子巻線は、ｄ相，ｑ相からなる２相の電機子巻線に変換されている。
この図において、Ｖｄ，Ｖｑは各相の電機子電圧、Ｉｄ，Ｉｑは各相の電機子電流、Ｒは各相共通の抵抗、Ｌは各相共通の自己インダクタンス、Φは各相の電機子巻線に鎖交する総磁束である。これらの各量は、同期モータに関して知られている次の回路方程式を満たす。
【００３１】
【数１】
2007151294.tif 000003
【００３２】
ここで、Ｐは微分演算子ｄ／ｄｔである。この方程式の右辺の第２項は、ｄｑ各相の電機子巻線に誘起される逆起電力を表しており、Φによる逆起電力ω・Φがｑ相の電機子巻線だけに誘起されることがわかる。
【００３３】
図２において、サーボモータ１のトルクＴを発生させるのは、ｄ軸方向の界磁束と直交するｑ軸電流Ｉｑである（具体的には、Ｔ∝Φ・Ｉｑ）。これに対してｄ軸電流ＩｄはトルクＴの発生に寄与しない無効電流であるが、特許文献１に記載されているように、負の無効電流Ｉｄを流すことによって、逆起電力を相殺する相殺電圧成分を発生することができ、電機子１２における電圧飽和の発生を防止することができる。
【００３４】
図３は、図１および図２に示されるサーボモータ１のフィードバック制御ブロック線図である。
位置指令器２１は、所定のパートプログラムに従ってサーボモータ１の回転角度（界磁１１の回転角度ψ）の指令値ψ＊を出力する。角度指令ψ＊は、位置比較器２２において、位置センサ３１にて測定された実際の角度ψと比較され、両者の角度偏差Δψ＝ψ＊―ψが位置制御器２３に入力される。速度指令器としての位置制御器２３は、角度偏差Δψに基づいて所定の演算を行い、サーボモータ１の回転速度の指令値ω＊を算出して出力する。速度指令ω＊は、速度比較器２４において、速度センサ３２によって測定された実際の回転速度ωと比較され、両者の速度偏差Δω＝ω＊―ωが速度制御器２５に入力される。総電流指令器としての速度制御器２５は、速度偏差Δωに基づいて所定の演算を行い、サーボモータ１における電機子１２の総電流（総電機子電流）の指令値Ｉ＊を算出して演算器２６に出力する。なお、速度制御器２５は、リミッタ２５１を備えて構成されている。後で詳しく述べるように、リミッタ２５１は予め設定された総電流指令の上限Ｉ＊ｍａｘ（＞０）に基づいて総電流指令Ｉ＊を監視し、総電流指令の絶対値｜Ｉ＊｜がＩ＊ｍａｘを上回らないように制限する。
【００３５】
演算器２６には、速度制御器２５から出力される総電流指令Ｉ＊とともに、後述する２相／３相変換器２９から出力されるｕ相，ｖ相，ｗ相の電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊も入力され、当該各値に基づいて後述する位相角θ（０°≦θ≦９０°）が算出される。そして、演算器２６は、ｄ軸電流指令Ｉｄ＊，ｑ軸電流指令Ｉｑ＊を、総電流指令Ｉ＊，位相角θによって、Ｉｄ＊＝−｜Ｉ＊｜・ｓｉｎθ，Ｉｑ＊＝Ｉ＊・ｃｏｓθ、と規定して出力する。
【００３６】
演算器２６には、サーボモータ１の電機子１２において電圧飽和を発生することなくｕ，ｖ，ｗ各相の電機子巻線に印加することが可能な最大電機子電圧Ｖｍａｘの各値と、当該各最大電機子電圧Ｖｍａｘよりも小さく設定された所定の電圧指令値閾値Ｖｏの各値とが、予め格納されている。ここで、最大電機子電圧Ｖｍａｘの値，電圧指令値閾値Ｖｏの値は、ｕ，ｖ，ｗ各相ごとに異なる値であってもよいが、本実施形態では、ｕ，ｖ，ｗ各相の最大電機子電圧Ｖｍａｘの各値を一律に百分率表示で１００％とし、当該百分率表示の下でｕ，ｖ，ｗ各相の電圧指令値閾値Ｖｏの値を一律に９０％と設定している。
【００３７】
演算器２６は、所定周期（例えば、250μs）で、２相／３相変換器２９から各相の電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊を取り込み、当該各値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊を前記百分率表示の下での百分率に変換した後、電圧指令値閾値Ｖｏ（＝９０％）と比較する。
【００３８】
比較の結果、各相の電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊の全てが電圧指令値閾値Ｖｏ（＝９０％）を超えていなかった場合、演算器２６は、θ＝０°と算出して、Ｉｄ＊＝０，Ｉｑ＊＝Ｉ＊を出力する。
【００３９】
一方、比較の結果、各相の電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊の少なくとも１つが電圧指令値閾値Ｖｏ（＝９０％）を超えていた場合、演算器２６は、当該Ｖｏを超えた電圧指令値（前記百分率表示の下での百分率）をＶ（Ｖｏを超えた電圧指令値が複数ある場合は、最大の電圧指令値とする）として、θ＝｛（Ｖ−Ｖｏ）／（Ｖｍａｘ−Ｖｏ）｝・９０°＝｛（Ｖ−９０）／（１００−９０）｝・９０°と算出し、当該θによって規定されるＩｄ＊，Ｉｑ＊を出力する。ここで、Ｖ＝９０％（Ｖｏ）のときには、θ＝０°であってＩｄ＊は０となり、９０％（Ｖｏ）＜Ｖ＜１００％（Ｖｍａｘ）のときには、θ≠０°（０°＜θ＜９０°）であって、Ｉｄ＊は負の値となる。例えば、Ｖ＝９５％のときには、θ＝４５°であって、Ｉｄ＊＝−｜Ｉ＊｜・（１／√２），Ｉｑ＊＝Ｉ＊・（１／√２）となる。そして、Ｖが大きくなれば、θが大きくなってＩｄ＊（＝−｜Ｉ＊｜・ｓｉｎθ）は（負方向に）大きくなり、Ｖ＝１００％（Ｖｍａｘ）となると、θ＝９０°となり、Ｉｄ＊は最大になる。
【００４０】
以上のように、本実施形態では、ｕ，ｖ，ｗ各相の各電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊の現在の値に基づいて位相角θを制御してｄ軸電流指令Ｉｄ＊の大きさを制御している。特に、本実施形態では、演算器２６が各相の電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊を取り込む周期（例えば、250μs）で、位相角θが順次更新されるようになっている。
【００４１】
演算器２６から出力されたｄｑ各軸電流指令Ｉｄ＊，Ｉｑ＊は、それぞれ、ｄｑ各軸電流比較器２７ｄ，２７ｑにおいて、サーボモータ１の電機子１２に実際に流されているｄｑ各軸電流Ｉｄ，Ｉｑと比較され、ｄｑ各軸電流偏差ΔＩｄ＝Ｉｄ＊―Ｉｄ，ΔＩｑ＝Ｉｑ＊―Ｉｑが電流制御器２８に出力される。ここで、電流比較器２７ｄ，２７ｑに入力されるｄｑ各軸電流Ｉｄ，Ｉｑは、ｄｑ変換前の３相サーボモータ１（図１参照）のｕ，ｖ，ｗ各相の電機子電流Ｉｕ，Ｉｖ，Ｉｗを各相ごとに設けられた電流センサ３３ｕ，３３ｖ，３３ｗによって測定し、これらを３相／２相変換器３４によってｄｑ２相のｄｑ軸電流Ｉｄ，Ｉｑに変換することにより得られたものである。
【００４２】
ｄｑ各軸電流偏差ΔＩｄ，ΔＩｑが入力された電流制御器２８は、これらに基づいて所定の演算を行い、ｄｑ各軸電圧指令Ｖｄ＊、Ｖｑ＊を算出して出力する。
【００４３】
２相／３相変換器２９は、ｄｑ各軸電圧指令Ｖｄ＊，Ｖｑ＊の入力に基づいて所定の演算を行い、ｕｖｗ３相電圧指令Ｖｕ＊，Ｖｖ＊，Ｖｗ＊を算出して電力変換器３０に出力する。なお、前述したように、２相／３相変換器２９から出力される各相の電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊は、所定周期で演算器２６に取り込まれ、ｄ軸電流指令Ｉｄ＊の大きさを規定する位相角θの演算に用いられるようにもなっている。
【００４４】
電力変換器３０は、図示しない電源装置によって、２相／３相変換器２９から入力された３相の電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊に基づく電機子電圧Ｖｕ、Ｖｖ、Ｖｗをｕ，ｖ，ｗ各相の電機子巻線に印加し、当該各電機子電圧に対応する３相の電機子電流Ｉｕ，Ｉｖ，Ｉｗを当該各相の電機子巻線に流す。
【００４５】
以上のように、サーボモータ１では、図３に示されるフィードバックループによって、位置，速度，電圧または電流が適切に制御されるようになっている。
【００４６】
特に、本実施形態では、電機子１２における電圧飽和の発生を防止するための無効電流指令Ｉｄ＊の大きさを規定する位相角θを、ｕ，ｖ，ｗ各相の電機子巻線に印加する各電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊に基づいて演算器２６が制御している。具体的には前述した通りであるが、大雑把に言えば、ｕ，ｖ，ｗ各相への各電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊が大きくなって電機子１２において電圧飽和が発生する可能性が高くなったときは、位相角θが大きくなって無効電流指令Ｉｄ＊が大きくなり、ｕ，ｖ，ｗ各相への各電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊が小さくなって電機子１２において電圧飽和が発生する可能性が低くなったときは、位相角θが小さくなって無効電流指令Ｉｄ＊が小さくなるようになっている。このように、本実施形態では、電機子１２における電圧飽和の発生と直接的に関係するｕ，ｖ，ｗ各相の電機子巻線への各電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊に基づいて位相角θを制御して無効電流指令Ｉｄ＊の大きさを制御しているため、電圧飽和が発生しそうな場合に限って必要最小限の無効電流Ｉｄを電機子１２に流すことができるので、余分な無効電流Ｉｄを流すことなく、的確に電圧飽和の発生を防止することができる。
【００４７】
また、本実施形態では、速度制御器２５に設けられたリミッタ２５１によって、電機子１２を流れる総電流Ｉの指令である総電流指令Ｉ＊の絶対値｜Ｉ＊｜が、電機子１２における許容電流値Ｉｍａｘに対応する総電流指令の上限Ｉ＊ｍａｘを上回らないように制限される（｜Ｉ＊｜≦Ｉ＊ｍａｘ）ので、電機子１２に過度の電流が流れることを防止して、サーボモータ１の破損を防止することができる。
より具体的には、速度偏差Δωに基づいて速度制御器２５によって算出された総電流指令Ｉ＊の絶対値｜Ｉ＊｜が上限Ｉ＊ｍａｘを超えているとき（｜Ｉ＊｜＞Ｉ＊ｍａｘ）、リミッタ２５１は、算出された総電流指令Ｉ＊の代わりに、予め記憶された修正総電流指令Ｉ＊ｒを総電流指令Ｉ＊として演算器２６に出力する。ここで、修正総電流指令Ｉ＊ｒは、｜Ｉ＊ｒ｜≦Ｉ＊ｍａｘ、を満たす任意の数値でよいが、サーボモータ１における発生トルクＴを大きく確保するためには、｜Ｉ＊ｒ｜＝Ｉ＊ｍａｘ、として修正総電流指令Ｉ＊ｒをできる限り大きくすることが好ましい。
【００４８】
＜第２実施形態＞
続いて、本発明の第２実施形態について説明する。
なお、第１実施形態と共通する事項については説明を省略または簡略化し、両実施形態間において対応する構成要素については同一符号を付す。
第２実施形態にかかるサーボモータ１では、主として演算器２６（図３）が第１実施形態にかかるサーボモータ１と相違する。
【００４９】
演算器２６は、第１実施形態と同様に、所定周期（例えば、250μs）で、２相／３相変換器２９から各相の電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊を取り込み、当該各値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊を、ｕ，ｖ，ｗ各相の最大電機子電圧Ｖｍａｘの各値を１００％とする百分率表示の下での百分率に変換した後、電圧指令値閾値Ｖｏ（第１実施形態と同じく９０％と設定する）と比較する。
【００５０】
比較の結果、各相の電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊の全てが電圧指令値閾値Ｖｏ（＝９０％）を超えていなかった場合、比較結果が『０』であるとして、演算器２６は、当該比較結果『０』を記録する。ここで、比較結果『０』は、各電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊の全てが電圧指令値閾値Ｖｏを超えておらず、電圧飽和が発生する可能性が低いということを意味する。
一方、比較の結果、各相の電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊の少なくとも１つが電圧指令値閾値Ｖｏ（＝９０％）を超えていた場合、比較結果が『１』であるとして、演算器２６は、当該比較結果『１』を記録する。ここで、比較結果『１』は、各電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊の少なくとも１つが電圧指令値閾値Ｖｏを超えており、電圧飽和が発生する可能性が高いということを意味する。
以上のように、演算器２６は、取り込んだ各相の電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊に応じて、『０』または『１』の比較結果を記録する。ここで、演算器２６は、各相の電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊を所定周期（例えば、250μs）で取り込んでいるので、『０』または『１』の比較結果も当該所定周期で演算器２６に記録されるようになっている。
【００５１】
演算器２６は、所定周期で記録される比較結果のうち、時間的に直前の少なくともＮｏ回分の比較結果を記録しておくことができ、当該Ｎｏ回分の比較結果に基づいて、表式：Ｉｄ＊＝−｜Ｉ＊｜・ｓｉｎθ，Ｉｑ＊＝Ｉ＊・ｃｏｓθ、における位相角θの制御を行う（以下、Ｎｏ＝３２の場合を例にとって説明する）。
すなわち、時間的に直前の３２回分の比較結果のうち、電圧飽和が発生する可能性が高いということを意味する比較結果『１』の数をＮとして、θ＝（Ｎ／Ｎｏ）・９０°＝（Ｎ／３２）・９０°、を満たすように演算器２６はθを制御する。
【００５２】
ここで、Ｎ＝０のとき（直前の３２回分の比較結果の全てが、電圧飽和が発生する可能性が低いということを意味する『０』であったとき）には、θ＝０°であって、無効電流指令Ｉｄ＊は０となり、０＜Ｎ≦３２のとき（直前の３２回の比較のうちＮ回において、電圧飽和が発生する可能性が高いということを意味する比較結果『１』が記録されたとき）には、θ≠０°（０°＜θ＜９０°）であって、無効電流指令Ｉｄ＊は負の値となる。例えば、直前の３２回の比較のうち１６回において、比較結果『１』が記録されたときには、θ＝４５°であって、Ｉｄ＊＝−｜Ｉ＊｜・（１／√２），Ｉｑ＊＝Ｉ＊・（１／√２）となる。そして、比較結果『１』の数Ｎが大きくなれば、θが大きくなってＩｄ＊（＝−｜Ｉ＊｜・ｓｉｎθ）は（負方向に）大きくなり、Ｎ＝３２（Ｎｏ）となると、θ＝９０°となり、Ｉｄ＊は最大になる。
【００５３】
以上のように、本実施形態では、ｕ，ｖ，ｗ各相の各電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊の過去の値（直前の３２回分の比較結果）に基づいて位相角θを制御して無効電流指令Ｉｄ＊の大きさを制御している。なお、本実施形態では、演算器２６が各相の電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊を取り込む周期（例えば、250μs）で新たな比較結果が得られるようになっており、当該新たな比較結果によって、θの決定に利用される３２回分の比較結果のうち最も古い比較結果が置換されるようになっている。このように、位相角θの決定に利用される直前の３２回分の比較結果が前記周期で順次更新されるので、位相角θも当該周期で順次更新されるようになっている。
【００５４】
以上のように、本実施形態では、電機子１２における電圧飽和の発生を防止するための無効電流指令Ｉｄ＊の大きさを規定する位相角θを、ｕ，ｖ，ｗ各相の電機子巻線に印加する各電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊に基づいて演算器２６が制御している。具体的には前述した通りであるが、大雑把に言えば、直前の３２回分の比較結果に占める比較結果『１』の数が大きくなって、電圧飽和が発生する可能性が高くなったときは、位相角θが大きくなって無効電流指令Ｉｄ＊が大きくなり、直前の３２回分の比較結果に占める比較結果『１』の数が小さくなって、電圧飽和が発生する可能性が低くなったときは、位相角θが小さくなって無効電流指令Ｉｄ＊が小さくなるようになっている。このように、本実施形態では、電圧飽和が発生しそうな場合に限って必要最小限の無効電流Ｉｄを電機子１２に流すことができるので、余分な無効電流Ｉｄを流すことなく、的確に電圧飽和の発生を防止することができる。
【００５５】
＜第３実施形態＞
続いて、本発明の第３実施形態について説明する。
なお、第１，２実施形態と共通する事項については説明を省略または簡略化し、当該各実施形態間において対応する構成要素については同一符号を付す。
【００５６】
本実施形態では、図３におけるリミッタ２５１が設けられておらず、速度制御器２５からの指令値Ｉ＊が、そのまま、演算器２６に入力される。
演算器２６では、第１実施形態に記載した式：θ＝｛（Ｖ−Ｖｏ）／（Ｖｍａｘ−Ｖｏ）｝・９０°、または、第２実施形態に記載した式：θ＝（Ｎ／Ｎｏ）・９０°、に基づいて位相角θ（０°≦θ＜９０°）が算出される。そして、演算器２６は、ｄ軸電流指令Ｉｄ＊，ｑ軸電流指令Ｉｑ＊を、速度制御器２５からの指令値Ｉ＊，位相角θによって、Ｉｄ＊＝−｜Ｉ＊｜・ｔａｎθ、Ｉｑ＊＝Ｉ＊、と規定して出力する。
【００５７】
演算器２６には、Ｉｓ＊２＝Ｉｄ＊２＋Ｉｑ＊２＝Ｉ＊２・（１＋ｔａｎ２θ）、で表される総電流指令Ｉｓ＊の絶対値が、上限Ｉｓ＊ｍａｘを上回らないように制限するリミッタ（図示せず）が設けられている。ここで上限Ｉｓ＊ｍａｘは、第１，２実施形態における総電流指令の上限Ｉ＊ｍａｘと同一の値であり、電機子１２における許容電流値Ｉｍａｘに対応する。
【００５８】
リミッタ２６１は、演算器２６によって算出されたＩｄ＊（＝−｜Ｉ＊｜・ｔａｎθ＝−｜Ｉｑ＊｜・ｔａｎθ）とＩｑ＊（＝Ｉ＊）とに基づいてＩｓ＊を算出し、その絶対値｜Ｉｓ＊｜を上限Ｉｓ＊ｍａｘと比較する。
｜Ｉｓ＊｜≦Ｉｓ＊ｍａｘ、のとき、リミッタ２６１は、ｄｑ各軸電流指令Ｉｄ＊，Ｉｑ＊を適正であると判定し、そのまま、ｄｑ各軸電流比較器２７ｄ，２７ｑに出力する。
一方、｜Ｉｓ＊｜＞Ｉｓ＊ｍａｘのときは、このＩｓ＊を与えるＩｄ＊，Ｉｑ＊に基づくｄｑ各軸電流Ｉｄ，Ｉｑを電機子１２に流すと、総電流の絶対値｜Ｉｓ｜＞許容電流値Ｉｍａｘ、となってしまい、異常発熱等の問題が生じてしまう。そこで、リミッタ２６１は、このＩｄ＊，Ｉｑ＊を不適正と判定する。そして、リミッタ２６１は、Ｉｄ＊＝−Ｉｓ＊ｍａｘ・ｓｉｎθ，Ｉｑ＊＝±Ｉｓ＊ｍａｘ・ｃｏｓθ、をｄｑ各軸の修正電流指令としてｄｑ各軸電流比較器２７ｄ、２７ｑに出力する。なお、Ｉｑ＊の式の右辺に付いている『±』は、サーボモータ１で発生させるトルクの向きに応じて適宜Ｉｑ＊の符号を選択して出力することを意味する。また、このとき、Ｉｓ＊２＝Ｉｄ＊２＋Ｉｑ＊２＝Ｉｓ＊ｍａｘ２、である。
以上のように、｜Ｉｓ＊｜とＩｓ＊ｍａｘとの大小関係によらず、電機子１２を流れる総電流Ｉｓの絶対値が許容電流値Ｉｍａｘ以下となるので、異常発熱等の問題が生じることなく、安全にサーボモータ１を運転することができる。
【産業上の利用可能性】
【００５９】
本発明は、サーボモータに利用することができる。
【図面の簡単な説明】
【００６０】
【図１】本発明の第１実施形態にかかるサーボモータの等価回路図である。
【図２】前記第１実施形態にかかるサーボモータに対してｄｑ変換を施して得られる等価回路図である。
【図３】前記第１実施形態にかかるサーボモータのフィードバック制御ブロック線図である。
【符号の説明】
【００６１】
１…サーボモータ
１１…界磁
１２…電機子
２１…位置指令器
２３…位置制御器
２５…速度制御器
２６…演算器
２８…電流制御器
２９…２相／３相変換器
３０…電力変換器
３１…位置センサ
３２…速度センサ
３３ｕ，３３ｖ，３３ｗ…電流センサ
３４…３相／２相変換器
２５１…リミッタ
【図１】
2007151294.tif 000004
【図２】
2007151294.tif 000005
【図３】
2007151294.tif 000006