以下、複数の実施形態において、実質的に同一の構成には同一の符号を付して説明を省略する。
(第1実施形態)
図1に示すように、車両のステアリングシステム90は、操舵部材であるステアリングホイール91、ステアリングシャフト92、ピニオンギア96、ラック軸97、車輪98、および、操舵装置8等を備える。操舵装置8は、車両のステアリング操作を補助するための電動パワーステアリング装置である。
ステアリングホイール91は、ステアリングシャフト92と接続される。ステアリングシャフト92には、操舵トルクTsを検知するトルクセンサ94が設けられる。ステアリングシャフト92の先端には、ピニオンギア96が設けられる。ピニオンギア96は、ラック軸97に噛み合っている。ラック軸97の両端には、タイロッド等を介して一対の車輪98が連結される。
運転者がステアリングホイール91を回転させると、ステアリングホイール91に接続されたステアリングシャフト92が回転する。ステアリングシャフト92の回転運動は、ピニオンギア96によってラック軸97の直線運動に変換される。一対の車輪98は、ラック軸97の変位量に応じた角度に操舵される。
操舵装置8は、モータ80およびECU10を有する駆動装置40、ならびに、モータ80の回転を減速してステアリングシャフト92に伝える動力伝達部としての減速ギア89等を備える。モータ80は、いわゆる操舵制御アシストモータであり、駆動装置40は、ECU10とモータ80とが一体に構成された、いわゆる機電一体型の駆動装置である。
モータ80は、運転者によるステアリングホイール91の操舵を補助する補助トルクを出力するものであって、電源である電源191、291(図4参照)から電力が供給されることにより駆動され、減速ギア89を正逆回転させる。モータ80は、3相ブラシレスモータであって、ロータ860およびステータ840を有する(図2参照)。
モータ80は、巻線組としての第1モータ巻線180および第2モータ巻線280を有する。モータ巻線180、280は、電気的特性が同等であり、共通のステータ840に、互いに電気角を30[deg]ずらしてキャンセル巻きされる。これに応じて、モータ巻線180、280には、位相φが30[deg]ずれた相電流が通電されるように制御される。通電位相差を最適化することで、出力トルクが向上する。また、6次のトルクリプルを低減することができる。さらにまた、位相差通電により、電流が平均化されるため、騒音、振動のキャンセルメリットを最大化することができる。また、発熱についても平均化されるため、各センサの検知値やトルク等、温度依存の系統間誤差を低減可能であるとともに、通電可能な電流量を平均化できる。
ステアリングシャフト92は、操舵機構に相当し、操舵機構は、駆動装置40により駆動される。ラック軸97は、転舵機構に相当する。ECU10は、駆動装置40を制御する制御装置に相当する。
駆動装置40は、モータ80の軸方向の一方側にECU10が一体的に設けられており、いわゆる「機電一体型」であるが、モータ80とECU10とは別途に設けられていてもよい。ECU10は、モータ80の出力軸とは反対側において、シャフト870の軸Axに対して同軸に配置されている。ECU10は、モータ80の出力軸側に設けられていてもよい。機電一体型とすることで、搭載スペースに制約のある車両において、ECU10とモータ80とを効率的に配置することができる。
駆動装置40は、回転電機としてのモータ80と、モータ80の回転を検知する2つの検知回路130,230と、2つの検知回路130,230に電力を供給する2つの電源191,291とを備えている。
以下、第1モータ巻線180の駆動制御に係る第1インバータ120、第1検知回路130および第1制御部170等の組み合わせを第1系統L1、第2モータ巻線280の駆動制御に係る第2インバータ220、第2検知回路230および第2制御部270等の組み合わせを第2系統L2とする。特に言及した場合を除き、各図においては、破線で区切った上側を第1系統L1として示し、下側を第2系統L2として示している。
また、第1系統L1に係る構成を主に100番台で付番し、第2系統L2に係る構成を主に200番台で付番する。また、第1系統L1および第2系統L2において、同様の構成には、下2桁が同じとなるように付番する。以下適宜、「第1」を添え字の「1」、「第2」を添え字の「2」として記載する。
モータ80は、ステータ840、ロータ860、および、これらを収容するハウジング830等を備える。ステータ840は、ハウジング830に固定されており、モータ巻線180、280が巻回される。ロータ860は、ステータ840の径方向内側に設けられ、ステータ840に対して相対回転可能に設けられる。
シャフト870は、ロータ860に嵌入され、ロータ860と一体に回転する。シャフト870は、軸受835、836により、ハウジング830に回転可能に支持される。シャフト870のECU10側の端部は、ハウジング830からECU10側に突出する。シャフト870のECU10側の端部には、検知対象としてのマグネット875が設けられる。
ハウジング830は、リアフレームエンド837を含む有底筒状のケース834、および、ケース834の開口側に設けられるフロントフレームエンド838を有する。ケース834とフロントフレームエンド838とは、ボルト等により互いに締結されている。リアフレームエンド837には、リード線挿通孔839が形成される。リード線挿通孔839には、モータ巻線180、280の各相と接続されるリード線185、285が挿通される。リード線185、285は、リード線挿通孔839からECU10側に取り出され、基板470に接続される。
ECU10は、カバー460、カバー460に固定されているヒートシンク465、ヒートシンク465に固定されている基板470、および、基板470に実装される各種の電子部品等を備える。
カバー460は、外部の衝撃から電子部品を保護したり、ECU10の内部への埃や水等の浸入を防止したりする。カバー460は、カバー本体461、および、コネクタ部462が一体に形成される。なお、コネクタ部462は、カバー本体461と別体であってもよい。コネクタ部462の端子463は、図示しない配線等を経由して基板470と接続される。コネクタ数および端子数は、信号数等に応じて適宜変更可能である。コネクタ部462は、駆動装置40の軸方向の端部に設けられ、モータ80と反対側に開口する。
基板470は、例えばプリント基板であり、リアフレームエンド837と対向して設けられる。基板470には、2系統分の電子部品が系統ごとに独立して実装されており、完全冗長構成をなしている。本実施形態では、1枚の基板470に電子部品が実装されているが、複数枚の基板に電子部品を実装するようにしてもよい。
基板470の2つの主面のうち、モータ80側の面をモータ面471、モータ80と反対側の面をカバー面472とする。図3に示すように、モータ面471には、第1インバータ120を構成するスイッチング素子121、第2インバータ220を構成するスイッチング素子221、検知部としての回転角センサ30、カスタムIC159、259等が実装される。回転角センサ30は、マグネット875の回転に伴う磁界の変化を検知可能なように、マグネット875と対向する箇所に実装される。
カバー面472には、コンデンサ128、228、インダクタ129、229、および、制御部170、270を構成するマイコン等が実装される。図3では、第1制御部170および第2制御部270を構成するマイコンについて、それぞれ「170」、「270」を付番した。コンデンサ128、228は、電源191、291から入力された電力を平滑化する。また、コンデンサ128、228は、電荷を蓄えることで、モータ80への電力供給を補助する。コンデンサ128、228、および、インダクタ129、229は、フィルタ回路を構成し、電源191、291を共用する他の装置から伝わるノイズを低減するとともに、駆動装置40から電源191、291を共用する他の装置に伝わるノイズを低減する。なお、図示しない電源リレー、モータリレー、および、電流センサ等についても、モータ面471またはカバー面472に実装される。
図4に示すように、ECU10は、モータ80と、第1電源191と、第2電源291とに電気的に接続されている。ECU10は、センサパッケージ60と、第1インバータ120および第2インバータ220と、第1制御部170および第2制御部270等を備えている。
第1検知回路130および第2検知回路230は、1つのセンサパッケージ60内に設けられている。センサパッケージ60は、図示しない基板上であって、モータ80のシャフトと一体となって回転するマグネットの磁界を検知可能な箇所に実装される。検知回路130、230を1パッケージとすることで、実装面積を抑えることができる。また、検知回路130、230ごとにパッケージを設けるようにしてもよい。センサパッケージ60には、電源端子161、162、261、262、グランド端子163、263、および、通信端子165、265が設けられる。
電源端子161は、定電圧源171を経由して第1電源191と接続される。電源端子162は、定電圧源172を経由して第1電源191と接続される。定電圧源172は、電源回路116およびダイオード173を経由して、第1電源191と接続される。また、定電圧源172は、スイッチ179およびダイオード174を経由して第1電源191と接続される。ダイオード174は、第1電源191側から定電圧源172側への通電を許容し、逆向きの通電を禁止する向きに配置される。
電源端子261は、定電圧源271を経由して第2電源291と接続される。電源端子262は、定電圧源272を経由して第2電源291と接続される。定電圧源272は、電源回路216およびダイオード273を経由して、第2電源291と接続される。また、定電圧源272は、スイッチ279およびダイオード274を経由して第2電源291と接続される。ダイオード274は、第2電源291側から定電圧源272側への通電を許容し、逆向きの通電を禁止する向きに配置される。
スイッチ179、279は、車両の始動スイッチと同期してオンオフされる。スイッチ179、279の一方は、始動スイッチそのものであってもよい。本実施形態の始動スイッチは、イグニッションスイッチである。以下、イグニッションスイッチを「IG」とし、スイッチ179、279のオンオフを、IGのオンオフとして説明する場合がある。また、IGがオフされている状態を「システム停止中」とする。
定電圧源171、172、271、272は、検知回路130、230を駆動できる程度(例えば数mA程度)の電力消費量の小さいレギュレータ等である。検知回路130、230には、IGがオフされている間においても、それぞれ定電圧源171、271を経由して電力供給が継続される。グランド端子163、263は、グランドと接続される。
第1検知回路130と第1制御部170とは、通信端子165および通信線166を経由して信号を授受可能に接続される。第2検知回路230と第2制御部270とは、通信端子265および通信線266を経由して信号を授受可能に接続される。第1検知回路130は、センサ素子131、132、および、回路部140を有する。第2検知回路230は、センサ素子231、232、および、回路部240を有する。
センサ素子131、132、231、232は、モータ80のシャフトと一体となって回転するマグネットの回転に伴う磁界の変化を検知する磁気検知素子である。センサ素子131、132、231、232は、例えばGMR、AMR、TMR等のMR素子、または、ホール素子等であって、同じ種類のものを用いてもよいし、異なる種類のものを用いてもよい。例えば、センサ素子131、231をGMR素子とし、センサ素子132、232をホール素子とする、といった具合に、同一の検知回路の2つのセンサ素子に異なる種類のものを用いることで、検知手段の異なる情報による冗長の堅牢性を高めることができる。センサ素子131、132、231、232の検知値は、必要に応じてAD変換された値が用いられる。
回路部140は、第1演算部としての角度演算部141、142、第2演算部としての回数演算部143、自己診断部145、および、通信部149を有する。回路部240は、第1演算部としての角度演算部241、242、第2演算部としての回数演算部243、自己診断部245、および、通信部249を有する。角度演算部141は、センサ素子131の検知値に基づき、モータ80の回転角θm11を演算する。角度演算部142は、センサ素子132の検知値に基づき、モータ80の回転角θm12を演算する。角度演算部241は、センサ素子231の検知値に基づき、モータ80の回転角θm21を演算する。角度演算部242は、センサ素子232の検知値に基づき、モータ80の回転角θm22を演算する。
角度演算部141、142、241、242にて演算される値は、回転角θmそのものに限らず、第1制御部170にて回転角θmを演算可能などのような値であってもよい。このような場合も含め、以下単に「回転角の演算」とする。回転回数TCの演算についても同様である。なお、本実施形態では、回転角θmを機械角とするが、電気角としてもよい。
回数演算部143は、センサ素子131の検知値に基づき、モータ80の回転回数TC11を演算する。回数演算部243は、センサ素子231の検知値に基づき、モータ80の回転回数TC21を演算する。
回転回数TCは、例えばモータ80の1回転を3以上の領域に分け、領域が変わるごとに回転方向に応じてカウントアップまたはカウントダウンすることで、カウント値に基づいて演算可能である。モータ80の1回転の分割数divを3以上とすることで、回転方向を判別可能である。また、1回転の分割数divを5領域以上とすることで、読み飛ばしが生じたときにも回転方向を判別可能である。また、回転角θmから回転回数TCを演算するようにしてもよい。ここで、本明細書でいう「回転回数」とは、単位rpm等で表される、いわゆる回転数(回転速度)ではなく、「ロータが何回転したか」を表す値である。回転角θmおよび回転回数TCは、モータ80の回転検知値に相当する。
自己診断部145は、センサ素子131、132、角度演算部141、142、および、回数演算部143の天絡や地絡等の電源異常を監視する。また、第1検知回路130のIC内部回路の動作異常の監視にて、回転角θm11の異常を監視する。例えば、第1検知回路130内のセンサ素子131、132の出力の検知部や演算回路の異常等による回転角θm11の異常を検知する方法として、回転角θm11、θm12を比較し、オフセット異常等の中間異常を検知する等がある。
自己診断部245は、センサ素子231、232、角度演算部241、242、および、回数演算部243の天絡や地絡等の電源異常を監視する。また、第2検知回路230のIC内部回路の動作異常の監視にて、回転角θm21の異常を監視する。例えば、第2検知回路230内のセンサ素子231、232の出力の検知部や演算回路の異常等による回転角θm21の異常を検知する方法として、回転角θm21、θm22を比較し、オフセット異常等の中間異常を検知する等がある。
自己診断部145、245における自己診断の方法は、上述の方法に限らず、どのような方法であってもよい。自己診断部145、245における自己診断結果は、ステータス信号に反映される。
また、自己診断部145における回転角θm11、θm12の比較による異常監視に替えて、第1制御部170にて回転角θm11、θm12の比較による異常監視を行うようにしてもよい。同様に、自己診断部245における回転角θm21、θm22の比較による異常監視に替えて、第2制御部270にて回転角θm21、θm22の比較による異常監視を行うようにしてもよい。
通信部149は、回転角θmに係る回転角信号、および、回転回数TCに係る回転回数信号を含む出力信号を生成する。生成された出力信号は、SPI(Serial Peripheral Interface)通信等のデジタル通信にて、第1制御部170に出力される。
通信部249は、回転角θmに係る回転角信号、および、回転回数TCに係る回転回数信号を含む出力信号を生成する。生成された出力信号は、SPI通信等のデジタル通信にて、通信端子265および通信線266を経由して、第2制御部270に出力される。
本実施形態では、センサ素子131、回数演算部143、および、自己診断部145には、電源端子161を経由して、第1電源191から常時、電力供給される。また、センサ素子132、角度演算部141、142、および、通信部149は、電源回路116またはスイッチ179がオンされているとき、第1電源191から電力供給され、電源回路116およびスイッチ179がオフされているとき、電力供給されず、動作を停止する。
また、センサ素子231、回数演算部243、および、自己診断部245には、電源端子261を経由して、第2電源291から常時電力供給される。また、センサ素子232、角度演算部241、242、および、通信部249は、電源回路216またはスイッチ279がオンされているとき、第2電源291から電力供給され、電源回路216およびスイッチ279がオフされているとき、電力供給されず、動作を停止する。
ECU10は、記憶部11と、異常判定部12と、舵角算出部13と、モータ制御部14とを備える。ECU10は、図示しない中央処理装置(CPU(CentralProcessing Unit))及びメモリ(ROM,RAM)をそれぞれ備えており、メモリに記憶されたプログラムをCPUが実行することによって、上記の各部の機能を得ることができ、モータ80を制御できる。
記憶部11は、モータ80により駆動される操舵機構であるステアリングシャフト92の操舵角に関する舵角情報を記憶する。記憶部11は、少なくとも、モータ80の停止時における舵角情報を記憶可能に構成されている。舵角情報は、ステアリングシャフト92の操舵角を検知する舵角センサの検知値(舵角検知値)のみならず、モータ80の回転角や回転回数等の、その値に基づいて、操舵角の算出が可能であるパラメータを含む。すなわち、舵角情報は、舵角検知値と、検知回路130,230から得られる回転検知値とを含み得る。なお、操舵角を検知可能なトルクセンサ94の検知値を舵角検知値として用いることができる。
記憶部11は、舵角情報の記憶に際して、舵角情報が正確に記憶されることを目的とする処理を実行してもよい。例えば、第1電源191および第2電源291に異常が検知されていないことを条件として、舵角情報の記憶を実行してもよい。また、記憶部11は、記憶しようとする検知値を複数回取得して、互いに比較することにより、もしくは、平均値や代表値を算出し、舵角情報として記憶してもよい。正確に舵角情報を記憶することにより、ECU10により舵角情報が読み出される際の異常を検知することができる。
異常判定部12は、モータ80の起動時にセンサ素子131,132,231,232の検知値に基づいて検知回路130,230が算出した複数の回転検知値と、モータ80の停止時に記憶部11に記憶された舵角情報(例えば、過去の検知回路130,230の回転検知値や舵角センサの検知値)とを含むパラメータのうち、異なる電力供給経路からの電力供給により得られた少なくとも2つのパラメータの比較により、異なる系統にそれぞれ含まれる検知回路130,230の異常、およびその検知値である回転検知値の異常を判定する。モータ80が停止してから、再度、モータ80が起動するまでに、モータ80の回転状態は変化しないため、モータ80の起動時において取得した回転検知値は、理想的には、その直前のモータ停止時に記憶された舵角情報と整合する値となる。このため、モータ80の起動時における回転検知値と、その起動の直前の停止時において記憶された舵角情報とを含むパラメータのうち、少なくとも2つのパラメータを互いに比較し、この回転検知値と、舵角情報とが乖離しているか否かを判定することにより、検知回路130,230およびその回転検知値の異常判定を実行できる。
異常判定部12は、上記パラメータの比較に際して、異なる電力供給経路からの電力供給により得られた少なくとも2つのパラメータを選択して、比較を実行する。例えば、第1系統L1と第2系統L2の2系統においては、第1電源191のみから電力供給されて得られたパラメータと、第2電源291のみから電力供給されて得られたパラメータと、第1電源191および第2電源291の双方から電力供給されて得られたパラメータとは、いずれも互いに、異なる電力供給経路からの電力供給により得られたパラメータに相当する。パラメータが回転検知値である場合には、このパラメータを得る際の電力供給経路は、検知回路130,230に電力供給する電力供給経路に相当する。パラメータが舵角情報である場合には、このパラメータを得る際の電力供給経路は、記憶値として記憶された舵角情報を読み出す制御部(例えば、第1制御部170、第2制御部270)に電力供給する電力供給経路に相当する。
ステアリングシステム90が舵角センサを備えている場合には、記憶部11は、舵角情報として、舵角センサが検知する舵角検知値を記憶してもよい。また、異常判定部12は、モータ80の起動時に、回転検知値と、舵角情報と、舵角センサから取得された舵角検知値とを含むパラメータのうち、異なる電力供給経路からの電力供給により得られた少なくとも2つのパラメータの比較により、各パラメータの異常を判定するように構成されていてもよい。なお、パラメータの比較に際しては、後述する下記式(1)等を用いることによって、回転検知値と舵角検知値とを共通のパラメータに変換して比較してもよい。
舵角算出部13は、複数の回転検知値および舵角情報のうち、異常判定部12により異常と判定されなかったパラメータ(回転検知値まはた舵角情報)に基づいて、操舵角を算出する。このため、異常と判定されなかった検知回路の回転検知値に基づいて、高精度に操舵角を算出できる。なお、下記式(1)を用いて、回転角θmと回転回数TCとから舵角を算出することができる。
A=INT(TC/k)×360+θm … (1)
上記式(1)において、「INT(TC/k)」は、回転回数TCを、モータ80の1回転当たりの回転回数TCであるkで割った商(TC/k)の整数部を示す。例えば、回転回数TCの角度領域を定めるカウント間隔が90°であれば、kは4となる。
モータ制御部14は、運転者の操舵に伴うステアリングシャフト92の回転量(絶対角)を示す操舵側絶対角Y1と、操舵トルクThと、車速Vcとに基づいて、モータ80に対するトルクの指令値である操舵トルク指令値を演算する。この操舵側絶対角Y1として、舵角算出部13により算出された操舵角が用いられる。更に、この操舵トルク指令値に基づいて、モータ80を制御するための制御信号(より詳細には、インバータを操作するための操作信号)を演算する。絶対角Y1は、車両を直進走行させる場合のステアリングシャフト92の角度を中立位置とし、この中立位置から、車輪98を左右のいずれかの操舵限界角度まで操舵する場合の回転角度を示す値である。
本実施形態では、第1制御部170および第2制御部270は、それぞれ、記憶部11と、異常判定部12と、舵角算出部13と、モータ制御部14とを備えている。なお、記憶部11と、異常判定部12と、舵角算出部13と、モータ制御部14とは、第1制御部170と第2制御部270との一方のみに備えられていてもよい。または、第1制御部170および第2制御部270とは別個に、ECU10において、記憶部11と、異常判定部12と、舵角算出部13と、モータ制御部14とが備えられていてもよい。
図5に、図4に示す第1系統L1および第2系統L2の電力供給経路および通信経路を簡易的に示す。第1系統L1を構成する第1電源191と、第1制御部170と、第1検知回路130とは、互いに電気的に接続されている。第2系統L2を構成する第2電源291と、第2制御部270と、第2検知回路230とは、互いに電気的に接続されている。第1電源191と第1検知回路130とを接続する電力経路は、電力源から第1検知回路130に電力を供給する第1電力供給経路に相当し、第1系統L1に属する。第2電源291と第2検知回路230とを接続する電力経路は、電力源から第2検知回路230に電力を供給する第2電力供給経路に相当し、第2系統L2に属する。第1制御部170と第2制御部270とは、双方向通信が可能である。
第1制御部170は、第1検知回路130から、回転検知値として回転回数(TC1)を取得し、これを記憶値1として記憶することができる。第2制御部270は、第2検知回路230から、回転検知値として回転回数(TC2)を取得し、これを記憶値2として記憶することができる。双方向通信により、第1制御部170は、第2制御部270から、TC2および記憶値2を取得できる。第2制御部270は、第1制御部170から、TC1および記憶値1を取得できる。
図4,5に示すように、複数の系統において、それぞれ別個に、電力源と、制御部とが備えられている。すなわち、第1系統L1に、第1電源191と、第1制御部170と、第1検知回路130が備えられ、第2系統L2に、第2電源291と、第2制御部270と、第2検知回路230が備えられている。第1電源191と第2電源291とは独立しているため、第1検知回路130と第2検知回路230の双方において電力供給の異常が生じる可能性を低減することができる。また、第1制御部170と第2制御部270とは、それぞれ独立しているため、その双方において異常が生じる可能性を低減することができる。その結果、冗長性の高いステアリングシステム90を提供できる。
なお、第1電源191と第1制御部170または第1検知回路130との間、第2電源291と第2制御部270または第2検知回路230との間に、さらにレギュレータを備えるように構成されていてもよい。また、第1電源191と第2電源291とに替えて、1つの電源を用いるように構成されていてもよい。例えば、1つの電源に、第1電力供給経路と、第2電力供給経路とを接続し、各電力供給経路上にスイッチング素子を設けてもよい。そして、スイッチング素子を切り替えることによって、1つの電源を、第1電力供給経路と第2電力供給経路とのいずれか一方にのみ接続させることができ、1つの電源から、第1検知回路130と第2検知回路230への電力供給を切り替えることができる。1つの電源について、第1検知回路130への電力供給経路は第1系統L1に属し、第2検知回路230への電力供給経路は第2系統L2に属するものと理解できる。
図6は、ステアリングシステム90における起動状態の遷移図を示しており、横軸は時間軸である。図6の左端から経時的に説明すると、まず、イグニッションをオン状態からオフ状態に変更すると、前回の通常制御期間(図示していない)から、パワーラッチ期間に移行する。その後、パワーオフを実行するまでの期間は、パワーラッチ期間であり、ECU10はオン状態である一方で、ECU10から駆動装置40への出力はオフである。
パワーラッチ期間の開始時であるイグニッションオフ(IGオフ)時には、車両は停止しており(車速0)、駆動装置40はオフ状態であり、ECU10は、駆動装置40に制御信号を送信していない。パワーラッチ期間の開始時である、このイグニッションオフ時に、舵角情報の記憶が実行される。具体的には、ECU10のROMに、検知回路130,230から取得される回転回数(TC値)、舵角センサ(操舵角センサ、転舵角センサ)の検知値等を記憶する。
パワーオフを実行すると、ECU10はオン状態からオフ状態に変化する。その後、IGオンまでの期間は、パワーオフ期間であり、駆動装置40とECU10との双方がオフ状態である。
その後、イグニッションオン(IGオン)状態に移行し、ECU10および駆動装置40はオン状態に変化する。その後、イグニッションオフ時までは、通常制御期間である。通常制御期間において、ECU10のROMに記憶された回転回数、操舵角、転舵角等のRAMへの読み込みが実行される。パワーラッチ期間に記憶された操舵角、転舵角の記憶値は、通常制御期間にECU10が舵角を算出する際のオフセット補正値として使用できる。パワーラッチ期間に記憶された回転回数の記憶値は、RAMに読み込まれた操舵角、転舵角のオフセット補正値が、正常に読み込まれているかを判定するために使用できる。また、この判定の結果、操舵角、転舵角のRAMへの読み込みが異常であると判定された場合には、操舵角、転舵角の異常値をROMに記憶する。この操舵角、転舵角の異常値と比較することによっても、パワーラッチ期間に記憶された操舵角、転舵角の記憶値とを比較することによっても、RAMに読み込まれた操舵角、転舵角のオフセット補正値が、正常に読み込まれているかを判定することができる。
その後、イグニッションオフ状態となった後、パワーラッチ期間となる。上述のとおり、パワーラッチ期間の開始時には、回転回数、操舵角、転舵角等をROMに記憶する。なお、回転回数は、パワーラッチ期間、通常制御期間のいずれの期間においても、所定の周期で継続的に検知回路130,230から取得される。
なお、パワーオフ期間を設けることなく、パワーラッチ期間から通常制御期間に移行するようにしてもよい。パワーラッチ期間中にイグニッションがオフ状態からオン状態になった場合には、パワーオフ期間が省略される。この場合、通常制御期間においては、操舵角、転舵角のオフセット補正値を更新することなく、前のターンにおける通常制御期間において使用したオフセット補正値をそのまま使用してもよい。
第1系統L1と第2系統L2における電力供給経路が図5の状態にある場合について、モータ80の起動時に第1制御部170において実行される舵角算出処理のフローチャートを図7に示す。図7において、まず、ステップS101では、記憶値1,記憶値2を取得し、第1検知回路130からモータ80の回転回数TC1を検知値として取得し、第2検知回路230からモータ80の回転回数TC2を検知値として取得する。直前のモータ80の停止時に第1検知回路130から取得した回転回数TC1が、記憶値1として第1制御部170に記憶されている。直前のモータ80の停止時に第2検知回路230から取得した回転回数TC2が、記憶値2として第2制御部270に記憶されている。図6を用いて説明すると、通常制御の開始時におけるイグニッションオン時に、回転回数TC1、TC2を取得し、その直前のイグニッションオフ時(パワーラッチ開始時)において記憶された記憶値1、記憶値2の読み出しが実行される。その後、ステップS102に進む。
ステップS102では、記憶値2と、回転回数TC1との差が所定値A1よりも小さいか否かを判定する。記憶値2は、第2電源291からの電力供給によって第2制御部270から読み出されたパラメータであり、回転回数TC1は、第1電源191からの電力供給によって第1検知回路130から取得されたパラメータである。このため、記憶値2と回転回数TC1とは、異なる電力供給経路からの電力供給によって得られたパラメータに相当する。具体的には、減算式(記憶値2-TC1)の結果の絶対値である|記憶値2-TC1|<A1である場合には、回転回数TC1は正常であると判定し、ステップS103に進む。|記憶値2-TC1|≧A1である場合には、回転回数TC1は異常であると判定し、ステップS106に進む。
ステップS103では、正常と判定された回転回数TC1に基づいて、操舵機構の操舵角を算出した後、ステップS104に進む。ステップS104では、記憶値1と、回転回数TC2との差(減算値の絶対値)が所定値A2よりも小さいか否かを判定する。記憶値1は、第1電源191からの電力供給によって第1制御部170から読み出されたパラメータであり、回転回数TC2は、第2電源291からの電力供給によって第2検知回路230から取得されたパラメータである。このため、記憶値1と回転回数TC2とは、異なる電力供給経路からの電力供給によって得られたパラメータに相当する。具体的には、減算式(記憶値1-TC2)の結果の絶対値である|記憶値1-TC2|<A2である場合には、回転回数TC2は正常であると判定し、ステップS110に進む。|記憶値1-TC2|≧A2である場合には、回転回数TC2は異常であると判定し、ステップS105に進み、メータ等において、異常の通知を実行した後で、ステップS110に進む。この場合、第2系統L2における異常が通知される。
ステップS106では、記憶値1と、回転回数TC2との差(減算値の絶対値)が所定値A2よりも小さいか否かを判定する。具体的には、減算式(記憶値1-TC2)の結果の絶対値である|記憶値1-TC2|<A3である場合には、回転回数TC2は正常であると判定し、ステップS107に進む。ステップS106において|記憶値1-TC2|≧A3である場合には、回転回数TC2は異常であると判定し、ステップS111に進む。
なお、所定値A1~A3は、いわゆる第1閾値に相当し、例えば、過去のモータ80の起動時に第1検知回路130および第2検知回路230が取得した回転検知値の履歴等に基づいて、正常と判断される範囲内で設定することができる。また、所定値A3は、所定値A2と同じ値に設定してもよい。
ステップS107では、正常と判定された回転回数TC2に基づいて、操舵角を算出した後、ステップS108に進む。ステップS108では、メータ等において、第1系統L1における異常の通知を実行する。その後、ステップS110に進む。
ステップS110では、ステップS103もしくはステップS107において算出した操舵角に基づいて、モータ80の駆動制御が実行され、操舵アシスト制御が実行される。その後、処理を終了する。
他方、ステップS111では、ステアリングシャフト92の中立位置設定が実行される。具体的には、例えば、運転者や整備者等に対して、ステアリングホイール91の操作を促す通知を行って、運転者や整備者等がステアリングホイール91を操作することによって、ステアリングホイール91の初期位置を中立位置に合わせるようにしてもよい。または、運転者や整備者等に対して、ステアリングホイール91の初期位置を中立位置に設定することを通知した上で、その設定を行ってもよい。または、車両整備のサービスツール等により中立位置の設定を開始するコマンドを送った上で、運転者や整備者等によりステアリングホイール91を操作して貰い、中立位置に合わせてもよい。さらには、中立位置の設定に係る指令や操作は、車両の停車中のみ受け付ける等のフェイルセーフ機能を備えていることが好ましい。なお、ステアリングホイール91の初期位置とは、車両を直進走行させる場合のステアリングホイール91の角度を意味する。
ステップS111の後、ステップS112に進み、設定された中立位置に基づいて、モータ80の駆動制御が実行され、操舵アシスト制御が実行される。その後、ステップS113に進み、中立位置の学習が実行され、設定された中立位置がECU10に記憶された後で、処理を終了する。なお、中立位置の学習が終了するまでは、協調制御や一部の補償制御をオフするなど安全側に切り替えた操舵アシスト制御を実行するようにしてもよい。また、安全側に切り替えた操舵アシスト制御を実行する際には、メータにてワーニングランプを点灯させる等により、その旨を運転者や整備者等に通知してもよい。
上記のとおり、第1実施形態によれば、第1検知回路130は、第1電源191から電力供給されるように構成され、第2検知回路230は、第2電源291から電力供給されるように構成されている。ECU10の第1制御部170は、モータ80の起動時に第1電源191からの電力供給により取得した回転回数TC1と、直前のモータ80の停止時に記憶し、第2電源291からの電力供給により読み出した記憶値2(回転回数TC2の記憶値)とを比較することにより、回転回数TC1の値が異常であるか否かを判定する。また、モータ80の起動時に第2電源291からの電力供給により取得した回転回数TC2と、直前のモータ80の停止時に記憶し、第1電源191からの電力供給により読み出した記憶値1(回転回数TC1の記憶値)とを比較することにより、回転回数TC2の値が異常であるか否かを判定する。直前のモータ80の停止時と、その後、再度モータ80が起動する時において、モータ80の回転回数に変化はないため、記憶値2および記憶値1を、それぞれ、回転回数TC1と回転回数TC2の検知値の異常判定に使用でき、異常と判定されなかった回転回数の値に基づいて操舵角を算出できる。また、異常判定に際して、異なる電力供給経路からの電力供給により得られた記憶値と回転回数とを選んで互いに比較することにより、1つの電力供給経路の異常に起因して比較する記憶値と回転回数の双方が異常となった場合に正常と判定する等の誤判定が発生することを抑制できる。なお、第1検知回路130への電力供給経路と、第2検知回路230への電力供給経路とは、互いに独立しているため、電力源や電力供給経路に異常が発生した場合に、回転回数TC1と回転回数TC2のうちのいずれか一方は操舵角の算出に利用可能である場合が多く、冗長性を確保できる。
さらに、第1検知回路130および第2検知回路230について異常と判定された場合には、初期位置を中立位置に設定でき、さらに冗長性が向上する。すなわち、第1実施形態によれば、高精度の舵角算出が可能となるとともに、舵角算出処理が冗長化され、ステアリングシステム90における信頼性を向上させることができる。
(第2実施形態)
第2実施形態に係るステアリングシステムでは、図8に示すように、系統L1,L2の電力供給経路が第1実施形態と相違している。図8では、第1検知回路130および第2検知回路230のそれぞれが、第1電源191および第2電源291の双方から電力供給されている点において、図5と相違している。なお、第1電源191と第2検知回路230とを接続する電力経路と、第2電源291と第2検知回路230とを第2制御部270を介して接続する電力経路とは、電力源から第2検知回路230に電力を供給する第2電力供給経路に相当し、第2系統L2に属する。また、第2電源291と第1検知回路130とを接続する電力経路と、第1電源191と第1検知回路130とを第1制御部170を介して接続する電力経路とは、電力源から第1検知回路130に電力を供給する第1電力供給経路に相当し、第1系統L1に属する。その他の構成については第1実施形態と同様であるため説明を省略する。
本実施形態において、モータ80の起動時に第1制御部170において実行される舵角算出処理のフローチャートを図9に示す。
まず、ステップS201では、記憶値1,記憶値2を取得し、第1検知回路130からモータ80の回転回数TC1を取得し、第2検知回路230モータ80の回転回数TC2を取得する。直前のモータ80の停止時に第1検知回路130から取得した回転回数TC1が、記憶値1として第1制御部170に記憶されている。直前のモータ80の停止時に第2検知回路230から取得した回転回数TC2が、記憶値2として第2制御部270に記憶されている。その後、ステップS202に進む。
ステップS202では、記憶値1と、回転回数TC1との差が所定値B1よりも小さいか否かを判定する。記憶値1は、第1電源191からの電力供給によって第1制御部170から読み出されたパラメータであり、回転回数TC1は、第1電源191および第2電源291からの電力供給によって第1検知回路130から取得されたパラメータである。このため、記憶値1と回転回数TC1とは、異なる電力供給経路からの電力供給によって得られたパラメータに相当する。具体的には、|記憶値1-TC1|<B1である場合には、ステップS203に進む。|記憶値1-TC1|≧B1である場合には、ステップS206に進む。
ステップS203では、回転回数TC1から、操舵機構の操舵角を算出した後、ステップS204に進む。ステップS204では、記憶値2と、回転回数TC2との差(減算値の絶対値)が所定値B2よりも小さいか否かを判定する。具体的には、|記憶値2-TC2|<B2である場合には、ステップS210に進む。|記憶値2-TC2|≧B2である場合には、ステップS205に進み、メータ等において、異常の通知を実行した後で、ステップS210に進む。この場合、第2検知回路230における異常が通知される。
ステップS206では、記憶値2と、回転回数TC2との差(減算値の絶対値)が所定値A2よりも小さいか否かを判定する。記憶値2は、第2電源291からの電力供給によって第2制御部270から読み出されたパラメータであり、回転回数TC2は、第1電源191および第2電源291からの電力供給によって第2検知回路230から取得されたパラメータである。このため、記憶値2と回転回数TC2とは、異なる電力供給経路からの電力供給によって得られたパラメータに相当する。具体的には、|記憶値2-TC2|<B3である場合には、ステップS207に進む。ステップS206において|記憶値2-TC2|≧B3である場合には、ステップS211に進む。
なお、所定値B1~B3は、いわゆる第2閾値に相当し、例えば、過去のモータ80の起動時に第1検知回路130および第2検知回路230が取得した回転検知値の履歴等に基づいて、正常と判断される範囲内で設定することができる。所定値B3は、所定値B2と同じ値に設定してもよい。
ステップS207では、回転回数TC2に基づいて、操舵角を算出した後、ステップS208に進む。ステップS208では、メータ等において、第1検知回路130における異常の通知を実行する。その後、ステップS210に進む。
ステップS210では、ステップS203もしくはステップS207において算出した操舵角に基づいて、モータ80の駆動制御が実行され、操舵アシスト制御が実行される。その後、処理を終了する。
他方、ステップS211~S213の処理は、ステップS111~S113と同様であるため、説明を省略する。
上記のとおり、第2実施形態によれば、第1検知回路130および第2検知回路230のそれぞれが、第1電源191および第2電源291の双方から電力供給されるように構成されている。ECU10の第1制御部170は、モータ80の起動時に第1電源191および第2電源291の双方からの電力供給により取得した回転回数TC1と、直前のモータ80の停止時に記憶し、第1電源191からの電力供給により読み出した記憶値1(回転回数TC1の記憶値)とを比較することにより、回転回数TC1の値が異常であるか否かを判定する。また、モータ80の起動時に第1電源191および第2電源291の双方からの電力供給により取得した回転回数TC2と、直前のモータ80の停止時に記憶し、第2電源291からの電力供給により読み出した記憶値2(回転回数TC2の記憶値)とを比較することにより、回転回数TC2の値が異常であるか否かを判定する。異常判定に際して、異なる電力供給経路からの電力供給により得られた記憶値と回転回数を選んで互いに比較することにより、異常判定における誤判定を抑制して、異常判定を実行でき、異常と判定されなかった回転回数の値に基づいて操舵角を算出できる。また、その結果、高精度の舵角算出が可能となるとともに、舵角算出処理が冗長化され、ステアリングシステム90における信頼性を向上させることができる。
(第3実施形態)
第3実施形態に係るステアリングシステム90では、図10に示すように、外部センサ33をさらに備え、ECU10は、外部センサ33の検知値を取得可能に構成されている点において、第1実施形態と相違している。外部センサ33は、舵角センサであり、より具体的には、モータ80が操舵機構を駆動する場合には、操舵機構の舵角を検知可能な操舵角センサ(例えば、トルクセンサ94等)である。一方、後述する変形例のようにモータ80が転舵機構を駆動する場合には、外部センサ33は、転舵機構の舵角を検知可能な転舵角センサ(例えば、ラックストロークセンサ)等である。
図11に示すように、第1系統L1を構成する第1電源191と、第1制御部170と、第1検知回路130とは、互いに電気的に接続されている。第1検知回路130は、第1電源191から電力供給されており、この電力供給経路は、第1系統L1に属する。第2系統L2を構成する第2電源291は、第2制御部270および第2検知回路230と、それぞれ電気的に接続されている。第2検知回路230は、さらに、第1制御部170と電気的に接続されている。第2検知回路230は、第1電源191および第2電源291の双方から電力供給されており、この電力供給経路は、第2系統に属する。外部センサ33は、第1系統L1および第2系統L2のいずれからも独立して、ECU10の外部に設置されている。外部センサ33は、第1電源191、第1制御部170、第1検知回路130、第2電源291、第2制御部270、および第2検知回路230に、それぞれ電気的に接続されている。外部センサ33は、第1電源191および第2電源291の双方から電力供給されている。第1制御部170は、第1検知回路130および第2検知回路230から、回転回数TC1,TC2を取得することができる。第1制御部170は、外部センサ33から操舵角の検知値を取得し、これを記憶値1として記憶することができる。その他の構成については第1実施形態と同様であるため説明を省略する。
本実施形態において、モータ80の起動時に第1制御部170において実行される舵角算出処理のフローチャートを図12に示す。
まず、ステップS301では、記憶値1を取得し、第1検知回路130からモータ80の回転回数TC1を取得し、第2検知回路230からモータ80の回転回数TC2を取得する。直前のモータ80の停止時に外部センサ33から取得した操舵角θsが、記憶値1として第1制御部170に記憶されている。その後、ステップS302に進む。
ステップS302では、回転回数TC1と、回転回数TC2との差が所定値C1よりも小さいか否かを判定する。回転回数TC1は、第1電源191からの電力供給によって第1検知回路130から取得されたパラメータであり、回転回数TC2は、第1電源191および第2電源291からの電力供給によって第2検知回路230から取得されたパラメータである。このため、回転回数TC1と回転回数TC2とは、異なる電力供給経路からの電力供給によって得られたパラメータに相当する。具体的には、|TC1-TC2|<C1である場合には、回転回数TC1は正常であると判定され、ステップS303に進む。|TC1-TC2|≧C1である場合には、ステップS306に進む。
なお、所定値C1は、いわゆる第3閾値に相当し、例えば、過去のモータ80の起動時に第1検知回路130および第2検知回路230が取得した回転検知値の履歴等に基づいて、正常と判断される範囲内で設定することができる。
ステップS303では、回転回数TC1から、操舵機構の操舵角を算出した後、ステップS304に進む。ステップS304では、記憶値1と、操舵角θsとの差(減算値の絶対値)が所定値C2よりも小さいか否かを判定する。記憶値1は、第1電源191からの電力供給によって第1制御部170から読み出されたパラメータであり、操舵角θsは、第1電源191および第2電源291からの電力供給によって外部センサ33から取得されたパラメータである。このため、記憶値1と操舵角θsとは、異なる電力供給経路からの電力供給によって得られたパラメータに相当する。具体的には、|記憶値1-θs|<C2である場合には、操舵角θsの検知値は正常であると判定し、ステップS310に進む。|記憶値1-操舵角θs|≧C2である場合には、操舵角θsの検知値は異常であると判定し、ステップS305に進み、メータ等において、異常の通知を実行した後で、ステップS310に進む。この場合、外部センサ33の異常が通知される。
ステップS306では、記憶値1と、操舵角θsとの差(減算値の絶対値)が所定値C3よりも小さいか否かを判定する。具体的には、|記憶値1-θs|<C3である場合には、操舵角θsの検知値は正常であると判定し、ステップS307に進む。ステップS306において|記憶値1-θs|≧C3である場合には、外部センサ33は異常であると判定し、ステップS311に進む。
なお、所定値C2,C3は、いわゆる第4閾値に相当し、例えば、過去のモータ80の停止時に第1検知回路130および第2検知回路230が取得した回転検知値の履歴、または、外部センサ33が取得した操舵角の履歴に基づいて、正常と判断される範囲内で設定することができる。また、所定値C3は、所定値C2と同じ値に設定してもよい。
ステップS307では、記憶値1に基づいて、操舵角を算出した後、ステップS308に進む。ステップS308では、メータ等において、第1検知回路130および第2検知回路230における異常の通知を実行する。その後、ステップS310に進む。
ステップS310では、ステップS303もしくはステップS307において算出した操舵角に基づいて、モータ80の駆動制御が実行され、操舵アシスト制御が実行される。その後、処理を終了する。
他方、ステップS311~S313の処理は、ステップS111~S113と同様であるため、説明を省略する。
上記のとおり、第3実施形態によれば、第1検知回路130は、第1電源191から電力供給されるように構成され、第2検知回路230は、第2電源291から電力供給されるように構成されている。さらに、外部センサ33として舵角センサを備えている。ECU10の第1制御部170は、モータ80の起動時に、第1電源191からの電力供給により取得した回転回数TC1と、第1電源191および第2電源291の双方からの電力供給により取得した回転回数TC2とを比較することにより、回転回数TC1,TC2の値が異常であるか否かを判定する。このため、異常判定に際して、異なる電力供給経路からの電力供給により得られた回転回数を選んで互いに比較することにより、異常判定における誤判定を抑制して、異常判定を実行できる。また、モータ80の起動時に第1電源191および第2電源291の双方からの電力供給により取得した操舵角θsと、直前のモータ80の停止時に記憶し、第1電源191からの電力供給により読み出した記憶値1(θsの記憶値)とを比較することにより、操舵角θsの値が異常であるか否かを判定する。このため、異常判定に際して、異なる電力供給経路からの電力供給により得られた操舵角の記憶値と検知値とを選んで互いに比較することにより、異常判定における誤判定を抑制して、異常判定を実行できる。また、回転回数TC1と回転回数TC2との比較から、正常と判定された場合には、回転回数の検知値を異常判定に使用する一方で、第1検知回路130と第2検知回路230との少なくともいずれか一方が異常と判定された場合には、記憶値1と操舵角θsとの比較により異常判定を実行する。そして、正常と判定された場合には、記憶値1として記憶された操舵角に基づいて操舵角を算出できる。その結果、高精度の舵角算出が可能となるとともに、舵角算出処理が冗長化され、ステアリングシステム90における信頼性を向上させることができる。
(変形例)
第3実施形態の変形例として、図13に示す電力供給経路と通信経路とを備えた構成を例示できる。この変形例においては、図13に示すように、第2検知回路230は、第1制御部170ではなく、第2制御部270と電気的に接続されている。第2検知回路230は、第2電源291から電力供給されており、この電力供給経路は、第2系統L2に属する。外部センサ33は、第1電源191、第1制御部170、第1検知回路130、第2電源291、第2制御部270、および第2検知回路230に、それぞれ電気的に接続されている。外部センサ33は、第1電源191および第2電源291の双方から電力供給されている。第2制御部270から第1制御部170に対して、一方向通信が可能である。これによって、第1制御部170は、第1検知回路130から回転回数TC1を取得でき、第2制御部270からの通信によって、第2検知回路230からの回転回数TC2を取得することができる。第1制御部170は、外部センサ33から操舵角の検知値を取得し、これを記憶値1として記憶することができる。その他の構成については第3実施形態と同様であるため説明を省略する。変形例においても図12と同様の処理によって、操舵角の算出等を実行することができる。
変形例では、ステップS302に係る処理において、回転回数TC1は、第1電源191からの電力供給によって第1検知回路130から取得されたパラメータであり、回転回数TC2は、第2電源291からの電力供給によって第2検知回路230から取得されたパラメータである。このため、回転回数TC1と回転回数TC2とは、異なる電力供給経路からの電力供給によって得られたパラメータに相当する。
(第4実施形態)
図14に示すように、第4実施形態では、センサ素子132,232側にも、センサ素子131,231側と同様に、回数演算部144,244が設けられている。第1系統L1においては、センサ素子131が検知した回転回数TC11、センサ素子132が検知した回転回数TC12を取得することができる。第2系統L2においては、センサ素子231が検知した回転回数TC21、センサ素子232が検知した回転回数TC22を取得することができる。その他の構成については、第3実施形態に係る図10と同様であるため、説明を省略する。
図15に示すように、第1検知回路130は、回転回数TC11と回転回数TC12とを比較し、その差が所定の第5閾値を超えない場合に、回転回数TC11を回転回数TC1に設定する比較部130aを備えている。第2検知回路230は、回転回数TC21と回転回数TC22とを比較し、その差が所定の第5閾値を超えない場合に、回転回数TC21を回転回数TC2に設定する比較部230aを備えている。第1系統L1を構成する第1電源191と、第1制御部170と、第1検知回路130とは、互いに電気的に接続されている。第2系統L2を構成する第2電源291は、第2制御部270と、第2検知回路230とは、互いに電気的に接続されている。外部センサ33は、第1系統L1および第2系統L2のいずれからも独立して、ECU10の外部に設置されている。外部センサ33は、第1電源191、第1制御部170、第1検知回路130、第2電源291、第2制御部270、および第2検知回路230に、それぞれ電気的に接続されている。
第2制御部270から第1制御部170に対して、一方向通信が可能である。これによって、第1制御部170は、第1検知回路130から回転回数TC1を取得でき、第2制御部270からの通信によって、第2検知回路230からの回転回数TC2を取得することができる。第1制御部170は、外部センサ33から操舵角の検知値を取得し、これを記憶値1として記憶することができる。その他の構成については第3実施形態と同様であるため説明を省略する。
本実施形態において、モータ80の起動時に第1制御部170において実行される舵角算出処理のフローチャートを図16に示す。
まず、ステップS401では、記憶値1を取得し、第1検知回路130からモータ80の回転回数TC11,TC12を取得し、第2検知回路230からモータ80の回転回数TC21,TC22を取得する。直前のモータ80の停止時に外部センサ33から取得した操舵角θsが、記憶値1として第1制御部170に記憶されている。その後、ステップS402に進む。
ステップS402では、回転回数TC11と、回転回数TC12との差が所定値D1よりも小さいか否かを判定する。具体的には、|TC11-TC12|<D1である場合には、回転回数TC11は正常であると判定され、ステップS403に進む。|TC11-TC12|≧D1である場合には、ステップS410に進む。
ステップS403において、TC1=TC11に設定した後、ステップS404に進む。ステップS404では、回転回数TC21と、回転回数TC22との差が所定値D2よりも小さいか否かを判定する。具体的には、|TC21-TC22|<D2である場合には、回転回数TC21は正常であると判定され、ステップS405に進む。|TC21-TC22|≧D2である場合には、ステップS410に進む。
なお、所定値D1,D2は、いわゆる第5閾値に相当し、例えば、過去のモータ80の起動時に第1検知回路130および第2検知回路230が取得した回転検知値の履歴等に基づいて、正常と判断される範囲内で設定することができる。また、所定値D2は、所定値D1と同じ値に設定してもよい。
ステップS405において、TC2=TC21に設定した後、ステップS406に進む。ステップS406~S416に係る処理は、図12に示すステップS302~S308,S310~S313と同様であるため、説明を省略する。
上記のとおり、第4実施形態によれば、第1検知回路130は、センサ素子131,132から回転回数TC11,TC12を取得でき、回転回数TC11と回転回数TC12との比較に基づいて、回転回数TC1を設定できるため、回転回数TC1の精度が向上する。同様に、第2検知回路230は、センサ素子231,232から回転回数TC21,TC22を取得でき、回転回数TC21と回転回数TC22との比較に基づいて、回転回数TC2を設定できるため、回転回数TC2の精度が向上する。その結果、高精度の舵角算出が可能となるとともに、舵角算出処理が冗長化され、ステアリングシステム90における信頼性をより向上させることができる。
なお、第4実施形態で説明した回転回数TC11,TC12から回転回数TC1を設定する技術、および、回転回数TC21,TC22から回転回数TC2を設定する技術は、第3実施形態に限らず、第1、第2実施形態等の他の実施形態およびその変形例にも適用できることは明らかである。そして、その結果、同様に、高精度の舵角算出が可能となるとともに、舵角算出処理が冗長化され、ステアリングシステム90における信頼性をより向上させる効果を得ることができる。
上記の各実施形態によれば、以下の作用効果を得ることができる。
ステアリングシステム90では、駆動装置40は、第1系統L1として、モータ80の回転検知値を算出する第1検知回路130と、電力源としての第1電源191とを備える。また、第2系統L2として、モータ80の回転検知値を算出する第2検知回路230と、電力源としての第2電源291を備える。電力制御装置としてのECU10は、記憶部11と、異常判定部12と、舵角算出部13とを備える。記憶部11は、操舵機構および転舵機構の停止時に、操舵機構としてのステアリングシャフト92の操舵角に関する舵角情報を記憶する。異常判定部12は、モータ80の起動時に第1検知回路130および第2検知回路230から取得した複数の回転検知値と、その起動時の直前のモータ80の停止時に記憶部11に記憶された舵角情報(例えば、モータ80の過去の駆動時の回転検知値や舵角検知値)とを含むパラメータのうち、異なる電力供給経路からの電力供給により得られた少なくとも2つのパラメータの比較により、第1検知回路130および第2検知回路230の異常、および、これら検知回路130,230が検知する回転検知値の異常を判定する。それぞれの系統における検知回路による回転検知値と、記憶された舵角情報とを含むパラメータのうち、電力供給経路が異なる2つのパラメータを互いに比較して異常判定を実行することにより、共通の電力供給経路の異常に起因して比較に用いるパラメータの双方が異常となることによって異常判定に誤判定が生じることを抑制でき、異常判定の精度を確保して、各検知回路の異常を判定するため、より確実に異常判定を行うことができる。
また、舵角算出部13は、複数の回転検知値および舵角情報のうち、異常判定部12により異常と判定されなかったパラメータ(回転検知値まはた舵角情報)に基づいて、操舵角を算出する。このため、異常と判定されなかった検知回路の回転検知値に基づいて、高精度に操舵角を算出することが可能となり、舵角算出処理が冗長化される。異常判定の精度と、舵角算出における冗長性とを向上させることができるため、ステアリングシステム90における信頼性を向上させることができる。
また、ステアリングシステム90では、舵角算出部13は、複数の回転検知値を、舵角情報よりも優先的に採用して、舵角を算出する。モータ80の現在の駆動状態をより反映した回転検知値を優先的に採用することにより、操舵角の算出精度を確保することができる。
異なる電力供給経路からの電力供給により得られた少なくとも2つのパラメータの比較し、異常を判定するためには、例えば、ステアリングシステム90は、以下のように構成されていてもよい。複数の系統は、系統毎に個別に設けられた制御装置であって、自系統に備えられた電力源から電力供給される個別制御装置(例えば、第1制御部170,第2制御部270)をそれぞれ含み、それぞれ自系統の検知回路(例えば、第1検知回路130)は、自系統の電力源(例えば、第1電源191)から電力供給されるように構成されていてもよい。この場合、各個別制御装置における記憶部11は、舵角情報として、自系統の検知回路から取得した複数の回転検知値(例えば、回転回数TC1,TC2)を記憶するように構成されていてもよい。そして、異常判定部12は、モータ80の駆動時に、複数の系統のうちの2つの系統について一方の系統で取得された回転検知値と、他方で読み出された舵角情報とを比較し、その差が所定の第1閾値以上である場合に、回転検知値を取得した系統側の検知回路および回転検知値が異常であると判定するように構成されていてもよい。このように構成することにより、それぞれ異なる系統に備えられた電力源から電力供給される検知回路と個別制御装置から、それぞれ取得した回転検知値と舵角情報(回転検知値の記憶値)とを比較して、異常判定を実行することができる。
もしくは、異なる電力供給経路からの電力供給により得られた少なくとも2つのパラメータの比較し、異常を判定するために、ステアリングシステム90は、以下のように構成されていてもよい。複数の系統は、系統毎に個別に設けられた制御装置であって、自系統に備えられた電力源から電力供給される個別制御装置(例えば、第1制御部170,第2制御部270)をそれぞれ含み、自系統の検知回路(例えば第1検知回路130)は、自系統および他系統の電力源(例えば、第1電源191および第2電源291)から電力供給されるように構成されていてもよい。この場合、各個別制御装置における記憶部11は、舵角情報として、自系統の検知回路から取得した回転検知値を記憶するように構成されていてもよい。また、異常判定部12は、モータ80の駆動時に、複数の系統のうちの2つの系統について一方の系統で取得された回転検知値と、他方で読み出された舵角情報とを比較し、その差が所定の第2閾値以上である場合に、回転検知値を取得した系統側の検知回路およびその回転検知値が異常であると判定するように構成されていてもよい。このように構成することにより、複数の系統に備えられた電力源から電力供給される検知回路から取得した回転検知値と、各自その系統に備えられた電力源から電力供給される個別制御装置において読み出された舵角情報(回転検知値の記憶値)とを比較して、異常判定を実行することができる。
もしくは、異なる電力供給経路からの電力供給により得られた少なくとも2つのパラメータの比較し、異常を判定するために、ステアリングシステム90は、以下のように構成されていてもよい。ステアリングシステム90は、操舵機構と転舵機構のうち、モータ80により駆動される機構における舵角(操舵角、転舵角)を検知可能な舵角センサ(外部センサ33)を備えていてもよい。なお、操舵機構の舵角は、操舵角センサにより検知できる。また、転舵機構の舵角は、ラックストロークセンサ等の転舵角センサによって検知できる。この場合、複数の系統は、系統毎に個別に設けられた制御装置である個別制御装置(例えば、第1制御部170,第2制御部270)をそれぞれ含み、舵角センサは、複数の系統にそれぞれ含まれる検知回路および個別制御装置のうちの少なくともいずれか一方と異なる電力供給経路から電力供給されるように構成されていることが好ましい。
そして、記憶部11は、舵角情報として、舵角センサ(例えば、外部センサ33)が検知する舵角検知値を記憶するように構成されていてもよい。また、異常判定部12は、モータ80の起動時に、回転検知値と、舵角情報と、舵角センサから取得された舵角検知値とを含むパラメータのうち、異なる前記電力供給経路からの電力供給により得られた少なくとも2つのパラメータの比較により、各パラメータの異常を判定するように構成されていてもよい。
より具体的には、例えば、複数の系統の個別制御装置は、自系統に備えられた電力源から電力供給され、舵角センサは、自系統の電力源および他系統の電力源から電力供給されていてもよい。この場合、異常判定部12は、モータ80の起動時に、舵角センサから取得された舵角検知値と、個別制御装置により読み出された舵角情報(例えば、記憶値1)とを比較し、その差が所定の第4閾値以上である場合に、舵角センサおよび舵角検知値が異常であると判定するように構成されていてもよい。このように構成することにより、複数の系統に備えられた電力源から電力供給される舵角センサから取得した舵角検知値と、各自その系統に備えられた電力源から電力供給される個別制御装置において読み出された舵角情報(舵角検知値の記憶値)とを比較して、異常判定を実行することができる。
複数の系統のそれぞれは、主センサ(センサ素子131,231)と、副センサ(センサ素子132,232)とを含む複数の角度センサを備えるように構成されていてもよい。この場合、異常判定部12は、主センサの回転検知値と副センサの回転検知値の差が所定の第5閾値を超える場合に、主センサと副センサとの少なくともいずれか一方が異常であると判定してもよい。同じ系統内で、主センサと副センサとの双方において検知された回転検知値から、主センサの異常を検知することができるため、異常検知の信頼性が向上し、ひいては、舵角算出の信頼性が向上する。さらには、主センサの回転検知値と副センサの回転検知値の差が第5閾値以下である場合に、主センサの回転検知値をその系統の回転検知値とするように構成されていてもよい。
ECU10は、操舵機構の操舵角を算出するためのパラメータ(回転検知値、舵角検知値)について異常判定部により異常と判定された場合に、操舵機構の初期位置を操舵機構の中立位置に設定するように構成されていてもよい。さらには、ECU10によって中立位置の設定が実行される際に、運転者等に対して、中立位置設定を実行することが通知されるように構成されていてもよい。中立位置設定の通知は、スピードメータ等に表示して視覚的に通知するものであってもよいし、音声または通知音によって聴覚的に報知されるものであってもよい。
(変形例)
なお、上記の各実施形態では、ステアリングシステム90は、「コラムアシストタイプ」の場合を例示して説明したが、これに限定されない。例えば、モータ80の回転をラック軸97に伝える「ラックアシストタイプ」等の他の形式としてもよい。
また、ステアリングシステムは、図17に示すように、操舵機構を駆動するモータと、転舵機構を駆動するモータとの双方を備えていてもよい。転舵機構を駆動するモータにおいても、上記の各実施形態において説明した場合と同様に、異常判定処理および舵角算出処理を実行することができる。なお、転舵角を検知するために使用する舵角センサ(外部センサ33)としては、ラックストロークセンサ等の転舵角を検知可能なセンサを例示できる。
図17に示すステアリングシステム300は、いわゆるステア・バイ・ワイヤ型のステアリングシステムである。ステアリングシステム300は、運転者の操舵を受け付ける操舵装置310と、操舵装置310が受け付けた操舵量に応じて、車輪316を転舵する転舵装置320とを備えている。なお、ステア・バイ・ワイヤ型のステアリングシステムでは、「操舵」に替えて「反力」と称されることもある。
操舵装置310は、運転者の操作により回転するステアリング311と、ステアリング311の回転に伴って回転するステアリングシャフト312と、操舵側モータ313とを備えている。操舵側モータ313は、操舵側減速機314を介してステアリングシャフト312に連結されており、運転者のステアリング311の操作に応じた操舵を付与する。操舵側モータ313は、交流電力により回転駆動する交流モータである。また、操舵側モータ313は、インバータ315を介して電源に接続されている。インバータ315は、電源からの直流電力を交流電力に変換し、操舵側モータ313に給電する。
ステアリングシャフト312の先端側には、クラッチ312bを介してピニオン軸312aが設けられている。車両の通常の運転時ではクラッチ312bは開状態となっており、ステアリングシャフト312の回転はピニオン軸312aへ伝達されない。例えば、ステアリングシステム300の異常時等によりクラッチ312bが閉状態となることにより、ステアリングシャフト312の回転は、ピニオン軸312aへ伝達される。
転舵装置320は、車輪316の向きを変化させるラック軸321と、転舵側モータ322とを備えている。ラック軸321の両端には、タイロッドを介して車輪316が連結されている。転舵側モータ322は、転舵側減速機323を介してラック軸321に連結されており、ラック軸321に対して車輪316の向きを変化させる力である転舵力を付与する。転舵側モータ322は、インバータ324を介して電源に接続されている。インバータ324は、電源からの直流電力を交流電力に変換し、転舵側モータ322に給電する。
ピニオン軸312aは、ラック軸321に噛み合っており、クラッチ312bの開状態では、ステアリングシャフト312はラック軸321に機械的に連結されていない状態である。そのため、運転者のステアリング311の操作に伴うステアリングシャフト312の回転は、ラック軸321の直線運動に変換されない。一方、クラッチ312bの閉状態では、ステアリングシャフト312はラック軸321に機械的に連結された状態である。そのため、運転者のステアリング311の操作に伴うステアリングシャフト312の回転運動は、ラック軸321の直線運動に変換される。
操舵装置310のステアリングシャフト312には、運転者の操舵に応じた操舵トルクを検知するトルクセンサ317が設けられている。また、転舵装置320のラック軸321には、ラック軸321の直線移動量である変位量Xを検知するラックストロークセンサ325が設けられている。
ステアリングシステム300は、操舵側制御部としての操舵側ECU340と、転舵側制御部としての転舵側ECU345とを備えている。操舵側ECU340及び転舵側ECU345は、図示しない中央処理装置(CPU(CentralProcessing Unit))及びメモリ(ROM,RAM)をそれぞれ備えており、メモリに記憶されたプログラムをCPUが実行することによって、操舵側モータ313や転舵側モータ322への電力供給が制御される。
操舵側ECU340は、運転者の操舵に伴うステアリングシャフト312の回転量(絶対角)を示す操舵側絶対角Y1と、操舵トルクThと、車速Vcとに基づいて、操舵側モータ313に対するトルクの指令値である操舵トルク指令値を演算する。更に、この操舵トルク指令値に基づいて、インバータ315を操作するための操作信号を演算する。絶対角は、車両を直進走行させる場合のステアリング311の角度を中立位置とし、この中立位置から、車輪316を左右のいずれかの操舵限界角度まで操舵する場合の回転角度を示す値である。
操舵側ECU340は、回転検知回路として、操舵側モータ313の回転状態を示す検知値により操舵側絶対角Y1を演算する操舵側検知回路341を備えている。操舵側検知回路341は、検知値として、操舵側モータ313の回転角θm、及び操舵側モータ313が所定角度を回転した回数を示す回転回数TCとを演算する。例えば、操舵側モータ313には、ロータ又は回転軸と一体となって回転するマグネットが設けられており、操舵側検知回路341は、このマグネットが回転することによる磁界の変化により操舵側モータ313の回転角θmや回転回数TCを演算する。操舵側ECU340は、上述の実施形態と同様の電力供給経路および通信経路によって、電力源と接続するように構成でき、同様の処理を実行することができる。
転舵側ECU345は、ステアリングシャフト312の回転量(絶対角)を示す転舵側絶対角Y2と、変位量Xと、操舵トルクThと、車速Vcとに基づいて、転舵側モータ322に対するトルクの指令値である転舵トルク指令値を演算する。そして、この転舵トルク指令値に基づいて、インバータ324を操作するための操作信号を演算する。
転舵側ECU345は、回転検知回路として、転舵側モータ322の回転状態を示す検知値により転舵側絶対角Y2を演算する転舵側検知回路346を備えている。転舵側検知回路346は、検知値として、転舵側モータ322の回転角θmと、転舵側モータ322が所定角度を回転した回数を示す回転回数TCとを演算する。例えば、転舵側モータ322には、ロータ又は回転軸と一体となって回転するマグネットが設けられており、転舵側検知回路346は、このマグネットが回転することによる磁界の変化により転舵側モータ322の回転角θmや回転回数TCを演算する。
操舵側ECU340および転舵側ECU345は、上記の実施形態における操舵装置8のECU10と同様に、2系統に構成することができる。図4,5,8,10,11,13~15に図示した構成は、ECU10を操舵側ECU340または転舵側ECU345に読み替え、モータ80を、操舵側モータ313または転舵側モータ322に読み替えることにより、操舵側ECU340および転舵側ECU345においても適用できる。操舵側ECU340においては、上記の実施形態および変形例と同様であるため、その説明を省略し、以下、転舵側ECU345について、上記の実施形態および変形例との相違点を説明する。
転舵側ECU345に上記の実施形態に係る操舵装置8の構成を適用するに際しては、図10,11,13~15における外部センサ33は、ラックストロークセンサ325等の転舵角センサとなる。また、図12,16の処理において、操舵角θsに替えて、転舵角θrを用いることにより、転舵角の算出処理等を実行し、転舵側モータ322のアシスト運転を実行できる。
また、転舵側ECU345に係る舵角算出処理においては、図7,9,12,16における「操舵角」を「転舵角」と読み替えることにより、同様に実行できる。なお、図7に示すステップS111~S113、図9におけるステップS211~S213、図12におけるステップS311~S313、図16におけるステップS414~S416における処理において、操舵側に係る処理と相違している。
ステップS111における中立位置設定では、転舵機構の中立位置設定を実行する。具体的には、例えば、メータ等により運転者や整備者等に通知後、転舵側モータ322によりラック軸321をラックエンドの一端から他端まで変位させて中立位置を探索し、中立位置として設定してもよい。または、メータ等により運転者や整備者等にステアリングホイール操作を促す通知を行い、運転者や整備者等によるステアリングホイール操作によって、中立位置を探索し、中立位置として設定してもよい。または、メータ等により運転者や整備者等に転舵機構の中立位置設定を促す通知を行い、運転者や整備者等が車外から転舵機構の転舵角を確認し、その確認した転舵角に基づいて、中立位置を設定してもよい。また、車両整備のサービスツール等により中立位置の設定を開始するコマンドを送った上で、運転者や整備者等によりステアリングホイール91を操作して貰い、中立位置に合わせてもよい。さらには、中立位置の設定に係る指令や操作は、車両の停車中のみ受け付ける等のフェイルセーフ機能を備えていることが好ましい。
上記のとおり、操舵機構であるステアリングシャフト312を操舵側モータ313により駆動し、転舵機構であるラック軸321を転舵側モータ322により駆動するステアリングシステム300においても、操舵側モータ313を制御する操舵側ECU340は、記憶部11と、異常判定部12と、舵角算出部13と、モータ制御部14とに係る機能を有するように構成することができる。同様に、転舵側モータ322を制御する転舵側ECU345は、記憶部11と、異常判定部12と、舵角算出部13と、モータ制御部14とに係る機能を有するように構成することができる。
記憶部11は、操舵側モータ313により駆動される操舵機構であるステアリングシャフト312の操舵角に関する舵角情報、および、転舵側モータ322により駆動される転舵機構であるラック軸321の転舵角に関する舵角情報を記憶する。
異常判定部12は、操舵側モータ313または転舵側モータ322の駆動時にセンサ素子131,132,231,232の検知値に基づいて検知回路130,230が算出した複数の回転検知値と、記憶部11に記憶された舵角情報(例えば、過去の検知回路130,230の検知値や外部センサ33の検知値)とに基づいて、異なる系統にそれぞれ含まれる検知回路130,230の異常を判定する。このため、より確実に異常判定を行うことができる。
また、舵角算出部13は、複数の回転検知値および舵角情報のうち、異常判定部12により異常と判定されなかったパラメータ(回転検知値まはた舵角情報)に基づいて、舵角を算出する。このため、異常と判定されなかった検知回路の回転検知値に基づいて、高精度に舵角を算出できる。さらには、全ての検知回路について異常と判定された場合にも、記憶された舵角情報に基づいて舵角を算出できる。
また、操舵側ECU340においては、モータ制御部14は、運転者の操舵に伴うステアリングシャフト312の回転量(絶対角)を示す操舵側絶対角Y1と、操舵トルクThと、車速Vcとに基づいて、操舵側モータ313に対するトルクの指令値である操舵トルク指令値を演算する。この操舵側絶対角Y1として、舵角算出部13により算出された操舵角が用いられる。更に、この操舵トルク指令値に基づいて、インバータ315を操作するための操作信号を演算する。
また、転舵側ECU345においては、モータ制御部14は、ステアリングシャフト312の回転量(絶対角)を示す転舵側絶対角Y2と、変位量Xと、操舵トルクThと、車速Vcとに基づいて、転舵側モータ322に対するトルクの指令値である転舵トルク指令値を演算する。そして、この転舵トルク指令値に基づいて、インバータ324を操作するための操作信号を演算する。
上記のとおり、変形例に係るステアリングシステム300では、操舵側モータ313および転舵側モータ322のそれぞれにおいて、第1系統L1として、モータ313,322の回転検知値を算出する第1検知回路130と、電力源としての第1電源191とを備える。また、第2系統L2として、モータ313,322の回転検知値を算出する第2検知回路230と、電力源としての第2電源291を備える。制御装置としての操舵側ECU340および転舵側ECU345は、それぞれ、記憶部11と、異常判定部12と、舵角算出部13とを備える。記憶部11は、操舵機構および転舵機構の停止時に、操舵機構としてのステアリングシャフト92の操舵角、および、転舵機構としてのラック軸321の転舵角、に関する舵角情報を記憶する。異常判定部12は、それぞれのモータ(操舵側モータ313および転舵側モータ322)の起動時に、第1検知回路130および第2検知回路230から取得した複数の回転検知値と、その起動時の直前においてそれぞれのモータの停止時に記憶部11に記憶された舵角情報とに基づいて、第1検知回路130および第2検知回路230の異常を判定する。それぞれの系統における検知回路による回転検知値と、記憶された舵角情報とを用いて、各検知回路の異常を判定するため、より確実に異常判定を行うことができる。
また、舵角算出部13は、複数の回転検知値および舵角情報のうち、異常判定部12により異常と判定されなかったパラメータ(回転検知値まはた舵角情報)に基づいて、それぞれ、操舵角または転舵角を算出する。このため、異常と判定されなかった検知回路の回転検知値に基づいて、高精度に操舵角または転舵角を算出できるとともに、舵角算出処理が冗長化され、ステアリングシステム90における信頼性を向上させることができる。
なお、操舵側モータ313の駆動系と、転舵側モータ322の駆動系との双方が、第1系統L1と第2系統L2のような複数の系統を備えている必要はなく、いずれか一方のみが複数の系統を備えるように構成されていてもよい。また、記憶部11、異常判定部12、舵角算出部13等が、操舵側ECU340と、転舵側ECU345の双方にそれぞれ設けられている場合を例示して説明したが、これに限定されない。例えば、操舵側ECU340および転舵側ECU345から独立した別のECUに、記憶部11、異常判定部12、舵角算出部13等が設けられていてもよい。