(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023048888
(43)【公開日】2023-04-07
(54)【発明の名称】モータ制御装置
(51)【国際特許分類】
H02P 21/18 20160101AFI20230331BHJP
【FI】
H02P21/18
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2021158463
(22)【出願日】2021-09-28
(71)【出願人】
【識別番号】000006611
【氏名又は名称】株式会社富士通ゼネラル
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】齋藤 由樹
【テーマコード(参考)】
5H505
【Fターム(参考)】
5H505AA06
5H505DD03
5H505DD08
5H505EE41
5H505EE49
5H505GG02
5H505GG04
5H505GG06
5H505HB01
5H505JJ24
5H505JJ26
5H505LL14
5H505LL22
5H505LL41
(57)【要約】
【課題】モータの制御の安定化を図ること。
【解決手段】モータ制御装置100aにおいて、加算器44,45は、モータMを所望の回転数で駆動するためのd軸駆動用電圧指令値Vdm,q軸駆動用電圧指令値Vqmから高周波数成分が除去された高周波除去d軸駆動用電圧指令値Vdm
*,高周波除去q軸駆動用電圧指令値Vqm
*と、モータMのロータ位置の推定に用いられる高周波電流を発生させるためのd軸高周波電圧指令値Vdh
*,q軸高周波電圧指令値Vqh
*とを加算することによりd軸電圧指令値Vd
*,q軸電圧指令値Vq
*を算出し、軸誤差演算器30は、d軸高周波電圧指令値Vdh
*,q軸高周波電圧指令値Vqh
*の印加に応じて発生する高周波電流を用いて軸誤差Δθを算出し、駆動成分除去フィルタ50aは、モータMの駆動に伴って発生する電流成分をd軸電流Id,q軸電流Iqから除去する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
モータを所望の回転数で駆動するための駆動用電圧指令値と、前記モータのロータ位置の推定に用いられる高周波電流を発生させるための高周波電圧指令値とに基づいて電圧指令値を算出する算出器と、
前記高周波電圧指令値の印加に応じて発生する前記高周波電流を用いて軸誤差を算出する軸誤差演算器と、
前記高周波電流を含む3相電流を算出する電流算出器と、
前記3相電流を前記高周波電流を含む2相電流に変換する変換器と、
前記モータの駆動に伴って発生する電流成分を前記2相電流から除去することにより前記2相電流から前記高周波電流を抽出する駆動成分除去フィルタと、
を具備するモータ制御装置。
【請求項2】
前記駆動成分除去フィルタは、前記駆動用電圧指令値によって発生する電流成分を除去する第一フィルタを有する、
請求項1に記載のモータ制御装置。
【請求項3】
前記駆動成分除去フィルタは、前記第一フィルタによって前記高周波電流に発生する位相ズレを補償するとともに、前記高周波電流の周波数より高い周波数帯の高周波ノイズを除去する第二フィルタをさらに有する、
請求項2に記載のモータ制御装置。
【請求項4】
前記駆動成分除去フィルタは、前記モータのロータの極数と前記モータのスロット数との最小公倍数と前記モータの回転速度との乗算結果を2πで除算することにより算出される周波数に基づく周波数帯の電流成分を除去する第三フィルタをさらに有する、
請求項1~3のいずれか一項に記載のモータ制御装置。
【請求項5】
前記駆動用電圧指令値から高周波成分を除去する高周波電圧除去フィルタ、をさらに具備する、
請求項1に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、モータ制御装置に関する。
【背景技術】
【0002】
交流モータのためのセンサレスベクトル制御におけるロータ位置の推定技術の一つとして、トルク発生に寄与しない高周波電圧をモータに印加し、検出電流に含まれる高周波成分(以下では「高周波電流」と呼ぶことがある)を用いてロータ位置の推定を行う技術がある。この技術では、高周波電圧の印加に応じて発生する高周波磁束ベクトルと同方向へ回転する同相電流ベクトルと、高周波磁束ベクトルとは逆方向へ回転する鏡相電流ベクトルとに基づいてロータ位置を推定する(特許文献1)。以下では、同相電流ベクトル及び鏡相電流ベクトルを「同相鏡相電流ベクトル」と総称することがある。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、同相鏡相電流ベクトルを生成する際に用いられるフィルタにおける通過周波数帯域を適切に設定しないと、フィルタの応答遅れや、高周波電流以外の電流成分の抽出等により、ロータ位置の推定の精度(以下では「位置推定精度」と呼ぶことがある)が低下する。また、モータを駆動するための電流成分の周波数とロータ位置の推定のための高周波電流の周波数とが近く設定されたり、モータのコギングトルクによる高周波の電流成分の影響で高周波電圧の指令値が正しく生成されなかったりした場合にも位置推定精度が低下する。その結果、モータの制御が不安定になってしまう。
【0005】
そこで、本開示では、モータの制御の安定化を図ることができる技術を提案する。
【課題を解決するための手段】
【0006】
本開示のモータ制御装置は、算出器と、軸誤差演算器と、電流算出器と、変換器と、駆動成分除去フィルタとを有する。前記算出器は、モータを所望の回転数で駆動するための駆動用電圧指令値と、前記モータのロータ位置の推定に用いられる高周波電流を発生させるための高周波電圧指令値とに基づいて電圧指令値を算出する。前記軸誤差演算器は、前記高周波電圧指令値の印加に応じて発生する前記高周波電流を用いて軸誤差を算出する。前記電流算出器は、前記高周波電流を含む3相電流を算出する。前記変換器は、前記3相電流を前記高周波電流を含む2相電流に変換する。前記駆動成分除去フィルタは、前記モータの駆動に伴って発生する電流成分を前記2相電流から除去することにより前記2相電流から前記高周波電流を抽出する。
【発明の効果】
【0007】
本開示によれば、モータの制御の安定化を図ることができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、本開示の実施例1のモータ制御装置の構成例を示す図である。
【
図2】
図2は、本開示の実施例1の高周波電圧指令値生成器の構成例を示す図である。
【
図3】
図3は、本開示の実施例1の軸誤差演算器の構成例を示す図である。
【
図4】
図4は、本開示の実施例1の同相鏡相電流ベクトル生成器の構成例を示す図である。
【
図5】
図5は、本開示の実施例1の駆動成分除去フィルタの構成例を示す図である。
【
図6】
図6は、本開示の実施例1の駆動成分除去フィルタの動作例を示す図である。
【
図7】
図7は、本開示の実施例1の駆動成分除去フィルタの動作例を示す図である。
【
図8】
図8は、本開示の実施例1の駆動成分除去フィルタの動作例を示す図である。
【
図9】
図9は、本開示の実施例1の駆動成分除去フィルタの動作例を示す図である。
【
図10】
図10は、本開示の実施例1の高周波電圧除去フィルタの動作例を示す図である。
【
図11】
図11は、本開示の実施例1の高周波電圧除去フィルタの動作例を示す図である。
【
図12】
図12は、本開示の実施例2のモータ制御装置の構成例を示す図である。
【
図13】
図13は、本開示の実施例2の駆動成分除去フィルタの構成例を示す図である。
【発明を実施するための形態】
【0009】
以下、本開示の実施例を図面に基づいて説明する。以下の実施例において、同一の部位には同一の符号を付し、重複する説明を省略することがある。
【0010】
本開示では、圧縮機を駆動する永久磁石同期モータ(Permanent Magnet Synchronous Motor:PMSM)の位置センサレスベクトル制御を行うモータ制御装置を一例に挙げて説明する。しかし、開示の技術は、磁気突極性を有するモータに対し、磁気突極性を利用してロータ位置の推定を行うモータ制御装置に広く適用可能である。
【0011】
[実施例1]
<モータ制御装置の構成>
図1は、本開示の実施例1のモータ制御装置の構成例を示す図である。
図1において、モータ制御装置100aは、減算器11,18,19と、速度制御器12と、加算器21,22,44,45と、電流指令値算出器14と、電流制御器20と、d-q/u,v,w変換器23と、PWM(Pulse Width Modulation)変調器24と、IPM(Intelligent Power Module)25とを有する。IPM25は、モータMに接続される。モータMの一例としてPMSMが挙げられる。
【0012】
また、モータ制御装置100aは、シャント抵抗26と、電流センサ27a,27bと、3φ電流算出器28とを有する。なお、モータ制御装置100aは、シャント抵抗26、または、電流センサ27a,27bの何れか一方を有していれば良い。
【0013】
また、モータ制御装置100aは、u,v,w/d-q変換器29と、軸誤差演算器30と、PLL(Phase Locked Loop)制御器31と、位置推定器32と、1/Pn処理器33と、非干渉化制御器36とを有する。
【0014】
また、モータ制御装置100aは、高周波除去フィルタ41,42と、高周波電圧指令値生成器43と、Pn処理器46と、高周波電圧除去フィルタ61,62と、駆動成分除去フィルタ50aとを有する。
【0015】
減算器11は、モータ制御装置100aの外部(例えば、上位のコントローラ)からモータ制御装置100aへ入力される機械角速度指令値ωm*から、1/Pn処理器33より出力される現在の推定角速度である機械角推定角速度ωmを減算することにより角速度誤差Δωを算出する。ここで、機械角速度指令値ωm*は、モータMの所望の回転数に基づいて定められる指令値である。
【0016】
速度制御器12は、角速度誤差Δωの平均が0に近づくようなトルク指令値T*を生成する。
【0017】
電流指令値算出器14は、トルク指令値T*をd-q座標軸上のd軸電流指令値Id*とq軸電流指令値Iq*とに分配する。
【0018】
減算器18は、高周波除去フィルタ41より出力される高周波除去d軸電流Idmをd軸電流指令値Id*から減算することにより、d軸電流指令値Id*と高周波除去d軸電流Idmとの誤差であるd軸電流誤差Id_diffを算出する。減算器19は、高周波除去フィルタ42より出力される高周波除去q軸電流Iqmをq軸電流指令値Iq*から減算することにより、q軸電流指令値Iq*と高周波除去q軸電流Iqmとの誤差であるq軸電流誤差Iq_diffを算出する。
【0019】
電流制御器20は、入力されたd軸電流誤差Id_diffに基づいてPI(Proportional Integral)制御を行うことにより仮d軸電圧指令値Vdtを算出する。また、電流制御器20は、入力されたq軸電流誤差Iq_diffに基づいてPI制御を行うことにより仮q軸電圧指令値Vqtを算出する。
【0020】
非干渉化制御器36は、Pn処理器46より出力される電気角速度指令値ωe*と、電流指令値算出器14より出力されるd軸電流指令値Id*とに基づいて、仮d軸電圧指令値Vdtを補償するためのd軸非干渉化電圧指令値Vdaを生成する。また、非干渉化制御器36は、Pn処理器46より出力される電気角速度指令値ωe*と、電流指令値算出器14より出力されるq軸電流指令値Iq*とに基づいて、仮q軸電圧指令値Vqtを補償するためのq軸非干渉化電圧指令値Vqaを生成する。d軸非干渉化電圧指令値Vda及びq軸非干渉化電圧指令値Vqaは、d-q座標軸間の干渉をフィードフォワードでキャンセルするための非干渉化補償値である。
【0021】
加算器21は、d軸非干渉化電圧指令値Vdaを仮d軸電圧指令値Vdtに加算することによりd軸駆動用電圧指令値Vdmを算出する。加算器22は、q軸非干渉化電圧指令値Vqaを仮q軸電圧指令値Vqtに加算することによりq軸駆動用電圧指令値Vqmを算出する。これにより、d-q座標軸間の干渉がフィードフォワードでキャンセルされたd軸駆動用電圧指令値Vdm及びq軸駆動用電圧指令値Vqmが得られる。
【0022】
高周波電圧除去フィルタ61は、d軸駆動用電圧指令値Vdmの高周波電流周波数fh
*(fh
*=ωh
*/2π)帯に存在する高周波成分をd軸駆動用電圧指令値Vdmから除去することにより、高周波除去d軸駆動用電圧指令値Vdm
*をd軸駆動用電圧指令値Vdmから抽出する。また、高周波電圧除去フィルタ62は、q軸駆動用電圧指令値Vqmの高周波電流周波数fh
*帯に存在する高周波成分をq軸駆動用電圧指令値Vqmから除去することにより、高周波除去q軸駆動用電圧指令値Vqm
*をq軸駆動用電圧指令値Vqmから抽出する。高周波電圧除去フィルタ61,62は、例えば、バンドストップフィルタF(s)により実現される。高周波電圧の角周波数(以下では「高周波角周波数」と呼ぶことがある)ωh
*をバンドストップの中心周波数とするバンドストップフィルタF(s)は式(1)に従って実現可能である。高周波角周波数ωh
*は、モータ制御装置100aの外部(例えば、上位のコントローラ)からモータ制御装置100aへ入力される。式(1)において、“s”はラプラス演算子、“d”はノッチの深さ、“ζ”はノッチの帯域幅を表す所定のフィルタ係数である。
【数1】
【0023】
d-q/u,v,w変換器23は、加算器44,45より出力される2相のd軸電圧指令値Vd*及びq軸電圧指令値Vq*を、位置推定器32より出力される電気角位相θeに基づいて、3相のU相出力電圧指令値Vu*、V相出力電圧指令値Vv*及びW相出力電圧指令値Vw*へ変換する。位置推定器32より出力される電気角位相θeは、モータMの現在のロータ位置を示す。
【0024】
PWM変調器24は、U相出力電圧指令値Vu*、V相出力電圧指令値Vv*、W相出力電圧指令値Vw*と、PWMキャリア信号とに基づいて、6相のPWM信号を生成し、生成した6相のPWM信号をIPM25へ出力する。
【0025】
IPM25は、PWM変調器24より出力される6相のPWM信号に基づいて、直流電圧VdcからU相、V相、W相の3相の交流電圧を生成し、生成した3相それぞれの交流電圧をモータMのU相、V相、W相へ印加する。
【0026】
3φ電流算出器28は、シャント抵抗26を用いた1シャント方式で母線電流が検出される場合、PWM変調器24より出力される6相のPWMスイッチング情報と、検出された母線電流とから、モータMのU相電流Iu、V相電流Iv、W相電流Iwを算出する。または、3φ電流算出器28は、電流センサ27a,27bでU相電流及びV相電流が検出される場合、残りのW相電流Iwを“Iu+Iv+Iw=0”のキルヒホッフの法則に基づいて算出する。3φ電流算出器28は、各相の相電流Iu,Iv,Iwをu,v,w/d-q変換器29へ出力する。
【0027】
u,v,w/d-q変換器29は、位置推定器32より出力される電気角位相θeに基づいて、3相のU相電流Iu、V相電流Iv、W相電流Iwを、2相のd軸電流Id及びq軸電流Iqへ変換する。
【0028】
高周波除去フィルタ41は、d軸電流Idの高周波成分をd軸電流Idから除去することにより、トルク発生に寄与する駆動成分である高周波除去d軸電流Idmをd軸電流Idから抽出する。また、高周波除去フィルタ42は、q軸電流Iqの高周波成分をq軸電流Iqから除去することにより、トルク発生に寄与する駆動成分である高周波除去q軸電流Iqmをq軸電流Iqから抽出する。高周波除去フィルタ41,42は、例えば、バンドストップフィルタF(s)により実現される。高周波角周波数ωh*をバンドストップの中心周波数とするバンドストップフィルタF(s)は式(1)に従って実現可能である。
【0029】
PLL制御器31は、軸誤差Δθに基づいて、モータMの現在の推定角速度である電気角推定角速度ωeを算出する。
【0030】
位置推定器32は、電気角推定角速度ωeに基づいて電気角位相θeを推定する。
【0031】
1/Pn処理器33は、電気角推定角速度ωeをモータMの極対数Pnで除算することにより機械角推定角速度ωmを算出する。
【0032】
Pn処理器46は、機械角速度指令値ωm*にモータMの極対数Pnを乗算することに電気角速度指令値ωe*を算出する。
【0033】
高周波電圧指令値生成器43は、高周波角周波数ωh*と、モータ制御装置100aの外部(例えば、上位のコントローラ)からモータ制御装置100aへ入力される高周波電圧振幅指令値Vh*とに基づいて、d軸高周波電圧指令値Vdh*及びq軸高周波電圧指令値Vqh*を生成する。以下では、d軸高周波電圧指令値及びq軸高周波電圧指令値を「高周波電圧ベクトル」と総称することがある。高周波電圧ベクトルVdh*,Vqh*は、ロータ位置の推定に用いられる高周波電流を発生させるために生成され、ロータ位置の推定のためのトルク発生には寄与しない。つまり、ロータ位置の推定に用いられる高周波電流は、モータMへの高周波電圧ベクトルVdh*,Vqh*の印加に応じて発生する。
【0034】
加算器44は、高周波除去d軸駆動用電圧指令値Vdm*とd軸高周波電圧指令値Vdh*とを加算することによりd軸電圧指令値Vd*を算出する。加算器45は、高周波除去q軸駆動用電圧指令値Vqm*とq軸高周波電圧指令値Vqh*とを加算することによりq軸電圧指令値Vq*を算出する。以下では、d軸駆動用電圧指令値Vdm及びq軸駆動用電圧指令値Vqmを「駆動用電圧指令値Vm」と総称し、高周波除去d軸駆動用電圧指令値Vdm*及び高周波除去q軸駆動用電圧指令値Vqm*を「高周波除去駆動用電圧指令値Vm*」と総称することがある。
【0035】
駆動成分除去フィルタ50aは、機械角速度指令値ωm*と高周波角周波数ωh*とに基づいて、d軸電流Id及びq軸電流Iqから高周波電流周波数fh*帯の高周波成分以外の成分(以下では「非高周波電流」と呼ぶことがある)を除去することにより、d軸電流Idから高周波d軸電流Idhを抽出するとともに、q軸電流Iqから高周波q軸電流Iqhを抽出する。非高周波電流は、モータMの駆動に伴って発生する電流成分である。以下では、高周波d軸電流Idh及び高周波q軸電流Iqhを「高周波電流Ih」と総称することがある。
【0036】
軸誤差演算器30は、高周波d軸電流Idhと、高周波q軸電流Iqhと、高周波角周波数ωh*とに基づいて、軸誤差Δθ(実際の回転軸と推定された回転軸との差)を算出する。つまり、軸誤差演算器30は、高周波電圧ベクトルVdh*,Vqh*の印加に応じて発生する高周波電流ベクトルを用いて、d-q座標軸とd-q座標軸の推定座標軸とのズレである軸誤差Δθを算出する。
【0037】
<高周波電圧指令値生成器の構成>
図2は、本開示の実施例1の高周波電圧指令値生成器の構成例を示す図である。
図2において、高周波電圧指令値生成器43は、位相発生器43aと、余弦正弦信号発生器43bと、乗算器43cとを有する。
【0038】
位相発生器43aは、“0≦θh≦2π”の範囲で高周波角周波数ωh*を積分することにより、高周波電圧ベクトルの位相である高周波位相θhを生成する。
【0039】
余弦正弦信号発生器43bは、式(2)に従って、高周波位相θhの余弦・正弦値u(θh)を発生する。
【数2】
【0040】
乗算器43cは、余弦・正弦値u(θh)と高周波電圧振幅指令値Vh
*とに基づいて式(3)に従ってd軸高周波電圧指令値Vdh
*及びq軸高周波電圧指令値Vqh
*を生成する。
【数3】
【0041】
<軸誤差演算器の構成>
図3は、本開示の実施例1の軸誤差演算器の構成例を示す図である。
図3において、軸誤差演算器30は、同相鏡相電流ベクトル生成器301と、鏡相推定器302とを有する。軸誤差演算器30は、モータMの磁気突極性を利用し、高周波角周波数ωh
*と、高周波d軸電流Idhと、高周波q軸電流Iqhとに基づいて、軸誤差Δθを算出する。
図4は、本開示の実施例1の同相鏡相電流ベクトル生成器の構成例を示す図である。
図4において、同相鏡相電流ベクトル生成器301は、符号反転器b11と、D因子フィルタb12,b13とを有する。
【0042】
図4において、符号反転器b11は、高周波角周波数ωh
*の符号を反転し、符号反転後の高周波角周波数-ωh
*をD因子フィルタb12へ出力する。
【0043】
D因子フィルタb12,b13は、同相成分と鏡相成分とを分離・抽出するフィルタであり、D因子フィルタb12,b13におけるD因子は、単位行列Iと交代行列Jとラプラス演算子sとを用いた式(4)によって定義される。
【数4】
【0044】
D因子フィルタb12は、符号反転後の高周波角周波数-ωh*に基づいて、高周波d軸電流Idh及び高周波q軸電流Iqhに含まれる同相電流ベクトルIhpを検出する。同相電流ベクトルIhpは、高周波電圧ベクトルVdh*,Vqh*の印加に応じて発生する高周波磁束ベクトルと同方向へ回転する。
【0045】
D因子フィルタb13は、高周波角周波数ωh*に基づいて、高周波d軸電流Idh及び高周波q軸電流Iqhに含まれる鏡相電流ベクトルIhnを検出する。鏡相電流ベクトルIhnは、高周波電圧ベクトルVdh*,Vqh*の印加に応じて発生する高周波磁束ベクトルと逆方向へ回転する。
【0046】
ここで、D因子フィルタb12,b13は、2×1ベクトルの各成分であるスカラ信号に対して、周波数特性F(s+jωh*)のフィルタと等価な働きをする。よって、F(s)をローパスの特性をもつように設計してD因子フィルタb12,b13に適用することで、D因子フィルタb12,b13は、ωh*を中心周波数とするバンドパスフィルタとして機能することになる。さらに、D因子フィルタb12,b13は、極性分離の特性を有している。つまり、D因子フィルタb12,b13における極性分離のバンドパス特性により、高周波d軸電流Idh及び高周波q軸電流Iqhを同相電流ベクトルIhpと鏡相電流ベクトルIhnとに分離することができる。
【0047】
鏡相推定器302は、同相電流ベクトルIhpと鏡相電流ベクトルIhnとに基づいて、式(5)及び式(6)に従って軸誤差Δθを算出する。つまり、鏡相推定器302は、ノルムを同一化した同相電流ベクトルIhpと鏡相電流ベクトルIhnとのベクトル加算によって得られる合成ベクトルの逆正接を軸誤差Δθとして算出する。
【数5】
【数6】
【0048】
<駆動成分除去フィルタの構成>
図5は、本開示の実施例1の駆動成分除去フィルタの構成例を示す図である。
図5において、駆動成分除去フィルタ50aは、ハイパスフィルタ50a1(本発明の第一フィルタ)と、フィルタ定数算出器50a2と、ローパスフィルタ50a3(本発明の第二フィルタ)と、ノッチフィルタ50a4(本発明の第三フィルタ)とを有する。
【0049】
ここで、軸誤差演算器30が有する同相鏡相電流ベクトル生成器301はバンドパスフィルタとして機能し、バンドパスフィルタでは通過周波数帯域が広いほどフィルタの応答速度が速くなる。
【0050】
しかし、モータ制御装置100aでのキャリア周波数に基づくサンプリング回数の関係上、非高周波電流の周波数帯と高周波電流の周波数帯とを十分に離すことが困難な場合がある(理由1)。例えば、軸誤差の演算はキャリア信号の1周期毎に行われるため、高周波電流周波数fh*がキャリア周波数に近い高い値であると、高周波電流の1周期あたりのサンプリング回数が少なくなり、位置推定の精度が低下する。よって、高周波電流周波数fh*はキャリア周波数に対して十分に低い周波数(例えばキャリア周波数の20分の1の周波数)であることが好ましいためである。
【0051】
また、モータMの駆動条件(負荷・回転数等)に応じてトルク発生に寄与する駆動成分の電圧や電流の大きさが変化するため、駆動成分の電圧や電流が最大になる条件においても、駆動成分の電流(つまり、非高周波電流)を十分除去できる程度に駆動成分周波数帯(つまり、高周波電流周波数fh*帯以外の周波数帯)の減衰量を保証する必要がある(理由2)。
【0052】
さらに、モータの駆動に伴って、主にモータのコギングトルクに起因して、モータの回転速度に応じた高周波の電流成分が発生する。以下では、モータのコギングトルクに起因して発生する高周波の電流成分を「コギング電流」と呼ぶことがある。コギング電流の周波数の次数は、モータMのロータの極数(以下では「ロータ極数」と呼ぶことがある)と、モータMのスロット数(以下では「モータスロット数」と呼ぶことがある)とに応じて定まる。例えば、モータMがP極Sスロットのモータである場合には、PとSの最小公倍数の周波数のコギング電流が発生する。さらに、PとSの最小公倍数の2分の1倍、2倍、3倍、…、n倍の次数の周波数のコギング電流も発生する。例えば、モータMが6極9スロットのモータである場合、6と9との最小公倍数である18次の周波数の他、6と9との最小公倍数の2分の1倍の9次の周波数、及び、36次、54次、…という18×n次の周波数のコギング電流が発生する。このようなコギング電流は位置推定精度を低下させるため、コギング電流を十分除去できる減衰量を保証する必要がある(理由3)。
【0053】
そして、上記の理由1,2,3から、バンドパスフィルタとしての同相鏡相電流ベクトル生成器301の通過周波数帯域を狭くする必要が生じ、同相鏡相電流ベクトル生成器301でのフィルタ応答速度が遅くなってしまう。
【0054】
そこで、同相鏡相電流ベクトル生成器301へ高周波d軸電流Idh及び高周波q軸電流Iqhを入力するために、駆動成分除去フィルタ50aは、
図5に示すように、ハイパスフィルタ50a1と、フィルタ定数算出器50a2と、ローパスフィルタ50a3と、ノッチフィルタ50a4とを有する。高周波d軸電流Idh及び高周波q軸電流Iqhが同相鏡相電流ベクトル生成器301へ入力されることにより、同相鏡相電流ベクトル生成器301へ入力される電流が、ロータ位置の推定のための高周波電圧によって発生する高周波電流のみとなる。このように、ハイパスフィルタ50a1と、ローパスフィルタ50a3と、ノッチフィルタ50a4とを組み合わせてバンドパスフィルタを構成することで、バンドパスフィルタとしての同相鏡相電流ベクトル生成器301の通過周波数帯域を広くすることが可能になるため、同相鏡相電流ベクトル生成器301として狭い通過周波数帯域のバンドパスフィルタを用いる場合に比べて、フィルタ応答速度を速くすることができる。
【0055】
図5において、ハイパスフィルタ50a1は、モータMのトルク発生に寄与する駆動用の電流成分(以下では「駆動電流」と呼ぶことがある)Imをd軸電流Id及びq軸電流Iqから除去することにより、駆動電流Imの除去後の駆動電流除去d軸電流Id1及び駆動電流除去q軸電流Iq1を得る。駆動電流Imは、駆動用電圧指令値Vmによって、モータMの駆動に伴って発生する電流成分である。例えば、ハイパスフィルタ50a1の通過周波数帯域を、機械角速度指令値ωm
*より十分大きい周波数以上(例えば機械角速度指令値ωm
*の4倍以上の周波数)の周波数帯とするのが好ましい。
【0056】
ハイパスフィルタ50a1によって駆動電流Imの除去が行われると、高周波電流(駆動電流除去d軸電流Id1及び駆動電流除去q軸電流Iq1)に位相ズレが発生する。式(7)にハイパスフィルタ50a1の位相特性θhighを示す。式(7)において、“HIGH_a
0”はハイパスフィルタ50a1の所定のフィルタ定数である。式(7)より、ハイパスフィルタ50a1において発生する高周波電流周波数fh
*帯の位相ズレの量を把握可能である。
【数7】
【0057】
一方で、ローパスフィルタ50a3の高周波電流周波数fh
*帯の位相特性θlowは式(8)によって表される。式(8)において、“LOW_a
0”はローパスフィルタ50a3のフィルタ定数である。
【数8】
【0058】
そこで、フィルタ定数算出器50a2は、式(9)及び式(10)に従って、高周波角周波数ωh
*と、ハイパスフィルタ50a1のフィルタ定数HIGH_a
0とに基づいて、ローパスフィルタ50a3のフィルタ定数LOW_a
0を算出する。フィルタ定数LOW_a
0は、高周波角周波数ωh
*の変化に伴って随時更新される。フィルタ定数算出器50a2によって算出されたフィルタ定数LOW_a
0がローパスフィルタ50a3に設定される。
【数9】
【数10】
【0059】
ローパスフィルタ50a3は、フィルタ定数算出器50a2によって算出されたフィルタ定数LOW_a0を用いて、駆動電流除去d軸電流Id1及び駆動電流除去q軸電流Iq1に対するフィルタリング処理を行う。これにより、駆動電流除去d軸電流Id1及び駆動電流除去q軸電流Iq1に生じた位相ズレが補償されるとともに、駆動電流除去d軸電流Id1及び駆動電流除去q軸電流Iq1から高周波ノイズInoiseが除去される。高周波ノイズInoiseは、モータMの駆動に伴って、高周波電流Ihの周波数より高い周波数帯に発生する。ローパスフィルタ50a3は、フィルタリング処理後のノイズ除去d軸電流Id2及びノイズ除去q軸電流Iq2をノッチフィルタ50a4へ出力する。
【0060】
ノッチフィルタ50a4は、ノイズ除去d軸電流Id2及びノイズ除去q軸電流Iq2からコギング周波数fcogのコギング電流を除去することにより高周波d軸電流Idh及び高周波q軸電流Iqhを得る。コギング周波数fcogは、式(11)に示すように、ロータ極数Pとモータスロット数Sとの最小公倍数と機械角速度指令値ωm
*との乗算結果を2πで除算することにより算出され、コギング周波数fcogがノッチフィルタ50a4の減衰域の中心周波数として設定される。コギング周波数fcogは、機械角速度指令値ωm
*の変化に伴って随時更新される。
【数11】
【0061】
以上のようにして、駆動成分除去フィルタ50aは、d軸電流Id及びq軸電流Iqから非高周波電流を除去することにより高周波電流Ihを得る。例えば、駆動電流Im、高周波ノイズInoise及びコギング電流が、モータMの駆動に伴って発生する電流成分である非高周波電流に該当する。
【0062】
<駆動成分除去フィルタの動作>
図6、
図7、
図8及び
図9は、本開示の実施例1の駆動成分除去フィルタの動作例を示す図である。駆動成分除去フィルタ50aに入力されるd軸電流Id及びq軸電流Iqには、駆動電流Im、コギング電流、高周波電流Ih、及び、高周波ノイズInoiseが含まれる。
【0063】
図6に示すように、ハイパスフィルタ50a1は、例えば機械角速度指令値ωm
*の4倍の周波数をカットオフ周波数として、d軸電流Id及びq軸電流Iqから駆動電流Imを除去する。
【0064】
次いで、ローパスフィルタ50a3は、フィルタ定数算出器50a2によって算出されたフィルタ定数LOW_a
0を用いて、駆動電流除去d軸電流Id1及び駆動電流除去q軸電流Iq1に生じた位相ズレを補償する。また、位相ズレが補償されるのと同時に、
図7に示すように、駆動電流除去d軸電流Id1及び駆動電流除去q軸電流Iq1から高周波ノイズInoiseが除去される。
【0065】
次いで、
図8に示すように、ノッチフィルタ50a4は、コギング周波数fcogを減衰域の中心周波数として、ノイズ除去d軸電流Id2及びノイズ除去q軸電流Iq2からコギング周波数fcogのコギング電流を除去する。
【0066】
ハイパスフィルタ50a1、ローパスフィルタ50a3及びノッチフィルタ50a4における上記のようなフィルタリング処理により、
図9に示すように、d軸電流Id及びq軸電流Iqから高周波電流Ihが抽出される。
【0067】
以上のように、ハイパスフィルタ50a1によって駆動電流Imが除去されるため、同相鏡相電流ベクトル生成器301に入力される電流には駆動電流Imが含まれなくなる。これにより、バンドパスフィルタとしての同相鏡相電流ベクトル生成器301の通過周波数帯域を広くすることができるため、同相鏡相電流ベクトル生成器301でのフィルタ応答速度を低下させることなく、ロータ位置の推定を正確に行うことができる。
【0068】
また、式(10)に従って算出されるフィルタ定数LOW_a0を用いてローパスフィルタ50a3がフィルタリング処理を行うため、同相鏡相電流ベクトル生成器301に入力される電流に位相ズレが生じることを防止できるので、位置推定精度の低下をさらに防止することができる。また、ローパスフィルタ50a3によって高周波ノイズInoiseが除去されるため、位置推定精度の低下を防止することができる。
【0069】
また、ノッチフィルタ50a4によってコギング電流が除去されるため、位置推定精度の低下をさらに防止することができる。
【0070】
<高周波電圧除去フィルタの動作>
軸誤差の演算はキャリア信号の1周期毎に行われるため、高周波電流周波数fh*がキャリア周波数に近い高い値であると、高周波電流の1周期あたりのサンプリング回数が少なくなり、位置推定の精度が低下する。よって、高周波電流周波数fh*はキャリア周波数に対して十分に低い周波数(例えばキャリア周波数の20分の1の周波数)であることが好ましい。このため、非高周波電流の周波数帯と高周波電流の周波数帯とを十分に離すことが困難な場合がある。
【0071】
また、コギング電流の発生により、d軸高周波電圧指令値Vdh*及びq軸高周波電圧指令値Vqh*が重畳される前の駆動用電圧指令値Vmにすでに高周波電流周波数fh*付近の揺れが存在する可能性がある。駆動用電圧指令値Vmに高周波電流周波数fh*付近の揺れが存在すると、ロータ位置の推定のためにモータMに印加される高周波電圧ベクトルがd-q座標軸上で真円を描かなくなってしまい、位置推定精度が低下する。
【0072】
そこで、式(1)に従って実現される高周波電圧除去フィルタ61,62は、
図10に示すように、高周波電流周波数fh
*を減衰域の中心周波数として、高周波電流周波数fh
*帯の高周波成分を駆動用電圧指令値Vmから除去することにより、
図11に示すように、駆動用電圧指令値Vmから高周波除去駆動用電圧指令値Vm
*を抽出する。
図10及び
図11は、本開示の実施例1の高周波電圧除去フィルタの動作例を示す図である。駆動用電圧指令値Vmから高周波電流周波数fh
*帯の高周波成分が除去されることにより、ロータ位置の推定のためにモータMに印加される高周波電圧ベクトルがd-q座標軸上で真円を描くようになるため、位置推定精度の低下を防止することができる。
【0073】
なお、電流制御器20へ入力される電流から高周波電圧の周波数付近の周波数帯の電流成分のすべてを除去するために高周波除去フィルタ41,42の遮断帯域を広くすることが考えられる。しかし、例えばノッチフィルタ等を用いて高周波成分を除去する場合、遮断帯域を広くすると、除去しない電流成分に位相ズレが発生する。この位相ズレは、フィルタの遮断帯域を広くするほど大きくなる。また、電流制御器20の応答を遅くすることにより高周波成分を生成しないようにすることも考えられる。しかし、電流制御器20の応答を遅くすると、モータMの駆動制御の安定性が低下してしまう。よって、モータMの駆動制御に大きな影響を与えないように、電流制御器20と加算器44,45との間に高周波除去フィルタ61,62を設けることが好ましい。
【0074】
以上、実施例1について説明した。
【0075】
[実施例2]
実施例2では、機械角推定角速度ωmの変動成分除去後の機械角推定角速度ωm_iirに基づいてフィルタリング処理を行う点が実施例1と相違する。以下、実施例1と異なる点について説明する。
【0076】
<モータ制御装置の構成>
図12は、本開示の実施例2のモータ制御装置の構成例を示す図である。
図12において、モータ制御装置100bは、IIRフィルタ51と、駆動成分除去フィルタ50bとを有する。
【0077】
IIRフィルタ51は、1/Pn処理器33より出力される機械角推定角速度ωmの変動成分を除去し、変動成分除去後の機械角推定角速度ωm_iirを駆動成分除去フィルタ50bへ出力する。
【0078】
駆動成分除去フィルタ50bは、機械角推定角速度ωm_iirと高周波角周波数ωh*とに基づいて、d軸電流Id及びq軸電流Iqから非高周波電流を除去することにより、d軸電流Id及びq軸電流Iqから高周波電流Ihを抽出する。
【0079】
<駆動成分除去フィルタの構成>
図13は、本開示の実施例2の駆動成分除去フィルタの構成例を示す図である。
図13において、駆動成分除去フィルタ50bは、ハイパスフィルタ50a1と、フィルタ定数算出器50a2と、ローパスフィルタ50a3と、ノッチフィルタ50b4(本発明の第三フィルタ)とを有する。
【0080】
図13において、ノッチフィルタ50b4は、ノイズ除去d軸電流Id2及びノイズ除去q軸電流Iq2からコギング周波数fcogのコギング電流を除去することにより高周波d軸電流Idh及び高周波q軸電流Iqhを得る。コギング周波数fcogは、式(12)に示すように、ロータ極数Pとモータスロット数Sとの最小公倍数と機械角推定角速度ωm_iirとの乗算結果を2πで除算することにより算出される。
【数12】
【0081】
以上のようにして、駆動成分除去フィルタ50bは、実施例1の駆動成分除去フィルタ50aと同様に、d軸電流Id及びq軸電流Iqから非高周波電流を除去することにより高周波電流Ihを得る。
【0082】
以上のように、モータMの回転速度を表すパラメータとして機械角速度指令値ωm*の替わりに機械角推定角速度ωm_iirを用いてフィルタリング処理を行っても、実施例1と同様に、位置推定精度の低下を防止することができる。
【0083】
以上、実施例2について説明した。
【0084】
以上のように、本開示のモータ制御装置(実施例のモータ制御装置100a,100b)は、算出器(実施例の加算器44,45)と、軸誤差演算器(実施例の軸誤差演算器30)と、電流算出器(実施例の3φ電流算出器28)と、変換器(実施例のu,v,w/d-q変換器29)と、駆動成分除去フィルタ(実施例の駆動成分除去フィルタ50a,50b)とを有する。算出器は、モータ(実施例のモータM)を所望の回転数で駆動するための駆動用電圧指令値(実施例のd軸駆動用電圧指令値Vdm,q軸駆動用電圧指令値Vqm)と、モータのロータ位置の推定に用いられる高周波電流(実施例の高周波電流Ih)を発生させるための高周波電圧指令値(実施例のd軸高周波電圧指令値Vdh*,q軸高周波電圧指令値Vqh*)とに基づいて電圧指令値(実施例のd軸電圧指令値Vd*,q軸電圧指令値Vq*)を算出する。軸誤差演算器は、高周波電圧指令値の印加に応じて発生する高周波電流を用いて軸誤差(実施例の軸誤差Δθ)を算出する。電流算出器は、高周波電流を含む3相電流を算出する。変換器は、3相電流を高周波電流を含む2相電流に変換する。駆動成分除去フィルタは、モータの駆動に伴って発生する電流成分(実施例の非高周波電流)を2相電流から除去することにより2相電流から高周波電流を抽出する。
【0085】
例えば、駆動成分除去フィルタは、駆動用電圧指令値によって発生する電流成分(実施例の駆動電流Im)を除去する第一フィルタ(実施例のハイパスフィルタ50a1)を有する。
【0086】
また例えば、駆動成分除去フィルタは、第一フィルタによって高周波電流に発生する位相ズレを補償するとともに、高周波電流の周波数より高い周波数帯の高周波ノイズ(実施例の高周波ノイズInoise)を除去する第二フィルタ(実施例のローパスフィルタ50a3)をさらに有する。
【0087】
また例えば、駆動成分除去フィルタは、モータのロータの極数とモータのスロット数との最小公倍数とモータの回転速度(実施例の機械角速度指令値ωm*,機械角推定角速度ωm_iir)との乗算結果を2πで除算することにより算出される周波数(実施例のコギング周波数)に基づく周波数帯の電流成分(実施例のコギング電流)を除去する第三フィルタ(実施例のノッチフィルタ50a4,50b4)をさらに有する。
【0088】
また、本開示のモータ制御装置(実施例のモータ制御装置100a,100b)は、駆動用電圧指令値から高周波成分を除去する高周波電圧除去フィルタ(実施例の高周波電圧除去フィルタ61,62)をさらに有する。
【符号の説明】
【0089】
100a,100b モータ制御装置
50a,50b 駆動成分除去フィルタ
50a1 ハイパスフィルタ
50a2 フィルタ定数算出器
50a3 ローパスフィルタ
50a4,50b4 ノッチフィルタ
61,62 高周波電圧除去フィルタ