JP2014128190A - Motor control device and motor control method - Google Patents

Motor control device and motor control method Download PDF

Info

Publication number
JP2014128190A
JP2014128190A JP2013127465A JP2013127465A JP2014128190A JP 2014128190 A JP2014128190 A JP 2014128190A JP 2013127465 A JP2013127465 A JP 2013127465A JP 2013127465 A JP2013127465 A JP 2013127465A JP 2014128190 A JP2014128190 A JP 2014128190A
Authority
JP
Japan
Prior art keywords
motor
virtual
actual
control signal
real
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013127465A
Other languages
Japanese (ja)
Inventor
Shinichi Fujii
真一 藤井
Nobuhiko Ozaki
順彦 尾崎
Narihisa Isobe
成久 磯部
Kan Akatsu
観 赤津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DSP TECHNOLOGY KK
Original Assignee
DSP TECHNOLOGY KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by DSP TECHNOLOGY KK filed Critical DSP TECHNOLOGY KK
Priority to JP2013127465A priority Critical patent/JP2014128190A/en
Publication of JP2014128190A publication Critical patent/JP2014128190A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To facilitate the support of the design of an actual motor and/or an actual control system for the actual motor, and to facilitate the control of the actual motor.SOLUTION: The motor control device includes: a virtual motor 60 for simulating an actual motor 12; and a control part 50 for determining a control signal which is common to the actual motor 12 and the virtual motor 60 on the basis of a control target value, and for outputting the control signal to the actual motor 12 and the virtual motor 60. When the control signal is input, the virtual motor 60 estimates the operation state of the actual motor 12 to be achieved in response to the control signal on the basis of the control signal, and the control part 50 determines the control signal to allow the virtual motor 60 and the actual motor 12 to operate substantially in synchronization with each other in every calculation cycle on the basis of the control target value, a virtual motor operation state output from the virtual motor 60 in a previous calculation cycle and the actual operation state of the actual motor 12.

Description

本発明は、電気エネルギーを運動エネルギーに変換する実モータを制御する技術に関する。   The present invention relates to a technique for controlling an actual motor that converts electrical energy into kinetic energy.

電気エネルギーを運動エネルギーに変換するために、電気的に駆動されるモータが使用される。この種のモータは、ますます拡大する種々の用途を有しており、そのような用途としては、例えば、自動車の如き移動体の駆動源や、ロボット、工作機械、搬送機械、荷役機械、空調機器、事務機器の如き運動発生装置の駆動源(アクチュエータ)がある。   An electrically driven motor is used to convert electrical energy into kinetic energy. This type of motor has a wide variety of applications. Examples of such applications include a drive source for a moving body such as an automobile, a robot, a machine tool, a transport machine, a cargo handling machine, and an air conditioner. There are drive sources (actuators) for motion generators such as equipment and office equipment.

例えば、自動車という用途においては、モータのみを駆動源として搭載する形式であるか、モータと燃焼機関とをいずれも駆動源として搭載する形式であるかを問わず、モータを駆動源として自動車に搭載することが普及している。この用途においては、モータの種類やモータが使用される環境の如何を問わず、モータを思い通りに制御することがますます必要となってきている。   For example, in the case of an automobile, whether it is a type in which only a motor is mounted as a driving source or a type in which both a motor and a combustion engine are mounted as driving sources, the motor is mounted on the automobile as a driving source. It is popular. In this application, it is becoming increasingly necessary to control the motor as desired regardless of the type of motor and the environment in which the motor is used.

モータを使用する場合には、そのモータを制御する制御系の設計が重要である。また、モータを精度よく制御するためには、モータの入出力特性に適合する制御系の設計が必要である。   When a motor is used, it is important to design a control system that controls the motor. In addition, in order to control the motor with high accuracy, it is necessary to design a control system suitable for the input / output characteristics of the motor.

また、モータのための制御系を設計するために、実際のモータを使用することが困難である場合がある。この場合には、その実モータの入出力特性を模擬する計算を行う仮想モータが実モータの代わりに使用され、その仮想モータを用いて、実モータのための制御系が設計される場合もある(例えば、特許文献1および2参照。)。   In addition, it may be difficult to use an actual motor in order to design a control system for the motor. In this case, a virtual motor that performs calculation that simulates the input / output characteristics of the actual motor may be used instead of the actual motor, and a control system for the actual motor may be designed using the virtual motor ( For example, see Patent Documents 1 and 2.)

制御系の設計に際し、実モータの入出力特性が線形である場合には、制御系の設計も、仮想モータの設計も容易である。この種の実モータは、一般に、希土類を使用する磁石を使用する。   When designing the control system, if the input / output characteristics of the real motor are linear, the design of the control system and the design of the virtual motor are easy. This type of real motor generally uses magnets that use rare earths.

特開2006−318200号公報JP 2006-318200 A 特開2009−284637号公報JP 2009-284737 A

しかしながら、近年、希土類の入手が困難となっていることもあり、磁石を用いないモータに転換したいという要望が増してきている。また、磁石を用いるにしてもその使用量を減らしたいという要望もある。磁石の使用量が少ないモータは、小型化・高速化に伴い、定格出力(例えば、モータ速度やモータトルク)を超えた領域で使用される場合がある。また、安価な磁石材料を用いてモータを製作したいという要望もある。   However, in recent years, it has become difficult to obtain rare earth elements, and there is an increasing demand for switching to motors that do not use magnets. There is also a desire to reduce the amount of use of magnets. A motor that uses a small amount of magnets may be used in a region that exceeds a rated output (for example, motor speed or motor torque) as the size and speed of the motor increase. There is also a desire to manufacture motors using inexpensive magnet materials.

いずれにしても、モータの入出力特性が非線形となり易く、そのため、そのようなモータのための制御系の設計も困難となり易い。   In any case, the input / output characteristics of the motor are likely to be non-linear, which makes it difficult to design a control system for such a motor.

また、モータのための制御系は、モータの作動状態(例えば、モータ位置やモータ電流など)を検出するセンサを用いる場合が多い。この場合、使用するセンサの数を減らすことが、装置コストを削減したいという要望や、装置の信頼性を向上させて安全性を向上させたいという要望を満たすために重要である。   In many cases, a control system for a motor uses a sensor that detects an operating state of the motor (for example, a motor position or a motor current). In this case, it is important to reduce the number of sensors used in order to satisfy the desire to reduce the device cost and the desire to improve the reliability of the device by improving the reliability of the device.

以上説明した事情を背景として、本発明は、実モータおよび/またはその実モータのための実制御系の設計の支援を容易にしたり、実モータの制御を容易にすることを課題としてなされたものである。   In view of the circumstances described above, the present invention has been made with the object of facilitating the support of the design of the actual motor and / or the actual control system for the actual motor, and facilitating the control of the actual motor. is there.

その課題を解決するために、本発明の第1側面によれば、電気エネルギーを運動エネルギーに変換する実モータを制御するモータ制御装置であって、In order to solve the problem, according to the first aspect of the present invention, there is provided a motor control device that controls an actual motor that converts electrical energy into kinetic energy,
前記実モータを模擬する仮想モータと、  A virtual motor that simulates the real motor;
各計算サイクルごとに、制御目標値に基づき、前記実モータと前記仮想モータとに共通の制御信号を決定するとともに、その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する制御部と  In each calculation cycle, a control signal common to the real motor and the virtual motor is determined based on the control target value, and the determined control signal is output to the real motor and the virtual motor, respectively. Department and
を含み、  Including
前記仮想モータは、各計算サイクルごとに、前記制御信号が入力されると、その入力された制御信号に基づき、その制御信号に応答して実現される前記実モータの作動状態を推定するとともに、その推定された実モータ作動状態を前記仮想モータの作動状態として出力し、  When the control signal is input for each calculation cycle, the virtual motor estimates the operating state of the real motor realized in response to the control signal based on the input control signal, Output the estimated actual motor operating state as the operating state of the virtual motor,
前記制御部は、各回の計算サイクルにおいて、前記制御目標値と、前回の計算サイクルにおいて前記仮想モータから出力された仮想モータ作動状態と、前記実モータの実際の作動状態とに基づき、前記仮想モータと前記実モータとがそれぞれ互いに実質的に同期して作動するように、前記制御信号を決定するモータ制御装置が提供される。  The control unit, based on the control target value in each calculation cycle, the virtual motor operating state output from the virtual motor in the previous calculation cycle, and the actual operating state of the real motor, There is provided a motor control device for determining the control signal such that the real motor and the actual motor operate substantially in synchronization with each other.

本発明の第2側面によれば、電気エネルギーを運動エネルギーに変換する実モータを制御するモータ制御方法であって、  According to a second aspect of the present invention, there is provided a motor control method for controlling an actual motor that converts electrical energy into kinetic energy,
各計算サイクルごとに、制御目標値に基づき、前記実モータとその実モータを模擬する仮想モータとに共通の制御信号を決定する決定工程と、  For each calculation cycle, based on a control target value, a determination step for determining a control signal common to the real motor and a virtual motor that simulates the real motor;
各計算サイクルごとに、その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する出力工程と、  An output step for outputting the determined control signal to each of the real motor and the virtual motor for each calculation cycle;
各計算サイクルごとに、前記制御信号を前記仮想モータに入力し、それにより、その仮想モータに、前記入力された制御信号に基づき、その制御信号に応答して実現される前記実モータの作動状態を推定させる推定工程と  For each calculation cycle, the control signal is input to the virtual motor, whereby the virtual motor is operated in response to the control signal based on the input control signal. An estimation process for estimating
を含み、  Including
前記決定工程は、各回の計算サイクルにおいて、前記制御目標値と、前回の計算サイクルにおいて前記仮想モータによって推定された実モータ作動状態と、前記実モータの実際の作動状態とに基づき、前記仮想モータと前記実モータとがそれぞれ互いに実質的に同期して作動するように、前記制御信号を決定するモータ制御方法が提供される。  The determining step is based on the control target value in each calculation cycle, the actual motor operating state estimated by the virtual motor in the previous calculation cycle, and the actual operating state of the actual motor. There is provided a motor control method for determining the control signal such that the real motor and the actual motor operate substantially synchronously with each other.

本発明によって下記の各態様が得られる。各態様は、項に区分し、各項には番号を付し、必要に応じて他の項の番号を引用する形式で記載する。これは、本発明が採用し得る技術的特徴の一部およびそれの組合せの理解を容易にするためであり、本発明が採用し得る技術的特徴およびそれの組合せが以下の態様に限定されると解釈すべきではない。すなわち、下記の態様には記載されていないが本明細書には記載されている技術的特徴を本発明の技術的特徴として適宜抽出して採用することは妨げられないと解釈すべきなのである。   The following aspects are obtained by the present invention. Each aspect is divided into sections, each section is given a number, and is described in a form that cites other section numbers as necessary. This is to facilitate understanding of some of the technical features that the present invention can employ and combinations thereof, and the technical features that can be employed by the present invention and combinations thereof are limited to the following embodiments. Should not be interpreted. That is, it should be construed that it is not impeded to appropriately extract and employ the technical features described in the present specification as technical features of the present invention although they are not described in the following embodiments.

さらに、各項を他の項の番号を引用する形式で記載することが必ずしも、各項に記載の技術的特徴を他の項に記載の技術的特徴から分離させて独立させることを妨げることを意味するわけではなく、各項に記載の技術的特徴をその性質に応じて適宜独立させることが可能であると解釈すべきである。   Further, describing each section in the form of quoting the numbers of the other sections does not necessarily prevent the technical features described in each section from being separated from the technical features described in the other sections. It should not be construed as meaning, but it should be construed that the technical features described in each section can be appropriately made independent depending on the nature.

(1) 電気エネルギーを運動エネルギーに変換する実モータを制御するモータ制御装置であって、
前記実モータを模擬する仮想モータと、
制御目標値に基づき、前記実モータと前記仮想モータとに共通の制御信号を決定し、その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する制御部と
を含み、
前記仮想モータは、前記制御信号が入力されると、その入力された制御信号に基づき、その制御信号に応答して実現される前記実モータの作動状態を前記仮想モータの作動状態として推定し、
前記制御部は、その推定された仮想モータ作動状態と、前記実モータの作動状態とのうちの少なくとも仮想モータ作動状態に基づき、前記実モータと前記仮想モータとのうちの少なくとも一方に影響を与えるモータ制御装置。
(1) A motor control device that controls an actual motor that converts electrical energy into kinetic energy,
A virtual motor that simulates the real motor;
A control unit that determines a control signal common to the real motor and the virtual motor based on a control target value, and outputs the determined control signal to the real motor and the virtual motor, respectively.
When the control signal is input to the virtual motor, the operating state of the real motor realized in response to the control signal is estimated as the operating state of the virtual motor based on the input control signal.
The control unit affects at least one of the real motor and the virtual motor based on at least the virtual motor operation state of the estimated virtual motor operation state and the operation state of the real motor. Motor control device.

本明細書の全体を通して、「実モータを模擬する仮想モータ」という文言は、例えば、実モータの実際のまたは目標の入出力特性と実質的に同じ入出力特性を有する仮想モータを意味するように解釈したり、モータの入出力特性や動特性を定義するモータモデルを実モータとの間で実質的に共有する仮想モータを意味するように解釈することが可能である。   Throughout this specification, the phrase “virtual motor that simulates a real motor” means, for example, a virtual motor that has substantially the same input / output characteristics as the actual or target input / output characteristics of the real motor. It can be interpreted to mean a virtual motor that substantially shares the motor model defining the input / output characteristics and dynamic characteristics of the motor with the actual motor.

また、「制御信号」という用語は、実モータおよび仮想モータに直接的に入力されるか、または間接的に入力され、それにより、結果的に、それら実モータおよび仮想モータの作動状態に変化を与えることとなる信号を意味する。   In addition, the term “control signal” is input directly or indirectly to the real motor and the virtual motor, thereby changing the operation state of the real motor and the virtual motor. Means the signal to be given.

この意味における制御信号は、例えば、第1信号がインバータやパワーアンプなどの電力変換器に入力されると、前記第1信号に見合った電気エネルギーが第2信号としてモータに入力される入力系統については、前記第1信号を意味する用語として解釈したり、前記第2信号を意味する用語として解釈することが可能である。なぜなら、前記第1信号も前記第2信号も、モータにとり、そのモータを制御するための信号であることに変わりはなく、しかも、モータの作動状態に一義的に対応する信号であるからである。   The control signal in this sense is an input system in which, for example, when a first signal is input to a power converter such as an inverter or a power amplifier, electric energy corresponding to the first signal is input to the motor as a second signal. Can be interpreted as a term meaning the first signal or as a term meaning the second signal. This is because both the first signal and the second signal are signals for controlling the motor for the motor, and are signals that uniquely correspond to the operating state of the motor. .

(2) 前記仮想モータは、前記制御信号が入力されると、前記実モータを模擬する解析プログラムをプロセッサに実行させることにより、前記入力された制御信号に基づいて実現される前記実モータの作動状態を推定するための計算を行う(1)項に記載のモータ制御装置。 (2) When the control signal is input, the virtual motor causes the processor to execute an analysis program for simulating the real motor, and the operation of the real motor is realized based on the input control signal. The motor control device according to item (1), wherein calculation for estimating the state is performed.

(3) 前記実モータは、応答遅れを有するが、前記仮想モータは、応答遅れを実質的に有せず、それにより、それら実モータと仮想モータとに同時に前記制御信号が入力されると、その制御信号に対して前記実モータが応答するタイミングより早いタイミングで、前記仮想モータが応答する(1)または(2)項に記載のモータ制御装置。 (3) The real motor has a response delay, but the virtual motor has substantially no response delay, so that when the control signal is input to the real motor and the virtual motor at the same time, The motor control device according to (1) or (2), wherein the virtual motor responds at a timing earlier than a timing at which the real motor responds to the control signal.

(4) 前記制御目標値は、前記制御部に入力周期で反復的に入力され、
前記制御部は、1サイクル分の計算を前記入力周期より短い計算周期で反復的に行い、それにより、前記制御目標値の1回の入力サイクルの間、複数サイクル分の計算を行う(1)ないし(3)項のいずれかに記載のモータ制御装置。
(4) The control target value is repeatedly input to the control unit at an input cycle,
The control unit repeatedly performs calculation for one cycle at a calculation period shorter than the input period, thereby performing calculation for a plurality of cycles during one input cycle of the control target value (1). The motor control device according to any one of items (3) to (3).

(5) 前記実モータの作動状態は、その実モータの実作動位置を含み、
前記制御部は、前記制御目標値が前記仮想モータによって実現されるように、前記制御目標値と、前記推定された仮想モータ作動状態とに基づき、かつ、前記仮想モータの仮想作動位置が前記実作動位置に一致すると仮定して、前記制御信号を決定する制御信号決定部を含む(1)ないし(4)項のいずれかに記載のモータ制御装置。
(5) The operating state of the actual motor includes an actual operating position of the actual motor,
The control unit is configured based on the control target value and the estimated virtual motor operating state so that the control target value is realized by the virtual motor, and the virtual operating position of the virtual motor is the actual operating position. The motor control device according to any one of (1) to (4), further including a control signal determining unit that determines the control signal on the assumption that the operating position coincides.

(6) 前記制御部は、1サイクル分の計算を計算周期で反復的に行い、各回の計算サイクルにおいては、前記仮想モータの作動状態であってその仮想モータの前回の計算によって取得された前回計算値をフィードバックすることにより、前記制御目標値と、前記実モータの作動状態と、前記仮想モータ作動状態の前回計算値とに基づき、前記制御信号を決定する(1)ないし(5)項のいずれかに記載のモータ制御装置。 (6) The control unit repeatedly performs calculation for one cycle at a calculation cycle. In each calculation cycle, the control unit is in an operating state of the virtual motor and is acquired by the previous calculation of the virtual motor. By feeding back the calculated value, the control signal is determined based on the control target value, the actual motor operating state, and the previous calculated value of the virtual motor operating state (1) to (5) The motor control apparatus in any one.

(7) 前記制御部は、各回の計算サイクルにおいて、前記仮想モータ作動状態の前回計算値をフィードバックすることにより、前記制御目標値と、前記実モータの作動状態と、前記仮想モータ作動状態の前回計算値とに基づき、前記実モータと前記仮想モータとに共通の仮制御信号を決定し、その決定された仮制御信号に対して位相遅れ補償を行うことにより、前記実モータと前記仮想モータとに共通の最終制御信号を取得し、その取得された最終制御信号を前記実モータと前記仮想モータとにそれぞれ出力し、それにより、各回の計算サイクルにおいて、前記仮想モータを少なくとも1回作動させる(6)項に記載のモータ制御装置。 (7) The control unit feeds back the previous calculated value of the virtual motor operating state in each calculation cycle, thereby enabling the control target value, the actual motor operating state, and the previous virtual motor operating state. Based on the calculated value, a temporary control signal common to the real motor and the virtual motor is determined, and phase delay compensation is performed on the determined temporary control signal, so that the real motor and the virtual motor And obtaining the final control signal common to the real motor and outputting the obtained final control signal to the real motor and the virtual motor, respectively, thereby operating the virtual motor at least once in each calculation cycle ( The motor control device according to item 6).

(8) 前記制御部は、各回の計算サイクルにおいて、前記仮想モータを少なくとも2回作動させ、
前記制御部は、各回の計算サイクルにおいて、前記仮想モータについての1回目の作動のために、前記仮想モータ作動状態の前回計算値をフィードバックすることにより、今回の制御目標値と、前記実モータの現時点での作動状態と、前記仮想モータ作動状態の前回計算値とに基づき、前記仮想モータのための仮制御信号を決定し、その決定された仮制御信号を、前記実モータに出力することなく、前記仮想モータに出力し、それにより、その仮想モータの今回の作動状態を推定し、
前記制御部は、各回の計算サイクルにおいて、前記仮想モータについての最終回の作動のために、前記仮想モータ作動状態の前回計算値をフィードバックすることにより、今回の制御目標値と、前記実モータの現時点での作動状態と、前記仮想モータ作動状態の前回計算値とに基づき、前記実モータと前記仮想モータとに共通の最終制御信号を決定し、その決定された最終制御信号を前記実モータと前記仮想モータとにそれぞれ出力する(6)項に記載のモータ制御装置。
(8) The control unit operates the virtual motor at least twice in each calculation cycle,
In each calculation cycle, the control unit feeds back the previous calculated value of the virtual motor operating state for the first operation of the virtual motor, so that the current control target value and the actual motor Based on the current operating state and the previous calculated value of the virtual motor operating state, a temporary control signal for the virtual motor is determined, and the determined temporary control signal is not output to the real motor. , Output to the virtual motor, thereby estimating the current operating state of the virtual motor,
In each calculation cycle, the control unit feeds back the previous calculated value of the virtual motor operating state for the final operation of the virtual motor, whereby the current control target value and the real motor Based on the current operation state and the previous calculated value of the virtual motor operation state, a final control signal common to the real motor and the virtual motor is determined, and the determined final control signal is determined as the real motor. The motor control device according to item (6), which is output to each of the virtual motors.

