以下、添付図面を参照しつつ本発明を実施するための実施形態について説明する。
図1は、モータ制御装置の一例を適用した電動パワーステアリングの例を示す。
電動パワーステアリング装置1は、車両2に設けられており、操舵補助力を発生させる装置である。より詳細には、電動パワーステアリング装置1は、操舵部材であるステアリングホイール10、ステアリングコラム12、電動モータ14及びその駆動を制御するモータ制御システム16などを含む。
ステアリングコラム12には、ステアリングシャフト18、操舵トルクセンサ20、舵角センサ22及び減速機24が内包されている。ステアリングシャフト18は、ステアリングホイール10に接続されている。操舵トルクセンサ20は、ステアリングシャフト18に発生する操舵トルクを検出する。舵角センサ22は、ステアリングホイール10の切れ角(舵角)を検出する。減速機24は、電動モータ14の回転を減速してステアリングシャフト18に伝達する。
ステアリングシャフト18の先端には、ラックシャフト26に係合するピニオンギア28が設けられている。ラックシャフト26の両端には、それぞれ車輪30の操舵機構32が設けられている。ピニオンギア28が回転すると、ラックシャフト26が車両2の進行方向に対して左右に移動する。これにより車輪30の向きが変化する。
電動モータ14(以下、単に「モータ14」という)は、例えば、三相ブラシレスモータであり、複数の相に対応する(複数相の)巻線(コイル)を有する巻線組を複数備えている。尚、モータ14の構造の詳細については後述する。
モータ制御システム16は、プロセッサ100A、不揮発性メモリ100B、揮発性メモリ100C、入出力回路100D及びこれらを相互に接続するバス100Eを含むマイクロコンピュータを内蔵する電子制御ユニット(ECU)100、モータ14を駆動するためのインバータ200、及び、その駆動回路300などを備えている。
プロセッサ100Aは、ソフトウエアプログラムに記述された命令セットを実行することで各種制御プログラムを実行するハードウエアであって、例えば、CPU(Central Processing Unit)などからなる。
不揮発性メモリ100Bは、制御プログラムなどが格納されると共に各種データを保存可能な半導体メモリであって、例えば、EEPROM(Electrical Erasable Programmable Read Only Memory)及びフラッシュROM(Read Only Memory)などで構成されている。
揮発性メモリ100Cは、一時的な記憶領域となる半導体メモリであって、例えば、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)などで構成されている。
入出力回路100Dは、各種センサなどからアナログ信号又はデジタル信号を読み込むと共に駆動回路300などにアナログ信号又はデジタル信号を出力するデバイスであって、例えば、A/Dコンバータ、D/Dコンバータなどで構成されている。
そして、車両2の運転者がステアリング操作を行う際、ECU100には、操舵トルクセンサ20が検出した操舵トルクに相当する信号ST及び舵角センサ22が検出した舵角に相当する信号SAが出力される。これらに加えて、ECU100には、車両2に設けられた車速センサ34が検出した車速に相当する信号VSPなどが出力される。
ECU100は、操舵トルク信号ST、舵角信号SA及び車速信号VSPなどの車両2の運転状態に基づいてモータ14への通電を制御する。これにより、モータ14の発生トルク、つまり、電動パワーステアリング装置1の操舵補助力(アシスト)を制御する。
以下、モータ14の構造の一例について図2~図7を参照して説明する。図2は、モータ14の一例を示す断面図である。モータ14は、2つの巻線組14A、14Bを含むステータ140と、ロータ142と、これらを収容する略円筒状のハウジング144とを含む。ステータ140は、略円筒状に形成されている。ロータ142は、複数の永久磁石が埋め込まれた永久磁石回転子である。また、ロータ142には、減速機24に回転力を伝達するための出力シャフト146が取り付けられている。出力シャフト146は、ハウジング144の一端部から突出しており、複数(例えば、2個)のベアリングを介してハウジング144に回転可能に支持されている。これにより、ロータ142がステータ140の略中央で回転可能となっている。ハウジング144の他端部からは複数のリード線148が延出している。
図3は、ステータ140の一例を示す斜視図である。ステータ140は、第1巻線組14A、第2巻線組14Bに加えてステータコア14Cを含む。第1巻線組14Aは、U相巻線14A1、V相巻線14A2及びW相巻線14A3を有する三相巻線組である。第2巻線組14Bも、U相巻線14B1、V相巻線14B2及びW相巻線14B3を有する三相巻線組である。ステータコア14Cは、略円筒状に形成され、その内周面からロータ142に向かって延びる複数のティース14C1が形成されている。第1巻線組14A及び第2巻線組14Bは、隣り合うティース14C1によって形成される複数のスロットに配置されている。第1巻線組14Aは、スロットのロータ142側(以下、単に「内周側」という)に配置され、第2巻線組14Bはスロットにおいて第1巻線組14Aよりも外周側に配置されている。以下、第1巻線組14Aを構成するU、V、W相巻線を「U1、V1、W1相巻線」といい、第2巻線組14Bを構成するU、V、W相巻線を「U2、V2、W2相巻線」という。
リード線148は、ステータコア14Cの軸方向上側(つまり、ハウジング144の出力シャフト146が突出している側とは反対側)に配置された各巻線組14A、14Bのコイルエンド部から引き出されている。リード線148は、6本の入力線148A1、148A2、148A3、148B1、148B2、148B3と、6本の中性線148A4、148A5、148A6、148B4、148B5、148B6と、で構成されている。
より詳細には、入力線148A1及び中性線148A4は、それぞれ、U1相巻線14A1の入力線及び中性線に対応している。入力線148A2及び中性線148A5は、それぞれ、V1相巻線14A2の入力線及び中性線に対応している。入力線148A3及び中性線148A6は、それぞれ、W1相巻線14A3の入力線及び中性線に対応している。入力線148B1及び中性線148B4は、それぞれ、U2相巻線14B1の入力線及び中性線に対応している。入力線148B2及び中性線148B5は、それぞれ、V2相巻線14B2の入力線及び中性線に対応している。入力線148B3及び中性線148B6は、それぞれ、W2相巻線14B3の入力線及び中性線に対応している。
第1巻線組14Aのコイルエンド部と第2巻線組14Bのコイルエンド部との間には、巻線組間の短絡を抑制するための略円筒状のコイルエンド絶縁部材14Dが設けられている。尚、図示はしていないが、ステータコア14Cの軸方向下側(つまり、ハウジング144の出力シャフト146突出側)のコイルエンド部間にも同様にコイル絶縁部材が設けられている。
ステータコア14Cの軸方向上側の各巻線組14A、14Bのコイルエンド部には、6本の渡り線14E1、14E2、14E3、14F1、14F2、14F3が設けられている。渡り線14E1、14E2、14E3、14F1、14F2、14F3は、それぞれ、詳細を後述する三相巻線14A1、14A2、14A3、14B1、14B2、14B3のそれぞれを構成する複数のセグメントコイルの一部を接続するためのものである。
モータ14は、第1巻線組14A及び第2巻線組14Bのそれぞれを構成する三相巻線14A1~14A3、14B1~14B3が複数のティース14C1に跨って巻かれた分布巻のモータである。また、各三相巻線14A1~14A3、14B1~14B3は、複数のセグメントコイルを波形状に直列接続した波巻構造を有する。
以下、モータ14が、例えば、10極60スロットのモータである場合について説明する。すなわち、ステータコア14Cには、60個のティース14C1が設けられており、隣り合うティース14C1で構成されるスロットが60個設けられている。図4は、ステータ140をその中央から視た展開図であり、スロットに挿入されたU1相巻線14A1の一例を示す模式図である。ここで、図4において、No.1、No.2・・・No.56、No.60などは、ステータコア14Cの周方向に配置されたスロットの番号を示している。尚、スロット番号はステータコア14Cの軸方向上側から視て、例えば、時計回りに大きくなるものとする。また、図4の上側はステータコア14Cの軸方向上側であり、図4の下側はステータコア14Cの軸方向下側である。
U1相巻線14A1は、説明の便宜を図るため、第1の周回コイル、第2の周回コイル、第3の周回コイル及び第4の周回コイルで構成されるものとする。第1~第2の周回コイルは、それぞれステータコア14Cの周方向に延びると共に所望のスロットにステータコア14Cの軸方向上側から軸方向下側に向かって挿入された複数のセグメントコイルで形成されている。尚、図4において、第1の周回コイル及び第2の周回コイルは実線で示され、第3の周回コイル及び第4の周回コイルは破線で示されている。
第1の周回コイルは、例えば、5個のセグメントコイル(第1~第5のセグメントコイル401~405)で形成されている。
第1のセグメントコイル401の一端は、入力線148A1に接続されている。第1のセグメントコイル401の他端はスロットNo.2に挿入された後、軸方向下側で時計回りの方向(図4では右方向)に折り曲げられている。
第2~第5のセグメントコイル402~405の一端は、それぞれ、スロットNo.8、No.20、No.32、No.44に挿入された後、軸方向下側で反時計回りの方向(図4では左方向)に折り曲げられている。第2~第5のセグメントコイル402~405の他端は、それぞれ、スロットNo.14、No.26、No.38、No.50に挿入された後、軸方向下側で時計回りの方向に折り曲げられている。
第2~第5のセグメントコイル402~405は、軸方向下側で向かい合う端部同士を、例えば、溶接することによって接続される。一例を挙げると、第3のセグメントコイル403の一端は、第2のセグメントコイル402の他端に接続される(図4に示す接続部500A)。また、第3のセグメントコイル403の他端は、第4のセグメントコイル404の一端に接続される(図4に示す接続部500B)。また、第1のセグメントコイル401の他端は、例えば、溶接によって第2のセグメントコイル402の一端に接続される(図4に示す接続部500C)。これにより、複数のスロット分(図4では5スロット分)の間隔をあけて配置された波形状の第1の周回コイルが形成される。
第2の周回コイルは、例えば、6個のセグメントコイル(第6~第11のセグメントコイル411~416)で形成されている。
第6~第10のセグメントコイル411~415の一端は、それぞれ、スロットNo.56、No.7、No.19、No.31、No.43に挿入された後、軸方向下側で反時計回りの方向に折り曲げられている。第6~第10のセグメントコイル411~415の他端は、それぞれ、スロットNo.1、No.13、No.25、No.37、No.49に挿入された後、軸方向下側で時計回りの方向に折り曲げられている。
第11のセグメントコイル416の一端は、軸方向上側から軸方向下側に向かってスロットNo.55に挿入された後、軸方向下側で反時計回りの方向に折り曲げられている。第11のセグメントコイル416の他端は、渡り線14E1に接続されている。
第6~第10のセグメントコイル411~415のステータコア14Cの軸方向下側で向かい合う端部同士は、第1の周回コイル400と同様に、例えば、溶接によって接続される。これにより、複数のスロット分(図4では5スロット分)の間隔をあけて配置された波形状の第2の周回コイルが形成される。また、第6のセグメントコイル411の一端は、例えば、溶接によって第1の周回コイル400の第5のセグメントコイル405の他端に接続される。
第3の周回コイルは、例えば、5個のセグメントコイル(第12~第16のセグメントコイル421~425)で形成されている。
第12のセグメントコイル421の一端は、中性線148A4に接続されている。第12のセグメントコイル421の他端は、スロットNo.8に挿入された後、軸方向下側で時計回りの方向に折り曲げられている。
第13~第16のセグメントコイル422~425の一端は、それぞれ、スロットNo.14、No.26、No.38、No.50に挿入された後、軸方向下側で反時計回りの方向に折り曲げられている。第13~第16のセグメントコイル422~425の他端は、それぞれ、スロットNo.20、No.32、No.44、No.56に挿入された後、軸方向下側で時計回りの方向に折り曲げられている。
第13~第16のセグメントコイル422~425のステータコア14Cの軸方向下側で向かい合う端部同士についても、例えば、溶接によって接続される。また、第13のセグメントコイル422の一端は、例えば、溶接によって第12のセグメントコイル422の他端に接続される。これにより、複数のスロット分(図4では5スロット分)の間隔をあけて配置された波形状の第3の周回コイルが形成される。
第4の周回コイルは、例えば、6個のセグメントコイル(第17~第22のセグメントコイル431~436)で形成されている。
第17~21のセグメントコイル431~435の一端は、それぞれ、スロットNo.2、No.13、No.25、No.37、No.49に挿入された後、軸方向下側で反時計回りの方向に折り曲げられている。第17~21のセグメントコイル431~435の他端は、それぞれ、スロットNo.7、No.19、No.31、No.43、No.55に挿入された後、軸方向下側で時計回りの方向に折り曲げられている。
第17~第21のセグメントコイル431~435のステータコア14Cの軸方向下側で向かい合う端部同士についても、例えば、溶接によって接続される。これにより、複数のスロット分(図4では5スロット分)の間隔をあけて配置された波形状の第4の周回コイルが形成される。また、第22のセグメントコイル436の一端は、スロットNo.1に挿入された後、軸方向下側で反時計回りの方向に折り曲げられている。そして、第17のセグメントコイル431の一端が第22のセグメントコイル436の一端に接続される。また、第22のセグメントコイル436の他端は、渡り線14E1に接続されている。これにより、第2の周回コイルと第4の周回コイルとが接続され、U1相巻線14A1が複数のセグメントコイルを波形状に直列接続した波巻構造を有することになる。
以上では、U1相巻線14A1について説明したが、第1巻線組14AのV1、W1相巻線14A2、14A3を構成する第1~第4の周回コイルについても同様にU1相巻線14A1が配置されたスロットを除いたスロットに配置され、波形状に直列接続された複数のセグメントコイルで形成される。また、V1、W1相巻線14A2、14A3の第2の周回コイルと第4の周回コイルとは、それぞれ、渡り線14E2、14E3を介して接続される。図5は、ステータコア14Cの軸方向上側から視たステータ140における各巻線組14A、14Bの配置に示す模式図である。図5に示すように、W1相巻線14A3は、U1相巻線14A1が配置されたスロットから時計回りに2スロット分ずらして配置される。V1相巻線14A2は、W1相巻線14A3が配置されたスロットから時計回りに2スロット分ずらして配置される。
第2巻線組14BのU2、V2、W2相巻線14B1、14B2、14B3についても同様に第1~第4の周回コイルで構成されている。また、図5に示すように、U2、V2、W2相巻線14B1、14B2、14B3は、それぞれ、U1、V1、W1相巻線14A1、14A2、14A3よりも外周側においてU1、V1、W1相巻線14A1、14A2、14A3が配置されたスロットから時計回りに1スロット分ずらして配置される。
10極60スロットのモータにおいて、1スロット分の機械角は6°であり、これは、1スロット分の電気角が30°(電気角=機械角×(極数/2))であることに相当する。すなわち、第1巻線組14Aと第2巻線組14Bとは、電気角で所定の位相差(30°)を有するように配置されている。したがって、詳細を後述するように、U1相巻線14A1及びU2相巻線14B1は、U1相電流とU2相電流とが電気角で所定の位相差(本例では30°)を有するように通電制御される。同様に、V1相巻線14A2及びV2相巻線14B2は、V1相電流とV2相電流とが電気角で所定の位相差を有するように通電制御され、W1相巻線14A3及びW2相巻線14B3は、W1相電流とW2相電流とが電気角で所定の位相差を有するように通電制御される。尚、各巻線組14A、14Bにおいて、U相電流とV相電流とが電気角で120°の位相差を有するように、且つ、V相電流とW相電流とが電気角で120°の位相差を有するように通電制御される。
ここで、一般に、三相モータのトルクリプルは基本波の6次成分となるため、トルクリプルの発生周期は電気角で60°となる。図2~図5を参照して説明したモータ14では、第1巻線組14Aと第2巻線組14Bとが電気角で30°の位相差を有する。これにより、第1巻線組14Aへの通電制御で発生するモータ14の出力トルク(第1トルク)の波形と第2巻線組14Bへの通電制御で発生するモータ14の出力トルク(第2トルク)の波形とは電気角で30°の位相差を有する。したがって、電気角で30°の位相差を有する第1トルクと第2トルクとを加え合わせることで、電気角60°の周期で発生する互いのトルクリプルが打ち消されるように合成される。その結果、最終的にモータ14から出力される合成トルクの波形はトルクリプルが小さい波形となる。このようなモータ14を電動パワーステアリング装置1に適用した場合、非常に良い性能を発揮することができる。
また、図4においてスロットに挿入されたセグメントコイル上に示す矢印は、U1相電流の向きを表している。ここで、U1相電流とU2相電流とによって発生する磁束の方向を一致させるべく、U2相巻線14B1は、U1相巻線14A1から1スロット分ずれた位置でU2相電流の向きがU1相電流の向きと同じ方向になるように配置されている。図6は、ステータコア14Cの軸方向上側から視たスロットNo.1、2、3、7、8、9におけるU1相電流及びU2相電流の向きの一例を示す模式図である。スロットNo.1、2、3では、U1、U2相電流はステータコア14Cの軸方向上側から軸方向下側に向かって流れた後、図6において点線で示すようにステータコア14Cの軸方向下側を通ってスロットNo.7、8、9に向かう。そして、スロットNo.7、8、9では、U1、U2相電流はステータコア14Cの軸方向下側から軸方向上側に向かって流れる。その後、図示しないが、U1、U2相電流は、ステータコア14Cの軸方向上側を通ってスロットNo.13、14、15に向かう。尚、図6では、説明の便宜上、U1、U2相電流以外の相電流については省略しているが、V1相電流とV2相電流との関係及びW1相電流とW2相電流との関係についても同様である。すなわち、各巻線組14A、14Bは、同じ相の電流によって発生する磁束の方向を一致させるべく、同じ相の巻線に流れる電流の方向が同一となるようにスロットに配置されている。
図7は、図5の部分拡大図である。各スロットには、第1巻線組14Aと第2巻線組14Bとを電気的に絶縁するスロット内絶縁部材14Gが設けられている。尚、図7では、スロットNo.2におけるU1相巻線14A1とU2相巻線14B1との電気的な絶縁構造を示しているが、他のスロットにおける絶縁構造についても同様である。スロット内絶縁部材14Gは、例えば、図7に示すような形状に折り曲げた絶縁紙が用いられる。スロットNo.2のスロット内絶縁部材14Gは、それぞれスロットNo.2内に配置された2本のU1相巻線14A1及び2本のU2相巻線14B1の周囲を囲むようにスロットNo.2内に配置されている。
より詳細には、スロット内絶縁部材14Gの両端は、それぞれ、U1相巻線14A1とU2相巻線14B1との間に挿入されるように折り曲げられている。すなわち、U1相巻線14A1とU2相巻線14B1との間には、スロット内絶縁部材14Gの両端が2重に重なり合っている。これにより、巻線組14A、14B間の電気的絶縁性を向上させることができる。また、上述のコイルエンド絶縁部材14D及びスロット内絶縁部材14Gの厚さを適宜調整することで、各スロット内の巻線組14A、14B間の距離を広くすることが可能である。これにより、巻線組14A、14B間の短絡をより効果的に抑制することができる。
尚、図7に示す絶縁構造では、スロット内絶縁部材14Gの両端が2重に重なり合っているが、これに限るものではない。例えば、スロット内絶縁部材14Gの両端をそれぞれ折り返して2重に重なり合わせることにより、スロット内絶縁部材14Gが巻線組14A、14B間に4重に重なり合った構造としてもよい。これにより、スロット内で巻線組14A、14B間の隙間をより大きくすることが可能である。したがって、巻線組14A、14B間の絶縁性を向上させることができる。この場合、スロット内で巻線組14A、14B間の隙間が十分に大きくなっているので、コイルエンド絶縁部材14Dを省力してもよい。
以上説明したモータ14において、複数の巻線組14A、14Bはステータコア14Cに分布巻で配置されている。より詳細には、ステータコア14Cのロータ142に向かって延び、ステータコア14Cの周方向に隣り合うティース14C1で形成されるスロットの内周側に第1巻線組14Aが配置され、スロットの外周側に第2巻線組14Bが配置されている。また、第1巻線組14Aと第2巻線組14Bとは、ティースの内周側と外周側とで電気的に絶縁するように分離して配置されているが、磁気回路を共有している。すなわち、第1巻線組14A及び第2巻線組14Bは、電気的に絶縁されており、磁気的に結合している。
図8は、モータ制御装置及びモータ14の回路の一例を示す回路構成図である。第1巻線組14AのU1相巻線14A1、V1相巻線14A2及びW1相巻線14A3は、それぞれの一端が中性線148A4、184A5、148A6を介して中性点N1で電気的に接続されることでスター結線されている。これと同様に、第2巻線組14BのU2相巻線14B1、V2相巻線14B2及びW2相巻線14B3も、それぞれの一端が中性線148B4、184B5、148B6を介して中性点N2で電気的に接続されることでスター結線されている。但し、これに限るものではなく、各巻線組14A、14Bにおいて、三相巻線がデルタ結線されていてもよい。
また、モータ14には、例えば、ロータ142の回転に伴う磁界変化を検出し、ロータ142の回転角度θに応じた磁界検出信号を出力するホール素子又はエンコーダなどの角度センサ150が内蔵されている。但し、これに限るものではなく、角度センサ150は、例えば、ロータ142の回転角度θに応じた信号を検出するレゾルバであってもよい。
インバータ200は、車載バッテリである直流電源VBの直流(電圧)を交流(電圧)に変換して当該交流電力をモータ14(その三相コイル)に供給することでモータ14を駆動する電力変換器である。
より詳細には、インバータ200は、第1巻線組14Aに入力線148A1、148A2、148A3を介して接続される第1インバータ200Aと、第2巻線組14Bに入力線148B1、148B2、148B3を介して接続される第2インバータ200Bと、を含む。すなわち、インバータ200は、第1巻線組14Aに対応して設けられた第1インバータ200Aと、第2巻線組14Bに対応して設けられた第2インバータ200Bとを含む。これにより、第1巻線組14Aには、第1インバータ200Aから電力が供給され、第2巻線組14Bには、第2インバータ200Bから電力が供給される。
第1インバータ200Aのインバータ回路は、U1相巻線14A1、V1相巻線14A2及びW1相巻線14A3への通電を切り替えるための6つの半導体素子200A1~200A6を含む三相ブリッジ回路で構成されている。
第2インバータ200Bのインバータ回路は、U2相巻線14B1、V2相巻線14B2及びW2相巻線14B3への通電を切り替えるための6つの半導体素子200B1~200B6を含む三相ブリッジ回路で構成されている。
各半導体素子(スイッチング素子)200A1~200A6、200B1~200B6としては、例えば、Nチャネル型MOSFETが用いられる。スイッチング素子200A1~200A3(200B1~200B3)のドレインは、直流電源VBの正極側に接続されている。スイッチング素子200A4~200A6(200B4~200B6)のソースは、直流電源VBの負極側に接続されている。以下、高電位側のスイッチング素子200A1~200A3(200B1~200B3)を「上アーム」といい、低電位側のスイッチング素子200A4~200A6(200B4~200B6)を「下アーム」という。
上アーム200A1、200A2、200A3(200B1、200B2、200B3)のソースは、それぞれ、下アーム200A4、200A5、200A6(200B4、200B5、200B6)のドレインに直列接続されている。
上アーム200A1、200A2、200A3と下アーム200A4、200A5、200A6との接続点(インバータ出力点)には、それぞれ、U1相巻線14A1、V1相巻線14A2、W1相巻線14A3が接続されている。
また、上アーム200B1、200B2、200B3と下アーム200B4、200B5、200B6との接続点(インバータ出力点)には、それぞれ、U2相巻線14B1、V2相巻線14B2、W2相巻線14B3が接続されている。
要するに、第1インバータ200A(第2インバータ200B)において、上アーム200A1(200B1)と下アーム200A4(200B4)とによってU相レグが構成され、上アーム200A2(200B2)と下アーム200A5(200B5)とによってV相レグが構成され、上アーム200A3(200B3)と下アーム200A6(200B6)とによってW相レグが構成されている。
以下、上アーム200A1を「U1相上アーム」といい、下アーム200A4を「U1相下アーム」という。また、上アーム200A2を「V1相上アーム」といい、下アーム200A5を「V1相下アーム」という。さらに、上アーム200A3を「W1相上アーム」といい、下アーム200A6を「W1相下アーム」という。一方、上アーム200B1を「U2相上アーム」といい、下アーム200B4を「U2相下アーム」という。また、上アーム200B2を「V2相上アーム」といい、下アーム200B5を「V2相下アーム」という。さらに、上アーム200B3を「W2相上アーム」といい、下アーム200B6を「W2相下アーム」という。
また、図8に示すように、各上下アーム200A1~200A6(200B1~200B6)のドレイン-ソース間に逆並列に接続されているダイオード202A1~202A6(202B1~202B6)はMOSFETの製造過程で形成される寄生ダイオードである。ここで、各上下アーム200A1~200A6(200B1~200B6)がオン状態のときに流すことができる電流の方向を順方向とする。この場合、寄生ダイオード202A1~202A6(202B1~202B6)は、順方向とは逆の方向に電流を流すことを可能にする。
各上下アーム200A1~200A6、200B1~200B6のゲートは、それぞれ、駆動回路300を介してECU100(マイクロコンピュータ)の出力ポートに接続されている。
尚、上下アーム200A1~200A6、200B1~200B6としては、IGBTなど、他の電力制御用の半導体素子を用いてもよい。上下アームがIGBTである場合、帰還ダイオードがIGBTのコレクタ-エミッタ間に逆並列に接続される。帰還ダイオードは、寄生ダイオード202A1~202A6、202B1~202B6と同様の機能を有する。
駆動回路300は、第1インバータ200Aの各上下アーム200A1~200A6をオンオフ駆動する回路である第1駆動回路300Aと、第2インバータ200Bの各上下アーム200B1~200B6をオンオフ駆動する回路である第2駆動回路300Bとを含む。
第1駆動回路300Aは、例えば、上アーム200A1~200A3のそれぞれを駆動する3つの高電位側ドライバと、下アーム200A4~200A6のそれぞれを駆動する3つの低電位側ドライバとを有する。
第2駆動回路300Bは、例えば、上アーム200B1~200B3のそれぞれを駆動する3つの高電位側ドライバと、下アーム200B4~200B6のそれぞれを駆動する3つの低電位側ドライバとを有する。
各駆動回路300A、300Bは、ECU100からの指令信号であるPWM制御信号に基づいて各インバータ200A、200Bの上下アーム200A1~200A6、200B1~200B6を駆動する。したがって、ECU100は、第1巻線組14A、第1インバータ200A及び第1駆動回路300Aを含む第1通電系統と、第2巻線組14B、第2インバータ200B及び第2駆動回路300Bを含む第2通電系統との2つの通電系統の通電を制御する。
各インバータ200A、200Bの上流側において、直流電源VBの正極側は、第1電源リレー204A及び第2電源リレー204Bを介して第1インバータ200A及び第2インバータ200Bのそれぞれに接続されている。各電源リレー204A、204Bは、例えば、MOSFETなどの半導体素子などで構成されている。各電源リレー204A、204Bは、ECU100によりオンオフ駆動される。これにより、各通電系統の少なくとも一方に異常が発生した場合、異常が発生した通電系統の電源リレーをオフ状態とすることで、電源リレーの下流側のインバータへの電力供給を遮断するフェールセーフ処理が実行可能となる。
直流電源VBと第1インバータ200Aとの間には、直流電源VBに並列接続された電源安定化用の第1コンデンサ206Aが設けられている。また、直流電源VBと第2インバータ200Bとの間には、直流電源VBに並列接続された電源安定化用の第2コンデンサ206Bが設けられている。
第1インバータ200Aには、第1巻線組14Aに流れる三相電流Iu1、Iv1、Iw1を検出するための第1電流センサ208Aが設けられている。また、第2インバータ200Bには、第2巻線組14Bに流れる三相電流Iu2、Iv2、Iw2を検出するための第2電流センサ208Bが設けられている。第1及び第2電流センサ208A、208Bは、例えば、各下アーム200A4~200A6、200B4~200B6のソースに直列接続されたシャント抵抗208A1~208A3、208B1~208B3の両端電位差Viu1、Viv1、Viw1、Viu2、Viv2、Viw2をオペアアンプなどによって検出する。そして、第1及び第2電流センサ208A、208Bは、各両端電位差に対応した電位差信号をECU100に出力する。
尚、第1及び第2電流センサ208A、208Bは、各インバータ200A、200Bの出力点と各三相巻線14A1~14A3、14B1~14B3との間に配置されたシャント抵抗を用いて各相電流Iu1、Iv1、Iw1、Iu2、Iv2、Iw2を検出するものであってもよい。
図9は、モータ制御装置の制御機能の一例を示す機能ブロック図である。ECU100は、機能ブロックとして、角度演算部102、回転速度演算部104、相電流演算部106、三相二相変換部108、目標電流演算部110、信号生成部112及びデッドタイム補償部114を有する。
角度演算部102は、角度センサ150から出力された磁界検出信号に基づいて、ロータ142の回転角度θを演算する。
回転速度演算部104は、角度演算部102が演算した回転角度θの時間変化からロータ142の角速度(モータ回転速度)ωrを演算することで検出する。
相電流演算部106は、第1電流センサ208Aから出力された電位差信号Viu1、Viv1、Viw1に基づいて第1通電系統についての三相電流Iu1、Iv1、Iw1を演算することで検出する。また、相電流演算部106は、第2電流センサ208Bから出力された電位差信号Viu2、Viv2、Viw2に基づいて第2通電系統についての三相電流Iu2、Iv2、Iw2を演算することで検出する。
三相二相変換部108は、回転角度θを用いて三相電流検出値Iu1、Iv1、Iw1をdq回転座標におけるd軸電流検出値Id1及びq軸電流検出値Iq1に変換する。また、三相二相変換部108は、回転角度θを用いて三相電流検出値Iu2、Iv2、Iw2をdq回転座標におけるd軸電流検出値Id2及びq軸電流検出値Iq2に変換する。ここで、dq回転座標は、モータ14のロータ142に同期して回転する界磁方向をd軸とし、このd軸に直交するトルク生成方向をq軸とした回転座標である。
目標電流演算部110は、操舵トルク、舵角及び車速などを含む車両2の運転状態に基づいて目標アシストトルク(モータ14の出力トルク)の目標値を演算し、この目標アシストトルクに応じた目標電流を演算する。ここで、目標電流演算部110は、第1通電系統の目標アシストトルク及びこれに応じた目標電流と、第2通電系統の目標アシストトルク及びこれに応じた目標電流とを個別に設定する。これにより、第1通電系統での通電制御で発生する出力トルク(第1トルク)と、第2通電系統での通電制御で発生する出力トルク(第2トルク)との総和(合成トルク)が操舵補助力として発生する。
より詳細には、目標電流演算部110は、操舵トルクセンサ20から出力された操舵トルク信号ST、舵角センサ22から出力された舵角信号SA及び車速センサ34から出力された車速信号VSPを入力する。次に、目標電流演算部110は、操舵トルク、舵角及び車速に基づいて、第1通電系統の目標アシストトルク及びこれに応じた目標電流であるd軸電流指令値Id1*及びq軸電流指令値Iq1*を演算する。同様に、目標電流演算部110は、操舵トルク、舵角及び車速に基づいて、第2通電系統の目標アシストトルク及びこれに応じた目標電流であるd軸電流指令値Id2*及びq軸電流指令値Iq2*を演算する。
信号生成部112は、d、q軸電流検出値Id1、Iq1、Id2、Iq2と、d、q軸電流指令値Id1*、Iq1*、Id2*、Iq2*と、角速度検出値ωrと、回転角度θと、に基づいて各インバータ200A、200Bの上下アームのオンオフ駆動を制御するためのPWM制御信号を生成する。
より詳細には、信号生成部112は、まず、通電系統毎に、角速度検出値、d、q軸電流指令値及びd、q軸電流検出値を用いてd、q軸電圧指令値を演算する。例えば、信号生成部112は、d、q軸電流指令値とd、q軸電流検出値との偏差(d、q軸の電流偏差)に対する比例積分制御(PI制御)などのフィードバック制御を含むベクトル制御を実行する。これにより、通電系統毎に、d、q軸の電流検出値をd、q軸の電流指令値に近付けるようなd、q軸電圧指令値が演算される。次に、信号生成部112は、通電系統毎に、回転角度θに基づいてd、q軸電圧指令値を三相電圧指令値に変換する。信号生成部112は、各通電系統の三相電流指令値を算出すると、各通電系統の三相電圧指令値とキャリア波(搬送波)との比較に基づいて第1巻線組14Aの三相デューティ指令値に相当するPWM制御信号PWM(U1)、PWM(V1)、PWM(W1)及び第2巻線組14Bの三相デューティ指令値に相当するPWM制御信号PWM(U2)、PWM(V2)、PWM(W2)を生成する。その後、信号生成部112は生成したPWM制御信号をデッドタイム補償部114に出力する。
PWM制御信号を生成する際の変調波としては正弦波が用いられ、搬送波としては、例えば、三角波が用いられる。したがって、ECU100は、インバータ200A、200Bの正弦波PWM制御によりモータ14を駆動する、いわゆる正弦波駆動を実行する。
第1巻線組14AについてのPWM制御信号PWM(U1)、PWM(V1)、PWM(W1)は、それぞれ、第1インバータ200AのU1、V1、W1相上下アーム200A1~200A6のオンオフ駆動を制御するための指令信号であると共に第1インバータ200Aの出力電圧の波形を規定するものである。
同様に、第2巻線組14BについてのPWM制御信号PWM(U2)、PWM(V2)、PWM(W2)は、それぞれ、U2、V2、W2相上下アーム200B1~200B6のオンオフ駆動を制御するための指令信号であると共に第2インバータ200Bの出力電圧の波形を規定するものである。
また、ECU100は、各インバータ200A、200Bのある1つの相レグにおいて、上アームのオン(オフ)期間に下アームがオフ(オン)となるような相補式のPWM制御を実行する。したがって、PWM制御信号は、ある1つの相レグを構成する上アームのオン期間とオフ期間との比率であるデューティ比で表され、上アームのオン期間では下アームがオフとなり、上アームのオフ期間では下アームがオンとなる。例えば、第1巻線組14AのU1相巻線14A1についてのPWM制御信号PWM(U1)は、第1インバータ200AのU1相上アーム200A1のスイッチング波形を示す。一方、U1相上アーム200A1のスイッチング波形を反転させた波形は、第1インバータ200AのU1相下アーム200A4のスイッチング波形を示す。要するに、ある1つの相についてのPWM制御信号が生成されると、同じ相についての上アーム及び下アームの両方のオン期間及びオフ期間が決定される。
デッドタイム補償部114は、各巻線組14A、14BについてのPWM制御信号PWM(U1)、PWM(V1)、PWM(W1)、PWM(U2)、PWM(V2)、PWM(W2)にデッドタイム補償を施すことで最終的なPWM制御信号PWM(U1)*、PWM(V1)*、PWM(W1)*、PWM(U2)*、PWM(V2)*、PWM(W2)*を生成し、駆動回路300A、300Bに出力する。以下、本明細書において、デッドタイム補償を施す前のPWM制御信号を「第1のPWM制御信号」という。また、本明細書において、デッドタイム補償を施した後の最終的なPWM制御信号を「第2のPWM制御信号」という。
デッドタイムは、各インバータ200A、200BのU、V、W相レグを構成する上下アームのスイッチング波形の立ち上がりを遅らせることで生じる上下アームの両方がオフとなる期間である。これにより、U、V、W相レグにおいて、上下アームの両方がオンとなることを抑制して、上下アームの短絡の発生を抑制している。そして、デッドタイム補償とは、インバータ200A、200Bの理想的な出力電圧に対してデッドタイムの存在によって生じる誤差電圧を補償するための処理である。
駆動回路300A、300Bは、第2のPWM制御信号PWM(U1)*、PWM(V1)*、PWM(W1)*、PWM(U2)*、PWM(V2)*、PWM(W2)*に応じて、各上下アーム200A1~200A6、200B1~200B6のゲート信号を生成する。その後、駆動回路300A、300Bは、生成したゲート信号を各上下アーム200A1~200A6、200B1~200B6に出力する。これにより、インバータ200A、200Bから巻線組14A、14Bに電圧が印加されてモータ14が駆動される。すなわち、駆動回路300A、300Bは、補正後のPWM制御信号に基づいて上下アームを駆動する。ここで、駆動回路300A、300Bが駆動部の一例として挙げられる。したがって、ECU100及び駆動回路300が、各巻線組14A、14Bに対応して設けられたインバータ200A、200Bの出力電圧をPWM制御することでモータ14を駆動するモータ制御装置の一例として挙げられる。
次に、デッドタイム補償部114による通常時のデッドタイム補償の一例について図10~図12を参照して説明する。図10~図12では、第1インバータ200AのU相レグを構成するU1相上下アーム200A1、200A4についての第1のPWM制御信号PWM(U1)に施す通常時のデッドタイム補償について説明する。
図10に示すように、まず、信号生成部112におけるU1相電圧指令値と搬送波との比較により、第1インバータ200Aの理想的な出力電圧の波形に相当するPWM波形が生成される。尚、以下では、電圧値がEdである直流電源VBを中性点のある直流電圧±Ed/2の電源と考える。
第1のPWM制御信号PWM(U1)は、PWM波形に基づいて、理想的には、U1相上アーム200A1のオン期間が出力電圧+Ed/2の期間t1、t2と一致すると共にU1相上アーム200A1のオフ期間が出力電圧-Ed/2の期間と一致するように生成される。これにより、U1相上アーム200A1の理想的なスイッチング波形が決まる。これと同時に、U1相下アーム200A4のオン期間が出力電圧-Ed/2の期間と一致すると共にU1相下アーム200A4のオン期間が出力電圧-Ed/2の期間と一致するように、U1相下アーム200A4のスイッチング波形が決まる。
しかしながら、上述したように、U1相上下アーム200A1、200A4の短絡を抑制すべく、実際のU1相上下アーム200A1、200A4のスイッチング波形(実スイッチング波形)の立ち上がりをデッドタイムtdだけ遅らせている。すなわち、ECU100は、上下アームのスイッチング波形の立ち上がりを予め定められたデッドタイムtdだけ遅らせたPWM制御信号を生成する。ここで、デッドタイムtdは、上下アーム(スイッチング素子)がMOSFETの場合、例えば、0.5μ秒~2μ秒である。
但し、ECU100においてスイッチング波形の立ち上がりを遅らせたPWM制御信号を生成することに限るものではない。例えば、駆動回路300A、300Bに遅延回路などを設けることにより、スイッチング波形の立ち上がりを遅らせるようなゲート信号が出力されるようになっていてもよい。
デッドタイムtdでは、U1相上下アーム200A1、200A4の両方がオフとなっているので、U1相上下アーム200A1、200A4(MOSFET)のいずれにも電流は流れない。しかし、U1相上下アーム200A1、200A4の寄生ダイオード202A1、202A4のいずれかに電流が流れる。そのため、デッドタイムに起因してインバータの実際の出力電圧に対する誤差電圧が生じる。
図11は、図10においてU1相電流検出値Iu1が正である領域(Iu1>0)でのデッドタイム補償前後の実際の出力電圧を比較する図である。デッドタイム補償前において、デッドタイムtdでは、U1相下アーム200A4の寄生ダイオード202A4を通ってU1相巻線14A1に電流が流れる。これにより、デッドタイムtdでは、第1インバータ200Aの実際の出力電圧が-Ed/2となる。したがって、実際の出力電圧が+Ed/2である期間t3、t4のそれぞれは、理想的な出力電圧がEd/2である期間t1、t2よりも短くなってしまう(t3<t1、t4<t2)。すなわち、理想的な出力電圧に対する誤差電圧-Edが生じ、第1インバータ200Aの出力電圧が低下してしまう。
一方、U1相電流検出値Iu1が負の場合(Iu1<0)、デッドタイムtdでは、U1相巻線14A1からU1相上アーム200A1の寄生ダイオード202A1を通って直流電源VBの正極側に電流が流れる。この場合、実際の出力電圧は+Ed/2となるため、+Edだけ誤差電圧が生じ、第1インバータ200Aの出力電圧が増加してしまう。
このようなデッドタイムで生じる誤差電圧により、三相電流の波形が歪んでしまうため、三相電流の波形が理想的な正弦波に対して乱れてしまう。そこで、デッドタイム補償では、誤差電圧を補償するように第1のPWM制御信号を補正する。
例えば、Iu1が正のとき、第1のPWM制御信号PWM(U1)は、第1インバータ200Aの実際の出力電圧を誤差電圧分だけ増やすように補正される。より詳細には、PWM(U1)は、U1相上アーム200A1のオン期間を誤差電圧分(図11に示すハッチング部分)だけ増やすように補正される。これに伴って、U1相下アーム200A4の実スイッチング波形において、オン期間が誤差電圧分だけ減る。すなわち、U1相上アーム200A1がオフとなるタイミングを誤差電圧分だけ遅らせ、U1相下アーム200A4がオンとなるタイミングを誤差電圧分だけ遅らせている。これにより、実際の出力電圧が+Ed/2である期間t5、t6のそれぞれを、理想的な出力電圧が+Ed/2である期間t1、t2と略同じ期間とすることが可能となる(t5=t1、t6=t2)。
一方、Iu1<0のとき、第1のPWM制御信号PWM(U1)は、第1インバータ200Aの実際の出力電圧を誤差電圧分だけ減らすように補正される。より詳細には、PWM(U1)は、U1相上アーム200A1のオン期間を誤差電圧分だけ減らすように補正される。これに伴って、U1相下アーム200A4の実スイッチング波形において、オン期間は誤差電圧分だけ増える。
以上説明した通常時のデッドタイム補償により、通電系統が1つである場合、Iu1>0のとき第1インバータ200Aの出力電圧の低下を抑制することが可能になると共にIu1<0のとき第1インバータ200Aの出力電圧の増加を抑制することが可能となる。したがって、従来では、通常のデッドタイム補償により通電系統が1つである場合の三相電流の波形の歪みを抑制することができた。
以下、三相電流検出値が正の場合に三相上アームのオン期間を増やすと共に三相下アームのオン期間を減らす補正を、第1のPWM制御信号の増加補正という。一方、三相電流検出値が負の場合に三相上アームのオン期間を減らすと共に三相下アームのオン期間を増やす補正を、第1のPWM制御信号の減少補正という。
デッドタイム補償の補正値は、例えば、直流電圧±Ed/2、デッドタイムtd及び搬送波の周期(キャリア周期)Tcなどを用いて(±Ed/2)×(td/Tc)で表される。例えば、図12に示すように、Iu1>0のとき、デッドタイム補償の補正値は(+Ed/2)×(td/Tc)である。一方、Iu1<0のとき、デッドタイム補償の補正値は(-Ed/2)×(td/Tc)である。
尚、以上では、U1相についての第1のPWM制御信号PWM(U1)のデッドタイム補償について説明したが、V1、W1、U2、V2、W2相についての第1のPWM制御信号PWM(V1)、PWM(W1)、PWM(U2)、PWM(V2)、PWM(W2)のデッドタイム補償についても同様であり、説明を省略する。
要するに、通常時のデッドタイム補償は、U1相電流が略0となるゼロクロスが発生したか否かを判定すると共にデッドタイム補償の増加補正と減少補正との切り替えタイミングを規定するための閾値(所定の閾値)を0として、Iu1が正のときはU1相についての第1のPWM制御信号PWM(U1)を増加補正し、Iu1が負のときはU1相についての第1のPWM制御信号PWM(U1)を減少補正する。すなわち、デッドタイム補償部114は、通常時において、デッドタイムに起因するインバータ200A、200Bの出力電圧の低下を抑制するようにPWM制御信号を補正する第1の補償(増加補正)と、デッドタイムに起因するインバータ200A、200Bの出力電圧の増加を抑制するように第1のPWM制御信号を補正する第2の補償(減少補正)と、を相電流が所定の閾値(=0)となったタイミングで切り替えながら実行する。
ところで、上述したように、トルクリプルを抑制すべく、モータ14の構造を第1巻線組14Aに対して第2巻線組14Bを1スロット分(電気角で30°)だけずらして配置した構造としている。そのため、第2巻線組14Bに流れる三相電流の波形を、第1巻線組14Aに流れる三相電流の波形よりも所定の位相(電気角で30°)だけ遅らせるように通電制御が実行される。そこで、より詳細には、三相二相変換部108は、回転角度θを用いて、第1通電系統についての三相電流検出値Iu1、Iv1、Iw1をd、q軸電流検出値Id1、Iq1に変換する。一方、三相二相変換部108は、回転角度θから30°を減算した回転角度θ-30°を用いて、第2通電系統についての三相電流検出値Iu2、Iv2、Iw2をd、q軸電流検出値Id2、Iq2に変換する。
また、信号生成部112は、回転角度θを用いて、第1通電系統についてのd、q軸電圧指令値を三相電圧指令値に変換する一方、回転角度θ-30°を用いて、第2通電系統についてのd、q軸電圧指令値を三相電圧指令値に変換する。すなわち、信号生成部112は、巻線組14A、14Bの同じ相の巻線に流れる相電流(同相電流)の位相差が所定の位相差となるように各インバータ200A、200Bの上下アームをオンオフ駆動するためのPWM制御信号を生成する。これにより、例えば、第1巻線組14AのU1相電流と第2巻線組14BのU2相電流とはモータ14の電気角で所定の位相差を有するように隣り合うことが可能となる。
また、上述したように、第1巻線組14Aと第2巻線組14Bとは磁気的に結合している。そのため、各巻線組14A、14Bに流れる三相電流は、相互誘導など、第1巻線組14Aと第2巻線組14Bとの間に生じる磁気的な干渉の影響を受ける。したがって、上述のデッドタイム補償を実行しても、例えば、図13に示すように、U1、U2相電流検出値Iu1、Iu2の波形は理想的な波形である正弦波の波形と比較して歪んでしまう。
ここで、モータ14の出力トルクは、第1通電系統での通電制御で発生する出力トルクと、第2通電系統での通電制御で発生する出力トルクとの総和である。すなわち、このような複数の通電系統の通電制御により駆動されるモータ14では、各巻線組14A、14Bの同じ相の電流(例えば、U1、U2相電流)によって発生する磁束の方向を一致させるべく、上述したように、各巻線組14A、14Bは、同じ相の巻線に流れる電流の方向が同一となるようにスロットに配置されている。このようなモータ14(図2~図7を参照して説明したモータ14)の構造では、例えば、以下のような問題が生じる。U1、U2相巻線14A1、14B1の一方の電圧の絶対値は、U1、U2相巻線14A1、14B1の他方に流れる電流の変化に応じた相互誘導起電力によって増加する。例えば、図13の破線で囲まれた領域に示すように、Iu1、Iu2は、減少変化する立ち下がり波形領域では、ゼロクロスが発生する前に一度増加するように変化する。また、Iu1、Iu2は、増加変化する立ち上がり領域では、ゼロクロスが発生する前に一度減少するように変化する。
また、上述した従来のデッドタイム補償を実行しても波形の歪みを抑制することができないことから、一方の巻線組の相電流の波形においてデッドタイムにより生じる歪みが他方の巻線組の相電流の波形に影響を与えているものと考えられる。そこで、デッドタイムを短くすることで相電流の波形の歪みをある程度抑制することが可能であるものの、上下アームの短絡を抑制するために設けられたデッドタイムを0にすることはできない。以上の点から、複数の通電系統の通電制御によりモータ14を駆動する場合では、デッドタイミング補償の増加補正と減少補正とが適切なタイミングで切り替えられていないものと考えられる。三相電流に歪みが発生すると、d、q軸電流が振れるため、モータ14の制御性が悪化してしまい、トルクリプル、異音などのノイズが発生するおそれがあった。
そこで、デッドタイム補償部114は、巻線組14A、14B間の磁気的な干渉に起因する三相電流の波形の歪みを抑制すべく、巻線組14A、14Bの同じ相の巻線(例えば、U1相巻線14A1とU2相巻線14B1)に流れる相電流(例えば、U1相電流検出値Iu1とU2相電流検出値Iu2)に基づいてデッドタイム補償の切り替えタイミングを変更する。より詳細には、デッドタイム補償部114は、所定の位相差を有する2つの相電流の一方が切り替え判定用の閾値(所定の閾値)となった場合の2つの相電流の電流差が第1の範囲外のとき、デッドタイム補償の切り替えタイミングを電流差に応じて早めるように変更する。ここで、デッドタイム補償部114が変更部の一例としての機能も有する。
以下、切り替えタイミングの変更の一例について図14を参照して説明する。図14は、U1、U2相についての第1のPWM制御信号PWM(U1)、PWM(U2)についてのデッドタイム補償の切り替えタイミングの変更を示している。
切り替えタイミングは、例えば、巻線組14A、14Bに流れるU1、U2相電流のうち位相が最も進んでいるU1相電流(U1相電流検出値Iu1)が所定の閾値(初期設定値=0)となった場合のIu1とIu2との差(電流差ΔIu=Iu2-Iu1)が第1の範囲外のときに変更される。
例えば、図14では、時刻t7でIu1が0になっており、電流差ΔIu(t7)はIu2(t7)-Iu1(t7)である。電流差ΔIu(t7)が取り得る値は、Iu1及びIu2の波形が理想的な正弦波に近い波形である場合、Iu1の波形とIu2の波形との位相差に応じて許容される範囲内となる。したがって、電流差ΔIuと比較される第1の範囲は、電流差ΔIuが取り得る値として許容される上限値及び下限値で規定される。これにより、電流差ΔIuが第1の範囲外となったときに巻線組14A、14B(U1、U2相巻線14A1、14B1)間の磁気的な干渉によりIu1とIu2の波形が理想的な正弦波の波形と比較して歪んでいると判定することが可能となる。
第1の範囲を規定する上限値及び下限値は、例えば、所定の位相差に加えて各電流センサ208A、208Bの検出ばらつきなどに応じて予め設定されている。但し、これに限るものではなく、上限値及び下限値は、所定の位相差及び検出ばらつきに加えて、モータ回転速度を考慮してもよい。これは、モータ回転速度が高くなるにつれて相電流の波形の傾きが大きくなる(相電流検出値の変化速度が高くなる)場合があるからである。そこで、デッドタイム補償部114は、回転速度演算部104から回転速度ωrを入力するようになっていてもよい(図9を参照)。
所定の閾値の初期設定値は、基本的には0であるが、これに限るものではない。例えば、電流センサ208A、208Bの検出ばらつきなどを考慮して、所定の閾値の初期設定値を0以外の値に設定してもよい。また、初期設定値を相電流毎に異なる値に設定してもよい。いずれの場合においても、所定の閾値は、デッドタイムで生じる誤差電圧の極性に応じてデッドタイム補償の極性(すなわち、増加補正又は減少補正を行うか)を判定すべく、相電流が実質的に0になったか否かを判定するためのものである。
また、電流差ΔIuは、第2巻線組14Bに流れるU2相電流(U2相電流検出値Iu2)が0になったときにIu1とIu2との差であってもよい。
そして、デッドタイム補償部114は、電流差ΔIuが第1の範囲外のとき、所定の閾値を電流差ΔIuに応じて変更することでデッドタイム補償の切り替えタイミングを早める。例えば、図14に示す時刻t7より前の時刻では、電流歪みの影響はあるものの、Iu1及びIu2の波形はIu1及びIu2が正から0に向かって立ち下がる波形(立ち下がり波形)となっており、時刻t7でIu1が0となっている。この場合、所定の閾値を、電流差ΔIuに応じて定まる値を初期設定値(=0)に加算して得られる第1の閾値とする。
第1の閾値は、2つの同相電流(U1、U2相電流)の波形が立ち下がり波形である領域、すなわち、2つの同相電流が減少する領域での閾値である。図14では、初期設定値に加算する値(加算値)は、例えば、時刻t7における電流差ΔIu(t7)の絶対値に相当する。また、第1の範囲を規定する上限値及び下限値と同様、加算値は、電流差ΔIuに加えて電流センサ208A、208Bによる検出ばらつき及びモータ回転速度などを考慮した値であってもよい。
そして、時刻t7以降、Iu1及びIu2のそれぞれが第1の閾値以下になったときに、第1のPWM制御信号PWM(U1)、PWM(U2)のそれぞれのデッドタイム補償が増加補正から減少補正に切り替えられる。
例えば、図14では、Iu2は時刻t7で第1の閾値以下となる。したがって、U2相についての第1のPWM制御信号PWM(U2)のデッドタイム補償は、時刻t7において増加補正から減少補正に切り替えられる。また、U1相についての第1のPWM制御信号PWM(U1)のデッドタイム補償は、Iu1の波形が2度目の立ち下がり波形である場合においてIu1が第1の閾値以下になったとき(図14に示す時刻t8)に増加補正から減少補正に切り替えられる。さらに、第1のPWM制御信号PWM(U2)のデッドタイム補償は、Iu2の波形が2度目の立ち下がり波形である場合においてIu2が第1の閾値以下になったとき(図14に示す時刻t9)に増加補正から減少補正に切り替えられる。
要するに、デッドタイム補償部114は、2つの同相電流(U1、U2相電流)が減少する領域では、Iu1、Iu2のそれぞれが第1の閾値よりも大きいときは増加補正を実行し、Iu1、Iu2のそれぞれが第1の閾値以下のときは減少補正を実行する。
一方、Iu1及びIu2の波形がIu1及びIu2が負から0に向かって立ち上がる波形(立ち上がり波形)である場合において、Iu1が時刻t10で0となっている。そして、時刻t10での電流差ΔIu(t10)=Iu2(t10)-Iu1(t10)が第1の範囲外になったとする。この場合、所定の閾値を電流差ΔIu(t10)に応じて定まる値(図14では、電流差ΔIu(t10)の絶対値)を所定の閾値から減算した第2の閾値とする。第2の閾値は、2つの同相電流(U1、U2相電流)の波形が立ち上がり波形である領域、すなわち、2つの同相電流が増加する領域での閾値である。
例えば、図14では、Iu2は、時刻t10で第2の閾値以上となる。これにより、U2相についての第1のPWM制御信号PWM(U2)のデッドタイム補償が時刻t10において減少補正から増加補正に切り替えられる。また、U1相についての第1のPWM制御信号PWM(U1)のデッドタイム補償は、Iu1の波形が2度目の立ち上がり波形である場合においてIu1が第2の閾値以上となったとき(図14に示す時刻t11)に減少補正から増加補正に切り替えられる。さらに、第1のPWM制御信号PWM(U2)のデッドタイム補償は、Iu2の波形が2度目の立ち上がり波形である場合においてIu2が第2の閾値以上となったとき(図14に示す時刻t12)に減少補正から増加補正に切り替えられる。
要するに、デッドタイム補償部114は、2つの同相電流(U1、U2相電流)の波形が増加する領域では、Iu1、Iu2のそれぞれが第2の閾値未満の場合は減少補正を実行し、Iu1、Iu2のそれぞれが第2の閾値以上の場合は増加補正を実行する。
このように、デッドタイム補償部114は、2つの同相電流が減少する領域では、所定の閾値を電流差に応じて増加させることで切り替えタイミングを早め、2つの同相電流が増加する領域では、所定の閾値を電流差に応じて減少させることで切り替えタイミングを早める。尚、以上では、U1、U2相についての第1のPWM制御信号PWM(U1)、PWM(U2)のデッドタイミング補償の切り替えタイミングの変更について説明したが、V1、V2相についての第1のPWM制御信号PWM(V1)、PWM(V2)及びW1、W2相についての第1のPWM制御信号PWM(W1)、PWM(W2)についても同様である。
以上のように構成されたデッドタイム補償部114により、磁気的な干渉により2つの同相電流の波形が歪んだ場合、2つの同相電流が減少する領域では同相電流が変更前の閾値以下となる前に2つの同相電流と同じ相についての第1のPWM制御信号が減少補正される。また、2つの同相電流が減少する領域では同相電流が変更前の閾値以上となる前に2つの同相電流と同じ相についての第1のPWM制御信号が増加補正される。
例えば、時刻t8では、U1相についての第1のPWM制御信号PWM(U1)の減少補正が開始される。また、図14では、デッドタイム補償の切り替えタイミング変更前のIu1、Iu2の波形を示しており、時刻t8以降、磁気的な干渉(相互誘導起電力)の影響を受け、Iu1は一度増加する方向に変化している。しかしながら、PWM(U1)の減少補正を時刻t8から開始することで、PWM(U1)の減少補正が早められるのに伴ってIu1が減少する方向(矢印Aの方向)に変化する。一方、切り替えタイミング変更前のIu1は時刻t11以降、磁気的な干渉(相互誘導起電力)の影響を受け、一度減少する方向に変化している。この場合も、U1相についての第1のPWM制御信号PWM(U1)の増加補正を時刻t11から開始することで、PWM(U1)の増加補正が早められるのに伴ってIu1が増加する方向(矢印Bの方向)に変化する。これにより、Iu1の波形を理想的な正弦波の波形に近付けることが可能となる。
尚、以上の説明は、Iu2の波形についても同様である。例えば、図15に示すように、Iu1、Iu2の波形を比較したデッドタイム補償の切り替えタイミング変更後では、変更前と比較してIu1、Iu2の波形を理想的な正弦波の波形に近付けることが可能となる。すなわち、相電流の波形の歪みを抑制することができる。したがって、モータ14のトルク制御に関連するd、q軸電流の振れを抑制することができるので、トルクリプル、異音などのノイズの発生を抑制されるなど、2つの通電系統の通電制御によるモータ14の制御性を向上させることができる。
次に、以上のように構成されたモータ制御装置において、ECU100のプロセッサ100Aが実行するPWM制御処理の一例について図16を参照して説明する。PWM制御処理は、例えば、車両2のイグニッションスイッチ(図示省略)がオンとなったことを契機として所定の周期(例えば、0.1μ秒)ごとに実行される。但し、これに限るのものではなく、PWM制御処理は、例えば、操舵トルクセンサ20からの信号に基づいて操舵トルク用の閾値以上の操舵トルクを検出したこと又は舵角センサ22からの信号に基づいて舵角用の閾値以上の舵角を検出したことを契機として実行されてもよい。
ステップ10では、まず、プロセッサ100Aは、舵角、操舵トルク及び車速を取得し、これらに基づいてモータ14の出力トルクの目標値を演算する。次に、プロセッサ100Aは、出力トルクの目標値に応じて目標電流である各通電系統のd、q軸電流指令値Id1*、Iq1*、Id2*、Iq2*を演算する。
ステップ12では、プロセッサ100Aは、d、q軸電流指令値に基づいて第1のPWM制御信号を生成する。プロセッサ100Aは、まず、各通電系統の三相電流検出値Iu1、Iv1、Ix1、Iu2、Iv2、Iw2、角速度検出値ωr及び回転角度θを取得し、回転角度を用いて三相電流指令値を各通電系統のd、q軸電流検出値Id1、Iq1、Id2、Iq2に変換する。次に、プロセッサ100Aは、通電系統毎に、d、q軸電流指令値、d、q軸電流検出値及び角速度検出値を用いてd、q軸電流指令値とd、q軸電流検出値とが一致するようなd、q軸電圧指令値を演算する。また、プロセッサ100Aは、回転角度θを用いて第1通電系統のd、q軸電圧指令値を三相電圧指令値に変換し、回転角度θから所定の角度(例えば、30°)を減算した回転角度を用いて第2通電系統のd、q軸電圧指令値を三相電圧指令値に変換する。その後、プロセッサ100Aは、通電系統毎に、三相電圧指令値と搬送波との比較に基づいて第1のPWM制御信号を生成する。
ステップ14では、プロセッサ100Aは、通電系統毎に、生成した第1のPWM制御信号に施すデッドタイム補償の極性を判定するための所定の閾値を決定する処理を実行する。所定の閾値は、例えば、0に初期設定されているが、上述したように、電流差に応じて変更又は維持すべく、ステップ14の処理を実行する。
ステップ16では、プロセッサ100Aは、通電系統毎に、決定した閾値と三相電流検出値との比較に基づいてデッドタイム補償の増加補正及び減少補正のいずれを実行するかを判定する。すなわち、プロセッサ100Aは、デッドタイム補償の極性(補正極性)を決定する。
ステップ18では、プロセッサ100Aは、通電系統毎に、決定した補正極性に応じて第1のPWM制御信号にデッドタイム補償を施すための補正処理を実行する。すなわち、プロセッサ100Aは、第1のPWM制御信号の増加補正又は減少補正を実行する。
ステップ20では、プロセッサ100Aは、各通電系統の補正後のPWM制御信号である第2のPWM制御信号を各駆動回路300A、300Bに出力し、処理を終了させる。その後、各駆動回路300A、300Bからこれらに対応するインバータ200A、200Bに第2のPWM制御信号に応じたゲート信号が出力される。これにより、インバータ200A、200Bの上下アーム200A1~200A6、200B1~200B6が第2のPWM制御信号に基づいてオンオフ駆動される。したがって、モータ14に電圧が印加されモータ14が駆動する。
図17は、図16のステップ14の処理の一例を示すフローチャートである。
ステップ100では、プロセッサ100Aは、第1巻線組14Aの三相電流のうちゼロクロスが発生した相電流があるか否かを判定する。プロセッサ100Aは、例えば、第1巻線組14Aの三相電流検出値のいずれかが所定の閾値の初期設定値である0となったときにゼロクロスが発生した相電流があると判定する。
尚、上述したように所定の閾値の初期設定値は0以外であってもよい。この場合、処理は、ステップ100において第1巻線組14Aの三相電流検出値のいずれかが初期設定値となったときにステップ102に進むことは勿論である。
ステップ102では、プロセッサ100Aは、ゼロクロスの発生順序が正しいか否かを判定する。ここで、図13~図15に示すように、デッドタイム補償の切り替えタイミング変更前の三相電流の波形は歪んでおり、三相電流検出値は比較的短い時間間隔でゼロクロスが発生するおそれがある。そのため、ステップ100でYESと判定される頻度が高くなり、詳細を後述する閾値の変更が頻繁に行われてしまう。ところで、正弦波PWM制御では、一般に、U相電流の位相はV相電流の位相よりも電気角で120°進んでおり、V相電流の位相はW相電流の位相よりも電気角で120°進んでいる。また、各相電流のゼロクロスは、電気角で180°毎に発生する。以上の点から、ゼロクロスは、U相電流、W相電流、V相電流の順に発生する。
そこで、閾値の変更が頻繁に行われるのを抑制すべく、プロセッサ100Aは、ステップ100において、ゼロクロスが発生した相電流を毎回記憶しておく。そして、ステップ102において、プロセッサ100Aは、前回ゼロクロスが発生した相電流と今回ゼロクロスが発生した相電流とを比較する。例えば、今回ゼロクロスが発生した相電流がU1相電流である場合、前回ゼロクロスが発生した相電流がV1相電流であれば、ゼロクロスの発生順序が正しいと判定することが可能である。プロセッサ100Aは、ゼロクロスの発生順序が正しいと判定すると、処理をステップ104に進める。
以下、X=U1、U2、V1、V2、W1又はW2として、X相電流検出値をIxといい、各通電系統のX1、X2相電流検出値のそれぞれをIx1、Ix2という。また、X相についての第1及び第2のPWM制御信号PWM(X)、PWM(X)*という。さらに、第1通電系統のX1相についての第1及び第2のPWM制御信号のそれぞれをPWM(X1)、PWM(X1)*といい、第2通電系統のX2相についての第1及び第2のPWM制御信号のそれぞれをPWM(X2)、PWM(X2)*という。
ステップ104では、プロセッサ100Aは、ゼロクロス発生時(Ix1が初期設定値になった場合)のIx1とIx2との差(電流差ΔIx=Ix2-Ix1)を算出する。
ステップ106では、プロセッサ100Aは、電流差ΔIxが第1の範囲外であるか否かを判定する。例えば、プロセッサ100Aは、電流差ΔIxが第1の範囲の下限値未満のとき、又は、電流差ΔIxが第1の範囲の上限値よりも大きいとき、電流差ΔIxが第1の範囲外であると判定する。そして、プロセッサ100Aは、電流差ΔIxが第1の範囲外であると判定すると、処理をステップ108に進める。
ステップ108では、プロセッサ100Aは、X相電流の波形(第1巻線組14AのX1相電流及び第2巻線組14BのX2相電流の両方の波形)が立ち下がり波形であるか否かを判定する。例えば、プロセッサ100Aは、Ix1(Ix2)の今回値がその前回値未満であれば、第1巻線組14AのX1相電流(第2巻線組14BのX2相電流)の波形が立ち下がり波形であると判定する。
但し、上述したように、デッドタイム補償の切り替えタイミング変更前は三相電流の波形は歪んでおり、三相電流の波形は比較的短い時間間隔で立ち下がり波形と立ち上がり波形とを繰り返す場合がある。そのため、詳細を後述する閾値の変更を理想通りに行うことができないおそれがある。そこで、プロセッサ100Aは、Ix1、Ix2に基づいて移動平均値を演算し、記憶しておいてもよい。そして、ステップ108では、プロセッサ100Aは、Ix1(Ix2)の今回値に基づいて演算した移動平均値の今回値がその前回値未満のときに第1巻線組14AのX1相電流(第2巻線組14BのX2相電流)の波形が立ち下がり波形であると判定する。プロセッサ100Aは、X1、X2相電流の波形が立ち下がり波形であると判定すると、処理をステップ110に進める。
ステップ110では、プロセッサ100Aは、X1、X2相電流の波形が立ち下がり波形である場合の所定の閾値を電流差に応じて定まる値(例えば、電流差の絶対値)を初期設定値に加算した第1の閾値とする。すなわち、プロセッサ100Aは、X相電流の波形が立ち下がり波形である領域でのデッドタイム補償の切り替え判定用の閾値を第1の閾値に変更する。その後、プロセッサ100Aは、処理をステップ16に進める。
一方、ステップ108において、プロセッサ100Aは、X相電流の波形が立ち下がり波形でないと判定すると、処理をステップ112に進める。この場合、X1、X2相電流の波形は立ち上がり波形である。
ステップ112では、プロセッサ100Aは、X1、X2相電流の波形が立ち上がり波形である場合の所定の閾値を電流差に応じて定まる値(例えば、電流差の絶対値)を初期設定値から減算した第2の閾値とする。すなわち、プロセッサ100Aは、X相電流の波形が立ち上がり波形である領域でのデッドタイム補償の切り替え判定用の閾値を第2の閾値に変更する。その後、プロセッサ100Aは、処理をステップ16に進める。
また、ステップ100において、プロセッサ100Aは、第1巻線組14Aの三相電流のいずれにおいてもゼロクロスが発生していないと判定すると、所定の閾値の今回値を前回値に維持し、処理をステップ16に進める。ステップ102においてゼロクロスの発生順序が正しくない場合(「NO」)も、ステップ106において電流差ΔIxが第1の範囲内である場合(「NO」)も、所定の閾値の今回値が前回値に維持され、処理はステップ16に進む。
ここで、PWM制御処理の開始後、処理がステップ110及びステップ112のいずれにも進んでいなければ、所定の閾値は初期設定値のままである。所定の閾値が初期設定値のままである場合、立ち下がり波形領域及び立ち上がり波形領域のいずれにおいても初期設定値を基準にデッドタイム補償の切り替えが実行される。この場合、X相電流の極性(正負)に応じてデッドタイム補償の極性が切り替ええられる。
また、例えば、処理が初めてステップ110(又はステップ112)に進んだ場合、所定の閾値は、立ち下がり波形領域での閾値としての第1の閾値(又は初期設定値)と、立ち上がり波形領域での閾値としての初期設定値(又は第2の閾値)と、を有することになる。
さらに、例えば、前回の処理がステップ110に進み、今回の処理がステップ112に進んだ場合、所定の閾値は、第1の閾値と第2の閾値とを有することになる。すなわち、所定の閾値は初期設定値を基準として増加方向と減少方向とにオフセットされることになる。
図18は、図16のステップ16の処理の一例を示すフローチャートである。尚、ステップ16の処理は、各通電系統の三相電流検出値の全てについて実行される。
ステップ200では、プロセッサ100Aは、X相電流の波形が立ち下がり波形であるか否かを判定する。この判定は、ステップ110と同様である。プロセッサ100Aは、X相電流の波形が立ち下がり波形であると判定すると、処理をステップ202に進める。
ステップ202では、プロセッサ100Aは、X相電流検出値Ixが所定の閾値よりも大きいか否かを判定する。ここで、所定の閾値が第1の閾値を有する場合、ステップ202でIxと比較される閾値は第1の閾値である。一方、所定の閾値が第1の閾値を有していない場合、ステップ202でIxと比較される所定の閾値は初期設定値である。
尚、ステップ202において、プロセッサ100Aは、例えば、Ixの移動平均値の今回値が所定の閾値よりも大きいか否かを判定してもよい。これにより、X相電流検出値が比較的短い時間間隔で所定の閾値を超えたり所定の閾値以下となったりすることに伴って後述するデッドタイム補償の極性が頻繁に変化するのを抑制している。すなわち、デッドタイム補償における増加補正と減少補正との頻繁な切り替えが抑制される。ステップ202において、プロセッサ100Aは、Ixが所定の閾値よりも大きいと判定すると、処理をステップ204に進める。
ステップ204では、プロセッサ100Aは、デッドタイム補償の極性を正(+)に設定する。すなわち、X相についての第1のPWM制御信号PWM(X)のデッドタイム補償では、増加補正が実行される。
一方、ステップ202において、プロセッサ100Aは、Ixが所定の閾値以下であると判定すると、処理をステップ206に進める。
ステップ206では、プロセッサ100Aは、デッドタイム補償の極性を負(-)に設定する。すなわち、X相についての第1のPWM制御信号PWM(X)のデッドタイム補償では、減少補正が実行される。
また、ステップ200において、プロセッサ100Aは、X相電流の波形が立ち上がり波形であると判定すると、処理をステップ208に進める。
ステップ208では、プロセッサ100Aは、Ixが所定の閾値未満であるか否かを判定する。ここで、所定の閾値が第2の閾値を有する場合、ステップ208でIxと比較される所定の閾値は第2の閾値である。一方、所定の閾値が第2の閾値を有していない場合、ステップ208でIxと比較される所定の閾値は初期設定値である。また、ステップ208の判定は、ステップ202で説明したように、Ixの移動平均値の今回値と所定の閾値との比較によって実行されてもよい。そして、プロセッサ100Aは、Ixが所定の閾値未満であると判定すると、処理をステップ210に進める。
ステップ210では、プロセッサ100Aは、デッドタイム補償の極性を負(-)に設定する。
一方、ステップ208において、プロセッサ100Aは、Ixが所定の閾値以上であると判定すると、処理をステップ212に進める。
ステップ212では、プロセッサ100Aは、デッドタイム補償の極性を正(+)に設定する。
尚、ステップ16の処理は、上述したように各通電系統の三相電流検出値の全てについて実行されるので、プロセッサ100Aは、U1相についての第1のPWM制御信号PWM(U1)のデッドタイム補償の極性を決定すると、V1相についての第1のPWM制御信号PWM(V1)、W1相についての第1のPWM制御信号PWM(W1)の順にデッドタイム補償の極性を決定する。その後、プロセッサ100Aは、U2、V2、W2相についてのPWM制御信号PWM(U2)、PWM(V2)、PWM(W2)のデッドタイム補償の極性を決定すると、処理をステップ18に進める。
図19は、図16のステップ18の処理の一例を示すフローチャートである。尚、ステップ18の処理も、ステップ16で各通電系統の三相電流検出値の全てについて実行したのと同様、各通電系統の第1のPWM制御信号の全てについて実行される。
ステップ300では、第1のPWM制御信号PWM(X)の補正値(デッドタイム補償量)を決定する。この補正値は、上述したように、例えば、直流電圧Ed、デッドタイムtd及びキャリア周期Tcを用いて(Ed/2)×(td/Tc)で表される。但し、これに限るものではなく、補正値は、直流電圧Ed、デッドタイムtd及びキャリア周期Tcに加えて、例えば、d、q軸電流指令値を変換した三相電流指令値、三相電圧指令値、三相電流検出値及びロータ142の回転角度θを考慮してもよい。例えば、第1通電系統のU1相についての第1のPWM制御信号PWM(U1)の補正値は、直流電圧Ed、デッドタイムtd、キャリア周期Tc、U1相電流指令値、U1相電圧指令値、U1相電流検出値Iu1及び回転角度θを考慮して決定される。
ステップ302では、プロセッサ100Aは、ステップ16の処理で決定したデッドタイム補償の極性が正(+)であるか否かを判定する。そして、プロセッサ100Aは、極性が正であると判定すると、処理をステップ304に進める。
ステップ304では、プロセッサ100Aは最終的な補正値をステップ300で決定した補正値(最終的な補正値=+決定した補正値)とし、処理をステップ308に進める。
一方、ステップ302において、プロセッサ100Aは、デッドタイム補償の極性が負(-)であると判定すると、処理をステップ306に進める。
ステップ306では、プロセッサ100Aは、最終的な補正値をステップ300で決定した補正値にマイナス(-)を乗算した値(最終的な補正値=-決定した補正値)とし、処理をステップ308に進める。
ステップ308では、プロセッサ100Aは、第1のPWM制御信号PWM(X)にステップ304又は306で決定した最終的な補正値を加えた値を第2のPWM制御信号PWM(X)*とする。すなわち、処理がステップ304からステップ308に進んだ場合は、第1のPWM制御信号PWM(X)に最終的な補正値を加算する増加補正(第1の補償)が実行される。一方、処理がステップ306からステップ308に進んだ場合は、第1のPWM制御信号PWM(X)から最終的な補正値を減算する減少補正(第2の補償)が実行される。その後、プロセッサ100Aは、各通電系統の第1のPWM制御信号の全てについてステップ308の処理を実行すると、処理をステップ20に進める。
以上の説明では、磁気的な干渉に起因する電流歪みが発生したか否かを、2つの同相電流の一方がゼロクロスした場合の電流差に基づいて判定したが、これに限るものではない。例えば、第1巻線組14Aの三相電流検出値のゼロクロスが発生した時間と、第2巻線組14Bの三相電流検出値のゼロクロスが発生した時間との差(すなわち、ゼロクロス発生時の位相差)に基づいて電流歪みが発生したか否かを判定してもよい。上記位相差は、三相電流の歪みが小さい場合、所定の位相差(例えば、30°)などに応じて取り得る値として許容される上限値及び下限値で規定される範囲(第2の範囲)内の値を取り得る。したがって、プロセッサ100Aは、巻線組14A、14Bの同相電流のそれぞれが所定の閾値(初期設定値)となった場合の位相差が第2の範囲外のとき、電流歪みが発生したと判定する。この判定を反映させたステップ14の処理の変形例について図20を参照して説明する。
図20に示す処理は、ステップ100~106に代えてステップ114~ステップ122が挿入されている点で図17に示す処理と異なる。
ステップ114は、プロセッサ100Aは、各巻線組14A、14Bの三相電流のうちゼロクロスが発生した相電流があるか否かを判定する。そして、プロセッサ100Aは、各巻線組14A、14Bの三相電流のうちゼロクロスが発生した相電流があると判定すると、処理をステップ116に進める。
ステップ116では、プロセッサ100Aは、図17のステップ102と同様、ゼロクロスの発生順序が正しいか否かを判定する。例えば、プロセッサ100Aは、ステップ114においてゼロクロスが発生した相電流が第1巻線組14AのU1相電流であると判定すると、第1巻線組14Aについて前回ゼロクロスが発生した相電流がV1相電流であれば、ゼロクロスの発生順序が正しいと判定する。また、例えば、プロセッサ100Aは、ステップ114においてゼロクロスが発生した相電流が第2巻線組14BのV2相電流であると判定すると、第2巻線組14Bについて前回ゼロクロスが発生した相電流がW2相電流であれば、ゼロクロスの発生順序が正しいと判定する。そして、プロセッサ100Aは、ゼロクロスの発生順序が正しいと判定すると、ゼロクロスが発生した相電流の相及びゼロクロスが発生した時間を記憶し、処理をステップ118に進める。
ステップ118では、プロセッサ100Aは、第2巻線組14Bについてゼロクロスが発生したか否かを判定する。より詳細には、プロセッサ100Aは、ゼロクロスが発生した相電流が第2巻線組14BのU2、V2、W2相電流のいずれかであるかを判定する。そして、プロセッサ100Aは、ゼロクロスが発生した電流がU2、V2、W2相電流のいずれかであると判定すると、処理をステップ120に進める。
ステップ120では、プロセッサ100Aは、各巻線組14A、14Bにおいてゼロクロスが発生した時間差、すなわち、2つの同相電流のゼロクロス発生時の位相差を算出する。より詳細には、プロセッサ100Aは、ステップ120で「YES」と判定された相電流についてのゼロクロスが発生した時間t(Ix2)と、記憶した相電流の相のうちステップ114で「YES」と判定された相電流と同相の相電流についてゼロクロスが発生した時間(t(Ix1))との差である位相差Δtx=t(Ix2)-t(Ix1)を算出する。但し、これに限るものではなく、例えば、プロセッサ100Aは、ステップ116で「YES」と判定された相電流についてのゼロクロス発生時間と、記憶したゼロクロス発生時間のうち直近の発生時間との差を算出してもよい。これは、U、V、W相電流の位相差(120°)よりも各巻線組14A、14Bの同相電流の位相差(例えば、30°)の方が小さいため、ゼロクロスは、U1相電流、U2相電流、W1相電流、W2相電流、V1相電流、V2相電流の順に発生するからである。例えば、U2相電流にゼロクロスが発生した場合、直近のゼロクロスが発生した相電流はU1相電流である。
ステップ122では、プロセッサ100Aは、算出した位相差Δtxが第2の範囲外であるか否かを判定する。ここで、第2の範囲を規定する上限値及び下限値は、第1の範囲について説明したのと同様、例えば、所定の位相差に加えて電流センサ208A、208Bの検出ばらつきなどに応じて予め設定されている。また、上限値及び下限値は、所定の位相差及び検出ばらつきに加えて、モータ回転速度を考慮してもよい。そして、プロセッサ100Aは、Δtxが第2の範囲外であるとき、電流歪みが発生したと判定し、処理をステップ108に進める。
ステップ108の処理は、既に図17で説明した通りである。ステップ108において、プロセッサ100Aは、立ち下がり波形を検出すると、処理をステップ110に進め、立ち下がり波形領域での所定の閾値を、位相差に応じて定まる値(加算値)を初期設定値に加算して得られる第1の閾値とする。一方、ステップ108において、プロセッサ100Aは、立ち上がり波形を検出すると、処理をステップ112に進め、立ち上がり波形領域での所定の閾値を、位相差に応じて定まる値(減算値)を初期設定値から減算して得られる第2の閾値とする。図20に示す処理を実行した場合の加算値及び減算値は、例えば、ゼロクロス発生時の位相差Δtx、電流センサ208A、208Bによる検出ばらつき及びモータ回転速度などを考慮した値である。また、加算値及び減算値は、位相差Δtxに基づいて予測される電流差の絶対値に相当する値、又は、この値に加えて検出ばらつき及びモータ回転速度などを考慮した値であってもよい。
一方、ステップ114において、プロセッサ100Aは、ゼロクロスが発生した相電流がないと判定すると、所定の閾値の今回値を前回値に維持して、処理をステップ16に進める。また、ステップ116でゼロクロスの発生順序が正しくないと判定された場合、ステップ118で第2通電系統についてゼロクロスが発生していないと判定された場合、又は、ステップ122でΔtxが第2の範囲内であると判定された場合も、所定の閾値の今回値は前回値に維持され、処理がステップ16に進む。
図20に示す処理で所定の閾値が変更された後の処理は、図18、19に示す処理と同様である。したがって、ゼロクロス発生時の電流差に基づく所定の閾値の変更に代えて、ゼロクロス発生時の位相差に基づいて所定の閾値を変更した場合も、デッドタイム補償の切り替えタイミングが早められる。これにより、相電流の波形の歪みを抑制することができる。
次に、デッドタイミング補償の切り替えタイミングの変更の変形例の詳細について説明する。この変形例では、図21に示す機能ブロック図で説明すると、デッドタイム補償部114に目標電流演算部110が演算したd、q軸電流指令値Id1*、Iq1*、Id2*、Iq2*、角度演算部102が演算した回転角度θが入力される。そして、デッドタイム補償部114は、電流差が第1の範囲外のとき又は位相差が第2の範囲外のとき、通電系統毎に、回転角度θ及び所定の位相変更量を用いてd、q軸電流指令値を三相電流指令値に変換する。
より詳細には、デッドタイム補償部114は、三相電流検出値よりも所定の位相変更量だけ位相を進めた三相電流指令値を算出する。そして、デッドタイム補償部114は、通電系統毎に、位相を進めた三相電流指令値と所定の閾値の初期設定値(=0)とを比較してデッドタイム補償の極性を決定する。すなわち、この変形例では、所定の閾値を変更せず、デッドタイム補償の切り替えタイミングを三相電流指令値と所定の閾値との比較に基づいて変更する。ここで、三相電流検出値は、磁気的な干渉に伴う歪みの影響はあるものの、位相を進める前の三相電流指令値に応じた変化を示す。したがって、位相を進めた三相電流指令値と所定の閾値との比較に基づいて変更されるデッドタイム補償の切り替えタイミングは、位相を進める前の切り替えタイミングよりも早くなる。
ここで、所定の位相変更量は、例えば、各巻線組14A、14Bのd、q軸電流指令値、ゼロクロス発生時の電流差又は位相差と、モータ回転速度ωrとに応じて予め定められた位相である。より詳細には、例えば、実機試験などによって、d、q軸電流指令値、ゼロクロス発生時の電流差又は位相差、及び、モータ回転速度ωrと、三相電流の歪みが抑制されるような位相変更量との関係を規定するテーブルを予め作成し、デッドタイム補償部114(より詳細には、ECU100の不揮発性メモリ100B)に記憶させておく。そして、デッドタイム補償部114は、記憶したテーブルを参照して、d、q軸電流指令値、ゼロクロス発生時の電流差又は位相差、及び、モータ回転速度の現在値に応じて予め定められた位相を読み出す。つまり、デッドタイム補償部114は、d、q軸電流指令値を変換して求まる巻線組14A、14Bの三相電流指令値の位相を予め定められた位相だけ進める。
例えば、図22を参照して、U1、U2相についての第1のPWM制御信号PWM(U1)、PWM(U2)のデッドタイム補償について説明する。また、以下では、所定の閾値を0とし、U1、U2相電流検出値Iu1、Iu2のゼロクロス発生時の位相差が第2の範囲外となったか否かを判定する場合について説明する。
Iu1は時刻t13で0となり、その後、Iu2は時刻t14で0となっている。そして、デッドタイム補償部114は、位相差Δtu(=t14-t13)が第2の範囲外となったとき、上述した位相変更量に基づいて三相電流指令値を算出する。より詳細には、例えば、位相変更量を30°とすると、U1、U2相電流指令値の波形(図22において実線で示す)は、位相を進める前のU1、U2相電流指令値の波形(図22において点線で示す)よりも30°だけ進んだ波形となる。そして、デッドタイム補償部114は、位相を進めたU1、U2相電流指令値が正のときは、第1のPWM制御信号PWM(U1)、PWM(U2)の増加補正を実行し、位相を進めたU1、U2相電流指令値が負のときは、第1のPWM制御信号PWM(U1)、PWM(U2)の減少補正を実行する。
要するに、図22では、U1相電流指令値が所定の閾値以上になったとき(時刻t15、t19)にPWM(U1)の減少補正が増加補正に切り替わる。また、U1相電流指令値が所定の閾値以下になったとき(時刻t17)にPWM(U1)の増加補正が減少補正に切り替わる。さらに、U2相電流指令値が所定の閾値以上になったとき(時刻t16、t20)にPWM(U2)の減少補正が増加補正に切り替わる。また、U2相電流指令値が所定の閾値以下になったとき(時刻t18)にPWM(U2)の増加補正が減少補正に切り替わる。
このように、デッドタイム補償の切り替えタイミングは、三相電流指令値の位相を進めた分だけ早められる。これにより、例えば、時刻t17以降、Iu1が0となる前からIu1を減少させる方向(図22に示す矢印Cの方向)に変化させるような第2のPWM制御信号PWM(U1)*の出力が可能となる。また、時刻t19以降、Iu1が0となる前からIu1を増加させる方向(図22に示す矢印Dの方向)に変化させるような第2のPWM制御信号PWM(U2)*の出力が可能となる。これにより、所定の閾値の変更により切り替えタイミングを変更した場合と同様、三相電流の波形を理想的な正弦波の波形に近付けることが可能となるので、三相電流の歪みを抑制することができる。したがって、位相変更量は、例えば、実機試験などによって、d、q軸電流指令値と、ゼロクロス発生時の電流差又は位相差と、モータ回転速度ωrとに応じて三相電流の歪みが抑制されるように予め定められた値である。
三相電流指令値の位相変更によりデッドタイム補償の切り替えタイミングを変更するデッドタイム補償部114の機能を有するECU100のプロセッサ100Aが実行する処理について、図23~25を参照して説明する。
図23は、プロセッサ100Aが実行するPWM制御処理の変形例を示すフローチャートであり、図16に示すステップ14、16をステップ22、24に置き換えている点で図16に示すPWM制御処理と異なる。ステップ12において、プロセッサ100Aは、通電系統毎に第1のPWM制御信号を生成すると、処理をステップ22に進める。
ステップ22では、プロセッサ100Aは、各通電系統の三相電流指令値の位相を変更するか否かを判定するための処理を実行する。
図24は、ステップ22の処理の一例を示すフローチャートである。
ステップ400、402、404、406及び408の処理は、それぞれ、図20に示すステップ114、116、118、120及び122の処理と同様である。すなわち、図24に示す処理では、ゼロクロス発生時の位相差が第2の範囲外であるか否かを判定することによって電流歪みが発生したか否かを判定している。但し、これに限るものではなく、ステップ400~408の処理に代えて図17に示すステップ100~106の処理を挿入してもよい。この場合、ゼロクロス発生時の電流差が第1の範囲外であるか否かを判定することによって電流歪みが発生したか否かを判定する。
ステップ408において、プロセッサ100Aは、ゼロクロス発生時の位相差Δtxが第2の範囲外であると判定すると、処理をステップ410に進める。この場合、各通電系統の三相電流指令値の位相を進める変更が許可される。これにより、位相を進めた三相電流指令値の極性(正負)に応じてデッドタイム補償の増加補正及び減少補正を実行することが可能となり、切り替えタイミングが早められる。
ステップ410では、プロセッサ100Aは、上述したように、予め作成されたテーブルを用いて、d、q軸電流指令値、モータ回転速度、及び、位相差Δtxに応じて予め定められた、三相電流指令値の位相変更量を決定する。
ステップ412では、プロセッサ100Aは、決定した位相変更量及び回転角度θに基づいて各通電系統のd、q軸電流指令値を三相電流指令値に変換し、処理をステップ24に進める。上述したように、第1巻線組14Aの三相電流指令値は、回転角度θに位相変更量を加算した回転角度を用いて算出される。また、所定の位相差が30°であれば、第2巻線組14Bの三相電流指令値は、回転角度θから30°を減算した値に位相変更量を加算した回転角度を用いて算出される。
一方、ステップ408において、プロセッサ100Aは、位相差Δtxが第2の範囲内であると判定すると、処理をステップ24に進める。この場合、電流歪みが発生していないので、位相変更量を決定せず、位相を進めた三相電流指令値を算出しない(三相電流指令値の位相の変更を禁止する)。また、ステップ400、402又はステップ404において「NO」と判定された場合も同様である。
ステップ24では、プロセッサ100Aは、デッドタイム補償の極性を決定する。図25は、ステップ24の処理の一例を示すフローチャートである。
ステップ500では、プロセッサ100Aは、位相が変更されたか否かを判定する。この判定は、例えば、図24に示すステップ412の処理が実行され、位相を進めた三相電流指令値が算出されたか否かを判定することにより実行される。そして、プロセッサ100Aは、位相を進めた三相電流指令値が算出されており、位相が変更されたと判定すると、処理をステップ502に進める。
ステップ502では、プロセッサ100Aは、算出した各通電系統のX相電流指令値が所定の閾値よりも大きいか否かを判定する。そして、プロセッサ100Aは、X相電流指令値が所定の閾値よりも大きいと判定すると、処理をステップ504に進める。
ステップ504では、プロセッサ100Aは、デッドタイム補償の極性を正(+)に設定し、処理をステップ18に進める。したがって、X相についての第1のPWM制御信号PWM(X)の増加補正が実行される。
一方、ステップ502において、プロセッサ100Aは、X相電流指令値が所定の閾値以下であると判定すると、処理をステップ506に進める。
ステップ506では、プロセッサ100Aは、デッドタイム補償の極性を負(-)に設定し、処理をステップ18に進める。したがって、X相についての第1のPWM制御信号PWM(X)の減少補正が実行される。
また、ステップ500において、プロセッサ100Aは、位相を進めた三相電流指令値が算出されておらず、位相が変更されていないと判定すると、処理をステップ508に進める。ステップ508以降の処理では、X相電流検出値Ixと所定の閾値と比較に基づいてデッドタイム補償の極性を判定する。すなわち、X相電流検出値Ixの極性に応じた通常のデッドタイム補償が実行される。
ステップ508では、プロセッサ100Aは、Ixが所定の閾値よりも大きいか否かを判定する。そして、プロセッサ100Aは、Ixが所定の閾値よりも大きいと判定すると、処理をステップ510に進める。
ステップ510では、プロセッサ100Aは、デッドタイム補償の極性を正(+)に設定し、処理をステップ18に進める。したがって、X相についての第1のPWM制御信号PWM(X)の増加補正が実行される。
一方、ステップ508において、プロセッサ100Aは、Ixが所定の閾値以下であると判定すると、処理をステップ512に進める。
ステップ512では、プロセッサ100Aは、デッドタイム補償の極性を負(-)に設定し、処理をステップ18に進める。したがって、X相についての第1のPWM制御信号PWM(X)の減少補正が実行される。
ところで、巻線組14A、14Bの三相電流値の和(電流和)Iu1+Iv1+Iw1、Iu2+Iv2+Iw2のそれぞれは、インバータ200A、200B、駆動回路300A、300B及び巻線組14A、14Bの故障などの各通電系統の異常や電流センサ208A、208Bの異常がなければ、略0となる。そこで、プロセッサ100Aは、例えば、第1巻線組14A及び第2巻線組14Bの一方についての電流和が0を含む異常判定用の所定の範囲(第3の範囲)外となったとき、当該巻線組への通電を停止する。
例えば、プロセッサ100Aは、第1巻線組14Aの電流和が第3の範囲外のとき、第1電源リレー204Aをオフにすると共に第1駆動回路300AへのPWM制御信号の出力を停止する。これにより、第1巻線組14Aへの通電を停止することが可能となる。この処理は、図16又は図23に示すステップ10の処理において実行するか、又は、ステップ10の処理よりも前に実行するなど、三相電流検出値を取得したときに実行される。
通電系統の一方に異常が生じ、異常が生じた通電系統に含まれる巻線組への通電が停止されると、巻線組14A、14B間に生じる磁気的な干渉による影響が抑制される。そこで、プロセッサ100Aは、他方の通電系統のインバータのPWM制御におけるデッドタイム補償処理を図11、12において説明した通常時のデッドタイム補償処理に変更する。例えば、第1通電系統に異常が生じた場合、プロセッサ100Aは、第2巻線組14Bの三相電流検出値Iu2、Iv2、Iw2の極性(所定の閾値の初期設定値(=0)との比較)に応じた第1のPWM制御信号PWM(U2)、PWM(V2)、PWM(W2)のデッドタイム補償処理を実行する。すなわち、所定の閾値又は三相電流指令値の位相を変更せずに、PWM(U2)、PWM(V2)、PWM(W2)の増加補正又は減少補正が実行される。
また、デッドタイミング補償の切り替えタイミングを所定の閾値の変更に応じて変更するように構成されたECU100のプロセッサ100Aは、変更後の閾値を変更時のモータ回転速度及びd、q軸電流指令値などと関係付けて不揮発性メモリ100Bに記憶させるようになっていてもよい。そして、次回の車両2のイグニッションスイッチがオンした後のPWM制御処理を実行する際、プロセッサ100Aは、記憶しておいた閾値を用いてデッドタイム補償を実行するようになっていてもよい。
尚、以上では、ECU100が2つの通電系統の通電を制御する場合について説明したが、これに限るものではなく、ECU100が3つ以上の通電系統の通電を制御してもよい。例えば、ECU100は、磁気的に結合する3つ以上の三相巻線組を備えたモータ14を、各巻線組のそれぞれに対応して設けられた3つ以上のインバータの出力電圧を正弦波PWM制御することで駆動するものであってもよい。
通電系統が3つ設けられている場合、すなわち、巻線組及びインバータのそれぞれが3つ設けられている場合について説明する。以下、3つの巻線組及びインバータのそれぞれを、第1巻線組、第2巻線組及び第3巻線組、並びに、第1インバータ、第2インバータ及び第2インバータとする。上述したように、三相モータのトルクリプルは、電気角60°の周期で発生する。3つの通電系統の通電制御で発生する第1~第3のトルクでトルクリプルを打ち消すためには、1スロット分の電気角を20°にする必要がある。そのため、モータ14の極数が10極である場合、1スロット分の機械角は4°(=電気角20°/5(=極数10/2))である必要があり、スロット数は90スロットである必要がある。また、スロットの内周側に配置された第1巻線組と外周側に配置された第3の巻線組との間に第2巻線組が配置される。さらに、通電系統が2つの場合には三相巻線のそれぞれはステータコア14Cの周方向に隣り合う2つのスロットに配置されていたのに対し(図5を参照)、3つの巻線組のそれぞれを構成する三相巻線のそれぞれは、周方向に隣り合う3つのスロットに配置される。また、第2の巻線組は、第1巻線組に対してステータコア14Cの周方向に沿って時計回りに1スロット分ずらして配置され、第3の巻線組は第2巻線組に対してステータコア14Cの周方向に沿って時計回りに1スロット分ずらして配置される。これにより、ステータコア14Cの径方向に隣り合う巻線組に流れる電流の位相差を電気角で20°にすることができる。
この場合、ECU100のプロセッサ100Aは、3つの巻線組の同じ相の巻線に流れる相電流の位相差(例えば、第1巻線組のU1相電流と第2巻線組のU2相電流の位相差、U2相電流と第3巻線組のU3相電流の位相差)が所定の位相差(通電系統が3つの場合は20°)となるように各インバータの上下アームをオンオフ駆動するためのPWM制御信号を生成する。
また、デッドタイム補償について、プロセッサ100Aは、所定の位相差を有する相電流のうち少なくとも2つの相電流(例えば、U2相電流及びU3相電流)のゼロクロス発生時の電流差(位相差)が第1の範囲(第2の範囲)外のとき、当該2つの同相電流についてのPWM制御信号の増加補正と減少補正との切り替えタイミングを電流差(位相差)に応じて早めるように変更する。
通電系統が4つ設けられている場合には、1スロット分の電気角を15°にすることでトルクリプルを打ち消すことが可能である。この場合、モータ14の極数が10極であれば、1スロット分の機械角は3°となり、360°をこの機械角3°で除算することによりスロット数は、120スロットとなる。つまり、トルクリプルの発生周期60°を通電系統の数(巻線組の数)で除算した電気角が1スロット分の電気角となり、この電気角に対応する機械角及び極数に応じてモータのスロット数を決定すればよい。言い換えれば、巻線組の数をLとし、極数をMとし、スロット数をNとした場合、60°/L=(360°×N)×(M/2)という関係からこれらL、M、Nの関係は3×M×L=Nという式で表すことができる。尚、分布巻のモータの場合、スロット数Nと極数Mとの関係は、N:M=3×k:1(k=1,2,3…)となる場合が多い。また、通電系統が4つの場合、ステータコア14Cの内周側から外周側に向かって配置された4つの第1~第4巻線組は、それぞれ、ステータコア14Cの周方向に隣り合う4つ(すなわち巻線組の数と等しいスロット数)のスロットに配置される。さらに、第1巻線組がステータコア14Cの最も内周側に配置されている場合、第2~第4巻線組は、それぞれ、内周側に配置された巻線組に対してステータコア14Cの周方向に沿って時計回りに1スロット分ずらして配置される。これにより、隣り合う巻線組に流れる電流の位相差を15°にすることができる。また、PWM制御信号における所定の位相差についても、トルクリプルの発生周期を巻線組の数で除算した電気角(60°/L=15°)とすればよい。
また、以上では、図14に示すように、相電流の波形が減少(増加)変化する立ち下がり(立ち上がり)波形領域では、相電流の検出値がゼロクロス発生前に一度増加(減少)してから減少(増加)するように変化する特性を有するモータにモータ制御装置を適用した場合について説明した。したがって、デッドタイム補償の切り替えタイミングを早めることで、相電流の波形を理想的な波形に近付けることが可能である。但し、モータ14は、上述の特性を有するモータに限るものではない。例えば、モータ14は、その構造などにより上述の特性とは逆の特性を有するモータであってもよい。すなわち、モータ14が、相電流の波形が減少(増加)変化する立ち下がり(立ち上がり)波形領域では、相電流の検出値がゼロクロス発生前に理想的な波形に対して一度減少(増加)してから増加(減少)するように変化する特性を有する場合である。このようなモータにモータ制御装置を適用した場合、デッドタイム補償の切り替えタイミングを遅らせるように変更する。例えば、立ち下がり波形領域において、U1相についての第1のPWM制御信号PWM(U1)の減少補正の開始を遅らせることで、ゼロクロス発生前に理想的な波形に対して一度減少する傾向を示すU1相電流を増加する方向に変化させることが可能である。これにより、相電流の波形を理想的な波形に近付けることが可能となるので、相電流の波形の歪みを抑制することができる。要するに、モータ制御装置は、モータの特性などによっては、電流差又は位相差に応じてデッドタイム補償の切り替えタイミングを早めるように変更することに限るものではなく、切り替えタイミングを遅らせるように変更してもよい。同様に、三相電流指令値の位相の変更についても、モータの特性などによっては、位相を早めるように変更することに限るものではなく、位相を遅らせるように変更してもよい。
尚、当業者であれば、様々な上記実施形態の技術的思想について、その一部を省略したり、その一部を適宜組み合わせたり、その一部を置換したりすることで、新たな実施形態を生み出せることを容易に理解できるであろう。