KR101644649B1 - Method for estimating middle angle of encoder - Google Patents

Method for estimating middle angle of encoder Download PDF

Info

Publication number
KR101644649B1
KR101644649B1 KR1020090129718A KR20090129718A KR101644649B1 KR 101644649 B1 KR101644649 B1 KR 101644649B1 KR 1020090129718 A KR1020090129718 A KR 1020090129718A KR 20090129718 A KR20090129718 A KR 20090129718A KR 101644649 B1 KR101644649 B1 KR 101644649B1
Authority
KR
South Korea
Prior art keywords
angle
current
rotor
calculated
previous
Prior art date
Application number
KR1020090129718A
Other languages
Korean (ko)
Other versions
KR20110072682A (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 KR1020090129718A priority Critical patent/KR101644649B1/en
Publication of KR20110072682A publication Critical patent/KR20110072682A/en
Application granted granted Critical
Publication of KR101644649B1 publication Critical patent/KR101644649B1/en

Links

Images

Landscapes

  • Control Of Motors That Do Not Use Commutators (AREA)

Abstract

The present invention relates to a method of estimating an intermediate angle of an encoder that improves motor control performance by estimating an intermediate angle with respect to a rotational position of the motor. When the preset sampling time is reached, an edge signal is read from the encoder, Calculating a difference between a current angle? P and a previous angle? A of the stored rotor by comparing the current angle? P and the previous angle? A of the rotor calculated in the step Calculating a current angle cp by using a previous angle? A, a motor speed, and a sampling time; comparing the calculated current angle cp with a set critical angle to calculate a current angle cp ), And storing the angle? Cp of the calculated rotor when the current angle? Cp does not exceed the critical angle.

Motor, rotor, rotation angle, edge signal, sine wave

Description

[0001] METHOD FOR ESTIMATING MIDDLE ANGLE OF ENCODER [0002]

The present invention relates to motor control, and more particularly, to an intermediate angle estimating method of an encoder that improves motor control performance by estimating an intermediate angle with respect to a rotational position of the motor.

Generally, various methods are used as needed to detect the number of revolutions of the motor rotor. For example, when it is necessary to precisely control the driving speed of a motor, an encoder method is used. Otherwise, a Hall sensor method, which simply processes a signal of an edge signal, is used do.

In the encoder system, there are an optical system for detecting a plurality of slits formed in a rotor by using a light emitting element and a light receiving element, and a magnet system for detecting a magnet change formed in the rotor.

On the other hand, if a sinusoidal current is applied to the motor in accordance with the position of the motor rotor, the motor is driven well. If the number of edge signals output from the encoder or the edge signal is larger, the better sinusoidal current can be produced. It becomes more expensive.

In order to increase the price competitiveness, the number of edge signals has recently been reduced. However, as the number of edge signals is decreased, the angle of the rotor is updated so that the stepped sine wave current is applied to the motor. The performance is degraded.

The present invention relates to an intermediate angle estimating method of an encoder which can increase a motor control performance by generating a sine wave similar to a large number of edge signals even with a small number of edge signals by estimating an intermediate angle with respect to the rotational position of the motor .

It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not intended to limit the invention to the particular embodiments that are described. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, There will be.

According to another aspect of the present invention, there is provided an intermediate angle estimating method comprising: reading an edge signal from an encoder at a predetermined sampling time to calculate a current angle? P of a rotor; Comparing the current angle [theta] p of the rotor calculated above with the previous angle [theta] a of the stored rotor to determine whether they are the same; Calculating a current angle? Cp using the previous angle? A, the motor speed, and the sampling time when the current angle? P and the previous angle? A are the same; Comparing the calculated current angle cp with a set critical angle to determine whether the current angle cp exceeds a critical angle; And storing the calculated angle? Cp of the rotor when the current angle? Cp does not exceed the critical angle.

Specifically, the present angle? Cp is obtained by multiplying the motor speed rps by the sampling time and then adding the previous rotor angle? A.

Wherein the sampling time is an arbitrary time shorter than the reference time and the reference time is a time divided by an electrical angle per second and the critical angle is a value obtained by adding a stored previous angle? The section reference angle is obtained by dividing the motor rotation angle (360 ° mech) by the number of edge signals and then converting the angle into electric angle.

If the calculated current angle? Cp is greater than the critical angle, calculating a current angle? Cpp by adding an angle smaller than the reference angle set in the stored previous angle; Determining whether the current angle [theta] cp calculated above is greater than 360 [deg.] Mech; And storing the calculated angle? Crp of the rotor when the calculated current angle? Ccp does not exceed 360 ° mech.

Also, when the current angle? Ccc calculated above is more than 360 ° mech, 360 ° or 0 ° is stored instead of the angle? Ccc calculated above.

