KR20200022731A - Final Output Data Interpolation Error Improvement for Look-up Table Based PMSM Control Method - Google Patents

Final Output Data Interpolation Error Improvement for Look-up Table Based PMSM Control Method Download PDF

Info

Publication number
KR20200022731A
KR20200022731A KR1020180098731A KR20180098731A KR20200022731A KR 20200022731 A KR20200022731 A KR 20200022731A KR 1020180098731 A KR1020180098731 A KR 1020180098731A KR 20180098731 A KR20180098731 A KR 20180098731A KR 20200022731 A KR20200022731 A KR 20200022731A
Authority
KR
South Korea
Prior art keywords
speed
maximum output
torque
data
output torque
Prior art date
Application number
KR1020180098731A
Other languages
Korean (ko)
Other versions
KR102155476B1 (en
Inventor
이정효
Original Assignee
한국전력공사
군산대학교산학협력단
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 한국전력공사, 군산대학교산학협력단 filed Critical 한국전력공사
Priority to KR1020180098731A priority Critical patent/KR102155476B1/en
Publication of KR20200022731A publication Critical patent/KR20200022731A/en
Application granted granted Critical
Publication of KR102155476B1 publication Critical patent/KR102155476B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P21/00Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
    • H02P21/22Current control, e.g. using a current control loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Control Of Ac Motors In General (AREA)

Abstract

Disclosed are a method and a device for controlling a permanent magnet synchronous motor (PMSM). According to an embodiment of the present invention, the method for controlling a PMSM receives a speed and a torque command of a rotor of the PMSM, and uses a look-up table related to motor current values to obtain dq-axis current values corresponding to the speed and the torque command of the rotor, compensates an error of maximum output torque by using a maximum output torque table for each speed, and interpolates the dq-axis current values by using the compensated maximum output torque.

Description

Look-up 테이블 기반 PMSM 토크제어의 최대토크 제어 오차 보상 방법 {Final Output Data Interpolation Error Improvement for Look-up Table Based PMSM Control Method}Final Output Data Interpolation Error Improvement for Look-up Table Based PMSM Control Method

영구자석 동기 전동기에서 최대토크 제어 오차 보상 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for compensating maximum torque control error in a permanent magnet synchronous motor.

최근에 차량용 전동기로 적은 체적의 높은 출력을 갖는 영구자석 동기 전동기(Permanent Magnet Synchronous Motor: PMSM) 구동 시스템이 적용되고 있다.Recently, a permanent magnet synchronous motor (PMSM) driving system having a low volume and high output power has been applied to a vehicle electric motor.

이러한 영구자석 동기 전동기 구동 시스템의 차량 적용을 위해 사용자, 혹은 환경 변화에 대한 제어 입력에 따른 적절한 데이터를 룩업 테이블(Look-up table: LUT)에 저장하여 구동 시키는 방법이 일반적으로 활용되고 있다. 그러나 룩업 테이블에 저장할 수 있는 데이터는 한계가 있으며, 모든 환경 입력에 대한 적절한 데이터를 저장할 수 없다. 또한 차량안전기준이 점점 높아짐에 따라 구동분야에 활용할 수 있는 메모리양 또한 점점 제한되고 있는 실정이다. For vehicle application of the permanent magnet synchronous motor driving system, a method of driving and storing appropriate data in a look-up table (LUT) according to a control input for a user or an environment change is generally used. However, there is a limit to the data that can be stored in the lookup table, and you cannot store the appropriate data for all environment inputs. In addition, as vehicle safety standards are getting higher, the amount of memory that can be used in the driving field is also increasingly limited.

이러한 문제점을 해결하기 위해, 기존에는 2D-보간법(2D-Interpolation) 기법을 활용하여 저장되지 않은 입력이 들어왔을 경우에도 이를 적절히 보간하는 방법을 활용해 왔다. 2D-보간법은 두 개의 입력 파라미터 값에 따라 저장된 데이터의 선형 보간을 수행하는 방법으로써, 데이터와 데이터 사이에 있는 입력 파라미터값에 대해서도 적절한 출력데이터를 발생시킬 수 있다.In order to solve this problem, conventionally, a 2D-interpolation technique has been used to properly interpolate even an unsaved input. The 2D-interpolation method is a method of performing linear interpolation of stored data according to two input parameter values, and can generate appropriate output data even for input parameter values between data.

한편, 기본적으로 룩업 테이블에 저장되어 있는 각각의 데이터는 그에 따른 주소값을 갖는다. 이러한 주소값은 일반적으로 정수형태(Integer)의 값을 갖기 때문에, 저장되는 데이터는 고정 단위값의 정수 배율에 해당하는 조건의 값을 저장하는 것이 일반적이다. On the other hand, each data stored in the lookup table basically has an address value accordingly. Since these address values generally have integer values, it is common for the data to be stored to store the value of a condition corresponding to an integer magnification of a fixed unit value.

그러나 토크에 대한 데이터가 각 단위 값의 배수로 저장되어 있다고 할 경우, 실험적으로 측정된 최대 토크값이 단위 토크 값의 배수로 저장될 가능성은 거의 없다. 특히 약자속 구동 영역에서의 토크제어를 수행하는 경우, 정토크 영역에서의 최대토크 값과 약자속 구동 영역의 최대토크는 상이할 수 밖에 없다. 이러한 원인으로 인해, 최대토크 출력 데이터 구간에서 입력 파라미터에 대한 2D-보간법을 적용할 때에는 토크지령와 출력토크간에 보간오차가 발생할 수 있다.However, if the data on the torque is stored in multiples of each unit value, there is little possibility that the experimentally measured maximum torque value is stored in multiples of the unit torque value. In particular, when torque control is performed in the weak magnetic flux driving region, the maximum torque value in the constant torque region and the maximum torque of the weak magnetic flux driving region are inevitably different. Due to this cause, an interpolation error may occur between the torque command and the output torque when the 2D interpolation method is applied to the input parameter in the maximum torque output data section.

기존에는 이러한 문제를 해결하기 위해서 입력처리가 가능한 토크 지령을 토크 데이터가 정수배로 저장되어 있는 부분으로 제한하였으나 이는 전동기 출력을 감소시키는 문제점이 있다.Conventionally, in order to solve this problem, the torque command capable of input processing is limited to a portion in which torque data is stored as an integer multiple, but this has a problem of reducing the motor output.

본 발명의 적어도 하나의 실시예가 이루고자 하는 기술적 과제는 룩업 테이블 기반의 영구자석 동기 전동기 구동 시 발생하는 최종 출력 데이터의 선형 보간오차를 개선하기 위한 최대토크 제어 오차 보상 방법 및 장치를 제공하는 데 있다. 또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는 데 있다. 영구자석 동기 전동기에서 최대토크 제어 오차 보상 방법 및 장치가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.It is an object of at least one embodiment of the present invention to provide a maximum torque control error compensation method and apparatus for improving linear interpolation error of final output data generated when a permanent magnet synchronous motor based on a lookup table is driven. Further, the present invention provides a computer-readable recording medium having recorded thereon a program for executing the method on a computer. The technical problem to be achieved by the method and apparatus for compensating the maximum torque control error in the permanent magnet synchronous motor is not limited to the above technical problems, and other technical problems may exist.

일 실시예에 따르면, 영구자석 동기 전동기(Permanent Magnet Synchronous Motor: PMSM)의 제어 방법은 상기 영구자석 동기 전동기의 회전자의 속도 및 토크지령을 입력 받는 단계; 전동기 전류 값들에 관한 룩업 테이블을 이용하여 상기 회전자의 속도 및 상기 토크지령에 대응하는 dq축 전류 값들을 획득하는 단계; 속도별 최대출력 토크 테이블을 이용하여 최대출력 토크의 오차를 보상하는 단계; 및 상기 보상된 최대출력 토크를 이용하여 상기 dq축 전류 값들을 보간하는 단계를 포함한다.According to an embodiment, a control method of a permanent magnet synchronous motor (PMSM) may include receiving a speed and torque command of a rotor of the permanent magnet synchronous motor; Obtaining dq-axis current values corresponding to the speed and torque command of the rotor using a lookup table relating to motor current values; Compensating for an error of the maximum output torque by using the maximum output torque table for each speed; And interpolating the dq-axis current values using the compensated maximum output torque.

상기 dq축 전류 값들을 획득하는 단계는 상기 회전자의 속도 및 상기 토크지령 각각에 대응하는 제1 데이터와 제2 데이터를 획득하는 단계; 및 상기 전동기 전류 값들에 관한 룩업 테이블을 이용하여 상기 제1 데이터 및 상기 제2 데이터 각각에 대응하는 dq축 전류 값들을 획득하는 단계를 포함할 수 있다.Acquiring the dq-axis current values may include acquiring first data and second data corresponding to each of the rotor speed and the torque command; And acquiring dq-axis current values corresponding to each of the first data and the second data using a lookup table for the motor current values.

상기 제1 데이터는 입력 값의 올림 데이터, 상기 제2 데이터는 입력 값의 내림 데이터를 포함할 수 있다.The first data may include rounding data of an input value and the second data may include rounding data of an input value.

최대출력 토크의 오차를 보상하는 단계는 상기 회전자의 속도 및 상기 토크지령 각각에 대응하는 제1 데이터와 제2 데이터를 획득하는 단계; 상기 회전자의 속도 및 상기 토크지령에 기초하여 상기 토크지령이 최대출력 토크 오차 발생 영역에 포함되는지 판단하는 단계; 최대출력 토크 오차 발생 영역에 포함될 경우, 상기 속도별 최대출력 토크 테이블에 기초하여 상기 회전자의 속도에 대응하는 최대출력 토크를 획득하는 단계; 상기 토크지령에 대응하는 제1 데이터와 상기 최대출력 토크 사이의 오차를 산출하는 단계; 및 상기 토크지령에 대응하는 제1 데이터와 상기 최대출력 토크 사이의 오차를 보상하여 제3 데이터를 획득하는 단계를 포함할 수 있다.Compensating for the error of the maximum output torque may include obtaining first data and second data corresponding to each of the rotor speed and the torque command; Determining whether the torque command is included in the maximum output torque error generation region based on the speed of the rotor and the torque command; Obtaining a maximum output torque corresponding to the speed of the rotor based on the maximum output torque table for each speed when included in the maximum output torque error generation region; Calculating an error between the first data corresponding to the torque command and the maximum output torque; And compensating for an error between the first data corresponding to the torque command and the maximum output torque to obtain third data.

상기 토크지령이 최대출력 토크 오차 발생 영역에 포함되는지 판단하는 단계는 상기 회전자의 속도에 대응하는 제2 데이터가 미리 정해진 속도 이상인지 판단하는 단계; 및 상기 토크지령에 대응하는 제1데이터 및 상기 토크지령에 대응하는 제2데이터가 미리 정해진 범위에 포함되는지 판단하는 단계를 포함할 수 있다.Determining whether the torque command is included in the maximum output torque error generation region may include determining whether second data corresponding to the speed of the rotor is equal to or greater than a predetermined speed; And determining whether the first data corresponding to the torque command and the second data corresponding to the torque command are included in a predetermined range.

상기 미리 정해진 속도는 정격 속도를 포함할 수 있다.The predetermined speed may include a rated speed.

상기 전류 값들을 보간하는 단계는 상기 회전자의 속도에 대응하는 제2 데이터와 상기 제3 데이터에 각각에 대응하는 상기 dq축 전류 값을 일차 보간하는 단계; 및 상기 일차 보간 결과에 대하여 이차 보간하는 단계를 포함할 수 있다.The interpolating of the current values may include first interpolating the dq-axis current values corresponding to the second data corresponding to the speed of the rotor and the third data, respectively; And performing secondary interpolation on the first interpolation result.

상기 전류 값들을 보간하는 단계는 상기 토크지령에 대응하는 제1 데이터와 상기 제2 데이터에 각각에 대응하는 상기 dq축 전류 값을 일차 보간하는 단계; 및 상기 일차 보간 결과에 대하여 이차 보간하는 단계를 포함할 수 있다.The interpolating of the current values may include: first interpolating the dq-axis current values corresponding to the first data corresponding to the torque command and the second data, respectively; And performing secondary interpolation on the first interpolation result.

상기 전류 값들을 보간하는 단계는 상기 최대출력 토크 오차 발생 영역에 포함되지 않을 경우, 상기 전동기 전류 값들에 관한 룩업 테이블을 이용하여 상기 제1 데이터 및 상기 제2 데이터 각각에 대응하는 dq축 전류 값들을 획득하는 단계; 상기 회전자의 속도에 대응하는 제1 데이터와 상기 회전자의 속도에 대응하는 제2 데이터에 각각에 대응하는 상기 dq축 전류 값을 일차 보간하는 단계; 및 상기 제1 보간 결과에 대하여 이차 보간하는 단계를 포함할 수 있다.The interpolating of the current values may include dq-axis current values corresponding to each of the first data and the second data using a lookup table for the motor current values when the current value is not included in the maximum output torque error generation region. Obtaining; Firstly interpolating the dq-axis current value corresponding to each of first data corresponding to the speed of the rotor and second data corresponding to the speed of the rotor; And performing secondary interpolation on the first interpolation result.

상기 룩업 테이블은 미리 정해진 크기의 단위속도와 단위토크의 정수배에 대응하는 dq축 전류 값들을 저장하고 있고, 상기 회전자의 속도 및 상기 토크지령은 각각 상기 단위속도 및 상기 단위토크로 나눈 값으로 결정될 수 있다.The look-up table stores dq-axis current values corresponding to an integral multiple of unit speed and unit torque of a predetermined size, and the speed and torque command of the rotor are determined by dividing the unit speed and the unit torque, respectively. Can be.

상기 속도별 최대출력 토크 테이블은 상기 단위 속도의 정수배에 대응하는 최대출력 토크 값들을 저장할 수 있다.The maximum output torque table for each speed may store maximum output torque values corresponding to an integral multiple of the unit speed.

일 실시예에 따르면, 영구자석 동기 전동기 제어 장치는 단위 속도와 단위 토크의 정수배에 대응하는 dq축 전류 값들을 포함하는 룩업 테이블, 및 상기 단위 속도의 정수배에 대응하는 최대출력 토크 값들을 포함하는 최대출력 토크 테이블을 저장하는 메모리; 및 회전자의 속도 및 토크지령을 입력 받고, 상기 룩업 테이블을 이용하여 상기 회전자의 속도 및 상기 토크지령에 대응하는 dq축 전류 값들을 획득하며, 상기 최대출력 토크 테이블을 이용하여 최대출력 토크의 오차를 보상하고, 상기 보상된 최대출력 토크를 이용하여 상기 dq축 전류 값들을 보간하는 프로세서를 포함한다.According to an embodiment, the permanent magnet synchronous motor control apparatus includes a lookup table including dq-axis current values corresponding to integral multiples of unit speed and unit torque, and a maximum output torque value corresponding to integer multiples of the unit speed. A memory for storing an output torque table; And receiving the speed and torque command of the rotor, acquiring dq-axis current values corresponding to the speed and torque command of the rotor using the look-up table, and using the maximum output torque table to determine the maximum output torque. And a processor that compensates for errors and interpolates the dq-axis current values using the compensated maximum output torque.

상기 프로세서는 상기 회전자의 속도 및 상기 토크지령 각각에 대응하는 제1 데이터와 제2 데이터를 획득하고, 상기 회전자의 속도 및 상기 토크지령에 기초하여 상기 토크지령이 최대출력 토크 오차 발생 영역에 포함되는지 판단하며, 상기 최대출력 토크 오차 발생 영역에 포함될 경우, 상기 속도별 최대출력 토크 테이블에 기초하여 상기 회전자의 속도에 대응하는 최대출력 토크를 획득하고, 상기 토크지령에 대응하는 제1 데이터와 상기 최대출력 토크 사이의 오차를 산출하며, 상기 토크지령에 대응하는 제1 데이터와 상기 최대출력 토크 사이의 오차를 보상하여 제3 데이터를 획득할 수 있다.The processor acquires first data and second data corresponding to each of the speed and torque command of the rotor, and the torque command is set to a maximum output torque error generation area based on the speed and torque command of the rotor. If it is included in the maximum output torque error generation area, the maximum output torque corresponding to the speed of the rotor is obtained based on the maximum output torque table for each speed, and the first data corresponding to the torque command is determined. And an error between the maximum output torque and the third output, by compensating for an error between the first data corresponding to the torque command and the maximum output torque.

일 실시예에 따르면, 룩업 테이블 기반의 영구자석 동기 전동기 구동 시 발생하는 최종 출력 데이터의 선형 보간오차를 개선하기 위한 최대토크 제어 오차 보상 방법 및 장치를 제공할 수 있다. 구체적으로, 속도별 최대출력 토크 테이블을 이용하여 최대출력 토크의 오차를 보상할 수 있다. 이에 따라, 영구자석 동기 전동기의 토크 제어의 정밀도를 향상시킬 수 있다.According to an embodiment of the present disclosure, a method and apparatus for compensating for maximum torque control error for improving linear interpolation error of final output data generated when a permanent magnet synchronous motor based on a lookup table is driven may be provided. In detail, the error of the maximum output torque may be compensated for by using the maximum output torque table for each speed. Thereby, the precision of the torque control of a permanent magnet synchronous motor can be improved.

도 1은 일 실시예에 따른 룩업 테이블 기반의 영구자석 동기 전동기의 구동 방법을 도시한 도면.
도 2는 일 실시예에 따른 보간법을 설명하기 위해 도시한 도면.
도 3은 일 실시예에 따른 회전자의 속도와 토크에 대한 d축 전류값 및 q축 전류값을 예시한 그래프.
도 4는 일 실시예에 따른 2D-보간법을 이용하여 d축 전류값 및 q축 전류값을 획득하는 방법을 설명하기 위해 도시한 그래프.
도 5는 일 실시예에 따른 최대출력 토크의 오차 발생을 설명하기 위한 그래프.
도 6은 일 실시예에 따른 약계자 영역에서의 실제 최대출력 토크와 룩업 테이블에 저장된 최대출력 토크의 오차를 설명하는 그래프.
도 7은 일 실시예에 따른 기존의 2D-보간법을 설명하기 위한 순서도.
도 8은 일 실시예에 따른 영구자석 동기 전동기 제어 방법을 통한 2D-보간법을 이용하여 d축 전류값 및 q축 전류값을 획득하는 방법을 설명하기 위한 그래프.
도 9는 최종 출력 데이터의 토크제어 오차를 보정하기 위한 수정된 2D-보간법을 설명하기 위한 순서도.
도 10a은 약계자 구동영역인 3000rpm에서 기존의 2D-보간법을 사용하였을 때의 토크제어 오차를 도시한 그래프.
도 10b는 일 실시예에 따른 영구자석 동기 전동기 제어 방법을 통하여 토크제어를 수행한 결과를 도시한 그래프.
1 is a diagram illustrating a driving method of a permanent magnet synchronous motor based on a lookup table according to an exemplary embodiment.
2 is a diagram for explaining an interpolation method, according to an exemplary embodiment.
3 is a graph illustrating the d-axis current value and q-axis current value for the speed and torque of the rotor according to an embodiment.
4 is a graph illustrating a method of obtaining a d-axis current value and a q-axis current value using 2D-interpolation according to an embodiment.
5 is a graph illustrating an error occurrence of the maximum output torque according to an embodiment.
6 is a graph illustrating an error between an actual maximum output torque in a field weakening area and a maximum output torque stored in a lookup table, according to an exemplary embodiment.
7 is a flowchart illustrating a conventional 2D-interpolation method according to an embodiment.
8 is a graph for describing a method of obtaining a d-axis current value and a q-axis current value by using a 2D interpolation method through a permanent magnet synchronous motor control method according to an embodiment.
9 is a flowchart for explaining a modified 2D-interpolation method for correcting torque control error of final output data.
10A is a graph showing torque control error when a conventional 2D interpolation method is used in a field weakening driving area of 3000 rpm.
10B is a graph illustrating a result of performing torque control through the permanent magnet synchronous motor control method according to an exemplary embodiment.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings. However, various changes may be made to the embodiments so that the scope of the patent application is not limited or limited by these embodiments. It is to be understood that all changes, equivalents, and substitutes for the embodiments are included in the scope of rights.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of description and should not be construed as limiting. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, terms such as "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described on the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same components will be given the same reference numerals regardless of the reference numerals and duplicate description thereof will be omitted. In the following description of the embodiment, if it is determined that the detailed description of the related known technology may unnecessarily obscure the gist of the embodiment, the detailed description thereof will be omitted.

도 1은 일 실시예에 따른 룩업 테이블 기반의 영구자석 동기 전동기의 구동 방법을 도시한 도면이다.1 is a view illustrating a method of driving a lookup table-based permanent magnet synchronous motor according to an embodiment.

영구자석 동기 전동기(Permanent Magnet Synchronous Motor: PMSM)는 영구자석 동기 전동기의 회전자에 위치하는 영구자석을 이용하여 자속(magnetic flux)을 발생시키고, 발생된 자속을 이용하여 고정자에 전류를 흘림으로써 동작한다. 일 실시예에 따른 영구자석 동기 전동기는 매입형 영구자석 동기 전동기(IPMSM, Interior Permanent Magnet Synchronous Motor)가 될 수 있으나, 이에 한정하지 않는다.Permanent Magnet Synchronous Motor (PMSM) operates by generating a magnetic flux using a permanent magnet located in the rotor of a permanent magnet synchronous motor and applying current to the stator using the generated magnetic flux. do. The permanent magnet synchronous motor according to an embodiment may be an embedded permanent magnet synchronous motor (IPMSM), but is not limited thereto.

도 1을 참조하면, 영구자석 동기 전동기는 2D 룩업 테이블(110), d축 전류 제어부(115), q축 전류 제어부(120), 좌표 역변환부(125), 펄스 폭 변조부(130), 인버터(135), 동기전동기(140), 위치 센서(145), 및 좌표 변환부(150)를 포함할 수 있다. Referring to FIG. 1, the permanent magnet synchronous motor includes a 2D lookup table 110, a d-axis current controller 115, a q-axis current controller 120, a coordinate inverse converter 125, a pulse width modulator 130, and an inverter. It may include a 135, a synchronous motor 140, a position sensor 145, and a coordinate converter 150.

도 1에 도시된 영구자석 동기 전동기는 본 실시예의 특징이 흐려지는 것을 방지하기 위하여 본 실시예와 관련된 구성요소들 만이 도시되어 있다. 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.The permanent magnet synchronous motor shown in FIG. 1 shows only the components related to this embodiment in order to prevent the features of this embodiment from being blurred. Those skilled in the art can understand that other general purpose components may be further included in addition to the components shown in FIG. 1.

영구자석 동기 전동기 구동 시스템은 사용자, 혹은 환경 변화에 대한 제어 입력에 따른 적절한 데이터를 룩업 테이블(110)에 저장하여 구동 시킬 수 있다. 룩업 테이블을 이용한 전동기 제어 기법의 경우 실험적 데이터에 대한 반영이 가능하고 제어 동특성의 영향이 없어 높은 신뢰성을 갖기 때문에 차량용 전동기 제어에 일반적으로 사용된다. The permanent magnet synchronous motor driving system may store and drive appropriate data in the lookup table 110 according to a control input for a user or an environment change. The motor control technique using a lookup table is generally used for vehicle motor control because it can reflect experimental data and has high reliability because it does not affect the control dynamics.

룩업 테이블(110)은 영구자석 동기 전동기는 위치 센서(145)에서 센싱 된 데이터를 미분하여 얻은 회전자의 현재 속도(wr)와 토크지령을 입력 받을 수 있다. 토크지령은 출력 시키고자 하는 토크의 값을 의미할 수 있다.The lookup table 110 may receive the current speed w r and the torque command of the rotor obtained by differentiating data sensed by the position sensor 145. Torque command can mean the value of torque to output.

도 2는 일 실시예에 따른 보간법을 설명하기 위해 도시한 도면이다.2 is a diagram for describing an interpolation method, according to an exemplary embodiment.

일 실시예에 따른 룩업 테이블의 데이터는 특정 속도와 토크 지령에 대한 불연속적인 데이터를 가지고 있다. 모든 속도-토크 지령에 적합한 데이터를 저장하는 것은 불가능함으로, 각 속도, 토크 지령에 따라 2D-보간법을 적용할 수 있다.The data of the lookup table according to an embodiment has discontinuous data for a specific speed and torque command. Since it is impossible to store data suitable for all speed-torque commands, 2D-interpolation can be applied for each speed and torque command.

보간법(Interpolation)은 어떤 데이터에 나타나 있지 않은 부분을 그 데이터들을 이용해 추정하는 방법일 수 있다. 선형 보간법(Linear Interpolation)은 수직선 상에서 두 점 사이의 임의의 점의 함수값을 구하는 방법일 수 있다. Interpolation may be a method of estimating parts of data that are not present in the data. Linear interpolation may be a method of obtaining a function value of an arbitrary point between two points on a vertical line.

선형 보간법은 수학식 1로 표현될 수 있다.Linear interpolation can be represented by Equation 1.

Figure pat00001
Figure pat00001

여기서 f(x)는 보간된 출력이며, x2와 x1은 각각 입력 파라미터에 대한 올림, 내림 값, f(x2), f(x1)은 각각 올림, 내림 파라미터에 따른 저장된 데이터값, 그리고, x는 입력 파라미터 값이다. 변수에 대한 나눗셈 연산은 마이크로프로세서의 연산에 부담이 되므로, 이를 고정값(xunit)으로 처리하면 수학식 1은 수학식2와 같이 변형될 수 있다.Where f (x) is the interpolated output, x 2 and x 1 are rounded up and down values for the input parameters, f (x 2 ) and f (x 1 ) are rounded up and stored data values according to the rounded down parameters, And x is an input parameter value. Since the division operation on the variable is a burden on the operation of the microprocessor, when it is treated as a fixed value (x unit ), Equation 1 may be modified as in Equation 2.

Figure pat00002
Figure pat00002

2D-보간법은 1차원에서의 선형 보간법을 2차원으로 확장한 보간법일 수 있다. 2D-보간법에 대한 자세한 내용은 도 2 내지 도 4를 참조한다.The 2D interpolation method may be an interpolation method in which linear interpolation in one dimension is extended to two dimensions. See FIGS. 2 through 4 for details of the 2D-interpolation method.

도 2를 참조하면, 룩업 테이블(210)에 토크지령(

Figure pat00003
)과 회전자의 현재 속도(wr)가 입력될 수 있다. 회전자의 현재 속도와 토크지령이 입력되면, 룩업 테이블에 단위토크, 단위속도에 따라 저장되어 있는 값들 중에 입력된 파라미터에 대한 제1 데이터와 제2 데이터에 대응하는 dq축 전류 값들을 획득할 수 있다. Referring to FIG. 2, the torque command (see the lookup table 210)
Figure pat00003
) And the current speed w r of the rotor can be entered. When the current speed and torque command of the rotor are input, the dq-axis current values corresponding to the first data and the second data of the input parameters among the values stored according to the unit torque and the unit speed in the lookup table can be obtained. have.

