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

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

▶ 日産自動車株式会社の特許一覧

特開2024-112668オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置
<>
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図1
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図2
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図3
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図4
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図5
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図6
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図7
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図8
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図9
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図10
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024112668
(43)【公開日】2024-08-21
(54)【発明の名称】オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置
(51)【国際特許分類】
   H02P 25/22 20060101AFI20240814BHJP
【FI】
H02P25/22
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023017872
(22)【出願日】2023-02-08
(71)【出願人】
【識別番号】000003997
【氏名又は名称】日産自動車株式会社
(74)【代理人】
【識別番号】110002468
【氏名又は名称】弁理士法人後藤特許事務所
(72)【発明者】
【氏名】渋谷 圭一
(72)【発明者】
【氏名】中村 幸代
(72)【発明者】
【氏名】澤田 彰
【テーマコード(参考)】
5H505
【Fターム(参考)】
5H505AA16
5H505BB10
5H505CC04
5H505DD06
5H505EE41
5H505EE49
5H505GG08
5H505HB01
5H505HB05
5H505JJ04
5H505JJ16
5H505JJ17
5H505JJ25
5H505LL07
5H505LL22
5H505LL41
(57)【要約】
【課題】インバータのスイッチング周波数が変化した場合でも、零相電流を抑制できるオープン巻線型モータの制御方法及び制御装置を提供する。
【解決手段】固定子として独立した複数相の巻線11を有し、インバータ22によって各相の巻線11に電力を供給することによって駆動するオープン巻線型モータ(10)の制御方法である。この制御方法では、オープン巻線型モータ(10)を駆動するときに各相の巻線11に共通に流れる零相電流iを抑制する零相指令値(i またはvz1 )を演算し、インバータ22のスイッチング周波数fswに基づいて零相指令値(i またはvz1 )を補正し、補正後の零相指令値(v )を用いて零相電流iを制御する。
【選択図】図1
【特許請求の範囲】
【請求項1】
固定子として独立した複数相の巻線を有し、インバータによって各相の前記巻線に電力を供給することによって駆動するオープン巻線型モータの制御方法であって、
前記オープン巻線型モータを駆動するときに各相の前記巻線に共通に流れる零相電流を抑制する零相指令値を演算し、
前記インバータのスイッチング周波数に基づいて前記零相指令値を補正し、
補正後の前記零相指令値を用いて前記零相電流を制御する、
オープン巻線型モータの制御方法。
【請求項2】
請求項1に記載のオープン巻線型モータの制御方法であって、
前記スイッチング周波数に応じて前記零相電流に生じる成分に応じた振幅、位相、または、前記振幅及び前記位相を推定し、
前記振幅、前記位相、または、前記振幅及び前記位相に基づいて、前記零相指令値に対する補正指令値を演算し、
前記補正指令値によって前記零相指令値を補正する、
オープン巻線型モータの制御方法。
【請求項3】
請求項1に記載のオープン巻線型モータの制御方法であって、
前記零相指令値は、前記オープン巻線型モータの相数の奇数倍の次数を有する高調波を抑制する、
オープン巻線型モータの制御方法。
【請求項4】
請求項2に記載のオープン巻線型モータの制御方法であって、
複数の前記スイッチング周波数について、各々の前記スイッチング周波数と、前記振幅、前記位相、または、前記振幅及び前記位相と、を予め対応付けたマップを参照することにより、前記スイッチング周波数に対応する前記振幅、前記位相、または、前記振幅及び前記位相の値を演算し、
前記マップが実際の前記スイッチング周波数に対応する値を有しないときには、前記マップを補間することにより、実際の前記スイッチング周波数に対応する前記振幅、前記位相、または、前記振幅及び前記位相の値を演算する、
オープン巻線型モータの制御方法。
【請求項5】
請求項2に記載のオープン巻線型モータの制御方法であって、
基準とする前記スイッチング周波数である基準スイッチング周波数と、前記振幅、前記位相、または、前記振幅及び前記位相と、を予め対応付けたマップを参照することにより、前記スイッチング周波数に対応する前記振幅、前記位相、または、前記振幅及び前記位相の基準値を演算し、
実際の前記スイッチング周波数が前記基準スイッチング周波数と異なるときには、実際の前記スイッチング周波数と前記基準スイッチング周波数の差と、前記基準値と、に基づいて、実際の前記スイッチング周波数に対応する前記振幅、前記位相、または、前記振幅及び前記位相を演算する、
オープン巻線型モータの制御方法。
【請求項6】
請求項5に記載のオープン巻線型モータの制御方法であって、
前記差に応じて前記基準値を補正することにより、実際の前記スイッチング周波数に対応する前記振幅、前記位相、または、前記振幅及び前記位相を演算し、
前記差が大きいほど、前記基準値に対する補正量を大きくする、
オープン巻線型モータの制御方法。
【請求項7】
請求項1に記載のオープン巻線型モータの制御方法であって、
前記零相指令値の補正に対して補正ゲインを設定し、
前記オープン巻線型モータの駆動状態に応じて前記補正ゲインを変更する、
オープン巻線型モータの制御方法。
【請求項8】
請求項7に記載のオープン巻線型モータの制御方法であって、
回転速度が基準回転速度よりも大きいときに、または、前記オープン巻線型モータに印加する電圧のノルムが基準電圧ノルムよりも大きいときに、前記補正ゲインを低減する、
オープン巻線型モータの制御方法。
【請求項9】
固定子として独立した複数相の巻線を有し、インバータによって各相の前記巻線に電力を供給するオープン巻線型モータの制御装置であって、
前記オープン巻線型モータを駆動するときに各相の前記巻線に共通に流れる零相電流を抑制する零相指令値を演算し、
前記インバータのスイッチング周波数に基づいて前記零相指令値を補正し、
補正後の前記零相指令値を用いて前記零相電流を制御する、
オープン巻線型モータの制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オープン巻線型モータの制御方法及び制御装置に関する。
【背景技術】
【0002】
特許文献1は、オープン巻線型モータの制御に関し、インバータを3種類のスイッチングパターンで駆動することにより、各相に共通に流れる零相電流を生じさせないようにすることを開示している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-031458号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、出力向上を目的として、各相の巻線(固定子巻線)を結線せずに独立させ、各相の巻線の両端にそれぞれインバータを接続し、これら2つのインバータによって各相の巻線に供給する電力を制御するオープン巻線型モータが知られている。オープン巻線型モータでは、各インバータが供給しようとする平均電力の差に応じて、各相に共通に流れる電流成分である零相電流(零軸電流)が生じる。そして、零相電流はオープン巻線型モータの駆動に何ら寄与せず、単に電力の損失をもたらすので、零相電流は可能な限り抑制されることが望ましい。したがって、オープン巻線型モータの制御においては、フィードフォワード制御により、オープン巻線型モータの駆動状態(動作点)に応じて、零相電流を抑制(相殺)する電流が零相に流れるように制御される。
【0005】
一方、インバータのスイッチングによって発生する外乱は、零相電流の特性に大きな影響を与える。このため、オープン巻線型モータが特定の駆動状態であったとしても、インバータのスイッチング周波数が変化したときには、零相電流の特性が大きく変化する。したがって、インバータのスイッチング周波数が変化したときには、零相に単にオープン巻線型モータの駆動状態に応じた電流を流すだけでは、十分に零相電流を抑制することができない。
【0006】
本発明は、インバータのスイッチング周波数が変化した場合でも、零相電流を抑制できるオープン巻線型モータの制御方法及び制御装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明のある態様は、固定子として独立した複数相の巻線を有し、インバータによって各相の巻線に電力を供給することによって駆動するオープン巻線型モータの制御方法である。このオープン巻線型モータの制御方法では、オープン巻線型モータを駆動するときに各相の巻線に共通に流れる零相電流を抑制する零相指令値を演算し、インバータのスイッチング周波数に基づいて零相指令値を補正し、補正後の零相指令値を用いて零相電流を制御する。
【発明の効果】
【0008】
本発明によれば、インバータのスイッチング周波数が変化した場合でも、零相電流を抑制できるオープン巻線型モータの制御方法及び制御装置を提供することができる。
【図面の簡単な説明】
【0009】
図1図1は、オープン巻線型モータの制御装置を示すブロック図である。
図2図2は、零相電流補正部の構成を示すブロック図である。
図3図3は、零相電流の特性を示す説明図である。
図4図4は、制御定数マップの性質を示すための説明図である。
図5図5は、制御定数マップの性質を示すための説明図である。
図6図6は、オープン巻線型モータの制御に係るフローチャートである。
図7図7は、零相電流の変動幅を示すグラフである。
図8図8は、第2実施形態に係る零相電流補正部の構成を示すブロック図である。
図9図9は、制御定数マップが有する値と補間の例を示す説明図である。
図10図10は、第3実施形態に係る零相電流補正部の構成を示すブロック図である。
図11図11は、制御定数補正部による補正方法を示す説明図である。
【発明を実施するための形態】
【0010】
以下、図面を参照しながら本発明の実施形態について説明する。
【0011】
[第1実施形態]
図1は、オープン巻線型モータ10の制御装置100の構成を示すブロック図である。本実施形態のオープン巻線型モータ10及びその制御装置100は、例えば電気自動車やハイブリッド自動車等の電動車両に搭載される。この場合、オープン巻線型モータ10は、電動車両の駆動源である電動機として、または、電動車両が搭載する発電システムにおける発電機として利用される。なお、オープン巻線型モータ10及びその制御装置100は、自動車以外のシステムに搭載され得る。
【0012】
図1に示すように、制御装置100の制御対象はオープン巻線型モータ10(以下、単にモータ10という)である。制御装置100は、モータ10を予め定める所定の制御周期で制御するようにプログラムされている。モータ10は、各相の固定子巻線(以下、単に巻線11という)が結線されておらず、巻線11は電気的にそれぞれ独立している。すなわち、モータ10は、いわゆる中性点を有しない。本実施形態では、モータ10は、三相交流同期モータであり、その巻線11はUVWの各相で独立している。モータ10は、電源12から各相の巻線11にそれぞれ電力を供給することによって、図示しない回転子を回転させる。電源12は、例えば、電動車両に搭載された積層型リチウムイオンバッテリ等である。
【0013】
制御装置100は、電流指令値演算部13、電流制御部14、非干渉制御部15、第2電圧指令値演算部16、零相電流補正部17、最終電圧指令値演算部18、外乱補償部19、座標変換部20、PWM変換部21、インバータ22を備える。
【0014】
電流指令値演算部13は、トルク指令値T、モータ10の回転速度を表すパラメータ、及び、電源12の直流電圧Vdcに基づいて、d軸電流指令値i 、q軸電流指令値i 、及び、零相電流指令値i を演算する。
【0015】
トルク指令値Tは、モータ10が出力すべきトルクについての指令値である。トルク指令値Tは、例えば、モータ10及び制御装置100が搭載された電動車両のアクセル開度APO(図示しない)等に応じて決定される。本実施形態では、トルク指令値Tは既知であるものとする。制御装置100は、トルク指令値Tを例えば図示しない上位のコントローラ(車両コントローラ)等から取得する。
【0016】
モータ10の回転速度を表すパラメータは、例えば、モータ10の電気角速度ωre、機械角速度ωrm、または、回転数N(図示しない)等である。本実施形態では、電流指令値演算部13は、モータ10の回転速度を表すパラメータとして、機械角速度ωrmを用いる。
【0017】
電源12の直流電圧Vdcは、例えば図示しない電圧センサによって、適宜に取得可能である。
【0018】
d軸電流指令値i 及びq軸電流指令値i (以下、まとめてdq軸電流指令値i ,i という)は、モータ10がトルク指令値Tに応じたトルクを出力するように、d軸及びq軸に流すべき電流を指令する指令値である。すなわち、dq軸電流指令値i ,i は、モータ10の駆動を制御する駆動用指令値である。dq軸は、モータ10の電気角速度ωreで回転する直交座標系である。
【0019】
零相電流指令値i は、零相電流iを抑制(相殺)するように、敢えて流そうとする零相電流i′を指令する。零相電流iは、多相式不平衡交流回路において各巻線11に同相で流れる電流である。より簡便に言えば、零相電流iは、モータ10を駆動したときに各相に共通に流れる電流である。すなわち、零相電流指令値i は、原則としてi+i′≒0となるように、モータ10の駆動状態に応じた零相電流i′を指令する。したがって、零相電流指令値i は、モータ10の駆動には寄与しない。零相電流指令値i は、いわばフィードフォワード制御によって定まる零相についての電流指令値である。
【0020】
本実施形態では、電流指令値演算部13は、トルク指令値T及び直流電圧Vdcと、dq軸電流指令値i ,i 及び零相電流指令値i と、を実験またはシミュレーション等によって予め対応付けた電流指令値マップ(図示しない)を有する。このため、電流指令値演算部13は、電流指令値マップを参照することにより、トルク指令値T及び直流電圧Vdcに対応するdq軸電流指令値i ,i 及び零相電流指令値i を演算する。
【0021】
電流制御部14は、dq軸電流指令値i ,i と、実際のd軸電流i及びq軸電流i(以下、dq軸電流i,iという)と、に基づいて、第1d軸電圧指令値vd1 及び第1q軸電圧指令値vq1 (以下、第1dq軸電圧指令値vd1 ,vq1 という)を演算する。第1dq軸電圧指令vd1 ,vq1 は、dq軸電流指令値i ,i に対応するdq軸電流i,iを流すために、モータ10のdq軸に印加すべき電圧についての指令値である。第1dq軸電圧指令値vd1 ,vq1 は、フィードバック制御によって定まるdq軸についての電圧指令値である。電流制御部14は、dq軸電流指令値i ,i と実際のdq軸電流i,iの偏差に基づくPI(Proportional Integral)制御により、第1dq軸電圧指令値vd1 ,vq1 を演算する。これにより、dq軸電流i,iは、定常偏差がないとみなせる所定の応答性でdq軸電流指令値i ,i に追従する。
【0022】
また、電流制御部14は、零相電流指令値i と、実際の零相電流iと、に基づいて第1零相電圧指令値vz1 を演算する。第1零相電圧指令値vz1 は、零相電流指令値i に対応する零相電流i′を流すために、モータ10の零相に印加すべき電圧についての指令値である。第1零相電圧指令値vz1 は、フィードバック制御によって定まる零相についての電圧指令値である。電流制御部14は、零相電流指令値i と実際の零相電流iとの偏差に基づくPI制御により、第1零相電圧指令値vz1 を演算する。これにより、零相電流iが抑制される。
【0023】
非干渉制御部15は、モータ10の電気角速度ωre及び電気角θreと、dq軸電流指令値i ,i と、に基づいて、d軸非干渉化電圧vd-dcpl及びq軸非干渉化電圧vq-dcpl(以下、dq軸非干渉化電圧vd-dcpl,vq-dcplという)を演算する。dq軸非干渉化電圧vd-dcpl,vq-dcplは、dq軸間の干渉によって生じる電圧(干渉電圧)を相殺する電圧についての指令値である。本実施形態では、非干渉制御部15は、モータ10の電気角θreとして、先読み補償処理を施した電気角θre′を用いる。
【0024】
なお、本実施形態では、非干渉制御部15は、零相についての非干渉化電圧(以下、零相非干渉化電圧vz-dcplという)を演算しない。これは、後述する第1零相電圧指令値vz1 に対する補正が、同時に第1零相電圧指令値vz1 の非干渉化も兼ねるように設計されているからである。したがって、第1零相電圧指令値vz1 に対する補正が、第1零相電圧指令値vz1 の非干渉化を考慮しない設計となっているときには、非干渉制御部15は、dq軸非干渉化電圧vd-dcpl,vq-dcplと同様に、dq軸と零相の干渉によって生じる電圧を相殺する零相非干渉化電圧vz-dcplを演算することができる。
【0025】
第2電圧指令値演算部16は、第1dq軸電圧指令値vd1 ,vq1 にdq軸非干渉化電圧vd-dcpl,vq-dcplを加算することにより、非干渉化された第2d軸電圧指令値vd2 及び第2q軸電圧指令値vq2 (以下、第2dq軸電圧指令値vd2 ,vq2 という)を演算する。
【0026】
また、第2電圧指令値演算部16は、零相電流補正部17が出力する補正指令値vz-s を用いて第1零相電圧指令値vz1 を補正することにより、第2零相電圧指令値vz2 を演算する。本実施形態では、第2電圧指令値演算部16は、第1零相電圧指令値vz1 に補正指令値vz-s を加算(重畳)することにより、第2零相電圧指令値vz2 を演算する。
【0027】
零相電流補正部17は、機械角速度ωrm、電気角速度ωre、dq軸電流指令値i ,i 、及び、電気角θre、及び、インバータ22のスイッチング周波数fswに基づいて、第1零相電圧指令値vz1 に対する補正指令値vz-s を演算する。補正指令値vz-s は、スイッチング周波数fswに応じて零相電流iに生じる成分、すなわちスイッチング周波数fswの変化に起因した零相電流iの増減を抑制(相殺)するための指令値である。零相電流補正部17の構成については、詳細を後述する。なお、本実施形態では、零相電流補正部17は、モータ10の電気角θreとして、先読み補償処理を施した電気角θre′を用いる。また、本実施形態では、零相電流補正部17は、スイッチング周波数fswをPWM変換部21から取得するが、図示しない上位のコントローラ等からスイッチング周波数fswを取得することができる。
【0028】
最終電圧指令値演算部18は、第2dq軸電圧指令値vd2 ,vq2 に対して外乱補償処理を施すことにより、外乱による変動を補償した最終d軸電圧指令値v 及び最終q軸電圧指令値v (以下、最終dq軸電圧指令値v ,v という)を演算する。本実施形態では、最終電圧指令値演算部18は、第2軸電圧指令値vd2 ,vq2 に、外乱補償部19の出力であるd軸外乱推定値vd-dist及びq軸外乱推定値vq-distをそれぞれ加算することにより、最終dq軸電圧指令値v ,v を演算する。
【0029】
また、最終電圧指令値演算部18は、第2零相電圧指令値vz2 に対して外乱補償処理を施すことにより、外乱による変動を補償した最終零相電圧指令値v を演算する。本実施形態では、最終電圧指令値演算部18は、第2零相電圧指令値vz2 に、外乱補償部19の出力である零相外乱推定値vz-distを加算することにより、最終零相電圧指令値v を演算する。
【0030】
外乱補償部19は、電気角速度ωre、電気角θre、最終dq軸電圧指令値v ,v 、最終零相電圧指令値v 、dq軸電流i,i、及び、零相電流iに基づいて、モータ10に作用した外乱を、dq軸及び零相についてそれぞれ推定する。外乱補償部19は、推定結果を、d軸外乱推定値vd-dist、q軸外乱推定値vq-dist、及び、零相外乱推定値vz-distとして出力する。
【0031】
座標変換部20は、dq軸に零相成分を含めたdqz座標系からUVW軸の三相交流座標系への座標変換により、最終dq軸電圧指令値vd2 ,vq2 及び最終零相電圧指令値v を、UVW各相の電圧指令値v ,v ,v を演算する。具体的には、座標変換部20は、下記の式(1)にしたがって、最終dq軸電圧指令値vd2 ,vq2 及び最終零相電圧指令値v を、UVW各相の電圧指令値(以下、三相電圧指令値v ,v ,v という)を演算する。なお、本実施形態の座標変換部20は、モータ10の電気角θreとして先読み補償処理を施した電気角θre′を用いる。
【0032】
【数1】
【0033】
PWM変換部21は、三相電圧指令値v ,v ,v に基づいて、インバータ22のスイッチング素子に対する駆動信号であるPWM(Pulse Width Modulation)信号Duru ,Durl ,Dvru ,Dvrl ,Dwru ,Dwrl ,Dulu ,Dull ,Dvlu ,Dvll ,Dwlu ,Dwll を演算する。具体的には、PWM変換部21は、三相電圧指令値v ,v ,v と直流電圧Vdcに基づいてデューティ指令値(あるいは比較値)を生成し、そのデューティ指令値とキャリア波のコンペアマッチにより、上記のPWM信号を生成する。このため、インバータ22のスイッチング周波数fswは、PWM変換部21が用いるキャリア波の周波数(以下、キャリア周波数という)によって変化する。そして、PWM変換部21は、モータ10の温度やモータ10に印加する電圧のノルム等に応じて、キャリア波を変更することがある。このとき、モータ10に要求された駆動状態(トルクや回転速度)が変わらなくても、インバータ22のスイッチング周波数fswが変化する。また、PWM変換部21は、モータ10の回転(例えば電気角θre)に依存したキャリア波を用いる等、キャリア周波数を実質的に連続的に変化させる場合がある。この場合、インバータ22のスイッチング周波数fswも実質的に連続的に変化する。
【0034】
インバータ22は、PWM変換部21から入力されるPWM信号に基づいてスイッチング素子を駆動することにより、電源12の直流電圧Vdcを交流電圧v,v,vに変換して、モータ10に供給する。スイッチング素子は、例えば絶縁ゲート型バイポーラトランジスタ(IGBT)等である。
【0035】
本実施形態では、モータ10は前述のようにオープン巻線型であるため、インバータ22は、第1インバータ22Rは、各相の巻線11の一端に接続される第1インバータ22Rと、各相の巻線の他端に接続される第2インバータ22Lと、によって構成される。上記のPWM信号のうち、Duru ,Durl ,Dvru ,Dvrl ,Dwru ,Dwrl は第1インバータ22Rのスイッチング素子に対する駆動信号であり、Dulu ,Dull ,Dvlu ,Dvll ,Dwlu ,Dwll は第2インバータ22Lのスイッチング素子に対する駆動信号である。
【0036】
各相の巻線11には、第1インバータ22Rが印加しようとする電圧と、これとは逆向きに第2インバータ22Lが印加しようとする電圧と、のバランスによって電流が流れる。このとき、各インバータ22R,22Lが供給しようとする平均電力の差に応じて、各相に共通に流れ、モータ10の駆動に寄与しない電流成分である零相電流(零軸電流)iが生じる。制御装置100では、零相電流指令値i にしたがって積極的に零相電流i′を流そうとすることで、予め零相電流iが抑制(相殺)される。
【0037】
制御装置100は、上記各部で用いるパラメータを取得するために、電流センサ23、A/D変換器24、座標変換部25、磁極位置検出器26、パルスカウンタ27、角速度演算部28、及び、先読み補償部29を備える。
【0038】
電流センサ23は、インバータ22からモータ10に供給する三相交流電流i,i,iを検出する。検出された三相交流電流i,i,iは、A/D変換器24でデジタル信号に変換される。A/D変換器24は、デジタル化した三相交流電流ius,ivs,iwsを座標変換部25に出力する。
【0039】
座標変換部25は、三相交流座標系からdqz軸座標系への座標変換により、三相交流電流ius,ivs,iwsと、電気角θreと、に基づいて、dq軸電流i,i及び零相電流iを演算する。具体的には、座標変換部25は、下記の式(2)にしたがって、dq軸電流i,i及び零相電流iを演算する。
【0040】
【数2】
【0041】
式(2)から分かるとおり、零相電流iは、三相交流電流i,i,iの和を用いて表される。一般に、零相電流iは、モータ10(巻線11)の相数をnとすれば、相数nの奇数倍(1倍,3倍,5倍,…)の次数の高調波として現れる。そして、三相交流電流i,i,iを基本波とすれば、モータ10で生じる零相電流iは3次高調波成分(1n次の高調波)が主成分である。
【0042】
磁極位置検出器26は、モータ10の回転子の位置(角度)に応じたA相,B相,Z相のパルスを出力する。パルスカウンタ27は、磁極位置検出器26が出力するパルスを用いて、モータ10の電気角θreを演算する。
【0043】
角速度演算部28は、電気角θreに基づいて、電気角速度ωre、及び、機械角速度ωrmを演算する。角速度演算部28は、電気角θreの時間変化率を演算することにより、電気角速度ωreを求める。また、角速度演算部28は、電気角速度ωreをモータ10の極対数pで除算することによって機械角速度ωrmを演算する。
【0044】
先読み補償部29は、電気角θreに先読み補償処理を施すことにより、先読み補償後の電気角θre′を演算する。具体的には、先読み補償部29は、電気角θreに、上記制御系が持つむだ時間と電気角速度ωreの乗算値を加算することにより、先読み補償後の電気角θre′を演算する。
【0045】
図2は、零相電流補正部17の構成を示すブロック図である。図2に示すように、零相電流補正部17は、制御定数演算部31、補正指令値演算部32、補正実行判定部33、及び、最終補正指令値演算部34を備える。
【0046】
制御定数演算部31は、dq軸電流指令値i ,i 、機械角速度ωrm、及び、スイッチング周波数fswを入力として重畳零相電圧振幅A及び重畳零相電圧位相Dを演算する。換言すれば、制御定数演算部31は、スイッチング周波数fswが変化したことによる零相電流iの変化分を補正するための重畳零相電圧振幅A及び重畳零相電圧位相Dを演算する。すなわち、重畳零相電圧振幅A及び重畳零相電圧位相Dは、零相電流指令値i にしたがって零相電流i′を流してもなお残留(出現)する零相電流iの振幅及び位相を補正するための補正量を表す。
【0047】
具体的には、制御定数演算部31は、制御定数マップ35を参照することにより、dq軸電流指令値i ,i 、機械角速度ωrm、及び、スイッチング周波数fswに対応する重畳零相電圧振幅A及び重畳零相電圧位相Dを演算する。
【0048】
制御定数マップ35は、dq軸電流指令値i ,i 及び機械角速度ωrmによって定まるモータ10の駆動状態(いわゆる動作点)ごとに、かつ、スイッチング周波数fswごとに、重畳零相電圧振幅A及び重畳零相電圧位相Dの値を格納している。制御定数マップ35は、例えば、振幅マップfと位相マップgによって構成される。
【0049】
振幅マップfは、dq軸電流指令値i ,i 、機械角速度ωrm、及び、スイッチング周波数fswと、重畳零相電圧振幅Aと、を実験またはシミュレーション等によって予め対応付けたマップである。添字kは、奇数(k=1,3,5,…)であり、高調波の次数を指定する指標である。すなわち、振幅マップfは、相数nのk倍の次数を有する高調波成分(k×n次の高調波成分)について、その変化分に対応する重畳零相電圧振幅Azkを求めるためのマップである。本実施形態では、相数nは3であるため、例えば、k=1の振幅マップfは、零相電流iの3次高調波について、変化分に対応する重畳零相電圧振幅Az1を求めるためのマップである。
【0050】
位相マップgは、dq軸電流指令値i ,i 、機械角速度ωrm、及び、スイッチング周波数fswと、重畳零相電圧位相Dと、を実験またはシミュレーション等によって予め対応付けたマップである。添字kは、前述と同様であり、位相マップgは、k×n次の高調波成分について、その変化分に対応する重畳零相電圧位相Dzkを求めるためのマップである。本実施形態では、例えば、k=1の位相マップgは、3次高調波成分について、その変化分に対応する重畳零相電圧位相Dz1を求めるためのマップである。
【0051】
k×n次高調波成分についての重畳零相電圧振幅Azk及び重畳零相電圧位相Dzkは、下記の式(3)で表される。本実施形態では、特に高調波の次数を区別する必要がないときには、重畳零相電圧振幅Azk及び重畳零相電圧位相Dzk等の添字kは省略する場合がある。なお、スイッチング周波数fswに応じて設定される制御定数マップ35の内容については、詳細を後述する。
【0052】
【数3】
【0053】
補正指令値演算部32は、電気角θreと、電気角速度ωreと、重畳零相電圧振幅A及び重畳零相電圧位相Dと、に基づいて、第1零相電圧指令値vz1 に対する補正指令値vz-s1 を演算する。本実施形態では、補正指令値演算部32は、電気角θreとして、先読み補償後の電気角θre′を用いる。また、本実施形態では、補正指令値vz-s1 は、重畳零相電圧振幅A及び重畳零相電圧位相Dの電流成分を抑制するためにモータ10に印加すべき電圧を表す。具体的には、補正指令値vz-s1 は、下記の式(4)で表される。なお、前述のとおり、kは奇数(k=1,3,5,…)である。但し、全ての次数の高調波を考慮しなければならないわけではなく、特定の次数について、例えば零相電流iの主成分である3次高調波成分について、補正指令値vz-s1 を演算することができる。本実施形態では、簡単のため、下記の式(5)に示すように、k=1,n=3で表される3次高調波成分について、補正指令値vz-s1 を演算するものとする。
【0054】
【数4】
【0055】
補正実行判定部33は、第1零相電圧指令値vz1 に対する補正を実行するか否かを判定する。モータ10は、通常、高回転の動作点で駆動されほど誘起電圧が高くなるので、インバータ22のスイッチングによって生じる外乱電圧は、モータ10を駆動するための電圧(指令電圧)に対して相対的に小さくなる。このため、インバータ22のスイッチングによって生じる零相電流iの特性の変化は、モータ10が高回転で駆動されるほど影響が小さくなる。したがって、モータ10が高回転で駆動されるときには、第1零相電圧指令値vz1 を補正する必要性が低下する。このことから、補正実行判定部33は、モータ10の回転速度に応じて第1零相電圧指令値vz1 に対する補正をどの程度実行するか否かを判定する。そして、補正実行判定部33は、第1零相電圧指令値vz1 に対する補正の必要性に応じて、補正指令値vz-s を低減させる。
【0056】
本実施形態では、補正実行判定部33は、機械角速度ωrmに基づいて第1零相電圧指令値vz1 に対する補正を実行するか否かを判定する。そして、補正実行判定部33は、判定結果に応じて、第1零相電圧指令値vz1 に対する補正の程度を調節するためのゲイン(以下、補正ゲインKという)を設定する。補正ゲインKは、例えば機械角速度ωrmに応じて、実験またはシミュレーション等によって予め定められる。
【0057】
より具体的には、補正実行判定部33は、機械角速度ωrmを予め定める閾値(基準機械角速度)と比較する。そして、補正実行判定部33は、機械角速度ωrmが閾値以下であるときには、補正ゲインKを予め定める基準値(例えば「1」)に設定する。また、機械角速度ωrmが閾値よりも大きいときには、補正実行判定部33は、補正ゲインKを基準値よりも低減した値に設定する。補正実行判定部33は、補正ゲインKを「0」に設定することにより、第1零相電圧指令値vz1 に対する補正を停止させる場合がある。また、補正実行判定部33は、補正ゲインKを「0」に設定するときには、零相電流補正部17における演算を停止させることができる。
【0058】
なお、補正実行判定部33は、機械角速度ωrm以外であっても、モータ10の駆動状態(動作点)を表すパラメータを用いて、第1零相電圧指令値vz1 に対する補正を実行するか否かを判定することができる。例えば、補正実行判定部33は、モータ10の回転速度を表す他のパラメータを用いて、第1零相電圧指令値vz1 に対する補正を実行するか否かを判定することができる。この場合、補正実行判定部33は、モータ10の回転速度が予め定める基準回転速度(閾値)よりも大きいときに、補正ゲインKを低減する。また、補正実行判定部33は、モータ10に対して駆動のために指令する電圧のノルム(以下、指令電圧ノルムという)に基づいて、第1零相電圧指令値vz1 に対する補正を実行するか否かを判定してもよい。この場合、補正実行判定部33は、指令電圧ノルムが予め定める基準電圧ノルム(閾値)よりも大きくなったときに、補正ゲインKを低減する。指令電圧ノルムは、例えば、dq軸電流指令値i ,i によって演算可能である。すなわち、補正実行判定部33は、モータ10の駆動状態(動作点)に応じて、第1零相電圧指令値vz1 に対する補正を実行するか否かを判定し、補正ゲインKを変更することができる。
【0059】
最終補正指令値演算部34は、補正指令値演算部32が演算した補正指令値vz-s1 に、補正実行判定部33が設定した補正ゲインKを乗算することにより、第2電圧指令値演算部16で用いる最終的な補正指令値vz-s を演算する。
【0060】
<制御定数マップ>
以下、制御定数マップ35が定める重畳零相電圧振幅A及び重畳零相電圧位相Dについて説明する。
【0061】
図3は、零相電流iの特性を示す説明図である。図3では、スイッチング周波数fswが第1周波数fであるときの零相電流i(f)と、スイッチング周波数fswが第2周波数fに変化したときの零相電流i(f)と、を複素数平面上に示している。第1周波数fは、モータ10を駆動するときに通常に用いるスイッチング周波数fswであり、第2周波数fは、モータ10が高温になった場合等やモータ10が予め定めた特定の駆動状態に至ったときに用いられるスイッチング周波数fswである。
【0062】
図3では、零相電流指令値i (カウンターとなる零相電流i′)で抑制していない場合の零相電流iを示している。図3では、各零相電流i(f),i(f)について、それぞれ振幅が異なる4種類の軌道を同心楕円で示している。これらの中心Pf1,Pf2はいわゆるフェーザ表示における零相電流i(f),i(f)を表す。すなわち、中心Pf1,Pf2の偏角は、フェーザ表示における零相電流i(f),i(f)の位相を表し、中心Pf1,Pf2の原点Oからの距離は、フェーザ表示における零相電流i(f),i(f)の振幅を表す。
【0063】
図3に示すように、モータ10を駆動することによって生じる零相電流iは複素数平面において円または楕円の軌道で表される。また、零相電流指令値i は、スイッチング周波数fswに依らず、モータ10の駆動状態に応じて定められるので、実質的に、スイッチング周波数fswが第1周波数fである場合の零相電流i(f)を抑制するように決定される。すなわち、零相電流指令値i にしたがって零相電流i′を流すことは、複素数平面において零相電流i(f)の中心Pf1を原点Oにシフトさせるように、零相電流iを補償することに相当する。
【0064】
一方、スイッチング周波数fswが通常の第1周波数fから第2周波数fに変化すると、零相電流iは複素数平面上での位置が変化し、零相電流i(f)の中心Pf2は、零相電流i(f)の中心Pf1からずれた位置にシフトする。すなわち、スイッチング周波数fswの変化は、零相電流iの特性を変化させる外乱として作用する。このため、零相電流i(f)に対して零相電流指令値i にしたがった補償を行っても、零相電流i(f)の中心Pf2は、原点Oからずれた位置にシフトされる。すなわち、零相電流i(f)に対して零相電流指令値i にしたがった補償を行っても、複素数平面における中心Pf1から中心Pf2への変位分に相当する零相電流iがなお残留する。
【0065】
図4及び図5は、制御定数マップ35の性質を示すための説明図である。図4では、スイッチング周波数fswの変化によって、零相電流iの原点Oからの距離が変化した例を示す。図5では、スイッチング周波数fswの変化によって、零相電流iの偏角が変化した例を示す。
【0066】
図4に示すように、スイッチング周波数fswが第1周波数fから第2周波数fに変化したときに、中心Pf1及び中心Pf2の偏角は変わらず、原点Oからの距離が変化したとする。この場合、零相電流i(f)に対して零相電流指令値i にしたがった補償を行っても、中心Pf2は、中心Pf1と中心Pf2の距離の分だけ、原点Oから離れた位置にシフトする。このため、制御定数マップ35は、振幅マップfにおいて、中心Pf1と中心Pf2の距離を、スイッチング周波数fswが第2周波数fであるときに対応する重畳零相電圧振幅Aとして格納する。なお、図4では、中心Pf1及び中心Pf2の偏角は変わらないので、零相電流指令値i にしたがった補償により、零相電流i(f)の位相は適切に補償される。このため、位相マップgにおいて、スイッチング周波数fswが第2周波数fであるときに対応する重畳零相電圧位相Dはゼロである。
【0067】
図5に示すように、スイッチング周波数fswが第1周波数fから第2周波数fに変化したときに、中心Pf1,Pf2の原点Oからの距離は変わらず、偏角が変化したとする。この場合、零相電流i(f)に対して零相電流指令値i にしたがった補償を行っても、中心Pf2は、中心Pf1と中心Pf2の偏角の相違分だけ、原点Oに対して回転した位置にシフトする。このため、制御定数マップ35は、位相マップgにおいて、中心Pf1と中心Pf2の偏角の相違分を、スイッチング周波数fswが第2周波数fであるときに対応する重畳零相電圧位相Dとして格納する。なお、図5では、中心Pf1及び中心Pf2の原点Oからの距離は変わらないので、零相電流指令値i にしたがった補償により、零相電流i(f)の振幅は適切に補償される。このため、振幅マップfにおいて、スイッチング周波数fswが第2周波数fであるときに対応する重畳零相電圧振幅Aはゼロである。
【0068】
なお、スイッチング周波数fswが第1周波数fから第2周波数fに変化した場合、零相電流iは、通常、振幅及び位相が両方とも変化する。このため、制御定数マップ35は、通常、零相電流指令値i にしたがった補償後に残留する零相電流iについて、重畳零相電圧振幅A及び重畳零相電圧位相Dの両方を設定する。
【0069】
<作用>
以下、上記のように構成される制御装置100の作用を説明する。
【0070】
図6は、オープン巻線型モータ(モータ10)の制御に係るフローチャートである。図6に示すように、ステップS10では、三相交流電流ius,ivs,iws及び電気角θreが取得される。ステップS11では、角速度演算部28が、電気角θreに基づいて、電気角速度ωre及び機械角速度ωrmを演算する。ステップS12では、先読み補償部29が、先読み補償後の電気角θre′を演算する。
【0071】
ステップS13では、電流指令値演算部13がトルク指令値T及び直流電圧Vdcに基づいて、dq軸電流指令値i ,i 及び零相電流指令値i を演算する。ステップS14では、電流制御部14が、dq軸電流指令値i ,i 及び零相電流指令値i と、実際のdq軸電流i,i及び零相電流iと、に基づいて、第1dq軸電圧指令値vd1 ,vq1 及び第1零相電圧指令値vz1 を演算する。ステップS15では、非干渉制御部15が、電気角速度ωre、電気角θre、及び、dq軸電流指令値i ,i に基づいて、dq軸非干渉化電圧vd-dcpl,vq-dcplを演算する。
【0072】
そして、ステップS16では、零相電流補正部17が、インバータ22のスイッチング周波数fsw等に基づいて、第1零相電圧指令値vz1 に対する補正指令値vz-s を演算する。このとき、零相電流補正部17は、零相電流指令値i によって零相電流iを補償してもなお残留する電流成分について、対応する重畳零相電圧振幅A及び重畳零相電圧位相Dを演算する。そして、演算した重畳零相電圧振幅A及び重畳零相電圧位相Dに基づいて、補正指令値vz-s を演算する。
【0073】
ステップS17では、第2電圧指令値演算部16が、第1dq軸電圧指令値vd1 ,vq1 にdq軸非干渉化電圧vd-dcpl,vq-dcplを加算することにより、第2dq軸電圧指令値vd2 ,vq2 を演算する。また、ステップS17では、第2電圧指令値演算部16が、第1零相電圧指令値vz1 に補正指令値vz-s を加算することにより、第2零相電圧指令値vz2 を演算する。ステップS18では、外乱補償部19が、d軸外乱推定値vd-dist、q軸外乱推定値vq-dist、及び、零相外乱推定値vz-distを演算する。ステップS19では、最終電圧指令値演算部18が、第2dq軸電圧指令値vd2 ,vq2 にd軸外乱推定値vd-dist及びq軸外乱推定値vq-distをそれぞれ加算することにより、最終dq軸電圧指令値v ,v を演算するまた、ステップS18では、最終電圧指令値演算部18が、第2零相電圧指令値vz2 に対して零相外乱推定値vz-distを加算することにより、最終零相電圧指令値v を演算する。ステップS20では、座標変換部25が、座標変換により、最終dq軸電圧指令値vd2 ,vq2 及び最終零相電圧指令値v を、UVW各相の電圧指令値v ,v ,v を演算する。
【0074】
その後、PWM変換部21がこの電圧指令値v ,v ,v に基づくPWM信号を生成し、インバータ22に入力することで、モータ10が駆動される。このとき零相電流iが流れるが、制御装置100は、零相電流指令値i にしたがって零相電流iを抑制する電流(i′)を零相に流すので、零相電流iが抑制される。但し、零相電流指令値i にしたがって零相電流iを抑制する電流(i′)を零相に流す場合、インバータ22のスイッチング周波数fswが変化したときに、零相電流iの特性が変化するので、十分に零相電流iが抑制されないことがある。このため、上記のように、制御装置100は、零相電流指令値i にしたがった補償後になお残留する電流成分に対応する重畳零相電圧振幅A及び重畳零相電圧位相Dを演算し、その重畳零相電圧振幅A及び重畳零相電圧位相Dに基づいて、残留する電流成分をも抑制するように零相電流i′を補正する。このため、スイッチング周波数fswが変化した場合でも、零相電流iは十分に抑制される。
【0075】
図7は、零相電流iの変動幅を示すグラフである。図7(A)は、比較例における零相電流iの変動幅を示すグラフである。比較例は、零相電流指令値i にしたがって零相電流iを抑制する電流(i′)に対して、スイッチング周波数fswに応じた補正を行わない例である。図7(B)は、本実施形態による零相電流iの変動幅を示すグラフである。すなわち、零相電流指令値i にしたがって零相電流iを抑制する電流(i′)を流すときに、スイッチング周波数fswに応じた補正を行った例である。
【0076】
図7(A)に実線で示すように、比較例では、スイッチング周波数fswが通常用いる第1周波数fであるときの零相電流iの変動幅は、幅Wz-f1の程度に抑えられる。しかし、図7(A)に破線で示すように、比較例では、スイッチング周波数fswが第2周波数fに変化すると、零相電流iの変動幅は幅Wz-f2の程度に増大する。すなわち、スイッチング周波数fswの変化によって生じる零相電流iの特性の変化は、スイッチング周波数fswに依らずに決定される零相電流指令値i を用いた補償では、十分に抑制できない。
【0077】
一方、図7(B)に示すように、本実施形態では、スイッチング周波数fswが第2周波数fに変化した場合、零相電流iの変動幅は、比較例における幅Wz-f2よりも小さい幅Wz-f2′の程度に抑制される。また、図7(A)と比較すれば明らかなように、幅Wz-f2′は、スイッチング周波数fswが第1周波数fであるときの零相電流iの変動幅(幅Wz-f1)と同程度である。すなわち、本実施形態によれば、スイッチング周波数fswが変化した場合でも、零相電流iは十分に抑制される。なお、図示を省略するが、本実施形態においても、スイッチング周波数fswが第1周波数fであるときの零相電流i及びその変動幅(幅Wz-f1)は、図7の実線と同様である。
【0078】
なお、上記第1実施形態では、第1零相電圧指令値vz1 に対して補正指令値vz-s を用いた補正を行っているが、これに限らない。制御装置100は、零相電流指令値i に対して同様の補正を行うように構成することができる。この場合、零相電流補正部17は、零相電流指令値i に加算(重畳)する補正指令値iz-s (図示しない)を演算するように構成する。このように、零相電流指令値i を補正する場合も、スイッチング周波数fswが変化したときに、零相電流iが十分に抑制され得る。すなわち、スイッチング周波数fswの変化によって生じる零相電流iを抑制するための補正は、敢えて流す零相電流i′を指令する電流または電圧の指令値(零相指令値)に対して行うことができる。
【0079】
また、上記第1実施形態では、スイッチング周波数fswの変化によって生じる零相電流iの変化分に対応する重畳零相電圧振幅A及び重畳零相電圧位相Dを両方とも推定し、これらに基づいて補正指令値vz-s を演算しているが、これに限らない。スイッチング周波数fswの変化によって生じる零相電流iの変化分に対応する重畳零相電圧振幅Aまたは重畳零相電圧位相Dのいずれか一方のみを推定し、推定した重畳零相電圧振幅Aまたは重畳零相電圧位相Dに基づいて、補正指令値vz-s を演算してもよい。この場合も、スイッチング周波数fswが変化したときに生じる零相電流iは抑制され得る。但し、重畳零相電圧振幅Aまたは重畳零相電圧位相Dのいずれか一方のみを推定するときには、重畳零相電圧振幅Aを推定し、推定した重畳零相電圧振幅Aに基づいて補正指令値vz-s を演算する方が、簡便かつ零相電流iの抑制効果が高いことが多い。もちろん、上記第1実施形態では、スイッチング周波数fswの変化によって生じる零相電流iを補正する重畳零相電圧振幅A及び重畳零相電圧位相Dを両方とも推定することが最も好ましい。
【0080】
[第2実施形態]
上記第1実施形態では、制御定数マップ35がスイッチング周波数fswに応じた重畳零相電圧振幅A及び重畳零相電圧位相Dの値を有していることを前提としている。しかし、前述のとおり、スイッチング周波数fswを実質的に連続的に変化させることがあるので、あらゆるスイッチング周波数fswについて、重畳零相電圧振幅A及び重畳零相電圧位相Dの値を予め定めておくことが現実的でない場合がある。以下、第2実施形態においては、制御定数マップ35が使用するスイッチング周波数fswに対応する重畳零相電圧振幅A及び重畳零相電圧位相Dの値を有しないときに、スイッチング周波数fswに応じて生じる零相電流iを抑制する構成について説明する。なお、第1実施形態と同じ構成については説明を省略する。
【0081】
図8は、第2実施形態に係る零相電流補正部17の構成を示すブロック図である。図8に示すように、第2実施形態の零相電流補正部17では、補間部41を備える。また、制御定数マップ35は、スイッチング周波数fswに対応する重畳零相電圧振幅A及び重畳零相電圧位相Dのデータを有しないときに、そのスイッチング周波数fswに近いスイッチング周波数fswに対応する重畳零相電圧振幅A及び重畳零相電圧位相Dを出力する。例えば、ここでは、要求されたスイッチング周波数fswの近傍のスイッチング周波数fswに対応する重畳零相電圧振幅a,a及び重畳零相電圧位相d,dを出力するものとする。
【0082】
補間部41は、要求されたスイッチング周波数fswに近いスイッチング周波数fswに対応する重畳零相電圧振幅a,a及び重畳零相電圧位相d,dの値を補間することにより、要求されたスイッチング周波数fswに対応する重畳零相電圧振幅A及び重畳零相電圧位相Dを演算する。
【0083】
図9は、制御定数マップ35が有する値と補間の例を示す説明図である。図9に示すように、インバータ22のスイッチング周波数fswがある周波数fであり、振幅マップfkがこの周波数fに対応する重畳零相電圧振幅aのデータを有しないとする。この場合、振幅マップfは、例えば、周波数fの近傍の周波数f,fとその周波数f,fに対応する重畳零相電圧振幅a,aを出力する。そして、破線で示すように、補間部41は、点(f,a)と点(f,a)の間を補間するとともに、周波数f,fと周波数fの関係に基づいて、周波数fに対応する重畳零相電圧振幅aを演算する。ここでは、重畳零相電圧振幅Aについて説明したが、重畳零相電圧位相Dについても同様である。
【0084】
このように、制御定数マップ35がインバータ22で使用するスイッチング周波数fswに対応する重畳零相電圧振幅A及び重畳零相電圧位相Dの値を有しないときに、補間により、そのスイッチング周波数fswに対応する重畳零相電圧振幅A及び重畳零相電圧位相Dを演算する構成とすれば、あらゆるスイッチング周波数fswについて重畳零相電圧振幅A及び重畳零相電圧位相Dの値を予め定めておく必要がない。このため、スイッチング周波数fswを実質的に連続的に変化させる場合等においても、スイッチング周波数fswによって生じる零相電流iが十分に抑制され得る。
【0085】
[第3実施形態]
上記第2実施形態では、あらゆるスイッチング周波数fswについて、重畳零相電圧振幅A及び重畳零相電圧位相Dの値を予め定めておくことが現実的でないとしても、制御定数マップ35が、複数のスイッチング周波数fswについて重畳零相電圧振幅A及び重畳零相電圧位相Dの値を有している。しかし、制御定数マップ35が、特定の1つのスイッチング周波数fswについてだけ重畳零相電圧振幅A及び重畳零相電圧位相Dの値を有している場合でも、上記第1実施形態または第2実施形態と同様に、スイッチング周波数fswによって生じる零相電流iを抑制することができる。以下、第3実施形態においては、制御定数マップ35がある特定のスイッチング周波数(以下、基準周波数fという)についてのみ、対応する重畳零相電圧振幅A′及び重畳零相電圧位相D′の値を有しているときに、任意のスイッチング周波数fswに応じて生じる零相電流iを抑制する構成について説明する。なお、第1実施形態または第2実施形態と同じ構成については説明を省略する。
【0086】
図10は、第3実施形態に係る零相電流補正部17の構成を示すブロック図である。図10に示すように、第3実施形態の零相電流補正部17は、制御定数補正部42を備える。また、制御定数マップ35は、基準周波数fについて重畳零相電圧振幅A′及び重畳零相電圧位相D′の値を有している。このため、第3実施形態では、制御定数マップ35は、実際のスイッチング周波数fswに依らず、dq軸電流指令値i ,i 及び機械角速度ωrmに応じた重畳零相電圧振幅A′及び重畳零相電圧位相D′を出力する。すなわち、重畳零相電圧振幅A′及び重畳零相電圧位相D′は、dq軸電流指令値i ,i 及び機械角速度ωrmで指定されるモータ10の動作状態によって変化するが、スイッチング周波数fswが基準周波数fである場合の重畳零相電圧振幅A及び重畳零相電圧位相Dである。
【0087】
制御定数補正部42は、スイッチング周波数fswが基準周波数fであるときの重畳零相電圧振幅A′及び重畳零相電圧位相D′を基準値とし、基準周波数f及び実際のスイッチング周波数fswに基づいて補正することにより、実際のスイッチング周波数fswに対応する重畳零相電圧振幅A及び重畳零相電圧位相Dを演算する。
【0088】
図11は、制御定数補正部42による補正方法を示す説明図である。図11に示すように、実際のスイッチング周波数fswが、基準周波数fとは異なる周波数fであるとする。この場合、制御定数補正部42は、基準周波数fと実際の周波数fとの差Δfに応じて、制御定数マップ35が出力する重畳零相電圧振幅A′に対する補正量ΔAを決定する。具体的には、制御定数補正部42は、基準周波数fと実際の周波数fとの差Δfが大きいほど、補正量ΔAを大きくする。そして、制御定数補正部42は、基準周波数fに対応する重畳零相電圧振幅A′に補正量ΔAを加算することにより、実際の周波数fに対応する重畳零相電圧振幅Aを演算する。ここでは、重畳零相電圧振幅Aについて説明したが、重畳零相電圧位相Dについても同様である。
【0089】
このように、基準周波数fと実際の周波数fとの差Δfに応じて大きくなる補正量(ΔA)を用いれば、制御定数マップ35が基準周波数fについてだけ重畳零相電圧振幅A′及び重畳零相電圧位相D′の値を有している場合でも、任意のスイッチング周波数fswに応じて生じる零相電流iを概ね良好に抑制することができる。
【0090】
以上のように、上記第1実施形態、第2実施形態、及び、変形例(以下、上記実施形態等という)に係るオープン巻線型モータの制御方法は、固定子として独立した複数相の巻線11を有し、インバータ22によって各相の巻線11に電力を供給することによって駆動するオープン巻線型モータ(10)の制御方法である。この制御方法では、オープン巻線型モータ(10)を駆動するときに各相の巻線11に共通に流れる零相電流iを抑制する零相指令値(i またはvz1 )を演算し、インバータ22のスイッチング周波数fswに基づいて零相指令値(i またはvz1 )を補正し、補正後の零相指令値(v )を用いて零相電流iを制御する。
【0091】
原則としては、零相指令値(i またはvz1 )を設定すれば零相電流iを概ね抑制することができるが、スイッチング周波数fswが変化したときには、零相電流iの特性が変化するので、零相電流iが十分に抑制されない場合がある。このため、上記のように、スイッチング周波数fswに基づいて零相指令値(i またはvz1 )を補正すれば、スイッチング周波数fswが変化したときでも、零相電流iを十分に抑制することができる。
【0092】
上記実施形態等においては、特に、スイッチング周波数fswに応じて零相電流iに生じる成分に応じた振幅(A)、位相(D)、または、振幅(A)及び位相(D)を推定し、推定した振幅(A)、位相(D)、または、振幅(A)及び位相(D)に基づいて、零相指令値(i またはvz1 )に対する補正指令値(iz-s またはvz-s )を演算し、この補正指令値(iz-s またはvz-s )によって零相指令値(i またはvz1 )を補正する。
【0093】
このように、スイッチング周波数fswに応じて零相電流iに生じる成分に応じた振幅(A)や位相(D)を推定し、これに応じて零相指令値(i またはvz1 )を補正すれば、スイッチング周波数fswが変化したときでも、特に正確に零相電流iを抑制することができる。
【0094】
上記実施形態等においては、零相指令値(i またはvz1 )は、オープン巻線型モータ(10)の相数nの奇数倍の次数(k×n)を有する高調波を抑制する。
【0095】
零相電流iは、主にk×n次の高調波として表れるので、これを抑制するように零相指令値(i またはvz1 )を設定すれば、特に良好に零相電流iを抑制できる。
【0096】
上記実施形態等(特に第2実施形態)においては、複数のスイッチング周波数fswについて、各々のスイッチング周波数fswと、振幅(A)、位相(D)、または、振幅(A)及び位相(D)と、を予め対応付けたマップ(35)を参照することにより、スイッチング周波数fswに対応する振幅(A)、位相(D)、または、振幅(A)及び位相(D)の値を演算し、マップ(35)が実際のスイッチング周波数fswに対応する値を有しないときには、マップ(35)を補間することにより、実際のスイッチング周波数fswに対応する振幅(A)、位相(D)、または、振幅(A)及び位相(D)の値を演算する。
【0097】
このように、制御定数マップ35が、実際のスイッチング周波数fswに対応する振幅(A)及び位相(D)を有しないときには、制御定数マップ35を補間すれば、実質的に任意のスイッチング周波数fswについて、対応する振幅(A)及び位相(D)を求めることができる。したがって、制御定数マップ35を補間する構成とすれば、スイッチング周波数fswがどのように変化しても(例えば連続的に変化しても)、零相電流iを十分に抑制することができる。
【0098】
上記実施形態等(特に第3実施形態)においては、基準とするスイッチング周波数fswである基準スイッチング周波数(f)と、振幅(A)、位相(D)、または、振幅(A)及び位相(D)と、を予め対応付けたマップ(35)を参照することにより、スイッチング周波数fswに対応する振幅(A)、位相(D)、または、振幅(A)及び位相(D)の基準値(A′,D′)を演算し、実際のスイッチング周波数fswが基準スイッチング周波数(f)と異なるときには、実際のスイッチング周波数fswと基準スイッチング周波数(f)の差(Δf)と、基準値(A′,D′)と、に基づいて、実際のスイッチング周波数fswに対応する振幅(A)、位相(D)、または、振幅(A)及び位相(D)を演算する。
【0099】
このように、制御定数マップ35が基準スイッチング周波数(f)についてのみ振幅(A)及び位相(D)の値を有している場合でも、実際のスイッチング周波数fsw(f)と基準スイッチング周波数(f)の差Δfに基づいて、実際のスイッチング周波数fswに対応する振幅(A)等を演算すれば、実質的に任意のスイッチング周波数fswに対応する振幅(A)等を求めることができる。その結果、任意のスイッチング周波数fswについて、零相電流iを十分に抑制することができる。
【0100】
上記実施形態等(特に第3実施形態)においては、差(Δf)に応じて基準値(A′,D′)を補正することにより、実際のスイッチング周波数fswに対応する振幅(A)、位相(D)、または、振幅(A)及び位相(D)を演算し、差(Δf)が大きいほど、基準値(A′,D′)に対する補正量を大きくする。
【0101】
スイッチング周波数fswによって生じる零相電流iの変化に対応する振幅(A)及び位相(D)は、スイッチング周波数fswに応じて単純に増加または減少する傾向にある。このため、上記のように、実際のスイッチング周波数fsw(f)と基準スイッチング周波数(f)の差Δfが大きいほど、基準スイッチング周波数(f)に対応する振幅(A)等に対する補正量を大きくすれば、実際のスイッチング周波数fswに対応する振幅(A)及び位相(D)を概ね正しく求めることができる。このため、制御定数マップ35が基準スイッチング周波数(f)についてのみ振幅(A)及び位相(D)の値を有している場合でも、任意のスイッチング周波数fswについて、零相電流iを十分に抑制することができる。
【0102】
上記実施形態等においては、零相指令値(i またはvz1 )の補正に対して補正ゲインKを設定し、オープン巻線型モータ(10)の駆動状態に応じて補正ゲインKを変更する。
【0103】
モータ10の駆動状態(動作点)によっては、スイッチング周波数fswによって生じる零相電流iが小さくなり、実質的に零相指令値(i またはvz1 )の補正が必要でなくなる場合がある。また、これとは逆に、モータ10の駆動状態(動作点)によっては、モータ10に流れる電流(例えばi,i)と比較して、スイッチング周波数fswによって生じる零相電流iが相対的に大きくなり、零相指令値(i またはvz1 )の補正が強く要求される場合がある。このため、上記のように、零相指令値(i またはvz1 )の補正について、補正ゲインKを設定すれば、本質的に補正が必要なシーンにおいて、的確にスイッチング周波数fswによって生じる零相電流iを抑制することができる。なお、補正ゲインKを「0」に設定するときに、零相電流補正部17における演算を停止させれば、実質的に補正が必要でなくなるシーンにおいて、演算負荷を低減することができる。
【0104】
上記実施形態等においては、特に、回転速度(ωrm)が基準回転速度よりも大きいとき、または、オープン巻線型モータ(10)に印加する電圧のノルムが基準電圧ノルムよりも大きくなったときに、補正ゲインKを低減する。
【0105】
回転速度(ωrm)が基準回転速度よりも大きいシーンや、オープン巻線型モータ(10)に印加する電圧のノルムが基準電圧ノルムよりも大きいシーンは、実質的に零相指令値(i またはvz1 )の補正が必要でなくなるシーンの典型例である。このため、上記のように、回転速度(ωrm)が基準回転速度よりも大きいとき、または、オープン巻線型モータ(10)に印加する電圧のノルムが基準電圧ノルムよりも大きくなったときに、補正ゲインKを低減することにより、本質的に補正が必要なシーンにおいて、的確にスイッチング周波数fswによって生じる零相電流iを抑制することができる。
【0106】
上記実施形態等に係るオープン巻線型モータの制御装置は、固定子として独立した複数相の巻線11を有し、インバータ22によって各相の巻線11に電力を供給するオープン巻線型モータ(10)の制御装置100である。この制御装置100は、オープン巻線型モータ(10)を駆動するときに各相の巻線11に共通に流れる零相電流iを抑制する零相指令値(i またはvz1 )を演算し、インバータ22のスイッチング周波数fswに基づいて零相指令値(i またはvz1 )を補正し、補正後の零相指令値(v )を用いて零相電流iを制御する。
【0107】
このように、イッチング周波数fswに基づいて零相指令値(i またはvz1 )を補正すれば、スイッチング周波数fswが変化したときでも、零相電流iを十分に抑制することができる。
【0108】
以上、本発明の実施形態について説明したが、上記実施形態及び各変形例で説明した構成は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を限定する趣旨ではない。
【符号の説明】
【0109】
10:モータ(オープン巻線型モータ),11:巻線,12:電源,13:電流指令値演算部,14:電流制御部,15:非干渉制御部,16:第2電圧指令値演算部,17:零相電流補正部,18:最終電圧指令値演算部,19:外乱補償部,20:座標変換部,21:PWM変換部,22:インバータ,23:電流センサ,24:A/D変換器,25:座標変換部,26:磁極位置検出器,27:パルスカウンタ,28:角速度演算部,29:先読み補償部,31:制御定数演算部,32:補正指令値演算部,33:補正実行判定部,34:最終補正指令値演算部,35:制御定数マップ,41:補間部,42:制御定数補正部,100:制御装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11