JP2015023788A - Motor control device and motor control method - Google Patents
Motor control device and motor control method Download PDFInfo
- Publication number
- JP2015023788A JP2015023788A JP2013199656A JP2013199656A JP2015023788A JP 2015023788 A JP2015023788 A JP 2015023788A JP 2013199656 A JP2013199656 A JP 2013199656A JP 2013199656 A JP2013199656 A JP 2013199656A JP 2015023788 A JP2015023788 A JP 2015023788A
- Authority
- JP
- Japan
- Prior art keywords
- motor
- virtual
- actual
- real
- virtual motor
- 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
Links
Images
Abstract
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
制御系の設計に際し、実モータの入出力特性が線形である場合には、制御系の設計も、仮想モータの設計も容易である。この種の実モータは、一般に、希土類を使用する磁石を使用する。 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.
しかしながら、近年、希土類の入手が困難となっていることもあり、磁石を用いないモータに転換したいという要望が増してきている。また、磁石を用いるにしてもその使用量を減らしたいという要望もある。磁石の使用量が少ないモータは、小型化・高速化に伴い、定格出力(例えば、モータ速度やモータトルク)を超えた領域で使用される場合がある。また、安価な磁石材料を用いてモータを製作したいという要望もある。 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.
本発明によって下記の各態様が得られる。各態様は、項に区分し、各項には番号を付し、必要に応じて他の項の番号を引用する形式で記載する。これは、本発明が採用し得る技術的特徴の一部およびそれの組合せの理解を容易にするためであり、本発明が採用し得る技術的特徴およびそれの組合せが以下の態様に限定されると解釈すべきではない。すなわち、下記の態様には記載されていないが本明細書には記載されている技術的特徴を本発明の技術的特徴として適宜抽出して採用することは妨げられないと解釈すべきなのである。 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;
For each calculation cycle, a control signal for at least the virtual motor of the real motor and the virtual motor is determined, and the determined control signal is used for at least the virtual motor of the real motor and the virtual motor. And a control unit that outputs to
When the control signal is input for each calculation cycle, the virtual motor is based on the input control signal, and when the same control signal as the control signal is output to the real motor, Estimating the operating state of the real motor realized in response, and outputting the estimated operating state as a virtual operating state of the virtual motor;
For each calculation cycle, the control unit substantially determines that the virtual motor is substantially the same as the real motor based on the virtual operation state output from the virtual motor in the previous calculation cycle and the actual operation state of the real motor. Determining the control signal to operate in synchronization with
The real motor is a motor control device that is operated together with the virtual motor based on at least one of a target signal for the real motor, a signal acquired from the virtual motor, and the control signal.
本明細書の全体を通して、「実モータを模擬する仮想モータ」という文言は、例えば、実モータの実際のまたは目標の入出力特性と実質的に同じ入出力特性を有する仮想モータを意味するように解釈したり、モータの入出力特性や動特性を定義するモータモデルを実モータとの間で実質的に共有する仮想モータを意味するように解釈することが可能である。 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 for each calculation cycle, the virtual motor, when the same control signal as the control signal is output to the real motor based on the input control signal. Estimating the actual current value of the real motor realized in response to the control signal, and outputting the estimated actual current value as a virtual current value of the virtual motor;
The control unit, for each calculation cycle, makes the virtual motor substantially different from the real motor based on the virtual current value output from the virtual motor in the previous calculation cycle and the actual rotation angle of the real motor. The motor control device according to (1), wherein the control signal is determined so as to operate in synchronization with the motor.
(3) 前記制御部は、各計算サイクルごとに、前記仮想モータの指令電流値を計算するために座標変換を伴うベクトル制御を、前記座標変換が前記実モータの実際の回転角を基準にして行われるように行い、そのベクトル制御により、前記目標信号と、前回の計算サイクルにおいて前記仮想モータから出力された仮想電流値とに基づいて前記指令電流値を決定し、その決定された指令電流値に基づいて前記制御信号を決定する(2)項に記載のモータ制御装置。 (3) For each calculation cycle, the control unit performs vector control with coordinate conversion to calculate the command current value of the virtual motor, and the coordinate conversion is based on the actual rotation angle of the real motor. The command current value is determined based on the target signal and the virtual current value output from the virtual motor in the previous calculation cycle by the vector control, and the determined command current value The motor control device according to item (2), wherein the control signal is determined based on the following.
(4) 前記制御部は、前記目標信号に基づいて前記制御信号を決定し、
前記実モータは、前記仮想電流値が目標実モータ電流値として入力されると、その入力された目標電流値に基づいて制御され、
前記制御部は、前記目標信号を前記目標実モータ電流値に変換するコンバータとして作用する(2)または(3)項に記載のモータ制御装置。
(4) The control unit determines the control signal based on the target signal,
When the virtual current value is input as a target actual motor current value, the actual motor is controlled based on the input target current value,
The motor control device according to (2) or (3), wherein the control unit acts as a converter that converts the target signal into the target actual motor current value.
(5) 前記実モータは、前記仮想電流値と前記実モータの実電流値とが入力されると、それら仮想電流値と実電流値とに基づいて制御される(4)項に記載のモータ制御装置。 (5) When the virtual current value and the real current value of the real motor are input, the real motor is controlled based on the virtual current value and the real current value. Control device.
(6) 前記実モータは、各計算サイクルごとに、前記仮想モータに出力される前記制御信号と実質的に共通するものに基づいて制御され、それにより、それら実モータと仮想モータとが、前記実質的に互いに共通する制御信号に基づいて制御される(1)項に記載のモータ制御装置。 (6) The real motor is controlled based on what is substantially common to the control signal output to the virtual motor for each calculation cycle, whereby the real motor and the virtual motor are The motor control device according to item (1), which is controlled based on control signals that are substantially common to each other.
(7) 前記実モータは、前記仮想モータに入力される目標信号と実質的に共通するものに基づいて制御され、それにより、それら実モータと仮想モータとが、前記実質的に互いに共通する目標信号に基づいて制御される(1)項に記載のモータ制御装置。 (7) The real motor is controlled based on what is substantially common to the target signal input to the virtual motor, whereby the real motor and the virtual motor are substantially common to the target. The motor control device according to item (1), which is controlled based on the signal.
(8) 前記制御部は、各回の計算サイクルにおいて、1段目および2段目のフィードバック制御を順に実行し、
前記制御部は、前記1段目のフィードバック制御のために、目標信号に基づき、かつ、前回の計算サイクルにおいて前記仮想モータから出力された前回推定値をフィードバックすることにより、仮想モータ制御信号を決定し、その決定された仮想モータ制御信号を前記仮想モータに出力し、それにより、その仮想モータを作動させ、
前記制御部は、前記2段目のフィードバック制御のために、前記1段目のフィードバック制御において前記仮想モータから出力された直前推定値に基づき、かつ、前記実モータの作動状態を表す物理量をフィードバックすることと、前記1段目のフィードバック制御において前記仮想モータに出力された前記仮想モータ制御信号に基づき、かつ、前記直前推定値をフィードバックすることとのうちの少なくとも一方を行うことにより、実モータ制御信号を決定し、その決定された実モータ制御信号を前記実モータに出力し、それにより、その実モータを作動させる(1)項に記載のモータ制御装置。
(8) The control unit sequentially executes the first-stage and second-stage feedback control in each calculation cycle,
The control unit determines a virtual motor control signal for feedback control of the first stage by feeding back a previous estimated value output from the virtual motor in a previous calculation cycle based on a target signal. Outputting the determined virtual motor control signal to the virtual motor, thereby operating the virtual motor;
For the second-stage feedback control, the control unit feeds back a physical quantity representing the operating state of the actual motor based on the immediately preceding estimated value output from the virtual motor in the first-stage feedback control. And at least one of feedback of the immediately preceding estimated value based on the virtual motor control signal output to the virtual motor in the first-stage feedback control, The motor control device according to item (1), wherein a control signal is determined, and the determined actual motor control signal is output to the actual motor, thereby operating the actual motor.
(9) さらに、
前記実モータと前記仮想モータとが一緒に作動している期間中にそれら実モータと仮想モータとのうち少なくとも仮想モータから取得された情報に基づき、前記実モータの実際の作動特性をその実モータまたは前記仮想モータの回転角に関連づけて取得して出力する実モータ作動特性出力部として機能する(1)ないし(8)項のいずれかに記載のモータ制御装置。
(9) Furthermore,
Based on at least information acquired from the virtual motor among the real motor and the virtual motor during the period in which the real motor and the virtual motor are operating together, the actual operating characteristic of the real motor The motor control device according to any one of (1) to (8), wherein the motor control device functions as an actual motor operation characteristic output unit that obtains and outputs in association with a rotation angle of the virtual motor.
(10) 前記実モータ作動特性出力部は、前記仮想モータから出力される仮想電流値を前記実モータの実電流値として、その実モータまたは前記仮想モータの回転角に関連づけて取得して出力する実モータ電流取得部を含む(9)項に記載のモータ制御装置。 (10) The actual motor operating characteristic output unit acquires and outputs the virtual current value output from the virtual motor as the actual current value of the actual motor in association with the actual motor or the rotation angle of the virtual motor. The motor control device according to item (9), including a motor current acquisition unit.
(11) 前記実モータ作動特性出力部は、前記実モータと前記仮想モータとが一緒に作動している期間中に前記実モータから取得された実モータ関連情報であってその実モータの実電力を計算するのに必要なものと前記仮想モータから取得された仮想モータ関連情報であってその仮想モータの仮想電力を計算するのに必要なものとに基づき、前記実モータの実際の機械損を、その実モータまたは前記仮想モータの回転角に関連づけて取得して出力する実モータ機械損取得部を含む(9)項に記載のモータ制御装置。 (11) The actual motor operating characteristic output unit is information related to the actual motor acquired from the actual motor during a period in which the actual motor and the virtual motor are operating together, and the actual power of the actual motor is obtained. Based on what is necessary to calculate and virtual motor related information obtained from the virtual motor, which is necessary to calculate the virtual power of the virtual motor, the actual mechanical loss of the real motor, The motor control device according to (9), further including an actual motor mechanical loss acquisition unit that acquires and outputs the actual motor or the virtual motor in association with the rotation angle of the virtual motor.
(12) 前記実モータ機械損取得部は、前記実モータ関連情報に基づいて前記実モータの実電力値を計算し、前記仮想モータ関連情報に基づいて前記仮想モータの仮想電力値を計算し、それら計算された実電力値と仮想電力値との差を前記実モータの実際の機械損として、その実モータまたは前記仮想モータの回転角に関連づけて取得して出力する(11)項に記載のモータ制御装置。 (12) The actual motor mechanical loss acquisition unit calculates an actual power value of the actual motor based on the actual motor related information, calculates a virtual power value of the virtual motor based on the virtual motor related information, The motor according to (11), wherein the difference between the calculated actual power value and the virtual power value is acquired and output as an actual mechanical loss of the actual motor in association with the actual motor or the rotation angle of the virtual motor. Control device.
(13) 前記制御部は、1計算サイクル分の計算を予め定められた計算周期で反復的に行い、各計算サイクルごとに前記制御信号を決定し、その決定された制御信号を前記実モータと前記仮想モータとのうち少なくともその仮想モータに出力し、
当該モータ制御装置は、さらに、
前記計算周期より長くなるように予め定められた修正周期で、前記実モータの実際の作動状態と、前記仮想モータによって推定される前記実モータの作動状態との差に基づき、その差が減少するように、前記仮想モータの入出力特性を反復的に修正する修正部を含む(1)ないし(12)項のいずれかに記載のモータ制御装置。
(13) The control unit repeatedly performs calculation for one calculation cycle at a predetermined calculation cycle, determines the control signal for each calculation cycle, and transmits the determined control signal to the actual motor. Output to at least the virtual motor of the virtual motor,
The motor control device further includes:
The difference decreases based on the difference between the actual operating state of the real motor and the operating state of the actual motor estimated by the virtual motor at a predetermined correction cycle so as to be longer than the calculation cycle. As described above, the motor control device according to any one of (1) to (12), including a correction unit that repeatedly corrects the input / output characteristics of the virtual motor.
(14) 電気エネルギーを運動エネルギーに変換する実モータを制御するモータ制御方法であって、
各計算サイクルごとに、前記実モータとその実モータを模擬する仮想モータとのうち少なくともその仮想モータのための制御信号を決定する決定工程と、
その決定された制御信号を前記実モータと前記仮想モータとのうち少なくともその仮想モータに出力する出力工程と、
各計算サイクルごとに、前記制御信号が前記仮想モータに入力されると、その仮想モータが作動し、それにより、前記入力された制御信号に基づき、その制御信号と同じ制御信号が前記実モータに出力された場合にその制御信号に応答して実現される前記実モータの作動状態を推定し、その推定された作動状態を前記仮想モータの仮想作動状態として出力する推定工程と
を含み、
前記決定工程は、各計算サイクルごとに、前回の計算サイクルにおいて前記仮想モータから出力された仮想作動状態と、前記実モータの実際の作動状態とに基づき、前記仮想モータが前記実モータと実質的に同期して作動するように、前記制御信号を決定し、
前記実モータは、前記実モータのための目標信号と前記仮想モータから取得される信号と前記制御信号との少なくとも一つに基づいて前記仮想モータと一緒に作動させられるモータ制御方法。
(14) A motor control method for controlling an actual motor that converts electrical energy into kinetic energy,
For each calculation cycle, a determination step of determining a control signal for at least the virtual motor of the real motor and a virtual motor that simulates the real motor;
An output step of outputting the determined control signal to at least the virtual motor of the real motor and the virtual motor;
For each calculation cycle, when the control signal is input to the virtual motor, the virtual motor is activated, and based on the input control signal, the same control signal as the control signal is supplied to the real motor. Estimating the operating state of the real motor realized in response to the control signal when output, and outputting the estimated operating state as the virtual operating state of the virtual motor, and
In the determination step, for each calculation cycle, the virtual motor is substantially different from the real motor based on the virtual operation state output from the virtual motor in the previous calculation cycle and the actual operation state of the real motor. Determining the control signal to operate in synchronization with
The motor control method, wherein the real motor is operated together with the virtual motor based on at least one of a target signal for the real motor, a signal acquired from the virtual motor, and the control signal.
(15) (14)項に記載のモータ制御方法を実行するためにコンピュータによって実行されるプログラム。 (15) A program executed by a computer to execute the motor control method according to (14).
(16) (15)項に記載のプログラムをコンピュータ読み取り可能に記録した非過渡的な記録媒体。 (16) A non-transient recording medium on which the program according to item (15) 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.
本発明によれば、実モータと仮想モータとが時間的に互いに並行して作動させられるため、仮想モータの作動状態に基づいて実モータを制御したり、逆に、実モータの作動状態に基づいて仮想モータの入出力特性を修正することが可能となる。 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.
以下、本発明のさらに具体的で例示的な実施の形態のうちのいくつかを図面に基づいて詳細に説明する。 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
実モータ12は、一般に、複数極のロータ(図示しない)と、複数極のステータ(図示しない)と、磁束形成部(図示しないが、具体的には、例えば、巻き線)とを有するように構成される。図2に示すように、実モータ12は、前記ロータと共に回転するシャフト13を有しており、そのシャフト13が可動部材(図示しないが、具体的には、例えば、車両の車輪、工作機械の工具、ロボットのアームなど)に機械的に連結され、それにより、可動部材が駆動される。その可動部材は、実モータ12にとり、いわゆる実負荷となる。
The
実モータ12のいくつかの具体例としては、界磁に永久磁石を使用して回転する永久磁石同期モータ(PMSM)、永久磁石を使用せず、渦電流を利用して回転する誘導モータ(IM)、スイッチ・リラクタンス・モータ(SRM)などがある。そのリラクタンス・モータにおいては、ロータが、永久磁石を使用することなく、強磁性の鉄心で構成されるため、リラクタンス・モータは、永久磁石を使用しない無整流子モータの一種である。
Some specific examples of the
実モータ12が3相(U相、V相、W相)の巻線を有する場合、実モータ12の各種物理量を記述するために、次のような記号が使用される。
When the
Vu,Vv,Vw:端子電圧(「巻線電圧」または「相電圧」ともいう。)[V]
Iu,Iv,Iw:相電流(「巻線電流」ともいう。)[A]
θm:ロータ(またはシャフト)の角度(位相または回転位置であり、「モータ角」または「モータ位置」ともいう)[rad]
ωm:ロータ(またはシャフト13)の角速度(「モータ速度」ともいう)[rad/sec]
T:モータ出力トルク[Nm]
Eu,Ev,Ew:誘起電圧[V]
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 13) (also called “motor speed”) [rad / sec]
T: Motor output torque [Nm]
Eu, Ev, Ew: Induced voltage [V]
Fu, Fv, Fw: Phase magnetic flux [Wb]
なお、本実施形態および後述のいくつかの実施形態の説明において、同じ記号が、単独で使用される箇所と、「*」を末尾に有するように使用される箇所とが存在する。それら実施形態においては、同じ記号が、単独で使用される場合には、実際値または検出値を意味する一方、「*」と組み合わせて使用される場合には、指令値を意味するという用法と、同じ記号が、単独で使用される場合には、実モータ12についての物理量であることを意味する一方、「*」と組み合わせて使用される場合には、後述の仮想モータ60(図3参照)についての物理量であることを意味するという用法とがあるが、特記しない限り、前者の用法を採用することに留意されたい。
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
図1に示すように、システム11は、実モータ12を駆動するために、実コントローラ13と、実インバータ/パワーアンプ(実ドライバの一例)14と、実モータ状態検出部15とをさらに備えている。
As shown in FIG. 1, the
実モータ状態検出部15は、実モータ12の作動状態として実モータ12の実モータ位置(回転角)θmを検出する角度センサである。この実モータ状態検出部15は、例えば、ロータリ・エンコーダ(図示しない)を含むように構成される。
The actual motor
ところで、後述のいくつかの実施形態においては、実モータ状態検出部15が、実モータ12の実3相電流Iu,Iv,Iwを検出する電流センサを有したり、実モータ12の実3相電圧Vu,Vv,Vwを検出する電圧センサを有するが、本実施形態においては、少なくとも電流センサを有しておらず、その代わり、後述の仮想モータ計算部50が実モータ12の実3相電流Iu,Iv,Iwを仮想モータ60を用いて推定する。
By the way, in some embodiments described later, the actual motor
実インバータ/パワーアンプ14は、実モータ12に電気エネルギーを供給する実インバータまたは実パワーアンプを有するように構成される。実モータ12に供給される電気エネルギーは、実モータ12が3相(U相、V相、W相)の巻線を有する場合、端子電圧Vu,Vv,Vwである。
The real inverter /
図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 /
複数のゲート24は、複数のスイッチング素子(すなわち、複数の上アーム・スイッチング素子および複数の下アーム・スイッチング素子)として構成されており、それらゲート24は、外部からの複数のパルス信号であるゲート信号Gu,Gv,Gw,Gx,Gy,Gwに応じてスイッチング動作を行う。
The plurality of
このように構成されることにより、実インバータ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
外部から実インバータ/パワーアンプ14に入力される制御信号は、実インバータ/パワーアンプ14が実インバータ16を有する場合には、上述のように、前記複数のゲート信号であるが、実インバータ/パワーアンプ14が実パワーアンプ(図示しない)を有する場合には、実モータ12の相数と同数のアナログ信号となる。
When the actual inverter /
図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
演算回路42により、仮想モータ計算部50が実現される。仮想モータ計算部50は、図3に示すように、仮想モータ60を主体として構成され、その仮想モータ60を用いることにより、実モータ12の作動状態を計算する。仮想モータ60は、仮想モータ制御部64から制御信号が入力されると、実モータ12を模擬する解析プログラムを演算回路42(図1参照)に実行させることにより、前記入力された制御信号と同じ制御信号が実モータ12に出力された場合にその制御信号に応答して実モータ12によって実現される作動状態を推定するための計算を行う。すなわち、仮想モータ計算部50は、演算回路42により、高速演算可能であるように構成されているのである。
A
前記「背景技術」の欄において詳述したように、従来の技術では、仮想モータ60は、実モータ12や、その実モータ12を制御する実コントローラについての試験が終了するまで、実モータ12を代替するものとして試験機において使用される。そして、それら実モータ12や実コントローラが完成する(仕様が確定する)と、今度は、実モータ12が、仮想モータ60を代替するものとして実機に搭載される。このように、従来の技術では、試験機においても実機においても、仮想モータ60が実モータ12と一緒に搭載されるとともに一緒に作動させられることはなかった。
As described in detail in the section “Background Art”, in the conventional technique, the
これに対し、本実施形態においては、試験機であるか実機であるかを問わず、仮想モータ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
仮想モータ計算部50は、実モータ12の停止中(実モータ12に入力される制御信号が時間的に変化しないために、実モータ12への電気エネルギーの供給が不要である場合)であっても、作動し続ける。
The virtual
本実施形態においては、システム11のうち、仮想モータ計算部50を構成する部分が、モータ制御装置10を構成し、その仮想モータ計算部50のうち、仮想モータ60を除く部分が、モータ制御装置10のうちの「制御部」を構成している。
In the present embodiment, the portion of the
ここで、一般的なモータの入出力特性を説明するに、図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])として表現される。 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]).
インダクタンス行列は、各要素L,Mが、モータの電流と角度(位置、位相)との少なくとも一方に依存するテーブルとして表現され、また、電機子鎖交磁束ベクトルφも、各要素が、モータの電流と角度(位置、位相)との少なくとも一方に依存するテーブルとして表現される。それらテーブルにより、前記電圧方程式と協働して、モータの非線形特性を、モータの駆動周波数全域にわたって表現することができる。 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
したがって、本実施形態によれば、仮想モータ60が、図4に示す電圧方程式によって表現される非線形モータモデルを使用して実モータ12の作動を模擬するため、入出力特性が非線形である実モータ12の駆動周波数全域にわたり、実モータ12の作動を精度よく模擬することが可能となる。
Therefore, according to the present embodiment, the
仮想モータ60が採用する前記モータモデルは、それの電気系を記述する前記電圧方程式に加えて、それの磁気系を記述するフレミング方程式と、それの機械系を記述する運動方程式(仮想ロータ軸周りのモーメントのつりあいを記述する)とを記述する。
The motor model employed by the
フレミング方程式は、フレミングの法則に従い、仮想モータ電流ベクトルI*と仮想電機子鎖交磁束ベクトルφ*とから、仮想モータ60に発生する仮想トルクTe*を計算する。運動方程式は、仮想発生トルクTe*と、仮想負荷トルクTm*と、仮想電機子イナーシャJ*と、仮想減衰係数F*とから、仮想モータ速度ωm*を計算し、さらに、それを時間積分することにより、仮想モータ位置θm*を計算する。
The Fleming equation calculates the virtual torque Te * generated in the
実モータ12は、前記ロータを含む可動部材が質量(イナーシャ)や抵抗を有するなどの理由により、応答遅れを有するが、仮想モータ60は、応答遅れを実質的に有しない。その結果、それら実モータ12と仮想モータ60とに同時に同じ制御信号が入力される状況を想定すると、その制御信号に対して実モータ12が応答するタイミングより早いタイミングで、仮想モータ60が応答する。
The
したがって、ある制御目標値に基づき、ある時刻t(i)に、制御信号を実モータ12に供給することが必要である場合に、その供給に先立ち、その制御信号と同じ制御信号(この段落および次の段落において、仮想モータ60に供給される制御信号を「X」を付して表記する)を仮想モータ60のみに供給すれば、その時刻t(i)が到来する前に、その制御信号Xに対して仮想モータ60の応答が終了するように仮想モータ60を作動させることが可能である。
Accordingly, when it is necessary to supply a control signal to the
よって、そのときの仮想モータ60の作動状態と今回の制御目標値との関係から、制御信号Xを補正すること(例えば、本実施形態における後述のフィードバック制御や位相遅れ補償)を、時刻t(i)に先立って行うことが可能となる。したがって、時刻t(i)に先立ち、実モータ12に供給すべき制御信号を、その実モータ12の入出力特性との関係において最適化し、その最適化された制御信号を、時刻t(i)に実モータ12に供給することが可能である。
Therefore, correcting the control signal X based on the relationship between the operating state of the
図3に示すように、仮想モータ計算部50は、仮想モータ60の作動状態を検出する仮想モータ状態検出部62をさらに備えている。
As shown in FIG. 3, the virtual
仮想モータ状態検出部62は、仮想モータ60の作動状態として、仮想モータ60の計算によって取得された仮想モータ電流ベクトルI*すなわち仮想3相実電流Iu*,Iv*,Iw*を検出する。
The virtual motor
前述のように、仮想モータ60は仮想3相実電流信号Iu*,Iv*,Iw*を出力するように構成されているため、仮想モータ状態検出部62は、仮想3相実電流Iu*,Iv*,Iw*を検出して仮想モータ制御部64に供給することが必要である場合には、仮想モータ60から出力された仮想3相実電流信号Iu*,Iv*,Iw*をそのまま仮想モータ制御部64に転送すればよい。したがって、仮想モータ状態検出部62は、実モータ12にとって電流センサとして機能することになる。
As described above, since the
よって、本実施形態においては、仮想モータ状態検出部62が、前記「実モータ作動特性出力部」の一例を構成し、また、前記「実モータ電流取得部」の一例を構成する。
Therefore, in the present embodiment, the virtual motor
図1に示すように、仮想モータ状態検出部62によって取得された仮想3相実電流信号Iu*,Iv*,Iw*は、実モータ12の制御のため、実コントローラ13に供給される。実コントローラ13にとっては、それら供給された仮想3相実電流信号Iu*,Iv*,Iw*は目標電流信号として機能する。この実コントローラ13は、それら供給された仮想3相実電流信号Iu*,Iv*,Iw*が実モータ12によって実現されるように前述のゲート信号(実モータ制御信号)Gu,Gv,Gw,Gx,Gy,Gzを生成して実インバータ/パワーアンプ14に供給する。
As shown in FIG. 1, the virtual three-phase actual current signals Iu *, Iv *, and Iw * acquired by the virtual motor
図3に示すように、モータ制御装置10は、ディスプレイ66を備えている。このディスプレイ66は、例えば、液晶式であり、情報を可視化して表示することが可能な画面を備えている。モータ制御装置10は、必要に応じ、仮想モータ状態検出部62によって取得された仮想3相実電流値Iu*,Iv*,Iw*を、実モータ12の実3相実電流値Iu,Iv,Iwの推定値として、ディスプレイ66の画面上に表示することが可能である。
As shown in FIG. 3, the
図3に示すように、仮想モータ計算部50は、仮想モータ60を制御するために、前記目標信号と、実モータ状態検出部15から出力された実モータ位置θmと、仮想モータ状態検出部62から出力された仮想モータ状態信号(例えば、仮想3相実電流Iu*,Iv*,Iw*)とに基づき、複数の制御信号(ゲート信号Gu,Gv,Gw,Gx,Gy,Gw)を生成する仮想モータ制御部64を備えている。仮想モータ制御部64は、その生成された制御信号(ゲート信号)Gu,Gv,Gw,Gx,Gy,Gwを、仮想モータ60にとっての仮想ドライバである仮想PWMインバータ90に出力する。
As shown in FIG. 3, the virtual
具体的には、後に図5を参照しつつ詳述するが、仮想モータ制御部64は、前記目標信号に基づいて目標電流信号(仮想モータ60の制御目標値を表す後述の仮想dq軸指令電流Id*,Iq*)を暫定的に生成し、その暫定的な目標電流信号に対して前記仮想モータ状態信号(仮想モータ60から出力された仮想3相実電流Iu,Iv,Iwから座標変換された仮想dq軸実電流Id,Iq)をフィードバックすることにより、暫定的な目標電流信号を訂正して最終的な目標電流信号を生成する。さらに、仮想モータ制御部64は、モータ電流のベクトル制御を行い、そのため、dq座標系とUVW座標系との間で座標変換を行い、その座標変換を、実モータ12の回転角θmのもとに行う。
Specifically, as will be described in detail later with reference to FIG. 5, the virtual
一方、本実施形態においては、同じ制御信号が実モータ12と仮想モータ60とに供給されるようにはなっていないが、制御系の特性上、結果的には、実質的に共通する制御信号が実モータ12と仮想モータ60とに供給される。さらに、上述のように、仮想モータ制御部64は、モータ電流のベクトル制御のための座標変換を実モータ12の回転角θmのもとに行う。よって、実モータ12と仮想モータ60とが、一緒に、かつ、ロータ位置に関して互いに実質的に同期するように、駆動されることになる。
On the other hand, in the present embodiment, the same control signal is not supplied to the
仮想モータ制御部64のより具体的な構成については、後に図5を参照することにより、説明するが、それに先立ち、図6に示すタイミングチャートを参照することにより、この仮想モータ制御部64の作動の一例を詳細に説明する。
A more specific configuration of the virtual
図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 (represented by the target signal) T 0 is repeatedly input to the virtual
ここに、「制御目標値T0」は、例えば、実モータ12からの出力に関連する物理量の指令値(例えば、実モータ12の前記ロータの位置に関する物理量(例えば、位置、速度、加速度)の指令値や、実モータ12の前記ロータに作用する力に関する物理量(例えば、トルク、軸力)の指令値)としたり、実モータ12に発生する電気的または磁気的な物理量の指令値(例えば、電流については、3相指令電流信号Iu*,Iv*,Iw*やdq軸指令電流信号Id*,Iq*であり、電圧については、3相指令電圧信号Vu*,Vv*,Vw*やdq軸指令電圧信号Vd*,Vq*)としたり、それら複数種類の指令値からの任意の組合せとすることが可能である。
Here, the “control target value T 0 ” is, for example, a command value of a physical quantity related to the output from the actual motor 12 (for example, a physical quantity related to the position of the rotor of the actual motor 12 (for example, position, speed, acceleration)). A command value or a physical value (for example, a command value of a torque or axial force) relating to the force acting on the rotor of the
概略的に説明するに、図6(b)に例示するように、仮想モータ制御部64は、1サイクル分の計算を仮想モータ計算周期Tvで反復的に行い、各回の計算サイクルにおいては、制御目標値T0(i)と、実モータ位置θm(t)と、仮想モータ電流Iu*,Iv*,Iw*であって仮想モータ60の前回の計算によって取得されたもの(最新の仮想モータ電流Iu*,Iv*,Iw*)とに基づき、前記制御信号Gu−Gzを決定し、その決定された制御信号Gu−Gzを仮想モータ60に出力する。
Briefly, as illustrated in FIG. 6B, the virtual
具体的に説明するに、図6(b)に例示するように、仮想モータ制御部64は、各回の計算サイクルにおいて、まず、最新の制御目標値T0(t)と、最新の実モータ位置θm(t)と、最新の仮想モータ電流Iu*,Iv*,Iw*であって仮想モータ60の前回の計算によって取得されたものとを取り込む。この処理を、図6(b)においては、「θm(t)入力」で表す。
Specifically, as illustrated in FIG. 6B, the virtual
次に、それら取り込まれた制御目標値T0(t)、実モータ位置θm(t)および仮想モータ電流Iu*,Iv*,Iw*に基づき、仮想モータ60のための仮制御信号を決定する。この処理を、図6(b)においては、「θ(t)=θm(t)同期」で表す。
Next, a temporary control signal for the
その後、その決定された仮制御信号に対して、実モータ12の作動状態の、仮想モータ計算周期Tvの間における推定変化量Δθに基づく位相遅れ補償を行い、それにより、仮想モータ60のための最終制御信号Gu−Gzを取得する。この処理を、図6(b)においては、「θ(t)+Δθ制御」で表す。
Thereafter, phase delay compensation is performed on the determined temporary control signal based on the estimated change amount Δθ of the operating state of the
続いて、その取得された最終制御信号Gu−Gzを仮想モータ60に出力する。この処理を、図6(b)においては、「Gu〜Gz出力」で表す。各回の計算サイクルにおいて、仮想モータ60には、制御信号が1回しか入力されないため、仮想モータ60は、1回しか作動しない。
Subsequently, the acquired final control signal Gu-Gz is output to the
最終制御信号Gu−Gzが仮想モータ60に出力するタイミングと実質的に同じタイミングで、その最終制御信号Gu−Gzを生成するために用いられた最新の仮想モータ電流Iu*,Iv*,Iw*が、図1に示す実コントローラ13に供給される。実コントローラ13は、その供給された仮想モータ電流Iu*,Iv*,Iw*に基づき、実インバータ/パワーアンプ14のための制御信号Gu−Gzを生成して実インバータ/パワーアンプ14に供給する。
The latest virtual motor currents Iu *, Iv *, Iw * used to generate the final control signal Gu-Gz at substantially the same timing as the final control signal Gu-Gz is output to the
したがって、仮想モータ50への最新の制御信号の入力と、実モータ12への最新の制御信号の入力とは、実質的に同じタイミングで行われる。しかし、実モータ12は、仮想モータ60より応答性が低いため、最新の制御信号によって仮想モータ60の位置θがθ(t)からθ(t+1)(=θ(t)+Δθ)に変化するタイミングの方が、最新の制御信号によって実モータ12の位置θがθm(t)からθm(t+1)(=θm(t)+Δθ)に変化するタイミングより早くなる傾向がある。
Therefore, the latest control signal input to the
次に、図5(a)を参照することにより、仮想モータ制御部64の構成の一例を具体的に説明する。ただし、同じ記号が、単独で使用される場合には、仮想モータ60についての実際値または検出値を意味する一方、「*」と組み合わせて使用される場合には、仮想モータ60についての指令値を意味する。
Next, an example of the configuration of the virtual
概略的に説明するに、仮想モータ制御部64は、各計算サイクルごとに、仮想モータ60の目標電流値を計算するために座標変換を伴うベクトル制御を行い、前記座標変換を実モータ12の実際の回転角すなわち実モータ位置θmを基準にして行い、前記目標信号と、前回の計算サイクルにおいて仮想モータ60から出力された仮想電流値とに基づいて前記制御信号を決定する。
Briefly described, the virtual
具体的には、仮想モータ制御部64は、dq座標系(回転直交2軸dq座標系)上において磁束−トルク制御を行う。ここに、「d」は、仮想モータ60の仮想磁束を表し、また、「q」は、仮想モータ60の仮想トルクを表している。そのような制御を実現するために、前記目標信号は、仮想dq軸指令電流Id*,Iq*(仮想d軸指令電流Id*および仮想q軸指令電流Iq*)として表現される。
Specifically, the virtual
さらに、仮想モータ制御部64は、仮想d軸指令電流Id*と仮想d軸実電流Idとが入力されると、ベクトル制御(ロータの位置情報を用いて、相電流を3相座標系からdq座標系へ座標変換し、ステータのdq軸電流を制御する)を行う。
Further, when the virtual d-axis command current Id * and the virtual d-axis actual current Id are input, the virtual
仮想モータ制御部64は、UVW−dq座標変換器68を備えている。そのUVW−dq座標変換器68は、前記仮想モータ状態信号すなわち仮想3相実電流Iu,Iv,Iw(図1においては、「Iu*,Iv*,Iw*」で表されている)を、実モータ12の実モータ位置θmのもとで、仮想dq軸実電流Id,Iqに変換する。
The virtual
仮想モータ60を実モータ12から切り離して使用する従来の技術では、UVW−dq座標変換器68は、仮想モータ位置θのもとで、仮想3相実電流Iu,Iv,Iwを仮想dq軸実電流Id*,Iq*に変換する。これに対し、本実施形態においては、UVW−dq座標変換器68が、仮想モータ位置θに代えて実モータ位置θmを用いる。
In the conventional technique in which the
その結果、本実施形態によれば、仮想dq軸実電流Id*,Iq*が、仮想モータ位置θと実モータ位置θmとが互いに一致するように、取得されることになる。 As a result, according to the present embodiment, the virtual dq-axis actual currents Id * and Iq * are acquired so that the virtual motor position θ and the actual motor position θm coincide with each other.
図5(a)に示すように、仮想モータ制御部64は、仮想dq軸実電流Id,Iq(仮想モータ作動状態の推定値すなわち仮想モータ作動状態の前回計算値の一例)をフィードバックすることにより、その仮想dq軸実電流Id,Iqと、仮想dq軸指令電流Id*,Iq*との差が0に近づくように、仮想dq軸指令電流Id*,Iq*を補正する。
As shown in FIG. 5A, the virtual
仮想モータ制御部64は、補正された仮想d軸指令電流Id*に対応する仮想d軸指令電圧Vd*を計算する電流制御器70と、補正された仮想q軸指令電流Iq*に対応する仮想q軸指令電圧Vq*を計算する電流制御器72とを備えている。
The virtual
図5(a)に示すように、仮想モータ制御部64は、非干渉化制御器74をさらに備えている。その非干渉化制御器74は、実モータ状態検出部15(図1参照)から供給された実モータ状態信号(実モータ位置θm)のもとで、UVW−dq座標変換器68から出力された仮想dq軸実電流Id,Iqに基づき、電流制御器70および72からそれぞれ出力された仮想dq軸指令電圧Vd*,Vq*を補正する。
As shown in FIG. 5A, the virtual
仮想モータ60を実モータ12から切り離して使用する従来の技術では、非干渉化制御器74は、仮想モータ位置θのもとで、仮想dq軸実電流Id,Iqに基づき、仮想dq軸指令電圧Vd*,Vq*を補正する。これに対し、本実施形態においては、非干渉化制御器74が、仮想モータ位置θに代えて実モータ位置θmを用いる。
In the conventional technique that uses the
その結果、本実施形態によれば、仮想dq軸指令電圧Vd*,Vq*が、仮想モータ位置θと実モータ位置θ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 θ and the actual motor position θm coincide with each other.
図5(a)に示すように、仮想モータ制御部64は、dq−UVW座標変換器76をさらに備えている。そのdq−UVW座標変換器76は、実モータ位置θmのもとで、仮想dq軸指令電圧Vd*,Vq*を仮想3相指令電圧Vu*,Vv*,Vw*に変換する。
As shown in FIG. 5A, the virtual
仮想モータ60を実モータ12から切り離して使用する従来の技術では、dq−UVW座標変換器76は、仮想モータ位置θのもとで、仮想dq軸指令電圧Vd*,Vq*を仮想3相指令電圧Vu*,Vv*,Vw*に変換する。これに対し、本実施形態においては、dq−UVW座標変換器76が、仮想モータ位置θに代えて実モータ位置θmを用いる。
In the conventional technique in which the
その結果、本実施形態によれば、仮想3相指令電圧Vu*,Vv*,Vw*が、仮想モータ位置θと実モータ位置θmとが互いに一致するように、取得されることになる。 As a result, according to the present embodiment, the virtual three-phase command voltages Vu *, Vv *, and Vw * are acquired so that the virtual motor position θ and the actual motor position θm coincide with each other.
このように、本実施形態においては、前記制御信号を生成するために、UVW−dq座標変換器68、非干渉化制御器74およびdq−UVW座標変換器76が、仮想モータ位置θに代えて実モータ位置θmを参照する。
Thus, in this embodiment, in order to generate the control signal, the UVW-dq coordinate
しかし、仮想モータ60が実モータ12の入出力特性を十分に正確に再現するように教示される場合には、仮想モータ位置θと実モータ位置θmとが互いに十分に一致することになる。この場合には、UVW−dq座標変換器68、非干渉化制御器74およびdq−UVW座標変換器76が実モータ位置θmに代えて仮想モータ位置θを参照したとしても、前記制御信号が、仮想モータ位置θと実モータ位置θmとが互いに一致するように、取得されることになる。
However, when the
図5(a)に示すように、仮想モータ制御部64は、前記位相遅れ補償を行うために、Δθ推定器80をさらに備えている。
As shown in FIG. 5A, the virtual
図6(b)に例示するように、仮想モータ計算周期Tvの長さを有する1計算サイクルの間に、次回の制御信号を決定するために仮想モータ60を作動させる。その間、実モータ位置θmが不変であれば、その次回の制御信号を決定するために用いられた実モータ位置θm(t)と、その決定された次回の制御信号が実モータ12に入力され始めるとき(または、その制御信号に対する実モータ12の応答が完了するとき)の実モータ位置θm(t+1)とが互いに一致するため、前記制御信号の誤差が発生しない。
As illustrated in FIG. 6B, the
しかし、その間、実モータ位置θ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
そこで、本実施形態においては、Δθ推定器80が、実モータ位置θmが入力された時期と、次回の制御信号が実モータ12に入力され始める時期(または、その制御信号に対する実モータ12の応答が完了する時期)との間の期間に、実モータ位置θmが変化することが予想される変化量Δθを推定する。
Therefore, in the present embodiment, the
その変化量Δθは、例えば、実モータ位置θ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
図5(a)に示すように、仮想モータ制御部64は、Δθ推定器80を備えており、そのΔθ推定器80は、上述のようにして、前記変化量Δθを取得すると、その変化量Δθを、同じ回の計算サイクルの当初において取得した実モータ位置θmに加算し、それにより、dq−UVW座標変換器76に入力される実モータ位置θmが、θm+Δθに等しくなり、結局、実モータ12の作動に追従するように補正される。
As shown in FIG. 5A, the virtual
図5(a)に示すように、dq−UVW座標変換器76は、そのように補正された実モータ位置θmのもとで、仮想dq軸指令電圧Vd*,Vq*を仮想3相指令電圧Vu*,Vv*,Vw*に変換し、その結果、それら仮想3相指令電圧Vu*,Vv*,Vw*は、変化量Δθを見込んだ値として取得されることになる。これにより、前記制御信号が、実モータ位置θmの将来の変化を予測して決定されるため、前述の位相遅れ補償がフィードフォワード制御の一種として行われることになる。
As shown in FIG. 5A, the dq-UVW coordinate
図3に示すように、仮想モータ計算部50は、前記制御信号が入力される仮想PWMインバータ90をさらに備えている。前記制御信号は、複数のゲート信号Gu,Gv,Gw,Gx,Gy,Gwであり、それらゲート信号のうち、ゲート信号Gu,Gv,Gwは、仮想PWMインバータ90に属するUVW各相の上アーム・スイッチング素子(図2に示す3つの上アーム・スイッチング素子24に相当する)にそれぞれ供給されるパルス信号であり、これに対し、ゲート信号Gx,Gy,Gwは、仮想PWMインバータ90に属するUVW各相の下アーム・スイッチング素子(図2に示す3つの下アーム・スイッチング素子24に相当する)にそれぞれ供給されるパルス信号である。このことは、実インバータ16についても該当する。
As shown in FIG. 3, the virtual
各ゲート信号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. The
図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
図8には、モータ制御装置10の作動の一例がフローチャートで表されている。このフローチャートは、CPU44によって実行されるステップS1と、演算回路42によって反復的に実行されるステップS2−S11とを表している。それらステップS2−S11は、1回ずつ実行されることにより、一回の計算サイクルを達成する。図8は、モータ制御装置10を作動させるためにプロセッサ40によって実行される仮想モータ制御プログラムを概略的にフローチャートで表している。
FIG. 8 is a flowchart illustrating an example of the operation of the
この仮想モータ制御プログラムが実行されると、まず、ステップS1において、初期化が行われる。具体的には、例えば、実モータ状態検出部15により、初期の実モータ位置θinitが取得され、同じ位置が、仮想モータ60の初期の仮想モータ位置θinitとされる。
When this virtual motor control program is executed, first, initialization is performed in step S1. Specifically, for example, the actual motor
次に、ステップS2が入力周期Tin(例えば、数10μsec)が経過するごとに1回ずつ実行される。このステップS2においては、今回の目標信号(制御目標値T0)が入力される。これに対し、ステップS3−S11は、仮想モータ計算周期Tvが経過するごとにそれぞれ1回ずつ実行される。 Next, step S2 is executed once every time an input cycle Tin (for example, several tens of μsec) elapses. In this step S2, the current target signal (control target value T 0 ) is input. On the other hand, steps S3-S11 are executed once each time the virtual motor calculation cycle Tv elapses.
続いて、ステップS3において、データ入力が行われ、具体的には、仮想モータ状態検出部62からは仮想モータ電流信号Iu*,Iv*,Iw*が、実モータ状態検出部15からは実モータ位置信号θmがそれぞれ入力される。
Subsequently, in step S3, data is input. Specifically, the virtual motor current signals Iu *, Iv *, and Iw * are output from the virtual motor
その後、ステップS4−S6において、仮想モータ制御部64が作動させられる。具体的には、まず、ステップS4において、UVW−dq座標変換器68、電流制御器70,72および非干渉化制御器74により、実モータ位置信号θm(補正前の値)を基準にして、仮想モータ60と実モータ12とが、モータ位置(位相)に関して互いに同期するように、仮想dq軸指令電圧信号Vd*,Vq*が生成される。
Thereafter, in steps S4 to S6, the virtual
次に、ステップS5において、Δθ推定器80により、変化量Δθが推定され、その推定された変化量Δθに基づき、実モータ位置θmが補正される。その後、dq−UVW座標変換器76により、その補正された実モータ位置θmのもとで、仮想dq軸指令電圧信号Vd*,Vq*が仮想3相指令電圧信号Vu*,Vv*,Vw*に変換される。
Next, in step S5, the change amount Δθ is estimated by the
続いて、ステップS6において、PWM信号発生器78により、仮想3相指令電圧信号Vu*,Vv*,Vw*がPWM信号(仮想モータ制御信号)Gu,Gv,Gw,Gx,Gy,Gzに変換される。
In step S6, the
その後、ステップS7において、そのようにして取得されたPWM信号Gu,Gv,Gw,Gx,Gy,Gzが仮想PWMインバータ90に対して出力される。その結果、仮想PWMインバータ90により、仮想モータ電圧信号Vu*,Vv*,Vw*(仮想モータ60の仮想モータ端子電圧Vu,Vv,Vwを表す)が生成される。
Thereafter, in step S7, the PWM signals Gu, Gv, Gw, Gx, Gy, Gz acquired in this way are output to the
続いて、ステップS8において、その生成された仮想モータ電圧信号Vu*,Vv*,Vw*が仮想モータ60に対して出力されることにより、前述のモータモデルを用いることにより、仮想モータ電流信号Iu*,Iv*,Iw*が生成される。
Subsequently, in step S8, the generated virtual motor voltage signals Vu *, Vv *, Vw * are output to the
その後、ステップS9において、仮想モータ状態検出部62により、上記生成された仮想モータ電流信号Iu*,Iv*,Iw*が出力される。具体的には、その仮想モータ電流信号Iu*,Iv*,Iw*は、次回の計算サイクルでの計算に備えて、特定のメモリ(図示しない)に一時的に保存される。さらに、同じ仮想モータ電流信号Iu*,Iv*,Iw*は、実コントローラ13に出力され、これにより、実モータ12が制御される。
Thereafter, in step S9, the virtual motor
続いて、ステップS10において、仮想モータ状態検出部62から出力された仮想モータ電流信号Iu*,Iv*,Iw*(各相ごとの仮想モータ電流値)がディスプレイ66の画面上に、各相に関連づけて、かつ、時系列的に、かつ、テーブルまたはグラフという表現形態で表示される。これにより、実モータ12の実モータ電流値Iu,Iv,Iwの時間的推移の推定値が各相ごとに可視化される。
Subsequently, in step S10, the virtual motor current signals Iu *, Iv *, Iw * (virtual motor current values for each phase) output from the virtual motor
その後、ステップS11において、システム11の主電源(図示しない)がオフにされたか否かが判定される。その主電源が未だオンである場合には、その判定がNOとなり、次回の計算サイクルでの計算のために、ステップS2に戻る。これに対し、主電源がオフにされた場合には、ステップS11の判定がYESとなり、以上で、モータ制御装置10の作動が終了する。
Thereafter, in step S11, it is determined whether or not a main power supply (not shown) of the
なお付言するに、本実施形態には種々の変形例が存在する。一変形例においては、前述の位相遅れ補償を行うことなく、仮想モータ制御部64が前記制御信号をフォードフォワード的に決定する。
In addition, there are various modifications in this embodiment. In one modification, the virtual
具体的には、この変形例に従うモータ制御装置10は、上述の第1実施形態と基本的に共通する構成を有するが、仮想モータ制御部64は、図5(b)に示すものに変更される。
Specifically, the
具体的には、この変形例においては、仮想モータ制御部64が、Δθ推定器80を備えておらず、dq−UVW座標変換器76は、同じ回の計算サイクルの当初において取得した実モータ位置θmのもとで、仮想dq軸指令電圧Vd*,Vq*を仮想3相指令電圧Vu*,Vv*,Vw*に変換し、その結果、それら仮想3相指令電圧Vu*,Vv*,Vw*は、変化量Δθを無視した値として取得されることになる。
Specifically, in this modification, the virtual
この変形例は、仮想モータ計算周期Tvの長さが短いか、および/または、実モータ12の角速度が低速であるために、変化量Δθを無視しても支障を来たさない場合に、Δθ推定器80を使用せずに済む点で有利である。
In this modification, when the length of the virtual motor calculation cycle Tv is short and / or the angular speed of the
この変形例については、モータ制御装置10の作動の一例を表すタイミングチャートが、図6(c)に示すものに変更され、また、モータ制御装置10の作動の一例を表すフローチャートは、図8に示すフローチャートと基本的に共通するが、ステップS5においては、Δθ推定器80による変化量Δθの推定が省略され、dq−UVW座標変換器76により、実モータ位置θmのもとで、ステップS4において生成された仮想dq軸指令電圧信号が仮想3相指令電圧信号に変換される。
For this modification, the timing chart representing an example of the operation of the
図9には、実モータ12を制御するために実コントローラ13においてプロセッサ(図示しない)によって反復的に実行される実モータ制御プログラムがフローチャートで概念的に表されている。この実モータ制御プログラムが反復的に実行されることにより、図6(a)に示すように、実モータ12の制御(実モータ制御)が、仮想モータ計算周期Tvと同じ制御周期で反復される。
FIG. 9 conceptually shows, in a flowchart, an actual motor control program that is repeatedly executed by a processor (not shown) in the
この実モータ制御プログラムが実行されると、まず、ステップS51において、仮想モータ計算部50から最新の仮想モータ電流信号Iu*,Iv*,Iw*が入力される。
When the actual motor control program is executed, first, in step S51, the latest virtual motor current signals Iu *, Iv *, and Iw * are input from the virtual
次に、ステップS52において、それら入力された仮想モータ電流信号Iu*,Iv*,Iw*に基づき、それら仮想モータ電流値Iu*,Iv*,Iw*によって表される目標物理量を実現するのに適当な実モータ12のためのPWM信号(実モータ制御信号)Gu,Gv,Gw,Gx,Gy,Gzが生成される。
Next, in step S52, on the basis of the inputted virtual motor current signals Iu *, Iv *, Iw *, a target physical quantity represented by these virtual motor current values Iu *, Iv *, Iw * is realized. PWM signals (actual motor control signals) Gu, Gv, Gw, Gx, Gy, and Gz for an appropriate
続いて、ステップS53において、それら生成されたPWM信号Gu,Gv,Gw,Gx,Gy,Gzが実インバータ/パワーアンプ14に出力され、それにより、実モータ12が制御される。
Subsequently, in step S53, the generated PWM signals Gu, Gv, Gw, Gx, Gy, Gz are output to the actual inverter /
その後、ステップS54において、実モータ12の実際の作動状態(本実施形態においては、実モータ位置θm)が実モータ状態検出部15によって検出される。その検出された実モータ作動状態を表す信号は仮想モータ計算部50に出力される。
Thereafter, in step S54, the actual operating state of the actual motor 12 (in the present embodiment, the actual motor position θm) is detected by the actual motor
以上で、1制御サイクル分の実モータ制御が終了し、続いて、ステップS51に戻り、次回の制御サイクルについての実モータ制御が開始される。 Thus, the actual motor control for one control cycle is completed, and then the process returns to step S51 to start the actual motor control for the next control cycle.
本実施形態によれば、実モータ12の回転角を検出する角度センサさえ存在すれば、その角度センサより通常高価な電流センサを実モータ12に追加しなくても、そのような電流センサの代わりに仮想モータ60を用いることにより、実モータ12の電流を安価に検出することが可能となる。
According to the present embodiment, as long as there is an angle sensor that detects the rotation angle of the
本実施形態においては、仮想モータ状態検出部62が、仮想モータ60の作動状態として、仮想モータ60によって計算された仮想モータ電流値Iu*,Iv*,Iw*を検出する。
In the present embodiment, the virtual motor
仮想モータ状態検出部62の別の例は、それら仮想モータ電流値Iu*,Iv*,Iw*という物理量に加えて、それら仮想モータ電流値Iu*,Iv*,Iw*に基づき、前述の運動方程式、電圧方程式およびフレミング方程式を用いることによって計算される他の物理量、例えば、仮想トルクTe*、仮想モータ速度ωm*、仮想モータ位置θm*、仮想3相誘起電圧Eu*,Ev*,Ew*、仮想3相磁束Fu*,Fv*,Fw*などを検出することが可能である。
Another example of the virtual motor
以上の説明から明らかなように、本実施形態においては、仮想モータ60が、各計算サイクルごとに、仮想モータ制御信号が入力されると、その入力された仮想モータ制御信号に基づき、その仮想モータ制御信号と同じ実モータ制御信号が実モータ12に出力された場合にその実モータ制御信号に応答して実現される実モータ12の作動状態を推定し、その推定された作動状態を仮想モータ60の仮想作動状態として出力する。ここに、「仮想作動状態」の一例は、仮想モータ電流Iu*,Iv*,Iw*である。
As is apparent from the above description, in this embodiment, when the
さらに、仮想モータ制御部64が、各計算サイクルごとに、前記目標信号に基づき、かつ、前回の計算サイクルにおいて仮想モータ60から出力された仮想作動状態をフィードバックすることにより、仮想モータ制御信号を決定する。
Further, the virtual
さらに、同じ回の計算サイクルと同期する制御サイクルにおいて、実コントローラ13が、仮想モータ60から取得される信号に基づいて実モータ制御信号を決定し、その決定された実モータ制御信号を実モータ12に出力する。ここに、「仮想モータ60から取得される信号」の一例は、最新の仮想モータ電流Iu*,Iv*,Iw*であって最新の仮想モータ制御信号を決定するために仮想モータ制御部64が参照したものと同じものである。
Further, in a control cycle synchronized with the same calculation cycle, the
これに代えて、別の例においては、「仮想モータ60から取得される信号」が、最新の仮想モータ電流Iu*,Iv*,Iw*に代わるかまたはそれに加えられる別の物理量、すなわち、その最新の仮想モータ電流Iu*,Iv*,Iw*が仮想モータ60から出力されたタイミングと実質的に同じタイミングで仮想モータ状態検出部62によって計算された別の物理量、例えば、上述のように、仮想トルクTe*、仮想モータ速度ωm*、仮想モータ位置θm*、仮想3相誘起電圧Eu*,Ev*,Ew*、仮想3相磁束Fu*,Fv*,Fw*などのうちの少なくとも一つである。
Alternatively, in another example, the “signal obtained from the
仮想モータ制御信号を決定するために参照される第1物理量も、実モータ制御信号を決定するために参照される第2物理量も、仮想モータ60から直接的にまたは間接的に取得される物理量であるとしても、それら第1物理量と第2物理量とが種類に関して互いに一致することは不可欠ではなく、実質的に同じタイミングで仮想モータ60から直接的にまたは間接的に取得された物理量同士であるという条件さえ満たされれば足りる。そのような物理量同士である限り、物理的にみて互いに等価であって、相互に置換可能であるからである。
Both the first physical quantity referred to determine the virtual motor control signal and the second physical quantity referred to determine the actual motor control signal are physical quantities obtained directly or indirectly from the
<第2実施形態> Second Embodiment
次に、本発明の第2実施形態に従うモータ制御装置100を図10ないし図13を参照することにより説明する。ただし、本実施形態は、第1実施形態と共通する要素があるため、共通する要素については、同一の符号または名称を付して引用することにより、重複した説明を省略し、異なる要素についてのみ、詳細に説明する。
Next, a
前述の第1実施形態においては、仮想モータ状態検出部62が、仮想3相実電流値Iu*,Iv*,Iw*を実モータ12の実3相実電流値Iu,Iv,Iwとして検出する電流センサとして機能する。
In the first embodiment described above, the virtual
これに対し、本実施形態においては、仮想モータ状態検出部62が、電流センサとして機能するのみならず、入力電圧センサ、トルクセンサおよび誘起電圧センサとしても機能する。
In contrast, in the present embodiment, the virtual motor
入力電圧センサは、仮想モータ60の各相仮想巻線に印加される電圧である仮想3相入力電圧Vu*,Vv*,Vw*を、実モータ12の各相実巻線に印加される電圧である実3相入力電圧Vu,Vv,Vwとして検出する。
The input voltage sensor applies a virtual three-phase input voltage Vu *, Vv *, Vw *, which is a voltage applied to each phase virtual winding of the
トルクセンサは、仮想モータ60の仮想シャフト(実モータ12のシャフト13に相当する)に作用するトルクである仮想トルクTe*を、実モータ12のシャフト13に作用するトルクである実トルクTeとして検出する。
The torque sensor detects a virtual torque Te * that is a torque acting on a virtual shaft of the virtual motor 60 (corresponding to the
誘起電圧センサは、仮想モータ60の各相仮想巻線に誘起される電圧である仮想3相誘起電圧Eu*,Ev*,Ew*を、実モータ12の各相実巻線に誘起される電圧である実3相誘起電圧Eu,Ev,Ewとして検出する。
The induced voltage sensor generates a virtual three-phase induced voltage Eu *, Ev *, Ew *, which is a voltage induced in each phase virtual winding of the
さらに、前述の第1実施形態においては、実コントローラ13が、仮想モータ計算部50から出力された仮想モータ電流信号Iu*,Iv*,Iw*に基づき、実モータ12のためのPWM信号(実モータ制御信号)Gu,Gv,Gw,Gx,Gy,Gzを決定する。
Furthermore, in the above-described first embodiment, the
これに対し、本実施形態においては、実コントローラ13が、仮想モータ計算部50に入力される目標信号と同じ目標信号に基づき、実モータ12のためのPWM信号Gu,Gv,Gw,Gx,Gy,Gzを決定する。
On the other hand, in the present embodiment, the
図11には、本実施形態に従う仮想モータ計算部50が機能ブロック図で概念的に表されている。この仮想モータ計算部50は、第1実施形態に従う仮想モータ計算部50(図y3)に対し、仮想モータ状態検出部62が仮想モータ電流信号Iu*,Iv*,Iw*と、仮想モータ電圧信号Vu*,Vv*,Vw*と、仮想モータトルクTe*と、仮想モータ誘起電圧信号Eu*,Ev*,Ew*とをディスプレイ66に出力する点と、仮想モータ状態検出部62が仮想モータ電流信号Iu*,Iv*,Iw*を実コントローラ13に出力しない点とを除き、共通する。
FIG. 11 conceptually shows a virtual
図12には、モータ制御装置100を作動させるためにプロセッサ40によって実行される仮想モータ制御プログラムが概念的にフローチャートで表されている。この仮想モータ制御プログラムは、図8に示すものと共通するステップが多く、異なるのは、ステップS9がステップ9aに、ステップS10がステップS10aにそれぞれ置換されている点のみである。
FIG. 12 conceptually shows a virtual motor control program executed by the
ステップS9aにおいては、ステップS9に準じて、仮想モータ状態検出部62により、仮想モータ電流信号Iu*,Iv*,Iw*と、仮想モータ電圧信号Vu*,Vv*,Vw*と、仮想モータトルクTe*と、仮想モータ誘起電圧信号Eu*,Ev*,Ew*とが出力される。ステップS10aにおいては、ステップS10に準じて、仮想モータ状態検出部62によって検出された複数の仮想モータ状態量がディスプレイ66の画面上に表示される。
In step S9a, in accordance with step S9, the virtual
図13には、実モータ12を制御するために実コントローラ13においてプロセッサ(図示しない)によって実行される実モータ制御プログラムがフローチャートで概念的に表されている。この実モータ制御プログラムは、図9に示すものと基本的に共通する。
FIG. 13 conceptually shows a real motor control program executed by a processor (not shown) in the
具体的には、この実モータ制御プログラムが実行されると、まず、ステップS56において、前記目標信号が入力される。 Specifically, when the actual motor control program is executed, first, in step S56, the target signal is input.
次に、ステップS57において、その入力された目標信号に基づき、その目標信号によって表される物理量を実現するのに適当な、実モータ12のためのPWM信号(実モータ制御信号)Gu,Gv,Gw,Gx,Gy,Gzが生成される。
Next, in step S57, based on the inputted target signal, PWM signals (actual motor control signals) Gu, Gv, Gu for the
続いて、ステップS58において、それら生成されたPWM信号Gu,Gv,Gw,Gx,Gy,Gzが実インバータ/パワーアンプ14に出力され、それにより、実モータ12が制御される。その後、ステップS59において、実モータ12の実際の作動状態(本実施形態においては、実モータ位置θm)が実モータ状態検出部15によって検出される。その検出された実モータ作動状態を表す信号は、仮想モータ制御部64に出力される。
Subsequently, in step S58, the generated PWM signals Gu, Gv, Gw, Gx, Gy, Gz are output to the actual inverter /
以上で、1制御サイクル分の実モータ制御が終了し、続いて、ステップS56に戻り、次回の制御サイクルについての実モータ制御が開始される。 Thus, the actual motor control for one control cycle is completed, and then the process returns to step S56, and the actual motor control for the next control cycle is started.
<第3実施形態> <Third Embodiment>
次に、本発明の第3実施形態に従うモータ制御装置200を図14ないし図16を参照することにより説明する。ただし、本実施形態は、第1実施形態と共通する要素があるため、共通する要素については、同一の符号または名称を付して引用することにより、重複した説明を省略し、異なる要素についてのみ、詳細に説明する。
Next, a
前述の第1実施形態においては、実コントローラ13が、仮想モータ計算部50から出力された仮想モータ電流信号Iu*,Iv*,Iw*に基づき、実モータ12のためのPWM信号(制御信号)Gu,Gv,Gw,Gx,Gy,Gzを決定する。これに対し、仮想モータ制御部64は、目標信号と、仮想モータ電流信号Iu*,Iv*,Iw*と、実モータ位置θmとに基づき、仮想モータ60のためのPWM信号(仮想モータ制御信号)Gu,Gv,Gw,Gx,Gy,Gzを決定する。したがって、同じ制御サイクルにつき、実モータ12に供給されるPWM信号(実モータ制御信号)Gu,Gv,Gw,Gx,Gy,Gzと、仮想モータ60に供給されるPWM信号(仮想モータ制御信号)Gu,Gv,Gw,Gx,Gy,Gzとは、完全には互いに一致しない。
In the first embodiment described above, the
これに対し、本実施形態においては、図14および図15に示すように、仮想モータ制御部64が、第1実施形態と同様にして、目標信号と、仮想モータ電流信号Iu*,Iv*,Iw*と、実モータ位置θmとに基づき、仮想モータ60のためのPWM信号(仮想モータ制御信号)Gu,Gv,Gw,Gx,Gy,Gzを決定すると、それらPWM信号Gu,Gv,Gw,Gx,Gy,Gzを仮想PWMインバータ90を経由して仮想モータ60に出力するとともに、完全に同じPWM信号Gu,Gv,Gw,Gx,Gy,Gzを実モータ制御信号として実インバータ/パワーアンプ14を経由して実モータ12にも出力する。
On the other hand, in this embodiment, as shown in FIGS. 14 and 15, the virtual
このように、本実施形態においては、仮想モータ計算部50が完全に実モータ12を制御するため、実コントローラ13に相当する要素が存在しない。これに対し、第1実施形態においては、仮想モータ計算部50が部分的にしか実モータ12を制御しないため、実コントローラ13が追加されている。
Thus, in this embodiment, since the virtual
図16には、モータ制御装置200を作動させるためにプロセッサ40によって実行される仮想モータ制御プログラムが概念的にフローチャートで表されている。この仮想モータ制御プログラムは、図8に示すものと共通するステップが多く、異なるのは、ステップS6aがステップS6とS7との間に追加されている点のみである。このステップS6aは、ステップS6において決定されたPWM信号Gu,Gv,Gw,Gx,Gy,Gzを実インバータ/パワーアンプ14に出力するために追加されている。
FIG. 16 conceptually shows a virtual motor control program executed by the
<第4実施形態> <Fourth embodiment>
次に、本発明の第4実施形態に従うモータ制御装置300を図17ないし図20を参照することにより説明する。ただし、本実施形態は、第1実施形態と共通する要素があるため、共通する要素については、同一の符号または名称を付して引用することにより、重複した説明を省略し、異なる要素についてのみ、詳細に説明する。
Next, a
1.実モータ状態検出部15の機能について
1. Functions of the actual motor
前述の第1実施形態においては、実モータ状態検出部15が実モータ位置θmを検出する。これに対し、本実施形態においては、図17に示すように、実モータ状態検出部15が、実モータ位置θmのみならず、実モータ12の実3相実電流値Iu,Iv,Iwおよび実3相実電圧値Vu,Vv,Vwも検出する。そのため、この実モータ状態検出部15は、ロータリ・エンコーダのみならず、通常の電流センサおよび電圧センサをも有するように設計されている。
In the first embodiment described above, the actual motor
2.実コントローラ13の機能について
2. About the function of the
前述の第1実施形態においては、実コントローラ13が、仮想モータ計算部50から出力された仮想モータ電流信号Iu*,Iv*,Iw*に基づき、実モータ12のためのPWM信号(制御信号)Gu,Gv,Gw,Gx,Gy,Gzを決定する。これに対し、仮想モータ制御部64は、目標信号と、仮想モータ電流信号Iu*,Iv*,Iw*と、実モータ位置θmとに基づき、仮想モータ60のためのPWM信号(制御信号)Gu,Gv,Gw,Gx,Gy,Gzを決定する。したがって、同じ制御サイクルにつき、実モータ12に供給されるPWM信号(実モータ制御信号)Gu,Gv,Gw,Gx,Gy,Gzと、仮想モータ60に供給されるPWM信号(仮想モータ制御信号)Gu,Gv,Gw,Gx,Gy,Gzとは、完全には互いに一致しない。
In the first embodiment described above, the
これに対し、本実施形態においては、図17および図18に示すように、仮想モータ制御部64が、第1実施形態と同様にして、目標信号と、仮想モータ電流信号Iu*,Iv*,Iw*と、実モータ位置θmとに基づき、仮想モータ60のためのPWM信号(仮想モータ制御信号)Gu,Gv,Gw,Gx,Gy,Gzを決定するとともに、それらPWM信号Gu,Gv,Gw,Gx,Gy,Gzを決定するために用いられた仮想モータ電流信号Iu*,Iv*,Iw*を実コントローラ13に出力する。
On the other hand, in the present embodiment, as shown in FIGS. 17 and 18, the virtual
さらに、本実施形態においては、実コントローラ13が、仮想モータ制御部64から出力された仮想モータ電流信号Iu*,Iv*,Iw*を目標電流信号として用い、かつ、実モータ状態検出部15から出力された実モータ12の実モータ電流値Iu,Iv,Iwをフィードバックすることにより、実モータ12のためのPWM信号(実モータ制御信号)Gu,Gv,Gw,Gx,Gy,Gzを決定する。
Further, in the present embodiment, the
3.仮想モータ状態検出部62の機能について
3. Function of virtual motor
前述の第1実施形態においては、仮想モータ状態検出部62が、仮想モータ電流値Iu*,Iv*,Iw*を実モータ12の実モータ電流値Iu,Iv,Iwの推定値として検出する電流センサとして機能する。これにより、仮想モータ60を用いることにより、実モータ12の実際の作動特性として実モータ12の電流特性が出力される。
In the first embodiment described above, the virtual motor
これに対し、本実施形態においては、図17および図18に示すように、仮想モータ状態検出部62が、電流センサとして機能するのみならず、仮想モータ電圧値Vu*,Vv*,Vw*を実モータ12の実モータ電圧値Vu,Vv,Vwの推定値として検出する電圧センサとしても機能する。これにより、本実施形態においては、仮想モータ60を用いることにより、実モータ12の実際の作動特性として実モータ12の電流特性のみならず電圧特性も出力される。
In contrast, in the present embodiment, as shown in FIGS. 17 and 18, the virtual motor
4.実モータ12の機械損の推定について
4). About estimation of mechanical loss of
図17および図18に示すように、モータ制御装置300は、さらに、仮想モータ電力計算部302を備えている。その仮想モータ電力計算部302は、仮想モータ状態検出部62から出力された仮想モータ電流値Iu*,Iv*,Iw*と仮想モータ電圧値Vu*,Vv*,Vw*との積として、各相ごとに、かつ、実モータ12の各回転角θmごとに仮想モータ電力Pvを計算する。
As shown in FIGS. 17 and 18, the
図17に示すように、モータ制御装置300は、さらに、実モータ電力計算部304を備えている。その実モータ電力計算部304は、実モータ状態検出部15から出力された実モータ電流値Iu,Iv,Iwと実モータ電圧値Vu,Vv,Vwとの積として、各相ごとに、かつ、実モータ12の各回転角θmごとに実モータ電力Pmを計算する。
As shown in FIG. 17, the
図17に示すように、モータ制御装置300は、さらに、機械損計算部306を備えている。
As shown in FIG. 17, the
ところで、よく知られているように、実モータ12は、電気エネルギーを機械エネルギーに変換する機械であり、そのエネルギー変換に際し、入力された電気エネルギーの一部が熱エネルギーとして実モータ12の内部で消費される。そのようにして消費された電気エネルギーが、実モータ12の全損失である。
As is well known, the
この全損失は、鉄損と銅損と機械損とに分類される。、また、負荷損は、銅損に分類される。実モータ12の負荷率に依存しない固定損、負荷率に依存する負荷損、漂遊負荷損などに分類される。固定損は、鉄損と機械損に分類され、また、負荷損は、銅損に分類される。
This total loss is classified into iron loss, copper loss and mechanical loss. The load loss is classified as copper loss. They are classified into fixed loss that does not depend on the load factor of the
鉄損は、実モータ12の鉄心(コア)に渦電流が生じることによって発生する損失であり、高速・低トルク域において有意となる。鉄損は、実モータ12の負荷率に依存しない固定損の一種である。
The iron loss is a loss generated when an eddy current is generated in the iron core (core) of the
機械損は、実モータ12の回転に際して機械的な要因によって発生する損失であり、前記ロータと前記ステータとの間のベアリングの摩擦抵抗による損失や、空気抵抗による風損、不適切なエア・ギャップなどを含む。機械損は、実モータ12の負荷率に依存しない要素と、依存する要素とを含んでいる。
The mechanical loss is a loss caused by a mechanical factor when the
銅損は、前記ロータの銅巻線および前記ステータの銅巻線の電気抵抗によって発生する損失であり、低速・高トルク域において有意となる。銅損は、実モータ12の負荷率に依存する負荷損の一種である。
The copper loss is a loss generated by the electrical resistance of the copper winding of the rotor and the copper winding of the stator, and becomes significant in the low speed / high torque range. Copper loss is a type of load loss that depends on the load factor of the
ここで、実モータ12の全損失は、鉄損および銅損という電気的な要因によって発生する損失と、機械的な要因によって発生する機械損との和に等しいと仮定することが可能である。これに対し、仮想モータ60の入出力特性は、実モータ12の鉄損および銅損を反映するように設計されているが、機械損を考慮していない。したがって、仮想モータ60の全損失は、鉄損および銅損という電気的な要因によって発生する損失に等しいと仮定することが可能である。
Here, it is possible to assume that the total loss of the
一方、実モータ12に入力された電気エネルギーのうち、機械エネルギーに変換された部分は、実モータ12の電力である実モータ電力Pmとして計算することが可能である。同様に、仮想モータ60に入力された電気エネルギーのうち、機械エネルギーに変換された部分は、仮想モータ60の電力である仮想モータ電力Pvとして計算することが可能である。
On the other hand, the portion of the electrical energy input to the
仮想モータ電力Pvの計算値は、実モータ12の機械損を含んでいない。そのため、仮想モータ電力Pvから実モータ電力Pmを引き算して得られる値ΔP(=Pv−Pm)は、実モータ12の機械損MLの推定値を意味することになる。
The calculated value of the virtual motor power Pv does not include the mechanical loss of the
このような知見に基づき、本実施形態においては、機械損計算部306が、仮想モータ電力計算部302によって計算された仮想モータ電力Pvから、実モータ電力計算部304によって計算された実モータ電力Pmを引き算することにより、実モータ12の機械損MLの推定値を、各相ごとに、かつ、実モータ12の各回転角θmごとに計算する。
Based on such knowledge, in this embodiment, the mechanical
本実施形態においては、前述の他のいくつかの実施形態と同様に、仮想モータ60が実モータ12と位相に関して実質的に同期するように制御される。この同期のおかげで、実質的に同じタイミングで取得された仮想モータ電力Pv(最新値)および実モータ電力Pm(最新値)は、仮想モータ60の仮想モータ位置θと実モータ12の実モータ位置θmとが互いに実質的に一致する状況で取得されることが保証される。したがって、それら仮想モータ電力Pvと実モータ電力Pmとの差が実モータ12の機械損MLを表す正確性が向上する。
In the present embodiment, the
このように、本実施形態においては、実モータ12の機械損MLの推定値が、実モータ12の回転角θmをパラメータとする関数f(θm)として表現されるが、これに代えて、例えば、実モータ12の機械損MLの推定値を、実モータ12の回転角θmと、実モータ12の負荷率Rとをそれぞれパラメータとする関数g(θm,R)として表現することが可能である。
As described above, in this embodiment, the estimated value of the mechanical loss ML of the
さらに、本実施形態においては、図17に示すように、モータ制御装置300が、さらに、メモリ310を備えている。そのメモリ310には、機械損計算部306によって計算された機械損MLの推定値が、実モータ12の回転角θmをパラメータとする関数f(θm)として保存される。
Further, in the present embodiment, as shown in FIG. 17, the
実モータ12の機械損MLが推定できれば、その機械損MLが減少するように実モータ12の設計を変更したり製造工程を改善することが容易となる。具体的には、例えば、実モータ12において、使用するグリスを低損失のものに変更したり、ベアリングの摩擦抵抗を最適化したり、コイルの数や配向・配列を最適化したり、エア・ギャップを最適化したり、熱の流れを最適化することが容易となる。
If the mechanical loss ML of the
以上の説明から明らかなように、本実施形態においては、実モータ状態検出部15と、仮想モータ状態検出部62と、仮想モータ電力計算部302と、実モータ電力計算部304と、機械損計算部306とが互いに共同して、前記「実モータ作動特性出力部」の一例を構成し、また、前記「実モータ機械損取得部」の一例を構成する。
As is clear from the above description, in the present embodiment, the real motor
図19には、モータ制御装置300を作動させるためにプロセッサ40によって実行される仮想モータ制御プログラムが概念的にフローチャートで表されている。この仮想モータ制御プログラムは、図8に示すものと共通するステップが多く、異なるのは、ステップS10が一連のステップS21−S27で置換されている点のみである。
In FIG. 19, a virtual motor control program executed by the
ステップS21においては、仮想モータ状態検出部62から出力された仮想モータ電流値Iu*,Iv*,Iw*と仮想モータ電圧値Vu*,Vv*,Vw*が仮想モータ電力計算部302に入力される。
In step S 21, the virtual motor current values Iu *, Iv *, Iw * and virtual motor voltage values Vu *, Vv *, Vw * output from the virtual motor
次に、ステップS22において、その仮想モータ電力計算部302により、仮想モータ電流値Iu*,Iv*,Iw*と仮想モータ電圧値Vu*,Vv*,Vw*との積として、各相ごとに仮想モータ電力Pvが計算される。その計算された仮想モータ電力Pvは機械損計算部306に出力される。
Next, in step S22, the virtual motor
続いて、ステップS23において、ステップS21と同様にして、実モータ状態検出部15から出力された実モータ電流値Iu,Iv,Iwと実モータ電圧値Vu,Vv,Vwが実モータ電力計算部304に入力される。
Subsequently, in step S23, as in step S21, the actual motor current values Iu, Iv, Iw and the actual motor voltage values Vu, Vv, Vw output from the actual motor
その後、ステップS24において、ステップS22と同様にして、その実モータ電力計算部304により、実モータ電流値Iu,Iv,Iwと実モータ電圧値Vu,Vv,Vwとの積として、各相ごとに実モータ電力Pmが計算される。その計算された実モータ電力Pmは機械損計算部306に出力される。
Thereafter, in step S24, as in step S22, the actual motor
続いて、ステップS25において、機械損計算部306により、仮想モータ電力計算部302によって計算された仮想モータ電力Pvから、実モータ電力計算部304によって計算された実モータ電力Pmを引き算することにより、実モータ12の機械損MLの推定値が各相ごとに計算される。
Subsequently, in step S25, the mechanical
その後、ステップS26において、実モータ状態検出部15から最新の実モータ角度(すなわち、実モータ位置)θmが入力される。
Thereafter, in step S26, the latest actual motor angle (that is, actual motor position) θm is input from the actual
続いて、ステップS27において、実モータ12の機械損MLの推定値が、各相ごとに、実モータ12の回転角θmをパラメータとする関数f(θm)として、メモリ310に保存される。すなわち、最新の機械損MLが最新の実モータ位置θmに関連付けてメモリ310に保存されるのである。その後、ステップS11に移行する。
Subsequently, in step S27, the estimated value of the mechanical loss ML of the
図20には、実モータ12を制御するために実コントローラ13においてプロセッサ(図示しない)によって反復的に実行される実モータ制御プログラムがフローチャートで概念的に表されている。この実モータ制御プログラムは、図9に示すものと基本的に共通する。
FIG. 20 conceptually shows, in a flowchart, an actual motor control program that is repeatedly executed by a processor (not shown) in the
具体的には、この実モータ制御プログラムが実行されると、まず、ステップS61において、ステップS51と同様にして、仮想モータ計算部50から最新の仮想モータ電流信号Iu*,Iv*,Iw*が目標電流信号として入力される。
Specifically, when the actual motor control program is executed, first, in step S61, the latest virtual motor current signals Iu *, Iv *, Iw * are obtained from the virtual
次に、ステップS62において、実モータ状態検出部15から最新の実モータ電流信号Iu,Iv,Iwが入力される。続いて、ステップS63において、それら入力された仮想モータ電流信号Iu*,Iv*,Iw*と実モータ電流信号Iu,Iv,Iwとに基づき、前記目標電流信号によって表される物理量を実現するのに適当な、実モータ12のためのPWM信号(実モータ制御信号)Gu,Gv,Gw,Gx,Gy,Gzが生成される。
Next, in step S62, the latest actual motor current signals Iu, Iv, Iw are input from the actual
続いて、ステップS64において、それら生成されたPWM信号Gu,Gv,Gw,Gx,Gy,Gzが実インバータ/パワーアンプ14に出力され、それにより、実モータ12が制御される。その後、ステップS65において、実モータ12の実際の作動状態(本実施形態においては、実モータ位置θm、実モータ電流値Iu,Iv,Iw、実モータ電圧値Vu,Vv,Vw)が実モータ状態検出部15によって検出される。その検出された実モータ作動状態を表す複数の信号は、それぞれ、該当する要素に出力される。
Subsequently, in step S64, the generated PWM signals Gu, Gv, Gw, Gx, Gy, Gz are output to the actual inverter /
以上で、1制御サイクル分の実モータ制御が終了し、続いて、ステップS61に戻り、次回の制御サイクルについての実モータ制御が開始される。 Thus, the actual motor control for one control cycle is completed, and then the process returns to step S61 to start the actual motor control for the next control cycle.
<第5実施形態> <Fifth Embodiment>
次に、本発明の第5実施形態に従うモータ制御装置400を図21ないし図23を参照することにより説明する。ただし、本実施形態は、第4実施形態と共通する要素があるため、共通する要素については、同一の符号または名称を付して引用することにより、重複した説明を省略し、異なる要素についてのみ、詳細に説明する。
Next, a
上述の第4実施形態においては、実モータ12の実モータ電力Pmと仮想モータ60の仮想モータ電力Pvとの差が実モータ12の機械損を反映する可能性があるという事実に着目し、実モータ12と仮想モータ60との電力差を用いて実モータ12の機械損が推定される。
In the fourth embodiment described above, focusing on the fact that the difference between the real motor power Pm of the
これに対し、本実施形態においては、実モータ12の実際の作動状態量と仮想モータ60の作動状態量すなわち実モータ12の作動状態量の推定値との差があれば、その差は、仮想モータ60の教示誤差に起因すると仮定し、その仮定のもと、その差が減少するように、仮想モータ60が表現するモータモデルが自動的に修正される。
On the other hand, in this embodiment, if there is a difference between the actual operating state quantity of the
図21に示すように、そのような自動モデル修正のため、モータ制御装置400は、図17に示す仮想モータ電力計算部302、実モータ電力計算部304、機械損計算部306およびメモリ310に代えて、比較部402およびモデル修正部404を有する。
As shown in FIG. 21, for such automatic model correction, the
比較部402は、実モータ電流信号Iu,Iv,Iwによって表される電流値と仮想モータ電流信号Iu*,Iv*,Iw*によって表される電流値との差である電流誤差ΔIを、各相ごとに計算する。モデル修正部404は、その計算された電流誤差ΔIが減少するように、仮想モータ60のモータモデルを自動的に修正する。それら比較部402およびモデル修正部404は、CPU44によって実行される。
The
具体的には、モデル修正部404は、前記計算された電流誤差ΔIに基づき、その電流誤差ΔIが減少するように、仮想モータ60の入出力特性を定義する前記モータモデル(図4参照)を修正する。モデル修正部404は、例えば、前記計算された電流誤差ΔIに基づき、図4に示すインダクタンス行列のうち、該当する要素を、電流誤差ΔIと要素の値との間に予め定められた関係(例えば、経験的にまたは実験的に取得される)を表すテーブルに従って修正する。このモデル修正部404は、仮想モータ60と実モータ12とを一緒に作動させることにより、実モータ12の実際の入出力特性を仮想モータ60に教示するティーチングを実行する。
Specifically, the
図22には、本実施形態に従う仮想モータ計算部50が機能ブロック図で概念的に表されている。この仮想モータ計算部50は、第4実施形態に従う仮想モータ計算部50に対し、仮想モータ状態検出部62が仮想モータ電流信号Iu*,Iv*,Iw*を比較部402に出力する点を除き、共通する。
FIG. 22 conceptually shows a virtual
図23には、比較部402およびモデル修正部404の作動の一例がフローチャートで概念的に表されている。それら比較部402およびモデル修正部404は、CPU44により、誤差監視計算周期Tc(例えば、数10μsec)で反復的に実行される。
FIG. 23 conceptually shows an example of operations of the
具体的には、まず、ステップS121において、比較部402により、仮想モータ60の仮想モータ電流値Iu*,Iv*,Iw*の、実モータ12の実モータ電流値Iu,Iv,Iwからの誤差である電流誤差ΔIが、各相U,V,Wごとに計算され、それら3相のうちの少なくとも一つについてでも、前記計算された電流誤差ΔIの絶対値が、予め定められたしきい値ΔIthより大きいか否かが判定される。今回は、いずれの相についても、電流誤差ΔIの計算値がしきい値ΔIth以下であると仮定すると、このステップS121の判定がNOとなり、同じステップS121が再度実行される。
Specifically, first, in step S121, the
これに対し、今回は、少なくとも一つの相につき、電流誤差Δ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においては、比較部402により、電流誤差ΔIがいずれの相についても、しきい値ΔIthを超えないように前記モータモデルを修正すべき修正量が計算される。
In step S122, the
その計算手法の一例においては、各相ごとの電流誤差Δ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
続いて、ステップS123において、モデル修正部404により、仮想モデル60の入出力特性を定義するモータモデルが、前記計算された修正量に基づいて修正される(例えば、前記インダクタンス行列の複数の要素に共通に取得される補正係数または要素ごとに取得される修正係数が、それら要素のもとの値に乗算される)。電流誤差ΔIの計算値に基づいて仮想モデル60のティーチングが行われるのであり、その結果、仮想モデル60の入出力特性が、実モータ12の入出力特性をより正確に反映することとなる。その後、ステップS121に戻る。
Subsequently, in step S123, the
それらステップ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.
以上の説明から明らかなように、本実施形態によれば、システム11が試運転されている状況にあるか本格稼動している状況にあるかを問わず、実モータ12の実際の入出力特性を反映するように、仮想モータ60の入出力特性すなわち前記モータモデルを個別にチューニングすることが可能である。
As is clear from the above description, according to the present embodiment, the actual input / output characteristics of the
したがって、本実施形態によれば、システム11の製造段階にあっては、実モータ12の入出力特性の個体ばらつきなどを反映するように、仮想モータ60の入出力特性すなわちモータモデルを個別にチューニングすることが可能である。
Therefore, according to the present embodiment, in the manufacturing stage of the
また、システム11の出荷後であって、ユーザが実際にシステム11を使用する段階にあっては、実モータ12の入出力特性の経時劣化や、外的環境(例えば、温度環境)に起因する変化などを反映するように、仮想モータ60の入出力特性すなわちモータモデルを個別に、かつ、本来の用途で使用しつつ、それと並行して、かつ、自動的にチューニングすることが可能である。
In addition, after the
そのようにしてチューニングされたモータモデルは、前述の他のいくつかの実施形態において採用したり、後述の他のいくつかの実施形態において採用することが可能である。 The motor model so tuned can be employed in some of the other embodiments described above or in some of the other embodiments described below.
以上の説明から明らかなように、本実施形態においては、比較部402とモデル修正部404とが互いに共同して、前記「修正部」の一例を構成する。
As is clear from the above description, in the present embodiment, the
<第6実施形態> <Sixth Embodiment>
次に、本発明の第6実施形態に従うモータ制御装置500を図24および図25を参照することにより説明する。ただし、本実施形態は、第4実施形態と共通する要素があるため、共通する要素については、同一の符号または名称を付して引用することにより、重複した説明を省略し、異なる要素についてのみ、詳細に説明する。
Next, a
前述の第4実施形態においては、図17および図18に示すように、仮想モータ制御部64が、目標信号に基づき、かつ、仮想モータ電流信号Iu*,Iv*,Iw*の前回推定値をフィードバックし、かつ、最新の実モータ位置θmのもとでの座標変換を行うことにより、仮想モータ60のためのPWM信号(仮想モータ制御信号)Gu,Gv,Gw,Gx,Gy,Gzを決定する。さらに、仮想モータ制御部64は、それら仮想モータ制御信号Gu,Gv,Gw,Gx,Gy,Gzを決定するために用いられた仮想モータ電流信号Iu*,Iv*,Iw*を実コントローラ13に出力する。
In the above-described fourth embodiment, as shown in FIGS. 17 and 18, the virtual
さらに、第4実施形態においては、実コントローラ13が、仮想モータ制御部64から出力された仮想モータ電流信号Iu*,Iv*,Iw*を目標電流信号として用い、かつ、実モータ状態検出部15から出力された実モータ12の実モータ電流値Iu,Iv,Iwをフィードバックすることにより、実モータ12のためのPWM信号(実モータ制御信号)Gu,Gv,Gw,Gx,Gy,Gzを生成する。
Further, in the fourth embodiment, the
このように、第4実施形態においては、実モータ制御信号を決定するために、仮想モータ制御部64における1段目のフィードバック制御と、実コントローラ13における2段目のフィードバック制御とが行われる。
As described above, in the fourth embodiment, in order to determine the actual motor control signal, the first-stage feedback control in the virtual
これに対し、本実施形態においては、図24に示すように、それら2段のフィードバック制御が仮想モータ制御部64のみにおいて行われ、その結果、その仮想モータ制御部64は、仮想モータ制御信号のみならず実モータ制御信号をも決定し、その決定された実モータ制御信号を実インバータ/パワーアンプ14に出力する。よって、本実施形態においては、実コントローラ13に相当する要素を有しない。
On the other hand, in the present embodiment, as shown in FIG. 24, the two-stage feedback control is performed only in the virtual
図25には、モータ制御装置500を作動させるためにプロセッサ40によって実行される仮想モータ制御プログラムが概念的にフローチャートで表されている。この仮想モータ制御プログラムは、図19に示すものと共通するステップが多く、異なるのは、ステップS6が、仮想モータ制御信号としてのPWM信号を生成する点と、ステップS7が、仮想モータ制御信号としてのPWM信号を仮想PWMインバータ90に出力する点と、一連のステップS21−S27が一連のステップS41−S43で置換されている点とである。
FIG. 25 conceptually shows a virtual motor control program executed by the
本実施形態においては、ステップS2−S9が、上述の1段目のフィードバック制御のために実行され、また、ステップS41−S43が、上述の2段目のフィードバック制御のために実行される。 In the present embodiment, steps S2-S9 are executed for the above-described first-stage feedback control, and steps S41-S43 are executed for the above-described second-stage feedback control.
ステップS41においては、実モータ状態検出部15から最新の実モータ電流信号Iu,Iv,Iwが入力される。
In step S41, the latest actual motor current signals Iu, Iv, Iw are input from the actual
続いて、ステップS42において、ステップS9において入力された最新の仮想モータ電流信号Iu*,Iv*,Iw*であって上述の1段目のフィードバック制御の効果すなわち誤差を反映しているものが目標電流信号として参照され、かつ、前記入力された実モータ電流信号Iu,Iv,Iwがフィードバックされることにより、実モータ制御信号Gu,Gv,Gw,Gx,Gy,Gzが生成される。これにより、上述の2段目のフィードバック制御が実行される。 Subsequently, in step S42, the latest virtual motor current signals Iu *, Iv *, Iw * input in step S9, which reflect the effect of the first-stage feedback control, that is, the error, are the targets. The actual motor control signals Gu, Gv, Gw, Gx, Gy, and Gz are generated by referring to the current signals and feeding back the input actual motor current signals Iu, Iv, and Iw. Thereby, the above-mentioned second-stage feedback control is executed.
その後、ステップS43において、それら生成された実モータ制御信号Gu,Gv,Gw,Gx,Gy,Gzが実インバータ/パワーアンプ14に出力され、それにより、実モータ12が制御される。続いて、ステップS11に移行する。
Thereafter, in step S43, the generated actual motor control signals Gu, Gv, Gw, Gx, Gy, and Gz are output to the actual inverter /
以上の説明から明らかなように、本実施形態においては、仮想モータ制御部64は、各回の計算サイクルにおいて、1段目および2段目のフィードバック制御を順に実行する。具体的には、仮想モータ制御部64は、1段目のフィードバック制御のために、目標信号に基づき、かつ、前回の計算サイクルにおいて仮想モータ60から出力された前回推定値(例えば、仮想モータ電流信号Iu*,Iv*,Iw*)をフィードバックする。それにより、仮想モータ制御部64は、仮想モータ制御信号を決定し、その決定された仮想モータ制御信号を仮想モータ60に出力し、それにより、その仮想モータ60を作動させる。
As is apparent from the above description, in the present embodiment, the virtual
さらに、仮想モータ制御部64は、2段目のフィードバック制御のために、前記1段目のフィードバック制御において仮想モータ60から出力された直前推定値(例えば、仮想モータ電流信号Iu*,Iv*,Iw*)に基づき、かつ、実モータ12の作動状態(例えば、実モータ電流信号Iu,Iv,Iw)をフィードバックする。それにより、仮想モータ制御部64は、実モータ制御信号を決定し、その決定された実モータ制御信号を実モータ12に出力し、それにより、その実モータ12を作動させる。
Further, the virtual
これに代えて、仮想モータ制御部64は、2段目のフィードバック制御のために、1段目のフィードバック制御において仮想モータ60に出力された仮想モータ制御信号に基づき、かつ、前記直前推定値をフィードバックすることにより、実モータ制御信号を決定するように変更することが可能である。この態様によれば、実モータ12の実モータ電流信号Iu,Iv,Iwを参照せずに済むため、この態様は、実モータ電流信号Iu,Iv,Iwを検出することが不可能または困難である場合に有効である。
Instead, the virtual
以上、本発明の実施の形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、前記[発明の概要]の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。 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 (6)
前記実モータを模擬する仮想モータと、
その仮想モータを、前記実モータと一緒に、かつ、その実モータと実質的に同期するように作動するように制御する制御部と、
前記実モータと前記仮想モータとが一緒に作動している並行作動期間中に、前記実モータから、その実モータの実電力を計算するのに必要な実モータ関連情報を取得する実モータ関連情報取得部と、
前記並行作動期間中に、前記仮想モータから、その仮想モータの仮想電力を計算するのに必要な仮想モータ関連情報を取得する仮想モータ関連情報取得部と、
前記取得された実モータ関連情報および仮想モータ関連情報に基づき、前記実モータの実際の機械損を、その実モータまたは前記仮想モータの回転角に関連づけて取得して出力する実モータ機械損取得部と
を含むモータ制御装置。 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 controller that controls the virtual motor to operate in conjunction with the real motor and in substantial synchronization with the real motor;
Real motor related information acquisition for acquiring real motor related information necessary to calculate the real power of the real motor from the real motor during a parallel operation period in which the real motor and the virtual motor are operating together. And
During the parallel operation period, from the virtual motor, a virtual motor related information acquisition unit that acquires virtual motor related information necessary for calculating virtual power of the virtual motor;
An actual motor mechanical loss acquisition unit that acquires and outputs the actual mechanical loss of the actual motor in association with the actual motor or the rotation angle of the virtual motor based on the acquired actual motor related information and virtual motor related information; Including a motor control device.
前記実モータを模擬する仮想モータを、前記実モータと一緒に、かつ、その実モータと実質的に同期するように作動するように制御する制御工程と、
前記実モータと前記仮想モータとが一緒に作動している並列作動期間中に、前記実モータから、その実モータの実電力を計算するのに必要な実モータ関連情報を取得する実モータ関連情報取得工程と、
前記並列作動期間中に、前記仮想モータから、その仮想モータの仮想電力を計算するのに必要な仮想モータ関連情報を取得する仮想モータ関連情報取得工程と、
前記取得された実モータ関連情報および仮想モータ関連情報に基づき、前記実モータの実際の機械損を、その実モータまたは前記仮想モータの回転角に関連づけて取得して出力する実モータ機械損取得工程と
を含むモータ制御方法。 A motor control method for controlling an actual motor that converts electrical energy into kinetic energy,
A control step for controlling a virtual motor that simulates the real motor so as to operate together with the real motor and substantially in synchronization with the real motor;
Real motor related information acquisition for acquiring real motor related information necessary for calculating real power of the real motor from the real motor during a parallel operation period in which the real motor and the virtual motor are operating together Process,
During the parallel operation period, a virtual motor related information acquisition step of acquiring virtual motor related information necessary for calculating virtual power of the virtual motor from the virtual motor;
An actual motor mechanical loss acquisition step of acquiring and outputting an actual mechanical loss of the real motor in association with the rotation angle of the real motor or the virtual motor based on the acquired actual motor related information and virtual motor related information; A motor control method including:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013199656A JP2015023788A (en) | 2013-09-26 | 2013-09-26 | Motor control device and motor control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013199656A JP2015023788A (en) | 2013-09-26 | 2013-09-26 | Motor control device and motor control method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013147284A Division JP5379327B1 (en) | 2013-07-16 | 2013-07-16 | Motor control device and motor control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015023788A true JP2015023788A (en) | 2015-02-02 |
Family
ID=52487796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013199656A Pending JP2015023788A (en) | 2013-09-26 | 2013-09-26 | Motor control device and motor control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015023788A (en) |
-
2013
- 2013-09-26 JP JP2013199656A patent/JP2015023788A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5156352B2 (en) | AC motor control device | |
JP5781235B2 (en) | Synchronous machine controller | |
JP3467961B2 (en) | Control device for rotating electric machine | |
US8497645B2 (en) | Control device for electric motor drive device | |
CN102969951A (en) | Synchronous motor drive system and synchronous motor | |
JP5405685B1 (en) | Motor control device and motor control method | |
JP5637155B2 (en) | Motor control device and motor control 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 | |
JP2012231615A (en) | Motor drive controller and motor drive method | |
WO2013024780A1 (en) | Pm motor position-sensorless control device | |
JP4228651B2 (en) | Method and apparatus for controlling IPM motor | |
JP5379327B1 (en) | Motor control device and motor control method | |
JP2014128190A (en) | Motor control device and motor control method | |
JP6307223B2 (en) | Three-phase synchronous motor control device, three-phase synchronous motor drive system using the same, integrated motor system, pump system, compressor system, and three-phase synchronous motor control method | |
Feng et al. | Flux estimation of induction motors using high-order terminal sliding-mode observer | |
JP5301025B1 (en) | Motor control device and motor control method | |
JP2015023788A (en) | Motor control device and motor control method | |
JP2014217269A (en) | Motor control device and motor control method | |
JP2013219988A (en) | Control device of rotating machine | |
JP2014161201A (en) | Motor controller | |
JP5351345B1 (en) | Motor control device | |
JP2018046615A (en) | Temperature estimation device, interlinkage magnetic flux estimation device and motor controller | |
Li et al. | Commutation compensation strategy for brushless DC motor based on terminal voltage reconstruction |