JP6202302B2 - 回転角検出装置 - Google Patents

回転角検出装置 Download PDF

Info

Publication number
JP6202302B2
JP6202302B2 JP2013083038A JP2013083038A JP6202302B2 JP 6202302 B2 JP6202302 B2 JP 6202302B2 JP 2013083038 A JP2013083038 A JP 2013083038A JP 2013083038 A JP2013083038 A JP 2013083038A JP 6202302 B2 JP6202302 B2 JP 6202302B2
Authority
JP
Japan
Prior art keywords
rotation angle
calculation
predetermined
sensors
calculated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013083038A
Other languages
English (en)
Other versions
JP2014206413A (ja
Inventor
裕二 狩集
裕二 狩集
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JTEKT Corp
Original Assignee
JTEKT Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JTEKT Corp filed Critical JTEKT Corp
Priority to JP2013083038A priority Critical patent/JP6202302B2/ja
Publication of JP2014206413A publication Critical patent/JP2014206413A/ja
Application granted granted Critical
Publication of JP6202302B2 publication Critical patent/JP6202302B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Transmission And Conversion Of Sensor Element Output (AREA)
  • Power Steering Mechanism (AREA)

Description

この発明は、回転体の回転角を検出する回転角検出装置に関する。
回転体の回転角を検出する回転角検出装置として、ブラシレスモータの回転に応じて回転する検出用ロータを用いて、ブラシレスモータのロータの回転角を検出する回転角検出装置が知られている。具体的には、図19に示すように、検出用ロータ201(以下、「ロータ201」という)は、ブラシレスモータのロータに設けられている磁極対に相当する複数の磁極対を有する円筒状の磁石202を備えている。ロータ201の周囲には、2つの磁気センサ221,222が、ロータ201の回転中心軸を中心として所定の角度間隔をおいて配置されている。各磁気センサ221,222からは、所定の位相差を有する正弦波信号が出力される。これらの2つの正弦波信号に基づいて、ロータ201の回転角(ブラシレスモータのロータの回転角)が検出される。
この例では、磁石202は、5組の磁極対を有している。つまり、磁石102は、等角度間隔で配置された10個の磁極を有している。各磁極は、ロータ201の回転中心軸を中心として、36°(電気角では180°)の角度間隔で配置されている。また、2つの磁気センサ221,222は、ロータ201の回転中心軸を中心として18°(電気角では90°)の角度間隔をおいて配置されている。
図19に矢印で示す方向を検出用ロータ201の正方向の回転方向とする。そして、ロータ201が正方向に回転されるとロータ201の回転角が大きくなり、ロータ201が逆方向に回転されると、ロータ201の回転角が小さくなるものとする。各磁気センサ221,222からは、図20に示すように、ロータ201が1磁極対分に相当する角度(72°(電気角では360°))を回転する期間を一周期とする正弦波信号S1,S2が出力される。
ロータ201の1回転分の角度範囲を、5つの磁極対に対応して5つの区間に分け、各区間の開始位置を0°とし終了位置を360°として表したロータ201の回転角を、ロータ201の電気角θということにする。
ここでは、第1磁気センサ221からは、S1=A1・sinθの出力信号が出力され、第2磁気センサ222からは、S2=A2・cosθの出力信号が出力されるものとする。A1,A2は、振幅である。両出力信号S1,S2の振幅A1,A2が互いに等しいとみなすと、ロータ201の電気角θは、両出力信号S1,S2を用いて、次式に基づいて求めることができる。
θ=tan−1(sinθ/cosθ)
=tan−1(S1/S2)
このようにして、求められた電気角θを使って、ブラシレスモータを制御する。
特開2008-26297号公報
複数の磁気センサの出力信号に基づいて回転体の回転角を演算する回転角検出装置において、回転角の演算処理に異常が発生した場合には、誤った回転角が演算されてしまう。
この発明の目的は、回転体の回転角の演算処理に異常が発生した場合に、そのことを検知することができる回転角検出装置を提供することである。
請求項1記載の発明は、回転体(8)の回転角を検出するための複数のセンサ(71,72,73)と、所定の第1演算周期毎に、前記複数のセンサに含まれる2以上のセンサにおける2以上の所定数の異なるタイミングでサンプリングされた複数の出力信号を用いて、所定の第1演算方法によって前記回転体の回転角を演算する主回転角演算手段(77A,S45,S103)と、所定の第2演算周期毎に、前記複数のセンサに含まれる2以上のセンサにおける2以上の所定数の異なるタイミングでサンプリングされた複数の出力信号を用いて、前記第1演算方法とは異なる所定の第2演算方法によって前記回転体の回転角を演算する異常判定用の副回転角演算手段(77A,S48,S106)と、任意のタイミングにおいて、前記主回転角演算手段によって演算された回転角と、前記副回転角演算手段によって演算された回転角とを比較することにより、前記主回転角演算手段の演算処理に異常が発生したか否かを判別する異常判別手段(77A,S49,S107)とを含む、回転角演算装置である。なお、括弧内の英数字は、後述の実施形態における対応構成要素等を表すが、むろん、この発明の範囲は当該実施形態に限定されない。以下、この項において同じ。
この発明によれば、主回転角演算手段の演算処理に異常が発生した場合に、そのことを検知することができるようになる。
請求項2記載の発明は、前記第2演算周期が前記第1演算周期より長い、請求項1に記載の回転角演算装置である。この構成によれば、第2演算周期が第1演算周期と同じである場合に比べて、回転角演算装置全体における演算処理負担が軽減される。なお、第2演算周期が第1演算周期の2以上の整数倍であってもよい。
請求項3記載の発明は、前記第2演算周期が前記第1演算周期と同じである、請求項1に記載の回転角演算装置である。
請求項4記載の発明は、前記主回転角演算手段は、前記複数のセンサに含まれる所定の2つのセンサ(71,72)における3つの異なるタイミングでサンプリングされた6つの出力信号を用いて、所定の第1演算方法によって前記回転体の回転角を演算するように構成されており、前記副回転角演算手段は、前記所定の2つのセンサ(71,72)における3つの異なるタイミングでサンプリングされた6つの出力信号を用いて、前記第1演算方法とは演算過程が異なる所定の第2演算方法によって前記回転体の回転角を演算するように構成されている、請求項1〜3のいずれか一項に記載の回転角演算装置である。
請求項5記載の発明は、前記主回転角演算手段は、前記複数のセンサに含まれる所定の3つのセンサ(71,72,73)における2つの異なるタイミングでサンプリングされた6つの出力信号を用いて、所定の第1演算方法によって前記回転体の回転角を演算するように構成されており、前記副回転角演算手段は、前記所定の3つのセンサ(71,72,73)における2つの異なるタイミングでサンプリングされた6つの出力信号を用いて、前記第1演算方法とは演算過程が異なる所定の第2演算方法によって前記回転体の回転角を演算するように構成されている、請求項1〜3のいずれか一項に記載の回転角演算装置である。
請求項6記載の発明は、前記主回転角演算手段は、前記複数のセンサに含まれる所定の2つのセンサにおける3つの異なるタイミングでサンプリングされた6つの出力信号を用いて、所定の第1演算方法によって前記回転体の回転角を演算するように構成されており、前記副回転角演算手段は、前記複数のセンサに含まれる所定の3つのセンサにおける2つの異なるタイミングでサンプリングされた6つの出力信号を用いて、前記第1演算方法とは演算方法が異なる所定の第2演算方法によって前記回転体の回転角を演算するように構成されている、請求項1〜3のいずれか一項に記載の回転角演算装置である。
請求項7記載の発明は、前記主回転角演算手段は、前記複数のセンサに含まれる所定の3つのセンサにおける2つの異なるタイミングでサンプリングされた6つの出力信号を用いて、所定の第1演算方法によって前記回転体の回転角を演算するように構成されており、前記副回転角演算手段は、前記複数のセンサに含まれる所定の2つのセンサにおける3つの異なるタイミングでサンプリングされた6つの出力信号を用いて、前記第1演算方法とは演算方法が異なる所定の第2演算方法によって前記回転体の回転角を演算するように構成されている、請求項1〜3のいずれか一項に記載の回転角演算装置である。
図1は、本発明の一実施形態に係る回転角検出装置が適用された電動パワーステアリング装置の概略構成を示す模式図である。 図2は、モータ制御用ECUの電気的構成を示す概略図である。 図3は、電動モータの構成を図解的に示す模式図である。 図4は、検出操舵トルクThに対するq軸電流指令値Iq *の設定例を示すグラフである。 図5は、トルクセンサの構成を図解的に示す模式図である。 図6は、第1の磁石の構成および2つの磁気センサの配置を示す模式図である。 図7は、第1磁気センサおよび第2磁気センサの出力波形を示す模式図である。 図8は、第1の回転角演算部の動作を示すフローチャートである。 図9Aは、図8のステップS1の強制回転に基づく回転角演算処理の手順の一部を示すフローチャートである。 図9Bは、図8のステップS1の強制回転に基づく回転角演算処理の手順の一部を示すフローチャートである。 図10は、図9AのステップS15の相対的極番号の設定処理の詳細な手順を示すフローチャートである。 図11は、相対的極番号の設定処理を説明するための模式図である。 図12は、図8のステップS2の通常時の回転角演算処理の手順を示すフローチャートである。 図13は、図12のステップS45で実行される第2演算モードによる回転角算処理の詳細な手順を示すフローチャートである。 図14は、第1の磁石の構成および3つの磁気センサの配置を示す模式図である。 図15は、第1磁気センサ、第2磁気センサおよび第3磁気センサの出力波形を示す模式図である。 図16は、第1の回転角演算部の動作を示すフローチャートである。 図17は、図16のステップS71の強制回転に基づく回転角演算処理の手順を示すフローチャートである。 図18は、図16のステップS72の通常時の回転角演算処理の手順を示すフローチャートである。 図19は、従来の回転角検出装置による回転角検出方法を説明するための模式図である。 図20は、第1磁気センサおよび第2磁気センサの出力信号波形を示す模式図である。
以下では、この発明の実施形態を、添付図面を参照して詳細に説明する。
図1は、本発明の第1実施形態に係る回転角検出装置が適用されたトルクセンサを備えた電動パワーステアリング装置の概略構成を示す模式図である。
電動パワーステアリング装置1は、車両を操向するための操舵部材としてのステアリングホイール2と、このステアリングホイール2の回転に連動して転舵輪3を転舵する転舵機構4と、運転者の操舵を補助するための操舵補助機構5とを備えている。ステアリングホイール2と転舵機構4とは、ステアリングシャフト6および中間軸7を介して機械的に連結されている。
ステアリングシャフト6は、ステアリングホイール2に連結された入力軸8と、中間軸7に連結された出力軸9とを含む。入力軸8と出力軸9とは、トーションバー10を介して同一軸線上で相対回転可能に連結されている。すなわち、ステアリングホイール2が回転されると、入力軸8および出力軸9は、互いに相対回転しつつ同一方向に回転するようになっている。
ステアリングシャフト6の周囲には、本発明の一実施形態に係る回転角検出装置が適用されたトルクセンサ(トルク検出装置)11が設けられている。トルクセンサ11は、入力軸8および出力軸9の相対回転変位量に基づいて、ステアリングホイール2に与えられた操舵トルクを検出する。トルクセンサ11によって検出される操舵トルクは、モータ制御用ECU(電子制御ユニット:Electronic Control Unit)12に入力される。
転舵機構4は、ピニオン軸13と、転舵軸としてのラック軸14とを含むラックアンドピニオン機構からなる。ラック軸14の各端部には、タイロッド15およびナックルアーム(図示略)を介して転舵輪3が連結されている。ピニオン軸13は、中間軸7に連結されている。ピニオン軸13は、ステアリングホイール2の操舵に連動して回転するようになっている。ピニオン軸13の先端には、ピニオン16が連結されている。
ラック軸14は、自動車の左右方向(直進方向に直交する方向)に沿って直線状に延びている。ラック軸14の軸方向の中間部には、ピニオン16に噛み合うラック17が形成されている。このピニオン16およびラック17によって、ピニオン軸13の回転がラック軸14の軸方向移動に変換される。ラック軸14を軸方向に移動させることによって、転舵輪3を転舵することができる。
ステアリングホイール2が操舵(回転)されると、この回転が、ステアリングシャフト6および中間軸7を介して、ピニオン軸13に伝達される。そして、ピニオン軸13の回転は、ピニオン16およびラック17によって、ラック軸14の軸方向移動に変換される。これにより、転舵輪3が転舵される。
操舵補助機構5は、操舵補助力を発生するための電動モータ18と、電動モータ18の出力トルクを転舵機構4に伝達するための減速機構19とを含む。電動モータ18は、この実施形態では、三相ブラシレスモータからなる。減速機構19は、ウォーム軸20と、このウォーム軸20と噛み合うウォームホイール21とを含むウォームギヤ機構からなる。減速機構19は、伝達機構ハウジングとしてのギヤハウジング22内に収容されている。
ウォーム軸20は、電動モータ18によって回転駆動される。また、ウォームホイール21は、ステアリングシャフト6とは同方向に回転可能に連結されている。ウォームホイール21は、ウォーム軸20によって回転駆動される。
電動モータ18によってウォーム軸20が回転駆動されると、ウォームホイール21が回転駆動され、ステアリングシャフト6が回転する。そして、ステアリングシャフト6の回転は、中間軸7を介してピニオン軸13に伝達される。ピニオン軸13の回転は、ラック軸14の軸方向移動に変換される。これにより、転舵輪3が転舵される。すなわち、電動モータ18によってウォーム軸20を回転駆動することによって、転舵輪3が転舵されるようになっている。
電動モータ18のロータの回転角(ロータ回転角)は、レゾルバ等の回転角センサ25によって検出される。回転角センサ25の出力信号は、モータ制御用ECU12に入力される。電動モータ18は、モータ制御装置としてのモータ制御用ECU12によって制御される。
図2は、モータ制御用ECU12の電気的構成を示す概略図である。
モータ制御用ECU12は、トルクセンサ11によって検出される操舵トルクThに応じて電動モータ18を駆動することによって、操舵状況に応じた適切な操舵補助を実現する。モータ制御用ECU12は、マイクロコンピュータ40と、マイクロコンピュータ40によって制御され、電動モータ18に電力を供給する駆動回路(インバータ回路)31と、電動モータ18に流れるモータ電流を検出する電流検出部32とを備えている。
電動モータ18は、例えば三相ブラシレスモータであり、図3に図解的に示すように、界磁としてのロータ100と、U相、V相およびW相のステータ巻線101,102,103を含むステータ105とを備えている。電動モータ18は、ロータの外部にステータを対向配置したインナーロータ型のものであってもよいし、筒状のロータの内部にステータを対向配置したアウターロータ型のものであってもよい。
各相のステータ巻線101,102,103の方向にU軸、V軸およびW軸をとった三相固定座標(UVW座標系)が定義される。また、ロータ100の磁極方向にd軸(磁極軸)をとり、ロータ100の回転平面内においてd軸と直角な方向にq軸(トルク軸)をとった二相回転座標系(dq座標系。実回転座標系)が定義される。dq座標系は、ロータ100とともに回転する回転座標系である。dq座標系では、q軸電流のみがロータ100のトルク発生に寄与するので、d軸電流を零とし、q軸電流を所望のトルクに応じて制御すればよい。ロータ100の回転角(電気角)θ-Sは、U軸に対するd軸の回転角である。dq座標系は、ロータ角θ-Sに従う実回転座標系である。このロータ角θ-Sを用いることによって、UVW座標系とdq座標系との間での座標変換を行うことができる。
マイクロコンピュータ40は、CPUおよびメモリ(ROM、RAM、不揮発性メモリなど)を備えており、所定のプログラムを実行することによって、複数の機能処理部として機能するようになっている。この複数の機能処理部には、電流指令値設定部41と、電流偏差演算部42と、PI(比例積分)制御部43と、dq/UVW変換部44と、PWM(Pulse Width Modulation)制御部45と、UVW/dq変換部46と、回転角演算部47とを含む。
回転角演算部47は、回転角センサ25の出力信号に基づいて、電動モータ18のロータの回転角(電気角。以下、「ロータ角θS」という。)を演算する。
電流指令値設定部41は、dq座標系の座標軸に流すべき電流値を電流指令値として設定する。具体的には、電流指令値設定部41は、d軸電流指令値Id *およびq軸電流指令値Iq *(以下、これらを総称するときには「二相電流指令値Idq *」という。)を設定する。さらに具体的には、電流指令値設定部41は、q軸電流指令値Iq *を有意値とする一方で、d軸電流指令値Id *を零とする。より具体的には、電流指令値設定部41は、トルクセンサ11によって検出される操舵トルク(検出操舵トルク)Thに基づいて、q軸電流指令値Iq *を設定する。
検出操舵トルクThに対するq軸電流指令値Iq *の設定例は、図4に示されている。検出操舵トルクThは、たとえば、右方向への操舵のためのトルクが正の値にとられ、左方向への操舵のためのトルクが負の値にとられている。また、q軸電流指令値Iq *は、電動モータ18から右方向操舵のための操作補助力を発生させるべきときには正の値とされ、電動モータ18から左方向操舵のための操作補助力を発生させるべきときには負の値とされる。q軸電流指令値Iq *は、検出操舵トルクThの正の値に対しては正をとり、検出操舵トルクThの負の値に対しては負をとる。検出操舵トルクThが零のときには、q軸電流指令値Iq *は零とされる。そして、検出操舵トルクThの絶対値が大きくなるほど、q軸電流指令値Iq *の絶対値が大きくなるように、q軸電流指令値Iq *が設定されている。
電流指令値設定部41によって設定された二相電流指令値Idq *は、電流偏差演算部42に与えられる。
電流検出部32は、電動モータ18のU相電流IU、V相電流IVおよびW相電流IW(以下、これらを総称するときは、「三相検出電流IUVW」という。)を検出する。電流検出部32によって検出された三相検出電流IUVWは、UVW/dq変換部46に与えられる。
UVW/dq変換部46は、電流検出部32によって検出されるUVW座標系の三相検出電流IUVW(U相電流IU、V相電流IVおよびW相電流IW)を、dq座標系の二相検出電流IdおよびIq(以下総称するときには「二相検出電流Idq」という。)に座標変換する。この座標変換には、回転角演算部47によって演算されたロータ角θSが用いられる。
電流偏差演算部42は、電流指令値設定部41によって設定される二相電流指令値Idq *と、UVW/dq変換部46から与えられる二相検出電流Idqとの偏差を演算する。より具体的には、電流偏差演算部42は、d軸電流指令値Id *に対するd軸検出電流Idの偏差およびq軸電流指令値Iq *に対するq軸検出電流Iqの偏差を演算する。これらの偏差は、PI制御部43に与えられる。
PI制御部43は、電流偏差演算部42によって演算された電流偏差に対するPI演算を行なうことにより、電動モータ18に印加すべき二相電圧指令値Vdq *(d軸電圧指令値Vd *およびq軸電圧指令値Vq *)を生成する。この二相電圧指令値Vdq *は、dq/UVW変換部44に与えられる。
dq/UVW変換部44は、二相電圧指令値Vdq *を三相電圧指令値VUVW *に座標変換する。この座標変換には、回転角演算部47によって演算されたロータ角θSが用いられる。三相電圧指令値VUVW *は、U相電圧指令値VU *、V相電圧指令値VV *およびW相電圧指令値VW *からなる。この三相電圧指令値VUVW *は、PWM制御部45に与えられる。
PWM制御部45は、U相電圧指令値VU *、V相電圧指令値VV *およびW相電圧指令値VW *にそれぞれ対応するデューティのU相PWM制御信号、V相PWM制御信号およびW相PWM制御信号を生成し、駆動回路31に供給する。
駆動回路31は、U相、V相およびW相に対応した三相インバータ回路からなる。このインバータ回路を構成するパワー素子がPWM制御部45から与えられるPWM制御信号によって制御されることにより、三相電圧指令値VUVW *に相当する電圧が電動モータ18の各相のステータ巻線101,102、103に印加されることになる。
電流偏差演算部42およびPI制御部43は、電流フィードバック制御手段を構成している。この電流フィードバック制御手段の働きによって、電動モータ18に流れるモータ電流が、電流指令値設定部41によって設定された二相電流指令値Idq *に近づくように制御される。
図5は、トルクセンサ11の構成を図解的に示す模式図である。
入力軸8には、環状の第1の磁石(多極磁石)61が一体回転可能に連結されている。第1の磁石61の下側には、第1の磁石61の回転に応じて互いに位相差を有する正弦波状の信号をそれぞれ出力する2つの磁気センサ71,72が配置されている。
出力軸9には、環状の第2の磁石(多極磁石)62が一体回転可能に連結されている。第2の磁石62の上側には、第2の磁石62の回転に応じて互いに位相差を有する正弦波状の信号をそれぞれ出力する2つの磁気センサ74,75が配置されている。
各磁気センサ71,72,74,75の出力信号S1,S2,S4,S5は、入力軸8に加えられる操舵トルクを演算するためのトルク演算用ECU77に入力されている。トルク演算用ECU77の電源は、イグニッションキーがオン操作されることによってオンとなる。イグニッションキーがオフ操作されたときには、イグニッションオフ指令が、トルク演算用ECU77に入力される。なお、磁気センサとしては、たとえば、ホール素子、磁気抵抗素子(MR素子)等、磁界の作用により電気的特性が変化する特性を有する素子を備えたものを用いることができる。この実施形態では、磁気センサとしては、ホール素子が用いられている。
前記磁石61,62、前記磁気センサ71,72,74,75およびトルク演算用ECU77によって、トルクセンサ11が構成されている。
トルク演算用ECU77は、マイクロコンピュータを含んでいる。マイクロコンピュータは、CPUおよびメモリ(ROM,RAM,不揮発性メモリ等)を備えており、所定のプログラムを実行することによって、複数の機能処理部として機能する。この複数の機能処理部には、第1の回転角演算部77Aと、第2の回転角演算部77Bと、トルク演算部77Cとを含んでいる。
第1の回転角演算部77Aは、2つの磁気センサ71,72の出力信号S1,S2に基づいて入力軸8の回転角(電気角θA)を演算する。第2の回転角演算部77Bは、2つの磁気センサ74,75の出力信号S4,S5に基づいて出力軸9の回転角(電気角θB)を演算する。
トルク演算部77Cは、第1の回転角演算部77Aによって検出された入力軸8の回転角θAと第2の回転角演算部77Bによって検出された出力軸9の回転角θBとに基づいて、入力軸8に加えられた操舵トルクThを演算する。具体的には、操舵トルクThは、トーションバー10のバネ定数をKとし、各磁石61,62に設けられた磁極対数をNとすると、次式(1)に基づいて演算される。
Th={(θA−θB)/N}×K …(1)
第1の磁石61、磁気センサ71,72および第1の回転角演算部77Aによって、入力軸8の回転角θAを検出するための第1の回転角検出装置が構成されている。また、第2の磁石62、磁気センサ74,75および第2の回転角演算部77Bによって、出力軸9の回転角θBを検出するための第2の回転角検出装置が構成されている。第1の回転角検出装置(第1の回転角演算部77A)の動作と第2の回転角検出装置(第2の回転角演算部77B)の動作は同様であるので、以下、第1の回転角検出装置(第1の回転角演算部77A)の動作についてのみ説明する。
図6は、第1の磁石61の構成および2つの磁気センサ71,72の配置を示す模式図である。
第1の磁石61は、周方向に等角度間隔で配された4組の磁極対(M1,M2),(M3,M4),(M5,M6),(M7,M8)を有している。つまり、第1の磁石61は、等角度間隔で配置された8個の磁極M1〜M8を有している。各磁極M1〜M8は、入力軸8の中心軸を中心として、ほぼ45°(電気角ではほぼ180°)の角度間隔(角度幅)で配置されている。各磁極M1〜M8の磁力の大きさは、ほぼ一定である。
2つの磁気センサ71,72は、第1の磁石61の下側の環状端面に対向して、配置されている。これらの磁気センサ71,72は、入力軸8の中心軸を中心として電気角で120°の角度間隔で配置されている。以下において、一方の磁気センサ71を第1磁気センサ71といい、他方の磁気センサ72を第2磁気センサ72という場合がある。
図6に矢印で示す方向を入力軸8の正方向の回転方向とする。そして、入力軸8が正方向に回転されると入力軸8の回転角が大きくなり、入力軸8が逆方向に回転されると、入力軸2の回転角が小さくなるものとする。各磁気センサ71,72からは、図7に示すように、入力軸8の回転に伴って、正弦波状の信号S1,S2が出力される。なお、図6の横軸の回転角[deg]は、機械角を表している。
以下において、第1磁気センサ71の出力信号S1を第1出力信号S1または第1センサ値S1といい、第2磁気センサ72の出力信号S2を第2出力信号S2または第2センサ値S2という場合がある。
以下においては、説明の便宜上、入力軸8の回転角をθAではなく、θで表すことにする。各出力信号S1,S2が正弦波信号であるとみなし、入力軸8の回転角をθ(電気角)とすると、第1磁気センサ71の出力信号S1は、S1=A1・sinθと表され、第2磁気センサ72の出力信号S2は、S2=A2・sin(θ+120)と表される。A1,A2は、それぞれ振幅を表している。第1出力信号S1と第2出力信号S2との位相差は120度である。
第1の回転角演算部77Aによる回転角θの演算方法の基本的な考え方について説明する。第1の回転角演算部77Aによる回転角演算モードには、第1演算モードと第2演算モードの2種類がある。第1演算モードと第2演算モードのうちの一方の演算モードは、操舵トルクの演算のために用いられる入力軸8の回転角を演算するための主演算モードとして用いられ、他方の演算モードは、主演算モードの演算処理に異常が発生したか否かを判定するための異常判定用の演算モード(副演算モード)として用いられる。
第1演算モードおよび第2演算モードのいずれのモードにおいても、第1および第2磁気センサ71,72における3サンプリング分の出力信号に基づいて回転角θが演算される。しかしながら、第1演算モードと第2演算モードでは、回転角θの演算方法(この例では演算過程)が異なっている。つまり、回転角θの演算のためのソフトウエアの演算内容が異なっている。以下、各演算モードについて詳しく説明する。
[1]第1演算モード
第1出力信号S1と第2出力信号S2との位相差(電気角)をCで表すことにする。また、今回のサンプリング周期の番号(今回の演算周期の番号)を[n]、前回のサンプリング周期の番号を[n-1]、前々回のサンプリング周期の番号を[n-2]で表すことにする。また、各磁極M1〜M8の角度幅(ピッチ幅)のばらつきに基づく回転角演算誤差を補正するための補正値を、角度幅誤差補正値といい、Eで表すことことにする。
位相差C、サンプリング周期番号[n],[n-1],[n-2]および角度幅誤差補正値Eを用いると、今回、前回および前々回にサンプリングされた第1出力信号S1ならびに今回、前回および前々回にサンプリングされた第2出力信号S2を、それぞれ次式(2a),(2b),(2c), (2d),(2e),(2f)で表すことができる。
S1[n]=A1[n]sin(E1[n]θ[n]) …(2a)
S1[n-1]=A1[n-1]sin(E1[n-1]θ[n-1]) …(2b)
S1[n-2]=A1[n-2]sin(E1[n-2]θ[n-2]) …(2c)
S2[n]=A2[n]sin(E2[n]θ[n]+C) …(2d)
S2[n-1]=A2[n-1]sin(E2[n-1]θ[n-1]+C) …(2e)
S2[n-2]=A2[n-2]sin(E2[n-2]θ[n-2]+C) …(2f)
前記式(2a)〜(2f)において、E1[x]は、x番目の演算周期において第1磁気センサ71が検出している磁極に対応する角度幅誤差補正値である。E2[x]は、x番目の演算周期において第2磁気センサ72が検出している磁極に対応する角度幅誤差補正値である。
ある磁極の角度幅をw(電気角)とすると、その磁極の角度幅誤差θerr(電気角)は、次式(3)で定義される。
θerr=w−180 …(3)
その磁極に対する角度幅誤差補正値Eは、次式(4)で定義される。
E=180/w
=180/(θerr+180) …(4)
各磁極の角度幅誤差補正値Eは、各磁極の磁極幅に関する情報である。なお、各磁極の磁極幅に関する情報は、各磁極の角度幅wであってもよいし、各磁極の角度幅誤差θerrであってもよい。
Cが既知であるとすると、前記式(2a)〜(2f)で表される6つの式に含まれる未知数の数は15となる。つまり、未知数の数が方程式の数より多いため、このままでは、6つの式からなる連立方程式を解くことができない。
この実施形態では、サンプリング間隔(サンプリング周期)を短く設定することにより、3サンプリング間の温度変化による振幅の変化がないとみなす。つまり、3サンプリング間の第1磁気センサ71の出力信号の振幅A1[n],A1[n-1],A1[n-2]が互いに等しいとみなして、これらをA1とする。同様に、3サンプリング間の第2磁気センサ72の出力信号の振幅A2[n],A2[n-1],A2[n-2]が互いに等しいとみなし、これらをA2とする。
3サンプリング間において、両磁気センサ71,72が共に同じ1つの磁極を検出している場合には、3サンプリング分の両磁気センサ71,72の出力信号に含まれている角度幅誤差補正値E1[n],E1[n-1],E1[n-2],E2[n],E2[n-1],E2[n-2]は同じ値となるので、これらをEで表すことにする。これにより、前記式(2a)〜(2f)は、それぞれ次式(5a)〜(5f)で表わされる。
S1[n]=A1sin(Eθ[n]) …(5a)
S1[n-1]=A1sin(Eθ[n-1]) …(5b)
S1[n-2]=A1sin(Eθ[n-2]) …(5c)
S2[n]=A2sin(Eθ[n]+C) …(5d)
S2[n-1]=A2sin(Eθ[n-1]+C) …(5e)
S2[n-2]=A2sin(Eθ[n-2]+C) …(5f)
これら6つの式に含まれる未知数(A1,A2,E,θ[n],θ[n-1],θ[n-2])の数は6となる。つまり、未知数の数が方程式の数以下となるため、6つの式からなる連立方程式を解くことができる。したがって、前記6つの式(5a)〜(5f)からなる連立方程式を解くことにより、入力軸8の回転角θ[n]を演算することができる。
以下、両磁気センサ間の位相差Cが120度である場合について、具体的に説明する。位相差Cが120度である場合には、前記6つの式(5a)〜(5f)は、それぞれ次式(6a)〜(6f)で表わすことができる。
S1[n]=A1sin(Eθ[n]) …(6a)
S1[n-1]=A1sin(Eθ[n-1]) …(6b)
S1[n-2]=A1sin(Eθ[n-2]) …(6c)
S2[n]=A2sin(Eθ[n]+120) …(6d)
S2[n-1]=A2sin(Eθ[n-1]+120) …(6e)
S2[n-2]=A2sin(Eθ[n-2]+120) …(6f)
前記6つの式(6a)〜(6f)からなる連立方程式を解くことにより、θ[n]は、次式(7)(以下、「θ基本演算式(7)」という。)で表わされる。
Figure 0006202302
第1演算モードでは、6つのセンサ値S1[n],S1[n-1],S1[n-1],S2[n],S2[n-1],S2[n-1]とθ基本演算式(7)を用いて、入力軸8の回転角θ[n]が演算される。
ただし、θ基本演算式(7)に含まれている分数のいずれかの分母が零になる場合には、θ基本演算式(7)に基づいて回転角θ[n]を演算することはできない。そこで、θ基本演算式(7)に含まれている分数のいずれかの分母が零になる場合には、θ基本演算式(7)とは異なる演算式によって回転角θ[n]が演算される。
この実施形態では、θ基本演算式(7)に含まれている分数のいずれかの分母が零になる場合に適用される演算式とθ基本演算式(7)とを含めて6種類の演算式が用意されている。表1は、6種類の演算式と、その演算式が適用される条件とを示している。ただし、回転角θ[n]として前回値を用いる演算式が適用される条件は、2種類存在するため、表1には7種類の条件が示されている。なお、第1演算モードで回転角θ[n]を演算する際には、表1の上から順番にその条件を満たしているか否かが判別され、条件を満たしたと判別されるとそれ以降の条件判別は行われず、当該条件に対応する演算式により、回転角θ[n]が演算される。
Figure 0006202302
表1の上から1番目の演算式は、θ基本演算式(7)である。θ基本演算式(7)は、θ基本演算式(7)に含まれている分数のいずれの分母も零でないという条件を満たしている場合に、適用される。θ基本演算式(7)に含まれている分数のいずれの分母も零でないという条件は、S1[n-1]≠0でかつ、S2[n-1]≠0でかつ、p1−p2≠0でかつ、S1[n]S2[n]−S1[n-1]S2[n-1]≠0でかつ、p1 2+p1p2+p2 2≠0でかつ、cの分母≠0で、かつcの分子≠0である場合に満たされる。なお、S1[n-1]はp1の分母であり、S2[n-1]はp2の分母である。
ただし、p1 2+p1p2+p2 2=0が成立するのは、p1=p2=0の場合だけであるが、第1磁気センサ71と第2磁気センサ72とは位相が120度ずれているため、両磁気センサ71,72のセンサ値S1,S2が同時に零になることはない。このため、p1 2+p1p2+p2 2=0が成立することはない。
また、S1[n]S2[n]−S1[n-1]S2[n-1]=0が成立するのは、次の条件X1を満たす場合である。
条件X1:S1[n]=S1[n-1]でかつS2[n]=S2[n-1]
また、c2の分母=0が成立するのは、次の条件X2を満たす場合である。
条件X2:S2[n]=S2[n-1]=S2[n-2]
また、cの分子≠0という条件がθ基本演算式(7)を適用するための条件に含まれているのは、cの分子が0であれば、θ基本演算式(7)の右辺の第1項のcos−1(Z−1)におけるZの分母が零になるからである。そして、cの分子=0が成立するのは、次の条件X3を満たす場合である。
条件X3:S1[n]=S1[n-1]=S1[n-2]
したがって、θ基本演算式(7)に含まれている分数のいずれの分母も零でないという条件は、S1[n-1]≠0でかつ、S2[n-1]≠0でかつ、p1−p2≠0でかつ、条件X1、X2およびX3のいずれも満たさない場合に満たされる。
表1の上から2番目の演算式は、S1[n-1]≠0でかつ、S2[n-1]≠0でかつ、p1−p2≠0でかつ、条件X1、X2およびX3のうちのいずれかを満たす場合に適用される演算式である。条件X1、X2およびX3のいずれかを満たす場合とは、少なくともS1[n]=S1[n-1]という条件またはS2[n]=S2[n-1]という条件を満たしている場合である。つまり、両磁気センサ71,72のうちの少なくとも一方の出力信号値が前回から変化していないので、前回に演算された回転角θ[n-1]が今回の回転角θ[n]として用いられる。
表1の上から3番目の演算式は、S1[n-1]≠0でかつ、S2[n-1]≠0でかつ、p1−p2=0である場合に適用される演算式である。p1−p2=0が成立する場合について検討する。この場合には、p1=p2であるから、次式(8)が成立する。
Figure 0006202302
これを変形すると、次式(9)が得られる。
Figure 0006202302
前記式(9)が成立する場合とは、θ[n]とθ[n-1]とが等しい場合である。つまり、今回の回転角θ[n]が前回の回転角θ[n-1]に等しい場合である。そこで、p1の分母S1[n-1]およびp2の分母S2[n-1]のいずれもが零でなく、かつp1−p2=0であるという条件を満たした場合には、前回に演算された回転角θ[n-1]が今回の回転角θ[n]として用いられる。
表1の上から4番目および5番目の演算式は、p1の分母S1[n-1]が零となる場合に適用される演算式である。S1[n-1]=A1sinEθ[n-1]であるので、sinEθ[n-1]=0のときに、S1[n-1]=0となる。つまり、Eθ[n-1]が0度または180度のときに、S1[n-1]が零となる。S2[n-1]=A2sin(Eθ[n-1]+120)であるので、Eθ[n-1]が0度のときにはS2[n-1]>0となり、Eθ[n-1]が180度のときにはS2[n-1]<0となる。したがって、S1[n-1]=0でかつS2[n-1]>0のときにはEθ[n-1]=0となり、S1[n-1]=0でかつS2[n-1]<0のときにはEθ[n-1]=180となる。
Eθ[n-1]=0である場合には、前記式(6d),(6e)は、それぞれ次式(10d),(10e)で表される。
S2[n]=A2sin(Eθ[n]+120) …(10d)
S2[n-1]=A2sin120=√3/2・A2 …(10e)
前記式(10e)から、次式(11)が得られる。
A2=(2/√3)・S2[n-1] …(11)
前記式(11)を前記式(10d)に代入すると、次式(12)が得られる。
sin(Eθ[n]+120)=(√3/2)・(S2[n]/S2[n-1]) …(12)
したがって、Eθ[n]は、次式(13)で表される。
Figure 0006202302
ここで、簡易的にE=1とすると、回転角θ[n]は、次式(14)となる。
Figure 0006202302
つまり、表1の上から4番目に示すように、p2の分母S2[n-1]が零でなく、かつp1の分母S1[n-1]が零であり、かつS2[n-1]>0であるという条件を満たした場合には、前記式(14)で表される演算式に基づいて回転角θ[n]が演算される。
一方、θ[n-1]=180である場合には、前記式(6d),(6e)は、それぞれ次式(15d),(15e)で表される。
S2[n]=A2sin(Eθ[n]+120) …(15d)
S2[n-1]=A2sin300=−√3/2・A2 …(15e)
前記式(15d)から、次式(16)が得られる。
A2=(−2/√3)・S2[n-1] …(16)
前記式(16)を前記式(15d)に代入すると、次式(17)が得られる。
sin(Eθ[n]+120)=(−√3/2)・(S2[n]/S2[n-1]) …(17)
したがって、Eθ[n]は、次式(18)で表わされる。
Figure 0006202302
ここで、簡易的にE=1とすると、回転角θ[n]は、次式(19)となる。
Figure 0006202302
つまり、表1の上から5番目に示すように、p2の分母S2[n-1]が零でなく、かつp1の分母S1[n-1]が零であり、かつS2[n-1]<0であるという条件を満たした場合には、前記式(19)で表される演算式に基づいて回転角θ[n]が演算される。
表1の上から6番目および7番目の演算式は、p2の分母S2[n-1]が零となる場合に適用される演算式である。S2[n-1]=A2sin(Eθ[n-1]+120)であるので、sin(Eθ[n-1]+120)=0のときに、S2[n-1]=0となる。つまり、Eθ[n-1]が−120度または60度のときに、S2[n-1]が零となる。S1[n-1]=A1sinEθ[n-1]であるので、Eθ[n-1]が−120度のときにはS1[n-1]<0となり、Eθ[n-1]が60度のときにはS1[n-1]>0となる。したがって、S2[n-1]=0でかつS1[n-1]>0のときにはEθ[n-1]=60となり、S2[n-1]=0でかつS1[n-1]<0のときにはEθ[n-1]=−120となる。
Eθ[n-1]=60である場合には、前記式(6a),(6b)は、それぞれ次式(20a),(20b)で表される。
S1[n]=A1sinEθ[n] …(20a)
S1[n-1]=A1sin60=√3/2・A1 …(20b)
前記式(20b)から、次式(21)が得られる。
A1=(2/√3)・S1[n-1] …(21)
前記式(21)を前記式(20a)に代入すると、次式(22)が得られる。
sinEθ[n]=(√3/2)・(S1[n]/S1[n-1]) …(22)
したがって、Eθ[n]は、次式(23)によって表される。
Figure 0006202302
ここで、簡易的にE=1とすると、回転角θ[n]は、次式(24)となる。
Figure 0006202302
つまり、表1の上から6番目に示すように、p2の分母S2[n-1]が零であり、かつS1[n-1]>0であるという条件を満たした場合には、前記式(24)で表される演算式に基づいて回転角θ[n]が演算される。
一方、Eθ[n-1]=−120である場合には、前記式(6a),(6b)は、それぞれ次式(25a),(25b)で表される。
S1[n]=A1sinEθ[n] …(25a)
S1[n-1]=A1sin(−120)=−√3/2・A2 …(25b)
前記式(25b)から、次式(26)が得られる。
A1=(−2/√3)・S1[n-1] …(26)
前記式(26)を前記式(25a)に代入すると、次式(27)が得られる。
sinEθ[n]=(−√3/2)・(S1[n]/S1[n-1]) …(27)
したがって、Eθ[n]は、次式(28)によって表される。
Figure 0006202302
ここで、簡易的にE=1とすると、回転角θ[n]は、次式(29)となる。
Figure 0006202302
つまり、表1の上から7番目に示すように、p2の分母S2[n-1]が零であり、かつS1[n-1]<0であるという条件を満たした場合には、前記式(29)で表される演算式に基づいて回転角θ[n]が演算される。
[2]第2演算モード
第1出力信号S1および第2出力信号S2の3サンプリング分の信号を、前記式(6a)〜(6f)と同様に、次式(30a)〜(30f)で表すことにする。
S1[n]=A1sin(Eθ[n]) …(30a)
S1[n-1]=A1sin(Eθ[n-1]) …(30b)
S1[n-2]=A1sin(Eθ[n-2]) …(30c)
S2[n]=A2sin(Eθ[n]+120) …(30d)
S2[n-1]=A2sin(Eθ[n-1]+120) …(30e)
S2[n-2]=A2sin(Eθ[n-2]+120) …(30f)
前記6つの式(30a)〜(30f)のうちの4つの式(30a),(30b),(30d),(30e)からなる連立方程式を解くことにより、振幅A1は、次式(31)(以下、「A1演算式(31)」という。)で表わされる。
Figure 0006202302
また、前記6つの式(30a)〜(30f)からなる連立方程式を解くことにより、角度幅誤差補正値Eは、次式(32)(以下、「E演算式(32)」という。)で表わされる。
Figure 0006202302
振幅A1および角度幅誤差補正値Eを式(30a)に代入することにより、回転角θ[n]は次式(33)(以下、「θ演算式(33)」という。)で表わされる。
Figure 0006202302
第2演算モードでは、まず、A1演算式(31)を用いて振幅A1が演算される。次に、E演算式(32)を用いて角度幅誤差補正値Eが演算される。そして、θ演算式(33)を用いて回転角θ[n]が演算される。角度幅誤差補正値Eを演算してから、振幅A1を演算してもよい。
ただし、A1演算式(31)に含まれている分数のいずれかの分母が零になる場合には、前回に演算された振幅A1が今回の振幅A1として用いられる。A1演算式(31)に含まれている分数のいずれかの分母が零になる場合とは、S1[n-1]=0の場合、S2[n-1]=0の場合、p1−p2=0の場合またはp1 2+p1p2+p2 2=0の場合である。ただし、前述したように、p1 2+p1p2+p2 2=0が成立することはない。
この実施形態では、さらに、第1および第2磁気センサ71,72が共に同じ1つの磁極を3演算周期連続して検出しているという条件を満たしていない場合にも、前回に演算された振幅A1が今回の振幅A1として用いられる。
また、E演算式(32)に含まれている分数のいずれかの分母が零になる場合には、前回に演算された角度幅誤差補正値Eが今回の角度幅誤差補正値Eとして用いられる。E演算式(32)に含まれている分数のいずれかの分母が零になる場合とは、S1[n]S2[n]−S1[n-1]S2[n-1]=0の場合、cの分母=0の場合またはcの分子=0の場合である。
この実施形態では、さらに、第1および第2磁気センサ71,72が共に同じ1つの磁極を3演算周期連続して検出しているという条件を満たしていない場合にも、前回に演算された角度幅誤差補正値Eが今回の角度幅誤差補正値Eとして用いられる。
第1演算モードまたは第2演算モードでは、2つの磁気センサ71,72における3サンプリング分の出力信号に基づいて入力軸8の回転角θ[n]を演算しているので、精度の高い回転角を演算することが可能となる。また、第1演算モードまたは第2演算モードでは、入力軸8の回転角θ[n]の演算に用いられる数式の数が、これらの数式に含まれている本来の未知数の数より少なくても、入力軸8の回転角θ[n]を演算することができるので、入力軸8の回転角θ[n]を演算するために必要なセンサ値の数を少なくすることが可能となる。
第1演算モードまたは第2演算モードでは、3サンプリング間での同じ磁気センサの出力信号の振幅(A1[n]とA1[n-1]とA1[n-2],A2[n]とA2[n-1]とA2[n-2])が互いに等しいとみなしている。3サンプリング間での同じ磁気センサの出力信号の振幅は、温度変化の影響によって異なる値となる可能性がある。しかしながら、サンプリング間隔が小さい場合には、3サンプリング間の温度変化は非常に小さいので、3サンプリング間での同じ磁気センサの出力信号の振幅は等しいとみなすことができる。したがって、第1演算モードまたは第2演算モードでは、3サンプリング間での温度変化の影響による振幅のばらつきを補償することができる。また、第1演算モードまたは第2演算モードでは、回転角の演算に用いられている2つの磁気センサ71,72間の振幅A1,A2は、別々の未知数として扱っているので、それらの2つの磁気センサ71,72間の温度特性のばらつきの影響を補償することができる。これにより、精度の高い回転角を検出することができる。
また、第1演算モードまたは第2演算モードでは、回転角θ[n]の演算に用いられる6つの数式に含まれている全ての角度幅誤差補正値Eが互いに等しいとみなしている。各磁極の角度幅誤差補正値Eは、磁極毎に異なる。このため、回転角θ[n]の演算に用いられる6つの出力信号S1[n],S1[n-1],S1[n-2],S2[n],S2[n-1] ,S2[n-2]を表す数式に含まれている角度幅誤差補正値Eは、全て同じ値になるとは限らない。しかしながら、2つの磁気センサ71,72が、3サンプリング間において共に同じ1つの磁極を検出している場合には、これらの複数の出力信号を表す数式に含まれている角度幅誤差補正値Eは全て同じ値となる。したがって、第1演算モードまたは第2演算モードでは、2つの磁気センサ71,72が、3サンプリング間において共に同じ1つの磁極を検出している場合には、磁石61の各磁極M1〜M8の角度幅(磁極幅)のばらつきをも補償できるので、より精度の高い回転角を検出することが可能となる。
以下、第2演算モードが主演算モードとして用いられ、第1演算モードが異常判定用演算モード(副演算モード)として用いられる場合の、第1の回転角演算部77Aの動作について説明する。以下の説明において、主演算モードによって演算される入力軸8の回転角θ[n]を、主回転角θmain[n]といい、副演算モードによって演算される入力軸8の回転角θ[n]を、副回転角θsub[n]という場合がある。
図8は、第1の回転角演算部77Aの動作を示すフローチャートである。
トルク演算用ECU77の電源がオンすると、第1の回転角演算部77Aは、強制回転に基づく回転角演算処理を行う(ステップS1)。この処理は、電動モータ18を一時的に強制回転させることにより、入力軸8(出力軸9)を回転させ、入力軸8の回転角θを演算する処理である。
前述した第1演算モードでは、条件X1、X2およびX3のうちのいずれかの条件を満たしている場合またはp1−p2=0の場合には、前回演算された回転角θ[n]が、今回の回転角θ[n]として用いられる。また、前述した第2演算モードでは、A1演算式(31)に含まれている分数のいずれかの分母が零になる場合には、前回に演算された振幅A1が今回の振幅A1として用いられる。また、E演算式(32)に含まれている分数のいずれかの分母が零になる場合には、前回に演算された角度幅誤差補正値Eが今回の角度幅誤差補正値Eとして用いられる。
しかしながら、イグニッションキーがオン操作されることによって、トルク演算用ECU77の電源がオンされた時点では、第1演算モードで演算された回転角θ[n]の前回値ならびに第2演算モードで演算された振幅A1および角度幅誤差補正値Eの前回値は存在しない。このため、第1演算モードおよび第2演算モードによって回転角θ[n]を演算できなくなるおそれがある。そこで、第1演算モードで演算された回転角θ[n]の前回値ならびに第2演算モードで演算された振幅A1および角度幅誤差補正値Eの前回値を作成するために、強制回転に基づく回転角演算処理を行っている。強制回転に基づく回転角演算処理の詳細については後述する。
強制回転に基づく回転角演算処理が終了すると、第1の回転角演算部77Aは、通常時の回転角演算処理を行う(ステップS2)。この処理の詳細については後述する。通常時の回転角演算処理は、イグニッションオフ指令が入力されるまで繰り返し行われる。イグニッションオフ指令が入力されると(ステップS3:YES)、第1の回転角演算部77Aは通常時の回転角演算処理を終了する。
図9Aおよび図9Bは、図8のステップS1の強制回転に基づく回転角演算処理の手順を示すフローチャートである。
強制回転に基づく回転角演算処理開始時において第1磁気センサ71が検出している磁極を基準磁極として、各磁極に相対的な番号を割り当てた場合の各磁極の番号を相対的極番号と定義する。第1磁気センサ71が検出している磁極の相対的極番号(以下、「第1相対的極番号」という)を変数r1で表し、第2磁気センサ72が検出している磁極の相対的極番号(以下、「第2相対的極番号」という)を変数r2で表すことにする。なお、各相対的極番号r1,r2は、1〜8の整数をとり、1より1少ない相対的極番号は8となり、8より1大きい相対的極番号は1となるものとする。この実施形態では、強制回転に基づく回転角演算処理開始時において第1磁気センサ71が検出している磁極(基準磁極)がN極の磁極である場合には、当該磁極に”1”の相対的極番号が割り当てられる。一方、通常時の回転角演算処理の開始時において第1磁気センサ71が検出している磁極(基準磁極)がS極の磁極である場合には、当該磁極に”2”の相対的極番号が割り当てられる。
図9Aに戻り、強制回転に基づく回転角演算処理では、短時間ではあるがステアリングホイール2が強制的に回転駆動される。このため、運転者は何らかの故障が発生したと誤解するおそれがある。そこで、第1の回転角演算部77Aは、運転者への警告を行う(ステップS11)。具体的には、第1の回転角演算部77Aは、車内に設けられた表示装置(図示略)、音声出力装置(図示略)等を制御するための映像音声制御装置(図示略)に、警告出力指令を送信する。映像音声制御装置は、この警告出力指令を受信すると、「ステアリングホイールが強制的に回転しますが故障ではありません」等のメッセージを表示装置に表示したり、音声出力装置によって音声出力したりする。
次に、第1の回転角演算部77Aは、第1方向に電動モータ18を回転駆動させる(ステップS12)。具体的には、第1の回転角演算部77Aは、第1方向に電動モータ18を回転駆動させるための第1強制回転指令をモータ制御用ECU12に送信する。モータ制御用ECU12は、この第1強制回転指令を受信すると、第1方向に電動モータ18を回転駆動させる。
第1の回転角演算部77Aは、各磁気センサ71,72のセンサ値S1[n],S2[n]を取得する(ステップS13)。ステップS13の処理は、後述するステップS19でYESと判定されるまで、所定の演算周期毎に繰り返し実行される。トルク演算用ECU77内のメモリには、所定回数前に取得されたセンサ値から最新に取得されたセンサ値までの複数回分(3回以上)のセンサ値が記憶されるようになっている。
第1の回転角演算部77Aは、今回の処理が強制回転に基づく回転角演算処理開始後の初回の処理であるか否かを判別する(ステップS14)。今回の処理が強制回転に基づく回転角演算処理開始後の初回の処理である場合には(ステップS14:YES)、第1の回転角演算部77Aは、相対的極番号の設定処理を行う(ステップS15)。
図10は、相対的極番号の設定処理の詳細な手順を示すフローチャートである。
第1の回転角演算部77Aは、まず、第1出力信号S1が0より大きいか否かを判別する(ステップS31)。第1出力信号S1が0より大きい場合には(ステップS31:YES)、第1の回転角演算部77Aは、第1磁気センサ71が検出している磁極がN極の磁極であると判別し、第1相対的極番号r1を1に設定する(ステップS34)。そして、ステップS36に進む。
一方、第1出力信号S1が0以下である場合には(ステップS31:NO)、第1の回転角演算部77Aは、第1出力信号S1が0より小さいか否かを判別する(ステップS32)。第1出力信号S1が0より小さい場合には(ステップS32:YES)、第1の回転角演算部77Aは、第1磁気センサ71が検出している磁極がS極の磁極であると判別し、第1相対的極番号r1を2に設定する(ステップS35)。そして、ステップS36に進む。
前記ステップS32において、第1出力信号S1が0以上であると判別された場合には(ステップS32:NO)、つまり、第1出力信号S1が0である場合には、第1の回転角演算部77Aは、入力軸8の回転角が0°であるか180°であるかを判別するために、第2出力信号S2が0より大きいか否かを判別する(ステップS33)。第2出力信号S2が0より大きい場合には(ステップS33:YES)、第1の回転角演算部77Aは、入力軸8の回転角が0°であると判別し、第1相対的極番号r1を1に設定する(ステップS34)。そして、ステップS36に進む。
一方、第2出力信号S2が0以下である場合には(ステップS33:NO)、第1の回転角演算部77Aは、入力軸8の回転角が180°であると判別し、第1相対的極番号r1を2に設定する(ステップS35)。そして、ステップS36に進む。
ステップS36では、第1の回転角演算部77Aは、「S1≧0かつS2>0」または「S1≦0かつS2<0」の条件を満たしているか否かを判別する。この条件を満たしている場合には(ステップS36:YES)、第1の回転角演算部77Aは、第2磁気センサ72が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号と同じであると判別し、第2相対的極番号r2に第1相対的極番号r1と同じ番号(r2=r1)を設定する(ステップS37)。そして、図9AのステップS18に移行する。
一方、前記ステップS36の条件を満たしていない場合には(ステップS36:NO)、第1の回転角演算部77Aは、第2磁気センサ72が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号より1だけ大きい番号であると判別し、第2相対的極番号r2に、第1相対的極番号r1より1だけ大きい番号(r2=r1+1)を設定する(ステップS38)。そして、図9AのステップS18に移行する。
前記ステップS36の条件に基づいて第2相対的極番号r2を決定している理由について説明する。たとえば、磁石61における磁極M1と磁極M2とからなる磁極対が第1磁気センサ71を通過する際の、第1および第2出力信号S1,S2の信号波形を模式的に表すと、図11の(a),(b)のようになる。
図11において、Q1およびQ4で示す領域においては、第2磁気センサ72が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号と同じである。一方、Q2,Q3,Q5およびQ6で示す領域においては、第2磁気センサ72が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号より1だけ大きい。
領域Q1においては、両センサ値S1,S2は、S1≧0かつS2>0の第1条件を満たす。領域Q2およびQ3においては、両センサ値S1,S2は、S1>0かつS2≦0の第2条件を満たす。領域Q4においては、両センサ値S1,S2は、S1≦0かつS2<0の第3条件を満たす。領域Q5およびQ6においては、両センサ値S1,S2は、S1<0かつS2≧0の第4条件を満たす。そこで、第1の回転角演算部77Aは、第1条件および第3条件の一方を満たしているときには、第2磁気センサ72が検出している磁極の極番号が、第1磁気センサ71が検出している磁極の極番号と同じであると判別している。一方、第1条件および第3条件のいずれの条件をも満たしていないときには、第1の回転角演算部77Aは、第2磁気センサ72が検出している磁極の極番号が、第1磁気センサ71が検出している磁極の極番号より1だけ大きいと判別している。
図9Aに戻り、前記ステップS14において、今回の処理が強制回転に基づく回転角演算処理開始後の初回の処理ではないと判別された場合には(ステップS14:NO)、ステップS16に移行する。
ステップS16では、第1の回転角演算部77Aは、メモリに記憶されているセンサ値S1,S2に基づいて、センサ値S1,S2毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する。ゼロクロスが検出されなかったときには(ステップS16:NO)、第1の回転角演算部77Aは、ステップS18に移行する。
前記ステップS16において、いずれかのセンサ値S1,S2に対してゼロクロスが検出された場合には(ステップS16:YES)、第1の回転角演算部77Aは、相対的極番号の更新処理を行なう(ステップS17)。具体的には、第1の回転角演算部77Aは、前記ステップS16でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1またはr2を、入力軸8(磁石61)の回転方向に応じて、1だけ大きい番号または1だけ小さい番号に変更する。
入力軸8の回転方向が正方向(図6に矢印で示す方向)である場合には、第1の回転角演算部77Aは、前記ステップS26でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1またはr2を、1だけ大きい番号に更新する。一方、入力軸8の回転方向が逆方向である場合には、第1の回転角演算部77Aは、ゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1またはr2を、1だけ小さい番号に更新する。ただし、前述したように、”1”の相対的極番号に対して、1だけ小さい相対的極番号は、”8”となる。また、”8”の相対的極番号に対して、1だけ大きい相対的極番号は、”1”となる。
なお、入力軸8の回転方向は、例えば、ゼロクロスが検出された出力信号の前回値および今回値と、他方の出力信号の今回値とに基づいて判定することができる。具体的には、ゼロクロスが検出された出力信号が第1出力信号S1である場合には、「第1出力信号S1の前回値が0より大きくかつその今回値が0以下であり、第2出力信号S2が0より小さい」という条件、または「第1出力信号S1の前回値が0未満でかつその今回値が0以上であり、第2出力信号S2が0より大きい」という条件を満たしている場合には、回転方向は正方向(図6に矢印で示す方向)であると判定される。
一方、「第1出力信号S1の前回値が0以上でかつその今回値が0未満であり、第2出力信号S2が0より大きい」という条件、または「第1出力信号S1の前回値が0以下でかつその今回値が0より大きく、第2出力信号S2が0より小さい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
ゼロクロスが検出された出力信号が第2出力信号S2である場合には、「第2出力信号S2の前回値が0より大きくかつその今回値が0以下であり、第1出力信号S1が0より大きい」という条件、または「第2出力信号S2の前回値が0未満でかつその今回値が0以上であり、第1出力信号S1が0より小さい」という条件を満たしている場合には、回転方向は正方向(図6に矢印で示す方向)であると判定される。一方、「第2出力信号S2の前回値が0以上でかつその今回値が0未満であり、第1出力信号S1が0より小さい」という条件、または「第2出力信号S2の前回値が0以下でかつその今回値が0より大きく、第1出力信号S1が0より大きい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
相対的極番号の更新処理が終了すると、第1の回転角演算部77Aは、ステップS18に移行する。ステップS18では、第1の回転角演算部77Aは、第1および第2磁気センサ71,72が共に同じ1つの磁極を3演算周期連続して検出しているという条件を満たしている否かを判別する。各演算周期において、各磁気センサ71,72が検出している磁極の相対的番号は、それぞれ第1相対的磁極番号r1および第2相対的磁極番号r2によって認識することができる。したがって、所定演算周期前から今演算周期までの複数演算周期分の各相対的磁極番号r1,r2をメモリに記憶することにより、3演算周期連続して両磁気センサ71,72がともに同じ1つの磁極を検出しているか否かを判別できる。
ステップS18の条件を満たしていない場合には(ステップS18:NO)、第1の回転角演算部77Aは、ステップS13に戻る。一方、ステップS18の条件を満たしている場合には(ステップS18:YES)、第1の回転角演算部77Aは、θ基本演算式(7)、A1演算式(31)およびE演算式(32)に含まれている全ての分数の分母が零でないという条件を満たしているか否かを判別する(ステップS19)。
ステップS19の条件を満たしていない場合には(ステップS19:NO)、第1の回転角演算部77Aは、ステップS13に戻る。一方、ステップS19の条件を満たしている場合には(ステップS19:YES)、第1の回転角演算部77Aは、図9BのステップS20に移行する。
ステップS20では、第1の回転角演算部77Aは、第1方向とは反対方向である第2方向に電動モータ18を回転駆動させる。具体的には、第1の回転角演算部77Aは、第2方向に電動モータ18を回転駆動させるための第2強制回転指令をモータ制御用ECU12に送信する。モータ制御用ECU12は、この第2強制回転指令を受信すると、第2方向に電動モータ18を回転駆動させる。
この後、第1の回転角演算部77Aは、各磁気センサ71,72のセンサ値S1[n], S2[n]を取得する(ステップS21)。ステップS21の処理は、後述するステップS25でYESと判定されるまで、所定の演算周期毎に繰り返し実行される。そして、第1の回転角演算部77Aは、メモリに記憶されているセンサ値S1,S2に基づいて、センサ値S1,S2毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する(ステップS22)。ゼロクロスが検出されなかったときには(ステップS22:NO)、第1の回転角演算部77Aは、ステップS24に移行する。
前記ステップS22において、いずれかのセンサ値S1,S2に対してゼロクロスが検出された場合には(ステップS22:YES)、第1の回転角演算部77Aは、相対的極番号の更新処理を行なう(ステップS23)。この相対的極番号の更新処理は、前述したステップS17における相対的極番号の更新処理と同じである。ステップS23の相対的極番号の更新処理が終了すると、第1の回転角演算部77Aは、ステップS24に移行する。
ステップS24では、第1の回転角演算部77Aは、第1および第2磁気センサ71,72が共に同じ1つの磁極を3演算周期連続して検出しているという条件を満たしている否かを判別する。ステップS24の条件を満たしていない場合には(ステップS24:NO)、第1の回転角演算部77Aは、ステップS21に戻る。一方、ステップS24の条件を満たしている場合には(ステップS24:YES)、第1の回転角演算部77Aは、θ基本演算式(7)、A1演算式(31)およびE演算式(32)に含まれている全ての分数の分母が零でないという条件を満たしているか否かを判別する(ステップS25)。
ステップS25の条件を満たしていない場合には(ステップS25:NO)、第1の回転角演算部77Aは、ステップS21に戻る。一方、ステップS25の条件を満たしている場合には(ステップS25:YES)、第1演算モードによって、回転角θ[n](この例では、副回転角θsub[n])を演算して、得られた回転角θ[n]をメモリに記憶する(ステップS26)。
また、第1の回転角演算部77Aは、第2演算モードによって、振幅A1、角度幅誤差補正値Eおよび回転角θ[n](この例では主回転角θmain[n])を演算して、得られた振幅A1、角度幅誤差補正値Eおよび回転角θ[n]をメモリに記憶する(ステップS27)。
この後、第1の回転角演算部77Aは、電動モータ18の駆動を停止させるとともに運転者への警告を停止させる(ステップS28)。具体的には、第1の回転角演算部77Aは、電動モータ18の駆動停止指令をモータ制御用ECU12に送信するとともに、映像音声制御装置に警告停止指令を送信する。モータ制御用ECU12は、電動モータ18の駆動停止指令を受信すると電動モータ18の駆動を停止させる。映像音声制御装置は、警告停止指令を受信すると、警告表示、警告音声出力等を停止させる。これにより、強制回転に基づく回転角演算処理が終了し、第1の回転角演算部77Aは、図8のステップS2に移行する。
図12は、図8のステップS2の通常時の回転角演算処理の手順を示すフローチャートである。図12の処理は、イグニッションオフ指令が入力されるまで、所定の演算周期(サンプリング周期)T毎に繰り返し実行される。
第1の回転角演算部77Aは、変数mを1だけインクリメントする(ステップS41)。変数mの初期値は零である。次に、第1の回転角演算部77Aは、センサ値S1[n],S2[n]を取得する(ステップS42)。
そして、第1の回転角演算部77Aは、メモリに記憶されているセンサ値S1,S2に基づいて、センサ値S1,S2毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する(ステップS43)。ゼロクロスが検出されなかったときには(ステップS43:NO)、第1の回転角演算部77Aは、ステップS45に移行する。
前記ステップS43において、いずれかのセンサ値S1,S2に対してゼロクロスが検出された場合には(ステップS43:YES)、第1の回転角演算部77Aは、相対的極番号の更新処理を行なう(ステップS44)。この相対的極番号の更新処理は、前述した図9AのステップS17における相対的極番号の更新処理と同じである。ステップS44の相対的極番号の更新処理が終了すると、第1の回転角演算部77Aは、ステップS45に移行する。
ステップS45では、第1の回転角演算部77Aは、前記ステップS42で取得されたセンサ値S1[n],S2[n]を含めた最新の3回分のセンサ値に基づいて、主演算モードによって入力軸8の回転角θ[n](主回転角θmain[n])を演算してメモリに記憶する。この例では、第2演算モードが主演算モードであるので、ステップS45では、第2演算モードによって主回転角θmain[n]が演算される。この際、現在までにステップS42で取得された第1および第2センサ値が3回分に満たない場合には、強制回転に基づく回転角演算処理において取得された両センサ値のうちから、不足分のセンサ値が選択される。この際、新しく取得されたセンサ値が優先的に選択される。なお、第2演算モードによる演算処理手順(この例ではステップS45の処理手順)の詳細については、後述する。
この後、第1の回転角演算部77Aは、変数mが偶数であるか否かを判別する(ステップS46)。変数mが奇数であれば(ステップS46:NO)、第1の回転角演算部77Aは、ステップS45で演算された主回転角θmain[n]をトルク演算部77Cに出力する(ステップS47)。そして、図8のステップS3に移行する。ステップS3でイグニッションオフ指令が入力されていないと判別された場合には、第1の回転角演算部77Aは、ステップS41に戻る。
前記ステップS46において、変数mが偶数であると判別された場合には(ステップS46:YES)、第1の回転角演算部77Aは、副演算モードによって入力軸8の回転角θ[n](副回転角θsub[n])を演算してメモリに記憶する(ステップS48)。この例では、第1演算モードが副演算モードであるので、ステップS48では、第1演算モードによって副回転角θsub[n]が演算される。変数mが偶数である場合のみ副演算モードによる回転角演算処理が行われるので、副演算モードによって入力軸8の回転角θ[n]が演算される周期は、主演算モードによって入力軸8の回転角θ[n]が演算される周期Tの2倍となる。
具体的には、第1の回転角演算部77Aは、ステップS46で変数mが偶数であると判別された演算周期において取得された最新の3回分の第1および第2センサ値に基づいて、副演算モード(この例では第1演算モード)によって副回転角θsub[n]を演算する。ただし、ステップS46で変数mが偶数であると判別された演算周期において現在までに取得された第1および第2センサ値が3回分に満たない場合もある。このような場合には、ステップS46で変数mが奇数であると判別された演算周期において取得された両センサ値および強制回転に基づく回転角演算処理において取得された両センサ値のうちから、不足分のセンサ値が選択される。この際、新しく取得されたセンサ値が優先的に選択される。
ステップ48において副回転角θsub[n]が演算されると、第1の回転角演算部77Aは、今演算周期においてステップS45で演算された主回転角θmain[n]と副回転角θsub[n]との差の絶対値|θmain[n]−θsub[n]|が、所定値α(>0)より小さいか否かを判別する(ステップS49)。前記差の絶対値|θmain[n]−θsub[n]|が所定値αより小さい場合には(ステップS49:NO)、第1の回転角演算部77Aは、主回転角θmain[n]の演算処理(ソフトウエア演算)に異常が発生していないと判別し、ステップS45で演算された主回転角θmain[n]をトルク演算部77Cに出力する(ステップS50)。そして、図8のステップS3に移行する。ステップS3でイグニッションオフ指令が入力されていないと判別された場合には、第1の回転角演算部77Aは、ステップS41に戻る。
前記ステップS49において、前記差の絶対値|θmain[n]−θsub[n]|が所定値α以上であると判別された場合には(ステップS49:NO)、第1の回転角演算部77Aは、主回転角θmain[n]の演算処理(ソフトウエア演算)に異常が発生したと判別し、異常処理を行う(ステップS51)。たとえば、第1の回転角演算部77Aは、トルク演算用ECU77の動作を停止させるとともに、モータ制御用ECU12による電動モータ18の制御を停止させる。これにより、ソフトウエア演算に異常が発生したときに演算される誤った回転角θ[n]に基づいて操舵トルクが演算されるのを防止できる。また、誤った回転角θ[n]に基づいて演算される操舵トルクに基づいて電動モータ18が制御されるのを防止できる。
図13は、図12のステップS45で実行される第2演算モードによる回転角算処理の詳細な手順を示すフローチャートである。
第2演算モードによる回転角算処理においては、第1の回転角演算部77Aは、第1および第2磁気センサ71,72が共に同じ1つの磁極を3演算周期連続して検出しているという条件を満たしている否かを判別する(ステップS61)。各演算周期において、各磁気センサ71,72が検出している磁極の相対的番号は、それぞれ第1相対的磁極番号r1および第2相対的磁極番号r2によって認識することができる。したがって、所定演算周期前から今演算周期までの複数演算周期分の各相対的磁極番号r1,r2をメモリに記憶することにより、3演算周期連続して両磁気センサ71,72がともに同じ1つの磁極を検出しているか否かを判別できる。
ステップS61の条件を満たしている場合には(ステップS61:YES)、第1の回転角演算部77Aは、振幅A1をA1演算式(31)に基づいて演算する(ステップS62)。次に、第1の回転角演算部77Aは、角度幅誤差補正値EをE演算式(32)に基づいて演算する(ステップS63)。そして、第1の回転角演算部77Aは、回転角θ[n](この例では主回転角θmain[n])をθ演算式(33)に基づいて演算する(ステップS64)。この後、図12のステップS46に移行する。
前記ステップS61において、ステップS61の条件を満たしていないと判別された場合には(ステップS61:NO)、第1の回転角演算部77Aは、振幅A1および角度幅誤差補正値Eをそれぞれ前回演算された振幅A1および角度幅誤差補正値Eに設定する(ステップS65)。そして、第1の回転角演算部77Aは、回転角θ[n](この例では主回転角θmain[n])をθ演算式(33)に基づいて演算する(ステップS66)。この後、図12のステップS46に移行する。
前述の第1実施形態では、第2演算モードが主演算モードとして用いられ、第1演算モードが副演算モードとして用いられているが、第1演算モードを主演算モードとして用い、第2演算モードを副演算モードとして用いてもよい。
また、前述の第1実施形態では、第1の回転角演算部77Aおよび第2の回転角演算部77Bは、それぞれ、2つの磁気センサの出力信号に基づいて入力軸8および出力軸9の回転角を演算しているが、3つの磁気センサの出力信号に基づいて入力軸8および出力軸9の回転角を演算することもできる。
以下、第1の回転角演算部77Aが3つの磁気センサの出力信号に基づいて入力軸8の回転角を演算する場合の実施形態(第2実施形態)について説明する。
図14は、第1の磁石61の構成および3つの磁気センサ71,72,73の配置を示す模式図である。図14において、前述の図6に示された各部に対応する部分には、図6の場合と同一の参照符号を付して示す。
3つの磁気センサ71,72,73は、第1の磁石61の下側の環状端面に対向して、配置されている。以下において、磁気センサ71を第1磁気センサ71、磁気センサ72を第2磁気センサ72、磁気センサ73を第3磁気センサ73という場合がある。第1磁気センサ71と第2磁気センサ72とは、入力軸8の中心軸を中心として電気角で120°の角度間隔で配置されている。また、第2磁気センサ72と第3磁気センサ73とは、入力軸8の中心軸を中心として電気角で120°の角度間隔で配置されている。したがって、第1磁気センサ71と第3磁気センサ73とは、入力軸8の中心軸を中心として電気角で240°の角度間隔で配置されている。
図14に矢印で示す方向を入力軸8の正方向の回転方向とする。そして、入力軸8が正方向に回転されると入力軸8の回転角が大きくなり、入力軸8が逆方向に回転されると、入力軸2の回転角が小さくなるものとする。各磁気センサ71,72,73からは、図15に示すように、入力軸8の回転に伴って、正弦波状の信号S1,S2,S3が出力される。なお、図15の横軸の回転角[deg]は、機械角を表している。
以下において、第1磁気センサ71の出力信号S1を第1出力信号S1または第1センサ値S1といい、第2磁気センサ72の出力信号S2を第2出力信号S2または第2センサ値S2といい、第3磁気センサ73の出力信号S3を第3出力信号S3または第3センサ値S3という場合がある。
以下においては、説明の便宜上、入力軸8の回転角をθAではなく、θで表すことにする。各出力信号S1,S2,S3が正弦波信号であるとみなし、入力軸8の回転角をθ(電気角)とすると、第1磁気センサ71の出力信号S1は、S1=A1・sinθと表され、第2磁気センサ72の出力信号S2は、S2=A2・sin(θ+120)と表され、第3磁気センサ73の出力信号S3は、S3=A3・sin(θ+240)と表される。A1,A2,A3は、それぞれ振幅を表している。第1出力信号S1と第2出力信号S2との位相差は120度である。第2出力信号S2と第3出力信号S3との位相差も120度である。
第1の回転角演算部77Aによる回転角θの演算方法の基本的な考え方について説明する。第1の回転角演算部77Aによる回転角演算モードには、第1演算モードと第2演算モードの2種類がある。第1演算モードと第2演算モードのうちの一方の演算モードは、操舵トルクの演算のために用いられる入力軸8の回転角を演算するための主演算モードとして用いられ、他方の演算モードは、主演算モードの演算処理に異常が発生したか否かを判定するための異常判定用の演算モード(副演算モード)として用いられる。
第1演算モードおよび第2演算モードのいずれのモードにおいても、第1、第2および第3磁気センサ71,72,73における2サンプリング分の出力信号に基づいて回転角θが演算される。しかしながら、第1演算モードと第2演算モードでは、回転角θの演算方法(この例では演算過程)が異なっている。つまり、回転角θの演算のためのソフトウエアの演算内容が異なっている。以下、各演算モードについて詳しく説明する。
[1]第1演算モード
第1出力信号S1と第2出力信号S2との位相差(電気角)をCで表すことにする。また、第1出力信号S1と第3出力信号S3との位相差(電気角)をDとすることにする。また、今回のサンプリング周期の番号(今回の演算周期の番号)を[n]、前回のサンプリング周期の番号を[n-1]で表すことにする。また、各磁極M1〜M8の角度幅(ピッチ幅)のばらつきに基づく回転角演算誤差を補正するための補正値を、角度幅誤差補正値といい、Eで表すことことにする。
位相差C、サンプリング周期番号[n],[n-1]および角度幅誤差補正値Eを用いると、今回および前回にサンプリングされた第1出力信号S1、今回および前回にサンプリングされた第2出力信号S2および今回および前回にサンプリングされた第3出力信号S3を、それぞれ次式(34a),(34b),(34c),(34d),(34e),(34f)で表すことができる。
S1[n]=A1[n]sin(E1[n]θ[n]) …(34a)
S1[n-1]=A1[n-1]sin(E1[n-1]θ[n-1]) …(34b)
S2[n]=A2[n]sin(E2[n]θ[n]+C) …(34c)
S2[n-1]=A2[n-1]sin(E2[n-1]θ[n-1]+C) …(34d)
S3[n]=A3[n]sin(E3[n]θ[n]+D) …(34e)
S3[n-1]=A3[n-1]sin(E3[n-1]θ[n-1]+D) …(34f)
前記式(34a)〜(34f)において、E1[x]は、x番目の演算周期において第1磁気センサ71が検出している磁極に対応する角度幅誤差補正値である。E2[x]は、x番目の演算周期において第2磁気センサ72が検出している磁極に対応する角度幅誤差補正値である。E3[x]は、x番目の演算周期において第3磁気センサ73が検出している磁極に対応する角度幅誤差補正値である。
ある磁極の角度幅をw(電気角)とすると、その磁極の角度幅誤差θerr(電気角)は、次式(35)で定義される。
θerr=w−180 …(35)
その磁極に対する角度幅誤差補正値Eは、次式(36)で定義される。
E=180/w
=180/(θerr+180) …(36)
各磁極の角度幅誤差補正値Eは、各磁極の磁極幅に関する情報である。なお、各磁極の磁極幅に関する情報は、各磁極の角度幅wであってもよいし、各磁極の角度幅誤差θerrであってもよい。
CおよびDが既知であるとすると、前記式(34a)〜(34f)で表される6つの式に含まれる未知数の数は14となる。つまり、未知数の数が方程式の数より多いため、このままでは、6つの式からなる連立方程式を解くことができない。
この実施形態では、サンプリング間隔(サンプリング周期)を短く設定することにより、2サンプリング間の温度変化による振幅の変化がないとみなす。つまり、2サンプリング間の第1磁気センサ71の出力信号の振幅A1[n],A1[n-1]が互いに等しいとみなして、これらをA1とする。同様に、2サンプリング間の第2磁気センサ72の出力信号の振幅A2[n],A2[n-1]が互いに等しいとみなし、これらをA2とする。同様に、2サンプリング間の第3磁気センサ73の出力信号の振幅A3[n],A3[n-1]が互いに等しいとみなし、これらをA3とする。
2サンプリング間において、3の磁気センサ71,72,73が共に同じ1つの磁極を検出していると仮定した場合には、2サンプリング分の両磁気センサ71,72,73の出力信号に含まれている角度幅誤差補正値E1[n],E1[n-1],E2[n],E2[n-1],E3[n],E3[n-1]は同じ値となるので、これらをEで表すことにする。これにより、前記式(34a)〜(34f)は、それぞれ次式(37a)〜(37f)で表わされる。
S1[n]=A1sin(Eθ[n]) …(37a)
S1[n-1]=A1sin(Eθ[n-1]) …(37b)
S2[n]=A2sin(Eθ[n]+C) …(37c)
S2[n-1]=A2sin(Eθ[n-1]+C) …(37d)
S3[n]=A3sin(Eθ[n]+D) …(37e)
S3[n-1]=A3sin(Eθ[n-1]+D) …(37f)
これら6つの式に含まれる未知数(A1,A2,A3,E,θ[n],θ[n-1])の数は6となる。つまり、未知数の数が方程式の数以下となるため、6つの式からなる連立方程式を解くことができる。したがって、前記6つの式(37a)〜(37f)からなる連立方程式を解くことにより、入力軸8の回転角θ[n]を演算することができる。
以下、位相差Cが120度で、位相差Dが240度である場合について、具体的に説明する。位相差Cが120度で、位相差Dが240度である場合には、前記6つの式(37a)〜(37f)は、それぞれ次式(38a)〜(38f)で表わすことができる。
S1[n]=A1sin(Eθ[n]) …(38a)
S1[n-1]=A1sin(Eθ[n-1]) …(38b)
S2[n]=A2sin(Eθ[n]+120) …(38c)
S2[n-1]=A2sin(Eθ[n-1]+120) …(38d)
S3[n]=A3sin(Eθ[n]+240) …(38e)
S3[n-1]=A3sin(Eθ[n-1]+240) …(38f)
前記6つの式(38a)〜(38f)からなる連立方程式を解くことにより、θ[n]は、次式(39)(以下、「θ基本演算式(39)」という。)で表わされる。
Figure 0006202302
第1演算モードでは、6つのセンサ値S1[n],S1[n-1],S2[n],S2[n-1],S3[n],S3[n-1]とθ基本演算式(39)を用いて、入力軸8の回転角θ[n]が演算される。
ただし、θ基本演算式(39)に含まれている分数のいずれかの分母が零になる場合には、θ基本演算式(39)に基づいて回転角θ[n]を演算することはできない。そこで、θ基本演算式(39)に含まれている分数のいずれかの分母が零になる場合には、θ基本演算式(39)とは異なる演算式によって回転角θ[n]を演算する。
この実施形態では、θ基本演算式(39)に含まれている分数のいずれかの分母が零になる場合に適用される演算式とθ基本演算式(39)とを含めて8種類の演算式が用意されている。表2は、8種類の演算式と、その演算式が適用される条件とを示している。なお、回転角θ[n]を演算する際には、表2の上から順番にその条件を満たしているか否かが判別され、条件を満たしたと判別されるとそれ以降の条件判別は行われず、当該条件に対応する演算式により、回転角θ[n]が演算される。
Figure 0006202302
表2の上から1番目の演算式は、θ基本演算式(39)である。θ基本演算式(39)は、θ基本演算式(39)に含まれている分数のいずれの分母も零でないという条件を満たしている場合に、適用される。θ基本演算式(39)に含まれている分数のいずれの分母も零でないという条件は、S1[n-1]≠0でかつ、S2[n-1]≠0でかつ、S3[n-1]≠0でかつ、p1−p2≠0でかつ、p2−p3≠0でかつ、p1 2+p1p2+p2 2≠0でかつ、p2 2+p2p3+p3 2≠0である場合に満たされる。なお、S1[n-1]はp1の分母であり、S2[n-1]はp2の分母であり、S3[n-1]はp3の分母である。
ただし、p1 2+p1p2+p2 2=0が成立するのは、p1=p2=0の場合だけであるが、第1磁気センサ71と第2磁気センサ72とは位相が120度ずれているため、両磁気センサ71,72のセンサ値S1,S2が同時に零になることはない。このため、p1 2+p1p2+p2 2=0が成立することはない。同様に、p2 2+p2p3+p3 2=0が成立するのは、p2=p3=0の場合だけであるが、第2磁気センサ72と第3磁気センサ73とは位相が120度ずれているため、両磁気センサ72,73のセンサ値S2,S3が同時に零になることはない。このため、p2 2+p2p3+p3 2=0が成立することはない。
したがって、θ基本演算式(39)に含まれている分数のいずれの分母も零でないという条件は、S1[n-1]≠0でかつ、S2[n-1]≠0でかつ、S3[n-1]≠0でかつ、p1−p2≠0でかつ、p2−p3≠0であるという条件を満たした場合に満たされる。
表1の上から2番目の演算式は、S1[n-1]≠0でかつ、S2[n-1]≠0でかつ、S3[n-1]≠0でかつ、(p1−p2)および(p2−p3)のうちの少なくとも一方が零である場合に適用される演算式である。p1−p2=0が成立する場合とは、第1実施形態で説明したように、θ[n]とθ[n-1]とが等しい場合である。つまり、今回の回転角θ[n]が前回の回転角θ[n-1]に等しい場合である。また、同様に、p2−p3=0が成立する場合とは、θ[n]とθ[n-1]とが等しい場合である。
そこで、p1、p2およびp3の分母S1[n-1]、S2[n-1]およびS3[n-1]のいずれもが零でなく、(p2−p3)および(p1−p2)のうちの少なくとも一方が零であるという条件を満たした場合には、前回に演算された回転角θ[n-1]が今回の回転角θ[n]として用いられる。
表2の上から3番目および4番目の演算式は、p1の分母S1[n-1]が零となる場合に適用される演算式である。この場合には、第1実施形態の表1の上から4番目および5番目の演算式と同様に、S2[n-1]>0である場合には、回転角θ[n]は前記式(14)となり、S2[n-1]<0である場合には、回転角θ[n]は前記式(19)となる。
つまり、表2の上から3番目に示すように、p2の分母S2[n-1]が零でなく、p3の分母S3[n-1]が零でなく、かつp1の分母S1[n-1]が零であり、かつS2[n-1]>0であるという条件を満たした場合には、前記式(14)で表される演算式に基づいて回転角θ[n]が演算される。また、表2の上から4番目に示すように、p2の分母S2[n-1]が零でなく、p3の分母S3[n-1]が零でなく、かつp1の分母S1[n-1]が零であり、かつS2[n-1]<0であるという条件を満たした場合には、前記式(19)で表される演算式に基づいて回転角θ[n]が演算される。
表2の上から5番目および6番目の演算式は、p2の分母S2[n-1]が零となる場合に適用される演算式である。この場合には、第1実施形態の表1の上から6番目および7番目の演算式と同様に、S1[n-1]>0である場合には、回転角θ[n]は前記式(24)となり、S1[n-1]<0である場合には、回転角θ[n]は前記式(29)となる。
つまり、表2の上から5番目に示すように、p3の分母S3[n-1]が零でなく、かつp2の分母S2[n-1]が零であり、かつS1[n-1]>0であるという条件を満たした場合には、前記式(24)で表される演算式に基づいて回転角θ[n]が演算される。また、表2の上から6番目に示すように、p3の分母S3[n-1]が零でなく、かつp2の分母S2[n-1]が零であり、かつS1[n-1]<0であるという条件を満たした場合には、前記式(29)で表される演算式に基づいて回転角θ[n]が演算される。
表1の上から7番目および8番目の演算式は、p3の分母S3[n-1]が零となる場合に適用される演算式である。S3[n-1]=A3sin(Eθ[n-1]+240)であるので、sin(Eθ[n-1]+240)=0のときに、S3[n-1]=0となる。つまり、Eθ[n-1]が−60度または120度のときに、S3[n-1]が零となる。S1[n-1]=A1sinEθ[n-1]であるので、Eθ[n-1]が−60度のときにはS1[n-1]<0となり、Eθ[n-1]が120度のときにはS1[n-1]>0となる。したがって、S3[n-1]=0でかつS1[n-1]>0のときにはEθ[n-1]=120となり、S3[n-1]=0でかつS1[n-1]<0のときにはEθ[n-1]=−60となる。
Eθ[n-1]=120である場合には、前記式(38a),(38b)は、それぞれ次式(40a),(40b)で表される。
S1[n]=A1sinEθ[n] …(40a)
S1[n-1]=A1sin120=√3/2・A1 …(40b)
前記式(40b)から、次式(41)が得られる。
A1=(2/√3)・S1[n-1] …(41)
前記式(41)を前記式(40a)に代入すると、次式(42)が得られる。
sinEθ[n]=(√3/2)・(S1[n]/S1[n-1]) …(42)
したがって、回転角θ[n]は、次式(43)によって表される。
Figure 0006202302
ここで、簡易的にE=1とすると、回転角θ[n]は、次式(44)となる。
Figure 0006202302
つまり、表2の上から7番目に示すように、p3の分母S2[n-1]が零であり、かつS1[n-1]>0であるという条件を満たした場合には、前記式(44)で表される演算式に基づいて回転角θ[n]が演算される。
一方、Eθ[n-1]=−60である場合には、前記式(38a),(38b)は、それぞれ次式(45a),(45b)で表される。
S1[n]=A1sinEθ[n] …(45a)
S1[n-1]=A1sin(−60)=−√3/2・A1 …(45b)
前記式(45b)から、次式(46)が得られる。
A1=(−2/√3)・S1[n-1] …(46)
前記式(46)を前記式(45a)に代入すると、次式(47)が得られる。
sinEθ[n]=(−√3/2)・(S1[n]/S1[n-1]) …(47)
したがって、回転角θ[n]は、次式(48)によって表される。
Figure 0006202302
ここで、簡易的にE=1とすると、回転角θ[n]は、次式(49)となる。
Figure 0006202302
つまり、表1の上から8番目に示すように、p3の分母S3[n-1]が零であり、かつS1[n-1]<0であるという条件を満たした場合には、前記式(49)で表される演算式に基づいて回転角θ[n]が演算される。
[2]第2演算モード
第1出力信号S1、第2出力信号S2および第3出力信号S3の2サンプリング分の信号を、前記式(38a)〜(38f)と同様に、次式(50a)〜(50f)で表すことにする。
S1[n]=A1sin(Eθ[n]) …(50a)
S1[n-1]=A1sin(Eθ[n-1]) …(50b)
S2[n]=A2sin(Eθ[n]+120) …(50c)
S2[n-1]=A2sin(Eθ[n-1]+120) …(50d)
S3[n]=A3sin(Eθ[n]+240) …(50e)
S3[n-1]=A3sin(Eθ[n-1]+240) …(50f)
前記6つの式(50a)〜(50f)のうちの4つの式(50a),(50b),(50d),(50e)からなる連立方程式を解くことにより、振幅A1は、次式(51)(以下、「A1演算式(51)」という。)で表わされる。
Figure 0006202302
また、前記6つの式(50a)〜(50f)からなる連立方程式を解くことにより、角度幅誤差補正値Eは、次式(52)(以下、「E演算式(52)」という。)で表わされる。
Figure 0006202302
振幅A1および角度幅誤差補正値Eを式(50a)に代入することにより、回転角θ[n]は次式(53)(以下、「θ演算式(53)」という。)で表わされる。
Figure 0006202302
第2演算モードでは、まず、A1演算式(51)を用いて振幅A1が演算される。次に、E演算式(52)を用いて角度幅誤差補正値Eが演算される。そして、θ演算式(53)を用いて回転角θ[n]が演算される。角度幅誤差補正値Eを演算してから、振幅A1を演算してもよい。
ただし、A1演算式(51)に含まれている分数のいずれかの分母が零になる場合には、前回に演算された振幅A1が今回の振幅A1として用いられる。A1演算式(51)に含まれている分数のいずれかの分母が零になる場合とは、S1[n-1]=0の場合、S2[n-1]=0の場合、p1−p2=0の場合またはp1 2+p1p2+p2 2=0の場合である。ただし、前述したように、p1 2+p1p2+p2 2=0が成立することはない。
また、E演算式(52)に含まれている分数のいずれかの分母が零になる場合には、前回に演算された角度幅誤差補正値Eが今回の角度幅誤差補正値Eとして用いられる。E演算式(52)に含まれている分数のいずれかの分母が零になる場合とは、S1[n-1]=0の場合、S2[n-1]=0の場合、S3[n-1]=0の場合、p1−p2=0の場合、p2−p3=0の場合、p1 2+p1p2+p2 2=0の場合またはp2 2+p2p3+p3 2=0の場合である。ただし、前述したように、p1 2+p1p2+p2 2=0またはp2 2+p2p3+p3 2=0が成立することはない。
第1演算モードまたは第2演算モードでは、3つの磁気センサ71,72,73における2サンプリング分の出力信号に基づいて入力軸8の回転角θ[n]を演算しているので、精度の高い回転角を演算することが可能となる。また、第1演算モードまたは第2演算モードでは、入力軸8の回転角θ[n]の演算に用いられる数式の数が、これらの数式に含まれている本来の未知数の数より少なくても、入力軸8の回転角θ[n]を演算することができるので、入力軸8の回転角θ[n]を演算するために必要なセンサ値の数を少なくすることが可能となる。
第1演算モードまたは第2演算モードでは、2サンプリング間での同じ磁気センサの出力信号の振幅(A1[n]とA1[n-1],A2[n]とA2[n-1],A3[n]とA3[n-1])が互いに等しいとみなしている。2サンプリング間での同じ磁気センサの出力信号の振幅は、温度変化の影響によって異なる値となる可能性がある。しかしながら、サンプリング間隔が小さい場合には、2サンプリング間の温度変化は非常に小さいので、2サンプリング間での同じ磁気センサの出力信号の振幅は等しいとみなすことができる。したがって、第1演算モードまたは第2演算モードでは、2サンプリング間での温度変化の影響による振幅のばらつきを補償することができる。また、第1演算モードまたは第2演算モードでは、回転角の演算に用いられている3つの磁気センサ71,72,73間の振幅A1,A2,A3は、別々の未知数として扱っているので、それらの3つの磁気センサ71,72,73間の温度特性のばらつきの影響を補償することができる。これにより、精度の高い回転角を検出することができる。
以下、第2演算モードが主演算モードとして用いられ、第1演算モードが異常判定用演算モード(副演算モード)として用いられる場合の、第1の回転角演算部77Aの動作について説明する。以下の説明において、主演算モードによって演算される入力軸8の回転角θ[n]を、主回転角θmain[n]といい、副演算モードによって演算される入力軸8の回転角θ[n]を、副回転角θsub[n]という場合がある。
図16は、第1の回転角演算部77Aの動作を示すフローチャートである。
トルク演算用ECU77の電源がオンすると、第1の回転角演算部77Aは、強制回転に基づく回転角演算処理を行う(ステップS71)。この処理は、電動モータ18を一時的に強制回転させることにより、入力軸8(出力軸9)を回転させ、入力軸8の回転角θを演算する処理である。
前述した第1演算モードでは、p1−p2=0の場合またはp2−p3=0には、前回演算された回転角θ[n]が、今回の回転角θ[n]として用いられる。前述した第2演算モードでは、A1演算式(51)に含まれている分数のいずれかの分母が零になる場合には、前回に演算された振幅A1が今回の振幅A1として用いられる。また、E演算式(52)に含まれている分数のいずれかの分母が零になる場合には、前回に演算された角度幅誤差補正値Eが今回の角度幅誤差補正値Eとして用いられる。
しかしながら、イグニッションキーがオン操作されることによって、トルク演算用ECU77の電源がオンされた時点では、第1演算モードで演算された回転角θ[n]の前回値ならびに第2演算モードで演算された振幅A1および角度幅誤差補正値Eの前回値は存在しない。このため、第1演算モードおよび第2演算モードによって回転角θ[n]を演算できなくなるおそれがある。そこで、第1演算モードで演算された回転角θ[n]の前回値ならびに第2演算モードで演算された振幅A1および角度幅誤差補正値Eの前回値を作成するために、強制回転に基づく回転角演算処理を行っている。強制回転に基づく回転角演算処理の詳細については後述する。
強制回転に基づく回転角演算処理が終了すると、第1の回転角演算部77Aは、通常時の回転角演算処理を行う(ステップS72)。この処理の詳細については後述する。通常時の回転角演算処理は、イグニッションオフ指令が入力されるまで繰り返し行われる。イグニッションオフ指令が入力されると(ステップS73:YES)、第1の回転角演算部77Aは通常時の回転角演算処理を終了する。
図17は、図16のステップS71の強制回転に基づく回転角演算処理の手順を示すフローチャートである。
強制回転に基づく回転角演算処理では、短時間ではあるがステアリングホイール2が強制的に回転駆動される。このため、運転者は何らかの故障が発生したと誤解するおそれがある。そこで、第1の回転角演算部77Aは、運転者への警告を行う(ステップS81)。具体的には、第1の回転角演算部77Aは、車内に設けられた表示装置(図示略)、音声出力装置(図示略)等を制御するための映像音声制御装置(図示略)に、警告出力指令を送信する。映像音声制御装置は、この警告出力指令を受信すると、「ステアリングホイールが強制的に回転しますが故障ではありません」等のメッセージを表示装置に表示したり、音声出力装置によって音声出力したりする。
次に、第1の回転角演算部77Aは、第1方向に電動モータ18を回転駆動させる(ステップS82)。具体的には、第1の回転角演算部77Aは、第1方向に電動モータ18を回転駆動させるための第1強制回転指令をモータ制御用ECU12に送信する。モータ制御用ECU12は、この第1強制回転指令を受信すると、第1方向に電動モータ18を回転駆動させる。
第1の回転角演算部77Aは、各磁気センサ71,72,73のセンサ値S1[n],S2[n] ,S3[n]を取得する(ステップS83)。トルク演算用ECU77内のメモリには、所定回数前に取得されたセンサ値から最新に取得されたセンサ値までの複数回分(2回以上)のセンサ値が記憶されるようになっている。
第1の回転角演算部77Aは、第1方向に電動モータ18が回転駆動された後において、2回分の各センサ値S1,S2,S3を取得したか否かを判別する(ステップS84)。2回分の各センサ値S1,S2,S3を取得していない場合には(ステップS84:NO)、第1の回転角演算部77Aは、ステップS83に戻り、各センサ値S1[n],S2[n],S3[n]を取得する。ステップS83の処理が繰り返される際のセンサ値S1[n],S2[n],S3[n]のサンプリング周期は予め定められている。
前記ステップS84において、2回分の各センサ値S1,S2,S3が取得されたと判別された場合には(ステップS84:YES)、第1の回転角演算部77Aは、第1方向とは反対方向である第2方向に電動モータ18を回転駆動させる(ステップS85)。具体的には、第1の回転角演算部77Aは、第2方向に電動モータ18を回転駆動させるための第2強制回転指令をモータ制御用ECU12に送信する。モータ制御用ECU12は、この第2強制回転指令を受信すると、第2方向に電動モータ18を回転駆動させる。
この後、第1の回転角演算部77Aは、各磁気センサ71,72,73のセンサ値S1[n],S2[n],S3[n]を取得する(ステップS86)。そして、第1の回転角演算部77Aは、第2方向に電動モータ18が回転駆動された後において、2回分の各センサ値S1,S2,S3を取得したか否かを判別する(ステップS87)。2回分の各センサ値S1,S2,S3を取得していない場合には(ステップS87:NO)、第1の回転角演算部77Aは、ステップS86に戻り、各センサ値S1[n],S2[n],S3[n]を取得する。ステップS86の処理が繰り返される際のセンサ値S1[n],S2[n],S3[n]のサンプリング周期は予め定められている。
前記ステップS87において、2回分の各センサ値S1,S2,S3が取得されたと判別された場合には(ステップS87:YES)、第1の回転角演算部77Aは、第1演算モードによって、回転角θ[n](この例では、副回転角θsub[n])を演算して、得られた回転角θ[n]をメモリに記憶する(ステップS88)。
また、第1の回転角演算部77Aは、第2演算モードによって、振幅A1、角度幅誤差補正値Eおよび回転角θ[n](この例では主回転角θmain[n])を演算して、得られた振幅A1、角度幅誤差補正値Eおよび回転角θ[n]をメモリに記憶する(ステップS89)。
この後、第1の回転角演算部77Aは、電動モータ18の駆動を停止させるとともに運転者への警告を停止させる(ステップS90)。具体的には、第1の回転角演算部77Aは、電動モータ18の駆動停止指令をモータ制御用ECU12に送信するとともに、映像音声制御装置に警告停止指令を送信する。モータ制御用ECU12は、電動モータ18の駆動停止指令を受信すると電動モータ18の駆動を停止させる。映像音声制御装置は、警告停止指令を受信すると、警告表示、警告音声出力等を停止させる。これにより、強制回転に基づく回転角演算処理が終了し、第1の回転角演算部77Aは、図16のステップS72に移行する。
図18は、図16のステップS72の通常時の回転角演算処理の手順を示すフローチャートである。図18の処理は、イグニッションオフ指令が入力されるまで、所定の演算周期(サンプリング周期)T毎に繰り返し実行される。
第1の回転角演算部77Aは、変数mを1だけインクリメントする(ステップS101)。変数mの初期値は零である。次に、第1の回転角演算部77Aは、センサ値S1[n],S2[n],S2[n]を取得する(ステップS102)。そして、第1の回転角演算部77Aは、前記ステップS102で取得されたセンサ値S1[n],S2[n],S2[n]を含めた最新の2回分のセンサ値に基づいて、主演算モードによって入力軸8の回転角θ[n](主回転角θmain[n])を演算してメモリに記憶する(ステップS103)。この例では、第2演算モードが主演算モードであるので、ステップS103では、第2演算モードによって主回転角θmain[n]が演算される。この際、現在までにステップS102で取得された第1、第2および第3センサ値が2回分に満たない場合には、強制回転に基づく回転角演算処理において取得されたセンサ値のうちから、不足分のセンサ値が選択される。この際、新しく取得されたセンサ値が優先的に選択される。
この後、第1の回転角演算部77Aは、変数mが偶数であるか否かを判別する(ステップS104)。変数mが奇数であれば(ステップS104:NO)、第1の回転角演算部77Aは、ステップS103で演算された主回転角θmain[n]をトルク演算部77Cに出力する(ステップS105)。そして、図16のステップS73に移行する。ステップS73でイグニッションオフ指令が入力されていないと判別された場合には、第1の回転角演算部77Aは、ステップS101に戻る。
前記ステップS104において、変数mが偶数であると判別された場合には(ステップS104:YES)、第1の回転角演算部77Aは、副演算モードによって入力軸8の回転角θ[n](副回転角θsub[n])を演算してメモリに記憶する(ステップS106)。この例では、第1演算モードが副演算モードであるので、ステップS106では、第1演算モードによって副回転角θsub[n]が演算される。変数mが偶数である場合のみ副演算モードによる回転角演算処理が行われるので、副演算モードによって入力軸8の回転角θ[n]が演算される周期は、主演算モードによって入力軸8の回転角θ[n]が演算される周期Tの2倍となる。
具体的には、第1の回転角演算部77Aは、ステップS104で変数mが偶数であると判別された演算周期において取得された最新の2回分の第1、第2および第3センサ値に基づいて、副演算モード(この例では第1演算モード)によって副回転角θsub[n]を演算する。ただし、ステップS104で変数mが偶数であると判別された演算周期において現在までに取得された第1、第2および第3センサ値が2回分に満たない場合もある。このような場合には、ステップS104で変数mが奇数であると判別された演算周期において取得されたセンサ値または強制回転に基づく回転角演算処理において取得されたセンサ値のうちから、不足分のセンサ値が選択される。この際、新しく取得されたセンサ値が優先的に選択される。
ステップ106において副回転角θsub[n]が演算されると、第1の回転角演算部77Aは、今演算周期においてステップS103で演算された主回転角θmain[n]と副回転角θsub[n]との差の絶対値|θmain[n]−θsub[n]|が、所定値α(>0)より小さいか否かを判別する(ステップS107)。前記差の絶対値|θmain[n]−θsub[n]|が所定値αより小さい場合には(ステップS107:NO)、第1の回転角演算部77Aは、主回転角θmain[n]の演算処理(ソフトウエア演算)に異常が発生していないと判別し、ステップS103で演算された主回転角θmain[n]をトルク演算部77Cに出力する(ステップS108)。そして、図16のステップS73に移行する。ステップS73でイグニッションオフ指令が入力されていないと判別された場合には、第1の回転角演算部77Aは、ステップS101に戻る。
前記ステップS107において、前記差の絶対値|θmain[n]−θsub[n]|が所定値α以上であると判別された場合には(ステップS107:NO)、第1の回転角演算部77Aは、主回転角θmain[n]の演算処理(ソフトウエア演算)に異常が発生したと判別し、異常処理を行う(ステップS109)。たとえば、第1の回転角演算部77Aは、トルク演算用ECU77の動作を停止させるとともに、モータ制御用ECU12による電動モータ18の制御を停止させる。これにより、ソフトウエア演算に異常が発生したときに演算される誤った回転角θ[n]に基づいて操舵トルクが演算されるのを防止できる。また、誤った回転角θ[n]に基づいて演算される操舵トルクに基づいて電動モータ18が制御されるのを防止できる。
前述の第2実施形態では、第2演算モードが主演算モードとして用いられ、第1演算モードが副演算モードとして用いられているが、第1演算モードを主演算モードとして用い、第2演算モードを副演算モードとして用いてもよい。
また、前述の第1実施形態および第2実施形態では、副演算モードによる回転角の演算周期は、主演算モードによる回転角の演算周期の2倍であるが、副演算モードによる回転角の演算周期は、主演算モードによる回転角の演算周期の3以上の整数倍であってもよいし、主演算モードによる回転角の演算周期と同じであってもよい。
第1の回転角演算部77Aの演算処理負担を軽減するためには、副演算モードによる回転角の演算周期は、主演算モードによる回転角の演算周期より長いことが好ましい。副演算モードによる回転角の演算周期は、主演算モードによる回転角の演算周期の2以上の整数倍であることがより好ましい。
前述の第2実施形態のように入力軸8の回転角を演算するために磁気センサが3つ設けられている場合には、前述の第2実施形態の第1演算モードおよび第2演算モードによって入力軸8の回転角を検出することが可能であるとともに、前述の第1実施形態の第1演算モードおよび第2演算モードによって入力軸8の回転角を検出することも可能である。そこで、前述の第1実施形態の第1演算モードおよび第2演算モードのうちのいずれか一方を主演算モードとし、前述の第2実施形態の第1演算モードおよび第2演算モードのうちのいずれか一方を副演算モードとしてもよい。また、前述の第2実施形態の第1演算モードおよび第2演算モードのうちのいずれか一方を主演算モードとし、前述の第1実施形態の第1演算モードおよび第2演算モードのうちのいずれか一方を副演算モードとしてもよい。
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
1…電動パワーステアリング装置、8…入力軸、9…出力軸、12…モータ制御用ECU、18…電動モータ、61,62…磁石、71〜76…磁気センサ、77…トルク演算用ECU、77A…第1の回転角演算部、77B…第2の回転角演算部

Claims (7)

  1. 回転体の回転角を検出するための複数のセンサと、
    所定の第1演算周期毎に、前記複数のセンサに含まれる2以上のセンサにおける2以上の所定数の異なるタイミングでサンプリングされた複数の出力信号を用いて、所定の第1演算方法によって前記回転体の回転角を演算する主回転角演算手段と、
    所定の第2演算周期毎に、前記複数のセンサに含まれる2以上のセンサにおける2以上の所定数の異なるタイミングでサンプリングされた複数の出力信号を用いて、前記第1演算方法とは異なる所定の第2演算方法によって前記回転体の回転角を演算する異常判定用の副回転角演算手段と、
    任意のタイミングにおいて、前記主回転角演算手段によって演算された回転角と、前記副回転角演算手段によって演算された回転角とを比較することにより、前記主回転角演算手段の演算処理に異常が発生したか否かを判別する異常判別手段とを含む、回転角演算装置。
  2. 前記第2演算周期が前記第1演算周期より長い、請求項1に記載の回転角演算装置。
  3. 前記第2演算周期が前記第1演算周期と同じである、請求項1に記載の回転角演算装置。
  4. 前記主回転角演算手段は、前記複数のセンサに含まれる所定の2つのセンサにおける3つの異なるタイミングでサンプリングされた6つの出力信号を用いて、所定の第1演算方法によって前記回転体の回転角を演算するように構成されており、
    前記副回転角演算手段は、前記所定の2つのセンサにおける3つの異なるタイミングでサンプリングされた6つの出力信号を用いて、前記第1演算方法とは演算過程が異なる所定の第2演算方法によって前記回転体の回転角を演算するように構成されている、請求項1〜3のいずれか一項に記載の回転角演算装置。
  5. 前記主回転角演算手段は、前記複数のセンサに含まれる所定の3つのセンサにおける2つの異なるタイミングでサンプリングされた6つの出力信号を用いて、所定の第1演算方法によって前記回転体の回転角を演算するように構成されており、
    前記副回転角演算手段は、前記所定の3つのセンサにおける2つの異なるタイミングでサンプリングされた6つの出力信号を用いて、前記第1演算方法とは演算過程が異なる所定の第2演算方法によって前記回転体の回転角を演算するように構成されている、請求項1〜3のいずれか一項に記載の回転角演算装置。
  6. 前記主回転角演算手段は、前記複数のセンサに含まれる所定の2つのセンサにおける3つの異なるタイミングでサンプリングされた6つの出力信号を用いて、所定の第1演算方法によって前記回転体の回転角を演算するように構成されており、
    前記副回転角演算手段は、前記複数のセンサに含まれる所定の3つのセンサにおける2つの異なるタイミングでサンプリングされた6つの出力信号を用いて、前記第1演算方法とは演算方法が異なる所定の第2演算方法によって前記回転体の回転角を演算するように構成されている、請求項1〜3のいずれか一項に記載の回転角演算装置。
  7. 前記主回転角演算手段は、前記複数のセンサに含まれる所定の3つのセンサにおける2つの異なるタイミングでサンプリングされた6つの出力信号を用いて、所定の第1演算方法によって前記回転体の回転角を演算するように構成されており、
    前記副回転角演算手段は、前記複数のセンサに含まれる所定の2つのセンサにおける3つの異なるタイミングでサンプリングされた6つの出力信号を用いて、前記第1演算方法とは演算方法が異なる所定の第2演算方法によって前記回転体の回転角を演算するように構成されている、請求項1〜3のいずれか一項に記載の回転角演算装置。
JP2013083038A 2013-04-11 2013-04-11 回転角検出装置 Expired - Fee Related JP6202302B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013083038A JP6202302B2 (ja) 2013-04-11 2013-04-11 回転角検出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013083038A JP6202302B2 (ja) 2013-04-11 2013-04-11 回転角検出装置

Publications (2)

Publication Number Publication Date
JP2014206413A JP2014206413A (ja) 2014-10-30
JP6202302B2 true JP6202302B2 (ja) 2017-09-27

Family

ID=52120076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013083038A Expired - Fee Related JP6202302B2 (ja) 2013-04-11 2013-04-11 回転角検出装置

Country Status (1)

Country Link
JP (1) JP6202302B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6597254B2 (ja) * 2015-01-29 2019-10-30 株式会社デンソー 回転角検出装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5124596B2 (ja) * 2004-01-28 2013-01-23 日立オートモティブシステムズ株式会社 レゾルバ/デジタル変換器及びこれを用いた制御システム
JP2008026297A (ja) * 2006-06-21 2008-02-07 Nsk Ltd 回転角度位置検出装置
JP2010019575A (ja) * 2008-07-08 2010-01-28 Nikon Corp エンコーダ装置および信号採択方法
JP5454918B2 (ja) * 2010-04-09 2014-03-26 株式会社ジェイテクト 回転角検出装置
JP5389101B2 (ja) * 2011-04-26 2014-01-15 三菱電機株式会社 モータ制御装置

Also Published As

Publication number Publication date
JP2014206413A (ja) 2014-10-30

Similar Documents

Publication Publication Date Title
JP5679136B2 (ja) 回転角検出装置、および、回転角検出装置を備えた電動パワーステアリング装置
CN103868448B (zh) 相位差检测装置以及具备其的旋转角检测装置
CN103863389B (zh) 旋转角检测装置以及具备其的电动动力转向装置
JP6579376B2 (ja) 車両用操舵装置
JP2014219364A (ja) 回転角検出装置
JP6024971B2 (ja) 回転角検出装置
EP1955926A2 (en) Control device for electric power steering apparatus
JP2016082685A (ja) ブラシレスモータ及び電動パワーステアリング装置
JP2018057084A (ja) モータ制御装置
JP6024970B2 (ja) 回転角検出装置およびそれを備えた電動パワーステアリング装置
JP2014142322A (ja) 回転角検出装置
JP2014206413A (ja) 回転角検出装置
JP2014139054A (ja) 電動パワーステアリング装置
JP2016192882A (ja) モータ制御装置
EP2743647B1 (en) Rotation angle detection device
JP6024976B2 (ja) 操舵角センサの信頼性判定装置
JP2017083422A (ja) 回転角検出装置
JP2019124670A (ja) 回転角検出装置、モータ制御装置、電動パワーステアリング装置、及び回転角検出方法
JP2019156110A (ja) 車両用操舵装置
JP2019214239A (ja) 転舵制御装置
JP2014178178A (ja) 磁気遮蔽部材およびトルク検出装置
JP2014174098A (ja) トルク検出装置およびそれを用いた電動パワーステアリング装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160315

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170105

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170803

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170816

R150 Certificate of patent or registration of utility model

Ref document number: 6202302

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees