(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024146367
(43)【公開日】2024-10-15
(54)【発明の名称】モータ制御装置、モータ制御方法
(51)【国際特許分類】
H02P 21/05 20060101AFI20241004BHJP
【FI】
H02P21/05
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023059216
(22)【出願日】2023-03-31
(71)【出願人】
【識別番号】000114215
【氏名又は名称】ミネベアミツミ株式会社
(74)【代理人】
【識別番号】100114890
【弁理士】
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100116403
【弁理士】
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100162880
【弁理士】
【氏名又は名称】上島 類
(72)【発明者】
【氏名】長谷川 泰之
【テーマコード(参考)】
5H505
【Fターム(参考)】
5H505BB04
5H505DD20
5H505EE32
5H505EE41
5H505GG02
5H505GG04
5H505LL07
5H505LL22
5H505LL41
(57)【要約】
【課題】ステッピングモータにおいて、振動の抑制を目的としてフィードバック制御とオープンループ制御とを切り替える場合に、駆動電流の変動を抑制する。
【解決手段】モータ制御装置1において、電流制御部20は、電流指令値とステッピングモータの回転速度とに基づいてステッピングモータに供給する電流をベクトル制御により制御するクローズドループ制御、または、電流ベクトル値に基づいてステッピングモータに供給する電流を制御するオープンループ制御を行い、クローズドループ制御からオープンループ制御に移行する際、またはオープンループ制御からクローズドループ制御に移行する際に、電流ベクトル値がステッピングモータの定トルク曲線及び電流制限円の上を移動するようにステッピングモータに供給する電流を制御する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ステッピングモータの回転速度が所定の値となるように前記ステッピングモータに供給する電流を制御する電流指令値を決定する速度制御部と、
前記電流指令値と前記ステッピングモータから検出された電流の測定値とに基づいて前記回転速度が所定の値となるように前記ステッピングモータに供給する電流をベクトル制御により制御する電流ベクトル値を出力する電流制御部と、
を備え、
前記電流制御部は、
前記電流ベクトル値と前記回転速度とに基づいて前記ステッピングモータに供給する電流をベクトル制御により制御するクローズドループ制御、または、前記電流指令値に基づいて前記ステッピングモータに供給する電流を制御するオープンループ制御を行い、
前記クローズドループ制御から前記オープンループ制御に移行する際、または前記オープンループ制御から前記クローズドループ制御に移行する際に、前記電流ベクトル値が前記ステッピングモータの定トルク曲線及び電流制限円の上を移動するように前記ステッピングモータに供給する電流を制御する、
モータ制御装置。
【請求項2】
前記電流制御部は、
前記クローズドループ制御から前記オープンループ制御に切り替える際に、d軸電流及びq軸電流をそれぞれ固定値になるように前記ステッピングモータに供給する電流を制御する前に、前記電流ベクトル値が前記電流制限円の上を移動するように前記ステッピングモータに供給する電流を制御する、
請求項1に記載のモータ制御装置。
【請求項3】
前記電流制御部は、
前記クローズドループ制御から前記オープンループ制御に移行する際、または前記オープンループ制御から前記クローズドループ制御に移行する際に、d軸電流とq軸電流との合成電流が一定の値となるように変化させることで前記電流ベクトル値が前記電流制限円の上を移動するように前記ステッピングモータに供給する電流を制御する、
請求項1または2に記載のモータ制御装置。
【請求項4】
前記電流制御部は、
前記クローズドループ制御から前記オープンループ制御に移行する際に、前記d軸電流を0から前記定トルク曲線の上の値を経て前記電流制限円の上の値に変化させ、前記q軸電流を前記定トルク曲線の上の値から前記電流制限円の上の値を経て0に変化させる、
請求項3に記載のモータ制御装置。
【請求項5】
前記電流制御部は、
前記オープンループ制御から前記クローズドループ制御に切り替える際に、前記d軸電流を前記電流制限円の上の値から前記定トルク曲線の上の値を経て0に変化させ、前記q軸電流を0から前記電流制限円の上の値を経て前記定トルク曲線の上の値に変化させる、
請求項3に記載のモータ制御装置。
【請求項6】
前記電流制御部は、
前記オープンループ制御から前記クローズドループ制御に切り替える際に、前記クローズドループ制御のゲインを所定の初期値から通常の値となるように変化させる、
請求項1に記載のモータ制御装置。
【請求項7】
ステッピングモータの回転速度が所定の値となるように前記ステッピングモータに供給する電流を制御する電流指令値を決定するステップと、
前記電流指令値と前記ステッピングモータから検出された電流の測定値とに基づいて前記回転速度が所定の値となるように前記ステッピングモータに供給する電流をベクトル制御により制御する電流ベクトル値を出力するステップと、
を実行するモータ制御方法であり、
前記電流ベクトル値を出力するステップでは、
前記電流ベクトル値と前記回転速度とに基づいて前記ステッピングモータに供給する電流をベクトル制御により制御するクローズドループ制御、または、前記電流指令値に基づいて前記ステッピングモータに供給する電流を制御するオープンループ制御を行い、
前記クローズドループ制御から前記オープンループ制御に移行する際、または前記オープンループ制御から前記クローズドループ制御に移行する際に、前記電流ベクトル値が前記ステッピングモータの定トルク曲線及び電流制限円の上を移動するように前記ステッピングモータに供給する電流を制御する、
モータ制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータ制御装置、モータ制御方法に関する。
【背景技術】
【0002】
ステッピングモータにおいて、高速で回転する際に安定した動作を実現するために、クローズドループ制御により駆動の制御を行うことがある。ステッピングモータは、クローズドループ制御により駆動の制御を行った場合に、回転を停止する際に振動(ハンチング)が発生することがある。そこで、ステッピングモータの駆動の制御方法として、回転を停止する際にクローズドループ制御からオープンループ制御に切り替えることが考えられる。
【0003】
なお、モータの駆動を制御する技術において、フィードバック制御とオープンループ制御とを切り替える技術として、例えば、所定の加速度に従って加速制御を行うものが知られている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、ステッピングモータにおいて、回転を停止する際に、駆動の制御方法をクローズドループ制御からオープンループ制御に切り替えた場合に、駆動電流の変動が生じることがある。ステッピングモータは、駆動電流が変動することによりトルクも変動する。ステッピングモータは、トルクの変動が大きくなった場合に、異音(クリック音)が発生する場合がある。従って、ステッピングモータにおいて、振動の抑制を目的としてフィードバック制御とオープンループ制御とを切り替える場合には、駆動電流(トルク)の変動を抑制することが求められる。
【0006】
本発明は、上述の課題を一例とするものであり、ステッピングモータにおいて、振動の抑制を目的としてフィードバック制御とオープンループ制御とを切り替える場合に、駆動電流の変動を抑制する技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明に係るモータ制御装置は、ステッピングモータの回転速度が所定の値となるように前記ステッピングモータに供給する電流を制御する電流指令値を決定する速度制御部と、前記電流指令値と前記ステッピングモータから検出された電流の測定値とに基づいて前記回転速度が所定の値となるように前記ステッピングモータに供給する電流をベクトル制御により制御する電流ベクトル値を出力する電流制御部と、を備え、前記電流制御部は、前記電流ベクトル値と前記回転速度とに基づいて前記ステッピングモータに供給する電流をベクトル制御により制御するクローズドループ制御、または、前記電流指令値に基づいて前記ステッピングモータに供給する電流を制御するオープンループ制御を行い、前記クローズドループ制御から前記オープンループ制御に移行する際、または前記オープンループ制御から前記クローズドループ制御に移行する際に、前記電流ベクトル値が前記ステッピングモータの定トルク曲線及び電流制限円の上を移動するように前記ステッピングモータに供給する電流を制御する。
【発明の効果】
【0008】
本発明に係るモータ制御装置によれば、ステッピングモータにおいて、振動の抑制を目的としてフィードバック制御とオープンループ制御とを切り替える場合に、駆動電流の変動を抑制することができる。
【図面の簡単な説明】
【0009】
【
図1】本発明の実施の形態に係るモータ制御装置の機能構成を示す機能ブロック図である。
【
図2】
図1に示すモータ制御装置による、d軸電流id=0のクローズドループ制御における電流ベクトルの一例を示す図である。
【
図3】
図1に示すモータ制御装置による、iq,idの合成電流が一定値であるクローズドループ制御における電流ベクトルの一例を示す図である。
【
図4】
図1に示すモータ制御装置による、q軸電流iq,d軸電流idの合成電流が一定値であるクローズドループ制御における電流ベクトルの一例を示す図である。
【
図5】
図1に示すモータ制御装置による、q軸電流iq,d軸電流idの合成電流が一定値であるクローズドループ制御における電流ベクトルの一例を示す図である。
【
図6】
図1に示すモータ制御装置による、iq,idの合成電流が一定値であるクローズドループ制御における電流ベクトルの一例を示す図である。
【
図7】
図1に示すモータ制御装置による、q軸電流iq=0、d軸電流id=固定値のオープンループ制御における電流ベクトルの一例を示す図である。
【
図8】
図1に示すモータ制御装置による、iq,id=固定値の定トルクオープンループ制御における電流ベクトルの一例を示す図である。
【
図9】
図1に示すモータ制御装置が実行するモータ駆動制御方法における、クローズドループ制御からオープンループ制御への切り替え処理の一具体例を示すフローチャートである。
【
図10】
図1に示すモータ制御装置が実行するモータ駆動制御方法における、オープンループ制御からクローズドループ制御への切り替え処理の一具体例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態に係るモータ制御装置1について図面を参照しながら説明する。
【0011】
図1は、本発明の実施の形態に係るモータ制御装置1の機能構成を示す機能ブロック図である。
図1に示すように、本実施の形態に係るモータ制御装置1は、例えば、ステッピングモータのようなモータ30の駆動制御を行う。モータ制御装置1は、例えば、CPU(Central Processing Unit)等のプロセッサ、ROM(Read Only Memory)やRAM(Random Access Memory)等の各種メモリ、タイマ、カウンタ、A/D変換回路、入出力I/F回路、およびクロック生成回路等のハードウェア要素を有し、各構成要素がバスや専用線を介して互いに接続されたプログラム処理装置(例えば、マイクロコントローラ:MCU(Micro Control Unit)などのコンピュータ)である。モータ制御装置1は、メモリとして、例えば、フラッシュメモリやEEPROM(Electrically Erasable Programmable Read-Only Memory)等の書き換え可能な不揮発性の記憶装置を有している。以下において説明する、モータ制御装置1においてモータ制御方法を実行するために実現される各種機能部は、上述したMCU内のプロセッサが、メモリに記憶されているモータ制御装置1の動作プログラムに従って各種演算を実行するとともに、タイマおよびカウンタ、A/D変換回路および入出力I/F回路等の周辺回路を制御することによって、実現される。
【0012】
モータ制御装置1は、速度制御部10と、電流制御部20と、モータ駆動回路80と、電流・位置検出部60と、を備える。電流制御部20は、駆動制御部70と、第1クローズドループ制御部21と、第2クローズドループ制御部22と、第1オープンループ制御部23と、第2オープンループ制御部24と、制御切替部25とを有する。
【0013】
速度制御部10は、モータ30の回転位置及び速度を検出する電流・位置検出部60が検出した回転速度が、コントローラ等の不図示の上位装置から取得した速度指令値値となるようにモータ30の電流を制御する電流指令値を決定する。
【0014】
電流制御部20は、モータ30を駆動する電流を、クローズドループ制御とオープンループ制御とのいずれか一方により制御する。駆動制御部70は、速度制御部10が生成したモータ30の電流指令値と、電流・位置検出部60が検出したモータ30のコイルの電流の測定値とに基づいて、d軸電流id、及び、q軸電流iqの指令値を、電流指令値として決定する。
【0015】
電流制御部20において、第1クローズドループ制御部21及び第2クローズドループ制御部22は、クローズドループ制御によりモータ30の電流を制御する。また、電流制御部20において、第1オープンループ制御部23及び第2オープンループ制御部24は、オープンループ制御によりモータ30の電流を制御する。制御切替部25は、モータ30の電流制御を行う制御部を切り替える。
【0016】
第1クローズドループ制御部21及び第2クローズドループ制御部22は、ベクトル制御によりモータ30に供給する電流を、クローズドループ制御する。第1クローズドループ制御部21及び第2クローズドループ制御部22は、ベクトル制御でモータ30に供給する電流をクローズドループ制御することにより、モータ30が発生するトルクTを変化させて所定の回転速度を維持する制御を行う。つまり、電流制御部20において第1クローズドループ制御部21及び第2クローズドループ制御部22が行うクローズドループ制御は、速度制御系のフィードバックループが有効になっている。電流制御部20は、トルクTを変化させるために、モータ30に供給するq軸電流iqを変化させる。第1クローズドループ制御部21及び第2クローズドループ制御部22は、所定の制御周期、例えば10KHzの制御周期で、q軸電流iqの電流指令値、及び、d軸電流idの指令値の計算を行う。
【0017】
第1オープンループ制御部23及び第2オープンループ制御部24は、上述した速度制御系のフィードバックループを用いず、オープンループの電流制御によりモータ30を駆動する。第1オープンループ制御部23及び第2オープンループ制御部24は、電流・位置検出部60が検出したモータ30のA相、B相それぞれのコイル電流の測定値に基づいてモータ30に供給する電流を制御する。第1オープンループ制御部23及び第2オープンループ制御部24は、所定の制御周期、例えば、10KHzの制御周期で、モータ30に供給する電流の指令値の計算を行う。
【0018】
第2オープンループ制御部24は、モータ30に発生するトルクが一定になるようにq軸電流iqおよびd軸電流idを固定値に制御することができ、クローズドループ制御からオープンループ制御に切り替え時には、その時点でのq軸電流iq、d軸電流idの合成電流と同じ大きさを保ちながら電流制限円上を電流ベクトル値が移動するようにモータ30に供給する電流を制御する。
【0019】
モータ30は、電流制御部20により制御された駆動電流により駆動力を発生させる。モータ30は、例えば、A相及びB相の2相励磁で駆動する。モータ30は、A相のコイル(不図示)及びB相のコイル(不図示)を有する。モータ30は、モータ駆動回路80から各相のコイルに駆動電力が供給されて動作する。モータ30の出力軸には、エンコーダ40が取り付けられている。
【0020】
エンコーダ40は、例えば、モータ30の出力軸が回転することに応じてA相、B相の2相のパルス信号を電流・位置検出部60に出力する、インクリメンタル形の場合のロータリエンコーダである。なお、エンコーダ40の出力相は、2相に限定されず、例えば、1相や3相であってもよい。また、エンコーダ40は、インクリメンタル形のロータリエンコーダに限定されない。エンコーダ40は、例えば、モータ30の出力軸の複数回転にわたる回転角度を特定して出力するアブソリュート型のロータリエンコーダであってもよい。
【0021】
電流・位置検出部60は、エンコーダ40が出力したA相、B相のパルス信号に基づいてモータ30の出力軸の回転速度及び回転位置を検出する。電流・位置検出部60は、検出した回転速度を速度制御部10に出力する。以上のように、モータ制御装置1において、エンコーダ40及び電流・位置検出部60は、モータ30の回転速度及び回転位置を検出する速度・位置検出センサとして機能する。また、電流・位置検出部60は、モータ30のA相、B相それぞれのコイルに発生する電流の測定値を検出する。
【0022】
モータ駆動回路80は、d軸電流id、及び、q軸電流iqを、モータ30のA相、B相それぞれのコイル電流に変換する。モータ駆動回路80は、変換したA相、B相それぞれのコイル電流をモータ30に出力する。
【0023】
図2は、モータ制御装置1による、d軸電流id=0のクローズドループ制御における電流ベクトルの一例を示す図である。
図3、
図4、
図5、及び、
図6は、モータ制御装置1による、モータ30に供給するd軸電流idとq軸電流iqを合成した電流が一定値とする場合のクローズドループ制御における電流ベクトルの一例を示す図である。
図7は、モータ制御装置1による、q軸電流iq=0、d軸電流id=固定値のオープンループ制御における電流ベクトルの一例を示す図である。
図8は、モータ制御装置1による、iq,id=固定値の定トルクオープンループ制御における電流ベクトルの一例を示す図である。
【0024】
以下の説明で参照する
図2から
図8において、符号CCが電流制御円を示し、符号TCがモータ30のトルクTが一定の値になる理論曲線(以下「定トルク曲線」という)を示し、符号Ivが、モータ30に供給する電流を示す。
【0025】
次に、モータ制御装置1が実行する具体的な制御の処理について説明する。モータ制御装置1において、電流制御部20では、第1クローズドループ制御部21が、以下に説明するd軸電流id=0とするクローズドループ制御(以下「第1のクローズドループ制御」という。)を実行する。電流制御部20では、第2クローズドループ制御部22が、以下に説明するd軸電流idとq軸電流iqとの合成電流が一定となるように、クローズドループ制御(以下「第2のクローズドループ制御」という。)を実行する。電流制御部20では、第1オープンループ制御部23が、以下に説明するq軸電流iq=0、d軸電流id=固定値とするオープンループ制御(以下「第1のオープンループ制御」という。)を実行する。電流制御部20では、第2オープンループ制御部24が、以下に説明するd軸電流id=固定値、q軸電流iq=固定値としてモータ30のトルクTを一定にするオープンループ制御(以下「第2のオープンループ制御」という。)を実行する。電流制御部20では、制御切替部25が、上記4つの制御部を切り替える。
【0026】
図2に示す、モータ制御装置1が備える電流制御部20における第1クローズドループ制御部21が実行する第1のクローズドループ制御とは、ベクトル制御においてd軸電流id=0となるようにd軸電流の指令値を固定し、q軸電流iqの指令値のみを変化させることで、モータ30に供給する電流Ivを制御してモータ30の回転速度を一定に保つ。第1クローズドループ制御部21は、第1のクローズドループ制御を実行してモータ30に供給する電流Ivを制御することにより、モータ30の回転数を一定に保つ。
【0027】
図4及び
図5に示す、モータ制御装置1が備える電流制御部20における第2クローズドループ制御部22が実行する第2のクローズドループ制御とは、第1クローズドループ制御部21が実行する第1のクローズドループ制御と同様に、速度制御、すなわち、モータ30の回転速度を一定に保つクローズドループ制御を行う。
図4に示す電流ベクトルの一例は、第2クローズドループ制御部22が実行する第2のクローズドループ制御において、クローズドループ制御からオープンループ制御に移行する際、またはオープンループ制御からクローズドループ制御に移行する際に、d軸電流idとq軸電流iqとの合成電流である電流Ivが一定の電流となるようにそれぞれの指令値を制御する例を示している。第2クローズドループ制御部22が実行するクローズドループ制御では、d軸電流idとq軸電流iqとの合成電流である電流Ivが一定の電流となるようにそれぞれの指令値を制御する。具体的には、第2クローズドループ制御部22では、
図5に示すように、オープンループ制御からクローズドループ制御に移行する際に、電流制限円CC上を矢印A3方向に移動するように、モータ30を駆動する電流Ivを決定することができる。第2クローズドループ制御部22が実行する第2のクローズドループ制御では、速度制御系によるフィードバックが行われるため、モータ30の出力軸への負荷トルクに応じてq軸電流iqが変化する。q軸電流iqは、モータ30の出力軸の回転速度のフィードバック量によって決定される。d軸電流idは、決定されたq軸電流iqに合わせて、電流Ivが一定となるように決定される。例えば、Iaを定格電流としたとき、d軸電流idは、下記の式(1)で決定される。
【0028】
【0029】
図3に示す電流ベクトルの一例は、第2クローズドループ制御部22が実行する第2のクローズドループ制御において、クローズドループ制御からオープンループ制御に移行する際に、d軸電流id=固定値としてq軸電流iqの値のみ変化する場合を示している。
図6に示す電流ベクトルの一例は、第2クローズドループ制御部22が実行する第2のクローズドループ制御において、d軸電流id=固定値としてiqの値のみ変化する場合を示している。第2クローズドループ制御部22は、一定の減少量をもってd軸電流を減少させる。q軸電流は速度系のクローズドループで決定される。第2クローズドループ制御部22はd軸電流を減少させていき、d軸電流id=0に到達すると、
図2の状態に遷移する。
【0030】
図3に示すように、第2クローズドループ制御部22では、
図4に示した第2のクローズドループ制御に移行する前に、d軸電流id=固定値とするクローズドループ制御を行う。また、
図6に示すように、第2クローズドループ制御部22ではd軸電流id=固定値とするクローズドループ制御を行う。第2クローズドループ制御部22では、d軸電流idを固定値(id>0)とするときに、q軸電流iqをモータ30の出力軸の回転速度のフィードバック量によって決定する。q軸電流iqは、具体的には以下のように決定される。
【0031】
モータ制御装置1が実行するフィードバック制御におけるベクトル制御の一般式は、以下の式(2)の行列式で表される。
【0032】
【0033】
式(2)において、電気子電圧のd軸成分をvd、電気子電圧のq軸成分をvq、モータ30のコイルの巻き抵抗をRa、d軸のインダクタンスをLd、q軸のインダクタンスをLq、電気角速度をω、d軸電流をid、q軸電流をiq、磁束鎖交数をΨa、微分演算子をpとする。
【0034】
また、モータ30が発生するトルクTは、以下の式(3)で表される。式(3)において、Pnを極対数とする。
【0035】
【0036】
式(3)をq軸電流iqについて解くと次の式(4)となる。つまり、モータ制御装置1において、第2クローズドループ制御部22では、モータ30のトルクTが一定(固定)となる条件では、式(4)を満たすようなd軸電流id及びq軸電流iqの組み合わせにより、
図3及び
図6に示す定トルク曲線TC上を移動するように、モータ30を駆動する電流Ivを決定することができる。具体的には、第2クローズドループ制御部22では、
図3に示すように、クローズドループ制御からオープンループ制御に移行する際に、定トルク曲線TC上を矢印A2方向に移動するように、モータ30を駆動する電流Ivを決定することができる。また、第2クローズドループ制御部22では、
図6に示すように、オープンループ制御からクローズドループ制御に移行する際に、定トルク曲線TC上を矢印A4方向に移動するように、モータ30を駆動する電流Ivを決定することができる。
【0037】
【0038】
図3及び
図6に示す、d軸電流idを固定値として第2クローズドループ制御部22が実行する第2のクローズドループ制御では、速度制御系によるフィードバックが行われるため、モータ30の出力軸への負荷トルクに応じてq軸電流iqが変化する。q軸電流iqは、モータ30の出力軸の回転速度のフィードバック量によって決定される。q軸電流iqと電流Ivとが一定の値であることにより、d軸電流idは、一定の固定値となるように決定される。
【0039】
図7に示すように、モータ制御装置1が備える電流制御部20における第1オープンループ制御部23が実行する第1のオープンループ制御とは、q軸電流iq=0、d軸電流id=固定値となるようにq軸電流の指令値及びd軸電流の指令値を制御して、モータ30に供給する電流Ivを制御する。第1オープンループ制御部23は、第1のオープンループ制御として、速度制御系によるフィードバックを行わないで、モータ30の基本的な駆動方法であるステップ駆動に近い駆動方法で制御する。第1のオープンループ制御において、第1オープンループ制御部23は、d軸電流idとして定格電流に近い電流が流れるように指令値を制御する。
【0040】
図8に示すように、モータ制御装置1が備える電流制御部20における第2オープンループ制御部24が実行する第2のトルクオープンループ制御とは、第1のオープンループ制御と同様にオープンループ制御である。第2のオープンループ制御では、モータ30が発生するトルクが一定となるように、d軸電流id、及び、q軸電流iqを一定の電流、例えば、d軸電流idとq軸電流iqとの合成電流である電流Ivが定格電流となるように制御する。第2のオープンループ制御でも、速度制御系によるフィードバック制御が行われない。具体的には、第2オープンループ制御部24では、
図8に示すように、オープンループ制御からクローズドループ制御に移行する際に、電流制限円CC上を矢印A1方向に移動するように、モータ30を駆動する電流Ivを決定することができる
【0041】
第2のクローズドループ制御と第2のオープンループ制御との違いは、第2のクローズドループ制御では速度制御系のクローズドループ制御で制御される点である。このため、第2のクローズドループ制御では、モータ30の出力軸への負荷トルクに応じてq軸電流iqとd軸電流idが動的に変化する。
【0042】
次に、モータ制御装置1が実行する、クローズドループ制御からオープンループ制御への切り替え処理を説明する。
【0043】
図9は、モータ制御装置1が実行するモータ駆動制御方法における、クローズドループ制御からオープンループ制御への切り替え処理の一具体例を示すフローチャートである。
【0044】
モータ制御装置1では、電流制御部20における第1クローズドループ制御部21が、
図2で示した第1のクローズドループ制御、すなわち、d軸電流id=0となるクローズドループ制御でモータ30を制御している(ステップS101)。第1のクローズドループ制御では、通常のベクトル制御でモータ30を制御している状態である。モータ制御装置1は、例えば、上位システムからオープンループ制御への切り替え指令を受信すると、駆動制御部70が第1クローズドループ制御部21を制御する制御状態から第2クローズドループ制御部22を制御する制御状態に切り替わるとともに制御切替部25によって第2クローズドループ制御部22を出力する状態に切り替え、
図3で示した第2のクローズドループ制御におけるd軸電流id=固定値とする制御状態に遷移する。
【0045】
モータ制御装置1は、制御状態の遷移により、第2のクローズドループ制御、すなわち、
図3で示したd軸電流idとq軸電流iqとの合成電流が一定となるクローズドループ制御でモータ30を制御している(ステップS102)。第2のクローズドループ制御では、d軸電流id=0の状態から一定の増加量をもってd軸電流idを増加させる。q軸電流iqは、速度制御系のクローズドループ制御で、具体的には上述した式(4)で決定される。モータ制御装置1は、d軸電流idを増加させていき、d軸電流idとq軸電流iqの合成電流である電流Ivが定格電流Iaに一致(
図3に示す電流制限円CC)に到達する。この時、電流Ivは定トルク曲線TCと電流制限円CCの交点に位置し、第2のクローズドループ制御から第2のオープン制御への切り替えタイミングとなる。
【0046】
この切り替えタイミングで駆動制御部70が第2クローズドループ制御部22を制御する制御状態から第2オープンループ制御部24を制御する制御状態に切り替わるとともに、制御切替部25によって第2オープンループ制御部24を出力状態に切り替える。つまり、モータ制御装置1は、速度制御系のクローズドループを停止し、
図8で示した第2のオープンループ制御の制御状態に遷移する。
【0047】
モータ制御装置1は、
図8で示した、第2のオープンループ制御、すなわち、q軸電流iq=固定値、d軸電流id=固定値となる定トルクのオープンループ制御でモータ30を制御している(ステップS103)。
図8で示した第2のオープンループ制御では、
図8で示した状態からd軸電流idとq軸電流iqとの合成電流である電流Iv=Iaの値を一定に保ちつつ、q軸電流iqを0まで減少させる。モータ制御装置1では、q軸電流iqが0に到達すると、
図7で示した、q軸電流iq=0、d軸電流id=固定値となる第1のオープンループ制御に遷移する。
【0048】
モータ制御装置1は、第1のオープンループ制御、すなわち、
図7で示したq軸電流iq=0、d軸電流id=固定値とするオープンループ制御でモータ30を制御している(ステップS104)。以上のように、モータ制御装置1は、S101からS104に示したように、モータ30の電流の制御を、クローズドループ制御からオープンループ制御に移行することができる。
【0049】
次に、モータ制御装置1が実行する、オープンループ制御からクローズドループ制御への切り替え処理を説明する。
【0050】
図10は、モータ制御装置1が実行するモータ駆動制御方法における、オープンループ制御からクローズドループ制御への切り替え処理の一具体例を示すフローチャートである。
【0051】
モータ制御装置1では、電流制御部20における第1オープンループ制御部23が、第1のオープンループ制御、すなわち、
図7で示したq軸電流iq=0、d軸電流id=固定値とするオープンループ制御でモータ30を制御している(ステップS201)。モータ制御装置1は、例えば、上位システムからクローズドループ制御への切り替え指令を受信すると、駆動制御部70が第1オープンループ制御部23を制御する制御状態から第2クローズドループ制御部22を制御する制御状態に切り替わるとともに、制御切替部25によって第2クローズドループ制御部22を出力する状態に切り替え、
図5で示した第2のクローズドループ制御におけるd軸電流idとq軸電流iqとの合成電流が一定の値となる制御状態に遷移する。
【0052】
モータ制御装置1は、制御状態の遷移により、第2のクローズドループ制御、すなわち、
図5で示したd軸電流idとq軸電流iqとの合成電流が一定となるクローズドループ制御でモータ30を制御する(ステップS202)。モータ制御装置1において、第1のオープンループ制御から第2のクローズドループ制御に遷移することで、速度制御系のクローズドループが有効になる。また、モータ制御装置1は、第1のオープンループ制御から第2のクローズドループ制御に切り替える際に、速度制御系のクローズドループ制御のゲインを所定の初期値、例えば0に設定する。第2クローズドループ制御部22では、初期値から段階的に通常のゲイン値となるように変化させる。仮に、モータ制御装置1において、オープンループ制御から速度制御系のクローズドループ制御に切り替える際に、第2クローズドループ制御部22で用いるゲインを急に通常の値にしてしまうと、q軸電流iqが急激に変化して振動の原因になるため、切り替えタイミングではゲインを通常の値より低い初期値に設定する。
【0053】
以上のようにモータ制御装置1において、第2クローズドループ制御部22が速度制御系のクローズドループ制御のゲインを制御することにより、ゲインの上昇に伴いq軸電流iqが上昇する。また、第2クローズドループ制御部22において速度制御系のクローズドループ制御のゲインを制御することにより、モータ30では、出力軸の負荷トルクに応じてq軸電流iqが決定される。
【0054】
つまり、第2クローズドループ制御部22において、速度制御系のクローズドループ制御のゲインを制御する。このようにゲインを制御することにより、モータ制御装置1によれば、オープンループ制御からクローズドループ制御に切り替える際に、q軸電流iqが急激に変化してモータ30で切り替え時の振動(ハンチング)が生じることを抑制することができる。
【0055】
第2クローズドループ制御部22では、速度制御系のクローズドループ制御のゲインが通常の値に到達したときに、第2のクローズドループ制御から、
図4で示したd軸電流id=固定値となる第2のクローズドループ制御の制御状態に遷移する。
【0056】
d軸電流id=固定値となる第2のクローズドループ制御では、d軸電流id>0(ゲインが通常の値に到達したときのq軸電流iq、d軸電流idの合成電流で決まる値)の状態から一定の減少量をもってd軸電流idを減少させる。q軸電流iqは、速度制御系のクローズドループで、具体的には上述した式(4)で決定される。モータ制御装置1は、d軸電流idを減少させていき、d軸電流id=0に到達すると、
図2で示した第1のクローズドループ制御の制御状態に遷移する。
【0057】
モータ制御装置1は、制御状態の遷移により、第1のクローズドループ制御、すなわち、d軸電流id=0となるクローズドループ制御でモータ30を制御している(ステップS203)。第1のクローズドループ制御は、通常のベクトル制御でモータ30を制御している状態である。以上のように、モータ制御装置1において、電流制御部20は、モータ30の電流の制御を、オープンループ制御からクローズドループ制御に切り替え時の振動(ハンチング)を抑制して移行することができる。
【0058】
以上のように構成されているモータ制御装置1は、電流制御部20における駆動制御部70が、電流指令値とモータ30の回転速度とに基づいてモータ30に供給する電流をベクトル制御により制御するクローズドループ制御、または、電流ベクトル値に基づいてモータ30に供給する電流を制御するオープンループ制御を切り替える。電流制御部20を有するモータ制御装置1によれば、上述した
図9及び
図10に示すような遷移によりクローズドループ制御とオープンループ制御とを切り替えることにより、切り替え時に生じる振動(ハンチング)を抑制することができる。
【0059】
その他、当業者は、従来公知の知見に従い、本発明を適宜改変することができる。かかる改変によってもなお本発明の構成を具備する限り、勿論、本発明の範疇に含まれるものである。
【0060】
なお、モータ制御装置1において、オープンループ制御とクローズドループ制御との切り替えの基準は、上述したように上位システムからの切り替え指令によるものに限定されない。モータ制御装置1において、オープンループ制御とクローズドループ制御との切り替えの基準は、例えば、モータ30の出力軸の回転速度が所定の回転速度に達した場合などの所定の基準、タイミングであってもよい。
【符号の説明】
【0061】
1:モータ制御装置、10:速度制御部、20:電流制御部、21:第1クローズドループ制御部、22:第2クローズドループ制御部、23:第1オープンループ制御部、24:第2オープンループ制御部、25:制御切替部、30:モータ、40:エンコーダ、60:電流・位置検出部、70:駆動制御部、80:モータ駆動回路、CC:電流制限円、Ia:定格電流、Iv:電流、T :トルク、TC:定トルク曲線、id:d軸電流、iq:q軸電流、Pn:極対数