車両用操舵装置
【課題】操舵部材のロック状態が解除された直後から、精度の高いロータ回転角を演算することができる車両用操舵装置を提供する。
【解決手段】EPSモータ制御部33の動作モードには、通常モードと強制回転モードとがある。通常モードは、ステアリングロック装置4によってステアリングホイール1の回転がロックされていない通常運転状態においてEPSモータ7を駆動制御するモードである。一方、強制回転モードは、イグニッションキーがオンされた直後において、ステアリングロック装置4によってステアリングホイール1の回転がロックされている状態で、EPSモータ7を強制的に回転駆動するモードである。EPSモータ7が強制回転モードで回転駆動されているときに、回転角演算部34は、各磁気センサ21,22が感知している磁極を特定する。
【解決手段】EPSモータ制御部33の動作モードには、通常モードと強制回転モードとがある。通常モードは、ステアリングロック装置4によってステアリングホイール1の回転がロックされていない通常運転状態においてEPSモータ7を駆動制御するモードである。一方、強制回転モードは、イグニッションキーがオンされた直後において、ステアリングロック装置4によってステアリングホイール1の回転がロックされている状態で、EPSモータ7を強制的に回転駆動するモードである。EPSモータ7が強制回転モードで回転駆動されているときに、回転角演算部34は、各磁気センサ21,22が感知している磁極を特定する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、車両用操舵装置に関する。
【背景技術】
【0002】
車両用操舵装置として、電動パワーステアリング装置(EPS:Electric Power Steering)と、ステアリングホイール等の操舵部材の回転をロックするステアリングロック装置とを備えたものがある。ステアリングロック装置は、盗難防止のために設けられている。
電動パワーステアリング装置は、電動パワーステアリング用モータ(EPSモータ)を含む。ステアリングロック装置は、たとえば、下記特許文献1の図17に示されている装置のように、施錠および開錠を行うためのステアリングロック装置用モータ(ロックモータ)を含む。EPSモータは、たとえば、三相ブラシレスモータである。ロックモータは、たとえば、ブラシ付直流モータである。
【0003】
EPSモータは、EPS用モータの駆動回路を含むEPS用コントローラ(EPS用ECU)によって制御されている。ロックモータは、ロックモータの駆動回路を含むステアリングロック装置用コントローラ(ロック装置用ECU)によって制御されている。
EPSモータとして使用されるブラシレスモータを制御するためには、ロータの回転角度に合わせてステータ巻線に電流を通電する必要がある。そこで、EPSモータの回転に応じて回転する検出用ロータを用いて、EPSモータのロータの回転角を検出する回転角検出装置が知られている。具体的には、図34に示すように、検出用ロータ101(以下、「ロータ101」という)は、EPSモータのロータに設けられている磁極対に相当する複数の磁極対を有する円筒状の磁石101aを備えている。ロータ101の周囲には、2つの磁気センサ121,122が、ロータ101の回転中心軸を中心として所定の角度間隔をおいて配置されている。各磁気センサ121,122からは、所定の位相差を有する正弦波信号が出力される。これらの2つの正弦波信号に基づいて、ロータ101の回転角(EPSモータのロータの回転角)が検出される。
【0004】
この例では、磁石101aは、5組の磁極対を有している。つまり、磁石101aは、等角度間隔で配置された10個の磁極を有している。各磁極は、ロータ101の回転中心軸を中心として、36°(電気角では180°)の角度間隔で配置されている。また、2つの磁気センサ121,122は、ロータ101の回転中心軸を中心として18°(電気角では90°)の角度間隔をおいて配置されている。
【0005】
図34に矢印で示す方向を検出用ロータ101の正方向の回転方向とする。そして、ロータ101が正方向に回転されるとロータ101の回転角が大きくなり、ロータ101が逆方向に回転されると、ロータ101の回転角が小さくなるものとする。各磁気センサ121,122からは、図35に示すように、ロータ101が1磁極対分に相当する角度(72°(電気角では360°))を回転する期間を一周期とする正弦波信号V1,V2が出力される。
【0006】
所定の基準位置からのロータ101の絶対的な回転角を、ロータ101の絶対回転角(機械角)θAということにする。ロータ101の1回転分の角度範囲を、5つの磁極対に対応して5つの区間に分け、各区間の開始位置を0°とし終了位置を360°として表したロータ101の角度を、ロータ101の相対回転角θRということにする。この場合には、10個の磁極の角度幅は等しいので、ロータ101の相対回転角θRは、EPSモータのロータの電気角と一致する。
【0007】
ここでは、第1の磁気センサ121からは、V1=A1・sinθRの出力信号が出力され、第2の磁気センサ122からは、V2=A2・cosθRの出力信号が出力されるものとする。A1,A2は、振幅である。両出力信号V1,V2の振幅A1,A2が互いに等しいとみなすと、ロータ101の相対回転角θRは、両出力信号V1,V2を用いて、次式(1)に基づいて求めることができる。
【0008】
θR=tan−1(sinθR/cosθR)
=tan−1(V1/V2) …(1)
このようにして、求められた相対角θRを使って、EPSモータを制御する。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2010−76455号公報
【特許文献2】特開平2−164667号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
前述したような従来の回転角検出装置においては、磁極ごとの磁力のばらつきなどにより、各磁気センサ121,122の出力信号V1,V2の振幅が磁極ごとに変動するため、ロータ101の回転角の検出に誤差が発生する。そこで、ロータ101の絶対回転角(機械角)θAに応じて、各磁気センサ121,122の出力信号V1,V2の振幅が等しくなるように、各磁気センサ121,122の出力信号V1,V2を補正(振幅補正)した後、ロータ101の相対角θRを演算している。
【0011】
磁極毎に磁力がばらつく場合には、各磁気センサ121,122の出力信号V1,V2に対して、相対角(電気角)の1周期または半周期ごとに補正するゲインを変更しなければならない。ロータ101が1回転した後においては、各磁気センサ121,122が感知している磁極を特定することができるので、各磁気センサ121,122が感知している磁極(磁極対)に応じた振幅補正を行うことができる。しかし、電動パワーステアリング装置の起動直後には、各磁気センサ121,122が感知している磁極を特定することができないため、各磁気センサ121,122が感知している磁極に応じた振幅補正を行うことができない。
【0012】
従来、ステアリングロック装置を備えた車両操舵装置においては、イグニッションキーがオンされても、ステアリングロック装置によって操舵部材のロック状態が解除される前に、EPSモータが回転駆動されることはなかった。このため、操舵部材のロック状態が解除された直後においては、各磁気センサ121,122が感知している磁極を特定することができない。したがって、操舵部材のロック状態が解除された直後から、精度の高いロータ回転角を演算することができなかった。
【0013】
この発明の目的は、操舵部材のロック状態が解除された直後から、精度の高いロータ回転角を演算することができる車両用操舵装置を提供することである。
【課題を解決するための手段】
【0014】
上記の目的を達成するための請求項1記載の発明は、操舵部材(1)の回転をロックするステアリングロック装置(4)と電動パワーステアリング装置(3)とを含む車両用操舵装置であって、ロータを有する電動パワーステアリング装置用のブラシレスモータ(7)と、前記ロータの回転角を演算するための複数の回転角センサ(21,22,23)と、前記ステアリングロック装置によって前記操舵部材の回転がロックされている状態において、前記ブラシレスモータを回転駆動させるプレ駆動手段(33)と、前記プレ駆動手段による前記ブラシレスモータの回転駆動中に、前記各回転角センサから出力される信号に基づいて、前記ロータの回転角の演算精度を高めるために必要な情報を獲得する情報獲得手段(34,35,36)と、前記ステアリングロック装置によるロックが解除された後において、前記情報獲得手段によって獲得された情報と、前記各回転角センサの出力信号とに基づいて、前記ロータの回転角を演算する回転角演算手段(34)とを含む、車両用操舵装置である。なお、括弧内の英数字は、後述の実施形態における対応構成要素等を表すが、むろん、この発明の範囲は当該実施形態に限定されない。以下、この項において同じ。
【0015】
この発明では、プレ駆動手段によるブラシレスモータの回転駆動中に、情報獲得手段によって、各回転角センサから出力される信号に基づいて、ロータの回転角の演算精度を高めるために必要な情報が獲得される。そして、ステアリングロック装置によるロックが解除された後において、情報獲得手段によって獲得された情報と、各回転角センサの出力信号とに基づいて、ロータの回転角が演算される。これにより、操舵部材のロック状態が解除された直後から、精度の高いロータ回転角を演算することができるようになる。
【0016】
請求項2記載の発明は、前記ロータの回転に応じて回転し、複数の磁極を有する多極磁石(20a)を含み、前記複数の回転角センサは、前記多極磁石の回転に応じて、互いに位相差を有する正弦波信号をそれぞれ出力する磁気センサであり、前記ロータの回転角の演算精度を高めるために必要な情報が、各磁気センサが感知している磁極を特定するための情報である、請求項1に記載の車両用操舵装置である。
【0017】
この構成では、プレ駆動手段によるブラシレスモータの回転駆動中に、各磁気センサが感知している磁極を特定するための情報を獲得することができる。
請求項3記載の発明は、前記ロータの回転に応じて回転し、複数の磁極を有する多極磁石(20a)を含み、前記複数の回転角センサは、前記多極磁石の回転に応じて、互いに位相差を有する第1の正弦波信号および第2の正弦波信号をそれぞれ出力する第1の磁気センサおよび第2の磁気センサであり、前記ロータの回転角の演算精度を高めるために必要な情報が、前記2つの磁気センサの相対的な配置誤差に起因して発生する、前記2つの正弦波信号間の所定の目標位相差に対する位相差誤差である、請求項1に記載の車両用操舵装置である。
【0018】
この構成では、プレ駆動手段によるブラシレスモータの回転駆動中に、2つの磁気センサの相対的な配置誤差に起因して発生する、2つの正弦波信号間の所定の目標位相差に対する位相差誤差を獲得することができる。
請求項4記載の発明は、前記ロータの回転に応じて回転し、複数の磁極を有する多極磁石(20a)を含み、前記複数の回転角センサは、前記多極磁石の回転に応じて、互いに位相が異なりかつ3次高調波成分が重畳された正弦波信号をそれぞれ出力する第1の磁気センサおよび第2の磁気センサであり、前記ロータの回転角の演算精度を高めるために必要な情報が、前記各磁気センサの出力信号から3次高調波成分を除去するために用いられる情報である、請求項1に記載の車両用操舵装置。
【0019】
この構成では、プレ駆動手段によるブラシレスモータの回転駆動中に、各磁気センサの出力信号から3次高調波成分を除去するために用いられる情報を獲得することができる。
請求項5記載の発明は、前記ブラシレスモータに第1の給電経路(15,16,17)を介して接続された、前記ブラシレスモータの駆動回路(12)と、前記第1の給電経路を開閉するための第1の経路開閉手段(R1,R2)と、前記駆動回路に第2の給電経路(18,19)を介して接続され、前記操舵部材をロックするためのステアリングロック装置用の電動モータ(10)と、前記第2の給電経路を開閉する第2の経路開閉手段(R3,R4)とを含む、請求項1〜4のいずれか一項に記載の車両用操舵装置である。
【0020】
第1の経路開閉手段によって第1の給電経路を閉鎖し、第2の経路開閉手段によって第2の給電経路を開放すると、ブラシレスモータがブラシレスモータの駆動回路に接続されるので、三相ブラシレスモータを駆動させることが可能となる。
一方、第1の経路開閉手段によって第1の給電経路を開放し、第2の経路開閉手段によって第2の給電経路を閉鎖すると、ステアリングロック装置用の電動モータが三相ブラシレスモータの駆動回路に接続されるので、ステアリングロック装置用の電動モータを駆動させることが可能となる。
【0021】
つまり、1つの駆動回路によって、電動パワーステアリング用の三相ブラシレスモータとステアリングロック装置用の電動モータとを駆動することが可能となる。このため、電動パワーステアリング用の三相ブラシレスモータとステアリングロック装置用の電動モータとを駆動するために必要なFET等のスイッチング素子の数を低減させることができる。
【図面の簡単な説明】
【0022】
【図1】この発明の第1の実施形態に係る車両用操舵装置の概略的な構成を示す模式図である。
【図2】ECUの電気的構成を示す概略図である。
【図3】施錠制御モードにおけるロックモータ制御部の動作を説明するための電気回路図である。
【図4】開錠制御モードにおけるロックモータ制御部の動作を説明するための電気回路図である。
【図5】検出用ロータの構成を示す模式図である。
【図6】第1の磁気センサの出力信号波形および第2の磁気センサの出力信号波形を示す模式図である。
【図7】図7Aは、第1の磁気センサに対応する振幅補正用テーブルの内容を示す模式図であり、図7Bは、第2の磁気センサに対応する振幅補正用テーブルの内容を示す模式図である。
【図8】回転角演算部による回転角演算処理の手順を示すフローチャートである。
【図9】制御部の全体的な動作を示すフローチャートである。
【図10】第1変形例における回転角演算部による回転角演算処理の手順を示すフローチャートである。
【図11】図10のステップS43の相対的極番号の設定処理を説明するための模式図である。
【図12】ゼロクロスタイミングの演算方法を説明するための模式図である。
【図13】図10のステップS60のゼロクロス検出に基づく極番号特定処理を説明するための模式図である。
【図14】第2変形例における検出用ロータの構成を示す模式図である。
【図15】第1および第2の磁気センサの出力信号波形ならびに第1の磁気センサが感知している磁極を示す模式図である。
【図16】ピーク値テーブルの内容を示す模式図である。
【図17】回転角演算部による回転角演算処理の手順を示すフローチャートである。
【図18】第3変形例における検出用ロータの構成を示す模式図である。
【図19】第1、第2および第3の磁気センサの出力信号波形ならびに第1の磁気センサが感知している磁極を示す模式図である。
【図20】ピーク値テーブルの内容を示す模式図である。
【図21】回転角演算部による回転角演算処理の手順を示すフローチャートである。
【図22】図21のステップS93の相対的極番号の設定処理の手順を示すフローチャートである。
【図23】相対的極番号の設定処理を説明するための模式図である。
【図24】この発明の第2の実施形態における回転角検出装置の構成を示す模式図である。
【図25】位相差誤差演算部の構成を示すブロック図である。
【図26】位相差誤差の演算方法を説明するための模式図である。
【図27】回転角演算部によって実行される回転角演算処理の手順を示すフローチャートである。
【図28】第2の実施形態における制御部の全体的な動作を示すフローチャートである。
【図29】この発明の第3の実施形態における回転角検出装置の構成を示す模式図である。
【図30】3次高調波成分が重畳されている場合の第1の磁気センサの出力信号の波形の例を示す波形図である。
【図31】回転角演算部によって実行される回転角演算処理の手順を示すフローチャートである。
【図32】補正ゲイン演算部によって実行される補正ゲイン演算処理の手順を示すフローチャートである。
【図33】第3の実施形態における制御部の全体的な動作を示すフローチャートである。
【図34】従来の回転角検出装置による回転角検出方法を説明するための模式図である。
【図35】第1の磁気センサの出力信号波形および第2の磁気センサの出力信号波形を示す模式図である。
【発明を実施するための形態】
【0023】
以下では、この発明の実施形態について、添付図面を参照して詳細に説明する。
図1は、この発明の第1の実施形態に係る車両用操舵装置の概略的な構成を示す模式図である。
車両用操舵装置は、ステアリングホイール(操舵部材)1と、ステアリングコラム2と、電動パワーステアリング装置3と、ステアリングロック装置4と、電子制御ユニット(ECU:Electronic Control Unit)11とを備えている。
【0024】
ステアリングコラム2は、ステアリングホイール1を回転自在に支持するものである。電動パワーステアリング装置3は、運転者の操舵を補助するための装置である。ステアリングロック装置4は、盗難防止等のためにステアリングホイール1の回転をロックさせるための装置である。ECU11は、電動パワーステアリング装置3と、ステアリングロック装置4とを制御するための装置である。
【0025】
ステアリングホイール1は、ステアリングコラム2に回転自在に支持されたステアリングシャフト5と中間軸6とを介して図示しない転舵機構に連結されている。なお、ステアリングシャフト5は、上端がステアリングホイール1に連結された入力軸(図示略)と、下端が中間軸6に連結された出力軸(図示略)と、入力軸と出力軸とを連結するトーションバー(図示略)とを含んでいる。
【0026】
電動パワーステアリング装置3は、操舵補助力(アシスト力)を発生するEPSモータ7と、EPSモータ7の出力トルクをステアリングシャフト5の出力軸に伝達するための減速機構8とを含む。EPSモータ7は、この実施形態では、三相ブラシレスモータからなる。
ステアリングロック装置4は、ステアリングシャフト5の入力軸の回転をロックするための機構9と、この機構を駆動するためのステアリングロック装置用モータ(以下、「ロックモータ10」という)を含んでいる。ロックモータ10は、この実施形態では、ブラシ付直流モータからなる。なお、このようなステアリングロック装置4としては、たとえば、前記特許文献1の図17に開示されているステアリングロック装置を用いてもよい。EPSモータ7およびロックモータ10は、ECU11によって制御される。
【0027】
図2は、ECU11の電気的構成を示す概略図である。
ECU11は、各モータ7,10の駆動電力を生成する駆動回路12と、駆動回路12を制御するための制御部13とを備えている。制御部13は、CPU(中央処理装置)とこのCPUの動作プログラム等を記憶したメモリ(ROM,RAM、書き換え可能な不揮発性メモリ等)とを含むマイクロコンピュータで構成されている。
【0028】
駆動回路12は、EPSモータ7(三相ブラシレスモータ)を駆動するために使用される三相ブリッジインバータ回路である。この実施形態では、EPSモータ7を駆動するための駆動回路12が、ロックモータ10を駆動するための駆動回路としても使用される。
この駆動回路12では、EPSモータ7のU相に対応した一対の電界効果トランジスタFET1,FET2の直列回路と、V相に対応した一対の電界効果トランジスタFET3,FET4の直列回路と、W相に対応した一対の電界効果トランジスタFET5,FET6の直列回路とが、直流電源14と接地との間に並列に接続されている。以下において、各相の一対のFETのうち、電源14側のものを「ハイサイドFET」といい、接地側のものを「ローサイドFET」という場合がある。
【0029】
EPSモータ7のU相界磁コイル7Uは、U相に対応した一対のFET1,FET2の間の接続点にU相配線15を介して接続されている。EPSモータ7のV相界磁コイル7Vは、V相配線16および第1のEPS用リレーR1を介して、V相に対応した一対のFET3,FET4の間の接続点に接続されている。EPSモータ7のW相界磁コイル7Wは、W相配線17および第2のEPS用リレーR2を介して、W相に対応した一対のFET5,FET6の間の接続点に接続されている。U相配線15、V相配線16およびW相配線17によって、第1の給電経路が構成されている。また、EPS用リレーR1,R2によって、第1の経路開閉手段が構成されている。
【0030】
EPSモータ7のロータには、ロータの回転に応じて回転する検出用ロータ20が連結されている。検出用ロータ20の周囲には、検出用ロータ20の回転角(EPSモータ7のロータのロータ回転角)を検出するための2つの磁気センサ(回転位置センサ)21,22が配置されている。一方の磁気センサ21を第1の磁気センサ21といい、他方の磁気センサ22を第2の磁気センサ22という場合がある。また、第1の磁気センサ21の出力信号を第1の出力信号V1といい、第2の磁気センサ22の出力信号を第2の出力信号V2という場合がある。また、検出用ロータ20の周囲には、周辺温度を検出するための温度センサ24が配置されている。各磁気センサ21,22および温度センサ24は、制御部13に接続されている。検出用ロータ20の構成については、後述する。
【0031】
ロックモータ10の負極端子(−)は、第1の接続線18および第1のロック装置用リレーR3を介して、U相配線15に接続されている。ロックモータ10の正極端子(+)は、第2の接続線19および第2のロック装置用リレーR4を介して、W相配線17に接続されている。この実施形態では、ロックモータ10が正転方向に回転されるとステアリングホイール1(ステアリングシャフト5の入力軸)の回転がロック(施錠)され、ロックモータ10が逆転方向に回転されるとロックが開錠される。
【0032】
第1の接続線18と第2の接続線19とによって、ロックモータ10を駆動回路12に接続するための給電回路(第2の給電経路)が構成されている。また、ロック装置用リレーR3,R4によって、第2の給電経路を開閉するための経路開閉手段(第2の経路開閉手段)が構成されている。
ローサイドFET2,FET4およびFET6と接地とを接続するための各接続線には、EPSモータ7のV相、W相およびU相の相電流IV,IW,IUを検出するための電流センサ27V,27W,27Uがそれぞれ設けられている。これらの電流センサ27V,27W,27Uは、制御部13に接続されている。
【0033】
制御部13には、車両の速度を検出するための車速センサ25およびステアリングホイール1に与えられた操舵トルクを検出するためのトルクセンサ26が接続されている。
制御部13は、機能処理部として、全体制御部31、ロックモータ制御部32、EPSモータ制御部33および回転角演算部34を備えている。
回転角演算部34は、第1の磁気センサ21の出力信号V1、第2の磁気センサ22の出力信号V2および温度センサ24の出力信号に基づいて、EPSモータ7のロータの回転角(電気角θE)を演算する。回転角演算部34によって演算された電気角θEは、EPSモータ制御部33に与えられる。回転角演算部34の詳細については、後述する。
【0034】
EPSモータ制御部33は、EPS用リレーR1,R2がオンとなっている状態で駆動回路12内のFET1〜FET6を制御することにより、EPSモータ7を駆動する。EPSモータ制御部33の動作モードには、通常モードと強制回転モードとがある。通常モードは、ステアリングロック装置4によってステアリングホイール1の回転がロックされていない通常運転状態において、駆動回路12を介してEPSモータ7を駆動制御するモードである。通常モードにおいては、EPSモータ制御部33は、トルクセンサ26によって検出される操舵トルク、車速センサ25によって検出される車速、電流センサ27U,27V,27Wによって検出される相電流および回転角演算部34から与えられるロータ回転角θEに基づいて、駆動回路12を介してEPSモータ7を制御する。具体的には、EPSモータ制御部33は、操舵トルクと車速とに基づいて目標電流値を決定し、実際のモータ電流が目標電流値に近づくようにFET1〜FET6を制御する。
【0035】
一方、強制回転モードは、イグニッションキーがオンされた直後において、ステアリングロック装置4によってステアリングホイール1の回転がロックされている状態で、EPSモータ7を強制的に回転駆動するモードである。強制回転モードにおいては、EPSモータ制御部33は、予め設定された強制回転モード用の目標電流値と、電流センサ27U,27V,27Wによって検出される相電流および回転角演算部34から与えられるロータ回転角θEに基づいて、駆動回路12を介してEPSモータ7を制御する。具体的には、EPSモータ制御部33は、実際のモータ電流が強制回転モード用の目標電流値に近づくようにFET1〜FET6を制御する。
【0036】
EPSモータ7はステアリングシャフト5の出力軸に減速機8を介して連結されているため、ステアリングシャフト5の入力軸がステアリングロック装置4によってロックされている場合にEPSモータ7に所定のトルクが与えられると、EPSモータ7はトーションバーに捩れを発生させながら、所定範囲内で回転する。この場合のトーションバーの最大捩れ角を例えば6degとし、減速機8の減速比を例えば15とすると、EPSモータ7は、機械角で90deg回転することになる。EPSモータ7のロータに設けられた磁極対数が5である場合には、EPSモータ7は、電気角で450deg回転することになる。
【0037】
ロックモータ制御部32は、ロック装置用リレーR3,R4がオンとなっている状態で駆動回路12内のFET1〜FET6を制御することにより、ロックモータ10を駆動する。ロックモータ制御部32の動作モードには、施錠制御モードと開錠制御モードとがある。
施錠制御モードにおいては、ロックモータ制御部32は、ロックモータ10を正転方向に駆動させて、ステアリングホイール1の回転をロック(施錠)する。具体的には、ロックモータ制御部32は、図3に示すように、EPS用リレーR1,R2がオフであり、ロック装置用リレーR3,R4がオンとなっている状態で、第2のFET2および第5のFET5をオンにする。これにより、電源14から、第5のFET5、第2のロック装置用リレーR4、ロックモータ10、第1のロック装置用リレーR3および第2のFET2を通って、接地へと電流が流れる。これにより、ロックモータ10の正極側端子(+)に正電圧が印加されるので、ロックモータ10が正転方向に回転する。
【0038】
一方、開錠制御モードにおいては、ロックモータ制御部32は、ロックモータ10を逆転方向に駆動させて、ステアリングホイール1のロックを開錠させる。具体的には、ロックモータ制御部32は、図4に示すように、EPS用リレーR1,R2がオフであり、ロック装置用リレーR3,R4がオンとなっている状態で、第1のFET1および第6のFET6をオンにする。これにより、電源14から、第1のFET1、第1のロック装置用リレーR3、ロックモータ10、第2のロック装置用リレーR4および第6のFET6を通って、接地へと電流が流れる。これにより、ロックモータ10の負極側端子(−)に正電圧が印加されるので、ロックモータ10が逆転方向に回転する。
【0039】
全体制御部31は、リレーR1〜R4の制御、制御部13内の各部32〜34の制御等を行う。
検出用ロータ20、磁気センサ21,22、温度センサ24および回転角演算部34は、回転角検出装置を構成している。図5〜図8を参照して、回転角検出装置について説明する。
【0040】
図5は、検出用ロータの構成を示す模式図である。
検出用ロータ20(以下、単に「ロータ20」という)は、EPSモータ7のロータに設けられている磁極対に相当する複数の磁極対を有する円筒状の磁石(多極磁石)20aを含んでいる。つまり、ロータ20には、周方向に並んだ複数の磁極が設けられている。この例では、磁石20aは、5組の磁極対(M1,M2),(M3,M4),(M5,M6),(M7,M8),(M9,M10)を有している。つまり、磁石20aは、10個の磁極M1〜M10を有している。
【0041】
EPSモータ7のロータに設けられた各磁極の周方向の長さは、全て同じである。つまり、EPSモータ7のロータに設けられた各磁極の角度幅は全て同じであり、36°である。したがって、このEPSモータ7では、1磁極対の角度幅は、機械角で72°であり、これが電気角の360°に相当する。これに対し、図5に示すように、ロータ20に設けられている各磁極M1〜M10のうち、N極の磁極M1,M3,M5,M7,M9の角度幅(a,c,e,g,i)は、それぞれ異なっている。つまり、N極の磁極間では、その着磁面積が異なっている。S極の磁極M2,M4,M6,M8,M10のうち、磁極M10以外の4つの磁極M2,M4,M6,M8は、それぞれ異なっている。磁極M10の角度幅(j)は、磁極M6の角度幅(f)と等しい。
【0042】
この実施形態においては、各磁極M1〜M10の角度幅は、表1に示すようになっている。ただし、表1では、角度幅は、その角度幅に対応する機械角に磁極対数(この実施形態では”5”)を乗算した値で表されている。なお、図5において、破線は、ロータ20を周方向に36°(前記電気角では180°)間隔で分割した場合の各領域を示している。
【0043】
【表1】
【0044】
第1および第2の磁気センサ21,22は、ロータ20の回転中心軸を中心として、所定角度(18°(前記電気角では90°))の角度間隔をおいて配置されている。磁気センサとしては、たとえば、ホール素子、磁気抵抗素子(MR素子)等、磁界の作用により電気的特性が変化する特性を有する素子を備えたものを用いることができる。
図5に矢印で示す方向をロータ20の正方向の回転方向とする。そして、ロータ20が正方向に回転されるとロータ20の回転角が大きくなり、ロータ20が逆方向に回転されると、ロータ20の回転角が小さくなるものとする。各磁気センサ21,22からは、図6に示すように、ロータ20の回転にともなって、正弦波状の信号(以下、「正弦波信号」という)V1,V2が出力される。なお、図6における横軸のロータ角度[deg]は、機械角に磁極対数(この実施形態では”5”)を乗算することにより得られた角度を表している。また、図6には、正弦波信号V1の各ピーク値付近に、その時点において第1の磁気センサ21が感知している磁極の領域a〜jが明記されている。
【0045】
ロータ20が1つの磁極に相当する角度を回転すると、各磁気センサ21,22からは、半周期分の正弦波信号が出力される。ただし、この実施形態では、各磁極の角度幅は一定幅ではないため、1つのセンサから出力される正弦波信号における各磁極に対応する半周期は一定ではない。また、磁極M6および磁極M10を除いて、各磁気センサ21,22の出力信号V1,V2の磁極毎のピーク値は、磁極ごとに異なる。
【0046】
所定の基準位置からのロータ20の絶対的な回転角を、ロータ20の絶対回転角(機械角)θAということにする。ロータ20の1回転分の角度範囲を、5つの磁極対の角度幅に対応して、5つの区間(a+b,c+d,e+f,g+h,i+j)に分け、各区間の開始位置を0°とし終了位置を360°として、絶対回転角θAに対応する角度を0〜360°の範囲内で表した角度を、ロータ20の相対回転角θRということにする。なお、この実施形態では、これらの5つの区間の角度幅は、一定幅ではない。
【0047】
ここでは、第1の磁気センサ21からは、5つの磁極対に対応する区間毎に、V1=A1・sinθRの出力信号が出力され、第2の磁気センサ22からは、5つの磁極対に対応する区間毎に、V2=A2・cosθRの出力信号が出力されるものとする。A1,A2は、それぞれ振幅を表している。ただし、振幅A1は、磁極毎に異なる。同様に、振幅A2も磁極ごとに異なる。また、θRは、対応する区間における相対回転角θRを表している。
【0048】
両出力信号V1,V2の振幅A1,A2が互いに等しいとみなすと、対応する区間におけるロータ20の相対角θRは、両出力信号V1,V2を用いて、次式(2)に基づいて求めることができる。
θR=tan−1(sinθR/cosθR)
=tan−1(V1/V2) …(2)
図2に戻り、各磁気センサ21,22の出力信号V1,V2および温度センサ24の出力信号は、回転角演算部34に入力される。回転角演算部34は、各磁気センサ21,22の出力信号V1,V2等に基づいて、ロータ20の相対回転角θRを算出する。また、回転角演算部34は、得られた相対回転角θR等に基いて、ロータ20の絶対回転角(機械角)θAを算出し、得られたロータ20の絶対回転角θAに基づいて、EPSモータ7のロータの電気角θEを演算する。
【0049】
以下、回転角演算部34の動作について説明する。回転角演算部34内の不揮発性メモリには、磁気センサ21,22毎に、振幅補正用テーブルが記憶されている。
図7Aは、第1の磁気センサ21に対応する振幅補正用テーブル(以下、「第1テーブル」という場合がある)の内容例を示している。第1テーブルには、各磁極M1〜M10の磁極番号1〜10毎に、その磁極に対応する第1の出力信号V1のピーク値(極大値または極小値)、その磁極の角度幅[deg]および補正ゲインG1が記憶されている。ただし、角度幅は、表1で説明したように、その角度幅に対応する機械角に磁極対数(この実施形態では”5”)を乗算した値である。補正ゲインG1は、第1の出力信号V1の振幅の磁極毎のばらつきを補正するためのゲインである。
【0050】
任意の磁極に対する振幅補正ゲインG1は、当該磁極に対応する第1の出力信号V1のピーク値(極大値または極小値)と基準振幅とを用い、次式(3)に基いて求められる。基準振幅は、たとえば、角度幅(機械角×磁極対数)が180°の磁極に対応する第1の出力信号V1のピーク値(絶対値)に相当する値である。基準振幅は、予め設定され、この例では“500”である。
【0051】
G1=基準振幅/|ピーク値| …(3)
図7Bは、第2の磁気センサ22に対応する振幅補正用テーブル(以下、「第2テーブル」という場合がある)の内容例を示している。第2テーブルには、各磁極M1〜M10の磁極番号1〜10毎に、その磁極に対応する第2の出力信号V2のピーク値(極大値または極小値)、その磁極の角度幅[deg]および補正ゲインG2が記憶されている。補正ゲインG2は、第2の出力信号V2の振幅の磁極毎のばらつきを補正するためのゲインである。図7Bでは、説明の便宜上、各磁極に対する第2の出力信号V2のピーク値は、対応する磁極に対する第1の出力信号V1のピーク値と同じ値となっているが、実際には互いに異なる場合もある。
【0052】
任意の磁極に対する補正ゲインG2は、当該磁極に対応する第2の出力信号V2のピーク値(極大値または極小値)と基準振幅とを用い、次式(4)に基いて求められる。基準振幅は、たとえば、角度幅(機械角×磁極対数)が180°の磁極に対応する第2の出力信号V2のピーク値(絶対値)に相当する値である。基準振幅は、予め設定され、この例では“500”である。
【0053】
G2=基準振幅/|ピーク値| …(4)
前記振幅補正用テーブルへのピーク値および補正ゲインの記憶は、EPSモータ7の出荷前に行ってもよいし、EPSモータ7の出荷後において、モータ制御中にピーク値を検出することにより、行ってもよい。前記振幅補正用テーブルに記憶されるピーク値および補正ゲインは、1周期分のデータから求めてもよいし、複数周期分のデータの平均値から求めてもよい。
【0054】
また、回転角演算部34内の不揮発性メモリには、磁極毎(磁極番号毎)に、第1の磁気センサ21によってその磁極に対するピーク値が検出されているときに、第2の磁気センサ22が感知している磁極の極番号を示すデータを記憶した磁極特定用テーブル(以下、「第3テーブル」という場合がある)と、磁極毎(磁極番号毎)に、第2の磁気センサ22によってその磁極に対するピーク値が検出されているときに、第1の磁気センサ21が感知している磁極の極番号を示すデータを記憶した磁極特定用テーブル(以下、「第4テーブルという」という場合がある)とが記憶されている。第3テーブルおよび第4テーブルは、両磁気センサ21,22の配置および角度間隔ならびにロータ20の構成に基づいて作成される。
【0055】
回転角演算部34は、第1または第2の磁気センサ21,22の出力信号V1,V2からピーク値を検出すると、ピーク値が検出された一方の磁気センサに対応する振幅補正用テーブル(第1テーブルまたは第2テーブル)に基づいて、当該磁気センサが感知している磁極の極番号を特定する。この際、センサ信号のピーク値は磁石の温度特性(磁石の温度が高くなるほどピーク値が小さくなる)に応じて変化するので、温度センサ24によって検出される温度に応じた磁石の温度係数(温度が高くなるほど小さくなる係数)を振幅補正用テーブルのピーク値に乗算することによってテーブル値を補正し、検出されたピーク値と補正後のテーブル値とに基づいて、磁極の極番号を特定するようにしてもよい。
【0056】
なお、この実施形態では、磁極M6に対応するピーク値と磁極M10に対応するピーク値は同じであるので、磁極M6または磁極M10に対応するピーク値がいずれか一方の磁気センサによって検出されたとしても、回転角演算部34は、当該磁気センサが感知している磁極の極番号を特定することはできない。そこで、回転角演算部34は、回転角演算部34が起動された後、磁極M6,M10以外の磁極に対応するピーク値が一方の磁気センサによって検出されたときに、当該磁気センサが感知している磁極の極番号を特定する。
【0057】
回転角演算部34は、特定された極番号と、第3または第4テーブル(磁極特定用テーブル)とに基づいて、他方の磁気センサが感知している磁極の極番号を特定する。たとえば、第1テーブルに基いて、第1の磁気センサ21が感知している磁極の極番号が特定された場合には、特定された極番号と第3テーブルとに基いて、第2の磁気センサ22が感知している磁極の極番号が特定される。一方、第2テーブルに基いて、第2の磁気センサ22が感知している磁極の極番号が特定された場合には、特定された極番号と第4テーブルとに基いて、第1の磁気センサ21が感知している磁極の極番号が特定される。
【0058】
これにより、各磁気センサ21,22が感知している磁極の極番号が特定されるので、回転角演算部34は、各磁気センサ21,22の出力信号V1,V2を、それらが感知している磁極に対応する補正ゲインG1,G2を用いて補正する。そして、回転角演算部34は、振幅補正後の出力信号に基づいて、ロータ20の相対回転角θRを演算する。また、回転角演算部34は、得られた相対回転角θR等に基づいて絶対回転角θAを演算する。そして、回転角演算部34は、得られた絶対回転角θAから、EPSモータ7の電気角θEを演算する。
【0059】
それ以後は、回転角演算部34は、第1または第2の磁気センサ21,22の出力からピーク値が検出される毎に、ピーク値が検出された一方の磁気センサに対して既に特定されている極番号を更新し、当該磁気センサの出力信号を、更新後の極番号に対応する補正ゲインを用いて補正する。そして、回転角演算部34は、上記と同様に、ロータ20の相対回転角θR、絶対回転角θA、EPSモータ7の電気角θEを演算する。
【0060】
なお、各磁気センサ21,22が感知している磁極が特定されていないときに、各磁気センサ21,22の出力信号V1,V2の振幅を補正するために、ロータ20の周辺温度毎に各出力信号V1,V2のピーク値の初期値(絶対値)が予め決定されて、回転角演算部34内の不揮発性メモリに記憶されている。ある温度での第1の出力信号V1のピーク値の初期値は、例えば当該温度での第1の出力信号V1の各磁極に対するピーク値の絶対値の平均値に相当する。同様に、ある温度での第2の出力信号V2のピーク値の初期値は、例えば当該温度での第2の出力信号V2の各磁極に対するピーク値の絶対値の平均値に相当する。
【0061】
図8は、回転角演算部34による回転角演算処理の手順を示すフローチャートである。
回転角演算部34が起動されると、回転角演算部34は、図8に示される回転角演算処理を、所定の演算周期毎に繰り返し行う。
回転角演算部34は、各磁気センサ21,22の出力信号(センサ値)V1,V2を読み込む(ステップS1)。なお、回転角演算部34のメモリ(たとえば、RAM)には、所定回数前に読み込まれたセンサ値から最新に読み込まれたセンサ値までの、複数回数分のセンサ値が記憶されるようになっている。
【0062】
回転角演算部34は、メモリに記憶されているセンサ値に基づいて、各センサ値V1,V2毎にピーク値(極値)を検出したか否かを判定する(ステップS2)。以下において、ステップS2の判定処理を、ピーク値検出処理という場合がある。具体的には、回転角演算部34は、センサ値が上昇傾向から下降傾向に変化したときには、ピーク値(極大値)を検出したと判別するとともに、当該極大値を特定する。また、回転角演算部34は、センサ値が下降傾向から上昇傾向に変化したときには、ピーク値(極小値)を検出したと判別するとともに、当該極小値を特定する。
【0063】
前記ステップS2において、ピーク値が検出されなかったときには(ステップS2:NO)、回転角演算部34は、回転角演算部34が起動された後において、後述するステップS7の極番号特定処理によって各磁気センサ21,22が感知している磁極が既に特定されているか否かを判別する(ステップS3)。
各磁気センサが感知している磁極が特定されていない場合には(ステップS3:NO)、回転角演算部34は、第1の振幅補正処理を行なう(ステップS4)。具体的には、回転角演算部34は、温度センサ24によって検出されている温度に対応する各出力信号V1,V2のピーク値の初期値Pd1,Pd2を不揮発性メモリからそれぞれ読み込む。そして、回転角演算部34は、前記ステップS1で読み込んだセンサ値V1,V2を、不揮発性メモリから読み込んだPd1,Pd2と基準振幅(この例では500)を用いて、それぞれ補正する。補正後のセンサ値をV1’,V2’とすると、V1’,V2’は、それぞれ次式(5),(6)で表される。
【0064】
V1’=V1×基準振幅/Pd1 …(5)
V2’=V2×基準振幅/Pd2 …(6)
前記ステップS4の第1の振幅補正処理が行われると、回転角演算部34は、ロータ20の相対角θRを算出する(ステップS5)。具体的には、回転角演算部34は、次式(7)に基づいて、ロータ20の相対角θRを算出する。
【0065】
θR=tan−1(V1’/V2’) …(7)
回転角演算部34は、算出された相対角θRを、電気角θEとしてEPSモータ制御部33に与える。そして、今演算周期での処理を終了する。
前記ステップS3において、各磁気センサが感知している磁極が既に特定されていると判別された場合には(ステップS3:YES)、回転角演算部34は、ステップS10に移行する。
【0066】
前記ステップS2において、ピーク値が検出されたときには(ステップS2:YES)、回転角演算部34は、回転角演算部34が起動された後において、後述するステップS7の極番号特定処理によって各磁気センサ21,22が感知している磁極が既に特定されているか否かを判別する(ステップS6)。
各磁気センサが感知している磁極が特定されていない場合には(ステップS6:NO)、回転角演算部34は、極番号特定処理を行なう(ステップS7)。つまり、回転角演算部34は、各磁気センサ21,22がそれぞれ感知している磁極を特定するための処理を行なう。
【0067】
具体的には、回転角演算部34は、まず、前記ステップS2のピーク値検出処理によって検出されたピーク値(極大値または極小値)と、当該ピーク値を出力した磁気センサに対応する振幅補正用テーブル(第1または第2テーブル)の内容とに基づいて、当該磁気センサが感知している磁極を特定する。つまり、回転角演算部34は、振幅補正用テーブルに記憶されている複数のピーク値のうち、ピーク値検出処理によって検出されたピーク値に最も近いピーク値に対応する極番号を、当該磁気センサが感知している磁極の極番号として特定する。
【0068】
ただし、ピーク値検出処理によって検出されたピーク値に最も近いピーク値に対応する極番号が磁極M6または磁極M10に対応する極番号である場合には、回転角演算部34は、当該磁気センサが感知している磁極を特定しない。
前記磁気センサが感知している磁極の極番号を特定できた場合には、回転角演算部34は、当該磁気センサが感知している磁極の極番号と、第3テーブルまたは第4テーブル(磁極特定用テーブル)とに基づいて、他方の磁気センサが感知している磁極を特定する。これにより、各磁気センサ21,22がそれぞれ感知している磁極が特定される。
【0069】
ステップS7の極番号特定処理によって各磁気センサ21,22が感知している磁極が特定された場合には(ステップS8:YES)、ステップS10に移行する。一方、ステップS7の極番号特定処理によって各磁気センサ21,22が感知している磁極が特定されなかった場合には(ステップS8:NO)、前述したステップS4に移行する。
前記ステップS6において、各センサ21,22が感知している磁極の極番号が既に特定されていると判別された場合には(ステップS6:YES)、回転角演算部34は、極番号更新処理を行なう(ステップS9)。具体的には、回転角演算部34は、前記ステップS2のピーク値検出処理によってピーク値が検出された方の磁気センサに対して既に特定されている極番号を、ロータ20の回転方向に基づいて更新する。より具体的には、回転角演算部34は、当該磁気センサに対して既に特定されている極番号を、ロータ20の回転方向に応じて、1だけ多い極番号または1だけ少ない極番号に変更する。
【0070】
ロータ20の回転方向が正方向(図2に矢印で示す方向)である場合には、既に特定されている前記極番号を、1だけ多い極番号に更新し、ロータ20の回転方向が逆方向である場合には、既に特定されている前記極番号を、1だけ少ない極番号に更新する。ただし、”1”の極番号に対して、1だけ少ない極番号は”10”となる。また、”10”の極番号に対して、1だけ多い極番号は”1”となる。ステップS9の処理が終了すると、ステップS10に移行する。
【0071】
なお、ロータ20の回転方向は、たとえば、各磁気センサ21,22の出力信号V1,V2の位相に基いて判別することができる。具体的には、V2の位相がV1より進んでいる場合(同じ磁極に対するピーク値が、V2で検出されてからV1で検出される場合)には、ロータ20の回転方向が正方向であると判別する。一方、V1の位相がV2より進んでいる場合(同じ磁極に対するピーク値が、V1で検出されてからV2で検出される場合)には、ロータ20の回転方向が逆方向であると判別する。
【0072】
ステップS10では、回転角演算部34は、前記ステップS1で読み込んだセンサ値V1,V2に対して第2の振幅補正処理を行う。具体的には、回転角演算部34は、各磁気センサ21,22に対して現在特定されている極番号に対応する振幅補正ゲインG1,G2を、第1テーブルおよび第2テーブルからそれぞれ読み込む。そして、回転角演算部34は、前記ステップS1で読み込んだセンサ値V1,V2を、第1テーブルおよび第2テーブルから読み込んだゲインG1,G2を用いて、それぞれ補正する。補正後のセンサ値をV1’,V2’とすると、V1’,V2’は、それぞれ次式(8),(9)で表される。
【0073】
V1’=V1×G1 …(8)
V2’=V2×G2 …(9)
前記ステップS10の処理(第2の振幅補正処理)が行われると、回転角演算部34は、ロータ20の相対角θRを算出する(ステップS11)。具体的には、回転角演算部34は、次式(10)に基づいて、ロータ20の相対角θRを算出する。
【0074】
θR=tan−1(V1’/V2’) …(10)
次に、回転角演算部34は、ステップS11で算出されたロータ20の相対角θRと、磁気センサ21が感知している磁極の極番号と、振幅補正用テーブルの内容とに基づいて、ロータ20の絶対角(機械角)θAを算出する(ステップS12)。具体的には、回転角演算部34は、磁気センサ21が感知している磁極の極番号に基づいて、磁気センサ21が感知している磁極を特定する。そして、特定した磁極に対応する角度幅Wを求める。たとえば、磁気センサ21が感知している磁極が、10個の磁極のうち、1番目の磁極M1である場合には、その磁極に対応する角度幅Wは、170[deg]となる。
【0075】
前記ステップS11で算出されたロータ20の相対角θRは、磁気センサ21が感知している磁極の角度幅Wが180°であるとして、算出された角度である。そこで、回転角演算部34は、前記ステップS11で算出されたロータ20の相対角θRを、次式(11)に基づいて、磁気センサ21が感知している磁極の領域の角度幅に応じた相対角θR’に変換(位相補正)する。
【0076】
θR’=θR×(W/180°) …(11)
そして、回転角演算部34は、磁気センサ21が感知している磁極と、変換後の相対角θR’とに基いて、ロータ20の絶対角(機械角)θAを算出する。たとえば、磁気センサ21が感知している磁極が1番目の磁極M1である場合には、θA=θR’/5となる。ここで、5は、磁極対数である。
【0077】
磁気センサ21が感知している磁極が2番目の磁極M2である場合には、θA={θR’+(1番目の磁極M1の角度幅)}/5となる。ただし、角度幅は、表1で説明したように、その角度幅に対応する機械角に磁極対数(この実施形態では”5”)を乗算した値である。磁気センサ21が感知している磁極が3番目の磁極対M3である場合には、θA={θR’+(1番目および2番目の磁極M1,M2の角度幅の総和)}/5となる。磁気センサ21が感知している磁極が4番目の磁極M4である場合には、θA={θR’+(1番目〜3番目の磁極M1〜M3の角度幅の総和)}/5となる。磁気センサ21が感知している磁極が5番目の磁極M5である場合には、θA={θR’+(1番目〜4番目の磁極M1〜M4の角度幅の総和)}/5となる。
【0078】
磁気センサ21が感知している磁極が6番目の磁極M6である場合には、θA={θR’+(1番目〜5番目の磁極M1〜M5の角度幅の総和)}/5となる。磁気センサ21が感知している磁極対が7番目の磁極M7である場合には、θA={θR’+(1番目〜6番目の磁極の角度幅M1〜M6の総和)}/5となる。磁気センサ21が感知している磁極が8番目の磁極M8である場合には、θA={θR’+(1番目〜7番目の磁極の角度幅M1〜M7の総和)}/5となる。磁気センサ21が感知している磁極が9番目の磁極M9である場合には、θA={θR’+(1番目〜8番目の磁極の角度幅M1〜M8の総和)}/5となる。磁気センサ21が感知している磁極が10番目の磁極M10である場合には、θA={θR’+(1番目〜9番目の磁極の角度幅M1〜M9の総和)}/5となる。
【0079】
このようにしてロータ20の絶対角θAが算出されると、回転角演算部34は、電気角θEを、算出する(ステップS13)。具体的には、回転角演算部34は、前記ステップS12で演算された絶対角θAと第1の磁気センサ21が感知している磁極の番号(以下、「q1」で表す)とを用い、次式(12)に基づいて、EPSモータ7のロータの電気角θEを算出する。
【0080】
θE=5θA −{360×(n−1)} …(12)
ただし、q1=1または2の場合、n=1、
q1=3または4の場合、n=2、
q1=5または6の場合、n=3、
q1=7または8の場合、n=4、
q1=9または10の場合、n=5である。
【0081】
回転角演算部34は、前記ステップS13で算出された電気角θEをEPSモータ制御部33に与える。そして、今演算周期での処理を終了する。
図9は、制御部13の全体的な動作を示すフローチャートである。
イグニッションキーがオンされることにより、ECU11の電源がオンされると、全体制御部31は、EPS用リレーR1,R2をオンさせる(ステップS21)。なお、ECU11の電源がオンされたときには、各リレーR1〜R4および各FET1〜6は、オフ状態となっている。
【0082】
次に、全体制御部31は、回転角演算部34を起動させる(ステップS22)。これにより、回転角演算部34は、図8を用いて説明した回転角演算処理を開始する。また、全体制御部31は、EPSモータ制御部33を強制回転モードで一定時間動作させる(ステップS23)。これにより、EPSモータ制御部33は、強制回転モードで、EPSモータ7を駆動する。前述したように、この際、EPSモータ7は、機械角で90deg程度(電気角で450deg程度)回転する。このため、強制回転モードでEPSモータ7が回転されている間に、回転角演算部34は、各磁気センサ21,22が感知している磁極を特定できる。
【0083】
前記一定時間が経過すると、全体制御部31は、EPS用リレーR1,R2をオフさせる(ステップS24)。それから、全体制御部31は、ロック装置用リレーR3,R4をオンさせた後に(ステップS25)、ロックモータ制御部32を開錠制御モードで一定時間動作させる(ステップS26)。これにより、ロックモータ制御部32は、開錠制御モードで、ロックモータ10を駆動する。具体的には、ロックモータ制御部32は、第1および第6のFET1,FET6を一定時間オンした後、第1および第6のFET1,FET6をオフにさせる(図4参照)。これにより、ロックモータ10が逆転方向(開錠方向)に一定時間回転するので、ステアリングホイール1に対するロックが開錠される。
【0084】
次に、全体制御部31は、ロック装置用リレーR3,R4をオフさせた後に(ステップS27)、EPS用リレーR1,R2をオンさせる(ステップS28)。そして、全体制御部31は、EPSモータ制御部33を通常モードで動作させる(ステップS29)。これにより、EPSモータ制御部33は、トルクセンサ26によって検出される操舵トルクと車速センサ25によって検出される車速とに応じた目標電流値を設定し、EPSモータ7に流れるモータ電流が目標電流値に等しくなるように、EPSモータ7を駆動する。これにより、操舵状況および車速に応じた適切な操舵補助が実現される。
【0085】
この後、全体制御部31は、イグニッションキーのオフ操作が行なわれたか否かを監視する(ステップS30)。イグニッションキーのオフ操作が行なわれると(ステップS30:YES)、全体制御部31は、トルクセンサ26によって検出される操舵トルクの絶対値が所定のしきい値H(H>0)未満であるか否かを判別する(ステップS31)。このしきい値Hは、零に近い所定の値に設定される。操舵トルクの絶対値がしきい値H以上である場合には、EPSモータ7による操舵補助が必要な状態であると考えられる。そこで、操舵トルクの絶対値がしきい値H以上である場合には(ステップS31:NO)、全体制御部31は、操舵トルクの絶対値がしきい値H未満となるまで待つ。
【0086】
操舵トルクの絶対値が所定のしきい値H未満であると判別された場合には(ステップS31:YES)、全体制御部31は、EPS用リレーR1,R2および全てのFET1〜FET6をオフする(ステップS32)。この後、全体制御部31は、EPSモータ7のモータ電流(EPS電流)が零になるのを待つ(ステップS33)。具体的には、全体制御部31は、電流センサ27U,27V,27Wによって検出される各相の相電流IU,IV,IWが零になるのを待つ。
【0087】
EPS電流が零になると(ステップS33:YES)、全体制御部31は、ロック装置用リレーR3,R4をオンさせた後に(ステップS34)、ロックモータ制御部32を施錠制御モードで一定時間動作させる(ステップS35)。これにより、ロックモータ制御部32は、施錠制御モードで、ロックモータ10を駆動する。具体的には、ロックモータ制御部32は、第2および第5のFET2,FET5を一定時間オンした後、第2および第5のFET2,FET5をオフにさせる(図5参照)。これにより、ロックモータ10が正転方向(施錠方向)に一定時間回転するので、ステアリングホイール1の回転がロックされる。
【0088】
次に、全体制御部31は、ロック装置用リレーR3,R4をオフさせた後に(ステップS36)、ECU11の電源をオフする(ステップS37)。そして、制御部13による処理を終了する。
前記第1の実施形態によれば、イグニッションキーがオンされてからステアリングホイール1のロックが開錠されるまでの間において、EPSモータ7が強制駆動モードで回転されている間に、各磁気センサ21,22が感知している磁極を特定できる。したがって、ステアリングホイール1のロックが開錠された直後から、精度の高いロータ回転角を演算することができる。これにより、ステアリングホイール1の操作が可能となった直後から、EPSモータ7を適切に制御することができるようになる。
【0089】
また、前記第1の実施形態によれば、EPSモータ7を駆動するための駆動回路(三相ブリッジインバータ回路)12によって、ロックモータ10を駆動することができる。つまり、1つの駆動回路によって、EPSモータ7とロックモータ10とを駆動することが可能となる。このため、EPSモータ7とロックモータ10とを駆動するために必要なFET等のスイッチング素子の数を低減させることができる。
【0090】
次に、図10〜図13を参照して、回転角検出装置の第1変形例について説明する。
第1変形例においても、検出用ロータの構成および磁気センサの数および配置は、前記第1の実施形態と同じである(図5参照)。第1変形例では、回転角演算部34による回転角演算処理が、前記第1の実施形態と異なっている。
第1変形例においても、回転角演算部34内の書き換え可能な不揮発性メモリには、第1の実施形態と同様に、図7Aに示されるような振幅補正用テーブル(第1テーブル)および図7Bに示されるような振幅補正用テーブル(第2テーブル)が記憶されているとともに、ロータ20の周辺温度毎の各出力信号V1,V2のピーク値の初期値(絶対値)が記憶されている。一方、第1変形例においては、第1の実施形態で用いられる磁極特定用テーブル(第3テーブルおよび第4テーブル)」は、不要である。
【0091】
第1変形例では、回転角演算部34は、ロータ20の回転速度が所定速度以下の場合には、第1または第2の磁気センサ21,22の出力信号V1,V2からピーク値を検出し、検出したピーク値に基づいて、各磁気センサ21,22が感知している磁極を特定する。一方、ロータ20の回転速度が所定速度より速い場合には、回転角演算部34は、第1または第2の磁気センサ21,22の出力信号V1,V2からゼロクロスのタイミングを検出し、検出したゼロクロスのタイミングに基づいて、各磁気センサ21,22が感知している磁極を特定する。これは、ロータ20の回転速度が速い場合には、出力信号V1,V2のピークを検出できないおそれがあるからである。
【0092】
図10は、第1変形例における回転角演算部34による回転角演算処理の手順を示すフローチャートである。
回転角演算部34が起動されると、回転角演算部34は、図10に示される回転角演算処理を、所定の演算周期毎に繰り返し行う。
回転角演算処理開始時において第1の磁気センサ21が感知している磁極を基準磁極として、各磁極に相対的な番号を割り当てた場合の各磁極の番号を相対的極番号と定義する。第1の磁気センサ21が感知している相対的極番号(以下、「第1の相対的極番号」という)を変数r1で表し、第2の磁気センサ22が感知している相対的極番号(以下、「第2の相対的極番号」という)を変数r2で表すことにする。なお、各相対的極番号r1,r2は、1から10の整数をとり、1より少ない相対的極番号は10となり、10より1大きい相対的極番号は1となるものとする。この実施形態では、回転角演算処理開始時において、第1の磁気センサ21が感知している磁極(基準磁極)には、例えば、1の相対的極番号が割り当てられる。
【0093】
また、第1の磁気センサ21が感知している磁極の極番号(絶対的極番号)を変数q1で表し、第2の磁気センサ22が感知している磁極の極番号(絶対的極番号)を変数q2で表すものとする。なお、各極番号q1,q2は、1から10の整数をとり、1より少ない極番号は10となり、10より1大きい極番号は1となるものとする。
回転角演算部34は、各磁気センサ21,22の出力信号(センサ値)V1,V2を読み込む(ステップS41)。なお、回転角演算部34のメモリ(たとえば、RAM)には、所定回数前に読み込まれたセンサ値から最新に読み込まれたセンサ値までの、複数回数分のセンサ値が記憶されるようになっている。
【0094】
また、この実施形態では、センサ値V1のピーク値(極大値および極小値)を検出するために、読み込まれたセンサ値V1のうち絶対値がより大きいセンサ値が、センサ値V1のピーク値候補としてメモリに保存される。同様に、センサ値V2のピーク値(極大値および極小値)を検出するために、読み込まれたセンサ値V2のうち絶対値がより大きいセンサ値が、センサ値V2のピーク値候補としてメモリに保存される。ただし、これらのピーク値候補は、対応する出力信号のゼロクロスが検出されたときには、後述するような所定のタイミングでゼロにリセットされる。
【0095】
前記ステップS41で各センサ値V1,V2が読み込まれると、回転角演算部34は、今回の処理が回転角演算処理開始後の初回の処理であるか否かを判別する(ステップS42)。今回の処理が回転角演算処理開始後の初回の処理である場合には(ステップS42:YES)、回転角演算部34は、相対的極番号の設定処理を行う(ステップS43)。具体的には、回転角演算部34は、第1の相対的極番号r1を1に設定する。また、回転角演算部34は、第1の磁気センサ21が感知している磁極と第2磁気センサ22が感知している磁極とが同じである場合には第2の相対的極番号r2を1に設定し、異なる場合には第2の相対的極番号r2を2に設定する。
【0096】
より具体的に説明する。たとえば、ロータ1の磁極M1と磁極M2とからなる磁極対が第1の磁気センサ21を通過する際の、第1および第2の磁気センサ21,22の出力信号V1,V2の信号波形を模式的に表すと、図11(a)(b)に示すようになる。
図11(a)(b)において、S1で示す領域は、第1の磁気センサ21および第2の磁気センサ22が共に磁極M1を感知している領域である。S2で示す領域は、第1の磁気センサ21が磁極M1を感知し、第2の磁気センサ22が磁極M2を感知している領域である。S3で示す領域は、第1の磁気センサ21および第2の磁気センサ22が共に磁極M2を感知している領域である。S4で示す領域は、第1の磁気センサ21が磁極M2を感知し、第2の磁気センサ22が磁極M3を感知している領域である。
【0097】
つまり、領域S1およびS3では、第2の磁気センサ22が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号と等しくなる。一方、領域S2およびS4では、第2の磁気センサ22が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より1だけ大きくなる。
領域S1においては、両センサ値V1,V2は、V1≧0かつV2>0の第1条件を満たす。領域S2においては、両センサ値V1,V2は、V1>0かつV2≦0の第2条件を満たす。領域S3においては、両センサ値V1,V2は、V1≦0かつV2<0の第3条件を満たす。領域S4においては、両センサ値V1,V2は、V1<0かつV2≧0の第4条件を満たす。
【0098】
そこで、回転角演算部34は、前記第1条件または前記第3条件を満たしている場合には、第1の相対的極番号r1および第2の相対的極番号r2を1に設定する。一方、前記第2条件または前記第4条件を満たしている場合には、回転角演算部34は、第1の相対的極番号r1を1に設定し、第2の相対的極番号r2を2に設定する。
相対的極番号の設定処理が終了すると、ステップS44に移行する。前記ステップS42において、今回の処理が回転角演算処理開始後の初回の処理ではないと判別された場合には(ステップS42:NO)、ステップS44に移行する。
【0099】
ステップS44では、回転角演算部34は、メモリに記憶されているセンサ値V1,V2に基づいて、センサ値V1,V2毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する。ゼロクロスが検出されなかったときには(ステップS44:NO)、回転角演算部34は、回転角演算処理開始後において後述するステップS55またはS60の極番号特定処理によって各磁気センサ21,22が感知している磁極の極番号q1,q2が既に特定されているか否かを判別する(ステップS45)。
【0100】
各磁気センサが感知している磁極が特定されていない場合には(ステップS45:NO)、回転角演算部34は、第1の振幅補正処理を行なう(ステップS46)。この処理は、前述した図8のステップS4の処理と同様なので、その説明を省略する。
前記ステップS46の第1の振幅補正処理が行われると、回転角演算部34は、ロータ20の相対角θRを算出する(ステップS47)。この処理は、前述した図8のステップS5の処理と同様なので、その説明を省略する。回転角演算部34は、算出された相対角θRを、電気角θEとしてEPSモータ制御部33に与える。そして、今演算周期での処理を終了する。
【0101】
前記ステップS45において、各磁気センサ21,22が感知している磁極の極番号q1,q2が既に特定されていると判別された場合には(ステップS45:YES)、回転角演算部34は、ステップS63に移行する。
前記ステップS44において、いずれかのセンサ値V1,V2に対してゼロクロスが検出された場合には、回転角演算部34は、ゼロクロスのタイミング(以下、「ゼロクロスタイミング」という)を演算してメモリに記憶する(ステップS48)。この際、メモリには、当該ゼロクロスタイミングが、出力信号V1,V2のうちのいずれに対応するゼロクロスタイミングであるかが識別可能に記憶される。
【0102】
ゼロクロスタイミングは、センサ値の符号が反転したことを検出したタイミングであってもよい。また、ゼロクロスタイミングは、センサ値の符号が反転する前後の2つのセンサ値(サンプリング値)を線形補間することによって求めてもよい。たとえば、図12に示すように、符号が反転する直前に検出されたセンサ値がy1で、符号が反転した直後に検出されたセンサ値がy2である場合には、センサ値y1が検出された時点を基準とすると、ゼロクロスタイミングtaは、次式(13)に基づいて演算される。
【0103】
ta=Ts×{y1/(y1−y2)}…(13)
ただし、Tsは、センサ値V1,V2のサンプリング間隔である。
たとえば、y1=0.2,y2=−0.1,Ts=100μsecである場合には、ta=0.0667msecとなる。
また、図12に示すように、符号が反転する直前に検出されたセンサ値がy3で、符号が反転した直後に検出されたセンサ値がy4である場合には、前記センサ値y1が検出された時点を基準とすると、ゼロクロスタイミングtbは、次式(14)に基づいて演算される。
【0104】
tb=Ts×{y3/(y3−y4)}+ΔT…(14)
ただし、ΔTは、センサ値y1が検出されてからセンサ値y3が検出されるまでの時間間隔である。
たとえば、y3=−0.2,y4=0.1,Ts=100μsec,ΔT=44msecである場合には、tb=44.0667msecとなる。
【0105】
図10に戻り、前記ステップS48において、ゼロクロスタイミングが演算されると、回転角演算部34は、今回演算されたゼロクロスタイミングと、今回ゼロクロスが検出された出力信号に対して前回演算されたゼロクロスタイミングとの時間間隔(以下、「ゼロクロス間隔」という)を演算する(ステップS49)。なお、ステップS49において、前回のゼロクロスタイミングが存在しないために、ゼロクロス間隔が演算されなかった場合には、回転角演算部34は、ステップS51に移行する。
【0106】
前記ステップS49でゼロクロス間隔が演算されると、回転角演算部34は、演算されたゼロクロス間隔が所定値A未満であるか否かを判別することにより、ロータ20の回転速度が所定速度より速いか否かを判別する(ステップS50)。回転角演算部34は、ゼロクロス間隔が所定値A未満である場合には、ロータ20の回転速度が所定速度より速いと判別し、ゼロクロス間隔が所定値A以上の場合にはロータ20の回転速度が所定速度以下であると判別する。なお、ロータ20の1回転分のゼロクロス間隔の総和が所定値未満であるか否かを判別することにより、ロータ20の回転速度が所定速度より速いか否かを判別してもよい。このようにすると、各ゼロクロス間隔の誤差によるロータ20の回転速度の検出誤差を低減できる。
【0107】
ゼロクロス間隔が所定値A以上(ロータ20の回転速度が所定速度以下)であると判別された場合には(ステップS50:NO)、回転角演算部34は、回転角演算処理開始後において後述するステップS55またはS60の極番号特定処理によって各磁気センサ21,22が感知している磁極の極番号q1,q2が既に特定されているか否かを判別する(ステップS51)。各磁気センサ21,22が感知している磁極の極番号q1,q2が特定されていない場合には(ステップS51:NO)、回転角演算部34は、前記ステップS44でゼロクロスが検出された出力信号に対してピーク値検出処理を行い、ピーク値(極大値または極小値)を検出したか否かを判定する(ステップS52)。
【0108】
ピーク値検出処理について具体的に説明する。前記ステップS44でゼロクロスが検出された出力信号に対応する磁気センサをピーク値検出対象の磁気センサということにする。回転角演算部34は、まず、ピーク値検出対象の磁気センサが感知している磁極が変化したか否かを判別する。つまり、回転角演算部34は、ピーク値検出対象の磁気センサが感知している磁極位置が、当該磁気センサの出力信号のゼロクロスが前回検出された時点と、今回検出された時点とで、異なっているか同じであるかを判定する。ロータ20の回転方向が逆転した場合には、前記両時点での磁極位置が同じになる可能性がある。
【0109】
この判定は、たとえば、ピーク値検出対象の磁気センサの出力信号のゼロクロスが前回検出された時点でのロータ20の回転方向と、当該出力信号のゼロクロスが今回検出された時点でのロータ20の回転方向が同じ方向であるか否かに基づいて行うことができる。すなわち、回転角演算部34は、前記両時点でのロータ20の回転方向が同じ方向であれば、ピーク値検出対象の磁気センサが感知している磁極が変化したと判定する。一方、前記両時点でのロータ20の回転方向が異なっていれば、回転角演算部34は、ピーク値検出対象の磁気センサが感知している磁極が変化していないと判定する。
【0110】
ピーク値検出対象の磁気センサが感知している磁極が変化したと判定された場合には、回転角演算部34は、ピーク値を検出したと判別するとともに、当該磁気センサに対応するピーク値候補をピーク値として特定する。一方、ピーク値検出対象の磁気センサが感知している磁極が変化していないと判定された場合には、回転角演算部34は、ピーク値を検出しなかったと判定する。
【0111】
なお、ロータ20の回転方向は、例えば、ゼロクロスが検出された出力信号の前回値および今回値と、他方の出力信号の今回値とに基づいて判定することができる。具体的には、ゼロクロスが検出された出力信号が第1の出力信号V1である場合には、「第1の出力信号V1の前回値が0より大きくかつその今回値が0以下であり、第2の出力信号V2が0より小さい」という条件、または「第1の出力信号V1の前回値が0未満でかつその今回値が0以上であり、第2の出力信号V2が0より大きい」という条件を満たしている場合には、回転方向は正方向(図5に矢印で示す方向)であると判定される。
【0112】
一方、「第1の出力信号V1の前回値が0以上でかつその今回値が0未満であり、第2の出力信号V2が0より大きい」という条件、または「第1の出力信号V1の前回値が0以下でかつその今回値が0より大きく、第2の出力信号V2が0より小さい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
ゼロクロスが検出された出力信号が第2の出力信号V2である場合には、「第2の出力信号V2の前回値が0より大きくかつその今回値が0以下であり、第1の出力信号V1が0より大きい」という条件、または「第2の出力信号V2の前回値が0未満でかつその今回値が0以上であり、第1の出力信号V1が0より小さい」という条件を満たしている場合には、回転方向は正方向(図5に矢印で示す方向)であると判定される。一方、「第2の出力信号V2の前回値が0以上でかつその今回値が0未満であり、第1の出力信号V1が0より小さい」という条件、または「第2の出力信号V2の前回値が0以下でかつその今回値が0より大きく、第1の出力信号V1が0より大きい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
【0113】
前記ステップS52でピーク値が検出されなかったと判別された場合には、回転角演算部34は、前記ステップS44でゼロクロスが検出された出力信号に対応するピーク値候補を0にリセットした後、相対的極番号の更新処理を行なう(ステップS53)。具体的には、回転角演算部34は、前記ステップS44でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1またはr2を、ロータ20の回転方向に応じて、1だけ大きい番号または1だけ小さい番号に変更する。
【0114】
ロータ20の回転方向が正方向(図5に矢印で示す方向)である場合には、回転角演算部34は、前記ステップS44でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1またはr2を、1だけ大きい番号に更新する。一方、ロータ20の回転方向が逆方向である場合には、回転角演算部34は、ゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1またはr2を、1だけ小さい番号に更新する。ただし、前述したように、”1”の相対的極番号に対して、1だけ小さい相対的極番号は、”10”となる。また、”10”の相対的極番号に対して、1だけ大きい相対的極番号は、”1”となる。ステップS53の処理が終了すると、回転角演算部34は、前述したステップS46に移行する。
【0115】
前記ステップS52において、ピーク値が検出されたと判別されたときには(ステップS52:YES)、回転角演算部34は、前記ステップS44でゼロクロスが検出された出力信号に対応するピーク値候補を0にリセットした後、相対的極番号の更新処理を行なう(ステップS54)。具体的には、回転角演算部34は、前述したステップS53の相対的極番号の更新処理と同様な方法で、前記ステップS44でゼロクロスが検出された方の磁気センサに対して既に設定されている相対的極番号r1またはr2を、ロータ20の回転方向に基づいて更新する。
【0116】
前記ステップS54の相対的極番号の更新処理が終了すると、回転角演算部34は、ピーク値検出に基づく極番号特定処理を行なう(ステップS55)。つまり、回転角演算部34は、前記ステップS52で検出されたピーク値等に基づいて、各磁気センサ21,22がそれぞれ感知している磁極の極番号q1,q2を特定するための処理を行なう。
具体的には、回転角演算部34は、まず、前記ステップS52のピーク値検出処理によって検出されたピーク値(極大値または極小値)と、当該ピーク値を出力した磁気センサに対応する振幅補正用テーブル(第1または第2テーブル)の内容とに基づいて、当該磁気センサが感知している磁極の極番号q1またはq2を特定する。つまり、回転角演算部34は、振幅補正用テーブルに記憶されている複数のピーク値のうち、ピーク値検出処理によって検出されたピーク値に最も近いピーク値に対応する極番号を、当該磁気センサが感知している磁極の極番号q1またはq2として特定する。
【0117】
ただし、ピーク値検出処理によって検出されたピーク値に最も近いピーク値に対応する極番号が磁極M6または磁極M10に対応する極番号である場合には、回転角演算部34は、当該磁気センサが感知している磁極を特定しない。
前記磁気センサが感知している磁極の極番号q1またはq2を特定できた場合には、回転角演算部34は、当該磁気センサが感知している磁極の極番号q1またはq2と、第1および第2の相対的極番号r1,r2とに基づいて、他方の磁気センサが感知している磁極を特定する。たとえば、第1の磁気センサ21が感知している磁極の極番号q1が特定された場合には、回転角演算部34は、q2=(q1−r1)+r2に基づいて、第2の磁気センサ22が感知している磁極の極番号q2を特定する。一方、第2の磁気センサ22が感知している磁極の極番号q2が特定された場合には、回転角演算部34は、q1=(q2−r2)+r1に基づいて、第1の磁気センサ21が感知している磁極の極番号q1を特定する。これにより、各磁気センサ21,22がそれぞれ感知している磁極の極番号q1,q2が特定される。
【0118】
ステップS55の極番号特定処理によって各磁気センサ21,22が感知している磁極が特定された場合には(ステップS56:YES)、ステップS63に移行する。一方、ステップS55の極番号特定処理によって各磁気センサ21,22が感知している磁極が特定されなかった場合には(ステップS56:NO)、前述したステップS46に移行する。
【0119】
前記ステップS51において、各センサ21,22が感知している磁極の極番号q1,q2が既に特定されていると判別された場合には(ステップS51:YES)、回転角演算部34は、前記ステップS44でゼロクロスが検出された出力信号に対応するピーク値候補を0にリセットした後、極番号更新処理を行なう(ステップS57)。具体的には、回転角演算部34は、前記ステップS44でゼロクロスが検出された磁気センサに対して既に特定されている極番号q1またはq2を、ロータ20の回転方向に応じて、1だけ多い極番号または1だけ少ない極番号に変更する。
【0120】
ロータ20の回転方向が正方向(図5に矢印で示す方向)である場合には、ゼロクロスが検出された磁気センサに対して既に特定されている極番号q1またはq2を、1だけ多い極番号に更新し、ロータ20の回転方向が逆方向である場合には、当該磁気センサに対して既に特定されている前記極番号q1またはq2を、1だけ少ない極番号に更新する。ただし、”1”の極番号に対して、1だけ少ない極番号は、”10”となる。また、”10”の極番号に対して、1だけ多い極番号は、”1”となる。ステップS57の処理が終了すると、ステップS63に移行する。
【0121】
前記ステップS50において、ゼロクロス間隔が所定値A未満である(ロータ20の回転速度が所定速度より速い)と判別された場合には(ステップS50:YES)、回転角演算部34は、前記ステップS44でゼロクロスが検出された出力信号に対応するピーク値候補を0にリセットした後、ステップS58に移行する。
ステップS58では、回転角演算部34は、回転角演算処理開始後において前述したステップS55の極番号特定処理または後述するステップS60の極番号特定処理によって各磁気センサが感知している磁極が既に特定されているか否かを判別する。各磁気センサが感知している磁極が特定されていない場合には(ステップS58:NO)、回転角演算部34は、相対的極番号の更新処理を行なう(ステップS59)。具体的には、回転角演算部34は、前述したステップS53の相対的極番号の更新処理と同様な方法で、前記ステップS44でゼロクロスが検出された方の磁気センサに対して既に設定されている相対的極番号r1またはr2を、ロータ20の回転方向に基づいて更新する。
【0122】
前記ステップS59の相対的極番号の更新処理が終了すると、ゼロクロス検出に基づく極番号特定処理を行なう(ステップS60)。つまり、回転角演算部34は、前記ステップS49で演算されたゼロクロス間隔等に基づいて、各磁気センサ21,22がそれぞれ感知している磁極を特定する。
具体的には、回転角演算部34は、まず、次のようにして、今回ゼロクロスが検出された磁気センサが感知している磁極を特定する。
【0123】
前記ステップS49において演算されたゼロクロス間隔をTxとする。また、今回ゼロクロスが検出された磁気センサの出力信号に基づいて演算されたロータ20の最新の1回転分のゼロクロス間隔の総和をΣTとする。回転角演算部34は、次式(15)に基づいて、今回ゼロクロスが検出された磁気センサが直前まで感知していた磁極(直前感知磁極)の角度幅(機械角×磁極対数)に応じた値Dを演算する。
【0124】
D=(Tx/ΣT)×1800 …(15)
前記式(15)中の”1800”は、各磁極M1〜M10の角度幅(機械角×磁極対数)の総和である。つまり、前記式(15)中の”1800”は、ロータ20の1回転分の回転角度(電気角)である。
回転角演算部34は、振幅補正用テーブル(図7A,図7B参照)に記憶されている各磁極M1〜M10の角度幅(機械角×磁極対数)のうち、前記式(15)によって演算された値Dに最も近い角度幅に対応する極番号を、直前感知磁極の極番号として特定する。そして、ロータ20の回転方向が正方向である場合には、回転角演算部34は、前記直前感知磁極の極番号より1だけ多い極番号を、当該磁気センサが感知している磁極の極番号として特定する。一方、ロータ20の回転方向が逆方向である場合には、回転角演算部34は、前記直前感知磁極の極番号より1だけ少ない極番号を、当該磁気センサが感知している磁極の極番号として特定する。ただし、ただし、”1”の極番号に対して、1だけ少ない極番号は、”10”となる。また、”10”の極番号に対して、1だけ多い極番号は、”1”となる。
【0125】
たとえば、前記ステップS49において演算されたゼロクロス間隔が第1の磁気センサ21に対するゼロクロス間隔であり、ロータ20の回転方向が正方向であるとする。そして、第1の磁極センサ21の出力信号V1が図13に示されるような信号である場合には、ΣTは、ゼロクロス間隔T1〜T10の総和となる。また、Txは、ゼロクロス間隔T1〜T10のうちのいずれかとなる。また、たとえば、ΣT=0.05sec,Tx=0.0044secである場合には、D=158.6となる。図7Aの振幅補正用テーブルから、Dに最も近い角度幅を有する磁極は、M3となる。したがって、磁極M3に対応する極番号”3”が直前感知磁極の極番号として特定される。ロータ20の回転方向が正方向であるので、直前感知磁極の極番号より1だけ多い極番号”4”が第1の磁気センサ21が感知している磁極の極番号として特定される。
【0126】
ただし、前記式(15)によって演算された値Dに最も近い角度幅に対応する極番号が磁極M6または磁極M10に対応する極番号である場合には、回転角演算部34は、磁気センサが感知している磁極を特定しない。また、回転角演算部34は、ロータ20の1回転分のゼロクロス間隔が演算されていない場合には、磁気センサが感知している磁極を特定しない。
【0127】
今回ゼロクロスが検出された磁気センサが感知している磁極の極番号q1またはq2を特定できた場合には、回転角演算部34は、当該磁気センサが感知している磁極の極番号q1またはq2と、第1および第2の相対的極番号r1,r2とに基づいて、他方の磁気センサが感知している磁極を特定する。たとえば、第1の磁気センサ21が感知している磁極の極番号q1が特定された場合には、回転角演算部34は、q2=(q1−r1)+r2に基づいて、第2の磁気センサ22が感知している磁極の極番号q2を特定する。一方、第2の磁気センサ22が感知している磁極の極番号q2が特定された場合には、回転角演算部34は、q1=(q2−r2)+r1に基づいて、第1の磁気センサ21が感知している磁極の極番号q1を特定する。これにより、各磁気センサ21,22がそれぞれ感知している磁極の極番号q1,q2が特定される。
【0128】
ステップS60の極番号特定処理によって各磁気センサ21,22が感知している磁極が特定された場合には(ステップS61:YES)、ステップS63に移行する。一方、ステップS60の極番号特定処理によって各磁気センサ21,22が感知している磁極が特定されなかった場合には(ステップS61:NO)、前述したステップS46に移行する。
【0129】
前記ステップS58において、各センサ21,22が感知している磁極の極番号が既に特定されていると判別された場合には(ステップS58:YES)、回転角演算部34は、極番号更新処理を行なう(ステップS62)。具体的には、回転角演算部34は、前述したステップS57の極番号更新処理と同様な方法で、今回ゼロクロスが検出された磁気センサに対して既に特定されている極番号q1またはq2を、ロータ20の回転方向に基づいて更新する。ステップS62の処理が終了すると、ステップS63に移行する。
【0130】
ステップS63では、回転角演算部34は、前記ステップS41で読み込んだセンサ値V1,V2に対して第2の振幅補正処理を行う。この処理は、前述した図8のステップS10の処理と同様である。次に、回転角演算部34は、ロータ20の相対角θRを算出する(ステップS64)。この処理は、前述した図8のステップS11の処理と同様である。
【0131】
次に、回転角演算部34は、ロータ20の相対角θRと、磁気センサ21が感知している磁極の極番号q1と、振幅補正テーブルの内容とに基づいて、ロータ20の絶対角(機械角)θAを算出する(ステップS65)。この処理は、前述した図8のステップS12の処理と同様である。そして、回転角演算部34は、ロータ20の絶対角(機械角)θAに基づいて、EPSモータ7のロータの電気角θEを算出する(ステップS66)。この処理は、前述した図8のステップS13の処理と同様である。
【0132】
前記第1変形例においても、第1の実施形態と同様な効果が得られる。
次に、図14〜図17を参照して、回転角検出装置の第2変形例について説明する。
第2変形例では、検出用ロータの構成および回転角演算部34による回転角演算処理が、が前記第1の実施形態と異なっている。
図14は、第2変形例における検出用ロータ20の構成を示す模式図である。
【0133】
第2変形例においては、EPSモータ7のロータには、4組の磁極対が設けられているものとする。ロータ20は、EPSモータ7のロータに設けられている磁極対に相当する複数の磁極対を有する円筒状の磁石(多極磁石)20aを含んでいる。
磁石20aは、4組の磁極対(M1,M2)(M3,M4)(M5,M6)(M7,M8)を有している。つまり、磁石20aは、等角度間隔で配置された8個の磁極M1〜M8を有している。各磁極M1〜M8は、ロータ20の回転中心軸を中心として、45°(電気角では180°)の角度間隔で配置されている。各磁極M1〜M8の磁力の大きさは、一定ではない。
【0134】
ロータ20の周囲には、2つの磁気センサ21,22が配置されている。これらの磁気センサ21,22は、ロータ20の回転中心軸を中心として、所定角度22.5°(電気角では90°)の角度間隔をおいて配置されている。これら2つの磁気センサ21,22を、それぞれ第1の磁気センサ21および第2の磁気センサ22という場合がある。
図14に矢印で示す方向をロータ20の正方向の回転方向とする。そして、ロータ20が正方向に回転されるとロータ20の回転角が大きくなり、ロータ20が逆方向に回転されると、ロータ20の回転角が小さくなるものとする。各磁気センサ21,22からは、図15に示すように、ロータ20が1磁極対分に相当する角度90°(電気角では360°)を回転する期間を一周期とする正弦波信号V1,V2が出力される。図15における横軸のロータ角度[deg]は、機械角を表している。
【0135】
この実施形態では、N極の極性を有する各磁極M1,M3,M5,M7を極位置特定用磁極とすると、ロータ20(磁石20a)は、隣り合う極位置特定用磁極の組合せ(M1,M3),(M3,M5),(M5,M7),(M7,M1)毎に、隣り合う極位置特定用磁極に対する各正弦波信号V1,V2のピーク値(極値)の比が識別可能に異なるような磁極特性を有している。
【0136】
図15は、ロータ20の磁極M8と磁極M1との境界が第1の磁気センサ21に対向している場合のロータ20の回転角を0°にとった場合のロータ角度(機械角)に対する、各磁気センサ21,22の出力信号V1,V2を示している。また、図15には、ロータ角度に対応して、第1の磁気センサ21が感知している磁極M1〜M8が示されている。
所定の基準位置からのロータ20の絶対的な回転角を、ロータ20の機械角θMということにする。ロータ20の1回転分の角度範囲を、5つの磁極対に対応して4つの区間に分け、各区間の開始位置を0°とし終了位置を360°として表したロータ20の回転角を、ロータ20の電気角θEということにする。
【0137】
ここでは、第1の磁気センサ21からは、4つの磁極対に対応する区間毎に、V1=A1・sinθEの出力信号が出力されるものとする。この場合、第2の磁気センサ22からは、4つの磁極対に対応する区間毎に、V2=A2・sin(θE+90°)=A2・cosθEの出力信号が出力される。したがって、各磁気センサ21,22からは、互いに所定の位相差90°(電気角)を有する正弦波信号が出力される。A1,A2は、それぞれ振幅を表している。ただし、振幅A1,A2は、磁極の磁力の大きさによって変動する。各磁気センサ21,22の出力信号V1,V2を、それぞれ第1の出力信号V1および第2の出力信号V2という場合がある。
【0138】
回転角演算部34は、各磁気センサ21,22の出力信号V1,V2のピーク値(極値:極大値および極小値)を検出する。回転角演算部34は、検出されたピーク値に基づいて、任意の隣り合う極位置特定用磁極(この例では、N極の磁極)の第1出力信号V1のピーク値(この例では、極大値)の比または第2の出力信号V2のピーク値(この例では、極大値)の比を演算する。回転角演算部34は、演算された極値比と、隣り合う極位置特定用磁極の組み合わせ毎に予め設定された極値比データに基づいて、各磁気センサ21,22が感知している磁極を特定する。回転角演算部34は、特定した磁極に応じて、各出力信号V1,V2の振幅を補正する。回転角演算部34は、振幅補正後の各出力信号V1’,V2’に基づいて、ロータ20の電気角θEを算出する。回転角演算部34によって演算された電気角θEは、EPSモータ制御部33に与えられる。
【0139】
回転角演算部34の不揮発性メモリには、磁気センサ21,22毎に、ピーク値テーブルが記憶されているとともに、隣り合う極位置特定用磁極の組み合わせ毎に予め設定された極値比データが記憶されている。また、回転角演算部34内の不揮発性メモリには、第1の実施形態と同様に、ロータ20の周辺温度毎の各出力信号V1,V2のピーク値の初期値(絶対値)が記憶されている。
【0140】
図16は、ピーク値テーブルの内容を示す模式図である。
ピーク値テーブルには、各磁極M1〜M8の極番号1〜8毎に、その磁極に対応する第1の出力信号V1のピーク値(極大値または極小値)P1(1)〜P1(8)(図15参照)と、その磁極に対応する第2の出力信号V2のピーク値(極大値または極小値)P2(1)〜P2(8)とが記憶されている。なお、各磁気センサ21,22としては、特性がほぼ等しいものが用いられているので、同じ磁極に対する各磁気センサ21,22の出力信号V1,V2のピーク値はほぼ同様な値となる。
【0141】
前記ピーク値テーブルへのピーク値の記憶は、たとえば、EPSモータ7の出荷前に行われる。前記振幅補正用ピーク値テーブルに記憶されるピーク値は、1周期分のデータから求めてもよいし、複数周期分のデータの平均値から求めてもよい。
極値比データは、この実施形態では、次の4種類のデータD1〜D4からなる。
(i)D1=P1(1)/P1(3)
磁極M1に対するピーク値(極大値)P1(1)と磁極M3に対するピーク値(極大値)P1(3)との比であり、この実施形態では、0.6である。なお、D1をD1=P2(1)/P2(3)によって求めてもよい。
(ii)D2=P1(3)/P1(5)
磁極M3に対するピーク値(極大値)P1(3)と磁極M5に対するピーク値(極大値)P1(5)との比であり、この実施形態では、0.83である。なお、D2をD2=P2(3)/P2(5)によって求めてもよい。
(iii)D3=P1(5)/P1(7)
磁極M5に対するピーク値(極大値)P1(5)と磁極M7に対するピーク値(極大値)P1(7)との比であり、この実施形態では、2.0である。なお、D3をD3=P2(5)/P2(7)によって求めてもよい。
(Vi)D4=P1(7)/P1(1)
磁極M7に対するピーク値(極大値)P1(7)と磁極M1に対するピーク値(極大値)P1(1)との比であり、この実施形態では、1.0である。なお、D4をD4=P2(7)/P2(1)によって求めてもよい。
【0142】
なお、出力信号V1,V2毎に、極値比データを設定してもよい。具体的には、第1の出力信号V1に対しては、DA1=P1(1)/P1(3),DA2=P1(3)/P1(5),DA3=P1(5)/P1(7)およびDA4=P1(7)/P1(1)の4つの極値比データを設定する。一方、第2の出力信号V2に対しては、DB1=P2(1)/P2(3),DB2=P2(3)/P2(5),DB3=P2(5)/P2(7)およびDB4=P2(7)/P2(1)の4つの極値比データを設定する。
【0143】
図17は、回転角演算部34による回転角演算処理の手順を示すフローチャートである。
回転角演算部34が起動されると、回転角演算部34は、図17に示される回転角演算処理を、所定の演算周期毎に繰り返し行う。
回転角演算処理開始時において第1の磁気センサ21が感知している磁極を基準磁極として、各磁極に相対的な番号を割り当てた場合の各磁極の番号を相対的極番号と定義する。第1の磁気センサ21が感知している磁極の相対的極番号(以下、「第1の相対的極番号」という)を変数r1で表し、第2の磁気センサ22が感知している磁極の相対的極番号(以下、「第2の相対的極番号」という)を変数r2で表すことにする。なお、各相対的極番号r1,r2は、1〜8の整数をとり、1より1少ない相対的極番号は8となり、8より1大きい相対的極番号は1となるものとする。この実施形態では、回転角演算処理開始時において、第1の磁気センサ21が感知している磁極(基準磁極)には、例えば、1の相対的極番号が割り当てられる。
【0144】
また、第1の磁気センサ21が感知している磁極の極番号(絶対的極番号)をq1、第2の磁気センサ22が感知している磁極の極番号(絶対的極番号)をq2で表すことにする。なお、各絶対的極番号q1,q2は、1〜8の整数をとり、1より1少ない極番号は8となり、8より1大きい極番号は1となるものとする。
回転角演算処理が開始されると、回転角演算部34は、各磁気センサ21,22の出力信号(センサ値)V1,V2を読み込む(ステップS71)。なお、回転角演算部34のメモリ(たとえば、RAM)には、出力信号V1,V2毎に、所定回数前に読み込まれたセンサ値から最新に読み込まれたセンサ値までの、複数回数分のセンサ値が記憶されるようになっている。
【0145】
また、この実施形態では、センサ値V1のピーク値(極大値および極小値)を検出するために、読み込まれたセンサ値V1のうち絶対値がより大きいセンサ値が、センサ値V1のピーク値候補としてメモリに保存される。同様に、センサ値V2のピーク値(極大値および極小値)を検出するために、読み込まれたセンサ値V2のうち絶対値がより大きいセンサ値が、センサ値V2のピーク値候補としてメモリに保存される。ただし、これらのピーク値候補は、対応する出力信号のゼロクロスが検出されたときには、後述するような所定のタイミングで零にリセットされる。
【0146】
前記ステップS71で各センサ値V1,V2が読み込まれると、回転角演算部34は、今回の処理が回転角演算処理開始後の初回の処理であるか否かを判別する(ステップS72)。今回の処理が回転角演算処理開始後の初回の処理である場合には(ステップS72:YES)、回転角演算部34は、相対的極番号の設定処理を行う(ステップS73)。
具体的には、回転角演算部34は、第1の相対的極番号r1を1に設定する。また、回転角演算部34は、第1の磁気センサ21が感知している磁極と第2磁気センサ22が感知している磁極とが同じである場合には第2の相対的極番号r2を1に設定し、異なる場合には第2の相対的極番号r2を2に設定する。ステップS73の処理は、前述した図10のステップ43の処理と同様なので、その詳細な説明を省略する。
【0147】
ステップS73の処理が終了すると、回転角演算部34は、ステップS71で読み取られたセンサ値V1,V2に対して、第1の振幅補正処理を行なう(ステップS74)。この処理は、前述した図8のステップS4の処理と同様なので、その説明を省略する。前記ステップS74の第1の振幅補正処理が行われると、回転角演算部34は、前記ステップS74で振幅補正が行われた後の出力信号V1’,V2’に基づいて、電気角θEを演算する。具体的には、次式(16)に基づいて、ロータ20の回転角(電気角)θEを演算する(ステップS75)。
【0148】
θE=tan−1(V1’/V2’) …(16)
前記ステップS75で電気角θEが演算されると、回転角演算部34は、当該電気角θEをEPSモータ制御部33に与える。そして、今演算周期での処理を終了する。
前記ステップS72において、今回の処理が回転角演算処理開始後の初回の処理ではないと判別された場合には(ステップS72:NO)、ステップS76に移行する。
【0149】
ステップS76では、回転角演算部34は、メモリに記憶されているセンサ値V1,V2に基づいて、センサ値V1,V2毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する。ゼロクロスが検出されなかったときには(ステップS76:NO)、回転角演算部34は、後述するステップS84の極番号特定処理によって、各磁極センサ21,22が検知している磁極が既に特定されているか否かを判別する(ステップS77)。
【0150】
各磁極センサ21,22が検知している磁極が特定されていない場合には(ステップS77:NO)、回転角演算部34は、前述したステップS74に移行する。一方、各磁極センサ21,22が検知している磁極が既に特定されている場合には(ステップS77:YES)、回転角演算部34は、ステップS86に移行する。
前記ステップS76において、いずれかのセンサ値V1,V2に対してゼロクロスが検出された場合には(ステップS76:YES)、回転角演算部34は、後述するステップS84の極番号特定処理によって、各磁極センサ21,22が検知している磁極が既に特定されているか否かを判別する(ステップS78)。
【0151】
各磁極センサ21,22が検知している磁極が特定されていない場合には(ステップS78:NO)、回転角演算部34は、相対的極番号の更新処理を行なう(ステップS79)。具体的には、回転角演算部34は、前記ステップS76でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1またはr2を、ロータ20の回転方向に応じて、1だけ大きい番号または1だけ小さい番号に変更する。ステップS79の処理は、前述した図10のステップS53の処理と同様なので、その詳細な説明を省略する。
【0152】
前記ステップS79の相対的極番号の更新処理が終了すると、回転角演算部34は、ピーク値検出処理を行なう(ステップS80)。ピーク値検出処理について具体的に説明する。前記ステップS76でゼロクロスが検出された出力信号に対応する磁気センサをピーク値検出対象の磁気センサということにする。回転角演算部34は、まず、ピーク値検出対象の磁気センサが感知している磁極が変化したか否かを判別する。つまり、回転角演算部34は、ピーク値検出対象の磁気センサが感知している磁極位置が、当該磁気センサの出力信号のゼロクロスが前回検出された時点と、今回検出された時点とで、異なっているか同じであるかを判定する。ロータ20の回転方向が逆転した場合には、前記両時点での磁極位置が同じになる可能性がある。
【0153】
この判定は、たとえば、ピーク値検出対象の磁気センサの出力信号のゼロクロスが前回検出された時点でのロータ20の回転方向と、当該出力信号のゼロクロスが今回検出された時点でのロータ20の回転方向が同じ方向であるか否かに基づいて行うことができる。すなわち、回転角演算部34は、前記両時点でのロータ20の回転方向が同じ方向であれば、ピーク値検出対象の磁気センサが感知している磁極が変化したと判定する。一方、前記両時点でのロータ20の回転方向が異なっていれば、回転角演算部34は、ピーク値検出対象の磁気センサが感知している磁極が変化していないと判定する。
【0154】
ピーク値検出対象の磁気センサが感知している磁極が変化したと判定された場合には、回転角演算部34は、ピーク値を検出したと判別するとともに、当該磁気センサに対応するピーク値候補をピーク値として特定する。一方、ピーク値検出対象の磁気センサが感知している磁極が変化していないと判定された場合には、回転角演算部34は、ピーク値を検出しなかったと判定する。
【0155】
なお、ピーク値には、0より大きな極大値と、0より小さな極小値とがある。この実施形態では、極位置特定用磁極がN極の磁極であるので、ピーク値のうち、極大値に基づいて、第1の磁気センサ21が感知している磁極対が特定される。以下において、ピーク値検出処理において検出された第1の出力信号V1および第2の出力信号V2の極大値を、それぞれP1およびP2で表す場合がある。
【0156】
ピーク値検出処理において極大値が検出されなかった場合には(ステップS81:NO)、回転角演算部34は、前記ステップS76でゼロクロスが検出された出力信号に対応するピーク値候補を0にリセットした後、前述したステップS74に移行する。なお、ピーク値検出処理においてピーク値が検出された場合であっても、検出されたピーク値が極小値である場合には、ピーク値検出処理において極大値が検出されなかったと判別される。
【0157】
ピーク値検出処理において極大値が検出されたときには(ステップS81:YES)、当該極大値を、前記ステップS76でゼロクロスが検出された出力信号に対する極大値P1またはP2としてメモリに記憶する(ステップS82)。なお、メモリには、極大値P1およびP2毎に、前回検出された極大値と今回検出された極大値との2回分の極大値が記憶されるようになっている。この後、回転角演算部34は、前記ステップS76でゼロクロスが検出された出力信号に対応するピーク値候補を0にリセットした後、ステップS83に移行する。
【0158】
ステップS83では、前記ステップS76でゼロクロスが検出された出力信号の極大値が2回以上検出されているか否かを判別する。前記ステップS76でゼロクロスが検出された出力信号の極大値が2回以上検出されていない場合には(ステップS83:NO)、回転角演算部34は、前述したステップS74に移行する。一方、前記ステップS76でゼロクロスが検出された出力信号の極大値が2回以上検出されている場合には(ステップS83:YES)、回転角演算部34は、極番号特定処理を行なう(ステップS84)。
【0159】
極番号特定処理の考え方について説明する。前述したように、隣り合う極位置特定用磁極の組み合わせ(M1,M3),(M3,M5),(M5,M7),(M7,M1)毎に、隣り合う極位置特定用磁極の出力信号V1のピーク値(この例では極大値)の比は異なる。同様に、隣り合う極位置特定用磁極の組み合わせ(M1,M3),(M3,M5),(M5,M7),(M7,M1)毎に、隣り合う極位置特定用磁極の出力信号V2のピーク値(この例では極大値)の比は異なる。
【0160】
したがって、任意の隣り合う極位置特定用磁極それぞれに対する第1の出力信号V1の極大値が検出された時点(ゼロクロス検出時点)において、それらの極大値の比と、極値比データD1〜D4と、ロータ20の回転方向とに基づいて、第1の磁気センサ21が現在感知している磁極の極番号q1を特定することができる。なお、極値比データが出力信号V1,V2毎に設定されている場合には、極値比データD1〜D4の代わりに第1の出力信号V1に対して設定されている極値比データDA1〜DA4が用いられる。
【0161】
たとえば、図15を参照して、ロータ20が正方向(図14に矢印で示す方向)に回転している場合に、図15にZ1で示すゼロクロスが検出されたタイミングにおいて、磁極M3に対する第1の出力信号V1の極大値P1n−1が検出され、その後に、図15にZ2で示すゼロクロスが検出されたタイミングにおいて、磁極M5に対する第1の出力信号V1の極大値P1nが検出されたとする。この場合には、両極大値の比P1n−1/P1nは、極値比データD1〜D4のうちのD2(=P1(3)/P1(5))とほぼ等しくなるので、図15にZ2で示すゼロクロスが検出されたタイミングにおいて、第1の磁気センサ21は、磁極M6を感知していると判別することができる。
【0162】
また、図15を参照して、ロータ20が逆方向に回転している場合に、図15にZ3で示すゼロクロスが検出されたタイミングにおいて、磁極M5に対する第1の出力信号V1の極大値P1n−1が検出され、その後に、図15にZ4で示すゼロクロスが検出されたタイミングにおいて、磁極M3に対する第1の出力信号V1の極大値P1nが検出されたとする。この場合には、両極大値の比P1n/P1n−1は、極値比データD1〜D4のうちのD2(=P1(3)/P1(5))とほぼ等しくなるので、図15にZ4で示すゼロクロスが検出されたタイミングにおいて、第1の磁気センサ21は、磁極M2を感知していると判別することができる。このようにして、現在感知している磁極の極番号q1が特定できれば、相対的極番号r1,r2に基づいて第2の磁気センサ22が現在感知している磁極の極番号q2を特定することができる。
【0163】
同様に、任意の隣り合う極位置特定用磁極それぞれに対する第2の出力信号V2の極大値が検出された時点(ゼロクロス検出時点)において、それらの極大値の比と、極値比データD1〜D4と、ロータ20の回転方向とに基づいて、第2の磁気センサ22が現在感知している磁極の極番号q2を特定することができる。なお、極値比データが出力信号V1,V2毎に設定されている場合には、極値比データD1〜D4の代わりに第2の出力信号V2に対して設定されている極値比データDB1〜DB4が用いられる。第2の磁気センサ22が現在感知している磁極の極番号q2が特定できれば、相対的極番号r1,r2に基づいて第1の磁気センサ23が現在感知している磁極の極番号q1を特定することができる。
【0164】
以下、より具体的に説明する。まず、前記ステップS76でゼロクロスが検出された出力信号が第1の出力信号V1である場合に行われる極番号特定処理について説明する。この場合には、回転角演算部34は、前回検出された第1の出力信号V1の極大値P1n−1と今回検出された第1の出力信号V1の極大値P1nとの比と、極値比データD1〜D4と、ロータ20の回転方向とに基づいて、第1の磁気センサ21が感知している磁極の極番号(絶対的極番号)q1を特定する。極値比データD1〜D4を、iを極値比データ番号として、Di(i=1,2,3,4)で表す場合がある。
【0165】
回転角演算部34は、ロータ20の回転方向が正方向(図14に矢印で示す方向)である場合には、P1n−1/P1nを極値比Xとして演算し、ロータ20の回転方向が逆方向である場合には、P1n/P1n−1を極値比Xとして演算する。次に、回転角演算部34は、演算された極値比Xと極値比データD1〜D4とに基づいて、極値比Xに最も近い極値比データDiの極値比データ番号iを特定する。そして、回転角演算部34は、特定された極値比データ番号iと、ロータ20の回転方向と、表2の内容とに基づいて、第1の磁気センサ21が現在感知している磁極の極番号q1を特定する。
【0166】
表2は、極値比Xに最も近い極値比データDiの極値比データ番号iとロータ20の回転方向との組合せと、第1の磁気センサ21が現在感知している磁極の極番号q1との関係を示している。
【0167】
【表2】
【0168】
具体的には、回転角演算部34は、ロータ20の回転方向が正方向である場合には、q1=2・i+2に基づいて、第1の磁気センサ21が現在感知している磁極の極番号q1を演算する。ただし、(2・i+2)の値が8を超える場合には、回転角演算部34は、q1=2・i+2−8に基づいてq1を演算する。一方、ロータ20の回転方向が逆方向である場合には、回転角演算部34は、q1=2・i−2に基づいて、第1の磁気センサ21が現在感知している磁極の極番号q1を演算する。ただし、(2・i−2)の値が0以下となる場合には、回転角演算部34は、q1=2・i−2+8に基づいてq1を演算する。
【0169】
この後、回転角演算部34は、第1の磁気センサ21が感知している磁極の極番号q1と、第1および第2の相対的極番号r1,r2とに基づいて、第2の磁気センサ22が感知している磁極の極番号q2を特定する。具体的には、回転角演算部34は、q2=(q1−r1)+r2に基づいて、第2の磁気センサ22が感知している磁極の極番号q2を特定する。
【0170】
次に、前記ステップS76でゼロクロスが検出された出力信号が第2の出力信号V2である場合に行われる極番号特定処理について説明する。この場合には、回転角演算部34は、前回検出された第2の出力信号V2の極大値P2n−1と今回検出された第2の出力信号V2の極大値P2nとの比と、極値比データD1〜D4と、ロータ20の回転方向とに基づいて、第2の磁気センサ22が感知している磁極の極番号(絶対的極番号)q2を特定する。
【0171】
回転角演算部34は、ロータ20の回転方向が正方向(図14に矢印で示す方向)である場合には、P2n−1/P2nを極値比Yとして演算し、ロータ20の回転方向が逆方向である場合には、P2n/P2n−1を極値比Yとして演算する。次に、回転角演算部34は、演算された極値比Yと極値比データD1〜D4とに基づいて、極値比Yに最も近い極値比データDiの極値比データ番号iを特定する。そして、回転角演算部34は、特定された極値比データ番号iと、ロータ20の回転方向と、表3の内容とに基づいて、第2の磁気センサ22が現在感知している磁極の極番号q2を特定する。
【0172】
表3は、極値比Yに最も近い極値比データDiの極値比データ番号iとロータ20の回転方向との組合せと、第2の磁気センサ22が現在感知している磁極の極番号q2との関係を示している。
【0173】
【表3】
【0174】
具体的には、回転角演算部34は、ロータ20の回転方向が正方向である場合には、q2=2・i+2に基づいて、第2の磁気センサ22が現在感知している磁極の極番号q2を演算する。ただし、(2・i+2)の値が8を超える場合には、回転角演算部34は、q2=2・i+2−8に基づいてq2を演算する。一方、ロータ20の回転方向が逆方向である場合には、回転角演算部34は、q2=2・i−2に基づいて、第2の磁気センサ22が現在感知している磁極の極番号q2を演算する。ただし、(2・i−2)の値が0以下となる場合には、回転角演算部34は、q2=2・i−2+8に基づいてq2を演算する。
【0175】
この後、回転角演算部34は、第2の磁気センサ22が感知している磁極の極番号q2と、第1および第2の相対的極番号r1,r2とに基づいて、第1の磁気センサ21が感知している磁極の極番号q1を特定する。具体的には、回転角演算部34は、q1=(q2−r2)+r1に基づいて、第1の磁気センサ21が感知している磁極の極番号q1を特定する。ステップS84の極番号特定処理が終了すると、回転角演算部34は、ステップS86に移行する。
【0176】
前記ステップS78において、各磁気センサ21,22が感知している磁極が既に特定されていると判別された場合には(ステップS78:YES)、回転角演算部34は、極番号の更新処理を行なう(ステップS85)。具体的には、回転角演算部34は、前記ステップS76でゼロクロスが検出された磁気センサに対して既に特定されている極番号q1またはq2を、ロータ20の回転方向に応じて、1だけ大きい極番号または1だけ小さい極番号に変更する。
【0177】
ロータ20の回転方向が正方向である場合には、回転角演算部34は、ゼロクロスが検出された磁気センサに対して既に特定されている前記極番号q1またはq2を、1だけ大きい極番号に更新する。一方、ロータ20の回転方向が逆方向である場合には、回転角演算部34は、ゼロクロスが検出された磁気センサに対して既に特定されている前記極番号q1またはq2を、1だけ小さい極番号に更新する。ただし、”1”の極番号に対して、1だけ小さい極番号は、”8”となる。また、”8”の極番号に対して、1だけ大きい極番号は、”1”となる。回転角演算部34は、ステップS85の極番号の更新処理が終了すると、ステップS86に移行する。
【0178】
ステップS86では、回転角演算部34は、第2の振幅補正処理を行う。つまり、回転角演算部34は、各磁気センサ21,22が感知している磁極のピーク値を用いて、各磁気センサ21,22の出力信号V1,V2の振幅を補正する。
具体的には、回転角演算部34は、第1の磁気センサ21が感知している磁極の極番号q1に対応する第1の出力信号V1のピーク値と、第2の磁気センサ22が感知している磁極の極番号q2に対応する第2の出力信号V2のピーク値とを、ピーク値テーブル(図16参照)から取得する。ピーク値テーブルから取得された第1および第2の出力信号V1,V2のピーク値を、それぞれP1x,P2xで表すことにする。そして、取得した各ピーク値(振幅補正値)P1x,P2xと予め設定されている基準振幅φとに基づいて、各出力信号V1,V2の振幅を補正する。
【0179】
具体的には、第1および第2の出力信号V1,V2の振幅補正後の信号をそれぞれV1’,V2’とすると、補正後の第1および第2の出力信号V1’,V2’は、それぞれ次式(17)(18)に基づいて演算される。
V1’=(V1/P1x)×φ …(17)
V2’=(V2/P2x)×φ …(18)
振幅補正処理が終了すると、回転角演算部34は、振幅補正後の各出力信号V1’,V2’に基づいて、電気角θEを演算する(ステップS87)。具体的には、次式(19)に基づいて、ロータ20の回転角(電気角)θEを演算する。
【0180】
θE=tan−1(V1’/V2’) …(19)
回転角演算部34は、前記ステップS87で演算された電気角θEをEPSモータ制御部33に与える。そして、今演算周期での処理を終了する。
前記第2変形例によれば、いずれかの組の隣り合う極位置特定用磁極それぞれに対する第1の出力信号V1の極大値P1n−1,P1nまたは第2の出力信号V2の極大値P2n−1,P2nが最初に検出された時点で、各磁気センサ21,22が感知している磁極を特定することが可能となる。このため、イグニッションキーがオンされてからステアリングホイール1のロックが開錠されるまでの間において、EPSモータ7が強制駆動モードで回転されている間に、各磁気センサ21,22が感知している磁極を特定することが可能となる。したがって、ステアリングホイール1のロックが開錠された直後から、精度の高いロータ回転角を演算することができる。これにより、ステアリングホイール1の操作が可能となった直後から、EPSモータ7を適切に制御することができるようになる。
【0181】
また、隣り合う極位置特定用磁極それぞれに対する第1の出力信号V1の極値P1n−1,P1nの比または第2の出力信号V2の極大値P2n−1,P2nの比に基づいて、各磁気センサ21,22が感知している磁極を特定しているので、周辺温度の変化によって各出力信号V1,V2が変動した場合でも、各磁気センサ21,22が感知している磁極を正確に特定することができる。
【0182】
前記第2変形例では、N極の極性を有する各磁極M1,M3,M5,M7が極位置特定用磁極とされているが、S極の極性を有する各磁極M2,M4,M6,M8を極位置特定用磁極としてもよい。
また、前記第2変形例では、第1の出力信号V1と第2の出力信号V2との位相差は電気角で90°であるが、両信号V1,V2間の位相差は、任意の角度であってもよい。たとえば、第1の出力信号V1と第2の出力信号V2との位相差をψとし、第1の出力信号V1をV1=A1・sinθEとし、第2の出力信号V2をV2=A2・sin(θE+ψ)とすると、振幅補正後の第1の出力信号V1’はV1’=φ・sinθEで表され、振幅補正後の第2の出力信号V2’はV2’=φ・sin(θE+ψ)で表される。この場合には、回転角演算部34は、たとえば、振幅補正後の第1および第2の出力信号V1’,V2’とから、振幅補正後の第1の出力信号V1’に対する位相差が90°となる信号V12’(=φ・sin(θE+90°)=φ・cosθE)を生成する。具体的には、回転角演算部34は、V12’=(V2’−V1’・cosψ)/sinψに基づいて、信号V12’を生成する。そして、回転角演算部34は、θE=tan−1(V1’/V12’)に基づいてロータの電気角θEを演算する。
【0183】
次に、図18〜図23を参照して、回転角検出装置の第3変形例について説明する。
第3変形例では、検出用ロータの構成および回転角演算部34による回転角演算処理が、が前記第1の実施形態と異なっている。
図18は、第3変形例における検出用ロータ20の構成を示す模式図である。
第3変形例においては、EPSモータ7のロータには、8組の磁極対が設けられているものとする。ロータ20は、EPSモータ7のロータに設けられている磁極対に相当する複数の磁極対を有する円筒状の磁石(多極磁石)20aを含んでいる。
【0184】
磁石20aは、8つの磁極対M1〜M8を有している。つまり、磁石20aは、等角度間隔で配置された16個の磁極m1〜m16を有している。各磁極m1〜m16は、ロータ1の回転中心軸を中心として、22.5°(電気角では180°)の角度間隔で配置されている。
この実施形態では、磁極対における磁力の大きさの種類には、磁力が大きい第1の磁力と第1の磁力より磁力が小さい第2の磁力との2種類がある。この実施形態では、8個の磁極対M1〜M8のうち、第1、第2、第3および第5のM1,M2,M3,M5の磁力が第2の磁力(弱い磁力)に設定され、第4、第6、第7および第8の磁極対M4,M6,M7,M8の磁力が第1の磁力(強い磁力)に設定されている。
【0185】
ロータ20の周囲には、3つの磁気センサ21,22,23が配置されている。これら3つの磁気センサ21,22,23を、それぞれ第1の磁気センサ21、第2の磁気センサ22および第3の磁気センサ23という場合がある。図18おいて、第2の磁気センサ22は、第1の磁気センサ21に対して、ロータ20の回転中心軸を中心として、時計方向に75°(電気角では600°)だけ離れた位置に配置されている。第3の磁気センサ23は、第1の磁気センサ21に対して、ロータ20の回転中心軸を中心として、時計方向に105°(電気角では840°)だけ離れた位置に配置されている。
【0186】
言い換えると、第1の磁気センサ21が第1の磁極対M1における電気角で0°の位置に対向しているときには、第2の磁気センサ22が第2の磁極対M2における電気角で240°の位置に対向し、第3の磁気センサ23が第3の磁極対M3における電気角で120°の位置に対向するように、3つの磁気センサ21,22,23が配置されている。
図18に矢印で示す方向をロータ20の正方向の回転方向とする。そして、ロータ20が正方向に回転されるとロータ20の回転角が大きくなり、ロータ20が逆方向に回転されると、ロータ20の回転角が小さくなるものとする。各磁気センサ21,22,23からは、図19に示すように、ロータ20が1磁極対分に相当する角度(45°(電気角では360°))を回転する期間を一周期とする正弦波信号V1,V2,V3が出力される。
【0187】
図19は、ロータ20における磁極対M8と磁極対M1との境界が第1の磁気センサ21に対向している場合のロータ20の回転角を0°にとった場合のロータ角度(機械角)に対する、各磁気センサ21,22,23の出力信号V1,V2,V3を示している。また、図19には、ロータ角度に対応して、第1の磁気センサ21が感知している磁極対M1〜M8および磁極m1〜m16が示されているとともに、各磁極対M1〜M8の磁力の大きさが示されている。
【0188】
ロータ20の1回転分の角度範囲を、8つの磁極対M1〜M8に対応して8つの区間に分け、各区間の開始位置を0°とし終了位置を360°として表したロータ20の角度を、ロータ20の電気角θEということにする。
ここでは、第1の磁気センサ21からは、8つの磁極対M1〜M8に対応する区間毎に、V1=A1・sinθEの出力信号が出力されるものとする。この場合、第2の磁気センサ22からは、8つの磁極対M1〜M8に対応する区間毎に、V2=A2・sin(θE+600°)=A2・sin(θE+240°)の出力信号が出力される。また、第3の磁気センサ23からは、8つの磁極対M1〜M8に対応する区間毎に、V3=A3・sin(θE+840°)=A3・sin(θE+120°)の出力信号が出力される。A1,A2,A3は、それぞれ振幅を表している。ただし、振幅A1,A2,A3は、各磁極対M1〜M8の磁力の大きさに応じて変化する。
【0189】
したがって、各磁気センサ21,22,23からは、互いに所定の位相差120°(電気角)を有する正弦波信号が出力される。各磁気センサ21,22,23の出力信号V1,V2,V3を、それぞれ第1の出力信号V1,第2の出力信号V2および第3の出力信号V3という場合がある。
図2では、第3の磁気センサ23は破線で表されている。図2に示されるように、各磁気センサ21,22,23の出力信号V1,V2,V3は、回転角演算部34に入力される。回転角演算部34は、各磁気センサ21,22,23の出力信号V1,V2,V3に基づいて、各磁気センサ21,22,23が感知している磁極を特定する。各磁気センサ21,22,23が感知している磁極の特定結果に基づいて、回転角演算部34は、各磁気センサ21,22,23の出力信号V1,V2,V3の振幅を補正する。そして、回転角演算部34は、振幅補正後の各出力信号に基づいて、ロータ20の電気角θEおよび機械角θMを演算する。回転角演算部34によって演算された電気角θEおよび機械角θMは、EPSモータ制御部33に与えられる。
【0190】
回転角演算部34の不揮発性メモリには、磁気センサ21,22,23毎に、ピーク値テーブルが記憶されている。また、回転角演算部34内の不揮発性メモリには、第1の実施形態と同様に、ロータ20の周辺温度毎の各出力信号V1,V2,V3のピーク値の初期値(絶対値)が記憶されている。
図20は、ピーク値テーブルの内容を示す模式図である。
【0191】
ピーク値テーブルには、各磁極m1〜m16の磁極番号1〜16毎に、その磁極に対応する第1の出力信号V1のピーク値(極大値または極小値)P1(1)〜P1(16)と、その磁極に対応する第2の出力信号V2のピーク値(極大値または極小値)P2(1)〜P2(16)と、その磁極に対応する第3の出力信号V3のピーク値(極大値または極小値)P3(1)〜P3(16)とが記憶されている。なお、各磁気センサ21,22,23としては、特性がほぼ等しいものが用いられているので、同じ磁極に対する各磁気センサ21,22,23の出力信号V1,V2,V3のピーク値はほぼ同様な値となる。
【0192】
前記ピーク値テーブルへのピーク値の記憶は、たとえば、EPSモータ7の出荷前に行われる。前記振幅補正用ピーク値テーブルに記憶されるピーク値は、1周期分のデータから求めてもよいし、複数周期分のデータの平均値から求めてもよい。
図21は、回転角演算部34による回転角演算処理の手順を示すフローチャートである。
【0193】
回転角演算部34が起動されると、回転角演算部34は、図21に示される回転角演算処理を、所定の演算周期毎に繰り返し行う。
回転角演算処理開始時において第1の磁気センサ21が感知している磁極を基準磁極として、各磁極に相対的な番号を割り当てた場合の各磁極の番号を相対的極番号と定義する。第1の磁気センサ21が感知している磁極の相対的極番号(以下、「第1の相対的極番号」という)を変数r1で表し、第2の磁気センサ22が感知している磁極の相対的極番号(以下、「第2の相対的極番号」という)を変数r2で表し、第3の磁気センサ23が感知している磁極の相対的極番号(以下、「第3の相対的極番号」という)を変数r3で表すことにする。なお、各相対的極番号r1,r2,r3は、1〜16の整数をとり、1より1少ない相対的極番号は16となり、16より1大きい相対的極番号は1となるものとする。
【0194】
この実施形態では、回転角演算処理開始時において第1の磁気センサ21が感知している磁極(基準磁極)がN極の磁極である場合には、当該磁極に”1”の相対的極番号が割り当てられる。一方、回転角演算処理の開始時において第1の磁気センサ21が感知している磁極(基準磁極)がS極の磁極である場合には、当該磁極に”2”の相対的極番号が割り当てられる。
【0195】
また、第1の磁気センサ21が感知している磁極の極番号をq1、第2の磁気センサ22が感知している磁極の極番号をq2、第3の磁気センサ23が感知している磁極の極番号をq3で表すことにする。なお、各極番号q1,q2,q3は、1〜16の整数をとり、1より1少ない極番号は16となり、16より1大きい極番号は1となるものとする。
また、第1の磁気センサ21が感知している磁極対の磁極対番号をQ1で表すことにする。なお、磁極対番号Q1は、1〜8の整数をとり、1より1少ない極番号は8となり、8より1大きい極番号は1となるものとする。
【0196】
回転角演算処理が開始されると、回転角演算部34は、各磁気センサ21,22,23の出力信号(センサ値)V1,V2,V3を読み込む(ステップS91)。なお、回転角演算部34のメモリ(たとえば、RAM)には、所定回数前に読み込まれたセンサ値から最新に読み込まれたセンサ値までの、複数回数分のセンサ値が記憶されるようになっている。
【0197】
また、この実施形態では、センサ値V1のピーク値(極大値および極小値)を検出するために、読み込まれたセンサ値V1のうち絶対値がより大きいセンサ値が、センサ値V1のピーク値候補としてメモリに保存される。同様に、センサ値V2のピーク値(極大値および極小値)を検出するために、読み込まれたセンサ値V2のうち絶対値がより大きいセンサ値が、センサ値V2のピーク値候補としてメモリに保存される。同様に、センサ値V3のピーク値(極大値および極小値)を検出するために、読み込まれたセンサ値V3のうち絶対値がより大きいセンサ値が、センサ値V3のピーク値候補としてメモリに保存される。ただし、これらのピーク値候補は、対応する出力信号のゼロクロスが検出されたときには、後述するような所定のタイミングでゼロにリセットされる。
【0198】
前記ステップS91で各センサ値V1,V2,V3が読み込まれると、回転角演算部34は、今回の処理が回転角演算処理開始後の初回の処理であるか否かを判別する(ステップS92)。今回の処理が回転角演算処理開始後の初回の処理である場合には(ステップS92:YES)、回転角演算部34は、相対的極番号の設定処理を行う(ステップS93)。
【0199】
図22は、相対的極番号の設定処理の詳細な手順を示している。
回転角演算部34は、まず、第1の出力信号V1が0より大きいか否かを判別する(ステップS111)。第1の出力信号V1が0より大きい場合には(ステップS111:YES)、回転角演算部34は、第1の磁気センサ21が感知している磁極(基準磁極)がN極の磁極であると判別し、第1の相対的極番号r1を1に設定する(ステップS114)。そして、ステップS116に進む。
【0200】
一方、第1の出力信号V1が0以下である場合には(ステップS111:NO)、回転角演算部34は、第1の出力信号V1が0より小さいか否かを判別する(ステップS112)。第1の出力信号V1が0より小さい場合には(ステップS112:YES)、第1の磁気センサ21が感知している磁極(基準磁極)がS極の磁極であると判別し、第1の相対的極番号r1を2に設定する(ステップS115)。そして、ステップS116に進む。
【0201】
前記ステップS112において、第1の出力信号V1が0以上であると判別された場合には(ステップS112:NO)、つまり、第1の出力信号V1が0である場合には、回転角演算部34は、ロータ回転角(電気角)が0°であるか180°であるかを判別するために、第3の出力信号V3が0より大きいか否かを判別する(ステップS113)。第3の出力信号V3が0より大きい場合には(ステップS113:YES)、回転角演算部34は、ロータ回転角(電気角)が0°であると判別し、第1の相対的極番号r1を1に設定する(ステップS114)。そして、ステップS116に進む。
【0202】
一方、第3の出力信号V3が0以下である場合には(ステップS113:NO)、回転角演算部34は、ロータ回転角(電気角)が180°であると判別し、第1の相対的極番号r1を2に設定する(ステップS115)。そして、ステップS116に進む。
なお、前記ステップS113において、回転角演算部34は、第2の出力信号V2が0より小さいか否かを判別するようにしてもよい。この場合には、第2の出力信号V2が0より小さいときには、回転角演算部34は、ステップS114に進んで第1の相対的極番号r1を1に設定する。一方、第2の出力信号V2が0以上である場合には、回転角演算部34は、ステップS115に進んで第1の相対的極番号r1を2に設定する。
【0203】
ステップS116では、回転角演算部34は、「V1≧0かつV2<0」または「V1≦0かつV2>0」の条件を満たしているか否かを判別する。この条件を満たしている場合には(ステップS116:YES)、回転角演算部34は、第2の磁気センサ22が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より3だけ大きい番号であると判別し、第2の相対的極番号r2に、第1の相対的極番号r1より3だけ大きい番号(r2=r1+3)を設定する(ステップS117)。そして、ステップS119に移行する。
【0204】
一方、前記ステップS116の条件を満たしていない場合には(ステップS116:NO)、回転角演算部34は、第2の磁気センサ22が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より4だけ大きい番号であると判別し、第2の相対的極番号r2に、第1の相対的極番号r1より4だけ大きい番号(r2=r1+4)を設定する(ステップS118)。そして、ステップS119に移行する。
【0205】
ステップS119では、回転角演算部34は、「V1>0かつV3≦0」または「V1<0かつV3≧0」の条件を満たしているか否かを判別する。この条件を満たしている場合には(ステップS119:YES)、回転角演算部34は、第3の磁気センサ23が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より5だけ大きい番号であると判別し、第3の相対的極番号r3に、第1の相対的極番号r1より5だけ大きい番号(r3=r1+5)を設定する(ステップS120)。そして、図21のステップS94に戻る。
【0206】
一方、前記ステップS119の条件を満たしていない場合には(ステップS119:NO)、回転角演算部34は、第3の磁気センサ23が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より4だけ大きい番号であると判別し、第3の相対的極番号r3に、第1の相対的極番号r1より4だけ大きい番号(r3=r1+4)を設定する(ステップS121)。そして、図21のステップS94に戻る。
【0207】
前記ステップS116の条件を満たしている場合に、第2の相対的極番号r2に第1の相対的極番号r1より3だけ大きい番号(r2=r1+3)を設定し、前記ステップS116の条件を満たしていない場合に、第2の相対的極番号r2に第1の相対的極番号r1より4だけ大きい番号(r2=r1+4)を設定している理由について説明する。また、前記ステップS119の条件を満たしている場合に、第3の相対的極番号r3に、第1の相対的極番号r1より5だけ大きい番号(r3=r1+5)を設定し、前記ステップS119の条件を満たしていない場合に、第3の相対的極番号r3に、第1の相対的極番号r1より4だけ多い番号(r3=r1+4)を設定している理由について説明する。
【0208】
たとえば、ロータ20における磁極m1と磁極m2とからなる磁極対M1が第1の磁気センサ21を通過する際の、第1、第2および第3の磁気センサ21,22,23の出力信号V1,V2,V3の信号波形を模式的に表すと、図23(a)(b)(c)に示すようになる。
図23(a)(b)において、S1,S2で示す領域は、第1の磁気センサ21が磁極m1を感知し、第2の磁気センサ22が磁極m4を感知している領域である。S3で示す領域は、第1の磁気センサ21が磁極m1を感知し、第2の磁気センサ22が磁極m5を感知している領域である。S4,S5で示す領域は、第1の磁気センサ21が磁極m2を感知し、第2の磁気センサ22が磁極m5を感知している領域である。S6で示す領域は、第1の磁気センサ21が磁極m2を感知し、第2の磁気センサ22が磁極m6を感知している領域である。
【0209】
つまり、領域S1,S2,S4およびS5では、第2の磁気センサ22が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より3だけ大きくなる。一方、領域S3およびS6では、第2の磁気センサ22が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より4だけ大きい番号となる。
領域S1,S2においては、両センサ値V1,V2は、V1≧0かつV2<0の第1条件を満たす。領域S3においては、両センサ値V1,V2は、V1>0かつV2≧0の第2条件を満たす。領域S4,S5においては、両センサ値V1,V2は、V1≦0かつV2>0の第3条件を満たす。領域S6においては、両センサ値V1,V2は、V1<0かつV2≦0の第4条件を満たす。
【0210】
そこで、回転角演算部34は、前記第1条件(V1≧0かつV2<0)または前記第3条件(V1≦0かつV2>0)を満たしている場合には、第2の磁気センサ22が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より3だけ大きくなると判別し、前記第1条件または前記第3条件を満たしていない場合には、第2の磁気センサ22が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より4だけ大きくなると判別している。
【0211】
また、図23(a)(c)において、S1で示す領域は、第1の磁気センサ21が磁極m1を感知し、第3の磁気センサ23が磁極m5を感知している領域である。S2およびS3で示す領域は、第1の磁気センサ21が磁極m1を感知し、第3の磁気センサ23が磁極m6を感知している領域である。S4で示す領域は、第1の磁気センサ21が磁極m2を感知し、第3の磁気センサ23が磁極m6を感知している領域である。S5およびS6で示す領域は、第1の磁気センサ21が磁極m2を感知し、第3の磁気センサ23が磁極m7を感知している領域である。
【0212】
つまり、領域S1およびS4では、第3の磁気センサ23が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より4だけ大きい番号となる。一方、領域S2,S3,S5およびS6では、第2の磁気センサ22が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より5だけ大きくなる。
領域S1においては、両センサ値V1,V3は、V1≧0かつV3>0の第1条件を満たす。領域S2,S3においては、両センサ値V1,V3は、V1>0かつV3≦0の第2条件を満たす。領域S4においては、両センサ値V1,V3は、V1≦0かつV3<0の第3条件を満たす。領域S5,S6においては、両センサ値V1,V3は、V1<0かつV3≧0の第4条件を満たす。
【0213】
そこで、回転角演算部34は、前記第2条件(V1>0かつV3≦0)または前記第4条件(V1<0かつV3≧0)を満たしている場合には、第3の磁気センサ23が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より5だけ大きくなると判別し、前記第2条件または前記第4条件を満たしていない場合には、第3の磁気センサ23が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より4だけ大きくなると判別している。
【0214】
図21に戻り、ステップS93の処理が終了すると、回転角演算部34は、ステップS91で読み取られたセンサ値V1,V2,V3に対して第1の振幅補正処理を行なった後(ステップS94)、振幅補正後の出力信号V1’,V2’,V3’に基づいて、電気角θEを演算する(ステップS95)。ステップS94およびS95の処理の詳細につては、後述する。ステップS95で電気角θEが演算されると、回転角演算部34は、当該電気角θEをEPSモータ制御部33に与える。そして、今演算周期での処理を終了する。
【0215】
前記ステップS92において、今回の処理が回転角演算処理開始後の初回の処理ではないと判別された場合には(ステップS92:NO)、ステップS96に移行する。
ステップS96では、回転角演算部34は、メモリに記憶されているセンサ値V1,V2,V3に基づいて、センサ値V1,V2,V3毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する。ゼロクロスが検出されなかったときには(ステップS96:NO)、回転角演算部34は、後述するステップS103の極番号特定処理によって、各磁極センサ21,22,23が検知している磁極が既に特定されているか否かを判別する(ステップS97)。各磁極センサ21,22,23が検知している磁極が特定されていない場合には(ステップS97:NO)、回転角演算部34は、ステップS94に移行する。一方、各磁極センサ21,22,23が検知している磁極が既に特定されている場合には(ステップS97:YES)、ステップS106に移行する。
【0216】
前記ステップS96において、いずれかのセンサ値V1,V2,V3に対してゼロクロスが検出された場合には(ステップS96:YES)、回転角演算部34は、後述するステップS103の極番号特定処理によって、各磁極センサ21,22,23が検知している磁極が既に特定されているか否かを判別する(ステップS98)。
各磁極センサ21,22,23が検知している磁極が特定されていない場合には(ステップS98:NO)、回転角演算部34は、相対的極番号の更新処理を行なう(ステップS99)。具体的には、回転角演算部34は、前記ステップS96でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1、r2またはr3を、ロータ20の回転方向に応じて、1だけ大きい番号または1だけ小さい番号に変更する。
【0217】
ロータ20の回転方向が正方向(図18に矢印で示す方向)である場合には、回転角演算部34は、前記ステップS96でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1、r2またはr3を、1だけ大きい番号に更新する。一方、ロータ20の回転方向が逆方向である場合には、回転角演算部34は、ゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1、r2またはr3を、1だけ小さい番号に更新する。ただし、前述したように、”1”の相対的極番号に対して、1だけ小さい相対的極番号は、”16”となる。また、”16”の相対的極番号に対して、1だけ大きい相対的極番号は、”1”となる。
【0218】
なお、ロータ20の回転方向は、ゼロクロスが検出された出力信号の前回値および今回値と、他の1つの出力信号の今回値とに基づいて判定することができる。具体的には、ゼロクロスが検出された出力信号が第1の出力信号V1である場合には、「第1の出力信号V1の前回値が0より大きくかつその今回値が0以下であり、第3の出力信号V3が0より小さい(または第2の出力信号V2が0より大きい)」という条件、または「第1の出力信号V1の前回値が0未満でかつその今回値が0以上であり、第3の出力信号V3が0より大きい(または第2の出力信号V2が0より小さい)」という条件を満たしている場合には、回転方向は正方向(図18に矢印で示す方向)であると判定される。
【0219】
一方、「第1の出力信号V1の前回値が0以上でかつその今回値が0未満であり、第3の出力信号V3が0より大きい(または第2の出力信号V2が0より小さい)」という条件、または「第1の出力信号V1の前回値が0以下でかつその今回値が0より大きく、第3の出力信号V3が0より小さい(または第2の出力信号V2が0より大きい)」という条件を満たしている場合には、回転方向は逆方向であると判定される。
【0220】
ゼロクロスが検出された出力信号が第2の出力信号V2である場合には、「第2の出力信号V2の前回値が0より大きくかつその今回値が0以下であり、第1の出力信号V1が0より小さい(または第3の出力信号V3が0より大きい)」という条件、または「第2の出力信号V2の前回値が0未満でかつその今回値が0以上であり、第1の出力信号V1が0より大きい(または第3の出力信号V3が0より小さい)」という条件を満たしている場合には、回転方向は正方向(図18に矢印で示す方向)であると判定される。一方、「第2の出力信号V2の前回値が0以上でかつその今回値が0未満であり、第1の出力信号V1が0より大きい(または第3の出力信号V3が0より小さい)」という条件、または「第2の出力信号V2の前回値が0以下でかつその今回値が0より大きく、第1の出力信号V1が0より小さい(または第3の出力信号V3が0より大きい)」という条件を満たしている場合には、回転方向は逆方向であると判定される。
【0221】
ゼロクロスが検出された出力信号が第3の出力信号V3である場合には、「第3の出力信号V3の前回値が0より大きくかつその今回値が0以下であり、第1の出力信号V1が0より大きい(または第2の出力信号V2が0より小さい)」という条件、または「第3の出力信号V3の前回値が0未満でかつその今回値が0以上であり、第1の出力信号V1が0より小さい(または第2の出力信号V2が0より大きい)」という条件を満たしている場合には、回転方向は正方向(図18に矢印で示す方向)であると判定される。一方、「第3の出力信号V3の前回値が0以上でかつその今回値が0未満であり、第1の出力信号V1が0より小さい(または第2の出力信号V2が0より大きい)」という条件、または「第3の出力信号V3の前回値が0以下でかつその今回値が0より大きく、第1の出力信号V1が0より大きい(または第2の出力信号V2が0より小さい)」という条件を満たしている場合には、回転方向は逆方向であると判定される。
【0222】
前記ステップS99の相対的極番号の更新処理が終了すると、回転角演算部34は、ピーク値検出処理を行なう(ステップS100)。ピーク値検出処理について具体的に説明する。前記ステップS96でゼロクロスが検出された出力信号に対応する磁気センサをピーク値検出対象の磁気センサということにする。回転角演算部34は、まず、ピーク値検出対象の磁気センサが感知している磁極が変化したか否かを判別する。つまり、回転角演算部34は、ピーク値検出対象の磁気センサが感知している磁極位置が、当該磁気センサの出力信号のゼロクロスが前回検出された時点と、今回検出された時点とで、異なっているか同じであるかを判定する。ロータ20の回転方向が逆転した場合には、前記両時点での磁極位置が同じになる可能性がある。
【0223】
この判定は、たとえば、前回ゼロクロスが検出されたときのロータ20の回転方向と、現在のロータ20の回転方向が同じ方向であるか否かに基づいて行うことができる。すなわち、回転角演算部34は、ロータ20の回転方向が同じ方向であれば、ピーク値検出対象の磁気センサが感知している磁極が変化したと判定する。一方、ロータ20の回転方向が異なっていれば、回転角演算部34は、ピーク値検出対象の磁気センサが感知している磁極が変化していないと判定する。
【0224】
ピーク値検出対象の磁気センサが感知している磁極が変化したと判定された場合には、回転角演算部34は、ピーク値を検出したと判別するとともに、当該磁気センサに対応するピーク値候補をピーク値として特定する。一方、ピーク値検出対象の磁気センサが感知している磁極が変化していないと判定された場合には、回転角演算部34は、ピーク値を検出しなかったと判定する。なお、ピーク値には、0より大きな極大値と、0より小さな極小値とがある。この実施形態では、ピーク値のうち、極大値に基づいて、第1の磁気センサ21が感知している磁極対が特定されるものとする。以下において、ピーク値検出処理において検出された第1の出力信号V1、第2の出力信号V2および第3の出力信号V3の極大値を、それぞれP1、P2およびP3で表す場合がある。
【0225】
ピーク値検出処理において極大値が検出されなかった場合には(ステップS101:NO)、回転角演算部34は、前記ステップS96でゼロクロスが検出された出力信号に対応するピーク値候補を0にリセットした後、ステップS94に移行する。一方、ピーク値検出処理において極大値が検出されたときには(ステップS101:YES)、当該極大値を、前記ステップS96でゼロクロスが検出された出力信号に対する極大値P1、P2またはP3として記憶する(ステップS102)。そして、回転角演算部34は、前記ステップS96でゼロクロスが検出された出力信号に対応するピーク値候補を0にリセットした後、ステップS103に移行する。
【0226】
ステップS103では、回転角演算部34は、極番号特定処理(磁極対特定処理)を行なう。
図19を参照して、極番号特定処理の考え方について説明する。図19に示すように、磁力が弱い磁極対M1,M2,M3,M5内のN磁極m1,m3,m5,m9に対する各出力信号V1,V2,V3のピーク値(極大値)と、磁力が強い磁極対M4,M6,M7,M8内のN磁極m7,m11,m13,m15に対する各出力信号V1,V2,V3のピーク値(極大値)との中間に、閾値A(A>0)が設定されている。
【0227】
図19から分かるように、第1の磁気センサ21が感知している磁極対M1〜M8毎に、3つの出力信号V1,V2,V3の極大値の組合せが異なっている。したがって、3つの出力信号V1,V2,V3の極大値P1,P2,P3の組合せに基づいて、第1の磁気センサ21が感知している磁極対を特定することができる。また、第1の磁気センサ21が感知している磁極対を特定するタイミングに基づいて、第1の磁気センサ21が感知している磁極を特定することができる。そして、第1の磁気センサ21が感知している磁極に基づいて、第2および第3の磁気センサ22,23が感知している磁極を特定することができる。
【0228】
第1の磁気センサ21が感知している磁極対M1〜M8と、3つの出力信号V1,V2,V3の極大値P1,P2,P3の組合せとの関係は、表4に示すようになる。
【0229】
【表4】
【0230】
なお、第1の磁気センサ21が感知している磁極対を特定するタイミングは、ロータ20が正方向に回転している場合には、第1の磁気センサ21が感知している磁極対が移り変わった後に、第3の出力信号V3のゼロクロスが初めて検出されるタイミング(以下、「第1の磁極対特定タイミング」という)である。したがって、第1の磁極対特定タイミングにおいて表1の内容に基づいて特定される磁極対は、第1の磁気センサ21が直前まで感知していた磁極対となる。このため、第1の磁極対特定タイミングにおいて第1の磁気センサ21が感知している磁極対は、表1の内容に基づいて特定される磁極対より磁極対番号が1だけ大きい磁極対となる。また、第1の磁極対特定タイミングにおいて第1の磁気センサ21が感知している磁極は、第1の磁極対特定タイミングにおいて第1の磁気センサ21が感知している磁極対内の2つの磁極のうち、N極の磁極となる。
【0231】
一方、ロータ20が逆方向に回転している場合には、第1の磁気センサ21が感知している磁極対を特定するタイミングは、第1の磁気センサ21が感知している磁極対が移り変わった直後に、第1の出力信号V1のゼロクロスが検出されるタイミング(以下、「第2の磁極対特定タイミング」という)である。したがって、第2の磁極対特定タイミングにおいて表1の内容に基づいて特定される磁極対は、第1の磁気センサ21が直前まで感知していた磁極対となる。このため、第2の磁極対特定タイミングにおいて第1の磁気センサ21が感知している磁極対は、表1の内容に基づいて特定される磁極対より磁極対番号が1だけ小さい磁極対となる。また、第2の磁極対特定タイミングにおいて第2の磁気センサ21が感知している磁極は、第2の磁極対特定タイミングにおいて第1の磁気センサ21が感知している磁極対内の2つの磁極のうち、S極の磁極となる。
【0232】
以下、より具体的に、極番号特定処理について説明する。極番号特定処理は、3つの出力信号V1,V2,V3の極大値が既に検出(記憶)されている場合において、次の第1条件または第2条件のいずかを満たしている場合にのみ行われる。
第1条件:ロータ20の回転方向が正方向でありかつ前記ステップS96でゼロクロスが検出された出力信号が第3の出力信号V3であること
第2条件:ロータ20の回転方向が逆方向でありかつ前記ステップS96でゼロクロスが検出された出力信号が第1の出力信号V1であること
第1条件は、第1の磁極対特定タイミングであるか否かを判定するための条件である。第1条件を満たしている場合には、現時点が第1の磁極対特定タイミングであると判定される。第2条件は、第2の磁極対特定タイミングであるか否かを判定するための条件である。第2条件を満たしている場合には、現時点が第2の磁極対特定タイミングであると判定される。
【0233】
第1条件を満たしている場合には、回転角演算部34は、表4に示される磁極対M1〜M8と3つの極大値P1,P2,P3の組合せとの関係と、最新に検出された各出力信号V1,V2,V3の極大値P1.P2,P3の組み合わせとに基づいて、第1の磁気センサ21が直前まで感知していた磁極対の磁極対番号Q1’を特定する。そして、当該磁極対番号Q1’より1だけ大きい磁極対番号を、第1の磁極センサ21が現在感知している磁極対の磁極対番号Q1(=Q1’+1)として特定する。
【0234】
次に、回転角演算部34は、第1の磁極センサ21が現在感知している磁極の極番号q1を、q1=2・Q1−1に基づいて特定する。また、回転角演算部34は、第1の磁気センサ21が感知している磁極の極番号q1と、第1および第2の相対的極番号r1,r2とに基づいて、第2の磁気センサ22が感知している磁極の極番号q2を特定する。具体的には、回転角演算部34は、q2=(q1−r1)+r2に基づいて、第2の磁気センサ22が感知している磁極の極番号q2を特定する。
【0235】
さらに、回転角演算部34は、第1の磁気センサ21が感知している磁極の極番号q1と、第1および第3の相対的極番号r1,r3とに基づいて、第3の磁気センサ23が感知している磁極の極番号q3を特定する。具体的には、回転角演算部34は、q3=(q1−r1)+r3に基づいて、第3の磁気センサ23が感知している磁極の極番号q3を特定する。
【0236】
一方、第2条件を満たしている場合には、回転角演算部34は、表4に示される磁極対M1〜M8と3つの極大値P1,P2,P3の組合せとの関係と、最新に検出された各出力信号V1,V2,V3の極大値P1.P2,P3の組み合わせとに基づいて、第1の磁気センサ21が直前まで感知していた磁極対の磁極対番号Q1’を特定する。そして、当該磁極対番号Q1’より1だけ小さい磁極対番号を、第1の磁極センサ21が現在感知している磁極対の磁極対番号Q1(=Q1’−1)として特定する。
【0237】
次に、回転角演算部34は、第1の磁極センサ21が現在感知している磁極の極番号q1を、q1=2・Q1に基づいて特定する。また、回転角演算部34は、q2=(q1−r1)+r2に基づいて、第2の磁気センサ22が感知している磁極の極番号q2を特定する。さらに、回転角演算部34は、q3=(q1−r1)+r3に基づいて、第3の磁気センサ23が感知している磁極の極番号q3を特定する。
【0238】
前記ステップS103において、各磁気センサ21,22,23が感知している磁極を特定できた場合には(ステップS104:YES)、回転角演算部34は、ステップS106に移行する。一方、前記ステップS103において、3つの出力信号V1,V2,V3の極大値P1,P2,P3が検出(記憶)されていないと判別された場合、あるいは3つの出力信号V1,V2,V3の極大値P1,P2,P3が検出されていても、前記第1条件および第2条件のいずれをも満たしていないと判別された場合には、回転角演算部34は、極番号を特定できなかったと判別し(ステップS104:NO)、ステップS94に移行する。
【0239】
前記ステップS98において、各磁気センサ21,22,23が感知している磁極が既に特定されていると判別された場合には(ステップS98:YES)、回転角演算部34は、前記ステップS96でゼロクロスが検出された出力信号に対応するピーク値候補を0にリセットした後、極番号の更新処理を行なう(ステップS105)。具体的には、回転角演算部34は、前記ステップS96でゼロクロスが検出された磁気センサに対して既に特定されている極番号q1、q2またはq3を、ロータ20の回転方向に応じて、1だけ大きい極番号または1だけ小さい極番号に変更する。
【0240】
ロータ20の回転方向が正方向である場合には、回転角演算部34は、ゼロクロスが検出された磁気センサに対して既に特定されている前記極番号q1、q2またはq3を、1だけ大きい極番号に更新する。一方、ロータ20の回転方向が逆方向である場合には、回転角演算部34は、ゼロクロスが検出された磁気センサに対して既に特定されている前記極番号q1、q2またはq3を、1だけ小さい極番号に更新する。ただし、”1”の極番号に対して、1だけ小さい極番号は、”16”となる。また、”16”の極番号に対して、1だけ大きい極番号は、”1となる。回転角演算部34は、ステップS105の極番号の更新処理が終了すると、ステップS106に移行する。
【0241】
ステップS106では、回転角演算部34は、第2の振幅補正処理を行う。つまり、回転角演算部34は、各磁気センサ21,22,23が感知している磁極のピーク値を用いて、各磁気センサ21,22,23の出力信号V1,V2,V3の振幅を補正する。
具体的には、回転角演算部34は、第1の磁気センサ21が感知している磁極の極番号q1に対応する第1の出力信号V1のピーク値と、第2の磁気センサ22が感知している磁極の極番号q2に対応する第2の出力信号V2のピーク値と、第3の磁気センサ23が感知している磁極の極番号q3に対応する第3の出力信号V3のピーク値とを、ピーク値テーブル(図20参照)から取得する。ピーク値テーブルから取得された第1、第2および第3の出力信号V1,V2,V3のピーク値を、それぞれP1x,P2x,P3xで表すことにする。そして、取得した各ピーク値(振幅補正値)P1x,P2x,P3xと予め設定されている基準振幅φとに基づいて、各出力信号V1,V2,V3の振幅を補正する。
【0242】
具体的には、第1、第2および第3の出力信号V1,V2,V3の振幅補正後の信号をそれぞれV1’,V2’,V3’とすると、補正後の第1、第2および第3の出力信号V1’,V2’,V3’は、それぞれ次式(21),(22),(23)に基づいて演算される。
V1’=(V1/P1x)×φ …(21)
V2’=(V2/P2x)×φ …(22)
V3’=(V3/P3x)×φ …(23)
第2の振幅補正処理が終了すると、回転角演算部34は、ステップS107に移行する。ステップS107では、回転角演算部34は、前記ステップS106で振幅補正された各出力信号V1’,V2’,V3’に基づいて、電気角θEを演算する。
【0243】
具体的には、回転角演算部34は、振幅補正後の第1の出力信号V1’と振幅補正後の第3の出力信号V3’とに基づいて、ロータ20の回転角に相当する第1の電気角θE1を演算する。また、回転角演算部34は、振幅補正後の第1の出力信号V1’と振幅補正後の第2の出力信号V2’とに基づいて、ロータ20の回転角に相当する第2の電気角θE2を演算する。また、回転角演算部34は、振幅補正後の第2の出力信号V2’と振幅補正後の第3の出力信号V3’とに基づいて、ロータ20の回転角に相当する第3の電気角θE3を演算する。第1、第2および第3の電気角θE1,θE2,θE3の演算方法については、後述する。
【0244】
そして、回転角演算部34は、たとえば、次式(24)に基づいて、最終的な電気角θEを演算する。つまり、回転角演算部34は、第1、第2および第3の電気角θE1,θE2,θE3の平均値を、最終的な電気角θEとして演算する。
θE=(θE1+θE2+θE3)/3 …(24)
なお、回転角演算部34は、第1、第2および第3の電気角θE1,θE2,θE3の中央値を、最終的な電気角θEとして演算することができる。また、回転角演算部34は、第1、第2および第3の電気角θE1,θE2,θE3のうち、最も外れているものを除外し、他の2つの平均値を、最終的な電気角θEとして演算することもできる。さらに、回転角演算部34は、第1,第2および第3の電気角θE1,θE2,θE3のいずれか1つの電気角を、最終的な電気角θEとして決定してもよい。
【0245】
第1の電気角θE1の演算方法について説明する。前記基準振幅はφであるので、振幅補正後の第1の出力信号V1’はφ・sinθEで表され、振幅補正後の第2の出力信号V2’はφ・sin(θE+240°)で表され、振幅補正後の第3の出力信号V3はφ・sin(θE+120°)で表される。ここでは、説明の便宜上、基準振幅φが1であるとし、振幅補正後の第1の出力信号V1’、第2の出力信号V2’および第3の出力信号V3を、それぞれV1’=sinθE、V2’=sin(θE+240°)およびV3=sin(θE+120°)で表すことにする。
【0246】
回転角演算部34は、まず、振幅補正後の第1の出力信号V1’(=sinθE)と振幅補正後の第3の出力信号V3’(=sin(θE+120°))とから、振幅補正後の第1の出力信号V1’に対する位相差が90°となる信号V13’(=sin(θE+90°)=cosθE)を演算する。より具体的には、回転角演算部34は、次式(25)に基づいて、信号V13’を演算する。
【0247】
【数1】
【0248】
前記式(25)は、sin(θE+120°)を三角関数の加法定理により展開した式に基づいて、導出することができる。そして、回転角演算部34は、前記信号V13’(=cosθE)と振幅補正後の第1の出力信号V1’(=sinθE)とを用い、次式(26)に基づいて、第1の電気角θE1を演算する。
【0249】
【数2】
【0250】
第2の電気角θE2の演算方法について説明する。回転角演算部34は、まず、振幅補正後の第1の出力信号V1’(=sinθE)と振幅補正後の第2の出力信号V2’(=sin(θE+240°))とから、振幅補正後の第1の出力信号V1’に対する位相差が90°となる信号V12’(=sin(θE+90°)=cosθE)を生成する。より具体的には、回転角演算部34は、次式(27)に基づいて、信号V12’を生成する。
【0251】
【数3】
【0252】
前記式(27)は、sin(θE+240°)を三角関数の加法定理により展開した式に基づいて、導出することができる。そして、回転角演算部34は、前記信号V12’(=cosθE)と振幅補正後の第1の出力信号V1’(=sinθE)とを用い、次式(28)に基づいて、第2の電気角θE2を演算する。
【0253】
【数4】
【0254】
第3の電気角θE3の演算方法について説明する。回転角演算部34は、まず、振幅補正後の第2の出力信号V2’と振幅補正後の第3の出力信号V3’とに基づいて、ロータ20の回転角(電気角)θEに対して120°だけ進んだ電気角θE3’(=θE+120°)を演算する。そして、得られた回転角θE3’から120°を減算することにより、第3の電気角θE3を演算する。
【0255】
回転角演算部34は、振幅補正後の第3の出力信号V3’(=sin(θE+120°))と振幅補正後の第2の出力信号V2’(=sin(θE+240°))とから、振幅補正後の第3の出力信号V3’に対する位相差が90°となる信号V23’(=sin(θE+120°+90°))を生成する。
θE’=θE+120°として、振幅補正後の第3の出力信号V3’を正弦波信号sinθE’で表し、振幅補正後の出力信号V2’を、この正弦波信号sinθE’に対して位相差が120°進んだ正弦波信号sin(θE’+120°)で表すと、前記第1の電気角θE1の演算方法と同様に、正弦波信号sinθE’に対して位相差が90°となる信号V23’(=sin(θE’+90°)=cosθE’)を求めることができる。
【0256】
具体的には、回転角演算部34は、次式(29)に基づいて、信号V23’を生成する。
【0257】
【数5】
【0258】
次に、回転角演算部34は、前記信号V23’(=cosθE’)と振幅補正後の第3の出力信号V3’(=sinθE’=sin(θE+120°))とを用い、次式(30)に基づいて、回転角θE3’を演算する。
【0259】
【数6】
【0260】
そして、回転角演算部34は、次式(31)に基づいて、第3の電気角θe3を演算する。
θE3=θE3’−120° …(31)
前記ステップS107で電気角θEが演算されると、回転角演算部34は、ロータ20の機械角(絶対角)θMを演算する(ステップS108)。具体的には、回転角演算部34は、前記ステップS107で演算された電気角θEと第1の磁気センサ21が感知している極番号q1に対応する磁極対番号Q1とを用い、次式(32)に基づいて、機械角θMを演算する。
【0261】
θM={θE+(Q1−1)×360°}/8 …(32)
回転角演算部34は、前記ステップS107で演算された電気角θEと、ステップS108で演算された、機械角θMとをEPSモータ制御部33に与える。そして、今演算周期での処理を終了する。
前記ステップS94で行なわれる第1の振幅補正処理について説明する。第1の振幅補正処理では、回転角演算部34は、温度センサ24によって検出された温度に応じた、各出力信号V1,V2,V3のピーク値の初期値Pd1,Pd2,Pd3を、不揮発性メモリから取得する。そして、取得した各ピーク値の初期値Pd1,Pd2,Pd3と予め設定されている基準振幅φとに基づいて、各出力信号V1,V2,V3の振幅を補正する。
【0262】
具体的には、第1、第2および第3の出力信号V1,V2,V3の振幅補正後の信号をそれぞれV1’,V2’,V3’とすると、補正後の第1、第2および第3の出力信号V1’,V2’,V3’は、それぞれ次式(33),(34),(35)に基づいて演算される。
V1’=(V1/Pd1)×φ …(33)
V2’=(V2/Pd2)×φ …(34)
V3’=(V3/Pd3)×φ …(35)
ステップS95では、第1の振幅補正処理によって算出された振幅補正後の信号V1’,V2’,V3’に基づいて、電気角θEが算出される。電気角θEの算出方法は、前記ステップS107での電気角θEの算出方法と同じである。
【0263】
前記第3変形例によれば、回転角演算部34は、回転角演算処理開始後において、第1の出力信号V1の極大値と第2の出力信号V2の極大値と第3の出力信号V3の極大値の3つの極大値が検出された直後に、各磁気センサ21,22,23が感知している磁極を特定することができる。このため、イグニッションキーがオンされてからステアリングホイール1のロックが開錠されるまでの間において、EPSモータ7が強制駆動モードで回転されている間に、各磁気センサ21,22が感知している磁極を特定することが可能となる。したがって、ステアリングホイール1のロックが開錠された直後から、精度の高いロータ回転角を演算することができる。これにより、ステアリングホイール1の操作が可能となった直後から、EPSモータ7を適切に制御することができるようになる。
【0264】
前記第3変形例では、3つの出力信号V1,V2,V3の極大値の組合せに基づいて、第1の磁気センサ21が感知している磁極対を特定しているが、3つの出力信号V1,V2,V3の極小値の組合せに基づいて、第1の磁気センサ21が感知している磁極対を特定するようにしてもよい。
また、磁極対の数、磁気センサの数、弱い磁力を有する磁極対と強い磁力を有する磁極対との配置パターンおよび磁気センサの配置位置は、前記実施形態に示されるものに限られない。つまり、磁極対の数、磁気センサの数、弱い磁力を有する磁極対と強い磁力を有する磁極対との配置パターンおよび磁気センサの配置位置は、各磁気センサのピーク値(極大値または極小値)の組み合わせが基準となる1つの磁気センサが感知している磁極対毎に異なるように設定されていればよい。
【0265】
さらに、同じ磁極対においても、正と負のピーク値に異なった強弱を持たせることで、第1の磁気センサが感知している磁極を判別するようにしてもよい。つまり、磁極対単位ではなく、磁極単位で判別を行うようにしてもよい。
次に、図24〜図28を参照して、この発明の第2の実施形態について説明する。
この発明の第2の実施形態では、回転角検出装置の構成および全体制御部31の動作が、前記第1の実施形態と異なっている。
【0266】
図24は、回転角検出装置の構成を示す模式図である。
回転角検出装置は、EPSモータ7のロータの回転に応じて回転する検出用ロータ20と、磁気センサ21,22と、回転角演算部34と、図2に破線で示す位相差誤差演算部35とを含んでいる。
EPSモータ7のロータには、4組の磁極対が設けられているものとする。検出用ロータ20(以下、ロータ20という)は、EPSモータ7のロータに設けられている磁極対に相当する複数の磁極対を有する円筒状の磁石(多極磁石)20aを含んでいる。
【0267】
磁石20aは、等角度間隔で配置された4組の磁極対(M1,M2)(M3,M4)(M5,M6)(M7,M8)を有している。つまり、磁石20aは、等角度間隔で配置された8個の磁極M1〜M8を有している。各磁極M1〜M8は、ロータ20の回転中心軸を中心として、45°(電気角では180°)の角度間隔で配置されている。各磁極M1〜M8の磁力の大きさは、一定である。
【0268】
ロータ20の周囲には、2つの磁気センサ21,22が配置されている。両磁気センサ21,22は、ロータ20の回転中心軸を中心として、予め設定された所定の位相差(以下、「目標位相差」という)に対応する角度間隔をおいて配置されることが好ましい。この実施形態では、目標位相差は電気角で90°に設定されている。しかし、実際には、組み付け誤差等により、両磁気センサ21,22間の角度間隔は、目標位相差に対応する角度間隔とならない場合がある。この実施形態では、両磁気センサ21,22間の角度間隔が、組み付け誤差等により、目標位相差に対応する90°ではなく、(90°+α)となっているものとする。αは、目標位相差に対する位相差誤差である。
【0269】
図24に矢印で示す方向をロータ20の正方向の回転方向とする。そして、ロータ20が正方向に回転されるとロータ20の回転角が大きくなり、ロータ20が逆方向に回転されると、ロータ20の回転角が小さくなるものとする。ロータ20の回転角(電気角)をθとすると、一方の磁気センサ21の出力信号V1は、V1=A1・sinθと表され、他方の磁気センサ22の出力信号V2は、V2=A2・sin(θ+90°+α)=A2・cos(θ+α)と表される。A1,A2は、それぞれ振幅を表している。
【0270】
これらの振幅A1,A2が互いに等しい値Aであるとみなすか、あるいは両振幅が所定の規定値Aとなるように両信号V1,V2を正規化したとすると、両信号V1,V2は、それぞれ、A・sinθおよびA・cos(θ+α)と表される。ここで、A=1とすると、両信号V1,V2は、それぞれ、sinθおよびcos(θ+α)と表される。そこで、以下の説明においては、説明を簡単にするために、各磁気センサ21,22の出力信号V1,V2を、それぞれV1=sinθ,V2=cos(θ+α)と表すことにする。
【0271】
両磁気センサ21,22の出力信号V1,V2は、位相差誤差演算部35および回転角演算部34に入力される。回転角演算部34の不揮発性メモリには、位相差誤差αを記憶するためのエリアが設けられている。EPSモータ7の出荷時においては、前記エリアには、予め求められた位相差誤差αの初期値が記憶されている。回転角演算部34は、不揮発性メモリに記憶されている位相差誤差αと両磁気センサ21,22の出力信号V1,V2とに基づいて、ロータ20の回転角を演算する。
【0272】
位相差誤差演算部35は、強制回転モードでEPSモータ7が回転駆動されているときに、磁気センサ21,22の出力信号V1,V2に基づいて位相差誤差αを演算して、回転角演算部34に設定する。つまり、回転角演算部34の不揮発性メモリに記憶されている位相差誤差αを、新たに演算された位相差誤差αに更新する。
図25は、位相差誤差演算部35の構成を示すブロック図である。
【0273】
位相差誤差演算部35は、信号和演算部41と、第1の振幅演算部42と、信号差演算部43と、第2の振幅演算部44と、振幅差演算部45と、誤差演算部46とを含んでいる。
信号和演算部41は、2つの磁気センサ21,22の出力信号V1,V2の和を演算する。出力信号V1,V2の和に相当する信号(以下、「和信号」という)は、次式(36)で表される。
【0274】
【数7】
【0275】
したがって、この和信号の振幅B1は、次式(37)で表される。
【0276】
【数8】
【0277】
第1の振幅演算部42は、信号和演算部41の演算結果に基づいて、前記和信号の振幅B1を求める。具体的には、強制回転モードでEPSモータ7が回転駆動されているときに、信号和演算部41によって信号和(V1+V2)を所定時間毎に演算させることにより、ロータ20の複数の回転角それぞれに対応する信号和を取得する。このようにして取得された複数の回転角に対応する信号和から、和信号の極大値および極小値を抽出し、抽出した極大値および極小値に基づいて和信号の振幅B1を求める。たとえば、抽出された極大値の平均から抽出された極小値の平均を減算した値の1/2を振幅B1として求めることができる。
【0278】
信号差演算部43は、2つの磁気センサ21,22の出力信号V1,V2の差(V1−V2)を演算する。出力信号V1,V2の差に相当する信号(以下、「差信号」という)は、次式(38)で表される。
【0279】
【数9】
【0280】
したがって、この差信号の振幅B2は、次式(39)で表される。
【0281】
【数10】
【0282】
第2の振幅演算部44は、信号差演算部43の演算結果に基づいて、前記差信号の振幅B2を求める。具体的には、強制回転モードでEPSモータ7が回転駆動されているときに、信号差演算部43によって信号差(V1−V2)を所定時間毎に演算させることにより、ロータ20の複数の回転角それぞれに対応する信号差を取得する。このようにして取得された複数の回転角に対応する信号差から、差信号の極大値および極小値を抽出し、抽出した極大値および極小値に基づいて差信号の振幅B2を求める。たとえば、抽出された極大値の平均から抽出された極小値の平均を減算した値の1/2を振幅B2として求めることができる。
【0283】
振幅差演算部45は、第1の振幅演算部42によって演算された振幅B1と、第2の振幅演算部44によって演算された振幅B2との差ΔB(=B2−B1)を演算する。なお、振幅差ΔBは、前記式(37),(39)を用いて演算すると、次式(40)で表される。
【0284】
【数11】
【0285】
誤差演算部46は、振幅差演算部45によって演算された振幅差ΔBに基づいて、位相差誤差αを演算する。前記式(40)で表されているように、振幅差ΔBは、αの関数(2√2・sin(α/2))となる。この関数をグラフで表すと、図26に示すようなサインカーブとなる。ただし、図26の横軸は、αではなく、α/2である。この関数は、αの絶対値が小さい範囲では、ほぼ直線とみなすことができる。この実施形態では、αが、−π/6≦α≦π/6の範囲内である場合には、次式(41)に示すように、α/2が2√2・sin(α/2)に比例するとみなしている。
【0286】
2√2・sin(α/2)=K・α/2 …(41)
前記式(41)において、Kは比例定数である。この比例定数Kは、図26に示すサインカーブのうち、横軸の値が−(π/6)/2〜(π/6)/2である範囲内の部分を直線とみなした場合に、その直線の傾きy/xに相当する。したがって、比例定数Kは、次式(42)で表される。
【0287】
【数12】
【0288】
前記式(40)で示されるようにΔB=2√2・sin(α/2)であるので、前記式(41),(42)を用いることにより、次式(43)のように、ΔBを近似的に表すことができる。
【0289】
【数13】
【0290】
前記式(43)を変形することにより、位相差誤差αは、次式(44)で表される。
【0291】
【数14】
【0292】
誤差演算部46は、振幅差演算部45によって演算された振幅差ΔBを用い、前記式(44)に基づいて、位相差誤差αを演算する。演算された位相差誤差αは、不揮発性メモリに格納される。
図27は、回転角演算部34によって実行される回転角演算処理の手順を示すフローチャートである。
【0293】
回転角演算部34が起動されると、回転角演算部34は、図27に示される回転角演算処理を、所定の演算周期毎に繰り返し行う。
回転角演算部34は、磁気センサ21,22の出力信号V1(=sinθ),V2(=cos(θ+α))を取り込む(ステップS131)。そして、回転角演算部34は、ステップS131で取り込まれた出力信号V1,V2と、不揮発性メモリに記憶されている位相差誤差αとを用い、次式(45)に基づいて、第2の出力信号V2を補正する(ステップS132)。
【0294】
【数15】
【0295】
つまり、回転角演算部34は、出力信号V1(=sinθ)と、出力信号V2(=cos(θ+α))と、sinαと、cosαとから、位相差誤差αが補正された信号V2’(=cosθ)を求める。なお、式(45)は、cos(θ+α)を三角関数の加法定理により展開した式に基づいて、導出することができる。
次に、回転角演算部34は、位相差誤差αが補正された信号V2’(=cosθ)と、ステップS131で取り込まれた出力信号V1(=sinθ)とを用い、次式(46)に基づいて、ロータ1の回転角θを演算する(ステップS133)。
【0296】
θ=tan−1(sinθ/cosθ)
=tan−1(V1/V2’)…(46)
図28は、第2の実施形態における制御部13の全体的な動作を示すフローチャートである。
図28において、図9に示された各ステップと同様の処理が行われるステップには、図9中と同一参照符号を付して示す。
【0297】
イグニッションキーがオンされることにより、ECU11の電源がオンされると、全体制御部31は、EPS用リレーR1,R2をオンさせる(ステップS21)。次に、全体制御部31は、回転角演算部34を起動させる(ステップS22)。これにより、回転角演算部34は、図27を用いて説明した回転角演算処理を開始する。この際、回転角演算部34は、回転角演算部34の不揮発性メモリに記憶されている位相差誤差αを用いて、ロータ20の回転角を演算する。また、全体制御部31は、位相差誤差演算部35を起動させる(ステップS22A)。これにより、位相差誤差演算部35は、図35を用いて説明したような位相差誤差の演算処理を開始する。
【0298】
また、全体制御部31は、EPSモータ制御部33を強制回転モードで一定時間動作させる(ステップS23)。これにより、EPSモータ制御部33は、強制回転モードで、EPSモータ7を駆動する。強制回転モードでEPSモータ7が回転されている間に、位相差誤差演算部35は、位相差誤差αを演算して、回転角演算部34に設定する(ステップS23A)。つまり、位相差誤差演算部35は、回転角演算部34の不揮発性メモリに記憶されている位相差誤差αを、新たに演算した位相差誤差αに更新する。これ以後は、回転角演算部34は、位相差誤差演算部35によって最新に演算された位相差誤差αを用いて、ロータ20の回転角を演算する。
【0299】
前記一定時間が経過すると、全体制御部31は、EPS用リレーR1,R2をオフさせる(ステップS24)。そして、ステップS25以降の処理を行う。
第2の実施形態では、イグニッションキーがオンされてからステアリングホイール1のロックが開錠されるまでの間に、両磁気センサ21,22の最新の角度間隔に応じた位相差誤差αを演算して、回転角演算部34に設定することができる。したがって、回転角演算部34は、ステアリングホイール1のロックが開錠された直後から、精度の高いロータ回転角を演算することができる。これにより、ステアリングホイール1の操作が可能となった直後から、EPSモータ7を適切に制御することができるようになる。
【0300】
次に、図29〜図33を参照して、この発明の第3の実施形態について説明する。
この発明の第3の実施形態では、回転角検出装置の構成および全体制御部31の動作が、前記第1の実施形態と異なっている。
図29は、回転角検出装置の構成を示している。
回転角検出装置は、EPSモータ7のロータの回転に応じて回転する検出用ロータ20と、磁気センサ21,22と、回転角演算部34と、図2に破線で示す補正ゲイン演算部36とを含んでいる。
【0301】
EPSモータ7のロータには、4組の磁極対が設けられているものとする。検出用ロータ20(以下、ロータ20という)は、EPSモータ7のロータに設けられている磁極対に相当する複数の磁極対を有する円筒状の磁石(多極磁石)20aを含んでいる。
磁石20aは、4組の磁極対(M1,M2)(M3,M4)(M5,M6)(M7,M8)を有している。つまり、磁石20aは、等角度間隔で配置された8個の磁極M1〜M8を有している。各磁極M1〜M8は、ロータ20の回転中心軸を中心として、45°(電気角では180°)の角度間隔で配置されている。各磁極M1〜M8の磁力の大きさは、一定である。
【0302】
ロータ20における回転中心軸に直交する一端面の外方には、磁石20aの環状端面に対向する2つの磁気センサ21,22が配置されている。これらの磁気センサ21,22は、ロータ20の回転中心軸を中心として電気角で90°の角度間隔で配置されている。以下において、一方の磁気センサ21を第1の磁気センサ21といい、他方の磁気センサ22を第2の磁気センサ22という場合がある。
【0303】
各磁気センサ21,22とロータ20の端面との間のギャップが小さいと、各磁気センサ21,12の出力信号V1,V2に3次高調波成分が重畳され、それらの出力信号波形に歪が発生する。たとえば、図30に示すように、磁気センサ21と検出用ロータ20との間のギャップが小さくなるほど、磁気センサ21の出力信号の歪量は大きくなる。
図29に矢印で示す方向をロータ20の正方向の回転方向とする。そして、ロータ20が正方向に回転されるとロータ20の回転角が大きくなり、ロータ20が逆方向に回転されると、ロータ20の回転角が小さくなるものとする。ロータ20の回転角(電気角)をθとすると、3次高調波成分が重畳されていない場合には、第1の磁気センサ21の出力信号V1は、V1=A1・sinθと表され、第2の磁気センサ22の出力信号V2は、V2=A2・sin(θ+90°)=A2・cosθと表される。A1,A2は、それぞれ振幅を表している。これらの振幅A1,A2が互いに等しい値Aであるとみなすか、あるいは両振幅が所定の規定値Aとなるように両信号V1,V2を正規化したとすると、両信号V1,V2は、それぞれ、A・sinθおよびA・cosθと表される。ここで、A=1とすると、両信号V1,V2は、それぞれ、sinθおよびcosθ)と表される。そこで、3次高調波成分が重畳されていない場合には、第1の磁気センサ21からはV1=sinθで表される出力信号V1が出力され、第2の磁気センサ22からはV2=cosθで表される出力信号V2が出力されるものとする。
【0304】
この実施形態では、各磁気センサ21,22と磁石20aとのギャップが小さいため、各磁気センサ21,22の出力信号には、3次高調波成分が重畳されているものとする。したがって、この実施形態には、3次高調波成分のゲインをK(0<K<1)とすると、第1の磁気センサ21からは、次式(47)で表される第1の出力信号V1が出力され、第2の磁気センサ22からは次式(48)で表される第2の出力信号V2が出力されるものとする。
【0305】
【数16】
【0306】
第1の出力信号V1および第2の出力信号V1は、補正ゲイン演算部36および回転角演算部34に入力される。
回転角演算部34の不揮発性メモリには、各出力信号V1,V2から3次高調波成分を除去するために用いられる補正ゲインG(=4K/(1−K))を記憶するためのエリアが設けられている。EPSモータ7の出荷時においては、前記エリアには、予め求められた補正ゲインGの初期値が記憶されている。回転角演算部34は、不揮発性メモリに記憶されている補正ゲインGと、両磁気センサ21,22の出力信号V1,V2とに基づいて、ロータ20の回転角(電気角)を演算する。
【0307】
補正ゲイン演算部36は、強制回転モードでEPSモータ7が回転駆動されているときに、磁気センサ21,22の出力信号V1,V2に基づいて、それらの出力信号に含まれる3次高調波成分に応じた補正ゲインGを演算し、得られた補正ゲインGを回転角演算部34に設定する。つまり、回転角演算部34の不揮発性メモリに記憶されている補正ゲインGを、新たに演算された補正ゲインGに更新する。
【0308】
図29に示すように、回転角演算部34は、第1の3次高調波成分除去部51と、第2の3次高調波成分除去部52と、ロータ角演算部53とを含んでいる。第1の3次高調波成分除去部51は、第1の出力信号V1から3次高調波成分が除去されるように、第1の出力信号V1を補正する。具体的には、第1の3次高調波成分除去部51は、第1の磁気センサ21の出力信号V1から3次高調波成分が除去された信号sinθの近似値(sinθ)nを演算する。
【0309】
第2の3次高調波成分除去部52は、第2の出力信号V2から3次高調波成分が除去されるように、第2の出力信号V2を補正する。具体的には、第2の3次高調波成分除去部52は、第2の磁気センサ22の出力信号V2から3次高調波成分が除去された信号cosθの近似値(cosθ)nを演算する。
ロータ角演算部53は、第1の3次高調波成分除去部51によって演算されたsinθの近似値(sinθ)nと、第2の3次高調波成分除去部52によって演算されたcosθの近似値(cosθ)nとに基づいて、ロータ20の回転角θを演算する。具体的には、次式(49)に基づいて、ロータ20の回転角θを演算する。
【0310】
θ=tan−1{(sinθ)n/(cosθ)n} …(49)
以下、第1の3次高調波成分除去部51および第2の3次高調波成分除去部52の動作について説明する。
まず、第1の3次高調波成分除去部51の動作について説明する。
前記式(47)を変形することにより、次式(50)を導くことができる。
【0311】
【数17】
【0312】
前記式(50)の右辺における{4K/(1−K)}が補正ゲインGである。補正ゲインGととしては、不揮発性メモリに記憶されている補正ゲインGが用いられる。次式(51)は、前記式(50)に基づいて、第1の磁気センサ21の出力信号V1から3次高調波成分が除去された信号sinθの近似値(sinθ)nを演算するための演算式を示している。
【0313】
【数18】
【0314】
前記式(51)に示すように、前記式(50)の右辺の(1−sin2θ)の項におけるsinθとして、第1の磁気センサ21の出力信号V1を用いることにより、演算回数が1回目のsinθの近似値(sinθ)1を演算することができる。また、演算回数が1回目のsinθの近似値(sinθ)1を、前記式(50)の右辺の(1−sin2θ)の項におけるsinθとして用いることにより、演算回数が2回目のsinθの近似値(sinθ)2を演算することができる。つまり、i(iは1以上の整数)を演算回数とすると、演算回数が2回目以降のsinθの近似値(sinθ)i+1は、その1回前に演算されたsinθの近似値(sinθ)iを、前記式(50)の右辺の(1−sin2θ)の項におけるsinθとして用いることによって演算することができる。演算回数が多くなるほど、精度の高い近似値が得られる。
【0315】
第1の3次高調波成分除去部51は、上記のような演算をn回行なうことにより、演算回数がn回目のsinθの信号値(sinθ)nを演算する。演算回数nは任意であってもよい。つまり、演算回数nは1であってもよいし、2以上の値であってもよい。この実施形態では、演算回数nは、2または3に設定される。
次に、第2の3次高調波成分除去部52の動作について説明する。
【0316】
前記式(48)を変形することにより、次式(52)を導くことができる。
【0317】
【数19】
【0318】
前記式(52)の右辺における{4K/(1−K)}が補正ゲインGである。補正ゲインGととしては、不揮発性メモリに記憶されている補正ゲインGが用いられる。次式(53)は、前記式(52)に基づいて、第2の磁気センサ22の出力信号V2から3次高調波成分が除去された信号cosθの近似値(cosθ)nを演算するための演算式を示している。
【0319】
【数20】
【0320】
前記式(53)に示すように、前記式(52)の右辺の(1−cos2θ)の項におけるcosθとして、第2の磁気センサ22の出力信号V2を用いることにより、演算回数が1回目のcosθの近似値(cosθ)1を演算することができる。また、演算回数が1回目の近似値(cosθ)1を、前記式(52)の右辺の(1−cos2θ)の項におけるcosθとして用いることにより、演算回数が2回目のcosθの近似値(cosθ)2を演算することができる。つまり、i(iは1以上の整数)を演算回数とすると、演算回数が2回目以降のcosθの近似値(cosθ)i+1は、その1回前に演算されたcosθの近似値(cosθ)iを、前記式(52)の右辺の(1−cos2θ)の項におけるcosθとして用いることによって演算することができる。演算回数が多くなるほど、精度の高い近似値が得られる。
【0321】
第2の3次高調波成分除去部52は、上記のような演算をn回行なうことにより、演算回数がn回目の信号値(cosθ)nを演算する。演算回数nは任意であってもよい。つまり、演算回数nは1であってもよいし、2以上の値であってもよい。この実施形態では、演算回数nは、2または3に設定される。
図31は、回転角演算部34によって実行される回転角演算処理の手順を示すフローチャートである。
【0322】
回転角演算部34が起動されると、回転角演算部34は、図31に示される回転角演算処理を、所定の演算周期毎に繰り返し行う。
回転角演算部34は、磁気センサ21,22の出力信号V1,V2を取り込む(ステップS141)。そして、回転角演算部34は、ステップS141で取り込まれた各出力信号V1,V2から3次高周波成分を除去する(ステップS142)。具体的には、第1の3次高周波成分除去部51によって、第1の出力信号V1から3次高周波成分が除去された信号sinθの近似値(sinθ)nが演算される。また、第2の3次高周波成分除去部52によって、第2の出力信号V2から3次高周波成分が除去された信号cosθの近似値(cosθ)nが演算される。この際、補正ゲインGとしては、不揮発性メモリに記憶されている補正ゲインが用いられる。
【0323】
次に、回転角演算部34のロータ角演算部53は、第1の3次高周波成分除去部51によって演算されたsinθの近似値(sinθ)nと、第2の3次高周波成分除去部52によって演算されたcosθの近似値(sinθ)nを用い、前記式(49)に基づいて、ロータ20の回転角θを演算する(ステップS143)。そして、今演算周期の処理を終了する。 図32は、補正ゲイン演算部36によって実行される補正ゲイン演算処理の手順を示すフローチャートである。
【0324】
補正ゲイン演算部36は、強制回転モードでEPSモータ7が回転駆動されているときに、出力信号V1,V1に基づいて、補正ゲインGを修正するための補正ゲイン修正処理を複数回行なうことにより、出力信号V1,V1に含まれている3次高調波成分に応じた補正ゲインを演算する。補正ゲイン修正処理において、修正前の補正ゲインGをGmで表し、修正後の補正ゲインGをGm+1で表すことにする。
【0325】
補正ゲイン演算部36が起動されると、補正ゲイン演算部36は、修正前の補正ゲインGmとして、回転角演算部34の不揮発性メモリに記憶されている補正ゲインGを設定する(ステップS151)。
次に、補正ゲイン演算部36は、第1の出力信号V1および第2の出力信号V2を取り込む(ステップS152)。そして、補正ゲイン演算部36は、第1の出力信号V1と修正前の補正ゲインGmと前記式(51)を用いてsinθの近似値(sinθ)nを演算するとともに、第2の出力信号V2と修正前の補正ゲインGmと前記式(53)を用いてcosθの近似値(cosθ)nを演算する(ステップS153)。
【0326】
次に、補正ゲイン演算部36は、演算された(sinθ)nの絶対値と演算された(cosθ)nの絶対値との差の絶対値(以下、「回転角判定用絶対値」という)が所定値F以下であるか否かを判別する(ステップS154)。所定値Fは、例えば、0.1である。後述するように、ロータ20の回転角θが、電気角で45度付近、135度付近、225度付近または315度付近の角度である場合に、補正ゲインGを修正することが好ましい。ロータ20の回転角θが前記所定角度付近(電気角で45度付近、135度付近、225度付近または315度付近)の角度である場合には、(sinθ)nの絶対値と(cosθ)nの絶対値とはほぼ等しい値となる。そこで、ステップS154では、前記のような判定を行なうことにより、回転角θが、前記所定角度付近の角度であるか否かを判別している。
【0327】
前記回転角判定用絶対値が所定値F以下である場合には、ロータ20の回転角θが前記所定角度付近の角度であるので、補正ゲイン演算部36は、補正ゲイン修正処理を行なう(ステップS155)。具体的には、補正ゲイン演算部36は、次式(54)に基づいて、補正ゲインGmを修正する(ステップS155)。
Gm+1=Gm+L×((sinθ)n2+(cosθ)n2+1) …(54)
前記式(54)において、Gm+1は修正後の補正ゲインを表している。また、前記式(54)において、Lは予め設定された定数であり、例えば0.1に設定される。
【0328】
次に、補正ゲイン演算部36は、前記ステップS155で演算された修正後の補正ゲインGm+1を、修正前の補正ゲインGmとして設定した後(ステップS156)、補正ゲイン演算部36が起動されてから所定時間TAが経過したか否かを判別する(ステップS157)。この所定時間TAは、強制回転モードでEPSモータ7が駆動制御される時間より若干短い時間に設定されている。
【0329】
所定時間TAが経過していなけければ、補正ゲイン演算部36は、ステップS152に戻る。これにより、ステップS152以降の処理が再度実行される。この場合には、ステップS153においては修正後の補正ゲインを用いて、(sinθ)nと(cosθ)nとが演算されることになる。
前記ステップS154において、前記回転角判定用絶対値が所定値Fより大きいと判別された場合には(ステップS154:NO)、ロータ20の回転角θが前記所定角度付近の角度ではないので、補正ゲイン演算部36は、ステップS155の補正ゲインの修正処理を行なうことなく、ステップS158に移行する。ステップS158では、補正ゲイン演算部36は、補正ゲイン演算部36が起動されてから所定時間TAが経過したか否かを判別する。
【0330】
所定時間TAが経過していない場合には(S158:NO)、補正ゲイン演算部36は、ステップS152に戻る。これにより、ステップS152以降の処理が再度実行されることになる。
前記ステップS157または前記ステップS158において、所定時間TAが経過していると判別された場合には(S157またはS158:YES)、補正ゲイン演算部36は、その時点における修正前の補正ゲインGm(ステップS155において最後に修正された補正ゲインGm+1)を回転角演算部34に設定する(ステップS159)。つまり、補正ゲイン演算部36は、回転角演算部34の不揮発性メモリに記憶されている補正ゲインGを、ステップS155において最後に修正された補正ゲインGm+1に更新する。そして、補正ゲイン演算処理を終了する。
【0331】
前記ステップS153で演算される(sinθ)nおよび(cosθ)nに3次高調波成分が含まれている場合には、{(sinθ)12+(cosθ)12}は、3次高調波成分の影響で1より大きな値となる。また、{(sinθ)12+(cosθ)12}は、(sinθ)nおよび(cosθ)nの演算に用いられた補正ゲインGmが適正値に近いほど、1に近い値となる。そこで、{(sinθ)12+(cosθ)12}が1とかけ離れている量に基づいて、補正ゲインGmを修正することにより、適正値により近い補正ゲインGm+1を演算することができる。
【0332】
一方、(sinθ)nおよび(cosθ)nに3次高調波成分が含まれている場合には、{(sinθ)12+(cosθ)12}は、理論的には、ロータ20の回転角θが、45°、135°、225°または315°であるときに最大となる。したがって、ロータ20の回転角がこれらの回転角付近にあるときの、{(sinθ)12+(cosθ)12}が1からかけ離れている量を基準として、補正ゲインGmを修正することが好ましい。そこで、この実施形態では、ロータ20の回転角がこれらの回転角付近にあるときにのみ、補正ゲインGmを修正するようにしている(ステップS154,S155参照)。
【0333】
また、補正ゲインGmが修正されると、次回のステップS153においては、修正後の補正ゲインを用いてより精度の高い(sinθ)nおよび(cosθ)nを演算し、それに基づいて補正ゲインGmを修正するといった動作を繰り返しているので、精度の高い補正ゲインを求めることができる。
図33は、第3の実施形態における制御部13の全体的な動作を示すフローチャートである。
【0334】
図33において、図9に示された各ステップと同様の処理が行われるステップには、図9中と同一参照符号を付して示す。
イグニッションキーがオンされることにより、ECU11の電源がオンされると、全体制御部31は、EPS用リレーR1,R2をオンさせる(ステップS21)。次に、全体制御部31は、回転角演算部34を起動させる(ステップS22)。これにより、回転角演算部34は、図31を用いて説明した回転角演算処理を開始する。この際、回転角演算部34は、不揮発性メモリに記憶されている補正ゲインGを用いて、ロータ20の回転角を演算する。また、全体制御部31は、補正ゲイン演算部36を起動させる(ステップS22B)。これにより、補正ゲイン演算部36は、図32を用いて説明したような補正ゲイン演算処理を開始する。
【0335】
また、全体制御部31は、EPSモータ制御部33を強制回転モードで一定時間動作させる(ステップS23)。これにより、EPSモータ制御部33は、強制回転モードで、EPSモータ7を駆動する。強制回転モードでEPSモータ7が回転されている間に、補正ゲイン演算部36は、適正値により近い補正ゲインGmを演算して、回転角演算部34に設定する(ステップS23B)。これ以後は、回転角演算部34は、補正ゲインGとして補正ゲイン演算部36によって設定された適正値により近い補正ゲインGmを用いて、ロータ20の回転角を演算する。
【0336】
前記一定時間が経過すると、全体制御部31は、EPS用リレーR1,R2をオフさせる(ステップS24)。そして、ステップS25以降の処理を行う。
第3の実施形態では、イグニッションキーがオンされてからステアリングホイール1のロックが開錠されるまでの間に、出力信号V1,V2に含まれている3次高調波成分に応じた適正値により近い補正ゲインGmを演算して、回転角演算部34に設定することができる。したがって、回転角演算部34は、ステアリングホイール1のロックが開錠された直後から、精度の高いロータ回転角を演算することができる。これにより、ステアリングホイール1の操作が可能となった直後から、EPSモータ7を適切に制御することができるようになる。
【0337】
なお、回転角演算部34内の第1および第2の3次高調波成分除去部51,52は、演算回数が2回目以降の(i+1)回目の近似値(sinθ)i+1および(cosθ)i+1を演算する際の補正ゲインGi+1を、演算回数がそれより1回前のi回目のsinθの近似値(sinθ)iおよびcosθの近似値(cosθ)iおよび補正ゲインGiから算出するようにしてもよい。具体的には、演算回数が(i+1)回目の近似値(sinθ)i+1および(cosθ)i+1を演算する際の補正ゲインGi+1を、次式(55)により、演算するようにしてもよい。
【0338】
Gi+1=Gi+Z×[{(sinθ)i2+(cosθ)i2}−1] …(55)
Gi+1:演算回数が(i+1)回目の近似値演算に用いられる補正ゲイン
Gi :演算回数がi回目の近似値演算に用いられる補正ゲイン
Z :予め設定された定数(例えばZ=0.1)
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【0339】
5…ステアリングシャフト、3…電動パワーステアリング装置、4…ステアリングロック装置、7…EPSモータ、10…ロックモータ、11…ECU、12…駆動回路、13…制御部、20…検出用ロータ、20a…多極磁石、21,22,23…磁気センサ、31…全体制御部、32…ロックモータ制御部、33…EPSモータ制御部、34…回転角演算部、35…位相差誤差演算部、36…補正ゲイン演算部、R1〜R4…リレー
【技術分野】
【0001】
この発明は、車両用操舵装置に関する。
【背景技術】
【0002】
車両用操舵装置として、電動パワーステアリング装置(EPS:Electric Power Steering)と、ステアリングホイール等の操舵部材の回転をロックするステアリングロック装置とを備えたものがある。ステアリングロック装置は、盗難防止のために設けられている。
電動パワーステアリング装置は、電動パワーステアリング用モータ(EPSモータ)を含む。ステアリングロック装置は、たとえば、下記特許文献1の図17に示されている装置のように、施錠および開錠を行うためのステアリングロック装置用モータ(ロックモータ)を含む。EPSモータは、たとえば、三相ブラシレスモータである。ロックモータは、たとえば、ブラシ付直流モータである。
【0003】
EPSモータは、EPS用モータの駆動回路を含むEPS用コントローラ(EPS用ECU)によって制御されている。ロックモータは、ロックモータの駆動回路を含むステアリングロック装置用コントローラ(ロック装置用ECU)によって制御されている。
EPSモータとして使用されるブラシレスモータを制御するためには、ロータの回転角度に合わせてステータ巻線に電流を通電する必要がある。そこで、EPSモータの回転に応じて回転する検出用ロータを用いて、EPSモータのロータの回転角を検出する回転角検出装置が知られている。具体的には、図34に示すように、検出用ロータ101(以下、「ロータ101」という)は、EPSモータのロータに設けられている磁極対に相当する複数の磁極対を有する円筒状の磁石101aを備えている。ロータ101の周囲には、2つの磁気センサ121,122が、ロータ101の回転中心軸を中心として所定の角度間隔をおいて配置されている。各磁気センサ121,122からは、所定の位相差を有する正弦波信号が出力される。これらの2つの正弦波信号に基づいて、ロータ101の回転角(EPSモータのロータの回転角)が検出される。
【0004】
この例では、磁石101aは、5組の磁極対を有している。つまり、磁石101aは、等角度間隔で配置された10個の磁極を有している。各磁極は、ロータ101の回転中心軸を中心として、36°(電気角では180°)の角度間隔で配置されている。また、2つの磁気センサ121,122は、ロータ101の回転中心軸を中心として18°(電気角では90°)の角度間隔をおいて配置されている。
【0005】
図34に矢印で示す方向を検出用ロータ101の正方向の回転方向とする。そして、ロータ101が正方向に回転されるとロータ101の回転角が大きくなり、ロータ101が逆方向に回転されると、ロータ101の回転角が小さくなるものとする。各磁気センサ121,122からは、図35に示すように、ロータ101が1磁極対分に相当する角度(72°(電気角では360°))を回転する期間を一周期とする正弦波信号V1,V2が出力される。
【0006】
所定の基準位置からのロータ101の絶対的な回転角を、ロータ101の絶対回転角(機械角)θAということにする。ロータ101の1回転分の角度範囲を、5つの磁極対に対応して5つの区間に分け、各区間の開始位置を0°とし終了位置を360°として表したロータ101の角度を、ロータ101の相対回転角θRということにする。この場合には、10個の磁極の角度幅は等しいので、ロータ101の相対回転角θRは、EPSモータのロータの電気角と一致する。
【0007】
ここでは、第1の磁気センサ121からは、V1=A1・sinθRの出力信号が出力され、第2の磁気センサ122からは、V2=A2・cosθRの出力信号が出力されるものとする。A1,A2は、振幅である。両出力信号V1,V2の振幅A1,A2が互いに等しいとみなすと、ロータ101の相対回転角θRは、両出力信号V1,V2を用いて、次式(1)に基づいて求めることができる。
【0008】
θR=tan−1(sinθR/cosθR)
=tan−1(V1/V2) …(1)
このようにして、求められた相対角θRを使って、EPSモータを制御する。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2010−76455号公報
【特許文献2】特開平2−164667号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
前述したような従来の回転角検出装置においては、磁極ごとの磁力のばらつきなどにより、各磁気センサ121,122の出力信号V1,V2の振幅が磁極ごとに変動するため、ロータ101の回転角の検出に誤差が発生する。そこで、ロータ101の絶対回転角(機械角)θAに応じて、各磁気センサ121,122の出力信号V1,V2の振幅が等しくなるように、各磁気センサ121,122の出力信号V1,V2を補正(振幅補正)した後、ロータ101の相対角θRを演算している。
【0011】
磁極毎に磁力がばらつく場合には、各磁気センサ121,122の出力信号V1,V2に対して、相対角(電気角)の1周期または半周期ごとに補正するゲインを変更しなければならない。ロータ101が1回転した後においては、各磁気センサ121,122が感知している磁極を特定することができるので、各磁気センサ121,122が感知している磁極(磁極対)に応じた振幅補正を行うことができる。しかし、電動パワーステアリング装置の起動直後には、各磁気センサ121,122が感知している磁極を特定することができないため、各磁気センサ121,122が感知している磁極に応じた振幅補正を行うことができない。
【0012】
従来、ステアリングロック装置を備えた車両操舵装置においては、イグニッションキーがオンされても、ステアリングロック装置によって操舵部材のロック状態が解除される前に、EPSモータが回転駆動されることはなかった。このため、操舵部材のロック状態が解除された直後においては、各磁気センサ121,122が感知している磁極を特定することができない。したがって、操舵部材のロック状態が解除された直後から、精度の高いロータ回転角を演算することができなかった。
【0013】
この発明の目的は、操舵部材のロック状態が解除された直後から、精度の高いロータ回転角を演算することができる車両用操舵装置を提供することである。
【課題を解決するための手段】
【0014】
上記の目的を達成するための請求項1記載の発明は、操舵部材(1)の回転をロックするステアリングロック装置(4)と電動パワーステアリング装置(3)とを含む車両用操舵装置であって、ロータを有する電動パワーステアリング装置用のブラシレスモータ(7)と、前記ロータの回転角を演算するための複数の回転角センサ(21,22,23)と、前記ステアリングロック装置によって前記操舵部材の回転がロックされている状態において、前記ブラシレスモータを回転駆動させるプレ駆動手段(33)と、前記プレ駆動手段による前記ブラシレスモータの回転駆動中に、前記各回転角センサから出力される信号に基づいて、前記ロータの回転角の演算精度を高めるために必要な情報を獲得する情報獲得手段(34,35,36)と、前記ステアリングロック装置によるロックが解除された後において、前記情報獲得手段によって獲得された情報と、前記各回転角センサの出力信号とに基づいて、前記ロータの回転角を演算する回転角演算手段(34)とを含む、車両用操舵装置である。なお、括弧内の英数字は、後述の実施形態における対応構成要素等を表すが、むろん、この発明の範囲は当該実施形態に限定されない。以下、この項において同じ。
【0015】
この発明では、プレ駆動手段によるブラシレスモータの回転駆動中に、情報獲得手段によって、各回転角センサから出力される信号に基づいて、ロータの回転角の演算精度を高めるために必要な情報が獲得される。そして、ステアリングロック装置によるロックが解除された後において、情報獲得手段によって獲得された情報と、各回転角センサの出力信号とに基づいて、ロータの回転角が演算される。これにより、操舵部材のロック状態が解除された直後から、精度の高いロータ回転角を演算することができるようになる。
【0016】
請求項2記載の発明は、前記ロータの回転に応じて回転し、複数の磁極を有する多極磁石(20a)を含み、前記複数の回転角センサは、前記多極磁石の回転に応じて、互いに位相差を有する正弦波信号をそれぞれ出力する磁気センサであり、前記ロータの回転角の演算精度を高めるために必要な情報が、各磁気センサが感知している磁極を特定するための情報である、請求項1に記載の車両用操舵装置である。
【0017】
この構成では、プレ駆動手段によるブラシレスモータの回転駆動中に、各磁気センサが感知している磁極を特定するための情報を獲得することができる。
請求項3記載の発明は、前記ロータの回転に応じて回転し、複数の磁極を有する多極磁石(20a)を含み、前記複数の回転角センサは、前記多極磁石の回転に応じて、互いに位相差を有する第1の正弦波信号および第2の正弦波信号をそれぞれ出力する第1の磁気センサおよび第2の磁気センサであり、前記ロータの回転角の演算精度を高めるために必要な情報が、前記2つの磁気センサの相対的な配置誤差に起因して発生する、前記2つの正弦波信号間の所定の目標位相差に対する位相差誤差である、請求項1に記載の車両用操舵装置である。
【0018】
この構成では、プレ駆動手段によるブラシレスモータの回転駆動中に、2つの磁気センサの相対的な配置誤差に起因して発生する、2つの正弦波信号間の所定の目標位相差に対する位相差誤差を獲得することができる。
請求項4記載の発明は、前記ロータの回転に応じて回転し、複数の磁極を有する多極磁石(20a)を含み、前記複数の回転角センサは、前記多極磁石の回転に応じて、互いに位相が異なりかつ3次高調波成分が重畳された正弦波信号をそれぞれ出力する第1の磁気センサおよび第2の磁気センサであり、前記ロータの回転角の演算精度を高めるために必要な情報が、前記各磁気センサの出力信号から3次高調波成分を除去するために用いられる情報である、請求項1に記載の車両用操舵装置。
【0019】
この構成では、プレ駆動手段によるブラシレスモータの回転駆動中に、各磁気センサの出力信号から3次高調波成分を除去するために用いられる情報を獲得することができる。
請求項5記載の発明は、前記ブラシレスモータに第1の給電経路(15,16,17)を介して接続された、前記ブラシレスモータの駆動回路(12)と、前記第1の給電経路を開閉するための第1の経路開閉手段(R1,R2)と、前記駆動回路に第2の給電経路(18,19)を介して接続され、前記操舵部材をロックするためのステアリングロック装置用の電動モータ(10)と、前記第2の給電経路を開閉する第2の経路開閉手段(R3,R4)とを含む、請求項1〜4のいずれか一項に記載の車両用操舵装置である。
【0020】
第1の経路開閉手段によって第1の給電経路を閉鎖し、第2の経路開閉手段によって第2の給電経路を開放すると、ブラシレスモータがブラシレスモータの駆動回路に接続されるので、三相ブラシレスモータを駆動させることが可能となる。
一方、第1の経路開閉手段によって第1の給電経路を開放し、第2の経路開閉手段によって第2の給電経路を閉鎖すると、ステアリングロック装置用の電動モータが三相ブラシレスモータの駆動回路に接続されるので、ステアリングロック装置用の電動モータを駆動させることが可能となる。
【0021】
つまり、1つの駆動回路によって、電動パワーステアリング用の三相ブラシレスモータとステアリングロック装置用の電動モータとを駆動することが可能となる。このため、電動パワーステアリング用の三相ブラシレスモータとステアリングロック装置用の電動モータとを駆動するために必要なFET等のスイッチング素子の数を低減させることができる。
【図面の簡単な説明】
【0022】
【図1】この発明の第1の実施形態に係る車両用操舵装置の概略的な構成を示す模式図である。
【図2】ECUの電気的構成を示す概略図である。
【図3】施錠制御モードにおけるロックモータ制御部の動作を説明するための電気回路図である。
【図4】開錠制御モードにおけるロックモータ制御部の動作を説明するための電気回路図である。
【図5】検出用ロータの構成を示す模式図である。
【図6】第1の磁気センサの出力信号波形および第2の磁気センサの出力信号波形を示す模式図である。
【図7】図7Aは、第1の磁気センサに対応する振幅補正用テーブルの内容を示す模式図であり、図7Bは、第2の磁気センサに対応する振幅補正用テーブルの内容を示す模式図である。
【図8】回転角演算部による回転角演算処理の手順を示すフローチャートである。
【図9】制御部の全体的な動作を示すフローチャートである。
【図10】第1変形例における回転角演算部による回転角演算処理の手順を示すフローチャートである。
【図11】図10のステップS43の相対的極番号の設定処理を説明するための模式図である。
【図12】ゼロクロスタイミングの演算方法を説明するための模式図である。
【図13】図10のステップS60のゼロクロス検出に基づく極番号特定処理を説明するための模式図である。
【図14】第2変形例における検出用ロータの構成を示す模式図である。
【図15】第1および第2の磁気センサの出力信号波形ならびに第1の磁気センサが感知している磁極を示す模式図である。
【図16】ピーク値テーブルの内容を示す模式図である。
【図17】回転角演算部による回転角演算処理の手順を示すフローチャートである。
【図18】第3変形例における検出用ロータの構成を示す模式図である。
【図19】第1、第2および第3の磁気センサの出力信号波形ならびに第1の磁気センサが感知している磁極を示す模式図である。
【図20】ピーク値テーブルの内容を示す模式図である。
【図21】回転角演算部による回転角演算処理の手順を示すフローチャートである。
【図22】図21のステップS93の相対的極番号の設定処理の手順を示すフローチャートである。
【図23】相対的極番号の設定処理を説明するための模式図である。
【図24】この発明の第2の実施形態における回転角検出装置の構成を示す模式図である。
【図25】位相差誤差演算部の構成を示すブロック図である。
【図26】位相差誤差の演算方法を説明するための模式図である。
【図27】回転角演算部によって実行される回転角演算処理の手順を示すフローチャートである。
【図28】第2の実施形態における制御部の全体的な動作を示すフローチャートである。
【図29】この発明の第3の実施形態における回転角検出装置の構成を示す模式図である。
【図30】3次高調波成分が重畳されている場合の第1の磁気センサの出力信号の波形の例を示す波形図である。
【図31】回転角演算部によって実行される回転角演算処理の手順を示すフローチャートである。
【図32】補正ゲイン演算部によって実行される補正ゲイン演算処理の手順を示すフローチャートである。
【図33】第3の実施形態における制御部の全体的な動作を示すフローチャートである。
【図34】従来の回転角検出装置による回転角検出方法を説明するための模式図である。
【図35】第1の磁気センサの出力信号波形および第2の磁気センサの出力信号波形を示す模式図である。
【発明を実施するための形態】
【0023】
以下では、この発明の実施形態について、添付図面を参照して詳細に説明する。
図1は、この発明の第1の実施形態に係る車両用操舵装置の概略的な構成を示す模式図である。
車両用操舵装置は、ステアリングホイール(操舵部材)1と、ステアリングコラム2と、電動パワーステアリング装置3と、ステアリングロック装置4と、電子制御ユニット(ECU:Electronic Control Unit)11とを備えている。
【0024】
ステアリングコラム2は、ステアリングホイール1を回転自在に支持するものである。電動パワーステアリング装置3は、運転者の操舵を補助するための装置である。ステアリングロック装置4は、盗難防止等のためにステアリングホイール1の回転をロックさせるための装置である。ECU11は、電動パワーステアリング装置3と、ステアリングロック装置4とを制御するための装置である。
【0025】
ステアリングホイール1は、ステアリングコラム2に回転自在に支持されたステアリングシャフト5と中間軸6とを介して図示しない転舵機構に連結されている。なお、ステアリングシャフト5は、上端がステアリングホイール1に連結された入力軸(図示略)と、下端が中間軸6に連結された出力軸(図示略)と、入力軸と出力軸とを連結するトーションバー(図示略)とを含んでいる。
【0026】
電動パワーステアリング装置3は、操舵補助力(アシスト力)を発生するEPSモータ7と、EPSモータ7の出力トルクをステアリングシャフト5の出力軸に伝達するための減速機構8とを含む。EPSモータ7は、この実施形態では、三相ブラシレスモータからなる。
ステアリングロック装置4は、ステアリングシャフト5の入力軸の回転をロックするための機構9と、この機構を駆動するためのステアリングロック装置用モータ(以下、「ロックモータ10」という)を含んでいる。ロックモータ10は、この実施形態では、ブラシ付直流モータからなる。なお、このようなステアリングロック装置4としては、たとえば、前記特許文献1の図17に開示されているステアリングロック装置を用いてもよい。EPSモータ7およびロックモータ10は、ECU11によって制御される。
【0027】
図2は、ECU11の電気的構成を示す概略図である。
ECU11は、各モータ7,10の駆動電力を生成する駆動回路12と、駆動回路12を制御するための制御部13とを備えている。制御部13は、CPU(中央処理装置)とこのCPUの動作プログラム等を記憶したメモリ(ROM,RAM、書き換え可能な不揮発性メモリ等)とを含むマイクロコンピュータで構成されている。
【0028】
駆動回路12は、EPSモータ7(三相ブラシレスモータ)を駆動するために使用される三相ブリッジインバータ回路である。この実施形態では、EPSモータ7を駆動するための駆動回路12が、ロックモータ10を駆動するための駆動回路としても使用される。
この駆動回路12では、EPSモータ7のU相に対応した一対の電界効果トランジスタFET1,FET2の直列回路と、V相に対応した一対の電界効果トランジスタFET3,FET4の直列回路と、W相に対応した一対の電界効果トランジスタFET5,FET6の直列回路とが、直流電源14と接地との間に並列に接続されている。以下において、各相の一対のFETのうち、電源14側のものを「ハイサイドFET」といい、接地側のものを「ローサイドFET」という場合がある。
【0029】
EPSモータ7のU相界磁コイル7Uは、U相に対応した一対のFET1,FET2の間の接続点にU相配線15を介して接続されている。EPSモータ7のV相界磁コイル7Vは、V相配線16および第1のEPS用リレーR1を介して、V相に対応した一対のFET3,FET4の間の接続点に接続されている。EPSモータ7のW相界磁コイル7Wは、W相配線17および第2のEPS用リレーR2を介して、W相に対応した一対のFET5,FET6の間の接続点に接続されている。U相配線15、V相配線16およびW相配線17によって、第1の給電経路が構成されている。また、EPS用リレーR1,R2によって、第1の経路開閉手段が構成されている。
【0030】
EPSモータ7のロータには、ロータの回転に応じて回転する検出用ロータ20が連結されている。検出用ロータ20の周囲には、検出用ロータ20の回転角(EPSモータ7のロータのロータ回転角)を検出するための2つの磁気センサ(回転位置センサ)21,22が配置されている。一方の磁気センサ21を第1の磁気センサ21といい、他方の磁気センサ22を第2の磁気センサ22という場合がある。また、第1の磁気センサ21の出力信号を第1の出力信号V1といい、第2の磁気センサ22の出力信号を第2の出力信号V2という場合がある。また、検出用ロータ20の周囲には、周辺温度を検出するための温度センサ24が配置されている。各磁気センサ21,22および温度センサ24は、制御部13に接続されている。検出用ロータ20の構成については、後述する。
【0031】
ロックモータ10の負極端子(−)は、第1の接続線18および第1のロック装置用リレーR3を介して、U相配線15に接続されている。ロックモータ10の正極端子(+)は、第2の接続線19および第2のロック装置用リレーR4を介して、W相配線17に接続されている。この実施形態では、ロックモータ10が正転方向に回転されるとステアリングホイール1(ステアリングシャフト5の入力軸)の回転がロック(施錠)され、ロックモータ10が逆転方向に回転されるとロックが開錠される。
【0032】
第1の接続線18と第2の接続線19とによって、ロックモータ10を駆動回路12に接続するための給電回路(第2の給電経路)が構成されている。また、ロック装置用リレーR3,R4によって、第2の給電経路を開閉するための経路開閉手段(第2の経路開閉手段)が構成されている。
ローサイドFET2,FET4およびFET6と接地とを接続するための各接続線には、EPSモータ7のV相、W相およびU相の相電流IV,IW,IUを検出するための電流センサ27V,27W,27Uがそれぞれ設けられている。これらの電流センサ27V,27W,27Uは、制御部13に接続されている。
【0033】
制御部13には、車両の速度を検出するための車速センサ25およびステアリングホイール1に与えられた操舵トルクを検出するためのトルクセンサ26が接続されている。
制御部13は、機能処理部として、全体制御部31、ロックモータ制御部32、EPSモータ制御部33および回転角演算部34を備えている。
回転角演算部34は、第1の磁気センサ21の出力信号V1、第2の磁気センサ22の出力信号V2および温度センサ24の出力信号に基づいて、EPSモータ7のロータの回転角(電気角θE)を演算する。回転角演算部34によって演算された電気角θEは、EPSモータ制御部33に与えられる。回転角演算部34の詳細については、後述する。
【0034】
EPSモータ制御部33は、EPS用リレーR1,R2がオンとなっている状態で駆動回路12内のFET1〜FET6を制御することにより、EPSモータ7を駆動する。EPSモータ制御部33の動作モードには、通常モードと強制回転モードとがある。通常モードは、ステアリングロック装置4によってステアリングホイール1の回転がロックされていない通常運転状態において、駆動回路12を介してEPSモータ7を駆動制御するモードである。通常モードにおいては、EPSモータ制御部33は、トルクセンサ26によって検出される操舵トルク、車速センサ25によって検出される車速、電流センサ27U,27V,27Wによって検出される相電流および回転角演算部34から与えられるロータ回転角θEに基づいて、駆動回路12を介してEPSモータ7を制御する。具体的には、EPSモータ制御部33は、操舵トルクと車速とに基づいて目標電流値を決定し、実際のモータ電流が目標電流値に近づくようにFET1〜FET6を制御する。
【0035】
一方、強制回転モードは、イグニッションキーがオンされた直後において、ステアリングロック装置4によってステアリングホイール1の回転がロックされている状態で、EPSモータ7を強制的に回転駆動するモードである。強制回転モードにおいては、EPSモータ制御部33は、予め設定された強制回転モード用の目標電流値と、電流センサ27U,27V,27Wによって検出される相電流および回転角演算部34から与えられるロータ回転角θEに基づいて、駆動回路12を介してEPSモータ7を制御する。具体的には、EPSモータ制御部33は、実際のモータ電流が強制回転モード用の目標電流値に近づくようにFET1〜FET6を制御する。
【0036】
EPSモータ7はステアリングシャフト5の出力軸に減速機8を介して連結されているため、ステアリングシャフト5の入力軸がステアリングロック装置4によってロックされている場合にEPSモータ7に所定のトルクが与えられると、EPSモータ7はトーションバーに捩れを発生させながら、所定範囲内で回転する。この場合のトーションバーの最大捩れ角を例えば6degとし、減速機8の減速比を例えば15とすると、EPSモータ7は、機械角で90deg回転することになる。EPSモータ7のロータに設けられた磁極対数が5である場合には、EPSモータ7は、電気角で450deg回転することになる。
【0037】
ロックモータ制御部32は、ロック装置用リレーR3,R4がオンとなっている状態で駆動回路12内のFET1〜FET6を制御することにより、ロックモータ10を駆動する。ロックモータ制御部32の動作モードには、施錠制御モードと開錠制御モードとがある。
施錠制御モードにおいては、ロックモータ制御部32は、ロックモータ10を正転方向に駆動させて、ステアリングホイール1の回転をロック(施錠)する。具体的には、ロックモータ制御部32は、図3に示すように、EPS用リレーR1,R2がオフであり、ロック装置用リレーR3,R4がオンとなっている状態で、第2のFET2および第5のFET5をオンにする。これにより、電源14から、第5のFET5、第2のロック装置用リレーR4、ロックモータ10、第1のロック装置用リレーR3および第2のFET2を通って、接地へと電流が流れる。これにより、ロックモータ10の正極側端子(+)に正電圧が印加されるので、ロックモータ10が正転方向に回転する。
【0038】
一方、開錠制御モードにおいては、ロックモータ制御部32は、ロックモータ10を逆転方向に駆動させて、ステアリングホイール1のロックを開錠させる。具体的には、ロックモータ制御部32は、図4に示すように、EPS用リレーR1,R2がオフであり、ロック装置用リレーR3,R4がオンとなっている状態で、第1のFET1および第6のFET6をオンにする。これにより、電源14から、第1のFET1、第1のロック装置用リレーR3、ロックモータ10、第2のロック装置用リレーR4および第6のFET6を通って、接地へと電流が流れる。これにより、ロックモータ10の負極側端子(−)に正電圧が印加されるので、ロックモータ10が逆転方向に回転する。
【0039】
全体制御部31は、リレーR1〜R4の制御、制御部13内の各部32〜34の制御等を行う。
検出用ロータ20、磁気センサ21,22、温度センサ24および回転角演算部34は、回転角検出装置を構成している。図5〜図8を参照して、回転角検出装置について説明する。
【0040】
図5は、検出用ロータの構成を示す模式図である。
検出用ロータ20(以下、単に「ロータ20」という)は、EPSモータ7のロータに設けられている磁極対に相当する複数の磁極対を有する円筒状の磁石(多極磁石)20aを含んでいる。つまり、ロータ20には、周方向に並んだ複数の磁極が設けられている。この例では、磁石20aは、5組の磁極対(M1,M2),(M3,M4),(M5,M6),(M7,M8),(M9,M10)を有している。つまり、磁石20aは、10個の磁極M1〜M10を有している。
【0041】
EPSモータ7のロータに設けられた各磁極の周方向の長さは、全て同じである。つまり、EPSモータ7のロータに設けられた各磁極の角度幅は全て同じであり、36°である。したがって、このEPSモータ7では、1磁極対の角度幅は、機械角で72°であり、これが電気角の360°に相当する。これに対し、図5に示すように、ロータ20に設けられている各磁極M1〜M10のうち、N極の磁極M1,M3,M5,M7,M9の角度幅(a,c,e,g,i)は、それぞれ異なっている。つまり、N極の磁極間では、その着磁面積が異なっている。S極の磁極M2,M4,M6,M8,M10のうち、磁極M10以外の4つの磁極M2,M4,M6,M8は、それぞれ異なっている。磁極M10の角度幅(j)は、磁極M6の角度幅(f)と等しい。
【0042】
この実施形態においては、各磁極M1〜M10の角度幅は、表1に示すようになっている。ただし、表1では、角度幅は、その角度幅に対応する機械角に磁極対数(この実施形態では”5”)を乗算した値で表されている。なお、図5において、破線は、ロータ20を周方向に36°(前記電気角では180°)間隔で分割した場合の各領域を示している。
【0043】
【表1】
【0044】
第1および第2の磁気センサ21,22は、ロータ20の回転中心軸を中心として、所定角度(18°(前記電気角では90°))の角度間隔をおいて配置されている。磁気センサとしては、たとえば、ホール素子、磁気抵抗素子(MR素子)等、磁界の作用により電気的特性が変化する特性を有する素子を備えたものを用いることができる。
図5に矢印で示す方向をロータ20の正方向の回転方向とする。そして、ロータ20が正方向に回転されるとロータ20の回転角が大きくなり、ロータ20が逆方向に回転されると、ロータ20の回転角が小さくなるものとする。各磁気センサ21,22からは、図6に示すように、ロータ20の回転にともなって、正弦波状の信号(以下、「正弦波信号」という)V1,V2が出力される。なお、図6における横軸のロータ角度[deg]は、機械角に磁極対数(この実施形態では”5”)を乗算することにより得られた角度を表している。また、図6には、正弦波信号V1の各ピーク値付近に、その時点において第1の磁気センサ21が感知している磁極の領域a〜jが明記されている。
【0045】
ロータ20が1つの磁極に相当する角度を回転すると、各磁気センサ21,22からは、半周期分の正弦波信号が出力される。ただし、この実施形態では、各磁極の角度幅は一定幅ではないため、1つのセンサから出力される正弦波信号における各磁極に対応する半周期は一定ではない。また、磁極M6および磁極M10を除いて、各磁気センサ21,22の出力信号V1,V2の磁極毎のピーク値は、磁極ごとに異なる。
【0046】
所定の基準位置からのロータ20の絶対的な回転角を、ロータ20の絶対回転角(機械角)θAということにする。ロータ20の1回転分の角度範囲を、5つの磁極対の角度幅に対応して、5つの区間(a+b,c+d,e+f,g+h,i+j)に分け、各区間の開始位置を0°とし終了位置を360°として、絶対回転角θAに対応する角度を0〜360°の範囲内で表した角度を、ロータ20の相対回転角θRということにする。なお、この実施形態では、これらの5つの区間の角度幅は、一定幅ではない。
【0047】
ここでは、第1の磁気センサ21からは、5つの磁極対に対応する区間毎に、V1=A1・sinθRの出力信号が出力され、第2の磁気センサ22からは、5つの磁極対に対応する区間毎に、V2=A2・cosθRの出力信号が出力されるものとする。A1,A2は、それぞれ振幅を表している。ただし、振幅A1は、磁極毎に異なる。同様に、振幅A2も磁極ごとに異なる。また、θRは、対応する区間における相対回転角θRを表している。
【0048】
両出力信号V1,V2の振幅A1,A2が互いに等しいとみなすと、対応する区間におけるロータ20の相対角θRは、両出力信号V1,V2を用いて、次式(2)に基づいて求めることができる。
θR=tan−1(sinθR/cosθR)
=tan−1(V1/V2) …(2)
図2に戻り、各磁気センサ21,22の出力信号V1,V2および温度センサ24の出力信号は、回転角演算部34に入力される。回転角演算部34は、各磁気センサ21,22の出力信号V1,V2等に基づいて、ロータ20の相対回転角θRを算出する。また、回転角演算部34は、得られた相対回転角θR等に基いて、ロータ20の絶対回転角(機械角)θAを算出し、得られたロータ20の絶対回転角θAに基づいて、EPSモータ7のロータの電気角θEを演算する。
【0049】
以下、回転角演算部34の動作について説明する。回転角演算部34内の不揮発性メモリには、磁気センサ21,22毎に、振幅補正用テーブルが記憶されている。
図7Aは、第1の磁気センサ21に対応する振幅補正用テーブル(以下、「第1テーブル」という場合がある)の内容例を示している。第1テーブルには、各磁極M1〜M10の磁極番号1〜10毎に、その磁極に対応する第1の出力信号V1のピーク値(極大値または極小値)、その磁極の角度幅[deg]および補正ゲインG1が記憶されている。ただし、角度幅は、表1で説明したように、その角度幅に対応する機械角に磁極対数(この実施形態では”5”)を乗算した値である。補正ゲインG1は、第1の出力信号V1の振幅の磁極毎のばらつきを補正するためのゲインである。
【0050】
任意の磁極に対する振幅補正ゲインG1は、当該磁極に対応する第1の出力信号V1のピーク値(極大値または極小値)と基準振幅とを用い、次式(3)に基いて求められる。基準振幅は、たとえば、角度幅(機械角×磁極対数)が180°の磁極に対応する第1の出力信号V1のピーク値(絶対値)に相当する値である。基準振幅は、予め設定され、この例では“500”である。
【0051】
G1=基準振幅/|ピーク値| …(3)
図7Bは、第2の磁気センサ22に対応する振幅補正用テーブル(以下、「第2テーブル」という場合がある)の内容例を示している。第2テーブルには、各磁極M1〜M10の磁極番号1〜10毎に、その磁極に対応する第2の出力信号V2のピーク値(極大値または極小値)、その磁極の角度幅[deg]および補正ゲインG2が記憶されている。補正ゲインG2は、第2の出力信号V2の振幅の磁極毎のばらつきを補正するためのゲインである。図7Bでは、説明の便宜上、各磁極に対する第2の出力信号V2のピーク値は、対応する磁極に対する第1の出力信号V1のピーク値と同じ値となっているが、実際には互いに異なる場合もある。
【0052】
任意の磁極に対する補正ゲインG2は、当該磁極に対応する第2の出力信号V2のピーク値(極大値または極小値)と基準振幅とを用い、次式(4)に基いて求められる。基準振幅は、たとえば、角度幅(機械角×磁極対数)が180°の磁極に対応する第2の出力信号V2のピーク値(絶対値)に相当する値である。基準振幅は、予め設定され、この例では“500”である。
【0053】
G2=基準振幅/|ピーク値| …(4)
前記振幅補正用テーブルへのピーク値および補正ゲインの記憶は、EPSモータ7の出荷前に行ってもよいし、EPSモータ7の出荷後において、モータ制御中にピーク値を検出することにより、行ってもよい。前記振幅補正用テーブルに記憶されるピーク値および補正ゲインは、1周期分のデータから求めてもよいし、複数周期分のデータの平均値から求めてもよい。
【0054】
また、回転角演算部34内の不揮発性メモリには、磁極毎(磁極番号毎)に、第1の磁気センサ21によってその磁極に対するピーク値が検出されているときに、第2の磁気センサ22が感知している磁極の極番号を示すデータを記憶した磁極特定用テーブル(以下、「第3テーブル」という場合がある)と、磁極毎(磁極番号毎)に、第2の磁気センサ22によってその磁極に対するピーク値が検出されているときに、第1の磁気センサ21が感知している磁極の極番号を示すデータを記憶した磁極特定用テーブル(以下、「第4テーブルという」という場合がある)とが記憶されている。第3テーブルおよび第4テーブルは、両磁気センサ21,22の配置および角度間隔ならびにロータ20の構成に基づいて作成される。
【0055】
回転角演算部34は、第1または第2の磁気センサ21,22の出力信号V1,V2からピーク値を検出すると、ピーク値が検出された一方の磁気センサに対応する振幅補正用テーブル(第1テーブルまたは第2テーブル)に基づいて、当該磁気センサが感知している磁極の極番号を特定する。この際、センサ信号のピーク値は磁石の温度特性(磁石の温度が高くなるほどピーク値が小さくなる)に応じて変化するので、温度センサ24によって検出される温度に応じた磁石の温度係数(温度が高くなるほど小さくなる係数)を振幅補正用テーブルのピーク値に乗算することによってテーブル値を補正し、検出されたピーク値と補正後のテーブル値とに基づいて、磁極の極番号を特定するようにしてもよい。
【0056】
なお、この実施形態では、磁極M6に対応するピーク値と磁極M10に対応するピーク値は同じであるので、磁極M6または磁極M10に対応するピーク値がいずれか一方の磁気センサによって検出されたとしても、回転角演算部34は、当該磁気センサが感知している磁極の極番号を特定することはできない。そこで、回転角演算部34は、回転角演算部34が起動された後、磁極M6,M10以外の磁極に対応するピーク値が一方の磁気センサによって検出されたときに、当該磁気センサが感知している磁極の極番号を特定する。
【0057】
回転角演算部34は、特定された極番号と、第3または第4テーブル(磁極特定用テーブル)とに基づいて、他方の磁気センサが感知している磁極の極番号を特定する。たとえば、第1テーブルに基いて、第1の磁気センサ21が感知している磁極の極番号が特定された場合には、特定された極番号と第3テーブルとに基いて、第2の磁気センサ22が感知している磁極の極番号が特定される。一方、第2テーブルに基いて、第2の磁気センサ22が感知している磁極の極番号が特定された場合には、特定された極番号と第4テーブルとに基いて、第1の磁気センサ21が感知している磁極の極番号が特定される。
【0058】
これにより、各磁気センサ21,22が感知している磁極の極番号が特定されるので、回転角演算部34は、各磁気センサ21,22の出力信号V1,V2を、それらが感知している磁極に対応する補正ゲインG1,G2を用いて補正する。そして、回転角演算部34は、振幅補正後の出力信号に基づいて、ロータ20の相対回転角θRを演算する。また、回転角演算部34は、得られた相対回転角θR等に基づいて絶対回転角θAを演算する。そして、回転角演算部34は、得られた絶対回転角θAから、EPSモータ7の電気角θEを演算する。
【0059】
それ以後は、回転角演算部34は、第1または第2の磁気センサ21,22の出力からピーク値が検出される毎に、ピーク値が検出された一方の磁気センサに対して既に特定されている極番号を更新し、当該磁気センサの出力信号を、更新後の極番号に対応する補正ゲインを用いて補正する。そして、回転角演算部34は、上記と同様に、ロータ20の相対回転角θR、絶対回転角θA、EPSモータ7の電気角θEを演算する。
【0060】
なお、各磁気センサ21,22が感知している磁極が特定されていないときに、各磁気センサ21,22の出力信号V1,V2の振幅を補正するために、ロータ20の周辺温度毎に各出力信号V1,V2のピーク値の初期値(絶対値)が予め決定されて、回転角演算部34内の不揮発性メモリに記憶されている。ある温度での第1の出力信号V1のピーク値の初期値は、例えば当該温度での第1の出力信号V1の各磁極に対するピーク値の絶対値の平均値に相当する。同様に、ある温度での第2の出力信号V2のピーク値の初期値は、例えば当該温度での第2の出力信号V2の各磁極に対するピーク値の絶対値の平均値に相当する。
【0061】
図8は、回転角演算部34による回転角演算処理の手順を示すフローチャートである。
回転角演算部34が起動されると、回転角演算部34は、図8に示される回転角演算処理を、所定の演算周期毎に繰り返し行う。
回転角演算部34は、各磁気センサ21,22の出力信号(センサ値)V1,V2を読み込む(ステップS1)。なお、回転角演算部34のメモリ(たとえば、RAM)には、所定回数前に読み込まれたセンサ値から最新に読み込まれたセンサ値までの、複数回数分のセンサ値が記憶されるようになっている。
【0062】
回転角演算部34は、メモリに記憶されているセンサ値に基づいて、各センサ値V1,V2毎にピーク値(極値)を検出したか否かを判定する(ステップS2)。以下において、ステップS2の判定処理を、ピーク値検出処理という場合がある。具体的には、回転角演算部34は、センサ値が上昇傾向から下降傾向に変化したときには、ピーク値(極大値)を検出したと判別するとともに、当該極大値を特定する。また、回転角演算部34は、センサ値が下降傾向から上昇傾向に変化したときには、ピーク値(極小値)を検出したと判別するとともに、当該極小値を特定する。
【0063】
前記ステップS2において、ピーク値が検出されなかったときには(ステップS2:NO)、回転角演算部34は、回転角演算部34が起動された後において、後述するステップS7の極番号特定処理によって各磁気センサ21,22が感知している磁極が既に特定されているか否かを判別する(ステップS3)。
各磁気センサが感知している磁極が特定されていない場合には(ステップS3:NO)、回転角演算部34は、第1の振幅補正処理を行なう(ステップS4)。具体的には、回転角演算部34は、温度センサ24によって検出されている温度に対応する各出力信号V1,V2のピーク値の初期値Pd1,Pd2を不揮発性メモリからそれぞれ読み込む。そして、回転角演算部34は、前記ステップS1で読み込んだセンサ値V1,V2を、不揮発性メモリから読み込んだPd1,Pd2と基準振幅(この例では500)を用いて、それぞれ補正する。補正後のセンサ値をV1’,V2’とすると、V1’,V2’は、それぞれ次式(5),(6)で表される。
【0064】
V1’=V1×基準振幅/Pd1 …(5)
V2’=V2×基準振幅/Pd2 …(6)
前記ステップS4の第1の振幅補正処理が行われると、回転角演算部34は、ロータ20の相対角θRを算出する(ステップS5)。具体的には、回転角演算部34は、次式(7)に基づいて、ロータ20の相対角θRを算出する。
【0065】
θR=tan−1(V1’/V2’) …(7)
回転角演算部34は、算出された相対角θRを、電気角θEとしてEPSモータ制御部33に与える。そして、今演算周期での処理を終了する。
前記ステップS3において、各磁気センサが感知している磁極が既に特定されていると判別された場合には(ステップS3:YES)、回転角演算部34は、ステップS10に移行する。
【0066】
前記ステップS2において、ピーク値が検出されたときには(ステップS2:YES)、回転角演算部34は、回転角演算部34が起動された後において、後述するステップS7の極番号特定処理によって各磁気センサ21,22が感知している磁極が既に特定されているか否かを判別する(ステップS6)。
各磁気センサが感知している磁極が特定されていない場合には(ステップS6:NO)、回転角演算部34は、極番号特定処理を行なう(ステップS7)。つまり、回転角演算部34は、各磁気センサ21,22がそれぞれ感知している磁極を特定するための処理を行なう。
【0067】
具体的には、回転角演算部34は、まず、前記ステップS2のピーク値検出処理によって検出されたピーク値(極大値または極小値)と、当該ピーク値を出力した磁気センサに対応する振幅補正用テーブル(第1または第2テーブル)の内容とに基づいて、当該磁気センサが感知している磁極を特定する。つまり、回転角演算部34は、振幅補正用テーブルに記憶されている複数のピーク値のうち、ピーク値検出処理によって検出されたピーク値に最も近いピーク値に対応する極番号を、当該磁気センサが感知している磁極の極番号として特定する。
【0068】
ただし、ピーク値検出処理によって検出されたピーク値に最も近いピーク値に対応する極番号が磁極M6または磁極M10に対応する極番号である場合には、回転角演算部34は、当該磁気センサが感知している磁極を特定しない。
前記磁気センサが感知している磁極の極番号を特定できた場合には、回転角演算部34は、当該磁気センサが感知している磁極の極番号と、第3テーブルまたは第4テーブル(磁極特定用テーブル)とに基づいて、他方の磁気センサが感知している磁極を特定する。これにより、各磁気センサ21,22がそれぞれ感知している磁極が特定される。
【0069】
ステップS7の極番号特定処理によって各磁気センサ21,22が感知している磁極が特定された場合には(ステップS8:YES)、ステップS10に移行する。一方、ステップS7の極番号特定処理によって各磁気センサ21,22が感知している磁極が特定されなかった場合には(ステップS8:NO)、前述したステップS4に移行する。
前記ステップS6において、各センサ21,22が感知している磁極の極番号が既に特定されていると判別された場合には(ステップS6:YES)、回転角演算部34は、極番号更新処理を行なう(ステップS9)。具体的には、回転角演算部34は、前記ステップS2のピーク値検出処理によってピーク値が検出された方の磁気センサに対して既に特定されている極番号を、ロータ20の回転方向に基づいて更新する。より具体的には、回転角演算部34は、当該磁気センサに対して既に特定されている極番号を、ロータ20の回転方向に応じて、1だけ多い極番号または1だけ少ない極番号に変更する。
【0070】
ロータ20の回転方向が正方向(図2に矢印で示す方向)である場合には、既に特定されている前記極番号を、1だけ多い極番号に更新し、ロータ20の回転方向が逆方向である場合には、既に特定されている前記極番号を、1だけ少ない極番号に更新する。ただし、”1”の極番号に対して、1だけ少ない極番号は”10”となる。また、”10”の極番号に対して、1だけ多い極番号は”1”となる。ステップS9の処理が終了すると、ステップS10に移行する。
【0071】
なお、ロータ20の回転方向は、たとえば、各磁気センサ21,22の出力信号V1,V2の位相に基いて判別することができる。具体的には、V2の位相がV1より進んでいる場合(同じ磁極に対するピーク値が、V2で検出されてからV1で検出される場合)には、ロータ20の回転方向が正方向であると判別する。一方、V1の位相がV2より進んでいる場合(同じ磁極に対するピーク値が、V1で検出されてからV2で検出される場合)には、ロータ20の回転方向が逆方向であると判別する。
【0072】
ステップS10では、回転角演算部34は、前記ステップS1で読み込んだセンサ値V1,V2に対して第2の振幅補正処理を行う。具体的には、回転角演算部34は、各磁気センサ21,22に対して現在特定されている極番号に対応する振幅補正ゲインG1,G2を、第1テーブルおよび第2テーブルからそれぞれ読み込む。そして、回転角演算部34は、前記ステップS1で読み込んだセンサ値V1,V2を、第1テーブルおよび第2テーブルから読み込んだゲインG1,G2を用いて、それぞれ補正する。補正後のセンサ値をV1’,V2’とすると、V1’,V2’は、それぞれ次式(8),(9)で表される。
【0073】
V1’=V1×G1 …(8)
V2’=V2×G2 …(9)
前記ステップS10の処理(第2の振幅補正処理)が行われると、回転角演算部34は、ロータ20の相対角θRを算出する(ステップS11)。具体的には、回転角演算部34は、次式(10)に基づいて、ロータ20の相対角θRを算出する。
【0074】
θR=tan−1(V1’/V2’) …(10)
次に、回転角演算部34は、ステップS11で算出されたロータ20の相対角θRと、磁気センサ21が感知している磁極の極番号と、振幅補正用テーブルの内容とに基づいて、ロータ20の絶対角(機械角)θAを算出する(ステップS12)。具体的には、回転角演算部34は、磁気センサ21が感知している磁極の極番号に基づいて、磁気センサ21が感知している磁極を特定する。そして、特定した磁極に対応する角度幅Wを求める。たとえば、磁気センサ21が感知している磁極が、10個の磁極のうち、1番目の磁極M1である場合には、その磁極に対応する角度幅Wは、170[deg]となる。
【0075】
前記ステップS11で算出されたロータ20の相対角θRは、磁気センサ21が感知している磁極の角度幅Wが180°であるとして、算出された角度である。そこで、回転角演算部34は、前記ステップS11で算出されたロータ20の相対角θRを、次式(11)に基づいて、磁気センサ21が感知している磁極の領域の角度幅に応じた相対角θR’に変換(位相補正)する。
【0076】
θR’=θR×(W/180°) …(11)
そして、回転角演算部34は、磁気センサ21が感知している磁極と、変換後の相対角θR’とに基いて、ロータ20の絶対角(機械角)θAを算出する。たとえば、磁気センサ21が感知している磁極が1番目の磁極M1である場合には、θA=θR’/5となる。ここで、5は、磁極対数である。
【0077】
磁気センサ21が感知している磁極が2番目の磁極M2である場合には、θA={θR’+(1番目の磁極M1の角度幅)}/5となる。ただし、角度幅は、表1で説明したように、その角度幅に対応する機械角に磁極対数(この実施形態では”5”)を乗算した値である。磁気センサ21が感知している磁極が3番目の磁極対M3である場合には、θA={θR’+(1番目および2番目の磁極M1,M2の角度幅の総和)}/5となる。磁気センサ21が感知している磁極が4番目の磁極M4である場合には、θA={θR’+(1番目〜3番目の磁極M1〜M3の角度幅の総和)}/5となる。磁気センサ21が感知している磁極が5番目の磁極M5である場合には、θA={θR’+(1番目〜4番目の磁極M1〜M4の角度幅の総和)}/5となる。
【0078】
磁気センサ21が感知している磁極が6番目の磁極M6である場合には、θA={θR’+(1番目〜5番目の磁極M1〜M5の角度幅の総和)}/5となる。磁気センサ21が感知している磁極対が7番目の磁極M7である場合には、θA={θR’+(1番目〜6番目の磁極の角度幅M1〜M6の総和)}/5となる。磁気センサ21が感知している磁極が8番目の磁極M8である場合には、θA={θR’+(1番目〜7番目の磁極の角度幅M1〜M7の総和)}/5となる。磁気センサ21が感知している磁極が9番目の磁極M9である場合には、θA={θR’+(1番目〜8番目の磁極の角度幅M1〜M8の総和)}/5となる。磁気センサ21が感知している磁極が10番目の磁極M10である場合には、θA={θR’+(1番目〜9番目の磁極の角度幅M1〜M9の総和)}/5となる。
【0079】
このようにしてロータ20の絶対角θAが算出されると、回転角演算部34は、電気角θEを、算出する(ステップS13)。具体的には、回転角演算部34は、前記ステップS12で演算された絶対角θAと第1の磁気センサ21が感知している磁極の番号(以下、「q1」で表す)とを用い、次式(12)に基づいて、EPSモータ7のロータの電気角θEを算出する。
【0080】
θE=5θA −{360×(n−1)} …(12)
ただし、q1=1または2の場合、n=1、
q1=3または4の場合、n=2、
q1=5または6の場合、n=3、
q1=7または8の場合、n=4、
q1=9または10の場合、n=5である。
【0081】
回転角演算部34は、前記ステップS13で算出された電気角θEをEPSモータ制御部33に与える。そして、今演算周期での処理を終了する。
図9は、制御部13の全体的な動作を示すフローチャートである。
イグニッションキーがオンされることにより、ECU11の電源がオンされると、全体制御部31は、EPS用リレーR1,R2をオンさせる(ステップS21)。なお、ECU11の電源がオンされたときには、各リレーR1〜R4および各FET1〜6は、オフ状態となっている。
【0082】
次に、全体制御部31は、回転角演算部34を起動させる(ステップS22)。これにより、回転角演算部34は、図8を用いて説明した回転角演算処理を開始する。また、全体制御部31は、EPSモータ制御部33を強制回転モードで一定時間動作させる(ステップS23)。これにより、EPSモータ制御部33は、強制回転モードで、EPSモータ7を駆動する。前述したように、この際、EPSモータ7は、機械角で90deg程度(電気角で450deg程度)回転する。このため、強制回転モードでEPSモータ7が回転されている間に、回転角演算部34は、各磁気センサ21,22が感知している磁極を特定できる。
【0083】
前記一定時間が経過すると、全体制御部31は、EPS用リレーR1,R2をオフさせる(ステップS24)。それから、全体制御部31は、ロック装置用リレーR3,R4をオンさせた後に(ステップS25)、ロックモータ制御部32を開錠制御モードで一定時間動作させる(ステップS26)。これにより、ロックモータ制御部32は、開錠制御モードで、ロックモータ10を駆動する。具体的には、ロックモータ制御部32は、第1および第6のFET1,FET6を一定時間オンした後、第1および第6のFET1,FET6をオフにさせる(図4参照)。これにより、ロックモータ10が逆転方向(開錠方向)に一定時間回転するので、ステアリングホイール1に対するロックが開錠される。
【0084】
次に、全体制御部31は、ロック装置用リレーR3,R4をオフさせた後に(ステップS27)、EPS用リレーR1,R2をオンさせる(ステップS28)。そして、全体制御部31は、EPSモータ制御部33を通常モードで動作させる(ステップS29)。これにより、EPSモータ制御部33は、トルクセンサ26によって検出される操舵トルクと車速センサ25によって検出される車速とに応じた目標電流値を設定し、EPSモータ7に流れるモータ電流が目標電流値に等しくなるように、EPSモータ7を駆動する。これにより、操舵状況および車速に応じた適切な操舵補助が実現される。
【0085】
この後、全体制御部31は、イグニッションキーのオフ操作が行なわれたか否かを監視する(ステップS30)。イグニッションキーのオフ操作が行なわれると(ステップS30:YES)、全体制御部31は、トルクセンサ26によって検出される操舵トルクの絶対値が所定のしきい値H(H>0)未満であるか否かを判別する(ステップS31)。このしきい値Hは、零に近い所定の値に設定される。操舵トルクの絶対値がしきい値H以上である場合には、EPSモータ7による操舵補助が必要な状態であると考えられる。そこで、操舵トルクの絶対値がしきい値H以上である場合には(ステップS31:NO)、全体制御部31は、操舵トルクの絶対値がしきい値H未満となるまで待つ。
【0086】
操舵トルクの絶対値が所定のしきい値H未満であると判別された場合には(ステップS31:YES)、全体制御部31は、EPS用リレーR1,R2および全てのFET1〜FET6をオフする(ステップS32)。この後、全体制御部31は、EPSモータ7のモータ電流(EPS電流)が零になるのを待つ(ステップS33)。具体的には、全体制御部31は、電流センサ27U,27V,27Wによって検出される各相の相電流IU,IV,IWが零になるのを待つ。
【0087】
EPS電流が零になると(ステップS33:YES)、全体制御部31は、ロック装置用リレーR3,R4をオンさせた後に(ステップS34)、ロックモータ制御部32を施錠制御モードで一定時間動作させる(ステップS35)。これにより、ロックモータ制御部32は、施錠制御モードで、ロックモータ10を駆動する。具体的には、ロックモータ制御部32は、第2および第5のFET2,FET5を一定時間オンした後、第2および第5のFET2,FET5をオフにさせる(図5参照)。これにより、ロックモータ10が正転方向(施錠方向)に一定時間回転するので、ステアリングホイール1の回転がロックされる。
【0088】
次に、全体制御部31は、ロック装置用リレーR3,R4をオフさせた後に(ステップS36)、ECU11の電源をオフする(ステップS37)。そして、制御部13による処理を終了する。
前記第1の実施形態によれば、イグニッションキーがオンされてからステアリングホイール1のロックが開錠されるまでの間において、EPSモータ7が強制駆動モードで回転されている間に、各磁気センサ21,22が感知している磁極を特定できる。したがって、ステアリングホイール1のロックが開錠された直後から、精度の高いロータ回転角を演算することができる。これにより、ステアリングホイール1の操作が可能となった直後から、EPSモータ7を適切に制御することができるようになる。
【0089】
また、前記第1の実施形態によれば、EPSモータ7を駆動するための駆動回路(三相ブリッジインバータ回路)12によって、ロックモータ10を駆動することができる。つまり、1つの駆動回路によって、EPSモータ7とロックモータ10とを駆動することが可能となる。このため、EPSモータ7とロックモータ10とを駆動するために必要なFET等のスイッチング素子の数を低減させることができる。
【0090】
次に、図10〜図13を参照して、回転角検出装置の第1変形例について説明する。
第1変形例においても、検出用ロータの構成および磁気センサの数および配置は、前記第1の実施形態と同じである(図5参照)。第1変形例では、回転角演算部34による回転角演算処理が、前記第1の実施形態と異なっている。
第1変形例においても、回転角演算部34内の書き換え可能な不揮発性メモリには、第1の実施形態と同様に、図7Aに示されるような振幅補正用テーブル(第1テーブル)および図7Bに示されるような振幅補正用テーブル(第2テーブル)が記憶されているとともに、ロータ20の周辺温度毎の各出力信号V1,V2のピーク値の初期値(絶対値)が記憶されている。一方、第1変形例においては、第1の実施形態で用いられる磁極特定用テーブル(第3テーブルおよび第4テーブル)」は、不要である。
【0091】
第1変形例では、回転角演算部34は、ロータ20の回転速度が所定速度以下の場合には、第1または第2の磁気センサ21,22の出力信号V1,V2からピーク値を検出し、検出したピーク値に基づいて、各磁気センサ21,22が感知している磁極を特定する。一方、ロータ20の回転速度が所定速度より速い場合には、回転角演算部34は、第1または第2の磁気センサ21,22の出力信号V1,V2からゼロクロスのタイミングを検出し、検出したゼロクロスのタイミングに基づいて、各磁気センサ21,22が感知している磁極を特定する。これは、ロータ20の回転速度が速い場合には、出力信号V1,V2のピークを検出できないおそれがあるからである。
【0092】
図10は、第1変形例における回転角演算部34による回転角演算処理の手順を示すフローチャートである。
回転角演算部34が起動されると、回転角演算部34は、図10に示される回転角演算処理を、所定の演算周期毎に繰り返し行う。
回転角演算処理開始時において第1の磁気センサ21が感知している磁極を基準磁極として、各磁極に相対的な番号を割り当てた場合の各磁極の番号を相対的極番号と定義する。第1の磁気センサ21が感知している相対的極番号(以下、「第1の相対的極番号」という)を変数r1で表し、第2の磁気センサ22が感知している相対的極番号(以下、「第2の相対的極番号」という)を変数r2で表すことにする。なお、各相対的極番号r1,r2は、1から10の整数をとり、1より少ない相対的極番号は10となり、10より1大きい相対的極番号は1となるものとする。この実施形態では、回転角演算処理開始時において、第1の磁気センサ21が感知している磁極(基準磁極)には、例えば、1の相対的極番号が割り当てられる。
【0093】
また、第1の磁気センサ21が感知している磁極の極番号(絶対的極番号)を変数q1で表し、第2の磁気センサ22が感知している磁極の極番号(絶対的極番号)を変数q2で表すものとする。なお、各極番号q1,q2は、1から10の整数をとり、1より少ない極番号は10となり、10より1大きい極番号は1となるものとする。
回転角演算部34は、各磁気センサ21,22の出力信号(センサ値)V1,V2を読み込む(ステップS41)。なお、回転角演算部34のメモリ(たとえば、RAM)には、所定回数前に読み込まれたセンサ値から最新に読み込まれたセンサ値までの、複数回数分のセンサ値が記憶されるようになっている。
【0094】
また、この実施形態では、センサ値V1のピーク値(極大値および極小値)を検出するために、読み込まれたセンサ値V1のうち絶対値がより大きいセンサ値が、センサ値V1のピーク値候補としてメモリに保存される。同様に、センサ値V2のピーク値(極大値および極小値)を検出するために、読み込まれたセンサ値V2のうち絶対値がより大きいセンサ値が、センサ値V2のピーク値候補としてメモリに保存される。ただし、これらのピーク値候補は、対応する出力信号のゼロクロスが検出されたときには、後述するような所定のタイミングでゼロにリセットされる。
【0095】
前記ステップS41で各センサ値V1,V2が読み込まれると、回転角演算部34は、今回の処理が回転角演算処理開始後の初回の処理であるか否かを判別する(ステップS42)。今回の処理が回転角演算処理開始後の初回の処理である場合には(ステップS42:YES)、回転角演算部34は、相対的極番号の設定処理を行う(ステップS43)。具体的には、回転角演算部34は、第1の相対的極番号r1を1に設定する。また、回転角演算部34は、第1の磁気センサ21が感知している磁極と第2磁気センサ22が感知している磁極とが同じである場合には第2の相対的極番号r2を1に設定し、異なる場合には第2の相対的極番号r2を2に設定する。
【0096】
より具体的に説明する。たとえば、ロータ1の磁極M1と磁極M2とからなる磁極対が第1の磁気センサ21を通過する際の、第1および第2の磁気センサ21,22の出力信号V1,V2の信号波形を模式的に表すと、図11(a)(b)に示すようになる。
図11(a)(b)において、S1で示す領域は、第1の磁気センサ21および第2の磁気センサ22が共に磁極M1を感知している領域である。S2で示す領域は、第1の磁気センサ21が磁極M1を感知し、第2の磁気センサ22が磁極M2を感知している領域である。S3で示す領域は、第1の磁気センサ21および第2の磁気センサ22が共に磁極M2を感知している領域である。S4で示す領域は、第1の磁気センサ21が磁極M2を感知し、第2の磁気センサ22が磁極M3を感知している領域である。
【0097】
つまり、領域S1およびS3では、第2の磁気センサ22が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号と等しくなる。一方、領域S2およびS4では、第2の磁気センサ22が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より1だけ大きくなる。
領域S1においては、両センサ値V1,V2は、V1≧0かつV2>0の第1条件を満たす。領域S2においては、両センサ値V1,V2は、V1>0かつV2≦0の第2条件を満たす。領域S3においては、両センサ値V1,V2は、V1≦0かつV2<0の第3条件を満たす。領域S4においては、両センサ値V1,V2は、V1<0かつV2≧0の第4条件を満たす。
【0098】
そこで、回転角演算部34は、前記第1条件または前記第3条件を満たしている場合には、第1の相対的極番号r1および第2の相対的極番号r2を1に設定する。一方、前記第2条件または前記第4条件を満たしている場合には、回転角演算部34は、第1の相対的極番号r1を1に設定し、第2の相対的極番号r2を2に設定する。
相対的極番号の設定処理が終了すると、ステップS44に移行する。前記ステップS42において、今回の処理が回転角演算処理開始後の初回の処理ではないと判別された場合には(ステップS42:NO)、ステップS44に移行する。
【0099】
ステップS44では、回転角演算部34は、メモリに記憶されているセンサ値V1,V2に基づいて、センサ値V1,V2毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する。ゼロクロスが検出されなかったときには(ステップS44:NO)、回転角演算部34は、回転角演算処理開始後において後述するステップS55またはS60の極番号特定処理によって各磁気センサ21,22が感知している磁極の極番号q1,q2が既に特定されているか否かを判別する(ステップS45)。
【0100】
各磁気センサが感知している磁極が特定されていない場合には(ステップS45:NO)、回転角演算部34は、第1の振幅補正処理を行なう(ステップS46)。この処理は、前述した図8のステップS4の処理と同様なので、その説明を省略する。
前記ステップS46の第1の振幅補正処理が行われると、回転角演算部34は、ロータ20の相対角θRを算出する(ステップS47)。この処理は、前述した図8のステップS5の処理と同様なので、その説明を省略する。回転角演算部34は、算出された相対角θRを、電気角θEとしてEPSモータ制御部33に与える。そして、今演算周期での処理を終了する。
【0101】
前記ステップS45において、各磁気センサ21,22が感知している磁極の極番号q1,q2が既に特定されていると判別された場合には(ステップS45:YES)、回転角演算部34は、ステップS63に移行する。
前記ステップS44において、いずれかのセンサ値V1,V2に対してゼロクロスが検出された場合には、回転角演算部34は、ゼロクロスのタイミング(以下、「ゼロクロスタイミング」という)を演算してメモリに記憶する(ステップS48)。この際、メモリには、当該ゼロクロスタイミングが、出力信号V1,V2のうちのいずれに対応するゼロクロスタイミングであるかが識別可能に記憶される。
【0102】
ゼロクロスタイミングは、センサ値の符号が反転したことを検出したタイミングであってもよい。また、ゼロクロスタイミングは、センサ値の符号が反転する前後の2つのセンサ値(サンプリング値)を線形補間することによって求めてもよい。たとえば、図12に示すように、符号が反転する直前に検出されたセンサ値がy1で、符号が反転した直後に検出されたセンサ値がy2である場合には、センサ値y1が検出された時点を基準とすると、ゼロクロスタイミングtaは、次式(13)に基づいて演算される。
【0103】
ta=Ts×{y1/(y1−y2)}…(13)
ただし、Tsは、センサ値V1,V2のサンプリング間隔である。
たとえば、y1=0.2,y2=−0.1,Ts=100μsecである場合には、ta=0.0667msecとなる。
また、図12に示すように、符号が反転する直前に検出されたセンサ値がy3で、符号が反転した直後に検出されたセンサ値がy4である場合には、前記センサ値y1が検出された時点を基準とすると、ゼロクロスタイミングtbは、次式(14)に基づいて演算される。
【0104】
tb=Ts×{y3/(y3−y4)}+ΔT…(14)
ただし、ΔTは、センサ値y1が検出されてからセンサ値y3が検出されるまでの時間間隔である。
たとえば、y3=−0.2,y4=0.1,Ts=100μsec,ΔT=44msecである場合には、tb=44.0667msecとなる。
【0105】
図10に戻り、前記ステップS48において、ゼロクロスタイミングが演算されると、回転角演算部34は、今回演算されたゼロクロスタイミングと、今回ゼロクロスが検出された出力信号に対して前回演算されたゼロクロスタイミングとの時間間隔(以下、「ゼロクロス間隔」という)を演算する(ステップS49)。なお、ステップS49において、前回のゼロクロスタイミングが存在しないために、ゼロクロス間隔が演算されなかった場合には、回転角演算部34は、ステップS51に移行する。
【0106】
前記ステップS49でゼロクロス間隔が演算されると、回転角演算部34は、演算されたゼロクロス間隔が所定値A未満であるか否かを判別することにより、ロータ20の回転速度が所定速度より速いか否かを判別する(ステップS50)。回転角演算部34は、ゼロクロス間隔が所定値A未満である場合には、ロータ20の回転速度が所定速度より速いと判別し、ゼロクロス間隔が所定値A以上の場合にはロータ20の回転速度が所定速度以下であると判別する。なお、ロータ20の1回転分のゼロクロス間隔の総和が所定値未満であるか否かを判別することにより、ロータ20の回転速度が所定速度より速いか否かを判別してもよい。このようにすると、各ゼロクロス間隔の誤差によるロータ20の回転速度の検出誤差を低減できる。
【0107】
ゼロクロス間隔が所定値A以上(ロータ20の回転速度が所定速度以下)であると判別された場合には(ステップS50:NO)、回転角演算部34は、回転角演算処理開始後において後述するステップS55またはS60の極番号特定処理によって各磁気センサ21,22が感知している磁極の極番号q1,q2が既に特定されているか否かを判別する(ステップS51)。各磁気センサ21,22が感知している磁極の極番号q1,q2が特定されていない場合には(ステップS51:NO)、回転角演算部34は、前記ステップS44でゼロクロスが検出された出力信号に対してピーク値検出処理を行い、ピーク値(極大値または極小値)を検出したか否かを判定する(ステップS52)。
【0108】
ピーク値検出処理について具体的に説明する。前記ステップS44でゼロクロスが検出された出力信号に対応する磁気センサをピーク値検出対象の磁気センサということにする。回転角演算部34は、まず、ピーク値検出対象の磁気センサが感知している磁極が変化したか否かを判別する。つまり、回転角演算部34は、ピーク値検出対象の磁気センサが感知している磁極位置が、当該磁気センサの出力信号のゼロクロスが前回検出された時点と、今回検出された時点とで、異なっているか同じであるかを判定する。ロータ20の回転方向が逆転した場合には、前記両時点での磁極位置が同じになる可能性がある。
【0109】
この判定は、たとえば、ピーク値検出対象の磁気センサの出力信号のゼロクロスが前回検出された時点でのロータ20の回転方向と、当該出力信号のゼロクロスが今回検出された時点でのロータ20の回転方向が同じ方向であるか否かに基づいて行うことができる。すなわち、回転角演算部34は、前記両時点でのロータ20の回転方向が同じ方向であれば、ピーク値検出対象の磁気センサが感知している磁極が変化したと判定する。一方、前記両時点でのロータ20の回転方向が異なっていれば、回転角演算部34は、ピーク値検出対象の磁気センサが感知している磁極が変化していないと判定する。
【0110】
ピーク値検出対象の磁気センサが感知している磁極が変化したと判定された場合には、回転角演算部34は、ピーク値を検出したと判別するとともに、当該磁気センサに対応するピーク値候補をピーク値として特定する。一方、ピーク値検出対象の磁気センサが感知している磁極が変化していないと判定された場合には、回転角演算部34は、ピーク値を検出しなかったと判定する。
【0111】
なお、ロータ20の回転方向は、例えば、ゼロクロスが検出された出力信号の前回値および今回値と、他方の出力信号の今回値とに基づいて判定することができる。具体的には、ゼロクロスが検出された出力信号が第1の出力信号V1である場合には、「第1の出力信号V1の前回値が0より大きくかつその今回値が0以下であり、第2の出力信号V2が0より小さい」という条件、または「第1の出力信号V1の前回値が0未満でかつその今回値が0以上であり、第2の出力信号V2が0より大きい」という条件を満たしている場合には、回転方向は正方向(図5に矢印で示す方向)であると判定される。
【0112】
一方、「第1の出力信号V1の前回値が0以上でかつその今回値が0未満であり、第2の出力信号V2が0より大きい」という条件、または「第1の出力信号V1の前回値が0以下でかつその今回値が0より大きく、第2の出力信号V2が0より小さい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
ゼロクロスが検出された出力信号が第2の出力信号V2である場合には、「第2の出力信号V2の前回値が0より大きくかつその今回値が0以下であり、第1の出力信号V1が0より大きい」という条件、または「第2の出力信号V2の前回値が0未満でかつその今回値が0以上であり、第1の出力信号V1が0より小さい」という条件を満たしている場合には、回転方向は正方向(図5に矢印で示す方向)であると判定される。一方、「第2の出力信号V2の前回値が0以上でかつその今回値が0未満であり、第1の出力信号V1が0より小さい」という条件、または「第2の出力信号V2の前回値が0以下でかつその今回値が0より大きく、第1の出力信号V1が0より大きい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
【0113】
前記ステップS52でピーク値が検出されなかったと判別された場合には、回転角演算部34は、前記ステップS44でゼロクロスが検出された出力信号に対応するピーク値候補を0にリセットした後、相対的極番号の更新処理を行なう(ステップS53)。具体的には、回転角演算部34は、前記ステップS44でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1またはr2を、ロータ20の回転方向に応じて、1だけ大きい番号または1だけ小さい番号に変更する。
【0114】
ロータ20の回転方向が正方向(図5に矢印で示す方向)である場合には、回転角演算部34は、前記ステップS44でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1またはr2を、1だけ大きい番号に更新する。一方、ロータ20の回転方向が逆方向である場合には、回転角演算部34は、ゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1またはr2を、1だけ小さい番号に更新する。ただし、前述したように、”1”の相対的極番号に対して、1だけ小さい相対的極番号は、”10”となる。また、”10”の相対的極番号に対して、1だけ大きい相対的極番号は、”1”となる。ステップS53の処理が終了すると、回転角演算部34は、前述したステップS46に移行する。
【0115】
前記ステップS52において、ピーク値が検出されたと判別されたときには(ステップS52:YES)、回転角演算部34は、前記ステップS44でゼロクロスが検出された出力信号に対応するピーク値候補を0にリセットした後、相対的極番号の更新処理を行なう(ステップS54)。具体的には、回転角演算部34は、前述したステップS53の相対的極番号の更新処理と同様な方法で、前記ステップS44でゼロクロスが検出された方の磁気センサに対して既に設定されている相対的極番号r1またはr2を、ロータ20の回転方向に基づいて更新する。
【0116】
前記ステップS54の相対的極番号の更新処理が終了すると、回転角演算部34は、ピーク値検出に基づく極番号特定処理を行なう(ステップS55)。つまり、回転角演算部34は、前記ステップS52で検出されたピーク値等に基づいて、各磁気センサ21,22がそれぞれ感知している磁極の極番号q1,q2を特定するための処理を行なう。
具体的には、回転角演算部34は、まず、前記ステップS52のピーク値検出処理によって検出されたピーク値(極大値または極小値)と、当該ピーク値を出力した磁気センサに対応する振幅補正用テーブル(第1または第2テーブル)の内容とに基づいて、当該磁気センサが感知している磁極の極番号q1またはq2を特定する。つまり、回転角演算部34は、振幅補正用テーブルに記憶されている複数のピーク値のうち、ピーク値検出処理によって検出されたピーク値に最も近いピーク値に対応する極番号を、当該磁気センサが感知している磁極の極番号q1またはq2として特定する。
【0117】
ただし、ピーク値検出処理によって検出されたピーク値に最も近いピーク値に対応する極番号が磁極M6または磁極M10に対応する極番号である場合には、回転角演算部34は、当該磁気センサが感知している磁極を特定しない。
前記磁気センサが感知している磁極の極番号q1またはq2を特定できた場合には、回転角演算部34は、当該磁気センサが感知している磁極の極番号q1またはq2と、第1および第2の相対的極番号r1,r2とに基づいて、他方の磁気センサが感知している磁極を特定する。たとえば、第1の磁気センサ21が感知している磁極の極番号q1が特定された場合には、回転角演算部34は、q2=(q1−r1)+r2に基づいて、第2の磁気センサ22が感知している磁極の極番号q2を特定する。一方、第2の磁気センサ22が感知している磁極の極番号q2が特定された場合には、回転角演算部34は、q1=(q2−r2)+r1に基づいて、第1の磁気センサ21が感知している磁極の極番号q1を特定する。これにより、各磁気センサ21,22がそれぞれ感知している磁極の極番号q1,q2が特定される。
【0118】
ステップS55の極番号特定処理によって各磁気センサ21,22が感知している磁極が特定された場合には(ステップS56:YES)、ステップS63に移行する。一方、ステップS55の極番号特定処理によって各磁気センサ21,22が感知している磁極が特定されなかった場合には(ステップS56:NO)、前述したステップS46に移行する。
【0119】
前記ステップS51において、各センサ21,22が感知している磁極の極番号q1,q2が既に特定されていると判別された場合には(ステップS51:YES)、回転角演算部34は、前記ステップS44でゼロクロスが検出された出力信号に対応するピーク値候補を0にリセットした後、極番号更新処理を行なう(ステップS57)。具体的には、回転角演算部34は、前記ステップS44でゼロクロスが検出された磁気センサに対して既に特定されている極番号q1またはq2を、ロータ20の回転方向に応じて、1だけ多い極番号または1だけ少ない極番号に変更する。
【0120】
ロータ20の回転方向が正方向(図5に矢印で示す方向)である場合には、ゼロクロスが検出された磁気センサに対して既に特定されている極番号q1またはq2を、1だけ多い極番号に更新し、ロータ20の回転方向が逆方向である場合には、当該磁気センサに対して既に特定されている前記極番号q1またはq2を、1だけ少ない極番号に更新する。ただし、”1”の極番号に対して、1だけ少ない極番号は、”10”となる。また、”10”の極番号に対して、1だけ多い極番号は、”1”となる。ステップS57の処理が終了すると、ステップS63に移行する。
【0121】
前記ステップS50において、ゼロクロス間隔が所定値A未満である(ロータ20の回転速度が所定速度より速い)と判別された場合には(ステップS50:YES)、回転角演算部34は、前記ステップS44でゼロクロスが検出された出力信号に対応するピーク値候補を0にリセットした後、ステップS58に移行する。
ステップS58では、回転角演算部34は、回転角演算処理開始後において前述したステップS55の極番号特定処理または後述するステップS60の極番号特定処理によって各磁気センサが感知している磁極が既に特定されているか否かを判別する。各磁気センサが感知している磁極が特定されていない場合には(ステップS58:NO)、回転角演算部34は、相対的極番号の更新処理を行なう(ステップS59)。具体的には、回転角演算部34は、前述したステップS53の相対的極番号の更新処理と同様な方法で、前記ステップS44でゼロクロスが検出された方の磁気センサに対して既に設定されている相対的極番号r1またはr2を、ロータ20の回転方向に基づいて更新する。
【0122】
前記ステップS59の相対的極番号の更新処理が終了すると、ゼロクロス検出に基づく極番号特定処理を行なう(ステップS60)。つまり、回転角演算部34は、前記ステップS49で演算されたゼロクロス間隔等に基づいて、各磁気センサ21,22がそれぞれ感知している磁極を特定する。
具体的には、回転角演算部34は、まず、次のようにして、今回ゼロクロスが検出された磁気センサが感知している磁極を特定する。
【0123】
前記ステップS49において演算されたゼロクロス間隔をTxとする。また、今回ゼロクロスが検出された磁気センサの出力信号に基づいて演算されたロータ20の最新の1回転分のゼロクロス間隔の総和をΣTとする。回転角演算部34は、次式(15)に基づいて、今回ゼロクロスが検出された磁気センサが直前まで感知していた磁極(直前感知磁極)の角度幅(機械角×磁極対数)に応じた値Dを演算する。
【0124】
D=(Tx/ΣT)×1800 …(15)
前記式(15)中の”1800”は、各磁極M1〜M10の角度幅(機械角×磁極対数)の総和である。つまり、前記式(15)中の”1800”は、ロータ20の1回転分の回転角度(電気角)である。
回転角演算部34は、振幅補正用テーブル(図7A,図7B参照)に記憶されている各磁極M1〜M10の角度幅(機械角×磁極対数)のうち、前記式(15)によって演算された値Dに最も近い角度幅に対応する極番号を、直前感知磁極の極番号として特定する。そして、ロータ20の回転方向が正方向である場合には、回転角演算部34は、前記直前感知磁極の極番号より1だけ多い極番号を、当該磁気センサが感知している磁極の極番号として特定する。一方、ロータ20の回転方向が逆方向である場合には、回転角演算部34は、前記直前感知磁極の極番号より1だけ少ない極番号を、当該磁気センサが感知している磁極の極番号として特定する。ただし、ただし、”1”の極番号に対して、1だけ少ない極番号は、”10”となる。また、”10”の極番号に対して、1だけ多い極番号は、”1”となる。
【0125】
たとえば、前記ステップS49において演算されたゼロクロス間隔が第1の磁気センサ21に対するゼロクロス間隔であり、ロータ20の回転方向が正方向であるとする。そして、第1の磁極センサ21の出力信号V1が図13に示されるような信号である場合には、ΣTは、ゼロクロス間隔T1〜T10の総和となる。また、Txは、ゼロクロス間隔T1〜T10のうちのいずれかとなる。また、たとえば、ΣT=0.05sec,Tx=0.0044secである場合には、D=158.6となる。図7Aの振幅補正用テーブルから、Dに最も近い角度幅を有する磁極は、M3となる。したがって、磁極M3に対応する極番号”3”が直前感知磁極の極番号として特定される。ロータ20の回転方向が正方向であるので、直前感知磁極の極番号より1だけ多い極番号”4”が第1の磁気センサ21が感知している磁極の極番号として特定される。
【0126】
ただし、前記式(15)によって演算された値Dに最も近い角度幅に対応する極番号が磁極M6または磁極M10に対応する極番号である場合には、回転角演算部34は、磁気センサが感知している磁極を特定しない。また、回転角演算部34は、ロータ20の1回転分のゼロクロス間隔が演算されていない場合には、磁気センサが感知している磁極を特定しない。
【0127】
今回ゼロクロスが検出された磁気センサが感知している磁極の極番号q1またはq2を特定できた場合には、回転角演算部34は、当該磁気センサが感知している磁極の極番号q1またはq2と、第1および第2の相対的極番号r1,r2とに基づいて、他方の磁気センサが感知している磁極を特定する。たとえば、第1の磁気センサ21が感知している磁極の極番号q1が特定された場合には、回転角演算部34は、q2=(q1−r1)+r2に基づいて、第2の磁気センサ22が感知している磁極の極番号q2を特定する。一方、第2の磁気センサ22が感知している磁極の極番号q2が特定された場合には、回転角演算部34は、q1=(q2−r2)+r1に基づいて、第1の磁気センサ21が感知している磁極の極番号q1を特定する。これにより、各磁気センサ21,22がそれぞれ感知している磁極の極番号q1,q2が特定される。
【0128】
ステップS60の極番号特定処理によって各磁気センサ21,22が感知している磁極が特定された場合には(ステップS61:YES)、ステップS63に移行する。一方、ステップS60の極番号特定処理によって各磁気センサ21,22が感知している磁極が特定されなかった場合には(ステップS61:NO)、前述したステップS46に移行する。
【0129】
前記ステップS58において、各センサ21,22が感知している磁極の極番号が既に特定されていると判別された場合には(ステップS58:YES)、回転角演算部34は、極番号更新処理を行なう(ステップS62)。具体的には、回転角演算部34は、前述したステップS57の極番号更新処理と同様な方法で、今回ゼロクロスが検出された磁気センサに対して既に特定されている極番号q1またはq2を、ロータ20の回転方向に基づいて更新する。ステップS62の処理が終了すると、ステップS63に移行する。
【0130】
ステップS63では、回転角演算部34は、前記ステップS41で読み込んだセンサ値V1,V2に対して第2の振幅補正処理を行う。この処理は、前述した図8のステップS10の処理と同様である。次に、回転角演算部34は、ロータ20の相対角θRを算出する(ステップS64)。この処理は、前述した図8のステップS11の処理と同様である。
【0131】
次に、回転角演算部34は、ロータ20の相対角θRと、磁気センサ21が感知している磁極の極番号q1と、振幅補正テーブルの内容とに基づいて、ロータ20の絶対角(機械角)θAを算出する(ステップS65)。この処理は、前述した図8のステップS12の処理と同様である。そして、回転角演算部34は、ロータ20の絶対角(機械角)θAに基づいて、EPSモータ7のロータの電気角θEを算出する(ステップS66)。この処理は、前述した図8のステップS13の処理と同様である。
【0132】
前記第1変形例においても、第1の実施形態と同様な効果が得られる。
次に、図14〜図17を参照して、回転角検出装置の第2変形例について説明する。
第2変形例では、検出用ロータの構成および回転角演算部34による回転角演算処理が、が前記第1の実施形態と異なっている。
図14は、第2変形例における検出用ロータ20の構成を示す模式図である。
【0133】
第2変形例においては、EPSモータ7のロータには、4組の磁極対が設けられているものとする。ロータ20は、EPSモータ7のロータに設けられている磁極対に相当する複数の磁極対を有する円筒状の磁石(多極磁石)20aを含んでいる。
磁石20aは、4組の磁極対(M1,M2)(M3,M4)(M5,M6)(M7,M8)を有している。つまり、磁石20aは、等角度間隔で配置された8個の磁極M1〜M8を有している。各磁極M1〜M8は、ロータ20の回転中心軸を中心として、45°(電気角では180°)の角度間隔で配置されている。各磁極M1〜M8の磁力の大きさは、一定ではない。
【0134】
ロータ20の周囲には、2つの磁気センサ21,22が配置されている。これらの磁気センサ21,22は、ロータ20の回転中心軸を中心として、所定角度22.5°(電気角では90°)の角度間隔をおいて配置されている。これら2つの磁気センサ21,22を、それぞれ第1の磁気センサ21および第2の磁気センサ22という場合がある。
図14に矢印で示す方向をロータ20の正方向の回転方向とする。そして、ロータ20が正方向に回転されるとロータ20の回転角が大きくなり、ロータ20が逆方向に回転されると、ロータ20の回転角が小さくなるものとする。各磁気センサ21,22からは、図15に示すように、ロータ20が1磁極対分に相当する角度90°(電気角では360°)を回転する期間を一周期とする正弦波信号V1,V2が出力される。図15における横軸のロータ角度[deg]は、機械角を表している。
【0135】
この実施形態では、N極の極性を有する各磁極M1,M3,M5,M7を極位置特定用磁極とすると、ロータ20(磁石20a)は、隣り合う極位置特定用磁極の組合せ(M1,M3),(M3,M5),(M5,M7),(M7,M1)毎に、隣り合う極位置特定用磁極に対する各正弦波信号V1,V2のピーク値(極値)の比が識別可能に異なるような磁極特性を有している。
【0136】
図15は、ロータ20の磁極M8と磁極M1との境界が第1の磁気センサ21に対向している場合のロータ20の回転角を0°にとった場合のロータ角度(機械角)に対する、各磁気センサ21,22の出力信号V1,V2を示している。また、図15には、ロータ角度に対応して、第1の磁気センサ21が感知している磁極M1〜M8が示されている。
所定の基準位置からのロータ20の絶対的な回転角を、ロータ20の機械角θMということにする。ロータ20の1回転分の角度範囲を、5つの磁極対に対応して4つの区間に分け、各区間の開始位置を0°とし終了位置を360°として表したロータ20の回転角を、ロータ20の電気角θEということにする。
【0137】
ここでは、第1の磁気センサ21からは、4つの磁極対に対応する区間毎に、V1=A1・sinθEの出力信号が出力されるものとする。この場合、第2の磁気センサ22からは、4つの磁極対に対応する区間毎に、V2=A2・sin(θE+90°)=A2・cosθEの出力信号が出力される。したがって、各磁気センサ21,22からは、互いに所定の位相差90°(電気角)を有する正弦波信号が出力される。A1,A2は、それぞれ振幅を表している。ただし、振幅A1,A2は、磁極の磁力の大きさによって変動する。各磁気センサ21,22の出力信号V1,V2を、それぞれ第1の出力信号V1および第2の出力信号V2という場合がある。
【0138】
回転角演算部34は、各磁気センサ21,22の出力信号V1,V2のピーク値(極値:極大値および極小値)を検出する。回転角演算部34は、検出されたピーク値に基づいて、任意の隣り合う極位置特定用磁極(この例では、N極の磁極)の第1出力信号V1のピーク値(この例では、極大値)の比または第2の出力信号V2のピーク値(この例では、極大値)の比を演算する。回転角演算部34は、演算された極値比と、隣り合う極位置特定用磁極の組み合わせ毎に予め設定された極値比データに基づいて、各磁気センサ21,22が感知している磁極を特定する。回転角演算部34は、特定した磁極に応じて、各出力信号V1,V2の振幅を補正する。回転角演算部34は、振幅補正後の各出力信号V1’,V2’に基づいて、ロータ20の電気角θEを算出する。回転角演算部34によって演算された電気角θEは、EPSモータ制御部33に与えられる。
【0139】
回転角演算部34の不揮発性メモリには、磁気センサ21,22毎に、ピーク値テーブルが記憶されているとともに、隣り合う極位置特定用磁極の組み合わせ毎に予め設定された極値比データが記憶されている。また、回転角演算部34内の不揮発性メモリには、第1の実施形態と同様に、ロータ20の周辺温度毎の各出力信号V1,V2のピーク値の初期値(絶対値)が記憶されている。
【0140】
図16は、ピーク値テーブルの内容を示す模式図である。
ピーク値テーブルには、各磁極M1〜M8の極番号1〜8毎に、その磁極に対応する第1の出力信号V1のピーク値(極大値または極小値)P1(1)〜P1(8)(図15参照)と、その磁極に対応する第2の出力信号V2のピーク値(極大値または極小値)P2(1)〜P2(8)とが記憶されている。なお、各磁気センサ21,22としては、特性がほぼ等しいものが用いられているので、同じ磁極に対する各磁気センサ21,22の出力信号V1,V2のピーク値はほぼ同様な値となる。
【0141】
前記ピーク値テーブルへのピーク値の記憶は、たとえば、EPSモータ7の出荷前に行われる。前記振幅補正用ピーク値テーブルに記憶されるピーク値は、1周期分のデータから求めてもよいし、複数周期分のデータの平均値から求めてもよい。
極値比データは、この実施形態では、次の4種類のデータD1〜D4からなる。
(i)D1=P1(1)/P1(3)
磁極M1に対するピーク値(極大値)P1(1)と磁極M3に対するピーク値(極大値)P1(3)との比であり、この実施形態では、0.6である。なお、D1をD1=P2(1)/P2(3)によって求めてもよい。
(ii)D2=P1(3)/P1(5)
磁極M3に対するピーク値(極大値)P1(3)と磁極M5に対するピーク値(極大値)P1(5)との比であり、この実施形態では、0.83である。なお、D2をD2=P2(3)/P2(5)によって求めてもよい。
(iii)D3=P1(5)/P1(7)
磁極M5に対するピーク値(極大値)P1(5)と磁極M7に対するピーク値(極大値)P1(7)との比であり、この実施形態では、2.0である。なお、D3をD3=P2(5)/P2(7)によって求めてもよい。
(Vi)D4=P1(7)/P1(1)
磁極M7に対するピーク値(極大値)P1(7)と磁極M1に対するピーク値(極大値)P1(1)との比であり、この実施形態では、1.0である。なお、D4をD4=P2(7)/P2(1)によって求めてもよい。
【0142】
なお、出力信号V1,V2毎に、極値比データを設定してもよい。具体的には、第1の出力信号V1に対しては、DA1=P1(1)/P1(3),DA2=P1(3)/P1(5),DA3=P1(5)/P1(7)およびDA4=P1(7)/P1(1)の4つの極値比データを設定する。一方、第2の出力信号V2に対しては、DB1=P2(1)/P2(3),DB2=P2(3)/P2(5),DB3=P2(5)/P2(7)およびDB4=P2(7)/P2(1)の4つの極値比データを設定する。
【0143】
図17は、回転角演算部34による回転角演算処理の手順を示すフローチャートである。
回転角演算部34が起動されると、回転角演算部34は、図17に示される回転角演算処理を、所定の演算周期毎に繰り返し行う。
回転角演算処理開始時において第1の磁気センサ21が感知している磁極を基準磁極として、各磁極に相対的な番号を割り当てた場合の各磁極の番号を相対的極番号と定義する。第1の磁気センサ21が感知している磁極の相対的極番号(以下、「第1の相対的極番号」という)を変数r1で表し、第2の磁気センサ22が感知している磁極の相対的極番号(以下、「第2の相対的極番号」という)を変数r2で表すことにする。なお、各相対的極番号r1,r2は、1〜8の整数をとり、1より1少ない相対的極番号は8となり、8より1大きい相対的極番号は1となるものとする。この実施形態では、回転角演算処理開始時において、第1の磁気センサ21が感知している磁極(基準磁極)には、例えば、1の相対的極番号が割り当てられる。
【0144】
また、第1の磁気センサ21が感知している磁極の極番号(絶対的極番号)をq1、第2の磁気センサ22が感知している磁極の極番号(絶対的極番号)をq2で表すことにする。なお、各絶対的極番号q1,q2は、1〜8の整数をとり、1より1少ない極番号は8となり、8より1大きい極番号は1となるものとする。
回転角演算処理が開始されると、回転角演算部34は、各磁気センサ21,22の出力信号(センサ値)V1,V2を読み込む(ステップS71)。なお、回転角演算部34のメモリ(たとえば、RAM)には、出力信号V1,V2毎に、所定回数前に読み込まれたセンサ値から最新に読み込まれたセンサ値までの、複数回数分のセンサ値が記憶されるようになっている。
【0145】
また、この実施形態では、センサ値V1のピーク値(極大値および極小値)を検出するために、読み込まれたセンサ値V1のうち絶対値がより大きいセンサ値が、センサ値V1のピーク値候補としてメモリに保存される。同様に、センサ値V2のピーク値(極大値および極小値)を検出するために、読み込まれたセンサ値V2のうち絶対値がより大きいセンサ値が、センサ値V2のピーク値候補としてメモリに保存される。ただし、これらのピーク値候補は、対応する出力信号のゼロクロスが検出されたときには、後述するような所定のタイミングで零にリセットされる。
【0146】
前記ステップS71で各センサ値V1,V2が読み込まれると、回転角演算部34は、今回の処理が回転角演算処理開始後の初回の処理であるか否かを判別する(ステップS72)。今回の処理が回転角演算処理開始後の初回の処理である場合には(ステップS72:YES)、回転角演算部34は、相対的極番号の設定処理を行う(ステップS73)。
具体的には、回転角演算部34は、第1の相対的極番号r1を1に設定する。また、回転角演算部34は、第1の磁気センサ21が感知している磁極と第2磁気センサ22が感知している磁極とが同じである場合には第2の相対的極番号r2を1に設定し、異なる場合には第2の相対的極番号r2を2に設定する。ステップS73の処理は、前述した図10のステップ43の処理と同様なので、その詳細な説明を省略する。
【0147】
ステップS73の処理が終了すると、回転角演算部34は、ステップS71で読み取られたセンサ値V1,V2に対して、第1の振幅補正処理を行なう(ステップS74)。この処理は、前述した図8のステップS4の処理と同様なので、その説明を省略する。前記ステップS74の第1の振幅補正処理が行われると、回転角演算部34は、前記ステップS74で振幅補正が行われた後の出力信号V1’,V2’に基づいて、電気角θEを演算する。具体的には、次式(16)に基づいて、ロータ20の回転角(電気角)θEを演算する(ステップS75)。
【0148】
θE=tan−1(V1’/V2’) …(16)
前記ステップS75で電気角θEが演算されると、回転角演算部34は、当該電気角θEをEPSモータ制御部33に与える。そして、今演算周期での処理を終了する。
前記ステップS72において、今回の処理が回転角演算処理開始後の初回の処理ではないと判別された場合には(ステップS72:NO)、ステップS76に移行する。
【0149】
ステップS76では、回転角演算部34は、メモリに記憶されているセンサ値V1,V2に基づいて、センサ値V1,V2毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する。ゼロクロスが検出されなかったときには(ステップS76:NO)、回転角演算部34は、後述するステップS84の極番号特定処理によって、各磁極センサ21,22が検知している磁極が既に特定されているか否かを判別する(ステップS77)。
【0150】
各磁極センサ21,22が検知している磁極が特定されていない場合には(ステップS77:NO)、回転角演算部34は、前述したステップS74に移行する。一方、各磁極センサ21,22が検知している磁極が既に特定されている場合には(ステップS77:YES)、回転角演算部34は、ステップS86に移行する。
前記ステップS76において、いずれかのセンサ値V1,V2に対してゼロクロスが検出された場合には(ステップS76:YES)、回転角演算部34は、後述するステップS84の極番号特定処理によって、各磁極センサ21,22が検知している磁極が既に特定されているか否かを判別する(ステップS78)。
【0151】
各磁極センサ21,22が検知している磁極が特定されていない場合には(ステップS78:NO)、回転角演算部34は、相対的極番号の更新処理を行なう(ステップS79)。具体的には、回転角演算部34は、前記ステップS76でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1またはr2を、ロータ20の回転方向に応じて、1だけ大きい番号または1だけ小さい番号に変更する。ステップS79の処理は、前述した図10のステップS53の処理と同様なので、その詳細な説明を省略する。
【0152】
前記ステップS79の相対的極番号の更新処理が終了すると、回転角演算部34は、ピーク値検出処理を行なう(ステップS80)。ピーク値検出処理について具体的に説明する。前記ステップS76でゼロクロスが検出された出力信号に対応する磁気センサをピーク値検出対象の磁気センサということにする。回転角演算部34は、まず、ピーク値検出対象の磁気センサが感知している磁極が変化したか否かを判別する。つまり、回転角演算部34は、ピーク値検出対象の磁気センサが感知している磁極位置が、当該磁気センサの出力信号のゼロクロスが前回検出された時点と、今回検出された時点とで、異なっているか同じであるかを判定する。ロータ20の回転方向が逆転した場合には、前記両時点での磁極位置が同じになる可能性がある。
【0153】
この判定は、たとえば、ピーク値検出対象の磁気センサの出力信号のゼロクロスが前回検出された時点でのロータ20の回転方向と、当該出力信号のゼロクロスが今回検出された時点でのロータ20の回転方向が同じ方向であるか否かに基づいて行うことができる。すなわち、回転角演算部34は、前記両時点でのロータ20の回転方向が同じ方向であれば、ピーク値検出対象の磁気センサが感知している磁極が変化したと判定する。一方、前記両時点でのロータ20の回転方向が異なっていれば、回転角演算部34は、ピーク値検出対象の磁気センサが感知している磁極が変化していないと判定する。
【0154】
ピーク値検出対象の磁気センサが感知している磁極が変化したと判定された場合には、回転角演算部34は、ピーク値を検出したと判別するとともに、当該磁気センサに対応するピーク値候補をピーク値として特定する。一方、ピーク値検出対象の磁気センサが感知している磁極が変化していないと判定された場合には、回転角演算部34は、ピーク値を検出しなかったと判定する。
【0155】
なお、ピーク値には、0より大きな極大値と、0より小さな極小値とがある。この実施形態では、極位置特定用磁極がN極の磁極であるので、ピーク値のうち、極大値に基づいて、第1の磁気センサ21が感知している磁極対が特定される。以下において、ピーク値検出処理において検出された第1の出力信号V1および第2の出力信号V2の極大値を、それぞれP1およびP2で表す場合がある。
【0156】
ピーク値検出処理において極大値が検出されなかった場合には(ステップS81:NO)、回転角演算部34は、前記ステップS76でゼロクロスが検出された出力信号に対応するピーク値候補を0にリセットした後、前述したステップS74に移行する。なお、ピーク値検出処理においてピーク値が検出された場合であっても、検出されたピーク値が極小値である場合には、ピーク値検出処理において極大値が検出されなかったと判別される。
【0157】
ピーク値検出処理において極大値が検出されたときには(ステップS81:YES)、当該極大値を、前記ステップS76でゼロクロスが検出された出力信号に対する極大値P1またはP2としてメモリに記憶する(ステップS82)。なお、メモリには、極大値P1およびP2毎に、前回検出された極大値と今回検出された極大値との2回分の極大値が記憶されるようになっている。この後、回転角演算部34は、前記ステップS76でゼロクロスが検出された出力信号に対応するピーク値候補を0にリセットした後、ステップS83に移行する。
【0158】
ステップS83では、前記ステップS76でゼロクロスが検出された出力信号の極大値が2回以上検出されているか否かを判別する。前記ステップS76でゼロクロスが検出された出力信号の極大値が2回以上検出されていない場合には(ステップS83:NO)、回転角演算部34は、前述したステップS74に移行する。一方、前記ステップS76でゼロクロスが検出された出力信号の極大値が2回以上検出されている場合には(ステップS83:YES)、回転角演算部34は、極番号特定処理を行なう(ステップS84)。
【0159】
極番号特定処理の考え方について説明する。前述したように、隣り合う極位置特定用磁極の組み合わせ(M1,M3),(M3,M5),(M5,M7),(M7,M1)毎に、隣り合う極位置特定用磁極の出力信号V1のピーク値(この例では極大値)の比は異なる。同様に、隣り合う極位置特定用磁極の組み合わせ(M1,M3),(M3,M5),(M5,M7),(M7,M1)毎に、隣り合う極位置特定用磁極の出力信号V2のピーク値(この例では極大値)の比は異なる。
【0160】
したがって、任意の隣り合う極位置特定用磁極それぞれに対する第1の出力信号V1の極大値が検出された時点(ゼロクロス検出時点)において、それらの極大値の比と、極値比データD1〜D4と、ロータ20の回転方向とに基づいて、第1の磁気センサ21が現在感知している磁極の極番号q1を特定することができる。なお、極値比データが出力信号V1,V2毎に設定されている場合には、極値比データD1〜D4の代わりに第1の出力信号V1に対して設定されている極値比データDA1〜DA4が用いられる。
【0161】
たとえば、図15を参照して、ロータ20が正方向(図14に矢印で示す方向)に回転している場合に、図15にZ1で示すゼロクロスが検出されたタイミングにおいて、磁極M3に対する第1の出力信号V1の極大値P1n−1が検出され、その後に、図15にZ2で示すゼロクロスが検出されたタイミングにおいて、磁極M5に対する第1の出力信号V1の極大値P1nが検出されたとする。この場合には、両極大値の比P1n−1/P1nは、極値比データD1〜D4のうちのD2(=P1(3)/P1(5))とほぼ等しくなるので、図15にZ2で示すゼロクロスが検出されたタイミングにおいて、第1の磁気センサ21は、磁極M6を感知していると判別することができる。
【0162】
また、図15を参照して、ロータ20が逆方向に回転している場合に、図15にZ3で示すゼロクロスが検出されたタイミングにおいて、磁極M5に対する第1の出力信号V1の極大値P1n−1が検出され、その後に、図15にZ4で示すゼロクロスが検出されたタイミングにおいて、磁極M3に対する第1の出力信号V1の極大値P1nが検出されたとする。この場合には、両極大値の比P1n/P1n−1は、極値比データD1〜D4のうちのD2(=P1(3)/P1(5))とほぼ等しくなるので、図15にZ4で示すゼロクロスが検出されたタイミングにおいて、第1の磁気センサ21は、磁極M2を感知していると判別することができる。このようにして、現在感知している磁極の極番号q1が特定できれば、相対的極番号r1,r2に基づいて第2の磁気センサ22が現在感知している磁極の極番号q2を特定することができる。
【0163】
同様に、任意の隣り合う極位置特定用磁極それぞれに対する第2の出力信号V2の極大値が検出された時点(ゼロクロス検出時点)において、それらの極大値の比と、極値比データD1〜D4と、ロータ20の回転方向とに基づいて、第2の磁気センサ22が現在感知している磁極の極番号q2を特定することができる。なお、極値比データが出力信号V1,V2毎に設定されている場合には、極値比データD1〜D4の代わりに第2の出力信号V2に対して設定されている極値比データDB1〜DB4が用いられる。第2の磁気センサ22が現在感知している磁極の極番号q2が特定できれば、相対的極番号r1,r2に基づいて第1の磁気センサ23が現在感知している磁極の極番号q1を特定することができる。
【0164】
以下、より具体的に説明する。まず、前記ステップS76でゼロクロスが検出された出力信号が第1の出力信号V1である場合に行われる極番号特定処理について説明する。この場合には、回転角演算部34は、前回検出された第1の出力信号V1の極大値P1n−1と今回検出された第1の出力信号V1の極大値P1nとの比と、極値比データD1〜D4と、ロータ20の回転方向とに基づいて、第1の磁気センサ21が感知している磁極の極番号(絶対的極番号)q1を特定する。極値比データD1〜D4を、iを極値比データ番号として、Di(i=1,2,3,4)で表す場合がある。
【0165】
回転角演算部34は、ロータ20の回転方向が正方向(図14に矢印で示す方向)である場合には、P1n−1/P1nを極値比Xとして演算し、ロータ20の回転方向が逆方向である場合には、P1n/P1n−1を極値比Xとして演算する。次に、回転角演算部34は、演算された極値比Xと極値比データD1〜D4とに基づいて、極値比Xに最も近い極値比データDiの極値比データ番号iを特定する。そして、回転角演算部34は、特定された極値比データ番号iと、ロータ20の回転方向と、表2の内容とに基づいて、第1の磁気センサ21が現在感知している磁極の極番号q1を特定する。
【0166】
表2は、極値比Xに最も近い極値比データDiの極値比データ番号iとロータ20の回転方向との組合せと、第1の磁気センサ21が現在感知している磁極の極番号q1との関係を示している。
【0167】
【表2】
【0168】
具体的には、回転角演算部34は、ロータ20の回転方向が正方向である場合には、q1=2・i+2に基づいて、第1の磁気センサ21が現在感知している磁極の極番号q1を演算する。ただし、(2・i+2)の値が8を超える場合には、回転角演算部34は、q1=2・i+2−8に基づいてq1を演算する。一方、ロータ20の回転方向が逆方向である場合には、回転角演算部34は、q1=2・i−2に基づいて、第1の磁気センサ21が現在感知している磁極の極番号q1を演算する。ただし、(2・i−2)の値が0以下となる場合には、回転角演算部34は、q1=2・i−2+8に基づいてq1を演算する。
【0169】
この後、回転角演算部34は、第1の磁気センサ21が感知している磁極の極番号q1と、第1および第2の相対的極番号r1,r2とに基づいて、第2の磁気センサ22が感知している磁極の極番号q2を特定する。具体的には、回転角演算部34は、q2=(q1−r1)+r2に基づいて、第2の磁気センサ22が感知している磁極の極番号q2を特定する。
【0170】
次に、前記ステップS76でゼロクロスが検出された出力信号が第2の出力信号V2である場合に行われる極番号特定処理について説明する。この場合には、回転角演算部34は、前回検出された第2の出力信号V2の極大値P2n−1と今回検出された第2の出力信号V2の極大値P2nとの比と、極値比データD1〜D4と、ロータ20の回転方向とに基づいて、第2の磁気センサ22が感知している磁極の極番号(絶対的極番号)q2を特定する。
【0171】
回転角演算部34は、ロータ20の回転方向が正方向(図14に矢印で示す方向)である場合には、P2n−1/P2nを極値比Yとして演算し、ロータ20の回転方向が逆方向である場合には、P2n/P2n−1を極値比Yとして演算する。次に、回転角演算部34は、演算された極値比Yと極値比データD1〜D4とに基づいて、極値比Yに最も近い極値比データDiの極値比データ番号iを特定する。そして、回転角演算部34は、特定された極値比データ番号iと、ロータ20の回転方向と、表3の内容とに基づいて、第2の磁気センサ22が現在感知している磁極の極番号q2を特定する。
【0172】
表3は、極値比Yに最も近い極値比データDiの極値比データ番号iとロータ20の回転方向との組合せと、第2の磁気センサ22が現在感知している磁極の極番号q2との関係を示している。
【0173】
【表3】
【0174】
具体的には、回転角演算部34は、ロータ20の回転方向が正方向である場合には、q2=2・i+2に基づいて、第2の磁気センサ22が現在感知している磁極の極番号q2を演算する。ただし、(2・i+2)の値が8を超える場合には、回転角演算部34は、q2=2・i+2−8に基づいてq2を演算する。一方、ロータ20の回転方向が逆方向である場合には、回転角演算部34は、q2=2・i−2に基づいて、第2の磁気センサ22が現在感知している磁極の極番号q2を演算する。ただし、(2・i−2)の値が0以下となる場合には、回転角演算部34は、q2=2・i−2+8に基づいてq2を演算する。
【0175】
この後、回転角演算部34は、第2の磁気センサ22が感知している磁極の極番号q2と、第1および第2の相対的極番号r1,r2とに基づいて、第1の磁気センサ21が感知している磁極の極番号q1を特定する。具体的には、回転角演算部34は、q1=(q2−r2)+r1に基づいて、第1の磁気センサ21が感知している磁極の極番号q1を特定する。ステップS84の極番号特定処理が終了すると、回転角演算部34は、ステップS86に移行する。
【0176】
前記ステップS78において、各磁気センサ21,22が感知している磁極が既に特定されていると判別された場合には(ステップS78:YES)、回転角演算部34は、極番号の更新処理を行なう(ステップS85)。具体的には、回転角演算部34は、前記ステップS76でゼロクロスが検出された磁気センサに対して既に特定されている極番号q1またはq2を、ロータ20の回転方向に応じて、1だけ大きい極番号または1だけ小さい極番号に変更する。
【0177】
ロータ20の回転方向が正方向である場合には、回転角演算部34は、ゼロクロスが検出された磁気センサに対して既に特定されている前記極番号q1またはq2を、1だけ大きい極番号に更新する。一方、ロータ20の回転方向が逆方向である場合には、回転角演算部34は、ゼロクロスが検出された磁気センサに対して既に特定されている前記極番号q1またはq2を、1だけ小さい極番号に更新する。ただし、”1”の極番号に対して、1だけ小さい極番号は、”8”となる。また、”8”の極番号に対して、1だけ大きい極番号は、”1”となる。回転角演算部34は、ステップS85の極番号の更新処理が終了すると、ステップS86に移行する。
【0178】
ステップS86では、回転角演算部34は、第2の振幅補正処理を行う。つまり、回転角演算部34は、各磁気センサ21,22が感知している磁極のピーク値を用いて、各磁気センサ21,22の出力信号V1,V2の振幅を補正する。
具体的には、回転角演算部34は、第1の磁気センサ21が感知している磁極の極番号q1に対応する第1の出力信号V1のピーク値と、第2の磁気センサ22が感知している磁極の極番号q2に対応する第2の出力信号V2のピーク値とを、ピーク値テーブル(図16参照)から取得する。ピーク値テーブルから取得された第1および第2の出力信号V1,V2のピーク値を、それぞれP1x,P2xで表すことにする。そして、取得した各ピーク値(振幅補正値)P1x,P2xと予め設定されている基準振幅φとに基づいて、各出力信号V1,V2の振幅を補正する。
【0179】
具体的には、第1および第2の出力信号V1,V2の振幅補正後の信号をそれぞれV1’,V2’とすると、補正後の第1および第2の出力信号V1’,V2’は、それぞれ次式(17)(18)に基づいて演算される。
V1’=(V1/P1x)×φ …(17)
V2’=(V2/P2x)×φ …(18)
振幅補正処理が終了すると、回転角演算部34は、振幅補正後の各出力信号V1’,V2’に基づいて、電気角θEを演算する(ステップS87)。具体的には、次式(19)に基づいて、ロータ20の回転角(電気角)θEを演算する。
【0180】
θE=tan−1(V1’/V2’) …(19)
回転角演算部34は、前記ステップS87で演算された電気角θEをEPSモータ制御部33に与える。そして、今演算周期での処理を終了する。
前記第2変形例によれば、いずれかの組の隣り合う極位置特定用磁極それぞれに対する第1の出力信号V1の極大値P1n−1,P1nまたは第2の出力信号V2の極大値P2n−1,P2nが最初に検出された時点で、各磁気センサ21,22が感知している磁極を特定することが可能となる。このため、イグニッションキーがオンされてからステアリングホイール1のロックが開錠されるまでの間において、EPSモータ7が強制駆動モードで回転されている間に、各磁気センサ21,22が感知している磁極を特定することが可能となる。したがって、ステアリングホイール1のロックが開錠された直後から、精度の高いロータ回転角を演算することができる。これにより、ステアリングホイール1の操作が可能となった直後から、EPSモータ7を適切に制御することができるようになる。
【0181】
また、隣り合う極位置特定用磁極それぞれに対する第1の出力信号V1の極値P1n−1,P1nの比または第2の出力信号V2の極大値P2n−1,P2nの比に基づいて、各磁気センサ21,22が感知している磁極を特定しているので、周辺温度の変化によって各出力信号V1,V2が変動した場合でも、各磁気センサ21,22が感知している磁極を正確に特定することができる。
【0182】
前記第2変形例では、N極の極性を有する各磁極M1,M3,M5,M7が極位置特定用磁極とされているが、S極の極性を有する各磁極M2,M4,M6,M8を極位置特定用磁極としてもよい。
また、前記第2変形例では、第1の出力信号V1と第2の出力信号V2との位相差は電気角で90°であるが、両信号V1,V2間の位相差は、任意の角度であってもよい。たとえば、第1の出力信号V1と第2の出力信号V2との位相差をψとし、第1の出力信号V1をV1=A1・sinθEとし、第2の出力信号V2をV2=A2・sin(θE+ψ)とすると、振幅補正後の第1の出力信号V1’はV1’=φ・sinθEで表され、振幅補正後の第2の出力信号V2’はV2’=φ・sin(θE+ψ)で表される。この場合には、回転角演算部34は、たとえば、振幅補正後の第1および第2の出力信号V1’,V2’とから、振幅補正後の第1の出力信号V1’に対する位相差が90°となる信号V12’(=φ・sin(θE+90°)=φ・cosθE)を生成する。具体的には、回転角演算部34は、V12’=(V2’−V1’・cosψ)/sinψに基づいて、信号V12’を生成する。そして、回転角演算部34は、θE=tan−1(V1’/V12’)に基づいてロータの電気角θEを演算する。
【0183】
次に、図18〜図23を参照して、回転角検出装置の第3変形例について説明する。
第3変形例では、検出用ロータの構成および回転角演算部34による回転角演算処理が、が前記第1の実施形態と異なっている。
図18は、第3変形例における検出用ロータ20の構成を示す模式図である。
第3変形例においては、EPSモータ7のロータには、8組の磁極対が設けられているものとする。ロータ20は、EPSモータ7のロータに設けられている磁極対に相当する複数の磁極対を有する円筒状の磁石(多極磁石)20aを含んでいる。
【0184】
磁石20aは、8つの磁極対M1〜M8を有している。つまり、磁石20aは、等角度間隔で配置された16個の磁極m1〜m16を有している。各磁極m1〜m16は、ロータ1の回転中心軸を中心として、22.5°(電気角では180°)の角度間隔で配置されている。
この実施形態では、磁極対における磁力の大きさの種類には、磁力が大きい第1の磁力と第1の磁力より磁力が小さい第2の磁力との2種類がある。この実施形態では、8個の磁極対M1〜M8のうち、第1、第2、第3および第5のM1,M2,M3,M5の磁力が第2の磁力(弱い磁力)に設定され、第4、第6、第7および第8の磁極対M4,M6,M7,M8の磁力が第1の磁力(強い磁力)に設定されている。
【0185】
ロータ20の周囲には、3つの磁気センサ21,22,23が配置されている。これら3つの磁気センサ21,22,23を、それぞれ第1の磁気センサ21、第2の磁気センサ22および第3の磁気センサ23という場合がある。図18おいて、第2の磁気センサ22は、第1の磁気センサ21に対して、ロータ20の回転中心軸を中心として、時計方向に75°(電気角では600°)だけ離れた位置に配置されている。第3の磁気センサ23は、第1の磁気センサ21に対して、ロータ20の回転中心軸を中心として、時計方向に105°(電気角では840°)だけ離れた位置に配置されている。
【0186】
言い換えると、第1の磁気センサ21が第1の磁極対M1における電気角で0°の位置に対向しているときには、第2の磁気センサ22が第2の磁極対M2における電気角で240°の位置に対向し、第3の磁気センサ23が第3の磁極対M3における電気角で120°の位置に対向するように、3つの磁気センサ21,22,23が配置されている。
図18に矢印で示す方向をロータ20の正方向の回転方向とする。そして、ロータ20が正方向に回転されるとロータ20の回転角が大きくなり、ロータ20が逆方向に回転されると、ロータ20の回転角が小さくなるものとする。各磁気センサ21,22,23からは、図19に示すように、ロータ20が1磁極対分に相当する角度(45°(電気角では360°))を回転する期間を一周期とする正弦波信号V1,V2,V3が出力される。
【0187】
図19は、ロータ20における磁極対M8と磁極対M1との境界が第1の磁気センサ21に対向している場合のロータ20の回転角を0°にとった場合のロータ角度(機械角)に対する、各磁気センサ21,22,23の出力信号V1,V2,V3を示している。また、図19には、ロータ角度に対応して、第1の磁気センサ21が感知している磁極対M1〜M8および磁極m1〜m16が示されているとともに、各磁極対M1〜M8の磁力の大きさが示されている。
【0188】
ロータ20の1回転分の角度範囲を、8つの磁極対M1〜M8に対応して8つの区間に分け、各区間の開始位置を0°とし終了位置を360°として表したロータ20の角度を、ロータ20の電気角θEということにする。
ここでは、第1の磁気センサ21からは、8つの磁極対M1〜M8に対応する区間毎に、V1=A1・sinθEの出力信号が出力されるものとする。この場合、第2の磁気センサ22からは、8つの磁極対M1〜M8に対応する区間毎に、V2=A2・sin(θE+600°)=A2・sin(θE+240°)の出力信号が出力される。また、第3の磁気センサ23からは、8つの磁極対M1〜M8に対応する区間毎に、V3=A3・sin(θE+840°)=A3・sin(θE+120°)の出力信号が出力される。A1,A2,A3は、それぞれ振幅を表している。ただし、振幅A1,A2,A3は、各磁極対M1〜M8の磁力の大きさに応じて変化する。
【0189】
したがって、各磁気センサ21,22,23からは、互いに所定の位相差120°(電気角)を有する正弦波信号が出力される。各磁気センサ21,22,23の出力信号V1,V2,V3を、それぞれ第1の出力信号V1,第2の出力信号V2および第3の出力信号V3という場合がある。
図2では、第3の磁気センサ23は破線で表されている。図2に示されるように、各磁気センサ21,22,23の出力信号V1,V2,V3は、回転角演算部34に入力される。回転角演算部34は、各磁気センサ21,22,23の出力信号V1,V2,V3に基づいて、各磁気センサ21,22,23が感知している磁極を特定する。各磁気センサ21,22,23が感知している磁極の特定結果に基づいて、回転角演算部34は、各磁気センサ21,22,23の出力信号V1,V2,V3の振幅を補正する。そして、回転角演算部34は、振幅補正後の各出力信号に基づいて、ロータ20の電気角θEおよび機械角θMを演算する。回転角演算部34によって演算された電気角θEおよび機械角θMは、EPSモータ制御部33に与えられる。
【0190】
回転角演算部34の不揮発性メモリには、磁気センサ21,22,23毎に、ピーク値テーブルが記憶されている。また、回転角演算部34内の不揮発性メモリには、第1の実施形態と同様に、ロータ20の周辺温度毎の各出力信号V1,V2,V3のピーク値の初期値(絶対値)が記憶されている。
図20は、ピーク値テーブルの内容を示す模式図である。
【0191】
ピーク値テーブルには、各磁極m1〜m16の磁極番号1〜16毎に、その磁極に対応する第1の出力信号V1のピーク値(極大値または極小値)P1(1)〜P1(16)と、その磁極に対応する第2の出力信号V2のピーク値(極大値または極小値)P2(1)〜P2(16)と、その磁極に対応する第3の出力信号V3のピーク値(極大値または極小値)P3(1)〜P3(16)とが記憶されている。なお、各磁気センサ21,22,23としては、特性がほぼ等しいものが用いられているので、同じ磁極に対する各磁気センサ21,22,23の出力信号V1,V2,V3のピーク値はほぼ同様な値となる。
【0192】
前記ピーク値テーブルへのピーク値の記憶は、たとえば、EPSモータ7の出荷前に行われる。前記振幅補正用ピーク値テーブルに記憶されるピーク値は、1周期分のデータから求めてもよいし、複数周期分のデータの平均値から求めてもよい。
図21は、回転角演算部34による回転角演算処理の手順を示すフローチャートである。
【0193】
回転角演算部34が起動されると、回転角演算部34は、図21に示される回転角演算処理を、所定の演算周期毎に繰り返し行う。
回転角演算処理開始時において第1の磁気センサ21が感知している磁極を基準磁極として、各磁極に相対的な番号を割り当てた場合の各磁極の番号を相対的極番号と定義する。第1の磁気センサ21が感知している磁極の相対的極番号(以下、「第1の相対的極番号」という)を変数r1で表し、第2の磁気センサ22が感知している磁極の相対的極番号(以下、「第2の相対的極番号」という)を変数r2で表し、第3の磁気センサ23が感知している磁極の相対的極番号(以下、「第3の相対的極番号」という)を変数r3で表すことにする。なお、各相対的極番号r1,r2,r3は、1〜16の整数をとり、1より1少ない相対的極番号は16となり、16より1大きい相対的極番号は1となるものとする。
【0194】
この実施形態では、回転角演算処理開始時において第1の磁気センサ21が感知している磁極(基準磁極)がN極の磁極である場合には、当該磁極に”1”の相対的極番号が割り当てられる。一方、回転角演算処理の開始時において第1の磁気センサ21が感知している磁極(基準磁極)がS極の磁極である場合には、当該磁極に”2”の相対的極番号が割り当てられる。
【0195】
また、第1の磁気センサ21が感知している磁極の極番号をq1、第2の磁気センサ22が感知している磁極の極番号をq2、第3の磁気センサ23が感知している磁極の極番号をq3で表すことにする。なお、各極番号q1,q2,q3は、1〜16の整数をとり、1より1少ない極番号は16となり、16より1大きい極番号は1となるものとする。
また、第1の磁気センサ21が感知している磁極対の磁極対番号をQ1で表すことにする。なお、磁極対番号Q1は、1〜8の整数をとり、1より1少ない極番号は8となり、8より1大きい極番号は1となるものとする。
【0196】
回転角演算処理が開始されると、回転角演算部34は、各磁気センサ21,22,23の出力信号(センサ値)V1,V2,V3を読み込む(ステップS91)。なお、回転角演算部34のメモリ(たとえば、RAM)には、所定回数前に読み込まれたセンサ値から最新に読み込まれたセンサ値までの、複数回数分のセンサ値が記憶されるようになっている。
【0197】
また、この実施形態では、センサ値V1のピーク値(極大値および極小値)を検出するために、読み込まれたセンサ値V1のうち絶対値がより大きいセンサ値が、センサ値V1のピーク値候補としてメモリに保存される。同様に、センサ値V2のピーク値(極大値および極小値)を検出するために、読み込まれたセンサ値V2のうち絶対値がより大きいセンサ値が、センサ値V2のピーク値候補としてメモリに保存される。同様に、センサ値V3のピーク値(極大値および極小値)を検出するために、読み込まれたセンサ値V3のうち絶対値がより大きいセンサ値が、センサ値V3のピーク値候補としてメモリに保存される。ただし、これらのピーク値候補は、対応する出力信号のゼロクロスが検出されたときには、後述するような所定のタイミングでゼロにリセットされる。
【0198】
前記ステップS91で各センサ値V1,V2,V3が読み込まれると、回転角演算部34は、今回の処理が回転角演算処理開始後の初回の処理であるか否かを判別する(ステップS92)。今回の処理が回転角演算処理開始後の初回の処理である場合には(ステップS92:YES)、回転角演算部34は、相対的極番号の設定処理を行う(ステップS93)。
【0199】
図22は、相対的極番号の設定処理の詳細な手順を示している。
回転角演算部34は、まず、第1の出力信号V1が0より大きいか否かを判別する(ステップS111)。第1の出力信号V1が0より大きい場合には(ステップS111:YES)、回転角演算部34は、第1の磁気センサ21が感知している磁極(基準磁極)がN極の磁極であると判別し、第1の相対的極番号r1を1に設定する(ステップS114)。そして、ステップS116に進む。
【0200】
一方、第1の出力信号V1が0以下である場合には(ステップS111:NO)、回転角演算部34は、第1の出力信号V1が0より小さいか否かを判別する(ステップS112)。第1の出力信号V1が0より小さい場合には(ステップS112:YES)、第1の磁気センサ21が感知している磁極(基準磁極)がS極の磁極であると判別し、第1の相対的極番号r1を2に設定する(ステップS115)。そして、ステップS116に進む。
【0201】
前記ステップS112において、第1の出力信号V1が0以上であると判別された場合には(ステップS112:NO)、つまり、第1の出力信号V1が0である場合には、回転角演算部34は、ロータ回転角(電気角)が0°であるか180°であるかを判別するために、第3の出力信号V3が0より大きいか否かを判別する(ステップS113)。第3の出力信号V3が0より大きい場合には(ステップS113:YES)、回転角演算部34は、ロータ回転角(電気角)が0°であると判別し、第1の相対的極番号r1を1に設定する(ステップS114)。そして、ステップS116に進む。
【0202】
一方、第3の出力信号V3が0以下である場合には(ステップS113:NO)、回転角演算部34は、ロータ回転角(電気角)が180°であると判別し、第1の相対的極番号r1を2に設定する(ステップS115)。そして、ステップS116に進む。
なお、前記ステップS113において、回転角演算部34は、第2の出力信号V2が0より小さいか否かを判別するようにしてもよい。この場合には、第2の出力信号V2が0より小さいときには、回転角演算部34は、ステップS114に進んで第1の相対的極番号r1を1に設定する。一方、第2の出力信号V2が0以上である場合には、回転角演算部34は、ステップS115に進んで第1の相対的極番号r1を2に設定する。
【0203】
ステップS116では、回転角演算部34は、「V1≧0かつV2<0」または「V1≦0かつV2>0」の条件を満たしているか否かを判別する。この条件を満たしている場合には(ステップS116:YES)、回転角演算部34は、第2の磁気センサ22が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より3だけ大きい番号であると判別し、第2の相対的極番号r2に、第1の相対的極番号r1より3だけ大きい番号(r2=r1+3)を設定する(ステップS117)。そして、ステップS119に移行する。
【0204】
一方、前記ステップS116の条件を満たしていない場合には(ステップS116:NO)、回転角演算部34は、第2の磁気センサ22が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より4だけ大きい番号であると判別し、第2の相対的極番号r2に、第1の相対的極番号r1より4だけ大きい番号(r2=r1+4)を設定する(ステップS118)。そして、ステップS119に移行する。
【0205】
ステップS119では、回転角演算部34は、「V1>0かつV3≦0」または「V1<0かつV3≧0」の条件を満たしているか否かを判別する。この条件を満たしている場合には(ステップS119:YES)、回転角演算部34は、第3の磁気センサ23が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より5だけ大きい番号であると判別し、第3の相対的極番号r3に、第1の相対的極番号r1より5だけ大きい番号(r3=r1+5)を設定する(ステップS120)。そして、図21のステップS94に戻る。
【0206】
一方、前記ステップS119の条件を満たしていない場合には(ステップS119:NO)、回転角演算部34は、第3の磁気センサ23が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より4だけ大きい番号であると判別し、第3の相対的極番号r3に、第1の相対的極番号r1より4だけ大きい番号(r3=r1+4)を設定する(ステップS121)。そして、図21のステップS94に戻る。
【0207】
前記ステップS116の条件を満たしている場合に、第2の相対的極番号r2に第1の相対的極番号r1より3だけ大きい番号(r2=r1+3)を設定し、前記ステップS116の条件を満たしていない場合に、第2の相対的極番号r2に第1の相対的極番号r1より4だけ大きい番号(r2=r1+4)を設定している理由について説明する。また、前記ステップS119の条件を満たしている場合に、第3の相対的極番号r3に、第1の相対的極番号r1より5だけ大きい番号(r3=r1+5)を設定し、前記ステップS119の条件を満たしていない場合に、第3の相対的極番号r3に、第1の相対的極番号r1より4だけ多い番号(r3=r1+4)を設定している理由について説明する。
【0208】
たとえば、ロータ20における磁極m1と磁極m2とからなる磁極対M1が第1の磁気センサ21を通過する際の、第1、第2および第3の磁気センサ21,22,23の出力信号V1,V2,V3の信号波形を模式的に表すと、図23(a)(b)(c)に示すようになる。
図23(a)(b)において、S1,S2で示す領域は、第1の磁気センサ21が磁極m1を感知し、第2の磁気センサ22が磁極m4を感知している領域である。S3で示す領域は、第1の磁気センサ21が磁極m1を感知し、第2の磁気センサ22が磁極m5を感知している領域である。S4,S5で示す領域は、第1の磁気センサ21が磁極m2を感知し、第2の磁気センサ22が磁極m5を感知している領域である。S6で示す領域は、第1の磁気センサ21が磁極m2を感知し、第2の磁気センサ22が磁極m6を感知している領域である。
【0209】
つまり、領域S1,S2,S4およびS5では、第2の磁気センサ22が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より3だけ大きくなる。一方、領域S3およびS6では、第2の磁気センサ22が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より4だけ大きい番号となる。
領域S1,S2においては、両センサ値V1,V2は、V1≧0かつV2<0の第1条件を満たす。領域S3においては、両センサ値V1,V2は、V1>0かつV2≧0の第2条件を満たす。領域S4,S5においては、両センサ値V1,V2は、V1≦0かつV2>0の第3条件を満たす。領域S6においては、両センサ値V1,V2は、V1<0かつV2≦0の第4条件を満たす。
【0210】
そこで、回転角演算部34は、前記第1条件(V1≧0かつV2<0)または前記第3条件(V1≦0かつV2>0)を満たしている場合には、第2の磁気センサ22が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より3だけ大きくなると判別し、前記第1条件または前記第3条件を満たしていない場合には、第2の磁気センサ22が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より4だけ大きくなると判別している。
【0211】
また、図23(a)(c)において、S1で示す領域は、第1の磁気センサ21が磁極m1を感知し、第3の磁気センサ23が磁極m5を感知している領域である。S2およびS3で示す領域は、第1の磁気センサ21が磁極m1を感知し、第3の磁気センサ23が磁極m6を感知している領域である。S4で示す領域は、第1の磁気センサ21が磁極m2を感知し、第3の磁気センサ23が磁極m6を感知している領域である。S5およびS6で示す領域は、第1の磁気センサ21が磁極m2を感知し、第3の磁気センサ23が磁極m7を感知している領域である。
【0212】
つまり、領域S1およびS4では、第3の磁気センサ23が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より4だけ大きい番号となる。一方、領域S2,S3,S5およびS6では、第2の磁気センサ22が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より5だけ大きくなる。
領域S1においては、両センサ値V1,V3は、V1≧0かつV3>0の第1条件を満たす。領域S2,S3においては、両センサ値V1,V3は、V1>0かつV3≦0の第2条件を満たす。領域S4においては、両センサ値V1,V3は、V1≦0かつV3<0の第3条件を満たす。領域S5,S6においては、両センサ値V1,V3は、V1<0かつV3≧0の第4条件を満たす。
【0213】
そこで、回転角演算部34は、前記第2条件(V1>0かつV3≦0)または前記第4条件(V1<0かつV3≧0)を満たしている場合には、第3の磁気センサ23が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より5だけ大きくなると判別し、前記第2条件または前記第4条件を満たしていない場合には、第3の磁気センサ23が感知している磁極の極番号は、第1の磁気センサ21が感知している磁極の極番号より4だけ大きくなると判別している。
【0214】
図21に戻り、ステップS93の処理が終了すると、回転角演算部34は、ステップS91で読み取られたセンサ値V1,V2,V3に対して第1の振幅補正処理を行なった後(ステップS94)、振幅補正後の出力信号V1’,V2’,V3’に基づいて、電気角θEを演算する(ステップS95)。ステップS94およびS95の処理の詳細につては、後述する。ステップS95で電気角θEが演算されると、回転角演算部34は、当該電気角θEをEPSモータ制御部33に与える。そして、今演算周期での処理を終了する。
【0215】
前記ステップS92において、今回の処理が回転角演算処理開始後の初回の処理ではないと判別された場合には(ステップS92:NO)、ステップS96に移行する。
ステップS96では、回転角演算部34は、メモリに記憶されているセンサ値V1,V2,V3に基づいて、センサ値V1,V2,V3毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する。ゼロクロスが検出されなかったときには(ステップS96:NO)、回転角演算部34は、後述するステップS103の極番号特定処理によって、各磁極センサ21,22,23が検知している磁極が既に特定されているか否かを判別する(ステップS97)。各磁極センサ21,22,23が検知している磁極が特定されていない場合には(ステップS97:NO)、回転角演算部34は、ステップS94に移行する。一方、各磁極センサ21,22,23が検知している磁極が既に特定されている場合には(ステップS97:YES)、ステップS106に移行する。
【0216】
前記ステップS96において、いずれかのセンサ値V1,V2,V3に対してゼロクロスが検出された場合には(ステップS96:YES)、回転角演算部34は、後述するステップS103の極番号特定処理によって、各磁極センサ21,22,23が検知している磁極が既に特定されているか否かを判別する(ステップS98)。
各磁極センサ21,22,23が検知している磁極が特定されていない場合には(ステップS98:NO)、回転角演算部34は、相対的極番号の更新処理を行なう(ステップS99)。具体的には、回転角演算部34は、前記ステップS96でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1、r2またはr3を、ロータ20の回転方向に応じて、1だけ大きい番号または1だけ小さい番号に変更する。
【0217】
ロータ20の回転方向が正方向(図18に矢印で示す方向)である場合には、回転角演算部34は、前記ステップS96でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1、r2またはr3を、1だけ大きい番号に更新する。一方、ロータ20の回転方向が逆方向である場合には、回転角演算部34は、ゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1、r2またはr3を、1だけ小さい番号に更新する。ただし、前述したように、”1”の相対的極番号に対して、1だけ小さい相対的極番号は、”16”となる。また、”16”の相対的極番号に対して、1だけ大きい相対的極番号は、”1”となる。
【0218】
なお、ロータ20の回転方向は、ゼロクロスが検出された出力信号の前回値および今回値と、他の1つの出力信号の今回値とに基づいて判定することができる。具体的には、ゼロクロスが検出された出力信号が第1の出力信号V1である場合には、「第1の出力信号V1の前回値が0より大きくかつその今回値が0以下であり、第3の出力信号V3が0より小さい(または第2の出力信号V2が0より大きい)」という条件、または「第1の出力信号V1の前回値が0未満でかつその今回値が0以上であり、第3の出力信号V3が0より大きい(または第2の出力信号V2が0より小さい)」という条件を満たしている場合には、回転方向は正方向(図18に矢印で示す方向)であると判定される。
【0219】
一方、「第1の出力信号V1の前回値が0以上でかつその今回値が0未満であり、第3の出力信号V3が0より大きい(または第2の出力信号V2が0より小さい)」という条件、または「第1の出力信号V1の前回値が0以下でかつその今回値が0より大きく、第3の出力信号V3が0より小さい(または第2の出力信号V2が0より大きい)」という条件を満たしている場合には、回転方向は逆方向であると判定される。
【0220】
ゼロクロスが検出された出力信号が第2の出力信号V2である場合には、「第2の出力信号V2の前回値が0より大きくかつその今回値が0以下であり、第1の出力信号V1が0より小さい(または第3の出力信号V3が0より大きい)」という条件、または「第2の出力信号V2の前回値が0未満でかつその今回値が0以上であり、第1の出力信号V1が0より大きい(または第3の出力信号V3が0より小さい)」という条件を満たしている場合には、回転方向は正方向(図18に矢印で示す方向)であると判定される。一方、「第2の出力信号V2の前回値が0以上でかつその今回値が0未満であり、第1の出力信号V1が0より大きい(または第3の出力信号V3が0より小さい)」という条件、または「第2の出力信号V2の前回値が0以下でかつその今回値が0より大きく、第1の出力信号V1が0より小さい(または第3の出力信号V3が0より大きい)」という条件を満たしている場合には、回転方向は逆方向であると判定される。
【0221】
ゼロクロスが検出された出力信号が第3の出力信号V3である場合には、「第3の出力信号V3の前回値が0より大きくかつその今回値が0以下であり、第1の出力信号V1が0より大きい(または第2の出力信号V2が0より小さい)」という条件、または「第3の出力信号V3の前回値が0未満でかつその今回値が0以上であり、第1の出力信号V1が0より小さい(または第2の出力信号V2が0より大きい)」という条件を満たしている場合には、回転方向は正方向(図18に矢印で示す方向)であると判定される。一方、「第3の出力信号V3の前回値が0以上でかつその今回値が0未満であり、第1の出力信号V1が0より小さい(または第2の出力信号V2が0より大きい)」という条件、または「第3の出力信号V3の前回値が0以下でかつその今回値が0より大きく、第1の出力信号V1が0より大きい(または第2の出力信号V2が0より小さい)」という条件を満たしている場合には、回転方向は逆方向であると判定される。
【0222】
前記ステップS99の相対的極番号の更新処理が終了すると、回転角演算部34は、ピーク値検出処理を行なう(ステップS100)。ピーク値検出処理について具体的に説明する。前記ステップS96でゼロクロスが検出された出力信号に対応する磁気センサをピーク値検出対象の磁気センサということにする。回転角演算部34は、まず、ピーク値検出対象の磁気センサが感知している磁極が変化したか否かを判別する。つまり、回転角演算部34は、ピーク値検出対象の磁気センサが感知している磁極位置が、当該磁気センサの出力信号のゼロクロスが前回検出された時点と、今回検出された時点とで、異なっているか同じであるかを判定する。ロータ20の回転方向が逆転した場合には、前記両時点での磁極位置が同じになる可能性がある。
【0223】
この判定は、たとえば、前回ゼロクロスが検出されたときのロータ20の回転方向と、現在のロータ20の回転方向が同じ方向であるか否かに基づいて行うことができる。すなわち、回転角演算部34は、ロータ20の回転方向が同じ方向であれば、ピーク値検出対象の磁気センサが感知している磁極が変化したと判定する。一方、ロータ20の回転方向が異なっていれば、回転角演算部34は、ピーク値検出対象の磁気センサが感知している磁極が変化していないと判定する。
【0224】
ピーク値検出対象の磁気センサが感知している磁極が変化したと判定された場合には、回転角演算部34は、ピーク値を検出したと判別するとともに、当該磁気センサに対応するピーク値候補をピーク値として特定する。一方、ピーク値検出対象の磁気センサが感知している磁極が変化していないと判定された場合には、回転角演算部34は、ピーク値を検出しなかったと判定する。なお、ピーク値には、0より大きな極大値と、0より小さな極小値とがある。この実施形態では、ピーク値のうち、極大値に基づいて、第1の磁気センサ21が感知している磁極対が特定されるものとする。以下において、ピーク値検出処理において検出された第1の出力信号V1、第2の出力信号V2および第3の出力信号V3の極大値を、それぞれP1、P2およびP3で表す場合がある。
【0225】
ピーク値検出処理において極大値が検出されなかった場合には(ステップS101:NO)、回転角演算部34は、前記ステップS96でゼロクロスが検出された出力信号に対応するピーク値候補を0にリセットした後、ステップS94に移行する。一方、ピーク値検出処理において極大値が検出されたときには(ステップS101:YES)、当該極大値を、前記ステップS96でゼロクロスが検出された出力信号に対する極大値P1、P2またはP3として記憶する(ステップS102)。そして、回転角演算部34は、前記ステップS96でゼロクロスが検出された出力信号に対応するピーク値候補を0にリセットした後、ステップS103に移行する。
【0226】
ステップS103では、回転角演算部34は、極番号特定処理(磁極対特定処理)を行なう。
図19を参照して、極番号特定処理の考え方について説明する。図19に示すように、磁力が弱い磁極対M1,M2,M3,M5内のN磁極m1,m3,m5,m9に対する各出力信号V1,V2,V3のピーク値(極大値)と、磁力が強い磁極対M4,M6,M7,M8内のN磁極m7,m11,m13,m15に対する各出力信号V1,V2,V3のピーク値(極大値)との中間に、閾値A(A>0)が設定されている。
【0227】
図19から分かるように、第1の磁気センサ21が感知している磁極対M1〜M8毎に、3つの出力信号V1,V2,V3の極大値の組合せが異なっている。したがって、3つの出力信号V1,V2,V3の極大値P1,P2,P3の組合せに基づいて、第1の磁気センサ21が感知している磁極対を特定することができる。また、第1の磁気センサ21が感知している磁極対を特定するタイミングに基づいて、第1の磁気センサ21が感知している磁極を特定することができる。そして、第1の磁気センサ21が感知している磁極に基づいて、第2および第3の磁気センサ22,23が感知している磁極を特定することができる。
【0228】
第1の磁気センサ21が感知している磁極対M1〜M8と、3つの出力信号V1,V2,V3の極大値P1,P2,P3の組合せとの関係は、表4に示すようになる。
【0229】
【表4】
【0230】
なお、第1の磁気センサ21が感知している磁極対を特定するタイミングは、ロータ20が正方向に回転している場合には、第1の磁気センサ21が感知している磁極対が移り変わった後に、第3の出力信号V3のゼロクロスが初めて検出されるタイミング(以下、「第1の磁極対特定タイミング」という)である。したがって、第1の磁極対特定タイミングにおいて表1の内容に基づいて特定される磁極対は、第1の磁気センサ21が直前まで感知していた磁極対となる。このため、第1の磁極対特定タイミングにおいて第1の磁気センサ21が感知している磁極対は、表1の内容に基づいて特定される磁極対より磁極対番号が1だけ大きい磁極対となる。また、第1の磁極対特定タイミングにおいて第1の磁気センサ21が感知している磁極は、第1の磁極対特定タイミングにおいて第1の磁気センサ21が感知している磁極対内の2つの磁極のうち、N極の磁極となる。
【0231】
一方、ロータ20が逆方向に回転している場合には、第1の磁気センサ21が感知している磁極対を特定するタイミングは、第1の磁気センサ21が感知している磁極対が移り変わった直後に、第1の出力信号V1のゼロクロスが検出されるタイミング(以下、「第2の磁極対特定タイミング」という)である。したがって、第2の磁極対特定タイミングにおいて表1の内容に基づいて特定される磁極対は、第1の磁気センサ21が直前まで感知していた磁極対となる。このため、第2の磁極対特定タイミングにおいて第1の磁気センサ21が感知している磁極対は、表1の内容に基づいて特定される磁極対より磁極対番号が1だけ小さい磁極対となる。また、第2の磁極対特定タイミングにおいて第2の磁気センサ21が感知している磁極は、第2の磁極対特定タイミングにおいて第1の磁気センサ21が感知している磁極対内の2つの磁極のうち、S極の磁極となる。
【0232】
以下、より具体的に、極番号特定処理について説明する。極番号特定処理は、3つの出力信号V1,V2,V3の極大値が既に検出(記憶)されている場合において、次の第1条件または第2条件のいずかを満たしている場合にのみ行われる。
第1条件:ロータ20の回転方向が正方向でありかつ前記ステップS96でゼロクロスが検出された出力信号が第3の出力信号V3であること
第2条件:ロータ20の回転方向が逆方向でありかつ前記ステップS96でゼロクロスが検出された出力信号が第1の出力信号V1であること
第1条件は、第1の磁極対特定タイミングであるか否かを判定するための条件である。第1条件を満たしている場合には、現時点が第1の磁極対特定タイミングであると判定される。第2条件は、第2の磁極対特定タイミングであるか否かを判定するための条件である。第2条件を満たしている場合には、現時点が第2の磁極対特定タイミングであると判定される。
【0233】
第1条件を満たしている場合には、回転角演算部34は、表4に示される磁極対M1〜M8と3つの極大値P1,P2,P3の組合せとの関係と、最新に検出された各出力信号V1,V2,V3の極大値P1.P2,P3の組み合わせとに基づいて、第1の磁気センサ21が直前まで感知していた磁極対の磁極対番号Q1’を特定する。そして、当該磁極対番号Q1’より1だけ大きい磁極対番号を、第1の磁極センサ21が現在感知している磁極対の磁極対番号Q1(=Q1’+1)として特定する。
【0234】
次に、回転角演算部34は、第1の磁極センサ21が現在感知している磁極の極番号q1を、q1=2・Q1−1に基づいて特定する。また、回転角演算部34は、第1の磁気センサ21が感知している磁極の極番号q1と、第1および第2の相対的極番号r1,r2とに基づいて、第2の磁気センサ22が感知している磁極の極番号q2を特定する。具体的には、回転角演算部34は、q2=(q1−r1)+r2に基づいて、第2の磁気センサ22が感知している磁極の極番号q2を特定する。
【0235】
さらに、回転角演算部34は、第1の磁気センサ21が感知している磁極の極番号q1と、第1および第3の相対的極番号r1,r3とに基づいて、第3の磁気センサ23が感知している磁極の極番号q3を特定する。具体的には、回転角演算部34は、q3=(q1−r1)+r3に基づいて、第3の磁気センサ23が感知している磁極の極番号q3を特定する。
【0236】
一方、第2条件を満たしている場合には、回転角演算部34は、表4に示される磁極対M1〜M8と3つの極大値P1,P2,P3の組合せとの関係と、最新に検出された各出力信号V1,V2,V3の極大値P1.P2,P3の組み合わせとに基づいて、第1の磁気センサ21が直前まで感知していた磁極対の磁極対番号Q1’を特定する。そして、当該磁極対番号Q1’より1だけ小さい磁極対番号を、第1の磁極センサ21が現在感知している磁極対の磁極対番号Q1(=Q1’−1)として特定する。
【0237】
次に、回転角演算部34は、第1の磁極センサ21が現在感知している磁極の極番号q1を、q1=2・Q1に基づいて特定する。また、回転角演算部34は、q2=(q1−r1)+r2に基づいて、第2の磁気センサ22が感知している磁極の極番号q2を特定する。さらに、回転角演算部34は、q3=(q1−r1)+r3に基づいて、第3の磁気センサ23が感知している磁極の極番号q3を特定する。
【0238】
前記ステップS103において、各磁気センサ21,22,23が感知している磁極を特定できた場合には(ステップS104:YES)、回転角演算部34は、ステップS106に移行する。一方、前記ステップS103において、3つの出力信号V1,V2,V3の極大値P1,P2,P3が検出(記憶)されていないと判別された場合、あるいは3つの出力信号V1,V2,V3の極大値P1,P2,P3が検出されていても、前記第1条件および第2条件のいずれをも満たしていないと判別された場合には、回転角演算部34は、極番号を特定できなかったと判別し(ステップS104:NO)、ステップS94に移行する。
【0239】
前記ステップS98において、各磁気センサ21,22,23が感知している磁極が既に特定されていると判別された場合には(ステップS98:YES)、回転角演算部34は、前記ステップS96でゼロクロスが検出された出力信号に対応するピーク値候補を0にリセットした後、極番号の更新処理を行なう(ステップS105)。具体的には、回転角演算部34は、前記ステップS96でゼロクロスが検出された磁気センサに対して既に特定されている極番号q1、q2またはq3を、ロータ20の回転方向に応じて、1だけ大きい極番号または1だけ小さい極番号に変更する。
【0240】
ロータ20の回転方向が正方向である場合には、回転角演算部34は、ゼロクロスが検出された磁気センサに対して既に特定されている前記極番号q1、q2またはq3を、1だけ大きい極番号に更新する。一方、ロータ20の回転方向が逆方向である場合には、回転角演算部34は、ゼロクロスが検出された磁気センサに対して既に特定されている前記極番号q1、q2またはq3を、1だけ小さい極番号に更新する。ただし、”1”の極番号に対して、1だけ小さい極番号は、”16”となる。また、”16”の極番号に対して、1だけ大きい極番号は、”1となる。回転角演算部34は、ステップS105の極番号の更新処理が終了すると、ステップS106に移行する。
【0241】
ステップS106では、回転角演算部34は、第2の振幅補正処理を行う。つまり、回転角演算部34は、各磁気センサ21,22,23が感知している磁極のピーク値を用いて、各磁気センサ21,22,23の出力信号V1,V2,V3の振幅を補正する。
具体的には、回転角演算部34は、第1の磁気センサ21が感知している磁極の極番号q1に対応する第1の出力信号V1のピーク値と、第2の磁気センサ22が感知している磁極の極番号q2に対応する第2の出力信号V2のピーク値と、第3の磁気センサ23が感知している磁極の極番号q3に対応する第3の出力信号V3のピーク値とを、ピーク値テーブル(図20参照)から取得する。ピーク値テーブルから取得された第1、第2および第3の出力信号V1,V2,V3のピーク値を、それぞれP1x,P2x,P3xで表すことにする。そして、取得した各ピーク値(振幅補正値)P1x,P2x,P3xと予め設定されている基準振幅φとに基づいて、各出力信号V1,V2,V3の振幅を補正する。
【0242】
具体的には、第1、第2および第3の出力信号V1,V2,V3の振幅補正後の信号をそれぞれV1’,V2’,V3’とすると、補正後の第1、第2および第3の出力信号V1’,V2’,V3’は、それぞれ次式(21),(22),(23)に基づいて演算される。
V1’=(V1/P1x)×φ …(21)
V2’=(V2/P2x)×φ …(22)
V3’=(V3/P3x)×φ …(23)
第2の振幅補正処理が終了すると、回転角演算部34は、ステップS107に移行する。ステップS107では、回転角演算部34は、前記ステップS106で振幅補正された各出力信号V1’,V2’,V3’に基づいて、電気角θEを演算する。
【0243】
具体的には、回転角演算部34は、振幅補正後の第1の出力信号V1’と振幅補正後の第3の出力信号V3’とに基づいて、ロータ20の回転角に相当する第1の電気角θE1を演算する。また、回転角演算部34は、振幅補正後の第1の出力信号V1’と振幅補正後の第2の出力信号V2’とに基づいて、ロータ20の回転角に相当する第2の電気角θE2を演算する。また、回転角演算部34は、振幅補正後の第2の出力信号V2’と振幅補正後の第3の出力信号V3’とに基づいて、ロータ20の回転角に相当する第3の電気角θE3を演算する。第1、第2および第3の電気角θE1,θE2,θE3の演算方法については、後述する。
【0244】
そして、回転角演算部34は、たとえば、次式(24)に基づいて、最終的な電気角θEを演算する。つまり、回転角演算部34は、第1、第2および第3の電気角θE1,θE2,θE3の平均値を、最終的な電気角θEとして演算する。
θE=(θE1+θE2+θE3)/3 …(24)
なお、回転角演算部34は、第1、第2および第3の電気角θE1,θE2,θE3の中央値を、最終的な電気角θEとして演算することができる。また、回転角演算部34は、第1、第2および第3の電気角θE1,θE2,θE3のうち、最も外れているものを除外し、他の2つの平均値を、最終的な電気角θEとして演算することもできる。さらに、回転角演算部34は、第1,第2および第3の電気角θE1,θE2,θE3のいずれか1つの電気角を、最終的な電気角θEとして決定してもよい。
【0245】
第1の電気角θE1の演算方法について説明する。前記基準振幅はφであるので、振幅補正後の第1の出力信号V1’はφ・sinθEで表され、振幅補正後の第2の出力信号V2’はφ・sin(θE+240°)で表され、振幅補正後の第3の出力信号V3はφ・sin(θE+120°)で表される。ここでは、説明の便宜上、基準振幅φが1であるとし、振幅補正後の第1の出力信号V1’、第2の出力信号V2’および第3の出力信号V3を、それぞれV1’=sinθE、V2’=sin(θE+240°)およびV3=sin(θE+120°)で表すことにする。
【0246】
回転角演算部34は、まず、振幅補正後の第1の出力信号V1’(=sinθE)と振幅補正後の第3の出力信号V3’(=sin(θE+120°))とから、振幅補正後の第1の出力信号V1’に対する位相差が90°となる信号V13’(=sin(θE+90°)=cosθE)を演算する。より具体的には、回転角演算部34は、次式(25)に基づいて、信号V13’を演算する。
【0247】
【数1】
【0248】
前記式(25)は、sin(θE+120°)を三角関数の加法定理により展開した式に基づいて、導出することができる。そして、回転角演算部34は、前記信号V13’(=cosθE)と振幅補正後の第1の出力信号V1’(=sinθE)とを用い、次式(26)に基づいて、第1の電気角θE1を演算する。
【0249】
【数2】
【0250】
第2の電気角θE2の演算方法について説明する。回転角演算部34は、まず、振幅補正後の第1の出力信号V1’(=sinθE)と振幅補正後の第2の出力信号V2’(=sin(θE+240°))とから、振幅補正後の第1の出力信号V1’に対する位相差が90°となる信号V12’(=sin(θE+90°)=cosθE)を生成する。より具体的には、回転角演算部34は、次式(27)に基づいて、信号V12’を生成する。
【0251】
【数3】
【0252】
前記式(27)は、sin(θE+240°)を三角関数の加法定理により展開した式に基づいて、導出することができる。そして、回転角演算部34は、前記信号V12’(=cosθE)と振幅補正後の第1の出力信号V1’(=sinθE)とを用い、次式(28)に基づいて、第2の電気角θE2を演算する。
【0253】
【数4】
【0254】
第3の電気角θE3の演算方法について説明する。回転角演算部34は、まず、振幅補正後の第2の出力信号V2’と振幅補正後の第3の出力信号V3’とに基づいて、ロータ20の回転角(電気角)θEに対して120°だけ進んだ電気角θE3’(=θE+120°)を演算する。そして、得られた回転角θE3’から120°を減算することにより、第3の電気角θE3を演算する。
【0255】
回転角演算部34は、振幅補正後の第3の出力信号V3’(=sin(θE+120°))と振幅補正後の第2の出力信号V2’(=sin(θE+240°))とから、振幅補正後の第3の出力信号V3’に対する位相差が90°となる信号V23’(=sin(θE+120°+90°))を生成する。
θE’=θE+120°として、振幅補正後の第3の出力信号V3’を正弦波信号sinθE’で表し、振幅補正後の出力信号V2’を、この正弦波信号sinθE’に対して位相差が120°進んだ正弦波信号sin(θE’+120°)で表すと、前記第1の電気角θE1の演算方法と同様に、正弦波信号sinθE’に対して位相差が90°となる信号V23’(=sin(θE’+90°)=cosθE’)を求めることができる。
【0256】
具体的には、回転角演算部34は、次式(29)に基づいて、信号V23’を生成する。
【0257】
【数5】
【0258】
次に、回転角演算部34は、前記信号V23’(=cosθE’)と振幅補正後の第3の出力信号V3’(=sinθE’=sin(θE+120°))とを用い、次式(30)に基づいて、回転角θE3’を演算する。
【0259】
【数6】
【0260】
そして、回転角演算部34は、次式(31)に基づいて、第3の電気角θe3を演算する。
θE3=θE3’−120° …(31)
前記ステップS107で電気角θEが演算されると、回転角演算部34は、ロータ20の機械角(絶対角)θMを演算する(ステップS108)。具体的には、回転角演算部34は、前記ステップS107で演算された電気角θEと第1の磁気センサ21が感知している極番号q1に対応する磁極対番号Q1とを用い、次式(32)に基づいて、機械角θMを演算する。
【0261】
θM={θE+(Q1−1)×360°}/8 …(32)
回転角演算部34は、前記ステップS107で演算された電気角θEと、ステップS108で演算された、機械角θMとをEPSモータ制御部33に与える。そして、今演算周期での処理を終了する。
前記ステップS94で行なわれる第1の振幅補正処理について説明する。第1の振幅補正処理では、回転角演算部34は、温度センサ24によって検出された温度に応じた、各出力信号V1,V2,V3のピーク値の初期値Pd1,Pd2,Pd3を、不揮発性メモリから取得する。そして、取得した各ピーク値の初期値Pd1,Pd2,Pd3と予め設定されている基準振幅φとに基づいて、各出力信号V1,V2,V3の振幅を補正する。
【0262】
具体的には、第1、第2および第3の出力信号V1,V2,V3の振幅補正後の信号をそれぞれV1’,V2’,V3’とすると、補正後の第1、第2および第3の出力信号V1’,V2’,V3’は、それぞれ次式(33),(34),(35)に基づいて演算される。
V1’=(V1/Pd1)×φ …(33)
V2’=(V2/Pd2)×φ …(34)
V3’=(V3/Pd3)×φ …(35)
ステップS95では、第1の振幅補正処理によって算出された振幅補正後の信号V1’,V2’,V3’に基づいて、電気角θEが算出される。電気角θEの算出方法は、前記ステップS107での電気角θEの算出方法と同じである。
【0263】
前記第3変形例によれば、回転角演算部34は、回転角演算処理開始後において、第1の出力信号V1の極大値と第2の出力信号V2の極大値と第3の出力信号V3の極大値の3つの極大値が検出された直後に、各磁気センサ21,22,23が感知している磁極を特定することができる。このため、イグニッションキーがオンされてからステアリングホイール1のロックが開錠されるまでの間において、EPSモータ7が強制駆動モードで回転されている間に、各磁気センサ21,22が感知している磁極を特定することが可能となる。したがって、ステアリングホイール1のロックが開錠された直後から、精度の高いロータ回転角を演算することができる。これにより、ステアリングホイール1の操作が可能となった直後から、EPSモータ7を適切に制御することができるようになる。
【0264】
前記第3変形例では、3つの出力信号V1,V2,V3の極大値の組合せに基づいて、第1の磁気センサ21が感知している磁極対を特定しているが、3つの出力信号V1,V2,V3の極小値の組合せに基づいて、第1の磁気センサ21が感知している磁極対を特定するようにしてもよい。
また、磁極対の数、磁気センサの数、弱い磁力を有する磁極対と強い磁力を有する磁極対との配置パターンおよび磁気センサの配置位置は、前記実施形態に示されるものに限られない。つまり、磁極対の数、磁気センサの数、弱い磁力を有する磁極対と強い磁力を有する磁極対との配置パターンおよび磁気センサの配置位置は、各磁気センサのピーク値(極大値または極小値)の組み合わせが基準となる1つの磁気センサが感知している磁極対毎に異なるように設定されていればよい。
【0265】
さらに、同じ磁極対においても、正と負のピーク値に異なった強弱を持たせることで、第1の磁気センサが感知している磁極を判別するようにしてもよい。つまり、磁極対単位ではなく、磁極単位で判別を行うようにしてもよい。
次に、図24〜図28を参照して、この発明の第2の実施形態について説明する。
この発明の第2の実施形態では、回転角検出装置の構成および全体制御部31の動作が、前記第1の実施形態と異なっている。
【0266】
図24は、回転角検出装置の構成を示す模式図である。
回転角検出装置は、EPSモータ7のロータの回転に応じて回転する検出用ロータ20と、磁気センサ21,22と、回転角演算部34と、図2に破線で示す位相差誤差演算部35とを含んでいる。
EPSモータ7のロータには、4組の磁極対が設けられているものとする。検出用ロータ20(以下、ロータ20という)は、EPSモータ7のロータに設けられている磁極対に相当する複数の磁極対を有する円筒状の磁石(多極磁石)20aを含んでいる。
【0267】
磁石20aは、等角度間隔で配置された4組の磁極対(M1,M2)(M3,M4)(M5,M6)(M7,M8)を有している。つまり、磁石20aは、等角度間隔で配置された8個の磁極M1〜M8を有している。各磁極M1〜M8は、ロータ20の回転中心軸を中心として、45°(電気角では180°)の角度間隔で配置されている。各磁極M1〜M8の磁力の大きさは、一定である。
【0268】
ロータ20の周囲には、2つの磁気センサ21,22が配置されている。両磁気センサ21,22は、ロータ20の回転中心軸を中心として、予め設定された所定の位相差(以下、「目標位相差」という)に対応する角度間隔をおいて配置されることが好ましい。この実施形態では、目標位相差は電気角で90°に設定されている。しかし、実際には、組み付け誤差等により、両磁気センサ21,22間の角度間隔は、目標位相差に対応する角度間隔とならない場合がある。この実施形態では、両磁気センサ21,22間の角度間隔が、組み付け誤差等により、目標位相差に対応する90°ではなく、(90°+α)となっているものとする。αは、目標位相差に対する位相差誤差である。
【0269】
図24に矢印で示す方向をロータ20の正方向の回転方向とする。そして、ロータ20が正方向に回転されるとロータ20の回転角が大きくなり、ロータ20が逆方向に回転されると、ロータ20の回転角が小さくなるものとする。ロータ20の回転角(電気角)をθとすると、一方の磁気センサ21の出力信号V1は、V1=A1・sinθと表され、他方の磁気センサ22の出力信号V2は、V2=A2・sin(θ+90°+α)=A2・cos(θ+α)と表される。A1,A2は、それぞれ振幅を表している。
【0270】
これらの振幅A1,A2が互いに等しい値Aであるとみなすか、あるいは両振幅が所定の規定値Aとなるように両信号V1,V2を正規化したとすると、両信号V1,V2は、それぞれ、A・sinθおよびA・cos(θ+α)と表される。ここで、A=1とすると、両信号V1,V2は、それぞれ、sinθおよびcos(θ+α)と表される。そこで、以下の説明においては、説明を簡単にするために、各磁気センサ21,22の出力信号V1,V2を、それぞれV1=sinθ,V2=cos(θ+α)と表すことにする。
【0271】
両磁気センサ21,22の出力信号V1,V2は、位相差誤差演算部35および回転角演算部34に入力される。回転角演算部34の不揮発性メモリには、位相差誤差αを記憶するためのエリアが設けられている。EPSモータ7の出荷時においては、前記エリアには、予め求められた位相差誤差αの初期値が記憶されている。回転角演算部34は、不揮発性メモリに記憶されている位相差誤差αと両磁気センサ21,22の出力信号V1,V2とに基づいて、ロータ20の回転角を演算する。
【0272】
位相差誤差演算部35は、強制回転モードでEPSモータ7が回転駆動されているときに、磁気センサ21,22の出力信号V1,V2に基づいて位相差誤差αを演算して、回転角演算部34に設定する。つまり、回転角演算部34の不揮発性メモリに記憶されている位相差誤差αを、新たに演算された位相差誤差αに更新する。
図25は、位相差誤差演算部35の構成を示すブロック図である。
【0273】
位相差誤差演算部35は、信号和演算部41と、第1の振幅演算部42と、信号差演算部43と、第2の振幅演算部44と、振幅差演算部45と、誤差演算部46とを含んでいる。
信号和演算部41は、2つの磁気センサ21,22の出力信号V1,V2の和を演算する。出力信号V1,V2の和に相当する信号(以下、「和信号」という)は、次式(36)で表される。
【0274】
【数7】
【0275】
したがって、この和信号の振幅B1は、次式(37)で表される。
【0276】
【数8】
【0277】
第1の振幅演算部42は、信号和演算部41の演算結果に基づいて、前記和信号の振幅B1を求める。具体的には、強制回転モードでEPSモータ7が回転駆動されているときに、信号和演算部41によって信号和(V1+V2)を所定時間毎に演算させることにより、ロータ20の複数の回転角それぞれに対応する信号和を取得する。このようにして取得された複数の回転角に対応する信号和から、和信号の極大値および極小値を抽出し、抽出した極大値および極小値に基づいて和信号の振幅B1を求める。たとえば、抽出された極大値の平均から抽出された極小値の平均を減算した値の1/2を振幅B1として求めることができる。
【0278】
信号差演算部43は、2つの磁気センサ21,22の出力信号V1,V2の差(V1−V2)を演算する。出力信号V1,V2の差に相当する信号(以下、「差信号」という)は、次式(38)で表される。
【0279】
【数9】
【0280】
したがって、この差信号の振幅B2は、次式(39)で表される。
【0281】
【数10】
【0282】
第2の振幅演算部44は、信号差演算部43の演算結果に基づいて、前記差信号の振幅B2を求める。具体的には、強制回転モードでEPSモータ7が回転駆動されているときに、信号差演算部43によって信号差(V1−V2)を所定時間毎に演算させることにより、ロータ20の複数の回転角それぞれに対応する信号差を取得する。このようにして取得された複数の回転角に対応する信号差から、差信号の極大値および極小値を抽出し、抽出した極大値および極小値に基づいて差信号の振幅B2を求める。たとえば、抽出された極大値の平均から抽出された極小値の平均を減算した値の1/2を振幅B2として求めることができる。
【0283】
振幅差演算部45は、第1の振幅演算部42によって演算された振幅B1と、第2の振幅演算部44によって演算された振幅B2との差ΔB(=B2−B1)を演算する。なお、振幅差ΔBは、前記式(37),(39)を用いて演算すると、次式(40)で表される。
【0284】
【数11】
【0285】
誤差演算部46は、振幅差演算部45によって演算された振幅差ΔBに基づいて、位相差誤差αを演算する。前記式(40)で表されているように、振幅差ΔBは、αの関数(2√2・sin(α/2))となる。この関数をグラフで表すと、図26に示すようなサインカーブとなる。ただし、図26の横軸は、αではなく、α/2である。この関数は、αの絶対値が小さい範囲では、ほぼ直線とみなすことができる。この実施形態では、αが、−π/6≦α≦π/6の範囲内である場合には、次式(41)に示すように、α/2が2√2・sin(α/2)に比例するとみなしている。
【0286】
2√2・sin(α/2)=K・α/2 …(41)
前記式(41)において、Kは比例定数である。この比例定数Kは、図26に示すサインカーブのうち、横軸の値が−(π/6)/2〜(π/6)/2である範囲内の部分を直線とみなした場合に、その直線の傾きy/xに相当する。したがって、比例定数Kは、次式(42)で表される。
【0287】
【数12】
【0288】
前記式(40)で示されるようにΔB=2√2・sin(α/2)であるので、前記式(41),(42)を用いることにより、次式(43)のように、ΔBを近似的に表すことができる。
【0289】
【数13】
【0290】
前記式(43)を変形することにより、位相差誤差αは、次式(44)で表される。
【0291】
【数14】
【0292】
誤差演算部46は、振幅差演算部45によって演算された振幅差ΔBを用い、前記式(44)に基づいて、位相差誤差αを演算する。演算された位相差誤差αは、不揮発性メモリに格納される。
図27は、回転角演算部34によって実行される回転角演算処理の手順を示すフローチャートである。
【0293】
回転角演算部34が起動されると、回転角演算部34は、図27に示される回転角演算処理を、所定の演算周期毎に繰り返し行う。
回転角演算部34は、磁気センサ21,22の出力信号V1(=sinθ),V2(=cos(θ+α))を取り込む(ステップS131)。そして、回転角演算部34は、ステップS131で取り込まれた出力信号V1,V2と、不揮発性メモリに記憶されている位相差誤差αとを用い、次式(45)に基づいて、第2の出力信号V2を補正する(ステップS132)。
【0294】
【数15】
【0295】
つまり、回転角演算部34は、出力信号V1(=sinθ)と、出力信号V2(=cos(θ+α))と、sinαと、cosαとから、位相差誤差αが補正された信号V2’(=cosθ)を求める。なお、式(45)は、cos(θ+α)を三角関数の加法定理により展開した式に基づいて、導出することができる。
次に、回転角演算部34は、位相差誤差αが補正された信号V2’(=cosθ)と、ステップS131で取り込まれた出力信号V1(=sinθ)とを用い、次式(46)に基づいて、ロータ1の回転角θを演算する(ステップS133)。
【0296】
θ=tan−1(sinθ/cosθ)
=tan−1(V1/V2’)…(46)
図28は、第2の実施形態における制御部13の全体的な動作を示すフローチャートである。
図28において、図9に示された各ステップと同様の処理が行われるステップには、図9中と同一参照符号を付して示す。
【0297】
イグニッションキーがオンされることにより、ECU11の電源がオンされると、全体制御部31は、EPS用リレーR1,R2をオンさせる(ステップS21)。次に、全体制御部31は、回転角演算部34を起動させる(ステップS22)。これにより、回転角演算部34は、図27を用いて説明した回転角演算処理を開始する。この際、回転角演算部34は、回転角演算部34の不揮発性メモリに記憶されている位相差誤差αを用いて、ロータ20の回転角を演算する。また、全体制御部31は、位相差誤差演算部35を起動させる(ステップS22A)。これにより、位相差誤差演算部35は、図35を用いて説明したような位相差誤差の演算処理を開始する。
【0298】
また、全体制御部31は、EPSモータ制御部33を強制回転モードで一定時間動作させる(ステップS23)。これにより、EPSモータ制御部33は、強制回転モードで、EPSモータ7を駆動する。強制回転モードでEPSモータ7が回転されている間に、位相差誤差演算部35は、位相差誤差αを演算して、回転角演算部34に設定する(ステップS23A)。つまり、位相差誤差演算部35は、回転角演算部34の不揮発性メモリに記憶されている位相差誤差αを、新たに演算した位相差誤差αに更新する。これ以後は、回転角演算部34は、位相差誤差演算部35によって最新に演算された位相差誤差αを用いて、ロータ20の回転角を演算する。
【0299】
前記一定時間が経過すると、全体制御部31は、EPS用リレーR1,R2をオフさせる(ステップS24)。そして、ステップS25以降の処理を行う。
第2の実施形態では、イグニッションキーがオンされてからステアリングホイール1のロックが開錠されるまでの間に、両磁気センサ21,22の最新の角度間隔に応じた位相差誤差αを演算して、回転角演算部34に設定することができる。したがって、回転角演算部34は、ステアリングホイール1のロックが開錠された直後から、精度の高いロータ回転角を演算することができる。これにより、ステアリングホイール1の操作が可能となった直後から、EPSモータ7を適切に制御することができるようになる。
【0300】
次に、図29〜図33を参照して、この発明の第3の実施形態について説明する。
この発明の第3の実施形態では、回転角検出装置の構成および全体制御部31の動作が、前記第1の実施形態と異なっている。
図29は、回転角検出装置の構成を示している。
回転角検出装置は、EPSモータ7のロータの回転に応じて回転する検出用ロータ20と、磁気センサ21,22と、回転角演算部34と、図2に破線で示す補正ゲイン演算部36とを含んでいる。
【0301】
EPSモータ7のロータには、4組の磁極対が設けられているものとする。検出用ロータ20(以下、ロータ20という)は、EPSモータ7のロータに設けられている磁極対に相当する複数の磁極対を有する円筒状の磁石(多極磁石)20aを含んでいる。
磁石20aは、4組の磁極対(M1,M2)(M3,M4)(M5,M6)(M7,M8)を有している。つまり、磁石20aは、等角度間隔で配置された8個の磁極M1〜M8を有している。各磁極M1〜M8は、ロータ20の回転中心軸を中心として、45°(電気角では180°)の角度間隔で配置されている。各磁極M1〜M8の磁力の大きさは、一定である。
【0302】
ロータ20における回転中心軸に直交する一端面の外方には、磁石20aの環状端面に対向する2つの磁気センサ21,22が配置されている。これらの磁気センサ21,22は、ロータ20の回転中心軸を中心として電気角で90°の角度間隔で配置されている。以下において、一方の磁気センサ21を第1の磁気センサ21といい、他方の磁気センサ22を第2の磁気センサ22という場合がある。
【0303】
各磁気センサ21,22とロータ20の端面との間のギャップが小さいと、各磁気センサ21,12の出力信号V1,V2に3次高調波成分が重畳され、それらの出力信号波形に歪が発生する。たとえば、図30に示すように、磁気センサ21と検出用ロータ20との間のギャップが小さくなるほど、磁気センサ21の出力信号の歪量は大きくなる。
図29に矢印で示す方向をロータ20の正方向の回転方向とする。そして、ロータ20が正方向に回転されるとロータ20の回転角が大きくなり、ロータ20が逆方向に回転されると、ロータ20の回転角が小さくなるものとする。ロータ20の回転角(電気角)をθとすると、3次高調波成分が重畳されていない場合には、第1の磁気センサ21の出力信号V1は、V1=A1・sinθと表され、第2の磁気センサ22の出力信号V2は、V2=A2・sin(θ+90°)=A2・cosθと表される。A1,A2は、それぞれ振幅を表している。これらの振幅A1,A2が互いに等しい値Aであるとみなすか、あるいは両振幅が所定の規定値Aとなるように両信号V1,V2を正規化したとすると、両信号V1,V2は、それぞれ、A・sinθおよびA・cosθと表される。ここで、A=1とすると、両信号V1,V2は、それぞれ、sinθおよびcosθ)と表される。そこで、3次高調波成分が重畳されていない場合には、第1の磁気センサ21からはV1=sinθで表される出力信号V1が出力され、第2の磁気センサ22からはV2=cosθで表される出力信号V2が出力されるものとする。
【0304】
この実施形態では、各磁気センサ21,22と磁石20aとのギャップが小さいため、各磁気センサ21,22の出力信号には、3次高調波成分が重畳されているものとする。したがって、この実施形態には、3次高調波成分のゲインをK(0<K<1)とすると、第1の磁気センサ21からは、次式(47)で表される第1の出力信号V1が出力され、第2の磁気センサ22からは次式(48)で表される第2の出力信号V2が出力されるものとする。
【0305】
【数16】
【0306】
第1の出力信号V1および第2の出力信号V1は、補正ゲイン演算部36および回転角演算部34に入力される。
回転角演算部34の不揮発性メモリには、各出力信号V1,V2から3次高調波成分を除去するために用いられる補正ゲインG(=4K/(1−K))を記憶するためのエリアが設けられている。EPSモータ7の出荷時においては、前記エリアには、予め求められた補正ゲインGの初期値が記憶されている。回転角演算部34は、不揮発性メモリに記憶されている補正ゲインGと、両磁気センサ21,22の出力信号V1,V2とに基づいて、ロータ20の回転角(電気角)を演算する。
【0307】
補正ゲイン演算部36は、強制回転モードでEPSモータ7が回転駆動されているときに、磁気センサ21,22の出力信号V1,V2に基づいて、それらの出力信号に含まれる3次高調波成分に応じた補正ゲインGを演算し、得られた補正ゲインGを回転角演算部34に設定する。つまり、回転角演算部34の不揮発性メモリに記憶されている補正ゲインGを、新たに演算された補正ゲインGに更新する。
【0308】
図29に示すように、回転角演算部34は、第1の3次高調波成分除去部51と、第2の3次高調波成分除去部52と、ロータ角演算部53とを含んでいる。第1の3次高調波成分除去部51は、第1の出力信号V1から3次高調波成分が除去されるように、第1の出力信号V1を補正する。具体的には、第1の3次高調波成分除去部51は、第1の磁気センサ21の出力信号V1から3次高調波成分が除去された信号sinθの近似値(sinθ)nを演算する。
【0309】
第2の3次高調波成分除去部52は、第2の出力信号V2から3次高調波成分が除去されるように、第2の出力信号V2を補正する。具体的には、第2の3次高調波成分除去部52は、第2の磁気センサ22の出力信号V2から3次高調波成分が除去された信号cosθの近似値(cosθ)nを演算する。
ロータ角演算部53は、第1の3次高調波成分除去部51によって演算されたsinθの近似値(sinθ)nと、第2の3次高調波成分除去部52によって演算されたcosθの近似値(cosθ)nとに基づいて、ロータ20の回転角θを演算する。具体的には、次式(49)に基づいて、ロータ20の回転角θを演算する。
【0310】
θ=tan−1{(sinθ)n/(cosθ)n} …(49)
以下、第1の3次高調波成分除去部51および第2の3次高調波成分除去部52の動作について説明する。
まず、第1の3次高調波成分除去部51の動作について説明する。
前記式(47)を変形することにより、次式(50)を導くことができる。
【0311】
【数17】
【0312】
前記式(50)の右辺における{4K/(1−K)}が補正ゲインGである。補正ゲインGととしては、不揮発性メモリに記憶されている補正ゲインGが用いられる。次式(51)は、前記式(50)に基づいて、第1の磁気センサ21の出力信号V1から3次高調波成分が除去された信号sinθの近似値(sinθ)nを演算するための演算式を示している。
【0313】
【数18】
【0314】
前記式(51)に示すように、前記式(50)の右辺の(1−sin2θ)の項におけるsinθとして、第1の磁気センサ21の出力信号V1を用いることにより、演算回数が1回目のsinθの近似値(sinθ)1を演算することができる。また、演算回数が1回目のsinθの近似値(sinθ)1を、前記式(50)の右辺の(1−sin2θ)の項におけるsinθとして用いることにより、演算回数が2回目のsinθの近似値(sinθ)2を演算することができる。つまり、i(iは1以上の整数)を演算回数とすると、演算回数が2回目以降のsinθの近似値(sinθ)i+1は、その1回前に演算されたsinθの近似値(sinθ)iを、前記式(50)の右辺の(1−sin2θ)の項におけるsinθとして用いることによって演算することができる。演算回数が多くなるほど、精度の高い近似値が得られる。
【0315】
第1の3次高調波成分除去部51は、上記のような演算をn回行なうことにより、演算回数がn回目のsinθの信号値(sinθ)nを演算する。演算回数nは任意であってもよい。つまり、演算回数nは1であってもよいし、2以上の値であってもよい。この実施形態では、演算回数nは、2または3に設定される。
次に、第2の3次高調波成分除去部52の動作について説明する。
【0316】
前記式(48)を変形することにより、次式(52)を導くことができる。
【0317】
【数19】
【0318】
前記式(52)の右辺における{4K/(1−K)}が補正ゲインGである。補正ゲインGととしては、不揮発性メモリに記憶されている補正ゲインGが用いられる。次式(53)は、前記式(52)に基づいて、第2の磁気センサ22の出力信号V2から3次高調波成分が除去された信号cosθの近似値(cosθ)nを演算するための演算式を示している。
【0319】
【数20】
【0320】
前記式(53)に示すように、前記式(52)の右辺の(1−cos2θ)の項におけるcosθとして、第2の磁気センサ22の出力信号V2を用いることにより、演算回数が1回目のcosθの近似値(cosθ)1を演算することができる。また、演算回数が1回目の近似値(cosθ)1を、前記式(52)の右辺の(1−cos2θ)の項におけるcosθとして用いることにより、演算回数が2回目のcosθの近似値(cosθ)2を演算することができる。つまり、i(iは1以上の整数)を演算回数とすると、演算回数が2回目以降のcosθの近似値(cosθ)i+1は、その1回前に演算されたcosθの近似値(cosθ)iを、前記式(52)の右辺の(1−cos2θ)の項におけるcosθとして用いることによって演算することができる。演算回数が多くなるほど、精度の高い近似値が得られる。
【0321】
第2の3次高調波成分除去部52は、上記のような演算をn回行なうことにより、演算回数がn回目の信号値(cosθ)nを演算する。演算回数nは任意であってもよい。つまり、演算回数nは1であってもよいし、2以上の値であってもよい。この実施形態では、演算回数nは、2または3に設定される。
図31は、回転角演算部34によって実行される回転角演算処理の手順を示すフローチャートである。
【0322】
回転角演算部34が起動されると、回転角演算部34は、図31に示される回転角演算処理を、所定の演算周期毎に繰り返し行う。
回転角演算部34は、磁気センサ21,22の出力信号V1,V2を取り込む(ステップS141)。そして、回転角演算部34は、ステップS141で取り込まれた各出力信号V1,V2から3次高周波成分を除去する(ステップS142)。具体的には、第1の3次高周波成分除去部51によって、第1の出力信号V1から3次高周波成分が除去された信号sinθの近似値(sinθ)nが演算される。また、第2の3次高周波成分除去部52によって、第2の出力信号V2から3次高周波成分が除去された信号cosθの近似値(cosθ)nが演算される。この際、補正ゲインGとしては、不揮発性メモリに記憶されている補正ゲインが用いられる。
【0323】
次に、回転角演算部34のロータ角演算部53は、第1の3次高周波成分除去部51によって演算されたsinθの近似値(sinθ)nと、第2の3次高周波成分除去部52によって演算されたcosθの近似値(sinθ)nを用い、前記式(49)に基づいて、ロータ20の回転角θを演算する(ステップS143)。そして、今演算周期の処理を終了する。 図32は、補正ゲイン演算部36によって実行される補正ゲイン演算処理の手順を示すフローチャートである。
【0324】
補正ゲイン演算部36は、強制回転モードでEPSモータ7が回転駆動されているときに、出力信号V1,V1に基づいて、補正ゲインGを修正するための補正ゲイン修正処理を複数回行なうことにより、出力信号V1,V1に含まれている3次高調波成分に応じた補正ゲインを演算する。補正ゲイン修正処理において、修正前の補正ゲインGをGmで表し、修正後の補正ゲインGをGm+1で表すことにする。
【0325】
補正ゲイン演算部36が起動されると、補正ゲイン演算部36は、修正前の補正ゲインGmとして、回転角演算部34の不揮発性メモリに記憶されている補正ゲインGを設定する(ステップS151)。
次に、補正ゲイン演算部36は、第1の出力信号V1および第2の出力信号V2を取り込む(ステップS152)。そして、補正ゲイン演算部36は、第1の出力信号V1と修正前の補正ゲインGmと前記式(51)を用いてsinθの近似値(sinθ)nを演算するとともに、第2の出力信号V2と修正前の補正ゲインGmと前記式(53)を用いてcosθの近似値(cosθ)nを演算する(ステップS153)。
【0326】
次に、補正ゲイン演算部36は、演算された(sinθ)nの絶対値と演算された(cosθ)nの絶対値との差の絶対値(以下、「回転角判定用絶対値」という)が所定値F以下であるか否かを判別する(ステップS154)。所定値Fは、例えば、0.1である。後述するように、ロータ20の回転角θが、電気角で45度付近、135度付近、225度付近または315度付近の角度である場合に、補正ゲインGを修正することが好ましい。ロータ20の回転角θが前記所定角度付近(電気角で45度付近、135度付近、225度付近または315度付近)の角度である場合には、(sinθ)nの絶対値と(cosθ)nの絶対値とはほぼ等しい値となる。そこで、ステップS154では、前記のような判定を行なうことにより、回転角θが、前記所定角度付近の角度であるか否かを判別している。
【0327】
前記回転角判定用絶対値が所定値F以下である場合には、ロータ20の回転角θが前記所定角度付近の角度であるので、補正ゲイン演算部36は、補正ゲイン修正処理を行なう(ステップS155)。具体的には、補正ゲイン演算部36は、次式(54)に基づいて、補正ゲインGmを修正する(ステップS155)。
Gm+1=Gm+L×((sinθ)n2+(cosθ)n2+1) …(54)
前記式(54)において、Gm+1は修正後の補正ゲインを表している。また、前記式(54)において、Lは予め設定された定数であり、例えば0.1に設定される。
【0328】
次に、補正ゲイン演算部36は、前記ステップS155で演算された修正後の補正ゲインGm+1を、修正前の補正ゲインGmとして設定した後(ステップS156)、補正ゲイン演算部36が起動されてから所定時間TAが経過したか否かを判別する(ステップS157)。この所定時間TAは、強制回転モードでEPSモータ7が駆動制御される時間より若干短い時間に設定されている。
【0329】
所定時間TAが経過していなけければ、補正ゲイン演算部36は、ステップS152に戻る。これにより、ステップS152以降の処理が再度実行される。この場合には、ステップS153においては修正後の補正ゲインを用いて、(sinθ)nと(cosθ)nとが演算されることになる。
前記ステップS154において、前記回転角判定用絶対値が所定値Fより大きいと判別された場合には(ステップS154:NO)、ロータ20の回転角θが前記所定角度付近の角度ではないので、補正ゲイン演算部36は、ステップS155の補正ゲインの修正処理を行なうことなく、ステップS158に移行する。ステップS158では、補正ゲイン演算部36は、補正ゲイン演算部36が起動されてから所定時間TAが経過したか否かを判別する。
【0330】
所定時間TAが経過していない場合には(S158:NO)、補正ゲイン演算部36は、ステップS152に戻る。これにより、ステップS152以降の処理が再度実行されることになる。
前記ステップS157または前記ステップS158において、所定時間TAが経過していると判別された場合には(S157またはS158:YES)、補正ゲイン演算部36は、その時点における修正前の補正ゲインGm(ステップS155において最後に修正された補正ゲインGm+1)を回転角演算部34に設定する(ステップS159)。つまり、補正ゲイン演算部36は、回転角演算部34の不揮発性メモリに記憶されている補正ゲインGを、ステップS155において最後に修正された補正ゲインGm+1に更新する。そして、補正ゲイン演算処理を終了する。
【0331】
前記ステップS153で演算される(sinθ)nおよび(cosθ)nに3次高調波成分が含まれている場合には、{(sinθ)12+(cosθ)12}は、3次高調波成分の影響で1より大きな値となる。また、{(sinθ)12+(cosθ)12}は、(sinθ)nおよび(cosθ)nの演算に用いられた補正ゲインGmが適正値に近いほど、1に近い値となる。そこで、{(sinθ)12+(cosθ)12}が1とかけ離れている量に基づいて、補正ゲインGmを修正することにより、適正値により近い補正ゲインGm+1を演算することができる。
【0332】
一方、(sinθ)nおよび(cosθ)nに3次高調波成分が含まれている場合には、{(sinθ)12+(cosθ)12}は、理論的には、ロータ20の回転角θが、45°、135°、225°または315°であるときに最大となる。したがって、ロータ20の回転角がこれらの回転角付近にあるときの、{(sinθ)12+(cosθ)12}が1からかけ離れている量を基準として、補正ゲインGmを修正することが好ましい。そこで、この実施形態では、ロータ20の回転角がこれらの回転角付近にあるときにのみ、補正ゲインGmを修正するようにしている(ステップS154,S155参照)。
【0333】
また、補正ゲインGmが修正されると、次回のステップS153においては、修正後の補正ゲインを用いてより精度の高い(sinθ)nおよび(cosθ)nを演算し、それに基づいて補正ゲインGmを修正するといった動作を繰り返しているので、精度の高い補正ゲインを求めることができる。
図33は、第3の実施形態における制御部13の全体的な動作を示すフローチャートである。
【0334】
図33において、図9に示された各ステップと同様の処理が行われるステップには、図9中と同一参照符号を付して示す。
イグニッションキーがオンされることにより、ECU11の電源がオンされると、全体制御部31は、EPS用リレーR1,R2をオンさせる(ステップS21)。次に、全体制御部31は、回転角演算部34を起動させる(ステップS22)。これにより、回転角演算部34は、図31を用いて説明した回転角演算処理を開始する。この際、回転角演算部34は、不揮発性メモリに記憶されている補正ゲインGを用いて、ロータ20の回転角を演算する。また、全体制御部31は、補正ゲイン演算部36を起動させる(ステップS22B)。これにより、補正ゲイン演算部36は、図32を用いて説明したような補正ゲイン演算処理を開始する。
【0335】
また、全体制御部31は、EPSモータ制御部33を強制回転モードで一定時間動作させる(ステップS23)。これにより、EPSモータ制御部33は、強制回転モードで、EPSモータ7を駆動する。強制回転モードでEPSモータ7が回転されている間に、補正ゲイン演算部36は、適正値により近い補正ゲインGmを演算して、回転角演算部34に設定する(ステップS23B)。これ以後は、回転角演算部34は、補正ゲインGとして補正ゲイン演算部36によって設定された適正値により近い補正ゲインGmを用いて、ロータ20の回転角を演算する。
【0336】
前記一定時間が経過すると、全体制御部31は、EPS用リレーR1,R2をオフさせる(ステップS24)。そして、ステップS25以降の処理を行う。
第3の実施形態では、イグニッションキーがオンされてからステアリングホイール1のロックが開錠されるまでの間に、出力信号V1,V2に含まれている3次高調波成分に応じた適正値により近い補正ゲインGmを演算して、回転角演算部34に設定することができる。したがって、回転角演算部34は、ステアリングホイール1のロックが開錠された直後から、精度の高いロータ回転角を演算することができる。これにより、ステアリングホイール1の操作が可能となった直後から、EPSモータ7を適切に制御することができるようになる。
【0337】
なお、回転角演算部34内の第1および第2の3次高調波成分除去部51,52は、演算回数が2回目以降の(i+1)回目の近似値(sinθ)i+1および(cosθ)i+1を演算する際の補正ゲインGi+1を、演算回数がそれより1回前のi回目のsinθの近似値(sinθ)iおよびcosθの近似値(cosθ)iおよび補正ゲインGiから算出するようにしてもよい。具体的には、演算回数が(i+1)回目の近似値(sinθ)i+1および(cosθ)i+1を演算する際の補正ゲインGi+1を、次式(55)により、演算するようにしてもよい。
【0338】
Gi+1=Gi+Z×[{(sinθ)i2+(cosθ)i2}−1] …(55)
Gi+1:演算回数が(i+1)回目の近似値演算に用いられる補正ゲイン
Gi :演算回数がi回目の近似値演算に用いられる補正ゲイン
Z :予め設定された定数(例えばZ=0.1)
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【0339】
5…ステアリングシャフト、3…電動パワーステアリング装置、4…ステアリングロック装置、7…EPSモータ、10…ロックモータ、11…ECU、12…駆動回路、13…制御部、20…検出用ロータ、20a…多極磁石、21,22,23…磁気センサ、31…全体制御部、32…ロックモータ制御部、33…EPSモータ制御部、34…回転角演算部、35…位相差誤差演算部、36…補正ゲイン演算部、R1〜R4…リレー
【特許請求の範囲】
【請求項1】
操舵部材の回転をロックするステアリングロック装置と電動パワーステアリング装置とを含む車両用操舵装置であって、
ロータを有する電動パワーステアリング装置用のブラシレスモータと、
前記ロータの回転角を演算するための複数の回転角センサと、
前記ステアリングロック装置によって前記操舵部材の回転がロックされている状態において、前記ブラシレスモータを回転駆動させるプレ駆動手段と、
前記プレ駆動手段による前記ブラシレスモータの回転駆動中に前記各回転角センサから出力される信号に基づいて、前記ロータの回転角の演算精度を高めるために必要な情報を獲得する情報獲得手段と、
前記ステアリングロック装置によるロックが解除された後において、前記情報獲得手段によって獲得された情報と、前記各回転角センサの出力信号とに基づいて、前記ロータの回転角を演算する回転角演算手段とを含む、車両用操舵装置。
【請求項2】
前記ロータの回転に応じて回転し、複数の磁極を有する多極磁石を含み、
前記複数の回転角センサは、前記多極磁石の回転に応じて、互いに位相差を有する正弦波信号をそれぞれ出力する磁気センサであり、
前記ロータの回転角の演算精度を高めるために必要な情報が、各磁気センサが感知している磁極を特定するための情報である、請求項1に記載の車両用操舵装置。
【請求項3】
前記ロータの回転に応じて回転し、複数の磁極を有する多極磁石を含み、
前記複数の回転角センサは、前記多極磁石の回転に応じて、互いに位相差を有する第1の正弦波信号および第2の正弦波信号をそれぞれ出力する第1の磁気センサおよび第2の磁気センサであり、
前記ロータの回転角の演算精度を高めるために必要な情報が、前記2つの磁気センサの相対的な配置誤差に起因して発生する、前記2つの正弦波信号間の所定の目標位相差に対する位相差誤差である、請求項1に記載の車両用操舵装置。
【請求項4】
前記ロータの回転に応じて回転し、複数の磁極を有する多極磁石を含み、
前記複数の回転角センサは、前記多極磁石の回転に応じて、互いに位相が異なりかつ3次高調波成分が重畳された正弦波信号をそれぞれ出力する第1の磁気センサおよび第2の磁気センサであり、
前記ロータの回転角の演算精度を高めるために必要な情報が、前記各磁気センサの出力信号から3次高調波成分を除去するために用いられる情報である、請求項1に記載の車両用操舵装置である。
【請求項5】
前記ブラシレスモータに第1の給電経路を介して接続された、前記ブラシレスモータの駆動回路と、
前記第1の給電経路を開閉するための第1の経路開閉手段と、
前記駆動回路に第2の給電経路を介して接続され、前記操舵部材をロックするためのステアリングロック装置用の電動モータと、
前記第2の給電経路を開閉する第2の経路開閉手段とを含む、請求項1〜4のいずれか一項に記載の車両用操舵装置。
【請求項1】
操舵部材の回転をロックするステアリングロック装置と電動パワーステアリング装置とを含む車両用操舵装置であって、
ロータを有する電動パワーステアリング装置用のブラシレスモータと、
前記ロータの回転角を演算するための複数の回転角センサと、
前記ステアリングロック装置によって前記操舵部材の回転がロックされている状態において、前記ブラシレスモータを回転駆動させるプレ駆動手段と、
前記プレ駆動手段による前記ブラシレスモータの回転駆動中に前記各回転角センサから出力される信号に基づいて、前記ロータの回転角の演算精度を高めるために必要な情報を獲得する情報獲得手段と、
前記ステアリングロック装置によるロックが解除された後において、前記情報獲得手段によって獲得された情報と、前記各回転角センサの出力信号とに基づいて、前記ロータの回転角を演算する回転角演算手段とを含む、車両用操舵装置。
【請求項2】
前記ロータの回転に応じて回転し、複数の磁極を有する多極磁石を含み、
前記複数の回転角センサは、前記多極磁石の回転に応じて、互いに位相差を有する正弦波信号をそれぞれ出力する磁気センサであり、
前記ロータの回転角の演算精度を高めるために必要な情報が、各磁気センサが感知している磁極を特定するための情報である、請求項1に記載の車両用操舵装置。
【請求項3】
前記ロータの回転に応じて回転し、複数の磁極を有する多極磁石を含み、
前記複数の回転角センサは、前記多極磁石の回転に応じて、互いに位相差を有する第1の正弦波信号および第2の正弦波信号をそれぞれ出力する第1の磁気センサおよび第2の磁気センサであり、
前記ロータの回転角の演算精度を高めるために必要な情報が、前記2つの磁気センサの相対的な配置誤差に起因して発生する、前記2つの正弦波信号間の所定の目標位相差に対する位相差誤差である、請求項1に記載の車両用操舵装置。
【請求項4】
前記ロータの回転に応じて回転し、複数の磁極を有する多極磁石を含み、
前記複数の回転角センサは、前記多極磁石の回転に応じて、互いに位相が異なりかつ3次高調波成分が重畳された正弦波信号をそれぞれ出力する第1の磁気センサおよび第2の磁気センサであり、
前記ロータの回転角の演算精度を高めるために必要な情報が、前記各磁気センサの出力信号から3次高調波成分を除去するために用いられる情報である、請求項1に記載の車両用操舵装置である。
【請求項5】
前記ブラシレスモータに第1の給電経路を介して接続された、前記ブラシレスモータの駆動回路と、
前記第1の給電経路を開閉するための第1の経路開閉手段と、
前記駆動回路に第2の給電経路を介して接続され、前記操舵部材をロックするためのステアリングロック装置用の電動モータと、
前記第2の給電経路を開閉する第2の経路開閉手段とを含む、請求項1〜4のいずれか一項に記載の車両用操舵装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【公開番号】特開2013−91350(P2013−91350A)
【公開日】平成25年5月16日(2013.5.16)
【国際特許分類】
【出願番号】特願2011−233074(P2011−233074)
【出願日】平成23年10月24日(2011.10.24)
【出願人】(000001247)株式会社ジェイテクト (7,053)
【Fターム(参考)】
【公開日】平成25年5月16日(2013.5.16)
【国際特許分類】
【出願日】平成23年10月24日(2011.10.24)
【出願人】(000001247)株式会社ジェイテクト (7,053)
【Fターム(参考)】
[ Back to top ]