(57)【要約】【課題】電流ベクトル制御モードにおいて非干渉制御を行いつつも、電圧位相制御モードから電流ベクトル制御モードへの切替にトルクステップが伴う場合において電流及びトルクの脈動を抑制する。【解決手段】モータ制御装置１は、ｄｑ軸電圧演算部２０ａと、ローパスフィルタ２０ｂ，２０ｃと、二乗器２０ｄ，２０ｅと、第１及び第２の減算器２０ｆ，２０ｇと、第３及び第４の減算器２０ｈ，２０ｉと、を備え、電圧位相制御モードから電流ベクトル制御モードへの移行時に、干渉電圧指令値ｖｄ＿ＬＰＦ＊，ｖｑ＿ＬＰＦ＊の初期値を第１及び第２の減算器２０ｆ，２０ｇにより得られた値とし、電流フィードバック制御器１３０の出力であるｄｑ軸電圧指令値ｖｄ’，ｖｑ’の初期値を第３及び第４の減算器２０ｈ，２０ｉにより得られた値とする。【選択図】図４
2015171301.tif 000002
【特許請求の範囲】
【請求項１】
トルク指令値に基づいてモータへの電流指令値を生成する電流指令値生成部と、前記トルク指令値に基づいてモータの干渉電圧を生成する干渉電圧生成部と、前記電流指令値生成部により生成された電流指令値とモータコイルへ供給される電流の検出値との偏差をゼロに近づける第１の仮電圧指令値を生成する電流フィードバック制御部と、ローパスフィルタを介して前記干渉電圧から干渉電圧指令値を求め、前記干渉電圧指令値と第１の仮電圧指令値とを加算して第１の電圧指令値を生成する第１制御部と、を有し、前記第１の電圧指令値によりモータを駆動する電流ベクトル制御モードを実行する電流ベクトル制御部と、
前記トルク指令値に基づいてモータへの電圧位相値を生成する電圧位相生成部と、前記トルク指令値に基づいてモータへの電圧振幅指令値を生成する電圧振幅生成部と、前記電流の検出値に基づいてモータトルクを推定するトルク推定部と、前記トルク推定部により推定されたモータトルク及び前記トルク指令値から求められる電圧位相補正値と前記電圧位相値との偏差、並びに、前記電圧振幅生成部により生成された電圧振幅指令値に基づいて、第２の電圧指令値を生成する第２制御部と、を有し、前記第２の電圧指令値によりモータを制御する電圧位相制御モードを実行するする電圧位相制御部と、
前記電流ベクトル制御モードの実行中において前記電流ベクトル制御部にて生成された前記第１の電圧指令値を選択し、前記電圧位相制御モードの実行中において前記電圧位相制御部にて生成された前記第２の電圧指令値を選択し、選択した電圧指令値によりモータの制御を行わせる切替部と、
前記電圧位相値と前記電圧振幅指令値とから第２の仮電圧指令値を求める補正前電圧生成部と、
ローパスフィルタを介することで前記補正前電圧生成部により生成された第２の仮電圧指令値から得られた値から、前記検出値にモータコイル抵抗を乗じた値を減算する第１減算器と、
前記第２の電圧指令値から前記第１減算器により得られた値を減算する第２減算器と、を備え、
前記電圧位相制御モードから前記電流ベクトル制御モードに遷移して、前記切替部により前記第２の電圧指令値が選択されている状態から前記第１の電圧指令値が選択される状態に切り替えられた場合、前記干渉電圧指令値の初期値を前記第１減算器により得られた値とし、前記第１の仮電圧指令値の初期値を前記第２減算器により得られた値とする
ことを特徴とするモータ制御装置。
【請求項２】
前記切替部によって前記第２の電圧指令値が選択されている状態から前記第１の電圧指令値が選択されるように要求する電流制御移行判定部をさらに備え、
前記電圧振幅生成部は、弱め磁束制御を行う高回転域において前記電圧位相制御モードの電圧振幅が前記電流ベクトル制御モードの電圧振幅よりも大きくなるように、且つ、当該高回転域よりも低回転域において前記電圧位相制御モードの電圧振幅が前記電流ベクトル制御モードの電圧振幅よりも小さくなるように生成し、
前記電流制御移行判定部は、前記電流指令値生成部により生成された電流指令値が前記検出値よりも小さくなる場合に、前記切替部によって前記第２の電圧指令値が選択されている状態から前記第１の電圧指令値が選択されるように要求する
ことを特徴とする請求項１に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置に関する。
【背景技術】
【０００２】
従来、ＰＷＭ制御（電流ベクトル制御）によりモータを制御する第１のＭＧ制御手段と、電圧位相制御によりモータを制御する第２のＭＧ制御手段と、それぞれの制御手段の稼働中における制御状態変数（例えば比例項や積分項）をモニタするモニタ手段と、を備えたモータ制御装置が提案されている。この装置では、第１のＭＧ制御手段の制御から第２のＭＧ制御手段の制御に切り替える場合、又は第２のＭＧ制御手段の制御から第１のＭＧ制御手段の制御に切り替える場合に、切替後のＭＧ制御手段の制御状態変数の初期値を、切替前にモニタ手段によりモニタされた制御状態変数に基づいて設定する。
【０００３】
より詳細に、この装置は、第２のＭＧ制御手段の三相電圧指令信号から三相の基本波形を抽出し、これをｄ−ｑ座標に変換してｄ軸基本電圧Ｖｄ０とｑ軸基本電圧Ｖｑ０とを演算する。そして、第２のＭＧ制御手段の制御から第１のＭＧ制御手段の制御に切り替える場合には、第１のＭＧ制御手段が備えるＰＩ制御器の出力（ｄ軸電流指令値Ｖｄ＊及びｑ軸電流指令値Ｖｑ＊）が、切替直前の電圧（ｄ軸基本電圧Ｖｄ０及びｑ軸基本電圧Ｖｑ０）と等しくなるように制御状態変数の初期値を設定する（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１４３２３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
また、モータの制御には、非干渉制御というものが知られている。非干渉制御とは、ロータの回転に伴ってモータ内部で生じる速度起電力を補償するように電圧指令値を定める制御である。この非干渉制御を行うことによって、速度起電力による応答性や追従性の低下を効果的に抑制できると期待されている。
【０００６】
しかし、特許文献１に記載のモータ制御装置に非干渉制御を組み込んだうえで、電圧位相制御から電流制御に切り替える場合、非干渉制御部について初期化を行うと共に、非干渉制御部と電流フィードバック制御部との初期値の配分についても考慮して初期化を行わないと、トルクステップを伴う過渡的な切替直後において過渡的に電流及びトルクの脈動が発生してしまう。
【０００７】
本発明はこのような従来の課題を解決するためになされたものであり、その目的とするところは、電流ベクトル制御モードにおいて非干渉制御を行いつつも、電圧位相制御モードから電流ベクトル制御モードへの切替にトルクステップが伴う場合において電流及びトルクの脈動を抑制することが可能なモータ制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、電圧位相値と電圧振幅指令値とから第２の仮電圧指令値を求める補正前電圧生成部と、ローパスフィルタを介することで補正前電圧生成部により生成された第２の仮電圧指令値から得られた値から、電流の検出値にモータコイル抵抗を乗じた値を減算する第１減算器と、第２の電圧指令値から第１減算器により得られた値を減算する第２減算器と、を備え、電圧位相制御モードから電流ベクトル制御モードに切り替えられた場合、干
渉電圧指令値の初期値を第１減算器により得られた値とし、電流フィードバック制御部の出力である第１の仮電圧指令値の初期値を第２減算器により得られた値とする。
【発明の効果】
【０００９】
本発明によれば、非干渉制御について初期化を行うと共に、非干渉制御と電流フィードバックとの初期値についても適切とされるため、電流ベクトル制御モードにおいて非干渉制御を行いつつも、電圧位相制御モードから電流ベクトル制御モードに切替がトルクステップを伴う場合において電流及びトルクの脈動を抑制することができる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態に係るモータ制御装置を示す構成図である。
【図２】図１に示した電圧振幅生成部の詳細について説明する図である。
【図３】図１に示した電流制御移行判定部の詳細を示す構成図である。
【図４】切替初期値演算部の詳細を示す構成図である。
【図５】本実施形態に係るモータ制御装置及び従来のモータ制御装置それぞれについての電圧位相制御モードから電流ベクトル制御モードに切り替えたときのトルク挙動を示す図である。
【図６】本実施形態に係るモータ制御装置の動作の概略を示すタイミングチャートであり、（ａ）は回転数Ｎを示し、（ｂ）は電圧振幅Ｖａ，Ｖａ＊を示し、（ｃ）は電流振幅Ｉａ，Ｉａ＊を示している。
【図７】本実施形態に係るモータ制御装置の動作の詳細を示すフローチャートであり、電圧位相制御モードにおける動作を示している。
【図８】本実施形態に係るモータ制御装置１の動作の詳細を示すフローチャートであり、電流ベクトル制御モードにおける動作を示している。
【発明を実施するための形態】
【００１１】
以下、本発明の好適な実施形態を図面に基づいて説明する。図１は、本発明の実施形態に係るモータ制御装置を示す構成図である。図１に示すように、モータ制御装置１は、三相モータＭを駆動制御するものである。このモータ制御装置１は、電流ベクトル制御部１００と、電圧位相制御部２００と、制御モード判定部２４と、制御モード切替器（切替部）２１とを備えている。
【００１２】
電流ベクトル制御部１００は、上位装置から送信されるトルク指令値Ｔ＊に基づいてｄｑ軸電圧指令値（第１の電圧指令値）ｖｄｉ＊、ｖｑｉ＊を生成して出力するものである。この電流ベクトル制御部１００は、トルク指令値Ｔ＊、ＤＣ電圧Ｖｄｃ、及びモータ回転数Ｎを入力のうえ、予め実験又は解析により求められるｄｑ軸電流テーブルを参照し、ｄｑ軸電流指令値ｉｄ＊，ｉｑ＊を生成すると共に、モータＭのｄｑ軸電流検出値ｉｄ、ｉｑを入力して、これらの偏差がゼロとなるようなｄｑ軸電圧指令値ｖｄｉ＊、ｖｑｉ＊を算出して出力するものである。
【００１３】
電圧位相制御部２００は、トルク指令値Ｔ＊に基づいてｄｑ軸電圧指令値（第２の電圧指令値）ｖｄｖ＊、ｖｑｖ＊を生成して出力するものである。この電圧位相制御部２００は、トルク指令値Ｔ＊、ＤＣ電圧Ｖｄｃ、及びモータ回転数Ｎを入力のうえ、予め実験又は解析により求められるテーブルを参照するなどして、電圧振幅指令値（電圧ノルム指令値）Ｖａ＊と電圧位相指令値α＊とを生成し、ベクトル変換を経てｄｑ軸電圧指令値ｖｄｖ＊、ｖｑｖ＊を算出して出力するものである。
【００１４】
制御モード判定部２４は、電流ベクトル制御を実行するか電圧位相制御を実行するかを決定し、制御モードを表す信号を出力するものである。以下、電流ベクトル制御部１００による制御を行うモードを電流ベクトル制御モードといい、電圧位相制御部２００による
制御を行うモードを電圧位相制御モードという。
【００１５】
制御モード切替器２１は、制御モード判定部２４からの信号に基づいて、電流ベクトル制御部１００の出力と電圧位相制御部２００の出力のいずれかを選択して最終電圧指令値（選択した電圧指令値）ｖｄ＊、ｖｑ＊として出力するものである。
【００１６】
さらに、モータ制御装置１は、ｄｑ軸／ＵＶＷ相変換器５と、ＰＷＭ変換器６と、インバータ７と、電圧センサ８と、電流センサ９と、位置検出器１１と、回転数演算器１２と、ＵＶＷ相／ｄｑ軸変換器１３とを備えている。
【００１７】
ｄｑ軸／ＵＶＷ相変換器５は、以下の式（１）に基づき、入力した最終電圧指令値ｖｄ＊，ｖｑ＊を三相電圧指令値ｖｕ＊，ｖｖ＊，ｖｗ＊に変換するものである。ここで、θは位置検出器１１により検出された電気角検出値である。
【数１】
2015171301.tif 000003
【００１８】
ＰＷＭ変換器６は、三相電圧指令値ｖｕ＊、ｖｖ＊、ｖｗ＊及びＤＣ電圧Ｖｄｃを入力し、デッドタイム補償や電圧利用率向上処理といった公知の処理を行なうと共に、三相電圧指令値ｖｕ＊、ｖｖ＊、ｖｗ＊に対応したインバータ７のパワー素子駆動信号Ｄｕｕ＊、Ｄｕｌ＊、Ｄｖｕ＊、Ｄｖｌ＊、Ｄｗｕ＊、Ｄｗｌ＊を生成する。インバータ７にはバッテリＢａｔが接続されており、バッテリＢａｔからのＤＣ電圧Ｖｄｃを擬似交流電圧ｖｕ，ｖｖ，ｖｗに変換して出力する。なお、ＤＣ電圧Ｖｄｃは、電圧センサ８により検出されている。
【００１９】
電流センサ９は、モータＭのＵ相及びＶ相の電流ｉｕ，ｉｖを検出するものである。なお、モータＭのＷ相の電流ｉｗは原理的に以下の式（２）より求めることができる。
【数２】
2015171301.tif 000004
【００２０】
回転数演算器１２は、位置検出器１１により検出された電気角検出値θから回転数Ｎを演算するものである。ＵＶＷ相／ｄｑ軸変換器１３は、電流センサ９により検出されたＵ相及びＶ相の電流ｉｕ，ｉｖと位置検出器１１により検出された電気角検出値θとを入力し、以下の式（３）に基づき、ｄｑ軸電流検出値（電流の検出値）ｉｄ，ｉｑに変換するものである。
【数３】
2015171301.tif 000005
【００２１】
電流ベクトル制御部１００は、電流指令生成部（電圧指令値生成部）１１０と、干渉電圧生成部１２０と、電流フィードバック制御器（電流フィードバック制御部）１３０と、非干渉制御器（第１制御部）１４０とから構成されている。
【００２２】
電流指令生成部１１０は、モータ温度ｔ℃（ｔは任意の数であって、以下ｔ＝２５とする）において所望のトルクを得るためのｄｑ軸電流テーブルを格納したものである。ｄｑ軸電流テーブルは、予め実験又は解析により求められるものである。この電流指令生成部１１０は、トルク指令値Ｔ＊、ＤＣ電圧Ｖｄｃ、及びモータ回転数Ｎを入力のうえｄｑ軸電流テーブルを参照し、ｄｑ軸電流指令値（電流指令値）ｉｄ＊，ｉｑ＊を生成して出力する。
【００２３】
ここで、ｄｑ軸電流指令値ｉｄ＊，ｉｑ＊を生成する方法は上記に限られず、例えば「内藤治夫編著、日本テクノセンター発行」の「実用モータドライブ制御系設計とその実際」７章第４項に記載の効率最大法、及び２５℃におけるモータ定数を用いて計算的に生成するようにしてもよい。
【００２４】
干渉電圧生成部１２０は、予め作成したテーブルを格納しており、トルク指令値Ｔ＊、ＤＣ電圧Ｖｄｃ、及びモータ回転数Ｎを入力のうえ当該テーブルを参照しｄｑ軸干渉電圧（干渉電圧）Ｖｄ_ｄｃｐｌ＊，Ｖｑ_ｄｃｐｌ＊を生成して出力するものである。
【００２５】
電流フィードバック制御器１３０は、ｄｑ軸電流指令値ｉｄ＊，ｉｑ＊及びｄｑ軸電流検出値ｉｄ，ｉｑを入力し、ｄｑ軸電流指令値ｉｄ＊，ｉｑ＊にｄｑ軸電流検出値ｉｄ，ｉｑを追従させるべくｄｑ軸電流偏差を求め、この偏差を比例積分（ＰＩ）演算増幅することにより干渉電圧を加味していない状態のｄｑ軸電圧指令値（第１の仮電圧指令値）ｖｄ’，ｖｑ’を算出するものである。
【００２６】
非干渉制御器１４０は、電流フィードバック制御器１３０により算出されたｄｑ軸電圧指令値ｖｄ’，ｖｑ’、及び、ｄｑ軸干渉電圧ｖｄ_ｄｃｐｌ＊，ｖｑ_ｄｃｐｌ＊を入力して、公知の電流ベクトル制御を行ってｄｑ軸電圧指令値ｖｄｉ＊，ｖｑｉ＊を算出するものである。この非干渉制御器１４０は、ｄｑ軸電流規範応答の時定数を持つローパスフィルタを有し、ローパスフィルタを介することでｄｑ軸干渉電圧ｖｄ_ｄｃｐｌ＊，ｖｑ_ｄｃｐｌ＊からｄｑ軸干渉電圧指令値（干渉電圧指令値）ｖｄ＿ＬＰＦ＊，ｖｑ＿ＬＰＦ＊を算出する。また、非干渉制御器１４０は、算出したｄｑ軸干渉電圧指令値ｖｄ＿ＬＰＦ＊，ｖｑ＿ＬＰＦ＊と、電流フィードバック制御器１３０により算出された干渉電圧を加味していない状態のｄｑ軸電圧指令値ｖｄ’，ｖｑ’とを加算して、ｄｑ軸電圧指令値ｖｄｉ＊，ｖｑｉ＊を算出する。
【００２７】
電圧位相制御部２００は、電圧振幅生成部２１０と、電圧位相生成部２２０と、トルク演算器（トルク推定部）２３０と、減算器２４０と、ＰＩ制御器２５０と、減算器２６０と、ｄｑ軸電圧生成部（第２制御部）２７０とを備えている。
【００２８】
電圧振幅生成部２１０及び電圧位相生成部２２０は、トルク指令値Ｔ＊、ＤＣ電圧Ｖｄ
ｃ、及びモータ回転数Ｎに基づき電圧ノルム指令値Ｖａ＊と電圧位相値αｆｆ＊とをテーブル参照によって算出し出力する。テーブルには、モータＭが基準温度である場合において予め実験的に求めた所望のトルクを得る値が格納されている。
【００２９】
トルク演算器２３０は、予め記憶されているモータ温度２５℃における磁石磁束Φａ＿２５℃（モータ定数の１つ）、ＵＶＷ相／ｄｑ軸変換器１３にて算出されたｄｑ軸電流検出値ｉｄ，ｉｑ、及び、後述のインダクタンス生成部１６により生成されたｄｑ軸インダクタンス差（Ｌｄ−Ｌｑ）２５℃（モータ定数の１つ）を入力して、以下の式（１）からモータトルク推定値Ｔｃａｌを算出する。
【数４】
2015171301.tif 000006
なお、ｐはモータＭの極対数である。
【００３０】
減算器２４０は、モータトルク推定値Ｔｃａｌとトルク指令値Ｔ＊との差分ΔＴを算出するものである。
【００３１】
ＰＩ制御器２５０は、差分ΔＴを入力し、以下の式（５）から電圧位相補正値αｆｂ＊を算出するものである。電圧位相補正値αｆｂ＊はＰＩ増幅された値である。
【数５】
2015171301.tif 000007
なお、Ｋｐは比例ゲインであり、Ｋｉは積分ゲインである。
【００３２】
減算器２６０は、電圧位相生成部２２０からの電圧位相値αｆｆ＊と、ＰＩ制御器２５０からの電圧位相補正値αｆｂ＊とを、減算することにより補正し、電圧位相指令値α＊を算出するものである。
【００３３】
ｄｑ軸電圧生成部２７０は、電圧振幅生成部２１０からの電圧ノルム指令値Ｖａ＊と減算器２６０からの電圧位相指令値α＊とを入力し、以下の式（６）からｄｑ軸電圧指令値ｖｄｖ＊、ｖｑｖ＊を算出するものである。
【数６】
2015171301.tif 000008
【００３４】
さらに、モータ制御装置１は、インダクタンス生成部１６と、電圧位相制御移行判定部２２と、電流制御移行判定部２３とを備えている。
【００３５】
インダクタンス生成部１６は、予めオフラインで解析又は実験により得られたテーブルを格納しており、トルク指令値Ｔ＊、ＤＣ電圧Ｖｄｃ、及びモータ回転数Ｎを入力のうえ当該テーブルを参照しモータ温度２５℃におけるｄｑ軸インダクタンス差（Ｌｄ−Ｌｑ）２５℃を生成して出力するものである。
【００３６】
電圧位相制御移行判定部２２は、電流ベクトル制御モードから電圧位相制御モードへの移行判定を行うものである。まず、電圧位相制御移行判定部２２による判定に先だって、電圧振幅生成部２１０の詳細について説明する。電圧振幅生成部２１０に格納されるテーブルは、以下に示すルールに従って実験又は解析により取得された値が設定されている。
【００３７】
図２は、図１に示した電圧振幅生成部２１０の詳細について説明する図である。図２に示すように、電圧振幅生成部２１０は、モータＭが高回転数となるほど、回転数に比例して大きくなる電圧振幅Ｖａ，Ｖａ＊を生成する。この比例関係は、電流ベクトル制御モードの方が電圧位相制御モードよりも先に上限値に達してしまう。すなわち、第１高回転域ａ、低回転域ｂ、及び第２高回転域ｃを図２に示すように設定した場合、電流ベクトル制御モードは、低回転域ｂにおいて比例関係を有するが、第１高回転域ａ及び第２高回転域ｃにおいて上限値に達してしまっている。一方、電圧位相制御モードは、第１高回転域ａ及び低回転域ｂにおいて比例関係を有するが、第２高回転域ｃにおいて上限値に達してしまっている。
【００３８】
ここで、電流ベクトル制御モードでは、モータＭの温度変化やバラツキにより電圧振幅Ｖａが変化する。このため、電圧位相制御モードにおける電圧振幅Ｖａ＊は、この変化分を考慮して設定されている。すなわち、低回転域ｂにおいて電圧位相制御モードにおける電圧振幅Ｖａ＊は、モータＭの温度変化やバラツキにより電圧振幅Ｖａが変化したとしても、電圧振幅Ｖａを下回るように比例関係における傾きが設定されている。
【００３９】
従って、電圧振幅生成部２１０は、弱め磁束制御を行う高回転域において電圧位相制御モードの電圧振幅Ｖａ＊が電流ベクトル制御モードの電圧振幅Ｖａよりも大きくなるように、且つ、当該高回転域よりも低回転域において電圧位相制御モードの電圧振幅Ｖａ＊が電流ベクトル制御モードの電圧振幅Ｖａよりも小さくなるように生成することとなる。
【００４０】
電圧位相制御移行判定部２２は、トルク指令値Ｔ＊が閾値以上である場合に、電流ベクトル制御モードから電圧位相制御モードへの移行要求を行う。ここで、電圧位相制御移行判定部２２は、予めモータ回転数ＮとＤＣ電圧Ｖｄｃとを指標とするテーブルを格納しており、閾値は、このテーブルを参照することによって求められ、例えば図２に示す第２高回転域ｃのように低回転域ｂ及び第１高回転域ａよりも高回転高トルク側に設定されている。低回転域ｂ及び第１高回転域ａでは電圧位相制御モードから電流ベクトル制御モードへの移行が発生し得るからであり、モード切替のチャタリングを防止するためである。
【００４１】
図３は、図１に示した電流制御移行判定部２３の詳細を示す構成図である。図３に示すように、電流制御移行判定部２３は、電圧位相制御モードから電流ベクトル制御モードへの移行判定を行うものであり、ローパスフィルタ２３ａ，２３ｂと、二乗器２３ｃ〜２３ｆと、加算器２３ｇ，２３ｈと、電流振幅比較器２３ｉとから構成される。電流制御移行判定部２３は、電流指令生成部１１０から出力されるｄｑ軸電流指令値ｉｄ＊，ｉｑ＊と、ＵＶＷ相／ｄｑ軸変換器１３から出力されるｄｑ軸電流検出値ｉｄ，ｉｑとを入力する。
【００４２】
ローパスフィルタ２３ａ，２３ｂは、ｄｑ軸電流規範応答の時定数τｉａを持ち、ｄｑ軸電流指令値ｉｄ＊，ｉｑ＊の過渡成分を除去する。第１及び第２の二乗器２３ｃ，２３ｄは過渡成分が除去された各指令値ｉｄ＊，ｉｑ＊をそれぞれ二乗し、第１加算器２３ｇは二乗された各指令値ｉｄ＊，ｉｑ＊を加算して得られた値ｉａ＿ＬＰＦ２＊を電流振幅比較器２３ｉに出力する。
【００４３】
一方、第３及び第４の二乗器２３ｅ，２３ｆはｄｑ軸電流検出値ｉｄ，ｉｑをそれぞれ二乗し、第２加算器２３ｈは二乗された各検出値ｉｄ，ｉｑを加算して得られた値ｉａ２
を電流振幅比較器２３ｉに出力する。
【００４４】
電流振幅比較器２３ｉは、以下の表１に従って電流制御移行要求を行うかを判断する。
【表１】
2015171301.tif 000009
【００４５】
すなわち、ｄｑ軸電流指令値ｉｄ＊，ｉｑ＊の二乗和（過渡成分除去した二乗和）がｄｑ軸電流検出値ｉｄ，ｉｑの二乗和よりも大きい場合、電流振幅比較器２３ｉは電流制御移行要求を行わないと判断する。一方、ｄｑ軸電流指令値ｉｄ＊，ｉｑ＊の二乗和（過渡成分除去した二乗和）がｄｑ軸電流検出値ｉｄ，ｉｑの二乗和以下である場合、電流振幅比較器２３ｉは電流制御移行要求を行うと判断する。
【００４６】
このような電流制御移行要求は、図２に示す理論に基づいて行われる。例えばモータＭの温度変化やバラツキを考慮しない場合、低回転域ｂにおいて電流ベクトル制御モードにおける電圧振幅Ｖａが電圧位相制御モードにおける電圧振幅Ｖａ＊よりも大きくなる。このため、低回転域ｂにおいては、電流ベクトル制御モードにおける電流指令値が電圧位相制御モードにおける電流指令値よりも小さくなる。一方、第１高回転域ａ及び第２高回転域ｃにおいて電流ベクトル制御モードにおける電圧振幅Ｖａが電圧位相制御モードにおける電圧振幅Ｖａ＊よりも小さくなる。このため、第１高回転域ａ及び第２高回転域ｃにおいては、電流ベクトル制御モードにおける電流値についても電圧位相制御モードにおける電流値よりも大きくなる。
【００４７】
従って、低回転域ｂにおいては、ｄｑ軸電流指令値ｉｄ＊，ｉｑ＊の二乗和（過渡成分除去した二乗和）がｄｑ軸電流検出値ｉｄ，ｉｑの二乗和以下となり、電流制御移行要求が行われることとなる。これに対して、第１高回転域ａ及び第２高回転域ｃにおいては、ｄｑ軸電流指令値ｉｄ＊，ｉｑ＊の二乗和（過渡成分除去した二乗和）がｄｑ軸電流検出値ｉｄ，ｉｑの二乗和を超えることとなり、電流制御移行要求が行われないこととなる。以上より、電圧位相制御モードから電流ベクトル制御モードへの切替は切替ポイントＰ１で行われることとなる。なお、モータＭの温度変化やバラツキが発生すると、切替は切替ポイントＰ２，Ｐ３等で行われることはいうまでもない。
【００４８】
ここで、従来のモータ制御装置では、電圧位相制御モードから電流ベクトル制御モードに切替がトルクステップを伴う場合、電流及びトルクに脈動が発生してしまう。そこで、本実施形態に係るモータ制御装置１は、切替初期値演算部２０を備えている。この切替初期値演算部２０は、電圧位相制御モードから電流ベクトル制御モードに切り替えられた場合に電流ベクトル制御モードにおける初期値を演算し、この初期値により電流及びトルクの脈動を抑えるものである。
【００４９】
図４は、切替初期値演算部２０の詳細を示す構成図である。図４に示すように、切替初期値演算部２０は、ｄｑ軸電圧演算部（補正前電圧生成部）２０ａと、ローパスフィルタ２０ｂ，２０ｃと、二乗器２０ｄ，２０ｅと、減算器２０ｆ〜２０ｉとを備えている。
【００５０】
ｄｑ軸電圧演算部２０ａは、電圧振幅生成部２１０により生成された電圧ノルム指令値Ｖａ＊と、電圧位相生成部２２０により生成された電圧位相値αｆｆ＊とを入力し、ｄｑ
軸電圧生成部２７０と同様にして仮のｄｑ軸電圧指令値（第２の仮電圧指令値）ｖｄｖ’，ｖｑｖ’を算出する。
【００５１】
ローパスフィルタ２０ｂ，２０ｃは、非干渉制御器１４０のローパスフィルタと同じ規範応答の時定数τｉａを持ち、ｄｑ軸電圧演算部２０ａにより算出された仮のｄｑ軸電圧指令値ｖｄｖ’，ｖｑｖ’に対して一次遅れフィルタ処理を施す。
【００５２】
二乗器２０ｄ，２０ｅは、ＵＶＷ相／ｄｑ軸変換器１３に算出されたｄｑ軸電流検出値ｉｄ，ｉｑにモータコイルの抵抗Ｒを乗じた値を算出する。第１及び第２の減算器（第１減算器）２０ｆ，２０ｇは、ローパスフィルタ２０ｂ，２０ｃの出力から二乗器２０ｄ，２０ｅの出力を減算するものである。
【００５３】
第３及び第４の減算器（第２減算器）２０ｈ，２０ｉは、制御モード切替器２１からの最終電圧指令値ｖｄ＊、ｖｑ＊（すなわちｄｑ軸電圧生成部２７０により生成された第２の電圧指令値ｖｄｖ＊，ｖｑｖ＊）から第１及び第２の減算器２０ｆ，２０ｇにより得られた値を減算する。
【００５４】
また、本実施形態において電圧位相制御モードから電流ベクトル制御モードに切り替えられた場合、干渉電圧指令値Ｖｄ＿ＬＰＦ＊，Ｖｑ＿ＬＰＦ＊の初期値を第１及び第２の減算器２０ｆ，２０ｇにより得られた値とし、ｄｑ軸電圧指令値ｖｄ’，ｖｑ’の初期値を第３及び第４の減算器２０ｈ，２０ｉにより得られた値とする。これにより、非干渉制御と電流フィードバックとの初期値が適切とされ、電流及びトルクの脈動が抑えることとなる。
【００５５】
図５は、本実施形態に係るモータ制御装置１及び従来のモータ制御装置それぞれについての電圧位相制御モードから電流ベクトル制御モードに切り替えたときのトルク挙動を示す図である。なお、図５において縦軸はトルクを示し、横軸は時刻を示している。
【００５６】
図５に示すように、従来のモータ制御装置は、干渉電圧指令値Ｖｄ＿ＬＰＦ＊，Ｖｑ＿ＬＰＦ＊について初期化を行っておらず、且つ、ｄｑ軸電圧指令値ｖｄ’，ｖｑ’との配分についても考慮されていない。このため、時刻０．１ｓにて電圧位相制御モードから電流ベクトル制御モードに切り替えられた場合、モータトルクは、図５の破線に示すように、時刻０．１５ｓ時点において２０Ｎｍ程度トルク指令値Ｔ＊よりも下回ってしまう。
【００５７】
これに対して本実施形態に係るモータ制御装置１は、上記の如く、干渉電圧指令値Ｖｄ＿ＬＰＦ＊，Ｖｑ＿ＬＰＦ＊の初期値を第１及び第２の減算器２０ｇ，２０ｆにより得られた値とし、ｄｑ軸電圧指令値ｖｄ’，ｖｑ’を第３及び第４の減算器２０ｈ，２０ｉにより得られた値としている。このため、モータトルクは、図５の実線に示すように、時刻０．１ｓ〜０．１５ｓの間においてトルク指令値Ｔ＊をやや下回るものの、ほぼトルク指令値Ｔ＊に追従することとなる。
【００５８】
さらに、本実施形態に係るモータ制御装置１は、電圧位相制御モードから電流ベクトル制御モードへの切替を上記の表に従って行っている。このため、モータトルクは、図５の太線に示すように、時刻０．１ｓ〜０．１５ｓの間においてもトルク指令値Ｔ＊に追従することとなる。これは、図２及び表を参照して説明したように、電圧位相制御モードの電流指令値と電流ベクトル制御モードの電流指令値とが交差するタイミングで電圧位相制御モードから電流ベクトル制御モードへ切り替えられるため、トルク、ｄｑ軸電圧及びｄｑ軸電流のいずれもが段差なく切り替わるからである。
【００５９】
図６は、本実施形態に係るモータ制御装置１の動作の概略を示すタイミングチャートで
あり、（ａ）は回転数Ｎを示し、（ｂ）は電圧振幅Ｖａ，Ｖａ＊を示し、（ｃ）は電流振幅Ｉａ，Ｉａ＊を示している。なお、図６に示す動作においては、トルク指令値Ｔ＊が一定であるものとする。
【００６０】
まず、図６（ａ）に示すように、時刻０から時刻ｔ２を経て時刻ｔ３まで比例的に回転数Ｎが増加したとする。これにより、電流ベクトル制御モードにおける電圧振幅Ｖａについても図２を参照して説明したように比例的に増加し、時刻ｔ２以前の時刻ｔ１において上限値に達する。そして、電圧振幅Ｖａは時刻ｔ２まで上限値を保つ（図６（ｂ）参照）。一方、電流振幅Ｉａは、時刻０から時刻ｔ１まで一定値を保ち、時刻ｔ１以降において単調増加する（図６（ｃ）参照）。
【００６１】
そして、トルク指令値Ｔ＊が、電圧位相制御移行判定部に格納されるテーブルから求められる閾値以上になったとすると、時刻ｔ２において電流ベクトル制御モードから電圧位相制御モードに切り替えられる。これにより、電流ベクトル制御モードにおける電圧振幅Ｖａから電圧位相制御モードにおける電圧振幅Ｖａ＊に移行し、値は増加する。また、このときの電圧振幅Ｖａ＊は上限値に達している（図６（ｂ）参照）。一方、電流振幅Ｉａ，Ｉａ＊についても電流ベクトル制御モードにおける電流振幅Ｉａから電圧位相制御モードにおける電流振幅Ｉａ＊に移行し、値は減少する（図６（ｃ）参照）。
【００６２】
その後、時刻ｔ３まで電圧振幅Ｖａ＊は一定値を保ち、電流振幅Ｉａ＊は回転数Ｎの増加に合わせて単調増加する。
【００６３】
そして、図６（ａ）に示すように、時刻ｔ３から時刻ｔ５，ｔ６を経て比例的に回転数Ｎが減少したとすると、時刻ｔ５以前の時刻ｔ４まで電圧振幅Ｖａ＊は一定値を保ち（図６（ｂ）参照）、電流振幅Ｉａ＊は回転数Ｎの減少に合わせて単調減少する（図６（ｃ）参照）。
【００６４】
そして、時刻ｔ４以降電圧振幅Ｖａ＊は回転数Ｎの減少に合わせて単調減少し（図６（ｂ）参照）、電流振幅Ｉａ＊はこれとは逆に単調増加する（図６（ｃ）参照）。
【００６５】
そして、時刻ｔ５において電流ベクトル制御モードにおける電流振幅Ｉａと電圧位相制御モードにおける電流振幅Ｉａ＊とが一致したとすると（又は電流振幅Ｉａ＊が電流振幅Ｉａよりも小さくなったとすると）、制御モードが電圧位相制御モードから電流ベクトル制御モードに切り替えられる。これにより、電圧位相制御モードにおける電圧振幅Ｖａ＊から電流ベクトル制御モードにおける電圧振幅Ｖａに移行する（図６（ｂ）参照）。また、電流振幅Ｉａ，Ｉａ＊についても電圧位相制御モードにおける電流振幅Ｉａ＊から電流ベクトル制御モードにおける電流振幅Ｉａに移行する（図６（ｃ）参照）。この時点では時刻ｔ２と異なり、電圧振幅Ｖａ，Ｖａ＊及び電流振幅Ｉａ，Ｉａ＊に段差が発生せず、電流及びトルクの脈動の抑制に寄与することができる。
【００６６】
なお、時刻ｔ５において電圧振幅Ｖａは上限値に達しているため、時刻ｔ６までのこの値を保つ（図６（ｂ）参照）。一方、電流振幅Ｉａは回転数Ｎの減少に合わせて単調減少する（図６（ｂ）参照）。そして、時刻ｔ６以降、電圧振幅Ｖａは回転数Ｎの減少に合わせて単調減少し（図６（ｂ）参照）、電流振幅Ｉａは一定値を保つ（図６（ｃ）参照）。
【００６７】
図７及び図８は、本実施形態に係るモータ制御装置１の動作の詳細を示すフローチャートであり、図７は電圧位相制御モードにおける動作を示し、図８は電流ベクトル制御モードにおける動作を示している。
【００６８】
まず、図７に示すように、モータ制御装置１は、トルク指令値Ｔ＊、ｄｑ軸電流検出値
ｉｄ，ｉｑ、ｄｑ軸電流指令値ｉｄ＊，ｉｑ＊、電気角検出値θ、回転数Ｎ、及びＤＣ電圧Ｖｄｃを取得する（Ｓ１）。次いで、電流制御移行判定部２３は、ｄｑ軸電流指令値ｉｄ＊，ｉｑ＊と、ｄｑ軸電流検出値ｉｄ，ｉｑとを入力し、値ｉａ＿ＬＰＦ２＊及び値ｉａ２を算出する（Ｓ２）。そして、電流振幅比較器２３ｉは、値ｉａ２が値ｉａ＿ＬＰＦ２＊以上であるか否かを判断する（Ｓ３）。
【００６９】
値ｉａ２が値ｉａ＿ＬＰＦ２＊以上であると判断した場合（Ｓ３：ＹＥＳ）、初期化処理が実行され（Ｓ４）、制御モードは電流ベクトル制御モードに移行し（Ｓ５）、図７に示す処理は終了する。
【００７０】
初期化処理では、まずｄｑ軸電圧演算部２０ａによって、電圧振幅Ｖａ＊と電圧位相目標値αｆｆ＊とが入力され、ｄｑ軸電圧指令値ｖｄｖ’，ｖｑｖ’が算出される。そして、ｄｑ軸電圧指令値ｖｄｖ’，ｖｑｖ’はローパスフィルタ２０ｂ，２０ｃにより一次遅れフィルタ処理が施され、得られた値からｄｑ軸電流検出値ｉｄ，ｉｑにモータコイルの抵抗Ｒを乗じた値が減算される。そして、減算により得られた値が干渉電圧指令値Ｖｄ＿ＬＰＦ＊，Ｖｑ＿ＬＰＦ＊の初期値とされる。また、第２の電圧指令値ｖｄｖ＊，ｖｑｖ＊から上記の減算により得られた値を減算し、これにより得られた値をｄｑ軸電圧指令値ｖｄ’，ｖｑ’の初期値とする。
【００７１】
一方、値ｉａ２が値ｉａ＿ＬＰＦ２＊以上でないと判断した場合（Ｓ３：ＮＯ）、電圧振幅生成部２１０は電圧振幅Ｖａ＊を生成すると共に、インダクタンス生成部１６はｄｑ軸インダクタンス差（Ｌｄ−Ｌｑ）２５℃を生成する（Ｓ６）。次に、トルク演算器２３０は、モータ温度２５℃における磁石磁束Φａ＿２５℃、ｄｑ軸電流検出値ｉｄ，ｉｑ、及び、ｄｑ軸インダクタンス差（Ｌｄ−Ｌｑ）２５℃を入力して、式（１）からモータトルク推定値Ｔｃａｌを算出する（Ｓ７）。
【００７２】
その後、トルク演算器２３０は、モータトルク推定値Ｔｃａｌとトルク指令値Ｔ＊との差分を入力し、式（２）から電圧位相補正値αｆｂ＊を算出する（Ｓ８）。
【００７３】
次いで、ｄｑ軸電圧生成部２７０は、電圧位相補正値αｆｂ＊と電圧位相目標値αｆｆ＊との偏差α＊、及び、電圧振幅指令値Ｖａ＊から式（３）に基づいてｄｑ軸電圧指令値ｖｄｖ＊，ｖｑｖ＊を算出する（Ｓ９）。
【００７４】
次に、ｄｑ軸／ＵＶＷ相変換器５は、回転子の電気角検出値θを入力して、式（４）により、ｄｑ軸電圧指令値ｖｄ＊，ｖｑ＊を三相電圧指令値ｖｕ＊，ｖｖ＊，ｖｗ＊に変換する（Ｓ１０）。そして、三相電圧指令値ｖｕ＊，ｖｖ＊，ｖｗ＊に基づいてモータＭが駆動され、図７に示す処理は終了する。なお、図７に示す処理は電流ベクトル制御モードに移行しない限り、モータ制御装置１の電源がオフとなるまで、繰り返し実行される。
【００７５】
また、電流ベクトル制御モードでは図８に示す処理が実行される。まず、モータ制御装置１は、トルク指令値Ｔ＊、ｄｑ軸電流検出値ｉｄ，ｉｑ、電気角検出値θ、回転数Ｎ、及びＤＣ電圧Ｖｄｃを取得する（Ｓ１１）。次いで、電圧位相制御移行判定部２２は、モータ回転数ＮとＤＣ電圧Ｖｄｃとを指標とするテーブルに基づいて閾値Ｔｒｅｆを求める（Ｓ１２）。そして、電圧位相制御移行判定部２２は、トルク指令値Ｔ＊が閾値Ｔｒｅｆ以上であるを判断する（Ｓ１３）。
【００７６】
トルク指令値Ｔ＊が閾値Ｔｒｅｆ以上であると判断した場合（Ｓ１３：ＹＥＳ）、制御モードは電圧位相制御モードに移行し（Ｓ１４）、図８に示す処理は終了する。
【００７７】
一方、トルク指令値Ｔ＊が閾値Ｔｒｅｆ以上でないと判断した場合（Ｓ１３：ＮＯ）、
電流指令生成部１１０は、トルク指令値Ｔ＊、ＤＣ電圧Ｖｄｃ、及びモータ回転数Ｎを入力のうえｄｑ軸電流テーブルを参照し、ｄｑ軸電流指令値ｉｄ＊，ｉｑ＊を生成する（Ｓ１５）。
【００７８】
その後、干渉電圧生成部１２０はｄｑ軸干渉電圧Ｖｄ_ｄｃｐｌ＊，Ｖｑ_ｄｃｐｌ＊を生成し、電流フィードバック制御器１３０及び非干渉制御器１４０は、公知の電流ベクトル制御を行ってｄｑ軸電圧指令値ｖｄｉ＊，ｖｑｉ＊を算出する（Ｓ１６）。
【００７９】
次に、ｄｑ軸／ＵＶＷ相変換器５は、回転子の電気角検出値θを入力して、式（４）により、ｄｑ軸電圧指令値ｖｄ＊，ｖｑ＊を三相電圧指令値ｖｕ＊，ｖｖ＊，ｖｗ＊に変換する（Ｓ１７）。そして、三相電圧指令値ｖｕ＊，ｖｖ＊，ｖｗ＊に基づいてモータＭが駆動され、図８に示す処理は終了する。なお、図８に示す処理は電圧移行制御モードに移行しない限り、モータ制御装置１の電源がオフとなるまで、繰り返し実行される。
【００８０】
このようにして、本実施形態に係るモータ制御装置によれば、非干渉制御について初期化を行うと共に、非干渉制御と電流フィードバックとの初期値についても適切とされるため、電流ベクトル制御モードにおいて非干渉制御を行いつつも、電圧位相制御モードから電流ベクトル制御モードに切替がトルクステップを伴う場合において電流及びトルクの脈動を抑制することができる。
【００８１】
また、電圧振幅指令値Ｖａ＊，Ｖａを上記のように設定しているので、電流の大きさが電圧位相制御モードと電流ベクトル制御モードの適用領域境界で逆転する領域が得られる。そして、図６の時刻ｔ５のように、電流ベクトル制御モードのｄｑ軸電流指令値ｉｄ＊，ｉｑ＊とｄｑ軸電流検出値ｉｄ，ｉｑとの一致を持って適用領域境界を検出して切替を判定する。その際、上記のフィードバックを行うことにより、切替前後のトルクが一致するようにしているので、トルク、電流の振幅と位相、電圧の振幅と位相が切替前後で段差無く一定となり、トルク段差やトルクショックを抑制することができる。よって、より適した初期化制御を行うことができる。
【００８２】
以上、実施形態に基づき本発明を説明したが、本発明は上記実施形態に限られるものでは無く、本発明の趣旨を逸脱しない範囲で、変更を加えてもよい。
【００８３】
例えば、電流振幅比較器２３ｉは、ｄｑ軸電流指令値ｉｄ＊，ｉｑ＊の二乗和（過渡成分除去した二乗和）がｄｑ軸電流検出値ｉｄ，ｉｑの二乗和以下である場合、電流制御移行要求を行うと判断している。しかし、二乗和に限らず、二乗しない値（例えば絶対値）により電流制御移行要求を行うか否かを判断してもよい。
【符号の説明】
【００８４】
１        ：モータ制御装置
５        ：ｄｑ軸／ＵＶＷ相変換器
６        ：ＰＷＭ変換器
７        ：インバータ
８        ：電圧センサ
９        ：電流センサ
１１      ：位置検出器
１２      ：回転数演算器
１３      ：ＵＶＷ相／ｄｑ軸変換器
１６      ：インダクタンス生成部
２０      ：切替初期値演算部
２０ａ    ：ｄｑ軸電圧演算部
２０ｂ，２０ｃ    ：ローパスフィルタ
２０ｄ，２０ｅ    ：二乗器
２０ｆ〜２０ｉ    ：減算器
２１      ：制御モード切替器（切替部）
２２      ：電圧位相制御移行判定部
２３      ：電流制御移行判定部
２３ａ，２３ｂ    ：ローパスフィルタ
２３ｃ〜２３ｆ    ：二乗器
２３ｇ，２３ｈ    ：加算器
２３ｉ    ：電流振幅比較器
２４      ：制御モード判定部
１００    ：電流ベクトル制御部
１１０    ：電流指令生成部（電圧指令値生成部）
１２０    ：干渉電圧生成部
１３０    ：電流フィードバック制御器（電流フィードバック制御部）
１４０    ：非干渉制御器（第１制御部）
２００    ：電圧位相制御部
２１０    ：電圧振幅生成部
２２０    ：電圧位相生成部
２３０    ：トルク演算器（トルク推定部）
２４０    ：減算器
２５０    ：ＰＩ制御器
２６０    ：減算器
２７０    ：ｄｑ軸電圧生成部（第２制御部）
Ｂａｔ    ：バッテリ
【図１】
2015171301.tif 000010
【図２】
2015171301.tif 000011
【図３】
2015171301.tif 000012
【図４】
2015171301.tif 000013
【図５】
2015171301.tif 000014
【図６】
2015171301.tif 000015
【図７】
2015171301.tif 000016
【図８】
2015171301.tif 000017