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