(9) 前記制御部は、
前記制御目標値と、前記仮想モータの作動状態とに基づいて前記制御信号を決定し、その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する第1制御信号決定部と、
前記実モータの作動状態と前記仮想モータの作動状態との差に基づき、その差が減少するように、前記仮想モータの入出力特性を修正する修正部と
を含む(1)ないし(8)項のいずれかに記載のモータ制御装置。
(9) The control unit
A first control signal determining unit that determines the control signal based on the control target value and the operating state of the virtual motor, and outputs the determined control signal to the real motor and the virtual motor, respectively;
(1) to (8) including a correction unit that corrects input / output characteristics of the virtual motor based on a difference between the operating state of the real motor and the operating state of the virtual motor so as to reduce the difference. The motor control apparatus in any one of.

(10) 前記制御部は、
前記仮想モータを単独で駆動する単独駆動モードと、前記仮想モータを前記実モータと一緒に駆動する双方駆動モードとのうちの単独駆動モードが選択されると、前記仮想モータの作動状態に基づいてその仮想モータを制御し、前記双方駆動モードが選択されると、前記制御目標値に基づいて前記制御信号を決定し、その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する第2制御信号決定部を含む(1)ないし(9)項のいずれかに記載のモータ制御装置。
(10) The control unit
When the single drive mode is selected from the single drive mode for driving the virtual motor alone and the dual drive mode for driving the virtual motor together with the real motor, the virtual motor is operated based on the operating state of the virtual motor. When the virtual motor is controlled and the two-way drive mode is selected, the control signal is determined based on the control target value, and the determined control signal is output to the real motor and the virtual motor, respectively. The motor control device according to any one of (1) to (9), including a second control signal determination unit.

(11) 電気エネルギーを運動エネルギーに変換する実モータを制御するモータ制御方法であって、
制御目標値に基づき、前記実モータとその実モータを模擬する仮想モータとに共通の制御信号を決定する決定工程と、
その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する出力工程と、
前記制御信号が前記仮想モータに入力されると、その入力された制御信号に基づき、その制御信号に応答して実現される前記実モータの作動状態を前記仮想モータの作動状態として推定する推定工程と、
その推定された仮想モータ作動状態と、前記実モータの作動状態とのうちの少なくとも仮想モータ作動状態に基づき、前記仮想モータと前記実モータとのうちの少なくとも一方に影響を与える影響付与工程と
を含むモータ制御方法。
(11) A motor control method for controlling an actual motor that converts electrical energy into kinetic energy,
A determination step of determining a control signal common to the real motor and a virtual motor simulating the real motor based on a control target value;
An output step of outputting the determined control signal to the real motor and the virtual motor, respectively;
When the control signal is input to the virtual motor, based on the input control signal, an estimation step of estimating the operation state of the real motor realized in response to the control signal as the operation state of the virtual motor When,
An influence applying step that affects at least one of the virtual motor and the real motor based on at least the virtual motor operation state of the estimated virtual motor operation state and the actual motor operation state. Including motor control method.

(12) 前記影響付与工程は、前記決定工程を、前記制御目標値と、前記推定された仮想モータ作動状態と、前記実モータの作動状態とに基づいて前記制御信号を決定するように設定する工程を含む(11)項に記載のモータ制御方法。 (12) In the influence applying step, the determining step is set so as to determine the control signal based on the control target value, the estimated virtual motor operating state, and the actual motor operating state. The motor control method according to item (11), including a step.

(13) 前記影響付与工程は、前記推定された仮想モータ作動状態と前記実モータの作動状態との差に基づき、その差が減少するように、前記仮想モータの入出力特性を修正する修正工程を含む(11)または(12)項に記載のモータ制御方法。 (13) The correcting step of correcting the input / output characteristics of the virtual motor so that the difference decreases based on the difference between the estimated virtual motor operating state and the actual motor operating state. The motor control method according to item (11) or (12).

(14) (11)ないし(13)項のいずれかに記載のモータ制御方法を実行するためにコンピュータによって実行されるプログラム。 (14) A program executed by a computer to execute the motor control method according to any one of (11) to (13).

(15) (14)項に記載のプログラムをコンピュータ読み取り可能に記録した記録媒体。 (15) A recording medium on which the program according to item (14) is recorded so as to be readable by a computer.

この記録媒体は種々な形式を採用可能であり、例えば、フレキシブル・ディスク等の磁気記録媒体、CD、CD−ROM等の光記録媒体、MO等の光磁気記録媒体、ROM等のアンリムーバブル・ストレージ等のいずれかを採用し得るが、それらに限定されない。   This recording medium can adopt various formats, for example, a magnetic recording medium such as a flexible disk, an optical recording medium such as a CD and a CD-ROM, a magneto-optical recording medium such as an MO, and an unremovable storage such as a ROM. However, it is not limited to them.

(16) 実モータを駆動源とするシステムであって、
前記実モータを模擬する仮想モータと、
制御目標値に基づき、前記実モータと前記仮想モータとに共通の制御信号を決定し、その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する制御部と
を含み、
前記仮想モータは、前記制御信号が入力されると、その入力された制御信号に基づき、その制御信号に応答して実現される前記実モータの作動状態を前記仮想モータの作動状態を推定し、
前記制御部は、その推定された仮想モータ作動状態と、前記実モータの作動状態とのうちの少なくとも仮想モータ作動状態に基づき、前記実モータと前記仮想モータとのうちの少なくとも一方に影響を与えるシステム。
(16) A system using an actual motor as a drive source,
A virtual motor that simulates the real motor;
A control unit that determines a control signal common to the real motor and the virtual motor based on a control target value, and outputs the determined control signal to the real motor and the virtual motor, respectively.
When the control signal is input to the virtual motor, based on the input control signal, the operating state of the virtual motor is estimated based on the operating state of the real motor realized in response to the control signal,
The control unit affects at least one of the real motor and the virtual motor based on at least the virtual motor operation state of the estimated virtual motor operation state and the operation state of the real motor. system.

(17) 電気エネルギーを運動エネルギーに変換する実モータを制御するモータ制御装置であって、
前記実モータを模擬する仮想モータと、
制御目標値に基づいて第1制御信号を決定し、その決定された第1制御信号を前記実モータに出力することによってその実モータを作動させることを周期的に行うとともに、その実モータの作動中、前記制御目標値に基づいて第2制御信号を決定し、その決定された第2制御信号を前記仮想モータに出力することによってその仮想モータを作動させることを周期的に行う制御部と
を含み、
前記仮想モータは、前記第2制御信号が入力されると、その入力された第2制御信号に基づき、その第2制御信号に応答して実現される前記仮想モータの作動状態として推定し、
前記制御部は、前記実モータに前記第1制御信号を出力するのに先立ち、前記第2制御信号を決定することと、その決定された第2制御信号を前記仮想モータに出力することによってその仮想モータの作動状態を推定することと、その推定された仮想モータ作動状態と前記制御目標値とに基づいて前記第1制御信号を決定するモータ制御装置。
(17) A motor control device that controls an actual motor that converts electrical energy into kinetic energy,
A virtual motor that simulates the real motor;
A first control signal is determined based on the control target value, and the actual motor is operated periodically by outputting the determined first control signal to the actual motor, and during the operation of the actual motor, A control unit that periodically operates the virtual motor by determining a second control signal based on the control target value and outputting the determined second control signal to the virtual motor;
When the second control signal is input, the virtual motor is estimated based on the input second control signal as an operating state of the virtual motor realized in response to the second control signal,
Prior to outputting the first control signal to the real motor, the control unit determines the second control signal and outputs the determined second control signal to the virtual motor. A motor control device that estimates an operating state of a virtual motor and determines the first control signal based on the estimated virtual motor operating state and the control target value.

本発明によれば、実モータと仮想モータとが時間的に互いに並行して作動させられるため、仮想モータの作動状態に基づいて実モータを制御したり、逆に、実モータの作動状態に基づいて仮想モータの入出力特性を修正することが可能となる。   According to the present invention, since the real motor and the virtual motor are operated in parallel with each other in time, the real motor is controlled based on the operating state of the virtual motor, or conversely, based on the operating state of the real motor. Thus, the input / output characteristics of the virtual motor can be corrected.

図1は、本発明の例示的な第1実施形態に従うモータ制御装置を有するシステム全体を表す機能ブロック図である。FIG. 1 is a functional block diagram showing an entire system having a motor control device according to the first exemplary embodiment of the present invention. 図2は、図1に示す実インバータ/パワーアンプの一例を概略的に示す回路図である。FIG. 2 is a circuit diagram schematically showing an example of the actual inverter / power amplifier shown in FIG. 図3は、図1に示す仮想モータ計算部の一例を表す機能ブロック図である。FIG. 3 is a functional block diagram illustrating an example of the virtual motor calculation unit illustrated in FIG. 1. 図4は、図3に示す仮想モータが用いるモータモデルの一例を概略的にかつ数学的に記述する図である。FIG. 4 is a diagram schematically and mathematically describing an example of a motor model used by the virtual motor shown in FIG. 図5(a)は、図3に示す仮想モータ制御部の一例を表す機能ブロック図であり、図5(b)は、図3に示す仮想モータ制御部の別の例を表す機能ブロック図である。FIG. 5A is a functional block diagram illustrating an example of the virtual motor control unit illustrated in FIG. 3, and FIG. 5B is a functional block diagram illustrating another example of the virtual motor control unit illustrated in FIG. is there. 図6(a)は、図3に示す仮想モータ計算部の全体シーケンスを示すタイミングチャートであり、図6(b)は、その仮想モータ計算部が図5(a)に示す構成を採用した場合の作動を示すタイミングチャートであり、図6(c)は、その仮想モータ計算部が図5(b)に示す構成を採用した場合の作動を示すタイミングチャートである。FIG. 6A is a timing chart showing the entire sequence of the virtual motor calculation unit shown in FIG. 3, and FIG. 6B shows a case where the virtual motor calculation unit adopts the configuration shown in FIG. FIG. 6C is a timing chart showing the operation when the virtual motor calculation unit adopts the configuration shown in FIG. 5B. 図7は、図3に示す仮想PWMインバータの一例を概略的にかつ数学的に記述する図である。FIG. 7 is a diagram schematically and mathematically describing an example of the virtual PWM inverter shown in FIG. 図8は、図1に示すモータ制御装置の作動の一例を概念的に表すフローチャートである。FIG. 8 is a flowchart conceptually showing an example of the operation of the motor control device shown in FIG. 図9は、本発明の例示的な第2実施形態に従うモータ制御装置の作動の一例を示すタイミングチャートである。FIG. 9 is a timing chart showing an example of the operation of the motor control device according to the second exemplary embodiment of the present invention. 図10は、前記第2実施形態に従うモータ制御装置の作動の一例を概念的に表すフローチャートである。FIG. 10 is a flowchart conceptually showing an example of operation of the motor control device according to the second embodiment. 図11は、本発明の例示的な第3実施形態に従うモータ制御装置を有するシステム全体を表す機能ブロック図である。FIG. 11 is a functional block diagram showing the entire system having the motor control device according to the third exemplary embodiment of the present invention. 図12は、図11に示す仮想モータ計算部の一例を表す機能ブロック図である。FIG. 12 is a functional block diagram illustrating an example of the virtual motor calculation unit illustrated in FIG. 11. 図13は、図11に示す実モータ制御部の作動の一例を概念的に表すフローチャートである。FIG. 13 is a flowchart conceptually showing an example of the operation of the actual motor control unit shown in FIG. 図14は、図12に示す仮想モータ計算部の作動の一例を概念的に表すフローチャートである。FIG. 14 is a flowchart conceptually showing an example of the operation of the virtual motor calculation unit shown in FIG. 図15は、図12に示す比較部およびモデル修正部のそれぞれの作動の一例を概念的に表すフローチャートである。FIG. 15 is a flowchart conceptually showing an example of the operation of each of the comparison unit and the model correction unit shown in FIG. 図16は、本発明の例示的な第4実施形態に従うモータ制御装置を有するシステム全体を表す機能ブロック図である。FIG. 16 is a functional block diagram showing the entire system having the motor control device according to the fourth exemplary embodiment of the present invention. 図17は、図16に示す仮想モータ計算部の一例を表す機能ブロック図である。FIG. 17 is a functional block diagram illustrating an example of the virtual motor calculation unit illustrated in FIG. 16. 図18は、図17に示す制御切替部の作動の一例を概念的に表すフローチャートである。FIG. 18 is a flowchart conceptually showing an example of the operation of the control switching unit shown in FIG. 図19は、図17に示す状態信号切替部の作動の一例を概念的に表すフローチャートである。FIG. 19 is a flowchart conceptually showing an example of the operation of the state signal switching unit shown in FIG.

以下、本発明のさらに具体的で例示的な実施の形態のうちのいくつかを図面に基づいて詳細に説明する。   Hereinafter, some of the more specific and exemplary embodiments of the present invention will be described in detail with reference to the drawings.

<第1実施形態> <First Embodiment>

図1には、本発明の例示的な第1実施形態に従うモータ制御装置10を有するシステム11を概略的に表す機能ブロック図である。このシステム11は、そのシステム11の駆動源として実モータ12を備えている。このシステム11のいくつかの具体例としては、前述のように、絶対空間に対して移動する移動体や、可動部材に運動を付与する運動付与装置などがある。   FIG. 1 is a functional block diagram schematically illustrating a system 11 having a motor control device 10 according to a first exemplary embodiment of the present invention. The system 11 includes an actual motor 12 as a drive source for the system 11. Some specific examples of the system 11 include a moving body that moves relative to an absolute space and a motion imparting device that imparts motion to a movable member, as described above.

実モータ12は、一般に、複数極のロータ(図示しない)と、複数極のステータ(図示しない)と、磁束形成部(図示しないが、具体的には、例えば、巻き線)とを有するように構成される。図2に示すように、実モータ12は、前記ロータと共に回転するシャフト13を有しており、そのシャフト13が可動部材(図示しないが、具体的には、例えば、車両の車輪、工作機械の工具、ロボットのアームなど)に機械的に連結され、それにより、可動部材が駆動される。   The actual motor 12 generally has a multi-pole rotor (not shown), a multi-pole stator (not shown), and a magnetic flux forming section (not shown, but specifically, for example, a winding). Composed. As shown in FIG. 2, the actual motor 12 has a shaft 13 that rotates together with the rotor. The shaft 13 is a movable member (not shown, but specifically, for example, a vehicle wheel, a machine tool Mechanically coupled to a tool, robot arm, etc., thereby driving the movable member.

実モータ12のいくつかの具体例としては、界磁に永久磁石を使用して回転する永久磁石同期モータ(PMSM)、永久磁石を使用せず、渦電流を利用して回転する誘導モータ(IM)、スイッチ・リラクタンス・モータ(SRM)などがある。そのリラクタンス・モータにおいては、ロータが、永久磁石を使用することなく、強磁性の鉄心で構成されるため、リラクタンス・モータは、永久磁石を使用しない無整流子モータの一種である。   Some specific examples of the actual motor 12 include a permanent magnet synchronous motor (PMSM) that rotates using a permanent magnet as a field magnet, and an induction motor (IM that rotates using an eddy current without using a permanent magnet). ), Switch reluctance motor (SRM), and the like. In the reluctance motor, since the rotor is composed of a ferromagnetic iron core without using a permanent magnet, the reluctance motor is a kind of non-commutator motor that does not use a permanent magnet.

実モータ12が3相(U相、V相、W相)の巻線を有する場合、実モータ12の各種物理量を記述するために、次のような記号が使用される。   When the actual motor 12 has three-phase (U-phase, V-phase, and W-phase) windings, the following symbols are used to describe various physical quantities of the actual motor 12.

Vu,Vv,Vw:端子電圧(「巻線電圧」または「相電圧」ともいう。)[V]
Iu,Iv,Iw:相電流(「巻線電流」ともいう。)[A]
θm:ロータ(またはシャフト)の角度(位相または回転位置であり、「モータ角」または「モータ位置」ともいう)[rad]
ωm:ロータ(またはシャフト)の角速度(「モータ速度」ともいう)[rad/sec]
T:モータ出力トルク[Nm]
Fu,Fv,Fw:相磁束[Wb]
Vu, Vv, Vw: terminal voltage (also referred to as “winding voltage” or “phase voltage”) [V]
Iu, Iv, Iw: Phase current (also referred to as “winding current”) [A]
θm: Rotor (or shaft) angle (phase or rotational position, also called “motor angle” or “motor position”) [rad]
ωm: Angular speed of rotor (or shaft) (also called “motor speed”) [rad / sec]
T: Motor output torque [Nm]
Fu, Fv, Fw: Phase magnetic flux [Wb]

なお、本実施形態および後述のいくつかの実施形態の説明において、同じ記号が、単独で使用される箇所と、「*」を末尾に有するように使用される箇所とが存在する。それら実施形態においては、同じ記号が、単独で使用される場合には、実際値または検出値を意味する一方、「*」と組み合わせて使用される場合には、指令値を意味するという用法と、同じ記号が、単独で使用される場合には、実モータ12についての物理量であることを意味する一方、「*」と組み合わせて使用される場合には、後述の仮想モータ60についての物理量であることを意味するという用法とがあるが、特記しない限り、前者の用法を採用することに留意されたい。   In the present embodiment and the description of some embodiments described later, there are places where the same symbol is used alone and places where “*” is used at the end. In these embodiments, the same symbol means an actual value or a detected value when used alone, whereas when used in combination with “*”, it means a command value. When the same symbol is used alone, it means a physical quantity for the actual motor 12, whereas when used in combination with “*”, it is a physical quantity for the virtual motor 60 described later. Note that there is a usage that means something, but unless otherwise noted, the former usage is adopted.

図1に示すように、システム11は、実モータ12を駆動するために、実インバータ/パワーアンプ14をさらに備えている。その実インバータ/パワーアンプ14は、実モータ12に電気エネルギーを供給する実インバータまたは実パワーアンプを有するように構成される。実モータ12に供給される電気エネルギーは、実モータ12が3相(U相、V相、W相)の巻線を有する場合、端子電圧Vu,Vv,Vwである。   As shown in FIG. 1, the system 11 further includes a real inverter / power amplifier 14 for driving the real motor 12. The actual inverter / power amplifier 14 is configured to include an actual inverter or an actual power amplifier that supplies electric energy to the actual motor 12. The electrical energy supplied to the actual motor 12 is the terminal voltages Vu, Vv, and Vw when the actual motor 12 has three-phase (U-phase, V-phase, and W-phase) windings.

図2には、実インバータ/パワーアンプ14が実インバータ16を有する場合につき、その実インバータ16が概念的に回路図で表されている。実インバータ16は、既によく知られているように、直流電圧Vdcが印加される入力端子20と、端子電圧Vu,Vv,Vwを実モータ12に出力するための出力端子22と、それら入力端子20と出力端子22との間に接続された複数のゲート24と、端子電圧Vu,Vv,Vwを検出する抵抗26と、その抵抗26に作用する電圧によって端子電圧Vu,Vv,Vwを表すアナログ信号をデジタル信号に変換するADC(交直変換器)28とを有するように構成される。   FIG. 2 conceptually shows a circuit diagram of the actual inverter 16 when the actual inverter / power amplifier 14 includes the actual inverter 16. As is well known, the actual inverter 16 includes an input terminal 20 to which the DC voltage Vdc is applied, an output terminal 22 for outputting the terminal voltages Vu, Vv, and Vw to the actual motor 12, and these input terminals. 20 and a plurality of gates 24 connected between the output terminal 22, a resistor 26 for detecting the terminal voltages Vu, Vv, and Vw, and an analog that represents the terminal voltages Vu, Vv, and Vw by voltages acting on the resistor 26. It is comprised so that it may have ADC (AC / DC converter) 28 which converts a signal into a digital signal.

