(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023051558
(43)【公開日】2023-04-11
(54)【発明の名称】モータ制御装置
(51)【国際特許分類】
H02P 29/024 20160101AFI20230404BHJP
H02P 29/20 20160101ALI20230404BHJP
H02P 21/34 20160101ALI20230404BHJP
H02P 21/24 20160101ALI20230404BHJP
【FI】
H02P29/024
H02P29/20
H02P21/34
H02P21/24
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021162346
(22)【出願日】2021-09-30
(71)【出願人】
【識別番号】000006611
【氏名又は名称】株式会社富士通ゼネラル
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】浦山 昌春
【テーマコード(参考)】
5H501
5H505
【Fターム(参考)】
5H501DD04
5H501FF01
5H501GG03
5H501GG05
5H501GG07
5H501GG08
5H501HA04
5H501HB08
5H501HB16
5H501JJ04
5H501JJ22
5H501JJ24
5H501JJ26
5H501LL22
5H501LL53
5H501MM04
5H505DD03
5H505DD08
5H505EE41
5H505EE49
5H505EE55
5H505FF01
5H505GG02
5H505GG04
5H505GG06
5H505GG07
5H505HA06
5H505JJ04
5H505JJ22
5H505JJ24
5H505JJ25
5H505JJ26
5H505JJ28
5H505LL22
5H505LL56
5H505MM04
(57)【要約】
【課題】モータのロック状態を正しく検出すること。
【解決手段】速度指令値に基づく制御系座標軸の回転位相にモータM)が同期する同期運転モードと、帰還制御により軸誤差が調整されることで得られる速度推定値に基づいて制御系座標軸の回転位相が生成される位置センサレス制御モードとを有するモータ制御装置100において、同期運転電流指令値生成器13は、同期運転モードにおいて、軸誤差Δθを0に近づけるようにd軸電流指令値id
*及びq軸電流指令値iq
*を調整し、ロック判定器52は、同期運転モードにおいて、所定のタイミングにおける電流振幅値が閾値以上であるときに、モータMがロックしていると判定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
速度指令値に基づく制御系座標軸の回転位相にモータを同期させる同期運転モードと、軸誤差を帰還制御することで得られる速度推定値に基づいて前記制御系座標軸の回転位相が生成される位置センサレス制御モードとを有するモータ制御装置であって、
前記同期運転モードにおいて、前記軸誤差を0に近づけるように電流指令値を調整する同期運転電流指令値生成器と、
前記同期運転モードにおいて、所定のタイミングにおける電流振幅値が閾値以上であるときに、前記モータがロックしていると判定するロック判定器と、
を具備するモータ制御装置。
【請求項2】
前記閾値は、前記電流振幅値の上限値である第一上限値よりも小さい値である、
請求項1に記載のモータ制御装置。
【請求項3】
前記同期運転モードは速度上昇区間と電流調整区間とを有し、
前記所定のタイミングは、前記電流調整区間にある、
請求項1に記載のモータ制御装置。
【請求項4】
前記同期運転電流指令値生成器は、前記速度上昇区間においてd軸電流指令値を所定値に設定して前記モータの回転数を所定回転数まで上昇させた後、前記電流調整区間において、前記d軸電流指令値を前記所定値よりも小さい値を有する目標指令値まで減少させるとともに、前記軸誤差を0に近づけるように帰還制御することによりq軸電流指令値を調整する、
請求項3に記載のモータ制御装置。
【請求項5】
前記同期運転電流指令値生成器は、前記q軸電流指令値の上限値である第二上限値によって前記q軸電流指令値を制限し、
前記第二上限値は前記電流振幅値の上限値である第一上限値に基づいて算出される、
請求項4に記載のモータ制御装置。
【請求項6】
前記同期運転電流指令値生成器は、前記d軸電流指令値が前記所定値にあるときの電流振幅値を、前記電流振幅値の上限値である第一上限値として用いる、
請求項4に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、モータ制御装置に関する。
【背景技術】
【0002】
PMSM(Permanent Magnet Synchronous Motor)の制御の一つとして、モータの回転に伴って発生する誘起電圧(以下では「モータ誘起電圧」と呼ぶことがある)を用いてモータのロータ位置の推定(以下では「位置推定」と呼ぶことがある)を行う位置センサレス制御が知られている。位置センサレス制御では、モータの停止状態や、モータ誘起電圧が小さい極低回転状態において位置推定の誤差が大きくなる。
【0003】
これに対し、位置センサレス制御モードとは異なる運転モードとして、速度指令値に基づく制御系座標軸の回転位相にモータを同期させる「同期運転モード」を設け、同期運転モードにおいて軸誤差が0近傍になるように電流ベクトルの位相(以下では「電流位相」と呼ぶことがある)を調整した上で、運転モードを同期運転モードから位置センサレス制御モードに移行させる技術がある。
【0004】
また、モータ誘起電圧を用いて、モータが回転不可能な状態(以下では「ロック状態」と呼ぶことがある)にあることを検出する技術が知られている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、モータ誘起電圧を用いてロック状態の発生を検出する場合、モータ誘起電圧の定数(以下では「誘起電圧定数」と呼ぶことがある)のばらつきやインバータの出力誤差の影響で、ロック状態を正しく検出できないことがある。
【0007】
そこで、本開示は、モータのロック状態を正しく検出できる技術を提案する。
【課題を解決するための手段】
【0008】
本開示のモータ制御装置は、速度指令値に基づく制御系座標軸の回転位相にモータを同期させる同期運転モードと、軸誤差を帰還制御することで得られる速度推定値に基づいて前記制御系座標軸の回転位相が生成される位置センサレス制御モードとを有する。また、本開示のモータ制御装置は、同期運転電流指令値生成器と、ロック判定器とを有する。前記同期運転電流指令値生成器は、前記同期運転モードにおいて、前記軸誤差を0に近づけるように電流指令値を調整する。前記ロック判定器は、前記同期運転モードにおいて、所定のタイミングにおける電流振幅値が閾値以上であるときに、前記モータがロックしていると判定する。
【発明の効果】
【0009】
本開示によれば、モータのロック状態を正しく検出できる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、本開示の実施例のモータ制御装置の構成例を示す図である。
【
図2】
図2は、本開示の実施例のモータ制御装置の動作例を示す図である。
【
図3】
図3は、本開示の実施例のモータ制御装置の動作例を示す図である。
【
図4】
図4は、本開示の実施例の同期運転電流指令値生成器の構成例を示す図である。
【
図5】
図5は、本開示の実施例のモータ制御装置の動作例を示す図である。
【発明を実施するための形態】
【0011】
以下、本開示の実施例を図面に基づいて説明する。以下の実施例において、同一の部位には同一の符号を付し、重複する説明を省略することがある。
【0012】
[実施例]
<モータ制御装置の構成>
図1は、本開示の実施例のモータ制御装置の構成例を示す図である。
図1において、モータ制御装置100は、減算器11,18,19と、速度制御器12と、電流制御器20と、加算器21,22と、dq/uvw変換器23と、PWM(Pulse Width Modulation)処理器24と、IPM(Intelligent Power Module)25とを有する。IPM25は、モータMに接続される。モータMの一例としてIPMSM(Interior Permanent Magnet Synchronous Motor)及びSPMSM(Surface Permanent Magnet Synchronous Motor)等のPMSMが挙げられる。
【0013】
また、モータ制御装置100は、電流検出器28と、uvw/dq変換器29と、軸誤差演算器30と、PLL(Phase Locked Loop)制御器31と、位置推定器32と、非干渉化制御器36とを有する。
【0014】
また、モータ制御装置100は、電流指令値生成器10と、スイッチSW1,SW2,SW3と、運転モード切替器40と、電流振幅算出器51と、ロック判定器52とを有する。電流指令値生成器10は、同期運転電流指令値生成器13と、センサレス電流指令値生成器14とを有する。スイッチSW1,SW2,SW3の各々は、A接点とB接点とを有する。
【0015】
モータ制御装置100の運転モードには、同期運転モードと、位置センサレス制御モードとがある。運転モード切替器40は、モータ制御装置100の運転モードを、同期運転モードと位置センサレス制御モードとの間で切り替える。運転モード切替器40は、モータ制御装置100の外部のコントローラによって制御される。運転モード切替器40は、運転モードが同期運転モードであるときは、電流指令値生成器10において同期運転電流指令値生成器13を動作させる一方でセンサレス電流指令値生成器14の動作を停止させるとともに、スイッチSW1,SW2,SW3を接点Bに接続する。また、運転モード切替器40は、運転モードが位置センサレス制御モードであるときは、電流指令値生成器10においてセンサレス電流指令値生成器14を動作させる一方で同期運転電流指令値生成器13の動作を停止させるとともに、スイッチSW1,SW2,SW3を接点Aに接続する。同期運転電流指令値生成器13は、運転モードが同期運転モードにあるときの電流指令値を生成する。センサレス電流指令値生成器14は、運転モードが位置センサレス制御モードにあるときの電流指令値を生成する。
【0016】
軸誤差演算器30は、d軸電流検出値idと、q軸電流検出値iqと、d軸電圧指令値Vdと、q軸電圧指令値Vqとに基づいて、制御系座標軸であるdc-qc座標軸と、モータMの回転子座標軸であるd-q座標軸との差である軸誤差Δθを算出する。軸誤差演算器30によって算出された軸誤差Δθは、PLL制御器31及び同期運転電流指令値生成器13に入力される。
【0017】
位置推定器32は、スイッチSW3を介して入力される速度情報を積分することで、dc-qc座標軸の回転位相θdqを生成する。運転モードが同期運転モードにあるときは、スイッチSW3は接点Bに接続されるため、モータ制御装置100の外部(例えば、上位のコントローラ)からモータ制御装置100へ入力される電気角速度の指令値である速度指令値ω*が速度情報として位置推定器32に入力される。よって、同期運転モードでは、速度指令値ω*に基づいて生成された回転位相θdqにモータMが同期する。一方で、運転モードが位置センサレス制御モードにあるときは、スイッチSW3は接点Aに接続されるため、PLL制御器31から出力される電気角速度の推定値である速度推定値ωが速度情報として位置推定器32に入力される。よって、位置センサレス制御モードでは、軸誤差Δθが帰還制御されることで得られる速度推定値ωに基づいて回転位相θdqが生成される。
【0018】
電流制御器20は、d軸電流指令値id
*とd軸電流検出値idとの誤差であるd軸電流誤差id_difを比例積分制御することにより、非干渉化前のd軸電圧指令値Vd_ccを算出する。また、電流制御器20は、q軸電流指令値iq
*とq軸電流検出値iqとの誤差であるq軸電流誤差iq_difを比例積分制御することにより、非干渉化前のq軸電圧指令値Vq_ccを算出する。例えば、電流制御器20は、式(1)に従ってd軸電圧指令値Vd_ccを算出し、式(2)に従ってq軸電圧指令値Vq_ccを算出する。式(1)において、Kp_dはd軸比例ゲイン、Ki_dはd軸積分ゲインであり、式(2)において、Kp_qはq軸比例ゲイン、Ki_qはq軸積分ゲインである。
【数1】
【数2】
【0019】
非干渉化制御器36は、速度指令値ω
*とd軸電流指令値id
*とq軸電流指令値iq
*とに基づいて、d軸電圧指令値Vd_ccを補償するためのd軸非干渉化電圧指令値Vd_aを算出する。また、非干渉化制御器36は、速度指令値ω
*とd軸電流指令値id
*とq軸電流指令値iq
*とに基づいて、q軸電圧指令値Vq_ccを補償するためのq軸非干渉化電圧指令値Vq_aを算出する。例えば、非干渉化制御器36は、式(3)に従ってd軸非干渉化電圧指令値Vd_aを算出し、式(4)に従ってq軸非干渉化電圧指令値Vq_aを算出する。式(3)及び式(4)において、RはモータMの巻線抵抗、LdはモータMのd軸インダクタンス、LqはモータMのq軸インダクタンス、ΨaはモータMの電気子鎖交磁束である。
【数3】
【数4】
【0020】
ここで、非干渉化制御器36でのd軸非干渉化電圧指令値Vd_a及びq軸非干渉化電圧指令値Vq_aの算出に使用される電流をd軸電流指令値id*及びq軸電流指令値iq*とすることにより、急激な電流指令値の変化にもモータMの制御を追従させることが可能となる。よって、後述する同期運転モードでの電流調整区間において、d軸電流指令値id*及びq軸電流指令値iq*が瞬時に変化する状況下でも、モータMの制御の安定性と応答性とを両立させることができる。
【0021】
加算器21は、式(5)に従って、d軸非干渉化電圧指令値Vd_aをd軸電圧指令値Vd_ccに加算することにより、最終的なd軸電圧指令値Vdを算出する。また、加算器22は、式(6)に従って、q軸非干渉化電圧指令値Vq_aをq軸電圧指令値Vq_ccに加算することにより、最終的なq軸電圧指令値Vqを算出する。これにより、d-q座標軸間の干渉がフィードフォワードでキャンセルされたd軸電圧指令値Vd及びq軸電圧指令値Vqが算出される。
【数5】
【数6】
【0022】
dq/uvw変換器23は、加算器21,22から出力される2相のd軸電圧指令値Vd及びq軸電圧指令値Vqを、位置推定器32から出力される回転位相θdqに基づいて、3相のU相電圧指令値Vu、V相電圧指令値Vv及びW相電圧指令値Vwへ変換する。
【0023】
PWM処理器24は、U相電圧指令値Vu、V相電圧指令値Vv及びW相電圧指令値Vwと、PWMキャリア信号とに基づいて6相のPWM信号を生成し、生成した6相のPWM信号をIPM25へ出力する。
【0024】
IPM25は、PWM処理器24から出力される6相のPWM信号に基づいて、直流電圧VdcからU相、V相、W相の3相の交流電圧を生成し、生成した3相それぞれの交流電圧をモータMのU相、V相、W相へ印加する。
【0025】
電流検出器28は、1シャント方式でIPM25の母線電流が検出される場合、PWM処理器24より出力される6相のPWM信号と、検出された母線電流とから、モータMのU相電流値iu、V相電流値iv、W相電流値iwを検出し、各相の相電流値iu,iv,iwをuvw/dq変換器29へ出力する。なお、電流検出器28は、2CT方式で各相の相電流値iu,iv,iwを検出しても良い。
【0026】
uvw/dq変換器29は、位置推定器32から出力される回転位相θdqに基づいて、3相のU相電流値iu、V相電流値iv、W相電流値iwを、2相のd軸電流検出値id及びq軸電流検出値iqへ変換する。
【0027】
PLL制御器31は、軸誤差Δθを比例積分制御することにより、軸誤差Δθが0となるような速度推定値ωを算出する。PLL制御器31によって算出された速度推定値ωがスイッチSW3を介して位置推定器32に入力されることで回転位相θdqが修正され、その結果、軸誤差Δθを0に近づけることができる。
【0028】
減算器11は、速度指令値ω*から速度推定値ωを減算することにより速度誤差Δωを算出する。
【0029】
速度制御器12は、速度誤差Δωを比例積分制御することにより、速度誤差Δωを0に近づけるためのトルク指令値T
*を生成する。例えば、速度制御器12は、式(7)に従って、トルク指令値T
*を生成する。式(7)において、Kp_scは速度制御器12の比例ゲインであり、Ki_scは速度制御器12の積分ゲインである。また、速度制御器12は、運転モードが同期運転モードから位置センサレス制御モードに移行する際には、d軸電流指令値id
*及びq軸電流指令値iq
*に基づいてトルク指令値T
*を算出する。
【数7】
【0030】
センサレス電流指令値生成器14は、運転モードが位置センサレス制御モードであるときに、トルク指令値T*が一定となる電流の軌跡である定トルク曲線に基づいてトルク指令値T*をd-q座標軸上の電流ベクトルに変換することにより、センサレスd軸電流指令値id_sl*及びセンサレスq軸電流指令値iq_sl*を生成する。以下では、センサレスd軸電流指令値及びセンサレスq軸電流指令値を「センサレス電流指令値」と総称することがある。
【0031】
ここで、センサレス電流指令値生成器14は、モータMがSPMSMである場合は、定トルク曲線上でのセンサレスd軸電流指令値id_sl*を0としてセンサレスq軸電流指令値iq_sl*を生成する一方で、モータMがIPMSMである場合は、定トルク曲線とMTPA曲線(最大トルク/電流制御曲線)との交点(以下では「二曲線交点」と呼ぶことがある)からセンサレスd軸電流指令値id_sl*及びセンサレスq軸電流指令値iq_sl*を生成するのが好ましい。
【0032】
例えば、センサレス電流指令値生成器14は、モータMがSPMSMである場合は、式(8)に示すモータトルク式におけるセンサレスd軸電流指令値id_sl
*に0を代入することで、式(9)に示すセンサレスq軸電流指令値iq_sl
*を得ることができる。式(8)及び式(9)において、PnはモータMの極対数である。
【数8】
【数9】
【0033】
また例えば、センサレス電流指令値生成器14は、モータMがIPMSMである場合は、式(8)に示すモータトルク式と、式(10)とに従って、センサレスd軸電流指令値id_sl
*及びセンサレスq軸電流指令値iq_sl
*を算出する。
【数10】
【0034】
まず、式(8)及び式(10)からセンサレスd軸電流指令値id_sl
*を消去すると、センサレスq軸電流指令値iq_sl
*に関する四次方程式である式(11)が得られる。
【数11】
【0035】
式(11)に示す四次方程式の実数解の一つが二曲線交点でのセンサレスq軸電流指令値iq_sl*となるため、センサレス電流指令値生成器14は、式(11)の解を導出することによりセンサレスq軸電流指令値iq_sl*を算出する。四次方程式の解は、例えばニュートン法などを用いて導出することができる。センサレス電流指令値生成器14は、式(11)を用いてセンサレスq軸電流指令値iq_sl*を算出した後に、式(10)にセンサレスq軸電流指令値iq_sl*を代入することでセンサレスd軸電流指令値id_sl*を算出する。
【0036】
運転モードが位置センサレス制御モードであるときは、スイッチSW1,SW2は接点Aに接続されるため、センサレス電流指令値生成器14によって生成されるセンサレスd軸電流指令値id_sl*及びセンサレスq軸電流指令値iq_sl*が、減算器18,19及び非干渉化制御器36に入力されるd軸電流指令値id*及びq軸電流指令値iq*となる。
【0037】
一方で、運転モードが同期運転モードであるときは、スイッチSW1,SW2は接点Bに接続されるため、同期運転電流指令値生成器13によって生成される同期運転d軸電流指令値id_sy*及び同期運転q軸電流指令値iq_sy*が、減算器18,19及び非干渉化制御器36に入力されるd軸電流指令値id*及びq軸電流指令値iq*となる。また、運転モードが同期運転モードであるときは、同期運転電流指令値生成器13によって生成される同期運転d軸電流指令値id_sy*及び同期運転q軸電流指令値iq_sy*が電流振幅算出器51に入力される。
【0038】
減算器18は、d軸電流指令値id*からd軸電流検出値idを減算することによりd軸電流誤差id_difを算出する。減算器19は、q軸電流指令値iq*からq軸電流検出値iqを減算することによりq軸電流誤差iq_difを算出する。
【0039】
電流振幅算出器51は、同期運転d軸電流指令値id_sy
*及び同期運転q軸電流指令値iq_sy
*に基づいて、式(12)に従って、電流振幅値ia_ampを算出する。
【数12】
【0040】
なお、電流振幅算出器51は、同期運転d軸電流指令値id_sy
*及び同期運転q軸電流指令値iq_sy
*に替えて、d軸電流検出値idにローパスフィルタ処理を施した値id_LPF、及び、q軸電流検出値iqにローパスフィルタ処理を施した値iq_LPFに基づいて、式(13)に従って、電流振幅値ia_ampを算出しても良い。d軸電流検出値id及びq軸電流検出値iqにローパスフィルタ処理を施すことでノイズ等の高調波成分が除去された値に基づいて電流振幅値ia_ampを算出することができるため、後述するロック判定器52での判定の精度を高めることができる。
【数13】
【0041】
ロック判定器52は、電流振幅値ia_ampに基づいてモータMがロック状態にあるか否かを判定する。また、ロック判定器52は、モータMがロック状態にあると判定したときに、モータMがロック状態にあることを示す信号(以下では「ロック状態信号」と呼ぶことがある)LSをモータ制御装置100の外部(例えば、上位のコントローラ)へ出力する。以下では、モータMがロック状態にあるか否かの判定を「ロック状態判定」と呼ぶことがある。
【0042】
<モータがロック状態でないときのモータ制御装置の動作>
図2及び
図3は、本開示の実施例のモータ制御装置の動作例を示す図である。
図2及び
図3には、モータMがロック状態でないときの動作例を示す。また、
図2には軽負荷時の動作例を示し、
図3には過負荷時の動作例を示す。モータMの起動時や低回転時では、モータMの誘起電圧が小さいため、軸誤差演算器30によって算出される軸誤差Δθに誤差が生じ、軸誤差Δθに生じる誤差の影響でモータMの制御が不安定化する恐れがある。そこで、モータMの回転数を位置センサレス制御が適用可能な回転数まで引き上げるために、位置センサレス制御を行う前に、位置決め、及び、同期運転を行う。つまり、モータ制御装置100の動作モードは、
図2及び
図3に示すように、位置決めモードM1、同期運転モードM2、位置センサレス制御モードM3の順に移行する。運転モードが位置決めモードM1または同期運転モードM2であるときは、運転モード切替器40は、電流指令値生成器10において同期運転電流指令値生成器13を動作させる一方でセンサレス電流指令値生成器14の動作を停止させるとともに、スイッチSW1,SW2,SW3を接点Bに接続する。センサレス電流指令値生成器14の動作の停止に伴い、センサレス電流指令値生成器14の入力側に位置する速度制御器12及びPLL制御器31の動作も停止される。また、運転モードが位置センサレス制御モードM3であるときは、運転モード切替器40は、電流指令値生成器10においてセンサレス電流指令値生成器14を動作させる一方で同期運転電流指令値生成器13の動作を停止させるとともに、スイッチSW1,SW2,SW3を接点Aに接続する。
【0043】
また、同期運転モードM2は、
図2及び
図3に示すように、速度上昇区間I1と電流調整区間I2とを有し、同期運転モードM2では、制御区間が、速度上昇区間I1、電流調整区間I2の順に移行する。
【0044】
また、運転モードが位置決めモードM1または同期運転モードM2であるときは、スイッチSW1,SW2が接点Bに接続されるため、同期運転電流指令値生成器13によって生成される同期運転d軸電流指令値id_sy*及び同期運転q軸電流指令値iq_sy*が、減算器18,19及び非干渉化制御器36に入力されるd軸電流指令値id*及びq軸電流指令値iq*となる。一方で、運転モードが位置センサレス制御モードM3であるときは、スイッチSW1,SW2が接点Aに接続されるため、センサレス電流指令値生成器14によって生成されるセンサレスd軸電流指令値id_sl*及びセンサレスq軸電流指令値iq_sl*が、減算器18,19及び非干渉化制御器36に入力されるd軸電流指令値id*及びq軸電流指令値iq*となる。
【0045】
図2及び
図3に示すように、位置決めモードM1では、速度指令値ω
*が0とされ、同期運転電流指令値生成器13は、d軸電流指令値id
*を0から所定値id_iniまで増加させる一方で、q軸電流指令値iq
*を0にする。d軸電流指令値id
*の増加中にモータMのロータが動き始めて位置決めされる。例えば、最大負荷を駆動可能な電流値が所定値id_iniとして設定されることで、同期運転モードM2において過負荷時でもモータMは脱調することなく起動できる。また、所定値id_iniは、ロック状態判定が行われる際に用いられる電流閾値(以下では「ロック判定閾値」と呼ぶことがある)i_jdの設定の目安となる。
【0046】
また、
図2及び
図3に示すように、速度上昇区間I1では、同期運転電流指令値生成器13が所定値id_iniを初期値としてd軸電流指令値id
*を所定値id_iniで一定に保つとともに、q軸電流指令値iq
*を0で一定に保ったまま、速度指令値ω
*が0から所定回転数ω1まで線形増加される。これにより、速度上昇区間I1では、d軸電流指令値id
*及びq軸電流指令値iq
*が一定に保たれた状態で、モータMの回転数が、所定回転数ω1に対応する所定の回転数まで上昇する。なお、所定回転数ω1は、モータ誘起電圧が十分に検出できることが分かっている回転数に予め設定され、例えば15rpsである。
【0047】
次いで、電流調整区間I2では、速度指令値ω*が所定回転数ω1で一定に保たれた状態で、同期運転電流指令値生成器13は、d軸電流指令値id*及びq軸電流指令値iq*を調整する。電流調整区間I2では、同期運転電流指令値生成器13は、所定値id_iniを初期値としてd軸電流指令値id*の調整を開始する。電流調整区間I2でのd軸電流指令値id*及びq軸電流指令値iq*の調整により、電流調整区間I2では、dc-qc座標軸上での電流ベクトルが、位置センサレス制御モードM3時の電流ベクトルに近い状態まで調整される。電流調整区間I2では、同期運転電流指令値生成器13は、d軸電流指令値id*を、フィルタを用いて、または、線形減少させて、電流調整区間I2の最終点で目標指令値id_sy_endに収束させる。目標指令値id_sy_endは、0近傍の正の値を有し、位置センサレス制御モードM3時の電流ベクトルよりも多少過励磁(id*>0)となる値に設定されるのが好ましい。
【0048】
つまり、速度上昇区間I1では、同期運転電流指令値生成器13は、目標指令値id_sy_endよりも大きい値を有する所定値id_iniにd軸電流指令値id*を設定する。また、速度上昇区間I1に続く電流調整区間I2では、同期運転電流指令値生成器13は、所定値id_iniを初期値としてd軸電流指令値id*を目標指令値id_sy_endまで徐々に減少させる。
【0049】
ここで、一般的に、モータMが突極性を有しないSPMSMである場合は、定トルク曲線上でのd軸電流指令値id*を0として位置センサレス制御が行われ、モータMが突極性を有するIPMSMである場合は、二曲線交点に基づいて位置センサレス制御が行われる。一方で、同期運転モードM2では、PLL制御器31によって算出される速度推定値ωに基づく回転位相θdqの修正が為されないため、所望のトルクを得るための電流振幅値が最小となるd軸電流までd軸電流指令値id*を減少させると、同期運転電流指令値生成器13が電流指令値を生成する際の応答速度によっては、負荷トルクが出力トルクを上回り、モータMが脱調する懸念がある。このため、上記のように、電流調整区間I2の最終点でのd軸電流指令値id*を多少過励磁に収束させることが好ましい。
【0050】
また、電流調整区間I2の最終点における目標指令値id_sy_endを、モータMの定格の電流振幅値や、モータMが最大負荷を駆動する際の電流振幅値の10%程度の値に設定することで、電流調整区間I2においてd軸電流指令値id*を位置センサレス制御モードM3でのd軸電流指令値id*に適度に近づけつつ、多少過励磁に収束させることができるため、電流調整区間I2でのモータMの脱調を防止できる。例えば、定格の電流振幅値が10A程度の場合には、目標指令値id_sy_endは1A程度に設定されるのが好ましい。
【0051】
また、電流調整区間I2では、同期運転電流指令値生成器13は、軸誤差Δθを積分または比例積分制御することよりq軸電流指令値iq
*を生成する。同期運転電流指令値生成器13は、軸誤差Δθが正の場合はq軸電流指令値iq
*を増加させ、軸誤差Δθが負の場合はq軸電流指令値iq
*を減少させる。このようにして、電流調整区間I2では、同期運転電流指令値生成器13は、軸誤差Δθを0に近づけるように帰還制御によりq軸電流指令値iq
*を調整する。電流調整区間I2では、同期運転電流指令値生成器13は、例えば式(14)に従ってq軸電流指令値iq
*を生成する。式(14)において、Ki_iqは積分ゲインである。
【数14】
【0052】
位置センサレス制御モードM3では、軸誤差Δθが正のときは、PLL制御器31が速度推定値ωを減少させることにより速度推定値ωが速度指令値ω*を下回るため、速度制御器12がトルク指令値T*を増加させ、センサレス電流指令値生成器14がq軸電流指令値iq*を増加させる。一方で、同期運転モードM2では、速度指令値ω*が位置推定器32に直接入力されるため、同期運転電流指令値生成器13が軸誤差Δθに基づいて、直接的にq軸電流指令値iq*を調整する。そこで、電流調整区間I2の開始点でのd軸電流指令値id*の初期値である所定値id_iniの大きさ、モータMのイナーシャ、モータMの誘起電圧定数、または、モータMが駆動する負荷の特性等に応じて積分ゲインKi_iq(式(14))が調整されることで、同期運転電流指令値生成器13の所望の応答速度を得ることができる。
【0053】
電流調整区間I2から位置センサレス制御モードM3への移行の際、速度制御器12は、位置センサレス制御モードM3の開始時点でのd軸電流指令値id
*及びq軸電流指令値iq
*(つまり、同期運転モードM2におけるd軸電流指令値id
*の最終値、及び、同期運転モードM2におけるq軸電流指令値iq
*の最終値)に基づいて式(15)に従ってトルク指令値T
*を算出し、式(15)に従って算出したトルク指令値T
*を速度誤差Δωに対する比例積分制御の初期値(つまり、速度制御器12が生成するトルク指令値T
*の初期値)として設定する。こうすることで、運転モードが同期運転モードM2から位置センサレス制御モードM3へ切り替わる際のトルク指令値T
*の不連続の発生を防止できるため、運転モードの切替によりモータMに発生する切替ショックを低減できる。
【数15】
【0054】
また、式(15)に従って算出されるトルク指令値T
*が速度誤差Δωに対する比例積分制御の初期値として位置センサレス制御が開始されるため、位置センサレス制御モードM3では、センサレス電流指令値生成器14によって生成されるセンサレスd軸電流指令値id_sl
*は、
図2及び
図3に示すように、目標指令値id_sy_endよりも小さい値に調整される。例えば、目標指令値id_sy_endが0近傍の正の値を有する場合において、センサレスd軸電流指令値id_sl
*は、0以下の値に調整される。
【0055】
以上のように、d軸電流指令値を同期運転の段階で0近傍に収束させ、軸誤差を帰還制御することによりq軸電流指令値を生成することで、軸誤差が0近傍に調整された状態、かつ、過励磁の度合いが抑制された状態で同期運転から位置センサレス制御へ移行できる。このため、位置センサレス制御への移行後の電流ベクトルの変化が小さくなるので、突極性を有するIPMSM等においても、位置センサレス制御への移行時の電流飛びや速度飛び等による切替ショックを低減できる。よって、モータMの突極性の有無というモータMの種類によらず、位置センサレス制御モードへの移行時のモータMの制御の安定性を向上させることができる。よって、モータMの種類によらず、モータMの安定した起動が可能となる。
【0056】
<同期運転電流指令値生成器の構成>
図4は、本開示の実施例の同期運転電流指令値生成器の構成例を示す図である。
図4において、同期運転電流指令値生成器13は、d軸電流指令値生成器131と、q軸電流指令値生成器132と、q軸電流指令値制限器133とを有する。
【0057】
d軸電流指令値生成器131は、運転モードが位置決めモードM1または同期運転モードM2にあるときに、上記
図2及び
図3を用いて説明したようにして、同期運転d軸電流指令値id_sy
*(d軸電流指令値id
*)を生成する。
【0058】
q軸電流指令値生成器132は、運転モードが位置決めモードM1または同期運転モードM2にあるときに、上記
図2及び
図3を用いて説明したようにして、軸誤差Δθを積分することにより、制限前の同期運転q軸電流指令値iq_sy
*’(q軸電流指令値iq
*)を生成する。
【0059】
q軸電流指令値制限器133は、所定の電流振幅リミット値ia_limと、同期運転d軸電流指令値id_sy
*とに基づいて、式(16)に従って、q軸電流リミット値iq_limを算出する。
【数16】
【0060】
また、q軸電流指令値制限器133は、制限前の同期運転q軸電流指令値iq_sy*’がq軸電流リミット値iq_lim以下のときは、制限前の同期運転q軸電流指令値iq_sy*’をそのまま同期運転q軸電流指令値iq_sy*として出力する。一方で、制限前の同期運転q軸電流指令値iq_sy*’がq軸電流リミット値iq_limより大きいときは、q軸電流指令値制限器133は、q軸電流リミット値iq_limを同期運転q軸電流指令値iq_sy*として出力する。つまり、q軸電流リミット値iq_limは、同期運転q軸電流指令値iq_sy*に対する上限値に相当し、同期運転q軸電流指令値iq_sy*の上限は、q軸電流リミット値iq_limに制限される。同期運転q軸電流指令値iq_sy*の上限が、式(16)に従って算出されるq軸電流リミット値iq_limに制限されることにより、同期運転電流指令値生成器13からは、電流振幅値の上限が電流振幅リミット値ia_limに制限された同期運転q軸電流指令値iq_sy*が出力される。
【0061】
ここで、ロック状態でないときのモータMを最大負荷において駆動するための電流振幅値が電流振幅リミット値ia_limとして用いられるのが好ましい。つまり、q軸電流指令値制限器133は、d軸電流指令値id*が上記の所定値id_iniにあるときの電流振幅値を電流振幅リミット値ia_limとして用いるのが好ましい。
【0062】
また、同期運転q軸電流指令値iq_sy*の上限が上記のようにして制限されるときは、q軸電流指令値生成器132が有する積分器の出力値の上限も制限することで、ワインドアップ現象を抑制できる。
【0063】
<ロック判定器の動作>
ロック判定器52は、電流振幅算出器51から電流振幅値ia_ampが入力される。
【0064】
ロック判定器52は、電流振幅値ia_ampをロック判定閾値i_jdと比較することによりモータMがロック状態にあるか否かを判定する。
【0065】
ここで、ロック判定閾値i_jdは、電流振幅リミット値ia_limより小さい値である。また、例えば、ロック判定閾値i_jdが、上記の所定値id_iniよりも5%程度小さい値に設定されることにより、ロック状態判定の精度を向上させることができる。例えば、モータMがロック状態でないにもかかわらず過負荷により電流調整区間I2での電流振幅値が大きくなった場合に、モータMがロック状態であると誤判定されることを防止できる。
【0066】
ロック判定器52は、制御区間が電流調整区間I2に移行した時点から所定時間PT経過後の所定のタイミングTIで電流振幅値ia_ampがロック判定閾値i_jd未満とならないときに、モータMがロック状態にあると判定する。つまり、ロック判定器52は、所定のタイミングTIにおける電流振幅値ia_ampがロック判定閾値i_jd以上であるときに、モータMがロックしていると判定する。一方で、制御区間が電流調整区間I2に移行した時点から所定時間PT経過後の所定のタイミングTIで電流振幅値ia_ampがロック判定閾値i_jd未満に減少したときは、ロック判定器52は、モータMがロック状態にないと判定する。つまり、ロック判定器52は、所定のタイミングTIにおける電流振幅値ia_ampがロック判定閾値i_jd未満であるときに、モータMがロックしていないと判定する。ロック判定器52は、モータMがロック状態にあると判定したときはロック状態信号LSを出力する一方で、モータMがロック状態にないと判定したときはロック状態信号LSを出力しない。
【0067】
例えば、モータ制御装置100の外部のコントローラは、ロック判定器52からロック状態信号LSを入力されたときは、運転モードを同期運転モードM2から位置センサレス制御モードM3へ移行させることなく、電流調整区間I2でモータMへの通電を停止する。ここで、モータMがロック状態にあるときは、モータMの回転に伴うモータ誘起電圧が発生しない。そのため、モータMがロック状態にあるときに運転モードが位置センサレス制御モードM3に移行してしまうと、軸誤差演算器30、PLL制御器31、速度制御器12による位置センサレス制御が不安定化する。そこで、上記のように、モータMがロック状態にあるときは、運転モードが位置センサレス制御モードM3に移行する前にモータMへの通電を停止することで、位置センサレス制御において用いられる軸誤差演算器30、PLL制御器31、速度制御器12の不安定化を防止できる。
【0068】
ここで、上記の所定時間PTは、例えば、電流調整区間I2の長さと同一の時間に設定される。また、モータMの巻線抵抗が大きくて巻線加熱によるモータMの故障が懸念される場合には、上記の所定時間PTは、電流調整区間I2の長さより短い時間に設定されるのが好ましい。
【0069】
以上のようにして、モータ誘起電圧を用いずに電流振幅値ia_ampを用いてロック状態判定を行うことで、ロック状態判定が誘起電圧定数のばらつきやインバータの出力誤差の影響を受けることがなくなるため、モータMのロック状態を正しく検出することができる。
【0070】
<モータがロック状態であるときのモータ制御装置の動作>
図5は、本開示の実施例のモータ制御装置の動作例を示す図である。
図5には、モータMがロック状態であるときの動作例を示す。
【0071】
上記のように、ロック状態判定は、電流調整区間I2で行われる。
【0072】
モータMがロック状態にあるときは、モータMに流れる電流を増加させてもモータが回転しない状態にあり、モータ制御装置100の動作は、著しく過負荷の条件でモータMが駆動するときの動作と同等の動作となる。このため、q軸電流指令値生成器132によって軸誤差Δθが積分されると、軸誤差Δθが調整される過程でq軸電流指令値iq*が発散してしまう。ひいては、電流振幅値ia_ampも増加の挙動を示すことになり、モータMの減磁抑制のためのモータMの保護停止(以下では「電流トリップ停止」と呼ぶことがある)に至る。また、モータMの負荷のイナーシャが大きい場合は、モータMがロック状態でなくても大きい加速トルクが必要となる場合があるため、加速トルクをかけ続けるという観点では、モータMが即座に保護停止に至るのは好ましくない。
【0073】
そこで、上記のように、d軸電流指令値id
*が上記の所定値id_iniにあるときの電流振幅値を電流振幅リミット値ia_limとして用いることで、
図5に示すように、電流調整区間I2での電流振幅値ia_ampが速度上昇区間I1での電流振幅値ia_ampを超えないようにq軸電流指令値iq
*が制限される。これにより、モータMは電流トリップ停止に至らずに、上記の所定値id_iniに相当するトルクをかけ続けることができる。つまり、ロック状態でない場合における最大負荷を駆動するだけのトルクをかけ続けることができる。よって、ロック状態でない場合の最大負荷相当のトルクをかけ続けても、電流振幅値ia_ampが増加の挙動を示す場合には、モータMの負荷が最大負荷より大きい負荷になっているという判定が可能なため、モータMがロック状態であると判定できる。
【0074】
以上、実施例について説明した。
【0075】
以上のように、本開示のモータ制御装置(実施例のモータ制御装置100)は、同期運転モードと、位置センサレス制御モードとを有する。同期運転モードでは、速度指令値に基づく制御系座標軸の回転位相にモータ(実施例のモータM)が同期する。位置センサレス制御モードでは、軸誤差を帰還制御することで得られる速度推定値に基づいて制御系座標軸の回転位相が生成される。また、本開示のモータ制御装置は、同期運転電流指令値生成器(実施例の同期運転電流指令値生成器13)と、ロック判定器(実施例のロック判定器52)とを有する。同期運転電流指令値生成器は、同期運転モードにおいて、軸誤差を0に近づけるように電流指令値(実施例のd軸電流指令値id*,q軸電流指令値iq*)を調整する。ロック判定器は、同期運転モードにおいて、所定のタイミング(実施例の所定のタイミングTI)における電流振幅値(実施例の電流振幅値ia_amp)が閾値(実施例のロック判定閾値i_jd)以上であるときに、モータがロックしていると判定する。
【0076】
また、電流振幅値に対する閾値は、電流振幅値の上限値である第一上限値(実施例の電流振幅リミット値ia_lim)よりも小さい値である。
【0077】
また、同期運転モードは速度上昇区間と電流調整区間とを有し、所定のタイミングは、電流調整区間にある。
【0078】
また、同期運転電流指令値生成器は、速度上昇区間においてd軸電流指令値を所定値(実施例の所定値id_ini)に設定してモータの回転数を所定回転数(実施例の所定回転数ω1)まで上昇させた後、電流調整区間において、d軸電流指令値を所定値よりも小さい値を有する目標指令値(実施例の目標指令値id_sy_end)まで減少させるとともに、軸誤差を0に近づけるように帰還制御することによりq軸電流指令値を調整する。
【0079】
また、同期運転電流指令値生成器は、q軸電流指令値の上限値である第二上限値(実施例のq軸電流リミット値iq_lim)であって、第一上限値に基づいて算出される第二上限値によってq軸電流指令値を制限する。
【0080】
また、同期運転電流指令値生成器は、d軸電流指令値が所定値(実施例の所定値id_ini)にあるときの電流振幅値を第一上限値として用いる。
【符号の説明】
【0081】
100 モータ制御装置
12 速度制御器
13 同期運転電流指令値生成器
14 センサレス電流指令値生成器
32 位置推定器
51 電流振幅算出器
52 ロック判定器
131 d軸電流指令値生成器
132 q軸電流指令値生成器
133 q軸電流指令値制限器