(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0008】
以下、本発明による回転電機制御装置を図面に基づいて説明する。なお、以下、複数の実施形態において、実質的に同一の構成には同一の符号を付して説明を省略する。
(第1実施形態)
本発明の第1実施形態による回転電機制御装置を
図1〜
図7に示す。
図1に示すように、回転電機制御装置1は、回転電機としてのモータ80の駆動を制御するものであって、モータ80とともに、例えば車両のステアリング操作を補助するための電動パワーステアリング装置に適用される。
モータ80は、3相ブラシレスモータであり、図示しないバッテリの電力を用いて駆動される。
回転電機制御装置1は、インバータ20、電流センサ30、および、制御部40等を備える。
【0009】
インバータ20は、3相インバータであり、図示しない6つのスイッチング素子がブリッジ接続されている。スイッチング素子は、例えば電界効果トランジスタの一種であるMOSFET(金属酸化物半導体電界効果トランジスタ)である。また、スイッチング素子は、MOSFETに限らず、IGBT(絶縁ゲートバイポーラトランジスタ)やサイリスタ等であってもよい。2つのスイッチング素子は、一方が高電位側、他方が低電位側に接続され、1つのスイッチング素子対を構成する。3つのスイッチング素子対における高電位側スイッチング素子と低電位側スイッチング素子との接続点は、それぞれ、モータ80のU相コイル、V相コイル、および、W相コイルに接続される。
インバータ20の各スイッチング素子は、プリドライバ25を介し、制御部40によりオンオフ作動が制御され、図示しないバッテリから供給される直流電力を交流電力に変換し、モータ80に供給する。
【0010】
電流センサ30には、シャント抵抗やホールICが用いられる。電流センサ30は、U相コイルに通電されるU相電流、V相コイルに通電されるV相電流、および、W相コイルに通電されるW相電流を検出する。電流センサ30の検出値は、増幅回路31を経由して、制御部40へ出力される。
【0011】
制御部40は、回転電機制御装置1全体の制御を司るものであって、各種演算処理を実行するマイクロコンピュータを主体とするものである。制御部40における各処理は、予め記憶されたプログラムをCPUで実行することによるソフトウェア処理であってもよいし、専用の電子回路によるハードウェア処理であってもよい。制御部40は、機能ブロックとして、3相2相変換部41、PI制御部42、43、d軸制限部44、第1q軸制限部45、補正値演算部46、補正部47、第2q軸制限部48、2相3相変換部49、および、PWM変換部50等を有する。
【0012】
3相2相変換部41は、U相電流検出値Iu、V相電流検出値Iv、および、W相電流検出値Iwを、増幅回路31を介して電流センサ30から取得する。U相電流検出値Iu、V相電流検出値Iv、または、W相電流検出値Iwのいずれか1つは、3相和=0より、残りの2相の検出値から演算してもよい。
3相2相変換部41では、図示しない回転角センサにて検出される電気角θに基づき、dq変換により、U相電流検出値Iu、V相電流検出値Iv、および、W相電流検出値Iwを、d軸電流検出値Idおよびq軸電流検出値Iqに変換する。これにより、U相電流検出値Iu、V相電流検出値Iv、および、W相電流検出値Iwは、3相座標からdq座標に変換される。
【0013】
d軸PI制御部42は、d軸電流検出値Idをd軸電流指令値Id
*に追従させるべく、PI演算等により、制限前d軸電圧指令値FBdを演算する。
q軸PI制御部43は、q軸電流検出値Iqをq軸電流指令値Iq
*に追従させるべく、PI演算等により、制限前q軸電圧指令値FBqを演算する。
d軸電流指令値Id
*およびq軸電流指令値Iq
*は、例えば操舵トルクや車速等に応じ、図示しない指令演算部にて演算される。
【0014】
d軸制限部44は、インバータ20からの出力電圧が飽和しないように、制限前d軸電圧指令値FBdを制限するd軸制限処理を行い、d軸電圧指令値Vd
*を演算する。
第1q軸制限部45は、インバータ20からの出力電圧が飽和しないように、制限前q軸電圧指令値FBqを制限する第1q軸制限処理を行い、制限後q軸電圧指令値GFBqを演算する。
d軸制限処理および第1q軸制限処理の詳細は後述する。
【0015】
補正値演算部46は、q軸電流のリップルを抑制するためのq軸補正値WFBqを演算する。
ここで、q軸PI制御部43および補正値演算部46の詳細を
図2に示す。
図2に示すように、q軸PI制御部43は、減算器431、遅延素子432、減算器433、P演算部434、加算器435、I演算部436、遅延素子437、および、加算器438を有する。
【0016】
減算器431は、q軸電流検出値Iqとq軸電流指令値Iq
*との差分であるq軸電流偏差ΔIqを演算する。
遅延素子432は、q軸電流偏差ΔIqの前回値を、減算器433および加算器435に出力する。以下、各演算において、前回値と今回値とを区別する必要がある場合、前回値には
(n-1)、今回値には
(n)を付す。
【0017】
減算器433は、今回のq軸電流偏差ΔIq
(n)と前回のq軸電流偏差ΔIq
(n-1)との偏差を演算する。
P演算部434は、フィードバック演算用のPゲインを用い、今回のq軸電流偏差ΔIq
(n)と前回のq軸電流偏差ΔIq
(n-1)との偏差に基づいてP制御値PFBqを演算する。
【0018】
加算器435は、今回のq軸電流偏差ΔIq
(n)と前回のq軸電流偏差ΔIq
(n-1)との和を演算する。
I演算部436は、フィードバック演算用のIゲインを用い、今回のq軸電流偏差ΔIq
(n)と前回のq軸電流偏差ΔIq
(n-1)との和に基づいてI制御値IFBqを演算する。
遅延素子437は、前回の制限前q軸電圧指令値FBq
(n-1)を加算器438に出力する。
加算器438は、前回の制限前q軸電圧指令値FBq
(n-1)に、P制御値PFBqおよびI制御値IFBqを加算し、今回の制限前q軸電圧指令値FBq
(n)を演算する。
【0019】
補正値演算部46は、感応ゲイン乗算部461および調整ゲイン乗算部462を有し、P制御値PFBqに基づき、q軸補正値WFBqを演算する。
感応ゲイン乗算部461は、電源電圧による応答性への影響を軽減するための感応ゲインを乗算する。
調整ゲイン乗算部462は、応答性を調整するための調整ゲインを乗算する。
【0020】
本実施形態では、P制御値PFBqに、感応ゲインおよび調整ゲインを乗じた値をq軸補正値WFBqとする。P制御値PFBqに乗じるゲインは、感応ゲインまたは調整ゲインのいずれか一方であってもよい。また、補正値演算部46は、P制御値PFBqに替えて、制限前q軸電圧指令値FBqに感応ゲインおよび調整ゲインを乗じることで、q軸補正値WFBqを演算してもよい。
【0021】
図1に戻り、補正部47は、制限後q軸電圧指令値GFBqをq軸補正値WFBqで補正する補正演算を行い、補正後q軸電圧指令値AFBqを演算する。本実施形態の補正部47は、加算器であって、制限後q軸電圧指令値GFBqとq軸補正値WFBqとを加算し、補正後q軸電圧指令値AFBqを演算する。
【0022】
第2q軸制限部48は、インバータ20からの出力電圧が飽和しないように、補正後q軸電圧指令値AFBqを制限する第2q軸制限処理を行い、q軸電圧指令値Vq
*を演算する。第2q軸制限処理の詳細は、後述する。
【0023】
2相3相変換部49は、電気角θに基づき、逆dq変換により、d軸電圧指令値Vd
*およびq軸電圧指令値Vq
*を、3相の電圧指令値であるU相電圧指令値Vu
*、V相電圧指令値Vv
*およびW相電圧指令値Vw
*に変換する。
PWM変換部50は、U相電圧指令値Vu
*、V相電圧指令値Vv
*、および、W相電圧指令値Vw
*に基づき、各相のスイッチング素子のオン期間の割合に対応するU相デューティDu、V相デューティDv、および、W相デューティDwを演算する。
PWM変換部50から出力されたU相デューティDu、V相デューティDv、および、W相デューティDwは、プリドライバ25にて駆動信号に変換される。そして、当該駆動信号に基づき、インバータ20のスイッチング素子のオンオフ作動が制御される。
これにより、制御部40は、インバータ20を介したPWM制御により、モータ80の駆動を制御する。
【0024】
d軸制限部44におけるd軸制限処理を
図3に示すフローチャートに基づいて説明する。
最初のステップS101では、d軸制限部44は、制限前d軸電圧指令値FBdが正側のd軸飽和ガード値Vd_maxより大きいか否かを判断する。以下、「ステップS101」の「ステップ」を省略し、「S101」と記載する。他のステップについても同様とする。d軸飽和ガード値Vd_maxは、インバータ20からの出力電圧が飽和しないように決定される最大電圧V_maxに基づき、許容される進角に応じて決定される定数である(
図5参照)。制限前d軸電圧指令値FBdが正側のd軸飽和ガード値Vd_maxより大きいと判断された場合(S101:YES)、S103へ移行する。制限前d軸電圧指令値FBdが正側のd軸飽和ガード値Vd_max以下であると判断された場合(S101:NO)、S102へ移行する。
【0025】
S102では、d軸制限部44は、制限前d軸電圧指令値FBdが負側のd軸飽和ガード値−Vd_maxより小さいか否かを判断する。制限前d軸電圧指令値FBdが負側のd軸飽和ガード値−Vd_maxより小さいと判断された場合(S102:YES)、S104へ移行する。制限前d軸電圧指令値FBdが負側のd軸飽和ガード値−Vd_max以上であると判断された場合(S102:NO)、S105へ移行する。
【0026】
制限前d軸電圧指令値FBdが正側のd軸飽和ガード値Vd_maxより大きいと判断された場合(S101:YES)に移行するS103では、d軸制限部44は、d軸電圧指令値Vd
*を、正側のd軸飽和ガード値Vd_maxとする。
制限前d軸電圧指令値FBdが負側のd軸飽和ガード値−Vd_maxより小さいと判断された場合(S102:YES)に移行するS104では、d軸制限部44は、d軸電圧指令値Vd
*を、負側のd軸飽和ガード値−Vd_maxとする。
制限前d軸電圧指令値FBdが、負側のd軸飽和ガード値−Vd_max以上、正側のd軸飽和ガード値Vd_max以下であると判断された場合(S101:NO、かつ、S102:NO)に移行するS105では、d軸制限部44は、d軸電圧指令値Vd
*を、制限前d軸電圧指令値FBdとする。
d軸制限部44にて演算されたd軸電圧指令値Vd
*は、第1q軸制限部45および2相3相変換部49に出力される。
【0027】
次に、第1q軸制限部45における第1q軸制限処理を
図4に示すフローチャートに基づいて説明する。
S201では、第1q軸制限部45は、d軸電圧指令値Vd
*に基づき、第1q軸飽和ガード値Vq_max_H、および、第2q軸飽和ガード値Vq_max_Lを演算する。第1q軸飽和ガード値Vq_max_Hを式(1)、第2q軸飽和ガード値Vq_max_Lを式(1)に示す。式中のΔVは、任意に設定される不感帯幅である。
【0029】
飽和ガード値について、
図5に基づいて説明する。ここでは、d軸電圧およびq軸電圧に係る各値が正である場合を例に説明することとし、適宜「正側の」の記載を省略する。
図5(a)に示すように、制限前d軸電圧指令値FBdがd軸飽和ガード値Vd_max以下である場合、d軸制限部44は、d軸電圧指令値Vd
*を、制限前d軸電圧指令値FBdとする。また、
図5(b)に示すように、制限前d軸電圧指令値FBdがd軸飽和ガード値Vd_maxより大きい場合、d軸制限部44は、d軸電圧指令値Vd
*を、d軸飽和ガード値Vd_maxとする。
第1q軸制限部45は、最大電圧V_maxおよびd軸電圧指令値Vd
*に基づき、第1q軸飽和ガード値Vq_max_Hを演算する。また、第1q軸制限部45は、第1q軸飽和ガード値Vq_max_Hから不感帯幅ΔVを減算し、第2q軸飽和ガード値Vq_max_Lを演算する。
本実施形態では、第2q軸飽和ガード値Vq_max_Lを超えている状態を「飽和状態」とし、第2q軸飽和ガード値Vq_max_Lと第1q軸飽和ガード値Vq_max_Hとの間の領域を「飽和領域」とする。
【0030】
図4に戻り、S202では、第1q軸制限部45は、制限前q軸電圧指令値FBqが正側の第2q軸飽和ガード値Vq_max_Lより大きいか否かを判断する。制限前q軸電圧指令値FBqが正側の第2q軸飽和ガード値Vq_max_L以下であると判断された場合(S202:NO)、S208へ移行する。制限前q軸電圧指令値FBqが正側の第2q軸飽和ガード値Vq_max_Lより大きいと判断された場合(S202:YES)、S203へ移行する。以下、S203〜S207は、正側における制限処理である。
【0031】
S203では、第1q軸制限部45は、前回の制限後q軸電圧指令値GFBq
(n-1)が、正側の第1q軸飽和ガード値Vq_max_Hより大きいか否かを判断する。前回の制限後q軸電圧指令値GFBq
(n-1)が正側の第1q軸飽和ガード値Vq_max_Hより大きいと判断された場合(S203:YES)、S205へ移行する。前回の制限後q軸電圧指令値GFBq
(n-1)が正側の第1q軸飽和ガード値Vq_max_H以下であると判断された場合(S203:NO)、S204へ移行する。
【0032】
S204では、第1q軸制限部45は、前回の制限後q軸電圧指令値GFBq
(n-1)が正側の第2q軸飽和ガード値Vq_max_Lより小さいか否かを判断する。前回の制限後q軸電圧指令値GFBq
(n-1)が正側の第2q軸飽和ガード値Vq_max_Lより小さいと判断された場合(S204:YES)、S206へ移行する。前回の制限後q軸電圧指令値GFBq
(n-1)が正側の第2q軸飽和ガード値Vq_max_L以上であると判断された場合(S204:NO)、S207へ移行する。
【0033】
前回の制限後q軸電圧指令値GFBq
(n-1)が正側の第1q軸飽和ガード値Vq_max_Hより大きいと判断された場合(S203:YES)に移行するS205では、第1q軸制限部45は、今回の制限後q軸電圧指令値GFBq
(n)を、正側の第1q軸飽和ガード値Vq_max_Hとする。
【0034】
前回の制限後q軸電圧指令値GFBq
(n-1)が正側の第2q軸飽和ガード値Vq_max_Lより小さいと判断された場合(S204:YES)に移行するS206では、第1q軸制限部45は、今回の制限後q軸電圧指令値GFBq
(n)を、正側の第2q軸飽和ガード値Vq_max_Lとする。
【0035】
前回の制限後q軸電圧指令値GFBq
(n-1)が正側の第2q軸飽和ガード値Vq_max_L以上、正側の第1q軸飽和ガード値Vq_max_H以下であると判断された場合(S203:NO、かつ、S204:NO)に移行するS207では、第1q軸制限部45は、今回の制限後q軸電圧指令値GFBq
(n)を、前回の制限後q軸電圧指令値GFBq
(n-1)とする。
【0036】
制限前q軸電圧指令値FBqが正側の第2q軸飽和ガード値Vq_max_L以下であると判断された場合(S202:NO)に移行するS208では、第1q軸制限部45は、制限前q軸電圧指令値FBqが負側の第2q軸飽和ガード値−Vq_max_Lより小さいか否かを判断する。制限前q軸電圧指令値FBqが負側の第2q軸飽和ガード値−Vq_max_L以上であると判断された場合(S208:NO)、S214へ移行する。制限前q軸電圧指令値FBqが負側の第2q軸飽和ガード値−Vq_max_Lより小さいと判断された場合(S208:YES)、S209へ移行する。以下、S209〜S213は、負側における制限処理である。
【0037】
S209では、第1q軸制限部45は、前回の制限後q軸電圧指令値GFBq
(n-1)が負側の第1q軸飽和ガード値−Vq_max_Hより小さいか否かを判断する。前回の制限後q軸電圧指令値GFBq
(n-1)が負側の第1q軸飽和ガード値−Vq_max_Hより小さいと判断された場合(S209:YES)、S211へ移行する。前回の制限後q軸電圧指令値GFBq
(n-1)が負側の第1軸飽和ガード値−Vq_max_H以上であると判断された場合(S209:NO)、S210へ移行する。
【0038】
S210では、第1q軸制限部45は、前回の制限後q軸電圧指令値GFBq
(n-1)が負側の第2q軸飽和ガード値Vq_max_Lより大きいか否かを判断する。前回の制限後q軸電圧指令値GFBq
(n-1)が負側の第2q軸飽和ガード値−Vq_max_Lより大きいと判断された場合(S210:YES)、S212へ移行する。前回の制限後q軸電圧指令値GFBq
(n-1)が負側の第2q軸飽和ガード値−Vq_max_L以下であると判断された場合(S210:NO)、S213へ移行する。
【0039】
前回の制限後q軸電圧指令値GFBq
(n-1)が負側の第1q軸飽和ガード値−Vq_max_Hより小さいと判断された場合(S209:YES)に移行するS211では、第1q軸制限部45は、今回の制限後q軸電圧指令値GFBq
(n)を、負側の第1q軸飽和ガード値−Vq_max_Hとする。
【0040】
前回の制限後q軸電圧指令値GFBq
(n-1)が負側の第2q軸飽和ガード値−Vq_max_Lより大きいと判断された場合(S210:YES)に移行するS212では、第1q軸制限部45は、今回の制限後q軸電圧指令値GFBq
(n)を、負側の第2q軸飽和ガード値−Vq_max_Lとする。
【0041】
前回の制限後q軸電圧指令値GFBq
(n-1)が負側の第1q軸飽和ガード値−Vq_max_H以上、負側の第2q軸飽和ガード値−Vq_max_L以下であると判断された場合(S209:NO、かつ、S210:NO)に移行するS213では、第1q軸制限部45は、今回の制限後q軸電圧指令値GFBq
(n)を、前回の制限後q軸電圧指令値GFBq
(n-1)がとする。
【0042】
制限前q軸電圧指令値FBqが負側の第2q軸飽和ガード値−Vq_max_L以上、正側の第2q軸飽和ガード値Vq_max_L以下である場合(S202:NO、かつ、S208:NO)に移行するS214では、第1q軸制限部45は、今回の制限後q軸電圧指令値GFBq
(n)を、制限前q軸電圧指令値FBqとする。
【0043】
第2q軸制限部48における第2q軸制限処理を
図6に示すフローチャートに基づいて説明する。
S301では、第2q軸制限部48は、制限前q軸電圧指令値FBqが、正側の第2q軸飽和ガード値Vq_max_Lより大きいか否かを判断する。制限前q軸電圧指令値FBqが正側の第2q軸飽和ガード値Vq_max_L以下であると判断された場合(S301:NO)、S307へ移行する。制限前q軸電圧指令値FBqが正側の第2q軸飽和ガード値Vq_max_Lより大きいと判断された場合(S301:YES)、S302へ移行する。
【0044】
S302では、第2q軸制限部48は、補正後q軸電圧指令値AFBqが、正側の第1q軸飽和ガード値Vq_max_Hより大きいか否かを判断する。補正後q軸電圧指令値AFBqが、正側の第1q軸飽和ガード値Vq_max_Hより大きいと判断された場合(S302:YES)、S304へ移行する。補正後q軸電圧指令値AFBqが、正側の第1q軸飽和ガード値Vq_max_H以下であると判断された場合(S302:NO)、S303へ移行する。
【0045】
S303では、第2q軸制限部48は、補正後q軸電圧指令値AFBqが、正側の第2q軸飽和ガード値Vq_max_Lより小さいか否かを判断する。補正後q軸電圧指令値AFBqが、正側の第2q軸飽和ガード値Vq_max_Lより小さいと判断された場合(S303:YES)、S305へ移行する。補正後q軸電圧指令値AFBqが、正側の第2q軸飽和ガード値Vq_max_L以上であると判断された場合(S303:YES)、S306へ移行する。
【0046】
補正後q軸電圧指令値AFBqが、正側の第1q軸飽和ガード値Vq_max_Hより大きいと判断された場合(S302:YES)に移行するS304では、第2q軸制限部48は、q軸電圧指令値Vq
*を、第1q軸飽和ガード値Vq_max_Hとする。
補正後q軸電圧指令値AFBqが、正側の第2q軸飽和ガード値Vq_max_Lより小さいと判断された場合(S303:YES)に移行するS305では、第2q軸制限部48は、q軸電圧指令値Vq
*を、第2q軸飽和ガード値Vq_max_Lとする。
補正後q軸電圧指令値AFBqが、正側の第2q軸飽和ガード値Vq_max_L以上、正側の第1q軸飽和ガード値Vq_max_H以下である場合(S302:YES、かつ、S303:YES)に移行するS306では、第2q軸制限部48は、q軸電圧指令値Vq
*を、補正後q軸電圧指令値AFBqとする。
【0047】
制限前q軸電圧指令値FBqが、正側の第2q軸飽和ガード値Vq_max_L以下であると判断された場合(S301:NO)に移行するS307では、第2q軸制限部48は、制限前q軸電圧指令値FBqが負側の第2q軸飽和ガード値Vq_max_Lより小さいか否かを判断する。制限前q軸電圧指令値FBqが負側の第2q軸飽和ガード値Vq_max_L以上であると判断された場合(S307:NO)、S313へ移行する。制限前q軸電圧指令値FBqが負側の第2q軸飽和ガード値−Vq_max_Lより小さいと判断された場合(S307:YES)、S308へ移行する。
【0048】
S308では、第2q軸制限部48は、補正後q軸電圧指令値AFBqが、負側の第1q軸飽和ガード値−Vq_max_Hより小さいか否かを判断する。補正後q軸電圧指令値AFBqが、負側の第1q軸飽和ガード値−Vq_max_Hより小さいと判断された場合(S308:YES)、S310へ移行する。補正後q軸電圧指令値AFBqが、負側の第1q軸飽和ガード値−Vq_max_H以上であると判断された場合(S308:NO)、S309へ移行する。
【0049】
S309では、第2q軸制限部48は、補正後q軸電圧指令値AFBqが、負側の第2q軸飽和ガード値−Vq_max_Lより大きいか否かを判断する。補正後q軸電圧指令値AFBqが、負側の第2q軸飽和ガード値−Vq_max_Lより大きいと判断された場合(S309:YES)、S311へ移行する。補正後q軸電圧指令値AFBqが、負側の第2q軸飽和ガード値−Vq_max_L以下であると判断された場合(S309:NO)、S312へ移行する。
【0050】
補正後q軸電圧指令値AFBqが、負側の第1q軸飽和ガード値−Vq_max_Hより小さいと判断された場合(S308:YES)に移行するS310では、第2q軸制限部48は、q軸電圧指令値Vq
*を、負側の第1q軸飽和ガード値−Vq_max_Hとする。
補正後q軸電圧指令値AFBqが、負側の第2q軸飽和ガード値−Vq_max_Lより大きいと判断された場合(S309:YES)に移行するS311では、第2q軸制限部48は、q軸電圧指令値Vq
*を、負側の第2q軸飽和ガード値−Vq_max_Lとする。
補正後q軸電圧指令値AFBqが、負側の第1q軸飽和ガード値−Vq_max_H以上、負側の第2q軸飽和ガード値−Vq_max_L以下であると判断された場合(S308:YES、かつ、S309:YES)に移行するS312では、第2q軸制限部48は、q軸電圧指令値Vq
*を、補正後q軸電圧指令値AFBqとする。
【0051】
制限前q軸電圧指令値FBqが、負側の第2q軸飽和ガード値−Vq_max_L以上、正側の第2q軸飽和ガード値Vq_max_L以下であると判断された場合(S301:NO、かつ、S307:NO)に移行するS313では、q軸電圧指令値Vq
*を、補正後q軸電圧指令値AFBqとする。
【0052】
ここで、電圧指令演算を、
図7に示すタイムチャートに基づいて説明する。
図7では、各電流および電圧が正の場合を例に説明する。
図7において、(a)はq軸電流検出値Iqを示し、(b)はP制御値PFBqおよびq軸補正値WFBqを示す。
図7(c)では、制限前q軸電圧指令値FBqおよびq軸電圧指令値Vq
*を実線、第1q軸飽和ガード値Vq_max_Hおよび第2q軸飽和ガード値Vq_max_Lを破線、制限後q軸電圧指令値GFBqを一点鎖線、補正後q軸電圧指令値AFBqを2点鎖線で示す。
【0053】
図7(a)に示すように、フィードバック制御により指令に追従させるよう制御するため、q軸電流検出値Iqは、経時的に変動する。ここで、インバータ20の出力電圧が飽和しないように、例えばd軸電圧指令値およびq軸電圧指令値の2乗和が所定値以下となるようにq軸電圧指令値を制限すると、d軸電圧指令値の変動につられて、q軸電圧指令値が変動し、q軸電流の変動が大きくなる虞がある。
そこで本実施形態では、第1q軸飽和ガード値Vq_max_Hと第2q軸飽和ガード値Vq_max_Lとの間を不感帯とすることで、q軸電流の変動を抑制している。
【0054】
具体的には、
図7(c)に示すように、例えば、時刻x10を前回、時刻x11を今回とすると、前回の制限後q軸電圧指令値GFBq
(n-1)が、第2q軸飽和ガード値Vq_max_L以上、第1q軸飽和ガード値Vq_max_H以下である場合、今回の制限後q軸電圧指令値GFBq
(n)を、前回の制限後q軸電圧指令値GFBq
(n-1)とする。
また例えば、時刻x20を前回、時刻x21を今回とすると、前回の制限後q軸電圧指令値GFBq
(n-1)が、第2q軸飽和ガード値Vq_max_Lより小さい場合、今回の制限後q軸電圧指令値GFBq
(n)を、第2q軸飽和ガード値Vq_max_Lとする。
【0055】
また例えば、時刻x30を前回、時刻x31を今回とすると、前回の制限後q軸電圧指令値GFBq
(n-1)が、第1q軸飽和ガード値Vq_max_Hより大きい場合、今回の制限後q軸電圧指令値GFBq
(n)を、第1q軸飽和ガード値Vq_max_Hとする。
すなわち、前回の制限後q軸電圧指令値GFBq
(n-1)が不感帯内であれば、制限後q軸電圧指令値GFBqとして、前回値を引き継いでいる。これにより、飽和ガード値を1つの値にて規定し、不感帯を設けない場合と比較し、q軸電流の変動を抑制することができるので、音や振動を低減することができる。
【0056】
また、
図7(a)、(b)に示すように、P制御値PFBqに基づいて演算されるq軸補正値WFBqは、q軸電流検出値Iqの振動に対して逆位相となっている。具体的には、q軸電流検出値Iqが増加するとき、q軸補正値WFBqが減少し、q軸電流検出値Iqが減少するとき、q軸補正値WFBqが増加する。
【0057】
図7(c)に示すように、本実施形態では、q軸補正値WFBqを制限後q軸電圧指令値GFBqに加算することで、補正後q軸電圧指令値AFBqが演算される。換言すると、補正後q軸電圧指令値AFBqは、q軸電流検出値Iqと逆位相のq軸補正値WFBqにより制限後q軸電圧指令値GFBqを補正して演算される。これにより、q軸電流のリップルを抑制することができる。
また、補正後q軸電圧指令値AFBqに対して第2q軸制限処理を行うことで、q軸電圧指令値Vq
*が演算される。
【0058】
制限後q軸電圧指令値GFBqをq軸補正値WFBqで補正する処理は、q軸電流のリップルを抑制するために、通常のフィードバック制御とは別途に実行されるリップル抑制のためのフィードバック制御である、と捉えることができる。q軸電流のリップルを抑制するためのフィードバック制御を行い、通常のフィードバック制御における制御量の変化分、電圧指令を変化させることで、q軸電流のリップルが抑制される。
【0059】
本実施形態では、飽和領域を不感帯とすることで、d軸電流の変動に伴うq軸電流の変動を抑制した上で、制限後q軸電圧指令値GFBqをリップル補正値WFBqで補正することでq軸電流のリップルを抑制している。これにより、制限前q軸電圧指令値FBqが飽和状態であったとしても、インバータ20にて出力可能な電圧の範囲内にて、可及的に高出力を確保しつつ、q軸電流のリップルを抑制することができる。
【0060】
以上詳述したように、本実施形態の回転電機制御装置1は、インバータ20によって印加電圧が制御されるモータ80の駆動を制御するものであって、PI制御部42、43と、制限部44、45と、補正値演算部46と、補正部47と、を備える。
d軸PI制御部42は、モータ80に通電される電流のd軸電流検出値Idおよびd軸電流指令値Id
*に基づき、制限前d軸電圧指令値FBdを演算する。
q軸PI制御部43は、モータ80に通電される電流のq軸電流検出値Iqおよびq軸電流指令値Iq
*に基づき、制限前q軸電圧指令値FBqを演算する。
【0061】
d軸制限部44は、出力可能な最大電圧V_maxを超えないように、制限前d軸電圧指令値FBdを制限し、制限後d軸電圧指令値であるd軸電圧指令値Vd
*を演算する。
第1q軸制限部45は、出力可能な最大電圧V_maxを超えないように、制限前q軸電圧指令値FBqを制限し、制限後q軸電圧指令値GFBqを演算する。
【0062】
補正値演算部46では、q軸電流の電流リップルと逆位相のq軸補正値WFBqを演算する。ここで、電流リップルの位相とリップル補正値の位相とは、厳密な逆位相に限らず、電流リップルを低減可能な程度の位相ずれは許容されるものとする。
補正部47は、q軸補正値WFBqにより制限後q軸電圧指令値GFBqを補正する。
【0063】
本実施形態では、電流リップルと逆位相のリップル補正値を用いて制限後q軸電圧指令値GFBqを補正しているので、制限前q軸電圧指令値FBqが飽和状態であっても、電流リップルを低減することができる。これにより、電流リップルに起因する音や振動を抑制することができる。
【0064】
補正値演算部46は、q軸電流検出値Iqおよびq軸電流指令値Iq
*に基づき、制限後q軸電圧指令値GFBqを補正するq軸補正値WFBqを演算する。詳細には、補正値演算部46は、q軸電流検出値Iqとq軸電流指令値Iq
*との偏差であるq軸電流偏差ΔIqに基づいて演算されるP制御値PFBqに基づき、q軸補正値WFBqを演算する。P制御値PFBqは、第1q軸制限処理前の演算値であるため、q軸電流の偏差分の動きに依存した値であり、飽和ガードの影響を受けていない。これにより、q軸電流のリップルに応じ、q軸補正値WFBqを適切に演算することができる。また、従来のフィードバック演算であるq軸PI制御部43にて演算される値を用いてq軸補正値WFBqを演算しているので、演算負荷を低減することができる。
【0065】
本実施形態では、制限前q軸電圧指令値FBqの制限に係る不感帯を規定する値の絶対値の大きい方の値を第1q軸飽和ガード値Vq_max_H、絶対値が小さい方の値を第2q軸飽和ガード値Vq_max_Lとする。
第1q軸制限部45は、制限前q軸電圧指令値FBqの絶対値が第2q軸飽和ガード値Vq_max_Lの絶対値より大きく、かつ、前回の制限後q軸電圧指令値GFBq
(n-1)の絶対値が、第2q軸飽和ガード値Vq_max_Lの絶対値以上、第1q軸飽和ガード値Vq_max_Hの絶対値以下である場合、今回の制限後q軸電圧指令値GFBqとして、前回値(すなわちGFBq
(n-1))を引き継ぐ。
これにより、第1q軸制限処理におけるd軸電圧指令値Vd
*の変動に伴うトルク変動が抑制され、音や振動を低減することができる。
【0066】
回転電機制御装置1は、第1q軸制限部45、および、第2q軸制限部48を備える。第2q軸制限部48は、出力可能な最大電圧を超えないように、補正部47にて補正された補正後q軸電圧指令値AFBqを制限する。これにより、インバータ20からの出力電圧が飽和しない範囲内にて、モータ80の駆動を適切に制御することができる。
【0067】
本実施形態では、d軸PI制御部42およびq軸PI制御部43が「制限前電圧指令値演算部」に対応し、d軸制限部44および第1q軸制限部45が「電圧制限部」に対応し、補正値演算部46が「補正値演算部」に対応し、補正部47が「補正部」に対応する。また、第1q軸制限部45が「第1の電圧制限部」に対応し、第2q軸制限部48が「第2の電圧制限部」に対応する。
また、制限前d軸電圧指令値FBdおよび制限前q軸電圧指令値FBqが「制限前電圧指令値」に対応し、d軸電圧指令値Vd
*および制限後q軸電圧指令値GFBqが「制限後電圧指令値」に対応し、q軸補正値WFBqが「リップル補正値」に対応する。また、第1q軸飽和ガード値Vq_max_Hが「第1制限値」に対応し、第2q軸飽和ガード値Vq_max_Lが「第2制限値」に対応する。
【0068】
(第2実施形態)
本発明の第2実施形態を
図8に基づいて説明する。
図8に示すように、本実施形態は、補正値演算部56が上記実施形態と異なる。補正値演算部56は、リップル補正用P演算部561、リップル補正用I演算部562、遅延素子563、および、加算器564を有する。
【0069】
リップル補正用P演算部561は、リップル補正用のPゲインを用い、今回のq軸電流偏差ΔIq
(n)と前回のq軸電流偏差ΔIq
(n-1)との偏差に基づいてリップル補正用P制御値RPFBqを演算する。
リップル補正用I演算部562は、リップル補正用のIゲインを用い、今回のq軸電流偏差ΔIq
(n)と前回のq軸電流偏差ΔIq
(n-1)との和に基づいてリップル補正用I制御値RIFBqを演算する。
【0070】
遅延素子563は、前回のq軸補正値WFBq
(n-1)を加算器564に出力する。
加算器564は、前回のq軸補正値WFBq
(n-1)に、リップル補正用P制御値RPFBqおよびリップル補正用I制御値RIFBqを加算し、今回のq軸補正値WFBq
(n)を演算する。
【0071】
本実施形態では、制限前q軸電圧指令値FBqを導出するためのPI演算とは別途に、リップル補正用のPI演算を行っている。リップル補正用P演算部561では、P演算部434にて用いるPゲインよりも大きい値を用いて応答性を高めることで、従来の電流フィードバック制御では抑制できない電流リップルを抑制可能である。リップル補正用I演算部562についても同様である。なお、補正値演算部56において、リップル補正用I演算部562を省略し、I演算を行わなくてもよい。
【0072】
本実施形態の補正値演算部56は、q軸電流検出値Iqおよびq軸電流指令値Iq
*に基づき、q軸補正値WFBqを演算する。詳細には、補正値演算部56は、q軸電流検出値Iqとq軸電流指令値Iq
*の偏差であるq軸電流偏差ΔIqの前回値と今回値との偏差に基づき、q軸補正値WFBqを演算する。
このように構成しても、上記実施形態と同様の効果を奏する。
本実施形態では、補正値演算部56が「補正値演算部」に対応する。
【0073】
(第3実施形態)
本発明の第3実施形態を
図9および
図10に基づいて説明する。
図9および
図10に示すように、本実施形態は、補正値演算部66が上記実施形態と異なる。
図9に示すように、補正値演算部66は、電流推定部661、減算器662、PI制御部663、および、感応ゲイン乗算部664を有する。
【0074】
電流推定部661は、q軸電流検出値Iqに基づき、q軸電流推定値Iq_eを演算する。q軸電流推定値Iq_eは、q軸電流の振動抑制後の目標値である。本実施形態では、q軸電流推定値Iq_eは、q軸電流検出値Iqをローパスフィルタ処理した値とする。また、q軸電流推定値Iq_eは、所定期間におけるq軸電流検出値Iqの移動平均値としてもよい。
【0075】
減算器662は、q軸電流推定値Iq_eとq軸電流検出値Iqとの偏差である推定電流偏差ΔIq_eを演算する。
PI制御部663は、推定電流偏差ΔIq_eをゼロに収束させるべく、PI演算を行う。
感応ゲイン乗算部664は、電源電圧による応答性への影響を軽減するための感応ゲインを乗算し、q軸補正値WFBqを演算する。
【0076】
本実施形態では、q軸電流推定値Iq_eからq軸電流検出値Iqを減算した推定電流偏差ΔIq_eに基づいてq軸補正値WFBqを演算する。そのため、
図10(a)、(b)に示すように、q軸電流推定値Iq_eに対するq軸電流検出値Iqの位相と、q軸補正値WFBqの位相とは、逆位相となる。また、
図10(c)に示すように、制限後q軸電圧指令値GFBqに対する制限後q軸電圧指令値GFBqにq軸補正値WFBqを加算した加算値である補正後q軸電圧指令値AFBqの位相も、q軸電流推定値Iq_eに対するq軸電流検出値Iqの位相と逆位相になる。制限後q軸電圧指令値GFBqをq軸電流検出値Iqと逆位相のq軸補正値WFBqで補正することで、q軸電流のリップルを低減することができる。
【0077】
本実施形態の補正値演算部66は、q軸電流検出値Iq、および、q軸電流検出値Iqを用いて演算されるq軸電流推定値Iq_eに基づき、制限後q軸電圧指令値GFBqを補正するq軸補正値WFBqを演算する。本実施形態では、q軸電流推定値Iq_eとq軸電流検出値Iqとの偏差が目標値内となるようにq軸補正値WFBqを演算する。
このようにしても、上記実施形態と同様の効果を奏する。
本実施形態では、補正値演算部66が「補正値演算部」に対応する。
【0078】
(第4実施形態)
本発明の第4実施形態を
図11に基づいて説明する。
本実施形態では、第2q軸制限処理が上記実施形態と異なる。q軸補正値WFBqの演算は、第1実施形態〜第3実施形態のいずれのものとしてもよい。
S401では、補正後q軸電圧指令値AFBqが、正側の第1q軸飽和ガード値Vq_max_Hより大きいか否かを判断する。補正後q軸電圧指令値AFBqが正側の第1q軸飽和ガード値Vq_max_Hより大きいと判断された場合(S401:YES)、S403へ移行する。補正後q軸電圧指令値AFBqが正側の第1q軸飽和ガード値Vq_max_H以下であると判断された場合(S401:NO)、S402へ移行する。
【0079】
S402では、補正後q軸電圧指令値AFBqが負側の第1q軸飽和ガード値−Vq_max_Hより小さいか否かを判断する。補正後q軸電圧指令値AFBqが負側の第1q軸飽和ガード値−Vq_max_Hより小さいと判断された場合(S402:YES)、S404へ移行する。補正後q軸電圧指令値AFBqが負側の第1q軸飽和ガード値−Vq_max_H以上であると判断された場合(S402:NO)、S405へ移行する。
【0080】
補正後q軸電圧指令値AFBqが正側の第1q軸飽和ガード値Vq_max_Hより大きいと判断された場合(S401:YES)に移行するS403では、q軸電圧指令値Vq
*を、正側の第1q軸飽和ガード値Vq_max_Hとする。
補正後q軸電圧指令値AFBqが負側の第1q軸飽和ガード値−Vq_max_Hより小さいと判断された場合(S402:YES)に移行するS404では、q軸電圧指令値Vq
*を、負側の第1q軸飽和ガード値−Vq_max_Hとする。
補正後q軸電圧指令値AFBqが負側の第1q軸飽和ガード値−Vq_max_H以上、正側の第1q軸飽和ガード値Vq_max_H以下であると判断された場合(S401:NO、かつ、S402:NO)に移行するS405では、q軸電圧指令値Vq
*を、補正後q軸電圧指令値AFBqとする。
【0081】
本実施形態の第2q軸制限処理では、インバータ20の出力電圧が第1q軸飽和ガード値Vq_max_Hを超えた場合に、q軸電圧指令値Vq
*を第1q軸飽和ガード値Vq_max_Hに制限し、その他の場合は、補正後q軸電圧指令値AFBqをq軸電圧指令値Vq
*としている。これにより、インバータ20にて出力可能な電圧の範囲内にて、q軸電流のリップルを抑制することができる。また、第2q軸制限処理に係る演算を簡略化することができる。
また、上記実施形態と同様の効果を奏する。
【0082】
(他の実施形態)
(ア)制限処理
上記実施形態では、電圧制限部は、電圧ベースの値を用いて制限処理を行う。他の実施形態では、電圧制限部は、最大電圧に対する各値の割合を飽和率とし、飽和率に基づいて制限処理を行ってもよい。第2の電圧制限部における制限処理も同様である。
【0083】
上記実施形態では、不感帯幅は、所定値である。他の実施形態では、不感帯幅を、モータの回転角速度に応じて可変としてもよい。例えば、高速回転時における不感帯幅を、低速回転時における不感帯幅よりも小さくすることで、高速回転時において、音や振動の抑制よりも出力を優先させることができる。
【0084】
また、他の実施形態では、不感帯幅を、d軸電圧指令値に応じて可変としてもよい。例えば、d軸電圧指令値の絶対値が大きい場合の不感帯幅を大きくすることで、d軸電圧指令値が電圧最大値付近である場合における音や振動をより抑制することができる。また、d軸電圧指令値の絶対値が小さい場合の不感帯幅を小さくすることで、d軸電圧指令値が0付近である場合における出力低下を抑制することができる。
【0085】
他の実施形態では、不感帯幅は、モータの回転角速度またはd軸電圧指令値以外の値に応じて可変としてもよい。また、第1q軸制限処理における不感帯幅と、第2q軸制限処理における不感帯幅とは、異なっていてもよい。
他の実施形態では、第1q軸制限処理においても、不感帯幅を設けず、1つの飽和ガード値に基づいて制限処理を行ってもよい。また、第2q軸制限処理を省略してもよい。
【0086】
(ウ)補正部
上記実施形態では、制限前q軸電流指令値にq軸補正値を加算する加算器が補正部に対応する。他の実施形態では、補正部が加算器とは異なる演算器であり、リップル補正値により制限後電圧指令値を補正する演算を加算以外の演算としてもよい。
上記実施形態では、補正値演算部は、q軸のリップル補正値を演算し、補正部は、q軸の制限後q軸電圧指令値を補正する。他の実施形態では、q軸とは異なる軸のリップル電流を補正するように、リップル補正値の演算、および、制限後電圧指令値の補正を行ってもよい。
【0087】
第1実施形態および第2実施形態では、電流検出値および電流指令値に基づくP演算(またはPI演算)によりリップル補正値を演算し、第3実施形態では、電流推定値を用いてリップル補正値を演算する。他の実施形態では、電流検出値および電流指令値に基づくP演算(またはPI演算)により演算されるリップル補正値、および、電流推定値を用いて演算されるリップル補正値を共に用いて、制限後電圧指令値を補正してもよい。
【0088】
(イ)回転電機
上記実施形態では、回転電機は、3相ブラシレスモータである。他の実施形態の回転電機は、3相ブラシレスモータに限らず、どのようなモータであってもよい。上記実施形態では、回転電機がモータ(電動機)である。他の実施形態では、回転電機は、電動機および発電機の機能を併せ持つ、所謂モータジェネレータであってもよい。
上記実施形態では、回転電機制御装置は、電動パワーステアリング装置に適用される。他の実施形態では、回転電機制御装置を電動パワーステアリング装置以外のどのような装置に適用してもよい。
以上、本発明は、上記実施形態になんら限定されるものではなく、発明の趣旨を逸脱しない範囲において種々の形態で実施可能である。