(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-23
(45)【発行日】2023-03-31
(54)【発明の名称】モータの制御装置
(51)【国際特許分類】
H02P 29/028 20160101AFI20230324BHJP
B62D 5/04 20060101ALI20230324BHJP
H02P 25/22 20060101ALI20230324BHJP
【FI】
H02P29/028
B62D5/04
H02P25/22
(21)【出願番号】P 2019043677
(22)【出願日】2019-03-11
【審査請求日】2022-01-27
(73)【特許権者】
【識別番号】000001247
【氏名又は名称】株式会社ジェイテクト
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】都甲 高広
(72)【発明者】
【氏名】酒井 厚夫
(72)【発明者】
【氏名】入江 亮
【審査官】柏崎 翔
(56)【参考文献】
【文献】特開2018-47875(JP,A)
【文献】国際公開第2014/034461(WO,A1)
【文献】特開2018-130007(JP,A)
【文献】国際公開第2012/056868(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 29/028
B62D 5/04
H02P 25/22
(57)【特許請求の範囲】
【請求項1】
転舵輪を転舵させるためのモータであって互いに絶縁された第1ステータコイルおよび第2ステータコイルを備えるモータを制御対象とし、前記第1ステータコイルに接続されている第1駆動回路および前記第2ステータコイルに接続されている第2駆動回路を操作するモータの制御装置において、
互いに通信可能な第1処理回路および第2処理回路を備え、
前記第1処理回路は、前記転舵輪の転舵角に換算可能な換算可能角度であって第1角度センサの検出値に基づく換算可能角度を目標角度にフィードバック制御すべく第1操作量を算出する第1操作量算出処理と、前記第1操作量に基づき前記第1駆動回路を操作する処理と、前記第1操作量を前記第2処理回路に出力する出力処理と、を実行し、
前記第2処理回路は、第2角度センサの検出値に基づく前記換算可能角度を前記目標角度にフィードバック制御すべく第2操作量を算出する第2操作量算出処理と、前記第1操作量に基づき前記第2駆動回路を操作する第1利用操作処理と、前記第2操作量に基づき前記第2駆動回路を操作する第2利用操作処理と、を実行し、
前記第2操作量算出処理は、前記第2角度センサの検出値に基づく前記換算可能角度と前記目標角度との差に応じた積分要素の出力に基づき前記第2操作量を算出する処理を含み、
前記第2処理回路は、前記第1利用操作処理から前記第2利用操作処理への切り替えに伴って前記第2駆動回路の操作に用いられる前記第2操作量から前記切り替え前における前記第2角度センサの検出値に基づく前記換算可能角度と前記目標角度との差に応じた前記積分要素の影響を除去する除去処理を実行し
て且つ、前記第1処理回路と前記第2処理回路との通信に異常が生じる場合、前記第1利用操作処理から前記第2利用操作処理に切り替える処理を実行し、
前記第2操作量算出処理は、前記通信に異常が生じることに基づき前記第2利用操作処理がなされる場合、前記積分要素によらず前記第2操作量を算出する処理を含み、
前記第1処理回路および前記第2処理回路は、当該制御装置の外部から前記目標角度を前記制御装置に出力する外部装置と通信可能であり、
前記第2操作量算出処理は、前記外部装置から前記積分要素の利用が指示される場合、前記積分要素に基づき前記第2操作量を算出する処理を含むモータの制御装置。
【請求項2】
転舵輪を転舵させるためのモータであって互いに絶縁された第1ステータコイルおよび第2ステータコイルを備えるモータを制御対象とし、前記第1ステータコイルに接続されている第1駆動回路および前記第2ステータコイルに接続されている第2駆動回路を操作するモータの制御装置において、
互いに通信可能な第1処理回路および第2処理回路を備え、
前記第1処理回路は、前記転舵輪の転舵角に換算可能な換算可能角度であって第1角度センサの検出値に基づく換算可能角度を目標角度にフィードバック制御すべく第1操作量を算出する第1操作量算出処理と、前記第1操作量に基づき前記第1駆動回路を操作する処理と、前記第1操作量を前記第2処理回路に出力する出力処理と、を実行し、
前記第2処理回路は、第2角度センサの検出値に基づく前記換算可能角度を前記目標角度にフィードバック制御すべく第2操作量を算出する第2操作量算出処理と、前記第1操作量に基づき前記第2駆動回路を操作する第1利用操作処理と、前記第2操作量に基づき前記第2駆動回路を操作する第2利用操作処理と、を実行し、
前記第2操作量算出処理は、前記第2角度センサの検出値に基づく前記換算可能角度と前記目標角度との差に応じた積分要素の出力に基づき前記第2操作量を算出する処理を含み、
前記第2処理回路は、前記第1利用操作処理から前記第2利用操作処理への切り替えに伴って前記第2駆動回路の操作に用いられる前記第2操作量から前記切り替え前における前記第2角度センサの検出値に基づく前記換算可能角度と前記目標角度との差に応じた前記積分要素の影響を除去する除去処理を実行
して且つ、前記第1処理回路による前記第1駆動回路の操作が停止する異常が生じる場合、前記第1利用操作処理から前記第2利用操作処理に切り替える処理を含み、
前記第2操作量算出処理は、前記第1駆動回路の操作が停止する異常が生じることに基づき前記第2利用操作処理がなされる場合、前記積分要素を用いて前記第2操作量を算出する処理を含むモータの制御装置。
【請求項3】
前記除去処理は、前記第1利用操作処理が実行されている場合、前記第2操作量算出処理における積分要素を停止させる処理である請求項1
または2記載のモータの制御装置。
【請求項4】
前記第2操作量算出処理は、前記第1利用操作処理が実行されている場合、前記積分要素によらずに前記第2操作量を算出する処理を含み、
前記第2処理回路は、前記第1操作量と前記第2操作量との差の絶対値が規定値以上の場合、前記第1利用操作処理から前記第2利用操作処理に切り替える処理を実行し、
前記第2操作量算出処理は、前記第1操作量と前記第2操作量との差の絶対値が規定値以上であることに基づき前記第2利用操作処理がなされる場合、前記積分要素によらず前記第2操作量を算出する処理を含む請求項1
~3のいずれか1項に記載のモータの制御装置。
【請求項5】
前記第2処理回路は、前記第1処理回路と前記第2処理回路との通信に異常が生じる場合、前記第1利用操作処理から前記第2利用操作処理に切り替える処理を実行し、
前記第2操作量算出処理は、前記通信に異常が生じることに基づき前記第2利用操作処理がなされる場合、前記積分要素によらず前記第2操作量を算出する処理を含む請求項
2記載のモータの制御装置。
【請求項6】
前記第1処理回路は、前記第1処理回路と前記第2処理回路との通信異常が生じているときに当該第1処理回路に異常が生じる場合、異常が生じた旨を前記外部装置を介して前記第2処理回路に通知する通知処理を実行し、
前記第2操作量算出処理は、前記通知処理に基づき前記外部装置から前記積分要素の利用が指示される場合、前記積分要素に基づき前記第2操作量を算出する処理を含む請求項
1記載のモータの制御装置。
【請求項7】
前記第2処理回路は、前記第1処理回路による前記第1駆動回路の操作が停止する異常が生じる場合、前記第1利用操作処理から前記第2利用操作処理に切り替える処理を含み、
前記第2操作量算出処理は、前記第1駆動回路の操作が停止する異常が生じることに基づき前記第2利用操作処理がなされる場合、前記積分要素を用いて前記第2操作量を算出する処理を含む請求項
1記載のモータの制御装置。
【請求項8】
前記第2操作量算出処理は、前記換算可能角度を前記目標角度にフィードバック制御するための操作量に加えて前記換算可能角度を前記目標角度にフィードフォワード制御するための操作量に基づき前記第2操作量を算出する処理である請求項
4または5記載のモータの制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、転舵輪を転舵させるためのモータであって互いに絶縁された第1ステータコイルおよび第2ステータコイルを備えるモータを制御対象とし、前記第1ステータコイルに接続されている第1駆動回路および前記第2ステータコイルに接続されている第2駆動回路を操作するモータの制御装置に関する。
【背景技術】
【0002】
たとえば下記特許文献1には、転舵輪を転舵させるモータであって、互いに独立な2つのステータコイルを備えるモータが記載されている。同文献には、ステータコイルに接続された駆動回路を操作するモータの制御装置として、ステータコイル毎に、各別のマイコンを備えた冗長な制御装置が記載されている。ここで、一対のマイコンのそれぞれは、各別の回転角センサの検出値に基づき、モータのdq軸の電流を算出することによってそれらdq軸の電流を制御する。また、第1のマイコンの電流の指令値を第2のマイコンによって利用することも記載されている(
図10)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
発明者は、上記のように冗長な制御装置において、転舵輪の転舵角を上記回転角センサによって検出し、検出値を目標値にフィードバック制御することを検討した。しかしその場合、回転角センサの検出値同士の差に起因して転舵角の制御性が低くなるおそれがある。
【課題を解決するための手段】
【0005】
以下、上記課題を解決するための手段およびその作用効果について記載する。
1.転舵輪を転舵させるためのモータであって互いに絶縁された第1ステータコイルおよび第2ステータコイルを備えるモータを制御対象とし、前記第1ステータコイルに接続されている第1駆動回路および前記第2ステータコイルに接続されている第2駆動回路を操作するモータの制御装置において、互いに通信可能な第1処理回路および第2処理回路を備え、前記第1処理回路は、前記転舵輪の転舵角に換算可能な換算可能角度であって第1角度センサの検出値に基づく換算可能角度を目標角度にフィードバック制御すべく第1操作量を算出する第1操作量算出処理と、前記第1操作量に基づき前記第1駆動回路を操作する処理と、前記第1操作量を前記第2処理回路に出力する出力処理と、を実行し、前記第2処理回路は、第2角度センサの検出値に基づく前記換算可能角度を前記目標角度にフィードバック制御すべく第2操作量を算出する第2操作量算出処理と、前記第1操作量に基づき前記第2駆動回路を操作する第1利用操作処理と、前記第2操作量に基づき前記第2駆動回路を操作する第2利用操作処理と、を実行し、前記第2操作量算出処理は、前記第2角度センサの検出値に基づく前記換算可能角度と前記目標角度との差に応じた積分要素の出力に基づき前記第2操作量を算出する処理を含み、前記第2処理回路は、前記第1利用操作処理から前記第2利用操作処理への切り替えに伴って前記第2駆動回路の操作に用いられる前記第2操作量から前記切り替え前における前記第2角度センサの検出値に基づく前記換算可能角度と前記目標角度との差に応じた前記積分要素の影響を除去する除去処理を実行するモータの制御装置である。
【0006】
上記構成では、第1利用操作処理においては、第2処理回路が第1操作量に基づき第2駆動回路を操作するため、第1駆動回路および第2駆動回路の双方が第1角度センサの検出値に基づく換算可能角度を目標角度にフィードバック制御するための操作量によって操作される。したがって、第1角度センサの検出値と第2角度センサの検出値とに差が生じている場合であっても、転舵角の制御性が低下することを抑制できる。
【0007】
ただし、第1利用操作処理において仮に第2操作量算出処理によって第2角度センサの検出値に基づく換算可能角度と目標角度との差に応じた積分要素の出力値が逐次更新されている場合、第1角度センサの検出値と第2角度センサの検出値との差に起因して同積分要素の出力値の絶対値が過度に大きい値となるおそれがある。そしてその場合に、第1利用操作処理から第2利用操作処理に切り替えると、第2操作量の絶対値が過度に大きい値となっていることから、モータのトルクが急変するおそれがある。そこで上記構成では、第2利用操作処理への切り替え時に、切替前における上記積分要素の影響を除去することにより、第2利用操作処理への切り替えに伴うモータのトルクの急変を抑制できる。
【0008】
2.前記除去処理は、前記第1利用操作処理が実行されている場合、前記第2操作量算出処理における積分要素を停止させる処理である上記1記載のモータの制御装置である。
上記構成では、第2駆動回路の操作に第2操作量が利用されていない場合、第2操作量算出処理における積分要素を停止させることにより、積分要素が保持する値の絶対値が過度に大きい値となることを抑制できる。
【0009】
3.前記第2操作量算出処理は、前記第1利用操作処理が実行されている場合、前記積分要素によらずに前記第2操作量を算出する処理を含み、前記第2処理回路は、前記第1操作量と前記第2操作量との差の絶対値が規定値以上の場合、前記第1利用操作処理から前記第2利用操作処理に切り替える処理を実行し、前記第2操作量算出処理は、前記第1操作量と前記第2操作量との差の絶対値が規定値以上であることに基づき前記第2利用操作処理がなされる場合、前記積分要素によらず前記第2操作量を算出する処理を含む上記1または2記載のモータの制御装置である。
【0010】
上記構成では、第1利用操作処理が実行されている場合であっても第2操作量が算出されることから、第1操作量と第2操作量との比較に基づき、第1操作量による制御の妥当性を評価することができる。そして上記構成では、妥当性が低いと判定される場合、第2利用操作処理を実行する。そしてその場合、第2操作量を積分要素によらずに算出する。これにより、第1角度センサの検出値と第2角度センサの検出値とに差がある場合であっても、積分要素により第1角度センサの検出値に基づく換算可能角度と目標角度との定常偏差を低減しようとする制御と、積分要素により第2角度センサの検出値に基づく換算可能角度と目標角度との定常偏差を低減しようとする制御との干渉を回避できる。
【0011】
4.前記第2処理回路は、前記第1処理回路と前記第2処理回路との通信に異常が生じる場合、前記第1利用操作処理から前記第2利用操作処理に切り替える処理を実行し、前記第2操作量算出処理は、前記通信に異常が生じることに基づき前記第2利用操作処理がなされる場合、前記積分要素によらず前記第2操作量を算出する処理を含む上記1~3のいずれか1つに記載のモータの制御装置である。
【0012】
上記構成では、第2処理回路は、通信に異常が生じることにより第1操作量を取得できない場合、第2利用操作処理を実行する。これにより、第1操作量を取得できない場合であっても第2駆動回路を操作することができる。しかも、第2操作量を積分要素によらずに算出する。これにより、第1角度センサの検出値と第2角度センサの検出値とに差がある場合であっても、積分要素により第1角度センサの検出値に基づく換算可能角度と目標角度との定常偏差を低減しようとする制御と、積分要素により第2角度センサの検出値に基づく換算可能角度と目標角度との定常偏差を低減しようとする制御との干渉を回避できる。
【0013】
5.前記第1処理回路および前記第2処理回路は、当該制御装置の外部から前記目標角度を前記制御装置に出力する外部装置と通信可能であり、前記第2操作量算出処理は、前記外部装置から前記積分要素の利用が指示される場合、前記積分要素に基づき前記第2操作量を算出する処理を含む上記4記載のモータの制御装置である。
【0014】
上記構成では、外部装置からの積分要素の利用の指示がなされる場合、積分要素に基づき第2操作量を算出することにより、第2角度センサに基づく換算可能角度と目標角度との定常偏差を低減できる。特に、外部装置からの指示に応じて積分要素を利用することにより、外部装置が第1処理回路の異常を感知した場合に外部装置から指示が出されるようにすることにより、第1処理回路の異常に対処できる。
【0015】
6.前記第1処理回路は、前記第1処理回路と前記第2処理回路との通信異常が生じているときに当該第1処理回路に異常が生じる場合、異常が生じた旨を前記外部装置を介して前記第2処理回路に通知する通知処理を実行し、前記第2操作量算出処理は、前記通知処理に基づき前記外部装置から前記積分要素の利用が指示される場合、前記積分要素に基づき前記第2操作量を算出する処理を含む上記5記載のモータの制御装置である。
【0016】
上記構成では、第1処理回路と第2処理回路との通信異常が生じているときに第1処理回路に異常が生じる場合、通知処理によって、第1処理回路から外部装置に異常が生じた旨を通知し、外部装置では通知処理に基づき積分要素の利用を第2処理回路に指示する。これにより、第1処理回路と第2処理回路との通信異常時において第1処理回路に異常が生じる場合、第2角度センサに基づく換算可能角度と目標角度との定常偏差を低減できる。
【0017】
7.前記第2処理回路は、前記第1処理回路による前記第1駆動回路の操作が停止する異常が生じる場合、前記第1利用操作処理から前記第2利用操作処理に切り替える処理を含み、前記第2操作量算出処理は、前記第1駆動回路の操作が停止する異常が生じることに基づき前記第2利用操作処理がなされる場合、前記積分要素を用いて前記第2操作量を算出する処理を含む上記1~6のいずれか1つに記載のモータの制御装置である。
【0018】
第1処理回路による第1駆動回路の操作が停止する場合、第1操作量がモータの制御に反映されないため、第2操作量が積分要素によらずに算出される場合には、換算可能角度と目標角度との定常偏差を低減することが困難となる。そこで上記構成では、第1処理回路による第1駆動回路の操作が停止する場合、積分要素に基づき第2操作量を算出することにより、第2角度センサに基づく換算可能角度と目標角度との定常偏差を低減できる。
【0019】
8.前記第2操作量算出処理は、前記換算可能角度を前記目標角度にフィードバック制御するための操作量に加えて前記換算可能角度を前記目標角度にフィードフォワード制御するための操作量に基づき前記第2操作量を算出する処理である上記3または4記載のモータの制御装置である。
【0020】
上記構成では、フィードフォワード制御のための操作量に基づき第2操作量が算出されることから、積分要素の出力は、フィードフォワード操作量による制御の誤差を補償するものとなる。したがって、フィードフォワード操作量を用いない場合と比較すると、第2操作量を積分要素によらずに算出する場合であっても、換算可能角度と目標角度との乖離を小さくすることができる。
【図面の簡単な説明】
【0021】
【
図1】一実施形態にかかる制御装置およびモータを示す図。
【
図2】同実施形態にかかる制御装置が実行する処理の一部を示す図。
【
図3】(a)および(b)は、制御装置が実行する処理の手順を示す流れ図。
【発明を実施するための形態】
【0022】
以下、モータの制御装置にかかる一実施形態について図面を参照しつつ説明する。
図1に示すモータ10は、転舵輪を転舵させるための転舵アクチュエータにおける動力源である。本実施形態では、モータ10として表面磁石同期電動機(SPMSM)を例示している。モータ10は、1つのロータ12と、一対のステータコイルである第1ステータコイル14(1)および第2ステータコイル14(2)と、を備えている。制御装置20は、モータ10を制御対象とし、モータ10の制御量であるトルクを制御する。制御装置20は、第1ステータコイル14(1)および第2ステータコイル14(2)のそれぞれに対応した各別の回路である第1系統の回路と第2系統の回路とを備えている。
【0023】
詳しくは、制御装置20は、第1系統の回路として次のものを備えている。すなわち、第1ステータコイル14(1)に接続された第1インバータ22(1)と、第1インバータ22(1)に操作信号MS(1)を出力することによって第1ステータコイル14(1)に流れる電流を制御する第1マイコン30(1)と、を備えている。また、制御装置20は、第2系統の回路として、次のものを備えている。すなわち、第2ステータコイル14(2)に接続された第2インバータ22(2)と、第2インバータ22(2)に操作信号MS(2)を出力することによって第2ステータコイル14(2)に流れる電流を制御する第2マイコン30(2)と、を備えている。なお、第1マイコン30(1)と第2マイコン30(2)とは、通信線42を介して通信可能となっている。
【0024】
以下では、第1系統と第2系統とを総括して記載する場合、「1」または「2」の値をとりうる「k」を用い、たとえば「第kステータコイル14(k)には第kインバータ14(k)が接続されている」等と記載することとする。
【0025】
上記第kマイコン30(1)は、第k角度センサ40(k)によって検出されるロータ12の回転角度θm(k)や、第kステータコイル14(k)に流れる3相の電流iu(k),iv(k),iw(k)を取得する。なお、電流iu(k),iv(k),iw(k)は、たとえば第kインバータ22(k)の各レッグに接続されたシャント抵抗の電圧降下として検出すればよい。
【0026】
第kマイコン30(k)には、CPU32(k)、ROM34(k)、周辺回路36(k)等が備えられ、それらがローカルネットワーク38(k)を介して互いに通信可能とされている。ここで、周辺回路36(k)は、外部クロック信号に基づき内部の動作を規定するクロック信号を生成する回路や、電源回路、リセット回路等を含む。
【0027】
制御装置20は、通信線54を介して外部の上位ECU50と通信可能となっており、上位ECU50から出力される目標角度θp*が第1マイコン30(1)および第2マイコン30(2)に入力される。目標角度θp*は、転舵輪の転舵角(タイヤ切れ角)に換算可能な換算可能角度の目標値であり、本実施形態では、ステアリングシャフトの回転角度の目標値とされている。なお、上位ECU50や、第kマイコン30(k)、第kインバータ22(k)には、バッテリ52の端子電圧が印加されている。詳しくは、第kマイコン30(k)には、リレー24(k)を介してバッテリ52の電圧が印加されている。また、第kインバータ22(k)と第kステータコイル14(k)との間には、リレー26(k)が設けられている。
【0028】
図2に、第1マイコン30(1)および第2マイコン30(2)が実行する処理を示す。
図2に示す処理は、ROM34(k)に記憶されたプログラムをCPU32(k)が実行することにより実現される。なお、以下では、第1マイコン30(1)および第2マイコン30(2)のそれぞれが実行する処理を総括する場合、「k」を用いて記載する。
【0029】
積算処理M10(k)は、回転角度θm(k)を積算する処理である。換算処理M12(k)は、積算処理M10(k)の出力に所定の係数Kを乗算することによって、同出力を、ステアリングシャフトの回転角度θp(k)に換算する処理である。なお、回転角度θp(k)は、中立位置においてゼロとなり、左旋回側であるか右旋回側であるかに応じて符号が互いに異なる。
【0030】
フィードバック操作量算出処理M20(k)は、回転角度θp(k)を目標角度θp*にフィードバック制御するための操作量であるフィードバック操作量MFB(k)を算出する処理である。本実施形態では、基本的には、比例要素の出力値、積分要素の出力値および微分要素の出力値の和をフィードバック操作量MFB(k)とする。具体的には、偏差算出処理M22(k)は、回転角度θp(k)と目標角度θp*との差を算出する処理であり、比例要素M24(k)は、差に比例係数Kpを乗算する処理である。積分ゲイン乗算処理M26(k)は、上記差に積分ゲインKiを乗算する処理であり、積分処理M28(k)は、積分ゲイン乗算処理M26(k)の出力の積算値を更新し、出力する処理であり、積分ゲイン乗算処理M26(k)および積分処理M28(k)によって積分要素が構成される。微分ゲイン乗算処理M30(k)は、上記差に微分ゲインKdを乗算する処理であり、微分処理M32(k)は、微分ゲイン乗算処理M30(k)の出力の微分演算をする処理であり、微分ゲイン乗算処理M30(k)および微分処理M32(k)によって微分要素が構成される。加算処理M34(k)は、比例要素M24(k)、積分処理M28(k)および微分処理M32(k)の各出力値の和を算出して、フィードバック操作量MFB(k)として出力する処理である。
【0031】
フィードフォワード操作量算出処理M40(k)は、目標角度θp*に制御するための操作量であるフィードフォワード操作量MFF(k)を算出する処理である。詳しくは、フィードフォワード操作量算出処理M40(k)は、目標角度θp*の絶対値が大きい場合に小さい場合よりもフィードフォワード操作量MFF(k)の絶対値を大きい値とする処理である。これは、たとえば目標角度θp*を入力変数とし、フィードフォワード操作量MFF(k)を出力変数とするマップデータが予めROM34(k)に記憶された状態で、CPU32(k)によりフィードフォワード操作量MFF(k)をマップ演算することにより実現できる。ここで、マップデータとは、入力変数の離散的な値と、入力変数の値のそれぞれに対応する出力変数の値と、の組データである。またマップ演算は、たとえば、入力変数の値がマップデータの入力変数の値のいずれかに一致する場合、対応するマップデータの出力変数の値を演算結果とし、一致しない場合、マップデータに含まれる複数の出力変数の値の補間によって得られる値を演算結果とする処理とすればよい。
【0032】
加算処理M42(k)は、フィードバック操作量MFB(k)とフィードフォワード操作量MFF(k)とを加算して、第k操作量MV(k)を算出する処理である。なお、第k操作量MV(k)は、q軸の電流指令値である。
【0033】
第1操作信号生成処理M44(1)は、第1ステータコイル14(1)を流れるq軸電流が第1操作量MV(1)の「1/2」となるように、第1インバータ22(1)の操作信号MS(1)を算出して出力する処理である。
【0034】
選択処理M50は、第1操作量MV(1)と第2操作量MV(2)との2つの操作量のうちのいずれか1つを選択的に第2操作信号生成処理M44(2)に出力する処理である。
【0035】
第2操作信号生成処理M44(2)は、原則、第2ステータコイル14(2)を流れるq軸電流が選択処理M50の出力の「1/2」となるように、第2インバータ22(2)の操作信号MS(2)を算出して出力する処理である。
【0036】
本実施形態では、
図2の処理を基本としつつ、
図3に示す処理を実行することにより、適宜、
図2の処理を変更する。
図3(a)は、ROM34(1)に記憶されたプログラムをCPU32(1)がたとえば所定周期で繰り返し実行することにより実現される処理である。
図3(b)は、ROM34(2)に記憶されたプログラムをCPU32(2)がたとえば所定周期で繰り返し実行することにより実現される処理である。なお、以下では、いくつかのシチュエーション別に、
図3の処理を説明する。
【0037】
ケース1.正常時
図3(a)に示す一連の処理において、CPU32(1)は、まず第1マイコン30(1)と第2マイコン30(2)との間の通信が正常であるか否かを判定する(S10)。ここでは、たとえば通信線42を介して第1マイコン30(1)および第2マイコン30(2)で周期的に決まったデータのやり取りをすることとし、そのデータのやり取りができない場合に、異常と判定すればよい。
【0038】
CPU32(1)は、通信が正常であると判定する場合(S10:YES)、第1マイコン30(1)が第1インバータ22(1)を操作することによって第1ステータコイル14(1)に流れる電流を制御することが不可であるか否かを判定する(S12)。CPU32(1)は、第1角度センサ40(1)に異常が生じている場合や、第1ステータコイル14(1)や第1インバータ22(1)の温度が規定温度以上である場合等に、制御が不可であると判定する。ここで、第1角度センサ40(1)の異常については、たとえば第1角度センサ40(1)の出力信号が、接地電位またはバッテリ52の端子電位に固定されている場合などに、異常があると判定すればよい。また、第1ステータコイル14(1)や第1インバータ22(1)の温度が規定温度以上であるか否かは、電流iu(1),iv(1),iw(1)の履歴等に基づき判定すればよい。
【0039】
CPU32(1)は、第1ステータコイル14(1)に流れる電流を制御することが可能であると判定する場合(S12:NO)、第1操作量MV(1)を通信線42を介して第2マイコン30(2)に出力する(S14)。なお、CPU32(1)は、S14の処理を完了する場合、
図3(a)に示す一連の処理を一旦終了する。
【0040】
一方、
図3(b)に示すように、CPU32(2)は、第1マイコン30(1)による第1ステータコイル14(1)に流れる電流の制御が停止しているか否かを判定する(S30)。CPU32(2)は、第1マイコン30(1)が動作している場合(S30:NO)、上位ECU50からの積分実施指示があるか否かを判定する(S32)。CPU32(2)は、指示がない場合(S32:NO)、積分処理M28(2)を停止させる(S34)。詳しくは、積分処理M28(2)が保持する値を初期値である「0」に固定する。これにより、フィードバック操作量MFB(2)は、比例要素M24(2)の出力値および微分処理M32(2)の出力値との和となり、第2操作量MV(2)は、同フィードバック操作量MFB(2)とフィードフォワード操作量MFF(2)との和となる。
【0041】
そしてCPU32(2)は、第1マイコン30(1)と第2マイコン30(2)との間の通信が正常であるか否かを判定する(S36)。そしてCPU32(2)は、正常であると判定する場合(S36:YES)、
図3(a)のS14の処理によって出力された第1操作量MV(1)を取得する(S38)。そしてCPU32(2)は、第1操作量MV(1)と第2操作量MV(2)との差の絶対値が規定値Mth未満であるか否かを判定する(S40)。この処理は、回転角度θp(k)の目標角度θp*への制御が正常になされているか否かを判定する処理である。ここで、第2操作量MV(2)および第1操作量MV(1)の差は、フィードバック操作量MFB(1),MFB(2)同士の差となるべきであり、その差は非常に小さいと考えられる。
【0042】
すなわち、フィードバック操作量MFB(1),MFB(2)同士に差が生じる第1の要因は、積分処理M28(2)の出力値がゼロとなっていることである。積分処理M28(1)の出力値は、フィードフォワード操作量MFF(1)による制御の誤差を補償する値となることから、その絶対値はさほど大きくならない。フィードバック操作量MFB(1),MFB(2)同士に差が生じる第2の要因は、第1角度センサ40(1)によって検出される回転角度θm(1)および第2角度センサ40(2)によって検出される回転角度θm(2)の差に起因した比例要素M24(1),M24(2)同士の差および微分処理M32(1),M32(2)同士の差である。しかし、回転角度θm(1),θm(2)同士の差の絶対値が非常に小さいことから、比例要素M24(1),M24(2)同士の差の絶対値および微分処理M32(1),M32(2)同士の差の絶対値も小さい。
【0043】
CPU32(2)は、規定値Mth未満であると判定する場合(S40:YES)、制御が正常になされていると考えられることから、選択処理M50として、第1操作量MV(1)を採用する(S42)。これにより、第2操作信号生成処理M44(2)によって、第2ステータコイル14(2)に流れるq軸電流が第1操作量MV(1)の「1/2」となるように、第2インバータ22(2)を操作する操作信号MS(2)が生成されて出力される。なお、CPU32(2)は、S42の処理を完了する場合、
図3(b)に示す一連の処理を一旦終了する。
【0044】
ケース2.マイコン間通信正常且つ第1マイコン30(1)の制御異常
この場合、
図3(a)に示すように、CPU32(1)は、S12の処理において肯定判定することから、第1マイコン30(1)による制御ができない旨、通信線42を介して第2マイコン30(2)に通知する(S16)。そしてCPU32(1)は、周辺回路36(1)等を通じて、リレー24(1),26(1)を開状態に切り替える(S18)。なお、CPU32(1)は、S18の処理を完了する場合、
図3(a)に示す一連の処理を一旦終了する。
【0045】
この場合、
図3(b)に示すように、CPU32(2)は、第1マイコン30(1)による第1ステータコイル14(1)に流れる電流の制御が停止したと判定し(S30:YES)、積分処理M28(2)を動作させることにより、積分要素(I項)に基づくMV(2)の算出処理を実行する(S44)。そしてCPU32(2)は、選択処理M50として、第2操作量MV(2)を採用する(S46)。なお、この場合、第2操作信号生成処理M44(2)によって、第2ステータコイル14(2)に流れるq軸電流が第2操作量MV(2)となるように、第2インバータ22(2)を操作する操作信号MS(2)が生成されて出力される。すなわち、第1ステータコイル14(1)への通電がなされないことから、回転角度θp(2)を目標角度θp*に制御するうえでは、第2ステータコイル14(2)に流すq軸電流を、第2操作量MV(2)とする必要がある。ちなみに、CPU32(2)は、S46の処理を完了する場合、
図3(b)に示す一連の処理を一旦終了する。
【0046】
ケース3.マイコン間通信正常且つ、制御に異常が生じている場合
ここでは、
図3(a)のS14の処理がなされる場合を想定している。この場合、
図3(b)に示すS40の処理において、CPU32(2)は、否定判定し、S46の処理に移行する。これにより、第2操作信号生成処理M44(2)によって、第2ステータコイル14(2)に流れるq軸電流が第2操作量MV(2)の「1/2」となるように、第2インバータ22(2)を操作する操作信号MS(2)が生成されて出力される。
【0047】
ケース4.マイコン間通信異常且つ第1マイコン30(1)による制御可能
この場合、
図3(a)に示すように、CPU32(1)は、マイコン間通信に異常が生じていると判定し(S10:NO)、S12の処理と同様に、第1マイコン30(1)が第1インバータ22(1)を操作することによって第1ステータコイル14(1)に流れる電流を制御することが不可であるか否かを判定する(S20)。そして、CPU32(1)は、制御が可能と判定する場合(S20:NO)、
図3(a)に示す一連の処理を一旦終了する。
【0048】
この場合、CPU32(2)は、
図3(b)に示すS36の処理において否定判定し、S46の処理に移行する。これにより、第2操作信号生成処理M44(2)によって、第2ステータコイル14(2)に流れるq軸電流が第2操作量MV(2)の「1/2」となるように、第2インバータ22(2)を操作する操作信号MS(2)が生成されて出力される。
【0049】
ケース5.マイコン間通信異常且つ第1マイコン30(1)による制御不可
この場合、CPU32(1)は、
図3(a)に示すS20の処理において肯定判定することから、通信線54を介して上位ECU50にその旨を通知する(S22)。そして、CPU32(1)は、S18の処理に移行する。
【0050】
この場合、上位ECU50は、第1マイコン30(1)が異常となり、第1ステータコイル14(1)に流れる電流を操作することによる回転角度θp(1)の目標角度θp*への制御が停止されることから、通信線54を介して第2マイコン30(2)に、積分要素の動作を指示する。
【0051】
これにより、CPU32(2)は、
図3(b)に示すS32の処理において肯定判定し、S44の処理を得て、S46の処理に移行する。これにより、第2操作信号生成処理M44(2)によって、第2ステータコイル14(2)に流れるq軸電流が第2操作量MV(2)となるように、第2インバータ22(2)を操作する操作信号MS(2)が生成されて出力される。
【0052】
ここで、本実施形態の作用および効果について説明する。
CPU32(1)は、回転角度θp(1)を目標角度θp*に制御するための第1操作量MV(1)を算出し、第1ステータコイル14(1)に流れるq軸電流が第1操作量MV(1)の「1/2」となるように、第1インバータ22(1)を操作する。一方、CPU32(2)は、第2ステータコイル14(2)に流れるq軸電流が第1操作量MV(1)の「1/2」となるように、第2インバータ22(2)を操作する。このため、第2ステータコイル14(2)を流れるq軸電流を、積分処理M28(2)を動作させたときの第2操作量MV(2)とする場合と比較すると、転舵輪の転舵角の制御に干渉が生じることを抑制できる。すなわち、第1角度センサ40(1)によって検出された回転角度θm(1)と、第2角度センサ40(2)によって検出された回転角度θm(2)との間には差が生じうる。そして差がある場合、積分処理M28(1)の出力値は、回転角度θp(1)と目標角度θp*との定常偏差を解消するための値となり、積分処理M28(2)の出力値は、回転角度θp(2)と目標角度θp*との定常偏差を解消するための値となることから、制御に干渉が生じる。
【0053】
ここで、第1マイコン30(1)による第1ステータコイル14(1)のq軸電流の制御が不可となる場合、第1マイコン30(1)は、第1ステータコイル14(1)に流れる電流の制御を停止する。その場合、CPU32(2)は、第2ステータコイル14(2)に流れるq軸電流を第2操作量MV(2)に制御する。ここで、第1操作量MV(1)を用いた制御から第2操作量MV(2)を用いた制御への切替前においては、積分処理M28(2)が停止していた。そのため、積分処理M28(2)が停止していない場合と比較して、切り替え時における第1操作量MV(1)と第2操作量MV(2)との差の絶対値を小さくすることができ、ひいては切り替えに伴うモータ10のトルクの変化を抑制できる。すなわち、積分処理M28(1)の出力値は、回転角度θp(1)と目標角度θp*との定常偏差を解消するための値となるため、回転角度θp(1),θp(2)に差がある場合、回転角度θp(1)と目標角度θp*との定常偏差が解消されていても、回転角度θp(2)と目標角度θp*との間には定常偏差が存在する。そして、第2インバータ22(2)の操作に第1操作量MV(1)が使用されている場合、積分処理M28(2)の出力値は第2インバータ22(2)の操作に反映されないことから、積分処理M28(2)の出力値の絶対値は、漸増し過度に大きい値となる。
【0054】
また、第1マイコン30(1)自身では、異常の要因を特定できない制御の異常が生じる場合、CPU32(2)は、第1操作量MV(1)と第2操作量MV(2)との差の絶対値が規定値Mth以上となることから異常を検知する。そしてその場合、CPU32(2)は、第2インバータ22(2)の操作に第2操作量MV(2)を用いる。これにより、第1操作量MV(1)に異常が生じる場合であっても第2インバータ22(2)の操作に第1操作量MV(1)を用いる場合と比較すると、目標角度θp*への制御に対する第1操作量MV(1)の寄与を低減できる。しかも、この場合、CPU32(2)は、積分処理M28(2)を停止したまま第2操作量MV(2)を算出することから、積分処理M28(1),M28(2)の出力値が、互いに異なる定常偏差を解消する値となることによる制御の干渉を回避できる。
【0055】
また、第1マイコン30(1)および第2マイコン30(2)間の通信に異常が生じる場合、CPU32(2)は、第2インバータ22(2)の操作に第2操作量MV(2)を用いる。これにより、第1ステータコイル14(1)のq軸電流が第1操作量MV(1)の「1/2」に制御され、第2ステータコイル14(2)のq軸電流が第2操作量MV(2)の「1/2」に制御されることから、モータ10のトルクを目標角度θp*への制御にとって適切な値とすることができる。しかも、この場合、CPU32(2)は、積分処理M28(2)を停止したまま第2操作量MV(2)を算出することから、積分処理M28(1),M28(2)の出力値が、互いに異なる定常偏差を解消する値となることによる制御の干渉を回避できる。
【0056】
さらに、通信の異常時に、第1マイコン30(1)による第1ステータコイル14(1)の電流制御ができなくなる場合、CPU32(1)は、上位ECU50にその旨を通知する。これにより、上位ECU50からCPU32(2)に積分実施指示がなされると、CPU32(2)は、第2操作量MV(2)の算出に積分処理M28(2)の出力値を利用する。そして、CPU32(2)は、第2ステータコイル14(2)のq軸電流を第2操作量MV(2)に制御することにより、回転角度θpを目標角度θp*に追従させることができる。
【0057】
<対応関係>
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。[1,2,8]変数kを「1」または「2」として、第k駆動回路は、第kインバータ22(k)に対応し、第k処理回路は、第kマイコン30(k)に対応し、第k操作量算出処理は、フィードバック操作量算出処理M20(k)、フィードフォワード操作量算出処理M40(k)および加算処理M42(k)に対応する。出力処理は、S14の処理に対応する。第1利用操作処理は、S42の処理がなされたときにおける第2操作信号生成処理M44(2)に対応する。第2利用操作処理は、S46の処理がなされたときにおける第2操作信号生成処理M44(2)に対応する。除去処理は、S34の処理に対応する。積分要素は、積分ゲイン乗算処理M26(2)および積分処理M28(2)に対応する。[3]S40の処理において否定判定される場合の処理に対応する。[4]S36の処理において否定判定される場合の処理に対応する。[5]外部装置は、上位ECU50に対応する。S32の処理において肯定判定される場合の処理に対応する。[6]通知処理は、S22の処理に対応する。[7]S30の処理において肯定判定される場合の処理に対応する。
【0058】
<その他の実施形態>
なお、上記実施形態の各事項の少なくとも1つを、以下のように変更してもよい。
・「上位ECUからの指示について」
たとえば、CPU32(1)が第1操作量MV(1)および回転角度θp(1)を上位ECU50に出力し、CPU32(2)が第2操作量MV(2)および回転角度θp(2)を上位ECU50に出力することとし、上位ECU50が、第1マイコン30(1)および第2マイコン30(2)のいずれが正常であるかを判定することとしてもよい。その場合、正常と判定されたのが、第2マイコン30(2)である場合には、上位ECU50から第2マイコン30(2)にその旨を通知し、CPU32(2)によってS44の処理に移行すればよい。
【0059】
・「除去処理について」
除去処理としては、第1操作量MV(1)に基づき第2インバータ22(2)が操作されているときに、積分処理M28(2)を停止させるものに限らない。たとえば、第2インバータ22(2)の操作に用いられる操作量が第1操作量MV(1)から第2操作量MV(2)に切り替わる時点において、積分処理M28(2)の保持する値を「0」とし、切り替わった時点における第2操作量MV(2)を、積分処理M28(2)の保持する値を「0」として算出された値とする処理であってもよい。
【0060】
・「第k操作量算出処理について」
(a)フィードバック操作量MFB(k)について
たとえば積分ゲインKiを可変としない場合等には、積分要素を、積分処理M28(k)の出力値に積分ゲイン乗算処理M26(k)によって積分ゲインKiを乗算する処理としてもよい。
【0061】
フィードバック操作量MFBとしては、比例要素M24(k)、積分要素および微分要素の各出力値の和に限らない。たとえば、比例要素および積分要素の2つの出力値の和であってもよく、またたとえば積分要素および微分要素の2つの出力値の和であってもよく、またたとえば積分要素の出力値としてもよい。
【0062】
(b)フィードフォワード操作量MFF(k)について
換算可能角度(目標角度θp*等)に基づくフィードフォワード操作量MFF(k)としては、換算可能角度のみからフィードフォワード操作量MFF(k)を算出するものに限らない。たとえば、車速に応じてフィードフォワード操作量MFF(k)を可変としてもよい。またたとえば、換算可能角度の2階時間微分値に比例係数を乗算した値をさらに加えてもよい。
【0063】
(c)そのほか
フィードフォワード操作量MFF(k)に基づき第k操作量MV(k)を算出することは必須ではない。
【0064】
・「換算可能角度について」
上記実施形態では、換算可能角度をステアリングシャフトの角度としたが、これに限らず、たとえばタイヤの切れ角である転舵角自体としてもよい。
【0065】
・「処理回路について」
上記実施形態では、処理回路を構成するプログラム格納装置として、ROMを例示し、ROMがいかなるタイプのものであるかについては触れていなかったが、たとえば書き換え不能なメモリであってもよく、またたとえば、電気的に書き換え可能な不揮発性メモリであってもよい。さらに、プログラム格納装置としては、ROMに限らない。
【0066】
処理回路としては、プログラムを格納したプログラム格納装置とプログラムを実行するCPUとを備えたソフトウェア処理回路に限らず、たとえばASIC等の、所定の処理を実行する専用のハードウェア回路であってもよい。
【0067】
また、処理回路としては、ソフトウェア処理回路と、専用のハードウェア回路とのうちのいずれか一方によって構成されるものに限らず、上記処理の一部をソフトウェア処理回路によって実行し、残りの処理を専用のハードウェア回路によって実行するものであってもよい。
【0068】
・「制御装置について」
上記実施形態では、第1および第2の2つの系統を有する装置を例示したが、これに限らない。たとえばさらに第3の系統を備える等、ステータコイル、駆動回路および処理回路を3つ以上ずつ備えるものとしてもよい。ただし、その場合、いずれか1つをメインとし残りをサブとすることが望ましい。
【0069】
・「モータについて」
モータとしては、SPMSMに限らず、埋込磁石同期電動機(IPMSM)であってもよい。なお、IPMSMの場合、第k操作量MV(k)をトルク指令値とし、第k操作信号生成処理M44(k)において、トルク指令値をd軸の電流指令値とq軸の電流指令値とに変換することが望ましい。また、モータとしては、同期電動機に限らず、誘導機であってもよい。さらに、ブラシレス電動機に限らず、ブラシ付き直流モータであってもよい。
【0070】
・「ステータコイル、モータおよび駆動回路について」
上記実施形態では、駆動回路として3相インバータを例示したが、これに限らない。たとえば「モータについて」の欄に記載したようにモータとして直流モータを用いる場合、駆動回路としてHブリッジ回路を用いてもよい。
【0071】
・「駆動回路について」
上記「モータについて」の欄に記載したように、モータとして直流モータを用いる場合、駆動回路としては、Hブリッジ回路を用いればよい。
【0072】
・「そのほか」
リレー26(1),26(2)を備えることや、S18の処理において、リレー26(1)をオフすることは必須ではない。また、S18の処理において、リレー26(1)をオフとしつつも、リレー24(1)をオフとしないこととしてもよい。
【符号の説明】
【0073】
10…モータ、12…ロータ、14(1)…第1ステータコイル、14(2)…第2ステータコイル、20…制御装置、22(1)…第1インバータ、22(2)…第2インバータ、24,26…リレー、30(1)…第1マイコン、30(2)…第2マイコン、32…CPU、34…ROM、36…周辺回路、38…ローカルネットワーク、40…第1角度センサ、40…第2角度センサ、42…通信線、50…上位ECU、52…バッテリ、54…通信線。