(57)【特許請求の範囲】
【請求項１】
一つのデジタル演算手段を用いて複数の交流電動機の電流フィードバック制御を共通に行う交流電動機の制御装置において、
前記交流電動機の回転角度を検出する回転角度検出手段および前記交流電動機の各相に流れる電流を検出する電流検出手段で検出した回転角度と電流値とを前記デジタル演算手段に読み込み、その読み込んだデータに応じて電流フィードバック制御演算を行う場合に、
前記複数の交流電動機のうちの各電動機に対応して設定されたＰＷＭタイマの谷割り込みで処理を開始する「回転角度の読み込みおよび電流値のＡＤ変換処理を行い、読み込んだ回転角度と電流値に基いて電流フィードバック制御演算を行う処理」を、回転角度の読み込みおよび電流値のＡＤ変換終了までを行う「回転角度と電流のデータ読み込み処理」と読み込んだデータに応じて電流フィードバック制御演算を行う「演算処理」とに分割して別々の割り込み処理とし、かつ、前記「回転角度と電流のデータ読み込み処理」を前記「演算処理」よりも優先度の高い割り込み処理に設定し、
前記ＰＷＭタイマの谷での割り込み時点から実際に回転角度および電流値を取り込んだ時点までの遅れ時間を算出し、その遅れ時間に応じて回転角度および電流値を補正した値に基づいて前記「演算処理」を行うことを特徴とする交流電動機の制御装置。
【請求項２】
請求項１に記載の交流電動機の制御装置において、前記「回転角度と電流のデータ読み込み処理」の割り込み処理を、「回転角度の読み込みと電流ＡＤ変換開始処理」のみの割り込み処理としたことを特徴とする交流電動機の制御装置。
【請求項３】
請求項１または請求項２に記載の交流電動機の制御装置において、
前記デジタル演算手段が制御する交流電動機の数に対して充分なＡＤ変換器を持たず、各交流電動機でＡＤ変換器を共有して制御する場合に、ＰＷＭタイマの谷で起動する処理を「他方のモータについての演算がＡＤ変換器使用中であればＡＤ待ちフラグを設定して処理を終了し、使用中でなければ回転角度読み込みおよび電流ＡＤ変換開始処理を実行し、演算処理割り込み要求を起動する」処理とし、かつ「演算処理」よりも優先度の高い割り込み処理とし、さらにその「電流ＡＤ変換の終了割り込み」を「他方のモータのＡＤ待ちフラグがあれば他方のモータについてのＡＤ変換開始、フラグがなければ処理終了」の処理としてＰＷＭタイマの谷で起動する処理と同優先度の割り込み処理とすることを特徴とする交流電動機の制御装置。
【請求項４】
請求項１乃至請求項３の何れかに記載の交流電動機の制御装置において、
複数の交流電動機に優先順位を付け、請求項１の「回転角度と電流のデータ読み込み処理」または請求項２の「回転角度の読み込みと電流ＡＤ変換開始処理」または請求項３の「電流ＡＤ変換の終了割り込み」について各交流電動機毎に前記優先順位に応じて優先度に差を設けることを特徴とする交流電動機の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の交流電動機を一つのデジタル演算手段で電流フィードバック制御する技術に関する。
【背景技術】
【０００２】
複数の交流電動機を一つのデジタル演算手段（ＣＰＵ）で電流フィードバック制御（電流フィードバック制御によるベクトル制御）する技術に関しては下記特許文献１に記載のものがある。  
上記従来技術では、二つの電動機（以下、モータと記載）のベクトル制御を一つのＣＰＵで実施する方法が記載されており、二つのモータのキャリア周期を一致させ、ベクトル制御演算周期をそのキャリア周期の整数Ｎ倍とし、かつ二つのモータのベクトル演算タイミングを重ならないように設定し、一回のベクトル演算時にＮ回分のＰＷＭ出力をそれぞれの角度補正演算を行って演算することにより、二つのモータを制御する方法が記載されている。
【０００３】
【特許文献１】特開２００２−２７２１８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記の従来技術においては、電流フィードバック演算手段において負荷の重い電流フィードバック演算をＰＷＭ等のディジタル出力周期のｎ倍の長い演算周期で行うことによって演算負荷を大幅に軽減した上で、互いに異なるタイミングで演算させることにより、演算負荷の時間的な分散が可能となり、より低級な処理能力を有するマイクロコンピュータを用いても、演算が破綻することなく実行可能となるため、マイクロコンピュータの低価格化が可能になる、という効果がある。しかし、上記従来の制御装置においては、二つのモータのキャリア周期を一致させ、ベクトル演算タイミングを重ならないように設定するという構成になっていたため、二つのモータのベクトル演算タイミングが重なるタイミングにＰＷＭタイマの位相差を設定して駆動することは出来ない、という問題があった。  
また、二つのモータのキャリア周期を一致させ、ベクトル演算タイミングを重ならないように設定するという構成になっていたため、片方のモータをより低いキャリア周期で駆動したい場合に、ＣＰＵの演算負荷的には可能であっても各々異なるキャリア周期には設定できない、という問題があった。  
本発明は上記のごとき問題を解決するためになされたものであり、複数の交流電動機を一つのＣＰＵでベクトル制御する際に、演算負荷の増加や制御の遅れを抑制しながら、演算タイミングやキャリア周期の設定の自由度を向上させた交流電動機の制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記の目的を達成するため、本発明においては、回転角度と電流値とをデジタル演算手段に読み込み、その読み込んだデータに応じて電流フィードバック制御演算を行う場合に、複数の交流電動機のうちの各電動機に対応して設定されたＰＷＭタイマの谷割り込みで処理を開始する「回転角度の読み込みおよび電流値のＡＤ変換処理（アナログ→デジタル変換処理）を行い、読み込んだ回転角度と電流値に基いて電流フィードバック制御演算を行う処理」を、回転角度の読み込みおよび電流値のＡＤ変換終了までを行う「回転角度と電流のデータ読み込み処理」と読み込んだデータに応じて電流フィードバック制御演算を行う「演算処理」とに分割して別々の割り込み処理とし、かつ、前記「回転角度と電流のデータ読み込み処理」を「演算処理」よりも優先度の高い割り込み処理に設定し、前記ＰＷＭタイマの谷での割り込み時点から実際に回転角度および電流値を取り込んだ時点までの遅れ時間を算出し、その遅れ時間に応じて回転角度および電流値を補正した値に基づいて前記「演算処理」を行うように構成している。
【発明の効果】
【０００６】
上記のように構成したことにより、本発明においては、一方の電動機についての「演算処理」を実行中でも、他方の電動機についての「回転角度と電流のデータ読み込み処理」を受け付けることが可能になる。したがって二つの電動機のＰＷＭタイマの谷割り込みの関係がランダムに変化しても制御可能である。つまり各々の電動機のキャリア周波数を任意に可変させて、ＰＷＭタイマの谷割り込みの関係がランダムに変化しても制御することが可能である。また、複数の電動機の処理要求が重なった時における制御的な遅れを大幅に短縮することが出来る。そのため複数の交流電動機を一つのＣＰＵでベクトル制御する際に、演算負荷の増加や制御の遅れを抑制しながら、演算タイミングやキャリア周期の設定の自由度を向上させることが出来る。
【発明を実施するための最良の形態】
【０００７】
本発明の実施例について図面に基づいて詳述する。  
図１は、モータＡ６、モータＢ６’（例えば３相同期電動機）の二つのモータを一つのＣＰＵで駆動するように構成した３相同期モータのベクトル制御装置を示す機能ブロック図である。  
図１において、破線で囲んだ部分が一つのＣＰＵ内の機能を示し、モータＡ６のコントローラ１００Ａと、モータＢ６’のコントローラ１００Ｂの両方を含んでいる。なお、コントローラ１００Ａ、１００Ｂ内の各ブロックはＣＰＵが行う制御を機能ブロックで表示したものである。コントローラ１００Ａと１００Ｂは構成が全く同じなので、以下、コントローラ１００Ａについて説明する。
【０００８】
この制御はＰＷＭ周期とベクトル制御周期が一致する制御で、モータ制御用ＰＷＭを生成するＰＷＭタイマの谷割り込み（ＰＷＭのキャリア信号の谷＝０で割り込みを行う）で処理が起動されると、初めに角度検出器１０（例えばレゾルバやエンコーダ等）で検出したモータの回転角度（電気角）を読み込み、かつ、電流センサ７で検出した各相電流のアナログ値ｉｕ、ｉｖ、ｉｗをＡ／Ｄ変換部８でデジタル信号の３相電流値Ｉｕ、Ｉｖ、Ｉｗに変換して読み込む。
【０００９】
次に、３相２相変換部９では、読み込んだ３相電流値Ｉｕ、Ｉｖ、Ｉｗと回転角度からｄ軸電流値Ｉｄ、ｑ軸電流値Ｉｑを算出する。次に、電流ＰＩ制御部１では、外部から与えられたｄ軸電流指令値Ｉｄ＊、ｑ軸電流指令値Ｉｑ＊と上記の検出したｄ軸電流値Ｉｄ、ｑ軸電流値Ｉｑとの偏差を求め、その偏差から周知の比例積分制御によってｄ軸電圧指令値Ｖｄ＊、ｑ軸電圧指令値Ｖｑ＊を演算する。なお、ｄ軸電流指令値Ｉｄ＊、ｑ軸電流指令値Ｉｑ＊は、例えばトルク指令値（例えばアクセルペダルの開度に相当する値）と回転速度に応じて決定される値である。
【００１０】
次に、非干渉制御部２では、上記の電圧指令値Ｖｄ＊、Ｖｑ＊から、ｄｑ軸の相互干渉成分を除去し、非干渉制御後のｄ軸電圧指令値Ｖｄ＊’、ｑ軸電圧指令値Ｖｑ＊’を算出する。なお、回転数算出部１１では角度検出器１０で求めた回転角度からモータの回転速度を算出し、その値は非干渉制御部２における非干渉制御に用いられる。
【００１１】
次に、２相３相変換部３では、上記非干渉制御後の電圧指令値Ｖｄ＊’、Ｖｑ＊’を３相電圧指令値Ｖｕ＊、Ｖｖ＊、Ｖｗ＊に変換する。  
次に、ＰＷＭ変換部４では、上記の３相電圧指令値Ｖｕ＊、Ｖｖ＊、Ｖｗ＊をキャリア信号と比較することにより、３相のＰＷＭ信号に変換し、そのＰＷＭ信号でインバータ５を制御することにより、モータＡ６に３相交流電流を供給して駆動する。そしてモータＡ６の各相に流れた電流は電流センサ７で検出する。  
以上の処理を繰り返してモータＡ６の電流フィードバックによるベクトル制御を行う。モータＢ６’についても全く同じ処理を行う。
【００１２】
このように二つのモータを一つのＣＰＵで駆動するときに、前記特許文献１においては、図２のタイミング図に示すように、例えば３２ｂｉｔマイクロコンピュータを用いて一つのベクトル演算に８０μｓ程度の時間を要す場合には、二つのモータのキャリア周波数を５ｋＨｚ（＝キャリア周期２００μｓ）として、位相差を１８０°（図２の（１））として、お互いの谷割り込み（図２の（２））は１８０°毎に交互に発生し、演算要求（図２の（３））が重なることなく、実際に行われる演算（図２の（４））は遅れもなく、周期は一定で制御が可能となる条件で制御していた。なお、上記の「図２の（１）」等における（１）（２）（３）（４）の数字は、図面では丸で囲んだ数字で示している（以下、同じ）。
【００１３】
図３は、上記のような従来の制御方法と本発明の第１の実施例との比較図である。  
図３に示すように、従来はモータ制御用ＰＷＭを生成するＰＷＭタイマの谷割り込みで起動される一つの割り込み処理で、「ベクトル制御演算」つまり「回転角度の読み込みおよび電流値のＡＤ変換処理を行い、読み込んだ回転角度と電流値に基いて電流フィードバック制御演算を行う処理」を行っていた。
【００１４】
これに対して本発明の第１の実施例では、上記の割り込み処理を、回転角度の読み込みおよび電流値のＡＤ変換終了までを行う「回転角度と電流のデータ読み込み処理」（以下、「データ読み込み処理」と略記する）と読み込んだデータに応じて電流フィードバック制御演算を行う「演算処理」とに分割して別々の割り込み処理とし、かつ、「データ読み込み処理」を「演算処理」よりも優先度の高い割り込み処理に設定するように構成している。
【００１５】
上記の具体例として、例えば二つのモータのキャリア周波数を５ｋＨｚ（＝キャリア周期２００μｓ）として、位相差を９０°とした場合（図４の（１））を図４のタイミング図に示す。  
図４に示すように、モータＡ６の谷割り込みがつねに先行し（図４の（２））、モータＡ６の制御演算中にモータＢ６’の谷割り込みが発生（図４の（３））する位相差の時でも、「データ読み込み処理」が「演算処理」よりも優先度が高く設定されているために、モータＡ６の制御演算中（図４の（４））に発生したモータＢ６’の谷割り込み（図４の（３））は優先され、モータＡ６の制御演算は中断され（図４の（５））、モータＢ６’の電流値および回転角度を取り込む「データ読み込み処理」が先に実行される（図４の（６））。  
したがって制御演算は遅延するものの、マイクロコンピュータによる離散演算では制御タイミングと等価である「データ読み込み処理」（入力データ取得）は遅れなく実行可能であるため、制御周期は遅延せずに制御可能である。
【００１６】
次に、別の具体例として、二つのモータのキャリア周波数を５ｋＨｚ（＝キャリア周期２００μｓ）、位相差を０°とした場合を図５に示す。モータＡ６、モータＢ６’の谷割り込みが重なる場合（図５の（１））、従来は「ベクトル演算制御」の１演算分の時間遅れ（図５の（４））が発生していたのに対し、本発明の適用によって、順に実行される優先順位が同レベルの処理「データ読み込み処理」（図５の（５））一回分の遅れ（図５の（３））に遅れ時間を短縮することが可能となる。さらに下記のように実際にデータを読み込んだ時の時間遅れを補正することで遅れの影響をさらに減少することが出来る。  
すなわち、理想的には、ＰＷＭタイマの谷（＝０）での割り込みの瞬間にモータの電流値および回転角度を読み込むことが求められるので、上記の補正としては、実際に電流値および回転角度を取り込んだ時点のＰＷＭタイマの値（図５の（５））を読み込み、上記の割り込み時点からの遅れ時間を算出し、その遅れ時間に応じて電流値および回転角度を補正をするように構成すればよい。
【００１７】
以上、図４、図５で示したように、二つのモータのＰＷＭタイマの谷割り込みが「データ読み込み処理」が重ならなければ問題なく、重なる場合でもほぼ問題なく制御することが可能であることを示した。よって本発明を適用することで、二つのモータのＰＷＭタイマの谷割り込みがどのような関係にあっても制御が可能となり、例えば二つのモータのＰＷＭ周期を同一として、その位相差を任意の値で駆動することが可能であるし、後述する図６に示すように二つのモータのＰＷＭ周期を非同一で任意に可変させて駆動することも可能である。
【００１８】
図６は、二つのモータのＰＷＭ周期を非同一にした場合、つまり、モータＡ６のキャリア周波数を５ｋＨｚ（＝キャリア周期２００μｓ）とし、モータＢ６’のキャリア周波数を４ｋＨｚ（＝キャリア周期２５０μｓ）から途中で３ｋＨｚ（＝キャリア周期３３３μｓ）に変えた場合のタイミング図を示す。
【００１９】
図６に示すように、二つのモータのＰＷＭタイマの谷割り込みはランダムな関係となるが、モータＡ６とモータＢ６’のＰＷＭタイマの谷割り込みが近く、お互いの「データ読み込み処理」が重なる場合（図６の（１））には、重なる分だけの若干の遅れ（図６の（２））で制御され、モータＢ６’のＰＷＭタイマの谷割り込みがモータＡ６の制御演算と重なる場合（図６の（３））は遅れなく、モータＡ６のＰＷＭタイマの谷割り込みが単独の場合（図６の（４））は当然遅れもなく制御される。  
このように二つのモータのＰＷＭタイマの谷割り込みの関係がランダムに変化しても制御可能である。つまり各々のモータのキャリア周波数を任意に可変させて、ＰＷＭタイマの谷割り込みの関係がランダムに変化しても制御することが可能であることがわかる。
【００２０】
次に、本発明の第２の実施例について説明する。  
この実施例においては、第１の実施例で分割した「データ読み込み処理」（図３の（２））をさらに分割する。図７は第２の実施例における演算内容を示しており、図７の上段は前記図３の分割後を拡大して示しており、「データ読み込み」つまり「図７の（１）」＝「図３の（２）」である。
【００２１】
第２の実施例においては、図７の下段に示すように、上記の「データ読み込み処理」（図７の（１））をさらに分割して、「回転角度の読み込みと電流ＡＤ変換開始処理」（図７の（２））と「ＡＤ変換」（図７の（３））とし、「回転角度の読み込みと電流ＡＤ変換開始処理」のみを「演算処理」（図７の（４））よりも優先度の高い割り込み処理とする。なお、上記の「ＡＤ変換開始」および「ＡＤ変換」は電流センサ７で検出した３相電流についてのＡＤ変換である。
【００２２】
「ＡＤ変換」はマイクロコンピュータのハードウェアによる処理であるので、この間に「演算処理」（図７の（４））や他方のモータの「回転角度の読み込みと電流ＡＤ変換開始処理」が実行できる。そのため、二つのモータの谷割り込みが近接したときの遅れ時間が低減され、かつ、一つのモータを駆動するための演算時間が短くなり、マイクロコンピュータの演算負荷を低減することが出来る。
【００２３】
第２の実施例の具体例を図８に示す。図８は、前記図６と同条件、つまり二つのモータのＰＷＭ周期を非同一、モータＡ６のキャリア周波数を５ｋＨｚ（＝キャリア周期２００μｓ）、モータＢ６’のキャリア周波数を４ｋＨｚ（＝キャリア周期２５０μｓ）から途中で３ｋＨｚ（＝キャリア周期３３３μｓ）に変更とした場合において、第２の実施例を適用した場合のタイミング図である。
【００２４】
図８に示すように、二つのモータのＰＷＭタイマの谷割り込みはランダムな関係となるが、優先度の高い割り込み処理である「回転角度の読み込みと電流ＡＤ変換開始処理」（図７の（２））が短いために、前記図６の（１）ではモータＢ６’のＰＷＭタイマの谷割り込みがモータＡ６の「データ読み込み処理」と重なっていたのに対し、図８の（１）では一つのモータ分の処理自体が短縮されたために重なりが発生しない。  
このように第２の実施例においては、優先度が重なる確率は減少し、また重なっても「回転角度の読み込みと電流ＡＤ変換開始処理」１回分の処理が短いため、遅れる時間が短くなり、したがって制御性能を向上させることが出来る。
【００２５】
次に、第３の実施例について詳述する。  
例えばＡＤ変換器を２個しか持たないＣＰＵで二つのモータを制御する場合、個々のモータでは２個のＡＤ変換器を同時に使って３相電流のうちの２相分を取得するため、それぞれのモータで２個のＡＤ変換器を使い回す形になる。したがって一方のモータの使用中は他方のモータは使用できないことになる。
【００２６】
第３の実施例は上記のような場合に対応するものであり、図９に示すように、ＰＷＭタイマの谷で起動する処理を「他方のモータについての演算がＡＤ変換器使用中であればＡＤ待ちフラグを設定して処理を終了し、使用中でなければ回転角度読み込みおよび電流ＡＤ変換開始処理を実行し、演算処理割り込み要求を起動する」処理（図９の（１））とし、かつ「演算処理」（図９の（２））よりも優先度の高い割り込み処理とするのに加え、そのＡＤ変換の終了割り込みを「他方のモータのＡＤ待ちフラグがあれば他方のモータについてのＡＤ変換開始、フラグがなければ処理終了」の処理（図９の（３））としてＰＷＭタイマの谷で起動する処理と同優先度の割り込み処理とする。
【００２７】
図１１は、ＰＷＭタイマの谷で起動する割り込み処理のフローチャート、図１２は、ＡＤ変換の終了割り込み処理のフローチャートである。  
図１１に示すＰＷＭタイマの谷で起動する割り込み処理では、
ステップ１で、他方のモータについての演算がＡＤ変換器使用中か否かを判定し、使用中であればステップ５へ、使用中でなければステップ２へ移行する。  
ステップ２ではモータ回転角度を読み込みステップ３へ移行する。  
ステップ３では電流のＡＤ変換を開始し、ステップ４へ移行する。  
ステップ４では演算処理割り込みを要求して処理を終了し、
ＡＤ変換器を使用中の処理ステップ５ではＡＤ変換待ちフラグをセットして処理を終了する。
【００２８】
図１２に示すＡＤ変換の終了割り込み処理では、
ステップ１で他方のモータのＡＤ変換待ちフラグがあるか否かを判定し、あればステップ２へ、なければなにもせずに処理を終了する。  
ステップ２では他方のモータのモータ回転角度を読み込みステップ３へ移行する。  
ステップ３では他方のモータの電流のＡＤ変換を開始し、ステップ４へ移行する。  
ステップ４では他方のモータの演算処理割り込みを要求して処理を終了する。
【００２９】
これにより各モータの「回転角度の読み込みと電流ＡＤ変換開始処理」が重なるタイミングで発生していた他方のＡＤ変換終了待ちの時間に「演算処理」（図９の（２））の一部の実行が可能になり、制御時間の長期化による演算負荷の増加を防ぐことが出来る。
【００３０】
図１０は、第３の実施例における具体例として、二つのモータのＰＷＭ周期を、モータＡ６、モータ６Ｂ’共にキャリア周波数を５ｋＨｚ（＝キャリア周期２００μｓ）、位相差０°とした場合に、第３の実施例を適用した場合のタイミング図である。  
モータＡ６とモータＢ６’のＰＷＭタイマの谷割り込みは常に同時に発生（図１０の（９））するが、例えばモータＡ６の割り込みが先に処理される場合について記述すると、初めにモータＡ６のＰＷＭタイマの谷割り込みにより、「α：モータＡ６の回転角度読み込み＆電流ＡＤ開始（図１０の（１））」が起動し、モータＢ６’の「電流ＡＤ」が起動していないことを確認してから、「回転角度読み込み＆電流ＡＤ開始」を実施し、「Ｃ：モータＡ６の演算処理」（図１０の（３））の割り込みを要求して、処理を完了する。
【００３１】
次に、既にモータＢ６’のＰＷＭタイマの谷割り込みによって要求はされている「β：モータＢ６’の回転角度読み込み＆電流ＡＤ開始」（図１０の（２））が起動するが、モータＡ６の「電流ＡＤ」が起動しているために、処理は実施せず、モータＢ６’の電流読み待ちフラグをセットして終了する。
【００３２】
次に、「α：モータＡ６の回転角度読み込み＆電流ＡＤ開始」（図１０の（１））で要求された「Ｃ：モータＡ６の演算処理」割り込み（図１０の（３））が起動し、演算を開始するが、途中で、「γ：モータＡ６のＡＤ変換」（図１０の（４））が終了し、「αii：モータＡ６の電流ＡＤ完了割り込み」（図１０の（５））が起動する。  
「αii：モータＡ６の電流ＡＤ完了割り込み」（図１０の（５））では、モータＢ６’の電流読み待ちフラグをチェックし、待っていなければ、何もせず終了するが、この場合は待っているので、すぐにモータＢ６’の「回転角度を読み込み電流ＡＤ」を開始し、「Ｄ：モータのＢ６’演算処理」（図１０の（７））の割り込みを要求して、処理を完了する。すると、先程中断した「Ｃ：モータＡ６の制御演算」（図１０の（３））を再開する。
【００３３】
しかし、また途中で、「δ：モータＢ６’のＡＤ変換」（図１０の（８））が終了し、「βii：モータＢ６’の電流ＡＤ完了割り込み」（図１０の（６））が起動する。  
「βii：モータＢ６’の電流ＡＤ完了割り込み」（図１０の（６））では、モータＡ６の電流読み込み待ちフラグをチェックし、待っていなければ、何もせず終了し、待っていれば、すぐにモータＡ６の「回転角度を読み込み電流ＡＤ」を開始し、「Ｃ：モータＡ６の演算処理」（図１０の（３））の割り込みを要求して、処理を完了するが、今回はすでに終了しているので、何もせず終了する。  
すると再度中断していた「Ｃ：モータＡ６の制御演算」（図１０の（３））を再開し、モータＡ６の演算処理を完了して終了する。
【００３４】
次に「αii：モータＡ６の電流ＡＤ完了割り込み」（図１０の（５））のなかで要求された「Ｄ：モータＢ６’の演算処理」（図１０の（７））の割り込みが起動してモータＢ６’の制御演算を実行し、完了して終了する。  
以上により、同時に発生した二つのモータの制御演算を完了する。  
図１３は、図１０における破線の円で囲んだ部分の拡大図である。
【００３５】
次に、第４の実施例について詳述する。  
これまで説明した第１〜第３の実施例においては、モータＡ６とモータＢ６’とは平等であったが、第４の実施例では、例えば制御性能的に優先度の高いモータＬと優先度の低いモータＭを同時に一つのＣＰＵで制御する場合に、優先度の高いモータＬの「データ取り込み処理」を優先的に実施してモータＬの制御を優先的に行うためのものである。
【００３６】
図１４は第１の実施例に第４の実施例を組み合わせた場合、、図１５は第２の実施例第４の実施例を組み合わせた場合、図１６は第３の実施例に第４の実施例を組み合わせた場合の優先度を示す図である。  
何れもモータＬの「データ読み込み」がモータＭのそれよりも優先順位が高い場合であり、モータＭの「データ読み込み」処理中にモータＬの「データ読み込み」処理が要求されれば即座に実行され、その後にモータＭの処理が実行されることになる。  
以上により優先度の低いモータＭの制御は遅れることになるが、優先度の高いモータＬの制御は常に優先的に実行することが出来る。
【００３７】
なお、これまでの説明においては、一つのＣＰＵで二つのモータを制御する場合を例示したが、三つ以上のモータでも同様の考え方で制御することが出来る。ただし、制御が重なる場合の演算の遅れは、モータの台数が多い方が大きくなる可能性がある。
【００３８】
以上説明したように、本発明においては、従来のベクトル制御演算で行っていた「回転角度の読み込みおよび電流値のＡＤ変換処理を行い、読み込んだ回転角度と電流値に基いて電流フィードバック制御演算を行う処理」を、回転角度の読み込みおよび電流値のＡＤ変換終了までを行う「回転角度と電流のデータ読み込み処理」と読み込んだデータに応じて電流フィードバック制御演算を行う「演算処理」とに分割して別々の割り込み処理とし、かつ、「回転角度と電流のデータ読み込み処理」を「演算処理」よりも優先度の高い割り込み処理に設定するように構成したことにより、一方のモータについての「演算処理」を実行中でも、他方のモータについての「回転角度と電流のデータ読み込み処理」を受け付けることが可能になる。したがって二つのモータのＰＷＭタイマの谷割り込みの関係がランダムに変化しても制御可能である。つまり各々のモータのキャリア周波数を任意に可変させて、ＰＷＭタイマの谷割り込みの関係がランダムに変化しても制御することが可能である。また、複数のモータの処理要求が重なった時における制御的な遅れを大幅に短縮することが出来る。そのため複数の交流モータを一つのＣＰＵでベクトル制御する際に、演算負荷の増加や制御の遅れを抑制しながら、演算タイミングやキャリア周期の設定の自由度を向上させることが出来る。
【００３９】
また、「回転角度と電流のデータ読み込み処理」の割り込み処理を、「回転角度の読み込みと電流ＡＤ変換開始処理」のみの割り込み処理とするように構成した場合には、「演算処理」よりも優先度の高い割り込み処理を「回転角度読み込みと電流ＡＤ変換の開始」だけとして短縮することで、複数のモータの処理要求が重なった時の遅れ時間を短縮することができ、さらにＡＤ変換中に「演算処理」の一部を実行することが可能となるので、ＣＰＵの演算負荷を低減することもできる。
【００４０】
また、ＰＷＭタイマの谷で起動する処理を「他方のモータについての演算がＡＤ変換器使用中であればＡＤ待ちフラグを設定して処理を終了し、使用中でなければ回転角度読み込みおよび電流ＡＤ変換開始処理を実行し、演算処理割り込み要求を起動する」処理とし、かつ「演算処理」よりも優先度の高い割り込み処理とし、さらにその「電流ＡＤ変換の終了割り込み」を「他方のモータのＡＤ待ちフラグがあれば他方のモータについてのＡＤ変換開始、フラグがなければ処理終了」の処理としてＰＷＭタイマの谷で起動する処理と同優先度の割り込み処理とするように構成した場合には、制御するモータの数に対して充分なＡＤ変換器をもたないマイクロコンピュータ用いて複数のモータを制御する場合において、ＡＤ変換器を共有しているモータの処理が重なった場合に、一方のＡＤ変換処理では他方のＡＤ変換処理終了待ちが発生しても待ちフラグをセットして優先度の高い処理は終了するために、ＡＤ変換待ちの間に優先度の低い「演算処理」の一部を実行することが可能となり、電流制御演算時間の長期化を防ぐことができる。
【００４１】
また、複数のモータに優先順位を付け、「回転角度と電流のデータ読み込み処理」または「回転角度の読み込みと電流ＡＤ変換開始処理」または「電流ＡＤ変換の終了割り込み」について各モータ毎に前記優先順位に応じて優先度に差を設けるように構成した場合には、制御するモータの重要度に応じて優先順位をつけることで、重要度の高いモータを優先的に制御することができる。
【００４２】
また、ＰＷＭタイマの谷での割り込み時点から実際に回転角度および電流値を取り込んだ時点までの遅れ時間を算出し、その遅れ時間に応じて回転角度および電流値を補正をするように構成した場合には、回転角度の読み込み遅れ発生時に補正を行うことで、出力演算時の推定回転角度演算精度の誤差を防止し、制御性能の劣化を防止することが出来る。
【図面の簡単な説明】
【００４３】
【図１】本発明を適用するベクトル制御装置を示す図であり、二つのモータを一つのＣＰＵで駆動するように構成した３相同期電動機のベクトル制御装置を示す機能ブロック図。
【図２】特許文献１におけるモータ制御タイミング図。
【図３】本発明の第１の実施例におけるベクトル制御演算の割り込みの分割方法を示す図。
【図４】本発明の第１の実施例における第１の具体例の制御タイミング図。
【図５】本発明の第１の実施例における第２の具体例の制御タイミング図。
【図６】本発明の第１の実施例における第３の具体例の制御タイミング図。
【図７】本発明の第２の実施例におけるベクトル制御演算の割り込みの分割方法を示す図。
【図８】本発明の第２の実施例における具体例の制御タイミング図。
【図９】本発明の第３の実施例におけるベクトル制御演算の割り込みの分割方法を示す図。
【図１０】本発明の第３の実施例における具体例の制御タイミング図。
【図１１】本発明の第３の実施例におけるＰＷＭタイマの谷で起動する割り込み処理のフローチャート。
【図１２】本発明の第３の実施例におけるＡＤ変換の終了割り込み処理のフローチャート
【図１３】図１０における破線の円で囲んだ部分の拡大図。
【図１４】第１の実施例に第４の実施例を組み合わせた場合における分割方法と優先度を示す図。
【図１５】第２の実施例に第４の実施例を組み合わせた場合における分割方法と優先度を示す図。
【図１６】第３の実施例に第４の実施例を組み合わせた場合における分割方法と優先度を示す図。
【符号の説明】
【００４４】
１、１’…電流ＰＩ制御部              ２、２’…非干渉制御部
３、３’…２相３相変換部              ４、４’…ＰＷＭ変換部
５、５’…インバータ                  ６、６’…モータＡ、モータＢ
７、７’…電流センサ                  ８、８’…Ａ／Ｄ変換部
９、９’…３相２相変換部          １０、１０’…角度検出器
１１、１１’…回転数算出部      １００Ａ、１００Ｂ…コントローラ
【図１】
0004710474.tif 000002
【図２】
0004710474.tif 000003
【図３】
0004710474.tif 000004
【図４】
0004710474.tif 000005
【図５】
0004710474.tif 000006
【図６】
0004710474.tif 000007
【図７】
0004710474.tif 000008
【図８】
0004710474.tif 000009
【図９】
0004710474.tif 000010
【図１０】
0004710474.tif 000011
【図１１】
0004710474.tif 000012
【図１２】
0004710474.tif 000013
【図１３】
0004710474.tif 000014
【図１４】
0004710474.tif 000015
【図１５】
0004710474.tif 000016
【図１６】
0004710474.tif 000017