일 실시예에 따른 제1 데이터는 입력 값의 올림 데이터, 상기 제2 데이터는 입력 값의 내림 데이터일 수 있다. 예를 들어, 전자의 현재 속도와 토크지령이 입력되면, 룩업 테이블에 단위속도에 따라 저장되어 있는 값들 중에 입력된 파라미터에 대한 올림 데이터와 내림 데이터에 대응하는 dq축 전류 값들(

Figure pat00004
,
Figure pat00005
,
Figure pat00006
,
Figure pat00007
)을 획득할 수 있다.According to an embodiment, the first data may be rounding data of an input value and the second data may be rounding data of an input value. For example, when the current speed and torque command of the former are inputted, dq-axis current values corresponding to the raised data and the lowered data of the input parameter among the values stored according to the unit speed in the lookup table (
Figure pat00004
,
Figure pat00005
,
Figure pat00006
,
Figure pat00007
) Can be obtained.

보간부(220)에서, 룩업 테이블(210)을 이용하여 획득한 dq축 전류 값들에 2D-보간법을 적용할 수 있다. 회전자의 속도에 대한 선형 보간을 수행한 후 얻은 두 개의 결과값을 토크에 대해 선형 보간하게 되면 최종보간 된 dq축 전류지령(

Figure pat00008
,
Figure pat00009
)을 얻을 수 있다. 반대로, 토크에 대한 선형 보간을 수행한 후 얻은 두 개의 결과값을 회전자의 속도에 대해 선형 보간하여도 동일하게 최종보간 된 dq축 전류지령(
Figure pat00010
,
Figure pat00011
)을 얻을 수 있다.In the interpolator 220, 2D-interpolation may be applied to dq-axis current values obtained by using the lookup table 210. If linear interpolation is performed on the two results obtained after performing linear interpolation on the rotor speed, the final interpolated dq-axis current command (
Figure pat00008
,
Figure pat00009
) Can be obtained. On the contrary, even if the two result values obtained after performing linear interpolation for torque are linearly interpolated with respect to the rotor speed, the final interpolated dq-axis current command (
Figure pat00010
,
Figure pat00011
) Can be obtained.

