JP2021044985A - モータ制御装置およびモータ制御方法 - Google Patents

モータ制御装置およびモータ制御方法 Download PDF

Info

Publication number
JP2021044985A
JP2021044985A JP2019166583A JP2019166583A JP2021044985A JP 2021044985 A JP2021044985 A JP 2021044985A JP 2019166583 A JP2019166583 A JP 2019166583A JP 2019166583 A JP2019166583 A JP 2019166583A JP 2021044985 A JP2021044985 A JP 2021044985A
Authority
JP
Japan
Prior art keywords
motor
axis current
current value
value
angle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019166583A
Other languages
English (en)
Inventor
真次 川▲崎▼
Shinji Kawasaki
真次 川▲崎▼
烈志 萩尾
Tsuyoshi Hagio
烈志 萩尾
敬生 関本
Takao Sekimoto
敬生 関本
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 Ten Ltd
Original Assignee
Denso Ten Ltd
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 Ten Ltd filed Critical Denso Ten Ltd
Priority to JP2019166583A priority Critical patent/JP2021044985A/ja
Publication of JP2021044985A publication Critical patent/JP2021044985A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Control Of Motors That Do Not Use Commutators (AREA)

Abstract

【課題】角度センサの誤差を短時間で検出することができるモータ制御装置およびモータ制御方法を提供すること。【解決手段】実施形態に係るモータ制御装置は、電流制御部と、検出部と、算出部とを備える。電流制御部は、積算角が定められたモータに流れる電流のd軸電流値を所定間隔で変化させる。検出部は、所定間隔で変化するd軸電流値毎に、第1方向にモータを回転させてモータに流れる電流の第1q軸電流値、および、第1方向とは逆向きの第2方向にモータを回転させてモータに流れる電流の第2q軸電流値を検出する。算出部は、検出部によって検出された第1q軸電流値および第2q軸電流値に基づいてモータの角度位置を検出する角度センサの角度誤差を算出する。【選択図】図2

Description

