(57)【要約】【課題】モータの負荷に係る電流の検出値を用いて進角制御を行う手法を用いてモータの駆動効率を向上させることのできる信号生成装置を提供する。【解決手段】信号生成装置は、モータの負荷が安定している場合に、前記モータの負荷に係る電流が極小値となるように位相を調整した前記モータを駆動するインバータを制御する制御信号を生成する生成部、を備える。【選択図】図４
2020188663.tif 000002
【特許請求の範囲】
【請求項１】
モータの負荷が安定している場合に、前記モータの負荷に係る電流が極小値となるように位相を調整した前記モータを駆動するインバータを制御する制御信号を生成する生成部、
を備える信号生成装置。
【請求項２】
前記モータの負荷が安定しているか否かを判定する判定部、
を備え、
前記生成部は、
前記判定部が前記モータの負荷が安定していると判定した場合に、前記モータの負荷に係る電流が極小値となるように位相を調整した前記モータを駆動するインバータを制御する制御信号を生成する、
請求項１に記載の信号生成装置。
【請求項３】
前記生成部が生成した制御信号を前記インバータに出力する制御部、
を備える請求項１または請求項２に記載の信号生成装置。
【請求項４】
請求項1から請求項３の何れか一項に記載の信号生成装置と、
前記インバータと、
を備えるモータシステム。
【請求項５】
モータの負荷に係る電流が極小値となるように位相を調整した前記モータを駆動するインバータを制御する制御信号を生成すること、
を含む信号生成方法。
【請求項６】
コンピュータに、
モータの負荷に係る電流が極小値となるように位相を調整した前記モータを駆動するインバータを制御する制御信号を生成すること、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号生成装置、モータシステム、信号生成方法及びプログラムに関する。
【背景技術】
【０００２】
モータシステムでは、効率よくモータを回転させることが要求される場合がある。
特許文献１には、関連する技術として、ロータの実回転数に基づいて進角制御を行う手法に関する技術が開示されている。また、特許文献１には、ロータの実回転数に基づいて進角制御を行う手法とモータ電流の検出値を用いて進角制御を行う手法とを併用する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１５８４９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、モータシステムでは、モータのコイルによる位相のずれの発生により、インバータがモータへ供給するタイミングの電圧が最も効率のよい電圧であるとは限らない。そのため、モータ電流などのモータの負荷に係る電流の検出値を用いて進角制御を行う手法を用いる技術も求められている。しかしながら、特許文献１にはモータ電流などのモータの負荷に係る電流の検出値を用いて進角制御を行う場合の制御信号の具体的な生成については記載されていない。
そのため、モータの負荷に係る電流の検出値を用いて進角制御を行う手法を用いてモータの駆動効率を向上させることのできる技術が求められている。
【０００５】
そこでこの発明は、上述の課題を解決することのできる信号生成装置、モータシステム、信号生成方法及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明の第１の態様によれば、信号生成装置は、モータの負荷が安定している場合に、前記モータの負荷に係る電流が極小値となるように位相を調整した前記モータを駆動するインバータを制御する制御信号を生成する生成部、を備える。
【０００７】
本発明の第２の態様によれば、第１の態様における信号生成装置は、前記モータの負荷が安定しているか否かを判定する判定部、を備え、前記生成部は、前記判定部が前記モータの負荷が安定していると判定した場合に、前記モータの負荷に係る電流が極小値となるように位相を調整した前記モータを駆動するインバータを制御する制御信号を生成するものであってもよい。
【０００８】
本発明の第３の態様によれば、第１の態様または第２の態様における信号生成装置は、前記生成部が生成した制御信号を前記インバータに出力する制御部、を備えるものであってもよい。
【０００９】
本発明の第４の態様によれば、モータシステムは、第１の態様から第３の態様の何れか１つにおける信号生成装置と、前記インバータと、を備える。
【００１０】
本発明の第５の態様によれば、信号生成方法は、モータの負荷に係る電流が極小値となるように位相を調整した前記モータを駆動するインバータを制御する制御信号を生成すること、を含む。
【００１１】
本発明の第６の態様によれば、プログラムは、コンピュータに、モータの負荷に係る電流が極小値となるように位相を調整した前記モータを駆動するインバータを制御する制御信号を生成すること、を実行させる。
【発明の効果】
【００１２】
本発明によれば、モータの負荷に係る電流の検出値を用いて進角制御を行う手法を用いてモータの駆動効率を向上させることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態によるモータシステムの構成の一例を示す図である。
【図２】本発明の一実施形態によるインバータの構成の一例を示す図である。
【図３】本発明の一実施形態による電流検出装置の構成の一例を示す図である。
【図４】本発明の一実施形態による制御装置の構成の一例を示す図である。
【図５】本発明の一実施形態によるモータシステムの処理フローの一例を示す第１の図である。
【図６】本発明の一実施形態によるモータシステムの処理フローの一例を示す第２の図である。
【図７】本発明の一実施形態によるモータシステムの処理フローの一例を示す第３の図である。
【図８】本発明の別の実施形態によるモータシステムの構成の一例を示す第１の図である。
【図９】本発明の別の実施形態によるモータシステムの構成の一例を示す第２の図である。
【図１０】少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【００１４】
＜実施形態＞
以下、図面を参照しながら実施形態について詳しく説明する。
本発明の一実施形態によるモータシステム１の構成について説明する。
モータシステム１は、図１に示すように、交流電源１０、整流回路２０、インバータ３０、モータ４０、電流検出装置５０、制御装置６０（信号生成装置の一例）を備える。
モータシステム１は、安定状態（モータ４０の回転数が所定のしきい値内にある状態）となった場合に、モータ４０のモータ電流（モータの負荷に係る電流の一例）が最も小さくなる進角制御を行うシステムである。
例えば、モータシステム１は、空気調和システムで使用されるモータシステムである。
【００１５】
交流電源１０は、整流回路２０に交流電力を供給する電源である。
【００１６】
整流回路２０は、図１に示すように、ダイオード２０１ａ、２０１ｂ、２０１ｃ、２０１ｄ、平滑コンデンサ２０２を備える。
整流回路２０は、交流電源１０から供給される交流電力を直流電力に変換し、インバータ３０へ出力する。
【００１７】
インバータ３０は、制御装置６０が行う制御に基づいて、整流回路２０から受ける電力からモータ４０を駆動する三相交流電力を生成する。
【００１８】
例えば、インバータ３０は、図２に示すように、６つのトランジスタスイッチ３０１、３０２、３０３、３０４、３０５、３０６を備える回路である。６つのトランジスタスイッチ３０１、３０２、３０３、３０４、３０５、３０６のそれぞれが、制御装置６０が出力する制御信号ｓｉｇ２に基づいてオン状態とオフ状態とで切り替わることによって、インバータ３０は、三相交流電圧を生成する。この場合の制御信号ｓｉｇ２は、例えば、６つのトランジスタスイッチ３０１、３０２、３０３、３０４、３０５、３０６のそれぞれに応じたＰＷＭ信号である。
インバータ３０は、生成した三相交流電力をモータ４０に出力する。
【００１９】
モータ４０は、インバータ３０が出力する三相交流電力によって動作するモータである。モータ４０は、例えば、コンプレッサモータである。
【００２０】
電流検出装置５０は、所定の短い時間間隔ごとに、モータ４０のモータ電流を検出する装置である。
例えば、電流検出装置５０は、図３に示すように、抵抗５０１、差動アンプ５０２を備える。
抵抗５０１は、モータ４０とインバータ３０との間の配線の１つに直列に設けられる。
差動アンプ５０２は、抵抗５０１の両端の電位差に応じた電圧を制御装置６０に出力する。差動アンプ５０２の出力電圧は、抵抗５０１の両端の電位差に応じた電圧である。そのため、差動アンプ５０２の出力電圧と抵抗５０１の抵抗値から、抵抗５０１に流れるモータ電流を推定することができる。なお、抵抗５０１の抵抗値は、予め決定された値である。つまり、差動アンプ５０２の出力電圧値を取得することは、モータ４０のモータ電流値を検出することに等しい。
電流検出装置５０は、検出結果（すなわち、モータ電流値）を示す情報ｉｎｆ１を制御装置６０に出力する。
【００２１】
制御装置６０は、インバータ３０を制御する制御信号ｓｉｇ１を変更して、モータ電流が極小値となる制御信号ｓｉｇ１を求める装置である。制御信号ｓｉｇ１には、モータ４０をＶ／ｆ制御する情報が含まれている。なお、モータ電流の歪みは一般的に所定の値の範囲内に収められており、モータ電流は単調減少と単調増加とを繰り返すため、モータ電流の極小値をモータ電流の最小値とみなすことができる。
制御装置６０は、図４に示すように、制御部６０１（生成部の一例、判定部の一例、制御部の一例）、記憶部６０２を備える。
【００２２】
制御部６０１は、インバータ３０を制御する制御信号ｓｉｇ１を変更して、モータ電流が極小値となる制御信号ｓｉｇ１を求める。
例えば、制御部６０１は、初回の制御として予め用意した制御信号ｓｉｇ１をインバータ３０に出力する。制御部６０１は、制御信号ｓｉｇ１で制御している間のモータ電流値を電流検出装置５０から取得する。制御部６０１は、取得したモータ電流値を記憶部６０２に記録する。制御部６０１は、一定時間後、モータ電流値を電流検出装置５０から取得する。制御部６０１は、取得したモータ電流値と記憶部６０２に記録した最新のモータ電流値とを比較する。そして、制御部６０１は、取得したモータ電流値が記憶部６０２に記録した最新のモータ電流値から所定の範囲内の値（例えば、変化の割合が所定％以内となる値、変化量が所定量に収まる値など）となったか否かを判定する。
制御部６０１は、取得したモータ電流値が記憶部６０２に記録した最新のモータ電流値から所定の範囲内の値となっていないと判定した場合、カウンタの値を０にして、取得したモータ電流値が記憶部６０２に記録した最新のモータ電流値から所定の範囲内の値となったか否かの判定を再度行う。カウンタの初期値は０である。
また、制御部６０１は、取得したモータ電流値が記憶部６０２に記録した最新のモータ電流値から所定の範囲内の値となっていると判定した場合、カウンタの値に１を加える。制御部６０１は、カウンタの値が所定の値（例えば、３）となったか否かを判定する。
制御部６０１は、カウンタの値が所定の値となっていないと判定した場合、取得したモータ電流値が記憶部６０２に記録した最新のモータ電流値から所定の範囲内の値となったか否かの判定を再度行う。
また、制御部６０１は、カウンタの値が所定の値となったと判定した場合、モータシステム１が安定状態である（モータ４０の回転数が所定のしきい値内にある）と判定する。そして、制御部６０１は、制御信号ｓｉｇ１とモータ電流値とを関連付けて、記憶部６０２に記録する。
次に、制御部６０１は、モータ４０に出力する三相交流電圧の位相を所定の位相（例えば、１度）だけ位相を進める制御信号ｓｉｇ１を生成する。制御部６０１は、生成した制御信号ｓｉｇ１をインバータ３０に出力する。制御部６０１は、制御信号ｓｉｇ１で制御している間のモータ電流値を電流検出装置５０から取得する。制御部６０１は、取得したモータ電流値と記憶部６０２に記録した最新のモータ電流値とを比較する。そして、制御部６０１は、取得したモータ電流値が記憶部６０２に記録した最新のモータ電流値よりも小さいか、大きいか、同一であるかを判定する。
【００２３】
制御部６０１は、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも大きいと判定した場合、位相を遅らせる方向にモータ電流の極小値が存在するという考えに基づいて（例えば、山登り法などの極値を求める考えに基づいて）、所定の位相の２倍（例えば、２度）だけ位相を遅らせる制御信号ｓｉｇ１を生成する。制御部６０１は、生成した制御信号ｓｉｇ１をインバータ３０に出力する。制御部６０１は、制御信号ｓｉｇ１で制御している間のモータ電流値を電流検出装置５０から取得する。制御部６０１は、取得したモータ電流値と記憶部６０２に記録した最新のモータ電流値とを比較する。そして、制御部６０１は、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも小さいか、大きいか、同一であるかを判定する。以降、制御部６０１は、所定の位相（例えば、１）だけ位相を遅らせる制御信号ｓｉｇ１を生成し、生成した制御信号ｓｉｇ１をインバータ３０に出力し、制御信号ｓｉｇ１で制御している間のモータ電流値を電流検出装置５０から取得し、取得したモータ電流値と記憶部６０２に記録した最新のモータ電流値とを比較し、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも小さいか、大きいか、同一であるかを判定する一連の処理を、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも大きいという判定結果が得られるまで繰り返す。そして、制御部６０１は、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも大きいという判定結果が得られた場合、１回前の制御信号ｓｉｇ１を出力したときにモータ電流の極小値が得られたという考えに基づいて（例えば、山登り法などの極値を求める考えに基づいて）、記憶部６０２に記録されている最新の制御信号ｓｉｇ１をインバータ３０に出力する。
【００２４】
また、制御部６０１は、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも小さいと判定した場合、取得したモータ電流値と制御信号ｓｉｇ１とを関連付けて記憶部６０２に記録する。制御部６０１は、位相を進める方向にモータ電流の極小値が存在するという考えに基づいて（例えば、山登り法などの極値を求める考えに基づいて）、所定の位相（例えば、１度）だけ位相を進める制御信号ｓｉｇ１を生成する。制御部６０１は、生成した制御信号ｓｉｇ１をインバータ３０に出力する。制御部６０１は、制御信号ｓｉｇ１で制御している間のモータ電流値を電流検出装置５０から取得する。制御部６０１は、取得したモータ電流値と記憶部６０２に記録した最新のモータ電流値とを比較する。そして、制御部６０１は、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも小さいか、大きいか、同一であるかを判定する。以降、制御部６０１は、所定の位相（例えば、１）だけ位相を進める制御信号ｓｉｇ１を生成し、生成した制御信号ｓｉｇ１をインバータ３０に出力し、制御信号ｓｉｇ１で制御している間のモータ電流値を電流検出装置５０から取得し、取得したモータ電流値と記憶部６０２に記録した最新のモータ電流値とを比較し、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも小さいか、大きいか、同一であるかを判定する一連の処理を、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも大きいという判定結果が得られるまで繰り返す。そして、制御部６０１は、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも大きいという判定結果が得られた場合、１回前の制御信号ｓｉｇ１を出力したときにモータ電流の極小値が得られたという考えに基づいて（例えば、山登り法などの極値を求める考えに基づいて）、記憶部６０２に記録されている最新の制御信号ｓｉｇ１をインバータ３０に出力する。
【００２５】
また、制御部６０１は、取得したモータ電流値が記憶部６０２に記録したモータ電流値と同一であると判定した場合、取得したモータ電流値と制御信号ｓｉｇ１とを関連付けて記憶部６０２に記録する。制御部６０１は、歪み率が所定の範囲内に抑えられているモータ電流の極値の前後で同一の値をとる点は２点しか存在しないという考えに基づいて、所定の位相（例えば、１度）だけ位相を進める制御信号ｓｉｇ１を生成する。制御部６０１は、生成した制御信号ｓｉｇ１をインバータ３０に出力する。制御部６０１は、制御信号ｓｉｇ１で制御している間のモータ電流値を電流検出装置５０から取得する。制御部６０１は、取得したモータ電流値と記憶部６０２に記録した最新のモータ電流値とを比較する。そして、制御部６０１は、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも小さいか、大きいかを判定する。
制御部６０１は、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも小さいと判定した場合、取得したモータ電流値と制御信号ｓｉｇ１とを関連付けて記憶部６０２に記録する。制御部６０１は、同一の値をとる２点は極大値の前後の２点であるという考えに基づいて、所定の位相（例えば、１度）だけ位相を進める制御信号ｓｉｇ１を生成する。制御部６０１は、生成した制御信号ｓｉｇ１をインバータ３０に出力する。制御部６０１は、制御信号ｓｉｇ１で制御している間のモータ電流値を電流検出装置５０から取得する。制御部６０１は、取得したモータ電流値と記憶部６０２に記録した最新のモータ電流値とを比較する。そして、制御部６０１は、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも小さいか、大きいか、同一であるかを判定する。以降、制御部６０１は、所定の位相（例えば、１）だけ位相を進める制御信号ｓｉｇ１を生成し、生成した制御信号ｓｉｇ１をインバータ３０に出力し、制御信号ｓｉｇ１で制御している間のモータ電流値を電流検出装置５０から取得し、取得したモータ電流値と記憶部６０２に記録した最新のモータ電流値とを比較し、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも小さいか、大きいか、同一であるかを判定する一連の処理を、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも大きいという判定結果が得られるまで繰り返す。そして、制御部６０１は、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも大きいという判定結果が得られた場合、１回前の制御信号ｓｉｇ１を出力したときにモータ電流の極小値が得られたという考えに基づいて（例えば、山登り法などの極値を求める考えに基づいて）、記憶部６０２に記録されている最新の制御信号ｓｉｇ１をインバータ３０に出力する。
また、制御部６０１は、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも大きいと判定した場合、同一の値をとる２点は極小値の前後の２点であるという考えに基づいて、記憶部６０２に記録されている最新の制御信号ｓｉｇ１をインバータ３０に出力する。
【００２６】
記憶部６０２は、制御装置６０が行う処理に必要な種々の情報を記憶する。例えば、記憶部６０２は、制御部６０１が特定したモータ電流と制御信号ｓｉｇ１とを関連付けたデータを記憶する。
【００２７】
次に、本発明の一実施形態によるモータシステム１の処理について説明する。
ここでは、図５〜図７に示すモータシステム１の処理フローについて説明する。
【００２８】
制御部６０１は、インバータ３０を制御する制御信号ｓｉｇ１を変更して、モータ電流が極小値となる制御信号ｓｉｇ１を求める。
具体的には、制御部６０１は、初回の制御として予め用意した制御信号ｓｉｇ１をインバータ３０に出力する。制御部６０１は、予め用意した制御信号ｓｉｇ１で制御している間のモータ電流値を電流検出装置５０から取得する（ステップＳ１）。制御部６０１は、取得したモータ電流値を記憶部６０２に記録する。制御部６０１は、一定時間後、モータ電流値を電流検出装置５０から取得する。制御部６０１は、取得したモータ電流値と記憶部６０２に記録した最新のモータ電流値とを比較する。そして、制御部６０１は、取得したモータ電流値が記憶部６０２に記録した最新のモータ電流値から所定の範囲内の値（例えば、変化の割合が所定％以内となる値、変化量が所定量に収まる値など）となったか否かを判定する（ステップＳ２）。
制御部６０１は、取得したモータ電流値が記憶部６０２に記録した最新のモータ電流値から所定の範囲内の値となっていないと判定した場合（ステップＳ２においてＮＯ）、カウンタの値を０にして（ステップＳ３）、ステップＳ１の処理に戻す。カウンタの初期値は０である。
また、制御部６０１は、取得したモータ電流値が記憶部６０２に記録した最新のモータ電流値から所定の範囲内の値となっていると判定した場合（ステップＳ２においてＹＥＳ）、カウンタの値に１を加える（ステップＳ４）。制御部６０１は、カウンタの値が所定の値（例えば、３）となったか否かを判定する（ステップＳ５）。
制御部６０１は、カウンタの値が所定の値となっていないと判定した場合（ステップＳ５においてＮＯ）、ステップＳ１の処理に戻す。
また、制御部６０１は、カウンタの値が所定の値となったと判定した場合（ステップＳ５においてＹＥＳ）、モータシステム１が安定状態である（モータ４０の回転数が所定のしきい値内にある）と判定する。そして、制御部６０１は、予め用意した制御信号ｓｉｇ１とモータ電流値とを関連付けて、記憶部６０２に記録する（ステップＳ６）。
【００２９】
次に、制御部６０１は、モータ４０に出力する三相交流電圧の位相を所定の位相（例えば、１度）だけ位相を進める制御信号ｓｉｇ１を生成する（ステップＳ７）。制御部６０１は、生成した制御信号ｓｉｇ１をインバータ３０に出力する。制御部６０１は、制御信号ｓｉｇ１で制御している間のモータ電流値を電流検出装置５０から取得する（ステップＳ８）。制御部６０１は、取得したモータ電流値と記憶部６０２に記録した最新のモータ電流値とを比較する。そして、制御部６０１は、取得したモータ電流値が記憶部６０２に記録した最新のモータ電流値よりも小さいか、大きいか、同一であるかを判定する（ステップＳ９）。
【００３０】
制御部６０１は、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも大きいと判定した場合（ステップＳ９において「大きい」）、位相を遅らせる方向にモータ電流の極小値が存在するという考えに基づいて（例えば、山登り法などの極値を求める考えに基づいて）、所定の位相の２倍（例えば、２度）だけ位相を遅らせる制御信号ｓｉｇ１を生成する（ステップＳ１０）。制御部６０１は、生成した制御信号ｓｉｇ１をインバータ３０に出力する。制御部６０１は、制御信号ｓｉｇ１で制御している間のモータ電流値を電流検出装置５０から取得する（ステップＳ１１）。制御部６０１は、取得したモータ電流値と記憶部６０２に記録した最新のモータ電流値とを比較する。そして、制御部６０１は、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも小さいか、大きいか、同一であるかを判定する（ステップＳ１２）。以降、制御部６０１は、所定の位相（例えば、１）だけ位相を遅らせる制御信号ｓｉｇ１を生成し、生成した制御信号ｓｉｇ１をインバータ３０に出力し、制御信号ｓｉｇ１で制御している間のモータ電流値を電流検出装置５０から取得し、取得したモータ電流値と記憶部６０２に記録した最新のモータ電流値とを比較し、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも小さいか、大きいか、同一であるかを判定する一連の処理を、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも大きいという判定結果が得られるまで繰り返す。そして、制御部６０１は、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも大きいという判定結果が得られた場合（ステップＳ１２において「大きい」）、１回前の制御信号ｓｉｇ１を出力したときにモータ電流の極小値が得られたという考えに基づいて（例えば、山登り法などの極値を求める考えに基づいて）、記憶部６０２に記録されている最新の制御信号ｓｉｇ１をインバータ３０に出力する（ステップＳ１３）。
【００３１】
また、制御部６０１は、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも小さいと判定した場合（ステップＳ９において「小さい」）、取得したモータ電流値と制御信号ｓｉｇ１とを関連付けて記憶部６０２に記録する（ステップＳ１４）。制御部６０１は、位相を進める方向にモータ電流の極小値が存在するという考えに基づいて（例えば、山登り法などの極値を求める考えに基づいて）、所定の位相（例えば、１度）だけ位相を進める制御信号ｓｉｇ１を生成する（ステップＳ１５）。制御部６０１は、生成した制御信号ｓｉｇ１をインバータ３０に出力する。制御部６０１は、制御信号ｓｉｇ１で制御している間のモータ電流値を電流検出装置５０から取得する（ステップＳ１６）。制御部６０１は、取得したモータ電流値と記憶部６０２に記録した最新のモータ電流値とを比較する。そして、制御部６０１は、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも小さいか、大きいか、同一であるかを判定する（ステップＳ１７）。以降、制御部６０１は、所定の位相（例えば、１度）だけ位相を進める制御信号ｓｉｇ１を生成し、生成した制御信号ｓｉｇ１をインバータ３０に出力し、制御信号ｓｉｇ１で制御している間のモータ電流値を電流検出装置５０から取得し、取得したモータ電流値と記憶部６０２に記録した最新のモータ電流値とを比較し、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも小さいか、大きいか、同一であるかを判定することを、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも大きいという判定結果が得られるまで繰り返す。そして、制御部６０１は、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも大きいという判定結果が得られた場合（ステップＳ１７において「大きい」）、１回前の制御信号ｓｉｇ１を出力したときにモータ電流の極小値が得られたという考えに基づいて（例えば、山登り法などの極値を求める考えに基づいて）、ステップＳ１３の処理を行う。
【００３２】
また、制御部６０１は、取得したモータ電流値が記憶部６０２に記録したモータ電流値と同一であると判定した場合（ステップＳ９において「同一」）、取得したモータ電流値と制御信号ｓｉｇ１とを関連付けて記憶部６０２に記録する（ステップＳ１８）。制御部６０１は、歪み率が所定の範囲内に抑えられているモータ電流の極値の前後で同一の値をとる点は２点しか存在しないという考えに基づいて、所定の位相（例えば、１度）だけ位相を進める制御信号ｓｉｇ１を生成する（ステップＳ１９）。制御部６０１は、生成した制御信号ｓｉｇ１をインバータ３０に出力する。制御部６０１は、制御信号ｓｉｇ１で制御している間のモータ電流値を電流検出装置５０から取得する（ステップＳ２０）。制御部６０１は、取得したモータ電流値と記憶部６０２に記録した最新のモータ電流値とを比較する。そして、制御部６０１は、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも小さいか、大きいかを判定する（ステップＳ２１）。
制御部６０１は、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも小さいと判定した場合（ステップＳ２１において「小さい」）、ステップＳ１４の処理を行う。
また、制御部６０１は、取得したモータ電流値が記憶部６０２に記録したモータ電流値よりも大きいと判定した場合（ステップＳ２１において「大きい」）、同一の値をとる２点は極小値の前後の２点であるという考えに基づいて、ステップＳ１３の処理を行う。
なお、モータシステム１は、所定のタイミングにおいて上述の処理を行うものであってもよい。所定のタイミングとは、モータ４０の負荷がモータシステム１を起動したときの負荷に対して所定量変化したタイミングであり、例えば、電流検出装置５０が検出したモータ電流値が記憶部６０２に記録されている最新のモータ電流値から所定の範囲内の値とならないと判定したタイミングである。この場合、モータシステム１は、上述の処理における予め用意した制御信号ｓｉｇ１を、所定のタイミングにおける制御信号ｓｉｇ１に置き換えた処理を行えばよい。
【００３３】
以上、本発明の一実施形態によるモータシステム１について説明した。
制御装置６０（信号生成装置の一例）において、制御部６０１（生成部の一例）は、モータ電流（モータ４０の負荷に係る電流の一例）が極小値となるように位相を調整したモータ４０を駆動するインバータ３０を制御する制御信号ｓｉｇ１を生成する。
このように制御装置６０が制御信号ｓｉｇ１を生成することによって、モータシステム１は、インバータ３０からモータ４０へ供給される電流を極小値（モータ電流の歪み率が低い場合には最小値）とすることができる。その結果、制御装置６０は、モータの負荷に係る電流に基づいて進角制御を行うこととなり、モータ４０を効率よく動作させることができる。
【００３４】
なお、本発明の別の実施形態によるモータシステム１では、制御部６０１は、上述のステップＳ５の処理の前に、起動運転中であるか否かの判定を行い、起動運転中でないと判定した場合に、上述のステップＳ６以降の処理を行うものであってもよい。
【００３５】
なお、本発明の別の実施形態では、電流検出装置５０は、例えば、図８に示すように、整流回路２０から交流電源１０へリターン電流（モータの負荷に係る電流の一例）（すなわち、入力電流（モータの負荷に係る電流の一例）に等しい電流）が流れる経路において電流を直接測定する装置であってもよい。また、本発明の別の実施形態では、電流検出装置５０は、例えば、図９に示すように、交流電源１０から整流回路２０へ供給される入力電流が流れる経路において電流を直接測定する装置であってもよい。例えば、電流検出装置５０は、カレントトランスを備える装置であってよい。
また、本発明の別の実施形態では、電流検出装置５０は、抵抗５０１、差動アンプ５０２を備え、整流回路２０から交流電源１０へのリターン電流を検出する装置であってもよい。
電流検出装置５０が抵抗５０１、差動アンプ５０２を備える場合、抵抗５０１は、例えば、図８に示すように、整流回路２０から交流電源１０へ電流が戻る経路に直列に設けられる。差動アンプ５０２は、抵抗５０１の両端の電位差に応じた電圧を制御装置６０に出力する。差動アンプ５０２の出力電圧は、抵抗５０１の両端の電位差に応じた電圧である。そのため、差動アンプ５０２の出力電圧と抵抗５０１の抵抗値から、抵抗５０１に流れるリターン電流を推定することができる。なお、抵抗５０１の抵抗値は、予め決定された値である。つまり、差動アンプ５０２の出力電圧値を取得することは、リターン電流値（つまりは、入力電流値）を検出することに等しい。
また、電流検出装置５０が抵抗５０１、差動アンプ５０２を備える場合、抵抗５０１は、例えば、図９に示すように、交流電源１０から整流回路２０へ電流が戻る経路に直列に設けられる。差動アンプ５０２は、抵抗５０１の両端の電位差に応じた電圧を制御装置６０に出力する。差動アンプ５０２の出力電圧は、抵抗５０１の両端の電位差に応じた電圧である。そのため、差動アンプ５０２の出力電圧と抵抗５０１の抵抗値から、抵抗５０１に流れるリターン電流を推定することができる。なお、抵抗５０１の抵抗値は、予め決定された値である。つまり、差動アンプ５０２の出力電圧値を取得することは、入力電流値を検出することに等しい。
【００３６】
なお、本発明の実施形態における処理は、適切な処理が行われる範囲において、処理の順番が入れ替わってもよい。
【００３７】
本発明の実施形態における記憶部６０２、その他の記憶装置（レジスタ、ラッチを含む）のそれぞれは、適切な情報の送受信が行われる範囲においてどこに備えられていてもよい。また、記憶部６０２、その他の記憶装置のそれぞれは、適切な情報の送受信が行われる範囲において複数存在しデータを分散して記憶していてもよい。
【００３８】
本発明の実施形態について説明したが、上述の制御装置６０、制御部６０１、その他の制御装置は内部に、コンピュータシステムを有していてもよい。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。コンピュータの具体例を以下に示す。
図１０は、少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ５は、図１０に示すように、ＣＰＵ６、メインメモリ７、ストレージ８、インターフェース９を備える。
例えば、上述の制御装置６０、制御部６０１、その他の制御装置のそれぞれは、コンピュータ５に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ８に記憶されている。ＣＰＵ６は、プログラムをストレージ８から読み出してメインメモリ７に展開し、当該プログラムに従って上記処理を実行する。また、ＣＰＵ６は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ７に確保する。
【００３９】
ストレージ８の例としては、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、半導体メモリ等が挙げられる。ストレージ８は、コンピュータ５のバスに直接接続された内部メディアであってもよいし、インターフェース９または通信回線を介してコンピュータ５に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ５に配信される場合、配信を受けたコンピュータ５が当該プログラムをメインメモリ７に展開し、上記処理を実行してもよい。少なくとも１つの実施形態において、ストレージ８は、一時的でない有形の記憶媒体である。
【００４０】
また、上記プログラムは、前述した機能の一部を実現してもよい。さらに、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるファイル、いわゆる差分ファイル（差分プログラム）であってもよい。
なお、コンピュータ５は、上記構成に加えて、または上記構成に代えてＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）などのカスタムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、及びこれらに類する処理装置を備えてもよい。ＰＬＤの例としては、ＰＡＬ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ａｒｒａｙ  Ｌｏｇｉｃ）、ＧＡＬ（Ｇｅｎｅｒｉｃ  Ａｒｒａｙ  Ｌｏｇｉｃ）、ＣＰＬＤ（Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）が挙げられる。この場合、ＣＰＵ６によって実現される機能の一部または全部が当該集積回路によって実現されてもよい。
【００４１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例であり、発明の範囲を限定しない。これらの実施形態は、発明の要旨を逸脱しない範囲で、種々の追加、種々の省略、種々の置き換え、種々の変更を行ってよい。
【符号の説明】
【００４２】
１・・・モータシステム
５・・・コンピュータ
６・・・ＣＰＵ
７・・・メインメモリ
８・・・ストレージ
９・・・インターフェース
１０・・・交流電源
２０・・・整流回路
３０・・・インバータ
４０・・・モータ
５０・・・電流検出装置
６０・・・制御装置
２０１ａ、２０１ｂ、２０１ｃ、２０１ｄ・・・ダイオード
２０２・・・平滑コンデンサ
３０１、３０２、３０３、３０４、３０５、３０６・・・トランジスタスイッチ
５０１・・・抵抗
５０２・・・差動アンプ
６０１・・・制御部
６０２・・・記憶部
【図１】
2020188663.tif 000003
【図２】
2020188663.tif 000004
【図３】
2020188663.tif 000005
【図４】
2020188663.tif 000006
【図５】
2020188663.tif 000007
【図６】
2020188663.tif 000008
【図７】
2020188663.tif 000009
【図８】
2020188663.tif 000010
【図９】
2020188663.tif 000011
【図１０】
2020188663.tif 000012