(57)【要約】【課題】実モータの休止期間が存在するにもかかわらず、その休止期間に後続する運転期間において、その当初から、実モータを高精度で制御することを容易にする。【解決手段】実モータ１２の作動状態を検出する検出部３０と、実モータ１２を模擬する仮想モータ６０であって、入力された制御信号に基づき、それと同じ制御信号が実モータ１２にも出力された場合にその制御信号に応答して実現される実モータ１２の将来の作動状態を推定するものと、その推定された作動状態と、前記検出された実モータ１２の作動状態とに基づき、仮想モータ６０の制御信号を決定して出力する制御部６４とを含むモータ制御装置において、電力を検出部、仮想モータおよび制御部に、実モータの運転期間のみならず、その運転期間に先行する休止期間においても供給し、それにより、検出部、仮想モータおよび制御部を実モータの運転開始に先行して作動させる。【選択図】図３
2014161201.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)とが互いに一致しないため、前記制御信号の誤差が発生してしまう。
【０１２０】
そこで、本実施形態においては、Δθ推定器８０が、実モータ位置θｍが入力された時期と、次回の制御信号が実モータ１２に入力され始める時期（または、その制御信号に対する実モータ１２の応答が完了する時期）との間の期間に、実モータ位置θｍが変化することが予想される変化量Δθを推定する。
【０１２１】
その変化量Δθは、例えば、実モータ位置θｍが入力される時期と、次回の制御信号が実モータ１２に入力され始める時期（または、その制御信号に対する実モータ１２の応答が完了する時期）との間の期間の長さは、仮想モータ計算周期Ｔｖの長さを超えないし、それにほぼ近いという事実に着目し、仮想モータ計算周期Ｔｖの長さと、実モータ１２の角速度ωｍとの積として推定したり、仮想モータ計算周期Ｔｖの長さに応じて推定したり（仮想モータ計算周期Ｔｖの長さが可変である場合には、それが長いほど、変化量Δθが大きい可能性が高いから）、実モータ１２の角速度ωｍに応じて推定する（実モータ１２の角速度ωｍが高速であるほど、変化量Δθが大きい可能性が高いから）ことが可能である。
【０１２２】
図５（ａ）に示すように、仮想モータ制御部６４は、Δθ推定器８０を備えており、そのΔθ推定器８０は、上述のようにして、前記変化量Δθを取得すると、その変化量Δθを、同じ回の計算サイクルの当初において取得した実モータ位置θｍに加算し、それにより、ｄｑ−ＵＶＷ座標変換器７６に入力されるモータ位置が、θｍ＋Δθに等しくなり、結局、実モータ１２の作動に追従するように補正される。
【０１２３】
図５（ａ）に示すように、ｄｑ−ＵＶＷ座標変換器７６は、そのように補正されたモータ位置のもとで、仮想ｄｑ軸指令電圧Ｖｄ＊，Ｖｑ＊を仮想３相指令電圧Ｖｕ＊，Ｖｖ＊，Ｖｗ＊に変換し、その結果、それら仮想３相指令電圧Ｖｕ＊，Ｖｖ＊，Ｖｗ＊は、変化量Δθを見込んだ値として取得されることになる。これにより、前記制御信号が、実モータ位置θｍの将来の変化を予測して決定されるため、前述の位相遅れ補償がフィードフォワード制御の一種として行われることになる。
【０１２４】
図３に示すように、制御信号決定部５０は、前記制御信号が入力される仮想ＰＷＭインバータ９０をさらに備えている。ところで、前記制御信号は、複数のゲート信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｗであり、それらゲート信号のうち、ゲート信号Ｇｕ，Ｇｖ，Ｇｗは、実インバータ１６に属するＵＶＷ各相の上アーム・スイッチング素子２４にそれぞれ供給されるパルス信号であり、これに対し、ゲート信号Ｇｘ，Ｇｙ，Ｇｗは、実インバータ１６に属するＵＶＷ各相の下アーム・スイッチング素子２４にそれぞれ供給されるパルス信号である。
【０１２５】
各ゲート信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｗは、パルス信号であり、各デューティ比Ｄｕ，Ｄｖ，Ｄｗ，Ｄｘ，Ｄｙ，Ｄｚを有する。また、仮想ＰＷＭインバータ９０には、直流電圧Ｖｄｃが印加される。
【０１２６】
図７に示すように、仮想モータ６０に各相ごとに入力される仮想モータ端子電圧Ｖｕ，Ｖｖ，Ｖｗは、３つの式によって記述される。よって、仮想ＰＷＭインバータ９０は、各ゲートに入力されるゲート信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｗを、所定のサンプリング周期（例えば、１０ｎｓ)でサンプリングし、そのサンプリング結果を用いてデューティ比Ｄｕ，Ｄｖ，Ｄｗ，Ｄｘ，Ｄｙ，Ｄｚを計算する。各デューティ比Ｄは、例えば、各パルスのオン時間Ｔｏｎの長さをパルス周期（＝Ｔｏｎ＋Ｔｏｆｆ）で割り算することによって計算することが可能である。仮想ＰＷＭインバータ９０は、デューティ比Ｄｕ，Ｄｖ，Ｄｗ，Ｄｘ，Ｄｙ，Ｄｚの計算値（０以上１以下の数値）と、直流電圧Ｖｄｃの値（例えば、固定値）とを前述の３つの式に代入することにより、仮想モータ端子電圧Ｖｕ，Ｖｖ，Ｖｗを計算する。
【０１２７】
本実施形態においては、実モータ１２の力行状態において、実モータ１２の駆動トルクが、バッテリ３２からの電力を用いて発生させられ、それにより、バッテリ３２が放電させられるとともに、実モータ１２の駆動トルクが仮想モータ６０を用いて制御される。また、実モータ１２の回生状態においては、実モータ１２の制動トルクが仮想モータ６０を用いて制御されるとともに、今回は発電機として作用する実モータ１２によって発電された電流がバッテリ３２に蓄積され、それにより、バッテリ３２が充電される。
【０１２８】
図８には、モータ制御装置１０の作動の一例がフローチャートで表されている。このフローチャートは、ＣＰＵ４４によって実行されるステップＳ１と、演算回路４２によって反復的に実行されるステップＳ２−Ｓ１０とを表している。ステップＳ１は、入力周期Ｔｉｎ（例えば、数１０μｓｅｃ）が経過するごとに割り込みが発生すると、実行される。これに対し、残りのステップＳ２−Ｓ１０は、仮想モータ計算周期Ｔｖ（例えば、１μｓｅｃ）で１回ずつ実行され、それにより、一回の計算サイクルが実現されて１回分の制御信号が決定される。
【０１２９】
図８に示すプロセスは、前述のように、モータ駆動用スイッチ３６がオン状態にあるかオフ状態にあるかを問わず、繰り返し実行される。例えば、当該システム１１が、運転者によって操縦される自動車である場合には、運転者がその自動車に乗車しているか否かを問わず、すなわち、運転者がその自動車のメインスイッチ（すなわち、モータ駆動用スイッチ３６の指令部に相当する）をオンに操作した後の運転状態であるか、オンに操作する前の休止状態であるかを問わず、図８に示すプロセスが繰り返し実行される。
【０１３０】
したがって、図９に例示するように、当該システム１１においては、モータ駆動用スイッチ３６がオフ状態からオン状態に切り換わった後に、例えばオペレータによって制御目標値が指定され、その指定された制御目標値が実現されるように、実モータ１２が駆動される。しかし、当該システム１１においては、モータ駆動用スイッチ３６がオン状態にあるかオフ状態にあるかを問わず、仮想モータ６０が繰り返し作動させられ、それにより、複数の制御信号が順次決定される。それら制御信号のうち、モータ駆動用スイッチ３６がオフ状態からオン状態に切り換わった後に出現したもののみが、実モータ１２に対して出力される。
【０１３１】
具体的には、図８に示すプロセスの各回の実行が開始されると、まず、ステップＳ１において、今回の目標値が入力される。その目標値は、当該システム１１の運転状態においては、当然に存在するが、当該システム１１の休止状態においては、通常、存在しない。そこで、本実施形態においては、当該システム１１の休止状態においては、目標値が所定値（例えば、０）であると仮定され、それにより、目標値が存在しない期間の発生が回避される。
【０１３２】
次に、ステップＳ２において、データ入力が行われ、具体的には、仮想モータ状態検出部６２からは仮想モータ状態Ｉｕ＊，Ｉｖ＊，Ｉｗ＊が、実モータ状態検出部３０からは実モータ状態θｍがそれぞれ入力される。
【０１３３】
その後、ステップＳ３−Ｓ５において、仮想モータ制御部６４が作動させられる。具体的には、まず、ステップＳ３において、電流制御器７０，７２および非干渉化制御器７４により、仮想モータ６０と実モータ１２とが、モータ位置に関して互いに同期するように、仮想ｄｑ軸指令電圧信号Ｖｄ＊，Ｖｑ＊が生成される。
【０１３４】
次に、ステップＳ４において、Δθ推定器８０により、変化量Δθが推定され、その推定された変化量Δθに基づき、実モータ位置θｍが補正され、そして、ｄｑ−ＵＶＷ座標変換器７６により、その補正された実モータ位置θｍのもとで、仮想ｄｑ軸指令電圧信号Ｖｄ＊，Ｖｑ＊が仮想３相指令電圧信号Ｖｕ＊，Ｖｖ＊，Ｖｗ＊に変換される。続いて、ステップＳ５において、ＰＷＭ信号発生器７８により、仮想３相指令電圧信号Ｖｕ＊，Ｖｖ＊，Ｖｗ＊がＰＷＭ信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｚに変換される。
【０１３５】
その後、ステップＳ６において、モータ駆動用スイッチ３６の前記動作部がオン状態にあるか否か、すなわち、バッテリ３２と実インバータ／パワーアンプ１６とが互いに電気的に導通しているか否かが判定される。
【０１３６】
今回は、モータ駆動用スイッチ３６の前記動作部がオン状態にある（すなわち、実モータ１２が運転状態にある）と仮定すると、ステップＳ６の判定がＹＥＳとなり、ステップＳ７において、ステップＳ５において取得されたＰＷＭ信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｚが実インバータ／パワーアンプ１４に対して出力され、それにより、実モータ１２が駆動される。続いて、その出力タイミングと実質的に同じタイミングで、同じＰＷＭ信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｚが仮想ＰＷＭインバータ９０に対して出力される。それにより、仮想モータ端子電圧Ｖｕ，Ｖｖ，Ｖｗが計算される。
【０１３７】
これに対し、今回は、モータ駆動用スイッチ３６の前記動作部がオフ状態にある（すなわち、実モータ１２が休止状態にある）と仮定すると、ステップＳ６の判定がＮＯとなり、ステップＳ７がスキップされる。続いて、ステップＳ８において、ステップＳ５において取得されたＰＷＭ信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｚが仮想ＰＷＭインバータ９０に対して出力される。それにより、仮想モータ端子電圧Ｖｕ，Ｖｖ，Ｖｗが計算される。
【０１３８】
いずれの場合にも、続いて、ステップＳ９において、その計算された仮想モータ端子電圧Ｖｕ，Ｖｖ，Ｖｗが仮想モータ６０に対して出力されることにより、前述のモータモデルを用いることにより、仮想モータ電流ベクトルＩ＊すなわち仮想モータ状態Ｉｕ＊，Ｉｖ＊，Ｉｗ＊が計算される。
【０１３９】
その後、ステップＳ１０において、仮想モータ状態検出部６２により、仮想モータ電流ベクトルＩ＊すなわち仮想モータ状態Ｉｕ＊，Ｉｖ＊，Ｉｗ＊が出力される。その仮想モータ電流ベクトルＩ＊は、次回の計算サイクルでの計算に備えて、特定のメモリ（図示しない）に一時的に保存される。続いて、次回の計算サイクルでの計算のために、ステップＳ１に戻る。
【０１４０】
なお、本実施形態においては、モータ制御装置１０が、そもそも実モータ１２のための制御目標値に基づき、そもそも仮想モータ６０のための制御信号を生成し、その制御信号を、仮想モータ６０のみならず実モータ１２にも、かつ、互いに実質的に同じ時期に出力し、それにより、実モータ１２を制御する。
【０１４１】
本発明は、同じ制御信号が、先に仮想モータ６０に、後に実モータ１２に出力される別の態様で実施することが可能である。これに対し、本実施形態のように、同じ制御信号が仮想モータ６０と実モータ１２とに互いに実質的に同じ時期に出力される場合には、前記別の態様において制御信号が実モータ１２に供給されるタイミングより早いタイミングで制御信号が実モータ１２に供給されることとなり、その結果、実モータ１２の制御周期を短縮することが容易となり、その結果、実モータ１２のよりきめ細かな制御が容易となる。
【０１４２】
モータ制御装置１０は、そもそも仮想モータ６０のための制御信号を生成するために、実モータ１２の作動状態量を参照するが、本実施形態においては、実モータ１２についての唯一の作動状態量、すなわち、実モータ位置θｍのみが参照される。よって、実モータ１２についての複数の作動状態量を参照しなければならない場合に比較し、システム設計が単純化し、装置コストの低減ならびに装置の信頼性および安定性の向上を容易に図り得る。
【０１４３】
本実施形態においては、仮想モータ６０の作動状態であってその仮想モータ６０の前回の計算によって取得された前回計算値がフィードバックされることにより、制御目標値と、実モータ１２の作動状態と、仮想モータ作動状態の前回計算値とに基づき、前記制御信号が決定される。それにより、仮想モータ６０がフィードバック制御され、その結果、仮想モータ６０の前記モータモデルの誤差、実モータ１２の制御誤差、実モータ１２の特性の個体ばらつき、実モータ１２の特性の経時変化、システム１１に対する外乱による悪影響等が吸収されるように、前記制御信号が決定される。
【０１４４】
本実施形態においては、仮想モータ６０のためのフィードバック制御が、仮想モータ６０の前回計算値と、実モータ１２の作動状態の一例である実モータ位置θｍとを用いて行われる。仮想モータ６０の前回計算値は、仮想モータ６０にフィードバックされるフィードバック信号として用いられるが、実モータ位置θｍは、フィードバック信号として用いられるのではなく、仮想モータ６０のための前述のｄｑ軸制御において座標変換のために用いられる。
【０１４５】
このように、本実施形態においては、フィードバック信号が、仮想モータ６０の出力信号以外の信号、すなわち、実モータ１２の出力信号を含まないように設計されているのであり、これにより、フィードバック信号が実モータ１２の出力信号を含む場合より、システム１１の自己完結性が向上し、ひいては、システム１１の制御安定性が向上する。
【０１４６】
なお付言するに、本実施形態には種々の変形例が存在する。それら変形例のうちのいくつかを例示的に説明するに、第１の変形例においては、前述の位相遅れ補償を行うことなく、仮想モータ制御部６４が前記制御信号をフォードフォワード的に決定する。
【０１４７】
具体的には、この第１の変形例に従うモータ制御装置１０は、上述の第１実施形態と基本的に共通する構成を有するが、仮想モータ制御部６４は、図５（ｂ）に示すものに変更される。
【０１４８】
具体的には、この第１の変形例においては、仮想モータ制御部６４が、Δθ推定器８０を備えておらず、ｄｑ−ＵＶＷ座標変換器７６は、同じ回の計算サイクルの当初において取得した実モータ位置θｍのもとで、仮想ｄｑ軸指令電圧Ｖｄ＊，Ｖｑ＊を仮想３相指令電圧Ｖｕ＊，Ｖｖ＊，Ｖｗ＊に変換し、その結果、それら仮想３相指令電圧Ｖｕ＊，Ｖｖ＊，Ｖｗ＊は、変化量Δθを無視した値として取得されることになる。
【０１４９】
この第１の変形例は、仮想モータ計算周期Ｔｖの長さが短いか、および／または、実モータ１２の角速度が低速であるために、変化量Δθを無視しても支障を来たさない場合に、Δθ推定器８０を使用せずに済む点で有利である。
【０１５０】
この第１の変形例については、モータ制御装置１０の作動の一例を表すタイミングチャートが、図６（ｃ）に示すものに変更され、また、モータ制御装置１０の作動の一例を表すフローチャートは、図８に示すフローチャートと共通するが、ステップＳ４においては、Δθ推定器８０による変化量Δθの推定が省略され、ｄｑ−ＵＶＷ座標変換器７６により、実モータ位置θｍのもとで、ステップＳ３において生成された仮想ｄｑ軸指令電圧信号が仮想３相指令電圧信号に変換される。
【０１５１】
これに対し、第２の変形例においては、仮想モータ６０が実モータ１２の作動を正確に再現するように設計されているため、仮想モータ位置θが実モータ位置θｍに十分に一致する場合には、実モータ位置θｍに代えて仮想モータ位置を参照することにより、前記制御信号が生成される。この第２の変形例によれば、モータ制御装置１０は、実モータ１２の作動状態を検出するセンサを用いることなく、前記制御信号を生成することが可能となる。すなわち、実モータ１２の制御をセンサレス方式で行うことが可能となるのである。
【０１５２】
＜第２実施形態＞
【０１５３】
次に、本発明の第２実施形態に従うモータ制御装置１００を図１０ないし図１２を参照することにより説明する。ただし、本実施形態は、第１実施形態と共通する要素があるため、共通する要素については、同一の符号または名称を付して引用することにより、重複した説明を省略し、異なる要素についてのみ、詳細に説明する。
【０１５４】
第１実施形態に従うモータ制御装置１０を備えたシステム１１においては、図１に示すように、バッテリ３２が実モータ状態検出部３０および制御信号決定部５０に常時、電気的に接続され、それにより、バッテリ３２と実モータ状態検出部３０および制御信号決定部５０との間の電気的接続が継続的に実現される。
【０１５５】
これに対し、本実施形態に従うモータ制御装置１００を備えたシステム１０２においては、図１０に示すように、バッテリ３２と実モータ状態検出部３０および制御信号決定部５０との間の電気的接続が選択的に実現される。具体的には、接続制御部１１０が追加され、その接続制御部１１０は、第３パワーライン１１２を介して常時、バッテリ３２に接続される。これにより、接続制御部１１０は、常時、モータ駆動用スイッチ３６の作動状態を監視することが可能となる。接続制御部１１０は、プロセッサ４０とは別のプロセッサ（図示しない）によって作動させられる。
【０１５６】
図１０に示すように、接続制御部１１０は、モータ駆動用スイッチ３６の前記指令部に入力されるターンオン信号を検出するターンオン検出部１２０と、スイッチ切換え部１２２と、モータ制御用スイッチ１２４とを含むように構成される。
【０１５７】
モータ制御用スイッチ１２４は、外部からの指令信号が入力される指令部と、その指令信号に応じて電気的にまたは電磁的に動作する動作部と有する。モータ制御用スイッチ１２４は、例えば、パワートランジスタより小さい電流を扱うトランジスタを主体として構成することが可能である。このモータ制御用スイッチ１２４は、常には、オフ状態にあり、それにより、バッテリ３２を、実モータ状態検出部３０および制御信号決定部５０から電気的に遮断する。この遮断状態においては、バッテリ３２の電力が、接続制御部１１０によってわずかな量だけ消費されるが、実モータ状態検出部３０および制御信号決定部５０によって消費されることはない。
【０１５８】
スイッチ切換え部１２２は、ターンオン検出部１２０が前記ターンオン信号を検出すると、モータ制御用スイッチ１２４をオフ状態からオン状態に切り換え、それにより、バッテリ３２からの電力によって実モータ状態検出部３０および制御信号決定部５０を起動させる。
【０１５９】
図１１には、モータ制御装置１００の作動の一例がフローチャートで表されている。このフローチャートは、接続制御部１１０の前記別のプロセッサによって実行されるステップＳ１０１、Ｓ１０２およびＳ１１７と、ＣＰＵ４４によって実行されるステップＳ１０３およびＳ１０４と、演算回路４２によって反復的に実行されるステップＳ１０５−Ｓ１１６とを表している。ステップＳ１０１は、監視周期（例えば、数１０μｓｅｃ）が経過するごとに実行される。ステップＳ１０４は、入力周期Ｔｉｎ（例えば、数１０μｓｅｃ）が経過するごとに割り込みが発生すると、実行される。これに対し、ステップＳ１０５−Ｓ１１６は、仮想モータ計算周期Ｔｖ（例えば、１μｓｅｃ）で１回ずつ実行され、それにより、一回の計算サイクルが実現されて１回分の制御信号が決定される。
【０１６０】
したがって、図１２（ａ）および図１２（ｂ）に共通に例示するように、当該システム１０２においては、前記ターンオン信号が発生すると、まず、モータ制御用スイッチ１２４がオフ状態からオン状態に切り換わり、それにより、実モータ状態検出部３０および制御信号決定部５０が起動し、仮想モータ６０も起動し、その結果、実モータ１２の作動状態の検出および制御信号の生成が開始される。
【０１６１】
前記ターンオン信号の発生後、モータ駆動用スイッチ３６の時間的遅れが経過すると、そのモータ駆動用スイッチ３６がオフ状態からオン状態に切り換わり、その後、前記生成された制御信号が実モータ１２に出力され、それにより、その実モータ１２が起動する。
【０１６２】
図１２（ａ）に示す例においては、初回の制御信号を生成するための初回の計算サイクルの開始前に、モータ駆動用スイッチ３６がオフ状態からオン状態に切り換わるが、本実施形態においては、初回の制御信号から、実モータ１２への出力が開始される。
【０１６３】
また、図１２（ｂ）に示す例においては、初回の制御信号を生成するための初回の計算サイクルの終了後に、モータ駆動用スイッチ３６がオフ状態からオン状態に切り換わるが、１回目の計算サイクルにおける１番目の制御信号の生成が完了した時点では、モータ駆動用スイッチ３６がオフ状態にあるため、その１番目の制御信号は実モータ１２に出力されず、２番目の制御信号から、実モータ１２への出力が開始される。
【０１６４】
このように、本実施形態においては、モータ駆動用スイッチ３６がオフ状態からオン状態に切り換わる時刻が、初回の計算サイクルの実行時刻より遅い場合には、その程度が大きいほど、多くの回数分の制御信号の、実モータ１２への出力が禁止される。
【０１６５】
後者の例においては、仮想モータ６０の起動後に順次生成される複数の制御信号のうち、その精度が他の制御信号より低い可能性が高い初回の制御信号を含む少なくとも１つの先頭の制御信号の、実モータ１２への出力が禁止され、それにより、実モータ１２の起動時にその制御精度が低下することが防止される。
【０１６６】
具体的には、図１１に示すプロセスの各回の実行が開始されると、まず、ステップＳ１０１において、ターンオン検出部１２０により、前記ターンオン信号がモータ駆動用スイッチ３６に入力されるのが待たれる。前記ターンオン信号が入力されると、ステップＳ１０２において、スイッチ切換え部１２２により、モータ制御用スイッチ１２４がオフ状態からオン状態に切り換えられる。
【０１６７】
続いて、ステップＳ１０３において、カウンタＮ（整数値）が０に初期化される。その後、ステップＳ１０４−Ｓ１０８が、図８に示すステップＳ１−Ｓ５と同様にして実行され、それにより、１回分の計算サイクルが実行される。続いて、ステップＳ１０９において、カウンタＮの値が０であるか否かを判定することにより、今回の計算サイクルが、仮想モータ６０を用いた初回の計算サイクルであるか否かが判定される。
【０１６８】
今回の計算サイクルは初回の計算サイクルであって、カウンタＮの値は０であるから、ステップＳ１０９の判定がＹＥＳとなり、ステップＳ１１２−Ｓ１１４が、図８に示すステップＳ８−Ｓ１０と同様にして実行される。今回は、ステップＳ１０８の、前回の実行によって生成された制御信号（ＰＷＭ信号）の、実モータ１２への出力が禁止される。その後、ステップＳ１１５において、カウンタＮの値が１だけインクリメントされる。
【０１６９】
続いて、ステップＳ１１６において、モータ駆動用スイッチ３６がオン状態からオフ状態に切り換わったか否か、すなわち、実モータ１２が運転状態から休止状態に移行したか否かが判定される。今回は、モータ駆動用スイッチ３６がオン状態にあると仮定すると、ステップＳ１１６の判定がＮＯとなり、その後、ステップＳ１０４に戻り、２回目の計算サイクルが開始される。
【０１７０】
その後、ステップＳ１０９において、今回の計算サイクルが初回の計算サイクルであるか否かが判定されると、カウンタＮの値は１であるため、このステップＳ１０９の判定が、今回は、ＮＯとなる。続いて、ステップＳ１１０において、モータ駆動用スイッチ３６がオフ状態からオン状態に切り換わったか否か、すなわち、実モータ１２が休止状態から運転状態に移行したか否かが判定される。モータ駆動用スイッチ３６が未だオフ状態にあると仮定すると、ステップＳ１１０の判定がＮＯとなり、ステップＳ１１２に移行する。今回も、ステップＳ１０８の、前回の実行によって生成された制御信号（ＰＷＭ信号）の、実モータ１２への出力が禁止される。
【０１７１】
これに対し、モータ駆動用スイッチ３６がオフ状態からオン状態に切り換わったと仮定すると、ステップＳ１１０の判定がＹＥＳとなり、ステップＳ１１１において、図８に示すステップＳ７と同様にして、ステップＳ１０８の、前回の実行によって生成された制御信号（ＰＷＭ信号）が実モータ１２に出力され、それにより、実モータ１２が起動される。その後、ステップＳ１１２に移行する。
【０１７２】
やがて、モータ駆動用スイッチ３６がオン状態からオフ状態に切り換わると、ステップＳ１１６の判定がＮＯとなり、続いて、ステップＳ１１７において、スイッチ切換え部１２２により、モータ制御用スイッチ１２４がオン状態からオフ状態に切り換えられる。その結果、実モータ状態検出部３０および制御信号決定部５０が休止状態に移行する。以上で、図１１に示すプロセスの実行が終了する。
【０１７３】
なお、本実施形態においては、ターンオン検出部１２０が、前記ターンオン信号を検出するが、別の例においては、ターンオン検出部１２０が、前記ターンオン信号の発生に先立って発生する所定のイベントを検出することにより、前記ターンオン信号の発生を予測するターンオン信号予測部に置換される。
【０１７４】
この別の例においては、前記ターンオン信号が実際に発生する時刻より早い時刻に前記ターンオン信号予測部によって前記ターンオン信号の発生が予測される。前記ターンオン信号の発生が予測されると、スイッチ切換え部１２２が、モータ制御用スイッチ１２４をオン状態に切り換え、それにより、実モータ状態検出部３０および制御信号決定部５０を起動させる。この例によれば、スイッチ切換え部１２２が前記ターンオン信号の発生に応答して実モータ状態検出部３０および制御信号決定部５０を起動させる場合より早い時刻に実モータ状態検出部３０および制御信号決定部５０が起動させられ、それにより、初回の制御信号を早期に生成することが可能となる。
【０１７５】
ここに、「前記ターンオン信号の発生に先立って発生する所定のイベント」は、例えば、前記ターンオン信号がオペレータの操作に応じて発生する場合には、そのオペレータが、前記操作に先立って通常行うことが予想される別の操作として選択することが可能である。
【０１７６】
例えば、実モータ１２が、車両の動力源として使用される場合には、オペレータである運転者が、車両を発進させるべく、車両のドアを開けて運転席に着座し、その後に、車両のメインスイッチ（モータ駆動用スイッチ３６）をオンに操作するというシナリオが期待される。よって、この例においては、前記別の操作として、前記メインスイッチのオフ状態においてドアが開かれたことをドアスイッチが検出したり、前記メインスイッチのオフ状態において運転席が変形したり、その運転席に作用する圧力が増加したことを着座スイッチが検出することが可能である。
【０１７７】
＜第３実施形態＞
【０１７８】
次に、本発明の第３実施形態に従うモータ制御装置１５０を図１３および図１４を参照することにより説明する。ただし、本実施形態は、第２実施形態と共通する要素があるため、共通する要素については、同一の符号または名称を付して引用することにより、重複した説明を省略し、異なる要素についてのみ、詳細に説明する。
【０１７９】
まず、概略的に説明するに、図１３の例示的なタイミングチャートで示すように、本実施形態においては、制御信号決定部５０が、各回の計算サイクルにおいて、仮想モータ６０を２回作動させる。
【０１８０】
具体的には、制御信号決定部５０は、各回の計算サイクルにおいて、仮想モータ６０についての１回目の作動（フィードバック制御）のために、今回の制御目標値と、実モータ１２の現時点での作動状態θｍ１と、仮想モータ６０の作動状態Ｉ１であってその仮想モータ６０の前回の計算によって取得されたものとに基づき、仮想モータ６０のための仮制御信号を決定し、その決定された仮制御信号を、実モータ１２に出力することなく、仮想モータ６０に出力し、それにより、その仮想モータ６０の今回の作動状態を推定する。
【０１８１】
制御信号決定部５０は、各回の計算サイクルにおいて、仮想モータ６０についての最終回（本実施形態においては、２回目）の作動（フィードバック制御）のために、今回の制御目標値と、実モータ１２の現時点での作動状態θｍ２と、仮想モータ６０の作動状態Ｉ２であってその仮想モータ６０の前回の計算によって取得されたものとに基づき、実モータ１２と仮想モータ６０とに共通の最終制御信号を決定し、その決定された最終制御信号を実モータ１２と仮想モータ６０とに実質的に同時に出力する。
【０１８２】
本実施形態においては、実モータ１２と仮想モータ６０とに最終制御信号が出力される前に、仮想モータ６０には、仮制御信号が出力されており、その結果、仮想モータ６０には、主制御信号と最終制御信号との双方が出力されることになる。このままでは、実モータ１２の制御量と、仮想モータ６０の合計制御量とが不一致となってしまう。
【０１８３】
そこで、本実施形態においては、制御信号決定部５０が、仮想モータ６０についての２回目の作動のために、今回の制御目標値と、実モータ１２の現時点での作動状態θｍ２と、仮想モータ６０の作動状態Ｉ２であってその仮想モータ６０の前回の計算によって取得されたものとに基づき、これまでと同じ規則に従って制御信号を決定するが、この制御信号を、前記最終制御信号としてではなく、制御信号補正量として取り扱う。
【０１８４】
それに加えて、制御信号決定部５０は、仮想モータ６０において、前記仮制御信号の影響をキャンセルすべく、仮想モータ６０を、前記仮制御信号が入力される前の状態、すなわち、前回の計算サイクルが終了した時点の状態に復元する。
【０１８５】
さらに、制御信号決定部５０は、前記決定された仮制御信号を前記制御信号補正量によって補正することにより、前記最終制御信号を決定する。そして、制御信号決定部５０は、その決定された最終制御信号を実モータ１２と仮想モータ６０とに実質的に同時に出力する。その結果、仮想モータ６０には、今回の計算サイクルにおいて、最初から前記最終制御信号が入力された状況と同じ状況が再現される。
【０１８６】
次に、具体的に説明するに、図１４の例示的なフローチャートで示すように、本実施形態においては、ステップＳ２０１−Ｓ２０３が、第２実施形態についての図１１に示すステップＳ１０１−Ｓ１０３と同様にして実行される。
【０１８７】
続いて、ステップＳ２０４−Ｓ２０８が、第２実施形態についての図１１に示すステップＳ１０４−Ｓ１０８と同様にして実行される。ただし、本実施形態においては、ステップＳ２０４において、図１３における「入力１」が実行され、仮想モータ状態Ｉ１と、実モータ状態θｍ１が入力され、また、ステップＳ２０８において、前記ＰＷＭ信号が前記仮制御信号として生成される。
【０１８８】
その後、ステップＳ２０９−Ｓ２１１が、第２実施形態についての図１１に示すステップＳ１１２−Ｓ１１４と同様にして実行される。ただし、本実施形態においては、ステップＳ２０９においては、図１３における「出力１」が実行され、また、ステップＳ２１１においては、仮想モータ電流Ｉ２が出力される。本実施形態においては、第２実施形態とは異なり、ＰＷＭ信号が、前記仮制御信号として、仮想ＰＷＭインバータ９０を介して仮想モータ６０に出力されるが、実インバータ／パワーアンプ１４には出力されない。その結果、仮想モータ６０は制御されるが、実モータ１２は制御されない。ステップＳ２０５−Ｓ２１１により、図１３に示す「仮想モータによる１回目のフィードバック制御」が実行される。
【０１８９】
その後、ステップＳ２１２−Ｓ２２１により、図１３に示す「仮想モータによる２回目のフィードバック制御」が実行される。
【０１９０】
具体的には、まず、ステップＳ２１２において、図１３における「入力２」が実行され、ステップＳ２０５と同様にして、仮想モータ状態Ｉ２と、実モータ状態θｍ２が入力される。次に、ステップＳ２１３において、ステップＳ２０６と同様にして、仮想ｄｑ軸指令電圧信号が生成され、ステップＳ２１４において、ステップＳ２０７と同様にして、仮想３相指令電圧信号が生成される。
【０１９１】
その後、ステップＳ２１５において、ステップＳ２０８と同様にして、前記ＰＷＭ信号が生成されるが、そのＰＷＭ信号は、前記制御信号補正量として取り扱われ、ステップＳ２１１の実行によって生成された前記仮制御信号が、その制御信号補正量によって補正され、それにより、前記最終制御信号が生成される。
【０１９２】
この最終制御信号は、仮想モータ６０による１回目のフィードバック制御の結果を反映するように（制御誤差が減少するように）生成され、その結果、この最終制御信号は、前記仮制御信号より精度が向上する。しかも、この最終制御信号は、最初の情報である仮想モータ状態Ｉ１と実モータ状態θｍ１ではなく、最新の情報である仮想モータ状態Ｉ２と実モータ状態θｍ２に基づいて生成されるため、仮想モータ６０および実モータ１２の最新の状態を反映し、仮想モータ６０および実モータ１２の実際の変化をリアルタイムに追従する。その結果、一回の計算サイクル中、仮想モータ６０も実モータ１２も作動状態が変化しないと仮定して制御信号を生成する場合より、制御信号の精度が向上する。
【０１９３】
その後、ステップＳ２１６およびＳ２１７が、第２実施形態についての図１１に示すステップＳ１０９およじＳ１１０と同様にして実行される。
【０１９４】
今回の計算サイクルが初回の計算サイクルではなく、かつ、モータ駆動用スイッチ３６がオン状態にある場合には、ステップＳ２１８において、第２実施形態におけるステップＳ１１１と同様にして、前記最終制御信号、すなわち、２回目のＰＷＭ信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｚが実インバータ／パワーアンプ１４に対して出力され、それにより、実モータ１２が駆動される。このステップＳ２１８は、図１３における「出力２」に相当する。
【０１９５】
続いて、その出力タイミングと実質的に同じタイミングで、ステップＳ２１９において、ステップＳ２０９と同様にして、同じＰＷＭ信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｚが仮想ＰＷＭインバータ９０に対して出力される。それにより、仮想モータ端子電圧Ｖｕ，Ｖｖ，Ｖｗが計算される。このステップＳ２１９も、図１３における「出力２」に相当する。
【０１９６】
その後、ステップＳ２２０において、ステップＳ２１０と同様にして、その計算された仮想モータ端子電圧Ｖｕ，Ｖｖ，Ｖｗが仮想モータ６０に対して出力されることにより、前述のモータモデルを用いることにより、仮想モータ電流ベクトルＩ３が計算される。
【０１９７】
続いて、ステップＳ２２１において、ステップＳ２１１と同様にして、仮想モータ状態検出部６２により、仮想モータ電流ベクトルＩ３が出力される。その仮想モータ電流ベクトルＩ３は、次回の計算サイクルでの計算に備えて、前記特定のメモリに一時的に保存される。
【０１９８】
その後、ステップＳ２２２−Ｓ２２４が、第２実施形態についての図１１に示すステップＳ１１５−Ｓ１１７と同様にして実行される。
【０１９９】
＜第４実施形態＞
【０２００】
次に、本発明の第４実施形態に従うモータ制御装置２００を図１５を参照することにより説明する。ただし、本実施形態は、第２または第３実施形態と共通する要素があるため、共通する要素については、同一の符号または名称を付して引用することにより、重複した説明を省略し、異なる要素についてのみ、詳細に説明する。
【０２０１】
本実施形態に従うモータ制御装置２００を備えたシステム２０２においては、モータ制御装置２００が、第２実施形態に従うモータ制御装置１００または第３実施形態に従うモータ制御装置１５０と共通するが、実モータ１２を駆動させるための電源が、バッテリ３２ではなく、それとは別の商用電源２１０であって交流電圧を出力するものに置換され、さらに、その商用電源２１０と実インバータ／パワーアンプ１４との間に、その商用電源２１０から出力された交流電圧を直流電圧に変換するＡＣ／ＤＣコンバータ２１２が接続されている。
【０２０２】
＜第５実施形態＞
【０２０３】
次に、本発明の第５実施形態に従うモータ制御装置３００を図１６および図１７を参照することにより説明する。ただし、本実施形態は、実モータ１２によるバッテリ３２の充電が可能な第１ないし第３実施形態のうちのいずれかと共通する要素があるため、共通する要素については、同一の符号または名称を付して引用することにより、重複した説明を省略し、異なる要素についてのみ、詳細に説明する。
【０２０４】
本実施形態に従うモータ制御装置３００を備えたシステム３０２においては、実モータ１２の力行状態において、実モータ１２の駆動トルクが、バッテリ３２からの電力を用いて発生させられ、それにより、バッテリ３２が放電させられるとともに、実モータ１２の駆動トルクが仮想モータ６０を用いて制御される。また、実モータ１２の回生状態においては、実モータ１２の制動トルクが仮想モータ６０を用いて制御されるとともに、実モータ１２によって発電された電流がバッテリ３２に蓄積され、それにより、バッテリ３２が充電される。
【０２０５】
本実施形態においては、第１ないし第３実施形態と同様に、実モータ１２が力行状態にあるか回生状態にあるかを問わず、実モータ１２に供給されるべき制御信号が、仮想モータ６０を用いて、かつ、図８、図１１または図１４に示すプロセスが実行されることにより、生成される。
【０２０６】
しかし、本実施形態においては、第１ないし第３実施形態とは異なり、実モータ１２が力行状態にあるか回生状態にあるかを問わず、仮想モータ６０を用いて、実モータ１２に流れる実電流が推定される。実電流は、実モータ１２が力行状態においては、実モータ１２にとっては、実駆動電流または実励磁電流、バッテリ３２にとっては、実放電電流である。これに対し、実電流は、実モータ１２の回生状態においては、実モータ１２にとっては、実発電電流、バッテリ３２にとっては、実充電電流である。
【０２０７】
本実施形態においては、図１６に概念的に表すように、仮想モータ６０を用いて推定される前述の仮想３相実電流Ｉｕ＊，Ｉｖ＊，Ｉｗ＊（３相交流電流）が、バッテリ３２からの放電電流およびバッテリ３２への充電電流を推定するための便宜上、１つの合成値としての瞬間直流電流値ＩＤＣに変換される。瞬間直流電流値ＩＤＣは、実モータ１２の力行状態においては、負の値を有し、一方、実モータ１２の回生状態においては、正の値を有する。
【０２０８】
また、本実施形態においては、バッテリ３２の残量電荷（以下、「ＳＯＣ(State Of Charge）」という）が、いわゆるクーロンカウント法により、実モータ１２の瞬間直流電流値ＩＤＣを時間積分することにより、計算される。具体的には、ＳＯＣの現在値に、最新のモータ制御サイクルにおける瞬間直流電流値ＩＤＣの積算値である電流積算値がＳＯＣの変化分ΔＳＯＣ（増加分である場合と、減少分である場合がある）として加算され、それにより、ＳＯＣの現在値が更新される。
【０２０９】
ところで、本実施形態においては、前述のように、実モータ１２に供給される３相電圧Ｖｕ，Ｖｖ，Ｖｗ（瞬間電圧）が、前回の制御信号が実モータ１２に供給されてから、今回の制御信号が実モータ１２に供給されるまでの１回分のモータ制御サイクル（仮想モータ６０を用いて計算を行う前述の計算サイクルに対し、位相的には完全に一致するわけではないが、仮想モータ計算周期Ｔｖと実質的に同じ長さの周期を有するため、以下、説明の便宜上、「仮想モータ計算サイクル」という）の間、パルス状に変化する。
【０２１０】
そこで、本実施形態においては、図１６に概念的に表すように、１回分の仮想モータ計算サイクルについての瞬間直流電流値ＩＤＣが、仮想モータ状態検出部６２によって検出される仮想３相実電流Ｉｕ＊，Ｉｖ＊，Ｉｗ＊と、図７に示す仮想ＰＷＭインバータ９０において用いられる前述の６つのデューティ比Ｄｕ，Ｄｖ，Ｄｗ，Ｄｘ，Ｄｙ，Ｄｚであって、各仮想モータ計算サイクルごとに、６つのゲート信号Ｇｕ，Ｇｖ，Ｇｗ，Ｇｘ，Ｇｙ，Ｇｗについてそれぞれ存在するものとを用いて計算される。図１６において「３１０」は、乗算器であり、「３１２」は、３つの乗算器３１０からの３つの出力値を加算する加算器を示している。加算器３１２は、瞬間直流電流値ＩＤＣを、各仮想モータ計算サイクルごとに出力する。
【０２１１】
そして、本実施形態においては、そのようにして計算された瞬間直流電流値ＩＤＣと仮想モータ計算周期Ｔｖとの積として、上述のΔＳＯＣが計算される。
【０２１２】
さらに、本実施形態においては、瞬間直流電流値ＩＤＣと第１許容範囲との比較結果に基づき、実モータ１２の実電流が異常であるか否かを判定するための第１異常判定（すなわち、第１自己診断）と、ＳＯＣと第２許容範囲との比較結果に基づき、バッテリ３２の充電状態が異常であるか否かを判定するための第２異常判定（すなわち、第２自己診断）とが行われる。
【０２１３】
例えば、前記第１異常判定は、瞬間直流電流値ＩＤＣが第１許容上限値を超えているか否かを判定することにより、実モータ１２に過電流が現に発生しているかまたは将来発生する可能性があるか否かを判定するために行われ、これに対し、前記第２異常判定は、ＳＯＣが第２許容上限値を超えているか否かを判定することにより、バッテリ３２に過充電が現に発生しているかまたは将来発生する可能性があるか否かを判定するために行われる。
【０２１４】
さらに、本実施形態においては、前記第１異常判定において異常であると判定された場合に、その異常を正常化するかまたは異常に陥ることを予防するための第１修正動作が実モータ１２に対して行われる。例えば、実モータ１２の過電流が将来発生する可能性があると判定された場合には、それ以後の制御信号が、将来の実駆動電流が抑制される向き、すなわち、前記デューティ比Ｄが所定量低下する向きに修正され、そのうえで、実モータ１２に供給される。
【０２１５】
また、本実施形態においては、前記第２異常判定において異常であると判定された場合に、その異常を正常化するかまたは異常に陥ることを予防するための第２修正動作が実モータ１２および／またはバッテリ３２に対して行われる。例えば、バッテリ３２の過充電が将来発生する可能性があると判定された場合には、それ以後の制御信号が、将来の実発電電流が抑制される向き、すなわち、前記デューティ比Ｄが所定量低下する向きに修正され、そのうえで、実モータ１２に供給される。
【０２１６】
図１７には、モータ制御装置３００が上述のようにして実モータ電流およびＳＯＣの推定、異常判定（すなわち、自己診断）および修正動作を行うプロセスがフローチャートで概念的に表されている。
【０２１７】
このプロセスがプロセッサ４０によって実行されると、まず、ステップＳ３０１において、モータ駆動用スイッチ３６がオフ状態からオン状態に切り換わるのが待たれる。モータ駆動用スイッチ３６がオン状態に切り換わると、ステップＳ３０２において、ＳＯＣの現在値が初期値ＳＯＣｉｎにセットされる。本実施形態においては、モータ駆動用スイッチ３６がオン状態からオフ状態に切り換えられるごとに、そのときのＳＯＣの値（前回の運転期間におけるＳＯＣ最終値）が前記特定のメモリに保存されるようになっており、初期値ＳＯＣｉｎは、その特定のメモリから読み出すことによって取得される。
【０２１８】
続いて、ステップＳ３０３において、仮想３相実電流Ｉｕ＊，Ｉｖ＊，Ｉｗ＊のそれぞれの最新値が前記特定のメモリから取り込まれる。その後、ステップＳ３０４において、デューティ比Ｄｕ，Ｄｖ，Ｄｗ，Ｄｘ，Ｄｙ，Ｄｚのそれぞれの最新値が前記特定のメモリから取り込まれる。続いて、ステップＳ３０５において、前述のようにして瞬間直流電流値ＩＤＣが計算される。
【０２１９】
その後、ステップＳ３０６において、前述の第１異常判定が行われ、瞬間直流電流値ＩＤＣが現に異常であるかまたは将来異常になる可能性があると判定されると、ステップＳ３０７の判定がＹＥＳとなり、ステップＳ３０８において、前述の第１修正動作が行われる。その後、ステップＳ３０９に移行する。
【０２２０】
これに対し、瞬間直流電流値ＩＤＣが現に異常ではないし、将来異常になる可能性もないと判定されると、ステップＳ３０７の判定がＮＯとなり、ステップＳ３０８がスキップされる。続いて、ステップＳ３０９において、ΔＳＯＣが、瞬間直流電流値ＩＤＣと仮想モータ計算周期Ｔｖとの積として計算される。
【０２２１】
その後、ステップＳ３１０において、その計算されたΔＳＯＣがＳＯＣの現在値に加算されることにより、ＳＯＣの現在値が更新される。続いて、ステップＳ３１１において、前述の第２異常判定が行われ、ＳＯＣが現に異常であるかまたは将来異常になる可能性があると判定されると、ステップＳ３１２の判定がＹＥＳとなり、ステップＳ３１３において、前述の第２修正動作が行われる。その後、ステップＳ３０３に戻る。
【０２２２】
これに対し、ＳＯＣが現に異常ではないし、将来異常になる可能性もないと判定されると、ステップＳ３１２の判定がＮＯとなり、ステップＳ３１３がスキップされる。その後、ステップＳ３０３に戻る。
【０２２３】
以上の説明から明らかなように、本実施形態によれば、実モータ１２の将来の作動状態を予測する仮想モータ６０が利用されることにより、実モータ電流およびＳＯＣのそれぞれの将来値が推定され、それら推定値に基づき、実モータ１２およびバッテリ３２につき、異常判定（すなわち、自己診断）および修正動作が、実モータ１２の現在の作動状態を参照して自己診断を行う場合より早期に行われる。これにより、実モータ１２およびバッテリ３２の異常を予知して未然に防止することが容易となる。
【０２２４】
以上、本発明の実施の形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、前記［発明の概要］の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【図１】
2014161201.tif 000003
【図２】
2014161201.tif 000004
【図３】
2014161201.tif 000005
【図４】
2014161201.tif 000006
【図５】
2014161201.tif 000007
【図６】
2014161201.tif 000008
【図７】
2014161201.tif 000009
【図８】
2014161201.tif 000010
【図９】
2014161201.tif 000011
【図１０】
2014161201.tif 000012
【図１１】
2014161201.tif 000013
【図１２】
2014161201.tif 000014
【図１３】
2014161201.tif 000015
【図１４】
2014161201.tif 000016
【図１５】
2014161201.tif 000017
【図１６】
2014161201.tif 000018
【図１７】
2014161201.tif 000019