(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-15
(45)【発行日】2023-05-23
(54)【発明の名称】モータの制御システム、およびモータの制御装置
(51)【国際特許分類】
B62D 5/04 20060101AFI20230516BHJP
B62D 6/00 20060101ALI20230516BHJP
H02P 27/06 20060101ALI20230516BHJP
H02P 25/22 20060101ALI20230516BHJP
B62D 111/00 20060101ALN20230516BHJP
B62D 137/00 20060101ALN20230516BHJP
B62D 113/00 20060101ALN20230516BHJP
【FI】
B62D5/04 ZYW
B62D6/00
H02P27/06
H02P25/22
B62D111:00
B62D137:00
B62D113:00
(21)【出願番号】P 2019080175
(22)【出願日】2019-04-19
【審査請求日】2022-03-04
(73)【特許権者】
【識別番号】000001247
【氏名又は名称】株式会社ジェイテクト
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】都甲 高広
(72)【発明者】
【氏名】入江 亮
【審査官】久保田 信也
(56)【参考文献】
【文献】特開2018-038176(JP,A)
【文献】特開2015-163498(JP,A)
【文献】国際公開第2017/158681(WO,A1)
【文献】特開2018-131017(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B62D 5/04
B62D 6/00
H02P 27/06
H02P 25/22
B62D 111/00
B62D 113/00
B62D 137/00
(57)【特許請求の範囲】
【請求項1】
転舵輪を転舵させるためのモータであって互いに絶縁された第1ステータコイルおよび第2ステータコイルを備えるモータを制御対象とし、前記第1ステータコイルに接続されている第1駆動回路を操作する第1処理回路と、前記第2ステータコイルに接続されている第2駆動回路を操作する第2処理回路と、前記転舵輪の転舵角の指令値に関する信号を前記第1処理回路および前記第2処理回路に出力する指令回路と、を備えるモータの制御システムにおいて、
前記指令回路は、車両の走行状態に基づき転舵角が基準角度となった状態を検知する検知処理と、前記検知処理による検知結果に基づく信号である第1結果信号を前記第1処理回路に出力する第1通知処理と、前記検知処理の検知結果に基づく信号である第2結果信号を前記第2処理回路に出力する第2通知処理と、を実行し、
前記第1処理回路は、前記第1結果信号に基づき、前記転舵角を前記指令値に制御すべく、前記転舵輪の転舵角に換算可能な換算可能角度であって第1角度センサの検出値に基づく角度である第1換算可能角度と前記指令値に応じた前記換算可能角度との相対角度を補正して前記第1駆動回路の操作のための入力とする第1補正処理を実行し、
前記第2処理回路は、前記第2結果信号に基づき、前記転舵角を前記指令値に制御すべく、前記転舵輪の転舵角に換算可能な換算可能角度であって第2角度センサの検出値に基づく角度である第2換算可能角度と前記指令値に応じた前記換算可能角度との相対角度を補正して前記第2駆動回路の操作のための入力とする第2補正処理を実行
し、
前記第1処理回路は、前記第1換算可能角度を前記指令回路に出力する第1出力処理と、前記第1結果信号に基づき前記第1出力処理によって出力している前記第1換算可能角度が前記基準角度を示すときの値としての基準時第1角度を前記指令回路に出力する第1照合用処理と、を実行し、
前記第2処理回路は、前記第2換算可能角度を前記指令回路に出力する第2出力処理と、前記第2結果信号に基づき前記第2出力処理によって出力している前記第2換算可能角度が前記基準角度を示すときの値としての基準時第2角度を前記指令回路に出力する第2照合用処理と、を実行し、
前記指令回路は、前記検知処理に基づき把握される前記第1出力処理によって出力された前記第1換算可能角度が前記基準角度を示すときの値と前記第1照合用処理による前記基準時第1角度とを照合する第1照合処理と、前記検知処理に基づき把握される前記第2出力処理によって出力された前記第2換算可能角度が前記基準角度を示すときの値と前記第2照合用処理による前記基準時第2角度とを照合する第2照合処理と、を実行するモータの制御システム。
【請求項2】
前記第1通知処理は、前記第1出力処理によって出力された前記第1換算可能角度に基づき、前記検知処理によって基準角度となった状態が検知されたときの前記第1換算可能角度に関する信号を第1結果信号として前記第1処理回路に出力する処理を含み、
前記第1照合用処理は、前記第1通知処理によって通知された前記第1換算可能角度を前記基準時第1角度として出力する処理を含み、
前記第2通知処理は、前記第2出力処理によって出力された前記第2換算可能角度に基づき、前記検知処理によって基準角度となった状態が検知されたときの前記第2換算可能角度に関する信号を第2結果信号として前記第2処理回路に出力する処理を含み、
前記第2照合用処理は、前記第2通知処理によって通知された前記第2換算可能角度を前記基準時第2角度として出力する処理を含む請求項
1記載のモータの制御システム。
【請求項3】
前記第1処理回路は、前記第1換算可能角度と前記指令値に応じた目標角度との差に応じた積分要素の出力値に基づき第1操作量を算出する第1操作量算出処理と、前記第1操作量に基づき前記第1駆動回路を操作する処理と、該第1操作量を前記第2処理回路に出力する操作量出力処理と、を実行し、
前記第2処理回路は、前記第2換算可能角度と前記目標角度との差に応じて積分要素によらずに第2操作量を算出する第2操作量算出処理と、前記第1操作量に基づき前記第2駆動回路を操作する第1利用操作処理と、前記第1利用操作処理がなされているときに前記第1操作量と前記第2操作量算出処理によって算出された前記第2操作量との乖離に基づき前記第1処理回路の異常の有無を判定する判定処理と、を実行する請求項1
または2記載のモータの制御システム。
【請求項4】
前記第2処理回路は、前記判定処理によって前記第1処理回路に異常があると判定される場合、前記第1利用操作処理を停止し、前記第2操作量に基づき前記第2駆動回路を操作する第2利用操作処理を実行する請求項
3記載のモータの制御システム。
【請求項5】
請求項1~
4のいずれか1項に記載の前記第1処理回路および前記第2処理回路を備えるモータ制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータの制御システム、およびモータの制御装置に関する。
【背景技術】
【0002】
たとえば下記特許文献1には、転舵輪を転舵させるモータであって、互いに独立な2つのステータコイルを備えるモータが記載されている。同文献には、ステータコイルに接続された駆動回路を操作するモータの制御装置として、ステータコイル毎に、各別のマイコンを備えた冗長な制御装置が記載されている。ここで、一対のマイコンのそれぞれは、各別の回転角センサの検出値に基づき、モータのdq軸の電流を算出することによってそれらdq軸の電流を制御する。また、第1のマイコンの電流の指令値を第2のマイコンによって利用することも記載されている(
図10)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
発明者は、上記のように冗長な制御装置において、転舵輪の転舵角を上記回転角センサによって検出し、検出値を目標値にフィードバック制御することを検討した。しかしその場合、回転角センサの検出値同士の差に起因して転舵角の制御性が低くなるおそれがある。
【課題を解決するための手段】
【0005】
以下、上記課題を解決するための手段およびその作用効果について記載する。
1.転舵輪を転舵させるためのモータであって互いに絶縁された第1ステータコイルおよび第2ステータコイルを備えるモータを制御対象とし、前記第1ステータコイルに接続されている第1駆動回路を操作する第1処理回路と、前記第2ステータコイルに接続されている第2駆動回路を操作する第2処理回路と、前記転舵輪の転舵角の指令値に関する信号を前記第1処理回路および前記第2処理回路に出力する指令回路と、を備えるモータの制御システムにおいて、前記指令回路は、車両の走行状態に基づき転舵角が基準角度となった状態を検知する検知処理と、前記検知処理による検知結果に基づく信号である第1結果信号を前記第1処理回路に出力する第1通知処理と、前記検知処理の検知結果に基づく信号である第2結果信号を前記第2処理回路に出力する第2通知処理と、を実行し、前記第1処理回路は、前記第1結果信号に基づき、前記転舵角を前記指令値に制御すべく、前記転舵輪の転舵角に換算可能な換算可能角度であって第1角度センサの検出値に基づく角度である第1換算可能角度と前記指令値に応じた前記換算可能角度との相対角度を補正して前記第1駆動回路の操作のための入力とする第1補正処理を実行し、前記第2処理回路は、前記第2結果信号に基づき、前記転舵角を前記指令値に制御すべく、前記転舵輪の転舵角に換算可能な換算可能角度であって第2角度センサの検出値に基づく角度である第2換算可能角度と前記指令値に応じた前記換算可能角度との相対角度を補正して前記第2駆動回路の操作のための入力とする第2補正処理を実行するモータの制御システムである。
【0006】
上記構成では、指令回路が第1処理回路に第1結果信号を出力する。これにより、第1処理回路では、基準角度に対応する第1換算可能角度を把握することができる。そしてこれにより、基準角度と指令値との相対角度に応じて、基準角度に対応する第1換算可能角度と実際の第1換算可能角度との相対角度を制御すべく、第1換算可能角度を補正することができる。また、上記構成では、第2処理回路に第2結果信号を出力する。これにより、第2処理回路では、基準角度に対応する第2換算可能角度を把握することができる。そしてこれにより、基準角度と指令値との相対角度に応じて、基準角度に対応する第2換算可能角度と実際の第2換算可能角度との相対角度を制御すべく、第2換算可能角度を補正することができる。このように、第1換算可能角度の補正量と第2換算可能角度の補正量とを独立に設定可能なため、第1角度センサの検出値と第2角度センサの検出値とにずれがある場合であっても、第1換算可能角度と第2換算可能角度とを高精度に補正できることから、転舵角の制御を高精度に実行できる。
【0007】
2.前記第1処理回路は、前記第1換算可能角度を前記指令回路に出力する第1出力処理と、前記第1結果信号に基づき前記第1出力処理によって出力している前記第1換算可能角度が前記基準角度を示すときの値としての基準時第1角度を前記指令回路に出力する第1照合用処理と、を実行し、前記第2処理回路は、前記第2換算可能角度を前記指令回路に出力する第2出力処理と、前記第2結果信号に基づき前記第2出力処理によって出力している前記第2換算可能角度が前記基準角度を示すときの値としての基準時第2角度を前記指令回路に出力する第2照合用処理と、を実行し、前記指令回路は、前記検知処理に基づき把握される前記第1出力処理によって出力された前記第1換算可能角度が前記基準角度を示すときの値と前記第1照合用処理による前記基準時第1角度とを照合する第1照合処理と、前記検知処理に基づき把握される前記第2出力処理によって出力された前記第2換算可能角度が前記基準角度を示すときの値と前記第2照合用処理による前記基準時第2角度とを照合する第2照合処理と、を実行する上記1記載のモータの制御システムである。
【0008】
上記構成では、指令回路は、第1出力処理と検知処理とを利用して基準角度に対応する第1換算可能角度を把握でき、第2出力処理と検知処理とを利用して基準角度に対応する第2換算可能角度を把握できる。そして第1処理回路が第1照合用処理を実行することによって、指令回路では、第1処理回路が把握した基準時第1角度と、指令回路が把握した基準角度に対応する第1換算可能角度とを照合することができる。また、第2処理回路が第2照合用処理を実行することによって、指令回路では、第2処理回路が把握した基準時第2角度と、指令回路が把握した基準角度に対応する第2換算可能角度とを照合することができる。
【0009】
3.前記第1通知処理は、前記第1出力処理によって出力された前記第1換算可能角度に基づき、前記検知処理によって基準角度となった状態が検知されたときの前記第1換算可能角度に関する信号を第1結果信号として前記第1処理回路に出力する処理を含み、前記第1照合用処理は、前記第1通知処理によって通知された前記第1換算可能角度を前記基準時第1角度として出力する処理を含み、前記第2通知処理は、前記第2出力処理によって出力された前記第2換算可能角度に基づき、前記検知処理によって基準角度となった状態が検知されたときの前記第2換算可能角度に関する信号を第2結果信号として前記第2処理回路に出力する処理を含み、前記第2照合用処理は、前記第2通知処理によって通知された前記第2換算可能角度を前記基準時第2角度として出力する処理を含む上記2記載のモータの制御システムである。
【0010】
上記構成では、指令回路が把握した基準角度に対応する第1換算可能角度が第1処理回路に通知されることから、第1処理回路が、基準時第1角度を把握しやすい。また、指令回路が把握した基準角度に対応する第2換算可能角度が第2処理回路に通知されることから、第2処理回路が、基準時第2角度を把握しやすい。
【0011】
4.前記第1処理回路は、前記第1換算可能角度と前記指令値に応じた目標角度との差に応じた積分要素の出力値に基づき第1操作量を算出する第1操作量算出処理と、前記第1操作量に基づき前記第1駆動回路を操作する処理と、該第1操作量を前記第2処理回路に出力する操作量出力処理と、を実行し、前記第2処理回路は、前記第2換算可能角度と前記目標角度との差に応じて積分要素によらずに第2操作量を算出する第2操作量算出処理と、前記第1操作量に基づき前記第2駆動回路を操作する第1利用操作処理と、前記第1利用操作処理がなされているときに前記第1操作量と前記第2操作量算出処理によって算出された前記第2操作量との乖離に基づき前記第1処理回路の異常の有無を判定する判定処理と、を実行する上記1~3のいずれか1つに記載のモータの制御システムである。
【0012】
上記構成では、補正処理によって、第1処理回路および第2処理回路の双方とも基準角度を高精度に把握しつつ転舵角を指令値に制御できるものの、ロータのゆがみ等に起因して、モータの任意の回転角度と基準角度との相対角度を、第1処理回路と第2処理回路とが互いに等しい値に把握するとは限らない。そして、第1処理回路が把握する角度と第2処理回路が把握する角度とが異なる場合には、第1補正処理によって補正された第1換算可能角度と目標角度との差と第2補正処理によって補正された第2換算可能角度と目標角度との差が相違する。そしてその場合、第2処理回路が、独自に算出した操作量に基づき転舵角の制御を行う場合、第1処理回路による制御と第2処理回路による制御とが整合しないおそれがある。これに対し上記構成では、第2処理回路が第1操作量に基づき転舵角を制御することにより、制御を整合させることができる。
【0013】
また、第2操作量を第2補正処理によって補正された第2換算可能角度と目標角度との差に基づく積分要素の出力に基づき算出する場合、第1操作量と第2操作量との乖離が大きくなるおそれがある。これに対し、第2操作量を積分要素によらずに算出することにより、制御が正常であるなら第1操作量と第2操作量との差が大きくなることを抑制でき、ひいては判定処理によって制御が正常であるか否かを監視できる。
【0014】
5.前記第2処理回路は、前記判定処理によって前記第1処理回路に異常があると判定される場合、前記第1利用操作処理を停止し、前記第2操作量に基づき前記第2駆動回路を操作する第2利用操作処理を実行する上記4記載のモータの制御システムである。
【0015】
上記構成では、制御に異常がある場合、第2操作量に基づき第2処理回路が第2駆動回路を操作することにより、転舵角の制御性の低下を抑制できる。
6.上記1~5のいずれか1つに記載の前記第1処理回路および前記第2処理回路を備えるモータ制御装置である。
【図面の簡単な説明】
【0016】
【
図1】一実施形態にかかる制御システムおよびモータを示す図。
【
図2】同実施形態にかかる制御装置が実行する処理の一部を示す図。
【
図3】(a)および(b)は、制御装置が実行する処理の手順を示す流れ図。
【
図4】(a)および(b)は、制御システムが実行する処理の手順を示す流れ図。
【発明を実施するための形態】
【0017】
以下、モータの制御システムにかかる一実施形態について図面を参照しつつ説明する。
図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系統の回路とを備えている。
【0018】
詳しくは、制御装置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を介して通信可能となっている。
【0019】
以下では、第1系統と第2系統とを総括して記載する場合、「1」または「2」の値をとりうる「k」を用い、たとえば「第kステータコイル14(k)には第kインバータ14(k)が接続されている」等と記載することとする。
【0020】
上記第kマイコン30(k)は、第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)の各レッグに接続されたシャント抵抗の電圧降下として検出すればよい。
【0021】
第kマイコン30(k)には、CPU32(k)、ROM34(k)、電気的に書き換え可能な不揮発性メモリである記憶装置36(k)、および周辺回路38(k)等が備えられ、それらがローカルネットワーク39(k)を介して互いに通信可能とされている。ここで、周辺回路38(k)は、外部クロック信号に基づき内部の動作を規定するクロック信号を生成する回路や、電源回路、リセット回路等を含む。
【0022】
制御装置20は、通信線50を介して外部の上位ECU60と通信可能となっており、上位ECU60から出力される目標角度θp*が第1マイコン30(1)および第2マイコン30(2)に入力される。目標角度θp*は、転舵輪の転舵角(タイヤ切れ角)に換算可能な換算可能角度の目標値であり、本実施形態では、ステアリングシャフトの回転角度の目標値とされている。詳しくは、本実施形態にかかる目標角度θp*は、車両を直進させる角度である直進角度を基準角度として、基準角度において値「0」となり、右旋回側の値と左旋回側の値とで互いに異なる符号を有する。なお、上位ECU60や、第kマイコン30(k)、第kインバータ22(k)には、バッテリ52の端子電圧が印加されている。詳しくは、第kマイコン30(k)には、リレー24(k)を介してバッテリ52の電圧が印加されている。また、第kインバータ22(k)と第kステータコイル14(k)との間には、リレー26(k)が設けられている。
【0023】
上位ECU60は、CPU62、ROM64、および周辺回路66を備えており、それらがローカルネットワーク68を介して通信可能とされている。上位ECU60は、目標角度θp*の出力のために、ヨーレートセンサ70によって検出されるヨーレートγ、横加速度センサ72によって検出される横加速度ay等の各種センサ値を参照する。また、上位ECU60には、運転者が自動運転を指示する自動運転スイッチ74の操作状態信号が入力される。
【0024】
図2に、第1マイコン30(1)および第2マイコン30(2)が実行する処理のうち、特に自動運転がなされる場合の処理を示す。
図2に示す処理は、ROM34(k)に記憶されたプログラムをCPU32(k)が実行することにより実現される。なお、以下では、第1マイコン30(1)および第2マイコン30(2)のそれぞれが実行する処理を総括する場合、「k」を用いて記載する。
【0025】
積算処理M10(k)は、回転角度θm(k)を積算する処理である。換算処理M12(k)は、積算処理M10(k)の出力に所定の係数Kを乗算することによって、同出力を、ステアリングシャフトの回転角度θp(k)に換算する処理である。
【0026】
フィードバック操作量算出処理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および積分処理M28によって積分要素が構成されている。微分ゲイン乗算処理M30(k)は、上記差に微分ゲインKdを乗算する処理であり、微分処理M32(k)は、微分ゲイン乗算処理M30(k)の出力の微分演算をする処理であり、微分ゲイン乗算処理M30および微分処理M32によって微分要素が構成されている。加算処理M34(k)は、比例要素M24(k)、積分処理M28(k)および微分処理M32(k)の各出力値の和を算出して、フィードバック操作量MFB(k)として出力する処理である。
【0027】
フィードフォワード操作量算出処理M40(k)は、目標角度θp*に制御するための操作量であるフィードフォワード操作量MFF(k)を算出する処理である。詳しくは、フィードフォワード操作量算出処理M40(k)は、目標角度θp*の絶対値が大きい場合に小さい場合よりもフィードフォワード操作量MFF(k)の絶対値を大きい値とする処理である。これは、たとえば目標角度θp*を入力変数とし、フィードフォワード操作量MFF(k)を出力変数とするマップデータが予めROM34(k)に記憶された状態で、CPU32(k)によりフィードフォワード操作量MFF(k)をマップ演算することにより実現できる。ここで、マップデータとは、入力変数の離散的な値と、入力変数の値のそれぞれに対応する出力変数の値と、の組データである。またマップ演算は、たとえば、入力変数の値がマップデータの入力変数の値のいずれかに一致する場合、対応するマップデータの出力変数の値を演算結果とし、一致しない場合、マップデータに含まれる複数の出力変数の値の補間によって得られる値を演算結果とする処理とすればよい。
【0028】
加算処理M42(k)は、フィードバック操作量MFB(k)とフィードフォワード操作量MFF(k)とを加算して、第k操作量MV(k)を算出する処理である。なお、第k操作量MV(k)は、q軸の電流指令値である。
【0029】
第1操作信号生成処理M44(1)は、第1ステータコイル14(1)を流れるq軸電流が第1操作量MV(1)の「1/2」となるように、第1インバータ22(1)の操作信号MS(1)を算出して出力する処理である。
【0030】
選択処理M50は、第1操作量MV(1)と第2操作量MV(2)との2つの操作量のうちのいずれか1つを選択的に第2操作信号生成処理M44(2)に出力する処理である。
【0031】
第2操作信号生成処理M44(2)は、原則、第2ステータコイル14(2)を流れるq軸電流が選択処理M50の出力の「1/2」となるように、第2インバータ22(2)の操作信号MS(2)を算出して出力する処理である。
【0032】
本実施形態では、
図2の処理を基本としつつ、
図3に示す処理を実行することにより、適宜、
図2の処理を変更する。
図3(a)は、ROM34(1)に記憶されたプログラムをCPU32(1)がたとえば所定周期で繰り返し実行することにより実現される処理である。
図3(b)は、ROM34(2)に記憶されたプログラムをCPU32(2)がたとえば所定周期で繰り返し実行することにより実現される処理である。以下、先頭に「S」が付与された数字によって、各処理のステップ番号を表現する。なお、以下では、いくつかのシチュエーション別に、
図3の処理を説明する。
【0033】
ケース1.正常時
図3(a)に示す一連の処理において、CPU32(1)は、まず第1マイコン30(1)と第2マイコン30(2)との間の通信が正常であるか否かを判定する(S10)。ここでは、たとえば通信線42を介して第1マイコン30(1)および第2マイコン30(2)で周期的に決まったデータのやり取りをすることとし、そのデータのやり取りができない場合に、異常と判定すればよい。
【0034】
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)の履歴等に基づき判定すればよい。
【0035】
CPU32(1)は、第1ステータコイル14(1)に流れる電流を制御することが可能であると判定する場合(S12:NO)、第1操作量MV(1)を通信線42を介して第2マイコン30(2)に出力する(S14)。なお、CPU32(1)は、S14の処理を完了する場合、
図3(a)に示す一連の処理を一旦終了する。
【0036】
一方、
図3(b)に示すように、CPU32(2)は、第1マイコン30(1)による第1ステータコイル14(1)を流れる電流の制御が停止しているか否かを判定する(S20)。CPU32(2)は、第1マイコン30(1)が動作している場合(S20:NO)、積分処理M28(2)を停止させる(S22)。詳しくは、積分処理M28(2)が保持する値を初期値である「0」に固定する。これにより、フィードバック操作量MFB(2)は、比例要素M24(2)の出力値および微分処理M32(2)の出力値との和となり、第2操作量MV(2)は、同フィードバック操作量MFB(2)とフィードフォワード操作量MFF(2)との和となる。
【0037】
そしてCPU32(2)は、第1マイコン30(1)と第2マイコン30(2)との間の通信が正常であるか否かを判定する(S24)。そしてCPU32(2)は、正常であると判定する場合(S24:YES)、
図3(a)のS14の処理によって出力された第1操作量MV(1)を取得する(S26)。そしてCPU32(2)は、第1操作量MV(1)と第2操作量MV(2)との差の絶対値が規定値Mth未満であるか否かを判定する(S28)。この処理は、回転角度θp(k)の目標角度θp*への制御が正常になされているか否かを判定する処理である。すなわち、第2操作量MV(2)および第1操作量MV(1)の差は、フィードバック操作量MFB(1),MFB(2)同士の差であるが、それらの差は非常に小さいと考えられる。
【0038】
すなわち、フィードバック操作量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)同士の差の絶対値も小さい。
【0039】
CPU32(2)は、第1操作量MV(1)と第2操作量MV(2)との差の絶対値が規定値Mth未満であると判定する場合(S28:YES)、制御が正常になされていると考えられることから、選択処理M50として、第1操作量MV(1)を採用する(S30)。これにより、第2操作信号生成処理M44(2)によって、第2ステータコイル14(2)に流れるq軸電流が第1操作量MV(1)の「1/2」となるように、第2インバータ22(2)を操作する操作信号MS(2)が生成されて出力される。なお、CPU32(2)は、S30の処理を完了する場合、
図3(b)に示す一連の処理を一旦終了する。
【0040】
ケース2.マイコン間通信正常且つ第1マイコン30(1)の制御異常
この場合、
図3(a)に示すように、CPU32(1)は、S12の処理において肯定判定することから、第1マイコン30(1)による制御ができない旨、通信線42を介して第2マイコン30(2)に通知する(S16)。そしてCPU32(1)は、周辺回路38(1)等を通じて、リレー24(1),26(1)を開状態に切り替える(S18)。なお、CPU32(1)は、S18の処理を完了する場合、
図3(a)に示す一連の処理を一旦終了する。
【0041】
この場合、
図3(b)に示すように、CPU32(2)は、第1マイコン30(1)による第1ステータコイル14(1)を流れる電流の制御が停止したと判定し(S20:YES)、積分処理M28(2)を動作させることにより、積分要素(I項)に基づく第2操作量MV(2)の算出処理を実行する(S32)。
【0042】
そしてCPU32(2)は、選択処理M50として、第2操作量MV(2)を採用する(S34)。なお、この場合、第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)は、S34の処理を完了する場合、
図3(b)に示す一連の処理を一旦終了する。
【0043】
ケース3.マイコン間通信正常且つ、制御に異常が生じている場合
ここでは、
図3(a)のS14の処理がなされる場合を想定している。この場合、
図3(b)に示すS28の処理において、CPU32(2)は、否定判定し、S34の処理に移行する。これにより、第2操作信号生成処理M44(2)によって、第2ステータコイル14(2)に流れるq軸電流が第2操作量MV(2)の「1/2」となるように、第2インバータ22(2)を操作する操作信号MS(2)が生成されて出力される。
【0044】
ケース4.マイコン間通信異常
この場合、
図3(a)に示すように、CPU32(1)は、マイコン間通信に異常が生じていると判定し(S10:NO)、
図3(a)に示す一連の処理を一旦終了する。
【0045】
この場合、CPU32(2)は、
図3(b)に示すS24の処理において否定判定し、S34の処理に移行する。これにより、第2操作信号生成処理M44(2)によって、第2ステータコイル14(2)に流れるq軸電流が第2操作量MV(2)の「1/2」となるように、第2インバータ22(2)を操作する操作信号MS(2)が生成されて出力される。
【0046】
次に、車両が直進走行するときの回転角度θp(k)である基準角度をゼロとするための処理について説明する。
図4に、本実施形態にかかる基準角度の学習処理の手順を示す。
図4(a)に示す処理は、ROM34(k)に記憶されたプログラムをCPU32(k)がたとえば所定周期で繰り返し実行することにより実現される。また、
図4(b)に示す処理は、ROM64に記憶されたプログラムをCPU62がたとえば所定周期で繰り返し実行することにより実現される。
【0047】
図4(a)に示す一連の処理において、CPU32(k)は、まず、目標角度θp*を受信したか否かを判定する(S40)。そしてCPU32(k)は、受信していないと判定する場合(S40:NO)、回転角度θp(k)を通信線50を介して上位ECU60へと出力する(S42)。
【0048】
一方、
図4(b)に示す一連の処理において、CPU62は、まず、フラグFが「1」であるか否かを判定する(S60)。フラグFは、「1」である場合に基準角度の学習が終わり、自動操舵処理を実行してよい旨を示し、「0」である場合にはそうではないことを示す。CPU62は、フラグFが「0」であると判定する場合(S60:NO)、第1マイコン30(1)から回転角度θp(1)を受信するとともに、第2マイコン30(2)から回転角度θp(2)を受信する(S62)。次にCPU62は、車両の走行状態が直進状態であるか否かを判定する(S64)。ここで、CPU62は、ヨーレートγや横加速度ay等に基づき、直進状態か否かを判定する。
【0049】
CPU62は、直進判定をする場合(S64:YES)、S62の処理によって受信した回転角度θp(1)を基準角度θpr0(1)に代入して且つ回転角度θp(2)を基準角度θpr0(2)に代入する(S66)。次にCPU62は、基準角度θpr0(1)を基準角度θpr(1)に代入するとともに基準角度θpr0(2)を基準角度θpr(2)に代入する(S68)。次にCPU62は、基準角度θpr(1)を、通信線50を介して第1マイコン30(1)に出力するとともに、基準角度θpr(2)を、通信線50を介して第2マイコン30(2)に出力する(S70)。
【0050】
これに対し、
図4(a)に示すように、CPU32(k)は、基準角度θpr(k)を受信するまで待機し(S44:NO)、受信すると(S44:YES)、基準角度θpr(k)を記憶装置36(k)に記憶する(S46)。そしてCPU32(k)は、記憶した基準角度θpr(k)と同一の値を、通信線50を介して上位ECU60に出力する(S48)。
【0051】
これに対し、
図4(b)に示すように、CPU62は、基準角度θpr(1),θpr(2)を受信するまで待機する(S72:NO)。そしてCPU62は、受信すると(S72:YES)、受信した基準角度θpr(1)が基準角度θpr0(1)に一致することと受信した基準角度θpr(2)が基準角度θpr0(2)に一致することとの論理積が真であるか否かを判定する(S74)。そしてCPU62は、論理積が真であると判定する場合(S74:YES)、フラグFに「1」を代入する(S76)。
【0052】
これにより、CPU62は、フラグFが「1」であると判定する場合(S60:YES)、自動運転スイッチ74の操作状態に基づき、自動運転要求があるか否かを判定する(S78)。そしてCPU62は、自動運転要求があると判定する場合(S78:YES)、目標角度θp*を算出し、通信線50を介して第1マイコン30(1)および第2マイコン30(2)に出力する(S80)。ここで、第1マイコン30(1)に出力する目標角度θp*と第2マイコン30(2)に出力する目標角度θp*とは同一の角度である。
【0053】
これに対し、
図4(a)に示すように、CPU32(k)は、目標角度θp*を受信すると(S40:YES)、記憶装置36(k)に記憶されている基準角度θpr(k)を読み出す(S50)。そしてCPU32(k)は、回転角度θp(k)から基準角度θpr(k)を減算した値を、フィードバック操作量算出処理M20(k)の入力となる回転角度θp(k)に代入する(S52)。
【0054】
なお、CPU32(k)は、S48,S52の処理が完了する場合や、S44の処理において否定判定する場合には、
図4(a)に示す一連の処理を一旦終了する。一方、CPU62は、S76,S80の処理が完了する場合や、S64,S72,S74,S78の処理において否定判定する場合には、
図4(b)に示す一連の処理を一旦終了する。
【0055】
ここで、本実施形態の作用および効果について説明する。
CPU32(k)は、基準角度θpr(k)の学習前において都度算出される回転角度θp(k)を上位ECU60に逐次出力する。CPU62は、車両が直進走行している場合、第kマイコン30(k)から出力された回転角度θp(k)が基準角度に対応すると判断し、基準角度θpr(k)、θpr0(k)に回転角度θp(k)を代入する。そしてCPU62は、基準角度θpr(k)を第kマイコン30(k)に出力する。これにより、第kマイコン30(1)において基準角度θpr(1)を把握できるとともに、第2マイコン30(2)において基準角度θpr(2)を把握できる。このように、第1マイコン30(1)と第2マイコン30(2)とが、各別に基準角度を把握できることから、第1マイコン30(1)が制御に利用する角度と第2マイコン30(2)が制御に利用する角度との差を低減できる。
【0056】
以上説明した本実施形態によれば、さらに以下に記載する作用効果が得られる。
(1)CPU32(k)は、基準角度θpr(k)を受信すると、これを上位ECU60に出力した。そして、CPU62は、第1マイコン30(1)が出力した基準角度θpr(k)と基準角度θpr0(1)とが等しく且つ、第2マイコン30(2)が出力した基準角度θpr(k)と基準角度θpr0(2)とが等しい場合に、自動操舵を許可した。これにより、第1マイコン30(1)、第2マイコン30(2)がそれぞれ正しい角度を把握していることが確認できた後に自動操舵を行うことができる。
【0057】
(2)正常時、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)とする場合と比較すると、転舵輪の転舵角の制御に干渉が生じることを抑制できる。
【0058】
すなわち、CPU32(1)によってS52の処理によって補正された回転角度θp(1)が目標角度θp*に制御されることにより、S80の処理によって出力される目標角度θp*が基準角度である場合、CPU32(1)は、実際の角度を基準角度に制御する。また、CPU32(2)によってS52の処理によって補正された回転角度θp(2)が目標角度θp*に制御されることにより、S80の処理によって出力される目標角度θp*が基準角度である場合、CPU32(2)は、実際の角度を基準角度に制御する。したがって、S80の処理によって出力される目標角度θp*が基準角度である場合、CPU32(1)とCPU32(2)とは、転舵角を基準角度に制御する。ただし、目標角度θp*が基準角度または基準角度から所定角度の整数倍だけ離間した角度である場合以外では、ロータ12のゆがみに起因して、CPU32(1)とCPU32(2)とで、転舵角を互いに異なる角度に制御しようとするおそれがある。これは、目標角度θp*が基準角度等ではない場合、CPU32(1)によってS52の処理によって補正された回転角度θp(1)に対応する実際の転舵角と、CPU32(2)によってS52の処理によって補正された回転角度θp(2)に対応する実際の転舵角とが、ロータ12のゆがみに起因して異なるおそれがあるためである。ここで、積分処理M28(1)の出力値は、CPU32(1)によるS52の処理によって補正された回転角度θp(1)と目標角度θp*との定常偏差を解消するための値となり、積分処理M28(2)の出力値は、CPU32(2)によるS52の処理によって補正された回転角度θp(2)と目標角度θp*との定常偏差を解消するための値となる。そのため、CPU32(1)によってS52の処理によって補正された回転角度θp(1)に対応する実際の転舵角と、CPU32(2)によってS52の処理によって補正された回転角度θp(2)に対応する実際の転舵角とが異なる場合、制御に干渉が生じる。
【0059】
(3)第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)の出力値が、互いに異なる定常偏差を解消する値となることによる制御の干渉を回避できる。
【0060】
(4)第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)の出力値が、互いに異なる定常偏差を解消する値となることによる制御の干渉を回避できる。
【0061】
<対応関係>
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。[1,6]変数kを「1」または「2」として、第k駆動回路は、第kインバータ22(k)に対応し、第k処理回路は、第kマイコン30(k)に対応する。指令回路は、上位ECU60に対応する。検知処理は、S64の処理に対応し、第1通知処理は、S70の処理のうち基準角度θpr(1)を出力する処理に対応し、第2通知処理は、S70の処理のうち基準角度θpr(2)を出力する処理に対応する。第1補正処理は、S52の処理のうちの基準角度θpr(1)にて補正する処理に対応し、第2補正処理は、S52の処理のうちの基準角度θpr(2)にて補正する処理に対応する。[2,3]第1出力処理は、CPU32(1)によるS42の処理に対応し、第1照合用処理は、CPU32(1)によるS48の処理に対応する。第2出力処理は、CPU32(2)によるS42の処理に対応し、第2照合用処理は、CPU32(2)によるS48の処理に対応する。第1照合処理は、S74の処理において、基準角度θpr0(1)と基準角度θpr(1)とが一致するか否かを判定する処理に対応する。第2照合処理は、S74の処理において、基準角度θpr0(2)と基準角度θpr(2)とが一致するか否かを判定する処理に対応する。[4]第k操作量算出処理は、フィードバック操作量算出処理M20(k)、フィードフォワード操作量算出処理M40(k)および加算処理M42(k)に対応する。操作量出力処理は、S14の処理に対応する。第1利用操作処理は、S30の処理がなされたときにおける第2操作信号生成処理M44(2)に対応する。判定処理は、S28の処理に対応する。[5]第2利用操作処理は、S34の処理がなされたときにおける第2操作信号生成処理M44(2)に対応する。
【0062】
<その他の実施形態>
なお、上記実施形態の各事項の少なくとも1つを、以下のように変更してもよい。
・「第k通知処理について」
上記実施形態では、基準角度θpr(k)を第kマイコン30(k)に出力したが、これに限らない。たとえば、S64の処理において肯定判定する場合、その旨の信号を第k結果信号として第kマイコン30(k)に出力してもよい。その場合、第kマイコン30(k)では、第k結果信号を受信した時点の回転角度θp(k)を基準角度θpr(k)に代入すればよい。ただし、その場合であっても、CPU62がS68の処理を実行して且つ、CPU32(k)が第k結果信号を受信した時点の回転角度θp(k)を基準角度θpr(k)に代入した後、この値をS48の処理によって出力することが望ましい。これにより、S74の処理を実行することが可能となる。
【0063】
・「第k出力処理について」
S42の処理において、回転角度θp(k)とともに、その回転角度θp(k)を検知した際の時刻を示すタイムスタンプを出力してもよい。これにより、S64の処理において直進判定されたタイミングに一致する回転角度θp(k)をCPU62においてより高精度に把握できる。
【0064】
・「第k補正処理について」
上記実施形態では、フィードバック操作量算出処理M20(k)の入力となる回転角度θp(k)を補正したが、これに限らず、たとえばフィードバック操作量算出処理M20(k)の入力となる目標角度θp*を補正してもよい。この場合であっても、S80の処理によって出力された目標角度θp*と換算処理M12(k)の出力する回転角度θp(k)との相対角度を補正することができる。もっとも、補正対象としては、フィードバック操作量算出処理M20(k)の入力に限らない。たとえば、フィードフォワード操作量MFF(k)を回転角度θp(k)に基づき算出する場合、フィードフォワード操作量算出処理M40(k)の入力となる回転角度θp(k)についても補正対象とすればよい。
【0065】
・「第k操作量算出処理について」
(a)フィードバック操作量MFB(k)について
たとえば積分ゲインKiを可変としない場合等には、積分要素を、積分処理M28(k)の出力値に積分ゲイン乗算処理M26(k)によって積分ゲインKiを乗算する処理としてもよい。
【0066】
フィードバック操作量MFBとしては、比例要素M24(k)、積分要素および微分要素の各出力値の和に限らない。たとえば、比例要素および積分要素の2つの出力値の和であってもよく、またたとえば積分要素および微分要素の2つの出力値の和であってもよく、またたとえば積分要素の出力値としてもよい。
【0067】
(b)フィードフォワード操作量MFF(k)について
換算可能角度(目標角度θp*等)に基づくフィードフォワード操作量MFF(k)としては、換算可能角度のみからフィードフォワード操作量MFF(k)を算出するものに限らない。たとえば、車速に応じてフィードフォワード操作量MFF(k)を可変としてもよい。またたとえば、換算可能角度の2階時間微分値に比例係数を乗算した値をさらに加えてもよい。
【0068】
(c)そのほか
フィードフォワード操作量MFF(k)に基づき第k操作量MV(k)を算出することは必須ではない。
【0069】
・「換算可能角度について」
上記実施形態では、換算可能角度をステアリングシャフトの角度としたが、これに限らず、たとえばタイヤの切れ角である転舵角自体としてもよい。
【0070】
・「処理回路について」
上記実施形態では、処理回路を構成するプログラム格納装置として、ROMを例示し、ROMがいかなるタイプのものであるかについては触れていなかったが、たとえば書き換え不能なメモリであってもよく、またたとえば、電気的に書き換え可能な不揮発性メモリであってもよい。さらに、プログラム格納装置としては、ROMに限らない。
【0071】
処理回路としては、プログラムを格納したプログラム格納装置とプログラムを実行するCPUとを備えたソフトウェア処理回路に限らず、たとえばASIC等の、所定の処理を実行する専用のハードウェア回路であってもよい。
【0072】
また、処理回路としては、ソフトウェア処理回路と、専用のハードウェア回路とのうちのいずれか一方によって構成されるものに限らず、上記処理の一部をソフトウェア処理回路によって実行し、残りの処理を専用のハードウェア回路によって実行するものであってもよい。
【0073】
・「制御装置について」
上記実施形態では、第1および第2の2つの系統を有する装置を例示したが、これに限らない。たとえばさらに第3の系統を備える等、ステータコイル、駆動回路および処理回路を3つ以上ずつ備えるものとしてもよい。ただし、その場合、いずれか1つをメインとし残りをサブとすることが望ましい。
【0074】
・「モータおよび駆動回路について」
モータとしては、SPMSMに限らず、埋込磁石同期電動機(IPMSM)であってもよい。なお、IPMSMの場合、第k操作量MV(k)をトルク指令値とし、第k操作信号生成処理M44(k)において、トルク指令値をd軸の電流指令値とq軸の電流指令値とに変換することが望ましい。また、モータとしては、同期電動機に限らず、誘導機であってもよい。さらに、ブラシレス電動機に限らず、ブラシ付き直流モータであってもよい。
【0075】
上記実施形態では、駆動回路として3相インバータを例示したが、これに限らない。たとえばモータとして直流モータを用いる場合、駆動回路としてHブリッジ回路を用いてもよい。
【0076】
・「そのほか」
リレー26(1),26(2)を備えることや、S18の処理において、リレー26(1)をオフすることは必須ではない。また、S18の処理において、リレー26(1)をオフとしつつも、リレー24(1)をオフとしないこととしてもよい。
【符号の説明】
【0077】
10…モータ、12…ロータ、14(1)…第1ステータコイル、14(2)…第2ステータコイル、20…制御装置、22(1)…第1インバータ、22(2)…第2インバータ、24(1),24(2)…リレー、30(1)…第1マイコン、30(2)…第2マイコン、32(1),32(2)…CPU、34(1),34(9)…ROM、36(1),36(2)…記憶装置、38(1),38(2)…周辺回路、39…ローカルネットワーク、40(1)…第1角度センサ、40(2)…第2角度センサ、42,50…通信線、52…バッテリ、60…上位ECU、62…CPU、64…ROM、66…周辺回路、68…ローカルネットワーク、70…ヨーレートセンサ、72…横加速度センサ、74…自動運転スイッチ。