以下に、本発明にかかるモータ制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
(実施の形態1)
実施の形態にかかるモータ制御装置100について、図1を用いて説明する。図1は、モータ制御装置100の構成を示す図である。
モータ制御装置100は、PWM変調による制御信号を生成し、センサレス同期モータMを制御する。モータMは、例えば、PMSM(永久磁石同期モータ)である。PMSMの駆動においては、ロータの回転とステータコイルが発生する回転磁界を同期させる必要があるため、ロータの位置(回転位置)を検出することが必要である。上記のように、モータMが位置検出用のセンサを持たないセンサレス同期モータの場合は、モータMを駆動させる位置センサレス駆動が必要である。
正弦波駆動によりセンサレス同期モータを駆動する場合は、モータのステータ巻線の各相に流れる相電流を検出する必要があり、そのモータ電流を検出することによって、ロータの位置を推定してモータの回転を制御する。
このとき、電流センサで3相モータのモータ電流を検出するには、少なくとも2相のモータ電流の検出が必要となる。モータ電流を検出するための電流センサは、制御回路全体に占めるコスト割合が大きく、さらに2つ必要となるとコスト面で大きな負担となる。
本実施形態では、2相のモータ電流を検出する2つの電流センサに替えて、モータ制御装置100のインバータの母線部に接続したシャント抵抗にて電流を検出する。そして、インバータのスイッチング状態の情報とともに電流を検出することにより、モータ電流を再現する。
なお、この1つのシャント抵抗によるモータ電流の検出(再現・推定)方法は1シャント電流検出と呼ばれることが多い。
実施の形態にかかるモータ制御装置100は、制御方式として、180度通電方式(正弦波通電方式)、位置センサレス方式、1シャント電流検出方式を採用する。例えば、モータ制御装置100は、モータMを制御するにあたり、1つのシャント抵抗Rsを用いて母線電流Isを検出し、その検出した母線電流Isに応じて、PWM変調による制御信号を生成しモータMを制御する。具体的には、モータ制御装置100は、インバータ10、電流検出部20、算出部60、電圧検出部30、及び生成部40を備える。
インバータ10は、直流電力を直流電源EDCから受け、3相(U相、V相、W相)のPWM信号Up,Un,Vp,Vn,Wp,Wnを生成部40から受ける。インバータ10は、3相のPWM信号Up〜Wnに従って、直流電力を3相の交流電力に変換する。インバータ10は、変換された3相の交流電力をモータMへ出力することにより、モータMを駆動する。
具体的には、インバータ10は、上アームのスイッチング素子SWup、SWvp、SWwp及び下アームのスイッチング素子SWun、SWvn、SWwnを有する。インバータ10では、3相のPWM信号Up〜Wnに従って各スイッチング素子SWup〜SWwnをオン・オフすることにより、直流電力を3相の交流電力に変換する。なお、各スイッチングSWup〜SWwnの両端には、さらに還流ダイオードDupd〜Dwndが接続されている。
電流検出部20は、1つのシャント抵抗Rsを用いて母線電流Isを検出する。具体的には、電流検出部20は、シャント抵抗Rs及び電流検出回路21を有する。
シャント抵抗Rsは、直流電源EDCとインバータ10との間に接続されている。シャント抵抗Rsは、例えば、直流電源EDCにおけるN側の端子とインバータ10との間のDCラインであるNラインLN上に挿入されている。なお、シャント抵抗Rsは、例えば、直流電源EDCにおけるP側の端子とインバータ10との間のDCラインであるPラインLP上に挿入されていてもよい。
1つのシャント抵抗Rsには、インバータ10におけるU相電流、V相電流、W相電流に応じて母線電流Isが流れる。このとき、シャント抵抗Rsの両端に電圧降下が生じる。電流検出回路21は、この電圧降下の大きさとシャント抵抗Rsの抵抗値とから、シャント抵抗Rsに流れる母線電流Isを検出し、検出結果を算出部60へ出力する。
算出部60は、電流検出部20により検出された母線電流Isと生成部40により生成された3相のPWM信号Up〜Wnとに基づいて、3相の電流iu,iv,iwを算出する。
具体的には、算出部60は、3φ電流算出器61を有する。3φ電流算出器61は、検出された母線電流を電流検出回路21から受け、3相のPWM信号Up〜Wnを受ける。3φ電流算出器61は、母線電流の値と3相のPWM信号Up〜Wnとに基づいて、3相の電流iu,iv,iwを算出する。3φ電流算出器61は、算出された3相の電流iu,iv,iwを生成部40へ出力する。また、3φ電流算出器61では、算出された電流値が誤検出か否かを判定し、誤検出であると判定した場合は検出したシャント電流値を使用せずに、2軸電流(d軸電流id、q軸電流iq)の移動平均値、あるいは、2軸の電流指令(d軸電流指令id*、q軸電流指令iq*)を用いる。3φ電流算出器61の構成及び動作の詳細は後述する。
電圧検出部30は、母線電圧を検出する。具体的には、電圧検出部30は、DC電圧検出回路31及びDC電圧算出器32を有する。DC電圧検出回路31は、PラインLPとNラインLNとの間の母線電圧を検出し、検出結果をDC電圧算出器32へ出力する。DC電圧算出器32は、検出結果をDC電圧Vdcへ変換し、変換されたDC電圧Vdcを生成部40へ出力する。
生成部40は、速度指令ωm*を外部(例えば、上位のコントローラ)から受け、3相の電流iu,iv,iwを算出部60から受け、DC電圧Vdcを電圧検出部30から受ける。生成部40は、速度指令ωm*、3相の電流iu,iv,iw、及びDC電圧Vdcに基づいて、3相のPWM信号Up〜Wnを生成する。例えば、生成部40は、モータMにおけるロータが速度指令ωm*に従って回転するように、3相のPWM信号Up〜Wnを生成する。
このとき、生成部40は、モータ電流を永久磁石トルクに比例する「トルク電流成分」(q軸成分)、及び、磁束の大きさを変える「励磁電流成分」(d軸成分)に分離して扱うことで、制御性の向上(高効率、高速応答など)を実現可能にする。
交流の場合、3相固定座標系で取り扱うと各相の電圧や電流は定常状態であっても常に変化するので、制御器によって対象物を速度指令ωmに追従させるのは難しい。例えば、一般的に電流制御器はPI(比例積分)制御器が用いられるが、比例制御ゲインを大きくして追従を良くさせようとすると制御が不安定になったりしてしまう。
このような場合に広く用いられている座標系として、dq座標系がある。これは、ロータの磁石方向を基準としており、ロータの回転に合わせて座標系も回転する回転座標系の軸である。固定座標系で交流量であってもこの座標軸では直流量として扱うことができ、定常状態では一定値となる。また、PI制御器を用いたとしても、定常偏差のない電流制御が実現できる。例えば、磁石のS→N極方向へd軸、d軸から回転方向へ電気角90[deg]ずらしてq軸を取ったものを用いる。
具体的には、生成部40は、3φ/dq座標変換器42、位置・速度推定器44、1/Pn変換器51、減算器52、d軸電流設定器48、減算器46、速度制御器49、減算器47、d軸q軸電圧設定器45、dq/3φ座標変換器43、及びPWM生成器41を有する。
3φ/dq座標変換器42は、3相の電流iu,iv,iwを3φ電流算出器61から受け、固定座標系(UVW座標系)に対する回転座標系(dq座標系)の位相角θdqを位置・速度推定器44から受ける。3φ/dq座標変換器42は、位相角θdqを用いて、固定座標系の電流ベクトル(iu,iv,iw)を回転座標系の電流ベクトル(id,iq)へ座標変換する。3φ/dq座標変換器42は、変換されたd軸電流idを位置・速度推定器44、d軸q軸電圧設定器45、及び減算器46へ出力し、変換されたq軸電流iqを位置・速度推定器44、d軸q軸電圧設定器45、及び減算器47へ出力する。また、3φ/dq座標変換器42は、変換したd軸電流idとq軸電流iqのそれぞれについて、例えば、40個の算出分の移動平均値を算出して図示しない記憶部に記憶する。
位置・速度推定器44は、d軸電流id、q軸電流iqを3φ/dq座標変換器42から受け、d軸電圧指令Vd*、q軸電圧指令Vq*をd軸q軸電圧設定器45から受ける。位置・速度推定器44は、d軸電流id、q軸電流iq、d軸電圧指令Vd*、q軸電圧指令Vq*に基づいて、電圧ベクトルの電気的な推定角速度ωe及び回転座標系の位相角θdqをそれぞれ推定する。位置・速度推定器44は、電気的な推定角速度ωeを1/Pn変換器51へ出力し、位相角θdqを3φ/dq座標変換器42及びdq/3φ座標変換器43へ出力する。
1/Pn変換器51は、電気的な推定角速度ωeを位置・速度推定器44から受ける。1/Pn変換器51は、例えば電気的な推定角速度ωeに1/Pn(Pnは極対数)を乗算することにより、電気的な推定角速度ωeをモータMにおけるロータの機械的な推定角速度ωmに変換する。1/Pn変換器51は、機械的な推定角速度ωmを減算器52へ出力する。
減算器52は、機械的な推定角速度ωmを1/Pn変換器51から受け、速度指令ωm*を外部(例えば、上位のコントローラ)から受ける。減算器52は、速度指令ωm*から推定角速度ωmを減算して速度偏差Δωを求め、求められた速度偏差Δωを速度制御器49へ出力する。
電流指令設定部50は、d軸電流設定器48と速度制御器49を備え、2相のd軸電流とq軸電流の電流指令を設定する。
d軸電流設定器48は、d軸電流指令id*を予め定められた値(例えば、固定値)で生成して減算器46へ出力する。
減算器46は、d軸電流指令id*をd軸電流設定器48から受け、d軸電流idを3φ/dq座標変換器42から受ける。減算器46は、d軸電流指令id*からd軸電流idを減算してd軸電流偏差Δidを求め、求められたd軸電流偏差Δidをd軸q軸電圧設定器45へ出力する。
速度制御器49は、速度偏差Δωを減算器52から受ける。速度制御器49は、速度偏差Δωがゼロに近づくように、q軸電流指令iq*を求める。速度制御器49は、求められたq軸電流指令iq*を減算器47へ出力する。
減算器47は、q軸電流指令iq*を速度制御器49から受け、q軸電流iqを3φ/dq座標変換器42から受ける。減算器47は、q軸電流指令iq*からq軸電流iqを減算してq軸電流偏差Δiqを求め、求められたq軸電流偏差Δiqをd軸q軸電圧設定器45へ出力する。
d軸q軸電圧設定器45は、d軸電流偏差Δidを減算器46から受け、q軸電流偏差Δiqを減算器47から受ける。d軸q軸電圧設定器45は、d軸電流偏差Δid及びq軸電流偏差Δiqに応じて(例えば、d軸電流偏差Δid及びq軸電流偏差Δiqがそれぞれゼロに近づくように)、d軸電圧指令Vd*及びq軸電圧指令Vq*をそれぞれ求める。d軸q軸電圧設定器45は、求められたd軸電圧指令Vd*及びq軸電圧指令Vq*を位置・速度推定器44及びdq/3φ座標変換器43へ出力する。
dq/3φ座標変換器43は、d軸電圧指令Vd*及びq軸電圧指令Vq*をd軸q軸電圧設定器45から受け、固定座標系(UVW座標系)に対する回転座標系(dq座標系座標系)の位相角θdqを位置・速度推定器44から受ける。dq/3φ座標変換器43は、位相角θdqを用いて、回転座標系の電圧ベクトル(Vd*,Vq*)を固定座標系の電圧ベクトル(Vu*,Vv*,Vw*)へ座標変換する。
すなわち、dq/3φ座標変換器43は、3φ電流算出器61により生成された3相の電流iu,iv,iwに応じたd軸電圧指令Vd*及びq軸電圧指令Vq*を座標変換して3相の電圧指令Vu*,Vv*,Vw*を生成する。dq/3φ座標変換器43は、生成された3相の電圧指令Vu*,Vv*,Vw*をPWM生成器41へ出力する。
PWM生成器41は、3相の電圧指令Vu*,Vv*,Vw*をdq/3φ座標変換器43から受け、DC電圧VdcをDC電圧算出器32から受ける。PWM生成器41は、3相の電圧指令Vu*,Vv*,Vw*及びDC電圧Vdcに応じて、3相のPWM信号Up〜Wnを生成する。
例えば、PWM生成器41は、規格化器41a、キャリア発生器41b及び3つの比較器41cを有する。規格化器41aは、DC電圧Vdcを用いて3相の電圧指令Vu*,Vv*,Vw*の振幅の絶対値を例えば1に規格化して、規格化された3相の電圧指令Vu*’,Vv*’,Vw*’をそれぞれ比較器41cに出力する。なお、比較器41cは、3相用に3つ設けられている。
キャリア発生器41bは、例えば振幅の絶対値が1である三角波信号をキャリア信号として発生し(図3参照)、発生されたキャリア信号を3つの比較器41cにそれぞれ出力する。
3つの比較器41cのそれぞれは、電圧指令Vu*’,Vv*’,Vw*’とキャリア信号とを比較することで、3相のPWM信号Up〜Wnを生成する。例えば、U相用の比較器41cは、電圧指令Vu*’とキャリア信号とを比較し、キャリア信号のレベルが電圧指令Vu*’より大きいとき、U相のPWM信号Upをオン,Unをオフとして生成し、キャリア信号のレベルが電圧指令Vu*’より小さいとき、U相のPWM信号Upをオフ,Unをオンとして生成してスイッチング素子SWup,SWunの制御端子にそれぞれ供給する。同様にV相用の比較器41cは、電圧指令Vv*’とキャリア信号とを比較した結果、V相のPWM信号Vp,Vnを生成してスイッチング素子SWvp,SWvnの制御端子にそれぞれ供給する。また、W相用の比較器41cも同様に、電圧指令Vw*’とキャリア信号とを比較した結果、W相のPWM信号Wp,Wnを生成してスイッチング素子SWwp,SWwnの制御端子にそれぞれ供給する。
例えば、キャリアの山を基準に比較動作を行う場合(キャリア信号が山基準である場合)、キャリアの山がキャリア周期の中央になるように各キャリア周期を設定する。そして、そのキャリア周期内でレベルが一定の電圧指令Vu*’,Vv*’,Vw*’のレベルを与え、各比較器41cは、キャリア信号のレベルが電圧指令Vu*’,Vv*’,Vw*’を超えた時点でP側のPWM信号Up,Vp,WpをオンレベルでN側のPWM信号Un,Vn,Wnはオフレベル(P側のスイッチング素子がオンのときN側のスイッチング素子はオフとなり、P側がオフのときN側はオンになる)にし、キャリア信号のレベルが電圧指令Vu*’,Vv*’,Vw*’以下になった時点でP側のPWM信号Up,Vp,Wpをオフレベル(N側のPWM信号Un,Vn,Wnはオンレベル)にする。このとき、各キャリア周期において、PWM信号Up,Vp,Wpは、キャリアの山に対して対称なパターンになる(図3参照)。このとき、キャリア周期ごとに電圧指令Vu*,Vv*,Vw*のレベルが変わり得るので、隣り合うキャリア周期で見た場合、PWM信号Up,Vp,Wpは、キャリアの谷に対して非対称なパターンになる(図3参照)。
あるいは、例えば、キャリアの谷を基準に比較動作を行う場合(キャリア信号が谷基準である場合)、キャリアの谷がキャリア周期の中央になるように各キャリア周期を設定する。そして、そのキャリア周期内でレベルが一定の電圧指令Vu*’,Vv*’,Vw*’を与え、各比較器41cは、キャリア信号のレベルが電圧指令Vu*’,Vv*’,Vw*’を超えた時点でP側のPWM信号Up,Vp,Wpをオンレベル(N側のPWM信号Un,Vn,Wnはオフレベル)にし、キャリア信号のレベルが電圧指令Vu*’,Vv*’,Vw*’以下になった時点でP側のPWM信号Up,Vp,Wpをオフレベル(N側のPWM信号Un,Vn,Wnはオンレベル)にする。このとき、各キャリア周期において、PWM信号Up,Vp,Wpは、キャリアの谷に対して対称なパターンになる(図示せず)。このとき、キャリア周期ごとに電圧指令Vu*,Vv*,Vw*のレベルが変わり得るので、隣り合うキャリア周期で見た場合、PWM信号Up,Vp,Wpは、キャリアの山に対して非対称なパターンになる(図示せず)。
次に、3φ電流算出器61の構成及び動作について図2〜図4を用いて説明する。図2は、3φ電流算出器61の構成を示す図である。図3は、モータ制御装置100の動作を示す図である。図4は、補間算出部61cの動作を示す図である。以下では、キャリア信号が山基準である場合について例示的に説明するが、以下の考え方は、キャリア信号が谷基準である場合についても同様に適用できる。
3φ電流算出器61は、電流検出部20により検出された母線電流Isと生成部40により生成されたPWM信号Up〜Wnに基づいて、3相の電流iu,iv,iwを算出する。
例えば、3φ電流算出器61は、第1のキャリア周期の3相のPWM信号Up〜Wnと第1のキャリア周期の後半に検出された母線電流Isと、第1のキャリア周期に続く第2のキャリア周期の3相のPWM信号Up〜Wnと第2のキャリア周期の前半に検出された母線電流Isとに基づいて、第1のキャリア周期と第2のキャリア周期との境界タイミングにおける3相の電流を算出する。3φ電流算出器61は、算出された3相の電流を例えば第2のキャリア周期内に生成部40へ出力する。生成部40は、算出された3相の電流を2相の電流id,iqに変換し、変換した2相の電流と速度指令ωm*に基づいた2相の電流指令id*,iq*との電流偏差がゼロになるように2相の電圧指令Vd*,Vq*を生成し、2相の電圧指令Vd*,Vq*から3相の電圧指令Vu*,Vv*,Vw*に変換して、第2のキャリア周期に続く第3のキャリア周期に用いる3相の電圧指令Vu*,Vv*,Vw*を生成する。そして、生成部40は、生成された3相の電圧指令Vu*,Vv*,Vw*と検出されたDC電圧Vdcとに基づいて、3相のPWM信号Up〜Wnを生成する。
例えば、3φ電流算出器61は、キャリア周期Tc1の3相のPWM信号Up〜Wnの状態とキャリア周期Tc1の後半の期間Tc1bに検出された母線電流Isと、キャリア周期Tc1に続くキャリア周期Tc2の相のPWM信号Up〜Wnの状態とキャリア周期Tc2の前半の期間Tc2aに検出された母線電流Isとに基づいて、キャリア周期Tc1とキャリア周期Tc2との境界タイミングtc12における3相の電流iu,iv,iwを算出する。
3φ電流算出器61は、算出された3相の電流iu,iv,iwを例えばキャリア周期Tc2内に生成部40へ出力する。例えば、3φ電流算出器61は、算出された3相の電流iu,iv,iwを例えばキャリア周期Tc2の後半の期間Tc2b内に生成部40へ出力する。これに応じて、生成部40は、Tc2b期間でキャリア周期Tc2に続くキャリア周期Tc3用の3相の電圧指令Vu*,Vv*,Vw*を境界タイミングtc12における3相の電流iu,iv,iwに基づいて生成する。
すなわち、生成部40は、キャリア周期Tc3の開始タイミングまでに境界タイミングtc12における3相の電流iu,iv,iwを2相の電流id,iqに変換し、変換した2相の電流と速度指令ωm*に基づいた2相の電流指令id*,iq*との電流偏差がゼロになるように2相の電圧指令Vd*,Vq*を生成し、2相の電圧指令Vd*,Vq*から3相の電圧指令Vu*,Vv*,Vw*に変換して、キャリア周期Tc3に用いる3相の電圧指令Vu*,Vv*,Vw*を生成する。
3φ電流算出器61は、AD変換部61a、第1算出部61b、補間算出部61c、及び第2算出部61d、第3算出部61e、及び判定部61fを有する。
AD変換部61aは、電流検出回路21で検出した母線電流Isを受ける。AD変換部61aは、母線電流Is(アナログ信号)をAD変換して母線電流Is(デジタル信号)を生成する。AD変換部61aは、母線電流Is(デジタル信号)を第1算出部61bへ出力する。母線電流Isを取得するタイミングは、3相のPWM信号Up〜Wnに基づいて行なわれ、詳細については後述する。
第1算出部61bは、母線電流Is(デジタル信号)をAD変換部61aから受ける。第1算出部61bは、第1のキャリア周期の3相のPWM信号と第1のキャリア周期の後半に検出された母線電流とから第1のキャリア周期の後半における2相の電流を算出する。また、第1算出部61bは、第1のキャリア周期に続く第2のキャリア周期の3相のPWM信号と第2のキャリア周期の前半に検出された母線電流とから第2のキャリア周期の前半における2相の電流を算出する。
例えば図3に示すように、第1算出部61bは、キャリア周期Tc1の3相のPWM信号Up〜Wnとキャリア周期Tc1の後半の期間Tc1bに検出された母線電流Isとからキャリア周期Tc1の後半の期間Tc1bにおける2相の電流iu,iwを算出する。
例えば、キャリア周期Tc1の後半の期間Tc1bにおいて、期間TP1では、PWM信号Up,Vp,Wpがいずれもオンレベルなので、スイッチング素子SWup,SWvp,SWwpがいずれもオンし他のスイッチング素子はオフしている(図1参照)。このとき、母線電流Isはゼロになる。
期間Tc1bにおける期間TP1に続く期間TP2では、PWM信号Upがオフレベル(PWM信号Unがオンレベル)であり、Vp,Wpがいずれもオンレベルなので、スイッチング素子SWun,SWvp,SWwpがいずれもオンし他のスイッチング素子はオフしている(図1参照)。このとき、インバータ10からモータMに向かう向きを電流の正の向きとすると、U相電流−Iu=Iv+Iwが母線電流Isとして流れる。第1算出部61bは、例えば、期間TP2に検出された母線電流Isを、期間TP2の中央のタイミングtu1におけるU相電流−Iuとして算出する。
期間Tc1bにおける期間TP2に続く期間TP3では、PWM信号Up,Vpがオフレベル(PWM信号Un,Vnがオンレベル)であり、Wpがオンレベルなので、スイッチング素子SWun,SWvn,SWwpがいずれもオンし他のスイッチング素子はオフしている(図1参照)。このとき、インバータ10からモータMに向かう向きを電流の正の向きとすると、W相電流Iw=−Iu−Ivが母線電流Isとして流れる。第1算出部61bは、例えば、期間TP3に検出された母線電流Isを、期間TP3の中央のタイミングtw1におけるW相電流Iwとして算出する。
また、例えば図3に示すように、第1算出部61bは、キャリア周期Tc2の3相のPWM信号Up〜Wnとキャリア周期Tc2の前半の期間Tc2aに検出された母線電流Isとからキャリア周期Tc2の前半の期間Tc2aにおける2相の電流iu,iwを算出する。
例えば、キャリア周期Tc2の前半の期間Tc2aにおいて、期間TP4では、PWM信号Up,Vpがオフレベル(PWM信号Un,Vnがオンレベル)であり、Wpがオンレベルなので、スイッチング素子SWun,SWvn,SWwpがいずれもオンし他のスイッチング素子はオフしている(図1参照)。このとき、インバータ10からモータMに向かう向きを電流の正の向きとするとき、W相電流Iw=−Iu−Ivが母線電流Isとして流れる。第1算出部61bは、例えば、期間TP4に検出された母線電流Isを、期間TP4の中央のタイミングtw2におけるW相電流Iwとして算出する。
期間Tc2aにおける期間TP4に続く期間TP5では、PWM信号Upがオフレベル(PWM信号Unがオンレベル)であり、Vp,Wpがいずれもオンレベルなので、スイッチング素子SWun,SWvp,SWwpがいずれもオンし他のスイッチング素子はオフしている(図1参照)。このとき、インバータ10からモータMに向かう向きを電流の正の向きとするとき、U相電流−Iu=Iv+Iwが母線電流Isとして流れる。第1算出部61bは、例えば、期間TP5に検出された母線電流Isを、期間TP5の中央のタイミングtu2におけるU相電流−Iuとして算出する。
期間Tc2aにおける期間TP5に続く期間TP6では、PWM信号Up,Vp,Wpがいずれもオンレベルなので、スイッチング素子SWup,SWvp,SWwpがいずれもオンし他のスイッチング素子はオフしている(図1参照)。このとき、母線電流Isはゼロになる。
第1算出部61bは、第1のキャリア周期の後半における2相の電流と第2のキャリア周期の前半における2相の電流とを補間算出部61cへ出力する。例えば、第1算出部61bは、タイミングtu1におけるU相電流−Iu、タイミングtw1におけるW相電流Iw、タイミングtw2におけるW相電流Iw、タイミングtu2におけるU相電流−Iuをそれぞれ補間算出部61cと第2算出器61dへ出力する。
補間算出部61cは、第1算出部61bで算出した結果、すなわち第1のキャリア周期の後半における2相の電流と第2のキャリア周期の前半における2相の電流を第1算出部61bから受ける。例えば、補間算出部61cは、タイミングtu1におけるU相電流−Iu、タイミングtw1におけるW相電流Iw、タイミングtw2におけるW相電流Iw、タイミングtu2におけるU相電流−Iuをそれぞれ第1算出部61bから受ける。
補間算出部61cは、第1のキャリア周期の後半における2相の電流と第2のキャリア周期の前半における2相の電流とから、第1のキャリア周期と第2のキャリア周期の境界タイミングにおける2相の電流を算出する。
例えば図3に示すように、補間算出部61cは、キャリア周期Tc1の後半の期間Tc1bにおける2相の電流iu,iwとキャリア周期Tc2の前半の期間Tc2aにおける2相の電流iu,iwとから、境界タイミングtc12における2相の電流iu,iwを算出する。例えば、補間算出部61cは、タイミングtu1におけるU相電流−Iuとタイミングtu2におけるU相電流−Iuとから境界タイミングtc12におけるU相電流−Iuを算出する。補間算出部61cは、タイミングtw1におけるW相電流Iwとタイミングtw2におけるW相電流Iwとから境界タイミングtc12におけるW相電流−Iwを算出する。
このとき、上記のように、キャリア周期ごとに電圧指令Vu*,Vv*,Vw*のレベルが変わり得るので、隣り合うキャリア周期で見た場合、PWM信号Up,Vp,Wpは、キャリアの谷(境界タイミング)に対して非対称なパターンになる。例えば、図3に示すように、キャリア周期Tc1の後半の期間Tc1bにおけるPWM信号Up,Vp,Wpと、キャリア周期Tc2の前半の期間Tc2aにおけるPWM信号Up,Vp,Wpとは、境界タイミングtc12に対して非対称なパターンになっている。
仮に、補間算出部61cが、タイミングtu1におけるU相電流−Iuとタイミングtu2におけるU相電流−Iuとを単純平均すると、求められたU相電流は、境界タイミングtc12からずれたタイミングのU相電流になってしまう。あるいは、補間算出部61cが、タイミングtw1におけるW相電流Iwとタイミングtw2におけるW相電流Iwとを単純平均すると、求められたW相電流は、境界タイミングtc12からずれたタイミングのW相電流になってしまう。すなわち、第1のキャリア周期の後半における2相の電流と第2のキャリア周期の前半における2相の電流とを単純平均により算出した場合、求められた2相の電流は、互いに異なるタイミングの電流になる(図3、図4参照)ので、誤差が増大する可能性がある。
このため、本実施の形態1では、補間算出部61cが、求める相電流を単純平均で算出せずに線形補間により算出する。すなわち、補間算出部61cは、第1のキャリア周期の後半における2相の電流と第2のキャリア周期の前半における2相の電流との間で境界タイミングにおける2相の電流を算出するために線形補間を用いる。
例えば図3に示すように、補間算出部61cは、キャリア周期Tc1の後半の期間Tc1bにおける2相の電流iu,iwとキャリア周期Tc2の前半の期間Tc2aにおける2相の電流iu,iwとから、境界タイミングtc12における2相の電流iu,iwを線形補間により算出する。このとき、補間算出部61cは、3相のPWM信号Up〜Wnを用いて、タイミングtu1,tw1,tw2,tu2及び境界タイミングtc12の時間軸上の位置を認識することができる。例えば、補間算出部61cは、タイミングtu1におけるU相電流−Iuとタイミングtu2におけるU相電流−Iuとから境界タイミングtc12におけるU相電流−Iuを線形補間により算出する。補間算出部61cは、タイミングtw1におけるW相電流Iwとタイミングtw2におけるW相電流Iwとから境界タイミングtc12におけるW相電流Iwを線形補間により算出する。なお、補間算出部61cは、境界タイミングtc12における2相の電流iu,iwを線形補間により算出する処理を、キャリア周期Tc2の後半の期間Tc2b内に行うことができる。
例えば、図4に示すように、タイミングtu1におけるU相電流が−Iu1であり、タイミングtu2におけるU相電流が−Iu2である場合、タイミングtu1〜tc12の期間の長さをTi、タイミングtc12〜tu2の期間の長さをTivとすると、境界タイミングtc12におけるU相電流Iu12は、次の数式1で求めることができる。
Iu12={(−Iu2)−(−Iu1)}×Ti
/(Tiv+Ti)+(−Iu1) ・・・数式1
同様に、タイミングtw1におけるW相電流がIw1であり、タイミングtw2におけるW相電流がIw2である場合、タイミングtw1〜tc12の期間の長さをTii、タイミングtc12〜tw2の期間の長さをTiiiとすると、境界タイミングtc12におけるW相電流Iw12は、次の数式2で求めることができる。
Iw12={(+Iw2)−(+Iw1)}×Tii
/(Tiii+Tii)+(+Iw1) ・・・数式2
補間算出部61cは、境界タイミングにおける2相の電流を第3算出部61eへ出力する。例えば、補間算出部61cは、境界タイミングtc12におけるU相電流Iu12及びW相電流がIw12を第3算出部61eへ出力する。
第3算出部61eは、境界タイミングにおける2相の電流を補間算出部61cから受ける。例えば、第3算出部61eは、境界タイミングtc12におけるU相電流がIu12及びW相電流流Iw12を補間算出部61cから受ける。第3算出部61eは、3相の電流のうち補間された2相の電流から残りの1相の電流を算出する。
例えば図3に示す場合、第3算出部61eは、境界タイミングtc12におけるU相電流Iu12及びW相電流Iw12から、3相条件Iu+Iv+Iw=0を用いて境界タイミングtc12におけるV相電流Iv12を算出する。すなわち、第3算出部61eは、境界タイミングtc12におけるV相電流Iv12を、次の数式3で求めることができる。なお、第3算出部61eは、境界タイミングtc12におけるV相電流Iv12を算出する処理を、キャリア周期Tc2の後半の期間Tc2b内に行うことができる。
Iv12=−Iu12−Iw12・・・数式3
第3算出部61eは、算出されたIv12とともにIu12,Iw12の3相の電流を生成部40の3φ/dq座標変換器42(図1参照)へ出力する。但し、後述する判定部61fで誤検出と判定された場合は、第3算出部61eで算出された3相の電流を生成部40の3φ/dq座標変換器42で座標変換する代わりに、3φ/dq座標変換器42で算出されたd軸電流idとq軸電流iqの移動平均値、あるいは今回のd軸電流指令id*とq軸電流指令iq*を用いてd軸q軸電圧設定器45によりd軸電圧指令Vd*及びq軸電圧指令Vq*をそれぞれ求める。
第2算出部61dは、図3で示すように、第1算出部61bで算出された第1のキャリア周期の後半における2相の電流から残りの1相であるV相電流Iv=−Iu−Iwとして算出する。また、第2算出部61dは、第1算出部61bで算出された第2のキャリア周期の前半における2相の電流から残りの1相であるV相電流Iv=−Iu−Iwとして算出する。第2算出部61dは、第1のキャリア周期の後半における3相の電流と第2のキャリア周期の前半における3相の電流を判定部61fへ出力する。なお、ここで残りの1相を算出する理由は、母線電流Isから第1のキャリア周期の後半において検出できる2相の電流と第2のキャリア周期の前半において検出できる2相の電流が異なる場合にも対応できるようにするためである。
判定部61fは、第2算出部61dから受けた第1のキャリア周期の後半(図3のキャリアTc1の後半の期間Tc1b期間)における3相の電流と第2のキャリア周期の前半(図3のキャリア周期Tc2の前半の期間Tc2a)における3相の電流について各相の差分の絶対値を算出し、各相の電流値の差分が1相でも所定値Kを超えている場合は誤検出と判定する。例えば、1回目(図3のキャリアTc1の後半の期間Tc1b期間)の3相電流検出タイミングで取得したUVW各相の電流をIu1、Iv1、Iw1とし、2回目(図3のキャリア周期Tc2の前半の期間Tc2a)の3相電流検出タイミングで取得したUVWの各相の電流をIu2、Iv2、Iw2とすると、各相の差分の絶対値は、以下の通りとなる。
(a)U相の差分:|Iu1−Iu2|
(b)V相の差分:|Iv1−Iv2|
(c)W相の差分:|Iw1−Iw2|
判定部61fで1相でも誤検出と判定した場合、誤検出と判定しなかった相の電流値を含め同じタイミングで検出した電流値はモータ制御に用いずに、3φ/dq座標変換器42で算出されたd軸電流idとq軸電流iqの移動平均値、あるいは、d軸電流指令id*とq軸電流指令iq*を用いて生成部40により3相のPWM信号Up〜Wnを生成してモータを制御する。
ここで、所定値Kについて説明する。相電流は正弦波として仮定することができるので、ノイズを含まない状態では1回目の検出タイミングにおける電流値I1と2回目の検出タイミングにおける電流値I2との差分値(|I1−I2|)はそれぞれの検出タイミングの位相差に対応した正弦波の瞬時値の差分となる。仮に1回目の検出タイミングではノイズがなく、2回目の検出タイミングで相電流にノイズが重畳されたとすると、上記の差分値(|I1−I2|)はそれぞれの検出タイミングの位相差に対応した正弦波の瞬時値の差分よりも大きな値となる。
従って、上記の所定値Kは、ノイズを含んだ検出値を相電流の検出値としても同期モータの駆動制御に影響を与えないノイズのレベルを考慮して決定すればよい。例えば、上記の例でノイズを含まない1回目の検出タイミングの相電流の検出値I1とノイズが重畳された2回目の検出タイミングの相電流の検出値I2から算出した3相の相電流を用いて同期モータの制御を行ったとしても、モータが脱調したり停止したりする等の駆動制御への影響のない範囲での限界値I2mとし、その時の差分値(|I1−I2m|)を所定値Kとする(実際にはマージンを含め差分値以上の値で設定する)。つまり2回目の検出タイミングでノイズが重畳された相電流の検出値I2が限界値I2mを超えなければ差分値(|I1−I2|)は所定値K以内となり、誤検出とは判定されない。
なお、差分値は相電流(正弦波)の振幅に依存し、振幅が大きければ大きく、振幅が小さければ小さくなる。そして、その相電流の振幅はモータにかかる負荷により大きく変動する(例えば、1アンペア〜10数アンペア)。従って、駆動制御に影響を与える相電流に重畳されるノイズのレベルが一定だとすると、差分値(|I1−I2|)は相電流の振幅によって変化するため、所定値Kは検出した相電流の振幅の大きさに対応して設定するとよい。すなわち、相電流の振幅が大きい場合はKの値を大きく、相電流の振幅が小さい場合はKの値を小さくなるように設定する。
相電流の振幅値Aは、3φ/dq座標変換器42で算出されたd軸電流idとq軸電流iqの移動平均値を用い図示しない記憶部に記憶された数式4を用いて、d軸電流idとq軸電流iqが3φ/dq座標変換器42で算出される毎に算出される。
A=√(id移動平均 2+iq移動平均 2)×√(2/3)・・・数式4
所定値Kは相電流の振幅値Aに対応させて予め記憶部にテーブルとして記憶させ、同期モータの制御において、算出された相電流の振幅値Aに対応した所定値Kを設定する。また、記憶部に所定の関係式を記憶させ、その関係式と相電流の検出値、検出タイミング等を用いて判定部61fでKの値を演算し、同期モータの制御に用いてもよい。
次に、図5及び図6を用いて本実施の形態1におけるモータ制御装置100の動作を説明する。図5は、実施の形態におけるモータ制御装置100の全体処理フローを示す図であり、図6は、図5の電流検出処理のサブルーチンの処理フローを示す図である。
まず、実施の形態1におけるモータ制御装置100では、モータMを駆動するため、1つのシャント抵抗Rsを用いて母線電流Isを検出する電流検出処理を行い(ステップS1)、その検出した母線電流Isに基づいて、PWM変調による制御信号を生成し、モータMの制御を行っている(ステップS2)。そして、モータ制御装置100は、駆動しているモータMに対する図示しない外部コントローラからの運転の停止指示の有無を判断し(ステップS3)、停止指示が無ければステップS1に戻って上記処理を繰り返し、停止指示が有った場合はモータの駆動を停止する。
モータ制御装置100は、図5のステップS1における電流検出処理を図6に示すようなサブルーチンに従って処理する。モータ制御装置100の電流検出処理では、図6に示すように、本実施の形態1に特徴的な検出電流値の誤検出判断に用いる所定値Kの見直しが行われる(ステップS10)。所定値Kの見直しには、前回キャリアまで3φ/dq座標変換器42で算出された2軸電流(d軸電流id、q軸電流iq)の移動平均値を使用して常に更新される。
そして、モータ制御装置100の3φ電流算出器61のAD変換部61aは、母線電流Is(アナログ信号)をAD変換して母線電流Is(デジタル信号)を生成する。このAD変換処理は、サンプリング処理を含む。ここでは、1キャリア周期内で2回あるいは4回のサンプリングが行われる(ステップS11)。本実施の形態1のモータ制御装置100では、図3及び図4に示すように、キャリア谷(境界タイミング)に対して前のキャリア周期の後半の期間内に2点(i、ii)、後のキャリア周期の前半の期間内に2点(iii、iv)でサンプリングする。モータ制御装置100は、これらの各サンプリング点について、時間、検出値、検出相、電流符号を関連付けて図示しない記憶部に記憶する。そして、モータ制御装置100は、そのサンプリングデータを第1算出部61bへ出力する。
第1算出部61bは、AD変換部61aからデジタル信号の母線電流Isを受け、第1のキャリア周期の3相のPWM信号と第1のキャリア周期の後半に検出された母線電流とから第1のキャリア周期の後半における2相の電流を算出する。また、第1算出部61bは、第2のキャリア周期の3相のPWM信号と第2のキャリア周期の前半に検出された母線電流とから第2のキャリア周期の前半における2相の電流を算出する。そして、第1算出部61bで算出した2相電流値を用いて第2算出部61dで第1のキャリア周期の後半と第2のキャリア周期の前半の残り1相分をキルヒホッフの法則により算出し、3相電流値を算出する(ステップS12)。
3φ電流算出器61の判定部61fは、第1算出部61bと第2算出部61dで算出された第1のキャリア周期の後半における3相電流値と、第2のキャリア周期の前半における3相電流値との各相の電流差分を算出し、その絶対値を算出する(ステップS13)。さらに、判定部61fは、算出した各相の電流差分の絶対値が図示しない記憶部に記憶された所定値Kを1相でも超えているか否かを判定し(ステップS14)、3相とも超えていなければ(ステップS14でNo)、正しい検出電流値として補間算出部61cと第3算出部61eで算出された3相の電流iu,iv,iwを3φ電流算出器61から3φ/dq座標変換器42へ出力する。3φ/dq座標変換器42では、受けた固定座標系の電流ベクトル(iu,iv,iw)を回転座標系の電流ベクトル(id,iq)へ座標変換処理する(ステップS15)。生成部40は、その座標変換処理の変換結果であるd軸電流idとq軸電流iqを用いてモータ制御を行う(ステップS16)。
また、判定部61fは、算出した各相の電流差分の絶対値が所定値Kを1相でも超えている場合(ステップS14でYes)、今回同じタイミングで検出した電流値が誤検出であると判定してモータ制御に使用せず、図示しない記憶部に記憶された2軸電流(d軸電流id、q軸電流iq)の移動平均値、あるいは、d軸電流指令id*とq軸電流指令iq*を用いてモータ制御を行うようにする(ステップS17)。
(実施の形態2)
上記した実施の形態1では、モータの電流値を検出する際に、キャリア谷に対してキャリア周期の後半部分とキャリア周期の前半部分とを使ってサンプリングをしているが、本実施の形態2では、キャリア周期毎に各相の電流値をサンプリングしてモータの電流値を算出する構成が異なっている。本発明の特徴である電流値検出後に誤検出判定を行う構成については同じである。
従って、実施の形態2にかかる図7に示す3φ電流算出器61の構成は、実施の形態1にかかる図2に示す3φ電流算出器61と比較すると、検出した電流値から境界タイミングでの電流値を算出する補間算出部61cと第2検出部61dが無いところが異なっている。図7は、実施の形態2における3φ電流算出器の構成を示す図であり、実施の形態1の3φ電流算出器の構成を示す図2と同一または相当部には同一符号を付して、構成説明を省略する。
本実施の形態2では、一般的なモータの電流値検出で用いられているキャリア周期毎に各相の電流値を検出する検出アルゴリズムを採用している。このため、同一キャリア周期内で3相のうち2相電流を検出するサンプリングを行い、第1算出部で検出した2相の電流を算出して、第3算出部61eへ出力する。第3算出部61eは、第1算出部で算出された2相の電流から残りの1相を算出する。このようにして図示しない記憶部に記憶された前回(前キャリア周期)算出された3相の電流値と今回算出された現キャリア周期の3相の電流の各相の電流の差分の絶対値を算出する。この算出された各相の絶対値が、所定値Kを1相でも超えているか否かを判定部16eで判定し、3相とも超えていなければ正しい検出電流値として3φ電流算出器61からの3相の電流iu,iv,iwを3φ/dq座標変換器42に出力する。
判定部61fで1相でも誤検出と判定した場合、誤検出と判定しなかった相の電流値を含め同じタイミングで検出した電流値はモータ制御に用いず、2軸電流(d軸電流id、q軸電流iq)の移動平均値、あるいは、d軸電流指令id*とq軸電流指令iq*を用いてモータ制御を行う。
以上述べたように、本実施の形態1及び2では、モータの検出電流値に高周波ノイズが重畳して誤検出する虞がある場合に、異なるタイミングで検出された3相電流値の差分の絶対値と所定値とを比較して、1相でも所定値を超える場合は、検出された電流値を誤検出と判定し、誤検出判定を行う際の座標変換処理が不要となり、制御負荷が小さくて済むことから、高速の演算部を使用しなくて良いので、制御装置を安価に構成できる。
また、本実施の形態1及び2では、モータの電流値を検出する方法が異なるが、電流値の誤検出判定は、検出された電流値に基づいて判定処理を行うため、電流値の検出方法に制約は無く、状況に応じた電流値の検出方法と組み合わせることができる。特に、実施の形態1にかかる電流値の検出方法は、隣接するキャリア周期の後半部分と前半部分とを使って電流値を検出するため、検出結果を次のキャリア周期のモータ制御に利用できることから、モータ制御の追従性の良さを付加することができる。
また、本実施の形態1及び2では、検出された電流値を誤検出と判定すると、その電流値をモータ制御に使用せずに、前回までの算出された2相のd軸電流,q軸電流の移動平均値を用いて3相のPWM信号を生成するため、ノイズが重畳したとしてもモータを適切に制御することができる。
また、本実施の形態1及び2では、検出された電流値を誤検出と判定すると、その電流値をモータ制御に使用せずに、今回のPWM信号を生成する際に用いた電流指令(id*,iq*)を用いて3相のPWM信号を生成するため、検出された電流値にノイズが重畳したとしてもモータを適切に制御することができる。