(57)【要約】【課題】製造コストを抑制しつつ、インバータの制御特性を向上させる。【解決手段】インバータ制御装置１０は、複数のスイッチング素子を有するインバータ装置１を制御する装置であって、ｄ軸電流指令信号id*およびｑ軸電流指令信号iq*に基づく３相電圧指令信号Vu*，Vv*，Vw*を所定の演算周期T0ごとに演算する電流制御部１３と、電流制御部１３による３相電圧指令信号Vu*，Vv*，Vw*の演算結果に基づいて、演算周期T0とは異なる所定の更新周期T1ごとに更新後の３相電圧指令信号Vu**，Vv**，Vw**を出力するサンプリング周期変換部１４と、サンプリング周期変換部１４から出力された更新後の３相電圧指令信号Vu**，Vv**，Vw**に基づいて、複数のスイッチング素子をスイッチング駆動させるゲート信号を生成するゲート信号生成部１５と、を備える。【選択図】図１
2019187190.tif 000002
【特許請求の範囲】
【請求項１】
複数のスイッチング素子を有するインバータを制御する装置であって、
電流指令に基づく電圧指令を所定の演算周期ごとに演算する電流制御部と、
前記電流制御部による前記電圧指令の演算結果に基づいて、前記演算周期とは異なる所定の更新周期ごとに電圧指令信号を出力するサンプリング周期変換部と、
前記サンプリング周期変換部から出力された前記電圧指令信号に基づいて、前記複数のスイッチング素子をスイッチング駆動させるゲート信号を生成するゲート信号生成部と、を備えるインバータ制御装置。
【請求項２】
請求項１に記載のインバータ制御装置において、
前記更新周期は、前記演算周期よりも短いインバータ制御装置。
【請求項３】
請求項２に記載のインバータ制御装置において、
前記サンプリング周期変換部は、前記電圧指令の演算結果に０値を付加して前記更新周期に応じた零付加インパルス列を生成する零付加器と、前記零付加インパルス列を前記電圧指令信号に変換するローパスフィルタと、を有するインバータ制御装置。
【請求項４】
請求項３に記載のインバータ制御装置において、
前記サンプリング周期変換部は、前記電圧指令の演算結果に基づく微分演算を前記演算周期ごとに実行する微分器をさらに有し、
前記零付加器は、前記微分器による微分演算が施された前記電圧指令の演算結果に対して、前記更新周期ごとに前記０値を付加して前記零付加インパルス列を生成し、
前記ローパスフィルタは、前記零付加インパルス列に基づく積分演算を前記更新周期ごとに実行する積分器を含むインバータ制御装置。
【請求項５】
請求項１から請求項４のいずれか一項に記載のインバータ制御装置において、
前記演算周期をT0、前記更新周期をT1、前記電流制御部のカットオフ周波数をωc、円周率をπとしたとき、前記演算周期および前記更新周期は、以下の条件式を満たすインバータ装置。
１＜T0/T1＜π/(T0×ωc)
【請求項６】
複数のスイッチング素子を有するインバータを制御する方法であって、
コンピュータにより、電流指令に基づく電圧指令を所定の演算周期ごとに演算し、
前記コンピュータにより、前記電圧指令の演算結果に基づいて、前記演算周期とは異なる所定の更新周期ごとに電圧指令信号を出力し、
前記コンピュータから出力された前記電圧指令信号に基づいて、前記複数のスイッチング素子をスイッチング駆動させるゲート信号を生成するインバータ制御方法。
【請求項７】
コンピュータにより実行可能なプログラムであって、複数のスイッチング素子を有するインバータを制御するために、前記コンピュータを、
電流指令に基づく電圧指令を所定の演算周期ごとに演算する電流制御部と、
前記電流制御部による前記電圧指令の演算結果に基づいて、前記演算周期とは異なる所定の更新周期ごとに、前記複数のスイッチング素子をスイッチング駆動させるゲート信号を生成するための電圧指令信号を出力するサンプリング周期変換部と、として機能させるインバータ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インバータの制御に用いられるインバータ制御装置、インバータ制御方法、およびインバータ制御プログラムに関する。
【背景技術】
【０００２】
インバータの制御における制御特性の向上に関して、下記特許文献１に記載の技術が知られている。特許文献１には、直列接続された２つのスイッチングデバイスを三相有する第１インバータと、直列接続された２つのスイッチングデバイスを三相有する第２インバータと、を備え、第１インバータの各相の２つのスイッチングデバイスの中性点と第２インバータの各相の２つのスイッチングデバイスの中性点との間に各相の巻線を設けたオープン巻線システムの制御装置であって、トルク指令値と磁束指令値に基づいて、電流指令値と滑り指令値を算出するＦＯＣ部と、電流検出値と、角速度検出値と、電流指令値と、滑り指令値に基づいて電圧指令値を算出する電流制御部と、電圧指令値に基づいて第１インバータの電圧指令値と第２インバータの電圧指令値を生成する指令値変換部と、第１インバータの電圧指令値とキャリア信号とを比較して、第１インバータのゲート信号を生成する第１比較器と、第２インバータの電圧指令値とキャリア信号とを比較して、第２インバータのゲート信号を生成する第２比較器と、を備え、前記電流制御部は、キャリア信号の頂点では電流検出値と負荷電圧推定値と電圧指令値とに基づいて電流予測値を演算し、キャリア信号の中間点では前回の電流予測値と負荷電圧推定値と電圧指令値とに基づいて電流予測値を演算する電流予測部と、ロータ磁束推定値もしくは磁束指令値と、角速度検出値と、電流予測値とに基づいて負荷電圧推定値を演算する負荷電圧推定部と、１サンプリング先の電流指令値と電流予測値と負荷電圧推定値とに基づいて電圧指令値を演算する電圧指令値演算部と、を有し、電圧指令値をキャリア周波数の１／４周期で更新することを特徴とするオープン巻線システムの制御装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−６０３４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の制御装置では、電圧指令値をキャリア周波数の１／４周期で更新するために、電流制御部において電圧指令値の演算を高速に行う必要がある。そのため、高速演算が可能な高性能のマイクロコンピュータを用いて電流制御部を実現する必要があり、製造コストの増加につながる。
【課題を解決するための手段】
【０００５】
本発明によるインバータ制御装置は、複数のスイッチング素子を有するインバータを制御する装置であって、電流指令に基づく電圧指令を所定の演算周期ごとに演算する電流制御部と、前記電流制御部による前記電圧指令の演算結果に基づいて、前記演算周期とは異なる所定の更新周期ごとに電圧指令信号を出力するサンプリング周期変換部と、前記サンプリング周期変換部から出力された前記電圧指令信号に基づいて、前記複数のスイッチング素子をスイッチング駆動させるゲート信号を生成するゲート信号生成部と、を備える。
本発明によるインバータ制御方法は、複数のスイッチング素子を有するインバータを制御する方法であって、コンピュータにより、電流指令に基づく電圧指令を所定の演算周期ごとに演算し、前記コンピュータにより、前記電圧指令の演算結果に基づいて、前記演算周期とは異なる所定の更新周期ごとに電圧指令信号を出力し、前記コンピュータから出力された前記電圧指令信号に基づいて、前記複数のスイッチング素子をスイッチング駆動させるゲート信号を生成する。
本発明によるインバータ制御プログラムは、コンピュータにより実行可能なプログラムであって、複数のスイッチング素子を有するインバータを制御するために、前記コンピュータを、電流指令に基づく電圧指令を所定の演算周期ごとに演算する電流制御部と、前記電流制御部による前記電圧指令の演算結果に基づいて、前記演算周期とは異なる所定の更新周期ごとに、前記複数のスイッチング素子をスイッチング駆動させるゲート信号を生成するための電圧指令信号を出力するサンプリング周期変換部と、として機能させる。
【発明の効果】
【０００６】
本発明によれば、製造コストを抑制しつつ、インバータの制御特性を向上させることができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施形態に係るインバータ制御装置を含むインバータ装置の構成図である。
【図２】サンプリング周期変換部の基本構成図である。
【図３】サンプリング周期変換部内の各要素の出力を説明する図である。
【図４】サンプリング周期変換部の詳細構成図である。
【図５】本発明の一実施形態に係るインバータ制御装置における各処理のタイムチャートの一例を示す図である。
【図６】電流制御部の演算周期に対するサンプリング周期変換部の更新周期の割合を変化させたときのゲート信号出力の変化の様子を示す図である。
【図７】本発明の一実施形態に係るインバータ制御装置における電流制御部およびサンプリング周期変換部の処理を簡略化して示した電流制御系のブロック線図である。
【図８】電流制御系のボード線図の一例を示す図である。
【発明を実施するための形態】
【０００８】
以下、本発明の一実施形態について、図面を用いて説明する。
【０００９】
図１は、本発明の一実施形態に係るインバータ制御装置１０を含むインバータ装置１の構成図である。図１に示すインバータ装置１は、モータ２およびＤＣ電源３に接続されており、インバータ制御装置１０、ゲートドライバ１６、３相ブリッジ回路１７、平滑コンデンサ１８および電流センサ１９ａ，１９ｂを備える。インバータ装置１は、外部から入力されるトルク指令１１に基づいて、ＤＣ電源３から供給される直流電力を交流電力に変換し、モータ２に交流電力を送出する。モータ２は、インバータ装置１から交流電力を受けて回転駆動する電動機であり、具体的には誘導機、永久磁石式同期機、ＤＣブラシレスモータ、シンクロナスリラクタンスモータ、スイッチトリラクタンスモータなどがモータ２として用いられる。モータ２には回転角センサ２０が取り付けられており、回転角センサ２０が検出したモータ２の機械回転角θmはインバータ装置１に入力される。
【００１０】
まず、インバータ制御装置１０の構成について説明する。インバータ制御装置１０は、電流指令生成部１２、電流制御部１３、サンプリング周期変換部１４、ゲート信号生成部１５、Ａ／Ｄ変換部２１および速度計算部２２の各機能ブロックを備える。インバータ制御装置１０は、これらの機能ブロックを、マイクロコンピュータ（マイコン）で実行される所定のプログラムや、ＦＰＧＡ（Field Programmable Gate Array）、汎用ロジックＩＣ等のハードウェアを用いて実現することができる。なお、一般的にインバータの制御では、例えば電源安定化や温度保護など、他にも様々な機能が必要であるが、図１では本発明に関連する電流制御系を構成する機能要素に限定して示している。
【００１１】
電流指令生成部１２は、トルク指令１１が表す所望トルクτ*に応じて電流指令信号を生成する。一般的にモータ制御では計算の簡略化のために、モータ固有の座標を設定し、その座標系によって定義された電流に対して制御量を演算する。例えば誘導機の場合は、界磁方向をγ軸とし、それに直交する方向をδ軸として定義されるγ−δ座標系が一般に用いられる。また同期機の場合は、永久磁石の界磁方向であるｄ軸とそれに直交するｑ軸として定義されるｄ−ｑ座標系が一般に用いられる。以降では、モータ２が永久磁石埋込式同期モータ（ＩＰＭ）であり、インバータ装置１がｄ−ｑ座標系を用いてモータ２の制御を行う場合を例として説明するが、それ以外の場合についても同様である。
【００１２】
なお、トルク指令１１の生成場所は、インバータ装置１が制御対象とするモータ２の用途に応じて定まる。例えば、モータ２が電動車両の走行用モータである場合は、インバータ装置１の外部に設けられた車載コントローラにおいて、車両のアクセル開度に基づき演算された所望トルクτ*からトルク指令１１が生成される。また、モータ２が一般産業向けのモータである場合は、インバータ装置１が有する速度制御系においてトルク指令１１が生成されることもある。
【００１３】
ｄ−ｑ座標系の場合、電流指令生成部１２は、トルク指令１１で与えられた所望トルクτ*からｄ軸電流指令信号id*およびｑ軸電流指令信号iq*を生成する。このとき、同じトルクを発生するｄ軸電流とｑ軸電流の組み合わせは一意には決定できない。また、モータ２の回転速度によっても、所望トルクτ*に対応するｄ軸電流とｑ軸電流が変化する。そのため、電流指令生成部１２は通常、予め設定した条件の下で、所望トルクτ*に応じたｄ軸電流指令信号id*とｑ軸電流指令信号iq*を決定する。この条件としては、例えば、電流に対する発生トルクが最大となることや、効率が最大となることなどが挙げられる。
【００１４】
なお、上記のような条件の下で、所望トルクτ*とモータ２の回転速度に対応するｄ軸電流指令信号id*とｑ軸電流指令信号iq*をリアルタイムで計算することは、電流指令生成部１２において大きな計算負荷がかかる。そのため一般的には、モータ２のトルクおよび回転速度とこれに対応するｄ軸電流およびｑ軸電流との組み合わせをオフラインで予め計算しておき、その計算結果を電流指令マップとしてインバータ制御装置１０に予め記憶させておく。電流指令生成部１２は、速度計算部２２から出力される現在のモータ２の機械角回転速度ωmと、トルク指令１１が表す所望トルクτ*とを入力として、上記の電流指令マップを用いたマップ検索により、モータ２に出力すべきｄ軸電流とｑ軸電流の組み合わせを決定する。そして、決定したｄ軸電流とｑ軸電流の組み合わせに従って、ｄ軸電流指令信号id*およびｑ軸電流指令信号iq*を生成し、電流制御部１３へ出力する。
【００１５】
電流制御部１３は、所望トルクτ*に応じて電流指令生成部１２により決定された電流指令に基づく電圧指令を所定の演算周期ごとに演算する。具体的には、電流制御部１３は、電流指令生成部１２から入力されるｄ軸電流指令信号id*およびｑ軸電流指令信号iq*に基づいて、モータ２に印加する３相電圧指令信号Vu*，Vv*，Vw*を計算し、サンプリング周期変換部１４へ出力する。このとき電流制御部１３は、電流センサ１９ａ，１９ｂによりそれぞれ検出されてＡ／Ｄ変換部２１で取得されたＶ相検出電流ivおよびＷ相検出電流iwに基づいて、実ｄ軸電流idおよび実ｑ軸電流iqを求め、ｄ軸電流指令信号id*と実ｄ軸電流idの差分、およびｑ軸電流指令信号iq*と実ｑ軸電流iqの差分がそれぞれ０となるように、ｄ軸電圧指令およびｑ軸電圧指令を演算する。そして、モータ２の電気回転角θeを用いて、ｄ−ｑ座標系から実際のモータ２への出力である３相電流および３相電圧を表現する３相座標系への座標変換を行うことで、ｄ軸電圧指令およびｑ軸電圧指令を３相電圧指令信号Vu*，Vv*，Vw*に変換する。このような演算を電流制御部１３において所定の演算周期T0ごとに行うことで、ｄ軸電流指令信号id*およびｑ軸電流指令信号iq*から３相電圧指令信号Vu*，Vv*，Vw*を演算することができる。
【００１６】
なお、電流制御部１３において、電気回転角θeは、速度計算部２２から出力される機械角回転速度ωmにモータ２の極対数を乗算することで電気角回転速度ωeを求め、この電気角回転速度ωeを積分することにより求められる。また、実ｄ軸電流idおよび実ｑ軸電流iqは、Ｖ相検出電流ivおよびＷ相検出電流iw以外から求めることもできる。モータ２において実際に流れる３相電流iu，iv，iwの少なくとも２つを検出し、その検出結果に対して３相座標系からｄ−ｑ座標系への座標変換を行うことにより、実ｄ軸電流idおよび実ｑ軸電流iqの計算が可能である。
【００１７】
一般的なモータ制御では、適当な非干渉化を行うことでｄ軸とｑ軸を独立に制御可能となる。そのため、本実施形態では電流制御部１３において非干渉化とＰＩ制御を行うことにより、ｄ軸電流指令信号id*およびｑ軸電流指令信号iq*から３相電圧指令信号Vu*，Vv*，Vw*を計算できるようにしている。なお、ｄ軸とｑ軸間の干渉状態は電気角回転速度ωeによって変化し、またｄ−ｑ座標系と３相座標系の間で行われる座標変換の演算コストも非常に高いため、インバータ制御装置１０が有する各機能ブロックの中で、電流制御部１３の演算負荷が相対的に大きい。したがって、電流制御部１３の処理時間がインバータ制御装置１０の制御周期を決定する主要因となっている。
【００１８】
サンプリング周期変換部１４は、電流制御部１３による３相電圧指令信号Vu*，Vv*，Vw*の演算結果に基づいて、電流制御部１３の演算周期T0とは異なる所定の更新周期ごとに更新後の３相電圧指令信号Vu**，Vv**，Vw**を生成し、ゲート信号生成部１５へ出力する。このときサンプリング周期変換部１４は、例えば、電流制御部１３において演算周期T0ごとに生成される３相電圧指令信号Vu*，Vv*，Vw*から、演算周期T0よりも短い更新周期T1で更新される３相電圧指令信号Vu**，Vv**，Vw**を生成する。なお、サンプリング周期変換部１４における処理の詳細については後述する。
【００１９】
ゲート信号生成部１５は、サンプリング周期変換部１４から出力された更新後の３相電圧指令信号Vu**，Vv**，Vw**に基づいて、３相ブリッジ回路１７が有する複数のスイッチング素子をスイッチング駆動させるゲート信号を生成する。ゲート信号生成部１５は、例えば相補ＰＷＭと呼ばれる周知の手法を用いて、３相電圧指令信号Vu**，Vv**，Vw**を各スイッチング素子に対応するゲート信号へと変換する。なお、ゲート信号を生成するための演算処理は、ソフトウェアで行うには負荷が重過ぎるため、ゲート信号生成部１５はマイコン内蔵の周辺ハードウェアやＦＰＧＡなどによって実現されることが好ましい。このようにすれば、ゲート信号生成部１５の演算処理時間を大幅に短縮できるとともに、マイコンのソフトウェアによって実現される電流制御部１３等とは独立にゲート信号生成部１５を動作させることができる。したがって、ゲート信号生成部１５の処理がインバータ制御装置１０の演算負荷にほとんど影響することはない。
【００２０】
ゲート信号生成部１５によって生成されたゲート信号は、インバータ制御装置１０からインバータ装置１内のゲートドライバ１６に出力される。ゲートドライバ１６は、入力されたゲート信号を所定の電気信号に変換して３相ブリッジ回路１７の各スイッチング素子へ出力することで、３相ブリッジ回路１７を駆動する。スイッチング素子は、例えばＳｉ、ＳｉＣ、ＧａＮなどの半導体素子を用いて構成されており、ゲートドライバ１６は、ゲート信号をこれらの半導体素子に応じた電気信号へと変換して出力する。
【００２１】
３相ブリッジ回路１７は、複数のスイッチング素子から構成されている。３相ブリッジ回路１７の各スイッチング素子は、ゲートドライバ１６から入力される電気信号に応じてオンまたはオフされることで、スイッチング駆動する。この各スイッチング素子のスイッチング駆動により、ＤＣ電源３から供給される直流電力が３相交流電力に変換され、モータ２の各相に出力される。３相ブリッジ回路１７とＤＣ電源３の間には、平滑コンデンサ１８が接続されている。平滑コンデンサ１８は、配線インダクタンスなどに起因するＤＣ電源３の電力供給遅れを補償する目的で設けられたものであり、一般的にスイッチング周波数が高いほど平滑コンデンサ１８の容量を小さくできる。また、スイッチング周波数の向上は制御の時間分解能を向上させることにもつながるため、モータ２のトルクリプルの低減も期待される。以上の理由から、スイッチング周波数の向上が求められている。
【００２２】
電流センサ１９ａ，１９ｂは、モータ２の相電流を検出し、その検出結果をインバータ制御装置１０内のＡ/Ｄ変換部２１に出力する。図１の例では、モータ２に流れる３相電流iu，iv，iwのうち、Ｖ相検出電流ivおよびＷ相検出電流iwを電流センサ１９ａ，１９ｂによってそれぞれ検出している。Ａ/Ｄ変換部２１は、電流センサ１９ａ，１９ｂによる検出電流iv、iwを一定のサンプリング周期で取得し、マイコン内で利用できるデータ形式に変換して電流制御部１３へ出力する。速度計算部２２は、回転角センサ２０から出力される機械回転角θmを取り込み、モータ２の機械角回転速度ωmに変換する。
【００２３】
次に、サンプリング周期変換部１４の詳細について、図２および図３を参照して説明する。図２は、サンプリング周期変換部１４の基本構成図である。図３は、サンプリング周期変換部１４内の各要素の出力を説明する図である。なお図３では、サンプリング周期変換部１４の更新周期T1が電流制御部１３の演算周期T0の半分である場合の出力例を示している。
【００２４】
図２に示すように、サンプリング周期変換部１４には、３相電圧指令信号Vu*，Vv*，Vw*が源信号３１として入力される。なお、インバータ制御装置１０において図２のような構成のサンプリング周期変換部１４を３つ設け、この３つのサンプリング周期変換部１４に対して３相電圧指令信号Vu*，Vv*，Vw*を別々に源信号３１としてそれぞれ入力してもよい。あるいは、１つのサンプリング周期変換部１４に３相電圧指令信号Vu*，Vv*，Vw*をまとめて源信号３１として入力してもよい。その場合、サンプリング周期変換部１４では、３相電圧指令信号Vu*，Vv*，Vw*のそれぞれを対象として、以下で説明するような処理を行う。
【００２５】
サンプリング周期変換部１４において、入力された源信号３１はサンプラー３２によってインパルス列３３に変換される。サンプラー３２は、電流制御部１３の演算周期T0と同じサンプル周期T0で源信号３１をサンプリングすることで、サンプル周期T0ごとの離散値であるインパルス列３３を生成する。図３（ａ）は、源信号３１とインパルス列３３の例を示している。図３（ａ）において黒丸で示したインパルス列３３の各値は、破線で示すような連続値である源信号３１をサンプル周期T（T=T0）ごとにサンプリングしたものである。ただし実際には、サンプリング周期変換部１４に源信号３１として入力される３相電圧指令信号Vu*，Vv*，Vw*は、前述のように電流制御部１３において演算周期T0ごとに演算されるものである。したがって、３相電圧指令信号Vu*，Vv*，Vw*をそのままインパルス列３３として取り込むことでも、サンプル周期T0ごとの離散値であるインパルス列３３を生成することが可能である。
【００２６】
図２の説明に戻ると、源信号３１に基づいて生成されたサンプル周期T0ごとのインパルス列３３は、零付加器３４に入力される。零付加器３４は、インパルス列３３に０値を付加することでインパルス列３３を補間し、更新周期T1に応じた零付加インパルス列３５を生成する。図３（ｂ）は、零付加インパルス列３５の例を示している。図３（ｂ）において白丸で示した値は、零付加器３４によって付加された０値を示しており、黒丸で示したインパルス列３３の各値の間に付加されている。図３（ｂ）の各白丸および各黒丸を合わせたものが零付加インパルス列３５を表している。なお、零付加器３４の演算は、前述のサンプル周期T0よりも短い更新周期T1で繰り返し実行される。
【００２７】
本実施形態では、前述のように更新周期T1がサンプル周期T0、すなわち電流制御部１３の演算周期T0の半分であるため、インパルス列３３の入力頻度に対して２倍の頻度で零付加器３４を動作させるようにする。すなわち、零付加器３４にインパルス列３３が入力されたときには、零付加器３４からインパルス列３３の値をそのまま出力し、零付加器３４にインパルス列３３が入力されないときには、零付加器３４から０値を出力する。こうした動作を零付加器３４において交互に行うことで、更新周期T1に応じた零付加インパルス列３５が生成される。
【００２８】
零付加器３４によって生成された零付加インパルス列３５は、ローパスフィルタ３６に入力される。ローパスフィルタ３６は、零付加インパルス列３５の高周波成分を除去することにより、零付加インパルス列３５をアップサンプル信号３７に変換する。図３（ｃ）は、アップサンプル信号３７の例を示している。図３（ｃ）では、図３（ｂ）において白丸で示した０値が、その前後の黒丸の値の大きさに応じて変化している。これにより、図３（ａ）で示したサンプル周期T0ごとのインパルス列３３から、インパルス列３３の中間が補間された更新周期T1=T0/2ごとのアップサンプル信号３７が得られる。
【００２９】
サンプリング周期変換部１４は、上記のようにして３相電圧指令信号Vu*，Vv*，Vw*からそれぞれ得られたアップサンプル信号３７を、更新後の３相電圧指令信号Vu**，Vv**，Vw**として、ゲート信号生成部１５へ出力する。したがって、サンプリング周期変換部１４において、更新周期T1=T0/2ごとに更新後の３相電圧指令信号Vu**，Vv**，Vw**を出力することが可能となる。
【００３０】
図４は、デジタルフィルタを用いて図２のサンプリング周期変換部１４を実現した場合のサンプリング周期変換部１４の詳細構成図である。図４では、零付加器３４の前段にプライマリ処理３８が配置されるとともに、プライマリ処理３８の後段に、零付加器３４を含むセコンダリ処理３９が配置されている。プライマリ処理３８のタスク周期は、図２で説明したサンプル周期T0と同一であり、これは電流制御部１３の演算周期T0と等しい。一方、セコンダリ処理３９のタスク周期は、図２で説明した更新周期T1と同一であり、これはプライマリ処理３８のタスク周期よりも短い。前述のように更新周期T1が演算周期T0の半分である場合には、セコンダリ処理３９のタスク周期は、プライマリ処理３８のタスク周期の半分となる。すなわち、図４に示すサンプリング周期変換部１４は、タスク周期T0ごとに実行される前段のプライマリ処理３８と、タスク周期T1=T0/2ごとに実行される後段のセコンダリ処理３９とによって実現される。
【００３１】
プライマリ処理３８は、サンプラー３２と、微分要素をそれぞれ構成する前回値要素４０ａ，４０ｂとを含む。プライマリ処理３８はタスク周期T0ごとに実行されるため、現在時刻をt0とすると、プライマリ処理３８における前回値要素４０ａ，４０ｂは、前回値としてt0−T0における源信号３１の値をそれぞれ出力する。プライマリ処理３８では、前回値要素４０ａ，４０ｂを微分要素とする微分器において、源信号３１として入力された３相電圧指令信号Vu*，Vv*，Vw*に基づく微分演算をタスク周期T0ごと、すなわち電流制御部１３の演算周期T0ごとに実行する。
【００３２】
セコンダリ処理３９は、零付加器３４と、積分器を構成する前回値要素４０ｃ，４０ｄと、調整ゲイン４１とを含む。セコンダリ処理３９はタスク周期T1=T0/2ごとに実行されるため、セコンダリ処理３９における零付加器３４は、プライマリ処理３８で微分器により微分演算が施されたインパルス列３３に対して、タスク周期T1ごと、すなわち更新周期T1ごとに０値を付加し、零付加インパルス列３５を生成する。また、現在時刻をt0とすると、セコンダリ処理３９における前回値要素４０ｃ，４０ｄは、前回値としてt0−T1における零付加インパルス列３５の値をそれぞれ出力する。セコンダリ処理３９では、前回値要素４０ｃ，４０ｄを積分要素とする積分器において、零付加インパルス列３５に基づく積分演算をタスク周期T1ごと、すなわち更新周期T1ごとに実行する。なお、これらの積分器は、図２のローパスフィルタ３６に相当する。調整ゲイン４１は、積分器からの出力に所定の調整ゲイン（例えば0.5）を乗算することで、上記の微分演算と積分演算により減少したゲインを源信号３１と同等に調整する。
【００３３】
図４に示したサンプリング周期変換部１４の構成によれば、プライマリ処理３８およびセコンダリ処理３９をデジタル的に容易に実現可能である。例えば、プライマリ処理３８をマイコンのプログラム処理によって実装し、セコンダリ処理３９をＦＰＧＡで実装することができる。したがって、ＰＷＭ機能を有さないマイコンを用いてもインバータ制御装置１０を構成することができる。さらに、マイコンを電流制御部１３の処理に専念させることで、インバータ制御装置１０全体での処理時間を低減できるため、制御周期の短縮化に貢献する。
【００３４】
図５は、本発明の一実施形態に係るインバータ制御装置１０における各処理のタイムチャートの一例を示す図である。図５では、図２や図３と同様に、サンプリング周期変換部１４の更新周期T1が電流制御部１３の演算周期T0の半分である場合、すなわちT1=T0/2である場合の例を示している。また、図５では、インバータ制御装置１０において、Ａ／Ｄ変換部２１、電流制御部１３、ゲート信号生成部１５およびサンプリング周期変換部１４でそれぞれ実行される処理をタスク単位で示している。
【００３５】
本実施形態のインバータ制御装置１０では、図５に示すように、Ａ／Ｄ変換部２１およびゲート信号生成部１５はそれぞれ別々のハードウェアによって実現され、電流制御部１３およびサンプリング周期変換部１４はマイコンで実行されるソフトウェアによって実現されるものとする。したがって、電流制御部１３と、サンプリング周期変換部１４と、電流制御部１３またはサンプリング周期変換部１４とは、互いに並列動作が可能である。一方、同一のマイコンで実行される電流制御部１３とサンプリング周期変換部１４とは、両方を同時に動作させることはできない。そのため本実施形態では、電流制御部１３よりもサンプリング周期変換部１４の優先順位を高く設定することで、サンプリング周期変換部１４のタスクを優先して実行させるようにしている。
【００３６】
マイコンでは、サンプリング周期変換部１４の更新周期T1ごとに、すなわち電流制御部１３の演算周期T0の半分の時間ごとに、タイマ割込５１を発生させる。タイマ割込５１が発生すると、マイコンはサンプリング周期変換部１４として動作し、サンプリング周期変換部１４の１回目の処理を実行する。この１回目の処理では、サンプリング周期変換部１４は、マイコン内の不図示のメモリから後述の電圧指令６７を取得し、Ａ／Ｄ変換部２１を動作させるためのＡ／Ｄ設定処理５２を実施する。Ａ／Ｄ設定処理５２を実施したら、サンプリング周期変換部１４は、Ａ／Ｄ変換実行トリガ５３を発生してＡ／Ｄ変換部２１を起動させた後、速度／角度演算５４を実施する。速度／角度演算５４では、サンプリング周期変換部１４は、図１の回転角センサ２０から出力されるモータ２の機械回転角θmを取得し、電流制御部１３で用いられる電気角回転速度ωeおよび電気回転角θeの計算を行う。速度／角度演算５４で得られた電気角回転速度ωeと電気回転角θeは、速度／角度データ５５としてサンプリング周期変換部１４から出力され、メモリに記憶される。
【００３７】
その後、サンプリング周期変換部１４は、図４で説明したプライマリ処理３８とセコンダリ処理３９を順次実行する。セコンダリ処理３９を実施したら、サンプリング周期変換部１４は、得られたアップサンプル信号３７を１回目のアップサンプル信号３７ａとして出力し、マイコンのメモリに記憶する。
【００３８】
Ａ／Ｄ変換部２１は、上記で説明したサンプリング周期変換部１４の１回目の処理がマイコンで実行されているときに、これと並行してＡ／Ｄ変換処理６１を実施する。Ａ／Ｄ変換処理６１では、Ａ／Ｄ変換部２１は、図１の電流センサ１９ａ，１９ｂからそれぞれ出力されるＶ相検出電流ivおよびＷ相検出電流iwの情報を取得する。Ａ／Ｄ変換処理６１を実施したら、Ａ／Ｄ変換部２１は、電流制御部１３を起動させるためのソフトウェア割込信号６２を発生する。
【００３９】
Ａ／Ｄ変換部２１においてソフトウェア割込信号６２が発生されたときに、マイコンではサンプリング周期変換部１４の１回目の処理がまだ終了していないとする。この場合、前述の優先順位の効果により、マイコンではサンプリング周期変換部１４の１回目の処理が優先され、これが終了するまでの終了待ち時間６３の間は、電流制御部１３の処理が待たされる。サンプリング周期変換部１４の１回目の処理が終了すると、マイコンは電流制御部１３として動作し、電流制御演算の前半部６５ａを実行する。この電流制御演算の前半部６５ａでは、電流制御部１３は、Ａ／Ｄ変換部２１から電流情報６４を取得するとともに、メモリに保存された速度／角度データ５５を取得し、これらの情報を用いて、所望トルクτ*に応じた３相電圧指令信号Vu*，Vv*，Vw*の計算を開始する。
【００４０】
ここで、電流制御部１３における電流制御演算の全体の実行時間は、前述のタイマ割込５１の発生周期、すなわちT1=T0/2よりも長いとする。この場合、マイコンでは電流制御演算の実行中に、タイマ割込５１に応じてサンプリング周期変換部１４が起動され、サンプリング周期変換部１４の２回目の処理が開始される。すなわち、前述の優先順位の効果により、マイコンでは電流制御部１３による電流制御演算の実行中であっても、サンプリング周期変換部１４の２回目の処理が優先され、これが終了するまでの終了待ち時間６６の間は、電流制御部１３の処理が待たされる。
【００４１】
サンプリング周期変換部１４の２回目の処理では、サンプリング周期変換部１４は、セコンダリ処理３９のみを実行する。セコンダリ処理３９を実施したら、サンプリング周期変換部１４は、得られたアップサンプル信号３７を２回目のアップサンプル信号３７ｂとして出力し、マイコンのメモリに記憶する。
【００４２】
また、ゲート信号生成部１５は、上記のタイマ割込５１に応じて、サンプリング周期変換部１４の１回目の処理で得られた１回目のアップサンプル信号３７ａをメモリから取得し、これに基づいて、ゲートドライバ１６へ出力するゲート信号の生成に用いるデータを更新するデータ更新処理７１を実行する。その後、ゲート信号生成部１５は、更新されたデータに基づくＰＷＭ出力処理７２を実行することで、１回目のアップサンプル信号３７ａに応じたゲート信号を生成してゲートドライバ１６へ出力する。
【００４３】
サンプリング周期変換部１４の２回目の処理が終了すると、マイコンは電流制御部１３の動作を再開し、電流制御演算の後半部６５ｂを実行する。電流制御演算が終了したら、電流制御部１３は、得られた電圧指令６７をマイコンのメモリに記憶する。
【００４４】
その後マイコンでは、次回のタイマ割込５１に応じて再びサンプリング周期変換部１４が起動されることで、前述のようにサンプリング周期変換部１４の１回目の処理が実行される。このときサンプリング周期変換部１４は、電流制御演算の後半部６５ｂによってメモリに保存された電圧指令６７を取得する。また、ゲート信号生成部１５は、上記次回のタイマ割込５１に応じて、サンプリング周期変換部１４の２回目の処理で得られた２回目のアップサンプル信号３７ｂをメモリから取得し、これに基づいて、ゲートドライバ１６へ出力するゲート信号の生成に用いるデータを更新するデータ更新処理７１を実行する。その後、ゲート信号生成部１５は、更新されたデータに基づくＰＷＭ出力処理７２を実行することで、２回目のアップサンプル信号３７ｂに応じたゲート信号を生成してゲートドライバ１６へ出力する。
【００４５】
インバータ制御装置１０では、以上説明したような手順に従って、Ａ／Ｄ変換部２１、電流制御部１３、ゲート信号生成部１５およびサンプリング周期変換部１４の各処理が実行される。これにより、電流制御部１３の演算周期T0に対して、その半分の更新周期T1ごとに更新されるゲート信号をゲート信号生成部１５において生成し、ゲートドライバ１６へ出力することができる。
【００４６】
なお、上記の図５の説明では、説明の都合上、電流制御部１３が行う電流制御演算を前半部６５ａと後半部６５ｂに分けて記載したが、これらは一連の電流制御演算がタイマ割込５１によって強制的に分割されて生じたものである。そのため、これらをマイコンが実行するためのプログラムは、予め前半部６５ａと後半部６５ｂに分けてコーディングされたものではない。したがって、電流制御部１３ではサンプリング周期変換部１４を使用しない場合のプログラムと全く同じものを使用可能であるため、設計者はサンプリング周期変換部１４の実装に伴って電流制御部１３のプログラムを改変する必要がない。これにより、本実施形態のインバータ制御装置１０を導入した場合には、開発時の余分な工数の発生を抑制してコスト削減に貢献できる。
【００４７】
また、図４で説明したように、サンプリング周期変換部１４は簡単なデジタルフィルタを用いて実現可能である。そのため、本実施形態のインバータ制御装置１０を導入することで、従来のインバータに比べてインバータ装置１の制御周期を容易に半減し、出力周波数を２倍にすることができる。
【００４８】
なお、図５ではゲート信号出力の更新タイミングを等間隔にするため、タイマ割込５１に同期させてゲート信号の生成に用いるデータを更新する構成としたが、できるだけ早く更新結果をゲート信号出力に反映させるため、サンプリング周期変換部１４の処理の終了直後に、得られたアップサンプル信号３７ａ，３７ｂをゲート信号生成部１５のデータに反映させる構成としても良い。この場合、１回目のサンプリング周期変換部１４の処理時間と、２回目のサンプリング周期変換部１４との処理時間が異なるため、そのままではゲート信号出力の更新タイミングが等間隔とはならない。そこで、２回目のサンプリング周期変換部１４の処理後に適当な時間遅延処理を設けることで、ゲート信号出力の更新タイミングが等間隔となるようにしても良い。
【００４９】
次に、電流制御部１３の演算周期T0に対するサンプリング周期変換部１４の更新周期T1の割合とゲート信号出力の関係について説明する。図６は、電流制御部１３の演算周期T0に対するサンプリング周期変換部１４の更新周期T1の割合を変化させたときのゲート信号出力の変化の様子を示す図である。図６では、電流制御部１３の演算周期T0をT0＝100μsとし、サンプリング周期変換部１４による周波数倍率ｎをｎ＝1,2,4,8と変化させた場合のゲート信号出力の例を示している。なお、周波数倍率ｎとは、演算周期T0と更新周期T1を用いてｎ＝T0/T1と定義される値である。
【００５０】
図６では、周波数倍率ｎが大きくなるほどゲート信号出力における信号遅延が大きくなっている。ここで、ｎ＝1である場合のゲート信号出力に対する遅延時間をλとすると、ｎ＝2,4,8での遅延時間λは以下の式（１）で表される。
λ＝T0×n/2    ・・・（１）
【００５１】
次に、電流制御部１３の演算周期T0およびサンプリング周期変換部１４の更新周期T1に対する適用条件について説明する。図７は、本発明の一実施形態に係るインバータ制御装置１０における電流制御部１３およびサンプリング周期変換部１４の処理を簡略化して示した電流制御系のブロック線図である。なお、図７では説明を簡略化するために、ｄ−ｑ座標系と３相座標系の間の座標変換や電流値から電圧値への変換については記載を省略している。
【００５２】
図７において、電流制御系には電流指令信号８１が入力される。電流指令信号８１は、具体的には、電流指令生成部１２から出力されて電流制御部１３に入力されるｄ軸電流指令信号id*やｑ軸電流指令信号iq*に相当する。ＰＩ制御８３では、入力された電流指令信号８１と出力電流信号８２の検出値との差が０となるような制御が行われる。図７に示したＰＩ制御８３において、Kpは比例ゲイン、Kiは積分ゲイン、sはラプラス演算子をそれぞれ表している。
【００５３】
ＰＩ制御８３の制御結果は、遅れ要素８４を経て電気系プラントモデル８５に入力される。遅れ要素８４は、サンプリング周期変換部１４において生じる前述の遅延時間λをモデル化したものである。電気系プラントモデル８５は、非干渉化を施した後のｄ軸，ｑ軸の電圧と電流の関係を表したものであり、インダクタンス成分Ｌと抵抗成分Ｒによって規定される一次遅れ要素として表すことができる。この電気系プラントモデル８５によって出力電流信号８２が求められる。
【００５４】
ここで、遅れ要素８４の遅延時間λは、電流制御系の安定性に影響する。そのため、本実施形態のインバータ制御装置１０においてサンプリング周期変換部１４の適用限界を定める必要条件は、図７に示した電流制御系の安定条件から計算できる。
【００５５】
例えば、図７の電流制御系全体が１次系となるように、ＰＩ制御８３の比例ゲインKpおよび積分ゲインKiを決定する。このようにすると、遅延時間λが０である場合には電流制御系が全周波数領域にわたって必ず安定となるため、他の制御系よりも遅延に対してロバストであるという特徴がある。すなわち、この場合における図７の電流制御系の安定性条件は、一般の制御系において安定性を確保できる限界値に相当すると考えられる。
【００５６】
上記の条件下では、電流制御部１３のカットオフ周波数をωcとしたときに、電気系プラントモデル８５のインダクタンス成分Lおよび抵抗成分Rを用いて、以下の式（２）、（３）により比例ゲインKpおよび積分ゲインKiを決定することができる。
Kp＝L×ωc    ・・・（２）
Ki＝Kp×R/L    ・・・（３）
【００５７】
図８は、図７で示した電流制御系（開ループ）のボード線図の一例を示す図である。前述のように制御系として安定性の高い１次系を採用することで、図８に示すように、ボード線図のゲイン形状は-20dB/decの傾きを持つ直線となる。一方、位相については、１次系の場合は-90°から-180°の範囲内に収まるが、本制御系では遅延時間λの効果により、-180°を超えてさらに位相遅れが進行する。このときの位相余裕は、遅延時間λとカットオフ周波数ωcの大小関係によって決まり、位相余裕が正で安定、位相余裕が負で不安定となる。図８のボード線図において、（ａ）では安定な場合を示し、（ｂ）では不安定な場合を示している。具体的には、カットオフ周波数ωc（＝Kp/L）が以下の式（４）の条件を満たすときに、図７の電流制御系が安定となる。すなわち、図７に示した電流制御系の安定条件は、以下の式（４）により表される。式（４）において、πは円周率である。
ωc＝Kp/L＜π/(2λ)    ・・・（４）
【００５８】
前述の式（１）および上記の式（４）から、以下の条件式（５）が得られる。
n＜π/(T0×ωc)    ・・・（５）
【００５９】
また、サンプリング周期変換部１４の更新周期T1は、電流制御部１３の演算周期T0よりも小さくする必要があり、ｎ＝T0/T1であることから、ｎ＞１の条件を満たす必要がある。したがって、これと上記の条件式（５）から、電流制御部１３の演算周期T0およびサンプリング周期変換部１４の更新周期T1の適用条件として、以下に示す条件式（６）が導かれる。
１＜T0/T1＜π/(T0×ωc)    ・・・（６）
【００６０】
以上説明したように、電流制御部１３の演算周期T0およびカットオフ周波数ωcと、サンプリング周期変換部１４の更新周期T1との間には、上記の条件式（６）が成立する。これにより、インバータ制御装置１０において電流制御系を安定させることができるため、インバータ装置１の制御が発散するのを防止できる。
【００６１】
以上説明した本発明の一実施形態によれば、以下の作用効果を奏する。
【００６２】
（１）インバータ制御装置１０は、複数のスイッチング素子を有するインバータ装置１を制御する装置であって、ｄ軸電流指令信号id*およびｑ軸電流指令信号iq*に基づく３相電圧指令信号Vu*，Vv*，Vw*を所定の演算周期T0ごとに演算する電流制御部１３と、電流制御部１３による３相電圧指令信号Vu*，Vv*，Vw*の演算結果に基づいて、演算周期T0とは異なる所定の更新周期T1ごとに更新後の３相電圧指令信号Vu**，Vv**，Vw**を出力するサンプリング周期変換部１４と、サンプリング周期変換部１４から出力された更新後の３相電圧指令信号Vu**，Vv**，Vw**に基づいて、複数のスイッチング素子をスイッチング駆動させるゲート信号を生成するゲート信号生成部１５と、を備える。このようにしたので、高速演算が可能な高性能のマイクロコンピュータを用いずとも、ゲート信号生成部１５に入力される更新後の３相電圧指令信号Vu**，Vv**，Vw**を高速に更新することができる。そのため、製造コストを抑制しつつ、インバータの制御特性を向上させることができる。
【００６３】
（２）インバータ制御装置１０において、更新周期T1は演算周期T0よりも短い。そのため、電流制御部１３が演算する３相電圧指令信号Vu*，Vv*，Vw*よりも、ゲート信号生成部１５に入力される更新後の３相電圧指令信号Vu**，Vv**，Vw**の更新周期を短くすることができる。したがって、制御特性の向上を図ることができる。
【００６４】
（３）サンプリング周期変換部１４は、３相電圧指令信号Vu*，Vv*，Vw*の演算結果であるインパルス列３３に０値を付加して更新周期T1に応じた零付加インパルス列３５を生成する零付加器３４と、零付加インパルス列３５を更新後の３相電圧指令信号Vu**，Vv**，Vw**であるアップサンプル信号３７に変換するローパスフィルタ３６と、を有する。このようにしたので、更新周期T1を演算周期T0よりも短くしたサンプリング周期変換部１４を実現できる。
【００６５】
（４）サンプリング周期変換部１４は、プライマリ処理３８において、３相電圧指令信号Vu*，Vv*，Vw*の演算結果であるインパルス列３３に基づく微分演算を演算周期T0ごとに実行する微分器をさらに有する。また、セコンダリ処理３９において、零付加器３４は、プライマリ処理３８の微分器による微分演算が施されたインパルス列３３に対して、更新周期T1ごとに０値を付加して零付加インパルス列３５を生成し、ローパスフィルタ３６は、零付加インパルス列３５に基づく積分演算を更新周期T1ごとに実行する積分器を含む。このようにしたので、更新周期T1を演算周期T0よりも短くしたサンプリング周期変換部１４をデジタルフィルタにより容易に実現することができる。
【００６６】
（５）電流制御部１３のカットオフ周波数をωc、円周率をπとしたとき、演算周期T0および更新周期T1は、前述の条件式（６）を満たすことが好ましい。このようにすれば、インバータ制御の発散を防止できる。
【００６７】
なお、以上説明した実施形態や各種変形例はあくまで一例であり、発明の特徴が損なわれない限り、本発明はこれらの内容に限定されるものではない。また、上記では種々の実施形態や変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【００６８】
１：インバータ装置、２：モータ、３：ＤＣ電源、１０：インバータ制御装置、１１：トルク指令、１２：電流指令生成部、１３：電流制御部、１４：サンプリング周期変換部、１５：ゲート信号生成部、１６：ゲートドライバ、１７：３相ブリッジ回路、１８：平滑コンデンサ、１９ａ，１９ｂ：電流センサ、２０：回転角センサ、２１：Ａ／Ｄ変換部、２２：速度計算部
【図１】
2019187190.tif 000003
【図２】
2019187190.tif 000004
【図３】
2019187190.tif 000005
【図４】
2019187190.tif 000006
【図５】
2019187190.tif 000007
【図６】
2019187190.tif 000008
【図７】
2019187190.tif 000009
【図８】
2019187190.tif 000010