本発明に係る電動機の制御装置を含む装置の一例として、インバータからモータへ出力する電圧を矩形波状に制御する矩形波制御と、上記電圧を擬似正弦波状に制御するPWM制御とを切替えるインバータシステムについて説明する。以下に、本発明の第1乃至第6の実施形態に係るインバータシステムについて、図1乃至図21を参照して説明する。
(第1の実施形態)
(インバータシステムの構成)
以下、図1を参照して、インバータシステムの構成と動作について説明する。図1は、本発明の第1の実施形態に係るインバータシステムの概略構成図である。本インバータシステムは、図1に示すように、インバータ1、電流センサ2、電動機であるモータ3および制御装置であるコントローラ10を主に備える。ここで、インバータ1は、直流電源B、U相スイッチング素子Tu+、Tu−、V相スイッチング素子Tv+、Tv−、W相スイッチング素子Tw+、Tw−を備える。更に、U相還流素子Du+、Du−、V相還流素子Dv+、Dv−、W相還流素子Dw+、Dw−を備える。
そして、インバータ1は、コントローラ10の駆動信号P(図2参照)に基づいて、直流電源Bから供給された直流電圧値Vdc[V](図2参照)を矩形波状または擬似正弦波状に変換する。ここで、駆動信号Pは、インバータ1のスイッチング素子Tu+、Tu−、Tv+、Tv−、Tw+、Tw−のON・OFF動作を制御している。なお、スイッチング素子Tu+、Tu−、Tv+、Tv−、Tw+、Tw−はIGBT等の半導体素子である。一方、還流素子Du+、Du−、Dv+、Dv−、Dw+、Dw−はダイオードである。モータ3は、インバータ1から供給された矩形波状または擬似正弦波状の出力電圧Vu[V]、Vv[V]、Vw[V](図3参照)に応じたトルクを発生する。電流センサ2は、モータ3に流れる3相電流を検出する。ここで、3相電流は、全電流を合計すると0[A]になる。すなわち、3相のうち2相を検出すれば他の1相は演算によって求められる。これから、電流センサ2は、3相のうち2相を検出している。
次に、コントローラ10の内部構成について、図2を参照して説明する。図2は、図1に示すコントローラ10の内部構成を示す制御ブロック図である。コントローラ10は、演算装置(CPU)を内蔵し、図2に示すように、αテーブル参照部101、第1のフィルタ演算手段であるαフィルタ演算部102および切替手段であるスイッチ部103を備える。更に、パルス幅変調制御手段であるPWM制御部105、矩形波制御手段である矩形波生成部107、スイッチ部108、タイマユニット109、フラグ制御部110を備えている。ここで、αテーブル参照部101は、トルク指令値T[N・m]、モータ回転数N[rpm]および直流電圧値Vdc[V]に基づいて、予め格納されたテーブルを参照する。そして、当該テーブルから、変動抑制前電圧位相指令値α’*を求める。αフィルタ演算部102は、伝達関数1/(τs+1)を用いて、変動抑制前電圧位相指令値α’*の変動を抑制する。なお、時定数τは数ms程度である。
スイッチ部103は、αフィルタ演算部102により変動を抑制された上記電圧位相指令値α*を、PWM制御部105または矩形波生成部107へ出力する。後述するように、フラグ制御部110の矩形波フラグが1になった場合、スイッチ部103は、PWM制御部105で生成される次回制御周期指令の演算タイミングにおいて、接点を端子Bから端子Aへ切替える。そして、電圧位相指令値α*を矩形波生成部107へ出力する。一方、フラグ制御部110の矩形波フラグが1から0へ変化した場合、スイッチ部103は、矩形波生成部107で生成される次回制御周期指令の演算タイミングにおいて、接点を端子Aから端子Bへ切替える。そして、電圧位相指令値α*をPWM制御部105へ出力する。
PWM制御部105は、インバータ1からモータ3へ出力する出力電圧Vu[V]、Vv[V]、Vw[V](図3参照)が擬似正弦波状になるように、スイッチング素子Tu+、Tu−、Tv+、Tv−、Tw+、Tw−を制御する。これを、PWM制御とする。具体的には、PWM制御部105は、vd、vq指令演算部1051、2相/3相変換部1052およびPWM生成部1053からなる。ここで、vd、vq指令演算部1051は、図2に示したように、直流電圧値Vdc[V]および電圧位相指令値α*からd軸電圧指令値vd[V]およびq軸電圧指令値vq[V]を演算する。2相/3相変換部1052は、回転子位相θにより、d軸電圧指令値vd[V]およびq軸電圧指令値vq[V]を3相電圧指令値vu[V]、vv[V]、vw[V]に変換する。PWM生成部1053は、3相電圧指令値vu[V]、vv[V]、vw[V]と三角波状のキャリア信号(図3参照)の大小関係を比較する。その大小関係に応じて3相比較値を生成する。また、PWM生成部1053は、所定の制御周期であるPWM周期Tpwm(図4参照)を演算し、次回演算タイミングを演算し、次回制御周期指令を生成する。
一方、矩形波生成部107は、インバータ1からモータ3へ出力する出力電圧Vu[V]、Vv[V]、Vw[V]が矩形波状になるように、スイッチング素子Tu+、Tu−、Tv+、Tv−、Tw+、Tw−を制御する。これを、矩形波制御とする。具体的には、矩形波生成部107は3相比較値を生成する。また、PWM制御部105と同様に、矩形波生成部107も、次回制御周期を演算し、次回演算タイミングを演算し、次回制御周期指令を生成する。また、矩形波生成部107は、後述するように、今回演算タイミングに対する次々回演算タイミングの誤差Δα(n+3)(図3参照)を、演算タイミング毎に演算する。
更に、後述するように、スイッチ部103における矩形波生成部107からPWM制御部105への切替えが行われる場合、矩形波生成部107は、補正した値である実際の電圧位相α(n+3)で、αフィルタ演算部102を初期化する。ここで、初期化とは、実際の電圧位相α(n+3)を入力して、無限時間経過した状態にすることである。
スイッチ部108は、スイッチ部103と同期して動作する。すなわち、矩形波フラグが1になった場合、スイッチ部108は、スイッチ部103の動作タイミングに合わせて、接点を端子Bから端子Aへ切替える。そして、矩形波生成部107により生成された3相比較値および次回制御周期指令をタイマユニット109へ出力する。一方、矩形波フラグが1から0へ変化した場合、スイッチ部108は、スイッチ部103の動作タイミングに合わせて、接点を端子Aから端子Bへ切替える。そして、PWM制御部105により生成された3相比較値および次回制御周期指令をタイマユニット109へ出力する。タイマユニット109は、次回制御周期指令の演算タイミングに合わせて、3相比較値に基づく駆動信号Pをインバータ1へ出力する。上述したように、駆動信号Pは、インバータ1のスイッチング素子Tu+、Tu−、Tv+、Tv−、Tw+、Tw−のON・OFF動作を制御している。これから、次回制御周期指令の演算タイミングとスイッチング素子Tu+、Tu−、Tv+、Tv−、Tw+、Tw−のスイッチングタイミングは等しくなる。
フラグ制御部110は、矩形波フラグを格納し、矩形波フラグに基づいてスイッチ部103および108の動作を制御する。具体的には、フラグ制御部110は、矩形波フラグが1になった場合、スイッチ部103および108の接点を端子Bから端子Aへ切替えさせる。これから、矩形波生成部107に、出力電圧Vu[V]、Vv[V]、Vw[V]を矩形波状に制御する矩形波制御を実行させる。一方、フラグ制御部110は、矩形波フラグが1から0へ変化した場合、スイッチ部103および108の接点を端子Aから端子Bへ切替えさせる。これから、PWM制御部105に、出力電圧Vu[V]、Vv[V]、Vw[V]を擬似正弦波状に制御するPWM制御を実行させる。
(矩形波生成部107の矩形波制御の演算)
次に、矩形波生成部107で実行される矩形波制御ための演算について、図3を参照して説明する。図3は、図2に示す矩形波生成部107で実行される矩形波制御の出力を示すタイミングチャートである。図3では、キャリア信号、出力電圧Vu[V]、Vv[V]、Vw[V]、スイッチングタイミング、演算タイミング、回転子位相θおよび実際のモータ角周波数ωre[rad/s]の一例を示している。上記の通り、演算タイミングとスイッチング素子Tu+、Tu−、Tv+、Tv−、Tw+、Tw−のスイッチングタイミングは一致している。すなわち、n(n=1、2、・・)回目スイッチングタイミングで前回演算が実行され、(n+1)回目スイッチングタイミングで今回演算が実行されている。(n+2)回目スイッチングタイミングで次回演算が実行され、(n+3)回目スイッチングタイミングで次々回演算が実行される。なお、各スイッチングタイミングで、出力電圧Vu[V]、Vv[V]、Vw[V]のいずれかが反転する。
図3に示すように、第1の実施形態では、(n+1)回目スイッチングタイミング、すなわち、今回演算タイミングにおいて、実際のモータ角周波数ωre[rad/s]が急変した場合を想定している。この場合、矩形波生成部107は、現在の回転子位相θ、モータ回転数N[rpm]および今回制御周期tnowに基づいて、(n+2)回目スイッチングタイミングである次回演算タイミングにおける回転子位相θnextを演算する。ここで、(n+1)回目制御周期である今回制御周期tnowは、n回目スイッチングタイミング、すなわち、前回演算タイミングにおいて、矩形波生成部107により演算されている。上記のように、今回演算タイミングにおいて、αフィルタ演算部102は、変動抑制前電圧位相指令値α’*の変動を抑制し、次回演算タイミングにおける電圧位相指令値α*(n+2)を求める。
今回演算タイミングにおいて、矩形波生成部107は、電圧位相指令値α*(n+2)に基づいて、(n+2)回目の目標スイッチングタイミングにおける回転子位相目標値θ*nextを演算する。次に、矩形波生成部107は、回転子位相θnextと回転子位相目標値θ*nextとの誤差Δθを求める。このようにして、誤差Δθを演算している。次に、今回演算タイミングにおいて、矩形波生成部107は、次回制御周期tnextを演算する。次回制御周期tnextは、今回制御周期tnowと同じである。しかし、今回演算タイミングにおいて、実際のモータ角周波数ωre[rad/s]が急変したため、次回演算タイミングにおいて、回転子位相目標値θ*nextとの誤差Δθが発生している。このため、誤差Δθに基づいて、次回制御周期tnextを補正する必要がある。
ここで、所定値である補正係数K(0.1〜0.5前後)を誤差Δθに乗算してから補正する処理を実行する。すなわち、次回演算タイミングで演算される誤差Δθを次々回演算タイミング1回で補正する訳ではなく、補正量をK倍して数制御周期かけて補正していく。具体的には、今回演算タイミングにおいて、矩形波生成部107は、誤差ΔθをK倍した補正量KΔθを次回制御周期tnextに加算して、補正後の次回制御周期tnext’を演算する。そして、(n+2)回目スイッチングタイミング、すなわち、次回演算タイミングにおいて、矩形波生成部107は、キャリア信号の1周期を補正後の次回制御周期tnext’に合わせる。更に、矩形波生成部107は、(n+3)回目スイッチングタイミング、すなわち、次々回演算タイミングを、補正後の次回制御周期tnext’から演算する。
次に、電圧位相指令値α*を誤差Δθに基づいて補正した値である実際の電圧位相αと誤差Δαについて説明する。図3に示したように、前回演算タイミングおよび今回演算タイミングにおいて、誤差Δαは0である。すなわち、前回演算タイミングにおいて、実際の電圧位相αnと電圧位相指令値α*nは等しい。また、今回演算タイミングにおいて、実際の電圧位相α(n+1)と電圧位相指令値α*(n+1)は等しい。一方、次回演算タイミングにおいて、上記のように、誤差Δθが発生しているので、誤差Δα(n+2)=誤差Δθである。すなわち、次回演算タイミングにおいて、実際の電圧位相α(n+2)=電圧位相指令値α*(n+2)+誤差Δα(n+2)=電圧位相指令値α*(n+2)+誤差Δθである。
また、図3に示したように、次々回演算タイミングにおいて、誤差Δα(n+3)=Δθ(1−K)である。すなわち、次々回演算タイミングにおいて、実際の電圧位相α(n+3)=電圧位相指令値α*(n+3)+誤差Δα(n+3)=電圧位相指令値α*(n+3)+Δθ(1−K)である。ただし、今回演算タイミングから次々回演算タイミングまでの間、モータ回転数N[rpm]が一定という前提で、誤差Δθや補正後の次回制御周期tnext’を演算している。よって、今回演算タイミングから次々回演算タイミングまでの時間が短いほど、今回演算タイミングに対する次々回演算タイミングの誤差Δα(n+3)の演算精度はあがる。
(矩形波生成部107からPWM制御部105への切替え処理)
次に、第1の実施形態における、矩形波制御する矩形波生成部107からPWM制御するPWM制御部105への切替え処理について、図4を参照して説明する。図4は、図1に示すコントローラ10における矩形波/PWM制御の切替え処理による出力を示すタイミングチャートである。図4では、出力電圧Vu[V]、Vv[V]、Vw[V]、キャリア信号、スイッチング素子Tu+、Tu−、Tv+、Tv−、Tw+、Tw−のスイッチングタイミングを示している。ここで、図4における(n+3)回目スイッチングタイミングの左側は、矩形波生成部107による矩形波制御を、右側はPWM制御部105によるPWM制御を示している。なお、各スイッチングタイミングで、出力電圧Vu[V]、Vv[V]、Vw[V]のいずれかが反転している。
図4に示すように、(n+1)回目スイッチングタイミングまで、矩形波生成部107で実行される矩形波制御ための演算(以下、矩形波演算とする。)が実行されている。(n+2)回目スイッチングタイミングにおいて、矩形波生成部107からPWM制御部105への切替えを行っている。その後、PWM制御部105で実行されるPWM制御のための演算(以下、PWM演算とする。)が実行されている。しかし、PWM制御部105によってPWM制御が開始されるのは、(n+3)回目スイッチングタイミング以降である。上述したように、(n+3)回目制御周期であるPWM周期Tpwmは、(n+2)回目スイッチングタイミングにおいて、PWM制御部105により演算される。このため、(n+2)回目スイッチングタイミングにおいて、矩形波生成部107からPWM制御部105への切替えを行っても、(n+2)回目スイッチングタイミングからPWM制御を開始することはできない。1スイッチングタイミング遅れて、PWM制御は開始される。そして、(n+3)回目スイッチングタイミング以降、PWM制御部105は、PWM制御するため、キャリア信号の1周期をPWM周期Tpwmに合わせている。
ここで、矩形波制御からPWM制御へ切替える際、具体的には、矩形波演算からPWM演算へ切替える際、モータ回転数N[rpm]が急変した場合、トルクが振動する可能性があった。そこで、第1の実施形態に係る矩形波生成部107では、(n+1)回目スイッチングタイミングに対する(n+3)回目スイッチングタイミングの誤差Δα(n+3)=Δθ(1−K)を、演算タイミング毎に演算している。すなわち、図3に示したように、(n+1)回目スイッチングタイミングにおいて、モータ回転数N[rpm]が急変し、その直後〜(n+3)回目スイッチングタイミングまで、モータ回転数N[rpm]が一定の場合を想定している。
また、上記のように、(n+2)回目スイッチングタイミングにおいて、αフィルタ演算部102は、変動抑制前電圧位相指令値α’*の変動を抑制する。そして、αフィルタ演算部102は、(n+3)回目スイッチングタイミングにおける電圧位相指令値α*(n+3)を、スイッチ部103を介して、矩形波生成部107へ出力する。矩形波生成部107は、(n+2)回目スイッチングタイミングにおいて、(n+3)回目スイッチングタイミングにおける実際の電圧位相α(n+3)=電圧位相指令値α*(n+3)+Δθ(1−K)を演算する。次に、矩形波生成部107は、αフィルタ演算部102を実際の電圧位相α(n+3)で初期化する。その後、(n+2)回目スイッチングタイミングにおいて、スイッチ部103は、矩形波生成部107からPWM制御部105への切替えを行う。切換え直後、PWM制御部105は、実際の電圧位相α(n+3)を用いて、PWM制御する。
次に、図4に示す切替え処理を実行した場合の効果について、図5および図6を参照して説明する。図5は、図4に示す切替え処理を実行した時の実際の電圧位相αを示す図、図6は、図4に示す切替え処理を実行した時のモータ回転数N[rpm]と出力電力Pnt[kw]を示す図である。図5(a)に示す従来技術では、(n+3)回目スイッチングタイミングで、矩形波制御の電圧位相指令値α*(n+3)をそのままPWM制御の電圧位相指令値α*として用いている。矩形波制御からPWM制御への切替え時近傍において、図6(a)に示すようにモータ回転数N[rpm]が急変した場合、誤差Δα(n+3)が発生する。図5(a)に示したように、誤差Δα(n+3)により、実際の電圧位相αがステップ状に変化する。実際の電圧位相αがステップ状に変化した場合、矩形波制御からPWM制御への切替え後、出力電力Pnt[kw]が振動する。すなわち、トルクが振動する。
一方、上述したように、第1の実施形態では、(n+1)回目スイッチングタイミングで、矩形波生成部107は誤差Δα(n+3)=Δθ(1−K)を演算する。(n+2)回目スイッチングタイミングで、矩形波生成部107は、実際の電圧位相α(n+3)=電圧位相指令値α*(n+3)+誤差Δα(n+3)を演算し、実際の電圧位相α(n+3)でαフィルタ演算部102を初期化する。初期化後、スイッチ部103は、矩形波生成部107からPWM制御部105への切替えを行う。切替え直後、αフィルタ演算部102からスイッチ部103を介してPWM制御部105へ出力された電圧位相指令値α*は、図5(b)に示すように、実際の電圧位相α(n+3)と等しくなる。更に、図5(b)に示したように、αフィルタ演算部102のフィルタ作用により、実際の電圧位相αのステップ状の急峻な変化が緩和する。これから、図6(b)に示すように、モータ回転数N[rpm]が急変した場合でも、出力電力Pnt[kw]の振動を抑制できる。よって、トルク振動を抑制することができる。
(コントローラ10で実行される制御方法)
次に、第1の実施形態に係るコントローラ10で実行される制御方法について、図7を参照して説明する。図7は、図1に示すコントローラ10で実行される制御方法を示すフローチャートである。本制御方法は、図7に示すフローチャートのプログラムをコントローラ10に組み込み実現している。なお、図3に示したように、(n+1)回目スイッチングタイミングにおいて、実際のモータ角周波数ωre[rad/s]が急変した場合を想定する。また、(n+2)回目スイッチングタイミングにおいて、矩形波生成部107からPWM制御部105への切替えを行うこととする。図7に示すように、(n+1)回目スイッチングタイミングにおいて、αテーブル参照部101はαテーブル参照処理を実行する(ステップS101)。ここで、αテーブル参照処理とは、トルク指令値T[N・m]、モータ回転数N[rpm]および直流電圧値Vdc[V]に基づいて、予め格納されたテーブルを参照し、変動抑制前電圧位相指令値α’*を求める制御処理である。
次に、フラグ制御部110に格納された矩形波フラグが1から0へ変化したか否かフラグ制御部110は判定する(ステップS102)。矩形波フラグが1から0へ変化していないとフラグ制御部110が判定した場合(ステップS102:No)、αフィルタ演算部102はαフィルタ演算する(ステップS104)。具体的には、αフィルタ演算部102は、変動抑制前電圧位相指令値α’*の変動を抑制し、スイッチ部103へ電圧位相指令値α*(n+2)を出力する。次に、フラグ制御部110は、矩形波フラグが1か否か判定する(ステップS105)。矩形波フラグが1であるとフラグ制御部110が判定した場合(ステップS105:Yes)、フラグ制御部110は、スイッチ部103および108の接点を端子Bに接触させたままとする。これより、スイッチ部103を介して、矩形波生成部107に電圧位相指令値α*(n+2)が出力される。次に、フラグ制御部110は、矩形波生成部107に矩形波生成処理を実行させる(ステップS109)。ここで、矩形波生成処理とは3相比較値を生成する制御処理である。
次に、矩形波生成部107は、Δα演算を実行する(ステップS110)。ここで、Δα演算では、図3に示したように、現在の回転子位相θ、モータ回転数N[rpm]および(n+1)回目制御周期tnowに基づいて、(n+2)回目スイッチングタイミングにおける回転子位相θnextを演算する。また、Δα演算では、電圧位相指令値α*(n+2)に基づいて、(n+2)回目の目標スイッチングタイミングにおける回転子位相目標値θ*nextを演算する。更に、回転子位相θnextと回転子位相目標値θ*nextとの誤差Δθを求める。更に、Δα演算では、誤差Δθに基づいて、補正後の(n+2)回目制御周期tnext’および誤差Δα(n+3)を演算する。以上より、(n+1)回目スイッチングタイミングにおけるコントローラ10の制御処理を終了する。
(n+2)回目スイッチングタイミングにおいて、矩形波フラグが1から0へ変化したとフラグ制御部110が判定した場合(ステップS102:Yes)、ステップS103の制御処理に移行する。ステップS103の制御処理において、フラグ制御部110は、矩形波生成部107にαフィルタ演算部102を初期化させる。具体的には、スイッチ部103を介して出力された電圧位相指令値α*(n+3)に誤差Δα(n+3)を加算して、実際の電圧位相α(n+3)を演算する。そして、矩形波生成部107は実際の電圧位相α(n+3)で、αフィルタ演算部102を初期化する。次に、αフィルタ演算部102はαフィルタ演算する(ステップS104)。ステップS103の制御処理において、αフィルタ演算部102は、実際の電圧位相α(n+3)で初期化されているので、αフィルタ演算部102の出力である電圧位相指令値α*は実際の電圧位相α(n+3)に等しくなる。
次に、フラグ制御部110は、矩形波フラグが1か否か判定する(ステップS105)。(n+2)回目スイッチングタイミングにおいて実行されたステップS102の制御処理で、矩形波フラグが1から0へ変化したと判定しているので、矩形波フラグは1でないとフラグ制御部110は判定する(ステップS105:No)。矩形波フラグは1でないとフラグ制御部110が判定した場合、フラグ制御部110は、スイッチ部103および108の接点を端子Aから端子Bへ切り替えさせる。これより、スイッチ部103を介して、PWM制御部105に電圧位相指令値α*=実際の電圧位相α(n+3)が出力される。
次に、フラグ制御部110は、PWM制御部105にPWM制御を実行させる。具体的には、vd、vq指令演算部1051は、直流電圧値Vdc[V]および電圧位相指令値α*からd軸電圧指令値vd[V]およびq軸電圧指令値vq[V]を演算する制御処理を実行する(ステップS106)。次に、2相/3相変換部1052は、回転子位相θにより、d軸電圧指令値vd[V]およびq軸電圧指令値vq[V]を3相電圧指令値vu[V]、vv[V]、vw[V]に変換する制御処理を実行する(ステップS107)。次に、PWM生成部1053は、3相電圧指令値vu[V]、vv[V]、vw[V]と三角波状のキャリア信号の大小関係を比較し、その大小関係に応じて3相比較値を生成する制御処理を実行する(ステップS108)。また、PWM生成部1053は、PWM周期Tpwmを演算し、次回演算タイミングを演算し、次回制御周期指令を生成する。以上より、(n+2)回目スイッチングタイミングにおけるコントローラ10の制御処理を終了する。
(n+3)回目スイッチングタイミングにおいて、矩形波フラグはすでに0になっているので、矩形波フラグが1から0へ変化していないとフラグ制御部110は判定する(ステップS102:No)。以降、ステップS104〜S108の制御処理を実行する。以上より、(n+3)回目スイッチングタイミングにおけるコントローラ10の制御処理を終了する。その後、ステップS105の制御処理において、矩形波フラグが1であるとフラグ制御部110が判定するまで、ステップS101、S102、S104〜S108の制御処理を順次繰り返す。その後、ステップS105の制御処理において、矩形波フラグが1であるとフラグ制御部110が判定した場合(ステップS105:Yes)、フラグ制御部110は、スイッチ部103および108の接点を端子Bから端子Aへ切り替えさせる。これより、スイッチ部103を介して、矩形波生成部107に電圧位相指令値α*が出力される。以降、ステップS109およびS110の制御処理を実行する。その後、ステップS102の制御処理において、矩形波フラグが1から0へ変化したとフラグ制御部110が判定するまで、ステップS101、S102、S104、S105、S109およびS110の制御処理を順次繰り返す。
以上より、第1の実施形態に係るインバータシステムは、複数のスイッチング素子Tu+、Tu−、Tv+、Tv−、Tw+、Tw−を含むインバータ1、モータ3およびコントローラ10を含む。コントローラ10は、インバータ1からモータ3への出力電圧Vu[V]、Vv[V]、Vw[V]を矩形波状に制御する矩形波生成部107を含む。また、出力電圧Vu[V]、Vv[V]、Vw[V]を擬似正弦波状に制御するPWM制御部105を含む。更に、矩形波生成部107からPWM制御部105への切替えを、スイッチング素子Tu+、Tu−、Tv+、Tv−、Tw+、Tw−のスイッチングタイミングに合わせて行うスイッチ部103を備えている。矩形波生成部107は、n回目スイッチングタイミングで、(n+1)回目スイッチングタイミングと(n+2)回目スイッチングタイミングとの間の(n+1)回目制御周期tnowを演算する。
(n+1)回目スイッチングタイミングで、(n+1)回目制御周期tnowに基づく(n+2)回目スイッチングタイミングにおける回転子位相θnextを演算する。更に、トルク指令値T[N・m]およびモータ回転数N[rpm]に基づく電圧位相指令値α*から求まる(n+2)回目の目標スイッチングタイミングにおける回転子位相目標値θ*nextを演算する。上記回転子位相目標値θ*nextと上記回転子位相θnextとの差Δθを演算する。スイッチ部103による切替え直後、PWM制御部105は、電圧位相指令値α*(n+3)を上記差Δθに基づいて補正した実際の電圧位相α(n+3)で制御する。また、(n+2)回目スイッチングタイミングで、かつ、スイッチ部103が切替える直前に、矩形波生成部107は実際の電圧位相α(n+3)を演算する。実際の電圧位相α(n+3)は、(n+3)回目スイッチングタイミングにおける電圧位相指令値をα*(n+3)、前記差をΔθ、所定値をKとすると、α(n+3)=α*(n+3)+Δθ×(1−K)である。これから、切替え前後でモータ回転数N[rpm]が急変した場合でも、切替え直後、電圧位相指令値α*=実際の電圧位相α(n+3)でPWM制御するので、トルク振動を抑制することができる。
また、コントローラ10は、PWM制御部105または矩形波生成部107に電圧位相指令値α*を出力するαフィルタ演算部102を備える。矩形波生成部107は、切替え直後、αフィルタ演算部102からPWM制御部105に実際の電圧位相α(n+3)を出力させる。これにより、αフィルタ演算部102のフィルタ作用により、矩形波生成部107からPWM制御部105への切替え直後に発生する、実際の電圧位相αのステップ状の急峻な変化を緩和することができる。よって、トルク振動をより抑制することができる。
(第2の実施形態)
次に、第2の実施形態に係るインバータシステムについて、第1の実施形態に係るインバータシステムと異なる点を中心に図8乃至図10を参照して説明する。また、第2の実施形態に係るインバータシステムについて、第1の実施形態に係るインバータシステムと同様の構造には同じ番号を付し、説明を省略する。なお、第2の実施形態に係るインバータシステムは、第1の実施形態に係るインバータシステムとほとんど同じである。図8は、本発明の第2の実施形態に係るコントローラ20の内部構成を示す制御ブロック図である。図8に示すように、第2の実施形態に係るインバータシステムが第1の実施形態と異なる点は、コントローラ20に含まれる矩形波制御手段である矩形波生成部207とフラグ制御部210が異なることだけである。
矩形波生成部207は、第1の実施形態と同様に、インバータ1のスイッチング素子Tu+、Tu−、Tv+、Tv−、Tw+、Tw−を矩形波制御する。具体的には、第1の実施形態と同様に、矩形波生成部207は3相比較値を生成する。また、第1の実施形態と同様に、矩形波生成部207は、次回制御周期を演算し、次回演算タイミングを演算し、次回制御周期指令を生成する。また、矩形波生成部207は、第1の実施形態と異なり、今回演算タイミングに対する次回演算タイミングの誤差Δα(n+2)(図3参照)を、演算タイミング毎に演算する。更に、スイッチ部103における矩形波生成部207からPWM制御部105への切替えが行われる場合、矩形波生成部207は、実際の電圧位相α(n+2)で、αフィルタ演算部102を初期化する。
フラグ制御部210は、第1の実施形態と同様に、矩形波フラグを格納し、矩形波フラグに基づいてスイッチ部103および108の動作を制御する。具体的には、フラグ制御部210は、矩形波フラグが1になった場合、スイッチ部103および108の接点を端子Bから端子Aへ切替えさせる。これから、矩形波生成部207に、出力電圧Vu[V]、Vv[V]、Vw[V]を矩形波状に制御する矩形波制御を実行させる。一方、フラグ制御部210は、矩形波フラグが1から0へ変化した場合、スイッチ部103および108の接点を端子Aから端子Bへ切替えさせる。これから、PWM制御部105に、出力電圧Vu[V]、Vv[V]、Vw[V]を擬似正弦波状に制御するPWM制御を実行させる。
(矩形波生成部207からPWM制御部105への切替え処理)
次に、第2の実施形態における、矩形波制御する矩形波生成部207からPWM制御するPWM制御部105への切替え処理について、図9を参照して説明する。図9は、図8に示すコントローラ20における矩形波/PWM制御の切替え処理による出力を示すタイミングチャートである。図9では、第1の実施形態の図4と同様に、出力電圧Vu[V]、Vv[V]、Vw[V]、キャリア信号、スイッチング素子Tu+、Tu−、Tv+、Tv−、Tw+、Tw−のスイッチングタイミングを示している。ここで、図9における(n+2)回目スイッチングタイミングの左側は、矩形波生成部207による矩形波制御を、右側はPWM制御部105によるPWM制御を示している。なお、第1の実施形態の図4と同様に、各スイッチングタイミングで、出力電圧Vu[V]、Vv[V]、Vw[V]のいずれかが反転している。
第2の実施形態では、図9に示すように、n回目スイッチングタイミングまで、矩形波生成部207で矩形波演算が実行されている。(n+1)回目スイッチングタイミングにおいて、矩形波生成部207からPWM制御部105への切替えを行っている。その後、PWM制御部105でPWM演算が実行されている。しかし、第1の実施形態と同様に、(n+2)回目制御周期であるPWM周期Tpwmは、(n+1)回目スイッチングタイミングにおいて、PWM制御部105により演算される。このため、矩形波生成部207からPWM制御部105への切替えを行った後、1スイッチングタイミング遅れて、PWM制御は開始される。すなわち、(n+2)回目スイッチングタイミング以降、PWM制御部105によってPWM制御が開始される。そして、(n+2)回目スイッチングタイミング以降、PWM制御部105は、PWM制御するため、キャリア信号の1周期をPWM周期Tpwmに合わせている。
図9に示したように、第2の実施形態では、第1の実施形態と異なり、(n+1)回目スイッチングタイミングにおいて、矩形波生成部207はΔα演算を実行する。第1の実施形態と異なり、Δα演算の実行後、矩形波生成部207からPWM制御部105への切替えを行う。ここで、第1の実施形態では、(n+1)回目スイッチングタイミングにおいて、実際のモータ角周波数ωre[rad/s](図3参照)、すなわち、モータ回転数N[rpm]が急変した場合を想定している。また、(n+1)回目スイッチングタイミングから(n+3)回目スイッチングタイミングまでの間、モータ回転数N[rpm]が一定という前提でΔα演算を実行している。一方、第2の実施形態では、n回目スイッチングタイミングから(n+2)回目スイッチングタイミングまでの間も、モータ回転数N[rpm]が変化するという前提でΔα演算している。すなわち、(n+1)回目スイッチングタイミングにおいて、上記切替えを行う前に、実際のモータ角周波数ωre[rad/s]、すなわち、モータ回転数N[rpm]が変化する場合を想定している。
具体的には、第2の実施形態に係る矩形波生成部207では、(n+1)回目スイッチングタイミングに対する(n+2)回目スイッチングタイミングの誤差Δα(n+2)=誤差Δθ(図3参照)を、演算タイミング毎に演算している。第1の実施形態と同様に、(n+1)回目スイッチングタイミングにおいて、αフィルタ演算部102は、変動抑制前電圧位相指令値α’*の変動を抑制する。そして、αフィルタ演算部102は、(n+2)回目スイッチングタイミングにおける電圧位相指令値α*(n+2)(図3参照)を、スイッチ部103を介して、矩形波生成部207へ出力する。第1の実施形態と異なり、(n+1)回目スイッチングタイミングにおいて、矩形波生成部207からPWM制御部105への切替えを行う前に、矩形波生成部207は、Δα演算を実行する。
ここで、第2の実施形態に係るΔα演算では、現在の回転子位相θ、モータ回転数N[rpm]および(n+1)回目制御周期tnow(図3参照)に基づいて、回転子位相θnext(図3参照)を演算する。また、Δα演算では、第1の実施形態と同様に、電圧位相指令値α*(n+2)に基づいて、(n+2)回目の目標スイッチングタイミングにおける回転子位相目標値θ*next(図3参照)を演算する。更に、第1の実施形態と同様に、回転子位相θnextと回転子位相目標値θ*nextとの誤差Δθを求める。更に、Δα演算では、誤差Δθに基づいて、誤差Δα(n+2)=誤差Δθを演算する。
その後、(n+1)回目スイッチングタイミングにおいて、上記切替えを行う前に、矩形波生成部207は、実際の電圧位相α(n+2)=電圧位相指令値α*(n+2)+誤差Δθを演算する。次に、矩形波生成部207は、αフィルタ演算部102を実際の電圧位相α(n+2)で初期化する。その後、(n+1)回目スイッチングタイミングにおいて、スイッチ部103は、矩形波生成部207からPWM制御部105への切替えを行う。切換え直後、PWM制御部105は、実際の電圧位相α(n+2)を用いて、PWM制御する。これから、図5および図6に示した、第1の実施形態と同様の効果を取得できる。
(コントローラ20で実行される制御方法)
次に、第2の実施形態に係るコントローラ20で実行される制御方法について、図10を参照して説明する。図10は、図8に示すコントローラ20で実行される制御方法を示すフローチャートである。本制御方法は、図10に示すフローチャートのプログラムをコントローラ20に組み込み実現している。なお、本制御処理は、第1の実施形態に係るコントローラ10で実行される制御処理をほとんど同じである。第1の実施形態に係るコントローラ10で実行される制御処理と本制御処理が異なる点は、ステップS203の制御処理において、矩形波生成部207がΔα演算を実行することだけである。
図10に示すように、第1の実施形態のステップS101の制御処理と同様に、n回目スイッチングタイミングにおいて、αテーブル参照部101はαテーブル参照処理を実行する(ステップS201)。次に、フラグ制御部210に格納された矩形波フラグが1から0へ変化したか否かフラグ制御部210は判定する(ステップS202)。矩形波フラグが1から0へ変化していないとフラグ制御部210が判定した場合(ステップS202:No)、ステップS104の制御処理と同様に、αフィルタ演算部102はαフィルタ演算する(ステップS205)。具体的には、αフィルタ演算部102は、変動抑制前電圧位相指令値α’*の変動を抑制し、スイッチ部103へ電圧位相指令値α*(n+1)を出力する。以降、ステップS105、S109およびS110の制御処理と、それぞれ同様であるステップS206、S210およびS211の制御処理を実行する。以上より、n回目スイッチングタイミングにおけるコントローラ20の制御処理を終了する。
(n+1)回目スイッチングタイミングにおいて、矩形波フラグが1から0へ変化したとフラグ制御部210が判定した場合(ステップS202:Yes)、ステップS203の制御処理に移行する。ステップS203の制御処理において、フラグ制御部210は、矩形波生成部207にΔα演算を実行させる。次に、矩形波生成部207は、ステップS103の制御処理と同様に、αフィルタ演算部102を初期化させる(ステップS204)。次に、ステップS104の制御処理と同様に、αフィルタ演算部102はαフィルタ演算する(ステップS205)。ステップS204の制御処理において、αフィルタ演算部102は実際の電圧位相α(n+2)で初期化されているので、αフィルタ演算部102の出力である電圧位相指令値α*は実際の電圧位相α(n+2)に等しくなる。
次に、ステップS105の制御処理と同様に、フラグ制御部210は、矩形波フラグが1か否か判定する(ステップS206)。第1の実施形態と同様に、矩形波フラグは1でないとフラグ制御部210は判定するので(ステップS206:No)、フラグ制御部210は、スイッチ部103および108の接点を端子Aから端子Bへ切り替えさせる。これより、第1の実施形態と同様に、スイッチ部103を介して、PWM制御部105に電圧位相指令値α*=実際の電圧位相α(n+2)が出力される。以降、ステップS106〜S108の制御処理と、それぞれ同様であるステップS207〜S209の制御処理を実行する。以上より、(n+1)回目スイッチングタイミングにおけるコントローラ20の制御処理を終了する。
第1の実施形態と同様に、(n+2)回目スイッチングタイミングにおいて、矩形波フラグはすでに0になっているので、矩形波フラグが1から0へ変化していないとフラグ制御部210は判定する(ステップS202:No)。以降、ステップS205〜S209の制御処理を実行する。以上より、(n+2)回目スイッチングタイミングにおけるコントローラ20の制御処理を終了する。その後、ステップS206の制御処理において、矩形波フラグが1であるとフラグ制御部210が判定するまで、ステップS201、S202、S205〜S209の制御処理を順次繰り返す。その後、ステップS206の制御処理において、矩形波フラグが1であるとフラグ制御部210が判定した場合(ステップS206:Yes)、フラグ制御部210は、スイッチ部103および108の接点を端子Bから端子Aへ切り替えさせる。これより、第1の実施形態と同様に、スイッチ部103を介して、矩形波生成部207に電圧位相指令値α*が出力される。以降、ステップS209およびS210の制御処理を実行する。その後、ステップS202の制御処理において、矩形波フラグが1から0へ変化したとフラグ制御部210が判定するまで、ステップS201、S202、S205、S206、S210およびS211の制御処理を順次繰り返す。
以上より、第2の実施形態に係る矩形波生成部207は、(n+2)回目スイッチングタイミングにおける電圧位相指令値α*(n+2)と誤差Δθを加算して、実際の電圧位相α(n+2)を演算する。スイッチ部103は、(n+1)回目スイッチングタイミングにおける矩形波生成部207の上記演算後、矩形波生成部207からPWM制御部105への切替えを行う。これから、第1の実施形態と同様の効果を取得できる。更に、第1の実施形態と比較して1スイッチングタイミング遅れて取得したモータ回転数N[rpm]に基づいて、誤差Δθ=誤差Δαを演算することができる。よって、n回目スイッチングタイミングから(n+2)回目スイッチングタイミングまでの間、モータ回転数N[rpm]が変化する場合でも、精度良くΔα演算を実行することができる。
次に、第2の実施形態の変形例について、図11を参照して説明する。図11は、第2の実施形態の変形例における矩形波/PWM制御の切替え処理による出力を示すタイミングチャートである。第2の実施形態の変形例に係るコントローラは、第2の実施形態に係るコントローラ20と同じ構造である。第2の実施形態の変形例が、第2の実施形態と異なる点は、図11に示すように、(n+1)回目制御周期tnowをPWM周期Tpwmと等しくする矩形波制御手段である矩形波生成部が異なることだけである。すなわち、第2の実施形態の変形例では、第2の実施形態と同様に、(n+1)回目スイッチングタイミングにおいて、矩形波生成部からPWM制御部105への切替えを行う前に、矩形波生成部はΔα演算を実行する。更に、第2の実施形態と同様に、矩形波生成部は、αフィルタ演算部102を実際の電圧位相α(n+2)で初期化する。その後、(n+1)回目スイッチングタイミングにおいて、スイッチ部103は、矩形波生成部からPWM制御部105への切替えを行う。よって、第2の実施形態と同様の効果を取得できる。更に、(n+1)回目制御周期tnowが短くなるので、第2の実施形態より、精度良くΔα演算を実行することができる。なお、第2の実施形態の変形例は、n回目スイッチングタイミングにおいて矩形波生成部で演算される(n+1)回目制御周期tnowをPWM周期Tpwmと等しく設定すれば、実現できる。
以上より、矩形波生成部は、(n+1)回目制御周期tnowを、PWM制御部105で演算されるPWM周期と等しくする。これから、(n+1)回目制御周期tnowが短くなる。よって、n回目スイッチングタイミングから(n+2)回目スイッチングタイミングまでの間、モータ回転数N[rpm]が変化する場合でも、より精度良くΔα演算を実行することができる。
(第3の実施形態)
次に、第3の実施形態に係るインバータシステムについて、第1の実施形態に係るインバータシステムと異なる点を中心に図12乃至図15を参照して説明する。また、第3の実施形態に係るインバータシステムについて、第1の実施形態に係るインバータシステムと同様の構造には同じ番号を付し、説明を省略する。なお、第3の実施形態に係るインバータシステムは、第1の実施形態に係るインバータシステムとほとんど同じである。図12は、本発明の第3の実施形態に係るコントローラ30の内部構成を示す制御ブロック図である。図12に示すように、第3の実施形態に係るインバータシステムが第1の実施形態と異なる点は、コントローラ30が異なることだけである。
ここで、コントローラ30は、第1の実施形態と異なり、第2のフィルタ演算手段であるΔαフィルタ演算部311および第1の加算手段である加算部312を備える。また、第1の実施形態と異なり、コントローラ30に含まれるαテーブル参照部301、第1のフィルタ演算手段であるαフィルタ演算部302、矩形波制御手段である矩形波生成部307とフラグ制御部310が異なる。αテーブル参照部301は、第1の実施形態と同様に、トルク指令値T[N・m]、モータ回転数N[rpm]および直流電圧値Vdc[V]に基づいて、予め格納されたテーブルを参照する。そして、第1の実施形態と異なり、当該テーブルから、加算前電圧位相指令値α”*を求める。αフィルタ演算部302は、伝達関数1/(τ1s+1)を用いて、後述する変動抑制前電圧位相指令値α’*の変動を抑制する。なお、第1の実施形態と同様に、時定数τ1は数ms程度である。
矩形波生成部307は、第1の実施形態と同様に、インバータ1のスイッチング素子Tu+、Tu−、Tv+、Tv−、Tw+、Tw−を矩形波制御する。具体的には、第1の実施形態と同様に、矩形波生成部307は3相比較値を生成する。また、第1の実施形態と同様に、矩形波生成部307も、次回制御周期を演算し、次回演算タイミングを演算し、次回制御周期指令を生成する。また、矩形波生成部307は、第1の実施形態と同様に、今回演算タイミングに対する次々回演算タイミングの誤差Δα(n+3)(図3参照)を、演算タイミング毎に演算する。また、第1の実施形態と同様に、スイッチ部103における矩形波生成部307からPWM制御部105への切替えが行われる場合、矩形波生成部307は、実際の電圧位相α(n+3)で、αフィルタ演算部302を初期化する。同時に、矩形波生成部307は、誤差Δα(n+3)で、Δαフィルタ演算部311を初期化する。
フラグ制御部310は、第1の実施形態と同様に、矩形波フラグを格納し、矩形波フラグに基づいてスイッチ部103および108の動作を制御する。具体的には、フラグ制御部310は、矩形波フラグが1になった場合、スイッチ部103および108の接点を端子Bから端子Aへ切替えさせる。これから、矩形波生成部307に、出力電圧Vu[V]、Vv[V]、Vw[V]を矩形波状に制御する矩形波制御を実行させる。一方、フラグ制御部310は、矩形波フラグが1から0へ変化した場合、スイッチ部103および108の接点を端子Aから端子Bへ切替えさせる。これから、PWM制御部105に、出力電圧Vu[V]、Vv[V]、Vw[V]を擬似正弦波状に制御するPWM制御を実行させる。Δαフィルタ演算部311は、伝達関数1/(τ2s+1)を持つフィルタであり、加算部312にフィルタ後誤差Δα’を出力する。なお、時定数τ2は数百ms程度である。加算部312は、フィルタ後誤差Δα’と加算前電圧位相指令値α”*を加算して得た変動抑制前電圧位相指令値α’*をαフィルタ演算部302へ出力する。
(矩形波生成部307からPWM制御部105への切替え処理)
次に、第3の実施形態における、矩形波制御する矩形波生成部307からPWM制御するPWM制御部105への切替え処理について説明する。第3の実施形態における上記切替え処理は、第1の実施形態と同じである。すなわち、(n+1)回目スイッチングタイミングまで矩形波演算が実行され、(n+2)回目スイッチングタイミングにおいて、上記切替えを行い、その後、PWM演算が実行される。そして、第1の実施形態と同様に、(n+3)回目スイッチングタイミング以降、PWM制御部105によってPWM制御が実行される。また、第1の実施形態と同様に、矩形波生成部307は、(n+2)回目スイッチングタイミングにおいて、上記切替え前に、実際の電圧位相α(n+3)=電圧位相指令値α*(n+3)+Δθ(1−K)(図3参照)を演算する。また、第1の実施形態と同様に、矩形波生成部307は、αフィルタ演算部302を実際の電圧位相α(n+3)で初期化する。更に、第1の実施形態と異なり、矩形波生成部307は、Δαフィルタ演算部311を誤差Δα(n+3)=Δθ(1−K)で初期化する。その後、上記切替えが行われる。
次に、図12に示すコントローラ30における第1の実施形態と同様の切替え処理を実行した場合の効果について、図13および図14を参照して説明する。図13は、図12に示すコントローラ30における第1の実施形態と同様の切替え処理を実行した時の実際の電圧位相αを示す図である。図14は、図12に示すコントローラ30における第1の実施形態と同様の切替え処理を実行した時のモータ回転数N[rpm]と出力電力Pnt[kw]を示す図である。図13(a)に示す従来技術では、(n+3)回目スイッチングタイミングで、矩形波制御の電圧位相指令値α*(n+3)をそのままPWM制御の電圧位相指令値α*として用いている。矩形波制御からPWM制御への切替え時近傍において、図14(a)に示すようにモータ回転数N[rpm]が急変した場合、誤差Δα(n+3)が発生する。図13(a)に示したように、誤差Δα(n+3)により、実際の電圧位相αがステップ状に変化する。実際の電圧位相αがステップ状に変化した場合、矩形波制御からPWM制御への切替え後、出力電力Pnt[kw]が振動する。すなわち、トルクが振動する。
一方、第1の実施形態では、(n+1)回目スイッチングタイミングで、矩形波生成部107は誤差Δα(n+3)=Δθ(1−K)を演算する。(n+2)回目スイッチングタイミングで、矩形波生成部107は、実際の電圧位相α(n+3)=電圧位相指令値α*(n+3)+誤差Δα(n+3)を演算し、実際の電圧位相α(n+3)でαフィルタ演算部302を初期化する。初期化後、スイッチ部103は、矩形波生成部107からPWM制御部105への切替えを行う。切替え直後、αフィルタ演算部302からスイッチ部103を介してPWM制御部105へ出力された電圧位相指令値α*は、図13(b)に示すように、実際の電圧位相α(n+3)と等しくなる。更に、図13(b)に示したように、αフィルタ演算部102のフィルタ作用により、実際の電圧位相αのステップ状の急峻な変化が緩和する。これから、図14(b)に示すように、モータ回転数N[rpm]が急変した場合でも、出力電力Pnt[kw]の振動を抑制している。しかし、実際の電圧位相αのステップ状の急峻な変化を緩和しているが、αフィルタ演算部102の時定数τが短いため、十分とはいえない。
そこで、第3の実施形態では、Δαフィルタ演算部311と加算部312を追加している。具体的には、第1の実施形態と同様に、(n+1)回目スイッチングタイミングで、矩形波生成部307は誤差Δα(n+3)=Δθ(1−K)を演算する。(n+2)回目スイッチングタイミングで、矩形波生成部307は、実際の電圧位相α(n+3)=電圧位相指令値α*(n+3)+誤差Δα(n+3)を演算する。その後、矩形波生成部307は、実際の電圧位相α(n+3)でαフィルタ演算部302を初期化するとともに、誤差Δα(n+3)でΔαフィルタ演算部311を初期化する。初期化直後、Δαフィルタ演算部311はフィルタ後誤差Δα’=誤差Δα(n+3)を加算部312へ出力する。加算部312は、加算前電圧位相指令値α”*と誤差Δα(n+3)を加算して得た変動抑制前電圧位相指令値α’*をαフィルタ演算部302へ出力する。
初期化後、第1の実施形態と同様に、スイッチ部103は、矩形波生成部307からPWM制御部105への切替えを行う。第1の実施形態と同様に、切替え直後、αフィルタ演算部302からスイッチ部103を介してPWM制御部105へ出力された電圧位相指令値α*は、図13(c)に示すように、実際の電圧位相α(n+3)と等しくなる。第1の実施形態と同様に、αフィルタ演算部302のフィルタ作用により、実際の電圧位相αのステップ状の急峻な変化が緩和する。更に、Δαフィルタ演算部311の時定数τ2が長いので、Δαフィルタ演算部311のフィルタ作用により、実際の電圧位相αは十分なめらかに変化していく。これから、図14(c)に示すように、モータ回転数N[rpm]が急変した場合でも、出力電力Pnt[kw]の振動をより抑制できる。よって、第1の実施形態と比較して、トルク振動をより抑制することができる。なお、Δαフィルタ演算部311の入力値は0なので、初期化されない限り、フィルタ後誤差Δα’は影響を与えない。
(コントローラ30で実行される制御方法)
次に、第3の実施形態に係るコントローラ30で実行される制御方法について、図15を参照して説明する。図15は、図12に示すコントローラ30で実行される制御方法を示すフローチャートである。本制御方法は、図15に示すフローチャートのプログラムをコントローラ30に組み込み実現している。なお、本制御処理は、第1の実施形態に係るコントローラ10で実行される制御処理とほとんど同じである。第1の実施形態に係るコントローラ10で実行される制御処理と本制御処理が異なる点は、ステップS304〜S306の制御処理を追加したことだけである。
第1の実施形態のステップS101の制御処理と同様に、(n+1)回目スイッチングタイミングにおいて、αテーブル参照部301はαテーブル参照処理を実行する(ステップS301)。ここで、αテーブル参照処理とは、トルク指令値T[N・m]、モータ回転数N[rpm]および直流電圧値Vdc[V]に基づいて、予め格納されたテーブルを参照し、加算前電圧位相指令値α”*を求める制御処理である。次に、フラグ制御部310に格納された矩形波フラグが1から0へ変化したか否かフラグ制御部310は判定する(ステップS302)。矩形波フラグが1から0へ変化していないとフラグ制御部310が判定した場合(ステップS302:No)、Δαフィルタ演算部311はΔαフィルタ演算し、フィルタ後誤差Δα’を加算部312へ出力する(ステップS305)。
次に、加算部312は、加算前電圧位相指令値α”*にフィルタ後誤差Δα’を加算する。加算して得られた変動抑制前電圧位相指令値α’*をαフィルタ演算部302へ出力する(ステップS306)。αフィルタ演算部302は、ステップS104の制御処理と同様に、αフィルタ演算する(ステップS307)。具体的には、αフィルタ演算部302は、変動抑制前電圧位相指令値α’*の変動を抑制し、スイッチ部103へ電圧位相指令値α*(n+2)を出力する。以降、ステップS105、S109およびS110の制御処理と、それぞれ同様であるステップS308、S312およびS313の制御処理を実行する。以上より、(n+1)回目スイッチングタイミングにおけるコントローラ30の制御処理を終了する。
(n+2)回目スイッチングタイミングにおいて、矩形波フラグが1から0へ変化したとフラグ制御部310が判定した場合(ステップS302:Yes)、ステップS303の制御処理に移行する。ステップS303の制御処理において、フラグ制御部310は、ステップS103の制御処理と同様に、矩形波生成部307にαフィルタ演算部302を実際の電圧位相α(n+3)で初期化させる。次に、矩形波生成部307は、Δαフィルタ演算部311を誤差Δα(n+3)で初期化する(ステップS304)。次に、Δαフィルタ演算部311はΔαフィルタ演算し、フィルタ後誤差Δα’を加算部312へ出力する(ステップS305)。ステップS304の制御処理において、Δαフィルタ演算部311は誤差Δα(n+3)で初期化されているので、フィルタ後誤差Δα’は誤差Δα(n+3)に等しくなる。次に、加算部312は、加算前電圧位相指令値α”*にフィルタ後誤差Δα’を加算する。加算して得られた変動抑制前電圧位相指令値α’*をαフィルタ演算部302へ出力する(ステップS306)。
次に、ステップS104の制御処理と同様に、αフィルタ演算部302はαフィルタ演算する(ステップS307)。ステップS303の制御処理において、αフィルタ演算部302は実際の電圧位相α(n+3)で初期化されているので、αフィルタ演算部302の出力である電圧位相指令値α*は実際の電圧位相α(n+3)に等しくなる。次に、ステップS105の制御処理と同様に、フラグ制御部310は、矩形波フラグが1か否か判定する(ステップS308)。第1の実施形態と同様に、矩形波フラグは1でないとフラグ制御部310は判定するので(ステップS308:No)、フラグ制御部310は、スイッチ部103および108の接点を端子Aから端子Bへ切り替えさせる。これより、第1の実施形態と同様に、スイッチ部103を介して、PWM制御部105に電圧位相指令値α*=実際の電圧位相α(n+3)が出力される。以降、ステップS106〜S108の制御処理と、それぞれ同様であるステップS309〜S311の制御処理を実行する。以上より、(n+2)回目スイッチングタイミングにおけるコントローラ30の制御処理を終了する。
第1の実施形態と同様に、(n+3)回目スイッチングタイミングにおいて、矩形波フラグはすでに0になっているので、矩形波フラグが1から0へ変化していないとフラグ制御部310は判定する(ステップS302:No)。以降、ステップS305〜S311の制御処理を実行する。以上より、(n+3)回目スイッチングタイミングにおけるコントローラ30の制御処理を終了する。その後、ステップS308の制御処理において、矩形波フラグが1であるとフラグ制御部310が判定するまで、ステップS301、S302、S305〜S311の制御処理を順次繰り返す。その後、ステップS308の制御処理において、矩形波フラグが1であるとフラグ制御部310が判定した場合(ステップS308:Yes)、フラグ制御部310は、スイッチ部103および108の接点を端子Bから端子Aへ切り替えさせる。これより、第1の実施形態と同様に、スイッチ部103を介して、矩形波生成部307に電圧位相指令値α*が出力される。以降、ステップS312およびS313の制御処理を実行する。その後、ステップS302の制御処理において、矩形波フラグが1から0へ変化したとフラグ制御部310が判定するまで、ステップS301、S302、S305〜S308、S312およびS313の制御処理を順次繰り返す。
以上より、第3の実施形態に係るコントローラ30は、スイッチ部103における矩形波生成部307からPWM制御部105への切替え直後、誤差Δα(n+3)を出力するΔαフィルタ演算部311を備える。更に、Δαフィルタ演算部311からの誤差Δα(n+3)と加算前電圧位相指令値α”*を加算して得た変動抑制前電圧位相指令値α’*をαフィルタ演算部302へ出力する加算部312とを備える。これから、第1の実施形態と同様の効果を取得できる。更に、Δαフィルタ演算部311のフィルタ作用により、矩形波生成部307からPWM制御部105への切替え直後に発生する、実際の電圧位相αのステップ状の急峻な変化を十分なめらかにできる。よって、第1の実施形態と比較して、トルク振動をより抑制することができる。
(第4の実施形態)
次に、第4の実施形態に係るインバータシステムについて、第2の実施形態に係るインバータシステムと異なる点を中心に図16乃至図17を参照して説明する。また、第4の実施形態に係るインバータシステムについて、第2および第3の実施形態に係るインバータシステムと同様の構造には同じ番号を付し、説明を省略する。なお、第4の実施形態に係るインバータシステムは、第2の実施形態に係るインバータシステムとほとんど同じである。図16は、本発明の第4の実施形態に係るコントローラ40の内部構成を示す制御ブロック図である。図16に示すように、第4の実施形態に係るインバータシステムが第2の実施形態と異なる点は、コントローラ40が異なることだけである。
ここで、コントローラ40は、第2の実施形態と異なり、第2のフィルタ演算手段であるΔαフィルタ演算部311および第1の加算手段である加算部312を備える。また、第2の実施形態と異なり、コントローラ40に含まれるαテーブル参照部301、第1のフィルタ演算手段であるαフィルタ演算部302、矩形波制御手段である矩形波生成部407とフラグ制御部410が異なる。矩形波生成部407は、第2の実施形態と同様に、インバータ1のスイッチング素子Tu+、Tu−、Tv+、Tv−、Tw+、Tw−を矩形波制御する。具体的には、第2の実施形態と同様に、矩形波生成部407は3相比較値を生成する。
また、第2の実施形態と同様に、矩形波生成部407は、次回制御周期を演算し、次回演算タイミングを演算し、次回制御周期指令を生成する。また、矩形波生成部407は、第2の実施形態と同様に、今回演算タイミングに対する次回演算タイミングの誤差Δα(n+2)(図3参照)を、演算タイミング毎に演算する。更に、第2の実施形態と同様に、スイッチ部103における矩形波生成部407からPWM制御部105への切替えが行われる場合、矩形波生成部407は、実際の電圧位相α(n+2)(図3参照)で、αフィルタ演算部302を初期化する。同時に、矩形波生成部407は、誤差Δα(n+2)で、Δαフィルタ演算部311を初期化する。
フラグ制御部410は、第2の実施形態と同様に、矩形波フラグを格納し、矩形波フラグに基づいてスイッチ部103および108の動作を制御する。具体的には、フラグ制御部410は、矩形波フラグが1になった場合、スイッチ部103および108の接点を端子Bから端子Aへ切替えさせる。これから、矩形波生成部407に、出力電圧Vu[V]、Vv[V]、Vw[V]を矩形波状に制御する矩形波制御を実行させる。一方、フラグ制御部410は、矩形波フラグが1から0へ変化した場合、スイッチ部103および108の接点を端子Aから端子Bへ切替えさせる。これから、PWM制御部105に、出力電圧Vu[V]、Vv[V]、Vw[V]を擬似正弦波状に制御するPWM制御を実行させる。
(矩形波生成部407からPWM制御部105への切替え処理)
次に、第4の実施形態における、矩形波制御する矩形波生成部407からPWM制御するPWM制御部105への切替え処理について説明する。第4の実施形態における上記切替え処理は、第2の実施形態と同じである。すなわち、n回目スイッチングタイミングまで矩形波演算が実行され、(n+1)回目スイッチングタイミングにおいて、上記切替えを行い、その後、PWM演算が実行される。そして、第2の実施形態と同様に、(n+2)回目スイッチングタイミング以降、PWM制御部105によってPWM制御が実行される。また、第2の実施形態と同様に、矩形波生成部407は、(n+1)回目スイッチングタイミングにおいて、上記切替え前に、実際の電圧位相α(n+2)=電圧位相指令値α*(n+2)+誤差Δα(n+2)を演算する。
また、第2の実施形態と同様に、矩形波生成部407は、αフィルタ演算部302を実際の電圧位相α(n+2)で初期化する。更に、第2の実施形態と異なり、矩形波生成部407は、Δαフィルタ演算部311を誤差Δα(n+2)=Δθ(図3参照)で初期化する。その後、上記切替えが行われる。これから、第2の実施形態と同様の効果を取得できる。更に、矩形波生成部407からPWM制御部105への切替え前後でモータ回転数N[rpm]が急変した場合でも、Δαフィルタ演算部311の時定数τ2が長いので、実際の電圧位相αを十分なめらかに変化させることができる。すなわち、図13に示した変化と同様になる。これから、出力電力Pnt[kw]の振動をより抑制できる。よって、第2の実施形態と比較して、トルク振動をより抑制することができる。
(コントローラ40で実行される制御方法)
次に、第4の実施形態に係るコントローラ40で実行される制御方法について、図17を参照して説明する。図17は、図16に示すコントローラ40で実行される制御方法を示すフローチャートである。本制御方法は、図16に示すフローチャートのプログラムをコントローラ40に組み込み実現している。なお、本制御処理は、第2の実施形態に係るコントローラ20で実行される制御処理とほとんど同じである。第2の実施形態に係るコントローラ20で実行される制御処理と本制御処理が異なる点は、ステップS405〜S407の制御処理を追加したことだけである。
第2の実施形態のステップS201の制御処理と同様に、n回目スイッチングタイミングにおいて、αテーブル参照部301はαテーブル参照処理を実行する(ステップS401)。ここで、αテーブル参照処理とは、トルク指令値T[N・m]、モータ回転数N[rpm]および直流電圧値Vdc[V]に基づいて、予め格納されたテーブルを参照し、加算前電圧位相指令値α”*を求める制御処理である。次に、フラグ制御部410に格納された矩形波フラグが1から0へ変化したか否かフラグ制御部410は判定する(ステップS402)。矩形波フラグが1から0へ変化していないとフラグ制御部410が判定した場合(ステップS402:No)、Δαフィルタ演算部311はΔαフィルタ演算し、フィルタ後誤差Δα’を加算部312へ出力する(ステップS406)。
次に、加算部312は、加算前電圧位相指令値α”*にフィルタ後誤差Δα’を加算する。加算して得られた変動抑制前電圧位相指令値α’*をαフィルタ演算部302へ出力する(ステップS407)。αフィルタ演算部302は、ステップS205の制御処理と同様に、αフィルタ演算する(ステップS408)。具体的には、αフィルタ演算部302は、変動抑制前電圧位相指令値α’*の変動を抑制し、スイッチ部103へ電圧位相指令値α*(n+1)を出力する。以降、ステップS206、S210およびS211の制御処理と、それぞれ同様であるステップS409、S413およびS414の制御処理を実行する。以上より、n回目スイッチングタイミングにおけるコントローラ40の制御処理を終了する。
(n+1)回目スイッチングタイミングにおいて、矩形波フラグが1から0へ変化したとフラグ制御部410が判定した場合(ステップS402:Yes)、ステップS403の制御処理に移行する。ステップS403の制御処理において、フラグ制御部410は、ステップS203の制御処理と同様に、矩形波生成部407にΔα演算を実行させる。次に、矩形波生成部407は、ステップS204の制御処理と同様に、αフィルタ演算部302を実際の電圧位相α(n+2)で初期化する(ステップS404)。次に、矩形波生成部407は、Δαフィルタ演算部311を誤差Δα(n+2)で初期化する(ステップS405)。次に、Δαフィルタ演算部311はΔαフィルタ演算し、フィルタ後誤差Δα’を加算部312へ出力する(ステップS406)。ステップS405の制御処理において、Δαフィルタ演算部311は誤差Δα(n+2)で初期化されているので、フィルタ後誤差Δα’は誤差Δα(n+2)に等しくなる。次に、加算部312は、加算前電圧位相指令値α”*にフィルタ後誤差Δα’を加算する。加算して得られた変動抑制前電圧位相指令値α’*をαフィルタ演算部302へ出力する(ステップS407)。
次に、ステップS205の制御処理と同様に、αフィルタ演算部302はαフィルタ演算する(ステップS408)。ステップS404の制御処理において、αフィルタ演算部302は実際の電圧位相α(n+2)で初期化されているので、αフィルタ演算部302の出力である電圧位相指令値α*は実際の電圧位相α(n+2)に等しくなる。次に、ステップS206の制御処理と同様に、フラグ制御部410は、矩形波フラグが1か否か判定する(ステップS409)。第2の実施形態と同様に、矩形波フラグは1でないとフラグ制御部410は判定するので(ステップS409:No)、フラグ制御部410は、スイッチ部103および108の接点を端子Aから端子Bへ切り替えさせる。これより、第2の実施形態と同様に、スイッチ部103を介して、PWM制御部105に電圧位相指令値α*=実際の電圧位相α(n+2)が出力される。以降、ステップS207〜S209の制御処理と、それぞれ同様であるステップS410〜S412の制御処理を実行する。以上より、(n+1)回目スイッチングタイミングにおけるコントローラ40の制御処理を終了する。
第2の実施形態と同様に、(n+2)回目スイッチングタイミングにおいて、矩形波フラグはすでに0になっているので、矩形波フラグが1から0へ変化していないとフラグ制御部410は判定する(ステップS402:No)。以降、ステップS406〜S412の制御処理を実行する。以上より、(n+2)回目スイッチングタイミングにおけるコントローラ40の制御処理を終了する。その後、ステップS409の制御処理において、矩形波フラグが1であるとフラグ制御部410が判定するまで、ステップS401、S402、S406〜S412の制御処理を順次繰り返す。その後、ステップS409の制御処理において、矩形波フラグが1であるとフラグ制御部410が判定した場合(ステップS409:Yes)、フラグ制御部410は、スイッチ部103および108の接点を端子Bから端子Aへ切り替えさせる。これより、第2の実施形態と同様に、スイッチ部103を介して、矩形波生成部407に電圧位相指令値α*が出力される。以降、ステップS413およびS414の制御処理を実行する。その後、ステップS402の制御処理において、矩形波フラグが1から0へ変化したとフラグ制御部410が判定するまで、ステップS401、S402、S406〜409、S413およびS414の制御処理を順次繰り返す。
以上より、第4の実施形態に係るコントローラ40は、スイッチ部103における矩形波生成部407からPWM制御部105への切替え直後、誤差Δα(n+2)を出力するΔαフィルタ演算部311を備える。更に、Δαフィルタ演算部311からの誤差Δα(n+2)と加算前電圧位相指令値α”*を加算して得た変動抑制前電圧位相指令値α’*をαフィルタ演算部302へ出力する加算部312とを備える。これから、第2の実施形態と同様の効果を取得できる。更に、Δαフィルタ演算部311のフィルタ作用により、矩形波生成部307からPWM制御部105への切替え直後に発生する、実際の電圧位相αのステップ状の急峻な変化を十分なめらかにできる。よって、第2の実施形態と比較して、トルク振動をより抑制することができる。
(第5の実施形態)
次に、第5の実施形態に係るインバータシステムについて、第1の実施形態に係るインバータシステムと異なる点を中心に図18乃至図19を参照して説明する。また、第5の実施形態に係るインバータシステムについて、第1および第3の実施形態に係るインバータシステムと同様の構造には同じ番号を付し、説明を省略する。なお、第5の実施形態に係るインバータシステムは、第1の実施形態に係るインバータシステムとほとんど同じである。図18は、本発明の第5の実施形態に係るコントローラ50の内部構成を示す制御ブロック図である。図18に示すように、第5の実施形態に係るインバータシステムが第1の実施形態と異なる点は、コントローラ50が異なることだけである。
ここで、コントローラ50は、第1の実施形態と異なり、第3のフィルタ演算手段であるΔTフィルタ演算部511および第2の加算手段である加算部512を備える。また、第1の実施形態と異なり、コントローラ50に含まれるαテーブル参照部501、第1のフィルタ演算手段であるαフィルタ演算部302、矩形波制御手段である矩形波生成部507とフラグ制御部510が異なる。αテーブル参照部501は、第1の実施形態と異なり、後述する加算後トルク指令値T”[N・m]、モータ回転数N[rpm]および直流電圧値Vdc[V]に基づいて、予め格納されたテーブルを参照する。そして、当該テーブルから、変動抑制前電圧位相指令値α’*を求める。
矩形波生成部507は、第1の実施形態と同様に、インバータ1のスイッチング素子Tu+、Tu−、Tv+、Tv−、Tw+、Tw−を矩形波制御する。具体的には、第1の実施形態と同様に、矩形波生成部507は3相比較値を生成する。また、第1の実施形態と同様に、矩形波生成部507も、次回制御周期を演算し、次回演算タイミングを演算し、次回制御周期指令を生成する。また、矩形波生成部507は、第1の実施形態と同様に、今回演算タイミングに対する次々回演算タイミングの誤差Δα(n+3)(図3参照)を、演算タイミング毎に演算する。また、第1の実施形態と同様に、スイッチ部103における矩形波生成部507からPWM制御部105への切替えが行われる場合、矩形波生成部507は、実際の電圧位相α(n+3)で、αフィルタ演算部302を初期化する。同時に、矩形波生成部507は、誤差Δα(n+3)相当のトルク差であるトルク換算値ΔT(n+3)[N・m]を演算し、トルク換算値ΔT(n+3)[N・m]でΔTフィルタ演算部511を初期化する。
フラグ制御部510は、第1の実施形態と同様に、矩形波フラグを格納し、矩形波フラグに基づいてスイッチ部103および108の動作を制御する。具体的には、フラグ制御部510は、矩形波フラグが1になった場合、スイッチ部103および108の接点を端子Bから端子Aへ切替えさせる。これから、矩形波生成部507に、出力電圧Vu[V]、Vv[V]、Vw[V]を矩形波状に制御する矩形波制御を実行させる。一方、フラグ制御部510は、矩形波フラグが1から0へ変化した場合、スイッチ部103および108の接点を端子Aから端子Bへ切替えさせる。これから、PWM制御部105に、出力電圧Vu[V]、Vv[V]、Vw[V]を擬似正弦波状に制御するPWM制御を実行させる。ΔTフィルタ演算部511は、伝達関数1/(τ3s+1)を持つフィルタであり、加算部512にフィルタ後トルク換算値ΔT’[N・m]を出力する。なお、時定数τ3は数百ms程度である。加算部512は、フィルタ後トルク換算値ΔT’[N・m]とトルク指令値T[N・m]を加算し、加算後トルク指令値T”[N・m]をαテーブル参照部501へ出力する。
(矩形波生成部507からPWM制御部105への切替え処理)
次に、第5の実施形態における、矩形波制御する矩形波生成部507からPWM制御するPWM制御部105への切替え処理について説明する。第5の実施形態における上記切替え処理は、第1の実施形態と同じである。すなわち、(n+1)回目スイッチングタイミングまで矩形波演算が実行され、(n+2)回目スイッチングタイミングにおいて、上記切替えを行い、その後、PWM演算が実行される。そして、第1の実施形態と同様に、(n+3)回目スイッチングタイミング以降、PWM制御部105によってPWM制御が実行される。また、第1の実施形態と同様に、矩形波生成部507は、(n+2)回目スイッチングタイミングにおいて、上記切替え前に、実際の電圧位相α(n+3)=電圧位相指令値α*(n+3)+Δθ(1−K)(図3参照)を演算する。また、第1の実施形態と同様に、矩形波生成部507は、αフィルタ演算部302を実際の電圧位相α(n+3)で初期化する。
更に、第1の実施形態と異なり、矩形波生成部507は、誤差Δα(n+3)=Δθ(1−K)をトルク換算したトルク換算値ΔT(n+3)[N・m]を演算する。そして、矩形波生成部507は、トルク換算値ΔT(n+3)[N・m]でΔTフィルタ演算部511を初期化する。その後、上記切替えが行われる。これから、図5および図6に示した、第1の実施形態と同様の効果を取得できる。更に、矩形波生成部507からPWM制御部105への切替え前後でモータ回転数N[rpm]が急変した場合でも、ΔTフィルタ演算部511の時定数τ3が長いので、実際の電圧位相αを十分なめらかに変化させることができる。すなわち、図13に示した変化と同様になる。これから、出力電力Pnt[kw]の振動をより抑制できる。よって、第1の実施形態と比較して、トルク振動をより抑制することができる。なお、ΔTフィルタ演算部511の入力値は0なので、初期化されない限り、フィルタ後トルク換算値ΔT’[N・m]は影響を与えない。
(コントローラ50で実行される制御方法)
次に、第5の実施形態に係るコントローラ50で実行される制御方法について、図19を参照して説明する。図19は、図18に示すコントローラ50で実行される制御方法を示すフローチャートである。本制御方法は、図19に示すフローチャートのプログラムをコントローラ50に組み込み実現している。なお、本制御処理は、第1の実施形態に係るコントローラ10で実行される制御処理とほとんど同じである。第1の実施形態に係るコントローラ10で実行される制御処理と本制御処理が異なる点は、ステップS504〜S506の制御処理を追加したことだけである。
第1の実施形態のステップS101の制御処理と同様に、(n+1)回目スイッチングタイミングにおいて、αテーブル参照部501はαテーブル参照処理を実行する(ステップS501)。ここで、αテーブル参照処理とは、加算後トルク指令値T”[N・m]、モータ回転数N[rpm]および直流電圧値Vdc[V]に基づいて、予め格納されたテーブルを参照し、変動抑制前電圧位相指令値α’*を求める制御処理である。次に、フラグ制御部510に格納された矩形波フラグが1から0へ変化したか否かフラグ制御部510は判定する(ステップS502)。矩形波フラグが1から0へ変化していないとフラグ制御部510が判定した場合(ステップS502:No)、ΔTフィルタ演算部511はΔTフィルタ演算する。演算後、フィルタ後トルク換算値ΔT’[N・m]を加算部512へ出力する(ステップS505)。
次に、加算部512は、トルク指令値T[N・m]にフィルタ後トルク換算値ΔT’[N・m]を加算する。加算して得られた加算後トルク指令値T”[N・m]をαテーブル参照部501へ出力する(ステップS506)。次に、αフィルタ演算部302は、ステップS104の制御処理と同様に、αフィルタ演算する(ステップS507)。具体的には、αフィルタ演算部302は、変動抑制前電圧位相指令値α’*の変動を抑制し、スイッチ部103へ電圧位相指令値α*(n+2)を出力する。以降、ステップS105、S109およびS110の制御処理と、それぞれ同様であるステップS508、S512およびS513の制御処理を実行する。以上より、(n+1)回目スイッチングタイミングにおけるコントローラ50の制御処理を終了する。
(n+2)回目スイッチングタイミングにおいて、矩形波フラグが1から0へ変化したとフラグ制御部510が判定した場合(ステップS502:Yes)、ステップS503の制御処理に移行する。ステップS503の制御処理において、フラグ制御部510は、ステップS103の制御処理と同様に、矩形波生成部507にαフィルタ演算部302を実際の電圧位相α(n+3)で初期化させる。次に、矩形波生成部507は、ΔTフィルタ演算部511をトルク換算値ΔT(n+3)[N・m]で初期化する(ステップS504)。次に、ΔTフィルタ演算部511はΔTフィルタ演算し、フィルタ後トルク換算値ΔT’[N・m]を加算部512へ出力する(ステップS505)。ステップS504の制御処理において、ΔTフィルタ演算部511はトルク換算値ΔT(n+3)[N・m]で初期化されているので、フィルタ後トルク換算値ΔT’[N・m]はトルク換算値ΔT(n+3)[N・m]に等しくなる。次に、加算部512は、トルク指令値T[N・m]にフィルタ後トルク換算値ΔT’[N・m]を加算する。加算して得られた加算後トルク指令値T”[N・m]をαテーブル参照部501へ出力する(ステップS506)。
次に、ステップS104の制御処理と同様に、αフィルタ演算部302はαフィルタ演算する(ステップS507)。ステップS503の制御処理において、αフィルタ演算部302は実際の電圧位相α(n+3)で初期化されているので、αフィルタ演算部302の出力である電圧位相指令値α*は実際の電圧位相α(n+3)に等しくなる。次に、ステップS105の制御処理と同様に、フラグ制御部510は、矩形波フラグが1か否か判定する(ステップS508)。第1の実施形態と同様に、矩形波フラグは1でないとフラグ制御部510は判定するので(ステップS508:No)、フラグ制御部510は、スイッチ部103および108の接点を端子Aから端子Bへ切り替えさせる。これより、第1の実施形態と同様に、スイッチ部103を介して、PWM制御部105に電圧位相指令値α*=実際の電圧位相α(n+3)が出力される。以降、ステップS106〜S108の制御処理と、それぞれ同様であるステップS509〜S511の制御処理を実行する。以上より、(n+2)回目スイッチングタイミングにおけるコントローラ50の制御処理を終了する。
第1の実施形態と同様に、(n+3)回目スイッチングタイミングにおいて、矩形波フラグはすでに0になっているので、矩形波フラグが1から0へ変化していないとフラグ制御部510は判定する(ステップS502:No)。以降、ステップS505〜S511の制御処理を実行する。以上より、(n+3)回目スイッチングタイミングにおけるコントローラ50の制御処理を終了する。その後、ステップS508の制御処理において、矩形波フラグが1であるとフラグ制御部510が判定するまで、ステップS501、S502、S505〜S511の制御処理を順次繰り返す。その後、ステップS508の制御処理において、矩形波フラグが1であるとフラグ制御部510が判定した場合(ステップS508:Yes)、フラグ制御部510は、スイッチ部103および108の接点を端子Bから端子Aへ切り替えさせる。これより、第1の実施形態と同様に、スイッチ部103を介して、矩形波生成部507に電圧位相指令値α*が出力される。以降、ステップS512およびS513の制御処理を実行する。その後、ステップS502の制御処理において、矩形波フラグが1から0へ変化したとフラグ制御部510が判定するまで、ステップS501、S502、S505〜S508、S512およびS513の制御処理を順次繰り返す。
以上より、第5の実施形態に係るコントローラ50は、ΔTフィルタ演算部511を備える。ΔTフィルタ演算部511は、矩形波生成部507からPWM制御部105への切替え直後、誤差Δα(n+3)=Δθ(1−K)相当のトルク換算値ΔT(n+3)[N・m]を出力する。また、トルク換算値ΔT(n+3)[N・m]とトルク指令値T[N・m]を加算する加算部512とを備える。これから、第1の実施形態と同様の効果を取得できる。更に、ΔTフィルタ演算部511のフィルタ作用により、矩形波生成部507からPWM制御部105への切替え直後に発生する、実際の電圧位相αのステップ状の急峻な変化を十分なめらかにできる。よって、第1の実施形態と比較して、トルク振動をより抑制することができる。
(第6の実施形態)
次に、第6の実施形態に係るインバータシステムについて、第2の実施形態に係るインバータシステムと異なる点を中心に図20乃至図21を参照して説明する。また、第6の実施形態に係るインバータシステムについて、第2、第3および第5の実施形態に係るインバータシステムと同様の構造には同じ番号を付し、説明を省略する。なお、第6の実施形態に係るインバータシステムは、第2の実施形態に係るインバータシステムとほとんど同じである。図20は、本発明の第6の実施形態に係るコントローラ60の内部構成を示す制御ブロック図である。図20に示すように、第6の実施形態に係るインバータシステムが第2の実施形態と異なる点は、コントローラ60が異なることだけである。
ここで、コントローラ60は、第2の実施形態と異なり、第3のフィルタ演算手段であるΔTフィルタ演算部511および第2の加算手段である加算部512を備える。また、第2の実施形態と異なり、コントローラ60に含まれるαテーブル参照部501、第1のフィルタ演算手段であるαフィルタ演算部302、矩形波制御手段である矩形波生成部607とフラグ制御部610が異なる。矩形波生成部607は、第2の実施形態と同様に、インバータ1のスイッチング素子Tu+、Tu−、Tv+、Tv−、Tw+、Tw−を矩形波制御する。具体的には、第2の実施形態と同様に、矩形波生成部607は3相比較値を生成する。
また、第2の実施形態と同様に、矩形波生成部607は、次回制御周期を演算し、次回演算タイミングを演算し、次回制御周期指令を生成する。また、矩形波生成部607は、第2の実施形態と同様に、今回演算タイミングに対する次回演算タイミングの誤差Δα(n+2)(図3参照)を、演算タイミング毎に演算する。更に、第2の実施形態と同様に、スイッチ部103における矩形波生成部607からPWM制御部105への切替えが行われる場合、矩形波生成部607は、実際の電圧位相α(n+2)(図3参照)で、αフィルタ演算部302を初期化する。同時に、矩形波生成部607は、誤差Δα(n+2)相当のトルク差であるトルク換算値ΔT(n+2)[N・m]を演算し、トルク換算値ΔT(n+2)[N・m]でΔTフィルタ演算部511を初期化する。
フラグ制御部610は、第2の実施形態と同様に、矩形波フラグを格納し、矩形波フラグに基づいてスイッチ部103および108の動作を制御する。具体的には、フラグ制御部610は、矩形波フラグが1になった場合、スイッチ部103および108の接点を端子Bから端子Aへ切替えさせる。これから、矩形波生成部607に、出力電圧Vu[V]、Vv[V]、Vw[V]を矩形波状に制御する矩形波制御を実行させる。一方、フラグ制御部610は、矩形波フラグが1から0へ変化した場合、スイッチ部103および108の接点を端子Aから端子Bへ切替えさせる。これから、PWM制御部105に、出力電圧Vu[V]、Vv[V]、Vw[V]を擬似正弦波状に制御するPWM制御を実行させる。
(矩形波生成部607からPWM制御部105への切替え処理)
次に、第6の実施形態における、矩形波制御する矩形波生成部607からPWM制御するPWM制御部105への切替え処理について説明する。第6の実施形態における上記切替え処理は、第2の実施形態と同じである。すなわち、n回目スイッチングタイミングまで矩形波演算が実行され、(n+1)回目スイッチングタイミングにおいて、上記切替えを行い、その後、PWM演算が実行される。そして、第2の実施形態と同様に、(n+2)回目スイッチングタイミング以降、PWM制御部105によってPWM制御が実行される。また、第2の実施形態と同様に、矩形波生成部607は、(n+1)回目スイッチングタイミングにおいて、上記切替え前に、実際の電圧位相α(n+2)=電圧位相指令値α*(n+2)+誤差Δα(n+2)を演算する。
また、第2の実施形態と同様に、矩形波生成部607は、αフィルタ演算部302を実際の電圧位相α(n+2)で初期化する。更に、第2の実施形態と異なり、矩形波生成部607は、誤差Δα(n+2)=Δθをトルク換算したトルク換算値ΔT(n+2)[N・m]を演算する。そして、矩形波生成部607は、トルク換算値ΔT(n+2)[N・m]でΔTフィルタ演算部511を初期化する。その後、上記切替えが行われる。これから、第2の実施形態と同様の効果を取得できる。更に、矩形波生成部607からPWM制御部105への切替え前後でモータ回転数N[rpm]が急変した場合でも、ΔTフィルタ演算部511の時定数τ3が長いので、実際の電圧位相αを十分なめらかに変化させることができる。すなわち、図13に示した変化と同様になる。これから、出力電力Pnt[kw]の振動をより抑制できる。よって、第2の実施形態と比較して、トルク振動をより抑制することができる。
(コントローラ60で実行される制御方法)
次に、第6の実施形態に係るコントローラ60で実行される制御方法について、図21を参照して説明する。図21は、図20に示すコントローラ60で実行される制御方法を示すフローチャートである。本制御方法は、図21に示すフローチャートのプログラムをコントローラ60に組み込み実現している。なお、本制御処理は、第2の実施形態に係るコントローラ20で実行される制御処理とほとんど同じである。第2の実施形態に係るコントローラ20で実行される制御処理と本制御処理が異なる点は、ステップS605〜S607の制御処理を追加したことだけである。
第2の実施形態のステップS201の制御処理と同様に、n回目スイッチングタイミングにおいて、αテーブル参照部501はαテーブル参照処理を実行する(ステップS601)。ここで、αテーブル参照処理とは、加算後トルク指令値T”[N・m]、モータ回転数N[rpm]および直流電圧値Vdc[V]に基づいて、予め格納されたテーブルを参照し、変動抑制前電圧位相指令値α’*を求める制御処理である。次に、フラグ制御部610に格納された矩形波フラグが1から0へ変化したか否かフラグ制御部610は判定する(ステップS602)。矩形波フラグが1から0へ変化していないとフラグ制御部610が判定した場合(ステップS602:No)、ΔTフィルタ演算部511はΔTフィルタ演算する。演算後、フィルタ後トルク換算値ΔT’[N・m]を加算部512へ出力する(ステップS606)。
次に、加算部512は、トルク指令値T[N・m]にフィルタ後トルク換算値ΔT’[N・m]を加算する。加算して得られた加算後トルク指令値T”[N・m]をαテーブル参照部501へ出力する(ステップS607)。αフィルタ演算部302は、ステップS205の制御処理と同様に、αフィルタ演算する(ステップS608)。具体的には、αフィルタ演算部302は、変動抑制前電圧位相指令値α’*の変動を抑制し、スイッチ部103へ電圧位相指令値α*(n+1)を出力する。以降、ステップS206、S210およびS211の制御処理と、それぞれ同様であるステップS609、S613およびS614の制御処理を実行する。以上より、n回目スイッチングタイミングにおけるコントローラ60の制御処理を終了する。
(n+1)回目スイッチングタイミングにおいて、矩形波フラグが1から0へ変化したとフラグ制御部610が判定した場合(ステップS602:Yes)、ステップS603の制御処理に移行する。ステップS603の制御処理において、フラグ制御部610は、ステップS203の制御処理と同様に、矩形波生成部607にΔα演算を実行させる。次に、矩形波生成部607は、ステップS204の制御処理と同様に、αフィルタ演算部302を実際の電圧位相α(n+2)で初期化する(ステップS604)。次に、矩形波生成部607は、ΔTフィルタ演算部511をトルク換算値ΔT(n+2)[N・m]で初期化する(ステップS605)。次に、ΔTフィルタ演算部511はΔTフィルタ演算し、フィルタ後トルク換算値ΔT’[N・m]を加算部512へ出力する(ステップS606)。ステップS605の制御処理において、ΔTフィルタ演算部511はトルク換算値ΔT(n+2)[N・m]で初期化されているので、フィルタ後トルク換算値ΔT’[N・m]はトルク換算値ΔT(n+2)[N・m]に等しくなる。次に、加算部512は、トルク指令値T[N・m]にフィルタ後トルク換算値ΔT’[N・m]を加算する。加算して得られた加算後トルク指令値T”[N・m]をαテーブル参照部501へ出力する(ステップS607)。
次に、ステップS205の制御処理と同様に、αフィルタ演算部302はαフィルタ演算する(ステップS608)。ステップS604の制御処理において、αフィルタ演算部302は実際の電圧位相α(n+2)で初期化されているので、αフィルタ演算部302の出力である電圧位相指令値α*は実際の電圧位相α(n+2)に等しくなる。次に、ステップS206の制御処理と同様に、フラグ制御部610は、矩形波フラグが1か否か判定する(ステップS609)。第2の実施形態と同様に、矩形波フラグは1でないとフラグ制御部610は判定するので(ステップS609:No)、フラグ制御部610は、スイッチ部103および108の接点を端子Aから端子Bへ切り替えさせる。これより、第2の実施形態と同様に、スイッチ部103を介して、PWM制御部105に電圧位相指令値α*=実際の電圧位相α(n+2)が出力される。以降、ステップS207〜S209の制御処理と、それぞれ同様であるステップS610〜S612の制御処理を実行する。以上より、(n+1)回目スイッチングタイミングにおけるコントローラ60の制御処理を終了する。
第2の実施形態と同様に、(n+2)回目スイッチングタイミングにおいて、矩形波フラグはすでに0になっているので、矩形波フラグが1から0へ変化していないとフラグ制御部610は判定する(ステップS602:No)。以降、ステップS606〜S612の制御処理を実行する。以上より、(n+2)回目スイッチングタイミングにおけるコントローラ60の制御処理を終了する。その後、ステップS609の制御処理において、矩形波フラグが1であるとフラグ制御部610が判定するまで、ステップS601、S602、S606〜S612の制御処理を順次繰り返す。その後、ステップS609の制御処理において、矩形波フラグが1であるとフラグ制御部610が判定した場合(ステップS609:Yes)、フラグ制御部610は、スイッチ部103および108の接点を端子Bから端子Aへ切り替えさせる。これより、第2の実施形態と同様に、スイッチ部103を介して、矩形波生成部607に電圧位相指令値α*が出力される。以降、ステップS613およびS614の制御処理を実行する。その後、ステップS602の制御処理において、矩形波フラグが1から0へ変化したとフラグ制御部610が判定するまで、ステップS601、S602、S606〜609、S613およびS614の制御処理を順次繰り返す。
以上より、第6の実施形態に係るコントローラ60は、ΔTフィルタ演算部511を備える。ΔTフィルタ演算部511は、矩形波生成部607からPWM制御部105への切替え直後、誤差Δα(n+2)=Δθ相当のトルク換算値ΔT(n+2)[N・m]を出力する。また、トルク換算値ΔT(n+2)[N・m]とトルク指令値T[N・m]を加算する加算部512とを備える。これから、第2の実施形態と同様の効果を取得できる。更に、ΔTフィルタ演算部511のフィルタ作用により、矩形波生成部607からPWM制御部105への切替え直後に発生する、実際の電圧位相αのステップ状の急峻な変化を十分なめらかにできる。よって、第2の実施形態と比較して、トルク振動をより抑制することができる。
なお、以上に述べた実施形態は、本発明の実施の一例であり、本発明の範囲はこれらに限定されるものでなく、特許請求の範囲に記載した範囲内で、他の様々な実施形態に適用可能である。例えば、第1乃至第6の実施形態に係るインバータ1では、還流素子Du+、Du−、Dv+、Dv−、Dw+、Dw−を備えているが、特にこれに限定されるものでなく、無くても良い。
また、第1、第3および第5の実施形態では、(n+1)回目スイッチングタイミングにおいて、実際のモータ角周波数ωre[rad/s]が急変した場合について説明している。しかし、特にこれに限定されるものでなく、n回目スイッチングタイミングにおいて、実際のモータ角周波数ωre[rad/s]が急変した場合にも適用可能である。すなわち、n回目スイッチングタイミングで誤差Δθが発生した場合、誤差Δθに基づいて補正された次回制御周期tnext’により、(n+1)回目スイッチングタイミングにおいて、誤差Δθ’=Δθ(1−K)となる。そこで、当該誤差Δθ’に基づいて、誤差Δα(n+3)を演算すれば良い。同様に、実際のモータ角周波数ωre[rad/s]が急変し、誤差Δθが発生するタイミングは、矩形波生成部からPWM制御部への切替えるタイミングと無関係であっても、適用可能である。
また、第2、第4および第6の実施形態では、(n+1)回目スイッチングタイミングにおいて、実際のモータ角周波数ωre[rad/s]が急変した場合について説明している。しかし、特にこれに限定されるものでなく、n回目スイッチングタイミングにおいて、実際のモータ角周波数ωre[rad/s]が急変した場合にも適用可能である。すなわち、n回目スイッチングタイミングで誤差Δθが発生した場合、誤差Δθに基づいて補正された次回制御周期tnext’により、(n+1)回目スイッチングタイミングにおいて、誤差Δθ’=Δθ(1−K)となる。そこで、誤差Δθ’に基づいて、誤差Δα(n+2)を演算すれば良い。同様に、実際のモータ角周波数ωre[rad/s]が急変し、誤差Δθが発生するタイミングは、矩形波生成部からPWM制御部への切替えるタイミングと無関係であっても、適用可能である。
また、第4および第6の実施形態のコントローラ40、60では、第2の実施形態と同様に、(n+1)回目スイッチングタイミングにおいて、(n+1)回目制御周期tnowを矩形波生成部407、607で演算している。しかし、特にこれに限定されるものでなく、第2の実施形態の変形例のように、(n+1)回目制御周期tnowをPWM周期Tpwmと等しく設定しても良い。