[go: up one dir, main page]

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

回転角検出装置 Download PDF

Info

Publication number
JP2014219364A
JP2014219364A JP2013100613A JP2013100613A JP2014219364A JP 2014219364 A JP2014219364 A JP 2014219364A JP 2013100613 A JP2013100613 A JP 2013100613A JP 2013100613 A JP2013100613 A JP 2013100613A JP 2014219364 A JP2014219364 A JP 2014219364A
Authority
JP
Japan
Prior art keywords
magnetic
rotation angle
magnetic sensor
calculation
sensor
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.)
Pending
Application number
JP2013100613A
Other languages
English (en)
Inventor
裕二 狩集
Yuji Karizume
裕二 狩集
冷水 由信
Yoshinobu Shimizu
由信 冷水
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 JP2013100613A priority Critical patent/JP2014219364A/ja
Priority to EP13196425.6A priority patent/EP2743647B1/en
Priority to CN201310667521.8A priority patent/CN104142120A/zh
Priority to US14/104,322 priority patent/US20140163921A1/en
Publication of JP2014219364A publication Critical patent/JP2014219364A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/12Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
    • G01D5/14Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing the magnitude of a current or voltage
    • G01D5/24Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing the magnitude of a current or voltage by varying capacitance

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Transmission And Conversion Of Sensor Element Output (AREA)
  • Measurement Of Length, Angles, Or The Like Using Electric Or Magnetic Means (AREA)

Abstract

【課題】精度の高い回転角を検出できる回転角検出装置を提供する。【解決手段】第1磁気センサ71と第2磁気センサ72との角度間隔および第2磁気センサ71と第3磁気センサ73との角度間隔は、それぞれ電気角で60?である。第1、第2および第3磁気センサ71,72,73のうち、第2磁気センサ72を含む2つの磁気センサが正常である場合において、第2磁気センサ72を含む正常な2つの磁気センサが所定複数サンプリング周期連続して共に同じ1つの磁極を検出している場合には、それらの2つの所定複数サンプリング分の出力信号に基づいて回転角が演算される。第2磁気センサ71のみが故障している場合において、第1および第3磁気センサ71,73が所定複数サンプリング周期連続して共に同じ1つの磁極を検出している場合には、それらの2つの所定複数サンプリング分の出力信号に基づいて回転角が演算される。【選択図】図6

Description

