JP2012029547A - 車両の走行用モータ制御装置、車両用のモータ制御システム、記憶媒体、モータの検出角度補正方法、及び回転検出装置 - Google Patents

車両の走行用モータ制御装置、車両用のモータ制御システム、記憶媒体、モータの検出角度補正方法、及び回転検出装置 Download PDF

Info

Publication number
JP2012029547A
JP2012029547A JP2010240999A JP2010240999A JP2012029547A JP 2012029547 A JP2012029547 A JP 2012029547A JP 2010240999 A JP2010240999 A JP 2010240999A JP 2010240999 A JP2010240999 A JP 2010240999A JP 2012029547 A JP2012029547 A JP 2012029547A
Authority
JP
Japan
Prior art keywords
angle
estimated
correction
value
difference
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.)
Granted
Application number
JP2010240999A
Other languages
English (en)
Other versions
JP5115616B2 (ja
Inventor
Eiichiro Kawakami
英一郎 川上
Junji Miyaji
準二 宮地
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2010240999A priority Critical patent/JP5115616B2/ja
Priority to US12/927,833 priority patent/US8487563B2/en
Priority to DE102010052712.2A priority patent/DE102010052712B4/de
Publication of JP2012029547A publication Critical patent/JP2012029547A/ja
Application granted granted Critical
Publication of JP5115616B2 publication Critical patent/JP5115616B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/60Other road transportation technologies with climate change mitigation effect
    • Y02T10/64Electric machine technologies in electromobility

Abstract

【課題】回転検出手段の検出誤差を補正し車両走行用モータの制御精度を向上させる。
【解決手段】回転検出手段の信号を入力して補正した角度データφを出力する誤差補正部は、上記信号に基づく実検出角度が45度間隔の値になる毎に、その時の推定角度から実検出角度を引いた推実差分a1〜a8を算出し、実検出角度が最終の360度になった時に、上記a1〜a8に基づき、45度間隔の各区間について、推定角度の増加量が実検出角度に対しどれだけ多かったかを示す増加量差分b1〜b8を算出し、更に、該b1〜b8に対して、推実差分a8を極力均等分割した修正値c1〜c8を減じる共に、モータの加減速の度合いに応じて決めた修正値e1〜e9を加算することで、学習値d1〜d8を求める。そして、実検出角度の1増加時毎にφの値も基本的に1増加させるが、各区間でのφの増加量がその区間の学習値だけ多くなるように、φの単位増加量を2か0にする。
【選択図】図14

Description

本発明は、車両の走行用モータを制御する装置に関する。
例えば電気自動車やハイブリッド自動車、電車などのように走行用の動力源としてモータを備えた車両において、モータを制御するために用いられる走行用モータ制御装置としては、モータの回転角度を検出し、その検出結果に基づいてモータへの通電を制御(詳しくはモータへの通電を行うインバータ等の駆動装置を制御)するよう構成されたものが知られている(例えば、特許文献1参照。)。
特許文献1には、モータの回転角度を検出する回転角度センサとしてレゾルバを用いた制御装置が記載されている。レゾルバは、モータの出力軸の回転と共に回転するロータ、及びステータを備え、ロータの位置によるロータとステータとの間のリラクタンスの変化に応じた(即ちモータの回転角度に応じた)回転検出信号を出力する、周知の回転角度検出用のセンサである。尚、以下の説明では、レゾルバのステータ及びロータを、モータのステータ及びロータと区別するために、それぞれ、「レゾルバステータ」、「レゾルバロータ」という。
レゾルバのより具体的な構成について、位相が電気角で90度ずれた2つの回転検出信号を出力する2相のレゾルバを例に挙げて説明すると、レゾルバロータ又はレゾルバステータのいずれか一方に一次コイルが設けられ、他方に二次コイルが設けられている。そして、一定周波数の励磁信号が一次コイルに供給されることにより、二次コイルから、励磁信号が振幅変調された信号であって且つ位相が90度ずれた2つの回転検出信号が出力される。
レゾルバから出力される回転検出信号はアナログ信号である。そのため、レゾルバを用いてモータの回転角度を検出する場合は、通常、レゾルバと共に、このレゾルバからの回転検出信号をモータの回転角度を示すデジタルデータである角度データに変換するレゾルバ・デジタル変換器(RDC:Resolver Digital Converter)が用いられる。そして、走行用モータ制御装置は、RDCからの角度データに基づいてモータへの通電を制御する。
尚、レゾルバから出力される2つの回転検出信号は、互いに振幅が等しく、また互いにオフセットが無く、更に互いの位相差が規定値(上記例では90度)であることが理想的であり、RDCは、レゾルバから入力される2つの回転検出信号がそのように理想的なものである場合に理想的に機能し、回転角度の検出精度が良好になる。
また、モータの回転角度を検出する回転角度センサとしては、上述したレゾルバ以外にも、例えば一定角度回転する毎にそのことを示す信号(パルス)を出力すると共にモータが1回転する毎にそのことを示す信号(パルス)を出力するインクリメンタルエンコーダや、一定角度回転毎にそのときの回転角度を示す角度データを出力するアブソリュートエンコーダ、更には例えば特許文献2に記載されているような、縦型ホール素子と磁気抵抗素子(MRE)との組み合わせにより回転角度に応じた信号を出力するセンサなど、様々な構成・方式のものがある。
特開平10−215504号公報 特開2008−185406号公報
ところで、レゾルバを例に挙げると、実際には、レゾルバロータの形状のばらつきや、レゾルバの各コイルの特性、或いはレゾルバロータとレゾルバステータとのギャップのばらつき(以下これらをまとめて「製造ばらつき」ともいう)などの種々の原因により、そのレゾルバからの回転検出信号は上述した理想的なものとはならず、2相のレゾルバ信号に振幅差やオフセット、位相誤差が生じる可能性がある。つまり、レゾルバからの回転検出信号が、製造ばらつき等に起因する誤差を含むものとなってしまう。
そして、このようにレゾルバからの回転検出信号が誤差を含むものであると、RDCから出力される角度データも誤差を含むデータとなり、回転角度の検出精度が低下することとなる。具体的には、モータが等速度で回転している場合であっても、RDCからの角度データが時間に対して比例せずに非線形になってしまう。
すると、走行用モータ制御装置では、そのRDCからの角度データに基づいてモータの回転角度を把握し、モータへの通電を制御するため、モータへの通電がモータの実際の回転角度に応じた適切な値にならず、モータの制御精度が低下してしまうこととなる。
更に具体的な現象としては、例えば、自動車が一定速度で走行しており、且つ、運転者がアクセルペダルの操作力(一般には踏む力)を変えていない場合に、RDCからの誤差を含む角度データ、即ち実際のモータの回転角度とは異なった回転角度を示すデータに基づいてモータの制御が行われることで、モータの発生トルクが増減してしまい、運転者がアクセルペダルの操作力を変えていないにも関わらず車両に前後方向の不要な加速度(正又は負の加速度)が発生してしまう。よって、運転者を含む車両の乗員に不快感を与えてしまう可能性がある。
また、前述したようなレゾルバ以外の回転角度センサにおいても、製造ばらつき等に起因して検出信号に誤差が発生する可能性があるため、同様の問題が生じる。
そこで、本発明は、車両の走行用モータ制御装置において、モータの回転角度を検出する回転検出手段の製造ばらつき等に起因した誤差を含む検出結果を、適切に補正して、モータの制御精度を向上させることを目的としている。
請求項1に記載の本発明は、走行用の動力源になるモータと、このモータが360度/n(nは1以上の整数)の基準角度回転する毎に、そのことを示す基準角度情報を出力すると共に、モータが前記基準角度よりも小さい一定の単位角度回転する毎に、基準角度情報の出力タイミングを基準としたモータの回転角度を示す単位角度情報を出力する回転検出手段と、を備えた車両に用いられ、その回転検出手段からの基準角度情報及び単位角度情報を用いてモータへの通電を制御する車両の走行用モータ制御装置であって、単位角度情報の誤差を補正して、基準角度情報の出力タイミングを基準としたモータの回転角度を示す補正角度情報を出力する補正手段を備えており、その補正手段から出力される補正角度情報に基づいてモータへの通電を制御するよう構成されている。
そして、補正手段は、時間推定手段と、角度推定手段と、推実差分算出手段と、記憶部と、増加量差分算出手段と、修正手段と、出力処理手段とを備えている。
時間推定手段は、基準角度情報の出力タイミング毎(回転検出手段から基準角度情報が出力される毎)に、該基準角度情報の前回出力時から今回出力時までの1周期時間を計測し、その計測した1周期時間に基づいて、モータの以後の回転において該モータが前記単位角度回転するのに要する時間を推定する。
そして、角度推定手段は、基準角度情報の出力タイミングから、時間推定手段により推定されている時間である推定時間が経過する毎に、その推定時間経過中にモータが単位角度回転したものと推定して基準角度情報の出力タイミングを基準としたモータの回転角度を推定し、該推定結果を推定角度情報として出力する。
また、推実差分算出手段は、基準角度情報の出力間隔である1周期において、単位角度情報が示す回転角度である実検出角度が、該実検出角度の最終値である最終角度を含む複数の代表角度の各々になったとき毎に、推定角度情報が示す回転角度である推定角度が、前記実検出角度に対してどれだけ進んでいるかを示す推実差分を算出する。尚、この推実差分は、正と負の何れにもなり得るものである。
そして、増加量差分算出手段が、推実差分算出手段により算出された前記1周期分の各代表角度での推実差分に基づいて、実検出角度が基準角度情報の出力タイミングでの初期値から前記代表角度のうち最も小さい最小代表角度になるまでの区間と、隣接する代表角度同士の区間との各々について、その各区間での実検出角度の増加量に対して推定角度の増加量がどれだけ多かったかを示す増加量差分を算出し、該増加量差分を、記憶部に、どの区間に対応するものであるかを識別可能に記憶する。尚、この増加量差分も、正と負の何れにもなり得るものである。
そして更に、修正手段が、増加量差分算出手段により記憶部に記憶された前記1周期分の増加量差分を、モータの加減速の度合いに応じて修正する。
そして、出力処理手段は、基準角度情報の出力タイミングで補正角度情報の値を初期値にする初期化処理と、基準角度情報の出力タイミングを基準として、単位角度情報が出力される毎に(即ち、実検出角度が単位角度だけ進む毎に)、補正角度情報の値を単位角度に相当する値ずつ増加させる出力更新処理と、実検出角度が基準角度情報の出力タイミングから前記最小代表角度になるまでの区間、及び実検出角度が前記代表角度のうちの何れかの代表角度になってから次の代表角度になるまでの区間の各々において、その区間での補正角度情報の値の増加量が、その区間に対応して前記記憶部に記憶されている増加量差分(修正手段により修正された後の増加量差分)だけ多くなるように、出力更新処理で増加させる値を変更する補正処理とを行う。尚、増加量差分が負の場合、「増加量差分だけ多くなるように」とは、換言すると「その増加量差分の絶対値だけ少なくなるように」ということになる。
次に、このような補正手段による補正原理について説明する。尚、ここでは、「推定角度−実検出角度」を推実差分として算出するものとして説明する。
まず、時間推定手段が推定する推定時間は、基準角度情報の出力タイミング毎に、その直前に基準角度回転するのに要した実際の1周期時間に基づいて推定されるものであるため、直前の回転状態が反映された信頼性のある値である。
そして、角度推定手段は、基準角度情報の出力タイミングから上記推定時間が経過する毎にモータが単位角度ずつ回転するであろうとの予測を前提に、基準角度情報の出力タイミングを基準とした回転角度を示す推定角度情報(その時点の推定角度を示す情報)を出力する。このため、推定角度情報(推定角度)は、直前の回転状態が反映された信頼性のある情報である。
そこで、推実差分算出手段が、基準角度情報の出力間隔である1周期において、単位角度情報が示す実検出角度が複数の代表角度の各々になったとき毎に、推定角度情報が示す推定角度が実検出角度に対してどれだけ進んでいるかを示す推実差分を算出する。この推実差分は、推定角度に対する実検出角度の不足分(遅れ分)を表すものとも言える。
そして、増加量差分算出手段が、推実差分算出手段により算出された1周期分の各代表角度での推実差分に基づいて、実検出角度が初期値から最小代表角度になるまでの区間と、隣接する代表角度同士の区間との各々について、実検出角度と推定角度との増加量差分を算出し、その各区間についての増加量差分を記憶部に記憶する。
ここで、その増加量差分は、各区間での実検出角度の増加量に対して推定角度の増加量がどれだけ多かったかを示すものであり、換言すれば、その各区間において、実検出角度が推定角度に対してどれだけ不足方向にずれるかを表すものである。
そのため、出力処理手段は、基準角度情報の出力タイミング毎に補正角度情報の値を初期値にし、基本的には、単位角度情報が出力される毎に(実検出角度が単位角度進む毎に)、補正角度情報の値を単位角度に相当する値ずつ増加させることで、補正角度情報の値を実検出角度と同じように変化させるが、更に、実検出角度が基準角度情報の出力タイミングで初期値になってから最小代表角度になるまでの区間、及び実検出角度が何れかの代表角度になってから次の代表角度になるまでの区間の各々において、その区間での補正角度情報の値の増加量が、その区間に対応して記憶部に記憶されている増加量差分だけ多くなるように、単位角度情報の出力タイミング毎に補正角度情報の値を増加させる値である単位角度毎増加値を変更する、という補正処理を行うことで、補正角度情報の値を推定角度と一致するように変化させるようにしている。
しかし、推定角度は、前述したように信頼性はあるものの、やはり過去の1周期時間から推定されるものであると共に、時間に比例して増加するものであるため、モータの回転速度の変動(即ち加減速)によって、真の角度(実際の角度)からの誤差(即ち、推定誤差)を有することとなる。このため、モータに加減速があると、増加量差分算出手段により記憶部に記憶される各区間についての増加量差分は、各区間での実検出角度の増加量と真の角度の増加量とのずれ(実検出角度が真の角度に対してどれだけ不足方向にずれるか)を、正しく表さなくなる。
そこで特に、本発明では、修正手段により、出力処理手段が補正処理で用いる記憶部内の増加量差分を、モータの加減速の度合いに応じて修正することにより、補正角度情報の値を、モータの加減速が反映された推定角度(即ち、真の角度からのずれが少ない推定角度)に追従させることができるようにして、モータの加減速の影響を受け難いようにしている。
このような本発明によれば、回転検出手段の製造ばらつき等の種々の要因によって、回転検出手段から出力される単位角度情報が誤差を含むものであったとしても、また、モータの運転中に回転速度変動があっても、補正手段によって単位角度情報の誤差が補正された信頼性の高い補正角度情報が生成され、その補正角度情報がモータの通電制御に用いられる。このため、回転角度検出精度の低下を抑えてモータの良好な制御性能を確保することができ、具体的には、前述した車両の不要な加速度を抑制して、車両の乗員に不快感を与えてしまうのを回避することができる。
更に、本発明によれば、補正のための演算処理を比較的簡単なものにすることができ、しかも、ハードウェア規模の増大も抑えることができる。
例えば、単位角度情報に対する単位角度毎の補正値を、学習演算してメモリに記憶しておき、実際にモータを制御する際に、回転検出手段からの単位角度情報が更新される毎に、その単位角度情報に対応してメモリに保存されている補正値を用いて該単位角度情報を補正し、補正角度情報として出力する、といった構成を採ることも考えられるが、そのような構成では、単位角度毎の補正値を保存しておくために大容量のメモリが必要となり、ハードウェア規模が増大してしまう。また、モータの定速運転時や加速時といった異なる運転状態に対応するためには、その運転状態毎に、異なる補正値を用意したり、補正のための演算を切り替えたりしなければならないことが予想される。これに対して、本発明によれば、そのような問題も回避することができる。
ところで、修正手段は、下記の構成(請求項2に記載の構成)とすることで、比較的簡単な構成でありながら回転角度検出精度を上げることができる。
即ち、修正手段は、第1修正値決定手段を備える。
その第1修正値決定手段は、増加量差分算出手段により記憶部に記憶された1周期分の増加量差分の各々に対する第1修正値を、該1周期分の増加量差分と同じ1周期において推実差分算出手段により算出された最終角度での推実差分に基づき決定する手段であり、第1修正値の各々を、該第1修正値の総和が前記最終角度での推実差分と等しくなるように決定する。尚、第1修正値は、正と負の何れにもなり得るものである。
そして、修正手段は、増加量差分算出手段により記憶部に記憶された1周期分の増加量差分(以下、元の増加量差分ともいう)を修正するための処理として、元の増加量差分の各々を、その増加量差分に対して決定された第1修正値だけ減らす処理を行う。
次に、このような修正手段の原理について説明する。
まず、各代表角度での推実差分には、下記式1のように、モータの加減速に起因する推定誤差Gが含まれる。尚、推定誤差Gも、正と負の何れにもなり得るものである。
推実差分=「推定角度−実検出角度」
=「(真の角度+推定誤差G)−実検出角度」
=「(真の角度−実検出角度)+推定誤差G」
=角度検出誤差+推定誤差G …式1
また、一般に回転検出手段としてのセンサは、角度の検出原点となる基準角度情報の出力タイミング及びその直近では角度検出誤差(実検出角度の誤差)が無い。
このため、モータの回転速度が、基準角度情報の出力間隔である1周期内では一定であると仮定すると(換言すれば、モータの回転速度が1周期単位でしか変わらないと仮定すると)、推定誤差Gは、モータの加減速のうちでも、1周期単位での回転速度変動(即ち、1周期時間の変動)に伴うものとなり、その推定誤差Gの絶対値は時間に比例して大きくなることから、実検出角度が初期値に戻る直前の最終角度での推実差分は、推定角度の1周期分の総累積誤差(以下、総累積推定誤差ともいう)ΣGを示すものとなり、1周期単位でのモータの回転速度変動(加減速の度合い)を表す情報でもある。
そこで、修正手段は、記憶部内の元の増加量差分を、それと同じ1周期における最終角度での推実差分(即ち、1周期単位での回転速度変動に伴う総累積推定誤差ΣGであり、モータの加減速の度合いによって変化する値)に応じて修正することにより、補正角度情報の値を、1周期単位での回転速度変動が反映された、真の角度からのずれが少ない推定角度に追従させることができるようにして、回転速度変動の影響を受け難いようにしている。
具体的には、推実差分算出手段により算出された最終角度での推実差分を「De」と称することにすると、第1修正値決定手段は、1周期分の各増加量差分に対する第1修正値の各々を、該第1修正値の総和がDeと等しくなるように決定するため、修正手段は、第1修正値による修正処理として、増加量差分算出手段により記憶部に記憶された1周期分の増加量差分の総和を、Deだけ減らす処理を行うこととなる。尚、Deが負の場合、「Deだけ減らす」とは、換言すれば「そのDeの絶対値だけ増やす」ということになる。
そして、このような第1修正値による修正により、出力処理手段の補正処理で用いられる増加量差分を、直前の1周期における推定角度の増加量が実検出角度の増加量(即ち基準角度分の増加量)と同じであったと仮定した場合の増加量差分であって、1周期単位での回転速度変動に伴う推定誤差Gが推定角度に含まれていなかったと仮定した場合の増加量差分にすることができ、単位角度情報の誤差補正に適した増加量差分が得られる。このため、補正角度情報の値を、1周期単位での回転速度変動が反映された、より確かな推定角度に追従させることができる。
尚、Deの絶対値が単位角度に相当する値(即ち最小値)ならば、第1修正値決定手段は、何れか1つの第1修正値をDeにして他の第1修正値は0にすることとなり、この場合、修正手段は、記憶部に記憶された1周期分の増加量差分のうちの何れか1つからDeを減じることとなるが、Deの絶対値が、単位角度に相当する値よりも大きい場合には、請求項4に記載のように、第1修正値決定手段は、DeをN個(Nは2以上の整数)の値に分割し、その分割した各値を、N個の第1修正値として決定するのが好ましい。
このようにすれば、修正手段は、DeをN個の値に分割して、増加量差分算出手段により記憶部に記憶された1周期分の増加量差分のうち、N個の増加量差分の各々から、前記分割したN個の各値をそれぞれ減じることとなり、Deの値を複数区間の増加量差分に分散させることができるため、1周期に渡って適切に単位角度情報の誤差補正を行うことができるからである。
更に具体的には、第1修正値決定手段は、Deの値を、各区間同士の角度幅の比率と極力(可能な限り)同じ比率に分割すると共に、その分割した各値を、それの分割比に対応した角度幅比率の区間の増加量差分に対する第1修正値とするのが好ましい。
このようにすれば、単位角度情報の1周期分の補正において、Deの値を均等に反映させることができるからである。例えば、区間の数がKで、そのK個の区間同士の角度幅比率が同じであるとすると、Deの絶対値が単位角度に相当する値のK倍よりも大きい場合には、そのDeの値をK個に極力均等に分割し、その分割した各値を、各区間の増加量差分に対する第1修正値とすれば良い。
尚、Deが負の場合、それを分割したN個の各値(第1修正値)も負の値となる。つまり、N個の第1修正値は、合計するとDeになるものである。そして、そのN個の第1修正値が負の場合、「増加量差分を第1修正値だけ減らす」とは、換言すると「増加量差分に第1修正値の絶対値を加える」ということになる。
ところで、第1修正値による増加量差分の修正は、前述したように、モータの回転速度が1周期単位でしか変わらない(加減速しても1周期内では回転速度が一定)と仮定したものであり、補正角度情報の値を、1周期単位での回転速度変動が反映された推定角度であって、図18の右側1周期における一点鎖線で示す如く、時間に比例すると共に、初期値及び最終値になるタイミングが実検出角度と同じである推定角度(以下、直線的理想推定角度ともいう)に、追従させようとするものである。
しかし、厳密には、1周期内でもモータの回転速度は変化することから、真の角度は、時間に対して曲線的に変化し、例えばモータの加速時においては、図18の右側1周期における点線で示すように変化する。即ち、角度が初期値(図18では「0」と記載している)に近いときには、真の角度の増加率(時間に対する増加率であり、図18における波形の傾きに該当)の方が、直線的理想推定角度の増加率よりも小さく、角度が初期値と最終値(図18では「4095」と記載している)との中間辺りでは、真の角度と直線的理想推定角度とで増加率がほぼ同じになり、角度が最終値に近づくと、真の角度の増加率の方が直線的理想推定角度の増加率よりも大きくなる。
このため、モータが加速している場合、実検出角度の区間のうち、初期値に近い区間では、直線的理想推定角度の増加量が真の角度の増加量よりも多くなり、最終値に近い区間では、直線的理想推定角度の増加量が真の角度の増加量よりも少なくなる。そして、このことは、推実差分及び増加量差分を算出するための推定角度が真の角度と一致している場合(即ち、本当に理想的な場合)と比較すると、初期値に近い区間での増加量差分が多目になってしまうと共に、最終値に近い区間での増加量差分が少な目になってしまうことを意味し、更に、この傾向は、加速の度合いが大きいほど顕著になる。
また逆に、モータが減速している場合、実検出角度の区間のうち、初期値に近い区間では、直線的理想推定角度の増加量が真の角度の増加量よりも少なくなり、最終値に近い区間では、直線的理想推定角度の増加量が真の角度の増加量よりも多くなる。そして、このことは、上記の本当に理想的な場合と比較すると、初期値に近い区間での増加量差分が少な目になってしまうと共に、最終値に近い区間での増加量差分が多目になってしまうことを意味し、更に、この傾向は、減速の度合いが大きいほど顕著になる。
そこで、請求項3の走行用モータ制御装置では、修正手段が第2修正値決定手段を更に備えている。
第2修正値決定手段は、基準角度情報の前回出力時から今回出力時までの1周期時間(今回の1周期時間)と、基準角度情報の前々回出力時から前回出力時までの1周期時間(前回の1周期時間)とから、モータの加減速の度合いを検出して、増加量差分算出手段により記憶部に記憶された1周期分の増加量差分の各々に対する第2修正値を、その検出した加減速の度合いに基づき決定する手段である。
そして、この第2修正値決定手段は、検出した加減速の度合いが加速を示す場合には、第2修正値の各々を、該第2修正値の総和が0となり、且つ、前記各区間のうちで大きい角度の区間についての増加量差分に対する該第2修正値ほど大きい値となるように決定する一方、検出した加減速の度合いが減速を示す場合には、第2修正値の各々を、該第2修正値の総和が0となり、且つ、前記各区間のうちで大きい角度の区間についての増加量差分に対する該第2修正値ほど小さい値となるように決定し、しかも、検出した加減速の度合いが大きいほど、第2修正値の各々を、該各第2修正値の絶対値の総和が大きくなるように決定する。尚、第2修正値も、正と負の何れにもなり得るものである。
そして、修正手段は、元の増加量差分を修正するための処理として、元の増加量差分の各々を、その増加量差分に対して決定された第1修正値だけ減らすことに加え、その増加量差分に対して決定された第2修正値だけ増やす処理も行う。
このような第2修正値による修正により、モータが加速している場合には、初期値に近い区間ほど、また、加速の度合いが大きいほど、増加量差分を大きく減らし、最終値に近い区間ほど、また、加速の度合いが大きいほど、増加量差分を大きく増やすこととなる。逆に、モータが減速している場合には、初期値に近い区間ほど、また、減速の度合いが大きいほど、増加量差分を大きく増やし、最終値に近い区間ほど、また、減速の度合いが大きいほど、増加量差分を大きく減らすこととなる。
そして、このような第2修正値による修正により、補正処理で用いられる増加量差分を、1周期内でのモータの加減速に伴う推定誤差をも推定角度に含まれていなかったと仮定した場合の増加量差分となるようにしている。換言すれば、補正角度情報の値を追従させる見かけ上の推定角度を、1周期内でのモータの加減速をも反映した一層確かな推定角度(真の角度に一層近い推定角度)にしている。このため、補正角度情報の精度(即ち、回転角度検出の精度)を上げることができる。
次に、請求項5の走行用モータ制御装置は、請求項1〜4の走行用モータ制御装置において、更新禁止手段を備えている。そして、その更新禁止手段は、実検出角度が最終角度になったときに推実差分算出手段により算出された最終角度での推実差分の絶対値が所定値以上の場合に、その回の1周期において推実差分算出手段が算出した推実差分を無効化して、出力処理手段が補正処理で用いる記憶部内の増加量差分が更新されるのを禁止する。
つまり、最終角度での推実差分の絶対値が所定値以上になった場合には、推定角度と実検出角度との間にあまりにも大きな差があり、その回の1周期における推実差分に基づいた増加量差分を次の1周期における補正処理で用いると、単位角度情報を正しく補正できない可能性があると判断して、記憶部内の増加量差分が更新されるのを禁止するようにしている。そして、この構成によれば、誤った補正をしてしまうことを回避することができる。
次に、請求項6の走行用モータ制御装置では、請求項1〜5の走行用モータ制御装置において、時間推定手段は、今回計測した1周期時間Tbから前回計測した1周期時間Taを減算した結果と、今回計測した1周期時間Tbとを加算した時間を、次回の1周期時間の推定値として算出し、その算出した1周期時間の推定値に基づいて、モータが単位角度回転するのに要する時間(推定時間)を推定すること、を特徴としている。
つまり、単に今回計測した1周期時間Tbを用いるのではなく、その今回の1周期時間Tbに、前回の1周期時間Taとの差(=Tb−Ta)を加味した時間(=2×Tb−Ta)を、1周期時間の推定値として算出するようにしている。そして、その1周期時間の推定値は、モータの加・減速状態が考慮されたものとなるため、その推定値に基づいて推定時間の推定を行うことにより、加・減速状態であっても、その状態に応じたより高精度の推定を行うことができる。そして、このようにして推定された高精度の推定時間に基づいて、角度推定手段はより高精度な推定角度情報を生成することができ、その結果、基準角度情報の補正精度を一層向上させることができる。
尚、既述したように、推実差分、増加量差分、第1修正値、第2修正値は、正と負の何れにもなり得るため、各請求項は、適宜読み替えることができる。例えば、請求項1における増加量差分の説明として「前記推定角度の増加量がどれだけ多かったかを示す増加量差分」と記載しているところを、「前記推定角度の増加量がどれだけ少なかったかを示す増加量差分」と読み替えたなら、請求項1における補正処理の説明として「前記増加量差分だけ多くなるように」と記載しているところを、「前記増加量差分だけ少なくなるように」と読み替えれば良い。
一方、請求項7の走行用モータ制御装置では、請求項1の走行用モータ制御装置と比較すると、前述の推実差分算出手段を備えておらず、増加量差分算出手段は、前記基準角度情報の出力間隔である1周期毎に、前記単位角度情報が示す回転角度である実検出角度が、前記基準角度情報の出力タイミングでの初期値から、該実検出角度の最終値を含む複数の代表角度のうち最も小さい最小代表角度になるまでの区間と、隣接する前記代表角度同士の区間との各々について、その各区間での実検出角度の増加量に対して前記推定角度情報が示す回転角度である推定角度の増加量がどれだけ多かったかを示す増加量差分を算出し、該増加量差分を、記憶部に、どの区間に対応するものであるかを識別可能に記憶する。そして、このような請求項7の走行用モータ制御装置によっても、請求項1の走行用モータ制御装置と同様の効果が得られる。
次に、請求項8の走行用モータ制御装置は、請求項7の走行用モータ制御装置において、推定誤差算出手段を備えており、その推定誤差算出手段は、前記1周期毎に、推定角度の該1周期分の誤差であって、推定角度が実検出角度に対してどれだけ進んでいたかを示す総累積推定誤差を算出する。尚、この総累積推定誤差の1つの算出形態として、前述した最終角度での推実差分が考えられる。
そして、修正手段は、第1修正値決定手段を備えており、その第1修正値決定手段は、増加量差分算出手段により記憶部に記憶された1周期分の増加量差分の各々に対する第1修正値を、該1周期分の増加量差分と同じ1周期について推定誤差算出手段により算出された総累積推定誤差に基づき決定する手段であり、第1修正値の各々を、該第1修正値の総和が前記総累積推定誤差と等しくなるように決定する。そして更に、修正手段は、増加量差分算出手段により記憶部に記憶された1周期分の増加量差分(元の増加量差分)を修正するための処理として、元の増加量差分の各々を、その増加量差分に対して決定された前記第1修正値だけ減らす処理を行う。
つまり、請求項8の走行用モータ制御装置では、請求項2の走行用モータ制御装置と比較すると、推実差分算出手段により算出された最終角度での推実差分に代えて、推定誤差算出手段により算出された総累積推定誤差を用いて、第1修正値を決定している。そして、このような請求項8の走行用モータ制御装置によっても、請求項2の走行用モータ制御装置と同様の効果が得られる。
また、請求項9の走行用モータ制御装置は、請求項3に記載の構成と同様の構成を備えているため、その請求項3の走行用モータ制御装置と同様の効果が得られる。
また、請求項10の走行用モータ制御装置では、請求項8,9の走行用モータ制御装置において、第1修正値決定手段は、総累積推定誤差の絶対値が、単位角度に相当する値よりも大きい場合、総累積推定誤差をN個(Nは2以上の整数)の値に分割し、その分割した各値を、N個の第1修正値として決定する。そして、この請求項10の走行用モータ制御装置によれば、請求項4の走行用モータ制御装置と同様の効果が得られる。
また、請求項11の走行用モータ制御装置は、請求項8〜10の走行用モータ制御装置において、推定誤差算出手段により算出された総累積推定誤差の絶対値が所定値以上の場合に、出力処理手段が補正処理で用いる記憶部内の増加量差分が更新されるのを禁止する更新禁止手段を備えている。このため、請求項5の走行用モータ制御装置と同様の効果が得られる。
また、請求項12の走行用モータ制御装置は、請求項6に記載の構成と同様の構成を備えているため、その請求項6の走行用モータ制御装置と同様の効果が得られる。
一方、請求項13,14のモータ制御システムも、請求項1の走行用モータ制御装置と同様の特徴を有しているため、請求項1の走行用モータ制御装置と同様の効果が得られる。尚、第1差分は、推実差分に相当するものであり、第2差分は、増加量差分に相当するものであり、学習値は、修正した後の増加量差分に相当するものである。
また、請求項15の記録媒体も、それに記録されたプログラムが請求項1の走行用モータ制御装置と同様の特徴を有しているため、請求項1の走行用モータ制御装置と同様の効果が得られる。
また、請求項16の検出角度補正方法も、請求項1の走行用モータ制御装置と同様の特徴を有しているため、請求項1の走行用モータ制御装置と同様の効果が得られる。
また、請求項17の回転検出装置も、請求項1の走行用モータ制御装置と同様の特徴を有しているため、請求項1の走行用モータ制御装置と同様の効果が得られる。
また、請求項18の回転検出装置も、請求項7の走行用モータ制御装置と同様の特徴を有しているため、請求項7の走行用モータ制御装置と同様の効果が得られる。
第1実施形態の電気自動車の制御システムを表す構成図である。 第1実施形態のレゾルバ及び回転角検出部の概略構成を表す構成図である。 第1実施形態の誤差補正部の構成を表す構成図である。 RD変換部から出力されるA,B,Z各相信号と、これら信号に基づいて誤差補正部内で生成される実パルスPrとそのカウント値(実カウント値Kr)を説明するための説明図である。 RD変換部から出力されるZ相信号と、このZ相信号に基づいて誤差補正部内で生成される推定パルスPpとそのカウント値(推定カウント値Kp)を説明するための説明図である。 実施形態の除算方法を説明するための説明図である。 差分記録部にて行われる学習処理を表すフローチャートである。 学習値を求める手順を説明する説明図である。 配分規則を説明する説明図である。 推定角度が正しい場合と正しくない場合とを説明する説明図である。 補正カウント部にて行われる出力更新処理を表すフローチャートである。 補正量計算部を説明する説明図である。 誤差補正部の動作の流れを表す説明図である。 第2実施形態の、学習値を求める手順を表す説明図である。 学習値算出処理を表すフローチャートである。 加減速修正値決定用マップを説明する説明図である。 第2実施形態の、学習値の算出例を説明する説明図である。 発明の原理を説明するための説明図である。 学習値を求める第1変形例の手順を説明する説明図である。 第1変形例における差分記録部にて行われる学習処理を表すフローチャートである。 第2変形例における差分記録部にて行われる学習処理を表すフローチャートである。 ホール素子と磁気抵抗素子を有する回転センサを説明する説明図である。
以下に、本発明が適用された実施形態の、車両の走行用モータ制御装置について説明する。尚、本実施形態の走行用モータ制御装置は、車両としての電気自動車に搭載されて、その電気自動車の動力源となる走行用モータを制御するものである。
[第1実施形態]
まず、図1は、第1実施形態の電気自動車の制御システムを表す構成図である。
図1に示すように、本実施形態の電気自動車には、公知の交流同期モータからなる走行用モータ(以下単に、モータともいう)1と、直流電源であるバッテリ3と、バッテリ3の直流出力電圧を三相交流に変換し、該変換したU相、V相及びW相の三相交流電流によってモータ1を駆動する公知のインバータ5と、インバータ5を介してモータ1を制御する走行用モータ制御装置(以下、ECUという)7と、が搭載されている。そして、モータ1の出力軸1aは、ディファレンシャルギヤ9を介して左右の駆動輪11に連結されている。
尚、インバータ5は、例えばIGBT(絶縁ゲート型バイポーラトランジスタ)等からなる6個のスイッチング素子と、それらスイッチング素子を駆動する駆動回路とを備え、その駆動回路が、ECU7から入力されるパルス幅変調信号UU,UV,UWに基づいて、上記スイッチング素子をオン/オフさせることにより、バッテリ3の直流を三相交流に変換する。
更に、モータ1の出力軸1aには、該モータ1の回転角度(詳しくは、モータ1のロータの回転角度)を検出するためのセンサとして、レゾルバ13が設けられている。レゾルバ13は、レゾルバステータと、そのレゾルバステータ内に回転自在に配置されると共に、モータ1の出力軸1aに固定されて該出力軸1aと共に回転するレゾルバロータとを備えている。
そして、レゾルバ13は、レゾルバロータとレゾルバステータとの間のリラクタンスが、レゾルバロータの回転位置(モータ1の回転角度でもある)によって変化するように構成されており、そのリラクタンスの変化に応じて(即ち、モータ1の回転角度に応じて)正弦波状に振幅が変わると共に位相が電気角で90°ずれた2つの回転検出信号Sa,Sbを出力する。
より詳しく説明すると、レゾルバ13において、レゾルバステータには、一次コイルと、2つの二次コイルとが設けられている。そして、一次コイルに一定周波数の励磁信号f(t)が供給されることで、二次コイルの各々から、モータ1の回転角度に応じた回転検出信号として、励磁信号f(t)をsinθで振幅変調した波形の回転検出信号Sa(=f(t)・sinθ)と、励磁信号f(t)をcosθで振幅変調した波形の回転検出信号Sb(=f(t)・cosθ)とが出力される。
尚、θは、モータの回転角度を1以上の整数n倍した角度であり、レゾルバ13の電気的な回転角度(電気角)を示すものでもある。また、nは、モータの1回転あたりにθが回転する回数(即ち、機械角に対する電気角の倍速比)であり、一般には軸倍角と呼ばれる。
また、以下の説明においては、特に断りのない限り、レゾルバ13について「回転」というときは、レゾルバロータの機械的な回転ではなく電気的な回転を意味し、「周期」あるいは「1周期」というときは、レゾルバ13の電気的な1回転の期間を意味するものとする。そのため、レゾルバ13の回転角度とは、レゾルバ13の電気的な回転角度(電気角)を意味するものである。
本実施形態のレゾルバ13は、レゾルバロータとレゾルバステータとの間のリラクタンス変化の1周期、即ち回転検出信号Sa,Sbの1周期(詳しくは、基本波成分であるsinθ及びcosθの1周期)が、レゾルバロータの1回転(即ち、機械的な1回転でありモータ1の1回転でもある)に対応するように構成されている。つまり、回転検出信号Sa,Sbの電気角とレゾルバロータの機械角とが同じであり、軸倍角が1になっている。
但し、このようにレゾルバ13の軸倍角が1であるのはあくまでも一例であり、このような構成に限らず、レゾルバ13は、回転検出信号Sa,SbのN周期(Nは2以上の整数)が、レゾルバロータの1回転に対応するように構成されているもの(つまり、軸倍角がNであるもの)であっても良い。そのため、例えば軸倍角が2のレゾルバの場合、モータ1が1回転する間に、レゾルバ13の回転角度は0度〜720度となる。換言すれば、モータ1が半回転する毎にレゾルバは1回転する、ということである。レゾルバ13の1回転あたりのモータ1の回転角度は本発明の基準角度に相当するものである。
一方更に、図1に示す如く、インバータ5からモータ1への各相の電流供給線21,22,23の各々には、電流センサ25,26,27が配設されている。そして、電流センサ25は、モータ1のU相電流レベルを検出してこれに対応するU相電流信号を出力する。同様に、電流センサ26は、モータ1のV相電流レベルを検出してこれに対応するV相電流信号を出力し、電流センサ27は、モータ1のW相電流レベルを検出してこれに対応するW相電流信号を出力する。そして、電流センサ25〜27からの各相の電流信号は、ECU7に入力される。
また更に、電気自動車には、その電気自動車の運転状態を検出するためのセンサとして、アクセルセンサ31、ブレーキセンサ32、及びシフトポジションセンサ33等が設けられている。
アクセルセンサ31は、運転者によって操作される図示しないアクセルペダルに付設されており、同アクセルペダルの踏み込み量に対応したアクセル開度信号を出力する。ブレーキセンサ32は、運転者によって操作される図示しないブレーキペダルに付設されており、同ブレーキペダルの踏み込み量に対応したブレーキ油圧信号を出力する。シフトポジションセンサ33は、運転者によって操作される図示しないシフトレバーに付設されており、当該レバーが車両の前進、ニュートラル、後退、駐車の各モードのいずれかに選択的に操作されたかを検出しこれをシフトポジション信号として出力する。
そして、それら各センサ31〜33からの信号(アクセル開度信号,ブレーキ油圧信号,シフトポジション信号)も、車両運転情報としてECU7に入力される。
ECU7は、レゾルバ13に励磁信号f(t)を供給すると共に、レゾルバ13から出出力される回転検出信号Sa,Sbを入力して、その回転検出信号Sa,Sbから、モータ1の回転角度を示すデジタルデータ(以下、角度データという)φを出力する回転角検出部35と、周知のCPU、ROM、RAM、及びI/O回路等からなるマイコン37と、パルス幅変調回路(PWM回路)39とを備えている。尚、回転角検出部35から出力される角度データφは、レゾルバ13の回転角度を表すデータであり、モータ1の回転角度を直接的に表しているものではない。しかし、本実施形態ではレゾルバ13の軸倍角が1であるため、回転角検出部35から出力される角度データφは、結果的にはモータ1の回転角度を直接表すものとなっている。
パルス幅変調回路39は、マイコン37からの制御信号に従って、三相交流電流の各相に対応したパルス幅変調信号UU,UV,UWを生成し、それら各パルス幅変調信号UU,UV,UWをインバータ5に出力する。これにより、インバータ5からモータ1へ、U相、V相及びW相の三相交流電流が供給される。
マイコン37は、回転角検出部35からの角度データφを、モータ1の回転角度の検出値として入力すると共に、例えば、その角度データφの単位時間あたりの変化分から、モータ1の回転数(回転速度)を算出する。
そして、マイコン37は、モータ1の回転情報である回転角度及び回転数と、電流センサ25〜27や他のセンサ31〜33からの信号に基づいて、インバータ5を駆動することにより、車両の運転状態に応じた所望のトルクをモータ1に発生させる。尚、こうしたモータ1の制御自体は公知のものであるが、簡単に説明しておく。
即ち、マイコン37は、モータ1の回転角度及び回転数と、車両運転情報(アクセル開度信号、ブレーキ油圧信号及びシフトポジション信号)等に基づいて、モータ1に発生させるべきトルクの要求量を演算し、その要求量に基づいて公知のベクトル演算によりモータ1を通電するための電流指令ベクトルを演算する。そして、その演算結果に基づいて、上記要求量のトルクをモータ1に発生させるための制御信号を、パルス幅変調回路39に出力する。更に、このとき、マイコン37は、電流センサ25〜27からの電流信号のうちの少なくとも2つ(例えば、U相電流信号とW相電流信号)に基づいて、モータ1に流れる三相の各電流が目標値となるように、パルス幅変調回路39への制御信号(延いては、パルス幅変調回路39からインバータ5へのパルス幅変調信号UU,UV,UW)をフィードバック制御する。
次に、回転角検出部35の構成について、図2及び図3を用いて説明する。図2は、レゾルバ13及び回転角検出部35の概略構成を表す構成図であり、図3は、回転角検出部35を構成する誤差補正部17の構成を表す構成図である。
まず、モータ1の回転角度の検出方法の概略を説明する。
図2は、レゾルバ13(回転検出手段)と、回転検出部35を構成するRD変換部(回転検出手段)と誤差補正部17(補正手段)を示す。誤差補正部17は、より詳しくは、図3に示すように、排他的論理和演算部41(回転検出手段)と、実パルスカウンタ42(回転検出手段)と、推定角度パルス信号生成部43(時間推定手段)と、推定パルスカウンタ44(角度推定手段)と、差分記録部45(推実差分算出手段、増加量差分算出手段、修正手段)と、補正量計算部46(出力処理手段)と、補正カウント部47(出力処理手段)と、を備えている。
図2に示すように、レゾルバ13にて検出されたモータ1の回転角度は、回転検出信号Sa、SbとしてRD変換部16に送られる。RD変換部16は、入力された回転検出信号Sa、Sbに基づき、A相信号(単位回転角度情報(単位角度情報でもある))、B相信号(単位回転角度情報(単位角度情報でもある))、及びZ相信号(基準角度情報)を誤差補正部17に出力する。
そして、図3に示すように、まず、誤差補正部17の排他的論理和演算部41(回転検出手段)は、A相信号、B相信号を受け取り、実パルスPrを生成する。生成された実パルスPrと前述のZ相信号とが実パルスカウンタ42に入力され、実パルスカウンタ42はモータ1の回転の実検出角度を示す実カウント値Kr(実検出角度情報)を算出する。同時に、推定角度パルス信号生成部43(時間推定手段)は、Z相信号に基づき推定パルスPpを生成する。また、推定パルスカウンタ44(角度推定手段)は、推定パルスPpとZ相信号とから、モータ1の回転角度の推定値を示す推定カウント値Kp(推定角度情報)を算出する。そして、上記のように、ともにZ相信号に基づいて算出された実カウント値Krと推定カウント値Kpとが差分記録部45(推実差分算出手段、増加量差分算出手段、修正手段)に入力される。差分記録部45は、実カウント値Krと推定カウント値Kpとに基づき学習値dxを算出し、メモリ45a(記憶部)に保存する。そして、補正量計算部46(出力処理手段)と補正カウント部47(出力処理手段)は、保存された学習値dxを用いて実カウント値Krを補正することで、補正されたモータ1の回転角度を示す補正カウント値φ(補正角度情報)を算出して出力する。
更に詳細に言えば、レゾルバ13、RD変換部16、排他的論理和演算部41、及び実パルスカウンタ42(回転検出手段)は、Z相信号(基準角度情報)をモータ1が基準角度だけ回転する度に出力し、また、モータ1が基準角度よりも小さい一定の単位角度を回転する度に実カウント値Kr(実検出角度情報)を出力する。尚、基準角度情報とは、モータ1が基準角度回転したことを示す。基準角度は、360度をn(nは正の整数)で割って計算される角度を示す。実検出角度情報は、基準角度情報が出力された時のタイミング(基準タイミング)を基準にして計測されたモータ1の実際の回転検出角度を示す。また、以下では、Z相信号のことを基準角度情報とも言い、実カウント値Krのことを実検出角度情報とも言い、補正カウント値φのことを補正角度情報とも言う。
そして、ECU7(走行用モータ制御装置)は、基準角度情報と実検出角度情報とを使って、モータ1の通電を制御するが、制御精度を上げるために誤差補正部17(補正手段)を備える。
誤差補正部17(補正手段)は、基準角度情報が出力されるタイミングを基準にして計測された、モータ1の補正された回転角度を示す補正角度情報を出力するために、実検出角度情報の誤差を補正する。そして、ECU7(走行用モータ制御装置)は、補正角度情報に基づいてモータ1の通電を制御する。
上記補正角度情報を出力するため、誤差補正部17(補正手段)は、推定角度パルス信号生成部43(時間推定手段)と、推定パルスカウンタ44(角度推定手段)と、差分記録部45(推実差分算出手段、増加量差分算出手段、修正手段)と、補正量計算部46(出力処理手段)と、補正カウント部47(出力処理手段)とを含む。
推定角度パルス信号生成部43(時間推定手段)は、Z相信号(基準角度情報)が出力される度に、Z相信号の1周期である時間(1周期時間)Tを計測する。その時間Tは、Z相信号が前回出力された時刻から、Z相信号が今回出力された時刻までの間を計測したものである。更に、推定角度パルス信号生成部43は、推定時間ΔTを演算する。推定時間ΔTとは、モータ1の以後の回転においてモータ1が分解角(単位角度)だけ回転するのに必要な時間である。
推定パルスタウンタ44(角度推定手段)は、推定角度パルス信号生成部43(時間推定手段)によって推定された時間ΔTが経過する毎に、その時間ΔTが経過する間においてモータ1が分解角(単位角度)だけ回転するという想定の下で、Z相信号の出力タイミングを基準にしたモータ1の推定回転角度を演算し、その推定回転角度を示す推定カウント値Kp(推定角度情報)を出力する。
そして、差分記録部45の推実差分算出手段としての機能により、複数の代表角度毎の推実差分(第1差分)が算出される。即ち、Z相信号(基準角度情報)の1周期の間、実カウント値Kr(実検出角度情報)が複数の代表角度(本実施形態では45度、90度、135度、180度、225度、270度、315度、実カウント値Krの最終値である360度)のうちの1つに相当する値になることによって、モータ1の回転の実検出角度が上記複数の代表角度のうちの1つになる度に、その時の代表角度についての推実差分(第1差分)が算出される。推実差分(第1差分)は、「実検出カウント値Kr(実検出角度情報)によって示される実検出角度」に対する「推定カウント値Kp(推定角度情報)によって示される推定角度」の進み量を示す。
更に、上記算出された1周期分の複数の代表角度の推実差分(第1差分)に基づいて、差分記録部45の増加量差分算出手段としての機能により、複数の角度区間についての増加量差分(第2差分)が算出される。複数の角度区間の1つは、Z相信号(基準角度情報)の出力タイミングにおける実カウント値Krが示す実検出角度の初期値と、複数の代表角度のうちの最小の代表角度(本実施形態では45度)との間と定義されている。また、複数の角度区間のうちの他の各々は、隣接した代表角度同士の間と定義される。そして、複数の増加量差分(第2差分)の各々は、その増加量差分(第2差分)に対応する角度区間での、「実カウント値Kr(実検出角度情報)により示される実検出角度の増加量」に対する「推定カウント値Kp(推定角度情報)により示される推定角度の増加量」の進み量を示す。
そして、複数の角度区間についての複数の第2差分の各々は、差分記録部45の増加量差分算出手段としての機能により、複数の角度区間の各々に関連するように(つまり、どの角度区間に対応するものか識別できるように)メモリ45a(詳しくは、メモリ45aに設けられた増加量差分(第2差分)記録テーブル)(記憶部)に記録される。
更に、差分記録部45(修正手段)は、メモリ45a(記憶部)に記憶された1周期分の複数の角度区間毎の増加量差分(第2差分)を、モータ1の加減速の度合いに応じて修正する。その修正後の増加量差分(第2差分)が学習値である。
また、補正量計算部46及び補正カウント部47(出力処理手段)は、初期化処理と、出力更新処理と、補正処理とを実行する。
初期化処理においては、Z相信号(基準角度情報)が出力された時に、補正カウント値φ(補正角度情報)が初期値(本実施形態では0)にセットされる。
出力更新処理においては、Z相信号(基準角度情報)の出力タイミングを基準として、実カウント値Kr(実検出角度情報)が出力される度に、補正カウント値φ(補正角度情報)が、単位角度に相当する所定値ずつ増加させられる。
補正処理においては、実カウント値Kr(実検出角度情報)により示される実検出角度が上記複数の各角度区間で変化する各期間において、上記修正された後の増加量差分(第2差分)である学習値のうち、現在の角度区間に対応する1つの学習値が示す値だけ、補正カウント値φ(補正角度情報)の増加量が多くなるように、出力更新処理で使われる所定値(補正量)が変化させられる。つまり、初期角度(0度)と最小代表角度(45度)との間と、1つの代表角度と次の代表角度との間との、各々として定義される各角度区間において、実検出角度が変化していく間に、補正カウント値φの増加量が、実際の実検出角度の変化量に加えて、現在の角度区間に対応する学習値(修正された増加量差分)の分だけ増加するように、上記所定値(補正量)は変化させられる。
以上が概略であり、以下では、最初に、モータ1の回転角度の実検出角度を示す実カウント値Krを補正するための学習値dx(xは正の整数)の算出方法を説明し、その後、学習値dxを用いた実カウント値Krの補正方法を説明する。
図2に示すように、回転角検出部35は、RD変換部16と、誤差補正部17と、を備えている。RD変換部16は、レゾルバ13に励磁信号f(t)を供給すると共に、レゾルバ13から出力される回転検出信号Sa,Sbを入力して、その回転検出信号Sa,Sbから、モータ1の回転角度(詳しくはレゾルバ13の回転角度)を示す回転情報であるA相信号、B相信号、及びZ相信号を出力する。
RD変換部16は、デジタルトラッキング方式のRDC(Resolver Digital Converter)であり、図示は省略しているものの、その内部で、レゾルバ13から入力される回転検出信号Sa,Sbを、レゾルバ13の回転角度を表すデジタルデータ(以下、実検出データという)に変換する。この変換方法についてはよく知られているため、ここでは詳細説明を省略する。
また、RD変換部16は、その内部にエンコーダ・エミュレータを備えており、上記変換後の実検出データが、いわゆるインクリメンタルエンコーダが出力する信号と同等の形式のパルス信号(A相信号、B相信号、Z相信号)に変換される。これら各パルス信号の具体例を、図4(a)〜(c)に示す。
図4(a)〜(c)に示すように、A相信号及びB相信号は、いずれも、レゾルバ13が所定角度回転する毎に1つのパルスが発生するものであり、A相信号とB相信号は互いに位相が90度ずれている。Z相信号は、角度検出の原点(0度)を指定する信号であり、レゾルバ13が1回転する毎に1つのパルスが発生する。
なお、詳しくは後述するが、誤差補正部17では、A相信号及びB相信号に基づき、両者の排他的論理和を計算して、その計算結果に応じたパルスである実パルスPr(図4(d)参照)が生成される。この実パルスPrの、レゾルバ131回転中に発生するパルスエッジ(立ち上がりエッジ及び立ち下がりエッジ)の回数が、RD変換部16の分解能(即ち、角度検出の分解能)を示すものとなる。
具体的には、本実施形態のRD変換部16の分解能が、例えば12ビット(0〜4095)であるとすると、レゾルバ13が0度〜360度まで1回転する間に、実パルスPrが2048個発生し、よってそのパルスエッジ発生回数は4096回となる。
尚、実パルスPrのエッジ発生タイミングから次のエッジ発生タイミングまでの間隔をパルス幅として、1つのパルス幅あたりのレゾルバ13の回転角度が、レゾルバ13にて検出可能な最小単位の角度であり、この1つのパルス幅あたりのモータ1の実際の回転角度が本発明の「単位角度」に相当するものである。本実施形態では、実パルスPrの1つのパルス幅あたりのレゾルバ回転角度は、360/4096度であり、以下この角度を分解角とも称す。言い換えれば、分解角は、“360度”÷“レゾルバ13の軸倍角”÷“RD変換部16の分解能”である。
ところで、レゾルバ13から出力される2つの回転検出信号Sa,Sbは、互いに振幅が等しく、また互いにオフセットが無く、更に互いの位相差が90度であることが理想的である。しかし、実際には、上述した製造ばらつき等の種々の原因により、レゾルバ13からの回転検出信号Sa,Sbは上述した理想的なものとはならず、製造ばらつき等に起因する誤差を含むものとなってしまう。そのため、RD変換部16内部で生成される実検出データも誤差を含むデータとなり、これに基づいて生成されるA,B各相信号も誤差を含む信号となってしまう。
そこで本実施形態では、回転角検出部35内に、RD変換部16による検出結果を補正するための誤差補正部17が設けられている。誤差補正部17は、RD変換部16からA,B,Z各相信号を入力し、これら各相信号に基づいて、レゾルバ13の製造ばらつき等に起因する誤差が抑えられた(或いは完全に除去された)角度データφを生成する。そして、この誤差補正部17により生成された角度データφが、マイコン37へ入力される。
誤差補正部17は、より詳しくは、図3に示すように、排他的論理和演算部41と、実パルスカウンタ42と、推定角度パルス信号生成部43と、推定パルスカウンタ44と、差分記録部45と、補正量計算部46と、補正カウント部47と、を備えている。
排他的論理和演算部41は、A相信号及びB相信号の排他的論理和を計算して、その計算結果に応じた実パルスPr(図4(d)参照)を生成する。
実パルスカウンタ42は、排他的論理和演算部41にて生成された実パルスPrが入力され、この実パルスPrをカウントする。より詳しくは、実パルスPrの立ち上がりエッジ及び立ち下がりエッジを検出して、各エッジの検出タイミングにてカウント値をカウントアップしていく。そして、そのカウント値を実カウント値Krとして出力する。
この実パルスカウンタ42には、実パルスPrの他にZ相信号も入力され、Z相信号のパルスが立ち上がるタイミング毎に、実カウント値Krを0にリセットするよう構成されている。つまり、実パルスカウンタ42は、Z相信号のパルスエッジ立ち上がりタイミング毎にそのタイミングを基準(実カウント値Kr=0)として、実パルスPrのカウントを行う。
図4(e)に、実パルスPrに対する実カウント値Krの出力例を示す。図4(e)に示すように、実カウント値Krは、Z相信号のパルスエッジ立ち上がりタイミングにて0にリセットされ、その後、実パルスPrのエッジ発生タイミング毎にカウントアップされていく。本実施形態では、既述の通りRD変換部16の分解能が12ビットであるため、レゾルバ13が0度〜360度まで一回転する間に、実カウント値Krは0〜4095までの値をとる。
推定角度パルス信号生成部43は、Z相信号のパルスエッジ立ち上がりタイミング毎に、Z相信号のパルス間隔TとRD変換部16の分解能とに基づき、以後の回転において分解角(単位角度)回転するのに要するであろう時間を予測(推定)して、その推定した時間(推定時間)をパルス幅とする推定パルスPpを生成する。つまり、推定角度パルス信号生成部43は、Z相信号(基準角度情報)の出力タイミング毎に、Z相信号の前回出力時から今回出力時までの1周期時間を計測し、計測した1周期時間に基づいて、モータの以後の回転においてモータが分解角(単位角度)回転するのに要する時間を推定する。
具体的には、Z相信号のパルスエッジ立ち上がりタイミング毎に、その直前のZ相信号のパルス間隔(前回のパルスエッジ立ち上がりタイミングから今回の該タイミングまでの時間間隔)を計測する。このパルス間隔は、直前にレゾルバ13が1回転するのに要した実際の1周期時間である。そして、その計測した1周期時間を、レゾルバ13の分解能で除算(本例では4096で除算)することにより、レゾルバ13の分解能単位での時間(即ち、モータ1が単位角度回転するのに要する時間)を得る。そして、そのようにして得られた分解能単位での時間をパルス幅(推定パルス幅)とする推定パルスPpを生成する。
図5を用いてより具体的に説明する。図5(a)は、Z相信号を表し、図5(b)は、推定パルスPpを表す。図5において、例えば時刻tnでZ相信号のパルスが入力されると、直前のレゾルバ13の1周期時間Tn-1を計測し、その1周期時間Tn-1を分解能Rで除算して、推定パルス幅ΔTnを得る。これにより、時刻tn以後、次にZ相信号のパルスが入力される時刻tn+1までの間は、上記算出した推定パルス幅ΔTnをパルス幅とする推定パルスPp、即ち推定パルス幅ΔTnが経過する毎にパルスエッジが発生するような推定パルスPpを生成する。
その後、時刻Tn+1になってZ相信号のパルスが再び入力されると、時刻tnのときと全く同じように、直前のレゾルバ13の1周期時間Tnを計測し、その1周期時間Tnを分解能Rで除算して、推定パルス幅ΔTn+1を得る。これにより、時刻tn+1以後、次にZ相信号のパルスが入力される時刻Tn+2までの間は、上記算出した推定パルス幅ΔTn+1をパルス幅とする推定パルスPpを生成する。時刻tn+2になったときも同じ要領である。
ここで、推定パルス幅ΔTを算出する際に行う除算の方法としては、例えば周知のシフト演算により行うことができる。具体的には、レゾルバ13の1周期時間(Z相信号のパルス間隔)Tの計測については、その1周期時間Tよりも短い所定周期でカウントアップするカウンタを使用して、1周期時間Tに要するカウント値Ctrを取得する。そして、このカウント値Ctrを分解能Rに応じたビット分(本例では12ビット)右シフトすれば、除算結果としての推定パルス幅ΔTが得られる。
しかし、このような単純なシフト演算による除算結果は、必ずしも精度が高いとはいえず、その結果次第では、推定パルス幅ΔTの精度が低くなるおそれがある。
そこで、本実施形態では、基本的にはシフト演算を行いつつも、そのシフト演算における右シフトによって無視された12ビット分を考慮することにより、精度の高い推定パルスPpを生成するようにしている。その具体的な生成方法について、図6を用いて説明する。
推定パルス幅ΔTを求めるために、レゾルバ13の1周期時間Tを計測する必要があるが、この1周期時間Tの計測を、例えば、40MHz(周期25nsec)の基本パルスを用いて、1周期中の基本パルス数をカウンタでカウントすることにより行う。そして、一例として、その計測結果が図6(a)のような15桁のカウント値として得られたものとする。このカウント値は、10進数で表すと「28250」である。つまり、レゾルバ13の1回転中に基本パルスが28250個カウントされた、ということである。
そして、このカウント値に基づき、推定パルス幅ΔTを演算する。即ち、RD変換部16の分解能(12ビット;0〜4095)を考慮し、カウント値「28250」を「4096」で除算する。具体的には、シフト演算を用いて、図6(b)に示すように12ビットだけ右シフトさせる。これにより、「6」という除算結果が得られる。つまり、推定パルス幅ΔTは基本パルス6個分の時間である、ということである。
ところが、このようにシフト演算によって得られた除算結果である「6」というのは、正確な値ではない。なぜなら、「6」という演算結果は、右シフトすることによって小数点以下の部分が無視された、正確性に欠けたものだからである。このことは、28250/4096の除算を正確に行うと6.896973・・・となって、6というよりもむしろ7に近い除算結果となることからも明らかである。
そのため、基本パルス6個分という時間を推定パルス幅ΔTとして推定パルスPpを出力するようにすると、無視された小数点以下の分(0.896973・・・)が誤差となって蓄積されていく。その結果、定速回転しているにもかかわらず、推定パルスPpのカウント値(推定カウント値Kp)が4095になっても、まだレゾルバ13は1回転していない、ということになってしまう。
そこで本実施形態では、小数点以下の部分を完全に無視することなく、小数点以下の部分が十分に考慮された精度の高い推定パルスPpを生成するようにしている。
上述の通り、本来の正しい除算結果は6ではなく、6.896973・・・であるため、可能であるならば、基本パルスの6.896973・・・個分の時間を推定パルス幅ΔTとすべきである。しかし、基本パルスが6.896973・・・個出力される毎に推定パルスPpを出力する、ということは物理的に不可能である。
そのため、本実施形態では、推定パルス幅ΔTが基本パルス6個分である推定パルスPp6と、推定パルス幅ΔTが基本パルス7個分である推定パルスPp7とを、適切に切り替えながら出力する。即ち、除算結果の小数点以下の部分を考慮し、推定パルスPp7を推定パルスPp6よりも多く出力するようにして、結果として、レゾルバ13が1回転する間に推定パルス幅ΔTが基本パルスの6.896973・・・個分の推定パルスPpを出力し続けたことと等価な結果となるようにする。
これを実現すべく、まず、1回転中に出力すべき推定パルスPp7及び推定パルスPp6のそれぞれの総数を算出する。1回転中に出力すべき推定パルスPpはトータルで4096個であるため、推定パルスPp7と推定パルスPp6の総合計も4096となるようにする必要がある。そのため、図6(c)に示すように、上記除算結果の小数点以下の12ビットに着目し、この12ビットが表す数(図6では「3674」)を推定パルスPp7の出力回数としてレジスタ(reg)1にセットし、この12ビットの各ビットを反転させて1を加えたときの数(図6では「422」(=4096−3674))を推定パルスPp6の出力回数としてレジスタ(reg)2にセットする。
このとき、例えば推定パルスPp7だけ連続して3674回出力し続け、その後に推定パルスPp6だけ連続して422回出力し続けたとしても、結果だけをみれば1回転中に所望の数の推定パルスPpを出力できることになる。しかし当然ながら、このような偏った出力方法では、推定パルスPp7が出力されている間は誤差がどんどん増大していき、推定パルスPp6へ移行した後は逆に誤差が減っていくというように、過渡的には誤差が非常に大きくなってしまうこととなる。
つまり、単に推定パルスPp7と推定パルスPp6の出力回数の割合が結果として上記割合(3674:422)となればいい、というわけではなく、1周期全体に渡って誤差の発生が極力抑制されるように、推定パルスPp7と推定パルスPp6とをバランスよくおりまぜながら出力していく必要がある。例えば推定パルスPp7をJ回出力したら次は推定パルスPp6をK回出力する・・・という具合である。
まず、ベースとなる割合、即ち、推定パルスPp6を1回に対して推定パルスPp7を何回出力するのが適切かを決める。具体的には、図6(c)に示すように、reg2のMSBから、最初に「1」が出現する最上位ビットまでのビット数から、ベースとなる出力割合を決める。図6(c)の例では、reg2のMSBから4ビット目にはじめて「1」が出現する。そこで、MSBから4ビット分に着目し、その4ビットが表す回数を、各推定パルスPp7,Pp6の出力割合のベースとする。本例では、推定パルスPp7が14回で推定パルスPp6が1回、という割合となる。
このようにしてベースとなる出力割合が得られたら、まずはこの出力割合にて、各推定パルスPp7,Pp6を出力していく。つまり、まず推定パルスPp7を連続して14回出力し、次に推定パルスPp6を1回出力し、次に再び推定パルスPp7を連続して14回出力する、という具合である。
しかし、このベースとなる出力割合(14:1)は、4ビット精度での割合であるため、少々荒い割合である。即ち、出力割合の精度をより高めてみると、例えば図6(d)のように6ビット精度で出力割合を決めた場合、57:6の出力割合となる。更に精度を上げて図6(e)のように7ビット精度で出力割合を決めた場合、114:13の出力割合となる。
これに対し、4ビット精度での出力割合である14:1にて出力し続けるとどうなるかを考えると、例えば推定パルスPp7を57回出力したとき、推定パルスPp6はまだ4回しか出力されていないこととなり、6ビット精度(図6(d))と比べると誤差が生じている。
そのままさらに14:1の出力割合で出力し続けると、例えば推定パルスPp7を112回出力したとき、推定パルスPp6はまだ8回しか出力されていないこととなり、7ビット精度(図6(e))と比べると、明らに誤差が増えている。
そこで、単にベースとなる出力割合(14:1)で出力し続けるのではなく、ある程度出力したら、より精度の高い出力割合と比較して、その出力割合と現在の出力回数が一致していなければその出力割合に合わせるようにする。
つまり、例えば上記例示したように、推定パルスPp7を57回出力したとき、推定パルスPp6がまだ4回しか出力されていない場合は、推定パルスPp7の出力を57回で一旦中止して、推定パルスPp6を、その出力回数が6ビット精度での回数である6回になるまで、推定パルスPp6を連続して出力する。これにより、推定パルスPp7が57回、推定パルスPp6が6回と、6ビット精度での出力割合に一致したら、再び、ベースとなる出力割合である14:1の割合にて各推定パルスPp7,Pp6を出力する。
そして、次に比較するのは7ビット精度での出力割合である114:13である。そのため、各推定パルスPp7,Pp6のうち、いずれか早くその出力割合が示す回数(推定パルスPp7ならば114回、推定パルスPp6ならば13回)に到達するまでは、ベースの出力割合で出力を継続する。
すると、本例の場合は、推定パルスPp6が13回に到達するよりも先に、推定パルスPp7の方が114回に到達する。そして、推定パルスPp7が114回に到達したとき、推定パルスPp6は10回となっており、7ビット精度での出力割合に一致していない。そのため、この場合も推定パルスPp7を一旦中止して、推定パルスPp6を、その出力回数が13回に到達するまで連続して出力する。これによって、推定パルスPp7が114回、推定パルスPp6が13回と、7ビット精度での出力割合に一致したら、再び、ベースとなる出力割合の14:1で出力する。
なお、出力割合の精度をどこまで高めるかは任意であり、例えば図6に示したように7ビット精度で終えてもよいし、更に精度を高めても良い。
図3に戻り、推定パルスカウンタ44は、推定角度パルス信号生成部43にて生成された推定パルスPpが入力され、この推定パルスPpをカウントする。より詳しくは、推定パルスPpの立ち上がりエッジ及び立ち下がりエッジを検出して、各エッジの検出タイミングにてカウント値をカウントアップしていく。そして、そのカウント値を推定カウント値Kpとして出力する。つまり推定パルスカウンタ44は、Z相信号(基準角度情報)の出力タイミングから、推定角度パルス信号生成部43(時間推定手段)により推定されている時間である推定時間が経過する毎に、推定時間経過中にモータが分解角(単位角度)回転したものと推定してZ相信号の出力タイミングを基準としたモータの回転角度を推定し、推定結果を推定カウント値Kp(推定角度情報)として出力する。
この推定パルスカウンタ44には、推定パルスPpの他にZ相信号も入力され、Z相信号のパルスが立ち上がるタイミング毎に、推定カウント値Kpを0にリセットするよう構成されている。つまり、推定パルスカウンタ44は、Z相信号のパルスエッジ立ち上がりタイミング毎にそのタイミングを基準(推定カウント値Kp=0)として、推定パルスPpのカウントを行う。
図5(c)に、推定パルスPpに対する推定カウント値Kpの出力例を示す。図5(c)に示すように、推定カウント値Kpは、Z相信号のパルスエッジ立ち上がりタイミングにて0にリセットされ、その後、推定パルスPpのエッジ発生タイミング毎にカウントアップされていく。本実施形態では、RD変換部16の分解能が12ビットであるため、推定カウント値Kpは、モータ1の回転速度に変動がなければ、レゾルバ13が0度〜360度まで1回転する間に0〜4095までの値をとることとなる。
つまり、実カウント値Krは、レゾルバ13からの各相信号に基づいて生成される実際の検出角度(実検出角度)を表す値であるのに対し、推定カウント値Kpは、直前のレゾルバ13の1周期時間に基づいた推定パルス幅ΔTが経過する毎にレゾルバ13が分解角ずつ回転していくであろうとの予測によって推定される推定角度を示す値である。
次に、差分記録部45について説明する。
差分記録部45は、実カウント値Krのカウントアップ毎(換言すれば実パルスPrのエッジ発生タイミング毎)に、図7の学習処理を行う。
そして、差分記録部45は、図7の学習処理を開始すると、まずS110にて、現在の実カウント値Krが、予め定められた複数の代表角度のうち、最終角度以外の代表角度に該当する値であるか否かを判定する。
本実施形態では、図8(A)の1段目に示すように、45度間隔の8つの角度、即ち、45度、90度、135度、180度、225度、270度、315度、360度の各々を、代表角度としている。そして、S110では、実カウント値Krが、最終角度である360度以外の代表角度(45度、90度、135度、180度、225度、270度、315度)の何れかに該当する値であるか否か(換言すれば、実検出角度が最終角度以外の代表角度の何れかであるか否か)を判定する。尚、本実施形態において、最終角度としての360度とは、実際に360度ではなく、実カウント値Krが初期値の0に戻る直前の最終値である4095の時の角度を意味している。
上記S110にて、実カウント値Krが360度以外の代表角度に該当する値であると判定した場合には、S120に進む。
S120では、その時の「推定カウント値Kp−実カウント値Kr」の値を、推実差分として算出すると共に、その算出した推実差分を、当該差分記録部45に備えられた記憶部としてのメモリ45aに、どの代表角度での推実差分かを識別可能に記憶する。そして、その後、当該学習処理を終了する。尚、推実差分は、推定カウント値Kpの示す推定角度が、実カウント値Krの示す実検出角度に対して、どれだけ進んでいるかを示すものである。
更に詳しく説明すると、図8(A)の1,2段目に示すように、メモリ45aには、レゾルバ13の1周期(1回転期間)における8つの各代表角度での推実差分(以下、1周期分の推実差分ともいう)a1〜a8を、代表角度と対応付けて記録するための推実差分記録テーブルが設けられている。そして、上記S120では、算出した推実差分を、推実差分記録テーブルにおける推実差分の記録領域(図8(A)の2段目)のうち、現在の実検出角度が到達している代表角度に対応した記録領域に書き込む。
一方、上記S110にて、実カウント値Krが360度以外の代表角度に該当する値ではないと判定した場合には、S130に移行して、実カウント値Krが最終値の4095であるか否か(換言すれば、実検出角度が360度であるか否か)を判定する。
そして、実カウント値Krが4095でなければ、そのまま当該学習処理を終了するが、実カウント値Krが4095であれば、S140に進む。
S140では、S120と同様に、その時の「推定カウント値Kp−実カウント値Kr」の値を、推実差分として算出すると共に、その算出した推実差分を、推実差分記録テーブルにおける推実差分の記録領域のうち、現在の実検出角度が到達している代表角度(即ち、360度)に対応した記録領域に書き込む。
このため、実カウント値Krが0〜4095まで変化する1周期(レゾルバ13の1周期)が経過する毎に、推実差分記録テーブルには、最新の1周期分の推実差分a1〜a8が記録されることとなる。つまり、S110〜S140では、Z相信号(基準角度情報)の出力間隔である1周期において、実カウント値Kr(実検出角度)が、実カウント値Krの最終値である360度(最終角度)を含む45度、90度、135度、180度、225度、270度、315度(代表角度)の各々になったとき毎に、推定カウント値Kp(推定角度情報)が、実カウント値Kr(実検出角度)に対してどれだけ進んでいるかを示す推実差分を算出している。
そして、次のS150にて、今回のS140で算出した360度での推実差分a8の絶対値が、所定値以上であるか否かを判定し、所定値以上でなければ、S160に進む。尚、本実施形態において、S150での判定に用いられる上記所定値は、例えば10度相当値(=4096×10/360)である。
S160では、実カウント値Krを補正した角度データφを得るための学習値を、今回の1周期で推実差分記録テーブルに記録した推実差分a1〜a8から求めて、メモリ45aに記憶する。
具体的には、学習値を下記(1)〜(3)の手順で求める。
(1)まず、図8(A)の3段目に示すように、メモリ45aには、0度から代表角度のうち最も小さい45度(最小代表角度)までの区間と、隣接する代表角度同士の区間との各々について、その8つの各区間での実検出角度の増加量に対して推定角度の増加量がどれだけ多かったかを示す増加量差分b1〜b8を記録するための、増加量差分記録テーブルが設けられている。
そして、S160では、推実差分記録テーブルに記録された今回1周期分の推実差分a1〜a8のうち、45度での推実差分a1を、0〜45度の区間での増加量差分b1として増加量差分記録テーブルに記録する。
更に、隣接する各代表角度同士の区間については、その区間の終了に該当する代表角度での推実差分から、該区間の開始に該当する代表角度での推実差分を減算することにより、その区間での増加量差分を求めて、増加量差分記録テーブルに記録する。
例えば、45〜90度の区間については、90度での推実差分a2から45度での推実差分a1を引いた値が、その区間での増加量差分b2(=a2−a1)として算出される。尚、45度相当値の実カウント値KrをKr1とし、90度相当値の実カウント値KrをKr2とし、実カウント値KrがKr1の時(即ち、実検出角度が45度の時)の推定カウント値KpをKp1とし、実カウント値KrがKr2の時(即ち、実検出角度が90の時)の推定カウント値KpをKp2とすると、「a1=Kp1−Kr1」、「a2=Kp2−Kr2」となり、「b2=a2−a1=(Kp2−Kp1)−(Kr2−Kr1)」となるため、増加量差分b2は、45〜90度の区間での実検出角度の増加量(Kr2−Kr1)に対して推定角度の増加量(Kp2−Kp1)がどれだけ多かったかを示すこととなる。
また同様に、例えば315〜360度の区間については、360度での推実差分a8から、315度での推実差分a7を引いた値が、その区間での増加量差分b8(=a8−a7)として算出される。つまり、図7のS160で行う(1)の処理は、図7のS110〜S140の処理(推実差分算出手段)により算出された1周期分の各代表角度での推実差分に基づいて、実カウント値Kr(実検出角度)がZ相信号(基準角度情報)の出力タイミングでの初期値から代表角度のうち最も小さい45度(最小代表角度)になるまでの区間と、隣接する代表角度同士の区間との各々について、その各区間での実カウント値Kr(実検出角度)の増加量に対して推定カウント値Kpの増加量がどれだけ多かったかを示す増加量差分を算出し、増加量差分を、増加量差分テーブル(記憶部)に、どの区間に対応するものであるかを識別可能に記憶する処理である。
続いて、上記(1)(増加量差分算出手段)により増加量差分記録テーブル(記憶部)に記憶された1周期分の増加量差分を、モータの加減速の度合いに応じて修正する方法について説明する。
(2)そして、S160では、上記(1)で増加量差分記録テーブルに記録した増加量差分b1〜b8を修正して最終的な学習値とするための修正値を、推実差分記録テーブルに記録された最終角度である360度での推実差分a8に応じて、図9に示す配分規則に基づき決定する。
図9に示すように、その配分規則は、最終角度を含む区間の推実差分a8を、各区間での増加量差分b1〜b8の修正値c1〜c8として出来るだけ均等に配分するための規則であると共に、推実差分a8の値毎に、修正値c1〜c8をどのような値にするかを規定したものである。尚、図9において、()内に示しているのは、推実差分a8が負の場合の各値であり、それらは、推実差分a8が正の場合の各値を単に符号反転させた値になっている。
例えば、「a8=+8」ならば、その値が区間数と同じ8個に均等に分割され、その分割された+1の各々が、増加量差分b1〜b8の修正値c1〜c8となる。つまり、推実差分a8が8の整数倍ならば、その値を8で割った値が、各修正値c1〜c8となる。
また例えば、推実差分a8が+1〜+7の何れかである場合には、それを区間数(8個)に整数で分けることができないため、推実差分a8を+1ずつに分割した各値を、できるだけ分散した区間に関する修正値とするようになっている。
また例えば、推実差分a8が+9ならば、各修正値cx(xは1〜8の何れか)は、「a8=+8」の場合の修正値cxと「a8=+1」の場合の修正値cxとを加算した値となる。また、図9には図示していないが、例えば、推実差分a8が+17ならば、各修正値cxは、「a8=+16」の場合の修正値cx(=2)と「a8=+1」の場合の修正値cxとを加算した値となる。つまり、推実差分a8が「8×h+i」(hは整数、iは1〜7の何れか)であるならば、各修正値cxは、hと「a8=i」の場合の修正値cxとを加算した値となる。
そして、図8(A)の4段目に示すように、メモリ45aには、各区間での増加量差分b1〜b8の修正値c1〜c8を記録するための、修正値記録テーブルが設けられており、推実差分a8と図9の配分規則とに基づき決定した修正値c1〜c8を、その修正値記録テーブルに記録する。
(3)更に、S160では、各区間について、上記(1)で増加量差分記録テーブルに記録した増加量差分bx(xは1〜8の何れか)から、上記(2)で修正値記録テーブルに記録した修正値cxを減じた値(=bx−cx)を、その区間での学習値dxとして算出する。そして、その算出した各区間についての学習値d1〜d8を、図8(A)の5段目に示すように、メモリ45aに設けられた学習値記録テーブルに記録する。
よって、例えば、推実差分a1〜a8が、図8(B)の2段目に例示する値であったならば、上記(1)の処理により、各区間での増加量差分b1〜b8が、図8(B)の3段目に示す値となり、上記(2)の処理により、増加量差分b1〜b8の修正値c1〜c8が、図8(B)の4段目に示す値となる(a8=+2であるため、図9の3段目により、c1〜c8のうち、c3とc6が+1となり、他は0となる)。更に、上記(3)の処理により、各区間についての学習値d1〜d8が、図8(B)の5段目に示す値となる。
そして、このようなS160の処理が終わると、当該学習処理を終了する。
ここで、上記S160で記録される各区間についての学習値d1〜d8は、各区間において、実検出角度が、モータ1の回転速度変動を考慮したより確かな推定角度(即ち、真の角度からのずれが少ない推定角度)に対して、どれだけ不足方向にずれるかを表すものである。
その理由について説明すると、まず、前述したように、増加量差分b1〜b8は、各区間での実検出角度の増加量に対して推定角度の増加量がどれだけ多かったか(正負を区別すると、正なら多い、負なら少ない)を示すが、換言すれば、その各区間において、実検出角度が、正しいと思われる推定角度に対して、どれだけ不足方向(正負を区別すると、正なら不足方向、負なら過剰方向)にずれるかを表すものである。
しかし、推定角度は、前回の1周期時間から推定されるものであるため、モータ1の回転速度変動によって、真の角度からの誤差(推定誤差)を有することとなる。
現象としては、図10(A)に示すように、モータ1の回転速度が一定であれば、推定カウント値Kpの示す推定角度(図10にて二点鎖線で示されている)は正しいものとなり、360度での推実差分a8は0となるが、モータ1の回転速度に変動があって、前回の1周期時間と今回の1周期時間とに差が生じたならば、図10(B)に示すように、推定角度が真の角度(図10(B)にて一点鎖線で示されている)からずれる(即ち推定誤差が生じる)こととなり、360度での推実差分a8は、0にならず、推定角度の1周期分の総累積誤差(総累積推定誤差)を示すものとなる。推定誤差の絶対値は時間に比例して大きくなると考えられることと、Z相信号の出力タイミング及びその直近では実検出角度の誤差が無いためである。但し、ここでは、モータ1の回転速度が1周期(レゾルバ13の1周期)単位でしか変わらない(即ち、加減速しても1周期内では回転速度が一定)と仮定している。
そこで、S160では、360度での推実差分a8を各区間に対して極力均等に分散させ、その分散させた値を各増加量差分b1〜b8から減ずることにより、各区間について、モータ1の回転速度変動が無かったと仮定した場合の増加量差分、即ち、モータ1の回転速度変動の分を修正したより確かな推定角度であって、図10(B)の一点鎖線で示す真の角度と思われる推定角度に対し、実検出角度がどれだけ不足方向にずれるかを表す増加量差分を求め、その増加量差分を学習値d1〜d8としてメモリ45a内の学習値記録テーブルに記録するようにしている。
更に分かりやすくするために、360度での推実差分a8が正であった場合を例に挙げて説明すると、その場合には、推定角度が真の角度よりも進み気味になっていたということであり、推定角度が正しい場合よりも、各区間での増加量差分b1〜b8が大きめの値になると共に、その増加量差分b1〜b8の総和が推実差分a8と同じ値だけ大きくなることから、増加量差分b1〜b8の総和が推実差分a8と同じ値だけ減るように各増加量差分b1〜b8を修正して、その修正した各増加量差分を学習値d1〜d8としている。つまり、図7のS160で行う上記(2)(3)の処理では、図7のS160で行う(1)の処理(増加量差分算出手段)により増加量差分記録テーブル(記憶部)に記憶された1周期分の増加量差分を、それと同じ1周期において図7のS110〜S140の処理(推実差分算出手段)により算出された最終角度での推実差分に応じて修正している。
また換言すると、360度での推実差分a8は増加量差分b1〜b8の総和と等しく、推定角度が正しい場合には、360度での推実差分a8と増加量差分b1〜b8の総和とが0になるが、推定角度が正しくなくて、360度での推実差分a8が0以外のDeになった場合には、増加量差分b1〜b8の総和がDeだけ減るように各増加量差分b1〜b8を修正することで、総和が0となる8区間分の増加量差分を求め、その総和が0となる修正後の増加量差分を学習値d1〜d8としている。つまり、図7のS160で行う上記(2)(3)の処理では、図7のS160で行う(1)の処理(増加量差分算出手段)により増加量差分記録テーブル(記憶部)に記憶された1周期分の増加量差分を、それらの総和が0となるように修正している。
一方、図7に戻り、上記S150にて、360度での推実差分a8の絶対値が所定値以上であると判定した場合には、S170に移行して、今回の1周期で推実差分記録テーブルに記録した推実差分a1〜a8を無効化する。実際には、S160の処理を行わないことで、今回の1周期分の推実差分a1〜a8によって学習値d1〜d8が更新されないようにしている。そして、その後、当該学習処理を終了する。つまり、S150では、実カウント値Kr(実検出角度)が360度(最終角度)になったときに“図7におけるS110〜S140の処理”(推実差分算出手段)により算出された360度での推実差分の絶対値が所定値以上の場合に、その回の1周期において“図7におけるS110〜S140の処理”(推実差分算出手段)が算出した推実差分を無効化して、後述する“図12の処理”(補正処理)で用いる増加量差分記録テーブル(記憶部)内の増加量差分が更新されるのを禁止している。
次に、補正カウント部47について説明する。
補正カウント部47は、内部にカウンタ(以下、補正カウンタという)を備えており、その補正カウンタの値である補正カウント値が、角度データφとしてマイコン37に出力される。
そして、補正カウント部47は、Z相信号が立ち上がる毎に、補正カウント値を初期値の0にリセットする初期化処理を行う。つまり、Z相信号(基準角度情報)の出力タイミングで補正カウント値(補正角度情報の値)を0(初期値)にする。
更に、補正カウント部47は、初期化処理で補正カウント値を0にした後、実パルスPrのエッジ(立ち上がりエッジ及び立ち下がりエッジ)が生じる毎に、補正量計算部46から補正量が入力されて、その補正量が示す値だけ補正カウント値をカウントアップさせる。つまり、Z相信号の立ち上がりタイミングを基準(補正カウント値=0)として、実パルスPrのエッジが生じる毎に、補正カウント値を補正量計算部46からの補正量だけ増加させる。
具体的には、補正カウント部47は、補正量計算部46から補正量が入力される毎に、図11の出力更新処理を行う。尚、基本的には、この図11の処理は、Z相信号(基準角度情報)の出力タイミングを基準として、実パルスPrの両エッジ(単位角度情報)が出力される毎に、補正カウント値(補正角度情報の値)を分解角(単位角度)に相当する値ずつ増加させる処理である。
その出力更新処理で、まずS210にて、補正量計算部46からの今回の補正量が、補正無しを意味する「1」と、1増加補正を意味する「2」と、1減少補正を意味する「0」との、何れであるかを判別する。尚、1増加補正とは、実カウント値Krの増加量に対して補正カウント値の増加量を1つ増やすという意味であり、1減少補正とは、実カウント値Krの増加量に対して補正カウント値の増加量を1つ減らすという意味である。
そして、補正カウント部47は、補正量が1であれば、S220にて、補正カウント値を1カウントアップさせ、その後、当該出力更新処理を終了する。
これに対して、補正量が2であれば、S230にて、補正カウント値を2カウントアップさせ、その後、当該出力更新処理を終了する。よって、この場合には、実カウント値Krが1増加するのに対して、補正カウント値が2増加する(即ち、実カウント値Krに比べて補正カウント値の増加量が1つ増える)こととなる。
また、補正量が0であれば、補正カウント値のカウントアップを行わずに、そのまま当該出力更新処理を終了する。よって、この場合には、実カウント値Krが1増加するのに対して、補正カウント値が増加しない(即ち、実カウント値Krに比べて補正カウント値の増加量が1つ減る)こととなる。
次に、補正量計算部46について説明する。
補正量計算部46は、実パルスPrのエッジが生じる毎に、補正カウント部47へ前述の補正量を出力するが、実カウント値Krをモニタして、実カウント値Krが0から45度相当値(=4096×45/360)になるまでの区間、及び実カウント値Krが代表角度のうちの何れかに相当する値になってから次の代表角度に相当する値になるまでの区間の各々(即ち、0〜360度の1周期における45度間隔の各区間)において、その区間での角度データφの値(即ち補正カウント値)の増加量が、実カウント値Krの増加量よりも、その区間に対応してメモリ45aの学習値記録テーブルに記憶されている学習値だけ多くなるように、補正カウント部47への補正量を設定する。
例えば、図8(B)の5段目に示した例では、135〜180度の区間に対応する学習値d4が+6であるため、その135〜180度の区間(詳しくは、実カウント値Krが135度相当値から180度相当値まで増加する45度分の区間)では、角度データφの値の増加量が、45度分の増加量よりも6(=d4)だけ多くなるように、補正量が設定される。
ここで、図12を用いて更に具体的に説明する。尚、ここでは、説明を簡略化するために、角度検出の分解能が11ビット(0〜2047)であるとする。また、以下では、実パルスPrのエッジのことを、実パルスエッジとも言う。
まず、分解能が11ビットの場合、45度間隔の各区間において、実パルスエッジは256(=2048×45/360)回発生する。
このため、135〜180度の区間において、角度データφの値の増加量を実カウント値Krの増加量(=256)よりも6(=d4)だけ多くするには、実パルスエッジが256回発生する各回のうち、6回だけ補正量を2に設定し、他の250回は補正量を1に設定すれば良い。尚、もし補正量を256回全て1に設定すれば、45度分の区間において、角度データφの値は実カウント値Krと同じだけ増えることとなる。
ところで、例えば、256回のうち、250回連続して補正量を1にし、その後の6回連続して補正量を2にする、といった設定をしたとしても、結果だけをみれば、256回のうち6回の割合で補正量を1以外の2に設定することになるが、このような偏った設定方法では、45度分の区間全体に学習値d4を均等に反映させることができず、好ましくない。
そこで、本実施形態では、図6で説明したのと同様の手法を採っている。即ち、45度分の区間全体に渡って角度検出誤差が極力抑制されるように、1の補正量と2又は0の補正量とをバランスよくおりまぜながら出力していくようになっている。
そのため、図12に示すように、まず、区間の全出力回数である256から、学習値d4の絶対値を引いた値(この例ではd4=6のため、250)を、8ビットのレジスタAにセットし、また、学習値d4の絶対値(=6)を、8ビットのレジスタBにセットする。
次に、1の補正量と2の補正量との、ベースの出力割合を決める。このベースの出力割合は、1の補正量を何回出力したら2の補正量を1回出力するか、という割合を示すものである。
具体的には、図12の点線で示すように、レジスタBのMSBから、最初に「1」が出現する最上位ビットまでのビット数から、ベースの出力割合を決める。この例では、レジスタBのMSBから6ビット目にはじめて「1」が出現するため、レジスタAのMSBから6ビット分に着目し、その6ビットが表す回数を、ベースの出力割合における1の補正量の出力回数とする。つまり、この例では、1の補正量を62回出力したら2の補正量を1回出力する、という62対1の出力割合となる。
このようにしてベースの出力割合が得られたら、まずはこの出力割合にて、1の補正量と2の補正量とを出力していく。つまり、まず1の補正量を連続して62回出力し、次に2の補正量を1回出力し、次に再び1の補正量を連続して62回出力する、という具合である。
しかし、このベースの出力割合(62:1)は、6ビット精度での割合であるため、少々荒い割合である。即ち、出力割合の精度をより高めてみると、図12の一点鎖線で示すように、7ビット精度で出力割合を決めた場合、125対3の出力割合となる。
そこで、単にベースの出力割合(62:1)で出力し続けるのではなく、ある程度出力したら、より精度の高い出力割合と比較して、その出力割合と現在の出力回数が一致していなければその出力割合に合わせるようにする。
つまり、例えば、1の補正量を125回出力したとき、2の補正量がまだ2回しか出力されていない場合は、1の補正量の出力を125回で一旦中止して、2の補正量を、その出力回数が7ビット精度での回数である3回になるまで連続して出力する。これにより、1の補正量が125回、2の補正量が3回と、7ビット精度での出力割合に一致したら、再び、ベースの出力割合である62対1の割合にて、1の補正量と2の補正量を出力する。
そして、本例の場合は、2の補正量の出力回数が目標の6回に到達するよりも先に、1の補正量の出力回数が250回に到達する。尚、そのときの2の補正量の出力回数は5回である。そのため、この場合も1の補正量の出力を中止して、2の補正量を、それの出力回数が6回に到達するまで連続して出力する。
これにより、45度分の区間全体における1の補正量と2の補正量との出力割合が、250対6になり、その結果、補正カウント部47でカウントアップされる角度データφの値(補正カウント値)の増加量が、実カウント値Krの増加量よりも6だけ多くなる。
尚、上記の例では、学習値が正で、1つの区間における角度データφの値の増加量を、実カウント値Krの増加量よりも増やす補正を行う場合について説明したが、学習値が負で、角度データφの値の増加量を、実カウント値Krの増加量よりも少なくする補正を行う場合には、前述の図12を用いた説明において、「2の補正量」を「0の補正量」に読み替えれば良い。つまり、補正量計算部46は、補正カウント部47へ、2の補正量に代えて、0の補正量を出力することとなる。図12で示した処理は、実カウント値Kr(実検出角度)がZ相信号(基準角度情報)の出力タイミングから45度(最小代表角度)になるまでの区間、及び実カウント値Kr(実検出角度)が代表角度のうちの何れかの代表角度になってから次の代表角度になるまでの区間の各々において、その区間での補正カウント値(補正角度情報の値)の増加量が、その区間に対応して増加量差分記録テーブル(記憶部)に記憶されている増加量差分だけ多くなるように、図11の処理(出力更新処理)で増加させる値を変更する処理である。
次に、以上のような誤差補正部17の動作の流れを図13に示す。
図13に示すように、誤差補正部17の動作は、計測動作と、学習動作と、補正動作との、3つに大別することができる。そして、誤差補正部17は、Z相信号が出力される間隔(レゾルバ13の1回転期間)である各周期において、計測動作、学習動作、及び補正動作を、パイプライン処理の如く行っている。
ここで、計測動作とは、1周期時間を計測する動作である。
学習動作とは、前回周期の1周期時間の計測値から推定パルスPpを生成して推定カウント値Kpをカウントアップさせると共に、各代表角度での推実差分a1〜a8を記録し、今回周期の終了時に、45度間隔の各区間に関する学習値d1〜d8を決定し記録する動作である。
補正動作とは、前回周期の終了時に記録した学習値d1〜d8の分だけ、その学習値に対応する区間での角度データφの値の増加量を実カウント値Krの増加量に対して増減させることにより、実カウント値Krを補正したかたちの角度データφを出力する動作である。
このため、例えば、現在が「n+2」周期目であるとすると、その「n+2」周期目での補正動作に用いられる学習値d1〜d8は、前回の「n+1」周期目の学習動作で記録したものとなり、その「n+1」周期目の学習動作で学習値d1〜d8を決定するのに用いられる推定カウント値Kpは、前々回の「n」周期目の計測動作で計測した1周期時間Tnに基づくものとなる。
以上のような本実施形態のECU(走行用モータ制御装置)7に設けられた誤差補正部17は、モータ1の0〜360度の回転角度を45度間隔に分割した各区間について、その区間での実検出角度の増加量に対し推定角度の増加量がどれだけ多かったかを正負符号付きで示す増加量差分b1〜b8を記録すると共に、推定角度の1周期分の総累積誤差を示す360度での推実差分a8を、各区間に対して極力均等に分散させ、その分散させた値(修正値c1〜c8)を各増加量差分b1〜b8から減ずることにより、各区間について、モータ1の回転速度変動が無かったと仮定した場合の増加量差分であって、総和が0となる各区間の増加量差分を求め、その修正後の増加量差分を各区間についての学習値d1〜d8としている。そして、その各区間についての学習値d1〜d8は、モータ1の回転速度変動の分を修正したより確かな推定角度に対して、実検出角度がどれだけ不足方向にずれるかを表すものとなる。
このため、誤差補正部17は、マイコン37へ出力する角度データφの値を、基本的には、実パルスエッジが発生する毎に1ずつ増加させることで、実検出角度に該当する実カウント値Krと同じになるように変化させるが、45度間隔の各区間での角度データφの値の増加量が、その区間に対応する学習値(d1〜d8の何れか)だけ多くなるように(尚、学習値が負ならば、その学習値の絶対値だけ少なくなるように)、実パルスエッジの発生時毎に角度データφの値を増加させる値(補正量)を1以外の2か0に変更することにより、その角度データφの値を、モータ1の回転速度変動の分を修正したより確かな推定角度と一致するように変化させている。
よって、本実施形態のECU7によれば、レゾルバ13の製造ばらつき等の種々の要因によって、レゾルバ13から出力される回転検出信号Sa,Sb(延いては、A,B相信号に基づく実パルスPr及び実カウント値Kr)が誤差を含むものであったとしても、また、モータ1の運転中に回転速度変動があっても、誤差補正部17によってその誤差が補正された信頼性の高い角度データφが生成され、その角度データφがモータ1の通電制御に用いられる。
このため、回転角度検出精度の低下を抑えてモータ1の良好な制御性能を確保することができ、具体的には、前述した車両の不要な加速度を抑制して、車両の乗員に不快感を与えてしまうのを回避することができる。
更に、本実施形態によれば、誤差補正のための演算処理を比較的簡単なものにすることができる。特に、概して処理負荷が大きくなる数学計算としての除算の処理が不要である。しかも、角度検出の分解能毎の補正値をメモリに記憶しておく、といったものでないため、ハードウェア規模(特に必要とされるメモリ資源)の増大も抑えることができる。
また、本実施形態において、誤差補正部17(詳しくは、差分記録部45)は、360度での推実差分a8の絶対値が所定値以上であったならば(S150:YES)、その回の1周期において記録した推実差分a1〜a8を無効化して、学習値d1〜d8が更新されないようにしているため、誤った補正をしてしまうことを回避することができる。推実差分a8の絶対値が所定値以上になった場合には、推定角度と実検出角度との間にあまりにも大きな差があり、その回の1周期における大きな推実差分a1〜a8に基づいて学習値d1〜d8を更新してしまうと、学習値d1〜d8が誤って算出される可能性がある。結果、次の周期での補正動作において、実カウント値Krが、誤って更新された学習値d1〜d8によって補正されてしまい、実カウント値Krを正しく補正した角度データφが得られない可能性があるからである。
尚、上記第1実施形態においては、レゾルバ13及びRD変換部16が、回転検出手段に相当し、誤差補正部17が、補正手段に相当し、Z相信号の立ち上がりエッジが、基準角度情報に相当し、A相信号とB相信号との各エッジ(誤差補正部17の内部では実パルスPrの両エッジ)が、単位角度情報に相当し、更に詳しくは単位回転角度情報に相当している。また、誤差補正部17の内部に着目すると、実パルスPrの両エッジ(A相信号とB相信号との各エッジ)をカウントした実カウント値Krが、単位角度情報又は実検出角度情報に相当しているとも言え、その場合には、レゾルバ13及びRD変換部16と排他的論理和演算部41及び実パルスカウンタ42とが、回転検出手段又は回転センサに相当する。
そして、推定角度パルス信号生成部43が、時間推定手段に相当し、推定パルスカウンタ44が、角度推定手段に相当し、推定カウント値Kpが、推定角度情報に相当している。
更に、差分記録部45の動作のうち、図7におけるS110〜S140の処理を行う部分が、推実差分算出手段に相当し、図7におけるS160で前述の(1)の処理を行う部分が、増加量差分算出手段に相当している。そして、図7におけるS160で前述の(2)及び(3)の処理を行う部分が、修正手段に相当し、そのうち、(2)の処理を行う部分が、第1修正値決定手段に相当し、修正値c1〜c8が、第1修正値に相当している。また、図7におけるS150及びS170の処理を行う部分が、更新禁止手段に相当している。一方、図7におけるS140の処理は、推実差分a8を総累積推定誤差として算出するため、推定誤差算出手段にも相当している。
また、補正量計算部46と補正カウント部47が、出力処理手段に相当し、角度データφが、補正角度情報に相当している。
そして、補正カウント部47が行う前述の初期化処理が、出力処理手段が行う初期化処理に相当し、補正カウント部47が行う図11の出力更新処理が、出力処理手段が行う出力更新処理に相当し、補正量計算部46が補正カウント部47へ補正量を出力する処理(図12を用いて説明した処理)が、出力処理手段が行う補正処理に相当している。
[第2実施形態]
ところで、第1実施形態では、モータ1の回転速度が1周期単位でしか変わらない(加減速しても1周期内では回転速度が一定)と仮定しており、角度データφの値を、1周期単位での回転速度変動が反映された推定角度であって、図18の右側1周期における一点鎖線で示す如く、時間に比例すると共に、初期値及び最終値になるタイミングが実検出角度と同じである推定角度(直線的理想推定角度)に、追従させようとするものである。
しかし、厳密には、1周期内でもモータ1の回転速度は変化することから、真の角度は、時間に対して曲線的に変化し、例えばモータ1の加速時においては、図18の右側1周期における点線で示すように変化する。
このため、モータ1が加速している場合、実検出角度の区間のうち、初期値(0度)に近い区間では、直線的理想推定角度の増加量が真の角度の増加量よりも多くなり、最終値(360度)に近い区間では、直線的理想推定角度の増加量が真の角度の増加量よりも少なくなる。そして、このことは、推実差分a1〜a8及び増加量差分b1〜b8を算出するための推定角度が真の角度と一致している場合(即ち、本当に理想的な場合)と比較すると、初期値に近い区間での増加量差分が多目になってしまうと共に、最終値に近い区間での増加量差分が少な目になってしまうことを意味し、更に、この傾向は、加速の度合いが大きいほど顕著になる。
また逆に、モータ1が減速している場合、実検出角度の区間のうち、初期値に近い区間では、直線的理想推定角度の増加量が真の角度の増加量よりも少なくなり、最終値に近い区間では、直線的理想推定角度の増加量が真の角度の増加量よりも多くなる。そして、このことは、上記の本当に理想的な場合と比較すると、初期値に近い区間での増加量差分が少な目になってしまうと共に、最終値に近い区間での増加量差分が多目になってしまうことを意味し、更に、この傾向は、減速の度合いが大きいほど顕著になる。
そこで、第2実施形態のECU7では、図8と同様の図14に示すように、増加量差分b1〜b8に対する修正値として、前述の修正値c1〜c8だけでなく、第2修正値としての加減速修正値e1〜e8も導入し、増加量差分b1〜b8を、その加減速修正値e1〜e8によっても修正することで、学習値d1〜d8を求めるようにしている。
以下、第1実施形態との違いを具体的に説明する。
まず、差分記録部45は、図7の学習処理におけるS160にて、図15に示す学習値算出処理を行う。
図15に示すように、学習値算出処理では、まずS162にて、前述した(1)の手順により、増加量差分b1〜b8を算出して、それらを増加量差分記録テーブルに記録する。そして、次のS163にて、前述した(2)の手順により、修正値c1〜c8を決定して、それらを修正値記録テーブルに記録する。つまり、増加量差分b1〜b8と修正値c1〜c8については、第1実施形態と同様に算出し記録する。
そして次に、S164では、Z相信号の立ち上がりエッジが発生して、推定角度パルス信号生成部43が新たな1周期時間を計測するまで待ち、新たな1周期時間が計測されたなら、その今回計測された1周期時間T[n]と、前回計測された1周期時間T[n-1]とから、下記の式2により、1周期時間の変化率である時間変化率RATEを算出する。つまり、S164では、Z相信号(基準角度情報)の前回出力時から今回出力時までの1周期時間と、Z相信号(基準角度情報)の前々回出力時から前回出力時までの1周期時間とから、モータの時間変化率RATE(加減速の度合い)を検出している。
RATE=(T[n]−T[n-1])/T[n] …式2
そして、次のS165にて、各区間での増加量差分b1〜b8に対する加減速修正値e1〜e8を、上記S164で算出した時間変化率RATEに応じて、図16に示す加減速修正値決定用マップに基づき決定する。更に、本第2実施形態において、メモリ45aには、図14の5段目に示すように、加減速修正値e1〜e8を記録するための加減速修正値記録テーブルが設けられており、S165では、決定した加減速修正値e1〜e8を、その加減速修正値記録テーブルに記録する。
ここで、図16に示すように、加減速修正値決定用マップは、時間変化率RATEの各々に対して、加減速修正値e1〜e8を記録したものである。このため、S165では、その加減速修正値決定用マップから、上記S164で算出した時間変化率RATEに対応して記録されている加減速修正値e1〜e8を読み出し、その読み出した加減速修正値e1〜e8を、加減速修正値記録テーブルに記録する。
尚、式2で算出される時間変化率RATEは、モータ1の加減速の度合いを示すものであって、モータ1が加速している場合に負となり、モータ1が減速している場合に正となる。そして、加減速の度合いが大きいほど、時間変化率RATEの絶対値も大きくなる。
また、図16は、モータ1が加速している場合の内容のみを表しているが、モータ1が減速している場合の加減速修正値決定用マップは、図16における時間変化率の各値と、図16における加減速修正値e1〜e8の各値との、符号をそれぞれ反転させたものになる。
そして、図16から分かるように、加減速修正値e1〜e8は、時間変化率RATEが負の場合(モータ1が加速していることを示す場合)には、それら加減速修正値e1〜e8の総和が0となり、且つ、大きい角度の区間についての増加量差分に対するものほど大きい値となるように決定される。また逆に、加減速修正値e1〜e8は、時間変化率RATEが正の場合(モータ1が減速していることを示す場合)には、それら加減速修正値e1〜e8の総和が0となり、且つ、大きい角度の区間についての増加量差分に対するものほど小さい値となるように決定される。更に、加減速修正値e1〜e8は、時間変化率RATEの絶対値が大きいほど(モータ1の加減速の度合いが大きいほど)、それら加減速修正値e1〜e8の絶対値の総和が大きくなるように決定される。
また特に、本実施形態では、増加量差分の区間が等間隔であることから、中央の区間(本実施形態では区間数が偶数であるため中央の2区間)の増加量差分b4,b5に対する加減速修正値e4,e5が0となり、中央の区間よりも角度が小さい区間の増加量差分b1〜b3に対する加減速修正値e1〜e3と、中央の区間よりも角度が大きい区間の増加量差分b6〜b8に対する加減速修正値e6〜e8とが、互いに正負が逆で絶対値が同じ値になるように設定されている。つまり、図16を用いて、図15のS162(増加量差分算出手段)により増加量差分記録テーブル(記憶部)に記憶された1周期分の増加量差分の各々に対する加減速修正値(第2修正値)を、検出した時間変化率RATE(加減速の度合い)に基づき決定している。
そして、上記S165にて、加減速修正値e1〜e8の決定及び記録が終了すると、S166に進み、各区間について、上記S162で増加量差分記録テーブルに記録した増加量差分bx(xは1〜8の何れか)と、上記220で修正値記録テーブルに記録した修正値cxと、上記240で加減速修正値記録テーブルに記録した加減速修正値exとから、下記の式3により、その区間での学習値dxを算出する。
dx=bx−cx+ex …式3
つまり、増加量差分b1〜b8の各々を、修正値c1〜c8だけ減らすことに加え、加減速修正値e1〜e8だけ増やすことも行うことで、学習値d1〜d8を求める。
そして更に、S166では、その算出した各区間についての学習値d1〜d8を、メモリ45aに設けられた学習値記録テーブルに記録し、その後、当該学習値算出処理を終了する。
よって、例えば、前述した図8(B)の例において、上記S164で算出された時間変化率RATEが「−4%」であった場合には、加減速修正値e1〜e8は、図16の加減速修正値決定用マップから、図17の5段目に示す値に決定され、各区間についての学習値d1〜d8は、上記式3により、図17の6段目(最下段)に示す値となる。
本第2実施形態では、上記の加減速修正値e1〜e8によっても元の増加量差分b1〜b8を修正して学習値d1〜d8としているため、第1実施形態と比較すると、モータ1が加速している場合には、0度に近い区間ほど、また加速の度合いが大きいほど、学習値は元の増加量差分を大きく減らした値になり、360度に近い区間ほど、また加速の度合いが大きいほど、学習値は元の増加量差分を大きく増やした値になる。逆に、モータが減速している場合には、0度に近い区間ほど、また減速の度合いが大きいほど、学習値は元の増加量差分を大きく増やした値になり、360度に近い区間ほど、また減速の度合いが大きいほど、学習値は元の増加量差分を大きく減らした値になる。
このため、各区間についての学習値d1〜d8を、1周期内でのモータ1の加減速に伴う推定誤差をも推定角度に含まれていなかったと仮定した場合の増加量差分にすることができる。つまり、第2実施形態では、各区間についての学習値d1〜d8を、モータ1の1周期単位での回転速度変動だけでなく1周期内での加減速の分も修正したより一層確かな推定角度(図18の右側1周期における点線で示した真の角度に一層近い推定角度)に対して、実検出角度がどれだけ不足方向にずれるかを表すものにしている。
よって、誤差補正部17で生成される角度データφの、確かさの精度を一層向上させることができ、延いては、モータ1の制御性能を一層向上させることができる。
尚、本第2実施形態では、差分記録部45の動作のうち、図15におけるS163〜S166の処理を行う部分が、修正手段に相当し、そのうち、S163の処理を行う部分が、第1修正値決定手段に相当し、S164及びS165の処理を行う部分が、第2修正値決定手段に相当している。
[他の実施形態]
上記実施形態において、推定角度パルス信号生成部43は、図5に示したように、最新の1つの1周期時間(Z相信号の発生間隔)Tのみから、推定パルス幅ΔTを求めた(即ち、モータ1が単位角度回転するのに要する時間を推定した)。しかし、モータ1の回転速度変化も考慮して推定パルス幅ΔTを求めれば、更に精度の良い角度データφを得ることができる。
そこで、推定角度パルス信号生成部43は、最新の2つの1周期時間を使用して、今回計測した1周期時間Tbから前回計測した1周期時間Taを減算した結果(=Tb−Ta)と、今回計測した1周期時間Tbとを加算した時間(=2×Tb−Ta)を、次回の1周期時間の推定値Tpとして算出し、その1周期時間の推定値Tpを、例えば図6で説明した手法により分解能Rで除算して、推定パルス幅ΔTを求めれば良い。
つまり、上記「Tb−Ta」は、モータ1の速度変化が定量的に表わされた値(速度変化成分)であり、その値をTbに加味することで、モータ1の加・減速状態が考慮された1周期時間の推定値Tpが得られる。よって、その推定値Tpから推定パルス幅ΔTを求めることにより、加・減速状態であっても、その状態に応じたより精度の高い推定角度(推定カウント値Kp)が得られることとなり、延いては、一層精度の良い角度データφが得られるようになる。
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
例えば、前述した各区間は45度間隔でなくても良く、30度、60度、90度、120度といったように、2以上かつ180未満の360の約数としても良い。さらには、等角度間隔でなくても良い。そして、各区間が等角度間隔でない場合には、360度での推実差分a8の値を、各区間同士の角度幅の比率と極力同じ比率に分割し、その分割した各値を、それの分割比に対応する角度幅比率の区間の増加量差分から減じるようにするのが好ましい。例えば、代表角度を「90度、270度、360度」の3つに設定した場合に、360度での推実差分a8が−16であったならば、その−16を、各区間同士の角度幅比率(1:2:1)と同じ比率に分割して「−4,−8,−4」の3つにし、−4を0〜90度区間の増加量差分から減じ、−8を90〜270度区間の増加量差分から減じ、−4を270〜360度区間の増加量差分から減じる、というようにすれば良い。
一方、既述したように360度での推実差分a8は各区間の増加量差分b1〜b8の総和と等しいため、図7のS160における前述の(2)の処理で各区間に関する修正値c1〜c8を決定する際には、図9の配分規則テーブルに、推実差分a8の値を当てはめることに代えて、増加量差分b1〜b8の総和を当てはめるようにしても良い。但し、結局は同じことであり、また、推実差分a8は、修正値c1〜c8を決定する上記(2)の処理を行う前に既に記録されているため、その推実差分a8を(2)の処理で用いた方が余分な処理(即ち増加量差分b1〜b8の総和を求める処理)を無くすことができる。
また例えば、「実カウント値Kr−推定カウント値Kp」の値を、推実差分として算出するようにしても良い。尚、その場合には、上記実施形態に対して、推実差分a1〜a8、増加量差分b1〜b8及び学習値d1〜d8の正負が逆になるため、上記実施形態と結果が同じになるように、補正量計算部46は、学習値が負なら、その学習値の絶対値に応じた出力割合で2の補正量を出力し、学習値が正なら、その学習値の値に応じた出力割合で0の補正量を出力すれば良い。
ここで、他の変形例について説明する。尚、ここでは、第1実施形態に対する変形例として、その第1実施形態と異なる点を説明するが、第2実施形態についても同様の変形が可能である。
[第1変形例]
前述の第1実施形態では、各代表角度毎に推実差分a1〜a8を演算し、この推実差分a1〜a8に基づいて増加量差分b1〜b8を演算していた。しかし、増加量差分b1〜b8は、実検出角度が各代表角度になったとき毎の推定カウント値Kpに基づいて演算することも可能である。また、修正値c1〜c8を増加量差分b1〜b8に基づいて決定することも可能である。
そこで以下、図19と図20を用いて、推定カウント値Kpに基づき増加量差分b1〜b8を演算すると共に、修正値c1〜c8を増加量差分b1〜b8に基づき決定する変形例について説明する。
尚、図19は、前述した図8と同様の図であって、学習値を求める手順を表す図であり、図20は、差分記録部45が図7の処理に代えて行う学習処理を表すフローチャートである。また、図19及び以下の説明において、Kry(yは45、90、135、180、225、270、315、360の何れか)は、yの値の代表角度(45度、90度、135度、180度、225度、270度、315度、360度の何れか)での実カウント値Krを意味している。このため、図19(A)の2段目と図19(B)の2段目とに示しているように、Kr45の値(即ち、45度に該当する実カウント値Kr)は511であり、Kr90〜Kr360の各値は、511から45度分に相当する512(=4096/8)ずつ増加した値である。また同様に、図19及び以下の説明において、Kpyとは、実検出角度がyの値の代表角度になったときの推定カウント値Kpを意味している。
本変形例において、差分記録部45は、図20の学習処理を開始すると、まずS110にて、図7の場合と同様に、実カウント値Krが、最終角度である360度以外の代表角度(45度、90度、135度、180度、225度、270度、315度)の何れかに該当する値であるか否か(換言すれば、実検出角度が最終角度以外の代表角度の何れかであるか否か)を判定する。そして、このS110にて、実カウント値Krが360度以外の代表角度に該当する値であると判定した場合には、S300に進む。
S300では、その時の推定カウント値Kpを、当該差分記録部45に備えられた記憶部としてのメモリ45aに、どの代表角度での推定カウント値Kpかを識別可能に記憶する。そして、その後、当該学習処理を終了する。
更に詳しく説明すると、図19(A)の3段目に示すように、メモリ45aには、レゾルバ13の1周期(1回転期間)における8つの各代表角度での推定カウント値Kp(Kp45,Kp90,Kp135,Kp180,Kp225,Kp270,Kp315,Kp360)を、代表角度と対応付けて記録するための推定カウント値記録テーブルが設けられている。そして、上記S300では、検出した推定カウント値Kpを、推定カウント値記録テーブルにおける推定カウント値Kpの記録領域(図19(A)の3段目)のうち、現在の実検出角度が到達している代表角度に対応した記録領域に書き込む。例えば、実カウント値Krが45度に該当する511になったときには、そのときの推定カウント値Kpが、Kp45(45度での推定カウント値Kp)として記憶される。
一方、上記S110にて、実カウント値Krが360度以外の代表角度に該当する値ではないと判定した場合には、S130に移行して、図7の場合と同様に、実カウント値Krが最終値の4095であるか否か(換言すれば、実検出角度が360度であるか否か)を判定する。
そして、実カウント値Krが4095でなければ、そのまま当該学習処理を終了するが、実カウント値Krが4095であれば、S310に進む。
S310では、S300と同様に、その時の推定カウント値Kpを、推定カウント値記録テーブルにおける推定カウント値Kpの記録領域のうち、現在の実検出角度が到達している代表角度(即ち、360度)に対応した記録領域に書き込む。このため、S310では、実カウント値Krが4095の時の推定カウント値Kp(=Kp360)が、推定カウント値記録テーブルに記憶されることとなる。
そして、続くS320では、代表角度で区切られる8つの各区間での増加量差分b1〜b8を、推定カウント値記録テーブルに記憶した各代表角度での推定カウント値Kpを用いて、図19(A)の4段目における各枠内に示す式の通りに算出し、その算出した各区間での増加量差分b1〜b8を、既述した増加量差分記録テーブルに記録する。尚、図19(A)の4段目における各枠内に示す式において、各代表角度での実カウント値Kryは、既知の値である。
例えば、45〜90度の区間での増加量差分b2は、代表角度90度における推定カウント値Kp(=Kp90)から代表角度の間隔(45度分)前の推定カウント値Kp(=Kp45)を引いた推定カウント値増加量(=Kp90−Kp45)から、代表角度90度における実カウント値Kr(=Kr90)から代表角度の間隔(45度分)前の実カウント値Kr(=Kr45)を引いた実カウント値増加量(=Kr90−Kr45)を、減算することによって算出される。即ち、増加量差分b2は、「b2={Kp90−Kp45}−{Kr90−Kr45}」の式で算出される。
尚、本例では、代表角度の間隔が一定であるため、実カウント値増加量も一定になる。具体的には、45〜90度の区間での実カウント値増加量は、Kr90(=1023)からKr45(=511)を引いた512であり、次の90〜135度の区間での実カウント値増加量も、Kr135(=1535)からKr90(=1023)を引いた512である。このため、ある区間での増加量差分は、その区間の終了時の推定カウント値Kpから、その区間の開始時の推定カウント値Kpと、実カウント値Krの取り得る最大値+1を代表角度の数(区間数でもある)で割った値{(4095+1)÷8=512}とを、減算することによって算出することができる。また、最初の0〜45度の区間での増加量差分b1は、代表角度45度における推定カウント値Kp(=Kp45)から、代表角度45度における実カウント値Kr(=Kr45=511)を引くことで算出することができる。そして、この図19を用いて説明した増加量差分b1〜b8の演算方法は、前述の図8を用いて説明した増加量差分b1〜b8の演算方法と同じ結果が得られるものである。
次に、S330にて、上記S320で算出した増加量差分b1〜b8を合計(積算)し、その合計値の絶対値が所定値以上であるか否かを判定する。そして、増加量差分b1〜b8の合計値の絶対値が所定値以上でなければ、S340に進む。尚、S330での判定に用いられる上記所定値は、図7のS150と同様に、例えば10度相当値(=4096×10/360)である。
S340では、前述の学習値d1〜d8を、今回の1周期で増加量差分記録テーブルに記録した増加量差分b1〜b8から求めて、メモリ45aに記憶する。
具体的に説明すると、まず、S340では、S320で増加量差分記録テーブルに記録した増加量差分b1〜b8を修正して最終的な学習値とするための修正値c1〜c8を、増加量差分b1〜b8の合計値(b1+b2+b3+b4+b5+b6+b7+b8)に応じて、前述の図9に示す配分規則に基づき決定し、その決定した修正値c1〜c8を、図19(A)の6段目に示すように、メモリ45aに設けられた修正値記録テーブルに記録する。
ここで、既述したように、増加量差分b1〜b8の合計値(総和)は、前述の図8における360度(最終角度)での推実差分a8と等しく、推定角度に相当する推定カウント値Kpの、1周期分の総累積誤差(即ち総累積推定誤差)を示すものである。このため図9の配分規則において、前述の実施形態における推実差分a8を、増加量差分b1〜b8の合計値に置き換えることで、修正値c1〜c8を決定することができる。よって、S340では、増加量差分b1〜b8の合計値を求め、その求めた合計値と図9の配分規則とから、修正値c1〜c8を決定することができる。尚、S340では、増加量差分b1〜b8の合計値を改めて算出しても良いが、S330で算出した増加量差分b1〜b8の合計値を記憶しておいて、S340では、その記憶しておいた合計値を用いて、修正値c1〜c8を決定しても良い。
更に、S340では、前述の第1実施形態と同様に、各区間について、増加量差分記録テーブルに記録した増加量差分bx(xは1〜8の何れか)から、修正値記録テーブルに記録した修正値cxを減じた値(=bx−cx)を、その区間での学習値dxとして算出する。そして、その算出した各区間についての学習値d1〜d8を、図19(A)の7段目に示すように、メモリ45aに設けられた学習値記録テーブルに記録する。
よって、例えば、推定カウント値Kpが、図19(B)の3段目に例示する値であったならば、各区間での増加量差分b1〜b8が、図19(B)の4段目に示す値となり、その増加量差分b1〜b8の合計値(第1実施形態の推実差分a8に相当)が、図19(B)の5段目に示す値となり、増加量差分b1〜b8の修正値c1〜c8が、図19(B)の6段目に示す値となる(b1〜b8の合計値=+2であるため、図9の3段目により、c1〜c8のうち、c3とc6が+1となり、他は0となる)。更に、各区間についての学習値d1〜d8が、図19(B)の7段目に示す値となる。
そして、このようなS340の処理が終わると、当該学習処理を終了する。
一方、上記S330にて、増加量差分b1〜b8の合計値の絶対値が所定値以上であると判定した場合には、S350に移行し、今回の1周期で増加量差分記録テーブルに記録した増加量差分b1〜b8を無効化する。実際には、S340の処理を行わないことで、今回の1周期分の増加量差分b1〜b8によって学習値d1〜d8が更新されないようにしている。そして、その後、当該学習処理を終了する。
このように、増加量差分b1〜b8は、各代表角度毎の推定カウント値Kpに基づいて演算することも可能である。また、修正値c1〜c8は、増加量差分b1〜b8の合計値に基づいて決定することも可能である。
尚、増加量差分b1〜b8を示す図8(B)の3段目と図19(B)の4段目、及び、図8(B)の推実差分a8と図19(B)の増加量差分b1〜b8の合計値とが等しいため、修正値c1〜c8を示す図8(B)の4段目と図19(B)の6段目、学習値d1〜d8を示す図8(B)の5段目と図19(B)の7段目も等しくなる。
一方、この第1変形例では、図20におけるS320の処理が、増加量差分算出手段に相当している。また、図20におけるS340の処理が、修正手段に相当し、そのうち、修正値c1〜c8を決定する部分が、第1修正値決定手段に相当している。また、図20におけるS330又はS340の処理のうち、増加量差分b1〜b8の合計値を算出する処理は、推定誤差算出手段にも相当している。そして、図20におけるS330及びS350の処理が、更新禁止手段に相当している。
また、この第1変形例を第2実施形態に適用する場合には、図20のS340にて、学習値d1〜d8を算出する際に、修正値c1〜c8を決定した後、前述した図15のS164〜S166と同じ処理を行えば良い。
[第2変形例]
また、増加量差分b1〜b8は実検出角度が各代表角度になったとき毎の推定カウント値Kpに基づいて演算し、修正値c1〜c8は推実差分a8に基づいて決定することによっても、同様の効果を得ることができる。つまり、図8の演算方法と図19の演算方法とを組み合わせても良い。
この場合の処理について、図21を用いて説明する。尚、図21は、差分記録部45が図7又は図20の処理に代えて行う学習処理を表すフローチャートである。そして、図21において、S110、S300、S130、S310、及びS320は、図20と同様である。つまり、図21の学習処理では、第1変形例の図20と比較すると、S320以降の処理が異なっている。
図21の学習処理において、S320の処理が終了した時点では、増加量差分記録テーブルに今回の1周期分の増加量差分b1〜b8が記憶されている。
そして、そのS320に続くS140では、その時の「推定カウント値Kp−実カウント値Kr」の値を、推実差分a8として算出すると共に、その算出した推実差分a8を所定の記録領域に書き込む。
つまり、実検出角度が360度、即ち実カウント値Krが4095の時の推定カウント値Kp(=Kp360)を検出し、そのKp360からKr360(=4095)を引くことで推実差分a8を演算する。その推実差分a8は、実カウント値Krが360度相当の最終値(=4095)になったときに、推定カウント値Kp(推定角度)が実カウント値Kr(実検出角度)に対してどれだけ進んでいたかを示すものであり、1周期分の総累積推定誤差に相当する。
そして、次のS150にて、図7のS150と同様に、今回のS140で算出した360度での推実差分a8の絶対値が、所定値以上であるか否かを判定し、所定値以上でなければ、S360に進む。
S360では、前述の学習値d1〜d8を、今回の1周期で増加量差分記録テーブルに記録した増加量差分b1〜b8と、上記S140で算出した推実差分a8とから求めて、メモリ45aに記憶する。
即ち、S360では、まず、S320で増加量差分記録テーブルに記録した増加量差分b1〜b8を修正して最終的な学習値とするための修正値c1〜c8を、推実差分a8に応じて、前述の図9に示す配分規則に基づき決定する。そして、前述の第1実施形態と同様に、各区間の学習値d1〜d8を、増加量差分b1〜b8と修正値c1〜c8とに基づいて算出する。
一方、上記S150にて、推実差分a8の絶対値が所定値以上であると判定された場合には、S370に移行して、今回の1周期で増加量差分記録テーブルに記録した増加量差分b1〜b8、及び推実差分a8を無効化する。実際には、S360の処理を行わないことで、今回の1周期分の増加量差分b1〜b8及び推実差分a8によって学習値d1〜d8が更新されないようにしている。そして、その後、当該学習処理を終了する。
この図21のように、増加量差分b1〜b8を各代表角度毎の推定カウント値Kpに基づいて演算し、修正値c1〜c8を推実差分a8に基づいて決定した場合は、図19(A)及び図19(B)の5段目を、増加量差分合計値から推実差分a8に読み替えることになる。そして、図21の処理によって得られる学習値d1〜d8は、図8(B)及び図19(B)の学習値と同様の値となる。
尚、この第2変形例では、図21におけるS320の処理が、増加量差分算出手段に相当している。また、図21におけるS360の処理が、修正手段に相当し、そのうち、修正値c1〜c8を決定する部分が、第1修正値決定手段に相当している。また、図21におけるS140の処理が、推定誤差算出手段に相当している。そして、図21におけるS150及びS370の処理が、更新禁止手段に相当している。
また、この第2変形例を第2実施形態に適用する場合には、図21のS360にて、学習値d1〜d8を算出する際に、修正値c1〜c8を決定した後、前述した図15のS164〜S166と同じ処理を行えば良い。
また、上記実施形態では、RD変換部16から誤差補正部17に入力される誤差補正対象の単位角度情報(単位回転角度情報でもある)が、パルス信号、即ちRD変換部16からのA,B各相信号であって、これら各相信号に基づいてレゾルバ13の製造ばらつき等に起因する誤差を補正するようにしたが、誤差補正対象の単位角度情報(単位回転角度情報)は、そのようなパルス信号(詳しくは、A,B各相信号のエッジという形態)に限らず、回転角度を示す角度データであってもよい。実際に、上記実施形態において、誤差補正部17の内部では、実カウント値Krが、誤差補正対象の単位角度情報としての角度データに該当している。
尚、誤差補正部17に、回転角度を示す角度データが入力されるのであれば、実カウント値Krが直接入力されるということであるため、その場合は、誤差補正部17において、排他的論理和演算部41と実パルスカウンタ42は不要となる。また、この場合、誤差補正部17に入力される角度データが角度検出の原点を示す初期値(通常は0)になったことが、Z相信号の発生に相当することとなる。つまり、角度データの値うちの初期値が、基準角度情報に相当することとなる。
また、回転検出手段は、レゾルバ13及びRD変換部16に限定されるものではなく、例えば、既述のインクリメンタルエンコーダや、アブソリュートエンコーダ、更には特許文献2に記載されているような、縦型ホール素子と磁気抵抗素子(MRE)との組み合わせたセンサなどであってもよい。
ここで、縦型ホール素子と磁気抵抗素子とを組み合わせた回転検出手段としての回転センサの構成例を、図22に示す。尚、図22(a)は回転センサの平面図であり、図22(b)は図22(a)におけるA−A線での断面図である。
図22の回転センサでは、被検出体としてマグネットロータ51を用いており、マグネットロータ51は、有底円筒状のロータボディ52を有している。そのロータボディ52の内側(内面)にはS極永久磁石53とN極永久磁石54とが対向して配置されている。また、ロータボディ52の内部におけるS極永久磁石53とN極永久磁石45とが対向する部位には、センサチップとしての半導体チップ55が、永久磁石53,54と離間して配置されている。そして、永久磁石53,54により半導体チップ55に磁界が印加される。
こうした構成により、半導体チップ55を挟んで対向してS極永久磁石53とN極永久磁石54とが配置される。そして、マグネットロータ51の回転に伴い、S極永久磁石3とN極永久磁石4とは、対向したまま半導体チップ55の周囲を回る。
一方、半導体チップ55には縦型ホール素子61が作り込まれており、その縦型ホール素子61は、S極永久磁石53とN極永久磁石54の回転に伴って発生するホール効果によって半導体チップ55の表面に平行な磁界を検出する。また、半導体チップ55上には磁気抵抗素子62,63も形成されており、その磁気抵抗素子62,63は、半導体チップ55の表面に平行な磁界の強さにより抵抗値が変化する。
そして、この回転センサでは、縦型ホール素子61の出力信号と、磁気抵抗素子62、63の出力信号とを用いることで、回転角度を検出する。
また、上記実施形態では、マイコン37とは別に回転角検出部35を設けるようにしたが、回転角検出部35を構成するRD変換部16及び誤差補正部17のうち、例えば誤差補正部17をマイコン37に内蔵させてもよいし、誤差補正部17及びRD変換部16の双方(即ち回転角検出部35全体)をマイコン37に内蔵させるようにしてもよい。
また、上記実施形態では、本発明を電気自動車に適用した場合について説明したが、電気自動車への適用はあくまでも一例であり、本発明は、例えば走行用の動力源として内燃機関とモータを備えたいわゆるハイブリッド自動車や、電車(鉄道車両)など、走行用の動力源としてモータを備えたあらゆる車両に適用可能である。
また、上記第2実施形態については、修正値cx(xは1〜8の何れか)と加減速修正値exとを、別々に求めることに代えて、推実差分a8と時間変化率RATEとの両方、あるいは時間変化率RATEのみから、式3における「−cx+ex」に相当する値を、修正値として求めるマップを用意しておき、そのマップから修正値(=−cx+ex)を求めて、その修正値を増加量差分bxに加えることで、学習値dxを算出するように構成しても良い。
上記実施形態では、RD変換部16の分解能(角度検出の分解能)を12ビット、又は、11ビットである場合を例に説明を行ったが、分解能は11ビット又は12ビットに限定されず、4ビット、5ビット、6ビット、7ビット、8ビット、9ビット、10ビット、13ビット、14ビット、15ビット、16ビット、17ビット、18ビット、19ビット、20ビット、21ビット、22ビット、23ビット、24ビット、25ビット、26ビット、27ビット、28ビット、29ビット、30ビット、31ビット、32ビット、64ビットといったように、整数となる任意のビット数に設定することができる。また、整数となる軸倍角と任意に組合せることができる。例えば、軸倍角が3のレゾルバ13と、分解能が16ビットのRD変換部16とを組合せても良い。
上記実施形態では、推定パルス幅の演算方法は、直前にレゾルバ13が1回転するのに要した実際の1周期時間をレゾルバ13の分解能で除算することにより得た時間としていた。しかし、上記方法以外にも、推定パルス幅の演算方法は考えられる。例えば、1回前と3回前のZ相信号のパルスエッジ立ち上がりタイミングの間の2周期分の時間を計測し、該計測した2周期時間から推定パルス幅を演算しても良い。すなわち、推定パルス幅の演算には、少なくとも1周期時間を含むn周期時間を用いれば良い。
上記実施形態では、修正値を決定する際の規則として図9を用いて説明を行った。しかし、修正値を決定する際の規則は図9には限定されず、出来るだけ均等に、最終角度を含む区間の推実差分(総累積推定誤差)を配分できる規則であればあれば他の規則であっても良い。具体的には、最終角度における推実差分の絶対値が代表角度の数(区間数)よりも小さい時は、各区間の修正値を1又は0にしておけば、図9のような規則でなくても良い。一例としては、最も大きい代表角度(最終角度)÷nの商である角度を含む区間に優先的に修正値を配置すると良い。なお、ここでいうnは1以上の自然数である。更に、nは、最終角度における推実差分の絶対値が区間数以下である場合には推実差分の絶対値以下の全ての自然数であり、最終角度における推実差分の絶対値が区間数より大きい場合には最終角度における推実差分の絶対値が区間数以下である場合のnの組み合わせにより分配を決定する。
つまり区間数が3であれば、最終角度における推実差分の絶対値が1の時にはn=1、推実差分の絶対値が2の時にはn=1,2、推実差分の絶対値が3の時にはn=1,2,3、推実差分の絶対値が4の時には推実差分の絶対値が1の時のnと推実差分の絶対値が3の時のnを組み合わせて分配を決定する。
一例を具体例を使って説明すると、レゾルバ13が取りえる角度が0度〜360度であり、これを1〜120度、121〜240度、241度〜360度の3種類の角度範囲に3等分した場合を考える。ここで、最終角度である360度での推実差分が+1であったなら、360÷1=360となり360度を含む241度〜360度区間の修正値を+1、他の区間の修正値を0とする。一方、最終角度の推実差分が+2であったなら、n=1で360÷1=360、n=2で360÷2=180となり、180度を含む121〜240度区間の修正値を+1、360度を含む241〜360度区間の修正値を+1、他の区間の修正値を0とする。そして、最終角度の推実差分が+3であったなら、n=1で360÷1=360、n=2で360÷2=180、n=3で360÷3=120となり、1〜120度、121〜240度、241度〜360度の各々の区間の修正値を+1とする。更に、最終角度の推実差分が+4であったなら、最終角度における推実差分の絶対値が区間数より大きいため最終角度の推実差分が+3の場合の修正値に、最終角度の推実差分が+1の場合の修正値を加えたものとなる。よって、241度〜360度区間の修正値を+2、他の区間の修正値を+1とする。
上記実施形態では、RD変換部16をECU7内に配置する構成とした。しかし、RD変換部16を、ECU7内ではなくレゾルバ13側に配置しても良いし、ECU7内でもなくレゾルバ13内でもなく別に配置しても良い。この場合、ECU7には、Z相信号、A相信号、B相信号の3種類の信号が入力される。
上記実施形態では、排他的論理和演算部41と実パルスカウンタ42とがをECU7内に配置する構成とした。しかし、排他的論理和演算部41と実パルスカウンタ42の両方、もしくは排他的論理和演算部41だけを、ECU7内ではなくレゾルバ13側に配置しても良いし、ECU7ともレゾルバ13とも別に配置しても良い。排他的論理和演算部41だけをECU7内ではなくレゾルバ13側に配置した場合、ECU7には実パルスPrが直接入力される構成となる。排他的論理和演算部41と実パルスカウンタ42の両方をECU7内ではなくレゾルバ13側に配置した場合、ECU7には実カウント値が直接入力される構成となる。
誤差補正部17の機能は、マイコン37の内部で実現されても良いし、マイコン37とは別に設けられたマイコン、又は、マイコン37とは別に設けられた回路上で実現されても良い。また、前述した通り、誤差補正部17の一部の機能を、レゾルバ13側に配置しても良いし、マイコン37とは別に設けられたマイコン、又は、マイコン37とは別に設けられたIC上で実現しても良い。より詳細には、補正カウント部47は、マイコン37、又は、マイコン37とは別のマイコン、又は、IC上で実現することができる。補正量計算部46は、マイコン37、又は、マイコン37とは別のマイコン、又は、IC上で実現することができる。差分記録部45は、マイコン37、又は、マイコン37とは別のマイコン、又は、IC上で実現することができる。実パルスカウンタ42は、マイコン37、又は、マイコン37とは別のマイコン、又は、IC上で実現することができる。推定パルスカウンタ44は、マイコン37、又は、マイコン37とは別のマイコン、又は、IC上で実現することができる。排他的論理和演算部41は、マイコン37、又は、マイコン37とは別のマイコン、又は、IC上で実現することができる。推定角度パルス信号生成部43は、マイコン37、又は、マイコン37とは別のマイコン、又は、IC上で実現することができる。また、これらの機能をマイコン37とは別のマイコン、又は、IC上で実現する場合には、この別のマイコンまたはICは、ECU内、又は、ECU7内ではなくレゾルバ13側、又は、ECU7及びレゾルバ13とは別体に配置しても良い。
補正カウント部47、補正量計算部46、差分記録部45、実パルスカウンタ42、推定パルスカウンタ44、排他的論理和演算部41、推定角度パルス信号生成部43で行われる処理の実行命令(即ち、それらの各機能をコンピュータに実現させるためのプログラム)を、ECU37内の記録媒体(例えばROMやEEPROM等の不揮発性メモリ)に記憶しておくことにより、誤差補正部17の機能を、マイコン37、又は、マイコン37とは別のマイコンでプログラムを実行することで実現することができる。
また、マイコン37が、プロセッサとプロセッサとは別に設けられた回路からなる場合には、プロセッサとは別に設けられたトランジスタやダイオードなどのディスクリート素子からなる回路で、補正カウント部47、補正量計算部46、差分記録部45、実パルスカウンタ42、推定パルスカウンタ44、排他的論理和演算部41、推定角度パルス信号生成部43の機能を実現しても良い。なお、このように誤差補正部17の機能をプロセッサとは別の回路で実現した場合、誤差補正部17の機能を実行するにあたってプロセッサに負荷を掛けることが無い。
上記実施形態では、推実差分記録テーブル、増加量差分記録テーブル、修正値記録テーブル、学習値記録テーブルが、メモリ45aに記録されていた。しかし、推実差分記録テーブル、増加量差分記録テーブル、修正値記録テーブル、学習値記録テーブルを各々別のメモリに記憶させても良い。また、推実差分記録テーブル、増加量差分記録テーブル、修正値記録テーブル、学習値記録テーブルのうちの幾つかを1個のメモリにまとめて記憶させても良い。一方、メモリ45aは、ECU7の内部に配置されるのであれば、図3に示したように誤差補正部17に配置されても良いし、メモリだけマイコン37の内部に配置されても良い。
一方、請求項13の対応として、レゾルバ13から排他的論理和演算部41と実パルスカウンタ42までの構成は、回転センサに相当し、推定角度パルス信号生成部43は、推定パルス生成器に相当し、推定パルスカウンタ44は、カウンタに相当し、差分記録部45のメモリ45aに記憶された図8に示すテーブルが、メモリに相当し、補正量計算部46と補正カウント部47とマイコン37とは、コントローラに相当する。
一方、請求項17の対応として、誤差補正部17は、誤差補正装置に相当し、推定角度パルス信号生成部43は、推定パルス生成器に相当し、推定パルスカウンタ44は、推定パルスカウンタに相当し、差分記録部45は、第1差分算出装置、第2差分算出装置、修正装置に相当し、補正量計算部46と補正カウント部47は、出力処理装置に相当する。
また、請求項18の対応として、排他的論理和演算部41と実パルスカウンタ42は、実検出角度算出手段に相当し、推定角度パルス信号生成部43と推定パルスカウンタ44は、推定角度算出手段に相当し、差分記録部45は、増加量差分算出手段、学習値算出手段に相当し、補正量計算部46と補正カウント部47は、出力処理手段に相当する。
1…モータ、1a…出力軸、3…バッテリ、5…インバータ、7…走行用モータ制御装置(ECU)、9…ディファレンシャルギヤ、11…駆動輪、13…レゾルバ、16…RD変換部、17…誤差補正部、21,22,23…電流供給線、25,26,27…電流センサ、31…アクセルセンサ、32…ブレーキセンサ、33…シフトポジションセンサ、35…回転角検出部、37…マイコン、39…パルス幅変調回路、41…排他的論理和演算部、42…実パルスカウンタ、43…推定角度パルス信号生成部、44…推定パルスカウンタ、45…差分記録部、45a…メモリ、46…補正量計算部、47…補正カウント部

Claims (18)

  1. 走行用の動力源になるモータと、
    前記モータが360度/n(nは1以上の整数)の基準角度回転する毎に、そのことを示す基準角度情報を出力すると共に、前記モータが前記基準角度よりも小さい一定の単位角度回転する毎に、前記基準角度情報の出力タイミングを基準とした前記モータの回転角度を示す単位角度情報を出力する回転検出手段と、
    を備えた車両に用いられ、前記基準角度情報及び前記単位角度情報を用いて前記モータへの通電を制御する車両の走行用モータ制御装置であって、
    前記単位角度情報の誤差を補正して、前記基準角度情報の出力タイミングを基準とした前記モータの回転角度を示す補正角度情報を出力する補正手段を備え、前記補正角度情報に基づいて前記モータへの通電を制御するよう構成されており、
    前記補正手段は、
    前記基準角度情報の出力タイミング毎に、該基準角度情報の前回出力時から今回出力時までの1周期時間を計測し、該計測した1周期時間に基づいて、前記モータの以後の回転において該モータが前記単位角度回転するのに要する時間を推定する時間推定手段と、
    前記基準角度情報の出力タイミングから、前記時間推定手段により推定されている時間である推定時間が経過する毎に、該推定時間経過中に前記モータが前記単位角度回転したものと推定して前記基準角度情報の出力タイミングを基準とした前記モータの回転角度を推定し、該推定結果を推定角度情報として出力する角度推定手段と、
    前記基準角度情報の出力間隔である1周期において、前記単位角度情報が示す回転角度である実検出角度が、該実検出角度の最終値である最終角度を含む複数の代表角度の各々になったとき毎に、前記推定角度情報が示す回転角度である推定角度が、前記実検出角度に対してどれだけ進んでいるかを示す推実差分を算出する推実差分算出手段と、
    前記推実差分算出手段により算出された前記1周期分の前記各代表角度での推実差分に基づいて、前記実検出角度が前記基準角度情報の出力タイミングでの初期値から前記代表角度のうち最も小さい最小代表角度になるまでの区間と、隣接する前記代表角度同士の区間との各々について、その各区間での前記実検出角度の増加量に対して前記推定角度の増加量がどれだけ多かったかを示す増加量差分を算出し、該増加量差分を、記憶部に、どの区間に対応するものであるかを識別可能に記憶する増加量差分算出手段と、
    前記増加量差分算出手段により前記記憶部に記憶された前記1周期分の前記増加量差分を、前記モータの加減速の度合いに応じて修正する修正手段と、
    前記基準角度情報の出力タイミングで前記補正角度情報の値を前記初期値にする初期化処理と、前記基準角度情報の出力タイミングを基準として、前記単位角度情報が出力される毎に、前記補正角度情報の値を前記単位角度に相当する値ずつ増加させる出力更新処理と、前記実検出角度が前記基準角度情報の出力タイミングから前記最小代表角度になるまでの区間、及び前記実検出角度が前記代表角度のうちの何れかの代表角度になってから次の代表角度になるまでの区間の各々において、その区間での前記補正角度情報の値の増加量が、その区間に対応して前記記憶部に記憶されている前記増加量差分だけ多くなるように、前記出力更新処理で増加させる値を変更する補正処理と、を行う出力処理手段と、
    を備えていること特徴とする車両の走行用モータ制御装置。
  2. 請求項1に記載の車両の走行用モータ制御装置において、
    前記修正手段は、
    前記増加量差分算出手段により前記記憶部に記憶された前記1周期分の増加量差分の各々に対する第1修正値を、該1周期分の増加量差分と同じ前記1周期において前記推実差分算出手段により算出された前記最終角度での推実差分に基づき決定する手段であって、前記第1修正値を、該第1修正値の総和が前記最終角度での推実差分と等しくなるように決定する第1修正値決定手段を備え、
    前記修正のための処理として、前記増加量差分算出手段により前記記憶部に記憶された前記1周期分の増加量差分の各々を、その増加量差分に対して決定された前記第1修正値だけ減らす処理を行うこと、
    を特徴とする車両の走行用モータ制御装置。
  3. 請求項2に記載の車両の走行用モータ制御装置において、
    前記修正手段は、
    前記基準角度情報の前回出力時から今回出力時までの1周期時間と、前記基準角度情報の前々回出力時から前回出力時までの1周期時間とから、前記モータの加減速の度合いを検出して、前記増加量差分算出手段により前記記憶部に記憶された前記1周期分の増加量差分の各々に対する第2修正値を、前記検出した加減速の度合いに基づき決定する手段であって、前記検出した加減速の度合いが加速を示す場合には、前記第2修正値を、該第2修正値の総和が0となり、且つ、前記各区間のうちで大きい角度の区間についての増加量差分に対する該第2修正値ほど大きい値となるように決定する一方、前記検出した加減速の度合いが減速を示す場合には、前記第2修正値を、該第2修正値の総和が0となり、且つ、前記各区間のうちで大きい角度の区間についての増加量差分に対する該第2修正値ほど小さい値となるように決定し、しかも、前記検出した加減速の度合いが大きいほど、前記第2修正値を、該各第2修正値の絶対値の総和が大きくなるように決定する第2修正値決定手段を、更に備え、
    前記修正のための処理として、前記増加量差分算出手段により前記記憶部に記憶された前記1周期分の増加量差分の各々を、その増加量差分に対して決定された前記第1修正値だけ減らすと共に、その増加量差分に対して決定された前記第2修正値だけ増やす処理を行うこと、
    を特徴とする車両の走行用モータ制御装置。
  4. 請求項2又は請求項3に記載の車両の走行用モータ制御装置において、
    前記第1修正値決定手段は、
    前記最終角度での推実差分の絶対値が、前記単位角度に相当する値よりも大きい場合、前記最終角度での推実差分をN個(Nは2以上の整数)の値に分割し、その分割した各値を、N個の前記第1修正値として決定すること、
    を特徴とする車両の走行用モータ制御装置。
  5. 請求項1ないし請求項4の何れか1項に記載の車両の走行用モータ制御装置において、
    前記実検出角度が前記最終角度になったときに前記推実差分算出手段により算出された前記最終角度での推実差分の絶対値が所定値以上の場合に、その回の前記1周期において前記推実差分算出手段が算出した前記推実差分を無効化して、前記出力処理手段が前記補正処理で用いる前記記憶部内の増加量差分が更新されるのを禁止する更新禁止手段を備えていること、
    を特徴とする車両の走行用モータ制御装置。
  6. 請求項1ないし請求項5の何れか1項に記載の車両の走行用モータ制御装置において、
    前記時間推定手段は、
    今回計測した前記1周期時間から前回計測した前記1周期時間を減算した結果と、今回計測した前記1周期時間とを加算した時間を、次回の1周期時間の推定値として算出し、その算出した1周期時間の推定値に基づいて、前記モータが前記単位角度回転するのに要する時間を推定すること、
    を特徴とする車両の走行用モータ制御装置。
  7. 走行用の動力源になるモータと、
    前記モータが360度/n(nは1以上の整数)の基準角度回転する毎に、そのことを示す基準角度情報を出力すると共に、前記モータが前記基準角度よりも小さい一定の単位角度回転する毎に、前記基準角度情報の出力タイミングを基準とした前記モータの回転角度を示す単位角度情報を出力する回転検出手段と、
    を備えた車両に用いられ、前記基準角度情報及び前記単位角度情報を用いて前記モータへの通電を制御する車両の走行用モータ制御装置であって、
    前記単位角度情報の誤差を補正して、前記基準角度情報の出力タイミングを基準とした前記モータの回転角度を示す補正角度情報を出力する補正手段を備え、前記補正角度情報に基づいて前記モータへの通電を制御するよう構成されており、
    前記補正手段は、
    前記基準角度情報の出力タイミング毎に、該基準角度情報の前回出力時から今回出力時までの1周期時間を計測し、該計測した1周期時間に基づいて、前記モータの以後の回転において該モータが前記単位角度回転するのに要する時間を推定する時間推定手段と、
    前記基準角度情報の出力タイミングから、前記時間推定手段により推定されている時間である推定時間が経過する毎に、該推定時間経過中に前記モータが前記単位角度回転したものと推定して前記基準角度情報の出力タイミングを基準とした前記モータの回転角度を推定し、該推定結果を推定角度情報として出力する角度推定手段と、
    前記基準角度情報の出力間隔である1周期毎に、前記単位角度情報が示す回転角度である実検出角度が、前記基準角度情報の出力タイミングでの初期値から、該実検出角度の最終値を含む複数の代表角度のうち最も小さい最小代表角度になるまでの区間と、隣接する前記代表角度同士の区間との各々について、その各区間での前記実検出角度の増加量に対して前記推定角度情報が示す回転角度である推定角度の増加量がどれだけ多かったかを示す増加量差分を算出し、該増加量差分を、記憶部に、どの区間に対応するものであるかを識別可能に記憶する増加量差分算出手段と、
    前記増加量差分算出手段により前記記憶部に記憶された前記1周期分の前記増加量差分を、前記モータの加減速の度合いに応じて修正する修正手段と、
    前記基準角度情報の出力タイミングで前記補正角度情報の値を前記初期値にする初期化処理と、前記基準角度情報の出力タイミングを基準として、前記単位角度情報が出力される毎に、前記補正角度情報の値を前記単位角度に相当する値ずつ増加させる出力更新処理と、前記実検出角度が前記基準角度情報の出力タイミングから前記最小代表角度になるまでの区間、及び前記実検出角度が前記代表角度のうちの何れかの代表角度になってから次の代表角度になるまでの区間の各々において、その区間での前記補正角度情報の値の増加量が、その区間に対応して前記記憶部に記憶されている前記増加量差分だけ多くなるように、前記出力更新処理で増加させる値を変更する補正処理と、を行う出力処理手段と、
    を備えていること特徴とする車両の走行用モータ制御装置。
  8. 請求項7に記載の車両の走行用モータ制御装置において、
    前記1周期毎に、前記推定角度の該1周期分の誤差であって、前記推定角度が前記実検出角度に対してどれだけ進んでいたかを示す総累積推定誤差を算出する推定誤差算出手段を備えると共に、
    前記修正手段は、
    前記増加量差分算出手段により前記記憶部に記憶された前記1周期分の増加量差分の各々に対する第1修正値を、該1周期分の増加量差分と同じ前記1周期について前記推定誤差算出手段により算出された前記総累積推定誤差に基づき決定する手段であって、前記第1修正値を、該第1修正値の総和が前記総累積推定誤差と等しくなるように決定する第1修正値決定手段を備え、
    前記修正のための処理として、前記増加量差分算出手段により前記記憶部に記憶された前記1周期分の増加量差分の各々を、その増加量差分に対して決定された前記第1修正値だけ減らす処理を行うこと、
    を特徴とする車両の走行用モータ制御装置。
  9. 請求項8に記載の車両の走行用モータ制御装置において、
    前記修正手段は、
    前記基準角度情報の前回出力時から今回出力時までの1周期時間と、前記基準角度情報の前々回出力時から前回出力時までの1周期時間とから、前記モータの加減速の度合いを検出して、前記増加量差分算出手段により前記記憶部に記憶された前記1周期分の増加量差分の各々に対する第2修正値を、前記検出した加減速の度合いに基づき決定する手段であって、前記検出した加減速の度合いが加速を示す場合には、前記第2修正値を、該第2修正値の総和が0となり、且つ、前記各区間のうちで大きい角度の区間についての増加量差分に対する該第2修正値ほど大きい値となるように決定する一方、前記検出した加減速の度合いが減速を示す場合には、前記第2修正値を、該第2修正値の総和が0となり、且つ、前記各区間のうちで大きい角度の区間についての増加量差分に対する該第2修正値ほど小さい値となるように決定し、しかも、前記検出した加減速の度合いが大きいほど、前記第2修正値を、該各第2修正値の絶対値の総和が大きくなるように決定する第2修正値決定手段を、更に備え、
    前記修正のための処理として、前記増加量差分算出手段により前記記憶部に記憶された前記1周期分の増加量差分の各々を、その増加量差分に対して決定された前記第1修正値だけ減らすと共に、その増加量差分に対して決定された前記第2修正値だけ増やす処理を行うこと、
    を特徴とする車両の走行用モータ制御装置。
  10. 請求項8又は請求項9に記載の車両の走行用モータ制御装置において、
    前記第1修正値決定手段は、
    前記総累積推定誤差の絶対値が、前記単位角度に相当する値よりも大きい場合、前記総累積推定誤差をN個(Nは2以上の整数)の値に分割し、その分割した各値を、N個の前記第1修正値として決定すること、
    を特徴とする車両の走行用モータ制御装置。
  11. 請求項8ないし請求項10の何れか1項に記載の車両の走行用モータ制御装置において、
    前記推定誤差算出手段により算出された前記総累積推定誤差の絶対値が所定値以上の場合に、前記出力処理手段が前記補正処理で用いる前記記憶部内の増加量差分が更新されるのを禁止する更新禁止手段を備えていること、
    を特徴とする車両の走行用モータ制御装置。
  12. 請求項7ないし請求項11の何れか1項に記載の車両の走行用モータ制御装置において、
    前記時間推定手段は、
    今回計測した前記1周期時間から前回計測した前記1周期時間を減算した結果と、今回計測した前記1周期時間とを加算した時間を、次回の1周期時間の推定値として算出し、その算出した1周期時間の推定値に基づいて、前記モータが前記単位角度回転するのに要する時間を推定すること、
    を特徴とする車両の走行用モータ制御装置。
  13. 車両の駆動力を供給するモータと、
    前記モータの回転角度を検出するための回転センサであって、前記モータが基準角度だけ回転する度に基準角度情報を出力すると共に、前記基準角度よりも小さい一定の単位角度だけ前記モータが回転する度に実検出角度情報を出力するように構成されており、前記実検出角度情報は前記基準角度情報が出力されたタイミングを基準として前記モータが回転した実検出角度を示すようになっている回転センサと、
    前記回転センサと前記モータとに接続され、前記回転センサから前記実検出角度情報と前記基準角度情報とを受け取り、前記モータに対して通電制御指令を出力するコントローラと、
    前記回転センサに接続された推定パルス生成器であって、前記基準角度情報が出力される度に前記基準角度情報の周期間隔を計測し、その計測した間隔に基づいて、前記モータが次に前記単位角度だけ回転するために必要とされる推定時間を算出し、その推定時間に基づいて推定パルスを生成する推定パルス生成器と、
    前記回転センサと前記推定パルス生成器とに接続されたカウンタであって、前記推定時間が経過する間に前記モータは前記単位角度だけ回転するという仮定の下で、前記推定パルスが入力される度に前記推定パルスをカウントすることによって、前記基準角度情報が出力されるタイミングを基準として計測される前記モータの回転角度の推定値である推定角度を算出し、その推定角度を示す推定角度情報を出力するカウンタと、
    メモリと、を備え、
    前記メモリには、前記基準角度情報の1周期中における複数の代表角度毎の複数の第1差分が記憶され、前記複数の第1差分の各々は、前記実検出角度が、前記1周期中における前記複数の代表角度のうちの1つに相当する値になる度に記録され、前記複数の代表角度は前記実検出角度の最終値に相当する最終角度を含み、前記複数の第1差分は前記推定角度が前記実検出角度に対して進んでいる量を示し、
    前記メモリには、さらに、複数の角度区間毎についての複数の第2差分が記憶され、前記複数の第2差分の各々は、前記メモリに記憶された前記複数の代表角度の前記複数の第1差分に基づいて算出され、前記複数の角度区間の1つは、前記基準角度情報が出力されたタイミングにおける前記実検出角度の初期値と前記複数の代表角度のうちの最小代表角度との間と定義され、前記複数の角度区間のうちのその他は、前記複数の代表角度の隣接するもの同士の間と定義され、前記複数の第2差分の各々は、その第2差分に対応する角度区間において、前記推定角度の増加量が前記実検出角度の増加量に対して進んでいる量を示し、
    前記メモリには、さらに、前記複数の角度区間毎についての複数の学習値が記憶され、その学習値は、前記メモリに記憶された前記複数の第2差分を、前記モータの加減速の度合いに応じて修正することにより算出されたものであり、
    前記コントローラは、
    前記基準角度情報が出力された時に、前記モータの回転の補正角度を示す補正角度情報の値を前記初期値にセットする初期化指令と、
    前記基準角度情報の出力タイミングを基準として、前記実検出角度情報が出力される度に、前記単位角度に相当する所定値だけ前記補正角度情報の値を増加させる出力更新指令と、
    前記複数の角度区間の各々で前記実検出角度が変化する間、前記メモリに記憶された前記複数の角度区間の前記複数の学習値のうち、現在の前記角度区間に対応する1つの学習値が示す値だけ、前記補正角度情報の値の増加量を増加させる補正指令と、を出力すると共に、
    前記モータに対して、前記補正角度情報に基づいて算出される前記通電制御指令を出力すること、
    を特徴とする車両用のモータ制御システム。
  14. 車両の駆動力を供給するモータと、
    前記モータの回転角度を検出するための回転センサであって、前記モータが基準角度だけ回転する度に基準角度情報を出力すると共に、前記基準角度よりも小さい一定の単位角度だけ前記モータが回転する度に実検出角度情報を出力するように構成されており、前記実検出角度情報は前記基準角度情報が出力されたタイミングを基準として前記モータが回転した実検出角度を示すようになっている回転センサと、
    前記回転センサと前記モータとに接続されたコントローラであって、メモリを備えたコントローラと、を備え、
    前記コントローラは、前記基準角度情報が出力される度に前記基準角度情報の周期間隔を計測し、その計測した間隔に基づいて、前記モータが次に前記単位角度だけ回転するために必要とされる推定時間を算出し、
    前記コントローラは、前記推定時間が経過する間に前記モータは前記単位角度だけ回転するという仮定の下で、前記推定時間が経過する度に、前記基準角度情報が出力されるタイミングを基準として計測される前記モータの回転角度の推定値である推定角度を示す推定角度情報を算出し、
    前記コントローラは、前記実検出角度が前記基準角度情報の1周期中における複数の代表角度のうちの1つに相当する値になる度に、その代表角度毎の第1差分であって、前記推定角度と前記実検出角度との間の差分を示す第1差分を算出し、
    前記コントローラは、複数の角度区間毎についての複数の第2差分を、前記複数の代表角度の前記複数の第1差分に基づいて算出し、前記複数の角度区間の1つは、前記基準角度情報が出力されたタイミングにおける前記実検出角度の初期値と前記複数の代表角度のうちの最小代表角度との間と定義され、前記複数の角度区間のうちのその他は、前記複数の代表角度の隣接するもの同士の間と定義され、前記複数の第2差分の各々は、その第2差分に対応する角度区間において、前記推定角度の増加量が前記実検出角度の増加量に対して進んでいる量を示し、
    前記コントローラは、前記複数の角度区間の各々に関連するように、前記複数の第2差分の各々を前記メモリに記憶し、
    前記コントローラは、前記モータの加減速の度合いに応じて、前記複数の第2差分を調整することにより、複数の学習値を算出し、
    前記コントローラは、前記基準角度情報が出力された時に、前記モータの回転の補正角度を示す補正角度情報の値を初期化し、
    前記コントローラは、前記実検出角度情報が出力される度に、前記単位角度に相当する値だけ前記補正角度情報の値を増加させ、
    前記コントローラは、前記複数の角度区間の各々で前記実検出角度が変化する間、前記複数の学習値のうち、現在の前記角度区間に対応する1つの学習値が示す値だけ、前記補正角度情報の値の増加量を増加させ、
    前記コントローラは、前記補正角度情報に基づいて前記モータを制御すること、
    を特徴とする車両用のモータ制御システム。
  15. モータが基準角度だけ回転する度に、回転センサから基準角度情報を取得する手順と、
    前記基準角度よりも小さい一定の単位角度だけ前記モータが回転する度に、前記回転センサから、前記基準角度情報が出力されたタイミングを基準として前記モータが回転した実検出角度を示す実検出角度情報を取得する手順と、
    前記基準角度情報が前回出力された時刻と前記基準角度情報が今回出力された時刻との間を計測して得られる前記基準角度情報の周期間隔を、前記基準角度情報が出力される度に計測する手順と、
    前記間隔に基づいて、前記モータが次に前記単位角度だけ回転するために必要とされる推定時間を算出する手順と、
    前記推定時間が経過する間に前記モータは前記単位角度だけ回転するという仮定の下で、前記推定時間が経過する度に、前記基準角度情報が出力されるタイミングを基準として計測される前記モータの回転角度の推定値である推定角度を示す推定角度情報を算出する手順と、
    前記実検出角度が前記基準角度情報の1周期中における前記実検出角度の最終値に相当する最終角度を含む複数の代表角度のうちの1つに相当する値になる度に、前記推定角度と前記実検出角度の間の差分を示す第1差分を算出する手順と、
    前記基準角度情報が出力されたタイミングにおける前記実検出角度の初期値と前記複数の代表角度のうちの最小代表角度との間の区間と、前記複数の代表角度の隣接するもの同士の区間との各々である複数の角度区間の各々について、その角度区間での前記推定角度の増加量が前記実検出角度の増加量に対して進んでいる量を示す第2差分を、前記複数の代表角度毎の前記第1差分に基づいて算出する手順と、
    前記複数の角度区間の各々に関連するように、前記複数の第2差分の各々を記憶部に記憶する手順と、
    前記モータの加減速の度合いに応じて、前記記憶部に記憶された前記複数の第2差分を調整する手順と、
    前記基準角度情報が出力された時に、前記モータの回転の補正角度を示す補正角度情報の値を前記初期値に初期化する手順と、
    前記複数の角度区間の各々で前記実検出角度が変化する間、前記記憶部に記憶された調整がされた前記複数の第2差分のうち、現在の前記角度区間に対応する1つの第2差分だけ、前記補正角度情報の値の増加量を増加させることにより、前記実検出角度情報が出力される度に前記補正角度情報を計算する手順とを、
    コンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記憶媒体。
  16. モータが基準角度だけ回転する度に、回転センサから基準角度情報を取得する手順と、
    前記基準角度よりも小さい一定の単位角度だけ前記モータが回転する度に、前記回転センサから、前記基準角度情報が出力されたタイミングを基準として前記モータが回転した実検出角度を示す実検出角度情報を取得する手順と、
    前記基準角度情報が前回出力された時刻と前記基準角度情報が今回出力された時刻との間を計測して得られる前記基準角度情報の周期間隔を、前記基準角度情報が出力される度に計測する手順と、
    前記間隔に基づいて、前記モータが次に前記単位角度だけ回転するために必要とされる推定時間を算出する手順と、
    前記推定時間が経過する間に前記モータは前記単位角度だけ回転するという仮定の下で、前記推定時間が経過する度に、前記基準角度情報が出力されるタイミングを基準として計測される前記モータの回転角度の推定値である推定角度を示す推定角度情報を算出する手順と、
    前記実検出角度が前記基準角度情報の1周期中における前記実検出角度の最終値に相当する最終角度を含む複数の代表角度のうちの1つに相当する値になる度に、前記推定角度と前記実検出角度の間の差分を示す第1差分を算出する手順と、
    前記基準角度情報が出力されたタイミングにおける前記実検出角度の初期値と前記複数の代表角度のうちの最小代表角度との間の区間と、前記複数の代表角度の隣接するもの同士の区間との各々である複数の角度区間の各々について、その角度区間での前記推定角度の増加量が前記実検出角度の増加量に対して進んでいる量を示す第2差分を、前記複数の代表角度毎の前記第1差分に基づいて算出する手順と、
    前記複数の角度区間の各々に関連するように、前記複数の第2差分の各々を記憶部に記憶する手順と、
    前記モータの加減速の度合いに応じて、前記記憶部に記憶された前記複数の第2差分を調整する手順と、
    前記基準角度情報が出力された時に、前記モータの回転の補正角度を示す補正角度情報の値を前記初期値に初期化する手順と、
    前記複数の角度区間の各々で前記実検出角度が変化する間、前記記憶部に記憶された調整がされた前記複数の第2差分のうち、現在の前記角度区間に対応する1つの第2差分だけ、前記補正角度情報の値の増加量を増加させることにより、前記実検出角度情報が出力される度に前記補正角度情報を計算する手順と、
    を備えていることを特徴とするモータの検出角度補正方法。
  17. 車両の駆動力を供給するモータの回転を検出するための回転検出装置であって、
    前記モータが基準角度だけ回転する度に基準角度情報を出力すると共に、前記基準角度よりも小さい単位角度だけ前記モータが回転する度に実検出角度情報を出力するように構成され、前記実検出角度情報は前記基準角度情報が出力されたタイミングを基準として前記モータが回転した実検出角度を示すようになっている回転センサと、
    前記実検出角度情報の誤差を補正して、前記基準角度情報の出力タイミングを基準とした前記モータの回転角度を示す補正角度情報を出力する誤差補正装置とを備え、
    前記誤差補正装置は、
    前記基準角度情報が出力される度に前記基準角度情報の周期間隔を計測し、その計測した間隔に基づいて、前記モータが次に前記単位角度だけ回転するために必要とされる推定時間を算出し、その推定時間と同じ幅を有する推定パルスを生成する推定パルス生成器と、
    前記推定パルスをカウントすることにより、前記基準角度情報の出力タイミングを基準とした前記モータの回転の推定角度を示す推定角度情報を算出する推定パルスカウンタと、
    前記基準角度情報の1周期において、前記実検出角度が、該実検出角度の最終値に相当する最終角度を含む複数の代表角度の各々になったとき毎に、前記推定角度が前記実検出角度に対して進んでいる量を示す第1差分を算出する第1差分算出装置と、
    前記基準角度情報が出力されたタイミングにおける前記実検出角度の初期値と前記複数の代表角度とを含む複数の角度のうち、隣接するもの同士の間である複数の角度区間の各々について、その角度区間での前記推定角度の増加量と前記実検出角度の増加量との差分を示す第2差分を、前記複数の代表角度毎の前記第1差分に基づいて算出し、その算出した第2差分を、前記複数の角度区間の各々に関連するように記憶部に記憶する第2差分算出装置と、
    前記記憶部に記憶された1周期分の前記複数の第2差分を、前記モータの加減速の度合いに応じて修正することで、複数の学習値を算出する修正装置と、
    前記基準角度情報が出力された時に、前記補正角度情報を前記初期値にセットする初期化処理と、前記実検出角度情報が出力される度に、前記単位角度に相当する所定値だけ前記補正角度情報の値を増加させる出力更新処理と、前記複数の角度区間の各々で前記実検出角度が変化する間、前記記憶部に記憶された前記複数の学習値のうち、現在の前記角度区間に対応する1つの学習値が示す値だけ、前記補正角度情報の値の増加量が多くなるように、前記出力更新処理で使われる前記所定値を補正する補正処理とを行う出力処理装置と、
    を備えていることを特徴とする回転検出装置。
  18. 車両の駆動力を供給するモータの回転を検出するための回転検出装置であって、
    前記モータが所定基準角度だけ回転する度に、基準角度情報を受信し、前記モータが前記基準角度よりも小さい所定の分解能値に基づく単位角度だけ回転する度に、単位回転角度情報を受信し、前記基準角度情報と前記単位回転角度情報とに基づいて、前記基準角度情報が受信された時である基準タイミングを基準として計測された前記モータの回転の実検出角度を示す実検出角度情報を算出する実検出角度算出手段と、
    前記基準角度情報を受信した間隔である1周期の時間を計測し、その計測した時間と前記分解能値とに基づいて、前記基準タイミングを基準として計測された前記モータの回転の推定角度を示す推定角度情報を算出する推定角度算出手段と、
    前記1周期中において、前記1周期中で定義された複数の角度区間の各々について、その角度区間での前記推定角度情報の増加量と前記実検出角度情報の増加量との間の差分を示す複数の増加量差分を算出する増加量差分算出手段と、
    前記1周期分の前記複数の増加量差分を、前記モータの加減速の度合いに応じて修正することにより、複数の学習値を算出し、その算出した学習値の各々を、前記複数の角度区間の各々に関連するように記憶部に記憶する学習値算出手段と、
    前記複数の角度区間の各々において、前記実検出角度情報の変化量が、前記記憶部に記憶された前記複数の学習値のうち、現在の前記角度区間に対応する1つの学習値が示す値だけ変化させられるように、前記実検出角度情報を補正し、その補正後の値を、前記モータの補正された回転角度を示す補正角度情報として出力する出力処理手段と、
    を備えていることを特徴とする回転検出装置。
JP2010240999A 2009-11-27 2010-10-27 車両の走行用モータ制御装置、車両用のモータ制御システム、記憶媒体、モータの検出角度補正方法、及び回転検出装置 Active JP5115616B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010240999A JP5115616B2 (ja) 2010-06-23 2010-10-27 車両の走行用モータ制御装置、車両用のモータ制御システム、記憶媒体、モータの検出角度補正方法、及び回転検出装置
US12/927,833 US8487563B2 (en) 2009-11-27 2010-11-24 Drive motor control apparatus for vehicle, motor control system, method for correcting rotation angle of motor, program for performing the same, rotation detecting apparatus
DE102010052712.2A DE102010052712B4 (de) 2009-11-27 2010-11-26 Rotationserfassungsvorrichtung, Motorsteuersystem, computerlesbares Medium und Verfahren zum Korrigieren eines Rotationswinkels eines Motors

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010142736 2010-06-23
JP2010142736 2010-06-23
JP2010240999A JP5115616B2 (ja) 2010-06-23 2010-10-27 車両の走行用モータ制御装置、車両用のモータ制御システム、記憶媒体、モータの検出角度補正方法、及び回転検出装置

Publications (2)

Publication Number Publication Date
JP2012029547A true JP2012029547A (ja) 2012-02-09
JP5115616B2 JP5115616B2 (ja) 2013-01-09

Family

ID=45781810

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010240999A Active JP5115616B2 (ja) 2009-11-27 2010-10-27 車両の走行用モータ制御装置、車両用のモータ制御システム、記憶媒体、モータの検出角度補正方法、及び回転検出装置

Country Status (1)

Country Link
JP (1) JP5115616B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5333583B2 (ja) * 2010-11-08 2013-11-06 トヨタ自動車株式会社 回転角算出装置および回転角算出方法
JP2014057395A (ja) * 2012-09-11 2014-03-27 Toyota Motor Corp モータ制御装置
EP3483560A1 (en) 2017-11-09 2019-05-15 Renesas Electronics Corporation Semiconductor device, angle value correction circuit and method therefor
CN111801883A (zh) * 2018-03-02 2020-10-20 日本电产株式会社 位置推定方法、位置推定装置以及电动机模块
CN111857059A (zh) * 2020-07-21 2020-10-30 天津大学 一种改进的s形加减速模型计算方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002051585A (ja) * 2000-08-03 2002-02-15 Sharp Corp モータ制御装置
JP2002325493A (ja) * 2001-04-27 2002-11-08 Hitachi Ltd モータ制御装置
JP2004242370A (ja) * 2003-02-03 2004-08-26 Toyota Motor Corp 電動機制御装置および回転位置センサーのセンサー値の補正をコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体
JP2007037335A (ja) * 2005-07-28 2007-02-08 Toyota Motor Corp モータ制御装置
JP2010200435A (ja) * 2009-02-24 2010-09-09 Denso Corp モータ角度検出装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002051585A (ja) * 2000-08-03 2002-02-15 Sharp Corp モータ制御装置
JP2002325493A (ja) * 2001-04-27 2002-11-08 Hitachi Ltd モータ制御装置
JP2004242370A (ja) * 2003-02-03 2004-08-26 Toyota Motor Corp 電動機制御装置および回転位置センサーのセンサー値の補正をコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体
JP2007037335A (ja) * 2005-07-28 2007-02-08 Toyota Motor Corp モータ制御装置
JP2010200435A (ja) * 2009-02-24 2010-09-09 Denso Corp モータ角度検出装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5333583B2 (ja) * 2010-11-08 2013-11-06 トヨタ自動車株式会社 回転角算出装置および回転角算出方法
JP2014057395A (ja) * 2012-09-11 2014-03-27 Toyota Motor Corp モータ制御装置
EP3483560A1 (en) 2017-11-09 2019-05-15 Renesas Electronics Corporation Semiconductor device, angle value correction circuit and method therefor
KR20190053101A (ko) 2017-11-09 2019-05-17 르네사스 일렉트로닉스 가부시키가이샤 반도체 장치, 각도값 보정 회로 및 방법
US10969400B2 (en) 2017-11-09 2021-04-06 Renesas Electronics Corporation Semiconductor device, angle value correction circuit and method therefor
KR102631055B1 (ko) 2017-11-09 2024-01-30 르네사스 일렉트로닉스 가부시키가이샤 반도체 장치, 각도값 보정 회로 및 방법
CN111801883A (zh) * 2018-03-02 2020-10-20 日本电产株式会社 位置推定方法、位置推定装置以及电动机模块
CN111801883B (zh) * 2018-03-02 2024-04-12 日本电产株式会社 位置推定方法、位置推定装置以及电动机模块
CN111857059A (zh) * 2020-07-21 2020-10-30 天津大学 一种改进的s形加减速模型计算方法
CN111857059B (zh) * 2020-07-21 2024-03-22 天津大学 一种改进的s形加减速模型计算方法

Also Published As

Publication number Publication date
JP5115616B2 (ja) 2013-01-09

Similar Documents

Publication Publication Date Title
US8487563B2 (en) Drive motor control apparatus for vehicle, motor control system, method for correcting rotation angle of motor, program for performing the same, rotation detecting apparatus
JP4803286B2 (ja) 車両の走行用モータ制御装置
JP5115616B2 (ja) 車両の走行用モータ制御装置、車両用のモータ制御システム、記憶媒体、モータの検出角度補正方法、及び回転検出装置
JP4780223B2 (ja) 車両の走行用モータ制御装置
US9329062B2 (en) Method for calibrating a rotary encoder
JP5341714B2 (ja) 位相差式レゾルバ
JPH0373808B2 (ja)
JP6533523B2 (ja) モータ駆動制御装置および信号生成方法
CN104169687A (zh) 角度检测装置
JP5381958B2 (ja) 車両の走行用モータ制御装置、車両用のモータ制御システム、及び回転検出装置
CN112556731A (zh) 使用周期性旋转角度传感器信号的操作
JP5910583B2 (ja) 交流電動機の制御装置
US8836262B2 (en) Method and arrangement for determining the dynamic state of an electric motor
US8674632B2 (en) Motor control device with a correcting unit determining a corrected rotation angle after a predetermined time from a detection time, control program therefor, and method for the control
CN109768755B (zh) 半导体装置、角度值校正电路及其方法
JP2013238431A (ja) レゾルバ装置
JP5585058B2 (ja) 回転角検出装置、モータ制御装置、および電動パワーステアリング装置
CN112534706A (zh) 位置推断方法、马达控制装置以及马达系统
CN112514238A (zh) 位置推断方法、马达控制装置以及马达系统
JP2016148587A (ja) レゾルバ信号処理装置
CN107750325B (zh) 用于对转角传感器的激励信号验证合理性的设备和方法
JP6459918B2 (ja) モータ制御装置
Kim et al. High-Performance Permanent Magnet Synchronous Motor Control With Electrical Angle Delayed Component Compensation
CN112544034A (zh) 位置推断方法、马达控制装置以及马达系统
CN112534707A (zh) 位置推断方法、马达控制装置以及马达系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120403

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120822

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120918

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121001

R151 Written notification of patent or utility model registration

Ref document number: 5115616

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151026

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250