도 3은 일 실시예에 따른 회전자의 속도와 토크에 대한 d축 전류값 및 q축 전류값을 예시한 그래프이다.3 is a graph illustrating a d-axis current value and a q-axis current value for the speed and torque of the rotor according to an embodiment.

도 3을 참조하면, 회전자의 속도 w1, w2과 토크지령 T1, T2, T3의 조합에 따른 6개의 검정색 점에 해당하는 경우에만 룩업 테이블에 d축 전류값 및 q축 전류값이 저장될 수 있다. Referring to FIG. 3, the d-axis current value and the q-axis current in the look-up table are only applicable to six black points according to the combination of the rotor speeds w 1 , w 2 and torque commands T 1 , T 2 , and T 3 . The value can be stored.

만일 수신한 속도의 값이 w1, w2 와 같은 룩업 테이블 상의 리스트에 존재하지 않는 값인 경우와, 토크지령이 T1, T2, T3과 같은 룩업 테이블 상의 리스트에 존재하지 않는 값인 경우에는 보간법을 사용하여 d축 전류값 및 q축 전류값을 얻을 수 있다.If the value of the received speed is a value that does not exist in the list on the lookup table such as w 1 , w 2, and the torque command is a value that does not exist in the list on the lookup table such as T 1 , T 2 , T 3 By using the interpolation method, the d-axis current value and the q-axis current value can be obtained.

도 4는 일 실시예에 따른 2D-보간법을 이용하여 d축 전류값 및 q축 전류값을 획득하는 방법을 설명하기 위해 도시한 그래프이다.4 is a graph illustrating a method of obtaining a d-axis current value and a q-axis current value using 2D-interpolation according to an embodiment.

도 4를 참조하면, 토크지령(

Figure pat00012
)과 회전자의 현재 속도(wr)가 입력되면, 룩업 테이블에 단위토크, 단위속도에 따라 저장되어 있는 값들 중에 입력된 파라미터에 대한 올림 데이터와 내림 데이터를 출력할 수 있다. 올림 데이터는 아랫 첨자기호 max로, 내림 데이터는 아랫 첨자기호 min으로 구분할 수 있다. 예를 들어, 회전자의 현재 속도(wr)의 내림 데이터는 wmin, 회전자의 현재 속도(wr)의 올림 데이터는 wmax일 수 있다. 마찬가지로 토크지령(
Figure pat00013
)의 내림 데이터는 Tmin, 토크지령(
Figure pat00014
)의 올림 데이터는 Tmax일 수 있다.Referring to Figure 4, torque command (
Figure pat00012
) And the current speed (w r ) of the rotor are input, the rounding data and the rounding data for the input parameter among the values stored according to the unit torque and the unit speed in the lookup table can be output. Rounding data can be classified by the subscript max, and rounding data by the subscript min. For example, raising the data of down data, w min, the current speed (w r) of the rotor of the current speed (w r) of the rotor may be a w max. Similarly, torque command (
Figure pat00013
), The down data is T min , torque command (
Figure pat00014
The rounding data of) may be T max .