As described above, according to the present invention, the angle of the motor rotor is read through the edge signal inputted from the encoder according to the set sampling time, and then the intermediate angle with respect to the intermediate position between the edge signals is estimated and corrected, By generating a current, the stepped sine wave characteristic can be improved, and a relatively clean waveform can be obtained even with a small edge signal.

In addition, a high resolution motor control system can be implemented with a simple algorithm change without an additional device, and a relatively good sinusoidal current can be generated even if the number of edge signals is reduced.

Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the drawings, the same components are denoted by the same reference symbols whenever possible. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail.

Fig. 1 shows a case where the number of edge signals for detecting the rotational position of the motor rotor is large. Fig. 2 shows a case where the number of edge signals is small Respectively. The edge signal means a rising edge of a square wave output from the encoder according to the position of the rotor.

As shown in FIG. 1, for example, when there are 2048 edge signals per one revolution of the motor rotor, that is, when there are edge signals at 0.17 degrees (360 degrees / 2048) intervals of the rotor, a considerably good sinusoidal current is generated It can be seen that it is applied to the motor.

However, as shown in FIG. 2, for example, when there are 144 edge signals per one rotation of the motor rotor, that is, when there is an edge signal at 2.5 degrees (360 degrees / 144) As the sinusoidal current is generated and applied to the motor, the motor performance becomes relatively low.

1, a good sinusoidal current can be generated. However, in the case of FIG. 2 where the resolution is approximately 1/14 as compared with FIG. 1, a good sine wave can not be generated. Therefore, It is urgent to develop a technique that can generate a good sinusoidal current while reducing the number of currents.

3 schematically shows a motor drive system applied to the present invention. The drive system includes a motor 10, an encoder 50, and a main controller 100.

The motor 10 includes a stator and a rotor, and operates at a variable speed and torque by a three-phase current applied from the main controller 100. The motor 10 may be a BLDC motor, and the rotation axis of the motor 10 may be connected to the rotation shaft of an electric power steering wheel of the vehicle, an engine, or the like.

The encoder 50 is disposed around the motor rotor and outputs a pulse signal in accordance with the rotational position of the rotor. The encoder 50 is connected to the main controller 100. The edge signal outputted from the encoder 50 may be 144 per revolution as shown in FIG. 2, and each edge signal provides rotation position information of the rotor . In the embodiment of the present invention, the encoder 50 may be a magnet system that detects the magnet formed on the rotor.

The main controller 100 generates a sinusoidal current according to an edge signal input from the encoder 50 to control the driving speed and the torque of the motor 10 for each phase. That is, the main controller 100 switches the direct current power according to the inputted edge signal, converts the direct current power into three-phase power required for driving the motor, applies each phase current to the motor side, ) According to the information on the rotor position. Here, the main controller 100 may include a gate driver composed of a current controller and IGBT switching elements.

Generally, the method of reading the rotational speed of the motor 10 differs depending on the design of the main controller 100, but is widely used around the world because the M / T method leads well at low speed and high speed.

The rotational speed of the motor 10 is expressed by the following equation (1).

Figure 112009079702918-pat00001

That is, the speed is the angle change (mechanical angle; mech °), which is the moving distance, divided by the time variation.

Generally, when the minimum speed is measured at 30 rpm (revolution per minute) in the measurement of the motor performance, the mechanical angle (mech °) per 180 seconds is expressed by Equation (2).

Here, since the power supplied to the motor 10 is three phases, 120 degrees of the machine corresponds to 360 degrees of the electric angle (one rotation of each machine corresponds to three rotations of the electric machine), so that the machine angle (mech) Since the electric angle corresponds to 1080 ° (360 ° x 3), the electric angle becomes 540 ° which is 1/2 of 1080 °.

Figure 112009079702918-pat00002

In order to calculate the electric angle to be 1 deg. Elec or less, the angle should be calculated every 1.85 ms (reference time) of 1 sec / 540, as shown in Equation (2). The reference time is the time divided by the electric angle per second (sec).

Therefore, in the present invention, it is set to calculate an angle every 1.0 ms (sampling time), for example, a time equal to or shorter than 1.85 ms (reference time), and the limit is set to 7.5 It is preferable that the angle is not to exceed the angle? Elec (section reference angle). The sampling time is an arbitrary time shorter than the reference time, and the interval reference angle is a value obtained by dividing the motor rotation angle (360 ° mech) by the number of edge signals and then converting it into an electric angle as shown in Equation 3 below.

Figure 112009079702918-pat00003

