(57)【特許請求の範囲】
【請求項１】
三相交流モータを流れる電流が、指令電流に一致するように、インバータのスイッチングモードを決定し、当該インバータが、決定されたスイッチングモードにて動作して、そのスイッチングモードに応じた電圧を前記三相交流モータに印加することにより、前記三相交流モータの回転を制御するモータ制御装置であって、
前記三相交流モータに電圧が印加されないゼロベクトルスイッチングモードにて前記インバータを動作させた場合に、前記三相交流モータを流れることが予測される電流を、ゼロベクトル電流として演算するゼロベクトル電流演算手段と、
前記三相交流モータの回転子の回転軸を原点とし、相互に直交するα軸及びβ軸によって定義されるαβ静止座標系において、前記三相交流モータに電圧が印加される６つの非ゼロベクトルスイッチングモードにて前記インバータを動作させた場合に、それぞれ前記三相交流モータに流れる電流のベクトルが、前記ゼロベクトル電流に対して固定した方向に定められ、それら電流ベクトルの中で前記指令電流に最も近い電流ベクトルを選択する電流ベクトル選択手段と、
前記選択手段によって選択された電流ベクトルに応じた非ゼロベクトルスイッチングモードにて前記インバータを動作させた場合に、前記三相交流モータを流れると予測される電流を、非ゼロベクトル電流として演算する非ゼロベクトル電流演算手段と、
前記ゼロベクトル電流と前記非ゼロベクトル電流とのうちで、前記指令電流に近い電流を選択する電流選択手段と、を備え、
前記電流選択手段によって選択された電流に対応するスイッチングモードを、前記インバータのスイッチングモードとして決定することを特徴とするモータ制御装置。
【請求項２】
前記非ゼロベクトル電流演算手段は、選択された電流ベクトルに応じた非ゼロベクトルスイッチングモードにて前記インバータを動作させたときに、当該非ゼロベクトルスイッチングモードに応じた電圧が前記三相交流モータに印加されることによって生じる電流を算出し、この算出した電流を、前記ゼロベクトル電流演算手段によって演算された前記ゼロベクトル電流に加算することにより、前記非ゼロベクトル電流を演算することを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記選択非ゼロベクトル電流演算手段は、前記非ゼロベクトルスイッチングモードにて前記インバータを動作させたとき、当該インバータにより、前記三相交流モータに印加される電圧の大きさを一定とみなして、前記三相交流モータに生じる電流を算出することを特徴とする請求項２に記載のモータ制御装置。
【請求項４】
三相交流モータを流れる電流が、指令電流に一致するように、インバータのスイッチングモードを決定し、当該インバータが、決定されたスイッチングモードにて動作して、そのスイッチングモードに応じた電圧を前記三相交流モータに印加することにより、前記三相交流モータの回転を制御するモータ制御方法であって、
前記三相交流モータに電圧が印加されないゼロベクトルスイッチングモードにて前記インバータを動作させた場合に、前記三相交流モータを流れることが予測される電流を、ゼロベクトル電流として演算するゼロベクトル電流演算ステップと、
前記三相交流モータの回転子の回転軸を原点とし、相互に直交するα軸及びβ軸によって定義されるαβ静止座標系において、前記三相交流モータに電圧が印加される６つの非ゼロベクトルスイッチングモードにて前記インバータを動作させた場合に、それぞれ前記三相交流モータに流れる電流のベクトルが、前記ゼロベクトル電流に対して固定した方向に定められ、それら電流ベクトルの中で前記指令電流に最も近い電流ベクトルを選択する電流ベクトル選択ステップと、
前記選択ステップにおいて選択された電流ベクトルに応じた非ゼロベクトルスイッチングモードにて前記インバータを動作させた場合に、前記三相交流モータを流れると予測される電流を、非ゼロベクトル電流として演算する非ゼロベクトル電流演算ステップと、
前記ゼロベクトル電流と前記非ゼロベクトル電流とのうちで、前記指令電流に近い電流を選択する電流選択ステップと、を備え、
電流選択ステップにおいて選択された電流に対応するスイッチングモードを、前記インバータのスイッチングモードとして決定することを特徴とするモータ制御方法。
【請求項５】
前記非ゼロベクトル電流演算ステップでは、選択された電流ベクトルに応じた非ゼロベクトルスイッチングモードにて前記インバータを動作させたときに、当該非ゼロベクトル電圧スイッチングモードに応じた電圧が前記三相交流モータに印加されることによって生じる電流が算出され、この算出した電流を、前記ゼロベクトル電流演算ステップにおいて演算された前記ゼロベクトル電流に加算することにより、前記非ゼロベクトル電流が演算されることを特徴とする請求項４に記載のモータ制御方法。
【請求項６】
前記選択非ゼロベクトル電流演算ステップでは、前記非ゼロベクトルスイッチングモードにて前記インバータを動作させたとき、当該インバータにより、前記三相交流モータに印加される電圧の大きさを一定とみなして、前記三相交流モータに生じる電流が算出されることを特徴とする請求項５に記載のモータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三相交流モータを流れる電流が、指令電流に一致するように、インバータのスイッチングモードを決定し、当該インバータが、決定されたスイッチングモードにて動作して、そのスイッチングモードに応じた電圧を三相交流モータに印加することにより、三相交流モータの回転を制御するモータ制御装置及びモータ制御方法に関する。
【背景技術】
【０００２】
上述したモータ制御装置及びモータ制御方法としては、三相交流モータの三角波比較ＰＷＭ制御がある。この制御方法は、電流指令値と各相に流れる電流の誤差から各相の指令電圧を算出し、算出される指令電圧と三角波形状のキャリアの大小に基づき、インバータのスイッチングモードを決定するものである。
【０００３】
この三角波比較ＰＷＭ制御の電流の応答性を改善する技術を開示するものとして、例えば、特許文献１及び特許文献２が知られている。
【０００４】
特許文献１に記載された制御方法では、モータを流れる電流、ロータの磁極位置、及びロータの回転速度に基づき、モータモデルを用いて、インバータの全てのスイッチングモードにおける未来の電流（トルク）を予測する。そして、モータを制御するための電流（トルク）指令値との誤差が最小となる未来の電流（トルク）を生じさせるスイッチングモードを選択し、そのスイッチングモードにてインバータを駆動する。
【０００５】
また、特許文献２では、特許文献１に記載されたモデル予測制御による制御量の予測をより高精度に行うべく、現状のインバータの電圧ベクトル（スイッチングモード）Ｖ（ｎ）に基づいて、１制御周期先の予測電流ｉｄｅ（ｎ＋１），ｉｑｅ（ｎ＋１）を算出する。この予測電流ｉｄｅ（ｎ＋１），ｉｑｅ（ｎ＋１）を初期値とし、さらに１制御周期先の予測電流ｉｄｅ（ｎ＋２），ｉｑｅ（ｎ＋２）を、各電圧ベクトルＶ（ｎ＋１）ごとにそれぞれ算出する。そして、予測電流ｉｄｅ（ｎ＋２），ｉｑｅ（ｎ＋２）を入力とする評価関数Ｊによって、指令電流との誤差が最も小さくなるように、１制御周期先の電圧ベクトルＶ（ｎ＋１）を決定する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２２８４１９号公報
【特許文献２】特開２０１０−２５２４３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述した特許文献１及び特許文献２に開示された技術では、いずれも、インバータの全てのスイッチングモード（全ての電圧ベクトル）に対して、モータに流れるであろう未来の電流を予測し、指令電流との誤差が最小となる電流を生じさせるスイッチングモードを選択するようにしている。
【０００８】
このため、モータを駆動するインバータのスイッチングモードを決定するための演算処理負荷が増大するという問題がある。特に、モータモデルとして、インダクタンスＬや、鎖交磁束数φの非線形性や、外乱を考慮した複雑なモデルを構築した場合、この問題はより深刻なものとなる。
【０００９】
さらに、上記の演算処理は、モータの制御周期以内に完了する必要がある。ここで、モータの制御周期は、例えば、上述した三角波比較PWM制御の位相分解能と同等とするためには、数μｓ程度に設定することが望まれる。このため、上記演算処理をハードウエアにより実現しようとする場合、シリアル処理では時間的に間に合わなくなる虞があるため、多数の演算器によりパラレル処理を行ったり、または、回転速度や電流などの状態量を入力として、スイッチングモードを決定する多次元の状態空間マップ（スイッチングモードのテーブル）を用意したりする必要があり、回路規模が拡大するという問題が生じる。また、演算処理をソフトウエアにより実現しようとする場合には、処理速度に優れた高性能なマイコンなどが必要となり、コストの増加を招くという問題が生じる。
【００１０】
本発明は、上述した点に鑑みてなされたものであり、モータを駆動するインバータのスイッチングモードを決定するための演算処理負荷を大幅に低減することが可能なモータ制御装置及びモータ制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、請求項１に記載のモータ制御装置は、三相交流モータを流れる電流が、指令電流に一致するように、インバータのスイッチングモードを決定し、当該インバータが、決定されたスイッチングモードにて動作して、そのスイッチングモードに応じた電圧を三相交流モータに印加することにより、三相交流モータの回転を制御するものであって、
三相交流モータに電圧が印加されないゼロベクトルスイッチングモードにてインバータを動作させた場合に、三相交流モータを流れることが予測される電流を、ゼロベクトル電流として演算するゼロベクトル電流演算手段と、
三相交流モータの回転子の回転軸を原点とし、相互に直交するα軸及びβ軸によって定義されるαβ静止座標系において、三相交流モータに電圧が印加される６つの非ゼロベクトルスイッチングモードにてインバータを動作させた場合に、それぞれ三相交流モータに流れる電流のベクトルが、ゼロベクトル電流に対して固定した方向に定められ、それら電流ベクトルの中で指令電流に最も近い電流ベクトルを選択する電流ベクトル選択手段と、
選択手段によって選択された電流ベクトルに応じた非ゼロベクトルスイッチングモードにてインバータを動作させた場合に、三相交流モータを流れると予測される電流を、非ゼロベクトル電流として演算する非ゼロベクトル電流演算手段と、
ゼロベクトル電流と非ゼロベクトル電流とのうちで、指令電流に近い電流を選択する電流選択手段と、を備え、
電流選択手段によって選択された電流に対応するスイッチングモードを、インバータのスイッチングモードとして決定することを特徴とする。
【００１２】
すなわち、請求項１に記載のモータ制御装置では、αβ静止座標系において、インバータの６つの非ゼロベクトルスイッチングモードにより印加される電圧に応じて、それぞれ三相交流モータに流れる電流のベクトルが、ゼロベクトル電流に対して固定した方向に定められるという点に着目した。このようにゼロベクトル電流を基準として、各電流のベクトルの向きが定められるので、それらの電流の値そのものが算出されていなくても、指令電流を同じ座標系にプロットした場合に、指令電流と最も近くなる電流のベクトルを判別することができる。このような観点で、電流ベクトル選択手段は、電流ベクトルの中で指令電流に最も近い電流ベクトルを選択する。
【００１３】
そして、非ゼロベクトル電流演算手段において、選択された電流ベクトルに応じた非ゼロベクトルスイッチングモードにてインバータを動作させた場合に、三相交流モータを流れると予測される電流を、非ゼロベクトル電流として演算する。このため、すべての非ゼロベクトルスイッチングモードに対応して、三相交流モータを流れると予測される電流を演算する必要がなく、演算処理負荷を大幅に低減することができる。
【００１４】
なお、非ゼロベクトル電流は、電流選択手段により、ゼロベクトル電流と、どちらが指令電流に近いかを評価され、指令電流により近い電流が選択される。電流ベクトルの状態では、その電流ベクトルによる非ゼロベクトル電流と、ゼロベクトル電流との間で、どちらがより指令電流に近いかを判断することはできないためである。
【００１５】
請求項２に記載したように、非ゼロベクトル電流演算手段は、選択された電流ベクトルに応じた非ゼロベクトルスイッチングモードにてインバータを動作させたときに、当該非ゼロベクトルスイッチングモードに応じた電圧が三相交流モータに印加されることによって生じる電流を算出し、この算出した電流を、ゼロベクトル電流演算手段によって演算されたゼロベクトル電流に加算することにより、非ゼロベクトル電流を演算することが好ましい。
【００１６】
特許文献１，２に記載されているように、数時刻先に三相交流モータを流れると予測される電流は、例えば下記の数式１を離散化することにより得られる数式２により演算することができる。
【数１】
0005447477.tif 000002
【数２】
0005447477.tif 000003
【００１７】
なお、上記数式１において、ｉｄ、ｉｑは、それぞれｄ軸電流、ｑ軸電流であり、Ｒａは巻線抵抗であり、Ｌｄ，Ｌｑは、それぞれｄ軸インダクタンス、ｑ軸インダクタンスであり、ｖｄ、ｖｑは、それぞれｄ軸電圧、ｑ軸電圧であり、ωは、モータ回転角速度であり、φは鎖交磁束数である。
【００１８】
上記数式２において、左辺は、予測電流ｉｄ(ｎ＋１)、ｉｑ(ｎ＋１)である。右辺第１項は、現在電流ｉｄ（ｎ）、ｉｑ（ｎ）に係数Aを乗じた項であり、主として現在電流に基づいて定まる。右辺第２項は、インバータ電圧ｖｄ（ｎ）、ｖｑ（ｎ）に係数Ｂを乗じた項であり、主としてインバータ電圧によって定まる。右辺第３項Fは、モータの速度起電力によって生じる電流を算出するための項である。また、係数Ａ，Ｂは、巻線抵抗、インダクタンス、モータ回転角速度などからなる係数行列である。このように、予測電流は、主として、現在電流、インバータ電圧によって生じる電流、及びモータの速度起電力によって生じる電流から求めることができる。
【００１９】
ここで、ゼロベクトル電流は、インバータ電圧がゼロであるときの電流であるため、現在電流と、モータの速度起電力による電流とに基づいて演算することができる。そして、非ゼロベクトル電流は、インバータ電圧によって生じる電流を算出し、これをゼロベクトル電流と加算することで算出できる。このようにすれば、非ゼロベクトル電流を算出する際に、現在電流に基づいて算出される第１項、及びモータの速度起電力によって生じる電流を算出するための第３項についてあらためて算出する必要がないので、演算負荷をさらに低減することができる。
【００２０】
請求項３に記載したように、非ゼロベクトル電流演算手段は、非ゼロベクトルスイッチングモードにてインバータを動作させたとき、当該インバータにより、三相交流モータに印加される電圧の大きさを一定とみなして、三相交流モータに生じる電流を算出するようにしても良い。
【００２１】
例えば、インバータに比較的大容量のコンデンサを接続するなどして、インバータへの入力電圧の大きさを略一定に保つように構成した場合、モータの回転角を考慮するだけで、インバータ電圧によって生じる電流を算出することができ、より演算処理を簡便にすることができる。
【００２２】
請求項４〜６に記載のモータ制御方法は、それぞれ、上述した請求項１〜３のモータ制御装置と同様の特徴を備えるもので、作用効果については共通するため、説明を省略する。
【図面の簡単な説明】
【００２３】
【図１】第１実施形態によるモータ制御装置の全体構成を示すブロック図である。
【図２】インバータのスイッチングモードについて説明するための説明図である。
【図３】αβ座標系において、ゼロベクトル電流Ｉα０、Ｉβ０を原点とする、ΔＩα軸、ΔＩβ軸を引いた場合に、電流指令値Ｉα＊、Ｉβ＊が、第１象限Ｑ１〜第４象限Ｑ４のいずれに属するかの一例を示すグラフである。
【図４】電流指令値Ｉα＊、Ｉβ＊に最も近い電流ベクトルＩｖｅｃｋを特定するための手法を説明するための説明図である。
【図５】第１実施形態のモータ制御装置により実行される、モータ制御のための処理の流れを示すフローチャートである。
【図６】第２実施形態によるモータ制御装置の全体構成を示すブロック図である。
【図７】第３実施形態によるモータ制御装置の全体構成を示すブロック図である。
【発明を実施するための形態】
【００２４】
（第１実施形態）
以下、本発明の第１実施形態によるモータ制御装置及びモータ制御方法について、図に基づいて説明する。図１は、本実施形態によるモータ制御装置の全体構成を示すブロック図である。
【００２５】
本実施形態によるモータ制御装置３０の制御対象となるモータ１０は、三相（Ｕ相、Ｖ相、Ｗ相）の固定子巻線、及び永久磁石からなる回転子を有する同期モータである。本実施形態では、特に、同期モータ１０として、回転子の内部に永久磁石を埋め込んだ構造を持つ回転界磁形式の同期モータ（ＩＰＭＳＭ）を採用している。
【００２６】
図１において、モータ１０は、インバータ１２を介して電源１４に接続されている。インバータ１２は、モータ１０のＵ相、Ｖ相、Ｗ相に対応して、それぞれ対をなしている６個のスイッチング素子（例えば、ＩＧＢＴ）から構成されている。つまり、インバータ１２においては、対をなす高電位側及び低電位側のスイッチング素子が、モータ１０の各相ごとに設けられ、その高電位側及び低電位側のスイッチング素子同士の接続線が、モータ１０の各相に接続されている。なお、各スイッチング素子には、保護ダイオードがそれぞれ接続されている。
【００２７】
このインバータ１２の各スイッチング素子に対して、モータ制御装置３０が操作信号ｇｕｐ、ｇｕｎ、ｇｖｐ、ｇｖｎ、ｇｗｐ、ｇｗｎを出力することにより、インバータ１２の各スイッチング素子のオンオフ状態が制御される。この結果、インバータ１２は種々のスイッチングモードにて動作する。なお、このスイッチングモードは、電圧ベクトルと呼ばれることもある。
【００２８】
ここで、インバータ１２のスイッチングモードについて、図２を参照しつつ説明する。インバータ１２のスイッチングモードは、図２に示すように、８種類ある。ただし、スイッチングモードＶ０とスイッチングモードＶ７では、モータ１０の各相の低電位側のスイッチング素子もしくは高電位側のスイッチング素子のみがオンされる。このため、スイッチングモードＶ０，Ｖ７は、ともに、モータ１０に電圧が印加されないモードである。従って、スイッチングモードＶ０、Ｖ７は、いずれか一方のスイッチングモードのみを使用するようにしても良いし、切換前のインバータ１２のスイッチングモードなどに応じて、任意に選択して使用するようにしても良い。なお、スイッチングモードＶ０とＶ７を、ゼロベクトルスイッチングモードと呼ぶ。
【００２９】
一方、スイッチングモードＶ０，Ｖ７以外の残りのスイッチングモードＶ１〜Ｖ６では、高電位側と低電位側の双方にオン状態となるスイッチング素子が存在する。このため、スイッチングモードＶ１〜Ｖ６では、オン状態となるスイッチング素子に応じたベクトルを持った電圧がモータ１０に印加され、その印加電圧に応じた電流がモータ１０に流れる。このため、スイッチングモードＶ１〜Ｖ６を総称して、非ゼロベクトルスイッチングモードと呼ぶ。
【００３０】
電源１４と並列に、インバータ１２への入力電圧を検出する電圧センサ１６が設けられている。この電圧センサ１６によって検出されたインバータ入力電圧Ｖｄｃは、モータ制御装置３０に与えられる。さらに、モータ１０の回転角（回転子の磁極位置）θを検出する回転角センサ１８、及びモータ１０の各相（Ｕ相、Ｖ相、Ｗ相）に流れる電流Ｉｕ，Ｉｖ，ｉｗを検出する電流センサ２０が設けられている。これらの回転角センサ１８及び電流センサ２０によって検出された検出信号も、モータ制御装置３０に与えられる。
【００３１】
次に、モータ制御装置３０の内部構成について説明する。このモータ制御装置３０は、図１に示す各ブロックによる機能を専用の演算器によって構成することも可能であるし、マイコンにおいて実行される各種のプログラムにより、図１の各ブロックの機能を実現することも可能である。
【００３２】
電流センサ２０によって検出されたモータ１０の各相の電流検出値は、αβ変換部３２に入力され、αβ座標におけるα軸電流値ｉαとβ軸電流値ｉβに変換される。なお、電流センサ２０は、３相すべての電流を検出する必要はなく、少なくとも２相の電流を検出すれば、α軸電流値ｉαとβ軸電流値ｉβへの変換を行うことが可能である。
【００３３】
αβ変換部３２から出力されるα軸電流値ｉα及びβ軸電流値ｉβは、ｄｑ変換部３４に入力される。このｄｑ変換部３４は、回転角センサ１８によって検出されるモータ回転角θに基づいて、α軸電流値ｉα及びβ軸電流値ｉβを、ｄｑ座標におけるｄ軸電流値ｉｄ及びｑ軸電流値ｉｑに変換して、予測電流演算部４２に出力する。
【００３４】
ここで、公知のように、ｄｑ座標は、例えば、回転子のＳ極からＮ極に向かう方向をｄ軸とし、そのｄ軸に垂直なｑ軸によって定義される回転座標であり、αβ座標は、回転子の回転軸を原点として、相互に直交するα軸及びβ軸によって定義される静止座標である。これらｄｑ回転座標とαβ回転座標との間では、モータ回転角θにより、ｄｑ回転座標とαβ静止座標との相対的な位相関係が特定できるので、相互に座標変換を行うことができる。
【００３５】
回転角センサ１８によって検出されたモータ回転角θは、上述したｄｑ変換部３４の他、回転角速度算出部３６、ｄｑ変換部４０、及びｄｑ逆変換部４４にも入力される。回転角速度算出部３６は、モータ回転角θを微分処理して、モータ回転角速度ωを算出する。
【００３６】
電圧センサ１６によって検出されたインバータ入力電圧Ｖｄｃは、Ｖ１−Ｖ６算出部３８に入力される。さらに、このＶ１−Ｖ６算出部３８には、後述する非ゼロベクトル特定部４８から、電流指令値にもっとも近い電流ベクトルに応じた非ゼロベクトルスイッチングモードＶｋが入力される。Ｖ１−Ｖ６算出部３８は、入力されたインバータ入力電圧Ｖｄｃ及び非ゼロベクトルスイッチングモードＶｋに基づいて、その非ゼロベクトルスイッチングモードＶｋにてインバータ１２を作動させたときに、モータ１０に印加されることが予測されるベクトル電圧を、α軸電圧値Ｖα及びβ軸電圧値Ｖβとして算出する。
【００３７】
Ｖ１−Ｖ６算出部３８によって算出されたα軸電圧値Ｖα及びβ軸電圧値Ｖβは、ｄｑ変換部４０に入力される。このｄｑ変換部４０は、回転角センサ１８によって検出されるモータ回転角θに基づいて、α軸電圧値Ｖα及びβ軸電圧値Ｖβを、ｄｑ座標におけるｄ軸電圧値Ｖｄ及びｑ軸電圧値Ｖｑに変換して、予測電流演算部４２に出力する。
【００３８】
予測電流演算部４２では、モータ回転角速度ω、現在のモータ電流を示すｄ軸電流値ｉｄ及びｑ軸電流値ｉｑ、及び非ゼロベクトルスイッチングモードＶｋが選択されたときのインバータ電圧（ベクトル電圧）を示すｄ軸電圧値Ｖｄ及びｑ軸電圧値Ｖｑに基づいて、上述した数式２を用いて、未来の、すなわち１制御周期先の予測電流を算出する。
【００３９】
なお、この予測電流演算部４２は、まず、モータの巻線抵抗やインダクタンス、鎖交磁束数等のモータパラメータ、離散時間含む既知の値と、算出したモータ回転角速度ωと、現在のモータ電流を示すｄ軸電流値ｉｄ及びｑ軸電流値ｉｑとに基づいて、ゼロベクトルスイッチングモードＶ０（Ｖ７）にてインバータ１２を動作させたときに、モータ１０に流れることが予測されるゼロベクトル電流Ｉｄ０、Ｉｑ０を算出する。このゼロベクトル電流Ｉｄ０、Ｉｑ０は、ｄｑ逆変換部４４及び評価部５０に出力される。評価部５０では、後に、予測電流演算部４２から出力される非ゼロベクトル電流Ｉｄｋ、Ｉｑｋと、いずれが指令電流Ｉｄ＊、Ｉｑ＊に近いかを評価するために、その評価時まで、ゼロベクトル電流Ｉｄ０、Ｉｑ０を保存しておく。
【００４０】
電流指令生成部４６は、トルク指令値Ｔ＊（又は、速度指令値）に基づいて、ｄ軸電流指令値Ｉｄ＊及びｑ軸電流指令値Ｉｑ＊を算出して、ｄｑ逆変換部４４及び評価部５０に出力する。
【００４１】
ｄｑ逆変換部４４は、回転角センサ１８によって検出されるモータ回転角θに基づいて、入力されたｄｑ座標上の電流値を、αβ座標上の電流値に逆変換するものである。具体的には、ｄｑ逆変換部４４は、ｄｑ座標上のゼロベクトル電流Ｉｄ０，Ｉｑ０を、αβ座標上のゼロベクトル電流Ｉα０、Ｉβ０に逆変換するとともに、ｄｑ座標上の電流指令値Ｉｄ＊、Ｉｑ＊を、αβ座標上の電流指令値Ｉα＊、Ｉβ＊に逆変換する。
【００４２】
非ゼロベクトル特定部４８には、ｄｑ逆変換部４４から、αβ座標上のゼロベクトル電流Ｉα０，Ｉβ０と、電流指令値Ｉα＊、Ｉβ＊とが入力される。非ゼロベクトル特定部４８は、これら、ゼロベクトル電流Ｉα０，Ｉβ０と、電流指令値Ｉα＊、Ｉβ＊とに基づいて、電流指令値Ｉα＊、Ｉβ＊に最も近い電流ベクトルＩｖｅｃｋを特定する。
【００４３】
ここで、非ゼロベクトル特定部４８において、電流指令値Ｉα＊、Ｉβ＊に最も近い電流ベクトルＩｖｅｃｋを特定するための手法を、図３及び図４を用いて説明する。
【００４４】
図３は、αβ座標系において、ゼロベクトル電流Ｉα０、Ｉβ０を原点とする、ΔＩα軸、ΔＩβ軸を引いた場合に、電流指令値Ｉα＊、Ｉβ＊が、第１象限Ｑ１〜第４象限Ｑ４のいずれに属するかを示したものである。
【００４５】
この図３に示すように、本実施形態では、まず、電流指令値Ｉα＊、Ｉβ＊が、第１象限Ｑ１〜第４象限Ｑ４のいずれに属するかを判定する象限判定を行う。具体的には、電流指令値Ｉα＊、Ｉβ＊からゼロベクトル電流Ｉα０、Ｉβ０を減算し、その減算結果のα軸電流値及びβ軸電流値の符合から、電流指令値Ｉα＊、Ｉβ＊がいずれの象限に属するかを判定する。なお、図３には、電流指令値Ｉα＊、Ｉβ＊が、第１象限Ｑ１に属する例を示している。
【００４６】
続いて、図４に示すように、電流指令値Ｉα＊、Ｉβ＊が属する象限を通る電流ベクトルの中から、電流指令値Ｉα＊、Ｉβ＊に最も近い電流ベクトルＩｖｅｃｋを選択する。
【００４７】
ここで、図４に示すように、αβ座標系においては、インバータ１２の６つの非ゼロベクトルスイッチングモードＶ１〜Ｖ６によりモータ１０に印加される電圧に応じて、それぞれモータ１０に流れる電流のベクトルＩｖｅｃ１〜Ｉｖｅｃ６が、ゼロベクトル電流Ｉα０、Ｉβ０に対して固定した方向に定められる。このため、各スイッチングモードＶ１〜Ｖ６により、それぞれモータ１０に流れる電流の値そのものが算出されていなくても、電流指令値Ｉα＊、Ｉβ＊と最も近くなる電流のベクトルＩｖｅｃｋを判別することができる。
【００４８】
図４に示す例においては、電流指令値Ｉα＊、Ｉβ＊は第１象限にあり、その第1象限を通る電流ベクトルは、Ｉｖｅｃ１及びＩｖｅｃ２である。電流指令値Ｉα＊、Ｉβ＊が、いずれの電流ベクトルＩｖｅｃ１、Ｉｖｅｃ２に近いかは、例えば、電流ベクトルＩｖｅｃ１とＩｖｅｃ２との、ちょうど中間を通る直線（ｙ１＝０．５７７ｘ）よりも上にあるか下にあるかにより判定することができる。図４に示す例では、電流指令値Ｉα＊、Ｉβ＊は、直線（ｙ１＝０．５７７ｘ）よりも上にあるので、最も近い電流ベクトルはＩｖｅｃ１であると判定される。なお、電流指令値Ｉα＊、Ｉβ＊が他の象限に属する場合も、上述したのと同様の手順で、最も近い電流ベクトルＩｖｅｃｋを特定することができる。
【００４９】
ただし、電流ベクトルＩｖｅｃ１〜Ｉｖｅｃ６の中で、電流指令値Ｉα＊、Ｉβ＊に最も近い電流ベクトルＩｖｅｃｋを特定することはできても、電流ベクトルのままでは、特定された電流ベクトルＩｖｅｃｋによる電流値と、ゼロベクトル電流とのいずれが、より電流指令値Ｉα＊、Ｉβ＊に近いかを判断することは困難である。
【００５０】
そのため、特定された電流ベクトルＩｖｅｃｋによる電流値を算出すべく、非ゼロベクトル特定部４８は、電流ベクトルＩｖｅｃｋに応じた非ゼロベクトルスイッチングモードＶｋをＶ１−Ｖ６算出部３８に出力する。すると、上述したように、Ｖ１−Ｖ６算出部３８は、入力された非ゼロベクトルスイッチングモードＶｋにてインバータ１２を作動させたときに、モータ１０に印加されることが予測されるインバータ電圧（ベクトル電圧）Ｖα、Ｖβを算出する。そして、この算出されたインバータ電圧Ｖα、Ｖβは、ｄｑ変換部４０によりｄｑ座標変換され、予測電流演算部４２に入力される。
【００５１】
すると、予測電流演算部４２は、モータの巻線抵抗やインダクタンス、鎖交磁束数等のモータパラメータ、離散時間含む既知の値と、算出したモータ回転角速度ω、現在のモータ電流を示すｄ軸電流値ｉｄ及びｑ軸電流値ｉｑ、及び非ゼロベクトルスイッチングモードＶｋが選択されたときのインバータ電圧（ベクトル電圧）を示すｄ軸電圧値Ｖｄ及びｑ軸電圧値Ｖｑに基づいて、非ゼロベクトルスイッチングモードＶｋによりインバータ１２を動作させたときに、モータ１０に流れると予測される非ゼロベクトル電流Ｉｄｋ、Ｉｑｋを算出する。この算出された非ゼロベクトル電流Ｉｄｋ、Ｉｑｋは、評価部５０に出力される。なお、予測電流演算部４２において、ゼロベクトル電流Ｉｄ０、Ｉｑ０を算出するときと、非ゼロベクトル電流Ｉｄｋ、Ｉｑｋを算出するときとで、同じモータ回転角速度ωと、ｄ軸電流値ｉｄ及びｑ軸電流値ｉｑが用いられる。
【００５２】
評価部５０では、ゼロベクトル電流Ｉｄ０、Ｉｑ０と、非ゼロベクトル電流Ｉｄｋ，Ｉｑｋとのどちらが、電流指令値Ｉｄ＊、Ｉｑ＊に対して、より誤差が小さいかを評価する。誤差の小さい方が、電流指令値Ｉｄ＊、Ｉｑ＊により近いため、その誤差の小さいベクトル電流に対応するスイッチングモードを、最適スイッチングモードＶ０（Ｖ７）又はＶｋとして決定し、操作部５２に出力する。
【００５３】
操作部５２は、評価部５０から入力された最適スイッチングモードＶ０又はＶｋに従い、その最適スイッチングモードＶ０又はＶｋにてインバータ１２を動作させるべく、操作信号を生成して出力する。
【００５４】
次に、上述したモータ制御装置３０において実行されるモータ制御のための処理の流れについて、図５のフローチャートに基づいて説明する。なお、図５のフローチャートに示す処理は、所定の制御周期毎に繰り返し実行される。
【００５５】
まず、ステップＳ１００において、電流センサ２０から、Ｕ相及びＷ相の電流検出値Ｉｕ，Ｉｗを入力し、電圧センサ１６からインバータ入力電圧Ｖｄｃを入力し、回転角センサ１８からモータ回転角θを入力する。さらに、モータ回転角θからモータ回転角速度ωを算出する。
【００５６】
続くステップＳ１１０では、入力された電流検出値Ｉｕ、Ｉｗを、αβ座標におけるα軸電流値ｉαとβ軸電流値ｉβに変換する。さらに、ステップＳ１２０において、α軸電流値ｉα及びβ軸電流値ｉβが、モータ回転角θに基づき、ｄｑ座標におけるｄ軸電流値ｉｄ及びｑ軸電流値ｉｑに変換される。
【００５７】
ステップＳ１３０では、モータの巻線抵抗やインダクタンス、鎖交磁束数等のモータパラメータ、離散時間含む既知の値と、算出したモータ回転角速度ωと、現在のモータ電流を示すｄ軸電流値ｉｄ及びｑ軸電流値ｉｑとに基づいて、上記数式２を用いて、ゼロベクトル電流Ｉｄ０、Ｉｑ０を算出する。そして、ステップＳ１４０において、ｄｑ座標上のゼロベクトル電流Ｉｄ０，Ｉｑ０を、αβ座標上のゼロベクトル電流Ｉα０、Ｉβ０に逆変換するとともに、ｄｑ座標上の電流指令値Ｉｄ＊、Ｉｑ＊を、αβ座標上の電流指令値Ｉα＊、Ｉβ＊に逆変換する。
【００５８】
ステップＳ１５０では、αβ座標系において、ゼロベクトル電流Ｉα０，Ｉβ０と、電流指令値Ｉα＊、Ｉβ＊とに基づき、電流指令値Ｉα＊、Ｉβ＊に最も近い非ゼロ電流ベクトルＩｖｅｃｋを決定し、この非ゼロ電流ベクトルＩｖｅｃｋに応じて予測すべき非ゼロベクトルスイッチングモードＶｋを特定する。そして、ステップＳ１６０の処理にて、非ゼロベクトルスイッチングモードＶｋによるＶｄ，Ｖｑを算出し、ステップＳ１７０において、特定した非ゼロベクトルスイッチングモードＶｋによりインバータ１２を動作させたときに、モータ１０に流れると予測される非ゼロベクトル電流Ｉｄｋ、Ｉｑｋを算出する。
【００５９】
ステップＳ１８０では、電流指令値Ｉｄ＊、Ｉｑ＊とゼロベクトル電流Ｉｄ０、Ｉｑ０との誤差ΔＩｄｑ０と、電流指令値Ｉｄ＊、Ｉｑ＊と非ゼロベクトル電流Ｉｄｋ、Ｉｑｋとの誤差ΔＩｄｑｋとを比較する。そして、誤差が小さいベクトル電流に対応するスイッチングモードを、最適スイッチングモードＶ０（Ｖ７）又はＶｋとして決定する。そして、ステップＳ１９０では、ステップＳ１８０にて決定された最適スイッチングモードに対応する操作信号をインバータ１２に出力する。
【００６０】
以上、説明したように、αβ座標系において、インバータ１２の６つの非ゼロベクトルスイッチングモードＶ１〜Ｖ６により印加される電圧に応じて、それぞれモータ１０に流れる電流のベクトルＩｖｅｃ１〜Ｉｖｅｃ６が、ゼロベクトル電流Ｉα０、Ｉβ０に対して固定した方向に定められる。
【００６１】
本実施形態によるモータ制御装置では、その点に着目し、それら電流ベクトルＩｖｅｃ１〜Ｉｖｅｃ６の中から、指令電流値Ｉα*、Ｉβ*に最も近い電流ベクトルＩｖｅｃｋを特定する。そして、特定した電流ベクトルＩｖｅｃｋに応じた非ゼロベクトルスイッチングモードＶｋにてインバータ１２を動作させた場合に、モータ１０を流れると予測される非ゼロベクトル電流Ｉｄｋ、Ｉｑｋのみを演算するようにした。このため、すべての非ゼロベクトルスイッチングモードＶ１〜Ｖ６に対応して、モータ１０を流れると予測される電流を演算する必要がなく、演算処理負荷を大幅に低減することが可能となる。
【００６２】
（第２実施形態）
次に、本発明の第２実施形態によるモータ制御装置及びモータ制御方法について、図６を参照しつつ説明する。なお、第１実施形態によるモータ制御装置と同様の構成については、同じ参照番号を付与することにより、説明を省略する。
【００６３】
上述した第１実施形態によるモータ制御装置では、予測電流演算部４２が、ゼロベクトル電流Ｉｄ０，Ｉｑ０を演算するときと、非ゼロベクトル電流Ｉｄｋ、Ｉｑｋを演算するときとで、同じ数式２を用いていた。しかしながら、ゼロベクトル電流Ｉｄ０、Ｉｑ０を演算する際には、インバータ電圧Ｖｄ，Ｖｑはそれぞれゼロであるため、数式２における右辺第２項のインバータ電圧Ｖｄ，Ｖｑに関する項は不要である。また、非ゼロベクトル電流Ｉｄｋ，Ｉｑｋを演算する際には、数式２における右辺第２項以外の、右辺第１項及び右辺第３項は、ゼロベクトル電流と同等である。
【００６４】
従って、第1実施形態のように、ゼロベクトル電流Ｉｄ０，Ｉｑ０を演算するための数式と、非ゼロベクトル電流Ｉｄｋ、Ｉｑｋを演算するための数式とが同一であると、それぞれ不要な項目が含まれ、不要な演算処理を行うことになってしまう。
【００６５】
そのため、本実施形態によるモータ制御装置３０Ａでは、予測電流演算部を、ゼロベクトル電流Ｉｄ０、Ｉｑ０を演算するための第１演算部４３Ａと、非ゼロベクトル電流Ｉｄｋ，Ｉｑｋを算出するために必要なインバータ電圧に関する項を演算するための第２演算部４３Ｂとに分けた。具体的には、第1演算部４３Ａは、以下の数式３に従って、ゼロベクトル電流Ｉｄ０、Ｉｑ０を算出する。
【数３】
0005447477.tif 000004
【００６６】
また、第２演算部４３Ｂは、以下の数式４に従って、インバータ電圧Ｖｄ，Ｖｑにより生じる電流を算出する。
【数４】
0005447477.tif 000005
【００６７】
さらに、第１演算部４３Ａによる演算結果（Ｉｄ０、Ｉｑ０）と、第２演算部４３Ｂによる演算結果（Ｉｄｖ，Ｉｑｖ）とを加算する加算部４５を設け、この加算部４５により非ゼロベクトル電流Ｉｄｋ，Ｉｑｋを出力させるようにした。非ゼロベクトル電流Ｉｄｋ，Ｉｑｋを算出する上で、現在電流に関する項と、モータの速度起電力に関する項は、ゼロベクトル電流Ｉｄ０，Ｉｑ０と共通であるためである。
【００６８】
上記のような構成を採用したことにより、本実施形態によれば、ゼロベクトル電流Ｉｄ０，Ｉｑ０及び非ゼロベクトル電流Ｉｄｋ，Ｉｑｋの演算を無駄なく、効率的に行うことができ、より演算処理負荷を低減することができる。
【００６９】
（第３実施形態）
次に、本発明の第３実施形態によるモータ制御装置及びモータ制御方法について、図７を参照しつつ説明する。なお、第１実施形態及び第２実施形態によるモータ制御装置と同様の構成については、同じ参照番号を付与することにより、説明を省略する。
【００７０】
上述した第１及び第２実施形態によるモータ制御装置３０、３０Ａでは、非ゼロベクトル電流Ｉｄｋ，Ｉｑｋを演算する際に、まずＶ１−Ｖ６算出部３８において、非ゼロベクトルスイッチングモードＶｋにてインバータを動作させたとき、モータ１０に印加されるインバータ電圧Ｖα、Ｖβを算出し、これを、モータ回転角θに基づき、ｄｑ座標におけるインバータ電圧Ｖｄ、Ｖｑに座標変換していた。
【００７１】
しかしながら、例えば図７に示すように、インバータ１２に比較的大容量のコンデンサ１７を接続するなどして、インバータ１２への入力電圧の大きさを略一定に保つように構成した場合、インバータ１２への入力電圧Ｖｄｃを考慮する必要がなくなる。
【００７２】
従って、この場合、図７に示すように、予測電流演算部の第２演算部４３Ｃが、非ゼロベクトルスイッチングモードＶｋによりインバータ１２を動作させたとき、モータ１０に印加される電圧によって生じる電流（Ｉｄｖ，Ｉｑｖ）を、モータ回転角θだけを考慮して算出することができる。このため、第２実施形態によるモータ制御装置３０Ａに対して、電圧センサ１６を削減できるとともに、さらに演算処理負荷の低減を図ることができる。
【００７３】
なお、予測電流演算部の第２演算部４３Ｃでは、数式を用いて、モータ１０に印加される電圧によって生じる電流（Ｉｄｖ，Ｉｑｖ）を算出しても良いし、例えばモータ回転角θに応じた電流（Ｉｄｖ，Ｉｑｖ）をまとめた１次元マップをあらかじめ用意しておき、そのマップから該当する電流（Ｉｄｖ，Ｉｑｖ）を選択するようにしても良い。
【００７４】
以上、本発明の好ましい実施形態について説明したが、本発明は上述した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することが可能である。
【００７５】
例えば、上述した第１実施形態〜第４実施形態では、１周期制御先の最適スイッチングモードを決定するものとして説明したが、例えば特許文献２に記載のように、２周期制御先の最適スイッチングモードを決定する際にも、本発明は適用可能なものである。
【００７６】
また、予測電流演算部で用いる、予測式に含まれる巻線抵抗値やインダクタンス値等のモータパラメータや離散時間の値などを動的に変化させるように構成しても良い。
【符号の説明】
【００７７】
１０…三相交流モータ、１２…インバータ、１４…電源、１６…電圧センサ、１８…回転角センサ、２０…電流センサ、３０…モータ制御装置、３２…αβ変換部、３４…ｄｑ変換部、３６…回転角速度算出部、３８…Ｖ１−Ｖ６算出部、４０…ｄｑ変換部、４２…予測電流演算部、４４…ｄｑ逆変換部、４６…電流指令値生成部、４８…非ゼロベクトル特定部、５０…評価部、５２…操作部
【図１】
0005447477.tif 000006
【図２】
0005447477.tif 000007
【図３】
0005447477.tif 000008
【図４】
0005447477.tif 000009
【図５】
0005447477.tif 000010
【図６】
0005447477.tif 000011
【図７】
0005447477.tif 000012