図1は、本発明の一実施例としての駆動装置を搭載する電気自動車20の構成の概略を示す構成図であり、図2は、電機駆動系の構成の概略を示す構成図である。実施例の電気自動車20は、図1に示すように、駆動輪26a,26bにデファレンシャルギヤ24を介して接続された駆動軸22に動力を入出力可能なモータ32と、モータ32を駆動するためのインバータ34と、例えばリチウムイオン二次電池として構成されたバッテリ36と、インバータ34が接続された電力ライン(以下、駆動電圧系電力ラインという)42とバッテリ36が接続された電力ライン(以下、電池電圧系電力ラインという)44とに接続されて駆動電圧系電力ライン42の電圧VHを調節すると共に駆動電圧系電力ライン42と電池電圧系電力ライン44との間で電力のやりとりを行なう昇圧コンバータ40と、車両全体をコントロールする電子制御ユニット50と、を備える。
モータ32は、永久磁石が埋め込まれたロータと三相コイルが巻回されたステータとを備える周知の同期発電電動機として構成されている。インバータ34は、図2に示すように、6つのスイッチング素子としてのトランジスタT11〜T16と、トランジスタT11〜T16に逆方向に並列接続された6つのダイオードD11〜D16と、により構成されている。トランジスタT11〜T16は、駆動電圧系電力ライン42の正極母線と負極母線とに対してソース側とシンク側となるよう2個ずつペアで配置されており、対となるトランジスタ同士の接続点の各々にモータ32の三相コイル(U相,V相,W相)の各々が接続されている。したがって、インバータ34に電圧が作用している状態でトランジスタT11〜T16のオン時間の割合を調節することにより、三相コイルに回転磁界を形成でき、モータ32を回転駆動することができる。駆動電圧系電力ライン42の正極母線と負極母線とには平滑用のコンデンサ46が接続されている。以下、インバータ21,22のトランジスタT11〜T13,T21〜T23の全部または一部や昇圧コンバータ30のトランジスタT31を「上アーム」、インバータ21,22のトランジスタT14〜T16,T24〜T26の全部または一部や昇圧コンバータ30のトランジスタT32を「下アーム」と称することがある。
昇圧コンバータ40は、図2に示すように、2つのトランジスタT31,T32とトランジスタT31,T32に逆方向に並列接続された2つのダイオードD31,D32とリアクトルLとからなる昇圧コンバータとして構成されている。2つのトランジスタT31,T32は、それぞれ駆動電圧系電力ライン42の正極母線,駆動電圧系電力ライン42および電池電圧系電力ライン44の負極母線に接続されており、トランジスタT31,T32同士の接続点と電池電圧系電力ライン44の正極母線とにはリアクトルLが接続されている。したがって、トランジスタT31,T32をオンオフすることにより、電池電圧系電力ライン44の電力を昇圧して駆動電圧系電力ライン42に供給したり、駆動電圧系電力ライン42の電力を降圧して電池電圧系電力ライン44に供給したりすることができる。電池電圧系電力ライン44の正極母線と負極母線とには平滑用のコンデンサ48が接続されている。
電子制御ユニット50は、CPU52を中心とするマイクロプロセッサとして構成されており、CPU52の他に処理プログラムを記憶するROM54と、データを一時的に記憶するRAM56と、図示しない入出力ポートと、を備える。電子制御ユニット50には、モータ32のロータの回転位置を検出する回転位置検出センサ32aからのモータ32のロータの回転位置θmや、モータ32の三相コイルのV相,W相に流れる相電流を検出する電流センサ33U,33Vからの相電流Iu,Iv,バッテリ36の端子間に取り付けられた電圧センサ37aからの端子間電圧Vb,バッテリ36の出力端子に取り付けられた電流センサ37bからの充放電電流Ib,バッテリ36に取り付けられた温度センサ37cからの電池温度Tb,コンデンサ46の端子間に取り付けられた電圧センサ46aからのコンデンサ46の電圧(駆動電圧系電力ライン42の電圧)VH,コンデンサ48の端子間に取り付けられた電圧センサ48aからのコンデンサ48の電圧(電池電圧系電力ライン44の電圧)VL,イグニッションスイッチ60からのイグニッション信号,シフトレバー61の操作位置を検出するシフトポジションセンサ62からのシフトポジションSP,アクセルペダル63の踏み込み量を検出するアクセルペダルポジションセンサ64からのアクセル開度Acc,ブレーキペダル65の踏み込み量を検出するブレーキペダルポジションセンサ66からのブレーキペダルポジションBP,車速センサ68からの車速Vなどが入力ポートを介して入力されている。電子制御ユニット50からは、インバータ34のトランジスタT11〜T16へのスイッチング制御信号や昇圧コンバータ40のトランジスタT31,T32へのスイッチング制御信号などが出力ポートを介して出力されている。なお、電子制御ユニット50は、回転位置検出センサ32aにより検出されたモータ32のロータの回転位置θmに基づいてモータ32のロータの電気角θeや回転角速度ωm,回転数Nmを演算したり、電流センサ37bにより検出されたバッテリ36の充放電電流Ibに基づいてそのときのバッテリ36から放電可能な電力量の全容量に対する割合である蓄電割合SOCを演算したり、演算した蓄電割合SOCと電池温度Tbとに基づいてバッテリ36を充放電してもよい最大許容電力である入出力制限Win,Woutを演算したりしている。
こうして構成された実施例の電気自動車20では、電子制御ユニット50は、アクセル開度Accと車速Vとに応じて駆動軸22に出力すべき要求トルクTr*を設定し、バッテリ36の入出力制限Win,Woutをモータ32の回転数Nmで除してモータ32から出力してもよいトルクの上下限としてのトルク制限Tmin,Tmaxを設定し、要求トルクTr*をトルク制限Tmin,Tmaxで制限してモータ32から出力すべきトルクとしてのトルク指令Tm*を設定し、設定したトルク指令Tm*でモータ32が駆動されるようインバータ34を制御すると共に、駆動電圧系電力ライン42の電圧VHがモータ32のトルク指令Tm*および回転数Nmに応じた目標電圧VHtagとなるよう昇圧コンバータ40を制御する。
ここで、インバータ34は、実施例では、正弦波制御,過変調制御,矩形波制御のいずれかによって制御するものとした。正弦波制御は、モータ32の電圧指令と三角波(搬送波)電圧との比較によってトランジスタT11〜T16のオン時間の割合を調節するパルス幅変調(PWM)制御において、三角波電圧の振幅以下の振幅の正弦波状の電圧指令を変換して得られる擬似的三相交流電圧をモータ32に供給する制御である。また、過変調制御は、パルス幅変調制御において、三角波電圧の振幅より大きな振幅の正弦波状の電圧指令を変換して得られる過変調電圧をモータ32に供給する制御である。さらに、矩形波制御は、矩形波電圧をモータ32に供給する制御である。なお、正弦波制御では、駆動電圧系電力ライン42の電圧VHに対する正弦波状の電圧指令の振幅の割合としての変調率(電圧利用率)Rmが値0〜値Rref1(約0.61)の範囲となり、過変調制御では、変調率Rmが値Rref1(約0.61)〜値Rref2(約0.78)の範囲となり、矩形波制御では、変調率Rmが値Rref2(約0.78)で一定となる。
実施例では、インバータ34の制御方法に拘わらず正弦波制御または過変調制御(以下、まとめてPWM制御と称することがある)によってインバータ34を制御するためのトランジスタT11〜T16のスイッチング制御信号(以下、PWM制御用信号という)と、矩形波制御によってインバータ34を制御するためのトランジスタT11〜T16のスイッチング制御信号(以下、矩形波制御用信号という)とを設定し、設定したPWM制御用信号と矩形波制御用信号とのうちいずれかを用いてトランジスタT11〜T16をスイッチング制御するものとした。
PWM制御用信号の設定は、詳細は後述するが、モータ32の相電流Iu,Ivを座標変換して得られるd軸,q軸の電流Id,Iqと、トルク指令Tm*に基づくd軸,q軸の電流指令Id*,Iq*と、の差分が打ち消されるようにd軸,q軸の電圧指令Vd*,Vq*を設定し、設定したd軸,q軸の電圧指令Vd*,Vq*を座標変換して得られるモータ32の三相コイルのU相,V相,W相に印加すべき電圧指令Vu*,Vv*,Vw*をPWM信号に変換する、ことによって行なうものとした。なお、d軸はモータ32のロータに埋め込まれた永久磁石によって形成される磁束の方向であり、q軸はd軸に対してモータ32の正回転方向にπ/2だけ電気角θeが進んだ方向である。
また、矩形波制御用信号の設定は、詳細は後述するが、モータ32から出力されていると推定される出力トルクTmestと、モータ32のトルク指令Tm*との差分が打ち消されるように電圧位相指令θs*(モータ32に印加すべき電圧のベクトルである電圧ベクトルのd軸方向に対する角度(位相)の指令値)を設定し、設定した電圧位相指令θs*に基づいて、インバータ34のトランジスタT11〜T13のオンオフの組み合わせとしてのスイッチングパターンやそのスイッチングパターンを切り替えるモータ32の電気角θeである切替電気角θswを設定する、ことによって行なうものとした。ここで、インバータ34のスイッチングパターンとして、トランジスタT11〜T16の組み合わせではなくトランジスタT11〜T13の組み合わせを用いるのは、通常、トランジスタT11〜T16のうち対応する上アームと下アームとを同時にオンとすることはないため、トランジスタT14〜T16のオンオフの組み合わせを省略しても差し支えない、との理由に基づく。図3は、インバータ34のスイッチングパターン,d軸,電圧ベクトル,モータ32の電気角θe,電圧位相指令θs*,電圧ベクトルの角度である電圧ベクトル角度θvv(=θe+θs*)について示す説明図であり、図4は、モータ32の電気角θe,電圧位相指令θs*,電圧ベクトル角度θvv,U相,V相,W相の電圧Vu,Vv,Vw,インバータ34のスイッチングパターンについて示す説明図である。図3および図4から分かるように、モータ32の電気角θe,電圧ベクトル角度θvvは、それぞれ固定座標系における基準方向である固定基準方向(図3中、0deg)に対するd軸方向,電圧ベクトル方向の角度であり、電圧位相指令θs*は、d軸方向と電圧ベクトル方向との間の角度(θvv−θe)である。また、上述の切替電気角θswは、電圧ベクトル角度θvvがインバータ34のスイッチングパターンを切り替えるためのいずれかの切替位置θvvsw(図3および図4の例では30deg,90deg,150deg,210deg,270deg,330deg)となるときの、モータ32の電気角θe(切替位置θvvswより電圧位相指令θs*だけ遅角側の角度)に相当する。したがって、図3および図4から分かるように、電圧ベクトル角度θvvがいずれかの切替位置θvvswに至ったとき即ちモータ32の電気角θeがいずれかの切替電気角θsw(=θvvsw−θs*)に至ったときに、インバータ34のスイッチングパターンを切り替えるように、矩形波制御用信号を設定することになる。例えば、電圧ベクトル角度θvvが切替位置210degに至ったとき即ちモータ32の電気角θeが切替電気角θsw(=210−θs*)に至ったときに、インバータ34のスイッチングパターンを[0,1,1]から[0,0,1]に切り替える即ちV相の電圧Vvが正の値から負の値となるように、矩形波制御用信号を設定することになる。
次に、こうして構成された実施例の電気自動車20の動作、特に、インバータ34の制御について説明する。図5は、電子制御ユニット50により実行されるインバータ制御ルーチンの一例を示すフローチャートであり、図6は、電子制御ユニット50により実行されるPWM制御用信号設定ルーチンの一例を示すフローチャートであり、図7は、電子制御ユニット50により実行される矩形波制御用信号設定ルーチンの一例を示すフローチャートである。以下、順に説明する。
まず、図5のインバータ制御ルーチンについて説明する。このルーチンは繰り返し実行される。図5のインバータ制御ルーチンが実行されると、電子制御ユニット50のCPU52は、まず、モータ32のトルク指令Tm*や回転数Nm,矩形波制御用信号(切替電気角θswやスイッチングパターン),PWM制御用信号(PWM信号)など制御に必要なデータを入力し(ステップS100)、入力したモータ32のトルク指令Tm*と回転数Nmとを用いてインバータ34の制御方法を設定する(ステップS110)。ここで、インバータ34の制御方法の設定は、実施例では、モータ32のトルク指令Tm*と回転数Nmとインバータ34の制御方法(正弦波制御,過変調制御,矩形波制御)との関係を予め定めて制御方法設定用マップとしてROM54に記憶しておき、モータ32のトルク指令Tm*と回転数Nmとが与えられると記憶したマップから対応する制御方法を導出して設定するものとした。制御方法設定用マップの一例を図8に示す。インバータ34の制御方法は、図示するように、モータMG2のトルク指令Tm2*や回転数Nm2が小さい側から順に正弦波制御,過変調制御,矩形波制御となるよう定められている。モータ32やインバータ34の特性として、矩形波制御,過変調制御,正弦波制御の順で、モータ32の出力応答性がよくなり、出力が小さくなり、インバータ34のスイッチング損失などが大きくなることが分かっているから、低回転数低トルクの領域では、正弦波制御によってインバータ34を制御することにより、モータ32の出力応答性を良くすることができる。一方、高回転数高トルク領域では、矩形波制御によってインバータ34を制御することにより、大きな出力を可能とすると共にインバータ34のスイッチング損失などを低減することができる。
こうしてインバータ34の制御方法を設定すると、設定したインバータ34の制御方法を調べ(ステップS120)、設定したインバータ34の制御方法が矩形波制御のときには、矩形波制御用信号(切替電気角θswやスイッチングパターン)を用いて矩形波制御によってインバータ34を制御して(ステップS130)、本ルーチンを終了し、設定したインバータ34の制御方法がPWM制御のときには、PWM制御用信号(PWM信号)を用いてPWM制御(正弦波制御または過変調制御)によってインバータ34を制御して(ステップS140)、本ルーチンを終了する。ここで、前者は、具体的には、モータ32の電気角θeが切替電気角θswに至ったことを条件としてインバータ34のスイッチングパターンを切り替えることによって行なう。また、後者は、具体的には、PWM信号に応じてインバータ34をスイッチング制御する、ことによって行なう。
次に、図6のPWM制御用信号設定ルーチンについて説明する。このルーチンは、所定時間毎(例えば、U相,V相,W相の電圧指令Vu*,Vv*、Vw*からPWM信号への変換に用いる三角波電圧の周波数(例えば、数kHzなど)の逆数(三角波電圧の周期)に相当する時間毎)に繰り返し実行される。
図6のPWM制御用信号設定ルーチンが実行されると、電子制御ユニット50のCPU52は、まず、モータ32のトルク指令Tm*や回転数Nm,電気角θe,相電流Iu,Ivを入力し(ステップS200)、モータ32の三相コイルのU相,V相,W相に流れる相電流Iu,Iv,Iwの総和を値0としてモータ32の電気角θeを用いて次式(1)により相電流Iu,Ivをd軸,q軸の電流Id,Iqに座標変換(3相−2相変換)する(ステップS210)。
続いて、モータ32のトルク指令Tm*に基づいてd軸,q軸の電流指令Id*,Iq*を設定する(ステップ220)。ここで、d軸,q軸の電流指令Id*,Iq*は、実施例では、モータ32のトルク指令Tm*とd軸,q軸の電流指令Id*,Iq*との関係、例えば、トルク指令Tm*に対応するトルクをモータ32から出力させるための電流指令大きさIr(電流指令Id*の二乗と電流指令Iq*の二乗との和の平方根)が最小となるトルク指令Tm*と電流指令Id*,Iq*との関係を予め定めて電流指令設定用マップとしてROM54に記憶しておき、モータ32のトルク指令Tm*が与えられると記憶したマップから対応するd軸,q軸の電流指令Id*,Iq*を導出して設定するものとした。
そして、次式(2)および式(3)に示すように、d軸,q軸の電流Id,Iqと電流指令Id*,Iq*との差が打ち消されるようにするための電流フィードバック制御によってd軸,q軸の電圧指令Vd*,Vq*を設定する(ステップS230)。ここで、式(2)および式(3)中、「Kp1」,「Kp2」は比例項のゲインであり、「Ki1」,「Ki2」は積分項のゲインである。
次に、モータ32の電気角θeを用いて次式(4)および式(5)によりd軸,q軸の電圧指令Vd*,Vq*をモータ22の三相コイルのU相,V相,W相に印加すべき電圧指令Vu*,Vv*,Vw*に座標変換(2相−3相変換)し(ステップS240)、座標変換した電圧指令Vu*,Vv*,Vw*をPWM信号に変換して(ステップS250)、本ルーチンを終了する。参考のために、この場合の電圧ベクトル(d軸の電圧指令Vd*,q軸の電圧指令Vq*を成分とするベクトル)の一例を図9に示す。図中、「Vp」は、電圧ベクトルの大きさとしての電圧指令大きさ(d軸の電圧指令Vd*の二乗とq軸の電圧指令Vq*の二乗との和の平方根)であり、「θp」は電圧ベクトルのd軸方向に対する角度としての電圧指令角度である。実施例では、電圧指令角度θpの本ルーチンの実行間隔(例えば三角波電圧の周期に相当する時間)当たりの変化量を制限しないから、電圧指令角度θpの本ルーチンの実行間隔当たりの変化量を制限するものに比して、PWM制御によってインバータ34を制御する場合にモータ32の出力応答性をより良好なものとすることができる。
次に、図7の矩形波制御用信号設定ルーチンについて説明する。このルーチンは、モータ32の電気角θeが切替電気角θswに至った(電圧ベクトル角度θvvが切替位置θvvsw(=θsw+θs*)に至った)後に、モータ32の電気角θeが、矩形波制御用信号(次の切替電気角θswやインバータ34のスイッチングパターン)を設定すべき計算用電気角θscalに至ったときに実行される。ここで、計算用電気角θscalは、切替電気角θswより計算用進角量θadだけ進んだ角度である。実施例では、計算用進角量θadは後述のステップS370またはステップS390で設定され、計算用電気角θscalは、後述のステップS460で設定される。なお、本ルーチンの実行間隔(実行タイミングの間隔)は、電圧位相指令θs*の変化に応じて変化すると共にモータ32の回転数Nm(モータ32の電気角θeの単位時間当たりの移動量)に応じて異なるが、通常、図6の矩形波制御用信号設定ルーチンの実行間隔に比して長い。ここで、本ルーチンの実行間隔が電圧位相指令θs*の変化に応じて変化するのは、計算用電気角θscal(=θsw(=θvvsw−θs*)+θad)の間隔が、電圧位相指令θs*が一定のときには一定となるものの、電圧位相指令θs*が変化するとそれに応じて変化するためである。また、本ルーチンの実行間隔がモータ32の回転数Nmに応じて異なるのは、モータ32の回転数Nmに応じて、モータ32の電気角θeが計算用電気角θscal[i]に至ってから次の計算用電気角θscal[i+1]に至るまでの時間が異なるためである。
図7の矩形波制御用信号設定ルーチンが実行されると、電子制御ユニット50のCPU52は、まず、モータ32のトルク指令Tm*や回転数Nm,電気角θe,相電流Iu,Ivを入力し(ステップS300)、モータ32の三相コイルのU相,V相,W相に流れる相電流Iu,Iv,Iwの総和を値0としてモータ32の電気角θeを用いて上述の式(1)により相電流Iu,Ivをd軸,q軸の電流Id,Iqに座標変換(3相−2相変換)し(ステップS310)、d軸、q軸の電流Id,Iqに基づいてモータ32から出力されていると推定される出力トルクTmestを推定する(ステップS320)。ここで、出力トルクTmestの推定は、実施例では、d軸,q軸の電流Id,Iqと出力トルクTmestとの関係を予め実験や解析などによって定めて出力トルク推定用マップとしてROM54に記憶しておき、d軸,q軸の電流Id,Iqが与えられると記憶したマップから対応する出力トルクTmestを導出して設定することによって行なうものとした。
続いて、次式(6)に示すように、モータ32の推定トルクTmestとトルク指令Tm*との差が打ち消されるようにするためのトルクフィードバック制御によって電圧位相指令θs*を計算し(ステップS330)、計算した電圧位相指令θs*と前回の本ルーチンの実行時に設定した電圧位相指令(前回θs*)との差分(今回の電圧位相指令θs*から前回の電圧位相指令(前回θs*)を減じたものの絶対値)を電圧位相指令変化量Δθsとして計算する(ステップS340)。ここで、式(6)中、「Kp3」は比例項のゲインであり、「Ki3」は積分項のゲインである。
次に、モータ32の回転数Nmを閾値Nrefと比較し(ステップS350)、モータ32の回転数Nmが閾値Nref以上のときには、電圧位相指令変化量θsの許容範囲の上限としての変化許容値θslimに所定値θslim1を設定すると共に(ステップS360)、計算用進角量θadに所定値θad1を設定する(ステップS370)。一方、モータ32の回転数Nmが閾値Nref未満のときには、変化許容値θslimに所定値θslim1より大きな所定値θslim2を設定すると共に(ステップS380)、計算用進角量θadに所定値θad1より小さな所定値θad2を設定する(ステップS390)。ここで、所定値θslim1,θslim2や所定値θad1,θad2は、変化許容値θslimと計算用進角量θadとの和が切替位置θvvswの間隔(60deg)未満となるように定められている。以下、この理由や、モータ32の回転数Nmに応じて変化許容値θslimや計算用進角量θadを設定する理由について説明する。
まず、変化許容値θslimと計算用進角量θadとの和が切替位置θvvswの間隔未満となるように両者を設定する理由について説明する。まず、モータ32の電気角θeが通過する順序は、切替電気角θsw[i](=θvvsw[i]−θs*[i]),計算電気角θscal[i+1](=θsw[i]+θad),次の切替電気角θsw[i+1](=θvvsw[i+1]−θs*[i+1]),・・・の順序となっている。このため、矩形波制御によってインバータ34を適正に制御するためには、次の切替電気角θsw[i+1]が計算用電気角θscal[i+1]より進角側となる必要がある。したがって、次の切替電気角θsw[i+1]から計算電気角θscal[i+1]を減じて得られる値(θvvsw[i−1]−θvvsw[i]−(θs*[i+1]−θs*[i])−θad1)が正の値となるようにすればよい。ここで、値(θvvsw[i−1]−θvvsw[i])は切替位置θvvswの間隔(60deg)であるから、値(θvvsw[i−1]−θvvsw[i]−(θs*[i+1]−θs*[i])−θad)が正の値となるようにするには、値(θs*[i+1]−θs*[i])と計算用進角量θadとの和が切替位置θvvswの間隔未満となるようにすればよいことが分かる。実施例では、このことを踏まえて、電圧位相指令変化量Δθsの制限に用いる変化許容値θslimと計算用進角量θadとの和が切替位置θvvswの間隔未満となるように所定値θslim1,θslim2や所定値θad1,θad2を定めるものとした。例えば、所定値θslim1としては30degなど,所定値θad1としては25degなど,所定値θslim2としては40degなど,所定値θad2としては15degなどを用いることができる。なお、本ルーチンの実行に要する時間(次の切替電気角θswなどの設定に要する時間)を考慮すれば、変化許容値θslimと計算用進角量θadとの和は、本ルーチンの実行に要する時間に相当する角度θcomを切替位置θvvswの間隔(60deg)から減じた値以下となるようにするのが好ましい。ここで、角度θcomは、モータ32の回転数Nmに応じて変化すると考えられるが、固定値(例えば、数degなど)を用いるものとしてもよい。
次に、モータ32の回転数Nmに応じて変化許容値θslimや計算用進角量θadを設定する理由について説明する。モータ32の回転数Nmが低いときには、モータ32の回転数Nmが高いときに比して図6のPWM制御用信号設定ルーチンの実行間隔(一定)に対する本ルーチンの実行間隔の程度が大きくなるから、本ルーチンの実行間隔に相当する時間における電圧指令角度θpの変化量が大きくなりやすい。これを踏まえて、実施例では、電圧指令角度θpと電圧位相指令θs*との乖離を小さくするために、電圧位相指令θs*の本ルーチンの実行間隔における変化量を大きくするものとした。一方、モータ32の回転数Nmが高いときには、モータ32の電気角θeが計算用電気角θscalに至ってから切替電気角θswに至るまで(矩形波制御によってインバータ34を制御するときにおける、切替電気角θswを設定してからインバータ34のスイッチングパターンを切り替えるまで)の時間を短くする(矩形波制御によってインバータ34を制御するときのインバータ34の制御性の更なる向上を図る)ために、モータ32の回転数Nmが低いときに比して、大きな値を計算用電気角θadとして用いると共に小さな値を変化許容値θscalとして用いるものとした。上述の閾値Nrefは、変化許容値θslimと計算用進角量θadとのうちいずれを重視する(大きくする)かの境界として用いられるものであり、例えば、8000rpmや10000rpm,12000rpmなどを用いることができる。
このようにしてステップS350〜S390でモータ32の回転数Nmに応じて変化許容値θslimや計算用進角量θadを設定すると、計算した電圧位相指令変化量Δθsを変化許容値θslimと比較する(ステップS400)。そして、電圧位相指令変化量Δθsが変化許容値θslim以下のときには、電圧位相指令θs*を再設定せずに、次の切替位置θvvswから電圧位相指令θs*を減じて次の切替電気角θswを計算すると共に(ステップS440)、次の切替位置θvvswに応じてインバータ34の次のスイッチングパターンを設定し(図3や図4参照)(ステップS450)、次の切替電気角θswに計算用進角量θadを加えて次回の計算用電気角θscalを計算して(ステップS460)、本ルーチンを終了する。
一方、ステップS400で電圧位相指令変化量Δθsが変化許容値θslimより大きいときには、今回の電圧位相指令θs*と前回の電圧位相指令(前回θs*)とを比較し(ステップS410)、今回の電圧位相指令θs*が前回の電圧位相指令(前回θs*)より大きいときには、前回の電圧位相指令(前回θs*)に変化許容値θslimを加えたものを電圧位相指令θs*として再設定し(ステップS420)、今回の電圧位相指令θs*が前回の電圧位相指令(前回θs*)より小さいときには、前回の電圧位相指令(前回θs*)から変化許容値θslimを減じたものを電圧位相指令θs*として再設定する(ステップS430)。ここで、ステップS420,S430の処理は、電圧位相指令変化量Δθsが変化許容値θslimとなるよう電圧位相指令θs*を再設定する処理である。そして、ステップS420またはステップS430で再設定した電圧位相指令θs*を次の切替位置θvvswから減じて次の切替電気角θswを計算すると共に(ステップS440)、次の切替位置θvvswに応じてインバータ34の次のスイッチングパターンを設定し(ステップS450)、次の切替電気角θswに計算用進角量θadを加えて次回の計算用電気角θscalを計算して(ステップS460)、本ルーチンを終了する。
図10は、モータ32の電気角θeが計算用電気角θscalとなる各時刻t1〜t4において、図7の矩形波制御用信号設定ルーチンの実行によって設定する切替位置θvvsw,電圧位相指令θs*,切替電気角θsw,次回の計算用電気角θscalの一例を示す説明図である。図10(a)は、変化許容値θslimを用いずに、ステップS330で設定した電圧位相指令θs*をそのまま切替電気角θswの計算に用いる比較例の場合(ステップS400〜430の処理を実行しない場合)を示す。また、図10(b)は、前回の電圧位相指令(前回θs*)からの変化量が変化許容値θslim以下となるよう、必要に応じて、ステップS330で設定した電圧位相指令θs*を再設定して切替電気角θs*の計算に用いる実施例の場合(ステップS400〜S430の処理を実行する場合)を示す。図10(a)では、時刻t3のときに、時刻t2のときに比して電圧位相指令θs*が変化許容値θslim(30deg)より大きく変化したことにより(40deg)、切替電気角θswがモータ32の電気角θeより遅角側の角度となってしまっている。この場合、スイッチングパターンを[0,1,0]から[0,1,1]に切り替えることができずにインバータ34の制御を適正に行なうことができなくなってしまうおそれがある。一方、実施例では、変化許容値θslimと計算用進角量θadとの和が切替位置θvvswの間隔(スイッチングパターンの切替間隔)未満となるよう変化許容値θslimと計算用進角量θadとを定めておき、電圧位相指令θs*の前回値から今回値の変化量(電圧位相指令変化量Δθs)を変化許容値θslim以下とすることにより、切替電気角θswがモータ32の電気角θeより遅角側とならないようにすることができ、インバータ34の制御性をより確保することができる。
実施例では、インバータ34をPWM制御によって制御するか矩形波制御によって制御するかに拘わらず電圧位相指令θs*の今回値と前回値との差分(本ルーチンの実行間隔における差分)としての電圧位相指令変化量Δθsが変化許容値θslim以下となるよう設定した電圧位相指令θs*を用いて次の切替電気角θswやスイッチングパターンを設定する(矩形波制御用信号を設定する)。したがって、矩形波制御によるインバータ34の制御を継続するときには、こうして設定した矩形波制御用信号を用いて矩形波制御によるインバータ34の制御を実行することができる。また、PWM制御によるインバータ34の制御から矩形波制御によるインバータ34の制御への切替時には、こうして設定した矩形波制御用信号を用いて矩形波制御によるインバータ34の制御を開始することができる。これらより、矩形波制御によるインバータ34の制御を継続するときだけでなく、PWM制御によるインバータ34の制御から矩形波制御によるインバータ34の制御への切替時においても、矩形波制御によるインバータ34の制御性が低下するのを抑制することができる。
以上説明した実施例の電気自動車20によれば、インバータ34をPWM制御によって制御するか矩形波制御によって制御するかに拘わらず矩形波制御用信号およびPWM制御用信号を設定し、設定した矩形波制御用信号とPWM制御用信号とのうちいずれかを用いてインバータ34を制御するものにおいて、インバータ34をPWM制御によって制御するか矩形波制御によって制御するかに拘わらず電圧位相指令θs*の今回値と前回値との差分としての電圧位相指令変化量Δθsが変化許容値θslim以下となるよう電圧位相指令θ*を設定すると共にこの電圧位相指令θs*を用いて次の切替電気角θswやスイッチングパターンを設定する(矩形波制御用信号を設定する)から、矩形波制御によるインバータ34の制御を継続するときだけでなく、PWM制御によるインバータ34の制御から矩形波制御によるインバータ34の制御への切替時においても、矩形波制御によるインバータ34の制御性が低下するのを抑制することができる。
また、実施例の電気自動車20によれば、モータ32の回転数Nmが閾値Nref未満のときには、モータ32の回転数Nmが閾値Nref以上のときに比して大きな値を変化許容値θslimとして用いて、電圧位相指令変化量Δθsが変化許容値θslim以下となるよう電圧位相指令θ*を設定するから、PWM制御用のd軸,q軸の電圧指令Vd*,Vq*に応じた電圧指令角度θpと、電圧位相指令θs*と、の乖離を小さくすることができる。この結果、PWM制御によるインバータ34の制御から矩形波制御によるインバータ34の制御への切替時における、電圧位相の乖離(電圧指令角度θpと電圧位相指令θs*との乖離)を抑制することができ、切替をより滑らかなものとすることができる。
実施例の電気自動車20では、図7の矩形波制御用信号設定ルーチンにおいて、モータ32の回転数Nmが閾値Nref以上のときには、変化許容値θslimに所定値θslim1を設定すると共に計算用進角量θadに所定値θad1を設定し、モータ32の回転数Nmが閾値Nref未満のときには、変化許容値θslimに所定値θslim1より大きな所定値θslim2を設定すると共に計算用進角量θadに所定値θad1より小さな所定値θad2を設定するものとしたが、モータ32の回転数Nmが小さいほど大きくなる傾向に変化許容値θslimを設定すると共にモータ32の回転数Nmが小さいほど小さくなる傾向に計算用進角量θadを設定するものとしてもよい。また、モータ32の回転数Nmに拘わらず固定値を変化許容値θslimや計算進角量θadとして用いるものとしてもよい。
実施例の電気自動車20では、図7の矩形波制御用信号設定ルーチンにおいて、電圧位相指令変化量Δθsが変化許容値θslimより大きく且つ今回の電圧位相指令θs*が前回の電圧位相指令(前回θs*)より大きいときには、前回の電圧位相指令(前回θs*)に変化許容値θslimを加えたものを電圧位相指令θs*として再設定し、電圧位相指令変化量Δθsが変化許容値θslimより大きく且つ今回の電圧位相指令θs*が前回の電圧位相指令(前回θs*)より小さいときには、前回の電圧位相指令(前回θs*)から変化許容値θslimを減じたものを電圧位相指令θs*として再設定するものとしたが、前者の場合には電圧位相指令θs*を再設定するものの、後者の場合には電圧位相指令θs*を再設定しないものとしてもよい。これは、上述したように、次の切替電気角θsw[i+1]が計算用電気角θscal[i+1]より進角側となるようにするには、値(θs*[i+1]−θs*[i])と計算用進角量θadとの和が切替位置θvvswの間隔未満となるようにすればよい、との理由に基づく。
実施例の電気自動車20では、図6のPWM制御用信号設定ルーチンにおいて、電圧指令角度θpの図6のルーチンの実行間隔(例えば三角波電圧の周期に相当する時間)当たりの変化量を制限しないものとしたが、制限するものとしてもよい。この場合のPWM制御用信号設定ルーチンの一例を図11に示す。図11のPWM制御用信号設定ルーチンは、ステップS500〜S570処理を追加した点を除いて、図6のPWM制御用信号設定ルーチンと同一である。したがって、同一の処理については同一のステップ番号を付し、その詳細な説明は省略する。
図11のPWM制御用信号設定ルーチンでは、ステップS230でd軸,q軸の電圧指令Vd*,Vq*を設定すると、設定したd軸,q軸の電圧指令Vd*,Vq*を用いて電圧指令大きさVpと電圧指令角度θpとを設定する(ステップS500)。電圧指令大きさVpと電圧指令角度θpとは、d軸,q軸の電流指令Vd*,Vq*と電圧指令大きさVpや電圧指令角度θpとの関係(図9参照)を考慮すれば、容易に求めることができる。そして、設定した電圧指令角度θpと前回の本ルーチンの実行時に設定した電圧指令角度(前回θp)との差分を電圧指令角度変化量Δθpとして計算し(ステップS510)、上述の図7で用いた変化許容値(電圧位相指令変化量θsの許容範囲の上限)θslimとモータ32の回転数Nmとを用いて、次式(7)により、電圧指令角度変化量Δθpの許容範囲の上限としての変化許容値θplimを計算する(ステップS520)。ここで、式(7)中、「P」はモータ32のロータの極対数であり、「Δtp」は本ルーチンの実行間隔(例えば三角波電圧の周期に相当する時間)である。この式(7)は、変化許容値θslimを変化許容値θplimに換算するための式である。
次に、計算した電圧指令角度変化量Δθpを変化許容値θplimと比較し(ステップS530)、電圧指令角度変化量Δθpが変化許容値θplim以下ときには、電圧指令角度θpを再設定せずに、モータ32の電気角θeを用いてd軸,q軸の電圧指令Vd*,Vq*をモータ22の三相コイルのU相,V相,W相に印加すべき電圧指令Vu*,Vv*,Vw*に座標変換(2相−3相変換)し(ステップS240)、座標変換した電圧指令Vu*,Vv*,Vw*をPWM信号に変換して(ステップS250)、本ルーチンを終了する。
一方、ステップS530で電圧指令角度変化量Δθpが変化許容値θplimより大きいときには、今回の電圧指令角度θpと前回の電圧指令角度(前回θp)とを比較し(ステップS540)、今回の電圧指令角度θpが前回の電圧指令角度(前回θp)より大きいときには、前回の電圧指令角度(前回θp)に変化許容値θplimを加えたものを電圧指令角度θpとして再設定し(ステップS550)、今回の電圧指令角度θpが前回の電圧指令角度(前回θp)より小さいときには、前回の電圧指令角度(前回θp)から変化許容値θplimを減じたものを電圧指令角度θpとして再設定し(ステップS560)、ステップS550またはステップS560で再設定した電圧指令角度θpとステップS500で設定した電圧指令大きさVpとを用いてd軸,q軸の電圧指令Vd*,Vq*を再設定する(ステップS570)。ここで、ステップS550〜S570の処理は、電圧指令角度変化量Δθpが変化許容値θplimとなるようにd軸,q軸の電圧指令Vd*,Vq*を再設定する処理である。そして、モータ32の電気角θeを用いてd軸,q軸の電圧指令Vd*,Vq*をモータ22の三相コイルのU相,V相,W相に印加すべき電圧指令Vu*,Vv*,Vw*に座標変換(2相−3相変換)し(ステップS240)、座標変換した電圧指令Vu*,Vv*,Vw*をPWM信号に変換して(ステップS250)、本ルーチンを終了する。
この変形例の電気自動車20によれば、インバータ34をPWM制御によって制御するか矩形波制御によって制御するかに拘わらず電圧指令角度θpの今回値と前回値との差分としての電圧指令角度変化量Δθpが変化許容値θplim(変化許容値θslimをPWM制御用に換算したもの)以下となるようd軸,q軸の電圧指令Vd*,Vq*を設定してPWM信号に変換する(PWM制御用信号を設定する)から、インバータ34をPWM制御によって制御するか矩形波制御によって制御するかに拘わらず電圧位相指令θs*と電圧指令角度θpとの乖離をより抑制することができる。この結果、PWM制御によるインバータ34の制御と矩形波制御によるインバータ34の制御との切替時における電圧位相指令θs*と電圧指令角度θpとの乖離をより抑制することができ、切替処理をより滑らかに行なうことができる。なお、この変形例では、変化許容値θslimを変化許容値θplimに換算するから、図7の矩形波制御用信号設定ルーチンにおいて、モータ32の回転数Nmに拘わらず固定値を変化許容値θslimや計算進角量θadとして用いるものとしてもよい。
この変形例では、ステップS530で電圧指令角度変化量Δθpが変化許容値θplimより大きいときには、今回の電圧指令角度θpと前回の電圧指令角度(前回θp)との大小関係に応じて電圧指令角度θpとして再設定し、再設定した電圧指令角度θpとステップS500で設定した電圧指令大きさVpとを用いてd軸,q軸の電圧指令Vd*,Vq*を再設定し、再設定したd軸,q軸の電圧指令Vd*,Vq*をモータ32の電気角θeを用いてモータ22のU相,V相,W相の電圧指令Vu*,Vv*,Vw*に座標変換するものとしたが、ステップS530で電圧指令角度変化量Δθpが変化許容値θplimより大きいときには、今回の電圧指令角度θpと前回の電圧指令角度(前回θp)との大小関係に応じて電圧指令角度θpとして再設定し、電圧指令大きさVpおよび電圧指令角度θpとモータ22のU相,V相,W相の電圧指令Vu*,Vv*,Vw*との関係に再設定した電圧指令角度θpとステップS500で設定した電圧指令大きさVpとを適用してモータ22のU相,V相,W相の電圧指令Vu*,Vv*,Vw*を直接設定するものとしてもよい。即ち、再設定した電圧指令角度θpとステップS500で設定した電圧指令大きさVpとからd軸,q軸の電圧指令Vd*,Vq*を再設定しないものとしてもよい。
実施例の電気自動車20では、図5のインバータ制御ルーチンにおいて、入力したモータ32のトルク指令Tm*と回転数Nmとを用いてインバータ34の制御方法を設定するものとしたが、上述の変調率Rmなどを用いてインバータ34の制御方法を設定するものとしてもよい。例えば、正弦波制御と過変調制御との切替については、正弦波制御によってインバータ34を制御している最中に変調率Rm(=Vp/VH)が値Rref1(約0.61)を超えたときに正弦波制御から過変調制御に切り替え、過変調制御によってインバータ34を制御している最中に変調率Rmが値Rref1以下になったときに過変調制御から正弦波制御に切り替えるものとしてもよい。また、過変調制御と矩形波制御との切替については、過変調制御によってインバータ34を制御している最中に変調率Rm(=Vp/VH)が値Rref2(約0.78)に至ったときに過変調制御から矩形波制御に切り替え、矩形波制御によってインバータ34を制御している最中にd軸,q軸の電流が所定の切替ラインに至ったときに矩形波制御から過変調制御に切り替えるものとしてもよい。なお、この所定の切替ラインは、図6のPWM制御用信号設定ルーチンのステップS220の処理で用いるモータ32のトルク指令Tm*とd軸,q軸の電流指令Id*,Iq*との関係を示すラインよりd軸の電流Idの大きさが小さくなるよう定められるものとしてもよい。
実施例では、駆動輪26a,26bに接続された駆動軸22に動力を入出力可能なモータ32を備える電気自動車20に適用するものしたが、例えば、図12の変形例のハイブリッド自動車120に例示するように、遊星歯車機構126を介して駆動軸22に接続されたエンジン122およびモータ124と、駆動軸22に動力を入出力可能なモータ32と、を備えるハイブリッド自動車120に適用するものとしてもよい。また、図13の変形例のハイブリッド自動車220に例示するように、エンジン122のクランクシャフトに接続されたインナーロータ232と駆動輪26a,26bに連結された駆動軸22に接続されたアウターロータ234とを有しエンジン122からの動力の一部を駆動軸22に伝達すると共に残余の動力を電力に変換する対ロータ電動機230を備えるものとしてもよい。さらに、図14の変形例のハイブリッド自動車320に例示するように、駆動軸22に変速機330を介してモータ32を取り付けると共に、モータ32の回転軸にクラッチ329を介してエンジン122を接続する構成とし、エンジン122からの動力をモータ32の回転軸と変速機330とを介して駆動軸22に出力すると共にモータ32からの動力を変速機330を介して駆動軸22に出力するハイブリッド自動車320に適用するものとしてもよい。
実施例では、本発明をハイブリッド自動車の形態として説明したが、自動車以外の車両(例えば、列車など)の形態や駆動装置の形態としてもよい。
実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。実施例では、モータ32が「モータ」に相当し、インバータ34が「インバータ」に相当し、電子制御ユニット50が「制御手段」に相当する。
ここで、「モータ」としては、同期発電電動機として構成されたモータ32に限定されるものではなく、如何なるものとしても構わない。「インバータ」としては、インバータ34に限定されるものではなく、モータを駆動するためのものであれば如何なるものとしても構わない。「制御手段」としては、インバータ34をPWM制御によって制御するか矩形波制御によって制御するかに拘わらず電圧位相指令θs*の今回値と前回値との差分としての電圧位相指令変化量Δθsが変化許容値θslim以下となるよう電圧位相指令θ*を設定すると共にこの電圧位相指令θs*を用いて次の切替電気角θswやスイッチングパターンを設定する(矩形波制御用信号を設定する)ものに限定されるものではなく、インバータをパルス幅変調制御によって制御するか矩形波制御によって制御するかに拘わらずパルス幅変調制御用の制御信号と矩形波制御用の制御信号とを設定し、設定したパルス幅変調制御用の制御信号と矩形波制御用の制御信号とのうちいずれかを用いてインバータを制御するものにおいて、インバータをパルス幅変調制御によって制御するか矩形波制御によって制御するかに拘わらず電圧位相の変化率が変化許容値以下となるよう矩形波制御用の制御信号を設定するものであれば、如何なるものとしても構わない。
なお、実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係は、実施例が課題を解決するための手段の欄に記載した発明を実施するための形態を具体的に説明するための一例であることから、課題を解決するための手段の欄に記載した発明の要素を限定するものではない。即ち、課題を解決するための手段の欄に記載した発明についての解釈はその欄の記載に基づいて行なわれるべきものであり、実施例は課題を解決するための手段の欄に記載した発明の具体的な一例に過ぎないものである。
以上、本発明を実施するための形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。