IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ジェイテクトの特許一覧

<>
  • 特許-操舵制御装置 図1
  • 特許-操舵制御装置 図2
  • 特許-操舵制御装置 図3
  • 特許-操舵制御装置 図4
  • 特許-操舵制御装置 図5
  • 特許-操舵制御装置 図6
  • 特許-操舵制御装置 図7
  • 特許-操舵制御装置 図8
  • 特許-操舵制御装置 図9
  • 特許-操舵制御装置 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-25
(45)【発行日】2023-10-03
(54)【発明の名称】操舵制御装置
(51)【国際特許分類】
   H02P 25/22 20060101AFI20230926BHJP
   B62D 5/04 20060101ALI20230926BHJP
【FI】
H02P25/22
B62D5/04
【請求項の数】 3
(21)【出願番号】P 2019196274
(22)【出願日】2019-10-29
(65)【公開番号】P2020096512
(43)【公開日】2020-06-18
【審査請求日】2022-09-15
(31)【優先権主張番号】P 2018226545
(32)【優先日】2018-12-03
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000001247
【氏名又は名称】株式会社ジェイテクト
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】河村 洋
(72)【発明者】
【氏名】藤田 祐志
【審査官】島倉 理
(56)【参考文献】
【文献】特開2018-139480(JP,A)
【文献】特開2018-130007(JP,A)
【文献】特開2010-143458(JP,A)
【文献】特開2018-129996(JP,A)
【文献】特開2018-78765(JP,A)
【文献】特開2013-162536(JP,A)
【文献】再公表特許第2018/51550(JP,A1)
【文献】再公表特許第2017/122329(JP,A1)
【文献】特開2008-289259(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 25/22
B62D 5/04
(57)【特許請求の範囲】
【請求項1】
操舵機構に対してトルクを付与するモータの駆動を制御する複数の制御系統を備えており、前記複数の制御系統は、第1コイルが設けられるとともに前記第1コイルに対する給電を制御する第1制御系統と第2コイルが設けられるとともに前記第2コイルに対する給電を制御する第2制御系統とを含む操舵制御装置において、
前記第1制御系統は、第1発振器から入力された第1クロックに基づいて前記第1制御系統の各部の処理タイミングを規定するためのクロックを生成する第1クロック生成部と、前記第1コイルに対する給電を制御するための第1指令値及び前記第2コイルに対する給電を制御するための第2指令値を演算する第1指令値演算部と、前記第1コイルに供給される第1実電流値を前記第1指令値に追従させる第1フィードバック制御部とを有し、
前記第2制御系統は、前記第1発振器と異なる第2発振器から入力された第2クロックに基づいて前記第2制御系統の各部の処理タイミングを規定するためのクロックを生成する第2クロック生成部と、前記第1指令値及び前記第2指令値を演算する第2指令値演算部と、前記第2コイルに供給される第2実電流値を前記第2指令値に追従させる第2フィードバック制御部とを有し、
前記第1制御系統の前記第1指令値演算部は、前記第2フィードバック制御部に対して演算した前記第2指令値を送信し、前記第2制御系統の前記第2指令値演算部は、前記第1フィードバック制御部に対して演算した前記第1指令値を送信することで、前記第1制御系統と前記第2制御系統との間で前記第1指令値及び前記第2指令値を互いに通信しており、
前記第1フィードバック制御部は、前記第1指令値演算部により演算された前記第1指令値あるいは前記第2指令値演算部により演算された前記第1指令値を用いてフィードバック制御を実行し、前記第2フィードバック制御部は、前記第1指令値演算部により演算された前記第2指令値あるいは前記第2指令値演算部により演算された前記第2指令値を用いてフィードバック制御を実行し、
前記第1制御系統と前記第2制御系統との間の通信の周期は、前記第1指令値演算部及び前記第2指令値演算部による前記第1指令値及び前記第2指令値の演算周期以下の周期に設定されている操舵制御装置。
【請求項2】
前記第1制御系統と前記第2制御系統との間の通信の周期は、前記第1指令値演算部及び前記第2指令値演算部による前記第1指令値及び前記第2指令値の演算周期よりも短い周期で行われる前記第1フィードバック制御部及び前記第2フィードバック制御部によるフィードバック制御の周期以下の周期に設定されている請求項1に記載の操舵制御装置。
【請求項3】
前記第1制御系統は、
前記第1フィードバック制御部からの出力値である第1デューティ指令値に基づいて、第1PWM信号を生成する第1モータ駆動指令値生成部と、
前記第1モータ駆動指令値生成部からの出力値である前記第1PWM信号に基づいて、前記第1コイルに対する給電を実行する第1駆動回路とを有し、
前記第2制御系統は、
前記第2フィードバック制御部からの出力値である第2デューティ指令値に基づいて、第2PWM信号を生成する第2モータ駆動指令値生成部と、
前記第2モータ駆動指令値生成部からの出力値である前記第2PWM信号に基づいて、前記第2コイルに対する給電を実行する第2駆動回路とを有し、
前記第1制御系統と前記第2制御系統との間の通信の周期は、前記第1フィードバック制御部及び前記第2フィードバック制御部によるフィードバック制御の周期よりも短い周期で行われる前記第1PWM信号及び前記第2PWM信号の更新周期以下の周期に設定されている請求項2に記載の操舵制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、操舵制御装置に関する。
【背景技術】
【0002】
従来、車両の操舵機構にモータの駆動力を付与することにより、運転者のステアリング操作をアシストするステアリング装置が知られている。このようなステアリング装置には、モータの動作を制御する電子制御装置(ECU)が搭載されている。例えば、特許文献1に示すように、モータの駆動を制御する系統を複数系統で構成するものがあり、この場合、各系統に対応するコイルがそれぞれ設けられるとともに、コイルに対する給電を制御する制御系統も各系統に対応してそれぞれ設けられる。各制御系統は、モータの駆動を制御するための電流指令値を演算する電流指令値演算部及びコイルに供給される実電流値を電流指令値に追従させるフィードバック制御部を有するマイコンをそれぞれ備えている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2011-195089号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
例えば、一方の制御系統のマイコンの電流指令値演算部は、演算した電流指令値を一方の制御系統のマイコンのフィードバック制御部に対して送信する。また、一方の制御系統のマイコンの電流指令値演算部は、一方の制御系統のマイコンと他方の制御系統のマイコンとの間の通信により、演算した電流指令値を他方の制御系統のマイコンのフィードバック制御部に対して送信する。また、他方の制御系統のマイコンの電流指令値演算部は、演算した電流指令値を他方の制御系統のマイコンのフィードバック制御部に対して送信する。また、他方の制御系統のマイコンの電流指令値演算部は、一方の制御系統のマイコンと他方の制御系統のマイコンとの間の通信により、演算した電流指令値を一方の制御系統のマイコンのフィードバック制御部に対して送信する。一方の制御系統のマイコンのフィードバック制御部及び他方の制御系統のマイコンのフィードバック制御部は、一方の制御系統のマイコンの電流指令値演算部で演算された電流指令値あるいは他方の制御系統のマイコンの電流指令値演算部で演算された電流指令値のいずれかを用いてフィードバック制御を実行する。
【0005】
各制御系統には、クロックを生成する発振器をそれぞれ備えるものがある。発振器からのクロックの周波数、すなわちクロックの周期は、発振器の個体ごとにばらつくことから、一方の制御系統の発振器のクロックの周期と、他方の制御系統の発振器のクロックの周期とは異なることがある。この場合、各制御系統の各部はクロックの周期を用いて時間を規定していることから、一方の制御系統が規定した時間と他方の制御系統が規定した時間とは異なることになる。そして、各制御系統の各部はクロックの周期を用いて処理タイミングを規定していることから、一方の制御系統の各部の処理タイミングと他方の制御系統の各部の処理タイミングとのずれは経時的に変化するおそれがある。この経時的な処理タイミングのずれの変化は、所定周期で繰り返されている。例えば、一方の制御系統で演算した電流指令値が他方の制御系統に対して送信されたとしても、発振器のクロックのばらつきに起因して他方の制御系統の電流指令値の受信タイミングが一方の制御系統の指令値の送信タイミングから遅れている場合には、他方の制御系統のマイコンは一方の制御系統のマイコンによって今回の演算周期で演算された電流指令値を把握することができない。そして、他方の制御系統のマイコンのフィードバック制御部は、たとえ一方の制御系統のマイコンの電流指令値演算部で今回の演算周期の電流指令値が演算されたとしても、一方の制御系統のマイコンと他方の制御系統との間で通信が確立されるまでは、前回の通信が確立した際に受け取った電流指令値を用いてフィードバック制御を行うことになる。前回の通信が確立した際に受け取った電流指令値は、今回の演算周期の電流指令値よりも過去の演算周期において演算された電流指令値である。この場合、一方の制御系統のマイコンと他方の制御系統のマイコンとの間で通信が行われた直後に、一方の制御系統のマイコンの電流指令値演算部が今回の電流指令値を演算した場合には、最大で通信の周期と同程度の間、他方の制御系統のマイコンのフィードバック制御部は前回の通信が確立した際に受け取った電流指令値を用いてフィードバック制御をすることになる。このように、他方の制御系統のマイコンのフィードバック制御部は、前回の通信が確立した際に受け取った電流指令値を用いてフィードバック制御をすることになることから、モータのコイルに対してより最適な給電を行うことができないおそれがある。この場合、トルクリップルが生じるおそれがある。
【0006】
本発明の目的は、各制御系統がより最適な指令値を用いてモータの駆動を制御することができる操舵制御装置を提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成しうる操舵制御装置は、操舵機構に対してトルクを付与するモータの駆動を制御する複数の制御系統を備えており、前記複数の制御系統は、第1コイルが設けられるとともに前記第1コイルに対する給電を制御する第1制御系統と第2コイルが設けられるとともに前記第2コイルに対する給電を制御する第2制御系統とを含む操舵制御装置において、前記第1制御系統は、第1発振器から入力された第1クロックに基づいて前記第1制御系統の各部の処理タイミングを規定するためのクロックを生成する第1クロック生成部と、前記第1コイルに対する給電を制御するための第1指令値及び前記第2コイルに対する給電を制御するための第2指令値を演算する第1指令値演算部と、前記第1コイルに供給される第1実電流値を前記第1指令値に追従させる第1フィードバック制御部とを有し、前記第2制御系統は、前記第1発振器と異なる第2発振器から入力された第2クロックに基づいて前記第2制御系統の各部の処理タイミングを規定するためのクロックを生成する第2クロック生成部と、前記第1指令値及び前記第2指令値を演算する第2指令値演算部と、前記第2コイルに供給される第2実電流値を前記第2指令値に追従させる第2フィードバック制御部とを有し、前記第1制御系統の前記第1指令値演算部は、前記第2フィードバック制御部に対して演算した前記第2指令値を送信し、前記第2制御系統の前記第2指令値演算部は、前記第1フィードバック制御部に対して演算した前記第1指令値を送信することで、前記第1制御系統と前記第2制御系統との間で前記第1指令値及び前記第2指令値を互いに通信しており、前記第1フィードバック制御部は、前記第1指令値演算部により演算された前記第1指令値あるいは前記第2指令値演算部により演算された前記第1指令値を用いてフィードバック制御を実行し、前記第2フィードバック制御部は、前記第1指令値演算部により演算された前記第2指令値あるいは前記第2指令値演算部により演算された前記第2指令値を用いてフィードバック制御を実行し、前記第1制御系統と前記第2制御系統との間の通信の周期は、前記第1指令値演算部及び前記第2指令値演算部による前記第1指令値及び前記第2指令値の演算周期以下の周期に設定されている。
【0008】
上記構成によれば、第1制御系統と第2制御系統との間の通信の周期を、第1指令値演算部及び第2指令値演算部による第1指令値及び第2指令値の演算周期以下の周期に設定している。このことから、発振器からのクロックの周期のばらつきによって、第1制御系統と第2制御系統との間の通信が行われた直後に第1指令値演算部が第2指令値を演算したとしても、通信の周期を指令値の演算周期以下の周期にしていることから、第2制御系統が今回の演算周期で演算された第2指令値を把握できない期間を短くすることができる。これにより、第2フィードバック制御部が前回の通信が確立した際に受け取った過去の演算周期で演算された第2指令値を用いてフィードバック制御する期間を短くすることができる。また、第1制御系統と第2制御系統との間で通信が行われた直後に第2指令値演算部が第1指令値を演算したとしても、通信の演算周期を指令値の演算周期以下の周期にしていることから、第1制御系統が今回の演算周期で演算された第1指令値を把握できない期間を短くすることができる。このため、第1フィードバック制御部及び第2フィードバック制御部が今回の演算周期で演算された指令値よりも過去の演算周期の指令値でフィードバック制御をする期間を短くすることができる。すなわち、第1フィードバック制御部の処理タイミングと第2フィードバック制御部の処理タイミングとのずれを抑制することができる。これにより、トルクリップルが生じることを抑えることができる。このようにすることで、各制御系統がより最適な演算周期の指令値を用いてモータの駆動を制御することができるようになる。
【0009】
上記の操舵制御装置において、前記第1制御系統と前記第2制御系統との間の通信の周期は、前記第1指令値演算部及び前記第2指令値演算部による前記第1指令値及び前記第2指令値の演算周期よりも短い周期で行われる前記第1フィードバック制御部及び前記第2フィードバック制御部によるフィードバック制御の周期以下の周期に設定されていることが好ましい。
【0010】
上記構成のように通信の周期を、第1指令値及び第2指令値の演算周期よりもさらに短い周期であるフィードバック制御の周期以下に設定している。これにより、第1フィードバック制御部及び第2フィードバック制御部が新たに演算された指令値よりも過去の演算周期の指令値でフィードバック制御をする期間をさらに短くすることができる。
【0011】
上記の操舵制御装置において、前記第1制御系統は、前記第1フィードバック制御部からの出力値である第1デューティ指令値に基づいて、第1PWM信号を生成する第1モータ駆動指令値生成部と、前記第1モータ駆動指令値生成部からの出力値である前記第1PWM信号に基づいて、前記第1コイルに対する給電を実行する第1駆動回路とを有し、前記第2制御系統は、前記第2フィードバック制御部からの出力値である第2デューティ指令値に基づいて、第2PWM信号を生成する第2モータ駆動指令値生成部と、前記第2モータ駆動指令値生成部からの出力値である前記第2PWM信号に基づいて、前記第2コイルに対する給電を実行する第2駆動回路とを有し、前記第1制御系統と前記第2制御系統との間の通信の周期は、前記第1フィードバック制御部及び前記第2フィードバック制御部によるフィードバック制御の周期よりも短い周期で行われる前記第1PWM信号及び前記第2PWM信号の更新周期以下の周期に設定されていることが好ましい。
【0012】
上記構成のように通信の周期を、フィードバック制御の周期よりもさらに短い周期である第1PWM信号及び第2PWM信号の更新周期以下に設定している。これにより、第1フィードバック制御部及び第2フィードバック制御部が新たに演算された指令値よりも過去の演算周期の指令値でフィードバック制御する期間をさらに短くすることができる。
【発明の効果】
【0013】
本発明の操舵制御装置によれば、各制御系統がより最適な演算周期の指令値を用いてモータの駆動を制御することができる。
【図面の簡単な説明】
【0014】
図1】操舵制御装置を搭載したステアリング装置の概略構成を示す構成図。
図2】操舵制御装置の概略構成を示すブロック図。
図3】第1マイコン及び第2マイコンの概略構成を示すブロック図。
図4】第1電流指令値演算部の概略構成を示すブロック図。
図5】基本電流指令値と操舵トルクとの関係を示すグラフ。
図6】第1電流指令値と第2電流指令値との関係を示すグラフ。
図7】第1制御系統と第2制御系統との間のPWM信号の時間的なずれを示す図。
図8】第1制御系統と第2制御系統との間のクロックのずれを示す図。
図9】比較例において、第1制御系統の各部の処理タイミングと第2制御系統の各部の処理タイミングとを示す図。
図10】第1制御系統の各部の処理タイミングと第2制御系統の各部の処理タイミングとを示す図。
【発明を実施するための形態】
【0015】
操舵制御装置を電動パワーステアリング装置(以下、「EPS」という。)に適用した第1実施形態について説明する。
図1に示すように、EPS1は運転者のステアリングホイール10の操作に基づいて転舵輪15を転舵させる操舵機構2、運転者のステアリング操作を補助するアシスト機構3、及びアシスト機構3を制御する操舵制御装置30を備えている。
【0016】
操舵機構2は、運転者により操作されるステアリングホイール10及びステアリングホイール10と一体回転するステアリング軸11を備えている。ステアリング軸11は、ステアリングホイール10と連結されたコラム軸11a、コラム軸11aの下端部に連結された中間軸11b、及び中間軸11bの下端部に連結されたピニオン軸11cを有している。ピニオン軸11cの下端部は、ラックアンドピニオン機構13を介してラック軸12に連結されている。ステアリング軸11の回転運動は、ラックアンドピニオン機構13を介してラック軸12の軸方向(図1の左右方向)の往復直線運動に変換される。ラック軸12の往復直線運動は、ラック軸12の両端にそれぞれ連結されたタイロッド14を介して左右の転舵輪15にそれぞれ伝達されることにより、転舵輪15の転舵角が変化し、車両の進行方向が変更される。
【0017】
アシスト機構3は、回転軸21を有するモータ20と、減速機構22とを備えている。モータ20は、ステアリング軸11にトルクを付与する。モータ20の回転軸21は、減速機構22を介してコラム軸11aに連結されている。減速機構22はモータ20の回転を減速し、当該減速した回転力をコラム軸11aに伝達する。すなわち、ステアリング軸11にモータ20のトルクが付与されることにより、運転者のステアリング操作が補助される。
【0018】
図2に示すように、モータ20は、その回転軸21を中心に回転するロータ23と、ロータ23の外周に配置されるステータ24とを備えている。ロータ23には、その表面に永久磁石が固定されている。永久磁石は、ロータ23の周方向に異なる極性(N極、S極)が交互に並んで配置されている。こうした永久磁石は、モータ20が回転する際に磁界を形成する。ステータ24には、3相(U相、V相、W相)のコイル25が円環状に配置されている。コイル25は、第1コイル25aと第2コイル25bとを有している。第1コイル25a及び第2コイル25bは、それぞれスター結線されたU相、V相、W相のコイルを含んでいる。モータ20には、モータ20の制御量である電流量を制御することによって、モータ20の駆動を制御する制御ユニットである操舵制御装置30が接続されている。
【0019】
図1に示すように、操舵制御装置30は、車両に設けられた各種のセンサの検出結果に基づいてモータ20を制御する。各種のセンサとしては、例えばトルク検出装置としての第1トルクセンサ40a、第2トルクセンサ40b、回転角センサ41、及び車速センサ42が設けられている。第1トルクセンサ40a及び第2トルクセンサ40bは、コラム軸11aに設けられている。回転角センサ41は、モータ20に設けられている。第1トルクセンサ40aは、運転者のステアリング操作に伴いステアリング軸11に付与される第1操舵トルクτ1を検出する。また、第2トルクセンサ40bは、運転者のステアリング操作に伴いステアリング軸11に付与される第2操舵トルクτ2を検出する。回転角センサ41は、モータ20の回転軸21の回転角度θを検出する。なお、回転角センサ41から第1マイコン32aに対して入力される回転角度θを第1回転角度θ1とする。また、回転角センサ41から第2マイコン32bに対して入力される回転角度θを第2回転角度θ2とする。車速センサ42は、車両の走行速度である車速Vを検出する。操舵制御装置30は、各センサの出力値に基づいて、操舵機構2に対して付与するモータ20の目標となるトルクを設定し、実際のモータ20のトルクが目標のトルクとなるように、モータ20に供給される電流を制御する。
【0020】
図2を参照して操舵制御装置30の機能について説明する。
操舵制御装置30は、第1コイル25aに対する給電を制御する第1制御系統Aと、第2コイル25bに対する給電を制御する第2制御系統Bとを有している。第1実施形態では、例えば、第1制御系統Aにモータ20の駆動に関わる制御を継続できない異常が生じる場合には、第1制御系統Aによるモータ20への給電の制御が停止され、第2制御系統Bのみによってモータ20への給電を制御するフェイルセーフ制御へと移行する。一方、第2制御系統Bにモータ20の駆動に関わる制御を継続できない異常が生じる場合には、第2制御系統Bによるモータ20への給電の制御が停止され、第1制御系統Aのみによってモータ20への給電を制御するフェイルセーフ制御へと移行する。
【0021】
操舵制御装置30の第1制御系統Aは、第1発振器31a、第1マイコン32a、第1電流センサ33a、及び第1駆動回路34aを有している。操舵制御装置30の第2制御系統Bは、第2発振器31b、第2マイコン32b、第2電流センサ33b、及び第2駆動回路34bを有している。また、第1発振器31aと第2発振器31bとは、同一構成である。また、第1マイコン32aと第2マイコン32bとは、同一構成である。また、第1電流センサ33aと第2電流センサ33bとは同一構成である。また、第1駆動回路34aと第2駆動回路34bとは同一構成である。第1実施形態において、同一構成とは、同一の設計思想のなかで同一の機能及び性能を有するものである。
【0022】
第1発振器31aは、基本周波数の第1クロックCLK1を生成する。第1発振器31aとしては、例えば水晶素子等が採用される。第1制御系統Aの各部は、第1クロックCLK1に基づいて、所定の処理タイミングで動作する。
【0023】
第1駆動回路34aは、3相(U相、V相、W相)の駆動回路である。第1駆動回路34aは、直列に接続された2つのスイッチング素子を1組とする3組のアームが、それぞれ直流電源の+端子と-端子との間に並列に接続されてなる。スイッチング素子には、MOS-FET(電界効果トランジスタ:metal-oxide-semiconductor field-effect-transistor)が採用される。第1電流センサ33aは、第1駆動回路34aと第1コイル25aとの間の給電経路を流れる各相(U相、V相、W相)の電流値である第1実電流値I1を検出する。
【0024】
第1マイコン32aは、所定の制御周期毎に、第1トルクセンサ40aにより検出される第1操舵トルクτ1、回転角センサ41により検出される第1回転角度θ1、車速センサ42により検出される車速V、及び第1電流センサ33aにより検出される第1実電流値I1を取得する。第1マイコン32aは、第1操舵トルクτ1、第1回転角度θ1、車速V、及び第1実電流値I1に基づいて、第1PWM信号P1を生成する。第1駆動回路34aは、所定の制御周期で第1マイコン32aにより生成された第1PWM信号P1に基づいて、第1駆動回路34aを構成するスイッチング素子をオンオフすることにより、図示しない直流電源から供給される直流電力を3相交流電力に変換する。これにより、第1駆動回路34aは、3相交流電力を第1コイル25aに供給する。
【0025】
第2発振器31bは、基本周波数の第2クロックCLK2を生成する。第2発振器31bとしては、例えば水晶素子等が採用される。第2制御系統Bの各部は、第2クロックCLK2に基づいて、所定の処理タイミングで動作する。
【0026】
第2駆動回路34bは、3相(U相、V相、W相)の駆動回路である。第2駆動回路34bは、直列に接続された2つのスイッチング素子を1組とする3組のアームが、それぞれ直流電源の+端子と-端子との間に並列に接続されてなる。第2電流センサ33bは、第2駆動回路34bと第2コイル25bとの間の給電経路を流れる各相(U相、V相、W相)の電流値である第2実電流値I2を検出する。
【0027】
第2マイコン32bは、所定の制御周期毎に、第2トルクセンサ40bにより検出される第2操舵トルクτ2、回転角センサ41により検出される第2回転角度θ2、車速センサ42により検出される車速V、及び第2電流センサ33bにより検出される第2実電流値I2を取得する。第2マイコン32bは、第2操舵トルクτ2、第2回転角度θ2、車速V、及び第2実電流値I2に基づいて、第2PWM信号P2を生成する。第2駆動回路34bは、所定の制御周期で第2マイコン32bにより生成された第2PWM信号P2に基づいて、第2駆動回路34bを構成するスイッチング素子をオンオフすることにより、図示しない直流電源から供給される直流電力を3相交流電力に変換する。これにより、第2駆動回路34bは、3相交流電力を第2コイル25bに供給する。
【0028】
このように、第1マイコン32a及び第2マイコン32bは、第1駆動回路34a及び第2駆動回路34bの制御を通じて、第1制御系統Aの第1コイル25a及び第2制御系統Bの第2コイル25bへの給電を制御する。
【0029】
第1マイコン32a及び第2マイコン32bの機能について説明する。
図3に示すように、第1マイコン32aは、第1クロック生成部50、第1電流指令値演算部51、第1電流フィードバック制御部52、第1タイマカウント部53、第1三角波生成部54、及び第1モータ駆動指令値生成部55を有している。また、第2マイコン32bは、第2クロック生成部60、第2電流指令値演算部61、第2電流フィードバック制御部62、第2タイマカウント部63、第2三角波生成部64、及び第2モータ駆動指令値生成部65を有している。なお、第1マイコン32a及び第2マイコン32bは、ステアリング軸11の回転に応じた第1操舵トルクτ1を第1トルクセンサ40aから取得できない場合、第1トルクセンサ40aが異常であると判定する。また、第1マイコン32a及び第2マイコン32bは、ステアリング軸11の回転に応じた第2操舵トルクτ2を第2トルクセンサ40bから取得できない場合、第2トルクセンサ40bが異常であると判定する。第1トルクセンサ40aが異常でない場合には、第1マイコン32aがいわゆるマスターとして動作し、第2マイコン32bがいわゆるスレーブとして動作する。また、第1トルクセンサ40aが異常である場合、第1マイコン32aがスレーブとして動作し、第2マイコン32bがマスターとして動作する。第1マイコン32a及び第2マイコン32bは、マスターとして動作するマイコンが演算した指令値を給電の制御に用いる一方、スレーブとして動作するマイコンが演算した指令値を給電の制御に用いない。
【0030】
第1クロック生成部50は、逓倍器である。第1クロック生成部50は、第1発振器31aから入力された第1クロックCLK1を所定倍数で逓倍することにより、第1マイコン32a用の第1クロックCLKaを生成する。第1クロック生成部50は、生成された第1クロックCLKaを、第1電流指令値演算部51、第1電流フィードバック制御部52、及び第1タイマカウント部53に出力する。
【0031】
第2クロック生成部60は、逓倍器である。第2クロック生成部60は、第2発振器31bから入力された第2クロックCLK2を所定倍数で逓倍することにより、第2マイコン32b用の第2クロックCLKbを生成する。第2クロック生成部60は、生成された第2クロックCLKbを、第2電流指令値演算部61、第2電流フィードバック制御部62、及び第2タイマカウント部63に出力する。
【0032】
第1電流指令値演算部51は、第1トルクセンサ40aにより検出された第1操舵トルクτ1及び車速センサ42により検出された車速Vに基づいて、第1電流指令値I1a*及び第2電流指令値I2a*を演算する。なお、第1電流指令値I1a*は、第1コイル25aに対する給電を制御するための指令値である。第1電流指令値I1a*は、第1制御系統Aの第1コイル25aへの給電によりモータ20が発生すべきトルクに対応している。また、第2電流指令値I2a*は、第2コイル25bに対する給電を制御するための指令値である。第2電流指令値I2a*は、第2制御系統Bの第2コイル25bへの給電によりモータ20が発生すべきトルクに対応している。第1電流指令値演算部51は、第1電流指令値I1a*を第1電流フィードバック制御部52に出力し、第2電流指令値I2a*を第1マイコン32a及び第2マイコン32bの間のマイコン間通信により第2マイコン32bの第2電流フィードバック制御部62に送信する。特許請求の範囲で記載した第1指令値演算部は、第1電流指令値演算部51である。
【0033】
第2電流指令値演算部61は、第2トルクセンサ40bにより検出された第2操舵トルクτ2及び車速センサ42により検出された車速Vに基づいて、第1電流指令値I1b*及び第2電流指令値I2b*を演算する。なお、第1電流指令値I1b*は、第1コイル25aに対する給電を制御するための指令値である。第1電流指令値I1b*は、第1制御系統Aの第1コイル25aへの給電によりモータ20が発生すべきトルクに対応している。また、第2電流指令値I2b*は、第2コイル25bに対する給電を制御するための指令値である。第2電流指令値I2b*は、第2制御系統Bの第2コイル25bへの給電によりモータ20が発生すべきトルクに対応している。第2電流指令値演算部61は、第2電流指令値I2b*を第2電流フィードバック制御部62に出力し、第1電流指令値I1b*を第1マイコン32a及び第2マイコン32bの間のマイコン間通信により第1電流フィードバック制御部52に送信する。特許請求の範囲で記載した第2指令値演算部は、第2電流指令値演算部61である。
【0034】
第1電流フィードバック制御部52は、第1電流指令値I1a*及び第1電流指令値I1b*の他、第1回転角度θ1及び第1実電流値I1を取得する。第1電流フィードバック制御部52は、第1電流指令値I1a*及び第1電流指令値I1b*のいずれか一方を用いて第1デューティ指令値D1の演算を実行する。第1デューティ指令値D1は、PWM制御におけるデューティ比を指示する指令値である。第1マイコン32aがマスターとして動作する場合、第1電流フィードバック制御部52は、第1電流指令値I1a*に第1実電流値I1を追従させるべく、第1電流指令値I1a*と第1実電流値I1との偏差に基づく電流フィードバック制御である第1フィードバック制御を実行することにより、第1デューティ指令値D1を演算する。また、第2マイコン32bがマスターとして動作する場合、第1電流フィードバック制御部52は、第1電流指令値I1b*に第1実電流値I1を追従させるべく、第1電流指令値I1b*と第1実電流値I1との偏差に基づく電流フィードバック制御である第1フィードバック制御を実行することにより、第1デューティ指令値D1を演算する。第1電流フィードバック制御部52は、演算した第1デューティ指令値D1を第1モータ駆動指令値生成部55に対して出力する。特許請求の範囲で記載した第1フィードバック制御部は、第1電流フィードバック制御部52である。
【0035】
第2電流フィードバック制御部62は、第2電流指令値I2a*及び第2電流指令値I2b*の他、第2回転角度θ2及び第2実電流値I2を取得する。第2電流フィードバック制御部62は、第2電流指令値I2a*及び第2電流指令値I2b*のいずれか一方を用いて第2デューティ指令値D2の演算を実行する。第2デューティ指令値D2は、PWM制御におけるデューティ比を指示する指令値である。第1マイコン32aがマスターとして動作する場合、第2電流フィードバック制御部62は、第2電流指令値I2a*に第2実電流値I2を追従させるべく、第2電流指令値I2a*と第2実電流値I2との偏差に基づく電流フィードバック制御である第2フィードバック制御を実行することにより、第2デューティ指令値D2を演算する。また、第2マイコン32bがマスターとして動作する場合、第2電流フィードバック制御部62は、第2電流指令値I2b*に第2実電流値I2を追従させるべく、第2電流指令値I2b*と第2実電流値I2との偏差に基づく電流フィードバック制御である第2フィードバック制御を実行することにより、第2デューティ指令値D2を演算する。第2電流フィードバック制御部62は、演算した第2デューティ指令値D2を第2モータ駆動指令値生成部65に対して出力する。特許請求の範囲に記載した第2フィードバック制御部は、第2電流フィードバック制御部62である。
【0036】
第1タイマカウント部53は、公知の分周器及びアップダウンカウンタからなる。第1タイマカウント部53は、分周期で分周された第1クロックCLKaのクロック数をアップダウンカウンタでインクリメント及びデクリメントし、その第1カウント値Ct1を第1三角波生成部54に対して出力する。第1タイマカウント部53は、インクリメント及びデクリメントをそれぞれ繰り返した回数が予め定められた上限カウント値Ct0に達した場合、インクリメント及びデクリメントを切り替える。
【0037】
第2タイマカウント部63は、公知の分周器及びアップダウンカウンタからなる。第2タイマカウント部63は、分周期で分周された第2クロックCLKbのクロック数をアップダウンカウンタでインクリメント及びデクリメントし、その第2カウント値Ct2を第2三角波生成部64に対して出力する。なお、上限カウント値Ct0は、第1タイマカウント部53及び第2タイマカウント部63の間で同一値に設定されている。
【0038】
第1三角波生成部54は、第1タイマカウント部53により演算された第1カウント値Ct1に基づいて、搬送波としての三角波W1(図7参照)を生成し、その三角波W1を第1モータ駆動指令値生成部55に出力する。第1三角波生成部54は、第1カウント値Ct1が入力される毎に、インクリメントを示す間は予め定められた信号レベルを累積加算するとともに、デクリメントを示す間は予め定められた信号レベルを累積減算することによって、三角波W1を生成する。このように生成される三角波W1は、第1クロックCLKaの上限カウント値Ct0に応じた所定周期毎に、ハイレベルH(いわゆる、山)及びローレベルL(いわゆる、谷)の変化を繰り返す。
【0039】
第1三角波生成部54は、生成した三角波W1に基づいて処理タイミング信号を生成し、その処理タイミング信号を第1電流指令値演算部51及び第1電流フィードバック制御部52に対して出力する。第1電流指令値演算部51の処理タイミングとは、第1電流指令値演算部51が第1電流指令値I1a*及び第2電流指令値I2a*の演算処理を実行するタイミングである。また、第1電流フィードバック制御部52の処理タイミングとは、第1電流フィードバック制御部52がフィードバック制御を実行するタイミングである。すなわち、これらの処理タイミングは、三角波W1における山の頂点と谷の頂点となるタイミングに基づいて定められている。これらの処理タイミングの周期は、例えば、三角波W1の山の頂点と谷の頂点との間の期間に基づいて設定されている。第1電流フィードバック制御部52によるフィードバック制御の周期は、第1電流指令値演算部51による第1電流指令値I1a*及び第2電流指令値I2a*の演算周期よりも短く設定されている。
【0040】
第2三角波生成部64は、第2タイマカウント部63により演算された第2カウント値Ct2に基づいて、搬送波としての三角波W2(図7参照)を生成し、その三角波W2を第2モータ駆動指令値生成部65に出力する。第2三角波生成部64は、第2カウント値Ct2が入力される毎に、インクリメントを示す間は予め定められた信号レベルを累積加算するとともに、デクリメントを示す間は予め定められた信号レベルを累積減算することによって、三角波W2を生成する。このように生成される三角波W2は、第2クロックCLKbの上限カウント値Ct0に応じた所定周期毎に、ハイレベルH(いわゆる、山)及びローレベルL(いわゆる、谷)の変化を繰り返す。三角波W1,W2において、ハイレベルH及びローレベルLの変化を繰り返す周期は、設計上同一周期となるように設定されている。
【0041】
第2三角波生成部64は、生成した三角波W2に基づいて処理タイミング信号を生成し、その処理タイミング信号を第2電流指令値演算部61及び第2電流フィードバック制御部62に対して出力する。第2電流指令値演算部61の処理タイミングとは、第2電流指令値演算部61が第1電流指令値I1b*及び第2電流指令値I2b*の演算処理を実行するタイミングである。また、第2電流フィードバック制御部62の処理タイミングとは、第2電流フィードバック制御部62がフィードバック制御を実行するタイミングである。これらの処理タイミングは、三角波W2における山の頂点と谷の頂点となるタイミングに基づいて定められている。すなわち、これらの処理タイミングの周期は、例えば、三角波W2の山の頂点と谷の頂点との間の期間に基づいて設定されている。第2電流フィードバック制御部62によるフィードバック制御の周期は、第2電流指令値演算部61による第1電流指令値I1b*及び第2電流指令値I2b*の演算周期よりも短く設定されている。また、第2電流指令値演算部61による第1電流指令値I1b*及び第2電流指令値I2b*の演算周期と、第1電流指令値演算部51による第1電流指令値I1a*及び第2電流指令値I2a*の演算周期とは、設計上同一周期となるように設定されている。また、第2電流フィードバック制御部62によるフィードバック制御の周期と、第1電流フィードバック制御部52によるフィードバック制御の周期とは、設計上同一周期となるように設定されている。
【0042】
第1モータ駆動指令値生成部55は、第1三角波生成部54により生成された三角波W1及び第1電流フィードバック制御部52により演算された第1デューティ指令値D1に基づいて、所定の処理タイミングで第1PWM信号P1を生成する。第1モータ駆動指令値生成部55は、生成した第1PWM信号P1を第1駆動回路34aに対して出力する。第1モータ駆動指令値生成部55の処理タイミングとは、第1モータ駆動指令値生成部55が前回の演算周期の第1PWM信号P1から今回の演算周期の第1PWM信号P1へ更新するタイミングである。第1実施形態において、第1PWM信号P1は、三角波W1と第1デューティ指令値D1とを比較して、第1デューティ指令値D1が大きい場合にオン信号となり、第1デューティ指令値D1が小さい場合にオフ信号となる。第1モータ駆動指令値生成部55による第1PWM信号P1の更新周期は、第1電流フィードバック制御部52によるフィードバック制御の周期よりも短く設定されている。
【0043】
第2モータ駆動指令値生成部65は、第2三角波生成部64により生成された三角波W2及び第2電流フィードバック制御部62により演算された第2デューティ指令値D2に基づいて、所定の処理タイミングで第2PWM信号P2を生成する。第2モータ駆動指令値生成部65は、生成した第2PWM信号P2を第2駆動回路34bに対して出力する。第2モータ駆動指令値生成部65の処理タイミングとは、第2モータ駆動指令値生成部65が前回の演算周期の第2PWM信号P2から今回の演算周期の第2PWM信号P2へ更新するタイミングである。第1実施形態において、第2PWM信号P2は、三角波W2と第2デューティ指令値D2とを比較して、第2デューティ指令値D2が大きい場合にオン信号となり、第2デューティ指令値D2が小さい場合にオフ信号となる。第2モータ駆動指令値生成部65による第2PWM信号P2の更新周期は、第2電流フィードバック制御部62によるフィードバック制御の周期よりも短く設定されている。
【0044】
図4を参照して、第1電流指令値演算部51の機能について説明する。
第1電流指令値演算部51は、第1基本電流指令値演算部51a及び均等配分部51bを備えている。なお、第2電流指令値演算部61も第1電流指令値演算部51と同様の構成要素を有している。
【0045】
第1基本電流指令値演算部51aは、第1操舵トルクτ1及び車速Vに基づいて、第1電流指令値I1a*及び第2電流指令値I2a*の合算値である基本電流指令値Ia*を演算する。
【0046】
具体的には、図5に示すように、第1基本電流指令値演算部51aは、入力される第1操舵トルクτ1の絶対値が大きいほど、また車速Vが小さいほど、より大きな絶対値を有する基本電流指令値Ia*を演算する。第1操舵トルクτ1の絶対値の変化量|Δτ1|に対する基本電流指令値Ia*の絶対量の変化量|ΔIa*|の比(|ΔIa*/Δτ1|)は、第1操舵トルクτ1の絶対値が大きいほど、大きくなっている。なお、第1操舵トルクτ1は、ステアリングホイール10の右操舵方向であるか、あるいは左操舵方向であるかに基づいて正負が定められている。第1操舵トルクτ1の正負の符号に伴い、第1基本電流指令値演算部51aにより演算される基本電流指令値Ia*も正負の符号を有する。
【0047】
均等配分部51bは、入力される基本電流指令値Ia*に「1/2」を乗算する。すなわち、均等配分部51bは、基本電流指令値Ia*を均等に配分した均等指令値Iae*(「Ia*/2」)を演算する。均等配分部51bにより演算された均等指令値Iae*が、そのまま第1電流指令値I1a*及び第2電流指令値I2a*として出力される。要するに、均等配分部51bにより演算される第1電流指令値I1a*及び第2電流指令値I2a*は、互いに等しい値に設定される。
【0048】
均等指令値Iae*は、第1操舵トルクτ1及び第2操舵トルクτ2の絶対値が大きくなるにつれて大きくなる。均等指令値Iae*の第1操舵トルクτ1及び第2操舵トルクτ2の絶対値に対する関係は、車速Vが同一の条件であるとき、図5に示される基本電流指令値Ia*の曲線の第1操舵トルクτ1及び第2操舵トルクτ2の絶対値に対する関係を半分の傾きにしたものと同じになる。このため、均等指令値Iae*の第1操舵トルクτ1及び第2操舵トルクτ2に対する傾きは、第1操舵トルクτ1及び第2操舵トルクτ2の絶対値が大きいほど、大きくなる。
【0049】
図6は、横軸に第2電流指令値I2a*,I2b*を、縦軸に第1電流指令値I1a*,I1b*をプロットしたものである。図6には、第1電流指令値I1a*,I1b*及び第2電流指令値I2a*,I2b*が同一である場合の関係が示されている。
【0050】
第1実施形態において、第1電流指令値演算部51及び第2電流指令値演算部61の演算処理と、第1電流フィードバック制御部52及び第2電流フィードバック制御部62のフィードバック制御と、第1モータ駆動指令値生成部55及び第2モータ駆動指令値生成部65の更新処理とは、第1クロックCLKa及び第2クロックCLKbに基づいて生成される処理タイミングで行われる。
【0051】
例えば、図7に示すように、第1制御系統Aにおいて、第1三角波生成部54が生成した三角波W1の山の頂点及び谷の頂点のタイミングで、例えば第1モータ駆動指令値生成部55がスイッチング素子をオンオフする。また、第1電流指令値演算部51や第1電流フィードバック制御部52は、第1三角波生成部54が生成した三角波W1の山の頂点及び谷の頂点のタイミングに基づいて、各処理を実行する。なお、これは、第2制御系統Bでも同様である。ところで、第1実施形態においては、第1制御系統A及び第2制御系統Bの各部の処理タイミングの周期は設計上同一に設定されている。第1発振器31aの周期と第2発振器31bの周期とがばらついていなければ、第1制御系統Aが規定した時間と第2制御系統Bが規定した時間とは同一になる。ただし、第1制御系統Aの各部の処理タイミングは第1発振器31aを用いて規定され、第2制御系統Bの各部の処理タイミングは第1発振器31aとは別個の第2発振器31bを用いて規定されている。第1制御系統Aの第1マイコン32aと第2制御系統Bの第2マイコン32bとは、同期することなく独立してコイル25への給電を制御している。同期とは、第1制御系統Aの処理タイミングと第2制御系統Bの処理タイミングとを合わせることである。本実施形態では、第1実施形態の第1マイコン32a及び第2マイコン32bは、非同期で各処理を実行する。
【0052】
図7及び図8に示すように、発振器からのクロックの周期は、発振器の製造のばらつきや劣化や素材のばらつき等によって個体ごとにばらつくことがある。例えば、発振器の水晶素子に個体ごとにばらつきがある場合には、発振器からのクロックの周期が個体ごとにばらつく。このことから、第1制御系統Aの第1発振器31aの第1クロックCLK1の周期と、第2制御系統Bの第2発振器31bの第2クロックCLK2の周期とは異なることがある。この場合、第1制御系統Aが規定した時間と第2制御系統Bが規定した時間とは異なることになる。こうした第1クロックCLK1と第2クロックCLK2とのずれは解消されるものではなく、このずれは、第1タイマカウント部53の第1カウント値Ct1、さらには第1三角波生成部54の三角波W1へと波及し、最終的に第1制御系統Aと第2制御系統Bとの間で処理タイミングの時間的なずれを生じさせる。また、第1クロックCLK1と第2クロックCLK2とのずれは、第2タイマカウント部63の第2カウント値Ct2、さらには第2三角波生成部64の三角波W2へと波及し、最終的に第1制御系統Aと第2制御系統Bとの間で処理タイミングの時間的なずれを生じさせる。これにより、第1電流指令値演算部51と第2電流指令値演算部61との間で処理タイミングの時間的なずれが生じ、第1電流フィードバック制御部52と第2電流フィードバック制御部62との間で処理タイミングの時間的なずれが生じ、第1モータ駆動指令値生成部55と第2モータ駆動指令値生成部65との間で処理タイミングの時間的ずれが生じる。
【0053】
図7に示すように、第1制御系統Aの処理タイミングと第2制御系統Bとの間の処理タイミングとのずれは経時的に変化するおそれがある。すなわち、第1制御系統Aと第2制御系統Bとの間の処理タイミングの時間的なずれは、発振器のクロックの周期に個体ごとにばらつきがある場合、時間経過とともに大きくなる。この処理タイミングのずれの経時的な変化は、所定周期で繰り返されている。これにより、例えば第1電流指令値演算部51によって第2電流指令値I2a*が演算されたとしても、第1マイコン32aと第2マイコン32bとの間で通信されるまでは、第2マイコン32bは第1電流指令値演算部51によって演算された第2電流指令値I2a*を把握することができない。そして、第2マイコン32bの第2電流フィードバック制御部62は、たとえ第1電流指令値演算部51で新たに第2電流指令値I2a*が演算されたとしても、第1マイコン32aと第2マイコン32bとの間で通信が確立するまでは、前回の通信が確立した際に受け取った第2電流指令値I2a*を用いてフィードバック制御を行うことになる。前回の通信が確立した際に受け取った第2電流指令値I2a*は、今回の演算周期で演算された第2電流指令値I2a*よりも過去の演算周期で演算された第2電流指令値I2a*である。このように、第2制御系統Bの第2マイコン32bの第2電流フィードバック制御部62は、今回の演算周期で演算された第2電流指令値I2a*よりも過去の演算周期の第2電流指令値I2a*を用いてフィードバック制御をすることになる。これは、第1電流フィードバック制御部52が第2電流指令値演算部61によって演算された第1電流指令値I1b*を用いてフィードバック制御する場合にも同様である。この場合、第1マイコン32aと第2マイコン32bとの間で通信されるまでは、第1電流フィードバック制御部52は、過去の演算周期の第1電流指令値I1b*を用いてフィードバック制御することになる。フィードバック制御においては、マスターとして動作する第1マイコン32aによって演算される最新の指令値を用いることが最適である。すなわち、第1マイコン32a及び第2マイコン32bは、より最新の電流指令値を用いてフィードバック制御をすることが最適である。
【0054】
そこで、第1実施形態では、第1電流フィードバック制御部52及び第2電流フィードバック制御部62が過去の演算周期の電流指令値でフィードバック制御をする期間を短くし、第1制御系統A及び第2制御系統Bがより最適な演算周期の電流指令値を用いてモータ20の駆動を制御できるようにするために、下記の構成を採用している。すなわち、第1マイコン32a及び第2マイコン32bの間のマイコン間通信の周期を、第1電流指令値演算部51による第1電流指令値I1a*及び第2電流指令値I2a*の演算周期と同じ周期に設定している。また、第1マイコン32a及び第2マイコン32bの間のマイコン間通信の周期を、第2電流指令値演算部61による第1電流指令値I1b*及び第2電流指令値I2b*の演算周期と同じ周期に設定している。
【0055】
第1実施形態の作用及び効果を説明する。
(1)比較例として、第1制御系統Aと第2制御系統Bとの間の通信の周期が、第1電流指令値演算部51及び第2電流指令値演算部61による電流指令値の演算周期よりも長い周期に設定されている場合について説明する。ここでは、第1制御系統Aと第2制御系統Bとの間の通信の周期が、第1電流指令値演算部51及び第2電流指令値演算部61による電流指令値の演算周期の5倍の周期に設定されている場合について説明する。
【0056】
比較例として図9に示すように、第1制御系統Aと第2制御系統Bとの間の処理タイミングに時間的なずれが生じている。ここでは、一例として、第2制御系統Bの処理タイミングは、第1制御系統Aの処理タイミングに対して、第1電流指令値演算部51による第2電流指令値I2a*の演算周期の4回分遅れているものとする。例えば、n回目の第2電流指令値I2a*の演算の処理タイミングでは、第1制御系統A側からn回目の第2電流指令値I2a*が送信されるとともに、第1電流フィードバック制御部52においてn回目の第1電流指令値I1a*を用いたフィードバック制御が実行される。一方、第2制御系統Bには時間的な遅れが生じていることから、n回目の第2電流指令値I2a*が演算されたタイミングでは、第2制御系統B側はn回目の第2電流指令値I2a*を受信することができない。第2制御系統B側がn回目の第2電流指令値I2a*を把握することができるのは、マイコン間通信が確立するタイミング、すなわち第2制御系統Bが第2電流指令値I2a*を受信するタイミングである。第2電流フィードバック制御部62は、時間的な遅れがなければn回目の第2電流指令値I2a*が演算されたタイミングでn回目の第2電流指令値I2a*を用いたフィードバック制御を実行できるところ、時間的な遅れに起因して、第2制御系統Bが第2電流指令値I2a*を受信できるタイミングが遅れている。第2制御系統Bがn回目の第2電流指令値I2a*を受信できるタイミングは、時間的なずれ(ここでは遅れ)に起因して、第2電流指令値I2a*の演算周期の4回分遅れたn+4回目の第2電流指令値I2a*が演算されたタイミングになる。第1制御系統A側からn回目の第2電流指令値I2a*が送信された時点においては、第2電流フィードバック制御部62がn回目の第2電流指令値I2a*を用いてフィードバック制御をすることが最適である。第2電流フィードバック制御部62は、n回目の第2電流指令値I2a*が演算されたタイミングでは当該n回目の第2電流指令値I2a*を把握できないため、前回のマイコン間通信が確立した際に受け取ったn-5回目の第2電流指令値I2a*を用いてフィードバック制御をすることになる。このn-5回目の第2電流指令値I2a*は、発振器のクロックの周期に個体毎にばらつきがない場合、前回の周期のマイコン間通信が行われた時点において、第2電流フィードバック制御部62が受信してフィードバック制御に用いるべき電流指令値である。第1マイコン32aと第2マイコン32bとの間で通信が行われた直後に、第1電流指令値演算部51が今回の演算周期の第2電流指令値I2a*を演算した場合には、最大で通信の周期と同程度の間、第2電流フィードバック制御部62は前回のマイコン間通信が確立した際に受け取った第2電流指令値I2a*を用いてフィードバック制御することになる。このように、第2電流フィードバック制御部62は、今回の演算周期で演算された第2電流指令値I2a*よりも過去の演算周期の第2電流指令値I2a*を用いてフィードバック制御をすることになることから、モータ20のコイル25に対して最適な給電を行うことができないおそれがある。この場合、トルクリップルが生じるおそれがある。なお、第1電流フィードバック制御部52が第2電流指令値演算部61によって演算された第1電流指令値I1b*を用いてフィードバック制御する際にも同様の課題が生じる。
【0057】
第1実施形態として図10に示すように、第1制御系統Aと第2制御系統Bとの間の処理タイミングには、比較例の場合と同様の時間的な遅れが生じている。例えば、n回目の第2電流指令値I2a*の演算の処理タイミングでは、第1制御系統A側からn回目の第2電流指令値I2a*が送信されるとともに、第1電流フィードバック制御部52においてn回目の第1電流指令値I1a*を用いたフィードバック制御が実行される。一方、第2制御系統Bには第1制御系統Aに対して時間的な遅れが生じていることから、n回目の第2電流指令値I2a*が演算されたタイミングでは、第2制御系統B側はn回目の第2電流指令値I2a*を受信することができない。第1実施形態では、第1制御系統Aと第2制御系統Bとの間の通信の周期を、第1電流指令値演算部51及び第2電流指令値演算部61による電流指令値の演算周期と同じ周期に設定している。このことから、第1制御系統Aと第2制御系統Bとの間の通信が行われた直後に第1電流指令値演算部51が第2電流指令値I2a*を演算したとしても、通信の周期を各電流指令値の演算周期と同じ周期にしていることから、第2制御系統Bが今回の演算周期で演算された第2電流指令値I2a*を把握できない期間を短くすることができる。第2制御系統Bが今回の演算周期の第2電流指令値I2a*を把握できない期間とは、第1制御系統Aが第2電流指令値I2a*を送信したにもかかわらず第2制御系統Bが第2電流指令値I2a*を受信していないために、当該第2電流指令値I2a*をフィードバック制御に反映できない期間のことである。すなわち、n回目の第2電流指令値I2a*が演算されたタイミングでは、第2制御系統B側はn回目の第2電流指令値I2a*を受信することはできないものの、n+1回目の第2電流指令値I2a*が演算されたタイミングで、第2制御系統B側はn回目の第2電流指令値I2a*を受信することができる。これにより、第2電流フィードバック制御部62が前回のマイコン間通信が確立した際に受け取った第2電流指令値I2a*を用いてフィードバック制御する期間を短くすることができる。第2電流フィードバック制御部62が前回のマイコン間通信が確立した際に受け取った第2電流指令値I2a*を用いてフィードバック制御する期間とは、第2制御系統Bが今回の演算周期で演算された第2電流指令値I2a*を把握できない期間である。また、第1制御系統Aと第2制御系統Bとの間で通信が行われた直後に第2電流指令値演算部61が第1電流指令値I1b*を演算したとしても、通信の演算周期を各電流指令値の演算周期と同じ周期にしていることから、第1制御系統Aが今回の演算周期で演算された第1電流指令値I1b*を把握できない期間を短くすることができる。このため、第1電流フィードバック制御部52及び第2電流フィードバック制御部62が今回の演算周期で演算された電流指令値よりも過去の演算周期の電流指令値でフィードバック制御をする期間を短くすることができる。これにより、トルクリップルが生じることを抑えることができる。このようにすることで、各制御系統がより最適な演算周期の電流指令値を用いてモータ20の駆動を制御することができるようになる。
【0058】
(2)第1マイコン32a及び第2マイコン32bが同期して各処理を実行する場合には、第1マイコン32a及び第2マイコン32bの間の処理タイミングの時間的なずれが所定値を超えた場合に、第1マイコン32a及び第2マイコン32bをリセットすることで両者を同期している。しかし、第1マイコン32a及び第2マイコン32bが非同期で各処理を実行する場合には、第1マイコン32a及び第2マイコン32bの処理タイミングのずれに経時的な変化が生じたとしても、その経時的なずれの変化を解消できない。第1実施形態の構成は、このような第1マイコン32a及び第2マイコン32bが非同期で各処理するものに好適であり、第1電流フィードバック制御部52及び第2電流フィードバック制御部62が今回の演算周期で演算された指令値よりも過去の演算周期の指令値でフィードバック制御をする期間を短くすることができる。
【0059】
<第2実施形態>
操舵制御装置をEPSに適用した第2実施形態について説明する。ここでは、第1実施形態との違いを中心に説明する。
【0060】
第2実施形態では、第1マイコン32a及び第2マイコン32bの間のマイコン間通信の周期を、第1電流フィードバック制御部52及び第2電流フィードバック制御部62のフィードバック制御の周期と同じ周期に設定している。
【0061】
第2実施形態の作用及び効果を説明する。
(3)第2実施形態では、第1マイコン32a及び第2マイコン32bの間のマイコン間通信の周期を、第1電流指令値演算部51及び第2電流指令値演算部61による電流指令値の演算周期よりもさらに短い周期である第1電流フィードバック制御部52及び第2電流フィードバック制御部62のフィードバック制御の周期と同じ周期に設定している。これにより、第1電流フィードバック制御部52及び第2電流フィードバック制御部62が今回の演算周期で演算された指令値よりも過去の演算周期の指令値でフィードバック制御をする期間をさらに短くすることができる。
【0062】
<第3実施形態>
操舵制御装置をEPSに適用した第3実施形態について説明する。ここでは、第1実施形態との違いを中心に説明する。
【0063】
第3実施形態では、第1マイコン32a及び第2マイコン32bの間のマイコン間通信の周期を、第1モータ駆動指令値生成部55の第1PWM信号P1の更新周期及び第2モータ駆動指令値生成部65の第2PWM信号P2の更新周期と同じに設定している。
【0064】
第3実施形態の作用及び効果を説明する。
(4)第3実施形態では、第1マイコン32a及び第2マイコン32bの間のマイコン間通信の周期を、第1電流フィードバック制御部52及び第2電流フィードバック制御部62のフィードバック制御の周期よりもさらに短い周期である第1PWM信号P1及び第2PWM信号P2の更新周期と同じ周期に設定している。これにより、第1電流フィードバック制御部52及び第2電流フィードバック制御部62が今回の演算周期で演算された指令値よりも過去の演算周期の指令値でフィードバック制御をする期間をさらに短くすることができる。
【0065】
なお、各実施形態は次のように変更してもよい。また、以下の他の実施形態は、技術的に矛盾しない範囲において、互いに組み合わせることができる。
・各実施形態では、第1制御系統A及び第2制御系統Bの2つの制御系統としたが、3つ以上の制御系統にしてもよい。この場合、各制御系統のマイコンは、モータ20の最大のトルクを制御系統の数で割った値のトルクをそれぞれのコイルで発生させるように給電を制御すればよい。
【0066】
・第1電流指令値演算部51及び第2電流指令値演算部61は、第1操舵トルクτ1及び第2操舵トルクτ2が所定値以下の場合、第1電流指令値I1a*,I1b*及び第2電流指令値I2a*,I2b*を異なる値に設定するようにしてもよい。
【0067】
・第1電流指令値演算部51は、第1操舵トルクτ1及び車速Vに基づいて基本電流指令値Ia*を演算したが、第1操舵トルクτ1のみに基づいて基本電流指令値Ia*を演算するようにしてもよい。また、第2電流指令値演算部61は、第2操舵トルクτ2及び車速Vに基づいて基本電流指令値Ia*を演算したが、第2操舵トルクτ2のみに基づいて基本電流指令値Ia*を演算するようにしてもよい。また、モータ20が発生すべきトルクの指令値の基となる指令値を演算し、当該指令値を操舵制御装置30に対して出力する外部ECUを別途設けるようにしてもよい。
【0068】
・第1電流指令値演算部51は、第1マイコン32a及び第2マイコン32bの間のマイコン間通信により送信しているのは第2電流指令値I2a*であったが、これに限らない。また、第2電流指令値演算部61は、第1マイコン32a及び第2マイコン32bの間のマイコン間通信により送信しているのは第1電流指令値I1b*であったが、これに限らない。すなわち、第1電流指令値演算部51及び第2電流指令値演算部61は、電流指令値に限らず、モータ20が発生すべきトルクの指令値を演算し、その指令値をマイコン間通信により送信するようにしてもよい。
【0069】
・各実施形態は、モータ20と操舵制御装置30とが一体的に構成される機電一体のモータ装置に適用してもよい。
・回転角センサ41は、MRセンサを用いたものであってもよいし、ホールセンサを用いたものであってもよいし、レゾルバを用いたものであってもよい。
【0070】
・第1マイコン32aが把握する第1回転角度θ1及び第2マイコン32bが把握する第2回転角度θ2は、同一の回転角センサ41により検出されたが、これに限らない。例えば、第1マイコン32aが把握する第1回転角度θ1は第1回転角センサにより検出され、第2マイコン32bが把握する第2回転角度θ2は第1回転角センサとは異なる第2回転角センサにより検出されてもよい。
【0071】
・第1実施形態では、第1マイコン32a及び第2マイコン32bの間のマイコン間通信の周期を、第1電流指令値演算部51及び第2電流指令値演算部61による電流指令値の演算周期と同じ周期に設定していたが、これに限らない。第1マイコン32a及び第2マイコン32bの間のマイコン間通信の周期は、第1電流指令値演算部51による第1電流指令値I1a*及び第2電流指令値I2a*の演算周期よりも短い周期に設定されてもよい。
【0072】
・第2実施形態では、第1マイコン32a及び第2マイコン32bの間のマイコン間通信の周期を、第1電流フィードバック制御部52及び第2電流フィードバック制御部62のフィードバック制御の周期と同じ周期に設定していたが、これに限らない。第1マイコン32a及び第2マイコン32bの間のマイコン間通信の周期は、第1電流フィードバック制御部52及び第2電流フィードバック制御部62のフィードバック制御の周期よりも短い周期に設定されてもよい。
【0073】
・第3実施形態では、第1マイコン32a及び第2マイコン32bの間のマイコン間通信の周期を、第1モータ駆動指令値生成部55の第1PWM信号P1の更新周期及び第2モータ駆動指令値生成部65の第2PWM信号P2の更新周期と同じに設定していたが、これに限らない。第1マイコン32a及び第2マイコン32bの間のマイコン間通信の周期は、第1モータ駆動指令値生成部55の第1PWM信号P1の更新周期及び第2モータ駆動指令値生成部65の第2PWM信号P2の更新周期よりも短い周期に設定されてもよい。例えば、第1マイコン32a及び第2マイコン32bの間のマイコン間通信の周期は、第1発振器31aの第1クロックCLK1の周期及び第2発振器31bの第2クロックCLK2の周期と同じに設定してもよい。
【0074】
・各実施形態では、第1マイコン32aがスレーブとして動作する場合でも、第1電流指令値演算部51は第1電流フィードバック制御部52及び第2電流フィードバック制御部62に対して指令値を出力したが、出力しないようにしてもよい。また、各実施形態では、第2マイコン32bがスレーブとして動作する場合でも、第2電流指令値演算部61は第1電流フィードバック制御部52及び第2電流フィードバック制御部62に対して指令値を出力したが、出力しないようにしてもよい。
【0075】
・各実施形態では、第1マイコン32aは状況に応じてマスターとして動作する一方、第2マイコン32bが状況に応じてスレーブとして動作していたが、これに限らない。第1マイコン32aを常にマスターとして動作させる一方、第2マイコン32bを常にスレーブとして動作させるようにしてもよい。この場合、スレーブとして動作する第2マイコン32bは、第2電流指令値演算部61を有していなくてよい。この場合、第1マイコン32aはマスター制御部として動作し、第2マイコン32bはスレーブ制御部として動作する。また、第1電流指令値I1a*はマスター用指令値であり、第2電流指令値I2a*はスレーブ用指令値である。また、第1発振器31aはマスター用発振器であり、第2発振器31bはスレーブ用発振器である。
【0076】
・各実施形態では、モータ20によってステアリング軸11にアシスト力を付与するEPS1に具体化して示したが、これに限らない。例えば、ラック軸12に平行に配置された回転軸21を有するモータ20によってラック軸12にアシスト力を付与するEPS1に具体化したステアリング装置であってもよい。また、ステアバイワイヤ装置であってもよい。すなわち、モータ20によって操舵機構2に動力を付与するステアリング装置であれば、どのようなものであってもよい。
【0077】
上記実施形態及び変形例から把握できる技術的思想について、それらの効果とともに以下に追記する。
操舵機構に対してトルクを付与するモータの駆動を制御する複数の制御系統を備えており、前記複数の制御系統毎に複数のコイルが設けられ、複数のコイルに対する給電を制御するための指令値を演算するマスター制御部と、当該マスター制御部が演算する指令値に基づいて動作するスレーブ制御部とを含む操舵制御装置において、前記マスター制御部は、マスター用発振器から入力されたクロックに基づいた処理タイミングで動作し、前記スレーブ制御部は、スレーブ用発振器から入力されたクロックに基づいた処理タイミングで動作し、前記マスター制御部は、前記マスター制御部が対応するコイルに対する給電を制御するためのマスター用指令値及び前記スレーブ制御部が対応するコイルに対する給電を制御するためのスレーブ用指令値を演算し、当該スレーブ用指令値を前記スレーブ制御部との間の通信を通じて送信する機能を有し、前記マスター制御部と前記スレーブ制御部との間の通信の周期は、前記マスター制御部による指令値の演算周期以下に設定されている。
【0078】
上記構成によれば、マスター制御部とスレーブ制御部との間の通信の周期を、マスター制御部及びスレーブ制御部によるマスター用指令値及びスレーブ用指令値の演算周期以下の周期に設定している。このことから、発振器からのクロックの周期のばらつきによって、マスター制御部とスレーブ制御部との間の通信が行われた直後にマスター制御部がスレーブ用指令値を演算したとしても、通信の周期を指令値の演算周期以下の周期にしていることから、スレーブ制御部が今回の演算周期で演算されたスレーブ用指令値を把握できない期間を短くすることができる。これにより、スレーブ制御部が前回の通信が確立した際に受け取った過去の演算周期で演算されたスレーブ用指令値を用いて給電の制御をする期間を短くすることができる。このため、スレーブ制御部が今回の演算周期で演算されたスレーブ用指令値よりも過去の演算周期のスレーブ用指令値で給電の制御をする期間を短くすることができる。すなわち、マスター制御部の処理タイミングとスレーブ制御部の処理タイミングとのずれを抑制することができる。これにより、トルクリップルが生じることを抑えることができる。このようにすることで、各制御系統がより最適な演算周期の指令値を用いてモータの駆動を制御することができるようになる。
【符号の説明】
【0079】
1…EPS、2…操舵機構、3…アシスト機構、10…ステアリングホイール、11…ステアリング軸、11a…コラム軸、11b…中間軸、11c…ピニオン軸、12…ラック軸、13…ラックアンドピニオン機構、14…タイロッド、15…転舵輪、20…モータ、21…回転軸、22…減速機構、23…ロータ、24…コイル、24a…第1コイル、24b…第2コイル、30…ECU、32a…第1マイコン、32b…第2マイコン、33a…第1電流センサ、33b…第2電流センサ、34a…第1駆動回路、34b…第2駆動回路、40a…第1トルクセンサ、40b…第2トルクセンサ、41…回転角センサ、42…車速センサ、50…第1クロック生成部、51…第1電流指令値演算部、51a…第1基本電流指令値演算部、51b…均等配分部、52…第1電流フィードバック制御部、53…第1タイマカウント部、54…第1三角波生成部、55…第1モータ駆動指令値生成部、60…第2クロック生成部、61…第2電流指令値演算部、62…第2電流フィードバック制御部、63…第2タイマカウント部、64…第2三角波生成部、65…第2モータ駆動指令値生成部、θ…回転角度、θ1…第1回転角度、θ2…第2回転角度、A…第1制御系統、B…第2制御系統、Ct0…上限カウント値、Ct1…第1カウント値、Ct2…第2カウント値、CLK1,CLKa…第1クロック、CLK2,CLKb…第2クロック、D1…第1デューティ指令値、D2…第2デューティ指令値、I1…第1実電流値、I2…第2実電流値、I1a*,I1b*…第1電流指令値、I2a*,I2b*…第2電流指令値、Ia*…基本電流指令値、Iae*…均等指令値、P1…第1PWM信号、P2…第2PWM信号、V…車速、τ1…第1操舵トルク、τ2…第2操舵トルク、W1,W2…三角波。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10