本発明は、モータ制御装置およびモータ制御方法に関する。
従来、表面磁石型の同期モータを使用した動作機構が様々な分野で利用されている。この種のモータを動作させる場合、かかるモータの角度位置を検出するために、角度センサが設けられる。
ここで、モータや角度センサを交換した際、モータや角度センサが取付基準位置からずれる場合があり、かかる場合、角度センサで検出される角度位置に誤差が生じてしまうおそれがある。また、このような角度誤差は、モータや角度センサの経年劣化でも起こり得る。
この角度誤差に対して、従来は、モータを一定回転数で回し続けた状態で、d軸電流およびq軸電流の変化を測定することで角度誤差を検出する技術が提案されている。
特開2018−133919号公報
しかしながら、従来技術は、モータを同一方向に一定回転数で回し続けることが前提となっている。このため、例えば、積算角(回転する周数)が定められているモータに従来技術を適用しようとする場合、十分な補正ができない。また、モータを何度も回し直して角度誤差を検出するとしても、回転方向による負荷の違いによるずれや角度誤差を検出するまでに時間を要する。
本発明は、上記に鑑みてなされたものであって、角度センサの誤差を短時間で検出することができるモータ制御装置およびモータ制御方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明に係るモータ制御装置は、電流制御部と、検出部と、算出部とを備える。前記電流制御部は、積算角が定められたモータに流れる電流のd軸電流値を所定間隔で変化させる。前記検出部は、前記所定間隔で変化する前記d軸電流値毎に、第1方向に前記モータを回転させて前記モータに流れる電流の第1q軸電流値、および、前記第1方向とは逆向きの第2方向に前記モータを回転させて前記モータに流れる電流の第2q軸電流値を検出する。前記算出部は、前記検出部によって検出された前記第1q軸電流値および前記第2q軸電流値に基づいて前記モータの角度位置を検出する角度センサの角度誤差を算出する。
本発明によれば、角度センサの誤差を短時間で検出することができる。
図1Aは、実施形態に係るモータ制御方法の概要を示す図である。 図1Bは、実施形態に係るモータ制御方法の概要を示す図である。 図2は、実施形態に係るモータ制御装置の構成を示す機能ブロック図である。 図3は、検出部によるq軸電流値の検出タイミングを示す図である。 図4は、制御部による角度誤差算出までの処理の具体例を示す図である。 図5は、実施形態に係るモータ制御装置が実行する処理の処理手順を示すフローチャートである。
以下、添付図面を参照して、本願の開示するモータ制御装置およびモータ制御方法の実施形態を詳細に説明する。なお、以下に示す実施形態により本発明が限定されるものではない。
まず、図1Aおよび図1Bを用いて、実施形態に係るモータ制御方法の概要について説明する。図1Aおよび図1Bは、実施形態に係るモータ制御方法の概要を示す図である。図1Aでは、モータ制御装置を含むモータシステムの構成例を示している。なお、実施形態に係るモータシステムの適用先としては、例えば電気自動車やハイブリッド車、エレベータ、電車等があげられる。
図1Aに示すように、実施形態に係るモータシステムSは、モータ制御装置1と、モータ100と、角度センサ200と、インバータ300とを備える。
モータ100は、永久磁石をロータ表面に貼り付けた表面磁石型(SPM:Surface Permanent Magnet)の同期モータであり、例えば負荷400に接続される。また、モータ100は、回転の積算角(回転可能な周数)が定められたモータである。換言すれば
本実施形態のモータ100は、定められた積算角まで回転すると停止する。具体的には、回転可能な周数が40回転である場合、積算角は、14400(=360°×40回転)となる。
なお、負荷400は、モータ100に対する要求トルクが一定の負荷であり、例えば、二輪駆動および四輪駆動を切り替える切替機構や、ウインドウの開閉機構等である。
角度センサ200は、例えば、磁気式角度センサ(MRセンサ)である。角度センサ200は、モータ100に設けられ、モータ100が基準位置からどれだけ回転したかを示す角度位置を検出する。なお、角度センサ200は、磁気式角度センサに限定されず、レゾルバであってもよい。
インバータ300は、電源の電流を、モータ制御装置1から出力されるPWM(Pulse Width Modulation)制御信号に応じた3相交流電流に変換してモータ100に流す。
モータ制御装置1は、3相交流電流による電流ベクトル制御に基づき、モータ100の回転制御(回転速度、積算角)を行う。具体的には、モータ制御装置1は、d−q座標系において電流制御を実施し、3相座標系に変換した電圧をインバータ300を介してモータ100に出力することでモータ100の制御を行う。より具体的には、モータ制御装置1は、設定された指令値である2相(d軸、q軸)の電流値を、角度センサ200で検出された角度位置に基づいて、3相(U相、V相、W相)の電流値に変換したPWM制御信号をインバータ300へ出力する。
また、モータ制御装置1は、インバータ300からモータ100へ流れる3相交流電流の実測値と、角度センサ200で検出された角度位置とに基づいてd軸電流値およびq軸電流値の実測値に変換する。
そして、モータ制御装置1は、変換したd軸電流値およびq軸電流値の実測値に基づいて、角度センサ200によって検出される角度位置の誤差(角度誤差)を算出する。
ここで、従来の角度誤差の算出方法について説明する。従来は、角度誤差を算出する場合、モータを一定回転数で回し続け、d軸電流およびq軸電流の変化を計測することで角度誤差を算出していた。具体的には、モータにかかる負荷が一定である場合、d軸電流値を変化させても、q軸電流値は変化しない。つまり、d軸電流値に関わらず、q軸電流値が一定となる。従来は、かかる点に着目して、モータを一定回転数で回転し続けた状態で、d軸電流値を変化させ、q軸電流値の変化を計測することで角度誤差を検出していた。
しかしながら、従来技術は、モータを同一方向に一定回転数で回し続けることが前提となっている。このため、例えば、積算角(回転する周数)が定められているモータに従来技術を適用しようとする場合、モータを何度も回し直して角度誤差を検出する必要があるため、角度誤差を検出するまでに時間を要する。
そこで、実施形態に係るモータ制御方法では、モータ100の積算角が定められている場合、モータ100を互いに回転方向が逆向きの第1方向および第2方向に回転させた際のq軸電流値を検出し、検出したq軸電流値に基づいて角度誤差を算出する。
ここで、図1Bを用いて、実施形態に係る角度誤差の算出処理について具体的に説明する。図1Bでは、第1方向および第2方向にモータ100を回転させた場合の、d軸電流値およびq軸電流値の関係を示している。なお、図1Bでは、d軸電流値を所定間隔で0、d1、d2、d3の順に変化させた場合を示す。また、図1Bでは、q軸電流値の指令値に応じた理論値を破線で示す。
図1Bに示すように、実施形態に係るモータ制御方法では、所定間隔で変化するd軸電流値(0、d1、d2、d3)毎に、第1方向(反時計回り)にモータ100を回転させてモータ100に流れる電流の第1q軸電流値を検出する(ステップS1−1)。
また、実施形態に係るモータ制御方法では、第1方向とは逆向きの第2方向(時計回り)にモータ100を回転させてモータ100に流れる電流の第2q軸電流値を検出する(ステップS1−2)。
つづいて、実施形態に係るモータ制御方法では、検出した第1q軸電流値および第2q軸電流値に基づいて角度センサ200の角度誤差を算出する(ステップS2)。例えば、実施形態に係るモータ制御方法では、第1q軸電流値に基づく第1角度誤差θ1および第2q軸電流値に基づく第2角度誤差θ2の平均値を角度誤差の確定値として算出することができる。
このように、積算角が定められたモータ100の場合、モータ100を第1方向および第2方向に回転させて、それぞれの回転方向でq軸電流を検出することで、q軸電流値のサンプル数を短時間多く取得できるため、角度誤差を短時間で検出することができる。
具体的には、従来は、モータを同一の方向に必要なサンプル数分だけ何度も回し直してq軸電流値を取得する必要があったが、本実施形態では、モータ100を逆向きにも回してq軸電流値を取得できるため、q軸電流値の必要なサンプル数を得るためにモータ100を回し直す回数を従来に比べて半分できる。また、第1方向にモータ100を回転させた場合と、第2方向にモータ100を回転させた場合でモータ100にかかる負荷が異なる場合でも角度誤差を検出することができる。
そして、実施形態に係るモータ制御方法では、算出した角度誤差に基づいて、角度センサ200で検出される角度位置を補正する。具体的には、実施形態に係るモータ制御方法では、角度誤差分をオフセット量として角度位置を補正する。
なお、実施形態に係るモータ制御方法では、角度位置を補正する場合以外にも、例えば、角度誤差の情報をログとして記憶媒体に記憶する処理を行ったり、外部端末に角度誤差の情報を出力したりするようにしてもよい。
次に、図2を用いて、実施形態に係るモータ制御装置1の構成について説明する。図2は、実施形態に係るモータ制御装置1を含むモータシステムSの構成を示すブロック図である。
図2に示すように、実施形態に係るモータ制御装置1は、角度センサ200と、インバータ300と、電流センサ500とに接続される。角度センサ200は、モータ100に接続される。インバータ300は、電流センサ500および電源600に接続される。モータ100は、角度センサ200および負荷400に接続される。
モータ100は、表面磁石型の3相同期モータであり、要求トルクが一定の負荷400に接続され、一定の出力トルクを出力する。モータ100は、モータ制御装置1からの制御に基づいて流れる3相(U、V、W)の電流に応じて回転する。
角度センサ200は、モータ100に設けられ、モータ100の角度位置を検出する。角度センサ200は、例えば磁気式角度センサである。角度センサ200は、例えばモータ100のロータ(図示せず)に取り付けられた2極磁石(図示せず)の角度位置をモータ100の角度位置として検出する。なお、角度センサ200が磁気式角度センサであるとしたが、これに限定されない。例えば、角度センサ200がレゾルバであってもよい。
インバータ300は、電源600からモータ100の各相コイル(図示せず)へ流れる電流を制御するスイッチング素子(図示せず)を有する。インバータ300は、モータ制御装置1が出力するPWM制御信号に従ってスイッチング素子を駆動することで、モータ100の各相コイルに電流を流す。なお、電源600は、例えば、12V電圧の鉛バッテリである。
電流センサ500は、インバータ300からモータ100の各相コイルへ流れる電流を検出する。電流センサ500は、検出した3相交流電流をモータ制御装置1へ出力する。
実施形態に係るモータ制御装置1は、制御部2と、記憶部3とを備える。制御部2は、電流制御部21、PWM制御部22、検出部23、算出部24および補正部25を備える。
ここで、モータ制御装置1は、たとえば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ、入出力ポートなどを有するコンピュータや各種の回路を含む。
コンピュータのCPUは、たとえば、ROMに記憶されたプログラムを読み出して実行することによって、制御部2の電流制御部21、PWM制御部22、検出部23、算出部24および補正部25として機能する。
また、制御部2の電流制御部21、PWM制御部22、検出部23、算出部24および補正部25の少なくともいずれか一つまたは全部をASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウェアで構成することもできる。
また、記憶部3は、たとえば、RAMやフラッシュメモリに対応する。RAMやフラッシュメモリは、制御部2で実行される処理を実現するための各種プログラムの情報等を記憶することができる。なお、モータ制御装置1は、有線や無線のネットワークで接続された他のコンピュータや可搬型記録媒体を介して上記したプログラムや各種情報を取得することとしてもよい。
次に、制御部2の各機能(電流制御部21、PWM制御部22、検出部23、算出部24および補正部25)について説明する。
電流制御部21は、モータ100に流す電流のd軸電流値およびq軸電流値の指令値を設定する。例えば、電流制御部21は、積算角が定められたモータ100に流れる電流のd軸電流値を所定間隔で変化させる。具体的には、電流制御部21は、予め定められた範囲でd軸電流値を所定間隔で変化させる。より具体的には、電流制御部21は、負のd軸電流値側で変化させる。なお、電流制御部21によるd軸電流値の指令値の変更タイミングは、後述する検出部23によって第1q軸電流値または第2q軸電流値が検出されたタイミングである。
具体的には、電流制御部21は、後述する検出部23によって第1q軸電流値または第2q軸電流値が検出された場合、d軸電流値を次の間隔のd軸電流値に変化させる。なお、d軸電流値を変化させる間隔の詳細については、図4で後述する。
また、電流制御部21は、モータ100を第1方向に回転させる場合、正の回転数指令値と検出部23にて算出したモータ100の回転する実測値から、モータ100に流す電流のq軸電流値の指令値を設定する。例えば、電流制御部21は、正の回転数指令値を実測値が重なるようにq軸電流指令値を設定する。また、電流制御部21は、モータ100を第2方向に回転させる場合、負の回転数指令値と検出部23にて算出したモータ100の回転する実測値から、モータ100に流す電流のq軸電流値の指令値を設定する。例えば、電流制御部21は、負の回転数指令値を実測値が重なるようにq軸電流指令値を設定する。なお、電流制御部21は、d軸電流値の指令値を変化させた場合であっても、回転数指令地は所定値から変化させない。なお、回転数指令値については、図3で後述する。
そして、電流制御部21は、設定したd軸電流値およびq軸電流値の指令値を、角度センサ200で検出される角度位置に基づいて3相交流電流へ変換する。つまり、電流制御部21は、2相座標系であるd―q軸座標系から3相座標系の電流値に変換する。電流制御部21は、変換した3相座標系の電流値をPWM制御部22へ出力する。
PWM制御部22は、電流制御部21から取得した3相座標系の電流値に基づいてPWM制御信号を生成する。具体的には、PWM制御部22は、3相座標系の電流値に基づき、インバータ300のスイッチング素子をオン・オフさせるPWM制御信号を生成する。このPWM制御信号により、インバータ300のスイッチング素子がオン・オフを切り替えることで、電源600からモータ100へ流れる3相交流電流を制御する。
検出部23は、モータ100に流れる電流のd軸電流値およびq軸電流値を検出する。具体的には、検出部23は、電流センサ500によって検出された3相交流電流を、角度センサ200の角度位置に基づいてd軸電流値およびq軸電流値へ変換する。つまり、検出部23は、3相座標系の電流値を2相座標系であるd―q軸座標系の電流値へ変換する。
また、検出部23は、所定間隔で変化するd軸電流値(指令値)毎に、第1方向にモータ100を回転させてモータ100に流れる電流の第1q軸電流値、および、第1方向とは逆向きの第2方向にモータ100を回転させてモータ100に流れる電流の第2q軸電流値を検出する。
具体的には、検出部23は、電流制御部21によって所定間隔のd軸電流値の指令値および正の回転数指令値の所定値と検出部23にて算出したモータ100の回転する実測値が重なっている場合、第1q軸電流値を検出する。
また、検出部23は、電流制御部21によって所定間隔のd軸電流値の指令値および負の回転する指令値の所定値と検出部23にて算出したモータ100の回転数実測値が重なっている場合第2q軸電流値を検出する。
なお、検出部23は、モータ100の回転速度が安定したタイミングで第1q軸電流値および第2q軸電流値を検出する。かかる点について、図3を用いて説明する。
図3は、検出部23によるq軸電流値の検出タイミングを示す図である。図3では、第1q軸電流値を検出する場合について説明する。また、図3では、縦軸を積算角、横軸を時刻とする位置指令のグラフと、縦軸を回転数(例えば、rpm)、横軸を時刻とする速度指令のグラフとを示している。なお、位置指令とは、モータ100の積算角の指令値であり、換言すれば、どの程度モータ100を回転させるかを示す指令である。また、速度指令とは、モータ100の回転速度の指令値であり、モータ100をどの程度の回転速度で回転させるかを示す指令である。また、位置指令および速度指令それぞれの値は、上記したPWM制御信号の中に含まれており、予め設定された固定値(静的な値)であってもよく、モータ制御装置1によって動的に変更されてもよい。
図3に示す例では、時刻t1において、モータ100がPWM制御信号に基づいて回転を開始する。そして、図3に示すように、位置指令では、時刻t4において実測値が指令値の積算角となり回転を停止する。
また、図3に示すように、速度指令では、時刻t1から回転速度(実測値)が上昇し始め、時刻t2において実測値が指令値の回転数に到達し、時刻t3まで実測値が指令値の回転数で維持される。そして、時刻t3から時刻t4の間で、指令値が減少を始め、実測値も指令値に追従して減少し始める。これは、時刻t4において、モータ100の回転が停止するためであり、時刻t3から時刻t4の期間は、回転を停止させるための準備期間であるからである。時刻t1から時刻t3までの回転する指令値は固定値とし、電流制御部21でd軸電流指令値が変化しても変化させない。
そして、検出部23は、第1q軸電流値を検出する場合、時刻t2から時刻t3の期間で第1q軸電流値を検出する。つまり、検出部23は、モータ100が回転を開始してから所定時間経過後に、第1q軸電流値を検出する。
換言すれば、検出部23は、回転数の指令値と実測値とが重なっている期間、すなわち、モータ100の回転が安定している期間に第1q軸電流値を検出する。なお、第2q軸電流値の検出については、位置指令および速度指令の指令値および実測値が負側である以外は第1q軸電流値の検出同様である。
このように、検出部23は、モータ100が回転を開始してから所定時間経過後に、第1q軸電流値および第2q軸電流値を検出することで、安定した第1q軸電流値および第2q軸電流値を検出できるため、後段の角度誤差の算出精度を向上させることができる。
そして、検出部23は、検出した第1q軸電流値および第2q軸電流値を算出部24へ出力する。
算出部24は、検出部23によって検出された第1q軸電流値および第2q軸電流値に基づいてモータ100の角度位置を検出する角度センサ200の角度誤差を算出する。なお、算出部24による角度誤差の算出方法については、図4で後述する。
補正部25は、算出部24によって算出された角度誤差に基づいて、角度センサ200によって検出される角度位置を補正する。具体的には、補正部25は、算出部24によって算出された角度誤差を角度位置のオフセット量として設定する。このように、算出部24によって算出された角度誤差に基づいて角度位置を補正することで、高精度な角度位置を検出することができる。
なお、補正部25は、算出部24によって算出された角度誤差に所定の係数(重み)をかけた値をオフセット量として設定してもよい。あるいは、補正部25は、過去数回分の算出部24の算出結果である角度誤差の平均値をオフセット量として設定してもよい。
次に、図4を用いて、制御部2による角度誤差算出までの処理について具体例を挙げて説明する。図4は、制御部2による角度誤差算出までの処理の具体例を示す図である。
図4に示すように、電流制御部21は、まず、d軸電流値の指令値を0A(アンペア)に、q軸電流値の指令値をモータ100が正側に図3に示すような動作をするように設定してモータ100を第1方向に回転させる。そして、検出部23は、第1方向への回転が安定したタイミングで第1q軸電流値(図4の吹き出し「1」)を検出する。
つづいて、電流制御部21は、モータ100が積算角に到達した状態で、d軸電流値の指令値をかえずに、q軸電流値の指令値をモータ100が負側に図3に示すような動作をするように設定してモータ100を第2方向に回転させる。そして、検出部23は、第2方向への回転が安定したタイミングで第2q軸電流値(図4の吹き出し「2」)を検出する。
つまり、検出部23は、所定のd軸電流値における第1q軸電流値を検出した後、当該所定のd軸電流値を変えずに、第1方向に回転した状態のモータ100を第2方向に回転させて第2q軸電流値を検出する。
すなわち、検出部23は、第1方向に積算角まで回転させた後、第2方向に積算角分だけ回転させて元の角度位置に戻す間に、第1q軸電流値および第2q軸電流値それぞれを検出する。
これにより、効率良く第1q軸電流値および第2q軸電流値を検出できるため、後段の角度誤差の算出を短時間で行うことができる。
次に、電流制御部21は、d軸電流値の指令値を次の間隔に変化させる。図4に示す例では、d軸電流値の指令値を0Aから所定間隔P1だけ空けたd1Aに変化させる。そして、検出部23は、上記したように、第1q軸電流値(図4の吹き出し「3」)および第2q軸電流値(図4の吹き出し「4」)を順次検出する。
同様に、電流制御部21は、d軸電流値の指令値を次の間隔に変化させる。図4に示す例では、d軸電流値の指令値をd1Aから所定間隔P2だけ空けたd2Aに変化させる。なお、図4に示す3つの所定間隔P1,P2,P3は同じ間隔である。そして、検出部23は、上記したように、第1q軸電流値(図4の吹き出し「5」)および第2q軸電流値(図4の吹き出し「6」)を順次検出する。
そして、電流制御部21がd軸電流値の指令値をd3Aに設定して、検出部23が第1q軸電流値(図4の吹き出し「7」)および第2q軸電流値(図4の吹き出し「8」)を検出したとする。かかる場合、電流制御部21は、d軸電流値の指令値を次の間隔に変化させる場合、仮に、所定間隔P1,P2,P3を空けると、予め設定された所定の閾値THを超えることになる。
電流制御部21は、次の間隔のd軸電流値の指令値が閾値THを超える場合、d軸電流値の指令値を変化させる制御を終了する。すなわち、検出部23による第1q軸電流値および第2q軸電流値のサンプリングを終了する。
そして、算出部24は、第1q軸電流値および第2q軸電流値のサンプリングを終了した場合、検出部23によってこれまでに検出された第1q軸電流値および第2q軸電流値に基づいて角度誤差を算出する。
例えば、算出部24は、d軸電流値および第1q軸電流値の組を通る一次関数の傾き角度に相当する第1角度誤差θ1と、d軸電流値および第2q軸電流値の組を通る一次関数の傾き角度に相当する第2角度誤差θ2とに基づいて角度誤差の確定値を算出する。なお、第1角度誤差θ1および第2角度誤差θ2は、d軸電流値およびq軸電流値の組から最小二乗法に基づいて算出可能である。
具体的には、電流制御部21がN(N≧1)回d軸電流値の指令値を変更し、算出部24がd軸電流値およびq軸電流値の組(Id_n、Iq_n)を取得したとする。ここで、Id_nは、n番目のd軸電流値であり、Iq_nはn番目のq軸電流値(第1q軸電流値または第2q軸電流値)である。また、nは1からNまでの正数とする。
このとき、算出部24は、まず、d軸電流値およびq軸電流値の平均値Idave、Iqaveをそれぞれ算出する。なお、Idave=ΣId_n/Nであり、Iqave=ΣIq_n/Nである。
次に、算出部24は、図4に示すそれぞれの1次関数の傾きaをa=Σ(Id_n−Idave)(Iq_n−Iqave)/Σ(Id_n−Idave)^2として算出し、傾きaから角度誤差θ(第1角度誤差θ1または第2角度誤差θ2)を、θ=arctan(傾きa)として算出する。
そして、算出部24は、例えば、第1角度誤差θ1および第2角度誤差θ2の平均値を角度誤差の確定値として算出する。なお、算出部24は、第1角度誤差θ1および第2角度誤差θ2それぞれに所定の重み付けをした加重平均値を角度誤差の確定値として算出してもよい。
また、ここでは、算出部24が最小二乗法に基づいて角度誤差θを求めるとしたが、これに限定されない。算出部24がd軸電流値およびq軸電流値の組(Id_n、Iq_n)に基づいて1次関数の傾きaを算出できればよい。
したがって、例えば2組のd軸電流値およびq軸電流値(Id_n、Iq_n)、(Id_n−1、Iq_n−1)ごとに算出した複数の傾きa_n−1の平均値を1次関数の傾きaとしてもよい。あるいは、d軸電流値およびq軸電流値の組(Id_n、Iq_n)の平均値や標準偏差等を用いて傾きaを算出するようにしてもよい。
このように、第1角度誤差θ1および第2角度誤差θ2に基づいて角度誤差の確定値を算出することで、高精度な角度誤差を算出することができる。
次に、図5を用いて、実施形態に係るモータ制御装置1が実行する処理の処理手順について説明する。図5は、実施形態に係るモータ制御装置1が実行する処理の処理手順を示すフローチャートである。
図5に示すように、まず、電流制御部21は、d軸電流値の指令値を0A(アンペア)に設定する(ステップS101)。また、電流制御部21は、q軸電流値の指令値をモータ100が正側に図3に示すような動作をするように設定する(ステップS102)。
つづいて、PWM制御部22は、電流制御部21によって設定された指令値に応じた3相交流電流に基づいてPWM制御信号を生成してインバータ300へ出力することで、モータ100を第1方向に回転させる(ステップS103)。
つづいて、検出部23は、第1方向にモータ100を回転させてモータ100に流れる電流の第1q軸電流値を検出する(ステップS104)。
つづいて、電流制御部21は、d軸電流値の指令値をかえずに、q軸電流値の指令値をモータ100が負側に図3に示すような動作をするように設定する(ステップS105)。
つづいて、PWM制御部22は、電流制御部21によって設定された指令値に応じた3相交流電流に基づいてPWM制御信号を生成してインバータ300へ出力することで、モータ100を第2方向に回転させる(ステップS106)。
つづいて、検出部23は、第2方向にモータ100を回転させてモータ100に流れる電流の第2q軸電流値を検出する(ステップS107)。
つづいて、電流制御部21は、次回のd軸電流値(すなわち、次の間隔のd軸電流値)が所定の閾値THを超えるか否かを判定する(ステップS108)。
算出部24は、電流制御部21による次回のd軸電流値が所定の閾値THを超える場合(ステップS108:Yes)、第1q軸電流値および第2q軸電流値に基づいて角度センサ200の角度誤差を算出する(ステップS109)。
つづいて、補正部25は、算出部24によって算出された角度誤差に基づいて、角度センサ200によって検出される角度位置を補正する補正量(オフセット量)を決定し(ステップS110)、処理を終了する。
一方、ステップS108において、電流制御部21は、次回のd軸電流値が所定の閾値TH以下である場合(ステップS108:No)、次の間隔のd軸電流値の指令値に設定し(ステップS111)、ステップS102に処理を移行する。
上述してきたように、実施形態に係るモータ制御装置1は、電流制御部21と、検出部23と、算出部24とを備える。電流制御部21は、積算角が定められたモータ100に流れる電流のd軸電流値を所定間隔で変化させる。検出部23は、所定間隔で変化するd軸電流値毎に、第1方向にモータ100を回転させてモータ100に流れる電流の第1q軸電流値、および、第1方向とは逆向きの第2方向にモータ100を回転させてモータ100に流れる電流の第2q軸電流値を検出する。算出部24は、検出部23によって検出された第1q軸電流値および第2q軸電流値に基づいてモータ100の角度位置を検出する角度センサの角度誤差を算出する。これにより、角度センサ200の角度誤差を短時間で検出することができる。
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
1 モータ制御装置
2 制御部
3 記憶部
21 電流制御部
22 PWM制御部
23 検出部
24 算出部
25 補正部
100 モータ
200 角度センサ
300 インバータ
400 負荷
500 電流センサ
600 電源
S モータシステム

