(57)【要約】【課題】実モータおよび／またはその実モータのための実制御系の設計の支援を容易にしたり、実モータの制御を容易にする。【解決手段】実モータ１２を模擬する仮想モータ６０と、制御目標値に基づき、実モータ１２と仮想モータ６０とに共通の制御信号を決定し、その制御信号を実モータ１２と仮想モータ６０とにそれぞれ出力する制御部５０とを含み、仮想モータ６０は、前記制御信号が入力されると、その制御信号に基づき、その制御信号に応答して実現される実モータ１２の作動状態を仮想モータ６０の作動状態として推定し、制御部５０は、その推定された仮想モータ作動状態と、実モータ１２の作動状態とのうちの少なくとも仮想モータ作動状態に基づき、実モータ１２と仮想モータ６０とのうちの少なくとも一方に影響を与える。【選択図】図３
2014128078.tif 000002
【特許請求の範囲】
【請求項１】
電気エネルギーを運動エネルギーに変換する実モータを制御するモータ制御装置であって、
前記実モータを模擬する仮想モータと、
制御目標値に基づき、前記実モータと前記仮想モータとに共通の制御信号を決定し、その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する制御部と
を含み、
前記仮想モータは、前記制御信号が入力されると、その入力された制御信号に基づき、その制御信号に応答して実現される前記実モータの作動状態を前記仮想モータの作動状態として推定し、
前記制御部は、その推定された仮想モータ作動状態と、前記実モータの作動状態とのうちの少なくとも仮想モータ作動状態に基づき、前記実モータと前記仮想モータとのうちの少なくとも一方に影響を与えるモータ制御装置。
【請求項２】
前記仮想モータは、前記制御信号が入力されると、前記実モータを模擬する解析プログラムをプロセッサに実行させることにより、前記入力された制御信号に基づいて実現される前記実モータの作動状態を推定するための計算を行う請求項１に記載のモータ制御装置。
【請求項３】
前記実モータは、応答遅れを有するが、前記仮想モータは、応答遅れを実質的に有せず、それにより、それら実モータと仮想モータとに同時に前記制御信号が入力されると、その制御信号に対して前記実モータが応答するタイミングより早いタイミングで、前記仮想モータが応答する請求項１または２に記載のモータ制御装置。
【請求項４】
前記制御目標値は、前記制御部に入力周期で反復的に入力され、
前記制御部は、１サイクル分の計算を前記入力周期より短い計算周期で反復的に行い、それにより、前記制御目標値の１回の入力サイクルの間、複数サイクル分の計算を行う請求項１ないし３のいずれかに記載のモータ制御装置。
【請求項５】
前記実モータの作動状態は、その実モータの実作動位置を含み、
前記制御部は、前記制御目標値が前記仮想モータによって実現されるように、前記制御目標値と、前記推定された仮想モータ作動状態とに基づき、かつ、前記仮想モータの仮想作動位置が前記実作動位置に一致すると仮定して、前記制御信号を決定する制御信号決定部を含む請求項１ないし４のいずれかに記載のモータ制御装置。
【請求項６】
前記制御部は、１サイクル分の計算を計算周期で反復的に行い、各回の計算サイクルにおいては、前記仮想モータの作動状態であってその仮想モータの前回の計算によって取得された前回計算値をフィードバックすることにより、前記制御目標値と、前記実モータの作動状態と、前記仮想モータ作動状態の前回計算値とに基づき、前記制御信号を決定する請求項１ないし５のいずれかに記載のモータ制御装置。
【請求項７】
前記制御部は、各回の計算サイクルにおいて、前記仮想モータ作動状態の前回計算値をフィードバックすることにより、前記制御目標値と、前記実モータの作動状態と、前記仮想モータ作動状態の前回計算値とに基づき、前記実モータと前記仮想モータとに共通の仮制御信号を決定し、その決定された仮制御信号に対して位相遅れ補償を行うことにより、前記実モータと前記仮想モータとに共通の最終制御信号を取得し、その取得された最終制御信号を前記実モータと前記仮想モータとにそれぞれ出力し、それにより、各回の計算サイクルにおいて、前記仮想モータを少なくとも１回作動させる請求項６に記載のモータ制御装置。
【請求項８】
前記制御部は、各回の計算サイクルにおいて、前記仮想モータを少なくとも２回作動させ、
前記制御部は、各回の計算サイクルにおいて、前記仮想モータについての１回目の作動のために、前記仮想モータ作動状態の前回計算値をフィードバックすることにより、今回の制御目標値と、前記実モータの現時点での作動状態と、前記仮想モータ作動状態の前回計算値とに基づき、前記仮想モータのための仮制御信号を決定し、その決定された仮制御信号を、前記実モータに出力することなく、前記仮想モータに出力し、それにより、その仮想モータの今回の作動状態を推定し、
前記制御部は、各回の計算サイクルにおいて、前記仮想モータについての最終回の作動のために、前記仮想モータ作動状態の前回計算値をフィードバックすることにより、今回の制御目標値と、前記実モータの現時点での作動状態と、前記仮想モータ作動状態の前回計算値とに基づき、前記実モータと前記仮想モータとに共通の最終制御信号を決定し、その決定された最終制御信号を前記実モータと前記仮想モータとにそれぞれ出力する請求項６に記載のモータ制御装置。
【請求項９】
前記制御部は、
前記制御目標値と、前記仮想モータの作動状態とに基づいて前記制御信号を決定し、その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する第１制御信号決定部と、
前記実モータの作動状態と前記仮想モータの作動状態との差に基づき、その差が減少するように、前記仮想モータの入出力特性を修正する修正部と
を含む請求項１ないし８のいずれかに記載のモータ制御装置。
【請求項１０】
前記制御部は、
前記仮想モータを単独で駆動する単独駆動モードと、前記仮想モータを前記実モータと一緒に駆動する双方駆動モードとのうちの単独駆動モードが選択されると、前記仮想モータの作動状態に基づいてその仮想モータを制御し、前記双方駆動モードが選択されると、前記制御目標値に基づいて前記制御信号を決定し、その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する第２制御信号決定部を含む請求項１ないし９のいずれかに記載のモータ制御装置。
【請求項１１】
電気エネルギーを運動エネルギーに変換する実モータを制御するモータ制御方法であって、
制御目標値に基づき、前記実モータとその実モータを模擬する仮想モータとに共通の制御信号を決定する決定工程と、
その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する出力工程と、
前記制御信号が前記仮想モータに入力されると、その入力された制御信号に基づき、その制御信号に応答して実現される前記実モータの作動状態を前記仮想モータの作動状態として推定する推定工程と、
その推定された仮想モータ作動状態と、前記実モータの作動状態とのうちの少なくとも仮想モータ作動状態に基づき、前記仮想モータと前記実モータとのうちの少なくとも一方に影響を与える影響付与工程と
を含むモータ制御方法。
【請求項１２】
請求項１１に記載のモータ制御方法を実行するためにコンピュータによって実行されるプログラム。
【請求項１３】
請求項１２に記載のプログラムをコンピュータ読み取り可能に記録した記録媒体。
【請求項１４】
電気エネルギーを運動エネルギーに変換する実モータを制御するモータ制御装置であって、
前記実モータを模擬する仮想モータと、
制御目標値に基づいて第１制御信号を決定し、その決定された第１制御信号を前記実モータに出力することによってその実モータを作動させることを周期的に行うとともに、その実モータの作動中、前記制御目標値に基づいて第２制御信号を決定し、その決定された第２制御信号を前記仮想モータに出力することによってその仮想モータを作動させることを周期的に行う制御部と
を含み、
前記仮想モータは、前記第２制御信号が入力されると、その入力された第２制御信号に基づき、その第２制御信号に応答して実現される前記仮想モータの作動状態を推定し、
前記制御部は、前記実モータに前記第１制御信号を出力するのに先立ち、前記第２制御信号を決定することと、その決定された第２制御信号を前記仮想モータに出力することによってその仮想モータの作動状態を推定することと、その推定された仮想モータ作動状態と前記制御目標値とに基づいて前記第１制御信号を決定するモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電気エネルギーを運動エネルギーに変換する実モータを制御する技術に関する。
【背景技術】
【０００２】
電気エネルギーを運動エネルギーに変換するために、電気的に駆動されるモータが使用される。この種のモータは、ますます拡大する種々の用途を有しており、そのような用途としては、例えば、自動車の如き移動体の駆動源や、ロボット、工作機械、搬送機械、荷役機械、空調機器、事務機器の如き運動発生装置の駆動源（アクチュエータ）がある。
【０００３】
例えば、自動車という用途においては、モータのみを駆動源として搭載する形式であるか、モータと燃焼機関とをいずれも駆動源として搭載する形式であるかを問わず、モータを駆動源として自動車に搭載することが普及している。この用途においては、モータの種類やモータが使用される環境の如何を問わず、モータを思い通りに制御することがますます必要となってきている。
【０００４】
モータを使用する場合には、そのモータを制御する制御系の設計が重要である。また、モータを精度よく制御するためには、モータの入出力特性に適合する制御系の設計が必要である。
【０００５】
また、モータのための制御系を設計するために、実際のモータを使用することが困難である場合がある。この場合には、その実モータの入出力特性を模擬する計算を行う仮想モータが実モータの代わりに使用され、その仮想モータを用いて、実モータのための制御系が設計される場合もある（例えば、特許文献１および２参照。）。
【０００６】
制御系の設計に際し、実モータの入出力特性が線形である場合には、制御系の設計も、仮想モータの設計も容易である。この種の実モータは、一般に、希土類を使用する磁石を使用する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−３１８２００号公報
【特許文献２】特開２００９−２８４６３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、近年、希土類の入手が困難となっていることもあり、磁石を用いないモータに転換したいという要望が増してきている。また、磁石を用いるにしてもその使用量を減らしたいという要望もある。磁石の使用量が少ないモータは、小型化・高速化に伴い、定格出力（例えば、モータ速度やモータトルク）を超えた領域で使用される場合がある。また、安価な磁石材料を用いてモータを製作したいという要望もある。
【０００９】
いずれにしても、モータの入出力特性が非線形となり易く、そのため、そのようなモータのための制御系の設計も困難となり易い。
【００１０】
また、モータのための制御系は、モータの作動状態（例えば、モータ位置やモータ電流など）を検出するセンサを用いる場合が多い。この場合、使用するセンサの数を減らすことが、装置コストを削減したいという要望や、装置の信頼性を向上させて安全性を向上させたいという要望を満たすために重要である。
【００１１】
以上説明した事情を背景として、本発明は、実モータおよび／またはその実モータのための実制御系の設計の支援を容易にしたり、実モータの制御を容易にすることを課題としてなされたものである。
【課題を解決するための手段】
【００１２】
本発明によって下記の各態様が得られる。各態様は、項に区分し、各項には番号を付し、必要に応じて他の項の番号を引用する形式で記載する。これは、本発明が採用し得る技術的特徴の一部およびそれの組合せの理解を容易にするためであり、本発明が採用し得る技術的特徴およびそれの組合せが以下の態様に限定されると解釈すべきではない。すなわち、下記の態様には記載されていないが本明細書には記載されている技術的特徴を本発明の技術的特徴として適宜抽出して採用することは妨げられないと解釈すべきなのである。
【００１３】
さらに、各項を他の項の番号を引用する形式で記載することが必ずしも、各項に記載の技術的特徴を他の項に記載の技術的特徴から分離させて独立させることを妨げることを意味するわけではなく、各項に記載の技術的特徴をその性質に応じて適宜独立させることが可能であると解釈すべきである。
【００１４】
（１）  電気エネルギーを運動エネルギーに変換する実モータを制御するモータ制御装置であって、
前記実モータを模擬する仮想モータと、
制御目標値に基づき、前記実モータと前記仮想モータとに共通の制御信号を決定し、その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する制御部と
を含み、
前記仮想モータは、前記制御信号が入力されると、その入力された制御信号に基づき、その制御信号に応答して実現される前記実モータの作動状態を前記仮想モータの作動状態として推定し、
前記制御部は、その推定された仮想モータ作動状態と、前記実モータの作動状態とのうちの少なくとも仮想モータ作動状態に基づき、前記実モータと前記仮想モータとのうちの少なくとも一方に影響を与えるモータ制御装置。
【００１５】
本明細書の全体を通して、「実モータを模擬する仮想モータ」という文言は、例えば、実モータの実際のまたは目標の入出力特性と実質的に同じ入出力特性を有する仮想モータを意味するように解釈したり、モータの入出力特性や動特性を定義するモータモデルを実モータとの間で実質的に共有する仮想モータを意味するように解釈することが可能である。
【００１６】
また、「制御信号」という用語は、実モータおよび仮想モータに直接的に入力されるか、または間接的に入力され、それにより、結果的に、それら実モータおよび仮想モータの作動状態に変化を与えることとなる信号を意味する。
【００１７】
この意味における制御信号は、例えば、第１信号がインバータやパワーアンプなどの電力変換器に入力されると、前記第１信号に見合った電気エネルギーが第２信号としてモータに入力される入力系統については、前記第１信号を意味する用語として解釈したり、前記第２信号を意味する用語として解釈することが可能である。なぜなら、前記第１信号も前記第２信号も、モータにとり、そのモータを制御するための信号であることに変わりはなく、しかも、モータの作動状態に一義的に対応する信号であるからである。
【００１８】
（２）  前記仮想モータは、前記制御信号が入力されると、前記実モータを模擬する解析プログラムをプロセッサに実行させることにより、前記入力された制御信号に基づいて実現される前記実モータの作動状態を推定するための計算を行う（１）項に記載のモータ制御装置。
【００１９】
（３）  前記実モータは、応答遅れを有するが、前記仮想モータは、応答遅れを実質的に有せず、それにより、それら実モータと仮想モータとに同時に前記制御信号が入力されると、その制御信号に対して前記実モータが応答するタイミングより早いタイミングで、前記仮想モータが応答する（１）または（２）項に記載のモータ制御装置。
【００２０】
（４）  前記制御目標値は、前記制御部に入力周期で反復的に入力され、
前記制御部は、１サイクル分の計算を前記入力周期より短い計算周期で反復的に行い、それにより、前記制御目標値の１回の入力サイクルの間、複数サイクル分の計算を行う（１）ないし（３）項のいずれかに記載のモータ制御装置。
【００２１】
（５）  前記実モータの作動状態は、その実モータの実作動位置を含み、
前記制御部は、前記制御目標値が前記仮想モータによって実現されるように、前記制御目標値と、前記推定された仮想モータ作動状態とに基づき、かつ、前記仮想モータの仮想作動位置が前記実作動位置に一致すると仮定して、前記制御信号を決定する制御信号決定部を含む（１）ないし（４）項のいずれかに記載のモータ制御装置。
【００２２】
（６）  前記制御部は、１サイクル分の計算を計算周期で反復的に行い、各回の計算サイクルにおいては、前記仮想モータの作動状態であってその仮想モータの前回の計算によって取得された前回計算値をフィードバックすることにより、前記制御目標値と、前記実モータの作動状態と、前記仮想モータ作動状態の前回計算値とに基づき、前記制御信号を決定する（１）ないし（５）項のいずれかに記載のモータ制御装置。
【００２３】
（７）  前記制御部は、各回の計算サイクルにおいて、前記仮想モータ作動状態の前回計算値をフィードバックすることにより、前記制御目標値と、前記実モータの作動状態と、前記仮想モータ作動状態の前回計算値とに基づき、前記実モータと前記仮想モータとに共通の仮制御信号を決定し、その決定された仮制御信号に対して位相遅れ補償を行うことにより、前記実モータと前記仮想モータとに共通の最終制御信号を取得し、その取得された最終制御信号を前記実モータと前記仮想モータとにそれぞれ出力し、それにより、各回の計算サイクルにおいて、前記仮想モータを少なくとも１回作動させる（６）項に記載のモータ制御装置。
【００２４】
（８）  前記制御部は、各回の計算サイクルにおいて、前記仮想モータを少なくとも２回作動させ、
前記制御部は、各回の計算サイクルにおいて、前記仮想モータについての１回目の作動のために、前記仮想モータ作動状態の前回計算値をフィードバックすることにより、今回の制御目標値と、前記実モータの現時点での作動状態と、前記仮想モータ作動状態の前回計算値とに基づき、前記仮想モータのための仮制御信号を決定し、その決定された仮制御信号を、前記実モータに出力することなく、前記仮想モータに出力し、それにより、その仮想モータの今回の作動状態を推定し、
前記制御部は、各回の計算サイクルにおいて、前記仮想モータについての最終回の作動のために、前記仮想モータ作動状態の前回計算値をフィードバックすることにより、今回の制御目標値と、前記実モータの現時点での作動状態と、前記仮想モータ作動状態の前回計算値とに基づき、前記実モータと前記仮想モータとに共通の最終制御信号を決定し、その決定された最終制御信号を前記実モータと前記仮想モータとにそれぞれ出力する（６）項に記載のモータ制御装置。
【００２５】
（９）  前記制御部は、
前記制御目標値と、前記仮想モータの作動状態とに基づいて前記制御信号を決定し、その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する第１制御信号決定部と、
前記実モータの作動状態と前記仮想モータの作動状態との差に基づき、その差が減少するように、前記仮想モータの入出力特性を修正する修正部と
を含む（１）ないし（８）項のいずれかに記載のモータ制御装置。
【００２６】
（１０）  前記制御部は、
前記仮想モータを単独で駆動する単独駆動モードと、前記仮想モータを前記実モータと一緒に駆動する双方駆動モードとのうちの単独駆動モードが選択されると、前記仮想モータの作動状態に基づいてその仮想モータを制御し、前記双方駆動モードが選択されると、前記制御目標値に基づいて前記制御信号を決定し、その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する第２制御信号決定部を含む（１）ないし（９）項のいずれかに記載のモータ制御装置。
【００２７】
（１１）  電気エネルギーを運動エネルギーに変換する実モータを制御するモータ制御方法であって、
制御目標値に基づき、前記実モータとその実モータを模擬する仮想モータとに共通の制御信号を決定する決定工程と、
その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する出力工程と、
前記制御信号が前記仮想モータに入力されると、その入力された制御信号に基づき、その制御信号に応答して実現される前記実モータの作動状態を前記仮想モータの作動状態として推定する推定工程と、
その推定された仮想モータ作動状態と、前記実モータの作動状態とのうちの少なくとも仮想モータ作動状態に基づき、前記仮想モータと前記実モータとのうちの少なくとも一方に影響を与える影響付与工程と
を含むモータ制御方法。
【００２８】
（１２）  前記影響付与工程は、前記決定工程を、前記制御目標値と、前記推定された仮想モータ作動状態と、前記実モータの作動状態とに基づいて前記制御信号を決定するように設定する工程を含む（１１）項に記載のモータ制御方法。
【００２９】
（１３）  前記影響付与工程は、前記推定された仮想モータ作動状態と前記実モータの作動状態との差に基づき、その差が減少するように、前記仮想モータの入出力特性を修正する修正工程を含む（１１）または（１２）項に記載のモータ制御方法。
【００３０】
（１４）  （１１）ないし（１３）項のいずれかに記載のモータ制御方法を実行するためにコンピュータによって実行されるプログラム。
【００３１】
（１５）  （１４）項に記載のプログラムをコンピュータ読み取り可能に記録した記録媒体。
【００３２】
この記録媒体は種々な形式を採用可能であり、例えば、フレキシブル・ディスク等の磁気記録媒体、ＣＤ、ＣＤ−ＲＯＭ等の光記録媒体、ＭＯ等の光磁気記録媒体、ＲＯＭ等のアンリムーバブル・ストレージ等のいずれかを採用し得るが、それらに限定されない。
【００３３】
（１６）  実モータを駆動源とするシステムであって、
前記実モータを模擬する仮想モータと、
制御目標値に基づき、前記実モータと前記仮想モータとに共通の制御信号を決定し、その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する制御部と
を含み、
前記仮想モータは、前記制御信号が入力されると、その入力された制御信号に基づき、その制御信号に応答して実現される前記実モータの作動状態を前記仮想モータの作動状態を推定し、
前記制御部は、その推定された仮想モータ作動状態と、前記実モータの作動状態とのうちの少なくとも仮想モータ作動状態に基づき、前記実モータと前記仮想モータとのうちの少なくとも一方に影響を与えるシステム。
【００３４】
（１７）  電気エネルギーを運動エネルギーに変換する実モータを制御するモータ制御装置であって、
前記実モータを模擬する仮想モータと、
制御目標値に基づいて第１制御信号を決定し、その決定された第１制御信号を前記実モータに出力することによってその実モータを作動させることを周期的に行うとともに、その実モータの作動中、前記制御目標値に基づいて第２制御信号を決定し、その決定された第２制御信号を前記仮想モータに出力することによってその仮想モータを作動させることを周期的に行う制御部と
を含み、
前記仮想モータは、前記第２制御信号が入力されると、その入力された第２制御信号に基づき、その第２制御信号に応答して実現される前記仮想モータの作動状態として推定し、
前記制御部は、前記実モータに前記第１制御信号を出力するのに先立ち、前記第２制御信号を決定することと、その決定された第２制御信号を前記仮想モータに出力することによってその仮想モータの作動状態を推定することと、その推定された仮想モータ作動状態と前記制御目標値とに基づいて前記第１制御信号を決定するモータ制御装置。
【発明の効果】
【００３５】
本発明によれば、実モータと仮想モータとが時間的に互いに並行して作動させられるため、仮想モータの作動状態に基づいて実モータを制御したり、逆に、実モータの作動状態に基づいて仮想モータの入出力特性を修正することが可能となる。
【図面の簡単な説明】
【００３６】
【図１】図１は、本発明の例示的な第１実施形態に従うモータ制御装置を有するシステム全体を表す機能ブロック図である。
【図２】図２は、図１に示す実インバータ／パワーアンプの一例を概略的に示す回路図である。
【図３】図３は、図１に示す仮想モータ計算部の一例を表す機能ブロック図である。
【図４】図４は、図３に示す仮想モータが用いるモータモデルの一例を概略的にかつ数学的に記述する図である。
【図５】図５（ａ）は、図３に示す仮想モータ制御部の一例を表す機能ブロック図であり、図５（ｂ）は、図３に示す仮想モータ制御部の別の例を表す機能ブロック図である。
【図６】図６（ａ）は、図３に示す仮想モータ計算部の全体シーケンスを示すタイミングチャートであり、図６（ｂ）は、その仮想モータ計算部が図５（ａ）に示す構成を採用した場合の作動を示すタイミングチャートであり、図６（ｃ）は、その仮想モータ計算部が図５（ｂ）に示す構成を採用した場合の作動を示すタイミングチャートである。
【図７】図７は、図３に示す仮想ＰＷＭインバータの一例を概略的にかつ数学的に記述する図である。
【図８】図８は、図１に示すモータ制御装置の作動の一例を概念的に表すフローチャートである。
【図９】図９は、本発明の例示的な第２実施形態に従うモータ制御装置の作動の一例を示すタイミングチャートである。
【図１０】図１０は、前記第２実施形態に従うモータ制御装置の作動の一例を概念的に表すフローチャートである。
【図１１】図１１は、本発明の例示的な第３実施形態に従うモータ制御装置を有するシステム全体を表す機能ブロック図である。
【図１２】図１２は、図１１に示す仮想モータ計算部の一例を表す機能ブロック図である。
【図１３】図１３は、図１１に示す実モータ制御部の作動の一例を概念的に表すフローチャートである。
【図１４】図１４は、図１２に示す仮想モータ計算部の作動の一例を概念的に表すフローチャートである。
【図１５】図１５は、図１２に示す比較部およびモデル修正部のそれぞれの作動の一例を概念的に表すフローチャートである。
【図１６】図１６は、本発明の例示的な第４実施形態に従うモータ制御装置を有するシステム全体を表す機能ブロック図である。
【図１７】図１７は、図１６に示す仮想モータ計算部の一例を表す機能ブロック図である。
【図１８】図１８は、図１７に示す制御切替部の作動の一例を概念的に表すフローチャートである。
【図１９】図１９は、図１７に示す状態信号切替部の作動の一例を概念的に表すフローチャートである。
【発明を実施するための形態】
【００３７】
以下、本発明のさらに具体的で例示的な実施の形態のうちのいくつかを図面に基づいて詳細に説明する。
【００３８】
＜第１実施形態＞
【００３９】
図１には、本発明の例示的な第１実施形態に従うモータ制御装置１０を有するシステム１１を概略的に表す機能ブロック図である。このシステム１１は、そのシステム１１の駆動源として実モータ１２を備えている。このシステム１１のいくつかの具体例としては、前述のように、絶対空間に対して移動する移動体や、可動部材に運動を付与する運動付与装置などがある。
【００４０】
実モータ１２は、一般に、複数極のロータ（図示しない）と、複数極のステータ（図示しない）と、磁束形成部（図示しないが、具体的には、例えば、巻き線）とを有するように構成される。図２に示すように、実モータ１２は、前記ロータと共に回転するシャフト１３を有しており、そのシャフト１３が可動部材（図示しないが、具体的には、例えば、車両の車輪、工作機械の工具、ロボットのアームなど）に機械的に連結され、それにより、可動部材が駆動される。
【００４１】
実モータ１２のいくつかの具体例としては、界磁に永久磁石を使用して回転する永久磁石同期モータ（ＰＭＳＭ）、永久磁石を使用せず、渦電流を利用して回転する誘導モータ（ＩＭ）、スイッチ・リラクタンス・モータ（ＳＲＭ）などがある。そのリラクタンス・モータにおいては、ロータが、永久磁石を使用することなく、強磁性の鉄心で構成されるため、リラクタンス・モータは、永久磁石を使用しない無整流子モータの一種である。
【００４２】
実モータ１２が３相（Ｕ相、Ｖ相、Ｗ相）の巻線を有する場合、実モータ１２の各種物理量を記述するために、次のような記号が使用される。
【００４３】
Ｖｕ，Ｖｖ，Ｖｗ：端子電圧（「巻線電圧」または「相電圧」ともいう。）[V]
Ｉｕ，Ｉｖ，Ｉｗ：相電流（「巻線電流」ともいう。）[A]
θｍ：ロータ（またはシャフト）の角度（位相または回転位置であり、「モータ角」または「モータ位置」ともいう）[rad]
ωｍ：ロータ（またはシャフト）の角速度（「モータ速度」ともいう）[rad/sec]
Ｔ：モータ出力トルク[Nm]
Ｆｕ，Ｆｖ，Ｆｗ：相磁束[Wb]
【００４４】
なお、本実施形態および後述のいくつかの実施形態の説明において、同じ記号が、単独で使用される箇所と、「＊」を末尾に有するように使用される箇所とが存在する。それら実施形態においては、同じ記号が、単独で使用される場合には、実際値または検出値を意味する一方、「＊」と組み合わせて使用される場合には、指令値を意味するという用法と、同じ記号が、単独で使用される場合には、実モータ１２についての物理量であることを意味する一方、「＊」と組み合わせて使用される場合には、後述の仮想モータ６０についての物理量であることを意味するという用法とがあるが、特記しない限り、前者の用法を採用することに留意されたい。
【００４５】
図１に示すように、システム１１は、実モータ１２を駆動するために、実インバータ／パワーアンプ１４をさらに備えている。その実インバータ／パワーアンプ１４は、実モータ１２に電気エネルギーを供給する実インバータまたは実パワーアンプを有するように構成される。実モータ１２に供給される電気エネルギーは、実モータ１２が３相（Ｕ相、Ｖ相、Ｗ相）の巻線を有する場合、端子電圧Ｖｕ，Ｖｖ，Ｖｗである。
【００４６】
図２には、実インバータ／パワーアンプ１４が実インバータ１６を有する場合につき、その実インバータ１６が概念的に回路図で表されている。実インバータ１６は、既によく知られているように、直流電圧Ｖｄｃが印加される入力端子２０と、端子電圧Ｖｕ，Ｖｖ，Ｖｗを実モータ１２に出力するための出力端子２２と、それら入力端子２０と出力端子２２との間に接続された複数のゲート２４と、端子電圧Ｖｕ，Ｖｖ，Ｖｗを検出する抵抗２６と、その抵抗２６に作用する電圧によって端子電圧Ｖｕ，Ｖｖ，Ｖｗを表すアナログ信号をデジタル信号に変換するＡＤＣ（交直変換器）２８とを有するように構成される。
【００４７】
複数のゲート２４は、複数のスイッチング素子（すなわち、複数の上アーム・スイッチング素子および複数の下アーム・スイッチング素子）として構成されており、それらゲート２４は、外部からの複数のパルス信号であるゲート信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｗに応じてスイッチング動作を行う。
【００４８】
このように構成されることにより、実インバータ１６は、外部から複数のゲート信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｗが制御信号として入力されると、その制御信号に応じた高さの端子電圧Ｖｕ，Ｖｖ，ＶｗをＰＷＭ（パルス幅変調）方式によって生成し、それら生成された端子電圧Ｖｕ，Ｖｖ，Ｖｗを実モータ１２に供給する。
【００４９】
外部から実インバータ／パワーアンプ１４に入力される制御信号は、実インバータ／パワーアンプ１４が実インバータ１６を有する場合には、上述のように、前記複数のゲート信号であるが、実インバータ／パワーアンプ１４が実パワーアンプ（図示しない）を有する場合には、実モータ１２の相数と同数のアナログ信号となる。
【００５０】
図１に示すように、システム１１は、実モータ１２の作動状態をモニタするために、実モータ１２の作動状態を検出し、その結果を表す実モータ状態信号を出力する実モータ状態検出部３０をさらに備えている。実モータ状態検出部３０は、実モータ１２の作動状態として、例えば、実モータ１２の実３相電流Ｉｕ，Ｉｖ，Ｉｗ、実モータ速度ωｍ、実モータ位置θｍなどを検出できる。実３相電流Ｉｕ，Ｉｖ，Ｉｗをモニタすることが必要である場合には、実モータ状態検出部３０は、電流センサ（図示しない）を含むように構成され、また、実モータ位置θｍを検出することが必要である場合には、実モータ状態検出部３０は、例えば、ロータリ・エンコーダ（図示しない）を含むように構成される。
【００５１】
図１に示すように、システム１１は、実モータ１２を制御するために、プロセッサ４０を備えている。プロセッサ４０は、ＦＰＧＡ(field-programmable gate array)やＡＳＩＣ(application specific integrated circuit)などの演算回路（例えば、ＰＬＤ(Programmable logic device）、ワイヤード論理回路)４２と、コンピュータのＣＰＵ４４とを含むように構成されている。演算回路４２により、例えば、１μｓｅｃという長さの第１の周期で、３２ビットの浮動小数点演算を行い、それにより、仮想モータ計算部５０による計算を行う。また、ＣＰＵ４４により、例えば、数１０μｓｅｃという長さの第２の周期であって前記第１の周期より長いもので、システム１１の全体を制御するための処理を行う。そのような処理としては、例えば、初期化、終了処理、時間的に可変である制御目標値を表す目標信号を入力する処理などがある。
【００５２】
演算回路４２により、仮想モータ計算部５０が実現される。仮想モータ計算部５０は、図３に示すように、仮想モータ６０を主体として構成され、その仮想モータ６０を用いることにより、実モータ１２の作動状態を計算する。仮想モータ６０は、前記制御信号が入力されると、実モータ１２を模擬する解析プログラムを演算回路４２（図１参照）に実行させることにより、前記入力された制御信号に基づいて実現される実モータ１２の作動状態を推定するための計算を行う。すなわち、仮想モータ計算部５０は、演算回路４２により、高速演算可能であるように構成されているのである。
【００５３】
前記「背景技術」の欄において詳述したように、従来の技術では、仮想モータ６０は、実モータ１２や、その実モータ１２を制御する実コントローラについての試験が終了するまで、実モータ１２を代替するものとして試験機において使用される。そして、それら実モータ１２や実コントローラが完成する（仕様が確定する）と、今度は、実モータ１２が、仮想モータ６０を代替するものとして実機に搭載される。このように、従来の技術では、試験機においても実機においても、仮想モータ６０が実モータ１２と一緒に搭載されるとともに一緒に作動させられることはなかった。
【００５４】
これに対し、本実施形態においては、試験機であるか実機であるかを問わず、仮想モータ６０が実モータ１２と一緒に搭載されるとともに一緒に作動させられ、それにより、仮想モータ６０を用いて実モータ１２を制御したり、実モータ１２を用いて仮想モータ６０をティーチングすることが可能である。
【００５５】
仮想モータ計算部５０は、実モータ１２の停止中（実モータ１２に入力される制御信号が時間的に変化しないために、実モータ１２への電気エネルギーの供給が不要である場合）であっても、作動し続ける。
【００５６】
本実施形態においては、システム１１のうち、仮想モータ計算部５０を構成する部分が、モータ制御装置１０を構成し、その仮想モータ計算部５０のうち、仮想モータ６０を除く部分が、モータ制御装置１０のうちの「制御部」を構成している。
【００５７】
ここで、一般的なモータの入出力特性を説明するに、図４に示すように、３相巻線のモータの入出力特性は、一般に、電圧方程式（電圧電流方程式）によって近似的に記述できることが既に知られている。この事実によれば、その電圧方程式を解くことにより、各相ごとの端子電圧を表すモータ電圧ベクトルｖ（＝［ｖｕ，ｖｖ，ｖｗ］）から、各相ごとの相電流を表すモータ電流ベクトルｉ（＝［ｉｕ，ｉｖ，ｉｗ］）を計算することができる。
【００５８】
図４に示す電圧方程式中の各種記号の定義を説明するに、「Ｒａ」は、モータの巻線抵抗を表し、また、「ψ」は、モータの鎖交磁束ベクトルψ（＝［ψｕ，ψｖ，ψｗ］）を表し、また、「ｔ」は、時間を表している。
【００５９】
図４に示すように、モータの鎖交磁束ベクトルψは、相電流による鎖交磁束と、電機子鎖交磁束との和に等しい。相電流による鎖交磁束は、「Ｌ（自己インダクタンス）」と「Ｍ（相互インダクタンス）」を各要素とするインダクタンス行列を用いて表現され、また、電機子鎖交磁束は、ベクトルφ（＝［φｕ，φｖ，φｗ］）として表現される。インダクタンス行列は、各要素Ｌ，Ｍが、モータの電流と角度（位置、位相）との少なくとも一方に依存するテーブルとして表現され、また、電機子鎖交磁束ベクトルφも、各要素が、モータの電流と角度（位置、位相）との少なくとも一方に依存するテーブルとして表現される。それらテーブルにより、前記電圧方程式と協働して、モータの非線形特性を、モータの駆動周波数全域にわたって表現することができる。
【００６０】
したがって、図４に示す電圧方程式によって表現される非線形モータモデルを使用すれば、モータの入出力特性が非線形であっても、モータの駆動周波数全域を複数の帯域に分割して各帯域ごとに異なる線形モータモデルを使用することなく、モータの駆動周波数全域を実質的に漏れなくカバーする非線形モータ特性を単一のモデルで精度よく表現することが可能となる。
【００６１】
図４に示す電圧方程式は、実モータ１２についても成立し、よって、仮想モータ６０は、その電圧方程式を解くことにより、図３に示すように、仮想モータ６０の各相ごとの端子電圧を表す仮想モータ電圧ベクトルＶ＊（＝［Ｖｕ＊，Ｖｖ＊，Ｖｗ＊］であって、図４に示すモータ電圧ベクトルｖ（＝［ｖｕ，ｖｖ，ｖｗ］に相当する）から、仮想モータ６０の各相ごとの相電流を表す仮想モータ電流ベクトルＩ＊（＝［Ｉｕ＊，Ｉｖ＊，Ｉｗ＊］であって、図４に示すモータ電流ベクトルｉ（＝［ｉｕ，ｉｖ，ｉｗ］）に相当する）を計算する。
【００６２】
したがって、本実施形態によれば、仮想モータ６０が、図４に示す電圧方程式によって表現される非線形モータモデルを使用して実モータ１２の作動を模擬するため、入出力特性が非線形である実モータ１２の駆動周波数全域にわたり、実モータ１２の作動を精度よく模擬することが可能となる。
【００６３】
仮想モータ６０が採用する前記モータモデルは、それの電気系を記述する前記電圧方程式に加えて、それの磁気系を記述するフレミング方程式と、それの機械系を記述する運動方程式（仮想ロータ軸周りのモーメントのつりあいを記述する）とを記述する。フレミング方程式は、フレミングの法則に従い、仮想モータ電流ベクトルＩ＊と仮想電機子鎖交磁束ベクトルφ＊とから、仮想モータ６０に発生する仮想トルクＴｅ＊を計算する。運動方程式は、仮想発生トルクＴｅ＊と、仮想負荷トルクＴｍ＊と、仮想電機子イナーシャＪ＊と、仮想減衰係数Ｆ＊とから、仮想モータ速度ωｍ＊を計算し、さらに、それを時間積分することにより、仮想モータ位置θｍ＊を計算する。
【００６４】
実モータ１２は、前記ロータを含む可動部材が質量（イナーシャ）や抵抗を有するなどの理由により、応答遅れを有するが、仮想モータ６０は、応答遅れを実質的に有しない。その結果、それら実モータ１２と仮想モータ６０とに同時に前記制御信号が入力されると、その制御信号に対して実モータ１２が応答するタイミングより早いタイミングで、仮想モータ６０が応答する。
【００６５】
したがって、ある制御目標値に基づき、ある時刻ｔ(i)に、同じ制御信号を実モータ１２と仮想モータ６０とに実質的に同時に供給することが必要である場合に、その供給に先立ち、その制御信号と同じ制御信号（この段落および次の段落において、仮想モータ６０に供給される制御信号を「Ｘ」を付して表記する）を仮想モータ６０のみに供給すれば、その時刻ｔ(i)が到来する前に、その制御信号Ｘに対して仮想モータ６０が応答するように仮想モータ６０を作動させることが可能である。
【００６６】
よって、そのときの仮想モータ６０の作動状態と今回の制御目標値との関係から、制御信号Ｘを補正すること（例えば、本実施形態における後述の位相遅れ補償や、後述の第２実施形態における２回のフィードバック制御）を、時刻ｔ(i)に先立って行うことが可能となる。したがって、時刻ｔ(i)に先立ち、実モータ１２に供給すべき制御信号を、その実モータ１２の入出力特性との関係において最適化し、その最適化された制御信号を、時刻ｔ(i)に、実モータ１２と仮想モータ６０とに供給することが可能である。
【００６７】
図３に示すように、仮想モータ計算部５０は、仮想モータ６０の作動状態を検出する仮想モータ状態検出部６２をさらに備えている。仮想モータ状態検出部６２は、仮想モータ６０の作動状態として、例えば、仮想モータ６０の計算によって取得された仮想モータ電流ベクトルＩ＊すなわち仮想３相実電流Ｉｕ＊，Ｉｖ＊，Ｉｗ＊、仮想トルク（仮想発生トルク）Ｔｅ＊、仮想モータ速度ωｍ＊、仮想モータ位置θｍ＊、仮想３相磁束Ｆｕ＊，Ｆｖ＊，Ｆｗ＊などを検出することができる。前述のように、仮想モータ６０は仮想３相実電流Ｉｕ＊，Ｉｖ＊，Ｉｗ＊を出力するように構成されているため、仮想モータ状態検出部６２は、仮想３相実電流Ｉｕ＊，Ｉｖ＊，Ｉｗ＊を検出して仮想モータ制御部６４に供給することが必要である場合には、仮想モータ６０から出力された仮想３相実電流Ｉｕ＊，Ｉｖ＊，Ｉｗ＊をそのまま仮想モータ制御部６４に転送すればよい。
【００６８】
図３に示すように、仮想モータ計算部５０は、仮想モータ６０を制御するために、前記目標信号と、実モータ状態検出部３０から出力された実モータ状態信号（例えば、実モータ位置θｍ）と、仮想モータ状態検出部６２から出力された仮想モータ状態信号とに基づき、複数の制御信号（前述のゲート信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｗ）を生成する仮想モータ制御部６４を備えている。仮想モータ制御部６４は、その生成された制御信号を、仮想モータ６０に出力すると同時に、実モータ１２にも出力する。
【００６９】
仮想モータ制御部６４は、前記制御目標値と、仮想モータ作動状態との関係に基づき、かつ、仮想モータ６０の仮想作動位置（仮想可動部材としての仮想ロータの作動位置）が実モータ１２の実作動位置（実可動部材としての実ロータの実作動位置）に一致すると仮定して、実モータ１２と仮想モータ６０とに共通の制御信号を決定する。これにより、実モータ１２と仮想モータ６０とが、一緒に、かつ、ロータ位置に関して互いに実質的に同期するように、駆動されることになる。
【００７０】
仮想モータ制御部６４のより具体的な構成については、後に図５を参照することにより、説明するが、それに先立ち、図６に示すタイミングチャートを参照することにより、この仮想モータ制御部６４の作動の一例を詳細に説明する。
【００７１】
図６（ａ）に例示するように、制御目標値Ｔ０は、仮想モータ制御部６４に入力周期Ｔｉｎ（例えば、数１０μｓｅｃ）で反復的に入力される。仮想モータ制御部６４は、１サイクル分の計算を入力周期Ｔｉｎより短い仮想モータ計算周期Ｔｖ（例えば、１μｓｅｃ）で反復的に行い、それにより、制御目標値Ｔ０の１回の入力サイクルの間、複数サイクル分の計算を行う。本実施形態においては、入力周期Ｔｉｎが、仮想モータ計算周期Ｔｖより短い長さを有するように設定されているが、これに代えて、仮想モータ計算周期Ｔｖと実質的に同じ長さを有するように設定することが可能である。
【００７２】
概略的に説明するに、図６（ｂ）に例示するように、仮想モータ制御部６４は、１サイクル分の計算を仮想モータ計算周期Ｔｖで反復的に行い、各回の計算サイクルにおいては、制御目標値Ｔ０(i)と、実モータ１２の作動状態θｍ(t)と、仮想モータ６０の作動状態θｍ＊(t)（図６においては、単に「θ(t)」で表す）であってその仮想モータ６０の前回の計算によって取得されたものとに基づき、前記制御信号Ｇｕ−Ｇｚを決定し、その決定された制御信号Ｇｕ−Ｇｚを実モータ１２と仮想モータ６０とに実質的に同時に出力する。
【００７３】
具体的に説明するに、図６（ｂ）に例示するように、仮想モータ制御部６４は、各回の計算サイクルにおいて、まず、制御目標値Ｔ０(t)と、実モータ１２の作動状態θｍ(t)と、仮想モータ６０の作動状態θ(t)であってその仮想モータ６０の前回の計算によって取得されたものとを取り込む。この処理を、図６（ｂ）においては、「θｍ（ｔ）入力」で表す。
【００７４】
次に、それら取り込まれた制御目標値Ｔ０(t)、実モータ状態θｍ(t)および仮想モータ状態θ(t)に基づき、実モータ１２と仮想モータ６０とに共通の仮制御信号を決定する。この処理を、図６（ｂ）においては、「θ（ｔ）＝θｍ（ｔ）同期」で表す。
【００７５】
その後、その決定された仮制御信号に対して、実モータ１２の作動状態の、仮想モータ計算周期Ｔｖの間における推定変化量Δθに基づく位相遅れ補償を行い、それにより、実モータ１２と仮想モータ６０とに共通の最終制御信号Ｇｕ−Ｇｚを取得する。この処理を、図６（ｂ）においては、「θ（ｔ）＋Δθ制御」で表す。
【００７６】
続いて、その取得された最終制御信号Ｇｕ−Ｇｚを実モータ１２と仮想モータ６０とに実質的に同時に出力する。この処理を、図６（ｂ）においては、「Ｇｕ〜Ｇｚ出力」で表す。各回の計算サイクルにおいて、後述の第２実施形態とは異なり、仮想モータ６０には、制御信号が１回しか入力されないため、仮想モータ６０は、１回しか作動しない。
【００７７】
なお、図６（ｂ）および図６（ｃ）においては、制御信号Ｇｕ−Ｇｚが実モータ１２に供給された後、その制御信号Ｇｕ−Ｇｚが属する回の計算サイクルが終了するタイミングと同じタイミングで、実モータ位置θｍ(t)がθｍ(t+1)（＝θｍ(t)＋Δθ）に変化することが図示されている。しかし、これは、説明のための一例にすぎず、実際には、前記タイミングより早いか遅いタイミングで、実モータ位置θｍ(t)がθｍ(t+1)に変化する。
【００７８】
次に、図５（ａ）を参照することにより、仮想モータ制御部６４の構成の一例を具体的に説明する。ただし、同じ記号が、単独で使用される場合には、仮想モータ６０についての実際値または検出値を意味する一方、「＊」と組み合わせて使用される場合には、仮想モータ６０についての指令値を意味する。
【００７９】
仮想モータ制御部６４は、ｄｑ座標系（回転直交２軸ｄｑ座標系）上において磁束−トルク制御を行う。ここに、「ｄ」は、仮想モータ６０の仮想磁束を表し、また、「ｑ」は、仮想モータ６０の仮想トルクを表している。そのような制御を実現するために、前記目標信号は、仮想ｄｑ軸指令電流Ｉｄ＊，Ｉｑ＊（仮想ｄ軸指令電流Ｉｄ＊および仮想ｑ軸指令電流Ｉｑ＊）として表現され、また、前記仮想モータ状態信号すなわち仮想３相実電流Ｉｕ，Ｉｖ，Ｉｗは、ＵＶＷ−ｄｑ座標変換器６８により、仮想ｄｑ軸実電流Ｉｄ，Ｉｑに変換される。
【００８０】
図５（ａ）に示すように、仮想モータ制御部６４は、仮想ｄｑ軸実電流Ｉｄ，Ｉｑ（仮想モータ作動状態の推定値すなわち仮想モータ作動状態の前回計算値の一例）をフィードバックすることにより、その仮想ｄｑ軸実電流Ｉｄ，Ｉｑと、仮想ｄｑ軸指令電流Ｉｄ＊，Ｉｑ＊との差が０に近づくように、仮想ｄｑ軸指令電圧Ｖｄ＊，Ｖｑ＊を計算する。そのため，仮想モータ制御部６４は、仮想ｄ軸指令電流Ｉｄ＊と仮想ｄ軸実電流Ｉｄとが入力されると、ベクトル制御（ロータの位置情報を用いて、相電流を３相座標系からｄｑ座標系へ座標変換し、ステータのｄｑ軸電流を制御する）により、対応する仮想ｄ軸指令電圧Ｖｄ＊を計算する電流制御器７０と、仮想ｑ軸指令電流Ｉｑ＊と仮想ｑ軸実電流Ｉｑとが入力されると、対応する仮想ｑ軸指令電圧Ｖｑ＊を計算する電流制御器７２とを備えている。
【００８１】
図５（ａ）に示すように、仮想モータ制御部６４は、仮想ｄｑ軸指令電圧Ｖｄ＊，Ｖｑ＊と、仮想ｄｑ軸実電流Ｉｄ，Ｉｑと、実モータ状態検出部３０（図１参照）から供給される実モータ状態信号（実モータ位置θｍ）とに基づき、仮想ｄｑ軸指令電圧Ｖｄ＊，Ｖｑ＊を補正する非干渉化制御器７４をさらに備えている。
【００８２】
仮想モータ６０を実モータ１２から切り離して使用する従来の技術では、非干渉化制御器７４は、仮想ｄｑ軸指令電圧Ｖｄ＊，Ｖｑ＊と、仮想ｄｑ軸実電流Ｉｄ，Ｉｑと、仮想モータ６０の仮想モータ位置θｍとに基づき、仮想ｄｑ軸指令電圧Ｖｄ＊，Ｖｑ＊を補正する。これに対し、本実施形態においては、非干渉化制御器７４が、仮想モータ位置θｍに代えて実モータ位置θｍを用いる。
【００８３】
その結果、本実施形態によれば、仮想ｄｑ軸指令電圧Ｖｄ＊，Ｖｑ＊が、仮想モータ６０の仮想モータ位置θと、実モータ１２の実モータ位置θｍとが互いに一致するように、補正されることになる。
【００８４】
図５（ａ）に示すように、仮想モータ制御部６４は、実モータ位置θｍのもとで、仮想ｄｑ軸指令電圧Ｖｄ＊，Ｖｑ＊を仮想３相指令電圧Ｖｕ＊，Ｖｖ＊，Ｖｗ＊に変換するｄｑ−ＵＶＷ座標変換器７６をさらに備えている。
【００８５】
仮想モータ６０を実モータ１２から切り離して使用する従来の技術では、ｄｑ−ＵＶＷ座標変換器７６は、仮想モータ６０の仮想モータ位置θｍのもとで、仮想ｄｑ軸指令電圧Ｖｄ＊，Ｖｑ＊を仮想３相指令電圧Ｖｕ＊，Ｖｖ＊，Ｖｗ＊に変換する。これに対し、本実施形態においては、ｄｑ−ＵＶＷ座標変換器７６が、仮想モータ位置θｍに代えて実モータ位置θｍを用いる。
【００８６】
その結果、本実施形態によれば、仮想３相指令電圧Ｖｕ＊，Ｖｖ＊，Ｖｗ＊が、仮想モータ６０の仮想モータ位置θと、実モータ１２の実モータ位置θｍとが互いに一致するように、取得されることになる。
【００８７】
このように、本実施形態においては、前記制御信号を生成するために、非干渉化制御器７４およびｄｑ−ＵＶＷ座標変換器７６が、仮想モータ位置θに代えて実モータ位置θｍを参照する。
【００８８】
しかし、例えば、後述の第３実施形態におけるように、仮想モータ６０が実モータ１２の入出力特性を十分に正確に再現するように教示される場合には、仮想モータ位置θと実モータ位置θｍとが互いに十分に一致することになる。この場合には、非干渉化制御器７４およびｄｑ−ＵＶＷ座標変換器７６が実モータ位置θｍに代えて仮想モータθを参照したとしても、前記制御信号が、仮想モータ６０の仮想モータ位置θと、実モータ１２の実モータ位置θｍとが互いに一致するように、取得されることになる。
【００８９】
図５（ａ）に示すように、仮想モータ制御部６４は、前記位相遅れ補償を行うために、Δθ推定器８０をさらに備えている。
【００９０】
図６（ｂ）に例示するように、仮想モータ計算周期Ｔｖの長さを有する１計算サイクルの間に、次回の制御信号を決定するために仮想モータ６０を作動させる。その間、実モータ位置θｍが不変であれば、その次回の制御信号を決定するために用いられた実モータ位置θｍ(t)と、その決定された次回の制御信号が実モータ１２に入力され始めるとき（または、その制御信号に対する実モータ１２の応答が完了するとき）の実モータ位置θｍ(t+1)とが互いに一致するため、前記制御信号の誤差が発生しない。
【００９１】
しかし、その間、実モータ位置θｍが変化すると、その次回の制御信号を決定するために用いられた実モータ位置θｍ(t)と、その決定された次回の制御信号が実モータ１２に入力され始めるとき（または、その制御信号に対する実モータ１２の応答が完了するとき）の実モータ位置θｍ(t+1)とが互いに一致しないため、前記制御信号の誤差が発生してしまう。
【００９２】
そこで、本実施形態においては、Δθ推定器８０が、実モータ位置θｍが入力された時期と、次回の制御信号が実モータ１２に入力され始める時期（または、その制御信号に対する実モータ１２の応答が完了する時期）との間の期間に、実モータ位置θｍが変化することが予想される変化量Δθを推定する。
【００９３】
その変化量Δθは、例えば、実モータ位置θｍが入力される時期と、次回の制御信号が実モータ１２に入力され始める時期（または、その制御信号に対する実モータ１２の応答が完了する時期）との間の期間の長さは、仮想モータ計算周期Ｔｖの長さを超えないし、それにほぼ近いという事実に着目し、仮想モータ計算周期Ｔｖの長さと、実モータ１２の角速度ωｍとの積として推定したり、仮想モータ計算周期Ｔｖの長さに応じて推定したり（仮想モータ計算周期Ｔｖの長さが可変である場合には、それが長いほど、変化量Δθが大きい可能性が高いから）、実モータ１２の角速度ωｍに応じて推定する（実モータ１２の角速度ωｍが高速であるほど、変化量Δθが大きい可能性が高いから）ことが可能である。
【００９４】
図５（ａ）に示すように、仮想モータ制御部６４は、Δθ推定器８０を備えており、そのΔθ推定器８０は、上述のようにして、前記変化量Δθを取得すると、その変化量Δθを、同じ回の計算サイクルの当初において取得した実モータ位置θｍに加算し、それにより、ｄｑ−ＵＶＷ座標変換器７６に入力されるモータ位置が、θｍ＋Δθに等しくなり、結局、実モータ１２の作動に追従するように補正される。
【００９５】
図５（ａ）に示すように、ｄｑ−ＵＶＷ座標変換器７６は、そのように補正されたモータ位置のもとで、仮想ｄｑ軸指令電圧Ｖｄ＊，Ｖｑ＊を仮想３相指令電圧Ｖｕ＊，Ｖｖ＊，Ｖｗ＊に変換し、その結果、それら仮想３相指令電圧Ｖｕ＊，Ｖｖ＊，Ｖｗ＊は、変化量Δθを見込んだ値として取得されることになる。これにより、前記制御信号が、実モータ位置θｍの将来の変化を予測して決定されるため、前述の位相遅れ補償がフィードフォワード制御の一種として行われることになる。
【００９６】
図３に示すように、仮想モータ計算部５０は、前記制御信号が入力される仮想ＰＷＭインバータ９０をさらに備えている。前記制御信号は、複数のゲート信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｗであり、それらゲート信号のうち、ゲート信号Ｇｕ，Ｇｖ，Ｇｗは、仮想ＰＷＭインバータ９０に属するＵＶＷ各相の上アーム・スイッチング素子２４にそれぞれ供給されるパルス信号であり、これに対し、ゲート信号Ｇｘ，Ｇｙ，Ｇｗは、仮想ＰＷＭインバータ９０に属するＵＶＷ各相の下アーム・スイッチング素子２４にそれぞれ供給されるパルス信号である。このことは、実インバータ１６についても該当する。
【００９７】
各ゲート信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｗは、パルス信号であり、各デューティ比Ｄｕ，Ｄｖ，Ｄｗ，Ｄｘ，Ｄｙ，Ｄｚを有する。また、仮想ＰＷＭインバータ９０には、直流電圧Ｖｄｃが印加される。
【００９８】
図７に示すように、仮想モータ６０に各相ごとに入力される仮想モータ端子電圧Ｖｕ，Ｖｖ，Ｖｗは、３つの式によって記述される。よって、仮想ＰＷＭインバータ９０は、各ゲートに入力されるゲート信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｗを、所定のサンプリング周期（例えば、１０ｎｓ)でサンプリングし、そのサンプリング結果を用いてデューティ比Ｄｕ，Ｄｖ，Ｄｗ，Ｄｘ，Ｄｙ，Ｄｚを計算する。各デューティ比Ｄは、例えば、各パルスのオン時間Ｔｏｎの長さをパルス周期（＝Ｔｏｎ＋Ｔｏｆｆ）で割り算することによって計算することが可能である。仮想ＰＷＭインバータ９０は、デューティ比Ｄｕ，Ｄｖ，Ｄｗ，Ｄｘ，Ｄｙ，Ｄｚの計算値（０以上１以下の数値）と、直流電圧Ｖｄｃの値（例えば、固定値）とを前述の３つの式に代入することにより、仮想モータ端子電圧Ｖｕ，Ｖｖ，Ｖｗを計算する。
【００９９】
図８には、モータ制御装置１０の作動の一例がフローチャートで表されている。このフローチャートは、ＣＰＵ４４によって実行されるステップＳ１およびＳ２と、演算回路４２によって反復的に実行されるステップＳ３−Ｓ１１とを表している。それらステップＳ３−Ｓ１１は、１回ずつ実行されることにより、一回の計算サイクルを達成する。
【０１００】
まず、ステップＳ１において、初期化が行われる。具体的には、例えば、実モータ状態検出部３０により、初期の実モータ位置θｉｎｉｔが取得され、同じ位置が、仮想モータ６０の初期の仮想モータ位置θｉｎｉｔとされる。
【０１０１】
次に、入力周期Ｔｉｎ（例えば、数１０μｓｅｃ）が経過するごとに割り込みが発生してステップＳ２が実行される。このステップＳ２においては、今回の制御目標値Ｔ０が入力される。
【０１０２】
続いて、ステップＳ３において、データ入力が行われ、具体的には、仮想モータ状態検出部６２からは仮想モータ状態Ｉｕ＊，Ｉｖ＊，Ｉｗ＊が、実モータ状態検出部３０からは実モータ状態θｍがそれぞれ入力される。
【０１０３】
その後、ステップＳ４−Ｓ６において、仮想モータ制御部６４が作動させられる。具体的には、まず、ステップＳ４において、電流制御器７０，７２および非干渉化制御器７４により、仮想モータ６０と実モータ１２とが、モータ位置に関して互いに同期するように、仮想ｄｑ軸指令電圧信号Ｖｄ＊，Ｖｑ＊が生成される。
【０１０４】
次に、ステップＳ５において、Δθ推定器８０により、変化量Δθが推定され、その推定された変化量Δθに基づき、実モータ位置θｍが補正され、そして、ｄｑ−ＵＶＷ座標変換器７６により、その補正された実モータ位置θｍのもとで、仮想ｄｑ軸指令電圧信号Ｖｄ＊，Ｖｑ＊が仮想３相指令電圧信号Ｖｕ＊，Ｖｖ＊，Ｖｗ＊に変換される。続いて、ステップＳ６において、ＰＷＭ信号発生器７８により、仮想３相指令電圧信号Ｖｕ＊，Ｖｖ＊，Ｖｗ＊がＰＷＭ信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｚに変換される。
【０１０５】
その後、ステップＳ７において、そのようにして取得されたＰＷＭ信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｚが実インバータ／パワーアンプ１４に対して出力され、それにより、実モータ１２が駆動される。続いて、その出力タイミングと実質的に同じタイミングで、ステップＳ８において、同じＰＷＭ信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｚが仮想ＰＷＭインバータ９０に対して出力される。それにより、仮想モータ端子電圧Ｖｕ，Ｖｖ，Ｖｗが計算される。
【０１０６】
続いて、ステップＳ９において、その計算された仮想モータ端子電圧Ｖｕ，Ｖｖ，Ｖｗが仮想モータ６０に対して出力されることにより、前述のモータモデルを用いることにより、仮想モータ電流ベクトルＩ＊すなわち仮想モータ状態Ｉｕ＊，Ｉｖ＊，Ｉｗ＊が計算される。
【０１０７】
その後、ステップＳ１０において、仮想モータ状態検出部６２により、仮想モータ電流ベクトルＩ＊すなわち仮想モータ状態Ｉｕ＊，Ｉｖ＊，Ｉｗ＊が出力される。その仮想モータ電流ベクトルＩ＊は、次回の計算サイクルでの計算に備えて、特定のメモリ（図示しない）に一時的に保存される。
【０１０８】
続いて、ステップＳ１１において、システム１１の主電源（図示しない）がオフにされたか否かが判定される。その主電源が未だオンである場合には、その判定がＮＯとなり、次回の計算サイクルでの計算のために、ステップＳ３に戻る。これに対し、主電源がオフにされた場合には、ステップＳ１１の判定がＹＥＳとなり、以上で、モータ制御装置１０の作動が終了する。
【０１０９】
なお、本実施形態においては、モータ制御装置１０が、そもそも実モータ１２のための制御目標値に基づき、そもそも仮想モータ６０のための制御信号を生成し、その制御信号を、仮想モータ６０のみならず実モータ１２にも、かつ、互いに実質的に同じ時期に出力し、それにより、実モータ１２を制御する。
【０１１０】
本発明は、同じ制御信号が、先に仮想モータ６０に、後に実モータ１２に出力される別の態様で実施することが可能である。これに対し、本実施形態のように、同じ制御信号が仮想モータ６０と実モータ１２とに互いに実質的に同じ時期に出力される場合には、前記別の態様において制御信号が実モータ１２に供給されるタイミングより早いタイミングで制御信号が実モータ１２に供給されることとなり、その結果、実モータ１２の制御周期を短縮することが容易となり、その結果、実モータ１２のよりきめ細かな制御が容易となる。
【０１１１】
モータ制御装置１０は、そもそも仮想モータ６０のための制御信号を生成するために、実モータ１２の作動状態量を参照するが、本実施形態においては、実モータ１２についての唯一の作動状態量、すなわち、実モータ位置θｍのみが参照される。よって、実モータ１２についての複数の作動状態量を参照しなければならない場合に比較し、システム設計が単純化し、装置コストの低減ならびに装置の信頼性および安定性の向上を容易に図り得る。
【０１１２】
本実施形態においては、仮想モータ６０の作動状態であってその仮想モータ６０の前回の計算によって取得された前回計算値がフィードバックされることにより、制御目標値と、実モータ１２の作動状態と、仮想モータ作動状態の前回計算値とに基づき、前記制御信号が決定される。それにより、仮想モータ６０がフィードバック制御され、その結果、仮想モータ６０の前記モータモデルの誤差、実モータ１２の制御誤差、実モータ１２の特性の個体ばらつき、実モータ１２の特性の経時変化、当システムに対する外乱による悪影響等が吸収されるように、前記制御信号が決定される。
【０１１３】
本実施形態においては、後述の第２実施形態と同様に、仮想モータ６０のためのフィードバック制御が、仮想モータ６０の前回計算値と、実モータ１２の作動状態の一例である実モータ位置θｍとを用いて行われる。仮想モータ６０の前回計算値は、仮想モータ６０にフィードバックされるフィードバック信号として用いられるが、実モータ位置θｍは、フィードバック信号として用いられるのではなく、仮想モータ６０のための前述のｄｑ軸制御において座標変換のために用いられる。
【０１１４】
このように、本実施形態においては、フィードバック信号が、仮想モータ６０の出力信号以外の信号、すなわち、実モータ１２の出力信号を含まないように設計されているのであり、これにより、フィードバック信号が実モータ１２の出力信号を含む場合より、システムの自己完結性が向上し、ひいては、システムの制御安定性が向上する。
【０１１５】
なお付言するに、本実施形態には種々の変形例が存在する。それら変形例のうちのいくつかを例示的に説明するに、第１の変形例においては、前述の位相遅れ補償を行うことなく、仮想モータ制御部６４が前記制御信号をフォードフォワード的に決定する。
【０１１６】
具体的には、この第１の変形例に従うモータ制御装置１０は、上述の第１実施形態と基本的に共通する構成を有するが、仮想モータ制御部６４は、図５（ｂ）に示すものに変更される。
【０１１７】
具体的には、この第１の変形例においては、仮想モータ制御部６４が、Δθ推定器８０を備えておらず、ｄｑ−ＵＶＷ座標変換器７６は、同じ回の計算サイクルの当初において取得した実モータ位置θｍのもとで、仮想ｄｑ軸指令電圧Ｖｄ＊，Ｖｑ＊を仮想３相指令電圧Ｖｕ＊，Ｖｖ＊，Ｖｗ＊に変換し、その結果、それら仮想３相指令電圧Ｖｕ＊，Ｖｖ＊，Ｖｗ＊は、変化量Δθを無視した値として取得されることになる。
【０１１８】
この第１の変形例は、仮想モータ計算周期Ｔｖの長さが短いか、および／または、実モータ１２の角速度が低速であるために、変化量Δθを無視しても支障を来たさない場合に、Δθ推定器８０を使用せずに済む点で有利である。
【０１１９】
この第１の変形例については、モータ制御装置１０の作動の一例を表すタイミングチャートが、図６（ｃ）に示すものに変更され、また、モータ制御装置１０の作動の一例を表すフローチャートは、図８に示すフローチャートと共通するが、ステップＳ５においては、Δθ推定器８０による変化量Δθの推定が省略され、ｄｑ−ＵＶＷ座標変換器７６により、実モータ位置θｍのもとで、ステップＳ４において生成された仮想ｄｑ軸指令電圧信号が仮想３相指令電圧信号に変換される。
【０１２０】
これに対し、第２の変形例においては、仮想モータ６０が実モータ１２の作動を正確に再現するように設計されているため、仮想モータ位置θが実モータ位置θｍに十分に一致する場合には、実モータ位置θｍに代えて仮想モータ位置を参照することにより、前記制御信号が生成される。この第２の変形例によれば、モータ制御装置１０は、実モータ１２の作動状態を検出するセンサを用いることなく、前記制御信号を生成することが可能となる。すなわち、実モータ１２の制御をセンサレス方式で行うことが可能となるのである。
【０１２１】
＜第２実施形態＞
【０１２２】
次に、本発明の第２実施形態に従うモータ制御装置１００を図９および図１０を参照することにより説明する。ただし、本実施形態は、第１実施形態と共通する要素があるため、共通する要素については、同一の符号または名称を付して引用することにより、重複した説明を省略し、異なる要素についてのみ、詳細に説明する。
【０１２３】
まず、概略的に説明するに、図９の例示的なタイミングチャートで示すように、本実施形態においては、仮想モータ計算部５０が、各回の計算サイクルにおいて、仮想モータ６０を２回作動させる。
【０１２４】
具体的には、仮想モータ計算部５０は、各回の計算サイクルにおいて、仮想モータ６０についての１回目の作動（フィードバック制御）のために、今回の制御目標値と、実モータ１２の現時点での作動状態θｍ１と、仮想モータ６０の作動状態Ｉ１であってその仮想モータ６０の前回の計算によって取得されたものとに基づき、仮想モータ６０のための仮制御信号を決定し、その決定された仮制御信号を、実モータ１２に出力することなく、仮想モータ６０に出力し、それにより、その仮想モータ６０の今回の作動状態を推定する。
【０１２５】
仮想モータ計算部５０は、各回の計算サイクルにおいて、仮想モータ６０についての最終回（本実施形態においては、２回目）の作動（フィードバック制御）のために、今回の制御目標値と、実モータ１２の現時点での作動状態θｍ２と、仮想モータ６０の作動状態Ｉ２であってその仮想モータ６０の前回の計算によって取得されたものとに基づき、実モータ１２と仮想モータ６０とに共通の最終制御信号を決定し、その決定された最終制御信号を実モータ１２と仮想モータ６０とに実質的に同時に出力する。
【０１２６】
本実施形態においては、実モータ１２と仮想モータ６０とに最終制御信号が出力される前に、仮想モータ６０には、仮制御信号が出力されており、その結果、仮想モータ６０には、主制御信号と最終制御信号との双方が出力されることになる。このままでは、実モータ１２の制御量と、仮想モータ６０の合計制御量とが不一致となってしまう。
【０１２７】
そこで、本実施形態においては、仮想モータ計算部５０が、仮想モータ６０についての２回目の作動のために、今回の制御目標値と、実モータ１２の現時点での作動状態θｍ２と、仮想モータ６０の作動状態Ｉ２であってその仮想モータ６０の前回の計算によって取得されたものとに基づき、これまでと同じ規則に従って制御信号を決定するが、この制御信号を、前記最終制御信号としてではなく、制御信号補正量として取り扱う。
【０１２８】
それに加えて、仮想モータ計算部５０は、仮想モータ６０において、前記仮制御信号の影響をキャンセルすべく、仮想モータ６０を、前記仮制御信号が入力される前の状態、すなわち、前回の計算サイクルが終了した時点の状態に復元する。
【０１２９】
さらに、仮想モータ計算部５０は、前記決定された仮制御信号を前記制御信号補正量によって補正することにより、前記最終制御信号を決定する。そして、仮想モータ計算部５０は、その決定された最終制御信号を実モータ１２と仮想モータ６０とに実質的に同時に出力する。その結果、仮想モータ６０には、今回の計算サイクルにおいて、最初から前記最終制御信号が入力された状況と同じ状況が再現される。
【０１３０】
次に、具体的に説明するに、図１０の例示的なフローチャートで示すように、本実施形態においては、ステップＳ１−Ｓ６が第１実施形態と同様にして実行される。ただし、本実施形態においては、ステップＳ３において、図９における「入力１」が実行され、仮想モータ状態Ｉ１と、実モータ状態θｍ１が入力され、また、ステップＳ６において、前記ＰＷＭ信号が前記仮制御信号として生成される。
【０１３１】
続いて、ステップＳ８−Ｓ１０が第１実施形態と同様にして実行されるが、ステップＳ８においては、図９における「出力１」が実行され、また、ステップＳ１０においては、仮想モータ電流Ｉ２が出力される。本実施形態においては、第１実施形態とは異なり、ＰＷＭ信号が、前記仮制御信号として、仮想ＰＷＭインバータ９０を介して仮想モータ６０に出力されるが、実インバータ／パワーアンプ１４には出力されない。その結果、仮想モータ６０は制御されるが、実モータ１２は制御されない。ステップＳ３−Ｓ１０により、図９に示す「仮想モータによる１回目のフィードバック制御」が実行される。
【０１３２】
その後、ステップＳ２１−Ｓ２８により、図９に示す「仮想モータによる２回目のフィードバック制御」が実行される。
【０１３３】
具体的には、まず、ステップＳ２１において、図９における「入力２」が実行され、ステップＳ３と同様にして、仮想モータ状態Ｉ２と、実モータ状態θｍ２が入力される。次に、ステップＳ２２において、ステップＳ４と同様にして、仮想ｄｑ軸指令電圧信号が生成され、ステップＳ２３において、ステップＳ５と同様にして、仮想３相指令電圧信号が生成される。
【０１３４】
その後、ステップＳ２４において、ステップＳ６と同様にして、前記ＰＷＭ信号が生成されるが、そのＰＷＭ信号は、前記制御信号補正量として取り扱われ、ステップＳ１０の実行によって生成された前記仮制御信号が、その制御信号補正量によって補正され、それにより、前記最終制御信号が生成される。
【０１３５】
この最終制御信号は、仮想モータ６０による１回目のフィードバック制御の結果を反映するように（制御誤差が減少するように）生成され、その結果、この最終制御信号は、前記仮制御信号より精度が向上する。しかも、この最終制御信号は、最初の情報である仮想モータ状態Ｉ１と実モータ状態θｍ１ではなく、最新の情報である仮想モータ状態Ｉ２と実モータ状態θｍ２に基づいて生成されるため、仮想モータ６０および実モータ１２の最新の状態を反映し、仮想モータ６０および実モータ１２の実際の変化をリアルタイムに追従する。その結果、一回の計算サイクル中、仮想モータ６０も実モータ１２も作動状態が変化しないと仮定して制御信号を生成する場合より、制御信号の精度が向上する。
【０１３６】
その後、ステップＳ２５において、第１実施形態におけるステップＳ７と同様にして、前記最終制御信号、すなわち、２回目のＰＷＭ信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｚが実インバータ／パワーアンプ１４に対して出力され、それにより、実モータ１２が駆動される。このステップＳ２５は、図９における「出力２」に相当する。
【０１３７】
続いて、その出力タイミングと実質的に同じタイミングで、ステップＳ２６において、ステップＳ８と同様にして、同じＰＷＭ信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｚが仮想ＰＷＭインバータ９０に対して出力される。それにより、仮想モータ端子電圧Ｖｕ，Ｖｖ，Ｖｗが計算される。このステップＳ２６も、図９における「出力２」に相当する。
【０１３８】
その後、ステップＳ２７において、ステップＳ９と同様にして、その計算された仮想モータ端子電圧Ｖｕ，Ｖｖ，Ｖｗが仮想モータ６０に対して出力されることにより、前述のモータモデルを用いることにより、仮想モータ電流ベクトルＩ３が計算される。
【０１３９】
続いて、ステップＳ２８において、ステップＳ１０と同様にして、仮想モータ状態検出部６２により、仮想モータ電流ベクトルＩ３が出力される。その仮想モータ電流ベクトルＩ３は、次回の計算サイクルでの計算に備えて、特定のメモリに一時的に保存される。
【０１４０】
その後、ステップＳ１１において、システム１１の主電源（図示しない）がオフにされたか否かが判定される。主電源が未だオンである場合には、その判定がＮＯとなり、次回の計算サイクルでの計算のために、ステップＳ３に戻る。これに対し、主電源がオフにされた場合には、ステップＳ１１の判定がＹＥＳとなり、以上で、モータ制御装置１０の作動が終了する。
【０１４１】
＜第３実施形態＞
【０１４２】
次に、本発明の第３実施形態に従うモータ制御装置２００を図１１−図１５を参照することにより説明する。ただし、本実施形態は、第１実施形態と共通する要素があるため、共通する要素については、同一の符号または名称を付して引用することにより、重複した説明を省略し、異なる要素についてのみ、詳細に説明する。
【０１４３】
図１１に示すように、モータ制御装置２００は、システム２０２に設けられている。そのシステム２０２は、第１実施形態と同様に、このシステム２０２の駆動源として作用する実モータ１２と、実インバータ／パワーアンプ１４と、実モータ状態検出部３０とを備えているが、実モータ状態検出部３０は、実モータ１２の実モータ電流Ｉｕ，Ｉｖ，Ｉｗ、実モータ速度ωｍ、実モータ位置θｍなどを検出することが可能である。
【０１４４】
図１１に示すように、モータ制御装置２００は、仮想モータ計算部２１０と、実モータ制御部２２０とをさらに有する。それら仮想モータ計算部２１０（ただし、本実施形態においては、後述の、図１２に示す比較部２２０およびモデル修正部２２２、および図１４に示すステップＳ１１１は、ＣＰＵ４４によって実行される）および実モータ制御部２２０は、演算回路４２により、高速演算可能であるように構成される。
【０１４５】
ただし、仮想モータ計算部２１０のみ、演算回路４２によって高速演算可能であるように構成され、実モータ制御部２２０とは、演算回路４２より低速で演算を行う別の演算回路（図示しない）またはＣＰＵ４４によって実行することも可能である。
【０１４６】
実モータ制御部２２０は、仮想モータ６０の作動状態に基づき、実モータ１２と仮想モータ６０とに共通の制御信号を決定する。そのため、実モータ制御部２２０は、第１実施形態における仮想モータ制御部６４と共通する構成を有している。本実施形態においては、仮想モータ制御部６４が、図５（ｂ）に示すように、Δθ推定器８０を有せず、位相遅れ補償を行わない回路構成を有するが、図５（ａ）に示す回路構成を有するように変更してもよい。
【０１４７】
図１２に示すように、仮想モータ計算部２１０は、第１実施形態と同様に、仮想ＰＷＭインバータ９０、仮想モータ６０および仮想モータ状態検出部６２を備えているが、仮想モータ状態検出部６２は、仮想モータ６０によって計算された仮想３相実電流Ｉｕ＊，Ｉｖ＊，Ｉｗ＊を検出し、さらに、その仮想３相実電流Ｉｕ＊，Ｉｖ＊，Ｉｗ＊の検出値から、仮想モータトルクＴｅ＊、仮想モータ速度ωｍ＊、仮想モータ位置θｍ＊、仮想３相磁束Ｆｕ＊，Ｆｖ＊，Ｆｗ＊などを計算する。仮想モータ計算部２１０は、比較部２２２と、モデル修正部２２４とをさらに有する。
【０１４８】
まず、概略的に説明するに、実モータ制御部２２０は、図１１に示すように、制御目標値（例えば、モータ速度指令ωｍ_ｒｅｆ）と、仮想モータ６０の作動状態(例えば、仮想３相実電流Ｉｕ＊，Ｉｖ＊，Ｉｗ＊、仮想モータ速度ωｍ＊、仮想モータ位置θｍ＊）とに基づき、その仮想モータ６０と実モータ１２とに共通の制御信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｚを決定し、その決定された制御信号を実モータ１２と仮想モータ６０とに実質的に同時に出力する。
【０１４９】
なお、一例においては、実モータ制御部２２０が、速度制御器（図示しない）により、モータ速度指令ωｍ_ｒｅｆと、仮想モータ速度ωｍ＊（例えば、仮想モータ位置θｍ＊の時間微分値として計算することも可能）との差に基づき、仮想ｄｑ軸指令電流Ｉｄ＊，Ｉｑ＊を計算し、仮想ｄ軸指令電流Ｉｄ＊は電流制御器７０に、仮想ｑ軸指令電流Ｉｑ＊は電流制御器７２にそれぞれ供給する。実モータ制御部２２０は、実モータ位置θｍに代えて、仮想モータ位置θｍ＊を、座標変換器６８、非干渉化制御器７４および座標変換器７６に供給する。
【０１５０】
実モータ制御部２２０は、前記制御目標値に基づいて実モータ１２と仮想モータ６０とに共通の制御信号を決定してその制御信号をそれらモータ１２および６０に実質的に同時に出力する点で、第１実施形態における仮想モータ制御部６４と共通するが、制御信号を決定するために、実モータ状態信号に代えて仮想モータ状態信号を用いる点では相違する。
【０１５１】
仮想モータ計算部２１０は、実モータ１２の停止中（実モータ１２に入力される制御信号が時間的に変化しないために、実モータ１２への電気エネルギーの供給が不要である場合）であっても、実モータ制御部２２０からの制御信号に基づき、作動し続ける。
【０１５２】
図１２に示すように、比較部２２２は、実モータ１２の作動状態（例えば、実３相実電流Ｉｕ，Ｉｖ，Ｉｗ）と仮想モータ６０の作動状態(例えば、仮想３相実電流Ｉｕ＊，Ｉｖ＊，Ｉｗ＊）とを互いに比較し、両者の差を電流誤差ΔＩとして各相ごとに計算する。
【０１５３】
図１２に示すように、モデル修正部２２４は、前記計算された電流誤差ΔＩに基づき、その電流誤差ΔＩが減少するように、仮想モータ６０の入出力特性を定義する前記モータモデル（図４参照）を修正する。モデル修正部２２４は、例えば、前記計算された電流誤差ΔＩに基づき、図４に示すインダクタンス行列のうち、該当する要素を、電流誤差ΔＩと要素の値との間に予め定められた関係（例えば、経験的にまたは実験的に取得される）を表すテーブルに従って修正する。
【０１５４】
このモデル修正部２２４は、実モータ１２を実際に駆動することにより、その実モータ１２の入出力特性を仮想モータ６０に教示するティーチングを実行し、その結果、実モータ１２の作動状態と仮想モータ６０の作動状態、すなわち、その仮想モータ６０の計算結果とが互いに一致すれば、結局、実モータ制御部２２０は、第１実施形態と同様に、制御目標値と、実モータ１２の作動状態とに基づき、実モータ１２と仮想モータ６０とに共通の制御信号を決定し、その決定された制御信号を実モータ１２と仮想モータ６０とに実質的に同時に出力することと等価であると考えられる。
【０１５５】
図１３には、実モータ制御部２２０の作動の一例がフローチャートで概念的に表されている。実モータ制御部２２０は、周期的に計算を行い、１サイクル分の計算を、前記仮想モータ計算周期Ｔｖより長い実モータ計算周期Ｔｍ（例えば、数１０μｓｅｃ）で反復する。
【０１５６】
具体的には、まず、ステップＳ１０１において、データ入力が行われ、具体的には、今回の制御目標値Ｔ０（例えば、モータ速度指令ωｍ_ｒｅｆ）が、例えば、システム１１に設置されたコントローラ（図示しない）または外部のコントローラ（図示しない）から入力される。さらに、仮想モータ状態検出部６２から、仮想モータ状態として、仮想３相実電流信号Ｉｕ＊，Ｉｖ＊，Ｉｗ＊、仮想モータ速度ωｍ＊および仮想モータ位置θｍ＊が入力される。
【０１５７】
その後、ステップＳ１０２において、前記入力された制御目標値Ｔ０が、所定の変換テーブルを用いるなどして、仮想ｄｑ軸指令電流信号Ｉｄ＊，Ｉｑ＊に変換される。さらに、前記入力された仮想３相実電流信号Ｉｕ＊，Ｉｖ＊，Ｉｗ＊が、図５に示すＵＶＷ−ｄｑ座標変換器６８により、仮想ｄｑ軸実電流信号Ｉｄ，Ｉｑに変換される。
【０１５８】
このステップＳ１０２においては、さらに、仮想ｄｑ軸指令電流信号Ｉｄ＊，Ｉｑ＊および仮想ｄｑ軸実電流信号Ｉｄ，Ｉｑが、図５に示す電流制御器７０，７２および非干渉化制御器７４により、仮想モータ６０と実モータ１２とが、モータ位置（本実施形態においては、仮想モータ位置θｍ＊によって定義される）に関して互いに同期するように、仮想ｄｑ軸指令電圧信号Ｖｄ＊，Ｖｑ＊に変換される。
【０１５９】
このステップＳ１０２においては、さらに、それら生成された仮想ｄｑ軸指令電圧信号Ｖｄ＊，Ｖｑ＊が、図５に示すｄｑ−ＵＶＷ座標変換器７６により、モータ位置（本実施形態においては、仮想モータ位置θｍ＊によって定義される）のもと、仮想ｄｑ軸指令電圧信号Ｖｄ＊，Ｖｑ＊に変換される。
【０１６０】
続いて、ステップＳ１０３において、データ出力が行われ、具体的には、それら生成された仮想ｄｑ軸指令電圧信号Ｖｄ＊，Ｖｑ＊が、図５に示すＰＷＭ信号発生器７８により、ＰＷＭ信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｚに変換される。それら生成されたＰＷＭ信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｚは、実インバータ／パワーアンプ１４に対して入力され、それにより、実モータ１２が駆動される。その後、ステップＳ１０１に戻る。
【０１６１】
それらステップＳ１０１からＳ１０３までのステップ群が、実モータ計算周期Ｔｍで反復的に実行される。
【０１６２】
図１４には、仮想モータ計算部２１０の作動の一例がフローチャートで概念的に表されている。仮想モータ計算部２１０は、周期的に計算を行い、１サイクル分の計算を、実モータ計算周期Ｔｍより短い仮想モータ計算周期Ｔｖ（例えば、数１μｓｅｃ）で反復する。
【０１６３】
具体的には、まず、ステップＳ１１１において、初期化が行われる。具体的には、例えば、実モータ状態検出部３０により、初期の実モータ位置θｉｎｉｔが取得され、同じ位置が、仮想モータ６０の初期の仮想モータ位置θｉｎｉｔとされる。
【０１６４】
次に、ステップＳ１１２において、データ入力が行われ、具体的には、前記生成されたＰＷＭ信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｚが、実インバータ／パワーアンプ１４に対して出力されたタイミングと実質的に同じタイミングで、図７に示す仮想ＰＷＭインバータ９０に対して入力される。その仮想ＰＷＭインバータ９０の作動すなわち計算により、仮想モータ端子電圧信号Ｖｕ，Ｖｖ，Ｖｗが生成される。
【０１６５】
続いて、ステップＳ１１３において、その計算された仮想モータ端子電圧信号Ｖｕ，Ｖｖ，Ｖｗが仮想モータ６０に対して出力されることにより、その仮想モータ６０の作動、すなわち、前述のモータモデルを用いた計算が行われ、それにより、仮想モータ電流ベクトルＩ＊すなわち仮想３相実電流Ｉｕ＊，Ｉｖ＊，Ｉｗ＊が計算され、さらに、それら仮想３相実電流Ｉｕ＊，Ｉｖ＊，Ｉｗ＊の計算値から、仮想モータ速度ωｍ＊および仮想モータ位置θｍ＊も計算される。
【０１６６】
その後、ステップＳ１１４において、データ出力が行われ、具体的には、仮想モータ状態検出部６２により、前記計算された仮想モータ電流ベクトルＩ＊すなわち仮想３相実電流値Ｉｕ＊，Ｉｖ＊，Ｉｗ＊、仮想モータ速度ωｍ＊および仮想モータ位置θｍ＊が出力される。それら仮想３相実電流Ｉｕ＊，Ｉｖ＊，Ｉｗ＊の計算値、仮想モータ速度ωｍ＊および仮想モータ位置θｍ＊は、実モータ制御部２２０による次回の計算に備えて、特定のメモリ（図示しない）に一時的に保存される。その後、ステップＳ１１２に戻る。
【０１６７】
それらステップＳ１１２からＳ１１４までのステップ群が、仮想モータ計算周期Ｔｖで反復的に実行される。
【０１６８】
図１５には、比較部２２２およびモデル修正部２２４の作動の一例がフローチャートで概念的に表されている。それら比較部２２２およびモデル修正部２２４は、ＣＰＵ４４により、誤差監視計算周期Ｔｃ（例えば、数１０μｓｅｃ）で反復的に実行される。
【０１６９】
具体的には、まず、ステップＳ１２１において、仮想モータ６０の相電流の、実モータ１２の相電流からの誤差である電流誤差ΔＩが、各相Ｕ，Ｖ，Ｗごとに計算され、それら３相のうちの少なくとも一つにつき、前記計算された電流誤差ΔＩの絶対値が、予め定められたしきい値ΔＩｔｈより大きいか否かが判定される。今回は、いずれの相についても、電流誤差ΔＩの計算値がしきい値ΔＩｔｈ以下であると仮定すると、このステップＳ１２１の判定がＮＯとなり、同じステップＳ１２１が再度実行される。
【０１７０】
これに対し、今回は、少なくとも一つの相につき、電流誤差ΔＩの計算値がしきい値ΔＩｔｈを超えていると仮定すると、このステップＳ１２１の判定がＹＥＳとなり、ステップＳ１２２に移行する。
【０１７１】
このステップＳ１２２においては、比較部２２２が作動させられる。具体的には、電流誤差ΔＩがいずれの相についても、しきい値ΔＩｔｈを超えないように前記モータモデルを修正すべき修正量が計算される。
【０１７２】
その計算手法の一例においては、各相ごとの電流誤差ΔＩが取り得る複数の離散的な代表値と、前記インダクタンス行列における複数の要素Ｌ，Ｍのうち、修正すべき要素と、その要素についての修正量との間において予め定められた関係（例えば、テーブルとして、プロセッサ４０のためのメモリに予め記憶されている）に従い、電流誤差ΔＩの実際の計算値に対応する修正量（もとの値に加算される値としたり、もとの値に乗算される係数とすることが可能である）が取得される。
【０１７３】
続いて、ステップＳ１２３において、モデル修正部２２４が作動させられる。具体的には、仮想モデル６０の入出力特性を定義するモータモデルが、前記計算された修正量に基づいて修正される（例えば、前記インダクタンス行列の複数の要素に共通に取得される補正係数または要素ごとに取得される修正係数が、それら要素のもとの値に乗算される）。電流誤差ΔＩの計算値に基づいて仮想モデル６０のティーチングが行われるのであり、その結果、仮想モデル６０の入出力特性が、実モータ１２の入出力特性をより正確に反映することとなる。その後、ステップＳ１２１に戻る。
【０１７４】
それらステップＳ１２１からＳ１２３までのステップ群が、仮想モータ計算周期Ｔｖより長い誤差監視周期（ティーチング周期でもある）Ｔｃで反復的に実行される。
【０１７５】
以上の説明から明らかなように、本実施形態によれば、システム２０２が試験的に稼動させられる状況にあるか実際に稼動している状況にあるかを問わず、実モータ１２の実際の入出力特性を反映するように、仮想モータ６０の入出力特性すなわち前記モータモデルを個別にチューニングすることが可能である。
【０１７６】
したがって、本実施形態によれば、システム２０２の製造段階にあっては、実モータ１２の入出力特性の個体ばらつきなどを反映するように、仮想モータ６０の入出力特性すなわちモータモデルを個別にチューニングすることが可能である。また、システム２０２の出荷後であって、ユーザが実際にシステム２０２を使用する段階にあっては、実モータ１２の入出力特性の経時劣化や、外的環境（例えば、温度環境）に起因する変化などを反映するように、仮想モータ６０の入出力特性すなわちモータモデルを個別に、かつ、本来の用途で使用しつつ、それと並行して、かつ、自動的にチューニングすることが可能である。そのようにしてチューニングされたモータモデルは、前述の第１または第２実施形態において採用したり、後述の第４実施形態において採用することが可能である。
【０１７７】
＜第４実施形態＞
【０１７８】
次に、本発明の第４実施形態に従うモータ制御装置３００を図１６−図１９を参照することにより説明する。ただし、本実施形態は、第１実施形態と共通する要素があるため、共通する要素については、同一の符号または名称を付して引用することにより、重複した説明を省略し、異なる要素についてのみ、詳細に説明する。
【０１７９】
図１６に示すように、モータ制御装置３００は、システム３０２に設けられている。そのシステム３０２は、第１実施形態と同様に、このシステム３０２の駆動源として作用する実モータ１２と、実インバータ／パワーアンプ１４と、実モータ状態検出部３０とを備えているが、実モータ状態検出部３０は、実モータ１２の実モータ電流Ｉｕ，Ｉｖ，Ｉｗ、実モータ速度ωｍ、実モータ位置θｍなどを検出することが可能である。
【０１８０】
図１６に示すように、モータ制御装置３００は、仮想モータ計算部３１０と、実モータ制御部３２０とをさらに有する。それら仮想モータ計算部３１０（ただし、本実施形態においては、後述の、図１７に示す制御切替部３２２および状態信号切替部３２４は、ＣＰＵ４４によって実行される）および実モータ制御部３２０は、演算回路４２により、高速演算可能であるように構成される。
【０１８１】
ただし、仮想モータ計算部３１０のみ、演算回路４２によって高速演算可能であるように構成され、実モータ制御部３２０とは、演算回路４２より低速で演算を行う別の演算回路（図示しない）またはＣＰＵ４４によって実行することも可能である。
【０１８２】
実モータ制御部３２０は、実モータ１２または仮想モータ６０の作動状態に基づき、実モータ１２と仮想モータ６０とに共通の制御信号、または仮想モータ６０のみに供給される制御信号を決定する。そのため、実モータ制御部３２０は、第１実施形態における仮想モータ制御部６４と共通する構成を有している。本実施形態においては、仮想モータ制御部６４が、図５（ｂ）に示すように、Δθ推定器８０を有せず、位相遅れ補償を行わない回路構成を有するが、図５（ａ）に示す回路構成を有するように変更してもよい。
【０１８３】
実モータ制御部３２０は、第３実施形態におけると同様に、図１３にフローチャートで概念的に表されている手順で作動する。ただし、本実施形態においては、ステップＳ１０１において、第３実施形態と同様に、仮想モータ状態検出部６２から、仮想モータ状態として、仮想３相実電流信号Ｉｕ＊，Ｉｖ＊，Ｉｗ＊、仮想モータ速度ωｍ＊および仮想モータ位置θｍ＊が入力される可能性に加えて、第３実施形態とは異なり、実モータ状態検出部３０から、実モータ状態として、実３相実電流信号Ｉｕ，Ｉｖ，Ｉｗ、実モータ速度ωｍおよび実モータ位置θｍが入力される可能性がある。
【０１８４】
図１７に示すように、仮想モータ計算部３１０は、第１実施形態と同様に、仮想ＰＷＭインバータ９０、仮想モータ６０および仮想モータ状態検出部６２を備えているが、仮想モータ状態検出部６２は、仮想モータ６０によって計算された仮想３相実電流Ｉｕ＊，Ｉｖ＊，Ｉｗ＊を検出し、さらに、その仮想３相実電流Ｉｕ＊，Ｉｖ＊，Ｉｗ＊の検出値から、仮想モータトルクＴｅ＊、仮想モータ速度ωｍ＊、仮想モータ位置θｍ＊、仮想３相磁束Ｆｕ，Ｆｖ，Ｆｗなどを計算する。仮想モータ計算部３１０は、制御切替部３２２と、状態信号切替部３２４とをさらに有する。
【０１８５】
ところで、システム３０２の開発段階においては、そのシステム３０２を構成する実モータ１２、仮想モータ６０および実制御系のそれぞれの試験が必要であるが、未完成の制御系を試験するために、いきなり実モータ１２を用いると、制御系のチューニング不足が原因で、実モータ１２が損傷する可能性がある。そのため、制御系の試験を、実モータ１２に代えて仮想モータ６０を用いることによって行いたいという要請がある。
【０１８６】
また、制御系の試験終了後には、その制御系の性能を、実際の使用環境、すなわち、実モータ１２と仮想モータ６０とが共に作動する環境において確認するために、その制御系を、実モータ１２と仮想モータ６０とが共に作動する環境において診断したいという要請がある。もちろん、システム３０２の実際の使用環境においては、その制御系が、実モータ１２と仮想モータ６０とが共に作動する環境において使用される。
【０１８７】
そこで、本実施形態においては、仮想モータ計算部３１０が、作業者や開発者による操作（例えば、スイッチ操作）、または特定の条件が成立すると状態切替信号を自動的に発生させる信号発生器からの状態切替信号に応じて、仮想モータ６０を単独で駆動する単独駆動モードと、仮想モータ６０を実モータ１２と一緒に駆動する双方駆動モードとのうちのいずれかを選択する。
【０１８８】
単独駆動モードの選択時には、実モータ１２がシステム３０２に搭載されていない状態であっても、実モータ制御部３２０を、仮想モータ６０を用いて試験することができる。よって、実モータ１２の開発完了を待つことなく、実モータ制御部３２０の試験・開発を行うことができる。その結果、実モータ１２の開発と、実モータ制御部３２０の試験・開発とを、互いに独立して、かつ、互いに並行して行うことができる。
【０１８９】
これに対し、双方駆動モードの選択時には、システム３０２を、実モータ制御部３２０と実モータ１２との双方が搭載された状態で診断したり、完全組立状態にあるシステム３０２を構成する部品、またはそのシステム３０２に接続される部品のうち、単独駆動モードでの試験が行われていない部品の診断を行うことができる。
【０１９０】
図１８には、仮想モータ計算部３１０における制御切替部３２２の作動の一例がフローチャートで概念的に表されている。
【０１９１】
制御切替部３２２が実行されると、まず、ステップＳ２０１において、単独駆動モータと双方駆動モードとの間での切替えを行うためのモード切替信号が入力される。次に、ステップＳ２０２において、その入力されたモード切替信号によって単独駆動モードが選択されたか否かが判定される。単独駆動モードが選択された場合には、ステップＳ２０２の判定がＹＥＳとなり、ステップＳ２０３において、実モータ制御部３２０から出力された制御信号が仮想モータ６０のみに出力される。その後、ステップＳ２０１に戻る。
【０１９２】
これに対し、入力されたモード切替信号によって双方駆動モードが選択された場合には、ステップＳ２０２の判定がＮＯとなり、ステップＳ２０４において、実モータ制御部３２０から出力された制御信号が実モータ１２に出力され、その後、それとほぼ同時に、ステップＳ２０５において、同じ制御信号が仮想モータ６０にも出力される。その後、ステップＳ２０１に戻る。
【０１９３】
双方駆動モードの選択時に、前記制御信号が実インバータ／パワーアンプ１４に供給されれば、実モータ１２が作動し、さらに、実モータ状態検出部３０が実モータ状態を検出するが、そうでなければ、実モータ１２は作動しない。また、いずれのモードの選択時にも、前記制御信号が仮想ＰＷＭインバータ９０に供給されれば、図１４にフローチャートで概念的に表す手順で、仮想モータ６０が作動し、さらに、仮想モータ状態検出部６２が仮想モータ状態を検出する。
【０１９４】
図１９には、仮想モータ計算部３１０における状態信号切替部３２４の作動の一例がフローチャートで概念的に表されている。
【０１９５】
状態信号切替部３２４が実行されると、まず、ステップＳ３０１において、前記モード切替信号が入力される。次に、ステップＳ３０２において、その入力されたモード切替信号によって単独駆動モードが選択されたか否かが判定される。単独駆動モードが選択された場合には、ステップＳ３０２の判定がＹＥＳとなり、ステップＳ３０３において、仮想モータ状態検出部６２から入力された仮想モータ状態信号が実モータ制御部３２０に出力される。その後、ステップＳ３０１に戻る。
【０１９６】
これに対し、入力されたモード切替信号によって双方駆動モードが選択された場合には、ステップＳ３０２の判定がＮＯとなり、ステップＳ３０４において、実モータ状態検出部３０から入力された実モータ状態信号が実モータ制御部３２０に出力される。その後、ステップＳ３０１に戻る。
【０１９７】
単独駆動モードにおいては、実モータ制御部３２０は、仮想モータ状態検出部６２から入力された仮想モータ状態信号に基づいて前記制御信号を決定する一方、双方駆動モードにおいては、実モータ制御部３２０は、実モータ状態検出部３０から入力された実モータ状態信号に基づいて前記制御信号を決定する。
【０１９８】
以上、本発明の実施の形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、前記［発明の概要］の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【図１】
2014128078.tif 000003
【図２】
2014128078.tif 000004
【図３】
2014128078.tif 000005
【図４】
2014128078.tif 000006
【図５】
2014128078.tif 000007
【図６】
2014128078.tif 000008
【図７】
2014128078.tif 000009
【図８】
2014128078.tif 000010
【図９】
2014128078.tif 000011
【図１０】
2014128078.tif 000012
【図１１】
2014128078.tif 000013
【図１２】
2014128078.tif 000014
【図１３】
2014128078.tif 000015
【図１４】
2014128078.tif 000016
【図１５】
2014128078.tif 000017
【図１６】
2014128078.tif 000018
【図１７】
2014128078.tif 000019
【図１８】
2014128078.tif 000020
【図１９】
2014128078.tif 000021
【手続補正書】
【提出日】平成25年4月22日(2013.4.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
電気エネルギーを運動エネルギーに変換する実モータを制御するモータ制御装置であって、
前記実モータを模擬する仮想モータと、
制御目標値に基づき、前記実モータと前記仮想モータとに共通の制御信号を決定し、その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する制御部と
を含み、
前記仮想モータは、前記制御信号が入力されると、その入力された制御信号に基づき、その制御信号に応答して実現される前記実モータの作動状態を前記仮想モータの作動状態として推定し、
前記制御部は、前記制御目標値と前記仮想モータの作動状態であって前記仮想モータによって推定された推定作動状態とに基づき、前記仮想モータの作動状態のベクトル制御を、前記推定作動状態の座標変換が前記実モータの回転角を用いて行われるように行い、それにより、前記制御信号を決定するモータ制御装置。
【請求項２】
前記仮想モータは、前記制御信号が入力されると、前記実モータを模擬する解析プログラムをプロセッサに実行させることにより、前記入力された制御信号に基づいて実現される前記実モータの作動状態を推定するための計算を行う請求項１に記載のモータ制御装置。
【請求項３】
前記実モータは、応答遅れを有するが、前記仮想モータは、応答遅れを実質的に有せず、それにより、それら実モータと仮想モータとに同時に前記制御信号が入力されると、その制御信号に対して前記実モータが応答するタイミングより早いタイミングで、前記仮想モータが応答する請求項１または２に記載のモータ制御装置。
【請求項４】
前記制御目標値は、前記制御部に入力周期で反復的に入力され、
前記制御部は、１計算サイクル分の計算を前記入力周期より短い計算周期で反復的に行い、それにより、前記制御目標値の１回の入力サイクルの間、複数の計算サイクル分の計算を行う請求項１ないし３のいずれかに記載のモータ制御装置。
【請求項５】
前記制御部は、前記ベクトル制御において、前記制御目標値と前記推定作動状態とに基づき、前記仮想モータのための仮想ｄｑ軸指令電圧信号を生成し、その仮想ｄｑ軸指令電圧信号を、前記実モータの回転角のもとで、前記仮想モータのための仮想３相指令電圧信号に座標変換し、その仮想３相指令電圧信号をそのまま前記制御信号として用いるかまたは前記仮想３相指令電圧信号に基づいて前記制御信号を決定する請求項１ないし４のいずれかに記載のモータ制御装置。
【請求項６】
前記制御部は、１計算サイクル分の計算を計算周期で反復的に行い、各回の計算サイクルにおいては、前記仮想モータの作動状態であってその仮想モータの前回の計算によって取得された前回計算値をフィードバックすることにより、前記制御目標値と、前記実モータの作動状態と、前記仮想モータ作動状態の前回計算値とに基づき、前記制御信号を決定する請求項１ないし５のいずれかに記載のモータ制御装置。
【請求項７】
電気エネルギーを運動エネルギーに変換する実モータを制御するモータ制御装置であって、
前記実モータを模擬する仮想モータと、
制御目標値に基づき、前記実モータと前記仮想モータとに共通の制御信号を決定し、その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する制御部と
を含み、
前記仮想モータは、前記制御信号が入力されると、その入力された制御信号に基づき、その制御信号に応答して実現される前記実モータの作動状態を前記仮想モータの作動状態として推定し、
前記制御部は、１計算サイクル分の計算を計算周期で反復的に行い、各回の計算サイクルにおいては、前記仮想モータの作動状態であってその仮想モータの前回の計算によって取得された前回計算値をフィードバックすることにより、前記制御目標値と、前記実モータの作動状態と、前記仮想モータ作動状態の前回計算値とに基づき、前記実モータと前記仮想モータとに共通の仮制御信号を決定し、その決定された仮制御信号に対して位相遅れ補償を行うことにより、前記実モータと前記仮想モータとに共通の最終制御信号を取得し、その取得された最終制御信号を前記実モータと前記仮想モータとにそれぞれ出力し、それにより、各回の計算サイクルにおいて、前記仮想モータを少なくとも１回作動させるモータ制御装置。
【請求項８】
電気エネルギーを運動エネルギーに変換する実モータを制御するモータ制御装置であって、
前記実モータを模擬する仮想モータと、
制御目標値に基づき、前記実モータと前記仮想モータとに共通の制御信号を決定し、その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する制御部と
を含み、
前記仮想モータは、前記制御信号が入力されると、その入力された制御信号に基づき、その制御信号に応答して実現される前記実モータの作動状態を前記仮想モータの作動状態として推定し、
前記制御部は、１計算サイクル分の計算を計算周期で反復的に行い、各回の計算サイクルにおいては、前記仮想モータを少なくとも２回作動させ、
前記制御部は、各回の計算サイクルにおいて、前記仮想モータについての１回目の作動のために、前記仮想モータの作動状態であってその仮想モータの前回の計算によって取得された前回計算値をフィードバックすることにより、今回の制御目標値と、前記実モータの現時点での作動状態と、前記仮想モータ作動状態の前回計算値とに基づき、前記仮想モータのための仮制御信号を決定し、その決定された仮制御信号を、前記実モータに出力することなく、前記仮想モータに出力し、それにより、その仮想モータの今回の作動状態を推定し、
前記制御部は、各回の計算サイクルにおいて、前記仮想モータについての最終回の作動のために、前記仮想モータ作動状態の前回計算値をフィードバックすることにより、今回の制御目標値と、前記実モータの現時点での作動状態と、前記仮想モータ作動状態の前回計算値とに基づき、前記実モータと前記仮想モータとに共通の最終制御信号を決定し、その決定された最終制御信号を前記実モータと前記仮想モータとにそれぞれ出力するモータ制御装置。
【請求項９】
電気エネルギーを運動エネルギーに変換する実モータを制御するモータ制御装置であって、
前記実モータを模擬する仮想モータと、
制御目標値に基づき、前記実モータと前記仮想モータとに共通の制御信号を決定し、その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する制御部と
を含み、
前記仮想モータは、前記制御信号が入力されると、その入力された制御信号に基づき、その制御信号に応答して実現される前記実モータの作動状態を前記仮想モータの作動状態として推定し、
前記制御部は、１計算サイクル分の計算を計算周期で反復的に行い、各計算サイクルごとに前記制御信号を決定し、その決定された制御信号を前記実モータと前記仮想モータとに出力し、
その制御部は、前記計算周期より長い周期で、前記実モータの作動状態と前記仮想モータの作動状態であって前記仮想モータによって推定された推定作動状態との差に基づき、その差が減少するように、前記仮想モータの入出力特性を反復的に修正する修正部を含むモータ制御装置。
【請求項１０】
電気エネルギーを運動エネルギーに変換する実モータを制御するモータ制御装置であって、
前記実モータを模擬する仮想モータと、
制御目標値に基づき、前記実モータと前記仮想モータとに共通の制御信号を決定し、その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する制御部と
を含み、
前記仮想モータは、前記制御信号が入力されると、その入力された制御信号に基づき、その制御信号に応答して実現される前記実モータの作動状態を前記仮想モータの作動状態として推定し、
前記制御部は、
前記仮想モータを単独で駆動する単独駆動モードと、前記仮想モータを前記実モータと一緒に駆動する双方駆動モードとのうちの単独駆動モードが選択されると、前記仮想モータの作動状態に基づいてその仮想モータを制御し、前記双方駆動モードが選択されると、前記制御目標値に基づいて前記制御信号を決定し、その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力するモータ制御装置。
【請求項１１】
電気エネルギーを運動エネルギーに変換する実モータを制御するモータ制御方法であって、
制御目標値に基づき、前記実モータとその実モータを模擬する仮想モータとに共通の制御信号を決定する決定工程と、
その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する出力工程と、
前記制御信号が前記仮想モータに入力されると、その入力された制御信号に基づき、その制御信号に応答して実現される前記実モータの作動状態を前記仮想モータの作動状態として推定する推定工程と
を含み、
前記決定工程は、前記制御目標値と前記仮想モータの作動状態であって前記仮想モータによって推定された推定作動状態とに基づき、前記仮想モータの作動状態のベクトル制御を、前記推定作動状態の座標変換が前記実モータの回転角を用いて行われるように行い、それにより、前記制御信号を決定するモータ制御方法。
【請求項１２】
請求項１１に記載のモータ制御方法を実行するためにコンピュータによって実行されるプログラム。
【請求項１３】
請求項１２に記載のプログラムをコンピュータ読み取り可能に記録した記録媒体。
【請求項１４】
電気エネルギーを運動エネルギーに変換する実モータを制御するモータ制御装置であって、
前記実モータを模擬する仮想モータと、
制御目標値に基づいて第１制御信号を決定し、その決定された第１制御信号を前記実モータに出力することによってその実モータを作動させることを周期的に行うとともに、その実モータの作動中、前記制御目標値に基づいて第２制御信号を決定し、その決定された第２制御信号を前記仮想モータに出力することによってその仮想モータを作動させることを周期的に行う制御部と
を含み、
前記仮想モータは、前記第２制御信号が入力されると、その入力された第２制御信号に基づき、その第２制御信号に応答して実現される前記仮想モータの作動状態を推定し、
前記制御部は、前記実モータに前記第１制御信号を出力するのに先立ち、前記第２制御信号を決定することと、その決定された第２制御信号を前記仮想モータに出力することによってその仮想モータの作動状態を推定することと、その推定された仮想モータ作動状態と前記制御目標値とに基づいて前記第１制御信号を決定するモータ制御装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
本発明の第１側面によれば、電気エネルギーを運動エネルギーに変換する実モータを制御するモータ制御装置であって、
前記実モータを模擬する仮想モータと、
制御目標値に基づき、前記実モータと前記仮想モータとに共通の制御信号を決定し、その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する制御部と
を含み、
前記仮想モータは、前記制御信号が入力されると、その入力された制御信号に基づき、その制御信号に応答して実現される前記実モータの作動状態を前記仮想モータの作動状態として推定し、
前記制御部は、前記制御目標値と前記仮想モータの作動状態であって前記仮想モータによって推定された推定作動状態とに基づき、前記仮想モータの作動状態のベクトル制御を、前記推定作動状態の座標変換が前記実モータの回転角を用いて行われるように行い、それにより、前記制御信号を決定するモータ制御装置が提供される。
また、本発明の第２側面によれば、電気エネルギーを運動エネルギーに変換する実モータを制御するモータ制御方法であって、
制御目標値に基づき、前記実モータとその実モータを模擬する仮想モータとに共通の制御信号を決定する決定工程と、
その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する出力工程と、
前記制御信号が前記仮想モータに入力されると、その入力された制御信号に基づき、その制御信号に応答して実現される前記実モータの作動状態を前記仮想モータの作動状態として推定する推定工程と
を含み、
前記決定工程は、前記制御目標値と前記仮想モータの作動状態であって前記仮想モータによって推定された推定作動状態とに基づき、前記仮想モータの作動状態のベクトル制御を、前記推定作動状態の座標変換が前記実モータの回転角を用いて行われるように行い、それにより、前記制御信号を決定するモータ制御方法が提供される。
本発明によって下記の各態様が得られる。各態様は、項に区分し、各項には番号を付し、必要に応じて他の項の番号を引用する形式で記載する。これは、本発明が採用し得る技術的特徴の一部およびそれの組合せの理解を容易にするためであり、本発明が採用し得る技術的特徴およびそれの組合せが以下の態様に限定されると解釈すべきではない。すなわち、下記の態様には記載されていないが本明細書には記載されている技術的特徴を本発明の技術的特徴として適宜抽出して採用することは妨げられないと解釈すべきなのである。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００７１
【補正方法】変更
【補正の内容】
【００７１】
図６（ａ）に例示するように、制御目標値Ｔ０は、仮想モータ制御部６４に入力周期Ｔｉｎ（例えば、数１０μｓｅｃ）で反復的に入力される。仮想モータ制御部６４は、１サイクル分の計算を入力周期Ｔｉｎより短い仮想モータ計算周期Ｔｖ（例えば、１μｓｅｃ）で反復的に行い、それにより、制御目標値Ｔ０の１回の入力サイクルの間、複数サイクル分の計算を行う。本実施形態においては、入力周期Ｔｉｎが、仮想モータ計算周期Ｔｖより長い長さを有するように設定されているが、これに代えて、仮想モータ計算周期Ｔｖと実質的に同じ長さを有するように設定することが可能である。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１４４
【補正方法】変更
【補正の内容】
【０１４４】
図１１に示すように、モータ制御装置２００は、仮想モータ計算部２１０と、実モータ制御部２２０とをさらに有する。それら仮想モータ計算部２１０（ただし、本実施形態においては、後述の、図１２に示す比較部２２２およびモデル修正部２２４、および図１４に示すステップＳ１１１は、ＣＰＵ４４によって実行される）および実モータ制御部２２０は、演算回路４２により、高速演算可能であるように構成される。