複数のゲート24は、複数のスイッチング素子(すなわち、複数の上アーム・スイッチング素子および複数の下アーム・スイッチング素子)として構成されており、それらゲート24は、外部からの複数のパルス信号であるゲート信号Gu,Gv,Gw,Gx,Gy,Gwに応じてスイッチング動作を行う。   The plurality of gates 24 are configured as a plurality of switching elements (that is, a plurality of upper arm switching elements and a plurality of lower arm switching elements), and the gates 24 are gates that are a plurality of pulse signals from the outside. Switching operation is performed according to the signals Gu, Gv, Gw, Gx, Gy, and Gw.

このように構成されることにより、実インバータ16は、外部から複数のゲート信号Gu,Gv,Gw,Gx,Gy,Gwが制御信号として入力されると、その制御信号に応じた高さの端子電圧Vu,Vv,VwをPWM(パルス幅変調)方式によって生成し、それら生成された端子電圧Vu,Vv,Vwを実モータ12に供給する。   With this configuration, when the plurality of gate signals Gu, Gv, Gw, Gx, Gy, and Gw are input as control signals from the outside, the actual inverter 16 has a height corresponding to the control signal. The voltages Vu, Vv, Vw are generated by a PWM (pulse width modulation) method, and the generated terminal voltages Vu, Vv, Vw are supplied to the actual motor 12.

外部から実インバータ/パワーアンプ14に入力される制御信号は、実インバータ/パワーアンプ14が実インバータ16を有する場合には、上述のように、前記複数のゲート信号であるが、実インバータ/パワーアンプ14が実パワーアンプ(図示しない)を有する場合には、実モータ12の相数と同数のアナログ信号となる。   When the actual inverter / power amplifier 14 includes the actual inverter 16, the control signal input from the outside to the actual inverter / power amplifier 14 is the plurality of gate signals as described above. When the amplifier 14 has an actual power amplifier (not shown), the number of analog signals is the same as the number of phases of the actual motor 12.

図1に示すように、システム11は、実モータ12の作動状態をモニタするために、実モータ12の作動状態を検出し、その結果を表す実モータ状態信号を出力する実モータ状態検出部30をさらに備えている。実モータ状態検出部30は、実モータ12の作動状態として、例えば、実モータ12の実3相電流Iu,Iv,Iw、実モータ速度ωm、実モータ位置θmなどを検出できる。実3相電流Iu,Iv,Iwをモニタすることが必要である場合には、実モータ状態検出部30は、電流センサ(図示しない)を含むように構成され、また、実モータ位置θmを検出することが必要である場合には、実モータ状態検出部30は、例えば、ロータリ・エンコーダ(図示しない)を含むように構成される。   As shown in FIG. 1, in order to monitor the operating state of the real motor 12, the system 11 detects the operating state of the real motor 12, and outputs an actual motor state signal representing the result. Is further provided. The actual motor state detection unit 30 can detect, for example, the actual three-phase currents Iu, Iv, Iw, the actual motor speed ωm, the actual motor position θm, and the like of the actual motor 12 as the operating state of the actual motor 12. When it is necessary to monitor the actual three-phase currents Iu, Iv, and Iw, the actual motor state detection unit 30 is configured to include a current sensor (not shown), and detects the actual motor position θm. When it is necessary to do so, the actual motor state detection unit 30 is configured to include, for example, a rotary encoder (not shown).

図1に示すように、システム11は、実モータ12を制御するために、プロセッサ40を備えている。プロセッサ40は、FPGA(field-programmable gate array)やASIC(application specific integrated circuit)などの演算回路(例えば、PLD(Programmable logic device)、ワイヤード論理回路)42と、コンピュータのCPU44とを含むように構成されている。演算回路42により、例えば、1μsecという長さの第1の周期で、32ビットの浮動小数点演算を行い、それにより、仮想モータ計算部50による計算を行う。また、CPU44により、例えば、数10μsecという長さの第2の周期であって前記第1の周期より長いもので、システム11の全体を制御するための処理を行う。そのような処理としては、例えば、初期化、終了処理、時間的に可変である制御目標値を表す目標信号を入力する処理などがある。   As shown in FIG. 1, the system 11 includes a processor 40 for controlling the real motor 12. The processor 40 includes an arithmetic circuit (for example, a programmable logic device (PLD), a wired logic circuit) such as a field-programmable gate array (FPGA) or an application specific integrated circuit (ASIC) 42 and a CPU 44 of the computer. Has been. For example, the arithmetic circuit 42 performs a 32-bit floating point arithmetic operation in a first period of 1 μsec, and thereby performs a calculation by the virtual motor calculation unit 50. Further, the CPU 44 performs a process for controlling the entire system 11 with a second period of several tens of μsec, for example, which is longer than the first period. Examples of such processing include initialization, termination processing, and processing for inputting a target signal representing a control target value that is variable in time.

演算回路42により、仮想モータ計算部50が実現される。仮想モータ計算部50は、図3に示すように、仮想モータ60を主体として構成され、その仮想モータ60を用いることにより、実モータ12の作動状態を計算する。仮想モータ60は、前記制御信号が入力されると、実モータ12を模擬する解析プログラムを演算回路42(図1参照)に実行させることにより、前記入力された制御信号に基づいて実現される実モータ12の作動状態を推定するための計算を行う。すなわち、仮想モータ計算部50は、演算回路42により、高速演算可能であるように構成されているのである。   A virtual motor calculator 50 is realized by the arithmetic circuit 42. As shown in FIG. 3, the virtual motor calculation unit 50 is configured mainly with the virtual motor 60, and calculates the operating state of the real motor 12 by using the virtual motor 60. When the control signal is input, the virtual motor 60 is realized based on the input control signal by causing the arithmetic circuit 42 (see FIG. 1) to execute an analysis program that simulates the real motor 12. Calculation for estimating the operating state of the motor 12 is performed. That is, the virtual motor calculation unit 50 is configured to be capable of high-speed calculation by the calculation circuit 42.

前記「背景技術」の欄において詳述したように、従来の技術では、仮想モータ60は、実モータ12や、その実モータ12を制御する実コントローラについての試験が終了するまで、実モータ12を代替するものとして試験機において使用される。そして、それら実モータ12や実コントローラが完成する(仕様が確定する)と、今度は、実モータ12が、仮想モータ60を代替するものとして実機に搭載される。このように、従来の技術では、試験機においても実機においても、仮想モータ60が実モータ12と一緒に搭載されるとともに一緒に作動させられることはなかった。   As described in detail in the section “Background Art”, in the conventional technique, the virtual motor 60 replaces the real motor 12 until the test on the real motor 12 and the real controller that controls the real motor 12 is completed. Used in testing machines. Then, when the real motor 12 and the real controller are completed (specifications are determined), the real motor 12 is now mounted on the real machine as a substitute for the virtual motor 60. As described above, in the conventional technology, the virtual motor 60 is not mounted and operated together with the real motor 12 in both the test machine and the real machine.

これに対し、本実施形態においては、試験機であるか実機であるかを問わず、仮想モータ60が実モータ12と一緒に搭載されるとともに一緒に作動させられ、それにより、仮想モータ60を用いて実モータ12を制御したり、実モータ12を用いて仮想モータ60をティーチングすることが可能である。   On the other hand, in the present embodiment, regardless of whether it is a test machine or a real machine, the virtual motor 60 is mounted together with the real motor 12 and is operated together. It is possible to control the real motor 12 using the teaching method, or to teach the virtual motor 60 using the real motor 12.

仮想モータ計算部50は、実モータ12の停止中(実モータ12に入力される制御信号が時間的に変化しないために、実モータ12への電気エネルギーの供給が不要である場合)であっても、作動し続ける。   The virtual motor calculation unit 50 is in a state where the actual motor 12 is stopped (in the case where the supply of electric energy to the actual motor 12 is unnecessary because the control signal input to the actual motor 12 does not change with time). Will continue to work.

本実施形態においては、システム11のうち、仮想モータ計算部50を構成する部分が、モータ制御装置10を構成し、その仮想モータ計算部50のうち、仮想モータ60を除く部分が、モータ制御装置10のうちの「制御部」を構成している。   In the present embodiment, the portion of the system 11 that constitutes the virtual motor calculation unit 50 constitutes the motor control device 10, and the portion of the virtual motor calculation unit 50 that excludes the virtual motor 60 is the motor control device. 10 of “control units”.

ここで、一般的なモータの入出力特性を説明するに、図4に示すように、3相巻線のモータの入出力特性は、一般に、電圧方程式(電圧電流方程式)によって近似的に記述できることが既に知られている。この事実によれば、その電圧方程式を解くことにより、各相ごとの端子電圧を表すモータ電圧ベクトルv(=[vu,vv,vw])から、各相ごとの相電流を表すモータ電流ベクトルi(=[iu,iv,iw])を計算することができる。   Here, the input / output characteristics of a general motor will be described. As shown in FIG. 4, the input / output characteristics of a three-phase winding motor can generally be described approximately by a voltage equation (voltage-current equation). Is already known. According to this fact, by solving the voltage equation, from the motor voltage vector v (= [vu, vv, vw]) representing the terminal voltage for each phase, the motor current vector i representing the phase current for each phase. (= [Iu, iv, iw]) can be calculated.

図4に示す電圧方程式中の各種記号の定義を説明するに、「Ra」は、モータの巻線抵抗を表し、また、「ψ」は、モータの鎖交磁束ベクトルψ(=[ψu,ψv,ψw])を表し、また、「t」は、時間を表している。   To describe the definitions of various symbols in the voltage equation shown in FIG. 4, “Ra” represents the winding resistance of the motor, and “ψ” represents the flux linkage vector ψ (= [ψu, ψv) of the motor. , Ψw]), and “t” represents time.

図4に示すように、モータの鎖交磁束ベクトルψは、相電流による鎖交磁束と、電機子鎖交磁束との和に等しい。相電流による鎖交磁束は、「L(自己インダクタンス)」と「M(相互インダクタンス)」を各要素とするインダクタンス行列を用いて表現され、また、電機子鎖交磁束は、ベクトルφ(=[φu,φv,φw])として表現される。インダクタンス行列は、各要素L,Mが、モータの電流と角度(位置、位相)との少なくとも一方に依存するテーブルとして表現され、また、電機子鎖交磁束ベクトルφも、各要素が、モータの電流と角度(位置、位相)との少なくとも一方に依存するテーブルとして表現される。それらテーブルにより、前記電圧方程式と協働して、モータの非線形特性を、モータの駆動周波数全域にわたって表現することができる。   As shown in FIG. 4, the linkage flux vector ψ of the motor is equal to the sum of the linkage flux due to the phase current and the armature linkage flux. The interlinkage magnetic flux due to the phase current is expressed using an inductance matrix having “L (self-inductance)” and “M (mutual inductance)” as elements, and the armature interlinkage magnetic flux is represented by the vector φ (= [ φu, φv, φw]). The inductance matrix is expressed as a table in which each element L, M depends on at least one of the motor current and angle (position, phase), and the armature flux linkage vector φ It is expressed as a table that depends on at least one of current and angle (position, phase). With these tables, the non-linear characteristics of the motor can be expressed over the entire driving frequency of the motor in cooperation with the voltage equation.

したがって、図4に示す電圧方程式によって表現される非線形モータモデルを使用すれば、モータの入出力特性が非線形であっても、モータの駆動周波数全域を複数の帯域に分割して各帯域ごとに異なる線形モータモデルを使用することなく、モータの駆動周波数全域を実質的に漏れなくカバーする非線形モータ特性を単一のモデルで精度よく表現することが可能となる。   Therefore, if the nonlinear motor model expressed by the voltage equation shown in FIG. 4 is used, even if the input / output characteristics of the motor are nonlinear, the entire driving frequency of the motor is divided into a plurality of bands and is different for each band. Without using a linear motor model, it is possible to accurately represent a nonlinear motor characteristic that covers the entire drive frequency range of the motor substantially without omission with a single model.