속도, 토크 두 개의 파라미터 입력이므로 각각의 올림, 내림데이터를 출력하게 되면 4개의 데이터를 얻을 수 있으며, 이는 도 4의 검은색 점(410, 420, 430, 440)으로 표현할 수 있다. Since two inputs of speed and torque are outputted up and down data, four data can be obtained, which can be represented by the black dots 410, 420, 430, and 440 of FIG. 4.

회전자의 속도에 대한 선형 보간을 수행한 후 얻은 두 개의 결과값(450, 460)을 토크에 대해 선형 보간하게 되면 최종보간 된 dq축 전류지령(

Figure pat00015
)을 얻을 수 있다. 반대로, 토크에 대한 선형 보간을 수행한 후 얻은 두 개의 결과값을 회전자의 속도에 대해 선형 보간하여도 동일하게 최종보간 된 dq축 전류지령(
Figure pat00016
)을 얻을 수 있다.When linear interpolation is performed on two torques (450, 460) obtained after performing linear interpolation on the speed of the rotor, the final interpolated dq-axis current command (
Figure pat00015
) Can be obtained. On the contrary, even if the two result values obtained after performing linear interpolation for torque are linearly interpolated with respect to the rotor speed, the final interpolated dq-axis current command (
Figure pat00016
) Can be obtained.

최종보간 된 dq축 전류지령(

Figure pat00017
)은 수학식 3과 같이 표현할 수 있다.Last interpolated dq axis current command
Figure pat00017
) Can be expressed as in Equation 3.

Figure pat00018
Figure pat00018

수학식 3을 살펴보면 룩업 테이블에 저장되어 있는 전류데이터는 토크지령의 배수에 따라 적용되어야만 한다. 토크지령에 따른 최대토크 출력을 얻기 위해서는 수학식 3의 단위토크는 수학식 4와 같이 설정되어야 한다. Looking at Equation 3, the current data stored in the lookup table should be applied according to the multiple of the torque command. In order to obtain the maximum torque output according to the torque command, the unit torque of Equation 3 should be set as in Equation 4.

Figure pat00019
Figure pat00019

Figure pat00020
는 최대토크 출력, kmax는 토크축 최대 허용 메모리 수를 나타낼 수 있다.
Figure pat00020
Is the maximum torque output and k max may represent the maximum allowable number of memories in the torque axis.

기존에 이러한 불연속적인 데이터에 대한 보상방법으로 dq축 전류지령을 발생시킬 때 룩업 테이블의 입력조건에 대한 선형보간 기법을 사용하여 이에 대한 전류 출력을 보상하였지만, 2D-룩업 테이블의 경우 단위토크 단위로 데이터가 저장되기 때문에 특정 영역에서는 각 속도별로 가변되는 최대출력 토크 데이터를 반영시키기 어려울 수 있다. 이와 관련하여 자세한 내용은 도 5를 참조한다.Conventionally, when generating dq-axis current command as a compensation method for such discontinuous data, current output is compensated by using linear interpolation technique for input condition of lookup table, but in case of 2D-lookup table, unit torque Since the data is stored, it may be difficult to reflect the maximum output torque data that varies with each speed in a specific area. In this regard, see FIG. 5 for details.

도 5는 일 실시예에 따른 최대출력 토크의 오차 발생을 설명하기 위한 그래프이다.5 is a graph illustrating an error occurrence of a maximum output torque according to an exemplary embodiment.

영구자석 동기 전동기의 회전시 발생하는 유도기전력은 회전자의 회전을 방해하는 방향으로 생기며, 이를 역기전력이라한다. 역기전력은 회전자의 회전 시간 변화량에 비례하기 때문에 영구자석 동기 전동기가 저속으로 회전하는 경우에는 그 발생량이 적어서 모터제어에 큰 영향을 미치지 않지만, 모터가 고속으로 회전하는 경우에는 발생하는 역기전력도 모터의 속도에 비례하여 커진다. 이렇게 크게 발생한 역기전력은 입력전압/전류로부터 원하는 모터 출력 속도 또는 출력을 얻을 수 없게 될 수 있다. 모터의 정격 속도를 능가하게 되면 출력 전압이 한계치에 도달하여 더 이상 증가하지 않게 되고, 일정한 토크를 보장하지 못하는 약계자 영역에 도달할 수 있다. 속도별 최대출력 토크는 영구자석 동기 전동기의 특성에 따라 미리 결정될 수 있다. 약계자 영역에서는 최대출력 토크는 회전자의 속도에 반비례할 수 있다. 약계자 영역이 아닌 영역을 정토크 영역이라 할 수 있다.The induced electromotive force generated during the rotation of the permanent magnet synchronous motor is generated in a direction that hinders the rotation of the rotor, which is called counter electromotive force. The counter electromotive force is proportional to the rotation time change of the rotor. Therefore, when the permanent magnet synchronous motor rotates at a low speed, it is less generated and does not have a great influence on the motor control. It increases in proportion to the speed. This large generated back EMF may not be able to obtain the desired motor output speed or output from the input voltage / current. When the motor's rated speed is exceeded, the output voltage reaches its limit and no longer increases, and it can reach the field weakening area that does not guarantee constant torque. The maximum output torque for each speed may be predetermined according to the characteristics of the permanent magnet synchronous motor. In the field weakening area, the maximum output torque can be inversely proportional to the speed of the rotor. An area other than the field weakening area may be referred to as a static torque area.

도 5를 참조하면, 정토크 영역에서의 최대출력 토크는 회전자의 속도에 따라 변하지 않지만, 약계자 영역에서는 회전자의 속도가 증가함에 따라 최대출력 토크가 감소할 수 있다. Referring to FIG. 5, the maximum output torque in the constant torque region does not change according to the speed of the rotor, but in the weak field region, the maximum output torque may decrease as the speed of the rotor increases.

정토크 영역에서의 최대출력 토크는 토크지령과 일치하는 값을 얻을 수 있지만, 약계자 영역에서 회전자의 속도가 증가함에 따라 최대출력 토크가 감소하기 때문에 약계자 영역에서의 최대출력 토크는 단위토크의 정수배와 일치하지 않을 수 있다.The maximum output torque in the constant torque range can be obtained to match the torque command, but since the maximum output torque decreases as the rotor speed increases in the field weakening area, the maximum output torque in the field weakening area is the unit torque. May not match the integer multiple of.

표 1은 단위토크 7.948[Nm], 단위속도 500[rpm]에 따른 d축 전류값을 저장한 룩업 테이블일 수 있다.Table 1 may be a lookup table that stores the d-axis current value according to unit torque 7.948 [Nm] and unit speed 500 [rpm].

  00 500500 10001000 15001500 20002000 25002500 30003000 35003500 40004000 0.000.00 0.000.00 0.000.00 0.000.00 0.000.00 0.000.00 0.000.00 0.000.00 0.000.00 0.000.00 7.957.95 -8.24-8.24 -8.24-8.24 -8.24-8.24 -8.24-8.24 -8.24-8.24 -8.24-8.24 -8.24-8.24 -8.24-8.24 -8.24-8.24 15.9015.90 -21.31-21.31 -21.31-21.31 -21.31-21.31 -21.31-21.31 -21.31-21.31 -21.31-21.31 -21.31-21.31 -21.31-21.31 -21.31-21.31 23.8423.84 -33.54-33.54 -33.54-33.54 -33.54-33.54 -33.54-33.54 -33.54-33.54 -33.54-33.54 -33.54-33.54 -33.54-33.54 -39.17-39.17 31.7931.79 -44.60-44.60 -44.60-44.60 -44.60-44.60 -44.60-44.60 -44.60-44.60 -44.60-44.60 -44.60-44.60 -49.12-49.12 -65.55-65.55 39.7439.74 -54.69-54.69 -54.69-54.69 -54.69-54.69 -54.69-54.69 -54.69-54.69 -54.69-54.69 -54.69-54.69 -73.24-73.24 -91.93-91.93 47.6947.69 -64.00-64.00 -64.00-64.00 -64.00-64.00 -64.00-64.00 -64.00-64.00 -64.00-64.00 -74.82-74.82 -97.47-97.47 -119.31-119.31 55.6355.63 -72.68-72.68 -72.68-72.68 -72.68-72.68 -72.68-72.68 -72.68-72.68 -72.68-72.68 -96.40-96.40 -122.48-122.48 -144.66-144.66 63.5863.58 -80.83-80.83 -80.83-80.83 -80.83-80.83 -80.83-80.83 -80.83-80.83 -87.99-87.99 -118.40-118.40 -139.66-139.66 -144.66-144.66 71.5371.53 -88.53-88.53 -88.53-88.53 -88.53-88.53 -88.53-88.53 -88.53-88.53 -106.67-106.67 -131.62-131.62 -139.66-139.66 -144.66-144.66 79.4879.48 -95.86-95.86 -95.86-95.86 -95.86-95.86 -95.86-95.86 -95.86-95.86 -117.26-117.26 -131.62-131.62 -139.66-139.66 -144.66-144.66

룩업 테이블에 저장된 토크와 회전자의 속도는 입력 받은 토크지령과 회전자의 현재 속도의 올림 데이터, 내림 데이터일 수 있다.표 1을 참조하면, 회전자의 속도가 2000rpm 까지는 최대출력 토크가 79.48Nm로 동일함을 알 수 있다. 이 영역에서의 최대출력 토크는 룩업 테이블의 최대출력 토크와 일치하는 값(79.48Nm)을 얻을 수 있다.The torque stored in the lookup table and the speed of the rotor may be the input torque command, the raising data and the lowering data of the current speed of the rotor. Referring to Table 1, the maximum output torque is 79.48 Nm until the rotor speed is 2000 rpm. It can be seen that the same. The maximum output torque in this area can obtain a value (79.48 Nm) corresponding to the maximum output torque of the lookup table.

회전자의 속도가 2500rpm이후에는 회전자의 속도가 증가함에 따라 최대출력 토크가 감소하기 때문에 이 영역이 약계자 영역임을 알 수 있다. 입력 받은 회전자의 현재 속도를 보고 약계자 영역임을 판단할 수 있다.After the rotor speed is 2500rpm, the maximum output torque decreases as the rotor speed increases, indicating that this area is the field weakening area. It is possible to determine the weak field by looking at the current speed of the input rotor.

일 실시예에 따르면, 입력 받은 회전자의 현재 속도의 내림 데이터가 미리 정해진 속도 이상인 경우에는 약계자 영역으로 판단할 수 있다. 예를 들어, 입력 받은 회전자의 현재 속도가 2750rpm인 경우, 내림 데이터는 2500rpm일 수 있다. 회전자의 속도가 2500rpm이후인 영역을 약계자 영역으로 판단할 수 있기 때문에, 이 경우에는 약계자 영역으로 판단할 수 있다.According to an embodiment, when the falling data of the current speed of the input rotor is greater than or equal to the predetermined speed, the weak field may be determined. For example, when the current speed of the input rotor is 2750 rpm, the down data may be 2500 rpm. Since the region where the speed of the rotor is 2500 rpm or later can be determined as the field weakening area, it can be determined as the field weakening area in this case.

