(57)【特許請求の範囲】
【請求項１】
回転機におけるロータの回転角を求めるための回転角検出装置であって、
前記ロータの回転角を所定の角度間隔で離散的に検出する回転角離散検出手段と、
前記回転角離散検出手段により前記ロータの回転角が検出されると、当該回転角の検出時点と前記ロータの回転角の１つ前の検出時点との時間間隔に基づき前記ロータの回転速度を算出する速度算出手段と、
前記回転角離散検出手段により前記ロータの回転角が検出されると、前記速度算出手段により得られた複数の回転速度算出値に基づいて、当該回転角の検出時点である第１の検出時点と次に前記ロータの回転角が検出される第２の検出時点との間での前記ロータの回転速度の推定値を求める速度推定手段と、
前記速度推定手段によって得られる回転速度推定値に基づき、前記ロータの現時点での回転角の推定値を求める回転角推定手段と
を備え、
前記速度推定手段は、前記第１の検出時点で前記速度算出手段により得られた回転速度算出値を下記の式に従って補正することにより前記回転速度推定値を求めることを特徴とする、回転角検出装置：
ωｅ＝ωｃ（ｋ）・｛ωｃ（ｋ）／ωｃ（ｋ−１）｝
ここで、ωｅは、前記回転速度推定値を示す角速度推定値であり、ωｃ（ｋ）は、前記第１の検出時点で前記速度算出手段により得られる回転速度算出値を示す角速度算出値であり、ωｃ（ｋ−１）は、前記第１の検出時点よりも１つ前の前記ロータの回転角の検出時点で前記速度算出手段により得られる回転速度算出値を示す角速度算出値である。
【請求項２】
前記回転角推定手段は、前記第１の検出時点後に前記回転角推定手段により得られる回転角推定値が、次に前記回転角離散検出手段によって検出されるべき検出予定回転角に、前記第２の検出時点よりも前に到達した場合には、当該検出予定回転角に到達した時点で前記ロータの回転方向が反転するとみなして前記ロータの回転角の推定値を求め、当該推定値が当該検出予定回転角に到達した後で前記第２の検出時点よりも前に所定の回転角に達すると、当該所定の回転角に達した時点から前記第２の検出時点まで当該推定値を当該所定の回転角に固定することを特徴とする、請求項１に記載の回転角検出装置。
【請求項３】
回転機におけるロータの回転角を求めるための回転角検出装置であって、
前記ロータの回転角を所定の角度間隔で離散的に検出する回転角離散検出手段と、
前記回転角離散検出手段により前記ロータの回転角が検出されると、当該回転角の検出時点と前記ロータの回転角の１つ前の検出時点との時間間隔に基づき前記ロータの回転速度を算出する速度算出手段と、
前記回転角離散検出手段により前記ロータの回転角が検出されると、前記速度算出手段により得られた複数の回転速度算出値に基づいて、当該回転角の検出時点である第１の検出時点と次に前記ロータの回転角が検出される第２の検出時点との間での前記ロータの回転速度の推定値を求める速度推定手段と、
前記速度推定手段によって得られる回転速度推定値に基づき、前記ロータの現時点での回転角の推定値を求める回転角推定手段と
を備え、
前記回転角推定手段は、前記第１の検出時点後に前記回転角推定手段により得られる回転角推定値が、次に前記回転角離散検出手段によって検出されるべき検出予定回転角に、前記第２の検出時点よりも前に到達した場合には、当該検出予定回転角に到達した時点で前記ロータの回転方向が反転するとみなして前記ロータの回転角の推定値を求め、当該推定値が当該検出予定回転角に到達した後で前記第２の検出時点よりも前に所定の回転角に達すると、当該所定の回転角に達した時点から前記第２の検出時点まで当該推定値を当該所定の回転角に固定することを特徴とする、回転角検出装置。
【請求項４】
電動モータにおけるロータの回転角の推定値を求め、当該推定値に基づき当該電動モータを駆動するモータ制御装置であって、
請求項１から３までのいずれか１項に記載の回転角検出装置を備え、
前記回転角推定手段は、前記電動モータのロータの現時点での回転角の推定値を求めることを特徴とする、モータ制御装置。
【請求項５】
車両のステアリング機構に電動モータによって操舵補助力を与える電動パワーステアリング装置であって、
請求項４に記載のモータ制御装置を備え、
前記モータ制御装置は、前記ステアリング機構に操舵補助力を与える電動モータを駆動することを特徴とする、電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回転機におけるロータの回転角を検出するための回転角検出装置、当該回転角検出装置を用いたモータ制御装置、および当該モータ制御装置を用いた電動パワーステアリング装置に関する。
【背景技術】
【０００２】
従来から、運転者がハンドル（ステアリングホイール）に加える操舵トルクに応じて電動モータを駆動することにより車両のステアリング機構に操舵補助力を与える電動パワーステアリング装置が用いられている。電動パワーステアリング装置の電動モータには従来からブラシ付きモータが広く使用されているが、信頼性および耐久性の向上や慣性の低減などの観点から、近年ではブラシレスモータも使用されている。
【０００３】
このブラシレスモータが使用されている電動パワーステアリング装置では、座標変換によるベクトル制御などでブラシレスモータを駆動する方法が一般的である。この方法では、ロータの現時点での回転位置であるロータ回転角を検出するために、ホール素子を含む位置検出センサ（ホールセンサ）が用いられることが多い。このホールセンサは、永久磁石からなるロータの周囲に例えば１２０度または６０度の間隔で配置された３個のホールＩＣから構成される。各ホールＩＣにはホール素子が含まれており、それら３個のホールＩＣから出力される信号に基づき電気角６０度毎のロータ回転角の変化が検出される。
【０００４】
ここで、電気角６０度毎の検出情報のみでは、現時点での正確なロータ回転角を得ることができないので、当該検出信号に基づき、現時点でのロータ回転角を推定する計算が行われるのが一般的である。このようなロータ回転角の推定では、検出信号における直前の検出時点からその前の検出時点までの時間間隔とそれらの検出時点間での回転角の変化量とから角速度を求め（以下、この角速度を「前回角速度」という）、その前回角速度で直前の検出時点から次の検出時点までロータが回転しているとみなして現時点でのロータ回転角の推定値が算出される（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２３９７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、モータの用途によってはロータの回転が大きく加速または減速する場合があり、その場合には、直前の検出時点後も次の検出時点まで上記の前回角速度で回転しているとみなして現時点の回転角の推定値を算出すると、実際のロータ回転角と大きなずれを生じる可能性がある。特に、ロータの回転速度が急激に変化することが多い電動パワーステアリング装置においては、ロータ回転角の推定値が実際のロータ回転角からずれることによってモータ制御精度が低下し、モータが適切に操舵補助力を発生できなくなるおそれがある。
【０００７】
そこで本発明の目的は、モータ等の回転機におけるロータの回転速度が変化しても現時点のロータ回転角を正確に推定できる回転角検出装置を提供することである。また、本発明の他の目的は、そのような回転角検出装置を用いたモータ制御装置を提供することであり、本発明の更に他の目的は、そのようなモータ制御装置を用いた電動パワーステアリング装置を提供することである。
【課題を解決するための手段】
【０００８】
第１の発明は、回転機におけるロータの回転角を求めるための回転角検出装置であって、
前記ロータの回転角を所定の角度間隔で離散的に検出する回転角離散検出手段と、
前記回転角離散検出手段により前記ロータの回転角が検出されると、当該回転角の検出時点と前記ロータの回転角の１つ前の検出時点との時間間隔に基づき前記ロータの回転速度を算出する速度算出手段と、
前記回転角離散検出手段により前記ロータの回転角が検出されると、前記速度算出手段により得られた複数の回転速度算出値に基づいて、当該回転角の検出時点である第１の検出時点と次に前記ロータの回転角が検出される第２の検出時点との間での前記ロータの回転速度の推定値を求める速度推定手段と、
前記速度推定手段によって得られる回転速度推定値に基づき、前記ロータの現時点での回転角の推定値を求める回転角推定手段とを備え、
前記速度推定手段は、前記第１の検出時点で前記速度算出手段により得られた回転速度算出値を下記の式に従って補正することにより前記回転速度推定値を求めることを特徴とする：
ωｅ＝ωｃ（ｋ）・｛ωｃ（ｋ）／ωｃ（ｋ−１）｝
ここで、ωｅは、前記回転速度推定値を示す角速度推定値であり、ωｃ（ｋ）は、前記第１の検出時点で前記速度算出手段により得られる回転速度算出値を示す角速度算出値であり、ωｃ（ｋ−１）は、前記第１の検出時点よりも１つ前の前記ロータの回転角の検出時点で前記速度算出手段により得られる回転速度算出値を示す角速度算出値である。
第２の発明は、第１の発明において、
前記回転角推定手段は、前記第１の検出時点後に前記回転角推定手段により得られる回転角推定値が、次に前記回転角離散検出手段によって検出されるべき検出予定回転角に、前記第２の検出時点よりも前に到達した場合には、当該検出予定回転角に到達した時点で前記ロータの回転方向が反転するとみなして前記ロータの回転角の推定値を求め、当該推定値が当該検出予定回転角に到達した後で前記第２の検出時点よりも前に所定の回転角に達すると、当該所定の回転角に達した時点から前記第２の検出時点まで当該推定値を当該所定の回転角に固定することを特徴とする。
【０００９】
第３の発明は、回転機におけるロータの回転角を求めるための回転角検出装置であって、
前記ロータの回転角を所定の角度間隔で離散的に検出する回転角離散検出手段と、
前記回転角離散検出手段により前記ロータの回転角が検出されると、当該回転角の検出時点と前記ロータの回転角の１つ前の検出時点との時間間隔に基づき前記ロータの回転速度を算出する速度算出手段と、
前記回転角離散検出手段により前記ロータの回転角が検出されると、前記速度算出手段により得られた複数の回転速度算出値に基づいて、当該回転角の検出時点である第１の検出時点と次に前記ロータの回転角が検出される第２の検出時点との間での前記ロータの回転速度の推定値を求める速度推定手段と、
前記速度推定手段によって得られる回転速度推定値に基づき、前記ロータの現時点での回転角の推定値を求める回転角推定手段とを備え、
前記回転角推定手段は、前記第１の検出時点後に前記回転角推定手段により得られる回転角推定値が、次に前記回転角離散検出手段によって検出されるべき検出予定回転角に、前記第２の検出時点よりも前に到達した場合には、当該検出予定回転角に到達した時点で前記ロータの回転方向が反転するとみなして前記ロータの回転角の推定値を求め、当該推定値が当該検出予定回転角に到達した後で前記第２の検出時点よりも前に所定の回転角に達すると、当該所定の回転角に達した時点から前記第２の検出時点まで当該推定値を当該所定の回転角に固定することを特徴とする。
【００１０】
第４の発明は、電動モータにおけるロータの回転角の推定値を求め、当該推定値に基づき当該電動モータを駆動するモータ制御装置であって、
第１から第３の発明のいずれかに係る回転角検出装置を備え、
前記回転角推定手段は、前記電動モータのロータの現時点での回転角の推定値を求めることを特徴とする。
【００１１】
第５の発明は、車両のステアリング機構に電動モータによって操舵補助力を与える電動パワーステアリング装置であって、
第４の発明に係るモータ制御装置を備え、
前記モータ制御装置は、前記ステアリング機構に操舵補助力を与える電動モータを駆動することを特徴とする。
【発明の効果】
【００１２】
上記第１の発明によれば、ロータの回転角が検出されたときに、その検出時点である第１の検出時点以前におけるロータの回転速度を示す複数の回転速度算出値に基づいて回転速度推定値が求められ、その第１の時点から次の検出時点である第２の検出時点までは、その回転速度推定値に基づき現時点のロータの回転角を示す回転角推定値が求められる。これにより、回転角推定値を求めるための回転速度推定値は過去の回転速度の変化を反映したものとなるので、ロータの回転速度が増減しても精度の高い回転角推定値を得ることができる。より具体的には、上記第１の発明によれば、ロータの回転角が検出されたときに、その検出時点である第１の検出時点で得られた回転速度算出値を示す角速度算出値ωｃ（ｋ）と、第１の検出時点よりも１つ前のロータ回転角の検出時点で得られる回転速度算出値を示す角速度算出値ωｃ（ｋ−１）との比に応じて、角速度算出値ωｃ（ｋ）を補正することにより、回転速度推定値を示す角速度推定値ωｅが求められる。これにより、ロータの回転速度が増減しても精度の高い回転角推定値を得ることができる。
上記第２の発明によれば、第１の検出時点後に回転角推定手段により得られる回転角推定値が第２の検出時点よりも前に次の検出予定回転角に到達した場合には、回転角推定手段は、回転角推定値が当該検出予定回転角に到達した時点でロータの回転方向が反転するとみなしてロータの回転角の推定値を求め、当該推定値が当該検出予定回転角に到達した後に所定の回転角に達すると、当該所定の回転角に達した時点から第２の検出時点まで当該推定値を当該所定の回転角に固定する。これにより、ロータの回転角の第１の検出時点から次の第２の検出時点までにロータの回転方向が反転する場合においてロータの実際の回転角と回転角推定値とのずれが大きくなるのを抑えることができる。
【００１３】
上記第３の発明によれば、ロータの回転角が検出されたときに、その検出時点である第１の検出時点以前におけるロータの回転速度を示す複数の回転速度算出値に基づいて回転速度推定値が求められ、その第１の時点から次の検出時点である第２の検出時点までは、その回転速度推定値に基づき現時点のロータの回転角を示す回転角推定値が求められる。これにより、回転角推定値を求めるための回転速度推定値は過去の回転速度の変化を反映したものとなるので、ロータの回転速度が増減しても精度の高い回転角推定値を得ることができる。また、上記第３の発明によれば、上記第２の発明と同様、第１の検出時点後に回転角推定手段により得られる回転角推定値が第２の検出時点よりも前に次の検出予定回転角に到達した場合には、回転角推定手段は、回転角推定値が当該検出予定回転角に到達した時点でロータの回転方向が反転するとみなしてロータの回転角の推定値を求め、当該推定値が当該検出予定回転角に到達した後に所定の回転角に達すると、当該所定の回転角に達した時点から第２の検出時点まで当該推定値を当該所定の回転角に固定する。これにより、ロータの回転角の第１の検出時点から次の第２の検出時点までにロータの回転方向が反転する場合においてロータの実際の回転角と回転角推定値とのずれが大きくなるのを抑えることができる。
【００１４】
上記第４の発明によれば、上記第１から第３の発明と同様の効果を奏し、ロータの回転速度が増減しても精度の高い回転角推定値が得られるので、モータの制御精度を向上させることができる。
【００１５】
上記第５の発明によれば、上記第４の発明と同様の効果を奏し、モータの制御精度が向上するので、電動パワーステアリング装置において良好な操舵感を得ることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明に係るモータ制御装置を用いた電動パワーステアリング装置の構成を、それに関連する車両の構成と共に示す概略図である。
【図２】本発明の一実施形態に係るモータ制御装置の構成を示すブロック図である。
【図３】上記電動パワーステアリング装置で使用されるホールセンサを構成するホールＩＣの配置例を示す、モータ軸方向に対する垂直断面図である。
【図４】上記電動パワーステアリング装置で使用されるホールセンサを構成するホールＩＣの動作を説明するための図である。
【図５】上記実施形態における制御部を実現するためのモータ制御処理の手順を示すフローチャートである。
【図６】上記実施形態におけるモータのロータの回転角推定値を算出するための回転角推定処理の手順を示すフローチャートである。
【図７】上記実施形態における回転角推定処理を従来の回転角推定処理と比較しつつ説明するための波形図である。
【図８】上記実施形態およびその変形例においてモータのロータの回転方向が反転する場合の回転角推定値の変化の例を実際のロータ回転角と共に示す波形図（ａ）および（ｂ）である。
【発明を実施するための形態】
【００１７】
以下、添付図面を参照しつつ本発明の実施形態について説明する。
＜１．全体構成＞
図１は、本発明に係るモータ制御装置を用いた電動パワーステアリング装置の構成を、それに関連する車両の構成と共に示す概略図である。この電動パワーステアリング装置は、ブラシレスモータ１、減速機２、トルクセンサ３、車速センサ４、位置検出センサであるホールセンサ５、および、電子制御ユニット（Electronic Control Unit ：以下「ＥＣＵ」という）１０を備えたコラムアシスト型の電動パワーステアリング装置である。
【００１８】
図１に示すように、ステアリングシャフト１０２の一端にはハンドル（ステアリングホイール）１０１が固着されており、ステアリングシャフト１０２の他端はラックピニオン機構１０３を介してラック軸１０４に連結されている。ラック軸１０４の両端は、タイロッドおよびナックルアームからなる連結部材１０５を介して車輪１０６に連結されている。運転者がハンドル１０１を回転させると、ステアリングシャフト１０２は回転し、これに伴いラック軸１０４は往復運動を行う。ラック軸１０４の往復運動に伴い、車輪１０６の向きが変わる。
【００１９】
電動パワーステアリング装置は、運転者の負荷を軽減するために、以下に示す操舵補助を行う。トルクセンサ３は、ハンドル１０１の操作によってステアリングシャフト１０２に加えられる操舵トルクＴを検出する。車速センサ４は、車速Ｓを検出する。
【００２０】
ホールセンサ５は、ホール素子を含む３個のホールＩＣからなり、ブラシレスモータ１のロータの回転位置Ｐを検出する。なお、後述するようにこのホールセンサ５は、連続的にロータの位置を検出可能ないわゆるリニア形式のホールセンサではなく、離散的にロータの位置を検出するスイッチ形式（オンオフ形式）のホールセンサである。
【００２１】
ＥＣＵ１０は、車載バッテリ１００から電力の供給を受け、操舵トルクＴ、車速Ｓおよび回転位置Ｐに基づきブラシレスモータ１を駆動する。ブラシレスモータ１は、ＥＣＵ１０によって駆動されると、操舵補助力を発生させる。減速機２は、ブラシレスモータ１とステアリングシャフト１０２との間に設けられる。ブラシレスモータ１で発生した操舵補助力は、減速機２を介して、ステアリングシャフト１０２を回転させるように作用する。
【００２２】
この結果、ステアリングシャフト１０２は、ハンドル１０１に加えられる操舵トルクと、ブラシレスモータ１で発生した操舵補助力の両方によって回転する。このように電動パワーステアリング装置は、ブラシレスモータ１で発生した操舵補助力を車両のステアリング機構に与えることにより操舵補助を行う。
【００２３】
＜２．モータ制御装置＞
＜２．１  モータ制御装置の構成＞
図２は、本発明の一実施形態に係るモータ制御装置の構成を示すブロック図である。このモータ制御装置は、上記電動パワーステアリング装置において使用され、ＥＣＵ１０を用いて構成されており、ブラシレスモータ１を駆動する。ＥＣＵ１０は、マイクロコンピュータ（以下「マイコン」と略記する）２０とモータ駆動部とからなる。マイコン２０は、その内部のメモリに格納された所定のプログラムを実行することにより、目標電流演算部１１４と、減算器１２２，１２４と、ｄ軸電流ＰＩ制御部１２６と、ｑ軸電流ＰＩ制御部１２８と、ｄ−ｑ／３相交流座標変換部１３２と、符号反転加算器１３４と、３相交流／ｄ−ｑ座標変換部１３８と、ロータ回転位置検出部１６２と、ロータ回転角推定部１６４とからなるモータ制御部として機能する。目標電流演算部１１４には、基本アシスト制御部１８０とモータ電流指令値演算部１８８とが含まれている。モータ駆動部は、モータ制御部としてのマイコン２０から出力される電圧指令値に基づき３相のブラシレスモータ１を駆動するハードウェア（回路）であり、ＰＷＭ信号生成回路１５０と、モータ駆動回路１５２と、Ｕ相電流検出器１５４と、Ｖ相電流検出器１５６とから構成される。
【００２４】
ハンドル１０１が操作されると、トルクセンサ３によって検出される操舵トルクＴがＥＣＵ１０に入力されるとともに、車速センサ４によって検出される車速ＳもＥＣＵ１０に入力される。
【００２５】
ロータ回転位置検出部１６２は、ブラシレスモータ１に取り付けられた３個のホールＩＣ５ａ，５ｂ，５ｃからなるホールセンサ５が出力するセンサ信号に基づいて、ブラシレスモータ１のロータである永久磁石の回転位置Ｐである実際のロータ回転角θａに相当する電気角（以下「検出回転角」という）θｒを離散的に検出する。
【００２６】
図３（ａ）は、モータ１の軸方向に対する垂直断面図であり、図３（ｂ）は、図３（ａ）に示すロータ７が６０度時計回りに回転した時のモータ１の軸方向に対する垂直断面図である。図３（ａ）（ｂ）に示すように、ホールセンサ５を構成する３個のホールＩＣ５ａ〜５ｃのうち、ホールＩＣ５ａは、ロータ７のＮ極がステータ６ａに最も近接したときに（すなわちロータ７のＮ極がステータ６ａの直下に来たときに）ロータ７のＮ極とＳ極の境界（以下「磁極境界」という）に最も近接する位置に配置されている。また、ホールＩＣ５ｂは、ロータ７のＮ極がステータ６ｂに最も近接したときにロータ７の磁極境界に最も近接する位置に配置されており、ホールＩＣ５ｃは、ロータ７のＮ極がステータ６ｃに最も近接したときにロータ７の磁極境界に最も近接する位置に配置されている。各ホールＩＣ５ａ〜５ｃは、ロータ７の磁極境界が最も接近した時、その出力信号をハイレベル（Ｈレベル）からローレベル（Ｌレベル）またはＬレベルからＨレベルへと変化させる。したがって、ロータ７の実際のロータ回転角θａが６０度変化する毎にこれらホールＩＣ５ａ〜５ｃのうちのいずれか１つから出力される信号がＨレベルからＬレベルへまたはその逆に変化する。以下、図４を参照して、これらホールＩＣ５ａ〜５ｂの動作を更に詳しく説明する。なお以下では、ステータ６ａにロータ７のＮ極が最も接近したときのロータ７の回転角を０度とし、時計回り方向を回転角の正方向とする。
【００２７】
いま、ホールＩＣ５ａに着目し、図４（ａ）に示すようにロータ７が時計回り方向に回転するものとすると、このホールＩＣ５ａは、図４（ｂ）に示すような正弦波状のマグネット磁束変化に基づき図４（ｃ）に示すような２値信号を出力信号Ｓａとして生成する。すなわちホールＩＣ５ａは、上記のマグネット磁束がＮ極のときにはＨレベルとなりＳ極のときにはＬレベルとなる出力信号Ｓａを生成し、この出力信号Ｓａは、上記のマグネット磁束ＳａａがＮ極からＳ極へと変化する時にＨレベルからＬレベルへと変化し、Ｓ極からＮ極へと変化する時にＬレベルからＨレベルへと変化する。したがって、図４（ａ）〜（ｃ）からわかるように、ロータ７が時計回り方向に回転している場合において、ホールＩＣ５ａの出力信号Ｓａは、ロータ７の実際の回転角θａが０度の時にＨレベルからＬレベルへと変化し、１８０度の時にＬレベルからＨレベルへと変化する。同様に、図３に示すように配置されたホールＩＣ５ｃ，５ｂは、図４（ｄ）（ｅ）に示すような出力信号Ｓｃ，Ｓｂをそれぞれ生成する。ホールＩＣ５ｃの出力信号Ｓｃは、ロータ７の実際の回転角θａが６０度の時にＬレベルからＨレベルへと変化し、２４０度の時にＨレベルからＬレベルへと変化する。また、ホールＩＣ５ｂの出力信号Ｓｂは、ロータ７の実際の回転角θａが１２０度の時にＨレベルからＬレベルへと変化し、３００度の時にＬレベルからＨレベルへと変化する。そこで、ロータ回転位置検出部１６２は、これらの出力信号Ｓａ，Ｓｂ，ＳｃをホールＩＣ５ａ〜５ｂから受け取り、これらの出力信号Ｓａ，Ｓｂ，Ｓｃの変化に基づきロータ７の回転角θａを判別することで、検出回転角θｒを６０度間隔で離散的に取得する。
【００２８】
既述の図３（ａ）（ｂ）では、出力信号がＨレベルからＬレベルへまたはその逆に変化するホールＩＣに斜線が付されている。例えば、ロータ７が図３（ａ）に示す回転位置にある場合、ロータ回転位置検出部１６２は、ホールＩＣ５ａの出力信号ＳａのＨレベルからＬレベルへの変化に基づき、ロータ７の回転角θａが０度であることを判別できるので（図４（ｃ））、ロータ回転角推定部１６４に対して検出回転角θｒである０度を与える。さらに、ロータ７が時計回り方向に６０度回転すると、図３（ｂ）に示すように斜線を付されたホールＩＣ５ｃの出力信号Ｓｃは、ＬレベルからＨレベルへと変化する。この場合、ロータ回転位置検出部１６２は、この出力信号Ｓｃの変化に基づき、ロータ７の回転角θａが６０度であることを判別できるので（図４（ｄ））、ロータ回転角推定部１６４に対して検出回転角θｒである６０度を与える。
【００２９】
このように、ロータ７が６０度回転する毎に、３つのホールＩＣ５ａ〜５ｃの出力信号Ｓａ〜ＳｃのいずれかがＬレベルからＨレベルへとまたはその逆に変化するので、ロータ回転位置検出部１６２は、これらの出力信号Ｓａ〜Ｓｃの変化に基づき、ロータ回転角推定部１６４に対して検出単位角度である６０度毎に（離散的に）検出回転角θｒを与える。したがって、検出回転角θｒが与えられる場合には、その検出回転角θｒは正確であってそのままロータ回転角として使用することができるが、その値は離散的にしか得られないためその間の値を推定する必要がある。なお、上記説明からわかるように、本実施形態では、３つのホールＩＣ５ａ〜５ｃを含むホールセンサ５とロータ回転位置検出部１６２とにより、ロータ回転角を離散的に検出する回転角離散検出手段が実現されている。
【００３０】
以下では、ホールセンサ５を構成するホールＩＣ５ａ〜５ｃは、上記のような交番検知方式の２値信号出力のホールＩＣであって図３に示すように配置されているものとして説明を進める。しかし、本発明で使用可能なホールセンサはこのような構成に限定されるものではなく、ロータ７の回転角を離散的に検出できる構成であってそのために回転角推定が必要であるものであればよい。例えば、ホールＩＣ５ａ〜５ｃに代えて、図４（ｂ）に示すようにロータ７の回転に従って正弦波状のアナログ信号を出力する３個のホール素子によりホールセンサ５を構成し、これら３個のホール素子を図３に示すホールＩＣ５ａ〜５ｃと同様に配置してもよい。この場合、これら３個のホール素子の出力信号（アナログ信号）からなるセンサ信号をマイコン２０が受け取り、マイコン２０に内蔵されたＡＤ変換器でデジタル信号に変換し、そのデジタル信号に基づきマイコン２０でのソフトウェア処理により検出回転角θｒを離散的に取得する。すなわち、そのソフトウェア処理によりロータ回転位置検出部１６２が実現され、ロータ回転位置検出部１６２は、上記３個のホール素子の出力信号の値が零になる時点（ゼロクロス点）毎に検出回転角θｒを離散的に（６０度毎に）求め、求めた検出回転角θｒをロータ回転角推定部１６４に与える。
【００３１】
ロータ回転角推定部１６４は、ロータ回転位置検出部１６２によって検出された検出回転角θｒに対して、現時点におけるロータ回転角を正確に推定する演算を行うことにより、この検出回転角θｒを推定された電気角θｒｅに補正し出力する（この推定された電気角θｒｅは、後述の回転角推定処理等の説明において「回転角推定値θｒｅ」と呼ばれる）。この推定演算については詳しくは後述する。なお本実施形態では、ロータ７の極対数が１であるため、ロータの電気角は機械角に一致している。またこの極対数は２以上であってもよい。
【００３２】
またロータ回転角推定部１６４は、直前（すなわち次回の検出時点から見て１回前）にロータ回転位置検出部１６２から受け取った検出回転角θｒと、その前（２回前）に受け取った検出回転角θｒ’とを記憶するとともに、前回（２回前）の時点から直前（１回前）の時点までの時間間隔（以下「切り換り時間間隔」ともいう）ΔＴk とを記憶する。これらの値はロータ回転角の推定のために使用されるが、詳しくは後述する。
【００３３】
基本アシスト制御部１８０は、アシストマップと呼ばれる、操舵トルクと目標電流値とを対応づけるテーブルを参照し、操舵トルクＴと車速Ｓとに基づいて、ブラシレスモータ１に流すべき電流の目標値である目標電流値Ｉｔを決定する。モータ電流指令値演算部１８８は、目標電流値Ｉｔに基づいてｑ軸電流指令値ｉｑ*を出力する。このｑ軸電流指令値ｉｑ*は、ブラシレスモータ１が発生すべきトルクに対応する電流値であり、減算器１２４に入力される。一方、ｄ軸電流指令値ｉｄ*は、トルクに関与しないのでｉｄ*＝０として、減算器１２２に入力される。
【００３４】
Ｕ相電流検出器１５４およびＶ相電流検出器１５６は、それぞれモータのＵ相、Ｖ相の巻き線（本明細書では単に「Ｕ相、Ｖ相」という）に流れる電流を検出し、Ｕ相電流検出値ｉｕとＶ相電流検出値ｉｖとをそれぞれ電圧信号で出力する。これらのＵ相電流検出器１５４およびＶ相電流検出器１５６は、モータ駆動回路１５２からブラシレスモータ１へ繋がる線に対して配置されるが、モータ駆動回路１５２内の各駆動用素子と接地点との間に配置されてもよい。
【００３５】
３相交流／ｄ−ｑ座標変換部１３８は、ロータの電気角θｒｅに基づいて、Ｕ相電流検出値ｉｕおよびＶ相電流検出値ｉｖを、ｄ−ｑ座標上の値であるｄ軸モータ電流値ｉｄおよびｑ軸モータ電流値ｉｑに変換する。このｄ軸モータ電流値ｉｄおよびｑ軸モータ電流値ｉｑは、減算器１２２および減算器１２４にそれぞれ入力される。
【００３６】
減算器１２２では、ｄ軸電流指令値ｉｄ*とｄ軸モータ電流値ｉｄとの偏差ｉｄ*−ｉｄが出力される。そして、ｄ軸電流ＰＩ制御部１２６では、その偏差ｉｄ*−ｉｄに基づく比例積分演算によって、ｄ軸電圧指令値ｖｄ*が出力される。一方、減算器１２４では、ｑ軸電流指令値ｉｑ*とｑ軸モータ電流値ｉｑとの偏差ｉｑ*−ｉｑが出力される。そして、ｑ軸電流ＰＩ制御部１２８では、その偏差ｉｑ*−ｉｑに基づく比例積分演算によって、ｑ軸電圧指令値ｖｑ*が出力される。
【００３７】
ｄ−ｑ／３相交流座標変換部１３２では、ロータ７の電気角θｒｅに基づいて、ｄ軸電圧指令値ｖｄ*およびｑ軸電圧指令値ｖｑ*を、３相交流座標上の値であるＵ相電圧指令値ｖｕ*およびＶ相電圧指令値ｖｖ*に変換する。そして、符号反転加算器１３４は、Ｕ相電圧指令値ｖｕ*およびＶ相電圧指令値ｖｖ*からＷ相電圧指令値ｖｗ*を算出する。
【００３８】
ＰＷＭ信号生成回路１５０は、Ｕ相電圧指令値ｖｕ*、Ｖ相電圧指令値ｖｖ*、Ｗ相電圧指令値ｖｗ*を受け取り、それらの指令値に応じてデューティ比の変化するＰＷＭ信号Ｓｕ、Ｓｖ、Ｓｗを生成する。モータ駆動回路１５２では、そのＰＷＭ信号Ｓｕ、Ｓｖ、Ｓｗによってスイッチング素子がオン／オフされ、それにより、デューティ比に応じた電圧ｖｕ、ｖｖ、ｖｗがブラシレスモータ１のＵ相、Ｖ相、Ｗ相にそれぞれ印加される。
【００３９】
＜２．２  モータ制御処理＞
図５は、本実施形態においてモータ１の駆動を制御するためのモータ制御部をソフトウェア的に実現するためにマイコン２０によって実行されるモータ制御処理を示すフローチャートである。このモータ制御処理では、まず、車両情報等のモータ制御に必要な情報が取得される（ステップＳ２）。ここで取得される情報には、ｄ軸電流ＰＩ制御部１２６およびｑ軸電流ＰＩ制御部１２８での演算やロータ回転位置検出部１６２での検出回転角θｒの決定に必要なパラメータ値などが含まれる。後述の回転角推定処理（図６）で使用される変数等も当該ステップＳ２で初期化される（例えばｔ＝０、ｔk＝０、ωｅ＝０、ωｃ（０）＝０，θｒ＝θｒｅ＝０、Ｄｉｒ＝１等）。なお、マイコン２０はタイマーを内蔵しており、このタイマーを当該ステップＳ２でスタートさせることにより、時刻を示す変数ｔが０に初期化される。
【００４０】
このようなステップＳ２の実行後は、ステップＳ３において、各センサ３，４および電流検出器１５４，１５６からの出力信号に基づき、モータ１に流すべき電流の目標値（電流目標値）Ｉｔを算出する周期である制御周期毎に、操舵トルクＴ，車速Ｓ，Ｕ相電流検出値ｉｕ，Ｖ相電流検出値ｉｖが取得される。またステップＳ３において、ホールＩＣ５ａ〜５ｃの出力信号からなるホールセンサ５のセンサ信号に基づきモータ１におけるロータ７の電気角が離散的に検出される。すなわち、図２に示したロータ回転位置検出部１６２はステップＳ３により実現されている。ここで離散的に検出された当該電気角は、検出回転角θｒとして、後述の回転角推定処理により実現されるロータ回転角推定部１６４に与えられる。以下では、現時点で既に取得されている検出回転角θｒを、現時点以降で取得される検出回転角θｒと区別するために「検出済回転角θｒ」という。なお上記の制御周期は、検出回転角θｒが取得される時間間隔すなわちロータ７の電気角が離散的に検出される時間間隔に比べて非常に短い。
【００４１】
次のステップＳ４では、ロータ回転角推定部１６４を実現するための回転角推定処理が実行され、これによりモータ１におけるロータ７の電気角の推定値を示す回転角推定値θｒｅが得られる。
【００４２】
その後、ステップＳ６において、この回転角推定値θｒｅを用いてモータ１の電流制御等のための処理が行われる。すなわちステップＳ６において、操舵トルクＴおよび車速Ｓに基づいて電流目標値Ｉｔが決定され、この電流目標値Ｉｔから、ブラシレスモータ１が発生すべきトルクに対応するｑ軸電流指令値ｉｑ*が決定される。一方、上記の回転角推定値θｒｅを用いて、Ｕ軸電流検出値ｉｕおよびＶ相電流検出値ｉｖがｄ−ｑ座標上の値としてのｄ軸モータ電流値ｉｄおよびｑ軸モータ電流値ｉｑに変換される。そして、ｄ軸電流指令値ｉｄ*（＝０）およびｑ軸電流指令値ｉｑ*とｄ軸モータ電流値ｉｄおよびｑ軸モータ電流値ｉｑとに基づく制御演算によってｄ軸電圧指令値ｖｄ*およびｑ軸電圧指令値ｖｑ*が算出される。これらは、上記の回転角推定値θｒｅを用いて３相交流座標上の値としての各相の電圧指令値ｖｕ*、ｖｖ*、ｖｗ*に変換され、各相の電圧指令値ｖｕ*、ｖｖ*、ｖｗ*はマイコン２０から出力されてＰＷＭ信号生成回路１５０に与えられる。このようなステップＳ６の処理により、図２に示す目標電流演算部１１４と、減算器１２２，１２４と、ｄ軸電流ＰＩ制御部１２６と、ｑ軸電流ＰＩ制御部１２８と、ｄ−ｑ／３相交流座標変換部１３２と、符号反転加算器１３４と、３相交流／ｄ−ｑ座標変換部１３８とがソフトウェア的に実現される。
【００４３】
上記の電流制御等の処理の後は、ステップＳ３へ戻る。以降、電動パワーステアリング装置におけるモータ制御装置（ＥＣＵ）１０が動作している間、上記の制御周期でステップＳ３，Ｓ４，Ｓ６が繰り返し実行される。
【００４４】
＜２．３  回転角推定処理＞
図６は、本実施形態におけるロータ回転角推定部１６４をソフトウェア的に実現するための回転角推定処理（図５のステップＳ４）の手順を示すフローチャートである。図７は、本実施形態における回転角推定処理を従来の回転角推定処理と比較しつつ説明するための波形図である。以下、図５〜図７を参照して本実施形態における回転角推定処理について説明する。なお、図７（ａ）〜（ｃ）に示す信号波形を生成するホール素子Ｈ１，Ｈ２，Ｈ３は、図３に示すホールＩＣ５ｂ，５ａ，５ｃにそれぞれ対応している。既述のように、図６の回転角推定処理は非常に短い制御周期毎に実行され（図５参照）、この回転角推定処理においてマイコン２０は下記のように動作する。
【００４５】
まず、ステップＳ１０において、ホールセンサ５からのセンサ信号に基づきロータ回転位置検出部１６２（図５のステップＳ３）によって算出され離散的に与えられる検出済回転角θｒを受け取った否かを判定する。これは、ホールセンサ５とロータ回転位置検出部１６２とにより実現される回転角離散検出手段がロータ回転角を検出したか否かを判定することを意味する。ホールセンサ５の信号検出により得られる検出済回転角θｒを受け取らない場合には（ステップＳ１０：Ｎｏ）、ステップＳ４１に進む。以降のステップＳ４１，Ｓ４２によりロータ回転角が推定される。すなわち、ステップＳ４１およびＳ４２の実行により回転角推定手段が実現される。この推定動作の詳細については後述する。
【００４６】
ステップＳ１０での判定の結果、ホールセンサ５の信号検出により離散的に得られる検出済回転角θｒを受け取った場合には（ステップＳ１０：Ｙｅｓ）、受け取った検出済回転角θｒをそのまま回転角推定値θｒｅとし（ステップＳ１１）、その回転角推定値θｒｅを出力する。この回転角推定値θｒｅは、ステップＳ６の処理において使用される。すなわち既述のように、この回転角推定値θｒｅは、ステップＳ６の処理によって実現される３相交流／ｄ−ｑ座標変換部１３８およびｄ−ｑ／３相交流座標変換部１３２に与えられる。
【００４７】
次にステップＳ１２において、ロータ７の回転方向を示す回転方向係数Ｄｉｒに１または−１の値を代入する。具体的には、前回（２回前）の検出時点ｔk-1（ｔn-2）における回転角推定値θｒｅ’と、今回である直前（１回前）の検出時点ｔk（ｔn-1）における回転角推定値θｒｅとに基づき、図３の時計回り方向にロータ７が回転していると判定される場合には回転方向係数Ｄｉｒに１を代入し、反時計回り方向にロータ７が回転していると判定される場合には回転方向係数Ｄｉｒに−１を代入する。またθｒｅ’＝θｒｅである場合には、ロータ７の回転方向が途中で反転しているので、それ以前に得られた回転方向係数Ｄｉｒの値の符号を逆にして再び回転方向係数Ｄｉｒに代入する。なお本明細書では、時計回り方向を正方向としてロータ７の回転角や角速度の値が設定されるものとする。
【００４８】
次にステップＳ１４において、ホールセンサ５の信号検出による検出済回転角θｒの取得時点（以下「回転角検出時点」または単に「検出時点」という）ｔk（ｔn-1）までのロータ回転角の検出結果としての検出時点間の間隔に基づき、過去の検出時点間でロータ７の角速度を示す回転角速度算出値を更新する。
【００４９】
本実施形態における回転角推定処理では、ロータ回転角が検出される毎に（検出済回転角が新たに取得される毎に）、その検出時点とその前の検出時点との間隔に基づき角速度算出値が算出される（後述の式（２）参照）。ステップＳ１４へ進んだ時点では、直前の検出時点ｔkの前の検出時点（２回前の検出時点）ｔk-1で算出された角速度算出値がωｃ（ｋ）として与えられているので、まず、これをωｃ（ｋ−１）に置き換える。すなわち、
ωｃ（ｋ−１）←ωｃ（ｋ）    …（１）
とする。次に、直前の検出時点ｔkと２回前の検出時点ｔk-1との時間間隔ΔＴkと上記の回転方向係数Ｄｉｒを用いて、下記式により新たに角速度算出値ωｃ（ｋ）を求める。
ωｃ（ｋ）＝Ｄｉｒ・６０／ΔＴk    …（２）
この角速度算出値ωｃ（ｋ）は、２回前の検出時点ｔk-1から直前の検出時点ｔkまでの期間（以下、この期間も記号“ΔＴk”で示すものとする）におけるロータ７の角速度の平均値（ホールセンサ５の信号検出による実測に基づく平均値）を示している。
【００５０】
次にステップＳ１６において、上記式（１）（２）により得られる２つの角速度算出値ωｃ（ｋ−１），ωｃ（ｋ）を用いて、下記式により角速度推定値ωｅを算出する。
ωｅ＝ωｃ（ｋ）・｛ωｃ（ｋ）／ωｃ（ｋ−１）｝    …（３）
この角速度推定値ωｅは、後述のように、直前の検出時点ｔkから次の検出時点ｔk+1までにおいて回転角推定値θｒｅを算出するために使用される。上記式（３）により算出される角速度推定値ωｅは、直前の検出時点ｔkで得られた角速度算出値ωｃ（ｋ）を、その直前の２つの期間ΔＴk-1，ΔＴkについての角速度算出値ωｃ（ｋ），ωｃ（ｋ−１）が示す角速度の変化に応じて補正したものとなっている。
【００５１】
上記のようにして角速度推定値ωｅが得られると、次のステップＳ１８では、次の制御周期以降での回転角推定処理において回転角推定値θｒｅを算出するための時間的基準を与えるべく、直前の検出時点を示す変数ｔkに現時点の時刻ｔ（タイマーが示す時刻ｔ）を代入する。なお上記説明からわかるように、ステップＳ１４の実行により、過去の検出時点間でのロータ７の角速度を示す角速度算出値ωｃ（ｋ）を求める速度算出手段が実現され、ステップＳ１６の実行により、直前の検出時点ｔkから次の検出時点ｔk+1までにおいてロータ７の回転速度を示す角速度推定値ωｅを求める速度推定手段が実現される。
【００５２】
上記のステップＳ１８を終了すると、図６の回転角推定処理から図５のモータ制御処理のルーチンに復帰する。
【００５３】
その後、モータ制御処理におけるステップＳ６を実行し、ステップＳ３に戻る。そして、ステップＳ３を実行した後、再びステップＳ４を実行する。このとき実行されるステップＳ４の回転角推定処理では、ホールセンサ５の信号検出により得られる検出済回転角θｒを受け取らないので（図６のステップＳ１０：Ｎｏ）、ステップＳ４１へ進む。
【００５４】
ステップＳ４１では、現時点での回転角推定値θｒｅすなわちステップＳ４２の直近の実行により（またはステップＳ２で初期値として）設定された回転角推定値θｒｅの検出済回転角θｒからの偏差（回転角推定値θｒｅと検出済回転角θｒとの差の絶対値）｜θｒｅ−θｒ｜が６０度以上であるか否かを判定する。この判定の結果、当該偏差｜θｒｅ−θｒ｜が６０度よりも小さい場合には、ステップＳ４２へ進む。
【００５５】
ステップＳ４２では、上記の検出済回転角θｒおよび角速度推定値ωｅと現時点の時刻ｔを用いて、下記式で示される推定演算により回転角推定値θｒｅを算出する。
θｒｅ＝θｒ＋ωｅ・（ｔ−ｔk）    …（４）
これは、ロータ７が角速度推定値ωｅの速度で回転するものとして回転角θｒの検出時点ｔk以降におけるロータ７の回転角を推定することを意味する（図７（ｇ）（ｉ）参照）。
【００５６】
ステップＳ４２を終了すると、図６の回転角推定処理から図５のモータ制御処理のルーチンに復帰し、ステップＳ６以降の処理を実行する。
【００５７】
その後、次の制御周期において回転角推定処理（Ｓ４）が開始されると、まず、図６のステップＳ１０において、ホールセンサ５の信号検出により得られる新たな検出済回転角θｒを受け取ったか否かを判定する。既述のように、ロータ回転角は６０度毎に離散的に得られるので、一旦、ホールセンサ５の信号検出により得られる検出済回転角θｒを受け取ると、次に新たな検出済回転角θｒを受け取るまでは、ステップＳ１０でＮｏと判定されて、制御周期毎に図６の回転角推定処理におけるステップＳ４１→Ｓ４２を実行する。
【００５８】
その結果、制御周期毎にステップＳ４２において推定演算（式（４））により回転角推定値θｒｅが更新されていく。そして、回転角推定値θｒｅが、次にホールセンサ５の信号検出により取得されると予想される検出回転角（以下「検出予定回転角θｎｘ」という）に達すると、上記偏差｜θｒｅ−θｒ｜が６０度となるので、ステップＳ４１においてＹｅｓと判定される。これにより、推定演算処理（式（４））を行うことなく、図６の回転角推定処理から図５のモータ制御処理のルーチンに復帰する。
【００５９】
以降の制御周期では、新たにロータ回転角が検出されるまでは、回転角推定処理においてステップＳ４１でＹｅｓと判定され、ステップＳ４２（推定演算）は実行されないので、回転角推定値θｒｅは変化しない。
【００６０】
制御周期毎に上記のような図６の回転角推定処理（図５のステップＳ４）を繰り返し実行している間に、ホールセンサ５の信号検出により得られる新たな検出済回転角を受け取ると、ステップＳ１０で再びＹｅｓと判定される。この新たな検出済回転角は、２つの検出時点ｔk-1とｔkの間（期間ΔＴk）でロータ７の回転方向が反転していない場合は、θｎｘ＝θｒ＋Ｄｉｒ・６０であり、反転している場合は、後述の図８（ａ）に示すように、θｒである。また、回転角推定値θｒｅが検出予定回転角θｎｘに達する前にロータ回転角が新たに検出されると、その検出時点ｔk+1において回転角推定値θｒｅが検出予定回転角θｎｘ（＝新たな検出済回転角）へと直ちに変更され、一方、ロータ回転角が新たに検出される前に（次の検出時点ｔk+1までに）回転角推定値θｒｅが検出予定回転角θｎｘに達すると（ステップＳ４１：Ｙｅｓ）、既述のように、その後は次の検出時点ｔk+1まで回転角推定値θｒｅが変化しない。
【００６１】
図６の回転角推定処理におけるステップＳ１０で再びＹｅｓと判定された場合には、上記の直前検出時点ｔkを２回前の検出時点ｔk-1に置き換えると共に、新たな検出時点ｔk+1を直前検出時点ｔkに置き換え、かつ、新たなロータ回転角の検出前に検出された上記検出回転角θｒを２回前の検出済回転角θｒ’に置き換えると共に、新たに検出されたロータ回転角を検出済回転角θｒとして、ステップＳ１１以降の既述の処理を実行する。
【００６２】
以上説明した図６の回転角推定処理は、本実施形態に係るモータ制御装置が動作している間、制御周期毎に実行され（図５）、制御周期毎に得られる回転角推定値θｒｅを用いてモータ１の電流制御が行われる（図２、図５）。
【００６３】
＜２．４  効果＞
ホールセンサのようにロータ回転角を離散的に検出する検出手段によって得られる検出回転角を用いて、現時点の回転角を示す回転角推定値を算出する場合には、直前の検出時点ｔkから次の検出時点ｔk+1までのロータの角速度を推定する必要がある。これに対し、従来は、図７（ｅ）（ｆ）に示すように、２回前の検出時点ｔk-1から直前の検出時点ｔkまでの期間ΔＴkにおける角速度の平均値に相当する角速度算出値ωｃ（ｋ）が、角速度推定値ωｅとして使用されていた（式（２）参照）。なお図７（ｅ）〜（ｇ）では、期間ΔＴｉでの角速度の平均値に相当する角速度算出値を記号“ωｃ（ｉ）”で示し、期間ΔＴｉでの回転角推定値θｒｅの算出に使用する角速度推定値を記号“ωｅ（ｉ）”で示すものとする（ｉ＝０，１，２，…）。このような従来の回転角推定値θｒｅの算出法によれば、図７（ｈ）に示すように、時点ｔ１でロータ回転角が検出された後、次にロータ回転角が検出される時点ｔ２よりもかなり前の時点ｔ12で回転角推定値θｒｅが検出予定回転角θｎｘ（＝１２０°）に達したり、時点ｔ２でロータ回転角が検出された後、回転角推定値θｒｅが検出予定回転角θｎｘ（＝１８０°）に達するよりもかなり前の時点ｔ３でロータ回転角が新たに検出されたりすることがある。この現象は、ロータの回転が加速したり減速したりしている場合に生じ、このような場合、回転角推定値θｒｅと実際の回転角とのずれが大きくなってモータの制御精度が低下する。
【００６４】
これに対し上記実施形態では、回転角推定値θｒｅの算出に使用する角速度推定値ωｅが式（３）で与えられる。すなわち図７（ｆ）（ｇ）に示すように、直前の検出時点ｔkから次の検出時点ｔk+1までの期間ΔＴk+1での回転角推定値θｒｅの算出に使用する角速度推定値ωｅ（ｋ＋１）は、期間ΔＴkでの角速度平均値に相当する角速度算出値ωｃ（ｋ）と期間ΔＴk-1での角速度平均値に相当する角速度算出値ωｃ（ｋ−１）との比に応じて角速度算出値ωｃ（ｋ）を補正したものとなっている。このため、上記式（３）で与えられる角速度推定値ωｅ＝ωｅ（ｋ＋１）は、ロータ７の回転の加減速（角速度の増減）を考慮したものとなり、ロータ７の角速度が増減しても、図７（ｉ）に示すように、回転角推定値θｒｅが検出予定回転角θｎｘに達する時点と次にロータ回転角が検出される時点とのずれが抑制される。その結果、モータの制御精度が向上し、本実施形態に係るモータ制御装置を備えた電動パワーステアリング装置において良好な操舵感を得ることができる。
【００６５】
＜３．他の実施形態および変形例など＞
上記実施形態では、回転角推定値θｒｅの算出（式（４））に使用する角速度推定値ωｅは、角速度の増減を考慮すべく、式（３）に示すように、直前の検出時点ｔkで得られた角速度算出値ωｃ（ｋ）を、その角速度算出値ωｃ（ｋ）と２回前の検出時点ｔk-1で得られた角速度算出値ωｃ（ｋ−１）との比に応じて補正したものとなっている。この補正は、直前の検出時点ｔkの直前における角速度の増減（ロータ回転の加減速）を考慮するためのものである。しかし、このようにロータ回転の加減速を考慮する手法は、過去の２つの角速度算出値の比ωｃ（ｋ）／ωｃ（ｋ−１）を用いるものに限定されない。例えば、直前の検出時点ｔkで既に得られている２つの角速度算出値の差ωｃ（ｋ）−ωｃ（ｋ−１）を用いてロータ回転の加減速を考慮し、上記式（３）に代えて下記式により角速度推定値ωｅを算出するようにしてもよい。
ωｅ＝ωｃ（ｋ）＋｛ωｃ（ｋ）−ωｃ（ｋ−１）｝    …（５）
上記式（３）（５）は、より一般的には、過去の２つの角速度算出値ωｃ（ｋ），ωｃ（ｋ−１）に基づいて角速度推定値ωｅを決定するものと言える（図７（ｆ）（ｇ）参照）。なお、上記演算に使用する過去の角速度算出値（過去のロータ回転角の検出結果に基づき算出された角速度値）は２つに限定されず、３つ以上の過去の角速度算出値に基づいて角速度推定値ωｅを決定するようにしてもよい。なお、上記式（３）（５）は、補正前の過去の角速度値を用いてロータ回転の加減速を考慮するものと言えるが、補正後の過去の角速度値を用いてロータ回転の加減速を考慮するようにしてもよい。
【００６６】
上記実施形態のように、ホールセンサによってロータ回転角を離散的に検出することにより得られる検出回転角を用いて、現時点の回転角を示す回転角推定値を算出する構成において、直前の検出時点ｔkから次の検出時点ｔk+1までにロータの回転方向が反転する場合がある。この場合、ロータの実際の回転角θａは、例えば図８（ａ）において１点鎖線で示すように変化するのに対し、上記実施形態における回転角推定値θｒｅは、図８（ａ）において実線で示すように変化する。すなわち、本実施形態における回転角推定値θｒｅは、次の検出時点ｔk+1（ｔn+2）よりも前に検出予定回転角θｎｘに達し、その時点ｔnから次の検出時点ｔk+1（ｔn+2）までは一定となり、実際の回転角θａとのずれが大きくなる。これを改善するには、例えば図８（ｂ）に示すように、回転角推定値θｒｅが次の検出時点ｔk+1（ｔn+2）よりも前に検出予定回転角θｎｘに達した場合に戻し処理を行い、その戻し処理において回転角推定値θｒｅが所定の回転角（典型的には、検出済回転角θｒと検出予定回転角θｎｘとの間を２等分した角度に相当する回転角）に達すると、その時点ｔn+1以降は次の検出時点ｔk+1（ｔn+2）まで回転角推定値θｒｅが一定となるようにすればよい（例えば特許文献１参照）。
【００６７】
上記実施形態では、ブラシレスモータ１の電気角を示す回転角推定値θｒｅを算出するように構成されているが、本発明は、電気角の推定に限定されるものではなく、電気角か機械角かに拘わらずロータの回転角を推定する場合に適用可能である。また本発明は、ロータの回転角推定値に基づき駆動される、ブラシレスモータ以外の電動モータのモータ制御装置にも適用でき、更には、電動モータ以外の回転機におけるロータの回転角を求める回転角検出装置にも適用できる。
【００６８】
なお本発明は、上述したコラムアシスト型の電動パワーステアリング装置だけでなく、ピニオンアシスト型やラックアシスト型の電動パワーステアリング装置にも適用できる。また本発明は、電動パワーステアリング装置以外に用いられるモータ制御装置にも適用できる。
【符号の説明】
【００６９】
５ａ〜５ｃ…ホールＩＣ、６ａ〜６ｃ…ステータ、７…ロータ、２０…マイコン。
【図１】
0005585058.tif 000002
【図２】
0005585058.tif 000003
【図３】
0005585058.tif 000004
【図４】
0005585058.tif 000005
【図５】
0005585058.tif 000006
【図６】
0005585058.tif 000007
【図７】
0005585058.tif 000008
【図８】
0005585058.tif 000009