(57)【要約】  整流子２０を備えた電動機１０の回転に関する情報を取得する回転角度検出器１００は、電動機１０の端子間電圧Ｖと電動機１０を流れる電流Ｉｍとに基づいて電動機１０の回転角度θを算出する回転角度算出部３２と、電動機１０を流れる電流Ｉｍに含まれるリップル成分Ｉｒに基づいて第１パルス信号Ｐａを生成する第１信号生成部３４と、第１パルス信号Ｐａと算出された回転角度θとに基づいて電動機１０がスリット間角度（第２の角度θｃ）だけ回転したことを表す第２パルス信号Ｐｂを生成する第２信号生成部３５と、第２信号生成部３５の出力に基づいて電動機１０の回転角度を算出する回転情報算出部３６と、を含む。第２信号生成部３５は、回転角度θの角度範囲と、第１パルス信号Ｐａの履歴に基づいて、第１パルス信号Ｐａに基づく第２パルス信号Ｐｂの出力可否と、回転角度θのリセット可否を決定するように構成されている。
2018199104.tif 000002
【特許請求の範囲】
【請求項１】
電動機と、
前記電動機の回転角度を検出する回転角度検出器とを備え、
前記電動機は、複数の整流子片からなる整流子を有し、
前記回転角度検出器は、
前記電動機の端子間電圧と前記電動機を流れる電流とに基づいて、前記回転角度を算出し、回転角度信号を出力する回転角度算出部と、
前記電動機を流れる電流に含まれるリップル成分に基づいて第１信号を生成する第１信号生成部と、
前記第１信号と前記回転角度信号との双方の信号に基づいて前記回転角度を補正する演算部と、
前記演算部の出力に基づいて前記電動機の回転に関する情報を算出する回転情報算出部と、を含み、
前記演算部は、前記回転角度が所定の角度範囲内で最初に前記第１信号が生成された場合に、前記回転角度を前記所定の角度範囲内の第１の角度に補正する指令を前記回転角度算出部に出力し、
前記回転角度が前記所定の角度範囲内であっても、前記所定の角度範囲内で２番目以降に生成された前記第１信号を無視することを特徴とする回転角度検出器付き電動機。
【請求項２】
前記演算部は、前記回転角度が第２の角度に達すると、前記回転角度をゼロに補正する指令を前記回転角度算出部に出力することを特徴とする請求項１に記載の回転角度検出器付き電動機。
【請求項３】
前記第２の角度は、前記リップル成分の１周期に相当する角度であることを特徴とする請求項２に記載の回転角度検出器付き電動機。
【請求項４】
前記第２の角度は、スリットで隔てられた前記整流子片の中心角に等しいことを特徴とする請求項３に記載の回転角度検出器付き電動機。
【請求項５】
前記所定の角度範囲は、前記第２の角度より小さい第３の角度以上、且つ、前記第２の角度以下の範囲と、
ゼロ以上、且つ、前記第３の角度より小さい第４の角度以下の範囲であることを特徴とする請求項２乃至４の何れかに記載の回転角度検出器付き電動機。
【請求項６】
前記第１の角度がゼロであり、
前記演算部は、
前記回転角度が、前記第３の角度より大きく、前記第２の角度より小さい範囲で、最初に前記第１信号が生成された場合に、前記電動機が所定角度だけ回転したことを表す第２信号を生成すると共に、前記回転角度を前記第１の角度に補正する指令を前記回転角度算出部に出力し、
前記第１信号が生成される前に、前記回転角度が前記第２の角度に達した場合に、前記第２信号を生成する
ことを特徴とする請求項５に記載の回転角度検出器付き電動機。
【請求項７】
前記第１の角度が、前記第３の角度より大きく、前記第２の角度より小さく、
前記演算部は、
前記回転角度が、前記第３の角度より大きく、前記第２の角度より小さい範囲で、最初に前記第１信号が生成された場合に、前記電動機が所定角度だけ回転したことを表す第２信号を生成すると共に、前記回転角度を前記第１の角度に補正する指令を前記回転角度算出部に出力し、
前記第１信号が生成される前に、前記回転角度が前記第１の角度に達した場合に、前記第２信号を生成する
ことを特徴とする請求項５に記載の回転角度検出器付き電動機。
【請求項８】
前記第１の角度が、ゼロより大きく、前記第４の角度より小さく、
前記演算部は、
前記回転角度が、前記第３の角度より大きく、前記第２の角度より小さい範囲、及び、前記回転角度が、前記第１の角度より小さい範囲で、最初に前記第１信号が生成された場合に、前記電動機が所定角度だけ回転したことを表す第２信号を生成すると共に、前記回転角度を前記第１の角度に補正する指令を前記回転角度算出部に出力し、
前記第１信号が生成される前に、前記回転角度が前記第１の角度に達した場合に、前記第２信号を生成する
ことを特徴とする請求項５に記載の回転角度検出器付き電動機。
【請求項９】
前記所定の角度範囲は、前記第１の角度よりも小さい第３の角度以上、且つ、前記第１の角度よりも大きい第４の角度以下の範囲であり、
前記演算部は、
前記回転角度が前記第３の角度以上、且つ、前記第１の角度以下の範囲内で最初に前記第１信号が生成された場合に、前記電動機が所定角度だけ回転したことを表す第２信号を生成し、
前記第１信号が生成される前に、前記回転角度が前記第１の角度に達した場合に、前記第２信号を生成する
ことを特徴とする請求項２乃至４何れかに記載の回転角度検出器付き電動機。
【請求項１０】
前記第３の角度がゼロであることを特徴とする請求項９に記載の回転角度検出器付き電動機。
【請求項１１】
前記第２の角度と前記第４の角度とが等しいことを特徴とする請求項９に記載の回転角度検出器付き電動機。
【請求項１２】
前記回転角度が前記第１の角度になったときの、前記回転角度と前記電動機の実際の回転角度との最大位相差によって、前記第３の角度と、前記第４の角度とを設定することを特徴とする請求項５乃至１１の何れかに記載の回転角度検出器付き電動機。
【請求項１３】
前記演算部は、前記所定の角度範囲内で最初に前記第１信号が生成されたときに、前記電動機が所定角度だけ回転したことを表す第２信号を出力することを特徴とする請求項１乃至５の何れかに記載の回転角度検出器付き電動機。
【請求項１４】
前記演算部と前記回転情報算出部とは一体化されており、
前記演算部は、電動機が所定角度だけ回転したことを表すソフトウェア命令としての繰り上がり指令を出力するように構成されていることを特徴とする請求項１乃至５の何れかに記載の回転角度検出器付き電動機。
【請求項１５】
整流子を備えた電動機の回転角度を検出するための電動機の回転角度検出器であって、
前記電動機の端子間電圧と前記電動機を流れる電流とに基づいて前記回転角度を算出し、回転角度信号を出力する回転角度算出部と、
前記電動機を流れる電流に含まれるリップル成分に基づいて第１信号を生成する第１信号生成部と、
前記第１信号と前記回転角度信号との双方の信号に基づいて前記回転角度を補正する演算部と、
前記演算部の出力に基づいて前記電動機の回転に関する情報を算出する回転情報算出部と、を含み、
前記演算部は、前記回転角度が所定の角度範囲内で最初に前記第１信号が生成された場合に、前記回転角度を前記所定の角度範囲内の第１の角度に補正する指令を前記回転角度算出部に出力し、前記回転角度が前記所定の角度範囲内であっても、前記所定の角度範囲内で２番目以降に生成された前記第１信号を無視することを特徴とする回転角度検出器。
【請求項１６】
整流子を備えた電動機の回転角度を検出する方法であって、
前記電動機の端子間電圧と前記電動機を流れる電流とに基づいて前記回転角度を算出するステップと、
前記電動機を流れる電流に含まれるリップル成分に基づいて第１信号を生成するステップと、
前記第１信号と算出された前記回転角度とに基づいて前記電動機がリップル成分の周期に応じた第１の角度だけ回転したことを表す第２信号を生成するステップと、
前記第２信号に基づいて前記回転角度を算出するステップと、を含み、
前記第２信号を生成するステップでは、前記回転角度が所定の角度範囲内であっても、前記所定の角度範囲内で２番目以降に生成された前記第１信号が無視されることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回転角度検出器付き電動機、電動機の回転角度検出器、及び、整流子を備えた電動機の回転角度を検出する方法に関する。特に、位置検出センサを用いずに、電動機に加えられる電圧値、及び、電動機を流れる電流値から、回転角度を検出する電動機、回転角度検出器、及び、その方法に関する。
【背景技術】
【０００２】
従来、位置検出センサを用いずに電動機の回転角度を検出するために、電動機を流れる電流に含まれるリップル成分に基づいて電動機の回転量を取得する装置が知られている（特許文献１参照。）。この装置は、リップル成分と同じ周波数を有するパルス信号を生成し、そのパルス信号の数をカウントして電動機の回転量を取得する。そのため、電動機が一定の回転角速度で回転している場合にはある程度の精度で回転量を取得できる。しかし、電源をオフした後の惰性回転中等、リップル成分が小さくなる場合にはその回転量を高精度に取得することができない。【０００３】
これに対し、リップル成分が小さい場合の回転量をより高精度に取得できるようにした装置が知られている（特許文献２参照。）。この装置は、電動機を流れる電流とその端子間電圧から算出される逆起電圧の積分値に基づいてパルス信号の数を補正することで電動機の回転量をより高精度に取得できるようにしている。【０００４】
具体的には、パルス信号が生成された時の実際の積分値が、リップル成分の１周期の間の平均的な積分値よりも著しく小さい場合にそのパルス信号を誤パルスとし、パルス信号の数をマイナス補正する。或いは、前回のパルス信号が生成されてから所定時間が経過した時の実際の積分値が、その平均的な積分値よりも著しく大きい場合にパルス信号の生成漏れが発生したとしてパルス信号の数をプラス補正する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２６１１３４号公報
【特許文献２】特開２００５−３２３４８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献２に記載の装置は、電動機が停止したと考えられる十分な時間が経過するまではパルス信号の数をプラス補正することができない。そのため、正確な回転量を適時に取得できず、信頼性の高い回転量を取得できないおそれがある。【０００７】
上述の点に鑑み、直流整流子電動機の回転に関する情報をより高い信頼性で取得できる装置を提供することが望まれる。
【課題を解決するための手段】
【０００８】
本発明の実施例に従った装置は、電動機と、前記電動機の回転角度を検出する回転角度検出器とを備え、前記電動機は、複数の整流子片からなる整流子を有し、前記回転角度検出器は、前記電動機の端子間電圧と前記電動機を流れる電流とに基づいて、前記回転角度を算出し、回転角度信号を出力する回転角度算出部と、前記電動機を流れる電流に含まれるリップル成分に基づいて第１信号を生成する第１信号生成部と、前記第１信号と前記回転角度信号との双方の信号に基づいて前記回転角度を補正する演算部と、前記演算部の出力に基づいて前記電動機の回転に関する情報を算出する回転情報算出部と、を含み、前記演算部は、前記回転角度が所定の角度範囲内で最初に前記第１信号が生成された場合に、前記回転角度を前記所定の角度範囲内の第１の角度に補正する指令を前記回転角度算出部に出力し、前記回転角度が前記所定の角度範囲内であっても、前記所定の角度範囲内で２番目以降に生成された前記第１信号を無視することを特徴とする。
【発明の効果】
【０００９】
上述の手段により、直流整流子電動機の回転に関する情報をより高い信頼性で取得できる装置を提供できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施例に係る回転角度検出器の構成例を示す概略図である。
【図２】整流子の概略図である。
【図３Ａ】第１信号生成部が第１パルス信号を生成するタイミングの一例を示す図である。
【図３Ｂ】第１信号生成部が第１パルス信号を生成するタイミングの別の一例を示す図である。
【図４】第２パルス信号が生成されるタイミングの一例を示す図である。
【図５】回転量算出処理のフローチャートである。
【図６】合成パルス信号及びホールパルス信号のそれぞれの推移を示す図である。
【図７】回転量算出処理の別の一例を示すフローチャートである。
【図８】第２パルス信号が生成されるタイミングの別の一例を示す図である。
【図９】回転量算出処理の更に別の一例を示すフローチャートである。
【図１０】第２パルス信号が生成されるタイミングの更に別の一例を示す図である。
【図１１】回転量算出処理の更に別の一例を示すフローチャートである。
【図１２】第２パルス信号が生成されるタイミングの更に別の一例を示す図である。
【図１３】回転量算出処理の更に別の一例を示すフローチャートである。
【図１４】第２パルス信号が生成されるタイミングの更に別の一例を示す図である。
【図１５】回転量算出処理の更に別の一例を示すフローチャートである。
【図１６】第２パルス信号が生成されるタイミングの更に別の一例を示す図である。
【図１７】回転角度検出器の別の構成例を示す概略図である。
【図１８】図１７の回転角度検出器が実行する回転量算出処理の一例を示すフローチャートである。
【図１９】繰り上がり指令が出力されるタイミングの一例を示す図である。
【図２０】図１７の回転角度検出器が実行する回転量算出処理の別の一例を示すフローチャートである。
【図２１】繰り上がり指令が出力されるタイミングの別の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図を参照し、本発明の実施例に係る回転角度検出器１００について説明する。図１は、本発明の実施例に係る回転角度検出器１００の構成例を示す概略図である。
【００１２】
回転角度検出器１００は、電動機１０の回転角度を検出する装置である。図１の例では、回転角度検出器１００は、電動機１０の端子間電圧Ｖと電動機１０を流れる電流Ｉｍとに基づいて電動機１０の回転角度を検出する。
【００１３】
電動機１０は、整流子を備えた直流整流子電動機である。電動機１０は、例えば、自動車のウィンドウの昇降、ドアミラーの角度の調整、空調装置における送風量の調整、ヘッドライトの光軸の調整等で使用される。
【００１４】
図２は整流子２０の概略図である。図２に示すように、整流子２０は、スリット２０ｓによって互いに隔てられた８つの整流子片２０ａで構成されている。各整流子片２０ａの円弧の中心角であるスリット間角度（第２の角度θｃ）は約４５度である。
【００１５】
電動機１０は、４つのスイッチＳＷ１〜ＳＷ４を介して電源に接続されている。そして、スイッチＳＷ１とスイッチＳＷ３とが閉状態となったときに時計回りに順回転し、スイッチＳＷ２とスイッチＳＷ４とが閉状態となったときに反時計回りに逆回転するように構成されている。電源に接続されている図１の例では、順回転する電動機１０を流れる電流が正の値を有し、逆回転する電動機１０を流れる電流が負の値を有する。惰性回転中は、スイッチＳＷ２とスイッチＳＷ３とが閉状態となり、順回転する電動機１０を流れる電流は負の値を有し、逆回転する電動機１０を流れる電流は正の値を有する。本実施例では、惰性回転中も回転を検出するために、電動機１０と電流検出部１０ｂは、閉ループ中に存在する。なお、本実施例では、電動機１０は、電気抵抗値が十分大きいため、電動機１０の２つの端子を短絡しても、惰性で回転する。一方、電動機１０は、電気抵抗値が小さい場合には、電動機１０の２つの端子を短絡すると、急速に減速する。惰性回転中の電動機１０の減速を抑制するためには、抵抗器を通る閉ループを形成すればよい。
【００１６】
電圧検出部１０ａは、電動機１０の端子間電圧Ｖを検出する。電流検出部１０ｂは、電動機１０を流れる電流Ｉｍを検出する。
【００１７】
回転角度検出器１００は、主に、電圧フィルタ部３０、回転角速度算出部３１、回転角度算出部３２、電流フィルタ部３３、第１信号生成部３４、第２信号生成部３５、回転情報算出部３６等の要素を含む。各要素は、電気回路で構成されていてもよく、ソフトウェアで構成されていてもよい。
【００１８】
電圧フィルタ部３０は、電圧検出部１０ａが出力する端子間電圧Ｖの波形を滑らかにする。電圧フィルタ部３０は、例えば、回転角速度算出部３１が電動機１０の回転角速度を精度良く算出できるように端子間電圧Ｖの波形を滑らかにする。図１の例では、電圧フィルタ部３０は、ローパスフィルタであり、電圧検出部１０ａが出力する端子間電圧Ｖの波形のうちの高周波成分をノイズとして除去した端子間電圧Ｖ'を出力する。
【００１９】
回転角速度算出部３１は、電動機１０の端子間電圧Ｖ'と電動機１０を流れる電流Ｉｍとに基づいて電動機１０の回転角速度を算出する。図１の例では、回転角速度算出部３１は、式（１）に基づいて回転角速度ωを算出する。
【００２０】
【数１】
2018199104.tif 000003
Ｋｅは逆起電圧定数であり、Ｒｍは電動機１０の内部抵抗であり、Ｌｍは電動機１０のインダクタンスであり、ｄＩｍ／ｄｔは電流Ｉｍの一回微分である。電流Ｉｍの一回微分は、例えば、前回の電流Ｉｍの値と今回の電流Ｉｍの値との差である。
【００２１】
回転角速度算出部３１は、一定の制御周期毎に電動機１０の回転角速度ωを算出し、算出した回転角速度ωを回転角度算出部３２に対して出力する。
【００２２】
回転角度算出部３２は、電動機１０の回転角度を算出する。回転角度算出部３２は、式（２）に基づいて回転角度θを算出する。
【００２３】
【数２】
2018199104.tif 000004
回転角度算出部３２は、例えば、回転角速度算出部３１が一定の制御周期毎に出力する回転角速度ωを積算して回転角度θを算出し、算出した回転角度θに関する信号である回転角度信号を第２信号生成部３５に対して出力する。
【００２４】
また、回転角度算出部３２は、第２信号生成部３５からの同期指令に応じて回転角度θをゼロにリセットする。
【００２５】
電流フィルタ部３３は、電流検出部１０ｂが出力する電流Ｉｍに含まれる特定の周波数成分であるリップル成分Ｉｒを出力する。電流フィルタ部３３は、第１信号生成部３４が電流Ｉｍのリップル成分Ｉｒを検出できるようにリップル成分Ｉｒの周波数を通すバンドパスフィルタで構成される。バンドパスフィルタで構成される電流フィルタ部３３は、電流検出部１０ｂが出力する電流Ｉｍの波形のうちのリップル成分Ｉｒ以外の周波数成分を除去する。本実施例で利用するリップル成分Ｉｒは、整流子片２０ａとブラシとの接触・分離に起因して生成される。そのため、リップル成分Ｉｒの１周期の間に電動機１０が回転する角度はスリット間角度に等しい。
【００２６】
第１信号生成部３４は、電動機１０が一定の角度だけ回転したことを、リップル成分Ｉｒの波形から推定した信号を生成する。この信号は、リップル成分Ｉｒの周期に応じた信号である。一定の角度は、リップル成分Ｉｒの１周期に対応する角度でもよいし、半周期に対応する角度でもよい。この実施例では、電動機１０がスリット間角度（第２の角度θｃ）だけ回転する毎に、リップル成分Ｉｒの波形から推定した信号（第１パルス信号Ｐａ）を生成する。第１信号生成部３４は、電流フィルタ部３３が出力するリップル成分Ｉｒの波形に基づいて第１パルス信号Ｐａを生成する。
【００２７】
図３Ａは、第１信号生成部３４が第１パルス信号Ｐａを生成するタイミングの一例を示す図である。第１信号生成部３４は、リップル成分Ｉｒの１周期毎に第１パルス信号Ｐａを生成する。例えば、リップル成分Ｉｒが基準電流値Ｉｂを超える度に第１パルス信号Ｐａを生成する。図３Ａの例では、時刻ｔ１、ｔ２、ｔ３、・・・、ｔｎ等で第１パルス信号Ｐａを生成している。Ｔ１、Ｔ２、Ｔ３、・・・、Ｔｎ等は、リップル成分Ｉｒの周期を示し、θ１、θ２、θ３、・・・、θｎ等は、第１信号生成部３４が第１パルス信号を生成したときの回転角度θを示す。回転角度θは、回転角度算出部３２が算出した値である。このように、第１信号生成部３４は、典型的には、回転角度θがスリット間角度だけ増加する毎に第１パルス信号Ｐａを生成する。
【００２８】
但し、第１信号生成部３４は、例えば、電動機１０の電源オフ後の惰性回転期間において電流Ｉｍ及びそのリップル成分Ｉｒが小さくなった場合、リップル成分Ｉｒを検出できずに、第１パルス信号Ｐａを生成できないことがある。また、第１信号生成部３４は、例えば、電動機１０の電源オン直後に突入電流が発生した場合、その突入電流に応じて第１パルス信号Ｐａを誤って生成してしまうことがある。このような第１パルス信号Ｐａの生成漏れ又は誤生成は、回転角度検出器１００が出力する電動機１０の回転に関する情報（以下、「回転情報」とする。）の信頼性を低下させてしまう。
【００２９】
そこで、回転角度検出器１００は、第２信号生成部３５により、電動機１０の回転角度を表す信号をより高精度に生成できるようにしている。
【００３０】
第２信号生成部３５は、演算部の一例であり、電動機１０がスリット間角度だけ回転したことを表す信号を生成する。第２信号生成部３５は、回転角度算出部３２が出力する回転角度信号と第１信号生成部３４が出力する第１パルス信号Ｐａとに基づいてスリット間角度毎に第２パルス信号Ｐｂを生成する。第２パルス信号Ｐｂは、電動機１０が所定角度だけ回転したことを表す情報の一例である。第１パルス信号Ｐａは、リップル成分Ｉｒの波形のみから推定した信号であるため、誤って出力されることがある。一方、第２パルス信号Ｐｂは、第１パルス信号Ｐａと、回転角度信号の双方から推定した信号であるため、誤差を一定値以下にできる。
【００３１】
図４は、第２信号生成部３５が第２パルス信号Ｐｂを生成するタイミングの一例を示す図である。図４の実施例では、第１の角度θｐがゼロである。なお、他の実施例では、第１の角度θｐがゼロ以外である。また、第２の角度θｃは、電動機１０のスリット間角度に等しい。第３の角度θｕ、及び、第４の角度θｄは、第１パルス信号Ｐａの受付可否の閾値であり、回転角度θが第１の角度θｐになったときの回転角度θと電動機１０の実際の回転角度との最大位相差に基づいて設定される。
【００３２】
第２信号生成部３５は、回転角度θが第３の角度θｕ以上で且つ第２の角度θｃ未満のときに第１信号生成部３４が最初に生成した第１パルス信号Ｐａに基づいて、第２パルス信号Ｐｂを生成する。第３の角度θｕは、予め設定される値であってもよく、動的に設定される値であってもよい。図４は、回転角度θが第３の角度θｕ以上で且つ第２の角度θｃ未満の角度範囲である受付範囲をドットパターンで示す。図４の例では、第１信号生成部３４が第１パルス信号Ｐａ１、Ｐａ２、Ｐａ４を生成したときの回転角度θ１、θ２、θ５が第３の角度θｕ以上で且つ第２の角度θｃ未満である。すなわち、回転角度θ１、θ２、θ５のそれぞれが第２の角度θｃに達するまでの残りの角度が角度α未満である。角度αは、回転角度θが第１の角度θｐになったときの、電動機１０の実際の回転角度との最大誤差に基づき設定される。この場合、第２信号生成部３５は、時刻ｔ１、ｔ２、ｔ５において第１信号生成部３４が生成した第１パルス信号Ｐａ１、Ｐａ２、Ｐａ４がノイズでないとみなす。そのため、第２信号生成部３５は、時刻ｔ１、ｔ２、ｔ５において第２パルス信号Ｐｂ１、Ｐｂ２、Ｐｂ４を生成する。第２パルス信号Ｐｂを生成すると、第２信号生成部３５は、回転角度算出部３２に対して同期指令を出力する。なお、回転角度θが第２の角度θｃ未満、且つ、第３の角度θｕ以上の場合に、リップル成分Ｉｒと同じ周波数成分を持つノイズが発生すると、誤った第１パルス信号Ｐａが出力され、第２パルス信号Ｐｂが生成されるおそれがある。しかし、次のタイミングで、本当のリップル成分Ｉｒが検出され、回転角度検出器１００は、正しい回転角度を検出できる。したがって、回転角度検出器１００が検出する回転角度は、ノイズによって、一時的に誤って検出されても、正しい回転角度に戻る。また、誤差の範囲は、角度α未満であり、実用上、問題無い範囲である。
【００３３】
また、第２信号生成部３５は、回転角度θの大きさが第２の角度θｃに達したときに第２パルス信号Ｐｂを生成する。但し、回転角度θは、回転角度算出部３２が算出した角度であり、誤差が含まれる。図４の例では、時刻ｔ３、ｔ７、ｔ９において回転角度θ３、θ７、θ９の絶対値が第２の角度θｃに達したときに第２パルス信号Ｐｂ３、Ｐｂ５、Ｐｂ６を生成している。第２パルス信号Ｐｂを生成すると、第２信号生成部３５は、回転角度算出部３２に対して同期指令を出力する。回転角度算出部３２は、同期指令を受けると回転角度θをゼロにリセットする。
【００３４】
すなわち、第２信号生成部３５は、例えば、時刻ｔ２において、第２パルス信号Ｐｂ２を生成した後で第１パルス信号Ｐａを受け取ることがない状態のまま、回転角度θの絶対値が第２の角度θｃに達したときに第２パルス信号Ｐｂ３を生成する。
【００３５】
このように、第２信号生成部３５は、何らかの理由で第１パルス信号Ｐａが生成されなかった場合であっても、回転角度算出部３２によって算出された回転角度θの絶対値が第２の角度θｃに達しさえすれば、第２パルス信号Ｐｂを生成する。そのため、第１パルス信号Ｐａの生成漏れを確実に防止できる。
【００３６】
また、第２信号生成部３５は、第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θが第４の角度θｄ未満の場合、第２パルス信号Ｐｂを生成しない。第４の角度θｄは、予め設定される値であってもよく、動的に設定される値であってもよい。このような状況は、典型的には、回転角度θの大きさが所定角度に達したことで第２パルス信号Ｐｂが生成された後に発生する。図４は、回転角度θが第１の角度θｐ（ゼロ）以上で且つ第４の角度θｄ未満の角度範囲である受付範囲をドットパターンで示す。図４の例では、時刻ｔ３で回転角度θの絶対値が第２の角度θｃに達したことで第２パルス信号Ｐｂ３が生成された後の時刻ｔ４において、第１信号生成部３４が第１パルス信号Ｐａ３を生成している。このときの回転角度θ４は、第４の角度θｄ未満である。すなわち、時刻ｔ３でリセットされた後に積算された回転角度θ４は未だ角度β未満である。この場合、第２信号生成部３５は、時刻ｔ４で第１信号生成部３４が生成した第１パルス信号Ｐａ３を、時刻ｔ３で生成した第２パルス信号Ｐｂ３に統合可能と判定できる。具体的には、電動機１０の実際の回転角度が第２の角度θｃに達する前に、回転角度算出部３２が出力する回転角度θが、第２の角度θｃに達した場合に発生する。すなわち、実際の回転角度が第２の角度θｃに達していないにもかかわらず、回転角度算出部３２が算出した回転角度θが第２の角度θｃに達したために、第２パルス信号Ｐｂ３が生成された場合に発生する。第２パルス信号Ｐｂ３を生成した直後に第１パルス信号Ｐａ３が生成された時点が、実際の回転角度が第２の角度θｃに達した瞬間である。このため、第２信号生成部３５は、第１パルス信号Ｐａ３を生成した時点で、回転角度算出部３２に対して同期指令を出力する。この場合、第２信号生成部３５は、時刻ｔ４では第２パルス信号Ｐｂを生成しない。図４の「×」に向かう破線矢印は、第１パルス信号Ｐａ３に基づいて第２パルス信号Ｐｂが生成されなかったことを表す。他の図における「×」に向かう破線矢印についても同様である。
【００３７】
また、第１信号生成部３４が、第１パルス信号Ｐａを短時間に連続して生成することがある。上述したとおり、図３Ａにおいて、リップル成分Ｉｒが基準電流値Ｉｂを超える度に、第１信号生成部３４が、第１パルス信号Ｐａを生成する。リップル成分Ｉｒが基準電流値Ｉｂを超える直前や直後は、微小なノイズが重畳されても、第１パルス信号Ｐａが誤って生成される。この場合、第１信号生成部３４が、第１パルス信号Ｐａを生成する間隔が角度β（第４の角度θｄ）未満となる。図４の例では、第１信号生成部３４が、時刻ｔ２で、第１パルス信号Ｐａ２を生成する。第２信号生成部３５は、第２パルス信号Ｐｂ２を生成すると共に、回転角度算出部３２に同期指令を出力する。回転角度算出部３２は、回転角度θをリセットする。その後、第１信号生成部３４が、時刻ｔ２'で、第１パルス信号Ｐａ２'を生成する。時刻ｔ２'の時点での回転角度θは、第４の角度θｄ未満である。この場合、第２信号生成部３５は、第２パルス信号Ｐｂを生成せず、同期指令も出力しない。図４の「×」に向かう破線矢印は、第１パルス信号Ｐａ３に基づいて第２パルス信号Ｐｂが生成されなかったことを表す。なお、リップル成分Ｉｒが基準電流値Ｉｂを超える直前や直後は、微小なノイズが重畳された場合、短時間に連続して複数発生する第１パルス信号Ｐａの何れが、第２の角度θｃに達したことを示す第１パルス信号Ｐａか判断できない。しかし、この場合、複数の第１パルス信号Ｐａは、短い期間内（角度β未満）に生成されるため、最初の第１パルス信号Ｐａの時点で、回転角度θが第２の角度θｃに達したと見なしても、実用上、問題ない。また、リップル成分Ｉｒが基準電流値Ｉｂを超える度に、同様のノイズが発生したとしても、誤差は、角度β未満に抑えられる。つまり、誤差が累積しない。このため、実用上問題ない範囲に誤差を抑えることができる。
【００３８】
また、第２信号生成部３５は、第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θが第４の角度θｄ以上で且つ第３の角度θｕ未満の場合、すなわち、回転角度θが角度範囲Ｒ１内にある場合、第２パルス信号Ｐｂを生成することはなく、回転角度算出部３２に対して同期指令を出力することもない。図４の例では、時刻ｔ６において第１信号生成部３４が第１パルス信号Ｐａ５を生成したときの回転角度θ６は、第４の角度θｄ以上で且つ第３の角度θｕ未満である。すなわち、回転角度θ６が第２の角度θｃに達するまでの残りの角度が角度αより大きく、時刻ｔ５でリセットされた後に積算された回転角度θ６が角度β以上である。この場合、第２信号生成部３５は、第１パルス信号Ｐａ５がノイズに基づくものと判定できる。そのため、第２信号生成部３５は、時刻ｔ６では第２パルス信号Ｐｂを生成することはなく、回転角度算出部３２に対して同期指令を出力することもない。すなわち、ノイズに基づく第１パルス信号Ｐａ５による影響を排除できる。
【００３９】
また、第２信号生成部３５は、第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θが第４の角度θｄ未満の場合、第２パルス信号Ｐｂを生成しない。但し、第２信号生成部３５は、第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θが第４の角度θｄ未満の場合、回転角度算出部３２に対して同期指令を出力する場合と、同期指令を出力しない場合がある。第１パルス信号Ｐａが生成される前に、回転角度θが第２の角度θｃに達した後で、回転角度θが第４の角度θｄ未満のときに第１パルス信号Ｐａが生成されると、第２信号生成部３５は、同期指令を回転角度算出部３２に送る。但し、第１パルス信号Ｐａが生成される前に、回転角度θが第２の角度θｃに達した後で、回転角度θが第４の角度θｄ未満のときに複数の第１パルス信号Ｐａが生成されると、２番目以降の第１パルス信号Ｐａは、無視される。すなわち、第２信号生成部３５は、同期指令を出力しない。また、回転角度θが第２の角度θｃに達する前に第１パルス信号Ｐａが生成された後、回転角度θが第４の角度θｄ未満のときに第１パルス信号Ｐａが生成されても、第２信号生成部３５は、同期指令を出力しない。つまり、第１パルス信号Ｐａが、第４の角度θｄ（角度β）未満の間に、複数の第１パルス信号Ｐａが生成された場合、２番目以降の第１パルス信号Ｐａは無視される。すなわち、第２信号生成部３５は、同期指令を出力しない。図４の例では、時刻ｔ４'において第１信号生成部３４が第１パルス信号Ｐａ３'を生成したときの回転角度θ４'は、第４の角度θｄ未満である。しかしながら、第１パルス信号Ｐａ３'は、直近の第２パルス信号Ｐｂ３が生成された後の２番目の第１パルス信号Ｐａである。そのため、第２信号生成部３５は、第１パルス信号Ｐａ３'を受け取ったときには、第２パルス信号Ｐｂを生成することはなく、回転角度算出部３２に対して同期指令を出力することもない。
【００４０】
以上の構成により、回転角度検出器１００は、電動機１０の回転角度θの検出誤差を実用上問題ない範囲に抑えることができる。特に、回転角度検出器１００では、誤差が累積されることがない。このため、電動機１０の回転数にかかわらず、誤差を一定範囲内に抑えることができる。発明者は、次の前提が成り立つことを発見し、上述した回転角度検出器１００を発明した。（１）微小ノイズによるリップル成分Ｉｒの誤検出は、リップル成分Ｉｒが基準電流値Ｉｂを超える直前か直後に限定される。この場合、正しく生成された第１パルス信号Ｐａの前後の短時間（角度αだけ前から角度βだけ後まで）のみ、誤った第１パルス信号Ｐａが生成される。（２）大きなノイズは、電源オン直後の突入電流等によるもので、第２の角度θｃより充分長い間隔で発生する。（３）回転角度算出部３２が、端子間電圧Ｖ'と電流Ｉｍから算出する回転角度θの誤差は、スリット間角度（第２の角度θｃ）より充分に小さい。
【００４１】
以上の構成により、第２信号生成部３５は、例えば、電動機１０の電源オフ後の惰性回転期間において電流Ｉｍ及びそのリップル成分Ｉｒが小さくなり、第１信号生成部３４がリップル成分Ｉｒの波形に基づいて第１パルス信号Ｐａを生成できない場合であっても、第２パルス信号Ｐｂを生成できる。
【００４２】
また、第２信号生成部３５は、例えば、電動機１０の電源オン直後に突入電流が発生し、第１信号生成部３４がその突入電流に応じて第１パルス信号Ｐａを誤って生成してしまった場合であっても、その第１パルス信号Ｐａに対応する第２パルス信号Ｐｂを生成しない。すなわち、その第１パルス信号Ｐａによる影響を排除できる。
【００４３】
また、第２信号生成部３５は、例えば、第１信号生成部３４がノイズ等の影響により第１パルス信号Ｐａを誤って生成してしまった場合であっても、その第１パルス信号Ｐａに対応する第２パルス信号Ｐｂを生成することはなく、回転角度算出部３２に対して同期指令を出力することもない。
【００４４】
そのため、回転角度検出器１００は、第１パルス信号Ｐａと回転角度信号の双方に基づき生成される第２パルス信号Ｐｂに基づいて電動機１０の回転情報を算出することで、電動機１０の回転情報の信頼性を向上させることができる。
【００４５】
また、第２信号生成部３５は、電動機１０の回転方向を表す方向信号を出力する。例えば、第２信号生成部３５は、回転方向が順回転方向であれば、回転角度θとして正の値を出力し、回転方向が逆回転方向であれば、回転角度θとして負の値を出力する。回転角度θは、電動機１０を流れる電流が正の値のときに正の値を有し、電動機１０を流れる電流が負の値のときに負の値を有する。但し、惰性回転中は、回転角度θは、電動機１０を流れる電流が負の値のときに正の値を有し、電動機１０を流れる電流が正の値のときに負の値を有する。
【００４６】
回転情報算出部３６は、電動機１０の回転情報を算出する。電動機１０の回転情報は、例えば、基準回転位置からの回転量（回転角度）、基準回転位置からの回転数等を含む。電動機１０が自動車のウィンドウの昇降に使用される場合には、電動機１０の回転情報は、基準位置に対するウィンドウの上縁の相対位置、ウィンドウの開き量等に変換された値でもよい。また、ある期間における回転角速度ωの平均値、最大値、最小値、中間値等の統計値を含んでいてもよい。図１の例では、回転情報算出部３６は、第２信号生成部３５の出力に基づいて電動機１０の回転情報を算出する。例えば、電動機１０の回転が開始した後に生成された第２パルス信号Ｐｂの数に第２の角度θｃを乗ずることで、電動機１０の回転が開始した後の回転量を算出する。その際、回転情報算出部３６は、第２信号生成部３５が第２パルス信号Ｐｂと共に出力する方向信号に基づいて第２パルス信号Ｐｂの数をインクリメントするかデクリメントするかを決定する。或いは、回転情報算出部３６は、順回転方向を表す方向信号と共に受けた第２パルス信号Ｐｂの数と、逆回転方向を表す方向信号と共に受けた第２パルス信号Ｐｂの数とを別々に計数し、それらの差に基づいて電動機１０の回転量を算出してもよい。
【００４７】
次に、図５を参照し、回転角度検出器１００が電動機１０の回転量を算出する処理（以下、「回転量算出処理」とする。）の流れについて説明する。図５は、回転量算出処理のフローチャートである。回転角度検出器１００は、電動機１０の駆動中にこの回転量算出処理を実行する。
【００４８】
最初に、回転角度検出器１００は、端子間電圧Ｖ及び電流Ｉｍを取得する（ステップＳＴ１）。図１の例では、回転角度検出器１００は、電圧検出部１０ａが出力する端子間電圧Ｖ、及び、電流検出部１０ｂが出力する電流Ｉｍを所定の制御周期毎に取得する。
【００４９】
その後、回転角度検出器１００は、回転角速度ω及び回転角度θを算出する（ステップＳＴ２）。図１の例では、回転角度検出器１００の回転角速度算出部３１は、端子間電圧Ｖ'と電流Ｉｍを式（１）に代入して回転角速度ωを所定の制御周期毎に算出する。そして、回転角度検出器１００の回転角度算出部３２は、制御周期毎に算出される回転角速度ωを積算して回転角度θを算出する。
【００５０】
その後、回転角度検出器１００は、回転角度θが第２の角度θｃ未満であるか否かを判定する（ステップＳＴ３）。図１の例では、回転角度検出器１００の第２信号生成部３５は、回転角度θが第２の角度θｃ（スリット間角度）未満であるか否かを判定する。
【００５１】
回転角度θが第２の角度θｃ以上であると判定した場合（ステップＳＴ３のＮＯ）、第２信号生成部３５は、第２の角度θｃまでのタイミングで第１パルス信号Ｐａが生成されなかったと判定する。この場合、第２信号生成部３５は、第１パルス信号Ｐａが生成されていないことを示すためにフラグＦを"Ｆａｌｓｅ"にする（ステップＳＴ３Ａ）。フラグＦは、第１パルス信号Ｐａが生成されたか否かを示すためのフラグである。フラグＦの初期値は、第１パルス信号Ｐａが生成されていないことを示す"Ｆａｌｓｅ"である。フラグＦが"Ｔｒｕｅ"であることは、第１パルス信号Ｐａが既に生成されたことを示す。そして、第２パルス信号Ｐｂを生成し（ステップＳＴ１０）、且つ、回転角度θをゼロにリセットする（ステップＳＴ１１）。これは、第１パルス信号Ｐａが生成される前に回転角度θが第２の角度θｃに達した場合であり、図４の例において時刻ｔ３、ｔ７、ｔ９で回転角度θが回転角度θ３、θ７、θ９に達した場合に対応する。
【００５２】
一方、回転角度θが第２の角度θｃ未満であると判定した場合（ステップＳＴ３のＹＥＳ）、第２信号生成部３５は、第１パルス信号Ｐａが生成されたか否かを判定する（ステップＳＴ４）。図１の例では、第１信号生成部３４によって第１パルス信号Ｐａが生成されたか否かを判定する。
【００５３】
回転角度θが第２の角度θｃ未満の段階（ステップＳＴ３のＹＥＳ）で第１パルス信号Ｐａが未だ生成されていないと第２信号生成部３５が判定した場合（ステップＳＴ４のＮＯ）、回転角度検出器１００は、回転量を算出する（ステップＳＴ７）。そして、回転情報算出部３６は、第２信号生成部３５の出力に基づいて電動機１０の回転量を算出する。この場合、算出される回転量に変化はない。これは、図４の例において時刻ｔ０で回転角度θが回転角度θ０になっている場合に対応する。
【００５４】
その後、回転角度検出器１００は、回転角速度ωがゼロになったか否かを判定する（ステップＳＴ８）。そして、回転角度検出器１００は、回転角速度ωがゼロになっていないと判定した場合（ステップＳＴ８のＮＯ）、処理をステップＳＴ１に戻し、回転角速度ωがゼロになったと判定した場合（ステップＳＴ８のＹＥＳ）、回転量算出処理を終了させる。
【００５５】
第１パルス信号Ｐａが生成されたと判定した場合（ステップＳＴ４のＹＥＳ）、第２信号生成部３５は、回転角度θが第３の角度θｕ未満であるか否かを判定する（ステップＳＴ５）。第３の角度θｕ未満のタイミングで生成された第１パルス信号Ｐａは、ノイズに基づく慨然性が高いためである。
【００５６】
回転角度θが第３の角度θｕ以上であると判定した場合（ステップＳＴ５のＮＯ）、第２信号生成部３５は、第１パルス信号Ｐａが生成されたか否かを示すためにフラグＦを"Ｔｒｕｅ"にする（ステップＳＴ５Ａ）。そして、第２信号生成部３５は、第２パルス信号Ｐｂを生成し（ステップＳＴ１０）、且つ、回転角度θをゼロにリセットする（ステップＳＴ１１）。回転角度θが、第３の角度θｕ以上のときに第１パルス信号Ｐａが発生した場合、第１パルス信号Ｐａが発生した時点の実際の回転角度が、第２の角度θｃに近いためである。これは、図４の例において時刻ｔ１、ｔ２、ｔ５で第１パルス信号Ｐａ１、Ｐａ２、Ｐａ４が生成された場合に対応する。
【００５７】
回転角度θが第３の角度θｕ未満であると判定した場合（ステップＳＴ５のＹＥＳ）、第２信号生成部３５は、現時点では、第１パルス信号Ｐａがノイズに基づくものでないとは判定できない。回転角度θは、多少の誤差を含む場合がある。また、第１パルス信号Ｐａの生成時期が、ノイズ等の影響で、若干ずれることがある。このため、回転角度θが第２の角度θｃに達する時期と、第１パルス信号Ｐａの生成時期がずれる場合がある。このため、回転角度θが第２の角度θｃに達する時期と、第１パルス信号Ｐａの生成時期のどちらが早いか分からないためである。そこで、第２信号生成部３５は、直近の第２パルス信号Ｐｂを生成した後で最初に受け取った第１パルス信号Ｐａに関し、回転角度θが第４の角度θｄ未満であるか否かを判定する（ステップＳＴ６）。
【００５８】
最初の第１パルス信号Ｐａに関する回転角度θが第４の角度θｄ未満であると判定した場合（ステップＳＴ６のＹＥＳ）、第２信号生成部３５は、フラグＦを調べる（ステップＳＴ６Ａ）。フラグＦは、第１パルス信号Ｐａが、連続して発生したことを判断するためのフラグである。フラグＦが"Ｔｒｕｅ"の場合、第１パルス信号Ｐａは、連続して発生した２番目以降の第１パルス信号Ｐａである。フラグＦが"Ｔｒｕｅ"の場合（ステップＳＴ６ＡのＹＥＳ）、回転角度検出器１００は、回転量を算出する（ステップＳＴ７）。これは、図４の例において時刻ｔ２'、ｔ４'で第１パルス信号Ｐａ２'、Ｐａ３'が生成されたときに対応する。フラグＦが"Ｆａｌｓｅ"の場合（ステップＳＴ６ＡのＮＯ）、第２信号生成部３５は、フラグＦを"Ｔｒｕｅ"にする（ステップＳＴ６Ｂ）。その後、第２信号生成部３５は、回転角度θをゼロにリセットする（ステップＳＴ１１）。回転角度θが、第４の角度θｄ未満の場合、第１パルス信号Ｐａが生成されたときの実際の回転角度が、第２の角度θｃに近いためである。すなわち、第４の角度θｄ未満の場合、第１パルス信号Ｐａが、直前に生成した第２パルス信号Ｐｂに対応すると判定できるためである。これは、図４の例において時刻ｔ４、ｔ８で第１パルス信号Ｐａ３、Ｐａ６が生成された場合に対応する。すなわち、第１パルス信号Ｐａ３、Ｐａ６が第２パルス信号Ｐｂ３、Ｐｂ５に対応すると判定できる。
【００５９】
最初の第１パルス信号Ｐａに関する回転角度θが第４の角度θｄ以上であると判定した場合（ステップＳＴ６のＮＯ）、すなわち、角度範囲Ｒ１内であると判定した場合、第２信号生成部３５は、その第１パルス信号Ｐａがノイズに基づくものであると判定する。この場合、第２信号生成部３５は、第２パルス信号Ｐｂを生成することはなく、回転角度θをリセットすることもない。そして、回転情報算出部３６は、第２信号生成部３５の出力に基づいて電動機１０の回転量を算出する。これは、図４の例において時刻ｔ６で第１パルス信号Ｐａ５が生成されたときに対応する。すなわち、第２信号生成部３５は、第１パルス信号Ｐａ５をノイズに基づくものと判定している。
【００６０】
その後、回転角度検出器１００は、電動機１０の回転量を算出する（ステップＳＴ７）。図１の例では、回転角度検出器１００の回転情報算出部３６は、電動機１０の回転が開始した後に生成された第２パルス信号Ｐｂの数に第２の角度θｃを乗ずることで、電動機１０の回転が開始した後の回転量を算出する。
【００６１】
次に、図６を参照し、回転角度検出器１００が算出した電動機１０の回転量の信頼性に関する実験結果について説明する。図６は、合成パルス信号及びホールパルス信号のそれぞれの推移を示す図である。
【００６２】
合成パルス信号は、第２パルス信号Ｐｂの複数パルスを１パルスに合成することで得られる信号である。図６の例では、スリット間角度（第２の角度θｃ）は９０度である。第１パルス信号Ｐａ及び第２パルス信号Ｐｂは、基本的に、電動機１０の回転軸が９０度回転する度に生成されている。そして、合成パルス信号は、第２パルス信号Ｐｂの２パルスを１パルスに合成して生成されている。すなわち、回転角度検出器１００は、電動機１０の回転軸が１８０度回転する度に合成パルス信号を１つ生成するように構成されている。
【００６３】
ホールパルス信号は、ホールセンサが出力したパルス信号である。ホールセンサは、第２パルス信号Ｐｂとホールパルス信号との比較のために電動機１０の回転軸に取り付けられた磁石が作る磁束を検出する。図６の例では、回転角度検出器１００は、電動機１０の回転軸が１８０度回転する度にホールパルス信号を１つ生成するように構成されている。
【００６４】
図６の「×」に向かう破線矢印は、第１パルス信号Ｐａに基づいて第２パルス信号Ｐｂが生成されなかったことを表す。すなわち、第１パルス信号Ｐａがノイズとして無視されたことを表す。また、図６の８つの実線矢印は、第１パルス信号Ｐａの生成漏れの際に第２パルス信号Ｐｂが追加されたことを表す。
【００６５】
図６の例では、電動機１０の順回転を開始させてからその順回転を停止させるまでの期間に生成された合成パルス信号及びホールパルス信号のそれぞれの数が等しいことが確認された。すなわち、第２パルス信号Ｐｂに基づいて算出される電動機１０の回転量が、ホールセンサによって検出される電動機１０の回転量に等しいことが確認された。
【００６６】
次に、図７及び図８を参照し、回転量算出処理の別の一例について説明する。図７は、回転量算出処理の別の一例のフローチャートである。回転角度検出器１００は、電動機１０の駆動中にこの回転量算出処理を実行する。図８は、図７に示した回転量算出処理を実行して第２信号生成部３５が第２パルス信号Ｐｂを生成するタイミングの一例を示す図である。図８は、回転角度θが第３の角度θｕ以上で且つ第４の角度θｄ未満の角度範囲である受付範囲をドットパターンで示す。
【００６７】
図７及び図８の例では、第１の角度θｐは、第３の角度θｕ以上で且つ第４の角度θｄ以下である。第２の角度θｃは、電動機１０のスリット間角度に等しい。第３の角度θｕ、及び、第４の角度θｄは、第１パルス信号Ｐａの受付可否の閾値であり、第３の角度θｕが第４の角度θｄより小さい。
【００６８】
概略的には、回転角度検出器１００の第２信号生成部３５は、回転角度θが第３の角度θｕ以上で且つ第４の角度θｄ未満である受付範囲内にあるときに第１信号生成部３４が最初に生成した第１パルス信号Ｐａに基づいて、第２パルス信号Ｐｂを生成する。但し、回転角度θが第３の角度θｕ以上で且つ第４の角度θｄ未満のときに第１信号生成部３４が生成した２番目以降の第１パルス信号Ｐａを無視する。また、回転角度θが第３の角度θｕ未満、或いは、第４の角度θｄ以上のときに第１信号生成部３４が生成した第１パルス信号Ｐａを無視する。
【００６９】
また、第２信号生成部３５は、回転角度θが第３の角度θｕから第１の角度θｐになるまでに第１信号生成部３４が第１パルス信号Ｐａを生成していないときには、回転角度θが第１の角度θｐになった時点で第２パルス信号Ｐｂを生成する。第２パルス信号Ｐｂが生成された前回の時点からの電動機１０の実際の回転角度が、リップル成分Ｉｒの１周期に対応する角度だけ増加したと推定できるためである。また、第１パルス信号Ｐａは、基本的に、電動機１０の実際の回転角度がリップル成分Ｉｒの１周期に対応する角度だけ増加する毎に生成されるためである。この場合、第２信号生成部３５は、その後に第１信号生成部３４が生成した第１パルス信号Ｐａを無視する。
【００７０】
図７の例では、回転角度検出器１００は、最初に、端子間電圧Ｖ及び電流Ｉｍを取得する（ステップＳＴ２１）。具体的には、回転角度検出器１００は、電圧検出部１０ａが出力する端子間電圧Ｖ、及び、電流検出部１０ｂが出力する電流Ｉｍを所定の制御周期毎に取得する。
【００７１】
その後、回転角度検出器１００は、回転角速度ω及び回転角度θを算出する（ステップＳＴ２２）。図７の例では、回転角度検出器１００の回転角速度算出部３１は、端子間電圧Ｖ'と電流Ｉｍを式（１）に代入して回転角速度ωを所定の制御周期毎に算出する。そして、回転角度検出器１００の回転角度算出部３２は、制御周期毎に算出される回転角速度ωを積算して回転角度θを算出する。
【００７２】
その後、回転角度検出器１００は、回転角度θが第３の角度θｕ未満であるか否かを判定する（ステップＳＴ２３）。図７の例では、回転角度検出器１００の第２信号生成部３５は、回転角度θが第３の角度θｕ未満であるか否かを判定する。
【００７３】
回転角度θが第３の角度θｕ未満であると判定した場合（ステップＳＴ２３のＹＥＳ）、回転角度検出器１００は、回転量を算出する（ステップＳＴ２４）。図７の例では、回転角度検出器１００の回転情報算出部３６は、第２信号生成部３５の出力に基づいて電動機１０の回転量を算出する。
【００７４】
その後、回転角度検出器１００は、回転角速度ωがゼロになったか否かを判定する（ステップＳＴ２５）。そして、回転角度検出器１００は、回転角速度ωがゼロになっていないと判定した場合（ステップＳＴ２５のＮＯ）、処理をステップＳＴ２１に戻し、回転角速度ωがゼロになったと判定した場合（ステップＳＴ２５のＹＥＳ）、回転量算出処理を終了させる。
【００７５】
回転角度θが第３の角度θｕ未満でないと判定した場合（ステップＳＴ２３のＮＯ）、回転角度検出器１００は、回転角度θが第１の角度θｐ未満であるか否かを判定する（ステップＳＴ２６）。そして、回転角度θが第１の角度θｐ未満であると判定した場合（ステップＳＴ２６のＹＥＳ）、回転角度検出器１００は、第１パルス信号Ｐａが生成されたか否かを判定する（ステップＳＴ２７）。
【００７６】
第１パルス信号Ｐａが未だ生成されていないと判定した場合（ステップＳＴ２７のＮＯ）、回転角度検出器１００は、回転量を算出する（ステップＳＴ２４）。そして、回転情報算出部３６は、第２信号生成部３５の出力に基づいて電動機１０の回転量を算出する。
【００７７】
第１パルス信号Ｐａが生成されたと判定した場合（ステップＳＴ２７のＹＥＳ）、回転角度検出器１００は、回転角度θを第１の角度θｐに補正し、フラグＲを"Ｔｒｕｅ"にし、第２パルス信号Ｐｂを生成し、且つ、フラグＧを"Ｔｒｕｅ"にする（ステップＳＴ２８）。その後、回転角度検出器１００は、ステップＳＴ２４及びステップＳＴ２５を実行する。
【００７８】
図７の例では、第２信号生成部３５は、回転角度算出部３２に対して同期指令を出力する。回転角度算出部３２は、同期指令を受けると、回転角度θを第１の角度θｐに補正する。
【００７９】
フラグＲは、第１パルス信号Ｐａが生成されたか否かを示すためのフラグである。フラグＲの初期値は、第１パルス信号Ｐａが生成されていないことを示す"Ｆａｌｓｅ"である。フラグＲが"Ｔｒｕｅ"であることは、第１パルス信号Ｐａが既に生成されたことを示す。
【００８０】
フラグＧは、第２パルス信号Ｐｂが生成されたか否かを示すためのフラグである。フラグＧの初期値は、第２パルス信号Ｐｂが生成されていないことを示す"Ｆａｌｓｅ"である。フラグＧが"Ｔｒｕｅ"であることは、第２パルス信号Ｐｂが既に生成されたことを示す。
【００８１】
回転角度θが第１の角度θｐ以上であると判定した場合（ステップＳＴ２６のＮＯ）、回転角度検出器１００は、フラグＧが"Ｆａｌｓｅ"であるか否かを判定する（ステップＳＴ２９）。すなわち、回転角度θが第１の角度θｐになるまでに第２信号生成部３５が第２パルス信号Ｐｂを既に生成しているか否かを判定する。
【００８２】
フラグＧが"Ｆａｌｓｅ"であると判定した場合（ステップＳＴ２９のＹＥＳ）、すなわち、回転角度θが第１の角度θｐになるまでに第２信号生成部３５が第２パルス信号Ｐｂを生成していない場合、回転角度検出器１００は、第２パルス信号Ｐｂを生成し、且つ、フラグＧを"Ｔｒｕｅ"にする（ステップＳＴ３０）。
【００８３】
その後、回転角度検出器１００は、回転角度θが第４の角度θｄ未満であるか否かを判定する（ステップＳＴ３１）。なお、フラグＧが"Ｆａｌｓｅ"でないと判定した場合（ステップＳＴ２９のＮＯ）、すなわち、回転角度θが第１の角度θｐになるまでに第２信号生成部３５が第２パルス信号Ｐｂを生成している場合には、回転角度検出器１００は、ステップＳＴ３０を実行することなく、ステップＳＴ３１を実行する。
【００８４】
そして、回転角度θが第４の角度θｄ未満であると判定した場合（ステップＳＴ３１のＹＥＳ）、回転角度検出器１００は、フラグＲが"Ｆａｌｓｅ"であるか否かを判定する（ステップＳＴ３２）。すなわち、回転角度θが第３の角度θｕから現在の回転角度になるまでに第１信号生成部３４が第１パルス信号Ｐａを既に生成しているか否かを判定する。
【００８５】
フラグＲが"Ｆａｌｓｅ"であると判定した場合（ステップＳＴ３２のＹＥＳ）、すなわち、回転角度θが第３の角度θｕから現在の角度になるまでに第１信号生成部３４が未だ第１パルス信号Ｐａを生成していない場合、回転角度検出器１００は、第１パルス信号Ｐａが生成されたか否かを判定する（ステップＳＴ３３）。
【００８６】
フラグＲが"Ｆａｌｓｅ"でないと判定した場合（ステップＳＴ３２のＮＯ）、すなわち、回転角度θが第３の角度θｕから現在の角度になるまでに第１信号生成部３４が既に第１パルス信号Ｐａを生成していた場合、回転角度検出器１００は、ステップＳＴ３３を実行することなく、ステップＳＴ２４及びステップＳＴ２５を実行する。
【００８７】
ステップＳＴ３３において、第１パルス信号Ｐａが生成されたと判定した場合（ステップＳＴ３３のＹＥＳ）、回転角度検出器１００は、回転角度θを第１の角度θｐに補正し、且つ、フラグＲを"Ｔｒｕｅ"にする（ステップＳＴ３４）。その後、回転角度検出器１００は、ステップＳＴ２４及びステップＳＴ２５を実行する。
【００８８】
第１パルス信号Ｐａが生成されていないと判定した場合（ステップＳＴ３３のＮＯ）、回転角度検出器１００は、ステップＳＴ３４を実行することなく、ステップＳＴ２４及びステップＳＴ２５を実行する。
【００８９】
ステップＳＴ３１において、回転角度θが第４の角度θｄ未満でないと判定した場合（ステップＳＴ３１のＮＯ）、回転角度検出器１００は、回転角度θが第２の角度θｃ未満であるか否かを判定する（ステップＳＴ３５）。
【００９０】
回転角度θが第２の角度θｃ未満でないと判定した場合（ステップＳＴ３５のＮＯ）、すなわち、回転角度θが、リップル成分Ｉｒの１周期に対応する角度に達した場合、回転角度検出器１００は、回転角度θをゼロにリセットし、フラグＲを"Ｆａｌｓｅ"にし、且つ、フラグＧを"Ｆａｌｓｅ"にする（ステップＳＴ３６）。その後、回転角度検出器１００は、ステップＳＴ２４及びステップＳＴ２５を実行する。
【００９１】
回転角度θが第２の角度θｃ未満であると判定した場合（ステップＳＴ３５のＹＥＳ）、回転角度検出器１００は、ステップＳＴ３６を実行することなく、ステップＳＴ２４及びステップＳＴ２５を実行する。
【００９２】
図８の例では、時刻ｔ１において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは第３の角度θｕ未満である。そのため、第２信号生成部３５は、図７のステップＳＴ２３からステップＳＴ２４に至るフローにしたがい、時刻ｔ１において第１信号生成部３４が生成した第１パルス信号Ｐａを無視する。すなわち、第２パルス信号Ｐｂを生成しない。
【００９３】
時刻ｔ２において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは、第３の角度θｕ以上で且つ第１の角度θｐ未満である。また、時刻ｔ２において第１信号生成部３４が生成した第１パルス信号Ｐａは、回転角度θが第３の角度θｕから第１の角度θｐになるまでに生成された最初の第１パルス信号Ｐａである。そのため、第２信号生成部３５は、図７のステップＳＴ２６からステップＳＴ２７及びステップＳＴ２８を経てステップＳＴ２４に至るフローにしたがい、回転角度θを第１の角度θｐに補正し、フラグＲを"Ｔｒｕｅ"にし、第２パルス信号Ｐｂを生成し、且つ、フラグＧを"Ｔｒｕｅ"にする。
【００９４】
時刻ｔ３において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは、第１の角度θｐ以上で且つ第４の角度θｄ未満である。そのため、第２信号生成部３５は、図７のステップＳＴ３１からステップＳＴ３２を経てステップＳＴ２４に至るフローにしたがい、時刻ｔ３において第１信号生成部３４が生成した第１パルス信号Ｐａを無視する。
【００９５】
時刻ｔ４において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは、第４の角度θｄ以上で且つ第２の角度θｃ未満である。そのため、第２信号生成部３５は、図７のステップＳＴ３５からステップＳＴ２４に至るフローにしたがい、時刻ｔ４において第１信号生成部３４が生成した第１パルス信号Ｐａを無視する。時刻ｔ１２においても同様である。
【００９６】
時刻ｔ５において回転角度θは第２の角度θｃに達している。そのため、第２信号生成部３５は、図７のステップＳＴ３５からステップＳＴ３６を経てステップＳＴ２４に至るフローにしたがい、回転角度θをゼロにリセットし、フラグＲを"Ｆａｌｓｅ"にし、且つ、フラグＧを"Ｆａｌｓｅ"にする。時刻ｔ９及びｔ１１のそれぞれにおいても同様である。
【００９７】
時刻ｔ６において回転角度θは第１の角度θｐに達している。また、回転角度θが第３の角度θｕから第１の角度θｐに達するまでに第１信号生成部３４は第１パルス信号Ｐａを生成していない。そのため、第２信号生成部３５は、図７のステップＳＴ２６からステップＳＴ２９を経てステップＳＴ３０に至るフローにしたがい、第２パルス信号Ｐｂを生成する。時刻ｔ１０においても同様である。
【００９８】
時刻ｔ７において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは第１の角度θｐ以上で且つ第４の角度θｄ未満である。また、時刻ｔ７において第１信号生成部３４が生成した第１パルス信号Ｐａは、回転角度θが第３の角度θｕから第４の角度θｄになるまでに生成された最初の第１パルス信号Ｐａである。そのため、第２信号生成部３５は、図７のステップＳＴ３１からステップＳＴ３２、ステップＳＴ３３及びステップＳＴ３４を経てステップＳＴ２４に至るフローにしたがい、回転角度θを第１の角度θｐに補正し、且つ、フラグＲを"Ｔｒｕｅ"にする。但し、第２信号生成部３５は、第２パルス信号Ｐｂを生成せず、フラグＧを"Ｔｒｕｅ"にすることもない。時刻ｔ６で既に第２パルス信号Ｐｂを生成しているためである。
【００９９】
時刻ｔ８において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは第１の角度θｐ以上で且つ第４の角度θｄ未満である。また、時刻ｔ８において第１信号生成部３４が生成した第１パルス信号Ｐａは、回転角度θが第３の角度θｕから第４の角度θｄになるまでに生成された２番目の第１パルス信号Ｐａであり、最初の第１パルス信号Ｐａではない。そのため、第２信号生成部３５は、図７のステップＳＴ３２からステップＳＴ３３及びステップＳＴ３４をスキップしてステップＳＴ２４に至るフローにしたがい、時刻ｔ８において第１信号生成部３４が生成した第１パルス信号Ｐａを無視する。
【０１００】
図７に示す回転量算出処理により、回転角度検出器１００は、図５に示すような前述の回転量算出処理を実行する場合と同様に、回転角度θの検出誤差を実用上問題ない範囲に抑えることができる。
【０１０１】
次に、図９及び図１０を参照し、回転量算出処理の更に別の一例について説明する。図９は、回転量算出処理の更に別の一例のフローチャートである。回転角度検出器１００は、電動機１０の駆動中にこの回転量算出処理を実行する。なお、図９は、図７に示すフローチャートの変形例である。そのため、同じ内容のステップに対しては同じ参照符号（ステップ番号）が付されている。後述の図９、図１１、図１３、図１５、図１８及び図２０についても同様である。図１０は、図９に示した回転量算出処理を実行して第２信号生成部３５が第２パルス信号Ｐｂを生成するタイミングの一例を示す図である。図１０は、回転角度θが第３の角度θｕ（ゼロ）以上で且つ第４の角度θｄ未満の角度範囲である受付範囲をドットパターンで示す。
【０１０２】
図９及び図１０の例は、第３の角度θｕをゼロとした点で図７及び図８の例と異なるが、その他の点で同じである。具体的には、図９では、第３の角度θｕをゼロとしたため、回転角度θが第３の角度θｕ未満であるか否かを判定するステップＳＴ２３（図７参照。）が省略されている。また、図１０では、ドットパターンで示す受付範囲は、図８における受付範囲よりも低い位置に設定されている。
【０１０３】
より具体的には、図１０では、時刻ｔ１において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは、第３の角度θｕであるゼロ以上で且つ第１の角度θｐ未満である。また、時刻ｔ１において第１信号生成部３４が生成した第１パルス信号Ｐａは、回転角度θが第３の角度θｕ（ゼロ）から第１の角度θｐになるまでに生成された最初の第１パルス信号Ｐａである。そのため、第２信号生成部３５は、図９のステップＳＴ２６からステップＳＴ２７及びステップＳＴ２８を経てステップＳＴ２４に至るフローにしたがい、回転角度θを第１の角度θｐに補正し、フラグＲを"Ｔｒｕｅ"にし、第２パルス信号Ｐｂを生成し、且つ、フラグＧを"Ｔｒｕｅ"にする。
【０１０４】
図９に示す回転量算出処理により、回転角度検出器１００は、前述の回転量算出処理を実行する場合と同様に、回転角度θの検出誤差を実用上問題ない範囲に抑えることができる。
【０１０５】
次に、図１１及び図１２を参照し、回転量算出処理の更に別の一例について説明する。図１１は、回転量算出処理の更に別の一例のフローチャートである。回転角度検出器１００は、電動機１０の駆動中にこの回転量算出処理を実行する。図１２は、図１１に示した回転量算出処理を実行して第２信号生成部３５が第２パルス信号Ｐｂを生成するタイミングの一例を示す図である。図１２は、回転角度θが第３の角度θｕ以上で且つ第４の角度θｄ（＝第２の角度θｃ）未満の角度範囲である受付範囲をドットパターンで示す。
【０１０６】
図１１及び図１２の例は、第４の角度θｄを第２の角度θｃとした点で図７及び図８の例と異なるが、その他の点で同じである。具体的には、図１１では、第４の角度θｄを第２の角度θｃとしたため、回転角度θが第２の角度θｃ未満であるか否かを判定するステップＳＴ３５（図７参照。）が省略されている。また、図１２では、ドットパターンで示す受付範囲は、図８における受付範囲よりも高い位置に設定されている。
【０１０７】
より具体的には、図１２では、時刻ｔ４において回転角度θは第４の角度θｄに達している。そのため、第２信号生成部３５は、図１１のステップＳＴ３１からステップＳＴ３６に至るフローにしたがい、回転角度θをゼロにリセットし、フラグＲを"Ｆａｌｓｅ"にし、且つ、フラグＧを"Ｆａｌｓｅ"にする。時刻ｔ８及びｔ１１のそれぞれにおいても同様である。
【０１０８】
図１１に示す回転量算出処理により、回転角度検出器１００は、前述の回転量算出処理を実行する場合と同様に、回転角度θの検出誤差を実用上問題ない範囲に抑えることができる。
【０１０９】
次に、図１３及び図１４を参照し、回転量算出処理の更に別の一例について説明する。図１３は、回転量算出処理の更に別の一例のフローチャートである。回転角度検出器１００は、電動機１０の駆動中にこの回転量算出処理を実行する。図１４は、図１３に示した回転量算出処理を実行して第２信号生成部３５が第２パルス信号Ｐｂを生成するタイミングの一例を示す図である。図１４は、回転角度θが第３の角度θｕ以上で且つ第２の角度θｃ未満の角度範囲と、ゼロ以上で且つ第４の角度θｄ未満の角度範囲との組み合わせである受付範囲をドットパターンで示す。
【０１１０】
図１３及び図１４の例は、第４の角度θｄが第３の角度θｕより小さい点で図７及び図８と異なるが、その他の点で同じである。具体的には、図１３の例では、第４の角度θｄを第３の角度θｕ未満としたため、回転角度θが第４の角度θｄ未満であるか否かを判定するステップＳＴ３１を、回転角度θが第３の角度θｕ未満であるか否かを判定するステップＳＴ２３よりも前に実行するように構成されている。また、回転角度θが第４の角度θｄ以上で且つ第３の角度θｕ未満であると判定した場合（ステップＳＴ２３のＹＥＳ）、回転角度検出器１００は、フラグＲ及びフラグＧを"Ｆａｌｓｅ"にするステップＳＴ３６Ａを実行するように構成されている。また、ステップＳＴ３５において、回転角度θが第２の角度θｃ以上であると判定した場合（ステップＳＴ３５のＮＯ）、回転角度検出器１００は、フラグＲ及びフラグＧを"Ｆａｌｓｅ"にすることなく、回転角度θをゼロにリセットする（ステップＳＴ３６Ｂ）。なお、ステップＳＴ３６Ａ及びステップＳＴ３６Ｂのそれぞれで実行される処理は、図７のステップＳＴ３６で実行される処理に対応している。そして、回転角度θが第２の角度θｃ未満であると判定した場合には（ステップＳＴ３５のＹＥＳ）、回転角度検出器１００は、ステップＳＴ３２を実行するように構成されている。また、図１４では、ドットパターンで示す受付範囲は、図８における受付範囲と異なり、２つに分離されている。
【０１１１】
より具体的には、図１４の例では、時刻ｔ１において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは第４の角度θｄ以上で且つ第３の角度θｕ未満である。そのため、第２信号生成部３５は、図１３のステップＳＴ２３からステップＳＴ３６Ａを経てステップＳＴ２４に至るフローにしたがい、時刻ｔ１において第１信号生成部３４が生成した第１パルス信号Ｐａを無視する。すなわち、第２パルス信号Ｐｂを生成しない。時刻ｔ５及び時刻ｔ１６においても同様である。
【０１１２】
また、時刻ｔ４において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは、第４の角度θｄ未満である。そして、時刻ｔ４において第１信号生成部３４が生成した第１パルス信号Ｐａは、回転角度θが第３の角度θｕから第２の角度θｃ及びリセット後のゼロを経て第４の角度θｄになるまでに生成された２番目の第１パルス信号Ｐａであり、最初の第１パルス信号Ｐａではない。そのため、第２信号生成部３５は、図１３のステップＳＴ３２からステップＳＴ３３及びステップＳＴ３４をスキップしてステップＳＴ２４に至るフローにしたがい、時刻ｔ４において第１信号生成部３４が生成した第１パルス信号Ｐａを無視する。時刻ｔ９においても同様である。
【０１１３】
また、時刻ｔ１２において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは、第４の角度θｄ未満である。そして、時刻ｔ１２において第１信号生成部３４が生成した第１パルス信号Ｐａは、回転角度θが第３の角度θｕから第２の角度θｃ及びリセット後のゼロを経て第４の角度θｄになるまでに生成された最初の第１パルス信号Ｐａである。そのため、第２信号生成部３５は、図１３のステップＳＴ３３からステップＳＴ３４を経てステップＳＴ２４に至るフローにしたがい、回転角度θを第１の角度θｐに補正し、且つ、フラグＲを"Ｔｒｕｅ"にする。
【０１１４】
図１３に示す回転量算出処理により、回転角度検出器１００は、前述の回転量算出処理を実行する場合と同様に、回転角度θの検出誤差を実用上問題ない範囲に抑えることができる。
【０１１５】
次に、図１５及び図１６を参照し、回転量算出処理の更に別の一例について説明する。図１５は、回転量算出処理の更に別の一例のフローチャートである。回転角度検出器１００は、電動機１０の駆動中にこの回転量算出処理を実行する。図１６は、図１５に示した回転量算出処理を実行して第２信号生成部３５が第２パルス信号Ｐｂを生成するタイミングの一例を示す図である。図１６は、回転角度θが第３の角度θｕ以上で且つ第２の角度θｃ未満の角度範囲と、ゼロ以上で且つ第４の角度θｄ未満の角度範囲との組み合わせである受付範囲をドットパターンで示す。
【０１１６】
図１５及び図１６の例は、第１の角度θｐ及び第４の角度θｄが第３の角度θｕより小さい点で図７及び図８と異なるが、その他の点で同じである。具体的には、図１５の例では、第１の角度θｐ及び第４の角度θｄを第３の角度θｕ未満としたため、回転角度θが第３の角度θｕ未満であるか否かを判定するステップＳＴ２３を、回転角度θが第４の角度θｄ未満であるか否かを判定するステップＳＴ３１よりも後に実行するように構成されている。また、回転角度θが第４の角度θｄ以上で且つ第３の角度θｕ未満であると判定した場合（ステップＳＴ２３のＹＥＳ）、回転角度検出器１００は、フラグＲ及びフラグＧを"Ｆａｌｓｅ"にするステップＳＴ３６Ａを実行するように構成されている。また、ステップＳＴ３５において、回転角度θが第２の角度θｃ以上であると判定した場合（ステップＳＴ３５のＮＯ）、回転角度検出器１００は、フラグＲ及びフラグＧを"Ｆａｌｓｅ"にすることなく、回転角度θをゼロにリセットする（ステップＳＴ３６Ｂ）。なお、ステップＳＴ３６Ａ及びステップＳＴ３６Ｂのそれぞれで実行される処理は、図７のステップＳＴ３６で実行される処理に対応している。そして、回転角度θが第２の角度θｃ未満であると判定した場合には（ステップＳＴ３５のＹＥＳ）、回転角度検出器１００は、ステップＳＴ２７を実行するように構成されている。また、図１６では、ドットパターンで示す受付範囲は、図８における受付範囲と異なり、２つに分離されている。
【０１１７】
より具体的には、図１６の例では、時刻ｔ１において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは第４の角度θｄ以上で且つ第３の角度θｕ未満である。そのため、第２信号生成部３５は、図１５のステップＳＴ２３からステップＳＴ３６Ａを経てステップＳＴ２４に至るフローにしたがい、時刻ｔ１において第１信号生成部３４が生成した第１パルス信号Ｐａを無視する。すなわち、第２パルス信号Ｐｂを生成しない。時刻ｔ４においても同様である。
【０１１８】
また、時刻ｔ２において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは、第３の角度θｕ以上で且つ第２の角度θｃ未満である。そして、時刻ｔ２において第１信号生成部３４が生成した第１パルス信号Ｐａは、回転角度θが第３の角度θｕから第２の角度θｃになるまでに生成された最初の第１パルス信号Ｐａである。そのため、第２信号生成部３５は、図１５のステップＳＴ３５からステップＳＴ２７及びステップＳＴ２８を経てステップＳＴ２４に至るフローにしたがい、回転角度θを第１の角度θｐに補正し、フラグＲを"Ｔｒｕｅ"にし、第２パルス信号Ｐｂを生成し、且つ、フラグＧを"Ｔｒｕｅ"にする。
【０１１９】
また、時刻ｔ３において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは、第４の角度θｄ未満である。そして、時刻ｔ３において第１信号生成部３４が生成した第１パルス信号Ｐａは、回転角度θが第３の角度θｕから第２の角度θｃ及びリセット後のゼロを経て第４の角度θｄになるまでに生成された２番目の第１パルス信号Ｐａであり、最初の第１パルス信号Ｐａではない。そのため、第２信号生成部３５は、図１５のステップＳＴ３２からステップＳＴ３３及びステップＳＴ３４をスキップしてステップＳＴ２４に至るフローにしたがい、時刻ｔ３において第１信号生成部３４が生成した第１パルス信号Ｐａを無視する。
【０１２０】
また、時刻ｔ６において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは第１の角度θｐ未満である。そして、時刻ｔ６において第１信号生成部３４が生成した第１パルス信号Ｐａは、回転角度θが第３の角度θｕから第２の角度θｃ及びリセット後のゼロを経て第４の角度θｄになるまでに生成された最初の第１パルス信号Ｐａである。そのため、第２信号生成部３５は、図１５のステップＳＴ２６からステップＳＴ２７及びステップＳＴ２８を経てステップＳＴ２４に至るフローにしたがい、回転角度θを第１の角度θｐに補正し、フラグＲを"Ｔｒｕｅ"にし、第２パルス信号Ｐｂを生成し、且つ、フラグＧを"Ｔｒｕｅ"にする。
【０１２１】
また、時刻ｔ９において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは第１の角度θｐ以上で且つ第４の角度θｄ未満である。そして、時刻ｔ９において第１信号生成部３４が生成した第１パルス信号Ｐａは、回転角度θが第３の角度θｕから第２の角度θｃ及びリセット後のゼロを経て第４の角度θｄになるまでに生成された最初の第１パルス信号Ｐａである。そのため、第２信号生成部３５は、図１５のステップＳＴ３１からステップＳＴ３２及びステップＳＴ３３及びステップＳＴ３４を経てステップＳＴ２４に至るフローにしたがい、回転角度θを第１の角度θｐに補正し、且つ、フラグＲを"Ｔｒｕｅ"にする。但し、第２信号生成部３５は、第２パルス信号Ｐｂを生成せず、フラグＧを"Ｔｒｕｅ"にすることもない。時刻ｔ８で既に第２パルス信号Ｐｂを生成したためである。
【０１２２】
図１５に示す回転量算出処理により、回転角度検出器１００は、前述の回転量算出処理を実行する場合と同様に、回転角度θの検出誤差を実用上問題ない範囲に抑えることができる。
【０１２３】
次に、図１７を参照し、回転角度検出器１００の別の構成例について説明する。図１７は、回転角度検出器１００の別の構成例を示す概略図である。図１７の回転角度検出器１００は、第２信号生成部３５の代わりに繰り上がり判断部３５Ａを備える点で、図１の回転角度検出器１００と異なるが、その他の点で共通する。そのため、共通部分の説明を省略し、相違部分を詳説する。
【０１２４】
繰り上がり判断部３５Ａは、演算部の別の一例であり、電動機１０がスリット間角度だけ回転したか否かを判断する。そして、電動機１０がスリット間角度だけ回転したと判断した場合に繰り上がり指令を生成する。繰り上がり指令は、電動機１０が所定角度だけ回転したことを表す情報の別の一例であり、ハードウェア信号としての第２パルス信号Ｐｂに対応するソフトウェア命令である。「繰り上がり」は、回転角度θが積算された回数が繰り上がることを意味する。
【０１２５】
回転情報算出部３６は、繰り上がり判断部３５Ａが出力する繰り上がり指令に基づいて電動機１０の回転情報を算出する。例えば、電動機１０の回転が開始した後に受けた繰り上がり指令の数に第２の角度θｃを乗ずることで、電動機１０の回転が開始した後の回転量を算出する。その際、回転情報算出部３６は、繰り上がり判断部３５Ａが繰り上がり指令と共に出力する方向信号に基づいて繰り上がり指令の数をインクリメントするかデクリメントするかを決定する。或いは、回転情報算出部３６は、順回転方向を表す方向信号と共に受けた繰り上がり指令の数と、逆回転方向を表す方向信号と共に受けた繰り上がり指令の数とを別々に計数し、それらの差に基づいて電動機１０の回転量を算出してもよい。なお、方向信号は、繰り上がり指令に統合されていてもよい。また、演算部としての繰り上がり判断部３５Ａと回転情報算出部３６とは一体化されていてもよい。
【０１２６】
図１７の例では、繰り上がり判断部３５Ａは、回転角度算出部３２が出力する回転角度信号と第１信号生成部３４が出力する第１パルス信号Ｐａとに基づいてスリット間角度毎に繰り上がり指令を生成する。第１パルス信号Ｐａは、リップル成分Ｉｒの波形のみから推定した信号であるため、誤って出力されることがあるが、繰り上がり指令は、第１パルス信号Ｐａと、回転角度信号の双方から推定した指令であるため、誤差を一定値以下にできる。
【０１２７】
次に、図１８及び図１９を参照し、図１７に示す回転角度検出器１００が実行する回転量算出処理の一例について説明する。図１８は、図１７に示す回転角度検出器１００が実行する回転量算出処理の一例のフローチャートである。図１７に示す回転角度検出器１００は、電動機１０の駆動中にこの回転量算出処理を実行する。図１９は、図１８に示した回転量算出処理を実行して繰り上がり判断部３５Ａが繰り上がり指令ＣＣを出力するタイミングの一例を示す図である。図１９は、回転角度θが第３の角度θｕ以上で且つ第４の角度θｄ未満の角度範囲である受付範囲をドットパターンで示す。
【０１２８】
図１８及び図１９の例は、第２パルス信号Ｐｂの代わりに繰り上がり指令を生成する点で図７及び図８の例と異なるが、その他の点で同じである。具体的には、図１８では、図７のステップＳＴ２８の代わりに、ステップＳＴ２８における第２パルス信号Ｐｂの生成及びフラグＧに関する処理が省略された形のステップＳＴ２８Ａが実行されるように構成されている。また、図７のステップＳＴ２９及びステップＳＴ３０が省略されている。また、図７のステップＳＴ３６の代わりに、ステップＳＴ３６におけるフラグＧに関する処理が省略され且つ繰り上がり指令の出力が追加された形のステップＳＴ３６Ｃが実行されるように構成されている。
【０１２９】
より具体的には、図１９の例では、時刻ｔ１において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは第３の角度θｕ未満である。そのため、繰り上がり判断部３５Ａは、図１８のステップＳＴ２３からステップＳＴ２４に至るフローにしたがい、時刻ｔ１において第１信号生成部３４が生成した第１パルス信号Ｐａを無視する。すなわち、繰り上がり指令ＣＣを出力しない。
【０１３０】
また、時刻ｔ２において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは、第３の角度θｕ以上で且つ第１の角度θｐ未満である。そして、時刻ｔ２において第１信号生成部３４が生成した第１パルス信号Ｐａは、回転角度θが第３の角度θｕから第１の角度θｐになるまでに生成された最初の第１パルス信号Ｐａである。そのため、繰り上がり判断部３５Ａは、図１８のステップＳＴ２６からステップＳＴ２７及びステップＳＴ２８Ａを経てステップＳＴ２４に至るフローにしたがい、回転角度θを第１の角度θｐに補正し、且つ、フラグＲを"Ｔｒｕｅ"にする。但し、繰り上がり判断部３５Ａは、繰り上がり指令ＣＣを出力することはない。
【０１３１】
また、時刻ｔ３において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは、第１の角度θｐ以上で且つ第４の角度θｄ未満である。そのため、繰り上がり判断部３５Ａは、図１８のステップＳＴ３１からステップＳＴ３２を経てステップＳＴ２４に至るフローにしたがい、時刻ｔ３において第１信号生成部３４が生成した第１パルス信号Ｐａを無視する。すなわち、繰り上がり指令ＣＣを出力しない。
【０１３２】
また、時刻ｔ４において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは、第４の角度θｄ以上で且つ第２の角度θｃ未満である。そのため、繰り上がり判断部３５Ａは、図１８のステップＳＴ３５からステップＳＴ２４に至るフローにしたがい、時刻ｔ４において第１信号生成部３４が生成した第１パルス信号Ｐａを無視する。すなわち、繰り上がり指令ＣＣを出力しない。時刻ｔ９においても同様である。
【０１３３】
また、時刻ｔ５において回転角度θは第２の角度θｃに達している。そのため、繰り上がり判断部３５Ａは、図１８のステップＳＴ３５からステップＳＴ３６Ｃに至るフローにしたがい、回転角度θをゼロにリセットし、フラグＲを"Ｆａｌｓｅ"にし、且つ、繰り上がり指令を出力する。時刻ｔ８及びｔ１０のそれぞれにおいても同様である。
【０１３４】
また、時刻ｔ６において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは第１の角度θｐ以上で且つ第４の角度θｄ未満である。そして、時刻ｔ６において第１信号生成部３４が生成した第１パルス信号Ｐａは、回転角度θが第３の角度θｕから第４の角度θｄになるまでに生成された最初の第１パルス信号Ｐａである。そのため、繰り上がり判断部３５Ａは、図１８のステップＳＴ３１からステップＳＴ３２、ステップＳＴ３３及びステップＳＴ３４を経てステップＳＴ２４に至るフローにしたがい、回転角度θを第１の角度θｐに補正し、且つ、フラグＲを"Ｔｒｕｅ"にする。但し、繰り上がり判断部３５Ａは、繰り上がり指令ＣＣを出力することはない。
【０１３５】
また、時刻ｔ７において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは第１の角度θｐ以上で且つ第４の角度θｄ未満である。そして、時刻ｔ７において第１信号生成部３４が生成した第１パルス信号Ｐａは、回転角度θが第３の角度θｕから第４の角度θｄになるまでに生成された２番目の第１パルス信号Ｐａであり、最初の第１パルス信号Ｐａではない。そのため、繰り上がり判断部３５Ａは、図１８のステップＳＴ３２からステップＳＴ３３及びステップＳＴ３４をスキップしてステップＳＴ２４に至るフローにしたがい、時刻ｔ７において第１信号生成部３４が生成した第１パルス信号Ｐａを無視する。すなわち、繰り上がり指令ＣＣを出力しない。
【０１３６】
このように、繰り上がり判断部３５Ａは、第１パルス信号Ｐａが生成されたタイミングとは無関係に、回転角度θが第２の角度θｃに達する度に繰り上がり指令を出力するように構成されている。すなわち、電動機１０の実際の回転角度が第２の角度θｃに達する度に繰り上がり指令を出力するように構成されている。そのため、繰り上がり判断部３５Ａは、繰り上がり指令の出力タイミングを受付範囲の外に設定できる。したがって、回転角度θの第１の角度θｐへの補正等と繰り上がり指令の出力とを別々のタイミングで実行できるため、回転量算出処理を簡素化できる。
【０１３７】
次に、図２０及び図２１を参照し、図１７に示す回転角度検出器１００が実行する回転量算出処理の別の一例について説明する。図２０は、図１７に示す回転角度検出器１００が実行する回転量算出処理の別の一例のフローチャートである。図１７に示す回転角度検出器１００は、電動機１０の駆動中にこの回転量算出処理を実行する。図２１は、図２０に示した回転量算出処理を実行して繰り上がり判断部３５Ａが繰り上がり指令ＣＣを出力するタイミングの一例を示す図である。図２１は、回転角度θが第３の角度θｕ以上で且つ第２の角度θｃ未満の角度範囲と、第１の角度θｐ（ゼロ）以上で且つ第４の角度θｄ未満の角度範囲との組み合わせである受付範囲をドットパターンで示す。
【０１３８】
図２０及び図２１の例は、第２パルス信号Ｐｂの代わりに繰り上がり指令を生成する点、第４の角度θｄが第３の角度θｕより小さい点、及び、第１の角度θｐがゼロである点で図７及び図８の例と異なるが、その他の点で同じである。具体的には、図２０では、第４の角度θｄを第３の角度θｕ未満としたため、回転角度θが第４の角度θｄ未満であるか否かを判定するステップＳＴ３１を、回転角度θが第３の角度θｕ未満であるか否かを判定するステップＳＴ２３よりも前に実行するように構成されている。また、回転角度θが第４の角度θｄ以上で且つ第３の角度θｕ未満であると判定した場合（ステップＳＴ２３のＹＥＳ）、回転角度検出器１００は、フラグＧが"Ｆａｌｓｅ"であるか否かを判定するステップＳＴ３７、及び、フラグＧが"Ｆａｌｓｅ"の場合に繰り上がり指令を出力し、フラグＲを"Ｆａｌｓｅ"にし、且つ、フラグＧを"Ｔｒｕｅ"にするステップＳＴ３８を実行するように構成されている。
【０１３９】
また、図２０の例では、フラグＧは、繰り上がり指令が出力されたか否かを示すためのフラグである。フラグＧの初期値は、繰り上がり指令が出力されていないことを示す"Ｆａｌｓｅ"である。フラグＧが"Ｔｒｕｅ"であることは、繰り上がり指令が既に出力されたことを示す。
【０１４０】
また、回転角度θが第４の角度θｄ以上で且つ第２の角度θｃ未満の場合に、第１パルス信号Ｐａが生成されたか否かを判定するステップＳＴ３９を実行するように構成されている。そして、回転角度θが第４の角度θｄ以上で且つ第２の角度θｃ未満の場合に、第１パルス信号Ｐａが生成されたと判定したとき（ステップＳＴ３９のＹＥＳ）、回転角度検出器１００は、フラグＲを"Ｔｒｕｅ"にするステップＳＴ４０、及び、回転角度θをゼロにリセットし、且つ、フラグＧを"Ｆａｌｓｅ"にするステップＳＴ４１を実行するように構成されている。或いは、回転角度θが第２の角度θｃに達したとき（ステップＳＴ３５のＮＯ）、回転角度検出器１００は、回転角度θをゼロにリセットし、且つ、フラグＧを"Ｆａｌｓｅ"にするステップＳＴ４１を実行するように構成されている。
【０１４１】
また、図２１では、ドットパターンで示す受付範囲は、図８における受付範囲と異なり、２つに分離されている。
【０１４２】
より具体的には、図２１の例では、時刻ｔ１において回転角度θは第４の角度θｄに達している。そのため、繰り上がり判断部３５Ａは、図２０のステップＳＴ２３からステップＳＴ３７及びステップＳＴ３８を経てステップＳＴ２４に至るフローにしたがい、繰り上がり指令を出力し、且つ、フラグＧを"Ｔｒｕｅ"にする。時刻ｔ５、ｔ９及びｔ１１のそれぞれにおいても同様である。
【０１４３】
また、時刻ｔ２において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは、第４の角度θｄ以上で且つ第３の角度θｕ未満である。そして、繰り上がり判断部３５Ａは、時刻ｔ１において既に繰り上がり指令を出力している。そのため、繰り上がり判断部３５Ａは、図２０のステップＳＴ３７からステップＳＴ３８をスキップしてステップＳＴ２４に至るフローにしたがい、時刻ｔ２において第１信号生成部３４が生成した第１パルス信号Ｐａを無視する。すなわち、繰り上がり指令ＣＣを出力することはなく、回転角度θをリセットすることもない。時刻ｔ６及びｔ１２のそれぞれにおいても同様である。
【０１４４】
また、時刻ｔ３において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは、第３の角度θｕ以上で且つ第２の角度θｃ未満である。そして、時刻ｔ３において第１信号生成部３４が生成した第１パルス信号Ｐａは、回転角度θが第３の角度θｕから第２の角度θｃになるまでに生成された最初の第１パルス信号Ｐａである。そのため、繰り上がり判断部３５Ａは、図２０のステップＳＴ３５からステップＳＴ３９、ステップＳＴ４０及びステップＳＴ４１を経てステップＳＴ２４に至るフローにしたがい、回転角度θをゼロにリセットし且つフラグＧを"Ｆａｌｓｅ"にする。
【０１４５】
また、時刻ｔ４において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは、第１の角度θｐ（ゼロ）以上で且つ第４の角度θｄ未満である。そして、時刻ｔ４において第１信号生成部３４が生成した第１パルス信号Ｐａは、回転角度θが第３の角度θｕから第２の角度θｃ及びリセット後のゼロを経て第４の角度θｄになるまでに生成された２番目の第１パルス信号Ｐａであり、最初の第１パルス信号Ｐａではない。そのため、繰り上がり判断部３５Ａは、図２０のステップＳＴ３３からステップＳＴ３４をスキップしてステップＳＴ２４に至るフローにしたがい、時刻ｔ４において第１信号生成部３４が生成した第１パルス信号Ｐａを無視する。すなわち、繰り上がり指令ＣＣを出力することはなく、回転角度θをリセットすることもない。
【０１４６】
また、時刻ｔ７において回転角度θは第２の角度θｃに達している。そのため、繰り上がり判断部３５Ａは、図２０のステップＳＴ３５からステップＳＴ４１を経てステップＳＴ２４に至るフローにしたがい、回転角度θをゼロにリセットし、且つ、フラグＧを"Ｆａｌｓｅ"にする。時刻ｔ１０においても同様である。
【０１４７】
また、時刻ｔ８において第１信号生成部３４が第１パルス信号Ｐａを生成したときの回転角度θは、第１の角度θｐ（ゼロ）以上で且つ第４の角度θｄ未満である。そして、時刻ｔ８において第１信号生成部３４が生成した第１パルス信号Ｐａは、回転角度θが第３の角度θｕから第２の角度θｃ及びリセット後のゼロを経て第４の角度θｄになるまでに生成された最初の第１パルス信号Ｐａである。そのため、繰り上がり判断部３５Ａは、図２０のステップＳＴ３３からステップＳＴ３４を経てステップＳＴ２４に至るフローにしたがい、回転角度θを第１の角度θｐに補正し（回転角度θをゼロにリセットし）、且つ、フラグＲを"Ｔｒｕｅ"にする。
【０１４８】
このように、繰り上がり判断部３５Ａは、第１パルス信号Ｐａが生成されたタイミングとは無関係に、回転角度θが第４の角度θｄに達する度に繰り上がり指令を出力するように構成されている。すなわち、電動機１０が第２の角度θｃだけ実際に回転する度に繰り上がり指令を出力するように構成されている。そのため、繰り上がり判断部３５Ａは、繰り上がり指令の出力タイミングを受付範囲の外に設定できる。したがって、回転角度θの第１の角度θｐへの補正（回転角度θのゼロへのリセット）等と繰り上がり指令の出力とを別々のタイミングで実行できるため、回転量算出処理を簡素化できる。
【０１４９】
上述の通り、整流子２０を備えた電動機１０の回転情報を取得する回転角度検出器１００は、端子間電圧Ｖと電流Ｉｍとに基づいて回転角度θを算出する回転角度算出部３２と、電流Ｉｍに含まれるリップル成分Ｉｒに基づいて第１信号の一例である第１パルス信号Ｐａを生成する第１信号生成部３４と、第１パルス信号Ｐａと回転角度θとに基づいて電動機１０がリップル成分Ｉｒの周期に応じた角度だけ回転する毎に第２パルス信号Ｐｂを生成する第２信号生成部３５と、第２信号生成部３５の出力に基づいて回転情報を算出する回転情報算出部３６とを含む。そして、第２信号生成部３５は、所定の角度範囲に関する条件を満たす場合に受けた第１パルス信号Ｐａを無視するように構成されている。例えば、図４及び図５の例で説明したように回転角度θが第４の角度θｄ以上で且つ第３の角度θｕ未満の角度範囲（すなわち角度範囲Ｒ１内）にある場合に受けた第１パルス信号Ｐａを無視するように構成されている。そのため、ノイズ等により生成されてしまった第１パルス信号Ｐａによって回転角度θが誤ってゼロにリセットされてしまうのを防止できる。その結果、ホールセンサ等の回転センサが無くても、電動機１０の回転情報を高い信頼性で取得できる。これは、センサインタフェース回路、ハーネス等の回転センサを利用するために必要な部品を省略できることを意味する。そのため、軽量化、低コスト化、小型化等を実現できる。
【０１５０】
また、回転角度検出器付き電動機は、電動機１０と、電動機１０の回転角度を検出する回転角度検出器１００とを備えている。電動機１０は、複数の整流子片２０ａからなる整流子２０を有する。そして、回転角度検出器１００は、電動機１０の端子間電圧Ｖと電動機１０を流れる電流Ｉｍとに基づき、回転角度θを算出し、回転角度信号を出力する回転角度算出部３２と、電動機１０を流れる電流Ｉｍに含まれるリップル成分Ｉｒに基づいて第１信号の一例である第１パルス信号Ｐａを生成する第１信号生成部３４と、第１パルス信号Ｐａと回転角度信号との双方の信号に基づいて回転角度θを補正する演算部と、演算部の出力に基づいて電動機１０の回転に関する情報を算出する回転情報算出部３６と、を含む。演算部は、回転角度θが所定の角度範囲の一例である受付範囲内で最初に第１パルス信号Ｐａが生成された場合に、回転角度θを受付範囲内の第１の角度θｐに補正する指令を回転角度算出部３２に出力し、且つ、回転角度θが受付範囲内であっても、受付範囲内で２番目以降に生成された第１パルス信号Ｐａを無視するように構成されている。
【０１５１】
演算部は、回転角度θが第２の角度θｃに達すると、回転角度θをゼロにリセットする指令を回転角度算出部３２に出力するように構成されていてもよい。第２の角度θｃは、例えば、リップル成分Ｉｒの１周期に相当する角度であってもよい。第２の角度θｃは、例えば、スリット２０ｓで隔てられた整流子片２０ａの中心角に等しい角度であってもよい。
【０１５２】
また、所定の角度範囲の一例である受付範囲は、例えば図４、図１４及び図１６のそれぞれにおけるドットパターンで示すように、第２の角度θｃより小さい第３の角度θｕ以上、且つ、第２の角度θｃ以下の範囲と、ゼロ以上、且つ、第３の角度θｕより小さい第４の角度θｄ以下の範囲であってもよい。
【０１５３】
また、演算部の一例である第２信号生成部３５は、例えば図４に示すように、回転角度θが、第３の角度θｕより大きく、第２の角度θｃより小さい範囲で、最初に第１パルス信号Ｐａが生成された場合に、電動機１０が所定角度だけ回転したことを表す第２パルス信号Ｐｂを生成し、且つ、回転角度θを第１の角度θｐ（ゼロ）に補正する指令を回転角度算出部３２に出力するように構成されていてもよい。また、第１パルス信号Ｐａが生成される前に、回転角度θが第２の角度θｃに達した場合に、第２パルス信号Ｐｂを生成するように構成されていてもよい。
【０１５４】
また、第１の角度θｐは、例えば図１４に示すように、第３の角度θｕより大きく、且つ、第２の角度θｃより小さい角度であってもよい。この場合、演算部の一例である第２信号生成部３５は、回転角度θが、第３の角度θｕより大きく、且つ、第２の角度θｃより小さい範囲で、最初に第１パルス信号Ｐａが生成された場合に、電動機１０が所定角度だけ回転したことを表す第２パルス信号Ｐｂを生成し、且つ、回転角度θを第１の角度θｐに補正する指令を回転角度算出部３２に出力するように構成されていてもよい。また、第１パルス信号Ｐａが生成される前に、回転角度θが第１の角度θｐに達した場合に、第２パルス信号Ｐｂを生成するように構成されていてもよい。
【０１５５】
また、第１の角度θｐは、例えば図１６に示すように、ゼロより大きく、且つ、第４の角度θｄより小さい角度であってもよい。この場合、演算部の一例である第２信号生成部３５は、回転角度θが、第３の角度θｕより大きく、第２の角度θｃより小さい範囲、及び、回転角度θが、第１の角度θｐより小さい範囲で、最初に第１パルス信号Ｐａが生成された場合に、電動機１０が所定角度だけ回転したことを表す第２パルス信号Ｐｂを生成し、且つ、回転角度θを第１の角度θｐに補正する指令を回転角度算出部３２に出力するように構成されていてもよい。また、第１パルス信号Ｐａが生成される前に、回転角度θが第１の角度θｐに達した場合に、第２パルス信号Ｐｂを生成するように構成されていてもよい。
【０１５６】
また、所定の角度範囲の一例である受付範囲は、図８、図１０及び図１２のそれぞれにおけるドットパターンで示すように、第１の角度θｐよりも小さい第３の角度θｕ以上、且つ、第１の角度θｐよりも大きい第４の角度θｄ以下の範囲であってもよい。この場合、演算部の一例である第２信号生成部３５は、回転角度θが第３の角度θｕ以上、且つ、第１の角度θｐ以下の範囲内で最初に第１パルス信号Ｐａが生成された場合に、電動機１０が所定角度だけ回転したことを表す第２パルス信号Ｐｂを生成するように構成されていてもよい。また、第１パルス信号Ｐａが生成される前に、回転角度θが第１の角度θｐに達した場合に、第２パルス信号Ｐｂを生成するように構成されていてもよい。この場合、第３の角度θｕは、図１０に示すように、ゼロであってもよい。或いは、第４の角度θｄは、図１２に示すように、第２の角度θｃと等しい角度であってもよい。
【０１５７】
また、第３の角度θｕ及び第４の角度θｄは、回転角度θが第１の角度θｐになったときの、回転角度θと電動機１０の実際の回転角度との最大位相差（最大誤差）に基づいて設定されていてもよい。例えば図４に示すように、第３の角度θｕは、回転角度θが第１の角度θｐになったときの、回転角度θと電動機１０の実際の回転角度（＞回転角度θ）との最大位相差（最大誤差）として設定されていてもよい。この場合、回転角度θと電動機１０の実際の回転角度との誤差は、角度α未満であり、実用上、問題無い範囲である。また、図４に示すように、第４の角度θｄは、回転角度θが第１の角度θｐになったときの、回転角度θと電動機１０の実際の回転角度（＜回転角度θ）との最大位相差（最大誤差）として設定されていてもよい。この場合、回転角度θと電動機１０の実際の回転角度との誤差は、角度β未満であり、実用上、問題無い範囲である。
【０１５８】
また、演算部としての第２信号生成部３５は、例えば図４、図８、図１０、図１２、図１４及び図１６のそれぞれにおけるドットパターンで示すように、受付範囲内で最初に第１パルス信号Ｐａが生成された場合に、第２パルス信号Ｐｂを出力するように構成されていてもよい。
【０１５９】
また、図１７に示す演算部としての繰り上がり判断部３５Ａと回転情報算出部３６とは一体化されていてもよい。この場合、繰り上がり判断部３５Ａは、電動機１０が所定角度だけ回転したことを表すソフトウェア命令としての繰り上がり指令を出力するように構成されていてもよい。
【０１６０】
また、第２信号生成部３５は、例えば、図４乃至図２１の例で説明したように回転角度θが第４の角度θｄ未満のときに受けた最初の第１パルス信号Ｐａを有効とし、２番目以降の第１パルス信号Ｐａを無効とするように構成されている。そのため、ノイズ等の影響により複数の第１パルス信号Ｐａが短期間に連続して生成された場合であっても、１つの第１パルス信号Ｐａを有効な信号として取得し、１つの第１パルス信号Ｐａ以外の１又は複数の第１パルス信号Ｐａを無効な信号として無視できる。
【０１６１】
また、第２信号生成部３５は、例えば、図４乃至図２１の例で説明したように回転角度θが第４の角度θｄ未満の場合において最初の第１パルス信号Ｐａを受けたときに回転角度θをゼロにリセットする指令を回転角度算出部３２に出力し、２番目以降の第１パルス信号Ｐａを受けたときに回転角度θをゼロにリセットする指令を回転角度算出部３２に出力しないように構成されている。そのため、ノイズ等の影響により複数の第１パルス信号Ｐａが短期間に連続して生成された場合であっても、１つの第１パルス信号Ｐａ以外の１又は複数の第１パルス信号Ｐａによって回転角度θが誤ってリセットされてしまうのを防止できる。
【０１６２】
また、回転角度検出器１００は、電流Ｉｍのリップル成分Ｉｒに基づいて生成される第１パルス信号Ｐａと、端子間電圧Ｖ及び電流Ｉｍに基づいて算出される回転角度θとを用いて第２パルス信号Ｐｂを生成する。すなわち、別々の方法で導き出される２つのパラメータである第１パルス信号Ｐａと回転角度θとを用いて第２パルス信号Ｐｂを生成する。そのため、一方のパラメータが適切に導出されなかった場合であっても他方のパラメータでその不具合を補うことができる。その結果、電動機１０の回転情報をより高い信頼性で取得できる。
【０１６３】
回転角度算出部３２は、例えば、端子間電圧Ｖと電流Ｉｍとに基づいて算出される電動機１０の回転角速度ωを積算して回転角度θを算出するように構成される。そのため、回転角度算出部３２は、電動機１０の起動直後の期間、惰性回転期間等を含めた全期間に亘って回転角度θを安定的且つ継続的に算出できる。そして、第２信号生成部３５は、例えば、回転角度θが所定角度に達したときに、第２パルス信号Ｐｂを即時に生成するように構成される。そのため、第２信号生成部３５は、第１パルス信号Ｐａの生成漏れが発生した場合であっても、安定的且つ継続的に算出される回転角度θに基づき、所定角度だけ回転したことを表す第２パルス信号Ｐｂをリアルタイムに生成できる。そのため、回転角度検出器１００は、電動機１０の回転情報を遅滞なく算出できる。
【０１６４】
第２信号生成部３５は、例えば、回転角度θが第２の角度θｃに達したときに、回転角度θをゼロにリセットする指令を回転角度算出部３２に出力するように構成される。そのため、回転角度検出器１００は、回転角度算出部３２が算出する回転角度θの最大値が第２の角度θｃになるので、回転角度θに必要なメモリのサイズを小さくできる。
【０１６５】
所定の角度範囲は、電動機１０が整流子片２０ａの円弧の中心角、すなわちスリット間角度（第２の角度θｃ）だけ回転する毎に生じる、回転角度算出部３２が出力する回転角度θの最大誤差の範囲である。すなわち、回転角速度算出部３１が、実際よりも、回転角速度ωを大きく算出した場合に、実際の回転角度に基づく第１パルス信号Ｐａが生成される（誤差を含んだ）回転角度θの最大値が第４の角度θｄである。また、回転角速度算出部３１が、実際よりも、回転角速度ωを小さく算出した場合に、実際の回転角度に基づく第１パルス信号Ｐａが生成される（誤差を含んだ）回転角度θの最小値が第３の角度θｕである。そのため、回転角度検出器１００では、回転角度算出部３２が算出する回転角度θの誤差が累積されない。つまり、電動機１０が何回転しても、誤差を−αから＋βの範囲とすることができる。
【０１６６】
第２信号生成部３５は、第１パルス信号Ｐａを受けたときに、回転角度θが第３の角度θｕ以上であれば、第２パルス信号Ｐｂを生成するように構成される。第３の角度θｕは、第１の角度θｐより小さい値として予め設定されている。この構成により、第２信号生成部３５は、回転角度θが、第３の角度θｕ以上のときに生成された第１パルス信号Ｐａをノイズに基づくものではないと見なす。そして、第１パルス信号Ｐａが生成されなくても、回転角度θが第１の角度θｐに達したら、第２パルス信号Ｐｂを生成する。そのため、第１パルス信号Ｐａの生成漏れによる回転情報の算出結果への影響を確実に排除できる。
【０１６７】
また、第２信号生成部３５は、例えば、第１パルス信号Ｐａを受けたときに、回転角度θが第３の角度θｕ未満であれば、第２パルス信号Ｐｂを生成しないように構成される。この構成により、第２信号生成部３５は、回転角度θが第３の角度θｕ未満で生成された第１パルス信号Ｐａをノイズに基づくものであると判定できる。そして、ノイズに基づいて生成された第１パルス信号Ｐａに対応する第２パルス信号Ｐｂが生成されてしまうのを防止できる。そのため、ノイズに基づいて生成された第１パルス信号Ｐａによる回転情報の算出結果への影響を確実に排除できる。
【０１６８】
また、第２信号生成部３５は、例えば、第１パルス信号Ｐａを受けたときに、回転角度θが第４の角度θｄより小さければ、回転角度θをゼロにリセットする指令を回転角度算出部３２に出力するように構成される。第４の角度θｄは、第１の角度θｐより位相がβだけ遅れた値として予め設定されている。この構成により、第２信号生成部３５は、第１パルス信号Ｐａの生成漏れの発生に先立って第２パルス信号Ｐｂを生成した直後に第１パルス信号Ｐａを受けた場合、その第１パルス信号Ｐａをノイズに基づくものではないと見なす。そして、その第１パルス信号Ｐａを、直前に生成した第２パルス信号Ｐｂに対応付けることができる。そのため、第１パルス信号Ｐａの生成タイミングのずれによる回転情報の算出結果への影響を確実に排除できる。
【０１６９】
以上、本発明の好ましい実施例について詳説した。しかしながら、本発明は、上述した実施例に制限されることはない。本発明の範囲を逸脱することなしに上述した実施例に種々の変形及び置換を加えることができる。
【０１７０】
本願は、２０１７年４月２７日に出願した日本国特許出願２０１７−０８８７１６号に基づく優先権を主張するものであり、これらの日本国特許出願の全内容を本願に参照により援用する。
【符号の説明】
【０１７１】
１０・・・電動機  １０ａ・・・電圧検出部  １０ｂ・・・電流検出部  ２０・・・整流子  ２０ａ・・・整流子片  ２０ｓ・・・スリット  ３０・・・電圧フィルタ部  ３１・・・回転角速度算出部  ３２・・・回転角度算出部  ３３・・・電流フィルタ部  ３４・・・第１信号生成部  ３５・・・第２信号生成部  ３５Ａ・・・繰り上がり判断部  ３６・・・回転情報算出部  １００・・・回転角度検出器  ＳＷ１〜ＳＷ４・・・スイッチ
【図１】
2018199104.tif 000005
【図２】
2018199104.tif 000006
【図３Ａ】
2018199104.tif 000007
【図３Ｂ】
2018199104.tif 000008
【図４】
2018199104.tif 000009
【図５】
2018199104.tif 000010
【図６】
2018199104.tif 000011
【図７】
2018199104.tif 000012
【図８】
2018199104.tif 000013
【図９】
2018199104.tif 000014
【図１０】
2018199104.tif 000015
【図１１】
2018199104.tif 000016
【図１２】
2018199104.tif 000017
【図１３】
2018199104.tif 000018
【図１４】
2018199104.tif 000019
【図１５】
2018199104.tif 000020
【図１６】
2018199104.tif 000021
【図１７】
2018199104.tif 000022
【図１８】
2018199104.tif 000023
【図１９】
2018199104.tif 000024
【図２０】
2018199104.tif 000025
【図２１】
2018199104.tif 000026
【国際調査報告】
2018199104.tif 000027
2018199104.tif 000028
2018199104.tif 000029
2018199104.tif 000030