(57)【特許請求の範囲】
【請求項１】
モータを駆動するためのモータ駆動電圧を所定の演算周期毎に更新して出力するモータ制御装置であって、
前記モータを駆動するための基本駆動値を演算する基本駆動値演算手段と、
前記モータの非干渉化制御のための非干渉化制御量を演算する非干渉化制御量演算手段と、
この非干渉化制御量演算手段によって演算される非干渉化制御量を補正するための補正値を演算する補正値演算手段と、
前記非干渉化制御量演算手段によって演算される前記非干渉化制御量、および前記補正値演算手段によって演算される前記補正値によって、前記基本駆動値演算手段により演算される前記基本駆動値を修正してモータ駆動電圧を得る修正手段と、
この修正手段での修正によって得られるモータ駆動電圧に基づいて前記モータを駆動する駆動手段と、
前記演算周期毎に、前記モータに流れるモータ電流を検出するモータ電流検出手段とを含み、
前記補正値演算手段が、前記モータ駆動電圧から、前記モータを含む電気回路の電気抵抗と前記モータ電流検出手段によって検出されたモータ電流との積を差し引き、さらに、今回の演算周期と前回の演算周期との間におけるモータ電流変化量にモータ巻線のインダクタンスを乗じた値を差し引いた値を前記補正値として演算するものである、
モータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、モータ（とくにブラシレスモータ）を駆動するためのモータ制御装置に関する。ブラシレスモータは、たとえば、電動パワーステアリング装置における操舵補助力の発生源として利用される。
【背景技術】
【０００２】
ブラシレスモータのためのモータ制御装置は、モータの電機子巻線を流れる電流を検出する電流検出部と、モータのロータ回転位置を検出する回転位置検出部と、ｄ軸目標電流およびｑ軸目標電流を演算するｄｑ軸目標電流演算部と、検出された電機子巻線電流およびロータ回転位置に基づいてｄ軸電流およびｑ軸電流を求めるｄｑ軸電流演算部と、ｄ軸電圧指令値演算部と、ｑ軸電圧指令値演算部とを備えている。ｄ軸電圧指令値演算部は、ｄ軸目標電流とｄ軸電流との間のｄ軸偏差を低減するように、ｄ軸偏差のＰＩ演算に基づいてｄ軸電圧指令値を求める。ｑ軸電圧指令値演算部は、ｑ軸目標電流とｑ軸電流との間のｑ軸偏差を低減するように、ｑ軸偏差のＰＩ演算に基づいてｑ軸電圧指令値を求める。こうして求められたｄ軸電圧指令値およびｑ軸電圧指令値、ならびに検出されたロータ回転位置に基づいて、モータ制御装置は、電機子巻線に電圧を印加する。これにより、ロータの回転力が発生する。
【０００３】
一方、ＰＩ演算値に対して非干渉化制御量を加算する非干渉化制御が知られている（特許文献１参照）。非干渉化制御とは、ロータの回転に伴ってモータ内部で生じる速度起電力を補償するように電圧指令値を定める制御である。非干渉化制御を行うことによって、速度起電力による応答性や追従性の低下を効果的に抑制できると期待されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−１８７５７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
モータ内部で生じる速度起電力は、回転角速度および電流に依存する。したがって、これを補償するための非干渉化制御量も同様に回転角速度および電流に依存する。より具体的には、ｄ軸非干渉化制御量は回転角速度およびｑ軸電流に依存し、ｑ軸非干渉化制御量は回転角速度およびｄ軸電流に依存する。
ところが、モータの各相の電機子巻線の電流が検出されてから、これがｄ軸電流およびｑ軸電流に変換され、さらにｄ軸電圧指令値およびｑ軸電圧指令値が出力するまでには、座標変換やＰＩ演算などのための演算時間が必要である。また、ロータ回転角が検出されてから、それに基づいて回転角速度を演算する時間も必要である。この間にもロータは回転するので、それに伴ってｄ軸およびｑ軸が回転することになる。その結果、ｄ軸電圧指令値およびｑ軸電圧指令値が出力されるときには、ｄ軸およびｑ軸の方向が、モータ電流等の検出時のｄ軸およびｑ軸の方向からずれてしまっている。したがって、モータ電流等検出時のｄ軸およびｑ軸の方向に対応する非干渉化制御量を用いても、必ずしも、適切な電圧指令値を出力することができない。とくに、回転角速度が大きいときに、この問題が顕在化する。そのため、非干渉化制御が必ずしも期待どおりの効果を生じないうえ、モータ電流が変動的になり、振動や異音が生じるおそれがある。
【０００６】
そこで、この発明の目的は、演算時間の遅れを補償した非干渉化制御を行うことによって、モータの応答性および追従性を効果的に向上することができるモータ制御装置を提供することである。
【課題を解決するための手段】
【０００７】
上記の目的を達成するための請求項１記載の発明は、モータを駆動するためのモータ駆動電圧を所定の演算周期毎に更新して出力するモータ制御装置であって、前記モータ（１）を駆動するための基本駆動値を演算する基本駆動値演算手段（５１ａ，５２ａ）と、前記モータの非干渉化制御のための非干渉化制御量を演算する非干渉化制御量演算手段（５１ｂ，５２ｂ）と、この非干渉化制御量演算手段によって演算される非干渉化制御量を補正するための補正値を演算する補正値演算手段（５１ｅ，５２ｅ）と、前記非干渉化制御量演算手段によって演算される前記非干渉化制御量、および前記補正値演算手段によって演算される前記補正値によって、前記基本駆動値演算手段により演算される前記基本駆動値を修正してモータ駆動電圧を得る修正手段（５１ｃ，５１ｄ，５２ｃ，５２ｄ）と、この修正手段での修正によって得られるモータ駆動電圧に基づいて前記モータを駆動する駆動手段（２０，２１，１３）と、前記演算周期毎に、前記モータに流れるモータ電流を検出するモータ電流検出手段（１１，１７）とを含み、前記補正値演算手段が、前記モータ駆動電圧から、前記モータを含む電気回路の電気抵抗と前記モータ電流検出手段によって検出されたモータ電流との積を差し引き、さらに、今回の演算周期と前回の演算周期との間におけるモータ電流変化量にモータ巻線のインダクタンスを乗じた値を差し引いた値を前記補正値として演算するものである、モータ制御装置である。なお、括弧内の英数字は、後述の実施形態における対応構成要素等を表す。以下、この項において同じ。
【０００８】
この構成によれば、非干渉化制御量および補正値によって基本駆動値を修正してモータ駆動電圧が求められるようになっている。前記補正値を適切に定めることによって、演算時間分の遅れに起因する非干渉化制御量の誤差を補償することができる。これにより、応答性および追従性に優れたモータ制御が可能になり、非干渉化制御本来の効果を充分に享受することができる。
【０００９】
モータ駆動電圧（たとえば、電圧指令値）が出力されると、その結果としてのモータ電流が検出される。モータを含む電気回路の電気抵抗に当該モータ電流を乗じると、モータに実際に印加されたモータ電圧が求まる。このモータ電圧とモータ駆動電圧との差が、制御上の誤差となる。そこで、この発明では、モータ駆動電圧とモータ電圧（電気抵抗および検出電流の積）との差を、非干渉化制御量の誤差を補償するための補正値とするようにしている。これにより、効果的な非干渉化制御が可能になる。
【００１０】
より具体的には、前記モータ制御装置は、所定の演算周期毎に前記モータ駆動電圧を更新して出力するものであり、前記モータ電流検出手段は、前記演算周期毎に前記モータに流れるモータ電流を検出するものであり、前記補正値演算手段は、前回の演算周期におけるモータ駆動電圧から、前記モータを含む電気回路の電気抵抗と今回の演算周期に前記モータ電流検出手段によって検出されたモータ電流との積を差し引き、さらに、今回および前回の演算周期の間におけるモータ電流変化量にモータ巻線のインダクタンスを乗じた値を差し引いた値を前記補正値として演算するものである。
【００１１】
前回の演算周期においてモータ駆動電圧（たとえば、電圧指令値）が出力されると、その結果としてのモータ電流が今回の演算周期で検出される。モータを含む電気回路の電気抵抗に当該モータ電流を乗じ、さらに今回および前回の演算周期の間におけるモータ電流変化量にモータ巻線のインダクタンスを乗じた値（電流微分項）を加えると、今回の演算周期でモータに印加されているモータ電圧が求まる。このモータ電圧と前回の演算周期に出力されたモータ駆動電圧との差が、制御上の誤差となる。この誤差は、演算周期分の遅れに起因して非干渉化制御量がその適値からずれたことに主として起因する誤差である。この誤差は、前演算周期から今演算周期までの間と、今演算周期から次演算周期までの間とで大きく相違しないと考えられる。そこで、前回のモータ駆動電圧と今回のモータ電圧（電気抵抗および検出電流の積とモータ電流変化量およびモータ巻線インダクタンスの積との和）との差を、非干渉化制御量の誤差を補償するための補正値とする。これにより、モータ駆動電圧が更新されるまでの遅れ時間における非干渉化制御量の時間変化を予測した適切なモータ駆動電圧が得られる。つまり、モータ駆動電圧が更新される時点において妥当となる非干渉化制御を行うことができる。その結果、演算時間による遅れを効果的に補償することができるので、非干渉化制御本来の効果を達成できる。
また、この発明では、モータ電圧を求める際に、電気抵抗および検出電流の積だけでなく、今回および前回のモータ電流変化量とインダクタンスとの積も加味されている。この積は、電流微分項に対応する。この電流微分項を加味することで、モータ電圧が一層正確に求まるので、それに応じて、演算時間の遅れに起因する非干渉化制御量の誤差をより効果的に補償することができる。
【００１２】
前回の演算周期に出力されたモータ駆動電圧に代えて、今回の演算周期におけるモータ駆動電圧を用いてもよい。
【００１４】
前記補正値演算手段は、前回または今回の演算周期におけるモータ駆動電圧から、前記電気抵抗と今回の演算周期に前記モータ電流検出手段によって検出されたモータ電流との積を差し引き、さらに、今回および前回の演算周期の間におけるモータ電流変化量にモータ巻線のインダクタンスを乗じた値を差し引いた値を前記補正値として演算するものであることが好ましい。
【００１５】
前記基本駆動値演算手段は、ｄ軸基本駆動電圧およびｑ軸基本駆動電圧を演算するものであってもよい。この場合に、前記非干渉化制御量演算手段は、ｄ軸非干渉化制御量およびｑ軸非干渉化制御量を演算するものであり、それに応じて、前記補正値演算手段は、ｄ軸補正値およびｑ軸補正値を演算するものであることが好ましい。
【図面の簡単な説明】
【００１６】
【図１】この発明の一実施形態に係るモータ制御装置を適用した電動パワーステアリング装置の電気的構成を説明するためのブロック図である。
【図２】ｄｑ軸電圧指令値演算部の詳しい構成例（参考形態）を説明するためのブロック図である。
【図３】ｄ軸電流およびｑ軸電流の検出と、ｄｑ座標軸の回転との関係を示す図である。
【図４】電流値取得および電圧指令値更新の各タイミングを例示する図解図である。
【図５】モータ制御装置によるモータの制御手順を説明するためのフローチャートである。
【図６】ｄ軸電圧指令値およびｑ軸電圧指令値の演算手順を示すフローチャートである。
【図７】他の参考形態に係るｄｑ軸電圧指令値演算部の構成を示すブロック図である。
【図８】この発明の一実施形態に係るモータ制御装置に適用されるｄｑ軸電圧指令値演算部の構成を示すブロック図である。
【発明を実施するための形態】
【００１７】
以下では、この発明の実施の形態を、添付図面を参照して詳細に説明する。
図１は、この発明の一実施形態に係るモータ制御装置を適用した電動パワーステアリング装置の電気的構成を説明するためのブロック図である。この電動パワーステアリング装置は、車両のステアリングホイールに加えられる操舵トルクを検出するトルクセンサ７と、車両の速度を検出する車速センサ８と、車両の舵取り機構３に操舵補助力を与えるモータ１と、このモータ１を駆動制御するモータ制御装置１０とを備えている。モータ制御装置１０は、トルクセンサ７が検出する操舵トルクおよび車速センサ８が検出する車速に応じてモータ１を駆動することによって、操舵状況に応じた適切な操舵補助を実現する。モータ１は、たとえば、三相ブラシレスＤＣモータである。
【００１８】
モータ制御装置１０は、電流検出部１１、信号処理部としてのマイクロコンピュータ１２、および駆動回路１３を有する。このモータ制御装置１０に、モータ１内のロータの回転位置を検出するレゾルバ２（回転位置センサ）とともに、前述のトルクセンサ７および車速センサ８が接続されるようになっている。
電流検出部１１はモータ１の電機子巻線を流れる電流を検出する。より具体的には、電流検出部１１は、３相（Ｕ相、Ｖ相およびＷ相）の電機子巻線における相電流をそれぞれ検出する電流検出器１１ｕ，１１ｖ，１１ｗと、電流検出器１１ｕ，１１ｖ，１１ｗによる電流検出信号をＡ／Ｄ（アナログ／ディジタル）変換するＡ／Ｄ変換器１１ｕ′，１１ｖ′，１１ｗ′とを有する。
【００１９】
マイクロコンピュータ１２は、プログラム処理（ソフトウェア処理）によって実現される複数の機能処理部を備えており、所定の演算周期毎に繰り返し処理を実行するようになっている。これらの複数の機能処理部には、基本目標電流演算部１５、ｄｑ軸目標電流演算部１６、ｄｑ軸電流演算部１７、ｄ軸偏差演算部１８ｄ、ｑ軸偏差演算部１８ｑ、ｄｑ軸電圧指令値演算部１９、電圧指令値座標変換部２０、ＰＷＭ（パルス幅変調）制御部２１、および回転角速度演算部２２が含まれている。
【００２０】
駆動回路１３は、インバータ回路で構成され、ＰＷＭ制御部２１によって制御されることにより、車載バッテリ等の電源からの電力をモータ１のＵ相、Ｖ相およびＷ相電機子巻線に供給する。この駆動回路１３とモータ１の各相の電機子巻線との間において流れる相電流が電流検出器１１ｕ，１１ｖ，１１ｗにより検出されるようになっている。
基本目標電流演算部１５は、トルクセンサ７により検知される操舵トルクと、車速センサ８により検出される車速とに基づいて、モータ１の基本目標電流Ｉ＊を演算する。基本目標電流Ｉ＊は、たとえば、操舵トルクの大きさが大きいほど大きく、車速が小さい程大きくなるように定められる。
【００２１】
基本目標電流演算部１５により演算された基本目標電流Ｉ＊はｄｑ軸目標電流演算部１６に入力される。ｄｑ軸目標電流演算部１６は、ｄ軸方向の磁界を生成するためのｄ軸目標電流Ｉｄ＊と、ｑ軸方向の磁界を生成するためのｑ軸目標電流Ｉｑ＊とを演算する。ｄ軸とは、モータ１のロータの有する界磁の磁束方向に沿う軸であり、ｑ軸とは、ｄ軸およびロータ回転軸に直交する軸である。ｄｑ軸目標電流演算部１６における演算は公知の演算式を用いて行うことができる。
【００２２】
電流検出部１１から出力される相電流Ｉｕ，Ｉｖ，Ｉｗはｄｑ軸電流演算部１７に入力される。ｄｑ軸電流演算部１７は、レゾルバ２により検出されたロータ回転位置に基づいて、相電流Ｉｕ，Ｉｖ，Ｉｗを座標変換することにより、ｄ軸電流Ｉｄおよびｑ軸電流Ｉｑを演算する。ｄｑ軸電流演算部１７における演算は公知の演算式を用いて行うことができる。
【００２３】
ｄ軸偏差演算部１８ｄは、ｄ軸目標電流Ｉｄ＊とｄ軸電流Ｉｄとの間のｄ軸偏差δＩｄを求める。同様に、ｑ軸偏差演算部１８ｑは、ｑ軸目標電流Ｉｑ＊とｑ軸電流Ｉｑとの間のｑ軸偏差δＩｑを求める。
ｄｑ軸電圧指令値演算部１９は、ｄ軸偏差δＩｄに対応するｄ軸電圧指令値Ｖｄ＊とｑ軸偏差δＩｑに対応するｑ軸電圧指令値Ｖｑ＊とを求める。
【００２４】
電圧指令値座標変換部２０は、レゾルバ２により検出されたロータ回転位置に基づいて、ｄ軸電圧指令値Ｖｄ＊およびｑ軸電圧指令値Ｖｑ＊の座標変換を行い、Ｕ相電機子巻線、Ｖ相電機子巻線、Ｗ相電機子巻線にそれぞれ印加すべき印加電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊を演算する。電圧指令値座標変換部２０における演算は公知の演算式を用いて行えばよい。
【００２５】
ＰＷＭ制御部２１は、印加電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊に対応するデューティ比を有するパルス信号である各相のＰＷＭ制御信号を生成する。これにより、ｄ軸電圧指令値Ｖｄ＊およびｑ軸電圧指令値Ｖｑ＊に対応する電圧が駆動回路１３から各相の電機子巻線に印加され、ロータの回転力が発生する。
回転角速度演算部２２は、レゾルバ２により検出されたロータ回転位置の時間変化（微分）を演算することによって、回転角速度ω（rad/sec）を求める。この回転角速度ωは、ｄｑ軸電圧指令値演算部１９に入力されるようになっている。
【００２６】
図２は、ｄｑ軸電圧指令値演算部１９の詳しい構成例（参考形態）を説明するためのブロック図である。
ｄｑ軸電圧指令値演算部１９は、ｄ軸電圧指令値演算部５１およびｑ軸電圧指令値演算部５２を有する。ｄ軸電圧指令値演算部５１は、ｄ軸偏差δＩｄを低減するように、ｄ軸偏差のＰＩ演算（以下「ｄ軸ＰＩ演算」という。）等に基づいてｄ軸電圧指令値Ｖｄ＊を求める。ｑ軸電圧指令値演算部５２は、ｑ軸偏差δＩｑを低減するように、ｑ軸偏差のＰＩ演算（以下「ｑ軸ＰＩ演算」という。）等に基づいてｑ軸電圧指令値Ｖｑ＊を求める。
【００２７】
ｄ軸電圧指令値演算部５１は、ｄ軸ＰＩ演算部５１ａ、ｄ軸非干渉化制御量演算部５１ｂ、ｄ軸第１加算部５１ｃ、ｄ軸第２加算部５１ｄ、およびｄ軸補正値演算部５１ｅを有する。
ｄ軸ＰＩ演算部５１ａは、ｄ軸偏差のＰＩ演算によりｄ軸ＰＩ演算値Ｖｄｏを演算し、このｄ軸ＰＩ演算値Ｖｄｏをｄ軸第１加算部５１ｃに出力する。
【００２８】
ｄ軸非干渉化制御量演算部５１ｂは、回転角速度演算部２２により求められる回転角速度ωと、ｄｑ軸電流演算部１７により求められるｑ軸電流Ｉｑとに基づき、ｄ軸非干渉化制御量Ｄｄ（＝−ωＬｑＩｑ）を求める。Ｌｑはモータ１の電機子巻線のｑ軸自己インダクタンスであり、予め測定済みの定数である。
ｄ軸第１加算部５１ｃは、ｄ軸ＰＩ演算値Ｖｄｏにｄ軸非干渉化制御量Ｄｄを加算する。
【００２９】
ｄ軸第２加算部５１ｄは、ｄ軸第１加算部５１ｃの加算結果（＝Ｖｄｏ＋Ｄｄ）に対して、ｄ軸補正値演算部５１ｅが演算するｄ軸補正値ΔＤｄを加算して、ｄ軸電圧指令値Ｖｄ＊（＝Ｖｄｏ＋Ｄｄ＋ΔＤｄ）を出力する。
ｄ軸補正値演算部５１ｅは、ｄ軸非干渉化制御量Ｄｄを補正するためのｄ軸補正値ΔＤｄを求めるものである。この参考形態では、ｄ軸補正値演算部５１ｅは、今演算周期におけるｄ軸非干渉化制御量Ｄｄ(n)（ｎ＝１，２，３，…）と前演算周期におけるｄ軸非干渉化制御量Ｄｄ(n-1)との差をｄ軸補正値ΔＤｄ（＝Ｄｄ(n)−Ｄｄ(n-1)）として求める偏差演算部５１ｆを有している。なお、図中、Ｚ−１は信号の前回値を表す。
【００３０】
ｑ軸電圧指令値演算部５２は、ｑ軸ＰＩ演算部５２ａ、ｑ軸非干渉化制御量演算部５２ｂ、ｑ軸第１加算部５２ｃ、ｑ軸第２加算部５２ｄ、およびｑ軸補正値演算部５２ｅを有する。
ｑ軸ＰＩ演算部５２ａは、ｑ軸偏差のＰＩ演算によりｑ軸ＰＩ演算値Ｖｑｏを演算し、このｑ軸ＰＩ演算値Ｖｑｏをｑ軸第１加算部５２ｃに出力する。
【００３１】
ｑ軸非干渉化制御量演算部５２ｂは、回転角速度演算部２２により求められる回転角速度ωと、ｄｑ軸電流演算部１７により求められるｄ軸電流Ｉｄとに基づき、ｑ軸非干渉化制御量Ｄｑ（＝ωＬｄＩｄ＋ωΦ）を求める。Ｌｄはモータ１の電機子巻線のｄ軸自己インダクタンスであり、Φはロータの界磁の電機子巻線鎖交磁束数の最大値の（３／２）１／２倍である。ｄ軸自己インダクタンスＬｄは予め測定済みの定数である。
【００３２】
ｑ軸第１加算部５２ｃは、ｑ軸ＰＩ演算値Ｖｑｏにｑ軸非干渉化制御量Ｄｑを加算する。
ｑ軸第２加算部５２ｄは、ｑ軸第１加算部５２ｃの加算結果（＝Ｖｑｏ＋Ｄｑ）に対して、ｑ軸補正値演算部５２ｅが演算するｑ軸補正値ΔＤｑを加算して、ｑ軸電圧指令値Ｖｑ＊（＝Ｖｑｏ＋Ｄｑ＋ΔＤｑ）を出力する。
【００３３】
ｑ軸補正値演算部５２ｅは、ｑ軸非干渉化制御量Ｄｑを補正するためのｑ軸補正値ΔＤｑを求めるものである。この参考形態では、ｑ軸補正値演算部５２ｅは、今演算周期におけるｑ軸非干渉化制御量Ｄｑ(n)と前演算周期におけるｑ軸非干渉化制御量Ｄｑ(n-1)との差をｑ軸補正値ΔＤｑ（＝Ｄｑ(n)−Ｄｑ(n-1)）として求める偏差演算部５２ｆを有している。図中、Ｚ−１は信号の前回値を表す。
【００３４】
図３は、ｄ軸電流およびｑ軸電流の検出と、ｄｑ座標軸の回転との関係を示す図である。モータ１の内部で生じる速度起電力は、ｄ軸については、−ωＬｑＩｑと表され、ｑ軸については、ωＬｄＩｄ＋ωΦと表される。したがって、これらを補償するｄ軸非干渉化制御量Ｄｄは−ωＬｑＩｑと表され、ｑ軸非干渉化制御量ＤｑはωＬｄＩｄ＋ωΦと表される。
【００３５】
一方、電流検出部１１によって電流が検出されてから、この検出された電流に対応する駆動値であるｄ軸電圧指令値Ｖｄ＊およびｑ軸電圧指令値Ｖｑ＊が出力されるまでには、回転角速度ωの演算、座標変換、ＰＩ演算その他の演算のための時間が必要である。より具体的には、マイクロコンピュータ１２は、所定の演算周期（たとえば、０．００１秒）毎にｄ軸電圧指令値Ｖｄ＊およびｑ軸電圧指令値Ｖｑ＊を更新して出力する。したがって、電流検出部１１によって電流が検出されてから、ｄ軸電圧指令値Ｖｄ＊およびｑ軸電圧指令値Ｖｑ＊が当該検出された電流に対応する値に更新されるまでには、遅れ時間が生じる。この遅れ時間の間にもロータが回転しているので、それに応じてｄ軸およびｑ軸が回転することになる。
【００３６】
図３に示すように、ｄ軸７１およびｑ軸７２が前記遅れ時間の間に角度変化量θだけ回転してｄ軸７１′およびｑ軸７２′に回転移動する場合を想定する。この場合、回転前のｄ軸７１およびｑ軸７２に対応して求められたｄ軸電流Ｉｄおよびｑ軸電流Ｉｑに基づいて非干渉化制御量Ｄｄ，Ｄｑが演算される。しかし、この演算された非干渉化制御量Ｄｄ，Ｄｑが適用されるのは、ｄｑ座標軸がｄ軸７１′およびｑ軸７２′の位置まで回転した時点である。したがって、非干渉化制御量Ｄｄ，Ｄｑは適値からずれており、これをそのまま適用すれば、電圧指令値Ｖｄ＊，Ｖｑ＊もまた適値からずれていることになる。
【００３７】
そこで、この参考形態では、ｄ軸ＰＩ演算値Ｖｄｏにｄ軸非干渉化制御量Ｄｄを加算し、この加算結果をｄ軸補正値ΔＤｄで補正してｄ軸電圧指令値Ｖｄ＊を得ている。同様に、ｑ軸ＰＩ演算値Ｖｑｏにｑ軸非干渉化制御量Ｄｑを加算し、この加算結果をｑ軸補正値ΔＤｑで補正することにより、ｑ軸電圧指令値Ｖｑ＊を得ている。
図４は、電流値取得および電圧指令値更新の各タイミングを例示する図解図である。演算周期の初期の所定のタイミングでＡ／Ｄ変換器１１ｕ′、１１ｖ′，１１ｗ′から検出電流値が取得され、かつ、レゾルバ２からロータ回転位置（モータ角）が取得される。そして、演算周期の後半の所定のタイミングで電圧指令値Ｖｄ＊，Ｖｑ＊が更新される。この電圧指令値Ｖｄ＊，Ｖｑ＊は、次の演算周期で更新されるまでは変化しない。
【００３８】
この図４から理解されるように、電流およびロータ回転位置の検出から電圧指令値Ｖｄ＊，Ｖｑ＊の更新タイミングまでには、演算周期のほぼ１周期分の遅れが生じる。したがって、１演算周期分だけ先の非干渉化制御量Ｄｄ，Ｄｑを予測し、この予測された非干渉化制御量Ｄｄ，Ｄｑに基づいてＰＩ演算値Ｖｄｏ，Ｖｑｏを補正することができれば、電圧指令値Ｖｄ＊，Ｖｑ＊はその更新タイミングにおいて適値を有することができる。
【００３９】
この参考形態では、前演算周期（ｎ−１）と今演算周期（ｎ）の非干渉化制御量の誤差がほぼ等しい（大きく相違しない）と仮定する。すなわち、次式(1)(2)が成立すると仮定する。
Ｄｄ(n+1)−Ｄｄ(n)≒Ｄｄ(n)−Ｄｄ(n-1)＝ΔＤｄ(n) …(1)
Ｄｑ(n+1)−Ｄｑ(n)≒Ｄｑ(n)−Ｄｑ(n-1)＝ΔＤｑ(n) …(2)
この予測された非干渉化制御量の誤差ΔＤｄ(n)，ΔＤｑ(n)によって、非干渉化制御量Ｄｄ(n)，Ｄｑ(n)を補正すれば、電圧指令値Ｖｄ＊，Ｖｑ＊はその更新タイミングにおいて適値を有することができる。すなわち、次式(3)(4)のとおりであり、これは、図２の構成における第２加算部５１ｄ，５２ｄの出力にほかならない。
【００４０】
Ｖｄ＊＝Ｖｄｏ＋Ｄｄ(n)＋ΔＤｄ    …(3)
Ｖｑ＊＝Ｖｑｏ＋Ｄｑ(n)＋ΔＤｑ    …(4)
図５は、モータ制御装置１０によるモータ１の制御手順を説明するためのフローチャートである。まず、マイクロコンピュータ１２は、トルクセンサ７、車速センサ８、電流検出器１１ｕ，１１ｖ，１１ｗおよびレゾルバ２による検出値を読み込む（ステップＳ１）。基本目標電流演算部１５は、検出された操舵トルクおよび車速に基づき、目標電流Ｉ＊を演算する（ステップＳ２）。ｄｑ軸目標電流演算部１６は、その目標電流Ｉ＊に対応するｄ軸目標電流Ｉｄ＊とｑ軸目標電流Ｉｑ＊とを演算する（ステップＳ３）。ｄｑ軸電流演算部１７は、検出された相電流Ｉｕ，Ｉｖ，Ｉｗに対応するｄ軸電流Ｉｄおよびｑ軸電流Ｉｑを演算する（ステップＳ４）。ｄ軸目標電流Ｉｄ＊とｄ軸電流Ｉｄとから、ｄ軸偏差演算部１８ｄにおいて、ｄ軸偏差δＩｄが演算され、ｑ軸目標電流Ｉｑ＊とｑ軸電流Ｉｑから、ｑ軸偏差演算部１８ｑにおいて、ｑ軸偏差δＩｑが演算される（ステップＳ５）。また、回転角速度演算部２２は、レゾルバ２によって検出されるロータ回転位置に基づいて、回転角速度ωを演算する（ステップＳ６）。
【００４１】
次に、ｄｑ軸電圧指令値演算部１９において、ｄ軸電圧指令値Ｖｄ＊とｑ軸電圧指令値Ｖｑ＊とが演算される（ステップＳ７）。そして、電圧指令値座標変換部２０において、ｄ軸電圧指令値Ｖｄ＊およびｑ軸電圧指令値Ｖｑ＊に対応するＵ相電機子巻線、Ｖ相電機子巻線、Ｗ相電機子巻線への印加電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊が演算される（ステップＳ８）。これらの印加電圧指令値Ｖｕ＊，Ｖｖ＊，Ｖｗ＊に対応するＰＷＭ制御信号がＰＷＭ制御部２１から駆動回路１３に与えられる。これより、モータ１が駆動される（ステップＳ９）。そして、制御を終了するか否かを例えばイグニッションスイッチのオン・オフにより判断し（ステップＳ１０）、終了しない場合はステップＳ１に戻る。
【００４２】
図６は、ｄ軸電圧指令値Ｖｄ＊およびｑ軸電圧指令値Ｖｑ＊の演算手順を示すフローチャートである。まず、ｄ軸ＰＩ演算およびｑ軸ＰＩ演算によりｄ軸ＰＩ演算値Ｖｄｏおよびｑ軸ＰＩ演算値Ｖｑｏがそれぞれ求められる（ステップＳ１０１）。一方、ｄ軸非干渉化制御量演算部５１ｂにおいて今演算周期（ｎ）のｄ軸非干渉化制御量Ｄｄ(n)が求められ、ｑ軸非干渉化制御量演算部５２ｂにおいて今演算周期（ｎ）のｑ軸非干渉化制御量Ｄｑ(n)が求められる（ステップＳ１０２）。また、ｄ軸補正値演算部５１ｅにおいて、今演算周期（ｎ）にけるｄ軸非干渉化制御量Ｄｄ(n)と前演算周期（ｎ−１）におけるｄ軸非干渉化制御量Ｄｄ(n-1)との差であるｄ軸補正値ΔＤｄが求められる（ステップＳ１０３）。同様に、ｑ軸補正値演算部５２ｅにおいて、今演算周期（ｎ）におけるｑ軸非干渉化制御量Ｄｑ(n)と前演算周期（ｎ−１）におけるｑ軸非干渉化制御量Ｄｑ(n-1)との差であるｑ軸補正値ΔＤｑが求められる（ステップＳ１０３）。そして、ｄ軸ＰＩ演算値Ｖｄｏにｄ軸非干渉化制御量Ｄｄ(n)が加算され、その加算結果にｄ軸補正値ΔＤｄを加算してｄ軸電圧指令値Ｖｄ＊が求められる（ステップＳ１０４）。同様に、ｑ軸ＰＩ演算値Ｖｑｏにｑ軸非干渉化制御量Ｄｑ(n)が加算され、その加算結果にｑ軸補正値ΔＤｑを加算してｑ軸電圧指令値Ｖｑ＊が求められる（ステップＳ１０４）。こうして求められたｄ軸電圧指令値Ｖｄ＊およびｑ軸電圧指令値Ｖｑ＊が出力される。また、今演算周期（ｎ）における非干渉化制御量Ｄｄ(n)，Ｄｑ(n)は、次の演算周期（ｎ＋１）における補正値ΔＤｄ，ΔＤｑの演算（ステップＳ１０３）のために、マイクロコンピュータ１２に備えられたメモリ（図示せず）に記憶される（ステップＳ１０５）。
【００４３】
以上の構成によれば、モータ電流等の検出時点から電圧指令値更新時点までの遅れ時間における非干渉化制御量Ｄｄ，Ｄｑの変化が予測され、この予測に対応する補正値ΔＤｄ，ΔＤｑで補正した電圧指令値Ｖｄ＊，Ｖｑ＊が出力される。したがって、これらの電圧指令値Ｖｄ＊，Ｖｑ＊は、それらが更新される時点において適切な非干渉化制御量を反映した値となる。その結果、非干渉化制御によって応答性および追従性を向上することができる。しかも、適切な電圧指令値Ｖｄ＊，Ｖｑ＊が設定される結果、モータ電流が変動的になることを抑制できるので、制御の安定性を確保することができる。これにより、振動や異音を抑制しつつ動特性を向上できるので、電動パワーステアリング装置における操舵フィーリングを向上することができる。
【００４４】
図７は、他の参考形態に係るモータ制御装置の構成を説明するためのブロック図であり、前述の図２に示した構成に代えて用いることができるｄｑ軸電圧指令値演算部１９の構成が示されている。この図７において、前述の図２に示された各部と同等の機能部分には同一の参照符号を付して示す。
この参考形態では、ｄ軸補正値演算部５１ｅは、前演算周期（ｎ−１）におけるｄ軸電圧指令値Ｖｄ＊(n-1)と、今演算周期において検出されたｄ軸電流Ｉｄ(n)と、モータ１および駆動回路１３を含む電気回路の電気抵抗Ｒとを用いて、ｄ軸補正値Ｃｄを演算する。より具体的には、ｄ軸補正値演算部５１ｅは、ｄ軸電流Ｉｄ(n)および電気抵抗Ｒの積を求める乗算部５１ｇと、この乗算部５１ｇの出力と前演算周期におけるｄ軸電圧指令値Ｖｄ＊(n-1)との差をｄ軸補正値Ｃｄ（＝Ｖｄ＊(n-1)−Ｒ・Ｉｄ(n)）として求める偏差演算部５１ｈとを有している。この偏差演算部５１ｈが求めたｄ軸補正値Ｃｄが、ｄ軸減算部５１ｄ′に与えられるようになっている。図中、Ｚ−１は信号の前回値を表す。
【００４５】
同様に、ｑ軸補正値演算部５２ｅは、前演算周期（ｎ−１）におけるｑ軸電圧指令値Ｖｑ＊(n-1)と、今演算周期において検出されたｑ軸電流Ｉｑ(n)と、モータ１および駆動回路１３を含む電気回路の電気抵抗Ｒとを用いて、ｑ軸補正値Ｃｑを演算する。より具体的には、ｑ軸補正値演算部５２ｅは、ｑ軸電流Ｉｑ(n)および電気抵抗Ｒの積を求める乗算部５２ｇと、この乗算部５２ｇの出力と前演算周期におけるｑ軸電圧指令値Ｖｑ＊(n-1)との差をｑ軸補正値Ｃｑ（＝Ｖｑ＊(n-1)−Ｒ・Ｉｑ(n)）として求める偏差演算部５２ｈとを有している。この偏差演算部５２ｈが求めたｑ軸補正値Ｃｑが、ｑ軸減算部５２ｄ′に与えられるようになっている。図中、Ｚ−１は信号の前回値を表す。
【００４６】
乗算部５１ｇ，５２ｇの演算結果ＲＩｄ(n)，ＲＩｑ(n)は、前演算周期（ｎ−１）に電圧指令値Ｖｄ＊(n-1)，Ｖｑ＊(n-1)が生成されて電圧指令値更新タイミングで出力された結果として、今演算周期（ｎ）において前記電気回路の両端に生じた電圧である。したがって、ｄ軸補正値Ｃｄおよびｑ軸補正値Ｃｑは、モータ電流等の検出タイミングと電圧指令値更新タイミングとのずれに起因して生じた電圧誤差に対応する。この電圧誤差は、時間軸上で隣り合う演算周期間で大きく相違しないと考えられる。
【００４７】
そこで、この参考形態では、ＰＩ演算値Ｖｄｏ，Ｖｑｏを非干渉化制御量Ｄｄ(n)，Ｄｑ(n)で補正し、さらに、ｄ軸補正値Ｃｄおよびｑ軸補正値Ｃｑで補正して、ｄ軸電圧指令値Ｖｄ＊（＝Ｖｄｏ＋Ｄｄ−Ｃｄ）およびｑ軸電圧指令値Ｖｑ＊（＝Ｖｑｏ＋Ｄｑ−Ｃｑ）が求められるようになっている。したがって、これらの電圧指令値Ｖｄ＊，Ｖｑ＊は、それらが更新される時点において適切な値となる。その結果、モータ電流が変動的になることを抑制でき、振動や異音を抑制しつつ動特性を向上できる。
【００４８】
図８は、この発明の一実施形態に係るモータ制御装置の構成を説明するためのブロック図であり、前述の図２または図７に示した構成に代えて用いることができるｄｑ軸電圧指令値演算部１９の構成が示されている。この図８において、前述の図７に示された各部と同等の機能部分には同一の参照符号を付して示す。
この実施形態では、ｄ軸補正値演算部５１ｅは、前演算周期（ｎ−１）におけるｄ軸電圧指令値Ｖｄ＊(n-1)と、今演算周期において検出されたｄ軸電流Ｉｄ(n)と、前演算周期において検出されたｄ軸電流Ｉｄ(n-1)と、モータ１および駆動回路１３を含む電気回路の電気抵抗Ｒと、モータ１のｄ軸インダクタンスＬｄとを用いて、ｄ軸補正値Ｃｄを演算する。より具体的には、ｄ軸補正値演算部５１ｅは、ｄ軸電流Ｉｄ(n)および電気抵抗Ｒの積を求める乗算部５１ｇと、今演算周期と前演算周期とのｄ軸電流変化ΔＩｄ（＝Ｉｄ(n)−Ｉｄ(n-1)）を求めるｄ軸電流変化演算部５１ｉと、このｄ軸電流変化演算部５１ｉが求めたｄ軸電流変化ΔＩｄにｄ軸インダクタンスＬｄを乗じる乗算部５１ｊと、乗算部５１ｇ，５１ｊの各出力を前演算周期におけるｄ軸電圧指令値Ｖｄ＊(n-1)から差し引いてｄ軸補正値Ｃｄ（＝Ｖｄ＊(n-1)−Ｒ・Ｉｄ(n)−Ｌｄ・ΔＩｄ）として求める偏差演算部５１ｈとを有している。この偏差演算部５１ｈが求めたｄ軸補正値Ｃｄが、ｄ軸減算部５１ｄ′に与えられるようになっている。図中、Ｚ−１は信号の前回値を表す。
【００４９】
同様に、ｑ軸補正値演算部５２ｅは、前演算周期（ｎ−１）におけるｑ軸電圧指令値Ｖｑ＊(n-1)と、今演算周期において検出されたｑ軸電流Ｉｑ(n)と、前演算周期において検出されたｑ軸電流Ｉｑ(n-1)と、モータ１および駆動回路１３を含む電気回路の電気抵抗Ｒと、モータ１のｑ軸インダクタンスＬｑとを用いて、ｑ軸補正値Ｃｑを演算する。より具体的には、ｑ軸補正値演算部５２ｅは、ｑ軸電流Ｉｑ(n)および電気抵抗Ｒの積を求める乗算部５２ｇと、今演算周期と前演算周期とのｑ軸電流変化ΔＩｑ（＝Ｉｑ(n)−Ｉｑ(n-1)）を求めるｑ軸電流変化演算部５２ｉと、このｑ軸電流変化演算部５２ｉが求めたｑ軸電流変化ΔＩｑにｑ軸インダクタンスＬｑを乗じる乗算部５２ｊと、乗算部５２ｇ，５２ｊの各出力を前演算周期におけるｑ軸電圧指令値Ｖｑ＊(n-1)から差し引いてｑ軸補正値Ｃｑ（＝Ｖｑ＊(n-1)−Ｒ・Ｉｑ(n)−Ｌｑ・ΔＩｑ）として求める偏差演算部５２ｈとを有している。この偏差演算部５２ｈが求めたｑ軸補正値Ｃｑが、ｑ軸減算部５２ｄに与えられるようになっている。図中、Ｚ−１は信号の前回値を表す。
【００５０】
乗算部５１ｇ，５１ｊの各出力の和（Ｒ・Ｉｄ(n)＋Ｌｄ・ΔＩｄ）は、前演算周期（ｎ−１）にｄ軸電圧指令値Ｖｄ＊(n-1)が生成されて電圧指令値更新タイミングで出力された結果として、今演算周期（ｎ）において前記電気回路の両端に生じた電圧である。第２項は、電流微分項であり、図７の参考形態では省かれていた項である。同様に、乗算部５２ｇ，５２ｊの各出力の和（Ｒ・Ｉｑ(n)＋Ｌｑ・ΔＩｑ）は、前演算周期（ｎ−１）にｑ電圧指令値Ｖｑ＊(n-1)が生成されて電圧指令値更新タイミングで出力された結果として、今演算周期（ｎ）において前記電気回路の両端に生じた電圧である。やはり、第２項は、電流微分項であり、前述の図７の参考形態では省かれていた項である。
【００５１】
したがって、図７の参考形態の場合と同じく、ｄ軸補正値Ｃｄおよびｑ軸補正値Ｃｑは、モータ電流等の検出タイミングと電圧指令値更新タイミングとのずれに起因して生じた電圧誤差に対応する。よって、図７の参考形態の場合と同様に、電圧指令値Ｖｄ＊，Ｖｑ＊は、それらが更新される時点において適切な値となるので、モータ電流が変動的になることを抑制でき、振動や異音を抑制しつつ動特性を向上できる。さらに、この実施形態では、電流微分項まで考慮しているので、より一層適切なモータ制御が可能になる。
【００５２】
以上、この発明の実施形態等について説明したが、次のような変形が可能である。たとえば、前述の参考形態および実施形態では、ｑ軸非干渉化制御量演算部５２ｂで求められるｑ軸非干渉化制御量ＤｑをωＬｄＩｄ＋ωΦとしているが、これに代えて、ωＬｄＩｄをｑ軸非干渉化制御量Ｄｑとして用いてもよい。
また、前述の参考形態（図２）では、ＰＩ演算値を非干渉化制御量で補正し、さらに、その補正後の値をｄ軸／ｑ軸補正値で補正しているが、非干渉化制御量をｄ軸／ｑ軸補正値で補正し、この補正された後の非干渉化制御量でＰＩ演算値を補正する構成としてもよい。
【００５３】
また、図７の参考形態および図８の実施形態では、補正値Ｃｄ，Ｃｑを求めるために前演算周期の電圧指令値Ｖｄ＊(n-1)，Ｖｑ＊(n-1)を用いているが、これらに代えて今演算周期の電圧指令値Ｖｄ＊(n)，Ｖｑ＊(n)を用いてもよい。
また、図８の実施形態では、前演算周期と今演算周期との電流の差を電流変化量として求めているが、他の計算方法で電流変化量を求めてもよい。
【００５４】
また、前述の実施形態では、レゾルバ２でロータ回転位置を検出しているが、いわゆるセンサレス制御によってロータ回転位置を推定してもよい。そして、この推定されたロータ回転位置に基づいて回転角速度ωを演算するようにしてもよい。
また、ロータ回転位置に基づいて回転角速度ωを求める代わりに、次式(5)(6)に示すモータの方程式を利用して回転角速度ωを求めるようにしてもよい。ただし、次式(5)(6)において、ｐは微分演算子を表す。
【００５５】
Ｖｄ−（Ｒ＋ｐＬｄ）Ｉｄ＝ω（−ＬｑＩｑ）      …(5)
Ｖｑ−（Ｒ＋ｐＬｑ）Ｉｑ＝ω（Φ＋ＬｄＩｄ）    …(6)
より具体的には、微分項を省略して、次式(7)または(8)に従って回転角速度ωを求めることができる。
ω＝（Ｖｄ(n-1)−ＲＩｄ）／（−ＬｑＩｑ）        …(7)
ω＝（Ｖｑ(n-1)−ＲＩｑ）／（Φ＋ＬｄＩｄ）      …(8)
このような演算によって回転角速度ωを求めることにより、応答のよい回転角速度演算が可能になるので、非干渉化制御量をより的確に演算することができるようになる。
【００５６】
また、ＳＰＭ（Surface Permanent Magnet：表面磁石貼付型）モータなどのように、ＬｄとＬｑとの差が小さい場合には、Ｌｄ＝Ｌｑとして非干渉化制御量等を演算してもよい。
また、前述の参考形態および実施形態では、電動パワーステアリング装置の駆動源としてのモータに関する例について説明したが、この発明は、電動パワーステアリング装置以外の用途のモータの制御に対しても適用が可能である。とくに、サーボ系で応答性や追従性が要求される用途でのモータトルク制御に応用すると効果的である。
【００５７】
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
特許請求の範囲に記載した事項のほかにも、この明細書の記載から、以下のような特徴が抽出され得る。
Ａ１．モータ（１）を駆動するための基本駆動値を演算する基本駆動値演算手段（５１ａ，５２ａ）と、前記モータの非干渉化制御のための非干渉化制御量を演算する非干渉化制御量演算手段（５１ｂ，５２ｂ）と、この非干渉化制御量演算手段によって演算される非干渉化制御量を補正するための補正値を演算する補正値演算手段（５１ｅ，５２ｅ）と、前記非干渉化制御量演算手段によって演算される前記非干渉化制御量、および前記補正値演算手段によって演算される前記補正値によって、前記基本駆動値演算手段により演算される前記基本駆動値を修正してモータ駆動値を得る修正手段（５１ｃ，５１ｄ，５２ｃ，５２ｄ）と、この修正手段での修正によって得られるモータ駆動値に基づいて前記モータを駆動する駆動手段（２０，２１，１３）とを含む、モータ制御装置。
【００５８】
なお、括弧内の英数字は、前述の参考形態または実施形態における対応構成要素等を表す。以下同じ。
この構成によれば、非干渉化制御量および補正値によって基本駆動値を修正してモータ駆動値が求められるようになっている。前記補正値を適切に定めることによって、演算時間分の遅れに起因する非干渉化制御量の誤差を補償することができる。これにより、応答性および追従性に優れたモータ制御が可能になり、非干渉化制御本来の効果を充分に享受することができる。 
【００５９】
Ａ２．前記モータ制御装置が、所定の演算周期毎に前記モータ駆動値を更新して出力するものであり、前記補正値演算手段が、今回の演算周期で前記非干渉化制御量演算手段によって演算された非干渉化制御量から前回の演算周期で前記非干渉化制御量演算手段によって演算された非干渉化制御量を差し引いた値を前記補正値として演算するものである、Ａ１項に記載のモータ制御装置。
【００６０】
この構成によれば、今回の演算周期における非干渉化制御量と前回の演算周期における非干渉化制御量との差が前記補正値とされる。この場合、補正値は、前回の演算周期における非干渉化制御量の誤差に相当する。この誤差は、前演算周期から今演算周期までの間と、今演算周期から次演算周期までの間とで大きく相違しないと考えられる。そこで、この発明では、今回と前回との非干渉化制御量の差を補正値とし、今回の非干渉化制御量の誤差を補償するために用いている。これにより、モータ駆動値が更新されるまでの遅れ時間における非干渉化制御量の時間変化を予測した適切なモータ駆動値が得られる。つまり、モータ駆動値が更新される時点において妥当となる非干渉化制御を行うことができる。その結果、演算時間による遅れを効果的に補償することができるので、非干渉化制御本来の効果を達成できる。
【００６１】
Ａ３．前記モータに流れるモータ電流を検出するモータ電流検出手段（１１，１７）をさらに含み、前記補正値演算手段は、前記モータ駆動値から、前記モータを含む電気回路の電気抵抗と前記モータ電流検出手段によって検出されたモータ電流との積を差し引いた値を前記補正値として演算するものである、Ａ１項に記載のモータ制御装置。
モータ駆動値（たとえば、電圧指令値）が出力されると、その結果としてのモータ電流が検出される。モータを含む電気回路の電気抵抗に当該モータ電流を乗じると、モータに実際に印加されたモータ電圧が求まる。このモータ電圧とモータ駆動値との差が、制御上の誤差となる。そこで、この発明では、モータ駆動値とモータ電圧（電気抵抗および検出電流の積）との差を、非干渉化制御量の誤差を補償するための補正値とするようにしている。これにより、効果的な非干渉化制御が可能になる。
【００６２】
より具体的には、前記モータ制御装置が、所定の演算周期毎に前記モータ駆動値を更新して出力するものである場合に、前記モータ電流検出手段が、前記演算周期毎に前記モータに流れるモータ電流を検出するものであり、前記補正値演算手段が、前回の演算周期におけるモータ駆動値から、前記モータを含む電気回路の電気抵抗と今回の演算周期に前記モータ電流検出手段によって検出されたモータ電流との積を差し引いた値を前記補正値として演算するものであることが好ましい。
【００６３】
前回の演算周期においてモータ駆動値（たとえば、電圧指令値）が出力されると、その結果としてのモータ電流が今回の演算周期で検出される。モータを含む電気回路の電気抵抗に当該モータ電流を乗じると、今回の演算周期でモータに印加されているモータ電圧が求まる。このモータ電圧と前回の演算周期に出力されたモータ駆動値との差が、制御上の誤差となる。この誤差は、演算周期分の遅れに起因して非干渉化制御量がその適値からずれたことに主として起因する誤差である。この誤差は、前演算周期から今演算周期までの間と、今演算周期から次演算周期までの間とで大きく相違しないと考えられる。そこで、前回のモータ駆動値と今回のモータ電圧（電気抵抗および検出電流の積）との差を、非干渉化制御量の誤差を補償するための補正値とする。これにより、モータ駆動値が更新されるまでの遅れ時間における非干渉化制御量の時間変化を予測した適切なモータ駆動値が得られる。つまり、モータ駆動値が更新される時点において妥当となる非干渉化制御を行うことができる。その結果、演算時間による遅れを効果的に補償することができるので、非干渉化制御本来の効果を達成できる。
【００６４】
前回の演算周期に出力されたモータ駆動値に代えて、今回の演算周期におけるモータ駆動値を用いてもよい。
Ａ４．前記モータ制御装置が、所定の演算周期毎に前記モータ駆動値を更新して出力するものであり、前記演算周期毎に、前記モータに流れるモータ電流を検出するモータ電流検出手段（１１，１７）をさらに含み、前記補正値演算手段が、前記モータ駆動値から、前記モータを含む電気回路の電気抵抗と前記モータ電流検出手段によって検出されたモータ電流との積を差し引き、さらに、今回の演算周期と前回の演算周期との間におけるモータ電流変化量にモータ巻線のインダクタンスを乗じた値を差し引いた値を前記補正値として演算するものである、Ａ１項に記載のモータ制御装置。
【００６５】
この構成では、モータ電圧を求める際に、電気抵抗および検出電流の積だけでなく、今回および前回のモータ電流変化量とインダクタンスとの積も加味されている。この積は、電流微分項に対応する。この電流微分項を加味することで、モータ電圧が一層正確に求まるので、それに応じて、演算時間の遅れに起因する非干渉化制御量の誤差をより効果的に補償することができる。
【００６６】
前記補正値演算手段は、前回または今回の演算周期におけるモータ駆動値から、前記電気抵抗と今回の演算周期に前記モータ電流検出手段によって検出されたモータ電流との積を差し引き、さらに、今回および前回の演算周期の間におけるモータ電流変化量にモータ巻線のインダクタンスを乗じた値を差し引いた値を前記補正値として演算するものであることが好ましい。
【００６７】
前記基本駆動値演算手段は、ｄ軸基本駆動電圧およびｑ軸基本駆動電圧を演算するものであってもよい。この場合に、前記非干渉化制御量演算手段は、ｄ軸非干渉化制御量およびｑ軸非干渉化制御量を演算するものであり、それに応じて、前記補正値演算手段は、ｄ軸補正値およびｑ軸補正値を演算するものであることが好ましい。
【符号の説明】
【００６８】
１…モータ、２…レゾルバ、１０…モータ制御装置、１１…電流検出部、１２…マイクロコンピュータ、５１…ｄ軸電圧指令値演算部、５１ｃ…ｄ軸第１加算部、５１ｄ…ｄ軸第２加算部、５１ｄ′…ｄ軸減算部、５１ｅ…ｄ軸補正値演算部、５２…ｑ軸電圧指令値演算部、５２ｃ…ｑ軸第１加算部、５２ｄ…ｑ軸第２加算部、５２ｄ′…ｑ軸減算部、５２ｅ…ｑ軸補正値演算部
【図１】
0005459564.tif 000002
【図２】
0005459564.tif 000003
【図３】
0005459564.tif 000004
【図４】
0005459564.tif 000005
【図５】
0005459564.tif 000006
【図６】
0005459564.tif 000007
【図７】
0005459564.tif 000008
【図８】
0005459564.tif 000009