この発明は、回転体の回転角を検出する回転角検出装置に関する。
回転体の回転角を検出する回転角検出装置として、ブラシレスモータの回転に応じて回転する検出用ロータを用いて、ブラシレスモータのロータの回転角を検出する回転角検出装置が知られている。具体的には、図17に示すように、検出用ロータ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°)の角度間隔をおいて配置されている。
図17に矢印で示す方向を検出用ロータ201の正方向の回転方向とする。そして、ロータ201が正方向に回転されるとロータ201の回転角が大きくなり、ロータ201が逆方向に回転されると、ロータ201の回転角が小さくなるものとする。各磁気センサ221,222からは、図18に示すように、ロータ201が1磁極対分に相当する角度(72°(電気角では360°))を回転する期間を一周期とする正弦波信号S,Sが出力される。
ロータ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を用いて、次式に基づいて求めることができる。
θ=tan−1(sinθ/cosθ)
=tan−1(S/S
このようにして、求められた電気角θを使って、ブラシレスモータを制御する。
特開2008-26297号公報
前述したような従来の回転角検出装置においては、両磁気センサ221,222の出力信号S,Sの振幅A,Aが等しいとみなして回転角θを演算しているが、両出力信号S,Sの振幅A,Aは、両磁気センサ221,222の温度特性のばらつきおよび温度変化に応じて変化する。このため、両磁気センサ221,222の温度特性のばらつきおよび温度変化によって、ロータの回転角の検出に誤差が発生する。
この発明の目的は、精度の高い回転角を検出できる回転角検出装置を提供することである。
請求項1記載の発明は、回転体(8)の回転角を演算する回転角演算装置(77A)であって、前記回転体の回転に応じて回転し、複数の磁極を有する環状の多極磁石(61)と、前記多極磁石の周方向に並んで配置され、前記多極磁石の回転に応じて位相差を有する正弦波信号をそれぞれ出力する3つの磁気センサ(71,72,73)であって、これら3つの磁気センサのうちの中央の磁気センサと他の一方の磁気センサとの間の角度間隔と、前記中央の磁気センサと他の他方の磁気センサとの間の角度間隔との和が、電気角で180度未満である3つの磁気センサと、前記各磁気センサに故障が発生したか否かを判定する故障判定手段(77A,S1)と、前記3つの磁気センサのうちの中央の磁気センサを含む少なくとも2つの磁気センサが正常である場合において、中央の磁気センサを含む正常な2つの磁気センサが共に同じ1つの磁極を所定複数サンプリング周期連続して検出しているという第1条件を満たしているときには、それらの2つの磁気センサの前記所定複数サンプリング分の出力信号に基づいて、前記回転体の回転角を演算する第1演算手段(77A,S84,S85,S88,S89)と、前記3つの磁気センサのうちの中央の磁気センサのみが故障している場合において、中央の磁気センサを除く正常な2つの磁気センサが共に同じ1つの磁極を所定複数サンプリング周期連続して検出しているという第2条件を満たしているときには、それらの2つの磁気センサの前記所定複数サンプリング分の出力信号に基づいて、前記回転体の回転角を演算する第2演算手段(77A,S97,S98)とを含む、回転角演算装置である。なお、括弧内の英数字は、後述の実施形態における対応構成要素等を表すが、むろん、この発明の範囲は当該実施形態に限定されない。以下、この項において同じ。
この発明では、3つの磁気センサのうちの中央の磁気センサと他の一方の磁気センサとの間の角度間隔と、前記中央の磁気センサと他の他方の磁気センサとの間の角度間隔との和が、電気角で180度未満である。このため、3つの磁気センサのうちのいずれの1つの磁気センサが故障した場合であっても、正常な2つの磁気センサが共に同じ1つの磁極を所定複数サンプリング周期連続して検出しているという状態が発生しうる。
正常な2つの磁気センサが共に同じ1つの磁極を所定複数サンプリング周期連続して検出しているという条件(前記第1条件および前記第2条件のうちの少なくとも一方の条件)を満たしている場合には、正常な2つの磁気センサの所定複数サンプリング分の出力信号に基づいて回転体の回転角を演算することにより、精度の高い回転角を演算することが可能である。これにより、3つの磁気センサのうちのいずれの1つの磁気センサが故障した場合であっても、前記第1条件および前記第2条件のうちの少なくとも一方の条件を満たしているときには、精度の高い回転角を演算することが可能となる。
請求項2記載の発明は、前記第1演算手段は、前記第1条件を満たしているときに、常にまたは前記中央の磁気センサを含む正常な2つの磁気センサの前記所定複数サンプリング分の出力信号が一定の要件を満たしているときには、それらの2つの磁気センサが検出している磁極の磁極幅に関する情報および/またはそれらの2つの磁気センサの出力信号の振幅に関する情報を演算して当該磁極に関連付けて記憶する手段(77A,S87,S91)を含んでおり、前記第2演算手段は、前記第2条件を満たしているときに、常にまたは前記中央の磁気センサを除く正常な2つの磁気センサの前記所定複数サンプリング分の出力信号が一定の要件を満たしているときには、それらの2つの磁気センサが検出している磁極の磁極幅に関する情報および/またはそれらの2つの磁気センサの出力信号の振幅に関する情報を演算して当該磁極に関連付けて記憶する手段(77A,S100)を含んでおり、前記3つの磁気センサのうちの中央の磁気センサを含む少なくとも2つの磁気センサが正常である場合において、前記第1条件を満たしていないときには、正常な磁気センサのうち、磁極幅に関する情報および/または振幅に関する情報が関連付けて記憶されている磁極を検出している1つの磁気センサを含む2つの磁気センサの1サンプリング分の出力信号と、前記第1演算手段によって記憶されている前記情報とを用いて、前記回転体の回転角を演算する第3演算手段(77A,S93,S95,S96)と、前記3つの磁気センサのうちの前記中央の磁気センサのみが故障している場合において、前記第2条件を満たしておらずかつ前記中央の磁気センサを除く正常な2つの磁気センサが検出している磁極のうちの少なくとも一方の磁極に関連して、の磁極幅に関する情報および/または振幅に関する情報が記憶されている場合には、正常な2つの磁気センサの1サンプリング分の出力信号と、前記第2演算手段によって記憶されている前記情報とを用いて、前記回転体の回転角を演算する第4演算手段(77A,S102,S104)とをさらに含む、請求項1に記載の回転角演算装置である。
この構成によれば、3つの磁気センサのうちの中央の磁気センサを含む少なくとも2つの磁気センサが正常である場合において、第1条件を満たしていないときであっても、精度の高い回転角を演算することが可能となる。また、3つの磁気センサのうちの中央の磁気センサのみが故障している場合において、第2条件を満たしていないときであっても、中央の磁気センサを除く正常な2つの磁気センサが検出している磁極のうちの少なくとも一方の磁極に関連して、磁極幅に関する情報および/または振幅に関する情報が記憶されている場合には、精度の高い回転角を演算することが可能となる。
請求項3記載の発明は、前記3つの磁気センサを第1磁気センサ、第2磁気センサおよび第3磁気センサとし、前記第2磁気センサが前記中央の磁気センサであるとすると、前記第2磁気センサと前記第1磁気センサとの間の角度間隔が電気角で60度であり、前記第2磁気センサと前記第3磁気センサとの間の角度間隔が電気角で60度である、請求項1または2に記載の回転角演算装置である。
図1は、本発明の一実施形態に係る回転角検出装置が適用された電動パワーステアリング装置の概略構成を示す模式図である。 図2は、モータ制御用ECUの電気的構成を示す概略図である。 図3は、電動モータの構成を図解的に示す模式図である。 図4は、検出操舵トルクThに対するq軸電流指令値I の設定例を示すグラフである。 図5は、トルクセンサの構成を図解的に示す模式図である。 図6は、第1の磁石の構成および3つの磁気センサの配置を示す模式図である。 図7は、第1磁気センサ、第2磁気センサおよび第3磁気センサの出力波形を示す模式図である。 図8A、図8Bおよび図8Cは、それぞれ第4演算モード、第5演算モードおよび第6演算モードが適用される場合の例を説明するための模式図である。 図9は、第4演算モードを説明するための説明図である。 図10は、第1の回転角演算部の動作を示すフローチャートである。 図11は、図10のステップS1の故障判定処理の手順を示すフローチャートである。 図12Aは、図10のステップS3の強制回転に基づく回転角演算処理の手順の一部を示すフローチャートである。 図12Bは、図10のステップS3の強制回転に基づく回転角演算処理の手順の一部を示すフローチャートである。 図12Cは、図10のステップS3の強制回転に基づく回転角演算処理の手順の一部を示すフローチャートである。 図12Dは、図10のステップS3の強制回転に基づく回転角演算処理の手順の一部を示すフローチャートである。 図13は、トルク演算用ECU内のメモリの内容の一部を示す模式図である。 図14は、相対的極番号の設定処理の詳細な手順を示すフローチャートである。 図15は、相対的極番号の設定処理を説明するための模式図である。 図16Aは、図10のステップS5の通常時の回転角演算処理の手順の一部を示すフローチャートである。 図16Bは、図10のステップS5の通常時の回転角演算処理の手順の一部を示すフローチャートである。 図16Cは、図10のステップS5の通常時の回転角演算処理の手順の一部を示すフローチャートである。 図17は、従来の回転角検出装置による回転角検出方法を説明するための模式図である。 図18は、第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のロータの回転角(電気角。以下、「ロータ角θ」という。)を演算する。
電流指令値設定部41は、dq座標系の座標軸に流すべき電流値を電流指令値として設定する。具体的には、電流指令値設定部41は、d軸電流指令値I およびq軸電流指令値I (以下、これらを総称するときには「二相電流指令値Idq 」という。)を設定する。さらに具体的には、電流指令値設定部41は、q軸電流指令値I を有意値とする一方で、d軸電流指令値I を零とする。より具体的には、電流指令値設定部41は、トルクセンサ11によって検出される操舵トルク(検出操舵トルク)Thに基づいて、q軸電流指令値I を設定する。
検出操舵トルクThに対するq軸電流指令値I の設定例は、図4に示されている。検出操舵トルクThは、たとえば、右方向への操舵のためのトルクが正の値にとられ、左方向への操舵のためのトルクが負の値にとられている。また、q軸電流指令値I は、電動モータ18から右方向操舵のための操作補助力を発生させるべきときには正の値とされ、電動モータ18から左方向操舵のための操作補助力を発生させるべきときには負の値とされる。q軸電流指令値I は、検出操舵トルクThの正の値に対しては正をとり、検出操舵トルクThの負の値に対しては負をとる。検出操舵トルクThが零のときには、q軸電流指令値I は零とされる。そして、検出操舵トルクThの絶対値が大きくなるほど、q軸電流指令値I の絶対値が大きくなるように、q軸電流指令値I が設定されている。
電流指令値設定部41によって設定された二相電流指令値Idq は、電流偏差演算部42に与えられる。
電流検出部32は、電動モータ18のU相電流I、V相電流IおよびW相電流I(以下、これらを総称するときは、「三相検出電流IUVW」という。)を検出する。電流検出部32によって検出された三相検出電流IUVWは、UVW/dq変換部46に与えられる。
UVW/dq変換部46は、電流検出部32によって検出されるUVW座標系の三相検出電流IUVW(U相電流I、V相電流IおよびW相電流I)を、dq座標系の二相検出電流IおよびI(以下総称するときには「二相検出電流Idq」という。)に座標変換する。この座標変換には、回転角演算部47によって演算されたロータ角θが用いられる。
電流偏差演算部42は、電流指令値設定部41によって設定される二相電流指令値Idq と、UVW/dq変換部46から与えられる二相検出電流Idqとの偏差を演算する。より具体的には、電流偏差演算部42は、d軸電流指令値I に対するd軸検出電流Iの偏差およびq軸電流指令値I に対するq軸検出電流Iの偏差を演算する。これらの偏差は、PI制御部43に与えられる。
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に与えられる。
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に印加されることになる。
電流偏差演算部42およびPI制御部43は、電流フィードバック制御手段を構成している。この電流フィードバック制御手段の働きによって、電動モータ18に流れるモータ電流が、電流指令値設定部41によって設定された二相電流指令値Idq に近づくように制御される。
図5は、トルクセンサ11の構成を図解的に示す模式図である。
入力軸8には、環状の第1の磁石(多極磁石)61が一体回転可能に連結されている。第1の磁石61の下側には、第1の磁石61の回転に応じて位相差を有する正弦波状の信号をそれぞれ出力する3つの磁気センサ71,72,73が配置されている。
出力軸9には、環状の第2の磁石(多極磁石)62が一体回転可能に連結されている。第2の磁石62の上側には、第2の磁石62の回転に応じて位相差を有する正弦波状の信号をそれぞれ出力する3つの磁気センサ74,75,76が配置されている。
各磁気センサ71〜76の出力信号S〜Sは、入力軸8に加えられる操舵トルクを演算するためのトルク演算用ECU77に入力されている。トルク演算用ECU77の電源は、イグニッションキーがオン操作されることによってオンとなる。イグニッションキーがオフ操作されたときには、そのことを示すイグニッションオフ指令が、トルク演算用ECU77に入力される。なお、磁気センサとしては、たとえば、ホール素子、磁気抵抗素子(MR素子)等、磁界の作用により電気的特性が変化する特性を有する素子を備えたものを用いることができる。この実施形態では、磁気センサとしては、ホール素子が用いられている。
前記磁石61,62、前記磁気センサ71〜76およびトルク演算用ECU77によって、トルクセンサ11が構成されている。
トルク演算用ECU77は、マイクロコンピュータを含んでいる。マイクロコンピュータは、CPUおよびメモリ(ROM,RAM,不揮発性メモリ等)を備えており、所定のプログラムを実行することによって、複数の機能処理部として機能する。この複数の機能処理部には、第1の回転角演算部77Aと、第2の回転角演算部77Bと、トルク演算部77Cとを含んでいる。
第1の回転角演算部77Aは、3つの磁気センサ71,72,73の出力信号S,S,Sに基づいて入力軸8の回転角(電気角θ)を演算する。第2の回転角演算部77Bは、3つの磁気センサ74,75,76の出力信号S,S,Sに基づいて出力軸9の回転角(電気角θ)を演算する。
トルク演算部77Cは、第1の回転角演算部77Aによって検出された入力軸8の回転角θと第2の回転角演算部77Bによって検出された出力軸9の回転角θとに基づいて、入力軸8に加えられた操舵トルクThを演算する。具体的には、操舵トルクThは、トーションバー10のバネ定数をKとし、各磁石61,62に設けられた磁極対数をNとすると、次式(1)に基づいて演算される。
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)の動作についてのみ説明する。
図6は、第1の磁石61の構成および3つの磁気センサ71,72,73の配置を示す模式図である。
第1の磁石61は、周方向に等角度間隔で配された4組の磁極対(M1,M2),(M3,M4),(M5,M6),(M7,M8)を有している。つまり、第1の磁石61は、等角度間隔で配置された8個の磁極M1〜M8を有している。各磁極M1〜M8は、入力軸8の中心軸を中心として、ほぼ45°(電気角ではほぼ180°)の角度間隔(角度幅)で配置されている。各磁極M1〜M8の磁力の大きさは、ほぼ一定である。
3つの磁気センサ71,72,73は、第1の磁石61の下側の環状端面に対向して、配置されている。以下において、磁気センサ71を第1磁気センサ71、磁気センサ72を第2磁気センサ72、磁気センサ73を第3磁気センサ73という場合がある。第1磁気センサ71と第2磁気センサ72とは、入力軸8の中心軸を中心として電気角で60°(機械角で15°)の角度間隔で配置されている。また、第2磁気センサ72と第3磁気センサ73とは、入力軸8の中心軸を中心として電気角で60°の角度間隔で配置されている。したがって、第1磁気センサ71と第3磁気センサ73とは、入力軸8の中心軸を中心として電気角で120°(機械角で30°)の角度間隔で配置されている。
つまり、第2磁気センサ72と第1磁気センサ71との間の角度間隔と、第2磁気センサ72と第3磁気センサ73との間の角度間隔との和は電気角で120°であり、1つの磁極の角度幅(電気角で180°)より小さく設定されている。
なお、第1磁気センサ71と第2磁気センサ72との間の角度間隔は、第2磁気センサ72を基準として、図6において時計方向周りの角度間隔と、反時計方向周りの角度間隔との2種類存在すると考えられることができるかもしれないが、この明細書ではそれらの2種類のうち、機械角が小さい方をいうものとする。言い換えれば、第1磁気センサ71と第2磁気センサ72との間の角度間隔は、前記2種類のうち、機械角の180°より小さい方をいう。第2磁気センサ72と第3磁気センサ73との間の角度間隔も、同様である。
図6に矢印で示す方向を入力軸8の正方向の回転方向とする。そして、入力軸8が正方向に回転されると入力軸8の回転角が大きくなり、入力軸8が逆方向に回転されると、入力軸2の回転角が小さくなるものとする。各磁気センサ71,72,73からは、図7に示すように、入力軸8の回転に伴って、正弦波状の信号S,S,Sが出力される。なお、図7の横軸の回転角[deg]は、機械角を表している。
以下において、第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(θ+60)と表され、第3磁気センサ73の出力信号Sは、S=A・sin(θ+120)と表される。A,A,Aは、それぞれ振幅を表している。第1出力信号Sと第2出力信号Sとの位相差は60度である。第2出力信号Sと第3出力信号Sとの位相差も60度である。したがって、第1出力信号Sと第3出力信号Sとの位相差は120度である。
第1の回転角演算部77Aによる回転角θの演算方法の基本的な考え方について説明する。第1の回転角演算部77Aによる回転角演算モードには、第1演算モード〜第7演算モードがある。以下、各演算モードについて説明する。
[1]第1演算モード
第1演算モードは、第1および第2磁気センサ71,72が、3サンプリング周期(3演算周期)連続して共に同じ1つの磁極を検出している場合に適用される可能性がある演算モードである。第1演算モードでは、第1および第2磁気センサ71,72における3サンプリング分の出力信号に基づいて回転角θが演算される。
第1出力信号Sと第2出力信号Sとの位相差(電気角)をCで表すことにする。また、今回のサンプリング周期の番号(今回の演算周期の番号)を[n]、前回のサンプリング周期の番号を[n-1]、前々回のサンプリング周期の番号を[n-2]で表すことにする。また、各磁極M1〜M8の角度幅(ピッチ幅)のばらつきに基づく回転角演算誤差を補正するための補正値を、角度幅誤差補正値といい、Eで表すことことにする。
位相差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が検出している磁極に対応する角度幅誤差補正値である。
ある磁極の角度幅を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の出力信号の振幅A[n],A[n-1],A[n-2]が互いに等しいとみなして、これらをAとする。同様に、3サンプリング間の第2磁気センサ72の出力信号の振幅A[n],A[n-1],A[n-2]が互いに等しいとみなし、これらをAとする。
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)で表わされる。
[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]を演算することができる。
以下、両磁気センサ間の位相差Cが60度である場合について、具体的に説明する。位相差Cが60度である場合には、前記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]+60) …(6d)
[n-1]=Asin(Eθ[n-1]+60) …(6e)
[n-2]=Asin(Eθ[n-2]+60) …(6f)
Eθ[n]を1つの未知数と考えると、前記6つの式(6a)〜(6f)のうちの4つの式(6a),(6b),(6d),(6e)からなる連立方程式を解くことにより、Eθ[n]は、次式(7)(以下、「Eθ基本演算式(7)」という。)で表わされる。
Figure 2014219364
また、前記6つの式(6a)〜(6f)からなる連立方程式を解くことにより、角度幅誤差補正値Eは、次式(8)(以下、「E演算式(8)」という。)で表わされる。
Figure 2014219364
したがって、前記Eθ基本演算式(7)により演算されたEθ[n]を、前記E演算式(8)により演算された角度幅誤差補正値Eで除することにより、θ[n]を求めることができる。つまり、次式(9)により、θ[n]を求めることができる。
θ[n]=Eθ[n]/E …(9)
ただし、E演算式(8)に含まれている分数のいずれかの分母が零になる場合には、E演算式(8)に基づいて角度幅誤差補正値Eを演算することはできない。そこで、この実施形態では、E演算式(8)に含まれている分数のいずれかの分母が零になる場合には、前回に演算された角度幅誤差補正値Eを今回の角度幅誤差補正値Eとして用いるようにしている。
なお、E演算式(8)に含まれている分数のいずれかの分母が零になる場合とは、次式(10),(11),(12)でそれぞれ表される3つの条件のうちの少なくとも1つの条件を満たす場合である。
Figure 2014219364
また、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の場合である。
この実施形態では、Eθ[n]を演算するための演算式として、Eθ基本演算式(7)を含めて10種類の演算式が用意されている。表1は、10種類の演算式と、その演算式が適用される条件とを示している。なお、Eθ[n]を演算する際には、表1の上から順番にその条件を満たしているか否かが判別され、条件を満たしたと判別されるとそれ以降の条件判別は行われず、当該条件に対応する演算式により、Eθ[n]が演算される。
Figure 2014219364
表1の上から1番目の演算式は、Eθ基本演算式(7)である。Eθ基本演算式(7)は、S[n]およびS[n]のいずれもが零でなく、かつEθ基本演算式(7)に含まれている分数のいずれの分母も零でないという条件を満たしている場合に、適用される。Eθ基本演算式(7)に含まれている分数のいずれの分母も零でないという条件は、S[n-1]≠0でかつ、S[n-1]≠0で、p−p≠0でかつ、p +p+p ≠0である場合に満たされる。なお、S[n-1]はpの分母であり、S[n-1]はpの分母である。
ただし、p +p+p =0が成立するのは、p=p=0の場合だけであるが、第1磁気センサ71と第2磁気センサ72とは位相が60度ずれているため、両磁気センサ71,72のセンサ値S,Sが同時に零になることはない。このため、p +p+p =0が成立することはない。したがって、Eθ基本演算式(7)に含まれている分数のいずれの分母も零でないという条件は、S[n-1]≠0で、S[n-1]≠0でかつ、p−p≠0である場合に満たされる。
表1の上から2番目の演算式は、p−p=0である場合に適用される演算式である。p−p=0が成立する場合について検討する。この場合には、p=pであるから、次式(13)が成立する。
Figure 2014219364
これを変形すると、次式(14)が得られる。
Figure 2014219364
前記式(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]として用いられる。
表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]+60)であるので、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となる。
Eθ[n-1]=0である場合には、前記式(6d),(6e)は、それぞれ次式(15d),(15e)で表される。
[n]=Asin(Eθ[n]+60) …(15d)
[n-1]=Asin60=√3/2・A …(15e)
前記式(15e)から、次式(16)が得られる。
=(2/√3)・S[n-1] …(16)
前記式(16)を前記式(15d)に代入すると、次式(17)が得られる。
sin(Eθ[n]+60)=(√3/2)・(S[n]/S[n-1]) …(17)
したがって、Eθ[n]は、次式(18)により演算することができる。
Figure 2014219364
つまり、表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である場合には、前記式(6d),(6e)は、それぞれ次式(19d),(19e)で表される。
[n]=Asin(Eθ[n]+60) …(19d)
[n-1]=Asin240=−√3/2・ A …(19e)
前記式(19e)から、次式(20)が得られる。
=(−2/√3)・S[n-1] …(20)
前記式(20)を前記式(19d)に代入すると、次式(21)が得られる。
sin(Eθ[n]+60)=(−√3/2)・(S[n]/S[n-1]) …(21)
したがって、Eθ[n]は、次式(22)により演算することができる。
Figure 2014219364
つまり、表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]+60)であるので、sin(Eθ[n]+60)=0のときに、S[n]=0となる。つまり、Eθ[n]が−60度または120度のときに、S[n]=0となる。S[n]=AsinEθ[n]であるので、Eθ[n]が−60度のときにはS[n]<0となり、Eθ[n]が120度のときにはS[n]>0となる。したがって、S[n]=0でかつS[n]>0のときにはEθ[n]=120となり、S[n]=0でかつS[n]<0であればEθ[n]=−60となる。
つまり、表1の上から5番目に示すように、S[n]が零でなく、かつpの分母S[n-1]が零でなく、かつS[n]=0であり、かつS[n]>0であるという条件を満たした場合には、Eθ[n]は120度として演算される。また、表1の上から6番目に示すように、S[n]が零でなく、かつpの分母S[n-1]が零でなく、かつS[n]=0であり、かつS[n]<0であるという条件を満たした場合には、Eθ[n]は−60度として演算される。
表1の上から7番目および8番目の演算式は、pの分母S[n-1]が零となる場合に適用される演算式である。S[n-1]=Asin(Eθ[n-1]+60)であるので、sin(Eθ[n-1]+60)=0のときに、S[n-1]=0となる。つまり、Eθ[n-1]が−60度または120度のときに、S[n-1]が零となる。S[n-1]=AsinEθ[n-1]であるので、Eθ[n-1]が−60度のときにはS[n-1]<0となり、Eθ[n-1]が120度のときにはS[n-1]>0となる。したがって、S[n-1]=0でかつS[n-1]>0のときにはEθ[n-1]=120となり、S[n-1]=0でかつS[n-1]<0のときにはEθ[n-1]=−60となる。
Eθ[n-1]=120である場合には、前記式(6a),(6b)は、それぞれ次式(23a),(23b)で表される。
[n]=AsinEθ[n] …(23a)
[n-1]=Asin120=√3/2・ A…(23b)
前記式(23b)から、次式(24)が得られる。
=(2/√3)・S[n-1] …(24)
前記式(24)を前記式(23a)に代入すると、次式(25)が得られる。
sinEθ[n]=(√3/2)・(S[n]/S[n-1]) …(25)
したがって、Eθ[n]は、次式(26)により演算することができる。
Figure 2014219364
つまり、表1の上から7番目に示すように、S[n]が零でなく、かつpの分母S[n-1]が零であり、かつS[n-1]>0であるという条件を満たした場合には、前記式(26)で表される演算式に基づいてEθ[n]が演算される。
一方、Eθ[n-1]=−60である場合には、前記式(6a),(6b)は、それぞれ次式(27a),(27b)で表される。
[n]=AsinEθ[n] …(27a)
[n-1]=Asin(−60)=−√3/2・A …(27b)
前記式(27b)から、次式(28)が得られる。
=(−2/√3)・S[n-1] …(28)
前記式(28)を前記式(27a)に代入すると、次式(29)が得られる。
sinEθ[n]=(−√3/2)・(S[n]/S[n-1]) …(29)
したがって、Eθ[n]は、次式(30)により演算することができる。
Figure 2014219364
つまり、表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]+60]であるので、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となる。
つまり、表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サンプリング分の出力信号に基づいて回転角θが演算される。
第2磁気センサ72および第3磁気センサ73の出力信号S,Sを、角度幅誤差補正値Eを用いて表すと、第2磁気センサ72の出力信号S[n]はS[n]=A・sin(Eθ[n]+60)で表され、第3磁気センサ73の出力信号S[n]は、S[n]=A・sin(Eθ[n]+120)と表される。ここで、Eは、第3磁気センサ73が検出している磁極に対応する角度幅誤差補正値である。第2磁気センサ72および第3磁気センサ73が同じ磁極を検出している場合には、EとEとは等しいので、これらをEで表すと、第2磁気センサ72の出力信号S[n]はS[n]=A・sin(Eθ[n]+60)で表され、第3磁気センサ73の出力信号S[n]は、S[n]=A・sin(Eθ[n]+120)と表される。
(Eθ[n]+60)をEΘ[n]に置き換えると、第2出力信号S[n]はS[n]=A・sinEΘ[n]で表され、第3出力信号S[n]はS[n]=A・sin(EΘ[n]+60)で表わされる。したがって、第2出力信号Sと第3出力信号Sとを用い、前述した方法と同様な方法でEΘ[n]とEとを演算することができる。EΘ[n]=Eθ[n]+60であるので、θ[n]=(EΘ[n]−60)/Eである。したがって、θ[n]=(EΘ[n]−60)/Eの式に、演算されたEΘ[n]とEを代入することにより、入力軸8の回転角θ[n]を演算することができる。また、EΘ[n]が演算されると、振幅Aおよび振幅Aを演算することができる。つまり、第2演算モードによって、E,θ[n],A2,を演算することができる。
第2演算モードによる回転角演算に用いられる3サンプリング分の第2および第3出力信号を、前記式(6a)〜(6f)にならって次式(31a)〜(31f)で表すと、EΘ基本演算式およびE演算式はそれぞれ次式(32)および(33)で表すことができる。
[n]=Asin(Eθ[n]+60) …(31a)
[n-1]=Asin(Eθ[n-1]+60) …(31b)
[n-2]=Asin(Eθ[n-2]+60) …(31c)
[n]=Asin(Eθ[n]+120) …(31d)
[n-1]=Asin(Eθ[n-1]+120) …(31e)
[n-2]=Asin(Eθ[n-2]+120) …(31f)
Figure 2014219364
Figure 2014219364
なお、第2演算モードのE演算式(33)におけるq〜q,tの定義は、第1演算モードのE演算式(8)のq〜q,tの定義と異なっている。
[3]第3演算モード
第3演算モードは、第1および第3磁気センサ71,73が、3サンプリング周期(3演算周期)連続して共に同じ1つの磁極を検出している場合に適用される可能性がある演算モードである。第3演算モードでは、第1および第3磁気センサ71,73における3サンプリング分の出力信号に基づいて回転角θが演算される。
第3演算モードによる回転角演算に用いられる3サンプリング分の第1および第3出力信号を、前記式(6a)〜(6f)にならって表すと、次式(34a)〜(34f)となる。
[n]=Asin(Eθ[n]) …(34a)
[n-1]=Asin(Eθ[n-1]) …(34b)
[n-2]=Asin(Eθ[n-2]) …(34c)
[n]=Asin(Eθ[n]+120) …(34d)
[n-1]=Asin(Eθ[n-1]+120) …(34e)
[n-2]=Asin(Eθ[n-2]+120) …(34f)
Eθ[n]を1つの未知数と考えると、前記6つの式(34a)〜(34f)のうちの4つの式(34a),(34b),(34d),(34e)からなる連立方程式を解くことにより、Eθ[n]は、次式(35)(以下、「Eθ基本演算式(35)」という。)で表わされる。
Figure 2014219364
また、前記6つの式(34a)〜(34f)からなる連立方程式を解くことにより、角度幅誤差補正値Eは、次式(36)(以下、「E演算式(36)」という。)で表わされる。なお、第3演算モードのE演算式(36)におけるq〜q,tの定義は、第1演算モードのE演算式(8)のq〜q,tの定義と異なっている。
Figure 2014219364
したがって、前記Eθ基本演算式(35)により演算されたEθ[n]を、前記E演算式(36)により演算された角度幅誤差補正値Eで除することにより、θ[n]を求めることができる。つまり、次式(37)により、θ[n]を求めることができる。
θ[n]=Eθ[n]/E …(37)
ただし、E演算式(36)に含まれている分数のいずれかの分母が零になる場合には、E演算式(36)に基づいて角度幅誤差補正値Eを演算することはできない。そこで、この実施形態では、E演算式(36)に含まれている分数のいずれかの分母が零になる場合には、前回に演算された角度幅誤差補正値Eを今回の角度幅誤差補正値Eとして用いるようにしている。
なお、E演算式(36)に含まれている分数のいずれかの分母が零になる場合とは、E演算式(36)におけるtの分母が零になる場合、tの分子が零になる場合または(S[n]・S[n]−S[n-1]・S[n-1])が零になる場合である。
また、Eθ基本演算式(35)に含まれている分数のいずれかの分母が零になる場合には、Eθ基本演算式(35)に基づいてEθ[n]を演算することはできない。そこで、この実施形態では、Eθ基本演算式(35)に含まれている分数のいずれかの分母が零になる場合には、Eθ基本演算式(35)とは異なる演算式によってEθ[n]を演算するようにしている。さらに、この実施形態では、Eθ基本演算式(35)に基づいてEθ[n]を演算することができるけれども、より簡単な演算式によってEθ[n]を演算できる場合には、Eθ基本演算式(35)とは異なる演算式によってEθ[n]を演算するようにしている。この実施形態では、Eθ基本演算式(35)よりも簡単にEθ[n]を演算できる場合とは、S[n]=0の場合またはS[n]=0の場合である。
この実施形態では、Eθ[n]を演算するための演算式として、Eθ基本演算式(35)を含めて10種類の演算式が用意されている。表2は、10種類の演算式と、その演算式が適用される条件とを示している。なお、Eθ[n]を演算する際には、表2の上から順番にその条件を満たしているか否かが判別され、条件を満たしたと判別されるとそれ以降の条件判別は行われず、当該条件に対応する演算式により、Eθ[n]が演算される。
Figure 2014219364
表2の上から1番目の演算式は、Eθ基本演算式(35)である。Eθ基本演算式(35)は、S[n]およびS[n]のいずれもが零でなく、かつEθ基本演算式(35)に含まれている分数のいずれの分母も零でないという条件を満たしている場合に、適用される。Eθ基本演算式(35)に含まれている分数のいずれの分母も零でないという条件は、p−p≠0でかつ、p +p+p ≠0でかつ、S[n-1]≠0でかつS[n-1]≠0である場合に満たされる。なお、S[n-1]はpの分母であり、S[n-1]はpの分母である。
ただし、p +p+p =0が成立するのは、p=p=0の場合だけであるが、第1磁気センサ71と第3磁気センサ73とは位相が120度ずれているため、両磁気センサ71,73のセンサ値S,Sが同時に零になることはない。このため、p +p+p =0が成立することはない。したがって、Eθ基本演算式(35)に含まれている分数のいずれの分母も零でないという条件は、p−p≠0でかつ、S[n-1]≠0でかつS[n-1]≠0である場合に満たされる。
表2の上から2番目の演算式は、p−p=0である場合に適用される演算式である。p−p=0が成立する場合について検討する。この場合には、p=pであるから、次式(38)が成立する。
Figure 2014219364
これを変形すると、次式(39)が得られる。
Figure 2014219364
前記式(39)が成立する場合とは、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]として用いられる。
表2の上から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となる。
Eθ[n-1]=0である場合には、前記式(34d),(34e)は、それぞれ次式(40d),(40e)で表される。
[n]=Asin(Eθ[n]+120) …(40d)
[n-1]=Asin120=√3/2・A …(40e)
前記式(40e)から、次式(41)が得られる。
=(2/√3)・S[n-1] …(41)
前記式(41)を前記式(40d)に代入すると、次式(42)が得られる。
sin(Eθ[n]+120)=(√3/2)・(S[n]/S[n-1]) …(42)
したがって、Eθ[n]は、次式(43)により演算することができる。
Figure 2014219364
つまり、表2の上から3番目に示すように、S[n]およびS[n]のいずれもが零でなく、かつpの分母S[n-1]が零でなく、かつpの分母S[n-1]が零であり、かつS[n-1]>0であるという条件を満たした場合には、前記式(43)で表される演算式に基づいてEθ[n]が演算される。
一方、Eθ[n-1]=180である場合には、前記式(34d),(34e)は、それぞれ次式(44d),(44e)で表される。
[n]=Asin(Eθ[n]+120) …(44d)
[n-1]=Asin300=−√3/2・ A …(44e)
前記式(44e)から、次式(45)が得られる。
=(−2/√3)・S3[n-1] …(45)
前記式(45)を前記式(44d)に代入すると、次式(46)が得られる。
sin(Eθ[n]+120)=(−√3/2)・(S[n]/S[n-1]) …(46)
したがって、Eθ[n]は、次式(47)により演算することができる。
Figure 2014219364
つまり、表2の上から4番目に示すように、S[n]およびS[n]のいずれもが零でなく、かつpの分母S[n-1]が零でなく、かつpの分母S[n-1]が零であり、かつS[n-1]<0であるという条件を満たした場合には、前記式(47)で表される演算式に基づいてEθ[n]が演算される。
表2の上から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となる。
つまり、表2の上から5番目に示すように、S[n]が零でなく、かつpの分母S[n-1]が零でなく、かつS[n]=0であり、かつS[n]>0であるという条件を満たした場合には、Eθ[n]は60度として演算される。また、表2の上から6番目に示すように、S[n]が零でなく、かつpの分母S[n-1]が零でなく、かつS[n]=0であり、かつS[n]<0であるという条件を満たした場合には、Eθ[n]は−120度として演算される。
表2の上から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となる。
Eθ[n-1]=60である場合には、前記式(34a),(34b)は、それぞれ次式 (48a),(48b)で表される。
[n]=AsinEθ[n] …(48a)
[n-1]=Asin60=√3/2・ A…(48b)
前記式(48b)から、次式(49)が得られる。
=(2/√3)・S[n-1] …(49)
前記式(49)を前記式(48a)に代入すると、次式(50)が得られる。
sinEθ[n]=(√3/2)・(S[n]/S[n-1]) …(50)
したがって、Eθ[n]は、次式(51)により演算することができる。
Figure 2014219364
つまり、表2の上から7番目に示すように、S[n]が零でなく、かつpの分母S[n-1]が零であり、かつS[n-1]>0であるという条件を満たした場合には、前記式(51)で表される演算式に基づいてEθ[n]が演算される。
一方、Eθ[n-1]=−120である場合には、前記式 (34a),(34b)は、それぞれ次式 (52a),(52b)で表される。
[n]=AsinEθ[n] …(52a)
[n-1]=Asin(−120)=−√3/2・ A …(52b)
前記式(52b)から、次式(53)が得られる。
=(−2/√3)・S[n-1] …(53)
前記式(53)を前記式(52a)に代入すると、次式(54)が得られる。
sinEθ[n]=(−√3/2)・(S[n]/S[n-1]) …(54)
したがって、Eθ[n]は、次式(55)により演算することができる。
Figure 2014219364
つまり、表2の上から8番目に示すように、S[n]が零でなく、かつpの分母S[n-1]が零であり、かつS[n-1]<0であるという条件を満たした場合には、前記式(55)で表される演算式に基づいてEθ[n]が演算される。
表2の上から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となる。
つまり、表2の上から9番目に示すように、S[n]が零であり、かつS[n]>0であるという条件を満たした場合には、Eθ[n]は0度として演算される。また、表2の上から10番目に示すように、S[n]が零であり、かつS[n]<0であるという条件を満たした場合には、Eθ[n]は180度として演算される。
Eθ[n]が演算されると、前記式(34a)に基づいて振幅Aを演算することができるとともに、前記式(34d)に基づいて振幅Aを演算することができる。つまり、第3演算モードによって、E,θ[n],A1,を演算することができる。
第1演算モード、第2演算モードまたは第3演算モードでは、3つの磁気センサ71,72,73のうちの2つの磁気センサにおける3サンプリング分の出力信号に基づいて入力軸8の回転角θ[n]を演算しているので、精度の高い回転角を演算することが可能となる。また、第1〜第3演算モードでは、入力軸8の回転角θ[n]の演算に用いられる数式の数が、これらの数式に含まれている本来の未知数の数より少なくても、入力軸8の回転角θ[n]を演算することができるので、入力軸8の回転角θ[n]を演算するために必要なセンサ値の数を少なくすることが可能となる。
第1〜第3演算モードでは、3サンプリング間での同じ磁気センサの出力信号の振幅が互いに等しいとみなしている。3サンプリング間での同じ磁気センサの出力信号の振幅は、温度変化の影響によって異なる値となる可能性がある。しかしながら、サンプリング間隔が小さい場合には、3サンプリング間の温度変化は非常に小さいので、3サンプリング間での同じ磁気センサの出力信号の振幅は等しいとみなすことができる。したがって、第1〜第3演算モードでは、3サンプリング間での温度変化の影響による振幅のばらつきを補償することができる。また、第1〜第3演算モードでは、回転角の演算に用いられている2つの磁気センサ間の振幅は、別々の未知数として扱っているので、それらの2つの磁気センサ間の温度特性のばらつきの影響を補償することができる。これにより、精度の高い回転角を検出することができる。
また、第1〜第3演算モードでは、磁石61の各磁極M1〜M8の角度幅(ピッチ幅)のばらつきを高い精度で補償できるので、誤差のより小さい回転角を検出することが可能となる。
[4]第4演算モード
第4演算モードは、第1磁気センサ71が検出している磁極に対応する角度幅誤差補正値Eおよび第1出力信号Sの振幅Aが第1演算モードまたは第3演算モードによって既に演算されてメモリに記憶されている場合に適用される可能性がある演算モードである。第4演算モードでは、主として第1磁気センサ71の出力信号Sに基づいて回転角θが演算される。
たとえば、図8Aに示すように、磁石61(入力軸8)が矢印で示す方向に回転している場合において、第1および第2磁気センサ71,72が同じ磁極(この例ではM1)を検出している状態から、第2磁気センサ72の検出している磁極が変化した場合を想定する。変化直後の状態においては第2磁気センサ72および第3磁気センサ73が共に同じ1つの磁極を3サンプリング周期(3演算周期)連続して検出していないため、第2演算モードを適用できない。このような場合等には、第4演算モードが適用される可能性がある。
角度幅誤差補正値Eと今演算周期の番号nを用いると、今演算周期においてサンプリングされた第1磁気センサ71の出力信号Sは、次式(56)で表される。
[n]=A[n]sin(Eθ[n]) …(56)
は、第1磁気センサ71が検出している磁極に対応する角度幅誤差補正値である。
前記式(56)から回転角θ[n]は、次式(57)で表される。
θ[n]=(1/E)sin−1(S[n]/A) …(57)
第1磁気センサ71が検出している磁極に対応するEおよびAがメモリに記憶されているとすると、それらを前記式(57)に代入することにより、θ[n]を演算することができる。ただし、式(57)によって回転角θ[n]を演算する場合には、2つの回転角θ[n]が演算されるので、いずれの回転角が実際の回転角であるかを判定する必要がある。この判定方法について、図9を参照して説明する。図9には、第1出力信号S、第2出力信号Sおよび第3出力信号Sの1周期分の波形が示されている。図9の横軸の回転角[deg]は、電気角を表している。
図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つの回転角となる。
この実施形態では、第1磁気センサ71以外の2つの磁気センサ72,73の出力信号S,Sのいずれか一方に基づいて、前記式(57)によって演算される2つの回転角のうちのいずれが実際の回転角であるかが判定される。なお、第2磁気センサ72および第3磁気センサ73のうちのいずれか一方が故障している場合には、正常である一方の磁気センサの出力信号に基づいて、前記判定が行われる。
まず、第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)としてもよい。
第2出力信号S[n]がa以上のときに取り得る入力軸8の回転角θ[n]は、0度〜90度の範囲および330度〜360度の範囲である。第2出力信号S[n]が−a未満のときに取り得る入力軸8の回転角θ[n]は、150度〜270度の範囲である。第2出力信号S[n]が−a以上a未満のときに取り得る入力軸8の回転角θ[n]は、90度〜150度の範囲および270度〜330度の範囲である。
したがって、前記式(57)によって演算された2つの回転角のうち、いずれの回転角が実際の回転角であるかを、第2出力信号S[n]に基づいて判定することができる。具体的には、第1出力信号S[n]が正の値である場合には、第2出力信号S[n]がa以上であれば、前記式(57)によって演算された2つの回転角のうち領域R1内の回転角が実際の回転角であると判定される。一方、第2出力信号S[n]がa未満であれば、前記式(57)によって演算された2つの回転角のうち領域R2内の回転角が実際の回転角であると判定される。
第1出力信号S[n]が負の値である場合には、第2出力信号S[n]が−a未満であれば、前記式(57)によって演算された2つの回転角のうち領域U1内の回転角が実際の回転角であると判定される。一方、第2出力信号S[n]が−a以上であれば、前記式(57)によって演算された2つの回転角のうち領域U2内の回転角が実際の回転角であると判定される。
次に、第3出力信号S[n]に基づいて、前記判定が行われる場合について説明する。第3出力信号Sの振幅Aの1/2を閾値a(a>0)とする。この閾値aは、たとえば、メモリに記憶されている第3出力信号Sの振幅Aであって、第1磁気センサ71が検出している磁極に対応する振幅Aに基づいて求めることができる。なお、第1出力信号Sの振幅Aの1/2を閾値a(a>0)としてもよい。
第1出力信号S[n]が正の値である場合には、第3出力信号S[n]が−a以上であれば、前記式(57)によって演算された2つの回転角のうち領域R1内の回転角が実際の回転角であると判定される。一方、第3出力信号S[n]が−a未満であれば、前記式(57)によって演算された2つの回転角のうち領域R2内の回転角が実際の回転角であると判定される。
第1出力信号S[n]が負の値である場合には、第3出力信号S[n]がa未満であれば、前記式(57)によって演算された2つの回転角のうち領域U1内の回転角が実際の回転角であると判定される。一方、第3出力信号S[n]がa以上であれば、前記式(57)によって演算された2つの回転角のうち領域U2内の回転角が実際の回転角であると判定される。
[5]第5演算モード
第5演算モードは、第2磁気センサ72が検出している磁極に対応する角度幅誤差補正値Eおよび第2出力信号Sの振幅Aが第1演算モードまたは第2演算モードによって既に演算されてメモリに記憶されている場合に適用される可能性がある演算モードである。第5演算モードでは、主として第2磁気センサ72の出力信号Sに基づいて回転角θが演算される。
たとえば、図8Bに示すように、磁石61(入力軸8)が矢印で示す方向に回転している場合において、第1、第2および第3磁気センサ71,72,73が同じ磁極(この例ではM1)を検出している状態から、第1磁気センサ71が検出している磁極が変化した場合を想定する。第3磁気センサが故障している場合には、変化後の状態において、第2演算モードを適用することはできない。このような場合等に、第5演算モードが適用される可能性がある。
角度幅誤差補正値Eと今演算周期の番号nを用いると、今演算周期においてサンプリングされた第2磁気センサ72の出力信号Sは、次式 (58)で表される。
[n]=A[n]sin(Eθ[n]+60) …(58)
は、第2磁気センサ72が検出している磁極に対応する角度幅誤差補正値である。
前記式(58)から回転角θ[n]は、次式(59)で表される。
θ[n]=(1/E){sin−1(S[n]/A)−60} …(59)
第2磁気センサ72が検出している磁極に対応するEおよびAがメモリに記憶されているとすると、それらを、前記式(59)に代入することにより、θ[n]を演算することができる。
前記式(59)によって回転角θ[n]を演算すると、2つの回転角θ[n]が演算される。そこで、第2磁気センサ72以外の2つの磁気センサ71,73の出力信号S,Sのいずれか一方に基づいて、前記式(59)によって演算された2つの回転角θ[n]のうちのいずれが実際の回転角であるかを判定する。なお、第1磁気センサ71および第3磁気センサ73のうちのいずれか一方が故障している場合には、正常である一方の磁気センサの出力信号に基づいて、前記判定が行われる。
まず、第1出力信号S[n]に基づいて、前記判定が行われる場合について説明する。メモリに記憶されている第1出力信号Sの振幅Aの1/2または第2出力信号Sの振幅Aの1/2を閾値a(a>0)とする。
第2出力信号S[n]が正の値である場合には、第1出力信号S[n]がa未満であれば、前記式(59)によって演算された2つの回転角のうち0度〜30度または300度〜360度の領域内の回転角が実際の回転角であると判定される。一方、第1出力信号S[n]がa以上であれば、前記式(59)によって演算された2つの回転角のうち30度〜120度の領域内の回転角が実際の回転角であると判定される。
第2出力信号S[n]が負の値である場合には、第1出力信号S[n]が−a以上であれば、前記式(59)によって演算された2つの回転角のうち120度〜210度の領域内の回転角が実際の回転角であると判定される。一方、第1出力信号S[n]が−a未満であれば、前記式(59)によって演算された2つの回転角のうち210度〜300度の領域内の回転角が実際の回転角であると判定される。
次に、第3出力信号S[n]に基づいて、前記判定が行われる場合について説明する。メモリに記憶されている第3出力信号Sの振幅Aの1/2または第2出力信号Sの振幅Aの1/2を閾値a(a>0)とする。
第2出力信号S[n]が正の値である場合には、第3出力信号S[n]がa以上であれば、前記式(59)によって演算された2つの回転角のうち0度〜30度または300度〜360度の領域内の回転角が実際の回転角であると判定される。一方、第3出力信号S[n]がa未満であれば、前記式(59)によって演算された2つの回転角のうち30度〜120度の領域内の回転角が実際の回転角であると判定される。
第2出力信号S[n]が負の値である場合には、第3出力信号S[n]が−a未満であれば、前記式(59)によって演算された2つの回転角のうち120度〜210度の領域内の回転角が実際の回転角であると判定される。一方、第3出力信号S[n]が−a以上であれば、前記式(59)によって演算された2つの回転角のうち210度〜300度の領域内の回転角が実際の回転角であると判定される。
[6]第6演算モード
第6演算モードは、第3磁気センサ73が検出している磁極に対応する角度幅誤差補正値Eおよび第3出力信号Sの振幅Aが第2演算モードまたは第3演算モードによって既に演算されてメモリに記憶されている場合に適用される可能性がある演算モードである。第6演算モードでは、主として第3磁気センサ73の出力信号Sに基づいて回転角θが演算される。
たとえば、図8Cに示すように、磁石61(入力軸8)が矢印で示す方向に回転している場合において、第2および第3磁気センサ72,73が同じ磁極(この例ではM2)を検出している状態から、第2磁気センサ72が検出している磁極が変化した場合を想定する。変化直後の状態においては第1磁気センサ71および第2磁気センサ73が共に同じ1つの磁極を3サンプリング周期(3演算周期)連続して検出していないため、第1演算モードを適用できない。このような場合等には、第6演算モードが適用される可能性がある。
また、前述の図8Bに示すように、磁石61が矢印で示す方向に回転している場合において、第1、第2および第3磁気センサ71,72,73が同じ磁極(この例ではM1)を検出している状態から、第1磁気センサ71が検出している磁極が変化した場合において、第2磁気センサ72が故障している場合にも、第6演算モードが適用される可能性がある。
角度幅誤差補正値Eと今演算周期の番号nを用いると、今演算周期においてサンプリングされた第3磁気センサ73の出力信号Sは、次式 (60)で表される。
[n]=A[n]sin(Eθ[n]+120) …(60)
は、第3磁気センサ73が検出している磁極に対応する角度幅誤差補正値である。
前記式(60)から回転角θ[n]は、次式(61)で表される。
θ[n]=(1/E){sin−1(S[n]/A)−120} …(61)
第3磁気センサ73が検出している磁極に対応するEおよびAがメモリに記憶されているとすると、これらを、前記式(61)に代入することにより、θ[n]を演算することができる。
前記式(61)によって回転角θ[n]を演算すると、2つの回転角θ[n]が演算される。そこで、第3磁気センサ73以外の2つの磁気センサ71,72の出力信号S,Sのいずれか一方に基づいて、前記式(61)によって演算された2つの回転角θ[n]のうちのいずれが実際の回転角であるかを判定する。なお、第1磁気センサ71および第2磁気センサ72のうちのいずれか一方が故障している場合には、正常である一方の磁気センサの出力信号に基づいて、前記判定が行われる。
まず、第2出力信号S[n]に基づいて、前記判定が行われる場合について説明する。メモリに記憶されている第2出力信号Sの振幅Aの1/2または第3出力信号Sの振幅Aの1/2を閾値a(a>0)とする。
第3出力信号S[n]が正の値である場合には、第2出力信号S[n]がa未満であれば、前記式(61)によって演算された2つの回転角のうち240度〜330度の領域内の回転角が実際の回転角であると判定される。一方、第2出力信号S[n]がa以上であれば、前記式(61)によって演算された2つの回転角のうち330度〜360度または0度〜60度の領域内の回転角が実際の回転角であると判定される。
第3出力信号S[n]が負の値である場合には、第2出力信号S[n]が−a以上であれば、前記式(61)によって演算された2つの回転角のうち60度〜150度の領域内の回転角が実際の回転角であると判定される。一方、第2出力信号S[n]が−a未満であれば、前記式(61)によって演算された2つの回転角のうち150度〜240度の領域内の回転角が実際の回転角であると判定される。
次に、第1出力信号S[n]に基づいて、前記判定が行われる場合について説明する。メモリに記憶されている第1出力信号Sの振幅A1の1/2または第3出力信号Sの振幅Aの1/2を閾値a(a>0)とする。
第3出力信号S[n]が正の値である場合には、第1出力信号S[n]が−a未満であれば、前記式(61)によって演算された2つの回転角のうち240度〜330度の領域内の回転角が実際の回転角であると判定される。一方、第1出力信号S[n]が−a以上であれば、前記式(61)によって演算された2つの回転角のうち330度〜360度または0度〜60度の領域内の回転角が実際の回転角であると判定される。
第3出力信号S[n]が負の値である場合には、第1出力信号S[n]がa以上であれば、前記式(61)によって演算された2つの回転角のうち60度〜150度の領域内の回転角が実際の回転角であると判定される。一方、第1出力信号S[n]がa未満であれば、前記式(61)によって演算された2つの回転角のうち150度〜240度の領域内の回転角が実際の回転角であると判定される。
[7]第7演算モード
第7演算モードは、第2磁気センサ72が故障しており、かつ第3演算モード、第4演算算モードおよび第6演算モードのいずれもが適用できない場合に、適用される演算モードである。第7演算モードでは、第3演算モードと同じ演算式(35),(36),(37)を用いて回転角θ[n]が演算される。つまり、第7演算モードでは、第1および第3磁気センサ71,73が共に同じ1つの磁極を3サンプリング周期(3演算周期)連続して検出しているという条件を満たしていないにもかかわらず、第3演算モードと同じ演算式を用いて回転角θ[n]が演算される。
図10は、第1の回転角演算部77Aの動作を示すフローチャートである。
トルク演算用ECU77の電源がオンすると、第1の回転角演算部77Aは、各磁気センサ71,72,73が故障しているか否かを判定するため故障判定処理を行う(ステップS1)。この処理の詳細については後述する。
ステップS1の故障判定処理において、3つの磁気センサ71,72,73の全てが故障していないと判定された場合または1個の磁気センサのみが故障していると判定された場合には、第1の回転角演算部77Aは、ステップS2に移行する。
ステップS2では、第1の回転角演算部77Aは、強制回転フラグFAKの値が1であるか否かを判別する。強制回転フラグFAKは、トルク演算用ECU77の電源がオンされたにおいて、後述するステップS3の強制回転に基づく回転角演算処理が行われたことを記憶するためのフラグである。強制回転フラグFAKの初期値は0であり、強制回転に基づく回転角演算処理が行われたときには強制回転フラグFAKの値が1に設定される。
強制回転フラグFAKの値が0である場合には(ステップS2:NO)、第1の回転角演算部77Aは、強制回転に基づく回転角演算処理を行う(ステップS3)。この処理は、電動モータ18を一時的に強制回転させることにより、入力軸8(出力軸9)を回転させ、入力軸8の回転角θを演算する処理である。この処理の詳細については後述する。
前述した第1演算モード、第2演算モードまたは第3演算モードでは、前回のサンプリング時点と今回のサンプリング時点とにおいて、回転角θ[n]の演算に用いられる2つの磁気センサの出力信号が変化していない場合には、前回演算されたEθ[n](またはEΘ[n])、Eおよびθ[n]が、今回のEθ[n](またはEΘ[n])、Eおよびθ[n]として用いられる(表1および表2の上から2番目の演算式を参照)。しかしながら、イグニッションキーがオン操作されることによって、トルク演算用ECU77の電源がオンされた時点では、前回演算されたEθ[n](またはEΘ[n])、Eおよびθ[n]は存在しない。このため、トルク演算用ECU77の電源がオンされた後に、回転角θ[n]の演算に用いられる2つの磁気センサの出力信号が変化していない場合には、第1、第2または第3演算モードによって回転角θ[n]を演算できなくなる。そこで、Eθ[n](またはEΘ[n])、Eおよびθ[n]の前回値を作成するために、強制回転に基づく回転角演算処理を行っている。
強制回転に基づく回転角演算処理が終了すると、第1の回転角演算部77Aは、強制回転フラグFAKの値を1に設定した後(ステップS4)、ステップS6に移行する。
ステップS6では、第1の回転角演算部77Aは、イグニッションオフ指令が入力されたか否かを判別する。イグニッションオフ指令が入力されていなれば(ステップS6:NO)、第1の回転角演算部77Aは、ステップS1に戻る。
前記ステップS2において、強制回転フラグFAKの値が1であると判別された場合には(ステップS2:YES)、第1の回転角演算部77Aは、通常時の回転角演算処理を行う(ステップS5)。この処理の詳細については後述する。
通常時の回転角演算処理によって回転角が演算されると、第1の回転角演算部77Aは、ステツプS6に移行し、イグニッションオフ指令が入力されたか否かを判別する。イグニッションオフ指令が入力されていなれば(ステップS6:NO)、第1の回転角演算部77Aは、ステップS1に戻る。
ステップS6で、イグニッションオフ指令が入力されたと判別された場合には(ステップS6:YES)、第1の回転角演算部77Aは回転角演算処理を終了する。
図11は、図10のステップS1の故障判定処理の手順を示すフローチャートである。
まず、第1の回転角演算部77Aは、各磁気センサ71,72,73のセンサ値S[n],S[n],S[n]を取得する(ステップS11)。トルク演算用ECU77内のメモリには、所定回数前に取得されたセンサ値から最新に取得されたセンサ値までの複数回分(3回以上)のセンサ値が記憶されるようになっている。
そして、第1の回転角演算部77Aは、取得したセンサ値S[n],S[n],S[n]に基づいて、第1磁気センサ71、第2磁気センサ72および第3磁気センサ73が故障しているか否かを判定する(ステップS12,S14,S16)。磁気センサが故障した場合には、その出力信号が所定値に固定される。そこで、たとえば、第2および第3磁気センサ72,73のセンサ値が変化しているにもかかわらず、第1磁気センサ71のセンサ値が変化しないような状態が継続した場合には、第1磁気センサ71が故障している判定される。
第1磁気センサが故障していると判定された場合には(ステップS12:YES)、第1の回転角演算部77Aは、第1センサ故障フラグFA1の値を1に設定する(ステップS13)。第1センサ故障フラグFA1の初期値は0である。
第2磁気センサが故障していると判定された場合には(ステップS14:YES)、第1の回転角演算部77Aは、第2センサ故障フラグFA2の値を1に設定する(ステップS15)。第2センサ故障フラグFA2の初期値は0である。
第3磁気センサが故障していると判定された場合には(ステップS16:YES)、第1の回転角演算部77Aは、第3センサ故障フラグFA3の値を1に設定する(ステップS17)。
このようにして、各磁気センサ71,72,73についての故障判定が終了すると、第1の回転角演算部77Aは、2以上の磁気センサが故障しているか否かを判別する(ステップS18)。2以上の磁気センサが故障している場合には(ステップS18:YES)、第1の回転角演算部77Aは、異常処理を行う(ステップS19)。つまり、第1の回転角演算部77Aは、回転角演算処理を停止するとともに、モータ制御用ECU12に、電動モータ18の制御を停止させるための指令を送信する。これにより、電動モータ18は、駆動されなくなる。
2以上の磁気センサが故障していない場合には(ステップS18:NO)、つまり、全ての磁気センサ71,72,73が正常であるか、または1つの磁気センサのみが故障している場合には、第1の回転角演算部77Aは、図10のステップS2に移行する。
図12A、図12Bおよび図12Cは、図10のステップS3の強制回転に基づく回転角演算処理の手順を示すフローチャートである。
強制回転に基づく回転角演算処理開始時において、正常な任意の1つの磁気センサが検出している磁極を基準磁極として、各磁極に相対的な番号を割り当てた場合の各磁極の番号を相対的極番号と定義する。第1磁気センサ71が検出している磁極の相対的極番号(以下、「第1相対的極番号」という)を変数r1で表し、第2磁気センサ72が検出している磁極の相対的極番号(以下、「第2相対的極番号」という)を変数r2で表し、第3磁気センサ73が検出している磁極の相対的極番号(以下、「第3相対的極番号」という)を変数r3で表すことにする。なお、各相対的極番号r1,r2,r3は、1〜8の整数をとり、1より1少ない相対的極番号は8となり、8より1大きい相対的極番号は1となるものとする。
トルク演算用ECU77内のメモリには、図13に示すように、e1〜e4で示すエリア等が設けられている。エリアe1には、1〜8の相対的磁極番号毎に角度幅誤差補正値Eの値が記憶される。エリアe2には、1〜8の相対的磁極番号毎に第1出力信号Sの振幅Aが記憶される。エリアe3には、1〜8の相対的磁極番号毎に第2出力信号Sの振幅Aが記憶される。エリアe4には、1〜8の相対的磁極番号毎に第3出力信号Sの振幅Aが記憶される。
図12Aに戻り、強制回転に基づく回転角演算処理では、短時間ではあるがステアリングホイール2が回転駆動される。このため、運転者は何らかの故障が発生したと誤解するおそれがある。そこで、第1の回転角演算部77Aは、運転者への警告を行う(ステップS21)。具体的には、第1の回転角演算部77Aは、車内に設けられた表示装置(図示略)、音声出力装置(図示略)等を制御するための映像音声制御装置(図示略)に、警告出力指令を送信する。映像音声制御装置は、この警告出力指令を受信すると、「ステアリングホイールが強制的に回転しますが故障ではありません」等のメッセージを表示装置に表示したり、音声出力装置によって音声出力したりする。
次に、第1の回転角演算部77Aは、第1方向に電動モータ18を回転駆動させる(ステップS22)。具体的には、第1の回転角演算部77Aは、第1方向に電動モータ18を回転駆動させるための第1強制回転指令をモータ制御用ECU12に送信する。モータ制御用ECU12は、この第1強制回転指令を受信すると、第1方向に電動モータ18を回転駆動させる。
第1の回転角演算部77Aは、各磁気センサ71,72,73のセンサ値S[n],S[n],S[n]を取得する(ステップS23)。ステップS23の処理は、後述するステップS30、ステップS32またはステップS34でYESと判定されるまで、所定の演算周期毎に繰り返し実行される。トルク演算用ECU77内のメモリには、所定回数前に取得されたセンサ値から最新に取得されたセンサ値までの複数回分(3回以上)のセンサ値が記憶されるようになっている。
第1の回転角演算部77Aは、今回の処理が強制回転に基づく回転角演算処理開始後の初回の処理であるか否かを判別する(ステップS24)。今回の処理が強制回転に基づく回転角演算処理開始後の初回の処理である場合には(ステップS24:YES)、第1の回転角演算部77Aは、相対的極番号の設定処理を行う(ステップS25)。
図14は、相対的極番号の設定処理の詳細な手順を示すフローチャートである。
ここでは、全ての磁気センサ71,72,73が正常であり、第1磁気センサ71が検出している磁極を基準磁極として各磁極に相対的な番号を割り当てた場合の各磁極の番号を相対的極番号と定義した場合を例にとって説明する。
第1の回転角演算部77Aは、まず、第1出力信号Sが0より大きいか否かを判別する(ステップS61)。第1出力信号Sが0より大きい場合には(ステップS61:YES)、第1の回転角演算部77Aは、第1磁気センサ71が検出している磁極がN極の磁極であると判別し、第1相対的極番号r1を1に設定する(ステップS64)。そして、ステップS66に進む。
一方、第1出力信号Sが0以下である場合には(ステップS61:NO)、第1の回転角演算部77Aは、第1出力信号Sが0より小さいか否かを判別する(ステップS62)。第1出力信号Sが0より小さい場合には(ステップS62:YES)、第1の回転角演算部77Aは、第1磁気センサ71が検出している磁極がS極の磁極であると判別し、第1相対的極番号r1を2に設定する(ステップS65)。そして、ステップS66に進む。
前記ステップS62において、第1出力信号Sが0以上であると判別された場合には(ステップS62:NO)、つまり、第1出力信号Sが0である場合には、第1の回転角演算部77Aは、入力軸8の回転角が0°であるか180°であるかを判別するために、第2出力信号Sが0より大きいか否かを判別する(ステップS63)。第2出力信号Sが0より大きい場合には(ステップS63:YES)、第1の回転角演算部77Aは、入力軸8の回転角が0°であると判別し、第1相対的極番号r1を1に設定する(ステップS64)。そして、ステップS66に進む。
一方、第2出力信号Sが0以下である場合には(ステップS63:NO)、第1の回転角演算部77Aは、入力軸8の回転角が180°であると判別し、第1相対的極番号r1を2に設定する(ステップS65)。そして、ステップS66に進む。
ステップS66では、第1の回転角演算部77Aは、「S≧0かつS>0」または「S≦0かつS<0」の条件を満たしているか否かを判別する。この条件を満たしている場合には(ステップS66:YES)、第1の回転角演算部77Aは、第2磁気センサ72が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号と同じであると判別し、第2相対的極番号r2に第1相対的極番号r1と同じ番号(r2=r1)を設定する(ステップS67)。そして、ステップS69に進む。
一方、前記ステップS66の条件を満たしていない場合には(ステップS66:NO)、第1の回転角演算部77Aは、第2磁気センサ72が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号より1だけ大きい番号であると判別し、第2相対的極番号r2に、第1相対的極番号r1より1だけ大きい番号(r2=r1+1)を設定する(ステップS68)。そして、ステップS69に進む。
ステップS69では、第1の回転角演算部77Aは、「S≧0かつS>0」または「S≦0かつS<0」の条件を満たしているか否かを判別する。この条件を満たしている場合には(ステップS69:YES)、第1の回転角演算部77Aは、第3磁気センサ73が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号と同じであると判別し、第3相対的極番号r3に第1相対的極番号r1と同じ番号(r3=r1)を設定する(ステップS70)。そして、図12AのステップS28に移行する。
一方、前記ステップS69の条件を満たしていない場合には(ステップS69:NO)、第1の回転角演算部77Aは、第3磁気センサ73が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号より1だけ大きい番号であると判別し、第3相対的極番号r3に、第1相対的極番号r1より1だけ大きい番号(r3=r1+1)を設定する(ステップS71)。そして、図12AのステップS28に移行する。
前記ステップS66の条件に基づいて第2相対的極番号r2を決定している理由および前記ステップS69の条件に基づいて第3相対的極番号r3を決定している理由について説明する。たとえば、磁石61における磁極M1と磁極M2とからなる磁極対が第1磁気センサ71を通過する際の、第1、第2および第3出力信号S,S,Sの信号波形を模式的に表すと、図15の(a),(b),(c)のようになる。
図15において、Q1,Q2,Q4およびQ5で示す領域においては、第2磁気センサ72が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号と同じである。一方、Q3およびQ6で示す領域においては、第2磁気センサ72が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号より1だけ大きい。
領域Q1およびQ2においては、両センサ値S,Sは、S≧0かつS>0の第1条件を満たす。領域Q3においては、両センサ値S,Sは、S>0かつS≦0の第2条件を満たす。領域Q4およびQ5においては、両センサ値S,Sは、S≦0かつS<0の第3条件を満たす。領域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だけ大きいと判別している。
図15において、Q1およびQ4で示す領域においては、第3磁気センサ73が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号と同じである。一方、Q2,Q3,Q5およびQ6で示す領域においては、第3磁気センサ73が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号より1だけ大きい。
領域Q1においては、両センサ値S,Sは、S≧0かつS>0の第5条件を満たす。領域Q2およびQ3においては、両センサ値S,Sは、S>0かつS≦0の第6条件を満たす。領域Q4においては、両センサ値S,Sは、S≦0かつS<0の第7条件を満たす。領域Q5およびQ6においては、両センサ値S,Sは、S<0かつS≧0の第8条件を満たす。そこで、第1の回転角演算部77Aは、第5条件および第7条件の一方を満たしているときには、第3磁気センサ73が検出している磁極の極番号が、第1磁気センサ71が検出している磁極の極番号と同じであると判別している。一方、第5条件および第7条件のいずれの条件をも満たしていないときには、第1の回転角演算部77Aは、第3磁気センサ73が検出している磁極の極番号が、第1磁気センサ71が検出している磁極の極番号より1だけ大きいと判別している。
図12Aに戻り、前記ステップS24において、今回の処理が強制回転に基づく回転角演算処理開始後の初回の処理ではないと判別された場合には(ステップS24:NO)、ステップS26に移行する。
ステップS26では、第1の回転角演算部77Aは、メモリに記憶されているセンサ値S,S,Sに基づいて、センサ値S,S,S毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する。ゼロクロスが検出されなかったときには(ステップS26:NO)、第1の回転角演算部77Aは、ステップS28に移行する。
前記ステップS26において、いずれかのセンサ値S,S,Sに対してゼロクロスが検出された場合には(ステップS26:YES)、第1の回転角演算部77Aは、相対的極番号の更新処理を行なう(ステップS27)。具体的には、第1の回転角演算部77Aは、前記ステップS26でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1,r2またはr3を、入力軸8(磁石61)の回転方向に応じて、1だけ大きい番号または1だけ小さい番号に変更する。
入力軸8の回転方向が正方向(図6に矢印で示す方向)である場合には、第1の回転角演算部77Aは、前記ステップS26でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1,r2またはr3を、1だけ大きい番号に更新する。一方、入力軸8の回転方向が逆方向である場合には、第1の回転角演算部77Aは、ゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1,r2またはr3を、1だけ小さい番号に更新する。ただし、前述したように、”1”の相対的極番号に対して、1だけ小さい相対的極番号は、”8”となる。また、”8”の相対的極番号に対して、1だけ大きい相対的極番号は、”1”となる。
なお、入力軸8の回転方向は、例えば、ゼロクロスが検出された出力信号の前回値および今回値と、他の出力信号の今回値とに基づいて判定することができる。具体的には、ゼロクロスが検出された出力信号が第1出力信号Sである場合には、「第1出力信号Sの前回値が0より大きくかつその今回値が0以下であり、第2出力信号Sが0より小さい(第3出力信号Sが0より小さい)」という条件、または「第1出力信号Sの前回値が0未満でかつその今回値が0以上であり、第2出力信号Sが0より大きい(第3出力信号Sが0より大きい)」という条件を満たしている場合には、回転方向は正方向(図6に矢印で示す方向)であると判定される。
一方、「第1出力信号Sの前回値が0以上でかつその今回値が0未満であり、第2出力信号Sが0より大きい(第3出力信号Sが0より大きい)」という条件、または「第1出力信号Sの前回値が0以下でかつその今回値が0より大きく、第2出力信号Sが0より小さい(第3出力信号Sが0より小さい)」という条件を満たしている場合には、回転方向は逆方向であると判定される。
ゼロクロスが検出された出力信号が第2出力信号Sである場合には、「第2出力信号Sの前回値が0より大きくかつその今回値が0以下であり、第1出力信号Sが0より大きい(第3出力信号Sが0より小さい)」という条件、または「第2出力信号Sの前回値が0未満でかつその今回値が0以上であり、第1出力信号Sが0より小さい(第3出力信号Sが0より大きい)」という条件を満たしている場合には、回転方向は正方向(図6に矢印で示す方向)であると判定される。一方、「第2出力信号Sの前回値が0以上でかつその今回値が0未満であり、第1出力信号Sが0より小さい(第3出力信号Sが0より大きい)」という条件、または「第2出力信号Sの前回値が0以下でかつその今回値が0より大きく、第1出力信号Sが0より大きい(第3出力信号Sが0より小さい)」という条件を満たしている場合には、回転方向は逆方向であると判定される。
ゼロクロスが検出された出力信号が第3出力信号Sである場合には、「第3出力信号Sの前回値が0より大きくかつその今回値が0以下であり、第2出力信号Sが0より大きい(第1出力信号Sが0より大きい)」という条件、または「第3出力信号Sの前回値が0未満でかつその今回値が0以上であり、第2出力信号Sが0より小さい(第1出力信号Sが0より小さい)」という条件を満たしている場合には、回転方向は正方向(図6に矢印で示す方向)であると判定される。
一方、「第3出力信号Sの前回値が0以上でかつその今回値が0未満であり、第2出力信号Sが0より小さい(第1出力信号Sが0より小さい)」という条件、または「第3出力信号Sの前回値が0以下でかつその今回値が0より大きく、第2出力信号Sが0より大きい(第1出力信号Sが0より大きい)」という条件を満たしている場合には、回転方向は逆方向であると判定される。
相対的極番号の更新処理が終了すると、第1の回転角演算部77Aは、ステップS28に移行する。ステップS28では、第1の回転角演算部77Aは、第2センサ故障フラグFA2の値が0であるか否かを判別する。第2センサ故障フラグFA2の値が0である場合には(ステップS28:YES)、つまり、第2磁気センサ72が故障していない場合には、第1の回転角演算部77Aは、図12BのステップS31に移行する。
ステップS31では、第1の回転角演算部77Aは、第1および第2磁気センサ71,72が正常でありかつそれらが共に同じ1つの磁極を3演算周期連続して検出しているという条件を満たしている否かを判別する。各演算周期において、第1および第2磁気センサ71,72が検出している磁極の相対的番号は、それぞれ第1相対的磁極番号r1および第2相対的磁極番号r2によって認識することができる。したがって、所定演算周期前から今演算周期までの複数演算周期分の各相対的磁極番号r1,r2をメモリに記憶することにより、3演算周期連続して第1および第2磁気センサ71,72がともに同じ1つの磁極を検出しているか否かを判別できる。
ステップS31の条件を満たしていない場合には(ステップS31:NO)、第1の回転角演算部77Aは、第2および第3磁気センサ72,73が正常でありかつそれらが共に同じ1つの磁極を3演算周期連続して検出しているという条件を満たしている否かを判別する(ステップS33)。各演算周期において、第2および第3磁気センサ72,73が検出している磁極の相対的番号は、それぞれ第2相対的磁極番号r2および第3相対的磁極番号r3によって認識することができる。したがって、所定演算周期前から今演算周期までの複数演算周期分の各相対的磁極番号r2,r3をメモリに記憶することにより、3演算周期連続して第2および第3磁気センサ72,73がともに同じ1つの磁極を検出しているか否かを判別できる。
ステップS33の条件を満たしていない場合には(ステップS33:NO)、第1の回転角演算部77Aは、図12AのステップS23に戻る。
前記ステップS31において、ステップS31の条件を満たしていると判別された場合には(ステップS31:YES)、第1の回転角演算部77Aは、第1演算モードで用いられるEθ基本演算式(7)およびE演算式(8)に含まれている分数のいずれの分母も零でないという条件を満たしているか否かを判別する(ステップS32)。ステップS32の条件を満たしていない場合には(ステップS32:NO)、第1の回転角演算部77Aは、図12AのステップS23に戻る。一方、ステップS32の条件を満たしている場合には(ステップS32:YES)、第1の回転角演算部77Aは、ステップS35に移行する。
前記ステップS33において、ステップS33の条件を満たしていると判別された場合には(ステップS33:YES)、第1の回転角演算部77Aは、第2演算モードで用いられるEΘ基本演算式(32)およびE演算式(33)に含まれている分数のいずれの分母も零でないという条件を満たしているか否かを判別する(ステップS34)。ステップS34の条件を満たしていない場合には(ステップS34:NO)、第1の回転角演算部77Aは、図12AのステップS23に戻る。一方、ステップS34の条件を満たしている場合には(ステップS34:YES)、第1の回転角演算部77Aは、ステップS35に移行する。
ステップS35では、第1の回転角演算部77Aは、第1方向とは反対方向である第2方向に電動モータ18を回転駆動させる。具体的には、第1の回転角演算部77Aは、第2方向に電動モータ18を回転駆動させるための第2強制回転指令をモータ制御用ECU12に送信する。モータ制御用ECU12は、この第2強制回転指令を受信すると、第2方向に電動モータ18を回転駆動させる。
この後、第1の回転角演算部77Aは、各磁気センサ71,72,73のセンサ値S[n],S[n],S[n]を取得する(ステップS36)。ステップS36の処理は、後述するステップS41、S45またはステップS49でYESと判定されるまで、所定の演算周期毎に繰り返し実行される。そして、第1の回転角演算部77Aは、メモリに記憶されているセンサ値S,S,Sに基づいて、センサ値S,S,S毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する(ステップS37)。ゼロクロスが検出されなかったときには(ステップS37:NO)、第1の回転角演算部77Aは、ステップS39に移行する。
前記ステップS37において、いずれかのセンサ値S,S,Sに対してゼロクロスが検出された場合には(ステップS37:YES)、第1の回転角演算部77Aは、相対的極番号の更新処理を行なう(ステップS38)。この相対的極番号の更新処理は、前述したステップS27(図12A参照)における相対的極番号の更新処理と同じである。ステップS38の相対的極番号の更新処理が終了すると、第1の回転角演算部77Aは、ステップS39に移行する。
ステップS39では、第1の回転角演算部77Aは、第2センサ故障フラグFA2の値が0であるか否かを判別する。第2センサ故障フラグFA2の値が0である場合には(ステップS39:YES)、つまり、第2磁気センサ72が故障していない場合には、第1の回転角演算部77Aは、図12CのステップS40に移行する。
ステップS40では、第1の回転角演算部77Aは、第1および第2磁気センサ71,72が正常でありかつそれらが共に同じ1つの磁極を3演算周期連続して検出しているという条件を満たしている否かを判別する。ステップS40の条件を満たしていない場合には(ステップS40:NO)、第1の回転角演算部77Aは、第2および第3磁気センサ72,73が正常でありかつそれらが共に同じ1つの磁極を3演算周期連続して検出しているという条件を満たしている否かを判別する(ステップS44)。ステップS44の条件を満たしていない場合には(ステップS44:NO)、第1の回転角演算部77Aは、図12BのステップS36に戻る。
前記ステップS40において、ステップS40の条件を満たしていると判別された場合には(ステップS40:YES)、第1の回転角演算部77Aは、第1演算モードで用いられるEθ基本演算式(7)およびE演算式(8)に含まれている分数のいずれの分母も零でないという条件を満たしているか否かを判別する(ステップS41)。ステップS41の条件を満たしていない場合には(ステップS41:NO)、第1の回転角演算部77Aは、図12BのステップS36に戻る。
ステップS41の条件を満たしていると判別された場合には(ステップS41:YES)、第1の回転角演算部77Aは、第1演算モードによってθ[n],E,A,Aを演算する(ステップS42)。そして、第1の回転角演算部77Aは、演算されたE、AおよびAを、第1および第2磁気センサ71,72が検出している磁極の相対的極番号に関連付けてメモリに記憶する(ステップS43)。第1および第2磁気センサ71,72が検出している磁極の相対的極番号は、現在設定されている第1相対的極番号r1または第2相対的極番号r2と同じ値となる。具体的には、第1の回転角演算部77Aは、メモリのエリアe1,e2,e3内の現在設定されている第1相対的極番号r1に対応する記憶場所に、演算されたE、AおよびAをそれぞれ記憶する。この後、第1の回転角演算部77Aは、ステップS52に進む。
前記ステップS44において、ステップS44の条件を満たしていると判別された場合には(ステップS44:YES)、第1の回転角演算部77Aは、第2演算モードで用いられるEΘ基本演算式(32)およびE演算式(33)に含まれている分数のいずれの分母も零でないという条件を満たしているか否かを判別する(ステップS45)。ステップS45の条件を満たしていない場合には(ステップS45:NO)、第1の回転角演算部77Aは、図12BのステップS36に戻る。
ステップS45の条件を満たしている場合には(ステップS45:YES)、第1の回転角演算部77Aは、第2演算モードによってθ[n],E,A,Aを演算する(ステップS46)。そして、第1の回転角演算部77Aは、演算されたE、AおよびAを、第2および第3磁気センサ72,73が検出している磁極の相対的極番号に関連付けてメモリに記憶する(ステップS47)。第2および第3磁気センサ72,73が検出している磁極の相対的極番号は、現在設定されている第2相対的極番号r2または第3相対的極番号r3と同じ値となる。具体的には、第1の回転角演算部77Aは、メモリのエリアe1,e3,e4内の現在設定されている第2相対的極番号r2に対応する記憶場所に、演算されたE、AおよびAをそれぞれ記憶する。この後、第1の回転角演算部77Aは、ステップS52に進む。
ステップS52では、第1の回転角演算部77Aは、電動モータ18の駆動を停止させるとともに運転者への警告を停止させる。具体的には、第1の回転角演算部77Aは、電動モータ18の駆動停止指令をモータ制御用ECU12に送信するとともに、映像音声制御装置に警告停止指令を送信する。モータ制御用ECU12は、電動モータ18の駆動停止指令を受信すると電動モータ18の駆動を停止させる。映像音声制御装置は、警告停止指令を受信すると、警告表示、警告音声出力等を停止させる。これにより、強制回転に基づく回転角演算処理が終了する。
図12Aに戻り、前記ステップS28において、第2センサ故障フラグFA2の値が0ではないと判別された場合には(ステップS28:NO)、つまり、電源オンの直後から第2磁気センサ72が故障していると判定されている場合には、第1の回転角演算部77Aは、ステップS29に移行する。ステップS29では、第1の回転角演算部77Aは、第1および第3磁気センサ71,73が共に同じ1つの磁極を3演算周期連続して検出しているという条件を満たしている否かを判別する。各演算周期において、第1および第3磁気センサ71,73が検出している磁極の相対的番号は、それぞれ第1相対的磁極番号r1および第3相対的磁極番号r3によって認識することができる。したがって、所定演算周期前から今演算周期までの複数演算周期分の各相対的磁極番号r1,r3をメモリに記憶することにより、3演算周期連続して第1および第2磁気センサ71,73がともに同じ1つの磁極を検出しているか否かを判別できる。
ステップS29の条件を満たしていない場合には(ステップS29:NO)、第1の回転角演算部77Aは、ステップS23に戻る。一方、ステップS29の条件を満たしていると判別された場合には(ステップS29:YES)、第1の回転角演算部77Aは、第3演算モードで用いられるEθ基本演算式(35)およびE演算式(36)に含まれている分数のいずれの分母も零でないという条件を満たしているか否かを判別する(ステップS30)。ステップS30の条件を満たしていない場合には(ステップS30:NO)、第1の回転角演算部77Aは、ステップS23に戻る。一方、ステップS30の条件を満たしている場合には(ステップS30:YES)、第1の回転角演算部77Aは、図12BのステップS35に移行し、第2方向に電動モータ18を駆動する。
図12Bの前記ステップS39において、第2センサ故障フラグFA2の値が0ではないと判別された場合には(ステップS39:NO)、つまり、電源オンの直後から第2磁気センサ72が故障していると判定されている場合には、第1の回転角演算部77Aは、図12DのステップS48に移行する。
ステップS48では、第1の回転角演算部77Aは、第1および第3磁気センサ71,73が共に同じ1つの磁極を3演算周期連続して検出しているという条件を満たしている否かを判別する。ステップS48の条件を満たしていない場合には(ステップS48:NO)、第1の回転角演算部77Aは、図12BのステップS36に戻る。
前記ステップS48において、ステップS48の条件を満たしていると判別された場合には(ステップS48:YES)、第1の回転角演算部77Aは、第3演算モードで用いられるEθ基本演算式(35)およびE演算式(36)に含まれている分数のいずれの分母も零でないという条件を満たしているか否かを判別する(ステップS49)。ステップS49の条件を満たしていない場合には(ステップS49:NO)、第1の回転角演算部77Aは、図12BのステップS36に戻る。
ステップS49の条件を満たしていると判別された場合には(ステップS49:YES)、第1の回転角演算部77Aは、第3演算モードによってθ[n],E,A,Aを演算する(ステップS50)。そして、第1の回転角演算部77Aは、演算されたE、AおよびAを、第1および第3磁気センサ71,73が検出している磁極の相対的極番号に関連付けてメモリに記憶する(ステップS51)。第1および第3磁気センサ71,73が検出している磁極の相対的極番号は、現在設定されている第1相対的極番号r1または第3相対的極番号r3と同じ値となる。具体的には、第1の回転角演算部77Aは、メモリのエリアe1,e2,e4内の現在設定されている第1相対的極番号r1に対応する記憶場所に、演算されたE、AおよびAをそれぞれ記憶する。この後、第1の回転角演算部77Aは、ステップS52に進む。
図16A、図16Bおよび図16Cは、図10のステップS5の通常時の回転角演算処理の手順を示すフローチャートである。
通常時の回転角演算処理においては、第1の回転角演算部77Aは、図10のステップS1の故障判定処理(より詳しくは図11のステップS11)において取得されたセンサ値S[n],S[n],S[n]に基づいて、入力軸18の回転角θを演算する。
第1の回転角演算部77Aは、メモリに記憶されているセンサ値S,S,Sに基づいて、センサ値S,S,S毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する(ステップS81)。ゼロクロスが検出されなかったときには(ステップS81:NO)、第1の回転角演算部77Aは、ステップS83に移行する。
前記ステップS81において、いずれかのセンサ値S,S,Sに対してゼロクロスが検出された場合には(ステップS81:YES)、第1の回転角演算部77Aは、相対的極番号の更新処理を行なう(ステップS82)。この相対的極番号の更新処理は、前述した
図12AのステップS27における相対的極番号の更新処理と同じである。ステップS82の相対的極番号の更新処理が終了すると、第1の回転角演算部77Aは、ステップS83に移行する。
ステップS83では、第1の回転角演算部77Aは、第2センサ故障フラグFA2の値が0であるか否かを判別する。第2センサ故障フラグFA2の値が0である場合には(ステップS83:YES)、つまり、第2磁気センサ72が故障していない場合には、第1の回転角演算部77Aは、ステップS84に移行する。
ステップS84では、第1の回転角演算部77Aは、第1および第2磁気センサ71,72が正常でありかつそれらが共に同じ1つの磁極を3演算周期連続して検出しているという条件を満たしている否かを判別する。ステップS84の条件を満たしている場合には(ステップS84:YES)、第1の回転角演算部77Aは、第1演算モードによってθ[n],E,A,Aを演算する(ステップS85)。第1演算モードによって回転角θ[n]を演算する際においては、第1の回転角演算部77Aは、Eθ基本演算式(7)に含まれている分数の分母が零でないか否か、E演算式(8)に含まれている分数の分母が零でないか否かを判定し、それらの判定結果に応じてθ[n],E,A,Aを演算する。
第1の回転角演算部77Aは、θ[n],E,A,Aを演算すると、Eθ基本演算式(7)およびE演算式(8)に含まれている分数のいずれの分母も零でないという条件を満たしていたか否かを判別する(ステップS86)。ステップS86の条件を満たしていた場合には(ステップS86:YES)、第1の回転角演算部77Aは、演算されたE、AおよびAを、第1および第2磁気センサ71,72が検出している磁極の相対的極番号に関連付けてメモリに記憶する(ステップS87)。第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は、今回の通常時の回転角演算処理を終了する。
前記ステップS86において、ステップS86の条件を満たしていなかったと判別された場合には(ステップS86:NO)、第1の回転角演算部77Aは、ステップS87の処理を行うことなく、今回の通常時の回転角演算処理を終了する。したがって、この場合には、ステップS85で演算されたE、AおよびAは、メモリのエリアe1,e2,e3に記憶されない。
前記ステップS84において、ステップS84の条件を満たしていないと判別された場合には(ステップS84:NO)、第1の回転角演算部77Aは、第2および第3磁気センサ72,73が正常でありかつそれらが共に同じ1つの磁極を3演算周期連続して検出しているという条件を満たしている否かを判別する(ステップS88)。ステップS88の条件を満たしている場合には(ステップS88:YES)、第1の回転角演算部77Aは、第2演算モードによってθ[n],E,A,Aを演算する(ステップS89)。第2演算モードによって回転角θ[n]を演算する際においては、第1の回転角演算部77Aは、EΘ基本演算式(32)に含まれている分数の分母が零でないか否か、E演算式(33)に含まれている分数の分母が零でないか否かを判定し、それらの判定結果に応じてθ[n],E,A,Aを演算する。
第1の回転角演算部77Aは、θ[n],E,A,Aを演算すると、EΘ基本演算式(32)およびE演算式(33)に含まれている分数のいずれの分母も零でないという条件を満たしていたか否かを判別する(ステップS90)。ステップS90の条件を満たしていた場合には(ステップS90:YES)、第1の回転角演算部77Aは、演算されたE、AおよびAを、第2および第3磁気センサ72,73が検出している磁極の相対的極番号に関連付けてメモリに記憶する(ステップS91)。第2および第3磁気センサ72,73が検出している磁極の相対的極番号は、現在設定されている第2相対的極番号r2または第3相対的極番号r3と同じ値となる。具体的には、第1の回転角演算部77Aは、メモリのエリアe1,e3,e4内の現在設定されている第2相対的極番号r2に対応する記憶場所に、演算されたE、AおよびAをそれぞれ記憶する。なお、メモリのエリアe1,e3,e4の前記記憶場所に既にE、AおよびAが記憶されている場合には、今回演算されたE、AおよびAが上書きされる。この後、第1の回転角演算部77Aは、今回の通常時の回転角演算処理を終了する。
前記ステップS90において、ステップS90の条件を満たしていなかったと判別された場合には(ステップS90:NO)、第1の回転角演算部77Aは、ステップS91の処理を行うことなく、今回の通常時の回転角演算処理を終了する。したがって、この場合には、ステップS89で演算されたE、AおよびAは、メモリのエリアe1,e3,e4に記憶されない。
前記ステップS88において、ステップS88の条件を満たしていないと判別された場合には(ステップS88:NO)、第1の回転角演算部77Aは、図13BのステップS92に移行する。ステップS92では、第1の回転角演算部77Aは、第1磁気センサ71が正常でありかつ第1磁気センサ71が検出している磁極に対応する角度幅誤差補正値Eがメモリに記憶されているか否かを判別する。第1磁気センサ71が検出している磁極に対応する角度幅誤差補正値Eがメモリに記憶されているか否かの判別は、メモリのエリアe1内の現在設定されている第1相対的極番号r1に対応する記憶場所に、角度幅誤差補正値Eが記憶されているか否かに基づいて行われる。
第1磁気センサ71が正常でありかつ第1磁気センサ71が検出している磁極に対応する角度幅誤差補正値Eがメモリに記憶されている場合には(ステップS92:YES)、第1の回転角演算部77Aは、第4演算モードによって回転角θ[n]を演算する(ステップS93)。そして、第1の回転角演算部77Aは、今回の通常時の回転角演算処理を終了する。
前記ステップS92において、第1磁気センサ71が故障していると判定されている場合または第1磁気センサ71が検出している磁極に対応する角度幅誤差補正値Eがメモリに記憶されていないと判別された場合には(ステップS92:NO)、第1の回転角演算部77Aは、ステップS94に進む。ステップS94では、第1の回転角演算部77Aは、第2磁気センサ72が検出している磁極に対応する角度幅誤差補正値Eがメモリに記憶されているか否かを判別する。この判別は、メモリのエリアe1内の現在設定されている第2相対的極番号r2に対応する記憶場所に、角度幅誤差補正値Eが記憶されているか否かに基づいて行われる。
第2磁気センサ72が検出している磁極に対応する角度幅誤差補正値Eがメモリに記憶されている場合には(ステップS94:YES)、第1の回転角演算部77Aは、第5演算モードによって回転角θ[n]を演算する(ステップS93)。そして、第1の回転角演算部77Aは、今回の通常時の回転角演算処理を終了する。
前記ステップS94において、第2磁気センサ72が検出している磁極に対応する角度幅誤差補正値Eがメモリに記憶されていないと判別された場合には(ステップS94:NO)、第1の回転角演算部77Aは、第6演算モードによって回転角θ[n]を演算する(ステップS96)。そして、第1の回転角演算部77Aは、今回の通常時の回転角演算処理を終了する。
図16Aに戻り、前記ステップS83において、第2センサ故障フラグFA2の値が0でないと判別された場合には(ステップS83:NO)、つまり、第2磁気センサ72が故障している場合には、第1の回転角演算部77Aは、図16CのステップS97に移行する。ステップS97では、第1の回転角演算部77Aは、第1および第3磁気センサ71,73が共に同じ1つの磁極を3演算周期連続して検出しているという条件を満たしている否かを判別する。ステップS97の条件を満たしている場合には(ステップS97:YES)、第1の回転角演算部77Aは、第3演算モードによってθ[n],E,A,Aを演算する(ステップS98)。第3演算モードによって回転角θ[n]を演算する際においては、第1の回転角演算部77Aは、Eθ基本演算式(35)に含まれている分数の分母が零でないか否か、E演算式(36)に含まれている分数の分母が零でないか否かを判定し、それらの判定結果に応じてθ[n],E,A,Aを演算する。
第1の回転角演算部77Aは、θ[n],E,A,Aを演算すると、Eθ基本演算式(35)およびE演算式(36)に含まれている分数のいずれの分母も零でないという条件を満たしていたか否かを判別する(ステップS99)。ステップS99の条件を満たしていた場合には(ステップS99:YES)、第1の回転角演算部77Aは、演算されたE、AおよびAを、第1および第3磁気センサ71,73が検出している磁極の相対的極番号に関連付けてメモリに記憶する(ステップS100)。第1および第3磁気センサ71,73が検出している磁極の相対的極番号は、現在設定されている第1相対的極番号r1または第3相対的極番号r3と同じ値となる。具体的には、第1の回転角演算部77Aは、メモリのエリアe1,e2,e4内の現在設定されている第1相対的極番号r1に対応する記憶場所に、演算されたE、AおよびAをそれぞれ記憶する。なお、メモリのエリアe1,e2,e4の前記記憶場所に既にE、AおよびAが記憶されている場合には、今回演算されたE、AおよびAが上書きされる。この後、第1の回転角演算部77Aは、今回の通常時の回転角演算処理を終了する。
前記ステップS99において、ステップS99の条件を満たしていなかったと判別された場合には(ステップS99:NO)、第1の回転角演算部77Aは、ステップS100の処理を行うことなく、今回の通常時の回転角演算処理を終了する。したがって、この場合には、ステップS98で演算されたE、AおよびAは、メモリのエリアe1,e2,e4に記憶されない。
前記ステップS97において、ステップS97の条件を満たしていないと判別された場合には(ステップS97:NO)、第1の回転角演算部77Aは、第1磁気センサ71が検出している磁極に対応する角度幅誤差補正値Eがメモリに記憶されているか否かを判別する(ステップS101)。この判別は、メモリのエリアe1内の現在設定されている第1相対的極番号r1に対応する記憶場所に、角度幅誤差補正値Eが記憶されているか否かに基づいて行われる。
第1磁気センサ71が検出している磁極に対応する角度幅誤差補正値Eがメモリに記憶されている場合には(ステップS101:YES)、第1の回転角演算部77Aは、第4演算モードによって回転角θ[n]を演算する(ステップS102)。そして、第1の回転角演算部77Aは、今回の通常時の回転角演算処理を終了する。
前記ステップS101において、第1磁気センサ71が検出している磁極に対応する角度幅誤差補正値Eがメモリに記憶されていないと判別された場合には(ステップS101:NO)、第1の回転角演算部77Aは、ステップS103に移行する。ステップS103では、第1の回転角演算部77Aは、第3磁気センサ73が検出している磁極に対応する角度幅誤差補正値Eがメモリに記憶されているか否かを判別する。この判別は、メモリのエリアe1内の現在設定されている第3相対的極番号r3に対応する記憶場所に、角度幅誤差補正値Eが記憶されているか否かに基づいて行われる。
第3磁気センサ73が検出している磁極に対応する角度幅誤差補正値Eがメモリに記憶されている場合には(ステップS103:YES)、第1の回転角演算部77Aは、第6演算モードによって回転角θ[n]を演算する(ステップS104)。そして、第1の回転角演算部77Aは、今回の通常時の回転角演算処理を終了する。
前記ステップS103において、第3磁気センサ73が検出している磁極に対応する角度幅誤差補正値Eがメモリに記憶されていないと判別された場合には(ステップS103:NO)、第1の回転角演算部77Aは、第7演算モードによって回転角θ[n]を演算する(ステップS105)。つまり、第3演算モードと同じ演算式(35),(35),(37)を用いて演算角θ[n]が演算される。そして、第1の回転角演算部77Aは、今回の通常時の回転角演算処理を終了する。ステップS105の処理は、ステップS103でNOと判別された場合に実行されるが、ステップS103でNOと判別される状況が実際に発生するか否かは不明である。また、ステップS103でNOと判別される状況が発生するとしても、その発生頻度は非常に低いと考えられる。この実施形態では、念のために、ステップS105の処理を用意している。
なお、図16AのステップS86を省略して、ステップS85の処理が終了したときには、ステップS87に進むようにしてもよい。同様に、図16AのステップS90を省略して、ステップS89の処理が終了したときには、ステップS91に進むようにしてもよい。同様に、図16CのステップS99を省略して、ステップS98の処理が終了したときには、ステップS101に進むようにしてもよい
上述の実施形態では、第2磁気センサ72と第1磁気センサ71との間の角度間隔と、第2磁気センサ72と第3磁気センサ73との間の角度間隔との和は電気角で120°であり、1つの磁極の角度幅(電気角で180°)より小さく設定されている。このため、3つの磁気センサ71,72,73のうちのいずれの1つの磁気センサが故障した場合であっても、正常な2つの磁気センサが共に同じ1つの磁極を3サンプリング周期(3演算周期)連続して検出しているという状態が発生しうる。
正常な2つの磁気センサが共に同じ1つの磁極を3サンプリング周期(3演算周期)連続して検出しているという条件を満たしている場合には、正常な2つの磁気センサの3サンプリング分の出力信号に基づいて回転体の回転角を演算することにより、精度の高い回転角を演算することが可能である。これにより、3つの磁気センサのうちのいずれの1つの磁気センサが故障した場合であっても、前記条件を満たしているときには、精度の高い回転角を演算することが可能となる。
また、この実施形態では、正常な2つの磁気センサが共に同じ1つの磁極を3サンプリング周期(3演算周期)連続して検出しているという条件を満たしていない場合においても、ほとんどの場合、第4、第5または第6演算モードのいずれかの演算モードで回転角が演算される。このため、前記条件を満たしていない場合においても、精度の高い回転角を演算することが可能となる。
以上、この発明の一実施形態について説明したが、この発明はさらに他の形態で実施することもできる。たとえば、前述の実施形態では、第2磁気センサ72と第1磁気センサ71との間の角度間隔は60°であり、第2磁気センサ72と第3磁気センサ73との間の角度間隔は60°である。しかしながら、第2磁気センサ72と第1磁気センサ71との間の角度間隔と、第2磁気センサ72と第3磁気センサ73との間の角度間隔との和が電気角で180°未満であれば、これらの角度間隔は60°以外の角度であってもよい。この場合、第2磁気センサ72と第3磁気センサ73との間の角度間隔と、第2磁気センサ72と第3磁気センサ73との間の角度間隔とは、異なっていてもよい。
また、前述の実施形態では、第1演算モード、第2演算モードおよび第3演算モードでは、所定の2つの磁気センサが3サンプリング周期連続して共に同じ1つの磁極を検出している場合に、これらの2つの磁気センサにおける3サンプリング分の出力信号に基づいて回転角θが演算されている。しかし、第1演算モード、第2演算モードおよび第3演算モードにおいて、所定の2つの磁気センサが2サンプリング周期連続して共に同じ1つの磁極を検出している場合に、これらの2つの磁気センサにおける2サンプリング分の出力信号に基づいて回転角θを演算するようにしてもよい。
この場合には、回転角θの演算に用いられる2つの磁気センサの振幅および角度幅誤差補正値のうちのいずれか一方が固定値とされる。これにより、2つの磁気センサにおける2サンプリング分の出力信号に基づいて回転角θを演算することが可能となる。2つの磁気センサの振幅が固定値とされる場合には、相対的極番号に関連して記憶される情報は、角度幅誤差補正値のみとなる。一方、角度幅誤差補正値が固定値とされる場合には、相対的極番号に関連して記憶される情報は、各磁気センサの振幅のみとなる。
また、第1演算モード、第2演算モードおよび第3演算モードにおいて、所定の2つの磁気センサが4以上の所定数のサンプリング周期連続して共に同じ1つの磁極を検出している場合に、これらの2つの磁気センサにおける前記所定数のサンプリング分の出力信号に基づいて回転角θを演算するようにしてもよい。
なお、この発明は、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
1…電動パワーステアリング装置、6…ステアリングシャフト、8…入力軸、9…出力軸、11…トルクセンサ、12…モータ制御用ECU、18…電動モータ、41…電流指令値設定部、61,62…磁石、71〜76…磁気センサ、77…トルク演算用ECU、77A…第1の回転角演算部、77B…第2の回転角演算部