図4に示す電圧方程式は、実モータ12についても成立し、よって、仮想モータ60は、その電圧方程式を解くことにより、図3に示すように、仮想モータ60の各相ごとの端子電圧を表す仮想モータ電圧ベクトルV*(=[Vu*,Vv*,Vw*]であって、図4に示すモータ電圧ベクトルv(=[vu,vv,vw]に相当する)から、仮想モータ60の各相ごとの相電流を表す仮想モータ電流ベクトルI*(=[Iu*,Iv*,Iw*]であって、図4に示すモータ電流ベクトルi(=[iu,iv,iw])に相当する)を計算する。   The voltage equation shown in FIG. 4 is also true for the real motor 12, and therefore the virtual motor 60 represents the terminal voltage for each phase of the virtual motor 60 as shown in FIG. 3 by solving the voltage equation. The virtual motor voltage vector V * (= [Vu *, Vv *, Vw *], which corresponds to the motor voltage vector v (= [vu, vv, vw]) shown in FIG. A virtual motor current vector I * (= [Iu *, Iv *, Iw *] representing a phase current for each phase, which corresponds to the motor current vector i (= [iu, iv, iw]) shown in FIG. ).

したがって、本実施形態によれば、仮想モータ60が、図4に示す電圧方程式によって表現される非線形モータモデルを使用して実モータ12の作動を模擬するため、入出力特性が非線形である実モータ12の駆動周波数全域にわたり、実モータ12の作動を精度よく模擬することが可能となる。   Therefore, according to the present embodiment, the virtual motor 60 simulates the operation of the real motor 12 using the non-linear motor model expressed by the voltage equation shown in FIG. It is possible to accurately simulate the operation of the actual motor 12 over the entire 12 drive frequencies.

仮想モータ60が採用する前記モータモデルは、それの電気系を記述する前記電圧方程式に加えて、それの磁気系を記述するフレミング方程式と、それの機械系を記述する運動方程式(仮想ロータ軸周りのモーメントのつりあいを記述する)とを記述する。フレミング方程式は、フレミングの法則に従い、仮想モータ電流ベクトルI*と仮想電機子鎖交磁束ベクトルφ*とから、仮想モータ60に発生する仮想トルクTe*を計算する。運動方程式は、仮想発生トルクTe*と、仮想負荷トルクTm*と、仮想電機子イナーシャJ*と、仮想減衰係数F*とから、仮想モータ速度ωm*を計算し、さらに、それを時間積分することにより、仮想モータ位置θm*を計算する。   The motor model employed by the virtual motor 60 includes a Fleming equation describing its magnetic system and a motion equation describing its mechanical system (around the virtual rotor axis) in addition to the voltage equation describing its electrical system. Describe the balance of moments). The Fleming equation calculates the virtual torque Te * generated in the virtual motor 60 from the virtual motor current vector I * and the virtual armature flux linkage vector φ * according to Fleming's law. The equation of motion calculates a virtual motor speed ωm * from a virtual generated torque Te *, a virtual load torque Tm *, a virtual armature inertia J *, and a virtual damping coefficient F *, and further integrates it over time. Thus, the virtual motor position θm * is calculated.

実モータ12は、前記ロータを含む可動部材が質量(イナーシャ)や抵抗を有するなどの理由により、応答遅れを有するが、仮想モータ60は、応答遅れを実質的に有しない。その結果、それら実モータ12と仮想モータ60とに同時に前記制御信号が入力されると、その制御信号に対して実モータ12が応答するタイミングより早いタイミングで、仮想モータ60が応答する。   The actual motor 12 has a response delay because the movable member including the rotor has a mass (inertia) or resistance, but the virtual motor 60 has substantially no response delay. As a result, when the control signal is simultaneously input to the real motor 12 and the virtual motor 60, the virtual motor 60 responds at a timing earlier than the timing at which the real motor 12 responds to the control signal.

したがって、ある制御目標値に基づき、ある時刻t(i)に、同じ制御信号を実モータ12と仮想モータ60とに実質的に同時に供給することが必要である場合に、その供給に先立ち、その制御信号と同じ制御信号(この段落および次の段落において、仮想モータ60に供給される制御信号を「X」を付して表記する)を仮想モータ60のみに供給すれば、その時刻t(i)が到来する前に、その制御信号Xに対して仮想モータ60が応答するように仮想モータ60を作動させることが可能である。   Therefore, when it is necessary to supply the same control signal to the real motor 12 and the virtual motor 60 substantially simultaneously at a certain time t (i) based on a certain control target value, If the same control signal as the control signal (in this paragraph and the next paragraph, the control signal supplied to the virtual motor 60 is indicated by “X”) is supplied only to the virtual motor 60, the time t (i The virtual motor 60 can be operated so that the virtual motor 60 responds to the control signal X before) arrives.

よって、そのときの仮想モータ60の作動状態と今回の制御目標値との関係から、制御信号Xを補正すること(例えば、本実施形態における後述の位相遅れ補償や、後述の第2実施形態における2回のフィードバック制御)を、時刻t(i)に先立って行うことが可能となる。したがって、時刻t(i)に先立ち、実モータ12に供給すべき制御信号を、その実モータ12の入出力特性との関係において最適化し、その最適化された制御信号を、時刻t(i)に、実モータ12と仮想モータ60とに供給することが可能である。   Therefore, the control signal X is corrected based on the relationship between the operating state of the virtual motor 60 at this time and the current control target value (for example, phase delay compensation described later in the present embodiment or in the second embodiment described later). (Two feedback control) can be performed prior to time t (i). Therefore, prior to time t (i), the control signal to be supplied to the real motor 12 is optimized in relation to the input / output characteristics of the real motor 12, and the optimized control signal is sent to time t (i). The real motor 12 and the virtual motor 60 can be supplied.

図3に示すように、仮想モータ計算部50は、仮想モータ60の作動状態を検出する仮想モータ状態検出部62をさらに備えている。仮想モータ状態検出部62は、仮想モータ60の作動状態として、例えば、仮想モータ60の計算によって取得された仮想モータ電流ベクトルI*すなわち仮想3相実電流Iu*,Iv*,Iw*、仮想トルク(仮想発生トルク)Te*、仮想モータ速度ωm*、仮想モータ位置θm*、仮想3相磁束Fu*,Fv*,Fw*などを検出することができる。前述のように、仮想モータ60は仮想3相実電流Iu*,Iv*,Iw*を出力するように構成されているため、仮想モータ状態検出部62は、仮想3相実電流Iu*,Iv*,Iw*を検出して仮想モータ制御部64に供給することが必要である場合には、仮想モータ60から出力された仮想3相実電流Iu*,Iv*,Iw*をそのまま仮想モータ制御部64に転送すればよい。   As shown in FIG. 3, the virtual motor calculation unit 50 further includes a virtual motor state detection unit 62 that detects the operating state of the virtual motor 60. For example, the virtual motor state detecting unit 62 operates as the virtual motor 60 as the virtual motor current vector I * obtained by calculation of the virtual motor 60, that is, the virtual three-phase real currents Iu *, Iv *, Iw *, virtual torque, and the like. (Virtual generation torque) Te *, virtual motor speed ωm *, virtual motor position θm *, virtual three-phase magnetic flux Fu *, Fv *, Fw *, etc. can be detected. As described above, since the virtual motor 60 is configured to output the virtual three-phase actual currents Iu *, Iv *, Iw *, the virtual motor state detection unit 62 is configured to output the virtual three-phase actual currents Iu *, Iv. When it is necessary to detect * and Iw * and supply them to the virtual motor control unit 64, the virtual three-phase real currents Iu *, Iv *, and Iw * output from the virtual motor 60 are directly controlled by the virtual motor. What is necessary is just to transfer to the part 64.

図3に示すように、仮想モータ計算部50は、仮想モータ60を制御するために、前記目標信号と、実モータ状態検出部30から出力された実モータ状態信号(例えば、実モータ位置θm)と、仮想モータ状態検出部62から出力された仮想モータ状態信号とに基づき、複数の制御信号(前述のゲート信号Gu,Gv,Gw,Gx,Gy,Gw)を生成する仮想モータ制御部64を備えている。仮想モータ制御部64は、その生成された制御信号を、仮想モータ60に出力すると同時に、実モータ12にも出力する。   As shown in FIG. 3, the virtual motor calculation unit 50 controls the virtual motor 60 by using the target signal and the actual motor state signal output from the actual motor state detection unit 30 (for example, the actual motor position θm). And a virtual motor control unit 64 that generates a plurality of control signals (the aforementioned gate signals Gu, Gv, Gw, Gx, Gy, Gw) based on the virtual motor state signal output from the virtual motor state detection unit 62. I have. The virtual motor control unit 64 outputs the generated control signal to the virtual motor 60 and simultaneously to the real motor 12.

仮想モータ制御部64は、前記制御目標値と、仮想モータ作動状態との関係に基づき、かつ、仮想モータ60の仮想作動位置(仮想可動部材としての仮想ロータの作動位置)が実モータ12の実作動位置(実可動部材としての実ロータの実作動位置)に一致すると仮定して、実モータ12と仮想モータ60とに共通の制御信号を決定する。これにより、実モータ12と仮想モータ60とが、一緒に、かつ、ロータ位置に関して互いに実質的に同期するように、駆動されることになる。   The virtual motor control unit 64 is based on the relationship between the control target value and the virtual motor operating state, and the virtual operating position of the virtual motor 60 (the operating position of the virtual rotor as a virtual movable member) is the actual motor 12. A control signal common to the real motor 12 and the virtual motor 60 is determined on the assumption that it coincides with the operation position (actual operation position of the actual rotor as the actual movable member). Thereby, the real motor 12 and the virtual motor 60 are driven together and substantially synchronized with each other with respect to the rotor position.

仮想モータ制御部64のより具体的な構成については、後に図5を参照することにより、説明するが、それに先立ち、図6に示すタイミングチャートを参照することにより、この仮想モータ制御部64の作動の一例を詳細に説明する。   A more specific configuration of the virtual motor control unit 64 will be described later with reference to FIG. 5. Prior to that, the operation of the virtual motor control unit 64 will be described with reference to the timing chart shown in FIG. An example will be described in detail.

図6(a)に例示するように、制御目標値T0は、仮想モータ制御部64に入力周期Tin(例えば、数10μsec)で反復的に入力される。仮想モータ制御部64は、1サイクル分の計算を入力周期Tinより短い仮想モータ計算周期Tv(例えば、1μsec)で反復的に行い、それにより、制御目標値T0の1回の入力サイクルの間、複数サイクル分の計算を行う。本実施形態においては、入力周期Tinが、仮想モータ計算周期Tvより長い長さを有するように設定されているが、これに代えて、仮想モータ計算周期Tvと実質的に同じ長さを有するように設定することが可能である。   As illustrated in FIG. 6A, the control target value T0 is repeatedly input to the virtual motor control unit 64 at an input cycle Tin (for example, several tens of μsec). The virtual motor control unit 64 repeatedly performs the calculation for one cycle at a virtual motor calculation cycle Tv (for example, 1 μsec) shorter than the input cycle Tin, thereby, during one input cycle of the control target value T0, Calculate for multiple cycles. In the present embodiment, the input cycle Tin is set to have a length longer than the virtual motor calculation cycle Tv. Instead, the input cycle Tin has substantially the same length as the virtual motor calculation cycle Tv. Can be set.

概略的に説明するに、図6(b)に例示するように、仮想モータ制御部64は、1サイクル分の計算を仮想モータ計算周期Tvで反復的に行い、各回の計算サイクルにおいては、制御目標値T0(i)と、実モータ12の作動状態θm(t)と、仮想モータ60の作動状態θm*(t)(図6においては、単に「θ(t)」で表す)であってその仮想モータ60の前回の計算によって取得されたものとに基づき、前記制御信号Gu−Gzを決定し、その決定された制御信号Gu−Gzを実モータ12と仮想モータ60とに実質的に同時に出力する。   Briefly, as illustrated in FIG. 6B, the virtual motor control unit 64 repeatedly performs calculation for one cycle in the virtual motor calculation cycle Tv, and in each calculation cycle, control is performed. The target value T0 (i), the operating state θm (t) of the actual motor 12, and the operating state θm * (t) of the virtual motor 60 (represented simply as “θ (t)” in FIG. 6) The control signal Gu-Gz is determined based on the virtual motor 60 obtained by the previous calculation, and the determined control signal Gu-Gz is transmitted to the real motor 12 and the virtual motor 60 substantially simultaneously. Output.

具体的に説明するに、図6(b)に例示するように、仮想モータ制御部64は、各回の計算サイクルにおいて、まず、制御目標値T0(t)と、実モータ12の作動状態θm(t)と、仮想モータ60の作動状態θ(t)であってその仮想モータ60の前回の計算によって取得されたものとを取り込む。この処理を、図6(b)においては、「θm(t)入力」で表す。   More specifically, as illustrated in FIG. 6B, the virtual motor control unit 64 first determines the control target value T0 (t) and the operating state θm ( t) and the operating state θ (t) of the virtual motor 60 and acquired by the previous calculation of the virtual motor 60 are captured. This processing is represented by “θm (t) input” in FIG.

次に、それら取り込まれた制御目標値T0(t)、実モータ状態θm(t)および仮想モータ状態θ(t)に基づき、実モータ12と仮想モータ60とに共通の仮制御信号を決定する。この処理を、図6(b)においては、「θ(t)=θm(t)同期」で表す。   Next, a temporary control signal common to the real motor 12 and the virtual motor 60 is determined based on the fetched control target value T0 (t), actual motor state θm (t), and virtual motor state θ (t). . This process is represented by “θ (t) = θm (t) synchronization” in FIG.

その後、その決定された仮制御信号に対して、実モータ12の作動状態の、仮想モータ計算周期Tvの間における推定変化量Δθに基づく位相遅れ補償を行い、それにより、実モータ12と仮想モータ60とに共通の最終制御信号Gu−Gzを取得する。この処理を、図6(b)においては、「θ(t)+Δθ制御」で表す。   Thereafter, the determined temporary control signal is subjected to phase lag compensation based on the estimated change amount Δθ of the operating state of the real motor 12 during the virtual motor calculation cycle Tv, thereby the real motor 12 and the virtual motor. The final control signal Gu-Gz common to 60 is acquired. This process is represented by “θ (t) + Δθ control” in FIG.

続いて、その取得された最終制御信号Gu−Gzを実モータ12と仮想モータ60とに実質的に同時に出力する。この処理を、図6(b)においては、「Gu〜Gz出力」で表す。各回の計算サイクルにおいて、後述の第2実施形態とは異なり、仮想モータ60には、制御信号が1回しか入力されないため、仮想モータ60は、1回しか作動しない。   Subsequently, the obtained final control signal Gu-Gz is output to the real motor 12 and the virtual motor 60 substantially simultaneously. This process is represented by “Gu to Gz output” in FIG. In each calculation cycle, unlike the second embodiment described later, since the control signal is input to the virtual motor 60 only once, the virtual motor 60 operates only once.

なお、図6(b)および図6(c)においては、制御信号Gu−Gzが実モータ12に供給された後、その制御信号Gu−Gzが属する回の計算サイクルが終了するタイミングと同じタイミングで、実モータ位置θm(t)がθm(t+1)(=θm(t)+Δθ)に変化することが図示されている。しかし、これは、説明のための一例にすぎず、実際には、前記タイミングより早いか遅いタイミングで、実モータ位置θm(t)がθm(t+1)に変化する。   In FIG. 6B and FIG. 6C, the same timing as the timing at which the calculation cycle to which the control signal Gu-Gz belongs after the control signal Gu-Gz is supplied to the actual motor 12 ends. Thus, it is shown that the actual motor position θm (t) changes to θm (t + 1) (= θm (t) + Δθ). However, this is only an example for explanation, and actually, the actual motor position θm (t) changes to θm (t + 1) at a timing earlier or later than the timing.

次に、図5(a)を参照することにより、仮想モータ制御部64の構成の一例を具体的に説明する。ただし、同じ記号が、単独で使用される場合には、仮想モータ60についての実際値または検出値を意味する一方、「*」と組み合わせて使用される場合には、仮想モータ60についての指令値を意味する。   Next, an example of the configuration of the virtual motor control unit 64 will be specifically described with reference to FIG. However, when the same symbol is used alone, it means an actual value or a detected value for the virtual motor 60, while when used in combination with “*”, a command value for the virtual motor 60 is used. Means.

仮想モータ制御部64は、dq座標系(回転直交2軸dq座標系)上において磁束−トルク制御を行う。ここに、「d」は、仮想モータ60の仮想磁束を表し、また、「q」は、仮想モータ60の仮想トルクを表している。そのような制御を実現するために、前記目標信号は、仮想dq軸指令電流Id*,Iq*(仮想d軸指令電流Id*および仮想q軸指令電流Iq*)として表現され、また、前記仮想モータ状態信号すなわち仮想3相実電流Iu,Iv,Iwは、UVW−dq座標変換器68により、仮想dq軸実電流Id,Iqに変換される。   The virtual motor control unit 64 performs magnetic flux-torque control on the dq coordinate system (rotation orthogonal two-axis dq coordinate system). Here, “d” represents the virtual magnetic flux of the virtual motor 60, and “q” represents the virtual torque of the virtual motor 60. In order to realize such control, the target signal is expressed as virtual dq-axis command currents Id *, Iq * (virtual d-axis command current Id * and virtual q-axis command current Iq *), and the virtual signal The motor state signals, that is, the virtual three-phase actual currents Iu, Iv, Iw are converted by the UVW-dq coordinate converter 68 into virtual dq-axis actual currents Id, Iq.

図5(a)に示すように、仮想モータ制御部64は、仮想dq軸実電流Id,Iq(仮想モータ作動状態の推定値すなわち仮想モータ作動状態の前回計算値の一例)をフィードバックすることにより、その仮想dq軸実電流Id,Iqと、仮想dq軸指令電流Id*,Iq*との差が0に近づくように、仮想dq軸指令電圧Vd*,Vq*を計算する。そのため,仮想モータ制御部64は、仮想d軸指令電流Id*と仮想d軸実電流Idとが入力されると、ベクトル制御(ロータの位置情報を用いて、相電流を3相座標系からdq座標系へ座標変換し、ステータのdq軸電流を制御する)により、対応する仮想d軸指令電圧Vd*を計算する電流制御器70と、仮想q軸指令電流Iq*と仮想q軸実電流Iqとが入力されると、対応する仮想q軸指令電圧Vq*を計算する電流制御器72とを備えている。   As shown in FIG. 5A, the virtual motor control unit 64 feeds back the virtual dq-axis actual currents Id and Iq (an estimated value of the virtual motor operating state, that is, an example of the previous calculated value of the virtual motor operating state). The virtual dq-axis command voltages Vd * and Vq * are calculated so that the difference between the virtual dq-axis actual currents Id and Iq and the virtual dq-axis command currents Id * and Iq * approaches zero. Therefore, when the virtual d-axis command current Id * and the virtual d-axis actual current Id are input, the virtual motor control unit 64 converts the phase current from the three-phase coordinate system to dq using vector control (rotor position information). A current controller 70 for calculating a corresponding virtual d-axis command voltage Vd *, a virtual q-axis command current Iq *, and a virtual q-axis actual current Iq. And a current controller 72 for calculating a corresponding virtual q-axis command voltage Vq *.

図5(a)に示すように、仮想モータ制御部64は、仮想dq軸指令電圧Vd*,Vq*と、仮想dq軸実電流Id,Iqと、実モータ状態検出部30(図1参照)から供給される実モータ状態信号(実モータ位置θm)とに基づき、仮想dq軸指令電圧Vd*,Vq*を補正する非干渉化制御器74をさらに備えている。   As shown in FIG. 5A, the virtual motor control unit 64 includes virtual dq axis command voltages Vd * and Vq *, virtual dq axis actual currents Id and Iq, and actual motor state detection unit 30 (see FIG. 1). Is further provided with a non-interacting controller 74 that corrects the virtual dq-axis command voltages Vd * and Vq * based on the actual motor status signal (actual motor position θm) supplied from.

仮想モータ60を実モータ12から切り離して使用する従来の技術では、非干渉化制御器74は、仮想dq軸指令電圧Vd*,Vq*と、仮想dq軸実電流Id,Iqと、仮想モータ60の仮想モータ位置θmとに基づき、仮想dq軸指令電圧Vd*,Vq*を補正する。これに対し、本実施形態においては、非干渉化制御器74が、仮想モータ位置θmに代えて実モータ位置θmを用いる。   In the conventional technique that uses the virtual motor 60 separately from the real motor 12, the non-interacting controller 74 includes the virtual dq axis command voltages Vd * and Vq *, the virtual dq axis real currents Id and Iq, and the virtual motor 60. The virtual dq axis command voltages Vd * and Vq * are corrected based on the virtual motor position θm. On the other hand, in this embodiment, the non-interacting controller 74 uses the actual motor position θm instead of the virtual motor position θm.

その結果、本実施形態によれば、仮想dq軸指令電圧Vd*,Vq*が、仮想モータ60の仮想モータ位置θと、実モータ12の実モータ位置θmとが互いに一致するように、補正されることになる。   As a result, according to the present embodiment, the virtual dq axis command voltages Vd * and Vq * are corrected so that the virtual motor position θ of the virtual motor 60 and the real motor position θm of the real motor 12 coincide with each other. Will be.

図5(a)に示すように、仮想モータ制御部64は、実モータ位置θmのもとで、仮想dq軸指令電圧Vd*,Vq*を仮想3相指令電圧Vu*,Vv*,Vw*に変換するdq−UVW座標変換器76をさらに備えている。   As shown in FIG. 5A, the virtual motor control unit 64 converts the virtual dq axis command voltages Vd * and Vq * into virtual three-phase command voltages Vu *, Vv *, and Vw * under the actual motor position θm. Further, a dq-UVW coordinate converter 76 for converting into the above is provided.

仮想モータ60を実モータ12から切り離して使用する従来の技術では、dq−UVW座標変換器76は、仮想モータ60の仮想モータ位置θmのもとで、仮想dq軸指令電圧Vd*,Vq*を仮想3相指令電圧Vu*,Vv*,Vw*に変換する。これに対し、本実施形態においては、dq−UVW座標変換器76が、仮想モータ位置θmに代えて実モータ位置θmを用いる。   In the conventional technique in which the virtual motor 60 is separated from the actual motor 12 and used, the dq-UVW coordinate converter 76 generates the virtual dq axis command voltages Vd * and Vq * under the virtual motor position θm of the virtual motor 60. Conversion into virtual three-phase command voltages Vu *, Vv *, Vw *. On the other hand, in this embodiment, the dq-UVW coordinate converter 76 uses the actual motor position θm instead of the virtual motor position θm.

その結果、本実施形態によれば、仮想3相指令電圧Vu*,Vv*,Vw*が、仮想モータ60の仮想モータ位置θと、実モータ12の実モータ位置θmとが互いに一致するように、取得されることになる。   As a result, according to the present embodiment, the virtual three-phase command voltages Vu *, Vv *, and Vw * are set so that the virtual motor position θ of the virtual motor 60 and the real motor position θm of the real motor 12 coincide with each other. Will be acquired.

このように、本実施形態においては、前記制御信号を生成するために、非干渉化制御器74およびdq−UVW座標変換器76が、仮想モータ位置θに代えて実モータ位置θmを参照する。   Thus, in the present embodiment, in order to generate the control signal, the non-interacting controller 74 and the dq-UVW coordinate converter 76 refer to the actual motor position θm instead of the virtual motor position θ.

しかし、例えば、後述の第3実施形態におけるように、仮想モータ60が実モータ12の入出力特性を十分に正確に再現するように教示される場合には、仮想モータ位置θと実モータ位置θmとが互いに十分に一致することになる。この場合には、非干渉化制御器74およびdq−UVW座標変換器76が実モータ位置θmに代えて仮想モータθを参照したとしても、前記制御信号が、仮想モータ60の仮想モータ位置θと、実モータ12の実モータ位置θmとが互いに一致するように、取得されることになる。   However, for example, when the virtual motor 60 is taught to reproduce the input / output characteristics of the real motor 12 sufficiently accurately as in the third embodiment described later, the virtual motor position θ and the real motor position θm Are in good agreement with each other. In this case, even if the non-interacting controller 74 and the dq-UVW coordinate converter 76 refer to the virtual motor θ instead of the actual motor position θm, the control signal is the same as the virtual motor position θ of the virtual motor 60. The actual motor position θm of the actual motor 12 is acquired so as to coincide with each other.

図5(a)に示すように、仮想モータ制御部64は、前記位相遅れ補償を行うために、Δθ推定器80をさらに備えている。   As shown in FIG. 5A, the virtual motor control unit 64 further includes a Δθ estimator 80 for performing the phase delay compensation.

図6(b)に例示するように、仮想モータ計算周期Tvの長さを有する1計算サイクルの間に、次回の制御信号を決定するために仮想モータ60を作動させる。その間、実モータ位置θmが不変であれば、その次回の制御信号を決定するために用いられた実モータ位置θm(t)と、その決定された次回の制御信号が実モータ12に入力され始めるとき(または、その制御信号に対する実モータ12の応答が完了するとき)の実モータ位置θm(t+1)とが互いに一致するため、前記制御信号の誤差が発生しない。   As illustrated in FIG. 6B, the virtual motor 60 is operated to determine the next control signal during one calculation cycle having the length of the virtual motor calculation period Tv. Meanwhile, if the actual motor position θm remains unchanged, the actual motor position θm (t) used for determining the next control signal and the determined next control signal start to be input to the actual motor 12. Since the actual motor position θm (t + 1) coincides with each other (or when the response of the actual motor 12 to the control signal is completed), the error of the control signal does not occur.

しかし、その間、実モータ位置θmが変化すると、その次回の制御信号を決定するために用いられた実モータ位置θm(t)と、その決定された次回の制御信号が実モータ12に入力され始めるとき(または、その制御信号に対する実モータ12の応答が完了するとき)の実モータ位置θm(t+1)とが互いに一致しないため、前記制御信号の誤差が発生してしまう。   However, if the actual motor position θm changes during this period, the actual motor position θm (t) used to determine the next control signal and the determined next control signal start to be input to the actual motor 12. Since the actual motor position θm (t + 1) does not coincide with each other (or when the response of the actual motor 12 to the control signal is completed), an error of the control signal occurs.

そこで、本実施形態においては、Δθ推定器80が、実モータ位置θmが入力された時期と、次回の制御信号が実モータ12に入力され始める時期(または、その制御信号に対する実モータ12の応答が完了する時期)との間の期間に、実モータ位置θmが変化することが予想される変化量Δθを推定する。   Therefore, in the present embodiment, the Δθ estimator 80 is the time when the actual motor position θm is input and the time when the next control signal starts to be input to the actual motor 12 (or the response of the actual motor 12 to the control signal). The amount of change Δθ in which the actual motor position θm is expected to change during the period between the time when the motor is completed) is estimated.

その変化量Δθは、例えば、実モータ位置θmが入力される時期と、次回の制御信号が実モータ12に入力され始める時期(または、その制御信号に対する実モータ12の応答が完了する時期)との間の期間の長さは、仮想モータ計算周期Tvの長さを超えないし、それにほぼ近いという事実に着目し、仮想モータ計算周期Tvの長さと、実モータ12の角速度ωmとの積として推定したり、仮想モータ計算周期Tvの長さに応じて推定したり(仮想モータ計算周期Tvの長さが可変である場合には、それが長いほど、変化量Δθが大きい可能性が高いから)、実モータ12の角速度ωmに応じて推定する(実モータ12の角速度ωmが高速であるほど、変化量Δθが大きい可能性が高いから)ことが可能である。   The amount of change Δθ is, for example, the time when the actual motor position θm is input and the time when the next control signal starts to be input to the actual motor 12 (or the time when the response of the actual motor 12 to the control signal is completed). Paying attention to the fact that the length of the period between and the virtual motor calculation period Tv does not exceed or substantially approximate the length of the virtual motor calculation period Tv, it is estimated as the product of the length of the virtual motor calculation period Tv and the angular velocity ωm of the actual motor 12. Or estimated according to the length of the virtual motor calculation cycle Tv (if the length of the virtual motor calculation cycle Tv is variable, the longer it is, the more likely the variation Δθ is) It is possible to estimate according to the angular velocity ωm of the actual motor 12 (because the higher the angular velocity ωm of the actual motor 12 is, the higher the change amount Δθ is likely).

