(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024146465
(43)【公開日】2024-10-15
(54)【発明の名称】モータ制御装置
(51)【国際特許分類】
H02P 21/26 20160101AFI20241004BHJP
【FI】
H02P21/26
【審査請求】有
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2023059374
(22)【出願日】2023-03-31
(71)【出願人】
【識別番号】000006611
【氏名又は名称】株式会社富士通ゼネラル
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】浦山 昌春
【テーマコード(参考)】
5H505
【Fターム(参考)】
5H505DD06
5H505EE41
5H505EE49
5H505EE55
5H505FF01
5H505FF05
5H505GG02
5H505GG04
5H505GG06
5H505HB01
5H505JJ04
5H505JJ25
5H505LL14
5H505LL22
5H505LL41
5H505LL60
5H505MM12
(57)【要約】
【課題】モータのロック状態を正しく検出すること。
【解決手段】モータMの回転速度が速度指令値に一致するようにモータを制御し、速度指令値を積分した回転位相にモータを同期させる同期運転モードと、制御系座標軸とロータ座標軸との軸誤差を帰還制御することで得られる速度推定値が速度指令値に一致するようにモータMを制御する位置センサレス制御モードとを有するモータ制御装置100aにおいて、同期運転電流指令値生成器13は、同期運転モードにおける電流指令値を生成し、電流制御器20、非干渉化制御器36及び加算器21は、モータMに流れる電流が電流指令値に一致するように電圧指令値を生成し、ロック判定器52は、電圧指令値に基づいてモータMがロックしているか否かを判定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
モータの回転速度が速度指令値に一致するように前記モータを制御するモータ制御装置であって、
前記速度指令値を積分した回転位相に前記モータを同期させる同期運転モードと、制御系座標軸とロータ座標軸との軸誤差を帰還制御することで得られる速度推定値が前記速度指令値に一致するように前記モータを制御する位置センサレス制御モードとを有し、
前記同期運転モードにおける電流指令値を生成する同期運転電流指令値生成器と、
前記モータに流れる電流が前記電流指令値に一致するように電圧指令値を生成する電圧指令値生成器と、
前記電圧指令値に基づいて前記モータがロックしているか否かを判定する判定器と、
を具備するモータ制御装置。
【請求項2】
前記判定器は、前記電圧指令値の大きさに基づいて、前記モータがロックしているか否かを判定する、
請求項1に記載のモータ制御装置。
【請求項3】
前記同期運転モードは速度上昇区間と電流調整区間とを有し、
前記判定器は、前記速度上昇区間における前記電圧指令値に基づいて、前記モータがロックしているか否かを判定する
請求項1に記載のモータ制御装置。
【請求項4】
前記判定器は、前記電圧指令値を閾値と比較した結果に基づいて前記モータがロックしているか否かを判定する、
請求項2に記載のモータ制御装置。
【請求項5】
前記閾値は、前記モータがロックしている状態であるときの前記モータの出力電圧値と、前記モータがロックしていない状態であるときの前記モータの出力電圧値との間の値に設定される、
請求項4に記載のモータ制御装置。
【請求項6】
前記電圧指令値を補正し、補正後の電圧指令値である補正電圧指令値を出力する補正器、をさらに具備し、
前記判定器は、前記補正電圧指令値の大きさに基づいて、前記モータがロックしているか否かを判定する、
請求項1に記載のモータ制御装置。
【請求項7】
前記同期運転電流指令値生成器は、前記速度上昇区間において前記モータの回転数を所定回転数まで上昇させた後、前記電流調整区間において、目標指令値へd軸電流指令値を近づける一方で、前記軸誤差を0に近づけるように帰還制御することによりq軸電流指令値を調整する、
請求項3に記載のモータ制御装置。
【請求項8】
前記同期運転電流指令値生成器は、前記速度上昇区間において前記d軸電流指令値を前記目標指令値よりも大きい値を有する所定値に設定し、
前記位置センサレス制御モードにおいて、前記d軸電流指令値を前記目標指令値よりも小さい値に調整する位置センサレス電流指令値生成器、をさらに具備する、
請求項7に記載のモータ制御装置。
【請求項9】
前記同期運転電流指令値生成器は、前記同期運転モードにおいて、前記d軸電流指令値を0近傍の正の値を有する前記目標指令値へ近づけ、
前記位置センサレス電流指令値生成器は、前記位置センサレス制御モードにおいて、前記d軸電流指令値を0以下の値に調整する、
請求項8に記載のモータ制御装置。
【請求項10】
運転モードが前記同期運転モードから前記位置センサレス制御モードへ移行する際に、前記同期運転モードにおける前記d軸電流指令値の最終値、及び、前記同期運転モードにおける前記q軸電流指令値の最終値に基づいて、前記速度指令値と前記速度推定値との差を0に近づけるためのトルク指令値の初期値を設定する速度制御器、をさらに具備する、
請求項7に記載のモータ制御装置。
【請求項11】
前記電流調整区間において、前記軸誤差を比例制御することにより速度変動成分を算出し、前記速度変動成分に基づいて速度補正値を算出し、前記位置センサレス制御モードにおいて、前記軸誤差を比例積分制御することにより前記速度推定値を算出するPLL制御器と、
前記電流調整区間において、前記速度指令値と前記速度補正値とに基づいて前記回転位相を生成し、前記位置センサレス制御モードにおいて、前記速度推定値を積分することにより前記回転位相を生成する位置推定器と、
をさらに具備する請求項7に記載のモータ制御装置。
【請求項12】
前記PLL制御器は、前記電流調整区間において、時間の経過に伴って増加する係数を前記速度変動成分に乗算することにより前記速度補正値を算出する、
請求項11に記載のモータ制御装置。
【請求項13】
前記位置センサレス制御モードにおける第一の仮の電流指令値を生成する第一電流指令生成器と、
運転モードが前記同期運転モードから前記位置センサレス制御モードに移行する直前のd軸電流指令値に基づく第二の仮の電流指令値を生成する第二電流指令生成器と、
前記運転モードが前記位置センサレス制御モードにある区間内に設定されるスムージング区間において、前記スムージング区間の開始から終了までに0から1に増加する増加係数と、前記スムージング区間の開始から終了までに1から0に減少する減少係数とを生成する係数生成器と、
を有する位置センサレス電流指令値生成器、をさらに具備し、
前記位置センサレス電流指令値生成器は、前記第一の仮の電流指令値と前記増加係数との積と、前記第二の仮の電流指令値と前記減少係数との積とを加算することにより、前記位置センサレス制御モードにおける電流指令値を生成する、
請求項7に記載のモータ制御装置。
【請求項14】
前記同期運転電流指令値生成器は、前記速度上昇区間において、電流指令値を所定値に設定して前記モータの回転数を所定回転数まで上昇させた後、前記電流調整区間において、前記モータの負荷に応じて前記電流指令値を調整し、
前記電流調整区間において、前記モータのトルク制御を行うトルク制御器、をさらに具備する、
請求項3に記載のモータ制御装置。
【請求項15】
前記トルク制御器は、前記電流調整区間において前記軸誤差の変動成分に基づいて速度変動補正値を生成する速度変動補正値生成器、を有する、
請求項14に記載のモータ制御装置。
【請求項16】
前記トルク制御器は、前記速度変動補正値に基づいて、前記モータの回転速度の変動を抑制するためのトルク変動補正値を生成するトルク変動補正値生成器、をさらに有し、
前記トルク変動補正値に基づいて電流補正値を算出する電流補正値算出器、をさらに具備する、
請求項15に記載のモータ制御装置。
【請求項17】
前記同期運転電流指令値生成器は、前記電流調整区間において、d軸電流指令値を前記所定値よりも小さい値を有する目標指令値まで減少させるとともに、前記軸誤差を0に近づけるように帰還制御することによりq軸電流指令値を調整し、
前記電流補正値は、前記q軸電流指令値に対する補正値である、
請求項16に記載のモータ制御装置。
【請求項18】
電流指令値と電流検出値との間の電流誤差に基づいて電流追従誤差補正値を生成する電流追従誤差補正値生成器と、
前記電流追従誤差補正値を前記電流指令値に加算することにより補正電流指令値を算出する加算器と、
をさらに具備する請求項17に記載のモータ制御装置。
【請求項19】
前記電流追従誤差補正値生成器は、前記電流誤差を積算し、前記電流誤差の積算結果の位相が反転した値を前記電流追従誤差補正値として生成する、
請求項18に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、モータ制御装置に関する。
【背景技術】
【0002】
PMSM(Permanent Magnet Synchronous Motor)の制御の一つとして、モータのロータ位置を推定する位置センサレス制御が知られている。位置センサレス制御では、モータの回転に伴って発生する誘起電圧(以下では「モータ誘起電圧」と呼ぶことがある)を用いてモータのロータ位置の推定(以下では「位置推定」と呼ぶことがある)を行う。位置センサレス制御では、モータの停止状態や、モータ誘起電圧が小さい極低回転状態において位置推定の誤差が大きくなる。
【0003】
モータの起動時はモータ誘起電圧が小さいため、位置センサレス制御を行う際には、事前にモータを所定回転速度まで強制的に加速させる同期運転を行った後に、位置センサレス制御に切り替える方法が知られている。この方法を用いてモータを制御するモータ制御装置は、同期運転を行う運転モード(以下では「同期運転モード」と呼ぶことがある)と位置センサレス制御を行う運転モード(以下では「位置センサレス制御モード」と呼ぶことがある)とを切り替える。なお、モータ制御装置が運転モードを切り替える際、制御系座標軸とロータ座標軸との軸誤差が大きいと、切替直後に振動が発生したり回転速度が変化したりする「切替ショック」が生じる。そこで、同期運転モードにおいて軸誤差が0近傍になるように電流ベクトルの位相(以下では「電流位相」と呼ぶことがある)を調整した上で、運転モードを同期運転モードから位置センサレス制御モードに移行させる技術が知られている。
【0004】
また、モータ誘起電圧を用いて、モータが回転不可能な状態(以下では「ロック状態」と呼ぶことがある)にあることを検出する技術が知られている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、モータ誘起電圧を用いてロック状態の発生を検出する場合、モータ誘起電圧の定数(以下では「誘起電圧定数」と呼ぶことがある)のばらつきやインバータの出力電圧誤差の影響で、ロック状態を正しく検出できないことがある。
【0007】
そこで、本開示は、モータのロック状態を正しく検出できる技術を提案する。
【課題を解決するための手段】
【0008】
本開示のモータ制御装置は、モータの回転速度が速度指令値に一致するように前記モータを制御するモータ制御装置であって、前記速度指令値を積分した回転位相に前記モータを同期させる同期運転モードと、制御系座標軸とロータ座標軸との軸誤差を帰還制御することで得られる速度推定値が前記速度指令値に一致するように前記モータを制御する位置センサレス制御モードとを有する。また、本開示のモータ制御装置は、同期運転電流指令値生成器と、電圧指令値生成器と、判定器とを有する。前記同期運転電流指令値生成器は、前記同期運転モードにおける電流指令値を生成する。前記電圧指令値生成器は、前記モータに流れる電流が前記電流指令値に一致するように電圧指令値を生成する。前記判定器は、前記電圧指令値に基づいて前記モータがロックしているか否かを判定する。
【発明の効果】
【0009】
本開示によれば、モータのロック状態を正しく検出できる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、本開示の実施例1のモータ制御装置の構成例を示す図である。
【
図2】
図2は、本開示の実施例1のモータ制御装置の軽負荷時の動作例を示す図である。
【
図3】
図3は、本開示の実施例1のモータ制御装置の過負荷時の動作例を示す図である。
【
図4A】
図4Aは、本開示の実施例1の電圧算出器の構成例1を示す図である。
【
図4B】
図4Bは、本開示の実施例1の電圧算出器の構成例2を示す図である。
【
図4C】
図4Cは、本開示の実施例1の電圧算出器の構成例3を示す図である。
【
図4D】
図4Dは、本開示の実施例1の電圧算出器の構成例4を示す図である。
【
図5】
図5は、本開示の実施例1の電流ベクトル位相と電圧振幅との関係の一例を示す図である。
【
図6】
図6は、本開示の実施例1のモータ制御装置の動作例を示す図である。
【
図7】
図7は、本開示の実施例2のモータ制御装置の構成例を示す図である。
【
図8】
図8は、本開示の実施例2のPLL制御器の構成例を示す図である。
【
図9】
図9は、本開示の実施例2の比例出力制御器の動作例を示す図である。
【
図10】
図10は、本開示の実施例3の位置センサレス制御モード移行時の電流ベクトル変化を示す図である。
【
図11】
図11は、本開示の実施例3のセンサレス電流指令値生成器の構成例を示す図である。
【
図12】
図12は、本開示の実施例3の重み係数生成器の動作例を示す図である。
【
図13】
図13は、本開示の実施例3の電流ベクトル軌跡の一例を示す図である。
【
図14】
図14は、本開示の実施例4のモータ制御装置の軽負荷時の構成例を示す図である。
【
図15】
図15は、本開示の実施例4のモータ制御装置の過負荷時の動作例を示す図である。
【
図16】
図16は、本開示の実施例4のモータ制御装置の動作例を示す図である。
【
図17】
図17は、本開示の実施例4の速度変動補正値生成器の構成例を示す図である。
【
図18】
図18は、本開示の実施例4のトルク変動補正値生成器の構成例を示す図である。
【
図19】
図19は、本開示の実施例5のモータ制御装置の構成例を示す図である。
【
図20】
図20は、本開示の実施例5の電流追従誤差補正値生成器の構成例を示す図である。
【発明を実施するための形態】
【0011】
以下、本開示の実施例を図面に基づいて説明する。以下の実施例において、同一の部位には同一の符号を付し、重複する説明を省略することがある。
【0012】
[実施例1]
<モータ制御装置の構成>
図1は、本開示の実施例1のモータ制御装置の構成例を示す図である。
図1において、モータ制御装置100aは、減算器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】
また、モータ制御装置100aは、電流検出器28と、uvw/dq変換器29と、軸誤差演算器30と、PLL(Phase Locked Loop)制御器31と、位置推定器32と、非干渉化制御器36とを有する。
【0014】
また、モータ制御装置100aは、電流指令値生成器10と、スイッチSW1,SW2,SW3と、運転モード切替器40と、電圧算出器51と、ロック判定器52とを有する。電流指令値生成器10は、同期運転電流指令値生成器13と、センサレス電流指令値生成器14とを有する。スイッチSW1,SW2,SW3の各々は、A接点とB接点とを有する。
【0015】
モータ制御装置100aの運転モードには、同期運転モードと、位置センサレス制御モードとがある。運転モード切替器40は、モータ制御装置100aの運転モードを、同期運転モードと位置センサレス制御モードとの間で切り替える。運転モード切替器40は、モータ制御装置100aの外部のコントローラによって制御される。運転モード切替器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に接続されるため、モータ制御装置100aの外部(例えば、上位のコントローラ)からモータ制御装置100aへ入力される電気角速度の指令値である速度指令値ω*が速度情報として位置推定器32に入力される。よって、同期運転モードでは、速度指令値ω*に基づいて生成された回転位相θdqにモータMが同期する。一方で、運転モードが位置センサレス制御モードにあるときは、スイッチSW3は接点Aに接続されるため、PLL制御器31から出力される電気角速度の推定値である速度推定値ωが速度情報として位置推定器32に入力される。よって、位置センサレス制御モードでは、軸誤差Δθが帰還制御されることで得られる速度推定値ωに基づいて回転位相θdqが生成される。
【0018】
このように、同期運転モードでは、速度指令値ω*を積分した回転位相θdqにモータMを同期させる。一方で、位置センサレス制御モードでは、制御系座標軸とロータ座標軸との軸誤差Δθが帰還制御されることで得られる速度推定値ωが速度指令値ω*に一致するようにモータMが制御される。
【0019】
電流制御器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】
【0020】
非干渉化制御器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の電機子鎖交磁束である。
【数2】
【0021】
ここで、非干渉化制御器36でのd軸非干渉化電圧指令値Vd_a及びq軸非干渉化電圧指令値Vq_aの算出に使用される電流をd軸電流指令値id*及びq軸電流指令値iq*とすることにより、急激な電流指令値の変化にもモータMの制御を追従させることが可能となる。よって、後述する同期運転モードでの電流調整区間において、d軸電流指令値id*及びq軸電流指令値iq*が瞬時に変化する状況下でも、モータMの制御の安定性と応答性とを両立させることができる。
【0022】
加算器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が算出される。また、運転モードが同期運転モードであるときは、加算器21によって算出されたd軸電圧指令値Vd及びq軸電圧指令値Vqが電圧算出器51に入力される。
【数3】
【0023】
dq/uvw変換器23は、加算器21,22から出力される2相のd軸電圧指令値Vd及びq軸電圧指令値Vqを、位置推定器32から出力される回転位相θdqに基づいて、3相のU相電圧指令値Vu、V相電圧指令値Vv及びW相電圧指令値Vwへ変換する。
【0024】
PWM処理器24は、U相電圧指令値Vu、V相電圧指令値Vv及びW相電圧指令値Vwと、キャリア信号とに基づいて6相のPWM信号を生成し、生成した6相のPWM信号をIPM25へ出力する。
【0025】
IPM25は、PWM処理器24から出力される6相のPWM信号に基づいて、直流電圧VdcからU相、V相、W相の3相の交流電圧を生成し、生成した3相それぞれの交流電圧をモータMのU相、V相、W相へ印加する。
【0026】
電流検出器28は、1シャント方式でIPM25の母線電流が検出される場合、PWM処理器24より出力される6相のPWM信号と、検出された母線電流とから、モータMのU相電流値iu、V相電流値iv、W相電流値iwを検出し、各相の相電流値iu,iv,iwをuvw/dq変換器29へ出力する。なお、電流検出器28は、相電流値iu,iv,iwのうちの二相の電流を検出し、残りの一相の電流をキルヒホッフの法則を用いて算出しても良い。
【0027】
uvw/dq変換器29は、位置推定器32から出力される回転位相θdqに基づいて、3相のU相電流値iu、V相電流値iv、W相電流値iwを、2相のd軸電流検出値id及びq軸電流検出値iqへ変換する。
【0028】
PLL制御器31は、軸誤差Δθを比例積分制御することにより、軸誤差Δθが0となるような速度推定値ωを算出する。PLL制御器31によって算出された速度推定値ωがスイッチSW3を介して位置推定器32に入力されることで回転位相θdqが修正され、その結果、軸誤差Δθを0に近づけることができる。
【0029】
減算器11は、速度指令値ω*から速度推定値ωを減算することにより速度誤差ω_difを算出する。
【0030】
速度制御器12は、速度誤差ω_difを比例積分制御することにより、速度誤差ω_difを0に近づけるためのトルク指令値T
*を生成する。例えば、速度制御器12は、式(7)に従って、トルク指令値T
*を生成する。式(7)において、Kp_scは速度制御器12の比例ゲインであり、Ki_scは速度制御器12の積分ゲインである。なお、速度制御器12は、運転モードが同期運転モードから位置センサレス制御モードに切り替わる前に、d軸電流指令値id
*及びq軸電流指令値iq
*に基づいて速度制御器12の積分値を初期化する。積分値の初期化により、運転モードの切替前後での切替ショックを低減できる。
【数4】
【0031】
センサレス電流指令値生成器14は、運転モードが位置センサレス制御モードであるときに、トルクが一定となる電流の軌跡である定トルク曲線に基づいてトルク指令値T*をd-q座標軸上の電流ベクトルに変換することにより、センサレスd軸電流指令値id_sl*及びセンサレスq軸電流指令値iq_sl*を生成する。以下では、センサレスd軸電流指令値及びセンサレスq軸電流指令値を「センサレス電流指令値」と総称することがある。
【0032】
以上のように、電流制御器20、非干渉化制御器36及び加算器21によって、モータMに流れる電流が電流指令値に一致するようなd軸電圧指令値Vd及びq軸電圧指令値Vqが生成される。
【0033】
ここで、モータMがSPMSMである場合とIPMSMである場合とでセンサレス電流指令値の好ましい生成方法が異なるため、制御されるモータの種類に応じたセンサレス電流指令値の生成方法をモータ制御装置100aに予め設定しておくのが好ましい。例えば、センサレス電流指令値生成器14は、モータMがSPMSMである場合は、定トルク曲線上でのセンサレスd軸電流指令値id_sl*を0としてセンサレスq軸電流指令値iq_sl*を生成する。その理由は、モータMがSPMSMの場合は、回転力を生み出すトルクはマグネットトルクが主になる(つまり、リラクタンストルクが発生しない)ためである。
【0034】
一方で、モータMがIPMSMである場合は、センサレス電流指令値生成器14は、定トルク曲線とMTPA曲線(最大トルク/電流制御曲線)との交点(以下では「二曲線交点」と呼ぶことがある)からセンサレスd軸電流指令値id_sl*及びセンサレスq軸電流指令値iq_sl*を生成するのが好ましい。その理由は、モータMがIPMSMの場合は、回転力を生み出すトルクはマグネットトルクだけでなく、リラクタンストルクの寄与が大きくなるためである。
【0035】
なお、モータMがSPMSMである場合とIPMSMである場合との双方のセンサレス電流指令値の生成方法をモータ制御装置100aに予め設定しておき、モータMの種類に応じて何れか一方の生成方法を選択するようにしても良い。
【0036】
例えば、センサレス電流指令値生成器14は、モータMがSPMSMである場合は、式(8)に示すモータトルク式におけるセンサレスd軸電流指令値id_sl
*に0を代入することで、式(9)に示すセンサレスq軸電流指令値iq_sl
*を得ることができる。式(8)及び式(9)において、PnはモータMの極対数である。
【数5】
【0037】
また例えば、センサレス電流指令値生成器14は、モータMがIPMSMである場合は、式(8)に示すモータトルク式と、式(10)とに従って、センサレスd軸電流指令値id_sl
*及びセンサレスq軸電流指令値iq_sl
*を算出する。
【数6】
【0038】
まず、式(8)及び式(10)からセンサレスd軸電流指令値id_sl
*を消去すると、センサレスq軸電流指令値iq_sl
*に関する四次方程式である式(11)が得られる。
【数7】
【0039】
式(11)に示す四次方程式の実数解の一つが二曲線交点でのセンサレスq軸電流指令値iq_sl*となるため、センサレス電流指令値生成器14は、式(11)の解を導出することによりセンサレスq軸電流指令値iq_sl*を算出する。四次方程式の解は、例えばニュートン法などを用いて導出することができる。センサレス電流指令値生成器14は、式(11)を用いてセンサレスq軸電流指令値iq_sl*を算出した後に、式(10)にセンサレスq軸電流指令値iq_sl*を代入することでセンサレスd軸電流指令値id_sl*を算出する。
【0040】
運転モードが位置センサレス制御モードであるときは、スイッチSW1,SW2は接点Aに接続されるため、センサレス電流指令値生成器14によって生成されるセンサレスd軸電流指令値id_sl*及びセンサレスq軸電流指令値iq_sl*が、減算器18,19及び非干渉化制御器36に入力されるd軸電流指令値id*及びq軸電流指令値iq*となる。
【0041】
一方で、運転モードが同期運転モードであるときは、スイッチSW1,SW2は接点Bに接続されるため、同期運転電流指令値生成器13によって生成される同期運転d軸電流指令値id_sy*及び同期運転q軸電流指令値iq_sy*が、減算器18,19及び非干渉化制御器36に入力されるd軸電流指令値id*及びq軸電流指令値iq*となる。また、運転モードが同期運転モードであるときは、同期運転電流指令値生成器13によって生成される同期運転d軸電流指令値id_sy*が電圧算出器51に入力される。
【0042】
減算器18は、d軸電流指令値id*からd軸電流検出値idを減算することによりd軸電流誤差id_difを算出する。減算器19は、q軸電流指令値iq*からq軸電流検出値iqを減算することによりq軸電流誤差iq_difを算出する。
【0043】
電圧算出器51は、モータMがロック状態であるか否かの判定(以下では「ロック判定」と呼ぶことがある)に用いられる電圧(以下では「ロック判定用電圧」と呼ぶことがある)を算出し、算出したロック判定用電圧をロック判定器52へ出力する。なお、本実施例では電圧算出器51によってロック判定用電圧を算出しているが、加算器21,22の出力結果である、非干渉化後の最終的な電圧指令値をそのままロック判定用電圧として用いても良い。
【0044】
ロック判定器52は、ロック判定用電圧に基づいてモータMがロック状態であるか否かを判定する。また、ロック判定器52は、モータMがロック状態であると判定したときに、モータMがロック状態であることを示す信号(以下では「ロック状態信号」と呼ぶことがある)LSをモータ制御装置100aの外部(例えば、上位のコントローラ)へ出力する。
【0045】
<モータがロック状態でないときのモータ制御装置の動作>
図2及び
図3は、本開示の実施例1のモータ制御装置の動作例を示す図である。
図2及び
図3には、モータMがロック状態でないときの動作例を示す。また、
図2には軽負荷時の動作例を示し、
図3には過負荷時の動作例を示す。モータMの起動時や低回転時では、モータ誘起電圧が小さいため、軸誤差演算器30によって算出される軸誤差Δθに誤差が生じ、軸誤差Δθに生じる誤差の影響でモータMの制御が不安定化する恐れがある。そこで、モータMの回転数を位置センサレス制御が適用可能な回転数まで引き上げるために、位置センサレス制御を行う前に、位置決め、及び、同期運転を行う。つまり、モータ制御装置100aの運転モードは、
図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に接続する。
【0046】
また、同期運転モードM2は、
図2及び
図3に示すように、速度上昇区間I1と電流調整区間I2とを有し、同期運転モードM2では、制御区間が、速度上昇区間I1、電流調整区間I2の順に移行する。
【0047】
また、運転モードが位置決めモード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*となる。
【0048】
図2及び
図3に示すように、位置決めモードM1では、速度指令値ω
*が0とされ、同期運転電流指令値生成器13は、d軸電流指令値id
*を0から所定値id_iniまで増加させる一方で、q軸電流指令値iq
*を0にする。d軸電流指令値id
*の増加中にモータMのロータが動き始めて位置決めされる。例えば、最大負荷を駆動可能な電流値が所定値id_iniとして設定されることで、同期運転モードM2において過負荷時でもモータMは脱調することなく起動できる。
【0049】
また、
図2及び
図3に示すように、速度上昇区間I1では、同期運転電流指令値生成器13が所定値id_iniを初期値としてd軸電流指令値id
*を所定値id_iniで一定に保つとともに、q軸電流指令値iq
*を0で一定に保ったまま、速度指令値ω
*が0から所定回転数ω1まで線形増加される。これにより、速度上昇区間I1では、d軸電流指令値id
*及びq軸電流指令値iq
*が一定に保たれた状態で、モータMの回転数が、所定回転数ω1に対応する所定の回転数まで上昇する。なお、所定回転数ω1は、モータ誘起電圧が十分に検出できることが分かっている回転数、かつ、ロック状態でないモータMがロック状態であると誤判定されてしまうことがない程度に大きな回転数に予め設定され、例えば圧縮機用のモータの場合は15rps相当の電気角速度である。なお、モータMがロック状態である場合には、速度上昇区間I1においてモータMの回転数が上昇しない。本実施例では、電圧指令値に基づいてモータMがロック状態であるか否かの判定を行うロック判定器52を有するため、速度上昇区間I1においてモータMがロック状態であるか否かを速やかに判定できる。モータMがロック状態でないと判定されると、モータ制御装置100aの運転モードは電流調整区間I2に移行する。ロック判定器52の動作については後述する。
【0050】
次いで、電流調整区間I2では、速度指令値ω*が所定回転数ω1で一定に保たれた状態で、同期運転電流指令値生成器13は、d軸電流指令値id*及びq軸電流指令値iq*を調整する。電流調整区間I2では、同期運転電流指令値生成器13は、所定値id_iniを初期値としてd軸電流指令値id*の調整を開始する。また、電流調整区間I2では、同期運転電流指令値生成器13は、q軸電流指令値iq*の初期値を0としてq軸電流指令値iq*の調整を開始する。電流調整区間I2でのd軸電流指令値id*及びq軸電流指令値iq*の調整により、電流調整区間I2では、dc-qc座標軸上での電流ベクトルが、位置センサレス制御モードM3時の電流ベクトルに近い状態まで調整される。電流調整区間I2では、同期運転電流指令値生成器13は、d軸電流指令値id*を、フィルタを用いて、または、線形減少させて、電流調整区間I2の最終点で目標指令値id_sy_endに収束させる。目標指令値id_sy_endは、0近傍の正の値を有し、位置センサレス制御モードM3時の電流ベクトルよりも多少過励磁(id*>0)となる値に設定されるのが好ましい。
【0051】
つまり、速度上昇区間I1では、同期運転電流指令値生成器13は、目標指令値id_sy_endよりも大きい値を有する所定値id_iniにd軸電流指令値id*を設定する。また、速度上昇区間I1に続く電流調整区間I2では、同期運転電流指令値生成器13は、所定値id_iniを初期値としてd軸電流指令値id*を目標指令値id_sy_endまで徐々に減少させる。
【0052】
ここで、一般的に、モータMが突極性を有しないSPMSMである場合は、定トルク曲線上でのd軸電流指令値id*を0として位置センサレス制御が行われ、モータMが突極性を有するIPMSMである場合は、二曲線交点に基づいて位置センサレス制御が行われる。一方で、同期運転モードM2では、PLL制御器31によって算出される速度推定値ωに基づく回転位相θdqの修正が為されないため、所望のトルクを得るための電流振幅値が最小となるd軸電流までd軸電流指令値id*を減少させると、同期運転電流指令値生成器13が電流指令値を生成する際の応答速度によっては、負荷トルクが出力トルクを上回り、モータMが脱調する懸念がある。このため、上記のように、電流調整区間I2の最終点でのd軸電流指令値id*を多少過励磁に収束させることが好ましい。
【0053】
また、電流調整区間I2の最終点における目標指令値id_sy_endを、モータMの定格の電流振幅値や、モータMが最大負荷を駆動する際の電流振幅値の10%程度の値に設定することで、電流調整区間I2においてd軸電流指令値id*を位置センサレス制御モードM3でのd軸電流指令値id*に適度に近づけつつ、多少過励磁に収束させることができるため、電流調整区間I2でのモータMの脱調を防止できる。例えば、定格の電流振幅値が10A程度の場合には、目標指令値id_sy_endは1A程度に設定されるのが好ましい。
【0054】
また、電流調整区間I2では、同期運転電流指令値生成器13は、軸誤差Δθを積分または比例積分制御することよりq軸電流指令値iq
*を生成する。同期運転電流指令値生成器13は、軸誤差Δθが正の場合はq軸電流指令値iq
*を増加させ、軸誤差Δθが負の場合はq軸電流指令値iq
*を減少させる。このようにして、電流調整区間I2では、同期運転電流指令値生成器13は、軸誤差Δθを0に近づけるように帰還制御によりq軸電流指令値iq
*を調整する。電流調整区間I2では、同期運転電流指令値生成器13は、例えば式(12)に従って同期運転q軸電流指令値iq_sy
*を生成する。式(12)において、Ki_iqは積分ゲインである。
【数8】
【0055】
位置センサレス制御モードM3では、軸誤差Δθが正のときは、PLL制御器31が速度推定値ωを減少させることにより速度推定値ωが速度指令値ω*を下回るため、速度制御器12がトルク指令値T*を増加させ、センサレス電流指令値生成器14がq軸電流指令値iq*を増加させる。一方で、同期運転モードM2では、速度指令値ω*が位置推定器32に直接入力されるため、同期運転電流指令値生成器13が軸誤差Δθに基づいて、直接的にq軸電流指令値iq*を調整する。そこで、電流調整区間I2の開始点でのd軸電流指令値id*の初期値である所定値id_iniの大きさ、モータMのイナーシャ、モータMの誘起電圧定数、または、モータMが駆動する負荷の特性等に応じて積分ゲインKi_iq(式(12))が調整されることで、同期運転電流指令値生成器13の所望の応答速度を得ることができる。
【0056】
電流調整区間I2から位置センサレス制御モードM3への移行の際、速度制御器12は、位置センサレス制御モードM3の開始時点でのd軸電流指令値id
*及びq軸電流指令値iq
*(つまり、同期運転モードM2における同期運転d軸電流指令値id_sy
*の最終値、及び、同期運転モードM2における同期運転q軸電流指令値iq_sy
*の最終値)に基づいて式(13)に従ってトルク指令値T
*を算出し、式(13)に従って算出したトルク指令値T
*を速度誤差ω_difに対する速度制御器12の積分値の初期値として設定する。こうすることで、運転モードが同期運転モードM2から位置センサレス制御モードM3へ切り替わる際のトルク指令値T
*の不連続の発生を防止できるため、運転モードの切替によりモータMに発生する切替ショックを低減できる。
【数9】
【0057】
また、式(13)に従って算出されるトルク指令値T
*が速度誤差ω_difに対する比例積分制御の初期値として位置センサレス制御が開始されるため、位置センサレス制御モードM3では、センサレス電流指令値生成器14によって生成されるセンサレスd軸電流指令値id_sl
*は、
図2及び
図3に示すように、目標指令値id_sy_endよりも小さい値に調整される。例えば、目標指令値id_sy_endが0近傍の正の値を有する場合において、センサレスd軸電流指令値id_sl
*は、0以下の値に調整される。
【0058】
以上のように、d軸電流指令値を同期運転の段階で0近傍に収束させ、軸誤差を帰還制御することによりq軸電流指令値を生成することで、軸誤差が0近傍に調整された状態、かつ、過励磁の度合いが抑制された状態で同期運転から位置センサレス制御へ移行できる。このため、位置センサレス制御への移行後の電流ベクトルの変化が小さくなるので、突極性を有するIPMSM等においても、位置センサレス制御への移行時の電流飛びや速度飛び等による切替ショックを低減できる。よって、モータMの突極性の有無というモータMの種類によらず、位置センサレス制御モードへの移行時のモータMの制御の安定性を向上させることができる。よって、モータMの種類によらず、モータMの安定した起動が可能となる。
【0059】
<電圧算出器の構成>
以下、電圧算出器51の構成について、構成例1~4を挙げる。
<構成例1(
図4A)>
図4Aは、本開示の実施例1の電圧算出器の構成例1を示す図である。
図4Aに示す電圧算出器51Aは、
図1に示す電圧算出器51に該当する。
図4Aにおいて、電圧算出器51Aは、誤差算出器511と、電圧補正器512と、平均化器513とを有する。電圧算出器51Aは、d軸電圧指令値Vdとq軸電圧指令値Vqとから算出される電圧振幅値(以下では「合成電圧振幅値」と呼ぶことがある)をd軸電圧指令値Vdと同期運転d軸電流指令値id_sy
*とに基づいて補正し、補正後及び平均化後の電圧振幅値(以下では「補正電圧振幅平均値」と呼ぶことがある)Va_co_aveをロック判定用電圧としてロック判定器52へ出力する。
【0060】
位置決めモードM1では、速度指令値ω
*が0とされているため、理論的にIPM25から出力される電圧(以下では「理論出力電圧」と呼ぶことがある)はモータMの巻線抵抗R分の電圧のみである。よって、位置決めモードM1では、巻線抵抗R分の理論出力電圧と実際にモータMに印加された電圧との差分が、IPM25から出力される3相の交流電圧(以下では「出力電圧」と呼ぶことがある)における誤差(以下では「出力電圧誤差」と呼ぶことがある)ΔVとして出現する。そこで、本実施例では、出力電圧誤差ΔVを考慮してモータMがロック状態であるか否かを判定する。出力電圧誤差ΔVを考慮することで、出力電圧誤差ΔVが大きくなるような場合(例えば、モータ制御装置に用いられるIPMのデッドタイムが大きい場合)であっても、ロック判定を精度良く行うことができる。誤差算出器511は、位置決め完了時の同期運転d軸電流指令値id_sy
*と、d軸電圧指令値Vdと、モータMの巻線抵抗Rとに基づいて、式(14)に従って出力電圧誤差ΔVを算出する。式(14)におけるd軸電圧指令値Vdとして、フィルタ処理による高周波除去後のd軸電圧指令値Vdが用いられても良い。位置決めモードM1ではコギングトルク等のリプルは発生しないため、d軸電圧指令値Vdの高周波の除去に用いられるフィルタの時定数は10ms程度であることが好ましい。
【数10】
【0061】
なお、誤差算出器511は、式(14)に替えて、固定座標系上の出力電圧誤差ΔV
UVWから出力電圧誤差ΔVを算出しても良い。出力電圧誤差ΔV
UVWは、キャリア周波数fc、IPM25におけるデッドタイムTd及び直流電圧Vdcに基づいて式(15)に従って算出できる。なお、出力電圧誤差ΔV
UVWは固定座標系上の値なので、式(15)に従って算出される出力電圧誤差ΔV
UVWをdc-qc座標軸上での値に変換する必要がある。
【数11】
【0062】
ここで、速度上昇区間I1では、上記のようにd軸電流指令値id
*が所定値id_iniで一定に保たれるとともにq軸電流指令値iq
*が0で一定に保たれるため、電流ベクトルのd軸電流成分が存在する一方で電流ベクトルのq軸電流成分は存在しない。このため、速度上昇区間I1では、d軸電圧指令値Vdにのみ出力電圧誤差ΔVが発生する。また、位置決めモードM1から速度上昇区間I1にかけて、キャリア周波数fc、IPM25におけるデッドタイムTd、及び、直流電圧Vdcが一定である場合は、速度上昇区間I1の終末の時点(以下では「速度上昇区間終末時点」と呼ぶことがある)T1での出力電圧誤差ΔVは、位置決め完了時において算出される出力電圧誤差ΔVとほぼ同一となる。そこで、電圧補正器512は、d軸電圧指令値Vdとq軸電圧指令値Vqとから式(16)に従って算出される合成電圧振幅値Vaを、位置決め完了時の出力電圧誤差ΔVに基づいて式(17)に従って補正し、補正後の電圧振幅値(以下では「補正電圧振幅値」と呼ぶことがある)Va_coを平均化器513へ出力する。
【数12】
【0063】
平均化器513は、瞬時値である補正電圧振幅値Va_coを時間平均し、補正電圧振幅平均値Va_co_aveをロック判定用電圧としてロック判定器52へ出力する。平均化器513での平均化処理により、モータMがロック状態であるときに補正電圧振幅値Va_coが振動することによって、ロック判定器52が誤判定することを回避することができる。例えば、ロック状態であるモータMに回転磁界を加えた場合に、インダクタンスの突極性に起因して補正電圧振幅値Va_coに重畳される回転磁界の周波数成分(以下では「電気角次数リプル」と呼ぶことがある)の影響を排除することができる。また、平均化器513での平均化処理により、モータMのロータが完全には1回転以上しないものの瞬時的にロータの位相が変化する区間が存在する状態(以下では「レアロック状態」と呼ぶことがある)や、ロータが脱調してモータMが正しく起動できない状態(以下では「脱調状態」と呼ぶことがある)でも、平均的な補正電圧振幅値を算出することができる。よって、平均化器513での平均化処理により、レアロック状態及び脱調状態を含めた広義のロック状態を判定することが可能となるので、ロック判定の判定精度を向上させることができる。平均化器513は、例えばローパスフィルタを用いて形成される。平均化器513を形成するローパスフィルタの時定数は、モータMの回転数の上昇に伴う出力電圧の上昇への追従性が損なわれず、かつ、電気角次数リプルを排除できる程度の時定数(例えば、100ms程度)であることが好ましい。
【0064】
<構成例2(
図4B)>
図4Bは、本開示の実施例1の電圧算出器の構成例2を示す図である。
図4Bに示す電圧算出器51Bは、
図1に示す電圧算出器51に該当する。
図4Bにおいて、電圧算出器51Bは、電圧振幅生成器514を有する。電圧振幅生成器514は、d軸電圧指令値Vdとq軸電圧指令値Vqとから式(16)に従って合成電圧振幅値Vaを生成し、生成した合成電圧振幅値Vaをロック判定用電圧としてロック判定器52へ出力する。
【0065】
<構成例3(
図4C)>
図4Cは、本開示の実施例1の電圧算出器の構成例3を示す図である。
図4Cに示す電圧算出器51Cは、
図1に示す電圧算出器51に該当する。
図4Cにおいて、電圧算出器51Cは、電圧振幅生成器514と、平均化器515とを有する。
【0066】
電圧振幅生成器514は、d軸電圧指令値Vdとq軸電圧指令値Vqとから式(16)に従って合成電圧振幅値Vaを生成し、生成した合成電圧振幅値Vaを平均化器515へ出力する。
【0067】
平均化器515は、瞬時値である合成電圧振幅値Vaを時間平均し、平均化後の合成電圧振幅値Va_aveをロック判定用電圧としてロック判定器52へ出力する。
【0068】
<構成例4(
図4D)>
図4Dは、本開示の実施例1の電圧算出器の構成例4を示す図である。
図4Dに示す電圧算出器51Dは、
図1に示す電圧算出器51に該当する。
図4Dにおいて、電圧算出器51Dは、誤差算出器511と、電圧補正器512とを有する。
【0069】
電圧補正器512は、d軸電圧指令値Vdとq軸電圧指令値Vqとから式(16)に従って算出される合成電圧振幅値Vaを、位置決め完了時の出力電圧誤差ΔVに基づいて式(17)に従って補正し、補正電圧振幅値Va_coをロック判定用電圧としてロック判定器52へ出力する。
【0070】
<ロック判定器の動作>
上記のように、速度上昇区間I1では、速度指令値ω*が0から所定回転数ω1まで線形増加される。この際の所定回転数ω1は、ロック状態でないモータMにおいてモータ誘起電圧が十分に観測される回転数に設定される。
【0071】
そこで、ロック判定器52は、速度上昇区間I1において速度指令値ω*が所定回転数ω1に到達する時点である速度上昇区間終末時点T1において、ロック判定用電圧をロック判定閾値V_jdと比較することによりモータMがロック状態であるか否かを判定する。ロック判定器52は、ロック判定用電圧がロック判定閾値V_jd未満であるときは、モータMがロック状態であると判定し、ロック状態信号LSを出力する。一方で、ロック判定器52は、ロック判定用電圧がロック判定閾値V_jd以上であるときは、モータMがロック状態でないと判定し、ロック状態信号LSを出力しない。つまり、ロック判定器52は、所定の速度上昇区間終末時点T1におけるロック判定用電圧がロック判定閾値V_jd未満であるときは、モータMがロックしていると判定する一方で、所定の速度上昇区間終末時点T1におけるロック判定用電圧がロック判定閾値V_jd以上であるときは、モータMがロックしていないと判定する。
【0072】
例えば、モータ制御装置100aの外部のコントローラは、ロック判定器52からロック状態信号LSを入力されたときは、同期運転モードM2を速度上昇区間I1から電流調整区間I2へ移行させることなく、速度上昇区間I1でモータMへの通電を停止する。ここで、モータMがロック状態であるときは、モータMの回転に伴うモータ誘起電圧が発生しない。このため、モータMがロック状態であるときに同期運転モードM2が速度上昇区間I1から電流調整区間I2に移行してしまうと、軸誤差演算器30によって正しい軸誤差Δθが算出されなくなるため、同期運転電流指令値生成器13が同期運転q軸電流指令値iq_sy*を生成する際の軸誤差Δθの帰還制御が不安定化する。そこで、上記のように、モータMがロック状態であるときは、同期運転モードM2が電流調整区間I2へ移行する前にモータMへの通電を停止することで、電流調整区間I2において用いられる軸誤差演算器30及び同期運転電流指令値生成器13の不安定化を防止できる。一方で、モータ制御装置100aの外部のコントローラは、ロック判定器52からロック状態信号LSを入力されないときは、同期運転モードM2を速度上昇区間I1から電流調整区間I2へ移行させる。
【0073】
以上のようにして電圧指令値に基づいてロック判定を行うことで、電流調整区間I2に移行する前にロック判定を行うことができる。このため、モータMがロック状態であるか否かを速やかに判定できる。また、電圧指令値に基づいてロック判定を行う際に、出力電圧誤差ΔVを考慮してロック判定を行うことにより、出力電圧誤差ΔVが大きくなるような場合でもロック判定を精度良く行うことができる。さらに、ロック判定にあたり電圧指令値から電圧振幅値を算出することにより、電圧指令値の大きさと閾値との比較結果に基づいてロック判定を行うことができる。このため、制御系座標軸であるdc-qc座標軸がロータ座標軸であるd-q座標軸に対して回転し続ける状態であっても、電圧指令値に基づいてロック判定を行うことができる。さらに、ロック判定にあたり電圧振幅値を時間平均することにより、瞬時値である電圧振幅値ではなく時間平均された電圧振幅値を用いてロック判定を行うことができる。これにより、モータMがレアロック状態や脱調状態である場合であっても、モータMがロック状態であると判定できる。このように、モータ制御装置100aは、例えば出力電圧誤差ΔVの影響が大きい場合でも、モータMのロック状態を正しく検出することができる。
【0074】
<ロック判定閾値の設定>
ロック判定閾値V_jdは、ロック状態でないモータMの理論出力電圧の最小値(以下では「非ロック時最小理論電圧値」と呼ぶことがある)Va_unlock_minに基づく第一ロック判定閾値V_jd_1よりも小さく、かつ、ロック状態であるモータMの理論出力電圧の最大値(以下では「ロック時最大理論電圧値」と呼ぶことがある))Va_lock_maxに基づく第二ロック判定閾値V_jd_2よりも大きい値に設定される。以下、第一ロック判定閾値V_jd_1の算出方法と、第二ロック判定閾値V_jd_2の算出方法とについて説明する。
【0075】
<第一ロック判定閾値の算出>
モータMがロック状態でない場合、速度上昇区間I1で発生する電圧は、モータMの抵抗及びインダクタンスでの電圧(以下では「RL電圧」と呼ぶことがある)と、モータ誘起電圧との合成電圧である。RL電圧は、IPM25の通電周波数(速度指令値ω*)に応じて増加する。モータMの使用環境下でRL電圧が最小となるのはモータMの温度が低いとき(つまり、モータMの抵抗値が小さくなるとき)である。一方で、モータMの使用環境下でモータ誘起電圧が最小となるのはモータMの温度が高いとき(つまり、電機子鎖交磁束Ψaが小さくなるとき)である。したがって、RL電圧及びモータ誘起電圧の双方が、モータMの使用環境下で同時に最小となるときは本来存在しない。しかし、以下では、非ロック時最小理論電圧値Va_unlock_minの計算の簡略化のために、モータMの使用環境下でのモータMの抵抗値の最小値(以下では「最小抵抗値」と呼ぶことがある)と、電機子鎖交磁束の最小値(以下では「最小電機子鎖交磁束」と呼ぶことがある)とを用いて非ロック時最小理論電圧値Va_unlock_minを算出する。このように、最小抵抗値及び最小電機子鎖交磁束を用いて非ロック時最小理論電圧値Va_unlock_minを算出してモータMの理論出力電圧の計算値が小さくなるようにし、その計算値以下に第一ロック判定閾値V_jd_1を設定することにより、ロック状態でないモータMをロック状態であると誤判定してしまうリスクを低減できる。
【0076】
また、ロック状態でないモータMでは、モータ誘起電圧ベクトルに対するRL電圧ベクトルの向きが電流ベクトルiaの位相(以下では「電流ベクトル位相」と呼ぶことがある)θiに応じて変化する。このため、
図5に示すように、RL電圧ベクトルとモータ誘起電圧ベクトルとがベクトル合成された電圧の振幅は負荷に応じて変化して非線形となる。
図5は、本開示の実施例1の電流ベクトル位相と電圧振幅との関係の一例を示す図である。そこで、d軸電流idが電流ベクトルiaと同一で、かつ、q軸電流が0である状態(つまり、電流ベクトル位相θiが0度である状態)を無負荷とする一方で、d軸電流idが0で、かつ、q軸電流iqが電流ベクトルiaと同一である状態(つまり、電流ベクトル位相θiが90度である状態)を過負荷としたときの出力電圧振幅の変化(以下では「電流ベクトル依存性」と呼ぶことがある)に基づいて非ロック時最小理論電圧値Va_unlock_minを算出すると良い。
【0077】
さらに、ロック判定の誤判定を防止するために、巻線抵抗R、インダクタンスL、電機子鎖交磁束Ψaの各々の個体ばらつき内での最小値(例えば、-10%程度)を考慮することが望ましい。
【0078】
以下に、ロック状態でないモータMにおける非ロック時最小理論電圧値Va_unlock_minの算出式を示す。以下の算出式では、d軸電流id及びq軸電流iqは、電流ベクトルiaの位相θiを0度から90度まで変化させた際の値とし、d軸インダクタンスLd及びq軸インダクタンスLqは、同期運転時のd軸電流指令値id
*の下での初期電流特性値(Ld_ini,Lq_ini)とする。以下の算出式において、Vd_unlockはモータMがロック状態でないときのd軸電圧指令値、Vq_unlockはモータMがロック状態でないときのq軸電圧指令値、R_minは巻線抵抗Rの温度特性と個体ばらつきとを加味した最小抵抗値、Ψa_minはモータMの温度特性と個体ばらつきとを加味した最小電機子鎖交磁束、Va_unlockはモータMがロック状態でないときの理論出力電圧である。
【数13】
【0079】
そして、以上のようにして算出された非ロック時最小理論電圧値Va_unlock_minが第一ロック判定閾値V_jd_1として設定される。
【0080】
<第二ロック判定閾値の算出>
モータMがロック状態である場合、速度上昇区間I1でモータMを加速することができないため、モータ誘起電圧は発生しない。このため、速度上昇区間I1で発生する電圧は、モータMの巻線抵抗R及びインダクタンスLに印加されるIPM25の通電周波数に応じたRL電圧のみである。また、速度上昇区間I1では、q軸電流iqが0に制御されるため、ロック状態であるモータMにおけるd軸電圧Vd_lockは式(18)によって表され、ロック状態であるモータMにおけるq軸電圧Vq_lockは式(19)によって表される。
【数14】
【0081】
よって、モータMがロック状態であるときの出力電圧Va_lockは式(20)によって表される。
【数15】
【0082】
ここで、ロック時最大理論電圧値Va_lock_maxの算出にあたっては、非ロック時最小理論電圧値Va_unlock_minの算出と同様に、パラメータ変動の影響を考慮すると良い。例えば、モータMの抵抗値としてモータMの使用環境下での最大抵抗値R_maxを用いて、モータMの抵抗での電圧を算出すると良い。また例えば、インダクタンスは温度特性を有さないものとし、同期運転時のd軸電流指令値相当の電流をインダクタンスに流した際の磁気飽和特性を反映させたインダクタンス値(Ld_ini,Lq_ini)を用いてインダクタンス電圧を算出すると良い。また例えば、モータMがロック状態であるときは制御系座標軸であるdc-qc座標軸はモータMのロータ座標軸であるd-q座標軸に対して回転し続けるため、d軸インダクタンスLdとq軸インダクタンスLqとの平均値をインダクタンスLとして算出すると良い。さらに、パラメータ変動に対するロック判定の誤判定を防止するために、巻線抵抗R、インダクタンスLの各々の個体ばらつき内での最大値(例えば、+10%程度)を考慮することが望ましい。
【0083】
そして、以上のようにして算出されるロック時最大理論電圧値Va_lock_maxが第二ロック判定閾値V_jd_2として設定される。
【0084】
以上、第一ロック判定閾値V_jd_1の算出方法、及び、第二ロック判定閾値V_jd_2の算出方法について説明した。
【0085】
そして、ロック判定器52でのロック判定に用いられるロック判定閾値V_jdは、第一ロック判定閾値V_jd_1よりも小さく、かつ、第二ロック判定閾値V_jd_2よりも大きい値に設定される。これにより、ロック判定の精度を向上させることができる。例えば、モータMがロック状態でないにもかかわらず、モータMの温度が低いことで電機子鎖交磁束が減少して出力電圧が減少した場合に、モータMがロック状態であると誤判定されることを防止できる。また、モータMがロック状態であるにもかかわらず、モータMの温度が高いことにより巻線抵抗が増加して出力電圧が大きくなった場合に、モータMがロック状態でないと誤判定されることを防止できる。
【0086】
例えば、ロック判定閾値V_jdは、式(21)に従って設定される。式(21)に従ってロック判定閾値V_jdを設定することで、ロック判定閾値V_jdを、第一ロック判定閾値V_jd_1よりも第二ロック判定閾値V_jd_2に近い値に設定できる。これにより、モータMのロータに使われる永久磁石が減磁した場合でも、ロック状態でないモータMをロック状態であると誤判定してしまうリスクをさらに低減できる。
【数16】
【0087】
<モータがロック状態であるときのモータ制御装置の動作>
図6は、本開示の実施例1のモータ制御装置の動作例を示す図である。
図6には、モータMがロック状態であるときの電圧(以下では「ロック時電圧」と呼ぶことがある)の変化が実線で示され、モータMがロック状態でないときの電圧(以下では「非ロック時電圧」と呼ぶことがある)の変化が点線で示される。
【0088】
上記のように、ロック判定は、速度上昇区間終末時点T1で行われる。また、上記のように、速度上昇区間I1では、d軸電流指令値id*が、初期値である所定値id_iniで一定に保たれるとともに、q軸電流指令値iq*が0で一定に保たれたまま、速度指令値ω*が0から所定回転数ω1まで線形増加される。
【0089】
モータMがロック状態でない場合に速度上昇区間I1で発生する電圧は、RL電圧とモータ誘起電圧との合成電圧であり、
図6に点線で示す「非ロック時電圧」に相当する。一方で、モータMがロック状態である場合にはモータ誘起電圧は発生しないため、モータMがロック状態である場合に速度上昇区間I1で発生する電圧は、IPM25の通電周波数に応じて増加するRL電圧のみであり、
図6に実線で示す「ロック時電圧」に相当する。このように、モータMがロック状態でないときの出力電圧(以下では「非ロック時出力電圧」と呼ぶことがある)と、モータMがロック状態であるときの出力電圧(以下では「ロック時出力電圧」と呼ぶことがある)との間には相違がある。つまり、モータMがロック状態である場合とロック状態でない場合とでモータ誘起電圧の有無が生じ、モータ電流を電流指令値に追従させるために生成されるd軸電圧指令値Vd及びq軸電圧指令値Vqの大きさに変化が生じるため、出力電圧に相違が生じる。
【0090】
そこで、非ロック時出力電圧とロック時出力電圧との間に上記のようなロック判定閾値V_jdを設定することで、ロック判定を行うことが可能となる。
【0091】
以上、実施例1について説明した。
【0092】
[実施例2]
実施例1では、同期運転モードにおいてd軸電流指令値を減少させることにより過励磁の度合いを抑制した状態で同期運転モードから位置センサレス制御モードへ移行することを示した。また、実施例1では、電流調整区間の最終点(つまり、位置センサレス制御モードの開始時点)でわずかのd軸電流を流すことで、モータMの脱調の懸念を減少させた。しかし、モータMに接続される負荷が周期的に変動する場合や、モータMの温度やモータMに流れる電流値の変化によりモータMに設定されるモータ定数が真値から乖離している場合には、d軸電流指令値の減少過程でモータMの脱調を引き起こす懸念がある。
【0093】
そこで、実施例2では、同期運転モードの電流調整区間でのモータMの脱調の懸念をより減少させる。以下、実施例1と異なる点について説明する。
【0094】
<モータ制御装置の構成>
図7は、本開示の実施例2のモータ制御装置の構成例を示す図である。
図7において、モータ制御装置100bは、PLL制御器31bと、加算器41とを有する。
【0095】
PLL制御器31bには軸誤差演算器30から軸誤差Δθが入力される。PLL制御器31bは、同期運転モードにおいては、軸誤差Δθに基づいて、回転位相θdqの生成に用いられる速度指令値ω*を補正する速度補正値ωbを算出し、算出した速度補正値ωbを出力する。また、PLL制御器31bは、位置センサレス制御モードにおいては、軸誤差Δθに基づいて、速度推定値ωを算出し、算出した速度推定値ωを出力する。
【0096】
加算器41は、速度指令値ω*と速度補正値ωbとを加算することにより、位置推定器32に入力される速度加算値ω+を算出する。
【0097】
位置推定器32は、運転モードが同期運転モードであるときは、速度加算値ω+を積分することで回転位相θdqを生成する。一方で、運転モードが位置センサレス制御モードであるときは、位置推定器32は、実施例1と同様に、速度推定値ωを積分することで回転位相θdqを生成する。
【0098】
<PLL制御器の構成>
図8は、本開示の実施例2のPLL制御器の構成例を示す図である。
図8において、PLL制御器31bは、比例積分制御器311と、比例制御器312と、比例出力制御器313と、スイッチSW4とを有する。
【0099】
比例制御器312は、軸誤差Δθを比例制御することにより、モータMに接続される負荷の周期的な変動による速度の変動を表す速度変動成分ωaを算出する。
【0100】
比例出力制御器313は、時間変化する比例出力係数Rを速度変動成分ωaに乗算することにより、徐々に増加する速度補正値ωbを算出する。
【0101】
比例積分制御器311は、実施例1のPLL制御器31aと同様に、軸誤差Δθを比例積分制御することにより速度推定値ωを算出する。
【0102】
スイッチSW4は、A接点とB接点とを有する。運転モード切替器40は、運転モードが同期運転モードであるときは、スイッチSW4を接点Bに接続する一方で、運転モードが位置センサレス制御モードであるときは、スイッチSW4を接点Aに接続する。よって、運転モードが同期運転モードであるときは、速度補正値ωbがPLL制御器31bから出力され、運転モードが位置センサレス制御モードであるときは、速度推定値ωがPLL制御器31bから出力される。
【0103】
<PLL制御器の動作>
図9は、本開示の実施例2の比例出力制御器の動作例を示す図である。
【0104】
上記ように、比例出力制御器313は、時間の経過に伴って徐々に増加する比例出力係数Rを比例出力である速度変動成分ωaに乗算することにより速度補正値ωbを算出する。
図9に示すように、比例出力係数Rは、速度変動成分ωaに比例出力係数Rが乗算されることにより速度補正値ωbの大きさが調整される区間(以下では「比例出力調整区間」と呼ぶことがある)の開始点TAから比例出力調整区間の終了点TBまでの間で0から1に線形で増加する。例えば、電流調整区間I2の始点を開始点TAとし、電流調整区間I2の終点を終了点TBとしても良い。また例えば、軸誤差Δθがほぼ0に調整された時点で、実質的に比例出力調整区間を設けずに比例出力係数Rを1に増加させても良い。つまり、電流調整区間において軸誤差Δθがほぼ0に調整された時点を開始点TAとし、開始点TAの到来後、即座に比例出力係数Rを1に増加させて終了点TBを迎えても良い。
【0105】
速度変動成分ωaに
図9に示す比例出力係数Rが乗算されることにより速度補正値ωbが算出されることで、速度補正値ωbの大きさは、時間の経過に伴って、0から徐々に増加する。
【0106】
以上のようにして電流調整区間における速度補正値ωbの大きさを調整することで、電流調整区間の初期でd軸電流指令値が大きくてモータMの脱調の懸念が小さい区間では、PLL制御の比例応答が小さく抑えられるため、モータMの急減速を防止できる。一方で、電流調整区間の終期でd軸電流指令値が小さくてモータMの脱調の懸念が大きい区間では、軸誤差Δθが0近傍に収束している状態なので、PLL制御の比例応答を大きくしても問題がない。このため、電流調整区間の終期や軸誤差Δθが0近傍に収束している状態での比例出力係数Rを大きくすることで、モータMの速度の変動に応じた回転位相の生成が可能となる。これにより、モータMの速度の変動に応じて、dc-qc座標軸の回転位相を瞬時に修正することが可能となる。よって、d軸電流指令値が減少した際に周期的な負荷変動やモータ定数の真値からの乖離の影響によるモータMの脱調を防止できる。
【0107】
以上、実施例2について説明した。
【0108】
[実施例3]
突極性を有するIPMSMを過負荷で起動させる場合、
図10に示すように、負荷トルク相当の定トルク曲線とMTPA曲線との交点上の電流ベクトルが、同期運転時の最終電流ベクトルから乖離していく。
図10は、本開示の実施例3の位置センサレス制御モード移行時の電流ベクトル変化を示す図である。
【0109】
図10に示すように、過負荷になるほど同期運転モードと位置センサレス制御モードとの間で電流ベクトルの乖離が大きくなる。よって、過負荷になるほど、運転モードが同期運転モードM2から位置センサレス制御モードM3に切り替えられたときのd軸電流指令値及びq軸電流指令値の不連続の度合いが大きくなる。このため、運転モードの切替によりモータMに発生する切替ショック等、モータMの制御の不安定化が引き起こされてしまうことが懸念される。
【0110】
そこで、実施例3では、モータMの制御の不安定化の懸念を減少させる。以下、実施例2と異なる点について説明する。
【0111】
<センサレス電流指令値生成器の構成>
図11は、本開示の実施例3のセンサレス電流指令値生成器の構成例を示す図である。
図11において、センサレス電流指令値生成器14は、重み係数生成器141と、MTPA電流指令値生成器142と、同期運転最終電流指令値生成器143と、乗算器144,145,146,147と、加算器148,149とを有する。
【0112】
MTPA電流指令値生成器142は、実施例2におけるセンサレス電流指令値生成器14で行われる処理をMTPA制御に限定して行うことにより、トルク指令値T*に基づいてMTPA_d軸電流指令値id_mt*及びMTPA_q軸電流指令値iq_mt*を生成する。つまり、MTPA電流指令値生成器142は、トルク指令値T*に基づいて、二曲線交点からMTPA_d軸電流指令値id_mt*及びMTPA_q軸電流指令値iq_mt*を生成する。以下では、MTPA_d軸電流指令値及びMTPA_q軸電流指令値を「MTPA電流指令値」と総称することがある。
【0113】
同期運転最終電流指令値生成器143は、電流調整区間I2の最終点(つまり、同期運転モードM2の終了時点)でのd軸電流指令値である最終点d軸電流指令値id_sy_end
*を生成する。また、同期運転最終電流指令値生成器143は、最終点d軸電流指令値id_sy_end
*とトルク指令値T
*とに基づいて、式(22)に従って、最終点q軸電流指令値iq_sy_end
*を生成する。式(22)に従って生成される最終点q軸電流指令値iq_sy_end
*は、dc-qc座標軸上においてd軸電流指令値を最終点d軸電流指令値id_sy_end
*に固定したqc軸に平行な直線上に位置し、負荷トルクの変化に応じて変動する値である。以下では、最終点d軸電流指令値及び最終点q軸電流指令値を「最終点電流指令値」と総称することがある。
【数17】
【0114】
なお、電流指令値を最終点電流指令値からMTPA電流指令値に切り替える区間(以下では「電流ベクトルスムージング区間」と呼ぶことがある)で負荷トルクが急激に変化しないことが実験等により予め分かっている場合には、同期運転最終電流指令値生成器143は、式(22)に従った最終点q軸電流指令値iq_sy_end*の生成を行わずに、d軸電流指令値と同様に、電流調整区間I2の最終点でのq軸電流指令値を最終点q軸電流指令値iq_sy_end*としても良い。
【0115】
重み係数生成器141は、MTPA電流指令値及び最終点電流指令値のそれぞれに乗算される第一重み係数W_up及び第二重み係数W_downを生成する。
【0116】
乗算器144は、MTPA_d軸電流指令値id_mt*に第一重み係数W_upを乗算する。
【0117】
乗算器145は、MTPA_q軸電流指令値iq_mt*に第一重み係数W_upを乗算する。
【0118】
乗算器146は、最終点d軸電流指令値id_sy_end*に第二重み係数W_downを乗算する。
【0119】
乗算器147は、最終点q軸電流指令値iq_sy_end*に第二重み係数W_downを乗算する。
【0120】
加算器148は、乗算器144での乗算結果と乗算器146での乗算結果とを加算することにより、電流ベクトルスムージング区間におけるセンサレスd軸電流指令値id_sl*を生成する。
【0121】
加算器149は、乗算器145での乗算結果と乗算器147での乗算結果とを加算することにより、電流ベクトルスムージング区間におけるセンサレスq軸電流指令値iq_sl*を生成する。
【0122】
つまり、電流ベクトルスムージング区間におけるセンサレスd軸電流指令値id_sl
*は式(23)に従って生成され、電流ベクトルスムージング区間におけるセンサレスq軸電流指令値iq_sl
*は式(24)に従って生成される。
【数18】
【0123】
よって、MTPA電流指令値は、運転モードが位置センサレス制御モードであるときに、二曲線交点に基づいて算出され、加算器148,149によって最終的にセンサレス電流指令値が算出される前に算出される第一の仮の電流指令値に相当する。また、最終点電流指令値は、運転モードが位置センサレス制御モードであるときに、電流調整区間I2の最終点でのd軸電流指令値に基づいて算出され、加算器148,149によって最終的にセンサレス電流指令値が算出される前に算出される第二の仮の電流指令値に相当する。
【0124】
<センサレス電流指令値生成器の動作>
図12は、本開示の実施例3の重み係数生成器の動作例を示す図である。
図12に示すように、重み係数生成器141は、電流ベクトルスムージング区間の開始点TXから電流ベクトルスムージング区間の終了点TYまでの間で0から1に線形で増加する第一重み係数W_upを生成する。また、重み係数生成器141は、開始点TXから終了点TYまでの間で1から0に線形で減少する第二重み係数W_downを生成する。
【0125】
ここで、電流ベクトルスムージング区間は任意に設定可能である。例えば、電流ベクトルスムージング区間は、上記の
図2及び
図3において速度指令値ω
*がω1からω2まで増加する区間等、位置センサレス制御モード区間内に設定されるのが好ましい。
【0126】
図13は、本開示の実施例3の電流ベクトル軌跡の一例を示す図である。センサレスd軸電流指令値id_sl
*及びセンサレスq軸電流指令値iq_sl
*が第一重み係数W_up及び第二重み係数W_downを用いて式(23)及び式(24)に従って生成されることで、
図13に示すように、運転モードが同期運転モードから位置センサレス制御モードに移行する際においても、電流ベクトルの連続性が保たれる。よって、上記の
図2及び
図3に示すように、運転モードが同期運転モードM2から位置センサレス制御モードM3に切り替えられたときのd軸電流指令値及びq軸電流指令値の連続性が保たれる。その結果、位置センサレス制御モードへの移行時の電流飛びや速度飛び等による切替ショックを低減できるため、位置センサレス制御モードへの移行時のモータMの制御の安定性をさらに向上させることができる。
【0127】
以上、実施例3について説明した。
【0128】
[実施例4]
モータMの起動時の周期的トルク変動により、同期運転モードM2から位置センサレス制御モードM3への移行時に切替ショックが生じる懸念がある。実施例4では、モータMの起動時の周期的トルク変動による速度変動を抑制し、同期運転モードM2から位置センサレス制御モードM3への移行時の切替ショックを低減する。以下、実施例1と異なる点について説明する。
【0129】
<モータ制御装置の構成>
図14は、本開示の実施例4のモータ制御装置の構成例を示す図である。
図14において、モータ制御装置100cは、加算器81,52,62と、速度変動補正値生成器61と、トルク変動補正値生成器63と、q軸電流補正値算出器64とを有する。
【0130】
軸誤差演算器30によって算出された軸誤差Δθは、PLL制御器31、同期運転電流指令値生成器13及び速度変動補正値生成器61に入力される。
【0131】
位置推定器32は、加算器62によって算出される速度情報ω_corを積分することで、dc-qc座標軸の回転位相θdqを生成する。運転モードが同期運転モードにあるときは、スイッチSW3は接点Bに接続されるため、加算器62は、速度変動補正値生成器61から出力される速度変動値Δωを、モータ制御装置100cの外部(例えば、上位のコントローラ)からモータ制御装置100cへ入力される電気角速度の指令値である速度指令値ω*に加算することにより、速度変動値Δωによって補正された速度指令値(以下では「補正後速度指令値」と呼ぶことがある)を算出する。よって、運転モードが同期運転モードにあるときは補正後速度指令値が速度情報ω_corとして位置推定器32に入力されるため、同期運転モードでは、速度指令値ω*に基づいて生成された回転位相θdqにモータMが同期する。一方で、運転モードが位置センサレス制御モードにあるときは、スイッチSW3は接点Aに接続されるため、加算器62は、速度変動補正値生成器61から出力される速度変動値Δωを、PLL制御器31から出力される電気角速度の推定値である速度推定値ωに加算することにより、速度変動値Δωによって補正された速度推定値(以下では「補正後速度推定値」と呼ぶことがある)を算出する。よって、運転モードが位置センサレス制御モードにあるときは補正後速度推定値が速度情報ω_corとして位置推定器32に入力されるため、位置センサレス制御モードでは、軸誤差Δθが帰還制御されることで得られる速度推定値ωに基づいて回転位相θdqが生成される。
【0132】
また、位置推定器32は、スイッチSW3を介して入力される速度情報ω_corに基づいてモータMのロータ位置の回転角度を表す機械角位相θmを生成する。
【0133】
PLL制御器31は、軸誤差Δθを比例積分制御することにより、軸誤差Δθが0となるような速度推定値ωを算出する。PLL制御器31によって算出された速度推定値ωがスイッチSW3を介して加算器62に入力されて補正後速度推定値が位置推定器32に入力されることで回転位相θdqが修正され、その結果、軸誤差Δθを0に近づけることができる。
【0134】
減算器11は、速度指令値ω*から速度推定値ωを減算することにより速度誤差ω_difを算出する。
【0135】
速度制御器12は、速度誤差ω_difを比例積分制御することにより、周期的に脈動する速度誤差ω_difの平均成分が0に近づくような平均トルク指令値T_ave*を生成する。
【0136】
加算器81は、トルク変動補正値生成器63から出力されるトルク変動補正値ΔTを平均トルク指令値T_ave*に加算することにより合計トルク指令値T*を算出する。
【0137】
センサレス電流指令値生成器14は、運転モードが位置センサレス制御モードであるときに、合計トルクが一定となる電流の軌跡である定トルク曲線に基づいて合計トルク指令値T*をd-q座標軸上の電流ベクトルに変換することにより、センサレスd軸電流指令値id_sl*及びセンサレスq軸電流指令値iq_sl*を生成する。以下では、センサレスd軸電流指令値及びセンサレスq軸電流指令値を「センサレス電流指令値」と総称することがある。
【0138】
一方で、運転モードが同期運転モードであるときは、スイッチSW1は接点Bに接続される。このため、同期運転電流指令値生成器13によって生成される同期運転d軸電流指令値id_sy*が、減算器18及び非干渉化制御器36に入力されるd軸電流指令値id*となる。また、運転モードが同期運転モードであるときは、スイッチSW2は接点Bに接続されるため、加算器52は、q軸電流補正値算出器64から出力されるq軸電流補正値Δiq_tを、同期運転電流指令値生成器13によって生成される同期運転q軸電流指令値iq_sy*に加算することにより、q軸電流補正値Δiq_tによって補正された同期運転q軸電流指令値(以下では「補正後同期運転q軸電流指令値」と呼ぶことがある)iq_sy*’を算出する。よって、運転モードが同期運転モードであるときは、補正後同期運転q軸電流指令値iq_sy*’が、減算器19及び非干渉化制御器36に入力されるq軸電流指令値iq*となる。なお、以下では、同期運転d軸電流指令値及び同期運転q軸電流指令値を「同期運転電流指令値」と総称することがある。
【0139】
<周期的トルク変動がないときのモータ制御装置の動作>
周期的トルク変動がないときは、モータ制御装置100cは、上記の
図2及び
図3に示したように実施例1と同様に動作する。但し、運転モードが位置決めモードM1または同期運転モードM2であるときは、スイッチSW1,SW2が接点Bに接続されるため、同期運転電流指令値生成器13によって生成される同期運転d軸電流指令値id_sy
*及び補正後同期運転q軸電流指令値iq_sy
*’が、減算器18,19及び非干渉化制御器36に入力されるd軸電流指令値id
*及びq軸電流指令値iq
*となる。
【0140】
<周期的な負荷トルクの変動があるときのモータ制御装置の動作>
図15及び
図16は、本開示の実施例4のモータ制御装置の動作例を示す図である。
図15及び
図16には、周期的な負荷トルクの変動(以下では「周期的トルク変動」と呼ぶことがある)があるときの動作例を示す。また、
図15には軽負荷時の動作例を示し、
図16には過負荷時の動作例を示す。
図15及び
図16において、電流調整区間I2では、周期的トルク変動がないときの動作例と同様にモータ制御装置100cが動作することで、平均の負荷トルクに応じて平均電流が調整される。また、電流調整区間I2では、モータMの回転数の変動量が後述する速度変動許容値|Δω|
*まで抑制されるように、周期的トルク変動に応じて電流の変動量が調整される。このように、周期的トルク変動の抑制は、同期運転モードM2の電流調整区間I2から行われる。
【0141】
<速度変動補正値生成器の構成>
図17は、本開示の実施例4の速度変動補正値生成器の構成例を示す図である。
図17において、速度変動補正値生成器61は、軸誤差変動成分分離器611と、軸誤差変動積算器612と、速度変動復調器613とを有する。速度変動補正値生成器61には、位置推定器32から機械角位相θmが入力され、軸誤差演算器30から軸誤差Δθが入力される。
【0142】
モータ制御装置100cでは、周期的トルク変動に起因する軸誤差Δθの変動(以下では「軸誤差変動」と呼ぶことがある)がフィードバックされ、軸誤差変動を0とするために必要なモータMの回転速度の変動(以下では「速度変動」と呼ぶことがある)が機械角周期毎に生成される。
【0143】
そこで、軸誤差変動成分分離器611は、軸誤差Δθと機械角位相θmとに基づいて、高調波成分が排除された軸誤差変動の基本波成分をsin成分とcos成分とに分離する。軸誤差変動成分分離器611は、式(25)及び式(26)に従って第一フーリエ係数Δθsinと第二フーリエ係数Δθcosとを算出することにより、軸誤差変動の基本波成分をsin成分とcos成分とに分離する。軸誤差変動成分分離器611は、第一フーリエ係数Δθsin及び第二フーリエ係数Δθcosを機械角周期毎に算出して更新する。軸誤差変動成分分離器611が基本波成分のフーリエ係数を機械角周期毎に更新することで、軸誤差変動の高調波成分が排除された軸誤差変動基本波成分を精度よく抽出することができる。
【数19】
【0144】
軸誤差変動積算器612は、式(27)に従って、第一フーリエ係数Δθsinと、軸誤差変動を補正するための補正ゲインk_Δθとの乗算結果Δθsin・k_Δθの積算値Δθsin_iを算出し、式(28)に従って、第二フーリエ係数Δθcosと補正ゲインk_Δθとの乗算結果Δθcos・k_Δθの積算値Δθcos_iを算出する。式(27)におけるΔθsin_i_oldは前回の機械角周期で算出された積算値Δθsin_iであり、式(28)におけるΔθcos_i_oldは前回の機械角周期で算出された積算値Δθcos_iである。また、積算値Δθsin_i及び積算値Δθcos_iの算出は、電流調整区間I2に開始され、位置センサレス制御モードM3でも継続して実施される。
【数20】
【0145】
速度変動復調器613は、式(29)に従って、積算値Δθsin_i,Δθcos_iを用いて速度変動値Δωを復調することにより、速度変動値Δωを生成する。式(29)に従って速度変動値Δωが生成されることで、軸誤差変動の積算値からπ/2だけ位相が遅れた速度変動が生成され、機械角位相θmでの速度変動の瞬時値が生成される。ここで、軸誤差変動に対してπ/2だけ位相を遅らせた速度変動を生成することで、速度変動の積分で表される位置変動が速度変動よりさらにπ/2だけ遅れた位相で発生する。したがって、位置変動は軸誤差変動に対して逆位相となるため、軸誤差変動が0に収束される。
【数21】
【0146】
なお、軸誤差変動と速度変動との間に理論的な数式関係が成立する場合には、式(29)に従って軸誤差変動の位相に対して固定値であるπ/2だけ位相が遅れた速度変動値Δωを生成することによって軸誤差変動を0に収束させることが可能である。しかし、軸誤差Δθ自体に誤差が含まれる場合には、軸誤差変動と速度変動との間に理論的な数式関係が成立しなくなるため、軸誤差変動の位相に対して固定値であるπ/2だけ位相が遅れた速度変動の位相では軸誤差変動を0に収束させられないおそれがある。軸誤差Δθ自体の誤差は、モータMの回転数に依存する軸誤差演算器30の応答速度に起因して生ずるものと考えられる。そこで、軸誤差Δθ自体に誤差が含まれる場合には、軸誤差変動の位相に対する速度変動の位相のシフト量θshiftをモータMの回転数によって変化させることで、軸誤差変動を0に収束させることができる。そこで、軸誤差Δθ自体に誤差が含まれる場合には、速度変動復調器613は、式(30)~(33)に従って速度変動値Δωを生成するのが好ましい。式(33)におけるf(ω*)は、速度指令値ω*を入力とする関数であり、速度指令値ω*に応じて速度変動の位相が変化するように、例えば1次または2次の関数によって表現される。
【0147】
上記のように、軸誤差Δθ自体に誤差が含まれるか否かによって、速度変動値Δωの好ましい生成方法は異なるため、軸誤差Δθ自体に誤差が含まれるか否かを予め実験等によって確認し、軸誤差Δθ自体に誤差が含まれるか否かに応じた速度変動値Δωの生成方法をモータ制御装置100cに予め設定しておくのが好ましい。
【数22】
【0148】
式(29)または式(30)に従って生成される速度変動値Δωは、速度指令値ω*及び速度推定値ωを補正するための速度変動補正値として用いられる。
【0149】
以上、速度変動補正値生成器61の構成について説明した。
【0150】
図14に戻り、加算器62は、運転モードが同期運転モードにあるときに、式(34)に従って、速度指令値ω
*に速度変動値Δωを速度変動補正値として加算することにより補正後速度指令値である速度情報ω_corを算出する。なお、加算器62は、運転モードが位置センサレス制御モードにあるときは、速度推定値ωに速度変動値Δωを速度変動補正値として加算することにより補正後速度推定値である速度情報ω_corを算出する。
【数23】
【0151】
位置推定器32は、速度情報ω_corを式(35)に従って積分することで回転位相θdqを生成する。
【数24】
【0152】
また、位置推定器32は、速度情報ω_corに基づいて、式(36)に従って、機械角位相θmを生成する。
【数25】
【0153】
以上のように、速度指令値ω*及び速度推定値ωの変動成分が速度変動値Δωによって補正されるため、d-q座標軸とdc-qc座標軸とが変動成分を含めて一致した正確な位置推定を行うことができる。
【0154】
<トルク変動補正値生成器の構成>
図18は、本開示の実施例4のトルク変動補正値生成器の構成例を示す図である。
図18において、トルク変動補正値生成器63は、速度変動成分分離器631と、速度変動振幅算出器632と、減算器633と、補正トルク振幅算出器634と、速度変動位相修正器635と、直交成分分離器636と、補正トルク復調器637とを有する。トルク変動補正値生成器63には、速度変動補正値生成器61から速度変動値Δωが入力され、位置推定器32から機械角位相θmが入力される。また、トルク変動補正値生成器63には、モータ制御装置100cの外部(例えば、上位のコントローラ)から速度変動許容値|Δω|
*が入力される。速度変動許容値|Δω|
*は、速度変動の振幅値に対する許容値であり、モータMに発生する振動が許容範囲に収まるような値に設定される。トルク変動補正値生成器63は、速度推定値ωの変動が速度変動許容値|Δω|
*内に抑制されるように、以下のようにして、トルク変動補正値ΔTを生成する。
【0155】
トルク変動補正値生成器63は、モータMに発生する振動が実使用上問題とならない範囲の速度変動となるように、フィードバックされた速度変動値Δωに基づいて、トルク変動補正値ΔTの振幅と位相を機械角周期毎に調整する。
【0156】
そこで、速度変動成分分離器631は、速度変動値Δωと機械角位相θmとに基づいて、高調波成分が排除された速度変動の基本波成分をsin成分とcos成分とに分離する。速度変動成分分離器631は、式(37)及び式(38)に従って第三フーリエ係数ωsinと第四フーリエ係数ωcosとを算出することにより、速度変動の基本波成分をsin成分とcos成分とに分離する。速度変動成分分離器631は、第三フーリエ係数ωsin及び第四フーリエ係数ωcosを機械角周期毎に算出して更新する。速度変動成分分離器631が基本波成分のフーリエ係数を機械角周期毎に更新することで、速度変動の高調波成分が排除された速度変動基本波成分を精度よく抽出することができる。
【数26】
【0157】
速度変動振幅算出器632は、第三フーリエ係数ωsin及び第四フーリエ係数ωcosに基づいて、式(39)に従って、速度変動基本波成分の振幅値|Δω|を算出する。上記のように第三フーリエ係数ωsin及び第四フーリエ係数ωcosは機械角周期毎に更新されるため、振幅値|Δω|も機械角周期毎に更新される。
【数27】
【0158】
減算器633は、振幅値|Δω|から速度変動許容値|Δω|*を減算し、差分値|Δω|-|Δω|*を補正トルク振幅算出器634へ出力する。
【0159】
補正トルク振幅算出器634は、式(40)に従って、差分値|Δω|-|Δω|
*と、速度変動値Δωを補正するための補正ゲインk_Δωとの乗算結果k_Δω・(|Δω|-|Δω|
*)を機械角周期毎に積算することにより、機械角周期毎に補正トルク振幅|ΔT|を算出する。式(40)における|ΔT|_oldは前回の機械角周期で算出された補正トルク振幅|ΔT|である。式(40)における補正ゲインk_Δωの大きさによって、補正トルク振幅|ΔT|の変化量が決定される。式(40)における補正ゲインk_Δωが適切な値に設定されることで、速度変動が速度変動許容値の境界でハンチングすることを抑制できるとともに、急激な負荷トルクの変化によって速度変動が速度変動許容値を超えてモータMに振動・騒音が発生することを抑制することができる。なお、補正トルク振幅|ΔT|の算出は、電流調整区間I2に開始され、位置センサレス制御モードM3でも継続して実施される。
【数28】
【0160】
速度変動位相修正器635は、式(41)に従って、第三フーリエ係数ωsinと補正ゲインk_Δωとの乗算結果ωsin・k_Δωの積算値ωsin_iを算出し、式(42)に従って、第四フーリエ係数ωcosと補正ゲインk_Δωとの乗算結果ωcos・k_Δωの積算値ωcos_iを算出する。式(41)におけるωsin_i_oldは前回の機械角周期で算出された積算値ωsin_iであり、式(42)におけるωcos_i_oldは前回の機械角周期で算出された積算値ωcos_iである。
【数29】
【0161】
また、速度変動位相修正器635は、積算値ωsin_i,ωcos_iに基づいて、式(43)に従って、速度変動成分の位相が修正された位相(以下では「速度変動修正位相」と呼ぶことがある)φωiを算出する。速度変動修正位相φωiがトルク制御位相の基準となり、速度変動修正位相φωiからπ/2だけ遅れた位相が、補正トルク位相となる。
【数30】
【0162】
直交成分分離器636は、式(44)に従って、振幅が補正トルク振幅|ΔT|であり、位相が速度変動修正位相φωiである基本波のsin成分ωsin_iを算出するとともに、式(45)に従って、振幅が補正トルク振幅|ΔT|であり、位相が速度変動修正位相φωiである基本波のcos成分ωcos_iを算出する。この処理は、式(44),(45)の結果によって式(41),(42)を書き換えることになり、式(41)及び式(42)の演算による位相修正時の発散を防止する役割も有する。
【数31】
【0163】
補正トルク復調器637は、式(46)に従って、sin成分ωsin_i及びcos成分ωcos_iを用いてトルク変動補正値ΔTを復調することにより、トルク変動補正値ΔTを生成する。式(46)に従ってトルク変動補正値ΔTが生成されることで、速度変動修正位相φωiからπ/2だけ遅れた補正トルク位相が算出され、機械角位相θmでの補正トルクの瞬時値が生成される。
【数32】
【0164】
なお、補正トルク復調器637は、式(46)に替えて、式(47)に従ってトルク変動補正値ΔTを生成しても良い。
【数33】
【0165】
以上、トルク変動補正値生成器63の構成について説明した。以上のようにして生成されたトルク変動補正値ΔTを用いて平均トルク指令値T_ave*が補正されることにより、モータMの回転速度の変動が抑制される。
【0166】
図14に戻り、トルク変動補正値生成器63によって生成されたトルク変動補正値ΔTは、加算器81及びq軸電流補正値算出器64に入力される。また、q軸電流補正値算出器64には、同期運転電流指令値生成器13から同期運転d軸電流指令値id_sy
*が入力される。
【0167】
q軸電流補正値算出器64は、式(48)に従って、トルク次元の物理量を電流次元に変換することにより、トルク変動補正値ΔTからq軸電流補正値Δiq_tを算出する。
【数34】
【0168】
加算器52は、q軸電流補正値Δiq_tを同期運転q軸電流指令値iq_sy*に加算することにより補正後同期運転q軸電流指令値iq_sy*’を算出する。
【0169】
以上説明したように、同期運転モードM2の電流調整区間I2において、軸誤差変動を抑制するために必要な速度変動値Δωが生成される。また、速度変動値Δωに基づいてトルク変動補正値ΔTが生成され、トルク変動補正値ΔTに基づいて生成される補正後同期運転q軸電流指令値iq_sy*’によって電流制御が行われる。これにより、モータMの起動時の周期的トルク変動による速度変動が抑制される。よって、モータMの振動・騒音を低減できるとともに、位置センサレス制御モードM3への移行時の切替ショックを低減できる。
【0170】
ここで、速度変動補正値生成器61は、軸誤差変動を0にするために必要な速度変動値Δωを生成する。これにより、モータMの効率向上の観点等から速度変動許容値|Δω|*が大きな値に設定された場合であっても、軸誤差Δθの変動が抑えられる。したがって、トルク制御が正常に機能し、モータMの振動・騒音を低減できるとともに、位置センサレス制御モードM3への移行時の切替ショックを低減できる。
【0171】
また、トルク変動補正値生成器63は、速度変動値Δωに基づいて、トルク変動補正値ΔTを生成する。これにより、運転モードが同期運転モードまたはセンサレス制御モードの何れにあるかによらず、トルク変動補正値ΔTに基づいたトルク制御を実現できる。
【0172】
なお、上記説明では、モータ制御装置100cが、速度変動補正値生成器61とトルク変動補正値生成器63とを別々に有する形態を一例に挙げた。しかし、モータ制御装置100cは、速度変動補正値生成器61とトルク変動補正値生成器63とを別々に有する替わりに、速度変動補正値生成器61とトルク変動補正値生成器63とを一体化した「トルク制御器」を有しても良い。
【0173】
以上、実施例4について説明した。
【0174】
[実施例5]
巻線抵抗、d軸インダクタンス、q軸インダクタンス及び鎖交磁束等、モータMの特性を決定するパラメータや負荷の大きさによっては、q軸電流補正値Δiq_tの変動振幅が増加し、電流制御器20の応答遅延やdq軸間干渉の影響によって、電流検出値が電流指令値に追従しない場合がある。
【0175】
そこで、実施例5では、電流指令値への電流検出値の追従性を向上させる。以下、実施例4と異なる点について説明する。
【0176】
<モータ制御装置の構成>
図19は、本開示の実施例5のモータ制御装置の構成例を示す図である。
図19において、モータ制御装置100dは、電流追従誤差補正値生成器71と、加算器72,73とを有する。電流追従誤差補正値生成器71には、d軸電流指令値id
*及びq軸電流指令値iq
*が入力される。また、電流追従誤差補正値生成器71には、位置推定器32から機械角位相θmが入力され、uvw/dq変換器29からd軸電流検出値id及びq軸電流検出値iqが入力される。
【0177】
<電流追従誤差補正値生成器の構成>
ここで、電流検出値は周期的トルク変動の周期で変動する。このため、電流検出値の平均値は電流指令値の平均値に追従するものの、電流検出値の変動成分は、電流制御器20の応答遅延やdq軸間干渉の影響によって、電流指令値の変動成分に追従しないことがある。電流検出値が電流指令値に追従しない場合、電流検出値の位相と電流指令値の位相との間にズレが発生する。
【0178】
そこで、電流追従誤差補正値生成器71は、以下の構成を採る。
図20は、本開示の実施例5の電流追従誤差補正値生成器の構成例を示す図である。
図20において、電流追従誤差補正値生成器71は、減算器711,712と、d軸電流誤差成分分離器713と、q軸電流誤差成分分離器714と、d軸電流誤差積算器715と、q軸電流誤差積算器716と、d軸電流誤差補正値復調器717と、q軸電流誤差補正値復調器718とを有する。
【0179】
減算器711は、式(49)に従って、d軸電流検出値idからd軸電流指令値id
*を減算することによりd軸電流変動誤差id_errを算出する。
【数35】
【0180】
d軸電流誤差成分分離器713は、式(50)及び式(51)に従って第五フーリエ係数id_err_sinと第六フーリエ係数id_err_cosとを算出することにより、高調波成分が排除されたd軸電流変動誤差id_errの基本波成分をsin成分とcos成分とに分離する。d軸電流誤差成分分離器713は、第五フーリエ係数id_err_sin及び第六フーリエ係数id_err_cosを機械角周期毎に算出して更新する。d軸電流誤差成分分離器713が基本波成分のフーリエ係数を機械角周期毎に更新することで、d軸電流変動誤差id_errの高調波成分が排除されたd軸電流変動誤差基本波成分を精度よく抽出することができる。
【数36】
【0181】
d軸電流誤差積算器715は、式(52)に従って、第五フーリエ係数id_err_sinと、d軸電流変動誤差id_errを補正するための補正ゲインk_Δidとの乗算結果id_err_sin・k_Δidの積算値id_err_sin_iを算出し、式(53)に従って、第六フーリエ係数id_err_cosと補正ゲインk_Δidとの乗算結果id_err_cos・k_Δidの積算値id_err_cos_iを算出する。式(52)におけるid_err_sin_i_oldは前回の機械角周期で算出された積算値id_err_sin_iであり、式(53)におけるid_err_cos_i_oldは前回の機械角周期で算出された積算値id_err_cos_iである。また、積算値id_err_sin_i及び積算値id_err_cos_iの算出は、電流調整区間I2に開始され、位置センサレス制御モードM3でも継続して実施される。
【数37】
【0182】
d軸電流誤差補正値復調器717は、式(54)に従って、積算値id_err_sin_i,id_err_cos_iを用いてd軸電流誤差補正値Δid_iを復調することにより、d軸電流誤差補正値Δid_iを生成し、生成したd軸電流誤差補正値Δid_iを加算器72へ出力する。式(54)に従ってd軸電流誤差補正値Δid_iが生成されることで、d軸電流変動誤差id_errの積算値から位相が反転したd軸電流誤差補正値Δid_iが生成され、機械角位相θmでのd軸電流誤差補正値Δid_iの瞬時値が生成される。
【数38】
【0183】
一方で、減算器712は、式(55)に従って、q軸電流検出値iqからq軸電流指令値iq
*を減算することによりq軸電流変動誤差iq_errを算出する。
【数39】
【0184】
q軸電流誤差成分分離器714は、式(56)及び式(57)に従って第七フーリエ係数iq_err_sinと第八フーリエ係数iq_err_cosとを算出することにより、高調波成分が排除されたq軸電流変動誤差iq_errの基本波成分をsin成分とcos成分とに分離する。q軸電流誤差成分分離器714は、第七フーリエ係数iq_err_sin及び第八フーリエ係数iq_err_cosを機械角周期毎に算出して更新する。q軸電流誤差成分分離器714が基本波成分のフーリエ係数を機械角周期毎に更新することで、q軸電流変動誤差iq_errの高調波成分が排除されたq軸電流変動誤差基本波成分を精度よく抽出することができる。
【数40】
【0185】
q軸電流誤差積算器716は、式(58)に従って、第七フーリエ係数iq_err_sinと、q軸電流変動誤差iq_errを補正するための補正ゲインk_Δiqとの乗算結果iq_err_sin・k_Δiqの積算値iq_err_sin_iを算出し、式(59)に従って、第八フーリエ係数iq_err_cosと補正ゲインk_Δiqとの乗算結果iq_err_cos・k_Δiqの積算値iq_err_cos_iを算出する。式(58)におけるiq_err_sin_i_oldは前回の機械角周期で算出された積算値iq_err_sin_iであり、式(59)におけるiq_err_cos_i_oldは前回の機械角周期で算出された積算値iq_err_cos_iである。また、積算値iq_err_sin_i及び積算値iq_err_cos_iの算出は、電流調整区間I2に開始され、位置センサレス制御モードM3でも継続して実施される。
【数41】
【0186】
q軸電流誤差補正値復調器718は、式(60)に従って、積算値iq_err_sin_i,iq_err_cos_iを用いてq軸電流誤差補正値Δiq_iを復調することにより、q軸電流誤差補正値Δiq_iを生成し、生成したq軸電流誤差補正値Δiq_iを加算器73へ出力する。式(60)に従ってq軸電流誤差補正値Δiq_iが生成されることで、q軸電流変動誤差iq_errの積算値から位相が反転したq軸電流誤差補正値Δiq_iが生成され、機械角位相θmでのq軸電流誤差補正値Δiq_iの瞬時値が生成される。
【数42】
【0187】
図19に戻り、加算器72は、式(6)に従って、d軸電流指令値id
*にd軸電流誤差補正値Δid_iを加算することにより、d軸電流誤差補正値Δid_iによる補正後のd軸電流指令値である補正d軸電流指令値id_FF
*を算出する。
【数43】
【0188】
加算器73は、式(62)に従って、q軸電流指令値iq
*にq軸電流誤差補正値Δiq_iを加算することにより、q軸電流誤差補正値Δiq_iによる補正後のq軸電流指令値である補正q軸電流指令値iq_FF
*を算出する。
【数44】
【0189】
減算器18は、補正d軸電流指令値id_FF*からd軸電流検出値idを減算することによりd軸電流誤差id_difを算出する。減算器19は、補正q軸電流指令値iq_FF*からq軸電流検出値iqを減算することによりq軸電流誤差iq_dif’を算出する。
【0190】
電流制御器20は、d軸電流誤差id_difを比例積分制御することにより、非干渉化前のd軸電圧指令値Vd_ccを算出する。また、電流制御器20は、q軸電流誤差iq_difを比例積分制御することにより、非干渉化前のq軸電圧指令値Vq_ccを算出する。
【0191】
以上のようにしてd軸電流誤差補正値Δid_i及びq軸電流誤差補正値Δiq_iを用いてd軸電流指令値id*及びq軸電流指令値iq*を補正することで、電流制御器20の応答遅延や電流制御に伴うdq軸間干渉を抑制することができるため、電流指令値への電流検出値の追従性が向上する。
【0192】
以上、実施例5について説明した。
【0193】
以上のように、本開示のモータ制御装置(実施例のモータ制御装置100a,100b,100c,100d)は、モータ(実施例のモータM)の回転速度が速度指令値に一致するようにモータを制御する。また、本開示のモータ制御装置は、速度指令値を積分した回転位相にモータを同期させる同期運転モードと、制御系座標軸とロータ座標軸との軸誤差を帰還制御することで得られる速度推定値が速度指令値に一致するようにモータを制御する位置センサレス制御モードとを有する。また、本開示のモータ制御装置は、同期運転電流指令値生成器(実施例の同期運転電流指令値生成器13)と、電圧指令値生成器(実施例の電流制御器20、非干渉化制御器36及び加算器21)と、判定器(実施例のロック判定器52)とを有する。同期運転電流指令値生成器は、同期運転モードにおける電流指令値を生成する。電圧指令値生成器は、モータに流れる電流が電流指令値に一致するように電圧指令値を生成する。判定器は、電圧指令値に基づいてモータがロックしているか否かを判定する。
【0194】
例えば、判定器は、電圧指令値の大きさに基づいて、モータがロックしているか否かを判定する。
【0195】
また例えば、同期運転モードは速度上昇区間と電流調整区間とを有し、判定器は、速度上昇区間における電圧指令値に基づいて、モータがロックしているか否かを判定する。
【0196】
また例えば、判定器は、電圧指令値を閾値(実施例のロック判定閾値V_jd)と比較した結果に基づいてモータがロックしているか否かを判定する。
【0197】
また例えば、閾値は、モータがロックしている状態であるときのモータの出力電圧値(実施例の第二ロック判定閾値V_jd_2)と、モータがロックしていない状態であるときのモータの出力電圧値(第一ロック判定閾値V_jd_1)との間の値に設定される。
【0198】
また、本開示のモータ制御装置は、補正器(実施例の電圧算出器51)を有する。補正器は、電圧指令値を補正し、補正後の電圧指令値である補正電圧指令値を出力する。判定器は、補正電圧指令値の大きさに基づいて、モータがロックしているか否かを判定する。
【0199】
また、同期運転電流指令値生成器は、速度上昇区間においてモータの回転数を所定回転数(実施例の所定回転数ω1)まで上昇させた後、電流調整区間において、目標指令値(実施例の目標指令値id_sy_end)へd軸電流指令値を近づける一方で、軸誤差を0に近づけるように帰還制御することによりq軸電流指令値を調整する。判定器は速度上昇区間でモータがロックしているか否かを判定することができるため、こうすることで、電流調整区間における軸誤差の帰還制御の信頼性を高めることができる。
【0200】
また、本開示のモータ制御装置は、位置センサレス電流指令値生成器(実施例のセンサレス電流指令値生成器14)を有する。同期運転電流指令値生成器は、速度上昇区間においてd軸電流指令値を目標指令値よりも大きい値を有する所定値(実施例の所定値id_ini)に設定する。位置センサレス電流指令値生成器は、位置センサレス制御モードにおいて、d軸電流指令値を目標指令値よりも小さい値に調整する。
【0201】
また、同期運転電流指令値生成器は、同期運転モードにおいて、d軸電流指令値を0近傍の正の値を有する目標指令値へ近づけ、位置センサレス電流指令値生成器は、位置センサレス制御モードにおいて、d軸電流指令値を0以下の値に調整する。
【0202】
また、本開示のモータ制御装置は、速度制御器(実施例の速度制御器12)を有する。速度制御器は、運転モードが同期運転モードから位置センサレス制御モードへ移行する際に、同期運転モードにおけるd軸電流指令値の最終値、及び、同期運転モードにおけるq軸電流指令値の最終値に基づいて、速度指令値と速度推定値との差を0に近づけるためのトルク指令値の初期値を設定する。
【0203】
また、本開示のモータ制御装置は、PLL制御器(実施例のPLL制御器31b)と、位置推定器(実施例の位置推定器32)とを有する。PLL制御器は、電流調整区間において、軸誤差を比例制御することにより速度変動成分(実施例の速度変動成分ωa)を算出し、速度変動成分に基づいて速度補正値を算出する一方で、位置センサレス制御モードにおいて、軸誤差を比例積分制御することにより速度推定値を算出する。位置推定器は、電流調整区間において、速度指令値と速度補正値とに基づいて回転位相を生成する一方で、位置センサレス制御モードにおいて、速度推定値を積分することにより回転位相を生成する。
【0204】
また、PLL制御器は、電流調整区間において、時間の経過に伴って増加する係数を速度変動成分に乗算することにより速度補正値を算出する。
【0205】
また、位置センサレス電流指令値生成器は、第一電流指令生成器(実施例のMTPA電流指令値生成器142)と、第二電流指令生成器(実施例の同期運転最終電流指令値生成器143)と、係数生成器(実施例の重み係数生成器141)とを有する。第一電流指令生成器は、位置センサレス制御モードにおける第一の仮の電流指令値(実施例のMTPA電流指令値)を生成する。第二電流指令生成器は、運転モードが同期運転モードから位置センサレス制御モードに移行する直前のd軸電流指令値に基づく第二の仮の電流指令値(実施例の最終点電流指令値)を生成する。係数生成器は、運転モードが位置センサレス制御モードにある区間内に設定されるスムージング区間(実施例の電流ベクトルスムージング区間)において、スムージング区間の開始から終了までに0から1に増加する増加係数(実施例の第一重み係数W_up)と、スムージング区間の開始から終了までに1から0に減少する減少係数(実施例の第二重み係数W_down)とを生成する。そして、位置センサレス電流指令値生成器は、第一の仮の電流指令値と増加係数との積と、第二の仮の電流指令値と減少係数との積とを加算することにより、位置センサレス制御モードにおける電流指令値を生成する。
【0206】
また、本開示のモータ制御装置は、トルク制御器(実施例の速度変動補正値生成器61及びトルク変動補正値生成器63)を有する。同期運転電流指令値生成器は、速度上昇区間において、電流指令値を所定値(実施例の所定値id_ini)に設定してモータの回転数を所定回転数(実施例の所定回転数ω1)まで上昇させた後、電流調整区間において、モータの負荷に応じて電流指令値を調整する。トルク制御器は、電流調整区間において、モータのトルク制御を行う。
【0207】
また、トルク制御器は、速度変動補正値生成器(実施例の速度変動補正値生成器61)を有する。速度変動補正値生成器は、電流調整区間において軸誤差の変動成分に基づいて速度変動補正値(実施例の速度変動値Δω)を生成する。判定器は速度上昇区間でモータがロックしているか否かを判定することができるため、こうすることで、電流調整区間における軸誤差の帰還制御の信頼性を高めることができる。したがって、運転モードが位置センサレス制御モードに移行した際の軸誤差の変動成分に基づく速度変動補正値の信頼性も高まるため、トルク制御による振動抑制を確実に行うことができる。
【0208】
また、トルク制御器は、トルク変動補正値生成器(実施例のトルク変動補正値生成器63)を有する。トルク変動補正値生成器は、速度変動補正値に基づいて、モータの回転速度の変動を抑制するためのトルク変動補正値(実施例のトルク変動補正値ΔT)を生成する。また、本開示のモータ制御装置は、電流補正値算出器(実施例のq軸電流補正値算出器64)を有する。電流補正値算出器は、トルク変動補正値に基づいて電流補正値(実施例のq軸電流補正値Δiq_t)を算出する。電流補正値は、q軸電流指令値(実施例の同期運転q軸電流指令値iq_sy*)に対する補正値(実施例のq軸電流補正値Δiq_t)である。
【0209】
また、同期運転電流指令値生成器は、電流調整区間において、d軸電流指令値(実施例の同期運転d軸電流指令値id_sy*)を所定値よりも小さい値を有する目標指令値(実施例の目標指令値id_sy_end)まで減少させるとともに、軸誤差を0に近づけるように帰還制御することによりq軸電流指令値(実施例の同期運転q軸電流指令値iq_sy*)を調整する。
【0210】
また、本開示のモータ制御装置は、電流追従誤差補正値生成器(実施例の電流追従誤差補正値生成器71)と、加算器(実施例の加算器72,73)とを有する。電流追従誤差補正値生成器は、電流指令値と、電流検出値との間の電流誤差(実施例のd軸電流変動誤差id_err,q軸電流変動誤差iq_err)に基づいて電流追従誤差補正値(実施例のd軸電流誤差補正値Δid_i,q軸電流誤差補正値Δiq_i)を生成する。加算器は、電流追従誤差補正値を電流指令値に加算することにより補正電流指令値(実施例の補正d軸電流指令値id_FF*,補正q軸電流指令値iq_FF*)を算出する。
【0211】
また、電流追従誤差補正値生成器は、電流誤差を積算し、電流誤差の積算結果の位相が反転した値を電流追従誤差補正値として生成する。
【0212】
なお、図示した各部の構成要素は、必ずしも物理的に図示の如く構成されていることを必要としない。各部の構成要素の分散・統合の具体的形態は図示のものに限られず、各部の構成要素の全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合しても良い。
【0213】
さらに、CPU(Central Processing Unit)、MPU(Micro Processing Unit)またはMCU(Micro Controller Unit)等のプロセッサを用いて、上記の各種の処理機能の全部または任意の一部が実行されるようにしても良い。また、プロセッサによって実行するされるプログラム上、または、ワイヤードロジックによるハードウェア上で、各種の処理機能の全部または任意の一部が実行されるようにしても良い。
【符号の説明】
【0214】
100a,100b,100c,100d モータ制御装置
12 速度制御器
13 同期運転電流指令値生成器
14 センサレス電流指令値生成器
51 電圧算出器
512 電圧補正器
52 ロック判定器
【手続補正書】
【提出日】2024-08-22
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
モータの回転速度が速度指令値に一致するように前記モータを制御するモータ制御装置であって、
前記速度指令値を積分した回転位相に前記モータを同期させる同期運転モードと、制御系座標軸とロータ座標軸との軸誤差を帰還制御することで得られる速度推定値が前記速度指令値に一致するように前記モータを制御する位置センサレス制御モードとを有し、
前記同期運転モードにおける電流指令値を生成する同期運転電流指令値生成器と、
前記モータに流れる電流が前記電流指令値に一致するように電圧指令値を生成する電圧指令値生成器と、
前記電圧指令値の大きさに基づいて、前記モータがロックしているか否かを判定する判定器と、
を具備するモータ制御装置。
【請求項2】
前記同期運転モードは速度上昇区間と電流調整区間とを有し、
前記判定器は、前記速度上昇区間における前記電圧指令値に基づいて、前記モータがロックしているか否かを判定する
請求項1に記載のモータ制御装置。
【請求項3】
前記判定器は、前記電圧指令値を閾値と比較した結果に基づいて前記モータがロックしているか否かを判定する、
請求項1に記載のモータ制御装置。
【請求項4】
前記閾値は、前記モータがロックしている状態であるときの前記モータの出力電圧値と、前記モータがロックしていない状態であるときの前記モータの出力電圧値との間の値に設定される、
請求項3に記載のモータ制御装置。
【請求項5】
前記電圧指令値を補正し、補正後の電圧指令値である補正電圧指令値を出力する補正器、をさらに具備し、
前記判定器は、前記補正電圧指令値の大きさに基づいて、前記モータがロックしているか否かを判定する、
請求項1に記載のモータ制御装置。
【請求項6】
前記同期運転電流指令値生成器は、前記速度上昇区間において前記モータの回転数を所定回転数まで上昇させた後、前記電流調整区間において、目標指令値へd軸電流指令値を近づける一方で、前記軸誤差を0に近づけるように帰還制御することによりq軸電流指令値を調整する、
請求項2に記載のモータ制御装置。
【請求項7】
前記同期運転電流指令値生成器は、前記速度上昇区間において前記d軸電流指令値を前記目標指令値よりも大きい値を有する所定値に設定し、
前記位置センサレス制御モードにおいて、前記d軸電流指令値を前記目標指令値よりも小さい値に調整する位置センサレス電流指令値生成器、をさらに具備する、
請求項6に記載のモータ制御装置。
【請求項8】
前記同期運転電流指令値生成器は、前記同期運転モードにおいて、前記d軸電流指令値を0近傍の正の値を有する前記目標指令値へ近づけ、
前記位置センサレス電流指令値生成器は、前記位置センサレス制御モードにおいて、前記d軸電流指令値を0以下の値に調整する、
請求項7に記載のモータ制御装置。
【請求項9】
運転モードが前記同期運転モードから前記位置センサレス制御モードへ移行する際に、前記同期運転モードにおける前記d軸電流指令値の最終値、及び、前記同期運転モードにおける前記q軸電流指令値の最終値に基づいて、前記速度指令値と前記速度推定値との差を0に近づけるためのトルク指令値の初期値を設定する速度制御器、をさらに具備する、
請求項6に記載のモータ制御装置。
【請求項10】
前記電流調整区間において、前記軸誤差を比例制御することにより速度変動成分を算出し、前記速度変動成分に基づいて速度補正値を算出し、前記位置センサレス制御モードにおいて、前記軸誤差を比例積分制御することにより前記速度推定値を算出するPLL制御器と、
前記電流調整区間において、前記速度指令値と前記速度補正値とに基づいて前記回転位相を生成し、前記位置センサレス制御モードにおいて、前記速度推定値を積分することにより前記回転位相を生成する位置推定器と、
をさらに具備する請求項6に記載のモータ制御装置。
【請求項11】
前記PLL制御器は、前記電流調整区間において、時間の経過に伴って増加する係数を前記速度変動成分に乗算することにより前記速度補正値を算出する、
請求項10に記載のモータ制御装置。
【請求項12】
前記位置センサレス制御モードにおける第一の仮の電流指令値を生成する第一電流指令生成器と、
運転モードが前記同期運転モードから前記位置センサレス制御モードに移行する直前のd軸電流指令値に基づく第二の仮の電流指令値を生成する第二電流指令生成器と、
前記運転モードが前記位置センサレス制御モードにある区間内に設定されるスムージング区間において、前記スムージング区間の開始から終了までに0から1に増加する増加係数と、前記スムージング区間の開始から終了までに1から0に減少する減少係数とを生成する係数生成器と、
を有する位置センサレス電流指令値生成器、をさらに具備し、
前記位置センサレス電流指令値生成器は、前記第一の仮の電流指令値と前記増加係数との積と、前記第二の仮の電流指令値と前記減少係数との積とを加算することにより、前記位置センサレス制御モードにおける電流指令値を生成する、
請求項6に記載のモータ制御装置。
【請求項13】
前記同期運転電流指令値生成器は、前記速度上昇区間において、電流指令値を所定値に設定して前記モータの回転数を所定回転数まで上昇させた後、前記電流調整区間において、前記モータの負荷に応じて前記電流指令値を調整し、
前記電流調整区間において、前記モータのトルク制御を行うトルク制御器、をさらに具備する、
請求項2に記載のモータ制御装置。
【請求項14】
前記トルク制御器は、前記電流調整区間において前記軸誤差の変動成分に基づいて速度変動補正値を生成する速度変動補正値生成器、を有する、
請求項13に記載のモータ制御装置。
【請求項15】
前記トルク制御器は、前記速度変動補正値に基づいて、前記モータの回転速度の変動を抑制するためのトルク変動補正値を生成するトルク変動補正値生成器、をさらに有し、
前記トルク変動補正値に基づいて電流補正値を算出する電流補正値算出器、をさらに具備する、
請求項14に記載のモータ制御装置。
【請求項16】
前記同期運転電流指令値生成器は、前記電流調整区間において、d軸電流指令値を前記所定値よりも小さい値を有する目標指令値まで減少させるとともに、前記軸誤差を0に近づけるように帰還制御することによりq軸電流指令値を調整し、
前記電流補正値は、前記q軸電流指令値に対する補正値である、
請求項15に記載のモータ制御装置。
【請求項17】
電流指令値と電流検出値との間の電流誤差に基づいて電流追従誤差補正値を生成する電流追従誤差補正値生成器と、
前記電流追従誤差補正値を前記電流指令値に加算することにより補正電流指令値を算出する加算器と、
をさらに具備する請求項16に記載のモータ制御装置。
【請求項18】
前記電流追従誤差補正値生成器は、前記電流誤差を積算し、前記電流誤差の積算結果の位相が反転した値を前記電流追従誤差補正値として生成する、
請求項17に記載のモータ制御装置。