(57)【特許請求の範囲】
【請求項１】
ゲートのオン／オフ制御によってモータを駆動するドライバに供給すべきゲート信号を発生させるゲート信号発生器であって、
前記ゲートをオフ状態とオン状態との間において切り替える向きを、前記ゲートをオフ状態からオン状態に切り替える場合と前記ゲートをオン状態からオフ状態に切り替える場合とで互いに区別されるように表す符号と、その切替えを行うタイミングを表す絶対値とを有する時間指令値を入力する信号入力部と、
サイクルごとに時間と共にレベルが一方向に変化する鋸波信号を発生させる鋸波信号発生部と、
前記入力された時間指令値の絶対値を表す絶対値信号を発生させる絶対値信号発生部と、
前記鋸波信号と前記絶対値信号とを互いに比較し、その比較結果を表す比較結果信号を発生させるコンパレータと、
前記時間指令値の符号を検出し、その検出された符号を表す符号信号を発生させる符号検出部と、
前記比較結果信号と前記符号信号とに基づき、前記ゲート信号を発生させるゲート信号発生部と
を含むゲート信号発生器。
【請求項２】
前記ゲート信号は、立ち上がりエッジと立ち下がりエッジとのうち、各周期ごとに選択されるものを有するパルス信号を含み、
前記ゲート信号発生部は、各周期ごとに、前記立ち上がりエッジと前記立ち下がりエッジとのいずれかを前記符号信号に応じて選択し、その選択されたエッジの出現位置を前記比較結果信号のエッジ位置に応じて決定する請求項１に記載のゲート信号発生器。
【請求項３】
ゲートのオン／オフ制御によってモータを駆動するドライバに供給すべきゲート信号を発生させる方法であって、
前記ゲートをオフ状態とオン状態との間において切り替える向きを、前記ゲートをオフ状態からオン状態に切り替える場合と前記ゲートをオン状態からオフ状態に切り替える場合とで互いに区別されるように表す符号と、その切替えを行うタイミングを表す絶対値とを有する時間指令値を入力する信号入力工程と、
サイクルごとに時間と共にレベルが一方向に変化する鋸波信号を発生させる鋸波信号発生工程と、
前記入力された時間指令値の絶対値を表す絶対値信号を発生させる絶対値信号発生工程と、
前記鋸波信号と前記絶対値信号とを互いに比較し、その比較結果を表す比較結果信号を発生させる比較工程と、
前記時間指令値の符号を検出し、その検出された符号を表す符号信号を発生させる符号検出工程と、
前記比較結果信号と前記符号信号とに基づき、前記ゲート信号を発生させるゲート信号発生工程と
を含む方法。
【請求項４】
前記ゲート信号は、立ち上がりエッジと立ち下がりエッジとのうち、各周期ごとに選択されるものを有するパルス信号を含み、
前記ゲート信号発生工程は、各周期ごとに、前記立ち上がりエッジと前記立ち下がりエッジとのいずれかを前記符号信号に応じて選択し、その選択されたエッジの出現位置を前記比較結果信号のエッジ位置に応じて決定する請求項３に記載の方法。
【請求項５】
請求項３または４に記載の方法を実行するためにコンピュータによって実行されるプログラム。
【請求項６】
請求項５に記載のプログラムを記録したコンピュータ読み取り可能かつ非過渡的な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータを駆動するドライバに供給すべきゲート信号を発生させる技術に関する。
【背景技術】
【０００２】
一般に、電気エネルギーを運動エネルギーに変換するモータはドライバによって駆動され、そのドライバには、ゲート信号発生器からゲート信号が入力される。ドライバは、その入力されたゲート信号に基づき、モータの各相ごとに設けられた少なくとも１個のゲートをオン／オフ制御する。その結果、ドライバを経由して電源からモータに供給される電気エネルギーが変調される。
【０００３】
そのゲート信号発生器には、コントローラから指令信号が入力される。そのゲート信号発生器は、その入力された指令信号に基づいてゲート信号を発生させ、そのゲート信号をドライバに出力する。前記コントローラは、従来、目標電流値や目標制御値に基づき、モータへの入力電圧の高さの時間的推移を表す指令信号を生成するように構成される。
【０００４】
この種のゲート信号発生器の一例が特許文献１に開示されている。このゲート信号発生器は、パルス幅変調（ＰＷＭ）方式を採用しており、具体的には、モータへの入力電圧を表す入力電圧信号であって時間と共に振幅が変化するものが入力されると、その入力電圧信号を、振幅は一定であるがパルス幅は時間と共に変化するパルス信号に変換する。そのパルス信号は、前記ゲートをオン状態とオフ状態とに切り替えるための前記ゲート信号である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３８０３４３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、この従来のゲート信号発生器では、モータへの入力電圧の高さの時間的推移を表す指令信号が入力されない限り、ゲート信号を発生させることができない。
【０００７】
一方、本発明者らは、このような従来の指令信号とは異なる種類の指令信号からゲート信号を発生させたいという要望もあることに気が付いた。
【０００８】
以上説明した事情を背景として、本発明は、従来の指令信号とは異なる種類の指令信号からゲート信号を発生させることが可能な技術を提案することを課題としてなされたものである。
【課題を解決するための手段】
【０００９】
本発明の第１側面によれば、ゲートのオン／オフ制御によってモータを駆動するドライバに供給すべきゲート信号を発生させるゲート信号発生器であって、
前記ゲートをオフ状態とオン状態との間において切り替える向きを、前記ゲートをオフ状態からオン状態に切り替える場合と前記ゲートをオン状態からオフ状態に切り替える場合とで互いに区別されるように表す符号と、その切替えを行うタイミングを表す絶対値とを有する時間指令値を入力する信号入力部と、
サイクルごとに時間と共にレベルが一方向に変化する鋸波信号を発生させる鋸波信号発生部と、
前記入力された時間指令値の絶対値を表す絶対値信号を発生させる絶対値信号発生部と、
前記鋸波信号と前記絶対値信号とを互いに比較し、その比較結果を表す比較結果信号を発生させるコンパレータと、
前記時間指令値の符号を検出し、その検出された符号を表す符号信号を発生させる符号検出部と、
前記比較結果信号と前記符号信号とに基づき、前記ゲート信号を発生させるゲート信号発生部と
を含むゲート信号発生器が提供される。
また、本発明の第２側面によれば、ゲートのオン／オフ制御によってモータを駆動するドライバに供給すべきゲート信号を発生させる方法であって、
前記ゲートをオフ状態とオン状態との間において切り替える向きを、前記ゲートをオフ状態からオン状態に切り替える場合と前記ゲートをオン状態からオフ状態に切り替える場合とで互いに区別されるように表す符号と、その切替えを行うタイミングを表す絶対値とを有する時間指令値を入力する信号入力工程と、
サイクルごとに時間と共にレベルが一方向に変化する鋸波信号を発生させる鋸波信号発生工程と、
前記入力された時間指令値の絶対値を表す絶対値信号を発生させる絶対値信号発生工程と、
前記鋸波信号と前記絶対値信号とを互いに比較し、その比較結果を表す比較結果信号を発生させる比較工程と、
前記時間指令値の符号を検出し、その検出された符号を表す符号信号を発生させる符号検出工程と、
前記比較結果信号と前記符号信号とに基づき、前記ゲート信号を発生させるゲート信号発生工程と
を含む方法が提供される。
本発明によって下記の各態様が得られる。各態様は、項に区分し、各項には番号を付し、必要に応じて他の項の番号を引用する形式で記載する。これは、本発明が採用し得る技術的特徴の一部およびそれの組合せの理解を容易にするためであり、本発明が採用し得る技術的特徴およびそれの組合せが以下の態様に限定されると解釈すべきではない。すなわち、下記の態様には記載されていないが本明細書には記載されている技術的特徴を本発明の技術的特徴として適宜抽出して採用することは妨げられないと解釈すべきなのである。
【００１０】
さらに、各項を他の項の番号を引用する形式で記載することが必ずしも、各項に記載の技術的特徴を他の項に記載の技術的特徴から分離させて独立させることを妨げることを意味するわけではなく、各項に記載の技術的特徴をその性質に応じて適宜独立させることが可能であると解釈すべきである。
【００１１】
（１）  ゲートのオン／オフ制御によってモータを駆動するドライバに供給すべきゲート信号を発生させるゲート信号発生器であって、
前記ゲートをオフ状態とオン状態との間において切り替える向きを表す符号と、その切替えを行うタイミングを表す絶対値とのうち少なくとも絶対値を有する時間指令値を入力する信号入力部と、
時間と共にレベルが一方向に変化する鋸波信号を発生させる鋸波信号発生部と、
前記入力された時間指令値の絶対値を表す絶対値信号を発生させる絶対値信号発生部と、
前記鋸波信号と前記絶対値信号とを互いに比較し、その比較結果を表す比較結果信号を発生させるコンパレータと、
前記比較結果信号に基づき、前記ゲート信号を発生させるゲート信号発生部と
を含むゲート信号発生器。
【００１２】
（２）  前記ゲート信号は、エッジを有するパルス信号を含み、
前記ゲート信号発生部は、前記エッジの出現位置を前記比較結果信号のエッジ位置に応じて決定する（１）項に記載のゲート信号発生器。
【００１３】
（３）  前記時間指令値は、前記絶対値に加えて前記符号をも有し、
当該ゲート信号発生器は、さらに、前記時間指令値の符号を表す符号信号を発生させる符号信号発生部を含み、
前記ゲート信号発生部は、前記比較結果信号と前記符号信号とに基づき、前記ゲート信号を発生させる（１）または（２）項に記載のゲート信号発生器。
【００１４】
（４）  前記ゲート信号は、立ち上がりエッジと立ち下がりエッジとのうち、各周期ごとに選択されるものを有するパルス信号を含み、
前記ゲート信号発生部は、各周期ごとに、前記立ち上がりエッジと前記立ち下がりエッジとのいずれかを前記符号信号に応じて選択し、その選択されたエッジの出現位置を前記比較結果信号のエッジ位置に応じて決定する（３）項に記載のゲート信号発生器。
【００１５】
（５）  複数の相を有するモータを駆動するドライバであって前記モータの各相ごとに少なくとも１個のゲートを有するものに各相ごとに供給されるべきゲート信号を周期的に発生させるゲート信号発生器であって、
当該ゲート信号発生器には、コントローラから各相ごとに時間指令値が周期的に入力され、
その時間指令値の符号は、前記ゲートの状態を切り換える向きがオフ状態からオン状態への向きであるのかオン状態からオフ状態への向きであるかを表し、
その時間指令値の絶対値は、前記ゲートをオン状態とオフ状態との間で切り換えるタイミングを表し、
当該ゲート信号発生器は、
各回の動作サイクルごとに、時間と共にレベルが一方向に変化する鋸波信号を発生させる鋸波信号発生部と、
各回の動作サイクルごとに、前記時間指令値が入力されると、その時間指令値の絶対値を表すレベルを有する絶対値信号を、各回の動作サイクルの途中で前記レベルが変化しない全区間パルス信号として発生させる絶対値検出部と、
各回の動作サイクル中、各回の動作タイミングごとに、前記鋸波信号と前記絶対値信号とを互いに比較し、その比較結果を表すレベルを有する比較結果信号を、各回の動作サイクルの途中で前記レベルが変化することが可能であるパルス信号として発生させるコンパレータと、
各回の動作サイクルごとに、前記時間指令値が入力されると、その時間指令値の符号を表す符号信号を前記全区間パルス信号として発生させる符号検出部と、
各回の動作サイクル中、各回の動作タイミングごとに、前記比較結果信号と前記符号信号とに基づき、前記ゲート信号を発生させて前記ドライバに出力するゲート信号発生部と
を含むゲート信号発生器。
【００１６】
（６）  前記ゲート信号発生部は、各回の動作サイクル中、各回の動作タイミングごとに、前記比較結果信号と前記符号信号とに基づき、前記ゲート信号を、前記ゲートをオフ状態からオン状態に変化させるターンオン信号、オン状態からオフ状態に変化させるターンオフ信号、またはオフ状態もしくはオン状態に維持するホールド信号のうちのいずれかとして発生させ、前記ターンオン信号または前記ターンオフ信号は、前記ゲートをターンオンするかまたはターンオフするタイミングをエッジで表すパルス信号として発生させる（５）項に記載のゲート信号発生器。
【００１７】
（７）  当該ゲート信号発生器の１周期分の動作サイクルは、前記モータの１周期分の制御サイクルに対応するとともに、前記コントローラの１周期分の計算サイクルに対応しており、
前記コントローラは、前記モータの各回の制御サイクルに先立つ１周期分の計算サイクルにおいて、前記モータの次回の制御サイクルにおいて前記ゲートを介して前記モータに電圧が複数の候補電圧パターンのうちのいずれかで印加されることを想定した場合に、それら候補電圧パターンのうち最適なものを最適電圧パターンとして探索し、その探索された最適電圧パターンを反映するように前記時間指令値を決定する（５）または（６）項に記載のゲート信号発生器。
【００１８】
（８）  ゲートのオン／オフ制御によってモータを駆動するドライバに供給すべきゲート信号を発生させる方法であって、
前記ゲートをオフ状態とオン状態との間において切り替える向きを表す符号と、その切替えを行うタイミングを表す絶対値とのうち少なくとも絶対値を有する時間指令値を入力する信号入力工程と、
時間と共にレベルが一方向に変化する鋸波信号を発生させる鋸波信号発生工程と、
前記入力された時間指令値の絶対値を表す絶対値信号を発生させる絶対値信号発生工程と、
前記鋸波信号と前記絶対値信号とを互いに比較し、その比較結果を表す比較結果信号を発生させる比較工程と、
前記比較結果信号に基づき、前記ゲート信号を発生させるゲート信号発生工程と
を含む方法。
【００１９】
（９）  前記ゲート信号は、エッジを有するパルス信号を含み、
前記ゲート信号発生工程は、前記エッジの出現位置を前記比較結果信号のエッジ位置に応じて決定する（８）項に記載の方法。
【００２０】
（１０）  （８）または（９）項に記載の方法を実行するためにコンピュータによって実行されるプログラム。
【００２１】
（１１）  （１０）項に記載のプログラムを記録したコンピュータ読み取り可能かつ非過渡的な記録媒体。
【００２２】
この記録媒体は種々な形式を採用可能であり、例えば、フレキシブル・ディスク等の磁気記録媒体、ＣＤ、ＣＤ−ＲＯＭ等の光記録媒体、ＭＯ等の光磁気記録媒体、ＲＯＭ等のアンリムーバブル・ストレージ等のいずれかを採用し得るが、それらに限定されない。
【００２３】
（１２）  ゲートのオン／オフ制御によってモータを駆動するドライバに供給すべきゲート信号を発生させるゲート信号発生器を制御するコントローラであって、
前記モータの各回の制御サイクルに先立つ１周期分の計算サイクルにおいて、前記モータの次回の制御サイクルにおいて前記ゲートを介して前記モータに電圧が複数の候補電圧パターンのうちのいずれかで印加されることを想定した場合に、それら候補電圧パターンのうち最適なものを最適電圧パターンとして探索する探索部と、
その探索された最適電圧パターンを反映するように時間指令値を決定して前記ゲート信号発生器に出力する決定部であって、前記時間指令値は、前記ゲートをオフ状態とオン状態との間において切り替える向きを表す符号と、その切替えを行うタイミングを表す絶対値とのうち少なくとも絶対値を有するものと
を含むコントローラ。
【００２４】
（１３）  当該コントローラの１周期分の計算サイクルは、前記ゲート信号発生器の１周期分の動作サイクルに対応するとともに、前記モータの１周期分の制御サイクルに対応する（１２）項に記載のコントローラ。
【００２５】
（１４）  前記探索部は、
前記モータに電圧を前記複数の候補電圧パターンで入力した場合にそのモータから出力される電流を推定するモータ電流推定部と、
前記複数の候補電圧パターンのうち、前記モータから出力される電流の推定値の、目標電流からの誤差が最小であるものを前記最適電圧パターンとして選択する電圧パターン選択部と
を含む（１２）または（１３）項に記載のコントローラ。
【００２６】
（１５）  前記モータは、実モータであり、
前記モータ電流推定部は、
前記実モータを模擬する仮想モータであって、前記実モータの入力電圧−出力電流間関係に従い、電圧値が入力されると、前記関係に従い、その入力された電圧値に対応する電流値を出力するものと、
その仮想モータを用いることにより、前記実モータに電圧を前記複数の候補電圧パターンで入力した場合にその実モータから出力される電流を推定する仮想モータ制御部と
を含む（１４）項に記載のコントローラ。
【００２７】
（１６）  当該コントローラは、さらに、
前記仮想モータの仮想モータ位置を前記実モータの実モータ位置と実質的に同期するように、前記仮想モータを作動させる同期制御部を含む（１５）項に記載のコントローラ。
【００２８】
（１７）  ゲートのオン／オフ制御によってモータを駆動するドライバに供給すべきゲート信号を発生させるゲート信号発生器を制御する方法であって、
前記モータの各回の制御サイクルに先立つ１周期分の計算サイクルにおいて、前記モータの次回の制御サイクルにおいて前記ゲートを介して前記モータに電圧が複数の候補電圧パターンのうちのいずれかで印加されることを想定した場合に、それら候補電圧パターンのうち最適なものを最適電圧パターンとして探索する探索工程と、
その探索された最適電圧パターンを反映するように時間指令値を決定して前記ゲート信号発生器に出力する決定工程であって、前記時間指令値は、前記ゲートをオフ状態とオン状態との間において切り替える向きを表す符号と、その切替えを行うタイミングを表す絶対値とのうち少なくとも絶対値を有するものと
を含む方法。
【００２９】
（１８）  （１７）項に記載の方法を実行するためにコンピュータによって実行されるプログラム。
【００３０】
（１９）  （１８）項に記載のプログラムを記録したコンピュータ読み取り可能かつ非過渡的な記録媒体。
【図面の簡単な説明】
【００３１】
【図１】図１は、本発明の例示的な一実施形態に従うモータ制御装置を有するシステム全体を表す機能ブロック図である。
【図２】図２は、図１に示す実インバータの一例を図１に示す実モータと共に概略的に示す回路図である。
【図３】図３は、図１に示す時間指令値決定部の一例を表す機能ブロック図である。
【図４】図４は、図３に示す時間指令値決定部が採用する各相ごとの複数の電圧パターンを示す図である。
【図５】図５は、図４に示す複数の電圧パターンについての複数の組合せを示す図である。
【図６】図６は、図１に示すシステムの作動シーケンスの一例を説明するためのタイムチャートである。
【図７】図７は、図３に示す仮想モータ計算部の一例を表す機能ブロック図である。
【図８】図８は、図７に示す仮想モータが用いるモータモデルの一例を概略的にかつ数学的に記述する図である。
【図９】図９は、図３に示す誤差演算器から出力される複数の総合電流誤差Ｊの一例を表すグラフである。
【図１０】図１０は、図１に示す時間指令値決定部の作動の一例を概念的に表すフローチャートである。
【図１１】図１１は、図１に示す時間指令値決定部の作動の一例を概念的に表すフローチャートの続きの部分である。
【図１２】図１２は、図１に示すゲート信号発生部の一例を概念的に表す機能ブロック図である。
【図１３】図１３は、図１２に示すゲート信号発生部の作動の一例を説明するためのタイムチャートである。
【図１４】図１４は、図１２に示すゲート信号発生部の作動の一例を概念的に表すフローチャートである。
【図１５】図１５は、図１４に示すステップＳ１０１を概念的に表すフローチャートである。
【図１６】図１６は、図１４に示すステップＳ１０２を概念的に表すフローチャートである。
【図１７】図１７は、図１４に示すステップＳ１０２を概念的に表すフローチャートの続きである。
【図１８】図１８は、図１４に示すステップＳ１０２を概念的に表すフローチャートの別の続きである。
【発明を実施するための形態】
【００３２】
以下、本発明のさらに具体的で例示的な複数の実施の形態のうちのいくつかを図面に基づいて詳細に説明する。
【００３３】
図１には、本発明の例示的な一実施形態に従うモータ制御装置１０を有するシステム１１を概略的に表す機能ブロック図である。このシステム１１は、そのシステム１１の駆動源として実モータ１２を備えている。このシステム１１のいくつかの具体例としては、前述のように、移動体を絶対空間に対して移動させるための推進装置や、可動部材に運動を付与する運動付与装置などがある。
【００３４】
実モータ１２は、一般に、複数極のロータ（図示しない）と、複数極のステータ（図示しない）と、磁束形成部（図示しないが、具体的には、例えば、巻き線）とを有するように構成される。図２に示すように、実モータ１２は、前記ロータと共に回転するシャフト１３を有しており、そのシャフト１３が可動部材（図示しないが、具体的には、例えば、車両の車輪、工作機械の工具、ロボットのアームなど）に機械的に連結され、それにより、可動部材が駆動される。その可動部材は、実モータ１２にとり、いわゆる実負荷となる。
【００３５】
実モータ１２のいくつかの具体例としては、界磁に永久磁石を使用して回転する永久磁石同期モータ（ＰＭＳＭ）、永久磁石を使用せず、渦電流を利用して回転する誘導モータ（ＩＭ）、スイッチ・リラクタンス・モータ（ＳＲＭ）などがある。そのリラクタンス・モータにおいては、ロータが、永久磁石を使用することなく、強磁性の鉄心で構成されるため、リラクタンス・モータは、永久磁石を使用しない無整流子モータの一種である。
【００３６】
実モータ１２が３相（Ｕ相、Ｖ相およびＷ相）の巻線を有する場合、実モータ１２の各種物理量を記述するために、次のような記号が使用される。
【００３７】
Ｖｕ，Ｖｖ，Ｖｗ：端子電圧（「巻線電圧」または「相電圧」ともいう。）[Ｖ]
Ｉｕ，Ｉｖ，Ｉｗ：相電流（「巻線電流」ともいう。）[Ａ]
θｍ：ロータ（またはシャフト）の角度（位相または回転位置であり、「モータ角」または「モータ位置」ともいう）[ｒａｄ]
ωｍ：ロータ（またはシャフト１３）の角速度（「モータ速度」ともいう）[ｒａｄ／ｓｅｃ]
Ｔ：モータ出力トルク[Ｎｍ]
Ｅｕ，Ｅｖ，Ｅｗ：誘起電圧[Ｖ]
Ｆｕ，Ｆｖ，Ｆｗ：相磁束[Ｗｂ]
【００３８】
なお、本実施形態および後述のいくつかの実施形態の説明において、同じ記号が、単独で使用される箇所と、「＊」を末尾に有するように使用される箇所とが存在する。それら実施形態においては、同じ記号が、単独で使用される場合には、実際値または検出値を意味する一方、「＊」と組み合わせて使用される場合には、指令値または目標値を意味するという用法と、同じ記号が、単独で使用される場合には、実モータ１２についての物理量であることを意味する一方、「＊」と組み合わせて使用される場合には、後述の仮想モータ６０（図３参照）についての物理量であることを意味するという用法とがあるが、特記しない限り、前者の用法を採用することに留意されたい。
【００３９】
図１に示すように、システム１１は、実モータ１２を駆動するために、モータ制御装置１０と、実インバータ（「ドライバ」の一例）１４と、実モータ状態検出部１５と、電源１６（例えば、直流電源）とをさらに備えている。
【００４０】
実モータ状態検出部１５は、実モータ１２の作動状態として実モータ１２の実モータ位置（回転角）θｍを検出する角度センサを有する。この角度センサは、例えば、ロータリ・エンコーダ（図示しない）を含むように構成される。
【００４１】
実モータ状態検出部１５は、さらに、実モータ１２のＵ相、Ｖ相およびＷ相の電流を３相実電流ｉｕ，ｉｖ，ｉｗとして検出する電流センサを有する。この電流センサは、例えば、ＣＴ(Current Transformer)を含むように構成される。
【００４２】
実インバータ１４は、電源（例えば、直流電源）１６から供給される電気エネルギーを変調して実モータ１２に供給するように構成される。実モータ１２に供給される電気エネルギーは、実モータ１２が３相（Ｕ相、Ｖ相およびＷ相）の巻線を有する場合、端子電圧Ｖｕ，Ｖｖ，Ｖｗを形成する。
【００４３】
図２には、実インバータ１４が概念的に回路図で表されている。実インバータ１４は、既によく知られているように、直流電圧Ｖｄｃが印加される複数の入力端子２０と、端子電圧Ｖｕ，Ｖｖ，Ｖｗを実モータ１２に出力するための複数の出力端子２２と、それら入力端子２０と出力端子２２との間に接続された複数のゲート２４と、端子電圧Ｖｕ，Ｖｖ，Ｖｗを検出する抵抗２６と、その抵抗２６に作用する電圧によって端子電圧Ｖｕ，Ｖｖ，Ｖｗを表すアナログ信号をデジタル信号に変換するＡＤＣ（交直変換器）２８とを有するように構成される。
【００４４】
複数のゲート２４は、複数のスイッチング素子（すなわち、複数の上アーム・スイッチング素子および複数の下アーム・スイッチング素子）として構成されており、それらゲート２４は、外部からの複数のパルス信号であるゲート信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｗに応じてスイッチング動作を行う。
【００４５】
それらゲート２４は、実モータ１２のＵ相コイルに対応する２つのゲート２４であって、ゲート信号ＧｕおよびＧｘがそれぞれ入力されるものと、実モータ１２のＶ相コイルに対応する２つのゲート２４であって、ゲート信号ＧｖおよびＧｙがそれぞれ入力されるものと、実モータ１２のＷ相コイルに対応する２つのゲート２４であって、ゲート信号ＧｗおよびＧｚがそれぞれ入力されるものとを有する。
【００４６】
Ｕ相用のゲート２４がオン状態にあれば、Ｕ相コイルが励磁され、同様に、Ｖ相用のゲート２４がオン状態にあれば、Ｖ相コイルが励磁され、また、同様に、Ｗ相用のゲート２４がオン状態にあれば、Ｗ相コイルが励磁される。
【００４７】
このように構成された実インバータ１４は、後述のゲート信号発生部３４から複数のゲート信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｗが制御信号として入力されると、その制御信号に基づいて端子電圧Ｖｕ，Ｖｖ，ＶｗをＰＷＭ（パルス幅変調）方式によって生成し、それら生成された端子電圧Ｖｕ，Ｖｖ，Ｖｗを実モータ１２に供給する。
【００４８】
図１に示すように、モータ制御装置１０は、目標電流決定部３０と、時間指令値決定部３２と、ＰＷＭ方式のゲート信号発生部３４とを備えており、そのゲート信号発生部３４において、実インバータ１４を介して実モータ１２に電気的に接続されている。
【００４９】
時間指令値決定部３２は、ゲート信号発生部３４および実モータ１２に対し、「コントローラ」の一例として位置づけられる。この時間指令値決定部３２については、システム構成が図３に機能ブロック図で概念的に表されており、また、作動シーケンスが、図６にはタイムチャートで、図１１および図１２にはフローチャートでそれぞれ概念的に表されている。
【００５０】
図１に示すように、目標電流決定部３０は、実モータ１２によって実現されるべき制御目標値を表す目標信号が入力されると、その目標信号によって表される制御目標値を目標電流値に変換するように構成されている。
【００５１】
前記制御目標値は、例えば、実モータ１２からの出力に関連する物理量の目標値である。その目標値は、例えば、実モータ１２の前記ロータの位置に関する物理量（例えば、位置、速度、加速度など）の目標値としたり、実モータ１２の前記ロータに作用する力に関する物理量（例えば、トルク、軸力、歪み、応力など）の目標値とすることが可能である。
【００５２】
これに対し、その制御目標値から変換される目標電流値は、実モータ１２に発生する電流の値である。その値は、例えば、３相指令電流値Ｉｕ＊，Ｉｖ＊，Ｉｗ＊としたり、ｄｑ軸指令電流値Ｉｄ＊，Ｉｑ＊とすることが可能である。ただし、本実施形態においては、その目標電流値が、ｄｑ軸指令電流値ｉｄ＊，ｉｑ＊（すなわち、ｄ軸指令電流値ｉｄ＊およびｑ軸指令電流値ｉｑ＊）とされている。
【００５３】
図１に示すように、時間指令値決定部３２は、目標電流決定部３０から入力されたｄｑ軸指令電流値ｉｄ＊，ｉｑ＊を、実モータ１２の各相コイルごとの時間指令値ｔｕ，ｔｖ，ｔｗに変換するように構成されている。
【００５４】
各時間指令値ｔｕ，ｔｖ，ｔｗは、対応するゲート２４をオフ状態とオン状態との間において切り替える向きとタイミングとを表す指令値であり、パルス信号としてゲート信号発生部３４に供給される。それにより、ゲート信号発生部３４は、１周期ごとに、時間指令値ｔｕ，ｔｖ，ｔｗをそれぞれ表す３つのパルス信号から、実インバータ１４に供給すべきゲート信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｚを発生させる。すなわち、時間指令値ｔｕ，ｔｖ，ｔｗは、ゲート信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｚを生成するために参照される時間的な物理量なのである。
【００５５】
各時間指令値ｔｕ，ｔｖ，ｔｗを表すパルス信号は、図１３において「時間指令値」というラベルを付して示すように、対応するゲート２４をオフ状態とオン状態との間において切り替える向きを表す符号と、その切替えを行うタイミングを表す絶対値とを有する。
【００５６】
このパルス信号は、１周期の間、レベルが０に維持されない場合には、正の符号を有する場合もあれば、負の符号を有する場合もあるが、これとは異なり、ゲート信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｚは、図１３に「ゲート信号」というラベルを付して示すように、１周期の間、レベルが０に維持されない場合には、正の符号と負の符号とのうち予め選択されたもの（本実施形態においては、正の符号）のみを有する。
【００５７】
これに対し、各ゲート信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｚは、図１３において「ゲート信号」というラベルを付して示すように、立ち上がりエッジと立下がりエッジとのうち選択されたものを有するパルス信号である。各ゲート信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｚは、立ち上がりエッジで、対応するゲート２４がオフ状態からオン状態に切り替えられるタイミングを示す一方、立下がりエッジで、対応するゲート２４がオン状態からオフ状態に切り替えられるタイミングを示す。
【００５８】
図３に示すように、時間指令値決定部３２は、電圧パターン発生部４０と、仮想モータ計算部４２と、座標変換器４４と、Δθ推定器４６と、誤差演算器４８と、電圧パターン選択部５０とを備えている。目標電流決定部３０から出力されたｄｑ軸指令電流値ｉｄ＊，ｉｑ＊は、電圧パターン発生部４０に入力される。電圧パターン選択部５０は、時間指令値ｔｕ，ｔｖ，ｔｗを表す複数のパルス信号を生成して、図１に示すゲート信号発生部３４に出力する。ゲート信号発生部３４は、時間指令値ｔｕ，ｔｖ，ｔｗをそれぞれの入力ポート５２（「信号入力部」の一例）において入力する。
【００５９】
まず、時間指令値決定部３２の作動を概略的に説明するに、この時間指令値決定部３２は、図４に例示するように、連続した所定複数回の単位計算サイクルの間に各相のコイルに印加される複数の電圧値のシーケンスである電圧パターン（または電圧シーケンス）についての複数の候補（すなわち、「複数の候補電圧パターン」）のうち、他の相のコイルに印加される電圧パターンも考慮したうえで、ｄｑ軸指令電流値ｉｄ＊，ｉｑ＊を実現するのに最適なものを最適電圧パターンとして探索するように構成されている。
【００６０】
本実施形態においては、各電圧パターンに従う複数の電圧値のうちの最高値（すなわち、実モータ１２のコイルをオン状態にする際にそのコイルに電源１６からゲート２４を介して印加される電圧）が一定値として設定されているが、可変値として設定することが可能である。
【００６１】
この時間指令値決定部３２は、最適な３相電圧パターン（Ｕ相用の電圧パターンと、Ｖ相用の電圧パターンと、Ｗ相用の電圧パターンとの組合せであり、以下、「組合せ電圧パターン」といい、これに対し、各相ごとの電圧パターンを、「相別電圧パターン」という。）を決める最適化問題を総当たり方式で探索するように構成されている。
【００６２】
ただし、これに代えて、この時間指令値決定部３２を、図４に示す複数の電圧パターンの一部のみを複数の候補として選択し、それら選択された候補電圧パターンを対象に総当たり探索を行うように構成することが可能である。
【００６３】
具体的には、この時間指令値決定部３２は、図６にタイムチャートで例示するように、実モータ１２の各回の制御サイクルに先立ち、推定工程を実行する。その推定工程においては、図３に示す電圧パターン発生部４０と仮想モータ計算部４２（後に図７および図８を参照して詳述する仮想モータ６０を主体とする）とにより、前記複数の候補電圧パターンのすべてにつき、各候補電圧パターンで順次実モータ１２を励磁したときのその実モータ１２の作動状態が推定される。その実モータ１２の作動状態は、仮想モータ６０の３相仮想電流値Ｉｕ，Ｉｖ，Ｉｗとして推定される。
【００６４】
さらに、この時間指令値決定部３２は、図６に例示するように、前記推定工程に引き続いて評価工程を実行する。その評価工程においては、まず、図３に示す座標変換器４４により、各電圧パターンごとに、３相仮想電流値Ｉｕ，Ｉｖ，Ｉｗであって仮想モータ６０を用いて取得されたものがＵＶＷ座標系からｄｑ軸座標系に座標変換され、それにより、ｄｑ軸仮想電流値Ｉｄ，ｉｑが取得される。
【００６５】
この評価工程においは、さらに、誤差演算器４８により、前記ｄｑ軸指令電流値ｉｄ＊，ｉｑ＊とｄｑ軸仮想電流値Ｉｄ，ｉｑとの差であって３相について合算されたものが総合電流誤差Ｊ（ｍ）として計算され、それにより、各候補電圧パターンの妥当性が評価される。
【００６６】
さらに、この時間指令値決定部３２は、図６に例示するように、前記評価工程に引き続いて選択工程を実行する。その選択工程においては、電圧パターン選択部５０により、前記複数の候補電圧パターン（図５参照）のうち、計算された総合電流誤差Ｊ（ｍ）（１＜＝ｍ＜＝２１６）が最小であるものが最適電圧パターンとして選択される。
【００６７】
この選択行程においては、さらに、図３に示す電圧パターン選択部５０により、その選択された最適電圧パターンを記述する時間指令値ｔｕ，ｔｖ，ｔｗが決定され、それら時間指令値ｔｕ，ｔｖ，ｔｗはゲート信号発生部３４に出力される。
【００６８】
各相ごとの複数の候補電圧パターン（すなわち、「相別電圧パターン」）の一例が図４にタイムチャートで表されている。本実施形態においては、各相別電圧パターンが、仮想モータ６０についての連続３周期分の単位計算サイクルに３つの単位電圧パターンをそれぞれ割り当てた場合の、それら単位電圧パターンの直列配列として定義される。各単位電圧パターンは、コイルが２つの状態、すなわち、オフ状態とオン状態とのうちのいずれかにあることを表す２値表現である。
【００６９】
それら相別電圧パターンは、３周期分、コイルがオフ状態に維持される１つのパターンと、３周期分、コイルがオン状態に維持される１つのパターンと、ある時点でコイルがオフ状態からオン状態に変化する２つのパターンと、ある時点でコイルがオン状態からオフ状態に変化する２つのパターンとを有しており、全部で、６つの相別電圧パターンとして構成されている。図４に示すように、それら６つの相別電圧パターンにはそれぞれ、識別のため、番号ｋ（１＜＝ｋ＜＝６）が付与されている。Ｕ相、Ｖ相およびＷ相につき、それぞれ６つの相別電圧パターンが存在する。
【００７０】
なお付言するに、他の複数の相別電圧パターンも存在する。例えば、３周期分の単位計算サイクルのうち最初のものにおいては、コイルがオフ状態にあり、２番目の単位計算サイクルにおいては、そのコイルがオン状態にあり、３番目の単位計算サイクルにおいては、そのコイルがオフ状態にあるという相別電圧パターンである。しかし、この種の相別電圧パターンは、３周期分の単位計算サイクルにおいて、コイルがオフ状態からオン状態に遷移するターンオン・タイミングと、オン状態からオフ状態に遷移するターンオフ・タイミングとが共存する。
【００７１】
一方、本実施形態においては、３周期分の単位計算サイクルにおいて、ターンオン・タイミングとターンオフ・タイミングとがいずれも存在しないか、いずれかのみが存在することが前提となっている。
【００７２】
さらに付言するに、本実施形態においては、コイルのオン状態が、そのコイルに電圧が一方向にのみ印加されることによって実現されるシナリオのみが想定され、電圧が正逆方向に選択的に印加されることによって実現されるシナリオは想定されていない。
【００７３】
ただし、後者のシナリオが想定される状態で本発明を実施することが可能であり、その場合には、図４に示す６つの相別電圧パターンに加えて、４つの相別電圧パターン（図４に示す第２、第３、第５および第６相別電圧パターンに対応するもの）が使用されることになる。
【００７４】
すなわち、本実施形態においては、単位電圧パターンが、２つの状態、すなわち、オフ状態とオン状態とのうちのいずれかにあることを表す２値表現として定義されているが、これに代えて、３つの状態、すなわち、オフ状態と、コイルに正方向に電圧が印加される第１のオン状態と、コイルに逆方向に電圧が印加される第２のオン状態とのうちのいずれであるかを表す３値表現として定義することが可能なのである。
【００７５】
図５に示すように、実モータ１２の３相全体としての電圧パターン（「組合せ電圧パターン」）は、上述の６つの相別電圧パターンのうちＵ相について選択されたものと、上述の６つの相別電圧パターンのうちＶ相について選択されたものと、上述の６つの相別電圧パターンのうちＷ相について選択されたものとの組合せであり、全部で、２１６（＝６×６×６）通りの組合せ電圧パターンが存在する。図５に示すように、２１６通りの組合せ電圧パターンにはそれぞれ、識別のため、番号ｍ（１＜＝ｍ＜＝２１６）が付与されている。
【００７６】
図４に示すように、各相別電圧パターンは、前記時間指令値ｔｕ，ｔｖ，ｔｗによって記述される。それら時間指令値ｔｕ，ｔｖ，ｔｗの定義を、Ｕ相コイルの時間指令値ｔｕを例にとり具体的に説明するに、時間指令値ｔｕは、符号と絶対値との組合せとして表現される。
【００７７】
時間指令値ｔｕの符号が正である場合には、その時間指令値ｔｕが、実モータ１２の各回の制御サイクルにおいてＵ相コイルがオフ状態からオン状態に切り替わるタイミングを表す一方、時間指令値ｔｕの符号が負である場合には、その時間指令値ｔｕが、実モータ１２の各回の制御サイクルにおいてオン状態からオフ状態に切り替わるタイミングを表す。さらに、時間指令値ｔｕの絶対値は、それの符号が正である場合には、各回の制御サイクルの開始時点から、Ｕ相コイルがオフ状態からオン状態に切り替わるタイミングまでの経過時間の長さを表す一方、時間指令値ｔｕの符号が負である場合には、各回の制御サイクルの開始時点から、Ｕ相コイルがオン状態からオフ状態に切り替わるタイミングまでの経過時間の長さを表す。
【００７８】
図４に示すように、各相別電圧パターンに時間比率γ（０＜＝γ＜＝１）が割り当てられている。この時間比率γは、最終的に、実モータ１２の制御周期ＴＳの長さに乗算される。
【００７９】
具体的には、図６に示すように、第ｎ回の制御サイクルにおいて、ある相別電圧パターンが選択されると、それに対応する時間比率γが、制御周期ＴＳの長さに乗算され、それにより、第（ｎ＋１）回の制御サイクルにおいて、対応する時間比率γの符号が正であれば、実モータ１２のある相のコイルがオフ状態からオン状態に切り替わるタイミングが特定される一方、対応する時間比率γの符号が負であれば、実モータ１２のある相のコイルがオン状態からオフ状態に切り替わるタイミングが特定される。
【００８０】
本実施形態においては、図４に示すように、前記単位電圧パターンが３周期分の計算周期についてそれぞれ割り当てられ、その結果、実モータ１２の制御サイクルの途中に設定可能なコイル状態遷移点（すなわち、実モータ１２のコイルがオフ状態からオン状態に、またはオン状態からオフ状態に遷移する点）の数が２つとなる。
【００８１】
このように、単位電圧パターンが設定される計算周期の数と、潜在的コイル状態遷移点の数、ひいては、複数の潜在的コイル状態遷移点によって前記制御サイクルを等分割した場合の分割幅（時間分解能）とが互いに連動する。よって、単位電圧パターンが設定される計算周期の数が多いほど、コイル状態遷移点の時間分解能が増加する。
【００８２】
図１に示すように、モータ制御装置１０は、実モータ１２を制御するために、プロセッサ５４を備えている。プロセッサ５４は、ＦＰＧＡ(field-programmable gate array)やＡＳＩＣ(application specific integrated circuit)などの演算回路（例えば、ＰＬＤ(Programmable logic device）、ワイヤード論理回路)５６と、コンピュータのＣＰＵ５８とを含むように構成されている。
【００８３】
演算回路５６により、例えば、１μｓｅｃという長さの第１の周期で、３２ビットの浮動小数点演算を行い、それにより、例えば、仮想モータ計算部４２を有する時間指令値決定部３２による計算と、ゲート信号発生部３４による計算とを行う。
【００８４】
また、ＣＰＵ５８により、例えば、数１０μｓｅｃという長さの第２の周期であって前記第１の周期より長いもので、システム１１の全体を制御するための処理を行う。そのような処理としては、例えば、初期化、終了処理、時間的に可変である制御目標値を表す目標信号を入力する処理（例えば、目標電流決定部３０）などがある。
【００８５】
ここで、図７および図８を参照することにより、仮想モータ計算部４２を説明する。仮想モータ計算部４２は、図７に示すように、仮想モータ６０を主体として構成され、その仮想モータ６０を用いることにより、実モータ１２の作動状態を計算する。
【００８６】
仮想モータ６０は、電圧パターン発生部４０から３相指令電圧値Ｖｕ，Ｖｖ，Ｖｗが制御信号として入力されると、実モータ１２を模擬する解析プログラムを演算回路５６（図１参照）に実行させることにより、前記入力された制御信号と同じ制御信号が実モータ１２に出力された場合にその制御信号に応答して実モータ１２によって実現される作動状態を推定するための計算を行う。すなわち、仮想モータ計算部４２は、演算回路５６により、高速演算可能であるように構成されているのである。
【００８７】
従来の技術では、仮想モータ６０は、実モータ１２や、その実モータ１２を制御する実コントローラについての試験が終了するまで、実モータ１２を代替するものとして試験機において使用される。そして、それら実モータ１２や実コントローラが完成する（仕様が確定する）と、今度は、実モータ１２が、仮想モータ６０を代替するものとして実機に搭載される。このように、従来の技術では、試験機においても実機においても、仮想モータ６０が実モータ１２と一緒に搭載されるとともに一緒に作動させられることはなかった。
【００８８】
これに対し、本実施形態においては、試験機であるか実機であるかを問わず、仮想モータ６０が実モータ１２と一緒に搭載されるとともに一緒に作動させられ、それにより、仮想モータ６０を用いて実モータ１２を制御したり、実モータ１２を用いて仮想モータ６０をティーチングすることが可能である。
【００８９】
ここで、一般的なモータの入出力特性を説明するに、図８に示すように、３相巻線のモータの入出力特性は、一般に、電圧方程式（電圧電流方程式）によって近似的に記述できることが既に知られている。この事実によれば、その電圧方程式を解くことにより、各相ごとの端子電圧を表すモータ電圧ベクトルｖ（＝［ｖｕ，ｖｖ，ｖｗ］）から、各相ごとの相電流を表すモータ電流ベクトルｉ（＝［ｉｕ，ｉｖ，ｉｗ］）を計算することができる。
【００９０】
図８に示す電圧方程式中の各種記号の定義を説明するに、「Ｒａ」は、モータの巻線抵抗を表し、また、「ψ」は、モータの鎖交磁束ベクトルψ（＝［ψｕ，ψｖ，ψｗ］）を表し、また、「ｔ」は、時間を表している。
【００９１】
図８に示すように、モータの鎖交磁束ベクトルψは、相電流による鎖交磁束と、電機子鎖交磁束との和に等しい。相電流による鎖交磁束は、「Ｌ（自己インダクタンス）」と「Ｍ（相互インダクタンス）」を各要素とするインダクタンス行列を用いて表現され、また、電機子鎖交磁束は、ベクトルφ（＝［φｕ，φｖ，φｗ］）として表現される。
【００９２】
インダクタンス行列は、各要素Ｌ，Ｍが、モータの電流と角度（位置、位相）との少なくとも一方に依存するテーブルとして表現され、また、電機子鎖交磁束ベクトルφも、各要素が、モータの電流と角度（位置、位相）との少なくとも一方に依存するテーブルとして表現される。それらテーブルにより、前記電圧方程式と協働して、モータの非線形特性を、モータの駆動周波数全域にわたって表現することができる。
【００９３】
したがって、図８に示す電圧方程式によって表現される非線形モータモデルを使用すれば、モータの入出力特性が非線形であっても、モータの駆動周波数全域を複数の帯域に分割して各帯域ごとに異なる線形モータモデルを使用することなく、モータの駆動周波数全域を実質的に漏れなくカバーする非線形モータ特性を単一のモデルで精度よく表現することが可能となる。
【００９４】
図８に示す電圧方程式は、実モータ１２についても成立し、よって、仮想モータ６０は、その電圧方程式を解くことにより、図７に示すように、仮想モータ６０の各相ごとの端子電圧を表す仮想モータ電圧ベクトルＶ＊（＝［Ｖｕ＊，Ｖｖ＊，Ｖｗ＊］であって、図４に示すモータ電圧ベクトルｖ（＝［ｖｕ，ｖｖ，ｖｗ］に相当する）から、仮想モータ６０の各相ごとの相電流を表す仮想モータ電流ベクトルＩ＊（＝［Ｉｕ＊，Ｉｖ＊，Ｉｗ＊］であって、図８に示すモータ電流ベクトルｉ（＝［ｉｕ，ｉｖ，ｉｗ］）に相当する）を計算する。
【００９５】
したがって、本実施形態によれば、仮想モータ６０が、図８に示す電圧方程式によって表現される非線形モータモデル（すなわち、実モータ１２の実際の入力電圧−出力電流間関係を精度よく反映する電圧−電流間関係に従い、電圧値から電流値を推定するもの）を使用して実モータ１２の作動を模擬するため、入出力特性が非線形である実モータ１２の駆動周波数全域にわたり、実モータ１２の作動を精度よく模擬することが可能となる。
【００９６】
仮想モータ６０が採用する前記モータモデルは、それの電気系を記述する前記電圧方程式に加えて、それの磁気系を記述するフレミング方程式と、それの機械系を記述する運動方程式（仮想ロータ軸周りのモーメントのつりあいを記述する）とを記述する。
【００９７】
フレミング方程式は、フレミングの法則に従い、仮想モータ電流ベクトルＩ＊と仮想電機子鎖交磁束ベクトルφ＊とから、仮想モータ６０に発生する仮想トルクＴｅ＊を計算する。運動方程式は、仮想発生トルクＴｅ＊と、仮想負荷トルクＴｍ＊と、仮想電機子イナーシャＪ＊と、仮想減衰係数Ｆ＊とから、仮想モータ速度ωｍ＊を計算し、さらに、それを時間積分することにより、仮想モータ位置θｍ＊を計算する。
【００９８】
実モータ１２は、前記ロータを含む可動部材が質量（イナーシャ）や抵抗を有するなどの理由により、応答遅れを有するが、仮想モータ６０は、応答遅れを実質的に有しない。その結果、それら実モータ１２と仮想モータ６０とに同時に同じ制御信号が入力される状況を想定すると、その制御信号に対して実モータ１２が応答するタイミングより早いタイミングで、仮想モータ６０が応答する。
【００９９】
したがって、ある制御目標値に基づき、ある時刻ｔに、制御信号を実モータ１２に供給することが必要である場合に、その供給に先立ち、その制御信号と同じ制御信号を仮想モータ６０のみに供給すれば、その時刻ｔが到来する前に、その制御信号に対して仮想モータ６０の応答が終了するように仮想モータ６０を作動させることが可能である。
【０１００】
このような仮想モータ６０の特性を踏まえて図６を参照するに、仮想モータ６０の第ｎ回の制御サイクル（計算サイクル）は、実モータ１２の第（ｎ＋１）回の制御サイクルに対応し、かつ、それに先立って（例えば、１周期分または複数周期分先行して）実行される。仮想モータ６０の制御サイクルの周期である制御周期は、ＴＰで表し、一方、実モータ１２の制御サイクルの周期である制御周期は、ＴＳで表す。制御周期ＴＰと制御周期ＴＳとは互いに一致する。
【０１０１】
仮想モータ６０は、同じ制御信号を仮想モータ６０と実モータ１２とに供給した場合にその実モータ１２によって実現されるべき作動状態を、その実モータ１２の作動時間（応答に必要な時間）より短い時間で、推定することが可能である。例えば、実モータ１２の実際の制御周期はＴＳであるが、仮想モータ６０の実際の最小計算周期はＴＱであって制御周期ＴＳより短い。仮想モータ６０の実際の最小計算周期は、実モータ１２の１回分の制御に必要な、仮想モータ６０を用いた１回の計算を行うのに必要な時間であり、図４に示す１個の相別電圧パターンについて仮想モータ６０を用いて計算を行うのに必要な時間である。
【０１０２】
具体的には、仮想モータ６０の各回の制御サイクルにおいては、複数回のシーケンシャル計算サイクルが直列的に実行され、各回のシーケンシャル計算サイクルにおいては、１つの相別電圧パターンについて計算を行う。各回のシーケンシャル計算サイクルにおいては、複数回の単位計算サイクルが直列に並び、各回の単位計算サイクルにおいては、全サイクル中、コイルがオン状態またはオフ状態に維持された場合の実モータ１２の作動状態が推定される。シーケンシャル計算サイクルの周期は、上述の最小計算周期ＴＱであり、また、単位計算サイクルの周期は、最小計算周期ＴＱより短いＴＲであり、また、実際、その最小計算周期ＴＱは、実モータ１２の制御周期ＴＳより短い。
【０１０３】
しかし、仮想モータ６０は、実モータ１２の状態変化を時間軸上で圧縮して、すなわち、高速化して観察することが可能であり、その結果、物理現象的には、最小計算周期ＴＱが実モータ１２の制御周期ＴＳに一致する。
【０１０４】
さらに、仮想モータ６０は、一度に複数の計算を行うことが可能であり、その結果、図６に示すように、一度に３回分のシーケンシャル計算サイクルというように複数回のシーケンシャル計算サイクルを実行することが可能である。このことによっても、仮想モータ６０が１回の制御サイクル中に実行可能な計算の回数、すなわち、実モータ１２を仮想的に作動可能な電圧パターンの数が増加する。
【０１０５】
具体的には、例えば、Ｕ相についての１つの単位計算サイクルと、Ｖ相についての１つの単位計算サイクルと、Ｗ相についての１つの単位計算サイクルとが、互いに並列的に実行される。その結果、単位計算周期ＴＲが１ｍｓであり、最小計算周期ＴＱが３ｍｓであり、制御周期ＴＰが１ｓであれば、１回の制御サイクルの間に２１６通りの組合せ電圧パターンについての仮想モータ６０を用いて計算が可能となる。
【０１０６】
図３に示すように、電圧パターン発生部４０は、注目する組合せ電圧パターンの番号ｍと、単位計算サイクルの番号ｃ（１：３つの単位計算サイクルのうち最初のもの、２：２番目の単位計算サイクル、３：３番目の単位計算サイクル）との組合せが特定されると、図４に示す６つの相別電圧パターンのうち、各回の単位計算サイクルのために各相のコイルに入力すべきものを選択して仮想モータ計算部４２に出力する。
【０１０７】
具体的には、電圧パターン発生部４０は、２１６通りの組合せ電圧パターンを順次、今回の組合せ電圧パターンとして選択し、その選択された組合せ電圧パターンのうち、Ｕ相コイルに対応する部分を２値の３相指令電圧値Ｖｕとして、Ｖ相コイルに対応する部分を２値の３相指令電圧値Ｖｖとして、また、Ｗ相コイルに対応する部分を２値の３相指令電圧値Ｖｗとしてそれぞれ仮想モータ計算部４２に出力する。
【０１０８】
図３に示すように、仮想モータ計算部４２は、仮想モータ６０の作動状態を検出する仮想モータ状態検出部６２をさらに備えている。
【０１０９】
仮想モータ状態検出部６２は、仮想モータ６０の作動状態として、仮想モータ６０の計算によって取得された仮想モータ電流ベクトルＩ＊すなわち３相仮想電流Ｉｕ＊，Ｉｖ＊，Ｉｗ＊を検出する。
【０１１０】
図７に示すように、仮想モータ計算部４２は、各回の単位計算サイクルごとに、電圧パターン発生部４０から出力された３相指令電圧値Ｖｕ，Ｖｖ，Ｖｗと、実モータ状態検出部１５から出力された実モータ位置θｍおよび３相実電流ｉｕ，ｉｖ，ｉｗと、仮想モータ状態検出部６２から前回の単位計算サイクルのときに出力された仮想モータ状態信号（例えば、前回の３相仮想電流値Ｉｕ＊，Ｉｖ＊，Ｉｗ＊）とに基づき、仮想モータ６０を作動させ、それにより、実モータ１２の３相仮想電流値Ｉｕ，Ｉｖ，Ｉｗ（今回の３相仮想電流値Ｉｕ＊，Ｉｖ＊，Ｉｗ＊）を推定する。
【０１１１】
具体的には、この仮想モータ計算部４２は、仮想モータ６０の今回の入出力特性（前述のインダクタンス行列および電機子鎖交磁束ベクトル）を、前述のテーブルを用いて、実モータ位置θｍの検出値と前回の３相仮想電流値Ｉｕ＊，Ｉｖ＊，Ｉｗ＊とに対応するように、決定する。その決定された今回の入出力特性に従い、３相指令電圧値Ｖｕ，Ｖｖ，Ｖｗに対応する３相仮想電流値Ｉｕ，Ｉｖ，Ｉｗが決定される。
【０１１２】
仮想モータ６０においては、図８に示すように、そのようにして特定されたインダクタンス行列および電機子鎖交磁束ベクトルφと、前回の３相仮想電流値Ｉｕ＊，Ｉｖ＊，Ｉｗ＊とを用いて、鎖交磁束ベクトルψが特定され、その鎖交磁束ベクトルψと、３相指令電圧値Ｖｕ，Ｖｖ，Ｖｗとを用いて、今回の３相仮想電流値Ｉｕ，Ｉｖ，Ｉｗが計算される。
【０１１３】
仮想モータ６０の入出力特性が、最新の実モータ１２の位置である回転角θｍを用いて特定される結果、仮想モータ６０は、実モータ１２に対して角度的に同期するように作動させられることになる。一方、図６に示すように、実モータ位置θｍは、第ｎ回の制御サイクルの開始時点での実測値であるのに対し、本当に欲しい実モータ位置θｍは、第（ｎ＋１）の制御サイクルの開始時点での実測値である。しかし、第ｎ回の制御サイクルの段階では、その本当に欲しい実モータ位置θｍの実測値は存在しない。
【０１１４】
これに対し、本実施形態においては、図３に示すように、Δθ推定器４６が、実モータ位置θｍが入力された時期と、次回の制御信号が実モータ１２に入力され始める時期（または、その制御信号に対する実モータ１２の応答が完了する時期）との間の期間に、実モータ位置θｍが変化することが予想される変化量Δθを推定する。
【０１１５】
その変化量Δθは、例えば、実モータ位置θｍが入力される時期と、次回の制御信号が実モータ１２に入力され始める時期（または、その制御信号に対する実モータ１２の応答が完了する時期）との間の期間の長さは、前記制御周期ＴＳの長さを超えないし、それにほぼ近いという事実に着目し、制御周期ＴＳの長さと、実モータ１２の角速度ωｍとの積として推定したり、制御周期ＴＳの長さに応じて推定したり（制御周期ＴＳの長さが可変である場合には、それが長いほど、変化量Δθが大きい可能性が高いから）、実モータ１２の角速度ωｍに応じて推定する（実モータ１２の角速度ωｍが高速であるほど、変化量Δθが大きい可能性が高いから）ことが可能である。
【０１１６】
Δθ推定器４６は、上述のようにして、前記変化量Δθを取得すると、その変化量Δθを、同じ回の計算サイクルの当初において取得した実モータ位置θｍに加算し、それにより、仮想モータ計算部４２および座標変換器４４に入力される実モータ位置θｍが、θｍ＋Δθに等しくなり、結局、実モータ１２の作動に追従するように補正される。
【０１１７】
図３に示すように、座標変換器４４は、仮想モータ計算部４２から３相仮想電流値Ｉｕ，Ｉｖ，Ｉｗが入力されると、３相仮想電流値Ｉｕ，Ｉｖ，Ｉｗに対して、補正後の実モータ位置（θｍ＋Δθ）のもと、ＵＶＷ座標系からｄｑ軸座標系への座標変換を行い、それにより、ｄｑ軸仮想電流値Ｉｄ，Ｉｑを取得する。
【０１１８】
誤差演算器４６は、図１に示す目標電流決定部３０からｄｑ軸指令電流値ｉｄ＊，ｉｑ＊が指令値として入力されるともに、座標変換器４４からｄｑ軸仮想電流Ｉｄ，Ｉｑが推定値として入力されると、２１６通りの組合せ電圧パターンのそれぞれごとに、３回分の単位計算サイクルのそれぞれについて、指令値と推定値との差を演算し、さらに、３回分の単位計算サイクルについての３つの誤差計算値の総合値（例えば、単純和、重み付き和、単純平方和、重み付き平方和）を総合電流誤差Ｊ（ｍ）として演算する。この誤差演算器４６は、組合せ電圧パターンごとに、総合電流誤差Ｊ（ｍ）を電圧パターン選択部４８に出力する。
【０１１９】
電圧パターン選択部４８は、２１６通りの組合せ電圧パターンのうち、演算された総合電流誤差Ｊ（ｍ）が最小であるものを、今回のｄｑ軸指令電流値ｉｄ＊，ｉｑ＊にとって最適の組合せ電圧パターンとして選択する。
【０１２０】
例えば、図９に例示するように、総合電流誤差Ｊが組合せ電圧パターン番号ｍと共に変化するシナリオについては、ｍ＝３のときに総合電流誤差Ｊが最小となるため、３番目の組合せ電圧パターン（図５参照）が最適パターンとして選択される。３番目の組合せ電圧パターンにおいては、Ｕ相については第１電圧パターン（図４参照）が選択され、Ｖ相についても同様であるが、Ｗ相については第３電圧パターン（図４参照）が選択されることになる。
【０１２１】
さらに、この電圧パターン選択部４８は、選択された最適な組合せ電圧パターンのうち、Ｕ相コイルに対応する部分につき、対応する時間比率γをメモリ（図示しない）から読み出し、その時間比率γと制御周期ＴＳとの積として、時間指令値ｔｕを計算する。この電圧パターン選択部４８は、同様にして、時間指令値ｔｖおよびｔｗを計算する。それら計算された時間指令値ｔｕ，ｔｖ，ｔｗは、図１に示すゲート信号発生部３４に出力される。
【０１２２】
図１０には、以上説明した時間指令値決定部３２の作動シーケンスの一例が概念的にフローチャートで表されている。その作動シーケンスは、図６に示すように、各シーケンシャル計算サイクルごとに実行される。
【０１２３】
この作動シーケンスが実行されると、まず、ステップＳ１において、目標電流決定部３０からｄｑ軸指令電流値ｉｄ＊，ｉｑ＊が入力される。
【０１２４】
次に、ステップＳ２において、同期制御が行われる。具体的には、実モータ位置θｍが実モータ状態検出部１５から入力されるとともに、Δθ推定器４６により前記変化量Δθが推定される。さらに、実モータ位置θｍが、もとの値θｍと変化量Δθとの和と等しくなるように補正される。
【０１２５】
続いて、ステップＳ３において、今回の制御サイクルの開始時点で実モータ状態検出部１５によって検出された３相実電流ｉｕ，ｉｖ，ｉｗがその実モータ状態検出部１５から入力される。
【０１２６】
その後、ステップＳ４において、前記補正された実モータ位置（θｍ＋Δθｔ）と、前記入力された３相実電流ｉｕ，ｉｖ，ｉｗとに基づき、前述のテーブルに従い、仮想モータ６０の入出力特性（特に、前記インダクタンス行例および電機子鎖交磁束ベクトルφ）が、そのときの実モータ１２の実際の入出力特性をできる限り忠実に反映するように、決定される。
【０１２７】
続いて、ステップＳ５において、組合せ電圧パターンの番号ｍが「１」にセットされる。その後、ステップＳ６において、単位計算サイクルの番号ｃが「１」にセットされる。続いて、ステップＳ７において、番号ｍの今回値と、番号ｃの今回値とに対応する３相指令電圧値Ｖｕ，Ｖｖ，Ｖｗが電圧パターン発生部４０によって発生させられ、それら３相指令電圧値Ｖｕ，Ｖｖ，Ｖｗが仮想モータ６０に入力される。
【０１２８】
その後、ステップＳ８において、仮想モータ６０が作動させられ、それにより、入力ｓれた３相指令電圧値Ｖｕ，Ｖｖ，Ｖｗに基づき、前記電圧方程式を用いた計算が行われる。
【０１２９】
続いて、ステップＳ９において、仮想モータ６０から出力された３相仮想電流値Ｉｕ，Ｉｖ，Ｉｗが仮想モータ状態検出部６２によって検出される。
【０１３０】
その後、ステップＳ１０において、座標変換器４４により、それら検出された３相仮想電流値Ｉｕ，Ｉｖ，Ｉｗがｄｑ軸仮想電流値Ｉｄ，Ｉｑに座標変換される。続いて、ステップＳ１１において、番号ｃの現在値が最大値ｃｍａｘ（本実施形態においては、ｃｍａｘ＝３）以上であるか否かが判定される。今回は、番号ｃの現在値が「１」であって、最大値ｃｍａｘより小さいため、ステップＳ１１の判定がＮＯとなる。その後、ステップＳ１２において、番号ｃが１だけインクリメントされる。続いて、ステップＳ７に戻る。
【０１３１】
ステップＳ７−Ｓ１２の実行が何回か繰り返された結果、ステップＳ１１の判定がＹＥＳとなると、ステップＳ１３において、番号ｍの現在値につき、誤差演算器４８により、総合電流誤差Ｊ（ｍ）（今回は、Ｊ（１））が計算される。その計算値は前記メモリに保存される。
【０１３２】
続いて、ステップＳ１４において、番号ｍｃの現在値が最大値ｍｍａｘ（本実施形態においては、ｍｍａｘ＝２１６）以上であるか否かが判定される。今回は、番号ｍの現在値が「１」であって、最大値ｍｍａｘより小さいため、ステップＳ１４の判定がＮＯとなる。その後、ステップＳ１５において、番号ｍが１だけインクリメントされる。続いて、ステップＳ６に戻る。
【０１３３】
ステップＳ６−Ｓ１５の実行が何回か繰り返された結果、ステップＳ１４の判定がＹＥＳとなると、図１１に示すステップＳ１６において、２１６通りの組合せ電圧パターンのうち、対応する総合電流誤差Ｊが最小となるものが最適組合せ電圧パターンとして選択される。
【０１３４】
続いて、ステップＳ１７において、その選択された最適組合せ電圧パターンのうち、Ｕ相に対応する部分、Ｖ相に対応する部分およびＷ相に対応する部分につき、それぞれの時間比率γを用いて、時間指令値ｔｕ，ｔｖ，ｔｗがそれぞれ決定される。
【０１３５】
その後、ステップＳ１８において、それら決定された時間指令値ｔｕ，ｔｖ，ｔｗが、今回の制御サイクルの終了時点で、ゲート信号発生部３４に出力される。
【０１３６】
それら時間指令値ｔｕ，ｔｖ，ｔｗが入力されると、ゲート信号発生部３４は、図４に例示するように、それら時間指令値ｔｕ，ｔｖ，ｔｗを反映するように、次回の制御サイクルのためのゲート信号を発生させ、そのゲート信号を実インバータ１４に出力する。その結果、実モータ１２が、図４に例示するように、時間指令値ｔｕ，ｔｖ，ｔｗを実現するように作動させられる。
【０１３７】
続いて、ステップＳ１９において、実モータ１２の制御が終了したか否かが判定される。その制御が未だ終了していない場合には、ステップＳ１９の判定がＮＯとなり、ステップＳ２に戻る。これに対し、その制御が終了した場合には、ステップＳ１９の判定がＹＥＳとなり、この作動シーケンスの実行が終了する。
【０１３８】
次に、図１に示すゲート信号発生部３４を図１２−図１８を参照して説明する。ゲート信号発生部３４は、前記時間指令値ｔｕ，ｔｖ，ｔｗが入力されると、それら時間指令値ｔｕ，ｔｖ，ｔｗについて個別に、かつ、後述の最小刻み時間ごとに動作タイミングが到来するごとに、一連の動作を行うように構成されている。
【０１３９】
各時間指令値ｔｕ，ｔｖ，ｔｗが、１つの値ごとに、仮想モータ６０の各回の計算サイクル（計算周期ＴＰ）の実行に使用されるとともに、実モータ１２の各回の制御サイクル（制御周期ＴＳ）の実行に使用され、さらに、ゲート信号発生部３４の各回の制御サイクル（制御周期ＴＧ）の実行にも使用される。計算周期ＴＰと、制御周期ＴＳと、制御周期ＴＧとは、長さが互いに一致するとともに、互いに同期させられる。
【０１４０】
図１２に示すように、このゲート信号発生部３４は、鋸波信号発生回路１００と、絶対値検出回路１０２と、コンパレータ１０４と、符号検出回路１０６とを備えている。
【０１４１】
具体的には、鋸波信号発生回路１００は、図１３において「鋸波信号」というラベルを付して示すように、ゲート信号発生部３４の各回の動作サイクル（制御周期ＴＧ）ごとに、時間と共にレベルが一方向に変化する鋸波信号を反復的に発生させるように構成されている。この鋸波信号発生回路１００は、各回の動作サイクル中、各回の動作タイミング（前記最小刻み時間が経過するごとに到来する）ごとに、前記鋸波信号のレベルを所定量ずつ（例えば、リニアに）増加させる。以下、その鋸波信号の、鋸波信号発生回路１００の各回の動作タイミングにおけるレベルを「鋸波波高値」という。
【０１４２】
本明細書において、「鋸波波高値」という用語は、鋸波信号の一周期内における最大振幅値を意味するのではなく、各瞬間における振幅値（すなわち、振幅の瞬間値）を意味する。
【０１４３】
鋸波信号は、時間の長さを表す振幅を有し、さらに、実モータ１２の制御周期ＴＳと等しい制御周期ＴＧを有する。この鋸波信号は、各時間指令値ｔｕ，ｔｖ，ｔｗの絶対値（ゲート２４がオフ状態からオン状態に、またはオン状態からオフ状態に遷移する状態遷移点までの経過時間の長さを表す）と比較される。
【０１４４】
具体的には、この鋸波信号は、各回の制御サイクルにおいて、振幅が０から正の最大振幅値まで、最小刻み時間が経過するごとに、それと同じ量だけ増加する。この鋸波信号の最大振幅値は、制御周期ＴＧに等しく、ひいては、実モータ１２の制御周期ＴＳに等しい。
【０１４５】
絶対値検出回路１０２は、図１３において「時間指令値（絶対値）」というラベルを付して示すように、ゲート信号発生部３４の各回の動作サイクルごとに、各時間指令値ｔｕ，ｔｖ，ｔｗが入力されると、各時間指令値ｔｕ，ｔｖ，ｔｗの絶対値を表す絶対値信号を、各回の動作サイクルの途中でレベルが変化しない全区間パルス信号（今回は、多値信号）として発生させるように構成されている。
【０１４６】
コンパレータ１０４は、図１３において「コンパレータ（入力）」というラベルと「コンパレータ（出力）」というラベルとを付してそれぞれ示すように、ゲート信号発生部３４の各回の動作サイクル中、各回の動作タイミングごとに、鋸波信号発生回路１００から出力された鋸波信号と、絶対値検出回路１０２から出力された絶対値信号とを互いに比較し、その比較結果を表す比較結果信号を、各回の制御サイクルの途中でレベルが変化することが可能であるパルス信号（今回は、２値信号）として発生させるように構成されている。
【０１４７】
このコンパレータ１０４は、各回の動作タイミングごとに、前記鋸波波高値と前記絶対値とを互いに比較するとともに、鋸波波高値が絶対値より大きい場合には、比較結果が「真」であることを表す比較結果信号を出力する一方、鋸波波高値が絶対値以下である場合には、比較結果が「偽」であることを表す比較結果信号を出力する。
【０１４８】
符号検出回路１０６は、図１３において「時間指令値（符号）」というラベルを付して示すように、ゲート信号発生部３４の各回の動作サイクルごとに、各時間指令値ｔｕ，ｔｖ，ｔｗが入力されると、各時間指令値ｔｕ，ｔｖ，ｔｗの符号を表す符号信号を全区間パルス信号（今回は、３値信号）として発生させるように構成されている。
【０１４９】
このゲート信号発生部３４は、さらに、図１３において「ゲート信号」というラベルを付して示すように、ゲート信号発生部３４の各回の動作サイクルごとに、コンパレータ１０４から出力された比較結果信号と、符号検出回路１０６から出力された符号信号とに基づき、前記ゲート信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｚを、各回の制御サイクルの途中でレベルが変化することが可能であるパルス信号（今回は、電圧のコイルへの一方向印加と非印加という２状態のうちのいずれかを表す２値信号であるが、電圧のコイルへの正方向印加と逆方向印加と非印加という３状態のうちのいずれかを表す３値信号とすることも可能である）として発生させるように構成されているゲート信号出力部１１０を備えている。
【０１５０】
本実施形態においては、そのゲート信号出力部１１０の一例を構成するために、立ち上がり検出回路１２０と、第１および第２のＡＮＤ（論理和）回路１２２，１２４と、ＲＳ−ＦＦ回路１２６とを備えている。
【０１５１】
立ち上がり検出回路１２０は、ゲート信号発生部３４の各回の動作サイクルごとに、コンパレータ１０４の比較結果信号における立ち上がりエッジを検出することを目的とする。
【０１５２】
その目的を達成するために、この立ち上がり検出回路１２０は、ゲート信号発生部３４の各回の動作サイクル中、各回の動作タイミングごとに、コンパレータ１０４の比較結果の今回値（以下、単に「比較結果」という。）と比較結果の前回値（前回の動作タイミングにおいてコンパレータ１０４から出力された比較結果信号によって表されるものであり、以下、「一次遅れ比較結果」という。）とを互いに比較するとともに、一次遅れ比較結果が「偽」であり、かつ、今回の比較結果が「真」である場合（すなわち、鋸波信号が絶対値信号を上向きにクロスした場合）に、所望の立ち上がりエッジが検出されたことを表す「真」のエッジ信号を出力する一方、そうではない場合には、所望の立ち上がりエッジが検出されなかったことを表す「偽」のエッジ信号を出力するように構成されている。
【０１５３】
第１のＡＮＤ回路１２２は、時間指令値の符号が正である場合に、所望の立ち上がりエッジが検出されたタイミングで、時間指令値ｔｕ，ｔｖ，ｔｗのうち今回の処理対象である時間指令値に対応するゲート２４（以下、単に「対応するゲート２４」という。）をオフ状態からオン状態に切り替えるためのセット指令を出力するように構成されている。
【０１５４】
第２のＡＮＤ回路１２４は、時間指令値の符号が負である場合に、所望の立ち上がりエッジが検出されたタイミングで、対応するゲート２４をオン状態からオフ状態に切り替えるためのセット指令を出力するように構成されている。
【０１５５】
ＲＳ−ＦＦ回路１２６は、各回の制御サイクルについて、対応するゲート２４に出力すべきゲート信号（以下、「対応するゲート信号」という。）を、いずれのＡＮＤ回路１２２，１２４からもセット指令もリセット指令も入力されなかった区間については、対応するゲート２４が前回の区間と同じ状態に維持されるように、生成するように構成されている。
【０１５６】
この場合、ＲＳ−ＦＦ回路１２６は、対応するゲート２４に、それの状態を維持するホールド信号を出力することになる。
【０１５７】
さらに、ＲＳ−ＦＦ回路１２６は、ゲート信号発生部３４の各回の動作サイクルについて、対応するゲート信号を、第２のＡＮＤ回路１２４からリセット指令が出力されないが第１のＡＮＤ回路１２２からセット指令が出力された区間については、対応するゲート２４がオフ状態からオン状態に切り替わるように、生成するように構成されている。
【０１５８】
この場合、ＲＳ−ＦＦ回路１２６は、対応するゲート２４に、それの状態を、その制御サイクルの途中で、オフ状態からオン状態に変化させるターンオン信号を出力することになる。
【０１５９】
さらに、ＲＳ−ＦＦ回路１２６は、各回の制御サイクルについて、対応するゲート信号を、第１のＡＮＤ回路１２２からセット指令が出力されないが第２のＡＮＤ回路１２４からリセット指令が出力された区間については、対応するゲート２４がオン状態からオフ状態に切り替わるように、生成するように構成されている。
【０１６０】
この場合、ＲＳ−ＦＦ回路１２６は、対応するゲート２４に、それの状態を、その制御サイクルの途中で、オン状態からオフ状態に変化させるターンオフ信号を出力することになる。
【０１６１】
図１４には、以上のように構成されたゲート信号発生部３４の作動シーケンスの一例が概念的にフローチャートで表されている。まず、ステップＳ１０１において、初期化が行われ、次に、ステップＳ１０２において、波形生成が行われる。続いて、ステップＳ１０３において、前記最小刻み時間が経過するのが待たれる。経過したならば、ステップＳ１０４において、ゲート信号発生部３４の各回の動作サイクルの周期時間（制御周期ＴＧ）が満了したか否か、すなわち、その周期時間が、経過した１回または複数回分の最小刻み時間の累積値を表す累積刻み時間と等しいか否かが判定される。
【０１６２】
今回は、周期時間ＴＰが満了していないと仮定すると、ステップＳ１０４の判定がＮＯとなり、ステップＳ１０５において、累積刻み時間が１回分の最小刻み時間だけ増加させられる。その後、ステップＳ１０２に戻る。これに対し、今回は、周期時間ＴＰが満了したと仮定すると、ステップＳ１０４の判定がＹＥＳとなり、ステップＳ１０６において、累積刻み時間が「０」にリセットされる。その後、ステップＳ１０５に移行する。
【０１６３】
図１５には、図１４に示すステップＳ１０１の詳細がフローチャートで表されている。ステップＳ１０１は、ステップＳ２０１を有しており、そのステップＳ２０１においては、ゲート信号発生部の一連の動作に先立ち、各種変数が初期化される。
【０１６４】
図１６−図１８には、図１４に示すステップＳ１０２の詳細がフローチャートで表されている。ステップＳ１０２は、ステップＳ３０１−Ｓ３２２を有している。
【０１６５】
図１６に示すように、まず、ステップＳ３０１において、累積刻み時間と同じ値となるように、今回の動作タイミングでの鋸波波高値が計算される。次に、ステップＳ３０２において、時間指令値ｔｕ，ｔｖ，ｔｗのうち今回の処理対象である時間指令値から、それの絶対値が検出される。
【０１６６】
続いて、ステップＳ３０３において、今回の時間指令値から、それの符号が検出される。その時間指令値が負の値であれば、ステップＳ３０４において、符号信号が「−１」とされる。その時間指令値が０であれば、ステップＳ３０５において、符号信号が「０」とされる。その時間指令値が正の値であれば、ステップＳ３０６において、符号信号が「＋１」とされる。
【０１６７】
その後、ステップＳ３０７において、今回の動作タイミングで、鋸波波高値が前記絶対値より大きいか否かが判定される。鋸波波高値が前記絶対値より大きい場合には、ステップＳ３０８において、コンパレータ１０４の比較結果が真とされるが、鋸波波高値が前記絶対値以下である場合には、ステップＳ３０９において、コンパレータ１０４の比較結果が偽とされる
【０１６８】
続いて、図１７に示すステップＳ３１０において、前記一次遅れ比較結果が偽であり、かつ、前記今回の比較結果が真であるか否か、すなわち、鋸波信号が絶対値信号を上向きにクロスしたか否かが判定される。前記一次遅れ比較結果が偽であり、かつ、前記今回の比較結果が真である場合には、ステップＳ３１１において、エッジが検出されたと判定されるが、そうではない場合には、ステップＳ３１２において、エッジが検出されなかったと判定される。
【０１６９】
その後、ステップＳ３１３において、ステップＳ３１０の次回の実行に備えて、今回の比較結果が、一次遅れ比較結果（ステップＳ３１０の次回の実行に用いられる）と等しくされる。
【０１７０】
続いて、ステップＳ３１４において、前記エッジが検出されたか否かが判定される。前記エッジが検出されなかった場合には、ステップＳ３１５において、第１および第２のＡＮＤ回路１２２，１２４のいずれからも前記セット指令も前記リセット指令も出力されない。これに対し、前記エッジが検出された場合には、ステップＳ３１４の判定がＹＥＳとなり、ステップＳ３１６において、前記符号信号が「０」であるか、「−１」であるか、または「＋１」であるかが判定される。
【０１７１】
前記フラグが「０」である場合には、ステップＳ３１５に移行する。前記フラグが「−１」である場合には、ステップＳ３１７において、第１のＡＮＤ回路１２２からセット指令が出力されることなく、第２のＡＮＤ回路１２４からリセット指令が出力される。、前記フラグが「＋１」である場合には、ステップＳ３１８において、第２のＡＮＤ回路１２４からリセット指令が出力されることなく、第１のＡＮＤ回路１２２からセット指令が出力される。
【０１７２】
その後、図１８に示すステップＳ３１９において、第２のＡＮＤ回路１２４からリセット指令が出力されたか否かが判定される。リセット指令が出力された場合には、ステップＳ３２０において、前記対応するゲート２４に出力されるゲート信号のレベルが、そのゲート２４をオフ状態に切り替えるためのレベルに変化させられる。
【０１７３】
これに対し、第２のＡＮＤ回路１２４からリセット指令が出力されなかった場合には、ステップＳ３２１において、第１のＡＮＤ回路１２２からセット指令が出力されたか否かが判定される。セット指令が出力された場合には、ステップＳ３２２において、前記対応するゲート２４に出力されるゲート信号のレベルが、そのゲート２４をオン状態に切り替えるためのレベルに変化させられる。
【０１７４】
これに対し、第１および第２のＡＮＤ回路１２２，１２４のいずれからもセット指令もリセット指令も出力されなかった場合には、前記対応するゲート２４に出力されるゲート信号のレベルが、そのゲート２４が同じ状態に維持されるように、維持される。
【０１７５】
以上の説明から明らかなように、本実施形態によれば、実モータ１２への入力電圧の高さの時間的推移を表す従来の指令信号とは異なる種類の指令信号がゲート信号発生部３４に入力されても、ゲート信号発生部３４がゲート信号を発生させることが可能となる。
【０１７６】
具体的には、本実施形態によれば、ゲート２４がオフ状態からオン状態に、またはオン状態からオフ状態に遷移する状態遷移点が出現するタイミングの時間的推移（例えば、そのタイミングが属する回の制御サイクルの開始時点からそのタイミングまでの経過時間の長さの時間的推移）を表す指令信号からゲート信号が発生させられる。
【０１７７】
さらに、本実施形態においては、ゲート２４がオン状態とオフ状態とのいずれかを連続的に取り続ける単位制御区間（図４に示す制御周期ＴＲ）が複数個並んだ連続制御区間（図４に示す制御周期ＴＱ）が想定され、その連続制御区間の間にゲート２４の電圧が取り得る複数の電圧シーケンスである複数の候補電圧パターン（ゲート２４がオン状態とオフ状態とに切り替えられるパターン）のうち最適なものが事前に探索され、その探索された最適電圧パターンを直接的に反映するゲート信号が発生させられる。
【０１７８】
したがって、本実施形態によれば、実モータ１２への入力電圧の高さに注目することなく、ゲート２４がオン／オフ制御される可能性がある複数の電圧パターンに最初から注目し、それらのうちの最適な電圧パターンが総当たり探索によって取得され、その最適な電圧パターンを反映するようにゲート信号が発生させられる。
【０１７９】
一方、コイルをオン／オフ制御する場合に、そのコイルがオン状態にある時間の累積値が同じであっても、そのコイルがオン状態に切り替えられる頻度などにより、そのコイルから出力される電流が変動するのが一般的である。そのため、コイルへの印加電圧の高さからそのコイルをオン／オフ制御するパターンを決定しても、所望の電流がコイルから出力されない可能性がある。
【０１８０】
これに対し、本実施形態によれば、複数の電圧パターンのうち、各電圧パターンで実モータ１２を駆動した場合にその実モータ１２から出力される電流値の、目標電流値からの誤差が最小であるものが最適な電圧パターンとして選択される。
【０１８１】
したがって、本実施形態によれば、できる限り理想に近い形で、実モータ１２を制御するために必要なゲート信号が発生させられる。その結果、例えば、実モータ１２のコイルが必要以上に頻繁に励磁状態と非励磁状態とに切り替わることが抑制され、それにより、実モータ１２の回転運動がスムーズになるとともに、実モータ１２のコイル発熱が抑制されて負担が軽減されるという効果が得られる可能性がある。
【０１８２】
さらに、本実施形態においては、各時間指令値ｔｕ，ｔｖ，ｔｗが、対応するゲート２４がオフ状態とオン状態との間において切り替えられるタイミングを表す絶対値のみならず、対応するゲート２４がオフ状態とオン状態との間において切り替えられる向きを表す符号をも有するように定義されている。したがって、例えば、図４に示すように、６つの候補電圧パターンを採用することが可能となる。
【０１８３】
これに対し、本発明は、各時間指令値ｔｕ，ｔｖ，ｔｗが、対応するゲート２４がオフ状態とオン状態との間において切り替えられるタイミングを表す絶対値のみを有する態様で実施することも可能である。この実施態様によれば、例えば、図４に示す例においては、第１−第４候補電圧パターンという４つの候補電圧パターン、または、第１および第４−第６候補電圧パターンという４つの候補電圧パターンしか採用することができない。しかし、図４に示す例より少ない数の候補電圧パターンしか採用することができなくても、実モータ１２を十分に精度よく制御することが可能である場合がある。
【０１８４】
以上、本発明の実施の形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、前記［発明の概要］の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【要約】
【課題】ゲートのオン／オフ制御を介してモータを駆動するドライバに供給すべきゲート信号を、モータへの入力電圧の時間的推移を表す指令信号とは異なる種類の指令信号から発生させる。
【解決手段】ゲートをオフ状態とオン状態との間において切り替える向きを表す符号と、その切替えを行うタイミングを表す絶対値とのうち少なくとも絶対値を有する時間指令値を入力する工程と、時間と共にレベルが一方向に変化する鋸波信号を発生させる工程と、前記入力された時間指令値の絶対値を表す絶対値信号を発生させる工程と、前記鋸波信号と前記絶対値信号とを互いに比較し、その比較結果を表す比較結果信号を発生させる工程と、前記比較結果信号に基づき、前記ゲート信号を発生させる工程とを設ける。
【選択図】図１３【図１】
0005449607.tif 000002
【図２】
0005449607.tif 000003
【図３】
0005449607.tif 000004
【図４】
0005449607.tif 000005
【図５】
0005449607.tif 000006
【図６】
0005449607.tif 000007
【図７】
0005449607.tif 000008
【図８】
0005449607.tif 000009
【図９】
0005449607.tif 000010
【図１０】
0005449607.tif 000011
【図１１】
0005449607.tif 000012
【図１２】
0005449607.tif 000013
【図１３】
0005449607.tif 000014
【図１４】
0005449607.tif 000015
【図１５】
0005449607.tif 000016
【図１６】
0005449607.tif 000017
【図１７】
0005449607.tif 000018
【図１８】
0005449607.tif 000019