(57)【要約】  【課題】１シャント方式のインバータ制御装置において多相の三角波キャリアを用いる場合に、検出したモータ電流のＡ／Ｄ変換を高精度に行えるようにする。  【解決手段】位相のずれた各相の三角波キャリアＣｕ，Ｃｖ，Ｃｗと各相の電圧指令値とに基づいてＰＷＭ信号を生成し、各相のＰＷＭ信号の立上り時点でそれぞれ割込信号ＩＮＴ３Ｕ〜ＩＮＴ４Ｗを発生させる。これらの各割込信号ＩＮＴ３Ｕ〜ＩＮＴ４Ｗのタイミングにおいて、シャントで検出した各相のモータ電流のＡ／Ｄ変換を開始する。【選択図】  図５
2005224070.tif 000002
【特許請求の範囲】
【請求項１】
多相交流モータの各相に対応させて設けられた１対のスイッチング素子の直列体が並列に接続され、各直列体におけるスイッチング素子同士の接続点から前記モータを駆動するための各相電圧がそれぞれ取り出されるインバータ回路と、このインバータ回路と直列に設けられ、前記モータに流れるモータ電流を検出する電流検出手段と、前記各相の指令値に基づくＰＷＭ信号を出力して前記インバータ回路の各スイッチング素子のオン・オフ動作を制御する制御部とを備えたインバータ制御装置であって、
前記制御部は、前記電流検出手段が検出したモータ電流をＡ／Ｄ変換するＡ／Ｄ変換器と、このＡ／Ｄ変換器の動作を制御する制御手段と、前記各相に対応した三角波キャリアを各相間で所定の位相差を設けて発生させるキャリア発生部と、このキャリア発生部から出力される各相の三角波キャリアと前記各相の指令値との比較に基づいて、前記各スイッチング素子ごとのＰＷＭ信号を生成する信号生成手段とを備え、
前記信号生成手段は、前記ＰＷＭ信号の、前記各スイッチング素子のオン・オフを切り替える時点で、前記制御手段に対する割込信号を生成し、
前記制御手段は、前記各割込信号に基づいて、前記Ａ／Ｄ変換器にＡ／Ｄ変換を開始させることを特徴とするインバータ制御装置。
【請求項２】
前記信号生成手段は、前記各スイッチング素子がオフからオンとなる前記ＰＷＭ信号のそれぞれの立上り時点で、前記制御手段に対する割込信号を生成することを特徴とする請求項１に記載のインバータ制御装置。
【請求項３】
前記制御手段は、１つの割込信号が生成されてから次の割込信号が生成されるまでの時間を求め、この時間が一定値以上であるときに、当該時間にＡ／Ｄ変換された前記モータ電流の値を有効とし、前記時間が一定値未満であるときに、当該時間にＡ／Ｄ変換された前記モータ電流の値を無効とすることを特徴とする請求項１または請求項２に記載のインバータ制御装置。
【請求項４】
前記制御手段は、１つの割込信号が生成されてから次の割込信号が生成されるまでの時間を求め、この時間が一定値以上であるときに、前記Ａ／Ｄ変換器に当該時間におけるＡ／Ｄ変換を行わせ、前記時間が一定値未満であるときに、当該時間におけるＡ／Ｄ変換を禁止することを特徴とする請求項１または請求項２に記載のインバータ制御装置。
【請求項５】
前記制御手段は、前記三角波キャリアのうちの１つを基準三角波キャリアとし、この基準三角波キャリアの１周期区間において、前記電流検出手段が検出した全ての相のモータ電流につき、前記Ａ／Ｄ変換器にＡ／Ｄ変換を行わせることを特徴とする請求項１ないし請求項４のいずれかに記載のインバータ制御装置。
【請求項６】
前記モータは３相交流モータであり、
前記制御手段は、前記三角波キャリアのうちの１つを基準三角波キャリアとし、この基準三角波キャリアの１周期区間において、前記電流検出手段が検出したモータ電流のうち、少なくとも２相のモータ電流につき、前記Ａ／Ｄ変換器にＡ／Ｄ変換を行わせることを特徴とする請求項１ないし請求項５のいずれかに記載のインバータ制御装置。
【請求項７】
前記制御手段は、前記三角波キャリアのうちの１つを基準三角波キャリアとし、この基準三角波キャリアの１周期区間において、同じ相のモータ電流につき複数回のＡ／Ｄ変換を行わせた場合に、Ａ／Ｄ変換された各モータ電流値の平均値を求め、この平均値を当該１周期区間における当該相のモータ電流値とすることを特徴とする請求項１ないし請求項６のいずれかに記載のインバータ制御装置。
【請求項８】
前記キャリア発生部は各相ごとに設けられており、各キャリア発生部は、
クロックを計数し、計数値を累加算または累減算して三角波キャリアを出力する計数手段と、
この計数手段の計数値が所定の上限値に達したことを検出する第１の検出手段と、
前記計数手段の計数値が所定の下限値に達したことを検出する第２の検出手段と、
前記第１の検出手段の検出出力に基づき前記計数手段に対し前記累減算を行うための減算指令を与え、前記第２の検出手段の検出出力に基づき前記計数手段に対し前記累加算を行うための加算指令を与える指令手段とを備え、
１つの相の計数手段が、他の相の計数手段から出力される三角波キャリアに対し所定の位相差を持った三角波キャリアを出力することを特徴とする請求項１ないし請求項７のいずれかに記載のインバータ制御装置。
【請求項９】
多相交流モータの各相に対応させて設けられた１対のスイッチング素子の直列体が並列に接続され、各直列体におけるスイッチング素子同士の接続点から前記モータを駆動するための各相電圧がそれぞれ取り出されるインバータ回路と、このインバータ回路と直列に設けられ、前記モータに流れるモータ電流を検出する電流検出手段と、前記各相の指令値に基づくＰＷＭ信号を出力して前記インバータ回路の各スイッチング素子のオン・オフ動作を制御する制御部とを備えたインバータ制御装置における制御方法であって、前記制御部において、
前記各相に対応した三角波キャリアを各相間で所定の位相差を設けて発生させ、
これらの三角波キャリアと各相の指令値とをそれぞれ比較することに基づいて前記ＰＷＭ信号を生成し、
前記ＰＷＭ信号の、前記各スイッチング素子のオン・オフを切り替える時点で割込信号を生成し、
これらの割込信号に基づいて、前記電流検出手段が検出したモータ電流のＡ／Ｄ変換を開始することを特徴とするインバータ制御方法。
【請求項１０】
前記各スイッチング素子がオフからオンとなる前記ＰＷＭ信号のそれぞれの立上り時点で割込信号を生成することを特徴とする請求項９に記載のインバータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３相交流モータのＰＷＭ（Pulse Width Modulation）制御などに用いられるインバータ制御装置およびインバータ制御方法に関するものである。
【背景技術】
【０００２】
図１０は、ＰＷＭ制御による一般的な３相交流モータの制御装置を示している。図において、Ｂはバッテリで、このバッテリＢからコンタクタＺおよびインバータ回路１００を介して、モータＭへ電源が供給される。モータＭは、例えばフォークリフトに搭載される３相インダクションモータ（誘導電動機）である。コンタクタＺは、電磁接触器の接点から構成される。また、図において、Ｃは電源ライン間に接続されたコンデンサ、ＳＴはモータＭに流れる電流を検出するためのシャントである。シャントＳＴは抵抗から構成される。ＰＧはモータＭの回転数を検出するためのパルス発生器であって、モータＭの回転軸に設けられた公知のロータリエンコーダから構成される。
【０００３】
インバータ回路１００は、バッテリＢの直流電源を交流電源に変換してモータＭを駆動するための回路であって、Ｕ相上、Ｕ相下、Ｖ相上、Ｖ相下、Ｗ相上、Ｗ相下の６個の半導体スイッチング素子Ｑ１〜Ｑ６から構成される公知の回路である。半導体スイッチング素子としては、たとえばＭＯＳ型ＦＥＴ（電界効果トランジスタ）やＩＧＢＴ（絶縁ゲート型バイポーラトランジスタ）などの高速スイッチング動作が可能な素子が用いられ、それぞれの素子には、ダイオードが並列接続される。各半導体スイッチング素子Ｑ１〜Ｑ６のゲートには、制御部１０１からのＰＷＭ信号が入力される。このＰＷＭ信号によって、各半導体スイッチング素子Ｑ１〜Ｑ６は所定のオン時間、オフ時間で開閉動作を行ない、その結果、インバータ回路１００の出力は３相交流として取り出され、Ｕ相電圧、Ｖ相電圧、Ｗ相電圧がモータＭに供給される。
【０００４】
制御部１０１は、ＣＰＵ、メモリ、Ａ／Ｄ変換器、キャリア発生回路、ＰＷＭ回路などを備えている。制御部１０１には、例えばフォークリフトのレバー操作に基づくモータ速度等の指示値、パルス発生器ＰＧから出力されるパルス、シャントＳＴで検出された電流値、バッテリＢの電圧値などが入力される。制御部１０１では、これらの入力値に基づいてモータＭの制御に必要なＰＷＭ信号を生成し、インバータ回路１００へ出力する。以上のようなＰＷＭ制御を用いたモータ制御装置は、例えば後記の特許文献１に記載されている。
【０００５】
図１１は、制御部１０１に設けられているＰＷＭ信号生成部の構成を示した図である。２００はキャリアＣａを発生するキャリア発生部、２０７はキャリアＣａとＵ相指令電圧の値とを比較する比較器、２０８はキャリアＣａとＶ相指令電圧の値とを比較する比較器、２０９はキャリアＣａとＷ相指令電圧の値とを比較する比較器、２１０は比較器２０７〜２０９の出力に基づいてＰＷＭ信号を生成するＰＷＭ回路である。ＰＷＭ回路２１０からは、図１０のインバータ回路１００におけるＵ相上、Ｕ相下、Ｖ相上、Ｖ相下、Ｗ相上、Ｗ相下の各スイッチング素子Ｑ１〜Ｑ６のゲートへ与えられるパルスがＰＷＭ信号として出力される。
【０００６】
図１２は、ＰＷＭ信号を生成する原理を説明する図である。図のように、キャリアＣａは一定の周波数を持った三角波であって、各相の指令電圧値とキャリアＣａの振幅とが比較器２０７〜２０９で比較される。そして、キャリアＣａの振幅が指令電圧値以上である区間では、比較器２０７〜２０９の出力は「Ｈ」となり、キャリアＣａの振幅が指令電圧値未満である区間では、比較器２０７〜２０９の出力は「Ｌ」となる。したがって、比較器２０７〜２０９からは、指令電圧値の変化に従ってパルス幅が変化する信号が得られる。この信号はＰＷＭ回路２１０へ入力され、ＰＷＭ回路２１０は、比較器２０７〜２０９の出力に基づいて、図１２のような各相上下のスイッチング素子Ｑ１〜Ｑ６を駆動するための６種類のＰＷＭ信号を生成する。図１２からわかるように、キャリアＣａの振幅が各相の指令電圧値以上である区間では、各相の上段のスイッチング素子がオンとなり、下段のスイッチング素子はオフとなる。一方、キャリアＣａの振幅が指令電圧値未満である区間では、各相の下段のスイッチング素子がオンとなり、上段のスイッチング素子はオフとなる。
【０００７】
ここで、各相における上下一対のスイッチング素子の一方がオンするタイミングと、他方がオフするタイミングとが同時になると、上下のスイッチング素子が短絡回路を形成して大電流が流れ、素子が破壊するおそれがある。そこで、実際には、ＰＷＭ回路２１０において、上下一対のスイッチング素子の一方のオンタイミングと他方のオフタイミングとの間に一定の時間差（デッドタイム）を持たせる処理が行われる。
【０００８】
しかしながら、上記のような単一のキャリアＣａを用いてＰＷＭ信号を生成する方式では、モータ電圧が０Ｖ付近の場合、すなわち各相のＰＷＭ信号のパルスデューティ比が５０：５０近傍である場合に、図１３に示したように、各相のデッドタイムＴｄの区間が全て同じ位置で重なってしまい、この区間ではインバータ回路１００が不動作状態となって、出力されるはずのモータ電圧が出力されないという問題が生じる。
【０００９】
そこで、この問題を解消するために、図１４に示すように、各相ごとに独立したキャリアを用い、キャリア間の位相を１２０°ずつ異ならせて、各相の指令電圧値を対応する相のキャリアと比較することによりＰＷＭ信号を得る方式が、後記の特許文献２で提案されている。この場合は、図１６に示すように、Ｕ相、Ｖ相、Ｗ相の各相ごとにキャリア発生部２０１〜２０３を設けて、Ｕ相キャリアＣｕ、Ｖ相キャリアＣｖ、Ｗ相キャリアＣｗを発生させる。これによれば、図１５に示したように、各相のＰＷＭ信号のパルスデューティ比が５０：５０近傍の場合であっても、キャリアの位相ずれに応じて、各相のデッドタイムＴｄの区間が重ならなくなるので、モータ電圧が０Ｖ付近の場合も、インバータ回路１００が動作して所定の電圧を得ることができる。
【００１０】
【特許文献１】特開２００３−１６４１９０号公報（段落００１９〜００２０、図１）
【特許文献２】特開２００２−２７７６３号公報（段落００５０〜００６５、図１３）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
図１０に示したのは、モータＭに流れる電流を１個のシャントＳＴにより検出する１シャント方式のインバータ制御装置である。このようなインバータ制御装置にあっては、シャントＳＴで検出されたモータ電流に基づいてモータＭに対するフィードバック制御が行われるため、シャントＳＴで検出した各相の電流を精度良くＡ／Ｄ変換することが、モータＭを高精度に制御する上で要求される。そして、そのためには、三角波キャリアの１周期の区間で、各相の電流値のデータをできるだけ多く採取することが必要となる。しかしながら、従来の単一の三角波キャリアを用いる方式では、キャリアの１周期で得られるデータ量が制約され、Ａ／Ｄ変換の精度向上には限界がある。また、特許文献２のような多相の三角波キャリアを用いる方式においても、どのタイミングでＡ／Ｄ変換を行うかによって、キャリアの１周期で得られるデータ量が少なくなる場合がある。しかるに、特許文献２にはこの問題と解決手段について開示がない。
【００１２】
そこで本発明は、１シャント方式のインバータ制御装置において多相の三角波キャリアを用いる場合に、検出したモータ電流のＡ／Ｄ変換を高精度に行えるようにすることを目的としている。
【課題を解決するための手段】
【００１３】
本発明に係るインバータ制御装置は、多相交流モータの各相に対応させて設けられた１対のスイッチング素子の直列体が並列に接続され、各直列体におけるスイッチング素子同士の接続点からモータを駆動するための各相電圧がそれぞれ取り出されるインバータ回路と、このインバータ回路と直列に設けられ、モータに流れるモータ電流を検出する電流検出手段と、各相の指令値に基づくＰＷＭ信号を出力してインバータ回路の各スイッチング素子のオン・オフ動作を制御する制御部とを備えたインバータ制御装置であって、制御部は、電流検出手段が検出したモータ電流をＡ／Ｄ変換するＡ／Ｄ変換器と、このＡ／Ｄ変換器の動作を制御する制御手段と、各相に対応した三角波キャリアを各相間で所定の位相差を設けて発生させるキャリア発生部と、このキャリア発生部から出力される各相の三角波キャリアと各相の指令値との比較に基づいて、各スイッチング素子ごとのＰＷＭ信号を生成する信号生成手段とを備えている。そして、信号生成手段は、ＰＷＭ信号の、各スイッチング素子のオン・オフを切り替える時点で、制御手段に対する割込信号を生成し、制御手段は、各割込信号に基づいて、Ａ／Ｄ変換器にＡ／Ｄ変換を開始させる。
【００１４】
本発明においては、位相のずれた多相の三角波キャリアに基づいてＰＷＭ信号を生成し、かつ、各相のＰＷＭ信号のオン・オフの切り替え時点でそれぞれ割込信号を発生させ、これらの割込信号に基づいてＡ／Ｄ変換を開始するので、三角波キャリアの１周期区間で得られる電流値のデータ量を増やすことができる。これは、各三角波キャリアの位相がずれていること、および各割込信号がＰＷＭ信号のオン・オフの切り替え時点で発生することに伴い、ある割込信号の発生から次の割込信号の発生までの期間、すなわちＡ／Ｄ変換を実行する期間を長くとることができるためである。この結果、三角波キャリアの１周期区間で各相のモータ電流値のデータを多く採取することが可能となり、Ａ／Ｄ変換の精度が向上して、モータを高精度に制御することができる。また、Ａ／Ｄ変換には一定の時間を要するため、少なくともこの間は確実にモータ電流が電流検出手段で検出されている必要がある。そこで、信号生成手段が、各スイッチング素子がオフからオンとなるＰＷＭ信号のそれぞれの立上り時点で、制御手段に対する割込信号を生成するようにすると、モータ電流が流れ始めた後、直ぐにＡ／Ｄ変換器にＡ／Ｄ変換を開始させることができるようになり、Ａ／Ｄ変換の確実性を高めることができる。なお、割込信号の間隔が短いと１つのＡ／Ｄ変換器だけでは対処できず複数のＡ／Ｄ変換器が必要となるが、本発明では割込信号の間隔を長くとれるため、１個のＡ／Ｄ変換器だけでも対応が可能となる。
【００１５】
本発明の実施形態では、１つの割込信号が生成されてから次の割込信号が生成されるまでの時間を求め、この時間が一定値以上であるときに、当該時間にＡ／Ｄ変換されたモータ電流の値を有効とし、前記時間が一定値未満であるときに、当該時間にＡ／Ｄ変換されたモータ電流の値を無効とする。割込信号の間隔が短かすぎると、その間のＡ／Ｄ変換で得られたデータ値は信頼性が低い。そこで、上記時間が一定値以上の場合にのみＡ／Ｄ変換の値を有効とすることで、データの信頼性を高めることができる。なお、モータ電流値を無効とする場合は、Ａ／Ｄ変換の処理は行い得られたデータは破棄する。
【００１６】
本発明の実施形態では、１つの割込信号が生成されてから次の割込信号が生成されるまでの時間を求め、この時間が一定値以上であるときに、Ａ／Ｄ変換器に当該時間におけるＡ／Ｄ変換を行わせ、前記時間が一定値未満であるときに、当該時間におけるＡ／Ｄ変換を禁止する。この場合は、Ａ／Ｄ変換に先立って前記時間を予め計算等で求めておくことにより、無駄なＡ／Ｄ変換を行う必要がなくなる。
【００１７】
本発明の実施形態では、三角波キャリアのうちの１つを基準三角波キャリアとし、この基準三角波キャリアの１周期区間において、電流検出手段が検出した全ての相のモータ電流につき、Ａ／Ｄ変換器にＡ／Ｄ変換を行わせる。これにより、どの相の電流についてもデータを採取することができ、モータ電流の検出精度をより向上させることができる。
【００１８】
本発明の実施形態では、モータが３相交流モータであり、制御手段は、三角波キャリアのうちの１つを基準三角波キャリアとし、この基準三角波キャリアの１周期区間において、電流検出手段が検出したモータ電流のうち、少なくとも２相のモータ電流につき、Ａ／Ｄ変換器にＡ／Ｄ変換を行わせる。３相の場合は、例えば基準三角波キャリアの１周期区間において６つの割込信号が発生するが、各相の指令値は時間的に変化するため、６つの割込信号の発生タイミングが一部重なる場合が起こりうる。こうなると、重なった割込信号によるＡ／Ｄ変換は不可能となるが、本発明では、位相のずれた三角波キャリアを用いるために、全ての割込信号の発生タイミングが一度に重なるということは起こり得ず、基準三角波キャリアの１周期区間において、最低でも２相分の割込信号を得ることが保証される。そして、２相のモータ電流値が検出できれば、それらを合計することで他の１相のモータ電流値を自動的に求めることができる。この場合、Ａ／Ｄ変換された２相のモータ電流の合計値を符号反転した値を残りの１相の電流値とする。
【００１９】
本発明の実施形態では、三角波キャリアのうちの１つを基準三角波キャリアとし、この基準三角波キャリアの１周期区間において、同じ相のモータ電流につき複数回のＡ／Ｄ変換を行わせた場合に、Ａ／Ｄ変換された各モータ電流値の平均値を求め、この平均値を当該１周期区間における当該相のモータ電流値とする。このような平均化処理を行うことにより、Ａ／Ｄ変換の精度を一層高めることができ、モータをより高精度に制御することができる。
【００２０】
本発明の実施形態では、キャリア発生部は各相ごとに設けられており、各キャリア発生部は、計数手段と、第１および第２の検出手段と、指令手段とを備えている。計数手段は、クロックを計数し、計数値を累加算または累減算して三角波キャリアを出力する。第１の検出手段は、計数手段の計数値が所定の上限値に達したことを検出し、第２の検出手段は、計数手段の計数値が所定の下限値に達したことを検出する。指令手段は、第１の検出手段の検出出力に基づき計数手段に対し累減算を行うための減算指令を与え、第２の検出手段の検出出力に基づき計数手段に対し累加算を行うための加算指令を与える。そして、１つの相の計数手段が、他の相の計数手段から出力される三角波キャリアに対し所定の位相差を持った三角波キャリアを出力するように構成されている。このようなキャリア発生部を用いれば、アップダウンカウンタ等によるデジタルの加減算を行うだけで、計数値に対応した正確な波形と位相差を持った多相の三角波キャリアを簡単に得ることができる。
【００２１】
また、本発明に係るインバータ制御方法は、前述のインバータ制御装置における制御方法であって、各相に対応した三角波キャリアを各相間で所定の位相差を設けて発生させ、これらの三角波キャリアと各相の指令値とをそれぞれ比較することに基づいてＰＷＭ信号を生成し、ＰＷＭ信号の、各スイッチング素子のオン・オフを切り替える時点で割込信号を生成し、これらの割込信号に基づいて、電流検出手段が検出したモータ電流のＡ／Ｄ変換を開始するようにしたものである。
【００２２】
このように、位相のずれた多相の三角波キャリアに基づいてＰＷＭ信号を生成し、かつ、各相のＰＷＭ信号の立上り時点でそれぞれ割込信号を発生させ、これらの割込信号に基づいてＡ／Ｄ変換を開始するので、三角波キャリアの１周期区間で得られる電流値のデータ量を増やすことができ、Ａ／Ｄ変換の精度が向上して、モータを高精度に制御することが可能となる。なお、Ａ／Ｄ変換には一定の時間を要するため、少なくともこの間は確実にモータ電流が電流検出手段で検出されている必要がある。そこで、各スイッチング素子がオフからオンとなるＰＷＭ信号のそれぞれの立上り時点で、割込信号を生成するようにすると、モータ電流が流れ始めた後、直ぐにＡ／Ｄ変換を開始させることができるようになり、Ａ／Ｄ変換の確実性を高めることができる。
【発明の効果】
【００２３】
本発明によれば、インバータ制御装置において、三角波キャリアの１周期区間で各相のモータ電流値のデータを多く採取することができるので、Ａ／Ｄ変換の精度が向上して、高精度のモータ制御を行うことができる。また、割込信号の間隔を長くとれるため、１個のＡ／Ｄ変換器だけでも対応が可能となる。
【発明を実施するための最良の形態】
【００２４】
図１は、本発明に係るインバータ制御装置の一例を示している。Ｂはバッテリで、このバッテリＢからコンタクタＺおよびインバータ回路１００を介して、モータＭへ電源が供給される。モータＭは、例えばフォークリフトに搭載される３相インダクションモータ（誘導電動機）である。コンタクタＺは、電磁接触器の接点から構成される。Ｃは電源ライン間に接続されたコンデンサ、ＳＴはモータＭに流れる電流を検出するためのシャントである。シャントＳＴは抵抗から構成され、本発明における電流検出手段に相当する。ＰＧはモータＭの回転数を検出するためのパルス発生器であって、モータＭの回転軸に設けられた公知のロータリエンコーダから構成される。
【００２５】
インバータ回路１００は、バッテリＢの直流電源を交流電源に変換してモータＭを駆動するための回路であって、Ｕ相上、Ｕ相下、Ｖ相上、Ｖ相下、Ｗ相上、Ｗ相下の６個の半導体スイッチング素子Ｑ１〜Ｑ６から構成される公知の回路である。Ｕ相に対応するスイッチング素子Ｑ１，Ｑ２の直列体と、Ｖ相に対応するスイッチング素子Ｑ３，Ｑ４の直列体と、Ｗ相に対応するスイッチング素子Ｑ５，Ｑ６の直列体とは、電源ライン間に並列に接続されている。そして、各直列体におけるスイッチング素子同士の接続点から、モータＭを駆動するための各相電圧がそれぞれ取り出される。半導体スイッチング素子Ｑ１〜Ｑ６としては、たとえばＭＯＳ型ＦＥＴ（電界効果トランジスタ）やＩＧＢＴ（絶縁ゲート型バイポーラトランジスタ）などの高速スイッチング動作が可能な素子が用いられ、それぞれの素子には、ダイオードが並列接続される。各半導体スイッチング素子Ｑ１〜Ｑ６のゲートには、制御部１０１からのＰＷＭ信号が入力される。このＰＷＭ信号によって、各半導体スイッチング素子Ｑ１〜Ｑ６は所定のオン時間、オフ時間で開閉動作を行ない、その結果、インバータ回路１００の出力は３相交流として取り出され、図７に示すようなＵ相電圧、Ｖ相電圧、Ｗ相電圧がモータＭに供給される。また、モータＭに流れる各相電流は、図７の各相電圧に対して位相が所定量ずれたものとなる。以上の構成は、図１０に示したものと同じである。
【００２６】
制御部１０１は、Ａ／Ｄ変換器１０２、ＣＰＵ１０３、メモリ１０４、クロック発生器１０５、キャリア発生部１０６、比較器１０７、ＰＷＭ回路１０８、割込コントローラ１０９を備えている。ＣＰＵ１０３は本発明における制御手段に相当し、比較器１０７およびＰＷＭ回路１０８は本発明における信号生成手段に相当する。
【００２７】
ＣＰＵ１０３には、例えばフォークリフトのレバー操作に基づくモータ速度等の指示値、パルス発生器ＰＧから出力されるパルス、シャントＳＴで検出された電流値、バッテリＢの電圧値などが入力される。シャントＳＴの電流値とバッテリＢの電圧値は、Ａ／Ｄ変換器１０２によりデジタル値に変換された後にＣＰＵ１０３に入力される。ＣＰＵ１０３は、これらの入力値に基づいて、モータＭの制御に必要な処理を実行する。メモリ１０４はＲＡＭやＲＯＭから構成され、ＣＰＵ１０３は、処理を行うために必要とされる各種情報をメモリ１０４から読み出したり、情報をメモリ１０４に書き込んだりする。
【００２８】
クロック発生器１０５は、内蔵する発振回路により所定周波数のクロックを生成してキャリア発生部１０６へ出力する。なお、このクロック発生器１０５は、ＣＰＵ１０３からの信号を受けることなく、電源が投入されると同時に作動を開始する。キャリア発生部１０６は、クロック発生器１０５から入力されるクロックを計数することに基づいて、各相ごとの三角波キャリアを発生させる。このキャリア発生部１０６は、図２に示されたＵ相キャリア発生部１０、Ｖ相キャリア発生部２０、Ｗ相キャリア発生部３０の３つのキャリア発生部からなる。比較器１０７は、ＣＰＵ１０３から与えられる各相の指令電圧と、キャリア発生部１０６からの各相の三角波キャリアとの比較を行い、比較結果をパルスとして出力する。この比較器１０７は、図２に示された各相ごとの３つの比較器１６，２６，３６からなる。
【００２９】
ＰＷＭ回路１０８は、比較器１０７からの出力に基づき、各相の指令電圧値の変化に応じたオン・オフ区間をもつ６種類のパルスを各スイッチング素子ごとのＰＷＭ信号として出力する。このＰＷＭ信号は、インバータ回路１００におけるＵ相上、Ｕ相下、Ｖ相上、Ｖ相下、Ｗ相上、Ｗ相下の各スイッチング素子Ｑ１〜Ｑ６のゲートへ与えられる。各スイッチング素子Ｑ１〜Ｑ６は、上記ＰＷＭ信号によりオン・オフ動作を行い、これによってインバータ回路１００からＵ相、Ｖ相、Ｗ相の各電圧が出力されて、モータＭに印加される。また、ＰＷＭ回路１０８は、ＰＷＭ信号の立上りのタイミングで割込信号を生成して、割込コントローラ１０９へ送出する。
【００３０】
割込コントローラ１０９は、ＰＷＭ回路１０８からの割込信号を受けて、ＣＰＵ１０３に対して割り込みをかけ、ＣＰＵ１０３はこの割り込みを受けた時点で、Ａ／Ｄ変換器１０２に対してＡ／Ｄ変換の指令を与える。これにより、Ａ／Ｄ変換器１０２は、上記割込信号のタイミングで、シャントＳＴが検出したモータ電流のＡ／Ｄ変換を開始する。また、割込コントローラ１０９には、キャリア発生部１０６において生成された割込信号も入力される。この割込信号は、三角波キャリアの山部分と谷部分で発生し、例えばスイッチング素子Ｑ１〜Ｑ６の故障診断に利用される。
【００３１】
図２は、図１のキャリア発生部１０６と比較器１０７の詳細な構成図である。上述したように、キャリア発生部１０６は、Ｕ相キャリア発生部１０、Ｖ相キャリア発生部２０、Ｗ相キャリア発生部３０から構成されている。Ｕ相キャリア発生部１０は、基準三角波キャリアであるＵ相キャリアＣｕを発生する。Ｖ相キャリア発生部２０は、Ｕ相キャリアＣｕから１２０°位相のずれたＶ相キャリアＣｖを発生する。Ｗ相キャリア発生部３０は、Ｖ相キャリアＣｖからさらに１２０°位相のずれたＷ相キャリアＣｗを発生する。各相のキャリアを発生させる方法については、後で詳細に説明する。
【００３２】
比較器１０７は、各相ごとに設けられた比較器１６，２６，３６からなる。比較器１６は、ＣＰＵ１０３から送られてくるＵ相指令電圧の値とＵ相キャリアＣｕの振幅とを比較し、Ｕ相キャリアＣｕの振幅がＵ相指令電圧値以上である区間では「Ｈ」信号を出力し、Ｕ相キャリアＣｕの振幅がＵ相指令電圧値未満である区間では「Ｌ」信号を出力する。比較器２６は、ＣＰＵ１０３から送られてくるＶ相指令電圧の値とＶ相キャリアＣｖの振幅とを比較し、Ｖ相キャリアＣｖの振幅がＶ相指令電圧値以上である区間では「Ｈ」信号を出力し、Ｖ相キャリアＣｖの振幅がＶ相指令電圧値未満である区間では「Ｌ」信号を出力する。比較器３６は、ＣＰＵ１０３から送られてくるＷ相指令電圧の値とＷ相キャリアＣｗの振幅とを比較し、Ｗ相キャリアＣｗの振幅がＷ相指令電圧値以上である区間では「Ｈ」信号を出力し、Ｗ相キャリアＣｗの振幅がＷ相指令電圧値未満である区間では「Ｌ」信号を出力する。
【００３３】
Ｕ相キャリア発生部１０において、１２はアップダウンカウンタであって、図１のクロック発生器１０５から出力されるクロックと、ＣＰＵ１０３から送られてくる計数開始信号および計数初期値信号とが入力される。アップダウンカウンタ１２は、ＣＰＵ１０３から計数開始信号が与えられると、クロックの計数を開始し、計数値の累加算（クロックが入力されるたびに１を加算）または累減算（クロックが入力されるたびに１を減算）により、三角波キャリアであるＵ相キャリアＣｕを出力する。また、アップダウンカウンタ１２には、計数の初期値が設定されており、この初期値はＣＰＵ１０３からの計数初期値信号により設定される。１３は比較器であって、アップダウンカウンタ１２の計数値と、あらかじめ決められた上限値とを比較し、計数値が上限値に達したことを検出して検出信号を出力する。１４も比較器であって、アップダウンカウンタ１２の計数値と、あらかじめ決められた下限値とを比較し、計数値が下限値に達したことを検出して検出信号を出力する。１５はフリップフロップであって、比較器１３からの出力によりアップダウンカウンタ１２に対して「Ｌ」信号を出力し、比較器１４からの出力によりアップダウンカウンタ１２に対して「Ｈ」信号を出力する。アップダウンカウンタ１２は、フリップフロップ１５から「Ｈ」信号が入力されると、クロックの計数値を累加算し、「Ｌ」信号が入力されると、クロックの計数値を累減算する。したがって、フリップフロップ１５からの「Ｈ」信号は累加算を行うための加算指令であり、「Ｌ」信号は累減算を行うための減算指令である。フリップフロップ１５には、ＣＰＵ１０３から初期指令値信号が与えられる。フリップフロップ１５の初期状態が「Ｈ」か「Ｌ」かは、上記初期指令値信号により設定される。
【００３４】
Ｖ相キャリア発生部２０において、２２はアップダウンカウンタであって、図１のクロック発生器１０５から出力されるクロックと、ＣＰＵ１０３から送られてくる計数開始信号および計数初期値信号とが入力される。アップダウンカウンタ２２は、ＣＰＵ１０３から計数開始信号が与えられると、クロックの計数を開始し、計数値の累加算または累減算により三角波キャリアであるＶ相キャリアＣｖを出力する。また、アップダウンカウンタ２２には、計数の初期値が設定されており、この初期値はＣＰＵ１０３からの計数初期値信号により設定される。２３は比較器であって、アップダウンカウンタ２２の計数値と、あらかじめ決められた上限値とを比較し、計数値が上限値に達したことを検出して検出信号を出力する。２４も比較器であって、アップダウンカウンタ２２の計数値と、あらかじめ決められた下限値とを比較し、計数値が下限値に達したことを検出して検出信号を出力する。２５はフリップフロップであって、比較器２３からの出力によりアップダウンカウンタ２２に対して「Ｌ」信号を出力し、比較器２４からの出力によりアップダウンカウンタ２２に対して「Ｈ」信号を出力する。アップダウンカウンタ２２は、フリップフロップ２５から「Ｈ」信号が入力されると、クロックの計数値を累加算し、「Ｌ」信号が入力されると、クロックの計数値を累減算する。したがって、フリップフロップ２５からの「Ｈ」信号は累加算を行うための加算指令であり、「Ｌ」信号は累減算を行うための減算指令である。フリップフロップ２５には、ＣＰＵ１０３から初期指令値信号が与えられる。フリップフロップ２５の初期状態が「Ｈ」か「Ｌ」かは、上記初期指令値信号により設定される。
【００３５】
Ｗ相キャリア発生部３０において、３２はアップダウンカウンタであって、図１のクロック発生器１０５から出力されるクロックと、ＣＰＵ１０３から送られてくる計数開始信号および計数初期値信号とが入力される。アップダウンカウンタ３２は、ＣＰＵ１０３から計数開始信号が与えられると、クロックの計数を開始し、計数値の累加算または累減算により三角波キャリアであるＷ相キャリアＣｗを出力する。また、アップダウンカウンタ３２には、計数の初期値が設定されており、この初期値はＣＰＵ１０３からの計数初期値信号により設定される。３３は比較器であって、アップダウンカウンタ３２の計数値と、あらかじめ決められた上限値とを比較し、計数値が上限値に達したことを検出して検出信号を出力する。３４も比較器であって、アップダウンカウンタ３２の計数値と、あらかじめ決められた下限値とを比較し、計数値が下限値に達したことを検出して検出信号を出力する。３５はフリップフロップであって、比較器３３からの出力によりアップダウンカウンタ３２に対して「Ｌ」信号を出力し、比較器３４からの出力によりアップダウンカウンタ３２に対して「Ｈ」信号を出力する。アップダウンカウンタ３２は、フリップフロップ３５から「Ｈ」信号が入力されると、クロックの計数値を累加算し、「Ｌ」信号が入力されると、クロックの計数値を累減算する。したがって、フリップフロップ３５からの「Ｈ」信号は累加算を行うための加算指令であり、「Ｌ」信号は累減算を行うための減算指令である。フリップフロップ３５には、ＣＰＵ１０３から初期指令値信号が与えられる。フリップフロップ３５の初期状態が「Ｈ」か「Ｌ」かは、上記初期指令値信号により設定される。
【００３６】
各相のアップダウンカウンタ１２，２２，３２には、上述した計数開始信号が同時に与えられるようになっており、各アップダウンカウンタはこの計数開始信号の入力により、それぞれの初期値から同時に計数動作を開始する。また、各相の比較器１３，２３，３３の検出出力、すなわち計数値が上限値に達したことを検出した信号は、上述したようにフリップフロップ１５，２５，３５へ与えられると同時に、割込信号ＩＮＴ１Ｕ，ＩＮＴ１Ｖ，ＩＮＴ１Ｗとして出力される。これらの割込信号は、後述するように、各相の三角波キャリアの山部における山割込信号となる。さらに、各相の比較器１４，２４，３４の検出出力、すなわち計数値が下限値に達したことを検出した信号は、上述したようにフリップフロップ１５，２５，３５へ与えられると同時に、割込信号ＩＮＴ２Ｕ，ＩＮＴ２Ｖ，ＩＮＴ２Ｗとして出力される。これらの割込信号は、後述するように、各相の三角波キャリアの谷部における谷割込信号となる。なお、ここでは、各相のキャリア発生部１０，２０，３０から割込信号が出力されるようになっているが、いずれか１相、またはいずれか２相のキャリア発生部から割込信号が出力されるようにしてもよい。
【００３７】
以上のキャリア発生装置において、クロック発生器１０５は本発明におけるクロック発生手段に相当し、アップダウンカウンタ１２，２２，３２は本発明における計数手段に相当し、比較器１３，２３，３３は本発明における第１の検出手段に相当し、比較器１４，２４，３４は本発明における第２検出手段に相当し、フリップフロップ１５，２５，３５は本発明における指令手段に相当する。
【００３８】
次に、各相の三角波キャリアを生成する原理につき、図２および図３を参照しながら説明する。図２において、ＣＰＵ１０３からＵ相キャリア発生部１０のアップダウンカウンタ１２に計数開始信号が入力されると、アップダウンカウンタ１２はクロック発生器１０５からのクロックの計数を開始する。ここで、前述のように、アップダウンカウンタ１２には初期値が設定されており、この初期値は０に設定されている。したがって、アップダウンカウンタ１２は０から計数を開始する。また、アップダウンカウンタ１２に対して累加算、累減算を指令するフリップフロップ１５の出力は、初期状態において「Ｈ」に設定されている。したがって、アップダウンカウンタ１２は計数を開始すると、計数値の累加算を行う。以上の結果、アップダウンカウンタ１２の出力は、図３（ａ）に示すように、下限値（初期値）である０から上限値Ｔに向って矢印ａ１のように時間とともに増加してゆく。そして、計数値が上限値Ｔに達すると、比較器１３がこれを検出して、検出出力をフリップフロップ１５に与える。フリップフロップ１５は、この信号により反転して「Ｌ」を出力する。したがって、アップダウンカウンタ１２の動作は累加算から累減算に転じ、その出力は、図３（ａ）に示すように、上限値Ｔから下限値０に向って矢印ｂ１のように時間とともに減少してゆく。そして、計数値が下限値０に達すると、比較器１４がこれを検出して、検出出力をフリップフロップ１５に与える。フリップフロップ１５は、この信号により反転して「Ｈ」を出力する。したがって、アップダウンカウンタ１２の動作は再び累加算に転じ、その出力は下限値０から上限値Ｔに向って矢印ｃ１のように増加してゆく。このような累加算、累減算の動作を繰り返すことにより、アップダウンカウンタ１２からは、図３（ａ）に示したような三角波のＵ相キャリアＣｕが出力されることになる。本実施形態では、このＵ相キャリアＣｕを基準三角波キャリアとする。
【００３９】
ＣＰＵ１０３からの計数開始信号は、Ｖ相キャリア発生部２０のアップダウンカウンタ２２にも同時に与えられる。アップダウンカウンタ２２は、計数開始信号が入力されると、クロック発生器１０５からのクロックの計数を開始する。ここで、前述のように、アップダウンカウンタ２２には初期値が設定されており、この初期値は０でない値αに設定されている。したがって、アップダウンカウンタ２２はαから計数を開始する。また、アップダウンカウンタ２２に対して累加算、累減算を指令するフリップフロップ２５の出力は、初期状態において「Ｌ」に設定されている。したがって、アップダウンカウンタ２２は計数を開始すると、計数値の累減算を行う。以上の結果、アップダウンカウンタ２２の出力は、図３（ｂ）に示すように、初期値αから下限値０に向って矢印ａ２のように時間とともに減少してゆく。そして、計数値が下限値０に達すると、比較器２４がこれを検出して、検出出力をフリップフロップ２５に与える。フリップフロップ２５は、この信号により反転して「Ｈ」を出力する。したがって、アップダウンカウンタ２２の動作は累減算から累加算に転じ、その出力は、図３（ｂ）に示すように、下限値０から上限値Ｔに向って矢印ｂ２のように時間とともに増加してゆく。そして、計数値が上限値Ｔに達すると、比較器２３がこれを検出して、検出出力をフリップフロップ２５に与える。フリップフロップ２５は、この信号により反転して「Ｌ」を出力する。したがって、アップダウンカウンタ２２の動作は再び累減算に転じ、その出力は上限値Ｔから下限値０に向って矢印ｃ２のように減少してゆく。このような累減算、累加算の動作を繰り返すことにより、アップダウンカウンタ２２からは、図３（ｂ）に示したような三角波のＶ相キャリアＣｖが出力されることになる。
【００４０】
ＣＰＵ１０３からの計数開始信号は、Ｗ相キャリア発生部３０のアップダウンカウンタ３２にも同時に与えられる。アップダウンカウンタ３２は、計数開始信号が入力されると、クロック発生器１０５からのクロックの計数を開始する。ここで、前述のように、アップダウンカウンタ３２には初期値が設定されており、この初期値は０でない値βに設定されている。したがって、アップダウンカウンタ３２はβから計数を開始する。なお、ここでは、βの値はαの値と等しくなっている。また、アップダウンカウンタ３２に対して累加算、累減算を指令するフリップフロップ３５の出力は、初期状態において「Ｈ」に設定されている。したがって、アップダウンカウンタ３２は計数を開始すると、計数値の累加算を行う。以上の結果、アップダウンカウンタ３２の出力は、図３（ｃ）に示すように、初期値βから上限値Ｔに向って矢印ａ３のように時間とともに増加してゆく。そして、計数値が上限値Ｔに達すると、比較器３３がこれを検出して、検出出力をフリップフロップ３５に与える。フリップフロップ３５は、この信号により反転して「Ｌ」を出力する。したがって、アップダウンカウンタ３２の動作は累加算から累減算に転じ、その出力は、図３（ｃ）に示すように、上限値Ｔから下限値０に向って矢印ｂ３のように時間とともに減少してゆく。そして、計数値が下限値０に達すると、比較器３４がこれを検出して、検出出力をフリップフロップ３５に与える。フリップフロップ３５は、この信号により反転して「Ｈ」を出力する。したがって、アップダウンカウンタ３２の動作は再び累加算に転じ、その出力は下限値０から上限値Ｔに向って矢印ｃ３のように増加してゆく。このような累加算、累減算の動作を繰り返すことにより、アップダウンカウンタ３２からは、図３（ｃ）に示したような三角波のＷ相キャリアＣｗが出力されることになる。
【００４１】
ところで、図３においては、基準三角波キャリアであるＵ相キャリアＣｕに対して、Ｖ相キャリアＣｖは位相の遅れ方向に１２０°の位相差を有している。また、Ｖ相キャリアＣｖに対して、Ｗ相キャリアＣｗは位相の遅れ方向に１２０°の位相差を有している。したがって、Ｗ相キャリアＣｗは基準三角波キャリアであるＵ相キャリアＣｕに対して、位相の遅れ方向に２４０°の位相差を有している。すなわち、Ｕ相キャリアＣｕ、Ｖ相キャリアＣｖ、Ｗ相キャリアＣｗは、１２０°ずつ位相がずれた三角波となっている。図３（ｄ）は、各相のキャリアＣｕ，Ｃｖ，Ｃｗを重ねて描いた図である。
【００４２】
図４は、基準三角波キャリアに対して所定の位相差（位相の遅れ方向の位相差）を持たせる場合に、アップダウンカウンタの初期値とフリップフロップの初期指令値をどのように設定すればよいかの一例を表したテーブルである。このテーブルでは、各相のアップダウンカウンタの上限値はそれぞれ同じ値（Ｔ）であり、下限値もそれぞれ同じ値（０）であることが前提となっている。また、基準三角波キャリアの初期値が０で初期指令値を「Ｈ」とした場合の位相差、初期値と上限値の比、初期指令値の関係を示している。なお、位相差が０°〜１８０°の間では、アップダウンカウンタの初期値と上限値の比ｍは、
ｍ＝位相差／１８０°
により求められる。また、位相差が１８０°〜３６０°の間では、アップダウンカウンタの初期値と上限値の比ｎは、
ｎ＝２−［位相差／１８０°］
により求められる。
【００４３】
図３の場合のように、３相の三角波キャリアを等間隔の位相差（１２０°）で発生させる場合、基準となるＵ相キャリアＣｕについては、位相差が０°であるから、図４より初期値を０に設定する。このときのフリップフロップの初期指令値は、「Ｈ」（加算指令）となる。また、Ｕ相キャリアＣｕに対して１２０°の位相差をもつＶ相キャリアＣｖについては、図４より初期値αを上限値Ｔの２／３に設定すればよい。このときのフリップフロップの初期指令値は、「Ｌ」（減算指令）となる。また、Ｕ相キャリアＣｕに対して２４０°の位相差をもつＷ相キャリアＣｗについては、図４より初期値βを上限値Ｔの２／３に設定すればよい。このときのフリップフロップの初期指令値は、「Ｈ」（加算指令）となる。
【００４４】
以上をまとめると、基準となるＵ相キャリアＣｕと、これに対して１２０°位相が遅れたＶ相キャリアＣｖ、および２４０°位相が遅れたＷ相キャリアＣｗを生成するための条件は、次のようになる。
（１）Ｕ相キャリアＣｕ（基準三角波キャリア）
アップダウンカウンタの初期値  ＝０
フリップフロップの初期指令値  ＝「Ｈ」
（２）Ｖ相キャリアＣｖ
アップダウンカウンタの初期値α＝２Ｔ／３
フリップフロップの初期指令値  ＝「Ｌ」
（３）Ｗ相キャリアＣｗ
アップダウンカウンタの初期値β＝２Ｔ／３
フリップフロップの初期指令値  ＝「Ｈ」
【００４５】
以上のようなキャリア発生装置を用いると、複雑な波形処理をしなくても、アップダウンカウンタを用いてデジタルの加減算を行うだけで、計数値に対応した正確な波形と位相差を持つ三角波キャリアを得ることができる。また、各相の初期値を適当に選定することで、各アップダウンカウンタ１２，２２，３２から出力されるキャリアＣｕ，Ｃｖ，Ｃｗの位相差を任意に設定することができる。この結果、３相モータのＰＷＭ制御に必要な１２０°ずつ位相がずれた三角波キャリアを簡単かつ高精度に得ることができる。
【００４６】
なお、以上では、Ｕ相、Ｖ相、Ｗ相の各キャリアを発生させる３相キャリア発生装置を例に挙げたが、本発明では、相数は３相だけに限られるものではなく、相数と同じ数だけキャリア発生部を備えた上で、それぞれのアップダウンカウンタの初期値と、フリップフロップの初期指令値の設定により、２相、４相、５相、６相など任意の相数に対応したキャリアを発生させることが可能である。また、図４からもわかるように、本発明では、アップダウンカウンタの初期値の選定により、キャリアに任意の位相差を持たせることが可能である。また、上記の例では、いずれも位相差が等間隔となっているが、キャリアの位相差を不等間隔とすることも可能である。
【００４７】
さらに、上記実施形態では、基準三角波キャリア（Ｕ相キャリアＣｕ）を谷部（下限値）から発生させたが、基準三角波キャリアを山部（上限値）から発生させてもよい。この場合、基準三角波キャリアの初期値はＴ（上限値）、初期指令値は「Ｌ」であり、谷部から発生するキャリアに比べて位相は１８０°ずれることになる。したがって、図４を用いて他相の設定をする際には、位相差１８０°を基準として内容を読み替えればよい。例えば、基準三角波キャリアに対する位相差を９０°（０°を超えて１８０°以下）とする場合は、位相差２７０°（＝１８０°＋９０°）の場合の初期値Ｔ／２および初期指令値「Ｈ」に設定すればよい。また、位相差を２７０°（１８０°を超えて３６０°以下）とする場合は、位相差９０°（＝１８０°＋２７０°−３６０°）の場合の初期値Ｔ／２および初期指令値「Ｌ」に設定すればよい。
【００４８】
こうしてアップダウンカウンタ１２，２２，３２により生成された三角波キャリアＣｕ，Ｃｖ、Ｃｗは、比較器１６，２６，３６にそれぞれ与えられる。比較器１６では、Ｕ相指令電圧がＵ相キャリアＣｕと比較され、比較器２６では、Ｖ相指令電圧がＶ相キャリアＣｖと比較され、比較器３６では、Ｗ相指令電圧がＷ相キャリアＣｗと比較される。比較器１６，２６，３６の出力は、それぞれＰＷＭ回路１０８へ入力される。ＰＷＭ回路１０８は、比較器１６，２６，３６でのキャリアと指令電圧との比較結果に基づき、図１２および図１４で説明した要領でスイッチング素子Ｑ１〜Ｑ６のそれぞれに対応する６種類のＰＷＭ信号を生成するとともに、各スイッチング素子がオフからオンとなるＰＷＭ信号の立上がりのタイミングにおいて、割込信号ＩＮＴ３Ｕ〜ＩＮＴ４Ｗを生成する。
【００４９】
図５は、割込信号ＩＮＴ３Ｕ〜ＩＮＴ４Ｗの発生タイミングを示したタイムチャートである。キャリアＣｕ，Ｃｖ，Ｃｗの振幅がそれぞれＵ相、Ｖ相、Ｗ相の指令電圧値以上となる区間で、各相上のスイッチング素子Ｑ１，Ｑ３，Ｑ５がオンし、キャリアＣｕ，Ｃｖ，Ｃｗの振幅がそれぞれＵ相、Ｖ相、Ｗ相の指令電圧値未満となる区間で、各相下のスイッチング素子Ｑ２，Ｑ４，Ｑ６がオンする関係については、図１４の場合と同じである。なお、各相指令電圧は、実際には図１４のように時間ととともに変化するが、キャリアの数周期の区間をとらえた場合は、指令電圧の変化は小さいため、図５では便宜上、各相指令電圧を一定値として描いてある。
【００５０】
図５に示されるように、割込信号ＩＮＴ３Ｕは、スイッチング素子Ｑ１がオフからオンとなるＰＷＭ信号（Ｕ相上）の立上りのタイミングで発生し、割込信号ＩＮＴ４Ｕは、スイッチング素子Ｑ２がオフからオンとなるＰＷＭ信号（Ｕ相下）の立上りのタイミングで発生する。割込信号ＩＮＴ３Ｖは、スイッチング素子Ｑ３がオフからオンとなるＰＷＭ信号（Ｖ相上）の立上りのタイミングで発生し、割込信号ＩＮＴ４Ｖは、スイッチング素子Ｑ４がオフからオンとなるＰＷＭ信号（Ｖ相下）の立上りのタイミングで発生する。割込信号ＩＮＴ３Ｗは、スイッチング素子Ｑ５がオフからオンとなるＰＷＭ信号（Ｗ相上）の立上りのタイミングで発生し、割込信号ＩＮＴ４Ｗは、スイッチング素子Ｑ６がオフからオンとなるＰＷＭ信号（Ｗ相下）の立上りのタイミングで発生する。
【００５１】
上記の割込信号ＩＮＴ３Ｕ〜ＩＮＴ４Ｗは、図１のＰＷＭ回路１０８から割込コントローラ１０９へ与えられ、割込コントローラ１０９からＣＰＵ１０３に各割込信号のタイミングで割り込みがかかる。ＣＰＵ１０３は、この割り込みを受けてＡ／Ｄ変換器１０２にＡ／Ｄ変換の指令を与え、Ａ／Ｄ変換器１０２はこの指令を受けて、それぞれの割込信号のタイミングで、シャントＳＴが検出したモータ電流のＡ／Ｄ変換を開始する。
【００５２】
図５には、割込信号とシャント電流（シャントＳＴに流れるモータ電流）との関係が示されている。図５の左端の割込信号ＩＮＴ４Ｖが発生すると、Ａ／Ｄ変換器１０２はこの時点からＡ／Ｄ変換を開始する。このとき、Ｕ相下、Ｖ相下、Ｗ相上のＰＷＭ信号が立上っている状態（以下、「Ｈ」状態と記す）にあるから、インバータ回路１００ではスイッチング素子Ｑ２，Ｑ４，Ｑ５がオンとなり、図６Ａ（ａ）で太線で示した電流経路が形成される。なお、矢印は電流の方向を示している。この結果、シャントＳＴに流れるモータ電流はＷ相電流となる。したがって、Ａ／Ｄ変換器１０２は、図５で次の割込信号ＩＮＴ３Ｕが発生するまでの区間ａにおいて、Ｗ相電流のＡ／Ｄ変換処理を実行する。
【００５３】
割込信号ＩＮＴ３Ｕが発生すると、Ａ／Ｄ変換器１０２はこの時点から次のＡ／Ｄ変換を開始する。このとき、Ｕ相上、Ｖ相下、Ｗ相上のＰＷＭ信号が「Ｈ」状態にあるから、インバータ回路１００ではスイッチング素子Ｑ１，Ｑ４，Ｑ５がオンとなり、図６Ａ（ｂ）で太線で示した電流経路が形成される。この結果、シャントＳＴに流れるモータ電流はＶ相電流となる。したがって、Ａ／Ｄ変換器１０２は、図５で次の割込信号ＩＮＴ４Ｗが発生するまでの区間ｂにおいて、Ｖ相電流のＡ／Ｄ変換処理を実行する。
【００５４】
割込信号ＩＮＴ４Ｗが発生すると、Ａ／Ｄ変換器１０２はこの時点から次のＡ／Ｄ変換を開始する。このとき、Ｕ相上、Ｖ相下、Ｗ相下のＰＷＭ信号が「Ｈ」状態にあるから、インバータ回路１００ではスイッチング素子Ｑ１，Ｑ４，Ｑ６がオンとなり、図６Ｂ（ｃ）で太線で示した電流経路が形成される。この結果、シャントＳＴに流れるモータ電流はＵ相電流となる。したがって、Ａ／Ｄ変換器１０２は、図５で次の割込信号ＩＮＴ３Ｖが発生するまでの区間ｃにおいて、Ｕ相電流のＡ／Ｄ変換処理を実行する。
【００５５】
割込信号ＩＮＴ３Ｖが発生すると、Ａ／Ｄ変換器１０２はこの時点から次のＡ／Ｄ変換を開始する。このとき、Ｕ相上、Ｖ相上、Ｗ相下のＰＷＭ信号が「Ｈ」状態にあるから、インバータ回路１００ではスイッチング素子Ｑ１，Ｑ３，Ｑ６がオンとなり、図６Ｂ（ｄ）で太線で示した電流経路が形成される。この結果、シャントＳＴに流れるモータ電流はＷ相電流となる。なお、このときのＷ相電流は、区間ａにおけるＷ相電流（図６Ａ（ａ））とは極性が逆である。したがって、Ａ／Ｄ変換器１０２は、図５で次の割込信号ＩＮＴ４Ｕが発生するまでの区間ｄにおいて、Ｗ相電流のＡ／Ｄ変換処理を実行する。
【００５６】
割込信号ＩＮＴ４Ｕが発生すると、Ａ／Ｄ変換器１０２はこの時点から次のＡ／Ｄ変換を開始する。このとき、Ｕ相下、Ｖ相上、Ｗ相下のＰＷＭ信号が「Ｈ」状態にあるから、インバータ回路１００ではスイッチング素子Ｑ２，Ｑ３，Ｑ６がオンとなり、図６Ｃ（ｅ）で太線で示した電流経路が形成される。この結果、シャントＳＴに流れるモータ電流はＶ相電流となる。なお、このときのＶ相電流は、区間ｂにおけるＶ相電流（図６Ａ（ｂ））とは極性が逆である。したがって、Ａ／Ｄ変換器１０２は、図５で次の割込信号ＩＮＴ３Ｗが発生するまでの区間ｅにおいて、Ｖ相電流のＡ／Ｄ変換処理を実行する。
【００５７】
割込信号ＩＮＴ３Ｗが発生すると、Ａ／Ｄ変換器１０２はこの時点から次のＡ／Ｄ変換を開始する。このとき、Ｕ相下、Ｖ相上、Ｗ相上のＰＷＭ信号が「Ｈ」状態にあるから、インバータ回路１００ではスイッチング素子Ｑ２，Ｑ３，Ｑ５がオンとなり、図６Ｃ（ｆ）で太線で示した電流経路が形成される。この結果、シャントＳＴに流れるモータ電流はＵ相電流となる。なお、このときのＵ相電流は、区間ｃにおけるＵ相電流（図６Ｂ（ｃ））とは極性が逆である。したがって、Ａ／Ｄ変換器１０２は、図５で次の割込信号ＩＮＴ４Ｖが発生するまでの区間ｆにおいて、Ｕ相電流のＡ／Ｄ変換処理を実行する。
【００５８】
このようにして、１２０°ずつ位相がずれた三角波キャリアＣｕ，Ｃｖ，Ｃｗを用いることにより、図５ではキャリアＣｕ（基準三角波キャリア）の１周期の区間で合計６つの割込信号が発生し、それぞれの割込信号のタイミングで各相のモータ電流のＡ／Ｄ変換が開始される。そして、シャントＳＴが検出した全ての相のモータ電流につきＡ／Ｄ変換が行われる。また、割込信号はＰＷＭ信号の立上り時点で発生し、各ＰＷＭ信号は三角波キャリアの位相差に応じて位相がずれているため、例えば各三角波キャリアの山部（上限値）と谷部（下限値）のタイミングで割込信号を発生させる場合に比べて、割込信号以後のＡ／Ｄ変換を実行する期間を長くとることができる（図５の区間ａ，ｂ，ｅ，ｆ参照）。この結果、キャリアの１周期区間で各相のモータ電流値のデータを多く採取することが可能となり、Ａ／Ｄ変換の精度が向上する。そして、Ａ／Ｄ変換されたモータ電流値は、モータＭのフィードバック制御に用いられるため、モータ電流の精度上がることによって、モータＭを高精度に制御することができる。また、一般にＡ／Ｄ変換には一定の時間を要するため、割込信号の間隔が短いと１つのＡ／Ｄ変換器だけでは対処できず、複数のＡ／Ｄ変換器が必要となるが、本実施形態では割込信号の間隔を長くとれるため、１個のＡ／Ｄ変換器１０２だけで対応が可能となる。さらに、各ＰＷＭ信号のそれぞれの立上り時点での割込信号に基づいてモータ電流のＡ／Ｄ変換が行われるので、各相のモータ電流が流れ始めた後、直ぐのタイミングでＡ／Ｄ変換を開始させることができ、Ａ／Ｄ変換の確実性が高まる。
【００５９】
なお、図５の場合は、キャリアＣｕの１周期区間において、全ての相のモータ電流をＡ／Ｄ変換するので、どの相の電流についてもデータを採取することができ精度が向上するが、各相の指令電圧値は時間的に変化するため、６つの割込信号の発生タイミングが一部重なる場合が起こりうる。この場合は、重なった割込信号によるＡ／Ｄ変換は不可能となる。しかし、上述したような位相のずれた三角波キャリアを用いると、全ての割込信号の発生タイミングが一度に重なるということは起こり得ず、キャリアＣｕの１周期区間において、最低でも２相分の割込信号を得ることが保証される。そして、２相（例えばＵ相とＶ相）のモータ電流値が検出できれば、それらを合計することで他の１相（例えばＷ相）のモータ電流値を自動的に求めることができる。この場合、Ａ／Ｄ変換された２相のモータ電流の合計値を符号反転した値を残りの１相のモータ電流値とする。また、図５の場合は、キャリアＣｕの１周期区間において、同じ相のモータ電流につき２回Ａ／Ｄ変換が行われるので、各相につきＡ／Ｄ変換された各モータ電流値の平均値を求め、この平均値をキャリアＣｕの１周期区間における当該相のモータ電流値とする。このような平均化処理を行うことにより、Ａ／Ｄ変換の精度を一層高めることができ、モータＭをより高精度に制御することができる。
【００６０】
上述したＡ／Ｄ変換において、ＣＰＵ１０３は、１つの割込信号が発生してから次の割込信号が発生するまでの時間を求め、その値が一定値以上である場合に、当該時間におけるＡ／Ｄ変換の値を有効とする。この時間は、三角波キャリアＣｕ，Ｃｖ，Ｃｗと各相指令値とに基づいて計算で求めることができる。あるいは、１つの割込信号が発生してから次の割込信号が発生するまでの時間をタイマーにより監視してもよい。図５では、区間ａ，ｂ，ｃ，ｅ，ｆの時間は一定値以上あり、これらの区間でＡ／Ｄ変換により採取されたデータ値は信頼性が高いので、有効なものとして取り扱われる。一方、区間ｄの時間は一定値未満となり、この区間でＡ／Ｄ変換により採取されたデータ値は信頼性が低いので、無効なものとして取り扱われる。すなわち、区間ｄではＡ／Ｄ変換の処理は行うが、得られたデータは破棄されることになる。このように、割込信号から割込信号までの時間が一定値以上の場合にのみＡ／Ｄ変換の値を有効とすることで、データの信頼性を高めることができる。なお、各区間の時間が前記の計算により予め判明している場合は、当該時間が一定値以上であるときにＡ／Ｄ変換を行い、一定値未満であるときにＡ／Ｄ変換を禁止するようにしてもよい。Ａ／Ｄ変換を禁止する場合は、当然、当該区間（図５の区間ｄ）でのデータの採取は行われない。これにより、無効なデータをわざわざＡ／Ｄ変換する無駄を回避することができる。したがって、先にＡ／Ｄ変換をしてからデータの有効・無効を判断するよりも、先に有効・無効を判断してからＡ／Ｄ変換を行う方が、処理速度を上げる点では好ましい。なお、有効・無効の判定基準、およびＡ／Ｄ変換をする・しない（禁止する）の判定基準となる上記一定値は、Ａ／Ｄ変換器１０２でのＡ／Ｄ変換処理に必要とされる最低限の時間以上の値に設定される。
【００６１】
ところで、図２においては、前述したように、比較器１３，２３，３３からの検出信号は、山割込信号ＩＮＴ１Ｕ，ＩＮＴ１Ｖ，ＩＮＴ１Ｗとして取り出され、比較器１４，２４，３４からの検出信号は、谷割込信号ＩＮＴ２Ｕ，ＩＮＴ２Ｖ，ＩＮＴ２Ｗとして取り出される。これらの割込信号は、図１の割込コントローラ１０９へ与えられる。このように、計数値の上限または下限の検出信号を割込信号として利用すれば、三角波キャリアの山部と谷部において、ＣＰＵ１０３に割り込みをかけることができる。
【００６２】
図８は、三角波キャリアの山部と谷部における割り込みを説明するタイムチャートである。Ｕ相キャリアＣｕの山部（上限値に達した時点）において、Ｕ相の山割込信号ＩＮＴ１Ｕが発生し、Ｕ相キャリアＣｕの谷部（下限値に達した時点）において、Ｕ相の谷割込信号ＩＮＴ２Ｕが発生する。また、Ｖ相キャリアＣｖの山部において、Ｖ相の山割込信号ＩＮＴ１Ｖが発生し、Ｖ相キャリアＣｖの谷部において、Ｖ相の谷割込信号ＩＮＴ２Ｖが発生する。また、Ｗ相キャリアＣｗの山部において、Ｗ相の山割込信号ＩＮＴ１Ｗが発生し、Ｗ相キャリアＣｗの谷部において、Ｗ相の谷割込信号ＩＮＴ２Ｗが発生する。
【００６３】
上記のような割込信号が発生する各相の山部と谷部に相当するタイミングでは、図８からわかるように、各相のスイッチング素子Ｑ１〜Ｑ６に与えられるＰＷＭ信号のパルスは、立上りでも立下りでもなく、安定したオン状態またはオフ状態となっている。すなわち、各相のパルスのオン・オフ区間の中央でそれぞれの相の割込信号が発生している。このため、上記割込信号により、割込コントローラ１０９を介してＣＰＵ１０３に割り込みをかけることにより、各種の制御動作を安定して行うことができる。例えば、各相の山割込信号のタイミングで、ＣＰＵ１０３がインバータ回路１００の各相の上段のスイッチング素子Ｑ１，Ｑ３，Ｑ５の故障診断を行い、各相の谷割込信号のタイミングで、ＣＰＵ１０３がインバータ回路１００の各相の下段のスイッチング素子Ｑ２，Ｑ４，Ｑ６の故障診断を行うようにすることができる。なお、山割込信号や谷割込信号による割込制御は、前述したＰＷＭ信号の立上りタイミングでの割込信号によるＡ／Ｄ変換に支障をきたさない範囲で行えばよい。
【００６４】
本発明は、上述した以外にも種々の実施形態を採用することができる。例えば、キャリア発生部としては、図２の代わりに図９のようなものを用いてもよい。図９において、３０１は矩形のパルスを発生するパルス発生器、３０２はパルス発生器３０１で発生したパルスを１２０°移相させる移相器、３０３は移相器３０２で１２０°移相されたパルスをさらに１２０°移相させる移相器である。３０４はパルス発生器３０１で発生したパルスを積分して三角波からなるＵ相キャリアＣｕを生成する積分回路、３０５は移相器３０２で１２０°移相されたパルスを積分して三角波からなるＶ相キャリアＣｖを生成する積分回路、３０６は移相器３０３で１２０°移相されたパルスを積分して三角波からなるＷ相キャリアＣｗを生成する積分回路である。３０７はＵ相キャリアＣｕとＵ相指令電圧とを比較する比較器、３０８はＶ相キャリアＣｖとＶ相指令電圧とを比較する比較器、３０９はＷ相キャリアＣｗとＷ相指令電圧とを比較する比較器である。比較器３０７〜３０９の出力は、ＰＷＭ回路１０８（図１）に与えられる。図９の回路によれば、パルス発生器３０１で発生したパルスを移相器３０２、３０３を通すとともに、各パルスを積分回路３０４〜３０６で積分することにより、１２０°ずつ位相がずれたＵ相、Ｖ相、Ｗ相のキャリアＣｕ、Ｃｖ、Ｃｗを得ることができる。
【００６５】
また、ＰＷＭ信号の立上りで１つの割込信号が発生してから次の割込信号が発生するまでの時間を計算し、この時間に余裕がある場合（例えば、図５の区間ａ）には、モータ電流のＡ／Ｄ変換に続いて、バッテリ電圧のＡ／Ｄ変換を行い、時間に余裕がない場合（例えば、図５の区間ｃ）には、モータ電流のＡ／Ｄ変換のみを行うようにしてもよい。このようにすれば、キャリアの１周期区間で少なくとも１回、バッテリ電圧をＡ／Ｄ変換することができる。なお、余裕がある・ないの判定は、上記時間が、モータ電流とバッテリ電圧の２つのＡ／Ｄ変換処理に必要とされる最低限の時間以上の値に設定された一定値以上であるか、一定値未満であるかによればよい。
【００６６】
また、スイッチング素子Ｑ１〜Ｑ６として動作速度の比較的遅い素子を用いる場合は、素子が完全にオン状態となる前にＡ／Ｄ変換が開始されないよう、割り込みを受けたＣＰＵ１０３からＡ／Ｄ変換器１０２に与えられる指令を所定時間だけ遅らせればよい。
【００６７】
上記実施形態では、キャリアと比較する指令値は電圧値であったが、指令値は電流値であってもよい。また、上記実施形態では、割込信号ＩＮＴ３Ｕ〜ＩＮＴ４ＷをＰＷＭ回路１０８において生成したが、比較器１６，２６，３６においてデッドタイム分の遅延処理を施すことにより、割込信号ＩＮＴ３Ｕ〜ＩＮＴ４Ｗを生成してもよい。
【図面の簡単な説明】
【００６８】
【図１】本発明に係るインバータ制御装置の構成図である。
【図２】キャリア発生部と比較器の詳細な構成図である。
【図３】各相の三角波キャリアを生成する原理を説明する図である。
【図４】アップダウンカウンタの初期値の設定を説明するテーブルである。
【図５】割込信号の発生タイミングを示したタイムチャートである。
【図６Ａ】インバータ回路の電流経路を説明する図である。
【図６Ｂ】インバータ回路の電流経路を説明する図である。
【図６Ｃ】インバータ回路の電流経路を説明する図である。
【図７】インバータ回路から取り出される電圧の波形図である。
【図８】山割込みと谷割込みを説明するタイムチャートである。
【図９】キャリア発生部の他の例を示す図である。
【図１０】一般的な３相交流モータの制御装置を示す図である。
【図１１】ＰＷＭ信号生成部の構成を示した図である。
【図１２】ＰＷＭ信号を生成する原理を説明する図である。
【図１３】デッドタイム区間の重なりを説明する図である。
【図１４】各相ごとに独立したキャリアを用いた場合の波形図である。
【図１５】デッドタイム区間のずれを説明する図である。
【図１６】キャリア発生部の構成を示す図である。
【符号の説明】
【００６９】
１０  Ｕ相キャリア発生部
１２  アップダウンカウンタ
１３，１４  比較器
１５  フリップフロップ
１６  比較器
２０  Ｖ相キャリア発生部
２２  アップダウンカウンタ
２３，２４  比較器
２５  フリップフロップ
２６  比較器
３０  Ｗ相キャリア発生部
３２  アップダウンカウンタ
３３，３４  比較器
３５  フリップフロップ
３６  比較器
１０３  ＣＰＵ
１０４  メモリ
１０５  クロック発生器
１０６  キャリア発生部
１０７  比較器
１０８  ＰＷＭ回路
１０９  割込コントローラ
ＳＴ  シャント
Ｃｕ  Ｕ相キャリア
Ｃｖ  Ｖ相キャリア
Ｃｗ  Ｗ相キャリア
ＩＮＴ３Ｕ〜ＩＮＴ４Ｗ  割込信号
【図１】
2005224070.tif 000003
【図２】
2005224070.tif 000004
【図３】
2005224070.tif 000005
【図４】
2005224070.tif 000006
【図５】
2005224070.tif 000007
【図６Ａ】
2005224070.tif 000008
【図６Ｂ】
2005224070.tif 000009
【図６Ｃ】
2005224070.tif 000010
【図７】
2005224070.tif 000011
【図８】
2005224070.tif 000012
【図９】
2005224070.tif 000013
【図１０】
2005224070.tif 000014
【図１１】
2005224070.tif 000015
【図１２】
2005224070.tif 000016
【図１３】
2005224070.tif 000017
【図１４】
2005224070.tif 000018
【図１５】
2005224070.tif 000019
【図１６】
2005224070.tif 000020