[一実施形態]
図1は、本発明の一実施形態に係るモータ制御方法を巻線界磁型同期モータに適用した場合のモータ制御システム100の構成例を示すブロック図である。モータ制御システム100は、例えば電気自動車に適用される。なお、モータ制御システム100は、電気自動車以外に、ハイブリッド車両や、自動車以外の例えば鉄道等のシステムに適用することも可能である。
本実施形態のモータ制御システム100は、制御対象の巻線界磁型同期モータ101と、PWM変換器102と、インバータ103と、電源電圧104と、f軸電流出力部105と、電流センサ106と、A/D変換器107と、座標変換器108と、磁極位置検出器109と、パルスカウンタ110と、角速度演算器111と、先読み補償部112と、電流指令値演算部113と、d軸電流制御部114と、q軸電流制御部115と、f軸電流制御部116と、電流推定値演算部117と、非干渉制御部118と、電圧指令値演算部119と、座標変換器120と、を備える。
巻線界磁型同期モータ101(以下、単に「モータ101」という)は、回転子巻線(界磁巻線、ロータコイル)を有する回転子と、固定子巻線(電機子巻線、ステータコイル)を有する固定子とを備える巻線界磁型同期モータである。本実施形態のモータ制御システム100が車両に搭載される場合、モータ101は車両の駆動源となる。詳細は後述するが、モータ101は、回転子巻線を流れる回転子電流と、固定子巻線を流れる固定子電流とが制御されることによって制御される。
PWM変換器102は、後述の座標変換器120から出力される三相電圧指令値v* u、v* v、v* wに基づいて、インバータ103が備えるスイッチング素子(例えばIGBT)へのPWM_Duty駆動信号(強電素子駆動信号)D* uu、D* ul、D* vu、D* vl、D* wu、D* wlを生成し、インバータ103に出力する。
インバータ103は、3相6アームで構成され、相ごとに2つずつ計6つのスイッチング素子を備えた三相電圧型インバータである。インバータ103は、PWM変換器102が生成する強電素子駆動信号に基づいて、電源電圧104の直流電圧を交流電圧vu、vv、vwに変換し、モータ101に供給する。
電源電圧104は、例えば積層型リチウムイオンバッテリである。電源電圧104は、インバータ3とf軸電流出力部105とに直流電力を供給する。
f軸電流出力部105は、電源電圧104から供給される電力を用いて、モータ101の回転子巻線に流れるf軸電流ifを制御するためのf軸電圧vfを出力する。f軸電圧vfは、後述する電圧指令値演算部119から出力される第2のf軸電圧指令値v* fに応じて算出される。換言すると、f軸電流出力部105は、回転子巻線に印加するf軸電圧vfを第2のf軸電圧指令値v* fと一致するように調整する。
電流センサ106は、インバータ103からモータ101に供給される三相交流電流のうち、少なくとも2相の電流、例えば、u相電流iu、v相電流ivを検出する。検出された2相の電流iu、ivは、A/D(アナログ/デジタル)変換器107でデジタル信号(電流ius、ivs)に変換され、座標変換器108に入力される。なお、電流センサ106が2相の電流のみを検出する場合、残りの1相の電流iwsは、次式(1)により求めることができる。
また、電流センサ106は、f軸電流出力部105からモータ101に供給される回転子電流(f軸電流if)を検出する。検出されたf軸電流ifは、A/D変換器107でデジタル信号に変換し、f軸電流制御部116に出力される。
磁極位置検出器109は、モータ101の固定子の電気角度を取得するために、当該固定子の位置(角度)に応じたA相B相Z相のパルス(ABZパルス)をパルスカウンタ110に出力する。
パルスカウンタ110は、ABZパルスに基づいてモータ101の電気角度θreを算出して、角速度演算器111に出力する。
角速度演算器111は、入力される電気角度θreの時間変化率から、電気角速度ωreと、機械角速度ωrmとを算出する。機械角速度ωrmは、電気角速度ωreをモータ極対数pで除算することにより求められる。機械角速度ωrmは、電流指令値演算部113に出力される。電気角速度ωreは、非干渉制御部118と先読み補償部112とに出力される。
先読み補償部112は、電気角度θreと電気角速度ωreとを入力して、電気角速度ωreと制御系が持つ無駄時間との乗算値を電気角度θreに加算することにより、先読み補償後電気角θre'を算出する。先読み補償後電気角θre'は、座標変換器120に出力される。
座標変換器108は、3相交流座標系(uvw軸)から直交2軸直流座標系(d−q軸)への変換を行う。具体的には、座標変換器108は、入力されるu相電流ius、v相電流ivs、及び電気角度θreと、上記式(1)で求まるw相電流iwsとから、以下式(2)を用いて座標変換処理を行うことによって、d軸電流idとq軸電流iqを算出する。
電流指令値演算部113は、トルク指令値T*、モータ回転数(機械角速度ωrm)、及び、電源電圧(直流電圧)Vdcを入力とし、d軸電流指令値i* d、q軸電流指令値i* q、及びf軸電流指令値i* fを算出する。d軸電流指令値i* d、q軸電流指令値i* q、及びf軸電流指令値i* fは、トルク指令値T*、モータ回転数(機械角速度ωrm)、及び、電源電圧Vdcと、d軸電流指令値i* d、q軸電流指令値i* q、及びf軸電流指令値i* fの各々との関係を定めたマップデータを予め記憶しておき、当該マップデータを参照することにより求められる。
d軸電流制御部114は、実際の電流(実電流)の計測値であるd軸電流idをd軸電流指令値i* dに定常偏差なく所望の応答性で追従させるための第1のd軸電圧指令値を算出して、電圧指令値演算部119に出力する。
q軸電流制御部115は、実際の電流(実電流)の計測値であるq軸電流iqをq軸電流指令値i* qに定常偏差なく所望の応答性で追従させるための第1のq軸電圧指令値を算出して、電圧指令値演算部119に出力する。
f軸電流制御部116は、実際の電流(実電流)の計測値であるf軸電流ifをf軸電流指令値i* fに定常偏差なく所望の応答性で追従させるための第1のf軸電圧指令値を算出して、電圧指令値演算部119に出力する。
上記のd軸電流制御部114、q軸電流制御部115、及び、f軸電流制御部116は、d軸、q軸、及びf軸間の干渉電圧を相殺する制御(非干渉制御)が理想的に機能すれば、通常、1入力1出力の単純な特性(制御対象特性)となる。従って、本実施形態のd軸電流制御部114、q軸電流制御部115、及び、f軸電流制御部116は、簡単なPIフィードバック補償器、又は、いわゆるロバストモデルマッチング補償器のような公知の補償器により実現することができる。
電流推定値演算部117は、電流指令値演算部113から出力されるd軸電流指令値i* d、q軸電流指令値i* q、及び、f軸電流指令値i* fから、実電流の推定値であるd軸電流推定値id_ref、q軸電流推定値iq_ref、及びf軸電流推定値if_refと、d軸電流推定値の微分値(変化率)s・id_refと、f軸電流推定値の微分値(変化率)s・if_refとを算出する。電流推定値演算部117の詳細については後述する。
非干渉制御部118は、入力されるd軸電流推定値id_refと、q軸電流推定値iq_refと、f軸電流推定値if_refと、d軸電流推定値の微分値s・id_refと、f軸電流推定値の微分値s・if_refと、電気角速度ωreとから、d軸、q軸、及びf軸間の干渉電圧を相殺するために必要な非干渉電圧vd_dcpl、vq_dcpl、vf_dcplを算出する。非干渉制御部118の詳細については後述する。
電圧指令値演算部119は、d軸電流制御部114、q軸電流制御部115、及び、f軸電流制御部116の各出力である第1のd軸電圧指令値、第1のq軸電圧指令値、及び、第1のf軸電圧指令値を、非干渉制御部118の出力である非干渉電圧vd_dcpl、vq_dcpl、vf_dcplを用いて補正(本実施形態では加算)する。そして、電圧指令値演算部119は、当該補正により得た、第2のd軸電圧指令値v* d、及び、第2のq軸電圧指令値v* qを座標変換器120に出力する。第2のf軸電圧指令値v* fはf軸電流出力部105に出力される。
座標変換器120は、電気角速度ωreで回転する直交2軸直流座標系(d‐q軸)から3相交流座標系(uvw相)への変換を行う。具体的には、座標変換器120は、入力される第2のd軸電圧指令値v* d、第2のq軸電圧指令値v* q、及び、先読み補償後電気角θre'から、以下式(3)を用いて座標変換処理を行うことによって、uvw各相の電圧指令値v* u、v* v、v* wを算出する。
以上が本実施形態のモータ制御システム100が備える構成の概要である。なお、本実施形態では、上述した構成のうち、PWM変換器102、A/D変換器107、座標変換器108、パルスカウンタ110、角速度演算器111、先読み補償部112、電流指令値演算部113、d軸電流制御部114、q軸電流制御部115、f軸電流制御部116、電流推定値演算部117、非干渉制御部118、電圧指令値演算部119、座標変換器120は、少なくとも一つ以上のコントローラ10が備える一機能部として構成される。コントローラ10は、例えば、中央演算装置(CPU)、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、および、入出力インタフェース(I/Oインタフェース)から構成される。
[非干渉制御部]
以下では、非干渉制御部18の詳細について説明する。まず、本実施形態の非干渉制御部18で用いられる電圧方程式について説明する。本発明の制御対象である巻線界磁型同期モータ101の電圧方程式は、以下式(4)で表される。
ただし、上記式(4)の各パラメータは、以下のとおりである。なお、式中のsはラプラス演算子である。
id : d軸電流
iq : q軸電流
if : f軸電流
vd : d軸電圧
vq : q軸電圧
vf : f軸電圧
Ld : d軸インダクタンス
Lq : q軸インダクタンス
Lf : f軸インダクタンス
M : 固定子/回転子間の相互インダクタンス
Ld' : d軸動的インダクタンス
Lq' : q軸動的インダクタンス
Lf' : f軸動的インダクタンス
M' : 固定子/回転子間の動的相互インダクタンス
Ra : 固定子巻線抵抗
Rf : 回転子巻線抵抗
ωre : 電気角速度
上記式(4)から、d軸、q軸、及びf軸間の干渉電圧を相殺するために必要な非干渉電圧vd_dcpl、vq_dcpl、vf_dcplを求めると、次式(5)のとおりとなる。
ここで、非干渉電圧vd_dcpl、vq_dcpl、vf_dcplの算出に用いる電流について、従来のように実際値(電流センサ106による計測値)を用いると、当該計測値によるフィードバックループが形成され、安定性が低下してしまう。また、制御の安定性を確保するために当該フィードバックループに係る制御ゲインを下げると、応答性が犠牲となる。
そこで、本実施形態の非干渉制御部18は、上記式(5)の電流id、iq、ifを、電流推定値演算部117にて推定した電流推定値id_ref、iq_ref、if_refで置換する。すなわち、本実施形態にかかる非干渉電圧vd_dcpl、vq_dcpl、vf_dcplは、以下式(6)で表される。
上記式(6)で算出された非干渉電圧vd_dcpl、vq_dcpl、vf_dcplは、電圧指令値演算部119に出力される。すなわち、本実施形態の非干渉電圧は、フィードバックループを形成する実際値からではなく、フィードバックループを要しない推定値(電流推定値id_ref、iq_ref、if_ref)から算出される。
[電流推定値演算部]
以下では、電流推定値演算部117が行うd軸、q軸、及びf軸の電流推定値id_ref、iq_ref、if_refの算出方法について説明する。d軸、q軸、及びf軸間の干渉電圧を相殺する非干渉制御が理想的に機能すれば、各軸は1入力1出力の単純な制御対象となる。
まず、d軸電流推定値の算出方法について、図2を参照して説明する。
図2は、本実施形態の電流推定値演算部117におけるd軸電流推定値の算出方法を示すブロック図である。
電流推定値演算部117のd軸電流推定値の算出に係る部分は、d軸電流F/B(フィードバック)モデル202とd軸モデル201とから構成される。
d軸モデル201は、後述するd軸電流F/Bモデル202から出力されるd軸電圧推定値を入力として、d軸電圧からd軸電流までの特性をモデル化したd軸モデルによるフィルタリング処理を行い、d軸電流推定値id_refと、d軸電流推定値の微分値s・id_refとを出力する。詳細は図3を参照して説明する。
図3は、d軸モデル201の詳細を示すブロック図である。d軸モデル201は、乗算器301と、減算器302と、除算器303と、積分器304と、を含んで構成される。
乗算器301は、積分器304の出力であるd軸電流推定値id_refに固定子巻線抵抗Raを乗算して、得た値を減算器302に出力する。
減算器302は、d軸電圧推定値から乗算器301の出力値を減算して、算出した値を除算器303に出力する。
除算器303は、減算器302の出力値をd軸動的インダクタンスLd'で除算してd軸電流推定値の微分値s・id_refを算出する。d軸電流推定値の微分値s・id_refは、積分器304と、非干渉制御部118とに出力される。
積分器304は、d軸電流推定値の微分値s・id_refを積分処理することによりd軸電流推定値id_refを算出する。d軸電流推定値id_refは、乗算器301と、非干渉制御部118とに出力される。このように、積分器304の出力を電流推定値とするとともに、積分器304の入力を電流推定値の微分値として取得可能に構成することにより、電流推定値の微分値を容易に求めることができる。
d軸電流F/Bモデル202(図2参照)は、d軸電流指令値i* dと、上述のd軸モデル201の出力であるd軸電流推定値id_refを入力として、d軸電流指令値i* dにd軸電流推定値id_refを定常偏差なく所望の応答性で追従させるためのd軸電圧推定値を算出して、d軸モデル201に出力する。詳細は、図4を参照して説明する。
図4は、d軸電流F/Bモデル202の詳細を示すブロック図である。d軸電流F/Bモデル202は、乗算器401、402と、減算器403と、を含んで構成される。
乗算器401は、電流指令値演算部113から出力されるd軸電流指令値i* dにゲインGadを乗算し、算出した値を減算器403に出力する。ゲインGadは、下記式(7)で表される。
乗算器402は、d軸モデル201から出力されるd軸電流推定値i* d_refにゲインGbdを乗算し、算出した値を減算器403に出力する。ゲインGbdは、下記式(7)で表される。
ただし、式(7)中のτmは、d軸の電流制御規範応答時定数、すなわち、実現したい所望の応答特性に相当する時定数である。
そして、減算器403は、乗算器401の出力値から乗算器402の出力値を減算することによりd軸電圧推定値を算出して、上述のd軸モデル201に出力する。
続いて、q軸電流推定値の算出方法について説明する。
図5は、本実施形態の電流推定値演算部117におけるq軸電流推定値の算出方法を示すブロック図である。電流推定値演算部117のq軸電流推定値の算出に係る部分は、q軸電流F/Bモデル502とq軸モデル501とから構成される。
q軸モデル501は、後述するq軸電流F/Bモデル502から出力されるq軸電圧推定値を入力として、q軸電圧からq軸電流までの特性をモデル化したモデル(q軸モデル)によるフィルタリング処理を行い、q軸電流推定値iq_refを出力する。詳細は、図6を参照して説明する。
図6は、q軸モデル501の詳細を示すブロック図である。q軸モデル501は、乗算器601と、減算器602と、除算器603と、積分器604と、を含んで構成される。
乗算器601は、積分器604の出力であるq軸電流推定値iq_refに固定子巻線抵抗Raを乗算して、算出した値を減算器602に出力する。
減算器602は、q軸電圧推定値から乗算器301の出力値を減算して、算出した値を除算器603に出力する。
除算器603は、減算器602の出力値をq軸動的インダクタンスLq'で除算してq軸電流推定値の微分値s・iq_refを算出し、積分器604に出力する。
積分器604は、q軸電流推定値の微分値s・iq_refを積分処理することによりq軸電流推定値iq_refを算出する。q軸電流推定値iq_refは、乗算器601と、非干渉制御部118とに出力される。
q軸電流F/Bモデル502(図5参照)は、q軸電流指令値i* qと、上述のq軸モデル501の出力であるq軸電流推定値iq_refを入力として、q軸電流指令値i* qにq軸電流推定値iq_refを定常偏差なく所望の応答性で追従させるためのq軸電圧推定値を算出して、q軸モデル501に出力する。詳細は、図7を参照して説明する。
図7は、q軸電流F/Bモデル502の詳細を示すブロック図である。q軸電流F/Bモデル502は、乗算器701、702と、減算器703と、を含んで構成される。
乗算器701は、電流指令値演算部113から出力されるq軸電流指令値i* qにゲインGaqを乗算し、算出した値を減算器703に出力する。ゲインGaqは、下記式(8)で表される。
乗算器702は、q軸モデル501から出力されるq軸電流推定値i* q_refにゲインGbqを乗算し、算出した値を減算器703に出力する。ゲインGbqは、下記式(8)で表される。
ただし、上記式(7)と同様、式(8)中のτmは、q軸の電流制御規範応答時定数である。
減算器703は、乗算器701の出力値から乗算器702の出力値を減算することによりq軸電圧推定値を算出して、上述のq軸モデル501に出力する。
続いて、f軸電流推定値の算出方法について説明する。
図8は、本実施形態の電流推定値演算部117におけるf軸電流推定値の算出方法を示すブロック図である。電流推定値演算部117のf軸電流推定値の算出に係る部分は、f軸電流F/Bモデル802と、リミット関数803と、f軸モデル801とから構成される。
f軸モデル801は、後述するリミット関数803から出力されるリミット処理後f軸電圧推定値を入力として、f軸電圧からf軸電流までの特性をモデル化したモデル(f軸モデル)によるフィルタリング処理を行い、f軸電流推定値if_refと、f軸電流推定値の微分値s・iq_refとを出力する。詳細は図9を参照して説明する。
図9は、f軸モデル801の詳細を示すブロック図である。f軸モデル801は、所定のゲインと、減算器902と、積分器904とで構成される。所定のゲインとは、本実施形態では乗算器901と、除算器903とを含んで構成される。
乗算器901は、積分器904の出力であるf軸電流推定値if_refに固定子巻線抵抗Rfを乗算して、得た値を減算器902に出力する。
減算器902は、リミット関数803から出力されるリミット処理後f軸電圧推定値から乗算器901の出力値を減算して、算出した値を除算器903に出力する。
除算器903は、減算器902の出力値をf軸動的インダクタンスLf'で除算してf軸電流推定値の微分値s・if_refを算出する。f軸電流推定値の微分値s・if_refは、積分器904と、非干渉制御部118とに出力される。
積分器904は、f軸電流推定値の微分値s・if_refを積分処理することによりf軸電流推定値if_refを算出する。f軸電流推定値if_refは、乗算器901と、非干渉制御部118とに出力される。このように、積分器904の出力を電流推定値とするとともに、積分器904の入力を電流推定値の微分値として取得可能に構成することにより、電流推定値の微分値を容易に求めることができる。
f軸電流F/Bモデル802(図8参照)は、f軸電流指令値i* fと、上述のf軸モデル801の出力であるf軸電流推定値if_refを入力として、f軸電流指令値i* fにf軸電流推定値if_refを定常偏差なく所望の応答性で追従させるためのf軸電圧推定値を算出し、リミット関数803に出力する。詳細は、図10を参照して説明する。
図10は、f軸電流F/Bモデル802の詳細を示すブロック図である。f軸電流F/Bモデル802は、乗算器1001、1002と、減算器1003と、を含んで構成される。
乗算器1001は、電流指令値演算部113から出力されるf軸電流指令値i* fにゲインGafを乗算し、算出した値を減算器1003に出力する。ゲインGafは、下記式(9)で表される。
乗算器1002は、f軸モデル801から出力されるf軸電流推定値i* f_refにゲインGbqを乗算し、算出した値を減算器1003に出力する。ゲインGbfは、下記式(9)で表される。
ただし、式(9)中のτmは、f軸の電流制御規範応答時定数、すなわち、実現したい所望の応答特性に相当する時定数である。
減算器1003は、乗算器1001の出力値から乗算器1002の出力値を減算することによりf軸電圧指令値を算出して、リミット関数803に出力する。
リミット関数803は、f軸電流F/Bモデル802(減算器1003)の出力値を所定の飽和関数でリミット処理し、リミット処理後f軸電圧推定値を出力する。本実施形態の飽和関数の上限値と下限値は以下の通りである。すなわち、上限値には、電源電圧Vdcからf軸非干渉電圧vf_dcplを減算した値が設定される(上限値=Vdc−vf_dcpl)。下限値には、−電源電圧Vdcからf軸非干渉電圧vf_dcplを減算した値が設定される(下限値=−Vdc−vf_dcpl)。
上下限値がこのように設定されることにより、後段の電圧指令値演算部119において第1のf軸電圧指令値に非干渉電圧vf_dcplが加算されても、算出された値が電源電圧Vdcに対して飽和してしまうことを回避することができる。また、上述のような飽和関数を用いることにより、f軸電圧の飽和の有無を判定する手段や、f軸電圧の飽和の有無に応じてフィルタを切替えるフィルタ切替え手段等を要さずに、適切なf軸電圧推定値を算出することができる。
以下では、これまで説明した一実施形態のモータ制御方法を適用した一制御周期の流れを、図11を参照して説明する。
図11は、一実施形態のモータ制御方法を示すフローチャートである。図11で示す開始から終了までにかかる一制御周期は、モータ制御システム100が起動している間、一定の間隔で常時実行するように上記のコントローラ10にプログラムされている。
ステップS11では、コントローラ10(パルスカウンタ110、A/D変換器107)は、ABZパルスに基づいて電気角度θreを算出するとともに、取得したu、v相の電流iu、iv、及び、回転子巻線を流れるf軸電流ifから、デジタル信号としての電流ius、ivs、ifsを検出する。
ステップS12では、コントローラ10(角速度演算器111)は、入力される電気角度θreの時間変化率から、電気角速度ωreと機械角速度ωrmとを算出する。
ステップS13では、コントローラ10(先読み補償部112)は、電気角度θreと電気角速度ωreとから、制御系が持つ無駄時間が考慮された先読み補償後電気角θre'を算出する。
ステップS14では、コントローラ10(座標変換器108)は、u、v、w各相の電流ius、ivs、iws、及び電気角度θreから、d、q軸電流id、iqを算出する。
ステップS15では、コントローラ10(電流指令値演算部113)は、トルク指令値T*、モータ回転数(機械角速度ωrm)、及び、電源電圧Vdcから、d軸電流指令値i* d、q軸電流指令値i* q、及びf軸電流指令値i* fを算出する。
ステップS16では、コントローラ10(d軸電流制御部114、q軸電流制御部115、f軸電流制御部116)は、d、q、f軸電流id、iq、ifをd、q、f軸電流指令値i* d、i* q、i* fに定常偏差なく所望の応答性で追従させるためのd、q、f軸各相の第1の電圧指令値を算出する。
ステップS17では、コントローラ10(電流推定値演算部117)は、d、q、f軸電流指令値i* d、i* q、i* fから、実電流の推定値であるd、q、f軸電流推定値id_ref、iq_ref、if_refと、d、f軸電流推定値の微分値s・id_ref、s・if_refとを算出する。
ステップS18では、コントローラ10(非干渉制御部118)は、d、q、f軸電流推定値id_ref、iq_ref、if_refと、d、f軸電流推定値の微分値s・id_ref、s・if_refと、電気角速度ωreとから、d軸、q軸、及びf軸間の干渉電圧を相殺するために必要な非干渉電圧vd_dcpl、vq_dcpl、vf_dcplを算出する。
ステップS19では、コントローラ10(電圧指令値演算部119)は、d、q、f各軸の第1の電圧指令値を、非干渉電圧vd_dcpl、vq_dcpl、vf_dcplを用いて補正することにより、d、q、f各軸の第2の電圧指令値v* d、v* q、v* fを算出する。
そして、ステップS20では、コントローラ10(座標変換器120)は、d軸電圧指令値v* d、第2のq軸電圧指令値v* q、及び、先読み補償後電気角θre'から、uvw各相の電圧指令値v* u、v* v、v* wを算出する。
以上が本実施形態のモータ制御方法による制御フローの概要である。以下では、図12〜14を参照して、本実施形態のモータ制御方法による作用効果について説明する。
図12は、本実施形態のモータ制御方法による制御結果を示すタイムチャートである。横軸は時間を表し、縦軸は、左側の上から順に、d軸電流[A]、q軸電流[A]、及び、f軸電流[A]を表し、右側の上から順に、d軸電圧[V]、q軸電圧[V]、及びf軸電圧[V]を表している。図中の破線は電流指令値を示している。そして、この電流指令値に対する実電流の応答を、本実施形態は実線で、従来技術による制御(従来例)は点線で示している。なお、本例においては、図右側のf軸電圧[V]に示すとおり、f軸電圧は電源電圧に対して飽和していない。
上述したとおり、従来例では、非干渉電圧を電流の実際値に基づくフィードバック制御により算出する。これに対して、本実施形態では、非干渉電圧を電流指令値から算出した電流推定値に基づいて算出する。
ただし、従来例では、実際値に基づくフィードバックループ系が形成されるので、制御の安定性が低下する。従って、図12で示すタイムチャートでは、従来例のフィードバックループ系が有する制御ゲインを下げることにより従来例の制御の安定性を本実施形態と等価となるように設定した上で比較している。
時刻t1では、トルク指令値T*がステップで入力されることに伴い、点線で示すd、q、f軸電流指令値i* d、i* q、i* fがステップ的に変化する。
時刻t2では、d、q、f軸電流が、d、q、f軸電流指令値i* d、i* q、i* fを目標に収束していく。しかしながら、従来例では、制御の安定性の低下分を制御ゲインを下げることで補っているため、電流指令値に対する応答(追従)が遅くなっている。
一方、本実施形態では、電流の実際値を用いずに非干渉電圧を算出しており、従来例のようなフィードバックループ系が構成されない。その結果、電流制御における制御ゲインを下げる必要がないので、電流指令値に対する応答を従来例に比べて早くすることができる。
続いて、本実施形態において、f軸電流推定値の算出にf軸電圧の飽和が考慮されることの効果について説明する。まず、図13を参照してf軸電圧の飽和を考慮しないことの課題について説明する。
図13は、f軸電圧の飽和を考慮しない場合の制御結果を示すタイムチャートである。図12と同様、横軸は時間を表し、縦軸は、左側の上から順に、d軸電流[A]、q軸電流[A]、及び、f軸電流[A]を表し、右側の上から順に、d軸電圧[V]、q軸電圧[V]、及びf軸電圧[V]を表している。図中の破線は電流指令値を示し、点線は電流推定値を示し、実線はf軸電圧の飽和を考慮しない場合の実電流の挙動を示している。
時刻t1では、トルク指令値T*がステップで入力されることに伴い、点線で示すd、q、f軸電流指令値i* d、i* q、i* fがステップ的に変化する。
時刻t2では、f軸電圧vfが電源電圧Vdcを上限として制限されるため、f軸電圧の飽和を考慮していないf軸電流推定値it_refに対するf軸電流ifの応答が遅いことが分かる。すなわち、f軸電圧の飽和を考慮していないf軸電流推定値it_refを用いて算出された非干渉電圧vd_dcpl、vq_dcplでは、f軸電圧の飽和時においてd、q、及びf軸間の干渉電圧を適切に相殺することができない。その結果、本例では、q軸電流において実電流のオーバーシュートが発生してしまう。
時刻t3、t4においても、q軸電流の実電流が電流指令値(定常値)に収束できていないことが分かる。
これに対して、f軸電流推定値の算出にf軸電圧の飽和を考慮する本実施形態の制御結果について、図14を参照して説明する。
図14は、f軸電圧の飽和を考慮する本実施形態の制御結果を示すタイムチャートである。横軸は時間を表し、縦軸は、左側の上から順に、d軸電流[A]、q軸電流[A]、及び、f軸電流[A]を表し、右側の上から順に、d軸電圧[V]、q軸電圧[V]、及びf軸電圧[V]を表している。図中の破線は電流指令値を示し、点線は電流推定値を示し、実線はf軸電圧の飽和を考慮する本実施形態の実電流の挙動を示している。
時刻t1では、トルク指令値T*がステップで入力されることに伴い、点線で示すd、q、f軸電流指令値i* d、i* q、i* fがステップで立ち上がる。
時刻t2では、f軸電圧vfが電源電圧Vdcを上限として制限される。しかしながら、本実施形態では、f軸電流推定値if_refの算出にf軸電圧の飽和が考慮されるので(リミット関数803参照)、f軸電流がf軸電流推定値if_refに一致しているのが分かる。すなわち、本実施形態では、f軸電圧の飽和を考慮して算出されたf軸電流推定値if_refを用いて非干渉電圧vd_dcpl、vq_dcplが算出されるので、f軸電圧の飽和時においてもd、q、及びf軸間の干渉電圧を適切に相殺することができる。
これにより、オーバーシュートやアンダーシュートにより応答性を損なうことなく、d、q、及びfの各軸の電流を好適に制御することができる。また、非干渉制御に実際値を用いていないので、上述の従来例のように電流フィードバックループが形成されることも無い。従って、電流フィードバックループに起因して制御の安定性が低下することも無く、安定性を確保するために制御ゲインを下げる必要がないので、従来例のように制御ゲインを下げることによって応答性が犠牲になるような問題も生じない。
時刻t3、t4では、実電流が電流指令値(定常値)に収束できていることが分かる。このように、本実施形態のモータ制御方法によれば、制御の安定性を損なうことなく、f軸電圧の飽和時においても、d、q、f軸間に発生する干渉電圧を相殺する非干渉電圧を適切に算出することができる。
以上、一実施形態のモータ制御方法は、回転子巻線を有する回転子と、固定子巻線を有する固定子とを備える巻線界磁型同期モータ101において、固定子巻線に流れる固定子電流と回転子巻線に流れる回転子電流とを制御するモータ制御方法である。このモータ制御方法によれば、固定子電流に対するd軸電流指令値i* dおよびq軸電流指令値i* qにそれぞれ追従する第1のd軸電圧指令値および第1のq軸電圧指令値を算出するとともに、回転子電流に対するf軸電流指令値i* fに追従する第1のf軸電圧指令値を算出し、d軸電流指令値i* d、q軸電流指令値i* qおよびf軸電流指令値i* fに基づいて、固定子電流の推定値であるd軸電流推定値id_ref、q軸電流推定値iq_refおよび回転子電流の推定値であるf軸電流推定値if_refをそれぞれ算出し、d軸電流推定値id_ref、q軸電流推定値iq_refおよびf軸電流推定値if_refに基づいて、固定子電流のd軸、q軸および回転子電流のf軸間の干渉電圧を非干渉化するためのd軸非干渉電圧vd_dcpl、q軸非干渉電圧vq_dcplおよびf軸非干渉電圧vf_dcplを算出する。そして、第1のd軸電圧指令値、第1のq軸電圧指令値および第1のf軸電圧指令値を、d軸非干渉電圧vd_dcpl、q軸非干渉電圧vq_dcplおよびf軸非干渉電圧vf_dcplを用いてそれぞれ補正することにより、第2のd軸電圧指令値v* d、第2のq軸電圧指令値v* qおよび第2のf軸電圧指令値v* fを算出し、第2のd軸電圧指令値v* d、第2のq軸電圧指令値v* qおよび第2のf軸電圧指令値v* fに基づいて、固定子電流と回転子電流とを制御する。
これにより、従来のようにフィードバックループを形成することなく非干渉電圧を算出することができるので、フィードバックループが形成されることによる安定性の低下を回避しながら、回転子巻線と固定子巻線との磁気結合により発生する界磁電流の変動を抑制することができる。また、従来のように、安定性を確保するために制御ゲインを下げる必要がないので、制御ゲインを下げることに起因する応答性の低下を回避することができる。
また、一実施形態のモータ制御方法によれば、f軸非干渉電圧の算出に用いるf軸電流推定値は、回転子に印加されるf軸電圧の飽和を考慮して算出される。これにより、f軸電圧の飽和を考慮して算出されたf軸電流推定値if_refを用いて非干渉電圧vd_dcpl、vq_dcplが算出されるので、f軸電圧の飽和時においてもd、q、及びf軸間の干渉電圧を適切に相殺することができる。
また、一実施形態のモータ制御方法によれば、f軸電流推定値if_refは、f軸電圧から回転子電流を構成するf軸電流i* fまでの特性をモデル化したf軸モデル801と、f軸電流指令値とf軸モデルの出力とが入力されるf軸電流F/Bモデル802と、f軸電流F/Bモデル802の出力をリミット処理する飽和関数(リミット関数803)と、により構成される疑似的なF/B系を用いて算出され、f軸モデル801は、飽和関数803の出力値から前記f軸電流推定値if_refを算出する。これにより、疑似的な電流F/B系により、f軸電圧の飽和関数を考慮したf軸電流推定値if_refを算出することができるので、f軸電圧が飽和している状態であっても適切なf軸電流推定値を算出することができる。
また、一実施形態のモータ制御方法によれば、飽和関数803の上限値と下限値は、巻線界磁型同期モータ101の電源電圧Vdcとf軸非干渉電圧vf_dcplとに基づいて算出される。これにより、電源電圧を最大限有効に活用しつつ、f軸電圧の飽和時においてもd、q、及びf軸間の干渉電圧を適切に相殺することができるf軸電流推定値を算出することができる。
また、一実施形態のモータ制御方法によれば、f軸非干渉電圧vf_dcplは、f軸電流推定値if_refと当該f軸電流推定値if_refの微分値とに基づいて算出され、f軸モデルは、積分器を有し、f軸電流推定値の微分値s・if_refは、積分器904の入力値から取得する。これにより、積分器904の出力を電流推定値if_refとするとともに、積分器304の入力を電流推定値の微分値として取得可能に構成されることにより、電流推定値の微分値s・if_refを容易に求めることができる。これにより、非干渉電圧の算出にf軸電流推定値の微分値s・if_refを用いる場合に、f軸電流推定値if_refを近似微分する等の近似処理を不要とすることができる。
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。例えば、図1で示す構成の一部はコントローラ10の一機能部として構成される旨上述したが、同様の機能を発揮可能な限り、コントローラ10の一機能部として構成される必要は必ずしもない。例えば、パルスカウンタ110は、コントローラ10の一機能部として構成される必要はなく、パルスカウント機能を備えるデバイスとしてコントローラ10とは別個に設けられても良い。