(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-07
(45)【発行日】2022-11-15
(54)【発明の名称】モータ制御装置、及びその方法並びにプログラム
(51)【国際特許分類】
H02P 27/06 20060101AFI20221108BHJP
H02P 21/26 20160101ALI20221108BHJP
H02P 29/62 20160101ALI20221108BHJP
【FI】
H02P27/06
H02P21/26
H02P29/62
(21)【出願番号】P 2019001917
(22)【出願日】2019-01-09
【審査請求日】2021-12-10
(73)【特許権者】
【識別番号】516299338
【氏名又は名称】三菱重工サーマルシステムズ株式会社
(74)【代理人】
【識別番号】100112737
【氏名又は名称】藤田 考晴
(74)【代理人】
【識別番号】100140914
【氏名又は名称】三苫 貴織
(74)【代理人】
【識別番号】100136168
【氏名又は名称】川上 美紀
(74)【代理人】
【識別番号】100172524
【氏名又は名称】長田 大輔
(72)【発明者】
【氏名】竹内 宏幸
(72)【発明者】
【氏名】蟹江 徹雄
【審査官】佐藤 彰洋
(56)【参考文献】
【文献】特開2018-088798(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 4/00
H02P 21/00-25/03
H02P 25/04
H02P 25/08-31/00
(57)【特許請求の範囲】
【請求項1】
インバータを通じてモータを制御するモータ制御装置であって、
回転数の指令値と、モータ電流の検出値とを入力して、ベクトル制御に基づくインバータ出力電圧の指令値を出力するベクトル制御部と、
前記モータ電流の検出値、及び、前記インバータ出力電圧の指令値に基づいて前記モータの検出電力を算出する検出電力演算部と、
前記回転数の指令値、前記モータ電流の検出値、及び、予め規定されたモータ定数に基づいて前記モータの推定電力を算出する推定電力演算部と、
前記推定電力に対する前記検出電力の比が所定の目標値に一致するように前記インバータ出力電圧の位相を調整する出力電圧補償部と、
前記モータの回転数増加指令が入力された場合に、前記目標値を変化させる目標値変更部と、
を備えるモータ制御装置。
【請求項2】
前記目標値変更部は、前記回転数の指令値と前記回転数の検出値との差分に基づいて補正量を算出し、前記補正量に基づいて前記目標値を変化させる請求項1に記載のモータ制御装置。
【請求項3】
前記モータの温度が所定の閾値以上であるか否かを判定して温度異常を検知する温度異常検知部を備え、
前記目標値変更部は、前記温度異常が検知されていない場合に、前記目標値を変化させる請求項1または2に記載のモータ制御装置。
【請求項4】
インバータを通じてモータを制御するモータ制御方法であって、
回転数の指令値と、モータ電流の検出値とを入力して、ベクトル制御に基づくインバータ出力電圧の指令値を出力するベクトル制御工程と、
前記モータ電流の検出値、及び、前記インバータ出力電圧の指令値に基づいて前記モータの検出電力を算出する検出電力演算工程と、
前記回転数の指令値、前記モータ電流の検出値、及び、予め規定されたモータ定数に基づいて前記モータの推定電力を算出する推定電力演算工程と、
前記推定電力に対する前記検出電力の比が所定の目標値に一致するように前記インバータ出力電圧の位相を調整する出力電圧補償工程と、
前記モータの回転数増加指令が入力された場合に、前記目標値を変化させる目標値変更工程と、
を含むモータ制御方法。
【請求項5】
インバータを通じてモータを制御するモータ制御プログラムであって、
回転数の指令値と、モータ電流の検出値とを入力して、ベクトル制御に基づくインバータ出力電圧の指令値を出力するベクトル制御処理と、
前記モータ電流の検出値、及び、前記インバータ出力電圧の指令値に基づいて前記モータの検出電力を算出する検出電力演算処理と、
前記回転数の指令値、前記モータ電流の検出値、及び、予め規定されたモータ定数に基づいて前記モータの推定電力を算出する推定電力演算処理と、
前記推定電力に対する前記検出電力の比が所定の目標値に一致するように前記インバータ出力電圧の位相を調整する出力電圧補償処理と、
前記モータの回転数増加指令が入力された場合に、前記目標値を変化させる目標値変更処理と、
をコンピュータに実行させるためのモータ制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータ制御装置、及びその方法並びにプログラムに関するものである。
【背景技術】
【0002】
一般に、インバータを用いたモータのベクトル制御においては、予め求められたモータ定数を用いてインバータの出力電圧を演算し、電流ベクトル(磁束電流成分及びトルク電流成分)を制御する。
【0003】
特許文献1では、位相調整率が、事前の試験運転やシミュレーション等により予め設定した目標値と一致するように、インバータ出力電圧の指令値の位相を調整することが記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1のように、位相調整率が予め設定した目標値に一致するように制御を行った場合、脱調等のモータの不安定性を抑制することができる一方で、モータの回転数に制限が生じてしまう場合がある。具体的には、位相調整率が目標値と一致するように制御を行った場合には、モータにおいて発生する誘起電圧とモータ電流によるインダクタンス成分の電圧が増加し、モータにおける総電圧降下分が電源電圧に頭打ちすると、モータ軸位相をさらに進めることが困難となる。モータ軸位相を進めることができないと、弱め界磁状態とすることができず、回転数をさらに上昇させることができなくなる。
【0006】
本発明は、このような事情に鑑みてなされたものであって、回転数を増加させることのできるモータ制御装置、及びその方法並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の第1態様は、インバータを通じてモータを制御するモータ制御装置であって、回転数の指令値と、モータ電流の検出値とを入力して、ベクトル制御に基づくインバータ出力電圧の指令値を出力するベクトル制御部と、前記モータ電流の検出値、及び、前記インバータ出力電圧の指令値に基づいて前記モータの検出電力を算出する検出電力演算部と、前記回転数の指令値、前記モータ電流の検出値、及び、予め規定されたモータ定数に基づいて前記モータの推定電力を算出する推定電力演算部と、前記推定電力に対する前記検出電力の比が所定の目標値に一致するように前記インバータ出力電圧の位相を調整する出力電圧補償部と、前記モータの回転数増加指令が入力された場合に、前記目標値を変化させる目標値変更部と、を備えるモータ制御装置である。
【0008】
モータ電流の検出値及びインバータ出力電圧の指令値に基づいて算出したモータの検出電力と、回転数の指令値、モータ電流の検出値、及びモータ定数に基づいて算出したモータの推定電力の比(位相調整率)が目標値に一致するようにインバータ出力電圧の位相を調整すると、モータの不安定性を抑制することができる一方で、モータの回転数に制限が生じてしまう場合がある。そこで、目標値を変化させることとした。例えば、モータの回転数増加指令が入力された場合に目標値を低下させることで、モータを弱め界磁状態(インダクタンス成分の電圧増加を抑制)とし、回転数を増加させることが可能となる。また、回転数が高くなりすぎた場合には、目標値を上昇させることで、強め界磁をかけて回転数を下げることも可能となる。
【0009】
上記モータ制御装置において、前記目標値変更部は、前記回転数の指令値と前記回転数の検出値との差分に基づいて補正量を算出し、前記補正量に基づいて前記目標値を変化させることとしてもよい。
【0010】
上記のような構成によれば、回転数の指令値と回転数の検出値との差分に基づいて、補正量を算出するため、回転数の指令値と回転数の検出値とを考慮して目標値を設定することが可能となる。例えば、回転数の指令値に対して実際の回転数(回転数の検出値)が低い場合には、補正量を減算して目標値を変更することで、弱め界磁として効果的に回転数の増加を図ることが可能となる。また、回転数の指令値と実際の回転数(回転数の検出値)とが近い値の場合には、補正量を小さな値とすることができ、小さな値となっている補正量を減算して目標値を変更することで、過度な回転数の増加を抑制することが可能となる。また、回転数の指令値に対して実際の回転数(回転数の検出値)が高い場合には、補正量を加算して目標値を変更することで、強め界磁として効果的に回転数の抑制を図ることが可能となる。すなわち、過度な回転数増加による脱調等の発生を効果的に抑制することが可能となる。
【0011】
上記モータ制御装置において、前記モータの温度が所定の閾値以上であるか否かを判定して温度異常を検知する温度異常検知部を備え、前記目標値変更部は、前記温度異常が検知されていない場合に、前記目標値を変化させることとしてもよい。
【0012】
目標値を低下させるとモータ電流が増加し、モータの温度が閾値を超えてしまう可能性がある。このため、温度異常が検知されていない場合に目標値を低下させることとすることで、モータの温度異常をより確実に抑制し、故障等を防止することが可能となる。
【0013】
本発明の第2態様は、インバータを通じてモータを制御するモータ制御方法であって、回転数の指令値と、モータ電流の検出値とを入力して、ベクトル制御に基づくインバータ出力電圧の指令値を出力するベクトル制御工程と、前記モータ電流の検出値、及び、前記インバータ出力電圧の指令値に基づいて前記モータの検出電力を算出する検出電力演算工程と、前記回転数の指令値、前記モータ電流の検出値、及び、予め規定されたモータ定数に基づいて前記モータの推定電力を算出する推定電力演算工程と、前記推定電力に対する前記検出電力の比が所定の目標値に一致するように前記インバータ出力電圧の位相を調整する出力電圧補償工程と、前記モータの回転数増加指令が入力された場合に、前記目標値を変化させる目標値変更工程と、を含むモータ制御方法である。
【0014】
本発明の第3態様は、インバータを通じてモータを制御するモータ制御プログラムであって、回転数の指令値と、モータ電流の検出値とを入力して、ベクトル制御に基づくインバータ出力電圧の指令値を出力するベクトル制御処理と、前記モータ電流の検出値、及び、前記インバータ出力電圧の指令値に基づいて前記モータの検出電力を算出する検出電力演算処理と、前記回転数の指令値、前記モータ電流の検出値、及び、予め規定されたモータ定数に基づいて前記モータの推定電力を算出する推定電力演算処理と、前記推定電力に対する前記検出電力の比が所定の目標値に一致するように前記インバータ出力電圧の位相を調整する出力電圧補償処理と、前記モータの回転数増加指令が入力された場合に、前記目標値を変化させる目標値変更処理と、をコンピュータに実行させるためのモータ制御プログラムである。
【発明の効果】
【0015】
本発明によれば、回転数を増加させることができるという効果を奏する。
【図面の簡単な説明】
【0016】
【
図1】本発明の一実施形態に係るモータ制御装置の概略構成を示す図である。
【
図2】本発明の一実施形態に係る目標値変更部の機能構成を示す図である。
【
図3】本発明の一実施形態に係るベクトル制御部の機能構成を示す図である。
【
図4】本発明の一実施形態に係る出力電圧補償部の機能を説明する第1の図である。
【
図5】本発明の一実施形態に係る出力電圧補償部の機能を説明する第2の図である。
【
図6】本発明の一実施形態に係る出力電圧補償部の処理フローを示す図である。
【
図7】本発明の一実施形態に係る目標値変更部の処理フローを示す図である。
【
図8】本発明の一実施形態に係る出力電圧補償部による位相調整処理を説明する図である。
【発明を実施するための形態】
【0017】
以下に、本発明に係るモータ制御装置、及びその方法並びにプログラムの一実施形態について、図面を参照して説明する。
図1は、本発明の一実施形態に係るモータ制御装置1の概略構成を示す図である。
図1に示すように、モータ制御装置1は、インバータ2を通じてモータMを制御する制御装置である。
【0018】
モータ制御装置1は、例えば、図示しないCPU(中央演算装置)、RAM(Random Access Memory)等のメモリ、及びコンピュータ読み取り可能な記録媒体等から構成されている。後述の各種機能を実現するための一連の処理の過程は、プログラムの形式で記録媒体等に記録されており、このプログラムをCPUがRAM等に読み出して、情報の加工・演算処理を実行することにより、後述の各種機能が実現される。なお、プログラムは、ROMやその他の記憶媒体に予めインストールしておく形態や、コンピュータ読み取り可能な記憶媒体に記憶された状態で提供される形態、有線又は無線による通信手段を介して配信される形態等が適用されてもよい。コンピュータ読み取り可能な記憶媒体とは、磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等である。
【0019】
また、インバータ2は、一般に知られているインバータ回路であって、モータ制御装置1から、PWM制御に基づくデューティ指令値を受け付けて、当該デューティ指令値に応じた交流電圧(インバータ出力電圧)をモータMに出力する。
【0020】
モータ制御装置1は、ベクトル制御部10と、推定電力演算部11と、検出電力演算部12と、Duty出力部13と、直流電圧検出回路14と、出力電圧補償部15と、モータ電流検出回路16と、A/D変換器17と、目標値変更部18と、温度異常検知部19とを備えている。
【0021】
ベクトル制御部10は、回転数の指令値(以下、「回転数指令値ω_cmd」と表記する。)と、モータ電流の検出値(iu、iv、iw)とを入力して、ベクトル制御に基づくインバータ出力電圧の指令値(vu、vv、vw)を出力する。回転数指令値ω_cmdは、上位のコントローラから入力される指令値であって、モータMの単位時間当たりの回転数(回転速度)を示す指令値(目標値)である。
【0022】
推定電力演算部11は、モータMで消費される電力の推定値である推定電力Power_refを演算する。推定電力演算部11は、回転数指令値ω_cmd、モータ電流の検出値(id、iq)、及び、予め規定されたモータ定数に基づいてモータの推定電力Power_refを算出する。より具体的には、推定電力演算部11は、以下の式(1)に基づいて推定電力Power_refを算出する。
【0023】
【0024】
式(1)において、“α”はトルク定数、“β”は銅損係数であり、いずれもモータ定数である。また、“id”はモータ電流のうちd軸電流成分(磁束電流成分)であり、“iq”はモータ電流のうちq軸電流成分(トルク電流成分)である。d軸電流成分Id及びq軸電流成分Iqは、ベクトル制御部10の処理(ベクトル制御)の過程で算出される二相のモータ電流の検出値であって、モータ電流検出回路16から直接検出される三相のモータ電流の検出値(iu、iv、iw)に基づいて算出される(詳細は後述する)。
【0025】
検出電力演算部12は、モータMで消費される電力の検出値である検出電力Power_slを演算する。検出電力演算部12は、モータ電流の検出値(iu、iv、iw)、及び、インバータ出力電圧の指令値(vu、vv、vw)に基づいてモータMの検出電力を算出する。より具体的には、検出電力演算部12は、以下の式(2)に基づいて検出電力Power_slを算出する。
【0026】
【0027】
式(2)において、“vd”はモータMに印加すべき電圧のうちd軸電圧成分の指令値であり、“vq”はモータMに印加すべき電圧のうちq軸電圧成分の指令値である。d軸電圧成分の指令値vd及びq軸電圧成分の指令値vqは、ベクトル制御部10の処理の過程で算出される二相のインバータ出力電圧の指令値であって、モータMに直接出力すべき三相のインバータ出力電圧の指令値(vu、vv、vw)の基となる電圧の指令値である。
【0028】
Duty出力部13は、直流電圧検出回路14が検出した直流電圧Vdcに基づいて、ベクトル制御部10が算出したインバータ出力電圧の指令値(vu、vv、vw)を、PWM制御に基づくDuty指令値(duty_u、duty_v、duty_w)に変換する。直流電圧検出回路14は、図示しない直流電源(コンバータ)が出力する直流電圧Vdcを検出し、検出結果をDuty出力部13に出力する。
【0029】
出力電圧補償部15は、推定電力Power_refに対する検出電力Power_slの比である位相調整率γ(γ=Power_sl/Power_ref)[%]に基づいて、インバータ出力電圧の位相を調整する。出力電圧補償部15の機能の詳細については後述する。
【0030】
モータ電流検出回路16は、モータMに流れる三相の交流電流(モータ電流)を検出する。モータ電流検出回路16によって検出されたモータ電流は、A/D変換器17を通じて、モータ電流の検出値(iu、iv、iw)としてベクトル制御部10に入力される。
【0031】
目標値変更部18は、モータの回転数増加指令が入力された場合に、目標値を変化させる。後述するように、位相調整量が減少すると、電流ベクトルは相対的に位相が進む。すなわち、位相調整量を減少させることによって、モータ軸位相を進めることができ(d軸電流成分を負の値とすることができ)、インダクタンス成分の電圧増加を抑制して弱め界磁状態とすることができる。弱め界磁状態とすることによって、電圧飽和の影響を抑え、回転数をさらに上昇させることが可能となる。このため、目標値変更部18は、モータの回転数を増加させる必要がある場合に、位相調整量の目標値を低下させることにより、弱め界磁状態にてモータを動作させる。
【0032】
具体的には、目標値変更部18は、回転数の指令値(回転数指令値ω_cmd)と回転数の検出値(以下、「回転数検出値ω_det」という。)との差分に基づいて補正量を算出し、補正量に基づいて目標値を変化させる。弱め界磁状態で運転することで回転数を上昇させることが可能となるが、回転数が指令値以上となった場合には、脱調等が発生する可能性がある。このため、目標値変更部18では、回転数指令値ω_cmdと、回転数検出値ω_detとを用いて、位相調整量の目標値の補正量を設定している。
図2は、目標値変更部18の構成例を示す図である。
図2に示すように、目標値変更部18では、まず、回転数指令値ω_cmdと回転数検出値ω_detとの差分(回転数指令値ω_cmdから回転数検出値ω_detを減算した値)を算出する。そして、目標値変更部18は、変換器20において、算出した差分に所定の係数を乗じて補正量を算出する。すなわち、変換器20では、回転数の次元である差分を、位相調整率の次元に変換するとともに、算出した差分の絶対値に応じた大きさを持つ補正量を算出する。このため、回転数指令値ω_cmdと回転数検出値ω_detとの差分と、補正量とは、正の相関関係(差分が増加すると補正量も増加し、差分が減少すると補正量も減少する関係)となる。
【0033】
補正量が算出されると、予め設定された位相調整率の目標値から補正量を減算することによって、目標値が変更される。出力電圧補償部15では、逐次算出される位相調整率が変更された目標値に一致するように、インバータ出力電圧の指令値の位相を制御する。具体的には、回転数指令値ω_cmdに対して回転数検出値ω_detが低い場合には、差分は正の値となり、補正量も正の値となる。そして、補正量を減算して目標値を変更することで、目標値を低下させ、弱め界磁として効果的に回転数の増加を図ることが可能となる。また、回転数指令値ω_cmdと回転数検出値ω_detとが近い値の場合には、補正量を小さな値とすることができ、小さな値となっている補正量を減算して目標値を変更することで、過度な回転数の増加を抑制することが可能となる。また、回転数指令値ω_cmdに対して回転数検出値ω_detが高い場合には、差分は負の値となり、補正量も負の値となる。そして、補正量を減算(補正量が負の値であるため、減算すると、補正量の絶対値を加算することとなる)して目標値を変更することで、目標値を上昇させ、強め界磁として効果的に回転数の抑制を図ることが可能となる。すなわち、過度な回転数増加による脱調等の発生を効果的に抑制することが可能となる。
【0034】
なお、目標値変更部18は、回転数の指令値(回転数指令値ω_cmd)と回転数の検出値(回転数検出値ω_det)との差分に基づいて補正量を算出することとしているが、補正量については予め設定した固定値としてもよく、目標値を変更可能であれば上記に限定されない。
【0035】
なお、目標値変更部18においてモータの回転数増加指令が入力された場合とは、例えば、上位のコントローラから、モータの回転数を増加する指令が入力された場合である。また、例えば、回転数増加指令部を設け、電圧飽和によって実際のモータの回転数が指令値に達していないことを検知して、目標値変更部18に対してモータの回転数増加指令を出力することとしてもよい。回転数増加指令部では、例えば、回転数指令値ω_cmdと回転数検出値ω_detを取得し、回転数検出値ω_detが回転数指令値ω_cmdに達しておらず、回転数検出値ω_detの増加率が所定の閾値未満である場合に、モータの回転数増加指令を出力することとすればよい。なお、モータの回転数増加指令については、モータの回転数を増加させる必要があることを示すものであれば、上記に限定されない。
【0036】
また、目標値変更部18は、後述する温度異常検知部19において温度異常が検知されていない場合に、目標値を低下させる(弱め界磁制御)。すなわち、温度異常が検知されている場合には、目標値の変更(低下処理)は行われない。このため、弱め界磁状態におけるモータ電流増加によってモータの温度が上昇したとしても、温度異常が検知された場合には目標値の変更が行われないため、温度異常によるモータ故障を未然に防止することが可能となる。
【0037】
温度異常検知部19は、モータの温度が所定の閾値以上であるか否かを判定して温度異常を検知する。温度異常検知部19には、モータに対して設置された温度計(不図示)からモータ温度の計測値を取得する。また、温度異常検知部19には、モータの仕様等から予め決定された閾値が設定されている。すなわち、閾値は、モータに異常が発生する可能性があると推定される温度の境界値(最低値)であり、閾値以下の温度でモータが動作する場合には故障等が発生しないと推定される温度である。温度異常検知部19は、温度計から逐次取得される温度と閾値とを比較し、温度が所定の閾値以上となった場合に、温度異常を検知したことを目標値変更部18へ出力する。
【0038】
(ベクトル制御部の機能構成)
図3は、本実施形態に係るベクトル制御部10の機能構成を示す図である。
本実施形態に係るベクトル制御部10は、モデル規範適応システム(Model Reference Adaptive System)理論に基づくベクトル制御(以下、「MRASフルベクトル制御」とも記載する。)を行う。
【0039】
図3に示すように、ベクトル制御部10は、速度PI制御部100と、トルク/電流変換部101と、電流PI制御部102と、電流推定部103と、速度推定部104と、ローパスフィルタ105と、軸位置推定部106と、二相/三相変換部107と、三相/二相変換部108と、を備えている。
【0040】
速度PI制御部100は、速度推定部104によって推定された回転数(回転数推定値ωes)を、上位から入力された回転数指令値ω_cmdに一致させるように比例積分制御を行う。具体的には、速度PI制御部100は、回転数指令値ω_cmdと回転数推定値ωesとの偏差に応じたトルク指令値t_cmdを出力する。
【0041】
トルク/電流変換部101は、速度PI制御部100から入力したトルク指令値t_cmdをモータ電流指令値(id*、iq*)に変換する。ここで、モータ電流指令値(id*、iq*)は、トルク指令値t_cmdに示されるトルクを達成するためにモータMに流すべきモータ電流の各成分である。
【0042】
電流PI制御部102は、モータ電流の検出値(id、iq)を、モータ電流指令値(id*、iq*)に一致させるように比例積分制御を行う。具体的には、電流PI制御部102は、回転数指令値ω_cmdと回転数推定値ωesとの偏差に応じたインバータ出力電圧の指令値(vd、vq)を出力する。
【0043】
電流推定部103は、インバータ出力電圧の指令値(vd、vq)を入力して、ルンゲクッタ法に基づく電流推定を行い、モータ電流の推定値(id_est、iq_est)を出力する。
【0044】
速度推定部104は、電流推定部103が推定したモータ電流の推定値(id_est、iq_est)と、モータ電流の検出値(id、iq)とを入力し、これらの偏差に基づいて、回転数推定値ωesを出力する(MRASフルベクトル制御に基づく電流推定部103、速度推定部104の機能の詳細については、特許第5422435号公報を参照)。
【0045】
ローパスフィルタ105は、フィードバック制御(PI制御)の安定性を確保するため、回転数推定値ωesの高周波成分を除去する。
【0046】
軸位置推定部106は、速度推定部104が算出した回転数推定値ωesを積分して、モータ軸位置の推定値である位相θを出力する。
【0047】
二相/三相変換部107は、軸位置推定部106によって推定されたモータ軸位置(位相θ)に基づいて、二相のインバータ出力電圧の指令値(vd、vq)を三相のインバータ出力電圧の指令値(vu、vv、vw)に変換する。
【0048】
三相/二相変換部108は、軸位置推定部106によって推定されたモータ軸位置(位相θ)に基づいて、三相のモータ電流の検出値(iu、iv、iw)を二相のモータ電流の検出値(id、iq)に変換する。
【0049】
なお、ベクトル制御部10が実行するベクトル制御は、上述の「MRASフルベクトル制御」に限定されることはない。他の実施形態においては、その他、一般的に知られているセンサレスベクトル制御であってもよい。
【0050】
(出力電圧補償部の機能)
図4及び
図5は、それぞれ、本実施形態に係る出力電圧補償部15の機能を説明する第1の図及び第2の図である。
【0051】
推定電力演算部11、検出電力演算部12は、それぞれ、式(1)、式(2)に基づいて推定電力Power_ref及び検出電力Power_slを算出することを説明した。ここで、実際のモータ軸位置が、CPU(モータ制御装置1)が推定するモータ軸位置(位相θ)からずれると、当該軸位置のずれ量の変化に応じて、推定電力Power_ref及び検出電力Power_slは、それぞれ異なった変化を示す。
【0052】
具体的に説明すると、推定電力Power_ref及び検出電力Power_slはCPU(モータ制御装置1)上での計算結果であり、特に、推定電力Power_refは、トルク係数α、銅損係数βというモータ定数(固定値)に基づく演算値である。また、トルクに寄与する電流は主にq軸電流成分Iqであることから、推定電力Power_refは、q軸電流成分Iqが支配的に寄与するものとして算出される(式(1)参照)。
【0053】
ところで、q軸電流成分の検出値iqは、三相/二相変換部108(
図3)にて、CPU(モータ制御装置1)が認識するq軸の位置(即ち、軸位置推定部106が推定するモータ軸位置の推定値(位相θ))に基づいて算出される。そうすると、実際のモータ軸位置がその推定値(位相θ)からずれていると、CPU(モータ制御装置1)上ではq軸電流成分Iqと認識されているものの、当該q軸電流成分Iqの位相は、実際のq軸からずれていることになる。そのため、軸ずれが生じると、q軸電流成分Iqのみが支配的に寄与する推定電力Power_refと、そうでない検出電力Power_slとの間には差が生じる(一致しなくなる)ことが想定される。
【0054】
ここで、軸ずれ(特に、モータ軸位置の遅れ)が生じた場合に、推定電力Power_refと検出電力Power_slとの関係(位相調整率γ)がどのように変化するかを詳細に分析する。
【0055】
図4に示す電流ベクトル座標には、一般的な定トルク線を示している。また、
図4には、定トルク線に基づき、一定のトルクを出すために必要な電流の位相と大きさを示している。
図4において、電流ベクトルA1は、d軸電流成分Idがゼロ(Id=0)となっている場合のモータ電流である。この電流ベクトルA1で動作していた状態を基準に、モータ軸位置の遅れが生じた場合、モータ電流の位相は、電流ベクトルA2のようにモータ軸位置の遅れに合わせて遅れる(+Id軸側に傾く)。そうすると、
図4に示すように、一定のトルクを得るために必要なモータ電流は大きくなる。他方、電流ベクトルA1で動作していたときからモータ軸位置が進むと、モータ電流の位相は、電流ベクトルA3のようにモータ軸位置の進みに合わせて進む(-Id軸側に傾く)。ここで、電流ベクトルA3は、例えば、一定のトルクを得るために必要なモータ電流が最小となる最小電流制御の状態を示している。なお、-Id軸側方向ほど弱め界磁状態とすることができる。
【0056】
このように、モータ軸位置のずれに合わせてモータ電流が増減した場合、インバータ出力電圧の指令値(vd、vq)の大きさもそれに合わせて増減する。そうすると、最小電流制御となるモータ電流の位相(電流ベクトルA3)から位相が遅れるほどモータ電流及びインバータ出力電圧が増加する。このようにモータ電流及びインバータ出力電圧が変化した場合、推定電力Power_refは、q軸電流成分Iqのみが支配的に変動に寄与するのに対し、検出電力Power_slは、d軸電流成分Id及びq軸電流成分Iqに加え、さらに、d軸電圧成分の指令値vd及びq軸電圧成分の指令値vqも増減に寄与する。そのため、モータ軸位置(電流位相のずれ)に対する変化量は、検出電力Power_slの方が推定電力Power_refよりも大きい。換言すると、検出電力Power_slの方が、モータ軸位置(電流位相のずれ)に対しての感度が高い。この特性を利用することで、推定電力Power_refに対する検出電力Power_slの比(位相調整率γ)の変化を通じて、モータの軸位置(電流位相)の変動をつかむことができる。具体的には、最小電流制御に近い状態からモータ軸位置(電流位相)が遅れるほど、推定電力Power_refよりも検出電力Power_slの方が大きく増加するため、位相調整率γは大きくなる。
【0057】
なお、推定電力Power_refの演算に用いるトルク係数αや銅損係数βが実際と理想的に合っている場合には、位相調整率γは、最小電流制御において100%となる。しかしながら、実際のモータ軸位置が推定位置からずれていると、CPU(モータ制御装置1)が認識(推定)するq軸と実際のモータMのq軸とがずれているため、CPUが検出しているq軸電流成分Iqは、実際にはトルクに寄与する成分以外の成分(d軸電流成分Id)が含まれている。そのため、(CPUが認識しない)d軸電流成分による励磁の影響で、見かけ上のトルク係数αが変動し、トルク計算が実際と合わなくなる。
【0058】
そうすると、位相調整率γは、理想的には100%で最小電流制御に近い状態であるものの、軸ずれしている場合に最小電流制御に近い状態が何%となるかわからない。同様に、位相調整率γが100%であった場合であっても、絶対的なモータ軸位置を特定することはできない。できるのは、位相調整率γの増減で、モータ軸位置が、不定の位置から相対的に進んでいるか遅れているかを把握することだけである。
【0059】
図5は、インバータ出力電圧の位相に対する補償量の度合いと、位相調整率γとの関係を示している。ここで、「補償量」とは、出力電圧補償部15がインバータ出力電圧の位相を遅らせる程度を示すパラメータである。上述した通り、実際のモータ軸位置がその推定値(位相θ)からずれることにより、推定電力と検出電力との比率である位相調整率γが100%となる箇所は条件によって変化し、絶対的なモータ電流の位相(モータ軸位置)を把握することはできない。ここで、例えば、位相調整率γが100%のとき、
図5の電流ベクトルB1の位置(即ち、モータ軸位置が想定よりも遅れている状態)にあったと仮定する。この状態において、出力電圧補償部15が、インバータ出力電圧の指令値(vd、vq)の位相を意図的に遅らせると、インバータ出力電圧の指令値(vd、vq)の位相が、遅れているモータ電流の位相に近づく。即ち、電流ベクトルは、モータ電流の位相の遅れが解消される方向に移動する。例えば、モータ電流が電流ベクトルB1となっている状態(位相調整率γ=100%の状態)から、出力電圧補償部15がインバータ出力電圧の指令値(vd、vq)の位相をある所定の補償量だけ遅らせると、電流ベクトルB1は相対的に位相が進み、電流ベクトルB2に移動する。この場合、位相調整率γは、100%から減少し、例えば80%となる。また、モータ電流が電流ベクトルB2となっている状態(位相調整率γ=80%の状態)から、出力電圧補償部15がインバータ出力電圧の指令値(vd、vq)の位相をさらに所定の補償量だけ遅らせると、電流ベクトルB2は相対的にさらに位相が進み、最小電流制御の状態にある電流ベクトルB3に移動する。この場合、位相調整率γはさらに減少し、例えば50%(最小値)となる。
【0060】
上述した通り、位相調整率γが何パーセントにあったとしても、軸ずれが起こっているか否か、また、どの程度の軸ずれが起こっているか否かは不明である。しかし、その軸ずれの程度が、電流歪み、過電流異常、脱調等の不具合が発生する程度に至っていないものであれば、モータMの駆動中、常に、その軸ずれの程度が維持されるように制御すれば、軸ずれが一層大きくなることによって引き起こされる上記不具合は回避できるはずである。そこで、モータM及びモータ制御装置1ごとに、事前の試験運転、シミュレーション等を経て、位相調整率γが100%(若しくは、他の特定の値)となるモータ軸位置を判別する。そして、当該判別したモータ軸位置が電流歪み、過電流異常、脱調等の不具合が発生しない範囲に収まっていることを前提として、当該モータ軸位置に対応する位相調整率γを予め目標値として定める。このようにして定めた目標値をCPU(モータ制御装置1)に記録しておき、モータMの実駆動中においては、逐次算出される位相調整率γが当該目標値(なお、目標値変更部18によって目標値の変更が行われた場合には、変更後の目標値)に一致するように、インバータ出力電圧の指令値(vd、vq)の位相に対する補償量を設定する。
【0061】
(出力電圧補償部の処理フロー)
図6は、本実施形態に係る出力電圧補償部15の処理フローを示す図である。
以下、
図6を参照しながら、出力電圧補償部15の具体的な処理フローについて説明する。
図6に示す処理フローは、モータMの駆動中、出力電圧補償部15において繰り返し実行される。なお、
図6のフローにおいて、目標値変更部18によって目標値の変更処理が行われている場合には、変更後の目標値が用いられ、変更処理が行われていない場合には、予め設定された目標値が用いられる。
【0062】
出力電圧補償部15は、推定電力演算部11によって算出された推定電力Power_refと、検出電力演算部12によって算出された検出電力Power_slと、を受け付けて、位相調整率γを演算する。そして、出力電圧補償部15は、算出した位相調整率γが、目標値よりも大きいか否かを判定する(S101)。位相調整率γが目標値よりも大きい場合(S101のYES判定)、出力電圧補償部15は、インバータ出力電圧の指令値(vu、vv、vw)の位相を所定の補償量hだけ遅らせる処理を行う(S102)。位相調整率γが目標値よりも大きくない場合(S101のNO判定)、出力電圧補償部15は、算出した位相調整率γが、目標値よりも小さいか否かを判定する(S103)。位相調整率γが目標値よりも小さい場合(S103のYES判定)、出力電圧補償部15は、インバータ出力電圧の指令値(vu、vv、vw)の位相を所定の補償量hだけ早める処理を行う(S104)。なお、補償量hを用いた位相調整処理の詳細については、
図8を用いて後述する。位相調整率γが目標値よりも小さくない場合(S103のNO判定)、位相調整率γは目標値に一致しているものと判断し、位相の調整を行わない。
【0063】
(位相調整率の変更フロー)
図7は、本実施形態に係る位相調整率の変更フローを示す図である。
以下、
図7を参照しながら、目標値変更部18における位相調整率の変更フローについて説明する。
図7に示す処理フローは、モータMの駆動中、モータの回転数を増加させる必要がある場合に、目標値変更部18において繰り返し実行される。
【0064】
まず、回転数指令値ω_cmdと、回転数検出値ω_detを取得する(S201)。
【0065】
次に、回転数指令値ω_cmdと回転数検出値ω_detとの差分を算出する(S202)。なお、差分は、回転数指令値ω_cmdから回転数検出値ω_detを減算することにより算出される。
【0066】
次に、算出した差分に基づいて補正量を算出する(S203)。
【0067】
次に、モータ制御装置1において予め設定されている位相調整率の目標値から算出した補正量を減算することにより、目標値を変更する(S204)。
【0068】
このようにして、位相調整率の目標値が低下する方向に変更されるため、モータを弱め界磁状態にて動作させることが可能となり、高速回転動作させることが可能となる。変更された目標値は、
図6に示すフローにおいて用いられ、変更された目標値と一致するように位相の調整が行われる。
【0069】
(位相調整の機能)
図8は、本実施形態に係る出力電圧補償部15による位相調整処理を説明する図である。
図8に示す波形C1は、出力電圧補償部15による補償が行われる前のインバータ出力電圧とモータ電流とを示している。即ち、波形C1は、ベクトル制御部10が算出するインバータ出力電圧の指令値、及び、モータ電流の指令値である。なお、モータMはインダクタンス成分が支配的であることから、
図8では、モータ電流の位相がインバータ出力電圧に対して位相が90°遅れるものとしている。ただし、実際のモータには若干の抵抗成分、キャパシタンス成分も含まれ得るため、これに限られない。
図8に示す波形C2は、Duty出力部13が、インバータ出力電圧の指令値(補償前)に応じて出力する補償前のDuty比である。出力電圧補償部15は、Duty出力部13から、波形C2に示す補償前のDuty比の入力を受け付ける。
図8に示す波形C3は、補償前のDuty比に応じて出力電圧補償部15が出力する補償後のDuty比の波形である。波形C3に示すように、出力電圧補償部15は、補償前のDuty比に対して、半周期ごとに所定の補償量h(h>0)の加算又は減算を行う。出力電圧補償部15は、補償前のDuty比に対し、補償量hが加算、減算された補償後のDuty比(duty_u±h、duty_v±h、duty_w±h)を出力する。
図8に示す波形C4は、インバータ2がモータMに出力する実際の電圧(即ち、補償後のインバータ出力電圧)の波形である。インバータ2は、補償後のDuty比(duty_u±h、duty_v±h、duty_w±h)に基づいて、半周期ごとに所定の補償量だけ加算又は減算された、補償後のインバータ出力電圧を出力する。補償後のインバータ出力電圧は、波形C4に示すように、見かけ上、補償前のインバータ出力電圧に比べ位相が遅れている。このように、出力電圧補償部15は、インバータ出力電圧が増加する半周期の期間において、インバータ出力電圧の指令値に所定の補償量(>0)を加算し、インバータ出力電圧が減少する半周期の期間において、インバータ出力電圧の指令値に所定の補償量(>0)を減算することでインバータ出力電圧の位相を遅らせる。反対に、出力電圧補償部15は、インバータ出力電圧が増加する半周期の期間において、インバータ出力電圧の指令値に所定の補償量を減算し、インバータ出力電圧が減少する半周期の期間において、インバータ出力電圧の指令値に所定の補償量を加算することでインバータ出力電圧の位相を早めることもできる。なお、インバータ出力電圧の位相の調整方法については上記に限定されず適用することができる。
【0070】
本実施形態では、モータの回転数をさらに増加させる必要がある場合に、予め設定した位相調整量の目標値を低下させる方向に更新する。このため、出力電圧補償部15では、逐次算出される位相調整率γが更新された目標値と一致するように補償量が設定され、インバータ出力電圧の位相が調整される。
【0071】
なお、本実施形態における弱め界磁制御については、最小電流制御やd軸電流成分零制御(Id=0とする制御)等の制御と選択可能なように設け、適宜選択することとしてもよい。
【0072】
(作用・効果)
以上説明したように、本実施形態に係るモータ制御装置、及びその方法並びにプログラムによれば、弱め界磁状態にて運転を行い、効果的に回転数を増加させることが可能となる。モータ電流の検出値及びインバータ出力電圧の指令値に基づいて算出したモータの検出電力と、回転数の指令値、モータ電流の検出値、及びモータ定数に基づいて算出したモータの推定電力の比(位相調整率)が目標値に一致するようにインバータ出力電圧の位相を調整すると、モータの不安定性を抑制することができる一方で、モータの回転数に制限が生じてしまう場合がある。そこで、目標値を変化させることとした。例えば、モータの回転数増加指令が入力された場合に目標値を低下させることで、モータを弱め界磁状態(インダクタンス成分の電圧増加を抑制)とし、回転数を増加させることが可能となる。また、回転数が高くなりすぎた場合には、目標値を上昇させることで、強め界磁をかけて回転数を下げることも可能となる。
【0073】
また、回転数の指令値と回転数の検出値との差分に基づいて、補正量を算出するため、回転数の指令値と回転数の検出値とを考慮して目標値を設定することが可能となる。例えば、回転数の指令値に対して実際の回転数(回転数の検出値)が低い場合には、補正量を減算して目標値を変更することで、弱め界磁として効果的に回転数の増加を図ることが可能となる。また、回転数の指令値と実際の回転数(回転数の検出値)とが近い値の場合には、補正量を小さな値とすることができ、小さな値となっている補正量を減算して目標値を変更することで、過度な回転数の増加を抑制することが可能となる。また、回転数の指令値に対して実際の回転数(回転数の検出値)が高い場合には、補正量を加算して目標値を変更することで、強め界磁として効果的に回転数の抑制を図ることが可能となる。すなわち、過度な回転数増加による脱調等の発生を効果的に抑制することが可能となる。
【0074】
また、目標値を低下させるとモータ電流が増加し、モータの温度が閾値を超えてしまう可能性がある。このため、温度異常が検知されていない場合に目標値を低下させることとすることで、モータの温度異常をより確実に抑制し、故障等を防止することが可能となる。
【0075】
本発明は、上述の実施形態のみに限定されるものではなく、発明の要旨を逸脱しない範囲において、種々変形実施が可能である。
【0076】
例えば、出力電圧補償部15は、ベクトル制御部10が位相調整率γを入力するとともに、当該入力した位相調整率γに基づいて、インバータ出力電圧の指令値(vu、vv、vw)の位相を直接調整するようにしてもよい。
【符号の説明】
【0077】
1 :モータ制御装置
2 :インバータ
10 :ベクトル制御部
11 :推定電力演算部
12 :検出電力演算部
13 :Duty出力部
14 :直流電圧検出回路
15 :出力電圧補償部
16 :モータ電流検出回路
17 :A/D変換器
18 :目標値変更部
19 :温度異常検知部
20 :変換器
100 :速度PI制御部
101 :電流変換部
102 :電流PI制御部
103 :電流推定部
104 :速度推定部
105 :ローパスフィルタ
106 :軸位置推定部
107 :三相変換部
108 :二相変換部
M :モータ