Claims (6)

  1. 積算角が定められたモータに流れる電流のd軸電流値を所定間隔で変化させる電流制御部と、
    前記所定間隔で変化する前記d軸電流値毎に、第1方向に前記モータを回転させて前記モータに流れる電流の第1q軸電流値、および、前記第1方向とは逆向きの第2方向に前記モータを回転させて前記モータに流れる電流の第2q軸電流値を検出する検出部と、
    前記検出部によって検出された前記第1q軸電流値および前記第2q軸電流値に基づいて前記モータの角度位置を検出する角度センサの角度誤差を算出する算出部と
    を備えることを特徴とするモータ制御装置。
  2. 前記算出部によって算出された前記角度誤差に基づいて、前記角度センサによって検出される前記角度位置を補正する補正部をさらに備えること
    を特徴とする請求項1に記載のモータ制御装置。
  3. 前記検出部は、
    所定の前記d軸電流値における前記第1q軸電流値を検出した後、当該所定のd軸電流値を変えずに、前記第1方向に回転した状態の前記モータを前記第2方向に回転させて前記第2q軸電流値を検出すること
    を特徴とする請求項1または2に記載のモータ制御装置。
  4. 前記算出部は、
    前記第1q軸電流値に基づく第1角度誤差と前記第2q軸電流値に基づく第2角度誤差とに基づいて前記角度誤差の確定値を算出すること
    を特徴とする請求項1〜3のいずれか1つに記載のモータ制御装置。
  5. 前記検出部は、
    前記モータが回転を開始してから所定時間経過後に、前記第1q軸電流値および前記第2q軸電流値を検出すること
    を特徴とする請求項1〜4のいずれか1つに記載のモータ制御装置。
  6. 積算角が定められたモータに流れる電流のd軸電流値を所定間隔で変化させる電流制御工程と、
    前記所定間隔で変化する前記d軸電流値毎に、第1方向に前記モータを回転させて前記モータに流れる電流の第1q軸電流値、および、前記第1方向とは逆向きの第2方向に前記モータを回転させて前記モータに流れる電流の第2q軸電流値を検出する検出工程と、
    前記検出工程によって検出された前記第1q軸電流値および前記第2q軸電流値に基づいて前記モータの角度位置を検出する角度センサの角度誤差を算出する算出工程と
    を含むことを特徴とするモータ制御方法。
