JP2019083676A - モータ駆動制御装置 - Google Patents
モータ駆動制御装置 Download PDFInfo
- Publication number
- JP2019083676A JP2019083676A JP2018177308A JP2018177308A JP2019083676A JP 2019083676 A JP2019083676 A JP 2019083676A JP 2018177308 A JP2018177308 A JP 2018177308A JP 2018177308 A JP2018177308 A JP 2018177308A JP 2019083676 A JP2019083676 A JP 2019083676A
- Authority
- JP
- Japan
- Prior art keywords
- phase
- ref
- electrical angle
- value
- dead time
- 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
Links
Landscapes
- Control Of Ac Motors In General (AREA)
- Control Of Motors That Do Not Use Commutators (AREA)
- Inverter Devices (AREA)
Abstract
【課題】モータの相電流の検出および複雑な座標変換処理を行うことなく、簡単にデッドタイム補償を行う。【解決手段】PWMインバータ3を用いてモータ2を駆動制御するモータ駆動制御装置4は、デッドタイム補償部44を備える。デッドタイム補償部44は、PWMインバータ3において直列接続された各スイッチング素子の同時オンを回避するためのデッドタイムを設けることによって生じる、PWMインバータ3の出力電圧の誤差を補償するための補償量を求め、補償量を加味した電圧指令をPWMインバータ3に出力する。デッドタイム補償部44は、モータ2に流れる電流が追従すべき電流のベクトルを示す電流指令ベクトルの大きさに基づいて補償量を求める。電流指令ベクトルは、モータ2の回転子に同期した座標系、または、それに準ずる座標系で定義されたベクトルである。【選択図】図1
Description
本発明は、モータ駆動制御装置に関する。
モータに駆動電圧を出力するインバータ回路では、直列接続された上下段の各スイッチング素子のオンオフの切り替えの際に、上記各スイッチング素子が同時にオンして短絡しないようにするため、通常、上記各スイッチング素子の両方がオフとなる期間が設けられる。上記期間は、一般にデッドタイムと呼ばれる。デッドタイムのタイミングでは、モータのインダクタンスおよびインバータ回路の還流ダイオードによって、電流が流れ続けようとする。そして、電流が流れる向きによっては、インバータ回路からモータに出力させたい電圧と、実際にモータに出力される電圧との間に差が生じる。上記の差のことを、以下では、「出力電圧の誤差」と称する。従来、デッドタイムを設けることによって生じる上記出力電圧の誤差を補償する、デッドタイム補償が一般的に行われている。
例えば特許文献1および2では、3相の各電圧指令値に対して各相のデッドタイム補償量をそれぞれ加算または減算し、加算または減算後の各電圧指令値をPWM(Pulse Width Modulation;パルス幅変調)回路に入力し、PWM制御によってインバータ回路の各スイッチング素子(例えばトランジスタ)をオンオフすることにより、デッドタイム補償を行う技術が開示されている。
特に、特許文献1では、デッドタイム補償を行うにあたって、2相の電流指令値id*、iq*から3相の電流指令値iu*、iv*、iw*を算出し、3相の電流指令値iu*、iv*、iw*を用いてデッドタイム補償量ed(iu*)、ed(iv*)、ed(iw*)を算出する構成が開示されている。さらに、特許文献1では、インバータ回路の実際の出力電流値(3相分)を検出し、2相の電流指令値id*、iq*と実際の出力電流値(3相から2相に座標変換した電流値)との電流誤差を算出して、上記電流誤差に応じた電圧指令値ed*、eq*を出力し、電圧指令値ed*、eq*を3相の電圧指令値eu*、ev*、ew*に変換し、電圧指令値eu*、ev*、ew*にデッドタイム補償量ed(iu*)、ed(iv*)、ed(iw*)をそれぞれ加算する構成も開示されている。
また、特許文献2では、PWMパルスがオンからオフに変化する区間であるか、オフからオンに変化する区間であるかの判別結果と、モータの電流検出値とに基づいて、電圧指令に対してデッドタイム補償電圧を加算または減算して補償後電圧指令を生成する構成が開示されている。
従来では、デッドタイム補償を行うにあたって、特許文献1および2のように、インバータ回路の出力電流値(モータの電流検出値)の取得、言い換えれば、モータの相電流の検出が必要であった。さらに、特許文献1では、デッドタイム補償を行うにあたって、2相の電流指令値id*、iq*を3相の電流指令値iu*、iv*、iw*に変換する複雑な座標変換処理が必要であった。このため、従来では、デッドタイム補償を簡単に行うことができなかった。
本発明は、上記の点に鑑み、モータの相電流の検出および複雑な座標変換処理を行うことなく、簡単にデッドタイム補償を行うことができるモータ駆動制御装置を提供することを目的とする。
本発明の例示的なモータ駆動制御装置は、電圧指令をPWMパルスに変換し、前記PWMパルスによって直列接続された各スイッチング素子のオンオフを切り替えることにより、モータに電圧を出力するPWMインバータを用いて前記モータを駆動制御するモータ駆動制御装置であって、前記PWMインバータにおいて前記直列接続された各スイッチング素子の同時オンを回避するためのデッドタイムを設けることによって生じる、前記PWMインバータの出力電圧の誤差を補償するための補償量を求め、前記補償量を加味した前記電圧指令を前記PWMインバータに出力するデッドタイム補償部を備え、前記デッドタイム補償部は、前記モータに流れる電流が追従すべき電流のベクトルを示す電流指令ベクトルの大きさに基づいて、前記補償量を求め、前記電流指令ベクトルは、前記モータの回転子に同期した座標系、または、それに準ずる座標系で定義されたベクトルである。
上記構成によれば、相電流の検出、および電流指令に関する複雑な座標変換処理を行うことなく、簡単にデッドタイム補償を行うことができる。
以下、本発明の例示的な実施形態について、図面を参照しながら詳細に説明する。なお、本実施形態では、電圧指令の値(電圧指令値)を、単に電圧指令とも呼び、電流指令の値(電流指令値)を、単に電流指令とも呼ぶ。
<モータ駆動システムの概略の構成>
図1は、本発明の例示的な実施形態に係るモータ駆動システム1の全体の構成を示すブロック図であり、図2は、モータ駆動システム1の一部の構成を示す回路図である。モータ駆動システム1は、モータ2と、PWMインバータ3と、モータ駆動制御装置4と、直流電源5と、位置センサ6と、を備える。なお、モータ駆動制御装置4の詳細については後述する。直流電源5は、図2に示すように、負出力端子5bを低電圧側として、正出力端子5aと負出力端子5bとの間に直流電圧を出力する。
図1は、本発明の例示的な実施形態に係るモータ駆動システム1の全体の構成を示すブロック図であり、図2は、モータ駆動システム1の一部の構成を示す回路図である。モータ駆動システム1は、モータ2と、PWMインバータ3と、モータ駆動制御装置4と、直流電源5と、位置センサ6と、を備える。なお、モータ駆動制御装置4の詳細については後述する。直流電源5は、図2に示すように、負出力端子5bを低電圧側として、正出力端子5aと負出力端子5bとの間に直流電圧を出力する。
モータ2は、例えば3相ブラシレスDCモータ(BLDCモータ)で構成される。より具体的には、モータ2は、図2に示すように、永久磁石が設けられた回転子21と、U相、V相およびW相の電機子巻線22u、22vおよび22wが設けられた固定子22と、を備える。電機子巻線22u、22vおよび22wは、中性点23を中心にY結線される。電機子巻線22u、22vおよび22wにおいて、中性点23とは反対側の非結線端は、端子24u、24vおよび24wにそれぞれ接続される。
PWMインバータ3は、パワー部31と、PWM回路32と、を備える。PWM回路32は、モータ駆動制御装置4から出力される電圧指令Vu_ref’、Vv_ref’およびVw_ref’に基づいて、パワー部31をPWM制御する。なお、電圧指令Vu_ref’、Vv_ref’およびVw_ref’は、後述する手法で取得されるデッドタイムの補償量を加味した電圧指令である。
パワー部31は、U相用のハーフブリッジ回路、V相用のハーフブリッジ回路およびW相用のハーフブリッジ回路を備える。各ハーフブリッジ回路は、一対のスイッチング素子を有する。各ハーフブリッジ回路において、一対のスイッチング素子は、直流電源5の正出力端子5aと負出力端子5bとの間に直列接続され、各ハーフブリッジ回路に直流電源5からの直流電圧が印加される。各スイッチング素子は、例えば電界効果トランジスタで構成されるが、IGBT(絶縁ゲートバイポーラトランジスタ)などの他のトランジスタで構成されてもよい。
U相用のハーフブリッジ回路は、互いに直列に接続される高電圧側のスイッチング素子33uと、低電圧側のスイッチング素子34uと、を備える。V相用のハーフブリッジ回路は、互いに直列に接続される高電圧側のスイッチング素子33vと、低電圧側のスイッチング素子34vと、を備える。W相用のハーフブリッジ回路は、互いに直列に接続される高電圧側のスイッチング素子33wと、低電圧側のスイッチング素子34wと、を備える。
高電圧側のスイッチング素子33u、33vおよび33wには、直流電源5の低電圧側から高電圧側に向かう方向を順方向としてダイオード35u、35vおよび35wがそれぞれ並列に接続される。同様に、低電圧側のスイッチング素子34u、34vおよび34wには、直流電源5の低電圧側から高電圧側に向かう方向を順方向としてダイオード36u、36vおよび36wがそれぞれ並列に接続される。各ダイオード35u、35v、35w、36u、36vおよび36wは、還流ダイオード(フリーホイールダイオード)として機能する。
直列接続されたスイッチング素子33uとスイッチング素子34uとの接続点は、端子24uと接続される。同様に、直列接続されたスイッチング素子33vとスイッチング素子34vとの接続点は、端子24vと接続され、直列接続されたスイッチング素子33wとスイッチング素子34wとの接続点は、端子24wと接続される。
PWM回路32は、3相(U相、V相およびW相)の電圧指令Vu_ref’、Vv_ref’およびVw_ref’に基づいて、各相に対するPWMパルス(パルス幅変調信号)を生成し、上記PWMパルスをパワー部31の各スイッチング素子の制御端子(ゲートまたはベース)に与える。これにより、上記各スイッチング素子のオン(導通)とオフ(非導通)とを切り替えることができる。
したがって、直流電源5からの直流電圧は、PWMインバータ3において、上記PWMパルスに応じた各スイッチング素子のスイッチング動作によって、モータ2に電圧が印加されることにより、モータ2の各電機子巻線22u、22vおよび22wに、3相の電圧に応じた電流が流れてモータ2が駆動される。なお、上記各スイッチング素子のスイッチング動作と、モータ2に流れる電流(相電流)との関係については後述する。
以上のことから、本実施形態のPWMインバータ3は、電圧指令Vu_ref’、Vv_ref’およびVw_ref’をPWMパルスに変換し、PWMパルスによって直列接続された各スイッチング素子のオンオフを切り替えることにより、モータ2に電圧を出力する構成であるといえる。
図1で示した位置センサ6は、モータ2の回転子21の回転位置に応じた信号を出力するセンサであり、例えばロータリーエンコーダやホール素子を用いる。位置センサ6から出力される信号は、後述するモータ駆動制御装置4に入力される。
<各スイッチング素子のスイッチング動作と相電流との関係>
次に、PWMインバータ3のパワー部31内の各スイッチング素子のスイッチング動作と、モータ2の相電流との関係について説明する。なお、以下では説明の便宜上、パワー部31内の低電圧側の各スイッチング素子34u、34vおよび34wと、直流電源5の負出力端子5bとを結ぶ線路を、母線Gと呼ぶ。そして、母線Gを流れる電流を、母線電流と呼ぶ。また、モータ2の電機子巻線22u、22vおよび22wに流れる電流を、それぞれU相電流、V相電流およびW相電流と呼び、それらのそれぞれを(またはそれらを総称して)、相電流と呼ぶ。相電流の極性については、端子24u、24vまたは24wから中性点23に流れ込む方向の相電流の極性を正とし、中性点23から流れ出す方向の相電流の極性を負とする。
次に、PWMインバータ3のパワー部31内の各スイッチング素子のスイッチング動作と、モータ2の相電流との関係について説明する。なお、以下では説明の便宜上、パワー部31内の低電圧側の各スイッチング素子34u、34vおよび34wと、直流電源5の負出力端子5bとを結ぶ線路を、母線Gと呼ぶ。そして、母線Gを流れる電流を、母線電流と呼ぶ。また、モータ2の電機子巻線22u、22vおよび22wに流れる電流を、それぞれU相電流、V相電流およびW相電流と呼び、それらのそれぞれを(またはそれらを総称して)、相電流と呼ぶ。相電流の極性については、端子24u、24vまたは24wから中性点23に流れ込む方向の相電流の極性を正とし、中性点23から流れ出す方向の相電流の極性を負とする。
図3は、モータ2に印加される3相の交流電圧の波形の一例を示す説明図である。図3において、25u、25vおよび25wは、それぞれ、モータ2に印加されるべきU相電圧、V相電圧およびW相電圧の波形を表す。なお、U相電圧、V相電圧およびW相電圧のそれぞれを(またはそれらを総称して)、相電圧とも呼ぶ。モータ2に正弦波状の電流を流す場合、PWMインバータ3の出力電圧は、正弦波状とされる。
図3に示すように、U相電圧、V相電圧およびW相電圧の間の電圧レベルの高低関係は、時間の経過とともに変化する。上記高低関係は、3相の電圧指令Vu_ref’、Vv_ref’およびVw_ref’によって定まり、PWMインバータ3は、3相の電圧指令Vu_ref’、Vv_ref’およびVw_ref’に基づいて、各相に対する通電パターンを決定する。
ここで、上記通電パターンには、以下の8通りがある。第1の通電パターンは、U、VおよびW相の低電圧側のスイッチング素子34u、34vおよび34wが全てオンとなる通電パターンである。第2の通電パターンは、W相の高電圧側のスイッチング素子33wがオンとなり、かつ、U相およびV相の低電圧側のスイッチング素子34uおよび34vがオンとなる通電パターンである。第3の通電パターンは、V相の高電圧側のスイッチング素子33vがオンとなり、かつ、W相およびU相の低電圧側のスイッチング素子34wおよび34uがオンとなる通電パターンである。第4の通電パターンは、V相およびW相の高電圧側のスイッチング素子33vおよび33wがオンとなり、かつ、U相の低電圧側のスイッチング素子34uがオンとなる通電パターンである。第5の通電パターンは、U相の高電圧側のスイッチング素子33uがオンとなり、かつ、V相およびW相の低電圧側のスイッチング素子34vおよび34wがオンとなる通電パターンである。第6の通電パターンは、W相およびU相の高電圧側のスイッチング素子33wおよび33uがオンとなり、かつ、V相の低電圧側のスイッチング素子34vがオンとなる通電パターンである。第7の通電パターンは、U相およびV相の高電圧側のスイッチング素子33uおよび33vがオンとなり、かつ、W相の低電圧側のスイッチング素子34wがオンとなる通電パターンである。第8の通電パターンは、U、VおよびW相の高電圧側のスイッチング素子33u、33vおよび33wが全てオンとなる通電パターンである。
なお、同一の相の(直列接続された)2つのスイッチング素子において、高電圧側のスイッチング素子と低電圧側のスイッチング素子との同時オンによる短絡を回避するためのデッドタイムを無視すると、高電圧側のスイッチング素子がオンである期間、低電圧側のスイッチング素子はオフであり、高電圧側のスイッチング素子がオフである期間、低電圧側のスイッチング素子はオンである。
実際には、各スイッチング素子のオンオフの切り替えの際に上記デッドタイムが設けられるが、デッドタイムの期間では、同一の相の高電圧側のスイッチング素子と低電圧側のスイッチング素子とは、同時にオフとなる。また、デッドタイムを設けることにより、PWMインバータ3からモータ2に出力される電圧に、出力させたい電圧(電圧指令)との間で誤差(出力電圧の誤差)が生じることは前述の通りである。本実施形態では、後述するデッドタイム補償部44によって出力電圧の誤差が補償される。
図4は、3相分のPWM制御を行う場合の、各相電圧の電圧レベルとキャリア信号との関係、および各スイッチング素子に与えられるPWMパルスの波形を示す説明図である。なお、ここでは、説明を簡略化する目的で、上記のデッドタイムを無視している。また、図4中の「高電圧側SW」および「低電圧側SW」は、それぞれ、高電圧側のスイッチング素子および低電圧側のスイッチング素子を指す。各相電圧の電圧レベルの高低関係は様々に変化するが、説明の具体化のため、図4では、図3における任意のタイミング26に着目している。すなわち、図4は、U相電圧の電圧レベルが最大で、かつ、W相電圧の電圧レベルが最小である場合を示している。
図4において、符号CSは、各相電圧の電圧レベルと比較されるキャリア信号を表す。キャリア信号は、周期的な三角波信号となっており、その信号の周期をキャリア周期という。なお、キャリア周期は、図3に示す3相の交流電圧の周期よりも遥かに短いため、仮に図4に示すキャリア信号の三角波を図3上で表すと、その三角波は1本の線となって見える。
図5A〜図5Dは、図4の各タイミングにおける、電機子巻線周辺の等価回路である。各キャリア周期の開始タイミング、つまり、キャリア信号が最低レベルにあるタイミングをT0とする。タイミングT0において、各相の高電圧側のスイッチング素子33u、33vおよび33wはオンとされる。
なお、キャリア周期からタイミングT1とT6との間の期間を除いた期間は、W相の高電圧側のスイッチング素子に対するPWMパルスのパルス幅を表し、キャリア周期からタイミングT2とT5との間の期間を除いた期間は、V相の高電圧側のスイッチング素子に対するPWMパルスのパルス幅を表し、キャリア周期からタイミングT3とT4との間の期間を除いた期間は、U相の高電圧側のスイッチング素子に対するPWMパルスのパルス幅を表す。
以上では、電圧レベルの大小関係がU相電圧>V相電圧>W相電圧の順になる場合を例として説明したが、電圧レベルの大小関係が他の順となる場合でも、上記と同様のPWM制御により、モータ2の相電流を制御することができる。
<電圧指令のカウンタ制御について>
U相、V相およびW相の電圧指令Vu_ref’、Vv_ref’およびVw_ref’は、具体的には、PWM回路32内の不図示のカウンタ(タイマ)のカウント設定値CntU、CntVおよびCntWとして表される。そして、相電圧が高いほど、大きなカウント設定値が与えられる。例えば、図4の場合には、CntU>CntV>CntW、が成立する。
U相、V相およびW相の電圧指令Vu_ref’、Vv_ref’およびVw_ref’は、具体的には、PWM回路32内の不図示のカウンタ(タイマ)のカウント設定値CntU、CntVおよびCntWとして表される。そして、相電圧が高いほど、大きなカウント設定値が与えられる。例えば、図4の場合には、CntU>CntV>CntW、が成立する。
上記のカウンタは、キャリア周期ごとに、タイミングT0を基準として、カウント値を0からアップカウントする。そして、上記カウント値がCntWに達した時点で、W相の高電圧側のスイッチング素子33wがオンの状態から、低電圧側のスイッチング素子34wがオンの状態に切り替えられる。続いて、上記カウント値がCntVに達した時点で、V相の高電圧側のスイッチング素子33vがオンの状態から、低電圧側のスイッチング素子34vがオンの状態に切り替えられる。その後、上記カウント値がCntUに達した時点で、U相の高電圧側のスイッチング素子33uがオンの状態から、低電圧側のスイッチング素子34uがオンの状態に切り替えられる。キャリア信号が最大レベルに達した後は、上記カウント値はダウンカウントされ、逆の切り替え動作が行われる。
図4に示す三角波のキャリア信号を用いた場合、キャリア周期の半分の時点で、アップカウントからダウンカウントに折り返される。上記のアップカウントおよびダウンカウントは、所定のクロックに同期して行われる。
U相、V相およびW相の電圧指令Vu_ref’、Vv_ref’およびVw_ref’に相当するカウント設定値CntU、CntVおよびCntWにより、各相に対するPWMパルスのパルス幅(およびデューティ)が生成される。
<各種定義について>
次に、上述したモータ駆動制御装置4の詳細について説明する前に、各種の定義を以下に示す。図6Aおよび図6Bは、モータ2の解析モデルを示す説明図である。U相軸、V相軸およびW相軸は固定軸であり、電気角で互いに120°ずつずれている。21aは、モータ2の回転子21に設けられた永久磁石である。永久磁石21aが作る磁束と同じ速度で回転する回転座標系において、永久磁石21aが作る磁束の方向をd軸にとり、d軸から電気角で90°進んだ位相にq軸をとる。d軸およびq軸を持つ座標系をdq座標系と呼び、d軸およびq軸を座標軸に選んだ座標を、dq座標と呼ぶ。dq座標系は、モータ2の回転子21に同期した座標系である。
次に、上述したモータ駆動制御装置4の詳細について説明する前に、各種の定義を以下に示す。図6Aおよび図6Bは、モータ2の解析モデルを示す説明図である。U相軸、V相軸およびW相軸は固定軸であり、電気角で互いに120°ずつずれている。21aは、モータ2の回転子21に設けられた永久磁石である。永久磁石21aが作る磁束と同じ速度で回転する回転座標系において、永久磁石21aが作る磁束の方向をd軸にとり、d軸から電気角で90°進んだ位相にq軸をとる。d軸およびq軸を持つ座標系をdq座標系と呼び、d軸およびq軸を座標軸に選んだ座標を、dq座標と呼ぶ。dq座標系は、モータ2の回転子21に同期した座標系である。
回転するd軸およびq軸の任意の瞬間でのdq座標において、ある基準軸A(固定軸)に対するd軸もしくはq軸の位相を、θ(電気角位相)で表す。本実施形態では、ある基準軸AをU相軸とし、U相軸に対するq軸の位相を、θ(電気角位相)で表す。すなわち、基準軸Aは、例えば回転子21の電気角位相を−180°から+180°の範囲で表したときに、電気角位相0°に対応する。なお、U相軸と基準軸Aとの電気角でのズレをθaとすると、ズレθaは、モータ駆動システム1によって決まっており、本実施形態では、例えば電気角で0°である。このズレθaの情報は、例えばモータ駆動制御装置4の図示しないメモリに記憶されてもよい。
また、PWMインバータ3からモータ2に印加される全体のモータ電圧をVaで表し、PWMインバータ3からモータ2に供給される全体のモータ電流をIaで表す。そして、モータ電圧Vaのd軸成分およびq軸成分を、それぞれd軸電圧vdおよびq軸電圧vqで表し、モータ電流Iaのd軸成分およびq軸成分を、それぞれd軸電流idおよびq軸電流iqで表す。
また、d軸電圧vdおよびq軸電圧vqに対する指令値(電圧指令値)を、それぞれ、d軸電圧指令vd_refおよびq軸電圧指令vq_refで表す。d軸電圧指令vd_refおよびq軸電圧指令vq_refは、それぞれ、d軸電圧vdおよびq軸電圧vqが追従すべき電圧(電圧値)を表し、モータ駆動システム1内において算出される。
さらに、d軸電流idおよびq軸電流iqに対する指令値(電流指令値)を、それぞれ、d軸電流指令id_refおよびq軸電流指令iq_refで表す。d軸電流指令id_refおよびq軸電流指令iq_refは、それぞれ、d軸電流idおよびq軸電流iqが追従すべき電流(電流値)を表し、モータ駆動システム1内において算出される。
<モータ駆動制御装置の詳細について>
以上の定義を踏まえて、モータ駆動制御装置4について説明する。図1で示したモータ駆動制御装置4は、PWMインバータ3を用いてモータ2を駆動制御する制御部であり、位置検出部41と、電流制御器42と、座標変換器43と、デッドタイム補償部44と、を備える。上記モータ駆動制御装置4は、例えば中央演算処理装置(CPU;Central Processing Unit)を有するマイクロコンピュータなどで構成される。
以上の定義を踏まえて、モータ駆動制御装置4について説明する。図1で示したモータ駆動制御装置4は、PWMインバータ3を用いてモータ2を駆動制御する制御部であり、位置検出部41と、電流制御器42と、座標変換器43と、デッドタイム補償部44と、を備える。上記モータ駆動制御装置4は、例えば中央演算処理装置(CPU;Central Processing Unit)を有するマイクロコンピュータなどで構成される。
位置検出部41は、上述した位置センサ6からの出力信号に基づいて、回転子21の電気角位相θを検出する。検出した電気角位相θの情報は、回転子21の位置情報として、位置検出部41から座標変換器43およびデッドタイム補償部44に出力される。
電流制御器42は、入力されるd軸電流指令id_refおよびq軸電流指令iq_refを、d軸電圧指令vd_refおよびq軸電圧指令vq_refに変換して座標変換器43に出力する。
座標変換器43は、電流制御器42から入力されるd軸電圧指令vd_refおよびq軸電圧指令vq_refを、U相、V相およびW相の電圧指令Vu_ref、Vv_refおよびVw_refにそれぞれ変換してデッドタイム補償部44に出力する。位置検出部41からは、回転子21の電気角位相θの情報が座標変換器43に入力され、また、U相軸と基準軸Aとの電気角でのズレθaも予めわかっているため、座標変換器43は、図6Aおよび図6Bで示した関係から、回転子21の電気角位相θおよびズレθaを用いて、d軸方向およびq軸方向の各電圧指令(2相の電圧指令)を、U相軸、V相軸およびW相軸の各方向に座標変換して、U相、V相およびW相の各電圧指令(3相の電圧指令)を求めることができる。
デッドタイム補償部44は、PWMインバータ3において直列接続された各スイッチング素子の同時オンを回避するためのデッドタイムを設けることによって生じる、PWMインバータ3の出力電圧の誤差を補償するための補償量ΔVdを求め、補償量ΔVdを加味した電圧指令をPWMインバータ3に出力する。つまり、デッドタイム補償部44は、座標変換器43から入力されるU相、V相およびW相の電圧指令Vu_ref、Vv_refおよびVw_refに対して、各相ごとに補償量ΔVdを加算または減算して、各相の補償量ΔVdを加味した電圧指令Vu_ref’、Vv_ref’およびVw_ref’をそれぞれ生成し、PWMインバータ3に出力する。なお、デッドタイムを設けることによって生じる上記出力電圧の誤差を補償すること、つまり、各相の補償量ΔVdを加味した電圧指令Vu_ref’、Vv_ref’およびVw_ref’を生成することを、デッドタイム補償とも呼ぶ。
ここで、図7は、従来の一般的な補償量ΔVdの求め方を示す説明図である。例えばU相についての補償量ΔVdを考えた場合、従来は、U相電流の瞬時値(瞬間の値)を検出し、検出した電流が閾値以下では、検出した電流値に比例して補償量ΔVdを決定していた。そして、得られた補償量ΔVdをU相の電圧指令に加算または減算して、補償量ΔVdを加味した電圧指令を生成していた。一方、検出した電流が閾値を超える場合、補償量ΔVdは、一律に固定値ΔVd’とされていた。このようなデッドタイム補償では、相電流(上記の例ではU相電流)の検出が必要であるため、デッドタイム補償を容易に行うことができなかった。なお、このような補償量ΔVdの設定の仕方は、前述の特許文献2でも開示されている(特許文献2の図8参照)。
一方、図8は、本実施形態での補償量ΔVdの求め方を示す説明図である。本実施形態では、デッドタイム補償部44は、モータ2に流れる電流が追従すべき電流のベクトルを示す電流指令ベクトルI_refの大きさに基づいて、補償量ΔVdを求める。これにより、上記した相電流を検出することなく、簡単にデッドタイム補償を行うことができる。以下、本実施形態のデッドタイム補償について、さらに詳細に説明する。なお、以下では、U相、V相、W相のうち、いずれかの相(例えばU相)について補償量ΔVdを求める場合を例として説明するが、他の相についても同様の手法で補償量ΔVdを求めることができる。
図9は、電流指令ベクトルI_refを模式的に示している。電流指令ベクトルI_refは、前述したd軸電流指令id_refおよびq軸電流指令iq_refの各ベクトル成分の合成ベクトルである。電流指令ベクトルI_refの大きさを、|I_ref|とすると、|I_ref|は、以下の(1)式で表される。
|I_ref|=√{(id_ref)2+(iq_ref)2} ・・・(1)
|I_ref|=√{(id_ref)2+(iq_ref)2} ・・・(1)
ここでは、計算をより簡素化するため、図10に示すように、d軸電流指令id_refを0〔A〕として考える。つまり、デッドタイム補償部44は、d軸電流指令id_refを0〔A〕としたときの電流指令ベクトルI_refの大きさに基づいて、補償量ΔVdを求める。この場合、電流指令ベクトルI_refの大きさ(|I_ref|)は、以下の(2)式で表され、q軸電流指令iq_refの大きさそのものとなる。
|I_ref|=|iq_ref| ・・・(2)
|I_ref|=|iq_ref| ・・・(2)
具体的に、本実施形態では、|I_ref|(=|iq_ref|)を用いて以下のようにして補償量ΔVdを求める。図8において、相電流(例えばU相電流)に相当する電流波形を破線の正弦波で示す。なお、電流波形を破線で示したのは、本実施形態では、図7の場合とは異なり、相電流を検出していないためである。上記した|I_ref|(=|iq_ref|)は、図8において、相電流の電流波形の振幅に相当する。そこで、本実施形態では、補償量の予め定められた固定値をΔVd’とし、q軸電流指令を、時間tを変数としてiq_ref(t)〔A〕とし、電流閾値をith〔A〕としたとき、デッドタイム補償部44は、以下の(3)式の演算によって得られるΔVdを、補償量として決める。ただし、|I_ref|(=|iq_ref|)は、電流閾値ith未満であるとする。
ΔVd=ΔVd’×|iq_ref(t)|/ith ・・・(3)
ΔVd=ΔVd’×|iq_ref(t)|/ith ・・・(3)
なお、図8に示すように、補償量ΔVdの極性は、相電流の極性が正である期間(例えばt0〜t1の期間、t2〜t3の期間)では正となり、相電流の極性が負となる期間(例えばt1〜t2の期間、t3〜t4の期間)では負となるようにする。このような補償量ΔVdの極性は、後述の手法で求めることとし、ここでは、(3)式により、補償量ΔVdの大きさ(絶対値)を先に求める。
なお、相電流の振幅に相当する|I_ref|の値が一定の期間(図8では、t0〜t2の期間、t2〜t4の期間)では、補償量ΔVd(絶対値)は、(3)式に従って一定値をとる。そして、|I_ref|が電流閾値ith未満である場合において、例えば、|I_ref|が、t0〜t2の期間での値よりも小さくなるt2〜t4の期間では、補償量ΔVdは、t0〜t2の期間での値よりも小さくなる。逆に、|I_ref|が、t0〜t2の期間での値よりも大きくなる期間では、補償量ΔVdは、t0〜t2の期間での値よりも大きくなる。
一方、図11は、|I_ref|(=|iq_ref|)が電流閾値ith以上である場合の補償量ΔVdを示す説明図である。デッドタイム補償部44は、q軸電流指令の絶対値|iq_ref(t)|が電流閾値ith以上である場合には、固定値ΔVd’を補償量ΔVdとして決める。つまり、(3)式において、q軸電流指令の絶対値|iq_ref(t)|の代わりに、電流閾値ithを用いる。この結果、(3)式より、ΔVd=ΔVd’となる。したがって、補償量ΔVdは、|I_ref|(=|iq_ref|)が電流閾値ithを超えて大きくなっても、固定値ΔVd’を超えることはない。
以上のように、本実施形態では、デッドタイム補償部44が、d軸電流指令id_refおよびq軸電流指令iq_refの合成ベクトルである電流指令ベクトルI_refに基づいて補償量ΔVdを求めるため、従来、デッドタイム補償の際に必要であった相電流の検出が不要となる。しかも、前述の特許文献1では、デッドタイム補償を行うにあたって、2相の電流指令(例えばd軸、q軸の各電流指令)を3相の電流指令(例えばU相、V相、W相の各電流指令)に変換する複雑な座標変換処理が必要であったが、本実施形態の構成では、そのような2相−3相の電流指令の座標変換処理も不要となる。したがって、本実施形態の構成によれば、相電流の検出や電流指令の複雑な座標変換処理を行うことなく、簡単に補償量ΔVdを求めて、簡単にデッドタイム補償を行うことができる。
また、デッドタイム補償部44は、d軸電流指令id_refを0〔A〕としたときの電流指令ベクトルI_refの大きさに基づいて、補償量ΔVdを求める。この場合、電流指令ベクトルI_refの大きさは、(2)式より、q軸電流指令iq_refの大きさそのものとなるため、デッドタイム補償部44は、q軸電流指令iq_refのみに基づいて補償量ΔVdを演算できる。したがって、d軸電流指令id_refおよびq軸電流指令iq_refを両方用いて補償量ΔVdを演算する場合に比べて、補償量ΔVdの演算がより容易となり、補償量ΔVdを容易に取得できる。
また、デッドタイム補償部44は、d軸電流指令id_refを0〔A〕としたときに、上記した(3)式の演算によって得られるΔVdを、補償量として決める。固定値ΔVd’および電流閾値ithは予め決まっており、計算時には定数として扱える。また、q軸電流指令iq_ref(t)も、制御情報として存在する。したがって、デッドタイム補償部44は、複雑な処理を行うことなく、q軸電流指令の絶対値|iq_ref(t)|に比例した補償量ΔVdを求めて、デッドタイム補償を行うことができる。
また、デッドタイム補償部44は、q軸電流指令の絶対値|iq_ref(t)|を用いて補償量ΔVdを演算するため、極性を考慮することなく補償量ΔVd(絶対値)を求めることができる。補償量ΔVdの極性は、相ごと(例えばU相、V相、W相ごと)に異なるが、上記極性を後述の方法で別途求めることにより、求めた極性と上記の補償量ΔVd(絶対値)とに基づいて、デッドタイム補償を行うことができる。
また、デッドタイム補償部44は、q軸電流指令の絶対値|iq_ref(t)|が電流閾値ith以上である場合、固定値ΔVd’を補償量ΔVdとして決める。q軸電流指令の絶対値|iq_ref(t)|が電流閾値ith未満の場合、(3)式より、ΔVd<ΔVd’となる。一方、q軸電流指令の絶対値|iq_ref(t)|が電流閾値ith以上の場合、デッドタイム補償部44は、固定値ΔVd’を補償量ΔVdとするため、ΔVd=ΔVd’である。したがって、ΔVd≦ΔVd’の関係が常に維持される。つまり、上限(ΔVd’)を超えない範囲で補償量ΔVdを設定することができる。
以上では、電流指令ベクトルとして、dq座標系で定義したd軸電流指令id_refおよびq軸電流指令iq_refの各ベクトル成分の合成ベクトルを考えたが、電流指令ベクトルは、回転子21に同期した座標系、または、それに準ずる座標系で定義されたベクトルであればよく、d軸およびq軸を持つdq座標系で定義されたベクトルには限定されない。
<補償量ΔVdの極性(加算するか減算するか)を考慮したデッドタイム補償>
次に、上述した手法で求めた補償量ΔVdを、補償前の電圧指令に対して加算するか、減算するかを決める手法も含めて、本実施形態のデッドタイム補償について説明する。なお、ここでは、前述の通り、回転子21の電気角位相θを−180°から+180°の範囲とし、電気角位相θの基準を0°とする。また、電気角位相θの値が増加する(0°から+180°に向かう)回転子21の回転方向を正とし、電気角位相θの値が減少する(0°から−180°に向かう)回転子21の回転方向を負とする。また、回転速度≧0は、回転子21が正方向に回転するか、停止状態であることを指し、回転速度<0は、回転子21が負方向(正方向とは逆方向)に回転することを指す。
次に、上述した手法で求めた補償量ΔVdを、補償前の電圧指令に対して加算するか、減算するかを決める手法も含めて、本実施形態のデッドタイム補償について説明する。なお、ここでは、前述の通り、回転子21の電気角位相θを−180°から+180°の範囲とし、電気角位相θの基準を0°とする。また、電気角位相θの値が増加する(0°から+180°に向かう)回転子21の回転方向を正とし、電気角位相θの値が減少する(0°から−180°に向かう)回転子21の回転方向を負とする。また、回転速度≧0は、回転子21が正方向に回転するか、停止状態であることを指し、回転速度<0は、回転子21が負方向(正方向とは逆方向)に回転することを指す。
まず、q軸電流指令iq_ref≧0、回転速度≧0(正トルク)とした場合(条件1とする)を例として説明する。条件1では、U相電流、V相電流およびW相電流の各波形、および回転子21の電気角位相の時間経過に対する変化は、図12に示す通りとなる。なお、U相電流、V相電流およびW相電流を実際に検出するわけではないため、図12では、各相の電流波形を破線で示している。ちなみに、U相電流、V相電流およびW相電流の位相は、電気角で120°ずつずれている。
ここで、モータ2の第1の相をU相とし、第2の相をV相とし、第3の相をW相とする。そして、U相電流(ただし本実施形態では求めていない)が0〔A〕となるタイミングTaと、回転子21の電気角位相が0°になるタイミングTbとの電気角での位相差を、初期位相差θAとする。本実施形態では、初期位相差θAは、90°となっている。この90°の初期位相差θAは、システムによって予め決まっている。
図12において、回転子21の電気角位相θは、時間経過に対してリニアに変化し、この変化を周期的に繰り返す。図12で示した電気角位相θの変化を示す線をL0とする。そして、図13に示すように、線L0を、初期位相差θAに相当する量(90°)だけ、電気角位相θが増大する方向にシフトさせて得られる線をL1とする。図13より、線L1において、電気角位相θの値が0°よりも大きい期間(電気角位相θの値が正となる期間)は、U相電流の極性が正となる期間と一致し、電気角位相θの値が0°よりも小さい期間(電気角位相θの値が負となる期間)は、U相電流の極性が負となる期間と一致することがわかる。したがって、線L1を利用することにより、実際に相電流を検出しなくても、線L1が示す電気角位相θの値(極性)から、U相電流の極性を推測することが可能となる。そこで、本実施形態では、線L1に基づいて以下のようにデッドタイム補償を行う。
(U相についてのデッドタイム補償)
デッドタイム補償部44は、q軸電流指令iq_refと、位置検出部41にて検出される回転子21の電気角位相θとに基づいて、補償量ΔVdの極性を求め、これによってU相についてデッドタイム補償を行う。より具体的には、デッドタイム補償部44は、位置検出部41によって取得された回転子21の電気角位相θの値に対して初期位相差θAを加算または減算して(ここでは90°を加算して)電気角位相θの値をシフトさせ、シフトさせた電気角位相θの値が正である場合には、デッドタイム補償部44に入力される第1の相(U相)の電圧指令Vu_refに対して、補償量ΔVdにq軸電流指令iq_refの極性を掛け合わせた値を加算して出力する一方、シフトさせた電気角位相θの値が負である場合には、第1の相(U相)の電圧指令Vu_refに対して、補償量ΔVdにq軸電流指令iq_refの極性を掛け合わせた値を減算して出力する。
デッドタイム補償部44は、q軸電流指令iq_refと、位置検出部41にて検出される回転子21の電気角位相θとに基づいて、補償量ΔVdの極性を求め、これによってU相についてデッドタイム補償を行う。より具体的には、デッドタイム補償部44は、位置検出部41によって取得された回転子21の電気角位相θの値に対して初期位相差θAを加算または減算して(ここでは90°を加算して)電気角位相θの値をシフトさせ、シフトさせた電気角位相θの値が正である場合には、デッドタイム補償部44に入力される第1の相(U相)の電圧指令Vu_refに対して、補償量ΔVdにq軸電流指令iq_refの極性を掛け合わせた値を加算して出力する一方、シフトさせた電気角位相θの値が負である場合には、第1の相(U相)の電圧指令Vu_refに対して、補償量ΔVdにq軸電流指令iq_refの極性を掛け合わせた値を減算して出力する。
デッドタイム補償部44での上記の演算の結果、U相に関して、補償後の電圧指令Vu_ref’は、
シフト後の電気角位相θの値が正の場合、
Vu_ref’=Vu_ref+ΔVd×(q軸電流指令iq_refの極性)
・・・(8a)
で表され、
シフト後の電気角位相θの値が負の場合、
Vu_ref’=Vu_ref−ΔVd×(q軸電流指令iq_refの極性)
・・・(8b)
で表される。
シフト後の電気角位相θの値が正の場合、
Vu_ref’=Vu_ref+ΔVd×(q軸電流指令iq_refの極性)
・・・(8a)
で表され、
シフト後の電気角位相θの値が負の場合、
Vu_ref’=Vu_ref−ΔVd×(q軸電流指令iq_refの極性)
・・・(8b)
で表される。
条件1では、q軸電流指令iq_refの極性は正であるため、(8a)式および(8b)式より、補償後の電圧指令Vu_ref’は、以下のように表される。つまり、補償後の電圧指令Vu_ref’は、
シフト後の電気角位相θの値が正の場合、
Vu_ref’=Vu_ref+ΔVd ・・・(9a)
で表され、
シフト後の電気角位相θの値が負の場合、
Vu_ref’=Vu_ref−ΔVd ・・・(9b)
で表される。(9a)式は、補償量ΔVdの極性が正であるため、補償前の電圧指令Vu_refに対して、補償量ΔVdが加算処理されることを意味する。一方、(9b)式は、補償量ΔVdの極性が負であるため、補償前の電圧指令Vu_refに対して、補償量ΔVdが減算処理されることを意味する。
シフト後の電気角位相θの値が正の場合、
Vu_ref’=Vu_ref+ΔVd ・・・(9a)
で表され、
シフト後の電気角位相θの値が負の場合、
Vu_ref’=Vu_ref−ΔVd ・・・(9b)
で表される。(9a)式は、補償量ΔVdの極性が正であるため、補償前の電圧指令Vu_refに対して、補償量ΔVdが加算処理されることを意味する。一方、(9b)式は、補償量ΔVdの極性が負であるため、補償前の電圧指令Vu_refに対して、補償量ΔVdが減算処理されることを意味する。
一方、q軸電流指令iq_ref<0、回転速度≧0(正トルク)の場合を条件2とする。条件2では、q軸電流指令iq_refの負の極性により、補償量ΔVdの加算処理および減算処理の関係が、条件1の場合とは逆になる。
すなわち、条件2では、q軸電流指令iq_refの極性は負であるため、(8a)式および(8b)式より、補償後の電圧指令Vu_ref’は、以下のように表される。すなわち、補償後の電圧指令Vu_ref’は、シフト後の電気角位相θの値が正の場合、
Vu_ref’=Vu_ref−ΔVd ・・・(10a)
で表される。つまり、(8a)式の右辺の第2項において、+ΔVdと、q軸電流の負の極性との掛け合わせにより、補償量ΔVdの極性は負となり、トータルとして補償量ΔVdは減算処理されることになる。一方、シフト後の電気角位相θの値が負の場合、補償後の電圧指令Vu_ref’は、
Vu_ref’=Vu_ref+ΔVd ・・・(10b)
で表される。つまり、(8b)式の右辺の第2項において、−ΔVdと、q軸電流の負の極性との掛け合わせにより、補償量ΔVdの極性は正となり、トータルとして補償量ΔVdは加算処理されることになる。
Vu_ref’=Vu_ref−ΔVd ・・・(10a)
で表される。つまり、(8a)式の右辺の第2項において、+ΔVdと、q軸電流の負の極性との掛け合わせにより、補償量ΔVdの極性は負となり、トータルとして補償量ΔVdは減算処理されることになる。一方、シフト後の電気角位相θの値が負の場合、補償後の電圧指令Vu_ref’は、
Vu_ref’=Vu_ref+ΔVd ・・・(10b)
で表される。つまり、(8b)式の右辺の第2項において、−ΔVdと、q軸電流の負の極性との掛け合わせにより、補償量ΔVdの極性は正となり、トータルとして補償量ΔVdは加算処理されることになる。
上記のように、条件1と条件2とでは、補償量ΔVdのトータルでの加算処理と減算処理との関係が逆になる。しかし、シフトさせた電気角位相θの値が正である場合には、電圧指令Vu_refに対して、補償量ΔVdにq軸電流指令iq_refの極性を掛け合わせた値を加算し、シフトさせた電気角位相θの値が負である場合には、電圧指令Vu_refに対して、補償量ΔVdにq軸電流指令iq_refの極性を掛け合わせた値を減算する点では、条件1と条件2とで共通していると言える。
以上のように、本実施形態では、デッドタイム補償部44が、q軸電流指令iq_ref(特に極性)と、位置検出部41にて検出される回転子21の電気角位相θとに基づいて、補償量ΔVdの極性(ΔVdを加算するか減算するか)を求める。これにより、従来、デッドタイム補償の際に必要であった相電流の検出、および2相の電流指令を3相の電流指令に変換する複雑な座標変換処理を行うことなく、先で求めたデッドタイムの補償量ΔVd(絶対値)に、上記極性を加味して電圧指令を補正して(電圧指令に対して補償量を加減算して)、デッドタイム補償を行うことができる。
また、デッドタイム補償を行うにあたっては、基本的に、U相、V相、W相の各相ごとに、補償前の電圧指令に対して、相電流≧0の場合は、補償量ΔVdを加算し、相電流<0の場合は、補償量ΔVdを減算する処理が行われる。本実施形態では、相電流を検出しないため、相電流の極性を直接求めることはできない。しかし、図13で示した線L1(シフト後の電気角位相θ)とU相電流の波形との関係より、実際にU相電流を検出しなくても、線L1が示す電気角位相θの極性と、q軸電流指令iq_refの極性とから、U相電流の極性を推測することができる。これにより、補償前の電圧指令に対して、補償量ΔVdを加算すべきか、減算すべきかを簡易的に判断することができる。
したがって、上記のように、デッドタイム補償部44が、線L1が示す電気角位相θの値(90°シフト後の電気角位相θの値)と、q軸電流指令iq_ref(特に極性)とに基づいて補償量ΔVdの極性(加算するか減算するか)を求め、補償量ΔVdを加算または減算して補償後の電圧指令Vu_ref’を演算することにより、従来のようにU相電流の検出、および2相の電流指令から3相の電流指令への複雑な座標変換処理を行うことなく、U相について、補償量ΔVdを加味した補償後の電圧指令Vu_ref’を簡単に求めることができる。これにより、U相について、簡単にデッドタイム補償を行うことができる。
なお、図12の例では、タイミングTbがタイミングTaよりも時間的に後であるため、図13の通り、位置検出部41によって取得された回転子21の電気角位相θの値に対して初期位相差θAを加算して(ここでは90°を加算して)電気角位相θの値をシフトさせている。例えば、タイミングTbがタイミングTaよりも時間的に前である場合、位置検出部41によって取得された回転子21の電気角位相θの値に対して初期位相差θAを減算して電気角位相θの値をシフトさせれば、図13と同様の線L1を得ることができる。したがって、この場合も、デッドタイム補償部44は、シフト後の電気角位相θの値に基づいて、補償前の電圧指令Vu_refに対して、補償量ΔVdにq軸電流指令iq_refの極性を掛け合わせた値を加算または減算して、デッドタイム補償を行うことができる。
(V相についてのデッドタイム補償)
図14は、条件1におけるV相電流の波形と、回転子21の電気角位相θの時間経過に対する変化とを併せて示した説明図である。ただし、q軸電流指令iq_ref≧0、回転子21の回転速度≧0(正トルク)とする。V相電流の位相は、U相電流の位相に対して電気角で120°だけ遅れているため、図14に示すように、線L1を、電気角で120°に相当する量だけ、電気角位相θが減少する方向にシフトさせる。シフト後の線をL2とする。
図14は、条件1におけるV相電流の波形と、回転子21の電気角位相θの時間経過に対する変化とを併せて示した説明図である。ただし、q軸電流指令iq_ref≧0、回転子21の回転速度≧0(正トルク)とする。V相電流の位相は、U相電流の位相に対して電気角で120°だけ遅れているため、図14に示すように、線L1を、電気角で120°に相当する量だけ、電気角位相θが減少する方向にシフトさせる。シフト後の線をL2とする。
図14より、線L2において、電気角位相θの値が0°よりも大きい期間(電気角位相θの値が正となる期間)は、V相電流の極性が正となる期間と一致し、電気角位相θの値が0°よりも小さい期間(電気角位相θの値が負となる期間)は、V相電流の極性が負となる期間と一致することがわかる。したがって、線L2を利用することにより、実際に相電流を検出しなくても、線L2が示す電気角位相θの値(極性)から、V相電流の極性を推測することが可能となる。そこで、V相については、線L2に基づいて以下のようにデッドタイム補償を行う。
すなわち、デッドタイム補償部44は、モータ2の第1の相(U相)に対して電気角で120°遅れている第2の相(V相)の電圧指令Vv_refに対して補償量ΔVdを加算または減算する際に、上記でシフトさせた電気角位相θの値(線L1に相当)に対してさらに120°を減算し、120°減算後の電気角位相θの値が正である場合には、該デッドタイム補償部44に入力される第2の相(V相)の電圧指令Vv_refに対して、補償量ΔVdにq軸電流指令iq_refの極性を掛け合わせた値を加算して出力する一方、120°減算後の電気角位相θの値が負である場合には、第2の相(V相)の電圧指令Vv_refに対して、補償量ΔVdにq軸電流指令iq_refの極性を掛け合わせた値を減算して出力する。
デッドタイム補償部44での上記の演算の結果、V相に関して、補償後の電圧指令Vv_ref’は、
120°減算後の電気角位相θの値が正の場合、
Vv_ref’=Vv_ref+ΔVd×(q軸電流指令iq_refの極性)
で表され、
120°減算後の電気角位相θの値が負の場合、
Vv_ref’=Vv_ref−ΔVd×(q軸電流指令iq_refの極性)
で表される。
120°減算後の電気角位相θの値が正の場合、
Vv_ref’=Vv_ref+ΔVd×(q軸電流指令iq_refの極性)
で表され、
120°減算後の電気角位相θの値が負の場合、
Vv_ref’=Vv_ref−ΔVd×(q軸電流指令iq_refの極性)
で表される。
なお、条件2(q軸電流指令iq_ref<0、回転速度≧0(正トルク))の場合、補償量ΔVdの加算処理および減算処理の関係が、条件1の場合とは逆になる点は、U相についてのデッドタイム補償の場合と全く同様である。
以上のように、V相のデッドタイム補償においては、デッドタイム補償部44が、線L2が示す電気角位相θの値(120°減算後の電気角位相θの値)と、q軸電流指令iq_ref(特に極性)とに基づいて、補償量ΔVdの極性(加算するか減算するか)を求めて、補償後の電圧指令Vv_ref’を演算する。これにより、従来のようにV相電流の検出、および2相の電流指令から3相の電流指令への複雑な座標変換処理を行うことなく、V相について、補償量ΔVdを加味した補償後の電圧指令Vv_ref’を簡単に求めることができる。これにより、V相について、簡単にデッドタイム補償を行うことができる。
なお、以上では、線L2を求めるにあたって、線L1を電気角位相θが減少する方向にシフトさせて(120°減算して)求めたが、前述の線L0を電気角位相θが減少する方向にシフトさせても(30°減算しても)、線L2は求まる。したがって、デッドタイム補償部44は、位置検出部41によって取得された回転子21の電気角位相θの値に対して初期位相差θAを加算または減算して(ここでは90°を加算して)さらに30°減算した後、30°減算後の電気角位相θの値が正である場合には、該デッドタイム補償部44に入力されるV相の電圧指令Vv_refに対して、補償量ΔVdにq軸電流指令iq_refの極性を掛け合わせた値を加算して出力する一方、30°減算後の電気角位相θの値が負である場合には、V相の電圧指令Vv_refに対して、補償量ΔVdにq軸電流指令iq_refの極性を掛け合わせた値を減算して出力してもよいと言うこともできる。
(W相についてのデッドタイム補償)
図15は、条件1におけるW相電流の波形と、回転子21の電気角位相θの時間経過に対する変化とを併せて示した説明図である。ただし、q軸電流指令iq_ref≧0、回転子21の回転速度≧0(正トルク)とする。W相電流の位相は、U相電流の位相に対して電気角で120°だけ進んでいるため、図15に示すように、線L1を、電気角で120°に相当する量だけ、電気角位相θが増加する方向にシフトさせる。シフト後の線をL3とする。
図15は、条件1におけるW相電流の波形と、回転子21の電気角位相θの時間経過に対する変化とを併せて示した説明図である。ただし、q軸電流指令iq_ref≧0、回転子21の回転速度≧0(正トルク)とする。W相電流の位相は、U相電流の位相に対して電気角で120°だけ進んでいるため、図15に示すように、線L1を、電気角で120°に相当する量だけ、電気角位相θが増加する方向にシフトさせる。シフト後の線をL3とする。
図15より、線L3において、電気角位相θの値が0°よりも大きい期間(電気角位相θの値が正となる期間)は、W相電流の極性が正となる期間と一致し、電気角位相θの値が0°よりも小さい期間(電気角位相θの値が負となる期間)は、W相電流の極性が負となる期間と一致することがわかる。したがって、線L3を利用することにより、実際に相電流を検出しなくても、線L3が示す電気角位相θの値(極性)から、W相電流の極性を推測することが可能となる。そこで、W相については、線L3に基づいて以下のようにデッドタイム補償を行う。
すなわち、デッドタイム補償部44は、モータ2の第1の相(U相)に対して電気角で120°進んでいる第3の相(W相)の電圧指令Vw_refに対して補償量ΔVdを加算または減算する際に、上記でシフトさせた電気角位相θの値(線L1に相当)に対してさらに120°を加算し、120°加算後の電気角位相θの値が正である場合には、該デッドタイム補償部44に入力される第3の相(W相)の電圧指令Vw_refに対して、補償量ΔVdにq軸電流指令iq_refの極性を掛け合わせた値を加算して出力する一方、120°加算後の電気角位相θの値が負である場合には、第3の相(W相)の電圧指令Vw_refに対して、補償量ΔVdにq軸電流指令iq_refの極性を掛け合わせた値を減算して出力する。
デッドタイム補償部44での上記の演算の結果、W相に関して、補償後の電圧指令Vw_ref’は、
120°加算後の電気角位相θの値が正の場合、
Vw_ref’=Vw_ref+ΔVd×(q軸電流指令iq_refの極性)
で表され、
120°加算後の電気角位相θの値が負の場合、
Vw_ref’=Vw_ref−ΔVd×(q軸電流指令iq_refの極性)
で表される。
120°加算後の電気角位相θの値が正の場合、
Vw_ref’=Vw_ref+ΔVd×(q軸電流指令iq_refの極性)
で表され、
120°加算後の電気角位相θの値が負の場合、
Vw_ref’=Vw_ref−ΔVd×(q軸電流指令iq_refの極性)
で表される。
なお、条件2(q軸電流指令iq_ref<0、回転速度≧0(正トルク))の場合、補償量ΔVdの加算処理および減算処理の関係が、条件1の場合とは逆になる点は、U相についてのデッドタイム補償の場合と全く同様である。
以上のように、W相のデッドタイム補償においては、デッドタイム補償部44が、線L3が示す電気角位相θの値(120°加算後の電気角位相θの値)と、q軸電流指令iq_ref(特に極性)とに基づいて、補償量ΔVdの極性(加算するか減算するか)を求めて、補償後の電圧指令Vw_ref’を演算する。これにより、従来のようにW相電流の検出、および2相の電流指令から3相の電流指令への複雑な座標変換処理を行うことなく、W相について、補償量ΔVdを加味した補償後の電圧指令Vw_ref’を簡単に求めることができる。これにより、W相について簡単にデッドタイム補償を行うことができる。
なお、以上では、線L3を求めるにあたって、線L1を電気角位相θが増加する方向にシフトさせて(120°加算して)求めたが、前述の線L0を電気角位相θが減少する方向にシフトさせても(150°減算しても)、線L3は求まる。したがって、デッドタイム補償部44は、位置検出部41によって取得された回転子21の電気角位相θの値に対して初期位相差θAを加算または減算して(ここでは90°を加算して)さらに150°減算した後、150°減算後の電気角位相θの値が正である場合には、該デッドタイム補償部44に入力されるW相の電圧指令Vw_refに対して、補償量ΔVdにq軸電流指令iq_refの極性を掛け合わせた値を加算して出力する一方、150°減算後の電気角位相θの値が負である場合には、W相の電圧指令Vw_refに対して、補償量ΔVdにq軸電流指令iq_refの極性を掛け合わせた値を減算して出力してもよいと言うこともできる。
(回転角度<0の場合)
図16は、回転速度<0の場合(正トルク)の場合における、U相電流の波形と、回転子21の電気角位相θの時間経過に対する変化とを併せて示した説明図である。ただし、q軸電流指令iq_ref≧0とする。回転速度<0の場合、電気角位相θの時間経過に対する変化は、回転速度≧0の場合と逆になり、電気角位相θが時間経過に対して減少していく推移を示す。しかし、この場合であっても、デッドタイム補償に関する処理は、回転速度≧0の場合と同様である。
図16は、回転速度<0の場合(正トルク)の場合における、U相電流の波形と、回転子21の電気角位相θの時間経過に対する変化とを併せて示した説明図である。ただし、q軸電流指令iq_ref≧0とする。回転速度<0の場合、電気角位相θの時間経過に対する変化は、回転速度≧0の場合と逆になり、電気角位相θが時間経過に対して減少していく推移を示す。しかし、この場合であっても、デッドタイム補償に関する処理は、回転速度≧0の場合と同様である。
(補足)
以上では、第1の相、第2の相および第3の相を、それぞれU相、V相およびW相として説明したが、例えば、第1の相、第2の相、第3の相の順に、V相、W相、U相であってもよく、W相、U相、V相であってもよい。
以上では、第1の相、第2の相および第3の相を、それぞれU相、V相およびW相として説明したが、例えば、第1の相、第2の相、第3の相の順に、V相、W相、U相であってもよく、W相、U相、V相であってもよい。
以上では、回転子21の電気角位相θを、−180°から+180°の範囲として説明したが、0°から+360°の範囲としてもよい。この場合、+180°を基準とし、+180°以上+360°未満の範囲を正に対応させ、0°以上+180°未満の範囲を負に対応させることで、本実施形態と同様のデッドタイム補償を行うことができる。
以上では、U相、V相、W相の3相でモータ2を駆動する場合の補償量ΔVdの演算およびデッドタイム補償について説明したが、本実施形態の手法は、3相式のモータに限らず、4相以上でモータを駆動する場合にも適用することができ、この場合も、本実施形態と同様の効果を得ることができる。
本実施形態で説明した補償量ΔVdの演算およびデッドタイム補償は、デッドタイムを設けることによってモータへの出力電圧に誤差が生じ、この誤差を補償する必要があるシステムに適用することができる。したがって、駆動制御の対象となるモータは、BLDCモータ以外のモータであってもよい。例えば誘導機(誘導モータ)の駆動制御にも、本実施形態で説明した補償量ΔVdの演算およびデッドタイム補償を適用することができる。
なお、本実施形態で説明したモータ駆動システム1は、以下のように表現することもできる。すなわち、モータ駆動システム1は、モータ2と、電圧指令をPWMパルスに変換し、前記PWMパルスによって直列接続された各スイッチング素子(33u、34u等)のオンオフを切り替えることにより、モータ2に電圧を出力するPWMインバータ3と、PWMインバータ3を用いてモータ2を駆動制御するモータ駆動制御装置4とを備え、モータ駆動制御装置4は、本実施形態のデッドタイム補償部44を備える構成である。
以上、本発明の実施形態につき説明したが、本発明の範囲はこれに限定されず、発明の主旨を逸脱しない範囲で種々の変更を加えて実施することができる。また、上記実施形態やその変形例は適宜任意に組み合わせることができる。
本発明は、モータの駆動制御において、デッドタイムを設けることによって生じる出力電圧に誤差を補償するモータ駆動制御装置に利用可能である。
2 モータ
3 PWMインバータ
4 モータ駆動制御装置
6 位置センサ
21 回転子
33u、33v、33w スイッチング素子
34u、34v、34w スイッチング素子
41 位置検出部
44 デッドタイム補償部
3 PWMインバータ
4 モータ駆動制御装置
6 位置センサ
21 回転子
33u、33v、33w スイッチング素子
34u、34v、34w スイッチング素子
41 位置検出部
44 デッドタイム補償部
Claims (9)
- 電圧指令をPWMパルスに変換し、前記PWMパルスによって直列接続された各スイッチング素子のオンオフを切り替えることにより、モータに電圧を出力するPWMインバータを用いて前記モータを駆動制御するモータ駆動制御装置であって、
前記PWMインバータにおいて前記直列接続された各スイッチング素子の同時オンを回避するためのデッドタイムを設けることによって生じる、前記PWMインバータの出力電圧の誤差を補償するための補償量を求め、前記補償量を加味した前記電圧指令を前記PWMインバータに出力するデッドタイム補償部を備え、
前記デッドタイム補償部は、前記モータに流れる電流が追従すべき電流のベクトルを示す電流指令ベクトルの大きさに基づいて、前記補償量を求め、
前記電流指令ベクトルは、前記モータの回転子に同期した座標系、または、それに準ずる座標系で定義されたベクトルである、モータ駆動制御装置。 - 前記電流指令ベクトルは、d軸およびq軸を持つdq座標系におけるd軸電流指令およびq軸電流指令の各ベクトル成分の合成ベクトルである、請求項1に記載のモータ駆動制御装置。
- 前記デッドタイム補償部は、前記d軸電流指令を0〔A〕としたときの前記電流指令ベクトルの大きさに基づいて、前記補償量を求める、請求項2に記載のモータ駆動制御装置。
- 前記補償量の予め定められた固定値をΔVd’とし、前記q軸電流指令を、時間tを変数としてiq_ref(t)〔A〕とし、電流閾値をith〔A〕としたとき、
前記デッドタイム補償部は、
ΔVd=ΔVd’×|iq_ref(t)|/ith
の演算によって得られるΔVdを、前記補償量として決める、請求項3に記載のモータ駆動制御装置。 - 前記デッドタイム補償部は、前記q軸電流指令の絶対値|iq_ref(t)|が前記電流閾値ith以上である場合に、前記固定値ΔVd’を前記補償量ΔVdとして決める、請求項4に記載のモータ駆動制御装置。
- 前記モータの前記回転子の回転位置に応じた信号を出力する位置センサからの出力信号に基づいて、前記回転子の電気角位相を検出する位置検出部をさらに備え、
前記デッドタイム補償部は、前記q軸電流指令と、前記回転子の前記電気角位相とに基づいて、前記補償量の極性を求める、請求項3から5のいずれかに記載のモータ駆動制御装置。 - 前記位置検出部は、−180°から+180°の範囲で前記電気角位相を検出し、
前記モータの第1の相についての電流指令が0〔A〕となるタイミングと、前記回転子の前記電気角位相が0°になるタイミングとの電気角での位相差を初期位相差としたとき、
前記デッドタイム補償部は、前記位置検出部によって取得された前記回転子の前記電気角位相の値に対して前記初期位相差を加算または減算して前記電気角位相の値をシフトさせ、シフトさせた前記電気角位相の値が正である場合には、該デッドタイム補償部に入力される前記第1の相の電圧指令に対して、前記補償量に前記q軸電流指令の極性を掛け合わせた値を加算して出力する一方、シフトさせた前記電気角位相の値が負である場合には、前記第1の相の電圧指令に対して、前記補償量に前記q軸電流指令の極性を掛け合わせた値を減算して出力する、請求項6に記載のモータ駆動制御装置。 - 前記デッドタイム補償部は、前記モータの前記第1の相に対して電気角で120°遅れている第2の相の電圧指令に対して前記補償量を加算または減算する際に、シフトさせた前記電気角位相の値に対してさらに120°を減算し、120°減算後の前記電気角位相の値が正である場合には、該デッドタイム補償部に入力される前記第2の相の電圧指令に対して、前記補償量に前記q軸電流指令の極性を掛け合わせた値を加算して出力する一方、120°減算後の前記電気角位相の値が負である場合には、前記第2の相の電圧指令に対して、前記補償量に前記q軸電流指令の極性を掛け合わせた値を減算して出力する、請求項7に記載のモータ駆動制御装置。
- 前記デッドタイム補償部は、前記モータの前記第1の相に対して電気角で120°進んでいる第3の相の電圧指令に対して前記補償量を加算または減算する際に、シフトさせた前記電気角位相の値に対してさらに120°を加算し、120°加算後の前記電気角位相の値が正である場合には、該デッドタイム補償部に入力される前記第3の相の電圧指令に対して、前記補償量に前記q軸電流指令の極性を掛け合わせた値を加算して出力する一方、120°加算後の前記電気角位相の値が負である場合には、前記第3の相の電圧指令に対して、前記補償量に前記q軸電流指令の極性を掛け合わせた値を減算して出力する、請求項7または8に記載のモータ駆動制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/147,940 US10608572B2 (en) | 2017-10-31 | 2018-10-01 | Motor drive control device |
CN201811182785.3A CN109728761B (zh) | 2017-10-31 | 2018-10-11 | 马达驱动控制装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017211186 | 2017-10-31 | ||
JP2017211186 | 2017-10-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019083676A true JP2019083676A (ja) | 2019-05-30 |
Family
ID=66669663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018177308A Pending JP2019083676A (ja) | 2017-10-31 | 2018-09-21 | モータ駆動制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019083676A (ja) |
-
2018
- 2018-09-21 JP JP2018177308A patent/JP2019083676A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4956123B2 (ja) | モータ制御装置 | |
JP4961292B2 (ja) | モータ制御装置 | |
US10608572B2 (en) | Motor drive control device | |
JPWO2019008676A1 (ja) | インバータ装置、及び、電動パワーステアリング装置 | |
JP2008283848A (ja) | モータ制御装置 | |
US20180219506A1 (en) | Ac rotary machine control device and electric power steering device | |
JP6805035B2 (ja) | 集積回路 | |
JP2010011540A (ja) | モータ制御装置 | |
JP2016082615A (ja) | モータ制御装置、モータシステム、モータ制御プログラム | |
JP6129972B2 (ja) | 交流電動機の制御装置、交流電動機駆動システム、流体圧制御システム、位置決めシステム | |
JP2012178927A (ja) | インバータ制御装置 | |
US20140159624A1 (en) | Motor driving control apparatus and method, and motor using the same | |
JP2016163518A (ja) | 回転位置検出装置,モータ制御装置及び回転位置検出方法 | |
JP6685452B1 (ja) | 回転電機の制御装置 | |
JP2010246260A (ja) | モータ制御装置およびモータ制御方法 | |
JP2010268629A (ja) | インバータ装置 | |
JP2010068581A (ja) | 電動機駆動装置 | |
JP2019208329A (ja) | センサレスベクトル制御装置及びセンサレスベクトル制御方法 | |
JP2014014248A (ja) | インバータ制御装置 | |
WO2021200389A1 (ja) | モータ制御装置、モータシステム及びモータ制御方法 | |
JP2020031469A (ja) | モータ駆動制御装置 | |
JP2019083676A (ja) | モータ駆動制御装置 | |
KR102260101B1 (ko) | 모터 제어용 집적 회로 | |
JP6116449B2 (ja) | 電動機駆動制御装置 | |
CN111034013B (zh) | 三相同步电动机的控制装置和使用其的电动助力转向装置 |