(57)【要約】【課題】精度の高い回転角を検出できる回転角検出装置を提供する。【解決手段】第１の回転角演算部７７Ａによる回転角演算モードには、通常モードと簡易モードとがある。通常モードでは、２つの磁気センサ７１，７２における２サンプリング分の出力信号に基づいて入力軸８の回転角が演算される。簡易モードでは、第１磁気センサ７１および第２磁気センサ７２における１サンプリング分の出力信号と、予め設定された両磁気センサ７１，７２の出力信号の振幅比とに基づいて、入力軸８の回転角が演算される。トルク演算用ＥＣＵ７７の電源がオンされた後、入力軸８の回転角の前回値が存在していなくても通常モードによって入力軸８の回転角θを演算できる条件が満たされるまでは、簡易モードによって回転角が演算される。それ以後においては、通常モードによって回転角が演算される。【選択図】図２
2014115259.tif 000002
【特許請求の範囲】
【請求項１】
回転体の回転角を検出するための複数のセンサと、
前記各センサの出力信号を所定時間毎にサンプリングするサンプリング手段と、
前記複数のセンサのうちの少なくとも２つのセンサにおける２以上の所定数の異なるタイミングでサンプリングされた複数の出力信号を用いて、前記回転体の回転角を演算するための第１演算手段と、
前記複数のセンサのうちの２つのセンサの１サンプリング分の出力信号を用いて、前記回転体の回転角を簡易的に演算するための第２演算手段と、
前記サンプリング手段によってサンプリングされる前記各センサの出力信号に基づいて、前記第１演算手段および前記第２演算手段のうちのいずれか一方を、前記回転体の回転角の演算に用いられる演算手段として選択する選択手段と、を含む回転角演算装置。
【請求項２】
前記選択手段は、電源がオンされた後から、前記第１演算手段によって前記回転体の回転角を演算すると仮定した場合に、前記第１演算手段によって用いられる前記複数の出力信号のうち、同じセンサに対する出力信号どうしが全て異なるという条件を満たすまでは、前記第２演算手段を前記回転体の回転角の演算に用いられる演算手段として選択し、前記条件を満たしたときおよびそれ以降においては、前記第１演算手段を前記回転体の回転角の演算に用いられる演算手段として選択するように構成されている、請求項１に記載の回転角演算装置。
【請求項３】
前記選択手段は、前記第１演算手段によって前記回転体の回転角を演算すると仮定した場合に、前記第１演算手段によって用いられる前記複数の出力信号のうち、同じセンサに対する出力信号どうしが全て異なるという条件を満たしているときには、前記第１演算手段を前記回転体の回転角の演算に用いられる演算手段として選択し、前記条件を満たしていないときには、前記第２演算手段を前記回転体の回転角の演算に用いられる演算手段として選択するように構成されている、請求項１に記載の回転角演算装置。
【請求項４】
前記回転体の回転角の演算のために前記第１演算手段によって用いられる前記複数の出力信号の各々を数式化した場合において、得られた複数の数式の数をＸ、これらの数式に含まれる未知数の数をＹとすると、ＹがＸより大きいという条件を満たしており、
前記第１演算手段は、前記複数の数式に含まれる未知数のうち、所定の複数の異なる未知数が互いに等しいとみなすことによってＹをＸ以下とした後に、前記複数の数式からなる連立方程式を解くことにより、前記回転体の回転角を演算するように構成されている、請求項１〜３のいずれか一項に記載の回転角演算装置。
【請求項５】
前記回転体の回転に応じて回転し、複数の磁極を有する多極磁石を含み、
前記複数のセンサは、前記多極磁石の回転に応じて、互いに所定の位相差を有する正弦波信号をそれぞれ出力する複数の磁気センサであり、
前記第１演算手段は、前記複数のセンサのうちの２つのセンサにおける２つの異なるタイミングでサンプリングされた４つの出力信号を用いて、前記回転体の回転角を演算するように構成されており、
前記複数の数式は前記４つの出力信号を数式化した４つの数式からなり、各数式は振幅および前記回転体の回転角を未知数として含んでおり、
前記第１演算手段は、前記４つの数式に含まれる未知数のうち、同じセンサのサンプリングタイミングが異なる２つの出力信号の振幅が互いに等しいとみなすことによってＹをＸ以下にしている、請求項４に記載の回転角演算装置。
【請求項６】
前記回転体の回転に応じて回転し、複数の磁極を有する多極磁石を含み、
前記複数のセンサは、前記多極磁石の回転に応じて、互いに所定の位相差を有する正弦波信号をそれぞれ出力する複数の磁気センサであり、
前記第１演算手段は、前記複数のセンサのうちの２つのセンサにおける３つの異なるタイミングでサンプリングされた６つの出力信号を用いて、前記回転体の回転角を演算するように構成されており、
前記複数の数式は前記６つの出力信号を数式化した６つの数式からなり、各数式は振幅、前記回転体の回転角および前記多極磁石の各磁極の磁極幅に関する情報を未知数として含んでおり、
前記第１演算手段は、前記６つの数式に含まれる未知数のうち、同じセンサのサンプリングタイミングが異なる３つの出力信号の振幅が互いに等しいとみなすとともに、前記６つの数式に含まれている全ての磁極幅に関する情報が互いに等しいとみなすことにより、ＹをＸ以下にしている、請求項４に記載の回転角演算装置。
【請求項７】
前記第２演算手段は、前記複数のセンサのうちの２つのセンサの１サンプリング分の出力信号と、予め設定された、これらの２つのセンサの出力信号の振幅比とを用いて、前記回転体の回転角を演算するように構成されている、請求項５または６に記載の回転角演算装置。
【請求項８】
入力軸、出力軸およびこれらの２つの軸を連結するトーションバーを含むステアリングシャフトと、
操舵補助力を発生させるための電動モータと、
前記請求項１〜７のいずれか一項に記載の回転角演算装置から構成され、前記入力軸の回転角を第１の回転角として検出するための第１の回転角演算装置と、
前記請求項１〜７のいずれか一項に記載の回転角演算装置から構成され、前記出力軸の回転角を第２の回転角として検出するための第２の回転角演算装置と、
前記第１の回転角演算装置によって検出された第１の回転角と、前記第２の回転角演算装置によって検出された第２の回転角と基づいて、前記入力軸に与えられる操舵トルクを演算する操舵トルク演算手段と、
前記操舵トルク演算手段によって演算された操舵トルクを用いて、前記電動モータに流すべき電流の目標値となる電流指令値を設定する電流指令値設定手段とを含み、
前記電流指令値設定手段は、前記操舵トルクの演算に用いられた前記第１の回転角および前記第２の回転角のうちの少なくとも一方が、前記第２演算手段によって演算されたものであるときは、前記操舵トルクの絶対値が所定値以下である場合に、電流指令値を零に設定する不感帯設定手段を含んでいる、電動パワーステアリング装置。
【請求項９】
前記不感帯設定手段は、
前記操舵トルクの演算に用いられた前記第１の回転角および前記第２の回転角の両方が、前記第２演算手段によって演算されたものであるときは、前記操舵トルクの絶対値が第１の所定値以下である場合に、電流指令値を零に設定する手段と、
前記操舵トルクの演算に用いられた前記第１の回転角および前記第２の回転角のうちのいずれか一方のみが、前記第２演算手段によって演算されたものであるときは、前記操舵トルクの絶対値が前記第１の所定値より小さい第２の所定値以下である場合に、電流指令値を零に設定する手段と、を含んでいる請求項８に記載の電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、回転体の回転角を検出する回転角検出装置およびそれを備えた電動パワーステアリング装置に関する。
【背景技術】
【０００２】
回転体の回転角を検出する回転角検出装置として、ブラシレスモータの回転に応じて回転する検出用ロータを用いて、ブラシレスモータのロータの回転角を検出する回転角検出装置が知られている。具体的には、図１５に示すように、検出用ロータ２０１（以下、「ロータ２０１」という）は、ブラシレスモータのロータに設けられている磁極対に相当する複数の磁極対を有する円筒状の磁石２０２を備えている。ロータ２０１の周囲には、２つの磁気センサ２２１，２２２が、ロータ２０１の回転中心軸を中心として所定の角度間隔をおいて配置されている。各磁気センサ２２１，２２２からは、所定の位相差を有する正弦波信号が出力される。これらの２つの正弦波信号に基づいて、ロータ２０１の回転角（ブラシレスモータのロータの回転角）が検出される。
【０００３】
この例では、磁石２０２は、５組の磁極対を有している。つまり、磁石１０２は、等角度間隔で配置された１０個の磁極を有している。各磁極は、ロータ２０１の回転中心軸を中心として、３６°（電気角では１８０°）の角度間隔で配置されている。また、２つの磁気センサ２２１，２２２は、ロータ２０１の回転中心軸を中心として１８°（電気角では９０°）の角度間隔をおいて配置されている。
【０００４】
図１５に矢印で示す方向を検出用ロータ２０１の正方向の回転方向とする。そして、ロータ２０１が正方向に回転されるとロータ２０１の回転角が大きくなり、ロータ２０１が逆方向に回転されると、ロータ２０１の回転角が小さくなるものとする。各磁気センサ２２１，２２２からは、図１６に示すように、ロータ２０１が１磁極対分に相当する角度（７２°（電気角では３６０°））を回転する期間を一周期とする正弦波信号Ｓ１，Ｓ２が出力される。
【０００５】
ロータ２０１の１回転分の角度範囲を、５つの磁極対に対応して５つの区間に分け、各区間の開始位置を０°とし終了位置を３６０°として表したロータ２０１の回転角を、ロータ２０１の電気角θということにする。
ここでは、第１磁気センサ２２１からは、Ｓ１＝Ａ１・sinθの出力信号が出力され、第２磁気センサ２２２からは、Ｓ２＝Ａ２・cosθの出力信号が出力されるものとする。Ａ１，Ａ２は、振幅である。両出力信号Ｓ１，Ｓ２の振幅Ａ１，Ａ２が互いに等しいとみなすと、ロータ２０１の電気角θは、両出力信号Ｓ１，Ｓ２を用いて、次式に基づいて求めることができる。
【０００６】
θ＝tan−１（sinθ／cosθ）
＝tan−１（Ｓ１／Ｓ２）  
このようにして、求められた電気角θを使って、ブラシレスモータを制御する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開2008-26297号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
前述したような従来の回転角検出装置においては、両磁気センサ２２１，２２２の出力信号Ｓ１，Ｓ２の振幅Ａ１，Ａ２が等しいとみなして回転角θを演算しているが、両出力信号Ｓ１，Ｓ２の振幅Ａ１，Ａ２は、両磁気センサ２２１，２２２の温度特性のばらつきおよび温度変化に応じて変化する。このため、両磁気センサ２２１，２２２の温度特性のばらつきおよび温度変化によって、ロータの回転角の検出に誤差が発生する。
【０００９】
この発明の目的は、精度の高い回転角を検出できる回転角検出装置およびそれを備えた電動パワーステアリング装置を提供することである。
【課題を解決するための手段】
【００１０】
請求項１記載の発明は、回転体（８；９）の回転角を検出するための複数のセンサ（７１，７２；７４，７５）と、前記各センサの出力信号を所定時間毎にサンプリングするサンプリング手段（７７Ａ；７７Ｂ）と、前記複数のセンサのうちの少なくとも２つのセンサにおける２以上の所定数の異なるタイミングでサンプリングされた複数の出力信号を用いて、前記回転体の回転角を演算するための第１演算手段（７７Ａ，Ｓ７，Ｓ７Ａ，Ｓ１６，Ａ１６Ａ；７７Ｂ）と、前記複数のセンサのうちの２つのセンサの１サンプリング分の出力信号を用いて、前記回転体の回転角を簡易的に演算するための第２演算手段（７７Ａ，Ｓ５，Ｓ１４；７７Ｂ）と、前記サンプリング手段によってサンプリングされる前記各センサの出力信号に基づいて、前記第１演算手段および前記第２演算手段のうちのいずれか一方を、前記回転体の回転角の演算に用いられる演算手段として選択する選択手段（７７Ａ，Ｓ３，Ｓ４，Ｓ４Ａ；Ｓ１２；７７Ｂ）と、を含む回転角演算装置である。なお、括弧内の英数字は、後述の実施形態における対応構成要素等を表すが、むろん、この発明の範囲は当該実施形態に限定されない。以下、この項において同じ。
【００１１】
この発明では、第１演算手段および第２演算手段のうち、選択手段によって選択された演算手段によって回転体の回転角が演算される。第１演算手段は、複数のセンサのうちの少なくとも２つのセンサにおける２以上の所定数の異なるタイミングでサンプリングされた複数の出力信号に基づいて回転体の回転角を演算しているので、第１演算手段によって回転角が演算されるときには、前述した従来技術に比べて、精度の高い回転角を演算することが可能となる。
【００１２】
請求項２記載の発明は、前記選択手段は、電源がオンされた後から、前記第１演算手段によって前記回転体の回転角を演算すると仮定した場合に、前記第１演算手段によって用いられる前記複数の出力信号のうち、同じセンサに対する出力信号どうしが全て異なるという条件を満たすまでは、前記第２演算手段を前記回転体の回転角の演算に用いられる演算手段として選択し、前記条件を満たしたときおよびそれ以降においては、前記第１演算手段を前記回転体の回転角の演算に用いられる演算手段として選択するように構成されている、請求項１に記載の回転角演算装置である。
【００１３】
この構成では、電源がオンされた後から、回転体の回転角の前回値が存在していなくても第１演算手段によって回転体の回転角を演算することができる条件が満たされるまでは、前記第２演算手段によって回転体の回転角が演算される。そして、このような条件が満たされたときおよびそれ以降においては、前記第１演算手段によって回転体の回転角が演算される。このため、電源がオンされた直後から、回転体の回転角を演算することが可能となる。
【００１４】
請求項３記載の発明は、前記選択手段は、前記第１演算手段によって前記回転体の回転角を演算すると仮定した場合に、前記第１演算手段によって用いられる前記複数の出力信号のうち、同じセンサに対する出力信号どうしが全て異なるという条件を満たしているときには、前記第１演算手段を前記回転体の回転角の演算に用いられる演算手段として選択し、前記条件を満たしていないときには、前記第２演算手段を前記回転体の回転角の演算に用いられる演算手段として選択するように構成されている、請求項１に記載の回転角演算装置である。
【００１５】
この構成では、回転体の回転角の前回値が存在していなくても第１演算手段によって回転体の回転角を演算することができる条件が満たされているときには、第１演算手段によって回転角が演算される。一方、このような条件が満たされていないときには、第２演算手段によって回転角が演算される。
請求項４記載の発明は、前記回転体の回転角の演算のために前記第１演算手段によって用いられる前記複数の出力信号の各々を数式化した場合において、得られた複数の数式の数をＸ、これらの数式に含まれる未知数の数をＹとすると、ＹがＸより大きいという条件を満たしており、前記第１演算手段は、前記複数の数式に含まれる未知数のうち、所定の複数の異なる未知数が互いに等しいとみなすことによってＹをＸ以下とした後に、前記複数の数式からなる連立方程式を解くことにより、前記回転体の回転角を演算するように構成されている、請求項１〜３のいずれか一項に記載の回転角演算装置である。
【００１６】
この構成では、第１演算手段は、回転体の回転角の演算に用いられる数式の数Ｘが、これらの数式に含まれている未知数の数Ｙより少なくても、回転体の回転角を演算することができる。これにより、第１演算手段によって回転角が演算されるときに、回転体の回転角を演算するために用いられる数式の数を少なくすることが可能となる。
請求項５記載の発明は、前記回転体の回転に応じて回転し、複数の磁極を有する多極磁石（６１；６２）を含み、前記複数のセンサは、前記多極磁石の回転に応じて、互いに所定の位相差を有する正弦波信号をそれぞれ出力する複数の磁気センサであり、前記第１演算手段は、前記複数のセンサのうちの２つのセンサにおける２つの異なるタイミングでサンプリングされた４つの出力信号を用いて、前記回転体の回転角を演算するように構成されており、前記複数の数式は前記４つの出力信号を数式化した４つの数式からなり、各数式は振幅および前記回転体の回転角を未知数として含んでおり、前記第１演算手段は、前記４つの数式に含まれる未知数のうち、同じセンサのサンプリングタイミングが異なる２つの出力信号の振幅が互いに等しいとみなすことによってＹをＸ以下にしている、請求項４に記載の回転角演算装置である。
【００１７】
この構成では、第１演算手段は、同じセンサのサンプリングタイミングが異なる２つの出力信号の振幅が互いに等しいとみなしている。同じセンサのサンプリングタイミングが異なる２つの出力信号の振幅は、温度変化の影響によって異なる値となる可能性がある。しかしながら、同じセンサの前記２つの出力信号のサンプリング間隔が小さいときには、その間の温度変化は非常に小さいので、前記２つの出力信号の振幅は等しいとみなすことができる。
【００１８】
したがって、この構成では、第１演算手段によって回転角が演算されるときに、同じセンサの前記２つの出力信号のサンプリング間隔を小さく設定した場合には、温度変化の影響による前記２つの出力信号の振幅のばらつきを補償することができる。また、この構成では、第１演算手段によって回転角が演算されるときには、各センサ間の振幅は、別々の未知数として扱っているので、各センサ間の温度特性のばらつきの影響を補償することができる。これにより、第１演算手段によって回転角が演算されるときには、精度の高い回転角を検出することができる。
【００１９】
請求項６記載の発明は、前記回転体の回転に応じて回転し、複数の磁極を有する多極磁石（６１；６２）を含み、前記複数のセンサは、前記多極磁石の回転に応じて、互いに所定の位相差を有する正弦波信号をそれぞれ出力する複数の磁気センサであり、前記第１演算手段は、前記複数のセンサのうちの２つのセンサにおける３つの異なるタイミングでサンプリングされた６つの出力信号を用いて、前記回転体の回転角を演算するように構成されており、前記複数の数式は前記６つの出力信号を数式化した６つの数式からなり、各数式は振幅、前記回転体の回転角および前記多極磁石の各磁極の磁極幅に関する情報を未知数として含んでおり、前記第１演算手段は、前記６つの数式に含まれる未知数のうち、同じセンサのサンプリングタイミングが異なる３つの出力信号の振幅が互いに等しいとみなすとともに、前記６つの数式に含まれている全ての磁極幅に関する情報が互いに等しいとみなすことにより、ＹをＸ以下にしている、請求項４に記載の回転角演算装置である。
【００２０】
この構成では、第１演算手段は、同じセンサのサンプリングタイミングが異なる３つの出力信号の振幅が互いに等しいとみなしている。同じセンサのサンプリングタイミングが異なる３つの出力信号の振幅は、温度変化の影響によって異なる値となる可能性がある。しかしながら、同じセンサの前記３つの出力信号のサンプリング間隔が小さいときには、その間の温度変化は非常に小さいので、前記３つの出力信号の振幅は等しいとみなすことができる。
【００２１】
したがって、この構成では、第１演算手段によって回転角が演算されるときに、同じセンサの前記３つの出力信号のサンプリング間隔を小さく設定した場合には、温度変化の影響による前記３つの出力信号の振幅のばらつきを補償することができる。また、この構成では、第１演算手段によって回転角が演算されるときには、各センサ間の振幅は、別々の未知数として扱っているので、各センサ間の温度特性のばらつきの影響を補償することができる。これにより、第１演算手段によって回転角が演算されるときには、精度の高い回転角を検出することができる。
【００２２】
また、この構成では、第１演算手段は、回転角の演算に用いられる６つの数式に含まれている全ての磁極幅に関する情報が互いに等しいとみなしている。磁極の磁極幅に関する情報は、磁極毎に異なる。このため、回転角の演算に用いられる６つの出力信号を表す数式に含まれている磁極幅に関する情報は、全て同じ値であるとは限らない。しかしながら、回転角の演算に用いられる６つの出力信号を提供するセンサが、これら６つの出力信号がサンプリングされている間において共に同じ一つの磁極を検出している場合には、これら６つの出力信号を表す数式に含まれている磁極幅に関する情報は全て同じ値となる。したがって、このような場合には、多極磁石の各磁極の磁極幅のばらつきをも補償できるので、より精度の高い回転角を検出することが可能となる。
【００２３】
請求項７記載の発明は、前記第２演算手段は、前記複数のセンサのうちの２つのセンサの１サンプリング分の出力信号と、予め設定された、これらの２つのセンサの出力信号の振幅比とを用いて、前記回転体の回転角を演算するように構成されている、請求項５または６に記載の回転角演算装置である。
２つのセンサの出力信号の振幅比は、磁極の磁束密度や２つのセンサの個体のばらつきの影響をほとんど受けない。このため、この構成では、第２演算手段によって回転角を簡易的に演算する場合でも、演算誤差を小さくできる。
【００２４】
請求項８記載の発明は、入力軸（８）、出力軸（９）およびこれらの２つの軸を連結するトーションバー（１０）を含むステアリングシャフト（６）と、操舵補助力を発生させるための電動モータ（１８）と、前記請求項１〜７のいずれか一項に記載の回転角演算装置から構成され、前記入力軸の回転角を第１の回転角として検出するための第１の回転角演算装置（６１，７１，７２，７７Ａ）と、前記請求項１〜７のいずれか一項に記載の回転角演算装置から構成され、前記出力軸の回転角を第２の回転角として検出するための第２の回転角演算装置（６２，７４，７５，７７Ｂ）と、前記第１の回転角演算装置によって検出された第１の回転角と、前記第２の回転角演算装置によって検出された第２の回転角と基づいて、前記入力軸に与えられる操舵トルクを演算する操舵トルク演算手段（７７Ｃ）と、前記操舵トルク演算手段によって演算された操舵トルクを用いて、前記電動モータに流すべき電流の目標値となる電流指令値を設定する電流指令値設定手段（４１）とを含み、前記電流指令値設定手段は、前記操舵トルクの演算に用いられた前記第１の回転角および前記第２の回転角のうちの少なくとも一方が、前記第２演算手段によって演算されたものであるときは、前記操舵トルクの絶対値が所定値以下である場合に、電流指令値を零に設定する不感帯設定手段を含んでいる、電動パワーステアリング装置である。
【００２５】
この発明によれば、入力軸の回転角および出力軸の回転角のうちの少なくとも一方が簡易モードによって演算されたことによって、操舵トルク演算手段によって演算される操舵トルクに誤差が発生したとしても、本来発生させるべき操舵補助トルクの方向と反対方向の操舵補助トルクが電動モータから発生されるのを防止することが可能となる。
請求項９記載の発明は、前記不感帯設定手段は、前記操舵トルクの演算に用いられた前記第１の回転角および前記第２の回転角の両方が、前記第２演算手段によって演算されたものであるときは、前記操舵トルクの絶対値が第１の所定値以下である場合に、電流指令値を零に設定する手段と、前記操舵トルクの演算に用いられた前記第１の回転角および前記第２の回転角のうちのいずれか一方のみが、前記第２演算手段によって演算されたものであるときは、前記操舵トルクの絶対値が前記第１の所定値より小さい第２の所定値以下である場合に、電流指令値を零に設定する手段と、を含んでいる請求項８に記載の電動パワーステアリング装置である。
【００２６】
この発明によれば、請求項８と同様の効果が得られる。また、この発明によれば、入力軸の回転角および出力軸の回転角のうち一方のみが簡易モードで演算されている場合には、その両方が簡易モードで演算されている場合に比べて、電流指令値が零とされる不感帯の幅を小さくすることができる。このため、操舵状況に応じた操舵補助が行われやすくなる。
【図面の簡単な説明】
【００２７】
【図１】図１は、本発明の一実施形態に係る回転角検出装置が適用された電動パワーステアリング装置の概略構成を示す模式図である。
【図２】図２は、トルクセンサの構成を図解的に示す模式図である。
【図３】図３は、第１の磁石の構成および２つの磁気センサの配置を示す模式図である。
【図４】図４は、第１磁気センサおよび第２磁気センサの出力波形を示す模式図である。
【図５】図５は、通常モードにおいて第１演算方法を採用する場合の第１の回転角演算部の動作を説明するためのフローチャートである。
【図６】図６は、通常モードにおいて第１演算方法を採用する場合の第１の回転角演算部の他の例の動作を説明するためのフローチャートである。
【図７】図６は、通常モードにおいて第２演算方法を採用する場合の第１の回転角演算部の動作を説明するためのフローチャートである。
【図８】図６は、通常モードにおいて第２演算方法を採用する場合の第１の回転角演算部の他の例の動作を説明するためのフローチャートである。
【図９】図９は、振幅比演算処理の手順を示すフローチャートである。
【図１０】図１０は、相対的極番号の設定処理の詳細な手順を示すフローチャートである。
【図１１】図１１は、相対的極番号の設定処理を説明するための模式図である。
【図１２】図１２は、モータ制御用ＥＣＵの電気的構成を示す概略図である。
【図１３】図１３は、電動モータの構成を図解的に示す模式図である。
【図１４】図１４Ａ〜図１４Ｂは、検出操舵トルクＴｈに対するｑ軸電流指令値Ｉｑ＊の設定例を示すグラフである。
【図１５】図１５は、従来の回転角検出装置による回転角検出方法を説明するための模式図である。
【図１６】図１６は、第１磁気センサおよび第２磁気センサの出力信号波形を示す模式図である。
【発明を実施するための形態】
【００２８】
以下では、この発明の実施形態を、添付図面を参照して詳細に説明する。
図１は、本発明の一実施形態に係る回転角検出装置が適用された電動パワーステアリング装置の概略構成を示す模式図である。
電動パワーステアリング装置１は、車両を操向するための操舵部材としてのステアリングホイール２と、このステアリングホイール２の回転に連動して転舵輪３を転舵する転舵機構４と、運転者の操舵を補助するための操舵補助機構５とを備えている。ステアリングホイール２と転舵機構４とは、ステアリングシャフト６および中間軸７を介して機械的に連結されている。
【００２９】
ステアリングシャフト６は、ステアリングホイール２に連結された入力軸８と、中間軸７に連結された出力軸９とを含む。入力軸８と出力軸９とは、トーションバー１０を介して同一軸線上で相対回転可能に連結されている。すなわち、ステアリングホイール２が回転されると、入力軸８および出力軸９は、互いに相対回転しつつ同一方向に回転するようになっている。
【００３０】
ステアリングシャフト６の周囲には、本発明の一実施形態に係る回転角検出装置が適用されたトルクセンサ（トルク検出装置）１１が設けられている。トルクセンサ１１は、入力軸８および出力軸９の相対回転変位量に基づいて、ステアリングホイール２に与えられた操舵トルクを検出する。トルクセンサ１１によって検出される操舵トルクは、モータ制御用ＥＣＵ（電子制御ユニット：Electronic  Control  Unit）１２に入力される。
【００３１】
転舵機構４は、ピニオン軸１３と、転舵軸としてのラック軸１４とを含むラックアンドピニオン機構からなる。ラック軸１４の各端部には、タイロッド１５およびナックルアーム（図示略）を介して転舵輪３が連結されている。ピニオン軸１３は、中間軸７に連結されている。ピニオン軸１３は、ステアリングホイール２の操舵に連動して回転するようになっている。ピニオン軸１３の先端には、ピニオン１６が連結されている。
【００３２】
ラック軸１４は、自動車の左右方向（直進方向に直交する方向）に沿って直線状に延びている。ラック軸１４の軸方向の中間部には、ピニオン１６に噛み合うラック１７が形成されている。このピニオン１６およびラック１７によって、ピニオン軸１３の回転がラック軸１４の軸方向移動に変換される。ラック軸１４を軸方向に移動させることによって、転舵輪３を転舵することができる。
【００３３】
ステアリングホイール２が操舵（回転）されると、この回転が、ステアリングシャフト６および中間軸７を介して、ピニオン軸１３に伝達される。そして、ピニオン軸１３の回転は、ピニオン１６およびラック１７によって、ラック軸１４の軸方向移動に変換される。これにより、転舵輪３が転舵される。
操舵補助機構５は、操舵補助力を発生するための電動モータ１８と、電動モータ１８の出力トルクを転舵機構４に伝達するための減速機構１９とを含む。電動モータ１８は、この実施形態では、三相ブラシレスモータからなる。減速機構１９は、ウォーム軸２０と、このウォーム軸２０と噛み合うウォームホイール２１とを含むウォームギヤ機構からなる。減速機構１９は、伝達機構ハウジングとしてのギヤハウジング２２内に収容されている。
【００３４】
ウォーム軸２０は、電動モータ１８によって回転駆動される。また、ウォームホイール２１は、ステアリングシャフト６とは同方向に回転可能に連結されている。ウォームホイール２１は、ウォーム軸２０によって回転駆動される。
電動モータ１８によってウォーム軸２０が回転駆動されると、ウォームホイール２１が回転駆動され、ステアリングシャフト６が回転する。そして、ステアリングシャフト６の回転は、中間軸７を介してピニオン軸１３に伝達される。ピニオン軸１３の回転は、ラック軸１４の軸方向移動に変換される。これにより、転舵輪３が転舵される。すなわち、電動モータ１８によってウォーム軸２０を回転駆動することによって、転舵輪３が転舵されるようになっている。
【００３５】
電動モータ１８のロータの回転角（ロータ回転角）は、レゾルバ等の回転角センサ２５によって検出される。回転角センサ２５の出力信号は、モータ制御用ＥＣＵ１２に入力される。電動モータ１８は、モータ制御装置としてのモータ制御用ＥＣＵ１２によって制御される。
図２は、トルクセンサ１１の構成を図解的に示す模式図である。
【００３６】
入力軸８には、環状の第１の磁石（多極磁石）６１が一体回転可能に連結されている。第１の磁石６１の下側には、第１の磁石６１の回転に応じて互いに位相差を有する正弦波状の信号をそれぞれ出力する２つの磁気センサ７１，７２が配置されている。
出力軸９には、環状の第２の磁石（多極磁石）６２が一体回転可能に連結されている。第２の磁石６２の上側には、第２の磁石６２の回転に応じて互いに位相差を有する正弦波状の信号をそれぞれ出力する２つの磁気センサ７４，７５が配置されている。
【００３７】
各磁気センサ７１，７２，７４，７５の出力信号Ｓ１，Ｓ２，Ｓ４，Ｓ５は、入力軸８に加えられる操舵トルクを演算するためのトルク演算用ＥＣＵ７７に入力されている。トルク演算用ＥＣＵ７７の電源は、イグニッションキーがオン操作されることによってオンとなる。イグニッションキーがオフ操作されたときには、そのことを示すイグニッションキーオフ操作信号が、トルク演算用ＥＣＵ７７に入力される。なお、磁気センサとしては、たとえば、ホール素子、磁気抵抗素子（ＭＲ素子）等、磁界の作用により電気的特性が変化する特性を有する素子を備えたものを用いることができる。この実施形態では、磁気センサとしては、ホール素子が用いられている。
【００３８】
前記磁石６１，６２、前記磁気センサ７１，７２，７４，７５およびトルク演算用ＥＣＵ７７によって、トルクセンサ１１が構成されている。
トルク演算用ＥＣＵ７７は、マイクロコンピュータを含んでいる。マイクロコンピュータは、ＣＰＵおよびメモリ（ＲＯＭ，ＲＡＭ，不揮発性メモリ等）を備えており、所定のプログラムを実行することによって、複数の機能処理部として機能する。この複数の機能処理部には、第１の回転角演算部７７Ａと、第２の回転角演算部７７Ｂと、トルク演算部７７Ｃと、第１の振幅比演算部７７Ｄと、第２の振幅比演算部７７Ｅとを含んでいる。
【００３９】
第１の振幅比演算部７７Ｄは、作業者等によってトルク演算用ＥＣＵ７７の動作モードが振幅比演算モードに設定されたときに、２つの磁気センサ７１，７２の出力信号Ｓ１，Ｓ２に基づいて、これらの出力信号Ｓ１，Ｓ２の振幅比を検出して、不揮発性メモリに記憶する。第２の振幅比演算部７７Ｅは、作業者等によってトルク演算用ＥＣＵ７７の動作モードが振幅比演算モードに設定されたときに、２つの磁気センサ７４，７５の出力信号Ｓ４，Ｓ５に基づいて、これらの出力信号Ｓ４，Ｓ５の振幅比を検出して、不揮発性メモリに記憶する。たとえば、電動パワーステアリング装置１の出荷前に、トルク演算用ＥＣＵ７７の動作モードが振幅比演算モードに設定される。第１の位相差演算部７７Ｄおよび第２の位相差演算部７７Ｅの動作の詳細については後述する。
【００４０】
第１の回転角演算部７７Ａは、２つの磁気センサ７１，７２の出力信号Ｓ１，Ｓ２と、不揮発性メモリに記憶されているこれらの出力信号Ｓ１，Ｓ２の振幅比に基づいて入力軸８の回転角（電気角θＡ）を演算する。第２の回転角演算部７７Ｂは、２つの磁気センサ７４，７５の出力信号Ｓ４，Ｓ５と、不揮発性メモリに記憶されているこれらの出力信号Ｓ４，Ｓ５の振幅比に基づいて出力軸９の回転角（電気角θＢ）を演算する。
【００４１】
トルク演算部７７Ｃは、第１の回転角演算部７７Ａによって検出された入力軸８の回転角θＡと第２の回転角演算部７７Ｂによって検出された出力軸９の回転角θＢとに基づいて、入力軸８に加えられた操舵トルクＴｈを演算する。具体的には、操舵トルクＴｈは、トーションバー１０のバネ定数をＫとし、各磁石６１，６２に設けられた磁極対数をＮとすると、次式(1)に基づいて演算される。
【００４２】
Ｔｈ＝｛（θＡ−θＢ）／Ｎ｝×Ｋ      …(1)
第１の磁石６１、磁気センサ７１，７２および第１の回転角演算部７７Ａによって、入力軸８の回転角θＡを検出するための第１の回転角検出装置が構成されている。また、第２の磁石６２、磁気センサ７４，７５および第２の回転角演算部７７Ｂによって、出力軸９の回転角θＢを検出するための第２の回転角検出装置が構成されている。第１の回転角検出装置（第１の回転角演算部７７Ａ）の動作と第２の回転角検出装置（第２の回転角演算部７７Ｂ）動作は同様であるので、以下、第１の回転角検出装置（第１の回転角演算部７７Ａ）の動作についてのみ説明する。
【００４３】
図３は、第１の磁石６１の構成および２つの磁気センサの配置を示す模式図である。
第１の磁石６１は、周方向に等角度間隔で配された４組の磁極対（Ｍ１，Ｍ２），（Ｍ３，Ｍ４），（Ｍ５，Ｍ６），（Ｍ７，Ｍ８）を有している。つまり、第１の磁石６１は、等角度間隔で配置された８個の磁極Ｍ１〜Ｍ８を有している。各磁極Ｍ１〜Ｍ８は、入力軸８の中心軸を中心として、ほぼ４５°（電気角ではほぼ１８０°）の角度間隔（角度幅）で配置されている。各磁極Ｍ１〜Ｍ８の磁力の大きさは、ほぼ一定である。
【００４４】
２つの磁気センサ７１，７２は、第１の磁石６１の下側の環状端面に対向して、配置されている。これらの磁気センサ７１，７２は、入力軸８の中心軸を中心として電気角で１２０°の角度間隔で配置されている。以下において、一方の磁気センサ７１を第１磁気センサ７１といい、他方の磁気センサ７２を第２磁気センサ７２という場合がある。
図３に矢印で示す方向を入力軸８の正方向の回転方向とする。そして、入力軸８が正方向に回転されると入力軸８の回転角が大きくなり、入力軸８が逆方向に回転されると、入力軸２の回転角が小さくなるものとする。各磁気センサ７１，７２からは、図４に示すように、入力軸８の回転に伴って、正弦波状の信号Ｓ１，Ｓ２が出力される。なお、図４の横軸の回転角［deg］は、機械角を表している。
【００４５】
以下において、第１磁気センサ７１の出力信号Ｓ１を第１出力信号Ｓ１または第１センサ値Ｓ１といい、第２磁気センサ７２の出力信号Ｓ２を第２出力信号Ｓ２または第２センサ値Ｓ２という場合がある。
以下においては、説明の便宜上、入力軸８の回転角をθＡではなく、θで表すことにする。各出力信号Ｓ１，Ｓ２が正弦波信号であるとみなし、入力軸８の回転角をθ（電気角）とすると、第１磁気センサ７１の出力信号Ｓ１は、Ｓ１＝Ａ１・sinθと表され、第２磁気センサ７２の出力信号Ｓ２は、Ｓ２＝Ａ２・sin（θ＋１２０）と表される。Ａ１，Ａ２は、それぞれ振幅を表している。第１出力信号Ｓ１と第２出力信号Ｓ２との位相差は１２０度である。
【００４６】
第１の回転角演算部７７Ａによる回転角θの演算モードには、通常モードと簡易モードとがある。まず、通常モードによる回転角演算方法の基本的な考え方について説明する。通常モードによる回転角演算方法には、２通りの方法がある。一番目は、２つの磁気センサ７１，７２における２サンプリング分の出力信号に基づいて回転角θを演算する方法（以下、「第１演算方法」という。）である。二番目は、２つの磁気センサ７１，７２における３サンプリング分の出力信号に基づいて回転角θを演算する方法（以下、「第２演算方法」という）である。
【００４７】
第１演算方法の基本的な考え方について説明する。第１出力信号Ｓ１と第２出力信号Ｓ２との位相差（電気角）をＣで表すことにする。また、今回のサンプリング周期の番号（今回の演算周期の番号）を[n]、前回のサンプリング周期の番号（前回の演算周期の番号）を[n-1]で表すことにする。
位相差Ｃおよびサンプリング周期の番号[n]，[n-1]を用いると、今回サンプリングされた第１出力信号Ｓ１、前回サンプリングされた第１出力信号Ｓ１、今回サンプリングされた第２出力信号Ｓ２および前回サンプリングされた第２出力信号Ｓ２を、それぞれ次式(2a)，(2b)，(2c)，(2d)で表すことができる。
【００４８】
Ｓ１[n]＝Ａ１[n］sinθ[n］                …(2a)
Ｓ１[n-1]＝Ａ１[n-1］sinθ[n-1］          …(2b)
Ｓ２[n]＝Ａ２[n］sin（θ[n］＋Ｃ）        …(2c)
Ｓ２[n-1]＝Ａ２[n-1］sin（θ[n-1］＋Ｃ）  …(2d)
Ｃが既知であるとすると、これら４つの式に含まれる未知数（Ａ１[n］，Ａ１[n-1］，Ａ２[n］，Ａ２[n-1］，θ[n］，θ[n-1］）の数は６となる。つまり、未知数の数が方程式の数より多いため、このままでは、４つの式からなる連立方程式を解くことができない。
【００４９】
そこで、サンプリング間隔（サンプリング周期）を短く設定することにより、２サンプリング間の温度変化による振幅の変化がないとみなす。つまり、２サンプリング間の第１磁気センサ７１の出力信号の振幅Ａ１[n］，Ａ１[n-1］が互いに等しいとみなして、これらをＡ１で表すことにする。同様に、２サンプリング間の第２磁気センサ７２の出力信号の振幅Ａ２[n］，Ａ２[n-1］が互いに等しいとみなし、これらをＡ２で表すことにする。これにより、前記式(2a)，(2b)，(2c)および(2d)を、それぞれ次式(3a)，(3b)，(3c)および(3d)で表わすことができる。
【００５０】
Ｓ１[n]＝Ａ１sinθ[n］                …(3a)
Ｓ１[n-1]＝Ａ１sinθ[n-1]            …(3b)
Ｓ２[n]＝Ａ２sin（θ[n］＋Ｃ）        …(3c)
Ｓ２[n-1]＝Ａ２sin（θ[n-1］＋Ｃ）    …(3d)
これら４つの式に含まれる未知数（Ａ１，Ａ２，θ[n］，θ[n-1］）の数は４となる。つまり、未知数の数が方程式の数以下となるため、４つの式からなる連立方程式を解くことができる。したがって、前記４つの式(3a)，(3b)，(3c)および(3d) からなる連立方程式を解くことにより、入力軸８の回転角θ[n］を演算することができる。
【００５１】
以下、両磁気センサ７１，７２間の位相差Ｃが１２０度である場合について、具体的に説明する。位相差Ｃが１２０度である場合には、前記４つの式(3a)，(3b)，(3c)および(3d)は、それぞれ次式(4a)，(4b)，(4c)および(4d)で表わすことができる。
Ｓ１[n]＝Ａ１sinθ[n］                  …(4a)
Ｓ１[n-1]＝Ａ１sinθ[n-1]              …(4b)
Ｓ２[n]＝Ａ２sin（θ[n］＋１２０）      …(4c)
Ｓ２[n-1]＝Ａ２sin（θ[n-1］＋１２０）  …(4d)
前記４つの式(4a)，(４b)，(４c)および(４d)からなる連立方程式を解くと、入力軸８の回転角θ[n］は、次式(5)（以下、「基本演算式(5)」という。）で表わされる。
【００５２】
【数１】
2014115259.tif 000003
したがって、両磁気センサ間の位相差Ｃが１２０度である場合には、４つのセンサ値Ｓ１[n]，Ｓ１[n-1]，Ｓ２[n]，Ｓ２[n-1]と基本演算式(5)を用いて、入力軸８の回転角θ[n］を演算することができる。
【００５３】
ただし、基本演算式(5)に含まれている分数のいずれかの分母が零になる場合には、基本演算式(5)に基づいて回転角θ[n]を演算することはできない。そこで、この実施形態では、基本演算式(5) に含まれている分数のいずれかの分母が零になる場合には、基本演算式(5)とは異なる演算式によって回転角θ[n］を演算するようにしている。さらに、この実施形態では、基本演算式(5)によって回転角θ[n]を演算することができるけれども、より簡単な演算式によって回転角θ[n]を演算できる場合には、基本演算式(5)とは異なる演算式によって回転角θ[n］を演算するようにしている。この実施形態では、基本演算式(5)より簡単に回転角θ[n]を演算できる場合とは、Ｓ２[n]＝０の場合またはＳ１［n］＝０の場合である。
【００５４】
この実施形態では、回転角θ[n］を演算するための演算式として、基本演算式(5)を含めて１０種類の演算式が用意されている。表１は、１０種類の演算式と、その演算式が適用される条件とを示している。なお、回転角θ[n］を演算する際には、表１の上から順番にその条件を満たしているか否かが判別され、条件を満たしたと判別されるとそれ以降の条件判別は行われず、当該条件に対応する演算式により、回転角θ[n］が演算される。
【００５５】
【表１】
2014115259.tif 000004
【００５６】
表１の上から１番目の演算式は、基本演算式(5)である。基本演算式(5)は、Ｓ１[n]およびＳ２［n］のいずれもが零でなく、かつ基本演算式(5) に含まれている分数のいずれの分母も零でないという条件を満たしている場合に、適用される。基本演算式(5)に含まれている分数のいずれの分母も零でないという条件は、ｐ１−ｐ２≠０でかつ、ｐ１２＋ｐ１ｐ２＋ｐ２２≠０でかつ、Ｓ１［n-1］≠０でかつＳ２［n-1］≠０である場合に満たされる。なお、Ｓ１［n-1］はｐ１の分母であり、Ｓ２［n-1］はｐ２の分母である。
【００５７】
ただし、ｐ１２＋ｐ１ｐ２＋ｐ２２＝０が成立するのは、ｐ１＝ｐ２＝０の場合だけであるが、第１磁気センサ７１と第２磁気センサ７２とは位相が１２０度ずれているため、両磁気センサ７１，７２のセンサ値Ｓ１，Ｓ２が同時に零になることはない。このため、ｐ１２＋ｐ１ｐ２＋ｐ２２＝０が成立することはない。したがって、基本演算式(5)に含まれている分数のいずれの分母も零でないという条件は、ｐ１−ｐ２≠０でかつ、Ｓ１［n-1］≠０でかつＳ２［n-1］≠０である場合に満たされる。  表１の上から２番目の演算式は、ｐ１−ｐ２＝０である場合に適用される演算式である。ｐ１−ｐ２＝０が成立する場合について検討する。この場合には、ｐ１＝ｐ２であるから、次式(6)が成立する。
【００５８】
【数２】
2014115259.tif 000005
これを変形すると、次式(7)が得られる。
【００５９】
【数３】
2014115259.tif 000006
前記式(7)が成立する場合とは、θ[n］とθ[n-1］とが等しい場合である。つまり、今回の回転角θ[n］が前回の回転角θ[n-1］に等しい場合である。そこで、Ｓ１[n]およびＳ２［n］のいずれもが零でなく、かつｐ１の分母Ｓ１［n-1］およびｐ２の分母Ｓ２［n-1］のいずれもが零でなく、かつｐ１−ｐ２＝０であるという条件を満たした場合には、前回に演算された回転角θ[n-1］が今回の回転角θ[n］として用いられる。
【００６０】
表１の上から３番目および４番目の演算式は、ｐ１の分母Ｓ１[n-1］が零となる場合に適用される演算式である。Ｓ１[n-1]＝Ａ１sinθ[n-1］であるので、sinθ[n-1］＝０のときに、Ｓ１[n-1］＝０となる。つまり、θ[n-1］が０度または１８０度のときに、Ｓ１[n-1］が零となる。Ｓ２[n-1]＝Ａ２sin（θ[n-1］＋１２０）であるので、θ[n-1］が０度のときにはＳ２[n-1］＞０となり、θ[n-1］が１８０度のときにはＳ２[n-1］＜０となる。したがって、Ｓ１[n-1］＝０でかつＳ２[n-1］＞０のときにはθ[n-1］＝０となり、Ｓ１[n-1］＝０でかつＳ２[n-1］＜０のときにはθ[n-1］＝１８０となる。
【００６１】
θ[n-1］＝０である場合には、前記式 (4c)，(4d)は、それぞれ次式 (8c)，(8d)で表される。
Ｓ２[n]＝Ａ２sin（θ[n］＋１２０）      …(8c)
Ｓ２[n-1]＝Ａ２sin１２０＝√３／２・  Ａ２…(8d)
前記式(8d)から、次式(9)が得られる。
【００６２】
Ａ２＝（２／√３）・Ｓ２[n-1]       …(9)
前記式(9)を前記式(8c)に代入すると、次式(10)が得られる。
sin（θ[n］＋１２０）＝（√３／２）・（Ｓ２[n]／Ｓ２[n-1]）      …(10)
したがって、回転角θ[n］は、次式(11)により演算することができる。
【００６３】
【数４】
2014115259.tif 000007
つまり、表１の上から３番目に示すように、Ｓ１[n]およびＳ２［n］のいずれもが零でなく、かつｐ２の分母Ｓ２[n-1]が零でなく、かつｐ１の分母Ｓ１[n-1]が零であり、かつＳ２[n-1］＞０であるという条件を満たした場合には、前記式(11)で表される演算式に基づいて回転角θ[n］が演算される。
【００６４】
一方、θ[n-1］＝１８０である場合には、前記式 (4c)，(4d)は、それぞれ次式 (12c)，(12d)で表される。
Ｓ２[n]＝Ａ２sin（θ[n］＋１２０）      …(12c)
Ｓ２[n-1]＝Ａ２sin３００＝−√３／２・  Ａ２…(12d)
前記式(12d)から、次式(13)が得られる。
【００６５】
Ａ２＝（−２／√３）・Ｓ２[n-1]       …(13)
前記式(13)を前記式(12c)に代入すると、次式(14)が得られる。
sin（θ[n］＋１２０）＝（−√３／２）・（Ｓ２[n]／Ｓ２[n-1]）      …(14)
したがって、回転角θ[n］は、次式(15)により演算することができる。
【００６６】
【数５】
2014115259.tif 000008
つまり、表１の上から４番目に示すように、Ｓ１[n]およびＳ２［n］のいずれもが零でなく、かつｐ２の分母Ｓ２[n-1]が零でなく、かつｐ１の分母Ｓ１[n-1]が零であり、かつＳ２[n-1］＜０であるという条件を満たした場合には、前記式(15)で表される演算式に基づいて回転角θ[n］が演算される。
【００６７】
表１の上から５番目および６番目の演算式は、Ｓ２[n]＝０となる場合に適用される演算式である。Ｓ２[n]＝Ａ２sin（θ[n］＋１２０）であるので、sin（θ[n］＋１２０）＝０のときに、Ｓ２[n]＝０となる。つまり、θ[n］が−１２０度または６０度のときに、Ｓ２[n]＝０となる。Ｓ１[n]＝Ａ１sinθ[n］であるので、θ[n］が−１２０度のときにはＳ１[n]＜０となり、θ[n］が６０度のときにはＳ１[n]＞０となる。したがって、Ｓ２[n]＝０でかつＳ１[n]＞０のときにはθ[n］＝６０となり、Ｓ２[n]＝０でかつＳ１[n]＜０であればθ[n］＝−１２０となる。
【００６８】
つまり、表１の上から５番目に示すように、Ｓ１［n］が零でなく、かつｐ２の分母Ｓ２[n-1]が零でなく、かつＳ２[n]＝０であり、かつＳ１[n]＞０であるという条件を満たした場合には、回転角θ[n］は６０度として演算される。また、表１の上から６番目に示すように、Ｓ１［n］が零でなく、かつｐ２の分母Ｓ２[n-1]が零でなく、かつＳ２[n]＝０であり、かつＳ１[n]＞０であるという条件を満たした場合には、回転角θ[n］は−１２０度として演算される。
【００６９】
表１の上から７番目および８番目の演算式は、ｐ２の分母Ｓ２[n-1]が零となる場合に適用される演算式である。Ｓ２[n-1]＝Ａ２sin（θ[n-1］＋１２０）であるので、sin（θ[n-1］＋１２０）＝０のときに、Ｓ２[n-1］＝０となる。つまり、θ[n-1］が−１２０度または６０度のときに、Ｓ２[n-1]が零となる。Ｓ１[n-1]＝Ａ１sinθ[n-1］であるので、θ[n-1］が−１２０度のときにはＳ１[n-1］＜０となり、θ[n-1］が６０度のときにはＳ１[n-1］＞０となる。したがって、Ｓ２[n-1］＝０でかつＳ１[n-1］＞０のときにはθ[n-1］＝６０となり、Ｓ２[n-1］＝０でかつＳ１[n-1］＜０のときにはθ[n-1］＝−１２０となる。
【００７０】
θ[n-1］＝６０である場合には、前記式 (4a)，(4b)は、それぞれ次式 (16a)，(16b)で表される。
Ｓ１[n]＝Ａ１sinθ[n］                  …(16a)
Ｓ１[n-1]＝Ａ１sin６０＝√３／２・  Ａ１  …(16b)
前記式(16b)から、次式(17)が得られる。
【００７１】
Ａ１＝（２／√３）・Ｓ１[n-1]       …(17)
前記式(17)を前記式(16a)に代入すると、次式(18)が得られる。
sinθ[n］＝（√３／２）・（Ｓ１[n]／Ｓ１[n-1]）      …(18)
したがって、回転角θ[n］は、次式(19)により演算することができる。
【００７２】
【数６】
2014115259.tif 000009
つまり、表１の上から７番目に示すように、Ｓ１［n］が零でなく、かつｐ２の分母Ｓ２[n-1］が零であり、かつＳ１[n-1］＞０であるという条件を満たした場合には、前記式(19)で表される演算式に基づいて回転角θ[n］が演算される。
【００７３】
一方、θ[n-1］＝−１２０である場合には、前記式 (4a)，(4b)は、それぞれ次式 (20a)，(20b)で表される。
Ｓ１[n]＝Ａ１sinθ[n］                              …(20a)
Ｓ１[n-1]＝Ａ１sin（−１２０）＝−√３／２・  Ａ２  …(20b)
前記式(20b)から、次式(21)が得られる。
【００７４】
Ａ１＝（−２／√３）・Ｓ１[n-1]       …(21)
前記式(21)を前記式(20a)に代入すると、次式(22)が得られる。
sinθ[n］＝（−√３／２）・（Ｓ１[n]／Ｓ１[n-1]）      …(22)
したがって、回転角θ[n］は、次式(23)により演算することができる。
【００７５】
【数７】
2014115259.tif 000010
つまり、表１の上から８番目に示すように、Ｓ１［n］が零でなく、かつｐ２の分母Ｓ２[n-1]が零であり、かつＳ１[n-1］＜０であるという条件を満たした場合には、前記式(23)で表される演算式に基づいて回転角θ[n］が演算される。
【００７６】
表１の上から９番目および１０番目の演算式は、Ｓ１[n]＝０となる場合に適用される演算式である。Ｓ１[n]＝Ａ１sinθ[n］であるので、sinθ[n］＝０のときに、Ｓ１[n]＝０となる。つまり、θ[n］が０度または１８０度のときに、Ｓ１[n]＝０となる。Ｓ２[n]＝Ａ２sin（θ[n］＋１２０]であるので、θ[n］が０度のときにはＳ２[n]＞０となり、θ[n］が１８０度のときにはＳ２[n]＜０となる。したがって、Ｓ１[n]＝０でかつＳ２[n]＞０であればθ[n］＝０となり、Ｓ１[n]＝０でかつＳ２[n]＜０であればθ[n］＝１８０となる。
【００７７】
つまり、表１の上から９番目に示すように、Ｓ１［n］が零であり、かつＳ２[n]＞０であるという条件を満たした場合には、回転角θ[n］は０度として演算される。また、表１の上から１０番目に示すように、Ｓ１［n］が零であり、かつＳ２[n]＜０であるという条件を満たした場合には、回転角は１８０度として演算される。
第１演算方法では、２つの磁気センサ７１，７２における２サンプリング分の出力信号に基づいて入力軸８の回転角θ[n]を演算しているので、精度の高い回転角を演算することが可能となる。また、第１演算方法では、入力軸８の回転角θ[n]の演算に用いられる数式の数が、これらの数式に含まれている本来の未知数の数より少なくても、入力軸８の回転角θ[n]を演算することができるので、入力軸８の回転角θ[n]を演算するために必要なセンサ値の数を少なくすることが可能となる。
【００７８】
第１演算方法では、サンプリング周期を短く設定することによって、２サンプリング間での同じ磁気センサの出力信号の振幅（Ａ１[n]とＡ１[n-1]，Ａ２[n]とＡ２[n-1]）が互いに等しいとみなしている。２サンプリング間での同じ磁気センサの出力信号の振幅は、温度変化の影響によって異なる値となる可能性がある。しかしながら、サンプリング間隔が小さい場合には、２サンプリング間の温度変化は非常に小さいので、２サンプリング間での同じ磁気センサの出力信号の振幅は等しいとみなすことができる。したがって、第１演算方法では、２サンプリング間での温度変化の影響による振幅のばらつきを補償することができる。また、第１演算方法では、磁気センサ７１，７２間の振幅Ａ１，Ａ２は、別々の未知数として扱っているので、各磁気センサ７１，７２間の温度特性のばらつきの影響を補償することができる。これにより、精度の高い回転角を検出することができる。
【００７９】
次に、第２演算方法の基本的な考え方について説明する。第１出力信号Ｓ１と第２出力信号Ｓ２との位相差（電気角）をＣで表すことにする。また、今回のサンプリング周期の番号（今回の演算周期の番号）を[n]、前回のサンプリング周期の番号を[n-1]、前々回のサンプリング周期の番号を[n-2]で表すことにする。また、各磁極Ｍ１〜Ｍ８の角度幅（磁極幅）のばらつきに基づく回転角演算誤差を補正するための補正値を、角度幅誤差補正値といい、Ｅで表すことにする。
【００８０】
位相差Ｃ、サンプリング周期の番号[n]，[n-1]，[n-2]および角度幅誤差補正値Ｅを用いると、今回、前回および前々回にサンプリングされた第１出力信号Ｓ１ならびに今回、前回および前々回にサンプリングされた第２出力信号Ｓ２を、それぞれ次式(24a)，(24b)，(24c)，(24d)，(24e)，(24f)で表すことができる。
Ｓ１[n]＝Ａ１[n］sin（Ｅ１［n］θ［n］）              …(24a)
Ｓ１[n-1]＝Ａ１[n-1］sin（Ｅ１［n-1］θ[n-1］）      …(24b)
Ｓ１[n-2]＝Ａ１[n-2］sin（Ｅ１［n-2］θ[n-2］）      …(24c)
Ｓ２[n]＝Ａ２[n］sin（Ｅ２［n］θ[n］＋Ｃ）          …(24d)
Ｓ２[n-1]＝Ａ２[n-1］sin（Ｅ２[n-1］θ[n-1］＋Ｃ）  …(24e)
Ｓ２[n-2]＝Ａ２[n-2］sin（Ｅ２[n-2］θ[n-2］＋Ｃ）  …(24f)
前記式(24a)〜(24f)において、Ｅ１［ｘ］は、ｘ番目の演算周期において第１磁気センサ７１が検出している磁極に対応する角度幅誤差補正値である。Ｅ２［ｘ］は、ｘ番目の演算周期において第２磁気センサ７２が検出している磁極に対応する角度幅誤差補正値である。
【００８１】
ある磁極の角度幅をｗ（電気角）とすると、その磁極の角度幅誤差θｅｒｒ（電気角）は、次式(25)で定義される。
θｅｒｒ＝ｗ−１８０    …(25)
その磁極に対する角度幅誤差補正値Ｅは、次式(26)で定義される。
Ｅ＝１８０／ｗ
＝１８０／（θｅｒｒ＋１８０）    …(26)
各磁極の角度幅誤差補正値Ｅは、各磁極の磁極幅に関する情報である。なお、各磁極の磁極幅に関する情報は、各磁極の角度幅ｗであってもよいし、各磁極の角度幅誤差θｅｒｒであってもよい。
【００８２】
Ｃが既知であるとすると、前記式(24a)〜(24f)で表される６つの式に含まれる未知数の数は１６となる。つまり、未知数の数が方程式の数より多いため、このままでは、６つの式からなる連立方程式を解くことができない。
そこで、サンプリング間隔（サンプリング周期）を短く設定することにより、３サンプリング間の温度変化による振幅の変化がないとみなす。つまり、３サンプリング間の第１磁気センサ７１の出力信号の振幅Ａ１[n］，Ａ１[n-1］，Ａ１[n-2］が互いに等しいとみなして、これらをＡ１とする。同様に、３サンプリング間の第２磁気センサ７２の出力信号の振幅Ａ２[n］，Ａ２[n-1］，Ａ２[n-2］が互いに等しいとみなし、これらをＡ２とする。
【００８３】
さらに、３サンプリング間において、両磁気センサ７１，７２が共に同じ１つの磁極を検出しているとみなす。つまり、３サンプリング分の両磁気センサ７１，７２の出力信号に含まれている角度幅誤差補正値Ｅ１［n］，Ｅ１［n-1］，Ｅ１［n-2］，Ｅ２［n］，Ｅ２[n-1］，Ｅ２[n-2］の全てが同じ磁極に対応する角度幅誤差補正値であるとみなし、Ｅで表すことにする。これにより、前記式(24a)〜(24f)を、それぞれ次式(27a)〜(27f)で表わすことができる。
【００８４】
Ｓ１[n]＝Ａ１sin（Ｅθ[n］）            …(27a)
Ｓ１[n-1]＝Ａ１sin（Ｅθ[n-1］）        …(27b)
Ｓ１[n-2]＝Ａ１sin（Ｅθ[n-2］）        …(27c)
Ｓ２[n]＝Ａ２sin（Ｅθ[n］＋Ｃ）        …(27d)
Ｓ２[n-1]＝Ａ２sin（Ｅθ[n-1］＋Ｃ）    …(27e)
Ｓ２[n-2]＝Ａ２sin（Ｅθ[n-2］＋Ｃ）    …(27f) 
これら６つの式に含まれる未知数（Ａ１，Ａ２，Ｅ，θ[n］，θ[n-1］，θ[n-2］）の数は６となる。つまり、未知数の数が方程式の数以下となるため、６つの式からなる連立方程式を解くことができる。したがって、前記６つの式(27a)〜(27f) からなる連立方程式を解くことにより、入力軸８の回転角θ[n］を演算することができる。
【００８５】
以下、両磁気センサ間の位相差Ｃが１２０度である場合について、具体的に説明する。位相差Ｃが１２０度である場合には、前記６つの式(27a)〜(27f) は、それぞれ次式(28a)〜(28f)で表わすことができる。
Ｓ１[n]＝Ａ１sin（Ｅθ[n］）              …(28a)
Ｓ１[n-1]＝Ａ１sin（Ｅθ[n-1］）          …(28b)
Ｓ１[n-2]＝Ａ１sin（Ｅθ[n-2］）          …(28c)
Ｓ２[n]＝Ａ２sin（Ｅθ[n］＋１２０）        …(28d)
Ｓ２[n-1]＝Ａ２sin（Ｅθ[n-1］＋１２０）    …(28e)
Ｓ２[n-2]＝Ａ２sin（Ｅθ[n-2］＋１２０）    …(28f) 
前記基本演算式(5)より、Ｅθ[n］は次式(29)で表される。
【００８６】
【数８】
2014115259.tif 000011
また、前記６つの式(28a)〜(28f)からなる連立方程式を解くことにより、角度幅誤差補正値Ｅは、次式(30)で表わされる。
【００８７】
【数９】
2014115259.tif 000012
したがって、前記式(29)により演算されたＥθ[n］を、前記式(30)により演算された角度幅誤差補正値Ｅで除することにより、θ[n］を求めることができる。つまり、次式(31)により、θ[n］を求めることができる。
【００８８】
θ［n］＝Ｅθ[n］／Ｅ    …(31)
ただし、Ｅθ[n］については、前記表１にしたがって、条件に応じた演算式に基づいて演算を行う。また、角度幅誤差補正値Ｅについては、前記式(30) に含まれている分数のいずれかの分母が零になる場合には、前記式(30)に基づいて角度幅誤差補正値Ｅを演算することができない。そこで、この実施形態では、前記式(30) に含まれている分数のいずれかの分母が零になる場合には、前回に演算された角度幅誤差補正値Ｅを今回の角度幅誤差補正値Ｅとして用いるようにしている。
【００８９】
なお、前記式(30) に含まれている分数のいずれかの分母が零になる場合とは、次式(32)，(33)，（34）でそれぞれ表される３つの条件のうちの少なくとも１つの条件を満たす場合である。
【００９０】
【数１０】
2014115259.tif 000013
第２演算方法では、２つの磁気センサ７１，７２における３サンプリング分の出力信号に基づいて入力軸８の回転角θ[n]を演算しているので、精度の高い回転角を演算することが可能となる。また、第２演算方法では、入力軸８の回転角θ[n]の演算に用いられる数式の数が、これらの数式に含まれている本来の未知数の数より少なくても、入力軸８の回転角θ[n]を演算することができるので、入力軸８の回転角θ[n]を演算するために必要なセンサ値の数を少なくすることが可能となる。
【００９１】
第２演算方法では、３サンプリング間での同じ磁気センサの出力信号の振幅（Ａ１[n]とＡ１[n-1] とＡ１[n-2]，Ａ２[n]とＡ２[n-1] とＡ２[n-2]）が互いに等しいとみなしている。３サンプリング間での同じ磁気センサの出力信号の振幅は、温度変化の影響によって異なる値となる可能性がある。しかしながら、サンプリング間隔が小さい場合には、３サンプリング間の温度変化は非常に小さいので、３サンプリング間での同じ磁気センサの出力信号の振幅は等しいとみなすことができる。したがって、第２演算方法では、３サンプリング間での温度変化の影響による振幅のばらつきを補償することができる。また、第２演算方法では、磁気センサ７１，７２間の振幅Ａ１，Ａ２は、別々の未知数として扱っているので、各磁気センサ７１，７２間の温度特性のばらつきの影響を補償することができる。これにより、精度の高い回転角を検出することができる。
【００９２】
また、第２演算方法では、回転角θ[n]の演算に用いられる６つの数式に含まれている全ての角度幅誤差補正値Ｅが互いに等しいとみなしている。各磁極の角度幅誤差補正値Ｅは、磁極毎に異なる。このため、回転角θ[n]の演算に用いられる６つの出力信号Ｓ１[n]，Ｓ１[n-1]，Ｓ１[n-2]，Ｓ２[n]，Ｓ２[n-1] ，Ｓ２[n-2]を表す数式に含まれている角度幅誤差補正値Ｅは、全て同じ値になるとは限らない。しかしながら、２つの磁気センサ７１，７２が、３サンプリング間において共に同じ１つの磁極を検出している場合には、これらの複数の出力信号を表す数式に含まれている角度幅誤差補正値Ｅは全て同じ値となる。したがって、第２演算方法では、２つの磁気センサ７１，７２が、３サンプリング間において共に同じ１つの磁極を検出している場合には、磁石６１の各磁極Ｍ１〜Ｍ８の角度幅（磁極幅）のばらつきをも補償できるので、より精度の高い回転角を検出することが可能となる。
【００９３】
次に、簡易モードによる回転角演算方法について説明する。簡易モードは、第１磁気センサ７１および第２磁気センサ７２における１サンプリング分の出力信号と、不揮発性メモリに記憶されている、これら２つの磁気センサ７１，７２の出力信号の振幅比とに基づいて、入力軸８の回転角θを演算するモードである。
前記第２演算方法において説明したように、今回サンプリングされた第１出力信号Ｓ１および第２出力信号Ｓ２は、それぞれ次式(35)，(36)で表される。
【００９４】
Ｓ１[n]＝Ａ１[n］sin（Ｅ１［n］θ［n］）              …(35) 
Ｓ２[n]＝Ａ２[n］sin（Ｅ２［n］θ［n］＋Ｃ）              …(36) 
Ａ１[n］をＡ１で表し、Ａ２[n］をＡ２で表すことにする。また、両磁気センサ７１，７２がともに同じ磁極を検出しているとみなす。つまり、Ｅ１［n］およびＥ２［n］が同じ磁極に対応する角度幅誤差補正値とみなし、Ｅで表すことにする。これにより、前記式(35)，(36)を、それぞれ次式(37)，(38) で表わすことができる。
【００９５】
Ｓ１[n]＝Ａ１sin（Ｅθ［n］）              …(37) 
Ｓ２[n]＝Ａ２sin（Ｅθ［n］＋Ｃ）              …(38) 
第１出力信号Ｓ１[n]に対する第２出力信号Ｓ２[n]の比Ｓ２[n]／Ｓ１[n]を演算すると、次式（39）のようになる。
【００９６】
【数１１】
2014115259.tif 000014
前記式（39）からtanＥθ［n］を求めると、次式（40）となる。
【００９７】
【数１２】
2014115259.tif 000015
また、前記式（40）からθ［n］を求めると、次式（41）となる。
【００９８】
【数１３】
2014115259.tif 000016
式(41)において角度幅補正値Ｅの値を１とする。２つの磁気センサ７１，７２の出力信号の振幅比Ａ２／Ａ１は、予め求められて設定されている。簡易モードでは、今回サンプリングされた第１および第２センサ値Ｓ１[n]， Ｓ２[n]２と、予め設定されている振幅比Ａ２／Ａ１と、前記式(41)とを用いて、入力軸８の回転角θ［n］が演算される。
【００９９】
振幅比Ａ２／Ａ１は、パワーステアリング装置の出荷前に演算されて、トルク演算用ＥＣＵ７７内の不揮発性メモリに格納される。
振幅比Ａ２／Ａ１の演算方法について説明する。振幅比Ａ２／Ａ１は、ステアリングホイール２を回転させながら、２つの磁気センサ７１，７２が同じ磁極を検出し続けているときに得られた、３サンプリング分のセンサ値に基づいて、予め演算することができる。これらの３サンプリング分のセンサ値から、前記６つの式(28a)〜(28f)式を得ることができる。
【０１００】
Ｓ１[n]＝Ａ１sin（Ｅθ[n］）              …(28a)
Ｓ１[n-1]＝Ａ１sin（Ｅθ[n-1］）          …(28b)
Ｓ１[n-2]＝Ａ１sin（Ｅθ[n-2］）          …(28c)
Ｓ２[n]＝Ａ２sin（Ｅθ[n］＋１２０）        …(28d)
Ｓ２[n-1]＝Ａ２sin（Ｅθ[n-1］＋１２０）    …(28e)
Ｓ２[n-2]＝Ａ２sin（Ｅθ[n-2］＋１２０）    …(28f) 
これらの６つの式からなる連立方程式を解くことによって、振幅比Ａ２／Ａ１を演算することができる。具体的には、この６つの式に基づいて（Ａ２／Ａ１）２を演算すると、Ｅを演算するための前記式（30）内のｔとなる。したがって、Ａ２／Ａ１は、次式(42)に基づいて求めることができる。
【０１０１】
【数１４】
2014115259.tif 000017
このような簡易モードでは、各磁気センサ７１，７２の温度による出力信号のばらつきを補償できないが、磁石６１の各磁極間の磁束密度のばらつき、各磁気センサ７１，７２間のホール係数およびホール素子の厚さのばらつきを補償できる。このため、通常モードほどではないが、精度の高い回転角θ［n］を演算することができる。この理由について説明する。
【０１０２】
振幅Ａ１，Ａ２は、次式(43)，(44）で表すことができる。
【０１０３】
【数１５】
2014115259.tif 000018
前記式(43)の右辺の第１項は、第１磁気センサ７１の温度が２５℃のときの第１磁気センサ７１の振幅を表している。前記式(43)の右辺の第２項は、第１磁気センサ７１の温度がｔ１のときの第１磁気センサ７１の振幅と第１磁気センサ７１の温度が２５℃のときの第１磁気センサ７１の振幅との差を表している。
【０１０４】
同様に、前記式(44)の右辺の第１項は、第２磁気センサ７２の温度が２５℃のときの第２磁気センサ７２の振幅を表している。前記式(44)の右辺の第２項は、第２磁気センサ７２の温度がｔ２のときの第２磁気センサ７２の振幅と第２磁気センサ７２の温度が２５℃のときの第２磁気センサ７２の振幅との差を表している
前記式(43)，（44)から振幅比Ａ２／Ａ１を演算すると、次式(45)となる。
【０１０５】
【数１６】
2014115259.tif 000019
前記式(45)から分かるように、振幅比Ａ２／Ａ１の演算式には、磁束密度ＢＭが存在しなくなるので、磁石６１の各磁極間の磁束密度のばらつきを補償することができる。また、各磁気センサ７１，７２間のホール係数の比ＲＨ２／ＲＨ１およびホール素子の厚さの比ｄ１／ｄ２が、振幅比Ａ２／Ａ１に反映されるため、各磁気センサ７１，７２間のホール係数およびホール素子の厚さのばらつきを補償できる。
【０１０６】
一方、前記式(45)から分かるように、振幅比Ａ２／Ａ１を演算したときの各磁気センサ７１，７２の温度ｔ１，ｔ２と、簡易モードで回転角θ[n]を演算するときの各磁気センサ７１，７２の温度ｔ１’，ｔ２’とが異なる場合には、予め設定された振幅比Ａ２／Ａ１と回転角演算時における実際の振幅比Ａ２／Ａ１とが一致しないため、演算された回転角θ[n]に誤差が発生する。この誤差は、振幅比Ａ２／Ａ１を演算したときの温度ｔ１，ｔ２と、回転角を演算するときの温度ｔ１’，ｔ２’との差が大きくなるほど大きくなる。そこで、常温時の温度、予め設定された所定時間走行することにより暖機された状態での温度など、出現頻度の高いと考えられる温度において、振幅比Ａ２／Ａ１を演算しておくことが好ましい。
【０１０７】
簡易モードが設けられている理由について説明する。前述した第１演算方法および第２演算方法では、前回のサンプリング時点と今回のサンプリング時点とにおいて、各磁気センサ７１，７２の出力信号Ｓ１，Ｓ２が変化していない場合には、ｐ１＝ｐ２となるため、前回演算された回転角θ［n］が回転角θ［n］として用いられる（表１の上から２番目の演算式を参照）。しかしながら、イグニッションキーがオン操作されることによって、トルク演算用ＥＣＵ７７の電源がオンされた時点では、前回演算された回転角θ［n］は存在しない。このため、トルク演算用ＥＣＵ７７の電源がオンされた後に、各磁気センサ７１，７２の出力信号Ｓ１，Ｓ２が変化していない場合には、第１演算方法および第２演算方法によって回転角θ［n］を演算できなくなる。このような場合等に、入力軸８の回転角θ［n］を演算するために簡易モードが設けられている。
【０１０８】
図５は、通常モードにおいて第１演算方法を採用する場合の第１の回転角演算部７７Ａの動作を示すフローチャートである。
トルク演算用ＥＣＵ７７の電源がオンすると、第１の回転角演算部７７Ａは、演算モードを記憶するためのモードフラグＦＡをリセット（ＦＡ＝０）する（ステップＳ１）。次に、第１の回転角演算部７７Ａは、第１センサ値Ｓ１[n]および第２センサ値Ｓ２[n]を取得する（ステップＳ２）。このステップＳ２の処理は、イグニッションキーのオフ操作が行われるまでは、所定の演算周期毎に繰り返し行われる。トルク演算用ＥＣＵ７７内のメモリには、所定回数前に取得されたセンサ値から最新に取得されたセンサ値までの複数回分のセンサ値が記憶されるようになっている。そして、第１の回転角演算部７７Ａは、モードフラグＦＡがセットされているか否かを判別する（ステップＳ３）。
【０１０９】
モードフラグＦＡがセットされていない場合（ＦＡ＝０）には（ステップＳ３：ＮＯ）、第１の回転角演算部７７Ａは、入力軸８の回転角の前回値が存在していなくても通常モード（第１演算方法）によって入力軸８の回転角θ[n]を演算できる条件が満たされているか否かを判別する（ステップＳ４）。
入力軸８の回転角の前回値が存在していなくても第１演算方法によって入力軸８の回転角θ[n]を演算するためには、同じ磁気センサ７１，７２の２サンプリング分のセンサ値が異なっているという条件を満たすことが必要となる。そこで、第１の回転角演算部７７Ａは、ｐ１とｐ２（前記式(5)参照）とが等しくない（ｐ１≠ｐ２）か否かを判別する。
【０１１０】
ｐ１とｐ２とが等しい場合（ｐ１＝ｐ２）には（ステップＳ４：ＮＯ）、第１の回転角演算部７７Ａは、前記条件が満たされていないと判断し、簡易モードで入力軸８の回転角θ[n] （＝θＡ）を演算する（ステップＳ５）。また、第１の回転角演算部７７Ａは、演算された入力軸８の回転角θＡとモードフラグＦＡ（ＦＡ＝０）とをトルク演算部７７Ｃに与える（図２参照）。そして、第１の回転角演算部７７Ａは、ステップＳ８に移行する。
【０１１１】
前記ステップＳ４において、ｐ１とｐ２とが等しくない（ｐ１≠ｐ２）と判別された場合（ｐ１≠ｐ２）には（ステップＳ４：ＹＥＳ）、第１の回転角演算部７７Ａは、前記条件が満たされていると判断し、モードフラグＦＡをセット（ＦＡ＝１）する（ステップＳ６）。そして、通常モードで入力軸８の回転角θ[n]を演算する（ステップＳ７）。つまり、第１の回転角演算部７７Ａは、前述した第１演算方法によって入力軸８の回転角θ[n]（＝θＡ）を演算する。また、第１の回転角演算部７７Ａは、演算された入力軸８の回転角θＡとモードフラグＦＡ（ＦＡ＝１）とをトルク演算部７７Ｃに与える。この後、第１の回転角演算部７７Ａは、ステップＳ８に移行する。
【０１１２】
ステップＳ８では、第１の回転角演算部７７Ａは、イグニッションキーのオフ操作が行われたか否かを判別する。イグニッションキーのオフ操作が行われていなければ（ステップＳ８：ＮＯ）、第１の回転角演算部７７Ａは、ステップＳ２に戻って、第１センサ値Ｓ１[n]および第２センサ値Ｓ２[n]を再度取得する。
前記ステップＳ３において、モードフラグＦがセットされていると判別された場合（Ｆ＝１）には（ステップＳ３：ＹＥＳ）、第１の回転角演算部７７Ａは、ステップＳ７に移行し、通常モードで入力軸８の回転角θ[n]を演算する。
【０１１３】
ステップＳ８において、イグニッションキーのオフ操作が行われていると判別された場合には（ステップＳ８：ＹＥＳ）、第１の回転角演算部７７Ａは、処理を終了する。
第２の回転角演算部７７Ｂ（図２参照）は、２つの磁気センサ７４，７５の出力信号Ｓ４，Ｓ５と演算モードを記憶するためのモードフラグＦＢを用いて、第１の回転角演算部７７Ａと同様な処理を行う。これにより、第２の回転角演算部７７Ｂ（図２参照）は、出力軸９の回転角θ[n]（＝θＢ）を演算し、演算された回転角θＢをモードフラグＦＢとともに、トルク演算部７７Ｃに与える。トルク演算部７７Ｃは、前記式(1)に基づいて操舵トルクＴｈを演算する。そして、トルク演算部７７Ｃは、演算された操舵トルクＴｈを、モードフラグＦＡ，ＦＢとともに、モータ制御用ＥＣＵ１２に与える。
【０１１４】
図５の処理では、トルク演算用ＥＣＵ７７の電源がオンされた後、ステップＳ４でｐ１≠ｐ２の条件を満たしたと判別されるまでは、簡易モードによって入力軸８の回転角θ[n]が演算される（ステップＳ１〜Ｓ５参照）。トルク演算用ＥＣＵ７７の電源がオンされた後において、ステップＳ４でｐ１≠ｐ２の条件を満たしたと判別されたときおよびそれ以降においては、通常モード（第１演算方法）によって入力軸８の回転角θ[n]が演算される（ステップＳ２，Ｓ３，Ｓ４，Ｓ６，Ｓ７参照）。したがって、トルク演算用ＥＣＵ７７の電源がオンされた直後から入力軸８の回転角θ[n]を演算することができる。また、ステップＳ４でｐ１≠ｐ２の条件を満たしたと判別された後においては、通常モードによって入力軸８の回転角θ[n]が演算されるので、精度の高い回転角を演算することができる。
【０１１５】
図６は、通常モードにおいて第１演算方法を採用する場合の第１の回転角演算部７７Ａの動作の他の例を示すフローチャートである。
トルク演算用ＥＣＵ７７の電源がオンすると、第１の回転角演算部７７Ａは、第１センサ値Ｓ１[n]および第２センサ値Ｓ２[n]を取得する（ステップＳ１１）。このステップＳ１１の処理は、イグニッションキーのオフ操作が行われるまでは、所定の演算周期毎に繰り返し行われる。トルク演算用ＥＣＵ７７内のメモリには、所定回数前に取得されたセンサ値から最新に取得されたセンサ値までの複数回分のセンサ値が記憶されるようになっている。
【０１１６】
次に、第１の回転角演算部７７Ａは、入力軸８の回転角の前回値が存在していなくても通常モード（第１演算方法）によって入力軸８の回転角θ[n]を演算できる条件が満たされているか否かを判別する（ステップＳ１２）。具体的には、ｐ１とｐ２（前記式(5)参照）とが等しくない（ｐ１≠ｐ２）か否かを判別する。ｐ１とｐ２とが等しい場合（ｐ１＝ｐ２）には（ステップＳ１２：ＮＯ）、第１の回転角演算部７７Ａは、演算モードを記憶するためのモードフラグＦＡをリセット（ＦＡ＝０）した後（ステップＳ１３）、簡易モードで入力軸８の回転角θ[n] （＝θＡ）を演算する（ステップＳ１４）。また、第１の回転角演算部７７Ａは、演算された入力軸８の回転角θＡとモードフラグＦＡ（ＦＡ＝０）とをトルク演算部７７Ｃに与える。そして、第１の回転角演算部７７Ａは、ステップＳ１７に移行する。
【０１１７】
前記ステップＳ１２において、ｐ１とｐ２とが等しくないと判別された場合（ｐ１≠ｐ２）には（ステップＳ１２：ＹＥＳ）、第１の回転角演算部７７Ａは、モードフラグＦＡをセット（ＦＡ＝１）した後（ステップＳ１５）、通常モードで入力軸８の回転角θ[n]を演算する（ステップＳ１６）。つまり、第１の回転角演算部７７Ａは、前述した第１演算方法によって入力軸８の回転角θ[n]（＝θＡ）を演算する。また、第１の回転角演算部７７Ａは、演算された入力軸８の回転角θＡとモードフラグＦＡ（ＦＡ＝１）とをトルク演算部７７Ｃに与える。そして、ステップＳ１７に移行する。
【０１１８】
ステップＳ１７では、第１の回転角演算部７７Ａは、イグニッションキーのオフ操作が行われたか否かを判別する。イグニッションキーのオフ操作が行われていなければ（ステップＳ１７：ＮＯ）、第１の回転角演算部７７Ａは、ステップＳ１１に戻って、第１センサ値Ｓ１[n]および第２センサ値Ｓ２[n]を再度取得する。
ステップＳ１７において、イグニッションキーのオフ操作が行われていると判別された場合には（ステップＳ１７：ＹＥＳ）、第１の回転角演算部７７Ａは、処理を終了する。
【０１１９】
図６の処理では、ステップＳ１２でｐ１≠ｐ２の条件を満たしていないと判別されたときには、簡易モードによって入力軸８の回転角θ[n]が演算される（ステップＳ１１〜Ｓ１４参照）。一方、ステップＳ１２でｐ１≠ｐ２の条件を満たしていると判別されたときには、通常モード（第１演算方法）によって入力軸８の回転角θ[n]が演算される（ステップＳ１１，Ｓ１２，Ｓ１５，Ｓ１６参照）。したがって、トルク演算用ＥＣＵ７７の電源がオンされた直後から入力軸８の回転角θ[n]を演算することができる。また、ステップＳ１２でｐ１≠ｐ２の条件を満たしていると判別されたときおいては、通常モードによって入力軸８の回転角θ[n]が演算されるので、精度の高い回転角を演算することができる。
【０１２０】
図７は、通常モードにおいて第２演算方法を採用する場合の第１の回転角演算部７７Ａの動作を示すフローチャートである。図７の処理は、図５の処理と類似している。図７において、図５に示された各ステップと同様の処理が行われるステップには、図５中と同一参照符号を付して示す。
図７の処理と図５の処理とを比較すると、図７のステップＳ４ＡおよびＳ７Ａの内容が、それぞれ図５のステップＳ４およびＳ６の内容と異なっているだけであるので、ステップＳ４ＡおよびＳ７Ａの処理についてのみ説明する。
【０１２１】
通常モードにおいて第２演算方法が採用されているので、ステップＳ７Ａでは、第１の回転角演算部７７Ａは、第２演算方法によって入力軸８の回転角θ[n]を演算する。また、回転角の前回値が存在していない場合において、第２演算方法によって入力軸８の回転角θ[n]を演算するためには、同じ磁気センサ７１，７２の３サンプリング分のセンサ値が全て異なっているという条件を満たすことが必要となる。そこで、ステップＳ４Ａでは、第１の回転角演算部７７Ａは、ｐ１とｐ２とが等しくない（ｐ１≠ｐ２）状態が２回連続しているか否かを判別する。つまり、前演算周期においてｐ１とｐ２とが等しくなくかつ今演算周期においてもｐ１とｐ２とが等しくないという条件を満たしているか否かが判別される。
【０１２２】
ｐ１≠ｐ２状態が２回連続していないときには（ステップＳ４Ａ：ＮＯ）、同じ磁気センサ７１，７２の３サンプリング分のセンサ値が全て異なっているという条件を満たさないので、第１の回転角演算部７７Ａは、ステップＳ５に進んで、簡易モードによって入力軸８の回転角θ[n]を演算する。一方、ステップＳ４Ａにおいて、ｐ１≠ｐ２状態が２回連続していると判別された場合には（ステップＳ４Ａ：ＹＥＳ）、同じ磁気センサ７１，７２の３サンプリング分のセンサ値が全て異なっているという条件を満たすので、第１の回転角演算部７７Ａは、ステップＳ６からステップＳ７Ａに進んで、通常モード（第２演算方法）によって入力軸８の回転角θ[n]を演算する。
【０１２３】
図８は、通常モードにおいて第２演算方法を採用する場合の第１の回転角演算部７７Ａの動作の他の例を示すフローチャートである。図８の処理は、図６の処理と類似している。図８において、図６に示された各ステップと同様の処理が行われるステップには、図６中と同一参照符号を付して示す。
図８の処理と図６の処理とを比較すると、図８のステップＳ１２ＡおよびＳ１６Ａの内容が、それぞれ図６のステップＳ１２およびＳ１６の内容と異なっているだけであるので、ステップＳ１２ＡおよびＳ１６Ａの処理についてのみ説明する。
【０１２４】
通常モードにおいて第２演算方法が採用されているので、ステップＳ１６Ａでは、第１の回転角演算部７７Ａは、第２演算方法によって入力軸８の回転角θ[n]を演算する。また、回転角の前回値が存在していない場合において、第２演算方法によって入力軸８の回転角θ[n]を演算するためには、同じ磁気センサ７１，７２の３サンプリング分のセンサ値が全て異なっているという条件を満たすことが必要となる。そこで、ステップＳ１２Ａでは、第１の回転角演算部７７Ａは、ｐ１とｐ２とが等しくない（ｐ１≠ｐ２）状態が２回連続しているか否かを判別する。つまり、前演算周期においてｐ１とｐ２とが等しくなくかつ今演算周期においてもｐ１とｐ２とが等しくないという条件を満たしているか否かが判別される。
【０１２５】
ｐ１≠ｐ２状態が２回連続していないときには（ステップＳ１２Ａ：ＮＯ）、同じ磁気センサ７１，７２の３サンプリング分のセンサ値が全て異なっているという条件を満たさないので、第１の回転角演算部７７Ａは、ステップＳ１３からステップＳ１４に進んで、簡易モードによって入力軸８の回転角θ[n]を演算する。一方、ステップＳ１２Ａにおいて、ｐ１≠ｐ２状態が２回連続していると判別された場合には（ステップＳ１２Ａ：ＹＥＳ）、同じ磁気センサ７１，７２の３サンプリング分のセンサ値が全て異なっているという条件を満たすので、第１の回転角演算部７７Ａは、ステップＳ１５からステップＳ１６Ａに進んで、通常モード（第２演算方法）によって入力軸８の回転角θ[n]を演算する。
【０１２６】
次に、第１の振幅比回転角演算部７７Ｄおよび第２の振幅比回転角演算部７７Ｅの動作について説明する。第２の振幅比回転角演算部７７Ｅの動作は、第１の振幅比回転角演算部７７Ｄの動作と同様であるので、第１の振幅比回転角演算部７７Ｄの動作についてのみ説明する。
図９は、第１の振幅比回転角演算部７７Ｄによって実行される振幅比演算処理の手順を説明するためのフローチャートである。この振幅比演算処理は、トルク演算用ＥＣＵ７７の動作モードが、特定の作業者等によって振幅比演算モードに設定されたときに、実行される。作業者等は、トルク演算用ＥＣＵ７７の動作モードを振幅比演算モードに設定すると、ステアリングホイール２を、一定期間、手動で回転させる。
【０１２７】
振幅比演算処理開始時において第１磁気センサ７１が検出している磁極を基準磁極として、各磁極に相対的な番号を割り当てた場合の各磁極の番号を相対的極番号と定義する。第１磁気センサ７１が検出している磁極の相対的極番号（以下、「第１相対的極番号」という）を変数ｒ１で表し、第２磁気センサ７２が検出している磁極の相対的極番号（以下、「第２相対的極番号」という）を変数ｒ２で表すことにする。なお、各相対的極番号ｒ１，ｒ２は、１〜８の整数をとり、１より１少ない相対的極番号は８となり、８より１大きい相対的極番号は１となるものとする。この実施形態では、振幅比演算処理開始時において第１磁気センサ７１が検出している磁極（基準磁極）がＮ極の磁極である場合には、当該磁極に”１”の相対的極番号が割り当てられる。一方、通常時の回転角演算処理の開始時において第１磁気センサ７１が検出している磁極（基準磁極）がＳ極の磁極である場合には、当該磁極に”２”の相対的極番号が割り当てられる。
【０１２８】
動作モードが振幅比演算モードに設定されると、第１の振幅比演算部７７Ｄは、各磁気センサ７１，７２のセンサ値Ｓ１[n], Ｓ２[n]を取得する（ステップＳ２１）。このステップＳ２１の処理は、振幅比Ａ２／Ａ１が演算されるまでは、所定の演算周期毎に繰り返し行われる。操舵トルク演算用ＥＣＵ７７内のメモリには、所定回数前に取得されたセンサ値から最新に取得されたセンサ値までの複数回分（３回以上）のセンサ値が記憶されるようになっている。
【０１２９】
第１の振幅比演算部７７Ｄは、今回の処理が振幅比演算処理開始後の初回の処理であるか否かを判別する（ステップＳ２２）。今回の処理が振幅比演算処理開始後の初回の処理である場合には（ステップＳ２２：ＹＥＳ）、第１の振幅比演算部７７Ｄは、相対的極番号の設定処理を行う（ステップＳ２３）。
図１０は、相対的極番号の設定処理の詳細な手順を示すフローチャートである。
【０１３０】
第１の振幅比演算部７７Ｄは、まず、第１出力信号Ｓ１が０より大きいか否かを判別する（ステップＳ５１）。第１出力信号Ｓ１が０より大きい場合には（ステップＳ５１：ＹＥＳ）、第１の振幅比演算部７７Ｄは、第１磁気センサ７１が検出している磁極がＮ極の磁極であると判別し、第１相対的極番号ｒ１を１に設定する（ステップＳ５４）。そして、ステップＳ５６に進む。
【０１３１】
一方、第１出力信号Ｓ１が０以下である場合には（ステップＳ５１：ＮＯ）、第１の振幅比演算部７７Ｄは、第１出力信号Ｓ１が０より小さいか否かを判別する（ステップＳ５２）。第１出力信号Ｓ１が０より小さい場合には（ステップＳ５２：ＹＥＳ）、第１の振幅比演算部７７Ｄは、第１磁気センサ７１が検出している磁極がＳ極の磁極であると判別し、第１相対的極番号ｒ１を２に設定する（ステップＳ５５）。そして、ステップＳ５６に進む。
【０１３２】
前記ステップＳ５２において、第１出力信号Ｓ１が０以上であると判別された場合には（ステップＳ５２：ＮＯ）、つまり、第１出力信号Ｓ１が０である場合には、第１の振幅比演算部７７Ｄは、入力軸８の回転角が０°であるか１８０°であるかを判別するために、第２出力信号Ｓ２が０より大きいか否かを判別する（ステップＳ５３）。第２出力信号Ｓ２が０より大きい場合には（ステップＳ５３：ＹＥＳ）、第１の振幅比演算部７７Ｄは、入力軸８の回転角が０°であると判別し、第１相対的極番号ｒ１を１に設定する（ステップＳ５４）。そして、ステップＳ５６に進む。
【０１３３】
一方、第２出力信号Ｓ２が０以下である場合には（ステップＳ５３：ＮＯ）、第１の振幅比演算部７７Ｄは、入力軸８の回転角が１８０°であると判別し、第１相対的極番号ｒ１を２に設定する（ステップＳ５５）。そして、ステップＳ５６に進む。
ステップＳ５６では、第１の振幅比演算部７７Ｄは、「Ｓ１≧０かつＳ２＞０」または「Ｓ１≦０かつＳ２＜０」の条件を満たしているか否かを判別する。この条件を満たしている場合には（ステップＳ５６：ＹＥＳ）、第１の振幅比演算部７７Ｄは、第２磁気センサ７２が検出している磁極の極番号は、第１磁気センサ７１が検出している磁極の極番号と同じであると判別し、第２相対的極番号ｒ２に第１相対的極番号ｒ１と同じ番号（ｒ２＝ｒ１）を設定する（ステップＳ５７）。そして、図９のステップＳ２６に移行する。
【０１３４】
一方、前記ステップＳ５６の条件を満たしていない場合には（ステップＳ５６：ＮＯ）、第１の振幅比演算部７７Ｄは、第２磁気センサ７２が検出している磁極の極番号は、第１磁気センサ７１が検出している磁極の極番号より１だけ大きい番号であると判別し、第２相対的極番号ｒ２に、第１相対的極番号ｒ１より１だけ大きい番号（ｒ２＝ｒ１＋１）を設定する（ステップＳ５８）。そして、図９のステップＳ２６に移行する。
【０１３５】
前記ステップＳ５６の条件に基づいて第２相対的極番号ｒ２を決定している理由について説明する。たとえば、磁石６１における磁極Ｍ１と磁極Ｍ２とからなる磁極対が第１磁気センサ７１を通過する際の、第１および第２出力信号Ｓ１，Ｓ２の信号波形を模式的に表すと、図１１の（ａ），（ｂ）のようになる。
図１１において、Ｑ１およびＱ４で示す領域においては、第２磁気センサ７２が検出している磁極の極番号は、第１磁気センサ７１が検出している磁極の極番号と同じである。一方、Ｑ２，Ｑ３，Ｑ５およびＱ６で示す領域においては、第２磁気センサ７２が検出している磁極の極番号は、第１磁気センサ７１が検出している磁極の極番号より１だけ大きい。
【０１３６】
領域Ｑ１においては、両センサ値Ｓ１，Ｓ２は、Ｓ１≧０かつＳ２＞０の第１条件を満たす。領域Ｑ２およびＱ３においては、両センサ値Ｓ１，Ｓ２は、Ｓ１＞０かつＳ２≦０の第２条件を満たす。領域Ｑ４においては、両センサ値Ｓ１，Ｓ２は、Ｓ１≦０かつＳ２＜０の第３条件を満たす。領域Ｑ５およびＱ６においては、両センサ値Ｓ１，Ｓ２は、Ｓ１＜０かつＳ２≧０の第４条件を満たす。そこで、第１の振幅比演算部７７Ｄは、第１条件および第３条件の一方を満たしているときには、第２磁気センサ７２が検出している磁極の極番号が、第１磁気センサ７１が検出している磁極の極番号と同じであると判別している。一方、第１条件および第３条件のいずれの条件をも満たしていないときには、第１の振幅比演算部７７Ｄは、第２磁気センサ７２が検出している磁極の極番号が、第１磁気センサ７１が検出している磁極の極番号より１だけ大きいと判別している。
【０１３７】
図９に戻り、前記ステップＳ２２において、今回の処理が通常時の回転角演算処理開始後の初回の処理ではないと判別された場合には（ステップＳ２２：ＮＯ）、ステップＳ２４に移行する。
ステップＳ２４では、第１の振幅比演算部７７Ｄは、メモリに記憶されているセンサ値Ｓ１，Ｓ２に基づいて、センサ値Ｓ１，Ｓ２毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する。ゼロクロスが検出されなかったときには（ステップＳ２４：ＮＯ）、第１の振幅比演算部７７Ｄは、ステップＳ２６に移行する。
【０１３８】
前記ステップＳ２４において、いずれかのセンサ値Ｓ１，Ｓ２に対してゼロクロスが検出された場合には（ステップＳ２４：ＹＥＳ）、第１の振幅比演算部７７Ｄは、相対的極番号の更新処理を行なう（ステップＳ２５）。具体的には、第１の振幅比演算部７７Ｄは、前記ステップＳ１４でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号ｒ１またはｒ２を、入力軸８（磁石６１）の回転方向に応じて、１だけ大きい番号または１だけ小さい番号に変更する。
【０１３９】
入力軸８の回転方向が正方向（図３に矢印で示す方向）である場合には、第１の振幅比演算部７７Ｄは、前記ステップＳ１４でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号ｒ１またはｒ２を、１だけ大きい番号に更新する。一方、入力軸８の回転方向が逆方向である場合には、第１の振幅比演算部７７Ｄは、ゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号ｒ１またはｒ２を、１だけ小さい番号に更新する。ただし、前述したように、”１”の相対的極番号に対して、１だけ小さい相対的極番号は、”８”となる。また、”８”の相対的極番号に対して、１だけ大きい相対的極番号は、”１”となる。
【０１４０】
なお、入力軸８の回転方向は、例えば、ゼロクロスが検出された出力信号の前回値および今回値と、他方の出力信号の今回値とに基づいて判定することができる。具体的には、ゼロクロスが検出された出力信号が第１出力信号Ｓ１である場合には、「第１出力信号Ｓ１の前回値が０より大きくかつその今回値が０以下であり、第２出力信号Ｓ２が０より小さい」という条件、または「第１出力信号Ｓ１の前回値が０未満でかつその今回値が０以上であり、第２出力信号Ｓ２が０より大きい」という条件を満たしている場合には、回転方向は正方向（図３に矢印で示す方向）であると判定される。
【０１４１】
一方、「第１出力信号Ｓ１の前回値が０以上でかつその今回値が０未満であり、第２出力信号Ｓ２が０より大きい」という条件、または「第１出力信号Ｓ１の前回値が０以下でかつその今回値が０より大きく、第２出力信号Ｓ２が０より小さい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
ゼロクロスが検出された出力信号が第２出力信号Ｓ２である場合には、「第２出力信号Ｓ２の前回値が０より大きくかつその今回値が０以下であり、第１出力信号Ｓ１が０より大きい」という条件、または「第２出力信号Ｓ２の前回値が０未満でかつその今回値が０以上であり、第１出力信号Ｓ１が０より小さい」という条件を満たしている場合には、回転方向は正方向（図３に矢印で示す方向）であると判定される。一方、「第２出力信号Ｓ２の前回値が０以上でかつその今回値が０未満であり、第１出力信号Ｓ１が０より小さい」という条件、または「第２出力信号Ｓ２の前回値が０以下でかつその今回値が０より大きく、第１出力信号Ｓ１が０より大きい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
【０１４２】
相対的極番号の更新処理が終了すると、第１の振幅比演算部７７Ｄは、ステップＳ２６に移行する。ステップＳ２６では、第１の振幅比演算部７７Ｄは、ｐ１とｐ２とが等しくない（ｐ１≠ｐ２）状態が２回連続（２演算周期連続）しているか否かを判別する。これは、振幅比Ａ２／Ａ１を前記式(42)によって演算するためには、同じ磁気センサ７１，７２の３サンプリング分のセンサ値が全て異なっているという条件を満たすことが必要となるからである。
【０１４３】
ｐ１≠ｐ２の状態が２回連続していない場合には（ステップＳ２６：ＮＯ）、第１の振幅比演算部７７Ｄは、ステップＳ２１に戻る。一方、ｐ１≠ｐ２の状態が２回連続している場合には（ステップＳ２６：ＹＥＳ）、第１の振幅比演算部７７Ｄは、第１および第２磁気センサ７１，７２が、共に同じ１つの磁極を３演算周期連続して検出しているという条件を満たしているか否かを判別する（ステップＳ２７）。これは、振幅比Ａ２／Ａ１を演算するために用いられる前記式(42)は、両磁気センサ７１，７２における３サンプリング分のセンサ値に含まれる全ての相差誤差補正値Ｅが等しいことを前提として導かれているからである。各演算周期において、各磁気センサ７１，７２が検出している磁極の相対的番号は、それぞれ第１相対的磁極番号ｒ１および第２相対的磁極番号ｒ２によって認識することができる。したがって、所定演算周期前から今演算周期までの複数演算周期分の各相対的磁極番号ｒ１，ｒ２をメモリに記憶することにより、第１の振幅比演算部７７Ｄは、ステップＳ２７の判別を行うことができる。
【０１４４】
ステップＳ２７の条件を満たしていない場合には（ステップＳ２７：ＮＯ）、第１の振幅比演算部７７Ｄは、ステップＳ２１に戻る。一方、ステップＳ２７の条件を満たしている場合には（ステップＳ２７：ＹＥＳ）、第１の振幅比演算部７７Ｄは、両磁気センサ７１，７２の３サンプリング分のセンサ値と前記式(42)とを用いて、両磁気センサ７１，７２の出力信号の振幅比Ａ２／Ａ１を演算して、不揮発性メモリに記憶する（ステップＳ２８）。そして、振幅比演算処理を終了する。
【０１４５】
図１２は、モータ制御用ＥＣＵ１２の電気的構成を示す概略図である。
モータ制御用ＥＣＵ１２（図１参照）は、トルクセンサ１１から与えられる操舵トルクＴｈおよびモードフラグＦＡ，ＦＢに応じて電動モータ１８を駆動することによって、操舵状況に応じた適切な操舵補助を実現する。モータ制御用ＥＣＵ１２は、マイクロコンピュータ４０と、マイクロコンピュータ４０によって制御され、電動モータ１８に電力を供給する駆動回路（インバータ回路）３１と、電動モータ１８に流れるモータ電流を検出する電流検出部３２とを備えている。
【０１４６】
電動モータ１８は、例えば三相ブラシレスモータであり、図１３に図解的に示すように、界磁としてのロータ１００と、Ｕ相、Ｖ相およびＷ相のステータ巻線１０１，１０２，１０３を含むステータ１０５とを備えている。電動モータ１８は、ロータの外部にステータを対向配置したインナーロータ型のものであってもよいし、筒状のロータの内部にステータを対向配置したアウターロータ型のものであってもよい。
【０１４７】
各相のステータ巻線１０１，１０２，１０３の方向にＵ軸、Ｖ軸およびＷ軸をとった三相固定座標（ＵＶＷ座標系）が定義される。また、ロータ１００の磁極方向にｄ軸（磁極軸）をとり、ロータ１００の回転平面内においてｄ軸と直角な方向にｑ軸（トルク軸）をとった二相回転座標系（ｄｑ座標系。実回転座標系）が定義される。ｄｑ座標系は、ロータ１００とともに回転する回転座標系である。ｄｑ座標系では、ｑ軸電流のみがロータ１００のトルク発生に寄与するので、ｄ軸電流を零とし、ｑ軸電流を所望のトルクに応じて制御すればよい。ロータ１００の回転角（電気角）θ-Ｓは、Ｕ軸に対するｄ軸の回転角である。ｄｑ座標系は、ロータ角θ-Ｓに従う実回転座標系である。このロータ角θ-Ｓを用いることによって、ＵＶＷ座標系とｄｑ座標系との間での座標変換を行うことができる。
【０１４８】
マイクロコンピュータ４０は、ＣＰＵおよびメモリ（ＲＯＭ、ＲＡＭ、不揮発性メモリなど）を備えており、所定のプログラムを実行することによって、複数の機能処理部として機能するようになっている。この複数の機能処理部には、電流指令値設定部４１と、電流偏差演算部４２と、ＰＩ（比例積分）制御部４３と、ｄｑ／ＵＶＷ変換部４４と、ＰＷＭ（Pulse Width Modulation）制御部４５と、ＵＶＷ／ｄｑ変換部４６と、回転角演算部４７とを含む。
【０１４９】
回転角演算部４７は、回転角センサ２５の出力信号に基づいて、電動モータ１８のロータの回転角（電気角。以下、「ロータ角θＳ」という。）を演算する。
電流指令値設定部４１は、ｄｑ座標系の座標軸に流すべき電流値を電流指令値として設定する。具体的には、電流指令値設定部４１は、ｄ軸電流指令値Ｉｄ＊およびｑ軸電流指令値Ｉｑ＊（以下、これらを総称するときには「二相電流指令値Ｉｄｑ＊」という。）を設定する。さらに具体的には、電流指令値設定部４１は、ｑ軸電流指令値Ｉｑ＊を有意値とする一方で、ｄ軸電流指令値Ｉｄ＊を零とする。より具体的には、電流指令値設定部４１は、トルクセンサ１１から与えられる操舵トルク（検出操舵トルク）ＴｈおよびモードフラグＦＡ，ＦＢに基づいて、ｑ軸電流指令値Ｉｑ＊を設定する。
【０１５０】
モードフラグＦＡは、操舵トルクＴｈの演算に用いられた入力軸８の回転角θＡが通常モードで演算されている場合には１となり、簡易モードで演算されている場合には０となる。モードフラグＦＢは、操舵トルクＴｈの演算に用いられた出力軸９の回転角θＢが通常モードで演算されている場合には１となり、簡易モードで演算されている場合には０となる。
【０１５１】
モードフラグＦＡ，ＦＢの値が共に１である場合の、ｑ軸電流指令値Ｉｑ＊の設定方法について説明する。この場合における、検出操舵トルクＴｈに対するｑ軸電流指令値Ｉｑ＊の設定例は、図１４Ａに示されている。検出操舵トルクＴｈは、たとえば、右方向への操舵のためのトルクが正の値にとられ、左方向への操舵のためのトルクが負の値にとられている。また、ｑ軸電流指令値Ｉｑ＊は、電動モータ１８から右方向操舵のための操作補助力を発生させるべきときには正の値とされ、電動モータ１８から左方向操舵のための操作補助力を発生させるべきときには負の値とされる。ｑ軸電流指令値Ｉｑ＊は、検出操舵トルクＴｈの正の値に対しては正をとり、検出操舵トルクＴｈの負の値に対しては負をとる。検出操舵トルクＴｈが零のときには、ｑ軸電流指令値Ｉｑ＊は零とされる。そして、検出操舵トルクＴｈの絶対値が大きくなるほど、ｑ軸電流指令値Ｉｑ＊の絶対値が大きくなるように、ｑ軸電流指令値Ｉｑ＊が設定されている。
【０１５２】
次に、モードフラグＦＡ，ＦＢの値が共に０である場合の、ｑ軸電流指令値Ｉｑ＊の設定方法について説明する。入力軸８の回転角θＡが簡易モードで演算された場合の、回転角θＡの想定される最大誤差をεＡとし、出力軸９の回転角θＢが簡易モードで演算された場合の、回転角θＢの想定される最大誤差をεＢとする。ここでは、εＡとεＢとは等しいと仮定し、これらをεで表すことにする（εＡ＝εＢ＝ε）とする。操舵トルクＴｈの演算に用いられた入力軸８および出力軸９の回転角θＡ，θＢのそれぞれに前記最大誤差εが発生していると仮定した場合に、これらの最大誤差εに起因して発生する検出操舵トルクの誤差の大きさ（想定最大トルク誤差）をＴｈ１（＞０）とする。この想定最大トルク誤差Ｔｈ１の大きさは、予め演算によって求められているものとする。
【０１５３】
モードフラグＦＡ，ＦＢの値が共に０である場合における、検出操舵トルクＴｈに対するｑ軸電流指令値Ｉｑ＊の設定例は、図１４Ｂに示されている。検出操舵トルクＴｈの絶対値が前記想定最大トルク誤差Ｔｈ１以下の領域には、ｑ軸電流指令値Ｉｑ＊が零となる不感帯が設定されている。検出操舵トルクＴｈがＴｈ１より大きい領域では、ｑ軸電流指令値Ｉｑ＊は正の一定値となるように設定されている。検出操舵トルクＴｈが−Ｔｈ１より小さい領域では、ｑ軸電流指令値Ｉｑ＊は負の一定値となるように設定されている。
【０１５４】
これにより、入力軸８の回転角θＡおよび出力軸９の回転角θＢの両方が簡易モードによって演算されたことによって、操舵トルクＴｈに誤差が発生したとしても、本来発生させるべき操舵補助トルクの方向と反対方向の操舵補助トルクが電動モータ１８から発生されるのを防止することができる。
次に、モードフラグＦＡ，ＦＢのうちのいずれか一方が０であり、他方が１である場合の、ｑ軸電流指令値Ｉｑ＊の設定方法について説明する。この場合には、入力軸８の回転角θＡおよび出力軸の回転角θＢのうちの一方のみが簡易モードで演算されているので、想定される検出操舵トルクの最大誤差は、前記想定最大トルク誤差Ｔｈ１の１／２となる。したがって、この場合の検出操舵トルクＴｈに対するｑ軸電流指令値Ｉｑ＊の設定例は、図１４Ｃに示すようになる。検出操舵トルクＴｈの絶対値が前記想定最大トルク誤差Ｔｈ１の１／２以下の領域には、ｑ軸電流指令値Ｉｑ＊が零となる不感帯が設定されている。検出操舵トルクＴｈがＴｈ１／２より大きい領域では、ｑ軸電流指令値Ｉｑ＊は正の一定値となるように設定されている。検出操舵トルクＴｈが−Ｔｈ１／２より小さい領域では、ｑ軸電流指令値Ｉｑ＊は負の一定値となるように設定されている。
【０１５５】
これにより、入力軸８の回転角θＡおよび出力軸９の回転角θＢのうちの一方が簡易モードによって演算されたことによって、操舵トルクＴｈに誤差が発生したとしても、本来発生させるべき操舵補助トルクの方向と反対方向の操舵補助トルクが電動モータ１８から発生されるのを防止することができる。
電流指令値設定部４１によって設定された二相電流指令値Ｉｄｑ＊は、電流偏差演算部４２に与えられる。
【０１５６】
電流検出部３２は、電動モータ１８のＵ相電流ＩＵ、Ｖ相電流ＩＶおよびＷ相電流ＩＷ（以下、これらを総称するときは、「三相検出電流ＩＵＶＷ」という。）を検出する。電流検出部３２によって検出された三相検出電流ＩＵＶＷは、ＵＶＷ／ｄｑ変換部４６に与えられる。
ＵＶＷ／ｄｑ変換部４６は、電流検出部３２によって検出されるＵＶＷ座標系の三相検出電流ＩＵＶＷ（Ｕ相電流ＩＵ、Ｖ相電流ＩＶおよびＷ相電流ＩＷ）を、ｄｑ座標系の二相検出電流ＩｄおよびＩｑ（以下総称するときには「二相検出電流Ｉｄｑ」という。）に座標変換する。この座標変換には、回転角演算部４７によって演算されたロータ角θＳが用いられる。
【０１５７】
電流偏差演算部４２は、電流指令値設定部４１によって設定される二相電流指令値Ｉｄｑ＊と、ＵＶＷ／ｄｑ変換部４６から与えられる二相検出電流Ｉｄｑとの偏差を演算する。より具体的には、電流偏差演算部４２は、ｄ軸電流指令値Ｉｄ＊に対するｄ軸検出電流Ｉｄの偏差およびｑ軸電流指令値Ｉｑ＊に対するｑ軸検出電流Ｉｑの偏差を演算する。これらの偏差は、ＰＩ制御部４３に与えられる。
【０１５８】
ＰＩ制御部４３は、電流偏差演算部４２によって演算された電流偏差に対するＰＩ演算を行なうことにより、電動モータ１８に印加すべき二相電圧指令値Ｖｄｑ＊（ｄ軸電圧指令値Ｖｄ＊およびｑ軸電圧指令値Ｖｑ＊）を生成する。この二相電圧指令値Ｖｄｑ＊は、ｄｑ／ＵＶＷ変換部４４に与えられる。
ｄｑ／ＵＶＷ変換部４４は、二相電圧指令値Ｖｄｑ＊を三相電圧指令値ＶＵＶＷ＊に座標変換する。この座標変換には、回転角演算部４７によって演算されたロータ角θＳが用いられる。三相電圧指令値ＶＵＶＷ＊は、Ｕ相電圧指令値ＶＵ＊、Ｖ相電圧指令値ＶＶ＊およびＷ相電圧指令値ＶＷ＊からなる。この三相電圧指令値ＶＵＶＷ＊は、ＰＷＭ制御部４５に与えられる。
【０１５９】
ＰＷＭ制御部４５は、Ｕ相電圧指令値ＶＵ＊、Ｖ相電圧指令値ＶＶ＊およびＷ相電圧指令値ＶＷ＊にそれぞれ対応するデューティのＵ相ＰＷＭ制御信号、Ｖ相ＰＷＭ制御信号およびＷ相ＰＷＭ制御信号を生成し、駆動回路３１に供給する。
駆動回路３１は、Ｕ相、Ｖ相およびＷ相に対応した三相インバータ回路からなる。このインバータ回路を構成するパワー素子がＰＷＭ制御部４５から与えられるＰＷＭ制御信号によって制御されることにより、三相電圧指令値ＶＵＶＷ＊に相当する電圧が電動モータ１８の各相のステータ巻線１０１，１０２、１０３に印加されることになる。
【０１６０】
電流偏差演算部４２およびＰＩ制御部４３は、電流フィードバック制御手段を構成している。この電流フィードバック制御手段の働きによって、電動モータ１８に流れるモータ電流が、電流指令値設定部４１によって設定された二相電流指令値Ｉｄｑ＊に近づくように制御される。
この発明は、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【０１６１】
１…電動パワーステアリング装置、８…入力軸、９…出力軸、１２…モータ制御用ＥＣＵ、１８…電動モータ、６１，６２…磁石、７１，７２，７４，７５…磁気センサ、７７…トルク演算用ＥＣＵ、７７Ａ…第１の回転角演算部、７７Ｂ…第２の回転角演算部、７７Ｄ…第１の振幅比演算部、７７Ｅ…第２の振幅比演算部
【図１】
2014115259.tif 000020
【図２】
2014115259.tif 000021
【図３】
2014115259.tif 000022
【図４】
2014115259.tif 000023
【図５】
2014115259.tif 000024
【図６】
2014115259.tif 000025
【図７】
2014115259.tif 000026
【図８】
2014115259.tif 000027
【図９】
2014115259.tif 000028
【図１０】
2014115259.tif 000029
【図１１】
2014115259.tif 000030
【図１２】
2014115259.tif 000031
【図１３】
2014115259.tif 000032
【図１４】
2014115259.tif 000033
【図１５】
2014115259.tif 000034
【図１６】
2014115259.tif 000035