(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-13
(45)【発行日】2024-02-21
(54)【発明の名称】回転角度演算装置の補正方法、回転角度演算装置、モータ制御装置、電動アクチュエータ製品及び電動パワーステアリング装置
(51)【国際特許分類】
H02P 6/16 20160101AFI20240214BHJP
G01B 7/30 20060101ALI20240214BHJP
G01D 5/245 20060101ALI20240214BHJP
B62D 6/00 20060101ALI20240214BHJP
B62D 5/04 20060101ALI20240214BHJP
B62D 101/00 20060101ALN20240214BHJP
B62D 113/00 20060101ALN20240214BHJP
B62D 119/00 20060101ALN20240214BHJP
【FI】
H02P6/16
G01B7/30 H
G01D5/245 110L
G01D5/245 R
B62D6/00
B62D5/04
B62D101:00
B62D113:00
B62D119:00
(21)【出願番号】P 2020095553
(22)【出願日】2020-06-01
【審査請求日】2023-03-16
(73)【特許権者】
【識別番号】000004204
【氏名又は名称】日本精工株式会社
(74)【代理人】
【識別番号】100103850
【氏名又は名称】田中 秀▲てつ▼
(74)【代理人】
【識別番号】100105854
【氏名又は名称】廣瀬 一
(74)【代理人】
【識別番号】100066980
【氏名又は名称】森 哲也
(72)【発明者】
【氏名】西岡 優介
(72)【発明者】
【氏名】青崎 義宏
(72)【発明者】
【氏名】山村 浩之
【審査官】島倉 理
(56)【参考文献】
【文献】特開平9-322583(JP,A)
【文献】特開2007-259558(JP,A)
【文献】国際公開第2019/142875(WO,A1)
【文献】特開2012-105515(JP,A)
【文献】特開2015-159709(JP,A)
【文献】特開2013-179771(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 6/16
G01B 7/30
G01D 5/245
B62D 6/00
B62D 5/04
B62D 101/00
B62D 113/00
B62D 119/00
(57)【特許請求の範囲】
【請求項1】
ブラシレスモータのロータの回転に応じてセンサから出力される正弦信号及び余弦信号に基づいて前記ロータの回転角度を演算する回転角度演算装置の補正方法であって、
前記正弦信号及び前記余弦信号のオフセット、振幅誤差及び位相誤差の少なくとも1つである信号誤差を補正し、
前記ロータが惰性で回転している期間の複数時刻において前記センサから出力され、前記信号誤差が補正された前記正弦信号及び前記余弦信号に基づいて、前記ロータの回転角度の測定値である測定角度を各々演算し、
前記測定角度に基づいて、前記ロータの回転角度の推定値である推定角度を演算し、
前記測定角度と前記推定角度との間の差分に基づいて第1補正値を演算し、
前記測定角度に基づいて前記ブラシレスモータを時計回り及び反時計回りに回転するように同一のトルク指令電流でそれぞれ駆動したときの、前記ロータの第1回転速度及び第2回転速度を測定し、
前記第1回転速度と前記第2回転速度との間の回転速度差が減少するように、前記測定角度の位相を補正する第2補正値を演算し、
前記第1補正値および前記第2補正値に基づいて、前記測定角度を補正する、
ことを特徴とする回転角度演算装置の補正方法。
【請求項2】
前記測定角度に基づいて前記ロータの角速度を演算し、
前記角速度に基づいて前記推定角度を演算する、
ことを特徴とする請求項1に記載の補正方法。
【請求項3】
前記ロータの回転に伴って変化する前記推定角度を、前記ロータのn分の1回転(nは自然数)の周期で変化する周期成分を含む変数として演算することを特徴とする請求項1に記載の補正方法。
【請求項4】
前記測定角度の移動平均値を演算し、
前記測定角度と前記移動平均値との差分を周波数解析することにより前記周期成分を演算し、
前記移動平均値に前記周期成分を加えて前記推定角度を演算する、
ことを特徴とする請求項3に記載の補正方法。
【請求項5】
前記ロータの運動方程式から導出される前記ロータの回転角度の理論値に前記周期成分が加算された前記推定角度を演算することを特徴とする請求項3に記載の補正方法。
【請求項6】
前記ロータがある角度位置にある時刻と、前記角度位置から前記ロータが複数回転した各々の時刻と、を含む複数時刻における前記測定角度の角速度を各々算出し、
前記複数時刻における前記測定角度と前記角速度とに基づいて前記推定角度を演算することを特徴とする請求項5に記載の補正方法。
【請求項7】
回転体の回転に応じてセンサから出力される検出信号に基づいて前記回転体の回転角度を演算する回転角度演算装置の補正方法であって、
前記回転体が惰性で回転している期間の複数時刻において前記センサから出力される前記検出信号に基づいて、前記回転体の回転角度の測定値である測定角度を各々演算し、
前記回転体の回転に伴って変化する前記回転体の回転角度の推定値である推定角度を、
前記回転体のn分の1回転(nは自然数)の周期で変化する周期成分を含む変数として、前記測定角度に基づいて演算し、
前記測定角度と前記推定角度との間の差分に基づいて前記測定角度を補正する、
ことを特徴とする回転角度演算装置の補正方法。
【請求項8】
ブラシレスモータのロータの回転に応じた正弦信号及び余弦信号を出力するセンサと、
前記正弦信号及び前記余弦信号のオフセット、振幅誤差及び位相誤差の少なくとも1つである信号誤差を補正する検出信号補正部と、
前記信号誤差が補正された前記正弦信号及び前記余弦信号に基づいて、前記ロータの回転角度の測定値である測定角度を演算する回転角度演算部と、
前記ロータが惰性で回転している期間の複数時刻において前記センサから出力された前記正弦信号及び前記余弦信号に基づいて各々演算された前記測定角度に基づいて、前記ロータの回転角度の推定値である推定角度を演算する推定角度演算部と、
前記測定角度と前記推定角度との間の差分に基づいて第1補正値を演算する第1補正値演算部と、
前記測定角度に基づいて前記ブラシレスモータを時計回り及び反時計回りに回転するように同一のトルク指令電流でそれぞれ駆動したときの、前記ロータの第1回転速度及び第2回転速度を測定する回転速度測定部と、
前記第1回転速度と前記第2回転速度との間の回転速度差が減少するように、前記測定角度の位相を補正する第2補正値を算出する第2補正値演算部と、
前記第1補正値および前記第2補正値に基づいて、前記測定角度を補正する角度補正部と、
を備えることを特徴とする回転角度演算装置。
【請求項9】
前記第1補正値及び前記第2補正値を記憶する記憶部を備えることを特徴とする請求項8に記載の回転角度演算装置。
【請求項10】
請求項8又は9に記載の回転角度演算装置と、
前記角度補正部によって補正された前記回転角度に応じて前記ブラシレスモータを駆動する駆動部と、
を備えることを特徴とするモータ制御装置。
【請求項11】
請求項10に記載のモータ制御装置と、
前記モータ制御装置によって制御されるブラシレスモータと、
を備えることを特徴とする電動アクチュエータ製品。
【請求項12】
請求項10に記載のモータ制御装置と、
前記モータ制御装置によって制御されるブラシレスモータと、
を備え、前記ブラシレスモータによって車両の操舵系に操舵補助力を付与することを特徴とする電動パワーステアリング装置。
【請求項13】
回転体の回転に応じた検出信号を出力するセンサと、
前記検出信号に基づいて前記回転体の回転角度の測定値である測定角度を演算する回転角度演算部と、
前記回転体が惰性で回転している期間の複数時刻において前記センサから出力された前記検出信号に基づいて各々演算された前記測定角度に基づいて、前記回転体の回転に伴って変化する前記回転体の回転角度の推定値である推定角度を、前記回転体のn分の1回転(nは自然数)の周期で変化する周期成分を含む変数として演算する推定角度演算部と、
前記測定角度と前記推定角度との間の差分に基づいて前記測定角度を補正する角度補正部と、
を備えることを特徴とする回転角度演算装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、回転角度演算装置の補正方法、回転角度演算装置、モータ制御装置、電動アクチュエータ製品及び電動パワーステアリング装置に関する。
【背景技術】
【0002】
モータのロータのような回転体の回転角度を演算する回転角度演算装置が知られている。例えば、下記特許文献1には、モータの回転角度を出力する回転角度センサが記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
モータのロータの回転角度に基づいてモータの駆動電流を制御する場合、回転角度をできるだけ精度良く測定することが好ましい。
しかしながら、測定に用いられるセンサによっては、回転角度の測定値に誤差が含まれることがある。測定値に含まれる誤差は、別途測定した既知の回転角度に基づいて較正することが除去できるが、この場合には回転体の回転角度を別途測定するための外部の測定手段が必要となる。
本発明は、このような問題に鑑みてなされたものであり、回転体であるロータの回転角度の測定値に含まれる誤差を、外部の測定手段を用いずに簡易な方法で補正することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために本発明の一態様によれば、ブラシレスモータのロータの回転に応じてセンサから出力される正弦信号及び余弦信号に基づいてロータの回転角度を演算する回転角度演算装置の補正方法が与えられる。この補正方法では、正弦信号及び余弦信号のオフセット、振幅誤差及び位相誤差の少なくとも1つである信号誤差を補正し、ロータが惰性で回転している期間の複数時刻においてセンサから出力され、信号誤差が補正された正弦信号及び余弦信号に基づいて、ロータの回転角度の測定値である測定角度を各々演算し、測定角度に基づいて、ロータの回転角度の推定値である推定角度を演算し、測定角度と推定角度との間の差分に基づいて第1補正値を演算し、測定角度に基づいてブラシレスモータを時計回り及び反時計回りに回転するように同一のトルク指令電流でそれぞれ駆動したときの、ロータの第1回転速度及び第2回転速度を測定し、第1回転速度と第2回転速度との間の回転速度差が減少するように、測定角度の位相を補正する第2補正値を演算し、第1補正値および第2補正値に基づいて測定角度を補正する。
【0006】
本発明の他の一態様によれば、回転体の回転に応じてセンサから出力される検出信号に基づいて回転体の回転角度を演算する回転角度演算装置の補正方法が与えられる。この補正方法では、回転体が惰性で回転している期間の複数時刻においてセンサから出力される検出信号に基づいて、回転体の回転角度の測定値である測定角度を各々演算し、測定角度に基づいて、回転体の回転に伴って変化する回転体の回転角度の推定値である推定角度を、回転体のn分の1回転(nは自然数)の周期で変化する周期成分を含む変数として、測定角度に基づいて演算し、測定角度と推定角度との間の差分に基づいて測定角度を補正する。
【0007】
本発明の更なる他の一態様による回転角度演算装置は、ブラシレスモータのロータの回転に応じた正弦信号及び余弦信号を出力するセンサと、正弦信号及び余弦信号のオフセット、振幅誤差及び位相誤差の少なくとも1つである信号誤差を補正する検出信号補正部と、信号誤差が補正された正弦信号及び余弦信号に基づいて、ロータの回転角度の測定値である測定角度を演算する回転角度演算部と、ロータが惰性で回転している期間の複数時刻においてセンサから出力された正弦信号及び余弦信号に基づいて各々演算された測定角度に基づいて、ロータの回転角度の推定値である推定角度を演算する推定角度演算部と、測定角度と推定角度との間の差分に基づいて第1補正値を演算する第1補正値演算部と、測定角度に基づいてブラシレスモータを時計回り及び反時計回りに回転するように同一のトルク指令電流でそれぞれ駆動したときの、ロータの第1回転速度及び第2回転速度を測定する回転速度測定部と、第1回転速度と第2回転速度との間の回転速度差が減少するように、測定角度の位相を補正する第2補正値を算出する第2補正値演算部と、第1補正値および第2補正値に基づいて、測定角度を補正する角度補正部と、を備える。
【0008】
本発明の更なる他の一形態によれば、上記の回転角度演算装置と、角度補正部によって補正された回転角度に応じてブラシレスモータを駆動する駆動部と、を備えるモータ制御装置が与えられる。
本発明の更なる他の一形態によれば、上記のモータ制御装置と、モータ制御装置によって制御されるブラシレスモータと、を備える電動アクチュエータ製品が与えられる。
本発明の更なる他の一形態によれば、上記のモータ制御装置と、モータ制御装置によって制御されるブラシレスモータと、を備え、ブラシレスモータによって車両の操舵系に操舵補助力を付与する電動パワーステアリング装置が与えられる。
【0009】
本発明の更なる他の一態様による回転角度演算装置は、回転体の回転に応じた検出信号を出力するセンサと、検出信号に基づいて回転体の回転角度の測定値である測定角度を演算する回転角度演算部と、回転体が惰性で回転している期間の複数時刻においてセンサから出力された検出信号に基づいて各々演算された測定角度に基づいて、回転体の回転に伴って変化する回転体の回転角度の推定値である推定角度を、回転体のn分の1回転(nは自然数)の周期で変化する周期成分を含む変数として演算する推定角度演算部と、測定角度と推定角度との間の差分に基づいて測定角度を補正する角度補正部と、を備える。
【発明の効果】
【0010】
本発明によれば、回転体であるロータの回転角度の測定値に含まれる誤差を、外部の測定手段を用いずに簡易な方法で補正できる。
【図面の簡単な説明】
【0011】
【
図1】実施形態のモータ制御装置の一例の概略構成図である。
【
図2】センサユニットの一例の概略を示す分解図である。
【
図3】
図1に示す制御装置の一例の機能構成図である。
【
図4】
図3に示す検出信号補正部の一例の機能構成図である。
【
図5】(a)~(c)は、それぞれ正弦信号及び余弦信号のオフセット誤差、振幅誤差、位相誤差の説明図である。
【
図7】モータのロータの回転角度基準とセンサユニットの回転角度基準との間の角度ずれ量の説明図である。
【
図8】
図3に示すモータ制御部の一例の機能構成図である。
【
図9】
図3に示す補正値演算部の一例の機能構成図である。
【
図10】(a)は測定角度に含まれる角度誤差の一例を示す図であり、(b)は(a)の角度誤差を含む測定角度の一例を示す図である。
【
図11】(a)は角度直線性誤差の演算方法の説明図であり、(b)は測定角度が360度変化する時間区間の説明図である。
【
図12】時計回り方向の回転速度と反時計回り方向の回転速度との間の回転速度差と角度ずれ量と間の関係の説明図である。
【
図13】(a)及び(b)は、回転速度差が生じる理由の説明図である。
【
図14】
図3に示す原点補正値演算部の第1例の機能構成図である。
【
図15】制御装置による補正データの演算方法の一例のフローチャートである。
【
図16】検出信号補正値演算処理の一例のフローチャートである。
【
図17】第1実施形態の直線性補正値演算処理の一例のフローチャートである。
【
図18】第1実施形態の原点補正値演算処理の一例のフローチャートである。
【
図19】回転速度差算出ルーチンの一例のフローチャートである。
【
図20】変形例の制御装置の機能構成の一例の説明図である。
【
図21】(a)は惰性回転中の角速度変化の一例の説明図であり、(b)は惰性回転中の角度変化の一例の説明図であり、(c)は第1実施形態で用いる推定角度の角度誤差の一例の説明図である。
【
図22】(a)は測定角度から演算した角速度及び角速度平均値の一例を示す図であり、(b)は角速度平均値から演算した推定角度と測定角度の一例を示す図である。
【
図23】第3実施形態における直線性補正データの演算処理の一例のフローチャートである。
【
図24】(a)は測定角度の一例を示す図であり、(b)は(a)の測定角度の移動平均値を示す図であり、(c)は(a)の測定角度から(b)の移動平均値を減算した誤差成分を示す図である。
【
図25】(a)は
図24の(c)の誤差成分の周波数領域信号を示す図であり、(b)は(a)の周波数領域信号から抽出した5次の周期成分(高調波成分)を示す図であり、(c)は(b)の高調波成分を逆フーリエ変換して得られる誤差成分を示す図である。
【
図26】(a)は
図24の(a)の測定角度を示す図であり、(b)は
図24の(b)の移動平均値に
図25の(c)の誤差成分を加算した推定角度と、測定角度と推定角度との間の差分である角度直線性誤差を示す図である。
【
図27】第4実施形態における直線性補正データの演算処理の一例のフローチャートである。
【
図28】(a)は第5実施形態で用いる推定角度の説明図であり、(b)は推定角度に含まれる周期成分の一例を示す図である。
【
図30】
図3に示す原点補正値演算部の第2例の機能構成図である。
【
図31】第6実施形態の原点補正値演算処理の一例のフローチャートである。
【
図32】実施形態のモータ制御装置を備える電動パワーステアリング装置の一例の概要を示す構成図である。
【発明を実施するための形態】
【0012】
本発明の実施形態を、図面を参照しながら詳細に説明する。
なお、以下に示す本発明の実施形態は、本発明の技術的思想を具体化するための装置や方法を例示するものであって、本発明の技術的思想は、構成部品の構成、配置等を下記のものに特定するものではない。本発明の技術的思想は、特許請求の範囲に記載された請求項が規定する技術的範囲内において、種々の変更を加えることができる。
【0013】
(第1実施形態)
(構成)
図1及び
図2を参照する。実施形態のモータ制御装置は、ブラシレスDCモータやACサーボモータ等のブラシレスモータであるモータ10のロータの回転角度を検出する回転角度センサであるセンサユニット20と、センサユニット20が検出した回転角度に基づいてモータ10を駆動する制御装置(ECU:Electronic Control Unit)30を備える。センサユニット20及び制御装置30は、特許請求の範囲に記載の「回転角度演算装置」の一例である。
センサユニット20は、モータ10のロータの回転角度θに応じた正弦信号SIN=sinθと余弦信号COS=cosθを制御装置30へ出力する。以下、正弦信号SIN及び余弦信号COSを総称して「検出信号」と表記することがある。
【0014】
センサユニット20は、磁石21と、回路基板22と、支持部材23とを備える。
磁石21は、モータ10の回転軸11の出力端12と反対側の端部14に固定され、回転軸11の周方向に沿って配列された異なる磁極(S極及びN極)を有している。
回路基板22には磁束を検出するMR(磁気抵抗:Magnetic Resistance)センサ素子(Integrated Circuit)24が実装されている。回路基板22に複数のMRセンサ素子を実装して、各々のMRセンサ素子の検出信号に基づいて回転軸11を別個に算出する冗長系を構成してもよい。なお、モータ10のロータ及び回転軸11は特許請求の範囲に記載の「回転体」の一例である。
【0015】
回路基板22は図示しない締結ネジやかしめなどの固定手段によって支持部材23に固定されている。また、支持部材23も同様に図示しない固定手段によってモータ10に固定されている。
回路基板22が支持部材23に固定される位置と、支持部材23がモータ10に固定される位置は、回路基板22が支持部材23に固定され且つ支持部材23がモータ10に固定されたときに、支持部材23とモータ10との間に回路基板22が配置されて、MRセンサ素子24が磁石21に近接するように決定されている。
【0016】
モータ10のロータとともに回転軸11が回転し、回転軸11の回転に伴って磁石21が回転すると、これによりMRセンサ素子24は、回転角度に応じた磁石21の磁束変化を検出し、モータ10の回転軸11の回転に応じた検出信号を出力する。
例えば、MRセンサ素子24は、モータ10の回転軸11の回転角度θに応じた正弦信号SINと余弦信号COSを、モータ10の回転軸11の回転に応じた検出信号として出力する。
なお、センサユニット20は、MRセンサ以外のセンサを備えてもよい。センサユニット20は、回転軸11の回転角度θに応じた正弦信号と余弦信号を出力する様々な形式のセンサを採用できる。
【0017】
支持部材23は、例えば回路基板22を覆うカバーである。支持部材23は、例えば、
図2において下方に開口する凹部を有しており、回路基板22は支持部材23の凹部内に固定される。支持部材23をモータ10に固定すると、支持部材23の凹部の開口部がモータ10によって遮蔽され、支持部材23の凹部とモータ10によって画成される内部空間内に回路基板22が収納される。これにより、外部からの衝撃や異物から回路基板22が保護される。
支持部材23は、例えばアルミ合金などの熱伝導性のよい金属で形成されて、ヒートシンクとしての役割を果たしてよい。また、支持部材23はヒートシンクそのものであってもよい。
【0018】
センサユニット20とは別体の電子制御ユニット(ECU:Electronic Control Unit)である制御装置30は、ハーネス25によりセンサユニット20と接続される。モータ10の回転軸11の回転に応じてMRセンサ素子24から出力される検出信号は、ハーネス25を経由して制御装置30に伝達される。
制御装置30は、MRセンサ素子24による検出信号に基づいてモータ10の回転軸11の回転角度θを演算し、演算した回転角度θに応じてパワー半導体スイッチング素子を制御して、モータ10を駆動する。
【0019】
制御装置30は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)等のプロセッサ31と、メモリ等である記憶装置32と、アナログディジタル変換器(ADC:Analog-Digital Converter)33及び34と、駆動回路35と、電流センサ36と、I/F(インタフェース)回路37を備える。
以下に説明する制御装置30の機能は、例えばプロセッサ31が、記憶装置32に格納されたコンピュータプログラムを実行することにより実現される。
【0020】
制御装置30は、プロセッサ31に加えて又は代えて、以下に説明する各情報処理を実行するための専用のハードウエアにより形成してもよい。
例えば、制御装置30は、汎用の半導体集積回路中に設定される機能的な論理回路を備えてもよい。例えば制御装置30は、フィールド・プログラマブル・ゲート・アレイ(FPGA:Field-Programmable Gate Array)等のプログラマブル・ロジック・デバイス(PLD:Programmable Logic Device)等を有していてもよい。
【0021】
上記のとおり、MRセンサ素子24は、モータ10の回転軸11とともに回転する磁石21の磁束を検出することにより、モータ10の回転軸11の回転角度θに応じた正弦信号SIN=sinθと余弦信号COS=cosθを出力する。
制御装置30は、ADC33及びADC34によってディジタル信号に変換された正弦信号SIN及び余弦信号COSを読み取る。
【0022】
制御装置30は、モータ10の制御を行う「通常モード」と、回転軸11の回転角度θの演算に用いる各種補正データの演算を行う「補正モード」の少なくとも2つの動作モードを有する。
通常モードにおいて制御装置30は、正弦信号SIN及び余弦信号COSに基づいてモータ10の回転軸11の回転角度θの測定値(以下「測定角度θm」と表記する)を演算する。さらに制御装置30は、測定角度θmを補正することにより補正後測定角度θcを演算し、補正後測定角度θcに応じて駆動回路35を制御する制御信号を生成する。
【0023】
駆動回路35は、プロセッサ31が生成した制御信号に基づいて、モータ10を駆動するモータ電流を供給する。駆動回路35は、例えばモータ電流をオンオフするスイッチング素子を備えるインバータであってよい。
電流センサ36は、モータ電流を検出する。本実施形態では、モータ10は3相モータであり、電流センサ36は、U相モータ電流Ium、V相モータ電流Ivm及びW相モータ電流Iwmを検出する。なお、本発明の適用対象は3相モータに限定されない。本発明は、様々な相数のモータに適用可能である。
プロセッサ31は、I/F回路37を経由して、U相モータ電流Ium、V相モータ電流Ivm及びW相モータ電流Iwmの検出値を読み取る。
【0024】
一方で、補正モードにおいて制御装置30は、補正データの演算するために正弦信号SIN、余弦信号COS、測定角度θmを収集する。
まず制御装置30は、モータ10を駆動して回転軸11を回転させる。制御装置30は、モータ10が回転している期間にMRセンサ素子24が出力する正弦信号SIN及び余弦信号COSを記憶装置32に格納する。
そして、制御装置30は、記憶装置32に格納した正弦信号SIN及び余弦信号COSに基づいて、MRセンサ素子24が出力する正弦信号SIN及び余弦信号COSを補正するための検出信号補正データCs1~Cs4を演算する。
【0025】
また、制御装置30は、モータ10の回転軸11の回転速度が一定の速度に達するまで、モータ10を駆動する。回転速度が一定の速度に達すると、モータ10の制御を解除して回転軸11を惰性回転させる。回転軸11の慣性モーメントをより大きくして惰性回転をより安定させるために、補正モードでは
図2に示すような慣性モーメント発生用の回転質量体40を回転軸11に締結してもよい。
【0026】
制御装置30は、惰性回転中の期間にMRセンサ素子24が出力する正弦信号SIN及び余弦信号COSに応じて測定角度θmを演算し、記憶装置32に格納する。
そして、制御装置30は、記憶装置32に格納した測定角度θmに基づいて、測定角度θmを補正して直線性を向上するための直線性補正データCLを演算する。
【0027】
また、制御装置30は、測定角度θmに基づいて、モータ10を時計回り及び反時計回りに回転するように同一のトルク指令電流でそれぞれ駆動する。
制御装置30は、モータ10が時計回りに回転したときの回転速度ωcと反時計回りに回転したときの回転速度ωccとの回転速度差Δω=ωc-ωccを算出する。
そして制御装置30は、回転速度差Δωに基づいて、測定角度θmとモータ10のロータの実際の位相(例えば、ロータの電気角)との間のずれを補正する原点補正データCOを求める。
【0028】
図3を参照して、制御装置30の機能構成の一例を説明する。制御装置30は、検出信号補正部50と、回転角度演算部51と、直線性補正部52と、原点補正部53と、モータ制御部54と、データ収集部55と、補正値演算部56と、原点補正値演算部57を備える。
まず、通常モードにおける制御装置30の動作を説明する。
検出信号補正部50は、補正値演算部56において演算された検出信号補正データCs1~Cs4に基づいて、正弦信号SIN及び余弦信号COSを補正する。検出信号補正データCs1~Cs4は、後述するとおり補正値演算部56により演算される。
【0029】
図4を参照する。検出信号補正部50は、SINオフセット補正部60と、COSオフセット補正部61と、COSゲイン補正部62と、加算器63と、減算器64と、位相誤差補正部65を備える。
SINオフセット補正部60及びCOSオフセット補正部61は、正弦信号SIN及び余弦信号COSから検出信号補正データCs1及びCs2を減算することによって、正弦信号SIN及び余弦信号COSのオフセット誤差(
図5の(a)参照)を補正する。
【0030】
COSゲイン補正部62は、余弦信号COSに検出信号補正データCs3を乗算することによって、正弦信号SINと余弦信号COSとの間の振幅誤差(
図5の(b)参照)を補正する。
加算器63は、正弦信号SINと余弦信号COSとの和信号(COS+SIN)を演算し、減算器64は正弦信号SINと余弦信号COSとの差信号(COS-SIN)を演算する。
位相誤差補正部65は、差信号(COS-SIN)に検出信号補正データCs4を乗算することによって、和信号(COS+SIN)及び差信号(COS-SIN)から、正弦信号SINと余弦信号COSとの間の位相誤差(
図5の(c)参照)の影響を除去する。
【0031】
図3を参照する。回転角度演算部51は、和信号(COS+SIN)及び差信号(COS-SIN)に基づいて、モータ10の回転軸11が0度から360度まで1回転する角度範囲の測定角度θm(θm=0度~360度)を演算する。
直線性補正部52は、補正モードにおいて演算された直線性補正データCLに基づいて測定角度θmを補正することにより、測定角度θmの直線性を補正する。直線性補正部52は、測定角度θmの直線性を補正した測定角度θc0を出力する。直線性補正データCLは、後述するとおり補正値演算部56により演算される。
【0032】
図6を参照して直線性補正データCLを説明する。実線は、モータ10の回転軸11が1回転する間の測定角度θmを示し、一点鎖線は、回転角度の所望の演算結果(検出結果)θdを示す。直線性補正データCLは、モータ10の回転軸11が1回転する間の測定角度θmの各値θm
iの各々に対する、演算結果θdと測定角度θm
iとの差分値(すなわち直線性誤差)である。
【0033】
図3を参照する。原点補正部53は、補正モードにおいて演算された原点補正データCOに基づいて、測定角度θc0とモータ10のロータの位相(例えば、ロータの電気角)との間のずれを補正して補正後測定角度θcを算出する。原点補正データCOは、後述するとおり原点補正値演算部57により演算される。
図7を参照して、測定角度θmとロータの位相との間のずれ(以下「角度ずれ量」と表記することがある)Δθoを説明する。実線は測定角度θmを示し、破線はモータ10のU相誘起電圧を示す。
図7は、4極対モータのU相誘起電圧波形を例として示している。
【0034】
例えば角度ずれ量Δθoは、ロータの回転角度が所定のロータ側回転角度基準であるときのロータの機械角θrmと、測定角度θmが所定のセンサ側回転角度基準であるときのロータの機械角θrcとの間の差分として与えられる(Δθo=θrc-θrm)。ロータ側回転角度基準は、ロータの所定の機械角や、例えば誘起電圧の立ち上がり点又は立ち下がり点(誘起電圧のゼロクロス点)、ロータの所定の電気角(例えば0[deg])であってよい。センサ側回転角度基準は、例えば所定の測定角度θm(例えば0[deg])であってよい。原点補正データCOは、例えば角度ずれ量Δθoであってよい。
【0035】
図3を参照する。原点補正部53は、直線性が補正された測定角度θc0から原点補正データCOを減算して補正後回転角度θc(θc=θc0-CO=θc0-Δθo)を算出する。
なお、本実施形態では、直線性補正部52の後段に原点補正部53を設け、測定角度θmの直線性を補正した後に、ロータの位相とのずれを補正した。これに代えて、原点補正部53の後段に直線性補正部52を設け、測定角度θmとロータの位相とのずれを補正した後に、直線性を補正してもよい。
【0036】
原点補正部53は、補正後回転角度θcをモータ制御部54へ出力する。モータ制御部54には、電流センサ36が検出したモータ電流Ium、Ivm及びIwmの検出値も入力される。
モータ制御部54は、補正後回転角度θcと、モータ電流Ium、Ivm及びIwmとに基づいて、駆動回路35を介してモータ10を駆動するための制御信号を生成する。
図8を参照してモータ制御部54の機能構成を説明する。モータ制御部54は、トルク指令値演算部70と、微分器71と、電流指令値演算部72と、3相/2相変換部73と、減算器74及び75と、PI(比例積分)制御部76及び77と、2相/3相変換部78と、PWM(Pulse Width Modulation)制御部79とを備える。
【0037】
通常モードにおいてトルク指令値演算部70は、モータ10の用途に応じて発生させる目標トルクのトルク指令値Trefを演算する。例えばモータ10が、電動パワーステアリング装置に設けられ車両の操舵系に操舵補助力を付与する場合には、トルク指令値演算部70は、操舵トルク及び車速に基づいてアシストマップを用いてトルク指令値Trefを演算する。
一方で補正モードでは、トルク指令値演算部70は、後述するようにデータ収集部55から出力される回転指示信号Srに基づくトルク指令値Trefを出力する。
【0038】
微分器71は、補正後回転角度θcを微分してモータ10の回転速度(回転角速度)ωeを算出する。
電流指令値演算部72は、トルク指令値Tref及び回転速度ωeを用いて、d軸電流指令値Idref及びq軸電流指令値Iqrefを算出する。
3相/2相変換部73は、補正後回転角度θcを用いてモータ電流Ium、Ivm及びIwm)を2相の電流に変換する。具体的には、3相のモータ電流を2相の電流であるd軸モータ電流Idm及びq軸モータ電流Iqmに変換する。
【0039】
減算器74は、d軸電流指令値Idrefとフィードバックされているd軸モータ電流値Idmとの偏差Id(=Idref-Idm)を演算する。減算器75は、q軸電流指令値Iqrefとフィードバックされているq軸モータ電流値Iqmとの偏差Iq(=Iqref-Iqm)を演算する。
PI制御部76は、d軸電流指令値Idrefとd軸モータ電流Idmとの偏差Idに基づいてd軸電圧指令値Vdrefを求める。同様に、PI制御部77は、q軸電流指令値Iqrefとq軸モータ電流Iqmとの偏差Iqに基づいてq軸電圧指令値Vqrefを求める。
【0040】
2相/3相変換部78は、補正後回転角度θcを用いて、d軸電圧指令値Vdref及びq軸電圧指令値Vqrefからなる2相の電圧を、例えば空間ベクトル変調(空間ベクトル変換)により、3相の電圧(U相電圧指令値Vuref、V相電圧指令値Vvref及びW相電圧指令値Vwref)に変換する。
PWM制御部79は、U相電圧指令値Vuref、V相電圧指令値Vvref及びW相電圧指令値Vwrefに基づいて、PMW制御により駆動回路35を制御する制御信号を生成する。
以上により、通常モードにおいて制御装置30は、モータ10の回転軸11の回転角度に応じてモータ10を駆動する。
【0041】
図3を参照する。制御装置30が補正モードに移行すると、データ収集部55は、モータ10を駆動する回転指示信号Srをモータ制御部54のトルク指令値演算部70(
図8参照)に出力し、回転軸11を回転させる。
そして、モータ10が回転している期間にMRセンサ素子24が出力する正弦信号SIN及び余弦信号COSを記憶装置32に格納する。正弦信号SIN及び余弦信号COSのオフセット誤差、振幅誤差及び位相誤差を検出するために、モータ10が1回転する期間に亘って正弦信号SIN及び余弦信号COSを収集するとよい。
【0042】
補正値演算部56は、記憶装置32に格納された正弦信号SIN及び余弦信号COSに基づいて検出信号補正データCs1~Cs4を演算する。
図9を参照する。補正値演算部56は、検出信号補正値演算部80を備える。
検出信号補正値演算部80は、記憶装置32に格納された正弦信号SIN及び余弦信号COSに基づいて、正弦信号SIN及び余弦信号COSのオフセット誤差を、検出信号補正データCs1及びCs2として演算する。
【0043】
例えば、正弦信号SIN及び余弦信号COSのn周期(nは自然数)の間の平均をオフセット誤差として演算してよい。
また、検出信号補正値演算部80は、正弦信号SINの振幅As及び余弦信号COSの振幅Acの比(As/Ac)を、検出信号補正データCs3として演算する。
また、検出信号補正値演算部80は、正弦信号SINと余弦信号COSとの位相誤差、つまり正弦信号SINと余弦信号COSとの基準位相差90度からのずれ量を、検出信号補正データCs4として演算する。
検出信号補正値演算部80は、演算した検出信号補正データCs1~Cs4を記憶する。例えば、検出信号補正値演算部80は、記憶装置32に確保された所定の記憶領域に検出信号補正データCs1~Cs4を記憶してよい。
【0044】
また、データ収集部55は、モータ10を一定の回転速度で回転させる回転指示信号Srをモータ制御部54のトルク指令値演算部70に出力して回転軸11を回転させる。このとき、
図2に示すような慣性モーメント発生用の回転質量体40を回転軸11に締結してもよい。
回転軸11の回転速度が一定の速度に達すると、データ収集部55は、モータ10の制御を解除して回転軸11を惰性回転させる。
そして、惰性回転中の期間中にMRセンサ素子24が出力する正弦信号SIN及び余弦信号COSのオフセット誤差、振幅誤差及び位相誤差を、検出信号補正部50が補正して得られた和信号(COS+SIN)及び差信号(COS-SIN)に基づいて、回転角度演算部51が演算した測定角度θmを、記憶装置32に格納する。
【0045】
データ収集部55は、
図6に示すような回転軸11の1回転に亘る直線性補正データCLを演算するために、少なくとも回転軸11の1回転に亘って測定角度θmを収集する。
また、データ収集部55は、回転軸11の複数回転に亘って測定角度θmを記憶装置32に収集してもよい。この場合に、データ収集部55は、測定角度θmの変化に基づいて回転軸11の回転数nrを演算し、回転軸11の複数回転に亘る角度範囲における回転角度(360度×nr+測定角度θm)を、測定角度θmとして記憶装置32に格納してよい。
【0046】
図9を参照する。補正値演算部56の直線性補正値演算部81は、記憶装置32に格納された測定角度θmに基づいて直線性補正データCLを演算する。
図10の(a)及び
図10の(b)を参照して、記憶装置32に格納された測定角度θmの一例を説明する。
いま、モータ10の回転軸11の0度から360度まで(すなわち1回転)の角度範囲において、
図10の(a)に示す角度誤差が、測定角度θmに含まれている場合を想定する。
【0047】
また、記憶装置32に、
図10の(b)に示す複数回転に亘る角度範囲の測定角度θmが格納されている場合を想定する。横軸は、測定角度θmの取得時刻(すなわち演算時刻)を示す。
測定角度θmが角度誤差を含んでいるため、モータ10の回転が滑らかであっても、
図10の(b)に示すように測定角度θmの波形は脈動を有している。
【0048】
図9を参照する。直線性補正値演算部81は、推定角度演算部82と、直線性誤差演算部83を備える。
推定角度演算部82は、記憶装置32に格納された測定角度θmに基づいて、回転軸11が惰性回転の期間中の各時刻における回転軸11の推定角度θeを演算する。推定角度θeは、回転軸11の回転に伴って変化する回転軸11の回転角度の推定値である。
例えば、推定角度演算部82は、回転軸11が惰性回転の期間中の回転軸11の角速度ωを演算する。
【0049】
図10の(b)を参照する。例えば推定角度演算部82は、記憶装置32に格納した測定角度θmの先頭データ部の角速度ω1を、惰性回転期間中の角速度ωとして演算してよい。
また例えば推定角度演算部82は、記憶装置32に格納した測定角度θmの先頭データ部の角速度ω1と後尾データ部の角速度ω2の平均を、惰性回転期間中の角速度ωとして演算してよい。
例えば、推定角度演算部82は、先頭データ部の複数の時刻で各々取得した測定角度θmに基づいて演算した角速度の平均値を角速度ω1としてよく、後尾データ部の複数の時刻で各々取得した測定角度θmに基づいて演算した角速度の平均値を角速度ω2としてよい。なお、先頭データ部及び後尾データ部の長さは、例えば回転軸11の1回転周期であってよい。
【0050】
推定角度演算部82は、惰性回転期間中の回転軸11が角速度ωで等角速度運動すると仮定して(すなわち、惰性回転期間中の回転軸11の角速度が一定の角速度ωであると仮定して)、惰性回転期間中の回転軸11の回転角度の推定角度θeを演算する。
具体的には、
図11の(a)の一点鎖線に示すような、原点(時刻t=0、回転角度=0)を通り一定角速度ωで変化する回転角度を示す理想直線を、惰性回転期間中の回転角度の推定角度θeとして演算する。
【0051】
図9を参照する。直線性誤差演算部83は、記憶装置32に格納した測定角度θmと推定角度θeと間の差分(θm-θe)を、角度直線性誤差θerとして演算する。
図11の(a)を参照する。直線性誤差演算部83は、測定角度θmと推定角度θeとの差分(θm-θe)である角度直線性誤差θerを、測定角度θmの1回転の角度範囲(0度~360度)に亘って演算する。
【0052】
図11の(b)を参照する。複数回転に亘る角度範囲の測定角度θmが記憶装置32に格納されている場合、直線性誤差演算部83は、測定角度θmが360度変化する時間区間T1、T2、…Tn毎に各々角度直線性誤差θer1、θer2、…θernを演算し、これらの平均を角度直線性誤差θerとしてよい。
直線性誤差演算部83は、演算した角度直線性誤差θerが所定の許容誤差範囲内か否かを判定する。
【0053】
図11の(a)を参照する。角度直線性誤差θerが許容誤差範囲内にない場合に、データ収集部55は再びモータ10の回転軸11を惰性回転させ、補正値演算部56は直線性補正データCLの演算をやり直す。
このとき、データ収集部55は、モータ制御部54を制御してモータ10を駆動し、回転軸11の回転速度が一定の速度に達してから惰性回転に移行する。惰性回転に移行するときの回転速度をより正確に判定できるようにするために、惰性回転に移行する前のモータ10の駆動において今回演算した角度直線誤差θerを直線性補正データCLとして反映してもよい。
【0054】
すなわち、モータ制御部54は、今回演算した直線性補正データCLにより補正された回転角度θcに応じてモータ10を駆動してよい。
一方で、角度直線性誤差θerが許容誤差範囲内である場合に、直線性誤差演算部83は、測定角度θmの各値θmiの各々について演算した角度直線性誤差θerを、測定角度θmiに対する直線性補正データCLとして記憶する。例えば、直線性誤差演算部83は、記憶装置32に確保された所定の記憶領域に直線性補正データCLを記憶してよい。
【0055】
図3を参照する。原点補正値演算部57は、回転角度演算部51が正弦信号SIN及び余弦信号COSから演算した測定角度θmに基づいて、測定角度θmとロータの位相との間の角度ずれを補正するための原点補正データCOを算出する。
以下、原点補正値演算部57による原点補正データCOの算出方法の概略を説明する。
【0056】
図12は、時計回り方向及び反時計回り方向に回転するようにモータ10を同一のトルク指令電流で駆動した場合のそれぞれの回転速度ωc及びωccの間の回転速度差Δω(Δω=ωcc-ωc)と、角度ずれ量Δθoとの関係の一例を示す図である。なお、回転速度ωcはモータ10が時計回り方向に回転する場合の回転速度を示し、回転速度ωccはモータ10が反時計回り方向に回転する場合の回転速度を示す。
【0057】
本願発明者らは、MRセンサ素子24の検出信号に基づいて演算した測定角度θmとモータ10のロータの位相との間に角度ずれがある場合には、角度ずれ量Δθoと回転速度差Δωとの間に相関があることに注目した。
図13の(a)及び
図13の(b)を参照して、角度ずれ発生時に回転速度差Δωが生じる理由について説明する。一点鎖線の座標軸は真のdq座標系の座標軸を示し、破線の座標軸は角度ずれが発生している場合のdq座標系の座標軸を示す。
【0058】
測定角度θmとロータの位相とが角度θ1だけずれていると、通常駆動の場合(
図13の(a)参照)には、時計回り方向のq軸電流指令値90(トルク指令電流)がcosθ1でベクトル92へ分解され、同様に、反時計回り方向のq軸電流指令値91(トルク指令電流)がベクトル93へ分解される。
時計回り方向のq軸電流(ベクトル92)と、反時計回り方向の-q軸電流(ベクトル93)の大きさは等しいため、回転速度差Δωは発生しない。
【0059】
一方で、弱め界磁等のために進角θ2で進角制御を行う場合には、
図13の(b)に示すように時計回り方向の電流指令値94がベクトル96へ分解され、反時計回り方向の電流指令値95がベクトル97へ分解される。この場合には、時計回り方向のq軸電流(ベクトル96)と、反時計回り方向の-q軸電流(ベクトル97)との大きさが異なるので回転速度差Δωが発生する。このとき、電流指令値94のq’軸成分、すなわち時計回り方向のトルク指令電流(q’軸電流指令値)と電流指令値95のq’軸成分、すなわち反時計回り方向のトルク指令値電流(q’軸電流指令値)は同一である。
【0060】
このように、MRセンサ素子24の検出信号に基づいて演算した測定角度θmとモータ10のロータの位相との間に角度ずれに起因して、時計回り方向の回転速度ωc及び反時計回り方向の回転速度ωccの間に回転速度差Δωが生じる。
したがって、原点補正値演算部57は、この回転速度差|Δω|が減少するように測定角度θmの位相を補正する原点補正データCOを算出する。
【0061】
具体的には、データ収集部55は、同じ大きさのトルク指令電流でモータ10を時計回り及び反時計回りに回転させる回転指示信号Srを、モータ制御部54のトルク指令値演算部70に出力する。モータ制御部54は、時計回り及び反時計回りのそれぞれの方向でモータ10を回転させる。
原点補正値演算部57は、モータ10が時計回りに回転しているときの回転速度ωcと、モータ10が反時計回りに回転しているときの回転速度ωccを測定し、回転速度ωcと回転速度ωccとの間の回転速度差|Δω|が減少するように原点補正データCOを算出する。
回転速度ωc及び回転速度ωccは、それぞれ特許請求の範囲に記載の「第1回転速度」及び「第2回転速度」の一例である。
【0062】
図14を参照して、原点補正値演算部57の機能構成を説明する。原点補正値演算部57は、微分器100と、回転速度差算出部101と、演算部102を備える。
微分器100は、測定角度θmを微分することにより、時計回りに回転するモータ10の回転速度ωcを算出する。このとき、モータ制御部54は、原点補正部53から出力される補正後回転角度θcに基づいて、所定のトルク指令値で(すなわち所定のq’軸電流指令値で)時計回りに回転するようにモータ10を駆動する。
初めて原点補正データCOを算出する際には、原点補正部53は、原点補正データCOの初期値(例えば0[deg])を用いて測定角度θc0を補正して補正後回転角度θcを出力する。
【0063】
その後に、微分器100は、測定角度θmを微分することにより、反時計回りに回転するモータ10の回転速度ωccを算出する。このときモータ制御部54は、モータ10を時計回りに回転した時と同じトルク指令値で(すなわちモータ10を時計回りに回転した時と同じq’軸電流指令値で)、反時計回りに回転するようにモータ10を駆動する。
また、上記において時計回り及び反時計回りにモータ10を回転させる際に、モータ制御部54は補正後回転角度θcに基づいて進角制御する。また、上記において時計回り及び反時計回りにモータ10を回転させる際に、モータ制御部54は回転速度に応じて弱め界磁のためのd軸電流値を設定して制御してよい。
なお、微分器100に代えて微分器71(
図8)を用いて、補正後回転角度θcを微分して回転速度ωc及び回転速度ωccを算出してもよい。また、時計回りの回転と反時計回り回転の順番を逆にしてもよい。
【0064】
回転速度差算出部101は、回転速度ωcと回転速度ωccとの間の回転速度差Δω=ωcc-ωcを算出する。
演算部102は、回転速度ωcと回転速度ωccとの間の回転速度差|Δω|が減少するように、原点補正データCOを算出する。
【0065】
例えば、
図12に示すように回転速度差Δωに対する角度ずれ量Δθoの特性が既知の場合には、回転速度差Δωに対する角度ずれ量Δθoの特性マップから、回転速度差Δωに対応する角度ずれ量Δθoを原点補正データCOとして取得してよい。
また、回転速度差Δωと角度ずれ量Δθoとの関係を線形近似し、回転速度差Δωに所定係数を乗算して原点補正データCOを算出してもよい。
原点補正値演算部57は、演算した原点補正データCOを記憶する。例えば、原点補正値演算部57は、記憶装置32に確保された所定の記憶領域に原点補正データCOを記憶してよい。
【0066】
また、回転速度ωc及び回転速度ωccの測定工程、回転速度差Δωの算出工程、及び原点補正データCOの算出工程からなる一連の工程を、複数回にわたって反復してもよい。また、これら一連の工程を、回転速度差Δωの大きさ|Δω|が所定の閾値T以下になるまで複数回にわたって反復してもよい。
【0067】
以下、上記一連の工程を複数回にわたって反復する場合の処理の例について説明する。以下の説明において、第i回目(iは自然数)に測定した時計回り方向の回転速度及び反時計回り方向の回転速度をそれぞれ回転速度ωci及びωcciと表記する。また、回転速度ωci及びωcciとの間の差分(ωcci-ωci)を第i回目の回転速度差Δωiと表記する。回転速度差Δωiに基づいて算出した原点補正データCOを第i回目の原点補正データCOiと表記する。
【0068】
1回目の原点補正データCO1を算出する際には、原点補正データCOの初期値(例えば0[deg])により測定角度θc0を補正して得られた補正後回転角度θcに基づいて、モータ10を時計回り方向及び反時計回り方向に回転させて回転速度ωc1と回転速度ωcc1を測定する。そして、回転速度ωc1と回転速度ωcc1との差分を、1回目の回転速度差Δω1として算出し、1回目の原点補正データCO1を演算する。原点補正値演算部57は、演算した原点補正データCO1を記憶する。
【0069】
その後、2回目またはそれ以降である第i回目の回転速度差Δωiを演算する際には、モータ制御部54は、第(i-1)回目に演算した原点補正データCO(i-1)で測定角度θc0を補正して得られた補正後回転角度θcに基づいて、時計回り方向及び反時計回り方向にモータ10を回転させる。
微分器100は、このときの回転速度を第i回目の回転速度ωciと回転速度ωcciとして演算し、回転速度差算出部101は差分(ωcci-ωci)を第i回目の回転速度差Δωiとして演算する。
【0070】
演算部102は、第i回目の回転速度差Δωiに基づいて角度ずれ量Δθoiを演算する。この角度ずれ量Δθoiは、前回求めた原点補正データCO(i-1)で測定角度θc0を補正して得られた補正後回転角度θcとロータの位相との間の角度ずれ量であるので、演算部102は、原点補正データCO(i-1)に角度ずれ量Δθoiを加算する補正を行うことにより、第i回目の原点補正データCOiを演算する。演算部102は、記憶していた第(i-1)回目の原点補正データCO(i-1)を、演算した原点補正データCOiで更新する。
【0071】
第i回目の原点補正データCOiの演算において角度ずれ量Δθoiを演算する際に、演算部102は、第i回目の回転速度差Δωiに固定の係数を乗算して角度ずれ量Δθoiを演算してもよい。
これに代えて演算部102は、回転速度差Δωiに可変係数αiを乗算して角度ずれ量Δθoiを演算してもよい。例えば演算部102は、回転速度差Δωの変化量に対する原点補正データCOの変化量の比(原点補正データCOの変化量/回転速度差Δωの変化量)を可変係数αiとして演算してよい。
【0072】
例えば、演算部102は、第(i-1)回目の回転速度差Δω(i-1)と第i回目の回転速度差Δωiとの間の変化量(Δωi-Δω(i-1))に対する、第(i-1)回目の測定においてモータ10を駆動する際の原点補正データCO(i-2)と第i回目の測定においてモータ10を駆動する際の原点補正データCO(i-1)との間の変化量(C(i-1)-C(i-2))の比((C(i-1)-C(i-2))/(Δωi-Δω(i-1)))を、可変係数αiとして演算してもよい。
なお、2回目の角度ずれ量Δθo2を演算する場合には、演算部102は、原点補正データCO(i-2)として原点補正データCOの初期値(例えば0[deg])を使用する。
【0073】
(動作)
次に、制御装置30による検出信号補正データCs1~Cs4、直線性補正データCL、原点補正データCOの演算方法の一例を説明する。
図15を参照する。ステップS1において制御装置30が補正モードに入ると、制御装置30は、検出信号補正データCs1~Cs4を演算するための検出信号補正値演算処理を実行する。検出信号補正値演算処理については
図16を参照して後述する。
【0074】
ステップS2において制御装置30は、直線性補正データCLを演算するための直線性補正値演算処理を行う。直線性補正値演算処理については
図17を参照して後述する。
ステップS3において制御装置30は、原点補正データCOを演算するための原点補正値演算処理を実行する。原点補正値演算処理については
図18及び
図19を参照して後述する。その後に処理は終了し、制御装置30は通常モードに戻る。
【0075】
図16を参照して検出信号補正値演算処理を説明する。ステップS10においてデータ収集部55は、回転指示信号Srをモータ制御部54に出力して、回転軸11を回転させる。
ステップS11においてデータ収集部55は、回転軸11の回転速度が所定範囲内であるか否かを判定する。回転速度が所定範囲内でない場合(ステップS11:N)に処理はステップS11に戻る。
【0076】
回転速度が所定範囲内である場合(ステップS11:Y)に処理はステップS12に進む。
ステップS12においてデータ収集部55は、MRセンサ素子24が出力する正弦信号SIN及び余弦信号COSを記憶装置32に格納する。補正値演算部56の検出信号補正値演算部80は、記憶装置32に格納された正弦信号SIN及び余弦信号COSに基づいて検出信号補正データCs1~Cs4を演算する。
検出信号補正値演算部80は、演算した検出信号補正データCs1~Cs4を記憶する。その後に検出信号補正値演算処理は終了する。
【0077】
次に、
図17を参照して直線性補正値演算処理を説明する。ステップS20においてデータ収集部55は、回転指示信号Srをモータ制御部54に出力して、モータ10の回転軸11の回転速度が一定の速度に達するまで、モータ10を駆動する。
ステップS21においてデータ収集部55は、回転軸11の回転速度が所定範囲内であるか否かを判定する。回転速度が所定範囲内でない場合(ステップS21:N)に処理はステップS21に戻る。回転速度が所定範囲内である場合に(ステップS21:Y)処理はステップS22に進む。
【0078】
ステップS22においてデータ収集部55は、モータ10の制御を解除して回転軸11を惰性回転させる。
ステップS23において回転角度演算部51は、検出信号補正部50により補正された正弦信号SINと余弦信号COSに基づいて測定角度θmを演算する。データ収集部55は、回転角度演算部51が演算した測定角度θmを記憶装置32に格納する。
【0079】
ステップS24において補正値演算部56の推定角度演算部82は、記憶装置32に格納された測定角度θmに基づいて、回転軸11の回転に伴って変化する回転軸11の回転角度の推定値である推定角度θeを演算する。
ステップS25において直線性誤差演算部83は、測定角度θmと推定角度θeの差分である角度直線性誤差θerを、直線性補正データCLとして演算する。
【0080】
ステップS26において直線性誤差演算部83は、角度直線性誤差θerが許容誤差範囲内であるか否かを判定する。角度直線性誤差θerが許容誤差範囲内である場合に(ステップS26:Y)処理はステップS28に進む。
角度直線性誤差θerが許容誤差範囲内でない場合(ステップS26:N)には、直線性補正データCLの演算をやり直す。
【0081】
この場合にはステップS27において、この後に実行するステップS20におけるモータ10の駆動のために、今回演算した直線性補正データCLを測定角度θmの補正に反映する。その後に処理はステップS20に戻る。
ステップS28において補正値演算部56は、今回演算した直線性補正データCLを、通常モードにおいて直線性補正部52が測定角度θmの補正に使用するために記憶する。その後に直線性補正値演算処理は終了する。
【0082】
次に、
図18を参照して原点補正値演算処理を説明する。
ステップS30においてモータ制御部54と原点補正部53と原点補正値演算部57は、時計回り方向の回転速度ωcと反時計回り方向の回転速度ωccの間の回転速度差Δωを演算する。ステップS30の回転速度差演算ルーチンの一例を
図19に示す。
【0083】
ステップS40において原点補正部53は、回転角度演算部51によって演算され、直線性補正部52によって直線性が補正された測定角度θc0を、現在記憶されている原点補正データCOで補正して、補正後回転角度θcを演算する。原点補正値演算処理を初めて実行する場合(まだ1回も原点補正データCOを演算していない場合)には、原点補正データCOの初期値(例えば0[deg])を記憶しておく。
モータ制御部54は、補正後回転角度θcに基づいて所定のq軸電流指令値で時計回り方向に弱め界磁等のための進角制御を行いモータ10を駆動する。
ステップS41において原点補正値演算部57の微分器100は、時計回り方向の回転速度ωcを演算する。
【0084】
ステップS42においてモータ制御部54は、補正後回転角度θcに基づいて、所定のq軸電流指令値で反時計回り方向に弱め界磁等のための進角制御を行いモータ10を駆動する。
ステップS43にて微分器100は、反時計回り方向の回転速度ωccを演算する。
ステップS44において回転速度差算出部101は、時計回り方向及び反時計回り方向の回転速度ωc及びωccの差分(ωcc-ωc)を、回転速度差Δωとして演算する。その後に回転速度差演算ルーチンは終了する。
【0085】
図18を参照する。ステップS31において原点補正値演算部57の演算部102は、回転速度差Δωに応じて原点補正データCOを演算する。演算部102は、演算した原点補正データCOを記憶する。
ステップS32において原点補正部53とモータ制御部54と原点補正値演算部57は、回転速度差Δωを演算する。ステップS32の処理は、ステップS30の回転速度差演算ルーチンと同様である。
【0086】
ステップS33において演算部102は、ステップS32で演算した回転速度差の大きさ|Δω|が所定閾値T以下であるか否かを判定する。回転速度差の大きさ|Δω|が所定閾値T以下でない場合(ステップS33:N)に処理はステップS34へ進む。
ステップS34において演算部102は、回転速度差Δωに応じて角度ずれ量Δθoを演算する。演算部102は、現在記憶されている原点補正データCOに角度ずれ量Δθoを加算して補正する。
【0087】
演算部102は、現在記憶されている原点補正データCOの値を、補正後の値で更新する。その後に処理はステップS32へ戻る。
回転速度差の大きさ|Δω|が所定閾値T以下である場合(ステップS33:Y)に原点補正値演算処理は終了する。
【0088】
(第1実施形態の効果)
(1)MRセンサ素子24は、モータ10のロータの回転に応じて正弦信号SIN及び余弦信号COSを出力する。
検出信号補正部50は、正弦信号SIN及び余弦信号COSのオフセット、振幅誤差及び位相誤差の少なくとも1つである信号誤差を補正する。
これにより、回転角度演算に用いる正弦信号SIN及び余弦信号COSの誤差を事前に低減できる。
【0089】
(2)回転角度演算部51は、MRセンサ素子24から出力され信号誤差が補正された正弦信号SIN及び余弦信号COSに基づいてロータの回転角度の測定値である測定角度θmを算出する。
補正値演算部56の推定角度演算部82は、ロータが惰性で回転している期間の複数時刻の正弦信号SIN及び余弦信号COSから演算された測定角度θmに基づいて、ロータの回転角度の推定値である推定角度θeを演算する。
【0090】
直線性誤差演算部83は、測定角度θmと推定角度θeとの間の差分θerに基づいて直線性補正データCLを演算し、直線性補正部52は、直線性補正データCLに基づいて測定角度θmを補正して得られる測定角度θc0を出力する。
これにより、回転角度演算装置によって演算された回転角度の直線性誤差を、外部の測定手段を用いずに簡易な方法で補正できる。
【0091】
(3)原点補正値演算部57の微分器100は、測定角度θmを補正して得られる補正後測定角度θcに基づいてモータ10を時計回り及び反時計回りに回転するように同一のトルク指令電流でそれぞれ駆動したときの、ロータの第1回転速度ωc及び第2回転速度ωccを測定する。演算部102は、第1回転速度ωc及び第2回転速度ωccとの間の回転速度差|Δω|が減少するように、測定角度θmの位相を補正する原点補正データCOを演算する。
【0092】
原点補正部53は、原点補正データCOに基づいて、直線性補正部52から出力される測定角度θc0を補正することにより補正後測定角度θcを算出する。
これにより、回転角度演算装置によって演算した測定角度θmの位相誤差を、外部の測定手段を用いずに簡易な方法で補正できる。
なお、測定角度θmの位相を補正する方法としては、モータの誘起電圧を用いてロータの位相を検出し、測定角度θmの位相との位相差を調整する方法が考えられる。しかしながら、かかる方法では、大きな誘起電圧を発生させるためにモータを高速回転させることから誘起電圧のばらつきが大きくなる。また誘起電圧測定回路のばらつきも加わることから、高精度の調整が困難である。
【0093】
また、測定角度θmの位相を補正する方法としては、時計回り方向及び反時計回り方向において同一のトルク指令値でモータを回転させて、実際の加速度が最大となる位相差を検出して、測定角度θmとの位相差を調整する方法が考えられる。しかしながら、回転角度センサの検出信号から加速度を演算するとノイズが大きくなることから、高精度の調整が困難である。
【0094】
これに対して本実施形態では、回転速度差Δωを測定する際の電流指令値やトルク指令値を大きくすることができるので、モータの回転速度を制限する負荷トルクに対するモータの発生トルクの比を大きくすることができるので、高精度な位相調整が可能となる。
また、回転速度は出力トルクと等価なことから、時計回り及び反時計回りの回転速度差Δωを低減するように調整することで、モータの回転軸を支持する支持部材の負荷トルクの時計回り及び反時計回りの差を含めた補正が可能となり、実製品に組み込んだ状態での調整が可能である。さらには、回転速度の測定時間を長くすることで、測定時の平均化効果により精度の向上が期待できる。
【0095】
(4)推定角度演算部82は、測定角度θmに基づいてロータの角速度を演算し、角速度に基づいて推定角度θeを演算する。これにより、ロータの角速度に基づいて、理想直線や理想曲線を推定角度θeとして演算できる。
【0096】
(5)モータ制御部54は、モータ10を時計回り及び反時計回りに回転させて回転速度ωc及びωccをそれぞれ測定する際に、補正後回転角度θcに基づいてモータ10を進角制御する。
これにより、ロータの位相と回転角度センサの位相との位相差を、時計回り及び反時計回りの回転速度差Δωとして検出することが可能となる。
【0097】
(6)原点補正部53とモータ制御部54と原点補正値演算部57は、時計回り及び反時計回りの回転速度ωc及びωccの測定を複数回反復する。このとき、複数回の測定のうち第(i-1)回目(iは2以上の整数)に測定した回転速度ωc及びωccの回転速度差Δωに応じて演算した原点補正データCO(i-1)で補正された補正後回転角度θcに基づいてモータ10を駆動し、第i回目の回転速度ωci及びωcciを測定する。これにより、原点補正データCOiを徐々に小さくしながら微調整して位相調整の精度を向上できる。
【0098】
(7)モータ制御部54は、第(i-1)回目の測定において原点補正データCO(i-2)で補正された補正後回転角度θcに基づいてモータ10を駆動し、第i回目の測定において原点補正データCO(i-1)で補正された補正後回転角度θcに基づいてモータ10を駆動する。
原点補正値演算部57の演算部102は、原点補正データCO(i-2)と原点補正データCO(i-1)との間の変化量と、第(i-1)回目の回転速度差Δω(i-1)と第i回目の回転速度差Δωiとの間の変化量と、に基づいて第i回目の回転速度差Δωiが減少するように原点補正データCOを補正する。これにより、回転速度差Δωに対する角度ずれ量Δθoの特性が非線形性を有していてもマップやルックアップテーブルを用いずに、簡易な計算で原点補正データCOを補正することができる。
【0099】
(変形例)
上記の第1実施形態の補正値演算部56は、補正モードにおいて検出信号補正データCs1~Cs4を演算したが、本発明はこのような形態に限定されない。変形例の補正値演算部56は、通常モードにおいても動的に検出信号補正データCs1~Cs4を演算してもよい。
【0100】
図20に変形例の制御装置30の機能構成の一例を示す。データ収集部55は、通常モード及び補正モードにおいてMRセンサ素子24が出力する正弦信号SIN及び余弦信号COSを収集して、補正値演算部56に出力する。
補正値演算部56は、通常モード及び補正モードにおいてモータ10が回転している間の正弦信号SIN及び余弦信号COSに基づいて検出信号補正データCs1~Cs4を演算する。
検出信号補正部50は、通常モード及び補正モードにおいて演算された検出信号補正データCs1~Cs4に基づいて、正弦信号SIN及び余弦信号COSを動的に補正する。
【0101】
また、データ収集部55は、補正モードにおいて惰性回転中の測定角度θmを記憶装置32に格納する際に、MRセンサ素子24が出力する正弦信号SIN及び余弦信号COSを補正値演算部56に出力してもよい。
補正値演算部56は、補正モード及び通常モードにおいて測定角度θmを記憶装置32に格納する間に検出信号補正データCs1~Cs4を動的に演算してよい。
データ収集部55は、補正値演算部56が動的に演算した検出信号補正データCs1~Cs4により補正された正弦信号SIN及び余弦信号COSに基づいて演算された測定角度θmを記憶装置32に格納してよい。
【0102】
(第2実施形態)
第1実施形態では、惰性回転期間中の回転軸11が角速度ωで等角速度運動すると仮定して回転角度の推定角度θeを演算した。
しかしながら、
図21の(a)に示すように、実際の角速度ωには摩擦等の外乱による変化が生じる。
【0103】
角速度ωに変化が生じると、
図21の(b)に示すように、理想的な推定角度θeと実際の回転角度との間に乖離が生じる。このため、1回転したときには幾らかの角度誤差が推定角度θeに生じてしまう(
図21の(c)参照)。
そこで、第2実施形態では、惰性回転期間中の回転軸11が等角加速度運動すると仮定して回転角度の推定角度θeを演算する。
すなわち、複数時刻の角速度ωの演算値に基づいて回転体の角加速度αを演算し、惰性回転期間中の回転軸11の角加速度が一定値αであると仮定して、惰性回転期間中の回転軸11の回転角度の推定角度θeを演算する。
【0104】
具体的には、推定角度演算部82は、
図10の(b)に示す先頭データ部及び後尾データ部の角速度ω1、ω2と、先頭データ部と後尾データ部の時間差とに基づいて惰性回転期間中の角加速度αを算出する。そして、開始時刻(時刻t=0秒)において回転角度がθm0度であり、一定角加速度αで変化する回転角度を示す2次関数の理想曲線を、惰性回転期間中の回転角度の推定角度θeとして演算する。その後の処理は第1実施形態と同様である。
【0105】
(第2実施形態の効果)
推定角度演算部82は、複数時刻の角速度ωに基づいて回転体の角加速度αを演算し、回転体の角加速度αが一定である場合の回転角度の推定角度θeを演算する。
これにより、摩擦等の外乱により角速度ωに変化が生じても、回転角度の推定角度θeを精度よく演算できる。
【0106】
(第3実施形態)
第3実施形態では、各時刻における角速度を算出し、これらを積分することにより推定角度θeをより高精度に演算する。
第3実施形態において、データ収集部55(
図3参照)は、回転軸11の惰性回転期間中のサンプリングタイミングt=1、2、…k、k+1、…に、測定角度θm
(t)と時間情報データT
(t)を取得して記憶装置32に格納する。
【0107】
推定角度演算部82(
図9参照)は、サンプリングタイミングt=1、2、…各々における角速度ω
(k)を、測定角度θm
(k)及び測定角度θm
(k+1)と時間情報データT
(k)及び時間情報データT
(k+1)とに基づいて演算する。例えば、推定角度演算部82は、演算式ω
(k)=(θm
(k+1)-θm
(k))/(T
(k+1)-T
(k))に基づいて角速度ω
(k)を演算する。
【0108】
推定角度演算部82は、角速度ω
(k)を前後のx個のサンプリングタイミングに亘って時間移動平均し、角速度平均値ω
(k)Aveを演算する。
図22の(a)の破線は角速度ωの一例を示し、実線は角速度ωの角速度平均値ω
Aveの一例を示す。
【0109】
推定角度演算部82は、角速度ω又は角速度平均値ωAveを時間積分することによって、惰性回転期間中の回転軸11の回転角度の推定角度θeを演算する。
例えば、推定角度演算部82は、時刻T(k+1)における推定角度θe(k+1)を次の演算式(1)によって演算する。
θe(k+1)=θe(k)+ω(k)Ave×(T(k+1)-T(k))…(1)
【0110】
なお、推定角度演算部82は、時刻T(k+1)における推定角度θe(k+1)を次の演算式(2)によって演算してもよい。
θe(k+1)=θe(k)+ω(k)×(T(k+1)-T(k))…(2)
推定角度演算部82は、サンプリングタイミングt=1、2、…の各々において推定角度θe(k+1)を求め、回転軸11の惰性回転期間中の推定角度θeを演算する。
【0111】
図22の(b)の実線は測定角度θmの一例を示し、
図22の(b)の一点鎖線は推定角度θeの一例を示す。
直線性誤差演算部83は、各サンプリングタイミングにおける測定角度θm
(k)と推定角度θe
(k)との角度直線性誤差θer
(k)=θm
(k)-θe
(k)を演算する。その後の処理は第1実施形態と同様である。
【0112】
(動作)
図23を参照して、第3実施形態における直線性補正データCLの演算処理の一例を説明する。
ステップS50においてデータ収集部55は、回転軸11の惰性回転期間中のサンプリングタイミングt=1、2、…k、k+1、…に、測定角度θm
(k)と時間情報データT
(k)を取得する。
【0113】
ステップS51において推定角度演算部82は、サンプリングタイミングt=1、2、…各々における角速度ω(k)を、測定角度θm(k)及び測定角度θm(k+1)と時間情報データT(k)及び時間情報データT(k+1)とに基づいて演算する。
ステップS52において推定角度演算部82は、角速度ω(k)を時間移動平均し、角速度平均値ω(k)Aveを演算する。
【0114】
ステップS53において推定角度演算部82は、角速度平均値ω(k)Aveを時間積分することによって、惰性回転期間中の回転軸11の回転角度の推定角度θe(k)を算出する。
ステップS54において直線性誤差演算部83は、各サンプリングタイミングにおける測定角度θm(k)と推定角度θe(k)との角度直線性誤差θer(k)=θm(k)-θe(k)を演算し、直線性補正データCLとして記憶する。
【0115】
(第3実施形態の効果)
(1)推定角度演算部82は、推定角度演算部82が演算した角速度ωを積分して回転角度の理論値である推定角度θeを演算する。これにより、惰性回転期間中に生じた角速度ωの変化に応じて精度よく角度直線性誤差θerを演算できる。
(2)推定角度演算部82は、角速度ωの時間移動平均値ωAveを演算し、推定角度演算部82は、時間移動平均値ωAveを積分して推定角度θeを演算する。これにより、ノイズの影響を抑制して推定角度θeを精度よく演算できる。
【0116】
(第4実施形態)
回転角度演算装置で演算される測定角度θmは、回転角度演算装置の構成に起因して周期的な誤差(すなわち、回転軸11のn分の1回転(nは自然数)の周期の誤差成分)を定常的に含むことがある。以下、このように定常的に発生する周期的誤差を「定常誤差成分」と表記することがある
【0117】
例えば、正弦信号SIN及び余弦信号COSにオフセット誤差や振幅誤差が残っていると、回転軸11の周期の周期成分である1次成分や2分の1回転の周期の周期成分である2次成分となって現れる。
このため、補正モードにおいて定常誤差成分を含んだ測定角度θmを取得し、測定角度θmと推定角度θeとの差分(角度直線性誤差θer)を直線性補正データCLとすることで、定常誤差成分を含んだ直線性補正データCLを生成できる。このような直線性補正データCLで測定角度θmを補正することにより、測定角度θmに含まれる定常誤差成分を除去できる。
【0118】
一方で、補正モードにおいて取得される測定角度θmには、定常誤差成分が生じることが想定されていない周期においても、周期的な誤差成分が含まれることがある。以下、このような周期的な誤差成分を「不測誤差成分」と表記することがある。不測誤差成分は、非定常的な要因(例えば外部の振動)によって測定角度θmに混入したものであり、通常の測定角度θmには含まれない。
したがって、不測誤差成分を含んだ測定角度θmに基づいて直線性補正データCLを生成し、不測誤差成分を含んだ直線性補正データCLで測定角度θmを補正すると、補正後の測定角度θc0にかえって誤差を生じることになる。
【0119】
そこで、第4実施形態の推定角度演算部82は、回転軸11のn分の1回転の周期の周期成分を含んだ変数として、推定角度θeを演算する。例えば、第4実施形態の推定角度演算部82は、測定角度θmの移動平均値θAveを演算し、測定角度θmと移動平均値θAveとの差分である誤差成分Δθを周波数解析することにより不測誤差成分の周期成分ΔθFを演算する。移動平均値θAveに周期成分ΔθFを加えて推定角度θeを演算する。
これにより、不測誤差成分を含んだ推定角度θeを演算できる。このため、補正モードにおいて取得される測定角度θmに不測誤差成分が含まれていても、測定角度θmと推定角度θeとの間の差分である直線性補正データCLから不測誤差成分を除去できる。
【0120】
以下、第4実施形態における推定角度θeの演算処理について説明する。第4実施形態において、データ収集部55(
図3参照)は、回転軸11の惰性回転期間中のサンプリングタイミングt=1、2、…k、k+1、…に、測定角度θm
(k)と時間情報データT
(k)を取得して記憶装置32に格納する。
図24の(a)は、記憶装置32に格納された測定角度θm
(t)の一例を示す。
【0121】
推定角度演算部82(
図9参照)は、測定角度θm
(k)を前後のx個のサンプリングタイミングに亘って時間移動平均し、移動平均値θ
(k)Aveを演算する。
図24の(b)は、
図24の(a)の測定角度θm
(k)の移動平均値θ
(k)Aveを示す。
推定角度演算部82(
図9参照)は、測定角度θm
(k)から移動平均値θ
(k)Aveを減算して得られる差分である誤差成分Δθ
(k)=θm
(k)-θ
(k)Aveを算出する。
図24の(c)は、
図24の(a)の測定角度θm
(k)から
図24の(b)の移動平均値θ
(k)Aveを減算して得られた誤差成分Δθ
(k)を示す。
【0122】
推定角度演算部82は、誤差成分Δθ
(k)をフーリエ解析して各次数成分の周波数領域信号を抽出する。各次数成分は、回転軸11のn分の1回転(n=1,2…)の周期の周期成分である。
図25の(a)は、誤差成分Δθ
(k)の各次数成分の周波数領域信号を示す。
推定角度演算部82は、不測誤差成分である所定次数の周期成分以外の各次数成分をフィルタリング(除去)して、不測誤差成分のみを抽出する。
【0123】
図25の(b)は、抽出された不測誤差成分の周波数領域信号を示す。
図25の(b)の例では、不測誤差成分として5次成分が抽出されている。なお、5次成分は不測誤差成分の一例であり、他の次数成分を不測誤差成分として抽出してもよい。例えば、回転角度演算装置の構成に応じて、不測誤差成分として抽出する次数成分を決定してよい。
【0124】
推定角度演算部82は、抽出された所定次数の周期成分(不測誤差成分)の周波数領域信号を逆フーリエ変換することにより、不測誤差成分である所定次数の誤差成分Δθ
(k)Fの時間領域信号を演算する。
図25の(c)は、所定次数の誤差成分Δθ
(k)Fの時間領域信号を示す。
推定角度演算部82は、移動平均値θ
(k)Aveに周期成分Δθ
(k)Fを加算して推定角度θe
(k)を演算する。
図26の(b)に推定角度θe
(k)を示す。
【0125】
直線性誤差演算部83は、各サンプリングタイミングにおける測定角度θm
(k)と推定角度θe
(k)との角度直線性誤差θer
(k)=θm
(k)-θe
(k)を演算し、直線性補正データCLとして記憶する。
図26の(a)に、θm
(k)を示す。また、
図26の(b)に測定角度θm
(k)から推定角度θe
(k)を減算して得られた角度直線性誤差θer
(k)を示す。
その後の処理は第1実施形態と同様である。
【0126】
(動作)
図27を参照して、第4実施形態における直線性補正データCLの演算処理の一例を説明する。
ステップS60においてデータ収集部55は、回転軸11の惰性回転期間中のサンプリングタイミングt=1、2、…k、k+1、…に、測定角度θm
(k)と時間情報データT
(k)を取得する。
【0127】
ステップS61において推定角度演算部82は、測定角度θm
(k)を時間移動平均し、移動平均値θ
(k)Aveを演算する。
ステップS62において推定角度演算部82(
図9参照)は、測定角度θm
(k)から移動平均値θ
(k)Aveを減算して得られる差分である誤差成分Δθ
(k)=θm
(k)-θ
(k)Aveを算出する。
【0128】
ステップS63において推定角度演算部82は、誤差成分Δθ(k)をフーリエ解析して各次数成分の周波数領域信号を抽出する。さらに、不測誤差成分である所定次数の周期成分以外の各次数成分をフィルタリングして、不測誤差成分のみを抽出する。
ステップS64において推定角度演算部82は、ステップS63で抽出した所定次数の周期成分を逆フーリエ変換することにより、誤差成分Δθ(k)Fの時間領域信号を算出する。
【0129】
ステップS65において推定角度演算部82は、移動平均値θ(k)Aveに周期成分Δθ(k)Fを加算して推定角度θe(k)を演算する。直線性誤差演算部83は、測定角度θm(k)と推定角度θe(k)との角度直線性誤差θer(k)=θm(k)-θe(k)を演算し、直線性補正データCLとして記憶する。
【0130】
(第4実施形態の効果)
推定角度演算部82は、測定角度θmに基づいて、ロータのn分の1回転の周期の周期成分を含んだ変数として推定角度θe(k)を演算する。
具体的には、測定角度θmの移動平均値θAveを演算し、測定角度θmと移動平均値θAveとの差分である誤差成分Δθを周波数解析することにより周期成分ΔθFを演算する。移動平均値θAveに周期成分ΔθFを加えて推定角度θeを演算する。
【0131】
これにより、回転角度演算装置の構成に起因する周期的な誤差が生じない周期の誤差成分である不測誤差成分を含んだ推定角度θeを演算できる。このため、補正モードにおいて取得される測定角度θmに不測誤差成分が含まれていても、測定角度θmと推定角度θeとの間の差分である直線性補正データCLから、不測誤差成分を除去できる。その結果、不測誤差成分を含んだ直線性補正データCLで測定角度θmを補正することによる誤差の発生を防止できる。
【0132】
(第5実施形態)
第5実施形態の推定角度演算部82は、モータ10の回転軸11の運動方程式から導出される回転軸11の回転角度の理論値θs(t)に、回転軸11のn分の1回転の周期の周期成分を加算することにより推定角度θeを演算する。
このような方法によっても、回転軸11のn分の1回転の周期の周期成分を含んだ推定角度θeを演算することができる。
モータ10の回転軸11の運動方程式は、例えば次式(3)によって与えられる。
【0133】
【0134】
ここで、定数J、D及びτfは、それぞれ慣性モーメント、粘性係数及びクーロン摩擦トルクを示す。また、θ’(t)は、回転軸11の回転角度θ(t)の1階時間微分(すなわち角速度)を表し、θ’’(t)は、回転軸11の回転角度θ(t)の2階時間微分(すなわち角加速度)を表す。
回転角度の初期値θ(0)を0とし、角速度の初期値θ’(0)をθ0’とすると、運動方程式(3)から導出される理論値θs(t)は、次式(4)によって与えられる。
【0135】
【0136】
第5実施形態の推定角度演算部82は、上式(4)の理論値θs(t)に、回転軸11の初期角度θ0を加算した回転角度θ(t)を、推定角度θeとして演算する(次式(5)のθr(t))。
なお、式(5)中のθ0は回転角度θ(t)の初期値である。また、θs(t)+θ0をθr(t)と置換する。Δθ(t)は回転軸11の1回転周期の誤差成分である。
【0137】
【0138】
図28の(a)に、理論値θr(t)と回転角度θ(t)の一例を示す。ここでは、説明の簡単のため、誤差成分Δθ(t)の例として、
図28の(b)に示すような1次成分Δθ(t)=Δ・sin(θs(t)+θ
0)を理論値θr(t)に加算した場合を説明する。なお、誤差成分Δθ(t)は1次成分に限定されることなく、他の次数成分であってもよい。
角速度θ’(t)は、上式(5)を微分することにより次式(6)で与えられる。
【0139】
【0140】
図29に、角速度θ’(t)=θr’(t)+Δθ’(t)の模式図を示す。実線がθr’(t)+Δθ’(t)を示し、破線がθr’(t)を示す。
いま、時刻t=0を基準にして、時刻t=0から回転軸11がm回転(mは自然数)した時刻をT1とし、回転軸11がk回転(kは2以上の自然数)した時刻をT2とする。
ここで、1回転分の角度範囲(0度~360度)における測定角度θmの値(すなわち複数回転に亘る角度範囲における測定角度θmの値を360で除算した余り)は、回転軸11の回転周期で周期的に変化する。このため、時刻0、T1、T2では、1回転分の角度範囲(0度~360度)における測定角度θmの値が等しい。
【0141】
このため、第3実施形態及び第4実施形態と同様に、測定角度θm(t)と時間情報データT(t)を取得して記憶装置32に格納すると、これらの時刻T1及びT2を適宜決定できる。
推定角度演算部82は、記憶装置32に格納した測定角度θmに基づいて、時刻0、T1、T2における角速度θ’(0)=A、θ’(T1)=B、θ’(T2)=Cをそれぞれ算出する。これらの値A、B、Cには、次式(7)及び(8)の関係が成立する。
【0142】
【0143】
【0144】
ここで、cos{θs(0)+θ0}=cos{θs(T1)+θ0}=cos{θs(T2)+θ0}であるから、上式(7)を整理すると次式(9)及び(10)が得られる。
【0145】
【0146】
【0147】
同様に、上式(8)を整理すると次式(11)が得られる。
【数9】
【0148】
一方で、時刻0、T1、T2における回転角度θ(0)、θ(T1)、θ(T2)は、上式(5)から次式(12)、(13)及び(14)のように表される。
【0149】
【0150】
【0151】
【0152】
ここで、Δθ(0)=Δθ(T1)=Δθ(T2)であるから、これら回転角度の差分Δθ1=θ(T1)-θ(0)及びΔθ2=θ(T2)-θ(0)は、次式(15)及び(16)で与えられる。
【0153】
【0154】
【0155】
上式(10)を上式(15)に代入すると、次式(17)が得られる。
【0156】
【0157】
上式(17)を(J/D)について解くことにより、次式(18)が得られる。
【0158】
【0159】
同様に、上式(11)を上式(16)に代入すると、次式(19)が得られる。
【0160】
【0161】
上式(19)を(J/D)について解くことにより、次式(20)が得られる。
【0162】
【0163】
ここで、上式(19)及び(20)の右辺は等しいから、次式(21)が成立する。
【0164】
【0165】
上式(21)を(τf/D)について解くことにより、次式(22)が得られる。
【0166】
【0167】
ここで上記のとおり、時刻T1、T2は適宜決定できるため、記憶装置32に格納された測定角度θmのデータに基づいて、時刻0、T1、T2における測定角度θmを回転角度θ(0)、θ(T1)、θ(T2)として抽出できる。また、測定角度θmを微分することにより時刻0、T1、T2における角速度θ’(0)、θ’(T1)、θ’(T2)として演算できる。このため、上式のγ1、γ2、Δθ1及びΔθ2も算出可能である。
【0168】
推定角度演算部82は、時刻0、T1、T2における測定角度θmと、測定角度θmを微分して算出した角速度に基づいて、上記パラメータ(τf/D)を演算する。
さらに推定角度演算部82は、演算したパラメータ(τf/D)を上式(18)又は(20)に代入することによりパラメータ(J/D)を演算する。
または、上式(17)及び(19)から(τf/D)を消去して得られる次式(23)に基づいてパラメータ(J/D)を演算してもよい。
【0169】
【0170】
推定角度演算部82は、演算したパラメータ(J/D)及び(τf/D)を上式(5)に代入することにより回転角度θr(t)を演算し、推定角度θe(t)を求める。その後の処理は第1実施形態と同様である。
【0171】
(第5実施形態の効果)
推定角度演算部82は、モータ10の回転軸11の運動方程式から導出される回転軸11の回転角度の理論値θs(t)に、回転軸11の初期角度θ0を加算することにより推定角度θe(t)を演算する。
具体的には、回転軸11がある角度位置にある時刻t=0と、この角度位置から回転軸11が複数回転した各々の時刻t=T1及びT2と、を含む複数時刻0、T1、T2における測定角度θmの角速度を算出し、複数時刻0、T1、T2における測定角度θmと角速度とに基づいて推定角度θe(t)を演算する。
このような方法によっても、回転軸11のn分の1回転の周期の周期成分を含んだ推定角度θe(t)を演算することができる。
【0172】
(変形例)
第5実施形態と第4実施形態とを組み合わせた変形例について説明する。第5実施形態での式(5)のΔθ(t)にも、定常誤差成分と不測誤差成分が含まれる。不足誤差成分を取り除くために第4実施形態の手法を適用する。第5実施形態のθrは第4実施形態の移動平均値θAveに相当する。測定角度θmとパラメータから求めた回転角度θrとの差分である誤差成分Δθを周波数解析することにより不測誤差成分の周期成分ΔθFを演算する。回転角度θrに周期成分ΔθFを加えて推定角度θeを演算する。これにより、測定角度θmと推定角度θeとの差(直線性誤差)には定常誤差成分のみが含まれることになる。
【0173】
(第6実施形態)
次に、第6実施形態における原点補正データCOの演算処理について説明する。時計回り及び反時計回りの回転速度ωc及びωccから算出した回転速度差Δωが大きい場合、すなわち、回転角度演算部51が演算した測定角度θcとロータの位相との間の角度ずれ量Δθoが大きい場合には、回転速度差の大きさ|Δω|が閾値T以下となる原点補正データCOを算出するのに要する時間が長くなるおそれがある。また例えば、角度ずれ量Δθoが過大だとモータ制御部54によるモータ制御が困難になることがある。
【0174】
そこで、第6実施形態では、まず、ロータを安定点へ回転駆動した状態において回転角度演算部51が演算した測定角度θmに基づいて原点補正データCOを求めて疎調整を行う。
その後に、測定角度θc0を原点補正データCOで補正して得られる補正後回転角度θcに基づいてモータ10を時計回り及び反時計回りに回転させて回転速度ωc及びωccを測定し、回転速度ωcと回転速度ωccとの間の回転速度差の大きさ|Δω|が減少するように原点補正データCOを補正して微調整を行う。
【0175】
(構成)
図30を参照する。第6実施形態における原点補正値演算部57は、
図14を参照して説明した第1実施形態の原点補正値演算部57と同様の構成を備えており、同様の構成要素には同じ参照符号を付し説明を省略する。
原点補正データCOを演算する場合、モータ制御部54は、まずモータ10を安定点へ回転駆動してロータを安定点に固定させる。例えば、モータ制御部54は、モータ10のU相コイル、V相コイル、W相コイル間に所定電流を流して、モータ10を安定点へ回転駆動する。例えば、モータ制御部54は、U相コイルに2×a[A]、V相コイル及びW相コイルに各々(-a)[A]を流す。
【0176】
この状態で、原点補正値演算部57は、回転角度演算部51が演算した測定角度θmを読み込む。原点補正値演算部57の演算部102は、安定点に固定されているときのロータ角度とロータ側回転角度基準との間の関係性と測定角度θmとに基づいて原点補正データCOの初期値CO0を演算する。
例えば、演算部102は、安定点に固定されているときのロータ角度とロータ側回転角度基準との間の差分Δθsを測定角度θmから減じた差分(θm-Δθs)を初期値CO0として演算する。原点補正値演算部57は、演算した原点補正データCOの初期値CO0を記憶する。
【0177】
次にモータ制御部54は、原点補正データCO0で測定角度θc0を補正して得られた補正後回転角度θcに基づいて、時計回り方向及び反時計回り方向にモータ10を回転させる。
演算部102は、回転速度差Δωに基づいて角度ずれ量Δθoを演算する。この角度ずれ量Δθoは、原点補正データCO0で測定角度θc0を補正して得られた補正後回転角度θcとロータの位相との間の角度ずれ量であるので、演算部102は、原点補正データCO0に角度ずれ量Δθoを加算する補正を行うことにより原点補正データCOを演算する。原点補正値演算部57は、記憶されていた原点補正データCO0を、補正後の原点補正データCOで更新する。
【0178】
回転速度ωc及び回転速度ωccの測定工程、回転速度差Δωの演算工程、及び原点補正データCOの演算工程からなる一連の工程を、複数回にわたって反復してもよい。また、これら一連の工程を、回転速度差Δωの大きさ|Δω|が所定の閾値T以下になるまで複数回にわたって反復してもよい。
1回目の原点補正データCO1を演算する際には、ロータを安定点に固定して演算した原点補正データCO0で測定角度θc0を補正して得られた補正後回転角度θcに基づいて、時計回り方向及び反時計回り方向にモータ10を回転させる。
【0179】
演算部102は、1回目の回転速度差Δω1に基づいて角度ずれ量Δθo1を演算する。演算部102は、原点補正データCO0に角度ずれ量Δθo1を加算する補正を行うことにより1回目の原点補正データCO1を演算する。原点補正値演算部57は、記憶されていた原点補正データCO0を、補正後の原点補正データCO1で更新する。
その後、2回目またはそれ以降である第i回目の回転速度差Δωiの演算は、第1実施形態と同様である。
【0180】
(動作)
次に、
図31を参照して第6実施形態の原点補正値演算処理の一例について説明する。
ステップSS71においてモータ制御部54は、まずモータ10を安定点へ回転駆動してロータを安定点に固定させる。
ステップS72において原点補正値演算部57は、回転角度演算部51が演算した測定角度θmを読み込む。原点補正値演算部57の演算部102は、安定点に固定されているときのロータ角度とロータ側回転角度基準との間の関係性と測定角度θmとに基づいて原点補正データCOの初期値C0を演算する。原点補正値演算部57は、初期値C0を記憶する。
【0181】
ステップS73において原点補正部53とモータ制御部54と原点補正値演算部57は、回転速度差Δωを演算する。ステップS23の処理は、
図18のステップS30の回転速度差演算ルーチンと同様である。
その後のステップS74及びS75の処理は、
図18のステップS33及びS34の処理と同様である。
【0182】
(第6実施形態の効果)
原点補正値演算部57の演算部102は、モータ10のロータを安定点へ回転駆動した状態で回転角度演算部51が演算した測定角度θmに基づいて原点補正データCOを演算する。モータ制御部54は、原点補正データCOで測定角度θc0を補正して得られた補正後回転角度θcに基づいて、時計回り方向及び反時計回り方向にモータ10を回転させる。演算部102は、回転速度差Δωが減少するように原点補正データCOを補正する。
【0183】
このように、モータ10のロータを安定点へ回転駆動したときのMRセンサ素子24の検出信号に基づいて粗調整を行うことにより、MRセンサ素子24の位相調整に要する時間を短縮することができる。
また、MRセンサ素子24の位相とロータの位相との位相差が大きく、モータ制御部54によるモータ制御が困難であっても、位相調整を行うことが可能となる。
【0184】
(モータ制御装置の適用例)
次に、
図32を参照して、本実施形態のモータ制御装置を、車両の操舵系に付与する操舵補助力を制御する電動パワーステアリング装置に適用した場合の構成例を説明する。
操向ハンドル201のコラム軸202は減速ギア203、ユニバーサルジョイント204A及び204B、ピニオンラック機構205を経て操向車輪のタイロッド206に連結されている。コラム軸202には、操向ハンドル201の操舵トルクThを検出するトルクセンサ210が設けられており、操向ハンドル201の操舵力を補助するモータ10が減速ギア203を介してコラム軸202に連結されている。
【0185】
上述の制御装置30は、パワーステアリング装置を制御する電子制御ユニットとして使用される。制御装置30には、電源であるバッテリ214から電力が供給されると共に、イグニションキー211からイグニションキー信号が入力される。
制御装置30は、上記のように演算したモータ10の回転角度θmと減速ギア203の減速比Nとに基づいて、操向ハンドル201の操舵角θhを演算する。制御装置30は、操舵角θhと、操舵トルクThと、車速センサ212で検出された車速Vhとに基づいて、アシストマップ等を用いてアシスト指令の操舵補助指令値の演算を行い、演算された操舵補助指令値に基づいてモータ10に供給する電流Iを制御する。
【0186】
このような構成の電動パワーステアリング装置において、操向ハンドル201から伝達された運転手のハンドル操作による操舵トルクThをトルクセンサ210で検出し、モータ10の回転角度に基づいて操舵角θhを演算し、操舵トルクTh、操舵角θh及び車速Vhに基づいて演算される操舵補助指令値によってモータ10は駆動制御され、この駆動が運転手のハンドル操作の補助力(操舵補助力)として操舵系に付与される。
【符号の説明】
【0187】
10…モータ、11…回転軸、12…出力端、14…端部、20…センサユニット、21…磁石、22…回路基板、23…支持部材、24…MRセンサ素子、25…ハーネス、30…制御装置、31…プロセッサ、32…記憶装置、33、34…アナログディジタル変換器、35…駆動回路、36…電流センサ、37…I/F回路、40…回転質量体、50…検出信号補正部、51…回転角度演算部、52…直線性補正部、53…原点補正部、54…モータ制御部、55…データ収集部、56…補正値演算部、57…原点補正値演算部、60…SINオフセット補正部、61…COSオフセット補正部、62…COSゲイン補正部、63…加算器、64、74、75…減算器、65…位相誤差補正部、70…トルク指令値演算部、71、100…微分器、72…電流指令値演算部、76、77…PI制御部、79…PWM制御部、80…検出信号補正値演算部、81…直線性補正値演算部、82…推定角度演算部、83…直線性誤差演算部、101…回転速度差算出部、102…演算部、201…操向ハンドル、202…コラム軸、203…減速ギア、204A、204B…ユニバーサルジョイント、205…ピニオンラック機構、206…タイロッド、210…トルクセンサ、211…イグニションキー、212…車速センサ、214…バッテリ