(57)【特許請求の範囲】
【請求項１】
モータの駆動電流をｄｑ直交座標に変換するｄｑ変換を用いてｄ軸およびｑ軸の電流値を求め各軸毎に電流ループ処理を行ってモータをベクトル制御するモータ制御装置において、トルク指令の補正の必要性を判断する判断手段と、上記判断手段でトルク指令の補正が必要であると判断されると上記電流ループに入力する上記トルク指令を補正する補正部を備え、上記判断手段は、ｄｑ各軸の電圧指令値の合成ベクトルが制限電圧を超えており、かつ、上記モータの出力トルクが上記トルク指令に追従していないことを条件として、上記トルク指令の補正が必要であると判断し、上記補正部は、上記合成ベクトルの長さと制限電圧の偏差の積分値に基づいて上記トルク指令を補正することを特徴とするモータ制御装置。
【請求項２】
上記判断手段は、上記トルク指令の補正を開始した後に、上記モータの出力トルクが上記トルク指令に追従することを条件に上記トルク指令の補正が必要でないと判断して上記トルク指令の補正を中止することを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
上記補正部は、上記合成ベクトルの長さと制限電圧の偏差を求める演算部と、当該演算部の演算結果を積分する積分部と、積分部の演算結果にゲインを乗じるゲイン乗算部とを備え、当該ゲイン乗算部の演算結果を用いて上記トルク指令を補正することを特徴とする請求項１または２に記載のモータ制御装置。
【請求項４】
上記ゲイン乗算部は、上記判断手段の判断結果が上記トルク指令の補正が必要である場合に０ではない任意の正の値に設定されるゲインを選択し、上記判断手段の判断結果が上記トルク指令の補正が不要である場合に０に設定されるゲインを選択することを特徴とする請求項３に記載のモータ制御装置。
【請求項５】
上記判断手段は、上記ｄｑ各軸の電圧指令値の上記合成ベクトルの長さの二乗値と、上記制限電圧の二乗値を比較して上記ｄｑ各軸の電圧指令値の合成ベクトルが上記制限電圧を超えているか否かで上記トルク指令の補正の必要性を判断するとともに、上記合成ベクトルの長さの二乗値と上記制限電圧の二乗値の偏差の積分値に基づいて上記トルク指令を補正することを特徴とする請求項１から４のいずれかに記載のモータ制御装置。
【請求項６】
上記モータがＩＰＭモータであって、トルク指令がｄ軸電流指令値とｑ軸電流指令値に分配される場合、上記判断手段は、ｄ軸電流指令値とｄ軸電流値との偏差およびｑ軸電流指令値とｑ軸電流値の偏差に基づいて上記モータの上記出力トルクが上記トルク指令に追従しているか否かを判断することを特徴とする請求項１から５のいずれかに記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置に関する。
【背景技術】
【０００２】
この種、モータの制御装置としては、たとえば、三相の巻線に流れる電流のうち任意の二相の電流値とロータの電気角から磁界の作る磁束方向のｄ軸とｄ軸に直交するｑ軸のｄｑ座標に変換してｄ軸とｑ軸の電流値を演算し、各軸毎の電流値と電流指令値の偏差を採って比例積分動作等を行う電流ループ処理を行って、ｄ軸電圧指令値およびｑ相電圧指令を演算し、さらに、ｄ軸電圧指令値およびｑ軸電圧指令値を三相の電圧指令値に変換し、この三相の電圧指令値に基づいてモータをＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）制御するものが知られている（たとえば、特許文献１参照）。
【０００３】
そして、上記電流ループにおける処理には、ｄｑ各相のそれぞれにおける電流値と電流目標値の偏差を採って積分する動作が含まれており、ｄ軸電圧指令値とｑ軸電圧指令値の合成ベクトルが電源電圧やＰＷＭ駆動する際の最大デューティ比等に依存してシステム上制限される制限電圧を超えると、各軸電圧指令値通りに各軸電流を制御できず、制御偏差が増えて電流ループにおける積分値の絶対値が増大するようになって、モータを正常に制御できない状態となる。
【０００４】
そこで、上記従来のモータ制御装置にあっては、ｑ軸の電流指令値をモータのその時点での回転速度で採り得る最大値あるいは最小値であるリミット値にクランプして、ｄ軸電圧指令値とｑ軸電圧指令値の合成ベクトルが制限電圧を超えて、飽和状態にあっても積分演算における積分値が増大しまうことがないように配慮している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−６７５８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
このように、従来のモータ制御装置では、モータの諸元に応じて予めマップ化しておいたｑ軸電流指令値をクランプするリミッタ値を参照しつつモータを制御する必要があるため、諸元の異なるモータを制御する場合、当該モータに最適となるマップを用意したり、制御則を設計しなおしたりする必要が生じるほか、諸元の誤差に起因して制御性能が低下する可能性がある。
【０００７】
そこで、本発明は、上記不具合を改善するために創案されたものであって、その目的とするところは、モータの諸元に依存せずに電圧指令値の飽和を解消してモータを適切に制御できるモータ制御装置を提供することである。
【課題を解決するための手段】
【０００８】
上記した目的を達成するため、本発明の課題解決手段は、モータの駆動電流をｄｑ直交座標に変換するｄｑ変換を用いてｄ軸およびｑ軸の電流値を求め各軸毎に電流ループ処理を行ってモータをベクトル制御するモータ制御装置において、トルク指令の補正の必要性を判断する判断手段と、上記判断手段でトルク指令の補正が必要であると判断されると上記電流ループに入力する上記トルク指令を補正する補正部を備え、上記判断手段は、ｄｑ各軸の電圧指令値の合成ベクトルが制限電圧を超えており、かつ、上記モータの出力トルクが上記トルク指令に追従していないことを条件として、上記トルク指令の補正が必要であると判断し、上記補正部は、上記合成ベクトルの長さと制限電圧の偏差の積分値に基づいて上記トルク指令を補正することを特徴とする。
【発明の効果】
【０００９】
本発明のモータ制御装置によれば、モータの諸元を一切用いずにトルク指令を補正するので、同じ諸元を持つモータでも諸元に誤差があるモータや、全く諸元の異なるモータを制御するに際しても、制御則を何ら設計変更することなしに、ｄ軸電圧指令値およびｑ軸電圧指令値の合成ベクトルの飽和を解消して電流ループにおける積分飽和も抑制でき、常にモータを適切に制御することができ、安定かつ良好な制御結果を得ることができる。
【図面の簡単な説明】
【００１０】
【図１】一実施の形態におけるモータ制御装置の構成の一例を示す図である。
【図２】ｄ軸およびｑ軸の電圧指令値の合成ベクトルが制限電圧を超えた状態を説明する図である。
【図３】一実施の形態のモータ制御装置における合成ベクトルの飽和を判断する処理手順の一例を示すフローチャートである。
【図４】一実施の形態の一変形例におけるモータ制御装置の構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図に示した実施の形態に基づき、本発明を説明する。一実施の形態におけるモータ制御装置１は、たとえば、図１に示すように、モータＭのＵ，Ｖ，Ｗの三相巻線に流れる電流を制御して、モータＭを駆動するようになっている。
【００１２】
モータ制御装置１は、具体的にはたとえば、図１に示すように、モータＭが駆動する図外の被駆動対象の制御を司る図示しない上位の制御装置から入力されるｄ軸電流指令値ｉｄ*とｄ軸電流値ｉｄに基づいてｄ軸電圧指令値Ｖｄ*を求めるｄ軸電圧指令演算部２と、同じく、上記の制御装置から入力されるｑ軸電流指令値ｉｑ*とｑ軸電流値ｉｑとに基づいてｑ軸電圧指令値Ｖｑ*を求めるｑ軸電圧指令演算部３と、トルク指令の補正の必要性を判断する判断手段としての判断部４と、電流センサ１０で検出した上記モータＭの三相のうち二相の巻線に流れる電流を位置センサ１１で検出した図示しないモータＭにおけるロータの電気角θからｄｑ直交座標系のｄ軸およびｑ軸の電流に変換してｄ軸電流値ｉｄおよびｑ軸電流値ｉｑを得る三相／二相変換部５と、ｑ軸電流指令値ｉｑ*を補正する補正部６と、上記ｄ軸電圧指令値Ｖｄ*およびｑ軸電圧指令値Ｖｑ*をロータの電気角θからＵ，Ｖ，Ｗの三相各相の電圧指令値Ｖｕ*，Ｖｖ*，Ｖｗ*に変換する二相／三相変換部７と、Ｕ相電圧指令値Ｖｕ、Ｖ相電圧指令値ＶｖおよびＷ相電圧指令値ＶｗからＰＷＭ信号を生成するＰＷＭ信号生成器８と、ＰＷＭ信号に対応したデューティ比および電圧方向でＵ，Ｖ，Ｗの各相の巻線へ通電するインバータ回路９とを備えて構成されている。
【００１３】
また、この場合、モータＭは、三相ブラシレスのＳＰＭモータ（Ｓｕｒｆａｃｅ  Ｐｅｒｍａｎｅｎｔ  Ｍａｇｎｅｔ  Ｍｏｔｏｒ）とされており、ＳＰＭモータが出力するトルクがｑ軸電流指令値ｉｑ*に比例するのでｑ軸電流指令値ｉｑ*をトルク指令としている。なお、通常制御の状態では、上位の制御装置にてｄ軸電流指令値ｉｄ*が０に設定され、弱め界磁制御する場合には、ｄ軸電流指令値ｉｄ*が負の任意の値に設定されて制御されることになる。
【００１４】
そして、このモータ制御装置１は、基本的には、上位の制御装置にて設定されるｄ軸電流指令値ｉｄ*と、トルク指令としてのｑ軸電流指令値ｉｑ*と三相／二相変換部５の演算結果として得られるｄ軸およびｑ軸の電流値ｉｄ，ｉｑとのそれぞれの偏差εｄ，εｑに基づいてモータＭを比例積分制御する。なお、偏差εｄ，εｑを微分して得られる要素を追加して比例微分積分制御を行うようにしてもよい。
【００１５】
なお、上記したところでは、上位の制御装置によってｄ軸電流指令値ｉｄ*とｑ軸電流指令値ｉｑ*を決定して、これをモータ制御装置１に入力する構成としているが、モータ制御装置１に位置ループや速度ループ、さらには、モータＭで駆動する駆動対象の運動を制御するための制御器等を設ける場合には、ｄ軸電流指令値ｉｄ*とｑ軸電流指令値ｉｑ*をモータ制御装置１内で生成してもよい。
【００１６】
以下、各部について詳細に説明すると、ｄ軸電圧指令演算部２は、ｄ軸電流指令値ｉｄ*とｄ軸電流値ｉｄとの偏差εｄを演算する加算部２ａと、偏差εｄを積分して積分ゲインを乗算した値に偏差εｄに比例ゲインを乗算した値を加算してｄ軸電圧指令値Ｖｄ*を演算する比例積分演算部２ｂとを備えて構成されている。そして、ｄ軸電圧指令演算部２、三相／二相変換部５、モータＭ、電流センサ１０でなるループでｄ軸における電流ループを構成している。
【００１７】
詳しくは、偏差εｄは、εｄ＝ｉｄ*−ｉｄの計算式を演算することによって求めればよく、偏差εｄの積分については、積分値をｆｄとし、前回制御時に演算されたｄ軸の積分値をｆｄｐｒｅとすると、ｄ軸における積分値ｆｄはｆｄ＝ｆｄｐｒｅ＋εｄで演算することができる。
【００１８】
したがって、ｄ軸電圧指令値Ｖｄ*は、比例ゲインをＫＰｄとし、積分ゲインをＫＩｄとすると、Ｖｄ*＝ＫＩｄ・ｆｄ＋ＫＰｄ・εｄで演算できる。
【００１９】
ｑ軸電圧指令演算部３は、ｑ軸電流指令値ｉｑ*とｑ軸電流値ｉｑとの偏差εｑを演算する加算部３ａと、偏差εｑを積分して積分ゲインを乗算した値に偏差εｑに比例ゲインを乗算した値を加算してｑ軸電圧指令値Ｖｑ*を演算する比例積分演算部３ｂとを備えて構成されている。そして、ｑ軸電圧指令演算部３、三相／二相変換部５、モータＭ、電流センサ１０でなるループでｑ軸における電流ループを構成している。
【００２０】
このｑ軸電圧指令値Ｖｑ*の演算についても、ｄ軸電圧指令値Ｖｄ*と同様の手順で演算すればよい。具体的には、偏差εｑは、εｑ＝ｉｑ*−ｉｑの計算式を演算することによって求めればよく、偏差εｑの積分については、積分値をｆｑとし、前回制御時に演算されたｑ軸の積分値をｆｑｐｒｅとすると、ｑ軸における積分値ｆｑはｆｑ＝ｆｑｐｒｅ＋εｑで演算することができる。よって、ｑ軸電圧指令値Ｖｑ*は、比例ゲインをＫＰｑとし、積分ゲインをＫＩｑとすると、Ｖｑ*＝ＫＩｑ・ｆｑ＋ＫＰｑ・εｑで演算できる。
【００２１】
電流センサ１０としては、ホール素子や巻線等を用いた非接触型や、三相の巻線のいずれか二つに直列介装した抵抗の電圧降下から電流値を得る電流センサを用いればよい。また、電流センサ１０は、Ｕ，Ｖ，Ｗ相のうち二相に流れる電流値を検出すればよく、これは、三相の巻線はデルタ結線或いはＹ結線されており、二相の電流値が分かればモータＭのロータの電気角θを用いて三相／二相変換部５にて、二相の巻線の電流値からｄ軸およびｑ軸の電流値ｉｄ，ｉｑへ変換する演算が可能だからである。
【００２２】
二相／三相変換部７は、上記ｄ軸電圧指令値Ｖｄ*およびｑ軸電圧指令値Ｖｑ*を実際のＵ，Ｖ，Ｗ各相の電圧指令値Ｖｕ*，Ｖｖ*，Ｖｗ*へ変換し、この変換された各相の電圧指令値Ｖｕ*，Ｖｖ*，Ｖｗ*をＰＷＭ信号生成器８に入力する。ＰＷＭ信号生成器８は、電圧指令値Ｖｕ*，Ｖｖ*，Ｖｗ*に対応するＰＷＭ信号を生成しインバータ回路９に入力する。
【００２３】
インバータ回路９は、図示はしないが、たとえば、電源と、モータＭにおける各相の巻線にそれぞれ接続される三つのアームと、各アームに設けた二つのスイッチング素子とを備えており、各スイッチング素子をＰＷＭ信号生成器８で生成したＰＷＭ信号に応じてオンオフ動作させて、上記電圧指令値Ｖｕ*，Ｖｖ*，Ｖｗ*に応じたデューティ比でモータＭの各相の巻線へ印加する。なお、本実施の形態にあっては、モータＭが三相の巻線を備えているので、インバータ回路９は、三つのアームを備えているが、モータＭの巻線の相数に対応する数のアームを備えていればよい。
【００２４】
すなわち、モータ制御装置１の場合、通常時には、上位制御装置から与えられるｄ軸電流指令値ｉｄ*とｑ軸電流指令値ｉｑ*を対応する各軸の電流ループによって処理して、モータＭを制御するようになっている。
【００２５】
つづいて、判断部４は、トルク指令の補正の必要性を判断するが、具体的には、ｄ軸およびｑ軸の電圧指令値Ｖｄ*，Ｖｑ*の合成ベクトルＶｄｑが飽和しているか否かに基づいて上記判断を行うようになっている。詳しくは、判断部４の判断は、前回判断において上記合成ベクトルＶｄｑが飽和していない場合には、今回の判断時に上記合成ベクトルＶｄｑが飽和しているかを判断し、前回判断において上記合成ベクトルＶｄｑが飽和している場合には、今回の判断時に上記合成ベクトルＶｄｑの飽和が解消しているかを判断するようになっている。
【００２６】
前回判断において上記合成ベクトルＶｄｑが飽和していない場合には、判断部４は、上記合成ベクトルＶｄｑと制限電圧Ｖｌｉｍとを比較して、上記の合成ベクトルＶｄｑが制限電圧Ｖｌｉｍを超えているか否かを調べるとともに、トルク指令とモータＭの出力トルクとを比較し、モータＭの出力トルクがトルク指令に追従しているか否かを調べる。
【００２７】
この場合、モータＭがＳＰＭモータであり、トルク指令がｑ軸電流指令値ｉｑ*で与えられ、モータＭのトルクがｑ軸電流値ｉｑに比例するので、ｑ軸電流指令値ｉｑ*とｑ軸電流値ｉｑとを比較し、ｑ軸電流指令値ｉｑ*の絶対値がｑ軸電流値ｉｑの絶対値より大きいか否かを判断することで、モータＭの出力トルクがトルク指令に追従しているか否かの判断を行うことができる。
【００２８】
そして、図２に示すように、上記合成ベクトルＶｄｑが制限電圧Ｖｌｉｍを超えていて、かつ、ｑ軸電流指令値ｉｑ*の絶対値がｑ軸電流値ｉｑの絶対値より大きい場合に、上記合成ベクトルＶｄｑが飽和していてトルク指令の補正が必要であると判断し、それ以外の場合には合成ベクトルＶｄｑが飽和しておらずトルク指令の補正が不要であると判断する。
【００２９】
他方、前回判断において上記合成ベクトルＶｄｑが飽和していると判断された場合には、判断部４は、今回の判断において、ｑ軸電流指令値ｉｑ*とｑ軸電流値ｉｑとを比較し、ｑ軸電流指令値ｉｑ*の絶対値がｑ軸電流値ｉｑの絶対値以下である場合に、上記合成ベクトルＶｄｑの飽和が解消し、トルク指令の補正の必要はないと判断する。そして、判断部４は、判断結果を補正部６へ出力する。
【００３０】
なお、制限電圧Ｖｌｉｍは、電源電圧やＰＷＭ駆動する際の最大デューティ比等に依存してシステム上制限される電圧である。また、合成ベクトルＶｄｑが制限電圧Ｖｌｉｍを超える場合、基本的には、トルク指令が現在の回転速度においてモータＭが出力可能なトルクを超えると、モータＭの出力トルクがトルク指令に追従しなくなるので、上記したように、ｑ軸電流指令値ｉｑ*の絶対値とｑ軸電流値ｉｑの絶対値とを比較して、ｑ軸電流指令値ｉｑ*の絶対値がｑ軸電流値ｉｑの絶対値より大きいことをもって、トルク指令にモータＭの出力トルクに追従していないことを判断できるのである。
【００３１】
なお、判断部４は、上述したように、ｑ軸電流指令値ｉｑ*の絶対値がｑ軸電流値ｉｑの絶対値より大きいことで、トルク指令への出力トルクの追従状況を判断しているが、ｑ軸電流値ｉｑがｑ軸電流指令値ｉｑ*±閾値α以内の範囲内にあるか否かを判断することで、モータＭの出力トルクがトルク指令に追従しているか否かの判断を行うこともできる。この場合、閾値αは、その値を任意に設定することができるが、制御上看過できない程度のｑ軸電流値ｉｑとｑ軸電流指令値ｉｑ*の差に設定される。さらに、閾値をｑ軸電流指令値ｉｑ*の上下で同じ値に設定しているが、ｑ軸電流指令値ｉｑ*の上下で異なる閾値を設けてもよい。
【００３２】
つづいて、補正部６は、たとえば、上記合成ベクトルＶｄｑの長さＬから制限電圧Ｖｌｉｍを減算する演算部６ａと、当該演算部６ａの演算結果を積分する積分部６ｂと、積分部６ｂの演算結果にゲインを乗じるゲイン乗算部６ｃと、ｑ軸電流指令値ｉｑ*とゲイン乗算部６ｃの演算結果との偏差を演算する偏差演算部６ｄとを備えて構成される。
【００３３】
ゲイン乗算部６ｃは、二つのパスＰ１，Ｐ２を備えており、一つは０でない任意の正の値に設定されるゲインＫｈを乗算するパスＰ１であり、もう一つは、乗算するゲインを０としたパスＰ２である。
【００３４】
そして、ゲイン乗算部６ｃにおける二つのパスは、判断部４の判断結果によって、いずれか一方が選択されて切換えられるようになっており、具体的には、判断部４における判断結果が飽和である場合には、ゲインＫｈを乗算するパスＰ１が選択され、判断結果が飽和でない場合（飽和が解除された場合も含む）、ゲインを０としたパスＰ２が選択される。
【００３５】
このように補正部６を構成することで、判断部４にて合成ベクトルＶｄｑが飽和しておりトルク指令の補正が必要であると判断される場合には、偏差演算部６ｄに補正値として０でない値が入力されることなり、トルク指令であるｑ軸電流指令値ｉｑ*が合成ベクトルＶｄｑの長さＬと制限電圧Ｖｌｉｍとに基づいて補正され、判断部４にて合成ベクトルＶｄｑが飽和していないと判断される場合には、偏差演算部６ｄに補正値として０が入力されるので、結果としてｑ軸電流指令値ｉｑ*は補正されずそのままｑ軸電圧指令演算部３へ入力される。
【００３６】
なお、上記したところでは、二つのパスＰ１，Ｐ２を判断部４の判断結果によって切換えるようにしているが、合成ベクトルＶｄｑが飽和している場合には、単に、補正値を０とし、合成ベクトルＶｄｑが飽和していない場合には、補正値を演算するようにしてもよい。
【００３７】
このような補正を行うと、たとえば、合成ベクトルＶｄｑが、図２に示すように、制限電圧Ｖｌｉｍを超えた場合、合成ベクトルＶｄｑの長さＬと制限電圧Ｖｌｉｍとの差分Ｒをとり、差分Ｒに応じてトルク指令であるｑ軸電流指令値ｉｑ*の絶対値を減じるように補正するから、合成ベクトルの飽和とともに電流ループにおける積分飽和も解消することができる。
【００３８】
すなわち、合成ベクトルＶｄｑが飽和していない場合には、上記した上位の制御装置から与えられるトルク指令であるｑ軸電流指令値ｉｑ*を補正せずにそのままｄ軸電流指令値ｉｄ*とともに電流ループに入力して処理される通常制御が行われ、上記条件に照らし合わせて合成ベクトルＶｄｑが飽和している場合には、トルク指令の補正が必要であると判断されて、ＳＰＭモータを制御する場合のトルク指令であるｑ軸電流指令値ｉｑ*を補正して、飽和を解消する制御が行われる。
【００３９】
また、モータＭの出力トルクがトルク指令に追従していること、この場合、ｑ軸電流値ｉｑがｑ軸電流指令値ｉｑ*に追従していること、を以って、合成ベクトルＶｄｑの飽和の解消を判断するのは、トルク指令であるｑ軸電流指令値ｉｑ*を合成ベクトルＶｄｑの長さＬと制限電圧Ｖｌｉｍとの差分Ｒをフィードバックして補正するようになっており、モータＭの出力トルクに対応するｑ軸電流値ｉｑがトルク指令であるｑ軸電流指令値ｉｑ*に追従していないにもかかわらず、動的に合成ベクトルＶｄｑが制限電圧Ｖｌｉｍ内に収まる場合があるからであり、上記の如く、合成ベクトルＶｄｑの飽和の解消を認識するようにしてトルク指令の補正の要不要を判断することで、トルク指令の補正が必要であるのにこれが中断されてしまうことを回避でき、確実に合成ベクトルＶｄｑの飽和を解消することができる。
【００４０】
また、判断手段である判断部４において、ｄｑ各軸の電圧指令値Ｖｄ*，Ｖｑ*の合成ベクトルＶｄｑが制限電圧Ｖｌｉｍを超えていることだけでなく、モータＭの出力トルクがトルク指令に追従していないことを条件として合成ベクトルＶｄｑが飽和しているとして、トルク指令の補正が必要であると判断するようにしているので、モータＭがトルク指令どおりにトルクを出力している場合にあっても、動的に或いは一過性で合成ベクトルＶｄｑが制限電圧Ｖｌｉｍを超えていることのみでトルク指令を補正する制御を行ってしまうことを回避することができ、このような場合に通常制御を優先させて良好な制御性を得ることができる。
【００４１】
なお、合成ベクトルＶｄｑの長さＬと制限電圧Ｖｌｉｍとの差分Ｒを比例動作によってフィードバックしてトルク指令であるｑ軸電流指令値ｉｑ*を補正することもできるが、積分動作によることで、確実かつ迅速に合成ベクトルＶｄｑの飽和を解消できる。
【００４２】
そして、モータ制御装置１によれば、上記補正に関して、モータＭの諸元を一切用いていないため、同じ諸元を持つモータでも諸元に誤差があるモータや、全く諸元の異なるモータを制御するに際しても、制御則を何ら設計変更することなしに、合成ベクトルＶｄｑの飽和を解消して電流ループにおける積分飽和も抑制でき、常にモータを適切に制御することができ、安定かつ良好な制御結果を得ることができる。
【００４３】
また、モータ制御装置１は、ハードウェア構成としてたとえば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の演算処理装置と、上記演算処理装置に記憶領域を提供するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の主記憶装置と、上記処理に使用されるプログラム等が格納されるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＨＤ（Ｈａｒｄ  Ｄｉｓｋ）等の副記憶装置とを備えており、演算処理装置で上記各種処理を実行することで、上記の電流センサ１０、位置センサ１１、ＰＷＭ信号生成器８およびインバータ回路９以外の各部が実現されるようになっている。
【００４４】
なお、図示はしないが位置センサ１１および電流センサ１０が出力するアナログ信号をデジタル信号に変換するＤ／Ａ変換器と、演算処理装置、主記憶装置および副記憶装置とＤ／Ａ変換器およびインバータ回路とを接続するインターフェース装置とを別途備えている。
【００４５】
ここで、上記したモータ制御装置１におけるトルク指令の補正の必要性に関する判断における処理手順について、図３に示すフローチャートに基づいて説明する。
【００４６】
まず、ステップＳ１でモータ制御装置１は、前回制御時において、トルク指令の補正が行われていたか否か、すなわち、合成ベクトルＶｄｑが飽和しているか否かを、補正フラグのＯｎ、Ｏｆｆによって判断する。補正フラグがＯｎである場合、前回制御時にトルク指令の補正が行われていたと判断し、ステップＳ２へ移行し、反対に、補正フラグがＯｆｆである場合、前回制御時にトルク指令の補正が行われておらず、合成ベクトルＶｄｑが飽和していなかったと判断し、ステップＳ６へ移行する。
【００４７】
ステップＳ２では、前回制御時においてトルク指令の補正が行われていた状況であるので、モータ制御装置１は、トルク指令であるｑ軸電流指令値ｉｑ*の絶対値がモータＭの出力トルクを示すｑ軸電流値ｉｑの絶対値とを比較する。そして、ｑ軸電流指令値ｉｑ*の絶対値がｑ軸電流値ｉｑの絶対値より大きい場合には、前回制御時に引き続いて今回制御時も合成ベクトルＶｄｑが飽和状態から脱しておらず、トルク指令の補正が必要であると判断しステップＳ５へ移行し、ｑ軸電流指令値ｉｑ*の絶対値がｑ軸電流値ｉｑの絶対値以下の場合には、今回制御時には、合成ベクトルＶｄｑの飽和が解消されておりトルク指令の補正が不要であると判断しステップＳ３へ移行する。
【００４８】
ステップＳ３では、合成ベクトルＶｄｑの飽和が解消されていてトルク指令の補正が不要であるので、モータ制御装置１は、補正フラグをＯｆｆに設定して、トルク指令であるｑ軸電流指令値ｉｑ*を補正する補正値を０とする（ステップＳ４）。
【００４９】
他方、ステップＳ５では、合成ベクトルＶｄｑの飽和が解消されておらずトルク指令の補正が必要であるため、ｑ軸電流指令値ｉｑ*を補正する補正値を合成ベクトルＶｄｑの長さＬと制限電圧Ｖｌｉｍの差分Ｒに基づいて求める。
【００５０】
また、ステップＳ１で、前回制御時において、トルク指令の補正が不要であると判断されて、ステップＳ６へ移行する場合、モータ制御装置１は、合成ベクトルＶｄｑが制限電圧Ｖｌｉｍを超えている、および、ｑ軸電流指令値ｉｑ*の絶対値がｑ軸電流値ｉｑの絶対値を超えているという二つの条件を満たしているか否かを判断する。
【００５１】
そして、両条件を満たしている場合、合成ベクトルＶｄｑが飽和していて今回はトルク指令の補正が必要であると判断され、ステップＳ７へ移行し、モータ制御装置１は補正フラグをＯｎに設定してステップＳ５へ移行して、ｑ軸電流指令値ｉｑ*を補正する補正値を演算する。
【００５２】
他方、ステップＳ６で両条件を満たしていない場合、合成ベクトルＶｄｑは、前回制御時に引き続き今回制御時も飽和しておらずトルク指令の補正が不要であるので、モータ制御装置１は、トルク指令であるｑ軸電流指令値ｉｑ*を補正する補正値を０とする（ステップＳ８）。
【００５３】
そして、このモータ制御装置１は、以上のステップＳ１からＳ８までの処理を繰り返し行って、モータＭを制御する。すなわち、モータ制御装置１が上記した一連の処理を実行することで、上述した判断部４および補正部６における各部の処理が実現される。また、図示はしないが、この処理と平行して、ｄ軸電圧指令演算部２、ｑ軸電圧指令演算部３、三相／二相変換部５および二相／三相変換部７の各部の処理が行われる。
【００５４】
なお、上述したところでは、判断部４にて、合成ベクトルＶｄｑと制限電圧Ｖｌｉｍとの比較を行い、補正部６にて、合成ベクトルＶｄｑの長さＬと制限電圧Ｖｌｉｍとの差分Ｒを用いて補正値を演算するようになっているが、上記比較および演算にて、Ｖｄ*とＶｑ*の値をそれぞれ二乗して加えた値を二分の一乗するルート演算が含まれる。一般的に演算処理装置でルート演算を実行するには時間がかかるが、モータの電流制御を行うには高速で上記演算する必要があって、そうすると、高速演算が可能な高価な演算処理装置の使用を強いられ、モータ制御装置１が高価となる。そこで、判断部４および補正部６における判断を合成ベクトルＶｄｑの長さＬを二乗した値と制限電圧Ｖｌｉｍを二乗した値とを比較し、合成ベクトルＶｄｑの長さＬを二乗した値と制限電圧Ｖｌｉｍを二乗した値との差分に基づいてｑ軸電流指令値ｉｑ*を補正する補正値を演算するようにすることで、ルート演算を回避することができ、安価な演算処理装置を使用しても充分にモータの電流制御を実行することが可能となる。
【００５５】
なお、この場合、合成ベクトルＶｄｑの長さＬを二乗した値と制限電圧Ｖｌｉｍを二乗した値との差分をフィードバックしてｑ軸電流指令値ｉｑ*を補正すると、制御特性が非線形となるが、ゲインＫｈをチューニングすることで、実用上問題ない制御を行うことができる。
【００５６】
また、上記したところでは、モータＭをＳＰＭモータとしているが、ＩＰＭモータ（Ｉｎｔｅｒｉｏｒ  Ｐｅｒｍａｎｅｎｔ  Ｍａｇｎｅｔ  Ｍｏｔｏｒ）を制御する場合、磁石トルクに加えてリラクタンストルクを併用できるため、トルク指令から、当該トルク指令通りのトルクを出力可能なｄ軸電流指令値ｉｄ*とｑ軸電流指令値ｉｑ*とが求められるようになっている。具体的には、たとえば、ＩＰＭモータの制御にあたっては、最大トルク制御といった制御手法が用いられ、ＩＰＭモータにおけるトルク指令は、磁石トルクとリラクタンストルクの合計トルクが最大となる電流位相角に応じて、ｄ軸電流指令値ｉｄ*とｑ軸電流指令値ｉｑ*とに変換されて、各軸の電流ループへ入力されることになる。
【００５７】
そこで、ＩＰＭモータを制御する場合、判断部および補正部における構成および動作をＩＰＭモータに向くように変更すればよい。
【００５８】
ＩＰＭモータに向くモータ制御装置２１は、具体的には、図４に示すように、図示しない上位の制御装置から入力されるトルク指令からｄ軸電流指令値ｉｄ*とｑ軸電流指令値ｉｑ*とを求める最大トルク制御部２４と、ｄ軸電流指令値ｉｄ*とｄ軸電流値ｉｄに基づいてｄ軸電圧指令値Ｖｄ*を求めるｄ軸電圧指令演算部２と、同じく、上記の制御装置から入力されるトルク指令の一つであるｑ軸電流指令値ｉｑ*とｑ軸電流値ｉｑとに基づいてｑ軸電圧指令値Ｖｑ*を求めるｑ軸電圧指令演算部３と、上記トルク指令の補正の必要性を判断する判断手段としての判断部２２と、電流センサ１０で検出した上記モータＭの三相のうち二相の巻線に流れる電流を位置センサ１１で検出した図示しないモータＭにおけるロータの電気角θからｄｑ直交座標系のｄ軸およびｑ軸の電流に変換してｄ軸電流値ｉｄおよびｑ軸電流値ｉｑを得る三相／二相変換部５と、最大トルク制御部２４に入力されるトルク指令を補正する補正部２３と、上記ｄ軸電圧指令値Ｖｄ*およびｑ軸電圧指令値Ｖｑ*をロータの電気角θからＵ，Ｖ，Ｗの三相各相の電圧指令値Ｖｕ*，Ｖｖ*，Ｖｗ*に変換する二相／三相変換部７と、Ｕ相電圧指令値Ｖｕ、Ｖ相電圧指令値ＶｖおよびＷ相電圧指令値ＶｗからＰＷＭ信号を生成するＰＷＭ信号生成器８と、ＰＷＭ信号に対応したデューティ比および電圧方向でＵ，Ｖ，Ｗの各相の巻線へ通電するインバータ回路９とを備えて構成されている。なお、上述した一実施の形態におけるモータ制御装置１と同様の構成部分については、同様の動作を呈するので、同じ符号を付して詳しい説明を省略する。
【００５９】
したがって、ＩＰＭモータであるモータＭ’の制御に向く一実施の形態の一変形例におけるモータ制御装置２１が、一実施の形態におけるモータ制御装置１と異なるのは、判断部２２と補正部２３である。
【００６０】
判断部２２は、判断部４と同様に、合成ベクトルＶｄｑが飽和しているか否かを調べることによってトルク指令を補正の要不要を判断する。合成ベクトルＶｄｑと制限電圧Ｖｌｉｍとを比較して、合成ベクトルＶｄｑが電源電圧Ｖｌｉｍを超えているか否かを判断材料の一つとしていることに関しても判断部４と同様である。もう一つの判断材料である、トルク指令にモータＭ’の出力トルクが追従しているか否かの判断については、モータＭ’の出力トルクがｑ軸電流値ｉｑに比例しないので、ｑ軸電流値ｉｑとｑ軸電流指令値ｉｑ*との比較だけでは判断できない。
【００６１】
そこで、このモータ制御装置２１における判断部２２にあっては、ｄ軸電流値ｉｄがｄ軸電流指令値ｉｄ*通りに制御され、かつ、ｑ軸電流値ｉｑがｑ軸電流指令値ｉｑ*通りに制御されている場合には、トルク指令にモータＭ’の出力トルクが追従していることに着目し、トルク指令であるｄ軸電流指令値ｉｄ*とｄ軸電流値ｉｄの偏差εｄと、ｑ軸電流指令値ｉｑ*とｑ軸電流値ｉｑの偏差εｑを加算した値の絶対値が、制御上看過できる程度の値に設定される閾値βより小さいことを以ってして、トルク指令にモータＭ’の出力トルクが追従していると判断するようにしている。このような判断を行うことで、ＩＰＭモータであるモータＭ’の諸元に依存せざるを得ないモータＭ’のトルク特性を利用せずに、合成ベクトルＶｄｑが飽和しているか否かを判断することができる。
【００６２】
この判断部２２における判断は、一実施の形態のモータ制御装置１の判断における処理と同様の処理を行うことで実現できる。したがって、このモータ制御装置２１における判断に関する処理は、図３に示した、一実施の形態のモータ制御装置１における処理手順におけるステップＳ２における処理と、ステップＳ６の処理を以下のように、変更すればよい。
【００６３】
具体的には、モータ制御装置２２にあっては、図３のステップＳ２の処理を、上記偏差εｄと偏差εｑを加算した値の絶対値が閾値βより小さいか否かという判断に置き換え、偏差εｄと偏差εｑを加算した値の絶対値が閾値βより小さい場合には合成ベクトルＶｄｑが飽和していないのでステップＳ３へ移行し、反対に、偏差εｄと偏差εｑを加算した値の絶対値が閾値β以上である場合には合成ベクトルＶｄｑが飽和しているのでステップＳ５へ移行すればよい。
【００６４】
また、モータ制御装置２２にあっては、図３のステップＳ６の処理中のｑ軸電流指令値ｉｑ*がｑ軸電流値ｉｑより大きいか否かという判断を、上記偏差εｄと偏差εｑを加算した値の絶対値が閾値βより小さいか否かという判断に置き換えればよいことになる。
【００６５】
つづいて、補正部２３は、合成ベクトルＶｄｑが飽和していてトルク指令の補正が必要である場合、一実施の形態における補正部６と同様に、合成ベクトルＶｄｑの長さＬと制限電圧Ｖｌｉｍとの差分Ｒに基づいて、補正値Ｃを演算する。
【００６６】
具体的には、補正部２３は、たとえば、上記合成ベクトルＶｄｑの長さＬから制限電圧Ｖｌｉｍを減算して差分Ｒを求める演算部２３ａと、当該演算部２３ａの演算結果を積分する積分部２３ｂと、積分部２３ｂの演算結果にゲインを乗じるゲイン乗算部２３ｃと、最大トルク制御部２４に入力される前にトルク指令を補正するためトルク指令とゲイン乗算部２３ｃの演算結果との偏差を演算する偏差演算部２３ｄとを備えて構成される。
【００６７】
なお、ゲイン乗算部２３ｃは、二つのパスＰ１，Ｐ２を備えており、一つは０でない任意の正の値に設定されるゲインＫｈを乗算するパスＰ１であり、もう一つは、乗算するゲインを０としたパスＰ２であり、判断部２２で合成ベクトルＶｄｑが飽和しているとの判断結果が入力されるとパスＰ１が選択され、合成ベクトルＶｄｑが飽和していないとの判断結果が入力されるとパスＰ２が選択される。なお、ゲインを乗じるのは、分配演算部２３ｄにおいてｄ軸とｑ軸に補正値を分配してからでもよい。
【００６８】
また、最大トルク制御部２４は、上述したように上位の制御装置から入力されるトルク指令通りにモータＭ’にトルクを出力させるとともに、磁石トルクとリラクタンストルクの合計トルクが最大となる電流位相角によって、ｄ軸電流指令値ｉｄ*とｑ軸電流指令値ｉｑ*とを求めるようになっている。
【００６９】
かくして、この一変形例におけるモータ制御装置２１にあっては、合成ベクトルＶｄｑが飽和すると、トルク指令を補正して、合成ベクトルＶｄｑの飽和を解消し、各軸の電流ループにおける積分飽和も抑制する。また、モータ制御装置２１は、トルク指令の補正にあたって、ＩＰＭモータの諸元を用いることがないので、一実施の形態のモータ制御装置１と同様に、同じ諸元を持つモータでも諸元に誤差があるモータや、全く諸元の異なるモータを制御するに際しても、制御則を何ら設計変更することなしに、合成ベクトルＶｄｑの飽和を解消して電流ループにおける積分飽和も抑制でき、常にモータを適切に制御することができ、安定かつ良好な制御結果を得ることができる。
【００７０】
以上で、本発明の実施の形態についての説明を終えるが、本発明の範囲は図示されまたは説明された詳細そのものには限定されないことは勿論である。
【産業上の利用可能性】
【００７１】
本発明はモータを制御する制御装置に利用可能である。
【符号の説明】
【００７２】
１，２１  モータ制御装置
２  ｄ軸電圧指令演算部
２ａ  ｄ軸電圧指令演算部における加算部
２ｂ  ｄ軸電圧指令演算部における比例積分演算部
３  ｑ軸電圧指令演算部
３ａ  ｑ軸電圧指令演算部における加算部
３ｂ  ｑ軸電圧指令演算部における比例積分演算部
４，２２  判断部
５  三相／二相変換部
６，２３  補正部
６ａ，２３ａ  補正部における演算部
６ｂ，２３ｂ  補正部における積分部
６ｃ，２３ｃ  補正部におけるゲイン乗算部
６ｄ，２３ｄ  補正部における偏差演算部
７  二相／三相変換部
８  ＰＷＭ信号生成器
９  インバータ回路
１０  電流センサ
１１  位置センサ
Ｍ，Ｍ’  モータ
Ｐ１，Ｐ２  補正部におけるパス
【図１】
0005390970.tif 000002
【図２】
0005390970.tif 000003
【図３】
0005390970.tif 000004
【図４】
0005390970.tif 000005