以下、交流回転電機の制御装置を具現化した各実施形態について図面を参照して説明する。各実施形態に係る交流回転電機の制御装置は、ハイブリッド自動車を駆動するモータシステムに適用されることを想定している。なお、以下の各実施形態において、互いに同一もしくは均等である部分には、図中、同一符号を付しており、同一符号の部分についてはその説明を援用する。
(第1実施形態)
まず、本実施形態に係るモータシステムについて、図1を参照して説明する。本実施形態に係るモータシステム(回転電機システム)は、モータ30、インバータ20、直流電源10、電流センサ31,32、回転位置センサ33、及び制御装置40を備える。制御装置40には、車両制御装置100からトルク指令値Trq*が入力される。
MG30(交流回転電機)は、U相、V相、W相の3相のコイルが巻回された固定子と回転子とを含み、電動機としての機能及び発電機としての機能を有する3相のモータジェネレータである。MG30は、ハイブリッド自動車の走行駆動源となる。なお、MG30は、電動機としての機能のみを有する3相モータでもよい。
インバータ20は、2個のスイッチング素子が上下に接続されている直列体が、3個並列に接続されているブリッジ回路である。スイッチング素子としては、例えばゲート駆動型のIGBT、MOSトランジスタ等を採用できる。後述する制御装置40から送信される操作信号gua,gub,gva,gvb,gwa,gwbが、各スイッチング素子のゲート端子に入力されることにより、各スイッチング素子のオン・オフが操作される。その結果、MG30の各相のコイルに交流電圧Vu,Vv,Vwが印加され、MG30の駆動が制御される。
直流電源10は、例えばリチウムイオンやニッケル水素の二次電池であり、インバータ20を介して、MG30と電力の授受を行う。直流電源10の直流電圧が、インバータ20に入力されるシステム電圧VHとなる。直流電源10とインバータ20との間に、昇圧コンバータが接続されている場合には、昇圧コンバータにより昇圧された直流電圧が、インバータ20に入力されるシステム電圧VHとなる。
電流センサ31は、V相のコイルに設けられており、V相の相電流Ivを所定の周期で検出し、検出した相電流Ivの値を制御装置40へ送信する。また、電流センサ32は、W相のコイルに設けられており、W相の相電流Iwを所定の周期で検出し、検出した相電流Iwの値を制御装置40へ送信する。ここで、キルヒホッフの法則により3相の相電流の和は常にゼロであるから、V相の相電流Iv及びW相の相電流Iwがわかれば、残りのU相の相電流Iuは計算で求められる。本実施形態では、V相及びW相の2相に電流センサ31,32を設けているが、3相のうちのどの2相に電流センサ31,32を設けてもよい。
回転位置センサ33は、MG30の回転子の近くに設けられており、回転子の回転位置θを検出し、検出した回転位置θを制御装置40へ送信する。回転位置θは、電気角で表される値であり、回転位置θからMG30の回転速度Nrが算出される。回転位置センサ33としては、レゾルバやエンコーダ等が採用できる。
車両制御装置100は、制御装置40よりも上位のハイブリッド車両全体を制御する制御装置であり、CPU、ROM、RAM及びI/O等を備えたマイクロコンピュータを主体として構成されている。車両制御装置100は、アクセルセンサやブレーキセンサ、シフトポジションセンサ等の各種センサの検出値に基づいて、車両の運転状態を検出する。そして、車両制御装置100は、検出した車両の運転状態に応じたトルク指令値Trq*を算出し、算出したトルク指令値Trq*を制御装置40へ送信する。
制御装置40(交流回転電機の制御装置)は、CPU、ROM、RAM、及びI/O等を備えたマイクロコンピュータを主体として構成されている。制御装置40は、ROMに記憶されているプログラムをCPUにより実行するソフトウェア処理や、専用の電気回路によるハードウェア処理により、後述する各種機能を実現し、MG30の駆動を制御する。
制御装置40は、図2に示すように、MG30の制御モードとして、変調率mに応じて3つの制御モードのいずれかを選択して実施する。変調率mは、次の式(1)により定義される。Vrは、回転座標平面上でのMG30に印加される電圧ベクトルの大きさである。
変調率mが0〜1.27未満のとき、制御装置40は、正弦波PWM制御モード及び過変調PWM制御モードを実施する。正弦波PWM制御モードは、正弦波状の各相の電圧指令値と搬送波との比較に基づいて、インバータ20の各相のスイッチング素子を制御するモードであり、正弦波状の電圧指令の振幅が搬送波の振幅以下の範囲で実施される。一方、過変調PWM制御モードは、電圧指令の正弦波成分の振幅が搬送波の振幅よりも大きい範囲で、正弦波PWM制御モードと同様のPWM制御を実施する。正弦波PWM制御モード及び過変調PWM制御モードでは、MG30を流れる電流のフィードバックによって、MG20に印加する電圧の振幅及び位相を制御する「電流フィードバック制御」を実施する。
また、変調率m=1.27のとき、制御装置40は、矩形波制御モードを実施する。矩形波制御モードは、一定期間内で、上アームのオン期間と下アームのオン期間との比を、1:1とする矩形波1パルスをMG30に印加するモードである。矩形波制御モードでは、MG30に印加する電圧の振幅が固定されるため、トルク指令値Trq*とトルク推定値Trqeとの偏差に基づいて、矩形波電圧パルスの位相を制御する「トルクフィードバック制御」を実施する。
図3に、MG30の動作状態と各制御モードとの対応関係を示す。低回転速度域Iでは、正弦波PWM制御モードが実施され、トルク変動が抑制される。MG30の回転速度Nrが上昇し、システム電圧VHが最大値を超える中回転速度域IIでは、制御モードを正弦波PWM制御モードから過変調PWM制御モードに切り替えて、中回転速度域IIでの出力を上げる。さらに、MG30の回転速度Nrが上昇すると、過変調PWM制御モードから矩形波制御モードへ切替えて、高回転速度域IIIでの出力を上げる。以下、正弦波PWM制御及び過変調PWM制御モードを含むPWM制御モードと、矩形波制御モードについてそれぞれ説明する。
<PWM制御>
まず、PWM制御モードについて説明する。PWM制御モードでは、電流フィードバック制御を実施するため、フィードバックの制御量は電流値となる。図4に、PWM制御モードに対応する制御装置40の構成を示す。制御装置40は、電流指令生成部41、FF項演算部42、偏差算出部43,44、PI制御部45,46、加算部47,48、2相3相変換部49、rφ変換部50、電圧DUTY変換部51、及びPWM部52の機能を備える。さらに、制御装置40は、選択部53、合成部54、フーリエ係数算出部55、1次電流算出部56、dq電流算出部57、及び演算角設定部71の機能を備える。
電流指令生成部41は、トルク指令値Trq*と電流指令マップとに基づいて、回転座標系の電流指令値Id*,Iq*を生成する。電流指令マップは、トルク指令値Trq*と電流指令値Id*,Iq*との対応を示すマップであり、予め記憶装置に記憶されている。なお、PWM制御モードでは、電流指令値Id*,Iq*が、制御量の目標値に相当する。
FF項演算部42は、生成された電流指令値Id*,Iq*に基づいて、d軸電圧指令値及びq軸電圧指令値のフィードフォワード項Vd_ff,Vq_ffを、それぞれ算出する(特開2014−132815号公報参照)。偏差算出部43,44は、生成された電流指令値Id*,Iq*と、後述するdq電流算出部57により算出された回転座標系の実電流Id,Iqとの電流偏差ΔId,ΔIqを、それぞれ算出する。PI制御部45,46は、算出された電流偏差ΔId,ΔIqが0に収束するように、d軸電圧指令値及びq軸電圧指令値のフィードバック項Vd_fb,Vq_fbを、それぞれ比例積分制御により算出する。加算部47,48は、フィードフォワード項Vd_ff,Vq_ffと、フィードバック項Vd_fb,Vq_fbとをそれぞれ加算して、回転座標系の電圧指令値Vd*,Vq*をそれぞれ算出する。なお、実電流Id,Iq(実電流Id,Iqを合わせてdq電流と称する)が制御量に相当する。
2相3相変換部49は、回転位置センサ33から受信した回転位置θを用いて、算出された回転座標系の電圧指令値Vd*,Vq*を、固定座標系の電圧指令値Vu*,Vv*,Vw*に変換する。rφ変換部50は、回転座標系の電圧指令値Vd*,Vq*を、回転座標平面上で大きさVr且つq軸を基準とする位相φqの指令電圧ベクトルに変換する。位相φqは、q軸から反時計まわり方向を正と定義する。
電圧DUTY変換部51は、回転位置θ、算出された位相φq、及び変調率mに基づいて、各相の電圧指令値Vu*,Vv*,Vw*を指令デューティDu,Dv,Dwに変換する。変調率mは、算出されたベクトルVrの大きさ、システム電圧VH及び係数の乗算から算出される。PWM部52は、指令デューティDu,Dv,Dwに基づいて、操作信号gua,gub,gva,gvb,gwa,gwbを生成し、生成した各操作信号をインバータ20の各スイッチング素子へ送信する。各操作信号は、インバータ20の各スイッチング素子のオン・オフを制御する信号である。PWM制御モードでは、上述したFF項演算部42からPWM部52までの機能が操作部に相当する。
各スイッチング素子のオン・オフが操作信号により制御されることで、MG30の各相のコイルに3相の交流電圧Vu,Vv,Vwが印加される。3相の交流電圧Vu,Vv,Vwの印加に伴い、MG30からトルク指令値Trq*に応じたトルクが出力され、MG30の各相のコイルには相電流Iu,Iv,Iwが流れる。
制御装置40は、各相の相電流Iu,Iv,Iwを検出して、実電流Id,Iqを算出し、実電流Id,Iqを電流指令値Id*,Iq*に対してフィードバックさせる。このとき、相電流Iu,Iv,Iwに高次成分が重畳していたり、相電流Iu,Iv,Iwがオフセットしていたりすることがある。高次成分が重畳した相電流Iu,Iv,Iwから実電流Id,Iqを算出すると、指令デューティDu,Dv,Dwにも高次成分が重畳し、それに伴うインバータ20のスイッチングノイズ等の騒音成分にも高次成分が含まれるようになる。特に、過変調PWM制御モードでは、PWMパルスに高次成分が含まれるため、相電流値に高次成分が重畳しやすく、騒音が大きくなるという問題がある。また、相電流値がオフセットすると、トルク変動やパワー変動が生じる。
そこで、制御装置40は、相電流値を回転位置θの関数としてフーリエ級数展開する。フーリエ級数展開の一般式を式(2),(3)に示す。式(2)は、cos関数のn次のフーリエ係数an、及びsin関数のn次のフーリエ係数bnを算出する式である。式(3)で示すf(θ)は、θを変数とする周期2πの周期関数であって、三角関数の和で表される。なお、式(2),(3)中の文字「n」は、これらの式だけで独立して用いるものであり、他の箇所で用いる「n」とは異なるものとする。
式(3)において、0次成分であるa0/2は、直流成分であり、電流0(A)に対する電流振幅の中心のオフセット量に相当する。2次以上の成分は高次成分に相当する。よって、制御装置40は、相電流の1次成分のみを抽出し、抽出した相電流の1次成分である1次電流値から実電流Id,Iqを算出して、電流フィードバック制御を実施する。
一般に、フーリエ係数は、電気角1周期をN個(Nは自然数)に分割して設定した演算角におけるN個の相電流値に基づいて算出される。例えば、図5に示すように、電気角1周期を12個に分割して演算角を設定した場合、ある演算角では、その演算角及びその演算角の直前の11個の演算角における12個の相電流値に基づいて、フーリエ係数を算出する。各演算角は、フーリエ係数の演算開始タイミングとなる。本実施形態では、電流センサ31,32による相電流Iv,Iwの検出タイミングは、演算開始タイミングである演算角と同期しているとする。
図6(a)に、従来のフーリエ係数の演算処理において、演算対象となる相電流値の範囲を示す。時点t0,t1,t2,t3は、隣接する時点との間隔が電気角半周期となっている。従来、式(2)に基づき、電気角1周期にわたる演算角における相電流値に基づく算出値を、電気角1周期にわたって積算して、フーリエ係数を算出している。図6(b)は、算出したフーリエ係数の1次成分から算出した1次電流値を示す。
従来、トルク指令値Trq*が変更された場合、トルク指令値Trq*が変更されてから電気角1周期が経過するまでの間、フーリエ係数ひいては1次電流値は、トルク指令値Trq*変更前の相電流値の影響を受ける。例えば、図6(a)に示すように、時点t1でトルク指令値Trq*が変更され、時点t2におけるdq電流を算出する場合、指令値変更前の時点t0から時点t1における相電流値と、指令値変更後の時点t1から時点t2における相電流値とに基づいて、1次電流値を算出することになる。よって、算出された1次電流値は、時点t2における実際の1次電流値に対して誤差が比較的大きくなる。その結果、トルク指令値Trq*に対する実トルクの応答性が低下する。
図6(a)において、時点t1で指令値が変更された場合、時点t3におけるdq電流を算出するまでの間、算出された1次電流値は指令値変更前の相電流値を引きずることになる。特に、低回転速度域では、高回転速度域よりも、回転子が電気角1周期分回転するのに要する時間が長くなるため、トルク指令値Trq*の変更時において、1次電流値が指令値変更前の相電流値を引きずる時間が長くなる。そのため、特に低回転速度域では、トルク指令値Trq*の変更時における応答性の低下が問題となり、トルク指令値の変更時における応答性の向上が望まれる。
ここで、相の相電流は、互いに電気角120°ずれた関係となっている。例えばV相の相電流Ivに対して、U相の相電流Iuは進角方向に電気角120°ずれ、W相の相電流Iwは遅角方向に120°ずれているとする。この場合、U相の相電流Iuを遅角方向に120°ずらしたものはV相の相電流Ivと等しくなり、W相の相電流Iwを進角方向に120°ずらしたものはV相の相電流Ivと等しくなる。
そこで、制御装置40は、各相において、電気角1/3周期にわたる演算角における相電流値Ivs,Iws,Iusをそれぞれ選択する。そして、制御装置40は、3相のうちのV相を基準相とし、基準相において選択した相電流値Ivsに対して、他の2相において選択した相電流値Ius,Iwsを電気角120°ずらして重ね合せることにした。電気角1/3周期にわたる演算角は、3相で同じタイミングの演算角とする。図7(a)に、本実施形態に係るフーリエ係数の演算処理において、演算対象として選択する各相の相電流値の範囲を示し、図7(b)に、選択した3相の相電流値を合成した相電流値を示す。基準相に重ね合わせた各相電流値は、基準相の電気角1周期にわたる相電流値とみなすことができる。図7(c)は、合成した基準相の電気角1周期にわたる相電流値に基づいて算出した1次電流値を示す。
このように、各相の電気角1/3周期にわたる相電流値を合成して、基準相の電気角1周期にわたる相電流値を算出することにより、トルク指令値Trq*の変更時において、1次電流値がトルク指令値Trq*の変更前の相電流値を引きずる期間が従来の1/3に短縮される。例えば、図7(a)に示すように、時点t1でトルク指令値Trq*が変更され、時点t2におけるdq電流を算出する場合、時点t2から1/3周期前までの期間における各相の相電流値に基づいて、1次電流値を算出することになる。よって、時点t2におけるdq電流の算出時には、1次電流値が指令値変更前の相電流値を引きずっていない。したがって、本実施形態では、従来と比較して、トルク指令値Trq*の変更時におけるトルク指令値Trq*に対する実トルクの応答性の低下が抑制される。以下、本実施形態における1次電流値の算出手法について説明する。本実施形態では、V相を基準相として説明するが、基準相はどの相にしてもよい。
演算角設定部71は、3相の相電流の電気角1周期をN個(Nは自然数)に分割して、同じタイミングで演算角を設定する。
選択部53は、3相の相電流値について、電気角1/3周期にわたる演算角における相電流値をそれぞれ選択する。図8(a)〜(c)に、電気角0°〜120°にわたる演算角における相電流値を選択した図を示す。V相における選択した相電流値を黒丸で示し、選択していない相電流値を白丸で示す。W相における選択した相電流値を黒四角で示し、選択していない相電流値を白四角で示す。また、U相における選択した相電流値を黒三角で示し、選択していない相電流値を白三角で示す。
合成部54は、V相を基準相とし、V相において選択した相電流値Ivsに対して、U相において選択した相電流値Iusを遅角方向に電気角120°ずらして重ね合わせるとともに、W相において選択した相電流値Iwsを進角方向に電気角120°ずらして重ね合わせる。そして、V相を基準として合成した3相分の相電流値を、V相の電気角1周期における相電流値とする。図8(d)は、図8(a)に示すV相の選択した相電流値に対して、図8(b),(c)に示すW相及びU相の選択した相電流値を、それぞれ進角方向及び遅角方向に電気角120°ずらして合成した図である。
フーリエ係数算出部55(係数算出部)は、演算角ごとに、合成部54により合成された基準相の各相電流値に基づく算出値を、電気角1周期にわたって積算してフーリエ係数を算出する。
1次電流算出部56は、フーリエ係数算出部55により算出されたフーリエ係数に基づいて、各相の1次電流値Iu_1,Iv_1,Iw_1を算出する。具体的には、算出されたフーリエ係数の1次係数a1,b1からV相の1次電流値Iv_1を算出する。そして、V相の1次電流値Iv_1を進角方向に120°ずらしてU相の1次電流値Iu_1算出するとともに、V相の1次電流値Iv_1を遅角方向に120°ずらしてW相の1次電流値Iw_1を算出する。なお、フーリエ係数の算出及び各相の1次電流値の算出の詳細は後述する。
dq電流算出部57は、算出された3相の1次電流値Iu_1,Iv_1,Iw_1を、回転座法系の実電流Id(d軸電流値)と実電流Iq(q軸電流値)に変換する。
次に、相電流値の検出値からdq電流を算出する手法について、図9のフローチャート及び図10のタイムチャートを参照して説明する。
図10(a)は時間に対する回転位置θの特性を示し、図10(b)は時間に対するV相の相電流Iv(θ)の特性を示す。図10(a)において、回転位置θは、0〜360°の範囲で時間に比例して直線的に増加し、360°に到達すると同時に0°に戻る鋸波型に時間変化している。縦軸には、(n−1)番目、n番目、(n+1)番目の演算角θ[n−1]、θ[n]、θ[n+1]を示している。連続する演算角の間隔であるサンプル間隔は、Δθ=360/Nで一定であり、電気角1周期をN等分割した間隔となる。よって、電気角1周期では、演算角θ[1]からθ[N](=θ[0])の演算角が設定される。連続する電気角1周期において、後の周期の演算角θ[0]は前の周期の演算角θ[N]と同じ回転位置θとなる。電気角1周期分の演算角としては、N個の演算角が設定される。
以下、本実施形態に係る相電流値の検出値からdq電流を算出する処理手順について、図9のフローチャートを参照して説明する。本処理手順は、制御装置40が、演算角ごとに繰り返し実行する。
まず、nの値を、前回の処理時のnの値から1増やす(S10)。続いて、nがNよりも大きいか否か判定する(S11)。nがN以下の場合は(S11:NO)、そのままS13の処理に進む。nがNよりも大きい場合は(S11:YES)、n=1として(S12)、S13の処理に進む。
続いて、電流センサ31により検出されたV相の相電流値Iv(θ[n])、及び電流センサ32により検出されたW相の相電流値Iw(θ[n])を取得する(S13)。相電流値Iv(θ[n])及び相電流値Iw(θ[n])は、それぞれ演算角θ[n]におけるV相の相電流値及びW相の相電流値である。
続いて、S13で取得した相電流値Iv(θ[n])及び相電流値Iw(θ[n])を用いて、キルヒホッフの法則により、演算角θ[n]におけるU相の相電流値Iu(θ[n])を算出する(S14)。
続いて、各相の電気角1/3周期にわたる相電流値を選択する(S15)。具体的には、演算角θ[n]以前の直近の電気角1/3周期にわたる演算角θ[n],θ[n−1],θ[n−2]…における各相の相電流値を選択する。
続いて、V相を基準相とし、V相において選択した相電流値に対して、W相において選択した相電流値及びU相において選択した相電流値を、それぞれ進角方向及び遅角方向に電気角120°ずらして合成する(S16)。
続いて、S16で合成した電気角1周期にわたるV相の相電流値に対して、図9に示す式を用いて、1次のフーリエ係数a1及びb1を算出する。図9に示す式は、式(2)及び式(3)を離散化した式となっている。相電流Iv(θ[n])(n=1,2,…N)は、V相における選択した相電流値と、V相に合成したU相の相電流値と、V相に合成したW相の相電流値とを合わせたものとなる。演算角θ[n](n=1,2,…N)は、電気角1/3周期にわたる選択した演算角θ[n]と、選択した演算角θ[n]±120°と、を順に並べたものとなる。Iv(θ[n])・cosθ[n]・(θ[n]−θ[n−1])をn=1からNまで積算して、フーリエ係数a1を算出する。また、Iv(θ[n])・sinθ[n]・(θ[n]−θ[n−1])をn=1からNまで積算して、フーリエ係数b1を算出する。そして、算出したフーリエ係数a1及びb1から、V相の1次電流値Iv_1(θ[n])を算出する(S17)。
なお、本実施形態において、Iv(θ[n])(n=1,2,…N)が基準相の各相電流値に相当する。また、Iv(θ[n])・cosθ[n]・(θ[n]−θ[n−1])、及びIv(θ[n])・sinθ[n]・(θ[n]−θ[n−1])が、基準相の各相電流値に基づく算出値に相当する。
続いて、S17で算出したV相の1次電流Iv_1(θ[n])を、進角方向に電気角120°ずらしてU相の1次電流Iv_1(θ[n])を算出する。また、V相の1次電流Iv_1(θ[n])を、遅角方向に電気角120°ずらしてW相の1次電流Iw_1(θ[n])を算出する(S18)。
続いて、S18で算出した、3相の1次電流値Iu_1(θ[n]),Iv_1(θ[n]),Iw_1(θ[n])を、図9に示す行列により回転座標系の実電流Id,Iqに変換する(S19)。以上で本処理を終了する。なお、V相の1次電流値Iv_1から、U相の1次電流値Iu_1又はW相の1次電流値Iw_1を算出し、算出した2相の1次電流値とキルヒホッフの法則と図9に示す行列とから、実電流Id,Iqを算出してもよい。
<矩形波制御>
次に、矩形波制御モードについて説明する。矩形波制御モードでは、トルクフィードバック制御を実施するため、フィードバックの制御量はトルクとなる。図11に、矩形波制御モードに対応する制御装置40の構成を示す。制御装置40は、偏差算出部61、PI制御部62、矩形パルス生成部63、及び信号生成部64の機能を備える。さらに、制御装置40は、選択部53、合成部54、フーリエ係数算出部55、1次電流算出部56、dq電流算出部57、トルク推定部65、及び演算角設定部71の機能を備える。選択部53、合成部54、フーリエ係数算出部55、1次電流算出部56、dq電流算出部57及び演算角設定部71の機能は、PWM制御モードと同様であるから説明を省略する。
偏差算出部61は、トルク指令値Trq*と、後述するトルク推定部65により推定されたトルク推定値Trqeとのトルク偏差ΔTrqを算出する。トルク推定値Trqeは、実トルクの推定値である。PI制御部62は、トルク推定値Trqeをトルク指令値Trq*に追従させるべく、トルク偏差ΔTrqが0に収束するように、電圧位相指令値φq*を比例積分制御により算出する。なお、矩形波制御モードでは、トルク推定値Trqeが制御量に相当し、トルク指令値Trq*が制御量の目標値に相当する。
矩形パルス生成部63は、上述した位相φqの指令値である電圧位相指令値φq*と回転位置θとに基づいて矩形波を生成し、各相の電圧指令値Vu*,Vv*,Vw*を生成する。信号生成部64は、各相の電圧指令値Vu*,Vv*,Vw*及び変調率mに基づき、操作信号gua,gub,gva,gvb,gwa,gwbを生成し、生成した各操作信号をインバータ20の各スイッチング素子へ送信する。矩形波制御モードでは、上述した偏差算出部61から信号生成部64までの機能が操作部に相当する。
トルク推定部65は、dq電流算出部57により算出された実電流Id,Iqと、トルクマップ又は数式に基づいて、トルク推定値Trqeを算出する。トルクマップは、実電流Id,Iqと実トルクとの対応を示すマップであり、予め記憶装置に記憶されている。
なお、制御装置40の構成として、PWM制御モードに対応する構成と、矩形波制御モードに対応する構成とをそれぞれ示したが、制御装置40は、PWM制御モードと矩形波制御モードの両方に対応する構成であってもよい。すなわち、制御装置40は、電流指令生成部41からPWM部52までのPWM制御に対応する機能と、偏差算出部61から信号生成部64までの矩形波制御に対応する機能とをそれぞれ有し、変調率mに応じて、PWM制御に対応する機能と矩形波制御に対応する機能とを切替えてもよい。
以上説明した第1実施形態によれば、以下の効果を奏する。
・3相の相電流値を重ね合わせることにより、各相の電気角1/3周期にわたる相電流値の検出値があれば、基準相の電気角1周期にわたる相電流値を得ることができる。よって、トルク指令値が変更された際に、1次電流値がトルク指令値変更前の相電流値を引きずる期間を、電気角1周期の相電流値の検出値からフーリエ係数を算出する場合と比較して、1/3にすることができる。したがって、トルク指令値に対する応答性を向上させることができる。
・算出されたフーリエ係数から基準相の1次電流が算出でき、基準相の1次電流を進角方向及び遅角方向にそれぞれ電気角120度ずらすことにより、他の2相の1次電流を算出することができる。
(第2実施形態)
次に、第2実施形態に係る制御装置40について、第1実施形態と異なる点を図12〜図16を参照して説明する。図12は、第2実施形態に係るPWM制御モードに対応する制御装置40の構成を示し、図13は、第2実施形態に係る矩形波制御モードに対応する制御装置40の構成を示す。第2実施形態に係る制御装置40は、選択部53による各相の相電流値の選択範囲が異なるとともに、並進反転部58の機能を更に有する。
トルク指令値Trq*が一定の場合、図14(a)に示すように、電気角1周期において、電気角0°〜180°における所定相の電圧指令値の大きさと、電気角180°〜360°における所定相の電圧指令値の大きさが等しくなる。この場合、図14(b)に示すように、電気角0°〜180°における相電流値は、電気角180°〜360°における相電流値を電気角180°ずらすとともに、相電流の振幅方向の中心を通る中心軸に対して反転させた値となる。ここでは、相電流値を電気角180°ずらすとともに中心軸に対して反転させることを並進反転と称する。並進反転を行うことにより、トルク指令値Trq*が一定の場合には、電気角180°ずれた演算角における相電流値が高精度に推定される。また、トルク指令値Trq*の変更時には、1次電流値がトルク指令値Trq*の変更前の相電流値を引きずる期間が短縮される。
本実施形態に係る制御装置40は、各相で選択した相電流値の合成及び相電流値の並進反転の両方を実施して、電気角1周期にわたる基準相の相電流値を算出する。これにより、第1実施形態と比較して、各相において選択する相電流値を半分の電気角周期における相電流値とすることができる。ひいては、第1実施形態よりも、さらにトルク指令値Trq*に対する実トルクの応答性を向上させることができる。以下、詳しく説明する。
選択部53は、各相の相電流値について、電気角1/6周期にわたる演算角における相電流値をそれぞれ選択する。図15(a)〜(c)に、電気角0°〜60°にわたる演算角における相電流値を選択した図を示す。V相における選択した相電流値を黒丸で示し、選択していない相電流値を白丸で示す。W相における選択した相電流値を黒四角で示し、選択していない相電流値を白四角で示す。また、U相における選択した相電流値を黒三角で示し、選択していない相電流値を白三角で示す。
合成部54は、V相を基準相とし、V相における選択した相電流値Ivsに対して、U相における選択した相電流値Iusを遅角方向に電気角120°ずらして重ね合わせるとともに、W相における選択した相電流値Iwsを進角方向に電気角120°ずらして重ね合わせる。図15(d)は、図15(a)に示すV相における選択した相電流値に対して、図15(b),(c)に示すW相及びU相における選択した相電流値を、それぞれ進角方向及び遅角方向に電気角120°ずらして合成した図である。3相において選択した相電流値を合成したものは、電気角半周期分の相電流値となる。
並進反転部58は、3相において選択した相電流値を合成した相電流値を並進反転させる。そして、合成部54は、合成した相電流値と、合成した相電流値を並進反転させた相電流値とを合わせて、電気角1周期にわたる基準相の相電流値とする。すなわち、合成部54は、V相における選択した相電流値と、V相における選択した相電流値を並進反転させた相電流値と、W相及びU相における選択した相電流値を進角方向及び遅角方向にそれぞれ電気角120°ずらした相電流値と、進角方向及び遅角方向に電気角120°ずらした相電流値をそれぞれ並進反転させた相電流値とを、電気角1周期にわたるV相の相電流値とする。図15(e)に、このようにして算出した電気角1周期にわたるV相の相電流値を示す。白丸は、V相における選択した相電流値を並進反転させた相電流値を示す。白四角は、W相における選択した相電流値を進角方向に電気角120°ずらすとともに、並進反転させた相電流値を示す。また、白三角は、U相における選択した相電流値を遅角方向に電気角120°ずらすとともに、並進反転させた相電流値を示す。
なお、相ごとに、各相において選択した相電流値を並進反転させた相電流値をそれぞれ算出した後、各相において選択した相電流値と、各相において選択した相電流値を並進反転させた相電流値とを合成して、電気角1周期における基準相の相電流値を算出してもよい。
次に、本実施形態に係る相電流値の検出値からdq電流を算出する処理手順について、図16のフローチャートを参照して説明する。本処理手順は、制御装置40が、演算角ごとに繰り返し実行する。
まず、S30〜S34では、S10〜S14と同様の処理を行う。続いて、各相の電気角1/6周期にわたる相電流値を選択する(S35)。具体的には、演算角θ[n]以前の直近の電気角1/6周期にわたる演算角θ[n],θ[n−1],θ[n−2]…における各相の相電流値を選択する。
続いて、V相を基準相とし、V相において選択した相電流値に対して、W相において選択した相電流値及びU相において選択した相電流値を、それぞれ進角方向及び遅角方向に電気角120°ずらして合成する(S36)。
続いて、合成したV相の相電流値と、合成したV相の相電流値を並進反転させた相電流値とから、電気角1周期にわたるV相の相電流値を算出する(S37)。
続いて、S37で算出した電気角1周期にわたるV相の相電流値に対して、S17の処理と同様に、1次のフーリエ係数a1及びb1を算出する。相電流Iv(θ[n])(n=1,2,…N)は、V相における選択した相電流値と、V相における選択した相電流値を並進反転させた相電流値と、W相及びU相における選択した相電流値を進角方向及び遅角方向にそれぞれ電気角120°ずらした相電流値と、進角方向及び遅角方向に電気角120°ずらした相電流値をそれぞれ並進反転させた相電流値と、を合わせたものとなる。演算角θ[n](n=1,2,…N)は、電気角1/6周期にわたる選択した演算角θ[n]と、選択した演算角θ[n]+180°と、選択した演算角θ[n]±120°と、選択した演算角θ[n]±120°+180°と、を順に並べたものとなる。
続いて、S39及びS40では、S18及びS19と同様の処理を行う。以上で本処理を終了する。
以上説明した第2実施形態によれば、以下の効果を奏する。
・3相の相電流値を重ね合わせるとともに並進反転させることにより、各相の電気角1/6周期にわたる相電流値の検出値があれば、基準相の電気角1周期にわたる相電流値を得ることができる。よって、トルク指令値が変更された際に、1次電流値がトルク指令値変更前の相電流値を引きずる期間を、電気角1周期の相電流値の検出値からフーリエ係数を算出する場合と比較して、1/6にすることができる。したがって、トルク指令値に対する応答性を向上させることができる。
(第3実施形態)
次に、第3実施形態に係る制御装置40について、第1実施形態及び第2実施形態と異なる点を図17〜図20を参照して説明する。第3実施形態に係る制御装置40は、図19に示すように、オフセット誤差算出部72,73及び補正部74,75の機能を備える。なお、図19は、MG30から選択部53までの間の制御装置40の機能のみを示す。図19で示す部分以外の制御装置40の構成は、図4,11〜13のいずれかと同様である。
上述したように、MG30の相電流値は、1次成分を主成分とし、0次成分であるオフセット誤差a0/2と高次成分が重畳した信号である。式(3)に示すように、相電流値をフーリエ級数展開し、1次成分を抽出することで、オフセット誤差や高次成分を含まない相電流値を得ることができる。しかしながら、3相の相電流値を重ね合わせて1相の相電流値を算出する場合、例えば、W相だけにオフセット誤差が含まれていると、合成した相電流値に含まれるオフセット誤差を除去することができない。また、所定範囲にわたる相電流値を選択し、選択した相電流値を並進反転させて電気角1周期にわたる相電流値を推定する場合も、相電流値に含まれるオフセット誤差を除去することができない。
図17(a)にV相における相電流値を黒丸で示す。図17(b)に、W相におけるオフセット誤差を含む相電流値を黒四角で示し、オフセット誤差を含まない相電流値を実線で示す。図17(c)に、U相における相電流値を黒三角で示す。図17(d)に、各相で選択した電気角0°〜120°にわたる相電流値を、V相を基準として合成した相電流値を示す。合成した相電流値は、元々W相の相電流値であった電気角120°〜240°における相電流値にオフセット誤差が含まれる。
図18(a)にオフセット誤差を含む相電流値を黒四角で示し、オフセット誤差を含まない相電流値を実線で示す。また、図18(b)に、電気角半周期にわたるオフセット誤差を含む相電流値を黒四角で示し、その相電流値を並進反転させた相電流値を白四角で示す。図18(a),(b)に示すように、選択した相電流値に正の方向にオフセットするオフセット誤差が含まれている場合、選択した相電流値を並進反転させた相電流値には、負の方向にオフセットするオフセット誤差が含まれることになる。
図17(b)や図18(a)に示すように、電気角1周期にわたって均等なオフセット誤差が含まれていないと、フーリエ級数展開しても、正しくオフセット誤差を算出できない。そのため、3相に均等にオフセット誤差が含まれていない場合は、合成した相電流値をフーリエ級数展開しても、正しくオフセット誤差を算出して、オフセット誤差を除去することができない。ひいては、抽出した1次成分にも誤差が含まれることになる。
また、3相に均等にオフセット誤差が含まれていたとしても、オフセット誤差が含まれた相電流値を並進反転させた場合、合成した相電流値には不均等にオフセット誤差が含まれるため、正しくオフセット誤差を算出して、オフセット誤差を除去することができない。ひいては、抽出した1次成分にも誤差が含まれることになる。
そこで、オフセット誤差算出部72,73は、電気角半周期にわたるV相,W相の相電流値から推定した電気角1周期にわたる相電流値ではなく、電気角1周期にわたるV相,W相の相電流値の検出値に基づいてV相,W相のオフセット誤差を算出する。ただし、電気角1周期にわたる相電流値の検出値に基づいてオフセット誤差を算出すると、上述したように、トルク指令値Tr*の変更時に、トルク指令値Tr*変更前及び変更後における相電流値の検出値の両方を用いて、オフセット誤差を算出することになる。そのため、トルク指令値Tr*の変更時に、オフセット誤差の算出誤差が大きくなり、高応答化を損なうおそれがある。ここで、一般にオフセット誤差は、トルク指令値Tr*の変更前後で大きく変化することはない。
よって、オフセット誤差算出部72,73は、所定期間におけるトルク指令値Tr*の変化量が閾値以下である場合、すなわちトルク指令値Tr*が変更されていない場合には、オフセット誤差を算出したオフセット誤差に更新する。また、オフセット誤差算出部72,73は、上記変化量が閾値を超える場合、すなわちトルク指令値Tr*が変更された場合には、オフセット誤差を前回の演算時におけるオフセット誤差の値に維持する。これにより、トルク指令値Tr*変更前及び変更後における相電流値の検出値の両方に基づいて算出された、算出誤差の大きいオフセット誤差を用いることがない。なお、トルク指令値Tr*の代わりにトルク推定値Treの変化量を用いてもよい。
補正部74,75は、オフセット誤差算出部72,73により算出されたV相,W相のオフセット誤差を用いて、V相,W相の相電流値の検出値を補正する。詳しくは、補正部74,75は、V相,W相の相電流値の検出値にそれぞれオフセット誤差を加算して補正する。推定部53は、補正した後の電気角半周期にわたる相電流値の検出値を並進反転させて、電気角1周期にわたる相電流値を算出する。
次に、第3実施形態に係る相電流値の検出値からdq電流を算出する手法について、図18のフローチャートを参照して説明する。本処理手順は、制御装置40が、演算角ごとに繰り返し実行する。本処理手順は、第2実施形態にオフセット誤差算出部72,73及び補正部74,75を適用した場合の処理手順となっているが、同様に、第1実施形態にオフセット誤差算出部72,73及び補正部74,75を適用してもよい。
まず、S50〜S53では、S30〜S33と同様の処理を行う。続いて、図20に示す式を用いて、電気角1周期にわたるV相の相電流の検出値Ivd及びW相の相電流の検出値Iwdから、V相のオフセット誤差aV0/2、及びW相のオフセット誤差aW0/2を算出する(S54)。なお、Ivd(θ[n])・(θ[n]−θ[n−1])、及びIwd(θ[n])・(θ[n]−θ[n−1])が、V相及びW相の相電流値の検出値に基づく算出値に相当する。
続いて、所定期間内におけるトルク指令値Trq*の変化量が閾値以内か否か判定する(S55)。変化量が閾値以内の場合は(S55:YES)、オフセット誤差を更新する(S56)。一方、変化量が閾値を超えている場合は(S55:NO)、オフセット誤差を前回の処理時における値に維持する(S57)。
続いて、S59〜S65では、S34〜S40と同様の処理を行う。以上で、本処理を終了する。
以上説明した第3実施形態によれば、第1実施形態又は第2実施形態の効果を奏するとともに、以下の効果を奏する。
・選択した所定範囲にわたる相電流値の検出値にオフセット誤差が含まれている場合でも、精度良くオフセット誤差を算出して、オフセット誤差を除去することができる。ひいては、高精度な1次電流を算出することができる。
・所定期間におけるトルク指令値*の変化量が閾値を超えている場合には、オフセット誤差を更新しないため、1次電流算出の高応答化を損なうおそれがない。
(他の実施形態)
・第1実施形態において、複数相の相電流値を合成する際に、一部分の相電流値が重なってもよい。具体的には、3相の相電流値を合成する場合、各相において、電気角1/3周期以上且つ電気角1/2周期未満の所定範囲にわたる演算角における相電流値を選択すればよい。複数相の相電流値が重なった部分については、いずれか1相の相電流値を基準相の相電流値として選択すればよい。
・第2実施形態では、複数相の相電流値を合成するとともに並進反転させる際に、一部分の相電流値が重なってもよい。具体的には、3相の相電流値を合成するとともに並進反転させる場合、各相において、電気角1/6周期以上且つ電気角1/4周期未満の所定範囲にわたる演算角における相電流値を選択すればよい。複数相の相電流値や並進反転した相電流値が重なった部分については、いずれか1つの相電流値を基準相の相電流値として選択すればよい。
・電流センサにより3相の相電流値をそれぞれ検出してもよい。この場合、図9及び図16のフローチャートにおいて、S13及びS33の処理で、3相の相電流の検出値をそれぞれ取得し、S14及びS34の処理を省略する。
・電流センサ31,32による相電流値の検出タイミングと、演算角とは同期していなくてもよい。この場合、検出された相電流値を線形補完して、演算角のタイミングにおける相電流値を算出し、フーリエ係数の演算に用いればよい。