최대출력 토크 이상의 토크지령이 입력되더라도, 최대출력 토크가 출력됨을 알 수 있다. 최대출력 토크 이상의 토크지령은 무의미 할 수 있다.It can be seen that the maximum output torque is output even when a torque command of more than the maximum output torque is input. Torque commands above the maximum output torque may be meaningless.

약계자 영역에서 회전자의 속도가 증가함에 따라 최대출력 토크가 감소하기 때문에 약계자 영역에서의 최대출력 토크는 단위토크의 정수배와 일치하지 않을 수 있다. 예를 들어, 회전자의 속도가 3000rpm인 경우, 최대출력 토크는 정확히 71.53Nm가 아닌, 63.58Nm와 71.53Nm 사이의 어느 값일 수 있다. 룩업 테이블에는 단위토크의 정수배에 관한 정보만 포함하고 있기 때문에, 약계자 영역에서의 최대출력 토크에 대한 정확한 정보를 알 수 없다.Since the maximum output torque decreases as the rotor speed increases in the field weakening area, the maximum output torque in the field weakening area may not coincide with the integral multiple of the unit torque. For example, if the speed of the rotor is 3000 rpm, the maximum output torque may be any value between 63.58 Nm and 71.53 Nm, not exactly 71.53 Nm. Since the lookup table contains only the information about the integral multiple of the unit torque, accurate information about the maximum output torque in the field weakening area cannot be known.

룩업 테이블에는 약계자 영역에서의 최대출력 토크에 관한 정확한 정보를 포함하지 않기 때문에, 룩업 테이블에 저장된 토크 값을 이용하여 보간하는 경우에는 오차가 발생할 수 있다. 구체적으로, 최대출력 토크 이상의 토크지령은 무의미하기 때문에, 약계자 영역 중, 토크지령의 올림 데이터가 최대출력 토크 초과, 토크지령의 내림 데이터가 최대출력 토크 이하일 경우에 오차가 발생할 수 있다. 이러한 오차가 발생하는 영역을 최대출력 토크 오차 발생 영역이라 할 수 있다. 토크지령의 올림 데이터와 실제 최대출력 토크의 차이만큼의 오차가 발생할 수 있다. Since the lookup table does not include accurate information about the maximum output torque in the field weakening area, an error may occur when interpolation using the torque value stored in the lookup table. Specifically, since a torque command of more than the maximum output torque is meaningless, an error may occur when the raised data of the torque command exceeds the maximum output torque and the lowered data of the torque command is less than or equal to the maximum output torque in the field weakening area. The area where such an error occurs may be referred to as a maximum output torque error generating area. An error may occur as much as the difference between the raised data of the torque command and the actual maximum output torque.

예를 들어, 현재 회전자의 속도가 3000rpm인 경우, 최대출력 토크는 68.34Nm일 수 있다. 68.34Nm는 단위토크의 정수배가 아니기 때문에 룩업 테이블에 저장되어 있지 않을 수 있다. 이 경우 68.34Nm 대신 71.53Nm를 기준으로 보간할 수 있다. 실제 정확한 값이 아닌 단위토크의 정수배에 해당하는 값 중 가장 근접한 값을 이용하여 보간하기 때문에 오차가 발생할 수 있다. 도 6에서는 이러한 오차를 좀 더 상세히 나타내고 있다. For example, when the speed of the current rotor is 3000rpm, the maximum output torque may be 68.34Nm. Since 68.34 Nm is not an integer multiple of unit torque, it may not be stored in the lookup table. In this case, the interpolation may be performed based on 71.53Nm instead of 68.34Nm. An error may occur because the interpolation is performed using the nearest value among the integer multiples of the unit torque rather than the actual value. 6 shows this error in more detail.

도 6은 일 실시예에 따른 최대출력 토크 오차 발생 영역에서의 실제 최대출력 토크와 룩업 테이블에 저장된 최대출력 토크의 오차를 설명하는 그래프이다.6 is a graph illustrating an error between the actual maximum output torque and the maximum output torque stored in the lookup table in the maximum output torque error generation area, according to an exemplary embodiment.

도 6을 참조하면, 최대출력 토크 오차 발생 영역에서는 실제 최대출력 토크와 룩업 테이블에 저장된 최대출력 토크의 오차가 발생할 수 있다. 입력 토크지령은 단위토크에 대한 정수배인

Figure pat00021
이지만, 실제 출력은 약계자 영역에서의 특정 속도의 최대출력 토크를 출력하기 때문에, 출력토크는 입력 토크지령 대비
Figure pat00022
의 토크제어오차가 나타날 수 있다. 표 1의 값을 예를 들면, 현재 회전자의 속도가 3000rpm, 입력 토크지령은 단위토크에 대한 정수배인 9*7.948Nm(71.53Nm)이지만, 실제 출력은 68.34Nm 로, 출력토크는 입력 토크지령 대비 9*7.948Nm - 68.34Nm인 3.19Nm일 수 있다.Referring to FIG. 6, an error between the actual maximum output torque and the maximum output torque stored in the lookup table may occur in the maximum output torque error generation region. The input torque command is an integer multiple of the unit torque
Figure pat00021
However, since the actual output outputs the maximum output torque of a certain speed in the field weakening area, the output torque is compared with the input torque command.
Figure pat00022
Torque control error may appear. Taking the value of Table 1 as an example, the current rotor speed is 3000rpm and the input torque command is 9 * 7.948Nm (71.53Nm), which is an integral multiple of the unit torque, but the actual output is 68.34Nm and the output torque is the input torque command. It can be 3.19Nm, which is 9 * 7.948Nm-68.34Nm in contrast.

도 7은 일 실시예에 따른 기존의 2D-보간법을 설명하기 위한 순서도이다.7 is a flowchart illustrating a conventional 2D-interpolation method according to an embodiment.

도 7을 참조하면, 기존의 2D-보간법은 토크지령과 회전자의 현재 속도를 입력 받는 단계(710, 715), 입력 받은 데이터를 단위 값으로 변환하는 단계(720, 725), 단위 값으로 변환한 데이터의 소수점 올림, 내림하는 단계(730, 735, 740, 745), 소수점 올림, 내림 데이터를 이용하여 전류맵 데이터를 추출하는 단계(750), 내림속도 데이터에 대해 단위토크 보간법 수식을 적용하는 단계(755) , 올림속도 데이터에 대해 단위토크 보간법 수식을 적용하는 단계(760), 단위 속도에 대한 보간법 수식을 적용하는 단계(765), 및 dq축 전류지령을 획득하는 단계(770. 775)를 포함할 수 있다. 속도에 대한 보간법 적용과 토크에 대한 보간법 적용은 바꾸어 적용하여도 일치된 데이터를 얻을 수 있다. Referring to FIG. 7, in the conventional 2D interpolation method, steps of receiving a torque command and a current speed of a rotor (710 and 715), converting input data into unit values (720 and 725), and converting into unit values Step (730, 735, 740, 745) of decimal point rounding of one data, extracting the current map data using the decimal point rounding, rounding data (750), applying a unit torque interpolation formula to the descending speed data Step 755, applying the unit torque interpolation formula to the rounding speed data (760), applying the interpolation formula for the unit speed (765), and obtaining the dq-axis current command (770.775) It may include. The application of the interpolation method for the speed and the interpolation method for the torque can be applied interchangeably to obtain consistent data.

기존의 2D-보간법은 정토크 영역에서는 오차가 존재하지 않을 수 있지만, 최대출력 토크 오차 발생 영역이 존재할 수 있다. 위 오차를 보상해주기 위하여, 일 실시예에 따른 최대출력 토크맵을 사용할 수 있다.In the conventional 2D interpolation method, an error may not exist in the constant torque region, but a maximum output torque error generation region may exist. In order to compensate for the above error, a maximum output torque map according to an embodiment may be used.

일 실시예에 따른 영구자석 동기 전동기의 제어 방법은 영구자석 동기 전동기의 회전자의 속도 및 토크지령을 입력 받는 단계, 전동기 전류 값들에 관한 룩업 테이블을 이용하여 상기 회전자의 속도 및 토크지령에 대응하는 dq축 전류 값들을 획득하는 단계를 포함한다. 룩업 테이블을 이용하여 회전자의 속도 및 토크지령 각각에 대응하는 제1 데이터와 제2 데이터를 획득하고, 전동기 전류 값들에 관한 룩업 테이블을 이용하여 제1 데이터 및 제2 데이터 각각에 대응하는 dq축 전류 값들을 획득할 수 있다.A control method of a permanent magnet synchronous motor according to an embodiment includes receiving a speed and torque command of a rotor of a permanent magnet synchronous motor, and responding to the speed and torque command of the rotor using a look-up table for motor current values. Obtaining dq-axis current values. Acquire the first data and the second data corresponding to each of the speed and torque commands of the rotor using the lookup table, and the dq axis corresponding to each of the first and second data using the lookup table related to the motor current values. Current values can be obtained.

제1 데이터는 입력 값의 올림 데이터, 제2 데이터는 입력 값의 내림 데이터를 포함할 수 있다.The first data may include rounding data of the input value and the second data may include rounding data of the input value.

영구자석 동기 전동기의 제어 방법은 속도별 최대출력 토크 테이블을 이용하여 최대출력 토크의 오차를 보상하는 단계를 포함한다. 최대출력 토크 테이블은 회전자의 속도별 최대출력 토크 데이터를 미리 저장한 테이블일 수 있다. 예를 들어, 최대출력 토크 테이블은 회전자의 속도 3000rpm에 대응하는 최대출력 토크 68.34Nm를 저장할 수 있다. The control method of the permanent magnet synchronous motor includes compensating for an error of the maximum output torque by using the maximum output torque table for each speed. The maximum output torque table may be a table in which the maximum output torque data for each speed of the rotor is stored in advance. For example, the maximum output torque table may store a maximum output torque 68.34 Nm corresponding to the speed 3000 rpm of the rotor.

최대출력 토크의 오차를 보상하는 단계는 회전자의 속도 및 토크지령에 기초하여 토크지령이 최대출력 토크 오차 발생 영역에 포함되는지 판단하는 단계를 포함할 수 있다. 최대출력 토크 오차 발생 영역이 아닌 경우에는 오차가 발생하지 않을 수 있다. Compensating the error of the maximum output torque may include determining whether the torque command is included in the maximum output torque error generation region based on the speed and torque command of the rotor. The error may not occur when the maximum output torque error is not generated.