Claims (3)

  1. 回転体の回転角を演算する回転角演算装置であって、
    前記回転体の回転に応じて回転し、複数の磁極を有する環状の多極磁石と、
    前記多極磁石の周方向に並んで配置され、前記多極磁石の回転に応じて位相差を有する正弦波信号をそれぞれ出力する3つの磁気センサであって、これら3つの磁気センサのうちの中央の磁気センサと他の一方の磁気センサとの間の角度間隔と、前記中央の磁気センサと他の他方の磁気センサとの間の角度間隔との和が、電気角で180度未満である3つの磁気センサと、
    前記各磁気センサに故障が発生したか否かを判定する故障判定手段と、
    前記3つの磁気センサのうちの中央の磁気センサを含む少なくとも2つの磁気センサが正常である場合において、中央の磁気センサを含む正常な2つの磁気センサが共に同じ1つの磁極を所定複数サンプリング周期連続して検出しているという第1条件を満たしているときには、それらの2つの磁気センサの前記所定複数サンプリング分の出力信号に基づいて、前記回転体の回転角を演算する第1演算手段と、
    前記3つの磁気センサのうちの中央の磁気センサのみが故障している場合において、中央の磁気センサを除く正常な2つの磁気センサが共に同じ1つの磁極を所定複数サンプリング周期連続して検出しているという第2条件を満たしているときには、それらの2つの磁気センサの前記所定複数サンプリング分の出力信号に基づいて、前記回転体の回転角を演算する第2演算手段とを含む、回転角演算装置。
  2. 前記第1演算手段は、前記第1条件を満たしているときに、常にまたは前記中央の磁気センサを含む正常な2つの磁気センサの前記所定複数サンプリング分の出力信号が一定の要件を満たしているときには、それらの2つの磁気センサが検出している磁極の磁極幅に関する情報および/またはそれらの2つの磁気センサの出力信号の振幅に関する情報を演算して当該磁極に関連付けて記憶する手段を含んでおり、
    前記第2演算手段は、前記第2条件を満たしているときに、常にまたは前記中央の磁気センサを除く正常な2つの磁気センサの前記所定複数サンプリング分の出力信号が一定の要件を満たしているときには、それらの2つの磁気センサが検出している磁極の磁極幅に関する情報および/またはそれらの2つの磁気センサの出力信号の振幅に関する情報を演算して当該磁極に関連付けて記憶する手段を含んでおり、
    前記3つの磁気センサのうちの中央の磁気センサを含む少なくとも2つの磁気センサが正常である場合において、前記第1条件を満たしていないときには、正常な磁気センサのうち、磁極幅に関する情報および/または振幅に関する情報が関連付けて記憶されている磁極を検出している1つの磁気センサを含む2つの磁気センサの1サンプリング分の出力信号と、前記第1演算手段によって記憶されている前記情報とを用いて、前記回転体の回転角を演算する第3演算手段と、
    前記3つの磁気センサのうちの前記中央の磁気センサのみが故障している場合において、前記第2条件を満たしておらずかつ前記中央の磁気センサを除く正常な2つの磁気センサが検出している磁極のうちの少なくとも一方の磁極に関連して、磁極幅に関する情報および/または振幅に関する情報が記憶されている場合には、正常な2つの磁気センサの1サンプリング分の出力信号と、前記第2演算手段によって記憶されている前記情報とを用いて、前記回転体の回転角を演算する第4演算手段とをさらに含む、請求項1に記載の回転角演算装置。
  3. 前記3つの磁気センサを第1磁気センサ、第2磁気センサおよび第3磁気センサとし、前記第2磁気センサが前記中央の磁気センサであるとすると、前記第2磁気センサと前記第1磁気センサとの間の角度間隔が電気角で60度であり、前記第2磁気センサと前記第3磁気センサとの間の角度間隔が電気角で60度である、請求項1または2に記載の回転角演算装置。