When the sampling time is 1/2 of the reference time, the resolution is doubled. When the sampling time is 1/10 of the reference time, the resolution is increased by about 10 times. The sampling time may be arbitrarily set within a range allowed by the operation speed of the main controller 100. [

The speed of the motor 10, the number of edge signals, and the reference angle (elec) of the section are merely examples, and the reference time, the sampling time, and the interval reference may be changed according to the speed of the motor 10 and the number of edge signals. (Elec) and the like can be variously changed.

The intermediate angle estimating process of the motor drive system constructed as above will be described with reference to FIG.

First, the main controller 100 sets a sampling time, a section reference angle, and the like obtained in the same manner as Equations 1 to 3 (S1). Here, the sampling time is an arbitrary time shorter than the reference time, the reference time is a time obtained by dividing the electric angle per second (sec), and the interval reference angle is 360 ° mech) is divided by the number of edge signals and converted into electrical angle.

The main controller 100 determines whether the set sampling time has been reached. When the sampling time is reached, the main controller 100 increments the count by one, then reads the edge signal input from the encoder 50 to calculate the current angle? P of the motor rotor (S2 to S4).

When the current angle? P of the rotor is calculated, the main controller 100 compares the calculated angle? P of the rotor with the previous angle? A of the stored rotor to calculate the current angle? Is equal to the previous angle &thetas; a (S5).

If the current angle? P of the rotor is not equal to the previous angle? A of the rotor, the angle? P of the current rotor is mapped to the count value and stored (S6).

However, if the current angle? P of the rotor is equal to the previous angle? A of the rotor in step S5, the main controller 100 multiplies the revolution time per second by the sampling time The current rotor angle? Cp is calculated by adding the previous rotor angle? A (S7).

Next, the main controller 100 determines whether the calculated current angle cp exceeds a threshold angle? A + a section reference angle, which is a sum of the previous angle? A stored with the set reference reference angle (S8).

If the current angle? Cp calculated above is not larger than the critical angle, the angle? Cp of the rotor calculated above is mapped to the count value and stored (S9). Here,? Cp is an angle obtained by multiplying the rotational speed (rps) by the sampling time and adding the previous angle? A.

If the current angle? Cp calculated in step S8 is greater than the critical angle, a current angle? Cp is calculated by adding an angle smaller than the interval reference angle to the stored previous angle? A. Here, for example, when the section reference angle is 7.5 占 elec, the current angle? Ccc can be calculated by adding an angle smaller than 7.5 占 elec to the previous angle? A.

Next, the main controller 100 determines whether the current angle [theta] cp calculated above is greater than 360 [deg.] Mech (S11).

If the calculated current angle? Cpp does not exceed 360 ° mech, the calculated angle? Cpp of the rotor is mapped to a count value and stored (S12). Here,? Cpp is an angle obtained by adding a smaller angle to the previous angle? A than an interval reference angle.

If the current angle? Cp calculated above is greater than 360 degrees mech, the controller 360 maps or stores 360 degrees or 0 degrees instead of the angle? Cp calculated in the above step to the count value (S13) And waits until the next sampling time is reached (S14).

As described above, in the present invention, the edge signals are read according to the sampling time, and the angles? Cp and? Ccp with respect to the intermediate position between the edge signals are estimated and corrected. It is also possible to increase the resolution by adjusting the sampling time in the same number of edge signals.

Therefore, in the present invention, the angle of the motor rotor is read through the edge signal inputted from the encoder 50 according to the set sampling time, and the intermediate angle with respect to the intermediate position between the edge signals is estimated and corrected, By generating an applied sinusoidal current, the stepped sine wave characteristic as shown in Fig. 5 can be improved and a relatively clean waveform can be obtained even with a small edge signal.

This can be implemented simply by changing the algorithm without any additional device, and a relatively good sinusoidal current can be generated even if the number of edge signals is reduced.

The improvement of the stepped sine wave characteristic can reduce the torque ripple and improve the factors such as maximum speed, vibration and noise.

It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention as defined by the appended claims. It will be possible. The scope of the present invention is defined by the appended claims, and all differences within the scope of the claims are to be construed as being included in the present invention.

Fig. 1 and Fig. 2 are views each showing a sine wave for general motor control.

3 is a schematic view of a motor drive system applied to the present invention.

4 is a flowchart illustrating an intermediate angle estimation process of the motor drive system according to the embodiment of the present invention.

5 is a diagram illustrating an improved sinusoidal wave for motor control according to the present invention.

Claims (9)

