(57)【要約】【課題】複数の系統を協調させて回転電機の駆動を制御する回転電機制御装置、および、これを用いた電動パワーステアリング装置を提供する。【解決手段】ＥＣＵ１０の制御部１３１、２３１は、対応して設けられるインバータ回路１２０、２２０に制御信号を出力する信号出力部１６５、２６５を有し、相互に通信可能である。１つのマスター制御部である第１制御部１３１は、それぞれの制御部１３１、２３１における制御信号を協調させる指令値を演算して送信する。スレーブ制御部である第２制御部２３１は、第１制御部１３１から送信される指令値に基づく制御信号を出力する。これにより、系統Ｌ１、Ｌ２を適切に協調させることができ、系統間の不整合や、調停の複雑さを低減することができる。【選択図】  図９
2018130007.tif 000002
【特許請求の範囲】
【請求項１】
複数の巻線組（８１、８２）を備える回転電機（８０）の駆動を制御する回転電機制御装置であって、
複数の駆動回路（１２０、２２０）と、
対応して設けられる前記駆動回路に制御信号を出力する信号出力部（１６５、２６５）を有し、相互に通信可能である複数の制御部（１３１〜１３６、２３１〜２３６）と、
を備え、
前記制御部には、全ての前記制御部における前記制御信号の生成に係る指令値を演算し、他の前記制御部に前記指令値を送信する１つのマスター制御部（１３１〜１３６）、および、前記マスター制御部から送信される前記指令値に基づく前記制御信号を出力する少なくとも１つのスレーブ制御部（２３１〜２３６）が含まれる回転電機制御装置。
【請求項２】
前記マスター制御部（１３１）は、前記指令値として電流指令値を前記スレーブ制御部（２３１）に送信する請求項１に記載の回転電機制御装置。
【請求項３】
前記マスター制御部（１３２）は、前記指令値としてトルク指令値を前記スレーブ制御部（２３２）に送信する請求項１に記載の回転電機制御装置。
【請求項４】
前記マスター制御部、ならびに、前記マスター制御部に対応して設けられる前記駆動回路および前記巻線組の組み合わせをマスター系統、
前記スレーブ制御部、ならびに、前記スレーブ制御部に対応して設けられる前記駆動回路および前記巻線組の組み合わせをスレーブ系統とすると、
前記マスター制御部は、前記マスター系統の電流検出値であるマスター電流検出値を前記スレーブ制御部に送信し、
前記スレーブ制御部は、前記スレーブ系統の電流検出値であるスレーブ電流検出値を前記マスター制御部に送信し、
前記マスター制御部および前記スレーブ制御部は、それぞれにおいて、前記マスター系統および前記スレーブ系統の電流和が電流和指令値となり、電流差が電流差指令値となるように制御する請求項２または３に記載の回転電機制御装置。
【請求項５】
前記マスター制御部、ならびに、前記マスター制御部に対応して設けられる前記駆動回路および前記巻線組の組み合わせをマスター系統、
前記スレーブ制御部、ならびに、前記スレーブ制御部に対応して設けられる前記駆動回路および前記巻線組の組み合わせをスレーブ系統とすると、
前記マスター制御部（１３３、１３４）は、前記マスター系統に係る電圧指令値、および、前記スレーブ系統に係る電圧指令値であるスレーブ電圧指令値を演算し、当該スレーブ電圧指令値を前記指令値として前記スレーブ制御部（２３３、２３４）に送信する請求項１に記載の回転電機制御装置。
【請求項６】
前記マスター制御部、ならびに、前記マスター制御部に対応して設けられる前記駆動回路および前記巻線組の組み合わせをマスター系統、
前記スレーブ制御部、ならびに、前記スレーブ制御部に対応して設けられる前記駆動回路および前記巻線組の組み合わせをスレーブ系統とすると、
前記マスター制御部（１３５）は、前記マスター系統に係る前記制御信号、および、前記スレーブ系統に係る前記制御信号であるスレーブ制御信号を演算し、当該スレーブ制御信号を前記指令値として前記スレーブ制御部（２３５）に送信する請求項１に記載の回転電機制御装置。
【請求項７】
前記スレーブ制御部は、前記スレーブ系統の電流検出値であるスレーブ電流検出値を前記マスター制御部に送信し、
前記マスター制御部は、前記マスター系統の電流検出値であるマスター電流検出値、および、前記スレーブ電流検出値に基づき、前記マスター系統および前記スレーブ系統の電流和が電流和指令値となり、電流差が電流差指令値となるように、前記マスター系統および前記スレーブ系統の電圧指令値を演算する請求項５または６に記載の回転電機制御装置。
【請求項８】
前記制御部は、電流検出値の演算後であって、電流フィードバック制御が開始するまでの期間に、前記電流フィードバック制御に必要な情報の送受信を行う請求項１〜７のいずれか一項に記載の回転電機制御装置。
【請求項９】
前記制御部は、前記制御信号の演算に必要な情報のうち、他の前記制御部から取得するものは、前回の制御周期における値を用いる請求項１〜７のいずれか一項に記載の回転電機制御装置。
【請求項１０】
前記制御部（１３６、２３６）は、自系統の異常および通信異常を監視する異常監視部（１９０、２９０）を備える請求項１〜９のいずれか一項に記載の回転電機制御装置。
【請求項１１】
前記制御部は、自系統の異常に係る自系統異常情報および他系統の異常に係る他系統異常情報を共有する請求項１０に記載の回転電機制御装置。
【請求項１２】
前記制御部は、前記自系統異常情報および前記他系統異常情報に基づき、前記マスター制御部と前記スレーブ制御部とを協調させて駆動する通常制御モードと、代替制御モード、片系統駆動制御モードおよび独立駆動制御モードの少なくとも１つを含む異常時制御モードとを切り替え可能であって、
前記スレーブ制御部は、自系統に係る前記制御信号の生成に用いられるスレーブ指令値を演算可能であって、
前記代替制御モードでは、前記通常制御モードに用いられる信号のうち異常となった信号に替えて代替情報を用い、
前記片系統駆動制御モードでは、一部の系統の駆動を停止し、残りの系統を用いて前記回転電機の制御を継続し、
前記独立駆動制御モードは、前記マスター制御部と前記スレーブ制御部とを協調させず、系統毎に独立して前記回転電機の制御を継続する請求項１１に記載の回転電機制御装置。
【請求項１３】
前記通常制御モードにおいて複数系統の電流和および電流差を制御している場合、
前記制御部は、前記独立駆動制御モードおよび片系統駆動モードにおいて、他の前記制御部から取得される電流検出値を０に設定するとともに、電流差の制御を停止する請求項１２に記載の回転電機制御装置。
【請求項１４】
前記異常監視部は、異常が検出されてから所定の異常継続条件を満たした場合、異常を確定し、前記通常制御モードから前記異常時制御モードに切り替える請求項１２または１３に記載の回転電機制御装置。
【請求項１５】
前記制御部は、
異常が検出されていないときに他の前記制御部から通信にて取得される値をホールド値として保持しておき、
異常が検出されてから確定されるまでの間、前記ホールド値を用いて前記制御信号を生成する請求項１４に記載の回転電機制御装置。
【請求項１６】
前記制御部は、異常が検出されてから確定されるまでの間、他の前記制御部から取得される値を用いず、前記独立駆動制御モードとする請求項１４に記載の回転電機制御装置。
【請求項１７】
前記制御部は、異常が検出されてから所定期間内に異常が確定されなかった場合、前記通常制御モードに復帰する請求項１４〜１６のいずれか一項に記載の回転電機制御装置。
【請求項１８】
前記制御部は、前記他系統異常情報を利用不能である制御部間通信異常が生じている場合、前記独立駆動制御モードに切り替える請求項１２〜１７のいずれか一項に記載の回転電機制御装置。
【請求項１９】
１つの前記制御部から他の前記制御部に送信される信号には、ランカウンタ信号が含まれ、
前記異常監視部は、前記ランカウンタ信号が更新されていない場合、前記制御部間通信異常として通信途絶が生じていると判定する請求項１８に記載の回転電機制御装置。
【請求項２０】
１つの前記制御部から他の前記制御部に送信される出力信号には、誤り検出信号が含まれ、
前記異常監視部は、前記出力信号に含まれる前記誤り検出信号に基づく値と、前記出力信号に基づく誤り検出演算にて自身で演算した値とに基づき、前記制御部間通信異常である通信整合性異常を監視する請求項１８または１９に記載の回転電機制御装置。
【請求項２１】
前記制御部は、
自系統にて、電源（１９１、２９１）から前記駆動回路を経由して前記巻線組に至る駆動系の異常、トルクセンサ（９４）、電流センサ（１２５、２２５）または回転角センサ（１２６、２２６）の異常、もしくは、前記制御部の異常である制御不能異常が生じた場合、前記制御不能異常が生じた旨の情報を他系統の前記制御部に送信するとともに、自系統の駆動を停止し、
前記他系統異常情報に前記制御不能異常が生じた旨の情報が含まれる場合、前記片系統駆動制御モードに切り替える請求項１２〜２０のいずれか一項に記載の回転電機制御装置。
【請求項２２】
前記制御部は、間接的に前記回転電機の駆動に影響を与える異常が生じた場合、前記代替制御モードに切り替える請求項１２〜２１のいずれか一項に記載の回転電機制御装置。
【請求項２３】
前記制御部は、前記マスター制御部にて演算される前記指令値と、前記スレーブ制御部にて演算される前記指令値とが乖離した場合、前記独立駆動制御モードに切り替える請求項１２〜２２のいずれか一項に記載の回転電機制御装置。
【請求項２４】
前記制御部は、前記代替制御モード、前記独立駆動制御モードまたは前記片系統駆動制御モード中に異常が解消された場合、前記通常制御モードに復帰する請求項１２〜２３のいずれか一項に記載の回転電機制御装置。
【請求項２５】
複数の巻線組（８１、８２）を備える回転電機（８０）の駆動を制御する回転電機制御
装置であって、
複数の駆動回路（１２０、２２０）と、
対応して設けられる前記駆動回路に制御信号を出力する信号出力部（１６５、２６５）
を有し、相互に通信可能である複数の制御部（１３１〜１３６、２３１〜２３６）と、
を備え、
前記制御部には、１つのマスター制御部（１３１〜１３６）、および、少なくとも１つのスレーブ制御部（２３１〜２３６）が含まれ、
前記制御部は、
前記マスター制御部が前記制御信号の生成に係る指令値を演算し、当該指令値に基づく前記制御信号を出力するとともに、前記スレーブ制御部が前記マスター制御部にて演算された前記指令値に基づく前記制御信号を出力する協調駆動モードと、
前記マスター制御部が自系統の前記制御信号の生成に係る指令値を演算し、その演算した指令値に基づく前記制御信号を出力するとともに、前記スレーブ制御部が自系統の前記制御信号の生成に係る指令値を演算し、その演算した指令値に基づく前記制御信号を出力する独立駆動モードと、
前記マスター制御部および前記スレーブ制御部のうちの一部が前記制御信号の出力を停止し、他の前記制御部が自系統の前記制御信号の生成に係る指令値を演算し、その指令値に基づく前記制御信号を出力する片系統駆動モードと、
を有する回転電機制御装置。
【請求項２６】
請求項１〜２５のいずれか一項に記載の回転電機制御装置（１０）と、
運転者による操舵部材（９１）の操舵を補助するアシストトルクを出力する前記回転電機と、
前記回転電機の駆動力を駆動対象（９２）に伝達する動力伝達部（８９）と、
を備える電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回転電機制御装置、および、これを用いた電動パワーステアリング装置に関する。
【背景技術】
【０００２】
従来、モータの駆動力にて操舵を補助する電動パワーステアリング装置が知られている。例えば特許文献１では、２つのマイコンにて、それぞれ独立に基本アシスト制御量を演算している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１９５０８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら特許文献１のように、各系統で独立にアシスト制御量を演算し、独立に電流制御を行う場合、系統間にて不整合が生じる虞がある。
【０００５】
本発明は、上述の課題に鑑みてなされたものであり、その目的は、複数の系統を協調させて回転電機の駆動を制御する回転電機制御装置、および、これを用いた電動パワーステアリング装置を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の第１態様では、回転電機制御装置は、複数の巻線組（８１、８２）を備える回転電機（８０）の駆動を制御するものであって、複数の駆動回路（１２０、２２０）と、複数の制御部（１３１〜１３６、２３１〜２３６）を備える。制御部は、対応して設けられる駆動回路に制御信号を出力する信号出力部（１６５、２６５）を有し、相互に通信可能である。制御部には、全ての制御部における制御信号の生成に係る指令値を演算し、他の制御部に指令値を送信する１つのマスター制御部（１３１〜１３６）、および、マスター制御部から送信される指令値に基づく制御信号を出力する少なくとも１つのスレーブ制御部（２３１〜２３６）が含まれる。
【０００７】
１つのマスター制御部にて演算される指令値をスレーブ制御部に送信することで、複数の系統を適切に協調させることができ、系統間の不整合や調停の複雑さを低減することができる。
【０００８】
本発明の第２態様では、回転電機制御装置は、複数の巻線組（８１、８２）を備える回転電機（８０）の駆動を制御するものであって、複数の駆動回路（１２０、２２０）と、複数の制御部（１３１〜１３６、２３１〜２３６）と、を備える。制御部は、対応して設けられる駆動回路に制御信号を出力する信号出力部（１６５、２６５）を有し、相互に通信可能である。制御部には、１つのマスター制御部（１３１〜１３６）、および、少なくとも１つのスレーブ制御部（２３１〜２３６）が含まれる。制御部は、協調駆動モードと、独立駆動モードと、片系統駆動モードと、を有する。協調駆動モードは、マスター制御部が制御信号の生成に係る指令値を演算し、当該指令値に基づく制御信号を出力するとともに、スレーブ制御部がマスター制御部にて演算された指令値に基づく制御信号を出力する。独立駆動モードは、マスター制御部が自系統の制御信号の生成に係る指令値を演算し、その演算した指令値に基づく制御信号を出力するとともに、スレーブ制御部が自系統の制御信号の生成に係る指令値を演算し、その演算した指令値に基づく制御信号を出力する。片系統駆動モードは、マスター制御部およびスレーブ制御部のうちの一部が制御信号の出力を停止し、他の制御部が自系統の制御信号の生成に係る指令値を演算し、その指令値に基づく制御信号を出力する。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態によるステアリングシステムの概略構成図である。
【図２】第１実施形態によるモータ巻線を示す模式図である。
【図３】第１実施形態による通電位相差を説明するタイムチャートである。
【図４】第１実施形態において、位相差通電によるトルク向上を説明する説明図である。
【図５】第１実施形態よるトルクリプルを説明する説明図である。
【図６】第１実施形態による駆動装置の断面図である。
【図７】図６のＶＩＩ−ＶＩＩ線断面図である。
【図８】第１実施形態によるモータ制御装置を示すブロック図である。
【図９】第１実施形態による第１制御部および第２制御部を示すブロック図である。
【図１０】第１実施形態による電流フィードバック制御を説明するブロック図である。
【図１１】第１実施形態による演算処理を説明するタイムチャートである。
【図１２】第２実施形態による第１制御部および第２制御部を示すブロック図である。
【図１３】第２実施形態による演算処理を説明するタイムチャートである。
【図１４】第３実施形態による第１制御部および第２制御部を示すブロック図である。
【図１５】第３実施形態による電流フィードバック制御を説明するブロック図である。
【図１６】第３実施形態による演算処理を説明するタイムチャートである。
【図１７】第４実施形態による第１制御部および第２制御部を示すブロック図である。
【図１８】第４実施形態による演算処理を説明するタイムチャートである。
【図１９】第５実施形態による第１制御部および第２制御部を示すブロック図である。
【図２０】第５実施形態による演算処理を説明するタイムチャートである。
【図２１】第６実施形態による演算処理を説明するタイムチャートである。
【図２２】第７実施形態による第１制御部および第２制御部を示すブロック図である。
【図２３】第７実施形態によるマイコン間通信の通信フレームを説明する説明図である。
【図２４】第７実施形態による通信異常監視処理を説明するフローチャートである。
【図２５】第７実施形態による途絶判定処理を説明するフローチャートである。
【図２６】第７実施形態による整合性判定処理を説明するフローチャートである。
【図２７】第７実施形態による独立駆動制御を説明するブロック図である。
【図２８】第８実施形態によるマイコン間通信の通信フレームを説明する説明図である。
【図２９】第８実施形態による制御モード切替処理を説明するフローチャートである。
【図３０】第８実施形態による制御モード切替処理を説明するフローチャートである。
【図３１】第８実施形態による指令乖離判定処理を説明するフローチャートである。
【図３２】第８実施形態による代替制御からの復帰処理を説明するフローチャートである。
【図３３】第８実施形態によるマイコン間通信異常による独立駆動制御制御からの復帰処理を説明するフローチャートである。
【図３４】第８実施形態による指令乖離異常による独立駆動制御制御からの復帰処理を説明するフローチャートである。
【図３５】第８実施形態による指令乖離異常による独立駆動制御制御からの復帰処理を説明するフローチャートである。
【図３６】第８実施形態による片系統駆動からの復帰処理を説明するフローチャートである。
【図３７】第８実施形態による片系統駆動からの復帰処理を説明するフローチャートである。
【図３８】第８実施形態によるモード遷移を説明する遷移図である。
【発明を実施するための形態】
【００１０】
以下、本発明による回転電機制御装置、および、電動パワーステアリング装置を図面に基づいて説明する。以下、複数の実施形態において、実質的に同一の構成には同一の符号を付して説明を省略する。
（第１実施形態）
第１実施形態を図１〜図１１に示す。図１に示すように、本実施形態の回転電機制御装置としてのＥＣＵ１０は、回転電機としてのモータ８０とともに、例えば車両のステアリング操作を補助するための電動パワーステアリング装置８に適用される。図１は、電動パワーステアリング装置８を備えるステアリングシステム９０の全体構成を示すものである。
【００１１】
図１は、電動パワーステアリング装置８を備えるステアリングシステム９０の構成を示す。ステアリングシステム９０は、操舵部材であるステアリングホイール９１、ステアリングシャフト９２、ピニオンギア９６、ラック軸９７、車輪９８、および、電動パワーステアリング装置８等を備える。
【００１２】
ステアリングホイール９１は、ステアリングシャフト９２と接続される。ステアリングシャフト９２には、操舵トルクＴｓを検出するトルクセンサ９４が設けられる。ステアリングシャフト９２の先端には、ピニオンギア９６が設けられる。ピニオンギア９６は、ラック軸９７に噛み合っている。ラック軸９７の両端には、タイロッド等を介して一対の車輪９８が連結される。
【００１３】
運転者がステアリングホイール９１を回転させると、ステアリングホイール９１に接続されたステアリングシャフト９２が回転する。ステアリングシャフト９２の回転運動は、ピニオンギア９６によってラック軸９７の直線運動に変換される。一対の車輪９８は、ラック軸９７の変位量に応じた角度に操舵される。
【００１４】
電動パワーステアリング装置８は、モータ８０およびＥＣＵ１０を有する駆動装置４０、ならびに、モータ８０の回転を減速してステアリングシャフト９２に伝える動力伝達部としての減速ギア８９等を備える。本実施形態の電動パワーステアリング装置８は、所謂「コラムアシストタイプ」であるが、モータ８０の回転をラック軸９７に伝える所謂「ラックアシストタイプ」等としてもよい。本実施形態では、ステアリングシャフト９２が「駆動対象」に対応する。
【００１５】
モータ８０は、運転者によるステアリングホイール９１の操舵を補助する補助トルクを出力するものであって、電源であるバッテリ１９１、２９１（図８参照）から電力が供給されることにより駆動され、減速ギア８９を正逆回転させる。モータ８０は、３相ブラシレスモータであって、ロータ８６０およびステータ８４０を有する（図６参照）。
【００１６】
図２に示すように、モータ８０は、巻線組としての第１モータ巻線１８０および第２モータ巻線２８０を有する。図２に示すように、第１モータ巻線１８０は、Ｕ１コイル１８１、Ｖ１コイル１８２およびＷ１コイル１８３を有する。第２モータ巻線２８０は、Ｕ２コイル２８１、Ｖ２コイル２８２およびＷ２コイル２８３を有する。図中、第１モータ巻線１８０を「モータ巻線１」、第２モータ巻線２８０を「モータ巻線２」とする。後述の他の構成についても、図中適宜、「第１」を添え字の「１」、「第２」を添え字の「２」として記載する。
【００１７】
第１モータ巻線１８０および第２モータ巻線２８０は、電気的特性が同等であり、例えば特許第５６７２２７８号公報の図３に参照されるように、共通のステータ８４０に互いに電気角３０［ｄｅｇ］ずらして、キャンセル巻きされる。これに応じて、モータ巻線１８０、２８０には、位相φが３０［ｄｅｇ］ずれた相電流が通電されるように制御される（図３参照）。図３では、第１系統のＵ相電圧Ｖｕ１および第２系統のＵ相電圧Ｖｕ２を例示した。図４に示すように、通電位相差を最適化することで、位相差通電を行わない場合と比較し、出力トルクが向上する。また、図５に示すように、通電位相差を電気角３０［ｄｅｇ］とすることで、６次のトルクリプルを低減することができる（式（ｉ）参照）。
【００１８】
ｓｉｎ６（ωｔ）＋ｓｉｎ６（ωｔ＋３０）＝０    ・・・（ｉ）
【００１９】
さらにまた、位相差通電により、電流が平均化されるため、騒音、振動のキャンセルメリットを最大化することができる。また、発熱についても平均化されるため、各センサの検出値やトルク等、温度依存の系統間誤差を低減可能であるとともに、通電可能な電流量を平均化できる。
【００２０】
以下、第１モータ巻線１８０の駆動制御に係る第１インバータ回路１２０および第１制御部１３１等の組み合わせを第１系統Ｌ１、第２モータ巻線２８０の駆動制御に係る第２インバータ回路２２０および第２制御部２３１等の組み合わせを第２系統Ｌ２とする。本実施形態では、第１系統Ｌ１が「マスター系統」、第２系統Ｌ２が「スレーブ系統」に対応する。また、第１系統Ｌ１に係る構成を１００番台で符番し、第２系統Ｌ２に係る構成を２００番台で符番する。また、第１系統Ｌ１および第２系統Ｌ２において、同様の構成には、下２桁が同じとなるように符番する。
【００２１】
駆動装置４０の構成を図６および図７に基づいて説明する。本実施形態の駆動装置４０は、モータ８０の軸方向の一方側にＥＣＵ１０が一体的に設けられており、いわゆる「機電一体型」である。ＥＣＵ１０は、モータ８０の出力軸とは反対側において、シャフト８７０の軸Ａｘに対して同軸に配置されている。ＥＣＵ１０は、モータ８０の出力軸側に設けられていてもよい。機電一体型とすることで、搭載スペースに制約のある車両において、ＥＣＵ１０とモータ８０とを効率的に配置することができる。
【００２２】
モータ８０は、ステータ８４０、ロータ８６０、および、これらを収容するハウジング８３０等を備える。ステータ８４０は、ハウジング８３０に固定されており、モータ巻線１８０、２８０が巻回される。ロータ８６０は、ステータ８４０の径方向内側に設けられ、ステータ８４０に対して相対回転可能に設けられる。
【００２３】
シャフト８７０は、ロータ８６０に嵌入され、ロータ８６０と一体に回転する。シャフト８７０は、軸受８３５、８３６により、ハウジング８３０に回転可能に支持される。シャフト８７０のＥＣＵ１０側の端部は、ハウジング８３０からＥＣＵ１０側に突出する。シャフト８７０のＥＣＵ１０側の端部には、マグネット８７５が設けられる。
【００２４】
ハウジング８３０は、リアフレームエンド８３７を含む有底筒状のケース８３４、および、ケース８３４の開口側に設けられるフロントフレームエンド８３８を有する。ケース８３４とフロントフレームエンド８３８とは、ボルト等により互いに締結されている。リアフレームエンド８３７には、リード線挿通孔８３９が形成される。リード線挿通孔８３９には、モータ巻線１８０、２８０の各相と接続されるリード線１８５、２８５が挿通される。リード線１８５、２８５は、リード線挿通孔８３９からＥＣＵ１０側に取り出され、基板４７０に接続される。
【００２５】
ＥＣＵ１０は、カバー４６０、カバー４６０に固定されているヒートシンク４６５、ヒートシンク４６５に固定されている基板４７０、および、基板４７０に実装される各種の電子部品等を備える。
【００２６】
カバー４６０は、外部の衝撃から電子部品を保護したり、ＥＣＵ１０の内部への埃や水等の浸入を防止したりする。カバー４６０は、カバー本体４６１、および、コネクタ部４６２が一体に形成される。なお、コネクタ部４６２は、カバー本体４６１と別体であってもよい。コネクタ部４６２の端子４６３は、図示しない配線等を経由して基板４７０と接続される。コネクタ数および端子数は、信号数等に応じて適宜変更可能である。コネクタ部４６２は、駆動装置４０の軸方向の端部に設けられ、モータ８０と反対側に開口する。コネクタ部４６２は、後述する各コネクタ１１１〜１１３、２１１〜２３１を含む。
【００２７】
基板４７０は、例えばプリント基板であり、リアフレームエンド８３７と対向して設けられる。基板４７０には、２系統分の電子部品が系統ごとに独立して実装されており、完全冗長構成をなしている。本実施形態では、１枚の基板４７０に電子部品が実装されているが、複数枚の基板に電子部品を実装するようにしてもよい。
【００２８】
基板４７０の２つの主面のうち、モータ８０側の面をモータ面４７１、モータ８０と反対側の面をカバー面４７２とする。図７に示すように、モータ面４７１には、インバータ回路１２０を構成するスイッチング素子１２１、インバータ回路２２０を構成するスイッチング素子２２１、回転角センサ１２６、２２６、カスタムＩＣ１５９、２５９等が実装される。回転角センサ１２６、２２６は、マグネット８７５の回転に伴う磁界の変化を検出可能なように、マグネット８７５と対向する箇所に実装される。
【００２９】
カバー面４７２には、コンデンサ１２８、２２８、インダクタ１２９、２２９、および、制御部１３１、２３１を構成するマイコン等が実装される。図７では、制御部１３１、２３１を構成するマイコンについて、それぞれ「１３１」、「２３１」を付番した。コンデンサ１２８、２２８は、バッテリ１９１、２９１（図８参照）から入力された電力を平滑化する。また、コンデンサ１２８、２２８は、電荷を蓄えることで、モータ８０への電力供給を補助する。コンデンサ１２８、２２８、および、インダクタ１２９、２２９は、フィルタ回路を構成し、バッテリ１９１、２９１を共用する他の装置から伝わるノイズを低減するとともに、駆動装置４０からバッテリ１９１、２９１を共用する他の装置に伝わるノイズを低減する。なお、図７中には図示を省略しているが、電源回路１１６、２１６、モータリレー、および、電流センサ１２５、２２５等についても、モータ面４７１またはカバー面４７２に実装される。
【００３０】
図８に示すように、ＥＣＵ１０は、駆動回路としてのインバータ回路１２０、２２０、および、制御部１３１、２３１等を備える。ＥＣＵ１０には、第１電源コネクタ１１１、第１車両通信コネクタ１１２、第１トルクコネクタ１１３、第２電源コネクタ２１１、第２車両通信コネクタ２１２、および、第２トルクコネクタ２１３が設けられる。
【００３１】
第１電源コネクタ１１１は、第１バッテリ１９１に接続され、第２電源コネクタ２１１は、第２バッテリ２９１に接続される。コネクタ１１１、２１１は、同一のバッテリに接続されていてもよい。第１電源コネクタ１１１は、第１電源回路１１６を経由して、第１インバータ回路１２０と接続される。第２電源コネクタ２１１は、第２電源回路２１６を経由して、第２インバータ回路２２０と接続される。電源回路１１６、２１６は、例えば電源リレーである。
【００３２】
第１車両通信コネクタ１１２は第１車両通信網１９５に接続され、第２車両通信コネクタ２１２は第２車両通信網２９５に接続される。図８では、車両通信網１９５、２９５として、ＣＡＮ（Controller Area Network）を例示しているが、ＣＡＮ−ＦＤ（ＣＡＮ with Flexible Data rate）やＦｌｅｘＲａｙ等、どのような規格のものでもよい。
【００３３】
第１車両通信コネクタ１１２は、第１車両通信回路１１７を経由して、第１制御部１３１と接続される。第１制御部１３１は、車両通信コネクタ１１２および車両通信回路１１７を経由して、車両通信網と情報を授受可能である。第２車両通信コネクタ２１２は、第２車両通信回路２１７を経由して、第２制御部２３１と接続される。第２制御部２３１は、車両通信コネクタ２１２および車両通信回路２１７を経由して、車両通信網と情報を授受可能である。
【００３４】
トルクコネクタ１１３、２１３は、トルクセンサ９４と接続される。詳細には、第１トルクコネクタ１１３は、トルクセンサ９４の第１センサ部１９４と接続される。第２トルクコネクタ２１３は、トルクセンサ９４に第２センサ部２９４と接続される。図８では、第１センサ部１９４を「トルクセンサ１」、第２センサ部２９４を「トルクセンサ２」と記載した。
【００３５】
第１制御部１３１は、トルクコネクタ１１３およびトルクセンサ入力回路１１８を経由して、トルクセンサ９４の第１センサ部１９４から操舵トルクＴｓに係るトルク信号を取得可能である。第２制御部２３１は、トルクコネクタ２１３およびトルクセンサ入力回路２１８を経由して、トルクセンサ９４の第２センサ部２９４から操舵トルクＴｓに係るトルク信号を取得可能である。これにより、制御部１３１、２３１は、トルク信号に基づき、操舵トルクＴｓを演算可能である。
【００３６】
第１インバータ回路１２０は、スイッチング素子１２１を有する３相インバータであって、第１モータ巻線１８０へ供給される電力を変換する。スイッチング素子１２１は、第１制御部１３１から出力される第１ＰＷＭ信号ＰＷＭ＿ｕ１*、ＰＷＭ＿ｖ１*、ＰＷＭ＿ｗ１*に基づいてオンオフ作動が制御される。
【００３７】
第２インバータ回路２２０は、スイッチング素子２２１を有する３相インバータであって、第２モータ巻線２８０へ供給される電力を変換する。スイッチング素子２２１は、第２制御部２３１から出力される第２ＰＷＭ信号ＰＷＭ＿ｕ２*、ＰＷＭ＿ｖ２*、ＰＷＭ＿ｗ２*に基づいてオンオフ作動が制御される。本実施形態では、ＰＷＭ信号ＰＷＭ＿ｕ１*、ＰＷＭ＿ｖ１*、ＰＷＭ＿ｗ１*、ＰＷＭ＿ｕ２*、ＰＷＭ＿ｖ２*、ＰＷＭ＿ｗ２*が「制御信号」に対応する。
【００３８】
第１電流センサ１２５は、第１モータ巻線１８０の各相に通電される第１Ｕ相電流Ｉｕ１、第１Ｖ相電流Ｉｖ１、および、第１Ｗ相電流Ｉｗ１を検出し、検出値を第１制御部１３１に出力する。第２電流センサ２２５は、第２モータ巻線２８０の各相に通電される第２Ｕ相電流Ｉｕ２、第２Ｖ相電流Ｉｖ２、および、第２Ｗ相電流Ｉｗ２を検出し、検出値を第２制御部２３１に出力する。以下、Ｕ相電流、Ｖ相電流およびＷ相電流を、適宜まとめて「相電流」または「３相電流」とする。また、ｄ軸電流およびｑ軸電流を、適宜まとめて「ｄｑ軸電流」とする。電圧についても同様とする。
【００３９】
第１回転角センサ１２６は、モータ８０の回転角を検出し、第１制御部１３１に出力する。第２回転角センサ２２６は、モータ８０の回転角を検出し、第２制御部２３１に出力する。本実施形態では、第１回転角センサ１２６の検出値に基づく電気角を第１電気角ＥｌｅＡｎｇ１、第２回転角センサ２２６の検出値に基づく電気角を第２電気角ＥｌｅＡｎｇ２とする。
【００４０】
第１温度センサ１２７は、例えば第１インバータ回路１２０が設けられる領域に配置され、第１系統Ｌ１に係る温度を検出する。第２温度センサ２２７は、例えば第２インバータ回路２２０が設けられる領域に配置され、第２系統Ｌ２に係る温度を検出する。温度センサ１２７、２２７は、ヒートシンク４６５の温度を検出するものであってもよいし、基板４７０の温度を検出するものであってもよいし、インバータ回路１２０、２２０の素子温度を検出するものであってもよいし、モータ巻線１８０、２８０の温度を検出するものであってもよい。
【００４１】
第１制御部１３１には、第１電源コネクタ１１１および図示しないレギュレータ等を経由して給電される。第２制御部２３１には、第２電源コネクタ２１１および図示しないレギュレータ等を経由して給電される。第１制御部１３１および第２制御部２３１は、制御部間にて相互に通信可能に設けられる。以下適宜、制御部１３１、２３１間の通信を、「マイコン間通信」という。制御部１３１、２３１間の通信方法は、ＳＰＩやＳＥＮＴ等のシリアル通信や、ＣＡＮ通信、ＦｌｅｘＲａｙ通信等、どのような方法を用いてもよい。
【００４２】
制御部１３１、２３１の詳細を図９に示す。制御部１３１、２３１は、マイコン等を主体として構成され、内部にはいずれも図示しないＣＰＵ、ＲＯＭ、ＲＡＭ、Ｉ／Ｏ、及び、これらの構成を接続するバスライン等を備えている。制御部１３１、２３１における各処理は、ＲＯＭ等の実体的なメモリ装置（すなわち、読み出し可能非一時的有形記録媒体）に予め記憶されたプログラムをＣＰＵで実行することによるソフトウェア処理であってもよいし、専用の電子回路によるハードウェア処理であってもよい。
【００４３】
マスター制御部である第１制御部１３１は、ｄｑ軸電流演算部１４０、アシストトルク指令演算部１４１、ｑ軸電流指令演算部１４２、ｄ軸電流指令演算部１４３、第１電流フィードバック演算部１５０、第１の３相電圧指令演算部１６１、第１ＰＷＭ演算部１６３、第１信号出力部１６５、および、第１通信部１７０を有する。以下適宜、フィードバックを「ＦＢ」と記載する。
【００４４】
第１ｄｑ軸電流演算部１４０は、第１電流センサ１２５から取得される相電流Ｉｕ１、Ｉｖ１、Ｉｗ１を、第１電気角ＥｌｅＡｎｇ１を用いてｄｑ軸変換し、第１ｄ軸電流検出値Ｉｄ１および第１ｑ軸電流検出値Ｉｑ１を演算する。
【００４５】
アシストトルク指令演算部１４１は、トルクセンサ入力回路１１８を経由してトルクセンサ９４から取得されるトルク信号、および、車両通信回路１１７を経由して車両通信網１９５から取得される車速等に基づき、トルク指令値としてのアシストトルク指令値Ｔｒｑ*を演算する。アシストトルク指令値Ｔｒｑ*は、電流指令演算部１４２に出力される。また、アシストトルク指令値Ｔｒｑ*は、車両通信回路１１７を経由して、電動パワーステアリング装置８以外の装置に提供される。
【００４６】
ｑ軸電流指令演算部１４２は、アシストトルク指令値Ｔｒｑ*に基づき、ｑ軸電流指令値Ｉｑ*を演算する。本実施形態のｑ軸電流指令値Ｉｑ*は、アシストトルク指令値Ｔｒｑ*のトルクの出力に要する２系統合計のｑ軸電流値とする。当該ｑ軸電流値は、アシストトルク指令値Ｔｒｑ*にモータトルク定数を乗じることで求められる。
【００４７】
ｄ軸電流指令演算部１４３は、ｄ軸電流指令値Ｉｄ*を演算する。本実施形態では、ｑ軸電流指令値Ｉｑ*、および、ｄ軸電流指令値Ｉｄ*が、「電流和指令値」に対応する。
【００４８】
第１電流フィードバック演算部１５０は、ｄｑ軸電流指令値Ｉｄ*、Ｉｑ*、および、ｄｑ軸電流検出値Ｉｄ１、Ｉｑ１、Ｉｄ２、Ｉｑ２に基づく電流フィードバック演算を行い、第１ｄ軸電圧指令値Ｖｄ１*、および、第１ｑ軸電圧指令値Ｖｑ１*を演算する。電流フィードバック演算の詳細は後述する。本実施形態では、ｄｑ軸電流指令値Ｉｄ*、Ｉｑ*を電流和指令値とする「和と差の制御」により、第１ｄｑ軸電圧指令値Ｖｄ１*、Ｖｑ１*を演算する。和と差の制御を行うことで、相互インダクタンスの影響を打ち消すことができる。
【００４９】
第１の３相電圧指令演算部１６１は、第１ｄｑ軸電圧指令値Ｖｄ１*、Ｖｑ１*を、第１電気角ＥｌｅＡｎｇ１を用いて逆ｄｑ変換し、第１Ｕ相電圧指令値Ｖｕ１*、第１Ｖ相電圧指令値Ｖｖ１*、および、第１Ｗ相電圧指令値Ｖｗ１*を演算する。
【００５０】
第１ＰＷＭ演算部１６３は、３相電圧指令値Ｖｕ１*、Ｖｖ１*、Ｖｗ１*に基づき、第１ＰＷＭ信号ＰＷＭ＿ｕ１*、ＰＷＭ＿ｖ１*、ＰＷＭ＿ｗ１*を演算する。
第１信号出力部１６５は、第１ＰＷＭ信号ＰＷＭ＿ｕ１*、ＰＷＭ＿ｖ１*、ＰＷＭ＿ｗ１*を第１インバータ回路１２０に出力する。
【００５１】
第１通信部１７０は、第１送信部１７１および第１受信部１７２を有し、第２通信部２７０と通信を行う。第１送信部１７１は、第１制御部１３１にて演算された値を、第２制御部２３１に送信する。本実施形態では、第１送信部１７１は、ｄ軸電流指令値Ｉｄ*、ｑ軸電流指令値Ｉｑ*、第１ｄ軸電流検出値Ｉｄ１および第１ｑ軸電流検出値Ｉｑ１を第２制御部２３１に送信する。第１受信部１７２は、第２制御部２３１から送信される値を受信する。本実施形態では、第１受信部１７２は、第２ｄ軸電流検出値Ｉｄ２および第２ｑ軸電流検出値Ｉｑ２を受信する。
【００５２】
制御部１３１、２３１間で送受信される電流指令値および電流検出値は、ｄｑ軸の値に替えて３相の値であってもよいが、ｄｑ軸の値を送受信した方が、データ量を抑えることができる。また、ｄ軸電流検出値Ｉｄ１、Ｉｄ２の送受信は行わなくてもよい。
【００５３】
スレーブ制御部である第２制御部２３１は、第２ｄｑ軸電流演算部２４０、第２電流フィードバック演算部２５０、第２の３相電圧指令値演算部２６１、第２ＰＷＭ演算部２６３、第２信号出力部２６５、および、第２通信部２７０を有する。
【００５４】
第２ｄｑ軸電流演算部２４０は、第２電流センサ２２５から取得される相電流Ｉｕ２、Ｉｖ２、Ｉｗ２を、第２電気角ＥｌｅＡｎｇ２を用いてｄｑ軸変換し、第２ｄ軸電流検出値Ｉｄ２および第２ｑ軸電流検出値Ｉｑ２を演算する。
【００５５】
第２電流フィードバック演算部２５０は、ｄｑ軸電流指令値Ｉｄ*、Ｉｑ*、および、ｄｑ軸電流検出値Ｉｄ１、Ｉｑ１、Ｉｄ２、Ｉｑ２に基づく電流フィードバック演算を行い、第２ｄ軸電圧指令値Ｖｄ２*、および、第２ｑ軸電圧指令値Ｖｑ２*を演算する。本実施形態では、ｄｑ軸電流指令値Ｉｄ*、Ｉｑ*を電流和指令値とする「和と差の制御」により、第２ｄｑ軸電圧指令値Ｖｄ２*、Ｖｑ２*を演算する。
【００５６】
第２電流フィードバック演算部２５０は、第１制御部１３１から送信されたｄｑ軸電流指令値Ｉｄ*、Ｉｑ*を用いて電流フィードバック演算を行う。換言すると、第１制御部１３１および第２制御部２３１は、同一の電流指令値Ｉｄ*、Ｉｑ*を用いて電流フィードバック演算を行っている、ということである。
【００５７】
第２の３相電圧指令演算部２６１は、第２ｄｑ軸電圧指令値Ｖｄ２*、Ｖｑ２*を、第２電気角ＥｌｅＡｎｇ２を用いて逆ｄｑ変換し、第２Ｕ相電圧指令値Ｖｕ２*、第２Ｖ相電圧指令値Ｖｖ２*、および、第２Ｗ相電圧指令値Ｖｗ２*を演算する。電圧指令演算部１６１、２６１は、通電位相差が電気角３０［ｄｅｇ］となるように、電圧指令値Ｖｕ１*、Ｖｖ１*、Ｖｗ１*、Ｖｕ２*、Ｖｖ２*、Ｖｗ２*を演算する。
【００５８】
第２ＰＷＭ演算部２６３は、３相電圧指令値Ｖｕ２*、Ｖｖ２*、Ｖｗ２*に基づき、第２ＰＷＭ信号ＰＷＭ＿ｕ２*、ＰＷＭ＿ｖ２*、ＰＷＭ＿ｗ２*を演算する。第２信号出力部２６５は、第２ＰＷＭ信号ＰＷＭ＿ｕ２*、ＰＷＭ＿ｖ２*、ＰＷＭ＿ｗ２*を第２インバータ回路２２０に出力する。
【００５９】
第２通信部２７０は、第２送信部２７１および第２受信部２７２を有する。第２送信部２７１は、第２制御部２３１にて演算された値を、第１制御部１３１に送信する。本実施形態では、第２送信部２７１は、第２ｄ軸電流検出値Ｉｄ２および第２ｑ軸電流検出値Ｉｑ２を送信する。第２受信部２７２は、第１制御部１３１から送信される値を受信する。本実施形態では、第２受信部２７２は、ｄ軸電流指令値Ｉｄ*、ｑ軸電流指令値Ｉｑ*、第１ｄ軸電流検出値Ｉｄ１および第１ｑ軸電流検出値Ｉｑ１を受信する。
【００６０】
電流フィードバック演算部１５０、２５０の詳細を図１０に基づいて説明する。図１０では、便宜上、送信部１７１、２７１のブロックを分けて記載した。また、第２の３相電圧指令演算部２６１および第２ＰＷＭ演算部２６３を１つのブロックにまとめて記載し、信号出力部１６５、２６５およびインバータ回路１２０、２２０等を省略した。図１０では、ｑ軸に係る電流フィードバック演算を中心に説明する。ｄ軸に係る電流フィードバック演算は、ｑ軸と同様であるので説明を省略する。後述の図１５および図２７についても同様である。
【００６１】
第１電流フィードバック演算部１５０は、加算器１５１、減算器１５２〜１５４、制御器１５５、１５６、および、加算器１５７を有する。加算器１５１は、第１ｑ軸電流検出値Ｉｑ１と第２ｑ軸電流検出値Ｉｑ２とを加算し、第１ｑ軸電流和Ｉｑ＿ａ１を演算する。減算器１５２は、第１ｑ軸電流検出値Ｉｑ１から第２ｑ軸電流検出値Ｉｑ２を減算し、第１ｑ軸電流差Ｉｑ＿ｄ１を演算する。
【００６２】
減算器１５３は、ｑ軸電流指令値Ｉｑ*から第１ｑ軸電流和Ｉｑ＿ａ１を減算し、第１電流和偏差ΔＩｑ＿ａ１を演算する。減算器１５４は、電流差指令値から第１ｑ軸電流差Ｉｑ＿ｄ１を減算し、第１電流差偏差ΔＩｑ＿ｄ１を演算する。本実施形態では、電流差指令値を０とし、系統間の電流差をなくすように制御する。電流差指令値を０以外の値とし、所望の電流差が系統間で生じるように制御してもよい。減算器２５４に入力される電流差指令値についても同様である。
【００６３】
制御器１５５は、電流和偏差ΔＩｑ＿ａ１が０となるように、例えばＰＩ演算等により、基本ｑ軸電圧指令値Ｖｑ＿ｂ１*を演算する。制御器１５６は、電流差偏差ΔＩｑ＿ｄ１が０となるように、例えばＰＩ演算等により、ｑ軸電圧差分指令値Ｖｑ＿ｄ１*を演算する。加算器１５７は、基本ｑ軸電圧指令値Ｖｑ＿ｂ１*とｑ軸電圧差分指令値Ｖｑ＿ｄ１*とを加算し、第１ｑ軸電圧指令値Ｖｑ１*を演算する。
【００６４】
第２電流フィードバック演算部２５０は、加算器２５１、減算器２５２〜２５４、制御器２５５、２５６、および、減算器２５７を有する。加算器２５１は、第１ｑ軸電流検出値Ｉｑ１と第２ｑ軸電流検出値Ｉｑ２とを加算し、ｑ軸電流和Ｉｑ＿ａ２を演算する。減算器２５２は、第１ｑ軸電流検出値Ｉｑ１から第２ｑ軸電流検出値Ｉｑ２を減算し、ｑ軸電流差Ｉｑ＿ｄ２を演算する。
【００６５】
本実施形態では、加算器１５１、２５１では、同一の値を用いるので、ｑ軸電流和Ｉｑ＿ａ１、Ｉｑ＿ａ２は同一の値となる。また、後述の第６実施形態のように、異なる制御周期の値を用いる場合、ｑ軸電流和Ｉｑ＿ａ１、Ｉｑ＿ａ２は異なる値となる。ｑ軸電流差Ｉｑ＿ｄ１、Ｉｑ＿ｄ２も同様である。
【００６６】
減算器２５３は、ｑ軸電流指令値Ｉｑ*から第２ｑ軸電流和Ｉｑ＿ａ２を減算し、第２電流和偏差ΔＩｑ＿ａ２を演算する。減算器２５４は、電流差指令値から第２ｑ軸電流差Ｉｑ＿ｄ２を減算し、第２電流差偏差ΔＩｑ＿ｄ２を演算する。減算器２５４に入力される電流差指令値は、第１制御部１３１から送信される値であってもよいし、第２制御部２３１にて内部的に設定される値であってもよい。
【００６７】
制御器２５５は、電流和偏差ΔＩｑ＿ａ２が０となるように、例えばＰＩ演算等により、基本ｑ軸電圧指令値Ｖｑ＿ｂ２*を演算する。制御器２５６は、電流差偏差ΔＩｑ＿ｄ２が０となるように、例えばＰＩ演算等により、ｑ軸電圧差分指令値Ｖｑ＿ｄ２*を演算する。減算器２５７は、基本ｑ軸電圧指令値Ｖｑ＿ｂ２*からｑ軸電圧差分指令値Ｖｑ＿ｄ２*を減算し、第２ｑ軸電圧指令値Ｖｑ２*を演算する。
【００６８】
本実施形態の演算処理を図１１のタイムチャートに基づいて説明する。図１１は、共通時間軸を横軸として、上段から、第１制御部の電流取得タイミング、第１制御部における演算処理、マイコン間通信、第２制御部の電流取得タイミング、第２制御部における演算処理を示す。図１０では、今回の制御周期をＰ（ｎ）とし、開始タイミングに「Ｐ（ｎ）」と記載した。また、次回の制御周期をＰ（ｎ＋１）とした。図１１では、主に、マイコン間通信にて送受信される電流制御に係る値を中心に記載し、自系統内にて用いられる値等の記載は適宜省略した。後述の実施形態に係るタイムチャートも同様である。
【００６９】
図１１に示すように、第１制御部１３１では、時刻ｘ１から時刻ｘ２において、アシストトルク指令演算部１４１がアシストトルク指令値Ｔｒｑ*を演算し、続く時刻ｘ３から時刻ｘ４にて、電流指令演算部１４２、１４３が電流指令値Ｉｄ*、Ｉｑ*を演算する。
【００７０】
また、第１制御部１３１は、時刻ｘ５から時刻ｘ６にて、電流センサ１２５から相電流Ｉｕ１、Ｉｖ１、Ｉｗ１を取得し、時刻ｘ７から時刻ｘ８にてｄｑ軸電流検出値Ｉｄ１、Ｉｑ１を演算する。同様に、第２制御部２３１は、時刻ｘ５から時刻ｘ６にて、電流センサ１２５から相電流Ｉｕ２、Ｉｖ２、Ｉｗ２を取得し、時刻ｘ７から時刻ｘ８にて電流検出値Ｉｄ２、Ｉｑ２を演算する。なお、ここでは、制御部１３１、２３１における電流取得およびｄｑ変換タイミングが同時であるが、マイコン間通信が開始する時刻ｘ９に間に合う範囲内でのずれは、許容される。また、マイコン間通信後の処理についても、制御周期内に収まる程度のずれは許容される。後述の実施形態についても同様である。
【００７１】
時刻ｘ９から時刻ｘ１０において、制御部１３１、２３１間でマイコン間通信を行い、ｄｑ軸電流検出値Ｉｄ１、Ｉｑ１、Ｉｄ２、Ｉｑ２を相互に送受信する。また、第１制御部１３１から第２制御部２３１に、ｄｑ軸電流指令値Ｉｄ*、Ｉｑ*を送信する。そして、各制御部１３１、２３１において、マイコン間通信終了後の時刻ｘ１１から、電流ＦＢ演算、３相電圧指令演算、および、ＰＷＭ指令演算を行い、ＰＷＭ指令演算後の時刻ｘ１５にて、ＰＷＭ信号を各インバータ回路１２０、２２０に出力、反映する。
【００７２】
本実施形態では、電流フィードバック演算の開始前にマイコン間通信を行い、電流フィードバック演算に必要な情報を授受している。これにより、制御部１３１、２３１にて、同一の値を用いて電流フィードバック演算を行うことができる。
【００７３】
本実施形態では、第１制御部１３１にて演算されるアシストトルク指令値Ｔｒｑ*を共通に用いることで、電動パワーステアリング装置８以外の車載装置に提供される情報を統一することができる。また、両系統で統一のアシストトルク指令値Ｔｒｑ*を用いて制御信号を生成することで、各系統で異なるアシストトルク指令値が算出された場合の不整合に対する調停の複雑さをなくすことができる。
【００７４】
また、電流フィードバック演算部１５０、２５０は、２系統の電流和および電流差を制御している。電流和を制御することで、アシストトルク指令値Ｔｒｑ*と出力トルクとのずれを低減可能であり、所望のトルクをモータ８０から出力することができる。また、系統間の電流差が０となるように制御しているので、各系統での発熱を均等にすることができる。また、電圧変動時や発熱により電流制限等の制限処理が行われる場合や、一方の系統に異常が発生し、他方の系統を用いて駆動するバックアップ制御時等における制御の複雑さを低減することができる。
【００７５】
以上説明したように、本実施形態のＥＣＵ１０は、複数の巻線組であるモータ巻線１８０、２８０を備えるモータ８０の駆動を制御するものであって、複数のインバータ回路１２０、２２０と、複数の制御部１３１、２３１を備える。
【００７６】
制御部１３１、２３１は、対応して設けられるインバータ回路１２０、２２０に制御信号を出力する信号出力部１６５、２６５を有し、相互に通信可能である。詳細には、第１制御部１３１は、対応して設けられる第１インバータ回路１２０に制御信号である第１ＰＷＭ信号ＰＷＭ＿ｕ１*、ＰＷＭ＿ｖ１*、ＰＷＭ＿ｗ１*を出力する。第２制御部２３１は、対応して設けられる第２インバータ回路２２０に制御信号である第２ＰＷＭ信号ＰＷＭ＿ｕ２*、ＰＷＭ＿ｖ２*、ＰＷＭ＿ｗ２*を出力する。
【００７７】
１つのマスター制御部である第１制御部１３１は、全ての制御部１３１、２３１における制御信号の生成に係る指令値を演算し、他の制御部である第２制御部２３１に指令値を送信する。スレーブ制御部である第２制御部２３１は、第１制御部１３１から送信される指令値に基づく制御信号を出力する。
【００７８】
本実施形態では、１つのマスター制御部にて演算される指令値を、スレーブ制御部に送信することで、第１系統Ｌ１と第２系統Ｌ２とを適切に協調動作させることができる。ここで、「協調」とは、マスター制御部にて演算された「指令値」に基づき、マスター系統およびスレーブ系統の通電を制御することを意味する。特に、各系統の検出値を共通に用いて各系統の通電を制御することで、各系統を協調させることが望ましい。
【００７９】
第１制御部１３１は、指令値として、ｄｑ軸電流指令値Ｉｄ*、Ｉｑ*を第２制御部２３１に送信する。こにれより、系統Ｌ１、Ｌ２を協調させて、適切に電流フィードバック制御を行うことができる。
【００８０】
第１制御部１３１は、第１系統Ｌ１の電流検出値である第１ｄｑ軸電流検出値Ｉｄ１、Ｉｑ１を第２制御部２３１に送信する。第２制御部２３１は、第２系統Ｌ２の電流検出値である第２ｄｑ軸電流検出値Ｉｄ２、Ｉｑ２を第１制御部１３１に送信する。本実施形態では、第１ｄｑ軸電流検出値Ｉｄ１、Ｉｑ１が「マスター電流検出値」、第２ｄｑ軸電流検出値Ｉｄ２、Ｉｑ２が「スレーブ電流検出値」に対応する。マスター電流検出値およびスレーブ電流検出値は、例えば３相電流検出値であってもよく、ｄｑ軸電流に限らない。
【００８１】
第１制御部１３１および第２制御部２３１は、それぞれにおいて、マスター系統である第１系統Ｌ１およびスレーブ系統である第２系統Ｌ２の電流和が電流指令値Ｉｄ*、Ｉｑ*となり、電流差が電流差指令値となるように制御する。
【００８２】
電流和を制御することで、アシストトルク指令値Ｔｒｑ*通りにモータ８０からアシストトルクを出力させることができる。また、電流差を制御することで、系統間の電流差を適切に制御することができる。特に、電流差指令値を０とすることで、系統間の電流差をなくすことができるので、各系統の発熱を均等にすることができる。また、電源電圧の変動や発熱により電流制限時、または、故障発生によるバックアップ制御や片系統駆動に移行する際の制御の複雑さを低減することができる。
【００８３】
第１制御部１３１および第２制御部２３１は、電流検出値Ｉｄ１、Ｉｑ１、Ｉｄ２、Ｉｑ２の演算後であって、電流フィードバック制御が開始するまでの期間に、電流フィードバック制御に必要な情報の送受信を行う。具体的には、第１ｄｑ軸電流検出値Ｉｄ１、Ｉｑ１および第２ｄｑ軸電流検出値Ｉｄ２、Ｉｑ２を相互に送受信し、ｄｑ軸電流指令値Ｉｄ*、Ｉｑ*を第１制御部１３１から第２制御部２３１に送信する。
【００８４】
これにより、制御部１３１、２３１は、今回の制御周期における電流指令値Ｉｄ*、Ｉｑ*および電流検出値Ｉｄ１、Ｉｑ１、Ｉｄ２、Ｉｑ２を用いて電流フィードバック制御を行うことができる。
【００８５】
本実施形態のＥＣＵ１０は、電動パワーステアリング装置８に適用される。電動パワーステアリング装置８は、ＥＣＵ１０と、モータ８０と、減速ギア８９と、を備える。モータ８０は、運転者によるステアリングホイール９１の操舵を補助するアシストトルクを出力する。減速ギア８９は、モータ８０の駆動力を、ステアリングシャフト９２に伝達する。本実施形態では、マスター制御部である第１制御部１３１にて演算されるアシストトルク指令値Ｔｒｑ*に基づいて、２系統を協調動作させているので、アシストトルクを適切に出力することができる。
【００８６】
（第２実施形態）
第２実施形態を図１２および図１３に示す。第２実施形態〜第５実施形態、および、第７実施形態では、制御部が異なっているので、この点を中心に説明する。図１２に示すように、マスター制御部である第１制御部１３２は、第１実施形態と同様、ｄｑ軸電流演算部１４０、アシストトルク指令演算部１４１、ｑ軸電流指令演算部１４２、ｄ軸電流指令演算部１４３、第１電流フィードバック演算部１５０、第１の３相電圧指令演算部１６１、第１ＰＷＭ演算部１６３、第１信号出力部１６５、および、第１通信部１７０を有する。
【００８７】
スレーブ制御部である第２制御部２３２は、第２ｄｑ軸電流演算部２４０、第２電流フィードバック演算部２５０、第２の３相電圧指令値演算部２６１、第２ＰＷＭ演算部２６３、第２信号出力部２６５、および、第２通信部２７０に加え、ｑ軸電流指令演算部２４２およびｄ軸電流指令演算部２４３を有する。
【００８８】
第１実施形態では、「指令値」として電流指令値Ｉｄ*、Ｉｑ*が第１制御部１３１から第２制御部２３１に送信される。本実施形態では、電流指令値Ｉｄ*、Ｉｑ*に替えて、アシストトルク指令値Ｔｒｑ*が「指令値」として、第１制御部１３２から第２制御部２３２に送信される。すなわち本実施形態では、第１通信部１７０は、トルク指令値Ｔｒｑ*および電流検出値Ｉｄ１、Ｉｑ１を第２通信部２７０に送信し、第２通信部２７０は、電流検出値Ｉｄ２、Ｉｑ２を第１通信部１７０に送信する。
【００８９】
ｑ軸電流指令演算部２４２は、第１制御部１３２から送信されたアシストトルク指令値Ｔｒｑ*に基づき、ｑ軸電流指令値Ｉｑ*を演算する。ｄ軸電流指令演算部２４３は、ｄ軸電流指令値Ｉｄ*を演算する。そして、第２電流フィードバック演算部２５０は、電流指令演算部２４２、２４３にて演算された電流指令値Ｉｄ*、Ｉｑ*、および、電流検出値Ｉｄ１、Ｉｑ１、Ｉｄ２、Ｉｑ２に基づいて電流フィードバック演算を行い、第２ｄ軸電圧指令値Ｖｄ２*、および、第２ｑ軸電圧指令値Ｖｑ２*を演算する。
【００９０】
本実施形態の演算処理を図１３のタイムチャートに基づいて説明する。時刻ｘ１〜ｘ８までの処理は、図１１と同様である。時刻ｘ９から時刻ｘ１０において、制御部１３２、２３２間でマイコン間通信を行い、電流検出値Ｉｄ１、Ｉｑ１、Ｉｄ２、Ｉｑ２を相互に送受信する。また、第１制御部１３２から第２制御部２３２に、アシストトルク指令値Ｔｒｑ*を送信する。
【００９１】
マイコン間通信終了後の時刻ｘ２１から時刻ｘ２２において、第２制御部２３２では、第１制御部１３２から送信されたアシストトルク指令値Ｔｒｑ*に基づき、電流指令演算部２４２、２４３が電流指令値Ｉｄ*、Ｉｑ*を演算する。そして、時刻ｘ２２以降において、図１１の時刻ｘ１１以降と同様、電流フィードバック制御およびこれに続く各処理が行われ、時刻ｘ２５にて、ＰＷＭ信号を各インバータ回路１２０、２２０に出力、反映する。
【００９２】
本実施形態では、第１制御部１３２で演算されたアシストトルク指令値Ｔｒｑ*を制御部１３２、２３２にて共用しているので、上記実施形態と同様の効果を奏する。また、電流指令値Ｉｄ*、Ｉｑ*を送受信する場合と比較し、マイコン間通信におけるデータ量を低減することができる。
【００９３】
本実施形態では、第１制御部１３２は、指令値として、トルク指令値であるアシストトルク指令値Ｔｒｑ*を第２制御部２３２に送信する。このようにしても、上記実施形態と同様の効果を奏する。
【００９４】
（第３実施形態）
第３実施形態を図１４〜図１６に示す。
図１４に示すように、マスター制御部である第１制御部１３３は、ｄｑ軸電流演算部１４０、アシストトルク指令演算部１４１、ｑ軸電流指令演算部１４２、ｄ軸電流指令演算部１４３、電流フィードバック演算部１７５、第１の３相電圧指令演算部１６１、第１ＰＷＭ演算部１６３、第１信号出力部１６５、および、第１通信部１７０を有する。
【００９５】
電流フィードバック演算部１７５は、ｄｑ軸電流指令値Ｉｄ*、Ｉｑ*、および、ｄｑ軸電流検出値Ｉｄ１、Ｉｑ１、Ｉｄ２、Ｉｑ２に基づく電流フィードバック演算を行い、ｄｑ軸電圧指令値Ｖｄ１*、Ｖｑ１*、Ｖｄ２*、Ｖｑ２*を演算する。
【００９６】
スレーブ制御部である第２制御部２３３は、ｄｑ軸電流演算部２４０、第２の３相電圧指令値演算部２６１、第２ＰＷＭ演算部２６３、第２信号出力部２６５、および、第２通信部２７０を有する。
【００９７】
図１５に示すように、第１制御部１３３の電流フィードバック演算部１７５は、第１電流フィードバック演算部１５０および第２電流フィードバック演算部３５０を有する。第１電流フィードバック演算部１５０における処理は、第１実施形態と同様であって、第１ｄｑ軸電圧指令値Ｖｄ１*、Ｖｑ１*を演算する。
【００９８】
第２電流フィードバック演算部３５０は、第２ｄｑ軸電圧指令値Ｖｄ２*、Ｖｑ２*を演算するものであって、加算器３５１、減算器３５２〜３５４、制御器３５５、３５６、および、減算器３５７を有する。第２電流フィードバック演算部３５０は、上記実施形態の第２制御部２３１の第２電流フィードバック演算部２５０と同様であって、加算器３５１、減算器３５２〜３５３、制御器３５５、３５６および減算器３５７における各処理は、下２桁が対応する加算器２５１、減算器２５２〜２５４、制御器２５５、２５６、および、減算器２５７の処理と同様である。なお、本実施形態では、第２電流フィードバック演算部３５０が第１制御部１３３内に設けられているので、第１ｄｑ軸電流検出値Ｉｄ１、Ｉｑ１は、内部的に取得された値が用いらる。また、第２ｄｑ軸電流検出値Ｉｄ２、Ｉｑ２は、マイコン間通信にて第２制御部２３３から送信された値が用いられる。
【００９９】
第１制御部１３３の電流フィードバック演算部１７５にて演算された第２ｄｑ軸電圧指令値Ｖｄ２*、Ｖｑ２*は、送信部１７１から第２制御部２３３に送信される。すなわち本実施形態では、「指令値」として第２ｄｑ軸電圧指令値Ｖｄ２*、Ｖｑ２*、第１制御部１３３から第２制御部２３３に送信される。第２の３相電圧指令演算部２６１は、第１制御部１３３から送信された第２ｄｑ軸電圧指令値Ｖｄ２*、Ｖｑ２*を逆ｄｑ変換し、第２の３相電圧指令値Ｖｕ２*、Ｖｖ２*、Ｖｗ２*を演算する。
【０１００】
本実施形態では、第１通信部１７０は、第２ｄｑ軸電圧指令値Ｖｄ２*、Ｖｑ２*を第２制御部２３３に送信し、第２通信部２７０は、第２ｄｑ軸電流検出値Ｉｄ２、Ｉｑ２を第１制御部１３３に送信する。
【０１０１】
本実施形態では、電流ＦＢ演算が第１制御部１３３にて行われているので、第１制御部１３３から第２制御部２３３に対して、第１ｄｑ軸電流検出値Ｉｄ１、Ｉｑ１を送信する必要がない。したがって、第１制御部１３３から第２制御部２３３への第１ｄｑ軸電流検出値Ｉｄ１、Ｉｑ１の送信を省略可能である。後述の第４実施形態および第５実施形態も同様である。
【０１０２】
本実施形態の演算処理を図１６のタイムチャートに基づいて説明する。時刻ｘ４１〜ｘ４８までの処理は、図１１の時刻ｘ１〜ｘ８までの処理と同様である。時刻ｘ４９〜ｘ５０において、制御部１３３、２３３間で当該制御周期における１回目のマイコン間通信が行われる。本実施形態では、１回目のマイコン間通信にて、第２ｄｑ軸電流検出値Ｉｄ２、Ｉｑ２が第２制御部２３３から第１制御部１３３に送信される。
【０１０３】
１回目のマイコン間通信終了後の時刻ｘ５１から、第１制御部１３３にて、電流ＦＢ演算が行われる。また、電流ＦＢ演算終了後の時刻ｘ５２〜ｘ５３にて、２回目のマイコン間通信が行われる。２回目のマイコン間通信では、第２ｄｑ軸電圧指令値Ｖｄ２*、Ｖｑ２*が、第１制御部１３３から第２制御部２３３に送信される。
【０１０４】
２回目のマイコン間通信後のｘ５４以降にて、制御部１３３、２３３は、３相電圧指令演算、および、ＰＷＭ指令演算を行い、ＰＷＭ指令演算後の時刻ｘ５５にて、ＰＷＭ信号を各インバータ回路１２０、２２０に出力、反映する。
【０１０５】
本実施形態では、第１制御部１３３は、第１系統Ｌ１に係る第１ｄｑ軸電圧指令値Ｖｄ１*、Ｖｑ２*、および、第２系統Ｌ２に係る第２ｄｑ軸電圧指令値Ｖｄ２*、Ｖｑ２*を演算する。第１制御部１３３は、第２ｄｑ軸電圧指令値Ｖｄ２*、Ｖｑ２*を指令値として第２制御部２３３に送信する。本実施形態では、第２ｄｑ軸電圧指令値Ｖｄ２*、Ｖｑ２*が「スレーブ電圧指令値」に対応する。これにより、第２制御部２３３における電流フィードバック演算を省略することができる。
【０１０６】
第２制御部２３３は、スレーブ電流検出値である第２ｄｑ軸電流検出値Ｉｄ２、Ｉｑ２を第１制御部１３３に送信する。第１制御部１３３は、マスター電流検出値である第１ｄｑ軸電流検出値Ｉｄ１、Ｉｑ１、および、第２ｄｑ軸電流検出値Ｉｄ２、Ｉｑ２に基づき、第１系統Ｌ１および第２系統Ｌ２の電流和が電流指令値Ｉｄ*、Ｉｑ*となり、電流差が電流差指令値となるように、第１系統Ｌ１の電圧指令値である第１ｄｑ軸電圧指令値Ｖｄ１*、Ｖｑ１*、および、第２系統Ｌ２の電圧指令値である第２ｄｑ軸電圧指令値Ｖｄ２*、Ｖｑ２*を演算する。
【０１０７】
電流和を制御することで、アシストトルク指令値Ｔｒｑ*通りにモータ８０からアシストトルクを出力させることができる。また、系統間の電流差を所定値に制御することができる。特に、電流差指令値を０とすることで、系統間の電流差をなくすことができるので、各系統の発熱を均等にすることができる。また、電源電圧の変動や発熱により電流制限時、または、故障発生によるバックアップ制御や片系統駆動に移行する際の制御の複雑さを低減することができる。また、上記実施形態と同様の効果を奏する。
【０１０８】
（第４実施形態）
第４実施形態を図１７および図１８に示す。図１７に示すように、マスター制御部である第１制御部１３４は、ｄｑ軸電流演算部１４０、アシストトルク指令演算部１４１、ｑ軸電流指令演算部１４２、ｄ軸電流指令演算部１４３、電流フィードバック演算部１７５、３相電圧指令演算部１６２、第１ＰＷＭ演算部１６３、第１信号出力部１６５、および、第１通信部１７０を有する。電流フィードバック演算部１７５にて演算されたｄｑ軸電圧指令値Ｖｄ１*、Ｖｑ１*、Ｖｄ２*、Ｖｑ２*は、３相電圧指令演算部１６２に出力される。
【０１０９】
３相電圧指令演算部１６２は、第１ｄｑ軸電圧指令値Ｖｄ１*、Ｖｑ１*を、第１電気角ＥｌｅＡｎｇ１を用いて逆ｄｑ変換し、第１Ｕ相電圧指令値Ｖｕ１*、第１Ｖ相電圧指令値Ｖｖ１*、および、第１Ｗ相電圧指令値Ｖｗ１*を演算する。第１の３相電圧指令値Ｖｕ１*、Ｖｖ１*、Ｖｗ１*は、第１ＰＷＭ演算部１６３に出力され、第１ＰＷＭ信号ＰＷＭ＿ｕ１*、ＰＷＭ＿ｖ１*、ＰＷＭ＿ｗ１*の演算に用いられる。
【０１１０】
また、３相電圧指令演算部１６２は、第２ｄｑ軸電圧指令値Ｖｄ２*、Ｖｑ２*を、第２電気角ＥｌｅＡｎｇ２を用いて逆ｄｑ変換し、第２Ｕ相電圧指令値Ｖｕ２*、第２Ｖ相電圧指令値Ｖｖ２*、および、第２Ｗ相電圧指令値Ｖｗ２*を演算する。本実施形態では、第２制御部２３４から送信される第２電気角ＥｌｅＡｎｇ２を逆ｄｑ変換に用いるが、第２電気角ＥｌｅＡｎｇ２を第２制御部２３４から取得せず、第１制御部１３４内部にて、第１電気角ＥｌｅＡｎｇ１から第２電気角ＥｌｅＡｎｇ２を求めて、逆ｄｑ変換に用いてもよい。第５実施形態についても同様である。
【０１１１】
第２の３相電圧指令値Ｖｕ２*、Ｖｖ２*、Ｖｗ２*は、送信部１７１から第２制御部２３４に送信される。すなわち本実施形態では、「指令値」として、第２の３相電圧指令値Ｖｕ２*、Ｖｖ２*、Ｖｗ２*が第１制御部１３４から第２制御部２３４へ送信される。
【０１１２】
スレーブ制御部である第２制御部２３４は、ｄｑ軸電流演算部２４０、第２ＰＷＭ演算部２６３、第２信号出力部２６５、および、第２通信部２７０を有する。第２ＰＷＭ演算部２６３は、第１制御部１３４から送信される３相電圧指令値Ｖｕ２*、Ｖｖ２*、Ｖｗ２*を用いて第２ＰＷＭ信号ＰＷＭ＿ｕ２*、ＰＷＭ＿ｖ２*、ＰＷＭ＿ｗ２*を演算する。
【０１１３】
本実施形態では、第１通信部１７０は、第２の３相電圧指令値Ｖｕ２*、Ｖｖ２*、Ｖｗ２*を第２制御部２３４に送信し、第２通信部２７０は、第２ｄｑ軸電流検出値Ｉｄ２、Ｉｑ２および第２電気角ＥｌｅＡｎｇ２を第１制御部１３４に送信する。
【０１１４】
本実施形態の演算処理を図１８のタイムチャートに基づいて説明する。本実施形態では、第３実施形態と同様、１回の制御周期において、２回のマイコン間通信が行われる。１回目のマイコン間通信までの処理は、第３実施形態と同様である。本実施形態では、１回目のマイコン間通信において、ｄｑ軸電流検出値Ｉｄ２、Ｉｑ２、および、第２電気角ＥｌｅＡｎｇ２が、第２制御部２３４から第１制御部１３４に送信される。第５実施形態も同様である。
【０１１５】
１回目のマイコン間通信終了後の時刻ｘ６１から、第１制御部１３４にて電流ＦＢ演算が行われ、続いて３相電圧指令演算が行われる。また、３相電圧指令演算終了後の時刻ｘ６２〜ｘ６３にて、２回目のマイコン間通信が行われる。２回目のマイコン間通信では、第２の３相電圧指令値Ｖｕ２*、Ｖｖ２*、Ｖｗ２*が、第１制御部１３４から第２制御部２３４に送信される。
【０１１６】
２回目のマイコン間通信後の時刻ｘ６４以降にて、制御部１３４、２３４は、ＰＷＭ指令演算を行い、ＰＷＭ指令演算後の時刻ｘ６５にて、ＰＷＭ信号を各インバータ回路１２０、２２０に出力、反映する。
【０１１７】
本実施形態では、ｄｑ軸電圧指令値Ｖｄ２*、Ｖｑ２*に替えて、３相電圧指令値Ｖｕ２*、Ｖｖ２*、Ｖｗ２*を第１制御部１３４から第２制御部２３４に送信する点を除き、概ね第３実施形態と同様である。本実施形態では、３相電圧指令値Ｖｕ２*、Ｖｖ２*、Ｖｗ２*が「スレーブ電圧指令値」に対応する。また、上記実施形態と同様の効果を奏する。
【０１１８】
（第５実施形態）
第５実施形態を図１９および図２０に示す。
図１９に示すように、マスター制御部である第１制御部１３５は、ｄｑ軸電流演算部１４０、アシストトルク指令演算部１４１、ｑ軸電流指令演算部１４２、ｄ軸電流指令演算部１４３、電流フィードバック演算部１７５、３相電圧指令演算部１６２、ＰＷＭ演算部１６４、第１信号出力部１６５、および、第１通信部１７０を有する。
【０１１９】
本実施形態では、電流フィードバック演算部１７５および３相電圧指令演算部１６２は、第４実施形態と同様である。３相電圧指令演算部１６２にて演算された３相電圧指令値Ｖｕ１*、Ｖｖ１*、Ｖｗ１*、Ｖｕ２*、Ｖｖ２*、Ｖｗ２*は、ＰＷＭ演算部１６４に出力される。
【０１２０】
ＰＷＭ演算部１６４は、第１の３相電圧指令値Ｖｕ１*、Ｖｖ１*、Ｖｗ１*に基づき、第１ＰＷＭ信号ＰＷＭ＿ｕ１*、ＰＷＭ＿ｖ１*、ＰＷＭ＿ｗ１*を演算する。第１ＰＷＭ信号ＰＷＭ＿ｕ１*、ＰＷＭ＿ｖ１*、ＰＷＭ＿ｗ１*は、信号出力部１６５から第１インバータ回路１２０に出力される。また、ＰＷＭ演算部１６４は、第２の３相電圧指令値Ｖｕ２*、Ｖｖ２*、Ｖｗ２*に基づき、第２ＰＷＭ信号ＰＷＭ＿ｕ２*、ＰＷＭ＿ｖ２*、ＰＷＭ＿ｗ２*を演算する。第２ＰＷＭ信号ＰＷＭ＿ｕ２*、ＰＷＭ＿ｖ２*、ＰＷＭ＿ｗ２*は、送信部１７１から第２制御部２３５に送信される。
【０１２１】
スレーブ制御部である第２制御部２３５は、ｄｑ軸電流演算部２４０、第２信号出力部２６５、および、第２通信部２７０を有する。第２信号出力部２６５は、第１制御部１３５から送信される第２ＰＷＭ信号ＰＷＭ＿ｕ２*、ＰＷＭ＿ｖ２*、ＰＷＭ＿ｗ２*を、第２インバータ回路２２０に出力する。すなわち本実施形態では、「指令値」として、第２ＰＷＭ信号ＰＷＭ＿ｕ２*、ＰＷＭ＿ｖ２*、ＰＷＭ＿ｗ２*が、第１制御部１３５から第２制御部２３５に送信される。
【０１２２】
本実施形態では、第１通信部１７０は、第２ＰＷＭ信号ＰＷＭ＿ｕ２*、ＰＷＭ＿ｖ２*、ＰＷＭ＿ｗ２*を第２制御部２３５に送信し、第２通信部２７０は、第２ｄｑ軸電流検出値Ｉｄ２、Ｉｑ２および第２電気角ＥｌｅＡｎｇ２を第１制御部１３５に送信する。
【０１２３】
本実施形態の演算処理を図２０のタイムチャートに基づいて説明する。本実施形態では、第３実施形態および第４実施形態と同様、１回の制御周期において、２回のマイコン間通信が行われる。１回目のマイコン間通信までの処理は、第３実施形態および第４実施形態と同様である。
【０１２４】
１回目のマイコン間通信終了後の時刻ｘ７１から、電流ＦＢ演算が行われ、続いて３相電圧指令演算およびＰＷＭ指令演算が行われる。ＰＷＭ指令演算終了後の時刻ｘ７２〜ｘ７３にて、２回目のマイコン間通信が行われる。２回目のマイコン間通信では、第２ＰＷＭ信号ＰＷＭ＿ｕ２*、ＰＷＭ＿ｖ２*、ＰＷＭ＿ｗ２*が、第１制御部１３５から第２制御部２３５に送信される。２回目のマイコン間通信後の時刻ｘ７５にて、ＰＷＭ信号が各インバータ回路１２０、２２０に出力、反映される。
【０１２５】
本実施形態では、第１制御部１３５は、第１系統Ｌ１に係る第１ＰＷＭ信号ＰＷＭ＿ｕ１*、ＰＷＭ＿ｖ１*、ＰＷＭ＿ｗ１*、および、第２系統Ｌ２に係る第２ＰＷＭ信号ＰＷＭ＿ｕ２*、ＰＷＭ＿ｖ２*、ＰＷＭ＿ｗ２*を演算する。また、第１制御部１３５は、第２ＰＷＭ信号ＰＷＭ＿ｕ２*、ＰＷＭ＿ｖ２*、ＰＷＭ＿ｗ２*を指令値として第２制御部２３５に送信する。本実施形態では、第２ＰＷＭ信号ＰＷＭ＿ｕ２*、ＰＷＭ＿ｖ２*、ＰＷＭ＿ｗ２*が「スレーブ制御信号」に対応する。これにより、第２制御部２３５における電圧指令値の演算を省略することができる。また、上記実施形態と同様の効果を奏する。
【０１２６】
（第６実施形態）
第６実施形態を図２１に示す。本実施形態では、第１実施形態と同様、指令値としてｄｑ軸電流指令値Ｉｄ*、Ｉｑ*を、第１制御部１３１から第２制御部２３１へ送信し、各制御部１３１、２３１にて電流ＦＢ演算を行う場合を例に説明する。以下適宜、前回の制御周期Ｐ（ｎ−１）にて演算された値には添え字(n-1)を付し、今回の制御周期Ｐ（ｎ）にて演算された値には添え字(n)を付す。なお、前回の制御周期Ｐ（ｎ−１）の時刻ｘ８３〜ｘ８６における処理は、今回の制御周期Ｐ（ｎ）の時刻ｘ９３〜ｘ９６における処理と同様であるので、説明を省略する。
【０１２７】
今回の制御周期Ｐ（ｎ）において、時刻ｘ９１から時刻ｘ９２にて、制御部１３１、２３１間でマイコン間通信を行い、前回の制御周期Ｐ（ｎ−１）にて演算されたｄｑ軸電流検出値Ｉｄ１(n-1)、Ｉｑ１(n-1)、Ｉｄ２(n-1)、Ｉｑ２(n-1)を相互に送受信する。また、第１制御部１３１から第２制御部２３１に、ｄｑ軸電流指令値Ｉｄ*(n-1)、Ｉｑ*(n-1)を送信する。
【０１２８】
時刻ｘ９３にて、第１制御部１３１は、アシストトルク指令値Ｔｒｑ*およびｄｑ軸電流指令値Ｉｄ*、Ｉｑ*を演算する。時刻ｘ９４、ｘ９５では、第１制御部１３１は、相電流Ｉｕ１、Ｉｖ１、Ｉｗ１を取得し、ｄｑ軸電流検出値Ｉｄ１(n)、Ｉｑ１(n)を演算する。また、第２制御部２３１は、相電流Ｉｕ２、Ｉｖ２、Ｉｗ２を取得し、ｄｑ軸電流検出値Ｉｄ２(n)、Ｉｑ２(n)を演算する。
【０１２９】
時刻ｘ９６にて、電流ＦＢ演算からＰＷＭ信号の出力、反映に至る一連の演算を行う。
本実施形態では、第１制御部１３１は、電流ＦＢ演算において、今回制御周期Ｐ（ｎ）のｄｑ軸電流指令値Ｉｄ*(n)、Ｉｑ*(n)および自系統のｄｑ軸電流検出値Ｉｄ１(n)、Ｉｑ１(n)、ならびに、前回制御周期Ｐ（ｎ−１）の他系統のｄｑ軸電流検出値Ｉｄ２(n-1)、Ｉｑ２(n-1)を用いる。
【０１３０】
また、第２制御部２３１は、電流ＦＢ演算において、前回制御周期Ｐ（ｎ−１）のｄｑ軸電流指令値Ｉｄ*(n-1)、Ｉｑ*(n-1)および他系統のｄｑ軸電流検出値Ｉｄ１(n-1)、Ｉｑ１(n-1)、ならびに、今回制御周期Ｐ（ｎ）の自系統のｄｑ軸電流検出値Ｉｄ２(n)、Ｉｑ２(n)を用いる。
【０１３１】
換言すると、本実施形態では、自系統にて演算される値については、今回制御周期Ｐ（ｎ）の値を用い、他系統から取得する値については、前回制御周期Ｐ（ｎ−１）の値を用いて、演算を行う。本実施形態のように、他系統から取得する値については、以前の制御周期に係る値を用いる場合についても、各系統に係る値を共通に用いて各系統の通電を制御する「協調動作」の概念に含まれるものとする。
【０１３２】
これにより、ｄｑ軸電流検出値Ｉｄ１、Ｉｑ１、Ｉｄ２、Ｉｑ２の演算と、電流ＦＢ演算との間にマイコン間通信を行う必要がないので、ｄｑ軸電流検出値Ｉｄ１、Ｉｑ１、Ｉｄ２、Ｉｑ２の演算終了から電流ＦＢ演算開始までの期間を短くすることができる。したがって、電流ＦＢ演算の直前にマイコン間通信を行う場合と比較し、自系統に係る値については、より直近の電流検出値を電流ＦＢ演算に用いることができる。図２１では、第１実施形態の制御部１３１、２３１を例に説明したが、第２実施形態〜第５実施形態にて、他系統の電流検出値として、前回制御周期の値を用いるようにしてもよい。
【０１３３】
本実施形態では、制御信号の演算に必要な情報のうち、他の制御部から取得するものは、前回の制御周期における値を用いる。本実施形態では、「制御信号の演算に必要な情報」は、ｄｑ軸電流検出値Ｉｄ１、Ｉｑ１、Ｉｄ２、Ｉｑ２、および、ｄｑ軸電流指令値Ｉｄ*、Ｉｑ*である。他の制御部から取得する値として、前回の制御周期における値を用いることで、通信タイミングの自由度が高まる。本実施形態では、電流検出値Ｉｄ１、Ｉｑ１、Ｉｄ２、Ｉｑ２の演算後から電流フィードバック制御開始までの時間を短縮することができるので、自系統に係る値については、より直近の値を用いることができる。また、上記実施形態と同様の効果を奏する。
【０１３４】
（第７実施形態）
第７実施形態を図２２〜図２７に示す。図２２に示すように、マスター制御部である第１制御部１３６は、第１実施形態の第１制御部１３１の各構成に加え、異常監視部１９０を有する。スレーブ制御部である第２制御部２３６は、第１実施形態の第２制御部２３１の各構成に加え、アシストトルク演算部２４１、ｑ軸電流指令演算部２４２、ｄ軸電流指令演算部２４３、および、異常監視部２９０を有する。図２２では、各制御部１３６、２３６にて、ｄ軸電流指令演算部およびｑ軸電流指令演算部を１つのブロックにまとめて記載した。
【０１３５】
図２２では、第１実施形態の制御部１３１、２３１に、異常監視部１９０、２９０等を設ける例を示しているが、第２実施形態〜第５実施形態の各制御部１３２〜１３５、２３２〜２３５に、異常監視部１９０、２９０、および、ＰＷＭ信号の演算に要する各ブロック等を設けるようにしてもよい。
【０１３６】
第２制御部２３６のアシストトルク演算部２４１は、トルクセンサ入力回路２１８を経由してトルクセンサ９４から取得されるトルク信号、および、車両通信回路２１７を経由して車両通信網から取得される車速等に基づき、トルク指令値としてのアシストトルク指令値Ｔｒｑ２*を演算する。ｑ軸電流指令演算部２４２は、アシストトルク指令値Ｔｒｑ２*に基づき、ｑ軸電流指令値Ｉｑ２*を演算する。ｄ軸電流指令演算部２４３は、ｄ軸電流指令値Ｉｄ２*を演算する。
【０１３７】
第２制御部２３６で演算される指令値Ｔｒｑ２*、Ｉｑ２*、Ｉｄ２*は、マスター制御部である第１制御部１３６に異常が生じた場合や、通信異常が生じた場合等に用いられる。これにより、第１制御部１３６に異常が生じた場合や通信異常が生じた場合であっても、第２制御部２３６単独にて、制御を継続することができる。
【０１３８】
第２制御部２３６は、第１制御部１３６からｄｑ軸電流指令値Ｉｄ*、Ｉｑ*を取得可能な場合、指令値Ｔｒｑ２*、Ｉｑ２*、Ｉｄ２*の演算を行わなくてもよい。また、第２制御部２３６は、第１制御部１３６からｄｑ軸電流指令値Ｉｄ*、Ｉｑ*を取得可能な場合においても、各指令値Ｔｒｑ２*、Ｉｑ２*、Ｉｄ２*の演算を行っていてもよい。これにより、第１制御部１３６から指令値を取得できなくなった場合、速やかに第２制御部２３６単独での制御に切り替えることができる。特に、フィルタ処理などの演算中間値によって制御出力が変わるロジックを含む場合であっても、演算開始遅れに伴う指令値の演算誤差を低減することができる。
【０１３９】
異常監視部１９０、２９０は、自系統の異常、および、制御部１３６、２３６間におけるマイコン間通信の異常を監視する。自系統に係る異常情報は、マイコン間通信にて他系統の制御部に送信される。また、マイコン間通信にて、他系統に係る異常情報を取得する。これにより、異常状態が共有される。電流フィードバック演算部１５０、２５０では、異常監視部１９０、２９０の判定結果に応じた制御を行う。通信異常には、「制御部間通信異常」に対応するマイコン間通信異常の他、車両通信網１９５、２９５との通信異常がある。以下、単に「通信異常」という場合は、マイコン間通信異常を意味するものとする。
【０１４０】
本実施形態では、上記実施形態と同様、第１制御部１３６にて演算された指令値を第２制御部２３６にマイコン間通信にて送信し、共通の指令値を用いてマスター系統およびスレーブ系統の通電を制御することで、各系統を協調動作させている。
【０１４１】
ところで、制御部１３６、２３６間の通信線の断線や、ノイズ重畳による信号のビット化け等により、マイコン間通信に異常が生じる虞がある。そこで本実施形態では、異常監視部１９０、２９０にて、マイコン間通信の異常を監視するとともに、異常検出時にはバックアップ処置を行う。
【０１４２】
ここで、マイコン間通信の通信フレーム詳細を図２３に示す。図２３（ａ）は、第１制御部１３６から第２制御部２３６に送信される信号の通信フレームを示している。第１制御部１３１から第２制御部２３１にｄ軸電流指令値Ｉｄ*およびｑ軸電流指令値Ｉｑ*を送信する場合、通信フレームには、ｑ軸電流指令値Ｉｑ*を示す信号、ｄ軸電流指令値Ｉｄ*を示す信号、ｑ軸電流検出値Ｉｑ１を示す信号、ｄ軸電流検出値Ｉｄ１を示す信号、ランカウンタ信号およびＣＲＣ（Cyclic Redundancy Check）信号が含まれる。
【０１４３】
図２３（ｂ）は、第２制御部２３６から第１制御部１３６に送信される信号を示しており、通信フレームには、ｑ軸電流検出値Ｉｑ２、ｄ軸電流検出値Ｉｄ２、ランカウンタ信号およびＣＲＣ信号が含まれる。第２制御部２３１〜２３５から第１制御部１３１〜１３５に送信される信号も同様である。
【０１４４】
図２３（ｃ）は、第２実施形態の第１制御部１３２から送信される信号を示している。第２実施形態のように、第１制御部１３２から第２制御部２３２にアシストトルク指令値Ｔｒｑ*を送信する場合、通信フレームには、アシストトルク指令値Ｔｒｑ*を示す信号、ｑ軸電流検出値Ｉｑ１を示す信号、ｄ軸電流検出値Ｉｄ１を示す信号、ランカウンタ信号およびＣＲＣ信号が含まれる。
【０１４５】
図２３（ｄ）は、第３実施形態の第１制御部１３３から送信される信号を示している。第３実施形態のように、第１制御部１３３から第２制御部２３３にｄｑ軸電圧指令値Ｖｄ２*、Ｖｑ２*を送信する場合、通信フレームには、ｑ軸電圧指令値Ｖｑ２*を示す信号、ｄ軸電圧指令値Ｖｄ２*を示す信号、ランカウンタ信号およびＣＲＣ信号が含まれる。
【０１４６】
図２３（ｅ）は、第４実施形態の第１制御部１３４から送信される信号を示している。第４実施形態のように、第１制御部１３４から第２制御部２３４に３相電圧指令値Ｖｕ２*、Ｖｖ２*、Ｖｗ２*を送信する場合、通信フレームには、Ｕ相電圧指令値Ｖｕ２*を示す信号、Ｖ相電圧指令値Ｖｖ２*を示す信号、ランカウンタ信号およびＣＲＣ信号が含まれる。
【０１４７】
図２３（ｆ）は、第５実施形態の第１制御部１３５から第２制御部２３５に送信される信号を示している。第５実施形態のように、第１制御部１３５から第２制御部２３５にＰＷＭ信号ＰＷＭ＿ｕ２*、ＰＷＭ＿ｖ２*、ＰＷＭ＿ｗ２*を送信する場合、通信フレームには、ＰＷＭ信号ＰＷＭ＿ｕ２*、ＰＷＭ＿ｖ２*、、ＰＷＭ＿ｗ２*を示す信号、ランカウンタ信号およびＣＲＣ信号が含まれる。
【０１４８】
ｑ軸電流指令値、ｄ軸電流指令値、ｑ軸電流検出値およびｄ軸電流検出値に係る信号は、それぞれの物理量を所望の精度で表現可能なビット数であれば、いくつであってもよい。トルク指令値、電圧指令値およびＰＷＭ信号についても同様である。
【０１４９】
また、ランカウンタ信号は、通信途絶を検出可能なビット数であればよく、例えば２ビットであればカウンタ数が０〜３となり、４ビットであればカウンタ数が０〜１５となる、といった具合である。さらにまた、誤り検出信号であるＣＲＣ信号は、通信の信頼性を確保できるＣＲＣ多項式およびビット数であればよい。また、誤り検出信号は、通信の信頼性を検出できるのであれば、例えばチェックサム等、ＣＲＣ以外の信号であってもよい。また、信号順を入れ替えたり、他の信号を追加したりしてもよい。第８実施形態についても同様である。
【０１５０】
本実施形態の通信異常監視処理を図２４のフローチャートに基づいて説明する。
ここでは、スレーブ側である第２制御部２３６での処理について説明する。この処理は、第２制御部２３６にて所定の周期で行われる。以下、ステップＳ１０１の「ステップ」を省略し、単に記号「Ｓ」と記す。他のステップも同様である。
【０１５１】
最初のＳ１０１では、第２制御部２３６は、第１制御部１３６から通信フレームを受信する。Ｓ１０２では、異常監視部２９０は、途絶判定処理を行う。Ｓ１０３では、異常監視部２９０は、整合性判定処理を行う。途絶判定処理および整合性判定処理は、処理順を入れ替えてもよいし、本処理とは別途に行われ、判定結果を取得するようにしてもよい。
【０１５２】
途絶判定処理を説明するフローチャートを図２５に示す。Ｓ１２１では、異常監視部２９０は、取得した通信フレーム中のランカウンタ信号から、カウント値ＲＣを取得する。カウント値ＲＣの今回値をＲＣ（ｎ）とする。
【０１５３】
Ｓ１２２では、異常監視部２９０は、今回カウント値ＲＣ（ｎ）と、前回のカウント値ＲＣである前回カウント値ＲＣ（ｎ−１）に１を加算した値とが一致するか否かを判断する。すなわち、式（ｉｉ）が成立するか否かを判断する。式（ｉｉ）が成立しないと判断された場合（Ｓ１２２：ＮＯ）、Ｓ１２３へ移行する。式（ｉｉ）が成立すると判断された場合（Ｓ１２２：ＹＥＳ）、Ｓ１２４へ移行する。
【０１５４】
ＲＣ（ｎ）＝ＲＣ（ｎ−１）＋１    ・・・（ｉｉ）
【０１５５】
Ｓ１２３では、異常監視部２９０は、通信途絶が生じていると判定し、通信途絶フラグをセットする。図中、各フラグがセットされている状態を「１」、セットされていない状態を「０」とする。
【０１５６】
Ｓ１２４では、異常監視部２９０は、通信途絶が生じていないと判定し、通信途絶フラグをリセットする。また、今回カウント値ＲＣ（ｎ）を図示しないメモリ等に記憶しておく。記憶された今回のカウント値は、次回の演算にて前回値として用いられる。ここでは、少なくとも最新のカウント値ＲＣが保持されていればよい。
【０１５７】
整合性判定処理を説明するフローチャートを図２６に示す。Ｓ１３１では、異常監視部２９０は、通信フレームから、ＣＲＣ信号に基づく値を取得する。ここで取得されたＣＲＣ値は、他系統である第１制御部１３６でＣＲＣ演算された値であり、以下、他系統ＣＲＣ値とする。
【０１５８】
Ｓ１３２では、異常監視部２９０は、通信フレームに基づき、誤り検出演算であるＣＲＣ演算によりＣＲＣ値を演算する。ここで演算される値は、第２制御部２３６にて内部的に演算された値であり、以下、自系統ＣＲＣ値とする。
【０１５９】
Ｓ１３３では、異常監視部２９０は、自系統ＣＲＣ値と他系統ＣＲＣ値とが一致するか否かを判断する。自系統ＣＲＣ値と他系統ＣＲＣ値とが一致しないと判断された場合（Ｓ１３３：ＮＯ）、Ｓ１３４へ移行する。自系統ＣＲＣ値と他系統ＣＲＣ値とが一致すると判断された場合（Ｓ１３３：ＹＥＳ）、Ｓ１３５へ移行する。
【０１６０】
Ｓ１３４では、異常監視部２９０は、ビット化け等の通信整合性異常が生じていると判定し、通信整合性異常フラグをセットする。Ｓ１３５では、異常監視部２９０は、ビット化け等の通信整合性異常が生じていないと判定し、通信整合性異常フラグをリセットする。
【０１６１】
図２４に戻り、途絶判定処理および整合性判定処理に続いて移行するＳ１０４では、異常監視部２９０は、通信途絶フラグまたは通信整合性異常フラグがセットされているか否かを判断する。通信途絶フラグおよび通信整合性異常フラグがセットされていないと判断された場合（Ｓ１０４：ＮＯ）、Ｓ１０９へ移行する。通信途絶フラグまたは通信整合性異常フラグがセットされていると判断された場合（Ｓ１０４：ＹＥＳ）、Ｓ１０５へ移行する。
【０１６２】
Ｓ１０５では、異常監視部２９０は、通信異常検出フラグをセットする。Ｓ１０６では、異常監視部２９０は、異常検出カウンタおよび計時カウンタをインクリメントする。異常検出カウンタは、異常検出回数をカウントするためのカウンタであり、計時カウンタは、異常が検出されてからの時間を計時するためのカウンタである。
【０１６３】
Ｓ１０７では、異常監視部２９０は、異常検出カウンタのカウント値が確定判定閾値ＴＨｆより大きいか否かを判断する。異常確定カウンタのカウント値が確定判定閾値ＴＨｆ以下であると判断された場合（Ｓ１０７：ＮＯ）、Ｓ１１３へ移行する。異常確定カウンタのカウント値が確定判定閾値ＴＨｆより大きいと判断された場合（Ｓ１０７：ＹＥＳ）、Ｓ１０８へ移行する。
【０１６４】
Ｓ１０８では、異常監視部２９０は、通信異常確定フラグをセットする。また、第２制御部２３６では、異常確定時処置に移行する。本実施形態の異常確定時処置は、他系統である第１系統Ｌ１から取得された値を使わない独立駆動制御である。
【０１６５】
独立駆動制御を図２７に基づいて説明する。ここでは、系統Ｌ１、Ｌ２はそれぞれ正常であって、マイコン間通信が異常であるものとする。また、マイコン間通信が正常である場合の制御は、図１０にて説明した通りである。図２７では、処理を停止する制御器１５６、２５６等のブロックを破線で記載した。
【０１６６】
マイコン間通信の異常が確定された場合、第１制御部１３６は、第２制御部２３６から取得される値を用いずに電流フィードバック制御を行う。詳細には、第２系統Ｌ２に係る電流検出値Ｉｄ２、Ｉｑ２を０にするとともに、差のＰＩ演算を停止する。
【０１６７】
第２制御部２３６は、第１制御部１３６から取得される値を用いずに電流フィードバック制御を行う。第２制御部２３６は、正常時、第１制御部１３６から取得されたｄｑ軸電流指令値Ｉｄ*、Ｉｑ*を用いて電流制御を行っている。一方、マイコン間通信の異常が確定された場合、第２制御部２３６は、第１制御部１３６から取得されるｄｑ軸電流指令値Ｉｄ*、Ｉｑ*に替えて、第２制御部２３６内部のｄｑ軸電流指令演算部２４２、２４３にて演算されたｄｑ軸電流指令値Ｉｄ２*、Ｉｑ２*を用いて電流フィードバック演算を行う。また、第１系統Ｌ１に係る電流検出値Ｉｄ１、Ｉｑ１を０にするとともに、差のＰＩ演算を停止する。
【０１６８】
図２４に戻り、通信途絶フラグおよび通信整合性異常フラグがセットされていないと判断された場合（Ｓ１０４：ＮＯ）に移行するＳ１０９では、異常監視部２９０は、通信異常検出フラグがセットされているか否かを判断する。通信異常検出フラグがセットされていないと判断された場合（Ｓ１０９：ＮＯ）、Ｓ１１０へ移行する。通信異常検出フラグがセットされていると判断された場合（Ｓ１０９：ＹＥＳ）、Ｓ１１１へ移行する。
【０１６９】
Ｓ１１０では、第２制御部２３６は、マイコン間通信により取得された値を用いた通常制御を継続する。また、今回の通信にて取得された各値をホールド値として、図示しない記憶部等に保持しておく。ここでは、少なくとも最新の値が保持されていればよい。第２制御部２３６では、ｄｑ軸電流指令値Ｉｄ*、Ｉｑ*およびｄｑ軸電流検出値Ｉｄ１、Ｉｑ１を保持する。
【０１７０】
Ｓ１１１では、異常監視部２９０は、計時カウンタをインクリメントする。Ｓ１１２では、異常監視部２９０は、計時カウンタのカウント値が経過判定閾値ＴＨｔより大きいか否かを判断する。計時カウンタのカウント値が経過判定閾値ＴＨｔ以下であると判断された場合（Ｓ１１２：ＮＯ）、Ｓ１１３へ移行する。計時カウンタのカウント値が経過判定閾値ＴＨｔより大きいと判断された場合（Ｓ１１２：ＹＥＳ）、Ｓ１１４へ移行する。
【０１７１】
異常検出カウンタのカウント値が確定判定閾値ＴＨｆ以下（Ｓ１０７：ＮＯ）、または、計時カウンタのカウント値が経過判定閾値ＴＨｔ以下（Ｓ１１２：ＮＯ）に移行するＳ１１３では、異常監視部２９０は、マイコン間通信異常を未確定とし、異常検出時処置を行う。異常検出時処置では、マイコン間通信の異常が検出されていないときに第１制御部１３６から取得され、内部的にホールドされているホールド値を用いて電流フィードバック制御を行う。また、異常検出時処置は、異常確定時処置と同様、他系統から取得した値を用いない独立駆動制御であってもよい。
【０１７２】
計時カウンタのカウント値が経過判定閾値ＴＨｔより大きいと判断された場合（Ｓ１１２：ＹＥＳ）に移行するＳ１１４では、異常監視部２９０は、通信異常検出フラグをリセットする。また、検出されたマイコン間通信異常は、一時的なものであったとみなし、第１制御部１３６からマイコン間通信にて取得される値を用いた通常制御に復帰する。
【０１７３】
第１制御部１３６における異常監視処理では、Ｓ１１０にて、ホールドされる値が異なる。すなわち、第１制御部１３６では、第２制御部２３６からｄｑ軸電流指令値Ｉｄ２*、Ｉｑ２*を取得していないので、ｄｑ軸電流検出値Ｉｄ１、Ｉｄ２をホールド値として保持する。その他の点については、第２制御部２３６での異常監視処理と略同様である。
【０１７４】
本実施形態では、第１制御部１３６は、自系統の異常および通信異常を監視する異常監視部１９０を有する。また、第２制御部２３６は、自系統の異常および通信異常を監視する異常監視部２９０を有する。これにより、ＥＵＵ１０の異常を適切に検出することができる。
【０１７５】
制御部１３６、２３６の一方から他方に送信される出力信号には、ランカウンタ信号が含まれる。異常監視部１９０、２９０は、ランカウンタ信号が更新されていない場合、制御部間通信異常として通信途絶が生じていると判定する。これにより、通信途絶を適切に検出することができる。
【０１７６】
制御部１３６、２３６の一方から他方に送信される出力信号には、誤り検出信号であるＣＲＣ信号が含まれる。異常監視部１９０、２９０は、出力信号に含まれるＣＲＣ信号に基づく値である他系統ＣＲＣ値と、出力信号に基づく誤り検出演算にて自身で演算した値である自系統ＣＲＣ値とに基づき、制御部間通信異常である通信整合性異常を監視する。これにより、ビット化け等の通信整合性異常を適切に検出することができる。
【０１７７】
異常監視部１９０、２９０は、異常が検出されてから所定の異常継続条件を満たした場合、異常を確定する。本実施形態では、異常が検出されてから所定期間内に異常カウンタのカウント値が確定判定閾値ＴＨｆより大きくなった場合、所定の異常継続条件を満たしたとみなし、異常を確定させる。これにより、例えばノイズ等による一時的な異常による異常の誤確定を防ぐことができる。
【０１７８】
制御部１３６、２３６は、異常が検出されていないときに、他の制御部から通信にて取得される値をホールド値として保持しておく。また、異常が検出されてから確定されるまでの間、ホールド値を用いて制御する。これにより、誤った情報を用いた制御が行われるのを防ぐことができる。
【０１７９】
第２制御部２３６は、自系統に係る制御信号の生成に用いられる電流指令値Ｉｄ２*、Ｉｑ２*を演算可能である。本実施形態では、電流指令値Ｉｄ２*、Ｉｑ２*が「スレーブ指令値」に対応する。制御部１３６、２３６は、異常が検出されてから確定されるまでの間、他の制御部から取得される値を用いず、自身にて演算された指令および自系統の検出値を用いて制御信号を生成する独立駆動制御モードを行うようにしてもよい。また、制御部１３６、２３６は、異常が確定された場合、独立駆動制御モードを行う。これにより、誤った情報を用いた制御が行われるのを防ぐことができる。
【０１８０】
制御部１３６、２３６を協調させて駆動する通常制御モードにおいて、複数系統（本実施形態では２系統）の電流和および電流差を制御している場合制御部１３６、２３６は、独立駆動制御モードにおいて、他の制御部から取得される電流検出値を０に設定するとともに、電流差の制御を停止する。後述の片系統駆動モードのときも同様である。これにより、正常時に和と差の制御を行っている場合であっても、通信異常時に適切に独立駆動制御モードに移行することができる。なお、「異常時」とは、異常が検出されてから確定されるまでの間、および、異常が確定されたときのいずれもを含む概念とする。
【０１８１】
制御部１３６、２３６は、異常が検出されてから所定期間内に異常が確定されなかった場合、通常制御モードに復帰する。これにより、異常が確定されなかった場合、異常時制御モードから通常制御モードに適切に復帰させることができる。
【０１８２】
本実施形態では、ＥＣＵ１０は、電動パワーステアリング装置８に適用される。本実施形態では、マイコン間通信の異常が検出された場合、異常確定前に異常検出時処置に移行しており、異常が確定された場合、独立駆動制御モードに移行している。これにより、マイコン間通信に異常検出された場合であっても、適切な処置が行われるので、車両としての安全性を確保可能である。
【０１８３】
（第８実施形態）
第８実施形態を図２８〜図３７に示す。第７実施形態では、マイコン間通信異常が生じた際の処理について説明した。本実施形態では、制御部１３６、２３６の電流ＦＢ演算部１５０、２５０は、発生した異常の種類に応じて制御モードを切り替える。ここで、異常の種類を、（１）マイコン間通信異常、（２）モータ制御ができない状態となる異常、（３）間接的にモータ制御に影響する異常、（４）系統間の指令値乖離に分類する。以下適宜、（１）〜（４）の異常を、「異常（１）〜（４）」とする。
【０１８４】
（１）マイコン間通信異常が生じた場合、および、（４）系統間の指令値が乖離した場合、独立駆動制御に移行する。マイコン間通信異常の詳細は、第７実施形態にて説明した通りである。
【０１８５】
（２）一方の系統にてモータ８０の駆動を制御できない状態となる制御不能異常が生じた場合、他方の系統を用いてモータ８０を駆動する片系統駆動制御に移行する。制御不能異常とは、バッテリ１９１、２９１からインバータ回路１２０、２２０を経由してモータ巻線１８０、２８０に至る駆動系の異常、モータ制御に必要な指令値の生成に用いられるセンサ異常、制御部１３１、２３１の異常等である。本実施形態では、モータ制御に必要な指令値の生成に用いられるセンサには、トルクセンサ９４、電流センサ１２５、２２５、および、回転角センサ１２６、２２６が含まれる。片系統駆動制御では、正常系統では、独立駆動制御（図２７参照）と同様、他の制御部から取得される電流検出値を０に設定するとともに、電流差の制御を停止する。異常系統では、電流ＦＢ制御および制御信号の出力を停止する。片系統駆動制御において、正常系統からの出力トルクは、２系統駆動時と同等であってもよい。また、片系統駆動制御において、トルク不足を補うべく、２系統駆動時よりも、出力トルクを高めるようにしてもよい。
【０１８６】
（３）間接的にモータ制御に影響する異常が生じた場合、代替制御を行う。間接的にモータ制御に影響する異常とは、モータ制御は可能であるが、ユーザの意図通り、もしくは、予め設定された条件によるモータ制御ができない状態とする。間接的にモータ制御に影響する異常には、車両通信網１９５、２９５との通信異常、および、温度センサ１２７、２２７の異常等が含まれる。代替制御とは、異常である信号を用いず、代わりとなる代替情報を用いた制御である。例えば、車両通信異常が生じ、車速に係る情報を取得できない場合、車速に係る代替情報として、所定時速（例えば１００ｋｍ／ｈ）の固定値を用いる。また例えば、温度センサ１２７、２２７に異常が生じた場合、温度に係る代替情報として、所定温度の固定値を用いる。所定温度は、過熱保護を要する温度に応じて設定される。
【０１８７】
ここで、マイコン間通信の通信フレーム詳細を図２８に示す。図２８（ａ）〜図２８（ｆ）は、図２３（ａ）〜（ｆ）に対応しており、それぞれ、ランカウンタ信号の前に、自系統に係るステータス信号が追加されている。マスター側ステータス信号は、異常監視部１９０における第１系統Ｌ１の異常監視結果に応じた信号である。スレーブ側ステータス信号は、異常監視部２９０における第２系統Ｌ２の異常監視結果に応じた信号である。マスター側ステータス信号およびスレーブ側ステータス信号のビット数は、いくつであってもよく、他の系統に通知する異常項目に応じ、各異常項目の状態を表現可能なビット数とすることが望ましい。本実施形態では、ステータス信号を用いて制御部１３６、２３６にて異常状態を共有しているが、ステータス信号に替えて、異常である信号そのものや、状態遷移コード等、どのような情報により異常状態を共有してもよい。
【０１８８】
制御モード切替処理を図２９および図３０のフローチャートに基づいて説明する。図２９の処理は、マスター側である第１制御部１３６にて、所定の周期でされる。図２９および図３０中では説明を省略しているが、上記実施形態と同様、異常が検出されると、異常カウンタがインクリメントされ、カウンタ値が確定判定閾値ＴＨｆより大きくなった場合に異常確定される。確定判定閾値ＴＨｆは、異常の種類ごとに異なっていてもよい。異常検出から異常確定までの間は、上記実施形態と同様、内部的にホールドされているホールド値を用いた制御を行うものとする。
【０１８９】
Ｓ２０１では、異常監視部１９０は、マイコン間通信異常である異常（１）が生じているか否かを判断する。本実施形態では、第７実施形態と同様に通信異常判定を行うが、異常判定方法は異なっていてもよい。異常（１）が生じていると判断された場合（Ｓ２０１：ＹＥＳ）、Ｓ２０２へ移行し、制御モードを独立駆動制御とする。異常（１）が生じていないと判断された場合（Ｓ２０１：ＮＯ）、Ｓ２０３へ移行する。
【０１９０】
Ｓ２０３では、異常監視部１９０は、自系統にてモータ８０を制御できない異常である異常（２）が生じているか否かを判断する。異常（２）が生じていないと判断された場合（Ｓ２０３：ＮＯ）、Ｓ２０６へ移行する。異常（２）が生じていると判断された場合（Ｓ２０３：ＹＥＳ）、Ｓ２０４へ移行する。
【０１９１】
Ｓ２０４では、第１制御部１３６は、異常（２）が生じている旨の情報を自系統のステータス信号に含め、第２制御部２３６へ送信する。なお、説明の都合上、当該ステップにて信号を送信するものとするが、所定の通信タイミングにて送信部１７１から信号送信を行ってもよい。他の信号送受信に係るステップについても同様である。
【０１９２】
Ｓ２０５では、第１制御部１３６は、自系統の制御モードを駆動停止とする。この場合、他系統が正常であれば、他系統側での片系統駆動にてモータ８０が駆動される。
【０１９３】
Ｓ２０６では、異常監視部１９０は、間接的にモータ制御に影響する異常である異常（３）が生じているか否かを判断する。異常（３）が生じていないと判断された場合（Ｓ２０６：ＮＯ）、Ｓ２０９へ移行する。異常（３）が生じていると判断された場合（Ｓ２０６：ＹＥＳ）、Ｓ２０７へ移行する。
【０１９４】
Ｓ２０７では、異常（３）が生じている旨の情報を自系統のステータス信号に含め、第２制御部２３６へ送信する。Ｓ２０８では、制御部１３６は、制御モードを代替制御とする。
【０１９５】
Ｓ２０９では、異常監視部１９０は、他系統のステータス情報を取得する。Ｓ２１０では、異常監視部１９０は、他系統のステータス情報に基づき、他系統に異常（２）が生じているか否かを判断する。他系統に異常（２）が生じていないと判断された場合（Ｓ２１０：ＮＯ）、Ｓ２１２へ移行する。他系統に異常（２）が生じていると判断された場合（Ｓ２１０：ＹＥＳ）、Ｓ２１１へ移行し、制御モードを片系統駆動制御とする。
【０１９６】
Ｓ２１２では、異常監視部１９０は、系統間の指令乖離である異常（４）が生じているか否かを判断する。本実施形態では、異常（４）はスレーブ側にて判定し、マスター側である異常監視部１９０では、スレーブ側である第２制御部２３６から取得されるステータス情報に基づいて判断する。異常（４）が生じていると判断された場合（Ｓ２１２：ＹＥＳ）、Ｓ２１３へ移行し、制御モードを独立駆動制御とする。異常（４）が生じていないと判断された場合（Ｓ２１２：ＮＯ）、すなわち、異常（１）〜（４）がいずれも生じていない場合、Ｓ２１４へ移行し、制御モードを通常制御とする。本実施形態の通常制御は、マスター側の指令値を用いて、マスター系統およびスレーブ系統を制御する協調駆動制御である。協調駆動制御の詳細は、上記のいずれの実施形態のものであってもよい。
【０１９７】
図３０の処理は、スレーブ側である第２制御部２３６にて、所定の周期で実行される。Ｓ３０１〜Ｓ３１０の処理は、Ｓ２０１〜Ｓ２１０の処理と同様である。なお、図３０の処理では、自系統が第２系統Ｌ２、他系統が第１系統Ｌ１であって、例えば異常監視部１９０を異常監視部２９０にする、といった具合に、対応する制御ブロックや値に適宜読み替えればよい。
【０１９８】
Ｓ３１０にて否定判断された場合に移行するＳ３１２では、指令乖離判定処理を行う。指令乖離判定処理を図３１に示す。Ｓ３２１では、異常監視部２９０は、マイコン間通信にて取得したマスター系統の指令値と、自系統にて演算した指令値との偏差である指令偏差を演算する。本実施形態では、第１系統の電流指令値Ｉ１*と第２系統の電流指令値Ｉ２*との偏差ΔＩを演算する。電流指令値Ｉ１*、Ｉ２*は、ｄｑ軸電流に係る指令値、３相電流に係る指令値、または、３相電流に係る指令値の二乗和等、どのような値としてもよい。また、指令偏差は、電流指令値の偏差に限らず、トルク指令値や電圧指令値の偏差であってもよい。
【０１９９】
Ｓ３２２では、異常監視部２９０は、指令偏差ΔＩが指令偏差判定閾値ＴＨｉ１以上か否かを判断する。指令偏差判定閾値は、電流指令値Ｉ１*、Ｉ２*が一致しているとみなせる程度の値に設定される。指令偏差ΔＩ*が指令偏差判定閾値ＴＨｉ１より小さいと判断された場合（Ｓ３２２：ＮＯ）、指令乖離異常が生じていないと判定し、本ルーチンを終了し、図３０中のＳ３１３へ移行する。指令偏差ΔＩ*が指令偏差判定閾値ＴＨｉ１以上であると判断された場合（Ｓ３２２：ＹＥＳ）、Ｓ３２３へ移行し、指令乖離カウンタをインクリメントする。
【０２００】
Ｓ３２４では、異常監視部２９０は、指令乖離カウンタのカウント値が乖離判定閾値ＴＨｄ以上か否かを判断する。指令乖離カウンタのカウント値が乖離判定閾値ＴＨｄより小さいと判断された場合（Ｓ３２４：ＮＯ）、指令乖離異常を確定せず、本ルーチンを終了し、図３０中のＳ３１３へ移行する。指令乖離カウンタのカウント値が乖離判定閾値ＴＨｄ以上であると判断された場合（Ｓ３２４：ＹＥＳ）、Ｓ３２５へ移行する。
【０２０１】
Ｓ３２５では、第２制御部２３６は、異常（４）が生じている旨の情報を自系統のステータス信号に含め、第１制御部１３６へ送信する。
【０２０２】
図３０に戻り、Ｓ３１３では、第２制御部２３６は、異常（４）が生じているか否かを判断する。異常（４）が生じていると判断された場合（Ｓ３１３：ＹＥＳ）、Ｓ３１４へ移行し、制御モードを独立駆動制御とする。異常（４）が生じていないと判断された場合（Ｓ３１３：ＮＯ）、Ｓ３１５へ移行し、制御モードを通常制御とする。
【０２０３】
図３２は、制御モードが代替制御であるときの復帰処理を説明するフローチャートである。この処理は、制御部１３６、２３６にて、代替制御に移行した際に所定周期で実施される。代替制御からの復帰処理は、制御部１３６、２３６にて同様であるので、第１制御部１３６の処理を説明し、第２制御部２３６に係る説明を省略する。図３３も同様である。
【０２０４】
Ｓ４０１では、異常監視部１９０は、異常（３）が解消したか否かを判断する。異常（３）が解消していないと判断された場合（Ｓ４０１：ＮＯ）、Ｓ４０４へ移行し、代替制御を継続する。異常（３）が解消していると判断された場合（Ｓ４０１：ＹＥＳ）、Ｓ４０２へ移行する。
【０２０５】
Ｓ４０２では、異常監視部１９０は、復帰カウンタをインクリメントする。Ｓ４０３では、異常監視部１９０は、復帰カウンタのカウント値が復帰判定閾値ＴＨｒ以上か否かを判断する。復帰判定閾値ＴＨｒは、他の異常からの復帰処理における値と同じであってもよいし、異なっていてもよい。復帰カウンタのカウント値が復帰判定閾値ＴＨｒより小さいと判断された場合（Ｓ４０３：ＮＯ）、Ｓ４０４へ移行し、代替制御を継続する。復帰カウンタのカウント値が復帰判定閾値ＴＨｒ以上であると判断された場合（Ｓ４０３：ＹＥＳ）、Ｓ４０５へ移行する。
【０２０６】
Ｓ４０５では、第１制御部１３６は、異常（３）が正常である旨の情報を自系統のステータス信号に含め、第２制御部２３６へ送信する。Ｓ４０６では、異常監視部１９０は、他系統のステータス情報を取得する。
【０２０７】
Ｓ４０７では、異常監視部１９０は、自系統および他系統が正常か否かを判断する。自系統および他系統が正常であると判断された場合（Ｓ４０７：ＹＥＳ）、Ｓ４０８へ移行し、制御モードを通常制御とする。自系統または他系統が正常ではないと判断された場合（Ｓ４０７：ＮＯ）、Ｓ４０９へ移行し、異常状態に応じた制御モードに移行する。詳細には、図２９および図３０にて説明した制御モード切替処理により、制御モードを決定する。
【０２０８】
図３３は、マイコン間通信異常により、制御モードが独立駆動制御であるときの復帰処理を説明するフローチャートである。この処理は、制御部１３６、２３６にて、通信異常により独立駆動制御に移行した際に所定周期で実施される。
【０２０９】
Ｓ４２１では、異常監視部１９０は、異常（１）が解消したか否かを判断する。ここでは、ＣＲＣ信号およびランカウンタが正常である場合、異常（１）が解消したと判定する。異常（１）が解消していないと判断された場合（Ｓ４２１：ＮＯ）、Ｓ４２４へ移行する。異常（１）が解消したと判断された場合（Ｓ４２１：ＹＥＳ）、Ｓ４２２へ移行する。
【０２１０】
Ｓ４２２、Ｓ４２３の処理は、図３２中のＳ４０２、Ｓ４０３の処理と同様である。Ｓ４２３にて、復帰カウンタのカウント値が復帰判定閾値ＴＨｒより小さいと判断された場合（Ｓ４２３：ＮＯ）、Ｓ４２４へ移行する。復帰カウンタのカウント値が復帰判定閾値ＴＨｒ以上であると判断された場合（Ｓ４２３：ＹＥＳ）、Ｓ４２６へ移行する。
【０２１１】
Ｓ４２４では、異常監視部１９０は、マイコン間通信以外、自系統が正常か否かを判断する。本ステップでは、マイコン間通信以外について、自系統が正常であれば、自系統正常と判定する。後述のＳ４６５およびＳ５２５についても同様である。自系統が正常ではないと判断された場合（Ｓ４２４：ＮＯ）、Ｓ４３０へ移行する。自系統が正常であると判断された場合（Ｓ２４２：ＹＥＳ）、Ｓ４２５へ移行し、独立駆動制御を継続する。
【０２１２】
Ｓ４２６では、第１制御部１３６は、自系統の異常情報に係るステータス情報を含む信号を、第２制御部２３６へ送信する。Ｓ４２７では、第１制御部１３６は、他系統のステータス情報を取得する。Ｓ４２８〜Ｓ４３０の処理は、図３２中のＳ４０７〜Ｓ４０９の処理と同様である。
【０２１３】
図３４および図３５は、指令値乖離異常時の復帰処理を説明するフローチャートである。図３４はスレーブ側である第２制御部２３６の処理であり、図３５はマスター側である第１制御部１３６の処理である。
【０２１４】
図３４に示すように、Ｓ４４１では、異常監視部２９０は、マイコン間通信が正常か否かを判断する。マイコン間通信が正常ではないと判断された場合（Ｓ４４１：ＮＯ）、Ｓ４４６へ移行し、独立駆動制御を継続する。マイコン間通信が正常であると判断された場合（Ｓ４４１：ＹＥＳ）、Ｓ４４２へ移行し、指令偏差ΔＩ*を演算する。図３１にて説明したように、指令偏差は電流偏差以外であってもよい。
【０２１５】
Ｓ４４３では、異常監視部２９０は、指令偏差ΔＩ*が指令偏差判定閾値ＴＨｉ２以下か否かを判断する。指令偏差判定閾値ＴＨｉ２は、第１系統Ｌ１の電流指令値Ｉ１*、Ｉ２*が一致しているとみなせる程度の値に設定される。なお、ここで用いられる指令偏差判定閾値ＴＨｉ２は、Ｓ３２２にて用いられる指令偏差判定閾値ＴＨｉ１と同じ値であってもよいし、異なる値であってもよい。指令偏差ΔＩ*が指令偏差判定閾値ＴＨｉ２より大きいと判断された場合（Ｓ４４３：ＮＯ）、Ｓ４４６へ移行し、独立駆動制御を継続する。指令偏差ΔＩｄ*、ΔＩｑ*が指令偏差判定閾値ＴＨｉ２以下であると判断された場合（Ｓ４４３：ＹＥＳ）、Ｓ４４４へ移行する。
【０２１６】
Ｓ４４４、Ｓ４４５の処理は、図３２中のＳ４０２、Ｓ４０３の処理と同様である。Ｓ４４５にて、復帰カウンタのカウント値が復帰判定閾値ＴＨｒより小さいと判断された場合（Ｓ４４５：ＮＯ）、Ｓ４４６へ移行し、独立駆動制御を継続する。復帰カウンタのカウント値が復帰判定閾値ＴＨｒ以上であると判断された場合（Ｓ４４５：ＹＥＳ）、Ｓ４４７へ移行する。
【０２１７】
Ｓ４４７では、第２制御部２３６は、異常（４）が正常である旨の情報を自系統のステータス信号に含め、第１制御部１３６へ送信する。Ｓ４４８では、第２制御部２３６は、他系統のステータス情報を取得する。Ｓ４４９〜Ｓ４５１の処理は、図３２中のＳ４０７〜Ｓ４０９の処理と同様である。
【０２１８】
図３５に示すように、Ｓ４６１では、異常監視部１９０は、マイコン間通信が正常か否かを判断する。マイコン間通信が正常ではないと判断された場合（Ｓ４６１：ＮＯ）、Ｓ４６５へ移行する。マイコン間通信が正常であると判断された場合（Ｓ４６１：ＹＥＳ）、Ｓ４６２へ移行する。
【０２１９】
Ｓ４６２、Ｓ４６３の処理は、図３３中のＳ４２６、Ｓ４２７の処理と同様である。Ｓ４６４では、異常監視部１９０は、スレーブ側から取得されるステータス情報に基づき、異常（４）が解消したか否かを判断する。異常（４）が解消したと判断された場合（Ｓ４６４：ＹＥＳ）、Ｓ４６７へ移行する。異常（４）が解消していないと判断された場合（Ｓ４６４：ＮＯ）、Ｓ４６５へ移行する。
【０２２０】
Ｓ４６５、Ｓ４６６の処理は、図３３中のＳ４２４、Ｓ４２５と同様であり、Ｓ４６７〜Ｓ４６９の処理は、Ｓ４２８〜Ｓ４３０の処理と同様である。
【０２２１】
図３６および図３７は、片系統駆動からの復帰処理を説明するフローチャートである。図３６は異常（２）により駆動を停止している異常系統の処理であり、図３７は片系統駆動を継続している系統の処理である。ここでは、第１系統Ｌ１が異常系統であり、第２系統Ｌ２が片系統駆動を継続しているものとして説明する。
【０２２２】
図３６に示すように、Ｓ５０１では、異常監視部１９０は、異常（２）が解消したか否かを判断する。異常（２）が解消していないと判断された場合（Ｓ５０１：ＹＥＳ）、Ｓ５０５へ移行し、駆動停止状態を継続する。異常（２）が解消したと判断された場合（Ｓ５０１：ＹＥＳ）、Ｓ５０２へ移行する。
【０２２３】
Ｓ５０２、Ｓ５０３の処理は、図３２中のＳ４０２、Ｓ４０３の処理と同様である。Ｓ５０３にて、復帰カウンタのカウント値が復帰判定閾値ＴＨｒより小さいと判断された場合（Ｓ５０３：ＮＯ）、Ｓ５０５へ移行し、駆動停止状態を継続する。復帰カウンタのカウント値が復帰判定閾値ＴＨｒ以上であると判断された場合（Ｓ５０３：ＹＥＳ）、Ｓ５０５へ移行する。
【０２２４】
Ｓ５０４では、異常監視部１９０は、マイコン間通信が正常か否かを判断する。マイコン間通信が正常ではないと判断された場合（Ｓ５０４：ＮＯ）、Ｓ５０５へ移行し、駆動停止状態を継続する。マイコン間通信が正常であると判断された場合（Ｓ５０４：ＹＥＳ）、Ｓ５０６へ移行する。Ｓ５０６〜Ｓ５１０の処理は、図３３中のＳ４２６〜Ｓ４３０の処理と同様である。
【０２２５】
図３７に示すように、Ｓ５２１では、異常監視部２９０は、マイコン間通信が正常か否かを判断する。マイコン間通信が正常ではないと判断された場合（Ｓ５２１：ＮＯ）、Ｓ５２５へ移行する。マイコン間通信が正常であると判断された場合（Ｓ５２１：ＹＥＳ）、Ｓ５２２へ移行する。Ｓ５２２、Ｓ５２３の処理は、Ｓ４２６、Ｓ４２７の処理と同様である。
【０２２６】
Ｓ５２４では、異常監視部２９０は、駆動を停止していた第１系統Ｌ１における異常（２）が解消したか否かを取得したステータス信号に基づいて判断する。異常（２）が解消したと判断された場合（Ｓ５２４：ＹＥＳ）、Ｓ５２７へ移行する。異常（２）が解消していないと判断された場合（Ｓ５２４：ＮＯ）、Ｓ５２５へ移行する。
【０２２７】
Ｓ５２５では、異常監視部２９０は、マイコン間通信以外、自系統が正常か否かを判断する。自系統が正常ではないと判断された場合（Ｓ５２５：ＮＯ）、Ｓ５２９へ移行する。自系統が正常であると判断された場合（Ｓ５２５：ＹＥＳ）、Ｓ５２６へ移行し、片系統駆動を継続する。Ｓ５２７〜Ｓ５２９の処理は、図３２中のＳ４０７〜Ｓ４０９の処理と同様である。
【０２２８】
本実施形態では、制御部１３６、２３６は、自系統の異常に係る自系統異常情報、および、他系統の異常に係る他系統異常情報を共有する。詳細には、制御部１３６、２３６は、自系統の異常情報である自系統異常情報を他系統の制御部２３６、１３６に送信し、他系統の異常情報である他系統異常情報を他系統の制御部２３６、１３６から取得する。本実施形態では、異常情報をステータス信号に含めて、マイコン間通信にて共有する。第１制御部１３６は、自系統異常情報を含むマスター側ステータス信号を第２制御部２３６に送信し、他系統異常情報を含むスレーブ側ステータス信号を第２制御部２３６から取得する。また、第２制御部２３６は、自系統異常情報を含むスレーブ側ステータス信号を第１制御部１３６に送信し、他系統異常情報を含むマスター側ステータス信号を第１制御部１３６から取得する。これにより、各系統の異常状態を、系統間にて適切に共有することができる。
【０２２９】
制御部１３６、２３６は、自系統異常情報および他系統異常情報に基づき、制御モードとして、通常制御モードと異常時制御モードとを切り替え可能である。通常制御モードでは、制御部１３６、２３６を協調させて駆動する。異常時制御モードには、代替制御モード、片系統駆動制御モードおよび独立駆動制御モードの少なくとも１つを含む。また、制御部１３６、２３６は、代替制御モード、独立駆動制御モードまたは片系統駆動制御モード中に異常が解消された場合、通常制御モードに復帰する。
【０２３０】
代替制御モードは、通常制御モードに用いられる信号のうち異常となった信号に替えて、代替情報を用いる。片系統駆動制御モードは、一部の系統の駆動を停止し、残りの系統を用いてモータ８０の制御を継続する。独立駆動制御モードは、制御部１３６、２３６を協調させず、系統毎にモータ８０の制御を継続する。これにより、異常状態に応じて、モータ８０の制御を適切に継続することができる。
【０２３１】
制御部１３６、２３６は、他系統異常情報を利用不能である制御部間通信異常が生じている場合、独立駆動制御モードに切り替える。これにより、誤った情報を用いた制御が行われるのを防ぐことができる。
【０２３２】
制御部１３６、２３６は、自系統にて制御不能異常が生じた場合、制御不能異常が生じた旨の情報を他系統の制御部２３６、１３６に送信するとともに、自系統の駆動を停止し、他系統異常情報に制御不能異常が生じた旨の情報が含まれる場合、片系統駆動モードに切り替える。制御不能異常は、バッテリ１９１、２９１からインバータ回路１２０、２２０を経由してモータ巻線１８０、２８０に至る駆動系の異常、トルクセンサ９４、電流センサ１２５、２２５または回転角センサ１２６、２２６の異常、もしくは、制御部１３６、２３６の異常である。制御不能異常時には、片系統駆動モードに切り替えることで、正常系系統を用いて適切にモータ８０の駆動を継続することができる。
【０２３３】
制御部１３６、２３６は、間接的にモータ８０の駆動に影響を与える異常が生じた場合、代替制御モードに切り替える。本実施形態では、これにより、モータ８０の駆動制御を適切に継続することができる。
【０２３４】
制御部１３６、２３６は、第１制御部１３６にて演算される指令値Ｉ*と、第２制御部２３６にて演算される指令値Ｉ*とが乖離した場合、独立駆動制御モードに切り替える。これにより、乖離した指令が用いられることによる制御の不整合を防ぐことができる。なお、例えば、第１制御部１３６から送信される指令値に基づいて第２制御部２３６にて演算された演算値を指令乖離判定に用いたとしても、当該演算値は、「マスター制御部にて演算される値」とみなす。スレーブ制御部にて演算される値についても同様である。
【０２３５】
図３８に示すように、制御部１３６、２３６は、協調駆動モードと、独立駆動モードと、片系統駆動モードと、を有する。換言すると、協調駆動モード、独立駆動モード、および、片系統駆動モードを有するモータ制御装置は、本実施形態のＥＣＵに相当するとみなされる。本実施形態では、異常状態に応じて駆動モードを切り替えているが、異常状態以外の遷移条件にて駆動モードを切り替えてもよい。なお補足として、例えば独立駆動モードにおいて、一方の系統にて代替制御を行うといった具合に、代替制御モードを、他の制御モードと組み合わせてもよい。
【０２３６】
協調駆動モードでは、マスター制御部である第１制御部１３６が制御信号の生成に係る指令値を演算し、当該指令値に基づく制御信号を出力するとともに、スレーブ制御部である第２制御部２３６が第１制御部１３６にて演算された指令値に基づく制御信号を出力する。
【０２３７】
独立駆動モードでは、第１制御部１３６が自系統の制御信号の生成に係る指令値を演算し、その演算した指令値に基づく制御信号を出力するとともに、第２制御部２３６が自系統の制御信号の生成に係る指令値を演算し、その演算した指令値に基づく制御信号を出力する。
【０２３８】
片系統駆動モードでは、マスター制御部およびスレーブ制御部のうちの一部が制御信号の出力を停止し、他の制御部が自系統の制御信号の生成に係る指令値を演算し、その指令値に基づく制御信号を出力する。これにより、複数系統からなるモータ８０の駆動を適切に制御することができる。また上記実施形態と同様の効果を奏する。
【０２３９】
（他の実施形態）
上記実施形態では、制御部が２つであり、一方がマスター制御部であり、他方がスレーブ制御部である。他の実施形態では、制御部が３つ以上であってもよい。すなわち、系統数が３以上であってもよい。この場合、マスター制御部は１つであって、スレーブ制御部を複数とする。なお、３系統以上の場合、いずれか１つの系統の駆動を停止し、残りの複数系統にて駆動を継続する場合、および、複数の系統の駆動を停止し、残りの１系統にて駆動を継続する場合についても、「片系統駆動」の概念に含まれるものとする。また、例えば、マスター制御部に異常が生じた場合、スレーブ制御部のうちの１つをマスター制御部に切り替えて協調制御を継続する、といった具合に、マスター制御部を入れ替えてもよい。また、１つの制御部に対して、複数の駆動回路および巻線組を設けるようにしてもよい。
【０２４０】
上記実施形態では、制御部は、電流フィードバック制御により、回転電機の駆動を制御する。他の実施形態では、電流フィードバック制御以外の方法にて、回転電機の駆動を制御してもよい。また、他の実施形態では、マスター制御部は、制御方法に応じ、トルク指令値、電流指令値、電圧指令値、または、ＰＷＭ信号以外の値を指令値としてスレーブ制御部に送信するようにしてもよい。
【０２４１】
上記実施形態では、回転電機は、３相のブラシレスモータである。他の実施形態では、回転電機は、ブラシレスモータに限らず、どのようなモータとしてもよい。また、回転電機は、モータに限らず、発電機であってもよいし、電動機と発電機の機能を併せ持つ、所謂モータジェネレータであってもよい。上記実施形態では、駆動装置は、ＥＣＵとモータとが一体に設けられる機電一体型である。他の実施形態では、ＥＣＵがモータとは別途に設けられる機電別体としてもよい。
【０２４２】
上記実施形態では、回転電機制御装置は、電動パワーステアリング装置に適用される。他の実施形態では、回転電機制御装置を電動パワーステアリング装置以外の装置に適用してもよい。以上、本発明は、上記実施形態になんら限定されるものではなく、発明の趣旨を逸脱しない範囲において種々の形態で実施可能である。
【符号の説明】
【０２４３】
１０・・・ＥＣＵ（回転電機制御装置）
８０・・・モータ（回転電機）      １８０、２８０・・・モータ巻線（巻線組）
１２０、２２０・・・インバータ回路（駆動回路）
１３１〜１３６・・・第１制御部（制御部、マスター制御部）
２３１〜２３６・・・第２制御部（制御部、スレーブ制御部）
１６５、２６５・・・信号出力部
１９０、２９０・・・異常監視部
【図１】
2018130007.tif 000003
【図２】
2018130007.tif 000004
【図３】
2018130007.tif 000005
【図４】
2018130007.tif 000006
【図５】
2018130007.tif 000007
【図６】
2018130007.tif 000008
【図７】
2018130007.tif 000009
【図８】
2018130007.tif 000010
【図９】
2018130007.tif 000011
【図１０】
2018130007.tif 000012
【図１１】
2018130007.tif 000013
【図１２】
2018130007.tif 000014
【図１３】
2018130007.tif 000015
【図１４】
2018130007.tif 000016
【図１５】
2018130007.tif 000017
【図１６】
2018130007.tif 000018
【図１７】
2018130007.tif 000019
【図１８】
2018130007.tif 000020
【図１９】
2018130007.tif 000021
【図２０】
2018130007.tif 000022
【図２１】
2018130007.tif 000023
【図２２】
2018130007.tif 000024
【図２３】
2018130007.tif 000025
【図２４】
2018130007.tif 000026
【図２５】
2018130007.tif 000027
【図２６】
2018130007.tif 000028
【図２７】
2018130007.tif 000029
【図２８】
2018130007.tif 000030
【図２９】
2018130007.tif 000031
【図３０】
2018130007.tif 000032
【図３１】
2018130007.tif 000033
【図３２】
2018130007.tif 000034
【図３３】
2018130007.tif 000035
【図３４】
2018130007.tif 000036
【図３５】
2018130007.tif 000037
【図３６】
2018130007.tif 000038
【図３７】
2018130007.tif 000039
【図３８】
2018130007.tif 000040