(57)【要約】【課題】演算に使用される記憶部が大容量になるのを抑制するとともに演算の負荷を軽減しながらトルクリプルを低減することが可能な回転電機の制御装置を提供する。【解決手段】このモータ２００の制御装置１００は、トルク指令値（補償後のトルク指令値τ**）に基づく積分計算により予め選択された次数のフーリエ係数を演算し、演算されたフーリエ係数から振幅と位相とを演算し、演算された振幅および位相に基づいて、トルク指令値の補償量τrip＿sを演算する補償量演算部７を備える。【選択図】図１
2017131044.tif 000002
【特許請求の範囲】
【請求項１】
トルク指令値に基づく積分計算により予め選択された次数のフーリエ係数を演算し、演算された前記フーリエ係数から振幅と位相とを演算し、演算された前記振幅および前記位相に基づいて、前記トルク指令値の補償量を演算する補償量演算部を備える、回転電機の制御装置。
【請求項２】
前記予め選択された次数は、前記回転電機の極数、スロット数、前記極数と前記スロット数との最小公倍数、および、前記極数、前記スロット数および前記最小公倍数の倍数成分のうちの少なくとも１つを含む、請求項１に記載の回転電機の制御装置。
【請求項３】
前記予め選択された次数は、６の倍数成分を含む、請求項１または２に記載の回転電機の制御装置。
【請求項４】
前記補償量演算部は、前記積分計算により前記予め選択された次数のフーリエ係数を演算する際に、前記回転電機の回転速度に基づいて算出される回転数の直流成分と、前記回転電機の回転数の指令値との差の絶対値が、所定のしきい値を超える場合に、前記フーリエ係数からの前記振幅と前記位相との演算を停止する、請求項１〜３のいずれか１項に記載の回転電機の制御装置。
【請求項５】
前記制御装置の電源が遮断された場合に、演算された前記振幅と前記位相とを記憶する記憶部をさらに備える、請求項１〜４のいずれか１項に記載の回転電機の制御装置。
【請求項６】
前記積分計算におけるフーリエ係数を算出するための中間変数を記憶する記憶部をさらに備え、
前記積分計算は、前記制御装置の１制御周期毎に、前記記憶部に記憶された前回の前記中間変数に、現在の補償量および角速度に基づく値を加算して今回の中間変数として前記記憶部に上書きすることにより行われる、請求項１〜５のいずれか１項に記載の回転電機の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、回転電機の制御装置に関し、特に、トルク指令値の補償量を演算する補償量演算部を備える回転電機の制御装置に関する。
【背景技術】
【０００２】
従来、トルク指令値の補償量を演算する補償量演算部を備える回転電機の制御装置が知られている（たとえば、特許文献１参照）。
【０００３】
上記特許文献１には、モータの位相に対するトルク指令値をサンプリングするサンプリング部と、サンプリングしたトルク指令値に対してＦＦＴ（高速フーリエ変換）を行い、フーリエ係数を算出するＦＦＴ演算部とを備えるモータ制御装置が開示されている。このモータ制御装置では、算出したフーリエ係数からモータの位相に対するトルクリプル補償値が算出される。そして、トルク指令値にトルクリプル補償値を加算して補償後のトルク指令値とし、補償後のトルク指令値に基づいてモータが駆動される。これにより、モータのトルクリプルが低減される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５１８７１７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載された回転電機の制御装置では、サンプリングされたトルク指令値に対するＦＦＴ（高速フーリエ変換）を行うように構成されているため、トルクリプルの周波数に応じた任意の周波数の次数のフーリエ係数を算出するためには、比較的多数のサンプリング点が必要になる。このため、比較的多数のサンプリング点のトルク指令値を記憶するために比較的大容量の記憶部が必要になるとともに、フーリエ係数を算出するための演算の負荷が増大するという問題点がある。
【０００６】
この発明は、上記のような課題を解決するためになされたものであり、この発明の１つの目的は、演算に使用される記憶部が大容量になるのを抑制するとともに演算の負荷を軽減しながらトルクリプルを低減することが可能な回転電機の制御装置を提供することである。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、この発明の一の局面による回転電機の制御装置は、トルク指令値に基づく積分計算により予め選択された次数のフーリエ係数を演算し、演算されたフーリエ係数から振幅と位相とを演算し、演算された振幅および位相に基づいて、トルク指令値の補償量を演算する補償量演算部を備える。
【０００８】
この発明の一の局面による回転電機の制御装置では、上記のように、補償量演算部により、トルク指令値に基づく積分計算により予め選択された次数のフーリエ係数を演算することによって、比較的多くの次数についてフーリエ変換によりフーリエ係数を演算する場合と異なり、演算されるフーリエ係数が予め選択された次数分だけであるので、演算に使用される記憶部の容量が大容量になるのを抑制するとともに、演算の負荷を軽減することができる。そして、補償量演算部により演算された補償量によりトルク指令値を補償することによって、トルクリプルを低減することができる。その結果、演算に使用される記憶部が大容量になるのを抑制するとともに演算の負荷を軽減しながらトルクリプルを低減することができる。
【０００９】
上記一の局面による回転電機の制御装置において、好ましくは、予め選択された次数は、回転電機の極数、スロット数、極数とスロット数との最小公倍数、および、極数、スロット数および最小公倍数の倍数成分のうちの少なくとも１つを含む。ここで、本願発明者が鋭意検討した結果、特にＰＭモータ（ロータに永久磁石を埋め込んだモータ）では、トルクリプル（コギングトルク）に関係するフーリエ係数の次数は、回転電機の極数、スロット数、極数とスロット数との最小公倍数、および、極数、スロット数および最小公倍数の倍数成分であることが見出された。そこで、予め選択された次数を、回転電機の極数、スロット数、極数とスロット数との最小公倍数、および、極数、スロット数および最小公倍数の倍数成分のうちの少なくとも１つを含むように構成することによって、ＰＭモータのトルクリプル（コギングトルク）を容易に低減することができる。
【００１０】
上記一の局面による回転電機の制御装置において、好ましくは、予め選択された次数は、６の倍数成分を含む。ここで、本願発明者が鋭意検討した結果、特にＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）制御によって制御される回転電機では、ＰＷＭ制御時に発生する電流波形のひずみ（５次、７次、１１次、１３次、・・・のひずみ）に起因して、６の倍数成分の次数のトルクリプルが発生することが見出された。また、ステータに巻線スロットを備える構造を成す一般的なＰＭモータの場合、電流波形と同様に無負荷誘起電圧波形にひずみ（５次、７次、１１次、１３次、・・・のひずみ）が生じ、６の倍数成分の次数のトルクリプルを発生することが見出された。そこで、予め選択された次数を、６の倍数成分を含むように構成することによって、ＰＷＭ制御時に発生する電流波形のひずみに起因するトルクリプル、ならびに無負荷誘起電圧波形のひずみに起因するトルクリプルを低減することができる。
【００１１】
上記一の局面による回転電機の制御装置において、好ましくは、補償量演算部は、積分計算により予め選択された次数のフーリエ係数を演算する際に、回転電機の回転速度に基づいて算出される回転数の直流成分と、回転電機の回転数の指令値との差の絶対値が、所定のしきい値を超える場合に、フーリエ係数からの振幅と位相との演算を停止する。このように構成すれば、回転電機の回転中（積分計算中）に、回転電機の回転速度が比較的大きく変動した場合に、フーリエ係数からの振幅と位相との演算が停止されるので、回転電機の回転速度が比較的大きく変動したことに起因して不適切な補償量が演算（出力）されるのを抑制することができる。
【００１２】
上記一の局面による回転電機の制御装置において、好ましくは、制御装置の電源が遮断された場合に、演算された振幅と位相とを記憶する記憶部をさらに備える。このように構成すれば、電源が遮断された後、次回電源を起動する際に、記憶部に記憶された振幅および位相に基づいて、トルク指令値の補償量を演算することができる。すなわち、電源の起動後、迅速にトルクリプルを低減することができる。
【００１３】
上記一の局面による回転電機の制御装置において、好ましくは、積分計算におけるフーリエ係数を算出するための中間変数を記憶する記憶部をさらに備え、積分計算は、制御装置の１制御周期毎に、記憶部に記憶された前回の中間変数に、現在の補償量および角速度に基づく値を加算して今回の中間変数として記憶部に上書きすることにより行われる。このように構成すれば、制御装置の１制御周期毎の中間変数を各々記憶する必要がない。つまり、中間変数を記憶部の１アドレスのみに記憶するだけで積分計算を行うことができるので、演算に使用される記憶部が大容量になるのを効果的に抑制することができる。
【発明の効果】
【００１４】
本発明によれば、上記のように、演算に使用される記憶部が大容量になるのを抑制するとともに演算の負荷を軽減しながらトルクリプルを低減することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態によるモータの制御装置のブロック図である。
【図２】本発明の一実施形態によるモータの制御装置の動作を説明するためのフロー図である。
【図３】トルクリプルの波形と補償量との関係を示す図である。
【図４】トルク指令値の補償を行った場合の効果を説明するための図である。
【発明を実施するための形態】
【００１６】
以下、本発明を具体化した実施形態を図面に基づいて説明する。
【００１７】
図１を参照して、本実施形態によるモータ２００の制御装置１００の構成について説明する。なお、モータ２００は、特許請求の範囲の「回転電機」の一例である。
【００１８】
（モータの制御装置の構成）
図１に示すように、モータ２００の制御装置１００は、モータ２００に接続されている。また、モータ２００には、モータ２００の位置（回転位置）を検出する位置検出器２１０が接続されている。また、モータ２００の極数は、たとえば、６極であり、スロット数は、９である。また、モータ２００は、３相の交流電力により駆動される。
【００１９】
また、制御装置１００は、位相演算部１を備えている。位相演算部１は、位置検出器２１０からの情報に基づいて、モータ２００の位相θを演算するように構成されている。また、位相演算部１は、後述する補償量演算部７および電流制御部９に位相θを出力するように構成されている。
【００２０】
また、制御装置１００は、位置・回転数演算部２を備えている。位置・回転数演算部２は、位置検出器２１０からの情報に基づいて、モータ２００の位置（回転位置）ｐ、および、角速度ωを演算するように構成されている。また、位置・回転数演算部２は、後述する加算器３に位置ｐを出力するとともに、補償量演算部７および加算器５に角速度ωを出力するように構成されている。
【００２１】
また、制御装置１００は、加算器３を備えている。加算器３は、制御装置１００の外部から入力される位置指令ｐ*と、位置・回転数演算部２から出力されたモータ２００の位置ｐとを加算して、加算した値を後述する位置制御部４に出力するように構成されている。
【００２２】
また、制御装置１００は、位置制御部４を備えている。位置制御部４は、加算器３からの出力に基づいて、加算器５に角速度指令ω*を出力するように構成されている。
【００２３】
また、制御装置１００は、加算器５を備えている。加算器５は、位置・回転数演算部２から出力された角速度ωと、位置制御部４から出力された角速度指令ω*とを加算して、加算した値を後述する速度制御部６に出力するように構成されている。
【００２４】
また、制御装置１００は、速度制御部６を備えている。速度制御部６は、加算器５からの出力に基づいて、後述する加算器８にトルク指令τ*を出力するように構成されている。
【００２５】
また、制御装置１００は、補償量演算部７を備えている。ここで、本実施形態では、補償量演算部７は、トルク指令値（補償後のトルク指令値τ**）に基づく積分計算により予め選択された次数のフーリエ係数を演算する。そして、補償量演算部７は、演算されたフーリエ係数から振幅と位相とを演算し、演算された振幅および位相（トルクリプルの振幅Ａおよび位相φ、後述する式（３２）参照）に基づいて、トルク指令値の補償量τrip＿sを演算するように構成されている。具体的には、補償量演算部７は、位相演算部１から出力されたモータ２００の位相θと、位置・回転数演算部２から出力された角速度ωと、加算器８から出力された補償後のトルク指令値τ**とに基づいて、トルク指令値の補償量τrip＿sを演算するように構成されている。なお、補償量演算部７の詳細な動作（トルク指令値の補償量τrip＿sの演算）については後述する。
【００２６】
また、本実施形態では、予め選択された次数は、モータ２００の極数、スロット数、極数とスロット数との最小公倍数、および、極数、スロット数および最小公倍数の倍数成分のうちの少なくとも１つを含む。たとえば、６極９スロットのモータ２００において、予め選択された次数を、極数に対応する６次、スロット数に対応する９次、および、極数とスロット数との最小公倍数に対応する１８次に設定する。
【００２７】
また、本実施形態では、予め選択された次数は、６の倍数成分を含むように構成する。すなわち、予め選択された次数は、ＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）制御時に発生する電流波形のひずみに起因して発生するトルクリプル、および無負荷誘起電圧波形のひずみに起因して発生するトルクリプルの次数に対応する６の倍数成分を含む。たとえば、予め選択された次数は、６の倍数成分である、６次および１８次を含む。
【００２８】
また、本実施形態では、補償量演算部７は、積分計算により予め選択された次数のフーリエ係数を演算する際に、モータ２００の回転速度に基づいて算出される回転数の直流成分Ｎb0と、モータ２００の回転数の指令値Ｎrpmとの差の絶対値が、所定のしきい値Ｎthを超える場合（後述する式（２５）参照）に、フーリエ係数からの振幅と位相との演算を停止する。たとえば、補償量演算部７は、回転数の直流成分Ｎb0が、回転数の指令値Ｎrpmの±５％を超えた場合に、フーリエ係数からの振幅と位相との演算を停止する。
【００２９】
また、制御装置１００は、加算器８を備えている。加算器８は、速度制御部６から出力されたトルク指令値τ*と、補償量演算部７から出力されたトルク指令値の補償量τrip＿sとを加算して、後述する電流制御部９に補償後のトルク指令値τ**を出力するように構成されている。
【００３０】
また、制御装置１００は、電流制御部９を備えている。電流制御部９は、加算器８から出力された補償後のトルク指令値τ**と、位相演算部１から出力された位相θとに基づいて、後述するＰＷＭ信号生成部１０にＰＷＭ指令値ν*を出力するように構成されている。
【００３１】
また、制御装置１００は、ＰＷＭ信号生成部１０を備えている。ＰＷＭ信号生成部１０は、電流制御部９から出力されたＰＷＭ指令値ν*に基づいてＰＷＭ信号を生成し、生成したＰＷＭ信号をモータ２００に出力するように構成されている。そして、モータ２００は、ＰＷＭ信号生成部１０から出力されたＰＷＭ信号に基づいて駆動される。
【００３２】
また、制御装置１００は、記憶部１１を備えている。本実施形態では、記憶部１１は、制御装置１００の電源２２０が遮断された場合に、演算された振幅と位相とを記憶するように構成されている。なお、電源２２０の遮断は、ユーザによる意図的な遮断と、停電などによる不意の遮断とを含む。
【００３３】
また、本実施形態では、記憶部１１は、積分計算におけるフーリエ係数を算出するための中間変数を記憶するように構成されている。そして、積分計算は、制御装置１００の１制御周期毎に、記憶部１１に記憶された前回の中間変数に、現在の補償量および角速度ωに基づく値を加算して今回の中間変数として記憶部１１に上書きすることにより行われる。すなわち、記憶部１１の前回の中間変数が記憶されているアドレスに、今回演算された中間変数が上書きされる。
【００３４】
（モータの制御装置の動作）
次に、図２を参照して、制御装置１００（補償量演算部７）の詳細な動作（トルク指令値の補償量τrip＿sの演算）について説明する。
【００３５】
まず、図２のステップＳ１に示されるように、初期設定が行われる。具体的には、入力変数として、極数ｎp、スロット数ｎs、ロータ位置（モータ２００の位相）θ、回転数指令値Ｎrpm、制御周期Ｔinv、現在の角速度ω、補償後のトルク指令τrip＿0が設定される。また、出力変数は、トルク指令値の補償量τrip＿sである。また、初期設定は、図示しない初期設定部による入力変数の取り込み、および、変数の初期化により行われる。たとえば、極数ｎpおよびスロット数ｎsは、それぞれ、６および９に設定される。
【００３６】
また、極数Ｎpおよびスロット数Ｎsから、極数Ｎpおよびスロット数Ｎsの最小公倍数（コギングトルクの理論成分）が設定される。なお、最小公倍数は、ユーザにより入力されてもよいし、ユークリッドの互除法（最大公約数を演算する方法）により演算してもよい。具体的には、２つの変数ｘおよびｙの最大公約数をＡ（ｘ，ｙ）とし、最小公倍数をＢ（ｘ，ｙ）とした場合に、ｘ×ｙ＝Ａ×Ｂの関係がある。そこで、最大公約数Ａ（ｘ，ｙ）をユークリッドの互除法により演算して、演算された最大公約数Ａ（ｘ，ｙ）から、最小公倍数Ｂ（ｘ，ｙ）が算出される。
【００３７】
また、現在の回転数Ｎrpm＿nowを下記の式（１）により演算する。
【数１】
2017131044.tif 000003
【００３８】
次に、ステップＳ２において、モータ２００（ロータ）が１回転したか否かが判断される。すなわち、モータ２００（ロータ）の１回転分の積分計算が行われたか否かが判断される。具体的には、回転速度の指令値をＮrpm[ｒ／ｍｉｎ]、制御装置１００の制御周期（演算周期）をＴinvとした場合、モータ２００の１回転を制御周期で刻んだサンプル数Ｎmは、下記の式（２）により演算される。
【数２】
2017131044.tif 000004
また、現在のサンプル点数をＮとすると、下記の式（３）が満たされる時、モータ２００の１回転分の積分計算が行われたことになる。
【数３】
2017131044.tif 000005
【００３９】
ステップＳ２において、モータ２００（ロータ）が１回転していないと判断された場合、ステップＳ３に進む。ステップＳ３では、積分計算が行われる。具体的には、予め選択された次数ごとにフーリエ係数を演算するために、補償量演算部７に入力される値（位置ｐ、角速度ω、補償後のトルク指令値τ**に基づいて、モータ２００の１回転分に渡って、下記の中間変数（式（４）〜（９））を演算する。
【数４】
2017131044.tif 000006
【００４０】
なお、上記の式（４）〜（９）において、ｎは、現在のサンプル点を表し、τrip＿oは、補償後のトルク指令値τ**である。また、ｎp、ｎsおよびｎpsは、それぞれ、極数、スロット数、および、極数およびスロット数の最小公倍数である。たとえば、ｎp、ｎsおよびｎpsは、それぞれ、６、９および１８である。
【００４１】
また、上記の式（４）〜（６）は、後述するフーリエ係数ａを算出するための中間変数である。また、上記の式（７）〜（９）は、後述するフーリエ係数ｂを算出するための中間変数である。
【００４２】
また、上記の式（４）および（７）は、コギングトルクのうち、極数に起因して発生する成分（以下、極数成分）のための式である。また、上記の式（５）および（８）は、コギングトルクのうち、スロット数に起因して発生する成分（以下、スロット数成分）のための式である。また、上記の式（６）および（９）は、コギングトルクのうち、極数とスロット数との最小公倍数に起因して発生する成分（以下、理論成分）のための式である。
【００４３】
そして、本実施形態では、積分計算では、制御装置１００の１制御周期毎に、記憶部１１に記憶された前回の中間変数（Ｘ（ｎ−１）、Ｙ（ｎ−１））を読み出して、読み出した前回の中間変数に今回の補償後のトルク指令値τ**（τrip＿o）および角速度ωに基づく値（τrip＿o（ｎ）ｓｉｎ ｎ ωＴinv、τrip＿o（ｎ）ｃｏｓ ｎ ωＴinv）を加算して、今回の中間変数（Ｘ（ｎ）、Ｙ（ｎ））とする。そして、今回の中間変数が、前回の中間変数が記憶されている記憶部１１のアドレスに上書きされる。
【００４４】
また、モータ２００の回転数の直流成分Ｎb0を演算するために、下記の式（１０）により中間変数が演算される。
【数５】
2017131044.tif 000007
【００４５】
また、ステップＳ３において積分計算が終了した後、ステップＳ８において、トルク指令値の補償量τrip＿sが演算される。なお、トルク指令値の補償量τrip＿sの演算の詳細については、後述する。
【００４６】
ステップＳ２において、モータ２００（ロータ）が１回転したと判断された場合、ステップＳ４に進む。ステップＳ４では、フーリエ係数が演算される。具体的には、下記の式（１１）〜式（１６）により、フーリエ係数が演算される。
【数６】
2017131044.tif 000008
ここで、Ｘp、Ｙp、Ｘs、Ｙs、ＸpsおよびＹpsは、上記ステップＳ３において積分計算により演算された中間変数である。また、ａpおよびｂpは、極数成分用のフーリエ係数である。また、ａsおよびｂsは、スロット数成分用のフーリエ係数である。また、ａpsおよびｂpsは、理論成分用のフーリエ係数である。
【００４７】
また、下記の式（１７）により、回転数の直流成分Ｎb0が演算される。
【数７】
2017131044.tif 000009
【００４８】
次に、ステップＳ５に進む。ステップＳ５では、下記の式（１８）〜（２４）に示すように、フーリエ係数の演算に使用された中間変数がゼロにリセットされる。
【数８】
2017131044.tif 000010
【００４９】
次に、ステップＳ６に進む。ステップＳ６では、回転数の直流成分Ｎb0と、回転数の指令値Ｎrpmとの差の絶対値が、所定のしきい値Ｎthを超えるか否かが判断される。具体的には、下記の式（２５）に基づいて、判断される。
【数９】
2017131044.tif 000011
【００５０】
そして、本実施形態では、回転数の直流成分Ｎb0と、回転数の指令値Ｎrpmとの差の絶対値が、所定のしきい値Ｎthを超えると判断された場合、ステップＳ７には進まずに、ステップＳ８に進む。すなわち、フーリエ係数からの振幅と位相との演算が行われない（振幅と位相との演算が停止される）。
【００５１】
ステップＳ６において、回転数の直流成分Ｎb0と、回転数の指令値Ｎrpmとの差の絶対値が、所定のしきい値Ｎthを超えない（Ｎth以下）と判断された場合、ステップＳ７に進む。ステップＳ７では、下記の式（２６）〜式（３１）により、振幅と位相とが演算される。
【数１０】
2017131044.tif 000012
ここで、Ａpおよびφpは、それぞれ、極数成分用の振幅および位相である。また、Ａsおよびφsは、それぞれ、スロット数成分用の振幅および位相である。また、Ａpsおよびφpsは、それぞれ、理論成分用の振幅および位相である。
【００５２】
次に、ステップＳ８において、下記の式（３２）に基づいて、トルク指令値の補償量τrip＿sが演算される。
【数１１】
2017131044.tif 000013
【００５３】
ここで、ステップＳ７からステップＳ８に進んだ場合には、演算（更新）された振幅（Ａp、Ａs、Ａps）および位相（φp、φs、φps）、固定値である次数（ｎp、ｎs、ｎps）、および、位相θに基づいて、トルク指令値の補償量τrip＿sが演算される。
【００５４】
また、ステップＳ３（または、ステップＳ６）からステップＳ８に進んだ場合には、振幅（Ａp、Ａs、Ａps）および位相（φp、φs、φps）の演算は行われない。すなわち、前回演算された（更新されていない）、振幅（Ａp、Ａs、Ａps）および位相（φp、φs、φps）、固定値である次数（ｎp、ｎs、ｎps）、および、位相θに基づいて、トルク指令値の補償量τrip＿sが演算される。つまり、トルク指令値の補償量τrip＿sは、積分計算が終了したか否かに関わらず、１制御周期毎に演算されている。
【００５５】
このように、本実施形態では、トルク指令値τrip＿oに基づく積分計算（ステップＳ３）により予め選択された次数のフーリエ係数（ａ，ｂ）を演算し（ステップＳ４）、演算されたフーリエ係数から振幅（Ａ）と位相（φ）とを演算し（ステップＳ７）、演算された振幅および位相に基づいて、トルク指令値の補償量τrip＿sが演算（ステップＳ８）されている。また、図２には示されていないが、制御装置１００の電源２２０が遮断された場合には、電源２２０が遮断される以前に演算された振幅と位相とが消去されずに記憶部１１に記憶されたまま保存される。また、電源２２０の遮断後、電源２２０が再び供給された場合には、上記のステップＳ１において、記憶部１１に記憶された振幅と位相とが読み出されて初期値として設定される。
【００５６】
次に、図３および図４を参照して、トルク指令値の補償を行った場合の効果を確認するためのシミュレーションについて説明する。
【００５７】
図３では、横軸はモータ２００の回転角度（機械角）を表し、縦軸はトルクを表している。また、実線は、トルクリプルの波形であり、破線は、演算されたトルク指令値の補償量τrip＿sである。また、図３では、回転角度θ1以降において、トルク指令値の補償量τrip＿sが生成されている。図３に示すように、生成されたトルク指令値の補償量τrip＿sは、トルクリプルの波形（値）と略一致していることが確認された。すなわち、トルクリプルの波形を打ち消すように、トルク指令値τ*に補償量τrip＿sを加えることにより、トルクリプルが低減される。つまり、補償量τrip＿sを演算することは、トルクリプルの波形を推定することと同義である。
【００５８】
図４では、横軸はモータ２００の回転角度（機械角）を表し、縦軸は、回転数を表している。図４に示すように、補償量τrip＿sが加えられる前である回転角度θ1以前では、回転数は大きく変動している。一方、補償量τrip＿sが加えられた後である回転角度θ1以降では、回転数の変動が徐々に小さくなることが確認された。すなわち、予め選択された次数だけのフーリエ係数の演算によっても、トルクリプルが低減されることが確認された。
【００５９】
（本実施形態の効果）
本実施形態では、以下のような効果を得ることができる。
【００６０】
本実施形態では、上記のように、補償量演算部７により、トルク指令値（補償後のトルク指令値τ**）に基づく積分計算により予め選択された次数のフーリエ係数を演算することによって、比較的多くの次数についてフーリエ変換によりフーリエ係数を演算する場合と異なり、演算されるフーリエ係数が予め選択された次数分だけであるので、演算に使用される記憶部１１の容量が大容量になるのを抑制するとともに、演算の負荷を軽減することができる。そして、補償量演算部７により演算された補償量τrip＿sによりトルク指令値τ*を補償することによって、トルクリプルを低減することができる。その結果、演算に使用される記憶部１１が大容量になるのを抑制するとともに演算の負荷を軽減しながらトルクリプルを低減することができる。
【００６１】
また、本実施形態では、上記のように、予め選択された次数は、モータ２００の極数、スロット数、極数とスロット数との最小公倍数、および、極数、スロット数および最小公倍数の倍数成分のうちの少なくとも１つを含む。ここで、本願発明者が鋭意検討した結果、特にＰＭモータ（ロータに永久磁石を埋め込んだモータ）では、トルクリプル（コギングトルク）に関係するフーリエ係数の次数は、モータ２００の極数、スロット数、極数とスロット数との最小公倍数、および、極数、スロット数および最小公倍数の倍数成分であることが見出された。そこで、予め選択された次数を、モータ２００の極数、スロット数、極数とスロット数との最小公倍数、および、極数、スロット数および最小公倍数の倍数成分のうちの少なくとも１つを含むように構成することによって、ＰＭモータのトルクリプル（コギングトルク）を容易に低減することができる。
【００６２】
また、本実施形態では、上記のように、予め選択された次数は、６の倍数成分を含む。ここで、本願発明者が鋭意検討した結果、特にＰＷＭ制御によって制御されるモータ２００では、ＰＷＭ制御時に発生する電流波形のひずみ（５次、７次、１１次、１３次、・・・のひずみ）、ならびに無負荷誘起電圧波形のひずみ（５次、７次、１１次、１３次、・・・のひずみ）に起因して、６の倍数成分の次数のトルクリプルが発生することが見出された。そこで、予め選択された次数を、６の倍数成分を含むように構成することによって、ＰＷＭ制御時に発生する電流波形のひずみに起因するトルクリプル、ならびに無負荷誘起電圧波形のひずみに起因するトルクリプルを低減することができる。
【００６３】
また、本実施形態では、上記のように、補償量演算部７は、積分計算により予め選択された次数のフーリエ係数を演算する際に、モータ２００の回転速度に基づいて算出される回転数の直流成分Ｎb0と、モータ２００の回転数の指令値Ｎrpmとの差の絶対値が、所定のしきい値Ｎthを超える場合に、フーリエ係数からの振幅と位相との演算を停止する。これにより、モータ２００の回転中（積分計算中）に、モータ２００の回転速度が比較的大きく変動した場合に、フーリエ係数からの振幅と位相との演算が停止されるので、モータ２００の回転速度が比較的大きく変動したことに起因して不適切な補償量τrip＿sが演算（出力）されるのを抑制することができる。
【００６４】
また、本実施形態では、上記のように、制御装置１００の電源２２０が遮断された場合に、演算された振幅と位相とを記憶する記憶部１１を備える。これにより、電源２２０が遮断された後、次回電源２２０を起動する際に、記憶部１１に記憶された振幅および位相に基づいて、トルク指令値τ*の補償量τrip＿sを演算することができる。すなわち、電源２２０の起動後、迅速にトルクリプルを低減することができる。
【００６５】
また、本実施形態では、上記のように、積分計算は、制御装置１００の１制御周期毎に、記憶部１１に記憶された前回の中間変数に、現在の補償量および回転数に基づく値を加算して今回の中間変数として記憶部１１に上書きすることにより行われる。これにより、制御装置１００の１制御周期毎の中間変数を各々記憶する必要がない。つまり、中間変数を記憶部１１の１アドレスのみに記憶するだけで積分計算を行うことができるので、演算に使用される記憶部１１が大容量になるのを効果的に抑制することができる。
【００６６】
［変形例］
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味および範囲内でのすべての変更（変形例）が含まれる。
【００６７】
たとえば、上記実施形態では、予め選択された次数が、モータの極数（６）、スロット数（９）、および、極数とスロット数との最小公倍数（１８）を含む例について示したが、本発明はこれに限られない。本発明では、予め選択された次数が、モータの極数、スロット数、極数とスロット数との最小公倍数、および、極数、スロット数および最小公倍数の倍数成分のうちの少なくとも１つを含んでいればよい。
【００６８】
また、上記実施形態では、制御装置がモータを制御する例について示したが、本発明はこれに限られない。たとえば、制御装置が発電機を制御するように構成してもよい。
【００６９】
また、上記実施形態では、積分計算は、制御装置の１制御周期毎に、記憶部に記憶された前回のトルク指令値および回転数に基づく値に、今回のトルク指令値および回転数に基づく値を加算して記憶部に上書きすることにより行われる例について示したが、本発明はこれに限られない。たとえば、積分計算において、制御装置の１制御周期毎に演算される値を個別に記憶部に記憶してもよい。
【００７０】
また、上記実施形態では、モータの極数が６であり、スロット数が９である例について示したが、本発明はこれに限られない。たとえば、６以外の極数、９以外のスロット数を有するモータに本発明を適用してもよい。
【符号の説明】
【００７１】
７  補償量演算部
１１  記憶部
１００  制御装置
２００  モータ（回転電機）
２２０  電源
【図１】
2017131044.tif 000014
【図２】
2017131044.tif 000015
【図３】
2017131044.tif 000016
【図４】
2017131044.tif 000017