최대출력 토크 오차 발생 영역에 포함된다는 판단의 경우, 속도별 최대출력 토크 테이블에 기초하여 회전자의 속도에 대응하는 최대출력 토크를 획득할 수 있다. 회전자의 속도에 대응하는 실제 최대출력 토크를 획득하면, 토크지령에 대응하는 제1 데이터와 최대출력 토크의 오차를 산출할 수 있다. 위 오차를 보상하여 제3 데이터를 획득할 수 있다.In the case of determining that it is included in the maximum output torque error generation region, the maximum output torque corresponding to the speed of the rotor may be obtained based on the maximum output torque table for each speed. When the actual maximum output torque corresponding to the speed of the rotor is obtained, an error between the first data corresponding to the torque command and the maximum output torque can be calculated. The third data may be obtained by compensating for the above error.

토크지령이 최대출력 토크 오차 발생 영역에 포함되는지 판단하는 단계는 회전자의 속도에 대응하는 제2 데이터가 미리 정해진 속도 이상인지 판단하는 단계, 및 토크지령에 대응하는 제1데이터 및 제2데이터가 미리 정해진 범위에 포함되는지 판단하는 단계를 포함할 수 있다. 예를 들어, 최대출력 토크 오차 발생 영역은 약계자 영역 중, 토크지령의 올림 데이터가 최대출력 토크 초과, 토크지령의 내림 데이터가 최대출력 토크 이하인 영역일 수 있다. 입력 받은 회전자의 현재 속도의 내림 데이터가 미리 정해진 속도 이상인 경우에는 약계자 영역으로 판단할 수 있다. Determining whether the torque command is included in the maximum output torque error generation region includes determining whether the second data corresponding to the speed of the rotor is equal to or greater than a predetermined speed, and the first data and the second data corresponding to the torque command The method may include determining whether it is included in a predetermined range. For example, the maximum output torque error generation region may be a region in which the up data of the torque command exceeds the maximum output torque and the down data of the torque command is less than or equal to the maximum output torque in the field weakening area. If the falling data of the current speed of the input rotor is greater than or equal to the predetermined speed, it may be determined as the field weakening area.

일 실시예에 따르면, 위 단계에 의해 구해진 최대출력 토크 오차 발생 영역을 메모리 주소값에 미리 저장할 수 있다. 데이터를 입력 받으면, 미리 저장해둔 메모리 주소값 정보를 통해, 최대출력 토크 오차 발생 영역에 포함되는지 알 수 있다.According to an embodiment, the maximum output torque error generation region obtained by the above step may be stored in advance in the memory address value. When the data is input, the memory address value information stored in advance may determine whether the data is included in the maximum output torque error generation region.

보상된 최대출력 토크를 이용하여 상기 dq축 전류 값들을 보간할 수 있다. 최대출력 토크 테이블을 이용하여 토크지령에 대응하는 제1 데이터와 최대출력 토크의 오차를 보상하였기 때문에 보다 정밀한 보간이 가능할 수 있다.The dq-axis current values may be interpolated using the compensated maximum output torque. Since the error between the first data corresponding to the torque command and the maximum output torque is compensated for using the maximum output torque table, more accurate interpolation may be possible.

먼저 회전자의 속도에 대응하는 제2 데이터와 토크지령에 대응하는 제1 데이터와 최대출력 토크의 오차를 보상한 제3 데이터에 각각에 대응하는 dq축 전류 값을 보간 할 수 있다. 제1 보간 결과에 대하여 제2 보간을 통해 보다 정밀한 dq축 전류지령을 획득할 수 있다. 반대로, 토크에 대한 선형 보간을 수행한 후 얻은 두 개의 결과값을 회전자의 속도에 대해 선형 보간하여도 동일하게 최종보간 된 dq축 전류지령을 얻을 수 있다.First, the dq-axis current value corresponding to each of the second data corresponding to the speed of the rotor, the first data corresponding to the torque command and the third data compensated for the error of the maximum output torque may be interpolated. More accurate dq-axis current command can be obtained through the second interpolation with respect to the first interpolation result. On the contrary, even if the linear interpolation of two results obtained after performing linear interpolation for torque is performed on the speed of the rotor, the same final interpolated dq-axis current command can be obtained.

최대출력 토크 오차 발생 영역에 포함되지 않을 경우에는 도 7과 같이 기존의 2D-보간법에 따라 dq축 전류지령을 얻을 수 있다. 전동기 전류 값들에 관한 룩업 테이블을 이용하여 제1 데이터 및 제2 데이터 각각에 대응하는 dq축 전류 값들을 획득하고, 회전자의 속도에 대응하는 제1 데이터와 제2 데이터에 각각에 대응하는 dq축 전류 값을 제1 보간하고, 제1 보간 결과에 대하여 제2 보간하여 dq축 전류지령을 획득할 수 있다.When not included in the maximum output torque error generation region, the dq-axis current command can be obtained according to the existing 2D interpolation method as shown in FIG. 7. Dq-axis current values corresponding to each of the first and second data are obtained using a look-up table relating to the motor current values, and dq-axis corresponding to the first and second data corresponding to the speed of the rotor, respectively. The dq-axis current command may be obtained by first interpolating the current value and performing second interpolation on the first interpolation result.

도 8은 일 실시예에 따른 영구자석 동기 전동기 제어 방법을 통한 2D-보간법을 이용하여 d축 전류값 및 q축 전류값을 획득하는 방법을 설명하기 위한 그래프이다.FIG. 8 is a graph illustrating a method of obtaining a d-axis current value and a q-axis current value by using a 2D interpolation method through a permanent magnet synchronous motor control method according to an exemplary embodiment.

도 8을 참조하면, 도 8은 최대출력 토크 오차 발생 영역을 도시한 것으로, 도 4와 달리 토크지령의 올림 데이터가 속도에 따라 변함을 알 수 있다. Referring to FIG. 8, FIG. 8 illustrates a maximum output torque error generation region. Unlike FIG. 4, it can be seen that the raising data of the torque command changes with speed.

표1을 예로 들면, 입력 데이터가 2750rpm, 67.558Nm라 할 수 있다. 입력 받은 회전자의 현재 속도의 제1 데이터 및 제2 데이터는 각각 3000rpm, 2500rpm일 수 있고, 입력 받은 토크지령의 제1 데이터 및 제2 데이터는 각각 71.53 Nm, 63.58Nm일 수 있다. Taking Table 1 as an example, the input data may be 2750 rpm and 67.558 Nm. The first data and the second data of the current speed of the input rotor may be 3000 rpm and 2500 rpm, respectively, and the first data and the second data of the torque command may be 71.53 Nm and 63.58 Nm, respectively.

입력 데이터의 제1 데이터 및 제2 데이터를 이용하여 최대출력 토크 오차 발생 영역인지 판단할 수 있다. 입력 받은 회전자의 현재 속도의 제2 데이터가 2500rpm으로 미리 정해진 속도(정격 속도) 이상이기 때문에, 약계자 영역에 해당한다고 판단할 수 있다. 회전자의 현재 속도의 제1 데이터(3000rpm)의 경우, 토크지령의 올림 데이터 71.53 Nm가 최대출력 토크 68.34Nm 초과, 토크지령의 내림 데이터 63.58Nm가 최대출력 토크 68.34Nm 이하이기 때문에, 최대출력 토크 오차 발생 영역으로 판단할 수 있다. 회전자의 현재 속도의 제2 데이터(2500rpm)의 경우, 토크지령의 올림 데이터 71.53 Nm가 최대출력 토크보다 작기 때문에 최대출력 토크 오차 발생 영역이 아님을 판단할 수 있다.The first data and the second data of the input data may be used to determine whether the maximum output torque error occurs. Since the second data of the current speed of the input rotor is more than a predetermined speed (rated speed) at 2500 rpm, it can be determined that it corresponds to the field weakening area. In the case of the first data (3000 rpm) of the current speed of the rotor, the maximum output torque is increased because 71.53 Nm of the torque command is greater than the maximum output torque of 68.34 Nm and 63.58 Nm of the torque command is less than or equal to the maximum output torque of 68.34 Nm. It can be determined as an error occurrence area. In the case of the second data (2500 rpm) of the current speed of the rotor, it can be determined that the raised data 71.53 Nm of the torque command is not the maximum output torque error generation region because it is smaller than the maximum output torque.

최대출력 토크 오차 발생 영역이기 때문에, 토크지령에 대응하는 제1 데이터와 최대출력 토크의 오차를 산출할 수 있다. 이 경우 오차는 71.53 Nm - 68.34Nm인 3.19Nm일 수 있다. 위 오차를 보상하여 68.34Nm을 제3 데이터로 결정할 수 있다.Since the maximum output torque error is generated, the error between the first data and the maximum output torque corresponding to the torque command can be calculated. In this case, the error may be 3.19 Nm, which is 71.53 Nm-68.34 Nm. By compensating for the above error, 68.34 Nm may be determined as the third data.

최종적으로, 4개의 데이터를 얻을 수 있으며 이는 점 810(2500rpm, 63.58Nm), 820(3000rpm, 63.58Nm), 830(2500rpm, 71.53Nm), 및 840(3000rpm, 68.34Nm)일 수 있다. 도 4와 비교하면, 도 4의 경우 점 430과 점 440의 토크 값이 동일하나, 도 8의 경우, 점 830과 점840의 토크 값이 상이함을 알 수 있다. 약계자 영역에서 속도에 따라 토크 값의 변동을 반영하여 오차를 보상해 줌을 알 수 있다.Finally, four data can be obtained, which can be points 810 (2500 rpm, 63.58 Nm), 820 (3000 rpm, 63.58 Nm), 830 (2500 rpm, 71.53 Nm), and 840 (3000 rpm, 68.34 Nm). 4, the torque values of points 430 and 440 are the same in FIG. 4, but the torque values of points 830 and 840 are different in FIG. 8. It can be seen that the error is compensated by reflecting the change in torque value according to the speed in the field weakening area.

도 9는 최종 출력 데이터의 토크제어 오차를 보정하기 위한 수정된 2D-보간법을 설명하기 위한 순서도이다.9 is a flowchart for explaining a modified 2D-interpolation method for correcting torque control error of final output data.

도 9를 참조하면, 최종 출력 데이터의 토크제어 오차를 보정하기 위한 수정된 2D-보간법은 기존의 2D-보간법에 최대출력 토크 오차 발생 영역을 확인하는 단계(955)와 최대출력 토크 데이터를 변경하기 위해 각각의 속도에 대한 최대출력 토크 데이터를 테이블화 하는 단계(965)를 추가하였다.Referring to FIG. 9, the modified 2D interpolation method for correcting the torque control error of the final output data is a step of checking the maximum output torque error generation region and changing the maximum output torque data to the existing 2D interpolation method. To that end, we added a step 965 to table the maximum output torque data for each speed.

