Motor control device and method for estimating position of rotor thereof
By using the pulse voltage application scheme in the motor stop state, estimating the position of the motor rotor is solved, which may start from the wrong position during initial driving, and the stability and accuracy of the drive control are improved.
Patent Information
- Application Number
- CN202410822990.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-09-27
- Filing Date
- 2024-06-25
- Publication Date
- 2025-03-28
AI Technical Summary
In the motor stop state, the position of the rotor cannot be accurately estimated, resulting in the initial drive that may start from the wrong position, resulting in a drive failure or a response delay.
Using a pulse voltage application scheme, the position of the rotor is estimated based on the maximum value of the current value by providing a phase voltage to the stator of the motor and measuring the current flowing in the stator, and determining whether to retry the estimation based on the difference in current value.
The accuracy of initial rotor position estimation in the motor stop state is improved, the stability of initial drive control is improved, and the possibility of driving delay is reduced.
Smart Images

Figure CN119727470A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of priority from Korean Patent Application No. 10-2023-0131147 filed in the Korean Intellectual Property Office on September 27, 2023, the entire contents of which are incorporated herein by reference. Technical Field
[0003] The present disclosure relates to a motor control device for estimating a position of a rotor in a state where the motor is stopped and a method for estimating the position of the rotor thereof. Background Art
[0004] Since the motor and the inverter are integrated and developed in the air compressor applied to the third generation fuel cell, in some cases, it may be difficult to apply the rotor position sensor to the motor due to packaging issues. In some cases, the rotor position sensorless (or position sensorless) technology is applied to perform motor control.
[0005] The position sensorless technology estimates the speed and position when the expansion back electromotive force of the motor is formed. Since the back electromotive force is 0V when the motor is in a stopped state, the speed and position cannot be estimated based on the estimation of the expansion back electromotive force. Therefore, since the motor starts driving without knowing the position of the rotor when the motor is driven in a stopped state, there is a possibility that the motor is driven from an incorrect position at the time of initial driving.
[0006] When the motor is driven from an incorrect position, sensorless driving fails due to deviations in the sensorless speed and position estimation feedback controller, or a response delay phenomenon due to motor drive instability may occur at the initial drive. Therefore, in some cases, a separate position estimation technique may be applied in a stopped state of the motor, or the rotor may be aligned at a specific position to be driven in a specific state. Summary of the invention
[0007] The present disclosure describes a motor control device for applying a pulse voltage application scheme to improve the estimation accuracy of the initial position of the rotor even in a state where the motor is stopped, and a method for estimating the position of a rotor thereof.
[0008] According to one aspect of the present disclosure, a motor control device may include a power supply for providing a phase voltage to a stator of a motor, a current sensor for measuring a current flowing in the stator, and a processor connected to the power supply and the current sensor. The processor may determine whether a rotor position estimation execution condition is satisfied, and if it is determined that the rotor position estimation execution condition is satisfied, the phase voltage may be applied to the stator of the motor, the current flowing in the stator may be measured, the position of the rotor of the motor may be estimated based on a first maximum current value in the measured current values, and whether to retry estimating the position of the rotor may be determined based on a difference between the first maximum current value and the second maximum current value in the measured current values.
[0009] The processor may determine whether a difference between the first maximum current value and the second maximum current value is less than a predetermined reference value, and if it is determined that the difference between the first maximum current value and the second maximum current value is less than the predetermined reference value, it may determine to retry estimating the position of the rotor.
[0010] If it is determined to re-attempt estimating the position of the rotor, the processor may change the position of the rotor and may re-estimate the position of the rotor by reapplying the phase voltage to the stator after changing the position of the rotor.
[0011] If it is determined not to re-attempt to estimate the position of the rotor, the processor may finally determine the estimated position of the rotor as the initial position of the rotor.
[0012] If a stop command is transmitted to the motor and the motor is switched from a rotating state to a stopped state, the processor may determine that the rotor position estimation execution condition is satisfied.
[0013] The processor may wait during a predetermined time until the rotor of the motor stops, and may initiate application of the phase voltage to the stator if the predetermined time has elapsed.
[0014] The processor may apply and stop the phase voltage according to a predetermined pulse duty ratio, and may wait until the current flowing in the stator is blocked, and may apply the next phase voltage if the current flowing in the stator is blocked.
[0015] The phase voltage may be a three-phase voltage in a pulse form.
[0016] The processor may sense a current value in a first period of pulse width modulation (PWM), may sense a current value in a last period of PWM, may calculate a difference between the current value in the first period and the current value in the last period, and may set the calculated current value difference as a phase voltage vector current.
[0017] The processor may identify a position in the phase voltage vector current array where the first maximum current value is stored, and may determine an angle in the phase voltage vector angle array mapped to the identified position as the position of the rotor.
[0018] According to another aspect of the present disclosure, a method for estimating the position of a rotor of a motor control device may include determining whether a rotor position estimation execution condition is met, and if it is determined that the rotor position estimation execution condition is met, applying a phase voltage to a stator of the motor, measuring a current flowing in the stator, estimating the position of the rotor of the motor based on a first maximum current value in the measured current values, and determining whether to retry estimating the position of the rotor based on a difference between the first maximum current value and a second maximum current value in the measured current values.
[0019] Determining whether to retry estimating the position of the rotor may include determining whether the difference between the first maximum current value and the second maximum current value is less than a predetermined reference value, and if it is determined that the difference between the first maximum current value and the second maximum current value is less than the predetermined reference value, then determining to retry estimating the position of the rotor.
[0020] The method may further include changing the position of the rotor if it is determined to re-attempt estimating the position of the rotor, and re-estimating the position of the rotor by reapplying the phase voltage to the stator after changing the position of the rotor.
[0021] The method may further include finalizing the estimated position of the rotor as the initial position of the rotor if it is determined not to re-attempt estimating the position of the rotor.
[0022] The determination of whether the rotor position estimation execution condition is satisfied may include determining that the rotor position estimation execution condition is satisfied if a stop command is transmitted to the motor and the motor is switched from a rotating state to a stopped state.
[0023] Applying the phase voltage to the stator of the motor may include waiting during a predetermined time until a rotor of the motor stops, and starting applying the phase voltage to the stator if the predetermined time has passed.
[0024] Applying the phase voltage to the stator of the motor may include applying and stopping the phase voltage according to a predetermined pulse duty ratio, and waiting until current flowing in the stator is blocked, and applying the next phase voltage if the current flowing in the stator is blocked.
[0025] The measurement of the current may include sensing a current value in a first period of pulse width modulation (PWM), sensing a current value in a last period of PWM, calculating a difference between the current value in the first period and the current value in the last period, and setting the calculated current value difference as the phase voltage vector current.
[0026] Estimating the position of the rotor may include identifying a position in the phase voltage vector current array where a first maximum current value is stored, and determining an angle in the phase voltage vector angle array mapped to the identified position as the position of the rotor. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] The above and other objects, features and advantages of the present disclosure will become more apparent from the following detailed description in conjunction with the accompanying drawings.
[0028] Figure 1 is a graph showing an example of a change in speed of an air compressor when a fuel cell vehicle associated with the present disclosure travels.
[0029] Figure 2 is a graph showing an example of a motor driving speed during open-loop control of a position sensorless motor associated with the present disclosure.
[0030] Figure 3 FIG. 1 is a diagram schematically illustrating an example of a motor for an air compressor associated with the present disclosure.
[0031] Figure 4 is a block diagram showing an example of the configuration of a motor control device.
[0032] Figure 5A and 5B Graphs showing an example of driving a motor according to whether there is an error in the initial position of a rotor when an open-loop control interval associated with the present disclosure is deleted.
[0033] Figure 6 is a diagram for describing an example of determining a time point when performing rotor position estimation associated with the present disclosure.
[0034] Fig. 7A and 7B is a diagram for describing an example of a rotor initial position estimation scheme associated with the present disclosure.
[0035] Figure 8 is a diagram for describing an example of rotor initial position estimation when a motor associated with the present disclosure is stopped.
[0036] Fig. 9 is a graph showing example results of testing rotor initial position estimation associated with the present disclosure.
[0037] Fig.10 is a diagram for describing an example of a phase voltage application scheme.
[0038] Fig.11 is a diagram for describing an example of a current measurement scheme.
[0039] Fig.12 is a diagram for describing an example of a rotor position derivation scheme.
[0040] Fig.13 is a diagram for describing an example of a rotor position estimation re-attempt scheme.
[0041] Fig.14A is a diagram for describing an example of normal rotor position estimation.
[0042] Fig. 14B is a diagram for describing an example of rotor position re-estimation.
[0043] Fig.15A , 15B and 15C are flow charts illustrating an example of a method for estimating the position of a rotor of an electric machine. DETAILED DESCRIPTION
[0044] Hereinafter, one or more implementations of the present disclosure will be described in detail with reference to the exemplary drawings. In the drawings, the same reference numerals will be used throughout to represent the same or equivalent components.
[0045] Figure 1 is a graph showing an example of a change in speed of an air compressor when a fuel cell vehicle associated with the present disclosure travels.
[0046] In some implementations, reference Figure 1 , since the air should be pressurized when the driver steps on the accelerator pedal, the fuel cell vehicle can instantly increase the motor rotation speed of the air compressor (or the air compressor speed). In other words, the fuel cell vehicle can increase the motor rotation speed of the air compressor to provide a large amount of air to its fuel cell stack, thereby increasing the power of the vehicle to accelerate the vehicle. In addition, the fuel cell vehicle can stop its fuel cell when stopped, and can allow the air compressor to be in a stopped state. Thereafter, when the vehicle is restarted by its driver, the fuel cell vehicle can restart the air compressor in a stopped state. Therefore, the air compressor can frequently and repeatedly perform stationary and driving during one driving cycle.
[0047] Figure 2 is a graph showing the motor driving speed during open-loop control of a position sensorless motor associated with the present disclosure.
[0048] In some examples, when a motor to which a position sensor is not applied (or a position sensorless motor) is initially driven from a stopped state without knowing the initial position of the rotor, a magnetic field may be formed on the stator from a time point when the rotor of the motor reaches a specific position, and the rotor may rotate along the magnetic field of the stator by linearly increasing the rotation speed of the magnetic field. In this case, because the magnetic field of the stator should be formed and rotated slowly, the magnetic field cannot rotate at an extremely high speed. An open-loop control interval is required to rotate the magnetic field during a specific time period so that the driving speed (or rotation speed) of the rotor is synchronized with the rotation speed of the magnetic field. As Figure 2As shown in FIG. 1 , when the position sensorless motor is initially driven without knowing the position of the rotor, an initial driving delay of about 0.27 seconds may occur. Such an initial driving delay of the motor may cause a delay in the air supply of the air compressor, thereby reducing the vehicle launch responsiveness.
[0049] The present disclosure describes a technique for deleting an open-loop control interval to prevent air supply delay due to an initial driving delay of a motor, and estimating an initial position of a rotor when the rotor stops.
[0050] Figure 3 A diagram schematically illustrating a motor for an air compressor associated with the present disclosure.
[0051] In some implementations, reference Figure 3 , the motor 100 may include a rotor 110 and a stator 120. The motor 100 may be a motor having salient poles, a surface mounted permanent magnet synchronous motor (SPMSM) without salient poles, or the like.
[0052] The rotor 110 may include an N-pole permanent magnet 111 and an S-pole permanent magnet 112 attached to the surface. The rotor 110 may be rotatably disposed at a predetermined interval, ie, an air gap with the stator 120. The rotor 110 may be rotated by interaction with the stator 120.
[0053] The stator 120 may be disposed outside the rotor 110 and may be disposed to be fixed inside the motor housing. The stator 120 may include a plurality of teeth 121 formed to protrude in a radial direction at predetermined intervals in a circumferential direction of the body. Slots 122 may be formed between the teeth 121. The slots 122 may be defined as spaces where the coils 130 wound on the teeth 121 are located.
[0054] When current is input from the inverter, the coil 130 wound around the teeth 121 may generate a first magnetic flux for driving the motor 100. When the first magnetic flux generated by the stator 120 interacts with the magnetic force of the permanent magnets 111 and 112, the rotor 110 rotates.
[0055] Figure 4 is a block diagram showing the configuration of a motor control device.
[0056] refer to Figure 4 The motor control device 200 may control the operation of the motor 100 , and the motor control device may include a power supply 210 , a current sensor 220 , a counter 230 , a memory 240 , and a processor 250 .
[0057] The power supply 210 may apply (or supply) a test voltage to the coil 130 wound around the stator 120 according to a control signal of the processor 250. A phase voltage (eg, a three-phase voltage) in the form of a pulse may be used as the test voltage.
[0058] The current sensor 220 may measure the current flowing in the coil 130 of the stator 120. The current sensor 220 may transmit the measured current value to the processor 250. The current sensor 220 may store the measured current value in the memory 240 according to an instruction of the processor 250.
[0059] The counter 230 may count the number of specific signals. The counter 230 may transmit the counted number to the processor 250. In addition, the counter 230 may store the counted value (or count value) in the memory 240 according to the instruction of the processor 250. The figure shows that the motor control device 200 includes one counter 230, but is not limited thereto. The motor control device 200 may include two or more counters.
[0060] The memory 240 may store the current value measured by the current sensor 220. The memory 240 may store a plurality of predetermined setting information (eg, reference values, etc.). The memory 240 may store a position estimation algorithm, etc.
[0061] The memory 240 may be a non-transitory storage medium that stores instructions executed by the processor 250. The memory 240 may be implemented as a flash memory, a hard disk, a solid state disk (SSD), a random access memory (RAM), a static RAM (SRAM), a read-only memory (ROM), a programmable ROM (PROM), an electrically erasable programmable ROM (EEPROM), an erasable programmable ROM (EPROM), etc.
[0062] The processor 250 may be electrically connected to the power supply 210, the current sensor 220, the counter 230, and the memory 240, and may control the overall operation of the motor control device 200. The processor 250 may be implemented as an application specific integrated circuit (ASIC), a digital signal processor (DSP), a programmable logic device (PLD), a field programmable gate array (FPGA), a central processing unit (CPU), a microcontroller, a microprocessor, etc.
[0063] The processor 250 may estimate the position of the rotor 110 using a position estimation algorithm in a state where the motor 100 is stopped. The processor 250 may estimate the rotor position of the motor 100 in each pulse width modulation (PWM) period.
[0064] The processor 250 may determine whether the rotor position estimation execution condition is satisfied. The processor 250 may determine whether the rotor position estimation execution condition is satisfied based on the speed command, the estimated speed in the immediately preceding period, the estimated speed in the current period, etc. As an example, when the speed command transmitted to the motor 100 is 0rpm, and when the speed (or motor speed) estimated in the immediately preceding period is not 0rpm and the speed estimated in the current period is 0rpm, the processor 250 may determine that the rotor position estimation execution condition is satisfied. In other words, when a stop command is transmitted to the motor 100 and when the motor 100 switches from a rotating state to a stopped state, the processor 250 may determine whether the rotor estimation execution condition is satisfied (or satisfied).
[0065] When it is determined that the rotor position estimation execution condition is established, the processor 250 may wait during a predetermined time (or waiting time) until the rotor 110 completely stops. At this time, the processor 250 may use the counter 230 to count the waiting time.
[0066] When the predetermined waiting time elapses, the processor 250 may control the power supply 210 to supply the phase voltage to the coil 130 of the stator 120. The power supply 210 may apply the phase voltage (eg, three-phase voltage) in the form of pulses to the stator 120 of the motor 100 according to the command of the processor 250.
[0067] The processor 250 may provide a phase voltage to the stator 120, and may measure the current flowing in the stator 120 using the current sensor 220. The processor 250 may estimate (or determine) the position of the rotor 110 based on the measured current value. The processor 250 may determine the position (or phase voltage vector or space voltage vector) at which the maximum current value among the measured current values is measured as the position of the rotor 110.
[0068] Processor 250 may calculate a difference between a first maximum current value and a second maximum current value in the measured current values. Processor 250 may identify whether the calculated difference is less than a predetermined reference value. When the calculated difference is less than the predetermined reference value, processor 250 may determine to retry estimating the position of rotor 110. In some examples, when the calculated difference is greater than or equal to the predetermined reference value, processor 250 may determine not to retry estimating the position of rotor 110.
[0069] Figure 5A and 5B Graphs showing an example of driving a motor according to whether there is an error in the initial position of a rotor when an open-loop control interval associated with the present disclosure is deleted.
[0070] When the initial position of the rotor 110 is erroneously identified after deleting the open-loop control interval, the motor control device 200 may perform motor control from the erroneous initial position of the rotor 110. Figure 5A ,When the initial position is erroneously identified, a drive delay of 0.1 seconds may occur due to drive synchronization failure at the start of the drive.
[0071] refer to Figure 5B , when the initial position of the rotor 110 is accurately identified after the open-loop control interval is deleted, since drive synchronization is successfully performed once the initial drive starts at the identified initial position, the motor driving can be performed without an initial delay.
[0072] Figure 6 is a diagram for describing an example of determining a time point when performing rotor position estimation associated with the present disclosure.
[0073] like Figure 6 As shown, the motor control device 200 can be used at the time point T when the motor 100 stops. 停止 The position of the rotor 110 of the motor 100 is estimated at the time point T at which the motor 100 is stopped immediately before. 停止 The estimated position of the rotor 110 at the restart time point T is set as the position of the rotor 110 of the motor 100 at the restart time point T 开始 The motor control device 200 may perform initial driving of the rotor 110 of the motor 100 from the set initial position.
[0074] Fig. 7A and 7B is a diagram for describing a rotor initial position estimation scheme associated with the present disclosure.
[0075] like Fig. 7A As shown, the processor 250 of the motor control device 200 may control the power supply 210 to apply a phase voltage in the form of a pulse to the stator 120 of the motor 100. The power supply 210 may apply the phase voltage based on a predetermined resolution (or stator inter-pole spacing). For example, when the resolution is set to 60 degrees, the power supply 210 may apply the phase voltage to the stator 120 at intervals of 60 degrees.
[0076] In addition, when applying the phase voltage to the stator 120, in order to prevent the rotor 110 from rotating according to the phase voltage application direction (or counterclockwise), the power supply 210 may apply the phase voltage in the rotation direction to sequentially apply the phase voltage in the symmetrical phase voltage vector direction. Fig. 7A , the motor control device 200 can set the phase voltage vector application sequence to V 1 (0 degrees), V 4 (180 degrees), V 2 (60 degrees), V 5 (240 degrees), V 3 (120 degrees) and V 6(300 degrees) order.
[0077] refer to Figure 7B , the motor control device 200 can set the phase voltage V 测试 is applied to the stator 120, and the current flowing in the stator 120 can be measured using the current sensor 220. The motor control device 200 can identify the current deviation of each phase voltage vector and estimate the position of the rotor 110. The motor control device 200 can identify the current deviation of each phase voltage vector ΔI=I 2 -I 1 , and the estimated position can be derived.
[0078] Figure 8 is a diagram for describing an estimation of an initial position of a rotor when a motor associated with the present disclosure is stopped.
[0079] refer to Figure 8 , the motor control device 200 may estimate the current speed (or rotation speed) when the motor 100 is braked. In other words, the motor control device 200 may transmit a stop command to the motor 100, and may estimate the current speed of the motor 100. When the estimated current speed reaches 0rpm, the motor control device 200 may apply a phase voltage to perform rotor position estimation. There may be a deviation between the estimated current speed and the actual motor rotation speed. In other words, the current speed of the motor 100 is estimated to be 0rpm, but the rotor 110 may actually be rotating. Therefore, when the current speed of the motor 100 is estimated to be 0rpm, the motor control device 200 may wait during a predetermined waiting time (or rotor stop waiting time), and may start applying a phase voltage. In other words, when it is estimated that the motor 100 stops, the motor control device 200 may wait until the rotor 110 of the motor 100 actually stops, and may apply a phase voltage. Because a deviation occurs according to the type of the motor 100, the waiting time may be preset by testing the motor 100 to be applied to the air compressor.
[0080] The motor control device 200 may apply the phase voltage a predetermined number of times when applying the phase voltage. The number of times the phase voltage is applied may be determined by the number of poles of the stator 120. In addition, the motor control device 200 may sense a current (or phase current) generated each time the phase voltage is applied.
[0081] Fig. 9 is a graph showing the results of testing rotor initial position estimation associated with the present disclosure.
[0082] The motor control device 200 may apply three-phase (or U-phase, V-phase, and W-phase) voltage to the stator 120 of the motor 100, and may measure a current value flowing in the stator 120. At this time, the motor control device 200 may measure the three-phase current.
[0083] The motor control device 200 may identify the position (or voltage vector) at which the maximum current value among the peak absolute values of the measured current values is measured. The motor control device 200 may estimate (or determine) the identified position as the initial position of the rotor 110. The motor control device 200 may compare the estimated initial position of the rotor 110 with the actual position of the rotor 110 to identify whether the initial position of the rotor 110 is estimated normally. Fig. 9 , it can be seen that the position of the rotor 110 is usually estimated by the motor control device 200 .
[0084] Fig.10 is a diagram for describing a phase voltage application scheme.
[0085] When applying phase voltage, motor control device 200 can apply phase voltage according to a predetermined pulse duty ratio, and can stop phase voltage output to wait. In other words, power supply 210 can apply phase voltage during a predetermined phase voltage output time, and can stop phase voltage output during a predetermined phase voltage output stop waiting time.
[0086] refer to Fig.10 , when the phase voltage is supplied to the stator 120, the current flowing in the stator 120 rises, and the current flowing in the stator 120 drops from the time point when the phase voltage supplied to the stator 120 is blocked. At this time, the current flowing in the stator 120 may have a certain slope to rise to 0A during a certain time. This is a phenomenon that occurs when the energy charged by the inductance of the rotor 110 and the DC link capacitor component is discharged. Because the motor control device 200 should apply the phase voltage when the current flowing in the stator 120 is 0A, the motor control device may block the phase voltage, and may wait for the time when the current drops to 0A to apply the next phase voltage.
[0087] Fig.11 is a diagram for describing the current measurement scheme.
[0088] The motor control device 200 may apply the phase voltage during a predetermined time. For example, the predetermined time may be the number of PWM periods, which may be predetermined by motor testing. When the phase voltage is applied, the phase current rises linearly.
[0089] The motor control device 200 may sense a first current value in a first period of PWM, and may sense a second current value in a last period of PWM. The motor control device 200 may calculate a difference between the first current value sensed in the first period and the second current value sensed in the last period. The motor control device 200 may set the calculated current value difference as a phase voltage vector Δ current. The motor control device 200 may measure the phase voltage vector Δ current of each phase, and may store a maximum value. The motor control device 200 may compare the maximum value of the phase voltage vector Δ current at each position, and may estimate the position with the maximum current value as the position of the rotor 110.
[0090] Fig.12 is a diagram for describing an example of a rotor position derivation scheme.
[0091] The motor control device 200 may determine the angle in the phase voltage vector angle array corresponding to the position having the maximum value in the array of the phase voltage vector Δ current (or the phase voltage vector current) as the initial position of the rotor 110. Fig.12 When 72.0A is the maximum value in the phase voltage vector current array, the motor control device 200 may determine an angle of 180 degrees in the phase voltage vector angle array mapped to the position where the phase current maximum value of 72.0A is stored in the phase voltage vector current array as the initial position of the rotor 110 .
[0092] Fig.13 is a diagram for describing a rotor position estimation re-attempt scheme.
[0093] After applying the phase voltage, the motor control device 200 may calculate the difference between the first maximum current value and the second maximum current value measured by the current sensor 220. The motor control device 200 may identify whether the calculated current value difference is less than a predetermined reference value. When it is identified that the calculated current value difference is less than a predetermined reference value (e.g., 3A), the motor control device 200 may determine the possibility of an error in the rotor position estimation. When it is determined that there is a possibility of an error in the rotor position estimation, the motor control device 200 may determine to retry estimating the position of the rotor 110. In other words, when the calculated current value difference is less than a predetermined reference value, the motor control device 200 may determine to retry estimating the position of the rotor 110. When it is determined to retry estimating the position of the rotor 110. The motor control device 200 may reapply the phase voltage.
[0094] In addition, before reapplying the phase voltage, the motor control device 200 may change the position of the rotor 110. For example, the motor control device 200 may apply a predetermined current (e.g., 35 A) to the d-axis (or 0 degree position) on the stationary coordinate system of the stator 120 for a predetermined time (e.g., 0.1 seconds) to change the position of the rotor 110.
[0095] After changing the position of the rotor 110, the motor control device 200 may reapply the phase voltage. After reapplying the phase voltage again, the motor control device 200 may measure the current value using the current sensor 220. The motor control device 200 may calculate the difference between the first maximum current value and the second maximum current value in the measured current value. When the calculated current value difference is greater than or equal to a predetermined reference value, the motor control device 200 may determine (or estimate) the current estimated position as the final position of the rotor 110. The number of retries may be limited to a predetermined number of times (e.g., 3 times).
[0096] When the position of the rotor 110 is a boundary point of the position resolution or when the current deviation is not significant at a specific position due to the motor manufacturing deviation, as the discrimination of the maximum current waveform decreases, there may be a possibility of error in the rotor position estimation. In other words, as the difference between the first maximum current value and the second maximum current value decreases to a certain level or less, the wrong position can be estimated. Therefore, when the difference between the first maximum current value and the second maximum current value is less than the reference current value, the motor control device 200 can reapply the phase voltage again, and the rotor position estimation can be performed again. Because the same problem is repeated when the phase voltage is re-applied, the motor control device 200 can apply current to a predetermined specific position of the stator 120 to rotate the rotor 110, and the position of the rotor 110 can be changed before the phase voltage is reapplied, and the phase voltage can be reapplied. In this way, the motor control device 200 can improve the accuracy of the initial position estimation of the rotor 110.
[0097] Fig.14A is a diagram used to describe normal rotor position estimation. Fig. 14B is a diagram for describing the rotor position re-estimation.
[0098] refer to Fig.14A , when the first maximum current value is 120 A and when the second maximum current value is 90 A, the motor control device 200 may calculate the difference between the first maximum current value and the second maximum current value. When the calculated current value difference is 30 A and is greater than a predetermined reference value of 3 A, the motor control device 200 may determine the position at which the first maximum current value is measured, i.e., 60 degrees, as the initial position of the rotor 110.
[0099] refer to Fig. 14B, when the first maximum current value is 120A and when the second maximum current value is 118A, the motor control device 200 may calculate the difference between the first maximum current value and the second maximum current value, and may identify whether the calculated current value difference of 2A is less than a predetermined reference value of 3A. When the calculated current value difference is less than the predetermined reference value, the motor control device 200 may form an induced magnetic flux at a specific position (e.g., 0 degrees) of the stator 120 and may change the position of the rotor 110. After changing the position of the rotor 110, the motor control device 200 may reapply the phase voltage, and may re-estimate the position of the rotor 110. For example, when the difference between the first maximum current value and the second maximum current value in the current value measured after the phase voltage is reapplied is greater than or equal to the predetermined reference value, the motor control device 200 may finally determine 60 degrees at which the first maximum current value is measured as the initial position of the rotor 110.
[0100] Figures 15A to 15C is a flow chart illustrating an example of a method for estimating a position of a rotor of an electric machine.
[0101] In S110, the processor 250 of the motor control device 200 may determine whether the rotor position estimation execution condition is satisfied. The processor 250 may determine whether the rotor position estimation execution condition is satisfied based on the speed command, the estimated speed in the immediately previous period, the estimated speed in the current period, etc. As an example, when the speed command transmitted to the motor 100 is 0 rpm and when the estimated speed (or motor speed) in the immediately previous period is not 0 rpm and the estimated speed in the current period is 0 rpm, the processor 250 may determine that the rotor position estimation execution condition is satisfied.
[0102] When it is determined that the rotor position estimation execution condition is met, in S120, the processor 250 may determine to wait for the rotor 110 to stop. The processor 250 may set the rotor stop waiting flag to "1". In some examples, when it is determined that the rotor position estimation execution condition is not met, the processor 250 may execute S130.
[0103] In S130, the processor 250 may determine whether to wait for the motor 100 to stop. The processor 250 may identify whether the rotor stop wait flag is set to "1". When the rotor stop wait flag is set to "1", the processor 250 may determine to wait for the motor 100 to stop.
[0104] When it is determined that the motor 100 stops, in S140, the processor 250 may increase the rotor stop waiting counter by "+1" per period. The processor 250 may count the rotor stop waiting time. When it is determined that the operation state is not the motor stop waiting state, the processor 250 may execute S150.
[0105] In S150, the processor 250 may identify whether the rotor stop wait count output from the rotor stop wait counter is greater than or equal to the rotor stop wait reference count. The processor 250 may determine whether the counted rotor stop wait time is greater than a predetermined reference wait time. The processor 250 may use the rotor stop wait counter to count the time until the rotor 110 stops waiting (i.e., the rotor stop wait count).
[0106] When the rotor stop waiting count is greater than or equal to the rotor stop waiting reference count, in S160, the processor 250 may set the phase voltage application start flag to "1". In other words, when the counted rotor stop waiting time is greater than the predetermined reference waiting time, the processor 250 may determine to apply the phase voltage. In addition, the processor 250 may initialize the rotor stop waiting counter to "0" and may also initialize the rotor stop waiting flag to "0". When the rotor stop waiting count is less than the rotor stop waiting reference count, the processor 250 may execute S170.
[0107] In S170 , the processor 250 may identify whether the phase voltage application start flag is set to “1”.
[0108] When the phase voltage application start flag is set to "1", in S210, the processor 250 may identify whether the phase voltage vector count is less than a predetermined phase voltage vector reference count (e.g., 6). The processor 250 may apply the phase voltage, and when the application of the phase voltage is completed, the phase voltage vector counter may be increased by "1". The phase voltage vector reference count may be determined by the number of poles of the stator 120 (i.e., the number of divided space voltage vectors). In some examples, when the phase voltage application start flag is set to "1", the processor 250 may return to S110.
[0109] When the phase voltage vector count is less than the predetermined phase voltage vector reference count, the processor 250 may identify whether the phase voltage output stop waiting flag is "0" in S220.
[0110] When the phase voltage output stop waiting flag is "0", in S230, the processor 250 may identify whether the phase voltage application count is "1". The processor 250 may identify whether the phase voltage application count output from the phase voltage application counter is "1". In some examples, when the phase voltage output stop waiting flag is "1", the processor 250 may perform operations from S310 onwards.
[0111] When the phase voltage application count is "1", in S240, the processor 250 may store the first current value. When the phase voltage application count is "0", the processor 250 may perform operations from S250.
[0112] In S250 , the processor 250 may identify whether the phase voltage application count is identical to a predetermined phase voltage application reference count.
[0113] When the phase voltage application count is identical to the phase voltage application reference count, the processor 250 may store the last current value in S260. When the phase voltage application count is not identical to the phase voltage application reference count, the processor 250 may perform operations from S280 onwards.
[0114] After storing the last current value, the processor 250 may set the phase voltage output stop waiting flag to "1" in S270.
[0115] In S280 , the processor 250 may increase the phase voltage application counter by “+1.” Thereafter, the processor 250 may return to S220 .
[0116] When the phase voltage output stop waiting flag is not "0" in S220, the processor 250 may increase the phase voltage output stop waiting counter by "+1" in S310. In other words, when the phase voltage output stop waiting flag is "1", the processor 250 may increase the phase voltage output stop waiting counter by "+1".
[0117] In S320, the processor 250 may identify whether the phase voltage output stop wait count counted by the phase voltage output stop wait counter is greater than or equal to a predetermined phase voltage output stop wait reference count. The processor 250 may increase the phase voltage output stop wait counter by "1" in each PWM period, and may wait until the phase voltage output stop wait count reaches the predetermined phase voltage output stop wait reference count.
[0118] When the phase voltage output stop waiting count is greater than or equal to the predetermined phase voltage output stop waiting reference count, in S330, the processor 250 may increase the phase voltage vector counter. When the application of the phase voltage is completed for each position, the processor 250 may increase the phase voltage vector counter by "1". The phase voltage vector counter may output the increased phase voltage vector count to the processor 250.
[0119] In S340, the processor 250 may identify whether the phase voltage vector count is greater than the phase voltage vector reference count. In other words, the processor 250 may determine whether the application of the phase voltage to the six positions is completed. When the phase voltage output stop waiting count counted in S320 is less than the predetermined phase voltage output stop waiting reference count, or when the phase voltage vector count is less than or equal to the phase voltage reference count in S340, the processor 250 may return to S100.
[0120] When the phase voltage vector count is greater than the phase voltage vector reference count, the processor 250 may store the maximum value position in the phase voltage vector current array in S350. The processor 250 may identify the position of the maximum current value in the phase voltage vector current array.
[0121] In S360, the processor 250 may determine an estimated position in the phase voltage vector angle array. The processor 250 may estimate the phase voltage vector angle mapped to the maximum current value position in the phase voltage vector current array in the phase voltage vector angle array as the rotor position.
[0122] Next, in S370 , the processor 250 may identify whether a difference between the first maximum current value and the second maximum current value is less than a predetermined reference value.
[0123] When the difference between the first maximum current value and the second maximum current value is less than the predetermined reference value, in S380, the processor 250 may set the phase voltage application function retry flag to "1". When the difference between the first maximum current value and the second maximum current value is less than the predetermined reference value, the processor 250 may retry to estimate the position of the rotor 110.
[0124] When the difference between the first maximum current value and the second maximum current value is not less than the predetermined reference value, in S390, the processor 250 may set the phase voltage application function retry flag to "0". When the difference between the first maximum current value and the second maximum current value is not less than the predetermined reference value, the processor 250 may not retry to estimate the position of the rotor 110, and may determine the rotor position estimated in S360 as the final rotor position.
[0125] Implementations of the present disclosure may apply a pulse voltage application scheme to improve the estimation accuracy of the initial position of the rotor even in a state where the motor is stopped.
[0126] Furthermore, when position sensorless control is performed in a stopped state, implementations of the present disclosure may improve initial drive control stability.
[0127] In the above, although the present disclosure has been described with reference to exemplary implementations and drawings, the present disclosure is not limited thereto, and a person skilled in the art to which the present disclosure belongs may make various modifications and changes to the present disclosure without departing from the spirit and scope of the present disclosure claimed in the following claims. Therefore, the implementation of the present disclosure is not intended to limit the technical spirit of the present disclosure, but is provided only for illustrative purposes. The scope of the present disclosure should be interpreted based on the attached claims, and all technical ideas within the scope equivalent to the claims should be included in the scope of the present disclosure.
Claims
1. A motor control device, comprising: a power supply configured to provide a phase voltage to a stator of the motor; a current sensor configured to measure a stator current in the stator; as well as a processor connected to the power supply and the current sensor, wherein the processor is configured to: Determine whether the rotor position estimation execution conditions are met, applying the phase voltage to the stator of the motor based on determining that the rotor position estimation execution condition is satisfied, measuring the stator current, estimating a position of a rotor of the electric machine based on a first maximum current value among a plurality of measured current values of the stator current, and Whether to retry estimating the position of the rotor is determined based on a difference between the first maximum current value and the second maximum current value of the plurality of measured current values.
2. The motor control device according to claim 1, wherein the processor is configured to: determining whether the difference between the first maximum current value and the second maximum current value is less than a predetermined reference value; and Based on determining that the difference between the first maximum current value and the second maximum current value is less than the predetermined reference value, it is determined to retry estimating the position of the rotor.
3. The motor control device according to claim 1, wherein the processor is configured to: changing the position of the rotor based on determining to re-attempt to estimate the position of the rotor; and After the position of the rotor is changed, the position of the rotor is re-estimated by reapplying the phase voltage to the stator. 4 . The motor control device according to claim 1 , wherein the processor is configured to set the estimated position of the rotor as the initial position of the rotor based on a determination not to re-attempt estimating the position of the rotor. 5 . The motor control device according to claim 1 , wherein the processor is configured to determine that the rotor position estimation execution condition is satisfied based on the motor switching from a rotating state to a stopped state in response to a stop command transmitted to the motor.
6. The motor control device according to claim 1, wherein the processor is configured to: determining whether a predetermined time has elapsed until the rotor of the motor stops rotating; and Applying the phase voltage to the stator is initiated based on determining that the predetermined time has elapsed.
7. The motor control device according to claim 1, wherein the processor is configured to: intermittently applying the phase voltage to the stator based on a predetermined pulse duty cycle; determining whether the stator current is blocked; as well as The next phase voltage is applied based on the stator current being blocked. 8 . The motor control device according to claim 1 , wherein the phase voltage comprises a three-phase voltage having one or more pulses.
9. The motor control device according to claim 1, wherein the processor is configured to: sensing, by the current sensor, a first current value of the stator current in a first period of pulse width modulation (PWM) of the phase voltage; sensing, by the current sensor, a second current value of the stator current in a last period of the PWM; calculating a current value difference between the first current value and the second current value; as well as The phase voltage vector current is set based on the calculated current value difference.
10. The motor control device according to claim 1, wherein the processor is configured to: identifying a position corresponding to the first maximum current value in a phase voltage vector current array, the phase voltage vector current array comprising a plurality of current difference values between the plurality of measured current values; and The position of the rotor is determined based on an angle mapped to an identified position corresponding to the first maximum current value in a phase voltage vector angle array, the phase voltage vector angle array including a plurality of angles mapped to a plurality of positions corresponding to a plurality of maximum current values.
11. A method for estimating the position of a rotor of an electric machine, the method comprising the steps of: Determine whether the rotor position estimation execution condition is met; applying a phase voltage to a stator of the motor based on determining that the rotor position estimation execution condition is satisfied; measuring a stator current in the stator of the motor; estimating a position of the rotor of the electric machine based on a first maximum current value among a plurality of measured current values; as well as Whether to retry estimating the position of the rotor is determined based on a difference between the first maximum current value and the second maximum current value of the plurality of measured current values.
12. The method according to claim 11, further comprising the steps of: determining whether the difference between the first maximum current value and the second maximum current value is less than a predetermined reference value; as well as Based on determining that the difference between the first maximum current value and the second maximum current value is less than the predetermined reference value, a determination is made to re-attempt estimating the position of the rotor.
13. The method according to claim 11, further comprising the steps of: changing the position of the rotor based on determining to re-attempt to estimate the position of the rotor; as well as After the position of the rotor is changed, the position of the rotor is re-estimated by reapplying the phase voltage to the stator.
14. The method according to claim 11, further comprising the steps of: The estimated position of the rotor is determined as an initial position of the rotor based on determining not to re-attempt estimating the position of the rotor.
15. The method according to claim 11, further comprising the steps of: The rotor position estimation execution condition is determined to be established based on the motor switching from a rotating state to a stopped state in response to a stop command transmitted to the motor.
16. The method according to claim 11, further comprising the steps of: determining whether a predetermined time has elapsed until the rotor of the motor stops rotating; as well as Applying the phase voltage to the stator is initiated based on determining that the predetermined time has elapsed.
17. The method of claim 11, wherein applying the phase voltage to the stator of the motor comprises: intermittently applying the phase voltage to the stator based on a predetermined pulse duty cycle; determining whether the stator current is blocked; as well as The next phase voltage is applied based on the stator current being blocked.
18. The method of claim 11, wherein the phase voltage comprises a three-phase voltage having one or more pulses.
19. The method of claim 11, wherein measuring the stator current comprises: sensing a first current value of the stator current in a first period of pulse width modulation (PWM) of the phase voltage; sensing a second current value of the stator current in a last period of the PWM; calculating a current difference between the first current value and the second current value; as well as The phase voltage vector current is set based on the calculated current value difference.
20. The method of claim 11, wherein estimating the position of the rotor comprises: identifying a position corresponding to the first maximum current value in a phase voltage vector current array, the phase voltage vector current array comprising a plurality of current difference values between the plurality of measured current values; as well as The position of the rotor is determined based on an angle mapped to an identified position corresponding to the first maximum current value in a phase voltage vector angle array, the phase voltage vector angle array including a plurality of angles mapped to a plurality of positions corresponding to a plurality of maximum current values.
Citation Information
Patent Citations
Nonaqueous electrolyte secondary battery separator, nonaqueous electrolyte secondary battery member, and nonaqueous electrolyte secondary battery
KR1020230131147A