JP2013100613A 2012-12-12 2013-05-10 回転角検出装置 Pending JP2014219364A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2013100613A JP2014219364A (ja) 2013-05-10 2013-05-10 回転角検出装置
EP13196425.6A EP2743647B1 (en) 2012-12-12 2013-12-10 Rotation angle detection device
CN201310667521.8A CN104142120A (zh) 2013-05-10 2013-12-10 旋转角检测装置
US14/104,322 US20140163921A1 (en) 2012-12-12 2013-12-12 Rotation angle detection device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013100613A JP2014219364A (ja) 2013-05-10 2013-05-10 回転角検出装置

Publications (1)

Publication Number Publication Date
JP2014219364A true JP2014219364A (ja) 2014-11-20

Family

ID=51851376

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013100613A Pending JP2014219364A (ja) 2012-12-12 2013-05-10 回転角検出装置

Country Status (2)

Country Link
JP (1) JP2014219364A (ja)
CN (1) CN104142120A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190040462A (ko) * 2017-10-10 2019-04-18 멜렉시스 테크놀로기스 에스에이 예비 센서 결함 검출
CN111721334A (zh) * 2019-03-20 2020-09-29 Tdk株式会社 旋转角度检测装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105406675B (zh) * 2015-12-01 2018-02-09 浙江省东阳市东磁诚基电子有限公司 一种手机用直流无刷马达结构
CN108114482B (zh) * 2017-11-19 2019-10-15 西北农林科技大学 一种基于磁力转向机构的s形行走的无碳小车
EP3765823B1 (en) * 2018-03-14 2023-02-22 Honeywell International Inc. Off-axis magnetic angular sensor using a magnetic sensing probe and multi-pole magnet array
CN114072636A (zh) * 2019-08-27 2022-02-18 松下知识产权经营株式会社 位置感测电路、位置感测系统、磁体构件、位置感测方法和程序
CN117367473B (zh) * 2023-09-28 2025-09-16 中国机械总院集团山西机电研究院有限公司 三环结构磁电编码器及磁电编码器绝对角度的检测方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010203960A (ja) * 2009-03-04 2010-09-16 Jtekt Corp トルク検出装置及びこれを用いた電動パワーステアリング装置
JP2011220848A (ja) * 2010-04-09 2011-11-04 Jtekt Corp 回転角検出装置
JP2012127910A (ja) * 2010-12-17 2012-07-05 Jtekt Corp 回転角検出装置
JP2012137415A (ja) * 2010-12-27 2012-07-19 Jtekt Corp 回転角検出装置
JP2012149908A (ja) * 2011-01-17 2012-08-09 Jtekt Corp 回転角検出装置
JP2012237619A (ja) * 2011-05-11 2012-12-06 Jtekt Corp 回転角検出装置
JP2013019802A (ja) * 2011-07-12 2013-01-31 Jtekt Corp 回転角検出装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7382295B2 (en) * 2003-11-04 2008-06-03 Nsk Ltd. Control unit for electric power steering apparatus
JP2008026297A (ja) * 2006-06-21 2008-02-07 Nsk Ltd 回転角度位置検出装置
JP2008045881A (ja) * 2006-08-10 2008-02-28 Nsk Ltd 回転角度位置検出装置
JP5082481B2 (ja) * 2007-02-13 2012-11-28 日本精工株式会社 回転角度位置算出装置及びモータ
DE102007008870A1 (de) * 2007-02-21 2008-09-04 Hl-Planar Technik Gmbh Anordnung und Verfahren zur Absolutbestimmung der Linearposition oder der durch einen Winkel ausgedrückten Drehposition
JP4330083B2 (ja) * 2007-05-18 2009-09-09 株式会社日本自動車部品総合研究所 回転角度検出装置
US8957675B2 (en) * 2010-03-03 2015-02-17 Jtekt Corporation Rotation angle detection device
JP5807770B2 (ja) * 2010-12-15 2015-11-10 株式会社ジェイテクト 回転角検出装置
JP5716954B2 (ja) * 2011-01-17 2015-05-13 株式会社ジェイテクト 回転角検出装置
JP2012189377A (ja) * 2011-03-09 2012-10-04 Jtekt Corp 回転角検出装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010203960A (ja) * 2009-03-04 2010-09-16 Jtekt Corp トルク検出装置及びこれを用いた電動パワーステアリング装置
JP2011220848A (ja) * 2010-04-09 2011-11-04 Jtekt Corp 回転角検出装置
JP2012127910A (ja) * 2010-12-17 2012-07-05 Jtekt Corp 回転角検出装置
JP2012137415A (ja) * 2010-12-27 2012-07-19 Jtekt Corp 回転角検出装置
JP2012149908A (ja) * 2011-01-17 2012-08-09 Jtekt Corp 回転角検出装置
JP2012237619A (ja) * 2011-05-11 2012-12-06 Jtekt Corp 回転角検出装置
JP2013019802A (ja) * 2011-07-12 2013-01-31 Jtekt Corp 回転角検出装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190040462A (ko) * 2017-10-10 2019-04-18 멜렉시스 테크놀로기스 에스에이 예비 센서 결함 검출
KR102375412B1 (ko) * 2017-10-10 2022-03-16 멜렉시스 테크놀로기스 에스에이 예비 센서 결함 검출
CN111721334A (zh) * 2019-03-20 2020-09-29 Tdk株式会社 旋转角度检测装置

