Low-speed sensorless rotor angle estimation
By injecting periodic signals into the brushless DC motor and demodulating the current component, combined with lookup table and phase compensation logic, the problem of low rotor angle estimation accuracy at low rotor speed is solved, and robust and accurate angle estimation is achieved when load step changes are achieved.
Patent Information
- Application Number
- CN201911154130.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-11-23
- Filing Date
- 2019-11-22
- Publication Date
- 2025-05-13
- Estimated Expiration
- 2039-11-22
AI Technical Summary
The prior art is difficult to effectively estimate the rotor angle of brushless DC motors at low rotor speeds, especially when load step changes, which may lead to linear collapse of the PLL model, affecting the accuracy of angle estimation.
By injecting periodic signals into the field orientation controller of the brushless motor, the phase current of the stator winding is measured, the d-axis and q-axis currents are demodulated to extract the sinusoidal and cosine components of the rotor angle, and these components are processed through lookup tables and phase compensation logic to improve the accuracy of angle estimation.
This method improves the accuracy of rotor angle estimation at low rotor speed, overcomes the linear collapse problem of PLL model during load step changes, and provides more robust and accurate angle estimation, suitable for large-load step scenarios.
Smart Images

Figure CN111224583B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to rotor angle estimation of a permanent magnet brushless DC motor. Background Art
[0002] Permanent magnet (PM) brushless DC (BLDC) motors are used in computer peripherals (disk drives, printers), handheld power tools, vehicles from model aircraft to cars, etc. PM BLDC motors eliminate the need for brushes and offer high power-to-weight ratio, high speed, and high torque generation.
[0003] A permanent magnet motor is a type of motor in which a fixed stator causes a movable rotor to rotate. The rotor typically includes multiple magnets embedded in or attached to the rotor, and the stator typically includes multiple conductive windings. Current in the windings generates a rotating magnetic field that interacts with the rotor's magnets, causing the rotor to rotate. Because the stator has multiple windings, the motor load seen by the controller is inductive.
[0004] "Sensorless" motor control refers to a method of mathematically deriving one or more characteristics of a motor, such as motor speed or rotor position, without direct sensor measurement. Sensorless motor control generally avoids the use of separate speed and position sensors mechanically attached to the motor. Summary of the invention
[0005] The brushless motor controller injects a periodic signal into a field orientation controller of the brushless motor. The phase currents in the stator windings of the brushless motor are measured. The d-axis current and the q-axis current are determined by transformation of the phase currents. The d-axis current and the q-axis current are demodulated to extract an angle-dependent current feature, which includes a sine component for rotor angle estimation and a cosine component for rotor angle estimation. The rotor angle estimation is determined by processing the sine component and the cosine component. BRIEF DESCRIPTION OF THE DRAWINGS
[0006] Figure 1 is a cross-sectional view of a motor with a permanent magnet rotor.
[0007] Figure 2 Shown with Figure 1 Various coordinate systems associated with the rotor and motor.
[0008] Figure 3 is a block diagram of sensorless motor control based on periodic signal injection.
[0009] Figure 4 Yes, you can Figure 3 A more detailed block diagram of a position sensor used to extract position information within sensorless drive control.
[0010] Figure 5is a block diagram of a PLL observer used to determine the rotor angle.
[0011] Figure 6 is a block diagram of a Luenberger observer for determining the rotor angle.
[0012] Figure 7 is a graph showing significance based inductance characteristics as a function of rotor angle.
[0013] Figure 8 is a block diagram of the rotor angle estimation logic using a lookup table (LUT) and phase compensation.
[0014] 9A to 9C is a graph showing the operation of the PLL observer.
[0015] FIG. 10A to FIG. 10C , FIG. 11A to FIG. 11C and FIG. 12A to FIG. 12C It is shown Figure 8 A graph of the operation of the rotor angle estimation logic.
[0016] Fig.13 It is shown Figure 3 A block diagram of the position / velocity estimation logic in more detail.
[0017] Fig.14 is a flow chart of rotor angle estimation using LUT and compensation logic.
[0018] Fig.15 is a flow chart of rotor angle estimation using a combination of techniques. DETAILED DESCRIPTION
[0019] In the drawings, similar elements are denoted by similar reference numerals for consistency.
[0020] The challenges of low-speed sensorless position estimation are well documented; see, e.g., MJ Corley and RD Lorenz, "Rotor position and velocity estimation for a salient pole PMSM at standstilland high speeds". The lack of an effective back-EMF signal at low rotor speeds necessitates the use of high-frequency signal injection methods that exploit rotor saliency to estimate the rotor angle based on rotor position-dependent features in the voltage and current. These algorithms can be divided into two stages, namely, extraction of features that depend on the position error, followed by a tracking observer (such as a phase-locked loop (PLL)) that updates the estimated position in order to drive the position error to zero. Such methods may fail under large step changes in load due to linear breakdown of the PLL model.
[0021] This paper proposes a method that overcomes the limitations in PLL model based rotor position sensing caused by large step changes in load that may cause linearity breakdown of the PLL model. The method described below improves the angle estimation accuracy by compensating for the phase lag introduced by the demodulation process. Information from the sine and cosine components of the angle error may be employed at higher angle error values where previous methods fail. The effective use of the angle error information at large angle error values provides a robust solution and is extendible to any mapping between angle error and current signatures.
[0022] As will be described in more detail below, extracting angle information from the d and q channels and then executing a lookup table (LUT) and phase compensator block may be performed. By compensating the demodulation function in this way, improved estimation accuracy may be provided at slow motor speeds.
[0023] The systems and methods used vary depending on the speed of the motor. When the motor is stationary, or more specifically, when the rotor is stationary relative to the stator, the position of the rotor is determined by injecting a square wave voltage into the motor and measuring the position or phase and direction of the magnetic flux. The position of the rotor refers to the angle of the rotor, and the terms "rotor position" and "rotor angle" are used as synonyms. When the motor is operated at low speed, the rotor speed is determined by injecting or superimposing a square wave onto the drive voltage of the motor and measuring the current flowing into the motor. When the motor is operated at high speed, conventional systems and methods based on back electromotive force (electromagnetic field) can be used to determine the position of the rotor.
[0024] Figure 1 A cross-sectional view of an example motor 100 is shown in . The motor 100 includes a stator 102 and a rotor 104. The stator 102 is stationary and the rotor 104 rotates relative to the stator 104. The stator 102 has a plurality of teeth 108 extending adjacent to the rotor 104. Each of the teeth 108 is wound by a conductor to form a coil or winding 110 that generates a magnetic field when current flows in the conductor. The rotor 104 has a single magnet or multiple magnets attached thereto. In the examples described herein, the rotor 104 has a single magnet attached thereto or located therein. Figure 1 In the example of , the magnets in the rotor 104 have orientations represented by their north poles N and south poles S, respectively. The motor 100 operates by changing the magnetic field generated by the windings 110, which causes the teeth 108 to push or pull the magnets in the rotor 104, which in turn rotates the rotor 104. Thus, the speed and torque of the motor 100 are controlled by controlling the current input to the motor 100 (which is input to the stator 102).
[0025] The maximum torque of the motor 100 is generated when the orientation of the input current waveform entering the winding 110 is approximately perpendicular to the position of the magnetic flux field in the rotor 104. For a permanent magnet motor, such as the motor 100, the magnetic flux orientation is equal to the position of the rotor 104. As a result, the maximum torque can be obtained in the motor 100 if the instantaneous position of the rotor 104 is known so that the input current can be positioned accordingly. The current position refers to the phase of the input current in the winding 110 relative to the position of the rotor 104. By using the apparatus and methods disclosed herein, the position of the rotor 104 is quickly determined, which allows the motor controller (in Figure 1 ) can maximize the torque output of motor 100.
[0026] Figure 2 Shown with Figure 1 The various coordinate systems associated with the rotor 104 and the motor 100 are based on Figure 1 The currents id and iq are referenced to the currents associated with the stator 102 of the motor 100, which are referenced to the rotor 104. The currents id and iq are related to the q-axis 202 and d-axis 201 of the motor 100 and are fixed relative to the rotor 104. The d / q axes are related to the field orientation control of the motor 100 and are orthogonal. The iM-axis 203 and the iN-axis 204 are arbitrary axes used as a reference for determining the position of the rotor 104. The iM-axis and the iN-axis may be predetermined axes in the motor 100 from which the position of the rotor 104 is determined. i a Axis 205 and i β Axis 206 represents an orthogonal coordinate system, where i a The shaft is aligned with the motor windings as described below. a Axis and i M The angle of the rotor 104 between the shafts is referred to as angle θ 207. The rotation angle θ R 208 is defined as i a Axis and i d The angle between the axes. As the rotor 104 rotates, the rotation angle θ R changes, and the change per unit time is equal to the speed of the rotor 104 .
[0027] Figure 3 is a block diagram of a sensorless motor control based on periodic signal injection (PSI). Table 1 lists various terms used in the following figures and discussion.
[0028] Table 1 Symbols and notes
[0029]
[0030] The field orientation controller 300 includes a speed controller 302 that receives a reference speed input signal ω from a user or an external source. refThe speed controller 302 inputs the reference speed ω ref The estimated velocity output from the position / velocity estimation logic 320 The output of the speed controller 302 is a reference current in the q-axis, which is compared with the measured current in the q-axis by the current controller 304. The current controller 304 generates a q-axis voltage V q . It also receives input from an external source I d,ref , and is compared with the measured current I by the current controller 304. d By comparison, the current controller 304 generates the d-axis drive voltage V d .
[0031] In this example, the periodic signal 306 is an approximately square wave signal with a frequency in the range of about 2 KHz to 10 KHz. Figure 2 The periodic signal 306 is injected into the output of the current controller 304 via the adder 307 in the dq coordinate system 201, 202 of FIG. The periodic signal 306 causes a periodic component of the drive voltage Vd, which is demodulated into a periodic component with an amplitude and a A proportional signal, It is twice the sine of the angular error.
[0032] Voltage V q and V d Input to the inverse Park transform logic 308, which generates a voltage V in the α / β domain αβ , see Figure 2 Axles 205, 206 in the middle.
[0033] The voltage V in the α / β domain αβ The three-phase PWM signal is then input to the space vector modulator (SVM) 310. The SVM 310 generates a three-phase drive signal for the motor 100, performs pulse width modulation (PWM) on it, and amplifies the resulting PWM signal. The amplified three-phase PWM signal is then provided to the three-phase inverter 312 to drive the motor 100.
[0034] A current sensor (not shown) monitors the current provided by the inverter 312 into the motor 100. The current sensor can be a low value resistor that produces a voltage signal proportional to the phase current in the motor 100. In some examples, one of the three phases is monitored, and in other examples, two or three phases are monitored. The voltage signal is an analog value and is input to an analog-to-digital converter (ADC) 314, which outputs a digital value representing the measured current. The digital value of the current is input to a Clarke transform function 316, which outputs an alpha / beta domain current I α ,I β or current Iα ,I β For the representation of Figure 2 Axles 205, 206 in the middle.
[0035] Current I αβ is input to a Park transform function 318 which performs a Park transform. As described in more detail below, the estimated rotor angle is input to the Park transform 318. The Park transform function 318 generates the current i as described above. q and i d Or a value representing an estimate of the current. The Park transform device 318 uses the rotor angle Determine or calculate the current i q and i d The output current of the Park transform function 318 is input to the current controller 304 .
[0036] α / β domain current I αβ or current I αβ A representation of is also input to the position / velocity estimation (PSE) logic 320. The PSE logic 320 uses the PLL tracking observer 424 ( Figure 4 ) or Lumberg Observer 624 ( Figure 6 ) generates an estimated rotor angle and the estimated speed
[0037] Figure 4 It can be used for Figure 3 A more detailed block diagram of a tracking observer-based position estimator 420 for extracting position information in a sensorless drive control of a 3D image sensor. As described above, the periodic signal 306 results in a periodic current component that is demodulated to generate a periodic current component whose amplitude variation is related to the current component. That is, a signal proportional to twice the sine of the angle error, as shown in Expression 1.
[0038]
[0039] When a periodic voltage signal is injected into the d-axis of the estimated reference frame, the high-frequency components of the reflected current in the d-axis and the q-axis are given by Expression (2).
[0040]
[0041] A more detailed mathematical analysis of signal injection is provided in U.S. Patent No. 9,270,220, entitled “Circuits and Methods of Determining Position and Velocity of a Rotor”, issued on February 23, 2016, which is incorporated herein by reference. The term “p” used herein in expression (1) represents the derivative operator d / dt. Expanding expression (1) produces the same equation as shown in U.S. Patent No. 9,270,220.
[0042] Obviously, the error signal in the current is modulated by the carrier frequency. The Park transform 421 is obtained from the current I α ,I β Generates q-axis current I q The q-axis current in the estimated reference frame is Demodulated by demodulation logic 422 and low pass filtering (LPF) in LPE 432 to attenuate 2ω i The purpose of this step is to extract the high-frequency components proportional to the error signal.
[0043] One method is based on the following principle: when the angle error is small, That is, the output of the demodulation step can be used as a surrogate for the position error. The observer can be designed to drive the angle error to zero and extract the rotor angle.
[0044] Figure 5 is a PLL observer 424 that can be used to determine the rotor angle ( Figure 4 ) is a more detailed block diagram of the PLL observer 424. The PLL observer 424 includes a proportional gain (Kp) block 501 and an integral gain (Ki) block 502.
[0045] Figure 6 can be used to replace PLL observer 424 ( Figure 4 ) to determine the rotor angle. The Romberg observer is a block diagram of a Romberg observer 624 for determining ... θ Therefore, it has an effect on Δi N The current value is operated due to the injected square wave signal. N When the Lumberg observer 624 converts the error signal e θ When the drive is zero, the angle θ enters θ R ,i M Axis and i d Axis alignment and iN axis with i q Axis alignment. Error e θ Can be Figure 2 The rotor angle θR 208 and Figure 2 When the Lumberg observer 624 converts the error e θ When the drive is zero, any angle θ is equal to the rotor angle θ R , and thus the output of the Romberg observer (θ) is the rotor angle θ R .
[0046] The constants K1, K2, and K3 are observer gains, which are set to make the poles of the Romberg observer 624 stable. Mathematically, the poles of the transfer function of the Romberg observer 624 are analyzed to ensure that they are in the left half plane of the s-domain, which ensures stability. Because the Romberg observer 624 is stable, the error e is guaranteed to be θ becomes zero in a finite amount of time. The term b is the viscous damping term, which represents Figure 1 , where the torque is proportional to the angular velocity ω. The term J is the rotational inertia experienced by the motor 100 and is derived in the conventional manner from the rotor shaft and any inertial loads. Using the small angle approximation and the Romberg observer 624, the error It can be written as expression (3).
[0047]
[0048] The constant K is defined by expression (4).
[0049]
[0050] By using the Romberg observer 624, the system is guaranteed to converge if the poles of the observer are designed correctly. The inductance changes very little, so the term L2 is of small value and will not have a very significant effect on the value of K. In some embodiments, the inductance is used as a function of the rotor angle θ R The function of is measured, so the value of L2 is measured.
[0051] Figure 7 is a graph showing the significance-based inductance signature as a function of rotor angle. As described above, using only the sinusoidal component of the error term to resolve position introduces ambiguity in the angle estimate. This ambiguity in the angle estimate is shown at rotor angles 701, 702, 703, 704, where a given inductance value may correspond to four different values of the rotor angle per cycle, such as in cycle 705, which covers a full rotation of 2π radians.
[0052] Part of this ambiguity, the factor of 2, is due to the fact that the periodic component in the current is a function of twice the angular error. Therefore, both North-South (NS) and South-North (SN) rotor orientations result in the same inductance value. This problem can be solved by taking advantage of the saturation behavior of the rotor core, as described in U.S. Patent 9,270,220, entitled “Circuits and Methods of Determining Position and Velocity of a Rotor,” issued on February 23, 2016, which is incorporated herein by reference. Figure 1 ) relative to the stator winding 110 ( Figure 1 ) is used to determine the orientation of the rotor 104. In this case, the injected signal 306 ( Figure 3 ) is a square wave. Calculate the average current value caused by the injected voltage square wave. For the case where the average current is greater than zero, the rotor 104 and the stator 102 ( Figure 1 ) are aligned. For the case where the average current is less than zero, the rotor 104 is opposite to the stator 102. When the rotor 104 is opposite to the stator 102, the rotor angle θ re π should be adjusted.
[0053] The remaining factor of 2 in the rotor position ambiguity is due to the fact that only the sinusoidal component of the angle error is used in the estimation process. The low pass filtering logic 423 ( Figure 4 ) introduces a phase delay in the error signal. Therefore, the low-pass filtered demodulated error signal is The phase delay introduced by the low-pass filter increases with the desired attenuation of the periodic components of the demodulated signal. As the magnitude of the angle error becomes larger, this assumption This behavior may be caused by a sudden large load transient, during which the actual rotor angle may deviate significantly from the estimated rotor angle.
[0054] Figure 8 8 is a block diagram of rotor angle estimation logic 820 using a lookup table (LUT) 827 and phase compensation logic 828. The rotor angle estimation (RAE) logic 820 may be included in the position / speed estimation logic 320 ( Figure 3 ) in. Park transformation logic 821 is derived from Clark transformation logic 316 ( Figure 3 ) receives the α / β domain current I α ,I β The RAE logic 820 attempts to transform the components generated by the Park transform logic 821 by and The two are demodulated to extract the sine and cosine components of the angle error. i t) to demodulate I d The current is low-pass filtered using LPF 825. The multiplier 823 uses sin(ω i t) Demodulation I q The current is low-pass filtered using LPF 826. The demodulated q-axis component contains the DC term shown in expression (5), which can be derived from equation (2).
[0055]
[0056] Assume that we know the injected signal V i The amplitude and frequency ω i and inductors L0 and L2, which can be subtracted by subtractor 824. Standard averaging methods for removing DC components are limited at lower speeds, where the attenuation provided by the averaging function is small. In other examples, the DC term can be removed using another known or later developed technique.
[0057] The output of the demodulation stage may be processed by a lookup table 827 to extract an intermediate estimate of the rotor angle. For example, the LUT may be created based on a simulation of the motor or by measurements of an actual motor. The LUT may be organized as a two-dimensional array that is indexed using both the sine and cosine components.
[0058] This estimate is further corrected for the phase lag introduced by the demodulation filter using LPF phase compensation logic 828 to obtain an accurate estimate of the rotor angle. The compensation logic 828 generates the rotor angle This is then provided to the Park transform logic 318 ( Figure 3 ) and Park transformation logic 821, which generates d-axis current and q-axis current. Compensation logic 828 also generates rotor speed estimates This is then provided to the speed control logic 302 ( Figure 3 ).
[0059] As can be seen from expression (2), the sine and cosine parts of the angle error are modulated by the injected frequency. Therefore, they are first demodulated to baseband and low-pass filtered to remove high-frequency demodulation byproducts. The DC offset present as an additive term to the cosine component is first removed. The angle is initially estimated via a lookup table (LUT) that implements an inverse tangent function in a simple case or a more complex mapping that represents the relationship between the angle error and the current characteristic. For example, the complex mapping can be determined by simulating the motor or by testing the actual motor.
[0060] 9A to 9Cis a graph showing the operation of a motor with motor control using only a PLL tracking observer. Fig. 9A is a graph of load (in Newton meters) versus time; Fig. 9B is a graph of rotor speed (in Hertz) versus time (in seconds); Fig. 9C are plots of rotor angle (in radians) versus time (in seconds). These plots illustrate that PLL-based tracking methods may fail when large load steps cause the PLL to lose lock and cause the "small angle error" assumption to become invalid. In this example, as indicated at 901, a 73% rated load step applied to a fixed rotor at a time equal to 2 seconds causes the PLL to lose lock.
[0061] FIG. 10A to FIG. 10C , FIG. 11A to FIG. 11C and FIG. 12A to FIG. 12C It is shown that the use Figure 8 A graph of the rotor angle estimation logic for the operation of a motor with motor control. Fig. 10A , Fig.11A and Fig. 12A It is a graph of load (in Newton meters) versus time (in seconds). Fig. 10B , Fig. 11B and Fig. 12B is a graph of rotor speed in Hertz versus time in seconds. Fig. 10C , Fig. 11C and Fig. 12C is a graph of the rotor angle in radians versus time in seconds. Note that 360 degrees is equivalent to 2π radians.
[0062] FIG. 10A to FIG. 10C The operation of the motor 100 at zero speed is shown, as indicated at 1001, with a 120% load applied for a time equal to two seconds. The LUT rotor angle estimation logic 820 ( Figure 8 ) successfully tracks the rotor angle at zero speed, as indicated at 1002.
[0063] FIG. 11A to FIG. 11C The operation of the motor 100 at zero load is shown, as indicated at 1101, transitioning from zero rotation to 40 Hz electrical speed in a time equal to two seconds. The LUT rotor angle estimation logic 820 ( Figure 8 ) successfully tracks the rotor angle, as indicated at 1102.
[0064] FIG. 12A to FIG. 12C The operation of the motor 100 at a speed of 40 Hz electrical speed is shown, as indicated at 1201, with a 120% load applied for a time equal to two seconds. The LUT rotor angle estimation logic 820 ( Figure 8) successfully tracks the rotor angle at 40 Hz speed, as indicated at 1202.
[0065] Thus, the rotor angle estimation scheme using a lookup table as described herein extracts position information from both the d-component and the q-component of the current. In addition, a lookup table (such as LUT 827) can be used to summarize the mapping from the demodulated current signature to the rotor angle. A phase correction block such as the phase angle correction block 828 allows greater flexibility in demodulation filter design, which can introduce significant phase delays when designed for higher passband attenuation, and thus improves angle estimation accuracy. As described in more detail above, the rotor angle estimation scheme described herein reduces the rotor position ambiguity from four possibilities to two, which can be further eliminated by measuring the average current in response to the core behavior during saturation. The rotor angle estimation scheme described herein is more robust to large load steps, which may cause conventional PLL-based methods to not work as expected.
[0066] Fig.13 It is shown Figure 3 FIG. 8 is a block diagram of the position / velocity estimation logic 320 in more detail. In this example, the PLL tracking observer rotor angle estimation logic 420 and the sin / cos LUT rotor angle estimation logic 820 each operate in conjunction as described above. The LUT sin / cos method is more robust to transients, while the tracking observer method is better at filtering out random noise, such as that caused by quantization. By using the LUT logic when a selected error threshold is exceeded and using the tracking observer logic when within the threshold, the advantages of both can be obtained.
[0067] The control logic 1301 monitors the estimated rotor angle error value generated by the observer rotor angle estimation logic 420. When the motor is initially at rest, the PLL observer logic is selected. When the estimated rotor angle error is below a threshold, the PLL rotor angle estimation logic 420, in response to the control logic 1301, and The outputs are provided to the speed control logic 302 and the Park transform 318 respectively. When the rotor angle error estimate exceeds the threshold, the LUT rotor angle estimation logic 820 responds to the control logic 1301 and and The outputs are provided to the speed control logic 302 and the Park transform 318 respectively. In this example, the threshold value may be adjustable under the control of the system controller. A rotor angle error threshold of approximately 30 degrees provides a good balance.
[0068] Once the speed of motor 100 exceeds an EMF speed threshold, at which control based on the back EMF (electromagnetic field) from motor 100 may be used, control system 300 may switch and use back EMF based estimation techniques for speed control purposes.
[0069] Fig.14 is a flow chart of rotor angle estimation using LUT and compensation logic. As described in detail above, rotor position sensing based only on the PLL model may fail due to large step changes in load, which may cause linear collapse of the PLL model. Information from the sine and cosine components of the angle error can be used in the case of higher angle error values. Effective use of angle error information in the case of larger angle errors provides a robust solution and can be extended to arbitrary mappings between angle error and current signatures.
[0070] At 1402, a periodic signal is injected into a brushless motor (such as Figure 1 The periodic signal results in a periodic component in the drive voltage of the motor, which can be demodulated to generate a periodic component whose amplitude change is related to the periodic component. Proportional to the signal, It is twice the sine of the angular error.
[0071] At 1404, the phase current in the field winding of the motor is measured. The current sensor can be a low value resistor that produces a voltage signal proportional to the field current in the motor. In some examples, one of the three phases is monitored, and in other examples, two or three phases are monitored. The voltage signal is an analog value and is input to an analog-to-digital converter (ADC), which outputs a digital value representing the measured current.
[0072] At 1406, the signal representing the measured field current is transformed to generate a d-axis current signal and a q-axis current signal. In this example, the α / β domain current is generated using a Clarke transform and then transformed into the d-axis current signal and the q-axis current signal using a Park transform.
[0073] At 1408, the d-axis current and the q-axis current are demodulated to extract the sine and cosine components of the rotor angle, since the sine and cosine parts of the angle error are modulated by the injected frequency. In this example, sin(ω i t) Demodulation I d The current is low-pass filtered to remove high-frequency components. i t) Demodulation I q The demodulated q-axis component contains a DC term. Assuming the injected signal V is known, i The amplitude and frequency ωi As well as the inductances L0 and L2, this DC term can be subtracted as described in more detail above. The standard averaging method of removing the DC component is limited at lower speeds, where the attenuation provided by the averaging function is small.
[0074] At 1410, a rotor angle estimate is determined by processing the sine and cosine components of the rotor angle. The rotor angle estimate may be determined by a lookup table (LUT) such as LUT 827 ( Figure 8 The output of the demodulation stage is processed by 828 to extract an intermediate estimate of the rotor angle. LPF phase compensation logic (such as LPF compensation logic 828 ( Figure 8 )) This estimate is further corrected for the phase lag introduced by the demodulation filter to obtain an accurate estimate of the rotor angle. The compensation logic generates the rotor angle This is then fed into the Park transformation logic which generates the d-axis current and the q-axis current. The compensation logic also generates the rotor speed estimate This is then provided to speed control logic, such as logic 302 ( Figure 3 ).
[0075] Fig.15 1502, a sensorless motor controller (such as the field orientation controller 300 ( Fig.13 )), and the target rotation rate (such as signal ω ref ( Fig.13 )) is provided to the controller, and the target rotation rate can also be expressed as a frequency.
[0076] At 1504, the current speed of the rotor is compared to an electromotive force threshold. Once a motor (such as motor 100 ( Fig.13 )) exceeds an EMF threshold at which an estimate based on the back EMF from the motor can be used, the control system can switch and use the back EMF estimate for speed control purposes at 1506. When the speed of the motor is below the EMF threshold, the sensorless motor control based on periodic signal injection (such as PSI 306 ( Fig.13 )) calculates the rotor position and this periodic signal is injected into the voltage supplied to the motor. In this example, the EMF threshold is approximately 10Hz when the motor speed increases from zero and has a higher threshold when the motor speed decreases toward zero. In other examples, higher or lower thresholds may be selected. Once the increasing speed back EMF threshold or the decreasing speed back EMF threshold are crossed, some overlap is required between the signal injection and back EMF estimation algorithms when control transitions from one to the other. Once the EMF thresholds are crossed, the two algorithms will run in parallel until the estimate generated by the algorithm taking over control is close to the value from the active algorithm.
[0077] At 1508, selection logic determines which estimation technique to use. In this example, the estimated rotor angle error is compared to an error threshold, however, in other examples, different parameters may be used to select which estimation technique to use. When the estimated rotor angle error is less than the error threshold, an observer model (such as PLL observer 424 ( Figure 4 ) or Lumberg Observer 624 ( Figure 6 ))The rotor angle and rotor speed are estimated at 1510. In this example, the error threshold is selected to be approximately 30 degrees; however, in other examples, a larger or smaller error threshold may be selected based on the operating characteristics of the motor, for example.
[0078] At 1512, when the estimated rotor angle is greater than the error threshold, both the sine and cosine components of the HFI signal are used to estimate the rotor angle and rotor speed. As described in more detail above, the d-axis and q-axis components of the measured phase currents may be demodulated and filtered to extract the sine and cosine components, which are then used to access a lookup table that provides the estimated rotor angle and speed. Phase compensation is used to correct for the phase lag introduced by the demodulation filter. The current estimated rotor angle is output from the compensation logic and rotor speed estimation
[0079] At 1514 , the north-south orientation of the rotor is determined based on the rotor saturation behavior by determining an average value of the current magnitude resulting from the injected signal, as described in more detail above.
[0080] At 1516, the estimated rotor angle generated at 1512, 1510, or 1506 is then Provided to a Park transform, such as Park transform logic 318 ( Fig.13 ), the Park transform generates the d-axis current and the q-axis current. Rotor speed estimation is provided to speed control logic, such as speed control logic 302 ( Fig.13 ).
[0081] Other Examples
[0082] In the described examples, a PLL observer or a Romberg observer is used. In other examples, other known or later developed observers may be used.
[0083] In the described example, the sine and cosine components are processed using a lookup table. In another example, the sine and cosine components may be processed using a complex mathematical model to produce an estimated rotor angle error and an estimated rotor speed.
[0084] In the depicted example, a motor control (such as motor control 300 ( Figure 3 )) can include hardwired logic to perform the various control functions described above. In other examples, a programmable device (such as a microprocessor core or other type of processor) can execute stored instructions to perform the various control functions described above.
[0085] In the described examples, the measured phase currents are processed using the Park transform function and the Clarke transform function. In other examples, other known or later developed transform functions may be used to process the measured phase currents.
[0086] In the described example, a square wave is used as the injected signal; however, other signal types may be used, such as a sine wave. The signal edges may be rounded somewhat.
[0087] In the described example, an error threshold of approximately 30 degrees is used. This value is not critical and can be selected from a wide range of values.
[0088] In the depicted example, a load of, for example, 0.2-0.3 Nm is shown for motor 100. In other examples, the same control techniques as described above may be used to operate motors designed for larger or smaller loads.
[0089] In the described example, a field oriented control loop for controlling motor speed is shown. In other examples, a field oriented control loop that requires position and speed estimation for other purposes (such as position control, speed control, torque control, etc.) can utilize the LUT-based estimation technique described above.
[0090] In this specification, the term "couple" and its derivatives refer to indirect, direct, optical, and / or wireless electrical connections. Thus, if a first device is coupled to a second device, that connection may be through a direct electrical connection, through an indirect electrical connection via other devices and connections, through an optical electrical connection, and / or through a wireless electrical connection.
[0091] Modifications in the described examples are possible, and other examples are possible, within the scope of the claims.
Claims
1. A method for controlling a brushless motor, the method comprising: injecting a periodic signal into a field oriented controller of the brushless motor, the motor having a rotor and a stator; measuring phase current in the stator winding of the brushless motor; Determining a d-axis current and a q-axis current by transforming the phase current; demodulating the d-axis current and the q-axis current to extract angle-dependent current signatures, the current signatures comprising a sine component of a rotor angle estimate and a cosine component of the rotor angle estimate, wherein demodulating the d-axis current comprises correcting a direct current offset (DC offset) of the demodulated d-axis current; and The rotor angle estimate is determined by processing the sine and cosine components.
2. The method of claim 1, wherein processing the sine component and the cosine component uses a lookup table. 3 . The method of claim 2 , wherein demodulating the d-axis current and the q-axis current comprises removing high frequency components using a low pass filter and / or a band pass filter. 4 . The method of claim 3 , further comprising compensating for a phase angle lag produced by the low pass filter and / or the band pass filter during demodulation of the d-axis current and the q-axis current. 5 . The method of claim 1 , further comprising determining the north-south orientation of the rotor by measuring an average current resulting from an injected signal. 6 . The method of claim 2 , wherein the lookup table supports a complex mapping between the rotor angle estimate and the d-axis current and the q-axis current.
7. A method for controlling a brushless motor, the method comprising: injecting a periodic signal into a field oriented controller of the brushless motor, the motor having a rotor and a stator; measuring phase current in the stator winding of the brushless motor; Determining a d-axis current and a q-axis current by transforming the phase current; demodulating the d-axis current and the q-axis current to extract angle-dependent current features, the current features comprising a sine component of a rotor angle estimate and a cosine component of the rotor angle estimate; determining the rotor angle estimate by processing the sine component and the cosine component; Determining whether the angle error is less than an error threshold; When the angle error is less than the error threshold, only demodulating the q-axis current to extract the sinusoidal component of the angle error; and When the angle error is less than the error threshold, the rotor angle estimate is determined by processing only the sinusoidal component using a tracking observer. 8 . The method of claim 7 , wherein demodulating the d-axis current comprises correcting a direct current offset (DC offset) of the demodulated d-axis current.
9. A motor controller comprising: a periodic signal generator configured to provide a periodic signal; an injection circuit coupled to the periodic signal generator and adapted to be coupled to a stator winding of a motor, the injection circuit being configured to receive the periodic signal from the periodic signal generator and to provide a driving voltage including the periodic signal to the stator winding; a current monitor adapted to be coupled to the stator winding, the current monitor being configured to measure a field current in the stator winding; as well as a position estimator coupled to the current monitor, the position estimator configured to determine a rotor angle estimate of a rotor of the motor based on the field current, wherein the position estimator comprises: a first estimation logic configured to process sine and cosine components of the periodic signal measured in the field current in the stator winding; second estimation logic configured to process only the sinusoidal component of the periodic signal measured in the field current using a tracking observer to generate a rotor angle estimate; and A control logic is configured to: select a rotor angle estimate from the first estimation logic in response to a rotor angle error being greater than an error threshold; and select a rotor angle estimate from the second estimation logic in response to the rotor angle error being less than the error threshold. 10 . The motor controller of claim 9 , wherein the position estimator comprises a lookup table, and the position estimator is configured to use the lookup table when processing the sine component and the cosine component.
11. The motor controller of claim 10, wherein the lookup table supports a complex mapping between the rotor angle estimate and the sine component and the cosine component.
12. The motor controller of claim 10, wherein the position estimator comprises: a demodulator configured to extract the sine component and the cosine component from the field current; a low pass filter coupled to an output of the demodulator, the low pass filter being configured to remove high frequency components and having an output coupled to an input of the lookup table; as well as A compensator is coupled to an output of the lookup table, the compensator being configured to compensate for a phase delay caused by the low pass filter.
13. The motor controller of claim 9 wherein the position estimator comprises orientation logic coupled to the current monitor, the orientation logic being configured to determine a north-south orientation of the rotor based on an average current of the periodic signal measured in the field current.
14. A motor controller comprising: a periodic signal generator configured to provide a periodic signal; an injection circuit coupled to the periodic signal generator and adapted to be coupled to a stator winding of a motor, the injection circuit being configured to receive the periodic signal from the periodic signal generator and to provide a driving voltage including the periodic signal to the stator winding; a current monitor adapted to be coupled to the stator winding, the current monitor being configured to measure a field current in the stator winding; as well as a position estimator coupled to the current monitor, the position estimator configured to determine a rotor angle estimate of a rotor of the motor based on the field current, wherein the position estimator comprises: estimation logic configured to process sine and cosine components of the periodic signal measured in the field current in the stator winding; a lookup table, the position estimator being configured to use the lookup table when processing the sine component and the cosine component; a demodulator configured to extract the sine component and the cosine component from the field current; a low pass filter coupled to an output of the demodulator, the low pass filter being configured to remove high frequency components and having an output coupled to an input of the lookup table; a compensator coupled to an output of the lookup table, the compensator being configured to compensate for a phase delay produced by the low pass filter; and Correction logic is coupled to the demodulator, the correction logic being configured to correct a DC offset of the demodulated cosine component.
15. The motor controller of claim 14, wherein the estimation logic is a first estimation logic and the position estimator comprises: second estimation logic configured to process only the sinusoidal component of the periodic signal measured in the field current using a tracking observer to generate a rotor angle estimate; as well as A control logic is configured to: select a rotor angle estimate from the first estimation logic in response to a rotor angle error being greater than an error threshold; and select a rotor angle estimate from the second estimation logic in response to the rotor angle error being less than the error threshold.
16. A system for a motor, comprising: a permanent magnet motor having a rotor and a stator with stator windings; as well as a motor controller coupled to the stator winding, the motor controller being configured to control a magnetic field of the motor, wherein the motor controller comprises: a periodic signal generator configured to provide a periodic signal; an injection circuit coupled to the periodic signal generator and to the stator winding, the injection circuit being configured to receive the periodic signal from the periodic signal generator and to provide a driving voltage including the periodic signal to the stator winding; a current monitor coupled to the stator winding, the current monitor configured to measure a field current in the stator winding; and a position estimator coupled to the current monitor, the position estimator configured to determine a rotor angle estimate of the rotor based on the field current; Wherein the position estimator comprises: a first estimation logic configured to process sine and cosine components of the periodic signal measured in the field current in the stator winding; second estimation logic configured to process only the sinusoidal component of the periodic signal measured in the field current to generate a rotor angle estimate; and A control logic is configured to: select a rotor angle estimate from the first estimation logic in response to a rotor angle error being greater than an error threshold; and select a rotor angle estimate from the second estimation logic in response to the rotor angle error being less than the error threshold. 17 . The system of claim 16 , wherein the position estimator comprises a lookup table, and the position estimator is configured to use the lookup table when processing the sine component and the cosine component.
18. The system of claim 17, wherein the position estimator comprises: a demodulator configured to extract the sine component and the cosine component from the field current; a low pass filter coupled to an output of the demodulator, the low pass filter being configured to remove high frequency components and having an output coupled to an input of the lookup table; as well as A compensator is coupled to an output of the lookup table, the compensator being configured to compensate for a phase delay caused by the low pass filter.
19. The system of claim 16, wherein the position estimator includes orientation logic coupled to the current monitor, the orientation logic configured to determine a north-south orientation of the rotor based on an average current of the periodic signal measured in the field current.
Citation Information
Patent Citations
Circuits and methods of determining position and velocity of a rotor
US9270220B2
Permanent magnet synchronous motor control method and system and computer readable storage medium
CN107395082A
Pulse vibration high-frequency voltage injection-based six-phase permanent magnet synchronous motor sensorless control system and method
CN108111065A