特許第6024969号(P6024969)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

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

▶ 株式会社ジェイテクトの特許一覧
特許6024969回転角検出装置およびそれを備えた電動パワーステアリング装置
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6024969
(24)【登録日】2016年10月21日
(45)【発行日】2016年11月16日
(54)【発明の名称】回転角検出装置およびそれを備えた電動パワーステアリング装置
(51)【国際特許分類】
   G01D 5/244 20060101AFI20161107BHJP
   G01B 7/30 20060101ALI20161107BHJP
   B62D 5/04 20060101ALI20161107BHJP
【FI】
   G01D5/244 D
   G01B7/30 H
   B62D5/04
【請求項の数】6
【全頁数】43
(21)【出願番号】特願2012-271637(P2012-271637)
(22)【出願日】2012年12月12日
(65)【公開番号】特開2014-115258(P2014-115258A)
(43)【公開日】2014年6月26日
【審査請求日】2015年11月19日
(73)【特許権者】
【識別番号】000001247
【氏名又は名称】株式会社ジェイテクト
(74)【代理人】
【識別番号】100087701
【弁理士】
【氏名又は名称】稲岡 耕作
(74)【代理人】
【識別番号】100101328
【弁理士】
【氏名又は名称】川崎 実夫
(74)【代理人】
【識別番号】100086391
【弁理士】
【氏名又は名称】香山 秀幸
(72)【発明者】
【氏名】高木 剛
(72)【発明者】
【氏名】狩集 裕二
(72)【発明者】
【氏名】冷水 由信
(72)【発明者】
【氏名】吉井 康之
【審査官】 深田 高義
(56)【参考文献】
【文献】 特開2012−127801(JP,A)
【文献】 特開2007−322167(JP,A)
【文献】 特開2006−090738(JP,A)
【文献】 特開2002−031518(JP,A)
【文献】 特開平10−170211(JP,A)
【文献】 特開平08−026127(JP,A)
【文献】 米国特許出願公開第2012/0158340(US,A1)
【文献】 米国特許出願公開第2005/0278137(US,A1)
【文献】 米国特許出願公開第2004/0011586(US,A1)
【文献】 特開2004−051094(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01D 5/244
B62D 5/04
G01B 7/30
(57)【特許請求の範囲】
【請求項1】
回転体の回転角を検出するための複数のセンサと、
前記各センサの出力信号を所定時間毎にサンプリングするサンプリング手段と、
前記複数のセンサのうちの少なくとも2つのセンサにおける2以上の所定数の異なるタイミングでサンプリングされた複数の出力信号を用いて、前記回転体の回転角を演算する演算手段とを含み、
前記回転体の回転角の演算のために前記演算手段によって用いられる複数の出力信号の各々を数式化した場合において、得られた複数の数式の数をX、これらの数式に含まれる未知数の数をYとすると、YがXより大きいという条件を満たしており、
前記演算手段は、前記複数の数式に含まれる未知数のうち、所定の複数の異なる未知数が互いに等しいとみなすことによってYをX以下とした後に、前記複数の数式からなる連立方程式を解くことにより、前記回転体の回転角を演算するように構成されている、回転角演算装置。
【請求項2】
前記回転体の回転に応じて回転し、複数の磁極を有する多極磁石を含み、
前記複数のセンサは、前記多極磁石の回転に応じて、互いに所定の位相差を有する正弦波信号をそれぞれ出力する複数の磁気センサであり、
前記演算手段は、前記複数のセンサのうちの2つのセンサにおける2つの異なるタイミングでサンプリングされた4つの出力信号を用いて、前記回転体の回転角を演算するように構成されており、
前記複数の数式は前記4つの出力信号を数式化した4つの数式からなり、各数式は振幅および前記回転体の回転角を未知数として含んでおり、
前記演算手段は、前記4つの数式に含まれる未知数のうち、同じセンサのサンプリングタイミングが異なる2つの出力信号の振幅が互いに等しいとみなすことによってYをX以下にしている、請求項1に記載の回転角演算装置。
【請求項3】
前記回転体の回転に応じて回転し、複数の磁極を有する多極磁石を含み、
前記複数のセンサは、前記多極磁石の回転に応じて、互いに所定の位相差を有する正弦波信号をそれぞれ出力する複数の磁気センサであり、
前記演算手段は、前記複数のセンサのうちの2つのセンサにおける3つの異なるタイミングでサンプリングされた6つの出力信号を用いて、前記回転体の回転角を演算するように構成されており、
前記複数の数式は前記6つの出力信号を数式化した6つの数式からなり、各数式は振幅、前記回転体の回転角および前記多極磁石の各磁極の磁極幅に関する情報を未知数として含んでおり、
前記演算手段は、前記6つの数式に含まれる未知数のうち、同じセンサのサンプリングタイミングが異なる3つの出力信号の振幅が互いに等しいとみなすとともに、前記6つの数式に含まれている全ての磁極幅に関する情報が互いに等しいとみなすことにより、YをX以下にしている、請求項1に記載の回転角演算装置。
【請求項4】
請求項4記載の発明は、前記回転角検出装置の電源がオンした直後に、前記回転体を一時的に強制回転させ、前記演算手段によって前記回転体の回転角を演算させる手段をさらに含む、請求項1〜3のいずれか一項に記載の回転角検出装置。
【請求項5】
車両を換向するために操作される操舵部材と、
操舵補助力を発生させるための電動モータと、
入力軸、出力軸およびこれらの2つの軸を連結するトーションバーを含み、前記操舵部材および前記電動モータによって回転されるステアリングシャフトと、
前記入力軸または前記出力軸のうちのいずれか一方を回転体として、当該回転体の回転角を検出するための前記請求項1〜3のいずれか一項に記載の回転角演算装置と、
電源がオンされときに、前記電動モータを一時的に強制回転させて、前記回転角演算装置の前記演算装置によって前記回転体の回転角を演算させる手段と、を含む電動パワーステアリング装置。
【請求項6】
前記電動モータが一時的に強制回転されているときに、そのことを運転者に報知する報知手段をさらに含む、請求項5に記載の電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、回転体の回転角を検出する回転角検出装置およびそれを備えた電動パワーステアリング装置に関する。
【背景技術】
【0002】
回転体の回転角を検出する回転角検出装置として、ブラシレスモータの回転に応じて回転する検出用ロータを用いて、ブラシレスモータのロータの回転角を検出する回転角検出装置が知られている。具体的には、図22に示すように、検出用ロータ201(以下、「ロータ201」という)は、ブラシレスモータのロータに設けられている磁極対に相当する複数の磁極対を有する円筒状の磁石202を備えている。ロータ201の周囲には、2つの磁気センサ221,222が、ロータ201の回転中心軸を中心として所定の角度間隔をおいて配置されている。各磁気センサ221,222からは、所定の位相差を有する正弦波信号が出力される。これらの2つの正弦波信号に基づいて、ロータ201の回転角(ブラシレスモータのロータの回転角)が検出される。
【0003】
この例では、磁石202は、5組の磁極対を有している。つまり、磁石102は、等角度間隔で配置された10個の磁極を有している。各磁極は、ロータ201の回転中心軸を中心として、36°(電気角では180°)の角度間隔で配置されている。また、2つの磁気センサ221,222は、ロータ201の回転中心軸を中心として18°(電気角では90°)の角度間隔をおいて配置されている。
【0004】
図22に矢印で示す方向を検出用ロータ201の正方向の回転方向とする。そして、ロータ201が正方向に回転されるとロータ201の回転角が大きくなり、ロータ201が逆方向に回転されると、ロータ201の回転角が小さくなるものとする。各磁気センサ221,222からは、図23に示すように、ロータ201が1磁極対分に相当する角度(72°(電気角では360°))を回転する期間を一周期とする正弦波信号S,Sが出力される。
【0005】
ロータ201の1回転分の角度範囲を、5つの磁極対に対応して5つの区間に分け、各区間の開始位置を0°とし終了位置を360°として表したロータ201の回転角を、ロータ201の電気角θということにする。
ここでは、第1磁気センサ221からは、S=A・sinθの出力信号が出力され、第2磁気センサ222からは、S=A・cosθの出力信号が出力されるものとする。A,Aは、振幅である。両出力信号S,Sの振幅A,Aが互いに等しいとみなすと、ロータ201の電気角θは、両出力信号S,Sを用いて、次式に基づいて求めることができる。
【0006】
θ=tan−1(sinθ/cosθ)
=tan−1(S/S
このようにして、求められた電気角θを使って、ブラシレスモータを制御する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2008-26297号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
前述したような従来の回転角検出装置においては、両磁気センサ221,222の出力信号S,Sの振幅A,Aが等しいとみなして回転角θを演算しているが、両出力信号S,Sの振幅A,Aは、両磁気センサ221,222の温度特性のばらつきおよび温度変化に応じて変化する。このため、両磁気センサ221,222の温度特性のばらつきおよび温度変化によって、ロータの回転角の検出に誤差が発生する。
【0009】
この発明の目的は、精度の高い回転角を検出できる回転角検出装置およびそれを備えた電動パワーステアリング装置を提供することである。
【課題を解決するための手段】
【0010】
請求項1記載の発明は、回転体(8;9)の回転角を検出するための複数のセンサ(71,72,73;74,75,76)と、前記各センサの出力信号を所定時間毎にサンプリングするサンプリング手段(77A;77B)と、前記複数のセンサのうちの少なくとも2つのセンサにおける2以上の所定数の異なるタイミングでサンプリングされた複数の出力信号を用いて、前記回転体の回転角を演算する演算手段(77A;77B)とを含み、前記回転体の回転角の演算のために前記演算手段によって用いられる複数の出力信号の各々を数式化した場合において、得られた複数の数式の数をX、これらの数式に含まれる未知数の数をYとすると、YがXより大きいという条件を満たしており、前記演算手段は、前記複数の数式に含まれる未知数のうち、所定の複数の異なる未知数が互いに等しいとみなすことによってYをX以下とした後に、前記複数の数式からなる連立方程式を解くことにより、前記回転体の回転角を演算するように構成されている、回転角演算装置である。なお、括弧内の英数字は、後述の実施形態における対応構成要素等を表すが、むろん、この発明の範囲は当該実施形態に限定されない。以下、この項において同じ。
【0011】
この発明では、複数のセンサのうちの少なくとも2つのセンサにおける2以上の所定数の異なるタイミングでサンプリングされた複数の出力信号に基づいて回転体の回転角を演算しているので、前述した従来技術に比べて、精度の高い回転角を演算することが可能となる。また、この発明では、回転体の回転角の演算に用いられる数式の数Xが、これらの数式に含まれている未知数の数Yより少なくても、回転体の回転角を演算することができるので、回転体の回転角を演算するために用いられる数式の数を少なくすることが可能となる。
【0012】
請求項2記載の発明は、前記回転体の回転に応じて回転し、複数の磁極を有する多極磁石(61;62)を含み、前記複数のセンサは、前記多極磁石の回転に応じて、互いに所定の位相差を有する正弦波信号をそれぞれ出力する複数の磁気センサであり、前記演算手段は、前記複数のセンサのうちの2つのセンサにおける2つの異なるタイミングでサンプリングされた4つの出力信号を用いて、前記回転体の回転角を演算するように構成されており、前記複数の数式は前記4つの出力信号を数式化した4つの数式からなり、各数式は振幅および前記回転体の回転角を未知数として含んでおり、前記演算手段は、前記4つの数式に含まれる未知数のうち、同じセンサのサンプリングタイミングが異なる2つの出力信号の振幅が互いに等しいとみなすことによってYをX以下にしている、請求項1に記載の回転角演算装置である。
【0013】
この構成では、同じセンサのサンプリングタイミングが異なる2つの出力信号の振幅が互いに等しいとみなしている。同じセンサのサンプリングタイミングが異なる2つの出力信号の振幅は、温度変化の影響によって異なる値となる可能性がある。しかしながら、同じセンサの前記2つの出力信号のサンプリング間隔が小さいときには、その間の温度変化は非常に小さいので、前記2つの出力信号の振幅は等しいとみなすことができる。
【0014】
したがって、この構成では、同じセンサの前記2つの出力信号のサンプリング間隔を小さく設定した場合には、温度変化の影響による前記2つの出力信号の振幅のばらつきを補償することができる。また、この構成では、各センサ間の振幅は、別々の未知数として扱っているので、各センサ間の温度特性のばらつきの影響を補償することができる。これにより、精度の高い回転角を検出することができる。
【0015】
請求項3記載の発明は、前記回転体の回転に応じて回転し、複数の磁極を有する多極磁石(61;62)を含み、前記複数のセンサは、前記多極磁石の回転に応じて、互いに所定の位相差を有する正弦波信号をそれぞれ出力する複数の磁気センサであり、前記演算手段は、前記複数のセンサのうちの2つのセンサにおける3つの異なるタイミングでサンプリングされた6つの出力信号を用いて、前記回転体の回転角を演算するように構成されており、前記複数の数式は前記6つの出力信号を数式化した6つの数式からなり、各数式は振幅、前記回転体の回転角および前記多極磁石の各磁極の磁極幅に関する情報を未知数として含んでおり、前記演算手段は、前記6つの数式に含まれる未知数のうち、同じセンサのサンプリングタイミングが異なる3つの出力信号の振幅が互いに等しいとみなすとともに、前記6つの数式に含まれている全ての磁極幅に関する情報が互いに等しいとみなすことにより、YをX以下にしている、請求項1に記載の回転角演算装置である。
【0016】
この構成では、同じセンサのサンプリングタイミングが異なる3つの出力信号の振幅が互いに等しいとみなしている。同じセンサのサンプリングタイミングが異なる3つの出力信号の振幅は、温度変化の影響によって異なる値となる可能性がある。しかしながら、同じセンサの前記3つの出力信号のサンプリング間隔が小さいときには、その間の温度変化は非常に小さいので、前記3つの出力信号の振幅は等しいとみなすことができる。
【0017】
したがって、この構成では、同じセンサの前記3つの出力信号のサンプリング間隔を小さく設定した場合には、温度変化の影響による前記3つの出力信号の振幅のばらつきを補償することができる。また、この構成では、各センサ間の振幅は、別々の未知数として扱っているので、各センサ間の温度特性のばらつきの影響を補償することができる。これにより、精度の高い回転角を検出することができる。
【0018】
また、この構成では、回転角の演算に用いられる6つの数式に含まれている全ての磁極幅に関する情報が互いに等しいとみなしている。磁極の磁極幅に関する情報は、磁極毎に異なる。このため、回転角の演算に用いられる6つの出力信号を表す数式に含まれている磁極幅に関する情報は、全て同じ値であるとは限らない。しかしながら、回転角の演算に用いられる6つの出力信号を提供するセンサが、これら6つの出力信号がサンプリングされている間において同一磁極を検出し続けている場合には、これら6つの出力信号を表す数式に含まれている磁極幅に関する情報は全て同じ値となる。したがって、このような場合には、多極磁石の各磁極の磁極幅のばらつきをも補償できるので、精度のより高い回転角を検出することが可能となる。
【0019】
請求項4記載の発明は、前記回転角検出装置の電源がオンした直後に、前記回転体を一時的に強制回転させ、前記演算手段によって前記回転体の回転角を演算させる手段(12,77A,77B)をさらに含む、請求項1〜3のいずれか一項に記載の回転角検出装置である。
演算手段は、複数のセンサのうちの少なくとも2つのセンサにおける2以上の所定数の異なるタイミングでサンプリングされた複数の出力信号に基づいて回転体の回転角を演算するので、前記各センサの出力信号が変化していないときには、回転体の回転角を演算することができない。ただし、前回の回転角演算時から前記各センサの出力信号が変化していないときには、前回の回転角演算時から回転角が変化していないことでもあるため、前回に演算された回転角(回転角の前回値)を今回の回転角として用いることが可能である。しかしながら、電源がオンされた直後は、回転角の前回値は存在しないので、電源がオンされた直後から各センサの出力信号が変化しないときには、回転体の回転角を演算することができない。
【0020】
そこで、この構成では、電源がオンされたときには、回転体を一時的に強制回転させて、演算手段によって回転体の回転角を演算させるようにしている。このようにして、回転体の回転角が一旦演算された後においては、各センサの出力信号が変化していないときには、回転角の前回値を今回の回転角として用いることができる。これにより、電源がオンされた直後から、回転角を演算することが可能となる。
【0021】
請求項5記載の発明は、操舵部材(2)と、操舵補助力を発生するための電動モータ(18)と、入力軸(8)、出力軸(9)およびこれらの2つの軸を連結するトーションバー(10)を含み、前記操舵部材および前記電動モータによって回転されるステアリングシャフト(6)と、前記入力軸または前記出力軸のうちのいずれか一方を回転体として、当該回転体の回転角を検出するための前記請求項1〜3のいずれか一項に記載の回転角演算装置(61,71,72,73,77A;62,74,75,76,77B)と、電源がオンされときに、前記電動モータを一時的に強制回転させて、前記回転角演算装置の前記演算装置によって前記回転体の回転角を演算させる手段(12,77A,77B)と、を含む電動パワーステアリング装置である。
【0022】
この発明によれば、電源がオンされた直後から、入力軸または出力軸の回転角を演算することができ、しかも精度の高い回転角を演算することがてきる電動パワーステアリング装置を実現することができる。
請求項6記載の発明は、前記電動モータが一時的に強制回転されているときに、そのことを運転者に報知する報知手段をさらに含む、請求項5に記載の電動パワーステアリング装置である。電源がオンされときに、電動モータが一時的に強制回転されると、操舵部材が自動的に回転するので、運転者は何らかの故障が発生したと誤解するおそれがある。この構成では、電動モータが一時的に強制回転されていることが運転者に報知されるので、このような誤解が生じないようにできる。
【図面の簡単な説明】
【0023】
図1図1は、本発明の一実施形態に係る回転角検出装置が適用された電動パワーステアリング装置の概略構成を示す模式図である。
図2図2は、モータ制御用ECUの電気的構成を示す概略図である。
図3図3は、電動モータの構成を図解的に示す模式図である。
図4図4は、検出操舵トルクThに対するq軸電流指令値Iの設定例を示すグラフである。
図5図5は、トルクセンサの構成を図解的に示す模式図である。
図6図6は、第1の磁石の構成および2つの磁気センサの配置を示す模式図である。
図7図7は、第1磁気センサおよび第2磁気センサの出力波形を示す模式図である。
図8図8は、第1の回転角演算部の動作を示すフローチャートである。
図9図9は、図8のステップS1の強制回転に基づく回転角演算処理の手順を示すフローチャートである。
図10図10は、図8のステップS2の通常時の回転角演算処理の手順を示すフローチャートである。
図11図11は、図8のステップS2の通常時の回転角演算処理の他の例の手順を示すフローチャートである。
図12図12は、トルク演算用ECU内のメモリの内容の一部を示す模式図である。
図13図13は、相対的極番号の設定処理の詳細な手順を示すフローチャートである。
図14図14は、相対的極番号の設定処理を説明するための模式図である。
図15図15は、第1の磁石の構成および3つの磁気センサの配置を示す模式図である。
図16図16は、第1磁気センサ、第2磁気センサおよび第3磁気センサの出力波形を示す模式図である。
図17図17は、第1の回転角演算部の動作を示すフローチャートである。
図18図18は、図17のステップS72の通常時の回転角演算処理の手順を示すフローチャートである。
図19図19は、相対的極番号の設定処理の詳細な手順を示すフローチャートである。
図20図19は、相対的極番号の設定処理を説明するための模式図である。
図21A図21Aは、図17のステップS72の通常時の回転角演算処理の他の例の手順の一部を示すフローチャートである。
図21B図21Bは、図17のステップS72の通常時の回転角演算処理の他の例の手順の一部を示すフローチャートである。
図22図22は、従来の回転角検出装置による回転角検出方法を説明するための模式図である。
図23図23は、第1磁気センサおよび第2磁気センサの出力信号波形を示す模式図である。
【発明を実施するための形態】
【0024】
以下では、この発明の実施形態を、添付図面を参照して詳細に説明する。
図1は、本発明の一実施形態に係る回転角検出装置が適用された電動パワーステアリング装置の概略構成を示す模式図である。
電動パワーステアリング装置1は、車両を操向するための操舵部材としてのステアリングホイール2と、このステアリングホイール2の回転に連動して転舵輪3を転舵する転舵機構4と、運転者の操舵を補助するための操舵補助機構5とを備えている。ステアリングホイール2と転舵機構4とは、ステアリングシャフト6および中間軸7を介して機械的に連結されている。
【0025】
ステアリングシャフト6は、ステアリングホイール2に連結された入力軸8と、中間軸7に連結された出力軸9とを含む。入力軸8と出力軸9とは、トーションバー10を介して同一軸線上で相対回転可能に連結されている。すなわち、ステアリングホイール2が回転されると、入力軸8および出力軸9は、互いに相対回転しつつ同一方向に回転するようになっている。
【0026】
ステアリングシャフト6の周囲には、本発明の一実施形態に係る回転角検出装置が適用されたトルクセンサ(トルク検出装置)11が設けられている。トルクセンサ11は、入力軸8および出力軸9の相対回転変位量に基づいて、ステアリングホイール2に与えられた操舵トルクを検出する。トルクセンサ11によって検出される操舵トルクは、モータ制御用ECU(電子制御ユニット:Electronic Control Unit)12に入力される。
【0027】
転舵機構4は、ピニオン軸13と、転舵軸としてのラック軸14とを含むラックアンドピニオン機構からなる。ラック軸14の各端部には、タイロッド15およびナックルアーム(図示略)を介して転舵輪3が連結されている。ピニオン軸13は、中間軸7に連結されている。ピニオン軸13は、ステアリングホイール2の操舵に連動して回転するようになっている。ピニオン軸13の先端には、ピニオン16が連結されている。
【0028】
ラック軸14は、自動車の左右方向(直進方向に直交する方向)に沿って直線状に延びている。ラック軸14の軸方向の中間部には、ピニオン16に噛み合うラック17が形成されている。このピニオン16およびラック17によって、ピニオン軸13の回転がラック軸14の軸方向移動に変換される。ラック軸14を軸方向に移動させることによって、転舵輪3を転舵することができる。
【0029】
ステアリングホイール2が操舵(回転)されると、この回転が、ステアリングシャフト6および中間軸7を介して、ピニオン軸13に伝達される。そして、ピニオン軸13の回転は、ピニオン16およびラック17によって、ラック軸14の軸方向移動に変換される。これにより、転舵輪3が転舵される。
操舵補助機構5は、操舵補助力を発生するための電動モータ18と、電動モータ18の出力トルクを転舵機構4に伝達するための減速機構19とを含む。電動モータ18は、この実施形態では、三相ブラシレスモータからなる。減速機構19は、ウォーム軸20と、このウォーム軸20と噛み合うウォームホイール21とを含むウォームギヤ機構からなる。減速機構19は、伝達機構ハウジングとしてのギヤハウジング22内に収容されている。
【0030】
ウォーム軸20は、電動モータ18によって回転駆動される。また、ウォームホイール21は、ステアリングシャフト6とは同方向に回転可能に連結されている。ウォームホイール21は、ウォーム軸20によって回転駆動される。
電動モータ18によってウォーム軸20が回転駆動されると、ウォームホイール21が回転駆動され、ステアリングシャフト6が回転する。そして、ステアリングシャフト6の回転は、中間軸7を介してピニオン軸13に伝達される。ピニオン軸13の回転は、ラック軸14の軸方向移動に変換される。これにより、転舵輪3が転舵される。すなわち、電動モータ18によってウォーム軸20を回転駆動することによって、転舵輪3が転舵されるようになっている。
【0031】
電動モータ18のロータの回転角(ロータ回転角)は、レゾルバ等の回転角センサ25によって検出される。回転角センサ25の出力信号は、モータ制御用ECU12に入力される。電動モータ18は、モータ制御装置としてのモータ制御用ECU12によって制御される。
図2は、モータ制御用ECU12の電気的構成を示す概略図である。
【0032】
モータ制御用ECU12は、トルクセンサ11によって検出される操舵トルクThに応じて電動モータ18を駆動することによって、操舵状況に応じた適切な操舵補助を実現する。モータ制御用ECU12は、マイクロコンピュータ40と、マイクロコンピュータ40によって制御され、電動モータ18に電力を供給する駆動回路(インバータ回路)31と、電動モータ18に流れるモータ電流を検出する電流検出部32とを備えている。
【0033】
電動モータ18は、例えば三相ブラシレスモータであり、図3に図解的に示すように、界磁としてのロータ100と、U相、V相およびW相のステータ巻線101,102,103を含むステータ105とを備えている。電動モータ18は、ロータの外部にステータを対向配置したインナーロータ型のものであってもよいし、筒状のロータの内部にステータを対向配置したアウターロータ型のものであってもよい。
【0034】
各相のステータ巻線101,102,103の方向にU軸、V軸およびW軸をとった三相固定座標(UVW座標系)が定義される。また、ロータ100の磁極方向にd軸(磁極軸)をとり、ロータ100の回転平面内においてd軸と直角な方向にq軸(トルク軸)をとった二相回転座標系(dq座標系。実回転座標系)が定義される。dq座標系は、ロータ100とともに回転する回転座標系である。dq座標系では、q軸電流のみがロータ100のトルク発生に寄与するので、d軸電流を零とし、q軸電流を所望のトルクに応じて制御すればよい。ロータ100の回転角(電気角)θ-Sは、U軸に対するd軸の回転角である。dq座標系は、ロータ角θ-Sに従う実回転座標系である。このロータ角θ-Sを用いることによって、UVW座標系とdq座標系との間での座標変換を行うことができる。
【0035】
マイクロコンピュータ40は、CPUおよびメモリ(ROM、RAM、不揮発性メモリなど)を備えており、所定のプログラムを実行することによって、複数の機能処理部として機能するようになっている。この複数の機能処理部には、電流指令値設定部41と、電流偏差演算部42と、PI(比例積分)制御部43と、dq/UVW変換部44と、PWM(Pulse Width Modulation)制御部45と、UVW/dq変換部46と、回転角演算部47とを含む。
【0036】
回転角演算部47は、回転角センサ25の出力信号に基づいて、電動モータ18のロータの回転角(電気角。以下、「ロータ角θ」という。)を演算する。
電流指令値設定部41は、dq座標系の座標軸に流すべき電流値を電流指令値として設定する。具体的には、電流指令値設定部41は、d軸電流指令値Iおよびq軸電流指令値I(以下、これらを総称するときには「二相電流指令値Idq」という。)を設定する。さらに具体的には、電流指令値設定部41は、q軸電流指令値Iを有意値とする一方で、d軸電流指令値Iを零とする。より具体的には、電流指令値設定部41は、トルクセンサ11によって検出される操舵トルク(検出操舵トルク)Thに基づいて、q軸電流指令値Iを設定する。
【0037】
検出操舵トルクThに対するq軸電流指令値Iの設定例は、図4に示されている。検出操舵トルクThは、たとえば、右方向への操舵のためのトルクが正の値にとられ、左方向への操舵のためのトルクが負の値にとられている。また、q軸電流指令値Iは、電動モータ18から右方向操舵のための操作補助力を発生させるべきときには正の値とされ、電動モータ18から左方向操舵のための操作補助力を発生させるべきときには負の値とされる。q軸電流指令値Iは、検出操舵トルクThの正の値に対しては正をとり、検出操舵トルクThの負の値に対しては負をとる。検出操舵トルクThが零のときには、q軸電流指令値Iは零とされる。そして、検出操舵トルクThの絶対値が大きくなるほど、q軸電流指令値Iの絶対値が大きくなるように、q軸電流指令値Iが設定されている。
【0038】
電流指令値設定部41によって設定された二相電流指令値Idqは、電流偏差演算部42に与えられる。
電流検出部32は、電動モータ18のU相電流I、V相電流IおよびW相電流I(以下、これらを総称するときは、「三相検出電流IUVW」という。)を検出する。電流検出部32によって検出された三相検出電流IUVWは、UVW/dq変換部46に与えられる。
【0039】
UVW/dq変換部46は、電流検出部32によって検出されるUVW座標系の三相検出電流IUVW(U相電流I、V相電流IおよびW相電流I)を、dq座標系の二相検出電流IおよびI(以下総称するときには「二相検出電流Idq」という。)に座標変換する。この座標変換には、回転角演算部47によって演算されたロータ角θが用いられる。
【0040】
電流偏差演算部42は、電流指令値設定部41によって設定される二相電流指令値Idqと、UVW/dq変換部46から与えられる二相検出電流Idqとの偏差を演算する。より具体的には、電流偏差演算部42は、d軸電流指令値Iに対するd軸検出電流Iの偏差およびq軸電流指令値Iに対するq軸検出電流Iの偏差を演算する。これらの偏差は、PI制御部43に与えられる。
【0041】
PI制御部43は、電流偏差演算部42によって演算された電流偏差に対するPI演算を行なうことにより、電動モータ18に印加すべき二相電圧指令値Vdq(d軸電圧指令値Vおよびq軸電圧指令値V)を生成する。この二相電圧指令値Vdqは、dq/UVW変換部44に与えられる。
dq/UVW変換部44は、二相電圧指令値Vdqを三相電圧指令値VUVWに座標変換する。この座標変換には、回転角演算部47によって演算されたロータ角θが用いられる。三相電圧指令値VUVWは、U相電圧指令値V、V相電圧指令値VおよびW相電圧指令値Vからなる。この三相電圧指令値VUVWは、PWM制御部45に与えられる。
【0042】
PWM制御部45は、U相電圧指令値V、V相電圧指令値VおよびW相電圧指令値Vにそれぞれ対応するデューティのU相PWM制御信号、V相PWM制御信号およびW相PWM制御信号を生成し、駆動回路31に供給する。
駆動回路31は、U相、V相およびW相に対応した三相インバータ回路からなる。このインバータ回路を構成するパワー素子がPWM制御部45から与えられるPWM制御信号によって制御されることにより、三相電圧指令値VUVWに相当する電圧が電動モータ18の各相のステータ巻線101,102、103に印加されることになる。
【0043】
電流偏差演算部42およびPI制御部43は、電流フィードバック制御手段を構成している。この電流フィードバック制御手段の働きによって、電動モータ18に流れるモータ電流が、電流指令値設定部41によって設定された二相電流指令値Idqに近づくように制御される。
図5は、トルクセンサ11の構成を図解的に示す模式図である。
【0044】
入力軸8には、環状の第1の磁石(多極磁石)61が一体回転可能に連結されている。第1の磁石61の下側には、第1の磁石61の回転に応じて互いに位相差を有する正弦波状の信号をそれぞれ出力する2つの磁気センサ71,72が配置されている。
出力軸9には、環状の第2の磁石(多極磁石)62が一体回転可能に連結されている。第2の磁石62の上側には、第2の磁石62の回転に応じて互いに位相差を有する正弦波状の信号をそれぞれ出力する2つの磁気センサ74,75が配置されている。
【0045】
各磁気センサ71,72,74,75の出力信号S,S,S,Sは、入力軸8に加えられる操舵トルクを演算するためのトルク演算用ECU77に入力されている。トルク演算用ECU77の電源は、イグニッションキーがオン操作されることによってオンとなる。イグニッションキーがオフ操作されたときには、そのことを示すイグニッションキーオフ操作信号が、トルク演算用ECU77に入力される。なお、磁気センサとしては、たとえば、ホール素子、磁気抵抗素子(MR素子)等、磁界の作用により電気的特性が変化する特性を有する素子を備えたものを用いることができる。この実施形態では、磁気センサとしては、ホール素子が用いられている。
【0046】
前記磁石61,62、前記磁気センサ71,72,74,75およびトルク演算用ECU77によって、トルクセンサ11が構成されている。
トルク演算用ECU77は、マイクロコンピュータを含んでいる。マイクロコンピュータは、CPUおよびメモリ(ROM,RAM,不揮発性メモリ等)を備えており、所定のプログラムを実行することによって、複数の機能処理部として機能する。この複数の機能処理部には、第1の回転角演算部77Aと、第2の回転角演算部77Bと、トルク演算部77Cとを含んでいる。
【0047】
第1の回転角演算部77Aは、2つの磁気センサ71,72の出力信号S,Sに基づいて入力軸8の回転角(電気角θ)を演算する。第2の回転角演算部77Bは、2つの磁気センサ74,75の出力信号S,Sに基づいて出力軸9の回転角(電気角θ)を演算する。
トルク演算部77Cは、第1の回転角演算部77Aによって検出された入力軸8の回転角θと第2の回転角演算部77Bによって検出された出力軸9の回転角θとに基づいて、入力軸8に加えられた操舵トルクThを演算する。具体的には、操舵トルクThは、トーションバー10のバネ定数をKとし、各磁石61,62に設けられた磁極対数をNとすると、次式(1)に基づいて演算される。
【0048】
Th={(θ−θ)/N}×K …(1)
第1の磁石61、磁気センサ71,72および第1の回転角演算部77Aによって、入力軸8の回転角θを検出するための第1の回転角検出装置が構成されている。また、第2の磁石62、磁気センサ74,75および第2の回転角演算部77Bによって、出力軸9の回転角θを検出するための第2の回転角検出装置が構成されている。第1の回転角検出装置(第1の回転角演算部77A)の動作と第2の回転角検出装置(第2の回転角演算部77B)動作は同様であるので、以下、第1の回転角検出装置(第1の回転角演算部77A)の動作についてのみ説明する。
【0049】
図6は、第1の磁石61の構成および2つの磁気センサの配置を示す模式図である。
第1の磁石61は、周方向に等角度間隔で配された4組の磁極対(M1,M2),(M3,M4),(M5,M6),(M7,M8)を有している。つまり、第1の磁石61は、等角度間隔で配置された8個の磁極M1〜M8を有している。各磁極M1〜M8は、入力軸8の中心軸を中心として、ほぼ45°(電気角ではほぼ180°)の角度間隔(角度幅)で配置されている。各磁極M1〜M8の磁力の大きさは、ほぼ一定である。
【0050】
2つの磁気センサ71,72は、第1の磁石61の下側の環状端面に対向して、配置されている。これらの磁気センサ71,72は、入力軸8の中心軸を中心として電気角で120°の角度間隔で配置されている。以下において、一方の磁気センサ71を第1磁気センサ71といい、他方の磁気センサ72を第2磁気センサ72という場合がある。
図6に矢印で示す方向を入力軸8の正方向の回転方向とする。そして、入力軸8が正方向に回転されると入力軸8の回転角が大きくなり、入力軸8が逆方向に回転されると、入力軸2の回転角が小さくなるものとする。各磁気センサ71,72からは、図7に示すように、入力軸8の回転に伴って、正弦波状の信号S,Sが出力される。なお、図6の横軸の回転角[deg]は、機械角を表している。
【0051】
以下において、第1磁気センサ71の出力信号Sを第1出力信号Sまたは第1センサ値Sといい、第2磁気センサ72の出力信号Sを第2出力信号Sまたは第2センサ値Sという場合がある。
以下においては、説明の便宜上、入力軸8の回転角をθではなく、θで表すことにする。各出力信号S,Sが正弦波信号であるとみなし、入力軸8の回転角をθ(電気角)とすると、第1磁気センサ71の出力信号Sは、S=A・sinθと表され、第2磁気センサ72の出力信号Sは、S=A・sin(θ+120)と表される。A,Aは、それぞれ振幅を表している。第1出力信号Sと第2出力信号Sとの位相差は120度である。
【0052】
第1の回転角演算部77Aによる回転角θの演算方法の基本的な考え方について説明する。回転角θを演算する方法には、2通りの方法がある。一番目は、2つの磁気センサ71,72における2サンプリング分の出力信号に基づいて回転角θを演算する方法(以下、「第1演算方法」という。)である。二番目は、2つの磁気センサ71,72における3サンプリング分の出力信号に基づいて回転角θを演算する方法(以下、「第2演算方法」という)である。
【0053】
まず、第1演算方法の基本的な考え方について説明する。第1出力信号Sと第2出力信号Sとの位相差(電気角)をCで表すことにする。また、今回のサンプリング周期の番号(今回の演算周期の番号)を[n]、前回のサンプリング周期の番号(前回の演算周期の番号)を[n-1]で表すことにする。
位相差Cおよびサンプリング周期の番号[n],[n-1]を用いると、今回サンプリングされた第1出力信号S、前回サンプリングされた第1出力信号S、今回サンプリングされた第2出力信号Sおよび前回サンプリングされた第2出力信号Sを、それぞれ次式(2a),(2b),(2c),(2d)で表すことができる。
【0054】
[n]=A[n]sinθ[n] …(2a)
[n-1]=A[n-1]sinθ[n-1] …(2b)
[n]=A[n]sin(θ[n]+C) …(2c)
[n-1]=A[n-1]sin(θ[n-1]+C) …(2d)
Cが既知であるとすると、これら4つの式に含まれる未知数(A[n],A[n-1],A[n],A[n-1],θ[n],θ[n-1])の数は6となる。つまり、未知数の数が方程式の数より多いため、このままでは、4つの式からなる連立方程式を解くことができない。
【0055】
そこで、サンプリング間隔(サンプリング周期)を短く設定することにより、2サンプリング間の温度変化による振幅の変化がないとみなす。つまり、2サンプリング間の第1磁気センサ71の出力信号の振幅A[n],A[n-1]が互いに等しいとみなして、これらをAで表すことにする。同様に、2サンプリング間の第2磁気センサ72の出力信号の振幅A[n],A[n-1]が互いに等しいとみなし、これらをAで表すことにする。これにより、前記式(2a),(2b),(2c)および(2d)を、それぞれ次式(3a),(3b),(3c)および(3d)で表わすことができる。
【0056】
[n]=Asinθ[n] …(3a)
S1[n-1]=Asinθ[n-1] …(3b)
[n]=Asin(θ[n]+C) …(3c)
[n-1]=Asin(θ[n-1]+C) …(3d)
これら4つの式に含まれる未知数(A,A,θ[n],θ[n-1])の数は4となる。つまり、未知数の数が方程式の数以下となるため、4つの式からなる連立方程式を解くことができる。したがって、前記4つの式(3a),(3b),(3c)および(3d) からなる連立方程式を解くことにより、入力軸8の回転角θ[n]を演算することができる。
【0057】
以下、両磁気センサ71,72間の位相差Cが120度である場合について、具体的に説明する。位相差Cが120度である場合には、前記4つの式(3a),(3b),(3c)および(3d)は、それぞれ次式(4a),(4b),(4c)および(4d)で表わすことができる。
[n]=Asinθ[n] …(4a)
[n-1]=Asinθ[n-1] …(4b)
[n]=Asin(θ[n]+120) …(4c)
[n-1]=Asin(θ[n-1]+120) …(4d)
前記4つの式(4a),(4b),(4c)および(4d)からなる連立方程式を解くと、入力軸8の回転角θ[n]は、次式(5) (以下、「基本演算式(5)」という。)で表わされる。
【0058】
【数1】
【0059】
したがって、両磁気センサ間の位相差Cが120度である場合には、4つのセンサ値S[n],S[n-1],S[n],S[n-1]と基本演算式(5)を用いて、入力軸8の回転角θ[n]を演算することができる。
ただし、基本演算式(5) に含まれている分数のいずれかの分母が零になる場合には、基本演算式(5)に基づいて回転角θ[n]を演算することはできない。そこで、この実施形態では、基本演算式(5) に含まれている分数のいずれかの分母が零になる場合には、基本演算式(5)とは異なる演算式によって回転角θ[n]を演算するようにしている。さらに、この実施形態では、基本演算式(5)によって回転角θ[n]を演算することができるけれども、より簡単な演算式によって回転角θ[n]を演算できる場合には、基本演算式(5)とは異なる演算式によって回転角θ[n]を演算するようにしている。この実施形態では、基本演算式(5)より簡単に回転角θ[n]を演算できる場合とは、S[n]=0の場合またはS[n]=0の場合である。
【0060】
この実施形態では、回転角θ[n]を演算するための演算式として、基本演算式(5)を含めて10種類の演算式が用意されている。表1は、10種類の演算式と、その演算式が適用される条件とを示している。なお、回転角θ[n]を演算する際には、表1の上から順番にその条件を満たしているか否かが判別され、条件を満たしたと判別されるとそれ以降の条件判別は行われず、当該条件に対応する演算式により、回転角θ[n]が演算される。
【0061】
【表1】
【0062】
表1の上から1番目の演算式は、基本演算式(5)である。基本演算式(5)は、S[n]およびS[n]のいずれもが零でなく、かつ基本演算式(5) に含まれている分数のいずれの分母も零でないという条件を満たしている場合に、適用される。基本演算式(5)に含まれている分数のいずれの分母も零でないという条件は、p−p≠0でかつ、p+p+p≠0でかつ、S[n-1]≠0でかつS[n-1]≠0である場合に満たされる。なお、S[n-1]はpの分母であり、S[n-1]はpの分母である。
【0063】
ただし、p+p+p=0が成立するのは、p=p=0の場合だけであるが、第1磁気センサ71と第2磁気センサ72とは位相が120度ずれているため、両磁気センサ71,72のセンサ値S,Sが同時に零になることはない。このため、p+p+p=0が成立することはない。したがって、基本演算式(5)に含まれている分数のいずれの分母も零でないという条件は、p−p≠0でかつ、S[n-1]≠0でかつS[n-1]≠0である場合に満たされる。
【0064】
表1の上から2番目の演算式は、p−p=0である場合に適用される演算式である。p−p=0が成立する場合について検討する。この場合には、p=pであるから、次式(6)が成立する。
【0065】
【数2】
【0066】
これを変形すると、次式(7)が得られる。
【0067】
【数3】
【0068】
前記式(7)が成立する場合とは、θ[n]とθ[n-1]とが等しい場合である。つまり、今回の回転角θ[n]が前回の回転角θ[n-1]に等しい場合である。そこで、S[n]およびS[n]のいずれもが零でなく、かつpの分母S[n-1]およびpの分母S[n-1]のいずれもが零でなく、かつp−p=0であるという条件を満たした場合には、前回に演算された回転角θ[n-1]が今回の回転角θ[n]として用いられる。
【0069】
表1の上から3番目および4番目の演算式は、pの分母S[n-1]が零となる場合に適用される演算式である。S[n-1]=Asinθ[n-1]であるので、sinθ[n-1]=0のときに、S[n-1]=0となる。つまり、θ[n-1]が0度または180度のときに、S[n-1]が零となる。S[n-1]=Asin(θ[n-1]+120)であるので、θ[n-1]が0度のときにはS[n-1]>0となり、θ[n-1]が180度のときにはS[n-1]<0となる。したがって、S[n-1]=0でかつS[n-1]>0のときにはθ[n-1]=0となり、S[n-1]=0でかつS[n-1]<0のときにはθ[n-1]=180となる。
【0070】
θ[n-1]=0である場合には、前記式 (4c),(4d)は、それぞれ次式(8c),(8d)で表される。
[n]=Asin(θ[n]+120) …(8c)
[n-1]=Asin120=√3/2・ A…(8d)
前記式(8d)から、次式(9)が得られる。
【0071】
=(2/√3)・S[n-1] …(9)
前記式(9)を前記式(8c)に代入すると、次式(10)が得られる。
sin(θ[n]+120)=(√3/2)・(S[n]/S[n-1]) …(10)
したがって、回転角θ[n]は、次式(11)により演算することができる。
【0072】
【数4】
【0073】
つまり、表1の上から3番目に示すように、S[n]およびS[n]のいずれもが零でなく、かつpの分母S[n-1]が零でなく、かつpの分母S[n-1]が零であり、かつS[n-1]>0であるという条件を満たした場合には、前記式(11)で表される演算式に基づいて回転角θ[n]が演算される。
一方、θ[n-1]=180である場合には、前記式 (4c),(4d)は、それぞれ次式(12c),(12d)で表される。
【0074】
[n]=Asin(θ[n]+120) …(12c)
[n-1]=Asin300=−√3/2・ A…(12d)
前記式(12d)から、次式(13)が得られる。
=(−2/√3)・S[n-1] …(13)
前記式(13)を前記式(12c)に代入すると、次式(14)が得られる。
【0075】
sin(θ[n]+120)=(−√3/2)・(S[n]/S[n-1]) …(14)
したがって、回転角θ[n]は、次式(15)により演算することができる。
【0076】
【数5】
【0077】
つまり、表1の上から4番目に示すように、S[n]およびS[n]のいずれもが零でなく、かつpの分母S[n-1]が零でなく、かつpの分母S[n-1]が零であり、かつS[n-1]<0であるという条件を満たした場合には、前記式(15)で表される演算式に基づいて回転角θ[n]が演算される。
表1の上から5番目および6番目の演算式は、S[n]=0となる場合に適用される演算式である。S[n]=Asin(θ[n]+120)であるので、sin(θ[n]+120)=0のときに、S[n]=0となる。つまり、θ[n]が−120度または60度のときに、S[n]=0となる。S[n]=Asinθ[n]であるので、θ[n]が−120度のときにはS[n]<0となり、θ[n]が60度のときにはS[n]>0となる。したがって、S[n]=0でかつS[n]>0のときにはθ[n]=60となり、S[n]=0でかつS[n]<0であればθ[n]=−120となる。
【0078】
つまり、表1の上から5番目に示すように、S[n]が零でなく、かつpの分母S[n-1]が零でなく、かつS[n]=0であり、かつS[n]>0であるという条件を満たした場合には、回転角θ[n]は60度として演算される。また、表1の上から6番目に示すように、S[n]が零でなく、かつpの分母S[n-1]が零でなく、かつS[n]=0であり、かつS[n]>0であるという条件を満たした場合には、回転角θ[n]は−120度として演算される。
【0079】
表1の上から7番目および8番目の演算式は、pの分母S[n-1]が零となる場合に適用される演算式である。S[n-1]=Asin(θ[n-1]+120)であるので、sin(θ[n-1]+120)=0のときに、S[n-1]=0となる。つまり、θ[n-1]が−120度または60度のときに、S[n-1]が零となる。S[n-1]=Asinθ[n-1]であるので、θ[n-1]が−120度のときにはS[n-1]<0となり、θ[n-1]が60度のときにはS[n-1]>0となる。したがって、S[n-1]=0でかつS[n-1]>0のときにはθ[n-1]=60となり、S[n-1]=0でかつS[n-1]<0のときにはθ[n-1]=−120となる。
【0080】
θ[n-1]=60である場合には、前記式 (4a),(4b)は、それぞれ次式 (16a),(16b)で表される。
[n]=Asinθ[n] …(16a)
[n-1]=Asin60=√3/2・ A…(16b)
前記式(16b)から、次式(17)が得られる。
【0081】
=(2/√3)・S[n-1] …(17)
前記式(17)を前記式(16a)に代入すると、次式(18)が得られる。
sinθ[n]=(√3/2)・(S[n]/S[n-1]) …(18)
したがって、回転角θ[n]は、次式(19)により演算することができる。
【0082】
【数6】
【0083】
つまり、表1の上から7番目に示すように、S[n]が零でなく、かつpの分母S[n-1]が零であり、かつS[n-1]>0であるという条件を満たした場合には、前記式(19)で表される演算式に基づいて回転角θ[n]が演算される。
一方、θ[n-1]=−120である場合には、前記式 (4a),(4b)は、それぞれ次式 (20a),(20b)で表される。
【0084】
[n]=Asinθ[n] …(20a)
[n-1]=Asin(−120)=−√3/2・ A …(20b)
前記式(20b)から、次式(21)が得られる。
=(−2/√3)・S[n-1] …(21)
前記式(21)を前記式(20a)に代入すると、次式(22)が得られる。
【0085】
sinθ[n]=(−√3/2)・(S[n]/S[n-1]) …(22)
したがって、回転角θ[n]は、次式(23)により演算することができる。
【0086】
【数7】
【0087】
つまり、表1の上から8番目に示すように、S[n]が零でなく、かつpの分母S[n-1]が零であり、かつS[n-1]<0であるという条件を満たした場合には、前記式(23)で表される演算式に基づいて回転角θ[n]が演算される。
表1の上から9番目および10番目の演算式は、S[n]=0となる場合に適用される演算式である。S[n]=Asinθ[n]であるので、sinθ[n]=0のときに、S[n]=0となる。つまり、θ[n]が0度または180度のときに、S[n]=0となる。S[n]=Asin(θ[n]+120]であるので、θ[n]が0度のときにはS[n]>0となり、θ[n]が180度のときにはS[n]<0となる。したがって、S[n]=0でかつS[n]>0であればθ[n]=0となり、S[n]=0でかつS[n]<0であればθ[n]=180となる。
【0088】
つまり、表1の上から9番目に示すように、S[n]が零であり、かつS[n]>0であるという条件を満たした場合には、回転角θ[n]は0度として演算される。また、表1の上から10番目に示すように、S[n]が零であり、かつS[n]<0であるという条件を満たした場合には、回転角は180度として演算される。
第1演算方法では、2つの磁気センサ71,72における2サンプリング分の出力信号に基づいて入力軸8の回転角θ[n]を演算しているので、精度の高い回転角を演算することが可能となる。また、第1演算方法では、入力軸8の回転角θ[n]の演算に用いられる数式の数が、これらの数式に含まれている本来の未知数の数より少なくても、入力軸8の回転角θ[n]を演算することができるので、入力軸8の回転角θ[n]を演算するために必要なセンサ値の数を少なくすることが可能となる。
【0089】
第1演算方法では、サンプリング周期を短く設定することによって、2サンプリング間での同じ磁気センサの出力信号の振幅(A[n]とA[n-1],A[n]とA[n-1])が互いに等しいとみなしている。2サンプリング間での同じ磁気センサの出力信号の振幅は、温度変化の影響によって異なる値となる可能性がある。しかしながら、サンプリング間隔が小さい場合には、2サンプリング間の温度変化は非常に小さいので、2サンプリング間での同じ磁気センサの出力信号の振幅は等しいとみなすことができる。したがって、第1演算方法では、2サンプリング間での温度変化の影響による振幅のばらつきを補償することができる。また、第1演算方法では、磁気センサ71,72間の振幅A,Aは、別々の未知数として扱っているので、各磁気センサ71,72間の温度特性のばらつきの影響を補償することができる。これにより、精度の高い回転角を検出することができる。
【0090】
次に、第2演算方法の基本的な考え方について説明する。第1出力信号Sと第2出力信号Sとの位相差(電気角)をCで表すことにする。また、今回のサンプリング周期の番号(今回の演算周期の番号)を[n]、前回のサンプリング周期の番号を[n-1]、前々回のサンプリング周期の番号を[n-2]で表すことにする。また、各磁極M1〜M8の角度幅(磁極幅)のばらつきに基づく回転角演算誤差を補正するための補正値を、角度幅誤差補正値といい、Eで表すことにする。
【0091】
位相差C、サンプリング周期の番号[n],[n-1],[n-2]および角度幅誤差補正値Eを用いると、今回、前回および前々回にサンプリングされた第1出力信号Sならびに今回、前回および前々回にサンプリングされた第2出力信号Sを、それぞれ次式(24a),(24b),(24c),(24d),(24e),(24f)で表すことができる。
[n]=A[n]sin(E[n]θ[n]) …(24a)
[n-1]=A[n-1]sin(E[n-1]θ[n-1]) …(24b)
[n-2]=A[n-2]sin(E[n-2]θ[n-2]) …(24c)
[n]=A[n]sin(E[n]θ[n]+C) …(24d)
[n-1]=A[n-1]sin(E[n-1]θ[n-1]+C) …(24e)
[n-2]=A[n-2]sin(E[n-2]θ[n-2]+C) …(24f)
前記式(24a)〜(24f)において、E[x]は、x番目の演算周期において第1磁気センサ71が検出している磁極に対応する角度幅誤差補正値である。E[x]は、x番目の演算周期において第2磁気センサ72が検出している磁極に対応する角度幅誤差補正値である。
【0092】
ある磁極の角度幅をw(電気角)とすると、その磁極の角度幅誤差θerr(電気角)は、次式(25)で定義される。
θerr=w−180 …(25)
その磁極に対する角度幅誤差補正値Eは、次式(26)で定義される。
E=180/w
=180/(θerr+180) …(26)
各磁極の角度幅誤差補正値Eは、各磁極の磁極幅に関する情報である。なお、各磁極の磁極幅に関する情報は、各磁極の角度幅wであってもよいし、各磁極の角度幅誤差θerrであってもよい。
【0093】
Cが既知であるとすると、前記式(24a)〜(24f)で表される6つの式に含まれる未知数の数は16となる。つまり、未知数の数が方程式の数より多いため、このままでは、6つの式からなる連立方程式を解くことができない。
そこで、サンプリング間隔(サンプリング周期)を短く設定することにより、3サンプリング間の温度変化による振幅の変化がないとみなす。つまり、3サンプリング間の第1磁気センサ71の出力信号の振幅A[n],A[n-1],A[n-2]が互いに等しいとみなして、これらをAとする。同様に、3サンプリング間の第2磁気センサ72の出力信号の振幅A[n],A[n-1],A[n-2]が互いに等しいとみなし、これらをAとする。
【0094】
さらに、3サンプリング間において、両磁気センサ71,72が共に同じ1つの磁極を検出しているとみなす。つまり、3サンプリング分の両磁気センサ71,72の出力信号に含まれている角度幅誤差補正値E[n],E[n-1],E[n-2],E[n],E[n-1],E[n-2]の全てが同じ磁極に対応する角度幅誤差補正値であるとみなし、Eで表すことにする。これにより、前記式(24a)〜(24f)を、それぞれ次式(27a)〜(27f)で表わすことができる。
【0095】
[n]=Asin(Eθ[n]) …(27a)
[n-1]=Asin(Eθ[n-1]) …(27b)
[n-2]=Asin(Eθ[n-2]) …(27c)
[n]=Asin(Eθ[n]+C) …(27d)
[n-1]=Asin(Eθ[n-1]+C) …(27e)
[n-2]=Asin(Eθ[n-2]+C) …(27f)
これら6つの式に含まれる未知数(A,A,E,θ[n],θ[n-1],θ[n-2])の数は6となる。つまり、未知数の数が方程式の数以下となるため、6つの式からなる連立方程式を解くことができる。したがって、前記6つの式(27a)〜(27f) からなる連立方程式を解くことにより、入力軸8の回転角θ[n]を演算することができる。
【0096】
以下、両磁気センサ間の位相差Cが120度である場合について、具体的に説明する。位相差Cが120度である場合には、前記6つの式(27a)〜(27f) は、それぞれ次式(28a)〜(28f)で表わすことができる。
[n]=Asin(Eθ[n]) …(28a)
[n-1]=Asin(Eθ[n-1]) …(28b)
[n-2]=Asin(Eθ[n-2]) …(28c)
[n]=Asin(Eθ[n]+120) …(28d)
[n-1]=Asin(Eθ[n-1]+120) …(28e)
[n-2]=Asin(Eθ[n-2]+120) …(28f)
前記基本演算式(5)より、Eθ[n]は次式(29)で表される。
【0097】
【数8】
【0098】
また、前記6つの式(28a)〜(28f)からなる連立方程式を解くことにより、角度幅誤差補正値Eは、次式(30)で表わされる。
【0099】
【数9】
【0100】
したがって、前記式(29)により演算されたEθ[n]を、前記式(30)により演算された角度幅誤差補正値Eで除することにより、θ[n]を求めることができる。つまり、次式(31)により、θ[n]を求めることができる。
θ[n]=Eθ[n]/E …(31)
ただし、Eθ[n]については、前記表1にしたがって、条件に応じた演算式に基づいて演算を行う。また、角度幅誤差補正値Eについては、前記式(30) に含まれている分数のいずれかの分母が零になる場合には、前記式(30)に基づいて角度幅誤差補正値Eを演算することができない。そこで、この実施形態では、前記式(30) に含まれている分数のいずれかの分母が零になる場合には、前回に演算された角度幅誤差補正値Eを今回の角度幅誤差補正値Eとして用いるようにしている。
【0101】
なお、前記式(30) に含まれている分数のいずれかの分母が零になる場合とは、次式(32),(33),(34)でそれぞれ表される3つの条件のうちの少なくとも1つの条件を満たす場合である。
【0102】
【数10】
【0103】
第2演算方法では、2つの磁気センサ71,72における3サンプリング分の出力信号に基づいて入力軸8の回転角θ[n]を演算しているので、精度の高い回転角を演算することが可能となる。また、第2演算方法では、入力軸8の回転角θ[n]の演算に用いられる数式の数が、これらの数式に含まれている本来の未知数の数より少なくても、入力軸8の回転角θ[n]を演算することができるので、入力軸8の回転角θ[n]を演算するために必要なセンサ値の数を少なくすることが可能となる。
【0104】
第2演算方法では、3サンプリング間での同じ磁気センサの出力信号の振幅(A[n]とA[n-1] とA[n-2],A[n]とA[n-1] とA[n-2])が互いに等しいとみなしている。3サンプリング間での同じ磁気センサの出力信号の振幅は、温度変化の影響によって異なる値となる可能性がある。しかしながら、サンプリング間隔が小さい場合には、3サンプリング間の温度変化は非常に小さいので、3サンプリング間での同じ磁気センサの出力信号の振幅は等しいとみなすことができる。したがって、第2演算方法では、3サンプリング間での温度変化の影響による振幅のばらつきを補償することができる。また、第2演算方法では、磁気センサ71,72間の振幅A,Aは、別々の未知数として扱っているので、各磁気センサ71,72間の温度特性のばらつきの影響を補償することができる。これにより、精度の高い回転角を検出することができる。
【0105】
また、第2演算方法では、回転角θ[n]の演算に用いられる6つの数式に含まれている全ての角度幅誤差補正値Eが互いに等しいとみなしている。各磁極の角度幅誤差補正値Eは、磁極毎に異なる。このため、回転角θ[n]の演算に用いられる6つの出力信号S[n],S[n-1],S[n-2],S[n],S[n-1] ,S[n-2]を表す数式に含まれている角度幅誤差補正値Eは、全て同じ値になるとは限らない。しかしながら、2つの磁気センサ71,72が、3サンプリング間において共に同じ1つの磁極を検出している場合には、これらの複数の出力信号を表す数式に含まれている角度幅誤差補正値Eは全て同じ値となる。したがって、第2演算方法では、2つの磁気センサ71,72が、3サンプリング間において共に同じ1つの磁極を検出している場合には、磁石61の各磁極M1〜M8の角度幅(磁極幅)のばらつきをも補償できるので、より精度の高い回転角を検出することが可能となる。
【0106】
図8は、第1の回転角演算部77Aの動作を示すフローチャートである。
トルク演算用ECU77の電源がオンすると、第1の回転角演算部77Aは、強制回転に基づく回転角演算処理を行う(ステップS1)。この処理は、電動モータ18を一時的に強制回転させることにより、入力軸8(出力軸9)を回転させ、入力軸8の回転角θを演算する処理である。この処理の詳細については後述する。
【0107】
前述した第1演算方法および第2演算方法では、前回のサンプリング時点と今回のサンプリング時点とにおいて、各磁気センサ71,72の出力信号S,Sが変化していない場合には、p=pとなるため、前回演算された回転角θ[n]が回転角θ[n]として用いられる(表1の上から2番目の演算式を参照)。しかしながら、イグニッションキーがオン操作されることによって、トルク演算用ECU77の電源がオンされた時点では、前回演算された回転角θ[n]は存在しないため、トルク演算用ECU77の電源がオンされた後に、各磁気センサ71,72の出力信号S,Sが変化していない場合には、回転角θ[n]を演算できなくなる。そこで、回転角θ[n]の前回値を作成するために、強制回転に基づく回転角演算処理を行っている。
【0108】
強制回転に基づく回転角演算処理が終了すると、第1の回転角演算部77Aは、通常時の回転角演算処理を行う(ステップS2)。この処理の詳細については後述する。通常時の回転角演算処理は、イグニッションキーのオフ操作が行われるまで継続して行われる。イグニッションキーのオフ操作が行われると(ステップS3:YES)、第1の回転角演算部77Aは通常時の回転角演算処理を終了する。
【0109】
図9は、図8のステップS1の強制回転に基づく回転角演算処理の手順を示すフローチャートである。
強制回転に基づく回転角演算処理では、短時間ではあるがステアリングホイール2が自動的に回転する。このため、運転者は何らかの故障が発生したと誤解するおそれがある。そこで、第1の回転角演算部77Aは、運転者への警告を行う(ステップS11)。具体的には、第1の回転角演算部77Aは、車内に設けられた表示装置(図示略)、音声出力装置(図示略)等を制御するための映像音声制御装置(図示略)に、警告出力指令を送信する。映像音声制御装置は、この警告出力指令を受信すると、「ステアリングホイールが強制的に回転しますが故障ではありません」等のメッセージを表示装置に表示したり、音声出力装置によって音声出力したりする。
【0110】
次に、第1の回転角演算部77Aは、第1方向に電動モータ18を回転駆動させる(ステップS12)。具体的には、第1の回転角演算部77Aは、第1方向に電動モータ18を回転駆動させるための第1強制回転指令をモータ制御用ECU12に送信する。モータ制御用ECU12は、この第1強制回転指令を受信すると、第1方向に電動モータ18を回転駆動させる。
【0111】
第1の回転角演算部77Aは、各磁気センサ71,72のセンサ値S[n], S[n]を取得する(ステップS13)。トルク演算用ECU77内のメモリには、所定回数前に取得されたセンサ値から最新に取得されたセンサ値までの複数回分(3回以上)のセンサ値が記憶されるようになっている。第1の回転角演算部77Aは、第1方向に電動モータ18が回転駆動された後において、M回分のセンサ値S, Sを取得したか否かを判別する(ステップS14)。後述するステップS18において入力軸8の回転角θ[n]を前述した第1演算方法に基づいて演算する場合には、Mは2に設定され、入力軸8の回転角θ[n]を前述した第2演算方法に基づいて演算する場合には、Mは3に設定される。
【0112】
M回分のセンサ値S, Sを取得していない場合には(ステップS14:NO)、第1の回転角演算部77Aは、ステップS13に戻り、センサ値S[n], S[n]を取得する。ステップS13の処理が繰り返される際のセンサ値S[n], S[n]のサンプリング周期は予め定められている。
前記ステップS14において、M回分のセンサ値S, Sを取得したと判別された場合には(ステップS14:YES)、第1の回転角演算部77Aは、第1方向とは反対方向である第2方向に電動モータ18を回転駆動させる(ステップS15)。具体的には、第1の回転角演算部77Aは、第2方向に電動モータ18を回転駆動させるための第2強制回転指令をモータ制御用ECU12に送信する。モータ制御用ECU12は、この第2強制回転指令を受信すると、第2方向に電動モータ18を回転駆動させる。
【0113】
この後、第1の回転角演算部77Aは、各磁気センサ71,72のセンサ値S[n], S[n]を取得する(ステップS16)。そして、第1の回転角演算部77Aは、第2方向に電動モータ18が回転駆動された後において、M回分のセンサ値S, Sを取得したか否かを判別する(ステップS17)。M回分のセンサ値S, Sを取得していない場合には(ステップS14:NO)、第1の回転角演算部77Aは、ステップS16に戻り、センサ値S[n], S[n]を取得する。ステップS16の処理が繰り返される際のセンサ値S[n], S[n]のサンプリング周期は予め定められている。
【0114】
前記ステップS17において、M回分のセンサ値S, Sを取得したと判別された場合には(ステップS17:YES)、第1の回転角演算部77Aは、M回分のセンサ値S, Sに基づいて、入力軸8の回転角θ[n]を演算して記憶する(ステップS18)。なお、メモリには、最新のM回分のセンサ値S, Sが記憶されるようになっている。Mが2に設定されている場合には、第1の回転角演算部77Aは、前述した第1演算方法に基づいて入力軸8の回転角θ[n]を演算する。一方、Mが3に設定されている場合には、第1の回転角演算部77Aは、前述した第2演算方法に基づいて入力軸8の回転角θ[n]を演算する。
【0115】
この後、第1の回転角演算部77Aは、電動モータ18の駆動を停止させるとともに運転者への警告を停止させる(ステップS19)。具体的には、第1の回転角演算部77Aは、電動モータ18の駆動停止指令をモータ制御用ECU12に送信するとともに、映像音声制御装置に警告停止指令を送信する。モータ制御用ECU12は、電動モータ18の駆動停止指令を受信すると電動モータ18の駆動を停止させる。映像音声制御装置は、警告停止指令を受信すると、警告表示、警告音声出力等を停止させる。これにより、強制回転に基づく回転角演算処理が終了する。
【0116】
図10は、図8のステップS2の通常時の回転角演算処理の手順を示すフローチャートである。図10の処理は、所定の演算周期(サンプリング周期)毎に繰り返し実行される。
第1の回転角演算部77Aは、センサ値S[n], S[n]を取得する(ステップS21)。そして、第1の回転角演算部77Aは、今回取得したセンサ値S[n], S[n]を含めた最新のM回分のセンサ値S, Sに基づいて、入力軸8の回転角θ[n]を演算する(ステップS21)。Mが2に設定されている場合には、第1の回転角演算部77Aは、前述した第1演算方法に基づいて入力軸8の回転角θ[n]を演算する。一方、Mが3に設定されている場合には、第1の回転角演算部77Aは、前述した第2演算方法に基づいて入力軸8の回転角θ[n]を演算する。
【0117】
なお、前回取得したセンサ値S[n-1], S[n-1]および前回演算された回転角θ[n-1]は、それぞれ前々回取得したセンサ値S[n-2], S[n-2]および前々回演算された回転角θ[n-2]として記憶される。また、今回取得したセンサ値S[n], S[n]および今回演算された回転角θ[n]は、それぞれ前回取得したセンサ値S[n-1], S[n-2]および前回演算された回転角θ[n-1]として記憶される。
【0118】
図11は、図8のステップS2の通常時の回転角演算処理の他の例の手順を示すフローチャートである。図11の処理は、所定の演算周期(サンプリング周期)毎に繰り返し実行される。
通常時の回転角演算処理開始時において第1磁気センサ71が検出している磁極を基準磁極として、各磁極に相対的な番号を割り当てた場合の各磁極の番号を相対的極番号と定義する。第1磁気センサ71が検出している磁極の相対的極番号(以下、「第1相対的極番号」という)を変数r1で表し、第2磁気センサ72が検出している磁極の相対的極番号(以下、「第2相対的極番号」という)を変数r2で表すことにする。なお、各相対的極番号r1,r2は、1〜8の整数をとり、1より1少ない相対的極番号は8となり、8より1大きい相対的極番号は1となるものとする。この実施形態では、通常時の回転角演算処理開始時において第1磁気センサ71が検出している磁極(基準磁極)がN極の磁極である場合には、当該磁極に”1”の相対的極番号が割り当てられる。一方、通常時の回転角演算処理の開始時において第1磁気センサ71が検出している磁極(基準磁極)がS極の磁極である場合には、当該磁極に”2”の相対的極番号が割り当てられる。
【0119】
また、前述した第1演算方法によって回転角θ[n]を演算するモードを第1演算モードといい、前述した第2演算方法によって回転角θ[n]を演算するモードを第2演算モードということにする。
トルク演算用ECU77内のメモリには、図12に示すように、1〜8の相対的磁極番号毎に角度幅誤差補正値Eを記憶するためのエリアe1、複数演算周期分の第1相対的極番号r1[n-k]〜r1[n](kは、3以上の自然数)を記憶するためのエリアe2と、複数演算周期分の第2相対的極番号r2[n-k]〜r2[n]を記憶するためのエリアe3等が設けられている。
【0120】
図11に戻り、第1の回転角演算部77Aは、センサ値S[n], S[n]を取得する(ステップS31)。第1の回転角演算部77Aは、今回の処理が通常時の回転角演算処理開始後の初回の処理であるか否かを判別する(ステップS32)。今回の処理が通常時の回転角演算処理開始後の初回の処理である場合には(ステップS32:YES)、第1の回転角演算部77Aは、相対的極番号の設定処理を行う(ステップS33)。
【0121】
図13は、相対的極番号の設定処理の詳細な手順を示すフローチャートである。
第1の回転角演算部77Aは、まず、第1出力信号Sが0より大きいか否かを判別する(ステップS51)。第1出力信号Sが0より大きい場合には(ステップS51:YES)、第1の回転角演算部77Aは、第1磁気センサ71が検出している磁極がN極の磁極であると判別し、第1相対的極番号r1を1に設定する(ステップS54)。そして、ステップS56に進む。
【0122】
一方、第1出力信号Sが0以下である場合には(ステップS51:NO)、第1の回転角演算部77Aは、第1出力信号Sが0より小さいか否かを判別する(ステップS52)。第1出力信号Sが0より小さい場合には(ステップS52:YES)、第1の回転角演算部77Aは、第1磁気センサ71が検出している磁極がS極の磁極であると判別し、第1相対的極番号r1を2に設定する(ステップS55)。そして、ステップS56に進む。
【0123】
前記ステップS52において、第1出力信号Sが0以上であると判別された場合には(ステップS52:NO)、つまり、第1出力信号Sが0である場合には、第1の回転角演算部77Aは、入力軸8の回転角が0°であるか180°であるかを判別するために、第2出力信号Sが0より大きいか否かを判別する(ステップS53)。第2出力信号Sが0より大きい場合には(ステップS53:YES)、第1の回転角演算部77Aは、入力軸8の回転角が0°であると判別し、第1相対的極番号r1を1に設定する(ステップS54)。そして、ステップS56に進む。
【0124】
一方、第2出力信号Sが0以下である場合には(ステップS53:NO)、第1の回転角演算部77Aは、入力軸8の回転角が180°であると判別し、第1相対的極番号r1を2に設定する(ステップS55)。そして、ステップS56に進む。
ステップS56では、第1の回転角演算部77Aは、「S≧0かつS>0」または「S≦0かつS<0」の条件を満たしているか否かを判別する。この条件を満たしている場合には(ステップS56:YES)、第1の回転角演算部77Aは、第2磁気センサ72が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号と同じであると判別し、第2相対的極番号r2に第1相対的極番号r1と同じ番号(r2=r1)を設定する(ステップS57)。そして、図11のステップS37に移行する。
【0125】
一方、前記ステップS56の条件を満たしていない場合には(ステップS56:NO)、第1の回転角演算部77Aは、第2磁気センサ72が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号より1だけ大きい番号であると判別し、第2相対的極番号r2に、第1相対的極番号r1より1だけ大きい番号(r2=r1+1)を設定する(ステップS58)。そして、図11のステップS37に移行する。
【0126】
前記ステップS56の条件に基づいて第2相対的極番号r2を決定している理由について説明する。たとえば、磁石61における磁極M1と磁極M2とからなる磁極対が第1磁気センサ71を通過する際の、第1および第2出力信号S,Sの信号波形を模式的に表すと、図14の(a),(b)のようになる。
図14において、Q1およびQ4で示す領域においては、第2磁気センサ72が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号と同じである。一方、Q2,Q3,Q5およびQ6で示す領域においては、第2磁気センサ72が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号より1だけ大きい。
【0127】
領域Q1においては、両センサ値S,Sは、S≧0かつS>0の第1条件を満たす。領域Q2およびQ3においては、両センサ値S,Sは、S>0かつS≦0の第2条件を満たす。領域Q4においては、両センサ値S,Sは、S≦0かつS<0の第3条件を満たす。領域Q5およびQ6においては、両センサ値S,Sは、S<0かつS≧0の第4条件を満たす。そこで、第1の回転角演算部77Aは、第1条件および第3条件の一方を満たしているときには、第2磁気センサ72が検出している磁極の極番号が、第1磁気センサ71が検出している磁極の極番号と同じであると判別している。一方、第1条件および第3条件のいずれの条件をも満たしていないときには、第1の回転角演算部77Aは、第2磁気センサ72が検出している磁極の極番号が、第1磁気センサ71が検出している磁極の極番号より1だけ大きいと判別している。
【0128】
図11に戻り、前記ステップS32において、今回の処理が通常時の回転角演算処理開始後の初回の処理ではないと判別された場合には(ステップS32:NO)、ステップS34に移行する。
ステップS34では、第1の回転角演算部77Aは、メモリに記憶されているセンサ値S,Sに基づいて、センサ値S,S毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する。ゼロクロスが検出されなかったときには(ステップS34:NO)、第1の回転角演算部77Aは、ステップS36に移行する。
【0129】
前記ステップS34において、いずれかのセンサ値S,Sに対してゼロクロスが検出された場合には(ステップS34:YES)、第1の回転角演算部77Aは、相対的極番号の更新処理を行なう(ステップS35)。具体的には、第1の回転角演算部77Aは、前記ステップS34でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1またはr2を、入力軸8(磁石61)の回転方向に応じて、1だけ大きい番号または1だけ小さい番号に変更する。
【0130】
入力軸8の回転方向が正方向(図6に矢印で示す方向)である場合には、第1の回転角演算部77Aは、前記ステップS34でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1またはr2を、1だけ大きい番号に更新する。一方、入力軸8の回転方向が逆方向である場合には、第1の回転角演算部77Aは、ゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1またはr2を、1だけ小さい番号に更新する。ただし、前述したように、”1”の相対的極番号に対して、1だけ小さい相対的極番号は、”8”となる。また、”8”の相対的極番号に対して、1だけ大きい相対的極番号は、”1”となる。
【0131】
なお、入力軸8の回転方向は、例えば、ゼロクロスが検出された出力信号の前回値および今回値と、他方の出力信号の今回値とに基づいて判定することができる。具体的には、ゼロクロスが検出された出力信号が第1出力信号Sである場合には、「第1出力信号Sの前回値が0より大きくかつその今回値が0以下であり、第2出力信号Sが0より小さい」という条件、または「第1出力信号Sの前回値が0未満でかつその今回値が0以上であり、第2出力信号Sが0より大きい」という条件を満たしている場合には、回転方向は正方向(図6に矢印で示す方向)であると判定される。
【0132】
一方、「第1出力信号Sの前回値が0以上でかつその今回値が0未満であり、第2出力信号Sが0より大きい」という条件、または「第1出力信号Sの前回値が0以下でかつその今回値が0より大きく、第2出力信号Sが0より小さい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
ゼロクロスが検出された出力信号が第2出力信号Sである場合には、「第2出力信号Sの前回値が0より大きくかつその今回値が0以下であり、第1出力信号Sが0より大きい」という条件、または「第2出力信号Sの前回値が0未満でかつその今回値が0以上であり、第1出力信号Sが0より小さい」という条件を満たしている場合には、回転方向は正方向(図6に矢印で示す方向)であると判定される。一方、「第2出力信号Sの前回値が0以上でかつその今回値が0未満であり、第1出力信号Sが0より小さい」という条件、または「第2出力信号Sの前回値が0以下でかつその今回値が0より大きく、第1出力信号Sが0より大きい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
【0133】
相対的極番号の更新処理が終了すると、第1の回転角演算部77Aは、ステップS36に移行する。ステップS36では、第1の回転角演算部77Aは、2演算周期連続して両磁気センサ71,72が共に同じ1つの磁極を検出しており、かつその磁極に対する角度幅誤差補正値Eがメモリに記憶されているという第1演算モード適用条件を満たしているか否かを判別する。各演算周期において、各磁気センサ71,72が検出している磁極の相対的番号は、それぞれ第1相対的磁極番号r1および第2相対的磁極番号r2によって認識することができる。したがって、所定演算周期前から今演算周期までの複数演算周期分の各相対的磁極番号r1,r2をメモリに記憶することにより、2演算周期連続して両磁気センサ71,72がともに同じ1つの磁極を検出しているか否かを判別できる。前記磁極に対する角度幅誤差補正値Eがメモリに記憶されているかどうかは、メモリに前記磁極の相対的極番号(現在設定されているr1(=r2)の値)に関連して角度幅誤差補正値Eが記憶されているか否かによって判別される。第1演算モード適用条件を満たしていない場合には(ステップS36:NO)、第1の回転角演算部77Aは、ステップS37に移行する。
【0134】
ステップS37では、第1の回転角演算部77Aは、第2演算モードで角度幅誤差補正値Eおよび回転角θ[n]を演算する。つまり、第1の回転角演算部77Aは、3サンプリング分のセンサ値S[n],S[n-1],S[n-2],S[n],S[n-1],S[n-2]に基づいて、角度幅誤差補正値Eおよび回転角θ[n]を演算する。次に、第1の回転角演算部77Aは、信頼性の高い角度幅誤差補正値Eを演算できる条件を満たしているか否かを判別する(ステップS38)。
【0135】
信頼性の高い角度幅誤差補正値Eを演算できる条件とは、3演算周期連続して両磁気センサ71,72が共に同じ1つの磁極を検出しておりかつ前記式(30)に含まれている分数のいずれの分母も零でないという条件である。前記式(30) に含まれている分数のいずれの分母も零でないという条件を満たしているとは、前記3つの式(32),(33),(34)のいずれもが成立しないことをいう。
【0136】
信頼性の高い角度幅誤差補正値Eを演算できる条件を満たしていると判別された場合には(ステップS38:YES)、第1の回転角演算部77Aは、前記ステップS37で演算された角度幅誤差補正値Eをメモリのエリアe1(図12参照)に記憶するための処理を行う(ステップS39)。具体的には、第1の回転角演算部77Aは、メモリのエリアe1内の記憶場所のうち、両磁気センサ71,72が検出している磁極の相対的極番号(現在設定されているr1(=r2)の値)に対応する記憶場所に、前記角度幅誤差補正値Eを記憶する(ステップS39)。そして、第1の回転角演算部77Aは、今演算周期における通常時の回転角演算の処理を終了する。
【0137】
一方、信頼性の高い角度幅誤差補正値Eを演算できる条件を満たしていないと判別された場合には(ステップS38:NO)、第1の回転角演算部77Aは、ステップS39の処理を行うことなく、今演算周期における通常時の回転角演算の処理を終了する。
前記ステップS36において、第1演算モード適用条件を満たしていると判別された場合には(ステップS36:YES)、第1の回転角演算部77Aは、第1演算モードでθ[n]を演算する(ステップS40)。つまり、第1の回転角演算部77Aは、2サンプリング分のセンサ値S[n],S[n-1],S[n],S[n-1]に基づいてθ[n]を演算する。
【0138】
第1演算モードで演算される回転角θ[n]は、磁極の角度幅誤差による回転角度誤差を含んでいる。そこで、第1の回転角演算部77Aは、両磁気センサ71,72が検出している磁極に対応する角度幅誤差補正値Eを用いて、当該角度幅誤差による回転角度誤差を補正する(ステップS41)。両磁気センサ71,72が検出している磁極に対応する角度幅誤差補正値をEとし、補正後の回転角をθ’[n]とすると、第1の回転角演算部77Aは、次式(35)に基づいて、補正後の回転角θ’[n]を演算する。
【0139】
θ’[n]=θ[n]/E …(35)
そして、第1の回転角演算部77Aは、今演算周期における通常時の回転角演算の処理を終了する。
前述した第1演算方法では、2サンプリング分のセンサ値に基づいて回転角を演算しているため、温度変化による振幅変動の影響を小さくすることができるが、磁極の角度幅のばらつきを補償することができない。一方、前述した第2演算方法では、3サンプリング分のセンサ値に基づいて回転角を演算しているため、前述した第1演算方法に比べて温度変化による振幅変動の影響が大きくなるが、磁極の角度幅のばらつきを補償することが可能である。図11の通常時の回転角演算処理では、できるだけ少ないサンプリング回数分のセンサ値に基づいて回転角を演算でき、しかもその場合に磁極の角度幅のばらつきをも補償することが可能となる。
【0140】
以上、この発明の一実施形態について説明したが、この発明はさらに他の形態で実施することもできる。たとえば、前述の実施形態では、第1の回転角演算部77Aおよび第2の回転角演算部77Bは、それぞれ、2つの磁気センサの出力信号に基づいて入力軸8および出力軸9の回転角を演算しているが、3つ以上の磁気センサの出力信号に基づいて入力軸8および出力軸9の回転角を演算することもできる。
【0141】
以下、第1の回転角演算部77Aが3つの磁気センサの出力信号に基づいて入力軸8の回転角を演算する場合の実施形態について説明する。
図15は、第1の磁石61の構成および3つの磁気センサの配置を示す模式図である。図15において、前述の図6に示された各部に対応する部分には、図6の場合と同一の参照符号を付して示す。
【0142】
3つの磁気センサ71,72,73は、第1の磁石61の下側の環状端面に対向して、配置されている。以下において、磁気センサ71を第1磁気センサ71、磁気センサ72を第2磁気センサ72、磁気センサ73を第3磁気センサ73という場合がある。第1磁気センサ71と第2磁気センサ72とは、入力軸8の中心軸を中心として電気角で120°の角度間隔で配置されている。また、第2磁気センサ72と第3磁気センサ73とは、入力軸8の中心軸を中心として電気角で120°の角度間隔で配置されている。したがって、第1磁気センサ71と第3磁気センサ73とは、入力軸8の中心軸を中心として電気角で240°の角度間隔で配置されている。
【0143】
図15に矢印で示す方向を入力軸8の正方向の回転方向とする。そして、入力軸8が正方向に回転されると入力軸8の回転角が大きくなり、入力軸8が逆方向に回転されると、入力軸2の回転角が小さくなるものとする。各磁気センサ71,72,73からは、図16に示すように、入力軸8の回転に伴って、正弦波状の信号S,S,Sが出力される。なお、図16の横軸の回転角[deg]は、機械角を表している。
【0144】
以下において、第1磁気センサ71の出力信号Sを第1出力信号Sまたは第1センサ値Sといい、第2磁気センサ72の出力信号Sを第2出力信号Sまたは第2センサ値Sといい、第3磁気センサ73の出力信号Sを第3出力信号Sまたは第3センサ値Sという場合がある。
以下においては、説明の便宜上、入力軸8の回転角をθではなく、θで表すことにする。各出力信号S,S,Sが正弦波信号であるとみなし、入力軸8の回転角をθ(電気角)とすると、第1磁気センサ71の出力信号Sは、S=A・sinθと表され、第2磁気センサ72の出力信号Sは、S=A・sin(θ+120)と表され、第3磁気センサ73の出力信号Sは、S=A・sin(θ+240)と表される。A,A,Aは、それぞれ振幅を表している。
【0145】
第1出力信号Sと第2出力信号Sとの位相差は120度である。第2出力信号Sと第3出力信号Sとの位相差も120度である。そこで、(θ+120)をΘに置き換えることにより、第2出力信号SをS=A・sinΘで表すことができ、第3出力信号SをS=A・sin(Θ+120)で表わすことができる。したがって、第2出力信号Sと第3出力信号Sとを用い、前述した第1演算方法と同様な方法でΘを演算することができ、演算されたΘから入力軸8の回転角θ(=Θ−120)を演算することができる。このような演算方法を第3演算方法ということにする。
【0146】
第2磁気センサ72および第3磁気センサ73の出力信号S,Sを、磁極幅誤差補正値Eを用いて表すと、第2磁気センサ72の出力信号S[n]はS[n]=A・sin(Eθ[n]+120)で表され、第3磁気センサ73の出力信号S[n]は、S[n]=A・sin(Eθ[n]+240)と表される。ここで、Eは、第3磁気センサ73が検出している磁極に対応する磁極幅誤差補正値である。第2磁気センサ72および第3磁気センサ73が同じ磁極を検出している場合には、EとEとは等しいので、これらをEで表すと、第2磁気センサ72の出力信号S[n]はS[n]=A・sin(Eθ[n]+120)で表され、第3磁気センサ73の出力信号S[n]は、S[n]=A・sin(Eθ[n]+240)と表される。
【0147】
(Eθ[n]+120)をEΘ[n]に置き換えると、第2出力信号S[n]はS[n]=A・sinEΘ[n]で表され、第3出力信号S[n]はS[n]=A・sin(EΘ[n]+120)で表わされる。したがって、第2出力信号Sと第3出力信号Sとを用い、前述した方法と同様な方法でEΘ[n]とEとを演算することができる。EΘ[n]=Eθ[n]+120であるので、θ[n]=(EΘ[n]−120)/Eである。したがって、θ[n]=(EΘ[n]−120)/Eの式に、演算されたEΘ[n]とEを代入することにより、入力軸8の回転角θ[n]を演算することができる。このような演算方法を第4演算方法ということにする。
【0148】
第4演算方法において回転角演算に用いられる3サンプリング分の第2および第3出力信号を、前記式(28a) 〜(28f)にならって次式(36a) 〜(36f)で表すと、EΘを演算するための演算式およびEを演算するための演算式はそれぞれ次式(37) および(38)で表すことができる。
[n]=Asin(Eθ[n]+120) …(36a)
[n-1]=Asin(Eθ[n-1]+120) …(36b)
[n-2]=Asin(Eθ[n-2]+120) …(36c)
[n]=Asin(Eθ[n]+120) …(36d)
[n-1]=Asin(Eθ[n-1]+120) …(36e)
[n-2]=Asin(Eθ[n-2]+120) …(36f)
【0149】
【数11】
【0150】
【数12】
【0151】
なお、Eを演算するための前記式(38) に含まれている分数のいずれかの分母が零になる場合とは、次式(39),(40),(41)でそれぞれ表される3つの条件のうちの少なくとも1つの条件を満たす場合である。
【0152】
【数13】
【0153】
図17は、第1の回転角演算部77Aの動作を示すフローチャートである。
トルク演算用ECU77の電源がオンすると、第1の回転角演算部77Aは、強制回転に基づく回転角演算処理を行う(ステップS71)。この処理は、図8のステップS1の処理(図9に示される処理)と同じであるので、その説明を省略する。
強制回転に基づく回転角演算処理が終了すると、第1の回転角演算部77Aは、通常時の回転角演算処理を行う(ステップS72)。通常時の回転角演算処理は、イグニッションキーのオフ操作が行われるまで継続して行われる。イグニッションキーのオフ操作が行われると(ステップS73:YES)、第1の回転角演算部77Aは通常時の回転角演算処理を終了する。
【0154】
図18は、図17のステップS72の通常時の回転角演算処理の手順を示すフローチャートである。図18の処理は、所定の演算周期(サンプリング周期)毎に繰り返し実行される。
通常時の回転角演算処理開始時において第1磁気センサ71が検出している磁極を基準磁極として、各磁極に相対的な番号を割り当てた場合の各磁極の番号を相対的極番号と定義する。第1磁気センサ71が検出している磁極の相対的極番号(以下、「第1相対的極番号」という)を変数r1で表し、第2磁気センサ72が検出している磁極の相対的極番号(以下、「第2相対的極番号」という)を変数r2で表し、第3磁気センサ73が検出している磁極の相対的極番号(以下、「第3相対的極番号」という)を変数r3で表すことにする。なお、各相対的極番号r1,r2,r3は、1〜8の整数をとり、1より1少ない相対的極番号は8となり、8より1大きい相対的極番号は1となるものとする。
【0155】
第1の回転角演算部77Aは、センサ値S[n], S[n],S[n]を取得する(ステップS81)。第1の回転角演算部77Aは、今回の処理が通常時の回転角演算処理開始後の初回の処理であるか否かを判別する(ステップS82)。今回の処理が通常時の回転角演算処理開始後の初回の処理である場合には(ステップS82:YES)、第1の回転角演算部77Aは、相対的極番号の設定処理を行う(ステップS83)。
【0156】
図19は、相対的極番号の設定処理の詳細な手順を示すフローチャートである。図19において、図13に示された各ステップと同様の処理が行われるステップには、図13中と同一参照符号を付して示す。図19のステップS51〜S58の処理は、図13のステップS51〜S58の処理と同じであるので、その説明を省略する。
ステップS57の処理が終了した場合またはステップS58の処理が終了した場合には、第1の回転角演算部77Aは、ステップS59に移行する。
【0157】
ステップS59では、第1の回転角演算部77Aは、「S≧0かつS<0」または「S≦0かつS>0」の条件を満たしているか否かを判別する。この条件を満たしている場合には(ステップS59:YES)、第1の回転角演算部77Aは、第3磁気センサ73が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号より1だけ大きい番号であると判別し、第3相対的極番号r3に、第1相対的極番号r1より1だけ大きい番号(r3=r1+1)を設定する(ステップS60)。そして、図18のステップS86に移行する。
【0158】
一方、前記ステップS59の条件を満たしていない場合には(ステップS59:NO)、第1の回転角演算部77Aは、第3磁気センサ73が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号より2だけ大きい番号であると判別し、第3相対的極番号r3に、第1相対的極番号r1より2だけ大きい番号(r3=r1+2)を設定する(ステップS61)。そして、図18のステップS86に移行する。
【0159】
前記ステップS59の条件に基づいて第3相対的極番号r3を決定している理由について説明する。たとえば、磁石61における磁極M1と磁極M2とからなる磁極対が第1磁気センサ71を通過する際の、第1、第2および第3出力信号S,S,Sの信号波形を模式的に表すと、図20の(a),(b),(c)のようになる。
図20において、Q1およびQ2で示す領域ならびにQ4およびQ5で示す領域においては、第3磁気センサ73が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号より1だけ大きい。一方、Q3およびQ6で示す領域においては、第3磁気センサ72が検出している磁極の極番号は、第1磁気センサ71が検出している磁極の極番号より2だけ大きい。
【0160】
領域Q1およびQ2においては、両センサ値S,Sは、S≧0かつS<0の第5条件を満たす。領域Q3においては、両センサ値S,Sは、S>0かつS≧0の第6条件を満たす。領域Q4およびQ5においては、両センサ値S,Sは、S≦0かつS>0の第7条件を満たす。領域Q6においては、両センサ値S,Sは、S<0かつS≦0の第8条件を満たす。そこで、第1の回転角演算部77Aは、第5条件および第7条件のいずれか一方を満たしているときには、第3磁気センサ73が検出している磁極の極番号が、第1磁気センサ71が検出している磁極の極番号より1だけ大きいと判別している。一方、第5条件および第7条件のいずれをも満たしていないときには、第1の回転角演算部77Aは、第3磁気センサ73が検出している磁極の極番号が、第1磁気センサ71が検出している磁極の極番号より2だけ大きいと判別している。
【0161】
図18に戻り、前記ステップS82において、今回の処理が通常時の回転角演算処理開始後の初回の処理ではないと判別された場合には(ステップS82:NO)、ステップS84に移行する。
ステップS84では、第1の回転角演算部77Aは、メモリに記憶されているセンサ値S,S,Sに基づいて、センサ値S,S,S毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する。ゼロクロスが検出されなかったときには(ステップS84:NO)、第1の回転角演算部77Aは、ステップS86に移行する。
【0162】
前記ステップS84において、いずれかのセンサ値S,S,Sに対してゼロクロスが検出された場合には(ステップS84:YES)、第1の回転角演算部77Aは、相対的極番号の更新処理を行なう(ステップS85)。具体的には、第1の回転角演算部77Aは、前記ステップS84でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1,r2またはr3を、入力軸8(磁石61)の回転方向に応じて、1だけ大きい番号または1だけ小さい番号に変更する。
【0163】
入力軸8の回転方向が正方向(図15に矢印で示す方向)である場合には、第1の回転角演算部77Aは、前記ステップS84でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1,r2またはr3を、1だけ大きい番号に更新する。一方、入力軸8の回転方向が逆方向である場合には、第1の回転角演算部77Aは、ゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号r1,r2またはr3を、1だけ小さい番号に更新する。ただし、前述したように、”1”の相対的極番号に対して、1だけ小さい相対的極番号は、”8”となる。また、”8”の相対的極番号に対して、1だけ大きい相対的極番号は、”1”となる。
【0164】
なお、入力軸8の回転方向は、例えば、ゼロクロスが検出された出力信号の前回値および今回値と、他の1つの出力信号の今回値とに基づいて判定することができる。ゼロクロスが検出された出力信号が第1出力信号Sである場合およびゼロクロスが検出された出力信号が第2出力信号Sである場合における入力軸8の回転方向の判定方法については、図11のステップS35の処理の説明において、既に説明した。そこで、ゼロクロスが検出された出力信号が第3出力信号Sである場合における入力軸8の回転方向の判定方法について説明する。
【0165】
ゼロクロスが検出された出力信号が第3出力信号Sである場合には、「第3出力信号Sの前回値が0より大きくかつその今回値が0以下であり、第2出力信号Sが0より大きい」という条件、または「第3出力信号Sの前回値が0未満でかつその今回値が0以上であり、第2出力信号Sが0より小さい」という条件を満たしている場合には、回転方向は正方向(図15に矢印で示す方向)であると判定される。
【0166】
一方、「第3出力信号Sの前回値が0以上でかつその今回値が0未満であり、第2出力信号Sが0より小さい」という条件、または「第3出力信号Sの前回値が0以下でかつその今回値が0より大きく、第2出力信号Sが0より大きい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
相対的極番号の更新処理が終了すると、第1の回転角演算部77Aは、ステップS86に移行する。ステップS86では、第1の回転角演算部77Aは、第1磁気センサ71と第2磁気センサ72とが同じ磁極を検出しているか否かを判別する。この判別は、現在設定されている第1相対的磁極番号r1と第2相対的磁極番号r2が等しいか否かに基づいて判別することができる。r1=r2であれば、第1磁気センサ71と第2磁気センサ72とが同じ磁極を検出していると判別される。
【0167】
第1磁気センサ71と第2磁気センサ72とが同じ磁極を検出していると判別された場合には(ステップS86:YES)、第1の回転角演算部77Aは、第1磁気センサ71および第2磁気センサ72のセンサ値S,Sに基づいて入力軸8の回転角θ[n]を演算する(ステップS87)。具体的には、第1の回転角演算部77Aは、前述した第1演算方法または第2演算方法によって回転角θ[n]を演算する。そして、第1の回転角演算部77Aは、今演算周期における通常時の回転角演算の処理を終了する。
【0168】
前記ステップS86において、第1磁気センサ71と第2磁気センサ72とが同じ磁極を検出していないと判別された場合には(ステップS86:NO)、第1の回転角演算部77Aは、第2磁気センサ72と第3磁気センサ73とが同じ磁極を検出していると判断し、第2磁気センサ72および第3磁気センサ72のセンサ値S,Sに基づいて入力軸8の回転角θ[n]を演算する(ステップS88)。具体的には、第1の回転角演算部77Aは、前述した第3演算方法または第4演算方法によって回転角θ[n]を演算する。そして、第1の回転角演算部77Aは、今演算周期における通常時の回転角演算の処理を終了する。
【0169】
図18の通常時の回転角演算処理では、3つの磁気センサ71,72,73のうちの2つの磁気センサ(71と72または72と73)が共に同じ1つの磁極を検出し続けている間に、それら2つの磁気センサから出力された複数サンプリング分の出力信号を用いて回転角θ[n]を演算できる確率が、図10の通常時の回転角演算処理に比べて高くなる。このため、図18の処理によって回転角θ[n]を演算する場合には、図10の処理によって回転角θ[n]を演算する場合に比べて回転角θ[n]の検出精度を高めることができる。
【0170】
図21Aおよび図21Bは、図17のステップS72の通常時の回転角演算処理の他の例の手順を示すフローチャートである。図21Aおよび図21Bの処理は、所定の演算周期(サンプリング周期)毎に繰り返し実行される。
トルク演算用ECU77内のメモリには、図12に示すように、1〜8の相対的磁極番号毎に角度幅誤差補正値Eを記憶するためのエリアe1と、複数演算周期分の第1相対的極番号r1[n-k]〜r1[n](kは、3以上の自然数)を記憶するためのエリアe2と、複数演算周期分の第2相対的極番号r2[n-k]〜r2[n]を記憶するためのエリアe3とが設けられている。さらに、トルク演算用ECU77内のメモリには、図12に破線で示すように、複数演算周期分の第3相対的極番号r3[n-k]〜r3[n]を記憶するためのエリアe4が設けられている。
【0171】
また、前述した第1演算方法によって回転角θ[n]を演算するモードを第1演算モードといい、前述した第2演算方法によって回転角θ[n]を演算するモードを第2演算モードということにする。さらに、前述した第3演算方法によって回転角θ[n]を演算するモードを第3演算モードといい、前述した第4演算方法によって回転角θ[n]を演算するモードを第4演算モードということにする。
【0172】
第1の回転角演算部77Aは、センサ値S[n], S[n],S[n]を取得する(ステップS91)。第1の回転角演算部77Aは、今回の処理が通常時の回転角演算処理開始後の初回の処理であるか否かを判別する(ステップS92)。今回の処理が通常時の回転角演算処理開始後の初回の処理である場合には(ステップS92:YES)、第1の回転角演算部77Aは、相対的極番号の設定処理を行う(ステップS93)。この相対的極番号の設定処理は、図18のステップS83の相対的極番号の設定処理と同じであるのでその説明を省略する。相対的極番号の設定処理が終了すると、第1の回転角演算部77Aは、ステップS96に移行する。
【0173】
前記ステップS92において、今回の処理が通常時の回転角演算処理開始後の初回の処理ではないと判別された場合には(ステップS92:NO)、ステップS94に移行する。 ステップS94では、第1の回転角演算部77Aは、メモリに記憶されているセンサ値S,S,Sに基づいて、センサ値S,S,S毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する。ゼロクロスが検出されなかったときには(ステップS94:NO)、第1の回転角演算部77Aは、ステップS96に移行する。
【0174】
前記ステップS94において、いずれかのセンサ値S,S,Sに対してゼロクロスが検出された場合には(ステップS94:YES)、第1の回転角演算部77Aは、相対的極番号の更新処理を行なう(ステップS95)。この相対的極番号の更新処理は、図18のステップS85の相対的極番号の更新処理と同じであるので、その説明を省略する。
【0175】
相対的極番号の更新処理が終了すると、第1の回転角演算部77Aは、ステップS96に移行する。ステップS96では、第1の回転角演算部77Aは、第1磁気センサ71と第2磁気センサ72とが同じ磁極を検出しているか否かを判別する。この判別は、現在設定されている第1相対的磁極番号r1と第2相対的磁極番号r2が等しいか否かに基づいて判別することができる。
【0176】
第1磁気センサ71と第2磁気センサ72とが同じ磁極を検出している場合には(ステップS96:YES)、第1の回転角演算部77Aは、同一磁極を検出している磁気センサの組み合わせを記憶するためのフラグFをセット(F=1)する(ステップS97)。そして、図21BのステップS99に移行する。一方、第1磁気センサ71と第2磁気センサ72とが同じ磁極を検出していない場合には(ステップS96:NO)、第1の回転角演算部77Aは、第2磁気センサ72と第3磁気センサ73とが同じ磁極を検出していると判断しフラグFをリセット(F=0)する(ステップS97)。そして、図21BのステップS99に移行する。なお、メモリには、所定回数前から今回までの複数回分(3回以上)のフラグFの値が記憶されるようになっている。
【0177】
ステップS99では、第1の回転角演算部77Aは、同じ組み合わせの2つの磁気センサが2演算周期連続して同じ磁極を検出しており、かつその磁極に対する角度幅誤差補正値Eがメモリに記憶されているという第1・第3演算モード適用条件を満たしているか否かを判別する。同じ組み合わせの2つの磁気センサが2演算周期連続して同じ磁極を検出しているか否かは、今回および前回のフラグFの値を比較することにより、判別することができる。また、前記磁極に対する角度幅誤差補正値Eがメモリに記憶されているかどうかは、前記磁極の相対的極番号(現在設定されているr2の値)に関連して角度幅誤差補正値Eがメモリに記憶されているか否かによって判別される。
【0178】
第1・第3演算モード適用条件を満たしていない場合には(ステップS99:NO)、第1の回転角演算部77Aは、ステップS100に移行する。
ステップS100では、第1の回転角演算部77Aは、フラグFがセット(F=1)されているか否かを判別する。フラグFがセットされている場合には(ステップS100:YES)、第1の回転角演算部77Aは、第2演算モードで角度幅誤差補正値Eおよび回転角θ[n]を演算する(ステップS101)。つまり、第1の回転角演算部77Aは、3サンプリング分の第1および第2センサ値(S[n],S[n-1],S[n-2],S[n],S[n-1],S[n-2])に基づいて、角度幅誤差補正値Eおよび回転角θ[n]を演算する。そして、第1の回転角演算部77Aは、ステップS103に移行する。
【0179】
一方、ステップS100において、フラグFがセットされてないと判別された場合には(ステップS100:NO)、第1の回転角演算部77Aは、第4演算モードで角度幅誤差補正値Eおよび回転角θ[n]を演算する(ステップS102)。つまり、第1の回転角演算部77Aは、3サンプリング分の第2および第3センサ値(S[n],S[n-1],S[n-2],S[n],S[n-1],S[n-2])に基づいて、角度幅誤差補正値Eおよび回転角θ[n]を演算する。そして、第1の回転角演算部77Aは、ステップS103に移行する。
【0180】
ステップS103では、第1の回転角演算部77Aは、信頼性の高い角度幅誤差補正値Eを演算できる条件を満たしているか否かを判別する。第2演算モードでEが演算された場合において、信頼性の高い角度幅誤差補正値Eを演算できる条件とは、3演算周期連続して第1および第2磁気センサ71,72が共に同じ1つの磁極を検出しておりかつ前記式(30) に含まれている分数のいずれの分母も零でないという条件である。前記式(30) に含まれている分数のいずれの分母も零でないという条件を満たしているとは、前記3つの式(32),(33),(34)のいずれもが成立しないことをいう。
【0181】
第4演算モードで角度幅誤差補正値Eが演算された場合において、信頼性の高い角度幅誤差補正値Eを演算できる条件とは、3演算周期連続して第2および第3磁気センサ72,73が共に同じ1つの磁極を検出しておりかつ前記式(38) に含まれている分数のいずれの分母も零でないという条件である。前記式(38) に含まれている分数のいずれの分母も零でないという条件を満たしているとは、前記3つの式(39),(40),(41)のいずれもが成立しないことをいう。
【0182】
前記ステップS103において、信頼性の高い角度幅誤差補正値Eを演算できる条件を満たしていると判別された場合には(ステップS103:YES)、第1の回転角演算部77Aは、前記ステップS101またはS102で演算された角度幅誤差補正値Eをメモリのエリアe1(図12参照)に記憶するための処理を行う(ステップS104)。具体的には、第1の回転角演算部77Aは、メモリのエリアe1内の記憶場所のうち、3つの磁気センサ71,72,73のうちの2つの磁気センサが検出している磁極の相対的極番号(現在設定されているr2の値)に対応する記憶場所に、前記角度幅誤差補正値Eを記憶する。そして、第1の回転角演算部77Aは、今演算周期における通常時の回転角演算の処理を終了する。
【0183】
一方、信頼性の高い角度幅誤差補正値Eを演算できる条件を満たしていないと判別された場合には(ステップS103:NO)、第1の回転角演算部77Aは、ステップS104の処理を行うことなく、今演算周期における通常時の回転角演算の処理を終了する。
前記ステップS99において、第1・第3演算モード適用条件を満たしていると判別された場合には(ステップS99:YES)、第1の回転角演算部77Aは、フラグFがセット(F=1)されているか否かを判別する(ステップS105)。フラグFがセットされている場合には(ステップS105:YES)、第1の回転角演算部77Aは、第1演算モードでθ[n]を演算する(ステップS106)。つまり、第1の回転角演算部77Aは、2サンプリング分の第1および第2センサ値S[n],S[n-1],S[n],S[n-1]に基づいてθ[n]を演算する。そして、第1の回転角演算部77Aは、ステップS108に移行する。
【0184】
一方、フラグFがセットされていないと判別された場合には(ステップS105:NO)、第1の回転角演算部77Aは、第3演算モードでθ[n]を演算する(ステップS107)。つまり、第1の回転角演算部77Aは、2サンプリング分の第2および第3センサ値S[n],S[n-1],S[n],S[n-1]に基づいてθ[n]を演算する。そして、第1の回転角演算部77Aは、ステップS108に移行する。
【0185】
第1演算モードまたは第3演算モードで演算される回転角θ[n]は、磁極の角度幅誤差による回転角度誤差を含んでいる。そこで、ステップS108では、第1の回転角演算部77Aは、3つの磁気センサ71,72,73のうちの2つの磁気センサが検出している磁極に対応する角度幅誤差補正値Eを用いて、当該角度幅誤差による回転角度誤差を補正する。3つの磁気センサ71,72,73のうちの2つの磁気センサが検出している磁極に対応する角度幅誤差補正値をEとし、補正後の回転角をθ’[n]とすると、第1の回転角演算部77Aは、次式(42)に基づいて、補正後の回転角θ’[n]を演算する。
【0186】
θ’[n]=θ[n]/E …(42)
そして、第1の回転角演算部77Aは、今演算周期における通常時の回転角演算の処理を終了する。
前述した第1演算方法または第3演算方法では、2サンプリング分のセンサ値に基づいて回転角を演算しているため、温度変化による振幅変動の影響を小さくすることができるが、磁極の角度幅のばらつきを補償することができない。一方、前述した第2演算方法または第4演算方法では、3サンプリング分のセンサ値に基づいて回転角を演算しているため、前述した第1演算方法または第3演算方法に比べて温度変化による振幅変動の影響が大きくなるが、磁極の角度幅のばらつきを補償することが可能である。
【0187】
図21Aおよび図21Bの通常時の回転角演算処理では、できるだけ少ない回数分のセンサ値に基づいて回転角を演算でき、しかもその場合に磁極の角度幅のばらつきをも補償することが可能となる。さらに、図21Aおよび図21Bの通常時の回転角演算処理では、3つの磁気センサ71,72,73のうちの2つの磁気センサ(71と72または72と73)が同一磁極を検出し続けている間に、それら2つの磁気センサから出力された複数サンプリング分の出力信号を用いて回転角θ[n]を演算できる確率が、図11の通常時の回転角演算処理に比べて高くなる。このため、図21Aおよび図21Bの処理によって回転角θ[n]を演算する場合には、図11の処理によって回転角θ[n]を演算する場合に比べて回転角θ[n]の検出精度を高めることができる。
【0188】
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【0189】
1…電動パワーステアリング装置、8…入力軸、9…出力軸、12…モータ制御用ECU、18…電動モータ、61,62…磁石、71〜76…磁気センサ、77…トルク演算用ECU、77A…第1の回転角演算部、77B…第2の回転角演算部、
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21A
図21B
図22
図23