図5(a)に示すように、仮想モータ制御部64は、Δθ推定器80を備えており、そのΔθ推定器80は、上述のようにして、前記変化量Δθを取得すると、その変化量Δθを、同じ回の計算サイクルの当初において取得した実モータ位置θmに加算し、それにより、dq−UVW座標変換器76に入力されるモータ位置が、θm+Δθに等しくなり、結局、実モータ12の作動に追従するように補正される。   As shown in FIG. 5A, the virtual motor control unit 64 includes a Δθ estimator 80. When the Δθ estimator 80 acquires the change amount Δθ as described above, the change amount is obtained. Δθ is added to the actual motor position θm acquired at the beginning of the same calculation cycle, so that the motor position input to the dq-UVW coordinate converter 76 becomes equal to θm + Δθ. It is corrected to follow the operation.

図5(a)に示すように、dq−UVW座標変換器76は、そのように補正されたモータ位置のもとで、仮想dq軸指令電圧Vd*,Vq*を仮想3相指令電圧Vu*,Vv*,Vw*に変換し、その結果、それら仮想3相指令電圧Vu*,Vv*,Vw*は、変化量Δθを見込んだ値として取得されることになる。これにより、前記制御信号が、実モータ位置θmの将来の変化を予測して決定されるため、前述の位相遅れ補償がフィードフォワード制御の一種として行われることになる。   As shown in FIG. 5A, the dq-UVW coordinate converter 76 converts the virtual dq axis command voltages Vd * and Vq * to the virtual three-phase command voltage Vu * under the motor position corrected as described above. , Vv *, and Vw *, and as a result, the virtual three-phase command voltages Vu *, Vv *, and Vw * are acquired as values that allow for the variation Δθ. As a result, the control signal is determined by predicting a future change in the actual motor position θm, so that the above-described phase delay compensation is performed as a kind of feedforward control.

図3に示すように、仮想モータ計算部50は、前記制御信号が入力される仮想PWMインバータ90をさらに備えている。前記制御信号は、複数のゲート信号Gu,Gv,Gw,Gx,Gy,Gwであり、それらゲート信号のうち、ゲート信号Gu,Gv,Gwは、仮想PWMインバータ90に属するUVW各相の上アーム・スイッチング素子24にそれぞれ供給されるパルス信号であり、これに対し、ゲート信号Gx,Gy,Gwは、仮想PWMインバータ90に属するUVW各相の下アーム・スイッチング素子24にそれぞれ供給されるパルス信号である。このことは、実インバータ16についても該当する。   As shown in FIG. 3, the virtual motor calculation unit 50 further includes a virtual PWM inverter 90 to which the control signal is input. The control signals are a plurality of gate signals Gu, Gv, Gw, Gx, Gy, Gw, and among these gate signals, the gate signals Gu, Gv, Gw are upper arms of each UVW phase belonging to the virtual PWM inverter 90. The pulse signals supplied to the switching elements 24 respectively. On the other hand, the gate signals Gx, Gy, Gw are the pulse signals supplied to the lower arm switching elements 24 of the UVW phases belonging to the virtual PWM inverter 90, respectively. It is. This also applies to the actual inverter 16.

各ゲート信号Gu,Gv,Gw,Gx,Gy,Gwは、パルス信号であり、各デューティ比Du,Dv,Dw,Dx,Dy,Dzを有する。また、仮想PWMインバータ90には、直流電圧Vdcが印加される。   Each gate signal Gu, Gv, Gw, Gx, Gy, Gw is a pulse signal, and has each duty ratio Du, Dv, Dw, Dx, Dy, Dz. Further, the virtual PWM inverter 90 is applied with a DC voltage Vdc.

図7に示すように、仮想モータ60に各相ごとに入力される仮想モータ端子電圧Vu,Vv,Vwは、3つの式によって記述される。よって、仮想PWMインバータ90は、各ゲートに入力されるゲート信号Gu,Gv,Gw,Gx,Gy,Gwを、所定のサンプリング周期(例えば、10ns)でサンプリングし、そのサンプリング結果を用いてデューティ比Du,Dv,Dw,Dx,Dy,Dzを計算する。各デューティ比Dは、例えば、各パルスのオン時間Tonの長さをパルス周期(=Ton+Toff)で割り算することによって計算することが可能である。仮想PWMインバータ90は、デューティ比Du,Dv,Dw,Dx,Dy,Dzの計算値(0以上1以下の数値)と、直流電圧Vdcの値(例えば、固定値)とを前述の3つの式に代入することにより、仮想モータ端子電圧Vu,Vv,Vwを計算する。   As shown in FIG. 7, the virtual motor terminal voltages Vu, Vv, Vw input to the virtual motor 60 for each phase are described by three equations. Therefore, the virtual PWM inverter 90 samples the gate signals Gu, Gv, Gw, Gx, Gy, Gw input to each gate at a predetermined sampling period (for example, 10 ns), and uses the sampling result to determine the duty ratio. Du, Dv, Dw, Dx, Dy, Dz are calculated. Each duty ratio D can be calculated, for example, by dividing the length of the on-time Ton of each pulse by the pulse period (= Ton + Toff). The virtual PWM inverter 90 calculates the calculated values of the duty ratios Du, Dv, Dw, Dx, Dy, Dz (numerical values from 0 to 1) and the value of the DC voltage Vdc (for example, a fixed value) from the above three formulas. By substituting into, virtual motor terminal voltages Vu, Vv, and Vw are calculated.

図8には、モータ制御装置10の作動の一例がフローチャートで表されている。このフローチャートは、CPU44によって実行されるステップS1およびS2と、演算回路42によって反復的に実行されるステップS3−S11とを表している。それらステップS3−S11は、1回ずつ実行されることにより、一回の計算サイクルを達成する。   FIG. 8 is a flowchart illustrating an example of the operation of the motor control device 10. This flowchart represents steps S1 and S2 executed by the CPU 44 and steps S3-S11 executed repeatedly by the arithmetic circuit 42. These steps S3-S11 are executed once to achieve one calculation cycle.

まず、ステップS1において、初期化が行われる。具体的には、例えば、実モータ状態検出部30により、初期の実モータ位置θinitが取得され、同じ位置が、仮想モータ60の初期の仮想モータ位置θinitとされる。   First, in step S1, initialization is performed. Specifically, for example, the actual motor state detection unit 30 acquires the initial actual motor position θinit, and the same position is set as the initial virtual motor position θinit of the virtual motor 60.

次に、入力周期Tin(例えば、数10μsec)が経過するごとに割り込みが発生してステップS2が実行される。このステップS2においては、今回の制御目標値T0が入力される。   Next, every time an input cycle Tin (for example, several tens of microseconds) elapses, an interrupt is generated and step S2 is executed. In step S2, the current control target value T0 is input.

続いて、ステップS3において、データ入力が行われ、具体的には、仮想モータ状態検出部62からは仮想モータ状態Iu*,Iv*,Iw*が、実モータ状態検出部30からは実モータ状態θmがそれぞれ入力される。   Subsequently, in step S3, data input is performed. Specifically, the virtual motor state Iu *, Iv *, and Iw * are received from the virtual motor state detection unit 62, and the actual motor state is received from the real motor state detection unit 30. Each θm is input.

その後、ステップS4−S6において、仮想モータ制御部64が作動させられる。具体的には、まず、ステップS4において、電流制御器70,72および非干渉化制御器74により、仮想モータ60と実モータ12とが、モータ位置に関して互いに同期するように、仮想dq軸指令電圧信号Vd*,Vq*が生成される。   Thereafter, in steps S4 to S6, the virtual motor control unit 64 is operated. Specifically, first, in step S4, the virtual dq axis command voltage is set so that the virtual motor 60 and the real motor 12 are synchronized with each other with respect to the motor position by the current controllers 70 and 72 and the non-interacting controller 74. Signals Vd * and Vq * are generated.

次に、ステップS5において、Δθ推定器80により、変化量Δθが推定され、その推定された変化量Δθに基づき、実モータ位置θmが補正され、そして、dq−UVW座標変換器76により、その補正された実モータ位置θmのもとで、仮想dq軸指令電圧信号Vd*,Vq*が仮想3相指令電圧信号Vu*,Vv*,Vw*に変換される。続いて、ステップS6において、PWM信号発生器78により、仮想3相指令電圧信号Vu*,Vv*,Vw*がPWM信号Gu,Gv,Gw,Gx,Gy,Gzに変換される。   Next, in step S5, the change amount Δθ is estimated by the Δθ estimator 80, the actual motor position θm is corrected based on the estimated change amount Δθ, and the dq-UVW coordinate converter 76 calculates the change amount Δθ. Under the corrected actual motor position θm, the virtual dq-axis command voltage signals Vd * and Vq * are converted into virtual three-phase command voltage signals Vu *, Vv * and Vw *. Subsequently, in step S6, the PWM signal generator 78 converts the virtual three-phase command voltage signals Vu *, Vv *, Vw * into PWM signals Gu, Gv, Gw, Gx, Gy, Gz.

その後、ステップS7において、そのようにして取得されたPWM信号Gu,Gv,Gw,Gx,Gy,Gzが実インバータ/パワーアンプ14に対して出力され、それにより、実モータ12が駆動される。続いて、その出力タイミングと実質的に同じタイミングで、ステップS8において、同じPWM信号Gu,Gv,Gw,Gx,Gy,Gzが仮想PWMインバータ90に対して出力される。それにより、仮想モータ端子電圧Vu,Vv,Vwが計算される。   Thereafter, in step S7, the PWM signals Gu, Gv, Gw, Gx, Gy, Gz thus acquired are output to the actual inverter / power amplifier 14, thereby driving the actual motor 12. Subsequently, the same PWM signals Gu, Gv, Gw, Gx, Gy, Gz are output to the virtual PWM inverter 90 at step S8 at substantially the same timing as the output timing. Thereby, virtual motor terminal voltages Vu, Vv, Vw are calculated.

続いて、ステップS9において、その計算された仮想モータ端子電圧Vu,Vv,Vwが仮想モータ60に対して出力されることにより、前述のモータモデルを用いることにより、仮想モータ電流ベクトルI*すなわち仮想モータ状態Iu*,Iv*,Iw*が計算される。   Subsequently, in step S9, the calculated virtual motor terminal voltages Vu, Vv, Vw are output to the virtual motor 60, so that the virtual motor current vector I *, that is, the virtual, is obtained by using the motor model described above. Motor states Iu *, Iv *, Iw * are calculated.

その後、ステップS10において、仮想モータ状態検出部62により、仮想モータ電流ベクトルI*すなわち仮想モータ状態Iu*,Iv*,Iw*が出力される。その仮想モータ電流ベクトルI*は、次回の計算サイクルでの計算に備えて、特定のメモリ(図示しない)に一時的に保存される。   Thereafter, in step S10, the virtual motor state detection unit 62 outputs the virtual motor current vector I *, that is, the virtual motor states Iu *, Iv *, and Iw *. The virtual motor current vector I * is temporarily stored in a specific memory (not shown) in preparation for calculation in the next calculation cycle.

続いて、ステップS11において、システム11の主電源(図示しない)がオフにされたか否かが判定される。その主電源が未だオンである場合には、その判定がNOとなり、次回の計算サイクルでの計算のために、ステップS3に戻る。これに対し、主電源がオフにされた場合には、ステップS11の判定がYESとなり、以上で、モータ制御装置10の作動が終了する。   Subsequently, in step S11, it is determined whether or not a main power source (not shown) of the system 11 is turned off. If the main power supply is still on, the determination is no and the process returns to step S3 for calculation in the next calculation cycle. On the other hand, when the main power supply is turned off, the determination in step S11 is YES, and the operation of the motor control device 10 is thus completed.

なお、本実施形態においては、モータ制御装置10が、そもそも実モータ12のための制御目標値に基づき、そもそも仮想モータ60のための制御信号を生成し、その制御信号を、仮想モータ60のみならず実モータ12にも、かつ、互いに実質的に同じ時期に出力し、それにより、実モータ12を制御する。   In the present embodiment, the motor control device 10 generates a control signal for the virtual motor 60 based on the control target value for the real motor 12 in the first place. First, the actual motor 12 is also output at substantially the same time, thereby controlling the actual motor 12.

本発明は、同じ制御信号が、先に仮想モータ60に、後に実モータ12に出力される別の態様で実施することが可能である。これに対し、本実施形態のように、同じ制御信号が仮想モータ60と実モータ12とに互いに実質的に同じ時期に出力される場合には、前記別の態様において制御信号が実モータ12に供給されるタイミングより早いタイミングで制御信号が実モータ12に供給されることとなり、その結果、実モータ12の制御周期を短縮することが容易となり、その結果、実モータ12のよりきめ細かな制御が容易となる。   The present invention can be implemented in another mode in which the same control signal is output to the virtual motor 60 first and then to the real motor 12 later. On the other hand, when the same control signal is output to the virtual motor 60 and the real motor 12 at substantially the same time as in the present embodiment, the control signal is sent to the real motor 12 in the other mode. The control signal is supplied to the actual motor 12 at a timing earlier than the supplied timing. As a result, it becomes easy to shorten the control cycle of the actual motor 12, and as a result, finer control of the actual motor 12 is achieved. It becomes easy.

モータ制御装置10は、そもそも仮想モータ60のための制御信号を生成するために、実モータ12の作動状態量を参照するが、本実施形態においては、実モータ12についての唯一の作動状態量、すなわち、実モータ位置θmのみが参照される。よって、実モータ12についての複数の作動状態量を参照しなければならない場合に比較し、システム設計が単純化し、装置コストの低減ならびに装置の信頼性および安定性の向上を容易に図り得る。   The motor control device 10 refers to the operation state quantity of the real motor 12 in order to generate a control signal for the virtual motor 60 in the first place, but in this embodiment, the only operation state quantity for the real motor 12 is That is, only the actual motor position θm is referred to. Therefore, compared to a case where a plurality of operating state quantities for the actual motor 12 must be referred to, the system design can be simplified, and the apparatus cost can be reduced and the reliability and stability of the apparatus can be easily improved.

本実施形態においては、仮想モータ60の作動状態であってその仮想モータ60の前回の計算によって取得された前回計算値がフィードバックされることにより、制御目標値と、実モータ12の作動状態と、仮想モータ作動状態の前回計算値とに基づき、前記制御信号が決定される。それにより、仮想モータ60がフィードバック制御され、その結果、仮想モータ60の前記モータモデルの誤差、実モータ12の制御誤差、実モータ12の特性の個体ばらつき、実モータ12の特性の経時変化、当システムに対する外乱による悪影響等が吸収されるように、前記制御信号が決定される。   In the present embodiment, the control target value, the operating state of the actual motor 12, and the feedback of the previous calculated value obtained by the previous calculation of the virtual motor 60 in the operating state of the virtual motor 60, The control signal is determined based on the previous calculated value of the virtual motor operating state. As a result, the virtual motor 60 is feedback-controlled. As a result, the error of the motor model of the virtual motor 60, the control error of the real motor 12, the individual variation of the characteristics of the real motor 12, the time-dependent change of the characteristics of the real motor 12, The control signal is determined so that an adverse effect caused by a disturbance on the system is absorbed.

本実施形態においては、後述の第2実施形態と同様に、仮想モータ60のためのフィードバック制御が、仮想モータ60の前回計算値と、実モータ12の作動状態の一例である実モータ位置θmとを用いて行われる。仮想モータ60の前回計算値は、仮想モータ60にフィードバックされるフィードバック信号として用いられるが、実モータ位置θmは、フィードバック信号として用いられるのではなく、仮想モータ60のための前述のdq軸制御において座標変換のために用いられる。   In the present embodiment, as in the second embodiment to be described later, the feedback control for the virtual motor 60 performs the previous calculation value of the virtual motor 60 and the actual motor position θm that is an example of the operating state of the actual motor 12. It is done using. Although the previous calculated value of the virtual motor 60 is used as a feedback signal fed back to the virtual motor 60, the actual motor position θm is not used as a feedback signal, but in the above-described dq axis control for the virtual motor 60. Used for coordinate transformation.

このように、本実施形態においては、フィードバック信号が、仮想モータ60の出力信号以外の信号、すなわち、実モータ12の出力信号を含まないように設計されているのであり、これにより、フィードバック信号が実モータ12の出力信号を含む場合より、システムの自己完結性が向上し、ひいては、システムの制御安定性が向上する。   Thus, in the present embodiment, the feedback signal is designed so as not to include a signal other than the output signal of the virtual motor 60, that is, the output signal of the real motor 12, so that the feedback signal is Compared with the case where the output signal of the actual motor 12 is included, the self-containment of the system is improved, and the control stability of the system is improved.

なお付言するに、本実施形態には種々の変形例が存在する。それら変形例のうちのいくつかを例示的に説明するに、第1の変形例においては、前述の位相遅れ補償を行うことなく、仮想モータ制御部64が前記制御信号をフォードフォワード的に決定する。   In addition, there are various modifications in this embodiment. Some of these modified examples will be described by way of example. In the first modified example, the virtual motor control unit 64 determines the control signal in a Ford forward manner without performing the above-described phase delay compensation. .

具体的には、この第1の変形例に従うモータ制御装置10は、上述の第1実施形態と基本的に共通する構成を有するが、仮想モータ制御部64は、図5(b)に示すものに変更される。   Specifically, the motor control device 10 according to the first modification has a configuration that is basically the same as that of the first embodiment described above, but the virtual motor control unit 64 is the one shown in FIG. Changed to

具体的には、この第1の変形例においては、仮想モータ制御部64が、Δθ推定器80を備えておらず、dq−UVW座標変換器76は、同じ回の計算サイクルの当初において取得した実モータ位置θmのもとで、仮想dq軸指令電圧Vd*,Vq*を仮想3相指令電圧Vu*,Vv*,Vw*に変換し、その結果、それら仮想3相指令電圧Vu*,Vv*,Vw*は、変化量Δθを無視した値として取得されることになる。   Specifically, in the first modification, the virtual motor control unit 64 does not include the Δθ estimator 80, and the dq-UVW coordinate converter 76 is acquired at the beginning of the same calculation cycle. Under the actual motor position θm, the virtual dq-axis command voltages Vd * and Vq * are converted into virtual three-phase command voltages Vu *, Vv * and Vw *, and as a result, these virtual three-phase command voltages Vu * and Vv * And Vw * are acquired as values ignoring the variation Δθ.

この第1の変形例は、仮想モータ計算周期Tvの長さが短いか、および/または、実モータ12の角速度が低速であるために、変化量Δθを無視しても支障を来たさない場合に、Δθ推定器80を使用せずに済む点で有利である。   In the first modification, the length of the virtual motor calculation cycle Tv is short and / or the angular speed of the real motor 12 is low, so that there is no problem even if the change amount Δθ is ignored. In this case, it is advantageous in that the Δθ estimator 80 can be omitted.

この第1の変形例については、モータ制御装置10の作動の一例を表すタイミングチャートが、図6(c)に示すものに変更され、また、モータ制御装置10の作動の一例を表すフローチャートは、図8に示すフローチャートと共通するが、ステップS5においては、Δθ推定器80による変化量Δθの推定が省略され、dq−UVW座標変換器76により、実モータ位置θmのもとで、ステップS4において生成された仮想dq軸指令電圧信号が仮想3相指令電圧信号に変換される。   About this 1st modification, the timing chart showing an example of operation of motor control device 10 is changed into what is shown in Drawing 6 (c), and the flowchart showing an example of operation of motor control device 10 is as follows. Although common to the flowchart shown in FIG. 8, in step S5, the estimation of the change amount Δθ by the Δθ estimator 80 is omitted, and the dq-UVW coordinate converter 76 uses the actual motor position θm in step S4. The generated virtual dq axis command voltage signal is converted into a virtual three-phase command voltage signal.

