以下に添付図面を参照して開示の技術にかかるモータ制御装置の実施形態の一例について説明する。以下の実施形態は、周期的な負荷トルク変動を有する圧縮機を駆動する永久磁石同期モータ(PMSM(Permanent Magnet Synchronous Motor))のトルク制御を、位置センサレスベクトル制御により行う、例えば空気調和装置または低温保存装置等のモータ制御装置に関する。しかし、開示の技術は、周期的な負荷トルク変動を有する負荷を駆動するモータのトルク制御を行うモータ制御装置に広く適用可能である。また、以下の説明で単に速度と記した場合は、特に断らない限り角速度を表す。
なお、以下に示す実施形態は、開示の技術を限定するものではない。また、以下に示す実施形態およびその変形例は、矛盾しない範囲で適宜組み合わせることができる。また、以下に示す実施形態は、開示の技術にかかる構成および処理について主に示し、その他の構成および処理の説明を簡略または省略する。また、各実施形態において、同一の構成および処理には同一の符号を付与し、既出の構成および処理の説明は省略する。
なお、以下で用いる記号の説明の一覧を、下記(表1)に示す。
また、以下の実施形態で示す各式における“Pn”はモータの極対数、“Ψa”はモータの鎖交磁束、“Id”はモータのd軸電流、“Iq”はモータのq軸電流、“Ld”はモータのd軸インダクタンス、“Lq”はモータのq軸インダクタンス、“T”はモータのトルクである。
(実施形態)
図1は、実施形態のトルク制御による電流ベクトルを示す図である。図1に示す定誘起電圧楕円(図は楕円の一部)は、誘起電圧Voが等しくなる電流ベクトル軌跡であり、角速度ωが大きくなると径は小さくなる。図1(a)に示す定誘起電圧楕円は、推定速度ωが一定の場合の電流ベクトルの軌跡を示す。また、図1(b)は、負荷トルク変動により推定速度ωが変動する場合、例えば、推定速度ωの最大と最小と平均(点線部)における各定誘起電圧楕円を示す。
開示の技術では、図1(b)に示すように、変動する定誘起電圧楕円とトルク制御により±ΔTだけ変動する定トルク曲線T*(=To*±ΔT)の交点であるq軸電流(q軸電流指令値Iq*)およびd軸電流(d軸電流指令値Id*)を算出し、算出したq軸電流指令値Iq*およびd軸電流指令値Id*をもとにモータを駆動制御する。なお、定誘起電圧楕円や定トルク曲線は、モータパラメータ(リアクタンスなど)で一意に決まるものではなく、モータの運転状態によって刻々と変化する。
[実施形態のモータ制御装置]
図2は、実施形態のモータ制御装置の一例を示すブロック図である。実施形態のモータ制御装置100は、モータ10のトルク制御を行う際、速度制御器により生成された平均トルク指令値To*に補正トルクである変動トルク指令値ΔTを加算した合計トルク指令値T*の定トルク曲線と、出力電圧振幅Vaを任意の振幅とするための誘起電圧指令値o*および推定速度ωからなる定誘起電圧楕円の交点をもとに、q軸電流指令値Iq*およびd軸電流指令値Id*を算出して電流制御することによりモータ10を制御する。
モータ制御装置100は、減算器11、18、19、38、速度制御器12、加算器13,16、17、21、22、電流指令値算出器14、制御切替判定部15、電圧指令生成器20、d-q/u,v,w変換器(2相-3相変換器)23、PWM(Pulse Width Modulation)変調器24、IPM(Intelligent Power Module)25を有する。速度制御器12および電流指令値算出器14は、速度指令値とモータの速度とからモータの電流指令値を生成する電流指令値生成器の一例である。制御切替判定部15は、モータの現在の制御領域が電圧飽和領域か否かを判定する判定部の一例である。
また、モータ制御装置100は、シャント抵抗26、電流センサ27a、27b、3φ電流算出器28を有する。なお、モータ制御装置100は、シャント抵抗26、もしくは、電流センサ27a、27bの何れか一方を備えていればよい。
また、モータ制御装置100は、u,v,w/d-q変換器(3相-2相変換器)29、軸誤差演算器30、PLL(Phase Locked Loop)制御器31、位置推定器32、1/Pn処理器33、補正トルク生成器34を有する。また、モータ制御装置100は、IIR(Infinite Impulse Response)35a、35b、非干渉化制御器36を有する。また、モータ制御装置100は、電流誤差補正値生成器37を有する。
減算器11は、モータ制御装置100へ入力された機械角速度指令値ωm*から、1/Pn処理器33により出力された現在の推定角速度である機械角推定角速度ωmを減算した角速度偏差Δωを、速度制御器12へ出力する。
速度制御器12は、減算器11から入力された角速度偏差Δωが、ゼロに近付くような平均トルク指令値To*を生成して出力する。加算器13は、速度制御器12により出力された平均トルク指令値To*と、補正トルク生成器34により出力された変動トルク指令値ΔTとを加算した合計トルク指令値T*を出力する。
電流指令値算出器14は、通常制御領域および電圧飽和領域のそれぞれにおいて、加算器13により出力された合計トルク指令値T*を満たすd軸電流指令値Id*およびq軸電流指令値Iq*を生成して出力する。電圧飽和領域とは、モータ10の高回転領域で、出力電圧振幅Vaが飽和して弱め磁束制御を行う領域である。通常制御領域とは、電圧飽和領域以外の領域で、電圧を可変してモータを制御する領域である。電流指令値算出器14は、通常制御領域電流指令値算出器14a、電圧飽和領域電流指令値算出器14b、接点14c-1、14c-2、14c-3を含むスイッチSW1、接点14c-4、14c-5、14c-6を含むスイッチSW2を有する。
電流指令値算出器14は、制御切替判定部15により通常制御領域であると判定された(CONTROL_TYPE:A(通常制御)が出力された)場合には、スイッチSW1の接点14c-1と接点14c-3を接続し、スイッチSW2の接点14c-4と接点14c-6を接続して、通常制御領域電流指令値算出器14aにより出力されるd軸電流指令値Id*およびq軸電流指令値Iq*を出力する。また、電流指令値算出器14は、制御切替判定部15により電圧飽和領域であると判定された(CONTROL_TYPE:B(電圧飽和制御)が出力された)場合には、スイッチSW1の接点14c-2と接点14c-3を接続し、スイッチSW2の接点14c-5と接点14c-6を接続して、電圧飽和領域電流指令値算出器14bにより出力されるd軸電流指令値Id*およびq軸電流指令値Iq*を出力する。電流指令値算出器14の詳細は、後述する。
制御切替判定部15は、出力限界値Vdq_limit、非干渉化前d軸電圧指令値Vdtがd軸非干渉化補正値Vdaにより補正された結果であるd軸電圧指令値Vd*、非干渉化前q軸電圧指令値Vqtがq軸非干渉化補正値Vqaにより補正された結果であるq軸電圧指令値Vq*をもとに、現在のモータ10の制御領域が通常制御領域および電圧飽和領域の何れであるかを判定する。そして、制御切替判定部15は、現在のモータ10の制御領域が通常制御領域である場合にはCONTROL_TYPE:A(通常制御領域)を出力し、現在のモータ10の制御領域が電圧飽和領域である場合にはCONTROL_TYPE:B(電圧飽和領域)を出力する。制御切替判定部15の詳細は、後述する。
加算器16は、電流指令値算出器14により出力されたd軸電流指令値Id*と電流誤差補正値生成器37により出力されたd軸電流誤差補正値ΔIdとを加算した加算結果であるd軸電流補正指令値Id_FF*を出力する。加算器17は、電流指令値算出器14により出力されたq軸電流指令値Iq*と電流誤差補正値生成器37により出力されたq軸電流誤差補正値ΔIqとを加算した加算結果であるq軸電流補正指令値Iq_FF*を出力する。
減算器18は、加算器16により出力されたd軸電流補正指令値Id_FF*から、u,v,w/d-q変換器29により出力されたモータ10のd軸電流Idを減算したd軸電流偏差Id_difを出力する。減算器19は、加算器17により出力されたq軸電流補正指令値Iq_FF*から、u,v,w/d-q変換器29により出力されたモータ10のq軸電流Iqを減算したq軸電流偏差Iq_difを出力する。
電圧指令生成器20は、減算器18により出力されたd軸電流偏差Id_difと、減算器19により出力されたq軸電流偏差Iq_difそれぞれにPI(Portion Integral)制御を実行し、変動誤差を抑制した非干渉化前d軸電圧指令値Vdt、非干渉化前q軸電圧指令値Vqtを出力する。
加算器21は、電圧指令生成器20により出力された非干渉化前d軸電圧指令値Vdtと、非干渉化制御器36により出力された非干渉化補正値Vdaとを加算したd軸電圧指令値Vd*を出力する。また、加算器22は、電圧指令生成器20により出力された非干渉化前q軸電圧指令値Vqtと、非干渉化制御器36により出力されたq軸非干渉化補正値Vqaとを加算したq軸電圧指令値Vq*を出力する。
d-q/u,v,w変換器23は、位置推定器32により出力された現在のロータ位置である電気角位相(dq軸位相)θeから、加算器21、22により出力された2相のd軸電圧指令値Vd*およびq軸電圧指令値Vq*を3相のU相出力電圧指令値Vu*、V相出力電圧指令値Vv*、W相出力電圧指令値Vw*へ変換する。そして、d-q/u,v,w変換器23は、U相出力電圧指令値Vu*、V相出力電圧指令値Vv*、W相出力電圧指令値Vw*をPWM変調器24へ出力する。PWM変調器24は、U相出力電圧指令値Vu*、V相出力電圧指令値Vv*、W相出力電圧指令値Vw*と、図示しないPWMキャリア信号から、6相のPWM信号を生成して、IPM35へ出力する。
IPM25は、PWM変調器24により出力された6相のPWM信号をもとに、外部から供給される直流電圧Vdcを変換して、モータ10のU相、V相、W相それぞれへ印可する交流電圧を生成し、それぞれの交流電圧をモータ10のU相、V相、W相へ印加する。
3φ電流算出器28は、シャント抵抗26を用いた1シャント(shunt)方式で母線電流を計測した場合、PWM変調器24により出力された6相のPWMスイッチング情報と、計測された母線電流とから、モータ10のU相電流値Iu、V相電流値Iv、W相電流値Iwを算出する。
または、電流を計測する方式は、母線電流を計測する1シャント方式に限らず、例えば、2つの電流センサとしてCT(Current Transformer)を用い、電流センサ27aでモータ10のU相の電流を、電流センサ27bでモータ10のV相の電流を計測してもよい。3φ電流算出器28は、電流センサ27a、27bでU相電流およびV相電流を計測した場合、残りのW相電流値Iwは、Iu+Iv+Iw=0のキルヒホッフの法則より算出する。3φ電流算出器28は、算出した各相の相電流値Iu、Iv、Iwをu,v,w/d-q変換器29へ出力する。
u,v,w/d-q変換器29は、位置推定器32により出力された現在のロータ位置である電気角位相θeをもとに、3φ電流算出器28により出力された3相のU相電流値Iu、V相電流値Iv、W相電流値Iwを、2相のd軸電流Idおよびq軸電流Iqへ変換する。そして、u,v,w/d-q変換器29は、d軸電流Idを電流指令値算出器14、減算器18、軸誤差演算器30、IIR35a、電流誤差補正値生成器37へ、q軸電流Iqを電流指令値算出器14、減算器19、軸誤差演算器30、IIR35b、電流誤差補正値生成器37へ、それぞれ出力する。
軸誤差演算器30は、加算器21により出力されたd軸電圧指令値Vd*、加算器22により出力されたq軸電圧指令値Vq*、u,v,w/d-q変換器29により出力されたd軸電流Id、q軸電流Iqから推定した電気角位相θeと、実際の回転軸である実軸(dq軸)の回転角度位置θdとの差である軸誤差Δθを算出して、PLL制御器31へ出力する。
PLL制御器31は、軸誤差演算器30により出力された軸誤差Δθから、現在の推定角速度である電気角推定角速度ωeを算出して、位置推定器32および1/Pn処理器33へそれぞれ出力する。
位置推定器32は、PLL制御器31により出力された電気角推定角速度ωeから電気角位相θeおよび機械角位相θmを推定する。そして、位置推定器32は、推定した電気角位相θeをd-q/u,v,w変換器23およびu,v,w/d-q変換器29へそれぞれ出力する。また、位置推定器32は、推定した機械角位相θmを、電流指令値算出器14、電流誤差補正値生成器37、補正トルク生成器34へそれぞれ出力する。
1/Pn処理器33は、PLL制御器31により出力された電気角推定角速度ωeをモータ10の極対数Pnで除算して機械角推定角速度ωmを算出し、減算器11、38へそれぞれ出力する。
補正トルク生成器34は、速度変動許容値|Δωm|*、1/Pn処理器33により出力された機械角推定角速度ωmから機械角速度指令値ωm*を減算器38で減算した機械角推定角速度変動(速度変動)Δωm、位置推定器32により出力された機械角位相θmから、周期的な速度変動である機械角推定角速度変動(速度変動)Δωmを速度変動許容値|Δωm|*以下に抑制するための変動トルク指令値ΔTを生成する。変動トルク指令値ΔTは、消費電力低減やモータ10の減磁防止等を考慮して調整される。補正トルク生成器34の詳細は、後述する。なお、上記の角速度偏差Δωと機械角推定角速度変動(速度変動)Δωmは正負の符号が異なるだけである。
IIR35aは、u,v,w/d-q変換器29により出力されたd軸電流Idを入力とし、ノイズを除去してd軸応答電流Id_iirを出力するフィルタである。IIR35bは、u,v,w/d-q変換器29により出力されたq軸電流Iqを入力とし、ノイズを除去してq軸応答電流Iq_iirを出力するフィルタである。IIRは、無限インパルス応答フィルタ(Infinite Impulse Response Filter)であり、ノイズ除去フィルタの一例である。
非干渉化制御器36は、電気角速度指令値ωe*と、d軸応答電流Id_iirとから、非干渉化前d軸電圧指令値Vdtを補正するための非干渉化補正値Vdaを生成する。また、非干渉化制御器36は、電気角速度指令値ωe*と、q軸応答電流Iq_iirとから、非干渉化前q軸電圧指令値Vqtを補正するための非干渉化補正値Vqaを生成する。非干渉化補正値Vdaおよび非干渉化補正値Vqaは、dq軸間の干渉項を予めフィードフォワードして、電流制御による干渉をキャンセルするための補正値である。ここで、干渉項の演算については、安定制御を図るために、非干渉化補正値は直流化された値であることが望ましい。このために、例えば、速度については電気角速度指令値ωe*を用い、d軸電流Idおよびq軸電流Iqについては変動成分が排除されたIIRの出力値であるd軸応答電流Id_iirおよびq軸応答電流Iq_iirを用いて演算される。
電流誤差補正値生成器37は、電流指令値算出器14の応答遅延やdq軸の干渉により、dq軸電流が電流指令値に追従し切れずに生じる変動誤差(位相誤差および振幅誤差)を積算し、積算値の反転出力を電流誤差補正値(d軸電流誤差補正値ΔIdおよびq軸電流誤差補正値ΔIq)として生成する。ここで、d軸電流誤差補正値ΔIdはd軸電流指令値I*とモータ10を流れるd軸電流Idとの変動誤差を補正するための電流フィードフォワード成分であり、q軸電流誤差補正値ΔIqはq軸電流指令値Iq*とモータ10を流れるq軸電流Iqとの変動誤差を補正するための電流フィードフォワード成分である。
すなわち、電流誤差補正値生成器37は、電流指令値算出器14により出力されたd軸電流指令値Id*およびq軸電流指令値Iq*と、u,v,w/d-q変換器29により出力されたd軸電流Idおよびq軸電流Iqと、位置推定器32により出力された機械角位相θmとからd軸電流誤差補正値ΔIdおよびq軸電流誤差補正値ΔIqを生成して出力する。電流誤差補正値生成器37の詳細は、後述する。
[実施形態の制御切替判定部]
図3は、実施形態の制御切替判定部の一例を示すブロック図である。制御切替判定部15は、電圧振幅算出器15a、制御切替判定器15bを有する。電圧振幅算出器15aは、加算器21より出力されたd軸電圧指令値Vd*および加算器22より出力されたq軸電圧指令値Vq*から、下記(1)式に基づき、出力電圧振幅Vaを算出する。
制御切替判定器15bは、電圧振幅算出器15aで算出された出力電圧振幅Vaのピーク値と、出力電圧振幅限界値Vdq_limitとの比較を行う。出力電圧振幅限界値Vdq_limitは、インバータが出力可能な最大出力電圧である。制御切替判定器15bは、出力電圧振幅Va(ピーク値)<出力電圧振幅限界値Vdq_limitである場合には、モータ10の現在の制御領域が通常制御領域であると判定する。また、制御切替判定器15bは、出力電圧振幅Va(ピーク値)≧出力電圧振幅限界値Vdq_limitである場合には、モータ10の現在の制御領域が電圧飽和領域であると判定する。そして制御切替判定器15bは、判定した制御領域をCONTROL_TYPEの信号(A:通常制御領域、B:電圧飽和領域)にて出力し、電流指令値算出器14へ通知する。
[実施形態の補正トルク生成器]
図4は、実施形態の補正トルク生成器の一例を示すブロック図である。実施形態の補正トルク生成器34は、速度変動幅振幅|Δωm|を入力して、モータ10の振動が実使用上問題とならない範囲の速度変動許容値|Δωm|*内になるように変動トルク指令値(補正トルク)ΔTの振幅(補正トルク振幅|ΔT|)および位相を機械角周期毎に調整する。補正トルク生成器34は、速度変動成分分離器34a、速度変動振幅算出器34b、減算器34c、補正トルク振幅算出器34d、速度変動位相修正器34e、直交成分分離器34f、補正トルク復調器34gを有する。
速度変動成分分離器34aは、機械角推定角速度変動(速度変動)Δωmを、下記(2.1)式および(2.2)式から、機械角位相θmをもとに、Δωmの基本波成分である2つのフーリエ係数ωsin(sin成分)とωcos(cos成分)へ分離する。機械角推定角速度変動Δωmの基本波成分のフーリエ係数を機械角周期毎に算出することで、機械角推定角速度変動Δωmの高調波成分を排除して機械角推定角速度変動Δωmの基本波成分を精度よく抽出することができる。ωsinおよびωcosは、機械角周期毎に更新される値である。
速度変動振幅算出器34bは、下記(3)式から、機械角推定角速度変動Δωmのωsin(sin成分)およびωcos(cos成分)に基づく速度変動振幅|Δωm|を算出する。ωsinおよびωcosは、機械角周期毎に更新される値であるため、速度変動振幅|Δωm|も機械角周期毎に更新される。
減算器34cは、速度変動振幅算出器34bにより出力された速度変動振幅|Δωm|から、入力された速度変動許容値|Δωm|*を減算した速度変動偏差|Δωm|errを生成する。速度変動許容値|Δωm|*は、モータ10の振動が許容できる範囲での速度変動振幅|Δωm|を規定したものである。
補正トルク振幅算出器34dは、速度変動振幅|Δωm|と速度変動許容値|Δωm|*の偏差に応じて補正トルク振幅|ΔT|を機械角周期毎に調整する。例えば、補正トルク振幅算出器34dは、下記(4)式により、速度変動振幅|Δωm|と速度変動許容値|Δω|*の偏差である速度変動偏差|Δωm|errに補正ゲインkを適用し、補正トルク振幅|ΔT|を積算する。下記(4)式における|ΔT|_oldは、前回の機械角周期における補正トルク振幅|ΔT|である。補正ゲインkを適切に設定することで、速度変動|Δω|が速度変動許容値|Δωm|*の境界でハンチングする問題や、急激な負荷トルク変化によって速度変動|Δω|が速度変動許容値|Δωm|*よりも大きくなって振動および騒音が発生する問題を抑制することができる。
速度変動位相修正器34eは、機械角周期毎に取得される機械角推定角速度変動(速度変動)Δωmの位相を修正する。修正方法は、例えば、下記(5.1)式および(5.2)式の演算により、機械角推定角速度変動Δωmのωsin(sin成分)およびωcos(cos成分)それぞれに、補正ゲインkを適用して積算することによる。下記(5.1)式におけるωsin_i_oldは、前回の機械角周期におけるωsin_iである。また、下記(5.2)式におけるωcos_i_oldは、前回の機械角周期におけるωcos_iである。そして、下記(5.3)式に示すように、ωsin_iおよびωcos_iの逆正接(Arctangent)を取った結果が、速度変動修正位相φωiである。この速度変動修正位相φωiが、本実施形態におけるトルク制御位相の基準になり、これに対してπ/2遅角した位相が変動トルク指令値(補正トルク)ΔTの位相となる。
直交成分分離器34fは、下記(6.1)式および(6.2)式に基づき、補正トルク振幅|ΔT|と速度変動修正位相φωiのsin成分(ωsin_i)およびcos成分(ωcos_i)を得る。この処理は、(5.1)式および(5.2)式の演算による位相修正時の発散を防止する役割も有する。
補正トルク復調器34gは、下記(7.1)式および(7.2)式から、変動トルク指令値(補正トルク)ΔTを算出する。この処理により、速度変動修正位相φωiからπ/2だけ遅角した補正トルク位相へ変換され、機械角位相θmでの変動トルク指令値(補正トルク)ΔTの瞬時値が生成される。
なお、補正トルク復調器34gは、下記(8)式からも変動トルク指令値(補正トルク)ΔTの瞬時値を算出できる。
そして、下記(9)式のように、上述のように生成された変動トルク指令値(補正トルク)ΔTが、速度制御器12により出力された平均トルク指令値To*へ加算されることで、合計トルク指令値T*が生成される。
なお、補正トルク生成器34は、モータ10の通常制御領域と電圧飽和領域とで同一の制御器を用いてもよい。
[実施形態の電流指令値算出器]
図5は、実施形態の電流指令値算出器の一例を示すブロック図である。実施形態の電流指令値算出器14は、通常制御領域電流指令値算出器14a、電圧飽和領域電流指令値算出器14bを有する。
通常制御領域電流指令値算出器14aは、電流指令値算出器(MTPI曲線上の電流を算出)14a1を有する。電圧飽和領域電流指令値算出器14bは、出力電圧制限指令値生成器14b1、誘起電圧指令値生成器14b2、電流指令値算出器(定誘起電圧楕円上の電流を算出)14b3を有する。
先ず、出力電圧制限指令値生成器14b1について説明する。出力電圧制限指令値生成器14b1は、d軸電流Id、q軸電流Iq、出力限界値Vdq_limitを入力として、下記(10.1)式および(10.2)式により、出力電圧制限指令値Va*を算出する。
ここで、出力電圧制限指令値生成器14b1は、出力電圧制限指令値Va*が出力限界値Vdq_limitに到達した場合には、下記(11)式のように出力電圧制限指令値Va*は、出力限界値Vdq_limitの値にして、弱め磁束制御動作となる。
なお、出力電圧制限指令値とは、電圧指令生成器20および非干渉化制御器36により生成される実際の出力電圧のことではなく、実際の出力電圧が出力電圧制限指令値と一致するような電流指令値を生成するための理論的な電圧を指す。
誘起電圧指令値生成器14b2は、出力電圧制限指令値生成器14b1で生成された出力電圧制限指令値Va*と、現在のd軸電流Id、q軸電流Iqおよび電気角推定角速度ωeから、誘起電圧指令値Vo*をモータモデル式の演算により算出する。ここで、PMSMモータの電圧方程式(d軸電圧Vd、q軸電圧Vq)、出力電圧振幅Va、誘起電圧Voの理論式は、下記(12)式~(14)式のようになる。
上記(12)式~(14)式から、出力電圧制限指令値Va*と誘起電圧指令値Vo*を関連づける式は、下記(15)式の通りとなる。
なお、上記(15)式では、インダクタンスでの電流変化に伴う誘起電圧(p項電圧)が考慮されているが、これは、トルク制御による電流変化によるp項電圧の変動が無視できないためである。p項電圧は、電流変動の微分値を計算できればよいが、検出電流の変化量をそのまま微分値とすると、電流ノイズを含んでしまう不都合が生じるため、微分値は、電流基本波変動をもとに、例えば以下のように生成する。
p項電圧の生成方法について説明するために、d軸電流Idの変動成分ΔIdaおよびq軸電流Iqの変動成分ΔIqaを下記(16.1)式および(16.2)式のように定義する。
ここで、機械角一回転で1回の周期変動の場合において、上記(16.1)式に含まれる“Ida”と“φd”は、それぞれΔIdaの変動振幅と初期位相であり、上記(16.2)式に含まれる“Iqa”と“φq”は、それぞれΔIqaの変動振幅と初期位相であり、θmは機械角位相の瞬時値を示す。
すると、電流基本波変動により生ずるp項電圧は、下記(17.1)式および(17.2)式のようになる。ただし、下記(17.1)式および(17.2)式において、“ωm”は、機械角速度ωである。すなわち、d軸電流変動およびq軸電流変動の位相をπ/2だけ進ませ、機械角速度ωmを乗算することで、微分値を生成することができる。
電流指令値算出器(定誘起電圧楕円上の電流を算出)14b3は、合計トルク指令値T*の定トルク曲線と、誘起電圧指令値Vo*および推定速度ωからなる定誘起電圧楕円の交点であるq軸電流指令値Iq*とd軸電流指令値Id*を算出する(図1(b)参照)。
具体的には、定トルク曲線と定誘起電圧楕円の交点は、例えば下記(18)式~(19)式のように、モータトルク式と誘起電圧式の2式を用いて算出できる。
上記(18)式および(19)式からd軸電流Idを消去すると、下記(20)式のように、q軸電流Iqに関する4次方程式を得ることができる。ただし、下記(20)式において、“ΔL=Ld-Lq”であり、“Ψa”はモータ10の鎖交磁束であり、“Vo”はモータ10の誘起電圧であり、“ω”はモータ10の速度であり、“T”はモータ10の駆動トルクであり、“Pn”はモータ10の極対数であり、“Ld”はモータ10のd軸インダクタンスであり、“Lq”はモータ10のq軸インダクタンスである。
上記(20)式の4次方程式の実数解の一つが、合計トルク指令値T*からなる定トルク曲線と、誘起電圧指令値Voおよび速度変動ωからなる定誘起電圧楕円が交差する点でのq軸電流指令値Iq*である(図1(b)参照)。4次方程式の解は、例えばニュートン法などを用いて導出することができる。
電流指令値算出器(定誘起電圧楕円上の電流を算出)14b3は、q軸電流指令値Iq*算出後は、下記(21)式のように、上記(19)式の誘起電圧式をd軸電流の式に変換してq軸電流指令値Iq*を代入することでd軸電流指令値Id*を算出する。ただし、下記(21)式において、“Ψa”はモータ10の鎖交磁束であり、“Vo”はモータ10の誘起電圧であり、“ω”はモータ10の速度であり、“Ld”はモータ10のd軸インダクタンスであり、“Lq”はモータ10のq軸インダクタンスである。
ここで、上記(21)式において、正負の符号の何れを採用するかは、定誘起電圧楕円の中心であるM点(-Ψa/Ld,0)(図6参照)を通るIq軸に平行な直線(以降、M点境界ラインという)と、定誘起電圧楕円が交差する点でのトルク(以降、M点境界上トルクという)を計算し、この計算結果と合計トルク指令値T*とを比較することによって決定する。以下に、正負の符号を含めd軸電流指令値Id*の算出手順を示す。また、図6は、実施形態のd軸電流設定の一例を説明するための図である。
まず、M点上のd軸電流Id_Mを、下記(22)式のように算出する。
次に、M点境界ラインと定誘起電圧楕円が交差するq軸電流Iq_Mを算出する。q軸電流Iq_Mは、上記(19)式に示す定誘起電圧楕円の式にId_Mを代入することで算出でき、下記(23)式の通りとなる。
よって、M点境界ラインと定誘起電圧楕円とが交差するM点境界上トルクT_Mは、下記(24)式のように計算される。
最後に、トルク指令値T
*とM点境界上トルクT_Mとの大小を比較することで、d軸電流指令値Id
*を下記(25.1)式および(25.2)式のように決定する。下記(25.1)式は、図6(a)に示すように合計トルク指令値T
*≦M点境界上トルクT_Mの場合のd軸電流指令値Id
*であり、下記(25.2)式は、図6(b)に示すようにトルク指令値T
*>M点境界上トルクT_Mの場合のd軸電流指令値Id
*である。ただし、下記(25)式において、“T
*”はトルク指令値であり、“T_M”はモータの定誘起電圧楕円上のM点におけるトルクであるM点境界上トルクである。
以上のようにして、電流指令値算出器(定誘起電圧楕円上の電流を算出)14b3は、定トルク曲線と定誘起電圧楕円の交点であるq軸電流指令値Iq*およびd軸電流指令値Id*を算出する。
また、電流指令値算出器(MTPI曲線上の電流を算出)14a1は、図6(a)で示すようにMTPI(最大トルク/電流)曲線上において、合計トルク指令値T*で示される定トルク曲線とMTPI曲線との交点であるq軸電流指令値Iq*とd軸電流指令値Id*を算出する。
ここで、定トルク曲線と、MTPI曲線の交点は、例えば、上記(18)式で表されるモータトルク式と、上記(10.1)式で表される、MTPI曲線上のd軸電流Idとq軸電流Iqの関係式を用いて算出できる。なお、上記(18)式の右辺の第1項がマグネットトルクを、第2項がリラクタンストルクを表し、マグネットトルクはq軸電流Iqのみを含み、リラクタンストルクはq軸電流Iqとd軸電流Idの両方を含む。従って、適正なトルクを発生させるには、q軸電流Iqとd軸電流Idを適切に制御しなければならない。
上記(18)式および(10.1)式よりd軸電流Idを消去すると、下記(26)式に示すような、q軸電流Iqに関する4次方程式を得ることができる。4次方程式は、ニュートン法等の既知の手法により解を求めることができる。
上記(26)式に示す4次方程式の実数解の一つが、合計トルク指令値T*とMTPI曲線の交点におけるq軸電流指令値Iq*である。例えば、電流指令値算出器(MTPI曲線上の電流を算出)14a1は、上記(26)式をもとにq軸電流指令値Iq*を取得する。そして、電流指令値算出器(MTPI曲線上の電流を算出)14a1は、上記(10.1)式のMTPI曲線上のd軸電流算出式に、算出したq軸電流指令値Iq*を代入することで、d軸電流指令値Id*を算出する。
ここで、電流指令値算出器(MTPI曲線上の電流を算出)14a1または電流指令値算出器(定誘起電圧楕円上の電流を算出)14b3により算出されたq軸電流指令値Iq*と、q軸電流(検出値)Iqの偏差を電圧指令生成器20に入力してPI制御を実施しても、負荷トルク変動周期で変動するq軸電流指令値Iq*の平均にq軸電流(検出値)Iqの平均値は追従するものの、変動成分については電圧指令生成器20の応答遅延やd軸およびq軸の干渉により、q軸電流(検出値)Iqがq軸電流指令値Iq*に追従せずに位相誤差が発生する。
d軸電流に関しても同様で、電流指令値算出器(MTPI曲線上の電流を算出)14a1または電流指令値算出器(定誘起電圧楕円上の電流を算出)14b3により算出されたd軸電流指令値Id*と、d軸電流(検出値)Idとの偏差を電圧指令生成器20に入力してPI制御を実施するだけでは、位相誤差が発生する。そこで、この位相誤差を積算して、位相誤差の反転出力を電流誤差補正値として生成し、これを電流指令値に加算した電流補正指令値と電流検出値の偏差にPI制御を適用することで位相誤差を抑制できる。
[実施形態の電流誤差補正値生成器]
図7は、実施形態の電流誤差補正値生成器の一例を示すブロック図である。電流誤差補正値生成器37は、減算器37a、37e、q軸電流誤差成分分離器37b、q軸電流誤差積算器37c、q軸電流誤差補正値復調器37d、d軸電流誤差成分分離器37f、d軸電流誤差積算器37g、d軸電流誤差補正値復調器37hを有する。
減算器37aは、q軸電流誤差補正値ΔIqの生成にあたり、下記(27)式に示すように、q軸電流Iqとq軸電流指令値Iq*との偏差であるq軸電流変動誤差Iq_errを算出する。
q軸電流誤差成分分離器37bは、下記(28.1)式および(28.2)式により、q軸電流変動誤差Iq_errの基本波成分である2つのフーリエ係数(Iq_err_sin(sin成分)およびIq_err_cos(cos成分))を機械角周期毎に算出する。これにより、高調波成分を排除してq軸電流変動誤差Iq_errの基本波成分を精度よく抽出することができる。ここで、Iq_err_sinおよびIq_err_cosは、機械角周期毎に更新される値である。
q軸電流誤差積算器37cは、下記(29.1)式および(29.2)式に示すように、q軸電流誤差成分分離器37bにより分離されたq軸電流変動誤差Iq_errのsin成分およびcos成分に補正ゲインkを適用し、q軸電流変動誤差Iq_errのsin成分Iq_err_sin_iおよびcos成分Iq_err_cos_iそれぞれを積算する。下記(29.1)式におけるIq_err_sin_i_oldは、前回の機械角周期におけるIq_err_sin_iである。また、下記(29.2)式におけるIq_err_cos_i_oldは、前回の機械角周期におけるIq_err_cos_i_oldである。
q軸電流誤差補正値復調器37dは、下記(30.1)式および(30.2)式により、q軸電流誤差補正値ΔIqを算出する。この処理により、q軸電流変動誤差の位相を反転させて、機械角位相θmでのq軸電流誤差補正値ΔIqの瞬時値が生成される。
d軸電流誤差補正値ΔIdについても同様である。すなわち、減算器37eは、d軸電流誤差補正値ΔIdの生成にあたり、下記(31)式に示すように、d軸電流Idとd軸電流指令値Id*との偏差であるd軸電流変動誤差Id_errを算出する。
d軸電流誤差成分分離器37fは、下記(32.1)式および(32.2)式により、d軸電流変動誤差Id_errの基本波成分である2つのフーリエ係数(Id_err_sin(sin成分)およびId_err_cos(cos成分))を機械角周期毎に算出する。これにより、高調波成分を排除してd軸電流変動誤差Id_errの基本波成分を精度よく抽出することができる。ここで、Id_err_sinおよびId_err_cosは、機械角周期毎に更新される値である。
d軸電流誤差積算器37gは、下記(33.1)式および(33.2)式に示すように、d軸電流誤差成分分離器37fにより分離されたd軸電流変動誤差Id_errのsin成分およびcos成分に補正ゲインkを適用し、d軸電流変動誤差Id_errのsin成分Id_err_sin_iおよびcos成分Id_err_cos_iそれぞれを積算する。下記(33.1)式におけるId_err_sin_i_oldは、前回の機械角周期におけるId_err_sin_iである。また、下記(33.2)式におけるId_err_cos_i_oldは、前回の機械角周期におけるId_err_cos_i_oldである。
d軸電流誤差補正値復調器37hは、下記(34.1)式および(34.2)式により、d軸電流誤差補正値ΔIdを算出する。この処理により、d軸電流変動誤差の位相を反転させて、機械角位相θmでのd軸電流誤差補正値ΔIdの瞬時値が生成される。
加算器16(図2参照)は、下記(35.1)式に示すように、q軸電流指令値Iq*にq軸電流誤差補正値ΔIqを加算し、q軸電流補正指令値Iq_FF*を生成する。また、加算器17(図2参照)は、下記(35.2)式に示すように、d軸電流指令値Id*にd軸電流誤差補正値ΔIdを加算し、d軸電流補正指令値Id_FF*を生成する。
電圧指令生成器20(図2参照)は、下記(36.1)式および(36.2)式に示すように、q軸電流補正指令値Iq_FF*とq軸電流(検出値)Iqの偏差にPI制御を実施し、非干渉化前q軸電圧指令値Vqtを生成し、d軸電流補正指令値Id_FF*とd軸電流(検出値)Idの偏差にPI制御を実施し、非干渉化前d軸電圧指令値Vdtを生成する。
加算器21(図2参照)は、下記(37.1)式で表される非干渉化補正値Vqaを、下記(37.3)式に示すように、電圧指令生成器20により出力された非干渉化前q軸電圧指令値Vqtに加算することにより、dq軸間の干渉項をあらかじめフィードフォワードして電流制御による干渉をキャンセルする非干渉化制御を実施する。また、加算器22(図2参照)は、下記(37.2)式で表されるd軸非干渉化補正値Vdaを、下記(37.4)式に示すように、電圧指令生成器20により出力された非干渉化前d軸電圧指令値Vdtに加算することにより、dq軸間の干渉項をあらかじめフィードフォワードして電流制御による干渉をキャンセルする非干渉化制御を実施する。
ここで、非干渉化の演算については、制御安定を図るために、直流化された値を用いることが望ましい。例えば、速度に関しては、速度指令値ω*を用い、d軸電流Idやq軸電流Iqに関しては、変動成分が排除されたフィルタ値であるd軸応答電流Id_iir、q軸応答電流Iq_iirを用いて演算する。こうすることで、安定した電流制御を行うことができる。
以上の実施形態によれば、モータ10の現在の制御領域が電圧飽和領域であると判定された場合に、モータ10の電流指令値を、モータ10の定トルク曲線とモータ10の定誘起電圧楕円の交点に基づいて生成することから、電圧振幅の変動を抑制しつつ、周期変動を抑制するための出力トルク変動を速度変動に対して最適化することで、チューニングを不要にし、弱め磁束制御が行われる電圧飽和領域におけるモータ10のトルク脈動を抑制し制振効率を向上させることができる。
また、以上の実施形態によれば、補正トルク生成器34は、モータ10の振動が許容できる範囲を示す速度変動許容値に応じて補正トルクを生成することから、モータ10の振動をある程度許容しつつ制振することにより、モータ10の消費電力の抑制を図ることができる。
上述の実施形態および図示の具体的名称、処理、制御、各種のデータやパラメータを含む情報については、一例を示すに過ぎず、特記する場合を除いて適宜変更することができる。また、上述の実施形態における各部もしくは各装置の構成は、処理負荷や実装効率等から適宜分散または統合されてもよい。また、上述の実施形態における各処理は、処理負荷や実装効率等から、処理順序を適宜入れ替えて実行されてもよい。
上述の実施形態のより広範な態様は、上述のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。従って、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念または範囲から逸脱することなく、様々な変更が可能である。