JP2019144056A - 回転角検出装置、モータ制御装置、電動パワーステアリング装置、及び回転角検出方法 - Google Patents
回転角検出装置、モータ制御装置、電動パワーステアリング装置、及び回転角検出方法 Download PDFInfo
- Publication number
- JP2019144056A JP2019144056A JP2018027270A JP2018027270A JP2019144056A JP 2019144056 A JP2019144056 A JP 2019144056A JP 2018027270 A JP2018027270 A JP 2018027270A JP 2018027270 A JP2018027270 A JP 2018027270A JP 2019144056 A JP2019144056 A JP 2019144056A
- Authority
- JP
- Japan
- Prior art keywords
- wave signal
- value
- sine wave
- cosine wave
- cosine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Measurement Of Length, Angles, Or The Like Using Electric Or Magnetic Means (AREA)
- Transmission And Conversion Of Sensor Element Output (AREA)
- Power Steering Mechanism (AREA)
Abstract
【課題】高い検出精度を維持することができる回転角検出装置、モータ制御装置、電動パワーステアリング装置、及び回転角検出方法を提供すること。【解決手段】モータの回転数が上限閾値以下であるときの第1正弦波信号の最大値又は最小値に基づき、第1正弦波信号のゲインを補正して第2正弦波信号とする。モータの回転数が上限閾値以下であるときの第1余弦波信号の最大値又は最小値に基づき、第1余弦波信号のゲインを補正して第2余弦波信号とする。第2余弦波信号と第2正弦波信号とを加算した第3正弦波信号の最大値又は最小値に基づき、第3正弦波信号のゲインを補正して第4正弦波信号とする。第2余弦波信号から第2正弦波信号を減算した第3余弦波信号の最大値又は最小値に基づき、第3余弦波信号のゲインを補正して第4余弦波信号とする。第4正弦波信号及び第4余弦波信号に基づき、モータの回転角を算出する。【選択図】図7
Description
本発明は、回転角検出装置、モータ制御装置、電動パワーステアリング装置、及び回転角検出方法に関する。
乗用車やトラック等の車両の操舵力を軽減するため、モータによって操舵を補助する、いわゆる電動パワーステアリング(EPS:Electric Power Steering)装置がある。電動パワーステアリング装置は、車両のステアリング機構にモータが発生する補助操舵力を付与する操舵補助制御機能を有している。このような電動パワーステアリング装置において、ブラシレスモータの電流制御を行うためには、センサを用いてモータの位置(回転角)を高精度に検出する必要がある。例えば、外周面にN極とS極が交互に複数配置された着磁ローターの回転軸と平行な方向に所定間隔離れて配置され、直列接続された2つの磁気抵抗素子の接続点の電圧(差動出力電圧)を用いて位置検出を行う構成が開示されている(例えば、特許文献1)。
磁気抵抗素子をセンサとして用いる場合、センサの出力には直流のオフセット成分が重畳する。また、回転磁石の取り付け誤差やセンサの製造誤差によって、センサのゲイン誤差や位相ズレが生じる場合がある。モータにセンサが組み込まれた状態で出荷前にオフセット電圧やゲイン誤差、位相ズレ等を補正するようにキャリブレーションを行うことが一般的である。しかしながら、センサの出力に生じるオフセット電圧やゲイン誤差は、温度ドリフトによって変化し、温度上昇に伴って増加する。このため、出荷前のキャリブレーション実施時とは異なる温度条件下では検出精度が低下する可能性がある。また、経時変化によってこれらの誤差が大きくなり検出精度が低下する場合がある。特に、磁気抵抗素子は、高感度の半導体素子であるため、このような温度特性や経年変化による出力変動が無視できない。
本発明は、上記の課題に鑑みてなされたものであって、高い検出精度を維持することができる回転角検出装置、モータ制御装置、電動パワーステアリング装置、及び回転角検出方法を提供すること、を目的としている。
上記の目的を達成するため、本発明の一態様に係る回転角検出装置は、正相正弦波信号と当該正相正弦波信号を位相反転した逆相正弦波信号とを含む差動正弦波信号、及び、正相余弦波信号と当該正相余弦波信号を位相反転した逆相余弦波信号とを含む差動余弦波信号を、モータの位置検出信号として出力する位置検出センサと、前記位置検出信号に基づき、前記モータの位置を検出する位置検出部と、記憶部と、を備え、前記位置検出部は、前記正相正弦波信号と前記逆相正弦波信号との差分を第1正弦波信号として出力し、前記正相余弦波信号と前記逆相余弦波信号との差分を第1余弦波信号として出力する差分演算部と、前記記憶部に記憶された前記第1正弦波信号の最大値又は最小値に基づき、前記第1正弦波信号のゲインを補正した第2正弦波信号を出力すると共に、前記記憶部に記憶された前記第1余弦波信号の最大値又は最小値に基づき、前記第1余弦波信号のゲインを補正した第2余弦波信号を出力する第1ゲイン補正部と、前記第2余弦波信号と前記第2正弦波信号とを加算して第3正弦波信号を生成し、前記記憶部に記憶された前記第3正弦波信号の最大値又は最小値に基づき、前記第3正弦波信号のゲインを補正した第4正弦波信号を出力すると共に、前記第2余弦波信号から前記第2正弦波信号を減算して第3余弦波信号を生成し、前記記憶部に記憶された前記第3余弦波信号の最大値又は最小値に基づき、前記第3余弦波信号のゲインを補正した第4余弦波信号を出力する第2ゲイン補正部と、前記第4正弦波信号及び前記第4余弦波信号に基づき、前記モータの回転角を算出すると共に、前記モータの回転角に基づき、前記モータの回転数を算出する角度算出部と、を備え、前記第1ゲイン補正部は、少なくとも前記モータの回転数に応じて、前記第1正弦波信号の最大値及び最小値、並びに、前記第1余弦波信号の最大値及び最小値を更新する。
上記構成によれば、リアルタイムで検出された位置検出信号に基づき、回転角検出装置のキャリブレーションを実施することができる。これにより、温度ドリフトや経時変化によって検出精度が低下することを抑制することができ、高い検出精度を維持することができる。
回転角検出装置の望ましい態様として、前記第1ゲイン補正部は、前記モータの回転数が、前記モータの回転数の上限閾値以下である場合に、前記記憶部に記憶された前記第1正弦波信号の最大値及び最小値、並びに、前記第1余弦波信号の最大値及び最小値を更新することが好ましい。
これにより、モータの回転数が上限閾値以下である場合に、第1正弦波信号及び第1余弦波信号のゲインを補正して第2正弦波信号及び第2余弦波信号を求める際に用いる第1正弦波信号の最大値及び最小値、並びに、第1余弦波信号の最大値及び最小値が更新される。
回転角検出装置の望ましい態様として、前記第1ゲイン補正部は、前記第1余弦波信号のゼロ点検出時において、前記第1正弦波信号の値が0以上であるときの前記第1正弦波信号の値を前記第1正弦波信号の最大値として前記記憶部に記憶し、前記第1余弦波信号のゼロ点検出時において、前記第1正弦波信号の値が0未満であるときの前記第1正弦波信号の値を前記第1正弦波信号の最小値として前記記憶部に記憶し、前記第1正弦波信号のゼロ点検出時において、前記第1余弦波信号の値が0以上であるときの前記第1余弦波信号の値を前記第1余弦波信号の最大値として前記記憶部に記憶し、前記第1正弦波信号のゼロ点検出時において、前記第1余弦波信号の値が0未満であるときの前記第1余弦波信号の値を前記第1余弦波信号の最小値として前記記憶部に記憶する。
これにより、第1正弦波信号の最大値又は最小値、もしくは、第1余弦波信号の最大値又は最小値を検出する際のモータの回転数を上限閾値以下とすることで、より検出精度を高めることができる。
回転角検出装置の望ましい態様として、前記第1余弦波信号のゼロ点検出時において、前記第1正弦波信号の値が0以上であって、前記第1余弦波信号の値が、前記第1余弦波信号の最大値の下限値以上上限値以下である場合に、当該第1正弦波信号の値を前記第1正弦波信号の最大値として前記記憶部に記憶し、前記第1余弦波信号のゼロ点検出時において、前記第1正弦波信号の値が0未満であって、前記第1正弦波信号の値が、前記第1正弦波信号の最小値の下限値以上上限値以下である場合に、当該第1正弦波信号の値を前記第1正弦波信号の最小値として前記記憶部に記憶し、前記第1正弦波信号のゼロ点検出時において、前記第1余弦波信号の値が0以上であって、前記第1余弦波信号の値が、前記第1余弦波信号の最大値の下限値以上上限値以下である場合に、当該第1余弦波信号の値を前記第1余弦波信号の最大値として前記記憶部に記憶し、前記第1正弦波信号のゼロ点検出時において、前記第1余弦波信号の値が0未満であって、前記第1余弦波信号の値が、前記第1余弦波信号の最小値の下限値以上上限値以下である場合に、当該第1余弦波信号の値を前記第1余弦波信号の最小値として前記記憶部に記憶する。
これにより、モータの回転数を上限閾値以下とすることに加え、第1正弦波信号の最大値及び最小値、又は、第1余弦波信号の最大値及び最小値の上限値及び下限値を設けることで、異常値の学習を防止することができる。
回転角検出装置の望ましい態様として、前記差分演算部は、前記正相正弦波信号が、前記正相正弦波信号の下限閾値未満であるか、又は、前記正相正弦波信号の上限閾値よりも大きい場合に、前記正相正弦波信号の入力値異常と判定し、前記逆相正弦波信号が、前記逆相正弦波信号の下限閾値未満であるか、又は、前記逆相正弦波信号の上限閾値よりも大きい場合に、前記逆相正弦波信号の入力値異常と判定し、前記正相余弦波信号が、前記正相余弦波信号の下限閾値未満であるか、又は、前記正相余弦波信号の上限閾値よりも大きい場合に、前記正相余弦波信号の入力値異常と判定し、前記逆相余弦波信号が、前記逆相余弦波信号の下限閾値未満であるか、又は、前記逆相余弦波信号の上限閾値よりも大きい場合に、前記逆相余弦波信号の入力値異常と判定することが好ましい。
これにより、正相正弦波信号の入力値異常、逆相正弦波信号の入力値異常、正相余弦波信号の入力値異常、及び逆相余弦波信号の入力値異常を検出することができる。
回転角検出装置の望ましい態様として、前記差分演算部は、前記正弦波信号オフセット電圧が、前記正弦波信号オフセット電圧の下限閾値未満であるか、又は、前記正弦波信号オフセット電圧の上限閾値よりも大きい場合に、前記正弦波信号オフセット電圧のオフセット電圧値異常と判定し、前記余弦波信号オフセット電圧が、前記余弦波信号オフセット電圧の下限閾値未満であるか、又は、前記余弦波信号オフセット電圧の上限閾値よりも大きい場合に、前記余弦波信号オフセット電圧のオフセット電圧値異常と判定することが好ましい。
これにより、正弦波信号オフセット電圧のオフセット電圧値異常、及び余弦波信号オフセット電圧のオフセット電圧値異常を検出することができる。
回転角検出装置の望ましい態様として、前記第1ゲイン補正部は、前記第1余弦波信号のゼロ点検出時において、前記第1正弦波信号の値が0以上であるときの前記第1正弦波信号の値が、前記第1正弦波信号の最大値の下限値未満であるか、又は、前記第1正弦波信号の最大値の上限値より大きい場合に、前記第1正弦波信号の最大値異常と判定し、前記第1余弦波信号のゼロ点検出時において、前記第1正弦波信号の値が0未満であるときの前記第1正弦波信号の値が、前記第1正弦波信号の最小値の下限値未満であるか、又は、前記第1正弦波信号の最小値の上限値より大きい場合に、前記第1正弦波信号の最小値異常と判定し、前記第1正弦波信号のゼロ点検出時において、前記第1余弦波信号の値が0以上であるときの前記第1余弦波信号の値が、前記第1余弦波信号の最大値の下限値未満であるか、又は、前記第1余弦波信号の最大値の上限値より大きい場合に、前記第1余弦波信号の最大値異常と判定し、前記第1正弦波信号のゼロ点検出時において、前記第1余弦波信号の値が0未満であるときの前記第1余弦波信号の値が、前記第1余弦波信号の最小値の下限値未満であるか、又は、前記第1余弦波信号の最小値の上限値より大きい場合に、前記第1余弦波信号の最小値異常と判定することが好ましい。
これにより、第1正弦波信号の最大値異常、第1正弦波信号の最小値異常、第1余弦波信号の最大値異常、及び第1余弦波信号の最小値異常を検出することができる。
回転角検出装置の望ましい態様として、前記第2ゲイン補正部は、前記第3余弦波信号のゼロ点検出時において、前記第3正弦波信号の値が0以上であるとき、当該第3正弦波信号の値を前記第3正弦波信号の最大値として前記記憶部に記憶し、前記第3余弦波信号のゼロ点検出時において、前記第3正弦波信号の値が0未満であるとき、当該第3正弦波信号の値を前記第3正弦波信号の最小値として前記記憶部に記憶し、前記第3正弦波信号のゼロ点検出時において、前記第3余弦波信号の値が0以上であるとき、当該第3余弦波信号の値を前記第3余弦波信号の最大値として前記記憶部に記憶し、前記第3正弦波信号のゼロ点検出時において、前記第3余弦波信号の値が0未満であるとき、当該第3余弦波信号の値を前記第3余弦波信号の最小値として前記記憶部に記憶することが好ましい。
これにより、第4正弦波信号を得るための第3正弦波信号の最大値又は最小値をリアルタイムで取得することができる。また、第4余弦波信号を得るための第3余弦波信号の最大値又は最小値をリアルタイムで取得することができる。
上記の目的を達成するため、本発明の一態様に係るモータ制御装置は、上記回転角検出装置を備え、前記回転角を用いて、前記モータを駆動制御する。
これにより、モータを高精度に駆動制御することができる。
上記の目的を達成するため、本発明の一態様に係る電動パワーステアリング装置は、上記モータ制御装置を備え、前記モータは、ステアリングのコラム軸又はラックに設けられ、前記ステアリングの操舵力をトルク制御する。
これにより、電動パワーステアリング装置における操舵補助制御の精度を高めることができる。
これにより、電動パワーステアリング装置は、回転角検出装置の故障判定結果に応じた処理が可能となる。
上記の目的を達成するため、本発明の一態様に係る回転角検出方法は、モータの位置検出信号として位置検出センサから出力される、正相正弦波信号と当該正相正弦波信号を位相反転した逆相正弦波信号とを含む差動正弦波信号、及び、正相余弦波信号と当該正相余弦波信号を位相反転した逆相余弦波信号とを含む差動余弦波信号に基づき、前記モータの位置を検出する回転角検出方法であって、前記正相正弦波信号と前記逆相正弦波信号との差分を第1正弦波信号とするステップと、前記正相余弦波信号と前記逆相余弦波信号との差分を第1余弦波信号とするステップと、前記モータの回転数が、前記モータの回転数の上限閾値以下であるときの前記第1正弦波信号の最大値又は最小値に基づき、前記第1正弦波信号のゲインを補正して第2正弦波信号とするステップと、前記モータの回転数が、前記モータの回転数の上限閾値以下であるときの前記第1余弦波信号の最大値又は最小値に基づき、前記第1余弦波信号のゲインを補正して第2余弦波信号とするステップと、前記第2余弦波信号と前記第2正弦波信号とを加算して第3正弦波信号とするステップと、前記第2余弦波信号から前記第2正弦波信号を減算して第3余弦波信号とするステップと、前記第3正弦波信号の最大値又は最小値に基づき、前記第3正弦波信号のゲインを補正して第4正弦波信号とするステップと、前記第3余弦波信号の最大値又は最小値に基づき、前記第3余弦波信号のゲインを補正して第4余弦波信号とするステップと、前記第4正弦波信号及び前記第4余弦波信号に基づき、前記モータの回転角を算出するステップと、を有する。
これにより、リアルタイムで検出された位置検出信号に基づき、回転角検出装置のキャリブレーションを実施することができる。これにより、温度ドリフトや経時変化によって検出精度が低下することを抑制することができ、高い検出精度を維持することができる。また、第1正弦波信号及び第1余弦波信号のゲインを補正して第2正弦波信号及び第2余弦波信号を求める際に用いる第1正弦波信号の最大値及び最小値、又は、第1余弦波信号の最大値又は最小値を検出する際のモータの回転数を上限閾値以下とすることで、より検出精度を高めることができる。
本発明によれば、高い検出精度を維持することができる回転角検出装置、モータ制御装置、電動パワーステアリング装置、及び回転角検出方法を提供することができる。
以下、発明を実施するための形態(以下、実施形態という)につき図面を参照しつつ詳細に説明する。なお、下記の実施形態により本発明が限定されるものではない。また、下記実施形態における構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、下記実施形態で開示した構成要素は適宜組み合わせることが可能である。
図1は、実施形態に係る電動パワーステアリング装置の構成を示す図である。電動パワーステアリング装置100は、車両のステアリング機構に補助操舵力を付与するモータ20を有し、ステアリング機構に対する操舵トルクと車速とを少なくとも用いて演算した操舵補助指令値に基づき、モータ20を駆動制御する。
このように、電動パワーステアリング装置100は、車両に搭載されて、車両の運転者によるハンドルホイール1(以下、「ステアリング」ともいう)の操作を補助するものである。ハンドルホイール1のコラム軸2は、減速ギヤ3、ユニバーサルジョイント4a、4b、ラックアンドピニオン機構5を介して、操舵輪のタイロッド6に連結されている。コラム軸2には、ハンドルホイール1の操舵トルクTを検出するトルクセンサ10が設けられている。また、コラム軸2には減速ギヤ3が取り付けられている。減速ギヤ3は、モータ20の発生するトルクを増加させてコラム軸2へ伝達する。このような構造によって、モータ20が発生するトルクにより、ハンドルホイール1の操舵力が補助される。
本実施形態において、電動パワーステアリング装置100は、コラム軸2にモータ20のトルクを伝達するコラムアシスト型の装置である。
モータ20は、例えば、ブラシレスモータである。電動パワーステアリング装置100を制御するECU(Electronic Control Unit、以下コントロールユニットという)30は、自身に内蔵された電源リレー13を介してバッテリ14から電力の供給を受けるとともに、イグニッションスイッチ11から送信されたイグニッション信号を受信する。また、コントロールユニット30は、トルクセンサ10で検出された操舵トルクTと車速センサ12で検出された車両速度(車速)Vとに基づいて、モータ20の電流指令値を演算する。コントロールユニット30は、モータ20に供給される電流の値(電流検出値)と電流指令値とに基づいて、モータ20の電流検出値が電流指令値に追従するようにモータ20を駆動制御する。このように、コントロールユニット30は、電動パワーステアリング装置100を制御する装置(電動パワーステアリング装置の制御装置)である。
図2は、実施形態に係る電動パワーステアリング装置を制御するコントロールユニットのハードウェア構成を示す模式図である。コントロールユニット30は、図2に示すように、電源リレー13と、制御用コンピュータ(MCU)110と、モータ駆動回路15と、モータ電流検出回路16と、位置検出部17等とを備えている。電動パワーステアリング装置100の制御用コンピュータ110は、CPU(Central Processing Unit)101、第1記憶装置としてのRAM(Random Access Memory)102、第2記憶装置としてのROM(Read Only Memory)103、EEPROM(Electrically Erasable Programmable ROM)104、インターフェース(I/F)105、A/D(Analog/Digital)変換器106、PWM(Pulse Width Modulation)コントローラ107等を備え、これらがバス108に接続されている。CPU101は処理装置に相当し、ROM103に記憶された電動パワーステアリング装置100の制御用コンピュータプログラム(以下、制御プログラムという)を実行して、電動パワーステアリング装置100を制御する。
ROM103は、制御プログラム及び電動パワーステアリング装置100の制御に用いるデータを記憶する。また、RAM102は、制御プログラムを動作させるためのワークメモリとして使用される。EEPROM104は、制御プログラムが入出力する制御データ等を記憶する。制御データは、コントロールユニット30に電源が投入された後にRAM102に展開された制御プログラム上で使用され、所定のタイミングでEEPROM104に上書きされる。
ROM103、RAM102及びEEPROM104等は、情報を記憶する記憶装置であって、CPU101が直接アクセスできる記憶装置(一次記憶装置)である。
本実施形態において、EEPROM104は、後述する回転角検出処理における各種データの初期値を記憶する第1記憶部として機能する。
また、本実施形態において、RAM102は、後述する回転角検出処理における各種データの更新値を記憶する第2記憶部として機能する。
A/D変換器106は、コントロールユニット30への各入力値をディジタル信号に変換する。インターフェース105は、CAN(Controller Area Network)等の車載ネットワークに接続されている。インターフェース105は、車速センサ12からの車速Vの信号(車速パルス)を受け付けるためのものである。
PWMコントローラ107は、モータ20に対する電流指令値に基づいてUVW各相のPWM制御信号を出力する。モータ駆動回路15は、インバータ回路等により構成され、PWMコントローラ107から出力された信号に基づいてモータ20を駆動する。モータ電流検出回路16は、モータ20に供給される電流Imを検出してA/D変換器106に出力する。
位置検出部17は、位置検出センサ25から出力される位置検出信号を読み取り、モータ20の回転角θ1又は電気角θ2を出力する。本実施形態では、位置検出部17において、位置検出センサ25から出力される位置検出信号を補正し、補正後の信号に基づき、回転角検出処理を行う。なお、位置検出部17は、回路で構成される態様であっても良いし、図2に示す制御用コンピュータ110、より具体的にはCPU101によって実現される態様であっても良い。位置検出センサ25及び位置検出部17における位置検出信号の補正手法の詳細については後述する。
図3は、実施形態に係る電動パワーステアリング装置を制御するコントロールユニットの機能的な構成を示す機能ブロック図である。図3を用いて、電動パワーステアリング装置100の制御を説明する。図3に示すように、コントロールユニット30は、アシスト機能部31を有する。
アシスト機能部31は、電流指令値算出部31a、電流制御部31bを有する。電流指令値算出部31aは、操舵トルクT及び車速Vに対応した電流指令値Iを算出する。電流制御部31bは、位置検出部17から出力されるモータ20の電気角θ2に基づき、電流指令値Iと電流Imとの偏差が0に近づくように、比例制御と微分制御と積分制御とのうち少なくとも一つを実行し、電流指令値Iに近づくように制御された電流Imが生成されるように、モータ駆動回路15のゲート駆動信号のデューティ比Dを演算する。モータ駆動回路15は、電流制御部31bが演算したデューティ比DにしたがってPWM制御された電流をモータ20に出力する。モータ電流検出回路16は、モータ20に流れる電流Imを検出する。
図3に示すアシスト機能部31は、図2に示す制御用コンピュータ110、より具体的にはCPU101によって実現される。位置検出部17については後述する。
図4は、実施形態における位置検出センサの概略図である。本実施形態において、位置検出センサ25は、図4に示すように、モータシャフト(回転軸)20aの端部に設けられたN極及びS極からなる1極の回転磁石251と、この回転磁石251から軸方向(モータシャフト(回転軸)20aの軸心X方向)に所定間隔の空隙を介して配置されたMRセンサ252と、を備えている。
MRセンサ252は、MR(Magneto Resistance)素子(磁気抵抗素子)を用いて構成される。MRセンサ252としては、トンネル磁気抵抗効果(Tunnel Magneto Resistance Effect)を利用したTMRセンサが例示される。MRセンサ252は、TMRセンサの他、AMR(Anisotropic Magneto Resistive)センサやGMR(Giant Magnetoresistance Effect)センサであっても良い。MRセンサ252の種類により本開示が限定されるものではない。
MRセンサ252は、回転磁石251がモータシャフト(回転軸)20aと共にモータシャフト(回転軸)20aの軸心Xを中心として回転することで生じる磁場の変化に応じた位置検出信号を出力する。
本実施形態において、MRセンサ252は、位置検出信号として、アナログ信号である差動正弦波信号及び差動余弦波信号を出力する。差動正弦波信号は、正相正弦波信号Sinθ1+と、この正相正弦波信号Sinθ1+を位相反転した逆相正弦波信号Sinθ1−とを含む。差動余弦波信号は、正相余弦波信号Cosθ1+と、この正相余弦波信号Cosθ1+を位相反転した逆相余弦波信号Cosθ1−とを含む。
図5は、位置検出信号及び位相角の関係を示す図である。図5に示す(a)は、正相正弦波信号Sinθ1+の理想的な波形を示し、図5に示す(b)は、逆相正弦波信号Sinθ1−の理想的な波形を示している。また、図5に示す(c)は、正相余弦波信号Cosθ1+の理想的な波形を示し、図5に示す(d)は、逆相余弦波信号Cosθ1−の理想的な波形を示している。また、図5に示す(e)は、モータ20の回転角(機械角)θ1を示している。
図5に示すように、本実施形態では、回転磁石251の磁極数が1であるので、モータ20の回転角(機械角)θ1の1周期Tmと、MRセンサ252の電気角の1周期Teとが一致する。すなわち、図4に示すMRセンサ252は、モータ20の回転角(機械角)θ1の1周期Tmにおいて、MRセンサ252の電気角の1周期Teを検出する。なお、位置検出センサ25は、差動正弦波信号及び差動余弦波信号を出力可能な構成であれば、上述した構成に限るものではなく、例えば、モータ20の回転角(機械角)θ1の1周期Tmに対し、電気角で複数周期分の差動正弦波信号及び差動余弦波信号を出力可能な構成であっても良い。
図6は、3相ブラシレスモータにおいて、位置検出部によって検出された電気角を用いて、3相ブラシレスモータのU相電流、V相電流、及びW相電流を制御しているときのモータ制御電流と電気角との関係を示す図である。
図6に示すように、3相ブラシレスモータのU相電流、V相電流、及びW相電流は、互いに120度位相のずれた波形となる。
アシスト機能部31の電流制御部31bは、位置検出部17によって検出されたモータ20の電気角を用いて、モータ20の電流制御を行う。図6に示す例では、電気角の0[deg]を電流制御開始位置とし、U相の位相が0[deg]となるように制御する例を示している。
モータ20の電流制御では、モータ20の磁極対毎に、電気角が必要となる。モータ20の磁極対数が4である場合、位置検出部17は、モータ20の回転角を、モータ20の磁極対数に対応する電気角に分割して、アシスト機能部31の電流制御部31bに出力する。
図7は、実施形態に係る回転角検出装置の概略ブロック構成の一例を示す図である。図7に示すように、実施形態に係る回転角検出装置200は、位置検出センサ25と、位置検出部17とを含む。
図7に示すように、本実施形態において、位置検出部17は、差分演算部171と、第1ゲイン補正部172と、第2ゲイン補正部173と、角度算出部174と、を備えている。
差分演算部171は、正弦波差分演算部1711と、余弦波差分演算部1712と、を備えている。
正弦波差分演算部1711は、正相正弦波信号Sinθ1+と逆相正弦波信号Sinθ1−との差分を演算して、第1正弦波信号Sinθ1fを出力する。また、正弦波差分演算部1711は、後述する正相正弦波信号入力値異常検知フラグERR1−1、逆相正弦波信号入力値異常検知フラグERR1−2、及び正弦波信号オフセット電圧値異常検知フラグERR3−1をセット又はリセットする機能を有している。
余弦波差分演算部1712は、正相余弦波信号Cosθ1+と逆相余弦波信号Cosθ1−との差分を演算して、第1余弦波信号Cosθ1fを出力する。また、余弦波差分演算部1712は、後述する正相余弦波信号入力値異常検知フラグERR2−1、逆相余弦波信号入力値異常検知フラグERR2−2、及び余弦波信号オフセット電圧値異常検知フラグERR3−2をセット又はリセットする機能を有している。
差分演算部171には、アナログ信号である差動正弦波信号及び差動余弦波信号がサンプリング処理されてA/D変換された離散値の差動正弦波信号及び差動余弦波信号が入力される。
図8は、差動演算部の等価ブロックの一例を示す図である。図9は、差動演算部の図8に示す等価ブロックにおける差分演算概念を説明する第1図である。図10は、差動演算部の図8に示す等価ブロックにおける差分演算概念を説明する第2図である。図11は、差動演算部の図8に示す等価ブロックにおける差分演算概念を説明する第3図である。図12は、差動演算部の図8に示す等価ブロックにおける差分演算概念を説明する第4図である。
図9に示すように、差動正弦波信号である正相正弦波信号Sinθ1+及び逆相正弦波信号Sinθ1−には、正弦波信号オフセット電圧DifSin1が重畳している。また、図10に示すように、差動余弦波信号である正相余弦波信号Cosθ1+及び逆相余弦波信号Cosθ1−には、余弦波信号オフセット電圧DifCos1が重畳している。
正弦波信号オフセット電圧DifSin1は、下記(1)式に示すように、正相正弦波信号Sinθ1+と逆相正弦波信号Sinθ1−とを加算した値の半値で表される。
(DifSin1)=((Sinθ1+)+(Sinθ1−))/2・・・(1)
一方、正弦波信号オフセット電圧DifSin1を減算した正相正弦波信号Sinθ1d+は、以下の(2)式で表せ、正弦波信号オフセット電圧DifSin1を減算した逆相正弦波信号Sinθ1d−は、以下の(3)式で表せる。
(Sinθ1d+)=(Sinθ1+)−DifSin1・・・(2)
(Sinθ1d−)=(Sinθ1−)−DifSin1・・・(3)
上記(1)式を(2)式及び(3)式に代入すると、以下の(4)式及び(5)式が得られる。
(Sinθ1d+)=(Sinθ1+)/2−(Sinθ1−)/2・・・(4)
(Sinθ1d−)=−((Sinθ1+)/2−(Sinθ1−)/2)・・・(5)
正相正弦波信号Sinθ1d+を基準として、第1正弦波信号Sinθ1f=(Sinθ1d+)=(−(Sinθ1d−))とし、上記(4)式から(5)式を減算すると、以下の(6)式が得られる。
(Sinθ1f)×2=(Sinθ1+)−(Sinθ1−)・・・(6)
また、余弦波信号オフセット電圧DifCos1は、下記(7)式に示すように、正相余弦波信号Cosθ1+と逆相余弦波信号Cosθ1−とを加算した値の半値で表される。
(DifCos1)=((Cosθ1+)+(Cosθ1−))/2・・・(7)
一方、余弦波信号オフセット電圧DifCos1を減算した正相余弦波信号Cosθ1d+は、以下の(8)式で表せ、余弦波信号オフセット電圧DifCos1を減算した逆相余弦波信号Cosθ1d−は、以下の(9)式で表せる。
(Cosθ1d+)=(Cosθ1+)−DifCos1・・・(8)
(Cosθ1d−)=(Cosθ1−)−DifCos1・・・(9)
上記(7)式を(8)式及び(9)式に代入すると、以下の(10)式及び(11)式が得られる。
(Cosθ1d+)=(Cosθ1+)/2−(Cosθ1−)/2・・・(10)
(Cosθ1d−)=−((Cosθ1+)/2−(Cosθ1−)/2)・・・(11)
正相余弦波信号Cosθ1d+を基準として、第1余弦波信号Cosθ1f=(Cosθ1d+)=(−(Cosθ1d−))とし、上記(10)式から(11)式を減算すると、以下の(12)式が得られる。
(Cosθ1f)×2=(Cosθ1+)−(Cosθ1−)・・・(12)
本実施形態では、差動正弦波信号及び差動余弦波信号をサンプリング処理する際に、差動正弦波信号である正相正弦波信号Sinθ1+及び逆相正弦波信号Sinθ1−、差動余弦波信号である正相余弦波信号Cosθ1+及び逆相余弦波信号Cosθ1−をそれぞれ2倍の分解能で取得する。これにより、下記(6’)式を用いて、正相正弦波信号Sinθ1+から逆相正弦波信号Sinθ1−を減算することで、第1正弦波信号Sinθ1fが得られる(図11参照)。また、下記(12’)式を用いて、正相余弦波信号Cosθ1+から逆相余弦波信号Cosθ1−を減算することで、第1余弦波信号Cosθ1fが得られる(図12参照)。
Sinθ1f=(Sinθ1+)−(Sinθ1−)・・・(6’)
Cosθ1f=(Cosθ1+)−(Cosθ1−)・・・(12’)
これにより、中点がゼロ電位、すなわち、オフセット電圧が除去された第1正弦波信号Sinθ1f及び第1余弦波信号Cosθ1fが得られる。
また、正弦波差分演算部1711は、正相正弦波信号Sinθ1+の入力値異常を検出する。
具体的に、正弦波差分演算部1711は、例えば、正相正弦波信号Sinθ1+の値がアナログ値換算で下限閾値(例えば、0.3V)以上、且つ、上限閾値(例えば、4.7V)以下の範囲内であれば正常と判定し、正相正弦波信号Sinθ1+の値がアナログ値換算で下限閾値未満であるか、又は、上限閾値よりも大きい場合には、正相正弦波信号Sinθ1+の入力値異常と判定する。正弦波差分演算部1711は、正相正弦波信号Sinθ1+の入力値異常を検知した場合に、正相正弦波信号入力値異常検知フラグERR1−1をセットする。
また、正弦波差分演算部1711は、逆相正弦波信号Sinθ1−の入力値異常を検出する。
具体的に、正弦波差分演算部1711は、例えば、逆相正弦波信号Sinθ1−の値がアナログ値換算で下限閾値(例えば、0.3V)以上、且つ、上限閾値(例えば、4.7V)以下の範囲内であれば正常と判定し、逆相正弦波信号Sinθ1−の値がアナログ値換算で下限閾値未満であるか、又は、上限閾値よりも大きい場合には、逆相正弦波信号Sinθ1−の入力値異常と判定する。正弦波差分演算部1711は、逆相正弦波信号Sinθ1−の入力値異常を検知した場合に、逆相正弦波信号入力値異常検知フラグERR1−2をセットする。
また、正弦波差分演算部1711は、上記(1)式によって算出される正弦波信号オフセット電圧DifSin1の異常を検出する。
具体的に、正弦波差分演算部1711は、例えば、正弦波信号オフセット電圧DifSin1の値がアナログ値換算で5Vの中点理論値2.5Vに対し、下限閾値(例えば、2.3V)以上、且つ、上限閾値(例えば、2.7V)以下の範囲内であれば正常と判定し、正弦波信号オフセット電圧DifSin1の値がアナログ値換算で下限閾値未満であるか、又は、上限閾値よりも大きい場合には、正弦波信号オフセット電圧DifSin1のオフセット電圧値異常と判定する。正弦波差分演算部1711は、正弦波信号オフセット電圧DifSin1のオフセット電圧値異常を検知した場合に、正弦波信号オフセット電圧値異常検知フラグERR3−1をセットする。
また、余弦波差分演算部1712は、正相余弦波信号Cosθ1+の入力値異常を検出する。
具体的に、余弦波差分演算部1712は、例えば、正相余弦波信号Cosθ1+の値がアナログ値換算で下限閾値(例えば、0.3V)以上、且つ、上限閾値(例えば、4.7V)以下の範囲内であれば正常と判定し、正相余弦波信号Cosθ1+の値がアナログ値換算で下限閾値未満であるか、又は、上限閾値よりも大きい場合には、正相余弦波信号Cosθ1+の入力値異常と判定する。余弦波差分演算部1712は、正相余弦波信号Cosθ1+の入力値異常を検知した場合に、正相余弦波信号入力値異常検知フラグERR2−1をセットする。
また、余弦波差分演算部1712は、逆相余弦波信号Cosθ1−の入力値異常を検出する。
具体的に、余弦波差分演算部1712は、例えば、逆相余弦波信号Cosθ1−の値がアナログ値換算で下限閾値(例えば、0.3V)以上、且つ、上限閾値(例えば、4.7V)以下の範囲内であれば正常と判定し、逆相余弦波信号Cosθ1−の値がアナログ値換算で下限閾値未満であるか、又は、上限閾値よりも大きい場合には、逆相余弦波信号Cosθ1−の入力値異常と判定する。余弦波差分演算部1712は、逆相余弦波信号Cosθ1−の入力値異常を検知した場合に、逆相余弦波信号入力値異常検知フラグERR2−2をセットする。
また、余弦波差分演算部1712は、上記(7)式によって算出される余弦波信号オフセット電圧DifCos1の異常を検出する。
具体的に、余弦波差分演算部1712は、例えば、余弦波信号オフセット電圧DifCos1の値がアナログ値換算で5Vの中点理論値2.5Vに対し、下限閾値(例えば、2.3V)以上、且つ、上限閾値(例えば、2.7V)以下の範囲内であれば正常と判定し、余弦波信号オフセット電圧DifCos1の値がアナログ値換算で下限閾値未満であるか、又は、上限閾値よりも大きい場合には、余弦波信号オフセット電圧DifCos1のオフセット電圧値異常と判定する。余弦波差分演算部1712は、余弦波信号オフセット電圧DifCos1のオフセット電圧値異常を検知した場合に、余弦波信号オフセット電圧値異常検知フラグERR3−2をセットする。
第1ゲイン補正部172は、第1正弦波ゲイン補正部1721と、第1余弦波ゲイン補正部1722と、回転数閾値判定部1723と、を備えている。
第1正弦波ゲイン補正部1721は、第1正弦波信号Sinθ1fのゲインを補正した第2正弦波信号Sinθ1gを出力する。また、第1正弦波ゲイン補正部1721は、後述する正弦波信号最大値異常検知フラグERR4−1及び正弦波信号最小値異常検知フラグERR4−2をセット又はリセットする機能を有している。
第1余弦波ゲイン補正部1722は、第1余弦波信号Cosθ1fのゲインを補正した第2余弦波信号Cosθ1gを出力する。また、第1余弦波ゲイン補正部1722は、後述する余弦波信号最大値異常検知フラグERR5−1及び余弦波信号最小値異常検知フラグERR5−2をセット又はリセットする機能を有している。
回転数閾値判定部1723は、後述する角度算出部174の回転数演算部1744によって算出されたモータ20の回転数ωより、第1正弦波信号Sinθ1fの最大値及び最小値、並びに、第1余弦波信号Cosθ1fの最大値及び最小値の更新許可条件を判定する。
具体的に、第1ゲイン補正部172は、例えば、モータ20の回転数ωが上限閾値(例えば、200rpm)以下であれば、第1正弦波信号Sinθ1fの最大値及び最小値、並びに、第1余弦波信号Cosθ1fの最大値及び最小値の更新を許可し、モータ20の回転数ωが上限閾値よりも大きい場合には、第1正弦波信号Sinθ1fの最大値及び最小値、並びに、第1余弦波信号Cosθ1fの最大値及び最小値の更新を禁止する。
図13は、第1ゲイン補正部の等価ブロックの一例を示す図である。図14は、第1ゲイン補正部の図13に示す等価ブロックにおける第1正弦波信号及び第1余弦波信号の最大値又は最小値の検出概念を説明する図である。
第1ゲイン補正部172は、第1余弦波信号Cosθ1fがゼロ電位となる第1余弦波信号Cosθ1fのゼロ点を検出する。
第1正弦波ゲイン補正部1721は、第1余弦波信号Cosθ1fのゼロ点検出時における第1正弦波信号Sinθ1fの値が0以上(Sinθ1f≧0)であるとき、当該第1正弦波信号Sinθ1fの値を第1正弦波信号Sinθ1fの最大値MAX(Sinθ1f)として検出し、第1余弦波信号Cosθ1fのゼロ点検出時における第1正弦波信号Sinθ1fの値が0未満(Sinθ1f<0)であるとき、当該第1正弦波信号Sinθ1fの値を第1正弦波信号Sinθ1fの最小値MIN(Sinθ1f)として検出する(図14参照)。
第1正弦波ゲイン補正部1721は、下記(13)式及び(14)式を用いて、第1正弦波信号Sinθ1fのゲイン補正を行い、正弦波信号Sinθ1gU及び正弦波信号Sinθ1gLを求める。
Sinθ1gU=Sinθ1f×(1/(MAX(Sinθ1f)))・・・(13)
Sinθ1gL=Sinθ1f×((−1)/(MIN(Sinθ1f)))・・・(14)
そして、第1正弦波ゲイン補正部1721は、第1正弦波信号Sinθ1fの値が0以上であるとき、正弦波信号Sinθ1gUを第2正弦波信号Sinθ1gとし、第1正弦波信号Sinθ1fの値が0未満であるとき、正弦波信号Sinθ1gLを第2正弦波信号Sinθ1gとする。
すなわち、第1正弦波ゲイン補正部1721は、第1正弦波信号Sinθ1fの値が0以上であるとき、下記の(13’)式を用いて、第2正弦波信号Sinθ1gを算出し、第1正弦波信号Sinθ1fの値が0未満であるとき、下記の(14’)式を用いて、第2正弦波信号Sinθ1gを算出する。
Sinθ1g=Sinθ1f×(1/(MAX(Sinθ1f)))・・・(13’)
Sinθ1g=Sinθ1f×((−1)/(MIN(Sinθ1f)))・・・(14’)
これにより、第1正弦波信号Sinθ1fのゲインが補正された第2正弦波信号Sinθ1gが得られる。
また、第1ゲイン補正部172は、第1正弦波信号Sinθ1fがゼロ電位となる第1正弦波信号Sinθ1fのゼロ点を検出する。
第1余弦波ゲイン補正部1722は、第1正弦波信号Sinθ1fのゼロ点検出時における第1余弦波信号Cosθ1fの値が0以上(Cosθ1f≧0)であるとき、当該第1余弦波信号Cosθ1fの値を第1余弦波信号Cosθ1fの最大値MAX(Cosθ1f)として検出し、第1正弦波信号Sinθ1fのゼロ点検出時における第1余弦波信号Cosθ1fの値が0未満(Cosθ1f<0)であるとき、当該第1余弦波信号Cosθ1fの値を第1余弦波信号Cosθ1fの最小値MIN(Cosθ1f)として検出する(図14参照)。
第1余弦波ゲイン補正部1722は、下記(15)式及び(16)式を用いて、第1余弦波信号Cosθ1fのゲイン補正を行い、余弦波信号Cosθ1gU及び余弦波信号Cosθ1gLを求める。
Cosθ1gU=Cosθ1f×(1/(MAX(Cosθ1f)))・・・(15)
Cosθ1gL=Cosθ1f×((−1)/(MIN(Cosθ1f)))・・・(16)
そして、第1余弦波ゲイン補正部1722は、第1余弦波信号Cosθ1fの値が0以上であるとき、余弦波信号Cosθ1gUを第2余弦波信号Cosθ1gとし、第1余弦波信号Cosθ1fの値が0未満であるとき、余弦波信号Cosθ1gLを第2余弦波信号Cosθ1gとする。
すなわち、第1余弦波ゲイン補正部1722は、第1余弦波信号Cosθ1fの値が0以上であるとき、下記の(15’)式を用いて、第2余弦波信号Cosθ1gを算出し、第1余弦波信号Cosθ1fの値が0未満であるとき、下記の(16’)式を用いて、第2余弦波信号Cosθ1gを算出する。
Cosθ1g=Cosθ1f×(1/(MAX(Cosθ1f)))・・・(15’)
Cosθ1g=Cosθ1f×((−1)/(MIN(Cosθ1f)))・・・(16’)
これにより、第1余弦波信号Cosθ1fのゲインが補正された第2余弦波信号Cosθ1gが得られる。
また、第1正弦波ゲイン補正部1721は、第1余弦波信号Cosθ1fのゼロ点検出時における第1正弦波信号Sinθ1fの値が0以上(Sinθ1f≧0)であるときの第1正弦波信号Sinθ1fの最大値の異常を検出する。
具体的に、第1正弦波ゲイン補正部1721は、例えば、第1余弦波信号Cosθ1fのゼロ点検出時における第1正弦波信号Sinθ1fの値が0以上(Sinθ1f≧0)であるときの第1正弦波信号Sinθ1fの最大値が下限値(例えば、3.2V)以上であり、且つ、上限値(例えば、4.4V)以下であれば正常と判定し、第1余弦波信号Cosθ1fのゼロ点検出時における第1正弦波信号Sinθ1fの値が0以上(Sinθ1f≧0)であるときの第1正弦波信号Sinθ1fの最大値が下限値未満であるか、又は上限値よりも大きい場合には、第1正弦波信号Sinθ1fの最大値異常と判定する。第1正弦波ゲイン補正部1721は、第1正弦波信号Sinθ1fの最大値異常を検知した場合に、正弦波信号最大値異常検知フラグERR4−1をセットする。このとき、第1正弦波ゲイン補正部1721は、第1正弦波信号Sinθ1fの最大値を更新しない。
また、第1正弦波ゲイン補正部1721は、第1余弦波信号Cosθ1fのゼロ点検出時における第1正弦波信号Sinθ1fの値が0未満(Sinθ1f<0)であるときの第1正弦波信号Sinθ1fの最小値の異常を検出する。
具体的に、第1正弦波ゲイン補正部1721は、例えば、第1余弦波信号Cosθ1fのゼロ点検出時における第1正弦波信号Sinθ1fの値が0未満(Sinθ1f<0)であるときの第1正弦波信号Sinθ1fの最小値が下限値(例えば、−4.4V)以上であり、且つ、上限値(例えば、−3.2V)以下であれば正常と判定し、第1余弦波信号Cosθ1fのゼロ点検出時における第1正弦波信号Sinθ1fの値が0未満(Sinθ1f<0)であるときの第1正弦波信号Sinθ1fの最小値が下限値未満であるか、又は上限値よりも大きい場合には、第1正弦波信号Sinθ1fの最小値異常と判定する。第1正弦波ゲイン補正部1721は、第1正弦波信号Sinθ1fの最小値異常を検知した場合に、正弦波信号最小値異常検知フラグERR4−2をセットする。このとき、第1正弦波ゲイン補正部1721は、第1正弦波信号Sinθ1fの最小値を更新しない。
また、第1余弦波ゲイン補正部1722は、第1正弦波信号Sinθ1fのゼロ点検出時における第1余弦波信号Cosθ1fの値が0以上(Cosθ1f≧0)であるときの第1余弦波信号Cosθ1fの最大値の異常を検出する。
具体的に、第1余弦波ゲイン補正部1722は、例えば、第1正弦波信号Sinθ1fのゼロ点検出時における第1余弦波信号Cosθ1fの値が0以上(Cosθ1f≧0)であるときの第1余弦波信号Cosθ1fの最大値が下限値(例えば、3.2V)以上であり、且つ、上限値(例えば、4.4V)以下であれば正常と判定し、第1正弦波信号Sinθ1fのゼロ点検出時における第1余弦波信号Cosθ1fの値が0以上(Cosθ1f≧0)であるときの第1余弦波信号Cosθ1fの最大値が下限値未満であるか、又は上限値よりも大きい場合には、第1余弦波信号Cosθ1fの最大値異常と判定する。第1余弦波ゲイン補正部1722は、第1余弦波信号Cosθ1fの最大値異常を検知した場合に、余弦波信号最大値異常検知フラグERR5−1をセットする。このとき、第1余弦波ゲイン補正部1722は、第1余弦波信号Cosθ1fの最大値を更新しない。
また、第1余弦波ゲイン補正部1722は、第1正弦波信号Sinθ1fのゼロ点検出時における第1余弦波信号Cosθ1fの値が0未満(Cosθ1f<0)であるときの第1余弦波信号Cosθ1fの最小値の異常を検出する。
具体的に、第1余弦波ゲイン補正部1722は、例えば、第1正弦波信号Sinθ1fのゼロ点検出時における第1余弦波信号Cosθ1fの値が0未満(Cosθ1f<0)であるときの第1余弦波信号Cosθ1fの最小値が下限値(例えば、−4.4V)以上であり、且つ、上限値(例えば、−3.2V)以下であれば正常と判定し、第1正弦波信号Sinθ1fのゼロ点検出時における第1余弦波信号Cosθ1fの値が0未満(Cosθ1f<0)であるときの第1余弦波信号Cosθ1fの最小値が下限値未満であるか、又は上限値よりも大きい場合には、第1余弦波信号Cosθ1fの最小値異常と判定する。第1余弦波ゲイン補正部1722は、第1余弦波信号Cosθ1fの最小値異常を検知した場合に、余弦波信号最小値異常検知フラグERR5−2をセットする。このとき、第1余弦波ゲイン補正部1722は、第1余弦波信号Cosθ1fの最小値を更新しない。
第2ゲイン補正部173は、第2正弦波ゲイン補正部1731と、第2余弦波ゲイン補正部1732と、位相変換部1733と、を備えている。
位相変換部1733は、下記(17)式を用いて、第2正弦波信号Sinθ1gを位相変換した第3正弦波信号VC+Sを算出し、下記(18)式を用いて、第2余弦波信号Cosθ1gを位相変換した第3余弦波信号VC−Sを算出する。
VC+S=Cosθ1g+Sinθ1g・・・(17)
VC−S=Cosθ1g−Sinθ1g・・・(18)
図15は、第2正弦波信号及び第2余弦波信号に位相ずれが生じていない場合の位相変換処理後のベクトル図である。図16は、第2正弦波信号及び第2余弦波信号にαの位相ずれが生じている場合の位相変換処理後のベクトル図である。
第2正弦波信号Sinθ1gと第2余弦波信号Cosθ1gにαの位相ずれが生じている場合、図16に示すように、第3正弦波信号VC+Sは、第2正弦波信号Sinθ1gに対して+45−(α/2)deg位相が遅れ、第3余弦波信号VC−Sは、第2余弦波信号Cosθ1gに対して+45+(α/2)deg位相が遅れる。すなわち、第3正弦波信号VC+Sと第3余弦波信号VC−Sとは、90degの位相差となる。
図15に示すように、第2正弦波信号Sinθ1gと第2余弦波信号Cosθ1gに位相ずれが生じていない場合には、上記の(17)式のベクトル(Cosθ1g+Sinθ1g)と、上記の(18)式のベクトル(Cosθ1g−Sinθ1g)との大きさは等しくなる。
一方、図16に示すように、第2正弦波信号Sinθ1gと第2余弦波信号Cosθ1gにαの位相ずれが生じている場合には、上記の(17)式のベクトル(Cosθ1g+Sinθ1g)が、上記の(18)式のベクトル(Cosθ1g−Sinθ1g)よりも大きくなる。
本実施形態では、上記の(17)式の結果である第3正弦波信号VC+Sと、上記の(18)式の結果である第3余弦波信号VC−Sとに対し、ゲイン補正を行うことで、ゲイン補正後の第4正弦波信号V1C+Sのベクトルと第4余弦波信号V1C−Sのベクトルとの大きさが等しくなるように補正する。
これにより、第2正弦波信号Sinθ1g及び第2余弦波信号Cosθ1gの位相ずれαが補正される。
第2正弦波ゲイン補正部1731は、第3正弦波信号VC+Sのゲインを補正した第4正弦波信号V1C+Sを出力する。
第2余弦波ゲイン補正部1732は、第3余弦波信号VC−Sのゲインを補正した第4余弦波信号V1C−Sを出力する。
図17は、第2ゲイン補正部の等価ブロックの一例を示す図である。図18は、第2ゲイン補正部の図17に示す等価ブロックにおける第3正弦波信号及び第3余弦波信号の最大値又は最小値の検出概念を説明する図である。
第2ゲイン補正部173は、第3余弦波信号VC−Sがゼロ電位となる第3余弦波信号VC−Sのゼロ点を検出する。
第2正弦波ゲイン補正部1731は、第3余弦波信号VC−Sのゼロ点検出時における第3正弦波信号VC+Sの値が0以上(VC+S≧0)であるとき、当該第3正弦波信号VC+Sの値を第3正弦波信号VC+Sの最大値MAX(VC+S)として検出し、第3余弦波信号VC−Sのゼロ点検出時における第3正弦波信号VC+Sの値が0未満(VC+S<0)であるとき、当該第3正弦波信号VC+Sの値を第3正弦波信号VC+Sの最小値MIN(VC+S)として検出する(図18参照)。
第2正弦波ゲイン補正部1731は、下記(19)式及び(20)式を用いて、第3正弦波信号VC+Sのゲイン補正を行い、正弦波信号V1C+SU及び正弦波信号V1C+SLを求める。
V1C+SU=VC+S×(1/(MAX(VC+S)))・・・(19)
V1C+SL=VC+S×((−1)/(MIN(VC+S)))・・・(20)
そして、第2正弦波ゲイン補正部1731は、第3正弦波信号VC+Sの値が0以上であるとき、正弦波信号V1C+SUを第4正弦波信号V1C+Sとし、第3正弦波信号VC+Sの値が0未満であるとき、正弦波信号V1C+SLを第4正弦波信号V1C+Sとする。
すなわち、第2正弦波ゲイン補正部1731は、第3正弦波信号VC+Sの値が0以上であるとき、下記の(19’)式を用いて、第4正弦波信号V1C+Sを算出し、第3正弦波信号VC+Sの値が0未満であるとき、下記の(20’)式を用いて、第4正弦波信号V1C+Sを算出する。
V1C+S=VC+S×(1/(MAX(VC+S)))・・・(19’)
V1C+S=VC+S×((−1)/(MIN(VC+S)))・・・(20’)
これにより、第3正弦波信号VC+Sのゲインが補正された第4正弦波信号V1C+Sが得られる。
また、第2ゲイン補正部173は、第3正弦波信号VC+Sがゼロ電位となる第3正弦波信号VC+Sのゼロ点を検出する。
第2余弦波ゲイン補正部1732は、第3正弦波信号VC+Sのゼロ点検出時における第3余弦波信号VC−Sの値が0以上(VC−S≧0)であるとき、当該第3余弦波信号VC−Sの値を第3余弦波信号VC−Sの最大値MAX(VC−S)として検出し、第3正弦波信号VC+Sのゼロ点検出時における第3余弦波信号VC−Sの値が0未満(VC−S<0)であるとき、当該第3余弦波信号VC−Sの値を第3余弦波信号VC−Sの最小値MIN(VC−S)として検出する(図18参照)。
第2余弦波ゲイン補正部1732は、下記(21)式及び(22)式を用いて、第3余弦波信号VC−Sのゲイン補正を行い、余弦波信号V1C−SU及び余弦波信号V1C−SLを求める。
V1C−SU=VC−S×(1/(MAX(VC−S)))・・・(21)
V1C−SL=VC−S×((−1)/(MIN(VC−S)))・・・(22)
そして、第2余弦波ゲイン補正部1732は、第3余弦波信号VC−Sの値が0以上であるとき、余弦波信号V1C−SUを第4余弦波信号V1C−Sとし、第3余弦波信号VC−Sの値が0未満であるとき、余弦波信号V1C−SLを第4余弦波信号V1C−Sとする。
すなわち、第2余弦波ゲイン補正部1732は、第3余弦波信号VC−Sの値が0以上であるとき、下記の(21’)式を用いて、第4余弦波信号V1C−Sを算出し、第3余弦波信号VC−Sの値が0未満であるとき、下記の(22’)式を用いて、第4余弦波信号V1C−Sを算出する。
V1C−S=VC−S×(1/(MAX(VC−S)))・・・(21’)
V1C−S=VC−S×((−1)/(MIN(VC−S)))・・・(22’)
これにより、第3余弦波信号VC−Sのゲインが補正された第4余弦波信号V1C−Sが得られる。
角度算出部174は、逆正接演算部1741と、象限判定部1742と、モータ電気角演算部1743と、回転数演算部1744と、を備えている。
逆正接演算部1741は、下記(23)式を用いて、−90deg<θ1h<+90degの範囲内における角度θ1hを算出する。
θ1h=arctan(V1C+S/V1C−S)・・・(23)
象限判定部1742は、逆正接演算部1741によって算出された−90deg<θ1h<+90degの範囲内における角度θ1hを、0deg<θ1<360degの範囲内におけるモータ20の回転角θ1に変換する。また、象限判定部1742は、第2ゲイン補正部173によって遅れた位相45degだけ進ませる。
象限判定部1742は、第4余弦波信号V1C−Sが0以上(V1C−S≧0)であるとき、下記(24)式を用いて、0deg<θ1<360degの範囲内におけるモータ20の回転角θ1を算出する。
θ1=θ1h−45deg・・・(24)
また、象限判定部1742は、第4余弦波信号V1C−Sが0未満(V1C−S<0)であるとき、下記(25)式を用いて、0deg<θ1<360degの範囲内におけるモータ20の回転角θ1を算出する。
θ1=(θ1h+180deg)−45deg・・・(25)
モータ電気角演算部1743は、象限判定部1742によって算出されたモータ20の回転角θ1に基づき、モータ20の磁極対数に対応する電気角θ2を算出する。モータ20の磁極対数が4つである場合、回転角θ1を4分割して、電流制御開始位置との差分を補正し4周期分の電気角θ2を算出する。
回転数演算部1744は、モータ20の回転角θ1に基づき、モータ20の回転数ωを算出する。具体的に、回転数演算部1744は、例えば、モータ20の回転角θ1の1ms単位の変化量を参照して、モータ20の回転数ωを算出する。このとき、例えば、後述する回転角検出処理における処理周期、換言すれば、差分演算部171の前段におけるA/D変換処理のサンプリング周期が250μsである場合、4周期分のモータ20の回転角θ1を参照する。モータ20の回転数ωを算出する際の単位時間は、1ms単位に限定されない。
次に、本実施形態に係る回転角検出装置200における回転角検出処理について説明する。図19は、実施形態に係る回転角検出装置における回転角検出処理手順の一例を示すフローチャートである。
本実施形態では、車両を実際に走行させる実運用時にリアルタイムで回転角検出装置200のキャリブレーションを行う。これにより、温度ドリフトや経時変化によって検出精度が低下することを抑制することができ、高い検出精度を維持することができる。以下、上述した実運用時におけるリアルタイムキャリブレーションについて説明する。
図20は、EEPROMに記憶される各情報の一例を示す図である。
EEPROM104(第1記憶部)には、例えば常温(例えば、25度)における、第1正弦波信号Sinθ1fの最大値MAX(Sinθ1f)及び第1余弦波信号Cosθ1fの最大値MAX(Cosθ1f)の初期値MAX1Ref、第1正弦波信号Sinθ1fの最小値MIN(Sinθ1f)及び第1余弦波信号Cosθ1fの最小値MIN(Cosθ1f)の初期値MIN1Ref、第3正弦波信号VC+Sの最大値MAX(VC+S)及び第3余弦波信号VC−Sの最大値MAX(VC−S)の初期値MAX2Ref、第3正弦波信号VC+Sの最小値MIN(VC+S)及び第3余弦波信号VC−Sの最小値MIN(VC−S)の初期値MIN2Refが記憶されている。
また、EEPROM104(第1記憶部)には、第1正弦波信号Sinθ1fの最大値MAX(Sinθ1f)及び第1余弦波信号Cosθ1fの最大値MAX(Cosθ1f)の上限値MAX1Lim_H及び下限値MAX1Lim_L、第1正弦波信号Sinθ1fの最小値MIN(Sinθ1f)及び第1余弦波信号Cosθ1fの最小値MIN(Cosθ1f)の上限値MIN1Lim_H及び下限値MIN1Lim_Lが記憶されている。
また、EEPROM104(第1記憶部)には、正相正弦波信号Sinθ1+、逆相正弦波信号Sinθ1−、正相余弦波信号Cosθ1+、及び逆相余弦波信号Cosθ1−の上限閾値Lim_H及び下限閾値Lim_L、正弦波信号オフセット電圧DifSin1及び余弦波信号オフセット電圧DifCos1の上限閾値DifLim_H及び下限閾値DifLim_L、モータ20の回転数ωの上限閾値RS_Hが記憶されている。
なお、EEPROM104に記憶される各情報は、数値データであっても良いし、デジタルデータ等の離散値であっても良い。
実運用時において、CPU101は、イグニッションスイッチ11から送信されたイグニッション信号を受信すると、EEPROM104(第1記憶部)に記憶されたMAX1Ref、MIN1Ref、MAX2Ref、MIN2Refを読み出し、RAM102(第2記憶部)に書き込む。このとき、RAM102(第2記憶部)には、MAX1Refがそれぞれ第1正弦波信号Sinθ1fの最大値MAX(Sinθ1f)及び第1余弦波信号Cosθ1fの最大値MAX(Cosθ1f)の値として書き込まれ、MIN1Refがそれぞれ第1正弦波信号Sinθ1fの最小値MIN(Sinθ1f)及び第1余弦波信号Cosθ1fの最小値MIN(Cosθ1f)の値として書き込まれ、MAX2Refがそれぞれ第3正弦波信号VC+Sの最大値MAX(VC+S)及び第3余弦波信号VC−Sの最大値MAX(VC−S)の値として書き込まれ、MIN2Refがそれぞれ第3正弦波信号VC+Sの最小値MIN(VC+S)及び第3余弦波信号VC−Sの最小値MIN(VC−S)の値として書き込まれる。
本実施形態において、回転角検出装置200における回転角検出処理は、例えば、250μs毎に実施される。すなわち、差分演算部171の前段におけるA/D変換処理のサンプリング周期は250μsである。なお、差分演算部171の前段におけるA/D変換処理のサンプリング周期は一例であって、250μsに限定されない。
図19に示す回転角検出処理において、位置検出部17は、まず、入力異常判定処理を行う(ステップS1)。図21は、入力異常判定処理の一例を示すフローチャートである。
位置検出部17は、位置検出センサ25から出力される差動正弦波信号(正相正弦波信号Sinθ1+、逆相正弦波信号Sinθ1−)及び差動余弦波信号(正相余弦波信号Cosθ1+、逆相余弦波信号Cosθ1−)をサンプリング処理して取得する(ステップS10)。
差分演算部171は、EEPROM104から正相正弦波信号Sinθ1+、逆相正弦波信号Sinθ1−、正相余弦波信号Cosθ1+、及び逆相余弦波信号Cosθ1−の上限閾値Lim_H及び下限閾値Lim_Lを読み出す。
正弦波差分演算部1711は、正相正弦波信号Sinθ1+の入力値が、下限閾値Lim_L以上であり、且つ、上限閾値Lim_H以下(Lim_L≦Sinθ1+≦Lim_H)であるか否かを判定する(ステップS11)。
正相正弦波信号Sinθ1+の入力値が、下限閾値Lim_L以上であり、且つ、上限閾値Lim_H以下(Lim_L≦Sinθ1+≦Lim_H)であるとき(ステップS11;Yes)、正弦波差分演算部1711は、正相正弦波信号Sinθ1+の入力値が正常と判定し、正相正弦波信号入力値異常検知フラグERR1−1をリセットする(ステップS11a)。
正相正弦波信号Sinθ1+の入力値が、下限閾値Lim_L未満であるか、又は、上限閾値Lim_Hよりも大きいとき(ステップS11;No)、正弦波差分演算部1711は、正相正弦波信号Sinθ1+の入力値異常と判定し、正相正弦波信号入力値異常検知フラグERR1−1をセットする(ステップS11b)。
続いて、正弦波差分演算部1711は、逆相正弦波信号Sinθ1−の入力値が、下限閾値Lim_L以上であり、且つ、上限閾値Lim_H以下(Lim_L≦Sinθ1−≦Lim_H)であるか否かを判定する(ステップS12)。
逆相正弦波信号Sinθ1−の入力値が、下限閾値Lim_L以上であり、且つ、上限閾値Lim_H以下(Lim_L≦Sinθ1−≦Lim_H)であるとき(ステップS12;Yes)、正弦波差分演算部1711は、逆相正弦波信号Sinθ1−の入力値が正常と判定し、逆相正弦波信号入力値異常検知フラグERR1−2をリセットする(ステップS12a)。
逆相正弦波信号Sinθ1−の入力値が、下限閾値Lim_L未満であるか、又は、上限閾値Lim_Hよりも大きいとき(ステップS12;No)、正弦波差分演算部1711は、逆相正弦波信号Sinθ1−の入力値異常と判定し、逆相正弦波信号入力値異常検知フラグERR1−2をセットする(ステップS12b)。
続いて、余弦波差分演算部1712は、正相余弦波信号Cosθ1+の値が、下限閾値Lim_L以上であり、且つ、上限閾値Lim_H以下(Lim_L≦Cosθ1+≦Lim_H)であるか否かを判定する(ステップS13)。
正相余弦波信号Cosθ1+の値が、下限閾値Lim_L以上であり、且つ、上限閾値Lim_H以下(Lim_L≦Cosθ1+≦Lim_H)であるとき(ステップS13;Yes)、余弦波差分演算部1712は、正相余弦波信号Cosθ1+の入力値が正常と判定し、正相余弦波信号入力値異常検知フラグERR2−1をリセットする(ステップS13a)。
正相余弦波信号Cosθ1+の値が、下限閾値Lim_L未満であるか、又は、上限閾値Lim_Hよりも大きいとき(ステップS13;No)、余弦波差分演算部1712は、正相余弦波信号Cosθ1+の入力値異常と判定し、正相余弦波信号入力値異常検知フラグERR2−1をセットする(ステップS13b)。
続いて、余弦波差分演算部1712は、逆相余弦波信号Cosθ1−の値が、下限閾値Lim_L以上であり、且つ、上限閾値Lim_H以下(Lim_L≦Cosθ1−≦Lim_H)であるか否かを判定する(ステップS14)。
逆相余弦波信号Cosθ1−の値が、下限閾値Lim_L以上であり、且つ、上限閾値Lim_H以下(Lim_L≦Cosθ1−≦Lim_H)であるとき(ステップS14;Yes)、余弦波差分演算部1712は、逆相余弦波信号Cosθ1−の入力値が正常と判定し、逆相余弦波信号入力値異常検知フラグERR2−2をリセットする(ステップS14a)。
逆相余弦波信号Cosθ1−の値が、下限閾値Lim_L未満であるか、又は、上限閾値Lim_Hよりも大きいとき(ステップS14;No)、余弦波差分演算部1712は、逆相余弦波信号Cosθ1−の入力値異常と判定し、逆相余弦波信号入力値異常検知フラグERR2−2をセットする(ステップS14b)。
続いて、差分演算部171は、EEPROM104から正弦波信号オフセット電圧DifSin1及び余弦波信号オフセット電圧DifCos1の上限閾値DifLim_H及び下限閾値DifLim_Lを読み出す。正弦波差分演算部1711は、上記(1)式を用いて、正弦波信号オフセット電圧DifSin1を算出する(ステップS15)。
正弦波差分演算部1711は、正弦波信号オフセット電圧DifSin1の値が、下限閾値DifLim_L以上であり、且つ、上限閾値DifLim_H以下(DifLim_L≦DifSin1≦DifLim_H)であるか否かを判定する(ステップS16)。
正弦波信号オフセット電圧DifSin1の値が、下限閾値DifLim_L以上であり、且つ、上限閾値DifLim_H以下(DifLim_L≦DifSin1≦DifLim_H)であるとき(ステップS16;Yes)、正弦波差分演算部1711は、正弦波信号オフセット電圧DifSin1のオフセット電圧値が正常と判定し、正弦波信号オフセット電圧値異常検知フラグERR3−1をリセットする(ステップS16a)。
正弦波信号オフセット電圧DifSin1の値が、下限閾値DifLim_L未満であるか、又は、上限閾値DifLim_Hよりも大きいとき(ステップS16;No)、正弦波差分演算部1711は、正弦波信号オフセット電圧DifSin1のオフセット電圧値異常と判定し、正弦波信号オフセット電圧値異常検知フラグERR3−1をセットする(ステップS16b)。
続いて、余弦波差分演算部1712は、上記(7)式を用いて、余弦波信号オフセット電圧DifCos1を算出する(ステップS17)。
余弦波差分演算部1712は、余弦波信号オフセット電圧DifCos1の値が、下限閾値DifLim_L以上であり、且つ、上限閾値DifLim_H以下(DifLim_L≦DifCos1≦DifLim_H)であるか否かを判定する(ステップS18)。
余弦波信号オフセット電圧DifCos1の値が、下限閾値DifLim_L以上であり、且つ、上限閾値DifLim_H以下(DifLim_L≦DifCos1≦DifLim_H)であるとき(ステップS18;Yes)、余弦波差分演算部1712は、余弦波信号オフセット電圧DifCos1のオフセット電圧値が正常と判定し、余弦波信号オフセット電圧値異常検知フラグERR3−2をリセットし(ステップS18a)、図19に示す回転角検出処理手順に戻る。
余弦波信号オフセット電圧DifCos1の値が、下限閾値DifLim_L未満であるか、又は、上限閾値DifLim_Hよりも大きいとき(ステップS18;No)、余弦波差分演算部1712は、余弦波信号オフセット電圧DifCos1のオフセット電圧値異常と判定し、余弦波信号オフセット電圧値異常検知フラグERR3−2をセットし(ステップS18b)、図19に示す回転角検出処理手順に戻る。
差分演算部171の正弦波差分演算部1711は、上述した(6’)式を用いて、第1正弦波信号Sinθ1fを算出し、差分演算部171の余弦波差分演算部1712は、上述した(12’)式を用いて、第1余弦波信号Cosθ1fを算出する(ステップS101)。
続いて、位置検出部17は、第1正弦波信号Sinθ1f及び第1余弦波信号Cosθ1fの最大値検出処理及び最小値検出処理を行う(ステップS2)。図22は、第1正弦波信号及び第1余弦波信号の最大値検出処理及び最小値検出処理の一例を示すフローチャートである。
第1ゲイン補正部172は、EEPROM104からモータ20の回転数ωの上限閾値RS_Hを読み出す。第1ゲイン補正部172の回転数閾値判定部1723は、モータ20の回転数ωが上限閾値RS_H以下(ω≦RS_H)であるか否かを判定する(ステップS20)。
モータ20の回転数ωが上限閾値RS_Hよりも大きいとき(ステップS20;No)、回転数閾値判定部1723は、モータ20の回転数ωが第1正弦波信号Sinθ1fの最大値MAX(Sinθ1f)及び最小値MIN(Sinθ1f)、第1余弦波信号Cosθ1fの最大値MAX(Cosθ1f)及び最小値MIN(Cosθ1f)の更新条件外と判定し、図19に示す回転角検出処理手順に戻る。すなわち、モータ20の回転数が第1正弦波信号Sinθ1fの最大値MAX(Sinθ1f)及び最小値MIN(Sinθ1f)、第1余弦波信号Cosθ1fの最大値MAX(Cosθ1f)及び最小値MIN(Cosθ1f)の更新条件外と判定した場合には、第1正弦波信号Sinθ1fの最大値MAX(Sinθ1f)及び最小値MIN(Sinθ1f)、第1余弦波信号Cosθ1fの最大値MAX(Cosθ1f)及び最小値MIN(Cosθ1f)の更新を行わない。
モータ20の回転数ωが上限閾値RS_H以下(ω≦RS_H)であるとき(ステップS20;Yes)、回転数閾値判定部1723は、モータ20の回転数ωが第1正弦波信号Sinθ1fの最大値MAX(Sinθ1f)及び最小値MIN(Sinθ1f)、第1余弦波信号Cosθ1fの最大値MAX(Cosθ1f)及び最小値MIN(Cosθ1f)の更新条件を満たすと判定し、第1正弦波信号Sinθ1fの最大値MAX(Sinθ1f)及び最小値MIN(Sinθ1f)、第1余弦波信号Cosθ1fの最大値MAX(Cosθ1f)及び最小値MIN(Cosθ1f)の更新を許可する。
続いて、第1ゲイン補正部172は、第1余弦波信号Cosθ1fのゼロ点(Cosθ1f=0)を検知する(ステップS21)。第1余弦波信号Cosθ1fのゼロ点を検知していない場合(ステップS21;No)、ステップS25の処理に移行する。
第1余弦波信号Cosθ1fのゼロ点を検知すると(ステップS21;Yes)、第1ゲイン補正部172は、第1余弦波信号Cosθ1fのゼロ点検出時における第1正弦波信号Sinθ1fの値が0以上(Sinθ1f≧0)であるか否かを判定する(ステップS22)。
第1余弦波信号Cosθ1fのゼロ点検出時における第1正弦波信号Sinθ1fの値が0以上(Sinθ1f≧0)であるとき(ステップS22;Yes)、第1ゲイン補正部172は、EEPROM104から第1正弦波信号Sinθ1fの最大値MAX(Sinθ1f)及び第1余弦波信号Cosθ1fの最大値MAX(Cosθ1f)の上限値MAX1Lim_H及び下限値MAX1Lim_Lを読み出し、第1正弦波信号Sinθ1fの値が、第1正弦波信号Sinθ1fの最大値の下限値MAX1Lim_L以上であり、且つ、第1正弦波信号Sinθ1fの最大値の上限値MAX1Lim_H以下(MAX1Lim_L≦Sinθ1f≦MAX1Lim_H)であるか否かを判定する(ステップS22a)。
第1正弦波信号Sinθ1fの値が、第1正弦波信号Sinθ1fの最大値の下限値MAX1Lim_L以上であり、且つ、第1正弦波信号Sinθ1fの最大値の上限値MAX1Lim_H以下(MAX1Lim_L≦Sinθ1f≦MAX1Lim_H)であるとき(ステップS22a;Yes)、第1ゲイン補正部172は、第1正弦波信号Sinθ1fの値を第1正弦波信号Sinθ1fの最大値MAX(Sinθ1f)としてRAM102上のデータを更新し(ステップS23a)、ステップS25の処理に移行する。
第1正弦波信号Sinθ1fの値が、第1正弦波信号Sinθ1fの最大値の下限値MAX1Lim_L未満であるか、又は、第1正弦波信号Sinθ1fの最大値の上限値MAX1Lim_Hよりも大きいとき(ステップS22a;No)、第1ゲイン補正部172の第1正弦波ゲイン補正部1721は、第1正弦波信号Sinθ1fの最大値異常と判定して正弦波信号最大値異常検知フラグERR4−1をセットし(ステップS24a)、ステップS25の処理に移行する。すなわち、第1正弦波信号Sinθ1fの最大値異常と判定した場合には、第1正弦波信号Sinθ1fの最大値MAX(Sinθ1f)の更新を行わない。
第1余弦波信号Cosθ1fのゼロ点検出時における第1正弦波信号Sinθ1fの値が0未満(Sinθ1f<0)であるとき(ステップS22;No)、第1ゲイン補正部172は、EEPROM104から第1正弦波信号Sinθ1fの最小値MIN(Sinθ1f)及び第1余弦波信号Cosθ1fの最小値MIN(Cosθ1f)の上限値MIN1Lim_H及び下限値MIN1Lim_Lを読み出し、第1正弦波信号Sinθ1fの値が、第1正弦波信号Sinθ1fの最小値の下限値MIN1Lim_L以上であり、且つ、第1正弦波信号Sinθ1fの最小値の上限値MIN1Lim_H以下(MIN1Lim_L≦Sinθ1f≦MIN1Lim_H)であるか否かを判定する(ステップS22b)。
第1正弦波信号Sinθ1fの値が、第1正弦波信号Sinθ1fの最小値の下限値MIN1Lim_L以上であり、且つ、第1正弦波信号Sinθ1fの最小値の上限値MIN1Lim_H以下(MIN1Lim_L≦Sinθ1f≦MIN1Lim_H)であるとき(ステップS22b;Yes)、第1ゲイン補正部172は、第1正弦波信号Sinθ1fの値を第1正弦波信号Sinθ1fの最小値MIN(Sinθ1f)としてRAM102上のデータを更新し(ステップS23b)、ステップS25の処理に移行する。
第1正弦波信号Sinθ1fの値が、第1正弦波信号Sinθ1fの最小値の下限値MIN1Lim_L未満であるか、又は、第1正弦波信号Sinθ1fの最小値の上限値MIN1Lim_Hよりも大きいとき(ステップS22b;No)、第1ゲイン補正部172の第1正弦波ゲイン補正部1721は、第1正弦波信号Sinθ1fの最小値異常と判定して正弦波信号最小値異常検知フラグERR4−2をセットし(ステップS24b)、ステップS25の処理に移行する。すなわち、第1正弦波信号Sinθ1fの最小値異常と判定した場合には、第1正弦波信号Sinθ1fの最小値MIN(Sinθ1f)の更新を行わない。
続いて、第1ゲイン補正部172は、第1正弦波信号Sinθ1fのゼロ点(Sinθ1f=0)を検知する(ステップS25)。第1正弦波信号Sinθ1fのゼロ点を検知していない場合(ステップS25;No)、図19に示す回転角検出処理手順に戻る。
第1正弦波信号Sinθ1fのゼロ点を検知すると(ステップS25;Yes)、第1ゲイン補正部172は、第1正弦波信号Sinθ1fのゼロ点検出時における第1余弦波信号Cosθ1fの値が0以上(Cosθ1f≧0)であるか否かを判定する(ステップS26)。
第1正弦波信号Sinθ1fのゼロ点検出時における第1余弦波信号Cosθ1fの値が0以上(Cosθ1f≧0)であるとき(ステップS26;Yes)、第1ゲイン補正部172は、EEPROM104から第1正弦波信号Sinθ1fの最大値MAX(Sinθ1f)及び第1余弦波信号Cosθ1fの最大値MAX(Cosθ1f)の上限値MAX1Lim_H及び下限値MAX1Lim_Lを読み出し、第1余弦波信号Cosθ1fの値が、第1余弦波信号Cosθ1fの最大値の下限値MAX1Lim_L以上であり、且つ、第1余弦波信号Cosθ1fの最大値の上限値MAX1Lim_H以下(MAX1Lim_L≦Cosθ1f≦MAX1Lim_H)であるか否かを判定する(ステップS26a)。
第1余弦波信号Cosθ1fの値が、第1余弦波信号Cosθ1fの最大値の下限値MAX1Lim_L以上であり、且つ、第1余弦波信号Cosθ1fの最大値の上限値MAX1Lim_H以下(MAX1Lim_L≦Cosθ1f≦MAX1Lim_H)であるとき(ステップS26a;Yes)、第1ゲイン補正部172は、第1余弦波信号Cosθ1fの値を第1余弦波信号Cosθ1fの最大値MAX(Cosθ1f)としてRAM102上のデータを更新し(ステップS27a)、図19に示す回転角検出処理手順に戻る。
第1余弦波信号Cosθ1fの値が、第1余弦波信号Cosθ1fの最大値の下限値MAX1Lim_L未満であるか、又は、第1余弦波信号Cosθ1fの最大値の上限値MAX1Lim_Hよりも大きいとき(ステップS26a;No)、第1ゲイン補正部172の第1余弦波ゲイン補正部1722は、第1余弦波信号Cosθ1fの最大値異常と判定して余弦波信号最大値異常検知フラグERR5−1をセットし(ステップS28a)、図19に示す回転角検出処理手順に戻る。すなわち、第1余弦波信号Cosθ1fの最大値異常と判定した場合には、第1余弦波信号Cosθ1fの最大値MAX(Cosθ1f)の更新を行わない。
第1正弦波信号Sinθ1fのゼロ点検出時における第1余弦波信号Cosθ1fの値が0未満(Cosθ1f<0)であるとき(ステップS26;No)、第1ゲイン補正部172は、EEPROM104から第1正弦波信号Sinθ1fの最小値MIN(Sinθ1f)及び第1余弦波信号Cosθ1fの最小値MIN(Cosθ1f)の上限値MIN1Lim_H及び下限値MIN1Lim_Lを読み出し、第1余弦波信号Cosθ1fの値が、第1余弦波信号Cosθ1fの最小値の下限値MIN1Lim_L以上であり、且つ、第1余弦波信号Cosθ1fの最小値の上限値MIN1Lim_H以下(MIN1Lim_L≦Cosθ1f≦MIN1Lim_H)であるか否かを判定する(ステップS26b)。
第1余弦波信号Cosθ1fの値が、第1余弦波信号Cosθ1fの最小値の下限値MIN1Lim_L以上であり、且つ、第1余弦波信号Cosθ1fの最小値の上限値MIN1Lim_H以下(MIN1Lim_L≦Cosθ1f≦MIN1Lim_H)であるとき(ステップS26b;Yes)、第1ゲイン補正部172は、第1余弦波信号Cosθ1fの値を第1余弦波信号Cosθ1fの最小値MIN(Cosθ1f)としてRAM102上のデータを更新し(ステップS27b)、図19に示す回転角検出処理手順に戻る。
第1余弦波信号Cosθ1fの値が、第1余弦波信号Cosθ1fの最小値の下限値MIN1Lim_L未満であるか、又は、第1余弦波信号Cosθ1fの最小値の上限値MIN1Lim_Hよりも大きいとき(ステップS26b;No)、第1ゲイン補正部172の第1余弦波ゲイン補正部1722は、第1余弦波信号Cosθ1fの最小値異常と判定して余弦波信号最小値異常検知フラグERR5−2をセットし(ステップS28b)、図19に示す回転角検出処理手順に戻る。すなわち、第1余弦波信号Cosθ1fの最小値異常と判定した場合には、第1余弦波信号Cosθ1fの最小値MIN(Cosθ1f)の更新を行わない。
図19に示す回転角検出処理手順に戻り、第1ゲイン補正部172の第1正弦波ゲイン補正部1721は、第1正弦波信号Sinθ1fの値が0以上(Sinθ1f≧0)であるか否かを判定する(ステップS102a)。
第1正弦波信号Sinθ1fの値が0以上(Sinθ1f≧0)であるとき(ステップS102a;Yes)、第1正弦波ゲイン補正部1721は、上述した(13’)式を用いて、第2正弦波信号Sinθ1gを算出する(ステップS103a)。
第1正弦波信号Sinθ1fの値が0未満(Sinθ1f<0)であるとき(ステップS102a;No)、第1正弦波ゲイン補正部1721は、上述した(14’)式を用いて、第2正弦波信号Sinθ1gを算出する(ステップS104a)。
第1ゲイン補正部172の第1余弦波ゲイン補正部1722は、第1余弦波信号Cosθ1fの値が0以上(Cosθ1f≧0)であるか否かを判定する(ステップS102b)。
第1余弦波信号Cosθ1fの値が0以上(Cosθ1f≧0)であるとき(ステップS102b;Yes)、第1余弦波ゲイン補正部1722は、上述した(15’)式を用いて、第2余弦波信号Cosθ1gを算出する(ステップS103b)。
第1余弦波信号Cosθ1fの値が0未満(Cosθ1f<0)であるとき(ステップS102b;No)、第1余弦波ゲイン補正部1722は、上述した(16’)式を用いて、第2余弦波信号Cosθ1gを算出する(ステップS104b)。
第2ゲイン補正部173の位相変換部1733は、上述した(17)式を用いて、第2正弦波信号Sinθ1gを位相変換した第3正弦波信号VC+Sを算出すると共に、上述した(18)式を用いて、第2余弦波信号Cosθ1gを位相変換した第3余弦波信号VC−Sを算出する(ステップS105)。
続いて、位置検出部17は、第3正弦波信号VC+S及び第3余弦波信号VC−Sの最大値検出処理及び最小値検出処理を行う(ステップS3)。図23は、第3正弦波信号及び第3余弦波信号の最大値検出処理及び最小値検出処理の一例を示すフローチャートである。
第2ゲイン補正部173は、第3余弦波信号VC−Sのゼロ点(VC−S=0)を検知する(ステップS31)。第3余弦波信号VC−Sのゼロ点を検知していない場合(ステップS31;No)、ステップS35の処理に移行する。
第3余弦波信号VC−Sのゼロ点を検知すると(ステップS31;Yes)、第2ゲイン補正部173は、第3余弦波信号VC−Sのゼロ点検出時における第3正弦波信号VC+Sの値が0以上(VC+S≧0)であるか否かを判定する(ステップS32)。
第3余弦波信号VC−Sのゼロ点検出時における第3正弦波信号VC+Sの値が0以上(VC+S≧0)であるとき(ステップS32;Yes)、第2ゲイン補正部173は、第3正弦波信号VC+Sの値を第3正弦波信号VC+Sの最大値MAX(VC+S)としてRAM102上のデータを更新し(ステップS33)、ステップS35の処理に移行する。
第3余弦波信号VC−Sのゼロ点検出時における第3正弦波信号VC+Sの値が0未満(VC+S<0)であるとき(ステップS32;No)、第2ゲイン補正部173は、第3正弦波信号VC+Sの値を第3正弦波信号VC+Sの最小値MIN(VC+S)としてRAM102上のデータを更新し(ステップS34)、ステップS35の処理に移行する。
続いて、第2ゲイン補正部173は、第3正弦波信号VC+Sのゼロ点(VC+S=0)を検知する(ステップS35)。第3正弦波信号VC+Sのゼロ点を検知していない場合(ステップS35;No)、図19に示す回転角検出処理手順に戻る。
第3正弦波信号VC+Sのゼロ点を検知すると(ステップS35;Yes)、第2ゲイン補正部173は、第3正弦波信号VC+Sのゼロ点検出時における第3余弦波信号VC−Sの値が0以上(VC−S≧0)であるか否かを判定する(ステップS36)。
第3正弦波信号VC+Sのゼロ点検出時における第3余弦波信号VC−Sの値が0以上(VC−S≧0)であるとき(ステップS36;Yes)、第2ゲイン補正部173は、第3余弦波信号VC−Sの値を第3余弦波信号VC−Sの最大値MAX(VC−S)としてRAM102上のデータを更新し(ステップS37)、図19に示す回転角検出処理手順に戻る。
第3正弦波信号VC+Sのゼロ点検出時における第3余弦波信号VC−Sの値が0未満(VC−S<0)であるとき(ステップS36;No)、第2ゲイン補正部173は、第3余弦波信号VC−Sの値を第3余弦波信号VC−Sの最小値MIN(VC−S)としてRAM102上のデータを更新し(ステップS38)、図19に示す回転角検出処理手順に戻る。
なお、上記のステップS3では、第3正弦波信号VC+Sの最大値MAX(VC+S)、第3正弦波信号VC+Sの最小値MIN(VC+S)、第3余弦波信号VC−Sの最大値MAX(VC−S)、及び第3余弦波信号VC−Sの最小値MIN(VC−S)を更新する例を示したが、第3正弦波信号VC+Sの最大値MAX(VC+S)、第3正弦波信号VC+Sの最小値MIN(VC+S)、第3余弦波信号VC−Sの最大値MAX(VC−S)、及び第3余弦波信号VC−Sの最小値MIN(VC−S)の値は、位相差の変化で変わるが、これは温度依存性が低く、経年変化も少ない。このため、第3正弦波信号VC+Sの最大値MAX(VC+S)及び第3余弦波信号VC−Sの最大値MAX(VC−S)を初期値MAX2Refとし、第3正弦波信号VC+Sの最小値MIN(VC+S)及び第3余弦波信号VC−Sの最大値MAX(VC−S)を初期値MIN2Refとして更新しない態様であっても良い。
図19に示す回転角検出処理手順に戻り、第2ゲイン補正部173の第2正弦波ゲイン補正部1731は、第3正弦波信号VC+Sの値が0以上(VC+S≧0)であるか否かを判定する(ステップS106a)。
第3正弦波信号VC+Sの値が0以上(VC+S≧0)であるとき(ステップS106a;Yes)、第2正弦波ゲイン補正部1731は、上述した(19’)式を用いて、第4正弦波信号V1C+Sを算出する(ステップS107a)。
第3正弦波信号VC+Sの値が0未満(VC+S<0)であるとき(ステップS106a;No)、第2正弦波ゲイン補正部1731は、上述した(20’)式を用いて、第4正弦波信号V1C+Sを算出する(ステップS108a)。
第2ゲイン補正部173の第2余弦波ゲイン補正部1732は、第3余弦波信号VC−Sの値が0以上(VC−S≧0)であるか否かを判定する(ステップS106b)。
第3余弦波信号VC−Sの値が0以上(VC−S≧0)であるとき(ステップS106b;Yes)、第2余弦波ゲイン補正部1732は、上述した(21’)式を用いて、第4余弦波信号V1C−Sを算出する(ステップS107b)。
第3余弦波信号VC−Sの値が0未満(VC−S<0)であるとき(ステップS106b;No)、第2余弦波ゲイン補正部1732は、上述した(22’)式を用いて、第4余弦波信号V1C−Sを算出する(ステップS108b)。
角度算出部174の逆正接演算部1741は、上述した(23)式を用いて、−90deg<θ1h<+90degの範囲内における角度θ1hを算出する(ステップS109)。
角度算出部174の象限判定部1742は、第4余弦波信号V1C−Sが0以上(V1C−S≧0)であるか否かを判定する(ステップS110)。
第4余弦波信号V1C−Sが0以上(V1C−S≧0)であるとき(ステップS110;Yes)、象限判定部1742は、上述した(24)式を用いて、0deg<θ1<360degの範囲内におけるモータ20の回転角θ1を算出する(ステップS111)。
第4余弦波信号V1C−Sが0未満(V1C−S<0)であるとき(ステップS110;No)、象限判定部1742は、上述した(25)式を用いて、0deg<θ1<360degの範囲内におけるモータ20の回転角θ1を算出する(ステップS112)。
モータ電気角演算部1743は、象限判定部1742によって算出されたモータ20の回転角θ1に基づき、モータ20の磁極対数に対応し、電流制御の基準点にオフセット調整した電気角θ2を算出する(ステップS113)。
以上のステップS1からS113までの処理を、所定のサンプリング周期(例えば、250μs)で繰り返し実行することで、リアルタイムでモータ20の磁極対数に対応する電気角θ2が補正されるので、温度ドリフトや経時変化によって検出精度が低下することを抑制することができ、高い検出精度を維持することができる。
なお、上述した例において、回転角検出装置200は、モータ20の電気角θ2を出力する態様について説明したが、図2及び図7に示すように、モータ20の回転角θ1を出力する態様であっても良い。
次に、実施形態に係る回転角検出装置200を用いた電動パワーステアリング装置100における回転角検出装置200の故障判定処理について説明する。
制御用コンピュータ110は、差分演算部171の正弦波差分演算部1711によってセット又はリセットされる正相正弦波信号入力値異常検知フラグERR1−1、逆相正弦波信号入力値異常検知フラグERR1−2、及び正弦波信号オフセット電圧値異常検知フラグERR3−1、を監視し、各異常検知フラグのセット検出回数をカウントすることによって、回転角検出装置200の故障を検知し、所定のエラー処理を行う機能を有している。
また、制御用コンピュータ110は、差分演算部171の余弦波差分演算部1712によってセット又はリセットされる正相余弦波信号入力値異常検知フラグERR2−1、逆相余弦波信号入力値異常検知フラグERR2−2、及び余弦波信号オフセット電圧値異常検知フラグERR3−2、を監視し、各異常検知フラグのセット検出回数をカウントすることによって、回転角検出装置200の故障を検知し、所定のエラー処理を行う機能を有している。
また、制御用コンピュータ110は、第1ゲイン補正部172の第1正弦波ゲイン補正部1721によってセット又はリセットされる正弦波信号最大値異常検知フラグERR4−1及び正弦波信号最小値異常検知フラグERR4−2、を監視し、各異常検知フラグのセット検出回数をカウントすることによって、回転角検出装置200の故障を検知し、所定のエラー処理を行う機能を有している。
また、制御用コンピュータ110は、第1ゲイン補正部172の第1余弦波ゲイン補正部1722によってセット又はリセットされる余弦波信号最大値異常検知フラグERR5−1及び余弦波信号最小値異常検知フラグERR5−2を監視し、各異常検知フラグのセット検出回数をカウントすることによって、回転角検出装置200の故障を検知し、所定のエラー処理を行う機能を有している。
図24は、位置検出センサのみを2つ設けた構成例を示す図である。図25は、モータ、位置検出センサ、及び位置検出部をそれぞれ2つ設けた構成例を示す図である。
制御用コンピュータ110が行うエラー処理としては、例えば、図24に示すように、2つの位置検出センサ25−1,25−2を設けた構成において、位置検出センサ25−1を用いて上述した回転角検出処理を実施しているときに故障判定した場合に、位置検出センサ25−2を用いて回転角検出処理を継続して行うことが考えられる。
また、例えば、図25に示すように、モータ20−1と位置検出センサ25−1と位置検出部17−1とを含めた駆動系300−1と、モータ20−2と位置検出センサ25−2と位置検出部17−2とを含めた駆動系300−2とを設けた構成において、通常は、駆動系300−1と駆動系300−2との両方で100%のアシスト制御を行っているが、駆動系300−1の回転角検出装置200−1において故障を検知した場合に、駆動系300−1での位置検出を停止し、駆動系300−2のみで50%のアシスト制御を継続することが考えられる。また、同様に、駆動系300−2の回転角検出装置200−2において故障を検知した場合に、駆動系300−2での位置検出を停止し、駆動系300−1のみで50%のアシスト制御を継続することが考えられる。
また、回転角検出処理が実施できなくなった場合に、アシスト制御を停止させることも考えられる。
なお、上述したエラー処理は一例であり、これらに限定されない。
以下、本実施形態に係る回転角検出装置200の故障判定処理について説明する。図26は、実施形態に係る回転角検出装置の故障判定処理手順の一例を示すフローチャートである。
以下の説明では、上述した正相正弦波信号入力値異常検知フラグERR1−1、逆相正弦波信号入力値異常検知フラグERR1−2、正弦波信号オフセット電圧値異常検知フラグERR3−1、正相余弦波信号入力値異常検知フラグERR2−1、逆相余弦波信号入力値異常検知フラグERR2−2、余弦波信号オフセット電圧値異常検知フラグERR3−2、正弦波信号最大値異常検知フラグERR4−1、正弦波信号最小値異常検知フラグERR4−2、余弦波信号最大値異常検知フラグERR5−1、及び、余弦波信号最小値異常検知フラグERR5−2を、「異常検知フラグERRx」と総称する。xは、異常検知フラグの数を示し、1からnまでの整数である。本実施形態では、上述した10個の異常検知フラグについて説明したが、回転角検出装置200の故障を示す他の異常検知フラグを含んでいても良い。また、異常検知フラグERRxのうちの何れか1つを示す場合には、「異常検知フラグERRp」と称する。pは1からnまでの整数である。
図26に示す故障判定処理において、制御用コンピュータ110は、まず、各異常検知フラグERRpを監視して回転角検出装置200の異常を検出する異常検出処理を行う(ステップS4)。図27は、異常検出処理の一例を示すフローチャートである。
制御用コンピュータ110は、異常検知フラグERRp毎に、図27に示す異常検出処理を実施する。制御用コンピュータ110のEEPROM104には、異常検知フラグERRp毎の連続発生回数Npの上限値(以下、単に「異常検知フラグERRp連続発生回数上限値」と称する)Npthが格納されている。
制御用コンピュータ110は、異常検知フラグERRpを監視し、異常検知フラグERRpがセットされたか否かを判定する(ステップS41)。
異常検知フラグERRpがセットされていなければ(ステップS41;No)、制御用コンピュータ110は、異常検知フラグERRpの連続発生回数Npをリセット(Np=0)すると共に、異常検知フラグERRpの連続発生フラグ(以下、単に「ERRp連続発生フラグ」と称する)をリセットし(ステップS42)、ステップS41の処理を繰り返し行う。
異常検知フラグERRpがセットされていれば(ステップS41;Yes)、制御用コンピュータ110は、異常検知フラグERRpの連続発生回数Npをインクリメント(Np=Np+1)し(ステップS43)、続いて、異常検知フラグERRpの連続発生回数Npが異常検知フラグERRp連続発生回数上限値Npth以上(Np≧Npth)であるか否かを判定する(ステップS44)。
異常検知フラグERRpの連続発生回数Npが異常検知フラグERRp連続発生回数上限値Npth未満(Np<Npth)であれば(ステップS44;No)、ステップS41の処理に戻る。
異常検知フラグERRpの連続発生回数Npが異常検知フラグERRp連続発生回数上限値Npth以上(Np≧Npth)であれば(ステップS44;Yes)、制御用コンピュータ110は、ERRp連続発生フラグをセットし(ステップS45)、図26に示す故障判定処理手順に戻る。
制御用コンピュータ110は、異常検知フラグERRxのうちの何れか1つ以上において、ERRp連続発生フラグがセットされたか否かを判定する(ステップS201)。ERRp連続発生フラグがセットされていなければ(ステップS201;No)、ステップS4の処理を繰り返し行う。
ERRp連続発生フラグがセットされていれば(ステップS201;Yes)、制御用コンピュータ110は、上述した所定のエラー処理を行い(ステップS202)、当該故障判定処理を終了する。
なお、異常検知フラグERRp連続発生回数上限値Npthの値は、異常検知フラグERRp毎に異なる値が設定されていても良いし、複数種の異常検知フラグERRpで同一の値を共有する態様であっても良い。
なお、上述した実施形態では、第1正弦波信号Sinθ1fの最大値MAX(Sinθ1f)、第1余弦波信号Cosθ1fの最小値MIN(Cosθ1f)、第1正弦波信号Sinθ1fの最小値MIN(Sinθ1f)、及び第1余弦波信号Cosθ1fの最大値MAX(Cosθ1f)の上限値、初期値、下限値、並びに、第3正弦波信号VC+Sの最大値MAX(VC+S)、第3正弦波信号VC+Sの最小値MIN(VC+S)、第3余弦波信号VC−Sの最大値MAX(VC−S)、第3余弦波信号VC−Sの最小値MIN(VC−S)の初期値、及び各異常検知フラグERRp連続発生回数上限値Npthの値は、EEPROM104(第1記憶部)に記憶される例を示したが、EEPROM104以外に第1記憶部を設け、この第1記憶部に記憶される態様であっても良い。第1記憶部の構成により本開示が限定されるものではない。
また、上述した実施形態では、上述した回転角検出処理において、第1正弦波信号Sinθ1fの最大値MAX(Sinθ1f)、第1余弦波信号Cosθ1fの最小値MIN(Cosθ1f)、第1正弦波信号Sinθ1fの最小値MIN(Sinθ1f)、第1余弦波信号Cosθ1fの最大値MAX(Cosθ1f)、第3正弦波信号VSの最大値MAX(VC+S)、第3正弦波信号VC+Sの最小値MIN(VC+S)、第3余弦波信号VCの最大値MAX(VC−S)、第3余弦波信号VC−Sの最小値MIN(VC−S)は、RAM102(第2記憶部)に記憶される例を示したが、RAM102以外に第2記憶部を設け、この第2記憶部に記憶される態様であっても良い。第2記憶部の構成により本開示が限定されるものではない。
また、上述した実施形態では、車両を実際に走行させる実運用時にリアルタイムで回転角検出装置200のキャリブレーションを行う例を示したが、これに併せて、電動パワーステアリング装置100の出荷前に、モータ20に位置検出センサ25が組み込まれた状態で、回転角検出装置200の初期キャリブレーションを行う構成であっても良い。
1 ハンドルホイール(ステアリング)
2 コラム軸
3 減速ギヤ
4a、4b ユニバーサルジョイント
10 トルクセンサ
11 イグニッションスイッチ
12 車速センサ
14 バッテリ
15 モータ駆動回路
16 モータ電流検出回路
17,17−1,17−2 位置検出部
20,20−1,20−2 モータ
20a モータシャフト
25,25−1,25−2 位置検出センサ
30 コントロールユニット(ECU)
31 アシスト機能部
31a 電流指令値算出部
31b 電流制御部
100 電動パワーステアリング(EPS)装置
101 CPU
102 RAM(第2記憶部)
103 ROM
104 EEPROM(第1記憶部)
105 インターフェース
106 A/D変換器
107 PWMコントローラ
110 制御用コンピュータ(MCU)
171 差分演算部
172 第1ゲイン補正部
173 第2ゲイン補正部
174 角度算出部
200,200−1,200−2 回転角検出装置
251 回転磁石
252 MRセンサ
300−1,300−2 駆動系
1711 正弦波差分演算部
1712 余弦波差分演算部
1721 第1正弦波ゲイン補正部
1722 第1余弦波ゲイン補正部
1723 回転数閾値判定部
1731 第2正弦波ゲイン補正部
1732 第2余弦波ゲイン補正部
1733 位相変換部
1741 逆正接演算部
1742 象限判定部
2 コラム軸
3 減速ギヤ
4a、4b ユニバーサルジョイント
10 トルクセンサ
11 イグニッションスイッチ
12 車速センサ
14 バッテリ
15 モータ駆動回路
16 モータ電流検出回路
17,17−1,17−2 位置検出部
20,20−1,20−2 モータ
20a モータシャフト
25,25−1,25−2 位置検出センサ
30 コントロールユニット(ECU)
31 アシスト機能部
31a 電流指令値算出部
31b 電流制御部
100 電動パワーステアリング(EPS)装置
101 CPU
102 RAM(第2記憶部)
103 ROM
104 EEPROM(第1記憶部)
105 インターフェース
106 A/D変換器
107 PWMコントローラ
110 制御用コンピュータ(MCU)
171 差分演算部
172 第1ゲイン補正部
173 第2ゲイン補正部
174 角度算出部
200,200−1,200−2 回転角検出装置
251 回転磁石
252 MRセンサ
300−1,300−2 駆動系
1711 正弦波差分演算部
1712 余弦波差分演算部
1721 第1正弦波ゲイン補正部
1722 第1余弦波ゲイン補正部
1723 回転数閾値判定部
1731 第2正弦波ゲイン補正部
1732 第2余弦波ゲイン補正部
1733 位相変換部
1741 逆正接演算部
1742 象限判定部
Claims (11)
- 正相正弦波信号と当該正相正弦波信号を位相反転した逆相正弦波信号とを含む差動正弦波信号、及び、正相余弦波信号と当該正相余弦波信号を位相反転した逆相余弦波信号とを含む差動余弦波信号を、モータの位置検出信号として出力する位置検出センサと、
前記位置検出信号に基づき、前記モータの位置を検出する位置検出部と、
記憶部と、
を備え、
前記位置検出部は、
前記正相正弦波信号と前記逆相正弦波信号との差分を第1正弦波信号として出力し、前記正相余弦波信号と前記逆相余弦波信号との差分を第1余弦波信号として出力する差分演算部と、
前記記憶部に記憶された前記第1正弦波信号の最大値又は最小値に基づき、前記第1正弦波信号のゲインを補正した第2正弦波信号を出力すると共に、前記記憶部に記憶された前記第1余弦波信号の最大値又は最小値に基づき、前記第1余弦波信号のゲインを補正した第2余弦波信号を出力する第1ゲイン補正部と、
前記第2余弦波信号と前記第2正弦波信号とを加算して第3正弦波信号を生成し、前記記憶部に記憶された前記第3正弦波信号の最大値又は最小値に基づき、前記第3正弦波信号のゲインを補正した第4正弦波信号を出力すると共に、前記第2余弦波信号から前記第2正弦波信号を減算して第3余弦波信号を生成し、前記記憶部に記憶された前記第3余弦波信号の最大値又は最小値に基づき、前記第3余弦波信号のゲインを補正した第4余弦波信号を出力する第2ゲイン補正部と、
前記第4正弦波信号及び前記第4余弦波信号に基づき、前記モータの回転角を算出すると共に、前記モータの回転角に基づき、前記モータの回転数を算出する角度算出部と、
を備え、
前記第1ゲイン補正部は、少なくとも前記モータの回転数に応じて、前記第1正弦波信号の最大値及び最小値、並びに、前記第1余弦波信号の最大値及び最小値を更新する
回転角検出装置。 - 前記第1ゲイン補正部は、
前記モータの回転数が、前記モータの回転数の上限閾値以下である場合に、前記記憶部に記憶された前記第1正弦波信号の最大値及び最小値、並びに、前記第1余弦波信号の最大値及び最小値を更新する
請求項1に記載の回転角検出装置。 - 前記第1ゲイン補正部は、
前記第1余弦波信号のゼロ点検出時において、前記第1正弦波信号の値が0以上であるときの前記第1正弦波信号の値を前記第1正弦波信号の最大値として前記記憶部に記憶し、
前記第1余弦波信号のゼロ点検出時において、前記第1正弦波信号の値が0未満であるときの前記第1正弦波信号の値を前記第1正弦波信号の最小値として前記記憶部に記憶し、
前記第1正弦波信号のゼロ点検出時において、前記第1余弦波信号の値が0以上であるときの前記第1余弦波信号の値を前記第1余弦波信号の最大値として前記記憶部に記憶し、
前記第1正弦波信号のゼロ点検出時において、前記第1余弦波信号の値が0未満であるときの前記第1余弦波信号の値を前記第1余弦波信号の最小値として前記記憶部に記憶する
請求項2に記載の回転角検出装置。 - 前記第1ゲイン補正部は、
前記第1余弦波信号のゼロ点検出時において、前記第1正弦波信号の値が0以上であって、前記第1余弦波信号の値が、前記第1余弦波信号の最大値の下限値以上上限値以下である場合に、当該第1正弦波信号の値を前記第1正弦波信号の最大値として前記記憶部に記憶し、
前記第1余弦波信号のゼロ点検出時において、前記第1正弦波信号の値が0未満であって、前記第1正弦波信号の値が、前記第1正弦波信号の最小値の下限値以上上限値以下である場合に、当該第1正弦波信号の値を前記第1正弦波信号の最小値として前記記憶部に記憶し、
前記第1正弦波信号のゼロ点検出時において、前記第1余弦波信号の値が0以上であって、前記第1余弦波信号の値が、前記第1余弦波信号の最大値の下限値以上上限値以下である場合に、当該第1余弦波信号の値を前記第1余弦波信号の最大値として前記記憶部に記憶し、
前記第1正弦波信号のゼロ点検出時において、前記第1余弦波信号の値が0未満であって、前記第1余弦波信号の値が、前記第1余弦波信号の最小値の下限値以上上限値以下である場合に、当該第1余弦波信号の値を前記第1余弦波信号の最小値として前記記憶部に記憶する
請求項2に記載の回転角検出装置。 - 前記差分演算部は、
前記正相正弦波信号が、前記正相正弦波信号の下限閾値未満であるか、又は、前記正相正弦波信号の上限閾値よりも大きい場合に、前記正相正弦波信号の入力値異常と判定し、
前記逆相正弦波信号が、前記逆相正弦波信号の下限閾値未満であるか、又は、前記逆相正弦波信号の上限閾値よりも大きい場合に、前記逆相正弦波信号の入力値異常と判定し、
前記正相余弦波信号が、前記正相余弦波信号の下限閾値未満であるか、又は、前記正相余弦波信号の上限閾値よりも大きい場合に、前記正相余弦波信号の入力値異常と判定し、
前記逆相余弦波信号が、前記逆相余弦波信号の下限閾値未満であるか、又は、前記逆相余弦波信号の上限閾値よりも大きい場合に、前記逆相余弦波信号の入力値異常と判定する
請求項1から請求項4の何れか一項に記載の回転角検出装置。 - 前記差分演算部は、
前記正相正弦波信号と前記逆相正弦波信号との加算値の半値である正弦波信号オフセット電圧が、前記正弦波信号オフセット電圧の下限閾値未満であるか、又は、前記正弦波信号オフセット電圧の上限閾値よりも大きい場合に、前記正弦波信号オフセット電圧のオフセット電圧値異常と判定し、
前記正相余弦波信号と前記逆相余弦波信号との加算値の半値である余弦波信号オフセット電圧が、前記余弦波信号オフセット電圧の下限閾値未満であるか、又は、前記余弦波信号オフセット電圧の上限閾値よりも大きい場合に、前記余弦波信号オフセット電圧のオフセット電圧値異常と判定する
請求項1から請求項5の何れか一項に記載の回転角検出装置。 - 前記第1ゲイン補正部は、
前記第1余弦波信号のゼロ点検出時において、前記第1正弦波信号の値が0以上であるときの前記第1正弦波信号の値が、前記第1正弦波信号の最大値の下限値未満であるか、又は、前記第1正弦波信号の最大値の上限値より大きい場合に、前記第1正弦波信号の最大値異常と判定し、
前記第1余弦波信号のゼロ点検出時において、前記第1正弦波信号の値が0未満であるときの前記第1正弦波信号の値が、前記第1正弦波信号の最小値の下限値未満であるか、又は、前記第1正弦波信号の最小値の上限値より大きい場合に、前記第1正弦波信号の最小値異常と判定し、
前記第1正弦波信号のゼロ点検出時において、前記第1余弦波信号の値が0以上であるときの前記第1余弦波信号の値が、前記第1余弦波信号の最大値の下限値未満であるか、又は、前記第1余弦波信号の最大値の上限値より大きい場合に、前記第1余弦波信号の最大値異常と判定し、
前記第1正弦波信号のゼロ点検出時において、前記第1余弦波信号の値が0未満であるときの前記第1余弦波信号の値が、前記第1余弦波信号の最小値の下限値未満であるか、又は、前記第1余弦波信号の最小値の上限値より大きい場合に、前記第1余弦波信号の最小値異常と判定する
請求項1から請求項6の何れか一項に記載の回転角検出装置。 - 前記第2ゲイン補正部は、
前記第3余弦波信号のゼロ点検出時において、前記第3正弦波信号の値が0以上であるとき、当該第3正弦波信号の値を前記第3正弦波信号の最大値として前記記憶部に記憶し、
前記第3余弦波信号のゼロ点検出時において、前記第3正弦波信号の値が0未満であるとき、当該第3正弦波信号の値を前記第3正弦波信号の最小値として前記記憶部に記憶し、
前記第3正弦波信号のゼロ点検出時において、前記第3余弦波信号の値が0以上であるとき、当該第3余弦波信号の値を前記第3余弦波信号の最大値として前記記憶部に記憶し、
前記第3正弦波信号のゼロ点検出時において、前記第3余弦波信号の値が0未満であるとき、当該第3余弦波信号の値を前記第3余弦波信号の最小値として前記記憶部に記憶する
請求項1から請求項7の何れか一項に記載の回転角検出装置。 - 請求項1から請求項8の何れか一項に記載の回転角検出装置を備え、
前記回転角を用いて、前記モータを駆動制御する
モータ制御装置。 - 請求項9に記載のモータ制御装置を備え、
前記モータは、ステアリングのコラム軸又はラックに設けられ、前記ステアリングの操舵力をトルク制御する
電動パワーステアリング装置。 - モータの位置検出信号として位置検出センサから出力される、正相正弦波信号と当該正相正弦波信号を位相反転した逆相正弦波信号とを含む差動正弦波信号、及び、正相余弦波信号と当該正相余弦波信号を位相反転した逆相余弦波信号とを含む差動余弦波信号に基づき、前記モータの位置を検出する回転角検出方法であって、
前記正相正弦波信号と前記逆相正弦波信号との差分を第1正弦波信号とするステップと、
前記正相余弦波信号と前記逆相余弦波信号との差分を第1余弦波信号とするステップと、
前記モータの回転数が、前記モータの回転数の上限閾値以下であるときの前記第1正弦波信号の最大値又は最小値に基づき、前記第1正弦波信号のゲインを補正して第2正弦波信号とするステップと、
前記モータの回転数が、前記モータの回転数の上限閾値以下であるときの前記第1余弦波信号の最大値又は最小値に基づき、前記第1余弦波信号のゲインを補正して第2余弦波信号とするステップと、
前記第2余弦波信号と前記第2正弦波信号とを加算して第3正弦波信号とするステップと、
前記第2余弦波信号から前記第2正弦波信号を減算して第3余弦波信号とするステップと、
前記第3正弦波信号の最大値又は最小値に基づき、前記第3正弦波信号のゲインを補正して第4正弦波信号とするステップと、
前記第3余弦波信号の最大値又は最小値に基づき、前記第3余弦波信号のゲインを補正して第4余弦波信号とするステップと、
前記第4正弦波信号及び前記第4余弦波信号に基づき、前記モータの回転角を算出するステップと、
を有する
回転角検出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018027270A JP2019144056A (ja) | 2018-02-19 | 2018-02-19 | 回転角検出装置、モータ制御装置、電動パワーステアリング装置、及び回転角検出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018027270A JP2019144056A (ja) | 2018-02-19 | 2018-02-19 | 回転角検出装置、モータ制御装置、電動パワーステアリング装置、及び回転角検出方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019144056A true JP2019144056A (ja) | 2019-08-29 |
Family
ID=67772145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018027270A Pending JP2019144056A (ja) | 2018-02-19 | 2018-02-19 | 回転角検出装置、モータ制御装置、電動パワーステアリング装置、及び回転角検出方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019144056A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021250917A1 (ja) | 2020-06-08 | 2021-12-16 | 日本精工株式会社 | 検出信号補正方法、モータ制御装置及び電動パワーステアリング装置 |
EP3957547A4 (en) * | 2020-06-08 | 2022-02-23 | NSK Ltd. | DETECTION SIGNAL CORRECTION METHOD, ENGINE CONTROL DEVICE AND ELECTRIC POWER STEERING |
-
2018
- 2018-02-19 JP JP2018027270A patent/JP2019144056A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021250917A1 (ja) | 2020-06-08 | 2021-12-16 | 日本精工株式会社 | 検出信号補正方法、モータ制御装置及び電動パワーステアリング装置 |
EP3957547A4 (en) * | 2020-06-08 | 2022-02-23 | NSK Ltd. | DETECTION SIGNAL CORRECTION METHOD, ENGINE CONTROL DEVICE AND ELECTRIC POWER STEERING |
CN114096324A (zh) * | 2020-06-08 | 2022-02-25 | 日本精工株式会社 | 检测信号修正方法、马达控制装置以及电动助力转向装置 |
US11338846B2 (en) | 2020-06-08 | 2022-05-24 | Nsk Ltd. | Detection signal correction method, motor control device, and electric power steering device |
CN114096324B (zh) * | 2020-06-08 | 2024-05-10 | 日本精工株式会社 | 检测信号修正方法、马达控制装置以及电动助力转向装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6455111B2 (ja) | 回転角検出装置 | |
CN100522721C (zh) | 电动式动力转向装置,及检测其角度检测器异常的方法 | |
JP5789911B2 (ja) | 回転角検出装置及び電動パワーステアリング装置 | |
JP6086205B2 (ja) | 位相差検出装置およびそれを備えた回転角検出装置 | |
WO2009091015A1 (ja) | モータ制御装置および電動パワーステアリング装置 | |
US10946894B2 (en) | Driver warning in electric power steering systems | |
US10298157B2 (en) | Brushless motor and electric power steering apparatus | |
JP5092760B2 (ja) | モータ制御装置および電動パワーステアリング装置 | |
JP6024969B2 (ja) | 回転角検出装置およびそれを備えた電動パワーステアリング装置 | |
JP2008220155A (ja) | モータ制御装置および電動パワーステアリング装置 | |
JP2010029028A (ja) | モータ制御装置 | |
JP6024971B2 (ja) | 回転角検出装置 | |
US20220089216A1 (en) | Rotation angle detection device, electric power steering device and method of controlling electric power steering device | |
JP2019144056A (ja) | 回転角検出装置、モータ制御装置、電動パワーステアリング装置、及び回転角検出方法 | |
JP6024970B2 (ja) | 回転角検出装置およびそれを備えた電動パワーステアリング装置 | |
JP2014219364A (ja) | 回転角検出装置 | |
JP2005218277A (ja) | ブラシレスモータの回転トルク方向検出装置 | |
JP2019124670A (ja) | 回転角検出装置、モータ制御装置、電動パワーステアリング装置、及び回転角検出方法 | |
CN112534706A (zh) | 位置推断方法、马达控制装置以及马达*** | |
CN112514238A (zh) | 位置推断方法、马达控制装置以及马达*** | |
JP6202302B2 (ja) | 回転角検出装置 | |
JP2014139054A (ja) | 電動パワーステアリング装置 | |
JP2014142322A (ja) | 回転角検出装置 | |
CN112544034A (zh) | 位置推断方法、马达控制装置以及马达*** | |
CN112534707A (zh) | 位置推断方法、马达控制装置以及马达*** |