JP2019166583A 2019-09-12 2019-09-12 モータ制御装置およびモータ制御方法 Pending JP2021044985A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019166583A JP2021044985A (ja) 2019-09-12 2019-09-12 モータ制御装置およびモータ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019166583A JP2021044985A (ja) 2019-09-12 2019-09-12 モータ制御装置およびモータ制御方法

Publications (1)

Publication Number Publication Date
JP2021044985A true JP2021044985A (ja) 2021-03-18

Family

ID=74864391

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019166583A Pending JP2021044985A (ja) 2019-09-12 2019-09-12 モータ制御装置およびモータ制御方法

Country Status (1)

Country Link
JP (1) JP2021044985A (ja)

Similar Documents

Publication Publication Date Title
JP4513536B2 (ja) インバータ装置
JP5124483B2 (ja) 同期機を駆動するための方法および装置
US7279863B2 (en) Method and apparatus for detecting excitation position of SRM by comparison of detected current
EP2258043B1 (en) Sensorless control of salient-pole machines
US20160065109A1 (en) Position estimation device, motor drive control device, position estimation method and recording medium
JP3397013B2 (ja) 同期モータの制御装置
US9350277B2 (en) Method of estimating voltage of input terminal of inverter and motor control method using the same
WO2011142032A1 (ja) ブラシレスモータの駆動装置
JP2021129440A (ja) 永久磁石電動機の制御装置及び制御方法
JP5409034B2 (ja) 回転電機制御装置
JP2000312493A (ja) 永久磁石式同期電動機のセンサレス制御システム
JP7361924B2 (ja) モータ制御装置、モータ制御方法
JP2003235285A (ja) 三相ブラシレスdcモータの回転方向検出装置
JP2008099369A (ja) モータ制御装置
US20180351487A1 (en) Method for controlling a synchronous machine with permanent magnets and corresponding device
JPH09215382A (ja) 永久磁石同期モータの駆動方法
JP4051833B2 (ja) 永久磁石式同期電動機のベクトル制御装置
US6922028B2 (en) Controller for permanent magnet motor
JP2021044985A (ja) モータ制御装置およびモータ制御方法
US11411516B2 (en) Detection and control of electric machine with any combination of position sensor number of pole pairs and electric machine number of pole pairs
JP2001327186A (ja) 3相同期電動機の電流検出装置
WO2021117303A1 (ja) モータの減磁診断装置およびモータ制御装置の減磁診断方法
CN111865163B (zh) 电机零位检测装置、方法及矢量控制系统和存储介质
JP2017070127A (ja) モータ制御装置
JP2004180431A (ja) ステッピングモータ駆動装置