(57)【要約】【課題】３相交流モータのトルクリプルを低減しながらモータ効率の向上を図る。【解決手段】基本波電流指令値Ｉd*、Ｉq*に対応する基本波電圧指令値Ｖd*、Ｖq*が生成され、高調波電流指令値Ｉnd*、Ｉnq*に対応する高調波電圧指令値Ｖnd*、Ｖnq*が生成される。基本波電圧指令値Ｖd*、Ｖq*に対して高調波電圧指令値Ｖnd*、Ｖnq*がそれぞれ加算され、それらの加算結果に応じてモータ電流が生成される。振幅／位相検出部４５は、モータ電流の高調波成分の振幅Ｉndqおよび位相φを検出する。動作モード切替部４６は、位相φが、振幅Ｉndqに応じて決まる位相条件から外れていたときには、基本波電圧指令値Ｖd*、Ｖq*に対して高調波電圧指令値が加算されないように動作モードを切り替える。【選択図】図１
2010063221.tif 000002
【特許請求の範囲】
【請求項１】
３相交流モータを制御するモータ制御装置であって、
前記３相交流モータのモータ電流の基本波電流指令値を出力する基本波電流制御手段と、
前記基本波電流の整数倍の周波数を持ち、前記基本波電流よりも小さい振幅の高調波電流指令値を出力する高調波電流制御手段と、
前記基本波電流制御手段の出力および前記高調波電流制御手段の出力を利用して前記３相交流モータのモータ電流を制御する電流制御回路と、
前記高調波電流の位相を検出する位相検出手段と、
前記高調波電流の位相が有効位相から外れたときに、前記高調波電流の振幅を減少させる動作モード制御手段と、
を備えるモータ制御装置。
【請求項２】
請求項１に記載のモータ制御装置であって、
前記動作モード制御手段は、前記高調波電流の位相が有効位相から外れたときに、前記高調波電流制御手段の出力を無効とするモータ制御装置。
【請求項３】
請求項１に記載のモータ制御装置であって、
前記高調波電流の振幅を検出する振幅検出手段をさらに備え、
前記有効位相は、前記高調波電流の振幅に応じて変化する
ことを特徴とするモータ制御装置。
【請求項４】
請求項１〜３のいずれか１つに記載のモータ制御装置であって、
前記有効位相は、前記高調波電流制御手段の出力を有効にしたときのトルクリプル率が前記高調波電流制御手段の出力を無効にしたときのトルクリプル率よりも低くなる位相である
ことを特徴とするモータ制御装置。
【請求項５】
請求項１〜３のいずれか１つに記載のモータ制御装置であって、
前記有効位相は、前記高調波電流制御手段の出力を有効にしたときのトルクリプル率が予め決められたトルクリプル閾値よりも低くなる位相である
ことを特徴とするモータ制御装置。
【請求項６】
請求項４または５に記載のモータ制御装置であって、
前記有効位相は前記高調波電流指令値の振幅を基に決定されることを特徴とするモータ制御装置。
【請求項７】
請求項１〜３のいずれか１つに記載のモータ制御装置であって、
前記有効位相は、前記高調波電流指令値の位相から一定範囲内にある位相である
ことを特徴とするモータ制御装置。
【請求項８】
請求項１に記載のモータ制御装置であって、
前記モータの回転速度を検出する回転速度検出手段と、
前記基本波電流の電流値を検出する基本波電流検出手段と、
前記高調波電流の位相が有効位相から外れたときに検出される回転速度および基本波電流の電流値を記録する記録手段、をさらに備え、
前記動作モード制御手段は、前記記録手段に記録されている回転速度および基本波電流の電流値を含む所定の動作領域において、前記高調波電流の振幅を減少させるように前記電流制御回路を制御する
ことを特徴とするモータ制御装置。
【請求項９】
請求項１に記載のモータ制御装置であって、
前記動作モード制御手段は、前記高調波電流の振幅が減少されている期間に、一時的に前記高調波電流制御手段により前記高調波電流を流すことで前記高調波電流の位相が有効位相であるか否かチェックし、有効位相であるときは、前記高調波電流制御手段を通常制御する
ことを特徴とするモータ制御装置。
【請求項１０】
３相交流モータを制御するモータ制御装置であって、
前記３相交流モータのモータ電流の基本波電流指令値を出力する基本波電流制御手段と、
前記基本波電流の整数倍の周波数を持った高調波電流指令値を出力する高調波電流制御手段と、
前記基本波電流制御手段の出力および前記高調波電流制御手段の出力を利用して前記３相交流モータのモータ電流を制御する電流制御回路と、
前記３相交流モータのトルクリプル率を算出する算出手段と、
前記算出されたトルクリプル率が閾値以上であったときに、前記高調波電流の振幅を減少させるように前記電流制御回路を制御する動作モード制御手段と、
を備えるモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３相交流モータを制御するモータ制御装置に係わる。
【背景技術】
【０００２】
３相交流モータは、従来より、様々な分野で広く利用されてきている。例えば、大型の３相交流モータは、電動車両またはハイブリッド車両の走行用モータとして実用化されている。
【０００３】
ところが、３相交流モータ（特に、集中巻ＩＰＭモータ等の固定子巻線が集中して巻かれたモータ）は、構造上の要因から、ロータ回転時の磁束分布が歪むため、モータ電流の周期の６ｎ倍の周期を持ったトルクリプルが発生する。トルクリプルは、騒音や振動の増大、あるいは電流波形の歪による効率の低下の原因となる。
【０００４】
上記問題を解決するための１つの技術として、ベクトル制御の制御対象であるモータ電流の基本波電流成分だけでなく、高調波電流成分を制御する方式が知られている。すなわち、ｄｑ座標系において６ｎ次の電流を重畳することでトルクリプルを抑制する技術が知られている。そして、特許文献１には、電流歪を低減する技術が記載されている。
【０００５】
特許文献１に記載のモータ制御装置において、基本波電流制御手段は、３相交流モータの回転に同期して回転する直交座標系でモータ電流の基本波成分を制御する。高調波電流制御手段は、モータ電流の基本波成分の整数倍の周波数で回転する直交座標系でモータ電流に含まれる高調波成分を制御する。電圧指令値生成手段は、基本波電流制御手段の出力と高調波電流制御手段の出力とを加算して３相交流電圧指令値を生成する。電力変換手段は、直流電源電圧を３相交流電圧指令値に応じた３相交流電圧に変換して３相交流モータへ出力する。デッドタイム補償手段は、電力変換手段のデッドタイムに起因する出力電圧を補償するために、３相交流電圧指令値を補正する。速度検出手段は、３相交流モータの速度を検出する。制御選択手段は、３相交流モータの回転速度が予め定められたしきい値以下のときは、デッドタイム補償手段による補正を行わずに高調波電流制御手段による制御を行い、３相交流モータの回転速度が上記しきい値より高いときは、高調波電流制御手段による制御を行わずにデッドタイム補償手段による補正を行う。
【特許文献１】特開２００３−１８９００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述のような３相交流モータにおいて、高調波電流を制御する場合、その高調波電流成分の大きさ及び／又は位相が適切に制御されていないと、かえって特性を低下させてしまうことがある。例えば、モータの回転数が高くなったときなどには、電流制御追従性が悪くなり、トルクリプルの増大または効率の低下を引き起こすことがある。
【０００７】
本発明の目的は、３相交流モータにおいて、適切に高調波電流を制御することで運転状況に応じてシステム特性の劣化（トルクリプル増大、モータ効率低下）を防ぐことである。
【課題を解決するための手段】
【０００８】
本発明のモータ制御装置は、３相交流モータを制御するモータ制御装置であって、前記３相交流モータのモータ電流の基本波電流指令値を出力する基本波電流制御手段と、前記基本波電流の整数倍の周波数を持ち、前記基本波電流よりも小さい振幅の高調波電流指令値を出力する高調波電流制御手段と、前記基本波電流制御手段の出力および前記高調波電流制御手段の出力を利用して前記３相交流モータのモータ電流を制御する電流制御回路と、前記高調波電流の位相を検出する位相検出手段と、前記高調波電流の位相が有効位相から外れたときに、前記高調波電流の振幅を減少させる動作モード制御手段と、を備える。
【０００９】
３相交流モータの特性は、高調波電流の位相を適切に制御することにより改善される。したがって、高調波電流の位相が有効位相から外れたときには、高調波電流の振幅を減少させる。これにより、高調波電流制御による特性の劣化を防ぐことができる。
【００１０】
前記動作モード制御手段は、前記高調波電流の位相が有効位相から外れたときに、前記高調波電流制御手段の出力を無効にするようにしてもよい。高調波電流の位相が有効位相から外れたときに、高調波電流制御手段の出力を無効にすることにより、高調波電流制御による特性の劣化を確実に防ぐことができる。
【００１１】
本発明のモータ制御装置は、前記高調波電流の振幅を検出する振幅検出手段を備えるようにしてもよい。前記有効位相は、前記高調波電流の振幅に応じて変化する。この構成を導入すれば、高調波電流制御を行うべきか否かを、より適切に判断できる。
【００１２】
前記有効位相は、例えば、前記高調波電流制御手段の出力を有効にしたときのトルクリプル率が前記高調波電流制御手段の出力を無効にしたときのトルクリプル率よりも低くなる位相である。有効位相をこのように設定すれば、高調波電流制御を行うことに起因してトルクリプルがかえって大きくなってしまう事態は回避される。
【００１３】
あるいは、前記有効位相は、例えば、前記高調波電流制御手段の出力を有効にしたときのトルクリプル率が予め決められたトルクリプル閾値よりも低くなる位相である。有効位相をこのように設定すれば、高調波電流制御を行うべきか否かの判断が簡単になる。
【００１４】
さらに、前記有効位相は、前記高調波電流指令値の振幅を基に決定してもよい。また、前記有効位相は、前記高調波電流指令値の位相から一定範囲内にある位相としてもよい。
本発明のモータ制御装置は、前記モータの回転速度を検出する回転速度検出手段と、前記基本波電流の電流値を検出する基本波電流検出手段と、前記高調波電流の位相が有効位相から外れたときに検出される回転速度および基本波電流の電流値を記録する記録手段、をさらに備えるようにしてもよい。この場合、前記動作モード制御手段は、前記記録手段に記録されている回転速度および基本波電流の電流値を含む所定の動作領域において、前記高調波電流の振幅を減少させる。この構成によれば、高調波電流制御を行うことによって特性が劣化する事態を事前に回避できる。
【００１５】
本発明のモータ制御装置において、前記動作モード制御手段は、前記高調波電流の振幅が減少されている期間に、一時的に前記高調波電流制御手段により前記高調波電流を流すことで前記高調波電流の位相が有効位相であるか否かチェックし、有効位相であるときは、前記高調波電流制御手段を通常制御するようにしてもよい。この構成によれば、高調波電流制御を行わないよりも高調波電流制御を行う方が有利な状況を早期に認識できるので、トルクリプルを適切に抑制できる。
【００１６】
本発明の他の態様のモータ制御装置は、３相交流モータを制御するモータ制御装置であって、前記３相交流モータのモータ電流の基本波電流指令値を出力する基本波電流制御手段と、前記基本波電流の整数倍の周波数を持った高調波電流指令値を出力する高調波電流制御手段と、前記基本波電流制御手段の出力および前記高調波電流制御手段の出力を利用して前記３相交流モータのモータ電流を制御する電流制御回路と、前記３相交流モータのトルクリプル率を算出する算出手段と、前記算出されたトルクリプル率が閾値以上であったときに、前記高調波電流の振幅を減少させるように前記電流制御回路を制御する動作モード制御手段と、を備える。この構成によれば、高調波電流制御に起因してトルクリプルが閾値を越えてしまうことが回避される。
【発明の効果】
【００１７】
本発明によれば、３相交流モータにおいて運転状況に応じて適切に高調波電流を制御することでシステム特性の劣化（トルクリプル増大、モータ効率低下）を防ぐことができる。
【発明を実施するための最良の形態】
【００１８】
図１は、本発明の実施形態のモータ制御装置の構成を示す図である。実施形態のモータ制御装置１は、トルク指示信号に応じてモータ１００を制御する。トルク指示信号は、例えば、ユーザにより与えられる。モータ１００が電動車両の走行用モータである場合は、トルク指示信号は、アクセルの踏込み角度を表す情報である。モータ１００は、この実施例では、３相交流モータである。また、モータ１００は、例えば、埋込み磁石構造の同期モータ（ＩＰＭＳＭ：Interior Permanent Magnet Synchronous Motor）である。
【００１９】
指令値生成部１１は、トルク指示信号に応じて電流指令値を生成する。電流指令値は、ｄｑ座標系におけるｄ軸成分指令値およびｑ軸成分指令値で表される。ｄｑ座標系は、ＵＶＷ座標系からモータ１００の回転に同期した回転座標変換した座標系である。この実施例においては、１組の指令値Ｉd*、Ｉq*、および１組の指令値Ｉnd*、Ｉnq*が生成される。ここで、指令値Ｉd*、Ｉq*は、それぞれ、モータ電流の基本波成分である基本波電流のｄ軸成分ｑ軸成分の目標値である。また、指令値Ｉnd*、Ｉn1*は、それぞれ、モータ電流の高調波成分である高調波電流のｄ軸成分およびｑ軸成分の目標値である。
【００２０】
誤差演算部１２は、基本波電流指令値Ｉd*とｄ軸電流検出値Ｉdとの誤差を表すｄ軸電流誤差値を演算する。同様に、誤差演算部１３は、基本波電流指令値Ｉq*とｑ軸電流検出値Ｉqとの誤差を表すｑ軸電流誤差値を生成する。なお、誤差演算部１２、１３は、例えば、減算器により実現される。
【００２１】
ｄｑ電流制御部１４は、ｄ軸電流誤差値およびｑ軸電流誤差値に対してＰＩ演算を行うことにより、基本波電圧指令値Ｖd*、Ｖq*を生成する。加算器３１は、ｄｑ電流制御部１４により得られる基本波電圧指令値Ｖd*に、後述する高調波電圧指令値Ｖnd(h)*を加算することにより、ｄ軸電圧指令値を生成する。同様に、加算器３２は、基本波電圧指令値Ｖq*に、高調波電圧指令値Ｖnq(h)*を加算することにより、ｑ軸電圧指令値を生成する。２相／３相変換部１５は、モータ１００の位相θに基づいて、加算器３１、３２により得られるｄｑ座標系の電圧指令値を、ＵＶＷ座標系の電圧指令値Ｖu*、Ｖv*、Ｖw*に変換する。電力変換部１６は、例えば、ＩＧＢＴ等の半導体素子を含むインバータ回路であって、電圧指令値Ｖu*、Ｖv*、Ｖw*に相当する電圧をＰＷＭ制御等によりモータ１００に与える。
【００２２】
位相演算部（回転速度検出手段）１７は、モータ１００の位相θを検出すると共に、検出した位相θに基づいてモータ１００の回転速度ωを算出する。検出した位相θは、２相／３相変換部１５、３相／２相変換部１８、および乗算器２４に与えられる。３相／２相変換部（基本波電流検出手段）１８は、モータ１００の位相θに基づいて、ＵＶＷ座標系のモータ電流Ｉu、Ｉv、Ｉwを、ｄｑ座標系のモータ電流Ｉd、Ｉq（ｄ軸電流検出値Ｉd、ｑ軸電流検出値Ｉq）に変換する。ここで、３相／２相変換部１８は、Ｉu、Ｉv、Ｉwの中の任意の２つ（図１では、Ｉu、Ｉw）から他の１つを求めることができる。よって、実施例では、Ｉu、Ｉwを検出するための電流センサが設けられている。
【００２３】
誤差演算部２１、２２は、それぞれ、高調波電流指令値Ｉnd*、Ｉnq*と、検出された高調波電流Ｉnd、Ｉnqとの誤差を演算する。ｄｑ高調波電流制御部２３は、誤差演算部２１、２２により得られる誤差情報に対応する高調波電圧指令値Ｖnd*、Ｖnq*を生成する。乗算器２４は、モータ１００の位相θに対して「ｎ」を乗算する。なお、「ｎ」は整数であり、例えば、６次の高調波を制御する場合は「ｎ＝６」である。高調波座標逆変換部２５は、乗算器２４により得られる「ｎθ」を利用して、高調波座標系上の高調波電圧指令値Ｖnd*、Ｖnq*を、ｄｑ座標系上の高調波電圧指令値Ｖnd(h)*、Ｖnq(h)*に変換する。なお、この変換は、位相回転を打ち消すための逆回転演算に相当し、下式で表される。
Ｖnd(h)* ＝Ｖnd*・cos(ｎθ) −Ｖnq*・sin(nθ)
Ｖnq(h)* ＝Ｖnd*・sin(ｎθ) ＋Ｖnq*・cos(nθ)
高調波検出部２６は、例えば、バンドパスフィルタ又はハイパスフィルタにより実現され、３相／２相変換部１８により得られるモータ電流Ｉd、Ｉqから、高調波成分Ｉdh、Ｉqhを検出する。高調波座標変換部２７は、「ｎθ」を利用して、高調波検出部２６により得られる高調波成分Ｉdh、Ｉqhを、高調波座標系上の高調波電流値Ｉnd、Ｉnqに変換する。変換により得られた電流値Ｉnd、Ｉnqは、誤差演算部２１、２２に与えられる。なお、高調波座標変換部２７による変換演算は、下式により表される。
Ｉnd ＝Ｉdh・cos(ｎθ) ＋Ｉqh・sin(nθ)
Ｉnq ＝−Ｉdh・sin(ｎθ) ＋Ｉqh・cos(nθ)
上記構成のモータ制御装置１において、誤差演算部１２、１３、ｄｑ電流制御部１４、２相／３相変換部１５、電力変換部１６、３相／２相変換部１８は、モータ電流の基本波成分を制御するフィードバック系を構成する。このフィードバック系は、誤差演算部１２、１３により得られるｄ軸電流誤差値およびｑ軸電流誤差値を最小化する。このフィードバック制御により、モータ電流の基本波成分は、電流指令値Ｉd*、Ｉq*に制御される。すなわち、モータ１００は、トルク指示信号に応じたトルクを生成する。
【００２４】
また、誤差演算部２１、２２、ｄｑ高調波電流制御部２３、乗算器２４、高調波座標逆変換部２５、高調波検出部２６、高調波座標変換部２７は、モータ電流の高調波成分を制御するフィードバック系を構成する。このフィードバック系は、誤差演算部２１、２２により得られる高調波電流誤差値を最小化する。このフィードバック制御により、モータ電流の高調波成分は、電流指令値Ｉnd*、Ｉnq*に制御される。すなわち、モータ１００のトルクリプルが抑制される。
【００２５】
なお、電流指令値Ｉd*、Ｉq*は、指令値制御部１１において、トルク指示信号に応じて生成される。また、電流指令値Ｉnd*、Ｉnq*は、指令値生成部１１において、例えば下式に従って生成される。
Ｉnd* ＝Ｉndq×cosφ
Ｉnq* ＝Ｉndq×sinφ
Ｉndq ＝（Ｉnd2＋Ｉnq2）1/2
φ＝tan-1（Ｉnq／Ｉnd）
ただし、モータ電流の高調波成分を制御するための電流指令値Ｉnd*、Ｉnq*は、要求される特性（すなわち、トルクリプルの低減、効率の向上）に応じて、異なる演算式に従って生成されるようにしてもよい。
【００２６】
モータ制御装置１において、指令値生成部１１、誤差演算部１２、１３、ｄｑ電流制御部１４、２相／３相変換部１５、位相演算部１７、３相／２相変換部１８、誤差演算部２１、２２、ｄｑ高調波電流制御部２３、乗算器２４、高調波座標逆変換部２５、高調波検出部２６、高調波座標変換部２７は、この実施例では、プロセッサを用いてソフトウェアプログラムを実行することにより実現される。なお、本発明に係わる基本波電流制御手段は、例えば、誤差演算部１２、１３、ｄｑ電流制御部１４、３相／２相変換部１８に相当する。高調波電流制御手段は、例えば、誤差演算部２１、２２、ｄｑ高調波電流制御部２３、乗算器２４、高調波座標逆変換部２５、高調波検出部２６、高調波座標変換部２７に相当する。電流制御回路は、例えば、加算器３１、３２、２相／３相変換部１５、電力変換部１６に相当する。
【００２７】
図２は、高調波電流の位相に対するトルクリプル率の変化を示す図である。図２に示す特性は、トルクリプルを低減するために高調波電流を制御したときに得られたものである。ここで、モータ電流の高調波成分の位相φは、下式で演算される。
φ＝tan-1（Ｉnq／Ｉnd）
また、トルクリプル率Ｒは、下式で定義される。なお、「Ｔ」はモータ１００の平均トルクを表し、「Ｔpp」はモータ１００のピークツーピークトルクを表す。
Ｒ＝１００×｛（Ｔpp）／２｝／Ｔ
特性Ａは、高調波電流制御を行わないときのトルクリプル率を示している。また、特性Ｂ〜Ｅは、順番に、基本波電流に対する高調波電流の振幅を、大きくした場合のトルクリプル率の変化の一例を示している。
【００２８】
図２に示すように、実施形態のモータ制御装置１でモータ１００を駆動するときは、モータ電流の高調波成分の位相φが２００度近傍であるときにトルクリプル率が低くなっている。そして、高調波電流の振幅が特性Ｄであり、位相φが約２１０度であるときに、トルクリプル率が最小となっている。換言すれば、高調波電流の振幅をＤ特性に制御し、位相φを約２１０度に制御すれば、モータ１００のトルクリプルが最小になる。
【００２９】
ところが、高調波電流の位相φが適切に制御されていないときは、トルクリプル率は、高調波電流制御を行わないときよりもかえって悪化してしまう。例えば、特性Ｄにおいて位相φが０〜１４０度、２５０〜３６０度であるときは、高調波電流制御を行うと、高調波電流制御を行わない（Ａ特性）ときよりもトルクリプルが大きくなってしまう。換言すれば、高調波電流制御は、位相φが所定の位相条件（有効位相）を満たす場合に限って実行することが好ましい。この場合、位相条件は、例えば、高調波電流制御を行うときのトルクリプル率が高調波電流制御を行わないときのトルクリプル率よりも低くなる位相である。あるいは、位相条件は、例えば、高調波電流制御を行うときのトルクリプル率が予め決められたトルクリプル閾値（一例としては、Ａ特性であるが、必ずしもＡ特性に限定されない。）よりも低くなる位相である。
【００３０】
そこで、実施形態のモータ制御装置１は、高調波電流の位相φを検出し、その位相φが所定の位相条件から外れたときに、高調波電流制御を行わない動作モードに切り替える機能を備える。ただし、動作モード切替えを判断するための位相条件は、図２から明らかなように、高調波電流の振幅に依存して変化する。したがって、モータ制御装置１は、モータ電流の高調波成分の振幅および位相φを検出し、その位相φが振幅に依存して決まる位相条件から外れたときに動作モードを切り替えるようにしてもよい。
【００３１】
上述の動作モード切替え機能を提供するために、モータ制御装置１は、図１に示すように、スイッチ４１〜４４、振幅／位相検出部４５、動作モード切替部４６を備える。
スイッチ４１、４２のＡ端子には、それぞれ、高調波電流指令値Ｉnd*、Ｉnq*が与えられ、Ｂ端子には、それぞれ、検出された高調波電流Ｉnd、Ｉnqが与えられる。また、スイッチ４３、４４のＡ端子には、それぞれ、高調波電圧指令値Ｖnd*、Ｖnq*が与えられ、Ｂ端子には、それぞれ、「ゼロ」が与えられる。そして、スイッチ４１〜４４は、動作モード切替部４６からの指示に従って、Ａ端子またはＢ端子に与えられるデータを選択する。
【００３２】
振幅／位相検出部（位相検出手段および振幅検出手段）４５は、検出された高調波電流Ｉnd、Ｉnqを利用して、高調波電流の振幅Ｉndqおよび位相φを算出する。高調波電流の振幅Ｉndqおよび位相φは、下式で算出される。
Ｉndq ＝（Ｉnd2＋Ｉnq2）1/2
φ＝tan-1（Ｉnq／Ｉnd）
動作モード切替部４６は、高調波電流の振幅Ｉndqおよび位相φに基づいて、モータ制御装置１の動作モードを切り替える。また、動作モード切替部４６は、モータ１００の回転速度ωおよびモータ電流Ｉd、Ｉqも、動作モードを切り替えるためのパラメータとして使用することができる。
【００３３】
モータ制御装置１の動作モードは、基本的に以下のようにして制御される。すなわち、高調波電流の位相φが所定の位相条件を満たすときは、動作モード切替部４６は、各スイッチ４１〜４４に対して、Ａ端子のデータを選択する指示を与える。これにより、高調波電流を制御するためのフィードバック系が動作する。この場合、高調波座標逆変換部２５は、ｄｑ高調波電流制御部２３により得られる高調波電圧指令値Ｖnd*、Ｖnq*を、ｄｑ座標系上の高調波電圧指令値Ｖnd(h)*、Ｖnq(h)*に変換して出力する。そうすると、高調波電流が加算されたモータ電流がモータ１００に与えられることになる。すなわち、高調波電流の位相φが所定の位相条件を満たすときは、通常の高調波電流制御が行われる。なお、所定の位相条件は、例えば、図２を参照しながら説明した通りである。
【００３４】
一方、高調波電流の位相φが所定の位相条件から外れたときには、動作モード切替部４６は、各スイッチ４１〜４４に対して、Ｂ端子のデータを選択する指示を与える。この場合、高調波座標逆変換部２５は、高調波電圧指令値Ｖnd(h)*、Ｖnq(h)*として「ゼロ」を出力する。すなわち、高調波制御系の出力が無効化される。そうすると、モータ１００には、基本波電圧指令値Ｖd*、Ｖq*に対応するモータ電流が供給されることになる。すなわち、高調波電流の位相φが所定の位相条件から外れたときには、高調波電流制御が行われない。
【００３５】
なお、高調波電流の位相φが所定の位相条件から外れたときには、スイッチ４１、４２は、高調波電流指令値Ｉnd*、Ｉnq*の代わりに、高調波電流検出値Ｉnd、Ｉnqのを選択する。そうすると、ｄｑ高調波電流制御部２３には「ゼロ」が入力されることになる。したがって、モータ制御装置１が高調波電流を再開する際にも、ｄｑ高調波電流制御部２３の動作は安定する。
【００３６】
図３および図４Ａは、実施形態のモータ制御装置１の動作を示すフローチャートである。ここでは、６次の高調波電流を制御するものとする。また、６次の高調波電流の目標値である高調波電流指令値Ｉ6d*、Ｉ6q*は、指令値生成部１１において所定のアルゴリズムで生成される。
【００３７】
ステップＳ１では、モータ１００の回転速度ω、基本波電流の振幅Ｉdq、基本波電流の位相φdqを計算する。なお、基本波電流の振幅Ｉdqおよび基本波電流の位相φdqは、下式により計算される。
Ｉdq ＝（Ｉd2＋Ｉq2）1/2
φdq ＝tan-1（Ｉq／Ｉd）
ステップＳ２では、高調波電流制御を開始すべき状態に達しているか否かをチェックする。具体的には、モータ１００の回転速度ω、および基本波電流の振幅Ｉdqが下記の条件を満たしているか否かをチェックする。なお、「ωstart」および「Ｉdqstart」は、ゼロであってもよい。
ωstart＜ω
Ｉdqstart＜Ｉdq
上記条件が満たされていなければ、ステップＳ３において、高調波電流制御を無効にする。すなわち、スイッチ４１〜４４に対して、Ｂ端子のデータを選択するための指示を与える。一方、上記条件が満たされていれば、ステップＳ４において、モータ１００の回転速度ω、および基本波電流の状態を参照し、モータ制御装置１が高調波電流制御を停止すべき高調波停止領域に入っているか否かをチェックする。この実施例では、下式に従ってチェックが行われる。
ωs−Δωs ≦ ω ≦ ωs＋Δωs
Ｉdqs−ΔＩdqs ≦ Ｉdq ≦ Ｉdqs＋ΔＩdqs
φdqs−Δφdqs ≦ φdq ≦ φdqs＋Δφdqs
ここで、「ωs」「Ｉdqs」「φdqs」は、後で詳しく説明するが、過去の動作において高調波電流制御を停止すべきであると判定されたときに検出されたモータ１００の回転速度、基本波電流の振幅、基本波電流の位相であり、動作モード切替部４６がアクセス可能なメモリ（記録手段）に格納されている。「Δωs」「ΔＩdqs」「Δφdqs」は、高調波停止領域の大きさを決める値であり、制御誤差等を考慮して適宜決めることができる。すなわち、ステップＳ４では、過去に高調波電流制御を停止すべきであると判定された状態と同じ状態に近づいたことが検出される。
【００３８】
モータ１００の回転速度および基本波電流が高調波停止領域に入ったときは、ステップＳ５において、高調波電流制御を無効にする。すなわち、スイッチ４１〜４４に対して、Ｂ端子のデータを選択するための指示を与える。一方、モータ１００の回転速度および基本波電流が高調波停止領域に入っていなければ、ステップＳ６において、高調波電流制御を有効にする。すなわち、スイッチ４１〜４４に対して、Ａ端子のデータを選択するための指示を与える。そして、ステップＳ７において、高調波電流制御の動作が安定するために必要な時間の経過を待つ。
【００３９】
ステップＳ１１では、下式に従って、高調波電流の振幅Ｉ6dq、および位相φ6dqを演算する。
Ｉ6dq ＝（Ｉ6d2＋Ｉ6q2）1/2
φ6dq ＝tan-1（Ｉ6q／Ｉ6d）
ステップＳ１２では、下式に従って、高調波電流が指令値に従って制御されているかをチェックする。
Ｉ6dq*−ΔＩ6dq ≦ Ｉ6dq ≦ Ｉ6dq*＋ΔＩ6dq
φ6dq*−Δφ6dq ≦ φ6dq ≦ φ6dq*＋Δφ6dq
ここで、「Ｉ6dq*」は６次の高調波電流の振幅の指令値であり、「φ6dq*」は６次の高調波電流の位相の指令値である。
【００４０】
なお、上記した式は、Ｉ6dqとφ6dqの値が誤差の範囲内にあるかどうかを判定する式となる。Ｉ6dqとφ6dqとの誤差は、IndとInqとの誤差によることになり、IndとInqとの誤差は、出力電流検出Iu、Iwとモータ磁極位置検出θの検知誤差およびＣＰＵ内での計算誤差により決まる。
【００４１】
高調波電流が指令値に従って制御されていなければ、ステップＳ１３において、高調波電流制御を無効にする。すなわち、スイッチ４１〜４４に対して、Ｂ端子のデータを選択するための指示を与える。続いて、ステップＳ１４において、「高調波電流が指令値に従って制御されていない」と判定された時点のモータ１００の回転数、基本波電流の振幅、基本波電流の位相を検出し、それぞれ、「ωs」「Ｉdqs」「φdqs」としてメモリに記録する。これらの値は、モータ制御装置１の以降の動作において、上述したステップＳ４で使用される。なお、メモリには、複数組の「ωs」「Ｉdqs」「φdqs」を格納可能である。
【００４２】
高調波電流が指令値に従って制御されていれば、ステップＳ１５において、高調波電流制御を有効にする。すなわち、スイッチ４１〜４４に対して、Ａ端子のデータを選択するための指示を与える。
【００４３】
図４Ａに示す手順の代わりに、図４Ｂに示す手順を実行するようにしてもよい。すなわち、図４Ｂに示す手順では、ステップＳ１２の代わりにステップＳ１６が実行される。ステップＳ１６では、高調波電流の位相φ6dqが所定の位相条件を満たしているかチェックする。所定の位相条件は、例えば、高調波電流制御を行うときのトルクリプル率が高調波電流制御を行わないときのトルクリプル率よりも低くなる位相である。すなわち、下式を利用して判定が行われる。
φmin ≦ φ6dqn ≦ φmax
ここで、「φmax」「φmin」は、例えば、高調波電流制御を行うときのトルクリプル率が高調波電流制御を行わないときのトルクリプル率よりも低くなる位相範囲の上限値および下限値である。「φmax」「φmin」は、高調波電流の振幅に応じて変化するようにしてもよいし、固定値であってもよい。
【００４４】
高調波電流の位相が位相条件を満たしていなければ、ステップＳ１３〜Ｓ１４が実行される。すなわち、スイッチ４１〜４４に対してＢ端子のデータを選択するための指示を与えることにより高調波電流制御を無効し、さらに「ωs」「Ｉdqs」「φdqs」をメモリに記録する。一方、高調波電流の位相が位相条件を満たしていれば、ステップＳ１７において高調波電流制御を有効にする。すなわち、スイッチ４１〜４４に対して、Ａ端子のデータを選択するための指示を与える。
【００４５】
このように、実施形態のモータ制御装置１においては、高調波電流の位相φが所定の位相条件を満たしている期間は高調波電流制御を行い、位相φがその位相条件を満たしていない期間は高調波電流制御を停止するので、トルクリプル特性の劣化を防ぐことができる。また、高調波電流制御期間に高調波電流目標値から外れるモータ１００の回転速度および基本波電流の条件を記録しておき、そのような状態が発生しそうになったときには、高調波電流制御を行わないようにしている。よって、この機能によっても、特性の劣化を防ぐことができる。
【００４６】
なお、ステップＳ１４においてメモリに記録すべき条件として、例えば、下記の条件１〜３を採用するようにしてもよい。
条件１：
（Ｉd−Ｉdnow）2＋（Ｉq−Ｉqnow）2≦α  且つ
ωnow −β≦ω≦ωnow ＋β
条件２：
Ｉdnow −α≦Ｉd ≦Ｉdnow ＋α  且つ
Ｉqnow −α≦Ｉq ≦Ｉqnow ＋α  且つ
ωnow −β≦ω≦ωnow ＋β
条件３：
Ｉd増加期間は「Ｉdnow ≦Ｉd ≦Ｉdnow ＋α」、Ｉd減少期間は「Ｉdnow −α≦Ｉd ≦Ｉdnow」  且つ
Ｉq増加期間は「Ｉqnow ≦Ｉq ≦Ｉqnow ＋α」、Ｉq減少期間は「Ｉqnow −α≦Ｉq≦Ｉqnow」  且つ
ω増加期間は「ωnow ≦ω≦ωnow ＋β」、ω減少期間は「ωnow −β≦ω≦ωnow」
定数α、βは、実験およびシミュレーション等によって、適切な値が選択されるものとする。
ここで、条件１から条件３における「Ｉdnow」「Ｉqnow」「ωnow」は、ステップＳ１６で「ＮＯ」と判定された際の「Ｉd」「Ｉq」「ω」を指す。
【００４７】
＜他の実施形態＞
図５は、他の実施形態の動作を示すフローチャートである。このフローチャートの処理は、例えば、所定の時間間隔で繰り返し実行されるものとする。
【００４８】
ステップＳ２１では、基本波電流のｄ軸成分およびｑ軸成分（Ｉd、Ｉq）が検出される。ステップＳ２２では、モータ１００の回転数ωが検出される。ステップＳ２３では、下式の条件が満たされているかチェックする。ただし、「Ｉd0」「Ｉq0」「ω0」は、予め決められた初期値であり、それぞれ「ゼロ」であってもよい。一例として、Ｉd0、Ｉq0、ω0が正の場合を表している。
Ｉd ＞Ｉd0  かつ  Ｉq ＞Ｉq0  かつ  ω＞ω0
なお、ステップＳ２１〜Ｓ２３の処理は、図３に示すステップＳ１〜Ｓ２に相当する。
【００４９】
ステップＳ２４では、モータ制御装置１の現在の動作モードをチェックする。そして、高調波電流制御を実行中であれば、ステップＳ２５において高調波電流の振幅を検出し、ステップＳ２６において高調波電流の位相を検出する。ステップＳ２７（算出手段）においては、ステップＳ２５〜Ｓ２６で検出した高調波電流の振幅および位相をキーとしてマップを参照し、トルクリプル率を算出する。ここで参照されるマップには、例えば、図２に示す特性がデータ化されて格納されている。
【００５０】
ステップＳ２８では、算出されたトルクリプル率を閾値と比較する。閾値は、固定値であってもよいし、高調波電流の振幅に応じて変化する値であってもよい。そして、算出されたトルクリプル率が閾値よりも低ければ、ステップＳ２９において高調波電流制御を有効にする。一方、算出されたトルクリプル率が閾値以上であれば、ステップＳ３０において高調波電流制御を無効にする。
【００５１】
モータ制御装置１が、高調波電流制御を行っていなければ（ステップＳ２４：Ｎｏ）、ステップＳ３１において、一時的に高調波電流制御を実行する。すなわち、スイッチ４１〜４４に対して、所定時間だけ、Ａ端子のデータを選択する指示を与える。ここで、所定時間とは、例えば、高調波電流を制御するためのフィードバック系が安定するまでに要する時間に相当する。この後、ステップＳ２５以降の処理が実行される。
【００５２】
このように、図５に示す手順においては、高調波電流制御を行っていない期間に、一時的に高調波電流制御を実行して、高調波電流制御を再開してもよいかチェックする。そして、高調波電流制御を実行してもよい環境であれば、そのまま高調波電流制御が継続される。したがって、この手順を導入すれば、高調波電流制御を行った方が有利な環境においては、可能な限り高調波電流制御が行われるようになる。この結果、トルクリプルの改善を図ることができる。
【００５３】
＜さらに他の実施形態＞
モータ制御装置１の動作モードを、高調波電流制御無効状態から高調波電流制御有効状態に切り替える際には、下記の手順を導入するようにしてもよい。すなわち、高調波電流制御無効状態において、高調波電流検出値Ｉnd、Ｉnqで、高調波指令値Ｉnd*、Ｉnq*をリセットしておく。そして、高調波電流制御有効状態へ切り替えた時点から、高調波指令値Ｉnd*、Ｉnq*を実際の目標値にまで徐々に変化させていく。これにより、有効状態／無効状態が交互に切り替わる電流振動を抑えることができる。
【００５４】
高調波電流制御を実行するか否かを判定するための位相条件は、高調波電流の振幅に依存することなく決定するようにしてもよい。
上記位相条件は、図２に示すような特性データをマップに保持しておく必要はなく、高調波電流の振幅ごとに位相閾値を記憶するだけでもよい。
【００５５】
上記位相条件は、高調波電流制御を行わないときのトルクリプル率（図２に示す例ではＡ特性）を基準として設定する必要はなく、それよりも低いトルクリプル率、或いはそれよりも高いトルクリプル率を基準として設定するようにしてもよい。
【００５６】
高調波無制御時トルクリプル率よりもトルクリプル率を低減できる電流位相でなかった場合に、高調波電流制御を無効とする（例えば、図４ＢにおけるステップＳ１６、Ｓ１３）代わりに、高調波電流の振幅を減らす制御を行うことで、高調波電流制御の無効位相の範囲を広げるようにしてもよい。また、高調波電流の振幅を減らす制御をした後に、高調波電流制御を無効にするようにしても良い。
【００５７】
上述の実施例では、モータ制御装置１の起動時に高調波電流制御を行わない期間（例えば、図３に示すステップＳ２〜Ｓ３）を設けているが、この期間を省略するようにしてもよい。
【００５８】
上述の実施例では、６次の高調波電流を制御する構成を示したが、２以上の高調波電流（例えば、６次および１２次）を制御するようにしてもよい。この場合、複数の高調波電流制御系が並列に設けられる。
【００５９】
モータ１００は、例えばＩＰＭであるが、これに限定されるものではなく、例えば表面磁石同期モータ（ＳＰＭＳＭ：Surface Permanent Magnet Synchronous Motor）等であってもよい。
【００６０】
上述の実施例では、基本波電流を制御する制御系と高調波電流を制御する制御系とが互いに分離されているが、これらの制御系を統合するようにしてもよい。この場合、指令値生成部１１は、基本波電流指令値に高調波電流指令値を加算することにより得られるモータ電流指令値を生成する。そして、高調波電流制御を停止する際には、指令値生成部１１において高調波電流指令値がゼロに制御され、モータ電流指令値として基本波電流指令値が出力される。
【図面の簡単な説明】
【００６１】
【図１】本発明の実施形態のモータ制御装置の構成を示す図である。
【図２】高調波電流の位相に対するトルクリプル率の変化を示す図である。
【図３】モータ制御装置の動作を示すフローチャート（その１）である。
【図４Ａ】モータ制御装置の動作を示すフローチャート（その２）である。
【図４Ｂ】モータ制御装置の動作を示すフローチャートの変形例である。
【図５】他の実施形態の動作を示すフローチャートである。
【符号の説明】
【００６２】
１      モータ制御装置
１１    指令値生成部
１２、１３  誤差演算部
１４    ｄｑ電流制御部
１５    ２相／３相変換部
１６    電力変換部
１７    位相演算部
１８    ３相／２相変換部
２１、２２  誤差演算部
２３    ｄｑ高調波電流制御部
２４    乗算器
２５    高調波座標逆変換部
２６    高調波検出部
２７    高調波座標変換部
３１、３２  加算器
４１〜４４  スイッチ
４５    振幅／位相検出部
４６    動作モード切替部
１００  モータ
【図１】
2010063221.tif 000003
【図３】
2010063221.tif 000004
【図４Ａ】
2010063221.tif 000005
【図４Ｂ】
2010063221.tif 000006
【図５】
2010063221.tif 000007
【図２】
2010063221.tif 000008