(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025040680
(43)【公開日】2025-03-25
(54)【発明の名称】駆動制御装置、駆動制御方法、およびプログラム
(51)【国際特許分類】
H02P 25/22 20060101AFI20250317BHJP
B62D 6/00 20060101ALI20250317BHJP
B62D 113/00 20060101ALN20250317BHJP
【FI】
H02P25/22
B62D6/00
B62D113:00
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2023147621
(22)【出願日】2023-09-12
(71)【出願人】
【識別番号】503405689
【氏名又は名称】ナブテスコ株式会社
(74)【代理人】
【識別番号】100165179
【弁理士】
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100140718
【弁理士】
【氏名又は名称】仁内 宏紀
(74)【代理人】
【識別番号】100145481
【弁理士】
【氏名又は名称】平野 昌邦
(74)【代理人】
【識別番号】100211122
【弁理士】
【氏名又は名称】白石 卓也
(72)【発明者】
【氏名】クロツバッハ ステファン
(72)【発明者】
【氏名】岸本 將裕
【テーマコード(参考)】
3D232
5H505
【Fターム(参考)】
3D232CC30
3D232CC32
3D232CC40
3D232DA03
3D232DA63
3D232DA64
3D232DD02
3D232EB04
3D232EC23
3D232EC37
3D232GG01
3D232GG02
5H505AA16
5H505CC04
5H505EE08
5H505HA06
5H505HB05
5H505LL22
5H505LL41
5H505LL54
5H505MM12
(57)【要約】
【課題】ピットマンアームの位置制御を高精度に行うこと。
【解決手段】駆動制御装置は、複数の駆動指示系統を備える。複数の駆動指示系統のそれぞれは、通信部と、角度検出部と、算出部と配分部と、駆動制御部とを備える。通信部は、上位装置からピットマンアームの位置に係る指令を受信する。角度検出部は、前記ピットマンアームの角度を検出する。算出部は、前記指令と、前記ピットマンアームの角度とに基づいて、前記ピットマンアームに対する駆動トルクを算出する。配分部は、前記駆動トルクを、予め設定された比率に応じて配分する。駆動制御部は、駆動部を制御する。複数の駆動指示系統のうち一の駆動指示系統が、前記算出部による算出処理と、前記配分部による配分処理と、を含む一連のトルク配分処理を行う。前記駆動制御部のそれぞれは、前記トルク配分処理によって配分されたトルクで前記駆動部を同期して制御する。
【選択図】
図5
【特許請求の範囲】
【請求項1】
上位装置からピットマンアームの位置に係る指令を受信する通信部と、
前記ピットマンアームの角度を検出する角度検出部と、
前記指令と、前記ピットマンアームの角度とに基づいて、前記ピットマンアームに対する駆動トルクを算出する算出部と、
前記駆動トルクを、予め設定された比率に応じて配分する配分部と、
駆動部を制御する駆動制御部と、
をそれぞれ有する複数の駆動指示系統を備え、
前記複数の駆動指示系統のうち一の駆動指示系統が、前記算出部による算出処理と、前記配分部による配分処理と、を含む一連のトルク配分処理を行い、
前記駆動制御部のそれぞれは、前記トルク配分処理によって配分されたトルクで前記駆動部を同期して制御する、
ことを特徴とする駆動制御装置。
【請求項2】
前記複数の駆動指示系統のそれぞれは、前記トルク配分処理を行うマスタモード、および前記トルク配分処理を行わないスレーブモードのうち、いずれか一方のモードを設定する設定部を有する、
ことを特徴とする請求項1に記載の駆動制御装置。
【請求項3】
前記複数の駆動指示系統のそれぞれは、前記トルク配分処理を行えない異常を示す算出異常を検出する算出異常検出部を有し、
前記設定部は、前記算出異常検出部によって前記算出異常が検出された場合、スレーブモードを設定する、
ことを特徴とする請求項2に記載の駆動制御装置。
【請求項4】
前記複数の駆動指示系統のそれぞれは、自系統を除く他系統において前記算出異常が検出されたことを示す算出異常情報を取得する算出異常取得部を有し、
前記設定部は、前記算出異常取得部によって前記算出異常情報が取得された場合、マスタモードを設定する、
ことを特徴とする請求項3に記載の駆動制御装置。
【請求項5】
前記複数の駆動指示系統のそれぞれは、前記駆動制御部の異常を示す駆動制御異常を検出する駆動制御異常検出部を有し、
スレーブモードは、自系統の動作を終了する終了モードを含み、
前記設定部は、前記駆動制御異常検出部によって前記駆動制御異常が検出された場合、終了モードに設定する、
ことを特徴とする請求項2または3に記載の駆動制御装置。
【請求項6】
前記複数の駆動指示系統のそれぞれは、自系統を除く他系統において前記駆動制御異常が検出されたことを示す駆動制御異常情報を取得する駆動制御異常取得部と、
前記算出部によって算出された前記駆動トルクを縮退させる縮退部と、
を有し、
マスタモードは、縮退モードを含み、
前記設定部は、前記駆動制御異常取得部によって前記駆動制御異常情報が取得された場合、縮退モードを設定し、
前記縮退部は、縮退モードにおいて、前記配分部による前記配分処理を禁止して、前記駆動トルクを第3トルクに縮退させ、
縮退モードにおいて、前記駆動制御部は、前記第3トルクで前記駆動部を制御する、
ことを特徴とする請求項5に記載の駆動制御装置。
【請求項7】
前記駆動指示系統のそれぞれは、前記駆動部の回転角を検出する回転角検出部と、
前記回転角検出部によって検出された前記回転角と前記角度検出部によって検出された前記角度とに基づいて、前記回転角検出部の異常と、前記角度検出部の異常とのうち、少なくとも一方が生じたことを検出する異常検出部と、
を備えることを特徴とする請求項5に記載の駆動制御装置。
【請求項8】
前記回転角検出部は、前記駆動部の出力軸と同心上に配置され、
前記駆動部は、前記駆動制御部にそれぞれ対応して設けられ、相互に所定角度相違して設けられる複数のモータ巻線を有し、
前記駆動制御部のそれぞれは、前記所定角度の相違に応じた制御信号を生成して前記駆動部を制御する、
ことを特徴とする請求項7に記載の駆動制御装置。
【請求項9】
前記設定部は、前記異常検出部によって前記異常が検出された場合、前記異常の確定前のタイミングで、モードを変更する、
請求項7に記載の駆動制御装置。
【請求項10】
前記駆動部は、コイルユニットを有し、
前記複数の駆動指示系統のそれぞれは、終了モードが設定された場合、前記駆動部への電源の供給を停止するともに、前記コイルユニットの終端が結線された結線部の接続を切断させる切断部を有する、
請求項5に記載の駆動制御装置。
【請求項11】
前記通信部は、前記上位装置に設定されるモードに応じたモード指令を前記上位装置から受信し、
前記設定部は、前記モード指令が示すモードを設定する、
ことを特徴とする請求項2または3に記載の駆動制御装置。
【請求項12】
上位装置からピットマンアームの位置に係る指令を受信する通信部と、
前記ピットマンアームの角度を検出する角度検出部と、
前記指令と、前記ピットマンアームの角度とに基づいて、前記ピットマンアームに対する駆動トルクを算出する算出部と、
前記駆動トルクを、予め設定された比率に応じて配分する配分部と、
駆動部を制御する駆動制御部と、
をそれぞれ具備する複数の駆動指示系統を備えた駆動制御装置の駆動制御方法であって、
前記複数の駆動指示系統のうち一の駆動指示系統が、前記算出部による算出処理と、前記配分部による配分処理と、を含む一連のトルク配分処理を行い、
前記複数の駆動指示系統に具備される前記駆動制御部のそれぞれは、前記トルク配分処理によって配分されたトルクで前記駆動部を同期して制御する、
ことを特徴とする駆動制御方法。
【請求項13】
上位装置からピットマンアームの位置に係る指令を受信する通信部と、
前記ピットマンアームの角度を検出する角度検出部と、
前記指令と、前記ピットマンアームの角度とに基づいて、前記ピットマンアームに対する駆動トルクを算出する算出部と、
前記駆動トルクを、予め設定された比率に応じて配分する配分部と、
駆動部を制御する駆動制御部と、
をそれぞれ具備する複数の駆動指示系統を備えた駆動制御装置としてコンピュータを機能させるプログラムであって、
前記複数の駆動指示系統のうち一の駆動指示系統に、前記算出部による算出処理と、前記配分部による配分処理と、を含む一連のトルク配分処理を行わせ、
前記複数の駆動指示系統に具備される前記駆動制御部のそれぞれに、前記トルク配分処理によって配分されたトルクで前記駆動部を同期して制御させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、駆動制御装置、駆動制御方法、およびプログラムに関する。
【背景技術】
【0002】
従来、車両には、モータを駆動源とした電動パワーステアリングシステム(EPS:Electric Power Steering Systems)が採用されている。例えば、ステアリングシステムの信頼性を向上させるために、駆動モータと2つのマイコン(系統)を備えた冗長構成において、ピットマンアームの位置に係る指令を基に、各系統で独立にピットマンアームに対するアシスト制御量を演算して、それぞれ独立に駆動モータの電流制御を行うEPSが知られている(例えば、特許文献1参照)。また、冗長構成において、制御信号に制御周期の異なる複数の信号を用いて、協調制御を行うEPSが知られている(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011-195089号広報
【特許文献2】特開2018-130007号広報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した従来技術では、冗長構成において駆動モータの制御に不整合が生じる恐れがあり、ピットマンアームの位置制御を高精度に行うことができない、といった問題があった。具体的に補足すると、系統間での協調制御に関しては、系統間の同期について独立に電流制御したとすると、特にバイワイヤ型のEPSの場合、系統間で位置制御に係る演算結果に不整合が生じる可能性が高くなってしまう。また、特許文献2のように、制御信号に、全系統合計の駆動指令と各系統の状態変数(測定電流)を用いて各系統で出力するトルク量を調整する場合、調整が複雑になりシステム状態(例えば、動作モードや発熱制限など)に応じた系統ごとの駆動トルクの算出および制御が困難であり、さらに、各系統における駆動トルクの妥当性の検証も困難になってしまう。また、位置センサの相互誤差により、不整合が生じるおそれもある。
【0005】
故障時に関して補足すると、一方の系統が故障した場合や、他のシステムの同系統が故障した場合、故障した系統で意図しない制御を行われてしまうと、意図しない駆動トルクが出力されてしまう。また、故障した系統から意図しない位置指令値を受けてしまうと、意図しない駆動トルクが出力されてしまう。さらに、故障によってブレーキトルクが発生すると、正常な系統に影響を及ぼしてしまう。また、センサの故障によって意図しない駆動トルクが出力されると、系統間にて不整合が生じ、高精度な位置制御ができなくなってしまう。このように、従来技術では、ピットマンアームの位置制御を高精度に行うことができない、という問題があった。
【0006】
本発明は、このような事情に鑑みてなされたもので、ピットマンアームの位置制御を高精度に行うことができる技術を提供することにある。
【課題を解決するための手段】
【0007】
本発明の一態様に係る駆動制御装置は、上位装置からピットマンアームの位置に係る指令を受信する通信部と、前記ピットマンアームの角度を検出する角度検出部と、前記指令と、前記ピットマンアームの角度とに基づいて、前記ピットマンアームに対する駆動トルクを算出する算出部と、前記駆動トルクを、予め設定された比率に応じて配分する配分部と、駆動部を制御する駆動制御部と、をそれぞれ有する複数の駆動指示系統を備え、前記複数の駆動指示系統のうち一の駆動指示系統が、前記算出部による算出処理と、前記配分部による配分処理と、を含む一連のトルク配分処理を行い、前記駆動制御部のそれぞれは、前記トルク配分処理によって配分されたトルクで前記駆動部を同期して制御する、ことを特徴とする駆動制御装置である。
【0008】
上記構成によれば、シンプルな構成および制御で、ピットマンアームの位置制御を高精度に行うことができる。
【0009】
上記構成において、前記複数の駆動指示系統のそれぞれは、前記トルク配分処理を行うマスタモード、および前記トルク配分処理を行わないスレーブモードのうち、いずれか一方のモードを設定する設定部を有するようにしてもよい。
【0010】
上記構成によれば、一方の駆動指示系統が故障した場合でも、各駆動指示系統間で駆動モータに係る制御に不整合が生じることを抑え、ピットマンアームの位置制御を高精度に行うことができる。
【0011】
上記構成において、前記複数の駆動指示系統のそれぞれは、前記トルク配分処理を行えない異常を示す算出異常を検出する算出異常検出部を有し、
前記設定部は、前記算出異常検出部によって前記算出異常が検出された場合、スレーブモードを設定するようにしてもよい。
【0012】
上記構成によれば、各駆動指示系統間で駆動部に係る制御に不整合が生じることを抑えることができる。
【0013】
上記構成において、前記複数の駆動指示系統のそれぞれは、自系統を除く他系統において前記算出異常が検出されたことを示す算出異常情報を取得する算出異常取得部を有し、
前記設定部は、前記算出異常取得部によって前記算出異常情報が取得された場合、マスタモードを設定するようにしてもよい。
【0014】
上記構成によれば、他の駆動指示系統において算出異常が検出された場合でも、駆動トルクが縮退されることなく、駆動部を同期して制御することができる。
【0015】
上記構成において、前記複数の駆動指示系統のそれぞれは、前記駆動制御部の異常を示す駆動制御異常を検出する駆動制御異常検出部を有し、スレーブモードは、自系統の動作を終了する終了モードを含み、前記設定部は、前記駆動制御異常検出部によって前記駆動制御異常が検出された場合、終了モードに設定するようにしてもよい。
【0016】
上記構成によれば、各駆動指示系統間で駆動モータに係る制御に不整合が生じることを抑えることができる。
【0017】
上記構成において、前記複数の駆動指示系統のそれぞれは、自系統を除く他系統において前記駆動制御異常が検出されたことを示す駆動制御異常情報を取得する駆動制御異常取得部と、前記算出部によって算出された前記駆動トルクを縮退させる縮退部と、を有し、マスタモードは、縮退モードを含み、前記設定部は、前記駆動制御異常取得部によって前記駆動制御異常情報が取得された場合、縮退モードを設定し、前記縮退部は、縮退モードにおいて、前記配分部による前記配分処理を禁止して、前記駆動トルクを第3トルクに縮退させ、縮退モードにおいて、前記駆動制御部は、前記第3トルクで前記駆動部を制御するようにしてもよい。
【0018】
上記構成によれば、一方の駆動指示系統が駆動制御を行えない場合でも、他方の駆動指示系統が、駆動トルクを縮退させて駆動部を制御することができる。
【0019】
上記構成において、前記駆動指示系統のそれぞれは、前記駆動部の回転角を検出する回転角検出部と、前記回転角検出部によって検出された前記回転角と前記角度検出部によって検出された前記角度とに基づいて、前記回転角検出部の異常と、前記角度検出部の異常とのうち、少なくとも一方が生じたことを検出する異常検出部と、を備えるようにしてもよい。
【0020】
上記構成によれば、別途構成部品等を付加しなくても、ピットマンアームの位置制御に係る部品で、センサ異常を確度よく検出することができる。
【0021】
上記構成において、前記回転角検出部は、前記駆動部の出力軸と同心上に配置され、前記駆動部は、前記駆動制御部にそれぞれ対応して設けられ、相互に所定角度相違して設けられる複数のモータ巻線を有し、前記駆動制御部のそれぞれは、前記所定角度の相違に応じた制御信号を生成して前記駆動部を制御するようにしてもよい。
【0022】
上記構成によれば、モータ角度の系統間誤差を低減させるため、相対的な検出精度を向上させ、ピットマンアームの位置制御を高精度に行うことができる。
【0023】
上記構成において、前記設定部は、前記異常検出部によって前記異常が検出された場合、前記異常の確定前のタイミングで、モードを変更するようにしてもよい。
【0024】
上記構成によれば、迅速なモードが切替えを行うことができるため、不適切な値で駆動モータ320を制御してしまうことを抑えることができる。
【0025】
上記構成において、前記駆動部は、コイルユニットを有し、前記複数の駆動指示系統のそれぞれは、終了モードが設定された場合、前記駆動部への電源の供給を停止するともに、前記コイルユニットの終端が結線された結線部の接続を切断させる切断部を有するようにしてもよい。
【0026】
上記構成によれば、適切なトルクで駆動モータ320を制御することができる。
【0027】
上記構成において、前記通信部は、前記上位装置に設定されるモードに応じたモード指令を前記上位装置から受信し、前記設定部は、前記モード指令が示すモードを設定するようにしてもよい。
【0028】
上記構成によれば、複数の車軸において協調による簡単な制御を実現することができる。
【0029】
本発明の一態様に係る駆動制御方法は、上位装置からピットマンアームの位置に係る指令を受信する通信部と、前記ピットマンアームの角度を検出する角度検出部と、前記指令と、前記ピットマンアームの角度とに基づいて、前記ピットマンアームに対する駆動トルクを算出する算出部と、前記駆動トルクを、予め設定された比率に応じて配分する配分部と、駆動部を制御する駆動制御部と、をそれぞれ具備する複数の駆動指示系統を備えた駆動制御装置の駆動制御方法であって、前記複数の駆動指示系統のうち一の駆動指示系統が、前記算出部による算出する処理と、前記配分部による配分処理と、を含む一連のトルク配分処理を行い、前記複数の駆動指示系統に具備される前記駆動制御部のそれぞれは、前記トルク配分処理によって配分されたトルクで前記駆動部を同期して制御する、ことを特徴とする駆動制御方法である。
【0030】
上記構成によれば、シンプルな構成および制御で、ピットマンアームの位置制御を高精度に行うことができる。
【0031】
本発明の一態様に係るプログラムは、上位装置からピットマンアームの位置に係る指令を受信する通信部と、前記ピットマンアームの角度を検出する角度検出部と、前記指令と、前記ピットマンアームの角度とに基づいて、前記ピットマンアームに対する駆動トルクを算出する算出部と、前記駆動トルクを、予め設定された比率に応じて配分する配分部と、駆動部を制御する駆動制御部と、をそれぞれ具備する複数の駆動指示系統を備えた駆動制御装置としてコンピュータを機能させるプログラムであって、前記複数の駆動指示系統のうち一の駆動指示系統に、前記算出部による算出処理と、前記配分部による配分処理と、を含む一連のトルク配分処理を行わせ、前記複数の駆動指示系統に具備される前記駆動制御部のそれぞれに、前記トルク配分処理によって配分されたトルクで前記駆動部を同期して制御させる、ことを特徴とするプログラムである。
【0032】
上記構成によれば、シンプルな構成および制御で、ピットマンアームの位置制御を高精度に行うことができる。
【発明の効果】
【0033】
本発明によれば、ピットマンアームの位置制御を高精度に行うことができる。
【図面の簡単な説明】
【0034】
【
図1】本発明の実施形態に係る車両100の一例を示す図。
【
図2】車両100のハンドル周りにおける駆動制御システム200の構成の一例を示す図。
【
図3】駆動モータの駆動制御に係る構成の一例を示す図。
【
図6A】駆動モータ320のモータ巻線の一例を示す図。
【
図7】駆動指示系統300であるECU基板の配置の一例を示す図。
【
図8】駆動指示系統300および駆動モータ320の構成の一例を示す図。
【
図9】駆動指示系統300の回路構成を概略的に示す図。
【
図10】本実施形態に係るモード切替えタイミングと、従来のモード切替えタイミングとの比較例を示す図。
【
図11】フェールオペレーション形態に係る処理の一例を示すフローチャート。
【
図12】フェールセーフオペレーション形態に係る処理の一例を示すフローチャート。
【
図13】他の車軸120に搭載される他の駆動指示系統300がモード変更した際の処理の一例を示すフローチャート。
【発明を実施するための形態】
【0035】
次に、本発明の実施形態を図面に基づいて説明する。
【0036】
(実施形態)
(車両100の一例)
図1は、本発明の実施形態に係る車両100の一例を示す図である。車両100は、トラック、バス、普通乗用車などである。車両100は、n個(例えば、2個)の車軸120(120-1、120-n)と、車軸120の数(n)に応じた数(例えば、4個)のタイヤ130(130-1、130-n)を備える。具体的には、前輪には、車軸120aに連結されるタイヤ130aを備える。後輪には、車軸120bに連結されるタイヤ130bを備える。なお、車軸120の数(n)は、「2」に限らず、トレーラや大型バスなどの車両100の場合「3以上」になることもある。
【0037】
車軸120は、電動パワーステアリングシステム(EPS:Electric Power Steering Systems)を備える。EPSは、バイワイヤ型である。EPSは、駆動モータと、減速機と、ピットマンアーム330(
図3)とを含む。駆動モータ320(
図3)は、操舵するための駆動トルクを生成する。減速機は、駆動モータ320による駆動トルクをピットマンアーム330以下の操舵機構に伝達する。ピットマンアーム330は、減速機に接続され、減速機から出力される駆動トルクにより回転する出力アームである。
【0038】
(車両100のハンドル周りにおける構成の一例)
図2は、車両100のハンドル周りにおける駆動制御システム200の構成の一例を示す図である。
図2に示すように、駆動制御システム200は、ハンドルアクチュエータ230と、駆動制御装置240とを備える。
【0039】
ハンドルアクチュエータ230(反力生成装置)は、角度制御装置250を備える。角度制御装置250は、駆動制御装置240の上位装置である。角度制御装置250は、各種センサの検出結果などに基づいて、最適な走行軌跡を計算するとともに、各駆動制御装置240に対してピットマンアーム330の位置に係る指令(以下「位置指令」という。)を行う。駆動制御装置240(240a~240n)は、各車軸120(120a~120n)に対応して設けられている。駆動制御装置240は、角度制御装置250からの位置指令に基づいて、所定のトルクで駆動モータ320を制御する。
【0040】
(駆動モータ320の駆動制御に係る構成)
図3は、駆動モータ320の駆動制御に係る構成の一例を示す図である。
図3に示すように、駆動制御装置240は、複数の駆動指示系統300(第1駆動指示系統300aおよび第2駆動指示系統300b)を備える。複数の駆動指示系統300は、それぞれ同様の構成を有した冗長化された構成である。複数の駆動指示系統300は、それぞれECU(Electronic Control Unit)によって実現される。
【0041】
また、角度制御装置250は、複数の角度制御系統251(第1角度制御系統251aおよび第2角度制御系統251b)を備える。複数の角度制御系統251は、それぞれ同様の構成を有した冗長化された構成である。複数の角度制御系統251は、それぞれECUによって実現される。
【0042】
(チャンネル1について)
第1角度制御系統251aは、駆動制御装置240に接続するチャンネル1を備える。 制御部310は、駆動指示系統300の全体を制御する。第1制御部310aは、チャンネル1を備え、第1角度制御系統251aのチャンネル1と接続する。第1制御部310aのチャンネル1は、第1角度制御系統251aのチャンネル1から、ピットマンアーム330の位置指令を受信する。
【0043】
(チャンネル2について)
第2角度制御系統251bは、駆動制御装置240に接続するチャンネル2を備える。
第2制御部310bは、チャンネル2を備え、第2角度制御系統251bが備えるチャンネル2と接続する。第2制御部310bのチャンネル2は、第2角度制御系統251bのチャンネル2から、位置指令を受信する。
【0044】
(駆動指示系統300)
複数の駆動指示系統300は、それぞれ、以下の構成を有する。
・制御部310:第1制御部310a、第2制御部310b。
・電源回路311:第1電源回路311a、第2電源回路311b。
・インバータ回路312:第1インバータ回路312a、第2インバータ回路312b。
・電流センサ313:第1電流センサ313a、第2電流センサ313b。
・モータ角度センサ314:第1モータ角度センサ314a、第2モータ角度センサ314b。
・ピットマンアーム(PA)角度センサ315:第1ピットマンアーム角度センサ315a、第2ピットマンアーム角度センサ315b。
【0045】
電源回路311は、供給電流を生成し、インバータ回路312へ送出する。インバータ回路312は、電源回路311から供給された電流値で駆動モータ320を動作させる。電流センサ313は、駆動モータ320の動作時の電流値を検出する。モータ角度センサ314は、駆動モータ320の角度(回転数)を検出する。モータ角度センサ314は、回転角検出部の一例である。ピットマンアーム角度センサ315は、ピットマンアーム330の角度(位置)を検出する。ピットマンアーム角度センサ315は、角度検出部の一例である。
【0046】
(駆動モータ320について)
駆動モータ320は、チャンネル1とチャンネル2を備える。駆動モータ320のチャンネル1は、第1駆動指示系統300aの各部(第1インバータ回路312a、第1モータ角度センサ314a、第1電流センサ313a)に接続される。例えば、第1インバータ回路312aは、駆動モータ320のチャンネル1を介して駆動モータ320に電流を供給する。同様に、駆動モータ320のチャンネル2は、第2駆動指示系統300bの各部(第2インバータ回路312b、第2モータ角度センサ314b、第2電流センサ313b)に接続される。例えば、第2インバータ回路312bは、駆動モータ320のチャンネル2を介して駆動モータ320に電流を供給する。
【0047】
(制御部310の構成)
次に、
図4および
図5を参照しながら、制御部310について説明する。
図4は、制御部310の構成の一例を示す図である。
図5は、制御部310の動作例の一例を示す図である。なお、
図5では、
図4に示す機能部のうち、一部の機能部を抜粋して記載している。
【0048】
図4において、制御部310(第1制御部310aおよび第2制御部310b)は、それぞれ、通信部400と、算出部401と、配分部402と、駆動制御部403と、設定部404と、算出異常検出部405と、算出異常取得部406と、駆動制御異常検出部407と、駆動制御異常取得部408と、切断部409と、縮退部410と、異常検出部411との各機能部を備える。
【0049】
制御部310は、ECUに具備されるCPU(Central Processing Unit)が、RAM(Random Access Memory)やROM(Read Only Memory)等のメモリに記憶される駆動制御プログラムを実行することによって実現される。なお、制御部310は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)等のハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。駆動制御プログラムは、予め制御部310のメモリに記憶されていてもよいし、着脱可能な記憶媒体等のメモリに記憶されており、当該メモリがドライブ装置に装着されることで制御部310のメモリにインストールされてもよい。また、メモリに記憶される各種情報は、制御部310がアクセス可能な外部サーバに記憶されていてもよい。
【0050】
(位置指令の受信について)
通信部400は、対応するチャンネルの角度制御系統251(上位装置)から位置指令を受信する。また、通信部400は、冗長構成を形成する他の駆動指示系統300と相互に通信する。
【0051】
(駆動トルクの算出について)
算出部401は、ピットマンアーム330に対する駆動トルクを算出する。具体的には、算出部401は、角度制御装置250から送信された位置指令を、通信部400を介して取得する。また、算出部401は、ピットマンアーム角度センサ315によって検出されたピットマンアーム330の角度(位置)を取得する。算出部401は、取得した位置指令とピットマンアーム330の角度とに基づいて、駆動トルクを算出する。
【0052】
(駆動トルクの配分について)
配分部402は、算出部401によって算出された駆動トルクを、予め設定された比率に応じて第1トルクと第2トルクとに配分する。当該比率は、例えば、1:1の比率である。ここで、一例を挙げて説明すると、本実施形態に係る第1駆動制御部403aおよび第2駆動制御部403bの能力(最大トルク)を、それぞれ「80」とする(計「160」)。また、算出部401によって算出された駆動トルクを「100」とする。この場合、配分部402は、「100」の駆動トルクを、「50/80」の第1トルクと、「50/80」の第2トルクとに配分する。なお、当該比率は、例えば、発熱による機能の制限などに応じて適宜変更することが可能である。
【0053】
(モードの設定について)
設定部404は、駆動指示系統300をマスタモードまたはスレーブモードに設定する。マスタモードに設定された駆動指示系統300は、一連のトルク配分処理を行う。トルク配分処理は、算出部401による駆動トルクの算出処理と、配分部402による駆動トルクの配分処理とを含む。スレーブモードに設定された駆動指示系統300は、トルク配分処理を行わない。スレーブモードの駆動指示系統300において、通信部400は、マスタモードの駆動指示系統300の配分部402によって配分された第2トルクを、マスタモードの通信部400から受信する。
【0054】
以下では、第1駆動指示系統300aがマスタモードに設定され、第2駆動指示系統300bがスレーブモードに設定されていることを前提として説明する。
【0055】
図5に示すように、第1駆動指示系統300aがトルク配分処理を行う。具体的には、第1算出部401aは、第1通信部400aによって受信された位置指令と、第1ピットマンアーム角度センサ315aによって検出されるピットマンアーム330の角度とに基づいて、駆動トルクを算出する。そして、第1配分部402aは、第1算出部401aによって算出された駆動トルク「100」を、1:1の比率で第1トルク「50」と第2トルク「50」とに配分する。第1配分部402aは、第1トルクを示す第1アシスト指令を第1駆動制御部403aへ出力するとともに、第2トルクを示す第2アシスト指令を、第1通信部400aを介して第2駆動制御部403bへ出力する。
【0056】
駆動制御部403は、駆動モータ320の駆動を制御する駆動制御処理を行う。駆動制御処理は、例えば、アシスト指令が示すトルクを電流指令値に変換して、電流制御を行い、モータ駆動信号を出力することである。第1駆動制御部403aは、第1アシスト指令が示す第1トルクで駆動モータ320を駆動制御する。第2駆動制御部403bは、第2アシスト指令が示す第2トルクで駆動モータ320を駆動制御する。
【0057】
第1駆動制御部403aおよび第2駆動指示系統300bは、それぞれ、第1配分部402aからアシスト指令を取得したタイミングで、駆動モータ320を駆動制御する。このため、第1駆動制御部403aおよび第2駆動制御部403bは、同期して駆動モータ320を駆動制御することができる。これにより、駆動指示系統300間で不整合なく、駆動モータ320を駆動制御でき、よって、ピットマンアーム330の高精度な位置制御を行うことができる。
【0058】
(モードの変更について)
本実施形態において、駆動制御装置240は、全系統でマスタモードとスレーブモードとが統一されたシステムに適用することができる。n個(例えば、2個)の車軸120にそれぞれ搭載される駆動指示系統300のうち、一の車軸120に搭載される駆動指示系統300おいて、モードが変更すると(切り替わると)、他の車軸120に搭載される駆動指示系統300についても、モードが変更するようになっている。
【0059】
(フェールセーフオペレーション形態:100%の出力を継続するモード)
次に、マスタモードの駆動指示系統300において、トルク配分処理が行えない異常(算出異常)が生じた場合におけるマスタモードの切り替えについて説明する。なお、以下に説明するマスタモードの切り替えを「フェールセーフオペレーション形態」という場合がある。
【0060】
算出異常検出部405は、トルク配分処理が行えない異常を示す算出異常を検出する。算出異常は、例えば、ピットマンアーム角度センサ315の異常(故障)や、通信部400が角度制御系統251から位置指令を受信できない異常(故障)である。なお、ピットマンアーム角度センサ315の異常の検出の一例については後述する。
【0061】
算出異常検出部405は、例えば、自駆動指示系統がマスタモードの場合に算出異常を検出する。算出異常は、駆動トルクの算出には適さないものの、駆動制御部403による駆動制御については正常な状態である。このため、算出異常検出部405によって算出異常が検出された場合、駆動指示系統300間でマスタモードとスレーブモードとの切り替えが行われる。
【0062】
(第1駆動指示系統300a→スレーブモード)
第1設定部404aは、算出異常検出部405によって算出異常が検出されると、スレーブモードを設定する。
【0063】
(第2駆動指示系統300b→マスタモード)
また、第1駆動指示系統300aの算出異常検出部405は、算出異常を検出すると、第1通信部400aを介して、算出異常が検出されたことを示す算出異常情報を第2駆動指示系統300bへ出力する。
【0064】
第2駆動指示系統300bの算出異常取得部406は、第1通信部400aから送信された算出異常情報を、第2通信部400bを介して取得する。なお、算出異常取得部406が取得する算出異常情報は、自駆動指示系統(第2駆動指示系統300b)を除く他駆動指示系統(第1駆動指示系統300a)において算出異常が検出されたことを示す情報である。第2設定部404bは、算出異常取得部406によって算出異常情報が取得された場合、マスタモードを設定する。
【0065】
このように、フェールセーフオペレーション形態は、マスタモードの第1駆動指示系統300aに算出異常が検出された場合、第1駆動指示系統300aをスレーブモードに変更し、スレーブモードの第2駆動指示系統300bをマスタモードに変更する形態である。このため、フェールセーフオペレーション形態では、算出異常が生じる前と同様の駆動トルクで駆動モータ320を駆動制御することができる。具体的には、駆動トルクが不足して位置制御できないおそれがあるシーン(例えば、停車での据え切り)でも、継続して位置制御を高精度に行うことができる。
【0066】
(フェールオペレーション形態:50%に縮退するモード)
次に、マスタモードの駆動指示系統300において、駆動制御が行えない異常(駆動制御異常)が生じた場合におけるマスタモードの切り替えについて説明する。なお、以下に説明するマスタモードの切り替えを「フェールオペレーション形態」という場合がある。
【0067】
駆動制御異常検出部407は、駆動制御部403の異常を示す駆動制御異常を検出する。駆動制御異常は、例えば、電源回路311、インバータ回路312、電流センサ313、モータ角度センサ314の異常である。なお、モータ角度センサ314の異常の検出の一例については後述する。
【0068】
駆動制御異常検出部407は、マスタモードおよびスレーブモードのいずれで設定されているかにかかわらず、駆動制御異常を検出可能にする。また、スレーブモードは、自駆動指示系統の動作を終了する終了モードを含む。マスタモードは、駆動トルクを縮退させる縮退モードを含む。設定部404は、駆動制御異常検出部407によって、駆動制御異常が検出されると、終了モードを設定する。
【0069】
例えば、第1駆動指示系統300aにおいて駆動制御異常が検出されたとすると、第1設定部404aは、終了モードを設定する。
【0070】
(第1駆動指示系統300a→終了モード)
例えば、第1駆動指示系統300aにおいて駆動制御異常が検出されたとすると、第1駆動指示系統300aは、駆動制御異常を検出すると、駆動制御異常が検出されたことを示す駆動制御異常情報を、第1通信部400aを介して、第2駆動指示系統300bへ出力する。
【0071】
(第2駆動指示系統300b→縮退モード)
第2駆動指示系統300bの駆動制御異常取得部408は、第1駆動指示系統300aから、駆動制御異常情報を取得する。なお、駆動制御異常取得部408が取得する駆動制御異常情報は、自駆動指示系統(第2駆動指示系統300b)を除く他駆動指示系統(第1駆動指示系統300a)において駆動異常が検出されたことを示す情報である。第2設定部404bは、駆動制御異常取得部408によって駆動制御異常情報が取得された場合、縮退モードを設定する。
【0072】
縮退モードにおいて、第2駆動指示系統300bの第2算出部401bは、駆動トルクを算出する。さらに、第2駆動指示系統300bの縮退部410は、第2配分部402bによる配分処理を禁止して、駆動トルクを第3トルクに縮退(低減)させる。例えば、縮退部410は、駆動トルクを50%の第3トルクに縮退させる。50%の第3トルクに縮退させるとは、例えば、算出部401によって算出された駆動トルクが「100」であるとすると、「50」の第3トルクに縮退させることである。
【0073】
なお、縮退部410は、「100」の駆動トルクを「50」の第3トルクに縮退させることに限らない。例えば、第1駆動制御部403aおよび第2駆動制御部403bの能力(最大トルク)がそれぞれ「80」であることから、縮退部410は、「100」の駆動トルクを、設定に応じて「80」までの範囲内の第3トルクに縮退させることが可能である。縮退部410によって駆動トルクが第3トルクに縮退されると、第2駆動制御部403bは、縮退された第3トルクで駆動モータ320を制御する。
【0074】
このように、フェールオペレーション形態は、一方の駆動指示系統300に駆動制御異常が検出された場合、当該一方の駆動指示系統300を終了モードに変更し、他方の駆動指示系統300をマスタモード(縮退モード)に変更する形態である。このため、フェールオペレーション形態では、一方の駆動指示系統300で駆動制御を行えない場合でも、他方の駆動指示系統300によって、駆動トルクを縮退させて駆動モータ320を駆動制御することができる。
【0075】
なお、第1駆動指示系統300aおよび第2駆動指示系統300bの両方に駆動制御異常が検出された場合には、両方とも終了モードとなり、ピットマンアーム330の位置制御については行われなくなる。
【0076】
(モータ巻線について)
図6Aは、駆動モータ320のモータ巻線の一例を示す図である。
図6Bは、相電流の波形の一例を示す図である。
図6Aに示すように、駆動モータ320は、第1モータ巻線600a(チャンネル1)と、第2モータ巻線600b(チャンネル2)とを備える。第1モータ巻線600aは、U1コイル601aと、V1コイル602aと、W1コイル603aとを備える。第2モータ巻線600bは、U2コイル601bと、V2コイル602bと、W2コイル603bとを備える。
【0077】
第1モータ巻線600a(チャンネル1)および第2モータ巻線600b(チャンネル2)は、電気的特性が同等であり、共通のステータ(不図示)に互いに、所定の電気角θ(例えば、30°)ずらして、キャンセル巻きされる。このため、
図6Bに示すように、モータ巻線600には、位相φが電気角θ(30°)だけずれた相電流が通電されるように制御される。これにより、通電位相差を最適化することができ、出力トルクを向上させることができる。また、通電位相差を電気角30°とすることで、トルクリプルを低減することができる。
【0078】
(ECU基板の配置)
図7は、駆動指示系統300であるECU基板の配置の一例を示す図である。
図7において、第1ECU基板700aは、第1駆動指示系統300aを有する。第2ECU基板700bは、第2駆動指示系統300bを有する。第1ECU基板700aと、第2ECU基板700bとは、反転して(180°回転させて)設けられる。第1ECU基板700aと第2ECU基板700bは、それぞれ、取付部701(701a、701b)を介して、駆動モータ320の出力軸(図中のZ方向)と同心上に設けられる。また、第1モータ角度センサ314aおよび第2モータ角度センサ314bは、それぞれ、駆動モータ320の出力軸上に配置され、当該出力軸上で駆動モータ320の回転角を検出する。このように、本実施形態では、第1ECU基板700aと第2ECU基板700bとが反転して設けられており、また、電気角θが30°ずれていることから、各モータ角度センサ314の検出結果は、180°+30°(または180°-30°)の相違が生じることになる。
【0079】
このため、第1駆動制御部403aおよび第2駆動制御部403bは、それぞれ、所定の電気角θ(30°)の相違に応じた制御信号を生成して駆動モータ320を制御する。具体的には、各駆動制御部403は、電流制御において、モータ巻線600の位相分ずらしたPWM(Pulse Width Modulation)信号を出力することにより、スイッチング素子をスイッチするタイミングをずらす。PWM信号は、各駆動指示系統300におけるモータ角度センサ314の検出結果(RPS値)を基に算出される。
【0080】
なお、各駆動指示系統300は、モータ巻線600の位相のずれに対して、生産時にオフセット設定(キャリブレーション)されている。このため、共通の電流指令値と、駆動指示系統300ごとにキャリブレーションされたRPS値を基に、電流制御(FOC:Field Oriented Control)を行うことで、駆動指示系統300間の位相をずらしたPWM信号を出力することができる。このような構成とすることにより、RPS値のキャリブレーション値のみが異なる共通のソフトウェアを駆動指示系統300に使用して、電流制御を行うことができる。
【0081】
これにより、複数のECU基板700を用いた構成でも、出力の回転方向が揃うため、簡単な制御とすることができる。また、各モータ角度センサ314が同軸上にあることから、各チャンネルにおける位相差が明確になるため、モータ角度センサ314や駆動モータ320に係る故障の検出を容易に行うことができる。さらに、各駆動指示系統300のチャンネルと、駆動モータ320の中心軸とが揃うため、各駆動指示系統300間の誤差の低減を図ることができる。したがって、モータ角度の検出精度を向上させ、ピットマンアーム330の位置制御を高精度に行うことができる。
【0082】
(異常の検出例:ピットマンアーム330の角度の保証)
モータ角度センサ314の異常と、ピットマンアーム角度センサ315の異常とのうち、少なくとも一方に異常が生じ、かつ、いずれのセンサの異常であるかについては特定できない場合、トルク配分処理および駆動制御処理のいずれが行えるかが不明である。このため、本実施形態では、このような場合に、フェールセーフオペレーション形態で動作させるようにしている。これについて、以下に説明する。
【0083】
異常検出部411は、モータ角度センサ314の異常およびピットマンアーム角度センサ315の異常のうち、少なくとも一方が生じたこと(以下「センサ異常」という。)を検出する。なお、異常検出部411は、センサ異常を検出するものの、いずれのセンサの異常であるかについては、特定できないものとする。
【0084】
異常検出部411は、モータ角度センサ314によって検出される回転角と、ピットマンアーム角度センサ315によって検出される角度と、に基づいて、センサ異常を検出する。例えば、モータ角度センサ314およびピットマンアーム角度センサ315がそれぞれ正常の場合、モータ角度センサ314によって検出される回転角から得られる値と、ピットマンアーム角度センサ315によって検出される角度から得られる値とが、所定範囲内となる。一方で、一方のセンサに異常が発生した場合、これらの値に相違が生じ、すなわち、これらの値が所定範囲内とはならない。
【0085】
以下、センサ異常の検出について、具体的に説明する。モータ角度センサ314からは絶対値を得ることができないため、異常検出部411は、駆動制御システム200の起動時に、ピットマンアーム角度センサ315の検出結果から、仮想的にモータ角度センサ314の絶対値を定義しておく。異常検出部411は、モータ角度センサ314から検出結果(RPS値)を取得すると、RPS値に、所定の減速比(例えば、1/500)を乗じることにより換算値を算出する。さらに、異常検出部411は、この換算値(角度)と、ピットマンアーム角度センサ315によって検出された値(角度)との相違量が、一定値以内であるか否かを判別する。この判別において、相違量が一定値内であると判別した場合、異常検出部411は、正常であると判別する。一方、この判別において、相違量が一定値外であると判別した場合、異常検出部411は、センサ異常を検出する。
【0086】
このように、本実施形態では、センサ異常を検出した駆動指示系統300は、終了モードを設定する。一方で、正常な駆動指示系統300は、マスタモードを設定する。これにより、一方の駆動指示系統300でセンサ異常が生じた場合でもあっても、他方の駆動指示系統300によって、駆動トルクを縮退させて駆動モータ320を駆動制御することができる。
【0087】
(センサ異常に係るセンサの特定について)
次に、センサ異常が検出された場合に、異常の対象となるセンサを特定することについて説明する。本実施形態では、モータ角度センサ314の位相差が明確になっている。このため、当該位相差が所定の相違であれば、モータ角度センサ314が正常(ピットマンアーム角度センサ315が異常)であり、一方で、当該位相差が所定の相違でなければ、モータ角度センサ314が異常(ピットマンアーム角度センサ315が正常)であると判別することができる。
【0088】
具体的に説明すると、例えば、第1駆動指示系統300aにセンサ異常があり、一方で、第2駆動指示系統300bが正常であるとする。この場合、第1駆動指示系統300aおよび第2駆動指示系統300bのうちのいずれかの異常検出部411は、第1モータ角度センサ314aによって検出された回転角と、第2モータ角度センサ314bによって検出された回転角とを比較する。比較結果が所定の相違(例えば、180°+30°)である場合、異常検出部411は、第1モータ角度センサ314aが正常であり、すなわち、第1ピットマンアーム角度センサ315aが異常であると判別できる。また、ピットマンアーム角度センサ315が異常の場合でも、モータ角度センサ314が正常であると判断できた場合、モータ角度センサ314を代わりに使って、継続して位置制御をすることもできる。
【0089】
一方で、当該比較結果が所定の相違ではない場合、異常検出部411は、第1モータ角度センサ314aが異常であると判別できる。第1ピットマンアーム角度センサ315aの異常は、算出異常に含まれる。算出異常は、駆動制御部403による駆動制御については正常な状態である。このため、ピットマンアーム角度センサ315の異常であることが判別された場合、設定部404は、終了モードを設定せずに、スレーブモードを設定する。これにより、フェールセーフオペレーション形態として動作することができる。
【0090】
(ピットマンアーム330に異物等が付着した場合について)
ここで、ピットマンアーム330に異物等が付着した場合、異常検出部411は、センサ異常であると誤検出してしまうことがある。具体的には、第1ピットマンアーム角度センサ315aおよび第2ピットマンアーム角度センサ315bが同様の位置に配置されていることから、ピットマンアーム330に異物等が付着した場合、両方の駆動指示系統300の異常検出部411が同時にセンサ異常を検出してしまうことがある。
【0091】
この場合、異常検出部411は、ピットマンアーム角度センサ315が異常であると判別する。また、モータ角度センサ314を用いて、継続して位置制御を行うようにしてもよい。
【0092】
センサ異常ではないと判別した場合、各駆動指示系統300は、それまでのモードを保持すればよい。また、この場合、駆動指示系統300は、ピットマンアーム330に異物等が付着したおそれがある旨をユーザに通知するようにしてもよい。
【0093】
(各駆動指示系統300による駆動モータ320の制御について)
次に、故障時(終了モード)におけるモータ停止処理について、駆動モータ320周りの構成とともに説明する。
図8は、駆動指示系統300および駆動モータ320の構成の一例を示す図である。
図9は、駆動指示系統300の回路構成を概略的に示す図である。
図8および
図9に示すように、駆動モータ320は、角度制御装置250の指示に基づいて、第1制御部310aおよび第2制御部310bによって制御される。第1制御部310aおよび第2制御部310bは、駆動モータ320のコイルユニット810への通電を制御し、ロータの回転を調整する。
【0094】
コイルユニット810は、第1三相コイルユニット811と、第2三相コイルユニット812とを備える。第1三相コイルユニット811は、三相コイルを有し、第1制御部310aによって制御される。第2三相コイルユニット812は、三相コイルを有し、第2制御部310bによって制御される。なお、コイルユニット811、812において第1三相コイルユニット811と第2三相コイルユニット812とは、別体に設けられていてもよいし、三相コイルの一つのユニットであってもよい。
【0095】
第1インバータ回路312aは、第1三相コイルユニット811に通電する。第1インバータ回路312aは、例えば、複数のパワートランジスタ素子902により構成されている。第1スイッチング部800aは、第1三相コイルユニット811の終端が結線された第1結線部901aの接続を制御する。第1スイッチング部800aは、例えば、複数のパワートランジスタ素子(不図示)により構成されている。第1制御部310aは、第1インバータ回路312aおよび第1スイッチング部800aを制御する。
【0096】
第1制御部310aは、例えば、第1インバータ回路312aの各パワートランジスタ素子902のオン/オフのタイミングをPWM制御してパルス電流を発生し、第1三相コイルユニット811を制御する。なお、第1制御部310aは、PWM制御以外の制御方法により第1三相コイルユニット811を制御してもよい。第1制御部310aは、例えば、第1駆動指示系統300aの故障時(終了モード時)に、第1スイッチング部800aを開状態にし、第1三相コイルユニット811への通電を遮断する。これにより、駆動制御装置240は、故障時の安全性が確保される。
【0097】
第2インバータ回路312bは、第2三相コイルユニット812に通電する。第2インバータ回路312bは、例えば、複数のパワートランジスタ素子902により構成されている。第2スイッチング部800bは、第2三相コイルユニット812の終端が結線された第2結線部901bの接続を制御する。第2スイッチング部800bは、例えば、複数のパワートランジスタ素子(不図示)により構成されている。第2制御部310bは、第2インバータ回路312bおよび第2スイッチング部800bを制御する。
【0098】
第2制御部310bは、例えば、第2インバータ回路312bの各パワートランジスタ素子902のオン/オフのタイミングをPWM制御してパルス電流を発生し、第2三相コイルユニット812を制御する。なお、第2制御部310bは、PWM制御以外の制御方法により第2三相コイルユニット812を制御してもよい。第2制御部310bは、例えば、第2駆動指示系統300bの故障時(終了モード時)に、第2スイッチング部800bを開状態にし、第2三相コイルユニット812への通電を遮断する。これにより、駆動制御装置240は、故障時の安全性が確保される。
【0099】
第1制御部310aは、第1三相コイルユニット811を制御することにより、駆動モータ320の50%分の出力を制御する。第2制御部310bは、第2三相コイルユニット812を制御することにより、駆動モータ320の50%分の出力を制御する。この構成によれば、駆動制御装置240は、第1駆動指示系統300aまたは第2駆動指示系統300bのいずれか一方が故障しても、少なくとも半分の出力を確保することができる。
【0100】
なお、第1制御部310aは、第1三相コイルユニット811を制御することにより、駆動モータ320の100%分の出力を制御してもよい。この場合、第2制御部310bは、駆動モータ320を制御しない。また、第2制御部310bは、第2三相コイルユニット812を制御することにより、駆動モータ320の100%分の出力を制御してもよい。この場合、第1制御部310aは、駆動モータ320を制御しない。このようにすれば、駆動制御装置240は、第1駆動指示系統300aまたは第2駆動指示系統300bのいずれか一方が故障した場合、他方の駆動指示系統300に切り替えて100%の出力を確保することができる。
【0101】
なお、第1制御部310aと第2制御部310bとのいずれか一方が駆動モータ320の制御を行う場合、所定期間、運転回数毎等の所定のタイミングにおいて、第1制御部310aと第2制御部310bとを切り替えて駆動モータ320を制御させ、駆動モータ320の制御における負担を分散してもよい。第1制御部310aと第2制御部310bとの駆動モータ320の制御のバランスは、任意の比率に調整されてもよい。このようにすれば、駆動モータ320の制御における冗長性を確保することができる。また、駆動モータ320の制御における効率の良いパワーバランスを任意に選定することができる。
【0102】
(故障時のモータ停止処理について)
スイッチング部800は、コイルユニット810の終端が結線された結線部901の接続および切断を切り替える。ここで、一方の駆動指示系統300が駆動モータ320を停止させている状態(終了モード)において、他方の駆動指示系統300で駆動モータ320を動作させたとすると(縮退モードを開始させたとすると)、逆起電力が発生することにより、ブレーキトルクが発生してしまい、適切な駆動トルクを生成することができないおそれがある。このようなブレーキトルクの発生を防止するために、本実施形態において、切断部409は、設定部404によって終了モードが設定された場合、モータ停止処理を行う。モータ停止処理は、駆動モータ320への電源の供給を停止するともに、スイッチング部800を切断に切り替える処理である。これにより、逆起電力の発生を抑えることができる。
【0103】
(設定部404によるモードの切り替えタイミングについて)
次に、設定部404によるモードの切り替えタイミングについて説明する。まず、異常確定タイミングについて説明する。制御部310は、異常が検出されてから、一定時間以上継続した異常確定タイミングで、異常を確定させて、駆動モータ320を停止させる。言い換えれば、異常確定タイミングは、安全な状態に遷移するための処理を開始するタイミングであり、例えば、モータ停止処理を開始するタイミングである。一方で、制御部310は、異常の検出が一定時間以上継続しない場合、異常を確定させず、すなわち、駆動モータ320を停止させない。なお、異常とは、異常検出部411によるセンサ異常、算出異常検出部405による算出異常、および、駆動制御異常検出部407による駆動制御異常のうち、少なくともいずれか一つを含む。
【0104】
設定部404は、異常が検出された場合、異常の確定前のタイミングで、モードを変更する。言い換えれば、設定部404は、異常の検出が一定時間以上継続しない場合でも、異常の疑いがある段階で、モードを変更する。
【0105】
図10は、本実施形態に係るモード切替えタイミングと、従来のモード切替えタイミングとの比較例を示す図である。従来のモード切替えとは、例えば、一般的なマスタースレーブ冗長システムに係るモード切替えである。従来のモード切替えでは、システムの故障処理として、通常、故障検出後に任意の時間経過後に故障を確定する。また、マスタ側の駆動指示系統300が故障を検出した場合、通常処理として一旦マスタ側の駆動指示系統300のモータ駆動制御を停止した後に、スレーブ側をマスタに切り替える。なお、
図10では、フェールオペレーション形態を例に挙げて説明するが、フェールセーフオペレーション形態の場合も同様である。
【0106】
図10において、タイムチャート1010は、従来のモード切替えのタイミングを示す。タイミングt1は、第1駆動指示系統300aにおいて異常が検出されたタイミングである。タイミングt2は、第1駆動指示系統300aにおいて異常が確定する異常確定タイミングである。従来では、第1駆動指示系統300aは、異常確定タイミングt2で、マスタモードからスレーブモードに切り替えていた。また、第2駆動指示系統300bは、異常確定タイミングt2よりも後のタイミングt3で、スレーブモードからマスタモードに切り替えていた。このため、モードが切り替わるまでの間に、不適切な値で駆動モータ320を制御してしまうことがあった。
【0107】
一方で、
図10において、タイムチャート1000は、本実施形態に係るモード切替えのタイミングを示す。タイムチャート1000に示すように、タイミングt1で、第1駆動指示系統300aがマスタモードからスレーブモードに切り替わり、また、第2駆動指示系統300bがスレーブモードからマスタモードに切り替わる。このため、迅速なモードが切替えを行うことができるため、不適切な値で駆動モータ320を制御してしまうことを抑えることができる。なお、モードを切り替えた後に、異常確定タイミングt2で異常が検出されていない場合には、切り替えたモードを基に戻すようにしてもよい。
【0108】
(駆動制御装置240が行う処理)
次に、
図11~13を用いて、駆動制御装置240が行う処理について説明する。
【0109】
(フェールオペレーション形態に係る処理)
まず、
図11を用いて、フェールオペレーション形態に係る処理について説明する。
図11は、フェールオペレーション形態に係る処理の一例を示すフローチャートである。なお、
図11のステップS1201~1207の処理は、本フローチャートの開始当初にマスタモードに設定されている駆動指示系統300によって行われものとし、ステップS1208~1214の処理は、本フローチャートの開始当初にスレーブモードに設定されている駆動指示系統300によって行われるものとして説明する。
【0110】
図11において、マスタモードの駆動指示系統300は、駆動制御異常検出部407によって駆動制御異常が検出されたか否かを判断する(ステップS1201)。駆動制御異常が検出されない場合(ステップS1201:NO)、算出部401が駆動トルクを算出するとともに、配分部402が当該駆動トルクを第1トルクと第2トルクとに配分する(ステップS1202)。
【0111】
そして、駆動制御部403は、第1トルクで駆動モータ320を駆動制御する(ステップS1203)。また、マスタモードの駆動指示系統300は、他の駆動指示系統300へ第2トルクを送信する(ステップS1204)。さらに、通信部400は、現在の自駆動指示系統のモードを、他の駆動指示系統300および同じチャンネルの角度制御系統251へ送信する(ステップS1205)。なお、モードの変更がない場合には、ステップS1205の処理を省略してもよい。
【0112】
ステップS1201において、駆動制御異常が検出された場合(ステップS1201:YES)、設定部404は、終了モードを設定する(ステップS1206)。そして、駆動制御部403は、異常確定タイミングになると、駆動モータ320の駆動制御を停止し(ステップS1207)、ステップS1205に進む。
【0113】
スレーブモードの駆動指示系統300は、他の駆動指示系統300が終了モードに設定されたか否かを判断する(ステップS1208)。他の駆動指示系統300が終了モードに設定されていない場合(ステップS1208:NO)、通信部400は、他の駆動指示系統300から第2トルクを受信する(ステップS1209)。そして、駆動制御部403は、第2トルクで駆動モータ320を駆動制御し(ステップS1210)、ステップS1214に進む。
【0114】
ステップS1208において、他の駆動指示系統300が終了モードに設定された場合(ステップS1208:YES)、設定部404は、マスタモードを設定する(ステップS1211)。そして、算出部401が駆動トルクを算出するとともに、縮退部410が当該駆動トルクを第3トルクに縮退させる(ステップS1212)。
【0115】
そして、駆動制御部は、縮退部410によって縮退された第3トルクで駆動モータ320を駆動制御する(ステップS1213)。次に、通信部400は、現在の自系統のモードを、他の駆動指示系統300および同じチャンネルの角度制御系統251へ送信し(ステップS1214)、一連の処理を終了する。なお、モードの変更がない場合には、ステップS1214の処理を省略してもよい。
【0116】
(フェールセーフオペレーション形態に係る処理)
次に、
図12を用いて、フェールセーフオペレーション形態に係る処理について説明する。
図12は、フェールセーフオペレーション形態に係る処理の一例を示すフローチャートである。なお、
図12のステップS1301~1306の処理およびステップS1314~1317の処理は、本フローチャートの開始当初にマスタモードに設定されている駆動指示系統300によって行われるものとし、また、ステップS1307~1313の処理は、本フローチャートの開始当初にスレーブモードに設定されている駆動指示系統300によって行われるものとして説明する。
【0117】
図12において、マスタモードの駆動指示系統300は、算出異常検出部405によって算出異常が検出されたか否かを判断する(ステップS1301)。算出異常が検出された場合(ステップS1301:YES)、設定部404は、スレーブモードを設定し(ステップS1302)、ステップS1306に進む。なお、スレーブモードの設定は、算出異常の異常確定タイミングよりも前に行われる。
【0118】
一方、ステップS1301において、算出異常が検出されない場合(ステップS1301:NO)、算出部401が駆動トルクを算出するとともに、配分部402が当該駆動トルクを第1トルクと第2トルクとに配分する(ステップS1303)。
【0119】
そして、駆動制御部403は、第1トルクで駆動モータ320を駆動制御する(ステップS1304)。また、第1駆動指示系統300aは、第2駆動指示系統300bへ第2トルクを送信する(ステップS1305)。さらに、通信部400は、現在の自駆動指示系統のモードを、他の駆動指示系統300および同じチャンネルの角度制御系統251へ送信する(ステップS1306)。なお、モードの変更がない場合には、ステップS1306の処理を省略してもよい。
【0120】
スレーブモードの駆動指示系統300は、他の駆動指示系統300がスレーブモードに設定されたか否かを判断する(ステップS1307)。他の駆動指示系統300がスレーブモードに設定されていない場合(ステップS1307:NO)、通信部400は、他の駆動指示系統300から第2トルクを受信する(ステップS1308)。そして、駆動制御部403は、第2トルクで駆動モータ320を駆動制御し(ステップS1309)、ステップS1313に進む。
【0121】
ステップS1307において、他の駆動指示系統300がスレーブモードに設定された場合(ステップS1307:YES)、自駆動指示系統に具備される設定部404は、マスタモードを設定する(ステップS1310)。そして、自駆動指示系統に具備される算出部401が駆動トルクを算出するとともに、配分部402が当該駆動トルクを第1トルクと第2トルクとに配分する(ステップS1311)。
【0122】
そして、駆動制御部403は、自駆動指示系統の配分部402によって配分された第1トルクで駆動モータ320を駆動制御する(ステップS1312a)。また、マスタモードの駆動指示系統300は、他の駆動指示系統300へ第2トルクを送信する(ステップS1312b)。次に、通信部400は、現在の自駆動指示系統のモードを、他の駆動指示系統300および同じチャンネルの角度制御系統251へ送信する(ステップS1313)。なお、モードの変更がない場合には、ステップS1313の処理を省略してもよい。
【0123】
当初マスタモードの駆動指示系統300は、他の駆動指示系統300がマスタモードに設定されたか否かを判断する(ステップS1314)。他の駆動指示系統300がマスタモードに設定されていない場合(ステップS1314:NO)、駆動指示系統300は、そのまま処理を終える。一方で、他の駆動指示系統300がマスタモードに設定された場合(ステップS1314:YES)、駆動指示系統300は、自駆動指示系統の算出部401による駆動トルクの算出を停止させる(ステップS1315)。そして、通信部400は、他の駆動指示系統300から、他の駆動指示系統300によって算出された第2トルクを受信する(ステップS1316)。次に、駆動制御部403は、第2トルクで駆動モータ320を駆動制御し(ステップS1317)、一連の処理を終了する。
【0124】
(他の車軸120に搭載される他の駆動指示系統300がモード変更した際の処理)
図13は、他の車軸120に搭載される他の駆動指示系統300がモード変更した際の処理の一例を示すフローチャートである。なお、
図13のステップS1401~1407の処理は、本フローチャートの開始当初にマスタモードに設定されている駆動指示系統300によって行われものとし、ステップS1408~1414の処理は、本フローチャートの開始当初にスレーブモードに設定されている駆動指示系統300によって行われるものとして説明する。また、
図13では、フェールセーフオペレーション形態に係る処理について説明する。
【0125】
図13において、マスタモードの駆動指示系統300は、角度制御装置250から送信されるモード指令がスレーブモード指令であるか否かを判断する(ステップS1401)。モード指令がスレーブモード指令ではない場合(ステップS1401:NO)、算出部401が駆動トルクを算出するとともに、配分部402が当該駆動トルクを第1トルクと第2トルクとに配分する(ステップS1402)。
【0126】
そして、駆動制御部403は、第1トルクで駆動モータ320を駆動制御する(ステップS1403)。また、駆動指示系統300は、他の駆動指示系統300へ第2トルクを送信する(ステップS1404)。さらに、通信部400は、自系統の駆動指示系統のモードを、他の駆動指示系統300および同じチャンネルの角度制御系統251へ送信する(ステップS1405)。
【0127】
ステップS1401において、モード指令がスレーブモード指令である場合(ステップS1401:YES)、設定部404は、スレーブモードを設定し(ステップS1406)、ステップS1405に進む。なお、スレーブモードの設定は、算出異常の異常確定タイミングよりも前に行われる。
【0128】
スレーブモードの駆動指示系統300は、他の駆動指示系統300がスレーブモードに設定され、かつ、モード指令がマスタモード指令であるという条件が成立したか否かを判断する(ステップS1408)。当該条件が成立しない場合(ステップS1408:NO)、通信部400は、他の駆動指示系統300から第2トルクを受信する(ステップS1409)。そして、駆動制御部403は、第2トルクで駆動モータ320を駆動制御し(ステップS1410)、ステップS1414に進む。
【0129】
ステップS1408において、当該条件が成立した場合(ステップS1408:YES)、自駆動指示系統に具備される設定部404は、マスタモードを設定する(ステップS1411)。そして、自駆動指示系統に具備される算出部401が駆動トルクを算出するとともに、縮退部410が当該駆動トルクの配分を行う(ステップS1412)。
【0130】
そして、駆動制御部403は、第1トルクで駆動モータ320を駆動制御する(ステップS1413a)。また、マスタモードの駆動指示系統300は、他の駆動指示系統300へ第2トルクを送信する(ステップS1413b)。次に、駆動指示系統300は、自系統の駆動指示系統のモードを、他の駆動指示系統300および同じチャンネルの角度制御系統251へ送信し(ステップS1414)、
図12のステップS1314(ステップS1314~1317)へ移行し、一連の処理を終了する。
【0131】
以上説明したように、本実施形態に係る駆動制御装置240は、駆動指示系統300の冗長構成とし、一の駆動指示系統300がトルク配分処理を行い、各駆動制御部403が配分されたトルクで駆動モータ320を同期して制御する。これにより、各駆動指示系統300間で駆動モータ320に係る制御に不整合が生じることを抑え、よって、シンプルな構成および制御で、ピットマンアーム330の位置制御を高精度に行うことができる。また、本実施形態では、駆動トルクを、予め設定された比率に配分するため、当該トルクで動作させた際に、各駆動指示系統300の電流センサ313で測定した電流値から推定したトルクと配分後の駆動トルクを比較することにより、適切な駆動制御を行えているかを判別することができる。したがって、ピットマンアーム330の位置制御を高精度に行うことができる。
【0132】
また、本実施形態に係る駆動制御装置240おいて、駆動指示系統300は、マスタモードまたはスレーブモードに設定し、マスタモードにおいてトルク配分処理を行い、スレーブモードにおいてトルク配分処理を行わないようにする。これにより、マスタモードの駆動指示系統300が故障した場合でも、スレーブモードの駆動指示系統300をマスタモードに設定することにより、それまでと同様の駆動トルクで駆動モータ320を同期して制御することができる。したがって、一方の駆動指示系統300が故障した場合でも、各駆動指示系統300間で駆動モータ320に係る制御に不整合が生じることを抑え、ピットマンアーム330の位置制御を高精度に行うことができる。
【0133】
また、駆動制御装置240において、駆動指示系統300のそれぞれは、算出異常検出部405によって算出異常が検出された場合にスレーブモードを設定する。これにより、駆動指示系統300は、算出異常を検出した場合に、トルク配分処理を行わないようにすることができる。したがって、算出異常が検出された場合に、誤った駆動トルクの算出や誤った駆動トルクの配分が行われることを抑えることができる。よって、各駆動指示系統300間で駆動モータ320に係る制御に不整合が生じることを抑えることができる。
【0134】
また、駆動制御装置240において、駆動指示系統300のそれぞれは、算出異常情報を取得した場合、マスタモードを設定する。これにより、算出異常のない駆動指示系統300がトルク配分処理を行うことができる。したがって、他の駆動指示系統300において算出異常が検出された場合でも、それまでと同様の駆動トルクで駆動モータ320を同期して制御することができる。
【0135】
また、駆動制御装置240において、駆動指示系統300のそれぞれは、駆動制御異常を検出した場合、終了モードに設定する。これにより、駆動指示系統300は、駆動制御異常を検出した場合に、駆動モータ320の駆動制御を行わないようにすることができる。したがって、駆動制御異常が検出された場合に、誤った駆動制御が行われることを抑えることができる。よって、各駆動指示系統300間で駆動モータ320に係る制御に不整合が生じることを抑えることができる。
【0136】
また、駆動制御装置240において、駆動指示系統300のそれぞれは、駆動制御異常情報を取得した場合、縮退モードを設定し、縮退モードでは、配分部402による配分処理を禁止して、駆動トルクを縮退させた第3トルクで駆動モータ320を制御する。これにより、一方の駆動指示系統300が駆動制御を行えない場合でも、他方の駆動指示系統300が、駆動トルクの50%~80%の範囲で駆動モータ320を制御することができる。
【0137】
また、駆動制御装置240において、駆動指示系統300のそれぞれは、モータ角度センサ314の検出結果と、ピットマンアーム角度センサ315の検出結果とに基づいて、センサ異常を検出する。これにより、別途構成部品等を付加しなくても、ピットマンアーム330の位置制御に係る部品で、センサ異常を確度よく検出することができる。
【0138】
また、本実施形態において、モータ角度センサ314は、駆動モータ320の出力軸と同心上に配置される。また、駆動モータ320は、駆動制御部403に対応して設けられ、相互に所定角度(30°)相違して設けられる複数のモータ巻線を有する。さらに、駆動制御部403は、所定角度(30°)の相違に応じた制御信号を生成して駆動モータ320を制御する。これにより、複数のECU基板700を用いた構成でも、出力の回転方向が揃うため、簡単な制御とすることができる。また、各モータ角度センサ314が同軸上にあることから、各チャンネルにおける位相差が明確になるため、モータ角度センサ314や駆動モータ320に係る故障の検出を容易に行うことができる。さらに、各駆動指示系統300のチャンネルと、駆動モータ320の中心軸とが揃うため、各駆動指示系統300間の誤差の低減を図ることができる。したがって、駆動モータ320の回転角の検出精度を向上させ、ピットマンアーム330の位置制御を高精度に行うことができる。
【0139】
また、駆動制御装置240において、駆動指示系統300は、異常検出部411によって異常が検出された場合、異常の確定前のタイミングで、モードを変更する。これにより、迅速なモードが切替えを行うことができるため、不適切な値で駆動モータ320を制御してしまうことを抑えることができる。
【0140】
また、本実施形態において、駆動制御装置240は、終了モードが設定された場合、駆動モータ320への電源の供給を停止するともに、駆動モータ320のコイルユニット810(
図8、
図9)の終端が結線された結線部901(
図9)の接続を切断させる。これにより、縮退モードの開始時に逆起電力の発生を抑えることができるため、ブレーキトルクの発生を抑えることができ、よって、適切なトルクで駆動モータ320を制御することができる。
【0141】
また、本実施形態において、駆動制御装置240は、角度制御装置250に設定されるモードに応じたモード指令を角度制御装置250から受信し、当該モード指令が示すモードを設定する。これにより、駆動制御システム200の全体で統一したモードを設定することができるため、協調による簡単な制御を実現することができる。
【0142】
また、上述した各実施形態において、各制御部(角度制御系統251、駆動指示系統300)や各制御部が備える機能部(通信部400、算出部401、配分部402、駆動制御部403、設定部404、算出異常検出部405、算出異常取得部406、駆動制御異常検出部407、駆動制御異常取得部408、切断部409、縮退部410、異常検出部411)は、一のコンピュータ装置に具備される構成について説明した。ただし、これらは、他のコンピュータ装置に具備されていてもよい。例えば、これらは、外部サーバに具備されていてもよい。また、これらが具備されるコンピュータ装置は、1台であることに限らず、複数台であってもよい。具体的には、例えば、これらの機能部のうち一部の機能部が一のコンピュータ装置に具備され、他の機能部が他のコンピュータ装置に具備されてもよい。
【0143】
なお、以上に説明した、駆動制御装置240を実現するためのプログラムを、コンピュータ読み取り可能な記憶媒体に記憶し、そのプログラムをコンピュータシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記憶媒体」とは、USB(Universal Serial Bus)フラッシュメモリ、SSD(Solid State Drive)、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記憶媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記憶されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0144】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0145】
本明細書で開示した実施形態において、複数の機能が分散して設けられているものは、当該複数の機能の一部又は全部を集約して設けても良く、逆に複数の機能が集約して設けられているものを、当該複数の機能の一部又は全部が分散するように設けることができる。機能が集約されているか分散されているかにかかわらず、発明の目的を達成できるように構成されていればよい。
【符号の説明】
【0146】
100…車両、120…車軸、200…駆動制御システム、230…ハンドルアクチュエータ、240…駆動制御装置、250…角度制御装置、251a…第1角度制御系統、251b…第2角度制御系統、300a…第1駆動指示系統、300b…第2駆動指示系統、311a…第1電源回路、311b…第2電源回路、312a…第1インバータ回路、312b…第2インバータ回路、313a…第1電流センサ、313b…第2電流センサ、314a…第1モータ角度センサ、314b…第2モータ角度センサ、315a…第1ピットマンアーム角度センサ、315b…第2ピットマンアーム角度センサ、320…駆動モータ、330…ピットマンアーム、400a…第1通信部、400b…第2通信部、401a…第1算出部、401b…第2算出部、402a…第1配分部、402b…第2配分部、403a…第1駆動制御部、403b…第2駆動制御部、404a…第1設定部、404b…第2設定部、405…算出異常検出部、406…算出異常取得部、407…駆動制御異常検出部、408…駆動制御異常取得部、409…切断部、410…縮退部。