これに対し、第2の変形例においては、仮想モータ60が実モータ12の作動を正確に再現するように設計されているため、仮想モータ位置θが実モータ位置θmに十分に一致する場合には、実モータ位置θmに代えて仮想モータ位置を参照することにより、前記制御信号が生成される。この第2の変形例によれば、モータ制御装置10は、実モータ12の作動状態を検出するセンサを用いることなく、前記制御信号を生成することが可能となる。すなわち、実モータ12の制御をセンサレス方式で行うことが可能となるのである。   On the other hand, in the second modified example, since the virtual motor 60 is designed to accurately reproduce the operation of the real motor 12, the virtual motor position θ sufficiently matches the real motor position θm. The control signal is generated by referring to the virtual motor position instead of the actual motor position θm. According to the second modification, the motor control device 10 can generate the control signal without using a sensor that detects the operating state of the actual motor 12. That is, the actual motor 12 can be controlled in a sensorless manner.

<第2実施形態> Second Embodiment

次に、本発明の第2実施形態に従うモータ制御装置100を図9および図10を参照することにより説明する。ただし、本実施形態は、第1実施形態と共通する要素があるため、共通する要素については、同一の符号または名称を付して引用することにより、重複した説明を省略し、異なる要素についてのみ、詳細に説明する。   Next, a motor control device 100 according to a second embodiment of the present invention will be described with reference to FIGS. However, since this embodiment has elements common to the first embodiment, the common elements are referred to with the same reference numerals or names, thereby omitting redundant descriptions and only different elements. This will be described in detail.

まず、概略的に説明するに、図9の例示的なタイミングチャートで示すように、本実施形態においては、仮想モータ計算部50が、各回の計算サイクルにおいて、仮想モータ60を2回作動させる。   First, as schematically illustrated, as shown in the exemplary timing chart of FIG. 9, in this embodiment, the virtual motor calculation unit 50 operates the virtual motor 60 twice in each calculation cycle.

具体的には、仮想モータ計算部50は、各回の計算サイクルにおいて、仮想モータ60についての1回目の作動(フィードバック制御)のために、今回の制御目標値と、実モータ12の現時点での作動状態θm1と、仮想モータ60の作動状態I1であってその仮想モータ60の前回の計算によって取得されたものとに基づき、仮想モータ60のための仮制御信号を決定し、その決定された仮制御信号を、実モータ12に出力することなく、仮想モータ60に出力し、それにより、その仮想モータ60の今回の作動状態を推定する。   Specifically, the virtual motor calculation unit 50 performs the current control target value and the current operation of the real motor 12 for the first operation (feedback control) of the virtual motor 60 in each calculation cycle. A temporary control signal for the virtual motor 60 is determined based on the state θm1 and the operating state I1 of the virtual motor 60 and obtained by the previous calculation of the virtual motor 60, and the determined temporary control The signal is output to the virtual motor 60 without being output to the real motor 12, thereby estimating the current operating state of the virtual motor 60.

仮想モータ計算部50は、各回の計算サイクルにおいて、仮想モータ60についての最終回(本実施形態においては、2回目)の作動(フィードバック制御)のために、今回の制御目標値と、実モータ12の現時点での作動状態θm2と、仮想モータ60の作動状態I2であってその仮想モータ60の前回の計算によって取得されたものとに基づき、実モータ12と仮想モータ60とに共通の最終制御信号を決定し、その決定された最終制御信号を実モータ12と仮想モータ60とに実質的に同時に出力する。   The virtual motor calculation unit 50 determines the current control target value and the actual motor 12 for the operation (feedback control) for the last time (second time in the present embodiment) for the virtual motor 60 in each calculation cycle. The final control signal common to the real motor 12 and the virtual motor 60 based on the current operation state θm2 of the virtual motor 60 and the virtual motor 60 operating state I2 obtained by the previous calculation of the virtual motor 60 And the final control signal thus determined is output to the real motor 12 and the virtual motor 60 substantially simultaneously.

本実施形態においては、実モータ12と仮想モータ60とに最終制御信号が出力される前に、仮想モータ60には、仮制御信号が出力されており、その結果、仮想モータ60には、主制御信号と最終制御信号との双方が出力されることになる。このままでは、実モータ12の制御量と、仮想モータ60の合計制御量とが不一致となってしまう。   In this embodiment, before the final control signal is output to the real motor 12 and the virtual motor 60, the temporary control signal is output to the virtual motor 60. As a result, the virtual motor 60 includes the main control signal. Both the control signal and the final control signal are output. If this is the case, the control amount of the actual motor 12 and the total control amount of the virtual motor 60 will not match.

そこで、本実施形態においては、仮想モータ計算部50が、仮想モータ60についての2回目の作動のために、今回の制御目標値と、実モータ12の現時点での作動状態θm2と、仮想モータ60の作動状態I2であってその仮想モータ60の前回の計算によって取得されたものとに基づき、これまでと同じ規則に従って制御信号を決定するが、この制御信号を、前記最終制御信号としてではなく、制御信号補正量として取り扱う。   Therefore, in the present embodiment, the virtual motor calculation unit 50 performs the second operation on the virtual motor 60, the current control target value, the current operating state θm <b> 2 of the real motor 12, and the virtual motor 60. The control signal is determined in accordance with the same rule as before based on the operation state I2 of the virtual motor 60 obtained by the previous calculation of the virtual motor 60, but this control signal is not the final control signal, Treated as a control signal correction amount.

それに加えて、仮想モータ計算部50は、仮想モータ60において、前記仮制御信号の影響をキャンセルすべく、仮想モータ60を、前記仮制御信号が入力される前の状態、すなわち、前回の計算サイクルが終了した時点の状態に復元する。   In addition, the virtual motor calculation unit 50 causes the virtual motor 60 to cancel the influence of the temporary control signal in the virtual motor 60 in the state before the temporary control signal is input, that is, the previous calculation cycle. Is restored to the state at the time of completion.

さらに、仮想モータ計算部50は、前記決定された仮制御信号を前記制御信号補正量によって補正することにより、前記最終制御信号を決定する。そして、仮想モータ計算部50は、その決定された最終制御信号を実モータ12と仮想モータ60とに実質的に同時に出力する。その結果、仮想モータ60には、今回の計算サイクルにおいて、最初から前記最終制御信号が入力された状況と同じ状況が再現される。   Further, the virtual motor calculation unit 50 determines the final control signal by correcting the determined temporary control signal with the control signal correction amount. Then, the virtual motor calculation unit 50 outputs the determined final control signal to the real motor 12 and the virtual motor 60 substantially simultaneously. As a result, the same situation as that in which the final control signal is input from the beginning is reproduced in the virtual motor 60 in the current calculation cycle.

次に、具体的に説明するに、図10の例示的なフローチャートで示すように、本実施形態においては、ステップS1−S6が第1実施形態と同様にして実行される。ただし、本実施形態においては、ステップS3において、図9における「入力1」が実行され、仮想モータ状態I1と、実モータ状態θm1が入力され、また、ステップS6において、前記PWM信号が前記仮制御信号として生成される。   Next, specifically, as shown in the exemplary flowchart of FIG. 10, in this embodiment, steps S1-S6 are executed in the same manner as in the first embodiment. However, in the present embodiment, “input 1” in FIG. 9 is executed in step S3, the virtual motor state I1 and the actual motor state θm1 are input, and in step S6, the PWM signal is subjected to the temporary control. Generated as a signal.

続いて、ステップS8−S10が第1実施形態と同様にして実行されるが、ステップS8においては、図9における「出力1」が実行され、また、ステップS10においては、仮想モータ電流I2が出力される。本実施形態においては、第1実施形態とは異なり、PWM信号が、前記仮制御信号として、仮想PWMインバータ90を介して仮想モータ60に出力されるが、実インバータ/パワーアンプ14には出力されない。その結果、仮想モータ60は制御されるが、実モータ12は制御されない。ステップS3−S10により、図9に示す「仮想モータによる1回目のフィードバック制御」が実行される。   Subsequently, Steps S8 to S10 are executed in the same manner as in the first embodiment. In Step S8, “Output 1” in FIG. 9 is executed, and in Step S10, the virtual motor current I2 is output. Is done. In the present embodiment, unlike the first embodiment, the PWM signal is output to the virtual motor 60 via the virtual PWM inverter 90 as the temporary control signal, but is not output to the real inverter / power amplifier 14. . As a result, the virtual motor 60 is controlled, but the real motor 12 is not controlled. Through steps S3 to S10, the “first feedback control by the virtual motor” shown in FIG. 9 is executed.

その後、ステップS21−S28により、図9に示す「仮想モータによる2回目のフィードバック制御」が実行される。   Thereafter, the “second feedback control by the virtual motor” shown in FIG. 9 is executed in steps S21 to S28.

具体的には、まず、ステップS21において、図9における「入力2」が実行され、ステップS3と同様にして、仮想モータ状態I2と、実モータ状態θm2が入力される。次に、ステップS22において、ステップS4と同様にして、仮想dq軸指令電圧信号が生成され、ステップS23において、ステップS5と同様にして、仮想3相指令電圧信号が生成される。   Specifically, first, “input 2” in FIG. 9 is executed in step S21, and the virtual motor state I2 and the actual motor state θm2 are input in the same manner as in step S3. Next, in step S22, a virtual dq axis command voltage signal is generated in the same manner as in step S4, and in step S23, a virtual three-phase command voltage signal is generated in the same manner as in step S5.

その後、ステップS24において、ステップS6と同様にして、前記PWM信号が生成されるが、そのPWM信号は、前記制御信号補正量として取り扱われ、ステップS10の実行によって生成された前記仮制御信号が、その制御信号補正量によって補正され、それにより、前記最終制御信号が生成される。   Thereafter, in step S24, the PWM signal is generated in the same manner as in step S6. The PWM signal is handled as the control signal correction amount, and the temporary control signal generated by the execution of step S10 is Correction is performed by the control signal correction amount, whereby the final control signal is generated.

この最終制御信号は、仮想モータ60による1回目のフィードバック制御の結果を反映するように(制御誤差が減少するように)生成され、その結果、この最終制御信号は、前記仮制御信号より精度が向上する。しかも、この最終制御信号は、最初の情報である仮想モータ状態I1と実モータ状態θm1ではなく、最新の情報である仮想モータ状態I2と実モータ状態θm2に基づいて生成されるため、仮想モータ60および実モータ12の最新の状態を反映し、仮想モータ60および実モータ12の実際の変化をリアルタイムに追従する。その結果、一回の計算サイクル中、仮想モータ60も実モータ12も作動状態が変化しないと仮定して制御信号を生成する場合より、制御信号の精度が向上する。   This final control signal is generated to reflect the result of the first feedback control by the virtual motor 60 (so that the control error is reduced). As a result, this final control signal is more accurate than the temporary control signal. improves. Moreover, since this final control signal is generated based on the virtual motor state I2 and the actual motor state θm2 which are the latest information, not the virtual motor state I1 and the actual motor state θm1 which are the first information, the virtual motor 60 The latest state of the real motor 12 is reflected, and actual changes in the virtual motor 60 and the real motor 12 are followed in real time. As a result, the accuracy of the control signal is improved as compared with the case where the control signal is generated on the assumption that neither the virtual motor 60 nor the actual motor 12 changes during one calculation cycle.

その後、ステップS25において、第1実施形態におけるステップS7と同様にして、前記最終制御信号、すなわち、2回目のPWM信号Gu,Gv,Gw,Gx,Gy,Gzが実インバータ/パワーアンプ14に対して出力され、それにより、実モータ12が駆動される。このステップS25は、図9における「出力2」に相当する。   Thereafter, in step S25, as in step S7 in the first embodiment, the final control signal, that is, the second PWM signal Gu, Gv, Gw, Gx, Gy, Gz is sent to the actual inverter / power amplifier 14. Thus, the actual motor 12 is driven. This step S25 corresponds to “output 2” in FIG.

続いて、その出力タイミングと実質的に同じタイミングで、ステップS26において、ステップS8と同様にして、同じPWM信号Gu,Gv,Gw,Gx,Gy,Gzが仮想PWMインバータ90に対して出力される。それにより、仮想モータ端子電圧Vu,Vv,Vwが計算される。このステップS26も、図9における「出力2」に相当する。   Subsequently, the same PWM signals Gu, Gv, Gw, Gx, Gy, Gz are output to the virtual PWM inverter 90 in step S26 in the same manner as in step S8 at substantially the same output timing. . Thereby, virtual motor terminal voltages Vu, Vv, Vw are calculated. This step S26 also corresponds to “output 2” in FIG.

その後、ステップS27において、ステップS9と同様にして、その計算された仮想モータ端子電圧Vu,Vv,Vwが仮想モータ60に対して出力されることにより、前述のモータモデルを用いることにより、仮想モータ電流ベクトルI3が計算される。   Thereafter, in step S27, the calculated virtual motor terminal voltages Vu, Vv, and Vw are output to the virtual motor 60 in the same manner as in step S9, so that the virtual motor is used by using the motor model described above. A current vector I3 is calculated.

続いて、ステップS28において、ステップS10と同様にして、仮想モータ状態検出部62により、仮想モータ電流ベクトルI3が出力される。その仮想モータ電流ベクトルI3は、次回の計算サイクルでの計算に備えて、特定のメモリに一時的に保存される。   Subsequently, in step S28, the virtual motor current vector I3 is output by the virtual motor state detection unit 62 in the same manner as in step S10. The virtual motor current vector I3 is temporarily stored in a specific memory in preparation for calculation in the next calculation cycle.

その後、ステップS11において、システム11の主電源(図示しない)がオフにされたか否かが判定される。主電源が未だオンである場合には、その判定がNOとなり、次回の計算サイクルでの計算のために、ステップS3に戻る。これに対し、主電源がオフにされた場合には、ステップS11の判定がYESとなり、以上で、モータ制御装置10の作動が終了する。   Thereafter, in step S11, it is determined whether or not a main power supply (not shown) of the system 11 is turned off. If the main power is still on, the determination is no and the process returns to step S3 for calculation in the next calculation cycle. On the other hand, when the main power supply is turned off, the determination in step S11 is YES, and the operation of the motor control device 10 is thus completed.

<第3実施形態> <Third Embodiment>

次に、本発明の第3実施形態に従うモータ制御装置200を図11−図15を参照することにより説明する。ただし、本実施形態は、第1実施形態と共通する要素があるため、共通する要素については、同一の符号または名称を付して引用することにより、重複した説明を省略し、異なる要素についてのみ、詳細に説明する。   Next, a motor control device 200 according to a third embodiment of the present invention will be described with reference to FIGS. However, since this embodiment has elements common to the first embodiment, the common elements are referred to with the same reference numerals or names, thereby omitting redundant descriptions and only different elements. This will be described in detail.

図11に示すように、モータ制御装置200は、システム202に設けられている。そのシステム202は、第1実施形態と同様に、このシステム202の駆動源として作用する実モータ12と、実インバータ/パワーアンプ14と、実モータ状態検出部30とを備えているが、実モータ状態検出部30は、実モータ12の実モータ電流Iu,Iv,Iw、実モータ速度ωm、実モータ位置θmなどを検出することが可能である。   As shown in FIG. 11, the motor control device 200 is provided in the system 202. The system 202 includes the actual motor 12, the actual inverter / power amplifier 14, and the actual motor state detection unit 30 that act as a drive source of the system 202, as in the first embodiment. The state detection unit 30 can detect actual motor currents Iu, Iv, Iw of the actual motor 12, an actual motor speed ωm, an actual motor position θm, and the like.

図11に示すように、モータ制御装置200は、仮想モータ計算部210と、実モータ制御部220とをさらに有する。それら仮想モータ計算部210(ただし、本実施形態においては、後述の、図12に示す比較部222およびモデル修正部224、および図14に示すステップS111は、CPU44によって実行される)および実モータ制御部220は、演算回路42により、高速演算可能であるように構成される。   As shown in FIG. 11, the motor control device 200 further includes a virtual motor calculation unit 210 and a real motor control unit 220. The virtual motor calculation unit 210 (however, in this embodiment, the comparison unit 222 and the model correction unit 224 shown in FIG. 12 and step S111 shown in FIG. 14 described later are executed by the CPU 44) and actual motor control. The unit 220 is configured to be capable of high-speed calculation by the calculation circuit 42.

ただし、仮想モータ計算部210のみ、演算回路42によって高速演算可能であるように構成され、実モータ制御部220とは、演算回路42より低速で演算を行う別の演算回路(図示しない)またはCPU44によって実行することも可能である。   However, only the virtual motor calculation unit 210 is configured to be capable of high-speed calculation by the calculation circuit 42, and is different from the actual motor control unit 220 in another calculation circuit (not shown) or CPU 44 that performs calculation at a lower speed than the calculation circuit 42. It is also possible to execute by.

実モータ制御部220は、仮想モータ60の作動状態に基づき、実モータ12と仮想モータ60とに共通の制御信号を決定する。そのため、実モータ制御部220は、第1実施形態における仮想モータ制御部64と共通する構成を有している。本実施形態においては、仮想モータ制御部64が、図5(b)に示すように、Δθ推定器80を有せず、位相遅れ補償を行わない回路構成を有するが、図5(a)に示す回路構成を有するように変更してもよい。   The real motor control unit 220 determines a control signal common to the real motor 12 and the virtual motor 60 based on the operating state of the virtual motor 60. Therefore, the real motor control unit 220 has a configuration common to the virtual motor control unit 64 in the first embodiment. In this embodiment, the virtual motor control unit 64 does not have the Δθ estimator 80 and does not perform phase delay compensation as shown in FIG. You may change so that it may have the circuit structure shown.

図12に示すように、仮想モータ計算部210は、第1実施形態と同様に、仮想PWMインバータ90、仮想モータ60および仮想モータ状態検出部62を備えているが、仮想モータ状態検出部62は、仮想モータ60によって計算された仮想3相実電流Iu*,Iv*,Iw*を検出し、さらに、その仮想3相実電流Iu*,Iv*,Iw*の検出値から、仮想モータトルクTe*、仮想モータ速度ωm*、仮想モータ位置θm*、仮想3相磁束Fu*,Fv*,Fw*などを計算する。仮想モータ計算部210は、比較部222と、モデル修正部224とをさらに有する。   As shown in FIG. 12, the virtual motor calculation unit 210 includes a virtual PWM inverter 90, a virtual motor 60, and a virtual motor state detection unit 62, as in the first embodiment. The virtual three-phase actual currents Iu *, Iv *, Iw * calculated by the virtual motor 60 are detected, and the virtual motor torque Te is detected from the detected values of the virtual three-phase actual currents Iu *, Iv *, Iw *. *, Virtual motor speed ωm *, virtual motor position θm *, virtual three-phase magnetic flux Fu *, Fv *, Fw *, etc. are calculated. The virtual motor calculation unit 210 further includes a comparison unit 222 and a model correction unit 224.

まず、概略的に説明するに、実モータ制御部220は、図11に示すように、制御目標値(例えば、モータ速度指令ωm_ref)と、仮想モータ60の作動状態(例えば、仮想3相実電流Iu*,Iv*,Iw*、仮想モータ速度ωm*、仮想モータ位置θm*)とに基づき、その仮想モータ60と実モータ12とに共通の制御信号Gu,Gv,Gw,Gx,Gy,Gzを決定し、その決定された制御信号を実モータ12と仮想モータ60とに実質的に同時に出力する。   First, as schematically illustrated, the actual motor control unit 220, as shown in FIG. 11, controls the control target value (for example, the motor speed command ωm_ref) and the operating state of the virtual motor 60 (for example, the virtual three-phase actual current). Control signals Gu, Gv, Gw, Gx, Gy, Gz that are common to the virtual motor 60 and the real motor 12 based on Iu *, Iv *, Iw *, virtual motor speed ωm *, virtual motor position θm *). And the determined control signal is output to the real motor 12 and the virtual motor 60 substantially simultaneously.

