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