표1을 예로 들면, 입력 데이터가 2750rpm(915), 67.558Nm(910)라 할 수 있다. 입력 데이터를 각각 단위 값으로 나누어(920, 925) 올림, 내림을 취하면 9(930), 8(935), 6(940), 5(945)일 수 있다. 이를 이용하여 룩업 테이블에서 전류맵 데이터를 추출할 수 있다(950). 이를 기준으로 최대출력 토크 오차 발생 영역여부를 확인할 수 있다(955). 최대출력 토크 오차 발생 영역여부는 단위토크로 나누어 소수점 올림, 내림을 거친 메모리 주소값 정보를 통해 알 수 있다.Taking Table 1 as an example, the input data may be referred to as 2750 rpm (915) and 67.558 Nm (910). When the input data is divided up into unit values (920 and 925) and rounded up and down, the input data may be 9 (930), 8 (935), 6 (940), and 5 (945). In operation 950, current map data may be extracted from the lookup table. Based on this, it can be checked whether the maximum output torque error generation area is present (955). The area of maximum output torque error occurrence can be determined by dividing the unit torque into memory address value information that has been raised or lowered by the decimal point.

최대출력 토크 테이블(965)을 이용하여 속도별 최대출력 단위토크 변경값을 계산할 수 있다(960). 최대출력 토크 테이블(965)은 룩업 테이블과 동일한 단위 속도의 정수배에 대응하는 최대출력 토크 값들을 저장하고 있을 수 있다. 회전자의 속도가 3000rpm일 때 최대출력 토크는 68.34Nm, 단위토크는 7.948Nm, 단위토크 변경값은 8.6(960)일 수 있다.The maximum output unit torque change value for each speed may be calculated using the maximum output torque table 965 (960). The maximum output torque table 965 may store maximum output torque values corresponding to integer multiples of the same unit speed as the lookup table. When the rotor speed is 3000rpm, the maximum output torque may be 68.34 Nm, unit torque is 7.948 Nm, and unit torque change value is 8.6 (960).

