(57)【要約】【課題】モータにおけるロータの振動が励起される振動モードの発現を防止することが可能な制御装置を提供することである。【解決手段】モータＭの駆動電流をｄｑ直交座標に変換するｄｑ変換を用いてｄ相およびｑ相の電流値ｉｄ，ｉｑを求め各相毎に電流ループ処理を行って制御するモータ制御装置２０であって、ｑ相電流ループにおける積分値ｆｑを当該積分値ｆｑをフィードバックして補正する補正手段２６を備えたので、ロータＲの振動が励起される振動モードの発現を防止することが可能となった。【選択図】図６
2008067581.tif 000002
【特許請求の範囲】
【請求項１】
モータの駆動電流をｄｑ直交座標に変換するｄｑ変換を用いてｄ相およびｑ相の電流値を求め各相毎に電流ループ処理を行って制御するモータ制御装置において、ｑ相電流ループの積分値をフィードバックして当該積分値を補正する補正手段を備えたことを特徴とするモータ制御装置。
【請求項２】
モータがその発生トルクとロータの回転方向とが一致していないブレーキ領域で使用されているか否かを判定する判定手段と、ｄ相およびｑ相の各電圧指令値の合成ベクトルが飽和しているか否かを判断する判断手段とを備え、補正手段は、モータがブレーキ領域で使用されるとともに上記合成ベクトルが飽和している場合に、ｑ相電流ループにおける積分値を補正することを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
判定手段は、モータの回転速度の符号とｑ相電流目標値の符号に基づいてモータがブレーキ領域で使用されているか否かを判定することを特徴とする請求項２に記載のモータ制御装置。
【請求項４】
ｑ相電流目標値を直動部材のストローク速度に依存したリミット値に制限する制限手段を設けたことを特徴とする請求項１から３に記載のモータ制御装置。
【請求項５】
リミット値は、モータが逆回転して合成ベクトルが飽和している場合にはｑ相電流が取りうる最大値とされるとともに、モータが正回転して合成ベクトルが飽和している場合にはｑ相電流が取りうる最小値とされることを特徴とする請求項４に記載のモータ制御装置。
【請求項６】
モータの電源電圧に依存してリミット値を補正するリミット値補正手段を備えてなることを特徴とする請求項４または５に記載のモータ制御装置。
【請求項７】
判断手段は、ｄ相およびｑ相の各電圧指令値の合成ベクトルの自乗の値が、飽和電圧の自乗の値以上となる場合に、合成ベクトルが飽和していると判断することを特徴とする請求項１から６のいずれかに記載のモータ制御装置。
【請求項８】
補正手段は、ｑ相の積分値とｑ相積分値目標値との積分値偏差に補正ゲインを乗じた値をｑ相電流ループにおける積分器の入力へ帰還してｑ相の積分値を補正することを特徴とする請求項１から７のいずれかに記載のモータ制御装置。
【請求項９】
補正手段は、ｑ相電圧指令値がプラスの値をとる場合には、ｑ相電圧指令値およびｄ相電圧指令値の合成ベクトルがｄｑ座標におけるｑ軸に対してなす角度を反時計廻りに４５度から１８０度の範囲になるようにｑ相積分値を補正し、ｑ相電圧指令値がマイナスの値をとる場合には、ｑ相電圧指令値およびｄ相電圧指令値の合成ベクトルがｄｑ座標におけるｑ軸に対してなす角度を反時計廻りに２２５度から３６０度の範囲になるようにｑ相積分値を補正する請求項１から８のいずれかに記載のモータ制御装置。
【請求項１０】
補正手段は、ｑ相電圧指令値がプラスの値をとる場合には、ｑ相電圧指令値およびｄ相電圧指令値の合成ベクトルがｄｑ座標におけるｑ軸に対してなす角度を反時計廻りに９０度から１８０度の範囲になるようにｑ相積分値を補正し、ｑ相電圧指令値がマイナスの値をとる場合には、ｑ相電圧指令値およびｄ相電圧指令値の合成ベクトルがｄｑ座標におけるｑ軸に対してなす角度を反時計廻りに２７０度から３６０度の範囲になるようにｑ相積分値を補正する請求項１から９のいずれかに記載のモータ制御装置。
【請求項１１】
ｑ相電圧指令値がプラスである場合、ｑ相積分値目標値をマイナスの値に設定し、ｑ相電圧指令値がマイナスである場合、ｑ相積分値目標値をプラスの値に設定することを特徴とする請求項９から１０のいずれかに記載のモータ制御装置。
【請求項１２】
ｑ相積分値目標値を０に設定してなる請求項９から１０のいずれかに記載のモータ制御装置。
【請求項１３】
被駆動部材とロータとの間に介装される伝達部材を介して被駆動部材に動力を伝達するモータの駆動電流を制御する請求項１から１２のいずれかに記載のモータ制御装置
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置に関する。
【背景技術】
【０００２】
この種、モータの制御装置としては、三相の巻線に流れる電流のうち任意の二相の電流値とロータの電気角から磁界の作る磁束方向のｄ軸とｄ軸に直交するｑ軸のｄｑ座標に変換してｄ相とｑ相の電流値を演算し、ｄ相電流目標値を０として、ｑ相電流目標値を演算し、各相毎に電流ループ処理を行って、ｄ相電圧指令値およびｑ相電圧指令を演算し、さらに、ｄ相電圧指令値およびｑ相電圧指令値を三相の電圧指令値に変換し、この三相の電圧指令値に基づいてモータをＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）制御するものが知られている（たとえば、特許文献１参照）。
【０００３】
そして、上記電流ループにおける処理は、ｄｑ各相のそれぞれにおける電流値と電流目標値の偏差を取り、これら偏差に基づいて比例積分制御則に基づいてｄ相電圧指令値およびｑ相電圧指令値を演算するようにしており、ｄ相電圧指令値とｑ相電圧指令値の合成ベクトルが飽和電圧に達する場合、すなわち、ｄ相電圧指令値とｑ相電圧指令値の合成ベクトルが飽和する場合には、各巻線の端子間へは電源電圧以上の電圧を印加することができないため、電流ループにおける積分値の絶対値が増大するようになって、モータを正常に制御できない状態となる。
【０００４】
そこで、上記従来のモータ制御装置にあっては、ｄ相電圧指令値とｑ相電圧指令値の合成ベクトルが飽和電圧に達すると、電流ループにおける積分値の飽和処理を行うようにして、モータに安定したトルクを発生させるようにしている。
【特許文献１】特開平６−１５３５６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のモータ制御装置では、特に、被駆動部材を駆動するのみならず、被駆動部材の運動を制動することが要求されるモータを制御する場合には、問題がある。
【０００６】
たとえば、ボール螺子ナットの直線運動を螺子軸の回転運動に変換する運動変換機構における螺子軸にモータのトルクを伝達するように構成されるアクチュエータでは、モータの発生トルクを上記モータ制御装置によって調節することで、アクチュエータが発生する荷重（ダンピングフォース）を可変にすることが可能であるが、ボール螺子ナットのストロークに対してこれを抑制するようにモータにトルクを発生させる機会が非常に多く、従来モータ制御装置にあっては、モータが強制的にトルクを発生している方向とは逆回転させられる状況を想定しておらず、このモータが強制的に逆回転させられてｄｑ各相における各電圧指令値の合成ベクトルが飽和した状況でモータを適切に制御できない。
【０００７】
というのは、ロータの機械的な共振周波数、すなわち、ロータの周方向振動における共振周波数は、下記の式（１）に示したように、ロータの慣性モーメントと、ロータに連結される部材の全体、この場合、主として螺子軸の捩りバネ定数（周方向の捩り剛性）とによって決せられることになる。
【数１】
2008067581.tif 000003
なお、式（１）中、ｆｍはロータの機械的な共振周波数であり、Ｋはロータに連結される部材全体の捩りバネ定数、Ｉはロータの慣性モーメントをそれぞれ示している。
【０００８】
他方、ｄｑ相の各電圧指令値の合成ベクトルが飽和する場合には、モータを正常には制御できない状態となり、このような状態においては、各巻線に流れる電流を制御することが困難であって、巻線に流れる電流が共振する現象が現れる。この巻線に流れる電流が共振する周波数、すなわち、モータの電気的な共振周波数は、下記の式（２）に示したように、アクチュエータのストローク速度に比例するロータの回転速度に応じて変化することになる。
【数２】
2008067581.tif 000004
なお、式（２）中、ｆｅはモータの電気的な共振周波数であり、Ｒは巻線のレジスタンス、Ｌは巻線のインダクタンス、ωはロータの電気角速度をそれぞれ示している。
【０００９】
したがって、上記したロータの機械的な共振周波数にロータの回転速度に応じて変化する電気的な共振周波数が近付くと発振するような振動モードとなり、結果、モータが発生するトルクのリップルが大きくなり、ストローク速度が安定せず振動的になってしまう。
【００１０】
そして、このような現象は、図１１に示すように、直動部材のストロークに対してこれを抑制するようにモータにトルクを発生させる場合に現れ、従来のモータ制御装置でｄｑ相の各電圧指令値の合成ベクトルの飽和時に上記飽和処理を行ってモータを制御しても、上記振動の発生を抑制することができず、この振動によって車両における乗心地を著しく悪化させてしまうことになる。
【００１１】
そこで、本発明は、上記不具合を改善するために創案されたものであって、その目的とするところは、モータにおけるロータの振動が励起される振動モードの発現を防止することが可能な制御装置を提供することである。
【課題を解決するための手段】
【００１２】
上記した目的を達成するため、本発明の課題解決手段におけるモータ制御装置は、直動部材の直線運動を回転部材の回転運動に変換する運動変換機構における回転部材に連結されて回転部材にトルクを与えるモータの駆動電流をｄｑ直交座標に変換するｄｑ変換を用いてｄ相およびｑ相の電流値を求め各相毎に電流ループ処理を行って制御するモータ制御装置において、ｑ相電流ループにおける積分値を当該積分値をフィードバックして補正する補正手段を備えてなる。
【発明の効果】
【００１３】
本発明のモータ制御装置によれば、ｑ相電流ループにおける積分値を当該積分値をフィードバックして補正するので、モータにおけるロータの振動が励起される振動モードの発現を防止することができる。
【００１４】
また、積分値を当該積分値をフィードバックして補正するので、ｑ相電圧指令値に急激に変化を生じさせることもなく、モータにおけるロータの回転速度および発生トルクに急激な変化を生じさせることがない。
【発明を実施するための最良の形態】
【００１５】
以下、図に示した実施の形態に基づき、本発明を説明する。図１は、一実施の形態におけるモータ制御装置を適用したアクチュエータの概念図である。図２は、ｄ相電圧指令値とｑ相電圧指令値の合成ベクトルのｑ軸に対しなす角度に対するｑ相電流の変化を示す図である。図３は、ｄｑ座標において振動モードの発現が阻止されるｄ相電圧指令値とｑ相電圧指令値の合成ベクトルのｑ軸に対する角度範囲を示した図である。図４は、ｄ相電圧指令値とｑ相電圧指令値の合成ベクトルのｑ軸に対しなす角度に対するｑ相電流およびｄ相電流の変化を示す図である。図５（Ａ）は、ｄ相電流をゼロに制御するようにした場合のアクチュエータのストローク変位に対する合成ベクトルがｑ軸に対しなす角度の変化を示すグラフである。図５（Ｂ）は、ｑ相の電流ループにおける積分値の増大を抑制する積分飽和処理を行って制御した場合のアクチュエータのストローク変位に対する合成ベクトルがｑ軸に対しなす角度の変化を示すグラフである。図５（Ｃ）は、弱め界磁制御を実施した場合のアクチュエータのストローク変位に対する合成ベクトルがｑ軸に対しなす角度の変化を示すグラフである。図６は、モータ制御装置のシステム図である。図７は、ＰＷＭ回路を示す図である。図８は、補正手段におけるスイッチコントローラのシステム図である。図９は、電気角速度をパラメータとして作成したｑ相電流目標値を制限するリミット値のマップを示す図である。図１０は、一実施の形態のモータ制御装置における処理手順を示すフローチャートである。
【００１６】
一実施の形態におけるモータ制御装置２０は、たとえば、図１に示すようなアクチュエータに適用されたモータＭを制御することができる。このアクチュエータは、図１に示すように、回転部材たる螺子軸１と直動部材たるボール螺子ナット２とを有してボール螺子ナット２の直線運動を螺子軸２の回転運動に変換する運動変換機構Ｈと、螺子軸１に連結されるロータＲを有するモータＭとを備えて構成されている。
【００１７】
詳しくは、螺子軸１は、ボール螺子ナット２に回転自在に螺合されるとともに、螺子軸１の図１中上端は、モータＭのロータＲに連結されている。したがって、螺子軸１とボール螺子ナット２が軸方向の直線相対運動を呈すると、回転部材である螺子軸１が回転運動を呈することになり、この螺子軸１の回転運動がモータＭのロータＲに伝達されることになり、運動変換機構Ｈは、この実施の形態の場合、送り螺子機構とされている。ここで、螺子軸１の回転速度を歯車機構等で構成される減速機を介して減速して上記螺子軸１の回転運動をロータＲに伝達するようにしてもよい。
【００１８】
そして、図示しないが、ボール螺子ナット２は被駆動部材に連結され、この場合、被駆動部材は、モータMの駆動によって直動運動されることになる。したがって、本実施の形態においては、モータＭの動力を図外の被駆動部材へ伝達する伝達部材は運動変換機構Ｈとされ、このアクチュエータと図示しない被駆動部材とで駆動系を構成している。
【００１９】
なお、上記螺子軸１とボール螺子ナット２が軸方向の直線相対運動を呈するときに、螺子軸１を回転不能として代わりにボール螺子ナット２を回転させるようにする場合には、このボール螺子ナット２の回転運動をモータＭのロータＲに伝達するようにしてもよい。また、伝達部材である運動変換機構Ｈは、上記したもの以外にも、ラックアンドピニオンのような機構とされてもよい。
【００２０】
そして、モータＭは、この場合、筒状のフレーム１０と、フレーム１０の内周側に設けた電機子であるステータＳと、フレーム１０に回転自在に軸支されるロータＲとを備え三相ブラシレスモータとして構成され、詳しくは、ステータＳは、複数のティースを備えた環状のステータコア１１と、各ティースに巻回されたＵ，Ｖ，Ｗ相の各相における巻線１２とを備えており、他方のロータＲは、螺子軸１の一端に連結されるシャフト１３と、シャフト１３の中間部外周に装着された駆動用磁石１４とを備えている。
【００２１】
なお、駆動用磁石１４は、駆動用磁石１４を所定数の極数を実現できるようにブロック化してシャフト１３の外周に接着されるか、環状に形成して分割着磁されてシャフト１３の外周に嵌着される。
【００２２】
また、このモータＭには、ロータＲの回転角（電気角）θを検出するために、回転角センサ１５が搭載されており、具体的にはたとえば、回転角センサ１５は、シャフト１３に設けたレゾルバコアとフレーム１０に設けられるレゾルバコアに対向するレゾルバステータとを備え、さらに、電気角θから電気角速度ωを得られるようになっている。なお、電気角θから電気角速度ωを演算する演算部を別途設けるのであれば、回転角センサ１５としては、他にも、光学式のエンコーダを採用してもよいし、ロータＲにセンシング用磁石を設ける場合にはホール素子やＭＲ素子等の磁気センサをフレーム１０に設けるとした構成としてもよい。
【００２３】
上述のように、このアクチュエータにあっては、駆動源をモータＭとしているので、モータＭに電気エネルギを与えて駆動する場合には、螺子軸１を回転駆動させて螺子軸１とボール螺子ナット２とを積極的に相対直線運動させる、すなわち、ストロークさせることができ、アクチュエータとしての機能を発揮でき、図外のボール螺子ナット２に連結される被駆動部材を往復動させることができる。
【００２４】
また、モータＭは、被駆動部材が外力によって強制的に動かされる場合には、螺子軸１から強制的に回転運動が入力され、誘導起電力や電源からの電力によって巻線１２に電流が流れて磁界が形成されて電磁力が発生し、螺子軸１の回転運動を抑制するトルクを発生するので、螺子軸１とボール螺子ナット２の相対直線運動を抑制するように機能する。すなわち、この場合には、モータＭが外部から入力される運動エネルギを回生して電気エネルギに変換して得られる電力によって、あるいは、この回生に加えて電源から供給される電力によって、発生するトルクで螺子軸１とボール螺子ナット２の相対直線運動を抑制することができる。
【００２５】
したがって、この駆動系では、モータＭをアクチュエータとしてもジェネレータとしても機能させ得るので、上記螺子軸１とボール螺子ナット２の相対直線運動を抑制することもできる。
【００２６】
ここで、上記したアクチュエータの振動モードについて詳しく説明すると、上述したように、アクチュエータのストロークを抑制する状況、すなわち、モータＭが発生しているトルクの方向とロータＲの回転方向とが一致せず、モータＭのトルクがロータＲの回転を抑制する制動トルクとなるブレーキ領域でモータＭが使用されている場合で、かつ、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和し、ロータＲの機械的な共振周波数ｆｍにロータＲの回転速度に応じて変化する電気的な共振周波数ｆｅが近付くと、発振するような振動モードが発現される。
【００２７】
詳しくは、モータＭの三相をｄｑの二相変換を行って従来技術通りに制御する場合に、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルの長さが、ｄｑ座標における電源Ｅの電圧相当である飽和電圧を半径に持つ円（電圧制限円）を超えるようになる、すなわち、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和すると、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルは電圧制限円で制限され、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑは上記電圧制限円上の略一定値のオフセットされた電圧指令値となる。
【００２８】
モータＭの内部構成が線形なシステムであれば、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑがオフセットされても、システムへの入力が変化しただけであり安定性に変化が無いが、モータＭの内部構成はｄｑ各相の干渉パスに正弦波同士が乗算される非線形なシステムであるので、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑがオフセットされると、それに応じてｄｑ各相の干渉成分に機械部分の共振周波数ｆｍと同一周波数を持つ成分が大きく現れたり、機械部分の共振周波数ｆｍの二倍の周波数成分が大きく現れたりすることになる。詳しくは、正弦波同士を乗算すると、位相をずらしても必ず正弦波の周波数の２倍の周波数成分が現れること、および、オフセットを加えると基本成分を持つ信号が発生することに起因する。
【００２９】
このため、ｄｑ各相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルのｑ軸に対する角度に応じて、ｄｑ各相の干渉成分に現れる機械部分の共振周波数ｆｍと同一周波数を持つ成分の増幅度が変化し、モータＭの電気的な共振周波数ｆｅとロータＲの周方向振動における共振周波数ｆｍとが接近すると、互いの振動を励起して発振を引き起こすような振動モードが発現してしまう場合がある。
【００３０】
そして、巻線１２に流れる電流が共振する共振周波数であるモータＭの電気的な共振周波数ｆｅは、上記の式（２）に示したように、アクチュエータの構造上、電気角速度ωに比例するアクチュエータのストローク速度、すなわち、アクチュエータの伸縮速度に依存して変化する。すなわち、ストローク速度が増加することに伴って、モータＭの電気的な共振周波数ｆｅも増大することになるので、上記モータＭの電気的な共振周波数ｆｅとロータＲの周方向振動における共振周波数ｆｍとが接近する場合があることは、容易に理解できよう。
【００３１】
したがって、この振動モードは、アクチュエータの螺子軸１のリード、モータＭのロータＲに接続される機械部品の捩り剛性Ｋの設定等にもよるが、電気角速度ωがある値まで大きくなると、振動モードが発現し、さらに、その値を超えて充分大きくなると、振動モードは発現しなくなる。すなわち、ロータＲに接続される機械部品の捩り剛性Ｋの値を限りなく大きくすればよいが、そうすると、ロータＲの慣性モーメントの影響で、アクチュエータのストロークし始めやストローク速度に変化がある場合に、伸縮しづらい状態となってしまう恐れがある。
【００３２】
そこで、発明者らは、振動モードの発現を阻止するべく、鋭意努力した結果、モータＭをｄｑの二相変換を行って制御するときに、ロータＲがマイナスの速度をもって負方向に強制的に回転されている状況でモータＭにこれを抑制する制動トルクを発生させる（ブレーキ領域）にはｑ相電流ｉｑがプラスの値をとり、ロータＲがプラスの速度をもって正方向に強制的に回転されている状況でモータＭにこれを抑制する制動トルクを発生させる（ブレーキ領域）にはｑ相電流ｉｑがマイナスの値をとるという取り決めのもと、ｑ軸を横軸としｄ軸を縦軸にとると、図２に示すように、ロータＲがマイナスの速度をもって負方向に強制的に回転（逆回転）され、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和した状態において、モータＭにこれを抑制する制動トルクを発生させる場合にｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトルがｑ軸に対しなす角度が反時計廻りに９０度から１８０度の範囲内で振動モードが完全に発現せず、また、ロータＲがプラスの速度をもって正方向に強制的に回転（正回転）され、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和した状態において、モータＭにこれを抑制する制動トルクを発生させる場合にｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトルがｑ軸に対しなす角度が反時計廻りに２７０度から３６０度の範囲内で振動モードが完全に発現しないことを知見するに至った。
【００３３】
これを図示すれば、図３に示すように、ロータＲがマイナスの速度をもって負方向に強制的に回転されるときは、上記合成ベクトルが図３中斜線部分に示す領域にある場合、ロータＲがプラスの速度をもって正方向に強制的に回転されるときは、上記合成ベクトルが図３中縦線部分に示す領域にある場合、振動モードが完全に発現されないことになる。
【００３４】
なお、図２は、アクチュエータのストローク速度を違えてｄ相電圧指令値とｑ相電圧指令値の合成ベクトルのｑ軸に対しなす角度に対するｑ相電流の変化を計測した複数のグラフであり、各グラフは、ｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトルがｑ軸に対しなす角度を３６０度一回転させた場合の振動モードの発現と合成ベクトルの上記角度との関係を示している。また、各グラフ中の縦軸はｑ相電流ｉｑを示し、横軸は合成ベクトルのｑ軸に対しなす角度を示し、振動モードではｑ相電流ｉｑが振動的になる部分で発現している。そして、紙面中下方のグラフほどストローク速度が小さい、すなわち、ロータＲの電気角速度ωが小さいデータを示し、図２から明らかなように、ストローク速度が大きくなる、つまり、ロータＲの電気角速度ωが大きくなると、振動モードが発現するようになることが理解できよう。
【００３５】
また、上記条件の下、電気角速度ωが小さい場合には、図２の上から３番目のグラフに示すように、ロータＲがマイナスの速度をもって負方向に強制的に回転され、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和した状態において、モータＭにこれを抑制する制動トルクを発生させる場合にｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトルがｑ軸に対しなす角度が反時計廻りに４５度から１８０度の範囲内で振動モードが発現せず、また、ロータＲがプラスの速度をもって正方向に強制的に回転され、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和した状態において、モータＭにこれを抑制する制動トルクを発生させる場合にｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトルがｑ軸に対しなす角度が反時計廻りに２２５度から３６０度の範囲内で振動モードが発現しないことを発明者らは知見するに至った。
【００３６】
加えて、ロータＲがマイナスの速度をもって負方向に強制的に回転され、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和した状態において、モータＭにこれを抑制する制動トルクを発生させる場合には、ｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトルがｑ軸に対しなす角度が４５度から１８０度の範囲内にあると、図４に示すように、実線で示すｑ相の電流ｉｑは、プラスの値を採り、破線で示すｄ相の電流ｉｄの絶対値は、概ね合成ベクトルのｑ軸に対しなす角度が０度から１８０度へ向かうほど小さくなる。
【００３７】
なお、図４の各グラフは、アクチュエータのストローク速度を違えてｄ相電圧指令値とｑ相電圧指令値の合成ベクトルのｑ軸に対しなす角度に対するｑ相電流ｉｑの変化とｄ相電流ｉｄの変化を計測した複数のグラフであり、各グラフは、ｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトルがｑ軸に対しなす角度を３６０度一回転させた場合の合成ベクトルの角度とｑ相電流ｉｑおよびｄ相電流ｉｄとの関係を示している。そして、この図４の各グラフでは、振動モードの影響を除くべく、ロータＲに接続される機械部品の捩り剛性Ｋを非常に大きくした状態で計測している。また、紙面中下方のグラフほどストローク速度が小さい、すなわち、ロータＲの電気角速度ωが小さいデータを示している。
【００３８】
これに対し、モータＭをｄｑの二相変換を行って単にｄ相電流ｉｄをゼロにして制御するようにした場合、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和した状態でモータＭが上記ブレーキ領域で使用されると、図５（Ａ）に示すように、ｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトルがｑ軸に対しなす角度は、４０度前後となる。
【００３９】
さらに、モータＭをｄｑの二相変換を行って単にｄ相電流ｉｄをゼロにして制御するようにするとともに、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和するとｑ相の電流ループにおける積分値の増大を抑制する積分飽和処理を行う場合、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和した状態でモータＭが上記ブレーキ領域で使用されると、図５（Ｂ）に示すように、ｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトルがｑ軸に対しなす角度は、６０度前後となる。
【００４０】
またさらに、モータＭをｄｑの二相変換を行ってｄ相電流ｉｄをマイナスに誘導する弱め界磁制御を実施して制御する場合、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和した状態でモータＭが上記ブレーキ領域で使用されると、図５（Ｃ）に示すように、ｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトルがｑ軸に対しなす角度は、４０度前後となる。
【００４１】
なお、図５（Ａ），（Ｂ），（Ｃ）の各グラフは、モータＭを従来からある制御手法によって制御した場合の結果であり、具体的には、各グラフは、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和する程度の電気角速度ω以上となるようにアクチュエータをストロークさせた場合におけるｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトルがｑ軸に対しなす角度を示している。また、アクチュエータに正弦波振動を与えてストロークさせているため、各グラフの両端ではストローク速度は低くなるのでｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和していないため、ｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトルがｑ軸に対しなす角度に変化が現れている。
【００４２】
上記したところから、理解できるように、モータＭを従来と同様に制御したのでは、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和してモータＭがブレーキ領域で使用される場合、ｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトルがｑ軸に対しなす角度は、概ね４０度から６０度程度の範囲内になる。
【００４３】
したがって、モータＭを従来と同様に制御する場合には、振動モードの発現を阻止することはできない。なお、積分飽和処理を行う場合には、ｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトルがｑ軸に対しなす角度は、概ね６０度程度となるが、これは、振動モードの発現を抑制することを意図しておらず、たまたまそうなってしまうのであるので、アクチュエータのストローク変位に対するロータＲの電気角変位の設定によって、振動モードを完全に阻止することができないことは上記した事から明らかである。
【００４４】
そこで、本発明では、上記知見したところから、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和し、かつ、モータＭが上記のようにブレーキ領域で使用されている場合に、ｑ相電流ループにおける積分値ｆｑを当該積分値ｆｑをフィードバックして補正することによって、ｑ相の電圧指令値Ｖｑをコントロールすることで上記振動モードの発現を防止するようにする。
【００４５】
そして、本発明の一実施の形態におけるモータ制御装置２０は、これを実現するため、具体的には、Ｕ，Ｖ，Ｗ相の巻線１２に接続され、このモータＭは、モータ制御装置２０によって駆動制御される。
【００４６】
このモータ制御装置２０は、具体的には、図６に示すように、図外の被駆動部材の制御を司る図示しない上位の制御装置から入力されるトルク指令に基づいて各電流目標値ｉｄ*，ｉｑ*を演算する電流目標値演算部２１と、ｑ相電流目標値ｉｑ*がリミット値を超える場合にこれをリミット値Iｌｉｍに制限する制限手段たるｑ相電流制限部２２と、上記巻線１２の三相のうち二相に流れる電流をｄｑ変換してｄ相電流値ｉｄおよびｑ相電流値ｉｑを演算する二相電流演算部２４と、各電流目標値ｉｄ*，ｉｑ*と上記ｄ相およびｑ相の電流値ｉｄ，ｉｑに基づいてｄ相電圧指令値Ｖｄおよびｑ相電圧指令値Ｖｑを演算する比例積分制御部２５と、ｑ相電流ループにおける積分値ｆｑを当該積分値ｆｑをフィードバックして補正する補正手段たる積分値補正部２６と、モータＭがその発生トルクとロータＲの回転方向とが一致していないブレーキ領域で使用されているか否かを判定する判定手段たる判定部２７と、ｄ相およびｑ相の各電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和しているか否かを判断する判断手段たる飽和判断部２８と、上記ｄ相電圧指令値Ｖｄおよびｑ相電圧指令値ＶｑをＵ，Ｖ，Ｗの三相各相の電圧指令値Ｖｕ，Ｖｖ，Ｖｗに変換する三相変換演算部２９と、三相変換演算部２９が出力する上記各電圧指令値Ｖｕ，Ｖｖ，Ｖｗのうち、ＰＷＭ開度が全開、すなわち、ＰＷＭデューティ比が最大値以上となる場合に、ＰＷＭデューティ比を最大値とする値に電圧指令値Ｖｕ，Ｖｖ，Ｖｗを制限するリミッタ３０と、モータMのＵ，Ｖ，Ｗのうち二相ｉｕ，ｉｖに流れる電流値を検出する電流検出器３２と、電源Ｅの電圧Ｖｂを検出する電圧検出器３３と、モータ駆動回路としてのＰＷＭ回路３１とを備えて構成されている。
【００４７】
そして、このモータ制御装置２０は、基本的には、電流目標値演算部２１によって決定されるｄ相およびｑ相の各電流目標値ｉｄ*，ｉｑ*と、二相電流演算部２４の演算結果として得られるｄ相およびｑ相の電流値ｉｄ，ｉｑとのそれぞれの偏差εｄ，εｑに基づいてモータＭを比例積分制御する。なお、偏差εｄ，εｑを微分して得られる要素を追加して比例微分積分制御を行うようにしてもよい。
【００４８】
ここで、電流目標値演算部２１は、トルク指令に基づいてｄ相およびｑ相の電流目標値ｉｄ*，ｉｑ*を所定の制御則に則って上記比例積分制御部２５に出力するものであるが、この場合、電流目標値演算部２１への出力としては、トルク指令としてではなくても、アクチュエータが発生すべき力指令の状態で出力し、電流目標値演算部２１でその分の換算を行うようにしてもよい。また、制御装置２０の電流目標値演算部２１で被駆動部材の制御に必要な信号、たとえば、加速度や速度や変位を取り込み、この電流目標値演算部２１で上位の制御装置と同様の演算を行うようにしてもよいことは勿論である。
【００４９】
なお、上位の制御装置における被駆動部材の制御に必要となるアクチュエータの伸縮量、ストローク速度や伸縮加速度等については、回転角センサ１５から得られる電気角θと螺子軸１のピッチ、減速比から演算すればよく、別途センサを設ける必要は無い。
【００５０】
また、この電流目標値演算部２１は、基本的には、ｄ相電流目標値ｉｄ*を０としてｑ相電流目標値ｉｑ*を演算するようになっているが、ロータの電気角速度ωが大きい場合に、ｄ相電流目標値ｉｄ*をマイナスの値に誘導して弱め界磁制御をするようにしてもよいことは無論である。
【００５１】
そして、電流検出器３２としては、ホール素子や巻線等を用いた非接触型や、三相の巻線１２のいずれか二つに直列介装した抵抗の電圧降下から電流値を得る電流センサを用いればよい。
【００５２】
また、上記電流検出器３２は、Ｕ，Ｖ，Ｗ相のうち二相に流れる電流値を検出すればよく、これは、二相の電流値が分かればロータＲの電気角θから後述する下記式（３）を用いてｄ相およびｑ相の電流値に変換可能であるからである。
【００５３】
さらに、ＰＷＭ回路３１は、図７に示すように、電源Ｅと、モータＭにおける三相各相の巻線１２に電流供給を行う６つのスイッチング素子３１ａと、各スイッチング素子３１ａにＰＷＭパルス信号を与えるマルチバイブレータ等の図示しないパルス発生器とを備えて構成されており、このＰＷＭ回路３１は、比例積分制御部２５が出力する各電圧指令値に基づいて所定のＰＷＭデューティ比で上記各相に電流供給を行う。なお、電源Ｅについては、車両に搭載されるバッテリとしておけばよい。また、電源Ｅの電圧Ｖｂをモニタする電圧検出器３３が設けられており、この電圧検出器３３で検知した電圧の値は、ｑ相電流制限部２２に出力される。
【００５４】
そして、二相電流演算部２４は、電気角θを用いて、以下の式（３）に示したように、上記各電流値ｉｖ，ｉｕをｄ相およびｑ相の電流値ｉｄ，ｉｑへ変換する演算を行い、この変換されたｄ相およびｑ相の電流値ｉｄ，ｉｑを比例積分制御部２５へ出力する。
【数３】
2008067581.tif 000005
比例積分制御部２５は、各電流目標値ｉｄ*，ｉｑ*とｄ相およびｑ相の電流値ｉｄ，ｉｑの各偏差εｄ，εｑを求め、上記各偏差εｄ，εｑをそれぞれ積分した値に積分ゲインＫＩを乗じるとともに、各偏差εｄ，εｑに比例ゲインＫＰを乗じることで得られる二つの値を加算して、ｄ相電圧指令値Ｖｄおよびｑ相電圧指令値Ｖｑを演算する。
【００５５】
具体的には、比例積分制御部２５は、各相の偏差εｑ，εｄを演算する加減算部３５，３６と、各偏差εｄ，εｑに比例ゲインＫＰを乗じる乗算部３７，３８と、各偏差εｄ，εｑをそれぞれ積分する積分部３９，４０と、積分部３９，４０の演算結果である各積分値ｆｄ，ｆｑに積分ゲインＫＩを乗じる乗算部４１，４２と、乗算部３８が演算した比例ゲインＫＰを乗算後の偏差εｄと乗算部４２が演算した積分ゲインＫＩを乗算後の積分値ｆｄとを加算する加算部４４と、乗算部３７が演算した比例ゲインＫＰを乗算後の偏差εｑと乗算部４１が演算した積分ゲインＫＩを乗算後の積分値ｆｑとを加算する加算部４３とを備えて構成されている。
【００５６】
詳しくは、各相毎の偏差εｄ，εｑは、それぞれ、εｄ＝ｉｄ*−ｉｄ、εｑ＝ｉｑ*−ｉｑの計算式によって演算され、各偏差εｄ，εｑの積分については、各相毎に積分値ｆｄ，ｆｑは、それぞれ前回制御時に演算されたｄ相およびｑ相の積分値ｆｄｐｒｅ，ｆｑｐｒｅに対応する相の偏差εｄ，εｑを加算演算することによりｄ相およびｑ相の積分値を演算される。つまり、ｄ相の積分値ｆｄはｆｄ＝ｆｄｐｒｅ＋εｄで，ｑ相の積分値ｆｑはｆｑ＝ｆｑｐｒｅ＋εｑでそれぞれを演算される。
【００５７】
したがって、ｄ相の電圧指令値Ｖｄは、Ｖｄ＝ＫＩ・ｆｄ＋ＫＰ・εｄで演算され、ｑ相の電圧指令値Ｖｑは、Ｖｑ＝ＫＩ・ｆｑ＋ＫＰ・εｑで演算され、上記した比例積分制御部２５は、上記のようにして演算した各電圧指令値Ｖｄ，Ｖｑを出力する。
【００５８】
すなわち、モータ制御装置２０の場合、電流ループは、二相電流演算部２４、比例積分制御部２５および制御対象であるモータＭとで作られる電流フィードバックループとなる。
【００５９】
そして、さらに、ｄ相電圧指令値Ｖｄおよびｑ相電圧指令値Ｖｑは、上記したようにＵ，Ｖ，Ｗの各相の電圧指令値に変換する三相変換演算部２９に入力され、この三相変換演算部２９は、下記式（４）の演算によって、上記ｄ相電圧指令値Ｖｄおよびｑ相電圧指令値Ｖｑを実際のＵ，Ｖ，Ｗ各相の電圧指令値Ｖｕ，Ｖｖ，Ｖｗへ変換し、この変換された電圧指令値Ｖｕ，Ｖｖ，ＶｗをＰＷＭ回路３１に出力する。
【数４】
2008067581.tif 000006
以上によって、モータ制御装置２０は、基本的には、電流ループ処理を行って上記の通常制御によってモータＭを駆動するようになっている。
【００６０】
つづき、本実施の形態における発明のモータ制御装置２０にあっては、ｑ相電流ループにおける積分値ｆｑ、すなわち、上記比例積分制御部２５の積分部３９において演算される積分値ｆｑをフィードバックして、当該積分値ｆｑを補正する積分値補正部２６を備えており、上述したように、この積分値ｆｑの値を補正することによって、ｑ相の電圧指令値Ｖｑをコントロールすることで上記振動モードの発現を防止するようにする。
【００６１】
具体的には、積分値補正部２６は、積分部３９が演算した積分値ｆｑと、ｑ相積分値目標値ｆｑ＊との偏差である積分値偏差εｆｑを演算する加減算部４５と、上記積分値偏差εｆｑにゲインＧを乗じる乗算部４６と、この乗算部４６の出力であるＧ・εｆｑと上記した比例積分制御部２５の加減算部３５によって演算される偏差εｑとのいずれかを選択的に積分部３９への入力とするスイッチ４７と、スイッチ４７の切換を制御するスイッチコントローラ４８とを備えて構成されている。
【００６２】
ここで、スイッチ４７が加減算部３５によって演算される偏差εｑを積分部３９へ入力する場合には、積分値補正部２６は、積分値ｆｑを補正する機能を発揮せず、逆に、スイッチ４７が乗算部４６の出力であるＧ・εｆｑを積分部３９へ入力する場合には、積分値補正部２６は、積分値ｆｑをフィードバックするループによって積分部３９の演算結果である積分値ｆｑを徐々に積分値目標値ｆｑ＊に誘導して、最終的には積分値ｆｑを積分値目標値ｆｑ＊とすることができる。
【００６３】
そして、モータＭが上述したようにマイナスの速度をもって逆回転する場合には、積分値目標値ｆｑ＊をゼロ近傍の小さなプラスの値以下でマイナスの値を含む任意の値となるように設定しておくと、ｑ相電流ループにおける積分パスの値、すなわち、乗算部４１が出力する値をゼロ近傍の小さなプラスの値以下の値に誘導してｑ相の電圧指令値Ｖｑをゼロ近傍のプラスの値以下でマイナスの値を含む任意の値にすることができる。
【００６４】
逆に、モータＭが上述したようにプラスの速度をもって正回転する場合には、積分値目標値ｆｑ＊をゼロ近傍の小さなマイナスの値以上でプラスの値を含む任意の値となるように設定しておくと、ｑ相電流ループにおける積分パスの値、すなわち、乗算部４１が出力する値をゼロ近傍の小さなマイナスの値以上の値に誘導してｑ相の電圧指令値Ｖｑをゼロ近傍のマイナスの値以上でプラスの値を含む任意の値にすることができる。
【００６５】
ちなみに、積分値目標値ｆｑ＊を０に設定しておく場合には、ｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトルがｑ軸に対しなす角度が反時計廻りに９０度および２７０度になるように誘導することができ、振動モードが完全に発現しない状態とすることができるとともに、モータ制御装置２０の処理手順を実現するプログラム上にｑ相の積分値目標値ｆｑ＊を演算する記述をする必要が無くなりプログラムが簡素化することが可能となる。
【００６６】
なお、上記したところでは、積分値ｆｑをフィードバックしているが、積分ゲインＫＩ乗算後の値ｆｑ・ＫＩをフィードバックするループによって、最終的に積分パスが出力する値、すなわち、乗算部４１が出力する値ｆｑ・ＫＩを徐々に積分値目標値ｆｑ＊に積分ゲインＫＩを乗じた値に誘導するようにしてもよいことは勿論であり、積分値をフィードバックすることにはｑ相積分パスにおける乗算部４１が出力する値をフィードバックすることも含まれる。
【００６７】
他方、ｄ相電流ループについては、何も補正等をしないが、モータＭがマイナスの速度をもって逆回転する場合には、ｄ相の電流ｉｄはマイナスの値となることからｄ相電圧指令値Ｖｄはプラスとなり、モータＭがプラスの速度をもって正回転する場合には、ｄ相の電流ｉｄはプラスの値となることからｄ相電圧指令値Ｖｄはマイナスとなり、その結果、このモータ制御装置２０では、積分値補正部２６が上記機能を発揮すると、モータＭがマイナスの速度をもって逆回転する場合には、ｑ相の電圧指令値Ｖｑがゼロ近傍のプラスの値以下でマイナスの値を含む任意の値を採るとともにｄ相電圧指令値Ｖｄはプラスの値を採って、ｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトルがｑ軸に対しなす角度を４５度から１８０度の範囲に収めることができ、モータＭがプラスの速度をもって正回転する場合には、ｑ相の電圧指令値Ｖｑがゼロ近傍のマイナスの値以上でプラスの値を含む任意の値を採るとともにｄ相電圧指令値Ｖｄはマイナスの値を採って、ｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトルがｑ軸に対しなす角度を２２５度から３６０度の範囲に収めることができる。
【００６８】
したがって、このモータ制御装置２０にあっては、積分値補正部２６の機能、すなわち、ｑ相電流ループの積分値ｆｑをフィードバックして当該積分値ｆｑを補正する機能によって、上記振動モードの発現しない環境を実現することができ、これによって振動モードの発現を阻止することができるのである。
【００６９】
さらに、モータＭがマイナスの速度をもって逆回転する場合には、積分値目標値ｆｑ＊をマイナスの値となるように設定しておくとともに、モータＭがプラスの速度をもって正回転する場合には、積分値目標値ｆｑ＊をプラスの値となるように設定しておくと、この場合には、モータＭがマイナスの速度をもって逆回転する場合には、ｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトルがｑ軸に対しなす角度を９０度から１８０度の範囲に収めることができ、モータＭがプラスの速度をもって正回転する場合には、ｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトルがｑ軸に対しなす角度を２７０度から３６０度の範囲に収めることができることから、この場合には、上記の振動モードの発現を完全に阻止することが可能となる。
【００７０】
また、このように、このモータ制御装置２０にあっては、積分値ｆｑをフィードバックして当該積分値ｆｑを補正するので、積分値ｆｑは、一次遅れ系のフィードバックループの時定数に依存して徐々に積分値目標値ｆｑ＊に変化することになるとともに、比例パスに対しては補正処理を行わずに積分値ｆｑのみを補正するので、スイッチ４７の切換時に、電流ループにおける積分部３９のフィルタ特性を利用して、ｑ相電圧指令値Ｖｑに急激に変化を生じさせることもなく、モータＭの回転速度およびトルクに急激な変化を生じさせることが防止され、アクチュエータのストローク速度、および、発生荷重に急激な変化を生じさせることがない。
【００７１】
したがって、このモータ制御装置２０をアクチュエータに適用すれば、アクチュエータのストロークに振動モードを発現させることが無く、上記したように急激にアクチュエータのストローク速度および発生荷重が変化することも無い。
【００７２】
さらに、スイッチ４７の切換時に、ｑ相電圧指令値Ｖｑに急激に変化を生じさせることがないので、積分値ｆｑの補正に当たり、補正制御をフェードイン・フェードアウトさせる必要が無く、制御アルゴリズムが複雑となってしまう不具合もない。
【００７３】
換言すれば、振動モードの発生が危惧される場合に、直接的に、ｑ相の電圧指令値Ｖｑを補正したり、比例パスの値をも補正したりすることも可能ではあるが、すると、その制御に当たってフェードイン・フェードアウトさせなくてはｑ相電圧指令値Ｖｑの変化が急激となることから、制御が煩雑となるが、本実施の形態のモータ制御装置２０にあっては、このような不具合がないのである。
【００７４】
つづき、上記積分値ｆｑの補正を行うことによって、振動モードの発現を抑制することができるが、この振動モードの発現条件は、上述したように、モータＭがブレーキ領域において使用されること、および、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和することである。
【００７５】
したがって、モータＭの発生トルクの方向とロータＲの回転方向とが一致しているアクティブ領域においてモータＭが使用される場合には、上記積分値ｆｑの補正を行わずに上記した通常制御しても振動モードが発現することが無く、また、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和していない場合にも、上記積分値ｆｑの補正を行わずに上記した通常制御すれば、各相の電流値ｉｄ，ｉｑを各相の電流目標値ｉｄ*，ｉｑ*に追随させることが可能であるので、振動モードが発現することが無い。
【００７６】
上記したところから、上記のように通常制御が可能である時、スイッチ４７を加減算部３５によって演算される偏差εｑが積分部３９へ入力されるようにしておき、モータＭがブレーキ領域において使用されること、および、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和することの条件を満たす場合に、上記スイッチ４７を、乗算部４６の出力であるＧ・εｆｑが積分部３９へ入力されるように、切換えてやればよいことになる。
【００７７】
このため、本実施の形態におけるモータ制御装置２０は、モータＭがその発生トルクの方向とロータの回転方向とが一致していないブレーキ領域で使用されているか否かを判定する判定手段たる判定部２７と、ｄ相およびｑ相の各電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和しているか否かを判断する判断手段たる飽和判断部２８とを備え、これら判定部２７の判定と飽和判断部２８の判断の結果、上記条件を満たす場合に、スイッチコントローラ４８がスイッチ４７を制御して積分値補正部２６が機能するよう切換えるようにしている。
【００７８】
詳しく説明すると、判定部２７は、目標電流値演算部２１が出力するｑ相電流目標値ｉｑ*の符号と、回転角センサ１５が出力する電気角速度ωの符号との不一致をもって、モータＭがブレーキ領域で使用されていると判定し、モータＭにおけるロータＲの回転方向がプラスで正回転しており、ｑ相電流目標値ｉｑ*がプラスであるか、モータＭにおけるロータＲの回転方向がマイナスで逆回転しており、ｑ相電流目標値ｉｑ*がマイナスであって、両者の符合が一致する場合には、モータＭは、その発生トルクでロータＲの回転を助勢しているアクティブ領域で使用されていると判定することになる。
【００７９】
そして、判定部２７は、目標電流値演算部２１が出力するｑ相電流目標値ｉｑ*の符号と、回転角センサ１５が出力する電気角速度ωの符号とが不一致でモータＭがブレーキ領域で使用されていると判定する場合には、たとえば、１をスイッチコントローラ４８に出力し、両者の符号が一致する場合には、０をスイッチコントローラ４８に出力するようにする。
【００８０】
飽和判断部２８は、ｄ相電圧指令値Ｖｄおよびｑ相電圧指令値Ｖｑの合成ベクトル長さの自乗の値（Ｖｄ２＋Ｖｑ２）と飽和電圧Ｖｓの自乗の値とを比較して、ｄ相電圧指令値Ｖｄおよびｑ相電圧指令値Ｖｑの合成ベクトル長さが飽和電圧Ｖｓを超えてｄ相電圧指令値Ｖｄおよびｑ相電圧指令値Ｖｑの合成ベクトルが飽和している状態であるかを判断する。
【００８１】
なお、上記判断の基準となる飽和電圧Ｖｓは、Ｕ，Ｖ，Ｗの各相巻線１２の端子間電圧を電源Ｅの電圧まで上昇させることができ得るような制御を実施する場合には１／√２を電源Ｅの初期設定電圧に乗じた値とすればよく、また、Ｕ，Ｖ，Ｗの各相巻線１２に正弦波電圧を印加するように制御する場合には、√６／４を電源Ｅの設定電圧に乗じた値とすればよい。
【００８２】
このように、ｄ相電圧指令値Ｖｄおよびｑ相電圧指令値Ｖｑの合成ベクトル長さの自乗の値、すなわち、ｄ相電圧指令値Ｖｄの二乗の値とｑ相電圧指令値Ｖｑの二乗の値とを足し合わせた加算値（Ｖｄ２＋Ｖｑ２）と飽和電圧Ｖｓの自乗とを比較して、ｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトル長さ（Ｖｄ２＋Ｖｑ２）１／２が飽和電圧Ｖｓを超えているかを判断するようにしているので、この判断に必要な演算にルート演算を行わずに済み、演算時間の短縮に寄与することができる。
【００８３】
そして、飽和判断部２８は、ｄ相電圧指令値Ｖｄおよびｑ相電圧指令値Ｖｑの合成ベクトルが飽和している場合、０をスイッチコントローラ４８に出力し、飽和していない場合には、１をスイッチコントローラ４８に出力するようにする。
【００８４】
他方、スイッチコントローラ４８は、図８に示すように、飽和判断部２８が出力する値を否定する否定演算部５１と、否定演算部５１が出力した値と判定部２７が出力する値の論理積を演算する論理積演算部５２と、論理積演算部５２が出力する値を否定する否定演算部５３と、否定演算部５３が出力する値を否定する否定演算部５４とを備えて構成され、また、スイッチコントローラ４８は、飽和判断部２８が出力した値をそのままｑ相電流目標値ｉｑ*とｑ相電流ｉｑとの偏差εｑを演算する加減算部３５とスイッチ４７との間に設けた乗算部５６およびｄ相の積分ループ中の積分部４０の手前に設けた乗算部５８へ出力するとともに、否定演算部５４が出力する値を積分値ｆｑの補正用のフィードバックループの途中であってスイッチ４７と乗算部４６との間に設けた乗算部５７へ出力し、さらには、否定演算部５３が出力する値をスイッチ４７へ出力するようになっている。
【００８５】
また、スイッチ４７は、この場合、スイッチコントローラ４８から１未満の値を受け取ると、積分値補正部２６にその機能を発揮させるべく、乗算部４６の出力であるＧ・εｆｑが積分部３９へ入力されるように切換わり、スイッチコントローラ４８から１以上の値を受け取ると、加減算部３５によって演算される偏差εｑが積分部３９へ入力されるように切換わるようになっている。
【００８６】
ここで、モータＭがブレーキ領域で使用されていると判定部２７が判定して、１を出力し、飽和判断部２８がｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトルが飽和していると判断して０を出力すると、スイッチコントローラ４８は、スイッチ４７に対しては０を、乗算部５６，５８に対しては０を、乗算部５７に対しては１をそれぞれ出力する。
【００８７】
すると、スイッチ４７は、積分値補正部２６にその機能を発揮させるべく、乗算部４６の出力であるＧ・εｆｑが積分部３９へ入力されるように切換わり、乗算部４６の出力であるＧ・εｆｑとスイッチコントローラ４８が出力する１とが乗算部５７へ入力されるので、積分部３９へは、Ｇ・εｆｑがそのまま入力されるようになる。また、乗算部５８へはスイッチコントローラ４８が出力する０と偏差εｄが入力されるので、積分部４０へは０が入力されるようになる。
【００８８】
つまり、この場合には、振動モードの発生条件が整うので、積分値ｆｑを補正する制御が実施されるとともに、乗算部５８には０が出力されることから、ｄ相電流ループにおける積分演算は中止されることになる。
【００８９】
さらに、モータＭがブレーキ領域で使用されていると判定部２７が判定して、１を出力し、飽和判断部２８がｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトルが飽和していないと判断して１を出力すると、スイッチコントローラ４８は、スイッチ４７に対しては１を、乗算部５６，５８に対しては１を、乗算部５７に対しては０をそれぞれ出力する。
【００９０】
すると、スイッチ４７は、積分値補正部２６が機能できないように、加減算部３５によって演算される偏差εｑが積分部３９へ入力されるように切換わり、乗算部５６へはスイッチコントローラ４８が出力する１と偏差εｑが入力されるので、積分部３９へは、偏差εｑがそのまま入力されるようになり、乗算部５８へはスイッチコントローラ４８が出力する１と偏差εｄが入力されるので、積分部４０へは偏差εｄがそのまま入力されるようになる。
【００９１】
つまり、この場合には、振動モードの発生条件が整っていないので、積分値ｆｑを補正する制御が実施されずに、通常制御が行われることになる。
【００９２】
また、モータＭがブレーキ領域で使用されていないと判定部２７が判定して、０を出力し、飽和判断部２８がｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトルが飽和していないと判断して１を出力すると、スイッチコントローラ４８は、スイッチ４７に対しては１を、乗算部５６，５８に対しては１を、乗算部５７に対しては０をそれぞれ出力する。
【００９３】
すると、スイッチ４７は、積分値補正部２６が機能できないように、加減算部３５によって演算される偏差εｑが積分部３９へ入力されるように切換わり、乗算部５６へはスイッチコントローラ４８が出力する１と偏差εｑが入力されるので、積分部３９へは偏差εｑがそのまま入力されるようになり、乗算部５８へはスイッチコントローラ４８が出力する１と偏差εｄが入力されるので、積分部４０へは偏差εｄがそのまま入力されるようになる。
【００９４】
つまり、この場合には、振動モードの発生条件が整っていないので、積分値ｆｑを補正する制御が実施されずに、通常制御が行われることになる。
【００９５】
そして、さらに、モータＭがブレーキ領域で使用されていないと判定部２７が判定して、０を出力し、飽和判断部２８がｄ相電圧指令値Ｖｄとｑ相電圧指令値Ｖｑの合成ベクトルが飽和していると判断して０を出力すると、スイッチコントローラ４８は、スイッチ４７に対しては１を、乗算部５６，５８に対しては０を、乗算部５７に対しては０をそれぞれ出力する。
【００９６】
すると、スイッチ４７は、積分値補正部２６が機能できないように、加減算部３５によって演算される偏差εｑが積分部３９へ入力されるように切換わり、乗算部５６へはスイッチコントローラ４８が出力する０と偏差εｑが入力されるので、積分部３９へは０が入力されるようになり、また、乗算部５８へはスイッチコントローラ４８が出力する０と偏差εｄが入力されるので、積分部４０へは０が入力されるようになる。
【００９７】
つまり、この場合には、振動モードの発生条件は整っていないが、ｄ相電圧指令値Ｖｄおよびｑ相電圧指令値Ｖｑの合成ベクトルが飽和しているにもかかわらず、偏差εｄ，εｑを積分部４０，３９で加算し続けると積分値ｆｄ，ｆｑの絶対値が増大し、ｄｑ各相の電圧指令値Ｖｄ，Ｖｑの絶対値は増大するので、飽和の影響でモータＭの発生トルクにリップルを生じて制御性が悪化することになり、アクチュエータの発生荷重にリップルを生じて制御性が悪化することになることから積分部４０，３９に０を入力することによってｄｑ各相の積分ループにおける積分演算を中止する。したがって、振動モードの発生条件が満たされないがｄ相電圧指令値Ｖｄおよびｑ相電圧指令値Ｖｑの合成ベクトルが飽和している場合には、ｄｑ各相の電流ループ中の積分ループにおける積分中止処理が行われ、積分値飽和による制御遅れが回避されて制御応答性の悪化が防止されるとともに、トルクリップルの発生が防止されることになる。
【００９８】
かくして、これら判定部２７と飽和判断部２８の判定および判断よって、モータ制御装置２０が通常制御を継続するべきか、振動モードの発生を抑制するため積分値ｆｑを補正する処理を実施するべきかを選択することができ、これによって振動モードの発生を阻止しつつモータＭを適切に制御することが可能となる。
【００９９】
また、これら判定部２７と飽和判断部２８の判定および判断よって、通常制御と積分値ｆｑを補正する処理のみならず、振動モードが発現しないもののｄ相電圧指令値Ｖｄおよびｑ相電圧指令値Ｖｑの合成ベクトルが飽和している場合には、ｄｑ各相の電流ループ中の積分ループにおける積分中止処理が行われるので、モータＭの使用状況に合わせ最適な処理を実施することが可能となる。
【０１００】
さらに、スイッチコントローラ４８を上記のごとく構成することで、高度な演算処理を要せずして、判定部２７と飽和判断部２８が出力する値を論理演算のみによってスイッチ４７を制御して、積分ループにおける積分値ｆｑの補正処理、通常制御処理、ｄｑ各相の積分ループにおける積分演算中止処理のうちモータＭの使用状況に合わせ最適な処理を的確に選んで実施することができる。
【０１０１】
つづけて、上記したモータ制御装置２０の構成で、充分に振動モードの発現を阻止することが可能であるが、たとえば、モータＭにおけるロータＲの回転速度がマイナスで逆回転しており、モータＭがブレーキ領域で使用され、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和する場合、ｑ相電流目標値ｉｑ*にｑ相電流ｉｑが追随することができず偏差εｑがプラスとなるため、ｑ相電流ループにおける比例パスの値もプラスの値をとることになる。
【０１０２】
そして、積分値ｆｑを積分値補正部２６によって補正し積分パスの値をマイナスの値に補正しても比例ゲインＫＰと積分ゲインＫＩの設定如何では、ｄ相の電圧指令値Ｖｄとｑ相の電圧指令値Ｖｑの合成ベクトルがｑ軸に対するなす角度を４５度から１８０度の範囲内に速やかに誘導することができない場合がある。
【０１０３】
反対に、モータＭにおけるロータＲの回転速度がプラスで正回転しており、モータＭがブレーキ領域で使用され、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和する場合、ｑ相電流目標値ｉｑ*にｑ相電流ｉｑが追随することができず偏差εｑがマイナスとなるため、ｑ相電流ループにおける比例パスの値もマイナスの値をとることになる。そして、積分値ｆｑを積分値補正部２６によって補正し積分パスの値をプラスの値に補正しても比例ゲインＫＰと積分ゲインＫＩの設定如何では、ｄ相の電圧指令値Ｖｄとｑ相の電圧指令値Ｖｑの合成ベクトルがｑ軸に対するなす角度を２２５度から３６０度の範囲内に速やかに誘導することができない場合がある。
【０１０４】
そのため、本実施のモータ制御装置２０では、より速やかに、振動モードの発現を阻止する環境に移行するため、電流目標値演算部２１が出力するｑ相電流目標値ｉｑ*を制限する制限手段によってリミット値Iｌｉｍに制限して、ｑ相電流目標値ｉｑ*とｑ相電流ｉｑとの偏差εｑが大きくならないようにする。
【０１０５】
つまり、制限手段たるｑ相電流制限部２２は、電流目標値演算部２１が出力するｑ相電流目標値ｉｑ*を、モータＭがブレーキ領域で使用されている場合、モータＭが逆回転している場合にはｑ相電流が取りうる最大値となり、モータＭが正回転している場合にはｑ相電流が取りうる最小値となるリミット値Ｉｌｉｍに制限する。
【０１０６】
具体的には、このリミット値Ｉｌｉｍは、モータＭが逆回転している場合、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルを飽和電圧として、この合成ベクトルをｄｑ座標において原点回りに３６０度一周させたときｑ相電流ｉｑが取りうる最大値とされ、他方、モータＭが正回転している場合、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルを飽和電圧として、この合成ベクトルをｄｑ座標において原点回りに３６０度一周させたときｑ相電流ｉｑが取りうる最小値とされる。
【０１０７】
したがって、モータＭが逆回転している場合、ｑ相電流目標値ｉｑ*の上限が、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルの飽和時において、ｑ相電流ｉｑが取り得る最大値に制限され、モータＭが正回転している場合、ｑ相電流目標値ｉｑ*の下限が、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルの飽和時において、ｑ相電流ｉｑが取り得る最小値に制限されるため、ｑ相電流目標値ｉｑ*とｑ相電流ｉｑとの偏差εｑの絶対値が大きくなることが無く、ｑ相電流ループにおける比例パスの値εｑ・ＫＰの絶対値が大きくなってしまうことがなく、積分パスの値ｆｑ・ＫＩが支配的となり、ｑ相電圧指令値Ｖｑを狙い通りに制御することができるようになる。
【０１０８】
これにより、モータＭが逆回転しｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和している状況において、ｄ相の電圧指令値Ｖｄとｑ相の電圧指令値Ｖｑの合成ベクトルがｑ軸に対するなす角度を４５度から１８０度の範囲内に速やかに誘導することができ、モータＭが正回転しｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和している状況において、積分値ｆｑを積分値補正部２６で補正するとｄ相の電圧指令値Ｖｄとｑ相の電圧指令値Ｖｑの合成ベクトルがｑ軸に対するなす角度を２２５度から３６０度の範囲内に速やかに誘導することができることになって、振動モードの発現をより確実に阻止しえることになる。
【０１０９】
なお、モータＭが逆回転してｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和する場合、ｑ相電流ｉｑの最大値は、ロータＲの電気角速度ωの絶対値が大きくなればなるほど、ｄ相およびｑ相の相互干渉と誘導起電力の影響により０に近付くように小さくなり、他方、モータＭが正回転してｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和する場合、ｑ相電流ｉｑの最小値は、ロータＲの電気角速度ωの絶対値が大きくなればなるほど、ｄ相およびｑ相の相互干渉と誘導起電力の影響により０に近付くように大きくなり、電気角速度ωに依存した値となる。
【０１１０】
したがって、上記リミット値Ｉｌｉｍも電気角速度ωに依存して変更する必要があるが、予め、図９に示すように、電気角速度ωをパラメータとして変動するリミット値Ｉｌｉｍをマップ化しておき、ｑ相電流制限部２２で電気角速度ωをモニタし、当該マップを参照してリミット値Ｉｌｉｍを選択するようにしておくとよい。なお、電気角速度ωが０近傍の値をとる場合のリミット値Ｉｌｉｍが電気角速度ωの変化に対して一定値をとるのは、モータ制御装置２０の最大通電能力によって制限されるからである。
【０１１１】
このようにマップ演算を行うことによって、ｑ相電流目標値ｉｑ*の制限に必要なリミット値Ｉｌｉｍを簡単に得ることができ、これによって、演算時間の短縮を図って制御応答性を向上することができ、さらには、コスト高となる高性能なＣＰＵを用いなければならない事態も回避することができる。
【０１１２】
そして、上記マップは、モータＭが正回転して電気角速度ωがプラスの値を採る領域にある場合とモータＭが逆回転して電気角速度ωがマイナスの値を採る領域にある場合であって、モータＭがブレーキ領域にある場合に対応したものであればよいので、正回転時と逆回転時とに分けてマップを作成する必要は無く、電気角速度ωがプラスの実用最大値からマイナスの実用最小値まで変化した場合のリミット値Ｉｌｉｍとしてプロットすることにより作成すればよい。
【０１１３】
また、電気角速度ωの実用最小値ωｍｉｎあるいは実用最大値ωｍａｘから適当な値Δωずつ変化させたときの不連続なリミット値Ｉｌｉｍとしておき、たとえば、マップが実用最小値ωｍｉｎから値Δωずつ変化させて作成される場合、電気角速度ωがωｍｉｎ＋（ｎ−１）・Δω＜ω＜ωｍｉｎ＋ｎ・Δω（ｎ＝１，２，３・・・Ｎ）であり、マップ上にｑ相電流制限部２２に入力された電気角速度ωに対応するリミット値Ｉｌｉｍが無い場合、ｑ相電流制限部２２に入力された電気角速度ωより小さい値で対応するリミット値Ｉｌｉｍがマップ上に存在するωｍｉｎ＋（ｎ−１）・Δωにおけるリミット値Ｉｌｉｍと、ｑ相電流制限部２２に入力された電気角速度ωより大きい値で対応するリミット値Ｉｌｉｍがマップ上に存在するωｍｉｎ＋ｎ・Δωにおけるリミット値Ｉｌｉｍを用いて線形補間によってリミット値Ｉｌｉｍを演算するようにしておけばよい。
【０１１４】
このようにリミット値Ｉｌｉｍにｑ相電流目標値ｉｑ*を制限するが、上記リミット値Ｉｌｉｍをｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルの飽和時におけるｑ相電流ｉｑの最大値と最小値とする場合、ｑ相電流ｉｑの最大値および最小値は、電源Ｅの電圧Ｖｂに左右されるので、このモータ制御装置２０では、電源Ｅの電圧変化に応じてリミット値Ｉｌｉｍを補正するようにしている。
【０１１５】
具体的には、ｑ相電流制限部２２は、電圧検出器３３で検出する電源Ｅの電圧Ｖｂをモニタしており、この検出された電源Ｅの電圧Ｖｂに基づいてリミット値Ｉｌｉｍを補正する。
【０１１６】
このリミット値Ｉｌｉｍの補正にあたり、ｑ相電流制限部２２に電気角速度ωとリミット値Ｉｌｉｍのマップを電源Ｅの電圧Ｖｂに対応させて複数用意しておき、電源Ｅの電圧Ｖｂに対応したマップを選択し、上述のように電気角速度ωからリミット値Ｉｌｉｍをマップ演算するようにすればよい。
【０１１７】
また、ｄ相およびｑ相の電圧指令値Ｖｄ，Ｖｑの合成ベクトルが飽和したときのｑ相電流ｉｑの最大値は、ほぼ電源Ｅの電圧Ｖｂに比例して変化することから、電源Ｅの電圧変化に対しリミット値Ｉｌｉｍを比例的に補正するようにしてもよく、この場合には、電気角速度ωをパラメータとして作成したリミット値Ｉｌｉｍのマップにおけるリミット値Ｉｌｉｍの値を、予めマップ作成時の電源Ｅの電圧で割って補正用のマップを作成しておき、このマップを参照して得たリミット値Ｉｌｉｍに電圧検出器３３で検出した電源Ｅの電圧Ｖｂを乗算することでリミット値Ｉｌｉｍを補正すればよい。
【０１１８】
したがって、電源Ｅの電圧の変動に対して、リミット値Ｉｌｉｍを補正するので、電源Ｅの電圧が変動してもｑ相電流目標値ｉｑ*とｑ相電流ｉｑの偏差εｑの絶対値が大きくなるようなことが防止され、これによって、電源Ｅの電圧変動によって振動モードが発現されてしまうことを防止することができるのである。
【０１１９】
転じて、上述のように構成されるモータ制御装置２０の電流検出器３２、電圧検出器３３、回転角センサ１５およびＰＷＭ回路３１以外の各部におけるハードウェア資源としては、具体的にはたとえば、電流検出器３２、電圧検出器３３および回転角センサ１５が出力する各信号を増幅するためのアンプと、アナログ信号をデジタル信号に変換する変換器と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｓｓｅｓｉｎｇ  Ｕｎｉｔ）と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の記憶装置と、ＣＰＵに記憶領域を提供するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）と、水晶発振子及びこれらを連絡するバスラインとを備えた図示しない周知のコンピュータシステムとして構成され、また、ＰＷＭ回路３１に電圧指令値Ｖｕ，Ｖｖ，Ｖｗを出力することができるようになっている。なお、このハードウェアとしてモータ制御装置２０の電流検出器３２、電圧検出器３３、回転角センサ１５およびＰＷＭ回路２８以外の各部は、このアクチュエータが搭載される機器のコントローラに統合されてもよい。
【０１２０】
そして、この場合、上記電流目標値演算部２１、ｑ相電流制限部２２、二相電流演算部２４、比例積分制御部２５、積分値補正部２６、判定部２７、飽和判断部２８、三相変換演算部２９およびリミッタ３０における処理手順は、プログラムとしてＲＯＭや他の記憶装置に予め格納され、上記これら各部は、ＣＰＵが上記プログラムを読み込んで、上記した各演算処理を実行することによって実現される。
【０１２１】
ここで、上記したモータ制御装置２０における処理手順について、図１０に示すフローチャートに基づいて説明する。
【０１２２】
まず、ステップＳ１でモータ制御装置２０は、三相の巻線１２のうちの任意の二相、たとえば、Ｕ相とＶ相の電流値ｉｕ，ｉｖと、モータＭの電気角θと、電源Ｅの電圧値Ｖｂを読み込む。
【０１２３】
つづき、ステップＳ２に移行して、モータ制御装置２０は、電気角速度ωとトルク指令に基づいて各電流目標値ｉｄ*，ｉｑ*を演算する。
【０１２４】
さらに、ステップＳ３では、モータ制御装置２０は、電流値ｉｕ，ｉｖと電気角θを用いて、上記各電流値ｉｖ，ｉｕをｄ相およびｑ相の電流値ｉｄ，ｉｑへ変換する演算を行って、ステップＳ４に移行する。
【０１２５】
そして、ステップＳ４では、前回制御時にｄ相電圧指令値Ｖｄおよびｑ相電圧指令値Ｖｑの合成ベクトルが飽和していたか、すなわち、ｄ相電圧指令値Ｖｄおよびｑ相電圧指令値Ｖｑの合成ベクトル長さの自乗の値（Ｖｄ２＋Ｖｑ２）が飽和  電圧Ｖｓの自乗の値Ｖｓ２を超えていたかを、飽和フラグを参照して判断し、前回制御時にｄ相電圧指令値Ｖｄおよびｑ相電圧指令値Ｖｑの合成ベクトルが飽和している場合、ステップＳ５へ移行し、前回制御時にｄ相電圧指令値Ｖｄおよびｑ相電圧指令値Ｖｑの合成ベクトルが飽和していなかった場合、ステップＳ１５へ移行する。なお、飽和フラグは、後述するステップＳ１８によってセットされ、たとえば、飽和フラグが０である場合には、前回制御時にｄ相電圧指令値Ｖｄおよびｑ相電圧指令値Ｖｑの合成ベクトルが飽和しており、飽和フラグが１である場合には、前回制御時にｄ相電圧指令値Ｖｄおよびｑ相電圧指令値Ｖｑの合成ベクトルが飽和していなかったことを示す。
【０１２６】
さらに、ステップＳ５に移行して、モータ制御装置２０は、ロータＲの電気角速度ωとｑ相電流目標値ｉｑ*とを乗算した値の符号からモータＭがアクティブ領域で使用されているかブレーキ領域で使用されているかを判定し、モータＭがブレーキ領域で使用されている場合にはステップＳ６へ移行し、他方、モータＭがアクティブ領域で使用されている場合にはステップＳ１３へ移行する。
【０１２７】
つづき、ステップＳ６に移行して、ステップＳ６では、ｄ相電圧指令値Ｖｄおよびｑ相電圧指令値Ｖｑの合成ベクトルが飽和しモータＭがブレーキ領域で使用されており振動モードの発現の条件が成立しているので、モータ制御装置２０は、ロータＲの電気角速度ωに基づいてｑ相電流目標値ｉｑ*を制限するリミット値Ｉｌｉｍを演算する。なお、電源Ｅの電圧Ｖｂに変動がある場合には、リミット値Ｉｌｉｍを補正する。
【０１２８】
ステップＳ７では、ｑ相電流目標値ｉｑ*の絶対値がリミット値Ｉｌｉｍの絶対値を超える場合、ｑ相電流目標値ｉｑ*をリミット値Ｉｌｉｍに制限し、他方、ｑ相電流目標値ｉｑ*の絶対値がリミット値Ｉｌｉｍの絶対値以下である場合、ｑ相電流目標値ｉｑ*を制限せずにそのままとし、ステップＳ８へ移行する。
【０１２９】
ステップＳ８では、モータ制御装置２０は、各電流目標値ｉｄ*，ｉｑ*とｄ相およびｑ相の電流値ｉｄ，ｉｑとの偏差εｄ，εｑを演算して、ステップＳ９へ移行する。
【０１３０】
ステップＳ９では、モータ制御装置２０は、前回制御時のｑ相積分値ｆｑｐｒｅと積分値目標値ｆｑ＊との積分値偏差εｆｑを演算して、ステップＳ１０へ移行する。
【０１３１】
さらに、ステップＳ１０に移行して、モータ制御装置２０は、上記したステップＳ９で演算した積分値偏差εｆｑにゲインＧを乗じて、Ｇ・εｆｑを演算し、ステップＳ１１へ移行する。
【０１３２】
そして、ステップＳ１１では、モータ制御装置２０は、Ｇ・εｆｑを入力して積分値ｆｑを補正する処理を行う。具体的には、今回制御時の積分値ｆｑをｆｑ＝ｆｑｐｒｅ＋Ｇ・εｆｑの演算を行うことによって求める。そして、ステップＳ１２に移行する。
【０１３３】
つづき、ステップＳ１２では、ｄ相積分ループにおける入力を０として積分演算を行うことによってｄ相積分ループにおける積分を中止する。具体的には、今回制御時の積分値ｆｄをｆｄ＝ｆｄｐｒｅの演算によって求める。そして、この処理が終了後、ステップＳ１７へ移行する。
【０１３４】
他方、ステップＳ１３では、モータ制御装置２０は、各電流目標値ｉｄ*，ｉｑ*とｄ相およびｑ相の電流値ｉｄ，ｉｑとの偏差εｄ，εｑを演算してステップＳ１４へ移行する。
【０１３５】
そして、ステップＳ１４では、ステップＳ５までの処理でモータＭがアクティブ領域で使用されており振動モードの条件が整っていないと判断されるものの、ｄ相電圧指令値Ｖｄおよびｑ相電圧指令値Ｖｑの合成ベクトルが飽和しているので、モータ制御装置２０は、積分中止処理を行うため、ｄｑ相積分ループへの偏差入力を０に設定して積分値ｆｄ，ｆｑを演算して、ステップＳ１７へ移行する。具体的には、今回制御時の積分値ｆｄ，ｆｑをｆｄ＝ｆｄｐｒｅ，ｆｑ＝ｆｑｐｒｅの演算によって求める。
【０１３６】
さらに、ステップＳ１５では、前回制御時にｄ相電圧指令値Ｖｄおよびｑ相電圧指令値Ｖｑの合成ベクトルが飽和していないので、通常制御を行うため、モータ制御装置２０は、各電流目標値ｉｄ*，ｉｑ*とｄ相およびｑ相の電流値ｉｄ，ｉｑとの偏差εｄ，εｑを演算して、ステップＳ１６へ移行する。
【０１３７】
ステップＳ１６では、ｄｑ各相の偏差εｄ，εｑを積分する演算を行い今回制御時の積分値ｆｄ，ｆｑを求める。具体的には、今回制御時の積分値ｆｄ，ｆｑをｆｄ＝ｆｄｐｒｅ＋εｄ，ｆｑ＝ｆｑｐｒｅ＋εｑの演算によって求める。そして、この処理が終了するとステップＳ１７へ移行する。
【０１３８】
ステップＳ１７では、Ｖｄ＝ＫＩ・ｆｄ＋ＫＰ・εｄを演算してｄ相の電圧指令値Ｖｄを算出し、Ｖｑ＝ＫＩ・ｆｑ＋ＫＰ・εｑを演算してｑ相の電圧指令値Ｖｑを算出してステップＳ１８へ移行する。
【０１３９】
ステップＳ１８では、ｄ相の電圧指令値Ｖｄとｑ相の電圧指令値Ｖｑの合成ベクトルが飽和しているか否かを判断し、飽和している場合には飽和フラグを０に、飽和していない場合には飽和フラグを１にセットしてステップＳ１９へ移行する。
【０１４０】
さらに、ステップＳ１９において、モータ制御装置２０は、上記ｄ相電圧指令値Ｖｄおよびｑ相電圧指令値Ｖｑを三相の電圧指令値Ｖｕ，Ｖｖ，Ｖｗに変換する演算を行って、ステップＳ２０に移行する。
【０１４１】
そして、ステップＳ２０では、モータ制御装置２０は、電圧指令値Ｖｕ，Ｖｖ，Ｖｗを採り得る値に制限する処理が必要な場合には、この制限処理を行い、必要が無い場合には、制限処理を施さずにステップＳ２１に移行する。
【０１４２】
ステップＳ２１では、モータ制御装置２０は、電圧指令値Ｖｕ，Ｖｖ，ＶｗをＰＷＭ回路３１へ出力して、これらの一連の処理を終了する。
【０１４３】
そして、このモータ制御装置２０は、以上のステップＳ１からＳ２１までを繰り返し処理してモータＭを制御する。
【０１４４】
したがって、モータ制御装置２０が上記した一連の処理を実行することで、上述した電流目標値演算部２１、ｑ相電流制限部２２、二相電流演算部２４、比例積分制御部２５、積分値補正部２６、判定部２７、飽和判断部２８、三相変換演算部２９およびリミッタ３０の各部の処理が実現され、これによって、モータＭの振動モードの発現が阻止されるとともに、アクチュエータにおけるモータＭを制御する場合には、アクチュエータのストローク速度および発生荷重にリップルを生じさせることがない。
【０１４５】
以上で、本発明の実施の形態についての説明を終えるが、本発明の範囲は図示されまたは説明された詳細そのものには限定されないことは勿論である。
【図面の簡単な説明】
【０１４６】
【図１】一実施の形態におけるモータ制御装置を適用したアクチュエータの概念図である。
【図２】ｄ相電圧指令値とｑ相電圧指令値の合成ベクトルのｑ軸に対しなす角度に対するｑ相電流の変化を示す図である。
【図３】ｄｑ座標において振動モードの発現が阻止されるｄ相電圧指令値とｑ相電圧指令値の合成ベクトルのｑ軸に対する角度範囲を示した図である。
【図４】ｄ相電圧指令値とｑ相電圧指令値の合成ベクトルのｑ軸に対しなす角度に対するｑ相電流およびｄ相電流の変化を示す図である。
【図５】（Ａ）は、ｄ相電流をゼロに制御するようにした場合のアクチュエータのストローク変位に対する合成ベクトルがｑ軸に対しなす角度の変化を示すグラフである。（Ｂ）は、ｑ相の電流ループにおける積分値の増大を抑制する積分飽和処理を行って制御した場合のアクチュエータのストローク変位に対する合成ベクトルがｑ軸に対しなす角度の変化を示すグラフである。（Ｃ）は、弱め界磁制御を実施した場合のアクチュエータのストローク変位に対する合成ベクトルがｑ軸に対しなす角度の変化を示すグラフである。
【図６】モータ制御装置のシステム図である。
【図７】ＰＷＭ回路を示す図である。
【図８】補正手段におけるスイッチコントローラのシステム図である。
【図９】電気角速度をパラメータとして作成したｑ相電流目標値を制限するリミット値のマップを示す図である。
【図１０】一実施の形態のモータ制御装置における処理手順を示すフローチャートである。
【図１１】従来のアクチュエータにおけるストローク速度に対する発生荷重（ダンピングフォース）を示した図である。
【符号の説明】
【０１４７】
１  回転部材たる螺子軸
２  直動部材たるボール螺子ナット
１０  フレーム
１１  ステータコア
１２  巻線
１３  シャフト
１４  駆動用磁石
１５  回転角センサ
２０  モータ制御装置
２１  電流目標値演算部
２２  ｑ相電流制限部
２４  二相電流演算部
２５  比例積分制御部
２６  積分値補正部
２７  判定部
２８  飽和判断部
２９  三相変換演算部
３０  リミッタ
３１  ＰＷＭ回路
３１ａ  スイッチング素子
３２  電流検出器
３３  電圧検出器
３５，３６，４５  加減算部
３７，３８，４１，４２，４６，５６，５７  乗算部
３９，４０  積分部
４３，４４  加算部
４７  スイッチ
４８  スイッチコントローラ
５１，５３，５４  否定演算部
５２  論理積演算部
Ｅ  電源
Ｈ  運動変換機構
Ｍ  モータ
Ｒ  ロータ
Ｓ  ステータ
【図１】
2008067581.tif 000007
【図２】
2008067581.tif 000008
【図３】
2008067581.tif 000009
【図４】
2008067581.tif 000010
【図５】
2008067581.tif 000011
【図６】
2008067581.tif 000012
【図７】
2008067581.tif 000013
【図８】
2008067581.tif 000014
【図９】
2008067581.tif 000015
【図１０】
2008067581.tif 000016
【図１１】
2008067581.tif 000017