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