Also Published As

Publication number Publication date
CN104142120A (zh) 2014-11-12

Similar Documents

Publication Publication Date Title
JP6024969B2 (ja) 回転角検出装置およびそれを備えた電動パワーステアリング装置
JP6086205B2 (ja) 位相差検出装置およびそれを備えた回転角検出装置
JP5679136B2 (ja) 回転角検出装置、および、回転角検出装置を備えた電動パワーステアリング装置
JP2014219364A (ja) 回転角検出装置
JP6024971B2 (ja) 回転角検出装置
JP2016082685A (ja) ブラシレスモータ及び電動パワーステアリング装置
JP2018057084A (ja) モータ制御装置
JP6024970B2 (ja) 回転角検出装置およびそれを備えた電動パワーステアリング装置
JP2015229385A (ja) 電動パワーステアリング装置
JP6202302B2 (ja) 回転角検出装置
JP2014139054A (ja) 電動パワーステアリング装置
JP2014142322A (ja) 回転角検出装置
EP2743647B1 (en) Rotation angle detection device
JP2016192882A (ja) モータ制御装置
JP6024976B2 (ja) 操舵角センサの信頼性判定装置
JP2019124670A (ja) 回転角検出装置、モータ制御装置、電動パワーステアリング装置、及び回転角検出方法
JP2019156110A (ja) 車両用操舵装置
JP2017083422A (ja) 回転角検出装置
JP2014178178A (ja) 磁気遮蔽部材およびトルク検出装置
JP2019047534A (ja) モータ制御装置
JP2014174098A (ja) トルク検出装置およびそれを用いた電動パワーステアリング装置
JP2015077841A (ja) 電動パワーステアリング装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160418

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170309

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170906