なお、一例においては、実モータ制御部220が、速度制御器(図示しない)により、モータ速度指令ωm_refと、仮想モータ速度ωm*(例えば、仮想モータ位置θm*の時間微分値として計算することも可能)との差に基づき、仮想dq軸指令電流Id*,Iq*を計算し、仮想d軸指令電流Id*は電流制御器70に、仮想q軸指令電流Iq*は電流制御器72にそれぞれ供給する。実モータ制御部220は、実モータ位置θmに代えて、仮想モータ位置θm*を、座標変換器68、非干渉化制御器74および座標変換器76に供給する。   In one example, the actual motor control unit 220 may calculate a motor speed command ωm_ref and a virtual motor speed ωm * (for example, a time differential value of the virtual motor position θm *) by a speed controller (not shown). Virtual dq-axis command currents Id * and Iq * are calculated based on the difference between the virtual d-axis command current Id * and the current q-axis command current Iq *. Supply. The actual motor control unit 220 supplies the virtual motor position θm * to the coordinate converter 68, the non-interacting controller 74, and the coordinate converter 76 instead of the actual motor position θm.

実モータ制御部220は、前記制御目標値に基づいて実モータ12と仮想モータ60とに共通の制御信号を決定してその制御信号をそれらモータ12および60に実質的に同時に出力する点で、第1実施形態における仮想モータ制御部64と共通するが、制御信号を決定するために、実モータ状態信号に代えて仮想モータ状態信号を用いる点では相違する。   The real motor control unit 220 determines a control signal common to the real motor 12 and the virtual motor 60 based on the control target value, and outputs the control signal to the motors 12 and 60 substantially simultaneously. Although common to the virtual motor control unit 64 in the first embodiment, it is different in that a virtual motor state signal is used instead of the actual motor state signal in order to determine a control signal.

仮想モータ計算部210は、実モータ12の停止中(実モータ12に入力される制御信号が時間的に変化しないために、実モータ12への電気エネルギーの供給が不要である場合)であっても、実モータ制御部220からの制御信号に基づき、作動し続ける。   The virtual motor calculation unit 210 is in a state where the actual motor 12 is stopped (when the supply of electric energy to the actual motor 12 is unnecessary because the control signal input to the actual motor 12 does not change with time). Also, the operation continues based on the control signal from the actual motor control unit 220.

図12に示すように、比較部222は、実モータ12の作動状態(例えば、実3相実電流Iu,Iv,Iw)と仮想モータ60の作動状態(例えば、仮想3相実電流Iu*,Iv*,Iw*)とを互いに比較し、両者の差を電流誤差ΔIとして各相ごとに計算する。   As shown in FIG. 12, the comparison unit 222 operates the actual motor 12 (for example, the real three-phase actual currents Iu, Iv, Iw) and the virtual motor 60 (for example, the virtual three-phase actual current Iu *, Iv *, Iw *) are compared with each other, and the difference between the two is calculated as a current error ΔI for each phase.

図12に示すように、モデル修正部224は、前記計算された電流誤差ΔIに基づき、その電流誤差ΔIが減少するように、仮想モータ60の入出力特性を定義する前記モータモデル(図4参照)を修正する。モデル修正部224は、例えば、前記計算された電流誤差ΔIに基づき、図4に示すインダクタンス行列のうち、該当する要素を、電流誤差ΔIと要素の値との間に予め定められた関係(例えば、経験的にまたは実験的に取得される)を表すテーブルに従って修正する。   As shown in FIG. 12, the model correction unit 224 defines the input / output characteristics of the virtual motor 60 based on the calculated current error ΔI so that the current error ΔI decreases (see FIG. 4). ). For example, based on the calculated current error ΔI, the model correction unit 224 sets a corresponding element in the inductance matrix shown in FIG. 4 to a predetermined relationship between the current error ΔI and the value of the element (for example, (Acquired empirically or experimentally).

このモデル修正部224は、実モータ12を実際に駆動することにより、その実モータ12の入出力特性を仮想モータ60に教示するティーチングを実行し、その結果、実モータ12の作動状態と仮想モータ60の作動状態、すなわち、その仮想モータ60の計算結果とが互いに一致すれば、結局、実モータ制御部220は、第1実施形態と同様に、制御目標値と、実モータ12の作動状態とに基づき、実モータ12と仮想モータ60とに共通の制御信号を決定し、その決定された制御信号を実モータ12と仮想モータ60とに実質的に同時に出力することと等価であると考えられる。   The model correction unit 224 performs teaching that teaches the virtual motor 60 the input / output characteristics of the real motor 12 by actually driving the real motor 12, and as a result, the operating state of the real motor 12 and the virtual motor 60. , That is, the calculation result of the virtual motor 60 agrees with each other, eventually, the real motor control unit 220 determines that the control target value and the operation state of the real motor 12 are the same as in the first embodiment. This is considered to be equivalent to determining a control signal common to the real motor 12 and the virtual motor 60 and outputting the determined control signal to the real motor 12 and the virtual motor 60 substantially simultaneously.

図13には、実モータ制御部220の作動の一例がフローチャートで概念的に表されている。実モータ制御部220は、周期的に計算を行い、1サイクル分の計算を、前記仮想モータ計算周期Tvより長い実モータ計算周期Tm(例えば、数10μsec)で反復する。   FIG. 13 conceptually shows an example of the operation of the actual motor control unit 220 in a flowchart. The actual motor control unit 220 performs calculations periodically and repeats the calculation for one cycle at an actual motor calculation cycle Tm (for example, several tens of μsec) longer than the virtual motor calculation cycle Tv.

具体的には、まず、ステップS101において、データ入力が行われ、具体的には、今回の制御目標値T0(例えば、モータ速度指令ωm_ref)が、例えば、システム11に設置されたコントローラ(図示しない)または外部のコントローラ(図示しない)から入力される。さらに、仮想モータ状態検出部62から、仮想モータ状態として、仮想3相実電流信号Iu*,Iv*,Iw*、仮想モータ速度ωm*および仮想モータ位置θm*が入力される。   Specifically, first, in step S101, data input is performed. Specifically, the current control target value T0 (for example, the motor speed command ωm_ref) is, for example, a controller (not shown) installed in the system 11. ) Or an external controller (not shown). Further, virtual three-phase real current signals Iu *, Iv *, Iw *, virtual motor speed ωm *, and virtual motor position θm * are input from the virtual motor state detector 62 as virtual motor states.

その後、ステップS102において、前記入力された制御目標値T0が、所定の変換テーブルを用いるなどして、仮想dq軸指令電流信号Id*,Iq*に変換される。さらに、前記入力された仮想3相実電流信号Iu*,Iv*,Iw*が、図5に示すUVW−dq座標変換器68により、仮想dq軸実電流信号Id,Iqに変換される。   Thereafter, in step S102, the input control target value T0 is converted into virtual dq-axis command current signals Id * and Iq * by using a predetermined conversion table. Further, the inputted virtual three-phase actual current signals Iu *, Iv *, Iw * are converted into virtual dq-axis actual current signals Id, Iq by the UVW-dq coordinate converter 68 shown in FIG.

このステップS102においては、さらに、仮想dq軸指令電流信号Id*,Iq*および仮想dq軸実電流信号Id,Iqが、図5に示す電流制御器70,72および非干渉化制御器74により、仮想モータ60と実モータ12とが、モータ位置(本実施形態においては、仮想モータ位置θm*によって定義される)に関して互いに同期するように、仮想dq軸指令電圧信号Vd*,Vq*に変換される。   In step S102, the virtual dq-axis command current signals Id * and Iq * and the virtual dq-axis actual current signals Id and Iq are further converted by the current controllers 70 and 72 and the non-interacting controller 74 shown in FIG. The virtual motor 60 and the real motor 12 are converted into virtual dq axis command voltage signals Vd * and Vq * so as to be synchronized with each other with respect to the motor position (defined in this embodiment by the virtual motor position θm *). The

このステップS102においては、さらに、それら生成された仮想dq軸指令電圧信号Vd*,Vq*が、図5に示すdq−UVW座標変換器76により、モータ位置(本実施形態においては、仮想モータ位置θm*によって定義される)のもと、仮想dq軸指令電圧信号Vd*,Vq*に変換される。   In this step S102, the generated virtual dq axis command voltage signals Vd * and Vq * are further converted into a motor position (in this embodiment, a virtual motor position by the dq-UVW coordinate converter 76 shown in FIG. converted to virtual dq axis command voltage signals Vd * and Vq *.

続いて、ステップS103において、データ出力が行われ、具体的には、それら生成された仮想dq軸指令電圧信号Vd*,Vq*が、図5に示すPWM信号発生器78により、PWM信号Gu,Gv,Gw,Gx,Gy,Gzに変換される。それら生成されたPWM信号Gu,Gv,Gw,Gx,Gy,Gzは、実インバータ/パワーアンプ14に対して入力され、それにより、実モータ12が駆動される。その後、ステップS101に戻る。   Subsequently, in step S103, data output is performed. Specifically, the generated virtual dq axis command voltage signals Vd * and Vq * are generated by the PWM signal generator 78 shown in FIG. Converted to Gv, Gw, Gx, Gy, Gz. The generated PWM signals Gu, Gv, Gw, Gx, Gy, Gz are input to the actual inverter / power amplifier 14, thereby driving the actual motor 12. Then, it returns to step S101.

それらステップS101からS103までのステップ群が、実モータ計算周期Tmで反復的に実行される。   These steps S101 to S103 are repeatedly executed at the actual motor calculation cycle Tm.

図14には、仮想モータ計算部210の作動の一例がフローチャートで概念的に表されている。仮想モータ計算部210は、周期的に計算を行い、1サイクル分の計算を、実モータ計算周期Tmより短い仮想モータ計算周期Tv(例えば、数1μsec)で反復する。   FIG. 14 conceptually shows an example of the operation of the virtual motor calculation unit 210 in a flowchart. The virtual motor calculation unit 210 performs calculations periodically and repeats the calculation for one cycle at a virtual motor calculation cycle Tv (for example, several 1 μsec) shorter than the actual motor calculation cycle Tm.

具体的には、まず、ステップS111において、初期化が行われる。具体的には、例えば、実モータ状態検出部30により、初期の実モータ位置θinitが取得され、同じ位置が、仮想モータ60の初期の仮想モータ位置θinitとされる。   Specifically, first, initialization is performed in step S111. Specifically, for example, the actual motor state detection unit 30 acquires the initial actual motor position θinit, and the same position is set as the initial virtual motor position θinit of the virtual motor 60.

次に、ステップS112において、データ入力が行われ、具体的には、前記生成されたPWM信号Gu,Gv,Gw,Gx,Gy,Gzが、実インバータ/パワーアンプ14に対して出力されたタイミングと実質的に同じタイミングで、図7に示す仮想PWMインバータ90に対して入力される。その仮想PWMインバータ90の作動すなわち計算により、仮想モータ端子電圧信号Vu,Vv,Vwが生成される。   Next, in step S112, data input is performed. Specifically, the timing at which the generated PWM signals Gu, Gv, Gw, Gx, Gy, Gz are output to the actual inverter / power amplifier 14. Is input to the virtual PWM inverter 90 shown in FIG. The virtual motor inverter voltage signal Vu, Vv, Vw is generated by the operation of the virtual PWM inverter 90, that is, calculation.

続いて、ステップS113において、その計算された仮想モータ端子電圧信号Vu,Vv,Vwが仮想モータ60に対して出力されることにより、その仮想モータ60の作動、すなわち、前述のモータモデルを用いた計算が行われ、それにより、仮想モータ電流ベクトルI*すなわち仮想3相実電流Iu*,Iv*,Iw*が計算され、さらに、それら仮想3相実電流Iu*,Iv*,Iw*の計算値から、仮想モータ速度ωm*および仮想モータ位置θm*も計算される。   Subsequently, in step S113, the calculated virtual motor terminal voltage signals Vu, Vv, Vw are output to the virtual motor 60, whereby the operation of the virtual motor 60, that is, the above-described motor model is used. A calculation is performed, whereby a virtual motor current vector I *, that is, a virtual three-phase real current Iu *, Iv *, Iw * is calculated, and further, the virtual three-phase real currents Iu *, Iv *, Iw * are calculated. From the values, the virtual motor speed ωm * and the virtual motor position θm * are also calculated.

その後、ステップS114において、データ出力が行われ、具体的には、仮想モータ状態検出部62により、前記計算された仮想モータ電流ベクトルI*すなわち仮想3相実電流値Iu*,Iv*,Iw*、仮想モータ速度ωm*および仮想モータ位置θm*が出力される。それら仮想3相実電流Iu*,Iv*,Iw*の計算値、仮想モータ速度ωm*および仮想モータ位置θm*は、実モータ制御部220による次回の計算に備えて、特定のメモリ(図示しない)に一時的に保存される。その後、ステップS112に戻る。   Thereafter, in step S114, data is output. Specifically, the virtual motor state detector 62 calculates the calculated virtual motor current vector I *, that is, the virtual three-phase actual current values Iu *, Iv *, Iw *. The virtual motor speed ωm * and the virtual motor position θm * are output. The calculated values of the virtual three-phase actual currents Iu *, Iv *, Iw *, the virtual motor speed ωm *, and the virtual motor position θm * are stored in a specific memory (not shown) in preparation for the next calculation by the real motor control unit 220. ) Temporarily saved. Thereafter, the process returns to step S112.

それらステップS112からS114までのステップ群が、仮想モータ計算周期Tvで反復的に実行される。   The group of steps from S112 to S114 is repeatedly executed at the virtual motor calculation cycle Tv.

図15には、比較部222およびモデル修正部224の作動の一例がフローチャートで概念的に表されている。それら比較部222およびモデル修正部224は、CPU44により、誤差監視計算周期Tc(例えば、数10μsec)で反復的に実行される。   FIG. 15 conceptually shows an example of the operation of the comparison unit 222 and the model correction unit 224 in a flowchart. The comparison unit 222 and the model correction unit 224 are repeatedly executed by the CPU 44 at an error monitoring calculation period Tc (for example, several tens of μsec).

具体的には、まず、ステップS121において、仮想モータ60の相電流の、実モータ12の相電流からの誤差である電流誤差ΔIが、各相U,V,Wごとに計算され、それら3相のうちの少なくとも一つにつき、前記計算された電流誤差ΔIの絶対値が、予め定められたしきい値ΔIthより大きいか否かが判定される。今回は、いずれの相についても、電流誤差ΔIの計算値がしきい値ΔIth以下であると仮定すると、このステップS121の判定がNOとなり、同じステップS121が再度実行される。   Specifically, first, in step S121, a current error ΔI that is an error of the phase current of the virtual motor 60 from the phase current of the actual motor 12 is calculated for each of the phases U, V, and W. It is determined whether at least one of the absolute values of the calculated current error ΔI is greater than a predetermined threshold value ΔIth. This time, assuming that the calculated value of the current error ΔI is equal to or less than the threshold value ΔIth for any phase, the determination in step S121 is NO, and the same step S121 is executed again.

これに対し、今回は、少なくとも一つの相につき、電流誤差ΔIの計算値がしきい値ΔIthを超えていると仮定すると、このステップS121の判定がYESとなり、ステップS122に移行する。   On the other hand, this time, assuming that the calculated value of the current error ΔI exceeds the threshold value ΔIth for at least one phase, the determination in step S121 is YES, and the process proceeds to step S122.

このステップS122においては、比較部222が作動させられる。具体的には、電流誤差ΔIがいずれの相についても、しきい値ΔIthを超えないように前記モータモデルを修正すべき修正量が計算される。   In step S122, the comparison unit 222 is operated. Specifically, a correction amount for correcting the motor model is calculated so that the current error ΔI does not exceed the threshold value ΔIth for any phase.

その計算手法の一例においては、各相ごとの電流誤差ΔIが取り得る複数の離散的な代表値と、前記インダクタンス行列における複数の要素L,Mのうち、修正すべき要素と、その要素についての修正量との間において予め定められた関係(例えば、テーブルとして、プロセッサ40のためのメモリに予め記憶されている)に従い、電流誤差ΔIの実際の計算値に対応する修正量(もとの値に加算される値としたり、もとの値に乗算される係数とすることが可能である)が取得される。   In an example of the calculation method, among the plurality of discrete representative values that can be taken by the current error ΔI for each phase, the element to be corrected among the elements L and M in the inductance matrix, The correction amount (original value) corresponding to the actual calculated value of the current error ΔI according to a predetermined relationship with the correction amount (for example, stored in the memory for the processor 40 in advance as a table). Or a coefficient that is multiplied by the original value).

続いて、ステップS123において、モデル修正部224が作動させられる。具体的には、仮想モデル60の入出力特性を定義するモータモデルが、前記計算された修正量に基づいて修正される(例えば、前記インダクタンス行列の複数の要素に共通に取得される補正係数または要素ごとに取得される修正係数が、それら要素のもとの値に乗算される)。電流誤差ΔIの計算値に基づいて仮想モデル60のティーチングが行われるのであり、その結果、仮想モデル60の入出力特性が、実モータ12の入出力特性をより正確に反映することとなる。その後、ステップS121に戻る。   Subsequently, in step S123, the model correction unit 224 is operated. Specifically, the motor model that defines the input / output characteristics of the virtual model 60 is corrected based on the calculated correction amount (for example, a correction coefficient acquired in common with a plurality of elements of the inductance matrix or The correction factor obtained for each element is multiplied by the original value of those elements). Teaching of the virtual model 60 is performed based on the calculated value of the current error ΔI, and as a result, the input / output characteristics of the virtual model 60 more accurately reflect the input / output characteristics of the actual motor 12. Thereafter, the process returns to step S121.

それらステップS121からS123までのステップ群が、仮想モータ計算周期Tvより長い誤差監視周期(ティーチング周期でもある)Tcで反復的に実行される。   These steps S121 to S123 are repeatedly executed with an error monitoring period (which is also a teaching period) Tc longer than the virtual motor calculation period Tv.

以上の説明から明らかなように、本実施形態によれば、システム202が試験的に稼動させられる状況にあるか実際に稼動している状況にあるかを問わず、実モータ12の実際の入出力特性を反映するように、仮想モータ60の入出力特性すなわち前記モータモデルを個別にチューニングすることが可能である。   As is apparent from the above description, according to the present embodiment, the actual input of the actual motor 12 can be performed regardless of whether the system 202 is in a state of being operated on a trial basis or in a state of being actually operated. The input / output characteristics of the virtual motor 60, that is, the motor model can be individually tuned to reflect the output characteristics.

したがって、本実施形態によれば、システム202の製造段階にあっては、実モータ12の入出力特性の個体ばらつきなどを反映するように、仮想モータ60の入出力特性すなわちモータモデルを個別にチューニングすることが可能である。また、システム202の出荷後であって、ユーザが実際にシステム202を使用する段階にあっては、実モータ12の入出力特性の経時劣化や、外的環境(例えば、温度環境)に起因する変化などを反映するように、仮想モータ60の入出力特性すなわちモータモデルを個別に、かつ、本来の用途で使用しつつ、それと並行して、かつ、自動的にチューニングすることが可能である。そのようにしてチューニングされたモータモデルは、前述の第1または第2実施形態において採用したり、後述の第4実施形態において採用することが可能である。   Therefore, according to the present embodiment, in the manufacturing stage of the system 202, the input / output characteristics of the virtual motor 60, that is, the motor model, are individually tuned so as to reflect individual variations in the input / output characteristics of the actual motor 12 and the like. Is possible. In addition, after the system 202 is shipped, when the user actually uses the system 202, the input / output characteristics of the actual motor 12 are deteriorated with time or due to an external environment (for example, a temperature environment). It is possible to automatically tune the input / output characteristics of the virtual motor 60, that is, the motor model, individually and in parallel with the original application so as to reflect changes and the like. The motor model tuned in such a manner can be employed in the first or second embodiment described above or can be employed in a fourth embodiment described later.

<第4実施形態> <Fourth embodiment>

次に、本発明の第4実施形態に従うモータ制御装置300を図16−図19を参照することにより説明する。ただし、本実施形態は、第1実施形態と共通する要素があるため、共通する要素については、同一の符号または名称を付して引用することにより、重複した説明を省略し、異なる要素についてのみ、詳細に説明する。   Next, a motor control device 300 according to a fourth embodiment of the present invention will be described with reference to FIGS. However, since this embodiment has elements common to the first embodiment, the common elements are referred to with the same reference numerals or names, thereby omitting redundant descriptions and only different elements. This will be described in detail.

