(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-01-09
(45)【発行日】2024-01-17
(54)【発明の名称】モータ制御装置
(51)【国際特許分類】
H02P 21/24 20160101AFI20240110BHJP
H02P 27/08 20060101ALI20240110BHJP
【FI】
H02P21/24
H02P27/08
(21)【出願番号】P 2022157829
(22)【出願日】2022-09-30
【審査請求日】2023-08-31
(73)【特許権者】
【識別番号】000006611
【氏名又は名称】株式会社富士通ゼネラル
(74)【代理人】
【識別番号】110003339
【氏名又は名称】弁理士法人南青山国際特許事務所
(72)【発明者】
【氏名】齋藤 由樹
(72)【発明者】
【氏名】長田 侑大
(72)【発明者】
【氏名】浦山 昌春
(72)【発明者】
【氏名】鈴木 幹太郎
【審査官】若林 治男
(56)【参考文献】
【文献】特開2000-050419(JP,A)
【文献】特開2011-067023(JP,A)
【文献】特開2002-247876(JP,A)
【文献】特開2019-170095(JP,A)
【文献】特開2003-259680(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 21/24
H02P 27/08
(57)【特許請求の範囲】
【請求項1】
直流電源から供給される直流電圧を交流電圧に変換し、PWM制御によって前記交流電圧をモータに印加するインバータと、
前記直流電源と前記インバータとの間に接続された抵抗を用いて、前記インバータの母線電流を検出し、前記母線電流に基づいて、モータに流れるモータ電流を所定の制御周期毎に算出する算出部と、
前記算出部で算出されることで検出されたモータ電流である検出電流に基づいてモータ速度を推定する速度推定部と、
前記速度推定部が推定した推定速度が指令速度になるようにモータ電流を制御する電流制御部と、を備え、
前記電流制御部は、前記所定の制御周期毎に積分制御を実施する積分器を有し、前記検出電流が検出できなかった制御周期では、前記積分制御の実施を停止するモータ制御装置。
【請求項2】
請求項1に記載のモータ制御装置であって、さらに、
前記モータに流れるモータ電流を推定する推定部を有し、
前記電流制御部は、前記所定の制御周期毎に比例制御を行う比例器を有し、前記検出電流が検出できなかった制御周期では、前記推定部が推定した推定電流に基づいて前記比例制御を実施し、前記検出電流が検出できた制御周期では、前記検出電流に基づいて前記比例制御及び前記積分制御を実施する
モータ制御装置。
【請求項3】
請求項1に記載のモータ制御装置であって、
前記電流制御部は、前記検出電流が検出できなかった制御周期に基づく電流検出不可制御周期情報に基づいて、前記積分制御の制御量を決定する
モータ制御装置。
【請求項4】
請求項3に記載のモータ制御装置であって、
前記電流検出不可制御周期情報は、所定の区間において前記検出電流が検出できなかった制御周期が多いほど大きい値であり、
前記電流制御部は、前記電流検出不可制御周期情報が大きい値であるほど、前記積分制御の制御量を大きくする
モータ制御装置。
【請求項5】
請求項3に記載のモータ制御装置であって、
前記電流制御部は、前記検出電流が検出できた制御周期における前記積分器に入力された制御パラメータと制御目標値の偏差と、前記電流検出不可制御周期情報と、積分ゲインとに基づいて、前記積分制御の制御量を決定する
モータ制御装置。
【請求項6】
請求項5に記載のモータ制御装置であって、
前記制御量は、所定の上限値を有する
モータ制御装置。
【請求項7】
請求項4に記載のモータ制御装置であって、
前記所定の区間は、前回の前記検出電流が検出できた制御周期から、今回の前記検出電流が検出できた制御周期までの区間であり、
前記電流検出不可制御周期情報は、前記所定の区間において前記検出電流が検出できなかった制御周期に基づく値である
モータ制御装置。
【請求項8】
請求項7に記載のモータ制御装置であって、
前記電流検出不可制御周期情報は、前記所定の区間において前記検出電流の検出ができなかった制御周期の時間に基づく値である
モータ制御装置。
【請求項9】
請求項4に記載のモータ制御装置であって、
前記所定の区間は、今回の前記検出電流の検出ができた制御周期を基準とした所定の時間であり、
前記電流検出不可制御周期情報は、前記所定の区間における前記検出電流が検出できなかった制御周期の割合に基づく値である
モータ制御装置。
【請求項10】
請求項1に記載のモータ制御装置であって、
前記電流制御部は、過変調制御領域において、前記検出電流の検出ができない制御周期では、前記積分制御の実施を停止する
モータ制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータの制御を行うモータ制御装置に関する。
【背景技術】
【0002】
従来、モータを制御する方法として、インバータ回路のスイッチング素子をPWM(Pulse Width Modulation)方式でスイッチング制御するモータ制御装置が知られている。このようなモータ制御装置では、モータに流れる電流を検出する方式として、シャント抵抗を用いた電流検出方式が挙げられる。
【0003】
例えば、特許文献1には、3相電圧を生成するインバータ回路の母線電流に基づいてインバータ回路の複数のスイッチング素子をオン/オフ制御するための制御信号を生成してインバータ回路に与える制御手段を有するモータ制御装置が開示されている。このモータ制御装置では、インバータ回路の各スイッチング素子のオン/オフ状態とシャント抵抗で検出した母線電流を用いて、モータの2相の電流を検出し、検出した2相の電流から残りの1相の電流を推定する、いわゆる1シャント電流検出方式を行う。
【0004】
しかし1シャント電流検出方式では、スイッチング素子のオン/オフ状態によっては電流検出できない制御周期があり、そのような場合には、推定電流を用いて制御が行われることがある。
【0005】
またモータ制御装置では、モータを所定の速度で回転させるために、積分器及び比例器を用いて、積分制御及び比例制御が行われる。
【0006】
例えば、特許文献2には、電動機に流れる電流をd軸電流とq軸電流とに分解して電動機のベクトル制御を行うモータ制御装置が開示されている。このモータ制御装置は、速度制御部及び電流制御部を有する。速度制御部は、積分器及び比例器を用いてモータ速度の偏差を小さくするように電流指令値を生成する。また電流制御部は、積分器及び比例器を用いてモータに流れる電流の偏差を小さくするように電圧指令値を生成する。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2015-126555号公報
【文献】特開2015-192497号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
このようにモータ制御装置において、推定電流を用いて積分制御を行うと誤った偏差が蓄積され、制御が不安定化してしまう。特に、電流検出できない制御周期が連続する場合に推定電流を用いて積分制御を行うと、制御が大幅に不安定化してしまう。
【0009】
以上のような事情に鑑み、本発明の目的は、電流検出できない制御周期が生じる場合であっても、安定したモータの制御を実現することが可能なモータ制御装置を提供することにある。
【課題を解決するための手段】
【0010】
本発明の一形態に係るモータ制御装置は、インバータと、算出部と、速度推定部と、電流制御部とを備える。
前記インバータは、直流電源から供給される直流電圧を交流電圧に変換し、PWM制御によって前記交流電圧をモータに印加する。
前記算出部は、直流電源と前記インバータとの間に接続された抵抗を用いて、前記インバータの母線電流を検出し、前記母線電流に基づいて、モータに流れるモータ電流を所定の制御周期毎に算出する。
前記速度推定部は、前記算出部で算出されることで検出されたモータ電流である検出電流に基づいてモータ速度を推定する。
前記電流制御部は、前記所定の制御周期毎に積分制御を実施する積分器を有し、前記検出電流が検出できなかった制御周期では、前記積分制御の実施を停止し、前記速度推定部が推定した推定速度が指令速度になるようにモータ電流を制御する。
【0011】
上記モータ制御装置は、検出電流が検出できない場合、検出電流に基づいて積分制御を実施する積分器の積分制御の実施を停止する。これにより、電流検出ができなかったキャリアにおける積分制御が停止されることで制御の不安定化を防止し、モータの制御を安定して行うことができる。
【0012】
前記モータ制御装置であって、さらに、前記モータに流れるモータ電流を推定する推定部を有し、前記電流制御部は、前記所定の制御周期毎に比例制御を行う比例器を有し、前記検出電流が検出できなかった制御周期では、前記推定部が推定した推定電流に基づいて前記比例制御を実施し、前記検出電流が検出できた制御周期では、前記検出電流に基づいて前記比例制御及び前記積分制御を実施してもよい。
【0013】
前記電流制御部は、前記検出電流が検出できなかった制御周期に基づく電流検出不可制御周期情報に基づいて、前記積分制御の制御量を決定してもよい。
【0014】
前記電流検出不可制御周期情報は、所定の区間において前記検出電流が検出できなかった制御周期が多いほど大きい値であり、前記電流制御部は、前記電流検出不可制御周期情報が大きい値であるほど、前記積分制御の制御量を大きくしてもよい。
【0015】
前記電流制御部は、前記検出電流が検出できた制御周期における前記積分器に入力された制御パラメータと制御目標値の偏差と、前記電流検出不可制御周期情報と、積分ゲインとに基づいて、前記積分制御の制御量を決定してもよい。
【0016】
前記制御量は、所定の上限値を有してもよい。
【0017】
前記所定の区間は、前回の前記検出電流が検出できた制御周期から、今回の前記検出電流が検出できた制御周期までの区間であり、前記電流検出不可制御周期情報は、前記所定の区間において前記検出電流が検出できなかった制御周期に基づく値であってもよい。
【0018】
前記電流検出不可制御周期情報は、前記所定の区間において前記検出電流の検出ができなかった制御周期の時間に基づく値であってもよい。
【0019】
前記所定の区間は、今回の前記検出電流の検出ができた制御周期を基準とした所定の時間であり、前記電流検出不可制御周期情報は、前記所定の区間における前記検出電流が検出できなかった制御周期の割合に基づく値であってもよい。
【0020】
前記電流制御部は、過変調制御領域において、前記検出電流の検出ができない制御周期では、前記積分制御の実施を停止してもよい。
【発明の効果】
【0021】
本発明によれば、電流検出できない制御周期が生じる場合であっても、安定したモータの制御を実現することができる。
【図面の簡単な説明】
【0022】
【
図1】本発明の第1の実施形態に係るモータ制御装置の構成例を示す図である。
【
図2】積分制御の実施及び停止における制御応答を模式的に示す図である。
【
図3】積分項の加算量における制御方法を模式的に示す図である。
【
図4】本発明の第2の実施形態に係るモータ制御装置の構成例を示す図である。
【
図5】本発明の第3の実施形態に係るモータ制御装置の構成例を示す図である。
【発明を実施するための形態】
【0023】
以下、図面を参照しながら、本発明の実施形態を説明する。
【0024】
<第1の実施形態>
[モータ制御装置]
図1は、本発明の一実施形態に係るモータ制御装置の構成例を示す図である。
【0025】
モータ制御装置10は、減算器11、13、14と、速度制御器12と、電流制御器15と、非干渉化制御器16と、加算器17、18と、d-q/u,v,w変換器19と、PWM(Pulse Width Modulation)変調器20と、IPM(Intelligent Power Module)21とを有する。IPM21は、モータMに接続される。モータMの一例として、PMSM(永久磁石同期モータ)が挙げられる。
【0026】
またモータ制御装置10は、3φ電流算出器22と、シャント抵抗23と、u,v,w/d-q変換器24と、軸誤差演算器25と、PLL(Phase Locked Loop)制御器26と、位置推定器27と、1/Pn処理器28と、積分器停止判定器29と、積分制御ゲイン補償器30とを有する。
【0027】
減算器11は、モータ制御装置10の外部からモータ制御装置10へ入力された機械角速度指令値ωm*から、1/Pn処理器28により出力された現在の推定角速度である機械角推定角速度ωmを減算することにより角速度偏差ωerrを算出する。
【0028】
速度制御器12は、キャリア周期毎に積分制御を実施する積分器を有し、後述する検出電流が検出できなかったキャリアでは、積分制御の実施を停止する。また速度制御器12は、キャリア周期毎に比例制御を行う比例器を有し、検出電流が検出できなかったキャリアでは、3φ電流算出器22が推定した推定電流に基づいて比例制御を実施し、検出電流が検出できたキャリアでは、検出電流に基づいて比例制御及び積分制御を実施する。なお、本実施形態において、速度制御器12は、キャリア周期毎に比例制御及び積分制御を実施すると説明するが、比例制御及び積分制御を実施する制御周期(以下、所定の制御周期ともいう)はこれに限定されない。例えば、2キャリアに1回、比例制御及び積分制御を実施するようにしても良い。
【0029】
本実施形態では、速度制御器12は、減算器11により出力された角速度偏差ωerrと、積分制御ゲイン補償器30により出力された後述する制御時間T_iに基づいて、推定角速度を角速度指令値へ制御するために、q軸電流指令値Iq*を調整する。また本実施形態では、速度制御器12は、積分器停止判定器29により判定された積分制御を実施するか否かを示す情報を示す積分制御実施フラグflag_iに基づいて、比例制御及び積分制御、又は比例制御のみを実施する。具体的には、速度制御器12は、flag_i=TRUEの場合、比例制御及び積分制御を実施する。また速度制御器12は、flag_i=FALSEの場合、比例制御のみを実施する。
【0030】
減算器13は、モータ制御装置10の外部からモータ制御装置10へ入力されたd軸電流指令値Id*から、u,v,w/d-q変換器24により出力されたd軸電流Idを減算することによりd軸電流誤差Id_errを算出する。
【0031】
減算器14は、速度制御器12により出力されたq軸電流指令値Iq*から、u,v,w/d-q変換器24により出力されたq軸電流Iqを減算することによりq軸電流誤差Iq_errを算出する。
【0032】
電流制御器15は、キャリア周期毎に積分制御を実施する積分器を有し、検出電流が検出できなかったキャリアでは、積分制御の実施を停止する。また電流制御器12は、キャリア周期毎に比例制御を行う比例器を有し、検出電流が検出できなかったキャリアでは、3φ電流算出器22が推定した推定電流に基づいて比例制御を実施し、検出電流が検出できたキャリアでは、検出電流に基づいて比例制御及び積分制御を実施する。なお、本実施形態において、電流制御器15は、キャリア周期毎に比例制御及び積分制御を実施すると説明したが、比例制御及び積分制御を実施する制御周期はこれに限定されない。例えば、2キャリアに1回、比例制御及び積分制御を実施するようにしても良い。
【0033】
本実施形態では、電流制御器15は、減算器13により出力されたd軸電流誤差Id_errと、制御時間T_iと、積分制御実施フラグflag_iとに基づいて、駆動成分のd軸電流Idをd軸電流指令値Id*に近づけるために、仮d軸電圧Vdtを調整する。また電流制御器15は、減算器14により出力されたq軸電流誤差Iq_errと、制御時間T_iと、積分制御実施フラグflag_iとに基づいて、駆動成分のq軸電流Iqをq軸電流指令値Iq*に近づけるために、仮q軸電圧Vqtを調整する。
【0034】
本実施形態では、電流制御器15は、積分制御実施フラグflag_iに基づいて、比例制御及び積分制御、又は比例制御のみを実施する。具体的には、電流制御器15は、flag_i=TRUEの場合、比例制御及び積分制御を実施する。また電流制御器15は、flag_i=FALSEの場合、比例制御のみを実施する。
【0035】
非干渉化制御器16は、d軸電流制御及びq軸電流制御の干渉を打ち消すための非干渉化制御を実施する。具体的には、非干渉化制御器16は、PLL制御器26により出力された電気角推定角速度ωeと、d軸電流Idとに基づいて、仮d軸電圧Vdtを非干渉化するための非干渉化補正値Vdaを求め、加算器17へ出力する。また非干渉化制御器16は、PLL制御器26により出力された電気角推定角速度ωeと、q軸電流Iqとに基づいて、仮q軸電圧Vqtを非干渉化するための非干渉化補正値Vqaを求め、加算器18へ出力する。
【0036】
加算器17は、電流制御器15により出力された仮d軸電圧Vdtに、非干渉化制御器16により出力された非干渉化補正値Vdaを加算することによりd軸電圧指令値Vd*を算出する。また加算器18は、電流制御器15により出力された仮q軸電圧Vqtに、非干渉化制御器16により出力された非干渉化補正値Vqaを加算することによりd軸電圧指令値Vq*を算出する。
【0037】
d-q/u,v,w変換器19は、加算器17により出力されたd軸電圧指令値Vd*及び加算器18により出力されたq軸電圧指令値Vq*を、位置推定器27により出力された現在のロータ位置を示す電気角位相θeに基づいて、3相のU相電圧指令値Vu*、V相電圧指令値Vv*、及びW相電圧指令値Vw*へ変換する。
【0038】
PWM変調器20は、U相電圧指令値Vu*、V相電圧指令値Vv*、及びW相電圧指令値Vw*と、直流電圧の値とに基づいて、6相のPWM信号をIPM21へ出力する。
【0039】
IPM21は、モータMを駆動するための直流電圧を直流電源から受ける。また、IPM21は、PWM変調器20により出力された6相のPWM信号に基づいて、直流電圧をモータMのU相、V相、及びW相それぞれへ印加する交流電圧に変換し、それぞれの交流電圧をモータMのU相、V相、及びW相へ印加する。
【0040】
3φ電流算出器22は、シャント抵抗23を用いて母線電流を検出し、、PWM変調器20により出力される6相のPWMスイッチング情報と、検出された母線電流とから、モータMのU相電流値iu、V相電流値iv、及びW相電流値iwを算出する。
【0041】
また3φ電流算出器22は、検出電流を検出できたか否かの情報を示す電流検出可能フラグflag_1sを生成する。本実施形態では、電流検出可能フラグflag_1sは、u,v,w/d-q変換器24及び積分器停止判定器29に供給される。
【0042】
ここで検出電流とは、3φ電流算出器22で算出されることで検出されたモータMのモータ電流であるU相電流値iu、V相電流値iv、及びW相電流値iwを指す。
【0043】
ここで母線電流とは、直流電源とインバータ(PWM変調器20及びIPM21)との間に接続された抵抗を用いて検出される電流である。すなわち本実施形態では、母線電流は、IPM21とシャント抵抗23との間を流れ、直流電源とインバータとの間に接続されたシャント抵抗23により検出される電流である。
【0044】
u,v,w/d-q変換器24は、位置推定器27により出力された電気角位相θeに基づいて、3φ電流算出器22により出力された3相のU相電流値iu、V相電流値iv、及びW相電流値iwを、2相のd軸電流Id及びq軸電流Iqへ変換する。
【0045】
1シャント電流検出方式において電流検出が可能な場合、すなわち、flag_1s=TRUEの場合、下記の(数1)式を用いてU相電流値iu、V相電流値iv、及びW相電流値iwがd軸電流Id及びq軸電流Iqに変換される。
【0046】
【0047】
1シャント電流検出方式において電流検出が不可能な場合、すなわち、flag_1s=FALSEの場合、実際にモータに流れているU相電流値iu、V相電流値iv、及びW相電流値iwを正確に把握することが出来ない。そのため、u,v,w/d-q変換器24は、例えば(数1)式で過去に算出されたd軸電流Id及びq軸電流Iqに基づいてIIRフィルタによってd軸電流Id及びq軸電流Iqの平均値を算出することで、モータMに流れる電流を2相のd軸電流Id及びq軸電流Iqとして推定する(下記の(数2)式)。
【0048】
【0049】
ここでId_iir、Iq_iirは、(数1)式で過去に算出されたd軸電流Id、q軸電流IqをIIRフィルタに通した値を示す。
なお、本実施形態ではIIRフィルタによってd軸電流Id及びq軸電流Iqの平均値をd軸電流Id及びq軸電流Iqとして推定する方法を説明したが、例えば、上記平均値に負荷脈動成分を足し合わせた値をd軸電流Id及びq軸電流Iqとして推定してもよいし、モータMのモータモデル式に従って理論的にd軸電流Id及びq軸電流Iqを推定してもよい。
【0050】
(数1)式又は(数2)式のどちらかの方法で生成されたd軸電流Id及びq軸電流Iqを使用してベクトル制御が行われる。
【0051】
軸誤差演算器25は、加算器17、18により出力されたd軸電圧指令値Vd*及びq軸電圧指令値Vq*と、u,v,w/d-q変換器24により出力されたd軸電流Id及びq軸電流Iqとに基づいて、推定された回転軸と実際の回転軸との差を示す軸誤差Δθを算出する。
【0052】
PLL制御器26は、軸誤差演算器25により出力された軸誤差Δθに基づいて、モータMの現在の推定角速度である電気角推定角速度ωeを算出する。
【0053】
位置推定器27は、PLL制御器26により出力された電気角推定角速度ωeに基づいて、電気角位相θeを推定する。
【0054】
1/Pn処理器28は、PLL制御器26により出力された電気角推定角速度ωeをモータMの極対数Pnで除算することにより機械角推定角速度ωmを算出する。
【0055】
積分器停止判定器29は、3φ電流算出器22により出力された電流検出可能フラグflag_1sに基づいて、積分制御を実施するか否かを示す積分制御実施フラグflag_iを判定する。本実施形態では、積分器停止判定器29は、1シャント電流検出方式において電流検出が可能な場合(flag_1s=TRUE)、flag_i=TRUEと判定し、また積分器停止判定器29は、1シャント電流検出方式において電流検出が不可能な場合(flag_1s=FALSE)、flag_i=FALSEと判定する。生成された積分制御実施フラグflag_iは、積分制御ゲイン補償器30、速度制御器12、及び電流制御器15に出力される。
【0056】
積分制御ゲイン補償器30は、積分器停止判定器29により出力された積分制御実施フラグflag_iに基づいて、制御時間T_iを算出する。ここで、制御時間T_iは、前回積分制御を実施したキャリアの次のキャリアから、今回積分制御を実施するキャリアまでの時間である。本実施形態では、積分制御ゲイン補償器30は、積分制御を実施する場合(flag_1s=TRUE)、制御時間T_iを算出し、制御時間積算値T_integralを初期化する。ここで、制御時間積算値T_integralは、前回積分制御を実施したキャリアの次のキャリアから、現在のキャリアまでの時間の積算値である。
【0057】
すなわち、積分制御ゲイン補償器30は、積分制御を実施する場合、以下の式により制御時間T_iを算出した後、制御時間積算値T_integralの初期化を行う。
T_i=(1/fc)+T_integral
T_integral=0
【0058】
ここで、fcは、キャリア周波数を示し、1/fcは、キャリア周期、すなわち1つのキャリアの時間を示す。
【0059】
また積分制御ゲイン補償器30は、積分制御を実施しない場合(flag_1s=FALSE)、制御時間積算値T_integralを蓄積する。
【0060】
すなわち、積分制御ゲイン補償器30は、積分制御を実施しない場合、以下の式により制御時間積算値T_integralを蓄積する。
T_integral=(1/fc)+T_integral
【0061】
なお、本実施形態において、3φ電流算出器22は、直流電源とインバータとの間に接続された抵抗を用いて、インバータの母線電流を検出し、母線電流に基づいて、モータに流れるモータ電流を所定の制御周期毎に算出する算出部に相当する。
なお、本実施形態において、u,v,w/d-q変換器24は、モータMに流れるモータ電流を推定する推定部として機能する。また、u,v,w/d-q変換器24が推定したd軸電流Id及びq軸電流Iqは推定電流に相当する。
なお、本実施形態において、軸誤差演算器25、PLL制御器26、及び1/Pn処理器28は、算出部で算出されることで検出されたモータ電流である検出電流に基づいてモータ速度を推定する速度推定部として機能する。
なお、本実施形態において、速度制御器12及び電流制御器15は、速度推定部が推定した推定速度が指令速度になるようにモータ電流を制御する電流制御部として機能する。
なお、本実施形態において、キャリア周期が、所定の制御周期に相当する。
【0062】
図2は、積分制御の実施及び停止における制御応答を模式的に示す図である。
図2Aは、検出電流が検出できたキャリアと、検出電流が検出できなかったキャリアとの制御応答を模式的に示す図である。
図2Bは、各キャリアにおける積分項を模式的に示す図である。
【0063】
図2Aに示すように、検出電流が検出できたキャリア40と、検出電流が検出できなかったキャリア41とが図示される。
図2Aは、3φ電流算出器22により、4回に1回の頻度でflag_1s=TRUE(検出電流が検出できたキャリア40)が生成され、4回のうち、その他3回でflag_1s=FALSE(検出電流が検出できなかったキャリア41)が生成された場合の例である。
【0064】
本実施形態では、最初の検出電流が検出できたキャリア(40a)を前回の検出電流が検出できたキャリアと記載し、2回目に検出電流が検出できたキャリア(40b)を今回の検出電流が検出できたキャリアとする。また前回の検出電流が検出できたキャリアから、今回の検出電流が検出できたキャリアまでの区間のことを、所定の区間とする場合がる。
【0065】
速度制御器12は、検出電流が検出できたキャリア40では、比例制御及び積分制御を実施する。また速度制御器12は、検出電流が検出できなかったキャリア41では、積分制御の実施を停止し、比例制御のみを実施する。
【0066】
積分制御が実施される場合(flag_i=TRUE)、角速度偏差ωerrは下記の式により算出される。
ωerr=ωm*-ωm
【0067】
またq軸電流指令値Iq*は下記の式により算出される。なお、Kp_scは、速度制御器比例ゲイン(定数)を示す。
Iq*=(Kp_sc×ωerr)+Integrated_value
【0068】
ここで、Integrated_valueは、比例制御と積分制御のうち、積分制御により決定される項である積分項を示し、下記の式により算出される。なお、Ki_scは、速度制御器積分ゲイン(定数)を示す。
Integrated_value=(ωerr×Ki_sc×T_i)+Integrated_value
なお、上記の式における(ωerr×Ki_sc×T_i)は積分項の加算量であり、以降の説明においてΔIq*と呼ぶことがある。
【0069】
積分制御が実施されない場合(flag_i=FALSE)、角速度偏差ωerrは下記の式により算出される。
ωerr=ωm*-ωm
【0070】
またq軸電流指令値Iq*は下記の式により算出される。
Iq*=(Kp_sc×ωerr)+Integrated_value
【0071】
またIntegrated_valueは、下記の式により算出される。
Integrated_value=Integrated_value
上記の式から分かるように、flag_i=FALSEの場合、積分項にωerr×Ki_sc×T_iが加算されない。つまり、積分制御の実施が停止されていることを意味する。
【0072】
速度制御器12により算出されたωerr、Integrated_value、及びIq
*の式を図に示すと、
図2Aに示すように、角速度のグラフ45とq軸電流指令値(積分項)のグラフ50とが図示される。
【0073】
グラフ45は、縦軸が角速度を示し、横軸が時間を示す。またグラフ45では、機械角推定角速度ωmの目標値である機械角速度指令値ωm*(線46)と、検出電流が検出できたキャリア40毎に角速度が上昇する機械角推定角速度ωm(線47)とが図示される。すなわち、角速度偏差ωerrは、線46及び線47が示す角速度の差分を示す。
【0074】
グラフ45に示すように、検出電流が検出できなかったキャリア41では、積分制御が実施されないため、制御時間積算値T_integralが蓄積される。また検出電流が検出できたキャリア40では、制御時間T_iが算出される。
【0075】
グラフ50は、縦軸がq軸電流指令値(積分項)を示し、横軸が時間を示す。グラフ50において、積分項の加算量であるΔIq
*は矩形51の縦の長さで表される。
図2Aのグラフ50に示すように、ΔIq
*は、検出電流が検出できたキャリア毎に算出され、各ΔIq
*が加算されることにより、機械角推定角速度ωmが機械角速度指令値ωm
*に近づくように、q軸電流指令値Iq
*が調整される。
【0076】
電流制御器15は、積分制御を実施する場合、比例制御及び積分制御を実施する。ここで、減算器13により出力されるd軸電流誤差Id_errは下記の式により算出される。
Id_err=Id*-Id
【0077】
またIntegrated_valueは、下記の式により算出される。ここで、Ki_cc_dは、d軸電流制御器積分ゲイン(定数)を示す。
Integrated_value=(Id_err×Ki_cc_d×T_i)+Integrated_value
なお、上記の式における(Id_err×Ki_cc_d×T_i)は積分項の加算量である。
【0078】
また仮d軸電圧Vdtは下記の式により算出される。ここで、Kp_cc_dは、d軸電流制御器比例ゲイン(定数)を示す。
Vdt=(Kp_cc_d×Id_err)+Integrated_value
【0079】
同様に減算器14により出力されたq軸電流誤差Iq_errは下記の式により算出される。
Iq_err=Iq*-Iq
【0080】
またIntegrated_valueは、下記の式により算出される。ここで、Ki_cc_qは、q軸電流制御器積分ゲイン(定数)を示す。
Integrated_value=(Iq_err×Ki_cc_q×T_i)+Integrated_value
なお、上記の式における(Iq_err×Ki_cc_q×T_i)は積分項の加算量である。
【0081】
また仮q軸電圧Vqtは下記の式により算出される。ここで、Kp_cc_qは、q軸電流制御器比例ゲイン(定数)を示す。
Vqt=(Kp_cc_q×Iq_err)+Integrated_value
【0082】
電流制御器15は、積分制御を実施しない場合、比例制御のみを実施する。ここで、減算器13により出力されるd軸電流誤差Id_errは下記の式により算出される。
Id_err=Id*-Id
【0083】
またIntegrated_valueは、下記の式により算出される。
Integrated_value=Integrated_value
【0084】
また仮d軸電圧Vdtは下記の式により算出される。
Vdt=(Kp_cc_d×Id_err)+Integrated_value
【0085】
同様に減算器14により出力されたq軸電流誤差Iq_errは下記の式により算出される。
Iq_err=Iq*-Iq
【0086】
またIntegrated_valueは、下記の式により算出される。
Integrated_value=Integrated_value
【0087】
また仮q軸電圧Vqtは下記の式により算出される。
Vqt=(Kp_cc_q×Iq_err)+Integrated_value
【0088】
また本実施形態では、速度制御器12及び電流制御器15は、検出電流が検出できなかったキャリアに基づく電流検出不可制御周期情報(本実施形態の制御時間T_i)に基づいて、積分制御の制御量(本実施形態の加算量)を決定する。具体的には、速度制御器12及び電流制御器15は、電流検出不可制御周期情報が大きい値であるほど、積分制御の制御量を大きくする。
【0089】
また速度制御器12及び電流制御器15は、検出電流が検出できたキャリアにおける積分器に入力された制御パラメータ(本実施形態の機械角推定角速度ωm、d軸電流Id、q軸電流Iq)と制御目標値(本実施形態の機械角速度指令値ωm*、d軸電流指令値Id*、q軸電流指令値Iq*)の偏差(本実施形態の角速度偏差ωerr、d軸電流誤差Id_err、q軸電流誤差Iq_err)と、電流検出不可制御周期情報と、積分ゲイン(本実施形態の速度制御器積分ゲイン、d軸電流制御器積分ゲイン、q軸電流制御器積分ゲイン)とに基づいて、積分制御の制御量を決定する。
【0090】
また電流検出不可制御周期情報は、所定の区間において検出電流が検出できなかったキャリアに基づく値である。
【0091】
また電流検出不可制御周期情報は、所定の区間において検出電流の検出ができなかったキャリアの時間に基づく値である。
【0092】
図3は、積分項の加算量における制御方法を模式的に示す図である。
【0093】
ここで、電流検出ができなかったキャリアが長時間続いた場合に起こりうる問題について説明する。もし電流検出ができなかったキャリアが長時間続いた場合、制御時間T_iが大きくなるため、積分項の加算量であるΔIq*が大きくなり過ぎてしまい、制御が不安定化してしまう可能性がある。
【0094】
図3では、ΔIq
*に所定の上限値を設けることで制御の不安定化を防ぐ例を説明する。安定駆動している場合の機械角推定角速度ωmは、機械角速度指令値ωm
*に対しておおよそ正弦波状に変動する。
図3では、その正弦波の180から270°の箇所で生成されるq軸電流指令値Iq
*についての例を説明する。
【0095】
図3Aは、毎キャリアにおいて電流検出ができた場合の例を示す図である。グラフ60aは、縦軸が角速度を示し、横軸が時間を示す。グラフ61aは、縦軸がq軸電流指令値を示し、横軸が時間を示す。
【0096】
図3Aに示すように、毎キャリアで電流検出ができる場合、速度制御器12は、キャリアごとに比例制御及び積分制御を実施する。この場合に到達するIq
*を理想値65とする。
【0097】
図3Bは、所定の上限値を設けていない場合の例を示す図である。グラフ60bは、縦軸が角速度を示し、横軸が時間を示す。グラフ61bは、縦軸がq軸電流指令値を示し、横軸が時間を示す。
【0098】
図3Bでは、8つの電流検出ができなかったキャリア66の後に電流検出ができたとする。すなわち、
図3Bでは、8つの電流検出ができなかったキャリア66で制御時間積算値T_integralが蓄積され、制御時間T_iは、電流検出ができたキャリア67を含む9キャリア分の時間となる。そして、電流検出ができたキャリア67における角速度偏差ωerrと速度制御器積分ゲインKi_scと、9キャリア分の時間である制御時間T_iとの積によりΔIq
*が算出される。つまり、8つ電流検出ができなかったキャリア66すべてにおいて、電流検出ができたキャリア67における角速度偏差ωerrがあったとみなしてΔIq
*が算出されることになる。したがって、正弦波180°付近の角速度偏差ωerrは小さいにも関わらず、正弦波270°付近の大きな角速度偏差ωerrとみなされることになるため、ΔIq
*が過大になり、q軸電流指令値Iq
*が補償され過ぎてしまう。
【0099】
グラフ61bに示すように、q軸電流指令値Iq*は、補償され過ぎたことで理想値65を超えてしまう。
【0100】
図3Cは、所定の上限値を設けた場合の例を示す図である。グラフ60cは、縦軸が角速度を示し、横軸が時間を示す。グラフ61cは、縦軸がq軸電流指令値を示し、横軸が時間を示す。
【0101】
図3Cでは、
図3Bと同様に、8つの電流検出ができなかったキャリア66の後に電流検出ができたとする。
図3Cの例では、制御時間T_iに上限値としてT_i_limが設定される。本実施形態では、T_i_limは、3つの電流検出ができなかったキャリア66と1つの電流検出ができたキャリア67とを含む時間である。
【0102】
積分制御ゲイン補償器30により算出された制御時間T_iがT_i_lim以上の場合(T_i≧T_i_lim)、制御時間T_iはT_i_limと等しくなるように制限される。また制御時間T_iがT_i_limより小さい場合(T_i<T_i_lim)、制御時間T_iは制限されることなくそのままの値で用いられる。すなわち、
図3Cの例では、制御時間T_iは、まず、8つの電流検出ができなかったキャリア66と1つの電流検出ができたキャリア67とを含む時間として算出されるが、T_i_limと等しくなるように制限される。したがって、3つの電流検出ができなかったキャリア66と1つの電流検出ができたキャリア67とを含む時間として決定される。
【0103】
なお、T_i_limは任意に設定されてもよい。例えば、1/(最高機械角回転数[rps]×10)と設定されてもよい。具体的には、最高機械角回転数が140rpsの場合、T_i_lim=1/(140×10)=0.7143[ms]となる。
【0104】
このように、制御時間T_iの上限値としてT_i_limが設定されることにより、q軸電流指令値Iq*に所定の上限値が設定される。
【0105】
これにより、q軸電流指令値Iq*は、理想値65を超えることなく制御される。この結果、電流検出ができたキャリアにおける偏差の影響によって加算量が過大になることを防止し、適切な制御応答を確保することができる。
【0106】
[第1の実施形態の作用]
以上のように本実施形態によれば、検出電流が検出できない場合、検出電流に基づいて積分制御を実施する積分器の積分制御の実施を停止する。これにより、電流検出ができなかったキャリアにおける積分制御が停止されることで制御の不安定化を防止し、モータの制御を安定して行うことができる。
【0107】
さらに本実施形態によれば、モータ制御装置10にモータMに流れるモータ電流を推定する推定部を有する。また速度制御器12及び電流制御器15は、所定の制御周期毎に比例制御を行う比例器を有し、検出電流が検出できなかった制御周期では、推定部が推定した推定電流に基づいて比例制御を実施し、検出電流が検出できた制御周期では、検出電流に基づいて比例制御及び積分制御を実施する。これにより、電流検出ができなかった制御周期では比例制御が実施されることで優れた制御応答が可能となる。
【0108】
さらに本実施形態によれば、速度制御器12及び電流制御器15は、検出電流が検出できなかった制御周期に基づく電流検出不可制御周期情報に基づいて、積分制御の制御量を決定するため、検出電流が検出できなかった制御周期が多くても優れた制御応答が可能となる。
【0109】
さらに本実施形態によれば、電流検出不可制御周期情報は、所定の区間において検出電流が検出できなかった制御周期が多いほど大きい値であり、速度制御器12及び電流制御器15は、電流検出不可制御周期情報が大きい値であるほど、積分制御の制御量を大きくする。これにより、検出電流が検出できなかった制御周期が多くても優れた制御応答が可能となる。
【0110】
さらに本実施形態によれば、速度制御器12及び電流制御器15は、検出電流が検出できた制御周期における積分器に入力された制御パラメータと制御目標値の偏差と、電流検出不可制御周期情報と、積分ゲインとに基づいて、積分制御の制御量を決定する。これにより、最新の偏差に基づいて制御量を決定することで優れた制御応答が可能となる。
【0111】
さらに本実施形態によれば、制御量は、所定の上限値を有する。これにより、最新の偏差の影響によって制御量が過剰になることを防止し、適切な制御応答が可能となる。
【0112】
さらに本実施形態によれば、所定の区間は、前回の検出電流が検出できた制御周期から、今回の検出電流が検出できた制御周期までの区間であり、電流検出不可制御周期情報は、所定の区間において検出電流が検出できなかった制御周期に基づく値である。これにより、検出電流が検出できなかった制御周期が多くても優れた制御応答が可能となる。
【0113】
さらに本実施形態によれば、電流検出不可制御周期情報は、所定の区間において検出電流の検出ができなかった制御周期の時間に基づく値である。これにより、例えば騒音対策等の目的で制御周期を可変とした場合にも適切に制御量を決定できる。
【0114】
<第2の実施形態>
続いて本発明の第2の実施形態について説明する。本実施形態では、積分制御ゲイン補償器30の他の制御例について説明する。なお、上述の第1の実施形態と対応する部分については同一の符号を付し、その詳細な説明については省略する。
【0115】
図4は、本実施形態のモータ制御装置70の構成例を示す図である。
【0116】
図4における積分制御ゲイン補償器30は、積分器停止判定器29により積分制御実施フラグflag_iに基づいて、キャリアカウント値Count_iを算出する。ここで、キャリアカウント値Count_iは、前回積分制御を実施したキャリアの次のキャリアから、今回積分制御を実施するキャリアまでのキャリアの数である。
【0117】
具体的には、積分制御ゲイン補償器30は、積分制御を実施する場合(flag_i=TRUE)、キャリアカウント値Count_iを算出する。また積分制御ゲイン補償器30は、積算キャリア値Count_integralを初期化する。ここで、積算キャリア値Count_integralは、前回積分制御を実施したキャリアの次のキャリアから、現在のキャリアまでのキャリアの数の積算値である。
【0118】
すなわち、積分制御ゲイン補償器30は、積分制御を実施する場合、以下の式を算出する。
Count_i=1+Count_integral
Count_integral=0
【0119】
また積分制御ゲイン補償器30は、積分制御を実施しない場合(flag_1s=FALSE)、積算キャリア値Count_integralを蓄積する。積分制御を実施しない場合のCount_integralは、以下の式より算出される。
Count_integral=1+Count_integral
【0120】
図4に示すように、積分制御ゲイン補償器30により出力されたCount_iは、速度制御器12及び電流制御器15に出力される。
【0121】
速度制御器12は、積分制御が実施される場合、比例制御及び積分制御を実施する。本実施形態では、速度制御器12は、積分制御ゲイン補償器30により出力されたCount_iに基づいて、積分ゲイン(以下、gainと記載)を補正する。
【0122】
gainは、下記の式により算出される。
gain=Ki_sc×Count_i
【0123】
またIntegrated_valueは、下記の式により算出される。
Integrated_value=(ωerr×gain×(1/fc))+Integrated_value
なお、上記の式における(ωerr×gain×(1/fc))は積分項の加算量である。
【0124】
q軸電流指令値Iq*は下記の式により算出される。
Iq*=(Kp_sc×ωerr)+Integrated_value
【0125】
速度制御器12は、積分制御を実施しない場合、積分制御の実施を停止し、比例制御のみを実施する。なお計算は第1の実施形態に記載した速度制御器12の式と同様のため省略する。
【0126】
電流制御器15は、積分制御を実施する場合、比例制御及び積分制御を実施する。本実施形態では、電流制御器15は、Count_iに基づいて、積分ゲイン(gain)を補正する。
【0127】
gainは、下記の式により算出される。
gain=Ki_cc_d×Count_i
【0128】
またIntegrated_valueは、下記の式により算出される。
Integrated_value=(Id_err×gain×(1/fc))+Integrated_value
なお、上記の式における(Id_err×gain×(1/fc))は積分項の加算量である。
【0129】
また仮d軸電圧Vdtは下記の式により算出される。
Vdt=(Kp_cc_d×Id_err)+Integrated_value
【0130】
q軸も同様に以下の式から算出される。
gain=Ki_cc_q×Count_i
Integrated_value=(Iq_err×gain×(1/fc))+Integrated_value
Vqt=(Kp_cc_q×Iq_err)+Integrated_value
なお、上記の式における(Iq_err×gain×(1/fc))は積分項の加算量である。
【0131】
電流制御器15は、積分制御を実施しない場合、積分制御の実施を停止し、比例制御のみを実施する。なお計算は第1の実施形態に記載した電流制御器15の式と同様のため省略する。
【0132】
[第2の実施形態の作用]
以上のように第2の実施形態によれば、所定の区間は、前回の検出電流が検出できたキャリアから、今回の検出電流が検出できたキャリアまでの区間であり、電流検出不可制御周期情報(本実施形態のキャリアカウント値Count_i)は、所定の区間において検出電流が検出できなかったキャリアに基づく値である。これにより、電流検出ができなかったキャリアが多くても優れた制御応答が可能となる。
【0133】
<第3の実施形態>
続いて本発明の第3の実施形態について説明する。本実施形態では、積分制御ゲイン補償器30の他の制御例について説明する。なお、上述の第1の実施形態と対応する部分については同一の符号を付し、その詳細な説明については省略する。
【0134】
図5は、本実施形態のモータ制御装置80の構成例を示す図である。
【0135】
本実施形態のモータ制御装置80は、電流検出不可割合算出器81を有する。
【0136】
電流検出不可割合算出器81は、所定の区間における検出電流が検出できなかったキャリアの割合を示す電流検出不可割合shunt_ng_ratioを算出する。例えば、電流検出不可割合算出器81は、3φ電流算出器22により出力された電流検出可能フラグflag_1sに基づいて、フィルタ等を用いることでshunt_ng_ratioを算出する。
【0137】
例えば、shunt_ng_ratioの算出にIIRフィルタが使用される場合、以下の式からshunt_ng_ratioが算出される。
shunt_ng_ratio=((shunt_ng_ratio×(N-1))+input)/N
【0138】
ここでNは、shunt_ng_ratioを算出する区間を意味するキャリア数であり、予め実験によって求められた任意の値に設定される。また、例えば、電流制御器の応答速度等を考慮して設定されてもよい。
【0139】
またinputは、IIRフィルタの入力値であり、電流検出不可割合算出器81は、電流検出が可能な場合、inputに1を入力し、電流検出が不可能な場合、inputに0を入力する。
【0140】
図5に示すように、電流検出不可割合算出器81により出力されたshunt_ng_ratioは、速度制御器12及び電流制御器15に出力される。
【0141】
速度制御器12は、積分制御が実施される場合、比例制御及び積分制御を実施する。本実施形態では、速度制御器12は、電流検出不可割合算出器81により出力されたshunt_ng_ratioに基づいて、積分ゲイン(gain)を補正する。
【0142】
gainは、下記の式により算出される。
gain=Ki_sc×(1/(1-shunt_ng_ratio))
【0143】
またIntegrated_valueは、下記の式により算出される。
Integrated_value=(ωerr×gain×(1/fc))+Integrated_value
なお、上記の式における(ωerr×gain×(1/fc))は積分項の加算量である。
【0144】
q軸電流指令値Iq*は下記の式により算出される。
Iq*=(Kp_sc×ωerr)+Integrated_value
【0145】
このように、本実施形態においては、積分制御が実施されるキャリアにおけるshunt_ng_ratioに基づいて、積分ゲイン、ひいては積分項の加算量が算出される。したがって、積分制御が実施されるキャリアにおいて、所定の区間は、検出電流の検出ができたキャリアからN個前のキャリアまでの区間となる。
【0146】
速度制御器12は、積分制御を実施しない場合、積分制御の実施を停止し、比例制御のみを実施する。なお計算は第1の実施形態に記載した速度制御器12の式と同様のため省略する。
【0147】
電流制御器15は、積分制御を実施する場合、比例制御及び積分制御を実施する。本実施形態では、電流制御器15は、shunt_ng_ratioに基づいて、積分ゲイン(gain)を補正する。
【0148】
gainは、下記の式により算出される。
gain=Kp_cc_d×(1/(1-shunt_ng_ratio))
【0149】
またIntegrated_valueは、下記の式により算出される。
Integrated_value=(Id_err×gain×(1/fc))+Integrated_value
なお、上記の式における(Id_err×gain×(1/fc))は積分項の加算量である。
【0150】
また仮d軸電圧Vdtは下記の式により算出される。
Vdt=(Kp_cc_d×Id_err)+Integrated_value
【0151】
q軸も同様に以下の式から算出される。
gain=Ki_cc_q×(1/(1-shunt_ng_ratio))
Integrated_value=(Iq_err×gain×(1/fc))+Integrated_value
Vqt=(Kp_cc_q×Iq_err)+Integrated_value
なお、上記の式における(Iq_err×gain×(1/fc))は積分項の加算量である。
【0152】
電流制御器15は、積分制御を実施しない場合、積分制御の実施を停止し、比例制御のみを実施する。なお計算は第1の実施形態に記載した電流制御器15の式と同様のため省略する。
【0153】
[第3の実施形態の作用]
以上のように第3の実施形態によれば、所定の区間は、今回の検出電流の検出ができた制御周期を基準とした所定の時間であり、電流検出不可制御周期情報(本実施形態の電流検出不可割合shunt_ng_ratio)は、所定の区間における検出電流が検出できなかった制御周期の割合に基づく値である。これにより、電流検出ができなかった制御周期が多くても優れた制御応答が可能となる。
【0154】
第3の実施形態では、所定の区間における電流検出ができなかった制御周期の割合に基づいて、積分ゲインが補正される例について説明した。これに限定されず、例えば所定の区間における電流検出ができた制御周期の割合に基づいて積分ゲインが補正されてもよい。
【0155】
以上、本発明の実施形態について説明したが、本発明は上述の実施形態にのみ限定されるものではなく種々変更を加え得ることは勿論である。例えば、上記の第1の実施形態、第2の実施形態、及び第3の実施形態が組み合わされてもよい。
【0156】
以上の実施形態では、変調率が100%より小さい状態における制御例について説明した。これに限定されず、変調率が100%以上の過変調の状態である過変調制御領域においても上記の制御が行われてもよい。例えば、速度制御器12及び電流制御器15は、過変調制御領域において、検出電流が検出できないキャリアでは、積分制御の実施を停止してもよい。これにより、電流検出ができなかったキャリアが増える過変調領域において優れた制御応答が可能となる。
【符号の説明】
【0157】
10…モータ制御装置
12…速度制御器
15…電流制御器
29…積分器停止判定器
30…積分制御ゲイン補償器
81…電流検出不可割合算出器
【要約】
【課題】安定したモータの制御を実現することが可能なモータ制御装置を提供する。
【解決手段】本発明の一形態に係るモータ制御装置はインバータと算出部と速度推定部と電流制御部とを備える。前記インバータは直流電源から供給される直流電圧を交流電圧に変換しPWM制御によって前記交流電圧をモータに印加する。前記算出部は、直流電源と前記インバータとの間に接続された抵抗を用いて前記インバータの母線電流を検出し前記母線電流に基づいてモータに流れるモータ電流を所定の制御周期毎に算出する。前記速度推定部は前記算出部で算出されることで検出されたモータ電流である検出電流に基づいてモータ速度を推定する。前記電流制御部は前記所定の制御周期毎に積分制御を実施する積分器を有し前記検出電流が検出できなかった制御周期では、前記積分制御の実施を停止し前記速度推定部が推定した推定速度が指令速度になるようにモータ電流を制御する。
【選択図】
図1