Reading an edge signal from the encoder at a set sampling time to calculate a current angle? P of the rotor; Comparing the current angle [theta] p of the rotor calculated above with the previous angle [theta] a of the stored rotor to determine whether they are the same; Calculating a current angle? Cp using the previous angle? A, the motor speed, and the sampling time when the current angle? P and the previous angle? A are the same; Comparing the calculated current angle cp with a set critical angle to determine whether the current angle cp exceeds a critical angle; And Storing the calculated angle? Cp of the rotor when the current angle? Cp does not exceed the critical angle, The critical angle is a value obtained by adding the stored previous angle &thetas; a and the set reference angle, Wherein the section reference angle is a value obtained by dividing a rotation angle of a motor (360 deg. Mech) by the number of edge signals and then converting the angle into an electric angle. The method according to claim 1, Wherein the sampling time is an arbitrary time shorter than the reference time, and the reference time is a time obtained by dividing one second (sec) by an electrical angle. The method according to claim 1, Wherein the current angle cp is obtained by multiplying the motor speed rps by the sampling time and then adding the previous rotor angle? A. delete delete The method according to claim 1, Wherein the current angle? P of the current rotor is stored if the current angle? P and the previous angle? A are not equal to each other. The method according to claim 1, Calculating a current angle? Cp by adding an angle smaller than the reference angle set in the stored previous angle when the current angle? Cp calculated above is larger than the critical angle; Determining whether the current angle [theta] cp calculated above is greater than 360 [deg.] Mech; And storing the calculated angle? Crp of the rotor when the calculated current angle? Ccp does not exceed 360 ° mech. 8. The method of claim 7, When the current angle? Cpp calculated above exceeds 360 ° mech, 360 ° or 0 ° instead of the calculated angle? Cpp is stored. 8. The method of claim 7, Incrementing the count when the set sampling time is reached, and initiating a count when the calculated current angle &thetas; ccc exceeds 360 DEG mech.
KR1020090129718A 2009-12-23 2009-12-23 Method for estimating middle angle of encoder KR101644649B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090129718A KR101644649B1 (en) 2009-12-23 2009-12-23 Method for estimating middle angle of encoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090129718A KR101644649B1 (en) 2009-12-23 2009-12-23 Method for estimating middle angle of encoder

Publications (2)

Publication Number Publication Date
KR20110072682A KR20110072682A (en) 2011-06-29
KR101644649B1 true KR101644649B1 (en) 2016-08-01

Family

ID=44403579

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090129718A KR101644649B1 (en) 2009-12-23 2009-12-23 Method for estimating middle angle of encoder

Country Status (1)

Country Link
KR (1) KR101644649B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004096883A (en) 2002-08-30 2004-03-25 Yaskawa Electric Corp Circuit and program for processing encoder signal

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100384173B1 (en) * 2000-12-30 2003-05-16 현대자동차주식회사 Apparatus and method for high resolution processing of encoder signal for a motor control

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004096883A (en) 2002-08-30 2004-03-25 Yaskawa Electric Corp Circuit and program for processing encoder signal

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
APPLIED POWER ELECTRONICS CONFERENCE AND EXPOSITION, 2006. APEC '06. TWENTY-FIRST ANNUAL IEEE,930-934(5 PAGES)
전력전자학회 2009년도 추계학술대회 논문집,99-101(3 PAGES)

Also Published As

Publication number Publication date
KR20110072682A (en) 2011-06-29

Similar Documents

Publication Publication Date Title
US8471506B2 (en) Motor control apparatus
US8723462B2 (en) Methods, systems and apparatus for estimating angular position and/or angular velocity of a rotor of an electric machine
JP4483009B2 (en) Motor control device
JP5502605B2 (en) Motor control device
US10554158B2 (en) Motor control method
US20140210390A1 (en) Angle detecting module and method for motor rotor
US10171018B2 (en) Method and electronic circuit for stall detection
CN107431452B (en) Motor drive device and control method for motor drive device
CN104682786B (en) Method and apparatus for determining the position data of the rotor of motor
KR20180011798A (en) Control device of electric power steering device and electric power steering device
KR101655297B1 (en) Apparatus for correcting position of linear hole sensor and control method of thereof
JP4735439B2 (en) Initial magnetic pole position estimation device for permanent magnet type synchronous motor
US20170110998A1 (en) Motor driving control apparatus
KR101982281B1 (en) Method and Apparatus for obtaining maximum possible magnetic flux in Permanant Magnet Synchronous Motor
KR101644649B1 (en) Method for estimating middle angle of encoder
US9523566B2 (en) Electric circuit and method for estimating the angular position of a rotor of an electric motor, and device for controlling an electric motor
EP1271760A1 (en) Method for minimising the phase errors during the driving of an electric motor, and a circuit using the method thereof
KR101937958B1 (en) Device for detecting error of sensorless motor using bemf signal
CN111034012B (en) Actuator control device and control method
JP2020191724A (en) Control device
JP7468390B2 (en) Motor Control Device
KR102331849B1 (en) Method and Apparatus for Controlling BLDC Motor
JP2006174569A (en) Inverter device
US20230006586A1 (en) Power conversion device
US20220190756A1 (en) Motor control device, motor control method, and motor unit

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190612

Year of fee payment: 4