図16に示すように、モータ制御装置300は、システム302に設けられている。そのシステム302は、第1実施形態と同様に、このシステム302の駆動源として作用する実モータ12と、実インバータ/パワーアンプ14と、実モータ状態検出部30とを備えているが、実モータ状態検出部30は、実モータ12の実モータ電流Iu,Iv,Iw、実モータ速度ωm、実モータ位置θmなどを検出することが可能である。   As shown in FIG. 16, the motor control device 300 is provided in a system 302. Similar to the first embodiment, the system 302 includes an actual motor 12 that functions as a drive source of the system 302, an actual inverter / power amplifier 14, and an actual motor state detection unit 30, but the actual motor The state detection unit 30 can detect actual motor currents Iu, Iv, Iw of the actual motor 12, an actual motor speed ωm, an actual motor position θm, and the like.

図16に示すように、モータ制御装置300は、仮想モータ計算部310と、実モータ制御部320とをさらに有する。それら仮想モータ計算部310(ただし、本実施形態においては、後述の、図17に示す制御切替部322および状態信号切替部324は、CPU44によって実行される)および実モータ制御部320は、演算回路42により、高速演算可能であるように構成される。   As illustrated in FIG. 16, the motor control device 300 further includes a virtual motor calculation unit 310 and a real motor control unit 320. The virtual motor calculation unit 310 (in this embodiment, a control switching unit 322 and a state signal switching unit 324 shown in FIG. 17, which will be described later, are executed by the CPU 44) and the actual motor control unit 320 are an arithmetic circuit. 42 is configured to be capable of high-speed computation.

ただし、仮想モータ計算部310のみ、演算回路42によって高速演算可能であるように構成され、実モータ制御部320とは、演算回路42より低速で演算を行う別の演算回路(図示しない)またはCPU44によって実行することも可能である。   However, only the virtual motor calculation unit 310 is configured to be capable of high-speed calculation by the calculation circuit 42, and the actual motor control unit 320 is another calculation circuit (not shown) or a CPU 44 that performs calculation at a lower speed than the calculation circuit 42. It is also possible to execute by.

実モータ制御部320は、実モータ12または仮想モータ60の作動状態に基づき、実モータ12と仮想モータ60とに共通の制御信号、または仮想モータ60のみに供給される制御信号を決定する。そのため、実モータ制御部320は、第1実施形態における仮想モータ制御部64と共通する構成を有している。本実施形態においては、仮想モータ制御部64が、図5(b)に示すように、Δθ推定器80を有せず、位相遅れ補償を行わない回路構成を有するが、図5(a)に示す回路構成を有するように変更してもよい。   The real motor control unit 320 determines a control signal common to the real motor 12 and the virtual motor 60 or a control signal supplied only to the virtual motor 60 based on the operating state of the real motor 12 or the virtual motor 60. Therefore, the real motor control unit 320 has a configuration common to the virtual motor control unit 64 in the first embodiment. In this embodiment, the virtual motor control unit 64 does not have the Δθ estimator 80 and does not perform phase delay compensation as shown in FIG. You may change so that it may have the circuit structure shown.

実モータ制御部320は、第3実施形態におけると同様に、図13にフローチャートで概念的に表されている手順で作動する。ただし、本実施形態においては、ステップS101において、第3実施形態と同様に、仮想モータ状態検出部62から、仮想モータ状態として、仮想3相実電流信号Iu*,Iv*,Iw*、仮想モータ速度ωm*および仮想モータ位置θm*が入力される可能性に加えて、第3実施形態とは異なり、実モータ状態検出部30から、実モータ状態として、実3相実電流信号Iu,Iv,Iw、実モータ速度ωmおよび実モータ位置θmが入力される可能性がある。   As in the third embodiment, the actual motor control unit 320 operates according to the procedure conceptually shown in the flowchart of FIG. However, in the present embodiment, in step S101, as in the third embodiment, the virtual motor state detection unit 62 receives the virtual three-phase real current signals Iu *, Iv *, Iw *, virtual motor as the virtual motor state. In addition to the possibility that the speed ωm * and the virtual motor position θm * are input, unlike the third embodiment, the actual motor state is detected from the actual motor state detection unit 30 as the actual three-phase actual current signals Iu, Iv, There is a possibility that Iw, actual motor speed ωm, and actual motor position θm may be input.

図17に示すように、仮想モータ計算部310は、第1実施形態と同様に、仮想PWMインバータ90、仮想モータ60および仮想モータ状態検出部62を備えているが、仮想モータ状態検出部62は、仮想モータ60によって計算された仮想3相実電流Iu*,Iv*,Iw*を検出し、さらに、その仮想3相実電流Iu*,Iv*,Iw*の検出値から、仮想モータトルクTe*、仮想モータ速度ωm*、仮想モータ位置θm*、仮想3相磁束Fu,Fv,Fwなどを計算する。仮想モータ計算部310は、制御切替部322と、状態信号切替部324とをさらに有する。   As shown in FIG. 17, the virtual motor calculation unit 310 includes a virtual PWM inverter 90, a virtual motor 60, and a virtual motor state detection unit 62, as in the first embodiment. The virtual three-phase actual currents Iu *, Iv *, Iw * calculated by the virtual motor 60 are detected, and the virtual motor torque Te is detected from the detected values of the virtual three-phase actual currents Iu *, Iv *, Iw *. *, Virtual motor speed ωm *, virtual motor position θm *, virtual three-phase magnetic flux Fu, Fv, Fw, etc. are calculated. The virtual motor calculation unit 310 further includes a control switching unit 322 and a state signal switching unit 324.

ところで、システム302の開発段階においては、そのシステム302を構成する実モータ12、仮想モータ60および実制御系のそれぞれの試験が必要であるが、未完成の制御系を試験するために、いきなり実モータ12を用いると、制御系のチューニング不足が原因で、実モータ12が損傷する可能性がある。そのため、制御系の試験を、実モータ12に代えて仮想モータ60を用いることによって行いたいという要請がある。   By the way, in the development stage of the system 302, it is necessary to test each of the real motor 12, the virtual motor 60, and the real control system that constitute the system 302. When the motor 12 is used, the actual motor 12 may be damaged due to insufficient tuning of the control system. For this reason, there is a demand for testing the control system by using the virtual motor 60 instead of the actual motor 12.

また、制御系の試験終了後には、その制御系の性能を、実際の使用環境、すなわち、実モータ12と仮想モータ60とが共に作動する環境において確認するために、その制御系を、実モータ12と仮想モータ60とが共に作動する環境において診断したいという要請がある。もちろん、システム302の実際の使用環境においては、その制御系が、実モータ12と仮想モータ60とが共に作動する環境において使用される。   Further, after the test of the control system is completed, in order to confirm the performance of the control system in an actual use environment, that is, an environment in which the real motor 12 and the virtual motor 60 are operated together, There is a demand to make a diagnosis in an environment where both the motor 12 and the virtual motor 60 operate. Of course, in the actual use environment of the system 302, the control system is used in an environment where the real motor 12 and the virtual motor 60 operate together.

そこで、本実施形態においては、仮想モータ計算部310が、作業者や開発者による操作(例えば、スイッチ操作)、または特定の条件が成立すると状態切替信号を自動的に発生させる信号発生器からの状態切替信号に応じて、仮想モータ60を単独で駆動する単独駆動モードと、仮想モータ60を実モータ12と一緒に駆動する双方駆動モードとのうちのいずれかを選択する。   Therefore, in the present embodiment, the virtual motor calculation unit 310 receives an operation (for example, a switch operation) by an operator or a developer or a signal generator that automatically generates a state switching signal when a specific condition is satisfied. In response to the state switching signal, one of a single drive mode for driving the virtual motor 60 alone and a dual drive mode for driving the virtual motor 60 together with the real motor 12 is selected.

単独駆動モードの選択時には、実モータ12がシステム302に搭載されていない状態であっても、実モータ制御部320を、仮想モータ60を用いて試験することができる。よって、実モータ12の開発完了を待つことなく、実モータ制御部320の試験・開発を行うことができる。その結果、実モータ12の開発と、実モータ制御部320の試験・開発とを、互いに独立して、かつ、互いに並行して行うことができる。   When the single drive mode is selected, the real motor control unit 320 can be tested using the virtual motor 60 even if the real motor 12 is not mounted on the system 302. Therefore, it is possible to test and develop the actual motor control unit 320 without waiting for completion of development of the actual motor 12. As a result, the development of the actual motor 12 and the test / development of the actual motor control unit 320 can be performed independently of each other and in parallel with each other.

これに対し、双方駆動モードの選択時には、システム302を、実モータ制御部320と実モータ12との双方が搭載された状態で診断したり、完全組立状態にあるシステム302を構成する部品、またはそのシステム302に接続される部品のうち、単独駆動モードでの試験が行われていない部品の診断を行うことができる。   On the other hand, when the two-way drive mode is selected, the system 302 is diagnosed with both the actual motor control unit 320 and the actual motor 12 mounted, components constituting the system 302 in a fully assembled state, or Among the components connected to the system 302, it is possible to diagnose a component that has not been tested in the single drive mode.

図18には、仮想モータ計算部310における制御切替部322の作動の一例がフローチャートで概念的に表されている。   FIG. 18 conceptually shows an example of the operation of the control switching unit 322 in the virtual motor calculation unit 310 in a flowchart.

制御切替部322が実行されると、まず、ステップS201において、単独駆動モータと双方駆動モードとの間での切替えを行うためのモード切替信号が入力される。次に、ステップS202において、その入力されたモード切替信号によって単独駆動モードが選択されたか否かが判定される。単独駆動モードが選択された場合には、ステップS202の判定がYESとなり、ステップS203において、実モータ制御部320から出力された制御信号が仮想モータ60のみに出力される。その後、ステップS201に戻る。   When the control switching unit 322 is executed, first, in step S201, a mode switching signal for switching between the single drive motor and the dual drive mode is input. Next, in step S202, it is determined whether or not the single drive mode has been selected based on the input mode switching signal. If the single drive mode is selected, the determination in step S202 is YES, and the control signal output from the real motor control unit 320 is output only to the virtual motor 60 in step S203. Thereafter, the process returns to step S201.

これに対し、入力されたモード切替信号によって双方駆動モードが選択された場合には、ステップS202の判定がNOとなり、ステップS204において、実モータ制御部320から出力された制御信号が実モータ12に出力され、その後、それとほぼ同時に、ステップS205において、同じ制御信号が仮想モータ60にも出力される。その後、ステップS201に戻る。   On the other hand, when the both-side drive mode is selected by the input mode switching signal, the determination in step S202 is NO, and in step S204, the control signal output from the actual motor control unit 320 is sent to the actual motor 12. After that, almost at the same time, the same control signal is also output to the virtual motor 60 in step S205. Thereafter, the process returns to step S201.

双方駆動モードの選択時に、前記制御信号が実インバータ/パワーアンプ14に供給されれば、実モータ12が作動し、さらに、実モータ状態検出部30が実モータ状態を検出するが、そうでなければ、実モータ12は作動しない。また、いずれのモードの選択時にも、前記制御信号が仮想PWMインバータ90に供給されれば、図14にフローチャートで概念的に表す手順で、仮想モータ60が作動し、さらに、仮想モータ状態検出部62が仮想モータ状態を検出する。   If the control signal is supplied to the actual inverter / power amplifier 14 when the two-way drive mode is selected, the actual motor 12 is operated, and the actual motor state detection unit 30 detects the actual motor state. In this case, the actual motor 12 does not operate. Further, in any mode selection, if the control signal is supplied to the virtual PWM inverter 90, the virtual motor 60 is operated according to the procedure conceptually shown in the flowchart in FIG. 62 detects the virtual motor state.

図19には、仮想モータ計算部310における状態信号切替部324の作動の一例がフローチャートで概念的に表されている。   FIG. 19 conceptually shows an example of the operation of the state signal switching unit 324 in the virtual motor calculation unit 310 in a flowchart.

状態信号切替部324が実行されると、まず、ステップS301において、前記モード切替信号が入力される。次に、ステップS302において、その入力されたモード切替信号によって単独駆動モードが選択されたか否かが判定される。単独駆動モードが選択された場合には、ステップS302の判定がYESとなり、ステップS303において、仮想モータ状態検出部62から入力された仮想モータ状態信号が実モータ制御部320に出力される。その後、ステップS301に戻る。   When the state signal switching unit 324 is executed, first, in step S301, the mode switching signal is input. Next, in step S302, it is determined whether or not the single drive mode is selected based on the input mode switching signal. If the single drive mode is selected, the determination in step S302 is YES, and the virtual motor state signal input from the virtual motor state detection unit 62 is output to the real motor control unit 320 in step S303. Then, it returns to step S301.

これに対し、入力されたモード切替信号によって双方駆動モードが選択された場合には、ステップS302の判定がNOとなり、ステップS304において、実モータ状態検出部30から入力された実モータ状態信号が実モータ制御部320に出力される。その後、ステップS301に戻る。   On the other hand, when the two-side drive mode is selected by the input mode switching signal, the determination in step S302 is NO, and in step S304, the actual motor state signal input from the actual motor state detection unit 30 is actual. It is output to the motor control unit 320. Then, it returns to step S301.

単独駆動モードにおいては、実モータ制御部320は、仮想モータ状態検出部62から入力された仮想モータ状態信号に基づいて前記制御信号を決定する一方、双方駆動モードにおいては、実モータ制御部320は、実モータ状態検出部30から入力された実モータ状態信号に基づいて前記制御信号を決定する。   In the single drive mode, the real motor control unit 320 determines the control signal based on the virtual motor state signal input from the virtual motor state detection unit 62, while in the dual drive mode, the real motor control unit 320 Then, the control signal is determined based on the actual motor state signal input from the actual motor state detection unit 30.

以上、本発明の実施の形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、前記[発明の概要]の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。   As described above, some of the embodiments of the present invention have been described in detail with reference to the drawings. However, these are exemplifications, and are based on the knowledge of those skilled in the art including the aspects described in the section of [Summary of the Invention]. The present invention can be implemented in other forms with various modifications and improvements.

Claims (4)

電気エネルギーを運動エネルギーに変換する実モータを制御するモータ制御装置であって、
前記実モータを模擬する仮想モータと、
各計算サイクルごとに、制御目標値に基づき、前記実モータと前記仮想モータとに共通の制御信号を決定するとともに、その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する制御部と
を含み、
前記仮想モータは、各計算サイクルごとに、前記制御信号が入力されると、その入力された制御信号に基づき、その制御信号に応答して実現される前記実モータの作動状態を推定するとともに、その推定された実モータ作動状態を前記仮想モータの作動状態として出力し、
前記制御部は、各回の計算サイクルにおいて、前記制御目標値と、前回の計算サイクルにおいて前記仮想モータから出力された仮想モータ作動状態と、前記実モータの実際の作動状態とに基づき、前記仮想モータと前記実モータとがそれぞれ互いに実質的に同期して作動するように、前記制御信号を決定するモータ制御装置。
A motor control device that controls an actual motor that converts electrical energy into kinetic energy,
A virtual motor that simulates the real motor;
In each calculation cycle, a control signal common to the real motor and the virtual motor is determined based on the control target value, and the determined control signal is output to the real motor and the virtual motor, respectively. Part and
When the control signal is input for each calculation cycle, the virtual motor estimates the operating state of the real motor realized in response to the control signal based on the input control signal , Output the estimated actual motor operating state as the operating state of the virtual motor ,
The control unit, based on the control target value in each calculation cycle, the virtual motor operating state output from the virtual motor in the previous calculation cycle, and the actual operating state of the real motor, And a motor control device for determining the control signal such that the actual motor and the actual motor operate substantially in synchronization with each other .
電気エネルギーを運動エネルギーに変換する実モータを制御するモータ制御方法であって、A motor control method for controlling an actual motor that converts electrical energy into kinetic energy,
各計算サイクルごとに、制御目標値に基づき、前記実モータとその実モータを模擬する仮想モータとに共通の制御信号を決定する決定工程と、  For each calculation cycle, based on a control target value, a determination step for determining a control signal common to the real motor and a virtual motor that simulates the real motor;
各計算サイクルごとに、その決定された制御信号を前記実モータと前記仮想モータとにそれぞれ出力する出力工程と、  An output step for outputting the determined control signal to each of the real motor and the virtual motor for each calculation cycle;
各計算サイクルごとに、前記制御信号を前記仮想モータに入力し、それにより、その仮想モータに、前記入力された制御信号に基づき、その制御信号に応答して実現される前記実モータの作動状態を推定させる推定工程と  For each calculation cycle, the control signal is input to the virtual motor, whereby the virtual motor is operated in response to the control signal based on the input control signal. An estimation process for estimating
を含み、  Including
前記決定工程は、各回の計算サイクルにおいて、前記制御目標値と、前回の計算サイクルにおいて前記仮想モータによって推定された実モータ作動状態と、前記実モータの実際の作動状態とに基づき、前記仮想モータと前記実モータとがそれぞれ互いに実質的に同期して作動するように、前記制御信号を決定するモータ制御方法。  The determining step is based on the control target value in each calculation cycle, the actual motor operating state estimated by the virtual motor in the previous calculation cycle, and the actual operating state of the actual motor. Motor control method for determining the control signal so that the actual motor and the actual motor operate substantially in synchronization with each other.
請求項2に記載のモータ制御方法を実行するためにコンピュータによって実行されるプログラム。A program executed by a computer to execute the motor control method according to claim 2. 請求項3に記載のプログラムをコンピュータ読み取り可能に記録した記録媒体。A recording medium on which the program according to claim 3 is recorded so as to be readable by a computer.
JP2013127465A 2013-06-18 2013-06-18 Motor control device and motor control method Pending JP2014128190A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013127465A JP2014128190A (en) 2013-06-18 2013-06-18 Motor control device and motor control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013127465A JP2014128190A (en) 2013-06-18 2013-06-18 Motor control device and motor control method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012281668A Division JP5301025B1 (en) 2012-12-25 2012-12-25 Motor control device and motor control method

Publications (1)

Publication Number Publication Date
JP2014128190A true JP2014128190A (en) 2014-07-07

Family

ID=51407273

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013127465A Pending JP2014128190A (en) 2013-06-18 2013-06-18 Motor control device and motor control method

Country Status (1)

Country Link
JP (1) JP2014128190A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016149822A (en) * 2015-02-10 2016-08-18 株式会社デンソー Controller for switched reluctance motor
CN114073001A (en) * 2019-07-09 2022-02-18 株式会社安川电机 Power conversion device, pressure-feed device, power conversion method, program, diagnostic device, and diagnostic method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016149822A (en) * 2015-02-10 2016-08-18 株式会社デンソー Controller for switched reluctance motor
CN114073001A (en) * 2019-07-09 2022-02-18 株式会社安川电机 Power conversion device, pressure-feed device, power conversion method, program, diagnostic device, and diagnostic method

Similar Documents

Publication Publication Date Title
JP5781235B2 (en) Synchronous machine controller
JP2009136085A (en) Controller of ac motor
JP5405685B1 (en) Motor control device and motor control method
JP5182302B2 (en) Rotating machine control device
JP5790123B2 (en) Motor drive control device and motor drive method
CN103378793B (en) Generate the method for voltage instruction, system and the equipment for controlling magneto operation
JP3397013B2 (en) Control device for synchronous motor
JP6687228B1 (en) AC rotating electric machine control device
JP5733404B2 (en) PM motor position sensorless control device
JP5737093B2 (en) Rotating machine control device
JP4228651B2 (en) Method and apparatus for controlling IPM motor
JP2014128190A (en) Motor control device and motor control method
WO2017030055A1 (en) Device and method for controlling rotary machine
JP5379327B1 (en) Motor control device and motor control method
JP5301025B1 (en) Motor control device and motor control method
JP5724737B2 (en) Rotating machine control device
JP5541587B2 (en) AC motor control device
JP7162685B2 (en) AC rotary electric machine control device
CN115514279A (en) Motor pulse width modulation optimization driving method and system
JP2014217269A (en) Motor control device and motor control method
JP2013219988A (en) Control device of rotating machine
JP2015023788A (en) Motor control device and motor control method
JP2014161201A (en) Motor controller
JP5351345B1 (en) Motor control device
JP2018046615A (en) Temperature estimation device, interlinkage magnetic flux estimation device and motor controller