IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社富士通ゼネラルの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023151139
(43)【公開日】2023-10-16
(54)【発明の名称】モータ制御装置
(51)【国際特許分類】
   H02P 6/18 20160101AFI20231005BHJP
【FI】
H02P6/18
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022060586
(22)【出願日】2022-03-31
(71)【出願人】
【識別番号】000006611
【氏名又は名称】株式会社富士通ゼネラル
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】齋藤 由樹
【テーマコード(参考)】
5H560
【Fターム(参考)】
5H560AA02
5H560BB04
5H560BB12
5H560DA12
5H560DB20
5H560DC12
5H560JJ12
5H560TT02
5H560TT08
5H560XA02
5H560XA04
5H560XA06
5H560XA12
5H560XA13
(57)【要約】
【課題】モータの騒音を抑えつつ、高周波電流を用いてロータ位置を推定すること。
【解決手段】モータ制御装置100dにおいて、位置推定器32、PLL制御器31及び軸誤差演算器30は、高周波電圧がモータMに印加されることにより発生する高周波電流に基づいて、モータMが有するロータの位置を推定し、高周波周波数算出器81、印加方法判定器82及び高周波電圧指令値生成器43は、モータに印加する高周波電圧により発生する側帯波の周波数を変えつつ高周波電圧をモータに印加する。
【選択図】図13
【特許請求の範囲】
【請求項1】
高周波電圧がモータに印加されることにより発生する高周波電流に基づいて、前記モータが有するロータの位置を推定する推定器と、
前記高周波電圧を前記モータに印加する印加部と、を備え、
前記印加部は、前記高周波電圧により発生する側帯波の周波数を変えることができる、
モータ制御装置。
【請求項2】
前記印加部は、異なる波形の高周波電圧を印加することで、前記側帯波の周波数を変える、
請求項1に記載のモータ制御装置。
【請求項3】
前記印加部は、複数の印加方法のうち、高周波電圧の印加に用いる印加方法を変えることで前記異なる波形の高周波電圧を印加する、
請求項2に記載のモータ制御装置。
【請求項4】
前記印加部は、前記複数の印加方法のうち、前記側帯波が前記モータの固有振動数の周波数帯に重ならない印加方法を用いて前記モータに前記高周波電圧を印加する、
請求項3に記載のモータ制御装置。
【請求項5】
前記複数の印加方法は、前記高周波電圧の位相が変化することなく連続して前記モータに印加される第一印加方法を含み、
前記印加部は、前記高周波電圧の周波数が前記固有振動数よりも所定値以上低い場合に、前記第一印加方法を用いて前記モータに前記高周波電圧を印加する、
請求項4に記載のモータ制御装置。
【請求項6】
前記複数の印加方法は、前記高周波電圧が連続して印加されるとともに、前記高周波電圧として、第一の高周波電圧と、前記第一の高周波電圧に対して逆位相となる第二の高周波電圧とが交互に前記モータに印加される第二印加方法を含む、
請求項4に記載のモータ制御装置。
【請求項7】
前記印加部は、前記高周波電圧の周波数が前記固有振動数よりも所定値以上低くない場合であって、かつ、前記第二印加方法を用いて前記モータに前記高周波電圧を印加した場合の前記側帯波が前記固有振動数の周波数帯に重ならない場合に、前記第二印加方法を用いて前記モータに前記高周波電圧を印加する、
請求項6に記載のモータ制御装置。
【請求項8】
前記複数の印加方法は、前記高周波電圧が前記モータに断続的に印加される第三印加方法を含む、
請求項4に記載のモータ制御装置。
【請求項9】
前記複数の印加方法は、前記高周波電圧が前記モータに断続的に印加されるとともに、前記高周波電圧が前記モータに印加される区間ごとに、前記高周波電圧として、第一の高周波電圧と、前記第一の高周波電圧に対して逆位相となる第二の高周波電圧とが交互に前記モータに印加される第四印加方法を含む、
請求項4に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、モータ制御装置に関する。
【背景技術】
【0002】
交流モータのためのセンサレスベクトル制御におけるロータ位置の推定技術の一つとして、トルク発生に寄与しない高周波電圧をモータに印加し、検出電流に含まれる高周波成分(以下では「高周波電流」と呼ぶことがある)を用いてロータ位置の推定を行う技術がある。この技術では、高周波電圧の印加に応じて発生する高周波磁束ベクトルと同方向へ回転する同相電流ベクトルと、高周波磁束ベクトルとは逆方向へ回転する鏡相電流ベクトルとに基づいてロータ位置を推定する(特許文献1)。以下では、同相電流ベクトルと鏡相電流ベクトルを総称して「同相鏡相電流ベクトル」と呼ぶことがある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002-171799号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、高周波電流がモータに流れると騒音が発生する。
【0005】
そこで、本開示では、モータの騒音を抑えつつ、高周波電流を用いてロータ位置を推定することができる技術を提案する。
【課題を解決するための手段】
【0006】
本開示のモータ制御装置は、推定器と、印加部とを有する。前記推定器は、高周波電圧がモータに印加されることにより発生する高周波電流に基づいて、前記モータが有するロータの位置を推定する。前記印加部は、前記高周波電圧を前記モータに印加する。また、前記印加部は、前記高周波電圧により発生する側帯波の周波数を変えることができる。
【発明の効果】
【0007】
本開示によれば、モータの騒音を抑えつつ、高周波電流を用いてロータ位置を推定することができる。
【図面の簡単な説明】
【0008】
図1図1は、本開示の実施例1のモータ制御装置の構成例を示す図である。
図2図2は、本開示の実施例1の騒音低減指令生成器の構成例を示す図である。
図3図3は、本開示の実施例1の高周波電圧指令値生成器の動作例を示す図である。
図4図4は、本開示の実施例1の駆動成分除去フィルタの構成例を示す図である。
図5図5は、本開示の実施例1の軸誤差演算器の構成例を示す図である。
図6図6は、本開示の実施例1の同相鏡相電流ベクトル生成器の構成例を示す図である。
図7図7は、本開示の実施例2のカウント算出器、指令生成器及び高周波電圧指令値生成器の動作例を示す図である。
図8図8は、本開示の実施例3のカウント算出器、指令生成器及び高周波電圧指令値生成器の動作例を示す図である。
図9図9は、本開示の実施例4の高周波電圧指令値生成器の動作例を示す図である。
図10図10は、本開示の実施例5の軸誤差演算器の構成例を示す図である。
図11図11は、本開示の実施例6のモータ制御装置の構成例を示す図である。
図12図12は、本開示の実施例7のモータ制御装置の構成例を示す図である。
図13図13は、本開示の実施例8のモータ制御装置の構成例を示す図である。
図14図14は、本開示の実施例8の高周波周波数算出器における処理手順の一例を示すフローチャートである。
図15図15は、本開示の実施例8の高周波周波数算出器の動作例を示す図である。
図16図16は、本開示の実施例8の印加方法判定器、騒音低減指令生成器及び高周波電圧指令値生成器の動作例の説明に供する図である。
図17図17は、本開示の実施例8の印加方法判定器、騒音低減指令生成器及び高周波電圧指令値生成器の動作例の説明に供する図である。
図18図18は、本開示の実施例8の印加方法判定器、騒音低減指令生成器及び高周波電圧指令値生成器の動作例の説明に供する図である。
図19図19は、本開示の実施例8の印加方法判定器、騒音低減指令生成器及び高周波電圧指令値生成器の動作例の説明に供する図である。
図20図20は、本開示の実施例8の印加方法判定器、騒音低減指令生成器及び高周波電圧指令値生成器の動作例の説明に供する図である。
図21図21は、本開示の実施例8の印加方法判定器、騒音低減指令生成器及び高周波電圧指令値生成器の動作例の説明に供する図である。
図22図22は、本開示の実施例8の印加方法判定器、騒音低減指令生成器及び高周波電圧指令値生成器の動作例の説明に供する図である。
図23図23は、本開示の実施例8の印加方法判定器、騒音低減指令生成器及び高周波電圧指令値生成器の動作例の説明に供する図である。
【発明を実施するための形態】
【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は、高周波電圧指令値生成器43と、Pn処理器46と、駆動成分除去フィルタ61と、騒音低減指令生成器71と、高周波電流減算器41と、位相発生器42とを有する。高周波電流減算器41は、減算器41a,41bを有する。
【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は、高周波電流減算器41より出力される高周波除去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】
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の現在のロータ位置を示す。
【0023】
PWM変調器24は、U相出力電圧指令値Vu、V相出力電圧指令値Vv、W相出力電圧指令値Vwと、PWMキャリア信号とに基づいて、6相のPWM信号を生成し、生成した6相のPWM信号をIPM25へ出力する。
【0024】
IPM25は、PWM変調器24より出力される6相のPWM信号に基づいて、直流電圧VdcからU相、V相、W相の3相の交流電圧を生成し、生成した3相それぞれの交流電圧をモータMのU相、V相、W相へ印加する。
【0025】
3φ電流算出器28は、シャント抵抗26を用いた1シャント方式で母線電流が検出される場合、PWM変調器24より出力される6相のPWMスイッチング情報と、検出された母線電流とから、モータMのU相電流Iu、V相電流Iv、W相電流Iw(つまり、モータMの巻線に流れる電流)を算出する。または、3φ電流算出器28は、電流センサ27a,27bでU相電流及びV相電流が検出される場合、残りのW相電流Iwを“Iu+Iv+Iw=0”のキルヒホッフの法則に基づいて算出する。3φ電流算出器28は、各相の相電流Iu,Iv,Iwをu,v,w/d-q変換器29へ出力する。
【0026】
u,v,w/d-q変換器29は、位置推定器32より出力される電気角位相θeに基づいて、3相のU相電流Iu、V相電流Iv、W相電流Iwを、2相のd軸電流Id及びq軸電流Iqへ変換する。
【0027】
PLL制御器31は、軸誤差演算器30より出力される軸誤差Δθに基づいて、モータMの現在の推定角速度である電気角推定角速度ωeを算出する。
【0028】
位置推定器32は、電気角推定角速度ωeに基づいて電気角位相θeを推定する。
【0029】
1/Pn処理器33は、電気角推定角速度ωeをモータMの極対数Pnで除算することにより機械角推定角速度ωmを算出する。
【0030】
Pn処理器46は、機械角速度指令値ωmにモータMの極対数Pnを乗算することに電気角速度指令値ωeを算出する。
【0031】
高周波電圧指令値生成器43は、d軸高周波電圧指令値Vdh及びq軸高周波電圧指令値Vqhを生成する。以下では、d軸高周波電圧指令値及びq軸高周波電圧指令値を「高周波電圧ベクトル」と総称することがある。
【0032】
位相発生器42は、高周波電圧の角周波数(以下では「高周波角周波数」と呼ぶことがある)ωhを“0≦ωht≦2π”の範囲で積分することにより、高周波電圧ベクトルの位相である高周波位相ωhtを生成する。高周波角周波数ωhは、モータ制御装置100aの外部(例えば、上位のコントローラ)からモータ制御装置100aへ入力される。
【0033】
高周波電圧指令値生成器43は、騒音低減指令生成器71から入力される印加方法指令signal_noise_methodと、高周波位相ωhtと、モータ制御装置100aの外部(例えば、上位のコントローラ)からモータ制御装置100aへ入力される高周波電圧振幅指令値Vhとに基づいて、d軸高周波電圧指令値Vdh及びq軸高周波電圧指令値Vqhを生成する。高周波電圧ベクトル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」と総称することがある。
【0035】
駆動成分除去フィルタ61は、機械角速度指令値ωmと高周波角周波数ωhとに基づいて、高周波成分以外の成分をd軸電流Idから除去することにより、d軸電流Idから高周波d軸電流Idhを抽出する。また、駆動成分除去フィルタ61は、機械角速度指令値ωmと高周波角周波数ωhとに基づいて、高周波成分以外の成分をq軸電流Iqから除去することにより、q軸電流Iqから高周波q軸電流Iqhを抽出する。以下では高周波成分以外の成分を「非高周波電流」と呼ぶことがある。非高周波電流は、モータMの駆動に伴って発生する電流成分である。以下では、高周波d軸電流Idh及び高周波q軸電流Iqhを「高周波電流Ih」と総称することがある。
【0036】
軸誤差演算器30は、騒音低減指令生成器71から入力される印加方法指令signal_noise_methodと、高周波d軸電流Idhと、高周波q軸電流Iqhと、高周波角周波数ωhとに基づいて、軸誤差Δθ(実際の回転軸と推定された回転軸との差)を算出する。つまり、軸誤差演算器30は、高周波電圧ベクトルVdh,Vqhの印加に応じて発生する高周波電流ベクトルを用いて、d-q座標軸とd-q座標軸の推定座標軸とのズレである軸誤差Δθを算出する。
【0037】
つまり、位置推定器32、PLL制御器31及び軸誤差演算器30によって、高周波電圧がモータMに印加されることにより発生する高周波電流に基づいて、モータMが有するロータの位置が推定される。
【0038】
減算器41aは、d軸電流Idから高周波d軸電流Idhを減算することにより高周波除去d軸電流Idmを算出する。減算器41bは、q軸電流Iqから高周波q軸電流Iqhを減算することにより高周波除去q軸電流Iqmを算出する。つまり、減算器41は、駆動成分除去フィルタ61によって抽出された高周波電流Ihをd軸電流Id及びq軸電流Iqから減算することにより、d軸電流Id及びq軸電流IqからモータMの駆動電流を抽出する。
【0039】
<騒音低減指令生成器の構成>
図2は、本開示の実施例1の騒音低減指令生成器の構成例を示す図である。本実施例のモータ制御装置は高周波電圧をモータMに断続的に印加する。図2において、騒音低減指令生成器71は、カウント算出器71aと、指令生成器71bとを有する。騒音低減指令生成器71は、モータMのロータ位置の推定(以下では「位置推定」と呼ぶことがある)のために高周波電圧を印加するタイミングと、騒音低減のために高周波電圧を印加しないタイミングとを設定する。
【0040】
カウント算出器71aは、所定の制御周期毎に、高周波位相ωhtに基づいて、騒音低減用カウントsignal_countを算出する。ここで、高周波位相ωhtは0から2πを1周期として繰り返し生成されている。カウント算出器71aは、今回の制御周期で生成された高周波位相ωhtが前回の制御周期で生成された高周波位相ωht_old未満である場合、つまり、高周波位相ωhtが2πに到達し0に戻った場合に、高周波位相ωhtの1周期が経過したと判断し、騒音低減用カウントsignal_countを1増やす(以下では「インクリメントする」と言うこともある)。ここで、任意の期間を設定したとき、高周波位相ωhtの1周期を1区間として、高周波電圧がモータMに印加される区間(以下では「有印加区間」と呼ぶことがある)の数(以下では「有印加区間数」と呼ぶことがある)Xに対し、高周波電圧がモータMに印加されない区間(以下では「無印加区間」と呼ぶことがある)の数(以下では「無印加区間数」と呼ぶことがある)Yが騒音低減指令生成器71に設定されている。カウント算出器71aは、騒音低減用カウントsignal_countを1からX+Yまでインクリメントし、騒音低減用カウントsignal_countがX+Yに達したときに騒音低減用カウントsignal_countを1にリセットする。
【0041】
指令生成器71bは、騒音低減用カウントsignal_countに基づいて、印加方法指令signal_noise_methodを生成する。印加方法指令signal_noise_methodによって高周波電圧の印加の有無が示される。指令生成器71bは、騒音低減用カウントsignal_countがX以下のときは印加方法指令signal_noise_methodを“SIGNAL_ON(0)”に設定する一方で、騒音低減用カウントsignal_countがXより大きいときは印加方法指令signal_noise_methodを“SIGNAL_OFF(1)”に設定する。
【0042】
<高周波電圧指令値生成器の動作>
図3は、本開示の実施例1の高周波電圧指令値生成器の動作例を示す図である。図3には、高周波位相ωhtの1周期を1区間として、有印加区間数Xを“3”に設定するのに対して、無印加区間数Yを“1”に設定した場合を一例として示す。よって、カウント算出器71aは、騒音低減用カウントsignal_countを高周波位相ωhtの1周期毎に1から4までインクリメントし、騒音低減用カウントsignal_countが4に達したときに騒音低減用カウントsignal_countを1にリセットする。また、指令生成器71bは、騒音低減用カウントsignal_countが3以下のときは印加方法指令signal_noise_methodを“SIGNAL_ON(0)”に設定する一方で、騒音低減用カウントsignal_countが3より大きいときは印加方法指令signal_noise_methodを“SIGNAL_OFF(1)”に設定する。
【0043】
高周波電圧指令値生成器43には、印加方法指令signal_noise_methodが入力される。高周波電圧指令値生成器43は、以下のように、印加方法指令signal_noise_methodに従って、高周波電圧振幅指令値Vhと、高周波位相ωhtとに基づいて、d軸高周波電圧指令値Vdh及びq軸高周波電圧指令値Vqhを生成する。
【0044】
高周波電圧指令値生成器43は、騒音低減指令生成器71から入力される印加方法指令signal_noise_methodが“SIGNAL_ON(0)”に設定されているときは、式(1)に従ってd軸高周波電圧指令値Vdh及びq軸高周波電圧指令値Vqhを生成する。
【数1】
【0045】
一方で、高周波電圧指令値生成器43は、騒音低減指令生成器71から入力される印加方法指令signal_noise_methodが“SIGNAL_OFF(1)”に設定されているときは、式(2)に従ってd軸高周波電圧指令値Vdh及びq軸高周波電圧指令値Vqhを生成する。つまり、印加方法指令signal_noise_methodが“SIGNAL_OFF(1)”に設定されているときは、高周波電圧指令値生成器43はd軸高周波電圧指令値Vdh及びq軸高周波電圧指令値Vqhを0にするため、モータMに高周波電圧は印加されない。
【数2】
【0046】
よって、有印加区間数Xが“3”に設定されているのに対して、無印加区間数Yが“1”に設定されている場合は、図3に示すように、第1周期T1~第3周期T3の3区間で高周波電圧がモータMに印加された後、第4周期T4の1区間で高周波電圧がモータMに印加されない。以降、同様に、第5周期T5~第7周期T7の3区間で高周波電圧がモータMに印加された後、第8周期T8の1区間で高周波電圧がモータMに印加されない。また、第9周期T9~第11周期T11の3区間で高周波電圧がモータMに印加される。このように、高周波電圧指令値生成器43は、高周波電圧をモータMに断続的に印加する。例えば図3に示すように、高周波電圧指令値生成器43は、高周波電圧をモータMに印加しない区間を高周波位相ωhtの3周期に相当する所定時間毎に設ける。また、図3に示すように高周波位相ωhtの1周期は高周波電圧の1周期に相当するため、高周波電圧指令値生成器43は、例えば図3に示すように、高周波電圧をモータMに印加しない区間を高周波電圧の3周期毎に設けても良い。なお、有印加区間数Xを無印加区間数Yに対して大きく設定するほど位置推定の精度は高くなり、モータMの制御が不安定になってしまうことを防止できる一方で、無印加区間数Yを無印加区間数Xに対して大きく設定するほど騒音を抑える効果は大きくなる。したがって、有印加区間数Xと無印加区間数Yは、制御の安定性と騒音の抑制の効果を満足できるように、予め実験等により適切な大きさに設定すれば良い。
【0047】
このように無印加区間を設けることにより、モータMの時間平均での騒音レベルを低減することができるため、モータMの騒音を抑えることができる。
【0048】
<駆動成分除去フィルタの構成>
図4は、本開示の実施例1の駆動成分除去フィルタの構成例を示す図である。図4において、駆動成分除去フィルタ61は、ハイパスフィルタ61aと、ローパスフィルタ61bと、ノッチフィルタ61cと、フィルタ定数算出器61dとを有する。
【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を入力するために、駆動成分除去フィルタ61は、図4に示すように、ハイパスフィルタ61aと、ローパスフィルタ61bと、ノッチフィルタ61cと、フィルタ定数算出器61dとを有する。高周波d軸電流Idh及び高周波q軸電流Iqhが同相鏡相電流ベクトル生成器301へ入力されることにより、同相鏡相電流ベクトル生成器301へ入力される電流が、ロータ位置の推定のための高周波電圧によって発生する高周波電流のみとなる。このように、ハイパスフィルタ61aと、ローパスフィルタ61bと、ノッチフィルタ61cとを組み合わせてバンドパスフィルタを構成することで、バンドパスフィルタとしての同相鏡相電流ベクトル生成器301の通過周波数帯域を広くすることが可能になるため、同相鏡相電流ベクトル生成器301として狭い通過周波数帯域のバンドパスフィルタを用いる場合に比べて、フィルタ応答速度を速くすることができる。
【0055】
図4において、ハイパスフィルタ61aは、モータMのトルク発生に寄与する駆動用の電流成分(以下では「駆動電流」と呼ぶことがある)Imをd軸電流Id及びq軸電流Iqから除去することにより、駆動電流Imの除去後の駆動電流除去d軸電流Id1及び駆動電流除去q軸電流Iq1を得る。駆動電流Imは、駆動用電圧指令値VmによるモータMの駆動に伴って発生する電流成分である。例えば、ハイパスフィルタ61aの通過周波数帯域を、機械角速度指令値ωmより十分大きい周波数以上(例えば機械角速度指令値ωmの4倍以上の周波数)の周波数帯とするのが好ましい。
【0056】
ハイパスフィルタ61aによって駆動電流Imの除去が行われると、高周波電流(駆動電流除去d軸電流Id1及び駆動電流除去q軸電流Iq1)に位相ズレが発生する。式(3)にハイパスフィルタ61aの1次の位相特性θhighを示す。式(3)において、“HIGH_a”はハイパスフィルタ61aのフィルタ定数である。式(3)より、ハイパスフィルタ61aにおいて発生する高周波電流周波数fh帯の位相ズレの量を把握可能である。
【数3】
【0057】
一方で、ローパスフィルタ61bの高周波電流周波数fh帯の1次の位相特性θlowは式(4)によって表される。式(4)において、“LOW_a”はローパスフィルタ61bのフィルタ定数である。
【数4】
【0058】
そこで、フィルタ定数算出器61dは、式(5)及び式(6)に従って、高周波角周波数ωhと、ハイパスフィルタ61aのフィルタ定数HIGH_aとに基づいて、ローパスフィルタ61bのフィルタ定数LOW_aを算出する。フィルタ定数LOW_aは、高周波角周波数ωhの変化に伴って随時更新される。フィルタ定数算出器61dによって算出されたフィルタ定数LOW_aがローパスフィルタ61bに設定される。
【数5】
【数6】
【0059】
ローパスフィルタ61bは、フィルタ定数算出器61dによって算出されたフィルタ定数LOW_aを用いて、駆動電流除去d軸電流Id1及び駆動電流除去q軸電流Iq1に対するフィルタリング処理を行う。これにより、駆動電流除去d軸電流Id1及び駆動電流除去q軸電流Iq1に生じた位相ズレが補償されるとともに、駆動電流除去d軸電流Id1及び駆動電流除去q軸電流Iq1から高周波ノイズInoiseが除去される。高周波ノイズInoiseは、モータMの駆動に伴って、高周波電流Ihの周波数より高い周波数帯に発生する。ローパスフィルタ61bは、フィルタリング処理後のノイズ除去d軸電流Id2及びノイズ除去q軸電流Iq2をノッチフィルタ61cへ出力する。
【0060】
ノッチフィルタ61cは、ノイズ除去d軸電流Id2及びノイズ除去q軸電流Iq2からコギング周波数fcogのコギング電流を除去することにより高周波d軸電流Idh及び高周波q軸電流Iqhを得る。コギング周波数fcogは、ロータ極数Pとモータスロット数Sとの最小公倍数と機械角速度指令値ωmとの乗算結果を2πで除算することにより算出され、コギング周波数fcogがノッチフィルタ61cの減衰域の中心周波数として設定される。コギング周波数fcogは、機械角速度指令値ωmの変化に伴って随時更新される。
【0061】
以上のようにして、駆動成分除去フィルタ61は、d軸電流Id及びq軸電流Iqから非高周波電流を除去することにより高周波電流Ihを得る。例えば、駆動電流Im、高周波ノイズInoise及びコギング電流が、モータMの駆動に伴って発生する電流成分である非高周波電流に該当する。
【0062】
<軸誤差演算器の構成>
図5は、本開示の実施例1の軸誤差演算器の構成例を示す図である。図5に示す軸誤差演算器30aは、図1に示す軸誤差演算器30に該当する。図5において、軸誤差演算器30aは、同相鏡相電流ベクトル生成器301と、鏡相推定器302と、フィルタ補正電流推定器303と、切替器304とを有する。軸誤差演算器30aは、モータMの磁気突極性を利用し、高周波角周波数ωhと、高周波d軸電流Idhと、高周波q軸電流Iqhとに基づいて、軸誤差Δθを算出する。図6は、本開示の実施例1の同相鏡相電流ベクトル生成器の構成例を示す図である。図6において、同相鏡相電流ベクトル生成器301は、符号反転器b11と、D因子フィルタb12,b13とを有する。
【0063】
図6において、符号反転器b11は、高周波角周波数ωhの符号を反転し、符号反転後の高周波角周波数-ωhをD因子フィルタb12へ出力する。
【0064】
D因子フィルタb12,b13は、同相成分と鏡相成分とを分離・抽出するフィルタであり、D因子フィルタb12,b13におけるD因子は、単位行列Iと交代行列Jとラプラス演算子sとを用いた式(7)によって定義される。
【数7】
【0065】
D因子フィルタb12は、符号反転後の高周波角周波数-ωhに基づいて、高周波d軸電流Idh及び高周波q軸電流Iqhに含まれる同相電流ベクトルIhpを検出する。同相電流ベクトルIhpは、高周波電圧ベクトルVdh,Vqhの印加に応じて発生する高周波磁束ベクトルと同方向へ回転する。
【0066】
D因子フィルタb13は、高周波角周波数ωhに基づいて、高周波d軸電流Idh及び高周波q軸電流Iqhに含まれる鏡相電流ベクトルIhnを検出する。鏡相電流ベクトルIhnは、高周波電圧ベクトルVdh,Vqhの印加に応じて発生する高周波磁束ベクトルと逆方向へ回転する。
【0067】
ここで、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とに分離することができる。
【0068】
以上のように同相鏡相電流ベクトル生成器301が高周波電流を用いて同相電流ベクトルIhp及び鏡相電流ベクトルIhnを算出するのに対し、フィルタ補正電流推定器303は、以下のように、高周波電流を用いずに同相電流ベクトルIhp及び鏡相電流ベクトルIhnを算出する。フィルタ補正電流推定器303は、式(8)に従って同相電流ベクトルIhpを推定するとともに、式(9)に従って鏡相電流ベクトルIhnを推定する。式(8)及び式(9)において、LdはモータMのd軸インダクタンス、LqはモータMのq軸インダクタンス、R(2Δθ)は2Δθを回転角とした回転行列、、up(ωht)は式(10)で表される2×1単位正相行列、un(ωht)は式(11)で表される2×1単位逆相行列である。また、式(9)のΔθは、モータMが回転することで発生する誘起電圧を用いて位置推定を行う拡張誘起電圧方式等によって算出した仮の軸誤差である。つまり、フィルタ補正電流推定器303は、理論式を使用することで、高周波電圧がモータに印加された場合に発生する同相電流ベクトルIhp及び鏡相電流ベクトルIhnを推定する。
【数8】
【数9】
【数10】
【数11】
【0069】
ここで、無印加区間では、高周波d軸電流Idh及び高周波q軸電流Iqhが流れないので、同相鏡相電流ベクトル生成器301によって同相電流ベクトルIhp及び鏡相電流ベクトルIhnを算出することが困難である。そこで、切替器304は、騒音低減指令生成器71から入力される印加方法指令signal_noise_methodに従って、鏡相推定器302に入力される同相電流ベクトルIhp及び鏡相電流ベクトルIhnの出力元を同相鏡相電流ベクトル生成器301とフィルタ補正電流推定器303との間で切り替える。切替器304は、印加方法指令signal_noise_methodが“SIGNAL_ON(0)”に設定されているときは、同相鏡相電流ベクトル生成器301を鏡相推定器302に接続することにより、鏡相推定器302に入力される同相電流ベクトルIhp及び鏡相電流ベクトルIhnの出力元を同相鏡相電流ベクトル生成器301にする。一方で、切替器304は、印加方法指令signal_noise_methodが“SIGNAL_OFF(1)”に設定されているときは、フィルタ補正電流推定器303を鏡相推定器302に接続することにより、鏡相推定器302に入力される同相電流ベクトルIhp及び鏡相電流ベクトルIhnの出力元をフィルタ補正電流推定器303にする。こうすることで、有印加区間では、同相鏡相電流ベクトル生成器301により生成された同相電流ベクトルIhp及び鏡相電流ベクトルIhnが鏡相推定器302に入力される一方で、無印加区間では、フィルタ補正電流推定器303により推定された同相電流ベクトルIhp及び鏡相電流ベクトルIhnが鏡相推定器302に入力される。したがって、モータMの騒音を抑えるために無印加区間を設けた場合であっても、同相電流ベクトルIhp及び鏡相電流ベクトルIhnを算出することができ、モータMの制御が不安定になってしまうことを防止できる。
【0070】
鏡相推定器302は、同相鏡相電流ベクトル生成器301またはフィルタ補正電流推定器303から入力される同相電流ベクトルIhpと鏡相電流ベクトルIhnとを用いて、式(12)及び式(13)に従って軸誤差Δθを算出する。つまり、鏡相推定器302は、ノルムを同一化した同相電流ベクトルIhpと鏡相電流ベクトルIhnとのベクトル加算によって得られる合成ベクトルの逆正接を軸誤差Δθとして算出する。
【数12】
【数13】
【0071】
なお、切替器304は、“SIGNAL_ON(0)”に設定されている印加方法指令signal_noise_methodの入力が開始された時点(以下では「有印加区間開始時点」と呼ぶことがある)から所定待機時間が経過した時点から、“SIGNAL_OFF(1)”に設定されている印加方法指令signal_noise_methodの入力が開始された時点(以下では「有印加区間終了時点」と呼ぶことがある)までの区間(以下では「第一所定区間」と呼ぶことがある)において同相鏡相電流ベクトル生成器301を鏡相推定器302に接続し、有印加区間終了時点から、次の有印加区間開始時点から所定待機時間が経過する時点までの区間(以下では「第二所定区間」と呼ぶことがある)においてフィルタ補正電流推定器303を鏡相推定器302に接続しても良い。ここで、高周波電圧を印加開始直後は、高周波電流が不安定になる。そこで、所定待機時間としては、高周波電流が安定するまでの時間、例えば、高周波電圧の1周期に相当する時間を設定する。この場合、図3の第1周期T1~第5周期T5で説明すると、第1周期T1、第5周期T5の開始時点が有印加区間開始時点に相当する。また、第1周期T1、第5周期T5が所定待機時間に相当する。また、第1周期T1、第5周期T5の終了時点が、所定待機時間が経過した時点に相当する。また、第3周期T3の終了時点が有印加区間終了時点に相当する。また、第2周期T2~第3周期T3が第一所定区間となり、第1周期T1、第4周期T4~第5周期T5が第二所定区間となる。こうすることで、高周波電圧の印加開始直後で高周波電流が安定していない区間において、モータMの制御が不安定になってしまうことを防止できる。
【0072】
以上、実施例1について説明した。
【0073】
[実施例2]
<カウント算出器、指令生成器、高周波電圧指令値生成器及び切替器の動作>
図7は、本開示の実施例2のカウント算出器、指令生成器及び高周波電圧指令値生成器の動作例を示す図である。実施例2では、図7に示すように、無印加区間を設けずに、高周波電圧の位相を正相である第一位相と、第一位相と逆の位相である逆相の第二位相とに交互に反転させる点が実施例1と相違する。例えば、第一位相の高周波電圧の振幅と、第二位相の高周波電圧の振幅とは同一である。以下、実施例1と異なる点について説明する。
【0074】
カウント算出器71aは、高周波位相ωhtに基づいて、騒音低減用カウントsignal_countを算出する。カウント算出器71aは、今回の制御周期で生成された高周波位相ωhtが前回の制御周期で生成された高周波位相ωht_old未満である場合に、高周波位相ωhtの1周期が経過したと判定し、騒音低減用カウントsignal_countをインクリメントする。ここで、任意の期間を設定したとき、高周波位相ωhtの1周期を1区間として、高周波電圧の位相を区間数X毎に反転させるように、区間数Xが騒音低減指令生成器71に設定されている。カウント算出器71aは、騒音低減用カウントsignal_countを1からXまでインクリメントし、騒音低減用カウントsignal_countがXに達したときに騒音低減用カウントsignal_countを1にリセットする。
【0075】
指令生成器71bは、騒音低減用カウントsignal_countに基づいて、印加方法指令signal_noise_methodを生成する。印加方法指令signal_noise_methodによって、高周波電圧の位相が第一位相か第二位相かが示される。指令生成器71bは、騒音低減用カウントsignal_countがXに達する度に、印加方法指令signal_noise_methodの設定を“SIGNAL_ON_POS(0)”と“SIGNAL_ON_NEG(1)”との間で切り替える。すなわち、騒音低減用カウントsignal_countがXに達したときに印加方法指令signal_noise_methodが“SIGNAL_ON_POS(0)”に設定されている場合は、指令生成器71bは、印加方法指令signal_noise_methodを“SIGNAL_ON_POS(0)”から“SIGNAL_ON_NEG(1)”に変更する。一方で、騒音低減用カウントsignal_countがXに達したときに印加方法指令signal_noise_methodが“SIGNAL_ON_NEG(1)”に設定されている場合は、指令生成器71bは、印加方法指令signal_noise_methodを“SIGNAL_ON_NEG(1)”から“SIGNAL_ON_POS(0)”に変更する。
【0076】
図7には、高周波位相ωhtの1周期を1区間として、区間数Xを“3”に設定し、高周波電圧の位相を3区間毎に反転させる場合を一例として示す。よって、カウント算出器71aは、騒音低減用カウントsignal_countを高周波位相ωhtの1周期毎に1から3までインクリメントし、騒音低減用カウントsignal_countが3に達したときに騒音低減用カウントsignal_countを1にリセットする。また、指令生成器71bは、騒音低減用カウントsignal_countが3に達する度に、“SIGNAL_ON_POS(0)”に設定されている印加方法指令signal_noise_methodを“SIGNAL_ON_NEG(1)”に変更し、“SIGNAL_ON_NEG(1)”に設定されている印加方法指令signal_noise_methodを“SIGNAL_ON_POS(0)”に変更する。
【0077】
高周波電圧指令値生成器43には、印加方法指令signal_noise_methodが入力される。高周波電圧指令値生成器43は、以下のように、印加方法指令signal_noise_methodに従って、高周波電圧振幅指令値Vhと、高周波位相ωhtとに基づいて、d軸高周波電圧指令値Vdh及びq軸高周波電圧指令値Vqhを生成する。
【0078】
高周波電圧指令値生成器43は、騒音低減指令生成器71から入力される印加方法指令signal_noise_methodが“SIGNAL_ON_POS(0)”に設定されているときは、式(1)に従ってd軸高周波電圧指令値Vdh及びq軸高周波電圧指令値Vqhを生成する。
【0079】
一方で、高周波電圧指令値生成器43は、騒音低減指令生成器71から入力される印加方法指令signal_noise_methodが“SIGNAL_ON_NEG(1)”に設定されているときは、式(14)に従ってd軸高周波電圧指令値Vdh及びq軸高周波電圧指令値Vqhを生成する。つまり、印加方法指令signal_noise_methodが“SIGNAL_ON_NEG(1)”に設定されているときは、高周波電圧指令値生成器43は、印加方法指令signal_noise_methodが“SIGNAL_ON_NEG(1)”に設定されているときにモータMに印加される高周波電圧に対して逆位相となる高周波電圧がモータMに印加される。
【数14】
【0080】
よって、区間数Xが“3”に設定されている場合は、図7に示すように、第1周期T1~第3周期T3の3区間で正相の高周波電圧がモータMに印加された後、第4周期T4~第6周期T6の3区間で逆相の高周波電圧がモータMに印加される。また、第4周期T4~第6周期T6の3区間で逆相の高周波電圧がモータMに印加された後、第7周期T7~第9周期T9の3区間で正相の高周波電圧がモータMに印加される。このように、高周波電圧指令値生成器43は、高周波電圧として、第一位相の高周波電圧と、第一位相の高周波電圧に対して逆位相となる高周波電圧とを交互にモータMに印加する。
【0081】
このように、第一位相の高周波電圧をモータMに印加する区間と、第一位相と逆の位相である第二位相をモータMに印加する区間とを交互に設けることで、モータMの時間平均での騒音レベルを低減することができるため、モータMの騒音を抑えることができる。また、無印加区間を設けないため、位置推定の精度の低下を防止することができる。
【0082】
なお、切替器304は、印加方法指令signal_noise_methodが“SIGNAL_ON_POS(0)”または“SIGNAL_ON_NEG(1)”の何れに設定されている場合でも、同相鏡相電流ベクトル生成器301を鏡相推定器302に接続することにより、鏡相推定器302に入力される同相電流ベクトルIhp及び鏡相電流ベクトルIhnの出力元を同相鏡相電流ベクトル生成器301にする。
【0083】
また、切替器304は、印加方法指令signal_noise_methodが“SIGNAL_ON_POS(0)”と“SIGNAL_ON_NEG(1)”との間で切り替わった時点(以下では「第一位相切替時点」と呼ぶことがある)から所定待機時間が経過した時点から、次の位相切替時点(以下では「第二位相切替時点」と呼ぶことがある)までの区間(以下では「第三所定区間」と呼ぶことがある)において同相鏡相電流ベクトル生成器301を鏡相推定器302に接続し、第二位相切替時点から所定待機時間が経過する時点までの区間(以下では「第四所定区間」と呼ぶことがある)においてフィルタ補正電流推定器303を鏡相推定器302に接続しても良い。ここで、高周波電圧の位相の切替直後は、高周波電流が不安定になる。そこで、所定待機時間としては、高周波電流が安定するまでの時間、例えば、高周波電圧の1周期に相当する時間を設定する。この場合、図7の第1周期T1~第5周期T5で説明すると、第1周期T1、第4周期T4の開始時点が第一位相切替時点に相当する。また、第1周期T1、第4周期T4が所定待機時間に相当する。また、第1周期T1、第4周期T4の終了時点が、所定待機時間が経過した時点に相当する。また、第3周期T3の終了時点が第二位相切替時点に相当する。また、第2周期T2~第3周期T3が第三所定区間となり、第1周期T1、第4周期T4~第5周期T5が第四所定区間となる。こうすることで、高周波電圧の位相の切替直後で高周波電流が安定していない区間において、モータMの制御が不安定になってしまうことを防止できる。
【0084】
以上、実施例2について説明した。
【0085】
[実施例3]
<カウント算出器、指令生成器、高周波電圧指令値生成器及び切替器の動作>
図8は、本開示の実施例3のカウント算出器、指令生成器及び高周波電圧指令値生成器の動作例を示す図である。実施例3では、図8に示すように、無印加区間を設けつつ、高周波電圧の位相を正相である第一位相と、第一位相と逆の位相である逆相の第二位相とに交互に反転させる点が実施例1,2と相違する。つまり、実施例3は、実施例1と実施例2とを組み合わせたものである。以下、実施例1,2と異なる点について説明する。
【0086】
カウント算出器71aは、高周波位相ωhtに基づいて、騒音低減用カウントsignal_countを算出する。カウント算出器71aは、今回の制御周期で生成された高周波位相ωhtが前回の制御周期で生成された高周波位相ωht_old未満である場合に、高周波位相ωhtの1周期が経過したと判定し、騒音低減用カウントsignal_countをインクリメントする。ここで、任意の期間を設定したとき、高周波位相ωhtの1周期を1区間として、有印加区間数Xに対し無印加区間数Yが騒音低減指令生成器71に設定されている。カウント算出器71aは、騒音低減用カウントsignal_countを1からX+Yまでインクリメントし、騒音低減用カウントsignal_countがX+Yに達したときに騒音低減用カウントsignal_countを1にリセットする。
【0087】
指令生成器71bは、騒音低減用カウントsignal_countに基づいて、印加方法指令signal_noise_methodを生成する。印加方法指令signal_noise_methodによって、高周波電圧の印加の有無と、高周波電圧の位相が第一位相または第二位相の何れであるかとが示される。指令生成器71bは、騒音低減用カウントsignal_countがXより大きいときは印加方法指令signal_noise_methodを“SIGNAL_OFF(2)”に設定する。一方で、騒音低減用カウントsignal_countがX以下のときは、指令生成器71bは、印加方法指令signal_noise_methodを“SIGNAL_ON_POS(0)”または“SIGNAL_ON_NEG(1)”に設定する。また、指令生成器71bは、騒音低減用カウントsignal_countがX+Yに達する度に、印加方法指令signal_noise_methodの設定を“SIGNAL_ON_POS(0)”と“SIGNAL_ON_NEG(1)”との間で切り替える。
【0088】
図8には、高周波位相ωhtの1周期を1区間として、有印加区間数Xを“3”に設定するのに対して、無印加区間数Yを“1”に設定した場合を一例として示す。よって、カウント算出器71aは、騒音低減用カウントsignal_countを高周波位相ωhtの1周期毎に1から4までインクリメントし、騒音低減用カウントsignal_countが4に達したときに騒音低減用カウントsignal_countを1にリセットする。また、指令生成器71bは、騒音低減用カウントsignal_countが3以下のときは印加方法指令signal_noise_methodを“SIGNAL_ON_POS(0)”または“SIGNAL_ON_NEG(1)”に設定する一方で、騒音低減用カウントsignal_countが3より大きいときは印加方法指令signal_noise_methodを“SIGNAL_OFF(2)”に設定する。また、指令生成器71bは、騒音低減用カウントsignal_countが3以下のときは印加方法指令signal_noise_methodを“SIGNAL_ON_POS(0)”または“SIGNAL_ON_NEG(1)”に設定したが、このとき設定される印加方法指令signal_noise_methodは、騒音低減用カウントsignal_countが1にリセットされる度に、“SIGNAL_ON_POS(0)”と“SIGNAL_ON_NEG(1)”との間で交互に設定される。
【0089】
高周波電圧指令値生成器43には、印加方法指令signal_noise_methodが入力される。高周波電圧指令値生成器43は、以下のように、印加方法指令signal_noise_methodに従って、高周波電圧振幅指令値Vhと、高周波位相ωhtとに基づいて、d軸高周波電圧指令値Vdh及びq軸高周波電圧指令値Vqhを生成する。
【0090】
高周波電圧指令値生成器43は、騒音低減指令生成器71から入力される印加方法指令signal_noise_methodが“SIGNAL_ON_POS(0)”に設定されているときは、式(1)に従ってd軸高周波電圧指令値Vdh及びq軸高周波電圧指令値Vqhを生成する。
【0091】
また、高周波電圧指令値生成器43は、騒音低減指令生成器71から入力される印加方法指令signal_noise_methodが“SIGNAL_ON_NEG(1)”に設定されているときは、式(14)に従ってd軸高周波電圧指令値Vdh及びq軸高周波電圧指令値Vqhを生成する。
【0092】
また、高周波電圧指令値生成器43は、騒音低減指令生成器71から入力される印加方法指令signal_noise_methodが“SIGNAL_OFF(2)”に設定されているときは、式(2)に従ってd軸高周波電圧指令値Vdh及びq軸高周波電圧指令値Vqhを生成する。
【0093】
よって、有印加区間数Xが“3”に設定されているのに対して、無印加区間数Yが“1”に設定されている場合は、図8に示すように、第1周期T1~第3周期T3の3区間で正相の高周波電圧がモータMに印加された後、第4周期T4の1区間で高周波電圧がモータMに印加されない。また、第5周期T5~第7周期T7の3区間で逆相の高周波電圧がモータMに印加された後、第8周期T8の1区間で高周波電圧がモータMに印加されない。また、第9周期T9~第11周期T11の3区間で正相の高周波電圧がモータMに印加される。このように、高周波電圧指令値生成器43は、無印加区間を設けつつ、高周波電圧として、第一位相の高周波電圧と、第一位相の高周波電圧に対して逆位相となる高周波電圧とを交互にモータMに印加する。
【0094】
このように、無印加区間を設けつつ、第一位相の高周波電圧をモータMに印加する区間と、第一位相と逆の位相である第二位相をモータMに印加する区間とを交互に設けることで、モータMの時間平均での騒音レベルを低減することができるため、モータMの騒音を抑えることができる。
【0095】
なお、切替器304は、印加方法指令signal_noise_methodが“SIGNAL_ON_POS(0)”または“SIGNAL_ON_NEG(1)”に設定されているときは、同相鏡相電流ベクトル生成器301を鏡相推定器302に接続することにより、鏡相推定器302に入力される同相電流ベクトルIhp及び鏡相電流ベクトルIhnの出力元を同相鏡相電流ベクトル生成器301にする。一方で、切替器304は、印加方法指令signal_noise_methodが“SIGNAL_OFF(2)”に設定されているときは、フィルタ補正電流推定器303を鏡相推定器302に接続することにより、鏡相推定器302に入力される同相電流ベクトルIhp及び鏡相電流ベクトルIhnの出力元をフィルタ補正電流推定器303にする。
【0096】
なお、切替器304は、実施例1と同様に、“SIGNAL_ON_POS(0)”または“SIGNAL_ON_NEG(1)”に設定されている印加方法指令signal_noise_methodの入力が開始された時点(つまり、有印加区間開始時点)から所定待機時間が経過した時点から、“SIGNAL_OFF(2)”に設定されている印加方法指令signal_noise_methodの入力が開始された時点(つまり、有印加区間終了時点)までの区間(以下では「第五所定区間」と呼ぶことがある)において同相鏡相電流ベクトル生成器301を鏡相推定器302に接続し、有印加区間終了時点から、次の有印加区間開始時点から所定待機時間が経過する時点までの区間(以下では「第六所定区間」と呼ぶことがある)においてフィルタ補正電流推定器303を鏡相推定器302に接続しても良い。ここで、高周波電圧を印加開始直後は、高周波電流が不安定になる。そこで、所定待機時間としては、高周波電流が安定するまでの時間、例えば、高周波電圧の1周期に相当する時間を設定する。この場合、図8の第1周期T1~第5周期T5で説明すると、第1周期T1、第5周期T5の開始時点が有印加区間開始時点に相当する。また、第1周期T1、第5周期T5が所定待機時間に相当する。また、第1周期T1、第5周期T5の終了時点が、所定待機時間が経過した時点に相当する。また、第3周期T3の終了時点が有印加区間終了時点に相当する。また、第2周期T2~第3周期T3が第五所定区間となり、第1周期T1、第4周期T4~第5周期T5が第六所定区間となる。こうすることで、高周波電圧の印加開始直後で高周波電流が安定していない区間において、モータMの制御が不安定になってしまうことを防止できる。
【0097】
また、フィルタ補正電流推定器303は、無印加区間において、モータMに印加される高周波電圧として、第一位相の高周波電圧と第二位相の高周波電圧のうち次に印加される方の高周波電圧に基づいて同相電流ベクトルIhp及び鏡相電流ベクトルIhnを算出しても良い。こうすることで、次の有印加区間開始時点において、鏡相推定器302に入力される同相電流ベクトルIhp及び鏡相電流ベクトルIhnの変化が小さくなるため、モータMの制御が不安定になってしまうことを防止できる。
【0098】
以上、実施例3について説明した。
【0099】
[実施例4]
<高周波電圧指令値生成器の動作>
図9は、本開示の実施例4の高周波電圧指令値生成器の動作例を示す図である。実施例4では、図9に示すように、有印加区間の終了時に、d軸高周波電圧指令値Vdhよりもq軸高周波電圧指令値Vqhを4分の1周期長く生成する点が実施例3と相違する。以下、実施例3と異なる点について説明する。
【0100】
高周波電圧指令値生成器43は、騒音低減指令生成器71から入力される印加方法指令signal_noise_methodが“SIGNAL_OFF(2)”に設定されているときは、式(2)に従ってd軸高周波電圧指令値Vdh及びq軸高周波電圧指令値Vqhを生成する。但し、高周波電圧指令値生成器43は、有印加区間の終了時点から4分の1周期の間は、式(1)または式(14)に従ってq軸高周波電圧指令値Vqhの生成を継続する。具体的には、高周波電圧指令値生成器43は、直前の有印加区間において印加方法指令signal_noise_methodが“SIGNAL_ON_POS(0)”に設定されていたときは、式(1)に従ってq軸高周波電圧指令値Vqhの生成を継続し、直前の有印加区間において印加方法指令signal_noise_methodが“SIGNAL_ON_NEG(1)”に設定されているときは、式(14)に従ってq軸高周波電圧指令値Vqhの生成を継続する。
【0101】
よって、有印加区間数Xが“3”に設定されているのに対して、無印加区間数Yが“1”に設定されている場合は、図9に示すように、第1周期T1~第3周期T3の3区間で正相の高周波電圧がモータMに印加された後、第4周期T4の1区間で高周波電圧がモータMに印加されない。また、第5周期T5~第7周期T7の3区間で逆相の高周波電圧がモータMに印加された後、第8周期T8の1区間で高周波電圧がモータMに印加されない。また、第9周期T9~第11周期T11の3区間で正相の高周波電圧がモータMに印加される。但し、無印加区間である第4周期T4及び第8周期T8では、無印加区間の開始時点(つまり、有印加区間の終了時点)から4分の1周期の間、d軸高周波電圧及びq軸高周波電圧のうちq軸高周波電圧のみがモータMに印加される。
【0102】
こうすることで、図9に示すように、無印加区間において高周波d軸電流Idh及び高周波q軸電流Iqhの双方を0付近にすることができるため、電流制御器20に入力される電流の急峻な変化を抑制することができ、モータMの制御が不安定になってしまうことを防止できる。
【0103】
なお、有印加区間の終了時に、d軸高周波電圧指令値Vdhよりもq軸高周波電圧指令値Vqhを4分の1周期長く生成する点を実施例1に適用しても良い。
【0104】
以上、実施例4について説明した。
【0105】
[実施例5]
<軸誤差演算器の構成>
図10は、本開示の実施例5の軸誤差演算器の構成例を示す図である。図10に示す軸誤差演算器30bは、図1に示す軸誤差演算器30に該当する。図10において、軸誤差演算器30bは、同相鏡相電流ベクトル生成器301と、鏡相推定器302と、フィルタ補正電流推定器305と、切替器304とを有する。以下、実施例1と異なる点について説明する。
【0106】
フィルタ補正電流推定器305は、式(15)に従って同相電流ベクトルIhpを推定するとともに、式(16)に従って鏡相電流ベクトルIhnを推定する。ここで、フィルタ補正電流推定器305は、高周波電圧の周期毎に同相電流ベクトルIhp及び鏡相電流ベクトルIhnを算出するものであり、式(15)及び式(16)において、Ihppeakは前回の周期における同相電流ベクトルIhpのピーク値であり、Ihnpeakは前回の周期における鏡相電流ベクトルIhnのピーク値であり、θidpは電流位相である。また、up(ωht+θidp)は式(17)で表される2×1単位正相行列、un(ωht+θidp)は式(18)で表される2×1単位逆相行列である。また、式(16)のΔθは、モータMが回転することで発生する誘起電圧を用いて位置推定を行う拡張誘起電圧方式等によって算出した仮の軸誤差である。つまり、フィルタ補正電流推定器303は、前回の周期における同相電流ベクトルIhp及び鏡相電流ベクトルIhnのピーク値を使用することで、今回の周期における高周波電圧がモータに印加された場合に発生する同相電流ベクトルIhp及び鏡相電流ベクトルIhnを推定する。
【数15】
【数16】
【数17】
【数18】
【0107】
以上、実施例5について説明した。
【0108】
[実施例6]
<モータ制御装置の構成>
図11は、本開示の実施例6のモータ制御装置の構成例を示す図である。図11に示すモータ制御装置100bでは、高周波電流減算器41及び駆動成分除去フィルタ61に替えて、駆動/高調波分離フィルタ62を有する点が実施例1の御装置100aと相違する。以下、実施例1と異なる点について説明する。
【0109】
駆動高調波分離フィルタ62には、u,v,w/d-q変換器29からd軸電流Id及びq軸電流Iqが入力される。駆動/高調波分離フィルタ62は、例えば、実施例1の駆動成分除去フィルタ61と同様に、ハイパスフィルタと、ローパスフィルタと、ノッチフィルタとを用いて、d軸電流Idから非高周波電流を除去することにより高周波d軸電流Idhを得るとともに、q軸電流Iqから非高周波電流を除去することにより高周波q軸電流Iqhを得る。また、駆動/高調波分離フィルタ62は、例えば、ノッチフィルタを用いてd軸電流Idから高周波d軸電流Idhを除去することにより高周波除去d軸電流Idmを得るとともに、q軸電流Iqから高周波q軸電流Iqhを除去することにより高周波除去q軸電流Iqmを得る。駆動/高調波分離フィルタ62は、分離後の高周波d軸電流Idh及び高周波q軸電流Iqhを軸誤差演算器30へ出力し、分離後の高周波除去d軸電流Idm及び高周波除去q軸電流Iqmを減算器18,19へ出力する。
【0110】
以上、実施例6について説明した。
【0111】
[実施例7]
<モータ制御装置の構成>
図12は、本開示の実施例7のモータ制御装置の構成例を示す図である。図12に示すモータ制御装置100cでは、高周波電流減算器41及び駆動成分除去フィルタ61に替えて、駆動電流減算器48及び高周波電流除去フィルタ63を有する点が実施例1の御装置100aと相違する。以下、実施例1と異なる点について説明する。
【0112】
駆動電流減算器48は、減算器48a,48bを有する。高調波電流除去フィルタ63には、u,v,w/d-q変換器29からd軸電流Id及びq軸電流Iqが入力される。また、減算器48aにはu,v,w/d-q変換器29からd軸電流Idが入力され、減算器48bにはu,v,w/d-q変換器29からq軸電流Iqが入力される。
【0113】
高周波電流除去フィルタ63は、例えばノッチフィルタを用いてd軸電流Idから高周波d軸電流Idhを除去することにより高周波除去d軸電流Idmを得るとともに、q軸電流Iqから高周波q軸電流Iqhを除去することにより高周波除去q軸電流Iqmを得る。高周波電流除去フィルタ63は、高周波除去d軸電流Idmを減算器18,48aへ出力し、高周波除去q軸電流Iqmを減算器19,48bへ出力する。
【0114】
減算器48aは、d軸電流Idから高周波除去d軸電流Idmを減算することにより高周波d軸電流Idhを算出する。減算器48bは、q軸電流Iqから高周波除去q軸電流Iqmを減算することにより高周波q軸電流Iqhを算出する。
【0115】
以上、実施例7について説明した。
【0116】
実施例6および実施例7では、d軸電流Idを高周波d軸電流Idhと高周波除去d軸電流Idmとに分離するとともに、q軸電流Iqを高周波q軸電流Iqhと高周波除去q軸電流Iqmとに分離する方法について、実施例1と異なる方法を説明した。ここで、高周波電圧は断続的に印加され、有印加区間と無印加区間が繰り返し切り替わる。また、実施例6および実施例7で高周波電流を除去するために用いられるノッチフィルタ等のデジタルフィルタは、過去の入力値および出力値を用いてフィルタ処理を行う。そのため、有印加区間と無印加区間が切り替わる際に、フィルタの入力値であるd軸電流Id及びq軸電流Iqに含まれる高周波電流が急激に変化すると、フィルタの出力が不安定化する。また、実施例6においては、高周波d軸電流Idh及び高周波q軸電流Iqhの抽出と、高周波除去d軸電流Idm及び高周波除去q軸電流Iqmの抽出の両方にフィルタを用いるため処理時間が長くなる。一方、実施例1の方法は、連続的に印加される非高周波電流を駆動成分除去フィルタ61によって除去して高周波d軸電流Idhと高周波q軸電流Iqhを抽出した後に、高周波電流減算器41によってd軸電流Idから高周波d軸電流Idhを減算することにより高周波除去d軸電流Idmを算出するとともに、q軸電流Iqから高周波q軸電流Iqhを減算することにより高周波除去q軸電流Iqmを算出する。したがって、実施例1の方法によれば、モータMの制御が最も安定する。
【0117】
[実施例8]
<モータ制御装置の構成>
図13は、本開示の実施例8のモータ制御装置の構成例を示す図である。実施例1のモータ制御装置100a(図1)に比べ、図13に示すモータ制御装置100dは、高周波周波数算出器81と印加方法判定器82とを有し、モータ制御装置100dでは、騒音低減指令生成器71が、印加方法判定器82での判定結果に基づいて高周波電圧の印加方法を切り替える点が実施例1と相違する。以下、実施例1と異なる点について説明する。
【0118】
<高周波周波数算出器における処理手順>
図14は、本開示の実施例8の高周波周波数算出器における処理手順の一例を示すフローチャートである。
【0119】
コギングトルクに起因する電流揺らぎが発生する揺らぎ周波数の次数は、ロータ極数とモータスロット数とに応じて定まる。例えば、モータ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次の周波数の電流揺らぎが発生する。
【0120】
一方で、同相鏡相電流ベクトル生成器301はバンドパスフィルタとして機能し、通過周波数領域が広いほどバンドパスフィルタとしての同相鏡相電流ベクトル生成器301の応答速度は速くなる。このため、同相鏡相電流ベクトル生成器301におけるフィルタ定数の設計では、駆動成分の電流を十分に除去できる程度にフィルタ定数を設計することが好ましい。
【0121】
ここで、軸誤差の演算はキャリア信号の1周期毎に行われるため、高周波電流周波数fhがキャリア周波数に近い高い値であると、高周波電流の1周期あたりのサンプリング回数が少なくなり、位置推定の精度が低下する。このため、高周波電流周波数fhはキャリア周波数に対して十分に低い周波数(例えば20分の1)であることが好ましい。また、バンドパスフィルタとして機能する同相鏡相電流ベクトル生成器301によって駆動成分の電流を除去するため、高周波電流周波数fhは駆動用電圧指令値の周波数帯より十分に高い周波数(例えば25倍)であることが好ましい。したがって、高周波電流周波数fhは、モータ制御装置100dのキャリア周波数より十分に低く、駆動用電圧指令値の周波数帯より十分に高い周波数に設定されるのが好ましい。
【0122】
しかし、高周波電流周波数fhを固定値にしておくと、高周波角周波数ωhも固定値となり、同相鏡相電流ベクトル生成器301の通過周波数領域が固定される。そのため、モータMの回転速度によっては、同相鏡相電流ベクトル生成器301の通過周波数領域にコギングトルクに起因する揺らぎ周波数が含まれてしまう場合がある。この場合、同相鏡相電流ベクトル生成器301において、ロータ位置の推定のためのトルク発生に寄与しない高周波電圧ベクトルVdh,Vqhによって発生する電流以外の成分まで抽出されてしまう。この結果、モータMの回転速度によっては、位置推定精度が悪化してしまう。
【0123】
そこで、まず、ステップS100では、高周波周波数算出器81は、式(19)に従って、ロータ極数Pとモータスロット数Sとの最小公倍数と機械角速度指令値ωmとの乗算結果を2πで除算することにより、揺らぎ周波数を表すコギング周波数fcogを算出する。
【数19】
【0124】
次いで、ステップS105では、高周波周波数算出器81は、式(20)に従って、コギング周波数fcogと第一マージンfmg1との加算値(以下では「マージン加算周波数」と呼ぶことがある)が所定の基準周波数fh1以上であるか否かを判定する。基準周波数fh1は、高周波電流周波数fhとして好ましい周波数、すなわち、モータ制御装置100dのキャリア周波数より十分に低く、かつ、駆動用電圧指令値の周波数帯より十分に高い周波数に予め決定される。例えば、キャリア周波数が4kHz、駆動電圧の周波数が8Hzである時、基準周波数fh1は、200Hzと設定することができる。マージン加算周波数が基準周波数fh1以上であるときは(ステップS105:Yes)、処理はステップS110へ進み、マージン加算周波数が基準周波数fh1未満であるときは(ステップS105:No)、処理はステップS115へ進む。
【数20】
【0125】
ステップS110では、高周波周波数算出器81は、式(21)に従って、マージン加算周波数を高周波電流周波数fhとして設定し、設定後の高周波電流周波数fhを印加方法判定器82へ出力する。
【数21】
【0126】
一方で、ステップS115では、高周波周波数算出器81は、式(22)に従って、コギング周波数fcogの2倍の値から第二マージンfmg2を減算した値(以下では「マージン減算周波数」と呼ぶことがある)が基準周波数fh1未満であるか否かを判定する。マージン減算周波数が基準周波数fh1未満であるときは(ステップS115:Yes)、処理はステップS120へ進み、マージン減算周波数が基準周波数fh1以上であるときは(ステップS115:No)、処理はステップS125へ進む。
【数22】
【0127】
第一マージンfmg1は、同相鏡相電流ベクトル生成器301の通過周波数領域の幅と、高周波電流の大きさと、コギング周波数fcogの揺らぎの大きさとに基づいて予め決定されるマージンであり、例えば60Hzである。また、第二マージンfmg2は、同相鏡相電流ベクトル生成器301の通過周波数領域の幅と、高周波電流の大きさと、コギング周波数fcogの2倍の周波数の揺らぎの大きさとに基づいて予め決定されるマージンであり、例えば30Hzである。
【0128】
ステップS120では、高周波周波数算出器81は、式(23)に従って、マージン減算周波数を高周波電流周波数fhとして設定し、設定後の高周波電流周波数fhを印加方法判定器82へ出力する。
【数23】
【0129】
一方で、ステップS125では、高周波周波数算出器81は、式(24)に従って、基準周波数fh1を高周波電流周波数fhとして設定し、設定後の高周波電流周波数fhを印加方法判定器82へ出力する。
【数24】
【0130】
ステップS110,S120,S125の処理の後、処理はステップS130へ進む。
【0131】
ステップS130では、高周波周波数算出器81は、式(25)に従って高周波電流周波数fhから高周波角周波数ωhを算出し、算出した高周波角周波数ωhを軸誤差演算器30及び位相発生器42へ出力する。
【数25】
【0132】
以上のように、機械角速度指令値ωmに応じて変化するコギング周波数fcogに基づいて高周波電流周波数fhを変化させることにより、同相鏡相電流ベクトル生成器301の通過周波数領域にコギングトルクに起因して発生する揺らぎ周波数が含まれることを防止することができる。
【0133】
<高周波周波数算出器の動作>
図15は、本開示の実施例8の高周波周波数算出器の動作例を示す図である。
【0134】
高周波周波数算出器81が図14に示すフローチャートに従って動作する結果、機械角速度指令値ωmと高周波電流周波数fhとの関係が図15に示すものになる。図15から分かるように、モータ制御装置100dでは、モータMの回転速度に応じて発生する電流揺らぎを避けることができるように、機械角速度指令値ωmに応じて高周波電流周波数fhが変化する。
【0135】
なお、高周波周波数算出器81は、コギング周波数fcogに第一所定値αを乗じた第一乗算結果に第一マージンfmg1を加算した値をマージン加算周波数として算出し、コギング周波数fcogに第二所定値βを乗じた第二乗算結果から第二マージンfmg2を減算した値をマージン減算周波数として算出しても良い。第一所定値αは、0より大きい正の整数であり、第二所定値βは、第一所定値αに1を加算した値である。図14及び図15では、一例として、第一所定値αを1とした。つまり、高周波周波数算出器81は、コギング周波数fcogに第一所定値αを乗じた第一乗算結果に第一マージンfmg1を加算した周波数以上、かつ、コギング周波数fcogに第二所定値βを乗じた第二乗算結果から第二マージンfmg2を減算した周波数以下の周波数範囲にある周波数を高周波電流周波数fhとして設定しても良い。こうすることで、高周波電流周波数fhをどのような値に設定した場合であっても、高周波電流周波数fhを揺らぎ周波数から遠ざけることができる。
【0136】
以上のように、モータMの回転速度に相当する機械角速度指令値ωmに応じて高周波電流周波数fhを変化させることで、高周波電流周波数をモータ制御装置100dのキャリア周波数より十分に低く、駆動用電圧指令値の周波数帯より十分に高い周波数とし、揺らぎ周波数から遠ざけることができるため、高周波電流が電流揺らぎの影響を受けないようにすることができる。これにより、精度良くロータ位置を推定することができるため、モータMの制御の安定化を図ることができる。
【0137】
<印加方法判定器、騒音低減指令生成器及び高周波電圧指令値生成器の動作>
図16図23は、本開示の実施例8の印加方法判定器、騒音低減指令生成器及び高周波電圧指令値生成器の動作例の説明に供する図である。
【0138】
以下では、従来の印加方法、つまり、高周波電圧の位相が変化することなく高周波電圧が連続してモータMに印加される印加方法を「第一印加方法NC1」と表記する。また以下では、実施例2の印加方法、つまり、高周波電圧が連続してモータMに印加されるとともに、高周波電圧として、第一の高周波電圧と、第一の高周波電圧に対して逆位相となる第二の高周波電圧とが交互にモータに印加される印加方法を「第二印加方法NC2」と表記する。また以下では、実施例1の印加方法、つまり、高周波電圧がモータMに断続的に印加される印加方法を「第三印加方法NC3」と表記する。また以下では、実施例3の印加方法、つまり、高周波電圧がモータMに断続的に印加されるとともに、高周波電圧がモータに印加される区間ごとに、高周波電圧として、第一の高周波電圧と、第一の高周波電圧に対して逆位相となる第二の高周波電圧とが交互にモータMに印加される印加方法を「第四印加方法NC4」と表記する。
【0139】
ここで、高周波電圧の印加方法として第二印加方法NC2、第三印加方法NC3、または、第四印加方法NC4が用いられると、側帯波が発生する。高周波電流周波数fhに基づいて、第二印加方法NC2が用いられた場合の側帯波の周波数は式(26)によって表され、第三印加方法NC3が用いられた場合の側帯波の周波数は式(27)によって表され、第四印加方法NC4が用いられた場合の側帯波の周波数は式(28)によって表される。ここで、式(26)のXは実施例2の区間数Xと同様である。また、式(27)及び式(28)のX、Yは実施例1および実施例3の有印加区間数Xおよび無印加区間数Yと同様である。なお、以下では、式(26),式(27),式(28)で表される側帯波のうち、周波数が高い側の側帯波を「上側帯波」、周波数が低い側の側帯波を「下側帯波」と呼ぶことがある。
fh±fh/2X …(26)
fh±fh/(X+Y) …(27)
fh±fh/(2(X+Y)) …(28)
【0140】
また、モータMの固有振動数SFと高周波電圧の印加によりモータMが発する騒音の周波数との差が小さくなると共鳴によりモータMの騒音が大きくなる。モータMの固有振動数SFとモータMの騒音の周波数との差が小さくなるほど、共鳴によりモータMの騒音が増大してしまう。
【0141】
以下、一例として、モータMの固有振動数SFを250Hzとしたときに、高周波電流周波数fhが250Hzの場合(固有振動数SFと高周波電流周波数fhとが一致している場合)と、高周波電流周波数fhが225Hzの場合(固有振動数SFと高周波電流周波数fhとの差が25Hzの場合)とに分けて説明する。ここで、式(26),式(27),式(28)のX,Yについては、実施例1~3と同様、X=3,Y=1の場合で説明する。
【0142】
<高周波電流周波数fhが250Hzの場合>
高周波電圧の印加方法として第一印加方法NC1が用いられる場合には、図16に示すように、高周波電圧の印加によって発生する騒音の周波数スペクトル(以下では「騒音スペクトル」と呼ぶことがある)は250Hzのみに出現する。また、250Hzの騒音スペクトルは固有振動数SFと一致しているため、250Hzの騒音は、より大きくなる。
【0143】
また、高周波電圧の印加方法として第二印加方法NC2が用いられる場合には、図17に示すように、高周波電圧の印加によって発生する250Hzの時間平均での騒音を打ち消すことができる一方で、最大の騒音スペクトルを有する側帯波が250Hz±41.7Hzに出現する。
【0144】
また、高周波電圧の印加方法として第三印加方法NC3が用いられる場合には、図18に示すように、高周波電圧の印加によって発生する250Hzの時間平均での騒音のレベルを低減することができる一方で、最大の騒音スペクトルを有する側帯波が250Hz±62.5Hzに出現する。また、250Hzの騒音スペクトルは固有振動数SFと一致しているため、250Hzの騒音は、より大きくなる。
【0145】
また、高周波電圧の印加方法として第四印加方法NC4が用いられる場合には、図19に示すように、高周波電圧の印加によって発生する250Hzの時間平均での騒音を打ち消すことができる一方で、最大の騒音スペクトルを有する側帯波が250Hz±31.25Hzに出現する。
【0146】
よって、固有振動数SFと高周波電流周波数fhとが一致しているときは、高周波電圧の印加方法として第二印加方法NC2または第四印加方法NC4を採用することで、騒音低減効果を高めることができる。なお、固有振動数SFと高周波電流周波数fhとが一致している場合だけでなく、固有振動数SFと高周波電流周波数fhとの差が小さい場合(例えば10Hz以内)も、第二印加方法NC2または第四印加方法NC4を採用することで、騒音低減効果を高めることができる。
【0147】
<高周波電流周波数fhが225Hzの場合>
高周波電圧の印加方法として第一印加方法NC1が用いられる場合には、図20に示すように、騒音スペクトルは225Hzのみに出現する。また、高周波電流周波数fhが250Hzである場合に比べて、騒音スペクトル(225Hz)と固有振動数SF(250Hz)との差が25Hzと大きいため騒音が低減する。
【0148】
また、高周波電圧の印加方法として第二印加方法NC2が用いられる場合には、図21に示すように、高周波電圧の印加によって発生する225Hzの時間平均での騒音を打ち消すことができる一方で、最大の騒音スペクトルを有する側帯波が225Hz±37.5Hzに出現する。
【0149】
また、高周波電圧の印加方法として第三印加方法NC3が用いられる場合には、図22に示すように、高周波電圧の印加によって発生する225Hzの時間平均での騒音のレベルを低減することができる一方で、最大の騒音スペクトルを有する側帯波が225Hz±56.25Hzに出現する。
【0150】
また、高周波電圧の印加方法として第四印加方法NC4が用いられる場合には、図23に示すように、高周波電圧の印加によって発生する225Hzの時間平均での騒音を打ち消すことができる一方で、最大の騒音スペクトルを有する側帯波が225Hz±28.125Hzに出現する。このため、側帯波の周波数(225Hz±28.125Hz)のうち、上側帯波の周波数(253.125Hz)と固有振動数SF(250Hz)との差が、3.125Hzと小さいため騒音が増大する。
【0151】
よって、第四印加方法NC4が用いられる場合に発生する側帯波の周波数と固有振動数SFとの差が小さいときは、第二印加方法NC2または第三印加方法NC3を採用することで、騒音低減効果を高めることができる。
【0152】
また、高周波電流周波数fhの値によっては第一印加方法NC1を採用しても騒音が目立たない場合がある。例えば、固有振動数SFが250Hzであるのに対し、高周波電流周波数fhが200Hzと十分に低い場合である。この場合は、位置推定の精度を高めるために、高周波電圧が連続してモータMに印加される第一印加方法NC1を採用するのが好ましい。同様に、騒音低減効果を求める場合であっても、発生する側帯波の周波数と固有振動数SFとの差が小さくならないのであれば、高周波電圧が連続してモータMに印加される第二印加方法NC2を採用するのが好ましい。
【0153】
そこで、図13の印加方法判定器82は、モータMの固有振動数SFと、高周波電流周波数fhとに基づいて、以下のようにして、高周波電圧の印加方法を判定する。以下では、マージン周波数を“f_margin”と表記する。f_marginは例えば10Hzであり、固有振動数SFと側帯波の周波数との差として、共鳴が発生しない十分な大きさに設定される。つまり、側帯波の周波数と固有振動数SFとの差がf_margin以上でれば、側帯波の周波数は固有振動数SFの周波数帯に重ならず、騒音が増大しないことを意味する。また、第四印加方法NC4を採用した場合に発生する上側帯波の周波数を“f_upper_band_4”と表記し、第四印加方法NC4を採用した場合に発生する下側帯波の周波数を“f_lower_band_4”と表記し、第二印加方法NC2を採用した場合に発生する上側帯波の周波数を“f_upper_band_2”と表記し、第二印加方法NC2を採用した場合に発生する下側帯波の周波数を“f_lower_band_2”と表記する。また、第一印加方法NC1を採用した場合に騒音が目標値TG以下に低減できるときの高周波電流周波数fhを“f_noise_ok”と表記する。f_noise_okは、固有振動数よりも所定周波数(例えば50Hz)以上低い周波数として、予め実験等により定められる。また、第一印加方法NC1~第四印加方法NC4の中で採用される印加方法を「採用印加方法」と呼ぶことがある。
【0154】
まず、印加方法判定器82は、高周波電流周波数fhがf_noise_ok以下の場合は、採用印加方法が第一印加方法NC1であると判定し、“NOISE_CANCEL_OFF”に設定したsignal_methodを騒音低減指令生成器71へ出力する。“NOISE_CANCEL_OFF”に設定されたsignal_methodを入力された騒音低減指令生成器71は、第一印加方法NC1により高周波電圧ベクトルを生成するように高周波電圧指令値生成器43に指示する指令を高周波電圧指令値生成器43に出力し、この指令に従って、高周波電圧指令値生成器43は、第一印加方法NC1により高周波電圧ベクトルを生成する。
【0155】
一方で、印加方法判定器82は、高周波電流周波数fhがf_noise_okより大きい場合は、採用印加方法が第二印加方法NC2、第三印加方法NC3、または、第四印加方法NC4の何れかであると判定する。
【0156】
まず、印加方法判定器82は、式(29)に従ってf_upper_band_2を算出し、式(30)に従ってf_lower_band_2を算出する。ここで、式(29)のXは実施例2の区間数Xと同様である。
f_upper_band_2=fh+fh/2X …(29)
f_lower_band_2=fh-fh/2X …(30)
【0157】
次いで、印加方法判定器82は、f_upper_band_2及びf_lower_band_2が式(31)の条件を満たさない場合、つまり、第二印加方法NC2を用いた場合の側帯波が固有振動数の周波数帯に重ならない場合は、採用印加方法が第二印加方法NC2であると判定し、“NOISE_CANCEL_2”に設定したsignal_methodを騒音低減指令生成器71へ出力する。“NOISE_CANCEL_2”に設定されたsignal_methodを入力された騒音低減指令生成器71は、実施例2で説明したようにして設定した印加方法指令signal_noise_methodを高周波電圧指令値生成器43に出力し、この印加方法指令に従って、高周波電圧指令値生成器43は、第二印加方法NC2により高周波電圧ベクトルを生成する。
SF-f_margin≦f_upper_band_2≦SF+f_margin
または
SF-f_margin≦f_lower_band_2≦SF+f_margin …(31)
【0158】
一方で、印加方法判定器82は、f_upper_band_2またはf_lower_band_2が式(31)の条件を満たす場合、つまり、第二印加方法NC2を用いた場合の側帯波が固有振動数の周波数帯に重なる場合は、式(32)に従ってf_upper_band_4を算出し、式(33)に従ってf_lower_band_4を算出する。ここで、式(32)及び式(33)のX,Yは、実施例3の有印加区間数X及び無印加区間数Yと同様である。
f_upper_band_4=fh+fh/(2(X+Y)) …(32)
f_lower_band_4=fh-fh/(2(X+Y)) …(33)
【0159】
次いで、印加方法判定器82は、f_upper_band_4及びf_lower_band_4が式(34)の条件を満たさない場合、つまり、第四印加方法NC4を用いた場合の側帯波が固有振動数の周波数帯に重ならない場合は、採用印加方法が第四印加方法NC4であると判定し、“NOISE_CANCEL_4”に設定したsignal_methodを騒音低減指令生成器71へ出力する。“NOISE_CANCEL_4”に設定されたsignal_methodを入力された騒音低減指令生成器71は、実施例3で説明したようにして設定した印加方法指令signal_noise_methodを高周波電圧指令値生成器43に出力し、この印加方法指令に従って、高周波電圧指令値生成器43は、第四印加方法NC4により高周波電圧ベクトルを生成する。
SF-f_margin≦f_upper_band_4≦SF+f_margin
または
SF-f_margin≦f_lower_band_4≦SF+f_margin …(34)
【0160】
一方で、印加方法判定器82は、f_upper_band_4またはf_lower_band_4が式(34)の条件を満たす場合、つまり、第四印加方法NC4を用いた場合の側帯波が固有振動数の周波数帯に重なる場合は、採用印加方法が第三印加方法NC3であると判定し、“NOISE_CANCEL_3”に設定したsignal_methodを騒音低減指令生成器71へ出力する。“NOISE_CANCEL_3”に設定されたsignal_methodを入力された騒音低減指令生成器71は、実施例1で説明したようにして設定した印加方法指令signal_noise_methodを高周波電圧指令値生成器43に出力し、この印加方法指令に従って、高周波電圧指令値生成器43は、第三印加方法NC3により高周波電圧ベクトルを生成する。
【0161】
このようにして、高周波電圧指令値生成器43は、印加方法判定器82がモータMの固有振動数SFと高周波電流周波数fhとに基づいて判定した高周波電圧の印加方法に応じて、異なる波形の高周波電圧を印加することで、高周波電流周波数fhを変えることなく、高周波電圧により発生する側帯波の周波数を変えることができる。したがって、側帯波がモータMの固有振動数の周波数帯に重ならないような最適な印加方法を採用することができるため、モータの騒音を抑えることができる。
【0162】
以上のように、本開示のモータ制御装置(実施例のモータ制御装置100d)は、推定器(実施例の位置推定器32、PLL制御器31及び軸誤差演算器30)と、印加部(実施例8の高周波周波数算出器81、印加方法判定器82及び高周波電圧指令値生成器43)とを有する。推定器は、高周波電圧がモータ(実施例のモータM)に印加されることにより発生する高周波電流に基づいて、モータが有するロータの位置を推定する。印加部は、高周波電圧をモータに印加する。また、印加部は、高周波電圧により発生する側帯波の周波数を変えることができる。
【0163】
例えば、印加部は、異なる波形の高周波電圧を印加することで側帯波の周波数を変える。また例えば、印加部は、複数の印加方法のうち、高周波電圧の印加に用いる印加方法を変えることで異なる波形の高周波電圧を印加する。
【0164】
また、印加部は、複数の印加方法のうち、側帯波がモータの固有振動数の周波数帯に重ならない印加方法を用いてモータに高周波電圧を印加する。
【0165】
また、複数の印加方法は、高周波電圧の位相が変化することなく連続してモータに印加される第一印加方法(実施例8の第一印加方法NC1)を含む。印加部は、高周波電圧の周波数がモータの固有振動数よりも所定値(実施例8の所定周波数)以上低い場合に、第一印加方法を用いてモータに高周波電圧を印加する。
【0166】
また、複数の印加方法は、高周波電圧が連続して印加されるとともに、高周波電圧として、第一の高周波電圧(実施例の第一位相の高周波電圧)と、第一の高周波電圧に対して逆位相となる第二の高周波電圧(実施例の第二位相の高周波電圧)とが交互にモータに印加される第二印加方法(実施例8の第二印加方法NC2)を含む。印加部は、高周波電圧の周波数がモータの固有振動数よりも所定値(実施例8の所定周波数)以上低くない場合であって、かつ、第二印加方法を用いてモータに高周波電圧を印加した場合の側帯波がモータの固有振動数の周波数帯に重ならない場合に、第二印加方法を用いてモータに高周波電圧を印加する。
【0167】
また、複数の印加方法は、高周波電圧がモータに断続的に印加される第三印加方法(実施例8の第三印加方法NC3)を含む。
【0168】
また、複数の印加方法は、高周波電圧がモータに断続的に印加されるとともに、高周波電圧がモータに印加される区間ごとに、高周波電圧として、第一の高周波電圧と、第一の高周波電圧に対して逆位相となる第二の高周波電圧とが交互にモータに印加される第四印加方法(実施例8の第四印加方法NC4)を含む。
【符号の説明】
【0169】
100d モータ制御装置
28 3φ電流算出器
30 軸誤差演算器
301 同相鏡相電流ベクトル生成器
302 鏡相推定器
303,305 フィルタ補正電流推定器
31 PLL制御器
32 位置推定器
41 高周波電流減算器
43 高周波電圧指令値生成器
61 駆動成分除去フィルタ
81 高周波周波数算出器
82 印加方法判定器
M モータ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23