特許第6024971号(P6024971)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

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

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6024971
(24)【登録日】2016年10月21日
(45)【発行日】2016年11月16日
(54)【発明の名称】回転角検出装置
(51)【国際特許分類】
   G01D 5/244 20060101AFI20161107BHJP
   G01B 7/30 20060101ALI20161107BHJP
   G01L 3/10 20060101ALI20161107BHJP
   B62D 5/04 20060101ALI20161107BHJP
【FI】
   G01D5/244 J
   G01B7/30 H
   G01L3/10 317
   B62D5/04
【請求項の数】3
【全頁数】37
(21)【出願番号】特願2012-271640(P2012-271640)
(22)【出願日】2012年12月12日
(65)【公開番号】特開2014-115261(P2014-115261A)
(43)【公開日】2014年6月26日
【審査請求日】2015年11月19日
(73)【特許権者】
【識別番号】000001247
【氏名又は名称】株式会社ジェイテクト
(74)【代理人】
【識別番号】100087701
【弁理士】
【氏名又は名称】稲岡 耕作
(74)【代理人】
【識別番号】100101328
【弁理士】
【氏名又は名称】川崎 実夫
(74)【代理人】
【識別番号】100086391
【弁理士】
【氏名又は名称】香山 秀幸
(72)【発明者】
【氏名】高木 剛
(72)【発明者】
【氏名】狩集 裕二
(72)【発明者】
【氏名】冷水 由信
【審査官】 深田 高義
(56)【参考文献】
【文献】 特開2012−149909(JP,A)
【文献】 国際公開第2011/108421(WO,A1)
【文献】 特開平06−261524(JP,A)
【文献】 米国特許出願公開第2012/0182009(US,A1)
【文献】 米国特許出願公開第2012/0158340(US,A1)
【文献】 特開2012−127801(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01D 5/244
B62D 5/04
G01B 7/30
G01L 3/10
(57)【特許請求の範囲】
【請求項1】
回転体の回転に応じて回転し、複数の磁極を有する多極磁石と、
前記多極磁石の回転に応じて、互いに所定の位相差を有する正弦波信号をそれぞれ出力する3つの磁気センサと、
前記各磁気センサの出力信号を所定時間毎にサンプリングするサンプリング手段と、
前記3つの磁気センサのうちの2つの磁気センサが共に同じ1つの磁極を3サンプリング周期連続して検出しているという条件を満たしているときには、それらの2つの磁気センサの3サンプリング分の出力信号に基づいて、前記回転体の回転角を演算するとともに、常にまたは前記3サンプリング分の出力信号が一定の要件を満たしているときには、それらの2つの磁気センサが検出している磁極の磁極幅に関する情報およびそれらの2つの磁気センサの出力信号の振幅に関する情報を演算して当該磁極に関連付けて記憶する第1演算手段と、
前記条件を満たしていないときには、前記3つの磁気センサのうち、磁極幅に関する情報が関連付けて記憶されている磁極を検出している1つの磁気センサを含む2つの磁気センサの1サンプリング分の出力信号と、前記第1演算手段によって記憶されている前記情報とを用いて、前記回転体の回転角を演算する第2演算手段と、を含む回転角演算装置。
【請求項2】
前記3つの磁気センサを第1磁気センサ、第2磁気センサおよび第3磁気センサとすると、前記第1磁気センサの出力信号と前記第2磁気センサの出力信号との位相差が120度であり、前記第1磁気センサの出力信号と前記第3磁気センサの出力信号との位相差が240度である、請求項1に記載の回転角演算装置。
【請求項3】
前記磁極の磁極幅に関する情報が、前記磁極の磁極幅誤差に基づく回転角誤差を補正するための磁極幅誤差補正値であり、
前記第1磁気センサの出力信号の振幅をA、前記第1磁気センサが検出している磁極に対応する磁極幅誤差補正値をE、前記回転体の回転角をθとすると、前記第1磁気センサの出力信号Sは、S=Asin(Eθ)で表され、
前記第2磁気センサの出力信号の振幅をA、前記第2磁気センサが検出している磁極の磁極幅誤差補正値Eとすると、前記第2磁気センサの出力信号Sは、S=Asin(Eθ+120)で表され、
前記第3磁気センサの出力信号の振幅をA、前記第3磁気センサが検出している磁極の磁極幅誤差補正値Eとすると、前記第3磁気センサの出力信号Sは、S=Asin(Eθ+240)で表される、請求項2に記載の回転角演算装置。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、回転体の回転角を検出する回転角検出装置に関する。
【背景技術】
【0002】
回転体の回転角を検出する回転角検出装置として、ブラシレスモータの回転に応じて回転する検出用ロータを用いて、ブラシレスモータのロータの回転角を検出する回転角検出装置が知られている。具体的には、図16に示すように、検出用ロータ201(以下、「ロータ201」という)は、ブラシレスモータのロータに設けられている磁極対に相当する複数の磁極対を有する円筒状の磁石202を備えている。ロータ201の周囲には、2つの磁気センサ221,222が、ロータ201の回転中心軸を中心として所定の角度間隔をおいて配置されている。各磁気センサ221,222からは、所定の位相差を有する正弦波信号が出力される。これらの2つの正弦波信号に基づいて、ロータ201の回転角(ブラシレスモータのロータの回転角)が検出される。
【0003】
この例では、磁石202は、5組の磁極対を有している。つまり、磁石102は、等角度間隔で配置された10個の磁極を有している。各磁極は、ロータ201の回転中心軸を中心として、36°(電気角では180°)の角度間隔で配置されている。また、2つの磁気センサ221,222は、ロータ201の回転中心軸を中心として18°(電気角では90°)の角度間隔をおいて配置されている。
【0004】
図16に矢印で示す方向を検出用ロータ201の正方向の回転方向とする。そして、ロータ201が正方向に回転されるとロータ201の回転角が大きくなり、ロータ201が逆方向に回転されると、ロータ201の回転角が小さくなるものとする。各磁気センサ221,222からは、図17に示すように、ロータ201が1磁極対分に相当する角度(72°(電気角では360°))を回転する期間を一周期とする正弦波信号S,Sが出力される。
【0005】
ロータ201の1回転分の角度範囲を、5つの磁極対に対応して5つの区間に分け、各区間の開始位置を0°とし終了位置を360°として表したロータ201の回転角を、ロータ201の電気角θということにする。
ここでは、第1磁気センサ221からは、S=A・sinθの出力信号が出力され、第2磁気センサ222からは、S=A・cosθの出力信号が出力されるものとする。A,Aは、振幅である。両出力信号S,Sの振幅A,Aが互いに等しいとみなすと、ロータ201の電気角θは、両出力信号S,Sを用いて、次式に基づいて求めることができる。
【0006】
θ=tan−1(sinθ/cosθ)
=tan−1(S/S
このようにして、求められた電気角θを使って、ブラシレスモータを制御する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2008-26297号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
前述したような従来の回転角検出装置においては、両磁気センサ221,222の出力信号S,Sの振幅A,Aが等しいとみなして回転角θを演算しているが、両出力信号S,Sの振幅A,Aは、両磁気センサ221,222の温度特性のばらつきおよび温度変化に応じて変化する。このため、両磁気センサ221,222の温度特性のばらつきおよび温度変化によって、ロータの回転角の検出に誤差が発生する。
【0009】
この発明の目的は、精度の高い回転角を検出できる回転角検出装置を提供することである。
【課題を解決するための手段】
【0010】
請求項1記載の発明は、回転体(8)の回転に応じて回転し、複数の磁極を有する多極磁石(61)と、前記多極磁石の回転に応じて、互いに所定の位相差を有する正弦波信号をそれぞれ出力する3つの磁気センサ(71,72,73)と、前記各磁気センサの出力信号を所定時間毎にサンプリングするサンプリング手段(77A,S61)と、前記3つの磁気センサのうちの2つの磁気センサが共に同じ1つの磁極を3サンプリング周期連続して検出しているという条件を満たしているときには、それらの2つの磁気センサの3サンプリング分の出力信号に基づいて、前記回転体の回転角を演算するとともに、常にまたは前記3サンプリング分の出力信号が一定の要件を満たしているときに、それらの2つの磁気センサが検出している磁極の磁極幅に関する情報およびそれらの2つの磁気センサの出力信号の振幅に関する情報を演算して当該磁極に関連付けて記憶する第1演算手段(77A,S64〜S67,S68〜S71)と、前記条件を満たしていないときには、前記3つの磁気センサのうち、磁極幅に関する情報が関連付けて記憶されている磁極を検出している1つの磁気センサを含む2つの磁気センサの1サンプリング分の出力信号と、前記第1演算手段によって記憶されている前記情報とを用いて、前記回転体の回転角を演算する第2演算手段(77A,S72〜S76)と、を含む回転角演算装置である。なお、括弧内の英数字は、後述の実施形態における対応構成要素等を表すが、むろん、この発明の範囲は当該実施形態に限定されない。以下、この項において同じ。
【0011】
この発明では、3つの磁気センサのうちの2つの磁気センサが共に同じ1つの磁極を3サンプリング周期連続して検出しているという条件を満たしているときには、それらの2つの磁気センサの3サンプリング分の出力信号に基づいて回転体の回転角が演算されるので、精度の高い回転角を演算することができる。また、前記条件を満たしていないときには、磁極幅に関する情報が関連付けて記憶されている磁極を検出している1つの磁気センサを含む2つの磁気センサの1サンプリング分の出力信号と、第1演算手段によって記憶されている情報とを用いて、回転角が演算されるので、第1演算手段の検出精度に近い検出精度で回転角を演算することができる。
【0012】
請求項2記載の発明は、前記3つの磁気センサを第1磁気センサ、第2磁気センサおよび第3磁気センサとすると、前記第1磁気センサの出力信号と前記第2磁気センサの出力信号との位相差が120度であり、前記第1磁気センサの出力信号と前記第3磁気センサの出力信号との位相差が240度である、請求項1に記載の回転角演算装置である。
この構成では、第1磁気センサおよび第2磁気センサの組み合わせからなる2つの磁気センサがそれぞれ異なる磁極を検出しているときには、第2磁気センサおよび第3磁気センサの組み合わせからなる2つの磁気センサが共に同じ一つの磁極を検出する。逆に、第2磁気センサおよび第3磁気センサの組み合わせからなる2つの磁気センサがそれぞれ異なる磁極を検出しているときには、第1磁気センサおよび第2磁気センサの組み合わせからなる2つの磁気センサが共に同じ一つの磁極を検出する。したがって、3つの磁気センサのうちの2つの磁気センサが共に同じ1つの磁極を3サンプリング周期連続して検出しているという条件を満たす確率が高くなる。これにより、高い精度で回転角を演算できる第1演算手段によって回転角を演算できる確率が高くなる。
【0013】

請求項3記載の発明は、前記磁極の磁極幅に関する情報が、前記磁極の磁極幅誤差に基づく回転角誤差を補正するための磁極幅誤差補正値であり、前記第1磁気センサの出力信号の振幅をA、前記第1磁気センサが検出している磁極に対応する磁極幅誤差補正値をE、前記回転体の回転角をθとすると、前記第1磁気センサの出力信号Sは、S=Asin(Eθ)で表され、前記第2磁気センサの出力信号の振幅をA、前記第2磁気センサが検出している磁極の磁極幅誤差補正値Eとすると、前記第2磁気センサの出力信号Sは、S=Asin(Eθ+120)で表され、前記第3磁気センサの出力信号の振幅をA、前記第3磁気センサが検出している磁極の磁極幅誤差補正値Eとすると、前記第3磁気センサの出力信号Sは、S=Asin(Eθ+240)で表される、請求項2に記載の回転角演算装置である。
【図面の簡単な説明】
【0014】
図1図1は、本発明の一実施形態に係る回転角検出装置が適用された電動パワーステアリング装置の概略構成を示す模式図である。
図2図2は、モータ制御用ECUの電気的構成を示す概略図である。
図3図3は、電動モータの構成を図解的に示す模式図である。
図4図4は、検出操舵トルクThに対するq軸電流指令値Iの設定例を示すグラフである。
図5図5は、トルクセンサの構成を図解的に示す模式図である。
図6図6は、第1の磁石の構成および3つの磁気センサの配置を示す模式図である。
図7図7は、第1磁気センサ、第2磁気センサおよび第3磁気センサの出力波形を示す模式図である。
図8図8A図8Bおよび図8Cは、それぞれ第3演算モード、第4演算モードおよび第5演算モードが適用される場合を説明するための模式図である。
図9図9は、第3演算モードを説明するための説明図である。
図10図10は、第1の回転角演算部77Aの動作を示すフローチャートである。
図11A図11Aは、図10のステップS1の強制回転に基づく回転角演算処理の手順の一部を示すフローチャートである。
図11B図11Bは、図10のステップS1の強制回転に基づく回転角演算処理の手順の一部を示すフローチャートである。
図11C図11Cは、図10のステップS1の強制回転に基づく回転角演算処理の手順の一部を示すフローチャートである。
図12図12は、トルク演算用ECU内のメモリの内容の一部を示す模式図である。
図13図13は、相対的極番号の設定処理の詳細な手順を示すフローチャートである。
図14図14は、相対的極番号の設定処理を説明するための模式図である。
図15A図15Aは、図10のステップS2の通常時の回転角演算処理の手順の一部を示すフローチャートである。
図15B図15Bは、図10のステップS2の通常時の回転角演算処理の手順の一部を示すフローチャートである。
図16図16は、従来の回転角検出装置による回転角検出方法を説明するための模式図である。
図17図17は、第1磁気センサおよび第2磁気センサの出力信号波形を示す模式図である。
【発明を実施するための形態】
【0015】
以下では、この発明の実施形態を、添付図面を参照して詳細に説明する。
図1は、本発明の一実施形態に係る回転角検出装置が適用された電動パワーステアリング装置の概略構成を示す模式図である。
電動パワーステアリング装置1は、車両を操向するための操舵部材としてのステアリングホイール2と、このステアリングホイール2の回転に連動して転舵輪3を転舵する転舵機構4と、運転者の操舵を補助するための操舵補助機構5とを備えている。ステアリングホイール2と転舵機構4とは、ステアリングシャフト6および中間軸7を介して機械的に連結されている。
【0016】
ステアリングシャフト6は、ステアリングホイール2に連結された入力軸8と、中間軸7に連結された出力軸9とを含む。入力軸8と出力軸9とは、トーションバー10を介して同一軸線上で相対回転可能に連結されている。すなわち、ステアリングホイール2が回転されると、入力軸8および出力軸9は、互いに相対回転しつつ同一方向に回転するようになっている。
【0017】
ステアリングシャフト6の周囲には、本発明の一実施形態に係る回転角検出装置が適用されたトルクセンサ(トルク検出装置)11が設けられている。トルクセンサ11は、入力軸8および出力軸9の相対回転変位量に基づいて、ステアリングホイール2に与えられた操舵トルクを検出する。トルクセンサ11によって検出される操舵トルクは、モータ制御用ECU(電子制御ユニット:Electronic Control Unit)12に入力される。
【0018】
転舵機構4は、ピニオン軸13と、転舵軸としてのラック軸14とを含むラックアンドピニオン機構からなる。ラック軸14の各端部には、タイロッド15およびナックルアーム(図示略)を介して転舵輪3が連結されている。ピニオン軸13は、中間軸7に連結されている。ピニオン軸13は、ステアリングホイール2の操舵に連動して回転するようになっている。ピニオン軸13の先端には、ピニオン16が連結されている。
【0019】
ラック軸14は、自動車の左右方向(直進方向に直交する方向)に沿って直線状に延びている。ラック軸14の軸方向の中間部には、ピニオン16に噛み合うラック17が形成されている。このピニオン16およびラック17によって、ピニオン軸13の回転がラック軸14の軸方向移動に変換される。ラック軸14を軸方向に移動させることによって、転舵輪3を転舵することができる。
【0020】
ステアリングホイール2が操舵(回転)されると、この回転が、ステアリングシャフト6および中間軸7を介して、ピニオン軸13に伝達される。そして、ピニオン軸13の回転は、ピニオン16およびラック17によって、ラック軸14の軸方向移動に変換される。これにより、転舵輪3が転舵される。
操舵補助機構5は、操舵補助力を発生するための電動モータ18と、電動モータ18の出力トルクを転舵機構4に伝達するための減速機構19とを含む。電動モータ18は、この実施形態では、三相ブラシレスモータからなる。減速機構19は、ウォーム軸20と、このウォーム軸20と噛み合うウォームホイール21とを含むウォームギヤ機構からなる。減速機構19は、伝達機構ハウジングとしてのギヤハウジング22内に収容されている。
【0021】
ウォーム軸20は、電動モータ18によって回転駆動される。また、ウォームホイール21は、ステアリングシャフト6とは同方向に回転可能に連結されている。ウォームホイール21は、ウォーム軸20によって回転駆動される。
電動モータ18によってウォーム軸20が回転駆動されると、ウォームホイール21が回転駆動され、ステアリングシャフト6が回転する。そして、ステアリングシャフト6の回転は、中間軸7を介してピニオン軸13に伝達される。ピニオン軸13の回転は、ラック軸14の軸方向移動に変換される。これにより、転舵輪3が転舵される。すなわち、電動モータ18によってウォーム軸20を回転駆動することによって、転舵輪3が転舵されるようになっている。
【0022】
電動モータ18のロータの回転角(ロータ回転角)は、レゾルバ等の回転角センサ25によって検出される。回転角センサ25の出力信号は、モータ制御用ECU12に入力される。電動モータ18は、モータ制御装置としてのモータ制御用ECU12によって制御される。
図2は、モータ制御用ECU12の電気的構成を示す概略図である。
【0023】
モータ制御用ECU12は、トルクセンサ11によって検出される操舵トルクThに応じて電動モータ18を駆動することによって、操舵状況に応じた適切な操舵補助を実現する。モータ制御用ECU12は、マイクロコンピュータ40と、マイクロコンピュータ40によって制御され、電動モータ18に電力を供給する駆動回路(インバータ回路)31と、電動モータ18に流れるモータ電流を検出する電流検出部32とを備えている。
【0024】
電動モータ18は、例えば三相ブラシレスモータであり、図3に図解的に示すように、界磁としてのロータ100と、U相、V相およびW相のステータ巻線101,102,103を含むステータ105とを備えている。電動モータ18は、ロータの外部にステータを対向配置したインナーロータ型のものであってもよいし、筒状のロータの内部にステータを対向配置したアウターロータ型のものであってもよい。
【0025】
各相のステータ巻線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座標系との間での座標変換を行うことができる。
【0026】
マイクロコンピュータ40は、CPUおよびメモリ(ROM、RAM、不揮発性メモリなど)を備えており、所定のプログラムを実行することによって、複数の機能処理部として機能するようになっている。この複数の機能処理部には、電流指令値設定部41と、電流偏差演算部42と、PI(比例積分)制御部43と、dq/UVW変換部44と、PWM(Pulse Width Modulation)制御部45と、UVW/dq変換部46と、回転角演算部47とを含む。
【0027】
回転角演算部47は、回転角センサ25の出力信号に基づいて、電動モータ18のロータの回転角(電気角。以下、「ロータ角θ」という。)を演算する。
電流指令値設定部41は、dq座標系の座標軸に流すべき電流値を電流指令値として設定する。具体的には、電流指令値設定部41は、d軸電流指令値Iおよびq軸電流指令値I(以下、これらを総称するときには「二相電流指令値Idq」という。)を設定する。さらに具体的には、電流指令値設定部41は、q軸電流指令値Iを有意値とする一方で、d軸電流指令値Iを零とする。より具体的には、電流指令値設定部41は、トルクセンサ11によって検出される操舵トルク(検出操舵トルク)Thに基づいて、q軸電流指令値Iを設定する。
【0028】
検出操舵トルクThに対するq軸電流指令値Iの設定例は、図4に示されている。検出操舵トルクThは、たとえば、右方向への操舵のためのトルクが正の値にとられ、左方向への操舵のためのトルクが負の値にとられている。また、q軸電流指令値Iは、電動モータ18から右方向操舵のための操作補助力を発生させるべきときには正の値とされ、電動モータ18から左方向操舵のための操作補助力を発生させるべきときには負の値とされる。q軸電流指令値Iは、検出操舵トルクThの正の値に対しては正をとり、検出操舵トルクThの負の値に対しては負をとる。検出操舵トルクThが零のときには、q軸電流指令値Iは零とされる。そして、検出操舵トルクThの絶対値が大きくなるほど、q軸電流指令値Iの絶対値が大きくなるように、q軸電流指令値Iが設定されている。
【0029】
電流指令値設定部41によって設定された二相電流指令値Idqは、電流偏差演算部42に与えられる。
電流検出部32は、電動モータ18のU相電流I、V相電流IおよびW相電流I(以下、これらを総称するときは、「三相検出電流IUVW」という。)を検出する。電流検出部32によって検出された三相検出電流IUVWは、UVW/dq変換部46に与えられる。
【0030】
UVW/dq変換部46は、電流検出部32によって検出されるUVW座標系の三相検出電流IUVW(U相電流I、V相電流IおよびW相電流I)を、dq座標系の二相検出電流IおよびI(以下総称するときには「二相検出電流Idq」という。)に座標変換する。この座標変換には、回転角演算部47によって演算されたロータ角θが用いられる。
【0031】
電流偏差演算部42は、電流指令値設定部41によって設定される二相電流指令値Idqと、UVW/dq変換部46から与えられる二相検出電流Idqとの偏差を演算する。より具体的には、電流偏差演算部42は、d軸電流指令値Iに対するd軸検出電流Iの偏差およびq軸電流指令値Iに対するq軸検出電流Iの偏差を演算する。これらの偏差は、PI制御部43に与えられる。
【0032】
PI制御部43は、電流偏差演算部42によって演算された電流偏差に対するPI演算を行なうことにより、電動モータ18に印加すべき二相電圧指令値Vdq(d軸電圧指令値Vおよびq軸電圧指令値V)を生成する。この二相電圧指令値Vdqは、dq/UVW変換部44に与えられる。
dq/UVW変換部44は、二相電圧指令値Vdqを三相電圧指令値VUVWに座標変換する。この座標変換には、回転角演算部47によって演算されたロータ角θが用いられる。三相電圧指令値VUVWは、U相電圧指令値V、V相電圧指令値VおよびW相電圧指令値Vからなる。この三相電圧指令値VUVWは、PWM制御部45に与えられる。
【0033】
PWM制御部45は、U相電圧指令値V、V相電圧指令値VおよびW相電圧指令値Vにそれぞれ対応するデューティのU相PWM制御信号、V相PWM制御信号およびW相PWM制御信号を生成し、駆動回路31に供給する。
駆動回路31は、U相、V相およびW相に対応した三相インバータ回路からなる。このインバータ回路を構成するパワー素子がPWM制御部45から与えられるPWM制御信号によって制御されることにより、三相電圧指令値VUVWに相当する電圧が電動モータ18の各相のステータ巻線101,102、103に印加されることになる。
【0034】
電流偏差演算部42およびPI制御部43は、電流フィードバック制御手段を構成している。この電流フィードバック制御手段の働きによって、電動モータ18に流れるモータ電流が、電流指令値設定部41によって設定された二相電流指令値Idqに近づくように制御される。
図5は、トルクセンサ11の構成を図解的に示す模式図である。
【0035】
入力軸8には、環状の第1の磁石(多極磁石)61が一体回転可能に連結されている。第1の磁石61の下側には、第1の磁石61の回転に応じて互いに位相差を有する正弦波状の信号をそれぞれ出力する3つの磁気センサ71,72,73が配置されている。
出力軸9には、環状の第2の磁石(多極磁石)62が一体回転可能に連結されている。第2の磁石62の上側には、第2の磁石62の回転に応じて互いに位相差を有する正弦波状の信号をそれぞれ出力する3つの磁気センサ74,75,76が配置されている。
【0036】
各磁気センサ71〜76の出力信号S〜Sは、入力軸8に加えられる操舵トルクを演算するためのトルク演算用ECU77に入力されている。トルク演算用ECU77の電源は、イグニッションキーがオン操作されることによってオンとなる。イグニッションキーがオフ操作されたときには、そのことを示すイグニッションキーオフ操作信号が、トルク演算用ECU77に入力される。なお、磁気センサとしては、たとえば、ホール素子、磁気抵抗素子(MR素子)等、磁界の作用により電気的特性が変化する特性を有する素子を備えたものを用いることができる。この実施形態では、磁気センサとしては、ホール素子が用いられている。
【0037】
前記磁石61,62、前記磁気センサ71〜76およびトルク演算用ECU77によって、トルクセンサ11が構成されている。
トルク演算用ECU77は、マイクロコンピュータを含んでいる。マイクロコンピュータは、CPUおよびメモリ(ROM,RAM,不揮発性メモリ等)を備えており、所定のプログラムを実行することによって、複数の機能処理部として機能する。この複数の機能処理部には、第1の回転角演算部77Aと、第2の回転角演算部77Bと、トルク演算部77Cとを含んでいる。
【0038】
第1の回転角演算部77Aは、3つの磁気センサ71,72,73の出力信号S,S,Sに基づいて入力軸8の回転角(電気角θ)を演算する。第2の回転角演算部77Bは、3つの磁気センサ74,75,73の出力信号S,S,Sに基づいて出力軸9の回転角(電気角θ)を演算する。
トルク演算部77Cは、第1の回転角演算部77Aによって検出された入力軸8の回転角θと第2の回転角演算部77Bによって検出された出力軸9の回転角θとに基づいて、入力軸8に加えられた操舵トルクThを演算する。具体的には、操舵トルクThは、トーションバー10のバネ定数をKとし、各磁石61,62に設けられた磁極対数をNとすると、次式(1)に基づいて演算される。
【0039】
Th={(θ−θ)/N}×K …(1)
第1の磁石61、磁気センサ71,72,73および第1の回転角演算部77Aによって、入力軸8の回転角θを検出するための第1の回転角検出装置が構成されている。また、第2の磁石62、磁気センサ74,75,76および第2の回転角演算部77Bによって、出力軸9の回転角θを検出するための第2の回転角検出装置が構成されている。第1の回転角検出装置(第1の回転角演算部77A)の動作と第2の回転角検出装置(第2の回転角演算部77B)動作は同様であるので、以下、第1の回転角検出装置(第1の回転角演算部77A)の動作についてのみ説明する。
【0040】
図6は、第1の磁石61の構成および2つの磁気センサの配置を示す模式図である。
第1の磁石61は、周方向に等角度間隔で配された4組の磁極対(M1,M2),(M3,M4),(M5,M6),(M7,M8)を有している。つまり、第1の磁石61は、等角度間隔で配置された8個の磁極M1〜M8を有している。各磁極M1〜M8は、入力軸8の中心軸を中心として、ほぼ45°(電気角ではほぼ180°)の角度間隔(角度幅)で配置されている。各磁極M1〜M8の磁力の大きさは、ほぼ一定である。
【0041】
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°の角度間隔で配置されている。
【0042】
図6に矢印で示す方向を入力軸8の正方向の回転方向とする。そして、入力軸8が正方向に回転されると入力軸8の回転角が大きくなり、入力軸8が逆方向に回転されると、入力軸2の回転角が小さくなるものとする。各磁気センサ71,72,73からは、図7に示すように、入力軸8の回転に伴って、正弦波状の信号S,S,Sが出力される。なお、図6の横軸の回転角[deg]は、機械角を表している。
【0043】
以下において、第1磁気センサ71の出力信号Sを第1出力信号Sまたは第1センサ値Sといい、第2磁気センサ72の出力信号Sを第2出力信号Sまたは第2センサ値Sといい、第3磁気センサ73の出力信号Sを第3出力信号Sまたは第3センサ値Sという場合がある。
以下においては、説明の便宜上、入力軸8の回転角をθではなく、θで表すことにする。各出力信号S,S,Sが正弦波信号であるとみなし、入力軸8の回転角をθ(電気角)とすると、第1磁気センサ71の出力信号Sは、S=A・sinθと表され、第2磁気センサ72の出力信号Sは、S=A・sin(θ+120)と表され、第3磁気センサ73の出力信号Sは、S=A・sin(θ+240)と表される。A,A,Aは、それぞれ振幅を表している。第1出力信号Sと第2出力信号Sとの位相差は120度である。第2出力信号Sと第3出力信号Sとの位相差も120度である。したがって、第1出力信号Sと第3出力信号Sとの位相差は240度である。
【0044】
第1の回転角演算部77Aによる回転角θの演算方法の基本的な考え方について説明する。第1の回転角演算部77Aによる回転角演算モードには、第1演算モード〜第5演算モードがある。以下、各演算モードについて説明する。
[1]第1演算モード
第1演算モードは、第1および第2磁気センサ71,72が、3サンプリング周期(3演算周期)連続して共に同じ1つの磁極を検出している場合に適用される演算モードである。第1演算モードでは、第1および第2磁気センサ71,72における3サンプリング分の出力信号に基づいて回転角θが演算される。
【0045】
第1出力信号Sと第2出力信号Sとの位相差(電気角)をCで表すことにする。また、今回のサンプリング周期の番号(今回の演算周期の番号)を[n]、前回のサンプリング周期の番号を[n-1]、前々回のサンプリング周期の番号を[n-2]で表すことにする。また、各磁極M1〜M8の角度幅(磁極幅,ピッチ幅)のばらつきに基づく回転角演算誤差を補正するための補正値を、角度幅誤差補正値(磁極幅誤差補正値)といい、Eで表すことにする。
【0046】
位相差C、サンプリング周期番号[n],[n-1],[n-2]および角度幅誤差補正値Eを用いると、今回、前回および前々回にサンプリングされた第1出力信号Sならびに今回、前回および前々回にサンプリングされた第2出力信号Sを、それぞれ次式(2a),(2b),(2c), (2d),(2e),(2f)で表すことができる。
[n]=A[n]sin(E[n]θ[n]) …(2a)
[n-1]=A[n-1]sin(E[n-1]θ[n-1]) …(2b)
[n-2]=A[n-2]sin(E[n-2]θ[n-2]) …(2c)
[n]=A[n]sin(E[n]θ[n]+C) …(2d)
[n-1]=A[n-1]sin(E[n-1]θ[n-1]+C) …(2e)
[n-2]=A[n-2]sin(E[n-2]θ[n-2]+C) …(2f)
前記式(2a)〜(2f)において、E[x]は、x番目の演算周期において第1磁気センサ71が検出している磁極に対応する角度幅誤差補正値である。E[x]は、x番目の演算周期において第2磁気センサ72が検出している磁極に対応する角度幅誤差補正値である。
【0047】
ある磁極の角度幅をw(電気角)とすると、その磁極の角度幅誤差θerr(電気角)は、次式(3)で定義される。
θerr=w−180 …(3)
その磁極に対する角度幅誤差補正値Eは、次式(4)で定義される。
E=180/w
=180/(θerr+180) …(4)
各磁極の角度幅誤差補正値Eは、各磁極の磁極幅に関する情報である。なお、各磁極の磁極幅に関する情報は、各磁極の角度幅wであってもよいし、各磁極の角度幅誤差θerrであってもよい。
【0048】
Cが既知であるとすると、前記式(2a)〜(2f)で表される6つの式に含まれる未知数の数は16となる。つまり、未知数の数が方程式の数より多いため、このままでは、6つの式からなる連立方程式を解くことができない。
この実施形態では、サンプリング間隔(サンプリング周期)を短く設定することにより、3サンプリング間の温度変化による振幅の変化がないとみなす。つまり、3サンプリング間の第1磁気センサ71の出力信号の振幅A[n],A[n-1],A[n-2]が互いに等しいとみなして、これらをAとする。同様に、3サンプリング間の第2磁気センサ72の出力信号の振幅A[n],A[n-1],A[n-2]が互いに等しいとみなし、これらをAとする。
【0049】
3サンプリング間において、両磁気センサ71,72が共に同じ1つの磁極を検出している場合には、3サンプリング分の両磁気センサ71,72の出力信号に含まれている角度幅誤差補正値E[n],E[n-1],E[n-2],E[n],E[n-1],E[n-2]は同じ値となるので、これらをEで表すことにする。これにより、前記式(2a)〜(2f)は、それぞれ次式(5a)〜(5f)で表わされる。
【0050】
[n]=Asin(Eθ[n]) …(5a)
[n-1]=Asin(Eθ[n-1]) …(5b)
[n-2]=Asin(Eθ[n-2]) …(5c)
[n]=Asin(Eθ[n]+C) …(5d)
[n-1]=Asin(Eθ[n-1]+C) …(5e)
[n-2]=Asin(Eθ[n-2]+C) …(5f)
これら6つの式に含まれる未知数(A,A,E,θ[n],θ[n-1],θ[n-2])の数は6となる。つまり、未知数の数が方程式の数以下となるため、6つの式からなる連立方程式を解くことができる。したがって、前記6つの式(5a)〜(5f) からなる連立方程式を解くことにより、入力軸8の回転角θ[n]を演算することができる。
【0051】
以下、両磁気センサ間の位相差Cが120度である場合について、具体的に説明する。位相差Cが120度である場合には、前記6つの式(5a)〜(5f) は、それぞれ次式(6a)〜(6f)で表わすことができる。
[n]=Asin(Eθ[n]) …(6a)
[n-1]=Asin(Eθ[n-1]) …(6b)
[n-2]=Asin(Eθ[n-2]) …(6c)
[n]=Asin(Eθ[n]+120) …(6d)
[n-1]=Asin(Eθ[n-1]+120) …(6e)
[n-2]=Asin(Eθ[n-2]+120) …(6f)
Eθ[n]を1つの未知数と考えると、前記6つの式(6a)〜(6f)のうちの4つの式(6a),(6b),(6d),(6e) からなる連立方程式を解くことにより、Eθ[n]は、次式(7) (以下、「Eθ基本演算式(7)」という。)で表わされる。
【0052】
【数1】
【0053】
また、前記6つの式(6a)〜(6f)からなる連立方程式を解くことにより、角度幅誤差補正値Eは、次式(8) (以下、「E演算式(8)」という。)で表わされる。
【0054】
【数2】
【0055】
したがって、前記Eθ基本演算式(7)により演算されたEθ[n]を、前記E演算式(8)により演算された角度幅誤差補正値Eで除することにより、θ[n]を求めることができる。つまり、次式(9)により、θ[n]を求めることができる。
θ[n]=Eθ[n]/E …(9)
ただし、E演算式(8) に含まれている分数のいずれかの分母が零になる場合には、E演算式(8)に基づいて角度幅誤差補正値Eを演算することはできない。そこで、この実施形態では、E演算式(8) に含まれている分数のいずれかの分母が零になる場合には、前回に演算された角度幅誤差補正値Eを今回の角度幅誤差補正値Eとして用いるようにしている。
【0056】
なお、E演算式(8) に含まれている分数のいずれかの分母が零になる場合とは、次式(10),(11),(12)でそれぞれ表される3つの条件のうちの少なくとも1つの条件を満たす場合である。
【0057】
【数3】
【0058】
また、Eθ基本演算式(7)に含まれている分数のいずれかの分母が零になる場合には、Eθ基本演算式(7)に基づいてEθ[n]を演算することはできない。そこで、この実施形態では、Eθ基本演算式(7)に含まれている分数のいずれかの分母が零になる場合には、Eθ基本演算式(7)とは異なる演算式によってEθ[n]を演算するようにしている。さらに、この実施形態では、Eθ基本演算式(7)に基づいてEθ[n]を演算することができるけれども、より簡単な演算式によってEθ[n]を演算できる場合には、Eθ基本演算式(7)とは異なる演算式によってEθ[n]を演算するようにしている。この実施形態では、Eθ基本演算式(7)よりも簡単にEθ[n]を演算できる場合とは、S[n]=0の場合またはS[n]=0の場合である。
【0059】
この実施形態では、Eθ[n]を演算するための演算式として、Eθ基本演算式(7)を含めて10種類の演算式が用意されている。表1は、10種類の演算式と、その演算式が適用される条件とを示している。なお、Eθ[n]を演算する際には、表1の上から順番にその条件を満たしているか否かが判別され、条件を満たしたと判別されるとそれ以降の条件判別は行われず、当該条件に対応する演算式により、Eθ[n]が演算される。
【0060】
【表1】
【0061】
表1の上から1番目の演算式は、Eθ基本演算式(7)である。Eθ基本演算式(7)は、S[n]およびS[n]のいずれもが零でなく、かつEθ基本演算式(7)に含まれている分数のいずれの分母も零でないという条件を満たしている場合に、適用される。Eθ基本演算式(7)に含まれている分数のいずれの分母も零でないという条件は、p−p≠0でかつ、p+p+p≠0でかつ、S[n-1]≠0でかつS[n-1]≠0である場合に満たされる。なお、S[n-1]はpの分母であり、S[n-1]はpの分母である。
【0062】
ただし、p+p+p=0が成立するのは、p=p=0の場合だけであるが、第1磁気センサ71と第2磁気センサ72とは位相が120度ずれているため、両磁気センサ71,72のセンサ値S,Sが同時に零になることはない。このため、p+p+p=0が成立することはない。したがって、Eθ基本演算式(7)に含まれている分数のいずれの分母も零でないという条件は、p−p≠0でかつ、S[n-1]≠0でかつS[n-1]≠0である場合に満たされる。
【0063】
表1の上から2番目の演算式は、p−p=0である場合に適用される演算式である。p−p=0が成立する場合について検討する。この場合には、p=pであるから、次式(13)が成立する。
【0064】
【数4】
【0065】
これを変形すると、次式(14)が得られる。
【0066】
【数5】
【0067】
前記式(14)が成立する場合とは、Eθ[n]とEθ[n-1]とが等しい場合である。つまり、今回のEθ[n]が前回のEθ[n-1]に等しい場合である。そこで、S[n]およびS[n]のいずれもが零でなく、かつpの分母S[n-1]およびpの分母S[n-1]のいずれもが零でなく、かつp−p=0であるという条件を満たした場合には、前回に演算されたEθ[n-1]が今回のEθ[n]として用いられる。
【0068】
表1の上から3番目および4番目の演算式は、pの分母S[n-1]が零となる場合に適用される演算式である。S[n-1]=AsinEθ[n-1]であるので、sinEθ[n-1]=0のときに、S[n-1]=0となる。つまり、Eθ[n-1]が0度または180度のときに、S[n-1]が零となる。S[n-1]=Asin(Eθ[n-1]+120)であるので、Eθ[n-1]が0度のときにはS[n-1]>0となり、Eθ[n-1]が180度のときにはS[n-1]<0となる。したがって、S[n-1]=0でかつS[n-1]>0のときにはEθ[n-1]=0となり、S[n-1]=0でかつS[n-1]<0のときにはEθ[n-1]=180となる。
【0069】
Eθ[n-1]=0である場合には、前記式 (6c),(6d)は、それぞれ次式 (15c),(15d)で表される。
[n]=Asin(Eθ[n]+120) …(15c)
[n-1]=Asin120=√3/2・A …(15d)
前記式(15d)から、次式(16)が得られる。
【0070】
=(2/√3)・S[n-1] …(16)
前記式(16)を前記式(15c)に代入すると、次式(17)が得られる。
sin(Eθ[n]+120)=(√3/2)・(S[n]/S[n-1]) …(17)
したがって、Eθ[n]は、次式(18)により演算することができる。
【0071】
【数6】
【0072】
つまり、表1の上から3番目に示すように、S[n]およびS[n]のいずれもが零でなく、かつpの分母S[n-1]が零でなく、かつpの分母S[n-1]が零であり、かつS[n-1]>0であるという条件を満たした場合には、前記式(18)で表される演算式に基づいてEθ[n]が演算される。
一方、Eθ[n-1]=180である場合には、前記式 (6c),(6d)は、それぞれ次式(19c),(19d)で表される。
【0073】
[n]=Asin(Eθ[n]+120) …(19c)
[n-1]=Asin300=−√3/2・ A …(19d)
前記式(19d)から、次式(20)が得られる。
=(−2/√3)・S[n-1] …(20)
前記式(20)を前記式(19c)に代入すると、次式(21)が得られる。
【0074】
sin(Eθ[n]+120)=(−√3/2)・(S[n]/S[n-1]) …(21)
したがって、Eθ[n]は、次式(22)により演算することができる。
【0075】
【数7】
【0076】
つまり、表1の上から4番目に示すように、S[n]およびS[n]のいずれもが零でなく、かつpの分母S[n-1]が零でなく、かつpの分母S[n-1]が零であり、かつS[n-1]<0であるという条件を満たした場合には、前記式(22)で表される演算式に基づいてEθ[n]が演算される。
表1の上から5番目および6番目の演算式は、S[n]=0となる場合に適用される演算式である。S[n]=Asin(Eθ[n]+120)であるので、sin(Eθ[n]+120)=0のときに、S[n]=0となる。つまり、Eθ[n]が−120度または60度のときに、S[n]=0となる。S[n]=AsinEθ[n]であるので、Eθ[n]が−120度のときにはS[n]<0となり、Eθ[n]が60度のときにはS[n]>0となる。したがって、S[n]=0でかつS[n]>0のときにはEθ[n]=60となり、S[n]=0でかつS[n]<0であればEθ[n]=−120となる。
【0077】
つまり、表1の上から5番目に示すように、S[n]が零でなく、かつpの分母S[n-1]が零でなく、かつS[n]=0であり、かつS[n]>0であるという条件を満たした場合には、Eθ[n]は60度として演算される。また、表1の上から6番目に示すように、S[n]が零でなく、かつpの分母S[n-1]が零でなく、かつS[n]=0であり、かつS[n]>0であるという条件を満たした場合には、Eθ[n]は−120度として演算される。
【0078】
表1の上から7番目および8番目の演算式は、pの分母S[n-1]が零となる場合に適用される演算式である。S[n-1]=Asin(Eθ[n-1]+120)であるので、sin(Eθ[n-1]+120)=0のときに、S[n-1]=0となる。つまり、Eθ[n-1]が−120度または60度のときに、S[n-1]が零となる。S[n-1]=AsinEθ[n-1]であるので、Eθ[n-1]が−120度のときにはS[n-1]<0となり、Eθ[n-1]が60度のときにはS[n-1]>0となる。したがって、S[n-1]=0でかつS[n-1]>0のときにはEθ[n-1]=60となり、S[n-1]=0でかつS[n-1]<0のときにはEθ[n-1]=−120となる。
【0079】
Eθ[n-1]=60である場合には、前記式 (6a),(6b)は、それぞれ次式 (23a),(23b)で表される。
[n]=AsinEθ[n] …(23a)
[n-1]=Asin60=√3/2・ A…(23b)
前記式(23b)から、次式(24)が得られる。
【0080】
=(2/√3)・S[n-1] …(24)
前記式(24)を前記式(23a)に代入すると、次式(25)が得られる。
sinEθ[n]=(√3/2)・(S[n]/S[n-1]) …(25)
したがって、Eθ[n]は、次式(26)により演算することができる。
【0081】
【数8】
【0082】
つまり、表1の上から7番目に示すように、S[n]が零でなく、かつpの分母S[n-1]が零であり、かつS[n-1]>0であるという条件を満たした場合には、前記式(26)で表される演算式に基づいてEθ[n]が演算される。
一方、Eθ[n-1]=−120である場合には、前記式 (6a),(6b)は、それぞれ次式 (27a),(27b)で表される。
【0083】
[n]=AsinEθ[n] …(27a)
[n-1]=Asin(−120)=−√3/2・ A …(27b)
前記式(27b)から、次式(28)が得られる。
=(−2/√3)・S[n-1] …(28)
前記式(28)を前記式(27a)に代入すると、次式(29)が得られる。
【0084】
sinEθ[n]=(−√3/2)・(S[n]/S[n-1]) …(29)
したがって、Eθ[n]は、次式(30)により演算することができる。
【0085】
【数9】
【0086】
つまり、表1の上から8番目に示すように、S[n]が零でなく、かつpの分母S[n-1]が零であり、かつS[n-1]<0であるという条件を満たした場合には、前記式(30)で表される演算式に基づいてEθ[n]が演算される。
表1の上から9番目および10番目の演算式は、S[n]=0となる場合に適用される演算式である。S[n]=AsinEθ[n]であるので、sinEθ[n]=0のときに、S[n]=0となる。つまり、Eθ[n]が0度または180度のときに、S[n]=0となる。S[n]=Asin(Eθ[n]+120]であるので、Eθ[n]が0度のときにはS[n]>0となり、Eθ[n]が180度のときにはS[n]<0となる。したがって、S[n]=0でかつS[n]>0であればEθ[n]=0となり、S[n]=0でかつS[n]<0であればEθ[n]=180となる。
【0087】
つまり、表1の上から9番目に示すように、S[n]が零であり、かつS[n]>0であるという条件を満たした場合には、Eθ[n]は0度として演算される。また、表1の上から10番目に示すように、S[n]が零であり、かつS[n]<0であるという条件を満たした場合には、Eθ[n]は180度として演算される。
Eθ[n]が演算されると、前記式(6a)に基づいて振幅Aを演算することができるとともに、前記式(6d)に基づいて振幅Aを演算することができる。つまり、第1演算モードによって、E,θ[n],A1,を演算することができる。
[2]第2演算モード
第2演算モードは、第2および第3磁気センサ72,73が、3サンプリング周期(3演算周期)連続して共に同じ1つの磁極を検出している場合に適用される演算モードである。第2演算モードでは、第2および第3磁気センサ72,73における3サンプリング分の出力信号に基づいて回転角θが演算される。
【0088】
第2磁気センサ72および第3磁気センサ73の出力信号S,Sを、角度幅誤差補正値Eを用いて表すと、第2磁気センサ72の出力信号S[n]はS[n]=A・sin(Eθ[n]+120)で表され、第3磁気センサ73の出力信号S[n]は、S[n]=A・sin(Eθ[n]+240)と表される。ここで、Eは、第3磁気センサ73が検出している磁極に対応する角度幅誤差補正値である。第2磁気センサ72および第3磁気センサ73が同じ磁極を検出している場合には、EとEとは等しいので、これらをEで表すと、第2磁気センサ72の出力信号S[n]はS[n]=A・sin(Eθ[n]+120)で表され、第3磁気センサ73の出力信号S[n]は、S[n]=A・sin(Eθ[n]+240)と表される。
【0089】
(Eθ[n]+120)をEΘ[n]に置き換えると、第2出力信号S[n]はS[n]=A・sinEΘ[n]で表され、第3出力信号S[n]はS[n]=A・sin(EΘ[n]+120)で表わされる。したがって、第2出力信号Sと第3出力信号Sとを用い、前述した方法と同様な方法でEΘ[n]とEとを演算することができる。EΘ[n]=Eθ[n]+120であるので、θ[n]=(EΘ[n]−120)/Eである。したがって、θ[n]=(EΘ[n]−120)/Eの式に、演算されたEΘ[n]とEを代入することにより、入力軸8の回転角θ[n]を演算することができる。また、EΘ[n]が演算されると、振幅Aおよび振幅Aを演算することができる。つまり、第2演算モードによって、E,θ[n],A2,を演算することができる。
【0090】
第2演算モードによる回転角演算に用いられる3サンプリング分の第2および第3出力信号を、前記式(6a) 〜(6f)にならって次式(31a) 〜(31f)で表すと、EΘ基本演算式およびE演算式はそれぞれ次式(32) および(33)で表すことができる。
[n]=Asin(Eθ[n]+120) …(31a)
[n-1]=Asin(Eθ[n-1]+120) …(31b)
[n-2]=Asin(Eθ[n-2]+120) …(31c)
[n]=Asin(Eθ[n]+120) …(31d)
[n-1]=Asin(Eθ[n-1]+120) …(31e)
[n-2]=Asin(Eθ[n-2]+120) …(31f)
【0091】
【数10】
【0092】
【数11】
【0093】
第1演算モードまたは第2演算モードでは、3つの磁気センサ71,72,73のうちの2つの磁気センサにおける3サンプリング分の出力信号に基づいて入力軸8の回転角θ[n]を演算しているので、精度の高い回転角を演算することが可能となる。また、第1演算モードまたは第2演算モードでは、入力軸8の回転角θ[n]の演算に用いられる数式の数が、これらの数式に含まれている本来の未知数の数より少なくても、入力軸8の回転角θ[n]を演算することができるので、入力軸8の回転角θ[n]を演算するために必要なセンサ値の数を少なくすることが可能となる。
【0094】
第1演算モードまたは第2演算モードでは、3サンプリング間での同じ磁気センサの出力信号の振幅が互いに等しいとみなしている。3サンプリング間での同じ磁気センサの出力信号の振幅は、温度変化の影響によって異なる値となる可能性がある。しかしながら、サンプリング間隔が小さい場合には、3サンプリング間の温度変化は非常に小さいので、3サンプリング間での同じ磁気センサの出力信号の振幅は等しいとみなすことができる。したがって、第1演算モードまたは第2演算モードでは、3サンプリング間での温度変化の影響による振幅のばらつきを補償することができる。また、第1演算モードまたは第2演算モードでは、回転角の演算に用いられている2つの磁気センサ間の振幅は、別々の未知数として扱っているので、それらの2つの磁気センサ間の温度特性のばらつきの影響を補償することができる。これにより、精度の高い回転角を検出することができる。
【0095】
また、第1演算モードまたは第2演算モードでは、磁石61の各磁極M1〜M8の角度幅(ピッチ幅)のばらつきを高い精度で補償できるので、誤差のより小さい回転角を検出することが可能となる。
[3]第3演算モード
第3演算モードは、第1演算モードおよび第2演算モードのいずれもが適用できない場合であって、第1磁気センサ71が検出している磁極に対応する角度幅誤差補正値Eおよび第1出力信号Sの振幅Aが第1演算モードによって既に演算されてメモリに記憶されている場合に適用される演算モードである。第3演算モードでは、主として第1磁気センサ71の出力信号Sに基づいて回転角θが演算される。
【0096】
たとえば、図8Aに示すように、磁石61(入力軸8)が矢印で示す方向に回転している場合において、第1および第2磁気センサ71,72が同じ磁極(この例ではM1)を検出している状態から、第2磁気センサ72の検出している磁極が変化した場合に、第3演算モードは適用される。
角度幅誤差補正値Eと今演算周期の番号nを用いると、今演算周期においてサンプリングされた第1磁気センサ71の出力信号Sは、次式(34)で表される。
【0097】
[n]=A[n]sin(Eθ[n]) …(34)
は、第1磁気センサ71が検出している磁極に対応する角度幅誤差補正値である。
前記式(34)から回転角θ[n]は、次式(35)で表される。
θ[n]=(1/E)sin−1(S[n]/A) …(35)
メモリに記憶されており、第1磁気センサ71が検出している磁極に対応するEおよびAを、前記式(35)に代入することにより、θ[n]が演算される。ただし、式(35)によって回転角θ[n]を演算する場合には、2つの回転角θ[n]が演算されるので、いずれの回転角が実際の回転角であるかを判定する必要がある。この判定方法について、図9を参照して説明する。図9には、第1出力信号S、第2出力信号Sおよび第3出力信号Sの1周期分の波形が示されている。図9の横軸の回転角[deg]は、電気角を表している。
【0098】
図9に示すように、第1出力信号S[n]がたとえば正の値である場合には、(1/E)sin−1(S[n]/A)に対応する回転角θ[n]は、0度〜90度の領域R1内の回転角と、90度〜180度の領域R2内の回転角との2つの回転角となる。また、第1出力信号S[n]がたとえば負の値である場合には、(1/E)sin−1(S[n]/A)に対応する回転角θ[n]は、180度〜270度の領域U1内の回転角と、270度〜360度の領域U2内の回転角との2つの回転角となる。
【0099】
この実施形態では、第1磁気センサ71以外の2つの磁気センサ72,73の出力信号S,Sのいずれか一方に基づいて、前記式(35)によって演算される2つの回転角のうちのいずれが実際の回転角であるかが判定される。たとえば、第2出力信号S[n]に基づいて、前記判定が行われる場合について説明する。第2出力信号Sの振幅Aの1/2を閾値a(a>0)とする。この閾値aは、たとえば、メモリに記憶されている第2出力信号Sの振幅Aであって、第1磁気センサ71が検出している磁極に対応する振幅Aに基づいて求めることができる。なお、第1出力信号Sの振幅Aの1/2を閾値a(a>0)としてもよい。
【0100】
第2出力信号S[n]がa以上のときに取り得る入力軸8の回転角θ[n]は、0度〜30度の範囲および270度〜360度の範囲である。第2出力信号S[n]が−a未満のときに取り得る入力軸8の回転角θ[n]は、90度〜210度の範囲である。第2出力信号S[n]が−a以上a未満のときに取り得る入力軸8の回転角θ[n]は、30度〜90度の範囲および210度〜270度の範囲である。
【0101】
したがって、前記式(35)によって演算された2つの回転角のうち、いずれの回転角が実際の回転角であるかを、第2出力信号S[n]に基づいて判定することができる。具体的には、第1出力信号S[n]が正の値である場合には、第2出力信号S[n]が−a以上であれば、前記式(35)によって演算された2つの回転角のうち領域R1内の回転角が実際の回転角であると判定される。一方、第2出力信号S[n]が−a未満であれば、前記式(35)によって演算された2つの回転角のうち領域R2内の回転角が実際の回転角であると判定される。
【0102】
第1出力信号S[n]が負の値である場合には、第2出力信号S[n]がa未満であれば、前記式(35)によって演算された2つの回転角のうち領域U1内の回転角が実際の回転角であると判定される。一方、第2出力信号S[n]がa以上であれば、前記式(35)によって演算された2つの回転角のうち領域U2内の回転角が実際の回転角であると判定される。
[4]第4演算モード
第4演算モードは、第1演算モードおよび第2演算モードのいずれもが適用できない場合であって、第2磁気センサ72が検出している磁極に対応する角度幅誤差補正値Eおよび第2出力信号Sの振幅Aが第1演算モードまたは第3演算モードによって既に演算されてメモリに記憶されている場合に適用される演算モードである。第4演算モードでは、主として第2磁気センサ72の出力信号Sに基づいて回転角θが演算される。
【0103】
たとえば、図8Bに示すように、磁石61(入力軸8)が矢印で示す方向に回転している場合において、第1および第2磁気センサ71,72が同じ磁極(この例ではM1)を検出している状態から、第1磁気センサ71が検出している磁極が変化した場合に、第4演算モードは適用される。
角度幅誤差補正値Eと今演算周期の番号nを用いると、今演算周期においてサンプリングされた第2磁気センサ72の出力信号Sは、次式 (36)で表される。
【0104】
[n]=A[n]sin(Eθ[n]+120) …(36)
は、第2磁気センサ72が検出している磁極に対応する角度幅誤差補正値である。
前記式(36)から回転角θ[n]は、次式(37)で表される。
θ[n]=(1/E){sin−1(S[n]/A)−120} …(37)
メモリに記憶されており、第2磁気センサ72が検出している磁極に対応するEおよびAを、前記式(37)に代入することにより、θ[n]が演算される。
【0105】
前記式(37)によって回転角θ[n]を演算すると、2つの回転角θ[n]が演算される。そこで、第2磁気センサ72以外の2つの磁気センサ71,73の出力信号S,Sのいずれか一方に基づいて、前記式(37)によって演算された2つの回転角θ[n]のうちのいずれが実際の回転角であるかを判定する。
たとえば、第1出力信号S[n]に基づいて、前記判定が行われる場合について説明する。メモリに記憶されている第1出力信号Sの振幅Aの1/2または第2出力信号Sの振幅Aの1/2を閾値a(a>0)とする。
【0106】
第2出力信号S[n]が正の値である場合には、第1出力信号S[n]が−a未満であれば、前記式(37)によって演算された2つの回転角のうち240度〜330度の領域内の回転角が実際の回転角であると判定される。一方、第1出力信号S[n]が−a以上であれば、前記式(37)によって演算された2つの回転角のうち0度〜60度または330度〜360度の領域内の回転角が実際の回転角であると判定される。
【0107】
第2出力信号S[n]が負の値である場合には、第1出力信号S[n]がa以上であれば、前記式(37)によって演算された2つの回転角のうち60度〜150度の領域内の回転角が実際の回転角であると判定される。一方、第1出力信号S[n]がa未満であれば、前記式(37)によって演算された2つの回転角のうち150度〜240度の領域内の回転角が実際の回転角であると判定される。
[5]第5演算モード
第5演算モードは、第1演算モードおよび第2演算モードのいずれもが適用できない場合であって、第3磁気センサ73が検出している磁極に対応する角度幅誤差補正値Eおよび第3出力信号Sの振幅Aが第2演算モードによって既に演算されてメモリに記憶されている場合に適用される演算モードである。第5演算モードでは、主として第3磁気センサ72の出力信号Sに基づいて回転角θが演算される。
【0108】
たとえば、図8Cに示すように、磁石61(入力軸8)が矢印で示す方向に回転している場合において、第2および第3磁気センサ72,73が同じ磁極(この例ではM2)を検出している状態から、第2磁気センサ72が検出している磁極が変化した場合に、第5演算モードは適用される。
角度幅誤差補正値Eと今演算周期の番号nを用いると、今演算周期においてサンプリングされた第3磁気センサ73の出力信号Sは、次式 (38)で表される。
【0109】
[n]=A[n]sin(Eθ[n]+240) …(38)
は、第3磁気センサ72が検出している磁極に対応する角度幅誤差補正値である。
前記式(38)から回転角θ[n]は、次式(39)で表される。
θ[n]=(1/E){sin−1(S[n]/A)−120} …(39)
メモリに記憶されており、第3磁気センサ73が検出している磁極に対応するEおよびAを、前記式(39)に代入することにより、θ[n]が演算される。
【0110】
前記式(39)によって回転角θ[n]を演算すると、2つの回転角θ[n]が演算される。そこで、第3磁気センサ73以外の2つの磁気センサ71,723の出力信号S,Sのいずれか一方に基づいて、前記式(39)によって演算された2つの回転角θ[n]のうちのいずれが実際の回転角であるかを判定する。
たとえば、第2出力信号S[n]に基づいて、前記判定が行われる場合について説明する。メモリに記憶されている第2出力信号Sの振幅Aの1/2または第3出力信号Sの振幅Aの1/2を閾値a(a>0)とする。
【0111】
第3出力信号S[n]が正の値である場合には、第2出力信号S[n]が−a未満であれば、前記式(39)によって演算された2つの回転角のうち120度〜210度の領域内の回転角が実際の回転角であると判定される。一方、第2出力信号S[n]が−a以上であれば、前記式(39)によって演算された2つの回転角のうち210度〜300度の領域内の回転角が実際の回転角であると判定される。
【0112】
第3出力信号S[n]が負の値である場合には、第2出力信号S[n]がa以上であれば、前記式(39)によって演算された2つの回転角のうち300度〜360度または0度〜30度の領域内の回転角が実際の回転角であると判定される。一方、第2出力信号S[n]がa未満であれば、前記式(39)によって演算された2つの回転角のうち30度〜120度の領域内の回転角が実際の回転角であると判定される。
【0113】
図10は、第1の回転角演算部77Aの動作を示すフローチャートである。
トルク演算用ECU77の電源がオンすると、第1の回転角演算部77Aは、強制回転に基づく回転角演算処理を行う(ステップS1)。この処理は、電動モータ18を一時的に強制回転させることにより、入力軸8(出力軸9)を回転させ、入力軸8の回転角θを演算する処理である。この処理の詳細については後述する。
【0114】
前述した第1演算モードまたは第2演算モードでは、前回のサンプリング時点と今回のサンプリング時点とにおいて、回転角θ[n]の演算に用いられる2つの磁気センサの出力信号が変化していない場合には、前回演算されたEθ[n](またはEΘ[n])、Eおよびθ[n]が、今回のEθ[n](またはEΘ[n])、Eおよびθ[n]として用いられる(表1の上から2番目の演算式を参照)。しかしながら、イグニッションキーがオン操作されることによって、トルク演算用ECU77の電源がオンされた時点では、前回演算されたEθ[n](またはEΘ[n])、Eおよびθ[n]は存在しないため、トルク演算用ECU77の電源がオンされた後に、回転角θ[n]の演算に用いられる2つの磁気センサの出力信号が変化していない場合には、回転角θ[n]を演算できなくなる。そこで、Eθ[n](またはEΘ[n])、Eおよびθ[n]の前回値を作成するために、強制回転に基づく回転角演算処理を行っている。
【0115】
強制回転に基づく回転角演算処理が終了すると、第1の回転角演算部77Aは、通常時の回転角演算処理を行う(ステップS2)。この処理の詳細については後述する。通常時の回転角演算処理は、イグニッションキーのオフ操作が行われるまで継続して行われる。イグニッションキーのオフ操作が行われると(ステップS3:YES)、第1の回転角演算部77Aは通常時の回転角演算処理を終了する。
【0116】
図11A図11Bおよび図11Cは、図10のステップS1の強制回転に基づく回転角演算処理の手順を示すフローチャートである。
強制回転に基づく回転角演算処理開始時において第1磁気センサ71が検出している磁極を基準磁極として、各磁極に相対的な番号を割り当てた場合の各磁極の番号を相対的極番号と定義する。第1磁気センサ71が検出している磁極の相対的極番号(以下、「第1相対的極番号」という)を変数r1で表し、第2磁気センサ72が検出している磁極の相対的極番号(以下、「第2相対的極番号」という)を変数r2で表し、第3磁気センサ73が検出している磁極の相対的極番号(以下、「第3相対的極番号」という)を変数r3で表すことにする。なお、各相対的極番号r1,r2,r3は、1〜8の整数をとり、1より1少ない相対的極番号は8となり、8より1大きい相対的極番号は1となるものとする。
【0117】
トルク演算用ECU77内のメモリには、図12に示すように、e1〜e7で示すエリア等が設けられている。エリアe1には、1〜8の相対的磁極番号毎に角度幅誤差補正値Eの値が記憶される。エリアe2には、1〜8の相対的磁極番号毎に第1出力信号Sの振幅Aが記憶される。エリアe3には、1〜8の相対的磁極番号毎に第2出力信号Sの振幅Aが記憶される。エリアe4には、1〜8の相対的磁極番号毎に第3出力信号Sの振幅Aが記憶される。
【0118】
エリアe5には、複数演算周期分の第1相対的極番号r1[n-k]〜r1[n](kは、3以上の自然数)が記憶される。エリアe6には、複数演算周期分の第2相対的極番号r2[n-k]〜r2[n]が記憶される。エリアe7には、複数演算周期分の第3相対的極番号r3[n-k]〜r3[n]が記憶される。
図11Aに戻り、強制回転に基づく回転角演算処理では、短時間ではあるがステアリングホイール2が自動的に回転する。このため、運転者は何らかの故障が発生したと誤解するおそれがある。そこで、第1の回転角演算部77Aは、運転者への警告を行う(ステップS11)。具体的には、第1の回転角演算部77Aは、車内に設けられた表示装置(図示略)、音声出力装置(図示略)等を制御するための映像音声制御装置(図示略)に、警告出力指令を送信する。映像音声制御装置は、この警告出力指令を受信すると、「ステアリングホイールが強制的に回転しますが故障ではありません」等のメッセージを表示装置に表示したり、音声出力装置によって音声出力したりする。
【0119】
次に、第1の回転角演算部77Aは、第1方向に電動モータ18を回転駆動させる(ステップS12)。具体的には、第1の回転角演算部77Aは、第1方向に電動モータ18を回転駆動させるための第1強制回転指令をモータ制御用ECU12に送信する。モータ制御用ECU12は、この第1強制回転指令を受信すると、第1方向に電動モータ18を回転駆動させる。
【0120】
第1の回転角演算部77Aは、各磁気センサ71,72,73のセンサ値S[n], S[n] ,S[n]を取得する(ステップS13)。ステップS13の処理は、後述するステップS19またはステップS21でYESと判定されるまで、所定の演算周期毎に繰り返し実行される。トルク演算用ECU77内のメモリには、所定回数前に取得されたセンサ値から最新に取得されたセンサ値までの複数回分(3回以上)のセンサ値が記憶されるようになっている。
【0121】
第1の回転角演算部77Aは、今回の処理が強制回転に基づく回転角演算処理開始後の初回の処理であるか否かを判別する(ステップS14)。今回の処理が強制回転に基づく回転角演算処理開始後の初回の処理である場合には(ステップS14:YES)、第1の回転角演算部77Aは、相対的極番号の設定処理を行う(ステップS15)。
図13は、相対的極番号の設定処理の詳細な手順を示すフローチャートである。
【0122】
第1の回転角演算部77Aは、まず、第1出力信号Sが0より大きいか否かを判別する(ステップS51)。第1出力信号Sが0より大きい場合には(ステップS51:YES)、第1の回転角演算部77Aは、第1磁気センサ71が検出している磁極がN極の磁極であると判別し、第1相対的極番号r1を1に設定する(ステップS54)。そして、ステップS56に進む。
【0123】
一方、第1出力信号Sが0以下である場合には(ステップS51:NO)、第1の回転角演算部77Aは、第1出力信号Sが0より小さいか否かを判別する(ステップS52)。第1出力信号Sが0より小さい場合には(ステップS52:YES)、第1の回転角演算部77Aは、第1磁気センサ71が検出している磁極がS極の磁極であると判別し、第1相対的極番号r1を2に設定する(ステップS55)。そして、ステップS56に進む。
【0124】
前記ステップS52において、第1出力信号Sが0以上であると判別された場合には(ステップS52:NO)、つまり、第1出力信号Sが0である場合には、第1の回転角演算部77Aは、入力軸8の回転角が0°であるか180°であるかを判別するために、第2出力信号Sが0より大きいか否かを判別する(ステップS53)。第2出力信号Sが0より大きい場合には(ステップS53:YES)、第1の回転角演算部77Aは、入力軸8の回転角が0°であると判別し、第1相対的極番号r1を1に設定する(ステップS54)。そして、ステップS56に進む。
【0125】
一方、第2出力信号Sが0以下である場合には(ステップS53:NO)、第1の回転角演算部77Aは、入力軸8の回転角が180°であると判別し、第1相対的極番号r1を2に設定する(ステップS55)。そして、ステップS56に進む。
ステップS56では、第1の回転角演算部77Aは、「S≧0かつS>0」または「S≦0かつS<0」の条件を満たしているか否かを判別する。この条件を満たしている場合には(ステップS56:YES)、第1の回転角演算部77Aは、第2磁気センサ72が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号と同じであると判別し、第2相対的極番号r2に第1相対的極番号r1と同じ番号(r2=r1)を設定する(ステップS57)。そして、ステップS59に進む。
【0126】
一方、前記ステップS56の条件を満たしていない場合には(ステップS56:NO)、第1の回転角演算部77Aは、第2磁気センサ72が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号より1だけ大きい番号であると判別し、第2相対的極番号r2に、第1相対的極番号r1より1だけ大きい番号(r2=r1+1)を設定する(ステップS58)。そして、ステップS59に進む。
【0127】
ステップS59では、第1の回転角演算部77Aは、「S≧0かつS<0」または「S≦0かつS>0」の条件を満たしているか否かを判別する。この条件を満たしている場合には(ステップS59:YES)、第1の回転角演算部77Aは、第3磁気センサ73が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号より1だけ大きい番号であると判別し、第3相対的極番号r3に、第1相対的極番号r1より1だけ大きい番号(r3=r1+1)を設定する(ステップS60)。そして、図11BのステップS18に移行する。
【0128】
一方、前記ステップS59の条件を満たしていない場合には(ステップS59:NO)、第1の回転角演算部77Aは、第3磁気センサ73が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号より2だけ大きい番号であると判別し、第3相対的極番号r3に、第1相対的極番号r1より2だけ大きい番号(r3=r1+2)を設定する(ステップS61)。そして、図11BのステップS18に移行する。
【0129】
前記ステップS56の条件に基づいて第2相対的極番号r2を決定している理由および前記ステップS59の条件に基づいて第3相対的極番号r3を決定している理由について説明する。たとえば、磁石61における磁極M1と磁極M2とからなる磁極対が第1磁気センサ71を通過する際の、第1、第2および第3出力信号S,S,Sの信号波形を模式的に表すと、図14の(a),(b),(c)のようになる。
【0130】
図14において、Q1およびQ4で示す領域においては、第2磁気センサ72が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号と同じである。一方、Q2,Q3,Q5およびQ6で示す領域においては、第2磁気センサ72が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号より1だけ大きい。
【0131】
領域Q1においては、両センサ値S,Sは、S≧0かつS>0の第1条件を満たす。領域Q2およびQ3においては、両センサ値S,Sは、S>0かつS≦0の第2条件を満たす。領域Q4においては、両センサ値S,Sは、S≦0かつS<0の第3条件を満たす。領域Q5およびQ6においては、両センサ値S,Sは、S<0かつS≧0の第4条件を満たす。そこで、第1の回転角演算部77Aは、第1条件および第3条件の一方を満たしているときには、第2磁気センサ72が検出している磁極の極番号が、第1磁気センサ71が検出している磁極の極番号と同じであると判別している。一方、第1条件および第3条件のいずれの条件をも満たしていないときには、第1の回転角演算部77Aは、第2磁気センサ72が検出している磁極の極番号が、第1磁気センサ71が検出している磁極の極番号より1だけ大きいと判別している。
【0132】
図14において、Q1およびQ2で示す領域ならびにQ4およびQ5で示す領域においては、第3磁気センサ73が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号より1だけ大きい。一方、Q3およびQ6で示す領域においては、第3磁気センサ72が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号より2だけ大きい。
【0133】
領域Q1およびQ2においては、両センサ値S,Sは、S≧0かつS<0の第5条件を満たす。領域Q3においては、両センサ値S,Sは、S>0かつS≧0の第6条件を満たす。領域Q4およびQ5においては、両センサ値S,Sは、S≦0かつS>0の第7条件を満たす。領域Q6においては、両センサ値S,Sは、S<0かつS≦0の第8条件を満たす。そこで、第1の回転角演算部77Aは、第5条件および第7条件のいずれか一方を満たしているときには、第3磁気センサ73が検出している磁極の極番号が、第1磁気センサ71が検出している磁極の極番号より1だけ大きいと判別している。一方、第5条件および第7条件のいずれをも満たしていないときには、第1の回転角演算部77Aは、第3磁気センサ73が検出している磁極の極番号が、第1磁気センサ71が検出している磁極の極番号より2だけ大きいと判別している。
【0134】
図11Aに戻り、前記ステップS14において、今回の処理が強制回転に基づく回転角演算処理開始後の初回の処理ではないと判別された場合には(ステップS14:NO)、ステップS16に移行する。
ステップS16では、第1の回転角演算部77Aは、メモリに記憶されているセンサ値S,S,Sに基づいて、センサ値S,S,S毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する。ゼロクロスが検出されなかったときには(ステップS16:NO)、第1の回転角演算部77Aは、図11BのステップS18に移行する。
【0135】
前記ステップS16において、いずれかのセンサ値S,S,Sに対してゼロクロスが検出された場合には(ステップS16:YES)、第1の回転角演算部77Aは、相対的極番号の更新処理を行なう(ステップS17)。具体的には、第1の回転角演算部77Aは、前記ステップS16でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1,r2またはr3を、入力軸8(磁石61)の回転方向に応じて、1だけ大きい番号または1だけ小さい番号に変更する。
【0136】
入力軸8の回転方向が正方向(図6に矢印で示す方向)である場合には、第1の回転角演算部77Aは、前記ステップS16でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1,r2またはr3を、1だけ大きい番号に更新する。一方、入力軸8の回転方向が逆方向である場合には、第1の回転角演算部77Aは、ゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1,r2またはr3を、1だけ小さい番号に更新する。ただし、前述したように、”1”の相対的極番号に対して、1だけ小さい相対的極番号は、”8”となる。また、”8”の相対的極番号に対して、1だけ大きい相対的極番号は、”1”となる。
【0137】
なお、入力軸8の回転方向は、例えば、ゼロクロスが検出された出力信号の前回値および今回値と、他方の出力信号の今回値とに基づいて判定することができる。具体的には、ゼロクロスが検出された出力信号が第1出力信号Sである場合には、「第1出力信号Sの前回値が0より大きくかつその今回値が0以下であり、第2出力信号Sが0より小さい」という条件、または「第1出力信号Sの前回値が0未満でかつその今回値が0以上であり、第2出力信号Sが0より大きい」という条件を満たしている場合には、回転方向は正方向(図6に矢印で示す方向)であると判定される。
【0138】
一方、「第1出力信号Sの前回値が0以上でかつその今回値が0未満であり、第2出力信号Sが0より大きい」という条件、または「第1出力信号Sの前回値が0以下でかつその今回値が0より大きく、第2出力信号Sが0より小さい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
ゼロクロスが検出された出力信号が第2出力信号Sである場合には、「第2出力信号Sの前回値が0より大きくかつその今回値が0以下であり、第1出力信号Sが0より大きい」という条件、または「第2出力信号Sの前回値が0未満でかつその今回値が0以上であり、第1出力信号Sが0より小さい」という条件を満たしている場合には、回転方向は正方向(図6に矢印で示す方向)であると判定される。一方、「第2出力信号Sの前回値が0以上でかつその今回値が0未満であり、第1出力信号Sが0より小さい」という条件、または「第2出力信号Sの前回値が0以下でかつその今回値が0より大きく、第1出力信号Sが0より大きい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
【0139】
ゼロクロスが検出された出力信号が第3出力信号Sである場合には、「第3出力信号Sの前回値が0より大きくかつその今回値が0以下であり、第2出力信号Sが0より大きい」という条件、または「第3出力信号Sの前回値が0未満でかつその今回値が0以上であり、第2出力信号Sが0より小さい」という条件を満たしている場合には、回転方向は正方向(図6に矢印で示す方向)であると判定される。
【0140】
一方、「第3出力信号Sの前回値が0以上でかつその今回値が0未満であり、第2出力信号Sが0より小さい」という条件、または「第3出力信号Sの前回値が0以下でかつその今回値が0より大きく、第2出力信号Sが0より大きい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
相対的極番号の更新処理が終了すると、第1の回転角演算部77Aは、図11BのステップS18に移行する。ステップS18では、第1の回転角演算部77Aは、第1および第2磁気センサ71,72が共に同じ1つの磁極を3演算周期連続して検出しているという条件を満たしている否かを判別する。ステップS18の条件を満たしていない場合には(ステップS18:NO)、第1の回転角演算部77Aは、第2および第3磁気センサ72,73が共に同じ1つの磁極を3演算周期連続して検出しているという条件を満たしている否かを判別する(ステップS20)。ステップS20の条件を満たしていない場合には(ステップS20:NO)、第1の回転角演算部77Aは、図11AのステップS13に戻る。
【0141】
前記ステップS18において、ステップS18の条件を満たしていると判別された場合には(ステップS18:YES)、第1の回転角演算部77Aは、EθおよびEを演算するための演算式に含まれている分数のいずれの分母も零でないという条件を満たしているか否かを判別する(ステップS19)。ステップS19の条件を満たしていない場合には(ステップS19:NO)、第1の回転角演算部77Aは、図11AのステップS13に戻る。一方、ステップS19の条件を満たしている場合には(ステップS19:YES)、第1の回転角演算部77Aは、ステップS22に移行する。
【0142】
前記ステップS20において、ステップS20の条件を満たしていると判別された場合には(ステップS20:YES)、第1の回転角演算部77Aは、EΘおよびEを演算するための演算式に含まれている分数のいずれの分母も零でないという条件を満たしているか否かを判別する(ステップS21)。ステップS21の条件を満たしていない場合には(ステップS21:NO)、第1の回転角演算部77Aは、図11AのステップS13に戻る。一方、ステップS21の条件を満たしている場合には(ステップS21:YES)、第1の回転角演算部77Aは、ステップS22に移行する。
【0143】
ステップS22では、第1の回転角演算部77Aは、第1方向とは反対方向である第2方向に電動モータ18を回転駆動させる。具体的には、第1の回転角演算部77Aは、第2方向に電動モータ18を回転駆動させるための第2強制回転指令をモータ制御用ECU12に送信する。モータ制御用ECU12は、この第2強制回転指令を受信すると、第2方向に電動モータ18を回転駆動させる。
【0144】
この後、第1の回転角演算部77Aは、各磁気センサ71,72のセンサ値S[n], S[n] ,S[n]を取得する(ステップS23)。ステップS23の処理は、後述するステップS27またはステップS31でYESと判定されるまで、所定の演算周期毎に繰り返し実行される。そして、第1の回転角演算部77Aは、メモリに記憶されているセンサ値S,S,Sに基づいて、センサ値S,S,S毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する(ステップS24)。ゼロクロスが検出されなかったときには(ステップS24:NO)、第1の回転角演算部77Aは、図11CのステップS26に移行する。
【0145】
前記ステップS24において、いずれかのセンサ値S,S,Sに対してゼロクロスが検出された場合には(ステップS24:YES)、第1の回転角演算部77Aは、相対的極番号の更新処理を行なう(ステップS25)。この相対的極番号の更新処理は、前述したステップS17における相対的極番号の更新処理と同じである。ステップS25の相対的極番号の更新処理が終了すると、第1の回転角演算部77Aは、図11CのステップS26に移行する。
【0146】
ステップS26では、第1の回転角演算部77Aは、第1および第2磁気センサ71,72が共に同じ1つの磁極を3演算周期連続して検出しているという条件を満たしている否かを判別する。ステップS26の条件を満たしていない場合には(ステップS26:NO)、第1の回転角演算部77Aは、第2および第3磁気センサ72,73が共に同じ1つの磁極を3演算周期連続して検出しているという条件を満たしている否かを判別する(ステップS30)。ステップS30の条件を満たしていない場合には(ステップS30:NO)、第1の回転角演算部77Aは、図11BのステップS23に戻る。
【0147】
前記ステップS26において、ステップS26の条件を満たしていると判別された場合には(ステップS26:YES)、第1の回転角演算部77Aは、第1演算モードのためのEθ基本演算式およびE演算式に含まれている分数のいずれの分母も零でないという条件を満たしているか否かを判別する(ステップS27)。ステップS27の条件を満たしていない場合には(ステップS27:NO)、第1の回転角演算部77Aは、図11BのステップS23に戻る。
【0148】
ステップS27の条件を満たしていると判別された場合には(ステップS27:YES)、第1の回転角演算部77Aは、第1演算モードによってθ[n],E,A,Aを演算する(ステップS28)。そして、第1の回転角演算部77Aは、演算されたE、AおよびAを、第1および第2磁気センサ71,72が検出している磁極の相対的極番号に関連付けてメモリに記憶する(ステップS29)。第1および第2磁気センサ71,72が検出している磁極の相対的極番号は、現在設定されている第1相対的極番号r1または第2相対的極番号r2と同じ値となる。具体的には、第1の回転角演算部77Aは、メモリのエリアe1,e2,e3内の現在設定されている第1相対的極番号r1に対応する記憶場所に、演算されたE、AおよびAをそれぞれ記憶する。この後、第1の回転角演算部77Aは、ステップS34に進む。
【0149】
前記ステップS30において、ステップS30の条件を満たしていると判別された場合には(ステップS30:YES)、第1の回転角演算部77Aは、第2演算モードのためのEΘ基本演算式およびE演算式に含まれている分数のいずれの分母も零でないという条件を満たしているか否かを判別する(ステップS31)。ステップS31の条件を満たしていない場合には(ステップS31:NO)、第1の回転角演算部77Aは、図11BのステップS23に戻る。
【0150】
ステップS31の条件を満たしている場合には(ステップS31:YES)、第1の回転角演算部77Aは、第2演算モードによってθ[n],E,A,Aを演算する(ステップS32)。そして、第1の回転角演算部77Aは、演算されたE、AおよびAを、第2および第3磁気センサ72,73が検出している磁極の相対的極番号に関連付けてメモリに記憶する(ステップS33)。第2および第3磁気センサ72,73が検出している磁極の相対的極番号は、現在設定されている第2相対的極番号r2または第3相対的極番号r3と同じ値となる。具体的には、第1の回転角演算部77Aは、メモリのエリアe1,e3,e4内の現在設定されている第3相対的極番号r3に対応する記憶場所に、演算されたE、AおよびAをそれぞれ記憶する。この後、第1の回転角演算部77Aは、ステップS34に進む。
【0151】
ステップS34では、第1の回転角演算部77Aは、電動モータ18の駆動を停止させるとともに運転者への警告を停止させる。具体的には、第1の回転角演算部77Aは、電動モータ18の駆動停止指令をモータ制御用ECU12に送信するとともに、映像音声制御装置に警告停止指令を送信する。モータ制御用ECU12は、電動モータ18の駆動停止指令を受信すると電動モータ18の駆動を停止させる。映像音声制御装置は、警告停止指令を受信すると、警告表示、警告音声出力等を停止させる。これにより、強制回転に基づく回転角演算処理が終了する。
【0152】
図15Aおよび図15Bは、図10のステップS2の通常時の回転角演算処理の手順を示すフローチャートである。図15Aおよび図15Bの処理は、所定の演算周期毎に繰り返し実行される。
第1の回転角演算部77Aは、各磁気センサ71,72,73のセンサ値S[n], S[n] ,S[n]を取得する(ステップS61)。そして、第1の回転角演算部77Aは、メモリに記憶されているセンサ値S,S,Sに基づいて、センサ値S,S,S毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する(ステップS62)。ゼロクロスが検出されなかったときには(ステップS62:NO)、第1の回転角演算部77Aは、ステップS64に移行する。
【0153】
前記ステップS62において、いずれかのセンサ値S,S,Sに対してゼロクロスが検出された場合には(ステップS62:YES)、第1の回転角演算部77Aは、相対的極番号の更新処理を行なう(ステップS63)。この相対的極番号の更新処理は、前述した図11AのステップS17における相対的極番号の更新処理と同じである。ステップS63の相対的極番号の更新処理が終了すると、第1の回転角演算部77Aは、ステップS64に移行する。
【0154】
ステップS64では、第1の回転角演算部77Aは、第1および第2磁気センサ71,72が共に同じ1つの磁極を3演算周期連続して検出しているという条件を満たしている否かを判別する。ステップS64の条件を満たしている場合には(ステップS64:YES)、第1の回転角演算部77Aは、第1演算モードによってθ[n],E,A,Aを演算する(ステップS65)。第1演算モードによって回転角θ[n]を演算する際においては、第1の回転角演算部77Aは、Eθ基本演算式に含まれている分数の分母が零でないか否か、E演算式に含まれている分数の分母が零でないか否かを判定し、それらの判定結果に応じてθ[n],E,A,Aを演算する。
【0155】
第1の回転角演算部77Aは、θ[n],E,A,Aを演算すると、Eθ基本演算式およびE演算式に含まれている分数のいずれの分母も零でないという条件を満たしていたか否かを判別する(ステップS66)。ステップS66の条件を満たしていた場合には(ステップS66:YES)、第1の回転角演算部77Aは、演算されたE、AおよびAを、第1および第2磁気センサ71,72が検出している磁極の相対的極番号に関連付けてメモリに記憶する(ステップS67)。第1および第2磁気センサ71,72が検出している磁極の相対的極番号は、現在設定されている第1相対的極番号r1または第2相対的極番号r2と同じ値となる。具体的には、第1の回転角演算部77Aは、メモリのエリアe1,e2,e3内の現在設定されている第1相対的極番号r1に対応する記憶場所に、演算されたE、AおよびA2をそれぞれ記憶する。なお、メモリのエリアe1,e2,e3の前記記憶場所に既にE、AおよびAが記憶されている場合には、今回演算されたE、AおよびAが上書きされる。この後、第1の回転角演算部77Aは、今回演算周期での処理を終了する。
【0156】
前記ステップS66において、ステップS66の条件を満たしていなかったと判別された場合には(ステップS66:NO)、第1の回転角演算部77Aは、ステップS67の処理を行うことなく、今回演算周期での処理を終了する。したがって、この場合には、ステップS65で演算されたE、AおよびAは、メモリのエリアe1,e2,e3に記憶されない。
【0157】
前記ステップS64において、ステップS64の条件を満たしていないと判別された場合には(ステップS64:NO)、第1の回転角演算部77Aは、第2および第3磁気センサ72,73が共に同じ1つの磁極を3演算周期連続して検出しているという条件を満たしている否かを判別する(ステップS68)。ステップS68の条件を満たしている場合には(ステップS68:YES)、第1の回転角演算部77Aは、第2演算モードによってθ[n],E,A,Aを演算する(ステップS69)。第2演算モードによって回転角θ[n]を演算する際においては、第1の回転角演算部77Aは、EΘ基本演算式に含まれている分数の分母が零でないか否か、E演算式に含まれている分数の分母が零でないか否かを判定し、それらの判定結果に応じてθ[n],E,A,Aを演算する。
【0158】
第1の回転角演算部77Aは、θ[n],E,A,Aを演算すると、EΘ基本演算式およびE演算式に含まれている分数のいずれの分母も零でないという条件を満たしていたか否かを判別する(ステップS70)。ステップS70の条件を満たしていた場合には(ステップS70:YES)、第1の回転角演算部77Aは、演算されたE、AおよびAを、第2および第3磁気センサ72,73が検出している磁極の相対的極番号に関連付けてメモリに記憶する(ステップS71)。第2および第3磁気センサ72,73が検出している磁極の相対的極番号は、現在設定されている第2相対的極番号r2または第3相対的極番号r3と同じ値となる。具体的には、第1の回転角演算部77Aは、メモリのエリアe1,e3,e4内の現在設定されている第3相対的極番号r3に対応する記憶場所に、演算されたE、AおよびAをそれぞれ記憶する。なお、メモリのエリアe1,e3,e4の前記記憶場所に既にE、AおよびAが記憶されている場合には、今回演算されたE、AおよびAが上書きされる。この後、第1の回転角演算部77Aは、今回演算周期での処理を終了する。
【0159】
前記ステップS70において、ステップS70の条件を満たしていなかったと判別された場合には(ステップS70:NO)、第1の回転角演算部77Aは、ステップS71の処理を行うことなく、今回演算周期での処理を終了する。したがって、この場合には、ステップS69で演算されたE、AおよびAは、メモリのエリアe1,e3,e4に記憶されない。
【0160】
前記ステップS68において、ステップS68の条件を満たしていないと判別された場合には(ステップS68:NO)、第1磁気センサ71が検出している磁極に対応する磁極幅補正値Eがメモリに記憶されているか否かを判別する(ステップS72)。この判別は、メモリのエリアe1内の現在設定されている第1相対的極番号r1に対応する記憶場所に、磁極幅補正値Eが記憶されているか否かに基づいて行われる。
【0161】
第1磁気センサ71が検出している磁極に対応する磁極幅補正値Eがメモリに記憶されている場合には(ステップS72:YES)、第1の回転角演算部77Aは、第3演算モードによって回転角θ[n]を演算する(ステップS73)。そして、第1の回転角演算部77Aは、今回演算周期での処理を終了する。
前記ステップS72において、第1磁気センサ71が検出している磁極に対応する磁極幅補正値Eがメモリに記憶されていないと判別された場合には(ステップS72:NO)、第1の回転角演算部77Aは、ステップS74に進む。ステップS74では、第1の回転角演算部77Aは、第2磁気センサ72が検出している磁極に対応する磁極幅補正値Eがメモリに記憶されているか否かを判別する。この判別は、メモリのエリアe2内の現在設定されている第2相対的極番号r2に対応する記憶場所に、磁極幅補正値Eが記憶されているか否かに基づいて行われる。
【0162】
第2磁気センサ72が検出している磁極に対応する磁極幅補正値Eがメモリに記憶されている場合には(ステップS74:YES)、第1の回転角演算部77Aは、第4演算モードによって回転角θ[n]を演算する(ステップS75)。そして、第1の回転角演算部77Aは、今回演算周期での処理を終了する。
前記ステップS74において、第2磁気センサ721が検出している磁極に対応する磁極幅補正値Eがメモリに記憶されていないと判別された場合には(ステップS74:NO)、第1の回転角演算部77Aは、第5演算モードによって回転角θ[n]を演算する(ステップS76)。そして、第1の回転角演算部77Aは、今回演算周期での処理を終了する。
【0163】
以上、この発明の一実施形態について説明したが、この発明はさらに他の形態で実施することもできる。たとえば、図15AのステップS66を省略して、ステップS65の処理が終了したときには、ステップS67に進むようにしてもよい。同様に、図15AのステップS70を省略して、ステップS69の処理が終了したときには、ステップS71に進むようにしてもよい。
【0164】
また、第2磁気センサ72に対して、入力軸8の半径方向に間隔をおいて、予備の磁気センサを配置しておき、第2磁気センサ72が故障したときに、予備の磁気センサの出力信号を第2磁気センサ72の出力信号の代わりに用いるようにしてもよい。
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【0165】
1…電動パワーステアリング装置、8…入力軸、9…出力軸、12…モータ制御用ECU、18…電動モータ、61,62…磁石、71〜76…磁気センサ、77…トルク演算用ECU、77A…第1の回転角演算部、77B…第2の回転角演算部、
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11A
図11B
図11C
図12
図13
図14
図15A
図15B
図16
図17