(57)【要約】【課題】角度センサのオフセット量を容易に検出することができるモータ制御装置およびモータ制御方法を提供すること。【解決手段】実施形態に係るモータ制御装置は、永久磁石型の同期モータの制御を行う。モータ制御装置は、電流制御部と、位相検出部と、算出部と、を備える。電流制御部は、同期モータに流れる電流のｄ軸電流値を変化させる。位相検出部は、電流制御部がｄ軸電流値を変化させた場合の、ｄ軸電流値およびｑ軸電流値に基づき、電流が最小で同期モータの正トルクが最大となる電流の第１位相、および、電流が最小で同期モータの負トルクが最小となる電流の第２位相をそれぞれ検出する。算出部は、位相検出部が検出した第１、第２位相に基づいて同期モータの角度位置を検出する角度センサのオフセット量を算出する。【選択図】図１Ａ
2018133897.tif 000002
【特許請求の範囲】
【請求項１】
永久磁石型の同期モータの制御を行うモータ制御装置であって、
前記同期モータに流れる電流のｄ軸電流値を変化させる電流制御部と、
前記電流制御部が前記ｄ軸電流値を変化させた場合の、前記ｄ軸電流値およびｑ軸電流値に基づき、前記電流が最小で前記同期モータの正トルクが最大となる前記電流の第１位相、および、前記電流が最小で前記同期モータの負トルクが最小となる前記電流の第２位相をそれぞれ検出する位相検出部と、
前記位相検出部が検出した前記第１、第２位相に基づいて前記同期モータの角度位置を検出する角度センサのオフセット量を算出する算出部と、
を備えることを特徴とするモータ制御装置。
【請求項２】
前記電流制御部は、
負荷一定で前記同期モータの回転数が一定になるように制御された状態で前記ｄ軸電流値を変化させ、
前記位相検出部は、
前記電流制御部が前記ｄ軸電流値を変化させた場合に、前記電流の大きさが最小となる前記電流の位相を前記第１、第２位相としてそれぞれ検出すること
を特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記位相検出部は、
前記同期モータが一定の正トルクを出力するように制御された状態で前記電流制御部が前記ｄ軸電流値を変化させた場合に、前記電流の大きさが最小となる電流の位相を前記第１位相として検出し、
前記同期モータが一定の負トルクを出力するように制御された状態で前記電流制御部が前記ｄ軸電流値を変化させた場合に、前記電流の大きさが最小となる電流の位相を前記第２位相として検出する
ことを特徴とする請求項２に記載のモータ制御装置。
【請求項４】
前記電流制御部は、
前記同期モータに流れる前記電流の大きさが一定になるように制御された状態で前記ｄ軸電流値を変化させ、
前記位相検出部は、
前記電流制御部が前記ｄ軸電流値を変化させた場合に、前記正トルクが最大となる前記電流の位相を前記第１位相として検出し、前記負トルクが最小となる前記電流の位相を前記第２位相として検出すること
を特徴とする請求項１に記載のモータ制御装置。
【請求項５】
前記算出部は、
前記第１、第２位相の平均値を前記オフセット量として算出すること
を特徴とする請求項１〜４のいずれか一項に記載のモータ制御装置。
【請求項６】
前記算出部が算出した前記オフセット量に基づいて前記角度センサが検出した前記角度位置を補正する補正部をさらに備えること
を特徴とする請求項１〜５のいずれか一項に記載のモータ制御装置。
【請求項７】
永久磁石型の同期モータの制御を行うモータ制御方法であって、
前記同期モータに流れる電流のｄ軸電流値を変化させる工程と、
前記ｄ軸電流値を変化させた場合の、前記ｄ軸電流値およびｑ軸電流値に基づき、前記電流が最小で前記同期モータの正トルクが最大となる前記電流の第１位相、および、前記電流が最小で前記同期モータの負トルクが最小となる前記電流の第２位相をそれぞれ検出する工程と、
前記第１、第２位相に基づいて前記同期モータの角度位置を検出する角度センサのオフセット量を算出する工程と、
を含むことを特徴とするモータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置およびモータ制御方法に関する。
【背景技術】
【０００２】
従来、永久磁石型の同期モータを使用した動作機構が様々な分野で利用されている。永久磁石型の同期モータを動作させる場合、かかる同期モータの角度位置を検出するために、角度センサが設けられる。
【０００３】
例えば設置位置の誤差によって角度センサの基準位置が同期モータの基準位置からずれると、ずれに応じたオフセットが、角度センサが検出する角度位置に含まれてしまう。そこで、かかるオフセットの影響を小さくするために、例えば、特許文献１では、センサの出力信号が所定の波形形状になるように、出力信号をオフセット補正値に基づいて補正している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１７６７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、かかるオフセット補正値を算出するために、モータを駆動させる駆動回路とは別のキャリブレーション用の駆動回路を接続したり、モータの角度位置を手動で決定したりする必要がある。このように、上述した従来技術は、角度センサのオフセットの量をより容易に検出するという点で改善の余地がある。
【０００６】
本発明は、上記に鑑みてなされたものであって、角度センサのオフセット量を容易に検出することができるモータ制御装置およびモータ制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明に係るモータ制御装置は、永久磁石型の同期モータの制御を行う。モータ制御装置は、電流制御部と、位相検出部と、算出部と、を備える。電流制御部は、同期モータに流れる電流のｄ軸電流値を変化させる。位相検出部は、電流制御部がｄ軸電流値を変化させた場合の、ｄ軸電流値およびｑ軸電流値に基づき、電流が最小で同期モータの正トルクが最大となる電流の第１位相、および、電流が最小で同期モータの負トルクが最小となる電流の第２位相をそれぞれ検出する。算出部は、位相検出部が検出した第１、第２位相に基づいて同期モータの角度位置を検出する角度センサのオフセット量を算出する。
【発明の効果】
【０００８】
本発明によれば、角度センサのオフセット量を容易に検出することができる。
【図面の簡単な説明】
【０００９】
【図１Ａ】図１Ａは、実施形態に係るモータシステムを説明する図である。
【図１Ｂ】図１Ｂは、実施形態に係るモータシステムを説明する図である。
【図１Ｃ】図１Ｃは、実施形態に係るモータシステムを説明する図である。
【図２】図２は、実施形態に係るモータシステムの構成を示すブロック図である。
【図３】図３は、実施形態に係るモータに流れる電流のｑ軸電流値の変化を説明するための図である。
【図４】図４は、実施形態に係るモータに流れる電流の変化を説明する図である。
【図５】図５は、実施形態に係るモータ制御装置が実行する算出処理の処理手順を示すフローチャートである。
【図６】図６は、実施形態の変形例に係るモータシステムの構成を示すブロック図である。
【図７】図７は、実施形態の変形例に係るモータの出力トルクの変化を説明するための図である。
【図８】図８は、実施形態の変形例に係るモータ制御装置が実行する算出処理の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本願の開示するモータ制御装置およびモータ制御方法の実施形態を詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。
【００１１】
以下では、実施形態に係るモータ制御装置を備えるモータシステムの概要について図１Ａ〜図１Ｃを参照して説明した後に、モータシステムの詳細について図２〜図５を参照して説明することとする。なお、実施形態に係るモータシステムの適用先としては、例えば電気自動車やハイブリッド車、エレベータ、電車等があげられる。
【００１２】
（１．モータシステムの概要）
まず、モータシステム１００の概要について図１Ａ〜図１Ｃを参照して説明する。図１Ａ〜図１Ｃは、実施形態に係るモータシステム１００を説明する図である。
【００１３】
図１Ａに示すモータシステム１００は、モータ制御装置１と、モータ２と、角度センサ３と、インバータ４と、を備える。
【００１４】
モータ２は、例えば永久磁石をロータ内に埋め込んだ埋め込み磁石型（ＩＰＭ：Interior  Permanent  Magnet）の同期モータであり、例えば負荷５に接続される。角度センサ３は、モータ２に設けられ、モータ２が基準位置からどれだけ回転したかを示す角度位置を検出する。
【００１５】
モータ制御装置１は、電流ベクトル制御によってモータ２の制御を行う。例えばモータ制御装置１は、ｄ-ｑ座標系において電流制御を実施し、３相座標系に変換した電圧を、インバータ４を介してモータ２に出力することでモータ２の制御を行い、２相（ｄ、ｑ）の電流を３相（Ｕ、Ｖ、Ｗ）の電流に変換している。なお、ここでは、モータ制御装置１は、一定の負荷５が接続されたモータ２を一定の回転数で回転するよう制御する、すなわち回転数制御を行うものとする。
【００１６】
また、モータ制御装置１は、角度センサ３が検出した角度位置に基づいてモータ２の制御を行う。ここで、例えば角度センサ３の取り付け誤差によって、角度センサ３の設置位置が基準位置からずれてしまう場合がある。この場合、角度センサ３の設置位置のずれ量に応じたオフセット量が、角度センサ３の検出結果に含まれてしまう。
【００１７】
そこで、本実施形態では、図１Ｂに示すように、埋め込み磁石型のモータ２の場合、正トルクの定トルク曲線Ｌ０１と負トルクの定トルク曲線Ｌ０２とがｄ軸に対して線対称である点に着目し、角度センサ３の検出結果に含まれるオフセット量を検出する。
【００１８】
ここで、定トルク曲線Ｌ０１、Ｌ０２とは、モータ２に流れる電流を変化させた場合であっても、モータ２の出力トルクが一定になる曲線である。換言すると、例えば定トルク曲線Ｌ０１に沿ってモータ２に流れる電流を変化させてもモータ２の出力トルクは一定となる。
【００１９】
また、モータ２が埋め込み磁石型の同期モータであって角度センサ３のオフセット量がゼロである場合、図１Ｂに示すように、正トルクの定トルク曲線Ｌ０１と負トルクの定トルク曲線Ｌ０２とがｄ軸を対称軸として線対称になる。
【００２０】
一方、角度センサ３のオフセット量がゼロでない場合、すなわち角度センサ３の設置位置がずれている場合、図１Ｃに示すように、正トルクの定トルク曲線Ｌ０１と負トルクの定トルク曲線Ｌ０２とがｄ軸に対して線対称とならない。
【００２１】
そこで、本実施形態に係るモータ制御装置１は、定トルク曲線Ｌ０１、Ｌ０２が線対称になっているか否かに応じて、オフセット量を算出する。
【００２２】
具体的に、モータ制御装置１は、定トルク曲線Ｌ０１、Ｌ０２に沿ってモータ２に流れる電流Ｉを変化させる。例えば、モータ２に対して回転数制御を行っている場合、モータ制御装置１は、モータ２に流れる電流Ｉのｄ軸電流値を変化させる。
【００２３】
具体的に、モータ制御装置１は、例えば、一定の負荷５において、モータ２が正方向に回転する回転数が一定になるように、すなわちモータ２の正トルクが一定になるように、電流Ｉを制御する。この場合においてｄ軸電流値を変化させると例えばモータ２のトルクが大きくなるため、モータ制御装置１は、ｑ軸電流値を変化させることで、正トルクを一定に保とうとする。
【００２４】
このように、ｄ軸電流値を変化させると、定トルク曲線Ｌ０１に沿ってｑ軸電流値も変化し、電流Ｉの大きさが変化する。そこで、モータ制御装置１は、ｄ軸電流値を変化させながら電流Ｉの大きさを検出し、一定の正トルクで大きさが最小となる電流Ｉ１を検出する。
【００２５】
同様に、モータ制御装置１は、例えば、一定の負荷５において、モータ２が負方向に回転する回転数が一定になるように、すなわちモータ２の負トルクが一定になるように、電流Ｉを制御する。この場合において、モータ制御装置１は、ｄ軸電流値を変化させながら電流Ｉの大きさを検出し、一定の負トルクで大きさが最小となる電流Ｉ２を検出する。
【００２６】
ここで、図１Ｂに示すように、オフセット量がゼロの場合、正トルクおよび負トルクの定トルク曲線Ｌ０１、Ｌ０２はｄ軸に対して線対称となるため、大きさが最小となる電流Ｉ１、Ｉ２もｄ軸に対して線対称となる。すなわち、電流Ｉ１の位相（以下、第１位相θ１と記載する）が電流Ｉ２の位相（以下、第２位相θ２と記載する）の逆相（θ１＝−θ２）となる。
【００２７】
一方、角度センサ３の設置位置のずれによってオフセット量がゼロでない場合、正トルクおよび負トルクの定トルク曲線Ｌ０１、Ｌ０２が、モータ制御装置１が認識するｄ軸に対して線対称にならない。
【００２８】
これは、図１Ｃに示すように、モータ制御装置１が、オフセット量がゼロである場合のｄ軸、ｑ軸（以下、真ｄ軸、真ｑ軸と記載する）と異なるｄ軸、ｑ軸を回転座標系の座標軸として認識し、モータ２の回転制御を行うためである。
【００２９】
例えば、角度センサ３の基準位置がモータ２の基準位置から角度θずれて設置された場合、すなわち、オフセット量がθである場合、オフセット量θだけ真ｄ軸、真ｑ軸が回転した座標軸が、モータ制御装置１が認識するｄ軸、ｑ軸となる。
【００３０】
したがって、例えば図１Ｃに示すように、正トルクおよび負トルクの定トルク曲線Ｌ０１、Ｌ０２は真ｄ軸に対して線対称となるため、かかる真ｄ軸とは異なるｄ軸に対しては線対称とならない。
【００３１】
すなわち、一定の正トルク、負トルクで最小となる電流Ｉ１、Ｉ２がｄ軸に対して線対称にならず、ｄ軸に対する電流Ｉ１の第１位相θ１が電流Ｉ２の第２位相θ２の逆相にならない（θ１≠−θ２）。
【００３２】
そこで、モータ制御装置１は、第１位相θ１と第２位相θ２に基づいてオフセット量θを検出する。例えばモータ制御装置１は、第１、第２位相θ１、θ２の平均値を算出することで、オフセット量θを検出する。
【００３３】
具体的に、図１Ｃに示すように、電流Ｉ１の真ｄ軸に対する位相をθ０１とし、電流Ｉ２の真ｑ軸に対する位相をθ０２とする。この場合、オフセット量θは、θ＝θ１−θ０１、θ＝θ２−θ０２で表される。また位相θ０１は、位相θ０２の逆相、すなわちθ０１＝−θ０２である。これらに基づいてオフセット量θを第１、第２位相θ１、θ２で表すと、θ＝（θ１＋θ２）／２と、第１、第２位相θ１、θ２の平均値となる。
【００３４】
このように、モータ制御装置１は、正または負トルク一定で大きさが最小となる電流Ｉ１、Ｉ２の第１、第２位相θ１、θ２に基づいてオフセット量θを算出することができる。これにより、オフセット量θを検出するための回路をモータ制御装置１以外に備えずとも、オフセット量θを容易に検出することができる。また、人間によるモータ２の角度位置の調整等を行う必要がなく、オフセット量θを容易に検出することができる。
【００３５】
（２．モータシステムの詳細）
以下、モータシステム１００の詳細な構成について、図２〜図４を参照して説明する。図２は、実施形態に係るモータシステム１００の構成を示すブロック図である。なお、図２では、実施形態の特徴を説明するために必要な構成要素のみを機能ブロックで表しており、一般的な構成要素についての記載を省略している。
【００３６】
換言すれば、図２に図示される各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。例えば、各機能ブロックの分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することが可能である。
【００３７】
図２に示すようにモータシステム１００は、モータ制御装置１と、モータ２と、角度センサ３と、インバータ４と、を備える。
【００３８】
（２−１．モータ）
モータ２は、埋め込み磁石型の３相同期モータであり、例えば負荷トルクが一定の負荷５に接続される。モータ２は、モータ制御装置１からの制御に基づいて流れる３相（Ｕ、Ｖ、Ｗ）の電流に応じて回転する。
【００３９】
（２−２．角度センサ）
角度センサ３は、モータ２に設けられ、モータ２の角度位置を検出する。角度センサ３は、例えば磁気式角度センサである。角度センサ３は、例えばモータ２のロータ（図示せず）に取り付けられた２極磁石（図示せず）の角度位置をモータ２の角度位置として検出する。
【００４０】
ここで、角度センサ３の基準位置が例えば２極磁石のＮ極であり、このＮ極がモータ２のロータに複数配置された２極磁石の位置関係と一致している場合、すなわち角度センサ３の基準位置がモータ２のロータの基準位置と一致している場合、角度センサ３は、モータ２の角度位置をオフセットなし、すなわちオフセット量θ＝０として検出することができる。
【００４１】
しかしながら、一般的に、角度センサ３の２極磁石がロータの基準位置に一致するように取り付けられないことが多く、２極磁石のＮ極と基準位置との間にずれが発生することが多い。そのため、角度センサ３が検出する角度位置は、絶対角度の保証がされていない場合がほとんどである。
【００４２】
なお、以下、角度センサ３の２極磁石のＮ極とロータの基準位置との間のずれ量を角度センサ３のオフセット量θとする。後述するモータ制御装置１は、かかるオフセット量θを検出し、検出結果に基づいて角度位置を補正することで、モータ２の絶対角度を検出する。オフセット量θの検出方法については、図３および図４を用いて後述する。
【００４３】
また、ここでは、角度センサ３が磁気式角度センサであるとしたが、これに限定されない。例えば、角度センサ３がレゾルバであってもよい。
【００４４】
（２−３．インバータ）
インバータ４は、電源４１からモータ２の各相コイル（図示せず）へ流れる電流を制御するスイッチング素子（図示せず）を有する。インバータ４は、モータ制御装置１が出力するＰＷＭ制御信号に従ってスイッチング素子を駆動することで、モータ２の各相コイルに電流を流す。
【００４５】
（２−４．モータ制御装置）
モータ制御装置１は、電流ベクトル制御に基づき、モータ２が一定の回転数で回転するように回転数制御を行う。例えばモータシステム１００が電気自動車の動力源や電気自動車に搭載されるファンやポンプである場合、モータ制御装置１は、運転状態に応じた回転数でモータ２が回転するよう回転数制御を行う。また、モータ制御装置１は、角度センサ３のオフセット量θを算出する場合、モータ制御装置１は、予め決められた回転数でモータ２が回転するように回転数制御を行う。
【００４６】
モータ制御装置１は、モータ２の回転数に応じてＰＷＭ制御信号を生成し、インバータに出力する。
【００４７】
モータ制御装置１は、ＣＰＵ（Central  Processing  Unit）や記憶部（図示せず）などを備えたマイクロコンピュータであり、モータシステム１００全体を制御する。モータ制御装置１は、回転数制御部１１０と、電流制御部１２０と、第１座標変換部１３０と、ＰＷＭ信号生成部１３１と、電流検出部１５０と、オフセット算出部１６０と、補正部１７０と、を備える。
【００４８】
モータ制御装置１のＣＰＵは、例えばＲＯＭに記憶されたプログラムを読み出して実行することによって、電流制御部１２０、第１座標変換部１３０、ＰＷＭ信号生成部１３１、電流検出部１５０、オフセット算出部１６０および補正部１７０として機能する。
【００４９】
また、電流制御部１２０、第１座標変換部１３０、ＰＷＭ信号生成部１３１、電流検出部１５０、オフセット算出部１６０および補正部１７０の少なくともいずれか一つまたは全部をＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等のハードウェアで構成することもできる。
【００５０】
（２−４−１．回転数制御部）
回転数制御部１１０は、例えば電気自動車の運転状態に応じた回転数や予め決められた回転数でモータ２が回転するように、例えばｑ軸電流値を制御する。回転数制御部１１０は、例えばモータ２を正方向に回転させる場合に正のｑ軸電流値を決定し、負方向に回転させる場合に負のｑ軸電流値を決定する。
【００５１】
回転数制御部１１０は、回転数検出部１１１と回転数決定部１１２とを備える。
【００５２】
（回転数検出部）
回転数検出部１１１は、角度センサ３の角度位置に基づいて一定期間にモータ２が回転する回転数を検出する。回転数検出部１１１は、検出した回転数を回転数決定部１１２に出力する。
【００５３】
（回転数決定部）
回転数決定部１１２は、回転数検出部１１１が検出した回転数に応じて、モータ２の回転数を増加させるか減少させるか決定する。例えば、回転数決定部１１２は、正方向にモータ２を回転させている場合において、検出した回転数が予め定めた回転数未満の場合、回転数を増加させるためにｑ軸電流値を増加させるように決定する。
【００５４】
また、回転数決定部１１２は、予め定めた回転数より検出した回転数が大きい場合、回転数を減少させるためにｑ軸電流値を減少させるように決定する。検出した回転数が一定回転数である場合、回転数決定部は、回転数を維持するため、ｑ軸電流値を維持するように決定する。
【００５５】
回転数決定部１１２は、決定したｑ軸電流値を電流制御部１２０に出力する。
【００５６】
（２−４−２．電流制御部）
電流制御部１２０は、回転数決定部１１２およびオフセット算出部１６０からの指示にしたがって、ｑ軸電流値およびｄ軸電流値を制御する。電流制御部１２０は、ｑ軸電流設定部１２１とｄ軸電流設定部１２２とを備える。
【００５７】
（ｑ軸電流設定部）
ｑ軸電流設定部１２１は、回転数決定部１１２からの指示に基づいてｑ軸電流値を設定する。例えば回転数決定部１１２がｑ軸電流値を増加させるように指示した場合、ｑ軸電流設定部１２１は、現在のｑ軸電流値に所定の値を加算した電流値を次のｑ軸電流値に設定する。ｑ軸電流設定部１２１は設定したｑ軸電流値を第１座標変換部１３０に出力する。
【００５８】
（ｄ軸電流設定部）
ｄ軸電流設定部１２２は、オフセット算出部１６０からの指示に基づいてｄ軸電流値を設定する。例えばオフセット算出部１６０がｄ軸電流値を増加させるように指示した場合、ｄ軸設定部１２２は、現在のｄ軸電流値に所定の値を加算した電流値を次のｄ軸電流値に設定する。ｄ軸電流設定部１２２は設定したｄ軸電流値を第１座標変換部１３０に出力する。なお、オフセット算出部１６０が行う指示については、図４を用いて後述する。
【００５９】
（２−４−３．第１座標変換部）
第１座標変換部１３０は、電流制御部１２０が出力するｄ軸電流値およびｑ軸電流値を、角度センサ３が検出する角度位置に基づいて座標変換し、３相の電流値を生成する。第１座標変換部１３０は、生成した３相の電流値をＰＷＭ信号生成部１３１に出力する。
【００６０】
（２−４−４．ＰＷＭ信号生成部）
ＰＷＭ信号生成部１３１は、第１座標変換部１３０から入力される３相の電流値に基づき、インバータ４のスイッチング素子（図示せず）をオン・オフさせるＰＷＭ制御信号を生成する。ＰＷＭ信号生成部１３１は、インバータ４のスイッチング素子のオン・オフを切り替えることで、電源４１からモータ２へ流れる３相電流を制御する。
【００６１】
（２−４−５．電流検出部）
電流検出部１５０は、モータ２に流れる電流Ｉを検出する。電流検出部１５０は、モータ２に流れる３相電流を検出し、ｄ軸電流値およびｑ軸電流値を検出する。
【００６２】
電流検出部１５０は、検出部１５１と第２座標変換部１４０とを備える。
【００６３】
（検出部）
検出部１５１は、インバータ４からモータ２に流れる３相電流を検出し、第２座標変換部１４０に出力する。
【００６４】
（第２座標変換部）
第２座標変換部１４０は、モータ２に流れる３相電流を、角度センサ３が検出する角度位置に基づいて座標変換し、ｄ-ｑ座標系の電流値を生成し、オフセット算出部１６０および電流制御部１２０に出力する。
【００６５】
（２−４−６．補正部）
補正部１７０は、オフセット算出部１６０が算出したオフセット量θに基づいて角度センサ３の検出結果である角度位置を補正する。補正部１７０は、例えば角度センサ３が検出した角度位置にオフセット量θを加算して、角度位置を補正する。補正部１７０は、補正後の角度位置を回転数制御部１１０および第１、第２座標変換部１３０、１４０に出力する。
【００６６】
なお、ここでは、補正部１７０をモータ制御装置１が備えるとしたが、これに限定されない。例えば、角度センサ３が補正部１７０を備えていてもよい。すなわち、角度センサ３が、モータ制御装置１が算出するオフセット量θに基づいて角度位置を補正するようにしてもよい。
【００６７】
（２−４−７．オフセット算出部）
オフセット算出部１６０は、ｄ軸電流値を所定範囲で変化させた場合に大きさが最小となる電流Ｉの位相θ１、θ２に基づいてオフセット量θを算出する。なお、オフセット算出部１６０は、オフセット量θの算出を行う場合、補正部１７０による補正を中止する。すなわち、補正部１７０の補正に用いるオフセット量θを「θ＝０」としてオフセット量θの算出を行うものとする。なお、「θ＝０」に限定する必要は無く、仮にθ＝θaとしてオフセットθbが得られればオフセットをθ＝θa＋θbに更新するようにしても良い。
【００６８】
オフセット算出部１６０は、方向決定部１６１と、ｄ軸電流決定部１６２と、位相検出部１６３と、算出部１６４と、を備える。
【００６９】
（方向決定部）
方向決定部１６１は、オフセット量θを算出する場合に、モータ２の出力トルクの方向を決定する。例えば方向決定部１６１は、モータ２の回転方向を正方向に決定することで、モータ２が正トルクを出力するように制御する。また、方向決定部１６１は、モータ２の回転方向を負方向に決定することで、モータ２が負トルクを出力するように制御する。
【００７０】
方向決定部１６１は、決定したモータ２の回転方向を、回転数制御部１１０、ｄ軸電流決定部１６２および位相検出部１６３に出力する。
【００７１】
（ｄ軸電流決定部）
ｄ軸電流決定部１６２は、オフセット量θを算出する場合に、モータ２に流す電流のｄ軸電流値を決定する。ｄ軸電流決定部１６２は、ｄ軸電流値が所定範囲Ｒで変化するように決定する。ｄ軸電流決定部１６２は、例えば所定範囲Ｒ内においてｄ軸電流値が所定間隔で小さくなるようにｄ軸電流値を決定する。ｄ軸電流決定部１６２は、決定したｄ軸電流値を電流制御部１２０に出力する。
【００７２】
なお、ｄ軸電流決定部１６２がｄ軸電流値を変化させる所定範囲Ｒについては図４を用いて後述する。
【００７３】
（位相検出部）
位相検出部１６３は、ｄ軸電流決定部１６２がｄ軸電流値を所定範囲Ｒで変化させた場合のｑ軸電流値の変化に基づき、一定の正または負トルクで大きさが最小となる電流Ｉ１、Ｉ２の第１、第２位相θ１、θ２を検出する。
【００７４】
ここで、まず、図３を用いて、ｄ軸電流値を変化させた場合のｑ軸電流値の変化について説明する。図３は、実施形態に係るモータ２に流れる電流のｑ軸電流値の変化を説明するための図である。なお、以下、説明を簡略化するために、モータ２が正方向に回転している場合について説明する。モータ２が負方向に回転している場合は、ｑ軸電流値が負の値になる点を除き、モータ２が正方向に回転している場合と同じであるため説明を省略する。
【００７５】
図３に示すように、ｄ軸電流値がゼロでｑ軸電流値がＩｑである電流Ｉ３がモータ２に流れているとする。この場合、ｄ軸電流決定部１６２がｄ軸電流値をゼロからＩｄに変化させると、モータ２にはｄ軸電流値がＩｄ、ｑ軸電流値がＩｑである電流Ｉ４が流れる。
【００７６】
電流Ｉ４は、正方向の定トルク曲線Ｌ０１より下回っているため、モータ２の出力トルクが低下し、回転数が減少する。この場合、回転数制御部１１０は、予め定められた回転数を維持するためにｑ軸電流値を増加させる。これにより、ｑ軸電流値はＩｑ２まで増加し、モータ２に電流Ｉ５が流れる。
【００７７】
このように、ｄ軸電流決定部１６２がｄ軸電流値を変化させると、モータ２に流れる電流Ｉが定トルク曲線Ｌ０１に沿って変化するため、ｑ軸電流値も変化する。
【００７８】
例えば、図４に示すように、ｄ軸電流決定部１６２が、ｄ軸電流値をゼロからＩｄ１までの所定範囲Ｒ内で変化させると、電流Ｉ１、Ｉ６、Ｉ７に示すように、モータ２に流れる電流は定トルク曲線Ｌ０１に沿って変化し、ｑ軸電流値も範囲Ｒｑで変化する。なお、図４は、実施形態に係るモータ２に流れる電流の変化を説明する図である。
【００７９】
位相検出部１６３は、ｄ軸電流値が所定範囲Ｒで変化したときのｑ軸電流値を電流検出部１５０から取得し、モータ２に流れる電流Ｉ１、Ｉ６、Ｉ７の大きさを検出する。
【００８０】
位相検出部１６３は、検出結果に基づいて大きさが最小となる電流Ｉ１を決定し、電流Ｉ１の位相θ１を検出する。
【００８１】
位相検出部１６３は、同様に負トルク曲線Ｌ０２に沿って電流を変化させ、大きさが最小となる電流Ｉ２（図１Ｃ参照）の位相θ２を検出し、検出した位相θ１、θ２を算出部１６４に出力する。
【００８２】
（算出部）
算出部１６４は、例えば位相検出部１６３が検出した位相θ１、θ２の平均値をオフセット量θとして算出する。算出部１６４は、算出したオフセット量θを補正部１７０に出力する。
【００８３】
（３．算出処理）
次に、図５を用いて、実施形態に係るモータ制御装置１が実行する算出処理の処理手順について説明する。図５は、実施形態に係るモータ制御装置１が実行する算出処理の処理手順を示すフローチャートである。
【００８４】
モータ制御装置１は、例えばモータシステム１００の組み立て後であって出荷前に図５の算出処理手順を実行する。
【００８５】
図５に示すように、モータ制御装置１は、算出処理実行時に使用するパラメータ等を初期化する（ステップＳ１０１）。モータ制御装置１は、例えば補正部１７０での補正に用いるオフセット量θをゼロに初期化する。また、モータ制御装置１は、ｄ軸電流値を所定範囲Ｒの最大値に設定する。
【００８６】
次に、モータ制御装置１は、モータ２が一定の回転数で回転するように回転数制御を行う（ステップＳ１０２）。なお、ここでは、モータ２が正方向に回転するように制御するものとする。
【００８７】
モータ制御装置１は、モータ２の回転数が一定になった場合のｑ軸電流値を検出し（ステップＳ１０３）、モータ２に流れる電流の大きさを算出する（ステップＳ１０４）。
【００８８】
モータ制御装置１は、所定範囲Ｒで全てのｄ軸電流値を変更したか否かを判定する（ステップＳ１０５）。
【００８９】
所定範囲Ｒで変更していないｄ軸電流値がある場合（ステップＳ１０５のＮｏ）、モータ制御装置１は、ｄ軸電流値を変更する（ステップＳ１０６）。モータ制御装置１は、例えばｄ軸電流値から所定値を減算することでｄ軸電流値を変更する。変更後、モータ制御装置１はステップＳ１０２に戻る。
【００９０】
一方、所定範囲Ｒで全てのｄ軸電流値を変更した場合（ステップＳ１０５のＹｅｓ）、モータ制御装置１は、ステップＳ１０４で算出した電流の大きさに基づき、最小電流の位相θ１を検出する（ステップＳ１０７）。
【００９１】
次に、モータ制御装置１は、正負両方向の回転で最小電流の位相θ１、θ２を検出したか否かを判定する（ステップＳ１０８）。検出していない位相θ２がある場合（ステップＳ１０８のＮｏ）、モータ制御装置１は、モータ２の回転方向を反転させて（ステップＳ１０９）、ステップＳ１０２に戻り、位相θ２を検出する。
【００９２】
両方の位相θ１、θ２を検出した場合（ステップＳ１０８のＹｅｓ）、モータ制御装置１は、検出した位相θ１、θ２の平均値を算出することで、オフセット量θを算出する（ステップＳ１１０）。
【００９３】
なお、ここでは、ステップＳ１０３でｑ軸電流値を検出するとしたが、ｑ軸電流値に加えｄ軸電流値を検出するようにしてもよい。この場合、モータ制御装置１は、ステップＳ１０４において検出したｄ軸電流値およびｑ軸電流値に基づいて電流の大きさを算出する。
【００９４】
また、ここでは、ｄ軸電流値を所定範囲Ｒの最大値から所定間隔で小さくするようにしているが、これに限定されない。例えばｄ軸電流値を最大値から所定間隔で大きくするようにしてもよい。また、最小電流を決定する方法として、山登り法や三分探索法など、関数の極小値を求める探索アルゴリズムなど種々の方法を用いてもよい。
【００９５】
また、ｄ軸電流値の変化量は、所定間隔に限定されない。例えばｄ軸電流値を変更するごとに加算あるいは減算する変化量を変更するようにしてもよく、例えばｄ軸電流値をランダムに変更してもよい。
【００９６】
また、ここでは、図５に示す算出処理手順を出荷前に実行するとしたが、これに限定されない。例えば、モータ制御装置１が数ヶ月や数年ごと等所定期間ごとにオフセット量θを算出するようにしてもよい。この場合、モータ制御装置１は、負荷５が一定であってモータ２の回転数制御を行っている場合に、ｄ軸電流値を変化させてオフセット量θを算出する。
【００９７】
また、図５に示す算出処理手順を一度に実行する必要はなく、複数回にわけて実行するようにしてもよい。すなわち、モータ制御装置１が異なるｄ軸電流値を複数回にわけて設定し、それぞれ対応するｑ軸電流値を検出するようにしてもよい。また、モータ制御装置１は、ｄ軸電流値を変更したときのｑ軸電流値が所定回数検出できた場合に、オフセット量θを算出するようにしてもよい。このように、モータ制御装置１がｑ軸電流値を検出する時期とオフセット量θを算出する時期とが異なっていてもよい。
【００９８】
以上のように、実施形態に係るモータ制御装置１は、正または負トルク一定で大きさが最小となる電流Ｉ１、Ｉ２の第１、第２位相θ１、θ２に基づいてオフセット量θを算出する。これにより、オフセット量θを検出するための回路をモータ制御装置１以外に備えずとも、オフセット量θを容易に検出することができる。また、人間によるモータ２の角度位置の調整等を行う必要がなく、オフセット量θを容易に検出することができる。
【００９９】
（４．変形例）
以上、本発明の実施形態について説明してきたが、この発明は上記実施形態に限定されるものではなく様々な変形が可能である。以下では、このような変形例について説明する。上記実施形態および以下で説明する形態を含む全ての形態は、適宜に組み合わせ可能である。
【０１００】
（４−１．変形例１）
上記実施形態では、モータ制御装置１が正または負トルク一定で大きさが最小となる電流Ｉ１、Ｉ２を検出するが、これに限定されない。正トルクおよび負トルクの定トルク曲線Ｌ０１、Ｌ０２に沿った電流の中から大きさが最小となる電流Ｉ１、Ｉ２を検出できればよい。例えば、本変形例に係るモータシステム１００ａのモータ制御装置１ａように、電流の大きさを一定として、ｄ軸電流値を変化させたときにトルクが最大または最小となる電流Ｉ１、Ｉ２を検出するようにしてもよい。
【０１０１】
換言すると、モータ制御装置１は、電流の大きさが最小でモータ２の正トルクが最大または負トルクが最小となる電流を検出する。例えば実施形態に係るモータ制御装置１は、所定の回転数を維持するために必要な最大トルクで、大きさが最小の電流を検出する。一方、変形例に係るモータ制御装置１ａは、モータ２に流れる電流が最大値で一定となっている状態で、モータ２の出力トルクが最大（負トルクの場合は最小）となる電流を検出する。
【０１０２】
このように、本変形例に係るモータ制御装置１ａは、モータ２に流れる電流が一定になるよう制御している場合であっても角度センサ３のオフセット量θを検出することができる。
【０１０３】
以下、図６〜図８を用いて、変形例に係るモータシステム１００ａについて詳細に説明する。図６は、実施形態の変形例に係るモータシステム１００ａの構成を示すブロック図である。なお、図２に示すモータシステム１００と同一の構成には同一符号を付し説明を省略する。
【０１０４】
図６に示すモータシステム１００ａは、図２のモータシステム１００が有する回転数制御部１１０を有していない。また、モータシステム１００ａは、モータ２の出力トルクを検出するトルクメータ６を備える。トルクメータ６は、モータ２の出力トルクを検出すると、モータ制御装置１ａに出力する。
【０１０５】
図６に示すモータシステム１００ａのモータ２は、一定の回転数で回転する負荷５ａに接続される。負荷５ａは、例えば回転数制御によって一定の回転数で回転するモータである。
【０１０６】
このように、負荷５ａが所定の回転数で回転することで、モータ２も同様に所定の回転数で回転する。これにより、モータ２には、所定の電流指令（トルク指令）に応じた電流が流れる。
【０１０７】
モータ制御装置１ａのオフセット算出部１６０ａは、モータ２に流れる電流の大きさが一定になるように制御された状態で、電流のｄ軸電流値を変化させたときのモータ２の出力トルクの変化に応じて、角度センサ３のオフセット量θを算出する。
【０１０８】
ここで、図７を用いて、電流のｄ軸電流値を変化させた場合の出力トルクの変化について説明する。図７は、変形例に係るモータ２の出力トルクの変化を説明するための図である。なお、以下、説明を簡略化するために、モータ２が正方向に回転している場合について説明する。モータ２が負方向に回転している場合は、ｑ軸電流値が負の値になる点を除き、モータ２が正方向に回転している場合と同じであるため説明を省略する。
【０１０９】
例えば図７に示すように、モータ２にｄ軸電流値がＩｄ０、ｑ軸電流値がＩｑ０の電流Ｉ１が流れている場合に、ｄ軸電流決定部１６２がｄ軸電流値をＩｄ１に変化させたとする。この場合、モータ２は、大きさ一定、すなわち図７に示す円弧Ｄに沿った電流が流れるように制御されているため、モータ２には、ｄ軸電流値がＩｄ１、ｑ軸電流値がＩｑ４の電流Ｉ９が流れる。
【０１１０】
ここで、図７に示すように、電流Ｉ１は定トルク曲線Ｌ０１に沿った電流であり、電流Ｉ９は定トルク曲線Ｌ１１に沿った電流である。なお、定トルク曲線Ｌ０１は、定トルク曲線Ｌ１１よりも出力トルクが大きいものとする。
【０１１１】
このように、一定の電流がモータ２に流れるように制御する定電流制御が行われている状態で、ｄ軸電流値が変化すると、モータ２に流れる電流は、回転座標系の原点を中心とし一定の電流の大きさを半径とする円弧Ｄ上に沿って変化する。したがって、ｄ軸電流決定部１６２は、ｄ軸電流値を変化させることで、電流Ｉの位相を変化させているとも言える。ｄ軸電流決定部１６２が、電流Ｉの位相を変化させることでモータ２の出力トルクも変化する。
【０１１２】
位相検出部１６３ａは、ｄ軸電流決定部１６２がｄ軸電流値を変化させたときのモータ２の出力トルクをトルクメータ６から取得する。位相検出部１６３ａは、トルクメータ６から取得した出力トルクに基づき、ｄ軸電流値を所定範囲Ｒで変化させた場合に正トルクが最大となる電流Ｉ１の第１位相θ１を検出する。
【０１１３】
同様に、位相検出部１６３ａは、ｄ軸電流値を所定範囲Ｒで変化させた場合に負トルクが最小となる電流Ｉ２の第２位相θ２を検出する。なお、電流Ｉ１、Ｉ２の第１、第２位相θ１、θ２は、図１Ｃに示す実施形態の電流Ｉ１、Ｉ２の第１、第２位相θ１、θ２と同じであるため、モータ制御装置１ａは、実施形態のモータ制御装置１と同様に、第１、第２位相θ１、θ２の平均値を算出することで、オフセット量θを算出することができる。
【０１１４】
続いて、図８を用いて、変形例に係るモータ制御装置１ａが実行する算出処理の処理手順について説明する。図８は、実施形態の変形例に係るモータ制御装置１ａが実行する算出処理の処理手順を示すフローチャートである。
【０１１５】
なお、図５に示す処理手順と同じ処理手順については同一符号を付し説明を省略する。
【０１１６】
図８に示すように、モータ制御装置１ａは、ステップＳ１０１の後に、モータ２に流れる電流が一定になるように定電流制御を行う（ステップＳ２０１）。次に、モータ制御装置１ａは、モータ２のトルクを検出する（ステップＳ２０２）。
【０１１７】
モータ制御装置１ａは、所定範囲で全てのｄ軸電流値を変更した場合（ステップＳ１０５のＹｅｓ）、ステップＳ２０２で検出した正トルクが最大（負トルクの場合は最小）となる電流の位相を検出する。以降の処理は、図５と同じである。
【０１１８】
以上のように、本変形例に係るモータ制御装置１ａは、モータ２に流れる電流が最大値で一定となっている状態で、モータ２の出力トルクが最大（負トルクの場合は最小）となる電流Ｉ１、Ｉ２の第１、第２位相θ１、θ２に基づいてオフセット量θを算出する。これにより、オフセット量θを検出するための回路をモータ制御装置１ａ以外に備えずとも、オフセット量θを容易に検出することができる。また、人間によるモータ２の角度位置の調整等を行う必要がなく、オフセット量θを容易に検出することができる。
【０１１９】
（４−２．その他の変形例）
なお、上記変形例では、トルクメータ６の検出結果を用いて、大きさが一定である電流の位相を変化させながらトルクの大きさが最大となる電流Ｉ１、Ｉ２の第１、第２位相θ１、θ２を検出するとしたが、これに限定されない。
【０１２０】
例えば、モータ２の回転数を検出し、回転数が最大となる電流Ｉ１、Ｉ２の第１、第２位相θ１、θ２を検出するようにしてもよい。この場合、負荷５ａとしてモータの代わりに、例えば摩擦のある負荷など、回転数が大きいほど負荷トルクが大きくなる負荷を用いる。
【０１２１】
これにより、大きさが一定である電流の位相を変化させると、モータ２の出力トルクが変化し、回転数が変化する。モータ制御装置１ａは、回転数が最大となる電流Ｉ１、Ｉ２の位相を検出することで、トルクの大きさが最大となる電流Ｉ１、Ｉ２の第１、第２位相θ１、θ２を検出することができる。
【０１２２】
また、上記実施形態および変形例では、モータ２を埋め込み磁石型の同期モータとしたが、これに限定されない。例えば表面磁石型の同期モータであってもよい。この場合、定トルク曲線Ｌ０１、Ｌ０２は、真ｄ軸と平行な直線となるため、本実施形態および変形例と同様にしてオフセット量θを算出することができる。
【０１２３】
（５．効果）
上記実施形態に係るモータ制御装置１は、永久磁石型の同期モータ２の制御を行う。モータ制御装置１は、電流制御部１２０と、位相検出部１６３と、算出部１６４と、を備える。電流制御部１２０は、同期モータ２に流れる電流のｄ軸電流値を変化させる。位相検出部１６３は、電流制御部１２０がｄ軸電流値を変化させた場合の、ｄ軸電流値およびｑ軸電流値に基づき、電流が最小で同期モータ２の正トルクが最大となる電流Ｉ１の第１位相θ１、および、電流が最小で同期モータ２の負トルクが最小となる電流Ｉ２の第２位相θ２をそれぞれ検出する。算出部１６４は、位相検出部１６３が検出した第１、第２位相θ１、θ２に基づいて同期モータ２の角度位置を検出する角度センサ３のオフセット量θを算出する。
【０１２４】
これにより、モータ制御装置１は、角度センサ３のオフセット量θを容易に検出することができる。
【０１２５】
上記実施形態に係るモータ制御装置１の電流制御部１２０は、負荷一定で同期モータ２の回転数が一定になるように制御された状態でｄ軸電流値を変化させる。位相検出部１６３は、電流制御部１２０がｄ軸電流値を変化させた場合に、電流の大きさが最小となる電流Ｉ１、Ｉ２の位相を第１、第２位相θ１、θ２としてそれぞれ検出する。
【０１２６】
このように回転数制御を行っている場合であっても、モータ制御装置１は、角度センサ３のオフセット量θを容易に検出することができる。
【０１２７】
上記実施形態に係るモータ制御装置１の位相検出部１６３は、同期モータ２が一定の正トルクを出力するように制御された状態で電流制御部１２０がｄ軸電流値を変化させた場合に、大きさが最小となる電流Ｉ１の位相を第１位相θ１として検出する。また、位相検出部１６３は、同期モータ２が一定の負トルクを出力するように制御された状態で電流制御部１２０がｄ軸電流値を変化させた場合に、大きさが最小となる電流Ｉ２の位相を第２位相θ２として検出する。
【０１２８】
このように出力トルクが一定の場合、最小電流の位相を検出することでオフセット量θを算出することができ、モータ制御装置１は、角度センサ３のオフセット量θを容易に検出することができる。
【０１２９】
上記実施形態に係るモータ制御装置１の電流制御部１２０は、同期モータ２に流れる電流の大きさが一定になるように制御された状態でｄ軸電流値を変化させる。位相検出部１６３は、電流制御部１２０がｄ軸電流値を変化させた場合に、正トルクが最大となる電流Ｉ１の位相を第１位相θ１として検出し、負トルクが最小となる電流Ｉ２の位相を第２位相θ２として検出する。
【０１３０】
このように定電流制御を行っている場合であっても、モータ制御装置１は、角度センサ３のオフセット量θを容易に検出することができる。
【０１３１】
上記実施形態に係るモータ制御装置１の算出部１６４は、第１、第２位相θ１、θ２の平均値をオフセット量θとして算出する。
【０１３２】
このように、モータ制御装置１は、簡易な計算でオフセット量θを算出することができる。
【０１３３】
上記実施形態に係るモータ制御装置１は、算出部１６４が算出したオフセット量θに基づいて角度センサ３が検出した角度位置を補正する補正部１７０をさらに備える。
【０１３４】
これにより、モータ制御装置１は、同期モータ２の角度位置をより精度よく検出することができる。
【０１３５】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【０１３６】
１  モータ制御装置
２  モータ
３  角度センサ
１１０  回転数制御部
１２０  電流制御部
１５０  電流検出部
１６０  オフセット算出部
１６１  方向決定部
１６３  位相検出部
１６４  算出部
【図１Ａ】
2018133897.tif 000003
【図１Ｂ】
2018133897.tif 000004
【図１Ｃ】
2018133897.tif 000005
【図２】
2018133897.tif 000006
【図３】
2018133897.tif 000007
【図４】
2018133897.tif 000008
【図５】
2018133897.tif 000009
【図６】
2018133897.tif 000010
【図７】
2018133897.tif 000011
【図８】
2018133897.tif 000012