(57)【要約】      （修正有）【課題】特別にバラツキの少ない回路を採用しなくても、零レベルの変化の影響を排除して精度の高いロータ位置の検出を達成する。【解決手段】モータ電流の検出値を補正するために、モータを駆動しない期間中に、インバータの上アームのスイッチングトランジスタを全てオフにしてかつインバータの下アームのスイッチングトランジスタを全てオンにするか又は、インバータの上アームのスイッチングトランジスタを全てオンにしてかつインバータの下アームのスイッチングトランジスタを全てオフにして、インバータから零ベクトルを出力して、モータ電流を検出する検出手段からの出力を零レベルとして検出する。【選択図】図９
2010094021.tif 000002
【特許請求の範囲】
【請求項１】
検出手段（４）を用いてインバータ（２）からモータ（３）に供給されるモータ電圧およびモータ電流を検出し、検出したモータ電圧、モータ電流、および予め設定したモータモデルを用いてモータ（３）の回転子の磁極位置を検出し、検出した磁極位置を基準としてインバータ（２）を制御するモータ駆動方法において、
前記モータ電流の検出値を補正するために、前記モータを駆動しない期間中に、前記インバータの上アームのスイッチングトランジスタを全てオフにしてかつ前記インバータの下アームのスイッチングトランジスタを全てオンにするか又は、前記インバータの上アームのスイッチングトランジスタを全てオンにしてかつ前記インバータの下アームのスイッチングトランジスタを全てオフにして、前記インバータ（２）から零ベクトルを出力して、前記モータ電流を検出する検出手段（４）からの出力を零レベルとして検出することを特徴とするモータ駆動方法。
【請求項２】
検出手段（４）を用いてインバータ（２）からモータ（３）に供給されるモータ電圧およびモータ電流を検出し、検出したモータ電圧、モータ電流、および予め設定したモータモデルを用いてモータ（３）の回転子の磁極位置を検出し、検出した磁極位置を基準としてインバータ（２）を制御するモータ駆動装置において、
前記モータ電流の検出値を補正するために、前記モータを駆動しない期間中に、前記インバータの上アームのスイッチングトランジスタを全てオフにしてかつ前記インバータの下アームのスイッチングトランジスタを全てオンにするか又は、前記インバータの上アームのスイッチングトランジスタを全てオンにしてかつ前記インバータの下アームのスイッチングトランジスタを全てオフにして、前記インバータ（２）から零ベクトルを出力して、前記モータ電流を検出する検出手段（４）からの出力を零レベルとして検出する零レベル検出手段（５）を含むことを特徴とするモータ駆動装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、インバータからモータに供給されるモータ電圧およびモータ電流を検出手段を用いて検出し、検出したモータ電圧、モータ電流、および予め設定したモータモデルを用いてモータの回転子の磁極位置を検出し、検出した磁極位置を基準としてインバータを制御するモータ駆動方法およびその装置に関する。
【背景技術】
【０００２】
近年、省エネ性を向上させる為に、高効率、高精度なインバータモータ制御が家電製品にも求められるようになってきており、モータにはリラクタンストルクを利用できる埋込磁石型ＤＣモータが多く用いられている。
【０００３】
そして、ＤＣモータの制御にはロータ位置（回転子の磁極位置）の検出が不可欠であるが、圧縮機内部等の様に非常に過酷な環境下では位置センサを用いることは困難である。
【０００４】
そこで、従来は、１２０度通電波形によりモータを駆動し、モータ端子に現れる誘起電圧を利用する位置検出が一般的に行われてきた。
【０００５】
しかし、この手法ではリラクタンストルクを有効に利用できる電流位相にてモータを駆動することができないという問題点、および１８０度通電の正弦波にてモータを駆動することができないという問題点があった。
【０００６】
そこで、この問題を解決する為に、モータに流れる電流と印加する電圧を検出し、マイコン内のモータモデルを用いて位置を計算により得る方法が使われるようになってきた。したがって、高効率な運転の為には、精度の高いロータ位置の検出が必要であり、すなわち精度の高い電流と電圧の検出が必要である。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、ＰＷＭインバータの電流検出においては、検出回路の零レベルが固体バラツキおよび温度により大きく変化することが知られており、この零レベルの変化の影響を受けて電流検出に誤差を生じ、モータの制御性能を低下させる要因となっている。
【０００８】
また、零レベルの変化を小さくする為にバラツキの少ない回路を選定することも考えられるが、この場合には検出回路のコストが高くなり、コストダウンの要求が強い家電製品に適用することが困難であるという問題がある。
【０００９】
この発明は上記の問題点に鑑みてなされたものであり、特別にバラツキの少ない回路を採用しなくても、零レベルの変化の影響を排除して精度の高いロータ位置の検出を達成することができるモータ駆動方法およびその装置を提供することを目的としている。
【課題を解決するための手段】
【００１０】
請求項１のモータ駆動方法は、検出手段を用いてインバータからモータに供給されるモータ電圧およびモータ電流を検出し、検出したモータ電圧、モータ電流、および予め設定したモータモデルを用いてモータの回転子の磁極位置を検出し、検出した磁極位置を基準としてインバータを制御するに当たって、前記モータ電流の検出値を補正するために、前記モータを駆動しない期間中に、前記インバータの上アームのスイッチングトランジスタを全てオフにしてかつ前記インバータの下アームのスイッチングトランジスタを全てオンにするか又は前記インバータの上アームのスイッチングトランジスタを全てオンにしてかつ前記インバータの下アームのスイッチングトランジスタを全てオフにして、前記インバータから零ベクトルを出力して、前記モータ電流を検出する検出手段からの出力を零レベルとして検出する方法である。
【００１１】
請求項２のモータ駆動装置は、検出手段を用いてインバータからモータに供給されるモータ電圧およびモータ電流を検出し、検出したモータ電圧、モータ電流、および予め設定したモータモデルを用いてモータの回転子の磁極位置を検出し、検出した磁極位置を基準としてインバータを制御するものにおいて、前記モータ電流の検出値を補正するために、前記モータを駆動しない期間中に、前記インバータの上アームのスイッチングトランジスタを全てオフにしてかつ前記インバータの下アームのスイッチングトランジスタを全てオンにするか又は前記インバータの上アームのスイッチングトランジスタを全てオンにしてかつ前記インバータの下アームのスイッチングトランジスタを全てオフにして、前記インバータから零ベクトルを出力して、前記モータ電流を検出する検出手段からの出力を零レベルとして検出する零レベル検出手段を含むものである。
【発明の効果】
【００１２】
請求項１の発明は、モータを積極的には運転していない状態においても零レベルを精度よく検出することができ、ひいてはモータの回転子の磁極位置を精度よく検出することができるという特有の効果を奏する。
【００１３】
請求項２の発明は、モータを積極的には運転していない状態においても零レベルを精度よく検出することができ、ひいてはモータの回転子の磁極位置を精度よく検出することができるという特有の効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】この発明のモータ駆動装置の一実施形態を示す概略図である。
【図２】３相インバータの構成を示す概略図である。
【図３】インバータ出力電圧ベクトルを説明する図である。
【図４】正弦波電圧出力とインバータ出力電圧ベクトルの組み合わせを示す図である。
【図５】インバータ出力電圧ベクトルＶ４における電流経路の例を説明する図である。
【図６】ｒｅ０におけるインバータ出力電圧ベクトルとＤＣリンク電流の一例を示す図である。
【図７】ゲイン誤差による検出電流のばらつきを説明する図である。
【図８】オフセット誤差による検出電流のばらつきを説明する図である。
【図９】この発明のモータ駆動方法の一実施形態の要部を説明するフローチャートである。
【図１０】この発明のモータ駆動方法の他の実施形態の要部を説明するフローチャートである。
【図１１】この発明のモータ駆動方法のさらに他の実施形態の要部を説明するフローチャートである。
【図１２】インバータ出力電圧ベクトルＶ７におけるＡ／Ｄ変換処理とキャリア割り込み処理を説明する図である。
【図１３】この発明のモータ駆動方法のさらに他の実施形態の要部を説明するフローチャートである。
【図１４】この発明のモータ駆動方法のさらに他の実施形態の要部を説明するフローチャートである。
【図１５】変調率が大きい時のインバータ出力電圧ベクトルとＤＣリンク電流を説明する図である。
【図１６】零ベクトルが存在しない例を示す図である。
【図１７】この発明のモータ駆動方法のさらに他の実施形態の要部を説明するフローチャートである。
【図１８】この発明のモータ駆動方法のさらに他の実施形態の要部を説明するフローチャートである。
【図１９】電流零における検出回路出力の温度特性を説明する図である。
【図２０】零ベクトルの拡大例を示す図である。
【図２１】ゲート信号、インバータ出力電圧ベクトル、およびＤＣリンク電流の関係を説明する図である。
【図２２】上下アームのスイッチングトランジスタのオフによる零ベクトルの挿入を説明する図である。
【図２３】この発明のモータ駆動方法のさらに他の実施形態の要部の一部を説明するフローチャートである。
【図２４】この発明のモータ駆動方法のさらに他の実施形態の要部の残部を説明するフローチャートである。
【図２５】オフセット量の検出電流への影響を説明する図である。
【図２６】＋ΔＩ相当のオフセットが存在する時の検出電流を示す図である。
【図２７】−ΔＩ相当のオフセットが存在する時の検出電流を示す図である。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して、この発明のモータ駆動方法およびその装置の実施の形態を詳細に説明する。
【００１６】
図１はこの発明のモータ駆動装置の一実施形態を示す概略図である。
【００１７】
このモータ駆動装置は、直流電源１の出力端子間に３相インバータ２を接続し、３相インバータ２の３相出力をモータ３に供給している。そして、直流電源１と３相インバータ２との間に電流検出回路４を接続し、電流検出値および図示しない電圧検出値を入力とし、モータモデルを用いてモータの回転子の磁極位置を検出し、検出した磁極位置を基準として従来公知の処理を行って制御信号を出力する制御回路５と、制御信号を入力として、３相インバータ２のスイッチングトランジスタを制御するゲートドライブ信号を出力するゲートドライブ回路６とを設けている。
【００１８】
次いで、このモータ駆動装置の作用を説明する。
【００１９】
図２に示す三相ＰＷＭインバータは、Ｕ、Ｖ、Ｗの各相のスイッチングトランジスタが上下で相補的にＯＮ、ＯＦＦを繰返し、その時比率を変化させることで平均的にモータ端子に任意の周波数と振幅の交流電圧を与えている。表１に示すように、Ｕ、Ｖ、Ｗ相のスイッチング状態の組合せは８種類存在し、それぞれの組合せを電圧ベクトルＶ０〜Ｖ７と定義している。
【００２０】
【表１】
2010094021.tif 000003
【００２１】
ここで、０〜７の数字は、各相のスイッチング状態を上アームがＯＮの時に”１”、下アームがＯＮの時に”０”としてＵ、Ｖ、Ｗの順に並べ、２進数として読んだ値を１０進数表記したものである。これらのベクトルをベクトル図上に示すと、図３のようになる。この中で、ベクトルＶ０とベクトルＶ７については、モータ端子間の電位差が全て０になっており、モータ３にとっては同一のベクトルであると考えられる。そこで、以下では、ベクトルＶ０とベクトルＶ７を零ベクトルと表現する。
【００２２】
図４は、正弦波電圧出力｛図４中（ａ）参照｝とその時の電圧ベクトルの組合せ｛図４中（ｂ）参照｝を示しており、ｒｅ０の期間では、ベクトルＶ４とベクトルＶ６及び零ベクトルの比率を変化させることで、正弦波電圧の出力を行っている。ｒｅ１〜ｒｅ５についても同様に、２つの電圧ベクトルと零ベクトルの組合せにより正弦波電圧の出力を行っている。図５はベクトルＶ４のときに３相インバータ２を流れる電流の経路を示している。図５において、ＤＣリンクの電流ＩｄｃはＵ相からモータ巻線へ流れ込み、Ｖ、Ｗ相を通して再びＤＣリンクへ戻っているので、ＤＣリンク電流ＩｄｃとＵ相電流Ｉｕとが同じ電流値であることが分かる。同様にベクトルＶ６における電流経路を考えると、ｒｅ０においてＤＣリンクに現れる電流は（Ｉｕ＋Ｉｖ）すなわち−ＩＷとなる。ｒｅ０の期間に現れるＩｄｃの様子を図６に示す。
【００２３】
このように、零ベクトル以外の状態では直流電圧部とモータ３とは何れかのスイッチングトランジスタにより導通しており、モータ３を流れる電流がＤＣリンク部に現れる。ＤＣリンク電流Ｉｄｃに現れるモータ電流の相は、ベクトルによって決まっており、その関係は表２のようになる。
【００２４】
【表２】
2010094021.tif 000004
【００２５】
したがって、異なる相電流が得られる２つのベクトルにおいてＤＣリンク電流Ｉｄｃを検出することで、モータ３に流れる全ての電流を知ることが出来る。零ベクトルについては、モータ端子が全て短絡された状態となることから、ＤＣリンク電流Ｉｄｃは０となる。
【００２６】
図７は電流検出回路に含まれる直線性誤差を説明する図、図８はオフセットによる誤差を説明する図である。本発明は、オフセットによる誤差を補正し、検出電流の正しい零レベルを得るものである。
【００２７】
図９はこの発明のモータ駆動方法の一実施形態の要部を説明するフローチャートである。
【００２８】
ステップＳＰ０において、Ｉｓｕｍの値を０に初期化し、ステップＳＰ１において、３相インバータ２の全てのスイッチングトランジスタをオフにし、ステップＳＰ２において、電流検出ポートのＡ／Ｄ変換を開始し、ステップＳＰ３において、電流検出ポートのＡ／Ｄ変換結果Ｉｚを読み込み、ステップＳＰ４において、ＩｓｕｍをＩｚだけ増加させ、ステップＳＰ５において、ｎ回のサンプルが終了したか否かを判定する。ただし、ｎは１以上の整数である。
【００２９】
そして、ｎ回のサンプルが終了したと判定されるまでは、再びステップＳＰ２の処理を行う。
【００３０】
また、ｎ回のサンプルが終了したと判定された場合には、ステップＳＰ６において、Ｉｓｕｍをｎで除算してＩｚｅｒｏを算出し、ステップＳＰ７において、Ｉｚｅｒｏを電流検出値の零レベルとし、そのまま一連の処理を終了する。
【００３１】
以上から分かるように、３相インバータ２およびモータ３が停止している状態においては、理論的にはＤＣリンク電流Ｉｄｃが０である為、検出したレベルを零レベルとすることができる。また、ノイズの影響が懸念される場合には、複数回検出した値を平均化して零レベルを求めることが好ましい。ここで、インバータの停止状態とは、全てのＳＷがＯＦＦしている状態のことである。
【００３２】
図１０はこの発明のモータ駆動方法の他の実施形態の要部を説明するフローチャートである。
【００３３】
ステップＳＰ０において、Ｉｓｕｍの値を０に初期化し、ステップＳＰ１において、３相インバータ２の下アームのスイッチングトランジスタを全てオンにし（電圧ベクトルＶ０を出力し）、ステップＳＰ２において、電流検出ポートのＡ／Ｄ変換を開始し、ステップＳＰ３において、電流検出ポートのＡ／Ｄ変換結果Ｉｚを読み込み、ステップＳＰ４において、ＩｓｕｍをＩｚだけ増加させ、ステップＳＰ５において、ｎ回のサンプルが終了したか否かを判定する。ただし、ｎは１以上の整数である。
【００３４】
そして、ｎ回のサンプルが終了したと判定されるまでは、再びステップＳＰ２の処理を行う。
【００３５】
また、ｎ回のサンプルが終了したと判定された場合には、ステップＳＰ６において、Ｉｓｕｍをｎで除算してＩｚｅｒｏを算出し、ステップＳＰ７において、Ｉｚｅｒｏを電流検出値の零レベルとし、そのまま一連の処理を終了する。
【００３６】
以上から分かるように、３相インバータ２は停止しているが、外部よりモータ３にトルクが与えられることでモータ３が回転している場合には、直流部電圧ＶＤＣの値によってはモータ３からの回生電流が流れてＤＣリンク電流Ｉｄｃが０とならないことがある。このような状態が起こり得ると考えられるときには、ＤＣリンク電流Ｉｄｃが必ず０となるようにインバータ出力を零ベクトルＶ０とし、この状態を保持して検出したレベルを零レベルとすることができる。また、ノイズの影響が懸念される場合には、複数回検出した値を平均化して零レベルを求めることが好ましい。
【００３７】
図１１はこの発明のモータ駆動方法のさらに他の実施形態の要部を説明するフローチャートである。
【００３８】
ステップＳＰ１において、モータ３の運転処理を行い、ステップＳＰ２において、零ベクトルＶ７における電流検出ポートのＡ／Ｄ変換結果Ｉｚを読み込み、ステップＳＰ３において、ＩｓｕｍをＩｚだけ増加させ、ステップＳＰ４において、ｎ回のサンプルが終了したか否かを判定する。ただし、ｎは１以上の整数である。
【００３９】
そして、ｎ回のサンプルが終了したと判定された場合には、ステップＳＰ５において、Ｉｓｕｍをｎで除算してＩｚｅｒｏを算出し、その後、Ｉｓｕｍの値を０に初期化し、ステップＳＰ６において、Ｉｚｅｒｏを電流検出値の零レベルとする。
【００４０】
また、ｎ回のサンプルが終了していないと判定された場合、またはステップＳＰ６の処理が行われた場合には、ステップＳＰ７において、次回の電流検出のタイミングを設定し、そのまま一連の処理を終了する。
【００４１】
以上から分かるように、インバータ駆動中においては、キャリア周期毎に繰返し現れる零ベクトルの期間中に検出を行い、この値を零レベルとする。図１２に検出を行うタイミングの一例を示す。また、ノイズの影響が懸念される場合には、複数回検出した値を平均化して零レベルを求めることが好ましい。
【００４２】
図１３はこの発明のモータ駆動方法のさらに他の実施形態の要部を説明するフローチャートである。
【００４３】
ステップＳＰ１において、モータ３の運転処理を行い、ステップＳＰ２において、零ベクトルＶ７の持続時間がＡ／Ｄサンプルに必要な時間以上であるか否かを判定する。
【００４４】
そして、零ベクトルＶ７の持続時間がＡ／Ｄサンプルに必要な時間以上であると判定された場合には、ステップＳＰ３において、零ベクトルＶ７における電流Ａ／Ｄ変換結果Ｉｚを読み込み、ステップＳＰ４において、ＩｓｕｍをＩｚだけ増加させ、ステップＳＰ５において、ｎ回のサンプルが終了したか否かを判定する。ただし、ｎは１以上の整数である。
【００４５】
そして、ｎ回のサンプルが終了したと判定された場合には、ステップＳＰ６において、Ｉｓｕｍをｎで除算してＩｚｅｒｏを算出し、その後、Ｉｓｕｍの値を０に初期化し、ステップＳＰ７において、Ｉｚｅｒｏを電流検出値の零レベルとする。
【００４６】
また、零ベクトルＶ７の持続時間がＡ／Ｄサンプルに必要な時間未満であると判定された場合、ｎ回のサンプルが終了していないと判定された場合、またはステップＳＰ７の処理が行われた場合には、ステップＳＰ８において、次回の電流検出のタイミングを設定し、そのまま一連の処理を終了する。
【００４７】
したがって、零レベルを正確に検出することができる。また、ノイズの影響が懸念される場合には、複数回検出した値を平均化して零レベルを求めることが好ましい。
【００４８】
図１４はこの発明のモータ駆動方法のさらに他の実施形態の要部を説明するフローチャートである。
【００４９】
ステップＳＰ１において、モータ３の運転処理を行い、ステップＳＰ２において、零ベクトルにおける電流Ａ／Ｄ変換結果Ｉｚを読み込み、ステップＳＰ３において、ＩｓｕｍをＩｚだけ増加させ、ステップＳＰ４において、ｎ回のサンプルが終了したか否かを判定する。ただし、ｎは１以上の整数である。
【００５０】
そして、ｎ回のサンプルが終了したと判定された場合には、ステップＳＰ５において、Ｉｓｕｍをｎで除算してＩｚｅｒｏを算出し、その後、Ｉｓｕｍの値を０に初期化し、ステップＳＰ６において、Ｉｚｅｒｏを電流検出値の零レベルとする。
【００５１】
また、ｎ回のサンプルが終了していないと判定された場合、またはステップＳＰ６の処理が行われた場合には、ステップＳＰ７において、次回の零ベクトルの持続時間がＡ／Ｄサンプルに必要な時間以上であるか否かを判定する。
【００５２】
そして、零ベクトルの持続時間がＡ／Ｄサンプルに必要な時間未満であると判定された場合には、ステップＳＰ８において、挿入する零ベクトルを選択し、ステップＳＰ９において、零ベクトルの挿入を要求する。
【００５３】
また、零ベクトルの持続時間がＡ／Ｄサンプルに必要な時間以上であると判定された場合、またはステップＳＰ９の処理が行われた場合には、ステップＳＰ１０において、次回の電流検出のタイミングを設定し、そのまま一連の処理を終了する。
【００５４】
さらに説明する。
【００５５】
ＰＷＭインバータでは、出力電圧が大きくなると零ベクトルの時間が短くなり（図１５参照）、変調率が最大となるときにはその時間は０になる（図１６参照）。一方、Ａ／Ｄ変換器のホールドに必要な時間以下では、正しいＡ／Ｄ変換結果を得ることは出来ない。したがって、零レベルを検出するのに十分な時間の零ベクトルが全く現れない場合には、強制的に零ベクトルを挿入して零レベルの検出を行うことができる。
【００５６】
また、ステップＳＰ８における挿入すべき零ベクトルの選択は、表３に示すように、出力電圧ベクトルに対応して行うことが好ましく、変化させるべきスイッチングトランジスタの数を必要最小限にすることができ、ノイズの発生を少なくするとともに、スイッチング損失を少なくすることができる。
【００５７】
【表３】
2010094021.tif 000005
【００５８】
図１７はこの発明のモータ駆動方法のさらに他の実施形態の要部を説明するフローチャートである。
【００５９】
ステップＳＰ１において、モータ３の運転処理を行い、ステップＳＰ２において、零ベクトルの持続時間がＡ／Ｄサンプルに必要な時間以上であるか否かを判定する。
【００６０】
そして、零ベクトルの持続時間がＡ／Ｄサンプルに必要な時間以上であると判定された場合には、ステップＳＰ３において、零ベクトルにおける電流Ａ／Ｄ変換結果Ｉｚを読み込み、ステップＳＰ４において、ＩｓｕｍをＩｚだけ増加させ、ステップＳＰ５において、頻度を規定するパラメータＩを０にリセットし、ステップＳＰ６において、ｎ回のサンプルが終了したか否かを判定する。ただし、ｎは１以上の整数である。
【００６１】
そして、ｎ回のサンプルが終了したと判定された場合には、ステップＳＰ７において、Ｉｓｕｍをｎで除算してＩｚｅｒｏを算出し、その後、Ｉｓｕｍの値を０に初期化し、ステップＳＰ８において、Ｉｚｅｒｏを電流検出値の零レベルとする。
【００６２】
また、ステップＳＰ２において零ベクトルの持続時間がＡ／Ｄサンプルに必要な時間未満であると判定された場合には、ステップＳＰ９において、パラメータＩを１だけインクリメントし、ステップＳＰ１０において、パラメータＩがｋ以上であるか否かを判定する。ただし、ｋは１以上の整数である。
【００６３】
そして、パラメータＩがｋ以上であると判定された場合には、ステップＳＰ１１において、挿入する零ベクトルを選択し、ステップＳＰ１２において、零ベクトルの挿入を要求する。
【００６４】
また、ｎ回のサンプルが終了していないと判定された場合、パラメータＩがｋ未満であると判定された場合、ステップＳＰ８の処理が行われた場合、またはステップＳＰ１２の処理が行われた場合には、ステップＳＰ１３において、次回の電流検出のタイミングを設定し、そのまま一連の処理を終了する。
【００６５】
この実施形態は、頻繁に零ベクトルを挿入すると、電圧利用率の低下および制御性能の低下を引き起こす可能性がある場合に好適なものであり、強制的な零ベクトルの挿入を必要最小限に止めることができる。
【００６６】
図１８はこの発明のモータ駆動方法のさらに他の実施形態の要部を説明するフローチャートである。
【００６７】
ステップＳＰ１において、モータ３の運転処理を行い、ステップＳＰ２において、周囲温度（３相インバータなどの周囲温度）Ｔａを検出し、ステップＳＰ３において、零ベクトルの持続時間がＡ／Ｄサンプルに必要な時間以上であるか否かを判定する。
【００６８】
そして、零ベクトルの持続時間がＡ／Ｄサンプルに必要な時間以上であると判定された場合には、ステップＳＰ４において、零ベクトルにおける電流Ａ／Ｄ変換結果Ｉｚを読み込み、ステップＳＰ５において、ＩｓｕｍをＩｚだけ増加させ、ステップＳＰ６において、ｎ回のサンプルが終了したか否かを判定する。ただし、ｎは１以上の整数である。
【００６９】
そして、ｎ回のサンプルが終了したと判定された場合には、ステップＳＰ７において、Ｉｓｕｍをｎで除算してＩｚｅｒｏを算出し、その後、Ｉｓｕｍの値を０に初期化し、ステップＳＰ８において、Ｉｚｅｒｏを電流検出値の零レベルとし、ステップＳＰ９において、検出した周囲温度Ｔａを過去の周囲温度Ｔａ０に代入し、ステップＳＰ１０において、ｎ回のサンプルが終了したことを示すフラグｆ＃  Ｉｚを１にセットする。
【００７０】
また、ステップＳＰ３において零ベクトルの持続時間がＡ／Ｄサンプルに必要な時間未満であると判定された場合には、ステップＳＰ１１において、今回検出した周囲温度Ｔａと過去の周囲温度Ｔａ０との差の絶対値が所定の温度差ΔＴｍａｘ以上であるか否かを判定する。
【００７１】
そして、今回検出した周囲温度Ｔａと過去の周囲温度Ｔａ０との差の絶対値が所定の温度差ΔＴｍａｘ以上であると判定された場合には、ステップＳＰ１２において、フラグｆ＃  Ｉｚを０にセットする。
【００７２】
また、今回検出した周囲温度Ｔａと過去の周囲温度Ｔａ０との差の絶対値が所定の温度差ΔＴｍａｘ未満であると判定された場合、またはステップＳＰ１２の処理が行われた場合には、ステップＳＰ１３において、フラグｆ＃  Ｉｚが０か否かを判定する。
【００７３】
そして、フラグｆ＃  Ｉｚが０であると判定された場合には、ステップＳＰ１４において、挿入する零ベクトルを選択し、ステップＳＰ１５において、零ベクトルの挿入を要求する。
【００７４】
また、ｎ回のサンプルが終了していないと判定された場合、フラグｆ＃  Ｉｚが０でないと判定された場合、ステップＳＰ１０の処理が行われた場合、またはステップＳＰ１５の処理が行われた場合には、ステップＳＰ１６において、次回の電流検出のタイミングを設定し、そのまま一連の処理を終了する。
【００７５】
さらに説明する。
インバータ停止中に零レベルの補正を行っている場合、インバータ駆動中に検出回路のオフセット量が変化する要因は主に温度によるものである。したがって、回路の温度変化を直接見ることが出来る場合には、温度変化によるオフセット量の変化が電流誤差の許容範囲を超えそうだと判断された時に零ベクトルの挿入と零レベルの補正を行えばよい。回路の温度変化を直接見ることが出来ない場合には、周囲温度、インバータ出力電流、インバータ出力電力等から回路の温度変化を推測して零ベクトルの挿入と零レベルの補正とを行うことができる。
【００７６】
具体的には、電流零における検出回路出力Ｖ０の温度特性が図１９に示すように与えられるのであるから、最大の変化量を示す特性に基づいて、許容誤差に対応する所定の温度差ΔＴｍａｘを得ることができ、この温度差ΔＴｍａｘを用いて零ベクトルの挿入と零レベルの補正とを行うべきか否かを判定することができる。
【００７７】
また、一つの零ベクトルの持続時間ではＡ／Ｄ変換に不十分であっても、近接する零ベクトルを一箇所に集めることで十分な時間を得られる場合には、変調率を変えることなく、零ベクトル期間の拡張を達成することが可能である（図２０参照）。
【００７８】
さらに、相補ＰＷＭインバータでは、上下アームの短絡を防止する為に、スイッチングトランジスタの切り替わり時には上下共にＯＦＦ状態とするデットタイム期間が存在する（図２１中のデッドタイムｔｄを参照）。そして、ゲート信号の状態にて零ベクトルを出力すると、必ず２回のデットタイム期間を伴う為、強制的な零ベクトルの挿入時におけるインバータ出力電圧の変動が大きくなる。そこで、少しでもインバータ出力電圧の変動を抑える為に次のようなゲート駆動を行うことが好ましい。
【００７９】
図２２はＷ相のスイッチングトランジスタを上下アーム共にＯＦＦとすることで、インバータ出力電圧がベクトルから零ベクトルに変わる様子を示す図である。このように、モータを流れている電流の方向が分かっているときには、ある相のスイッチングトランジスタを上下アーム共にＯＦＦとすることで零ベクトルを発生させることができ、この期間を検出に必要な時間とすることでインバータ出力電圧の変動を最小限に抑えることが可能になる。モータ電流の方向と上下のスイッチングトランジスタをＯＦＦとする相の選択方法を表４に示す。
【００８０】
【表４】
2010094021.tif 000006
【００８１】
図２３および図２４はこの発明のモータ駆動方法のさらに他の実施形態の要部を説明するフローチャートである。
【００８２】
ステップＳＰ１において、ＤＣリンクの電流を検出し、ステップＳＰ２において、モータの運転処理を行い、ステップＳＰ３において、各相の電流振幅Ｉｕ＃ａｍｐ、Ｉｖ＃ａｍｐ、ＩＷ＃ａｍｐを演算し、ステップＳＰ４において、インバータ出力電圧ベクトルの組み合わせが変化したか否かを判定する。
【００８３】
そして、インバータ出力電圧ベクトルの組み合わせが変化したと判定された場合には、ステップＳＰ５において、ｒｅ０からｒｅ１に変化したか否かを判定し、ｒｅ０からｒｅ１には変化していないと判定された場合には、ステップＳＰ７において、ｒｅ１からｒｅ２に変化したか否かを判定し、ｒｅ１からｒｅ２には変化していないと判定された場合には、ステップＳＰ９において、ｒｅ２からｒｅ３に変化したか否かを判定し、ｒｅ２からｒｅ３には変化していないと判定された場合には、ステップＳＰ１１において、ｒｅ３からｒｅ４に変化したか否かを判定し、ｒｅ３からｒｅ４には変化していないと判定された場合には、ステップＳＰ１３において、ｒｅ４からｒｅ５に変化したか否かを判定し、ｒｅ４からｒｅ５には変化していないと判定された場合には、ステップＳＰ１５において、ｒｅ５からｒｅ０に変化したか否かを判定する。
【００８４】
ステップＳＰ５においてｒｅ０からｒｅ１に変化したと判定された場合には、ステップＳＰ６において、ΔＩ＝｛（Ｉｕ＃ａｍｐ−Ｉｕ＃ａｍｐ＃ｏｌｄ）＋（Ｉｖ＃ａｍｐ＃ｏｌｄ−Ｉｖ＃ａｍｐ）｝／２の演算を行ってΔＩを算出する。
【００８５】
ステップＳＰ７においてｒｅ１からｒｅ２に変化したと判定された場合には、ステップＳＰ８において、ΔＩ＝｛（Ｉｕ＃ａｍｐ−Ｉｕ＃ａｍｐ＃ｏｌｄ）＋（ＩＷ＃ａｍｐ＃ｏｌｄ−ＩＷ＃ａｍｐ）｝／２の演算を行ってΔＩを算出する。
【００８６】
ステップＳＰ９においてｒｅ２からｒｅ３に変化したと判定された場合には、ステップＳＰ１０において、ΔＩ＝｛（Ｉｖ＃ａｍｐ−Ｉｖ＃ａｍｐ＃ｏｌｄ）＋（ＩＷ＃ａｍｐ＃ｏｌｄ−ＩＷ＃ａｍｐ）｝／２の演算を行ってΔＩを算出する。
【００８７】
ステップＳＰ１１においてｒｅ３からｒｅ４に変化したと判定された場合には、ステップＳＰ１２において、ΔＩ＝｛（Ｉｖ＃ａｍｐ−Ｉｖ＃ａｍｐ＃ｏｌｄ）＋（Ｉｕ＃ａｍｐ＃ｏｌｄ−Ｉｕ＃ａｍｐ）｝／２の演算を行ってΔＩを算出する。
【００８８】
ステップＳＰ１３において、ｒｅ４からｒｅ５に変化したと判定された場合には、ステップＳＰ１４において、ΔＩ＝｛（ＩＷ＃ａｍｐ−ＩＷ＃ａｍｐ＃ｏｌｄ）＋（Ｉｕ＃ａｍｐ＃ｏｌｄ−Ｉｕ＃ａｍｐ）｝／２の演算を行ってΔＩを算出する。
【００８９】
ステップＳＰ１５において、ｒｅ５からｒｅ０に変化したと判定された場合には、ステップＳＰ１６において、ΔＩ＝｛（ＩＷ＃ａｍｐ−ＩＷ＃ａｍｐ＃ｏｌｄ）＋（Ｉｖ＃ａｍｐ＃ｏｌｄ−Ｉｖ＃ａｍｐ）｝／２の演算を行ってΔＩを算出する。
【００９０】
そして、ステップＳＰ６の処理、ステップＳＰ８の処理、ステップＳＰ１０の処理、ステップＳＰ１２の処理、ステップＳＰ１４の処理、またはステップＳＰ１６の処理が行われた場合には、ステップＳＰ１７において、電流検出値の零レベルにΔＩを加算する。
【００９１】
また、ステップＳＰ４においてインバータ出力電圧ベクトルの組み合わせが変化していないと判定された場合、ステップＳＰ１５において、ｒｅ５からｒｅ０には変化していないと判定された場合、またはステップＳＰ１７の処理が行われた場合には、ステップＳＰ１８において、演算された各相の電流振幅Ｉｕ＃ａｍｐ、Ｉｖ＃ａｍｐ、ＩＷ＃ａｍｐをそれぞれ過去の各相の電流振幅Ｉｕ＃ａｍｐ＃ｏｌｄ、Ｉｖ＃ａｍｐ＃ｏｌｄ、ＩＷ＃ａｍｐ＃ｏｌｄとし、そのまま一連の処理を終了する。
【００９２】
さらに説明する。
【００９３】
ＤＣリンクからモータ電流検出を行う場合、通常一つの回路を用いて、異なる２つの電圧ベクトルにおける電流を検出することで２つの相電流を得、残る１相については検出した２相より計算できる。このことから、直接読み取れる２つの相電流には同じオフセット量が含まれており、残る１相の電流は計算によりオフセット量が相殺されることが分かる。その様子を図２５に示す。
【００９４】
したがって、同一の相電流において、検出値から直接読み取った時と計算により得られた時の交流電流振幅の変化量を求めることで、検出回路のオフセット量を得て検出電流の零レベルの補正を行うことが可能となる。
【００９５】
図２６は検出回路に＋ΔＩ相当のオフセット誤差を生じたときに検出電流に現れる誤差を示している。また、図２７は検出回路に−ΔＩ相当のオフセット誤差を生じたときに検出電流に現れる誤差を示している。
【００９６】
なお、以上には、零レベルを検出する処理を主として説明し、検出電流の補正、補正後の電流値を用いる回転子の磁極位置検出、磁極位置を基準とするインバータ制御演算などについては詳細な説明を省略している。これは、後者の処理が公知だからである。
【００９７】
もちろん、上記の各実施形態の処理をハードウエアにより達成することができる。
【００９８】
また、検出回路の増幅器に入力電圧オフセットの大きなオペアンプを使える等、検出回路を安価に構成できる。さらに、電流検出精度の向上により、インバータ、モータ制御の性能を向上させることができる。
【００９９】
〈作用〉
請求項１のモータ駆動方法であれば、検出手段を用いてインバータからモータに供給されるモータ電圧およびモータ電流を検出し、検出したモータ電圧、モータ電流、および予め設定したモータモデルを用いてモータの回転子の磁極位置を検出し、検出した磁極位置を基準としてインバータを制御するに当たって、前記モータ電流の検出値を補正するために、前記モータを駆動しない期間中に、前記インバータから零ベクトルを出力して、前記モータ電流を検出する検出手段からの出力を零レベルとして検出するのであるから、モータを積極的には運転していない状態においても零レベルを精度よく検出することができ、ひいてはモータの回転子の磁極位置を精度よく検出することができる。
【０１００】
したがって、零レベルを精度よく検出することができ、ひいてはモータの回転子の磁極位置を精度よく検出し、モータの高効率な運転を達成することができる。
【０１０１】
請求項２のモータ駆動装置であれば、検出手段を用いてインバータからモータに供給されるモータ電圧およびモータ電流を検出し、検出したモータ電圧、モータ電流、および予め設定したモータモデルを用いてモータの回転子の磁極位置を検出し、検出した磁極位置を基準としてインバータを制御するに当たって、前記モータ電流の検出値を補正するために、零レベル検出手段によって、前記モータを駆動しない期間中に、前記インバータから零ベクトルを出力して、前記モータ電流を検出する検出手段からの出力を零レベルとして検出することができる。
【０１０２】
したがって、モータを積極的には運転していない状態においても零レベルを精度よく検出することができ、ひいてはモータの回転子の磁極位置を精度よく検出することができる。
【符号の説明】
【０１０３】
２  ３相インバータ    ３  モータ
４  電流検出回路    ５  制御回路
【図１】
2010094021.tif 000007
【図２】
2010094021.tif 000008
【図３】
2010094021.tif 000009
【図４】
2010094021.tif 000010
【図５】
2010094021.tif 000011
【図６】
2010094021.tif 000012
【図７】
2010094021.tif 000013
【図８】
2010094021.tif 000014
【図９】
2010094021.tif 000015
【図１０】
2010094021.tif 000016
【図１１】
2010094021.tif 000017
【図１２】
2010094021.tif 000018
【図１３】
2010094021.tif 000019
【図１４】
2010094021.tif 000020
【図１５】
2010094021.tif 000021
【図１６】
2010094021.tif 000022
【図１７】
2010094021.tif 000023
【図１８】
2010094021.tif 000024
【図１９】
2010094021.tif 000025
【図２０】
2010094021.tif 000026
【図２１】
2010094021.tif 000027
【図２２】
2010094021.tif 000028
【図２３】
2010094021.tif 000029
【図２４】
2010094021.tif 000030
【図２５】
2010094021.tif 000031
【図２６】
2010094021.tif 000032
【図２７】
2010094021.tif 000033