룩업 테이블을 이용해 획득한 4개의 포인트((5, 8), (6, 8), (5, 9), (5, 9))에 대응되는 dq축 전류값을 포인트(5, 9)를 (5, 8.6)으로 오차 보상한 4개의 포인트((5, 8), (6, 8), (5, 9), (5, 8.6))에 대하여 보간할 수 있다.Dq-axis current values corresponding to four points ((5, 8), (6, 8), (5, 9), (5, 9)) obtained using the lookup table. 5, 8.6) can be interpolated for four points ((5, 8), (6, 8), (5, 9), and (5, 8.6) that are error compensated.

도 10a은 약계자 구동영역인 3000rpm에서 기존의 2D-보간법을 사용하였을 때의 토크제어 오차를 도시한 그래프이다. FIG. 10A is a graph illustrating torque control error when a conventional 2D interpolation method is used in a field weakening driving area of 3000 rpm.

도 10a를 참조하면, 3000rpm의 최대토크인 68.34Nm의 토크출력을 얻으려면 토크지령을 71.53Nm를 인가하여야 하며, 최대출력 토크 영역인 63.58Nm에서부터 최대출력 토크까지 보간 오차가 존재하는 것을 확인할 수 있다.Referring to FIG. 10A, to obtain a torque output of 68.34 Nm, which is the maximum torque of 3000 rpm, 71.53 Nm should be applied as the torque command, and it can be seen that an interpolation error exists from 63.58 Nm, the maximum output torque range, to the maximum output torque. .

도 10b는 일 실시예에 따른 영구자석 동기 전동기 제어 방법을 통하여 토크제어를 수행한 결과를 도시한 그래프이다. 10B is a graph illustrating a result of performing torque control through the permanent magnet synchronous motor control method according to an exemplary embodiment.

도 10b을 참조하면, 도 10a와 달리 제어오차가 발생되지 않는 것을 알 수 있으며, 최대출력 토크 이상의 지령이 인가되는 경우 3000rpm에서 출력할 수 있는 최대토크가 나타남을 알 수 있다.Referring to FIG. 10B, it can be seen that, unlike FIG. 10A, a control error does not occur, and when a command greater than the maximum output torque is applied, a maximum torque that can be output at 3000 rpm appears.

일 실시예에 따른 영구자석 동기 전동기 제어 장치는 단위 속도와 단위 토크의 정수배에 대응하는 dq축 전류 값들을 저장하고 있는 룩업 테이블, 단위 속도의 정수배에 대응하는 최대출력 토크 값들을 저장하고 있는 최대출력 토크 테이블, 회전자의 속도 및 토크지령을 입력받고, 룩업 테이블을 이용하여 회전자의 속도 및 토크지령에 대응하는 dq축 전류 값들을 획득하고, 최대출력 토크 테이블을 이용하여 최대출력 토크의 오차를 보상하고, 보상된 최대출력 토크를 이용하여 dq축 전류 값들을 보간하는 프로세서를 포함한다.A permanent magnet synchronous motor control apparatus according to an embodiment includes a lookup table storing dq-axis current values corresponding to an integral multiple of unit speed and unit torque, and a maximum output storing maximum output torque values corresponding to an integral multiple of unit speed. The torque table, the speed and torque command of the rotor are input, the dq-axis current values corresponding to the speed and torque command of the rotor are obtained using the lookup table, and the error of the maximum output torque is obtained using the maximum output torque table. And a processor for compensating and interpolating dq-axis current values using the compensated maximum output torque.

프로세서는 회전자의 속도 및 토크지령 각각에 대응하는 제1 데이터와 제2 데이터를 획득하고, 회전자의 속도 및 토크지령에 기초하여 토크지령이 최대출력 토크 오차 발생 영역에 포함되는지 판단하고, 최대출력 토크 오차 발생 영역에 포함될 경우, 속도별 최대출력 토크 테이블에 기초하여 회전자의 속도에 대응하는 최대출력 토크를 획득하고, 토크지령에 대응하는 제1 데이터와 최대출력 토크의 오차를 산출하고, 토크지령에 대응하는 제1 데이터와 최대출력 토크의 오차를 보상하여 제3 데이터를 획득할 수 있다.The processor obtains first data and second data corresponding to each of the rotor speed and torque command, and determines whether the torque command is included in the maximum output torque error generation region based on the speed and torque command of the rotor. When included in the output torque error generation area, the maximum output torque corresponding to the speed of the rotor is obtained based on the maximum output torque table for each speed, and the error between the first data and the maximum output torque corresponding to the torque command is calculated. The third data may be obtained by compensating for an error between the first data corresponding to the torque command and the maximum output torque.

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented as hardware components, software components, and / or combinations of hardware components and software components. For example, the devices, methods, and components described in the embodiments may include, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable gates (FPGAs). It may be implemented using one or more general purpose or special purpose computers, such as an array, a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of explanation, one processing device may be described as being used, but one of ordinary skill in the art will appreciate that the processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the above, and may configure the processing device to operate as desired, or process independently or collectively. You can command the device. Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. Or may be permanently or temporarily embodied in a signal wave to be transmitted. The software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described with reference to the accompanying drawings, those skilled in the art may apply various technical modifications and variations based on the above. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Or, even if replaced or substituted by equivalents, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are within the scope of the claims that follow.

Claims (14)

영구자석 동기 전동기(Permanent Magnet Synchronous Motor: PMSM)의 제어 방법에 있어서,
상기 영구자석 동기 전동기의 회전자의 속도 및 토크지령을 입력 받는 단계;
전동기 전류 값들에 관한 룩업 테이블을 이용하여 상기 회전자의 속도 및 상기 토크지령에 대응하는 dq축 전류 값들을 획득하는 단계;
속도별 최대출력 토크 테이블을 이용하여 최대출력 토크의 오차를 보상하는 단계; 및
상기 보상된 최대출력 토크를 이용하여 상기 dq축 전류 값들을 보간하는 단계
를 포함하는 영구자석 동기 전동기 제어 방법.
In the control method of a permanent magnet synchronous motor (PMSM),
Receiving a speed and torque command of the rotor of the permanent magnet synchronous motor;
Obtaining dq-axis current values corresponding to the speed and torque command of the rotor using a lookup table relating to motor current values;
Compensating for an error of the maximum output torque by using the maximum output torque table for each speed; And
Interpolating the dq-axis current values using the compensated maximum output torque
Permanent magnet synchronous motor control method comprising a.
제1항에 있어서,
상기 dq축 전류 값들을 획득하는 단계는
상기 회전자의 속도 및 상기 토크지령 각각에 대응하는 제1 데이터와 제2 데이터를 획득하는 단계; 및
상기 전동기 전류 값들에 관한 룩업 테이블을 이용하여 상기 제1 데이터 및 상기 제2 데이터 각각에 대응하는 dq축 전류 값들을 획득하는 단계
를 포함하는 영구자석 동기 전동기 제어 방법.
The method of claim 1,
Acquiring the dq-axis current values
Acquiring first data and second data corresponding to each of the rotor speed and the torque command; And
Obtaining dq-axis current values corresponding to each of the first data and the second data using a look-up table relating to the motor current values
Permanent magnet synchronous motor control method comprising a.
제2항에 있어서,
상기 제1 데이터는 입력 값의 올림 데이터, 상기 제2 데이터는 입력 값의 내림 데이터를 포함하는 영구자석 동기 전동기 제어 방법.
The method of claim 2,
And the first data is rounding data of the input value and the second data is rounding data of the input value.
제1항에 있어서,
최대출력 토크의 오차를 보상하는 단계는
상기 회전자의 속도 및 상기 토크지령 각각에 대응하는 제1 데이터와 제2 데이터를 획득하는 단계;
상기 회전자의 속도 및 상기 토크지령에 기초하여 상기 토크지령이 최대출력 토크 오차 발생 영역에 포함되는지 판단하는 단계;
최대출력 토크 오차 발생 영역에 포함될 경우, 상기 속도별 최대출력 토크 테이블에 기초하여 상기 회전자의 속도에 대응하는 최대출력 토크를 획득하는 단계;
상기 토크지령에 대응하는 제1 데이터와 상기 최대출력 토크 사이의 오차를 산출하는 단계; 및
상기 토크지령에 대응하는 제1 데이터와 상기 최대출력 토크 사이의 오차를 보상하여 제3 데이터를 획득하는 단계
를 포함하는 영구자석 동기 전동기 제어 방법.
The method of claim 1,
Compensating the error of the maximum output torque
Acquiring first data and second data corresponding to each of the rotor speed and the torque command;
Determining whether the torque command is included in the maximum output torque error generation region based on the speed of the rotor and the torque command;
Obtaining a maximum output torque corresponding to the speed of the rotor based on the maximum output torque table for each speed when included in the maximum output torque error generation region;
Calculating an error between the first data corresponding to the torque command and the maximum output torque; And
Compensating for an error between the first data corresponding to the torque command and the maximum output torque to obtain third data;
Permanent magnet synchronous motor control method comprising a.
제4항에 있어서,
상기 토크지령이 최대출력 토크 오차 발생 영역에 포함되는지 판단하는 단계는
상기 회전자의 속도에 대응하는 제2 데이터가 미리 정해진 속도 이상인지 판단하는 단계; 및
상기 토크지령에 대응하는 제1데이터 및 상기 토크지령에 대응하는 제2데이터가 미리 정해진 범위에 포함되는지 판단하는 단계
를 포함하는 영구자석 동기 전동기 제어 방법.
The method of claim 4, wherein
The step of determining whether the torque command is included in the maximum output torque error generation region is
Determining whether second data corresponding to the speed of the rotor is equal to or greater than a predetermined speed; And
Determining whether the first data corresponding to the torque command and the second data corresponding to the torque command are included in a predetermined range.
Permanent magnet synchronous motor control method comprising a.
제5항에 있어서,
상기 미리 정해진 속도는 정격 속도를 포함하는 영구자석 동기 전동기 제어 방법.
The method of claim 5,
The predetermined speed is a permanent magnet synchronous motor control method comprising a rated speed.
제4항에 있어서,
상기 전류 값들을 보간하는 단계는
상기 회전자의 속도에 대응하는 제2 데이터와 상기 제3 데이터에 각각에 대응하는 상기 dq축 전류 값을 일차 보간하는 단계; 및
상기 일차 보간 결과에 대하여 이차 보간하는 단계
를 포함하는 영구자석 동기 전동기 제어 방법.
The method of claim 4, wherein
Interpolating the current values
Firstly interpolating second data corresponding to the speed of the rotor and the dq-axis current value corresponding to each of the third data; And
Quadratic interpolation for the first interpolation result
Permanent magnet synchronous motor control method comprising a.
제4항에 있어서,
상기 전류 값들을 보간하는 단계는
상기 토크지령에 대응하는 제1 데이터와 상기 제2 데이터에 각각에 대응하는 상기 dq축 전류 값을 일차 보간하는 단계; 및
상기 일차 보간 결과에 대하여 이차 보간하는 단계
를 포함하는 영구자석 동기 전동기 제어 방법.
The method of claim 4, wherein
Interpolating the current values
Firstly interpolating the dq-axis current value corresponding to each of the first data and the second data corresponding to the torque command; And
Quadratic interpolation for the first interpolation result
Permanent magnet synchronous motor control method comprising a.
제4항에 있어서,
상기 전류 값들을 보간하는 단계는
상기 최대출력 토크 오차 발생 영역에 포함되지 않을 경우, 상기 전동기 전류 값들에 관한 룩업 테이블을 이용하여 상기 제1 데이터 및 상기 제2 데이터 각각에 대응하는 dq축 전류 값들을 획득하는 단계;
상기 회전자의 속도에 대응하는 제1 데이터와 상기 회전자의 속도에 대응하는 제2 데이터에 각각에 대응하는 상기 dq축 전류 값을 일차 보간하는 단계; 및
상기 제1 보간 결과에 대하여 이차 보간하는 단계
를 포함하는 영구자석 동기 전동기 제어 방법.
The method of claim 4, wherein
Interpolating the current values
Acquiring dq-axis current values corresponding to each of the first data and the second data using a look-up table for the motor current values when not included in the maximum output torque error generation region;
Firstly interpolating the dq-axis current value corresponding to each of first data corresponding to the speed of the rotor and second data corresponding to the speed of the rotor; And
Quadratic interpolation for the first interpolation result
Permanent magnet synchronous motor control method comprising a.
제1항 내지 제9항 중에 어느 한 항에 있어서,
상기 룩업 테이블은 미리 정해진 크기의 단위속도와 단위토크의 정수배에 대응하는 dq축 전류 값들을 저장하고 있고,
상기 회전자의 속도 및 상기 토크지령은 각각 상기 단위속도 및 상기 단위토크로 나눈 값으로 결정되는 영구자석 동기 전동기 제어 방법.
The method according to any one of claims 1 to 9,
The lookup table stores dq-axis current values corresponding to an integral multiple of a unit speed and unit torque of a predetermined size.
And a speed command and the torque command of the rotor are determined by dividing the unit speed and the unit torque, respectively.
제10항에 있어서,
상기 속도별 최대출력 토크 테이블은 상기 단위 속도의 정수배에 대응하는 최대출력 토크 값들을 저장하는, 영구자석 동기 전동기 제어 방법.
The method of claim 10,
The maximum output torque table for each speed stores the maximum output torque values corresponding to an integral multiple of the unit speed, permanent magnet synchronous motor control method.
하드웨어와 결합되어 제1항 내지 제9항 중 어느 하나의 항의 방법을 실행시키기 위하여 기록 매체에 저장된 컴퓨터 프로그램.
A computer program stored in a recording medium in combination with hardware to execute the method of any one of claims 1 to 9.
단위 속도와 단위 토크의 정수배에 대응하는 dq축 전류 값들을 포함하는 룩업 테이블, 및 상기 단위 속도의 정수배에 대응하는 최대출력 토크 값들을 포함하는 최대출력 토크 테이블을 저장하는 메모리; 및
회전자의 속도 및 토크지령을 입력 받고, 상기 룩업 테이블을 이용하여 상기 회전자의 속도 및 상기 토크지령에 대응하는 dq축 전류 값들을 획득하며, 상기 최대출력 토크 테이블을 이용하여 최대출력 토크의 오차를 보상하고, 상기 보상된 최대출력 토크를 이용하여 상기 dq축 전류 값들을 보간하는 프로세서
를 포함하는 영구자석 동기 전동기 제어 장치.
A memory for storing a lookup table including dq-axis current values corresponding to integral multiples of unit speed and unit torque, and a maximum output torque table including maximum output torque values corresponding to integer multiples of the unit speed; And
Receives the speed and torque command of the rotor, obtains dq-axis current values corresponding to the speed and torque command of the rotor using the lookup table, and the error of the maximum output torque using the maximum output torque table. And interpolating the dq-axis current values using the compensated maximum output torque.
Permanent magnet synchronous motor control device comprising a.
제13항에 있어서,
상기 프로세서는
상기 회전자의 속도 및 상기 토크지령 각각에 대응하는 제1 데이터와 제2 데이터를 획득하고, 상기 회전자의 속도 및 상기 토크지령에 기초하여 상기 토크지령이 최대출력 토크 오차 발생 영역에 포함되는지 판단하며, 상기 최대출력 토크 오차 발생 영역에 포함될 경우, 상기 속도별 최대출력 토크 테이블에 기초하여 상기 회전자의 속도에 대응하는 최대출력 토크를 획득하고, 상기 토크지령에 대응하는 제1 데이터와 상기 최대출력 토크 사이의 오차를 산출하며, 상기 토크지령에 대응하는 제1 데이터와 상기 최대출력 토크 사이의 오차를 보상하여 제3 데이터를 획득하는,
영구자석 동기 전동기 제어 장치.
The method of claim 13,
The processor is
Acquire first and second data corresponding to each of the speed and torque command of the rotor, and determine whether the torque command is included in the maximum output torque error generation region based on the speed and torque command of the rotor. When included in the maximum output torque error generation area, the maximum output torque corresponding to the speed of the rotor is obtained based on the maximum output torque table for each speed, and the first data corresponding to the torque command and the maximum Calculating an error between the output torque and compensating for an error between the first data corresponding to the torque command and the maximum output torque to obtain third data;
Permanent magnet synchronous motor control device.
KR1020180098731A 2018-08-23 2018-08-23 Final Output Data Interpolation Error Improvement for Look-up Table Based PMSM Control Method KR102155476B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180098731A KR102155476B1 (en) 2018-08-23 2018-08-23 Final Output Data Interpolation Error Improvement for Look-up Table Based PMSM Control Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180098731A KR102155476B1 (en) 2018-08-23 2018-08-23 Final Output Data Interpolation Error Improvement for Look-up Table Based PMSM Control Method

Publications (2)

Publication Number Publication Date
KR20200022731A true KR20200022731A (en) 2020-03-04
KR102155476B1 KR102155476B1 (en) 2020-09-14

Family

ID=69783695

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180098731A KR102155476B1 (en) 2018-08-23 2018-08-23 Final Output Data Interpolation Error Improvement for Look-up Table Based PMSM Control Method

Country Status (1)

Country Link
KR (1) KR102155476B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230109396A (en) * 2022-01-13 2023-07-20 군산대학교산학협력단 Apparatus operating method for control efficiency of vernier motor and apparatus of thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100372178B1 (en) * 2000-08-28 2003-02-14 임영철 An apparatus for controlling drive of motor and method of the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100372178B1 (en) * 2000-08-28 2003-02-14 임영철 An apparatus for controlling drive of motor and method of the same

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
인용발명 1: 전기학회논문지. 사단법인 대한전기학회. 2018년 3월, 제67권 제3호(제391면 내지 제397면) 1부.* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230109396A (en) * 2022-01-13 2023-07-20 군산대학교산학협력단 Apparatus operating method for control efficiency of vernier motor and apparatus of thereof

Also Published As

Publication number Publication date
KR102155476B1 (en) 2020-09-14

Similar Documents

Publication Publication Date Title
JP6647822B2 (en) Torque control device and method, and motor controller
US10454395B2 (en) Power management in permanent magnet synchronous motor drives
EP2995531B1 (en) Electric power steering control device and steering control method
WO2013137129A1 (en) Device for controlling electric motor and method for controlling electric motor
JP2009526511A (en) Method and apparatus for driving a synchronous machine
US20100286948A1 (en) Magnetic pole position estimation method for ac synchronous motor
CN108432122B (en) Motor control device and control method for motor control device
US20170149364A1 (en) Methods of estimating a position of a rotor in a motor under transient and systems thereof
JP2010029028A (en) Motor controller
JP6059285B2 (en) Induction motor controller
JP2010124610A (en) Method of controlling pm motor
US8134321B2 (en) Motor control system for achieving peak torque
KR101755896B1 (en) Method and system for amending curret offset of current sensor in inverter
KR102155476B1 (en) Final Output Data Interpolation Error Improvement for Look-up Table Based PMSM Control Method
CN104796059A (en) Current limiting control method of permanent magnet synchronous motor, direct torque control method of permanent magnet synchronous motor, and control system of permanent magnet synchronous motor
JP7042972B2 (en) Rotating machine control device
KR20150057017A (en) Apparatus for compensating errors of position sensor for mortor, Method thereof
JP6526312B2 (en) Out-of-step detection device and out-of-step detection method
JP2001095274A (en) Motor controller
KR102246044B1 (en) Apparatus and Method for sensing demagnetization of motor
KR20230048920A (en) Method for controlling motor usign voltage difference and the apparatus controlling thereof
JP6696139B2 (en) Motor controller
KR100881360B1 (en) A sensorless vector control apparatus and a sensorless vector control method for a induction motor
JP5854058B2 (en) Electric motor control device
CN110336508B (en) PMSM stator flux linkage identification method and device

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant