(57)【要約】【課題】第１角度センサの検出値と第２角度センサの検出値とに差が生じている場合であっても、転舵角の制御性の低下を抑制できるようにしたモータの制御装置を提供する。【解決手段】ＣＰＵ３２（１）は、第１角度センサ４０（１）に基づく回転角度を目標角度にフィードバック制御するための操作量である第１操作量を算出し、これに基づき第１インバータ２２（１）を操作する。ＣＰＵ３２（２）は、第２角度センサ４０（２）に基づく回転角度を目標角度にフィードバック制御するための操作量である第２操作量を積分要素によらずに算出つつも、第１操作量に基づき第２インバータ２２（２）を操作する。第１ステータコイル１４（１）の電流制御が不可となると、ＣＰＵ３２（２）は、積分要素の初期値をＣＰＵ３２（１）の積分要素の出力値相当としつつ第２操作量を算出して、これに基づき第２インバータ２２（２）を操作する。【選択図】図１
2020150583.tif 000002
【特許請求の範囲】
【請求項１】
転舵輪を転舵させるためのモータであって互いに絶縁された第１ステータコイルおよび第２ステータコイルを備えるモータを制御対象とし、前記第１ステータコイルに接続されている第１駆動回路および前記第２ステータコイルに接続されている第２駆動回路を操作するモータの制御装置において、
互いに通信可能な第１処理回路および第２処理回路を備え、
前記第１処理回路は、前記転舵輪の転舵角に換算可能な換算可能角度であって第１角度センサの検出値に基づく換算可能角度と目標角度との差に応じた積分要素の出力値に基づき第１操作量を算出する第１操作量算出処理と、前記第１操作量に基づき前記第１駆動回路を操作する処理と、該第１操作量を前記第２処理回路に出力する出力処理と、を実行し、
前記第２処理回路は、第２角度センサの検出値に基づく前記換算可能角度と前記目標角度との差に応じた積分要素の出力値に基づき第２操作量を算出する第２操作量算出処理と、前記第１操作量に基づき前記第２駆動回路を操作する第１利用操作処理と、前記第２操作量に基づき前記第２駆動回路を操作する第２利用操作処理と、前記第１利用操作処理から前記第２利用操作処理への切り替えに伴って前記第２操作量の算出に用いる前記積分要素の初期値を、前記第１操作量算出処理の前記積分要素の値に応じて設定する初期値設定処理と、を実行するモータの制御装置。
【請求項２】
前記第２操作量算出処理は、前記第１利用操作処理がなされている場合、前記第２操作量の算出に用いる前記積分要素によらずに前記第２操作量を算出する処理を含み、
前記初期値設定処理は、前記第１利用操作処理から前記第２利用操作処理への切り替えに伴って、前記第１操作量と前記第２操作量との差に応じて前記初期値を設定する処理である請求項１記載のモータの制御装置。
【請求項３】
前記第２処理回路は、前記第１処理回路による前記第１駆動回路の操作が停止する異常が生じる場合、前記第１利用操作処理から前記第２利用操作処理に切り替える処理を含み、
前記第２操作量算出処理は、前記第１駆動回路の操作が停止する異常が生じることに基づき前記第２利用操作処理に切り替えられる場合、前記積分要素を用いて前記第２操作量を算出する処理を含む請求項１または２記載のモータの制御装置。
【請求項４】
前記第２操作量算出処理は、前記第１利用操作処理がなされている場合、前記積分要素によらずに前記第２操作量を算出する処理を含み、
前記第２処理回路は、前記第１利用操作処理がなされているときに前記第１操作量と前記第２操作量との差の絶対値が規定値以上の場合、前記第１利用操作処理から前記第２利用操作処理に切り替える処理を実行し、
前記第２操作量算出処理は、前記第１操作量と前記第２操作量との差の絶対値が規定値以上であることに基づき前記第２利用操作処理に切り替えられる場合、前記第２操作量の算出に用いる前記積分要素によらず前記第２操作量を算出する処理を含む請求項１〜３のいずれか１項に記載のモータの制御装置。
【請求項５】
前記第２処理回路は、前記第１処理回路と前記第２処理回路との通信に異常が生じる場合、前記第１利用操作処理から前記第２利用操作処理に切り替える処理を実行し、
前記第２操作量算出処理は、前記通信に異常が生じることに基づき前記第２利用操作処理に切り替えられる場合、前記第２操作量の算出に用いる前記積分要素によらず前記第２操作量を算出する処理を含む請求項１〜４のいずれか１項に記載のモータの制御装置。
【請求項６】
前記第２操作量算出処理は、前記換算可能角度を前記目標角度にフィードバック制御するための操作量に加えて前記換算可能角度を前記目標角度にフィードフォワード制御するための操作量に基づき前記第２操作量を算出する処理である請求項４または５記載のモータの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、転舵輪を転舵させるためのモータであって互いに絶縁された第１ステータコイルおよび第２ステータコイルを備えるモータを制御対象とし、前記第１ステータコイルに接続されている第１駆動回路および前記第２ステータコイルに接続されている第２駆動回路を操作するモータの制御装置に関する。
【背景技術】
【０００２】
たとえば下記特許文献１には、転舵輪を転舵させるモータであって、互いに独立な２つのステータコイルを備えるモータが記載されている。同文献には、ステータコイルに接続された駆動回路を操作するモータの制御装置として、ステータコイル毎に、各別のマイコンを備えた冗長な制御装置が記載されている。ここで、一対のマイコンのそれぞれは、各別の回転角センサの検出値に基づき、モータのｄｑ軸の電流を算出することによってそれらｄｑ軸の電流を制御する。また、第１のマイコンの電流の指令値を第２のマイコンによって利用することも記載されている（図１０）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−２４３３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
発明者は、上記のように冗長な制御装置において、転舵輪の転舵角を上記回転角センサによって検出し、検出値を目標値にフィードバック制御することを検討した。しかしその場合、回転角センサの検出値同士の差に起因して転舵角の制御性が低くなるおそれがある。
【課題を解決するための手段】
【０００５】
以下、上記課題を解決するための手段およびその作用効果について記載する。
１．転舵輪を転舵させるためのモータであって互いに絶縁された第１ステータコイルおよび第２ステータコイルを備えるモータを制御対象とし、前記第１ステータコイルに接続されている第１駆動回路および前記第２ステータコイルに接続されている第２駆動回路を操作するモータの制御装置において、互いに通信可能な第１処理回路および第２処理回路を備え、前記第１処理回路は、前記転舵輪の転舵角に換算可能な換算可能角度であって第１角度センサの検出値に基づく換算可能角度と目標角度との差に応じた積分要素の出力値に基づき第１操作量を算出する第１操作量算出処理と、前記第１操作量に基づき前記第１駆動回路を操作する処理と、該第１操作量を前記第２処理回路に出力する出力処理と、を実行し、前記第２処理回路は、第２角度センサの検出値に基づく前記換算可能角度と前記目標角度との差に応じた積分要素の出力値に基づき第２操作量を算出する第２操作量算出処理と、前記第１操作量に基づき前記第２駆動回路を操作する第１利用操作処理と、前記第２操作量に基づき前記第２駆動回路を操作する第２利用操作処理と、前記第１利用操作処理から前記第２利用操作処理への切り替えに伴って前記第２操作量の算出に用いる前記積分要素の初期値を、前記第１操作量算出処理の前記積分要素の値に応じて設定する初期値設定処理と、を実行するモータの制御装置。である。
【０００６】
上記構成では、第１利用操作処理においては、第２処理回路が第１操作量に基づき第２駆動回路を操作するため、第１駆動回路および第２駆動回路の双方が第１角度センサの検出値に基づく換算可能角度を目標角度にフィードバック制御するための操作量によって操作される。したがって、第１角度センサの検出値と第２角度センサの検出値とに差が生じている場合であっても、転舵角の制御性が低下することを抑制できる。
【０００７】
ところで、第１操作量算出処理は、積分要素を用いて第１操作量を算出していることから、第１操作量は、第１角度センサに基づく換算可能角度と目標角度との定常偏差を解消する値とされている。そのため、第１利用操作処理から第２利用操作処理に切り替えることによって、第２操作量が用いられると、第２操作量算出処理の積分要素の出力値の値によっては、モータのトルクが急激に変化するおそれがある。そこで上記構成では、第２操作量の算出に用いる積分要素の初期値を第１操作量算出処理の積分要素の値に応じて設定することにより、第２利用操作処理に切り替える際にモータのトルクが急激に変化することを抑制できる。
【０００８】
２．前記第２操作量算出処理は、前記第１利用操作処理がなされている場合、前記第２操作量の算出に用いる前記積分要素によらずに前記第２操作量を算出する処理を含み、前記初期値設定処理は、前記第１利用操作処理から前記第２利用操作処理への切り替えに伴って、前記第１操作量と前記第２操作量との差に応じて前記初期値を設定する処理である上記１記載のモータの制御装置である。
【０００９】
上記構成では、第１利用操作処理がなされている場合に、第２操作量算出処理では積分要素を停止させていることから、第１利用操作処理から第２利用操作処理に切り替える時点において、第２操作量と第１操作量との差は、第１操作量算出処理の積分要素相当となる。このため、上記構成では、第１操作量と第２操作量との差に応じて初期値を設定することにより、第２利用操作処理に切り替える際にモータのトルクが急激に変化することを抑制できる。
【００１０】
３．前記第２処理回路は、前記第１処理回路による前記第１駆動回路の操作が停止する異常が生じる場合、前記第１利用操作処理から前記第２利用操作処理に切り替える処理を含み、前記第２操作量算出処理は、前記第１駆動回路の操作が停止する異常が生じることに基づき前記第２利用操作処理に切り替えられる場合、前記積分要素を用いて前記第２操作量を算出する処理を含む上記１または２記載のモータの制御装置である。
【００１１】
第１処理回路による第１駆動回路の操作が停止する場合、第１操作量がモータの制御に反映されないため、第２操作量が積分要素によらずに算出される場合には、換算可能角度と目標角度との定常偏差を低減することが困難となる。そこで上記構成では、第１処理回路による第１駆動回路の操作が停止する場合、積分要素に基づき第２操作量を算出することにより、第２角度センサに基づく換算可能角度と目標角度との定常偏差を低減できる。
【００１２】
４．前記第２操作量算出処理は、前記第１利用操作処理がなされている場合、前記第２操作量の算出に用いる前記積分要素によらずに前記第２操作量を算出する処理を含み、前記第２処理回路は、前記第１利用操作処理がなされているときに前記第１操作量と前記第２操作量との差の絶対値が規定値以上の場合、前記第１利用操作処理から前記第２利用操作処理に切り替える処理を実行し、前記第２操作量算出処理は、前記第１操作量と前記第２操作量との差の絶対値が規定値以上であることに基づき前記第２利用操作処理に切り替えられる場合、前記積分要素によらず前記第２操作量を算出する処理を含む上記１〜３のいずれか１つに記載のモータの制御装置である。
【００１３】
上記構成では、第１操作量に基づき第２駆動回路が操作されている場合であっても、第２操作量が算出されることから、第１操作量と第２操作量との比較に基づき、第１操作量による制御の妥当性を評価することができる。そして上記構成では、妥当性が低いと判定される場合、第２駆動回路を第２操作量に基づき操作する。そしてその場合、第２操作量を積分要素によらずに算出する。これにより、第１角度センサの検出値と第２角度センサの検出値とに差がある場合であっても、積分要素により第１角度センサの検出値に基づく換算可能角度と目標角度との定常偏差を低減しようとする制御と、積分要素により第２角度センサの検出値に基づく換算可能角度と目標角度との定常偏差を低減しようとする制御との干渉を回避できる。
【００１４】
５．前記第２処理回路は、前記第１処理回路と前記第２処理回路との通信に異常が生じる場合、前記第１利用操作処理から前記第２利用操作処理に切り替える処理を実行し、
前記第２操作量算出処理は、前記通信に異常が生じることに基づき前記第２利用操作処理に切り替えられる場合、前記第２操作量の算出に用いる前記積分要素によらず前記第２操作量を算出する処理を含む上記１〜４のいずれか１つに記載のモータの制御装置である。
【００１５】
上記構成では、第２処理回路は、通信に異常が生じることにより第１操作量を取得できない場合、第２操作量に基づき第２駆動回路を操作する。これにより、第１操作量を取得できない場合であっても第２駆動回路を操作することができる。しかも、第２操作量を積分要素によらずに算出する。これにより、第１角度センサの検出値と第２角度センサの検出値とに差がある場合であっても、積分要素により第１角度センサの検出値に基づく換算可能角度と目標角度との定常偏差を低減しようとする制御と、積分要素により第２角度センサの検出値に基づく換算可能角度と目標角度との定常偏差を低減しようとする制御との干渉を回避できる。
【００１６】
６．前記第２操作量算出処理は、前記換算可能角度を前記目標角度にフィードバック制御するための操作量に加えて前記換算可能角度を前記目標角度にフィードフォワード制御するための操作量に基づき前記第２操作量を算出する処理である上記４または５記載のモータの制御装置である。
【００１７】
上記構成では、フィードフォワード制御のための操作量に基づき第２操作量が算出されることから、積分要素の出力は、フィードフォワード操作量による制御の誤差を補償するものとなる。したがって、フィードフォワード操作量を用いない場合と比較すると、第２操作量を積分要素によらずに算出する場合であっても、換算可能角度と目標角度との乖離を小さくすることができる。
【図面の簡単な説明】
【００１８】
【図１】一実施形態にかかる制御装置およびモータを示す図。
【図２】同実施形態にかかる制御装置が実行する処理の一部を示す図。
【図３】（ａ）および（ｂ）は、制御装置が実行する処理の手順を示す流れ図。
【発明を実施するための形態】
【００１９】
以下、モータの制御装置にかかる一実施形態について図面を参照しつつ説明する。
図１に示すモータ１０は、転舵輪を転舵させるための転舵アクチュエータにおける動力源である。本実施形態では、モータ１０として表面磁石同期電動機（ＳＰＭＳＭ）を例示している。モータ１０は、１つのロータ１２と、一対のステータコイルである第１ステータコイル１４（１）および第２ステータコイル１４（２）と、を備えている。制御装置２０は、モータ１０を制御対象とし、モータ１０の制御量であるトルクを制御する。制御装置２０は、第１ステータコイル１４（１）および第２ステータコイル１４（２）のそれぞれに対応した各別の回路である第１系統の回路と第２系統の回路とを備えている。
【００２０】
詳しくは、制御装置２０は、第１系統の回路として次のものを備えている。すなわち、第１ステータコイル１４（１）に接続された第１インバータ２２（１）と、第１インバータ２２（１）に操作信号ＭＳ（１）を出力することによって第１ステータコイル１４（１）に流れる電流を制御する第１マイコン３０（１）と、を備えている。また、制御装置２０は、第２系統の回路として、次のものを備えている。すなわち、第２ステータコイル１４（２）に接続された第２インバータ２２（２）と、第２インバータ２２（２）に操作信号ＭＳ（２）を出力することによって第２ステータコイル１４（２）に流れる電流を制御する第２マイコン３０（２）と、を備えている。なお、第１マイコン３０（１）と第２マイコン３０（２）とは、通信線４２を介して通信可能となっている。
【００２１】
以下では、第１系統と第２系統とを総括して記載する場合、「１」または「２」の値をとりうる「ｋ」を用い、たとえば「第ｋステータコイル１４（ｋ）には第ｋインバータ１４（ｋ）が接続されている」等と記載することとする。
【００２２】
上記第ｋマイコン３０（１）は、第ｋ角度センサ４０（ｋ）によって検出されるロータ１２の回転角度θｍ（ｋ）や、第ｋステータコイル１４（ｋ）に流れる３相の電流ｉｕ（ｋ），ｉｖ（ｋ），ｉｗ（ｋ）を取得する。なお、電流ｉｕ（ｋ），ｉｖ（ｋ），ｉｗ（ｋ）は、たとえば第ｋインバータ２２（ｋ）の各レッグに接続されたシャント抵抗の電圧降下として検出すればよい。
【００２３】
第ｋマイコン３０（ｋ）には、ＣＰＵ３２（ｋ）、ＲＯＭ３４（ｋ）、周辺回路３６（ｋ）等が備えられ、それらがローカルネットワーク３８（ｋ）を介して互いに通信可能とされている。ここで、周辺回路３６（ｋ）は、外部クロック信号に基づき内部の動作を規定するクロック信号を生成する回路や、電源回路、リセット回路等を含む。
【００２４】
制御装置２０は、通信線５４を介して外部の上位ＥＣＵ５０と通信可能となっており、上位ＥＣＵ５０から出力される目標角度θｐ＊が第１マイコン３０（１）および第２マイコン３０（２）に入力される。目標角度θｐ＊は、転舵輪の転舵角（タイヤ切れ角）に換算可能な換算可能角度の目標値であり、本実施形態では、ステアリングシャフトの回転角度の目標値とされている。なお、上位ＥＣＵ５０や、第ｋマイコン３０（ｋ）、第ｋインバータ２２（ｋ）には、バッテリ５２の端子電圧が印加されている。詳しくは、第ｋマイコン３０（ｋ）には、リレー２４（ｋ）を介してバッテリ５２の電圧が印加されている。また、第ｋインバータ２２（ｋ）と第ｋステータコイル１４（ｋ）との間には、リレー２６（ｋ）が設けられている。
【００２５】
図２に、第１マイコン３０（１）および第２マイコン３０（２）が実行する処理を示す。図２に示す処理は、ＲＯＭ３４（ｋ）に記憶されたプログラムをＣＰＵ３２（ｋ）が実行することにより実現される。なお、以下では、第１マイコン３０（１）および第２マイコン３０（２）のそれぞれが実行する処理を総括する場合、「ｋ」を用いて記載する。
【００２６】
積算処理Ｍ１０（ｋ）は、回転角度θｍ（ｋ）を積算する処理である。換算処理Ｍ１２（ｋ）は、積算処理Ｍ１０（ｋ）の出力に所定の係数Ｋを乗算することによって、同出力を、ステアリングシャフトの回転角度θｐ（ｋ）に換算する処理である。なお、回転角度θｐ（ｋ）は、中立位置においてゼロとなり、左旋回側であるか右旋回側であるかに応じて符号が互いに異なる。
【００２７】
フィードバック操作量算出処理Ｍ２０（ｋ）は、回転角度θｐ（ｋ）を目標角度θｐ＊にフィードバック制御するための操作量であるフィードバック操作量ＭＦＢ（ｋ）を算出する処理である。本実施形態では、基本的には、比例要素の出力値、積分要素の出力値および微分要素の出力値の和をフィードバック操作量ＭＦＢ（ｋ）とする。具体的には、偏差算出処理Ｍ２２（ｋ）は、回転角度θｐ（ｋ）と目標角度θｐ＊との差を算出する処理であり、比例要素Ｍ２４（ｋ）は、差に比例係数Ｋｐを乗算する処理である。積分ゲイン乗算処理Ｍ２６（ｋ）は、上記差に積分ゲインＫｉを乗算する処理であり、積分処理Ｍ２８（ｋ）は、積分ゲイン乗算処理Ｍ２６（ｋ）の出力の積算値を更新し、出力する処理であり、積分ゲイン乗算処理Ｍ２６および積分処理Ｍ２８によって積分要素が構成されている。微分ゲイン乗算処理Ｍ３０（ｋ）は、上記差に微分ゲインＫｄを乗算する処理であり、微分処理Ｍ３２（ｋ）は、微分ゲイン乗算処理Ｍ３０（ｋ）の出力の微分演算をする処理であり、微分ゲイン乗算処理Ｍ３０および微分処理Ｍ３２によって微分要素が構成されている。加算処理Ｍ３４（ｋ）は、比例要素Ｍ２４（ｋ）、積分処理Ｍ２８（ｋ）および微分処理Ｍ３２（ｋ）の各出力値の和を算出して、フィードバック操作量ＭＦＢ（ｋ）として出力する処理である。
【００２８】
フィードフォワード操作量算出処理Ｍ４０（ｋ）は、目標角度θｐ＊に制御するための操作量であるフィードフォワード操作量ＭＦＦ（ｋ）を算出する処理である。詳しくは、フィードフォワード操作量算出処理Ｍ４０（ｋ）は、目標角度θｐ＊の絶対値が大きい場合に小さい場合よりもフィードフォワード操作量ＭＦＦ（ｋ）の絶対値を大きい値とする処理である。これは、たとえば目標角度θｐ＊を入力変数とし、フィードフォワード操作量ＭＦＦ（ｋ）を出力変数とするマップデータが予めＲＯＭ３４（ｋ）に記憶された状態で、ＣＰＵ３２（ｋ）によりフィードフォワード操作量ＭＦＦ（ｋ）をマップ演算することにより実現できる。ここで、マップデータとは、入力変数の離散的な値と、入力変数の値のそれぞれに対応する出力変数の値と、の組データである。またマップ演算は、たとえば、入力変数の値がマップデータの入力変数の値のいずれかに一致する場合、対応するマップデータの出力変数の値を演算結果とし、一致しない場合、マップデータに含まれる複数の出力変数の値の補間によって得られる値を演算結果とする処理とすればよい。
【００２９】
加算処理Ｍ４２（ｋ）は、フィードバック操作量ＭＦＢ（ｋ）とフィードフォワード操作量ＭＦＦ（ｋ）とを加算して、第ｋ操作量ＭＶ（ｋ）を算出する処理である。なお、第ｋ操作量ＭＶ（ｋ）は、ｑ軸の電流指令値である。
【００３０】
第１操作信号生成処理Ｍ４４（１）は、第１ステータコイル１４（１）を流れるｑ軸電流が第１操作量ＭＶ（１）の「１／２」となるように、第１インバータ２２（１）の操作信号ＭＳ（１）を算出して出力する処理である。
【００３１】
選択処理Ｍ５０は、第１操作量ＭＶ（１）と第２操作量ＭＶ（２）との２つの操作量のうちのいずれか１つを選択的に第２操作信号生成処理Ｍ４４（２）に出力する処理である。
【００３２】
第２操作信号生成処理Ｍ４４（２）は、原則、第２ステータコイル１４（２）を流れるｑ軸電流が選択処理Ｍ５０の出力の「１／２」となるように、第２インバータ２２（２）の操作信号ＭＳ（２）を算出して出力する処理である。
【００３３】
本実施形態では、図２の処理を基本としつつ、図３に示す処理を実行することにより、適宜、図２の処理を変更する。
図３（ａ）は、ＲＯＭ３４（１）に記憶されたプログラムをＣＰＵ３２（１）がたとえば所定周期で繰り返し実行することにより実現される処理である。図３（ｂ）は、ＲＯＭ３４（２）に記憶されたプログラムをＣＰＵ３２（２）がたとえば所定周期で繰り返し実行することにより実現される処理である。なお、以下では、いくつかのシチュエーション別に、図３の処理を説明する。
【００３４】
ケース１．正常時
図３（ａ）に示す一連の処理において、ＣＰＵ３２（１）は、まず第１マイコン３０（１）と第２マイコン３０（２）との間の通信が正常であるか否かを判定する（Ｓ１０）。ここでは、たとえば通信線４２を介して第１マイコン３０（１）および第２マイコン３０（２）で周期的に決まったデータのやり取りをすることとし、そのデータのやり取りができない場合に、異常と判定すればよい。
【００３５】
ＣＰＵ３２（１）は、通信が正常であると判定する場合（Ｓ１０：ＹＥＳ）、第１マイコン３０（１）が第１インバータ２２（１）を操作することによって第１ステータコイル１４（１）に流れる電流を制御することが不可であるか否かを判定する（Ｓ１２）。ＣＰＵ３２（１）は、第１角度センサ４０（１）に異常が生じている場合や、第１ステータコイル１４（１）や第１インバータ２２（１）の温度が規定温度以上である場合等に、制御が不可であると判定する。ここで、第１角度センサ４０（１）の異常については、たとえば第１角度センサ４０（１）の出力信号が、接地電位またはバッテリ５２の端子電位に固定されている場合などに、異常があると判定すればよい。また、第１ステータコイル１４（１）や第１インバータ２２（１）の温度が規定温度以上であるか否かは、電流ｉｕ（１），ｉｖ（１），ｉｗ（１）の履歴等に基づき判定すればよい。
【００３６】
ＣＰＵ３２（１）は、第１ステータコイル１４（１）に流れる電流を制御することが可能であると判定する場合（Ｓ１２：ＮＯ）、第１操作量ＭＶ（１）を通信線４２を介して第２マイコン３０（２）に出力する（Ｓ１４）。なお、ＣＰＵ３２（１）は、Ｓ１４の処理を完了する場合、図３（ａ）に示す一連の処理を一旦終了する。
【００３７】
一方、図３（ｂ）に示すように、ＣＰＵ３２（２）は、第１マイコン３０（１）による第１ステータコイル１４（１）を流れる電流の制御が停止しているか否かを判定する（Ｓ２０）。ＣＰＵ３２（２）は、第１マイコン３０（１）が動作している場合（Ｓ２０：ＮＯ）、積分処理Ｍ２８（２）を停止させる（Ｓ２２）。詳しくは、積分処理Ｍ２８（２）が保持する値を初期値である「０」に固定する。これにより、フィードバック操作量ＭＦＢ（２）は、比例要素Ｍ２４（２）の出力値および微分処理Ｍ３２（２）の出力値との和となり、第２操作量ＭＶ（２）は、同フィードバック操作量ＭＦＢ（２）とフィードフォワード操作量ＭＦＦ（２）との和となる。
【００３８】
そしてＣＰＵ３２（２）は、第１マイコン３０（１）と第２マイコン３０（２）との間の通信が正常であるか否かを判定する（Ｓ２４）。そしてＣＰＵ３２（２）は、正常であると判定する場合（Ｓ２４：ＹＥＳ）、図３（ａ）のＳ１４の処理によって出力された第１操作量ＭＶ（１）を取得する（Ｓ２６）。そしてＣＰＵ３２（２）は、第１操作量ＭＶ（１）と第２操作量ＭＶ（２）との差の絶対値が規定値Ｍｔｈ未満であるか否かを判定する（Ｓ２８）。この処理は、回転角度θｐ（ｋ）の目標角度θｐ＊への制御が正常になされているか否かを判定する処理である。すなわち、第２操作量ＭＶ（２）および第１操作量ＭＶ（１）の差は、フィードバック操作量ＭＦＢ（１），ＭＦＢ（２）同士の差となるべきであり、その差は非常に小さいと考えられる。
【００３９】
すなわち、フィードバック操作量ＭＦＢ（１），ＭＦＢ（２）同士に差が生じる第１の要因は、積分処理Ｍ２８（２）の出力値がゼロとなっていることである。積分処理Ｍ２８（１）の出力値は、フィードフォワード操作量ＭＦＦ（１）による制御の誤差を補償する値となることから、その絶対値はさほど大きくならない。フィードバック操作量ＭＦＢ（１），ＭＦＢ（２）同士に差が生じる第２の要因は、第１角度センサ４０（１）によって検出される回転角度θｍ（１）および第２角度センサ４０（２）によって検出される回転角度θｍ（２）の差に起因した比例要素Ｍ２４（１），Ｍ２４（２）同士の差および微分処理Ｍ３２（１），Ｍ３２（２）同士の差である。しかし、回転角度θｍ（１），θｍ（２）同士の差の絶対値が非常に小さいことから、比例要素Ｍ２４（１），Ｍ２４（２）同士の差の絶対値および微分処理Ｍ３２（１），Ｍ３２（２）同士の差の絶対値も小さい。
【００４０】
ＣＰＵ３２（２）は、規定値Ｍｔｈ未満であると判定する場合（Ｓ２８：ＹＥＳ）、制御が正常になされていると考えられることから、選択処理Ｍ５０として、第１操作量ＭＶ（１）を採用する（Ｓ３０）。これにより、第２操作信号生成処理Ｍ４４（２）によって、第２ステータコイル１４（２）に流れるｑ軸電流が第１操作量ＭＶ（１）の「１／２」となるように、第２インバータ２２（２）を操作する操作信号ＭＳ（２）が生成されて出力される。なお、ＣＰＵ３２（２）は、Ｓ３０の処理を完了する場合、図３（ｂ）に示す一連の処理を一旦終了する。
【００４１】
ケース２．マイコン間通信正常且つ第１マイコン３０（１）の制御異常
この場合、図３（ａ）に示すように、ＣＰＵ３２（１）は、Ｓ１２の処理において肯定判定することから、第１マイコン３０（１）による制御ができない旨、通信線４２を介して第２マイコン３０（２）に通知する（Ｓ１６）。そしてＣＰＵ３２（１）は、周辺回路３６（１）等を通じて、リレー２４（１），２６（１）を開状態に切り替える（Ｓ１８）。なお、ＣＰＵ３２（１）は、Ｓ１８の処理を完了する場合、図３（ａ）に示す一連の処理を一旦終了する。
【００４２】
この場合、図３（ｂ）に示すように、ＣＰＵ３２（２）は、第１マイコン３０（１）による第１ステータコイル１４（１）を流れる電流の制御が停止したと判定し（Ｓ２０：ＹＥＳ）、積分処理Ｍ２８（２）を動作させることにより、積分要素（Ｉ項）に基づく第２操作量ＭＶ（２）の算出処理を実行する（Ｓ３２）。詳しくは、ＣＰＵ３２（２）は、第１操作量ＭＶ（１）の前回値から第２操作量ＭＶ（２）の前回値を減算したものを積分処理Ｍ２８（１）の初期値とする。そしてこの初期値を前回値とし、これに目標角度θｐ＊の今回値から回転角度θｐ（２）の今回値を減算した値に積分ゲインＫｉを乗算した値を、第２インバータ２２（２）の操作に用いる最初の第２操作量ＭＶ（２）の算出に用いる。
【００４３】
そしてＣＰＵ３２（２）は、選択処理Ｍ５０として、第２操作量ＭＶ（２）を採用する（Ｓ３４）。なお、この場合、第２操作信号生成処理Ｍ４４（２）によって、第２ステータコイル１４（２）に流れるｑ軸電流が第２操作量ＭＶ（２）となるように、第２インバータ２２（２）を操作する操作信号ＭＳ（２）が生成されて出力される。すなわち、第１ステータコイル１４（１）への通電がなされないことから、回転角度θｐ（２）を目標角度θｐ＊に制御するうえでは、第２ステータコイル１４（２）に流すｑ軸電流を、第２操作量ＭＶ（２）とする必要がある。ちなみに、ＣＰＵ３２（２）は、Ｓ３４の処理を完了する場合、図３（ｂ）に示す一連の処理を一旦終了する。
【００４４】
ケース３．マイコン間通信正常且つ、制御に異常が生じている場合
ここでは、図３（ａ）のＳ１４の処理がなされる場合を想定している。この場合、図３（ｂ）に示すＳ２８の処理において、ＣＰＵ３２（２）は、否定判定し、Ｓ３４の処理に移行する。これにより、第２操作信号生成処理Ｍ４４（２）によって、第２ステータコイル１４（２）に流れるｑ軸電流が第２操作量ＭＶ（２）の「１／２」となるように、第２インバータ２２（２）を操作する操作信号ＭＳ（２）が生成されて出力される。
【００４５】
ケース４．マイコン間通信異常
この場合、図３（ａ）に示すように、ＣＰＵ３２（１）は、マイコン間通信に異常が生じていると判定し（Ｓ１０：ＮＯ）、図３（ａ）に示す一連の処理を一旦終了する。
【００４６】
この場合、ＣＰＵ３２（２）は、図３（ｂ）に示すＳ２４の処理において否定判定し、Ｓ３４の処理に移行する。これにより、第２操作信号生成処理Ｍ４４（２）によって、第２ステータコイル１４（２）に流れるｑ軸電流が第２操作量ＭＶ（２）の「１／２」となるように、第２インバータ２２（２）を操作する操作信号ＭＳ（２）が生成されて出力される。
【００４７】
ここで、本実施形態の作用および効果について説明する。
ＣＰＵ３２（１）は、回転角度θｐ（１）を目標角度θｐ＊に制御するための第１操作量ＭＶ（１）を算出し、第１ステータコイル１４（１）に流れるｑ軸電流が第１操作量ＭＶ（１）の「１／２」となるように、第１インバータ２２（１）を操作する。一方、ＣＰＵ３２（２）は、第２ステータコイル１４（２）に流れるｑ軸電流が第１操作量ＭＶ（１）の「１／２」となるように、第２インバータ２２（２）を操作する。このため、第２ステータコイル１４（２）を流れるｑ軸電流を、積分処理Ｍ２８（２）を動作させたときの第２操作量ＭＶ（２）とする場合と比較すると、転舵輪の転舵角の制御に干渉が生じることを抑制できる。すなわち、第１角度センサ４０（１）によって検出された回転角度θｍ（１）と、第２角度センサ４０（２）によって検出された回転角度θｍ（２）との間には差が生じうる。そして差がある場合、ＣＰＵ３２（１）による積分処理Ｍ２８（１）の出力値は、回転角度θｐ（１）と目標角度θｐ＊との定常偏差を解消するための値となり、ＣＰＵ３２（２）による積分処理Ｍ２８（２）の出力値は、回転角度θｐ（２）と目標角度θｐ＊との定常偏差を解消するための値となることから、制御に干渉が生じる。
【００４８】
ここで、第１マイコン３０（１）による第１ステータコイル１４（１）のｑ軸電流の制御が不可となる場合、第１マイコン３０（１）は、第１ステータコイル１４（１）に流れる電流の制御を停止する。その場合、ＣＰＵ３２（２）は、第２ステータコイル１４（２）に流れるｑ軸電流を第２操作量ＭＶ（２）に制御する。ここで、第１操作量ＭＶ（１）を用いた制御から第２操作量ＭＶ（２）を用いた制御への切替前においては、積分処理Ｍ２８（２）が停止していた。しかし、切替前において積分処理Ｍ２８（１）の出力値は、回転角度θｐ（１）と目標角度θｐ＊との定常偏差を解消する値となっていると考えられる。そのため、積分処理Ｍ２８（２）の動作を開始しつつ第２操作量ＭＶ（２）を用いる場合、切り替え時における第２操作量ＭＶ（２）と、切替直前の第１操作量ＭＶ（１）との間に積分処理Ｍ２８（１）の出力値相当の差が生じる。そこで本実施形態では、切り替えに伴って積分処理Ｍ２８（２）の初期値を、第１操作量ＭＶ（１）と第２操作量ＭＶ（２）との差とする。ここで、第１操作量ＭＶ（１）と第２操作量ＭＶ（２）との差は、積分処理Ｍ２８（１）の出力値相当の値となると考えられることから、積分処理Ｍ２８（２）の初期値を、切替直前における積分処理Ｍ２８（１）の出力値相当の値とすることができる。これにより、切り替えに伴ってモータ１０のトルクが急激に変化することを抑制できる。
【００４９】
また、第１マイコン３０（１）自身では、異常の要因を特定できない制御の異常が生じる場合、ＣＰＵ３２（２）は、第１操作量ＭＶ（１）と第２操作量ＭＶ（２）との差の絶対値が規定値Ｍｔｈ以上となることから異常を検知する。そしてその場合、ＣＰＵ３２（２）は、第２インバータ２２（２）の操作に第２操作量ＭＶ（２）を用いる。これにより、第１操作量ＭＶ（１）に異常が生じる場合であっても第２インバータ２２（２）の操作に第１操作量ＭＶ（１）を用いる場合と比較すると、目標角度θｐ＊への制御に対する第１操作量ＭＶ（１）の寄与を低減できる。しかも、この場合、ＣＰＵ３２（２）は、積分処理Ｍ２８（２）を停止したまま第２操作量ＭＶ（２）を算出することから、積分処理Ｍ２８（１），Ｍ２８（２）の出力値が、互いに異なる定常偏差を解消する値となることによる制御の干渉を回避できる。
【００５０】
また、第１マイコン３０（１）および第２マイコン３０（２）間の通信に異常が生じる場合、ＣＰＵ３２（２）は、第２インバータ２２（２）の操作に第２操作量ＭＶ（２）を用いる。これにより、第１ステータコイル１４（１）のｑ軸電流が第１操作量ＭＶ（１）の「１／２」に制御され、第２ステータコイル１４（２）のｑ軸電流が第２操作量ＭＶ（２）の「１／２」に制御されることから、モータ１０のトルクを目標角度θｐ＊への制御にとって適切な値とすることができる。しかも、この場合、ＣＰＵ３２（２）は、積分処理Ｍ２８（２）を停止したまま第２操作量ＭＶ（２）を算出することから、積分処理Ｍ２８（１），Ｍ２８（２）の出力値が、互いに異なる定常偏差を解消する値となることによる制御の干渉を回避できる。
【００５１】
＜対応関係＞
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。［１，２，６］変数ｋを「１」または「２」として、第ｋ駆動回路は、第ｋインバータ２２（ｋ）に対応し、第ｋ処理回路は、第ｋマイコン３０（ｋ）に対応し、第ｋ操作量算出処理は、フィードバック操作量算出処理Ｍ２０（ｋ）、フィードフォワード操作量算出処理Ｍ４０（ｋ）および加算処理Ｍ４２（ｋ）に対応する。出力処理は、Ｓ１４の処理に対応する。第１利用操作処理は、Ｓ３０の処理がなされたときにおける第２操作信号生成処理Ｍ４４（２）に対応する。第２利用操作処理は、Ｓ３４の処理がなされたときにおける第２操作信号生成処理Ｍ４４（２）に対応する。初期値設定処理は、Ｓ３２の処理に対応する。積分要素は、積分ゲイン乗算処理Ｍ２６および積分処理Ｍ２８に対応する。［３］Ｓ２０の処理において肯定判定する場合の処理に対応する。［４］Ｓ２８の処理において否定判定される場合の処理に対応する。［５］Ｓ２４の処理において否定判定される場合の処理に対応する。
【００５２】
＜その他の実施形態＞
なお、上記実施形態の各事項の少なくとも１つを、以下のように変更してもよい。
・「初期値設定処理について」
第１操作量ＭＶ（１）の前回値から第２操作量ＭＶ（２）の前回値を減算したものを積分処理Ｍ２８（２）の前回値とすることは必須ではない。すなわち、この前回値に、目標角度θｐ＊の今回値から回転角度θｐ（２）の今回値を減算した値に積分ゲインＫｉを乗算した値を加算した値を積分処理Ｍ２８（２）の今回値として、第２インバータ２２（２）の操作に用いる最初の第２操作量ＭＶ（２）を算出することは必須ではない。たとえば、第１操作量ＭＶ（１）の前回値から第２操作量ＭＶ（２）の前回値を減算したものを積分処理Ｍ２８（２）の今回値として第２操作量ＭＶ（２）の今回値を算出してもよい。
【００５３】
積分処理Ｍ２８（２）の初期値を、第１操作量ＭＶ（１）と第２操作量ＭＶ（２）との差に基づき算出することは必須ではない。たとえば、第１マイコン３０（１）から積分処理Ｍ２８（１）の出力値を通信線４２を介して第２マイコン３０（２）に逐次送信することし、第２マイコン３０（２）において最後に受信した出力値を積分処理Ｍ２８（２）の初期値としてもよい。
【００５４】
・「第ｋ操作量算出処理について」
（ａ）フィードバック操作量ＭＦＢ（ｋ）について
たとえば積分ゲインＫｉを可変としない場合等には、積分要素を、積分処理Ｍ２８（ｋ）の出力値に積分ゲイン乗算処理Ｍ２６（ｋ）によって積分ゲインＫｉを乗算する処理としてもよい。
【００５５】
フィードバック操作量ＭＦＢとしては、比例要素Ｍ２４（ｋ）、積分要素および微分要素の各出力値の和に限らない。たとえば、比例要素および積分要素の２つの出力値の和であってもよく、またたとえば積分要素および微分要素の２つの出力値の和であってもよく、またたとえば積分要素の出力値としてもよい。
【００５６】
（ｂ）フィードフォワード操作量ＭＦＦ（ｋ）について
換算可能角度（目標角度θｐ＊等）に基づくフィードフォワード操作量ＭＦＦ（ｋ）としては、換算可能角度のみからフィードフォワード操作量ＭＦＦ（ｋ）を算出するものに限らない。たとえば、車速に応じてフィードフォワード操作量ＭＦＦ（ｋ）を可変としてもよい。またたとえば、換算可能角度の２階時間微分値に比例係数を乗算した値をさらに加えてもよい。
【００５７】
（ｃ）そのほか
フィードフォワード操作量ＭＦＦ（ｋ）に基づき第ｋ操作量ＭＶ（ｋ）を算出することは必須ではない。
【００５８】
・「換算可能角度について」
上記実施形態では、換算可能角度をステアリングシャフトの角度としたが、これに限らず、たとえばタイヤの切れ角である転舵角自体としてもよい。
【００５９】
・「処理回路について」
上記実施形態では、処理回路を構成するプログラム格納装置として、ＲＯＭを例示し、ＲＯＭがいかなるタイプのものであるかについては触れていなかったが、たとえば書き換え不能なメモリであってもよく、またたとえば、電気的に書き換え可能な不揮発性メモリであってもよい。さらに、プログラム格納装置としては、ＲＯＭに限らない。
【００６０】
処理回路としては、プログラムを格納したプログラム格納装置とプログラムを実行するＣＰＵとを備えたソフトウェア処理回路に限らず、たとえばＡＳＩＣ等の、所定の処理を実行する専用のハードウェア回路であってもよい。
【００６１】
また、処理回路としては、ソフトウェア処理回路と、専用のハードウェア回路とのうちのいずれか一方によって構成されるものに限らず、上記処理の一部をソフトウェア処理回路によって実行し、残りの処理を専用のハードウェア回路によって実行するものであってもよい。
【００６２】
・「制御装置について」
上記実施形態では、第１および第２の２つの系統を有する装置を例示したが、これに限らない。たとえばさらに第３の系統を備える等、ステータコイル、駆動回路および処理回路を３つ以上ずつ備えるものとしてもよい。ただし、その場合、いずれか１つをメインとし残りをサブとすることが望ましい。
【００６３】
・「モータについて」
モータとしては、ＳＰＭＳＭに限らず、埋込磁石同期電動機（ＩＰＭＳＭ）であってもよい。なお、ＩＰＭＳＭの場合、第ｋ操作量ＭＶ（ｋ）をトルク指令値とし、第ｋ操作信号生成処理Ｍ４４（ｋ）において、トルク指令値をｄ軸の電流指令値とｑ軸の電流指令値とに変換することが望ましい。また、モータとしては、同期電動機に限らず、誘導機であってもよい。さらに、ブラシレス電動機に限らず、ブラシ付き直流モータであってもよい。
【００６４】
・「ステータコイル、モータおよび駆動回路について」
上記実施形態では、駆動回路として３相インバータを例示したが、これに限らない。たとえば「モータについて」の欄に記載したようにモータとして直流モータを用いる場合、駆動回路としてＨブリッジ回路を用いてもよい。
【００６５】
・「駆動回路について」
上記「モータについて」の欄に記載したように、モータとして直流モータを用いる場合、駆動回路としては、Ｈブリッジ回路を用いればよい。
【００６６】
・「そのほか」
リレー２６（１），２６（２）を備えることや、Ｓ１８の処理において、リレー２６（１）をオフすることは必須ではない。また、Ｓ１８の処理において、リレー２６（１）をオフとしつつも、リレー２４（１）をオフとしないこととしてもよい。
【符号の説明】
【００６７】
１０…モータ、１２…ロータ、１４（１）…第１ステータコイル、１４（２）…第２ステータコイル、２０…制御装置、２２（１）…第１インバータ、２２（２）…第２インバータ、２４，２６…リレー、３０（１）…第１マイコン、３０（２）…第２マイコン、３２…ＣＰＵ、３４…ＲＯＭ、３６…周辺回路、３８…ローカルネットワーク、４０（１）…第１角度センサ、４０（２）…第２角度センサ、４２…通信線、５０…上位ＥＣＵ、５２…バッテリ、５４…通信線。
【図１】
2020150583.tif 000003
【図２】
2020150583.tif 000004
【図３】
2020150583.tif 000005