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

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

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

<>
  • 特開-モータ制御装置 図1
  • 特開-モータ制御装置 図2
  • 特開-モータ制御装置 図3
  • 特開-モータ制御装置 図4
  • 特開-モータ制御装置 図5
  • 特開-モータ制御装置 図6
  • 特開-モータ制御装置 図7
  • 特開-モータ制御装置 図8
  • 特開-モータ制御装置 図9
  • 特開-モータ制御装置 図10
  • 特開-モータ制御装置 図11
  • 特開-モータ制御装置 図12
  • 特開-モータ制御装置 図13
  • 特開-モータ制御装置 図14
  • 特開-モータ制御装置 図15
  • 特開-モータ制御装置 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023151140
(43)【公開日】2023-10-16
(54)【発明の名称】モータ制御装置
(51)【国際特許分類】
   H02P 6/18 20160101AFI20231005BHJP
【FI】
H02P6/18
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022060587
(22)【出願日】2022-03-31
(71)【出願人】
【識別番号】000006611
【氏名又は名称】株式会社富士通ゼネラル
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】齋藤 由樹
【テーマコード(参考)】
5H560
【Fターム(参考)】
5H560AA02
5H560BB04
5H560BB12
5H560DA12
5H560DB20
5H560DC12
5H560EB01
5H560JJ12
5H560TT02
5H560TT08
5H560XA02
5H560XA04
5H560XA06
5H560XA12
5H560XA13
(57)【要約】
【課題】モータの騒音を抑えつつ、高周波電流を用いてロータ位置を推定すること。
【解決手段】モータ制御装置100aにおいて、位置推定器32、PLL制御器31及び軸誤差演算器30は、高周波電圧がモータMに印加されることにより発生する高周波電流に基づいて、モータMが有するロータの位置を推定し、高周波電圧指令値生成器43は、高周波電圧として、第一の高周波電圧と、第一の高周波電圧に対して逆位相となる第二の高周波電圧とを交互にモータに印加する。例えば、第一の高周波電圧と第二の高周波電圧は電圧の振幅が同じである。
【選択図】図1
【特許請求の範囲】
【請求項1】
高周波電圧がモータに印加されることにより発生する高周波電流に基づいて、前記モータが有するロータの位置を推定する推定器と、
前記高周波電圧として、第一の高周波電圧と、前記第一の高周波電圧に対して逆位相となる第二の高周波電圧とを交互に前記モータに印加する印加部と、
を具備するモータ制御装置。
【請求項2】
前記推定器は、前記高周波電流を用いて軸誤差を算出する軸誤差演算器、を具備し、
前記軸誤差演算器は、
前記高周波電流を用いて第一の同相鏡相電流ベクトルを算出する第一の同相鏡相電流ベクトル生成器と、
前記高周波電圧が前記モータに印加された場合に発生する同相鏡相電流ベクトルを推定することにより第二の同相鏡相電流ベクトルを算出する第二の同相鏡相電流ベクトル生成器と、
前記第一の同相鏡相電流ベクトルまたは前記第二の同相鏡相電流ベクトルを用いて前記軸誤差を算出する鏡相推定器と、
を有する、
請求項1に記載のモータ制御装置。
【請求項3】
前記鏡相推定器は、第一区間で前記第一の同相鏡相電流ベクトルを用いて前記軸誤差を算出する一方で、第二区間で前記第二の同相鏡相電流ベクトルを用いて前記軸誤差を算出し、
前記第一区間は、前記モータに印加される前記高周波電圧が前記第一の高周波電圧と前記第二の高周波電圧との間で切り替わった第一時点から所定の待機時間が経過した時点から、前記モータに印加される前記高周波電圧が前記第一の高周波電圧と前記第二の高周波電圧との間で再び切り替わる第二時点までの区間であり、
前記第二区間は、前記第二時点から前記所定の待機時間が経過する時点までの区間である、
請求項2に記載のモータ制御装置。
【請求項4】
前記印加部は、
前記第一の高周波電圧と前記第二の高周波電圧との間で切り替わった前記高周波電圧が前記モータに印加される前の無印加区間において、前記高周波電圧を前記モータに印加しない、
請求項2に記載のモータ制御装置。
【請求項5】
前記鏡相推定器は、第一区間で前記第一の同相鏡相電流ベクトルを用いて前記軸誤差を算出する一方で、第二区間で前記第二の同相鏡相電流ベクトルを用いて前記軸誤差を算出し、
前記第一区間は、前記モータへの前記高周波電圧の印加を開始する第一の開始時点から所定の待機時間が経過した時点から、前記モータへの前記高周波電圧の印加を終了する終了時点までの区間であり、
前記第二区間は、前記終了時点から、前記モータへの前記高周波電圧の印加を開始する第二の開始時点から前記所定の待機時間が経過した時点までの区間である、
請求項4に記載のモータ制御装置。
【請求項6】
前記第二の同相鏡相電流ベクトル生成器は、前記無印加区間において、前記モータに印加される前記高周波電圧として、前記第一の高周波電圧と前記第二の高周波電圧のうち次に印加される方の高周波電圧に基づいて前記第二の同相鏡相電流ベクトルを算出する、
請求項4に記載のモータ制御装置。
【請求項7】
前記第一の高周波電圧と前記第二の高周波電圧は電圧の振幅が同じである、
請求項1から6のいずれか一項に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【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は、本開示の実施例1の軸誤差演算器の構成例を示す図である。
図8図8は、本開示の実施例1の同相鏡相電流ベクトル生成器の構成例を示す図である。
図9図9は、本開示の実施例2のカウント算出器、指令生成器及び高周波電圧指令値生成器の動作例を示す図である。
図10図10は、本開示の実施例2の騒音低減効果の説明に供する図である。
図11図11は、本開示の実施例3のカウント算出器、指令生成器及び高周波電圧指令値生成器の動作例を示す図である。
図12図12は、本開示の実施例3の騒音低減効果の説明に供する図である。
図13図13は、本開示の実施例4の高周波電圧指令値生成器の動作例を示す図である。
図14図14は、本開示の実施例5の軸誤差演算器の構成例を示す図である。
図15図15は、本開示の実施例6のモータ制御装置の構成例を示す図である。
図16図16は、本開示の実施例7のモータ制御装置の構成例を示す図である。
【発明を実施するための形態】
【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に印加される印加方法を「第一印加方法NCA」と表記する。また以下では、実施例1の印加方法、つまり、高周波電圧がモータMに断続的に印加される印加方法を「第二印加方法NCB」と表記する。
【0048】
ここで、高周波電圧の印加方法として第二印加方法NCBが用いられると側帯波が発生する。第二印加方法NCBが用いられた場合の側帯波の周波数は高周波電流周波数fhに基づいて“fh±fh/(X+Y)”と表される。
【0049】
一例として、高周波電流周波数fhが250Hzの場合において、高周波電圧の印加方法として第一印加方法NCAが用いられる場合には、図4に示すように、高周波電圧の印加によって発生する騒音の周波数スペクトル(以下では「騒音スペクトル」と呼ぶことがある)は250Hzのみに出現する。図4は、本開示の実施例1の騒音低減効果の説明に供する図である。
【0050】
これに対し、高周波電流周波数fhが250Hzの場合において、高周波電圧の印加方法として第二印加方法NCBが用いられる場合には、図5に示すように、最大の騒音スペクトルを有する側帯波が250Hz±62.5Hzに出現する一方で、第一印加方法NCAが用いられる場合(図4)に比べて、高周波電圧の印加によって発生する250Hzの時間平均での騒音のレベルを低減することができる。図5は、本開示の実施例1の騒音低減効果の説明に供する図である。
【0051】
このように無印加区間を設けることにより、モータMの時間平均での騒音レベルを低減することができるため、モータMの騒音を抑えることができる。
【0052】
<駆動成分除去フィルタの構成>
図6は、本開示の実施例1の駆動成分除去フィルタの構成例を示す図である。図6において、駆動成分除去フィルタ61は、ハイパスフィルタ61aと、ローパスフィルタ61bと、ノッチフィルタ61cと、フィルタ定数算出器61dとを有する。
【0053】
ここで、後述する軸誤差演算器30が有する同相鏡相電流ベクトル生成器301はバンドパスフィルタとして機能し、バンドパスフィルタでは通過周波数帯域が広いほどフィルタの応答速度が速くなる。
【0054】
しかし、モータ制御装置100aでのキャリア周波数に基づくサンプリング回数の関係上、非高周波電流の周波数帯と高周波電流の周波数帯とを十分に離すことが困難な場合がある(理由1)。例えば、軸誤差の演算はキャリア信号の1周期毎に行われるため、高周波電流周波数fhがキャリア周波数に近い高い値であると、高周波電流の1周期あたりのサンプリング回数が少なくなり、位置推定の精度が低下する。よって、高周波電流周波数fhはキャリア周波数に対して十分に低い周波数(例えばキャリア周波数の20分の1の周波数)であることが好ましい。
【0055】
また、モータMの駆動条件(負荷・回転数等)に応じてトルク発生に寄与する駆動成分の電圧や電流の大きさが変化するため、駆動成分の電圧や電流が最大になる条件においても、駆動成分の電流(つまり、非高周波電流)を十分除去できる程度に駆動成分周波数帯(つまり、高周波電流周波数fh帯以外の周波数帯)の減衰量を保証する必要がある(理由2)。
【0056】
さらに、モータの駆動に伴って、主にモータのコギングトルクに起因して、モータの回転速度に応じた高周波の電流成分が発生する。以下では、モータのコギングトルクに起因して発生する高周波の電流成分を「コギング電流」と呼ぶことがある。コギング電流の周波数の次数は、モータ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)。
【0057】
そして、上記の理由1,2,3から、バンドパスフィルタとしての同相鏡相電流ベクトル生成器301の通過周波数帯域を狭くする必要が生じ、同相鏡相電流ベクトル生成器301でのフィルタ応答速度が遅くなってしまう。
【0058】
そこで、同相鏡相電流ベクトル生成器301へ高周波d軸電流Idh及び高周波q軸電流Iqhを入力するために、駆動成分除去フィルタ61は、図6に示すように、ハイパスフィルタ61aと、ローパスフィルタ61bと、ノッチフィルタ61cと、フィルタ定数算出器61dとを有する。高周波d軸電流Idh及び高周波q軸電流Iqhが同相鏡相電流ベクトル生成器301へ入力されることにより、同相鏡相電流ベクトル生成器301へ入力される電流が、ロータ位置の推定のための高周波電圧によって発生する高周波電流のみとなる。このように、ハイパスフィルタ61aと、ローパスフィルタ61bと、ノッチフィルタ61cとを組み合わせてバンドパスフィルタを構成することで、バンドパスフィルタとしての同相鏡相電流ベクトル生成器301の通過周波数帯域を広くすることが可能になるため、同相鏡相電流ベクトル生成器301として狭い通過周波数帯域のバンドパスフィルタを用いる場合に比べて、フィルタ応答速度を速くすることができる。
【0059】
図6において、ハイパスフィルタ61aは、モータMのトルク発生に寄与する駆動用の電流成分(以下では「駆動電流」と呼ぶことがある)Imをd軸電流Id及びq軸電流Iqから除去することにより、駆動電流Imの除去後の駆動電流除去d軸電流Id1及び駆動電流除去q軸電流Iq1を得る。駆動電流Imは、駆動用電圧指令値VmによるモータMの駆動に伴って発生する電流成分である。例えば、ハイパスフィルタ61aの通過周波数帯域を、機械角速度指令値ωmより十分大きい周波数以上(例えば機械角速度指令値ωmの4倍以上の周波数)の周波数帯とするのが好ましい。
【0060】
ハイパスフィルタ61aによって駆動電流Imの除去が行われると、高周波電流(駆動電流除去d軸電流Id1及び駆動電流除去q軸電流Iq1)に位相ズレが発生する。式(3)にハイパスフィルタ61aの1次の位相特性θhighを示す。式(3)において、“HIGH_a”はハイパスフィルタ61aのフィルタ定数である。式(3)より、ハイパスフィルタ61aにおいて発生する高周波電流周波数fh帯の位相ズレの量を把握可能である。
【数3】
【0061】
一方で、ローパスフィルタ61bの高周波電流周波数fh帯の1次の位相特性θlowは式(4)によって表される。式(4)において、“LOW_a”はローパスフィルタ61bのフィルタ定数である。
【数4】
【0062】
そこで、フィルタ定数算出器61dは、式(5)及び式(6)に従って、高周波角周波数ωhと、ハイパスフィルタ61aのフィルタ定数HIGH_aとに基づいて、ローパスフィルタ61bのフィルタ定数LOW_aを算出する。フィルタ定数LOW_aは、高周波角周波数ωhの変化に伴って随時更新される。フィルタ定数算出器61dによって算出されたフィルタ定数LOW_aがローパスフィルタ61bに設定される。
【数5】
【数6】
【0063】
ローパスフィルタ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へ出力する。
【0064】
ノッチフィルタ61cは、ノイズ除去d軸電流Id2及びノイズ除去q軸電流Iq2からコギング周波数fcogのコギング電流を除去することにより高周波d軸電流Idh及び高周波q軸電流Iqhを得る。コギング周波数fcogは、ロータ極数Pとモータスロット数Sとの最小公倍数と機械角速度指令値ωmとの乗算結果を2πで除算することにより算出され、コギング周波数fcogがノッチフィルタ61cの減衰域の中心周波数として設定される。コギング周波数fcogは、機械角速度指令値ωmの変化に伴って随時更新される。
【0065】
以上のようにして、駆動成分除去フィルタ61は、d軸電流Id及びq軸電流Iqから非高周波電流を除去することにより高周波電流Ihを得る。例えば、駆動電流Im、高周波ノイズInoise及びコギング電流が、モータMの駆動に伴って発生する電流成分である非高周波電流に該当する。
【0066】
<軸誤差演算器の構成>
図7は、本開示の実施例1の軸誤差演算器の構成例を示す図である。図7に示す軸誤差演算器30aは、図1に示す軸誤差演算器30に該当する。図7において、軸誤差演算器30aは、同相鏡相電流ベクトル生成器301と、鏡相推定器302と、フィルタ補正電流推定器303と、切替器304とを有する。軸誤差演算器30aは、モータMの磁気突極性を利用し、高周波角周波数ωhと、高周波d軸電流Idhと、高周波q軸電流Iqhとに基づいて、軸誤差Δθを算出する。図8は、本開示の実施例1の同相鏡相電流ベクトル生成器の構成例を示す図である。図8において、同相鏡相電流ベクトル生成器301は、符号反転器b11と、D因子フィルタb12,b13とを有する。
【0067】
図8において、符号反転器b11は、高周波角周波数ωhの符号を反転し、符号反転後の高周波角周波数-ωhをD因子フィルタb12へ出力する。
【0068】
D因子フィルタb12,b13は、同相成分と鏡相成分とを分離・抽出するフィルタであり、D因子フィルタb12,b13におけるD因子は、単位行列Iと交代行列Jとラプラス演算子sとを用いた式(7)によって定義される。
【数7】
【0069】
D因子フィルタb12は、符号反転後の高周波角周波数-ωhに基づいて、高周波d軸電流Idh及び高周波q軸電流Iqhに含まれる同相電流ベクトルIhpを検出する。同相電流ベクトルIhpは、高周波電圧ベクトルVdh,Vqhの印加に応じて発生する高周波磁束ベクトルと同方向へ回転する。
【0070】
D因子フィルタb13は、高周波角周波数ωhに基づいて、高周波d軸電流Idh及び高周波q軸電流Iqhに含まれる鏡相電流ベクトルIhnを検出する。鏡相電流ベクトルIhnは、高周波電圧ベクトルVdh,Vqhの印加に応じて発生する高周波磁束ベクトルと逆方向へ回転する。
【0071】
ここで、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とに分離することができる。
【0072】
以上のように同相鏡相電流ベクトル生成器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】
【0073】
ここで、無印加区間では、高周波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の制御が不安定になってしまうことを防止できる。
【0074】
鏡相推定器302は、同相鏡相電流ベクトル生成器301またはフィルタ補正電流推定器303から入力される同相電流ベクトルIhpと鏡相電流ベクトルIhnとを用いて、式(12)及び式(13)に従って軸誤差Δθを算出する。つまり、鏡相推定器302は、ノルムを同一化した同相電流ベクトルIhpと鏡相電流ベクトルIhnとのベクトル加算によって得られる合成ベクトルの逆正接を軸誤差Δθとして算出する。
【数12】
【数13】
【0075】
なお、切替器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の制御が不安定になってしまうことを防止できる。
【0076】
以上、実施例1について説明した。
【0077】
[実施例2]
<カウント算出器、指令生成器、高周波電圧指令値生成器及び切替器の動作>
図9は、本開示の実施例2のカウント算出器、指令生成器及び高周波電圧指令値生成器の動作例を示す図である。実施例2では、図9に示すように、無印加区間を設けずに、高周波電圧の位相を正相である第一位相と、第一位相と逆の位相である逆相の第二位相とに交互に反転させる点が実施例1と相違する。例えば、第一位相の高周波電圧の振幅と、第二位相の高周波電圧の振幅とは同一である。以下、実施例1と異なる点について説明する。
【0078】
カウント算出器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にリセットする。
【0079】
指令生成器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)”に変更する。
【0080】
図9には、高周波位相ω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)”に変更する。
【0081】
高周波電圧指令値生成器43には、印加方法指令signal_noise_methodが入力される。高周波電圧指令値生成器43は、以下のように、印加方法指令signal_noise_methodに従って、高周波電圧振幅指令値Vhと、高周波位相ωhtとに基づいて、d軸高周波電圧指令値Vdh及びq軸高周波電圧指令値Vqhを生成する。
【0082】
高周波電圧指令値生成器43は、騒音低減指令生成器71から入力される印加方法指令signal_noise_methodが“SIGNAL_ON_POS(0)”に設定されているときは、式(1)に従ってd軸高周波電圧指令値Vdh及びq軸高周波電圧指令値Vqhを生成する。
【0083】
一方で、高周波電圧指令値生成器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】
【0084】
よって、区間数Xが“3”に設定されている場合は、図9に示すように、第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に印加する。
【0085】
以下では、実施例2の印加方法、つまり、高周波電圧が連続してモータMに印加されるとともに、高周波電圧の位相が所定時間ごとに反転する印加方法を「第三印加方法NCC」と表記する。
【0086】
ここで、高周波電圧の印加方法として第三印加方法NCCが用いられると側帯波が発生する。第三印加方法NCCが用いられた場合の側帯波の周波数は高周波電流周波数fhに基づいて“fh±fh/2X”と表される。
【0087】
一例として、高周波電流周波数fhが250Hzの場合において、高周波電圧の印加方法として第三印加方法NCCが用いられる場合には、図10に示すように、最大の騒音スペクトルを有する側帯波が250Hz±41.7Hzに出現する一方で、第一印加方法NCAが用いられる場合(図4)に比べて、高周波電圧の印加によって発生する250Hzの時間平均での騒音のレベルを低減することができる。図10は、本開示の実施例2の騒音低減効果の説明に供する図である。
【0088】
このように、第一位相の高周波電圧をモータMに印加する区間と、第一位相と逆の位相である第二位相をモータMに印加する区間とを交互に設けることで、モータMの時間平均での騒音レベルを低減することができるため、モータMの騒音を抑えることができる。また、無印加区間を設けないため、位置推定の精度の低下を防止することができる。
【0089】
なお、切替器304は、印加方法指令signal_noise_methodが“SIGNAL_ON_POS(0)”または“SIGNAL_ON_NEG(1)”の何れに設定されている場合でも、同相鏡相電流ベクトル生成器301を鏡相推定器302に接続することにより、鏡相推定器302に入力される同相電流ベクトルIhp及び鏡相電流ベクトルIhnの出力元を同相鏡相電流ベクトル生成器301にする。
【0090】
また、切替器304は、印加方法指令signal_noise_methodが“SIGNAL_ON_POS(0)”と“SIGNAL_ON_NEG(1)”との間で切り替わった時点(以下では「第一位相切替時点」と呼ぶことがある)から所定待機時間が経過した時点から、次の位相切替時点(以下では「第二位相切替時点」と呼ぶことがある)までの区間(以下では「第三所定区間」と呼ぶことがある)において同相鏡相電流ベクトル生成器301を鏡相推定器302に接続し、第二位相切替時点から所定待機時間が経過する時点までの区間(以下では「第四所定区間」と呼ぶことがある)においてフィルタ補正電流推定器303を鏡相推定器302に接続しても良い。ここで、高周波電圧の位相の切替直後は、高周波電流が不安定になる。そこで、所定待機時間としては、高周波電流が安定するまでの時間、例えば、高周波電圧の1周期に相当する時間を設定する。この場合、図9の第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の制御が不安定になってしまうことを防止できる。
【0091】
以上、実施例2について説明した。
【0092】
[実施例3]
<カウント算出器、指令生成器、高周波電圧指令値生成器及び切替器の動作>
図11は、本開示の実施例3のカウント算出器、指令生成器及び高周波電圧指令値生成器の動作例を示す図である。実施例3では、図11に示すように、無印加区間を設けつつ、高周波電圧の位相を正相である第一位相と、第一位相と逆の位相である逆相の第二位相とに交互に反転させる点が実施例1,2と相違する。つまり、実施例3は、実施例1と実施例2とを組み合わせたものである。以下、実施例1,2と異なる点について説明する。
【0093】
カウント算出器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にリセットする。
【0094】
指令生成器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)”との間で切り替える。
【0095】
図11には、高周波位相ω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)”との間で交互に設定される。
【0096】
高周波電圧指令値生成器43には、印加方法指令signal_noise_methodが入力される。高周波電圧指令値生成器43は、以下のように、印加方法指令signal_noise_methodに従って、高周波電圧振幅指令値Vhと、高周波位相ωhtとに基づいて、d軸高周波電圧指令値Vdh及びq軸高周波電圧指令値Vqhを生成する。
【0097】
高周波電圧指令値生成器43は、騒音低減指令生成器71から入力される印加方法指令signal_noise_methodが“SIGNAL_ON_POS(0)”に設定されているときは、式(1)に従ってd軸高周波電圧指令値Vdh及びq軸高周波電圧指令値Vqhを生成する。
【0098】
また、高周波電圧指令値生成器43は、騒音低減指令生成器71から入力される印加方法指令signal_noise_methodが“SIGNAL_ON_NEG(1)”に設定されているときは、式(14)に従ってd軸高周波電圧指令値Vdh及びq軸高周波電圧指令値Vqhを生成する。
【0099】
また、高周波電圧指令値生成器43は、騒音低減指令生成器71から入力される印加方法指令signal_noise_methodが“SIGNAL_OFF(2)”に設定されているときは、式(2)に従ってd軸高周波電圧指令値Vdh及びq軸高周波電圧指令値Vqhを生成する。
【0100】
よって、有印加区間数Xが“3”に設定されているのに対して、無印加区間数Yが“1”に設定されている場合は、図11に示すように、第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に印加する。
【0101】
以下では、実施例3の印加方法、つまり、高周波電圧がモータMに断続的に印加されるとともに、高周波電圧がモータに印加される区間ごとに、正相の高周波電圧と逆相の高周波電圧とが交互にモータMに印加される印加方法を「第四印加方法NCD」と表記する。
【0102】
ここで、高周波電圧の印加方法として第四印加方法NCDが用いられると側帯波が発生する。第四印加方法NCDが用いられた場合の側帯波の周波数は高周波電流周波数fhに基づいて“fh±fh/(2(X+Y))”と表される。
【0103】
一例として、高周波電流周波数fhが250Hzの場合において、高周波電圧の印加方法として第四印加方法NC4が用いられる場合には、図12に示すように、最大の騒音スペクトルを有する側帯波が250Hz±31.25Hzに出現する一方で、第一印加方法NCAが用いられる場合(図4)に比べて、高周波電圧の印加によって発生する250Hzの時間平均での騒音のレベルを低減することができる。図12は、本開示の実施例3の騒音低減効果の説明に供する図である。
【0104】
このように、無印加区間を設けつつ、第一位相の高周波電圧をモータMに印加する区間と、第一位相と逆の位相である第二位相をモータMに印加する区間とを交互に設けることで、モータMの時間平均での騒音レベルを低減することができるため、モータMの騒音を抑えることができる。
【0105】
なお、切替器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にする。
【0106】
なお、切替器304は、実施例1と同様に、“SIGNAL_ON_POS(0)”または“SIGNAL_ON_NEG(1)”に設定されている印加方法指令signal_noise_methodの入力が開始された時点(つまり、有印加区間開始時点)から所定待機時間が経過した時点から、“SIGNAL_OFF(2)”に設定されている印加方法指令signal_noise_methodの入力が開始された時点(つまり、有印加区間終了時点)までの区間(以下では「第五所定区間」と呼ぶことがある)において同相鏡相電流ベクトル生成器301を鏡相推定器302に接続し、有印加区間終了時点から、次の有印加区間開始時点から所定待機時間が経過する時点までの区間(以下では「第六所定区間」と呼ぶことがある)においてフィルタ補正電流推定器303を鏡相推定器302に接続しても良い。ここで、高周波電圧を印加開始直後は、高周波電流が不安定になる。そこで、所定待機時間としては、高周波電流が安定するまでの時間、例えば、高周波電圧の1周期に相当する時間を設定する。この場合、図11の第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の制御が不安定になってしまうことを防止できる。
【0107】
また、フィルタ補正電流推定器303は、無印加区間において、モータMに印加される高周波電圧として、第一位相の高周波電圧と第二位相の高周波電圧のうち次に印加される方の高周波電圧に基づいて同相電流ベクトルIhp及び鏡相電流ベクトルIhnを算出しても良い。こうすることで、次の有印加区間開始時点において、鏡相推定器302に入力される同相電流ベクトルIhp及び鏡相電流ベクトルIhnの変化が小さくなるため、モータMの制御が不安定になってしまうことを防止できる。
【0108】
以上、実施例3について説明した。
【0109】
[実施例4]
<高周波電圧指令値生成器の動作>
図13は、本開示の実施例4の高周波電圧指令値生成器の動作例を示す図である。実施例4では、図13に示すように、有印加区間の終了時に、d軸高周波電圧指令値Vdhよりもq軸高周波電圧指令値Vqhを4分の1周期長く生成する点が実施例3と相違する。以下、実施例3と異なる点について説明する。
【0110】
高周波電圧指令値生成器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の生成を継続する。
【0111】
よって、有印加区間数Xが“3”に設定されているのに対して、無印加区間数Yが“1”に設定されている場合は、図13に示すように、第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に印加される。
【0112】
こうすることで、図13に示すように、無印加区間において高周波d軸電流Idh及び高周波q軸電流Iqhの双方を0付近にすることができるため、電流制御器20に入力される電流の急峻な変化を抑制することができ、モータMの制御が不安定になってしまうことを防止できる。
【0113】
なお、有印加区間の終了時に、d軸高周波電圧指令値Vdhよりもq軸高周波電圧指令値Vqhを4分の1周期長く生成する点を実施例1に適用しても良い。
【0114】
以上、実施例4について説明した。
【0115】
[実施例5]
<軸誤差演算器の構成>
図14は、本開示の実施例5の軸誤差演算器の構成例を示す図である。図14に示す軸誤差演算器30bは、図1に示す軸誤差演算器30に該当する。図14において、軸誤差演算器30bは、同相鏡相電流ベクトル生成器301と、鏡相推定器302と、フィルタ補正電流推定器305と、切替器304とを有する。以下、実施例1と異なる点について説明する。
【0116】
フィルタ補正電流推定器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】
【0117】
以上、実施例5について説明した。
【0118】
[実施例6]
<モータ制御装置の構成>
図15は、本開示の実施例6のモータ制御装置の構成例を示す図である。図15に示すモータ制御装置100bでは、高周波電流減算器41及び駆動成分除去フィルタ61に替えて、駆動/高調波分離フィルタ62を有する点が実施例1の御装置100aと相違する。以下、実施例1と異なる点について説明する。
【0119】
駆動高調波分離フィルタ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へ出力する。
【0120】
以上、実施例6について説明した。
【0121】
[実施例7]
<モータ制御装置の構成>
図16は、本開示の実施例7のモータ制御装置の構成例を示す図である。図16に示すモータ制御装置100cでは、高周波電流減算器41及び駆動成分除去フィルタ61に替えて、駆動電流減算器48及び高周波電流除去フィルタ63を有する点が実施例1の御装置100aと相違する。以下、実施例1と異なる点について説明する。
【0122】
駆動電流減算器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が入力される。
【0123】
高周波電流除去フィルタ63は、例えばノッチフィルタを用いてd軸電流Idから高周波d軸電流Idhを除去することにより高周波除去d軸電流Idmを得るとともに、q軸電流Iqから高周波q軸電流Iqhを除去することにより高周波除去q軸電流Iqmを得る。高周波電流除去フィルタ63は、高周波除去d軸電流Idmを減算器18,48aへ出力し、高周波除去q軸電流Iqmを減算器19,48bへ出力する。
【0124】
減算器48aは、d軸電流Idから高周波除去d軸電流Idmを減算することにより高周波d軸電流Idhを算出する。減算器48bは、q軸電流Iqから高周波除去q軸電流Iqmを減算することにより高周波q軸電流Iqhを算出する。
【0125】
以上、実施例7について説明した。
【0126】
実施例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の制御が最も安定する。
【0127】
以上のように、本開示のモータ制御装置(実施例のモータ制御装置100a)は、推定器(実施例の位置推定器32、PLL制御器31及び軸誤差演算器30)と、印加部(実施例2,3の高周波電圧指令値生成器43)とを有する。推定器は、高周波電圧がモータ(実施例のモータM)に印加されることにより発生する高周波電流に基づいて、モータが有するロータの位置を推定する。印加部は、高周波電圧として、第一の高周波電圧(実施例の第一位相の高周波電圧)と、第一の高周波電圧に対して逆位相となる第二の高周波電圧(実施例の第二位相の高周波電圧)とを交互にモータに印加する。例えば、第一の高周波電圧と第二の高周波電圧は電圧の振幅が同じである。
【0128】
また、推定器は、高周波電流を用いて軸誤差を算出する軸誤差演算器(実施例の軸誤差演算器30)を有する。軸誤差演算器は、第一の同相鏡相電流ベクトル生成器(実施例の同相鏡相電流ベクトル生成器301)と、第二の同相鏡相電流ベクトル生成器(実施例のフィルタ補正電流推定器303,305)と、鏡相推定器(実施例の鏡相推定器302)とを有する。第一の同相鏡相電流ベクトル生成器は、高周波電流を用いて第一の同相鏡相電流ベクトルを算出する。第二の同相鏡相電流ベクトル生成器は、高周波電圧がモータに印加された場合に発生する同相鏡相電流ベクトルを推定することにより第二の同相鏡相電流ベクトルを算出する。鏡相推定器は、第一の同相鏡相電流ベクトルまたは第二の同相鏡相電流ベクトルを用いて軸誤差を算出する。
【0129】
また、鏡相推定器は、第一区間で第一の同相鏡相電流ベクトルを用いて軸誤差を算出する一方で、第二区間で第二の同相鏡相電流ベクトルを用いて軸誤差を算出する。第一区間は、モータに印加される高周波電圧が第一の高周波電圧と第二の高周波電圧との間で切り替わった第一時点(実施例の第一位相切替時点)から所定の待機時間が経過した時点から、モータに印加される高周波電圧が第一の高周波電圧と第二の高周波電圧との間で再び切り替わる第二時点(実施例の第二位相切替時点)までの区間(実施例2の第三所定区間)である。第二区間は、第二時点から所定の待機時間が経過する時点までの区間(実施例2の第四所定区間)である。
【0130】
また、印加部(実施例3の高周波電圧指令値生成器43)は、第一の高周波電圧と第二の高周波電圧との間で切り替わった高周波電圧がモータに印加される前の無印加区間において、高周波電圧をモータに印加しない。
【0131】
また、鏡相推定器は、第一区間で第一の同相鏡相電流ベクトルを用いて軸誤差を算出する一方で、第二区間で第二の同相鏡相電流ベクトルを用いて軸誤差を算出する。第一区間は、モータへの高周波電圧の印加を開始する第一の開始時点(実施例の有印加区間開始時点)から所定待機時間が経過した時点から、モータへの高周波電圧の印加を終了する終了時点(実施例の有印加区間終了時点)までの区間(実施例3の第五所定区間)である。第二区間は、モータへの高周波電圧の印加を終了する終了時点から、モータへの高周波電圧の印加を開始する第二の開始時点(実施例の次の有印加区間開始時点)から所定待機時間が経過した時点までの区間(実施例3の第六所定区間)である。
【0132】
また、第二の同相鏡相電流ベクトル生成器は、無印加区間において、モータに印加される高周波電圧として、第一の高周波電圧と第二の高周波電圧のうち次に印加される方の高周波電圧に基づいて第二の同相鏡相電流ベクトルを算出する。
【符号の説明】
【0133】
100a,100b,100c モータ制御装置
28 3φ電流算出器
30 軸誤差演算器
301 同相鏡相電流ベクトル生成器
302 鏡相推定器
303,305 フィルタ補正電流推定器
31 PLL制御器
32 位置推定器
41 高周波電流減算器
43 高周波電圧指令値生成器
61 駆動成分除去フィルタ
M モータ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16