【解決手段】実施形態に係るモータ制御装置は、電流指示部と、オフセット量算出部とを備える。電流指示部は、3相電流の電流位相に基づいて、3相交流モータのトルクが反転するように3相電流を制御する。オフセット量算出部は、3相電流の電流位相と、角度センサによって検出される3相交流モータの回転角度とに基づき、当該回転角度に含まれるオフセット量を算出する。また、オフセット量算出部は、トルクが反転した際に、3相交流モータに接続されたギアの遊びに基づいて変化する回転角度に基づいて、オフセット量を算出する。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して、実施形態に係るモータ制御装置およびオフセット量算出方法について説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
【0010】
まず、
図1Aを用いて、実施形態に係るモータ制御装置およびオフセット量算出方法の概要について説明する。
図1Aは、モータ制御システムの概要を示す図である。
図1Aに示すモータシステム100は、モータ制御装置1と、モータ2と、角度センサ3と、インバータ4とを備える。
【0011】
モータ2は、例えば、永久磁石をロータ表面に貼り付けた表面磁石型(SPM:Surface Permanent Magnet)の同期モータであり、例えば負荷5に接続される。角度センサ3は、モータ2に設けられ、モータ2が基準位置からどれだけ回転したかを示す回転角度を検出する。
【0012】
モータ制御装置1は、電流ベクトル制御によってモータ2の制御を行う。モータ制御装置1は、d-q座標系において電流制御を実施し、3相座標系に変換した電圧をインバータ4を介してモータ2に出力することでモータ2の制御を行う。
【0013】
また、モータ制御装置1は、角度センサ3が検出したモータ2の回転角度に基づいて、モータ2の制御を行う。ここで、例えば、角度センサ3の取付誤差によって、角度センサ3の設置位置が基準位置からずれてしまう場合がある。この場合、角度センサ3の設置位置のずれ量に応じたオフセット量が角度センサ3の検出結果(以下、センサ値と記載する)に含まれる場合がある。
【0014】
このため、一般的に、角度センサのセンサ値に含まれるオフセット量を予め算出しておくことで、角度センサのセンサ値を補正する。かかるオフセット量の算出方法として、外部からモータを回転させたときに生じる誘起電圧に基づいて、オフセット量を算出する技術がある。
【0015】
しかしながら、かかる技術においては、角度センサに負荷が接続されている状況において、オフセット量を算出することができなかった。このため、モータの設置時においては、モータに負荷が接続されていない状況で、オフセット量を算出しなければならず、製造工程が制約されてしまう。
【0016】
そこで、実施形態に係るモータ制御装置1は、モータ2に負荷5が接続された状況であっても、オフセット量を算出可能とすることにした。具体的には、実施形態に係るモータ制御装置1では、モータに接続されたギアの遊び、いわゆるバックラッシュに着目し、オフセット量を算出する。
【0017】
図1Bは、ギアの遊びを示す模式図である。なお、
図1Bでは、第1ギアG1または第2ギアG2のいずれかに一方にモータ2が接続され、他方に負荷5が接続されているものとする。
【0018】
図1Bに示すように、遊びAは、第1ギアG1の歯と、第2ギアG2の歯との隙間のことを指す。すなわち、実施形態に係るモータ制御装置1では、モータ2に負荷5が接続された状況であっても、モータ2が無負荷状態で遊びAの分だけ回転する点に着目し、オフセット量を算出することとした。
【0019】
これにより、実施形態に係るモータ制御装置1では、モータ2に負荷5が接続された状況であっても、負荷5が接続されていない状況と同等の状況下において、オフセット量を算出することが可能となる。なお、かかるオフセット量の算出方法の具体例については、
図3A以降の図面を用いて説明する。
【0020】
次に、
図2を用いて実施形態に係るモータ制御装置1の構成例について説明する。
図2は、モータ制御装置1のブロック図である。なお、
図2においては、モータシステム100を併せて示す。
【0021】
図2に示すように、モータ制御装置1は、CPU(Central Processing Unit)や記憶部(図示せず)などを備えたマイクロコンピュータであり、モータシステム100全体を制御する。
【0022】
モータ制御装置1は、電流指示部10と、電流制御部20と、オフセット量算出部30とを備える。
【0023】
モータ制御装置1のCPUは、例えばROMに記憶されたプログラムを読み出して実行することによって、電流指示部10、電流制御部20およびオフセット量算出部30として機能する。
【0024】
また、電流指示部10、電流制御部20およびオフセット量算出部30の少なくともいずれか一つまたは全部をASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウェアで構成することもできる。
【0025】
電流指示部10は、インバータ4を介してモータ2へ通電させる各相電流の電流値を決定し、かかる電流値に基づく指令情報を電流制御部20へ通知する。この指令情報には、電流位相に関する情報、電流の大きさに関する情報などが含まれる。
【0026】
ところで、上述したように、モータ制御装置1では、製品の出荷前などにおいては、オフセット量を算出する「算出モード」を有する。
【0027】
電流指示部10は、算出モードにおいて、角度センサ3のセンサ値に含まれるオフセット量を算出するための指令情報を電流制御部20へ通知する。本実施形態において、電流指示部10は、算出モードにおいては、3相電流の電流位相に基づき、モータ2のトルクが反転するように3相電流を制御する。
【0028】
また、算出モードにおいて、電流指示部10は、現在の角度センサ3のセンサ値に基づき、3相電流の初期値を設定し、かかる初期値から徐々に電流位相を変化させることで、モータ2のトルクを反転させる。
【0029】
このとき、電流指示部10は、角度センサ3のセンサ値を監視しておき、センサ値に変動がなければ、3相電流の電流位相を変化させ、センサ値が変化したときの電流位相に関する情報をオフセット量算出部30へ通知する。
【0030】
電流制御部20は、電流指示部10から通知された指令情報に基づき、PWM信号を生成し、インバータ4へ出力する。これにより、インバータ4から指令情報に応じた各相電流がモータ2へ通電されることになる。また、電流制御部20は、モータ2に流れる各相電流の値を、指令情報に基づく電流位相と、各相電流の実際の電流位相とのズレおよび電流の大きさのズレとを補正するフィードバック制御を行う。
【0031】
オフセット量算出部30は、3相電流の電流位相と、角度センサ3によって検出されるモータ2の回転角度とに基づき、当該回転角度に含まれるオフセット量を算出する。本実施形態において、オフセット量算出部30は、モータ2のトルクが反転した際に、モータ2に接続されたギアの遊びAに基づいて変化するセンサ値を用いて、オフセット量を算出する。
【0032】
図3は、電流位相とセンサ値との関係を示す図である。なお、
図3のAには、3相電流の電流位相を示し、
図3のBには、角度センサ3のセンサ値を示す。また、ここでは、センサ値のオフセット量が全く未知であるものとし、電流位相を0°〜360°に変化させる場合を示す。
【0033】
ここで、d−q電流で考えると、q軸電流が「0」を跨いだ場合に、モータ2のトルクが反転し、モータ2のトルクが反転すると、遊びA分だけ、モータ2が回転するため、センサ値が変化することになる。
【0034】
また、
図3に示すように、電流位相を0°から360°まで徐々に増加させた場合、トルクが反転する反転ポイントが2回発生する。
図3に示す例では、1回目の反転ポイントが負トルクから正トルクへ反転する反転ポイントであり、2回目の反転ポイントが正トルクから負トルクへ反転する反転ポイントである場合を示す。
【0035】
一回目の反転ポイントを超えると、センサ値が電流位相にあわせて遊びA分だけ変化する変化区間(以下、第1区間D1と記載する)となり、2回目の反転ポイントを超えると、センサ値が一気に変化する変化区間(以下、第2区間D2と記載する)となる。
【0036】
ここで、第1区間D1は、モータ2のロータ(不図示)の極(N極、S極)が、コイルに生じる極と引き付けあうため、電流位相にあわせてセンサ値が変化し、第2区間D2においては、ロータの極と、コイルの極とが反発するので、モータ2が一気に回転する。
【0037】
本実施形態において、オフセット量算出部30は、トルクが反転する2つの反転ポイントのうち、電流位相の変化方向に対応する反転ポイント、すなわち、上記の1回目の反転ポイントに基づくセンサ値を用いて、オフセット量を算出する。
【0038】
より詳しくは、オフセット量算出部30は、電流位相を増加させる場合、トルクの反転した場合に、センサ値が増加する第1区間D1をオフセット量の算出対象とし、トルクの反転した場合に、センサ値が減少する第2区間D2をオフセット量の算出対象外とする。
【0039】
言い換えれば、第2区間D2では、電流位相と、センサ値との対応関係が崩れるため、第2区間D2において、オフセット量を算出しない。つまり、オフセット量算出部30は、第1区間D1において、オフセット量を算出することで、オフセット量を精度よく算出することが可能となる。
【0040】
図4は、第1区間D1の拡大模式図である。なお、
図4に示すように、第1区間D1は、電流位相の傾きα1と、センサ値の傾きα2とを等しくなる区間とも言える。
【0041】
図4に示すように、例えば、オフセット量算出部30は、第1区間D1の突入時において、オフセット量の算出を開始し、第1区間D1が終了時にオフセット量の算出を停止する。
【0042】
電流位相が示す回転角度と、センサ値が示す回転角度との差分がオフセット量となり、例えば、オフセット量算出部30は、第1区間D1において、オフセット量を逐次算出する。そして、オフセット量算出部30は、算出したオフセット量の平均値を最終的なオフセット量として求めることができる。
【0043】
このように、オフセット量算出部30は、第1区間D1において、オフセット量を算出することで、複数のポイントでオフセット量を算出することができ、複数のポイントで算出したオフセット量に基づいて、最終的なオフセット量を求めることで、オフセット量の精度を向上させることができる。
【0044】
このように、モータ制御装置1は、3相電流の電流位相を変化させ、センサ値が変化したときの電流位相に基づいてオフセット量を算出する。また、モータ制御装置1では、
図1Bに示した遊びAに着目したことで、モータ2に負荷5が接続された状態で、オフセット量を算出することが可能となる。
【0045】
なお、第1区間D1におけるオフセット量の算出回数は、オフセット量に求められる精度に応じて適宜変更することにしてもよい。また、第1区間D1においては、オフセット量の希望算出回数に応じて電流位相の変化率(傾きα1に対応)を適宜変更することにしてもよい。
【0046】
すなわち、遊びAが小さい場合には、電流位相をゆっくり変化させることにしてもよいし、あるいは、遊びAが大きい場合には、電流位相を素早く変化させることにしてもよい。
【0047】
また、オフセット量の精度を向上させる観点から、電流位相を徐々に減少させた場合における第1区間D1において、オフセット量を算出し、かかるオフセット量と、電流位相を増加させたときのオフセット量とに基づいて、最終的なオフセット量を算出することも有効である。かかる場合、例えば、双方のオフセット量の平均値を最終的なオフセット量として算出する。なお、電流位相を減少させる場合における第1区間D1とは、トルクが負トルクから正トルクへ反転し、センサ値が減少する区間を示す。
【0048】
図5は、オフセット量とd−q電流との関係を示す模式図である。
図5に示すように、補正前のd軸およびq軸は、真のd軸および真のq軸である真d軸、真q軸からオフセット量θだけずれていることになる。
【0049】
このため、モータ制御装置1は、d軸およびq軸をオフセット量θだけ回転させることで、真d軸および真q軸を求めることができる。
【0050】
次に、
図6および
図7を用いて、実施形態に係るモータ制御装置1が実行する処理手順について説明する。
図6および
図7は、モータ制御装置1が実行する処理手順を示すフローチャートである。
図6では、オフセット量を第1区間に1回算出する場合の処理手順を示す。
【0051】
まず、
図6に示すように、モータ制御装置1は、まず、角度センサ3のセンサ値を取得すると(ステップS101)、かかるセンサ値に基づいて電流位相の初期値を設定する(ステップS102)。
【0052】
続いて、モータ制御装置1は、かかる初期値にてモータ2へ通電を行い(ステップS103)、その後、角度センサ3のセンサ値が所定方向に変化したか否かを判定する(ステップS104)。
【0053】
モータ制御装置1は、ステップS104の判定処理において、センサ値が所定方向に変化していなかった場合(ステップS104,No)、電流位相を更新して(ステップS105)、ステップS103の処理へ移行する。
【0054】
一方、モータ制御装置1は、ステップS104の判定処理において、センサ値が所定方向に変化した場合(ステップS104,Yes)、センサ値が変化した時の電流位相の値を取得し(ステップS106)、かかる電流位相の値に基づいて、オフセット量θを算出し(ステップS107)、処理を終了する。
【0055】
続いて、
図7を用いて、第1区間D1において複数回オフセット量を算出する場合における処理手順について説明する。なお、
図7では、ステップS101〜ステップS105の処理については、
図6の説明と重複するため、説明を省略する。
【0056】
図7に示すように、モータ制御装置1は、センサ値が所定方向に変化した場合、すなわち、第1区間D1に突入した場合(ステップS104,Yes)、オフセット量の算出を開始する(ステップS111)。
【0057】
続いて、モータ制御装置1は、電流位相を更新し(ステップS112)、センサ値の変化が継続しているか否かを判定する(ステップ113)。ここで、モータ制御装置1は、センサ値の変化が継続している場合(ステップ113,Yes)、ステップS112の処理へ移行する。すなわち、センサ値の変化が継続している期間については、モータ2が第1区間D1で回転しているため、オフセット量の算出を継続して行うことになる。
【0058】
また、モータ制御装置1は、センサ値の変化が終了した場合(ステップS113,No)、オフセット量の算出を停止し(ステップS114)、最終的なオフセット量を算出して(ステップS115)、処理を終了する。つまり、モータ制御装置1は、第1区間D1から逸脱した場合に、オフセット量の算出を停止し、第1区間D1において算出したオフセット量から最終的なオフセット量を算出することになる。
【0059】
なお、ステップS111の処理を「電流位相とセンサ値との記録を開始」、ステップS114の処理を「電流位相とセンサ値との記録を停止」として置き換えることにしてもよい。
【0060】
上述したように、実施形態に係るモータ制御装置1は、電流指示部10と、オフセット量算出部30とを備える。電流指示部10は、3相電流の電流位相に基づいて、モータ2(3相交流モータ)のトルクが反転するように3相電流を制御する。オフセット量算出部30は、3相電流の電流位相と、角度センサ3によって検出される3相交流モータの回転角度とに基づき、当該回転角度に含まれるオフセット量を算出する。
【0061】
また、オフセット量算出部30は、トルクが反転した際に、モータ2に接続されたギアの遊びAに基づいて変化する回転角度を用いて、オフセット量を算出する。したがって、実施形態に係るモータ制御装置1によれば、モータに負荷が接続された状態で角度センサのオフセット量を算出することができる。
【0062】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。また、本実施形態に係るギアに限定されず例えばベルトのたるみにも応用可能である。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。