1.第一の実施形態
本発明に係る電動機駆動装置1の制御装置2の第一の実施形態について、図面を参照して説明する。図1に示すように、本実施形態においては、電動機駆動装置1が、三相交流により動作する交流電動機としての埋込磁石構造の2つの同期電動機MG1、MG2(IPMSM、以下、これらを総称して単に「電動機MG」という場合がある。)を駆動制御する装置として構成されている場合を例として説明する。これらの電動機MGは、必要に応じて発電機としても動作するように構成されている。これらの電動機MGは、例えば、電動車両やハイブリッド車両等の駆動力源として用いられる。電動機駆動装置1は、直流電圧Vdcを交流電圧に変換して電動機MGに供給するインバータ6を有して構成されている。そして、本実施形態では、図2に示すように、制御装置2は、電動機駆動装置1を制御することにより、ベクトル制御法を用いて電動機MGの電流フィードバック制御を行う。
このような構成において、本実施形態に係る制御装置2は、電動機MGに供給する交流電圧の指令値である交流電圧指令値Vu、Vv、Vwを決定し、インバータ6のスイッチング制御信号Pu、Nu、Pv、Nv、Pw、Nwを生成する電圧制御処理を行う電圧制御部23を備えている(図2参照)。また、電動機制御装置1は、電動機MGの電気角の周期とインバータ6のスイッチング周期とを同期させる同期制御モードと、これらを同期させない非同期制御モードとのいずれかを選択可能に備えている。そして、同期制御モードが選択された場合には、電動機MGのコイルに流れる電流を検出する電流検出処理をキャリアの周期の1/2に設定された基準演算周期毎に行うと共に、電圧制御処理を基準演算周期のN倍(Nは2以上の整数)の周期で行い、N回の電流検出処理により検出されたN回分の電流検出値をフィードバックして1回の電圧制御処理を行う(図8を参照)点に特徴を有する。これにより、処理能力が限られた演算処理ユニットを使用しつつ、電動機MGの回転速度が高くなった場合にも電流サンプリングのエイリアシングの発生を抑えることができる電動機制御装置1が実現されている。なお、本実施形態では、上記「N」が「2」である場合を例として説明する。以下、本実施形態に係る電動機駆動装置1及びその制御装置2について詳細に説明する。
1−1.電動機駆動装置及び制御装置のハードウエア構成
まず、本実施形態に係る電動機駆動装置1及び制御装置2のハードウエア構成について、図1に基づいて説明する。図1に示すように、本実施形態では、第一電動機MG1及び第二電動機MG2の2つの三相同期電動機を制御対象として備えている。第一電動機MG1と第二電動機MG2とは、同じ性能の電動機であっても良いし、異なる性能の電動機であっても良い。電動機MG1,MG2は、それぞれインバータ6a、6b(以下、これらを総称して単に「インバータ6」という場合がある。)を介して、直流電圧Vdcを発生させる直流電源3に接続されている。直流電源3としては、例えば、ニッケル水素二次電池やリチウムイオン二次電池等の各種二次電池、キャパシタ、或いはこれらの組合せ等が用いられる。直流電源3の電圧である直流電圧Vdcは、不図示の電圧センサにより検出されて制御装置2へ出力される。なお、直流電源3とインバータ6との間に、直流電源3からの直流電圧Vdcを平滑化する平滑コンデンサや直流電源3からの直流電圧Vdcを昇圧するコンバータ等を介挿して備えた構成としても好適である。
インバータ6は、直流電源3からの直流電圧Vdcを三相交流電圧に変換して電動機MGに供給する。このように供給された三相交流電圧によって電動機MGが駆動される。すなわち、インバータ6は直流交流変換部として機能する。インバータ6は、複数のスイッチング素子(不図示)を有して構成される。スイッチング素子には、例えば、IGBT(insulated gate bipolar transistor)やMOSFET(metal oxide semiconductor field effect transistor)等を適用すると好適である。以下、スイッチング素子としてIGBTを用いる場合を例として説明する。
インバータ6(6a、6b)は、三相のブリッジ回路により構成される。インバータ6の入力プラス側と入力マイナス側との間に2つのIGBTが直列に接続され、この直列回路が3回線並列接続される。つまり、電動機MG(MG1、MG2)のu相、v相、w相に対応するステータコイルMu(Mu1、Mu2)、Mv(Mv1、Mv2)、Mw(Mw1、Mw2)のそれぞれに一組の直列回路が対応したブリッジ回路が構成される。各相の上段側のIGBTのコレクタはインバータ6の入力プラス側に接続され、エミッタは各相の下段側のIGBTのコレクタに接続される。また、各相の下段側のIGBTのエミッタは、インバータ6の入力マイナス側(例えば、グラウンド)に接続される。対となる各相のIGBTによる直列回路の中間点、つまり、IGBTの接続点は、電動機MGのステータコイルMu、Mv、Mwにそれぞれ接続される。
なお、IGBTには、それぞれフリーホイールダイオード(回生ダイオード)が並列に接続される。フリーホイールダイオードは、カソード端子がIGBTのコレクタ端子に接続され、アノード端子がIGBTのエミッタ端子に接続される形態でIGBTに対して並列に接続される。各IGBTのゲートは、ドライバ回路76を介して制御装置2に接続されており、それぞれ個別にスイッチング制御される。
制御装置2は、電動機駆動装置1に備えられた複数(ここでは2個)のインバータ6(6a、6b)を制御する。制御装置2は、マイクロコンピュータなどの論理回路を中核として構成されたECU(electronic control unit)として構成されている。本実施形態では、制御装置2は、シングルタスクのマイクロコンピュータであるCPU(central processing unit)61と、インターフェース回路70と、その他の周辺回路等とを有して構成される。CPU61は、後述する電動機制御処理を実行するコンピュータである。インターフェース回路70は、EMI(electro-magnetic interference)対策部品やバッファ回路などにより構成される。高電圧をスイッチングするスイッチング素子としてのIGBTやMOSFETのゲートに入力される駆動信号であるスイッチング制御信号は、マイクロコンピュータなどの一般的な電子回路の駆動電圧よりも高い電圧を必要とするため、ドライバ回路76を介して昇圧された後、インバータ6に入力される。
CPU61は、少なくとも、CPUコア62と、プログラムメモリ63と、パラメータメモリ64と、ワークメモリ65と、タイマ66と、A/Dコンバータ67と、通信制御部68と、ポート69と、を有して構成される。CPUコア62は、CPU61の中核であり、命令レジスタや命令デコーダ、種々の演算の実行主体となるALU(arithmetic logic unit)、フラグレジスタ、汎用レジスタ、割り込みコントローラ等を有して構成される。本実施形態では、CPU61は単一のCPUコア62を備えており、この単一のCPUコア62が本発明における「単一の演算処理ユニット」に相当する。このCPUコア62は、シリアルにプログラムを実行するシングルタスクのコンピュータの中核を担う。
プログラムメモリ63は、電動機制御プログラムが格納された不揮発性のメモリである。パラメータメモリ64は、プログラムの実行の際に参照される種々のパラメータが格納された不揮発性のメモリである。パラメータメモリ64は、プログラムメモリ63と区別することなく構築されてもよい。プログラムメモリ63やパラメータメモリ64は、例えばフラッシュメモリなどによって構成されると好適である。ワークメモリ65は、プログラム実行中の一時データを一時記憶するメモリである。ワークメモリ65は、揮発性で問題なく、高速にデータの読み書きが可能なDRAM(dynamic RAM)やSRAM(static RAM)により構成される。
タイマ66は、所定のクロック周期を基準として時間を計測する。そして、タイマ66は、例えば、後述するスイッチング制御信号のキャリアの周期の1/2を基準演算周期T0としてプログラムの実行周期を監視し、CPUコア62の割り込みコントローラに通知する。A/Dコンバータ67は、アナログの電気信号をデジタルデータに変換する。本実施形態では、A/Dコンバータ67は、電動機MGの各ステータコイルMu、Mv、Mwに流れる電流の検出値である電流検出値Iur(Iur1、Iur2)、Ivr(Ivr1、Ivr2)、Iwr(Iwr1、Iwr2)を、電流センサ7(7a、7b)から受け取ってデジタル値に変換する。なお、u相、v相、w相の三相は平衡しており、その瞬時値はゼロであるので、二相分のみの電流を検出し、残る一相はCPU61において演算により求めてもよい。本実施形態では、三相の全てが検出される場合を例示している。なお、二相分のみの電流を検出し、残る一相はCPU61において演算により求めるのであれば、A/Dコンバータ67は、4つのアナログ入力を有していれば足りる。
通信制御部68は、車両内の他のシステムとの通信を制御する。本実施形態では、不図示の車両内のCAN(controller area network)を介して、走行制御システムやセンサ等との通信を制御する。例えば、CPU61は、通信制御部68を介して、走行制御システムから、電動機MGに対する要求トルクTMを含むモータ制御指令を受け取り、これに基づいて電動機MGを制御する。本実施形態では、CPU61は、第一電動機MG1に対する要求トルクTM1及び第二電動機MG2に対する要求トルクTM2(以下、これらを総称して単に「要求トルクTM」という場合がある。)をそれぞれ受け取る。また、CPU61は、通信制御部68を介してブレーキシステムやパワーステアリングシステムと接続され、これらを制御する構成としても好適である。
ポート69は、インバータ6のスイッチング制御信号等をCPU61の端子を介して出力したり、CPU61に入力される回転センサ8(8a、8b)からの回転検出信号を受け取ったりする端子制御部である。図1においてインターフェース回路70からドライバ回路76に入力される信号の符号P*は、インバータ6の上段側のIGBTの制御信号を示し、符号N*は、下段側のIGBTの制御信号を示す。また、符号*u、*v、*wは、インバータ6のu相、v相、w相それぞれのIGBTの制御信号を示す。また、符号*1、*2は、それぞれ第一電動機MG1のインバータ6a、第二電動機MG2のインバータ6bのスイッチング制御信号としてのIGBT制御信号を示す。回転センサ8は、電動機MGの近傍に設置されて電動機MGの回転子としてのロータの回転角を表す磁極位置θを検出するセンサであり、例えばレゾルバ等を用いて構成される。ここでは、磁極位置θは、ロータの回転角を電気角として表すものとする。
このように、本実施形態に係る電動機駆動装置1は、2個の電動機MG1、MG2を制御対象とすると共に、2個の電動機MG1、MG2のそれぞれに対応する2個のインバータ6a、6bを備えており、制御装置2は、これら2個のインバータ6a、6bを制御することにより、2個の電動機MG1、MG2を制御するように構成される。この際、制御装置2は、単一の演算処理ユニットとしてのCPUコア62を用いて2個のインバータ6a、6bを制御するように構成されている。
1−2.制御装置のソフトウエア構成
次に、制御装置2のソフトウエア構成について説明する。なお、本実施形態では電動機駆動装置1が2個の電動機MG1、MG2を駆動制御の対象とすると共に各電動機MG1、MG2に対応する2個のインバータ6a、6bを備えていることに対応して、制御装置2は2個のインバータ6a、6b及び2個の電動機MG1、MG2のそれぞれに対応する各機能部を備えているが、これらは同様の構成であるため、以下では、一方のインバータ6及び電動機MGを制御する機能部についてのみ説明することとする。図2に示すように、制御装置2はベクトル制御法を用いた電流フィードバック制御により電動機MG及びインバータ6を備えた電動機駆動装置1の制御を行う。ベクトル制御では、交流電動機MGの三相のそれぞれのステータコイルに流れるコイル電流を、ロータに配置された永久磁石が発生する磁界の方向であるd軸と、当該d軸に直交するq軸との2相のベクトル成分に座標変換して電流フィードバック制御を行う。
ベクトル制御における座標変換に際しては、電動機MGの回転状態を常に検出する必要がある。従って、図1に示すように、電動機MGの近傍にレゾルバなどの回転センサ8が備えられる。その検出結果である磁極位置θは制御装置2に入力される。上記のとおり、磁極位置θは電気角である。制御装置2には、更に要求トルクTMが入力される。そして、制御装置2は、これらの要求トルクTM、磁極位置θ、及び磁極位置θから導出される電動機MGの回転速度ωに応じて電動機MGを駆動するための制御信号Pu、Nu、Pv、Nv、Pw、Nwを生成して出力し、インバータ6を駆動制御する。制御信号Pu、Nu、Pv、Nv、Pw、Nwは、インバータ6の各スイッチング素子に後述する複数の制御モードのいずれかに従ったスイッチング動作を行わせるためのスイッチング制御信号であり、具体的には、各スイッチング素子のゲートを駆動するゲート駆動信号である。
d軸電流指令値導出部11には、要求トルクTMが入力される。d軸電流指令値導出部11は、入力された要求トルクTMに基づいて基本d軸電流指令値Idbを導出する。ここで、基本d軸電流指令値Idbは、最大トルク制御を行う場合におけるd軸電流の指令値に相当する。なお、最大トルク制御とは、同一電流に対して電動機MGの出力トルクが最大となるように電流位相を調節する制御である。本実施形態では、d軸電流指令値導出部11は、要求トルクTMの値と基本d軸電流指令値との関係を規定したテーブルを用いて、要求トルクTMの値に応じた基本d軸電流指令値Idbを導出するように構成されている。導出された基本d軸電流指令値Idbは、減算器14へ入力される。減算器14には、更に、後述する電流調整指令値導出部16により導出されたd軸電流調整指令値ΔIdが入力される。減算器14は、下記の式(1)に示すように、基本d軸電流指令値Idbからd軸電流調整指令値ΔIdを減算し、最終的なd軸電流指令値Idを導出する。
Id=Idb−ΔId・・・(1)
q軸電流指令値導出部12には、要求トルクTM及びd軸電流調整指令値ΔIdが入力される。q軸電流指令値導出部12は、入力された要求トルクTMとd軸電流調整指令値ΔIdとに基づいてq軸電流指令値Iqを導出する。本実施形態では、q軸電流指令値導出部12は、少なくとも要求トルクTMの値とd軸電流調整指令値ΔIdとの関係を規定したテーブルを用いて、要求トルクTM及びd軸電流調整指令値ΔIdに応じたq軸電流指令値Iqを導出する。このようにして導出されたd軸電流指令値Id及びq軸電流指令値Iqは、電動機MGを駆動する、互いに直交するベクトル成分を有する二相の電流の指令値である。従って、本実施形態においては、d軸電流指令値Id及びq軸電流指令値Iqが本発明における「電流指令値」に相当する。
電流制御部13には、d軸電流指令値Id及びq軸電流指令値Iqが入力される。更に、電流制御部13には、三相二相変換部36からd軸電流検出値Idr及びq軸電流検出値Iqrが入力され、回転速度導出部31から電動機MGの回転速度ωが入力される。d軸電流検出値Idr及びq軸電流検出値Iqrは、電動機MGのステータコイル(Mu、Mv、Mw)を実際に流れる電流の電流センサ7(図1を参照)による電流検出値(三相の電流検出値:u相電流検出値Iur、v相電流検出値Ivr、及びw相電流検出値Iwr)と回転センサ8(図1を参照)により検出された磁極位置θとに基づいて、三相二相変換部36により三相二相変換を行って導出される。また、電動機MGの回転速度ωは、回転センサ8(図1を参照)により検出された磁極位置θに基づいて回転速度導出部31により導出される。
電流制御部13は、二相の電流指令値であるd軸電流指令値Id及びq軸電流指令値Iqと、電流検出値Iur、Ivr、Iwrを三相二相変換して得られる二相の電流検出値(d軸電流検出値Idr及びq軸電流検出値Iqr)との偏差に基づいて第一電圧指令値としての二相の電圧指令値Vd、Vqを決定する電流制御処理を行う。この際、電流制御部13は、前記偏差に基づいて少なくとも比例制御及び積分制御を行って二相の電圧指令値Vd、Vqを決定する。具体的には、電流制御部13は、d軸電流指令値Idとd軸電流検出値Idrとの偏差であるd軸電流偏差δId、及びq軸電流指令値Iqとq軸電流検出値Iqrとの偏差であるq軸電流偏差δIqを導出する。そして、電流制御部13は、d軸電流偏差δIdに基づいて比例積分制御演算(PI制御演算)を行って電圧降下のd軸成分であるd軸電圧降下Vzdを導出すると共に、q軸電流偏差δIqに基づいて比例積分制御演算を行って電圧降下のq軸成分であるq軸電圧降下Vzqを導出する。
そして、電流制御部13は、下記の式(2)に示すように、d軸電圧降下Vzdからq軸電機子反作用Eqを減算してd軸電圧指令値Vdを導出する。
Vd=Vzd−Eq
=Vzd−ω・Lq・Iqr・・・(2)
この式(2)に示されるように、q軸電機子反作用Eqは、電動機MGの回転速度ω、q軸電流検出値Iqr、及びq軸インダクタンスLqに基づいて導出される。
更に、電流制御部13は、下記の式(3)に示すように、q軸電圧降下Vzqにd軸電機子反作用Ed及び永久磁石の電機子鎖交磁束による誘起電圧Emを加算してq軸電圧指令値Vqを導出する。
Vq=Vzq+Ed+Em
=Vzq+ω・Ld・Idr+ω・MIf・・・(3)
この式(3)に示されるように、d軸電機子反作用Edは、電動機MGの回転速度ω、d軸電流検出値Idr、及びd軸インダクタンスLdに基づいて導出される。また、誘起電圧Emは、永久磁石の電機子鎖交磁束の実効値により定まる誘起電圧定数MIf及び電動機MGの回転速度ωに基づいて導出される。
また、本実施形態では、電流制御部13は、平均値演算部21を備えている。平均値演算部21は、2(=N)回の電流検出処理により検出された2(=N)回分の電流検出値の平均値を演算する平均値演算を行う。ここでは、平均値演算部21は、電流センサ7により検出された三相の電流検出値Iur、Ivr、Iwrを三相二相変換部36により三相二相変換して得られる二相の電流検出値(d軸電流検出値Idr及びq軸電流検出値Iqr)を入力値とし、これらの2回分の入力値の平均値、すなわち、2回分のd軸電流検出値Idrの平均値、及び2回分のq軸電流検出値Iqrの平均値をそれぞれ演算する。後述するように、平均値演算部21は、モード決定部51において同期制御モードが選択された場合に機能し、非同期制御モードが選択された場合には機能しない。そのため、電流制御部13にはモード決定部51において選択された制御モードの情報が入力され、電流制御部13は、この情報に応じて平均値演算部21による平均値演算を行うか否かを決定する。そして、平均値演算部21による平均値演算を行った場合には、電流制御部13は、二相の電流指令値(d軸電流指令値Id及びq軸電流指令値Iq)と、平均値演算部21により演算された二相の電流検出値(d軸電流検出値Idr及びq軸電流検出値Iqr)のそれぞれの平均値との偏差に基づいて電流制御処理を行って二相の電圧指令値Vd、Vqを決定する。
変調率・電圧指令位相導出部22には、d軸電圧指令値Vd及びq軸電圧指令値Vqが入力される。更に、変調率・電圧指令位相導出部22には、不図示の電圧センサにより検出される直流電圧Vdcが入力される。変調率・電圧指令位相導出部22は、入力されたd軸電圧指令値Vd及びq軸電圧指令値Vqと直流電圧Vdcとに基づいて、第二電圧指令値としての変調率Mと電圧指令位相θvとを導出する。ここで、変調率Mは、直流電圧Vdcに対するインバータ6の出力電圧波形の基本波成分の実効値の比率を表し、本例では直流電圧Vdcに対する二相の電圧指令値Vd、Vqの実効値の比率とされている。具体的には、変調率Mは、以下の式(4)に従って算出される。
M=√(Vd2+Vq2)/Vdc・・・(4)
電圧指令位相θvは、二相の電圧指令値Vd、Vqが表す電圧ベクトルの位相角であり、d軸電圧指令値Vdに係るd軸電圧ベクトルとq軸電圧指令値Vqに係るq軸電圧ベクトルとを合成して生成される合成電圧ベクトルと、d軸電圧指令値Vdに係るd軸電圧ベクトルとの成す角に相当する。本例では、電圧指令位相θvは、以下の式(5)に従って算出される。
θv=tan−1(Vq/Vd)・・・(5)
この電圧指令位相θvは、磁極位置θの原点(θ=0°)を基準としたu相電圧指令値Vuの原点の位相に相当する。
ところで、電動機MGは、回転速度ωが高くなるに従って誘起電圧が高くなり、電動機MGを駆動するために必要となる交流電圧(以下「必要電圧」という。)も高くなる。そして、この必要電圧が、そのときの直流電圧Vdcを変換してインバータ6から出力し得る最大の交流電圧(以下「最大出力電圧」という。)を超えると、ステータコイルに必要な電流を流すことができなくなり、電動機MGを適切に制御することができない。そのため、制御装置2は、電動機MGの界磁磁束を弱める方向の磁束がステータコイルから発生するように電流位相を調節する(最大トルク制御よりも進める)、いわゆる弱め界磁制御を行なうように構成されている。そこで、本実施形態では、変調率・電圧指令位相導出部22により導出された変調率Mに基づいて、d軸電流調整指令値ΔIdが導出され、導出されたd軸電流調整指令値ΔIdに基づいて基本d軸電流指令値Idb及びq軸電流指令値Iqが調整される構成となっている。
より具体的には、減算器17には、変調率M、及び当該変調率Mの理論上の最大値である「0.78」の値が入力される。減算器17は、下記の式(6)に示すように、変調率Mから「0.78」を減算した変調率偏差ΔMを導出する。
ΔM=M−0.78・・・(6)
電流調整指令値導出部16には、導出された変調率偏差ΔMが入力される。電流調整指令値導出部16は、この変調率偏差ΔMを所定のゲインを用いて積分し、当該積分値をd軸電流調整指令値ΔIdとして導出する。このd軸電流調整指令値ΔIdが、上記の式(1)に示すように、基本d軸電流指令値Idbから減算されて最終的なd軸電流指令値Idが導出される。すなわち、このd軸電流調整指令値ΔIdが、電動機MGの界磁磁束を弱めるための弱め界磁指令値となる。
本実施形態に係る制御装置2は、電動機駆動装置を制御するための制御モードを決定するモード決定部51と、インバータ6のキャリア周波数を決定するキャリア周波数決定部52と、を更に備えている。モード決定部51には、入力変数として少なくとも要求トルクTM及び回転速度ωが入力される。モード決定部51は、入力された要求トルクTMと回転速度ωとに基づいて、電動機駆動装置1を制御するために予め設定された複数の制御モードの中から1つの制御モードを決定する。制御装置2はパラメータメモリ64等に制御モード決定用のマップを記憶して備えている。本実施形態においては、図3に示すように、このマップには電動機MGの動作可能領域として、第一領域A1、第二領域A2、及び第三領域A3の3つの領域が設定されている。そして、これに対応して、モード決定部51が選択可能な3つの制御モードが設定されている。すなわち、モード決定部51は、要求トルクTMと回転速度ωとの関係が第一領域A1内にある場合には第一制御モードを選択し、第二領域A2内にある場合には第二制御モードを選択し、第三領域A3内にある場合には第三制御モードを選択する。
ところで、電動機駆動装置1を制御するための制御モードに係る制御方法には、インバータ6から電動機MGに供給する交流電圧の波形に関してPWM制御及び矩形波制御の2つがあり、インバータ6から電動機MGに供給する交流電流の位相に関して最大トルク制御及び弱め界磁制御の2つがある。更に本実施形態では、PWM制御には、正弦波PWM制御と過変調PWM制御の2つの制御方式が含まれている。モード決定部51が選択可能な3つのモードは、これらを組み合わせて構成されている。
第一制御モードは、インバータ6における直流−交流変換に際して、インバータ6に最大トルク制御と共に正弦波PWM制御を行わせるモードである。正弦波PWM制御では、インバータ6の各スイッチング素子のオンオフを、正弦波状の交流電圧指令値Vu、Vv、Vwとキャリア(搬送波)との比較に基づいて制御する。正弦波状の交流電圧指令値Vu、Vv、Vwは、後述する電圧制御部23の三相指令値導出部35により導出される。
第二制御モードは、インバータ6における直流−交流変換に際して、インバータ6に最大トルク制御と共に過変調PWM制御を行わせるモードである。過変調PWM制御では、インバータ6の出力電圧波形の基本波成分の波形を歪ませて、正弦波PWM制御における正弦波状の交流電圧指令値Vu、Vv、Vwよりも振幅を大きくする。その状態で、正弦波PWM制御と同様にインバータ6の各スイッチング素子のオンオフを、歪んだ正弦波状の交流電圧指令値Vu、Vv、Vwとキャリアとの比較に基づいて制御する。これにより、交流電圧指令値Vu、Vv、Vwが搬送波の振幅を超える部分において連続的にハイレベル又はローレベルとなるPWM制御が行われる。歪んだ正弦波状の交流電圧指令値Vu、Vv、Vwは、後述する電圧制御部23の三相指令値導出部35により導出される。
第三制御モードは、インバータ6における直流−交流変換に際して、インバータ6に弱め界磁制御と共に矩形波制御を行わせるモードである。矩形波制御では、インバータ6の各スイッチング素子のオン及びオフを電気角1周期(磁極位置θの360°)につき1回ずつ行わせるように制御する。このとき、各相の交流電圧指令値Vu、Vv、Vwは、1周期につきハイレベル期間とローレベル期間とが1回ずつ交互に表れる矩形波となる。従って、本実施形態では、第三制御モードでは、各相の交流電圧指令値Vu、Vv、Vwは、単にインバータ6の各スイッチング素子のオン又はオフを切り替えるタイミングを表す磁極位置θの位相であるオンオフ切替位相の指令値とされる。
なお、矩形波制御が行われる第三制御モードでは、磁極位置θとして検出される電動機MGの電気角の周期とインバータ6のスイッチング周期とを同期させる同期制御が行われる。ここで、スイッチング周期は、インバータ6のスイッチング素子のオンオフタイミングの周期であり、各スイッチング素子のオンオフ切替位相の周期に等しい。一方、正弦波PWM制御が行われる第一制御モード及び過変調PWM制御が行われる第二制御モードでは、スイッチング制御信号Pu、Nu、Pv、Nv、Pw、Nwがキャリアに基づいて生成される。これらのPWM制御では、磁極位置θとして検出される電動機MGの電気角の周期とインバータ6のスイッチング周期とを同期させない非同期制御が行われる。従って、本実施形態においては、第三制御モードが本発明における「同期制御モード」に含まれ、第一制御モード及び第二制御モードが本発明における「非同期制御モード」に含まれる。モード決定部51は、このような同期制御モード又は非同期制御モードのいずれかに含まれる複数の制御モードの中から一つを選択する機能を有しており、本発明における「制御モード選択部」に相当する。後述するように、モード決定部51が同期制御モードと非同期制御モードとのいずれを選択するかに応じて、電圧制御部23内の制御ブロックが電圧制御切替部46により切り替えられ、交流電圧指令値Vu、Vv、Vw及びスイッチング制御信号Pu、Nu、Pv、Nv、Pw、Nwを生成する方式が切り替えられる構成となっている。
本実施形態では更に、モード決定部51には、電流調整指令値導出部16により導出されたd軸電流調整指令値ΔIdが入力される。そして、モード決定部51は、入力されるd軸電流調整指令値ΔIdに基づいて、第三制御モードを選択することの可否を判定する。より具体的には、モード決定部51は、d軸電流調整指令値ΔIdが所定の第三制御モード移行許可閾値以上である場合には第三制御モードを選択することを許可し、一方、d軸電流調整指令値ΔIdが第三制御モード移行許可閾値未満である場合には第三制御モードを選択することを禁止する。従って、本実施形態に係るモード決定部51は、入力される要求トルクTMと回転速度ωとに基づいて制御モードを決定することを前提としつつ、更に入力されるd軸電流調整指令値ΔIdに基づいて制御モードの選択に一定の制限を課すように構成されている。
キャリア周波数決定部52には、入力変数として少なくとも回転速度ω及び要求トルクTMが入力される。キャリア周波数決定部52は、入力された要求トルクTMと回転速度ωとに基づいて、インバータ6のスイッチング制御信号Pu、Nu、Pv、Nv、Pw、Nwのキャリア(搬送波)の周波数であるキャリア周波数Fcを決定する。本実施形態においては、制御装置2はパラメータメモリ64等にキャリア周波数決定用のマップを記憶して備えている。キャリア周波数決定部52は、電動機MGの要求トルクTM及び回転速度ω等に応じて、インバータ6における損失や電動機MGにおける損失を低減するための最適なキャリア周波数Fcを決定する。この際、キャリア周波数決定部52は、例えば、予め定められた複数の選択可能なキャリア周波数の中から前記マップに基づいて最適なキャリア周波数を選択して決定する。なお、要求トルクTMに代えて、又は要求トルクTMと共に変調率Mがキャリア周波数決定部52に入力され、これと回転速度ωとに基づいてキャリア周波数Fcを決定する構成としてもよい。
電圧制御部23には、変調率・電圧指令位相導出部22により導出された変調率M及び電圧指令位相θvが入力される。更に、電圧制御部23には、回転センサ8(図1を参照)により検出された磁極位置θ及びキャリア周波数決定部52により決定されたキャリア周波数Fcが入力される。電圧制御部23は、入力された変調率M、電圧指令位相θv、磁極位置θ、及びキャリア周波数Fcに基づいて、交流電圧指令値Vu、Vv、Vwを決定し、インバータ6のスイッチング制御信号Pu、Nu、Pv、Nv、Pw、Nwを生成する電圧制御処理を行う。本実施形態においては、電圧制御部23は、三相指令値導出部35及び非同期制御信号生成部41、並びにオンオフ切替位相導出部43及び同期制御信号生成部42を備えている。
また、変調率・電圧指令位相導出部22と電圧制御部23との間には、電圧制御切替部46が設けられている。電圧制御切替部46は、モード決定部51により選択された制御モードに応じて電圧制御部23内の制御ブロックを切り替える。具体的には、非同期制御モードに含まれる第一制御モード又は第二制御モードが選択された場合には、変調率・電圧指令位相導出部22により導出された変調率M及び電圧指令位相θvを三相指令値導出部35へ入力し、三相指令値導出部35及び非同期制御信号生成部41に電圧制御処理を行わせる。一方、同期制御モードに含まれる第三制御モードが選択された場合には、変調率・電圧指令位相導出部22により導出された変調率M及び電圧指令位相θvをオンオフ切替位相導出部43へ入力し、オンオフ切替位相導出部43及び同期制御信号生成部42に電圧制御処理を行わせる。電圧制御切替部46は、モード決定部51により選択された制御モードに応じて、このような変調率M及び電圧指令位相θvの入力先の切り替えを行う。これにより、電圧制御部23は、モード決定部51により決定された制御モードに応じたスイッチング制御信号Pu、Nu、Pv、Nv、Pw、Nwを生成する。
三相指令値導出部35は、入力された変調率M及び電圧指令位相θvに基づいて、三相の正弦波状の交流電圧指令値Vu、Vv、Vwを生成する。図4は、三相指令値導出部35により生成される交流電圧指令値Vu、Vv、Vwの一例を示す図である。この図は、交流電圧指令値Vu、Vv、Vwが正弦波状の第一制御モードの電圧指令値である場合の例を示している。この場合、u相電圧指令値Vuは、磁極位置θの原点(θ=0°)に対して電圧指令位相θvだけ遅れた位相を有し、振幅が変調率Mに等しく、1周期が磁極位置θの1周(電気角1周、360°)に等しい正弦波状の電圧指令値となる。v相電圧指令値Vvはu相電圧指令値Vuに対して120°、w相電圧指令値Vwはu相電圧指令値Vuに対して240°、それぞれ位相が遅れた正弦波状の電圧指令値となる。また、第二制御モードが選択された場合には、交流電圧指令値Vu、Vv、Vwの波形は歪んだ正弦波状となるが、各指令値の位相及び振幅は図4と同様となる。
ここで、三相指令値導出部35は、交流電圧指令値Vu、Vv、Vwの波形を規定した交流電圧指令値マップを制御モード毎に備えており、モード決定部51により決定された制御モードに応じて、この交流電圧指令値マップに基づいて交流電圧指令値Vu、Vv、Vwを生成して出力する。交流電圧指令値マップは、例えば、第一制御モード用のマップでは、原点が磁極位置θの原点(θ=0°)に一致し、振幅が1である正弦波状の電圧波形を規定している。三相指令値導出部35は、このマップに規定された電圧波形の原点を電圧指令位相θvだけ遅らせると共に、振幅を変調率M倍にすることによりu相電圧指令値Vuを生成し、当該u相電圧指令値Vuの位相を120°、240°遅らせることによりV相電圧指令値Vvとw相電圧指令値Vwを生成することができる。三相指令値導出部35は、制御モード毎に、異なる電圧波形のマップを備えている。
非同期制御信号生成部41には、三相指令値導出部35により生成された交流電圧指令値Vu、Vv、Vw及びキャリア周波数決定部52により決定されたキャリア周波数Fcが入力される。非同期制御信号生成部41は、この交流電圧指令値Vu、Vv、Vwとキャリア(搬送波)とに基づいて、インバータ6のスイッチング制御信号Pu、Nu、Pv、Nv、Pw、Nwを生成する。具体的には、非同期制御信号生成部41は、交流電圧指令値Vu、Vv、Vwとキャリアとの比較を行い、インバータ6のu相上段、u相下段、v相上段、v相下段、w相上段、w相下段の各スイッチング素子のそれぞれをPWM制御するための6つのスイッチング制御信号Pu、Nu、Pv、Nv、Pw、Nwを生成する。従って、非同期制御信号生成部41は、各スイッチング素子に対して、基本的にキャリア周期毎に2回、スイッチング制御信号を出力する。また、このスイッチング制御信号が表すオン又はオフのパルス幅は、キャリアに対して連続的に変化する略正弦波状の交流電圧指令値Vu、Vv、Vwの大きさに応じてキャリア周期毎に段階的に変化する。本実施形態においては、キャリア周波数Fcは交流電圧指令値Vu、Vv、Vwの周波数の整数倍とはなっておらず、よって、スイッチング制御信号Pu、Nu、Pv、Nv、Pw、Nwのキャリアの周期と交流電圧指令値Vu、Vv、Vwの周期とは同期していないすなわち、第一制御モード及び第二制御モードはいずれも非同期PWM制御となっている。従って、本実施形態においては、非同期制御モードは、非同期PWM制御が行われるモードとなっている。但し、スイッチング制御信号Pu、Nu、Pv、Nv、Pw、Nwをキャリアに基づいて生成する制御方式には、例えば、キャリアの周期と交流電圧指令値Vu、Vv、Vwの周期とを同期させた状態でPWM制御を行う同期PWM制御も含まれる。このような同期PWM制御においても、非同期PWM制御と同様に、インバータ6のスイッチング周期は交流電圧指令値Vu、Vv、Vwの振幅に依存して決定されるため、電動機MGの電気角(磁極位置θ)の周期とインバータ6のスイッチング周期とは同期しない。すなわち、このような同期PWM制御と非同期PWM制御の双方を含むPWM制御モード全般において、インバータ6の各スイッチング素子のオンオフを切り替えるタイミングが電動機MGの電気角(位相)によって一意に定まらない。従って、このようなPWM制御モードは、本発明における非同期制御モードに含まれる。
オンオフ切替位相導出部43は、入力された変調率M及び電圧指令位相θvに基づいて、交流電圧指令値Vu、Vv、Vwとしてのインバータ6の各スイッチング素子のオンオフ切替位相の指令値を生成する。この指令値は、各スイッチング素子のオンオフ制御信号に対応し、各スイッチング素子のオン又はオフを切り替えるタイミングを表す磁極位置θの位相を表す指令値である。図5は、オンオフ切替位相導出部43により生成される交流電圧指令値Vu、Vv、Vwが表す内容を図示したものであり、各スイッチング素子のオン又はオフが切り替えられる位相を、横軸としての磁極位置θ上に示している。この例では、u相電圧指令値Vuは、磁極位置θの原点(θ=0°)に対して電圧指令位相θvだけ遅れた位相を有しており、磁極位置θの1周(電気角1周、360°)が1周期となっている。そして、電圧指令位相θvでu相上段のスイッチング素子に対応するスイッチング制御信号Puがオン、u相下段のスイッチング素子に対応するスイッチング制御信号Nuがオフされ、電圧指令位相θvから磁極位置θの半周(電気角半周、180°)でu相上段のスイッチング素子に対応するスイッチング制御信号Puがオフ、u相下段のスイッチング素子に対応するスイッチング制御信号Nuがオンされる。v相電圧指令値Vvはu相電圧指令値Vuに対して120°、w相電圧指令値Vwはu相電圧指令値Vuに対して240°、それぞれ位相が遅れる以外は同様の電圧指令値となる。なお、オンオフ切替位相導出部43から実際に出力する交流電圧指令値Vu、Vv、Vwは、u相、v相、w相のそれぞれについての各スイッチング素子のオン又はオフを切り替えるタイミングを表す磁極位置θの位相の情報のみにより構成することができる。従って、このようなオンオフ切替位相の指令値としての交流電圧指令値Vu、Vv、Vwは、u相、v相、w相の指令値を一連の情報としてまとめて出力してもよい。
ここで、オンオフ切替位相導出部43は、交流電圧指令値Vu、Vv、Vwを構成する各スイッチング素子のオンオフ切替位相を規定したオンオフ切替位相マップを制御モード毎に備えており、このオンオフ切替位相マップに基づいて交流電圧指令値Vu、Vv、Vwを生成して出力する。オンオフ切替位相マップは、例えば、原点が磁極位置θの原点(θ=0°)に一致し、u相、v相、w相の各相について上段のスイッチング素子がオン、下段のスイッチング素子がオフの状態と、上段のスイッチング素子がオフ、下段のスイッチング素子がオンの状態とが切り替わる位相を規定するものとする。オンオフ切替位相導出部43は、このマップに規定されたオンオフ位相の原点を電圧指令位相θvだけ遅らせることによりu相電圧指令値Vuを生成し、当該u相電圧指令値Vuの位相を120°、240°遅らせることによりV相電圧指令値Vvとw相電圧指令値Vwを生成することができる。
同期制御信号生成部42には、オンオフ切替位相導出部43により生成された交流電圧指令値Vu、Vv、Vwが入力される。同期制御信号生成部42は、この交流電圧指令値Vu、Vv、Vwに基づいて、インバータ6のスイッチング制御信号Pu、Nu、Pv、Nv、Pw、Nwを生成する。具体的には、同期制御信号生成部42は、インバータ6の各スイッチング素子のオンオフ切替位相の指令値に従い、インバータ6のu相上段、u相下段、v相上段、v相下段、w相上段、w相下段の各スイッチング素子のそれぞれのオン又はオフの状態を制御するための6つのスイッチング制御信号Pu、Nu、Pv、Nv、Pw、Nwを生成する。このスイッチング制御信号が表すオン又はオフのパルス幅は、オンオフ切替位相に応じて予め定められた幅となる。また、この際、同期制御信号生成部42を含む電圧制御部23は、所定の演算周期で電圧制御処理を行っており、各スイッチング制御信号Pu、Nu、Pv、Nv、Pw、Nwが所定の演算周期毎に出力され、各スイッチング素子のオンオフを切り替えるタイミングが変更される。従って、各スイッチング素子のオンオフを切り替えるタイミングは所定の演算周期毎に変更されるが、インバータ6の各スイッチング素子は、電動機MGの電気角(磁極位置θ)に同期して制御される。これにより電動機MGの電気角の周期とインバータ6のスイッチング周期(スイッチング素子のオンオフタイミングの周期)とが同期する。このように、同期制御モードでは、インバータ6の各スイッチング素子のオンオフを切り替えるタイミングが、電動機MGの電気角(位相)によって一意に定まる。
1−3.制御モードに応じた各部の処理周期
次に、本発明の要部である、制御モードに応じた制御装置2の各部の処理周期の設定について説明する。この制御装置2は、モード決定部51により選択された制御モードが、同期制御モードであるか非同期制御モードであるかに応じて、各部の処理周期の設定を切り替えるように構成されている。本発明は、処理能力が限られた単一のCPUコア62を使用しつつ、電動機MGのロータの回転速度が高くなった場合における電流サンプリングのエイリアシングの発生を抑えることを目的としている。そのため、制御装置2は、特に、電流センサ7(7a、7b)による電流検出処理IS(IS1、IS2)の周期、及び電圧制御部23による電圧制御処理VC(VC1、VC2)の周期の設定を、制御モードに応じて切り替える。この際、制御装置2は、図7及び図8に示すように、キャリア周期TCの1/2に設定された基準演算周期T0を基準として、各処理の周期を設定する。例えば、キャリア周期TCは50〜600〔μs〕程度に設定され、基準演算周期T0がその半分の周期に設定される。このように設定される基準演算周期T0は、インバータ6のスイッチング素子のオンオフによるノイズの影響を受け難くするために、キャリアの波形が最大値(山)又は最小値(谷)となるタイミングで電流センサ7による電流検出処理を行う場合における最短の電流検出周期に相当する。以下に説明する制御装置2の各部による一連の制御処理(電動機制御処理)は、CPU61のタイマ66(図1を参照)により計測される基準演算周期T0毎に、CPU61の割り込み機能の実行により開始される。
ところで、本実施形態では、制御装置2は、2(=N)個の電動機MG1、MG2の電流フィードバック制御のための演算処理を単一のCPUコア62により行うように構成されている。従って、制御装置2は、非同期制御モードが選択された場合には、図7に示すように、2(=N)個の電動機MG1、MG2のそれぞれについての電圧制御処理VC(VC1、VC2)を基準演算周期T0毎に同じ基準演算周期T0内で順に行うと共に、2(=N)個の電動機MG1、MG2のそれぞれについての電流検出処理IS(IS1、IS2)を基準演算周期T0の2(=N)倍の周期で互いに異なるタイミングで行い、2(=N)個の電動機MG1、MG2のそれぞれについて1回の電流検出処理IS(IS1、IS2)により検出された電流検出値Iur、Ivr、Iwrをフィードバックして2(=N)回の電圧制御処理VC(VC1、VC2)を行う。一方、制御装置2は、同期制御モードが選択された場合には、図8に示すように、2(=N)個の電動機MG1、MG2のそれぞれについての電流検出処理IS(IS1、IS2)を基準演算周期T0毎に行うと共に、2(=N)個の電動機MG1、MG2のそれぞれについての電圧制御処理VC(VC1、VC2)を基準演算周期T0の2(=N)倍の周期で互いに異なる基準演算周期T0内に行い、2(=N)回の電流検出処理IS(IS1、IS2)により検出された2(=N)回分の電流検出値Iur、Ivr、Iwrをフィードバックして1回の電圧制御処理VC(VC1、VC2)を行う。
ここで、電圧制御処理VC(VC1、VC2)は、電圧制御部23により行われる処理であり、変調率・電圧指令位相導出処理MC(MC1、MC2)により導出された変調率M及び電圧指令位相θv、並びに磁極位置取り込み処理PT(PT1、PT2)により取り込まれた磁極位置θに基づいて交流電圧指令値Vu、Vv、Vwを決定し、当該交流電圧指令値Vu、Vv、Vwに基づいてインバータ6のスイッチング制御信号Pu、Nu、Pv、Nv、Pw、Nwを生成する処理である。また、電流検出処理IS(IS1、IS2)は、電流センサ7(7a、7b)により2個の電動機MG1、MG2のそれぞれのコイルに流れる電流を検出する処理である。なお、図7及び図8には、電流検出処理IS(IS1、IS2)が行われる周期である電流検出周期について、第一電動機MG1の電流検出周期を「T11」、第二電動機MG2の電流検出周期を「T12」とし、電圧制御処理VC(VC1、VC2)が行われる周期である電圧制御周期について、第一電動機MG1の電圧制御周期を「T21」、第二電動機MG2の電圧制御周期を「T22」として示している。
また、制御装置2は、電流検出周期T1及び電圧制御周期T2の周期の切り替えに応じて、他の処理の周期も切り替える。具体的には、2個の電動機MG1、MG2のそれぞれについての電流値取り込み処理IT(IT1、IT2)及び三相二相変換処理CT(CT1、CT2)は、2個の電動機MG1、MG2のそれぞれについての電流検出処理IS(IS1、IS2)の後に、当該電流検出処理IS(IS1、IS2)と同じ周期で実行される。これらの処理は、電流検出処理IS(IS1、IS2)に伴って実行される処理であり、電流検出処理IS(IS1、IS2)により検出された電流検出値Iur(Iur1、Iur2)、Ivr(Ivr1、Ivr2)、Iwr(Iwr1、Iwr2)をフィードバックして電圧制御処理VC(VC1、VC2)に反映させるために、電流検出処理IS(IS1、IS2)と同じ周期で実行する。従って、制御装置2は、非同期制御モードが選択された場合には、図7に示すように、2個の電動機MG1、MG2のそれぞれについての電流値取り込み処理IT(IT1、IT2)及び三相二相変換処理CT(CT1、CT2)を、基準演算周期T0の2(=N)倍の周期で互いに異なる基準演算周期T0内に行い、同期制御モードが選択された場合には、図8に示すように、2個の電動機MG1、MG2のそれぞれについての電流値取り込み処理IT(IT1、IT2)及び三相二相変換処理CT(CT1、CT2)を基準演算周期T0毎に行う。
ここで、電流値取り込み処理IT(IT1、IT2)は、電流センサ7(7a、7b)により検出された2個の電動機MG1、MG2のそれぞれについての電流検出値Iur、Ivr、Iwrを、A/Dコンバータ67によりアナログデータからデジタルデータに変換して取り込む処理である。また三相二相変換処理CT(CT1、CT2)は、電流値取り込み処理IT(IT1、IT2)により取り込まれた電流検出値Iur、Ivr、Iwrを、三相二相変換部36により三相二相変換し、二相の電流検出値Idr、Iqrを導出する処理である。
図7及び図8に示すように、2個の電動機MG1、MG2のそれぞれについての磁極位置検出処理PS(PS1、PS2)及び磁極位置取り込み処理PT(PT1、PT2)は、制御モードに関わらず、基準演算周期T0毎に行う。これらの処理は、電圧制御部23による電圧制御処理VC(VC1、VC2)や三相二相変換部36による三相二相変換処理CT(CT1、CT2)を、正確な磁極位置θに基づいて適切に行うために、最短の演算周期で行われることが望ましいため、ここでは、最短の演算周期である基準演算周期T0で実行する。ここで、磁極位置検出処理PS(PS1、PS2)は、回転センサ8(8a、8b)からの回転検出信号に基づいて2個の電動機MG1、MG2のそれぞれのロータの磁極位置θを検出する処理である。磁極位置取り込み処理PT(PT1、PT2)はは、回転センサ8(8a、8b)により検出された磁極位置θを、A/Dコンバータ67によりアナログデータからデジタルデータに変換して取り込む処理である。
図7に示すように、電流平均値演算処理AC(AC1、AC2)は、非同期制御モードでは実行されない。そして、図8に示すように、制御装置2は、同期制御モードが選択された場合に、2個の電動機MG1、MG2のそれぞれについての電流平均値演算処理AC(AC1、AC2)を、基準演算周期T0の2(=N)倍の周期で互いに異なる基準演算周期T0内に行う。ここで、電流平均値演算処理AC(AC1、AC2)は、2(=N)回の電流検出処理IS(IS1、IS2)により検出された2(=N)回分の電流検出値の平均値を演算する平均値演算を行う処理である。本実施形態では、電流平均値演算処理AC(AC1、AC2)は、三相二相変換処理CT(CT1、CT2)により三相二相変換された後の二相の電流検出値Idr、Iqrの平均値を演算する処理とされている。すなわち、電流平均値演算処理AC(AC1、AC2)では、2(=N)回分の二相の電流検出値Idr、Iqrのそれぞれの平均値が演算される。そして、同期制御モードが選択された場合には、この後に行われる電流制御処理IC(IC1、IC2)で、二相の電流検出値Idr、Iqrの平均値を用いて電流制御演算が行われる。これにより、2(=N)回の電流検出処理IS(IS1、IS2)により検出された2(=N)回分の電流検出値Idr、Iqrを適切にフィードバックして電流制御処理IC(IC1、IC2)及びその後の電圧制御処理VC(VC1、VC2)が行われる。
図7及び図8に示すように、2個の電動機MG1、MG2のそれぞれについての電流制御処理IC(IC1、IC2)は、制御モードに関わらず、基準演算周期T0の2(=N)倍の周期で互いに異なる基準演算周期T0内に行う。但し、電流制御処理IC(IC1、IC2)の内容は、制御モードによって異なる。ここで、電流制御処理IC(IC1、IC2)は、三相二相変換処理CT(CT1、CT2)により三相二相変換された後の二相の電流検出値Idr、Iqrと、二相の電流指令値であるd軸電流指令値Id及びq軸電流指令値Iqとの偏差に基づいて二相の電圧指令値Vd、Vqを決定する処理である。従って、電流制御処理IC(IC1、IC2)は、電流値取り込み処理IT(IT1、IT2)及び三相二相変換処理CT(CT1、CT2)と同様に、基本的には、電流検出処理IS(IS1、IS2)と同じ周期で実行されることが望ましい。しかしながら、本実施形態では、制御装置2は、電流検出処理IS(IS1、IS2)が基準演算周期T0の2(=N)倍の周期で行われる非同期制御モードでのみ、電流検出処理IS(IS1、IS2)と同じ周期で電流制御処理IC(IC1、IC2)を実行する。そして、制御装置2は、電流検出処理IS(IS1、IS2)が基準演算周期T0毎に行われる同期制御モードでは、電流検出処理IS(IS1、IS2)の2(=N)倍の周期で電流制御処理IC(IC1、IC2)を実行する。但し、上記のとおり、制御装置2は、同期制御モードでは、電流平均値演算処理AC(AC1、AC2)を行い、電流制御処理IC(IC1、IC2)には、2(=N)回分の電流検出値Idr、Iqrの平均値を用いる。これにより、電流制御部13は、電流制御処理IC(IC1、IC2)において、2(=N)回分の電流検出値Idr、Iqrを適切にフィードバックして二相の電圧指令値Vd、Vqを決定する。結果として、本実施形態では、電流制御処理IC(IC1、IC2)の実行周期は、制御モードに関わらず同じとなり、図7及び図8に示すように、制御装置2は、2(=N)個の電動機MG1、MG2のそれぞれについての電流制御処理IC(IC1、IC2)を、基準演算周期T0の2(=N)倍の周期で互いに異なる基準演算周期T0内に行う。
図7及び図8に示すように、2個の電動機MG1、MG2のそれぞれについての変調率・電圧指令位相導出処理MC(MC1、MC2)は、制御モードに関わらず、基準演算周期T0の2(=N)倍の周期で互いに異なる基準演算周期T0内に行われる。ここで、変調率・電圧指令位相導出処理MC(MC1、MC2)は、電流制御処理IC(IC1、IC2)により決定された二相の電圧指令値Vd、Vqと直流電圧Vdcとに基づいて、変調率M及び電圧指令位相θvを導出する処理である。そこで、本実施形態では、制御装置2は、2個の電動機MG1、MG2のそれぞれについての変調率・電圧指令位相導出処理MC(MC1、MC2)を、2個の電動機MG1、MG2のそれぞれについての電流制御処理IC(IC1、IC2)の後に、当該電流制御処理IC(IC1、IC2)と同じ周期で実行する。すなわち、変調率・電圧指令位相導出処理MC(MC1、MC2)の実行周期は、制御モードに関わらず同じとなり、図7及び図8に示すように、制御装置2は、2(=N)個の電動機MG1、MG2のそれぞれについての変調率・電圧指令位相導出処理MC(MC1、MC2)を、基準演算周期T0の2(=N)倍の周期で互いに異なる基準演算周期T0内に行う。
以上に説明したように、本実施形態では、同期制御モードが選択された場合には、2(=N)個の電動機MG1、MG2のそれぞれについて、電流平均値演算処理AC(AC1、AC2)、電流制御処理IC(IC1、IC2)、及び変調率・電圧指令位相導出処理MC(MC1、MC2)が、電圧制御処理VC(VC1、VC2)と共に基準演算周期T0の2(=N)倍の周期で行われる。また、非同期制御モードが選択された場合には、2(=N)個の電動機MG1、MG2のそれぞれについて、電流値取り込み処理IT(IT1、IT2)、三相二相変換処理CT(CT1、CT2)、電流制御処理IC(IC1、IC2)、及び変調率・電圧指令位相導出処理MC(MC1、MC2)が、電流検出処理IS(IS1、IS2)と共に基準演算周期T0の2(=N)倍の周期で行われる。そして、このように2(=N)個の電動機MG1、MG2のそれぞれについて基準演算周期T0の2(=N)倍の周期で互いに異なるタイミング又は基準演算周期T0内で行われる処理は、図7及び図8に示すように、基準演算周期T0毎に交互に行われる。そのため、本実施形態では、制御装置2は、繰り返し実行される基準演算周期T0が奇数回目であるか偶数回目であるかを監視し、その結果に応じて、例えば、奇数回目に第一電動機MG1についての処理を実行し、偶数回目に第二電動機MG2についての処理を実行する。このとき、第一電動機MG1についての処理の周期と、第二電動機MG2についての処理の周期とは、当該処理の周期の1/2(ここでは基準演算周期T0に等しい)だけずれている。また、制御装置2は、基準演算周期T0毎に毎回行う処理については、奇数回目は第一電動機MG1についての処理を先に実行した後で第二電動機MG2についての処理を実行し、偶数回目は第二電動機MG2についての処理を先に実行した後で第一電動機MG1についての処理を実行する。当然ながら、奇数回目又は偶数回目のそれぞれの基準演算周期T0において、2つの電動機MG1、MG2のいずれについての処理を実行するかは、適宜設定変更が可能である。
なお、図7及び図8のタイムチャートには、モード決定部51によるモード決定処理やキャリア周波数決定部52によるキャリア周波数決定処理は含まれていない。これらの処理は、それぞれの処理のための入力変数の更新周期が、基準演算周期T0よりも十分に長い周期となっているため、それほど頻繁に演算処理を行う必要がなく、上述した各処理に比べて、長い演算周期とされる。従って、図示しないが、モード決定処理及びキャリア周波数決定処理は、各基準演算周期T0内における、上記図7及び図8のタイミングチャートに示される各処理が行われていない空き時間を利用して実行される。処理が一つの基準演算周期T0内で完了しない場合には、複数の基準演算周期T0に分けて実行される。
1−4.電動機制御処理の手順
次に、本実施形態に係る電動機制御処理の手順について、図6のフローチャート、並びに図7及び図8のタイムチャートを参照して説明する。以下に説明する電動機制御処理のための各部の処理の手順は、制御装置2により実行される。なお、本実施形態では、制御装置2の各機能部はプログラムメモリ63(図1を参照)に格納された電動機制御プログラムにより構成されており、制御装置2が備える演算処理ユニットとしてのCPUコア62は、電動機制御プログラムを実行するコンピュータとして動作する。
本実施形態に係る電動機制御処理では、図7及び図8に示すように、その前提としてCPU61による割り込み処理の周期である基準演算周期T0に基づいて、制御装置2の各機能部における演算処理が実行される。また、第一電動機MG1の磁極位置検出処理PS1及び第二電動機MG2の磁極位置検出処理PS2は、制御モードに関わらず、基準演算周期T0毎に毎回実行される。一方、第一電動機MG1の電流検出処理IS1及び第二電動機MG2の電流検出処理IS2は、非同期制御モードが選択された場合には基準演算周期T0の2(=N)倍の周期で互いに異なるタイミングで実行され、同期制御モードが選択された場合には基準演算周期T0毎に毎回実行される。磁極位置検出処理PS(PS1、PS2)の検出値としての磁極位置θ、及び電流検出処理IS(IS1、IS2)の検出値としての各電動機MG(MG1、MG2)の電流検出値Iur、Ivr、Iwrは、図示しないアナログメモリ等に一時的に記憶され、後の処理に用いられる。
図6に示すように、基準演算周期T0毎のCPU61の割り込み処理が実行されると(ステップ#01)、制御装置2は、まず、モード決定部51により決定された現在の制御モードが、非同期制御モードか同期制御モードかの判定を行い(ステップ#02)、次に、繰り返し実行される基準演算周期T0が奇数回目であるか偶数回目であるかの判定を行う(ステップ#03、#04)。
現在の制御モードが非同期制御モードであり(ステップ#02:Yes)、基準演算周期T0が奇数回目である(ステップ#03:Yes)場合には、図7の第一基準演算周期T01及び第三基準演算周期T03に示すように、制御装置2は、非同期制御モードの処理周期の設定に従い、第一電動機MG1についての処理を優先して各処理を実行する。まず、当該基準演算周期T0の最初に検出された第一電動機MG1の磁極位置θ及び電流検出値Iur、Ivr、Iwrが、A/Dコンバータ67(図1参照)によりデジタルデータに変換されて取り込まれる磁極位置取り込み処理PT1及び電流値取り込み処理IT1が行われる(ステップ#A1)。次に、第一電動機MG1について、三相二相変換処理CT1(ステップ#A2)、電流制御処理IC1(ステップ#A3)、変調率・電圧指令位相導出処理MC1(ステップ#A4)、電圧制御処理VC1(ステップ#A5)が順に実行される。その後、当該基準演算周期T0の最初に検出された第二電動機MG2の磁極位置θが、A/Dコンバータ67によりデジタルデータに変換されて取り込まれる磁極位置取り込み処理PT2が行われる(ステップ#A6)。次に、第二電動機MG2についての電圧制御処理VC2(ステップ#A7)が実行される。この第二電動機MG2についての電圧制御処理VC2では、変調率M及び電圧指令位相θvとしては、一つ前の基準演算周期T0(例えば図7における、第三基準演算周期T03から見た第二基準演算周期T02)に実行された、第二電動機MG2についての変調率・電圧指令位相導出処理MC2の結果がそのまま利用される。
現在の制御モードが非同期制御モードであり(ステップ#02:Yes)、基準演算周期T0が偶数回目である(ステップ#03:No)場合には、図7の第二基準演算周期T02及び第四基準演算周期T04に示すように、制御装置2は、非同期制御モードの処理周期の設定に従い、第二電動機MG2についての処理を優先して各処理を実行する。まず、当該基準演算周期T0の最初に検出された第二電動機MG2の磁極位置θ及び電流検出値Iur、Ivr、Iwrが、A/Dコンバータ67(図1参照)によりデジタルデータに変換されて取り込まれる磁極位置取り込み処理PT2及び電流値取り込み処理IT2が行われる(ステップ#B1)。次に、第二電動機MG2について、三相二相変換処理CT2(ステップ#B2)、電流制御処理IC2(ステップ#B3)、変調率・電圧指令位相導出処理MC2(ステップ#B4)、電圧制御処理VC2(ステップ#B5)が順に実行される。その後、当該基準演算周期T0の最初に検出された第一電動機MG1の磁極位置θが、A/Dコンバータ67によりデジタルデータに変換されて取り込まれる磁極位置取り込み処理PT1が行われる(ステップ#B6)。次に、第一電動機MG1についての電圧制御処理VC1(ステップ#B7)が実行される。この第一電動機MG1についての電圧制御処理VC1では、変調率M及び電圧指令位相θvとしては、一つ前の基準演算周期T0(例えば図7における、第二基準演算周期T02から見た第一基準演算周期T01)に実行された、第一電動機MG1についての変調率・電圧指令位相導出処理MC1の結果がそのまま利用される。
現在の制御モードが同期制御モードであり(ステップ#02:No)、基準演算周期T0が奇数回目である(ステップ#04:Yes)場合には、図8の第一基準演算周期T01及び第三基準演算周期T03に示すように、制御装置2は、同期制御モードの処理周期の設定に従い、第一電動機MG1についての処理を優先して各処理を実行する。まず、当該基準演算周期T0の最初に検出された第一電動機MG1の磁極位置θ及び電流検出値Iur、Ivr、Iwrが、A/Dコンバータ67(図1参照)によりデジタルデータに変換されて取り込まれる磁極位置取り込み処理PT1及び電流値取り込み処理IT1が行われる(ステップ#C1)。次に、第一電動機MG1について、三相二相変換処理CT1(ステップ#C2)、電流平均値演算処理AC1(ステップ#C3)、電流制御処理IC1(ステップ#C4)、変調率・電圧指令位相導出処理MC1(ステップ#C5)、電圧制御処理VC1(ステップ#C6)が順に実行される。ここで、奇数回目の基準演算周期T0における第一電動機MG1についての電流平均値演算処理AC1では、当該電流平均値演算処理AC1が行われる基準演算周期T0及びその一つ前の偶数回目の基準演算周期T0(例えば図8における、第三基準演算周期T03から見た第二基準演算周期T02)のそれぞれにおいて実行された、第一電動機MG1についての2(=N)回分の三相二相変換処理CT1の結果である2(=N)回分の二相の電流検出値Idr、Iqrを用い、平均値を演算する。よって、この後の電流制御処理IC1(ステップ#C4)、変調率・電圧指令位相導出処理MC1(ステップ#C5)、及び電圧制御処理VC1(ステップ#C6)は、この電流平均値に基づいて行われるため、2(=N)回の電流検出処理IS1により検出された2(=N)回分の電流検出値をフィードバックして1回の電圧制御処理VC1が行われることになる。
その後、当該基準演算周期T0の最初に検出された第二電動機MG2の磁極位置θ及び電流検出値Iur、Ivr、Iwrが、A/Dコンバータ67によりデジタルデータに変換されて取り込まれる磁極位置取り込み処理PT2及び電流値取り込み処理IT2が行われる(ステップ#C7)。次に、第二電動機MG2についての三相二相変換処理CT2(ステップ#C8)が実行される。この奇数回目の基準演算周期T0において、第二電動機MG2についての三相二相変換処理CT2により演算された三相二相変換後の二相の電流検出値Idr、Iqrは、次の偶数回目の基準演算周期T0(例えば図8における、第一基準演算周期T01から見た第二基準演算周期T02)における第二電動機MG2についての電流平均値演算処理AC2で平均値を演算する際に用いられる。
現在の制御モードが同期制御モードであり(ステップ#02:No)、基準演算周期T0が偶数回目である(ステップ#04:No)場合には、図8の第二基準演算周期T02及び第四基準演算周期T04に示すように、制御装置2は、同期制御モードの処理周期の設定に従い、第二電動機MG2についての処理を優先して各処理を実行する。まず、当該基準演算周期T0の最初に検出された第二電動機MG2の磁極位置θ及び電流検出値Iur、Ivr、Iwrが、A/Dコンバータ67(図1参照)によりデジタルデータに変換されて取り込まれる磁極位置取り込み処理PT2及び電流値取り込み処理IT2が行われる(ステップ#D1)。次に、第二電動機MG2について、三相二相変換処理CT2(ステップ#D2)、電流平均値演算処理AC2(ステップ#D3)、電流制御処理IC2(ステップ#D4)、変調率・電圧指令位相導出処理MC2(ステップ#D5)、電圧制御処理VC2(ステップ#D6)が順に実行される。ここで、偶数回目の基準演算周期T0における第二電動機MG2についての電流平均値演算処理AC2では、当該電流平均値演算処理AC2が行われる基準演算周期T0及びその一つ前の奇数回目の基準演算周期T0(例えば図8における、第二基準演算周期T02から見た第一基準演算周期T01)のそれぞれにおいて実行された、第二電動機MG2についての2(=N)回分の三相二相変換処理CT2の結果である2(=N)回分の二相の電流検出値Idr、Iqrを用い、平均値を演算する。よって、この後の電流制御処理IC2(ステップ#D4)、変調率・電圧指令位相導出処理MC2(ステップ#D5)、及び電圧制御処理VC2(ステップ#D6)は、この電流平均値に基づいて行われるため、2(=N)回の電流検出処理IS2により検出された2(=N)回分の電流検出値をフィードバックして1回の電圧制御処理VC2が行われることになる。
その後、当該基準演算周期T0の最初に検出された第一電動機MG1の磁極位置θ及び電流検出値Iur、Ivr、Iwrが、A/Dコンバータ67によりデジタルデータに変換されて取り込まれる磁極位置取り込み処理PT1及び電流値取り込み処理IT1が行われる(ステップ#D7)。次に、第一電動機MG1についての三相二相変換処理CT1(ステップ#D8)が実行される。この偶数回目の基準演算周期T0において、第一電動機MG1についての三相二相変換処理CT1により演算された三相二相変換後の二相の電流検出値Idr、Iqrは、次の奇数回目の基準演算周期T0(例えば図8における、第二基準演算周期T02から見た第三基準演算周期T03)における第一電動機MG1についての電流平均値演算処理AC1で平均値を演算する際に用いられる。
以上のように、同期制御モードが選択された場合に、基準演算周期T0毎に行う電流検出処理IS(IS1、IS2)の結果としての電流検出値(ここでは二相の電流検出値Idr、Iqr)の2(=N)回分の平均値を電流平均値演算処理AC(AC1、AC2)により演算し、当該平均値を用いて電流制御処理IC(IC1、IC2)及び電圧制御処理VC(VC1、VC2)を基準演算周期T0の2(=N)倍の周期で行うことになる。従って、電流検出処理IS(IS1、IS2)を基準演算周期T0毎の短い周期で行うのに対して電流制御処理IC(IC1、IC2)及び電圧制御処理VC(VC1、VC2)を基準演算周期T0の2(=N)倍の比較的長い周期で行う場合に、2(=N)回の電流検出処理IS(IS1、IS2)により検出された2(=N)回分の電流検出値を適切にフィードバックして電流制御処理IC(IC1、IC2)及び電圧制御処理VC(VC1、VC2)を行うことができる。従って、電動機MGのロータの回転速度が比較的高く、電流サンプリングのエイリアシングが発生し易い傾向にある同期制御モードにおいて、電流検出処理IS(IS1、IS2)の周期(サンプリング周期)を短くすると共に、当該短い周期で検出された電流検出値を適切に制御に反映して電流サンプリングのエイリアシングの発生を抑えることができる。
また、電流検出処理IS(IS1、IS2)の周期を非同期制御モードの場合よりも短くしたことによってCPUコア62の演算負荷が増加するが、その分、電圧制御処理VC(VC1、VC2)の周期を非同期制御モードに対して2(=N)倍に長くすることにより、電圧制御処理VC(VC1、VC2)に要する演算負荷を軽減し、制御装置2の全体の演算負荷をCPUコア62の処理能力の範囲内に収めている。上記のとおり、同期制御モードでは、非同期制御モードとは異なり、キャリア周期TC毎のスイッチング制御信号の出力は必要ないため、電圧制御処理VC(VC1、VC2)の周期を遅くしても問題は少ない。従って、処理能力が限られたCPUコア62を使用しつつ、電動機MGの回転速度が高くなった場合にも電流サンプリングのエイリアシングの発生を抑えることが可能となっている。
一方、非同期制御モードが選択された場合には、上記のように、電圧制御処理VC(VC1、VC2)を基準演算周期T0毎に行うことにより、基本的にキャリア周期TC毎にスイッチングのオン及びオフの制御信号を出力する当該非同期制御モードの電圧制御処理VC(VC1、VC2)を、短い周期で適切に行うことができる。また、同期制御モードが選択された場合とは反対に、電圧制御処理VC(VC1、VC2)の周期を短くしたことによってCPUコア62の演算負荷が増加するが、電流検出処理IS(IS1、IS2)、及びそれに伴う電流値取り込み処理IT(IT1、IT2)、三相二相変換処理CT(CT1、CT2)、電流制御処理IC(IC1、IC2)、及び変調率・電圧指令位相導出処理MC(MC1、MC2)を、基準演算周期の2(=N)倍の周期で行うことにより演算負荷を軽減し、制御装置2の全体の演算負荷をCPUコア62の処理能力の範囲内に収めている。この際、非同期制御モードが選択されるのは、電動機MGの回転速度が比較的低く、交流電圧指令値Vu、Vv、Vwの周波数に対してキャリアの周波数が十分に高い状態であるため、電流検出処理IS(IS1、IS2)の周期(サンプリング周期)をキャリア周期TCに対してある程度長くしても電流サンプリングのエイリアシングは発生し難い。
2.第二の実施形態
次に、本発明に係る電動機駆動装置1の制御装置2の第二の実施形態について説明する。本実施形態に係る電動機駆動装置1及び制御装置2は、1個の電動機MGのみを制御対象としている点で、2個の電動機MG1、MG2を制御対象とする上記第一の実施形態とは異なる。そのため、図示は省略するが、ハードウエア構成では、電動機駆動装置1がインバータ6、電流センサ7、及び回転センサ8をそれぞれ1個ずつ備えている点で上記第一の実施形態と相違している。また、ソフトウエア構成では、制御装置2が1個の電動機MGを制御するように構成されている点で上記第一の実施形態と相違している。以下では、主な相違点である、制御モードに応じた各部の処理周期、及び電動機制御処理の手順について説明する。なお、特に説明しない点については、基本的に上記第一の実施形態と同様とする。
2−1.制御モードに応じた各部の処理周期
まず、本実施形態に係る、制御モードに応じた制御装置2の各部の処理周期の設定について説明する。本実施形態では、制御装置2は、1個の電動機MGの電流フィードバック制御のための演算処理を単一のCPUコア62により行うように構成されている。従って、制御装置2は、非同期制御モードが選択された場合には、図10に示すように、電圧制御処理VCを基準演算周期T0毎に行うと共に、電流検出処理ISを基準演算周期T0の2(=N)倍の周期で行い、1回の電流検出処理ISにより検出された電流検出値Iur、Ivr、Iwrをフィードバックして2(=N)回の電圧制御処理VCを行う。一方、制御装置2は、同期制御モードが選択された場合には、図11に示すように、電流検出処理ISを基準演算周期T0毎に行うと共に、電圧制御処理VCを基準演算周期T0の2(=N)倍の周期で行い、2(=N)回の電流検出処理ISにより検出された2(=N)回分の電流検出値Iur、Ivr、Iwrをフィードバックして1回の電圧制御処理VCを行う。なお、図10及び図11には、キャリア周期TC及び基準演算周期T0の他に、電流検出処理ISが行われる周期である電流検出周期を「T1」とし、電圧制御処理VCが行われる周期である電圧制御周期を「T2」として示している。
また、制御装置2は、電流検出周期T1及び電圧制御周期T2の周期の切り替えに応じて、他の処理の周期も切り替える。具体的には、上記第一の実施形態と同様に、電流値取り込み処理IT及び三相二相変換処理CTは、電流検出処理ISの後に、当該電流検出処理ISと同じ周期で実行される。すなわち、制御装置2は、非同期制御モードが選択された場合には、図10に示すように、電流値取り込み処理IT及び三相二相変換処理CTを、基準演算周期T0の2(=N)倍の周期で行い、同期制御モードが選択された場合には、図11に示すように、電流値取り込み処理IT及び三相二相変換処理CTを基準演算周期T0毎に行う。
図10及び図11に示すように、磁極位置検出処理PS及び磁極位置取り込み処理PTは、制御モードに関わらず、基準演算周期T0毎に行う。電流平均値演算処理ACは、非同期制御モードでは実行されず、同期制御モードが選択された場合に、基準演算周期T0の2(=N)倍の周期で実行される。また、電流制御処理ICは、制御モードに関わらず、基準演算周期T0の2(=N)倍の周期で行う。但し、電流制御処理ICの内容は、制御モードによって異なり、非同期制御モードでは、単に電流検出処理ISと同じ周期で電流制御処理ICを実行するだけであるが、同期制御モードでは、電流検出処理ISの2(=N)倍の周期で電流制御処理ICを実行し、各回の電流制御処理ICに2(=N)回分の電流検出値Idr、Iqrの平均値を用いる。変調率・電圧指令位相導出処理MCは、制御モードに関わらず、基準演算周期T0の2(=N)倍の周期で行う。すなわち、制御装置2は、変調率・電圧指令位相導出処理MCを、電流制御処理ICの後に、当該電流制御処理ICと同じ周期で実行する。このように、各処理の周期は、基本的に上記第一の実施形態と同様である。
また、本実施形態においても、上記第一の実施形態と同様に、基準演算周期T0の2(=N)倍の周期で行う処理がある。このような処理は、基準演算周期T0の2回に1回行われる。そのため、本実施形態でも、制御装置2は、繰り返し実行される基準演算周期T0が奇数回目であるか偶数回目であるかを監視し、その結果に応じて、例えば、奇数回目に基準演算周期T0の2(=N)倍の周期で行われる処理を実行し、偶数回目にはそのような処理を実行しないようにする。また、制御装置2は、基準演算周期T0毎に毎回行う処理については、奇数回目か偶数回目に関わらず、そのような処理を実行する。
2−2.電動機制御処理の手順
次に、本実施形態に係る電動機制御処理の手順について、図9のフローチャート、並びに図10及び図11のタイムチャートを参照して説明する。本実施形態においても、CPU61による割り込み処理の周期である基準演算周期T0に基づいて、制御装置2の各機能部における演算処理が実行される。また、磁極位置検出処理PSは、制御モードに関わらず、基準演算周期T0毎に毎回実行される。一方、電流検出処理ISは、非同期制御モードが選択された場合には基準演算周期T0の2(=N)倍の周期で実行され、同期制御モードが選択された場合には基準演算周期T0毎に毎回実行される。
図9に示すように、基準演算周期T0毎のCPU61の割り込み処理が実行されると(ステップ#11)、制御装置2は、まず、モード決定部51により決定された現在の制御モードが、非同期制御モードか同期制御モードかの判定を行い(ステップ#12)、次に、繰り返し実行される基準演算周期T0が奇数回目であるか偶数回目であるかの判定を行う(ステップ#13、#14)。
現在の制御モードが非同期制御モードであり(ステップ#12:Yes)、基準演算周期T0が奇数回目である(ステップ#13:Yes)場合には、図10の第一基準演算周期T01及び第三基準演算周期T03に示すように、制御装置2は、非同期制御モードの処理周期の設定に従い、基準演算周期T0の2(=N)倍の周期で行う処理と基準演算周期T0毎に毎回行う処理の双方を実行する。まず、当該基準演算周期T0の最初に検出された電動機MGの磁極位置θ及び電流検出値Iur、Ivr、Iwrが、A/Dコンバータ67(図1参照)によりデジタルデータに変換されて取り込まれる磁極位置取り込み処理PT及び電流値取り込み処理ITが行われる(ステップ#E1)。次に、三相二相変換処理CT(ステップ#E2)、電流制御処理IC(ステップ#E3)、変調率・電圧指令位相導出処理MC(ステップ#E4)、電圧制御処理VC(ステップ#E5)が順に実行される。
現在の制御モードが非同期制御モードであり(ステップ#12:Yes)、基準演算周期T0が偶数回目である(ステップ#13:No)場合には、図10の第二基準演算周期T02及び第四基準演算周期T04に示すように、制御装置2は、非同期制御モードの処理周期の設定に従い、基準演算周期T0毎に毎回行う処理のみを実行する。まず、当該基準演算周期T0の最初に検出された電動機MGの磁極位置θが、A/Dコンバータ67によりデジタルデータに変換されて取り込まれる磁極位置取り込み処理PTが行われる(ステップ#E6)。次に、電圧制御処理VC(ステップ#E5)が実行される。この電圧制御処理VCでは、変調率M及び電圧指令位相θvとしては、一つ前の基準演算周期T0(例えば図10における、第二基準演算周期T02から見た第一基準演算周期T01)に実行された、変調率・電圧指令位相導出処理MCの結果がそのまま利用される。
現在の制御モードが同期制御モードであり(ステップ#12:No)、基準演算周期T0が奇数回目である(ステップ#14:Yes)場合には、図11の第一基準演算周期T01及び第三基準演算周期T03に示すように、制御装置2は、同期制御モードの処理周期の設定に従い、基準演算周期T0の2(=N)倍の周期で行う処理と基準演算周期T0毎に毎回行う処理の双方を実行する。まず、当該基準演算周期T0の最初に検出された電動機MGの磁極位置θ及び電流検出値Iur、Ivr、Iwrが、A/Dコンバータ67(図1参照)によりデジタルデータに変換されて取り込まれる磁極位置取り込み処理PT及び電流値取り込み処理ITが行われる(ステップ#F1)。次に、三相二相変換処理CT(ステップ#F2)、電流平均値演算処理AC(ステップ#F3)、電流制御処理IC(ステップ#F4)、変調率・電圧指令位相導出処理MC(ステップ#F5)、電圧制御処理VC(ステップ#F6)が順に実行される。ここで、奇数回目の基準演算周期T0における電流平均値演算処理ACでは、当該電流平均値演算処理ACが行われる基準演算周期T0及びその一つ前の偶数回目の基準演算周期T0(例えば図11における、第三基準演算周期T03から見た第二基準演算周期T02)のそれぞれにおいて実行された、2(=N)回分の三相二相変換処理CTの結果である2(=N)回分の二相の電流検出値Idr、Iqrを用い、平均値を演算する。よって、この後の電流制御処理IC(ステップ#F4)、変調率・電圧指令位相導出処理MC(ステップ#F5)、及び電圧制御処理VC(ステップ#F6)は、この電流平均値に基づいて行われるため、2(=N)回の電流検出処理ISにより検出された2(=N)回分の電流検出値をフィードバックして1回の電圧制御処理VCが行われることになる。
現在の制御モードが同期制御モードであり(ステップ#12:No)、基準演算周期T0が偶数回目である(ステップ#14:No)場合には、図11の第二基準演算周期T02及び第四基準演算周期T04に示すように、制御装置2は、同期制御モードの処理周期の設定に従い、基準演算周期T0毎に毎回行う処理のみを実行する。まず、当該基準演算周期T0の最初に検出された電動機MGの磁極位置θ及び電流検出値Iur、Ivr、Iwrが、A/Dコンバータ67によりデジタルデータに変換されて取り込まれる磁極位置取り込み処理PT及び電流値取り込み処理ITが行われる(ステップ#F7)。次に、三相二相変換処理CT(ステップ#F8)が実行される。この偶数回目の基準演算周期T0において、三相二相変換処理CTにより演算された三相二相変換後の二相の電流検出値Idr、Iqrは、次の奇数回目の基準演算周期T0(例えば図11における、第二基準演算周期T02から見た第三基準演算周期T03)における電流平均値演算処理ACで平均値を演算する際に用いられる。
以上のような構成とすることにより、本実施形態においても、上記第一の実施形態と同様に、電動機MGのロータの回転速度が比較的高く、電流サンプリングのエイリアシングが発生し易い傾向にある同期制御モードにおいて、電流検出処理ISの周期(サンプリング周期)を短くすると共に、当該短い周期で検出された電流検出値を適切に制御に反映して電流サンプリングのエイリアシングの発生を抑えることができる。また、電流検出処理ISの周期を非同期制御モードの場合よりも短くしたことによってCPUコア62の演算負荷が増加分については、電圧制御処理VCの周期を非同期制御モードに対して2(=N)倍に長くすることにより演算負荷を軽減し、制御装置2の全体の演算負荷をCPUコア62の処理能力の範囲内に収めている。一方、電流検出処理ISの周期(サンプリング周期)をキャリア周期TCに対してある程度長くしても電流サンプリングのエイリアシングは発生し難い非同期制御モードでは、電流検出処理IS及びそれに伴う処理を基準演算周期の2(=N)倍の周期で行うことにより演算負荷を軽減し、その代わりに電圧制御処理VCを基準演算周期T0毎に行うことで、非同期制御モードのPWM制御を適切に実行可能としている。
3.第三の実施形態
次に、本発明に係る電動機駆動装置1の制御装置2の第三の実施形態について説明する。図示は省略するが、本実施形態に係る電動機駆動装置1及び制御装置2は、同期制御モードが選択された場合に電流検出処理IS(IS1、IS2)を基準演算周期T0毎に行ったことにより、基準演算周期T0毎に毎回取得される電流検出値Iur、Ivr、Iwrを電圧制御処理VCにフィードバックするための制御の内容が上記第一の実施形態と相違している。それに伴い、ソフトウエア構成では、電流制御部13が平均値演算部21を備えていない点で上記第一の実施形態と相違している。本実施形態においても、2個の電動機MG1、MG2を制御対象としているため、ハードウエア構成は上記第一の実施形態と同様である。また、本実施形態においては、非同期制御モードにおける各部の処理周期、及び電動機制御処理の手順は、上記第一の実施形態と同じである。従って、本実施形態の説明では、非同期制御モードにおける各部の処理周期を表すタイムチャートとして図7を用いる。以下では、主な相違点である、制御モードに応じた各部の処理周期、及び電動機制御処理の手順について説明する。なお、特に説明しない点については、基本的に上記第一の実施形態と同様とする。
3−1.制御モードに応じた各部の処理周期
まず、本実施形態に係る、制御モードに応じた制御装置2の各部の処理周期の設定について説明する。この制御装置2は、モード決定部51により選択された制御モードが、同期制御モードであるか非同期制御モードであるかに応じて、各部の処理周期の設定を切り替えるように構成されている。本実施形態においては、制御装置2は、電流センサ7(7a、7b)による電流検出処理IS(IS1、IS2)の周期、及び電圧制御部23による電圧制御処理VC(VC1、VC2)の周期に加えて、電流制御部13による電流制御処理IC(IC1、IC2)の周期の設定を、制御モードに応じて切り替える。
ところで、本実施形態では、上記第一の実施形態と同様に、制御装置2は、2(=N)個の電動機MG1、MG2の電流フィードバック制御のための演算処理を単一のCPUコア62により行うように構成されている。従って、制御装置2は、非同期制御モードが選択された場合には、図7に示すように、2(=N)個の電動機MG1、MG2のそれぞれについての電圧制御処理VC(VC1、VC2)を基準演算周期T0毎に同じ基準演算周期T0内で順に行うと共に、2(=N)個の電動機MG1、MG2のそれぞれについての電流検出処理IS(IS1、IS2)を基準演算周期T0の2(=N)倍の周期で互いに異なるタイミングで行い、2(=N)個の電動機MG1、MG2のそれぞれについて1回の電流検出処理IS(IS1、IS2)により検出された電流検出値Iur、Ivr、Iwrをフィードバックして2(=N)回の電圧制御処理VC(VC1、VC2)を行う。一方、制御装置2は、同期制御モードが選択された場合には、図13に示すように、2(=N)個の電動機MG1、MG2のそれぞれについての電流検出処理IS(IS1、IS2)を基準演算周期T0毎に行うと共に、2(=N)個の電動機MG1、MG2のそれぞれについての電圧制御処理VC(VC1、VC2)を基準演算周期T0の2(=N)倍の周期で互いに異なる基準演算周期T0内に行い、2(=N)回の電流検出処理IS(IS1、IS2)により検出された2(=N)回分の電流検出値Iur、Ivr、Iwrをフィードバックして1回の電圧制御処理VC(VC1、VC2)を行う。なお、図13にも、図7及び図8と同様に、電流検出処理IS(IS1、IS2)が行われる周期である電流検出周期について、第一電動機MG1の電流検出周期を「T11」、第二電動機MG2の電流検出周期を「T12」とし、電圧制御処理VC(VC1、VC2)が行われる周期である電圧制御周期について、第一電動機MG1の電圧制御周期を「T21」、第二電動機MG2の電圧制御周期を「T22」として示している。
また、制御装置2は、電流検出周期T1及び電圧制御周期T2の周期の切り替えに応じて、他の処理の周期も切り替える。具体的には、上記第一の実施形態と同様に、2個の電動機MG1、MG2のそれぞれについての電流値取り込み処理IT(IT1、IT2)及び三相二相変換処理CT(CT1、CT2)は、2個の電動機MG1、MG2のそれぞれについての電流検出処理IS(IS1、IS2)の後に、当該電流検出処理IS(IS1、IS2)と同じ周期で実行される。すなわち、制御装置2は、非同期制御モードが選択された場合には、図7に示すように、2個の電動機MG1、MG2のそれぞれについての電流値取り込み処理IT(IT1、IT2)及び三相二相変換処理CT(CT1、CT2)を、基準演算周期T0の2(=N)倍の周期で互いに異なる基準演算周期T0内に行い、同期制御モードが選択された場合には、図13に示すように、2個の電動機MG1、MG2のそれぞれについての電流値取り込み処理IT(IT1、IT2)及び三相二相変換処理CT(CT1、CT2)を基準演算周期T0毎に行う。
更に、本実施形態においては、上記第一の実施形態とは異なり、電流制御処理IC(IC1、IC2)の周期も、電流検出周期T1及び電圧制御周期T2の周期の切り替えに応じて、すなわち制御モードに応じて切り替える。具体的には、2個の電動機MG1、MG2のそれぞれについての電流制御処理IC(IC1、IC2)は、2個の電動機MG1、MG2のそれぞれについての三相二相変換処理CT(CT1、CT2)の後に、電流検出処理IS(IS1、IS2)と同じ周期で実行される。従って、制御装置2は、非同期制御モードが選択された場合には、図7に示すように、2個の電動機MG1、MG2のそれぞれについての電流制御処理IC(IC1、IC2)を、基準演算周期T0の2(=N)倍の周期で互いに異なる基準演算周期T0内に行い、同期制御モードが選択された場合には、図13に示すように、2個の電動機MG1、MG2のそれぞれについての電流制御処理IC(IC1、IC2)を基準演算周期T0毎に行う。
ここで、電流制御処理IC(IC1、IC2)は、上記のとおり、三相二相変換処理CT(CT1、CT2)により三相二相変換された後の二相の電流検出値Idr、Iqrと、二相の電流指令値であるd軸電流指令値Id及びq軸電流指令値Iqとの偏差に基づいて、比例制御及び積分制御を行って第一電圧指令値としての二相の電圧指令値Vd、Vqを決定する処理である。このため、電流制御処理IC(IC1、IC2)により導出される二相の電圧指令値Vd、Vqには、前記積分制御の積分項として、複数回分の電流検出値Idr、Iqrと電流指令値Id、Iqとの偏差の積分値と積分ゲインに応じた値が含まれることになる。同期制御モードが選択された場合には、2回の電流制御処理IC(IC1、IC2)に対して1回の電圧制御処理VC(VC1、VC2)が行われるため、2(=N)回の電流制御処理IC(IC1、IC2)によって積分項に2(=N)回分の電流検出値Idr、Iqrが反映された二相の電圧指令値Vd、Vqに基づいて電圧制御処理VC(VC1、VC2)が実行されることになる。これにより、2(=N)回分の電流検出値Idr、Iqrを適切にフィードバックして電圧制御処理VC(VC1、VC2)を行うことができる。なお、積分期間の設定にもよるが、二相の電圧指令値Vd、Vqに、2(=N)回分以上の電流検出値が反映された状態で、電圧制御処理VC(VC1、VC2)が行われるようにしても好適である。当然ながら、非同期制御モードが選択された場合にも、電流制御処理IC(IC1、IC2)により導出される二相の電圧指令値Vd、Vqの積分項には、複数回分の電流検出値Idr、Iqrが反映される。
図7及び図13に示すように、2個の電動機MG1、MG2のそれぞれについての磁極位置検出処理PS(PS1、PS2)及び磁極位置取り込み処理PT(PT1、PT2)は、制御モードに関わらず、基準演算周期T0毎に行う。2個の電動機MG1、MG2のそれぞれについての変調率・電圧指令位相導出処理MC(MC1、MC2)は、制御モードに関わらず、基準演算周期T0の2(=N)倍の周期で互いに異なる基準演算周期T0内に行う。同期制御モードが選択された場合には、2回の電流制御処理IC(IC1、IC2)に対して1回の変調率・電圧指令位相導出処理MC(MC1、MC2)が行われるため、積分項に2(=N)回分の電流検出値Idr、Iqrが反映された二相の電圧指令値Vd、Vqに基づいて変調率・電圧指令位相導出処理MC(MC1、MC2)が実行され、変調率M及び電圧指令位相θvが導出されることになる。そして、このような変調率M及び電圧指令位相θvに基づいて電圧制御処理VC(VC1、VC2)が行われることにより、上記のように、積分項に2(=N)回分の電流検出値Idr、Iqrが反映された二相の電圧指令値Vd、Vqに基づいて電圧制御処理VC(VC1、VC2)が実行されることになる。
以上に説明したように、本実施形態では、同期制御モードが選択された場合には、2(=N)個の電動機MG1、MG2のそれぞれについて、変調率・電圧指令位相導出処理MC(MC1、MC2)が、電圧制御処理VC(VC1、VC2)と共に基準演算周期T0の2(=N)倍の周期で行われる。また、非同期制御モードが選択された場合には、2(=N)個の電動機MG1、MG2のそれぞれについて、電流値取り込み処理IT(IT1、IT2)、三相二相変換処理CT(CT1、CT2)、電流制御処理IC(IC1、IC2)、及び変調率・電圧指令位相導出処理MC(MC1、MC2)が、電流検出処理IS(IS1、IS2)と共に基準演算周期T0の2(=N)倍の周期で行われる。そして、このように2(=N)個の電動機MG1、MG2のそれぞれについて基準演算周期T0の2(=N)倍の周期で互いに異なるタイミング又は基準演算周期T0内で行われる処理は、図7及び図13に示すように、基準演算周期T0毎に交互に行われる。そのため、本実施形態では、制御装置2は、繰り返し実行される基準演算周期T0が奇数回目であるか偶数回目であるかを監視し、その結果に応じて、例えば、奇数回目に第一電動機MG1についての処理を実行し、偶数回目に第二電動機MG2についての処理を実行する。このとき、第一電動機MG1についての処理の周期と、第二電動機MG2についての処理の周期とは、当該処理の周期の1/2(ここでは基準演算周期T0に等しい)だけずれている。また、制御装置2は、基準演算周期T0毎に毎回行う処理については、奇数回目は第一電動機MG1についての処理を先に実行した後で第二電動機MG2についての処理を実行し、偶数回目は第二電動機MG2についての処理を先に実行した後で第一電動機MG1についての処理を実行する。なお、当然ながら、奇数回目又は偶数回目のそれぞれの基準演算周期T0において、2つの電動機MG1、MG2のいずれについての処理を実行するかは、適宜設定変更が可能である。
3−2.電動機制御処理の手順
次に、本実施形態に係る電動機制御処理の手順について、図12のフローチャート、並びに図7及び図13のタイムチャートを参照して説明する。本実施形態においても、CPU61による割り込み処理の周期である基準演算周期T0に基づいて、制御装置2の各機能部における演算処理が実行される。また、磁極位置検出処理PSは、制御モードに関わらず、基準演算周期T0毎に毎回実行される。一方、電流検出処理ISは、非同期制御モードが選択された場合には基準演算周期T0の2(=N)倍の周期で互いに異なるタイミングで実行され、同期制御モードが選択された場合には基準演算周期T0毎に毎回実行される。
図12に示すように、基準演算周期T0毎のCPU61の割り込み処理が実行されると(ステップ#21)、制御装置2は、まず、モード決定部51により決定された現在の制御モードが、非同期制御モードか同期制御モードかの判定を行い(ステップ#22)、次に、繰り返し実行される基準演算周期T0が奇数回目であるか偶数回目であるかの判定を行う(ステップ#23、#24)。現在の制御モードが非同期制御モードである場合(ステップ#22:Yes)における各部の処理周期、及び電動機制御処理の手順は、上記第一の実施形態と同じである。従って、図12のフローチャートにおけるステップ#G1〜#G7及びステップ#H1〜#H7の処理は、上記第一の実施形態に係る図6のステップ#A1〜#A7及びステップ#B1〜#B7の処理と同じであり、非同期制御モードでのタイムチャートは上記第一の実施形態に係る図7に示すタイムチャートと同じである。よって、本実施形態に係る非同期制御モードに関する説明は、上記第一の実施形態と同じになるため省略する。
現在の制御モードが同期制御モードであり(ステップ#22:No)、基準演算周期T0が奇数回目である(ステップ#24:Yes)場合には、図13の第一基準演算周期T01及び第三基準演算周期T03に示すように、制御装置2は、同期制御モードの処理周期の設定に従い、第一電動機MG1についての処理を優先して各処理を実行する。まず、当該基準演算周期T0の最初に検出された第一電動機MG1の磁極位置θ及び電流検出値Iur、Ivr、Iwrが、A/Dコンバータ67(図1参照)によりデジタルデータに変換されて取り込まれる磁極位置取り込み処理PT1及び電流値取り込み処理IT1が行われる(ステップ#I1)。次に、第一電動機MG1について、三相二相変換処理CT1(ステップ#I2)、電流制御処理IC1(ステップ#I3)、変調率・電圧指令位相導出処理MC1(ステップ#I4)、電圧制御処理VC1(ステップ#I5)が順に実行される。ここで、奇数回目の基準演算周期T0における第一電動機MG1についての電圧制御処理VC1では、当該電圧制御処理VC1が行われる基準演算周期T0及びその一つ前の偶数回目の基準演算周期T0(例えば図13における、第三基準演算周期T03から見た第二基準演算周期T02)のそれぞれにおいて実行された、第一電動機MG1についての2(=N)回分の電流制御処理IC1によって積分項に2(=N)回分の電流検出値Idr、Iqrが反映された二相の電圧指令値Vd、Vqに基づいて電圧制御処理VC2が実行されることになる。これにより、2(=N)回分の電流検出値Idr、Iqrをフィードバックして1回の電圧制御処理VC1が行われることになる。
その後、当該基準演算周期T0の最初に検出された第二電動機MG2の磁極位置θ及び電流検出値Iur、Ivr、Iwrが、A/Dコンバータ67によりデジタルデータに変換されて取り込まれる磁極位置取り込み処理PT2及び電流値取り込み処理IT2が行われる(ステップ#I6)。次に、第二電動機MG2について、三相二相変換処理CT2(ステップ#I7)、電流制御処理IC2(ステップ#I8)が順に実行される。この奇数回目の基準演算周期T0において実行された第二電動機MG2についての電流制御処理IC2は、当該奇数回目の基準演算周期T0の最初に検出された第二電動機MG2の電流検出値Iur、Ivr、Iwrを、電流制御処理IC2の結果としての電圧指令値Vd、Vqの積分項に反映させるために行われる。
現在の制御モードが同期制御モードであり(ステップ#22:No)、基準演算周期T0が偶数回目である(ステップ#24:No)場合には、図13の第二基準演算周期T02及び第四基準演算周期T04に示すように、制御装置2は、同期制御モードの処理周期の設定に従い、第二電動機MG2についての処理を優先して各処理を実行する。まず、当該基準演算周期T0の最初に検出された第二電動機MG2の磁極位置θ及び電流検出値Iur、Ivr、Iwrが、A/Dコンバータ67(図1参照)によりデジタルデータに変換されて取り込まれる磁極位置取り込み処理PT2及び電流値取り込み処理IT2が行われる(ステップ#J1)。次に、第二電動機MG2について、三相二相変換処理CT2(ステップ#J2)、電流制御処理IC2(ステップ#J3)、変調率・電圧指令位相導出処理MC2(ステップ#J4)、電圧制御処理VC2(ステップ#J5)が順に実行される。ここで、偶数回目の基準演算周期T0における第二電動機MG2についての電圧制御処理VC2では、当該電圧制御処理VC2が行われる基準演算周期T0及びその一つ前の奇数回目の基準演算周期T0(例えば図13における、第二基準演算周期T02から見た第一基準演算周期T01)のそれぞれにおいて実行された、第二電動機MG2についての2(=N)回分の電流制御処理IC2によって積分項に2(=N)回分の電流検出値Idr、Iqrが反映された二相の電圧指令値Vd、Vqに基づいて電圧制御処理VC2が実行されることになる。これにより、2(=N)回分の電流検出値Idr、Iqrをフィードバックして1回の電圧制御処理VC2が行われることになる。
その後、当該基準演算周期T0の最初に検出された第一電動機MG1の磁極位置θ及び電流検出値Iur、Ivr、Iwrが、A/Dコンバータ67によりデジタルデータに変換されて取り込まれる磁極位置取り込み処理PT1及び電流値取り込み処理IT1が行われる(ステップ#J6)。次に、第一電動機MG1について、三相二相変換処理CT1(ステップ#J7)、電流制御処理IC1(ステップ#J8)が順に実行される。この偶数回目の基準演算周期T0において実行された第一電動機MG1についての電流制御処理IC1は、当該偶数回目の基準演算周期T0の最初に検出された第一電動機MG1の電流検出値Iur、Ivr、Iwrを、電流制御処理IC1の結果としての電圧指令値Vd、Vqの積分項に反映させるために行われる。
以上のように、同期制御モードが選択された場合に、2(=N)回の電流制御処理IC(IC1、IC2)によって積分項に2(=N)回分の電流検出値Idr、Iqrが反映された二相の電圧指令値Vd、Vqに基づいて電圧制御処理VC(VC1、VC2)が実行されることになる。従って、電流検出処理IS(IS1、IS2)を基準演算周期T0毎の短い周期で行うのに対して電圧制御処理VC(VC1、VC2)を基準演算周期T0の2(=N)倍の比較的長い周期で行う場合に、2(=N)回の電流検出処理IS(IS1、IS2)により検出された2(=N)回分の電流検出値を適切にフィードバックして電圧制御処理VC(VC1、VC2)を行うことができる。従って、電動機MGのロータの回転速度が比較的高く、電流サンプリングのエイリアシングが発生し易い傾向にある同期制御モードにおいて、電流検出処理IS(IS1、IS2)の周期(サンプリング周期)を短くすると共に、当該短い周期で検出された電流検出値を適切に制御に反映して電流サンプリングのエイリアシングの発生を抑えることができる。
また、電流検出処理IS(IS1、IS2)及び電流制御処理IC(IC1、IC2)の周期を非同期制御モードの場合よりも短くしたことによってCPUコア62の演算負荷が増加するが、その分、電圧制御処理VC(VC1、VC2)の周期を非同期制御モードに対して2(=N)倍に長くすることにより、電圧制御処理VC(VC1、VC2)に要する演算負荷を軽減し、制御装置2の全体の演算負荷をCPUコア62の処理能力の範囲内に収めている。従って、処理能力が限られたCPUコア62を使用しつつ、電動機MGの回転速度が高くなった場合にも電流サンプリングのエイリアシングの発生を抑えることが可能となっている。
4.第四の実施形態
次に、本発明に係る電動機駆動装置1の制御装置2の第四の実施形態について説明する。本実施形態に係る制御装置2の構成は、基本的に上記第三の実施形態に近いが、1個の電動機MGのみを制御対象としている点で、上記第三の実施形態とは異なる。そのため、図示は省略するが、ハードウエア構成では、電動機駆動装置1がインバータ6、電流センサ7、及び回転センサ8をそれぞれ1個ずつ備えている点で上記第三の実施形態と相違している。また、ソフトウエア構成では、制御装置2が1個の電動機MGを制御するように構成されている点で上記第三の実施形態と相違している。なお、本実施形態においては、非同期制御モードにおける各部の処理周期、及び電動機制御処理の手順は、上記第二の実施形態と同じである。従って、本実施形態の説明では、非同期制御モードにおける各部の処理周期を表すタイムチャートとして図10を用いる。以下では、主な相違点である、制御モードに応じた各部の処理周期、及び電動機制御処理の手順について説明する。なお、特に説明しない点については、基本的に上記第三の実施形態と同様とする。
4−1.制御モードに応じた各部の処理周期
まず、本実施形態に係る、制御モードに応じた制御装置2の各部の処理周期の設定について説明する。本実施形態では、制御装置2は、1個の電動機MGの電流フィードバック制御のための演算処理を単一のCPUコア62により行うように構成されている。従って、制御装置2は、非同期制御モードが選択された場合には、図10に示すように、電圧制御処理VCを基準演算周期T0毎に行うと共に、電流検出処理ISを基準演算周期T0の2(=N)倍の周期で行い、1回の電流検出処理ISにより検出された電流検出値Iur、Ivr、Iwrをフィードバックして2(=N)回の電圧制御処理VCを行う。一方、制御装置2は、同期制御モードが選択された場合には、図15に示すように、電流検出処理ISを基準演算周期T0毎に行うと共に、電圧制御処理VCを基準演算周期T0の2(=N)倍の周期で行い、2(=N)回の電流検出処理ISにより検出された2(=N)回分の電流検出値Iur、Ivr、Iwrをフィードバックして1回の電圧制御処理VCを行う。なお、図10及び図15には、キャリア周期TC及び基準演算周期T0の他に、電流検出処理ISが行われる周期である電流検出周期を「T1」とし、電圧制御処理VCが行われる周期である電圧制御周期を「T2」として示している。
また、制御装置2は、電流検出周期T1及び電圧制御周期T2の周期の切り替えに応じて、他の処理の周期も切り替える。具体的には、上記第三の実施形態と同様に、電流値取り込み処理IT及び三相二相変換処理CTは、電流検出処理ISの後に、当該電流検出処理ISと同じ周期で実行される。すなわち、制御装置2は、非同期制御モードが選択された場合には、図10に示すように、電流値取り込み処理IT及び三相二相変換処理CTを、基準演算周期T0の2(=N)倍の周期で行い、同期制御モードが選択された場合には、図15に示すように、電流値取り込み処理IT及び三相二相変換処理CTを基準演算周期T0毎に行う。
更に、上記第三の実施形態と同様に、電流制御処理ICの周期も、電流検出周期T1及び電圧制御周期T2の周期の切り替えに応じて、すなわち制御モードに応じて切り替える。具体的には、電流制御処理ICは、三相二相変換処理CTの後に、電流検出処理ISと同じ周期で実行される。従って、制御装置2は、非同期制御モードが選択された場合には、図10に示すように、電流制御処理ICを、基準演算周期T0の2(=N)倍の周期で行い、同期制御モードが選択された場合には、図15に示すように、電流制御処理ICを基準演算周期T0毎に行う。ここで、電流制御処理ICにより導出される二相の電圧指令値Vd、Vqには、前記積分制御の積分項として、複数回分の電流検出値Idr、Iqrと電流指令値Id、Iqとの偏差の積分値と積分ゲインに応じた値が含まれる。同期制御モードが選択された場合には、2回の電流制御処理ICに対して1回の電圧制御処理VCが行われるため、2(=N)回の電流制御処理ICによって積分項に2(=N)回分の電流検出値Idr、Iqrが反映された二相の電圧指令値Vd、Vqに基づいて電圧制御処理VCが実行されることになる。これにより、2(=N)回分の電流検出値Idr、Iqrを適切にフィードバックして電圧制御処理VCを行うことができる。この点は、上記第三の実施形態と同様である。
図10及び図15に示すように、磁極位置検出処理PS及び磁極位置取り込み処理PTは、制御モードに関わらず、基準演算周期T0毎に行う。変調率・電圧指令位相導出処理MCは、制御モードに関わらず、基準演算周期T0の2(=N)倍の周期で行う。このように、各処理の周期は、基本的に上記第一の実施形態と同様である。
また、本実施形態においても、上記第三の実施形態と同様に、基準演算周期T0の2(=N)倍の周期で行う処理がある。このような処理は、基準演算周期T0の2回に1回行われる。そのため、本実施形態でも、制御装置2は、繰り返し実行される基準演算周期T0が奇数回目であるか偶数回目であるかを監視し、その結果に応じて、例えば、奇数回目に基準演算周期T0の2(=N)倍の周期で行われる処理を実行し、偶数回目にはそのような処理を実行しないようにする。また、制御装置2は、基準演算周期T0毎に毎回行う処理については、奇数回目か偶数回目に関わらず、そのような処理を実行する。
4−2.電動機制御処理の手順
次に、本実施形態に係る電動機制御処理の手順について、図14のフローチャート、並びに図10及び図15のタイムチャートを参照して説明する。本実施形態においても、CPU61による割り込み処理の周期である基準演算周期T0に基づいて、制御装置2の各機能部における演算処理が実行される。また、磁極位置検出処理PSは、制御モードに関わらず、基準演算周期T0毎に毎回実行される。一方、電流検出処理ISは、非同期制御モードが選択された場合には基準演算周期T0の2(=N)倍の周期で実行され、同期制御モードが選択された場合には基準演算周期T0毎に毎回実行される。
図14に示すように、基準演算周期T0毎のCPU61の割り込み処理が実行されると(ステップ#31)、制御装置2は、まず、モード決定部51により決定された現在の制御モードが、非同期制御モードか同期制御モードかの判定を行い(ステップ#32)、次に、繰り返し実行される基準演算周期T0が奇数回目であるか偶数回目であるかの判定を行う(ステップ#33、#34)。現在の制御モードが非同期制御モードである場合(ステップ#32:Yes)における各部の処理周期、及び電動機制御処理の手順は、上記第二の実施形態と同じである。従って、図14のフローチャートにおけるステップ#K1〜#K6の処理は、上記第二の実施形態に係る図9のステップ#E1〜#E6の処理と同じであり、非同期制御モードでのタイムチャートは上記第二の実施形態に係る図10に示すタイムチャートと同じである。よって、本実施形態に係る非同期制御モードに関する説明は、上記第二の実施形態と同じになるため省略する。
現在の制御モードが同期制御モードであり(ステップ#32:No)、基準演算周期T0が奇数回目である(ステップ#34:Yes)場合には、図15の第一基準演算周期T01及び第三基準演算周期T03に示すように、制御装置2は、同期制御モードの処理周期の設定に従い、基準演算周期T0の2(=N)倍の周期で行う処理と基準演算周期T0毎に毎回行う処理の双方を実行する。まず、当該基準演算周期T0の最初に検出された電動機MGの磁極位置θ及び電流検出値Iur、Ivr、Iwrが、A/Dコンバータ67(図1参照)によりデジタルデータに変換されて取り込まれる磁極位置取り込み処理PT及び電流値取り込み処理ITが行われる(ステップ#L1)。次に、三相二相変換処理CT(ステップ#L2)、電流制御処理IC(ステップ#L3)、変調率・電圧指令位相導出処理MC(ステップ#L4)、電圧制御処理VC(ステップ#L5)が順に実行される。ここで、奇数回目の基準演算周期T0における電動機MGについての電圧制御処理VCでは、当該電圧制御処理VCが行われる基準演算周期T0及びその一つ前の偶数回目の基準演算周期T0(例えば図15における、第三基準演算周期T03から見た第二基準演算周期T02)のそれぞれにおいて実行された、2(=N)回分の電流制御処理ICによって積分項に2(=N)回分の電流検出値Idr、Iqrが反映された二相の電圧指令値Vd、Vqに基づいて電圧制御処理VC2が実行されることになる。これにより、2(=N)回分の電流検出値Idr、Iqrをフィードバックして1回の電圧制御処理VCが行われることになる。
現在の制御モードが同期制御モードであり(ステップ#32:No)、基準演算周期T0が偶数回目である(ステップ#34:No)場合には、図15の第二基準演算周期T02及び第四基準演算周期T04に示すように、制御装置2は、同期制御モードの処理周期の設定に従い、基準演算周期T0毎に毎回行う処理のみを実行する。まず、当該基準演算周期T0の最初に検出された電動機MGの磁極位置θ及び電流検出値Iur、Ivr、Iwrが、A/Dコンバータ67(図1参照)によりデジタルデータに変換されて取り込まれる磁極位置取り込み処理PT及び電流値取り込み処理ITが行われる(ステップ#L6)。次に、三相二相変換処理CT(ステップ#L7)、電流制御処理IC(ステップ#L8)が順に実行される。この偶数回目の基準演算周期T0において実行された電流制御処理ICは、当該偶数回目の基準演算周期T0の最初に検出された電流検出値Iur、Ivr、Iwrを、電流制御処理ICの結果としての電圧指令値Vd、Vqの積分項に反映させるために行われる。
以上のような構成とすることにより、本実施形態においても、上記第三の実施形態と同様に、電動機MGのロータの回転速度が比較的高く、電流サンプリングのエイリアシングが発生し易い傾向にある同期制御モードにおいて、電流検出処理ISの周期(サンプリング周期)を短くすると共に、当該短い周期で検出された電流検出値を適切に制御に反映して電流サンプリングのエイリアシングの発生を抑えることができる。また、電流検出処理ISの周期を非同期制御モードの場合よりも短くしたことによってCPUコア62の演算負荷の増加分については、電圧制御処理VCの周期を非同期制御モードに対して2(=N)倍に長くすることにより演算負荷を軽減し、制御装置2の全体の演算負荷をCPUコア62の処理能力の範囲内に収めている。
5.その他の実施形態
(1)上記の各実施形態においては、モード決定部51が、同期制御モードとして矩形波制御を行わせる第三制御モードが選択可能であり、非同期制御モードとして正弦波PWM制御を行わせる第一制御モード又は過変調PWM制御を行わせる第二制御モードが選択可能である場合を例として説明した。しかし、本発明の実施形態はこれに限定されない。例えば、同期制御モードとしては、各スイッチング素子のオン及びオフが電気角1周期につき1回ずつ行われ、電気角半周期につき1回のパルスが出力される矩形波制御(1パルス制御)以外にも、スイッチング素子のオン及びオフが電気角1周期につきM回(Mは2以上の整数)ずつ行われるMパルス制御(例えば、3パルス制御や5パルス制御)も含まれる。Mパルス制御は、電気角半周期につきM回のパルスが出力される制御であり、各パルスの幅は電気角の位相に応じて予め定められている。但し、電気角半周期内に出力されるM個のパルスの幅は、互いに異なるように設定してもよいし、同じに設定してもよい。モード決定部51が、これらの複数の同期制御モードの中から一つを選択する構成としても好適である。また、非同期制御モードとしては、電動機MGの電気角の周期とインバータ6のスイッチング周期とを同期させず、インバータ6のスイッチング制御信号Pu、Nu、Pv、Nv、Pw、Nwをキャリアに基づいて生成する各種の制御モードが含まれる。このような非同期制御モードとしては、正弦波PWM制御や過変調PWM制御以外にも、例えば、二相変調PWM制御や空間ベクトルPWM制御等の各種PWM制御が含まれる。また、PWM制御以外の制御方式であっても、電動機MGの電気角の周期とインバータ6のスイッチング周期とを同期させない制御方式であれば、本発明における非同期制御モードに含まれる。
(2)上記の各実施形態では、本発明における「N」が2である場合であって、基準演算周期T0より長い処理の周期が基準演算周期T0の2倍である場合を例として説明した。しかし、本発明の実施形態はこれに限定されるものではなく、Nが3、4、5等のように、2より大きい整数に設定されることも、本発明の好適な実施形態の一つである。例えば、Nが4に設定された場合、制御装置2は、同期制御モードでは、電流検出処理ISを基準演算周期T0毎に行うと共に、電圧制御処理VCを基準演算周期T0の4倍の周期で行い、4回の電流検出処理ISにより検出された4回分の電流検出値をフィードバックして1回の電圧制御処理VCを行う。また、制御装置2は、非同期制御モードでは、電圧制御処理VCを基準演算周期T0毎に行うと共に、電流検出処理ISを基準演算周期T0の4倍の周期で行い、1回の電流検出処理ISにより検出された電流検出値をフィードバックして4回の電圧制御処理VCを行う。
(3)上記の各実施形態では、制御対象としての交流電動機MGが1個又は2個の場合を例として説明した。しかし、本発明の実施形態はこれらに限定されるものではなく、制御装置2が、3個、4個等のように、2個より多い交流電動機MGを制御する構成とすることも、本発明の好適な実施形態の一つである。いずれにしても、電動機駆動装置1は、複数の交流電動機MGのそれぞれを駆動制御する複数のインバータ6を備え、制御装置2は、これら複数のインバータ6を制御することにより、複数の交流電動機MGを制御するように構成される。ここで、交流電動機MGの数は、基準演算周期T0より長い処理の周期を定める本発明の「N」と同数であることが好ましいが、これと異なる数とすることも可能である。
(4)上記の各実施形態においては、電動車両やハイブリッド車両等の駆動力源として用いられる電動機MGを制御対象とする電動機駆動装置1の制御装置2に、本発明を適用した場合を例として説明した。しかし、本発明の適用範囲はこれに限定されない。すなわち、交流電動機を制御対象とするあらゆる装置や機器を制御するために、本発明を適用することが可能である。