(57)【要約】【課題】  モータの回転制御を精度良く行うことができるようにする。【解決手段】  モータ制御部１００は、回転制御周期Ｔｐｗｎ（ｎ）の遅延時間Ｔｄｌｙ（ｎ）および余裕時間（Ｔｄｅａｄ−Ｔｃｏｍｐ（ｎ））に基づいて、次の回転制御周期Ｔｐｗｎ（ｎ＋１）の遅延時間Ｔｄｌｙ（ｎ＋１）を導出する。【選択図】  図１
2019201461.tif 000002
【特許請求の範囲】
【請求項１】
モータをベクトル制御するモータ制御システムであって、
前記モータに流れる電流の値を制御周期ごとに測定する測定手段と、
前記モータに流れる電流の値に基づいて、前記モータの回転角度を前記制御周期ごとに推定する推定手段と、
前記推定手段により推定された前記モータの回転角度に基づいて、前記モータの動作に対する指令値を前記制御周期ごとに導出して出力する第１制御手段と、
前記モータに流れる電流の値の測定のタイミングを前記制御周期ごとに制御する第２制御手段と、
前記第１制御手段により出力された前記指令値に基づいて前記制御周期ごとに前記モータを制御する第３制御手段と、を有し、
前記第２制御手段は、前記制御周期の開始のタイミングよりも後のタイミングに、当該制御周期において前記モータに流れる電流の値を測定するタイミングを制御することが可能であることを特徴とするモータ制御システム。
【請求項２】
前記第２制御手段は、前記制御周期において所定の処理が終了するタイミングに基づいて、当該制御周期の次の前記制御周期において前記モータに流れる電流の値を測定するタイミングを決定することを特徴とする請求項１に記載のモータ制御システム。
【請求項３】
前記第２制御手段は、前記制御周期において所定の処理が終了するタイミングと、当該制御周期において当該所定の処理を終了させる目標のタイミングとの差に基づいて、当該制御周期の次の前記制御周期において前記モータに流れる電流の値を測定するタイミングを決定することを特徴とする請求項１または２に記載のモータ制御システム。
【請求項４】
前記所定の処理が終了するタイミングは、前記指令値を導出するための処理が終了するタイミングであることを特徴とする請求項２または３に記載のモータ制御システム。
【請求項５】
前記制御周期が開始するタイミングから、待ち時間が経過した後に、前記モータに流れる電流の値の測定のための処理が行われることを特徴とする請求項１〜４の何れか１項に記載のモータ制御システム。
【請求項６】
前記推定手段は、前記モータに流れる電流の値に基づいて、前記制御周期における前記モータの回転角度を推定し、推定した前記制御周期における前記モータの回転角度と、当該制御周期において前記モータに流れる電流の値を測定するタイミングとに基づいて、当該制御周期の次の前記制御周期における前記モータの前記回転角度を推定し、
前記第１制御手段は、前記推定手段により推定された前記次の制御周期における前記モータの回転角度に基づいて、当該次の制御周期における前記モータの動作に対する前記指令値を導出することを特徴とする請求項１〜５の何れか１項に記載のモータ制御システム。
【請求項７】
前記推定手段は、前記モータに流れる電流の値に基づいて、前記制御周期において前記モータに流れる電流の値を測定するための処理が開始するタイミングでの前記モータの回転角度を推定し、当該推定したモータの回転角度と、当該制御周期において前記モータに流れる電流の値を測定するための処理が開始するタイミングから当該制御周期が終了するタイミングまでの時間における前記モータの回転角度の変化分とに基づいて、当該制御周期の次の前記制御周期における前記モータの回転角度を推定することを特徴とする請求項６に記載のモータ制御システム。
【請求項８】
前記第２制御手段は、前記モータの運転中の状態に応じて、前記制御周期において前記モータの動作に対する前記指令値を導出するための処理を切り替えることと、当該切り替え後の処理の処理時間を見積もり、当該処理時間に基づいて、当該制御周期において、前記モータに流れる電流の値を測定するタイミングを制御することとを行うことを特徴とする請求項１〜７の何れか１項に記載のモータ制御システム。
【請求項９】
前記モータの運転中の状態を検知する検知手段を更に有することを特徴とする請求項８に記載のモータ制御システム。
【請求項１０】
前記モータの運転中の状態は、前記モータの負荷の変動を含み、
前記検知手段は、前記制御周期において前記第２制御手段により制御される測定のタイミングよりも前に測定された前記モータに流れる電流の値に基づいて、前記モータの負荷の変動を検知することを特徴とする請求項９に記載のモータ制御システム。
【請求項１１】
前記第２制御手段は、前記制御周期の時間と、前記切り替え後の処理の処理時間とに基づいて、当該制御周期において、前記モータに流れる電流の値を測定するタイミングを制御することを特徴とする請求項８〜１０の何れか１項に記載のモータ制御システム。
【請求項１２】
前記モータの運転中の状態に応じた、前記制御周期において前記モータの動作に対する前記指令値を導出するための処理の時間の情報を記憶する記憶手段を有し、
前記第２制御手段は、前記切り替え後の処理の処理時間を、前記記憶手段により記憶された情報に基づいて見積もることを特徴とする請求項８〜１１の何れか１項に記載のモータ制御システム。
【請求項１３】
モータをベクトル制御するモータ制御方法であって、
前記モータに流れる電流の値を制御周期ごとに測定する測定手段と、
前記モータに流れる電流の値に基づいて、前記モータの回転角度を前記制御周期ごとに推定する推定手段と、
前記推定手段により推定された前記モータの回転角度に基づいて、前記モータの動作に対する指令値を前記制御周期ごとに導出して出力する第１制御手段と、
前記モータに流れる電流の値の測定のタイミングを前記制御周期ごとに制御する第２制御手段と、
前記第１制御手段により出力された前記指令値に基づいて前記制御周期ごとに前記モータを制御する第３制御手段と、を有し、
前記第２制御手段は、前記制御周期の開始のタイミングよりも後のタイミングに、当該制御周期において前記モータに流れる電流の値を測定するタイミングを制御することが可能であることを特徴とするモータ制御方法。
【請求項１４】
請求項１〜１２の何れか１項に記載のモータ制御システムの各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御システム、モータ制御方法、およびプログラムに関し、特に、モータを制御するために用いて好適なものである。
【背景技術】
【０００２】
例えば、三相ブラシレスＤＣモータは、Ｕ相、Ｖ相、Ｗ相の三相のステータと、ローターとを有する。三相のステータに印加する電圧を制御することでモータ（ローター）を回転させることができる。このような三相ブラシレスＤＣモータ等のモータの回転制御としてベクトル制御がある。ベクトル制御を行うためには、モータの回転位相および回転速度が必要になる。特許文献１には、センサを用いずに、ステータコイル流れる電流値に基づいて、モータの回転速度および回転位相を推定し、推定した回転速度および回転位相を用いて行うベクトル制御（センサレスベクトル制御）について記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２３８００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術では、モータの回転速度および回転位相を推定する際に、ステータコイルに流れる電流値を取得するタイミングが考慮されていない。このため、モータの回転制御を行うタイミングと、ステータコイル流れる電流値を取得するタイミングとのずれが大きい場合、モータの回転制御を精度良く行うことができなくなる虞がある。例えば、制御誤差の増大や、負荷変動の応答性の低下をまねく。制御誤差が増大すると、例えば、モータの回転ムラの増大や消費電力の増大等に繋がり得る。
本発明は、このような問題点に鑑みてなされたものであり、モータの回転制御を精度良く行うことができるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
本発明のモータ制御システムは、モータをベクトル制御するモータ制御システムであって、前記モータに流れる電流の値を制御周期ごとに測定する測定手段と、前記モータに流れる電流の値に基づいて、前記モータの回転角度を前記制御周期ごとに推定する推定手段と、前記推定手段により推定された前記モータの回転角度に基づいて、前記モータの動作に対する指示を前記制御周期ごとに行う第１制御手段と、前記モータに流れる電流の値の測定のタイミングを前記制御周期ごとに制御する第２制御手段と、前記第１制御手段による指示に基づいて前記制御周期ごとに前記モータを制御する第３制御手段と、を有し、前記第２制御手段は、前記制御周期の開始のタイミングよりも後のタイミングに、当該制御周期において前記モータに流れる電流の値を測定するタイミングを制御することが可能であることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、モータの回転制御を精度良く行うことができる。
【図面の簡単な説明】
【０００７】
【図１】モータ制御システムの構成の第１の例を示す図である。
【図２】モータ制御システムの動作の第１の例を示すタイミングチャートである。
【図３】モータ制御システムの構成の第２の例を示す図である。
【図４】モータ制御システムの構成の第３の例を示す図である。
【図５】モータにかかる負荷の変動の時間波形の一例を示す図である。
【図６】モータ制御部の内部ブロック別の処理時間を示す図である。
【図７】モータ制御システムの動作の第２の例を示すタイミングチャートである。
【発明を実施するための形態】
【０００８】
以下、実施形態について、図面を参照して説明する。以下の各実施形態では、モータが、ブラシレスＤＣモータである場合を例に挙げて説明する。しかしながら、以下の各実施形態において適用対象となるモータは、ベクトル制御により動作することができるモータであれば、ブラシレスＤＣモータに限定されない。
【０００９】
（第１の実施形態）
まず、第１の実施形態を説明する。
図１は、本実施形態のモータ制御システムの構成の一例を示すブロック図である。
図１において、モータ制御システムは、モータ２０と、ＡＤコンバータ２１と、ＰＷＭ回路２２と、インバータ２３と、モータ制御部１００とを有する。
【００１０】
モータ制御部１００はモ、モータ２０の回転制御として、センサレスベクトル制御を行うことで、モータ２０を駆動するための三相（Ｕ相、Ｖ相、Ｗ相）の電圧指令値ｖｕ、ｖｖ、ｖｗを出力する。センサレスベクトル制御方式では、所定の制御周期（以下、必要に応じて回転制御周期と称する）毎に、三相のステータコイルに流れる電流値をそれぞれ測定する。そして、その電流値からモータの回転速度および回転位相の情報を推定し、推定したモータの回転速度および回転位相の情報に基づきベクトル制御を行い、次の回転制御周期で三相のステータコイルに印加する電圧をＰＷＭインバータ駆動により制御する。
【００１１】
ＡＤコンバータ２１は、モータ２０の三相の駆動ラインを流れるモータ電流のアナログ信号Ｓｕ、Ｓｖ、Ｓｗを入力し、当該アナログ信号をデジタル信号ｉｕ、ｉｖ、ｉｗに変換する。以下の説明では、このデジタル信号を必要に応じてモータ電流値と称する。本実施形態では、後述するシーケンス制御部１１０からの指示により回転制御周期内の任意の時点でモータ電流を測定できるものとする。
【００１２】
ＰＷＭ回路２２は、回転制御周期毎に、モータ制御部１００が出力する三相（Ｕ相、Ｖ相、Ｗ相）の電圧指令値ｖｕ、ｖｖ、ｖｗに応じたＰＷＭ（pulse width modulation）変換を行い、ＰＷＭ信号Ｐｕ、Ｐｖ、Ｐｗを出力する。ＰＷＭ回路２２では、回転制御周期（例えば５０μｓ）で動作するＰＷＭキャリア信号２０１（三角波）と、電圧指令値を比較する。ＰＷＭ回路２２は、この比較の結果、電圧指令値のほうが高ければＯＮ、低ければＯＦＦとなるように制御することでパルス幅変調されたＰＷＭ信号Ｐｕ、Ｐｖ、Ｐｗを生成する。また、ＰＷＭキャリア信号２０１（三角波）がＭＡＸ値になる度に回転制御周期の開始を通知するトリガ信号ｔｒｇをモータ制御部１００に出力する。インバータ２３は、ＰＷＭ回路２２が生成するＰＷＭ信号Ｐｕ、Ｐｖ、Ｐｗに応じで三相交流電圧をモータ２０に印加する。
本実施形態では、モータ２０が三相モータであり、Ｕ相、Ｖ相、およびＷ相の三相のモータ電流を用いるが、モータ電流の相数はこれに限定するものではない。例えば、二相のモータ電流を用いても本実施形態の手法を適用することができる。尚、本実施形態では、ＰＷＭ回路２２およびインバータ２３が第３制御手段の一例である。
【００１３】
モータ制御部１００は、入力ポート１０１より入力される速度指令値ｗｔと、入力ポート１０２より入力される三相のモータ電流値ｉｕ、ｉｖ、ｉｗとに基づき、モータ２０を駆動するための三相の電圧指令値ｖｕ、ｖｖ、ｖｗを出力ポート１０３から出力する。以上の制御を所定の回転制御周期で繰り返すことで、モータ２０の安定的な回転を実現する。尚、モータ制御部１００は、適切なプログラムをプロセッサ（ＣＰＵ）に実行させることで実現することができる。また、モータ制御部１００は、ＦＰＧＡ（Field-Programmable Gate Array）や、カスタムＬＳＩ（Large-Scale Integrated circuit）を使用して実現することもできる。また、モータ制御部１００は、プロセッサ、ＦＰＧＡ、およびカスタムＬＳＩの２つ以上を組み合わせて実現することもできる。
【００１４】
続いて、モータ制御部１００の内部構成の一例について説明する。
シーケンス制御器１１０は、回転制御周期毎にＰＷＭ回路２２から入力するトリガ信号ｔｒｇにより、後述する一連の処理のシーケンスを制御する。三相二相変換器１２０は、モータ電流値ｉｕ、ｉｖ、ｉｗに対して座標変換処理を行い、α軸電流値ｉαとβ軸電流値ｉβとを導出する。ここで、α−β軸は静止座標系である。例えば、α軸をいずれかの相方向、例えば、Ｕ相方向とし、β軸をα軸と直交する方向とすることができる。尚、三相二相変換器１２０による座標変換として、Clarke変換を用いることができる。また、モータ電流値ｉｕ、ｉｖ、ｉｗのうち、任意の二相の電流値から、α軸電流値ｉαとβ軸電流値ｉβを求める構成としても良い。
【００１５】
回転座標軸変換器１３０は、推定演算器１４０が出力する推定位相θと、三相二相変換器１２０が出力するα軸電流値ｉαおよびβ軸電流値ｉβとに基づいて、ｄ軸電流値ｉｄとｑ軸電流値ｉｑとを導出する。ここで、ｄ−ｑ軸は回転座標系である。例えば、ｄ軸をローター（回転子）の所定の方向、例えば、Ｎ極方向とし、ｑ軸をｄ軸に直交する方向とすることができる。尚、回転座標軸変換器１３０は、α軸電流値ｉαおよびβ軸電流値ｉβに対して、推定位相θ（即ち、α軸とｄ軸との位相差）に基づいて座標変換処理を行う。α軸は、ステータ（固定子）の基準軸の一例である。また、回転座標軸変換器１３０による座標変換として、Park変換を用いることができる。
【００１６】
ベクトル制御器１５０は、速度指令値ｗｔと、推定演算器１４０が出力するモータ２０の推定速度ｗｅとに基づいて、モータ２０の回転速度を調整するためのｑ軸電流指令値を決定する。そして、ベクトル制御器１５０は、ｑ軸電流指令値と、ｄ軸電流値ｉｄおよびｑ軸電流値ｉｑとに基づいて、ｄ軸電圧指令値ｖｄとｑ軸電圧指令値ｖｑとを導出して静止座標軸変換器１６０に出力する。
【００１７】
静止座標軸変換器１６０は、推定演算器１４０が出力する推定位相θと、ベクトル制御器１５０が出力するｄ軸電圧指令値ｖｄおよびｑ軸電圧指令値ｖｑとに基づいて、α軸電圧指令値ｖαとβ軸電圧指令値ｖβとを導出する。尚、静止座標軸変換器１６０は、ｄ軸電圧指令値ｖｄおよびｑ軸電圧指令値ｖｑに対して、推定位相θ（即ち、α軸とｄ軸との位相差）に基づいて座標変換処理を行う。静止座標軸変換器１６０による座標変換として、逆Park変換を用いることができる。
【００１８】
二相三相変換器１７０は、静止座標軸変換器１６０が出力するα軸電圧指令値ｖαおよびβ軸電圧指令値ｖβに対して座標変換処理を行い、Ｕ相電圧指令値ｖｕ、Ｖ相電圧指令値ｖｖ、およびＷ相電圧指令値ｖｗを導出してＰＷＭ回路２２に出力する。尚、二相三相変換器１７０による座標変換として、逆Clarke変換を用いることができる。
【００１９】
推定演算器１４０は、三相二相変換器１２０が出力するα軸電流値ｉαおよびβ軸電流値ｉβと、静止座標軸変換器１６０が出力するα軸電圧指令値ｖαおよびβ軸電圧指令値ｖβとに基づいて、モータ２０の推定位相θおよび推定速度ｗｅを導出して出力する。
推定演算器１４０の処理の具体例を説明する。まず、推定演算器１４０は、α軸電圧指令値ｖαおよびβ軸電圧指令値ｖβと、α軸電流値ｉαおよびβ軸電流値ｉβとを用いてモータ２０に生じる誘起電圧ｅα、ｅβを推定する。誘起電圧ｅα、ｅβの推定は、例えば、以下の式（１）で示されるモータモデルの回路方程式をベースとし、Ｌｕｅｎｂｅｒｇｅｒオブザーバ等を用いる事によって実現することができる。
【００２０】
【数１】
2019201461.tif 000003
【００２１】
推定演算器１４０は、以下の式（２）を用いて、誘起電圧ｅα、ｅβの値に基づいて、推定位相θを導出する。
【００２２】
【数２】
2019201461.tif 000004
【００２３】
前記演算は、例えばＣＯＲＤＩＣアルゴリズムを用いて実行することができる。
また、推定演算器１４０は、以下の式（３）に示すように、推定位相θを時間微分することにより、推定速度ｗｅを導出する。
【００２４】
【数３】
2019201461.tif 000005
【００２５】
尚、ここでは、推定位相θを時間微分して推定速度ｗｅを導出する場合を例に挙げて示した。しかしながら、推定速度ｗｅを求めて、その時間積分値で推定位相θを導出しても良い。尚、推定位相θは、モータ２０の回転角度（ローターの磁極の位置）を特定するための情報の一例であり、例えば、α軸とｄ軸とのなす角度で表すことができる。また、推定速度ｗｅは、モータ２０の回転速度を特定するための情報の一例であり、例えば、角速度で表すことができる。
【００２６】
モータ制御部１００の一連の処理は、回転制御周期（例えば５０μｓ）毎に前述したＰＷＭ回路２２からのトリガ信号ｔｒｇにより起動される。モータ制御部１００は、一回転制御周期内に一連の処理を完了し、次の回転制御周期に必要なＵ相電圧指令値ｖｕ、Ｖ相電圧指令値ｖｖ、およびＷ相電圧指令値ｖｗをＰＷＭ回路２２に設定しなければならない。
【００２７】
図２は、図１に示すモータ制御システムの処理ブロックの動作の一例を説明するタイミングチャートである。
信号２０１は、ＰＷＭ回路２２において、ＰＷＭ変換処理を行うためのＰＷＭキャリア信号であり、所定の回転制御周期Ｔｐｗｍ（例えば５０μｓ）毎に繰り返される周期信号である。トリガ信号ｔｒｇは、図１で説明したＰＷＭ回路２２からモータ制御部１００のシーケンス制御器１１０に通知されるトリガ信号であり、回転制御周期Ｔｐｗｍの開始のタイミングで発行される。
【００２８】
ＷＡＩＴ処理２０３、２０３’は、ＰＷＭ回路２２からのトリガ信号ｔｒｇが発行されてから後述するＡＤＣ処理２０４、２０４’を行うまでの待機処理を示す。ＷＡＩＴ処理２０３、２０３’は、シーケンス制御器１１０がトリガ信号ｔｒｇを受信してから、モータ制御部１００に内蔵されるタイマ（不図示）を使用して遅延時間Ｔｄｌｙ分だけタイマ待ちの処理を行うことにより実現することができる。タイマは、回転制御周期（例えば５０μｓ）ごとにトリガ信号ｔｒｇによりカウントをリスタートするカウンタであり、遅延時間（Ｔｄｌｙ）の計測や、後述するＰＷＭ設定処理２０６の完了時刻を判別するために使用することができる。尚、本実施形態では、遅延時間Ｔｄｌｙが待ち時間の一例である。
【００２９】
ＡＤＣ処理２０４、２０４’は、モータ２０に流れる三相のモータ電流値ｉｕ、ｉｖ、ｉｗを測定するための処理（ＡＤコンバータ２１における処理）を示すものである。ＡＤＣ処理２０４、２０４’は、ＷＡＩＴ処理２０３、２０３’が完了した後、シーケンス制御器１１０によって起動される。以下の説明では、ＡＤＣ処理２０４、２０４’の開始のタイミングを、必要に応じて三相のモータ電流値ｉｕ、ｉｖ、ｉｗの測定タイミングと称する。尚、本実施形態では、ＡＤＣ処理２０４、２０４’が、モータに流れる電流の値を測定するための処理の一例である。
センサレスベクトル制御処理２０５、２０５’は、図１を参照しながら説明した一連のセンサレスベクトル制御処理を示す。ここでは、この一連のセンサレスベクトル制御処理を、ＳＦＯＣ処理（Sensorless Field Oriented Control）と称する。ＳＦＯＣ処理は、例えば、三相二相変換器１２０が、モータ電流値ｉｕ、ｉｖ、ｉｗを入力してから、二相三相変換器１７０が電圧指令値ｖｕ、ｖｖ、ｖｗを導出するまでの処理に対応する。尚、本実施形態では、三相二相変換器１２０、回転座標軸変換器１３０、ベクトル制御器１５０、静止座標軸変換器１６０、および二相三相変換器１７０が、第１制御手段の一例である。
【００３０】
ＰＷＭ設定処理２０６、２０６’は、次の回転制御周期でモータ２０の三相のステータコイルに印加する電圧指令値ｖｕ、ｖｖ、ｖｗをＰＷＭ回路２２に設定する処理である。この処理は、例えば、二相三相変換器１７０により電圧指令値ｖｕ、ｖｖ、ｖｗが導出されてから、ＰＷＭ回路２２に電圧指令値ｖｕ、ｖｖ、ｖｗが設定されるまでの処理に対応する。尚、本実施形態では、ＰＷＭ設定処理２０６、２０６’が所定の処理の一例である。また、本実施形態では、ＰＷＭ設定処理２０６、２０６’が終了するタイミングが、前記制御周期における所定の処理が終了するタイミングの一例である。ＰＷＭ設定処理２０６、２０６’が終了するタイミングは、前記指令値を導出するための処理が終了するタイミングの一例でもある。
【００３１】
ＷＡＩＴ時間更新処理２０７、２０７’は、ＷＡＩＴ処理２０３、２０３’で計測する遅延時間を再設定する処理である。
処理完了目標時刻ｔ２１２、ｔ２１２’は、ＰＷＭ設定処理２０６の目標完了時刻である。トリガ信号ｔｒｇが発行されてから目標処理時間Ｔｄｅａｄが経過した時刻が、処理完了目標時刻ｔ２１２、ｔ２１２’になる。目標処理時間Ｔｄｅａｄは、モータ制御部１００内に予め設定される時間である。回転制御周期Ｔｐｗｎに対して、処理時間の変動を考慮したマージンの時間だけ短い時間が、目標処理時間Ｔｄｅａｄとして設定される。本実施形態では、処理完了目標時刻ｔ２１２、ｔ２１２’が、所定の処理を終了させる目標のタイミングの一例である。
【００３２】
処理開始時刻ｔ２１３、ｔ２１３’は、ＡＤＣ処理２０４を開始する時刻である。トリガ信号ｔｒｇを受けてから、ＷＡＩＴ処理２０３、２０３’で設定される遅延時間Ｔｄｌｙが経過した時刻が、処理開始時刻ｔ２１３、ｔ２１３’になる。
処理完了時刻ｔ２１４、ｔ２１４’は、 ＰＷＭ設定処理２０６、２０６’が完了する時刻である。トリガ信号ｔｒｇを受けてから、処理時間Ｔｃｏｍｐが経過した時刻が、処理完了時刻ｔ２１４、ｔ２１４’になる。
これらの時刻は、前述したモータ制御部１００に内蔵されるタイマ（不図示）を用いて計測することができる。
【００３３】
シーケンス制御器１１０は、トリガ信号ｔｒｇを受け取ると、トリガ信号ｔｒｇを受け取った時刻から、遅延時間Ｔｄｌｙ分のタイマ待ちによるＷＡＩＴ処理２０３、２０３’を行う。ＷＡＩＴ処理２０３、２０３’の終了後、ＡＤＣ処理２０４、２０４’により、三相のモータ電流値ｉｕ、ｉｖ、ｉｗの測定を行う。続いてＳＦＯＣ処理２０５、２０５’を行い、次の回転制御周期でモータ２０を駆動するための三相の電圧指令値ｖｕ、ｖｖ、ｖｗを導出し、これらの値をＰＷＭ設定処理２０６、２０６’でＰＷＭ回路２２に設定する。
【００３４】
この後、シーケンス制御器１１０は、ＷＡＩＴ時間更新処理２０７を行う。具体的にシーケンス制御器１１０は、ＰＷＭ設定処理２０６、２０６’が完了する時刻と、制御開始タイミングＴｓｔａｒｔと、目標処理時間Ｔｄｅａｄとに基づいて、次の回転制御周期で使用する遅延時間Ｔｄｌｙを導出する。ここで、目標処理時間Ｔｄｅａｄは、例えば、予め設定される。また、図２に示す例では、ＰＷＭ設定処理２０６、２０６’が完了する時刻は、処理完了時刻ｔ２１４、ｔ２１４’である。例えば、図２において、回転制御周期（ｎ＋１）で使用する遅延時間Ｔｄｌｙ（ｎ＋１）は、その１つ前の回転制御周期（ｎ）における遅延時間Ｔｄｌｙ（ｎ）および処理時間Ｔｃｏｍｐ（ｎ）を用いて、以下の式（４）により導出される。
【００３５】
Ｔｄｌｙ（ｎ＋１）＝Ｔｄｌｙ（ｎ）＋（Ｔｄｅａｄ−Ｔｃｏｍｐ（ｎ））  ・・・（４）
【００３６】
これは、次の回転制御周期の処理時間の見積もり値として、前回の処理時間の計測値を用いる事を意味する。このような構成により、次の回転制御周期（ｎ＋１）において、三相のモータ電流値ｉｕ、ｉｖ、ｉｗの測定タイミングから、モータ２０の駆動が行われるタイミングまでの時間は、Ｔｐｗｍ−Ｔｄｌｙ（ｎ＋１）となる。一般的なセンサレスベクトル制御方式では、回転制御周期の開始タイミングで三相のモータ電流値ｉｕ、ｉｖ、ｉｗが測定される。この場合、回転制御周期が５０μｓであるとすると、次の回転制御周期（ｎ＋１）において、三相のモータ電流値ｉｕ、ｉｖ、ｉｗの測定タイミングから、モータ２０の駆動が行われるタイミングまでの時間は、５０μｓになる。一方、本実施形態では、遅延時間Ｔｄｌｙ（ｎ＋１）として２５μｓが導出されたとする。そうすると、次の回転制御周期（ｎ＋１）において、三相のモータ電流値ｉｕ、ｉｖ、ｉｗの測定タイミングから、モータ２０の駆動が行われるタイミングまでの時間は、２５μｓになる。よって、三相のモータ電流値ｉｕ、ｉｖ、ｉｗの測定タイミングから、モータ２０の駆動が行われるタイミングまでの時間を半分に短縮することができる。尚、本実施形態では、シーケンス制御器１１０が第２制御手段の一例である。
【００３７】
以上のように本実施形態では、モータ制御部１００は、回転制御周期Ｔｐｗｎ（ｎ）の遅延時間Ｔｄｌｙ（ｎ）および余裕時間（Ｔｄｅａｄ−Ｔｃｏｍｐ（ｎ））に基づいて、次の回転制御周期Ｔｐｗｎ（ｎ＋１）の遅延時間Ｔｄｌｙ（ｎ＋１）を導出する。従って、三相のモータ電流値ｉｕ、ｉｖ、ｉｗの測定タイミングと、モータ２０の駆動が行われるタイミングとのずれを小さくすることができる。即ち、回転制御周期毎に行われるセンサレスベクトル制御の処理を、所定の周期内に完了しつつ、モータ電流値ｉｕ、ｉｖ、ｉｗの測定タイミングをより次の回転制御周期でのモータの駆動タイミングに近付けることができる。具体的に本実施形態では、三相の電圧指令値ｖｕ、ｖｖ、ｖｗは、回転制御周期の開始のタイミングから遅延時間Ｔｄｌｙが経過するまでにモータ２０（ローター）が進む位相（回転角度）を考慮したものとなる。よって、モータ２０の駆動制御における制御誤差の増大や、負荷変動の応答性の低下を抑制することができる。
【００３８】
尚、必ずしも、式（４）で遅延時間Ｔｄｌｙ（ｎ＋１）を導出しなくても良い。即ち、回転制御周期Ｔｐｗｎ内にＷＡＩＴ時間更新処理２０７、２０７’が終了し、且つ、当該回転制御周期Ｔｐｗｎの開始のタイミングよりも、モータ電流値ｉｕ、ｉｖ、ｉｗの測定タイミングを遅らせていれば良い。
【００３９】
（第２の実施形態）
次に、第２の実施形態を説明する。本実施形態では、第１の実施形態において、よりモータ制御の精度を向上させるために、各回転制御周期に、三相のモータ電流値ｉｕ、ｉｖ、ｉｗの測定タイミングに応じて、次の回転制御周期で制御する回転位相（回転角度）を導出する。このように本実施形態は、第１の実施形態と、次の回転制御周期で制御する回転位相（回転角度）を導出することによる構成および処理が主としてことなる。従って、本実施形態の説明において、第１の実施形態と同一の部分については、図１〜図２に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００４０】
図３は、本実施形態のモータ制御システムの構成の一例を示すブロック図である。
図３において、シーケンス制御器１１０は、回転制御周期Ｔｐｗｍにおける遅延時間Ｔｄｌｙを設定し、推定演算器１４０に出力する。図２を参照しながら説明したように、遅延時間Ｔｄｌｙは、回転制御周期Ｔｐｗｍ内でＡＤＣ処理２０４、２０４’の実行を開始するタイミングを特定するための情報である。尚、シーケンス制御器１１０は、トリガ信号ｔｒｇを受け取った時刻から、遅延時間Ｔｄｌｙが経過した時刻（図２では、処理開始時刻ｔ２１３、ｔ２１３’）を遅延時間Ｔｄｌｙに代えて、推定演算器１４０に出力しても良い。
【００４１】
推定演算器１４０は、推定位相θおよび推定速度ｗｅに加えて、次周期推定位相θ'を導出する。次周期推定位相θ'は、次の回転制御周期で制御するモータ２０の回転位相（回転角度）の情報（図２では、時刻ｔ２１１におけるモータ２０の回転位相）を表す。
推定演算器１４０は、第１の実施形態で説明したように、α軸電圧指令値ｖα、β軸電圧指令値ｖβ、α軸電流値ｉα、およびβ軸電流値ｉβに基づいて、推定速度ｗｅおよびモータの推定位相θを導出する。また、推定演算器１４０は、例えば、以下の式（５）を用いて、次周期推定位相θ'を導出して出力する。
θ'＝θ＋Δθ  ・・・（５）
【００４２】
ここで、位相変化量Δθは、三相のモータ電流値ｉｕ、ｉｖ、ｉｗの測定タイミングから次の回転制御周期が開始するまでの時間に進むモータ位相の電気角であり、例えば、以下の式（６）を用いて導出される。
Δθ＝ｗｅ×Ｔｄ  ・・・（６）
ここで、Ｔｄは、三相のモータ電流値ｉｕ、ｉｖ、ｉｗの測定タイミングから次の回転制御周期が開始するまでの時間であり、例えば、以下の式（７）を用いて導出される。
Ｔｄ＝Ｔｐｗｍ−Ｔｄｌｙ  ・・・（７）
【００４３】
尚、本実施形態では、推定演算器１４０が、推定手段の一例である。また、推定位相θが、前記制御周期において前記モータに流れる電流の値を測定するための処理が開始するタイミングでの前記モータの回転角度の一例である。また、位相変化量Δθが、当該制御周期において前記モータに流れる電流の値を測定するための処理が開始するタイミングから当該制御周期が終了するタイミングまでの時間における前記モータの回転角度の変化分の一例である。また、次周期推定位相θ'が、当該制御周期の次の前記制御周期における前記モータの回転角度の一例である。
【００４４】
静止座標軸変換器１６０は、推定位相θではなく、推定演算器１４０が出力した次周期推定位相θ'の情報に基づきｄ軸電圧指令値ｖｄおよびｑ軸電圧指令値ｖｑに対して座標変換処理を行い、α軸電圧指令値ｖαおよびβ軸電圧指令値ｖβを導出して出力する。二相三相変換器１７０は、このようにして静止座標軸変換器１６０が出力するα軸電圧指令値ｖαおよびβ軸電圧指令値ｖβに対して座標変換処理を行い、Ｕ相電圧指令値ｖｕ、Ｖ相電圧指令値ｖｖ、およびＷ相電圧指令値ｖｗを導出する。尚、本実施形態では、当該Ｕ相電圧指令値ｖｕ、Ｖ相電圧指令値ｖｖ、およびＷ相電圧指令値ｖｗがＰＷＭ回路２２に出力されることにより、当該次の制御周期における前記モータの動作に対する前記指令値を導出することの一例が実現される。
【００４５】
以上のように本実施形態では、モータ制御部１００は、次周期推定位相θ'（次の回転制御周期で制御するモータ２０の回転位相（回転角度）の情報）を導出する。次周期推定位相θ'は、三相のモータ電流値ｉｕ、ｉｖ、ｉｗの測定タイミングにおける推定位相θに、当該測定タイミングから次の回転制御周期が開始するまでの時間に進むモータ２０の回転位相（回転角度）Δθ’を加算することにより導出される。従って、第１の実施形態で説明した効果に加えて、例えば、以下の効果が得られる。即ち、回転制御周期Ｔｐｗｍ毎に行うＳＦＯＣ処理２０５、２０５’に掛かる時間に応じて三相のモータ電流値ｉｕ、ｉｖ、ｉｗの測定タイミングが変わった場合でも、当該測定タイミングに応じて次の回転制御周期で制御するモータ位相を制御することができる。
【００４６】
（第３の実施形態）
次に、第３の実施形態を説明する。本実施形態では、ＳＦＯＣ処理２０５、２０５’を行う前に、簡易的にモータ２０の動作状態を検知する前処理を行う。そして、その前処理の結果に応じて、以降のＳＦＯＣ処理２０５、２０５’の内容を切り替える。また、本実施形態では、ＳＦＯＣ処理２０５、２０５’で行う処理の時間を見積もり、ＳＦＯＣ処理２０５、２０５’のための三相のモータ電流値ｉｕ、ｉｖ、ｉｗの測定タイミングを決定する。このように本実施形態では、第１〜第２の実施形態と、ＳＦＯＣ処理２０５、２０５’を切り替え、切り替え後のＳＦＯＣ処理２０５、２０５’に応じたモータ電流値ｉｕ、ｉｖ、ｉｗの測定タイミングを決定することに伴う構成および処理が主として異なる。従って、本実施形態の説明において、第１〜第２の実施形態と同一の部分については、図１〜図３に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００４７】
本実施形態では、モータ２０の動作状態を検知する前処理の一例として、モータ２０の負荷の変動を検知する前処理を行い、その結果に基づいて、ＳＦＯＣ処理の内容を切り替える場合を例に挙げて説明する。
一般的にモータ２０の負荷変動が大きくなると、安定的にモータ２０を回転させるために、定常時に比べて演算精度を上げることが必要になる等、モータ２０を制御するための演算時間は増大する。
【００４８】
図４は、本実施形態のモータ制御システムの構成の一例を示すブロック図である。
図４において、負荷変動検知器４１０は、モータ２０にかかる負荷の変動を検知する。本実施形態では、負荷変動検知器４１０は、ＡＤコンバータ２１で測定された三相のモータ電流値ｉｕ、ｉｖ、ｉｗの変動を回転制御周期毎にモニタすることで、モータ２０にかかる負荷の変動を簡易的に検知する。負荷変動検知器４１０は、モータ２０にかかる負荷の変動が予め設定された所定の変動幅以上の変動であるか否かを判定する。負荷変動検知器４１０は、負荷変動検知フラグｄｅｔは、モータ２０にかかる負荷の変動が予め設定された所定の変動幅以上の変動であるか否かを表す負荷変動検知フラグｄｅｔをシーケンス制御器１１０に出力する。
【００４９】
シーケンス制御器１１０は、推定演算器１４０およびベクトル制御器１５０に、演算精度を上げて処理を行う必要があるか否かを表す演算精度指定信号ｍｏｄｅを出力する。本実施形態では、モータ２０にかかる負荷の変動が予め設定された所定の変動幅以上の変動である場合、推定演算器１４０、ベクトル制御器１５０の演算精度を上げて処理を行う。推定演算器１４０では、演算精度を上げるために、例えば、CORDIC演算のループ回数を増加することを行う。ベクトル制御器１５０では、演算精度を上げるために、例えば、演算桁数を増加する。尚、本実施形態では、推定演算器１４０、ベクトル制御器１５０の演算精度が切り替わることにより、前記モータの運転中の状態に応じて、前記制御周期において前記モータの動作に対する前記指令値を導出するための処理を切り替えることの一例が実現される。
【００５０】
図５は、モータ２０にかかる負荷の変動の時間波形の一例を示す図である。尚、ここでは負荷（トルク）の具体的な数値はあまり意味を持たないため、図５には、モータ２０にかかる負荷の値を示していない。
図６は、図４のモータ制御部１００の内部ブロック別の処理時間の一例を示すグラフである。図６（ａ）は、平常時のＳＦＯＣの処理時間を表す。図６（ｂ）は、モータ２０にかかる負荷の変動を検知し、演算精度を上げた場合のＳＦＯＣの処理時間を表す。これらの情報は、予めシーケンス制御器１１０内に保持されており、モータ２０にかかる負荷の変動の検知状況に応じてＳＦＯＣ処理時間の見積のために使用される。尚、本実施形態では、平常時のＳＦＯＣの処理時間と、演算精度を上げた場合のＳＦＯＣの処理時間が、前記モータの運転中の状態に応じた、前記制御周期において前記モータの動作に対する前記指令値を導出するための処理の時間の情報の一例である。また、シーケンス制御器１１０が、記憶手段の一例である。
【００５１】
次に、負荷変動検知器４１０の処理方法の一例を説明する。例えば、図５のように、平常時のトルク値に対して或る一定の幅を持たせた閾値（上限値５０１と下限値５０２）を予め設定する。負荷変動検知器４１０は、モータ２０にかかる負荷を、回転制御周期毎に常にモニタし、モータ２０にかかる負荷が設定した閾値を超えたか否かを判定する。そして、負荷変動検知器４１０は、モータ２０にかかる負荷が設定した閾値を超えたか否かを、負荷変動検知フラグｄｅｔでシーケンス制御器１１０に通知する。図５では、モータ２０にかかる負荷が設定した閾値を超えた期間を負荷変動検知期間５１０として示す。
【００５２】
シーケンス制御器１１０は、モータ２０にかかる負荷が設定した閾値を超えたか否かによって、以降のＳＦＯＣ処理の演算モードを演算精度指定信号ｍｏｄｅにより各処理ブロック（推定演算器１４０およびベクトル制御器１５０）に指示する。各処理ブロックはその指示に従ったモードでの演算処理を行う。
【００５３】
図７は、図４に示すモータ制御システムの処理ブロックの動作の一例を説明するタイミングチャートである。尚、図７において、図２と同じ部分については、図２と同じ符号を付している。
ＰｒｅＡＤＣ処理７０１は、モータ２０にかかる負荷の変動の有無を検知する前処理のためにＡＤコンバータ２１でモータ電流値ｉｕ、ｉｖ、ｉｗを測定する処理である。負荷変動検知処理７０２は、負荷変動検知器４１０においてＰｒｅＡＤＣ処理７０１で取得したモータ電流値ｉｕ、ｉｖ、ｉｗから、モータ２０にかかる負荷の変動の有無を検知する処理である。尚、本実施形態では、負荷変動検知器４１０が、検知手段の一例である。また、本実施形態では、ＰｒｅＡＤＣ処理７０１により測定されるモータ電流値ｉｕ、ｉｖ、ｉｗが、前記制御周期において前記第２制御手段により制御される測定のタイミングよりも前に測定された前記モータに流れる電流の値の一例である。
【００５４】
以下、本実施形態のモータ制御システムの動作シーケンスの一例を説明する。
シーケンス制御器１１０は、ＰＷＭ回路２２からトリガ信号ｔｒｇを受け取ると、モータ２０にかかる負荷の変動の有無を検知する前処理のためにＡＤコンバータ２１にモータ電流値ｉｕ、ｉｖ、ｉｗを測定するＰｒｅＡＤＣ処理７０１を行わせる。続いて負荷変動検知器４１０において、前述した負荷変動検知処理７０２が行われる。
【００５５】
次に、シーケンス制御器１１０において以下のＷＡＩＴ時間更新処理２０７が行われる。
シーケンス制御器１１０は、負荷変動検知フラグｄｅｔの情報に従って、以降のＳＦＯＣ処理の演算モードを各処理ブロックに指示する。また、シーケンス制御器１１０は、前述した演算モードによる処理時間の情報に基づいて、以降のＡＤＣ処理２０４、ＳＦＯＣ処理２０５、ＰＷＭ設定処理２０６にかかる合計の時間Ｔｔｏｔａｌを積算する。シーケンス制御器１１０は、この時間Ｔｔｏｔａｌの情報から、図２で説明した遅延時間Ｔｄｌｙを以下の式（８）で求め、次のＷＡＩＴ処理２０３での遅延時間Ｔｄｌｙを更新する。
Ｔｄｌｙ＝Ｔｐｗｍ−Ｔｔｏｔａｌ  ・・・（８）
尚、本実施形態では、時間Ｔｔｏｔａｌが、切り替え後の処理の処理時間の一例であり、回転制御周期Ｔｐｗｍが、前記制御周期の時間の一例である。
【００５６】
次に、シーケンス制御器１１０は、図２と同様に、以上のようにして設定した遅延時間Ｔｄｌｙ分のタイマ待ちによるＷＡＩＴ処理２０３を行う。ＷＡＩＴ処理２０３が終了すると、三相のモータ電流値ｉｕ、ｉｖ、ｉｗの測定を行うＡＤＣ処理２０４と、演算モードに応じたＳＦＯＣ処理２０５とが行われ、次の回転制御周期でモータ２０に印加する電圧指令値ｖｕ、ｖｖ、ｖｗが導出される。そして、この電圧指令値ｖｕ、ｖｖ、ｖｗをＰＷＭ設定処理２０６でＰＷＭ回路２２に設定する。
【００５７】
以上のように本実施形態では、モータ制御部１００は、回転制御周期毎のＳＦＯＣ処理２０５を行う前に、簡易的にモータ２０の動作状態を検知する前処理（ＰｒｅＡＤＣ処理７０１）を行う。モータ制御部１００は、その結果に応じて、ＳＦＯＣ処理２０５の処理時間（時間Ｔｔｏｔａｌ）を見積もる。従って、第１の実施形態で説明した効果に加えて、例えば、以下の効果が得られる。モータの動作状態によってＳＦＯＣ処理２０５の処理内容が変わっても、ＳＦＯＣ処理２０５の処理時間に応じてＳＦＯＣ処理２０５の開始タイミングを遅らせることができる。これにより、モータ電流値ｉｕ、ｉｖ、ｉｗの測定タイミングから次の回転制御周期でのモータ２０の駆動タイミングまでの遅延時間を短縮することができる。
【００５８】
尚、モータ２０にかかる負荷の変動が発生するタイミングが予め分かっているシステムでは、負荷変動検知器４１０を省略しても良い。この場合、タイマの値（例えばモータ２０が起動してからの経過時間）でＳＦＯＣ処理２０５の計算時間を見積もる事ができる。よってタイマの値に従ってモータ電流値ｉｕ、ｉｖ、ｉｗの測定タイミングを決める構成とすれば良い。また、本実施形態では、モータ２０にかかる負荷の変動に応じて処理を切り替える場合を例に挙げて説明したが、モータ２０の運転中の状態に応じて処理を切り替えていれば、必ずしもモータ２０にかかる負荷の変動に応じて処理を切り替えなくても良い。また、第２の実施形態に本実施形態の構成を採用しても良い。
【００５９】
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００６０】
（その他の実施例）
本発明は、前述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６１】
２０：モータ、２１：ＡＤコンバータ、２２：ＰＷＭ回路、２３：インバータ、１００：モータ制御部
【図１】
2019201461.tif 000006
【図２】
2019201461.tif 000007
【図３】
2019201461.tif 000008
【図４】
2019201461.tif 000009
【図５】
2019201461.tif 000010
【図６】
2019201461.tif 000011
【図７】
2019201461.tif 000012