以下、本発明の実施形態を図面に基づいて説明する。
《第1実施形態》
図1は、発明の実施形態に係るモータ制御装置のブロック図である。詳細な図示は省略するが、本例のモータ制御装置を電気自動車に設ける場合に、三相交流誘導モータ10(以下単にモータ10)は、走行駆動源として駆動し、電気自動車の車軸に結合されている。なお本例のモータ制御装置はインバータを制御することによってモータを制御するものを例に挙げて説明し、以下ではモータ制御装置と記載する。また、本例のモータ制御装置は、例えばハイブリッド自動車(HEV)等の電気自動車以外の車両にも適用可能である。なお、本例におけるモータ10は、ロータに永久磁石を備えると共にステータに多相巻線を有した一般的なIPMモータであり、説明は省略する。
本例のモータ制御装置は、モータ10の各相の巻線に流れる電流(交流電流)を制御することによってモータ10の動作を制御するモータ制御装置であって、電流指令値演算部1と、PI−dq電流制御部2と、非干渉制御部3と、dq−3相変換部4と、変調率演算部5と、三角波比較部6と、インバータ7(変換回路)と、直流電源8と、電流センサ9と、モータ10と、位置センサ(PS)11と、角速度演算部12と、dq−3相変換部13と、推定部20と、推定用電流演算部30とを備えている。
電流指令値演算部1は、モータ10の出力トルクの目標値として外部より入力されるトルク指令値(T)、角速度演算部12の出力であり、モータ10の回転速度に相当する角速度(ω)及び直流電源8の検出電圧である電圧(Vdc)を入力とし、インバータ7を制御する電流指令値(id *、iq *)を演算し、出力する。ここで、dq軸は、回転座標系の成分を表している。トルク指令値(T)、角速度(ω)及び直流電源8の電圧(Vdc)と、電流指令値(id *、iq *)との対応関係はマップで示されおり、当該マップでは、トルク指令値(T)等の入力値に対して、モータ10を高効率で動作させる電流指令値が定められている。そして、電流指令値演算部1は当該マップを参照することで、dq軸電流指令値(id *、iq *)を演算する。
PI−dq電流制御部2は、電流センサ9の検出値に基づき計測されたd軸電流(id)及びq軸電流(iq)をd軸電流指令値(id *)及びq軸電流指令値(iq *)にそれぞれ一致させるようにフィードバック制御するPIフィードバック制御器である。PI−dq電流制御部2の入力側には、dq軸電流指令値(id *、iq *)とdq軸電流(id、iq)との偏差をとる減算器が設けられ、減算器の出力がPI−dq電流制御部2に入力される。そして、PI−dq電流制御部2は、dq軸電流指令値(id *、iq *)に対してdq軸電流(id、iq)を、定常的な偏差なく所定の応答性で追随させるよう制御演算を行い、dq軸の電圧指令値(vd *、vq *)を出力する。
非干渉制御部3は、dq軸電流指令値(id *、iq *)及び角速度(ω)を入力として、dq軸非干渉電圧(vd_dcpl *、vq_dcpl *)を演算する制御器である。非干渉制御部3には、PI−dq電流制御部2の干渉成分(干渉電圧)を打ち消すための非干渉電圧のマップが予め記憶されており、入力値に対して当該マップを参照することで、dq軸非干渉電圧(vd_dcpl *、vq_dcpl *)を演算する。
PI−dq電流制御部2及び非干渉制御部3の出力側には加算器が設けられている。当該加算器において、PI−dq電流制御部2及び非干渉制御部3から出力される電圧指令値を加算することで非干渉電圧が補正され、加算器からdq−3相変換部4への出力値が、dq軸電圧指令値(vd、vq)となる。
dq−3相変換部4は、dq軸電圧指令値(v
d、v
q)及び角速度演算部12で演算される電気角(θ)を入力として、下記の式1を用いて、dq軸電圧指令値(v
d、v
q)を固定座標系のu、v、w軸の電圧指令値(v
u、v
v、v
w)に座標変換し、変調率演算部5に出力する。
変調率演算部5は、直流電源8の電圧(Vdc)に基づいて、所定の演算式により直流電源8の直流電圧に対するモータ10への供給電圧の割合で示される変調率を演算する。変調率が予め設定された第1の変調率閾値未満である場合には、モータ10への供給電圧の波形が正弦波になるよう、dq−3相変換部4から出力される電圧指令値(vu、vv、vw)を変調し、三角波比較部6に出力する(mu、mv、mw)(正弦波PWM制御方式)。一方、変調率が予め設定された第1の変調率閾値以上で第2の変調率閾値未満である場合には、モータ10への供給電圧の波形が正弦波ではなく歪んだ波形になるよう、電圧指令値(vu、vv、vw)を変調し、三角波比較部6に出力する(mu、mv、mw)(過変調PWM制御方式)。
過変調PWM制御方式では、電圧指令を正弦波波形から歪ませることで、モータへの印加電圧の基本波成分を高めている。そして、変調率演算部5により変調された電圧指令値の振幅は、三角波比較部6のキャリアの振幅よりも大きくなるため、モータ10への印加電圧の波形は正弦波を歪ませた波形となる。
また、変調率が予め設定された第2の変調率閾値以上である場合には、モータ10への供給電圧の波形が矩形波になるよう、電圧指令値(vu、vv、vw)をさらに変調し、三角波比較部6に出力する(mu、mv、mw)(矩形波制御方式)。矩形波制御方式は、上記のPWM制御方式のようなフィードバック制御ではなく、オープン制御となる。これにより、変調率演算部5は、PWM制御方式及び矩形波制御方式のいずれか一方の制御方式を選択した上で、インバータ7を制御している。
三角波比較部6は、キャリアである三角波と、変調率演算部5から入力される指令値とを比較することで、PWM信号を生成して、インバータ7に出力する。インバータ7に含まれる複数のスイッチング素子は、当該PWM信号に基づいて、オン及びオフを切り替える。
直流電源8は、二次電池を含むバッテリであり、本例の車両の動力源となる。インバータ7は、MOSFETやIGBT等のスイッチング素子(図示しない)を対に接続した回路を複数接続した三相インバータ回路により構成されている。各スイッチング素子には、PWM信号が入力される。そして、当該スイッチング素子のスイッチング動作により、直流電源8の直流電圧が交流電圧に変換され、モータ10に入力される。またモータ10が発電機として動作する場合には、インバータ7はモータ10から出力される交流電圧を直流電圧に変換し直流電源8に出力する。これにより直流電源8が充電される。
電流センサ9は、U相及びW相にそれぞれ設けられ、相電流(iu、iw)を検出し、dq−3相変換部13に出力する。v相の電流は、電流センサ9により検出されず、代わりに、dq−3相変換部13は入力された相電流(iu、iw)からv相の相電流(iv)を演算する。なお、v相の相電流について、v相に電流センサ9を設け、当該電流センサ9により検出してもよい。
モータ10は、多相モータであり、インバータ7に接続されている。またモータ10は発電機としても動作する。位置センサ11は、レゾルバまたはエンコーダなどのセンサにより、モータ10の磁極の位置を検出するセンサである。位置センサ11の検出値は角速度演算部12に出力される。角速度演算部12は、位置センサ11からの出力値をカウントすることで、モータ10の回転子の電気角(θ)を演算し、dq−3相変換部4、13に出力する。また角速度演算部12は、電気角(θ)の時間変化率により角速度(ω)を演算して、電流指令値演算部1及び非干渉制御部3に出力する。
dq−3相変換部13は、入力される相電流(iu、iw)をdq軸電流(id、iq)に変換して、PI−dq電流制御部2の入力側の減算器に出力する。これにより、dq軸電流(id、iq)がPI−dq電流制御部2に入力されることになり、本例のインバータ制御装置は電流制御ループによるフィードバック制御を行っている。
推定部20は、dq軸電流指令値(id *、iq *)及び電流センサ9の検出値に基づくdq軸電流(id、iq)に基づいて、モータ10の磁石温度を推定する。なお、磁石の温度の推定制御については後述する。
推定用電流指令値演算部30は、電流指令値演算部1により演算されたdq軸電流指令値(id *、iq *)に基づき、推定用の電流指令値(id1 *、iq1 *)を演算し、PI−dq電流制御部2の入力側の減算器に出力する。また推定用電流指令値演算部30は、推定用の電流指令値(id1 *、iq1 *)を演算することなく、磁石温度を推定できる場合には、dq軸電流指令値(id *、iq *)を減算器に出力する。なお、推定用の電流指令値の演算制御については後述する。
ここで、モータ10の磁石の温度依存性について、図2を用いて説明する。図2は、モータ10の磁石において、磁界(H、磁束の量であり、以下単に磁束と記載)と磁束密度(B)の特性を示すグラフである。
図2のグラフaに示すように、低温時(温度T1)のBH特性において、磁束密度A1の状態から、モータ10の磁束密度を下げるように、モータの電流を制御した場合には、磁束密度はA1からA2に遷移する。そして、モータ10の磁束密度を元の状態に戻すように、モータの電流を制御した場合には、磁束密度はA2からA1に遷移する。
一方、図2のグラフaに示すように、高温時(温度T2>T1)のBH特性において、磁束密度B1の状態から、モータ10の磁束密度を下げるように、モータの電流を制御した場合には、磁束密度はB1からB2に遷移する。そして、モータ10の磁束密度を元の状態に戻すように、モータの電流を制御した場合には、磁束密度はB2からB1に遷移せずに、B1よりも低い磁束密度のB3に遷移する。
すなわち、モータ10の磁石は高温領域において、不可逆減磁が発生する(図2のクニック点Cを参照)。また磁石のBHカーブは温度依存性をもっており、磁石の温度が高い場合には、モータ10の巻線に流れる電流値が同一であっても出力トルクに差異が生じ、トルクの出力制御が悪化する。その結果として、モータ10の出力効率が落ち、電流応答性も悪化する。ゆえに、本例のようなモータ制御装置において、モータ10の磁石の温度を管理することは、モータ10の制御の応答精度を高めることになる。
次に、本例のモータ制御装置における、モータ10の磁石温度に対するdq軸電流の応答性について、図3を用いて説明する。図3は、dq軸電流指令値(id *、iq *)に対するdq軸電流の理想応答特性及びdq軸電流の検出値の特性を示すグラフである。グラフa1、b1は電流指令値演算部1から出力されるd軸電流指令値及びq軸電流指令値を示し、グラフa2、b2は、磁石温度が所定温度である場合に、インバータ7から出力されるd、q軸電流の理想値の応答特性を示し、グラフa3、b3は、磁石温度が当該所定温度と異なる温度である場合に、電流センサ9で検出される検出値(d、q軸電流)の特性を示す。なお、各特性において、駆動周波数は同じ周波数とする。
グラフa1、b1に示すように、アクセル開度の変化により対応するトルク指令値が変化し、ステップ値で示されるdq軸電流指令値が時間(t1)で入力されると、インバータ7からモータ10に出力される電流はPI−dq電流制御部2による応答性により時間遅れをもった特性で出力される。そのため、グラフa1、b1のdq軸電流指令値に対して、電流センサ9の検出値に相当するdq電流は、グラフa2、b2の特性を示す。
この時、グラフa2、b2の特性では、モータ10の磁石温度を所定温度(例えば30℃)としており、この所定温度の時のdq軸電流の特性を理想応答特性としている。
そして、理想応答特性の磁石温度に対して、磁石温度が変化すると、dq軸電流は、グラフa3、b3のように、応答波形が変化する。すなわち、磁石温度が変化すると、dq軸電流の特性は理想特性に対して振動するような電流応答特性を示し、グラフa2、b2の特性とグラフa3、b3の特性との間で誤差が生じる。この誤差は、インバータ7を制御するパラメータが温度依存性をもっていることにより、発生する。そのため、磁石温度の変化はdq軸電流の特性を評価することで推定することができる。
そして、電流応答特性から磁石温度を精度よく推定するためには、PI−dq制御部2へdq軸電流指令値が図3に示すようなステップ状の変化が望ましい。
図4を用いて、トルクの変化又は回転数の変化と、電流指令値の変化との関係について説明する。図4は、モータ10の回転数とモータ10のトルクとの関係を示すグラフである。モータ10の出力トルク及びモータ10の回転数が、点aで示される状態から、アクセル開度が変化し、モータ10に対して、大きなトルクの要求がある場合には、モータ10の状態は、点a1の状態から点線a2で示す状態に遷移する。このとき、モータ10の出力トルクを高めるために、電流指令値は、大きな振幅をもつステップ状の特性で変化する。
また、同様に、モータ10への要求回転数が大きい場合にも、モータ10の状態は、点a1の状態から点線a3で示す状態に遷移する。このときも、電流指令値は大きな振幅をもつステップ状の特性で変化する。
すなわち、モータ10の状態が点a1の状態から点線a2又は点線a3に示す状態に遷移した場合には、図3のグラフa1及びb1に示すように、大きい振幅をもったステップ状の電流指令値がPI−dq電流制御部2に入力される。そのため、モータ10へのトルク指令又は回転数指令が変化する場合(過渡状態)であれば、変化する電流指令値を用いることで、電流応答特性から磁石温度を精度よく推定することができる。
一方、アクセルの開度が変化せずに、モータ10が点a1の状態を維持する場合には、電流指令値は十分な値をもったステップ値の特性で変化しないため、電流応答特性から精度よく磁石温度を推定することは難しい。
また、アクセル開度の変化量が小さく、モータ10への要求トルクが小さい場合には、モータ10の状態は点a1の状態から点線b1で示す状態に遷移するため、モータ10のトルクの変化量は小さい。同様に、モータ10への要求回転数が小さい場合にも、モータ10の状態は、点a1の状態から点線b2で示す状態に遷移し回転数の変化量は小さい。このような場合には、電流指令値は十分な値をもったステップ値の特性で変化しないため、電流応答特性から精度よく磁石温度を推定することは難しい。
すなわち、モータ10へのトルク指令又は回転数指令が変化しない場合、あるいは、これらの指令の変化量が小さい場合には、電流指令値は十分な値をもったステップ値の特性で変化しないため、電流応答特性から精度よく磁石温度を推定することは難しい。
そこで、本例のモータ制御装置は、モータ10の過渡状態においてモータ10の磁石温度を推定するモータ電流制御モードと、モータ10の定常状態においてモータ10の磁石温度を推定するモータ状態推定モードとを切り替えることで、モータ10の状態に関わらず、モータ10の磁石温度を推定できるように、モータ10を制御している。
モータ電流制御モードは、電流指令値演算部1のマップにより演算された電流指令値(id *、iq *)をPI−dq電流制御部2の入力側の減算器に出力しつつ、インバータ7をPWM制御方式で制御しているときに、モータ10の磁石温度を推定するモードである。すなわち、モータ制御モードは、モータ10を効率よく動作させる通常の制御と変わりない。
一方、モータ状態推定モードでは、電流指令値演算部1のマップにより演算されたdq軸電流指令値(id *、iq *)に基づいて、推定用の電流指令値(id1 *、iq1 *)を演算する。そして、推定用の電流指令値(id1 *、iq1 *)を減算器に出力しつつ、インバータ7をPWM制御方式で制御しているときに、モータ10の磁石温度を推定するモードである。モータ状態推定モードは、モータ制御モードのdq軸電流指令値(id *、iq *)に対して、電流指令値を過渡的に変化させることで、モータ10の出力トルクの変動を抑制しつつ、上記の電流応答特性から磁石温度を推定できるように、インバータ7及びモータ10を制御している。このときのモータ10の効率は、最適値であるdq軸電流指令値(id *、iq *)に対して変化させている分、悪くなっている。
以下、各モードにおける磁石の温度を推定制御について説明する。まず、モータ電流制御モードにおける磁石の温度を推定制御について説明する。
トルク指令値の変化に応じてdq軸電流指令値(id *、iq *)が、電流指令値演算部1から推定用電流指令値演算部30に、ステップ値で入力される。
推定用電流指令値演算部30は、モータ10の回転数(回転速度、N)の変化量と、予め設定されたモード切り替え用の閾値とを比較する。モード切り替え用の閾値は、予め設定された閾値である。モータ10の回転数の変化量は、位置センサ11で検出された前回値に基づく回転数と、今回値に基づく回転数との偏差から演算される。
アクセル開度の変化量が十分にあり、トルク指令値が十分な大きさで変化する場合(過渡状態)には、モータ10へのトルク指令の変化を用いることで、電流応答特性から磁石温度を精度よく推定することができる
そして、モータ10の回転数(N)の変化量(ΔN)が回転数閾値(ΔNth)以上である場合には、推定用電流指令値演算部30はモータ電流制御モードを選択し、電流指令値演算部1により演算されたdq軸電流指令値(id *、iq *)を、そのままPI−dq電流制御部2の入力側の減算器に出力する。ここでは、トルク指令値の変化に応じてdq軸電流指令値(id *、iq *)が変化するため、モータ電流制御モードが選択されることになる。
磁石温度推定部20は、dq軸電流指令値(id *、iq *)が入力されるタイミングから所定の期間(Ts)、dq−3相変換部13の出力値をサンプリングすることで、当該期間(Ts)におけるdq軸電流(id、iq)の特性を演算する。所定の期間(Ts)は、図3に示すように、dq軸電流指令値(id *、iq *)に対する応答特性の遅れ時間に応じて設定され、例えば、応答特性が指令値の特性上で安定したと判断できる時間に設定される。
磁石温度推定部20には、モータ10の磁石の温度とインダクタンス(Ld、Lq)との対応関係を示すマップが予め格納されている。モータ10の磁石の温度とインダクタンス(Ld、Lq)との間には相関性があり、磁石の温度が高くなると、磁束が下がり、dq軸のインダクタンス(Ld、Lq)は上がる。マップは当該相関性に基づき、磁石の温度とインダクタンス(Ld、Lq)との対応関係を示す。
また磁石温度推定部20は、磁石温度を上記の所定温度(基準温度)とした場合における、dq軸電流指令値(id *、iq *)に対するdq軸電流の応答特性を理想応答特性として予め設定している。インバータ7、電流センサ9及びモータ10を含む制御対象の特性は設計段階で決まるため、当該理想応答特性も設計段階で予め決まっている。
推定部20は、所定期間(Ts)内に検出されるdq軸電流と理想応答特性で示されるdq軸電流の理想値との差異を、以下の式2で示される誤差関数(e)を用いて誤差を演算することで、評価する。
式2において、stはdq軸電流指令値の入力開始時間(図3のt1に相当)、Xは入力開始時間(st)を始点とした誤差関数による評価時間(図3の時間(Ts)に相当)、id_ideal、iq_idealは理想応答特性の理想値、Wd、Wqはモータ10の設計に応じた重み係数を示す。また式2は、過渡状態の電流を表す誤差関数である。
これにより、理想温度特性に対応する温度(基準温度)と実際の磁石温度との差異は、上記の誤差関数から演算された数値で表れる。
磁石温度推定部20は、誤差関数で演算された演算値に基づきPI−dq電流制御部2の制御パラメータ(Ld、Lq)を設定することで、誤差関数の演算値を小さくするようにPI−dq電流制御部2を制御する。
磁石温度を一定の温度条件とし、制御パラメータとしてLdを変えた場合のdq軸電流の特性を図5a、bに示す。図5aは時間に対するd軸電流の特性を示し、図5bは時間に対するq軸電流の特性を示す。図5a、bにおいて、グラフa1、b1はdq軸電流指令値の特性を、グラフa2、b2は理想応答特性を、グラフa3、b3はd軸インダクタンスをLd3とした場合の電流センサ9の検出値のdq軸電流特性を、グラフa4、b4はd軸インダクタンスをLd4とした場合の電流センサ9の検出値のdq軸電流特性を示す。なお、q軸インダクタンス(Lq)のパラメータは変えておらず、Ld3はLd4より大きい値とする。
d軸インダクタンスをLd3とした場合の誤差関数の値(e3)は、d軸インダクタンスをLd4とした場合の誤差関数の値より小さくなっており、d軸インダクタンスLd3の特性は、d軸インダクタンスLd4の特性と比較して理想応答特性に近づいている。そして、磁石温度推定部20のマップ上で、d軸インダクタンス(Ld3)に対応する温度をT3とし、d軸インダクタンス(Ld4)に対応する温度をT4(<T3)した場合には、図5の温度条件において、d軸インダクタンスのパラメータをLd4にすると、誤差関数の値(e)がより小さくなり、dq軸電流特性が理想応答特性により近づいているため、磁石の実際の温度はT4に近い温度になっている。
図6に、磁石温度を一定にした場合の、パラメータ(Ld)と誤差関数との関係を示す。図6に示すように、誤差関数の演算値(e)は、パラメータに応じた異なる値となるが、演算値には収束点(em)がある。そのため、磁石温度推定部20は、当該収束点をみつけるように、複数のパラメータを用いて誤差関数による誤差値を演算する。すなわち、磁石温度推定部20は、誤差関数の演算値が小さくなるように、d軸インダクタンスのパラメータを変えつつ、上記の誤差関数による評価を行い、演算値(e)を収束させる。そして、推定部20は、マップを参照し、収束した演算値(em)の誤差演算の際に用いたパラメータ(Ldm)に対応する温度を抽出し、抽出した温度を、磁石の温度として推定する。
これにより、磁石温度推定部20は、PI−dq軸電流制御部2に含まれるパラメータのうち、磁石温度に対して依存性をもつパラメータによって生じている、dq軸電流の理想応答特性とdq軸電流の電流センサ9の検出値特性との差異を評価することで、モータ10の磁石の磁石又は温度を推定する。
次に、モータ状態推定モードにおける磁石の温度の推定制御について説明する。電流指令値演算部1は、モータ制御モードにおける演算と同様に、マップを参照しつつ、トルク指令値等に対応するdq軸電流指令値(id *、iq *)を演算し、推定用電流指令値演算部30に出力する。
磁石温度推定部20は磁石温度を推定してからの経過時間を計測する。また、上記のモータ電流制御モード又はモータ状態推定モードで磁石温度を推定すると経過時間をリセットして、再度、経過時間を計測する。磁石温度推定部20には、磁石の温度を常時管理するための時間の閾値が、管理時間閾値として予め設定されている。管理時間閾値は、磁石温度を推定するための時間間隔を示している。
また、磁石温度推定部20は、モータ電流制御モードで磁石温度を推定可能なdq電流指令値(id *、iq *)が入力されたタイミングで、磁石温度を推定している。そのため、モータ10が過渡状態で動作している間は、磁石温度は頻繁に推定され、磁石温度を推定してからの経過時間は短くなる。
一方、モータ10の定常状態が継続した場合には、モータ電流制御モードにおいて磁石温度が推定されてない。そのため、磁石温度推定部20は、磁石温度を推定してからの経過時間と管理時間閾値とを比較し、経過時間が管理時間閾値以上になった場合には、推定用電流指令値演算部30に対して、モータ状態推定モードに切り替えるための指令を送信する。
推定用電流指令値演算部30は、磁石温度推定部20からモード状態推定モードに切り替えるための指令を受信すると、モータ10の回転数(N)の変化量(ΔN)と回転数閾値(ΔNth)とを比較する。あるいは、推定用電流指令値演算部30は、磁石温度推定部20からモード状態推定モードに切り替えるための指令を受信すると、モータ10のトルクの変化量とトルク閾値とを比較する。
本例は、モータ10の回転数(N)の変化量(ΔN)が回転数閾値(ΔNth)未満であるとき、すなわち定常状態である場合に、回転数(N)の変化量(ΔN)がゼロであるか否かに応じて、推定用電流指令値(id1 *、iq1 *)の演算制御を変えている。また本例は、モータ10のトルクの変化量がトルク閾値未満であるとき、すなわち定常状態である場合に、トルクの変化量がゼロであるか否かに応じて、推定用電流指令値(id1 *、iq1 *)の演算制御を変えている。まず、変化量(ΔN)がゼロである場合について説明する。なお、以下の説明では、回転数変化量に基づく制御について説明するが、トルク変化量に基づく制御についても、下記の回転数変化量(ΔN)及び回転数閾値(ΔNth)を、トルク変化量及びトルク閾値に代替することで説明できる。
モータ10の回転数(N)の変化量(ΔN)が回転数閾値(ΔNth)未満であり、かつ、変化量(ΔN)がゼロである場合には、推定用電流指令値演算部30は、電流指令値演算部1により演算された電流指令値(id *、iq *)に基づき、推定用電流指令値(id1 *、iq1 *)を演算する。
図7を用いて、推定用電流指令値(id1 *、iq1 *)の演算制御について説明する。図7は、定トルク曲線を示すグラフであり、横軸はd軸電流(id)を縦軸はq軸電流(iq)を示す。図7の点Aは、電流指令値演算部1で演算されたdq軸電流指令値(id *、iq *)を示している。dq軸電流指令値(id *、iq *)は、電流指令値演算部1のマップを参照しつつ演算された指令値であって、モータ10を高効率で動作させる指令値である。そして、点Aを含む定トルク線上で、電流指令値を移動させると、モータ10のトルクは点Aの指令値により出力されるトルクと同じである。しかしながら、モータ10の効率は、点Aの指令値で制御したときの効率よりも低くなる。
そのため、推定用電流指令値演算部30は、電流指令値演算部1のdq軸電流指令値(id *、iq *)に対応するモータ10のトルクを維持しつつ、当該dq軸電流指令値(id *、iq *)と異なる推定用電流指令値(id1 *、iq1 *)を演算する。このとき、推定用電流指令値演算部30は、指令値の変化に伴う誘導電圧を下げるために、dq軸電流指令値(id *、iq *)の電流位相を進角させて(図7において、d軸成分の磁束を下げる方向)、推定用電流指令値(id1 *、iq1 *)を演算する。図7の点Bで示される電流指令値が、推定用電流指令値(id1 *、iq1 *)に相当する。すなわち、推定用電流指令値演算部30は、電流指令値(id *、iq *)によりモータ10から出力されるトルクを変動させることなく、電流指令値を、dq軸電流指令値(id *、iq *)から推定用電流指令値(id1 *、iq1 *)に変化させることで、図3のグラフa1及びb1に示すようなステップ状の電流指令値を生成している。
このとき、dq軸電流指令値(id *、iq *)と推定用電流指令値(id1 *、iq1 *)との偏差は、電流応答性を演算可能な最小限の値にする。偏差は、予め設定されてもよく、推定された温度に応じて設定されてもよい。
dq軸電流指令値(id *、iq *)と推定用電流指令値(id1 *、iq1 *)との偏差が大きいほど、電流指令値の変化量は大きくなる。その一方で、モータ10の効率は低くなる。そのため、モータ10の効率の最適値に相当する電流指令値(id *、iq *)から、定トルク線上で、電流指令値を移動させる際には、推定用電流指令値演算部30は、電流指令値の偏差を最小限とするように、推定用電流指令値(id1 *、iq1 *)を演算することで、モータ10の効率の低下を抑制している。
また、推定用電流指令値演算部30は、推定用電流指令値(id1 *、iq1 *)の出力時間を、モータ10の時定数の10倍以下に設定している。モータ10の時定数は、指令値の入力に対する電流の応答性を時間で示しており、モータ10の巻線抵抗及びインダクタンスにより決まる値である。
推定用電流指令値(id1 *、iq1 *)の時間をモータ10の時定数の10倍より長くした場合には、推定用電流指令値(id1 *、iq1 *)の時間に対して電流応答性を取得できる時間(言い換えると、指令値(又は理想値)と実際の電流の検出値との間に、偏差が生じている時間)の割合が多くなる。そのため、モータの効率を下げる時間を長くしても、電流応答性に基づく磁石温度の推定精度をさらに高めることができない。一方、推定用電流指令値(id1 *、iq1 *)の時間が、モータ10の時定数の10倍の時間よりも、極端に短い場合には、磁石温度推定部20は、磁石温度を推定可能な程度に電流応答特性を取得ことが困難である。そのため、推定用電流指令値演算部30は、推定用電流指令値(id1 *、iq1 *)の時間を、モータ10の時定数の10倍以下に設定している。
そして、推定用電流指令値演算部30は、モータ10の時定数の10倍以下の時間で、パルス状の推定用電流指令値(id1 *、iq1 *)を、PI−dq電流制御部2の減算器側に出力する。
図8に、推定用電流指令値(id1 *、iq1 *)と、モータ10のdq軸電流の検出値との関係を示す。図8のグラフaは、推定用電流指令値(id1 *、iq1 *)の時間特性を示し、グラフbはdq軸電流の検出値の時間特性を示す。時間(Tr)は、ステップ状の推定用電流指令値(id1 *、iq1 *)のハイレベルの時間であり、推定用電流指令値(id1 *、iq1 *)の出力時間を示す。
図8に示すように、ステップ状の推定用電流指令値(id1 *、iq1 *)を、PI−dq電流制御部2に入力することで、dq軸電流の検出値は時間遅れをもった特性で出力される。
磁石温度推定部20は、モータ電流制御モードと同様に、推定用電流指令値(id1 *、iq1 *)が入力されるタイミングから所定の期間(Ts)、dq−3相変換部13の出力値をサンプリングすることで、当該期間(Ts)におけるdq軸電流(id、iq)の特性を演算することで、電流応答特性を求める。そして、磁石温度推定部20は、誤差関数を用いつつ、推定用電流指令値(id1 *、iq1 *)とdq軸電流の電流センサ9の検出値特性との差異を評価することで、モータ10の磁石の磁石又は温度を推定する。
磁石温度推定部20は、モータ状態推定モードで磁石温度の推定を終えると、モータ電流制御モードに切り替えるための指令を、推定用電流指令値演算部30に出力する。そして、推定用電流指令値演算部30は、当該指令を受信することでモータ状態推定モードからモータ電流制御モードに戻す。これにより、モータ10の定常状態が、所定の時間、継続し、回転数の変化量(ΔN)がゼロである場合に、本例のモータ制御装置は磁石温度を推定できる。
次に、変化量(ΔN)がゼロである場合について説明する。モータ10の回転数(N)の変化量(ΔN)が回転数閾値(ΔNth)未満であり、かつ、変化量(ΔN)がゼロでない場合には、電流指令値演算部1により演算される電流指令値(id *、iq *)は、変化量(ΔN)に応じて変化する。そして、推定用電流指令値演算部30は、電流指令値(id *、iq *)の変化後の指令値に基づき、推定用電流指令値(id1 *、iq1 *)を演算する。
図9を用いて、推定用電流指令値(id1 *、iq1 *)の演算制御について説明する。図9は、定トルク曲線を示すグラフであり、横軸はd軸電流(Id)を縦軸はq軸電流を示す。図9の点A、Bは、電流指令値演算部1で演算されたdq軸電流指令値(id *、iq *)を示しており、点Aはモータ10の回転数の変化前の値を示し、点Bはモータ10の回転数の変化後の値を示している。点Cは推定用電流指令値(id1 *、iq1 *)を示す。
回転数の変化に伴い、dq軸電流指令値(id *、iq *)が点Aの状態から点Bの状態に遷移する。また、定トルク曲線も遷移する。推定用電流指令値演算部30は、点Bの電流指令値(id *、iq *)によりモータ10から出力されるトルクを維持しつつ、電流指令値を、dq軸電流指令値(id *、iq *)から推定用電流指令値(id1 *、iq1 *)に変化させることで、推定用電流指令値(id1 *、iq1 *)を演算する。
点Aで示されるdq軸電流指令値(id *、iq *)と推定用電流指令値(id1 *、iq1 *)との偏差は、上記と同様に、電流応答性を演算可能な最小限の値に設定されている。
そして、磁石温度推定部20は、上記と同様に、推定用軸電流指令値(id1 *、iq1 *)が入力されるタイミングから所定の期間(Ts)、dq−3相変換部13の出力値をサンプリングすることで、当該期間(Ts)におけるdq軸電流(id、iq)の特性を演算することで、電流応答特性を求め、磁石温度を推定する。
磁石温度推定部20は、モータ状態推定モードで磁石温度の推定を終えると、モータ電流制御モードに切り替えるための指令を、推定用電流指令値演算部30に出力する。推定用電流指令値演算部30は、モータ状態推定モードからモータ電流制御モードに戻す。これにより、モータ10の定常状態が、所定の時間、継続し、回転数の変化量(ΔN)がゼロでない場合に、本例のモータ制御装置は磁石温度を推定できる。
なお、上記のとおり、磁石温度の推定制御は、電流応答特性を求めることで磁石の温度を推定しており、フィードバック制御を前提としている。そのため、モータ電流制御モード及びモータ状態推定モードにおける磁石温度の推定制御は、インバータ7がPWM制御方式で駆動している場合に、実行される。
次に、図10を用いて、本例のモータ制御装置における磁石温度の推定の制御手順を説明する。図10は、本例のモータ制御装置における磁石温度の推定の制御フローを示すフローチャートである。なお、以下の制御フローの説明では、回転数変化量に基づく制御について説明するが、トルク変化量に基づく制御フローについても、下記の回転数変化量(ΔN)及び回転数閾値(ΔNth)を、トルク変化量及びトルク閾値に代替することで説明できる。
ステップS1にて、電流指令値演算部1は、マップを参照しつつトルク指令値等に基づきdq軸電流指令値(id *、iq *)を演算する。ステップS2にて、推定用電流指令値演算部30は、前回検出されたモータ10の回転数と、今回検出されモータ10の回転数との変化量(ΔN)を演算し、演算した変化量(ΔN)と回転数閾値(ΔNth)とを比較する。
変化量(ΔN)が回転数閾値(ΔNth)以上である場合には、推定用電流指令値演算部30は、dq軸電流指令値(id *、iq *)をPI−dq電流制御部2に出力する。磁石温度推定部20は、当該dq軸電流指令値(id *、iq *)に基づいて電流応答特性を求めつつ、磁石温度を推定する。また、磁石温度推定部20は、磁石温度を推定した時点からの経過時間をリセットした上で、経過時間を計測する(ステップS3)。そして、図10の制御フローを終了する。
ステップS2に戻り、変化量(ΔN)が回転数閾値(ΔNth)未満である場合には、磁石温度推定部20は、磁石温度を推定した時点からの経過時間が管理時間閾値を経過したか否かを判定する(ステップS4)。
経過時間が管理時間閾値していない場合には、このタイミングで磁石温度を推定しなくてもよいため、図10の制御フローを終了する。
一方、経過時間が管理時間閾値した場合には、モータ10の定常状態で磁石温度を推定巣するために、推定用電流指令値演算部30は、モータ電流制御モードからモータ状態推定モードに切り替える(ステップS5)。
ステップS6にて、推定用電流指令値演算部30は、ステップS2で演算した変化量(ΔN)がゼロであるか否かを判定する。変化量(ΔN)がゼロである場合には、ステップS7にて、推定用電流指令値演算部30は、推定用電流指令値(id1 *、iq1 *)を演算し、PI−dq電流制御部2に出力する。
磁石温度推定部20は、当該推定用電流指令値(id1 *、iq1 *)に基づいて電流応答特性を求めつつ、磁石温度を推定する。また、磁石温度推定部20は、磁石温度を推定した時点からの経過時間をリセットした上で、経過時間を計測する(ステップS8)。そして、図10の制御フローを終了する。
ステップS6に戻り、変化量(ΔN)がゼロでない場合には、ステップS9にて、推定用電流指令値演算部30は、回転数の変化後のdq電流指令値(id *、iq *)に対応する推定用電流指令値(id1 *、iq1 *)を演算し、PI−dq電流制御部2に出力する。dq電流指令値(id *、iq *)に対応する推定用電流指令値(id1 *、iq1 *)は、回転数の変化後のdq電流指令値(id *、iq *)により出力されるトルクを維持させつつ、所定の偏差を加えた電流指令値である。
磁石温度推定部20は、当該推定用電流指令値(id1 *、iq1 *)に基づいて電流応答特性を求めつつ、磁石温度を推定する。また、磁石温度推定部20は、磁石温度を推定した時点からの経過時間をリセットした上で、経過時間を計測する(ステップS10)。そして、図10の制御フローを終了する。
上記のように、本例は、電流指令値演算部1で演算されたdq軸電流指令値(id *、iq *)とは異なる推定用電流指令値(id1 *、iq1 *)に基づいてモータ10の電流を制御し、推定用電流指令値(id1 *、iq1 *)に基づいたモータ10の電流制御中に、モータ10の電流応答特性を求めることで、磁石の温度又は磁束を推定する。これにより、本例は、磁石の温度又は磁束を高い精度で推定することができる。また、本例はモータの状態によらず、磁石の温度又は磁束を高い精度で推定できる。
また本例は、モータの回転数の偏差(変化量に相当)が回転数閾値(ΔNth)未満である場合には、推定用電流指令値(id1 *、iq1 *)に対応した電圧をインバータ7からモータ10に出力するように、推定用電流指令値(id1 *、iq1 *)に基づきモータ10の電流制御しつつ、磁石の温度又は磁束を推定する。また、モータの回転数の偏差が回転数閾値(ΔNth)以上である場合には、dq軸電流指令値(id *、iq *)に対応した電圧をインバータ7からモータ10に出力するように、dq軸電流指令値(id *、iq *)に基づきモータ10の電流制御しつつ、磁石の温度又は磁束を推定する。これにより、本例はモータの状態によらず、磁石の温度又は磁束を高い精度で推定できる。
また本例は、インバータ7を制御する指令値(dq軸電流指令値又は推定用電流指令値)の理想応答特性及び当該指令値に対して電流センサ9で検出された検出値の特性から、モータ10の磁石の温度を推定する。これにより、磁石の温度の推定精度を高めることができる。
また本例は、dq軸電流指令値(id *、iq *)に対応するモータ10のトルクを維持させた推定用電流指令値(id1 *、iq1 *)を演算する。これにより、本例はトルクを維持しつつ、電流過渡状態を作り出すことができ、その結果として、磁石の温度又は磁束を推定できる。
また本例は、変化後のdq軸電流指令値(id *、iq *)に対応するモータ10のトルクを維持させた推定用電流指令値(id1 *、iq1 *)を演算する。これにより、本例は変化後のトルクを維持しつつ、電流過渡状態を作り出すことができ、その結果として、磁石の温度又は磁束を推定できる。
また本例は、dq軸電流指令値(id *、iq *)と推定用電流指令値(id1 *、iq1 *)との偏差は、前記電流応答性を演算可能な最小限の値に設定されている。これにより、モータ10の効率低下を抑制できる。
また本例は、PWM制御方式及び矩形波制御方式のいずれか一方の制御方式を選択し、PWM制御方式を選択している場合に推定用電流指令値(id1 *、iq1 *)に基づいて磁石温度を推定する。これにより、フィードバック制御方式による制御中に、磁石の温度又は磁束を推定できる。
また本例は、推定用電流指令値(id1 *、iq1 *)の出力時間をモータの時定数の10倍以下にする。これにより、電流応答特性の演算精度を確保しつつ、モータ10の効率低下を最小限にすることができる。
なお、本発明の変形例として、推定用電流指令値演算部30は、推定される磁石の温度が高いほど、dq軸電流指令値(id *、iq *)と推定用電流指令値(id1 *、iq1 *)との偏差を小さくするように、推定用電流指令値(id1 *、iq1 *)を演算する。
図2に示したように、磁石の温度が高い状態で、モータ10の効率を低下させるように、モータ10を駆動させると、磁石の温度がさらに高くなる。そのため、変形例は、dq軸電流指令値(id *、iq *)と推定用電流指令値(id1 *、iq1 *)との偏差を小さくすることで、磁石の温度の上昇幅を抑制し、不可逆減磁の発生を防ぐ。これにより、モータ10の磁石を高温から保護できる。
なお、本発明の変形例として、推定用電流指令値(id1 *、iq1 *)の出力時間を、モータ10の熱時定数又はインバータ7の熱時定数以下に設定する。これにより、インバータ7の効率の低下を最小限に抑え、モータ10の磁石の温度上昇を抑制できる。
なお、推定用電流指令値演算部30は、モータ10の回転数の変化量(ΔN)と回転数閾値(ΔNth)とを比較し、その比較結果に応じて、モータ電流制御モード及びモータ状体推定モードのいずれか一方のモードを選択した上で、磁石温度を推定したが、例えば、トルク指令値の変化量と所定の閾値とを比較し、その比較結果に応じてモードを選択し、磁石温度を推定してもよい。また、推定用電流指令値演算部30は、モータ10の回転数指令値の変化量と所定の閾値とを比較し、その比較結果に応じてモードを選択し、磁石温度を推定してもよい。また、推定用電流指令値演算部30は、モータ10のトルク検出値の変化量と所定の閾値とを比較し、その比較結果に応じてモードを選択し、磁石温度を推定してもよい。トルク検出値は、例えばトルクセンサにより検出すればよい。
なお本例は、d軸電流及びq軸電流の両方の電流について誤差を評価することで、磁石温度を推定したが、d軸電流またはq軸電流のいずれか一方の電流に関する特性に基づいて、磁石温度を推定してもよい。
また本発明は、非干渉制御部3に含まれるパラメータを設定することで、磁石温度を推定してもよい。
上記の電流指令値演算部1及び推定用電流指令値演算部30が本発明の「指令値演算手段」に相当し、インバータ7が本発明の「変換回路」に相当し、電流センサ9又位置センサ11が「センサ」に相当し、少なくとも電流指令値演算部1、磁石温度推定部20、及び推定用電流指令値演算部30を含んだ制御部及び演算部が本発明の「制御手段」に相当する。
《第2実施形態》
本発明の他の実施形態に係るモータ制御装置を説明する。本例では上述した第1実施形態に対して、推定用電流指令値(id1 *、iq1 *)の演算制御の一部が異なるこれ以外の構成は上述した第1実施形態と同じであるため、その記載を適宜、援用する。
図11は、定トルク曲線を示すグラフであり、横軸はd軸電流(id)を縦軸はq軸電流(iq)を示す。推定用電流指令値演算部30は、dq軸電流指令値(id *、iq *)に対応するモータ10のトルクを維持しつつ、dq軸電流指令値(id *、iq *)と異なる推定用電流指令値(id1 *、iq1 *)を演算する際に、q軸成分の電流の指令値がより大きくなるように、推定用電流指令値(id1 *、iq1 *)を演算する。
dq軸電流指令値(id *、iq *)に対して、所定の偏差を加えることで演算される推定用電流指令値(id1 *、iq1 *)には、dq軸電流指令値(id *、iq *)の電流位相を遅角させることで演算される指令値と、dq軸電流指令値(id *、iq *)の電流位相を進角させることで演算される指令値が考えられる。
図11の点Aの値を、dq軸電流指令値(id *、iq *)としたとき、点Bはdq軸電流指令値(id *、iq *)の電流位相を遅角させた推定用電流指令値(id1 *、iq1 *)に相当し、点Cはdq軸電流指令値(id *、iq *)の電流位相を進角させた推定用電流指令値(id1 *、iq1 *)に相当する。なお、図11において、点A〜Cの条件として、点Aと点Bとを結ぶ線分ABの長さは、点Aと点Cとの間を結ぶ線分ACの長さと等しい、とする。そして、線分ABの長さ及び線分ACの長さはdq軸電流指令値(id *、iq *)に加えられる偏差に相当する。
また、点Aと点Bとの間のq軸成分の電流指令値の大きさをΔiq1とし、点Aと点Cとの間のq軸成分の電流指令値の大きさをΔiq2とすると、図11に示す条件では、Δiq1はΔiq2より大きい。そして、電流応答に基づいて磁石温度を推定する際の特性として、q軸成分電流の方が、d軸成分の電流よりも、インダクタンスの感度を高められる。
そのため、推定用電流指令値演算部30は、dq軸電流指令値の電流位相を進角させることで演算される電流指令値と、dq軸電流指令値の電流位相を遅角させることで演算される電流指令値とのうち、q軸電流指令値の変化量が大きい方の電流指令値を、推定用電流指令値(id1 *、iq1 *)として、演算する。
これにより、本例は、磁石温度又は磁束を推定する際にインダクタンス感度を高めることができる。その結果として、磁石温度又は磁束の推定精度を高めることができる。
なお本発明の変形例として、推定用電流指令値演算部30は、推定される磁石の温度が所定の温度閾値未満である場合には、dq軸電流指令値の電流位相を進角又は遅角させることで推定用電流指令値(id1 *、iq1 *)を演算し、推定される磁石の温度が所定の温度閾値以上である場合には、dq軸電流指令値の電流位相を遅角させることで推定用電流指令値(id1 *、iq1 *)を演算する。
磁石の温度が高い状態で、dq軸電流指令値の電流位相を進角させた推定用電流指令値(id1 *、iq1 *)に基づいてモータ10を制御した場合には、モータ10の磁石の磁束密度は低下する。図2に示すように、磁石の温度が高い状態では、磁束密度を低下した上で、元の状態に戻ろうとしたとしても、クニック点を通過するために、不可逆減磁が発生する。そのため、変形例は不可逆減磁が発生を抑制するために、上記のように、推定される磁石の温度が所定の温度閾値以上である場合には、dq軸電流指令値の電流位相を遅角させて、推定用電流指令値(id1 *、iq1 *)を演算する。これにより、変形例はモータ10の磁石を保護できる。