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

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

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

特開2024-116036オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置
<>
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図1
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図2
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図3
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図4
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図5
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図6
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図7
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図8
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図9
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図10
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図11
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図12
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図13
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図14
  • 特開-オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024116036
(43)【公開日】2024-08-27
(54)【発明の名称】オープン巻線型モータの制御方法、及び、オープン巻線型モータの制御装置
(51)【国際特許分類】
   H02P 25/16 20060101AFI20240820BHJP
   H02P 27/06 20060101ALI20240820BHJP
【FI】
H02P25/16
H02P27/06
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023022020
(22)【出願日】2023-02-15
(71)【出願人】
【識別番号】000003997
【氏名又は名称】日産自動車株式会社
(74)【代理人】
【識別番号】110002468
【氏名又は名称】弁理士法人後藤特許事務所
(72)【発明者】
【氏名】澤田 彰
(72)【発明者】
【氏名】渋谷 圭一
(72)【発明者】
【氏名】中村 幸代
【テーマコード(参考)】
5H505
【Fターム(参考)】
5H505AA16
5H505BB10
5H505CC04
5H505DD03
5H505DD06
5H505EE41
5H505EE50
5H505GG04
5H505GG08
5H505HA10
5H505HB01
5H505HB05
5H505JJ04
5H505JJ12
5H505JJ16
5H505JJ24
5H505JJ25
5H505LL22
5H505LL24
5H505LL41
5H505LL45
5H505MM14
(57)【要約】
【課題】零相電流の特性に影響を与える外乱が生じた場合でも、零相電流を抑制できるオープン巻線型モータの制御方法及び制御装置を提供する。
【解決手段】零相電流iを抑制する零相指令値(i またはvz1 )を演算する。また、初期振幅A及び初期位相Dに基づいて、零相指令値(vz1 )を補正する第1補正指令値(vz-s1 )を演算し、第1補正零相電流iz1を検出する。また、初期振幅A及び初期位相Dと、第1補正零相電流iz1と、に基づいて、零相指令値(vz1 )を補正する第2補正指令値(vz-s2 )を演算し、第2補正零相電流iz2を検出する。そして、第1補正零相電流iz1と第2補正零相電流iz2に基づいて、零相指令値に対する最終補正指令値(vz-s )を演算し、この最終補正指令値(vz-s )によって補正した零相指令値(vz1 )によって、零相電流iを制御する。
【選択図】図1
【特許請求の範囲】
【請求項1】
固定子として独立した複数相の巻線を有するオープン巻線型モータの制御方法であって、
オープン巻線型モータを駆動するときに、各相の前記巻線に共通に流れる零相電流を抑制する零相指令値を演算し、
前記オープン巻線型モータの駆動状態に基づいて振幅及び位相の初期値である初期振幅及び初期位相を設定し、
前記初期振幅及び前記初期位相に基づいて、前記零相指令値を補正する第1補正指令値を演算し、
前記第1補正指令値によって補正した前記零相指令値にしたがって制御したときに流れた前記零相電流である第1補正零相電流を検出し、
前記初期振幅及び前記初期位相と、前記第1補正零相電流と、に基づいて、前記零相指令値を補正する第2補正指令値を演算し、
前記第2補正指令値によって補正した前記零相指令値にしたがって制御したときに流れた前記零相電流である第2補正零相電流を検出し、
前記第1補正零相電流と前記第2補正零相電流に基づいて、前記零相指令値に対する最終補正指令値を演算し、
前記最終補正指令値によって補正した前記零相指令値によって、前記零相電流を制御する、
オープン巻線型モータの制御方法。
【請求項2】
請求項1に記載のオープン巻線型モータの制御方法であって、
前記第1補正零相電流の振幅を検出し、
前記第1補正零相電流の振幅に基づいて前記初期振幅を補正することにより、補正振幅を演算し、
前記補正振幅と前記初期位相に基づいて、前記第2補正指令値を演算する、
オープン巻線型モータの制御方法。
【請求項3】
請求項2に記載のオープン巻線型モータの制御方法であって、
前記第2補正零相電流の振幅を検出し、
前記第1補正零相電流及び前記第2補正零相電流の振幅を比較し、
前記第1補正零相電流の振幅が前記第2補正零相電流の振幅よりも小さいときは、前記第1補正指令値を前記最終補正指令値に設定し、
前記第2補正零相電流の振幅が前記第1補正零相電流の振幅よりも小さいときは、前記第2補正指令値を前記最終補正指令値に設定する、
オープン巻線型モータの制御方法。
【請求項4】
請求項1に記載のオープン巻線型モータの制御方法であって、
前記第1補正零相電流の振幅を検出し、
前記第1補正零相電流の振幅に基づいて前記初期振幅を補正することにより、補正振幅を演算し、
前記第1補正零相電流の位相に基づいて前記初期位相を補正することにより、補正位相を演算し、
前記補正振幅及び前記補正位相に基づいて、前記最終補正指令値を演算する、
オープン巻線型モータの制御方法。
【請求項5】
請求項4に記載のオープン巻線型モータの制御方法であって、
位相または振幅が異なる前記第2補正指令値を演算し、
各々の前記第2補正指令値に応じた複数の前記第2補正零相電流を検出し、
前記第1補正零相電流と、複数の前記第2補正零相電流と、に基づいて、前記第1補正零相電流の振幅及び位相を特定する、
オープン巻線型モータの制御方法。
【請求項6】
請求項1~5のいずれか1項に記載のオープン巻線型モータの制御方法であって、
前記零相電流を変化させる外乱が生じたか否かを判定し、
前記外乱が生じていないと判定したときは、前記第1補正指令値によって補正した前記零相指令値にしたがって前記零相電流を制御し、
前記外乱が生じたと判定したときは、前記最終補正指令値によって補正した前記零相指令値にしたがって前記零相電流を制御する、
オープン巻線型モータの制御方法。
【請求項7】
請求項6に記載のオープン巻線型モータの制御方法であって、
前記オープン巻線型モータの温度、または、前記オープン巻線型モータを駆動するインバータのスイッチング周波数、に基づいて前記外乱が生じたか否かを判定する、
オープン巻線型モータの制御方法。
【請求項8】
請求項1~5のいずれか1項に記載のオープン巻線型モータの制御方法であって、
前記第1補正零相電流及び前記第2補正零相電流に対し、前記オープン巻線型モータの相数の奇数倍の次数を有する高調波を抽出するフィルタリング処理を行う、
オープン巻線型モータの制御方法。
【請求項9】
請求項1~5のいずれか1項に記載のオープン巻線型モータの制御方法であって、
前記オープン巻線型モータが安定した駆動状態であるか否かを判定し、
前記オープン巻線型モータが安定した駆動状態でないと判定したときは、前記第1補正指令値によって補正した前記零相指令値にしたがって前記零相電流を制御し、
前記オープン巻線型モータが安定した駆動状態であると判定したときは、前記最終補正指令値によって補正した前記零相指令値にしたがって前記零相電流を制御する、
オープン巻線型モータの制御方法。
【請求項10】
請求項9に記載のオープン巻線型モータの制御方法であって、
前記オープン巻線型モータのトルクまたは回転速度に基づいて、前記オープン巻線型モータが安定した駆動状態であるか否かを判定し、
前記トルクの変化量が所定の閾値以下であるとき、または、前記回転速度の変化量が所定の閾値以下であるときに、前記オープン巻線型モータが安定した駆動状態であると判定する、
オープン巻線型モータの制御方法。
【請求項11】
請求項1~5のいずれか1項に記載のオープン巻線型モータの制御方法であって、
前記オープン巻線型モータの駆動状態と前記初期振幅及び前記初期位相を対応付けるマップを有し、
前記最終補正指令値が演算されたときに、前記最終補正指令値に基づいて、前記初期振幅または前記初期位相を更新する、
オープン巻線型モータの制御方法。
【請求項12】
固定子として独立した複数相の巻線を有するオープン巻線型モータの制御装置であって、
オープン巻線型モータを駆動するときに、各相の前記巻線に共通に流れる零相電流を抑制する零相指令値を演算し、
前記オープン巻線型モータの駆動状態に基づいて振幅及び位相の初期値である初期振幅及び初期位相を設定し、
前記初期振幅及び前記初期位相に基づいて、前記零相指令値を補正する第1補正指令値を演算し、
前記第1補正指令値によって補正した前記零相指令値にしたがって制御したときに流れた前記零相電流である第1補正零相電流を検出し、
前記初期振幅及び前記初期位相と、前記第1補正零相電流と、に基づいて、前記零相指令値を補正する第2補正指令値を演算し、
前記第2補正指令値によって補正した前記零相指令値にしたがって制御したときに流れた前記零相電流である第2補正零相電流を検出し、
前記第1補正零相電流と前記第2補正零相電流に基づいて、前記零相指令値に対する最終補正指令値を演算し、
前記最終補正指令値によって補正した前記零相指令値によって、前記零相電流を制御する、
オープン巻線型モータの制御装置。
【発明の詳細な説明】
【技術分野】
【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は、補正指令値の演算に係るフローチャートである。
図9図9は、零相電流等の推移を示すタイムチャートである。
図10図10は、磁石磁束が変化したときの零相電流の変動幅を示すグラフである。
図11図11は、スイッチング周波数が変化したときの零相電流の変動幅を示すグラフである。
図12図12は、第1補正零相電流の位相を求める方法を示す説明図である。
図13図13は、変形例に係る零相電流補正部の構成を示すブロック図である。
図14図14は、変形例に係る零相電流補正部の構成を示すブロック図である。
図15図15は、制御定数マップの更新方法を示す説明図である。
【発明を実施するための形態】
【0010】
以下、図面を参照しながら本発明の実施形態について説明する。
【0011】
[実施形態]
図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、及び、零相電流iに基づいて、第1零相電圧指令値vz1 に対する補正指令値vz-s を演算する。すなわち、零相電流補正部17は、実際に生じた零相電流iに基づくフィードバック制御によって、補正指令値vz-s を演算する。補正指令値vz-s は、零相電流iの特性を変化させる外乱が零相電流iに生じさせる成分、すなわち外乱に起因した零相電流iの増減を抑制(相殺)するための指令値である。
【0028】
また、零相電流補正部17は、第1零相電圧指令値vz1 に対する補正を実行すべきか否か、さらには、第1零相電圧指令値vz1 に対する補正の内容(補正量)を調整するか否か、を判定する。
【0029】
なお、零相電流補正部17の構成については、詳細を後述する。また、本実施形態では、零相電流補正部17は、モータ10の電気角θreとして、先読み補償処理を施した電気角θre′を用いる。本実施形態では、零相電流補正部17は、磁石温度Hを温度センサ30から取得し、スイッチング周波数fswをPWM変換部21から取得する。但し、零相電流補正部17は、図示しない上位のコントローラ等から磁石温度Hやスイッチング周波数fswを取得することができる。
【0030】
最終電圧指令値演算部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 を演算する。
【0031】
また、最終電圧指令値演算部18は、第2零相電圧指令値vz2 に対して外乱補償処理を施すことにより、外乱による変動を補償した最終零相電圧指令値v を演算する。本実施形態では、最終電圧指令値演算部18は、第2零相電圧指令値vz2 に、外乱補償部19の出力である零相外乱推定値vz-distを加算することにより、最終零相電圧指令値v を演算する。
【0032】
外乱補償部19は、電気角速度ωre、電気角θre、最終dq軸電圧指令値v ,v 、最終零相電圧指令値v 、dq軸電流i,i、及び、零相電流iに基づいて、モータ10に作用した外乱を、dq軸及び零相についてそれぞれ推定する。外乱補償部19は、推定結果を、d軸外乱推定値vd-dist、q軸外乱推定値vq-dist、及び、零相外乱推定値vz-distとして出力する。
【0033】
座標変換部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′を用いる。
【0034】
【数1】
【0035】
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も実質的に連続的に変化する。
【0036】
インバータ22は、PWM変換部21から入力されるPWM信号に基づいてスイッチング素子を駆動することにより、電源12の直流電圧Vdcを交流電圧v,v,vに変換して、モータ10に供給する。スイッチング素子は、例えば絶縁ゲート型バイポーラトランジスタ(IGBT)等である。
【0037】
本実施形態では、モータ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のスイッチング素子に対する駆動信号である。
【0038】
各相の巻線11には、第1インバータ22Rが印加しようとする電圧と、これとは逆向きに第2インバータ22Lが印加しようとする電圧と、のバランスによって電流が流れる。このとき、各インバータ22R,22Lが供給しようとする平均電力の差に応じて、各相に共通に流れ、モータ10の駆動に寄与しない電流成分である零相電流(零軸電流)iが生じる。制御装置100では、零相電流指令値i にしたがって積極的に零相電流i′を流そうとすることで、予め零相電流iが抑制(相殺)される。
【0039】
制御装置100は、上記各部で用いるパラメータを取得するために、電流センサ23、A/D変換器24、座標変換部25、磁極位置検出器26、パルスカウンタ27、角速度演算部28、先読み補償部29、及び、温度センサ30を備える。
【0040】
電流センサ23は、インバータ22からモータ10に供給する三相交流電流i,i,iを検出する。検出された三相交流電流i,i,iは、A/D変換器24でデジタル信号に変換される。A/D変換器24は、デジタル化した三相交流電流ius,ivs,iwsを座標変換部25に出力する。
【0041】
座標変換部25は、三相交流座標系からdqz軸座標系への座標変換により、三相交流電流ius,ivs,iwsと、電気角θreと、に基づいて、dq軸電流i,i及び零相電流iを演算する。具体的には、座標変換部25は、下記の式(2)にしたがって、dq軸電流i,i及び零相電流iを演算する。
【0042】
【数2】
【0043】
式(2)から分かるとおり、零相電流iは、三相交流電流i,i,iの和を用いて表される。一般に、零相電流iは、モータ10(巻線11)の相数をnとすれば、相数nの奇数倍(1倍,3倍,5倍,…)の次数の高調波として現れる。そして、三相交流電流i,i,iを基本波とすれば、モータ10で生じる零相電流iは3次高調波成分(1n次の高調波)が主成分である。
【0044】
磁極位置検出器26は、モータ10の回転子の位置(角度)に応じたA相,B相,Z相のパルスを出力する。パルスカウンタ27は、磁極位置検出器26が出力するパルスを用いて、モータ10の電気角θreを演算する。
【0045】
角速度演算部28は、電気角θreに基づいて、電気角速度ωre、及び、機械角速度ωrmを演算する。角速度演算部28は、電気角θreの時間変化率を演算することにより、電気角速度ωreを求める。また、角速度演算部28は、電気角速度ωreをモータ10の極対数pで除算することによって機械角速度ωrmを演算する。
【0046】
先読み補償部29は、電気角θreに先読み補償処理を施すことにより、先読み補償後の電気角θre′を演算する。具体的には、先読み補償部29は、電気角θreに、上記制御系が持つむだ時間と電気角速度ωreの乗算値を加算することにより、先読み補償後の電気角θre′を演算する。
【0047】
温度センサ30は、モータ10の温度を検出する。モータ10の温度とは、モータ10が有する固定子、回転子、回転子が含む永久磁石、または、モータ10の全体としての温度等である。本実施形態では、温度センサ30は、モータ10が有する永久磁石の温度である磁石温度Hを検出する。
【0048】
図2は、零相電流補正部17の構成を示すブロック図である。図2に示すように、零相電流補正部17は、制御定数演算部31、補正指令値演算部32、補正実行判定部33、及び、最終補正指令値演算部34を備える。
【0049】
制御定数演算部31は、モータ10の駆動状態に基づき、零相電流指令値i にしたがって零相電流iを制御してもなお残留する零相電流iを抑制する補正指令値vz-s の振幅(重畳零相電圧振幅)及び位相(重畳零相電圧位相)を推定した値(以下、初期値という)を設定する。以下、制御定数演算部31が設定する振幅(重畳零相電圧振幅)の初期値を「初期振幅A」、位相(重畳零相電圧位相)の初期値を「初期位相D」という。初期振幅A及び初期位相Dは、残留する零相電流iを抑制する補正指令値vz-s のノミナル振幅及びノミナル位相である。したがって、初期振幅A及び初期位相Dは、零相電流指令値i (あるいは零相電流指令値i が指令する零相電流i′)に対して、さらに補正すべき振幅及び位相の量(補正量)を表している、ということもできる。本実施形態では、制御定数演算部31は、dq軸電流指令値i ,i 、及び、機械角速度ωrmに基づき、初期振幅A及び初期位相Dを設定する。
【0050】
具体的には、制御定数演算部31は、制御定数マップ35を参照することにより、dq軸電流指令値i ,i 、及び、機械角速度ωrmに対応する初期振幅A及び初期位相Dを演算する。
【0051】
制御定数マップ35は、dq軸電流指令値i ,i 及び機械角速度ωrmによって定まるモータ10の駆動状態(いわゆる動作点)ごとに、初期振幅A及び初期位相Dの値を格納している。制御定数マップ35は、例えば、初期振幅マップfと初期位相マップgによって構成される。
【0052】
初期振幅マップfは、dq軸電流指令値i ,i 、及び、機械角速度ωrmと、初期振幅Aと、を実験またはシミュレーション等によって予め対応付けたマップである。添字kは、奇数(k=1,3,5,…)であり、高調波の次数を指定する指標である。すなわち、振幅マップfは、相数nのk倍の次数を有する高調波成分(k×n次の高調波成分)について、その変化分の振幅Azkを求めるためのマップである。本実施形態では、相数nは3であるため、例えば、k=1の振幅マップfは、零相電流iの3次高調波について、変化分の振幅(初期振幅Az1)を求めるためのマップである。
【0053】
初期位相マップgは、dq軸電流指令値i ,i 、及び、機械角速度ωrmと、初期位相Dと、を実験またはシミュレーション等によって予め対応付けたマップである。添字kは、前述と同様であり、位相マップgは、k×n次の高調波成分について、その変化分の位相Dzkを求めるためのマップである。本実施形態では、例えば、k=1の位相マップgは、3次高調波成分について、その変化分の位相(初期位相Dz1)を求めるためのマップである。
【0054】
k×n次高調波成分についての初期振幅Azk及び初期位相Dzkは、下記の式(3)で表される。本実施形態では、特に高調波の次数を区別する必要がないときには、初期振幅Azk及び初期位相Dzk等の添字kは省略する場合がある。なお、スイッチング周波数fswに応じて設定される制御定数マップ35の内容については、詳細を後述する。
【0055】
【数3】
【0056】
また、制御定数演算部31は、振幅検出部36を備える。振幅検出部36は、モータ10に実際に流れた零相電流iの時系列データに基づいて、その振幅|i|を検出する。
【0057】
補正指令値演算部32は、電気角θreと、電気角速度ωreと、初期振幅A及び初期位相Dと、に基づいて、第1零相電圧指令値vz1 に対する補正指令値(以下、第1補正指令値vz-s1 という)を演算する。本実施形態では、補正指令値演算部32は、電気角θreとして、先読み補償後の電気角θre′を用いる。また、本実施形態では、第1補正指令値vz-s1 は、初期振幅A及び初期位相Dの零相電流成分を抑制するためにモータ10に印加すべき電圧を表す。具体的には、第1補正指令値vz-s1 は、下記の式(4)で表される。なお、前述のとおり、kは奇数(k=1,3,5,…)である。但し、全ての次数の高調波を考慮しなければならないわけではなく、特定の次数について、例えば零相電流iの主成分である3次高調波成分について、第1補正指令値vz-s1 を演算することができる。本実施形態では、簡単のため、下記の式(5)に示すように、k=1,n=3で表される3次高調波成分について、第1補正指令値vz-s1 を演算するものとする。
【0058】
【数4】
【0059】
また、振幅検出部36が実際に流れた零相電流iの振幅|i|を検出したときには、補正指令値演算部32は、振幅|i|に基づいて初期振幅Aを補正することにより、補正振幅A′を演算する。この場合、補正指令値演算部32は、補正振幅A′と初期位相Dを用いて、第1零相電圧指令値vz1 に対する補正指令値(以下、第2補正指令値vz-s2 という)を演算する。補正指令値演算部32は、初期振幅Aの代わりに補正振幅A′を用いて、上記式(4)(本実施形態では特に式(5))にしたがって第2補正指令値vz-s2 を演算する。
【0060】
本実施形態では、補正指令値演算部32は、補正振幅A′を、実際の零相電流iの振幅|i|を加算または減算することによって演算する。すなわち、A′=A±|i|である。特に、本実施形態では、補正指令値演算部32は、初期振幅Aに振幅|i|を加算した加算補正振幅Az+′(=A+|i|)と、初期振幅Aから振幅|i|を減算した減算補正振幅Az-′(=A-|i|)を演算し、これらの補正振幅Az+′,Az-′に対応する第2補正指令値vz-s2 をそれぞれ演算する。以下では、加算補正振幅Az+′を用いて演算する第2補正指令値vz-s2 を「vz-s2A 」とし、減算補正振幅Az-′を用いて演算する第2補正指令値vz-s2 を「vz-s2B 」とする。
【0061】
補正実行判定部33は、第1零相電圧指令値vz1 に対する補正を実行するか否かを判定する。例えば、モータ10は、通常、高回転の動作点で駆動されほど誘起電圧が高くなるので、外乱によって生じる電圧は、モータ10を駆動するための電圧(指令電圧)に対して相対的に小さくなる。このため、外乱によって生じる零相電流iの特性の変化は、モータ10が高回転で駆動されるほど影響が小さくなる。したがって、モータ10が高回転で駆動されるときには、第1零相電圧指令値vz1 を補正する必要性が低下する。このことから、補正実行判定部33は、モータ10の回転速度に応じて第1零相電圧指令値vz1 に対する補正をどの程度実行するか否かを判定する。そして、補正実行判定部33は、第1零相電圧指令値vz1 に対する補正の必要性に応じて、補正指令値vz-s を低減させる。
【0062】
本実施形態では、補正実行判定部33は、機械角速度ωrmに基づいて第1零相電圧指令値vz1 に対する補正を実行するか否かを判定する。そして、補正実行判定部33は、判定結果に応じて、第1零相電圧指令値vz1 に対する補正の程度を調節するためのゲイン(以下、補正ゲインKという)を設定する。補正ゲインKは、例えば機械角速度ωrmに応じて、実験またはシミュレーション等によって予め定められる。
【0063】
より具体的には、補正実行判定部33は、機械角速度ωrmを予め定める閾値(基準機械角速度)と比較する。そして、補正実行判定部33は、機械角速度ωrmが閾値以下であるときには、補正ゲインKを予め定める基準値(例えば「1」)に設定する。また、機械角速度ωrmが閾値よりも大きいときには、補正実行判定部33は、補正ゲインKを基準値よりも低減した値に設定する。補正実行判定部33は、補正ゲインKを「0」に設定することにより、第1零相電圧指令値vz1 に対する補正を停止させる場合がある。また、補正実行判定部33は、補正ゲインKを「0」に設定するときには、零相電流補正部17における演算を停止させることができる。
【0064】
なお、補正実行判定部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を変更することができる。
【0065】
また、補正実行判定部33は、第1零相電圧指令値vz1 に対する補正の内容(補正量)を調整するか否か、を判定する。具体的には、補正実行判定部33は、零相電流iの特性を変化させる外乱が生じたか否か、を判定する。零相電流iの特性を変化させる外乱が生じていないときには、初期振幅A及び初期位相Dに基づいて演算される第1補正指令値vz-s1 を最終的な補正指令値vz-s として使用すれば、零相電流iが十分に抑制され得る。一方、零相電流iの特性を変化させる外乱が生じたときには、初期振幅A及び初期位相Dに基づいて演算された第1補正指令値vz-s1 を最終的な補正指令値vz-s として使用したのでは、零相電流iが十分に抑制されない場合がある。このとき、零相電流iをより良く抑制するためには、補正指令値vz-s の内容(補正量)を調整する必要がある。したがって、補正実行判定部33は、少なくとも、零相電流iの特性を変化させる外乱が生じたと判定した場合に、零相電流iをより良く抑制する補正指令値vz-s を探索するために、制御定数演算部31で補正振幅A′を演算させる。
【0066】
本実施形態では、補正実行判定部33は、磁石温度H、スイッチング周波数fsw、または、これらの両方に基づいて、零相電流iの特性を変化させる外乱が生じたか否かを判定する。磁石温度Hの変化、及び、スイッチング周波数fswの変化は、零相電流iの特性を変化させる外乱の典型例である。補正実行判定部33は、例えば、磁石温度Hが予め定める閾値(基準磁石温度)以上となったときに、零相電流iの特性を変化させる外乱が生じたと判定する。また、補正実行判定部33は、例えば、実際のスイッチング周波数fswと基準周波数との差が、予め定める閾値以上となったときに、零相電流iの特使を変化させる外乱が生じたと判定する。基準周波数は、例えば、モータ10の温度等が通常の範囲にあるときのスイッチング周波数であり、予め定められる。
【0067】
また、補正実行判定部33は、モータ10の駆動状態が安定しているか否か、を判定する。モータ10の駆動状態が大きく変化しているシーンは、零相電流iをより良く抑制する補正指令値vz-s を探索するのに適さない。このため、補正実行判定部33は、モータ10の駆動状態に変化が小さく、安定的であると判定したときに、零相電流iをより良く抑制する補正指令値vz-s を探索するために、制御定数演算部31で補正振幅A′を演算させる。
【0068】
本実施形態では、補正実行判定部33は、トルク指令値T、機械角速度ωrm、または、これらの両方を用いて、モータ10の駆動状態が安定しているか否かを判定する。例えば、補正実行判定部33は、トルク指令値Tの時間変化率が予め定める閾値(基準トルク変化率)以下であり、かつ、機械角速度ωrmの時間変化率が予め定める閾値(基準角速度変化率)以下であるときに、モータ10の駆動状態が安定していると判定する。
【0069】
最終補正指令値演算部34は、補正指令値演算部32が演算した第1補正指令値vz-s1 または第2補正指令値vz-s2 (vz-s2A もしくはvz-s2B )に、補正実行判定部33が設定した補正ゲインKを乗算することにより、第2電圧指令値演算部16で用いる最終的な補正指令値vz-s を演算する。
【0070】
最終補正指令値演算部34は、原則として、第1補正指令値vz-s1 に補正ゲインKを乗算することにより、最終的な補正指令値vz-s を演算する。但し、補正実行判定部33において、零相電流iの特性に影響を与える外乱が生じたと判定され、かつ、モータ10の駆動状態が安定していると判定された場合、最終補正指令値演算部34は、一時的に、補正振幅A′を用いて演算された第2補正指令値vz-s2 に補正ゲインKを乗算することにより、最終的な補正指令値vz-s を演算する。
【0071】
そして、最終補正指令値演算部34は、第1補正指令値vz-s1 を最終的な補正指令値vz-s に使用した場合に実際に流れた零相電流(以下、第1補正零相電流iz1という)と、第2補正指令値vz-s2 を最終的な補正指令値vz-s に使用した場合に実際に流れた零相電流(以下、第2補正零相電流iz2という)と、に基づいて、その後に使用する最終的な補正指令値vz-s を演算する。
【0072】
本実施形態では、最終補正指令値演算部34は、第1補正零相電流iz1の振幅(以下、振幅|iz1|という)と第2補正零相電流iz2の振幅(以下、振幅|iz2|という)を比較する。そして、第1補正零相電流iz1の振幅|iz1|が第2補正零相電流iz2の振幅|iz2|よりも小さいときには、最終補正指令値演算部34は、その後、第1補正指令値vz-s1 を用いて最終的な補正指令値vz-s を演算する。一方、第2補正零相電流iz2の振幅|iz2|が第1補正零相電流iz1の振幅|iz1|よりも小さいときには、最終補正指令値演算部34は、その後、第2補正指令値vz-s2 を用いて最終的な補正指令値vz-s を演算する。
【0073】
特に、本実施形態では、第2補正指令値vz-s2 として、加算補正振幅Az+′を用いて演算した第2補正指令値vz-s2A と、減算補正振幅Az-′を用いて演算した第2補正指令値vz-s2B と、が演算される。このため、最終補正指令値演算部34は、第1補正零相電流iz1の振幅|iz1|と、第2補正指令値vz-s2 がvz-s2A であるときに流れた実際の零相電流iz2Aの振幅|iz2A|と、第2補正指令値vz-s2 がvz-s2B であるときに流れた実際の零相電流iz2Bの振幅|iz2B|と、を比較する。そして、最終補正指令値演算部34は、振幅|iz1|,|iz2A|,|iz2B|のうち最も小さい振幅に対応する補正指令値(vz-s1 、vz-s2A ,またはvz-s2B )を用いて、その後の最終的な補正指令値vz-s を演算する。
【0074】
すなわち、最終補正指令値演算部34には、3段階の制御シーンがある。第1制御シーンSは、零相電流iの特性に影響を与える外乱が生じていないときに、第1補正指令値vz-s1 を用いて最終的な補正指令値vz-s を演算するシーンである。
【0075】
第2制御シーンSは、零相電流iの特性に影響を与える外乱が生じ、かつ、モータ10の駆動状態が安定しているときに、より良く零相電流iを抑制する補正指令値vz-s を探索する制御シーンである。具体的には、第2制御シーンSは、第1補正指令値vz-s1 に基づいて最終的な補正指令値vz-s を演算する第1探索ループと、第2補正指令値vz-s2 に基づいて最終的な補正指令値vz-s を演算する第2探索ループとからなる。本実施形態では、第2探索ループは、さらに、加算補正振幅Az+′に基づく第2補正指令値vz-s2A を演算するループと、減算補正振幅Az-′に基づく第2補正指令値vz-s2B を演算するループと、からなる。
【0076】
第3制御シーンSは、第2制御シーンSで得た零相電流iに基づいて最終的な補正指令値vz-s2 の演算方法を決定し、決定した方法で、その後の補正指令値vz-s2 を演算するシーンである。
【0077】
<制御定数マップ>
以下、制御定数マップ35が定める初期振幅A及び初期位相Dについて説明する。
【0078】
図3は、スイッチング周波数fswによる零相電流iの特性変化を示す説明図である。図3では、スイッチング周波数fswが第1周波数fであるときの零相電流i(f)と、スイッチング周波数fswが第2周波数fに変化したときの零相電流i(f)と、を複素数平面上に示している。第1周波数fは、モータ10を駆動するときに通常に用いるスイッチング周波数fswであり、第2周波数fは、モータ10が高温になった場合等やモータ10が予め定めた特定の駆動状態に至ったときに用いられるスイッチング周波数fswである。
【0079】
図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)の振幅を表す。
【0080】
図3に示すように、モータ10を駆動することによって生じる零相電流iは複素数平面において円または楕円の軌道で表される。また、零相電流指令値i は、スイッチング周波数fswに依らず、モータ10の駆動状態に応じて定められるので、実質的に、スイッチング周波数fswが第1周波数fである場合の零相電流i(f)を抑制するように決定される。すなわち、零相電流指令値i にしたがって零相電流i′を流すことは、複素数平面において零相電流i(f)の中心Pf1を原点Oにシフトさせるように、零相電流iを補償することに相当する。
【0081】
一方、スイッチング周波数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がなお残留する。
【0082】
図4は、磁石磁束φによる零相電流iの特性変化を示す説明図である。図4では、磁石磁束φが第1磁束φであるときの零相電流i(φ)と、磁石磁束φが第2磁束φであるときの零相電流i(φ)と、を複素数平面上に示している。第1磁束φは磁石磁束φのノミナル値であり、第2磁束φは磁石温度Hの上昇によって変化した磁石磁束φを表す。
【0083】
なお、図4では、零相電流指令値i (カウンターとなる零相電流i′)で抑制していない場合の零相電流iを示している。図4では、各零相電流iz(f1),iz(f2)について、それぞれ振幅が異なる4種類の軌道を同心楕円で示している。これらの中心Pφ1,Pφ2はいわゆるフェーザ表示における零相電流i(φ),i(φ)を表す。すなわち、中心Pφ1,Pφ2の偏角は、フェーザ表示における零相電流i(φ),i(φ)の位相を表し、中心Pφ1,Pφ2の原点Oからの距離は、フェーザ表示における零相電流i(φ),i(φ)の振幅を表す。
【0084】
図4に示すように、零相電流指令値i は、磁石磁束φの変化を考慮せず、磁石磁束φがノミナル値であることを前提に定められるので、実質的に、磁石磁束φが第1磁束φである場合の零相電流i(φ)を抑制するように決定される。すなわち、零相電流指令値i にしたがって零相電流i′を流すことは、複素数平面において零相電流i(φ)の中心Pφ1を原点Oにシフトさせるように、零相電流iを補償することに相当する。
【0085】
一方、磁石磁束φがノミナル値の第1磁束φから第2磁束φに変化すると、零相電流iは複素数平面上での位置が変化し、零相電流i(φ)の中心Pφ2は、零相電流i(φ)の中心Pφ1からずれた位置にシフトする。すなわち、磁石磁束φの変化は、零相電流iの特性を変化させる外乱として作用する。このため、零相電流i(φ)に対して零相電流指令値i にしたがった補償を行っても、零相電流i(φ)の中心Pφは、原点Oからずれた位置にシフトされる。すなわち、零相電流i(φ)に対して零相電流指令値i にしたがった補償を行っても、複素数平面における中心Pφ1から中心Pφ2への変位分に相当する零相電流iがなお残留する。
【0086】
このように、具体的な外乱要因が、スイッチング周波数fsw、磁石磁束φ、または、これらの両方、のいずれであるとしても、零相電流iの特性を変化させる外乱が生じたときには、複素数平面において零相電流iの中心がシフトする。その結果、零相電流iの特性を変化させる外乱が生じたときには、零相電流指令値i にしたがった補償を行っても、外乱による零相電流iの中心の変位分に相当する零相電流iが残留する。
【0087】
図5及び図6は、制御定数マップ35の性質を示すための説明図である。図5では、外乱によって、零相電流iの原点Oからの距離が変化した例を示す。図6では、外乱によって、零相電流iの偏角が変化した例を示す。
【0088】
図5に示すように、外乱その他の要因によって、本来の中心P及び変位後の中心Pの偏角は変わらず、原点Oからの距離が変化したとする。この場合、中心Pの零相電流iに対して零相電流指令値i にしたがった補償を行っても、変位後の中心Pは、中心Pと中心Pの距離の分だけ、原点Oから離れた位置にシフトする。このため、制御定数マップ35は、振幅マップfにおいて、モータ10の駆動状態毎に生じやすい中心Pと中心Pの変位距離を、初期振幅Aとして格納する。なお、図5では、中心P及び中心Pの偏角は変わらないので、零相電流指令値i にしたがった補償により、零相電流iの位相は適切に補償される。このため、位相マップgが格納する初期位相Dはゼロである。
【0089】
図6に示すように、外乱その他の要因によって中心P,Pの原点Oからの距離は変わらず、偏角が変化したとする。この場合、零相電流iに対して零相電流指令値i にしたがった補償を行っても、中心Pは、中心Pと中心Pの偏角の相違分だけ、原点Oに対して回転した位置にシフトする。このため、制御定数マップ35は、位相マップgにおいて、モータ10の駆動状態毎に生じやすい中心Pと中心Pの変位角度を、初期位相Dとして格納する。なお、図6では、中心P及び中心Pの原点Oからの距離は変わらないので、零相電流指令値i にしたがった補償により、零相電流i(f)の振幅は適切に補償される。このため、振幅マップfが格納する初期振幅Aはゼロである。
【0090】
なお、零相電流iの特性を変化させる外乱が生じた場合、零相電流iは、通常、振幅及び位相が両方とも変化する。このため、制御定数マップ35は、通常、零相電流指令値i にしたがった補償後に残留する零相電流iについて、初期振幅A及び初期位相Dの両方を設定する。
【0091】
<作用>
以下、上記のように構成される制御装置100の作用を説明する。
【0092】
図7は、オープン巻線型モータ(モータ10)の制御に係るフローチャートである。図6に示すように、ステップS10では、三相交流電流ius,ivs,iws及び電気角θreが取得される。ステップS11では、角速度演算部28が、電気角θreに基づいて、電気角速度ωre及び機械角速度ωrmを演算する。ステップS12では、先読み補償部29が、先読み補償後の電気角θre′を演算する。
【0093】
ステップ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を演算する。
【0094】
そして、ステップS16では、零相電流補正部17が、第1零相電圧指令値vz1 に対する補正指令値vz-s を演算する。
【0095】
ステップ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 を演算する。
【0096】
その後、PWM変換部21がこの電圧指令値v ,v ,v に基づくPWM信号を生成し、インバータ22に入力することで、モータ10が駆動される。このとき零相電流iが流れるが、制御装置100は、零相電流指令値i にしたがって零相電流iを抑制する電流(i′)を零相に流すので、零相電流iが抑制される。但し、零相電流指令値i にしたがって零相電流iを抑制する電流(i′)を零相に流す場合、外乱が生じると零相電流iの特性が変化するので、十分に零相電流iが抑制されないことがある。このため、上記のように、制御装置100は、零相電流指令値i にしたがった補償後になお残留する電流成分をも抑制するように零相電流i′を補正する。このため、零相電流iの特性を変化させる外乱が生じた場合でも、零相電流iは十分に抑制される。
【0097】
図8は、補正指令値vz-s の演算に係るフローチャートである。図8に示すように、ステップS31では、制御定数演算部31が、モータ10の駆動状態に基づいて初期振幅A及び初期位相Dを設定する。ステップS32では、補正指令値演算部32が、初期振幅A及び初期位相Dに基づいて第1補正指令値vz-s1 を演算する。このため、最終補正指令値演算部34は、第1補正指令値vz-s1 に基づいて、最終的な補正指令値vz-s を演算する。
【0098】
ステップS33では、補正実行判定部33が、零相電流iの特性を変化させる外乱が生じたか否かを判定する。ステップS33において、零相電流iの特性を変化させる外乱が生じていないと判定された場合、ステップS34に進み、最終補正指令値演算部34は、第1補正指令値vz-s1 の使用が継続される。一方、ステップS33において、零相電流izの特性を変化させる外乱が生じたと判定された場合には、ステップS35に進む。
【0099】
ステップS35では、補正実行判定部33が、モータ10の駆動状態が安定しているか否かを判定する。ステップS35において、モータ10の駆動状態が安定していないシーンであると判定されたときには、ステップS34に進み、第1補正指令値vz-s1 の使用が継続される。一方、ステップS35において、モータ10の駆動状態が安定しているシーンであると判定されたときには、ステップS36に進む。
【0100】
ステップS36では、振幅検出部36が、第1補正指令値vz-s1 を最終的な補正指令値vz-s に使用した場合に実際に流れた第1補正零相電流iz1を取得し、その振幅|iz1|を検出する。
【0101】
ステップS37では、補正指令値演算部32が、第1補正零相電流iz1の振幅|iz1|と初期振幅Aに基づいて、補正振幅A′を演算する。ここでは、ステップS37において、加算補正振幅Az+′が演算されるものとする。
【0102】
ステップS38では、補正指令値演算部32が、補正振幅A′を用いて、第2補正指令値vz-s2 を演算する。ここでは、加算補正振幅Az+′を用いて第2補正指令値vz-s2A が演算される。このため、最終補正指令値演算部34は、第2補正指令値vz-s2 (第2補正指令値vz-s2A )に基づいて、最終的な補正指令値vz-s を演算する。
【0103】
ステップS39では、振幅検出部36が、第2補正指令値vz-s2 を最終的な補正指令値vz-s に使用した場合に実際に流れた第2補正零相電流iz2を取得し、その振幅|iz2|を検出する。ここでは、第2補正指令値vz-s2A を補正指令値vz-s に使用した場合に実際に流れた第2補正零相電流iz2Aの振幅|iz2A|が演算される。
【0104】
一方、ステップS40では、補正指令値演算部32が、第1補正零相電流iz1の振幅|iz1|と初期振幅Aに基づいて、補正振幅A′を演算する。ここでは、ステップS40において、減算補正振幅Az-′が演算されるものとする。
【0105】
ステップS41では、補正指令値演算部32が、補正振幅A′を用いて、第2補正指令値vz-s2 を演算する。ここでは、減算補正振幅Az-′を用いて第2補正指令値vz-s2B が演算される。このため、最終補正指令値演算部34は、第2補正指令値vz-s2 (第2補正指令値vz-s2B )に基づいて、最終的な補正指令値vz-s を演算する。
【0106】
その後、ステップS42では、振幅検出部36が、第2補正指令値vz-s2 を最終的な補正指令値vz-s に使用した場合に実際に流れた第2補正零相電流iz2を取得し、その振幅|iz2|を検出する。ここでは、第2補正指令値vz-s2B を補正指令値vz-s に使用した場合に実際に流れた第2補正零相電流iz2Bの振幅|iz2B|が演算される。
【0107】
ステップS43では、最終補正指令値演算部34が、第1補正零相電流iz1と第2補正零相電流iz2の振幅|iz1|,|iz2|を比較する。本実施形態では、より具体的に、振幅|iz1|,|iz2A|,|iz2B|が比較される。
【0108】
ステップS44では、最終補正指令値演算部34が、第1補正零相電流iz1と第2補正零相電流iz2のうち最も振幅が小さいものに対応する補正指令値を選択し、その後、選択した補正指令値を最終的な補正指令値vz-s の演算に用いる。ここでは、振幅|iz1|,|iz2A|,|iz2B|の大小関係に応じて、第1補正指令値vz-s1 、第2補正指令値vz-s2A 、及び、第2補正指令値vz-s2B の中から、その後最終的な補正指令値vz-s の演算に用いるものが選択される。
【0109】
図9は、零相電流i等の推移を示すタイムチャートである。図9(A)は、制御シーンの切り替わりを示す。図9(B)は、零相電流iの推移を示す。図9(C)は最終的な補正指令値vz-s の推移を示す。
【0110】
図9(A)に示すように、時刻tまで、零相電流iの特性に影響を与える外乱が生じていない第1制御シーンSであり、時刻tに、補正実行判定部33が、零相電流iの特性を変化させる外乱が生じ、かつ、モータ10の駆動状態が安定していると判定し、第2制御シーンSに移行したとする。すなわち、時刻tまでは、補正ゲインKが「0」に設定され、時刻t以降、補正ゲインKは「1」に設定されている。
【0111】
図9(C)に示すように、時刻tに第2制御シーンSに移行すると、時刻tから時刻tまでの期間において、最終的な補正指令値vz-s が第1補正指令値vz-s1 を用いて演算される。ここでは、図9(B)に示すように、時刻tから時刻tにおいて実際に生じた零相電流iの振幅|i|は、時刻t以前と大差ない。
【0112】
図9(C)に示すように、時刻tから時刻tの期間では、最終的な補正指令値vz-s は、加算補正振幅Az+′に基づく第2補正指令値vz-s2A を用いて演算される。ここでは、図9(B)に示すように、時刻tから時刻tにおいて実際に生じた零相電流iの振幅|i|は、時刻t以前よりも増加している。
【0113】
さらに図9(C)に示すように、時刻tから時刻tの期間では、最終的な補正指令値vz-s は、減算補正振幅Az-′に基づく第2補正指令値vz-s2B を用いて演算される。ここでは、図9(B)に示すように、時刻tから時刻tにおいて実際に生じた零相電流iの振幅|i|は、時刻t以前よりも減少している。
【0114】
したがって、第1補正指令値vz-s1 、第2補正指令値vz-s2A 、第2補正指令値vz-s2B を用いたときの各零相電流iを比較すると、第2補正指令値vz-s2B を用いた場合に最も振幅|i|が減少する。このため、時刻t以降においては第3制御シーンSに移行すると、最終補正指令値演算部34は、減算補正振幅Az-′に基づく第2補正指令値vz-s2B を用いて最終的な補正指令値vz-s を演算する。その結果、図9(B)に示すように、時刻t以降、零相電流iは時刻t以前よりも抑制される。
【0115】
図10は、磁石磁束φが変化したときの零相電流iの変動幅を示すグラフである。図10の破線は、磁石磁束φがノミナル値から磁石磁束φに変化したときに、第1零相電圧指令値vz-s1 に対する補正を、初期振幅A及び初期位相Dに基づく第1補正指令値vz-s1 を用いて行ったときの零相電流i(φ)を示す。また、図10の実線は、磁石磁束φがノミナル値から磁石磁束φに変化したときに、第1零相電圧指令値vz-s1 に対する補正を、補正振幅A′及び初期位相Dに基づく第2補正指令値vz-s2 を用いて行ったときの零相電流i(φ)′を示す。
【0116】
図10に示すように、零相電流i(φ)の変動幅Wz-φ2と、零相電流i(φ)′の変動幅Wz-φ2′と、を比較すると、変動幅Wz-φ2′は変動幅Wz-φ2よりも小さい。すなわち、磁石磁束φの変化という外乱が生じた場合、初期振幅A及び初期位相Dに基づく補正では、変動幅Wz-φ2のとおり、零相電流i(φ)を十分に抑制できない。しかし、補正振幅A′及び初期位相Dに基づく補正によれば、変動幅Wz-φ2′のとおり、零相電流i(φ)が十分に抑制され得る。
【0117】
図11は、スイッチング周波数fswが変化したときの零相電流iの変動幅を示すグラフである。図7(A)は、スイッチング周波数fswが通常用いる第1周波数から第2周波数fに変化したときに、第1零相電圧指令値vz-s1 に対する補正を、初期振幅A及び初期位相Dに基づく第1補正指令値vz-s1 を用いて行ったときの零相電流i(f)を示す。図7(B)は、スイッチング周波数fswが通常用いる第1周波数から第2周波数fに変化したときに、第1零相電圧指令値vz-s1 に対する補正を、補正振幅A′及び初期位相Dに基づく第2補正指令値vz-s2 を用いて行ったときの零相電流i(φ)′を示す。
【0118】
図7に示すように、零相電流i(f)の変動幅Wz-f2と、零相電流i(f)′の変動幅Wz-f2′と、を比較すると、変動幅Wz-f2′は変動幅Wz-f2よりも小さい。すなわち、スイッチング周波数fswの変化という外乱が生じた場合、初期振幅A及び初期位相Dに基づく補正では、変動幅Wz-f2のとおり、零相電流i(f)を十分に抑制できない。しかし、補正振幅A′及び初期位相Dに基づく補正によれば、変動幅Wz-f2′のとおり、零相電流i(f)が十分に抑制され得る。
【0119】
上記のように、零相電流iの特性を変化させる外乱が磁石磁束φの変化またはスイッチング周波数fswの変化のいずれであっても、補正振幅A′及び初期位相Dに基づいて第1零相電圧指令値vz-s1 を補正すれば、零相電流iがより抑制されやすくなる。磁石磁束φやスイッチング周波数fsw以外の外乱要因についても同様である。
【0120】
なお、上記実施形態では、第1零相電圧指令値vz1 に対して補正指令値vz-s を用いた補正を行っているが、これに限らない。制御装置100は、零相電流指令値i に対して同様の補正を行うように構成することができる。この場合、零相電流補正部17は、零相電流指令値i に加算(重畳)する補正指令値iz-s (図示しない)を演算するように構成する。このように、零相電流指令値i を補正する場合も、零相電流iの特性を変化させる外乱が生じた場合でも、零相電流iが十分に抑制され得る。すなわち、零相電流iの特性を変化させる外乱によって生じる零相電流iを抑制するための補正は、敢えて流す零相電流i′を指令する電流または電圧の指令値(零相指令値)に対して行うことができる。
【0121】
[第1変形例]
上記実施形態では、初期振幅A及び初期位相Dのうち、簡易的に、初期振幅Aだけを補正して第2補正指令値vz-s2 を演算しているが、これに限らない。制御装置100は、初期振幅A及び初期位相Dを補正して第2補正指令値vz-s2 を演算することができる。
【0122】
すなわち、補正指令値演算部32は、上記実施形態と同様に、第1補正零相電流iz1の振幅|iz1|に基づいて、初期振幅Aを補正することにより、補正振幅A′を演算する。その上で、補正指令値演算部32は、第1補正零相電流iz1の位相ψz1(図示しない)を特定し、この位相ψz1に基づいて初期位相Dを補正することにより、補正位相D′を演算することができる。
【0123】
そして、上記実施形態では、第1補正零相電流iz1と第2補正零相電流iz2の振幅を比較することにより、零相電流iをより良く抑制する補正(第1補正指令値vz-s1 または第2補正指令値vz-s2 )を選択しているが、上記のように補正振幅A′及び補正位相D′を演算するときには、補正指令値演算部32は、より直接的に、零相電流iをより良く抑制する最終的な補正指令値vz-s を演算することができる。具体的には、補正指令値演算部32は、式(4)または式(5)において、初期振幅A及び初期位相Dの代わりに、補正振幅A′及び補正位相D′を用いることで、零相電流iをより良く抑制する最終的な補正指令値vz-s を直接的に演算することができる。
【0124】
補正指令値演算部32は、第1補正零相電流iz1の位相ψz1の特定、及び、初期位相Dの補正を、以下のように行うことができる。
【0125】
図12は、第1補正零相電流iの位相ψz1を求める方法を示す説明図である。図12では、複素数平面において、モータ10の駆動状態に応じて残留する零相電流iの中心Pが、外乱によって中心Pに変位しているとする。また、ここでは、簡単のため、初期振幅A及び初期位相Dはいずれもゼロであるとする。
【0126】
前述のとおり、零相電流指令値i にしたがって零相電流i′を流す制御は、中心Pを原点Oにシフトさせる制御に対応する。この制御を中心Pの零相電流iに適用すると、中心Pは中心Pにシフトする。中心Pの零相電流iは、上記実施形態でいえば、第1補正零相電流iz1に対応する。したがって、原点Oから中心Pまでの距離aは、第1補正零相電流iz1の振幅|iz1|であり、中心Pの偏角dは、第1補正零相電流iz1の位相ψz1に対応する。すなわち、二点鎖線で示すように、第1補正零相電流iz1は、Pを中心とする半径がa(振幅|iz1|)の円で表される。但し、Pの偏角d(位相ψz1)は、通常は不定である。
【0127】
しかし、上記実施形態のように、振幅または位相が異なる複数の第2補正指令値vz-s2 を演算し、各々の第2補正指令値vz-s2 を用いた場合に得られる零相電流iを取得するときには、第1補正零相電流iz1を表す円を複素数平面上で特定することができる。具体的には、第2補正指令値vz-s2A (加算補正振幅Az+′)を用いたときの第2補正零相電流iz2Aは、この円上にある点αの電流に相当する。また、第2補正指令値vz-s2B (減算補正振幅Az-′)を用いたときの第2補正零相電流iz2Bは、この円上にある点βの電流に相当とする。したがって、これらの振幅|iz2A|,|iz2B|が分かれば、複素数平面におけるこの円が特定されるので、偏角d、すなわち第1補正零相電流iz1の位相φz1が特定される。
【0128】
そして、第1補正零相電流iz1は、外乱によって生じた零相電流iの特性の変化分にほかならない。すなわち、第1補正零相電流iz1は、零相電流補正部17によって補正しようとする零相電流iそのものである。このため、第1補正零相電流iz1の振幅|iz1|及び位相ψz1が特定されれば、零相電流補正部17は、その振幅|iz1|及び位相ψz1に対応する電流(第1補正零相電流iz1)を補正する補正指令値vz-s を演算することができる。
【0129】
[第2変形例]
図13は、変形例に係る零相電流補正部17の構成を示すブロック図である。図13に示すように、第2変形例の零相電流補正部17は、バンドパスフィルタ41(BPF)を備える。その他の構成は、上記実施形態の零相電流補正部17と同様であるため、説明を省略する。
【0130】
バンドパスフィルタ41は、振幅検出部36に入力する零相電流iに対し、モータ10の相数nの奇数倍の次数(k×n次)を有する高調波を抽出するフィルタリング処理を行う。
【0131】
前述のように、零相電流iは、主にk×n次の高調波として表れる。このため、振幅検出部36が検出すべき振幅|i|は、このk×n次の高調波の振幅である。したがって、検出した零相電流iからk×n次の高調波を抽出するフィルタリング処理をした後、その振幅|i|を検出すれば、補正振幅A′等が特に正確に演算される。その結果、第2補正指令値vz-s2 を用いて第1零相電圧指令値vz1 に対する補正を行うときに、特に良好に零相電流iが抑制される。
【0132】
[第3変形例]
図14は、変形例に係る零相電流補正部17の構成を示すブロック図である。図14に示すように、第3変形例の零相電流補正部17は、更新部42を備える。その他の構成は、上記実施形態の零相電流補正部17と同様であるため、説明を省略する。
【0133】
更新部42は、最終的な補正指令値vz-s が決定されたときに、その最終的な補正指令値vz-s に基づいて、制御定数マップ35を更新する。具体的には、第2補正指令値vz-s2 を用いてその後の補正指令値vz-s が演算されることが決定した場合、更新部42は、その第2補正指令値vz-s2 の演算に用いられる補正振幅A′を振幅検出部36等から取得し、振幅マップfが有する初期振幅Aのデータをその補正振幅A′に置き換えることにより、振幅マップfを更新する。
【0134】
なお、第1変形例のように補正位相D′が演算されるときには、上記の振幅マップfの場合と同様に、更新部42は、その補正位相D′を用いて位相マップgを更新する。すなわち、更新部42は、最終的な補正指令値vz-s に基づいて、振幅マップfの初期振幅A、または、位相マップgの初期位相D、または、これらの両方を更新する。
【0135】
図15は、制御定数マップ35の更新方法を示す説明図である。ここでは、振幅マップfを例にするが、位相マップgについても同様である。
【0136】
図15に白丸印で示すように、例えば振幅マップfは、機械角速度ωrmやq軸電流指令値i 等のモータ10の駆動状態(動作点)ごとに、初期振幅Aのデータを有する。但し、現実的には、初期振幅Aのデータは離散的である。ここでは、黒丸印で示す駆動状態Cについて補正振幅A′が演算され、かつ、この補正振幅A′を用いて最終的な補正指令値vz-s が演算されることになったとする。
【0137】
振幅マップfkが駆動状態Cに完全に対応するデータ点を有するときには、更新部42は、そのデータ点の初期振幅Aを、補正振幅A′に置き換え、または、補正振幅A′を用いて初期振幅Aを補正することにより、振幅マップfを更新する。また、振幅マップfが駆動状態Cに完全に対応するデータ点を有しないときには、更新部42は、駆動状態Cの近傍の駆動状態M~Mの初期振幅Aを、補正振幅A′に置き換え、または、補正振幅A′を用いて初期振幅Aを補正することにより、振幅マップfを更新する。駆動状態Cに対する近傍の範囲、すなわち初期振幅Aを更新する範囲は、実質的にほぼ同様の駆動状態とみなせる範囲であり、実験またはシミュレーション等によって適合により予め定める。
【0138】
このように、制御定数マップ35を更新すると、次にモータ10が同様の駆動状態に至ったときに、外乱が生じていたとしても、はじめから零相電流iが十分に抑制されやすくなる。
【0139】
上記第1変形例、第2変形例、及び、第3変形例は、全部または一部を組み合わせて実施することができる。
【0140】
以上のように、上記実施形態及び変形例に係るオープン巻線型モータの制御方法は、固定子として独立した複数相の巻線11を有するオープン巻線型モータ(10)の制御方法である。この制御方法では、オープン巻線型モータ(10)を駆動するときに、各相の巻線11に共通に流れる零相電流iを抑制する零相指令値(i またはvz1 )を演算し、オープン巻線型モータ(10)の駆動状態(i ,i ,ωrm)に基づいて振幅及び位相の初期値である初期振幅A及び初期位相Dを設定し、初期振幅A及び初期位相Dに基づいて、零相指令値(vz1 )を補正する第1補正指令値(vz-s1 )を演算し、第1補正指令値(vz-s1 )によって補正した零相指令値(vz1 )にしたがって制御したときに流れた零相電流iである第1補正零相電流iz1を検出する。また、初期振幅A及び初期位相Dと、第1補正零相電流iz1と、に基づいて、零相指令値(vz1 )を補正する第2補正指令値(vz-s2 )を演算し、第2補正指令値(vz-s2 )によって補正した零相指令値(vz1 )にしたがって制御したときに流れた零相電流iである第2補正零相電流iz2を検出する。そして、第1補正零相電流iz1と第2補正零相電流iz2に基づいて、零相指令値に対する最終補正指令値(vz-s )を演算し、この最終補正指令値(vz-s )によって補正した零相指令値(vz1 )によって、零相電流iを制御する。
【0141】
このように、上記実施形態及び変形例に係るオープン巻線型モータ(10)の制御方法は、零相指令値(i またはvz1 )にしたがって零相電流iを制御してもなお残留する零相電流iを、さらに零相指令値(i またはvz1 )を補正することによって抑制しようとするものである。このとき、上記のとおり、特に、実際に流れた零相電流(第1補正零相電流iz1)をフィードバックすることによって、より適切な補正指令値(最終的な補正指令値vz-s )を求める。したがって、上記実施形態及び変形例に係るオープン巻線型モータ(10)の制御方法によれば、外乱によって零相電流iの特性が変化したとしても、零相電流iを十分に抑制することができる。
【0142】
なお、零相電流iは交流であるため、実際の零相電流iをフィードバックし続ける単純なフィードバック制御では、通常、極めて大きなフィードバックゲインを設定しなければ制御が間に合わず、現実的に零相電流izをフィードバック制御で抑制することは困難である。しかし、上記のように、初期振幅A及び初期位相Dに基づく補正を行い、これに対して外乱が生じさせるズレを零相電流iのフィードバック制御によって是正する構成としたことで、零相電流iの抑制がフィードバック制御によって実際的に実現可能となっている。
【0143】
上記実施形態及び変形例に係るオープン巻線型モータの制御方法では、特に、第1補正零相電流iz1の振幅|iz1|を検出し、第1補正零相電流iz1の振幅|iz1|に基づいて初期振幅Aを補正することにより、補正振幅A′を演算し、補正振幅A′と初期位相D基づいて、第2補正指令値(vz-s2 )を演算する。
【0144】
このように、零相電流iのフィードバック制御により、少なくとも初期振幅Aを補正すれば、より良く零相電流iを抑制する最終補正指令値(vz-s )が得られやすい。このため、外乱によって零相電流iの特性が変化したとしても、簡便かつ十分に、零相電流iを抑制することができる。
【0145】
上記実施形態及び変形例に係るオープン巻線型モータの制御方法では、さらに、第2補正零相電流iz2の振幅|iz2|を検出し、第1補正零相電流iz1及び第2補正零相電流iz2の振幅|iz1|,|iz2|を比較し、第1補正零相電流iz1の振幅|iz1|が第2補正零相電流iz2の振幅|iz2|よりも小さいときは、第1補正指令値(vz-s1 )を最終補正指令値(vz-s )に設定し、第2補正零相電流iz2の振幅|iz2|が第1補正零相電流iz1の振幅|iz1|よりも小さいときは、第2補正指令値(vz-s2 )を最終補正指令値(vz-s )に設定することができる。
【0146】
このように、初期振幅Aを用いたときの第1補正零相電流iz1と補正振幅A′を用いたときの第2補正零相電流iz2の振幅を比較すれば、外乱によって零相電流iの特性が変化したとしても、零相指令値(i またはvz1 )に対する最適な最終補正指令値(vz-s )を、ほぼ正確かつ簡便に決定することができる。このため、外乱によって零相電流iの特性が変化したとしても、零相電流iを十分に抑制しやすい。
【0147】
上記実施形態及び変形例(特に第1変形例)に係るオープン巻線型モータの制御方法では、第1補正零相電流iz1の振幅|iz1|を検出し、前記第1補正零相電流iz1の振幅|iz1|に基づいて初期振幅Aを補正することにより、補正振幅A′を演算し、第1補正零相電流iz1の位相ψz1に基づいて初期位相Dを補正することにより、補正位相D′を演算し、補正振幅A′及び補正位相D′に基づいて、最終補正指令値(vz-s )を演算する。
【0148】
第1補正零相電流iはさらに補正すべき零相電流iそのものでもあるから、上記のように、第1補正零相電流iの振幅|iz1|及び位相ψz1を特定すれば、外乱によって零相電流iの特性が変化したとしても、特に正確に零相電流iを抑制できる。
【0149】
上記実施形態及び変形例(特に第1変形例)に係るオープン巻線型モータの制御方法では、位相または振幅が異なる第2補正指令値(vz-s2A ,vz-s2B )を演算し、各々の第2補正指令値(vz-s2A ,vz-s2B )に応じた複数の第2補正零相電流iz2A,iz2Bを検出し、第1補正零相電流iz1と、複数の第2補正零相電流iz2A,iz2Bと、に基づいて、第1補正零相電流iz1の振幅|iz1|及び位相ψz1を特定する。
【0150】
このように、振幅または位相が異なる複数の第2補正指令値(vz-s2A ,vz-s2B )を用いた場合の零相電流iを得れば、第1補正零相電流iz1の振幅|iz1|及び位相ψz1を容易に特定することができる。このため、外乱によって零相電流iの特性が変化したとしても、特に正確かつ容易に零相電流iを抑制できる。
【0151】
上記実施形態及び変形例に係るオープン巻線型モータの制御方法では、零相電流iを変化させる外乱が生じたか否かを判定し、外乱が生じていないと判定したときは、第1補正指令値(vz-s1 )によって補正した零相指令値(vz1 )にしたがって零相電流iを制御し、外乱が生じたと判定したときは、最終補正指令値(vz-s )によって補正した零相指令値(vz1 )にしたがって零相電流iを制御する。
【0152】
このように、零相電流iの特性を変化させる外乱が生じたか否かを判定すれば、特に適切なタイミングで、より良く零相電流iを抑制するように補正指令値(vz-s )が調整される。すなわち、零相電流iの特性を変化させる外乱が生じたときには、その発生が検出されるので、外乱によって零相電流iの特性が変化したとしても、零相電流iを十分に抑制しやすい。
【0153】
上記実施形態及び変形例に係るオープン巻線型モータの制御方法では、特に、オープン巻線型モータ(10)の温度(磁石温度H)、または、オープン巻線型モータ(10)を駆動するインバータ22のスイッチング周波数fsw、に基づいて外乱が生じたか否かを判定する。
【0154】
磁石温度Hやインバータ22のスイッチング周波数fswの変動は、零相電流iの特性を変化させる外乱の典型例であるから、これらに基づいて外乱の発生を判定すれば、特に適切なタイミングで、より良く零相電流iを抑制するように補正指令値(vz-s )が調整されやすい。すなわち、外乱の発生が特に適切に検出されるので、零相電流iの特性が変化したとしても、零相電流iを十分に抑制しやすい。
【0155】
上記実施形態及び変形例(特に第2変形例)に係るオープン巻線型モータの制御方法では、第1補正零相電流iz1及び第2補正零相電流iz2に対し、オープン巻線型モータ(10)の相数nの奇数倍の次数(k×n)を有する高調波を抽出するフィルタリング処理を行う。
【0156】
零相電流iは主にk×n次の高調波として現れるので、第1補正零相電流iz1や第2補正零相電流iz2から、k×n次の高調波を抽出して用いれば、特に正確に零相電流iが抑制されやすい。
【0157】
上記実施形態及び変形例に係るオープン巻線型モータの制御方法では、オープン巻線型モータ(10)が安定した駆動状態であるか否かを判定し、オープン巻線型モータ(10)が安定した駆動状態でないと判定したときは、第1補正指令値(vz-s1 )によって補正した零相指令値(vz1 )にしたがって零相電流iを制御し、オープン巻線型モータ(10)が安定した駆動状態であると判定したときは、最終補正指令値(vz-s )によって補正した零相指令値(vz1 )にしたがって零相電流iを制御する。
【0158】
このように、モータ10の駆動状態が安定しているときに、最適な最終補正指令値(vz-s )を探索することで、特に適切な最終補正指令値(vz-s )が得られる。その結果、外乱によって零相電流iの特性が変化していたとしても、零相電流iが正確に抑制されやすい。
【0159】
上記実施形態及び変形例に係るオープン巻線型モータの制御方法では、特に、オープン巻線型モータ(10)のトルク(T)または回転速度(ωrm)に基づいて、オープン巻線型モータ(10)が安定した駆動状態であるか否かを判定し、トルク(T)の変化量が所定の閾値以下であるとき、または、回転速度(ωrm)の変化量が所定の閾値以下であるときに、オープン巻線型モータ(10)が安定した駆動状態であると判定する。
【0160】
モータ10のトルクや機械角速度ωrm等の変化が小さいときに最適な最終補正指令値(vz-s )を探索することで、特に適切な最終補正指令値(vz-s )が得られる。その結果、外乱によって零相電流iの特性が変化していたとしても、零相電流iが正確に抑制されやすい。
【0161】
上記実施形態及び変形例(特に第3変形例)に係るオープン巻線型モータの制御方法では、オープン巻線型モータ(10)の駆動状態と初期振幅A及び初期位相Dを対応付けるマップ(35)を有し、最終補正指令値(vz-s )が演算されたときに、最終補正指令値(vz-s )に基づいて、初期振幅Aまたは初期位相Dを更新する。
【0162】
このように、より良く零相電流iを抑制する最終補正指令値(vz-s )が得られたときに、初期振幅A及び初期位相Dを定める制御定数マップ35を更新すれば、次に同様の駆動状態及び外乱の状態となったときに、はじめから零相電流iが十分に抑制されやすくなる。
【0163】
上記実施形態及び変形例に係るオープン巻線型モータの制御装置は、固定子として独立した複数相の巻線11を有するオープン巻線型モータ(10)の制御装置100である。この制御装置100は、オープン巻線型モータ(10)を駆動するときに、各相の巻線11に共通に流れる零相電流iを抑制する零相指令値(vz1 )を演算し、オープン巻線型モータ(10)の駆動状態(i ,i ,ωrm)に基づいて振幅及び位相の初期値である初期振幅A及び初期位相Dを設定し、初期振幅A及び初期位相Dに基づいて、零相指令値(vz1 )を補正する第1補正指令値(vz-s1 )を演算し、第1補正指令値(vz-s1 )によって補正した零相指令値(vz1 )にしたがって制御したときに流れた零相電流iである第1補正零相電流iz1を検出する。また、初期振幅A及び初期位相Dと、第1補正零相電流iz1と、に基づいて、零相指令値(vz1 )を補正する第2補正指令値(vz-s2 )を演算し、第2補正指令値(vz-s2 )によって補正した零相指令値(vz1 )にしたがって制御したときに流れた零相電流iである第2補正零相電流iz2を検出する。そして、第1補正零相電流iz1と第2補正零相電流iz2に基づいて、零相指令値(vz1 )に対する最終補正指令値(vz-s )を演算し、最終補正指令値(vz-s )によって補正した零相指令値(vz1 )によって、零相電流iを制御する。
【0164】
このように、上記実施形態及び変形例に係るオープン巻線型モータ(10)の制御装置100は、零相指令値(i またはvz1 )にしたがって零相電流iを制御してもなお残留する零相電流iを、さらに零相指令値(i またはvz1 )を補正することによって抑制しようとするものである。このとき、上記のとおり、特に、実際に流れた零相電流(第1補正零相電流iz1)をフィードバックすることによって、より適切な補正指令値(最終的な補正指令値vz-s )を求める。したがって、上記実施形態及び変形例に係るオープン巻線型モータ(10)の制御方法によれば、外乱によって零相電流iの特性が変化したとしても、零相電流iを十分に抑制することができる。
【0165】
以上、本発明の実施形態について説明したが、上記実施形態及び変形例で説明した構成は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を限定する趣旨ではない。
【符号の説明】
【0166】
10:モータ(オープン巻線型モータ),11:巻線,12:電源,13:電流指令値演算部,14:電流制御部,15:非干渉制御部,16:第2電圧指令値演算部,17:零相電流補正部,18:最終電圧指令値演算部,19:外乱補償部,20:座標変換部,21:PWM変換部,22:インバータ,23:電流センサ,24:A/D変換器,25:座標変換部,26:磁極位置検出器,27:パルスカウンタ,28:角速度演算部,29:先読み補償部,30:温度センサ,31:制御定数演算部,32:補正指令値演算部,33:補正実行判定部,34:最終補正指令値演算部,35:制御定数マップ,36:振幅検出部,41:バンドパスフィルタ,42:更新部,100:制御装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15