The present application claims priority to Indian Provisional Patent Application No. 202341082000, filed on Dec. 1, 2023, the contents of which are hereby incorporated by reference in their entirety.
The present disclosure relates generally to permanent magnet synchronous motors and, in particular, to tuning a sliding mode observer to estimate rotor position and speed of a permanent magnet synchronous motor.
Permanent magnet synchronous motors (PMSMs) are a popular choice among device manufacturers because of their high power density, fast dynamic response, and high efficiency in comparison with other motors in their category. With PMSMs, the rotor field speed is equal to the stator (armature) field speed (i.e., synchronous). The loss of synchronization between the rotor and stator fields can cause the motor to halt, and so knowing rotor position and speed is needed to avoid control failures in such motors.
Conventional approaches to determining position and speed of rotors include the use of encoders, such as resolver encoders, incremental ABZ encoders, absolute position encoders, and sin/cos encoders, but these increase costs and space requirements. Hall Effect sensors are sometimes used, but these increase costs and have low reliability. Three-phase motor terminal voltage sensing circuits can also be used, but these place a demand on the resources of the controller used to operate the motor. For example, a traditional control method involves driving the stator in a six-step process to generate torque. In such six-step control, a pair of windings is energized until the rotor reaches the next position, and then the next pair of windings is energized. Hall Effect sensors can be used to determine the rotor position to electronically commutate the motor.
To keep costs down, motors without encoders and Hall Effect sensors—referred to as “sensorless” motors—are often used. To compensate for the lack of these sensors, sensorless motors may implement algorithms that use the back electromotive force (BEMF) generated in the stator winding to determine rotor position. Other sensorless motors may use a speed observer to estimate rotor speed and position during driving. Some sensorless motors may use speed observer-based field-oriented control (FOC) or vector control algorithms without actually measuring the motor speed, position, torque, and voltage. This approach may be used in applications such as air conditioning units, ceiling fans, pumps, electric bicycles, hand dryers, wind power generators, and unmanned aerial vehicles like drones. A motor controller and inverter is often used to drive such PMSMs.
Various examples of the present disclosure relate generally to permanent magnet synchronous motors and, in particular, to tuning a sliding mode observer to estimate rotor position and speed of a permanent magnet synchronous motor. The present disclosure includes, without limitation, the following examples.
Some examples provide a method that includes receiving an identifier of a permanent magnet synchronous motor (PMSM), and mapping the identifier to electrical parameters of the PMSM. The method may include determining one or more coefficients of a sliding mode observer (SMO) based on the electrical parameters. The method may include providing the determined coefficients to the SMO to estimate the rotor position and speed of the PMSM. In some examples, then, the determined coefficients may be used in the SMO to estimate the rotor position and speed of the PMSM.
These and other features, aspects, and advantages of the present disclosure will be apparent from a reading of the following detailed description together with the accompanying figures, which are briefly described below. The present disclosure includes any combination of two, three, four or more features or elements set forth in this disclosure, regardless of whether such features or elements are expressly combined or otherwise recited in a specific example described herein. This disclosure is intended to be read holistically such that any separable features or elements of the disclosure, in any of its aspects and examples, may be viewed as combinable unless the context of the disclosure clearly dictates otherwise.
It will therefore be appreciated that this Brief Summary is provided merely for purposes of summarizing some examples so as to provide a basic understanding of some aspects of the disclosure. Accordingly, it will be appreciated that the above described examples are merely examples and may not be construed to narrow the scope or spirit of the disclosure in any way. Other examples, aspects and advantages will become apparent from the following detailed description taken in conjunction with the accompanying figures which illustrate, by way of example, the principles of some described examples.
Having thus described examples of the disclosure in general terms, reference will now be made to the accompanying figures, which are not necessarily drawn to scale, and wherein:
Some examples of the present disclosure will now be described more fully hereinafter with reference to the accompanying figures, in which some, but not all examples of the disclosure are shown. Indeed, various examples of the disclosure may be embodied in many different forms and may not be construed as limited to the examples set forth herein; rather, these examples are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art. Like reference numerals refer to like elements throughout.
Unless specified otherwise or clear from context, references to first, second, third, and so forth may not be construed to imply a particular order. A feature described as being above another feature (unless specified otherwise or clear from context) may instead be below, and vice versa; and similarly, features described as being to the left of another feature else may instead be to the right, and vice versa. Also, while reference may be made herein to quantitative measures, values, or geometric relationships, without limitation, unless otherwise stated, any one or more if not all of these may be approximate to account for acceptable variations that may occur, such as those due to engineering tolerances.
As used herein, unless specified otherwise or clear from context, the “or” of a set of operands is the “inclusive or” and thereby true if and only if one or more of the operands is true, as opposed to the “exclusive or” which is false when all of the operands are true. Thus, for example, “[A] or [B]” is true if [A] is true, or if [B] is true, or if both [A] and [B] are true. Further, the articles “a” and “an” mean “one or more,” unless specified otherwise or clear from context to be directed to a singular form. Furthermore, it may be understood that unless otherwise specified, the terms “data,” “content,” “digital content,” “information,” and similar terms may be at times used interchangeably.
Examples of the present disclosure relate to three-phase permanent magnet synchronous motors (PMSMs) driven under field-oriented control (FOC). FOC (also referred to as vector control) of motors is a control method in which the stator currents of a three-phase AC electric motor are characterized by the magnetic flux of the motor and its torque. FOC is a method by which one of the fluxes (rotor, stator, or air gap) is treated as a basis for creating a reference frame for one of the other fluxes with the purpose of decoupling the torque and flux-producing components of the stator current. Such decoupling may enable ease of control for complex three-phase motors in the same manner as DC motors with separate excitation. Armature current may be used for torque generation, and excitation current may be used for flux generation. In certain applications, the rotor flux may be considered as a reference frame for the stator and air gap flux.
As shown in
The sensorless FOC architecture 100 may include a FOC routine 106, which may indirectly determine and control time invariant values of torque and flux, through a series of coordinate transforms, with proportional and integral (PI) control loops. The process may include measuring the three-phase stator currents ia, ib, ic. Two of the three-phase stator currents may be measured to provide values for ia and ib, and the value for ic can be calculated using the equation ia+ib+ic=0. A first coordinate transform 108 may convert the three-phase currents ia, ib, ic from a three-axis coordinate system to a two-axis (α-β axis) coordinate system. One example of a suitable first coordinate transform is the Clarke Transform. This conversion may provide current values iα and iβ using the measured ia and ib values, and the calculated value ic. The current values iα and iβ may be time-varying quadrature current values as viewed from the perspective of the stator.
With the stator currents iα and iβ represented on a two-axis orthogonal system with the α-β axis, the next operation is to transform into another two-axis system that is rotating with the rotor flux. A second coordinate transform 110 may rotate the two-axis coordinate system to align with the rotor flux using a rotor flux angle calculated at a last iteration of the control loop. This two-axis rotating coordinate system may be called the d-q axis. In the case of a PMSM, the rotor flux angle may be the same as the rotor angular position. Here, {circumflex over (θ)} represents the rotor angular position (at times more simply referred to as the rotor angle or the rotor position). One example of a suitable second coordinate transform is the Park Transform. This conversion may provide current values id and iq from current values iα and iβ. The current values id and iq may be the quadrature currents transformed to the rotating coordinate system. For steady state conditions, id and iq may be constant.
The FOC architecture 100 may include interdependent PI control loops for controlling three interactive variables: the rotor speed, rotor flux, and rotor torque. Specifically, one PI loop may be for controlling motor speed, and two other PI control loops may be for controlling the transformed current values id and iq, which may be involved in controlling respective ones of rotor flux and rotor torque.
More specifically, a speed error signal may be formed at a summing point 112 using rotor speed {circumflex over (ω)} and a speed setpoint value ωref, and the speed error signal may be input to a PI controller. The speed error signal may be input to a first PI controller 114, and the first PI controller 114 may output a reference value iq ref for iq. The iq reference iq ref may be involved in the control of the torque output of the PMSM 102. A reference value id ref for id may be involved in the control of resultant flux.
Similar to the speed error signal, error signals for id and iq may be formed at summing points 116 and 118 using id and iq, along with their respective reference values id ref and iq ref. The error signals may be input to second and third PI controllers 120 and 122. The second and third PI controllers may output voltage values Vd and Vq, which are voltage vectors to be sent to the PMSM 102.
The voltage values Vd and Vq are two voltage component vectors in the rotating d-q axis. Complementary inverse coordinate transforms may be used to return to the three-phase motor voltage. An inverse coordinate transform 124, such as an Inverse Park Transform, may convert voltage values Vd and Vq from the two-axis rotating d-q frame to the two-axis stationary frame α-β, and provide the next quadrature voltage values Vα and Vβ. The rotor flux angle or rotor angular position {circumflex over (θ)} may also be used here. A space vector modulation (SVM) routine 126 may then be used to convert voltage values Vα and Vβ from the stationary two-axis α-β frame to the stationary three-axis, three-phase reference frame of the stator, and provide voltage values Va, Vb and Vc. In some examples, the Inverse Clarke Transform may be folded into the SVM routine to simplify the process. The three-phase voltage values Va, Vb and Vc may be used to calculate new pulse width modulation (PWM) duty cycle values that generate a desired voltage vector.
The sensorless FOC architecture 100 for driving the PMSM 102 generally does not include corresponding sensors (such as Hall sensors, ABZ encoders, without limitation) for measuring the rotor position {circumflex over (θ)} and speed {circumflex over (ω)} (and torque). The three-phase stator currents ia, ib, ic may instead be measured using any suitable current sensor. Because rotor position and speed are used in the FOC architecture, in sensorless control modes, a speed observer may be used to estimate the rotor position and speed. One example of a speed observer is a sliding-mode observer (SMO) 128, which is an adaptive algorithm based on control theory and electrical motor mathematical modeling. In some examples, the SMO may receive the quadrature current iα, iβ and voltage values Vα, Vβ as inputs, and provide estimated rotor position {circumflex over (θ)} and speed {circumflex over (ω)} as outputs, which during subsequent control loops may converge to actual motor position and speed.
Referring to
As shown in
To further describe the SMO 128, the dynamic model of the PMSM 102 in the α-β domain can be expressed as follows:
Based on the above dynamic model an observer model can be defined as:
where îαs, îβs, êαs and êβs are the estimated quantities, and zα, zβ are defined as follows:
where ĩαs=(îαs−iαs), ĩβs=(îβs−iβs) are the estimation errors and sign(ĩαs)=0, sign(ĩβs)=0 are the switching surfaces.
The error dynamics can be expressed as follows:
The above expressions reduce to:
where {tilde over (e)}αs, {tilde over (e)}βs are the back electromotive force (BEMF) estimation errors.
To derive a sliding gain (k) formulation through the Lyapunov approach, a positive definite Lyapunov function V>0 may be chosen, subjected to dynamics defined by equation (5):
According to the Lyapunov criteria for stability, the time derivative of V, i.e., {dot over (V)}≤(−ηa|ĩαs|−ηβ|ĩβs|), where ηα, ηβ>0. The time derivative of equation (6) can be expressed as follows:
Replacing equation (5) into equation (7), equation (7) can be further expressed as
Equation (8) can be further reduced to:
Now to satisfy the stability condition, the following expressions may be individually less than zero, i.e.,
are already negative). Therefore, if kα>|{tilde over (e)}αs| and kβ>|{tilde over (e)}βs|, then the stability condition will be satisfied. These inequalities can be further represented as the sliding gains:
Putting equation (10) into equation (9), equation (9) can be further expressed as:
Notably, the terms
can either be positive or negative, depending on the sign of the estimation errors of current and BEMF. If these terms are positive, then they may cancel the terms
and what left is
If the terms
are negative, then it may negatively add up to the rest of the terms, which may produce a more negative value. Hence, for both conditions, {dot over (V)} remains less than (−ηα|ĩαs|−ηβ|ĩβs|).
It may therefore be said that the system may be stable for the above sliding gains (kα, kβ). However, {tilde over (e)}αs and {tilde over (e)}βs are unknown, so a sufficiently large positive value for both the sliding gains (kα, kβ>max (|eαs|, |eβs|)) may be chosen so that equations (10a) and (10b) can be satisfied. The value can be estimated from the operating voltage and lock in RPM. Further, the voltage constant (also referred to as the BEMF constant) may be known, and from the voltage constant of the motor, the value of kα, kβ may be chosen. As described herein, either sliding gain kα or kβ may be referred to as sliding gain kslide.
The above formulation considers the example of switching functions in the form of sign(ĩαs) and sign(ĩβs). This type of example, however, may experience chattering. To reduce the chattering effect of the sliding mode, a saturation function may instead be implemented. The difference between these two functions is shown in
The gain selection of the SMO 128 may be difficult to perform, especially when switching nonlinearity is replaced with saturation nonlinearity, as the saturation function has a linear zone (within boundary layer); and outside boundary layer, the saturation function behaves like a signum function, as shown in
As shown in
decides now aggressive is the actuation, the steeper the slope, the aggressiveness is more. The steepness can be increased or decreased by changing the values of either k, ϕ or both. If k is chosen large, then ϕ may be also larger in order to restrict the linear gain. If ϕ is chosen very small, then the boundary layer on the horizontal axis is very small and the example is closer to the sign function and chattering may be increased. If ϕ is taken too large, chattering can be reduced, however, the accuracy of estimation may be compromised.
After choosing k through Lyapunov approach, ϕ may be chosen. For this, a describing function-based approach may be considered. This method is also referred to as Harmonic Balance (HB) method. It is a mathematical approach that may be used to analyze specific set of nonlinear close loop system. It may be characterized as a union of a static nonlinearity with a linear system. The describing function method may be a fairly accurate technique to describe the amplitude and frequency of oscillations in the system's output via the first-harmonic component, under the assumption of a periodic steady-state response in systems with a linear component exhibiting low-pass filter like characteristics.
Any control system that can be converted into the system structure depicted in
The third assumption of the describing function method. It represents a ballpark estimation, since the output of a nonlinear element in response to a sinusoidal input typically includes higher-order harmonics in addition to the fundamental frequency. In contrast to the fundamental component, this assumption suggests that all the higher-order harmonics can be ignored in the analysis. The linear component that follows the nonlinearity must possess low-pass characteristics for this assumption to be true, i.e., |G(jω)|>>|G(jnω)| for n=2, 3, . . . .
As seen in
To illustrate the describing function for the saturation nonlinearity,
Considering the odd nature of the nonlinearity, only b1 needs to be considered and only the fundamental component is taken into account considering the third assumption. Hence the expression for b1 can be written as:
Replacing w(t) in equation (14) yields:
Equation (15) may be simplified to:
The describing function for the saturation nonlinearity may therefore be written as:
Further, it can be noted that:
Assume that the control system is experiencing a self-sustaining oscillation with amplitude A and frequency ω. The following relations are satisfied by the variables in the loop (see
One may therefore have y=G(jω)Ndf(A, ω)(−y). Because y≠0, this implies:
Equation (21) can be further rewritten as:
Equation (22) is satisfied by the frequency ω and amplitude A of the limit cycles in the control system. The nonlinear system doesn't have limit cycles if the equation (22) contains no solutions. It represents two nonlinear equations containing variables A and ω (one is given by the real and the other one is given by the imaginary parts), and there are often only a limited number of solutions available.
Treat the observer as a dynamical system with two inputs and a single output. It helps to find out the transfer function (TF) for the internal model of the observer. The observer output îs must follow (track) one of the two inputs is. It is possible to treat the other input (vs−es) as a feedforward. The observer may therefore be considered a feedback-feedforward system that employs the sliding-mode algorithm in the controller.
As shown in
The total TF with the delay is
However, instead of (vs−es), one may have (vs−ês), where ês is an estimated value. This delay e−Ts, may be called the equivalent delay, which may be determined via matching the frequency of chattering in the original discrete-time system and the equivalent continuous-time system with the delay. An equivalent delay of two sampling period is considered for the present analysis.
Given the TF of the observer,
Pade's first order approximation may be applied to produce:
Equation (23) may therefore be rewritten as:
Segregating the complex and real terms in turn produces:
The describing function of the saturation nonlinearity is known and given by equation (17). Furthermore, the amplitude of the oscillation A reduces as the parameter ϕ grows, as seen by the fact that Ndf(A, ϕ) is monotonically decreasing regarding both the arguments. Then using ϕ=A, the minimum magnitude A in the domain of ϕ can be found, and in that case the describing function can be expressed as equation (19), i.e.,
As can be seen from equations (17), (18) and (19), the saturation nonlinearity has no complex term so from equation (25), the expression for the ω can be rewritten:
In the limiting case given by equation (19), then, the value of amplitude A is minimum and may be expressed as:
Putting the value of the angular frequency from equation (26) in equation (27), the amplitude can be further expressed as:
According to some examples of the present disclosure, then, from the BEMF constant and locking RPM, a sliding gain k may be chosen for the PMSM 102. In some examples, the sliding gain k may be chosen two to three times of the BEMF constant at the locking RPM. The boundary layer width ϕ may be calculated using equation (28), and the motor electrical parameters for inductance L and resistance R, as well as equivalent delay time T which is two times the sampling time TS. The slope (linear gain)
may inen be calculated.
To further illustrate some examples, consider a long Hurst motor. Assume the voltage constant for the long Hurst motor is given as 7.34 V line-to-line peak/kRPM; and that the phase-to-neutral is therefore 4.23 V/KRPM. If the locking RPM is 500, then at that RPM, the voltage constant will be 2.115 V. In this example, the sliding gain k may be chosen 2-to-3 times the voltage constant, such as k=4.5, as the error on BEMF estimation will be no greater than this value at that RPM.
Taking the long hurst motor electrical parameters for inductance L and resistance R, the sampling time TS, and the sliding gain k, the amplitude boundary layer width ϕ can be calculated according to equation (28) as:
where T=2×Ts=0.0001, L=2.87×10−4 H, R=0.285Ω, k=4.5. The linear gain may then be calculated as
Next, consider a short Hurst motor. Assume the voltage constant for the short hurst motor is given as 7.24 V line-to-line peak/kRPM; and that the phase-to-neutral is therefore 4.18 V/KRPM. If the locking RPM is 500, then at that RPM, the voltage constant will be 2.09 V. In this example, the sliding gain k may be chosen 2-to-3 times the voltage constant, such as k=4.18, as the error on BEMF estimation will be no greater than this value at that RPM. The amplitude boundary layer width ϕ can be calculated from equation (28) using the short hurst motor electrical parameters, the sampling time, and the sliding gain k:
where T=2×Ts=0.0001, L=0.002423 H, R=2.8Ω, k=4.18. The linear gain may then be calculated as
Now consider a linix motor. Assume the voltage constant for the linix motor is given as 2.97 V line-to-line peak/kRPM; and that the phase-to-neutral is therefore 1.715 V/KRPM. If the locking RPM is 1000, then at that RPM, the voltage constant will be 1.715 V. In this example, the sliding gain k may be chosen 2-to-3 times the voltage constant, such as k=3.432. The amplitude boundary layer width ϕ can be calculated by equation (28) using the linix motor electrical parameters, the sampling time, and the sliding gain k:
where T=2×Ts=0.0001, L=0.0003905 H, R=0.569240Ω, k=3.432. The linear gain may then be calculated as
Notably, since une unix motor has greater saliency, the dynamic model of the observer used for linix may be different from the dynamic model used for the long and short Hurst.
Many modifications and other examples of the disclosure set forth herein will come to mind to one skilled in the art to which the disclosure pertains having the benefit of the teachings presented in the foregoing description and the associated figures. Therefore, it is to be understood that the disclosure is not to be limited to the specific examples disclosed and that modifications and other examples are intended to be included within the scope of the appended claims. Moreover, although the foregoing description and the associated figures describe examples in the context of certain example combinations of elements or functions, it may be appreciated that different combinations of elements or functions may be provided by alternative examples without departing from the scope of the appended claims. In this regard, for example, different combinations of elements or functions than those explicitly described above are also contemplated as may be set forth in some of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense and not for purposes of limitation.
| Number | Date | Country | Kind |
|---|---|---|---|
| 202341082000 | Dec 2023 | IN | national |