(57)【要約】【課題】レゾルバの１回転中の角度変化の平均値から実角度を予測するため、レゾルバ１回転中においてその回転数が一定ではない場合に、実角度の予測値と実角度との間に偏差が生じて補正が適切に実施されない虞がある。【解決手段】除去周波数可変ノッチフィルタ部３０１は、特定の除去周波数帯の信号だけを低減し、それ以外の周波数の信号を通すノッチフィルタ機能を有する。誤差を含んだレゾルバ回転周波数ωrslvから誤差が低減されたフィルタ後レゾルバ回転周波数ωrslv_fltを差し引いた結果は積分演算部３０４へ入力される。この積分値は基準角度信号Refθ発生時に０クリアされる。角度補正値作成部３０５は、積分結果である角度誤差をレゾルバ検出角度θsnsの値に対応させ、レゾルバ検出角度θsnsに対する角度補正値θcrrctとして出力する。【選択図】 図３
2015228723.tif 000002
【特許請求の範囲】
【請求項１】
角度センサで検出されたモータの回転角度に基づいてモータを駆動制御するモータ制御装置において、
前記角度センサの検出角度に基づき前記角度センサの回転周波数を演算する角度センサ回転周波数演算部と、
前記演算された角度センサの回転周波数と前記角度センサの特性に応じた値に基づき除去すべき周波数を設定する帯域除去フィルタ部と、
前記角度センサの回転周波数を前記帯域除去フィルタ部により処理をしたフィルタ後角度センサ回転周波数を積分した積分値に基いて前記検出角度の誤差が補正された補正後検出角度を算出する角度補正部と、を備え、
前記補正後検出角度に基づいて前記モータを駆動制御するモータ制御装置。
【請求項２】
請求項1に記載のモータ制御装置であって、
前記角度補正部は、前記角度センサの回転周波数と前記フィルタ後角度センサ回転周波数との差分を積分した積分値に基いて前記検出角度の誤差が補正された補正後検出角度を算出し、前記積分値は前記角度センサの基準角度検出を示す基準角度信号の発生時に、前記検出角度と前記モータの回転角度の関係に応じた規定値に設定されるモータ制御装置。
【請求項３】
請求項２に記載のモータ制御装置であって、
前記角度補正部は、
前記角度センサの回転周波数と前記フィルタ後角度センサ回転周波数との差分を積分する積分演算部と、
前記積分値と前記検出角度とを対応付ける角度補正値作成部と、
前記積分値を角度補正値として前記検出角度に対応付けて記憶する角度補正値記憶部とを備えるモータ制御装置。
【請求項４】
請求項1に記載のモータ制御装置であって、
前記角度補正部は、前記フィルタ後角度センサ回転周波数を積分する積分演算部による積分値に基いて前記検出角度の誤差が補正された補正後検出角度を算出し、前記積分値は前記角度センサの基準角度検出を示す基準角度信号の発生時に、前記検出角度と前記モータの回転角度の関係に応じた規定値に設定されるモータ制御装置。
【請求項５】
請求項１から４のいずれか一項に記載のモータ制御装置であって、
前記フィルタ後角度センサ回転周波数と前記角度センサの回転周波数の差分の絶対値が前記帯域除去フィルタ部により減衰する量を越えた場合に、前記補正後検出角度の値を無効とするモータ制御装置。
【請求項６】
請求項１から４のいずれか一項に記載のモータ制御装置であって、
前記角度センサの角度誤差が前記角度センサの回転周波数のｎ倍の周波数成分を持つ場合は、前記角度センサの回転数波数をｎ倍した周波数を前記帯域除去フィルタ部の除去周波数とするモータ制御装置。
【請求項７】
請求項６に記載のモータ制御装置であって、
前記角度センサの角度誤差が前記角度センサの回転周波数のｎ倍の周波数成分を複数有する場合は、夫々前記角度センサの回転周波数をｎ倍した周波数を前記帯域除去フィルタ部の除去周波数とするモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、角度センサに基いてモータを制御するモータ制御装置に関する。
【背景技術】
【０００２】
モータをインバータにより制御するモータ制御装置ではモータの角度情報をレゾルバ等の角度センサにより検出し、モータの電流を制御することでモータのトルクを制御している。
【０００３】
角度センサにより検出された角度は、モータ制御装置がモータの交流電流をｄｑ軸電流に変換する際や、ｄｑ軸電圧指令を交流電圧指令に変換する際に使用される他、モータの回転数の演算に使用される。演算されたモータ回転数はトルク指令や上述のｄｑ軸電圧指令の演算に使用される他、回転数指令に基づいてモータの回転数を制御する処理にも使用される。
【０００４】
レゾルバによる角度検出値には、レゾルバの特性上、誤差が含まれ、その角度誤差の大きさはレゾルバの実角度（０〜３６０度）に対して一意の値に決まるため、レゾルバが回転し、レゾルバの角度が０〜３６０度に変化すると角度誤差もそれに従い変化する。つまり、レゾルバ回転時には、角度誤差はレゾルバの回転周波数に比例した成分を持つことになる。
【０００５】
このような誤差を含んだ角度により変換されたｄｑ軸電流および交流電圧指令にはレゾルバの回転周波数に比例した誤差が含まれるため、結果として制御するモータトルクが振動的になる。トルクの振動はシステムによっては騒音や効率低下を招くため低減されることが望ましい。
【０００６】
またこのような誤差を含んだ角度により演算されたモータ回転数にはレゾルバの回転周波数成分を持った誤差が含まれることになり、この誤差はモータ回転数を使用する処理に影響を及ぼすことになる。例えばモータ回転数を回転数指令と一致するように制御する場合には、回転数指令が一定であっても、モータ回転数の演算結果に誤差が含まれるためモータ回転数には振動が生じることになる。
【０００７】
特許文献１にはレゾルバの１回転中における制御タイミング毎の移動量（角度変化）の平均値を演算し、平均値により制御タイミングにおける誤差の無い実角度の予測値を算出し、予測値と検出値の差を角度補正値として検出値を補正する制御装置が記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００４−２４２３７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、特許文献１の手法では、レゾルバの１回転中の角度変化の平均値から実角度を予測するため、レゾルバ１回転中においてその回転数が一定ではない場合に、実角度の予測値と実角度との間に偏差が生じて補正が適切に実施されない虞がある。
【課題を解決するための手段】
【００１０】
請求項１に記載のモータ制御装置は、角度センサで検出されたモータの回転角度に基づいてモータを駆動制御する。このモータ制御装置は、角度センサの検出角度に基づき角度センサの回転周波数を演算する角度センサ回転周波数演算部と、演算された角度センサの回転周波数と角度センサの特性に応じた値に基づき除去すべき周波数を設定する帯域除去フィルタ部と、角度センサの回転周波数を帯域除去フィルタ部により処理をしたフィルタ後角度センサ回転周波数を積分した積分値に基いて検出角度の誤差が補正された補正後検出角度を算出する角度補正部と、を備え、補正後検出角度に基づいてモータを駆動制御する。
【発明の効果】
【００１１】
本発明によれば、レゾルバなどの角度センサの誤差の影響を低減して、より正確な角度を求めることでモータのトルク振動などを低減することができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態に係わるモータ制御装置を含んだブロック図。
【図２】レゾルバの角度誤差を示す図。
【図３】第１の実施の形態に係わる補正後検出角度演算部のブロック図。
【図４】（ａ）〜（ｈ）レゾルバ検出角度から角度補正値を求めるまでのグラフ。
【図５】第２の実施の形態に係わる補正後検出角度演算部のブロック図。
【図６】第３の実施の形態に係わる補正後検出角度演算部のブロック図。
【図７】除去周波数を求める回路の変形例を示す図。
【発明を実施するための形態】
【００１３】
（第１の実施の形態）
図１はモータ制御装置２０を含むモータ駆動装置を示すブロック図である。モータ駆動装置は、モータ制御装置２０の他に、直流電源１０、コンタクタ１１、直流電圧センサ１２、インバータ１３、モータ電流センサ１４、モータ１５、レゾルバ１６を備える。
【００１４】
直流電源１０は、コンタクタ１１が閉状態の場合にインバータ１３へ電力を供給する。直流電源１０の電圧に相当する直流電圧は、直流電圧センサ１２により検出されてモータ制御装置２０へ送られる。
【００１５】
インバータ１３は、６個のスイッチングを行う素子（たとえばＩＧＢＴ）を内蔵し、直流電源１０からの電力を直流から三相交流へ変換する。そして、モータ制御装置２０から送られるＰＷＭ信号に基づき、スイッチングを行う素子を制御し、モータ１５へ三相交流電圧を印加する。
【００１６】
モータ１５は３相の巻線を有するステータと、磁石を内蔵したロータから構成され、巻線に電流が流れることで変化する磁束と磁石の磁力の関係によってトルクを発生する。
【００１７】
モータ電流センサ１４は、モータ１５を流れる３相分の電流を検出し、検出電流信号Imotはモータ制御装置２０へ送られる。 
【００１８】
レゾルバ１６は角度センサであり、モータ１５の回転軸に取り付けられることでモータ１５と同期して回転し、モータ１５の回転軸の角度変化に応じて自身の角度も変化する。レゾルバ１６は、レゾルバ１６の電気角度情報を含んだ角度信号θをモータ制御装置２０へ送る。
【００１９】
モータ制御装置２０は、レゾルバ角度情報処理部２１と、補正後検出角度演算部２２と、モータ電気角度演算部２３と、モータ電気角回転数演算部２４と、極対数演算部２５と、トルク指令演算部２６と、電流制御部２７と、ＰＷＭ生成部２８とを備えている。
【００２０】
モータ制御装置２０は、モータ制御装置２０に入力される後述する信号とトルク指令Trq*に基いてモータ１５の電流を制御するために必要な交流電圧指令V*を演算し、その交流電圧をインバータ１３へ印加するためのＰＷＭ信号を生成する。
【００２１】
レゾルバ角度情報処理部２１は、レゾルバ１６が出力する角度情報をレゾルバ１６が検出する電気角度であるレゾルバ検出角度θsnsに変換し、レゾルバ検出角度θsnsが基準角度になった際に基準角度信号Refθを出力する。ここで、基準角度は０度とし、モータ１５にレゾルバ１６を取り付ける際に、レゾルバ１６が０度となった時のモータ１５の制御上の電気角度が任意の値となるようにする。後の説明を簡単にするために、ここではレゾルバ１６が０度となった時のモータ１５の制御上の電気角度が０度となるようにレゾルバ１６が取り付けられているとする。つまり、基準角度信号Refθ出力時、モータ１５は基準となる電気角度０度の角度位置であり、レゾルバ検出角度θsnsは０度である。
【００２２】
補正後検出角度演算部２２はレゾルバ検出角度θsnsと基準角度信号Refθに基いて補正後検出角度θsns_crrctを出力する。補正後検出角度演算部２２の詳細については後述する。
【００２３】
モータ電気角度演算部２３は補正後検出角度θsns_crrctからモータ１５の電気角度θelを算出する。レゾルバ１６の軸倍角をＸ、モータ１５の極対数をP.P.とすると、モータ１５の電気角度θelは、レゾルバ検出角度θsnsを（Ｘ÷P.P.）×３６０[deg]で除算した余りに、（P.P.÷Ｘ）を掛けることにより算出する。
【００２４】
例えば、レゾルバ１６の軸倍角Ｘ＝４、モータ１５の極対数 P.P.＝８とした場合は、 モータ１５の電気角度θelはレゾルバ検出角度θsnsを１８０で除算した余りに、２をかけることで求まる。
【００２５】
レゾルバ１６の軸倍角Ｘとモータ１５の極対数P.P.は、モータ１５を制御する上で必要とされる制御分解能や回転数の最大値、及び出力トルクの仕様などから決定される。
【００２６】
モータ電気角回転数演算部２４は、以下の式１に基き、現在時刻をｔとしてモータ１５の電気角度θelの一定時間Tの変化からモータ電気角回転数ωelを演算する。
電気角回転数ωel（ｔ）＝［θel（ｔ）-θel（ｔ−T）］/T          式１
【００２７】
極対数演算部２５は、モータ電気角回転数演算部２４で求められたモータ電気角回転数ωelにモータ１５の極対数（P.P.）の逆数をかけて機械角回転数ωmcを求める。
【００２８】
トルク指令演算部２６は、機械角回転数ωmcや外部から入力される指令（図示省略）などの情報に基づいてトルク指令Trq*を生成する。
【００２９】
電流制御部２７は、トルク指令Trq*に相当するdq軸電流指令を生成し、そのdq軸電流指令と検出電流信号Imotをモータ１５の電気角度θelに基づき３相/２相変換したdq軸検出電流値の偏差を０に近づけるために必要なdq軸電圧指令を算出する。そのdq軸電圧指令を電気角度θelに基づき２相/３相変換した３相の交流電圧指令V*を演算する。また、電流制御部２７は、モータ電気角回転数ωelを使用して、モータ回転数に応じて発生する誘起電圧の影響を打ち消すためのフィードフォワード電圧の演算を行う。
【００３０】
ＰＷＭ生成部２８は、交流電圧指令V*に基づきＰＷＭ信号を生成し、インバータ１３へ出力する。
【００３１】
第１の実施の形態についてその作用を以下に説明する。
レゾルバの特性上、レゾルバ検出角度θsnsには角度誤差が含まれ、誤差の無い実角度（ ０〜３６０[deg]） と角度誤差の関係は角度変化に対して常に一定であり、レゾルバ回転時には、角度誤差はレゾルバの電気角回転周波数（レゾルバ回転周波数）に比例した周波数成分を持つことになる。つまり、モータ１５の制御上の０度とレゾルバの０度を機械的に合わせたとしても、それ以外の角度では検出角度に上述の角度誤差が乗る可能性がある。
【００３２】
図２はレゾルバ回転周波数に対して、角度誤差がその２倍の周波数成分を持つ場合の実角度（誤差なし）とレゾルバ検出角度θsns（誤差あり）の関係を示している。レゾルバ回転時に、角度誤差がレゾルバ電気角回転数に対して何倍の周波数成分を持つかは、レゾルバの特性に依存し、角度誤差はレゾルバ回転周波数に比例した複数の周波数成分を持つ場合もある。図２の実線k1で示すグラフは２倍の周波数成分を持つ場合のレゾルバ電気角度θsnsを示す。図２の一点鎖線k2で示すグラフは誤差が無い場合のレゾルバ電気角度θsnsを示す。
【００３３】
補正後検出角度演算部２２はレゾルバ検出角度θsnsの誤差を低減した補正後検出角度θsns_crrctを出力する。以下、図３を参照して、補正後検出角度演算部２２のブロック図について説明する。
【００３４】
レゾルバ回転周波数演算部３００は、次式２より、レゾルバ検出角度θsnsを基にレゾルバ回転周波数ωrslvを求める。
レゾルバ回転周波数ωrslv（ｔ）＝［θsns（ｔ）-θsns（ｔ−T）］/T      式２
【００３５】
すなわち、現在時刻をｔとしてレゾルバ検出角度θsnsの一定時間Tの変化からレゾルバ回転周波数ωrslvを演算する。レゾルバ検出角度θsnsの誤差成分はレゾルバ回転周波数ωrslvに継承されるため、レゾルバ回転周波数ωrslvの誤差はレゾルバ検出角度θsnsの誤差と同様にレゾルバ回転周波数ωrslv自体に比例した周波数成分を持つ。
【００３６】
レゾルバ回転周波数ωrslvは、除去周波数可変ノッチフィルタ部３０１へ入力される。除去周波数可変ノッチフィルタ部３０１は、特定の除去周波数帯の信号だけを低減し、それ以外の周波数の信号を通すノッチフィルタ機能を有し、低減する除去周波数帯はレゾルバ回転周波数ωrslvに基いて決定される。一例として、除去周波数可変ノッチフィルタ部３０１は、レゾルバ回転周波数ωrslvを２倍にして除去周波数を求める回路３０２を備える。
【００３７】
除去周波数可変ノッチフィルタ部３０１のゲイン特性はその傾きが除去周波数付近で急峻となっているものが望ましいためノッチフィルタとしているが、除去周波数において入力を減衰させる特性を有していればその形態は問わない。
【００３８】
除去周波数可変ノッチフィルタ部３０１の減衰量は、角度誤差をどの程度低減させるかにより決定する。減衰量が−２０[db]＝１０[％]の場合、除去周波数可変ノッチフィルタ部３０１により入力信号振幅が１０[％]に低減されて出力されることを意味する。
【００３９】
図２に示すようにレゾルバ回転周波数に対して、角度誤差がその２倍の周波数成分を持つ場合、レゾルバ回転周波数ωrslvを２倍した値を除去周波数可変ノッチフィルタ部３０１の除去周波数とする。これにより、レゾルバ回転周波数ωrslvからレゾルバ回転周波数ωrslvの２倍の周波数成分を持つ角度誤差を低減したフィルタ後レゾルバ回転周波数ωrslv_fltを求めることできる。
【００４０】
次に、誤差を含んだレゾルバ回転周波数ωrslvからフィルタ後レゾルバ回転周波数ωrslv_fltを第１減算部３０３により差し引き、その減算結果は積分演算部３０４へ入力される。また、積分演算部３０４には、基準角度信号Refθが入力され、基準角度信号Refθ出力時に積分値が０度にクリアされる。これは上述のように、基準角度信号Refθ出力時はレゾルバ検出角度θsnsとモータ１５の角度は共に０度であり角度誤差は無いためである。積分演算部３０４は次式３により角度誤差を求める。
角度誤差＝∫（ωrslv−ωrslv_flt）dt                         式３
【００４１】
上述したように、角度誤差である積分値は基準角度信号Refθ発生時に０クリアされる。なお、基準角度信号Refθ出力時のモータ１５の電気角度が０度ではない値になるようにレゾルバ１６をモータ１５に取り付けた場合は、Refθ出力時にその０度ではない値をレゾルバ角度に変換した値を角度誤差として積分演算部３０４の積分値に設定すればよい。モータ１５の電気角度のレゾルバ角度への変換は、レゾルバ１６の軸倍角をＸ、モータ１５の極対数をP.P.とすると、レゾルバ角度はモータ１５の電気角度を(P.P.÷Ｘ ）×３６０[deg]で除算した余りに、(Ｘ÷P.P.)を掛けることにより算出できる。例えば、Refθ出力時のモータ１５の電気角度を３０度、レゾルバ１６の軸倍角Ｘ＝４、モータ１５の極対数 P.P.＝８とした場合は、３０度を７２０度で除算した余りに０．５を掛けることになるので、レゾルバ角度は１５度となる。したがって、Refθ出力時に積分演算部３０４の積分値をレゾルバ角度１５度に対応付ければよい。
【００４２】
角度補正値作成部３０５には、積分演算部３０４の積分結果である角度誤差とレゾルバ検出角度θsnsとが入力される。角度補正値作成部３０５は、積分結果である角度誤差をレゾルバ検出角度θsnsの値に対応させ、レゾルバ検出角度θsnsに対する角度補正値θcrrctとして出力する。例えば、ある時点の積分演算部３０４の出力が１度、その時のレゾルバ検出角度θsnsが６０度であれば、レゾルバ検出角度θsnsの６０度に対する角度補正値θcrrctは１度となる。レゾルバ検出角度θsnsが、例えば０度から３６０度について、所定角度ごとに角度補正値θcrrctを求める。角度補正値θcrrctの作成には各レゾルバ検出角度θsnsごとに複数の積分結果データを平均化するなどの統計処理を使用しても良い。
【００４３】
角度補正値記憶部３０６は、角度補正値θcrrctをレゾルバ検出角度θsnsに対応した記憶角度補正値θcrrct_memとしてメモリなどの記憶媒体に記憶する。記憶角度補正値θcrrct_memは、０〜３６０度間のレゾルバ検出角度θsnsの分解能に応じた個数だけ記憶しても良いし、補正後検出角度θsns_crrctの精度目標が達成できるのであれば、記憶角度補正値θcrrct_memは等間隔で個数を間引いた個数だけ記憶し、記憶していないレゾルバ検出角度θsnsの値に対しては、線形補間等により記憶角度補正値θcrrct_memを算出しても良い。
【００４４】
例えば、レゾルバ検出角度θsnsの分解能が３６０/４０９５度であった場合、４０９６個の記憶角度補正値θcrrct_memを記憶しても良いが、等間隔で個数を間引いた１０２４個の記憶角度補正値θcrrct_memを記憶して、記憶していない間引かれたレゾルバ検出角度θsnsに対してはその前後の記憶角度補正値θcrrct_memから線形補間により記憶角度補正値θcrrct_memを算出することを意味する。これにより、角度補正値記憶部３０６の記憶容量の使用を低減することが可能となる。
【００４５】
補正後検出角度演算部２２は、レゾルバ検出角度θsnsから記憶角度補正値θcrrct_memを第２減算部３０７で差し引いて、その結果を補正後検出角度θsns_crrctとして出力する。補正後検出角度θsns_crrctの精度目標が達成できる必要数だけ記憶角度補正値θcrrct_memが確保された時点で、補正後検出角度演算部２２のレゾルバ検出角度θsnsを記憶角度補正値θcrrct_memから差し引く処理以外は停止して良い。なお、上述の積分演算部３０４による積分結果は基準角度信号Refθにより補正されるため、補正後検出角度演算部２２の動作開始から基準角度信号Refθ初回出力までに算出される角度補正値θcrrctは無効とする。
【００４６】
図４（ａ）〜（ｈ）に、以下の条件において、レゾルバ検出角度θsnsから角度補正値θcrrctを算出するまでのグラフを示している。
<条件>
・モータ１５の極対数（P.P）＝８
・レゾルバ１６の軸倍角（X ）＝８
・モータ１５回転数＝１５００[rpm] 
・レゾルバ検出角度θsnsの角度誤差の周波数はレゾルバ回転周波数の２倍
【００４７】
図４（ａ）に示すように、モータ１５の回転数が１５００[rpm]である場合、同期して回転しているレゾルバ１６の電気角回転周波数は、２００[Hz]（＝１５００（rpm）÷６０（秒）×８（Ｘ））となる。このため、図４（ｂ）に示すように、レゾルバ検出角度θsnsは０〜３６０[deg]まで２００[Hz]で変化する。
【００４８】
なお、図４（ｃ）に示すように、レゾルバ検出角度θsnsに含まれる角度誤差の周波数はレゾルバ１６の回転周波数×２＝４００[Hz]である。  
【００４９】
図４（ｄ）に示すように、０度の基準角度信号Refθはレゾルバ検出角度θsnsが０degの際に出力され、図示していないがこの角度ではモータ電気角度も０degである。
【００５０】
図4（ｅ）に示すように、レゾルバ回転周波数演算部３００によってレゾルバ検出角度θsnsから演算されるレゾルバ回転周波数ωrslvは、２００[Hz]に+/-１０[Hz]の誤差が乗った値となる。
【００５１】
この誤差はレゾルバ検出角度θsnsの誤差の大きさとレゾルバ回転周波数ωrslvを演算する周期から決まる値であり、この値がいくつであっても後の説明に影響はないが、説明を容易にするために+/-１０[Hz]とする。
【００５２】
図４（ｆ）に示すように、除去周波数可変ノッチフィルタ部３０１のゲイン特性は、除去周波数において−２０[db]＝１０[%]であり、除去周波数はレゾルバ回転周波数ωrslvより求まり、除去周波数＝ωrslv×２＝（２００±１０）×２となり、ゲイン特性は中央値を４００[Hz]とした除去周波数を持つ特性となる。
【００５３】
この特性を持つ除去周波数可変ノッチフィルタ部３０１によりレゾルバ回転周波数ωrslvをフィルタ処理することにより、図４（ｇ）に示すように、誤差が低減されたフィルタ後レゾルバ回転周波数ωrslv_fltが得られる。
【００５４】
図４（ｈ）に示すように、積分演算部３０４で、レゾルバ回転周波数ωrslvからフィルタ後レゾルバ回転周波数ωrslv_fltを引いた値を積分し、積分値を基準角度信号Refθ発生時に０に設定した結果が角度補正値θcrrctとなる。図４（ｈ）の角度補正値θcrrctは、図４（ｃ）の角度誤差を再現している。
【００５５】
上述のように、角度補正値記憶部３０６は、角度補正値θcrrctをレゾルバ検出角度θsnsに対応して記憶角度補正値θcrrct_memとしてメモリなどの記憶媒体に記憶する。そして、第２減算部３０７で、レゾルバ検出角度θsnsから記憶角度補正値θcrrct_memを差し引いて、その結果を補正後検出角度θsns_crrctとして出力する。
【００５６】
以上の説明ではモータ回転数を一定としたが、除去周波数可変ノッチフィルタ部３０１はレゾルバ１６の特性に応じた周波数成分を持つ誤差を低減するために、モータ回転数がランプ状に変動している最中でも同様な効果を得ることができる。
【００５７】
但し、積分演算部３０４は、レゾルバ回転周波数ωrslvとフィルタ後レゾルバ回転周波数ωrslv_fltの差分の絶対値が、除去周波数可変ノッチフィルタ部３０１の減衰量とレゾルバ角度誤差の大きさにより決定される閾値、即ち、減衰する量の閾値、を越えたかを検出する。超えた場合には、角度補正値作成部３０５は、補正後検出角度θsns_crrctではなくレゾルバ検出角度θsns出力する。これは回転数の急変動などにより、除去周波数可変ノッチフィルタ部３０１がレゾルバ１６の特性上発生する成分以外を除去した場合を想定している。
【００５８】
この閾値について図４により説明すると、除去周波数可変ノッチフィルタ部３０１の特性によりレゾルバ回転周波数ωrslvとフィルタ後レゾルバ回転周波数ωrslv_fltの差分の絶対値は ９[Hz]（１０−１）以下になるはずであるが、モータ１５の回転数急変によりレゾルバ回転周波数ωrslvも急変し、除去周波数可変ノッチフィルタ部３０１がレゾルバ１６の特性上発生する成分以外を除去することでフィルタ後レゾルバ回転周波数ωrslv_fltの変化が遅れ、結果として上記差分の絶対値が９[Hz]を超える状態を意味している。
【００５９】
第１の実施の形態についてその効果を以下に説明する。
補正後検出角度演算部２２は、レゾルバ１６の特性上発生する角度誤差が低減された補正後検出角度θsns_crrctを算出する。この補正後検出角度演算部２２は、モータ電気角回転数演算部２４、トルク指令演算部２６、及び 電流制御部２７において使用される。そのため、それぞれ、モータ回転数演算結果の変動が低減し、トルク指令の演算結果の変動低減、及び出力トルクの振動低減という効果を得ることができる。
【００６０】
またモータ回転数の変動がある一定値以下であれば補正後検出角度θsns_crrctを算出でき、記憶角度補正値θcrrct_memが必要数確保されていれば常に誤差が補正された補正後検出角度θsns_crrctを使用できる。
【００６１】
以上説明した第１の実施の形態によれば、次の作用効果が得られる。
（１）モータ制御装置２０は、角度センサ、すなわちレゾルバ１６で検出されるモータ回転角度に基づいてモータを駆動制御する。このモータ制御装置２０は、角度センサの検出角度に基づき角度センサの回転周波数を演算する角度センサ回転周波数演算部、すなわちレゾルバ回転周波数演算部３００と、演算された角度センサの回転周波数と角度センサの特性に応じた値に基づき除去すべき周波数を設定する帯域除去フィルタ部、すなわち除去周波数可変ノッチフィルタ部３０１と、角度センサの回転周波数を除去周波数可変ノッチフィルタ部３０１により処理をしたフィルタ後角度センサ回転周波数を積分した積分値に基いて検出角度の誤差が補正された補正後検出角度を算出する角度補正部、すなわち積分演算部３０４、角度補正値作成部３０５、角度補正値記憶部３０６、第２減算部３０７と、を備える。モータ制御装置は、補正後検出角度に基づいてモータを駆動制御する。したがって、レゾルバなどの角度センサの誤差の影響を低減して、より正確な角度を求めることでモータのトルク振動などを低減することができる。
【００６２】
（第２の実施の形態）
本発明の第２の実施の形態について図面を参照してその構成を説明する。
第２の実施の形態の構成は、図１に示した第１の実施の形態のブロック図と同様であるので、その構成の説明を省略する。第２の実施の形態においては、補正後検出角度演算部２２の構成が第1の実施の形態と異なる。
【００６３】
補正後検出角度演算部２２の構成を図５に示す。角度補正値記憶部３０６は角度補正値読出部３０８に接続される。角度補正値読出部３０８は、角度補正値記憶部３０６に記憶されたθcrrct_memを読み出す。第２減算部３０７はレゾルバ検出角度θsnsからθcrrct_memを減算してレゾルバ検出角度θsnsを補正し、補正後検出角度θsns_crrctを出力する。
【００６４】
レゾルバ回転周波数演算部３００は、式４より、補正後検出角度θsns_crrctを基にレゾルバ回転周波数ωrslvを求める。
レゾルバ回転周波数ωrslv（ｔ）＝［θsns_crrct（ｔ）-θsns_crrct（ｔ−T）］/T        ・・式４
【００６５】
除去周波数可変ノッチフィルタ部３０１の減衰量を第１の実施の形態の場合よりも大きい値に設定した状態でフィルタ後レゾルバ回転周波数ωrslv_fltを求める。減衰量を第１の実施の形態の場合よりも大きい値に設定するが、この減衰量の大きさは、レゾルバ１６がその特性上有する角度誤差以外の周波数成分の大きさによって決めてもよい。積分演算部３０４は第１の実施の形態で説明したと同様に角度誤差を求め、角度補正値作成部３０５は、積分結果である角度誤差をレゾルバ検出角度θsnsの値に対応させ、レゾルバ検出角度θsnsに対する角度補正値θcrrctとして出力する。角度補正値記憶部３０６は、角度補正値θcrrctをレゾルバ検出角度θsnsに対応して記憶角度補正値θcrrct_memとしてメモリなどの記憶媒体に記憶する。
【００６６】
そして、角度補正値読出部３０８が角度補正値記憶部３０６記憶されたθcrrct_memを読み出すことで、レゾルバ検出角度θsnsを補正する。そして、補正された値に基づいて角度補正値作成部３０５は、再度角度補正値θcrrctを算出し、それを前回のθcrrct_memに加算する。この一連の処理を補正後レゾルバ角度が目標値となるように規定回数繰り返す。
【００６７】
但し、積分演算部３０４は、レゾルバ回転周波数ωrslvとフィルタ後レゾルバ回転周波数ωrslv_fltの差分の絶対値が、除去周波数可変ノッチフィルタ部３０１の減衰量とレゾルバ角度誤差の大きさにより決定される閾値、即ち、減衰する量の閾値、を越えたかを検出する。超えた場合には、角度補正値作成部３０５は、補正後検出角度θsns_crrctではなくレゾルバ検出角度θsns出力する。
【００６８】
第２の実施の形態についてその効果を以下に説明する。
第１の実施の形態では除去周波数可変ノッチフィルタ部３０１の減衰量は補正後検出角度θsns_crrctが目標の値となるように決定するが、減衰量が小さいと除去周波数周辺の帯域の減衰量も小さくなることで、レゾルバ１６の特性上発生する角度誤差以外の周波数成分が除去され、補正後検出角度θsns_crrctの精度が低下する可能性がある。
【００６９】
第２の実施の形態では、上述のように除去周波数可変ノッチフィルタ部３０１の減衰量を大きくしているため、レゾルバ１６の特性上の角度誤差以外の周波数成分が除去される割合が低下し、補正後検出角度θsns_crrctを向上することができる。
【００７０】
（第３の実施の形態）
本発明の第３の実施の形態について図面を参照してその構成を説明する。
第３の実施の形態の構成は、図１に示した第１の実施の形態のブロック図と同様であるので、その構成の説明を省略する。第３の実施の形態においては、補正後検出角度演算部２２の構成が第1の実施の形態と異なる。
【００７１】
補正後検出角度演算部２２の構成を図６に示す。レゾルバ回転周波数演算部３００は、上述した式２より、レゾルバ検出角度θsnsを基にレゾルバ回転周波数ωrslvを求める。レゾルバ回転周波数ωrslvは、除去周波数可変ノッチフィルタ部３０１へ入力される。
【００７２】
除去周波数可変ノッチフィルタ部３０１は、特定の除去周波数帯の信号だけを低減し、それ以外の周波数の信号を通すノッチフィルタ機能を有し、低減する除去周波数帯はレゾルバ回転周波数ωrslvに基いて決定される。一例として、除去周波数可変ノッチフィルタ部３０１は、レゾルバ回転周波数ωrslvを２倍にして除去周波数を求める回路３０２を備える。
【００７３】
誤差が低減されたフィルタ後レゾルバ回転周波数ωrslv_fltを差し引いた結果は積分演算部３０４へ入力される。また、積分演算部３０４には、基準角度信号Refθが入力され、基準角度信号Refθ出力時に積分値を０度にクリアすることで角度誤差を補正する。なお、基準角度信号Refθ出力時のモータ１５の角度が０度ではない任意の値である場合は、基準角度信号Refθ出力時にその任意の値をレゾルバ角度に変換した値を積分演算部３０４に設定すればよい。積分演算部３０４は、積分結果である角度誤差を補正後検出角度θsns_crrctとして出力する。レゾルバ回転周波数演算部３００からレゾルバ回転周波数ωrslvも入力される。積分演算部３０４は、レゾルバ回転周波数ωrslvとフィルタ後レゾルバ回転周波数ωrslv_fltとの差を演算する。  
【００７４】
積分演算部３０４は、レゾルバ回転周波数ωrslvとフィルタ後レゾルバ回転周波数ωrslv_fltの差分の絶対値が、除去周波数可変ノッチフィルタ部３０１の減衰量とレゾルバ角度誤差の大きさにより決定される閾値、即ち、減衰する量、を越えたかを検出する。超えた場合には、切替回路３０９により、補正後検出角度θsns_crrctではなくレゾルバ検出角度θsnsに切り替えて出力する。
【００７５】
この第３の実施の形態においては、フィルタ後レゾルバ回転周波数ωrslv_fltを積分することで、補正後検出角度θsns_crrct を算出する。フィルタ後レゾルバ回転周波数ωrslv_fltはレゾルバの特性上の誤差が低減されたレゾルバ回転周波数でありこの値の積分値は誤差が低減された角度である補正後検出角度θsns_crrctとなる。
【００７６】
積分演算部３０４は基準角度信号Refθ出力時に0度にクリアすることで角度誤差を補正することができる。これは前述のように、基準角度信号Refθ出力時のモータ１５の設計上の角度が0度であるためである
【００７７】
第３の実施の形態についてその効果を以下に説明する。
第３の実施の形態では、角度補正値を記憶しないため、第１及び第２の実施の形態と比較して角度補正値記憶部３０６を使用しなくて良く、全体構成が簡素化されるため演算負荷も軽くなる。
【００７８】
（変形例）
本発明は、以上説明した第１、２及び第３の実施の形態を次のように変形して実施することができる。
【００７９】
（１）角度センサの一例としてレゾルバ１６を例に説明したが、レゾルバ１６と同様の特性を有する角度センサであれば同様に実施することができる。
【００８０】
（２）除去周波数可変ノッチフィルタ部３０１が除去する周波数は、レゾルバ回転周波数の２倍の例で説明した。しかし、レゾルバ１６の角度誤差がレゾルバ回転周波数のｎ倍の周波数成分を複数有する場合は、除去周波数可変ノッチフィルタ部３０１は、夫々レゾルバ回転周波数をｎ倍した周波数を除去周波数可変ノッチフィルタ部３０１が除去する周波数とする回路を追加すればよい。例えば、図７のように、角度誤差がレゾルバ１６のレゾルバ回転周波数の１倍、２倍および４倍の周波数成分を持つ場合は、レゾルバ１６のレゾルバ回転周波数を２倍した周波数を求める回路３０２に、レゾルバ１６のレゾルバ回転周波数を１倍した周波数を求める回路３１０、およびレゾルバ１６のレゾルバ回転周波数を４倍した周波数を求める回路３１１を除去周波数可変ノッチフィルタ部３０１の除去周波数として追加する。
【００８１】
本発明は、上記の実施の形態に限定されるものではなく、本発明の特徴を損なわない限り、本発明の技術思想の範囲内で考えられるその他の形態についても、本発明の範囲内に含まれる。また、上述の実施の形態と複数の変形例を組み合わせた構成としてもよい。
【符号の説明】
【００８２】
１０  直流電源
１１  コンタクタ
１２  直流電圧センサ
１３  インバータ
１４  モータ電流センサ
１５  モータ
１６  レゾルバ
２０  モータ制御装置
２１  レゾルバ角度情報処理部
２２  補正後検出角度演算部
２３  モータ電気角度演算部
２４  モータ電気角回転数演算部
２５  極対数演算部
２６  トルク指令演算部
２７  電流制御部
２８  ＰＷＭ生成部
【図１】
2015228723.tif 000003
【図２】
2015228723.tif 000004
【図３】
2015228723.tif 000005
【図４】
2015228723.tif 000006
【図５】
2015228723.tif 000007
【図６】
2015228723.tif 000008
【図７】
2015228723.tif 000009