System, method and apparatus for current control of permanent magnet synchronous motor

By adaptively estimating and compensating the motor system parameters and adjusting the control voltage, the problem of excessive burden on the PI controller is solved, and the current tracking performance and stability of the permanent magnet synchronous motor are improved.

CN112825468BActive Publication Date: 2024-12-31MICROCHIP TECHNOLOGY INC
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN201911148300.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-11-21
Publication Date
2024-12-31
Estimated Expiration
2039-11-21

AI Technical Summary

Technical Problem

In the field orientation control of permanent magnet synchronous motors, it is difficult for the prior art to accurately determine the system parameters, resulting in excessive burden on the PI controller, affecting the current tracking performance, and commonly used compensation measures increase complexity and noise.

Method used

The system parameters of the motor are adaptively estimated, such as q-axis inductance, phase resistance and rotor flux, and the control voltage is adjusted using adaptive compensators and cross compensators to relieve the burden on the PI controller and reduce the number by approximate calculations Introduced noise.

Benefits of technology

Improves current tracking performance, reduces errors, reduces system complexity and noise, and enhances the stability of the controller.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112825468B_ABST
    Figure CN112825468B_ABST
Patent Text Reader

Abstract

The described embodiments relate to motor control for synchronous motors, and more specifically, some embodiments relate to motor current control for permanent magnet synchronous motors. The present invention describes embodiments of current controllers, which include adaptive controllers configured to adapt to change the system dynamics of a PMSM. The present invention describes embodiments of adaptive control techniques, which involve estimating system parameters of a PMSM and adapting control actions to compensate for such estimated system parameters. It can be expected that such adapted control actions will track observed motor currents to desired motor currents. The present invention also describes systems, methods, and apparatus related to the above.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The described embodiments generally relate to motor current control and, more generally, to motor control. Some embodiments generally relate to a driver implementing a process for tracking motor current to a desired motor current and a controller for a permanent magnet synchronous motor implementing such a process. Background Art

[0002] A servo motor is a special motor capable of accurate rotation angle control and speed control, and is generally used for high-response, high-precision positioning of equipment. Various motors that implement different control technologies are used as servo motors. One type of motor used in a servo motor is a synchronous motor that synchronizes the rotation of the shaft with the frequency of the supply current. A typical synchronous motor includes a multi-phase alternating current (AC) electromagnet on the stator (i.e., the non-rotating part) of the motor, which creates a first magnetic field (also called a "stator field") that rotates in time with the oscillation of the line current. The rotor (i.e., the rotating part) includes a permanent magnet or an electromagnet and rotates synchronously with the first magnetic field at the same rate, thereby creating a second synchronous magnetic field (also called a "rotor field") of the AC motor. In theory, the rotation period of the rotor is exactly equal to an integer number of AC cycles.

[0003] A permanent magnet synchronous motor (PMSM) is a synchronous motor that uses permanent magnets embedded in the rotor to create a second constant magnetic field. The stator of a PMSM typically has windings connected to an AC power source to produce a stator field (i.e., a rotating magnetic field) that rotates in time with the oscillations of the current at the stator windings (such currents are also called "stator currents" and "motor currents"). At synchronous speed, the rotor of the PMSM poles is locked to the rotation of the stator field.

[0004] To achieve high performance motor control, a vector control technique called field oriented control (FOC) is sometimes used for PMSM. The FOC algorithm decomposes the stator current into two components: the magnetic field generating part (i d ) and the torque generating part (i q ). d and i q Each of them can be controlled separately. The reactive torque of the PMSM is the result of the interaction of the stator magnetic field and the rotor magnetic field. The stator current is updated as the rotor rotates to keep the stator flux (i.e., q-axis) at 90 degrees to the rotor flux (i.e., d-axis). Fig.10 An example of a PMSM suitable for FOC is shown in FIG. Fig.10As shown, windings a, b and c are oriented in the stator, and the rotor is arranged in the space defined by the stator. The axes corresponding to the axes of the stator field generated by passing current through each winding are represented as axis A, axis B and axis C. Exemplary orthogonal (q) magnetic axes and direct (d) magnetic axes are also shown.

[0005] In the case of a FOC controlled motor, a rotation detector may be arranged to observe the rotation of the motor and feed motion information about the observed motor motion (e.g., rotational position and rotational speed, without limitation) to the driver. In addition, a current detector may be arranged to observe the motor current at the motor (i.e., the stator current observed at the corresponding stator winding) and feed motor current information related to the observed motor current to the driver. The driver may calculate errors that may indicate the difference between the desired motor rotation / current and the observed motor motion / current. In theory, the driver may attempt to control the motor rotation by controlling the stator current to reduce the error to zero. This enables the servo motor to perform highly accurate positioning operations, among other things. Summary of the invention

[0006] While the disclosure concludes with claims that particularly point out and distinctly claim specific embodiments, the various features and advantages of embodiments within the scope of the present disclosure will be more readily ascertained from the following description when read in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] To easily identify the discussion of any particular element or act, the most significant digit or digits in a reference number refer to the figure number in which the element is first introduced.

[0008] Figure 1 A field oriented control (FOC) vector control technique for controlling a permanent magnet synchronous motor according to one or more embodiments is shown.

[0009] Figure 2 A system for adaptive compensation according to one or more embodiments is shown.

[0010] Figure 3 A current control loop according to one or more embodiments is shown.

[0011] Figure 4 A current driver according to one or more embodiments is shown.

[0012] Figure 5A and Figure 5B Waveforms associated with motor control and more specifically current tracking are shown according to one or more embodiments.

[0013] Figure 6A motor control system implementing adaptive compensation according to one or more embodiments is shown.

[0014] Figure 7 A motor control process is shown according to one or more embodiments.

[0015] Figure 8 A process for executing an adaptive control loop to minimize an error function is shown.

[0016] Fig. 9 A process for determining estimated gains as part of executing an adaptive control loop is shown in accordance with one or more embodiments.

[0017] Fig.10 A PMSM according to the state of the art as known to the inventors of the present disclosure is shown. DETAILED DESCRIPTION

[0018] In the following detailed description, reference is made to the accompanying drawings which form a part of the present disclosure and in which are shown by way of example specific examples of embodiments in which the present disclosure may be implemented. These embodiments are described in sufficient detail to enable one of ordinary skill in the art to practice the present disclosure. However, other embodiments enabled herein may be utilized and structural, material and process changes may be made without departing from the scope of the present disclosure.

[0019] The illustrations presented herein are not intended to be actual views of any particular method, system, device, or structure, but are merely idealized representations for describing embodiments of the present disclosure. In some cases, similar structures or components in the various drawings may retain the same or similar numbering for the convenience of the reader; however, the similarity of numbering does not necessarily mean that the structures or components are identical in size, composition, construction, or any other attribute.

[0020] The following description may include examples to help those skilled in the art practice the embodiments disclosed in the present invention. The use of the terms "exemplary", "by way of example" and "for example" means that the relevant description is illustrative, and although the scope of the present disclosure is intended to cover examples and legal equivalents, the use of such terms is not intended to limit the scope of the embodiments or the present disclosure to the specified components, steps, features or functions, etc.

[0021] It should be readily understood that the components of the embodiments as generally described herein and shown in the accompanying drawings may be arranged and designed in many different configurations. Therefore, the following description of various embodiments is not intended to limit the scope of the present disclosure, but is merely representative of various embodiments. Although various aspects of these embodiments may be presented in the accompanying drawings, the drawings are not necessarily drawn to scale unless otherwise indicated.

[0022] In addition, the specific embodiments shown and described are only examples and should not be understood as the only way to implement the present disclosure, unless otherwise specified herein. Elements, circuits, and functions can be shown in block diagram form so as not to obscure the present disclosure with unnecessary details. On the contrary, the specific embodiments shown and described are only exemplary and should not be understood as the only way to implement the present disclosure, unless otherwise specified herein. In addition, the partitioning of logic between block definitions and individual blocks is an example of a specific embodiment. It will be apparent to those of ordinary skill in the art that the present disclosure can be practiced through many other partitioning solutions. In most cases, details about timing considerations, etc. have been omitted, where such details are not required to obtain a complete understanding of the present disclosure and are within the capabilities of those of ordinary skill in the relevant art.

[0023] Those of ordinary skill in the art will appreciate that any of a variety of different technologies and techniques may be used to represent information and signals. For clarity of presentation and description, some figures may show signals as a single signal. Those of ordinary skill in the art will appreciate that a signal may represent a signal bus, where the bus may have a variety of bit widths, and that the present disclosure may be implemented on any number of data signals, including a single data signal.

[0024] The various exemplary logic blocks, modules, and circuits described in conjunction with the embodiments disclosed herein may be implemented or executed with a general purpose processor, a special purpose processor, a digital signal processor (DSP), an integrated circuit (IC), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof, designed to perform the functions described herein. A general purpose processor (also referred to herein as a host processor or simply a host) may be a microprocessor, but in an alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors combined with a DSP core, or any other such configuration. A general purpose computer including a processor is considered a special purpose computer when a general purpose computer may be configured to execute computing instructions (e.g., software code) associated with the embodiments disclosed herein.

[0025] Embodiment can be described according to the process that is depicted as flow chart, flow diagram, structure diagram or block diagram.Although flow chart can describe operation action as sequential process, many of these actions can be performed in another sequence, in parallel or substantially simultaneously.In addition, the order of action can be rearranged.The process herein can correspond to method, thread, function, process (procedure), subroutine, subprogram, other structure or their combination.In addition, the method disclosed herein can be realized by hardware, software or both.If realized in software, these functions can be stored or transmitted to computer readable medium as one or more instructions or codes.Computer readable medium includes both computer storage medium and communication medium, and this communication medium includes any medium that is conducive to transferring computer program from one position to another position.

[0026] Unless such limitations are explicitly stated, any reference to elements herein using names such as "first," "second," etc. does not limit the number or order of those elements. Instead, these names may be used herein as a convenient method of distinguishing between two or more elements or instances of elements. Thus, reference to a first element and a second element does not mean that only two elements can be employed there, or that the first element must precede the second element in some manner. Furthermore, unless otherwise indicated, a group of elements may include one or more elements.

[0027] As used herein, the term "substantially" in reference to a given parameter, characteristic, or condition refers to and includes the degree to which a person of ordinary skill in the art would understand that a given parameter, characteristic, or condition is met with a small degree of variance, such as, for example, within acceptable manufacturing tolerances. By way of example, depending on the specific parameter, characteristic, or condition that is substantially met, the parameter, characteristic, or condition may be met by at least 90%, at least 95%, or even at least 99%.

[0028] Proportional-integral (PI) controllers are sometimes used in FOC. Generally speaking, a PI controller receives an error signal as input and generates a control action signal consisting of a P action and an I action (also referred to in this article as I gain, G I ).

[0029] In the case of FOC, the PI controller that implements the PI control loop converts the current error i ~ As input (i ~ is the expected current i ref and the difference between the observed current i), and outputs the control voltage reference u that is expected to achieve the desired stator current ref (Control action). Since the stator current can be decomposed into d-axis and q-axis components, a separate PI controller can be used for i q Quantity and i d Quantity.

[0030] Looking only at the q-axis component, the PI controller attempts to achieve the desired q-axis current by finding The q-axis voltage to minimize the error. and The relationship between is defined in Equation 1:

[0031]

[0032] Where L q represents the q-axis inductance, L d represents the d-axis inductance, R represents the phase resistance, ψ f represents the rotor flux, and ω represents the motor angular velocity. The control action taken by the PI controller can be defined by Equation 2:

[0033]

[0034] Among them G P and G I are the gains obtained by executing P control action and I control action respectively.

[0035] The operation of PMSMs, and more generally servo motors, can produce small disturbances (e.g., vibrations, equipment wear, non-limiting), and the extent of such disturbances can affect the control loop used for FOC. Compensators are sometimes used to reduce the burden on the PI controller by tuning the control system performance to account for system dynamics. In the case of FOC for PMSMs, compensation can be added to the q-axis control voltage defined by Equation 3

[0036]

[0037] Control voltage The compensation component of can be defined by Equation 4:

[0038]

[0039] It is worth noting that the compensation according to Equation 4 involves multiple system parameters in order to generate the compensation signal, including but not limited to the q-axis inductance (L q ), phase resistance (R) and rotor flux (ψ f ).

[0040] Equation 4 is an idealized representation of the operation of a PMSM. The inventors of the present disclosure now recognize that it is not easy to accurately determine such system parameters in practice. Furthermore, Equation 4 does not necessarily improve the current tracking performance of the controller and may even degrade the current tracking performance if inaccurate system parameters are used.

[0041] As a non-limiting example, due to the above-mentioned disturbances, the degree to which the system parameter values ​​accurately represent various aspects of the current tracking process for the PMSM may decrease over time. And as mentioned above, recalculating system parameters (such as inductance, phase resistance, and rotor flux) is computationally intensive, and such calculations are prone to inaccuracies that can cause process instability.

[0042] Conventional techniques known to the inventors of the present disclosure may rely on one or more of: cross-term compensation between direct and quadrature axes, use of larger PI actions to increase control bandwidth, and / or high pulse width modulation frequency and / or immediate update of PWM duty cycle to increase control bandwidth. Such techniques bring undesirable trade-offs such as low-pass filter characteristics of the current loop, reduced stability and higher noise, power losses, and increased component cost and complexity, without limitation. Therefore, in the case of FOC of PMSM, improving current tracking and more general motor current control performance is often overlooked in order to improve motion control performance.

[0043] The inventors of the present disclosure recognized that current tracking of FOC for a PMSM can be improved by estimating system parameters of the PMSM and applying full compensation to reduce the burden (eg, computational burden, not limiting) on ​​the PI controller.

[0044] As used herein, "rotate" refers to performing at least a partial rotation about an axis. As a non-limiting example, a physical body (e.g., a shaft or rotor, not limited) can rotate about an axis, and a force (e.g., a magnetic field, not limited) can rotate about an axis.

[0045] Figure 1 A FOC loop 100 implementing a current tracking process according to one or more embodiments is shown. The FOC loop 100 includes a d action block 102 and a q action block 104. Only the q action block 104 is discussed herein because the ideal current of the direct component of the d action block 102 is generally understood to be zero.

[0046] Turning to q action block 104, as Figure 1 As shown, the q action block 104 attempts to reduce the error function by determining an error function reducing control action. The PI controller 112 outputs a first control action 126 in response to the error 114, which is Figure 1 Indicated as i q ref and i q The adaptive compensation component 122 provided by the adaptive compensator 106 and the cross compensation component 120 provided by the cross compensator 118 are applied to the first control action 126 to obtain the second control action 116, which is Figure 1 Indicated as u qref .

[0047] The adaptive compensator 106 includes a compensator 110 and an estimator 108. As discussed herein, the estimator 108 can be configured to provide accurate information about motor parameters (e.g., q-axis inductance, phase resistance, and rotor flux, without limitation). By using accurate information about the motor parameters, the output of the compensator 110 (i.e., the control voltage The compensation components) are more correct (e.g., relative to a situation where the compensator 110 uses less accurate information about the motor parameters), and therefore the compensator 110 can reduce the burden on the PI controller and can alleviate at least some of the disadvantages of using the PI controller more often with PMSM motors and servo motors.

[0048] As a non-limiting example, in most cases, the original q-axis inductance and resistance of the motor will be very small, so the system parasitic inductance and resistance will greatly change the actual q-axis inductance and resistance of the motor compared to the original q-axis inductance and resistance of the motor. In this case, the compensator 110 alone cannot provide the correct output, and therefore the compensator 110 will not make any compensation and may damage the performance of the control system in which the compensator is incorporated. As another non-limiting example, the q-axis inductance, resistance, and rotor flux of the motor will change with temperature. Even if the compensator 110 alone provides the correct output when the motor starts running, as the motor continues to run, the output of the compensator 110 will become increasingly incorrect as the temperature increases (i.e., the difference between the correct output and the actual output will increase).

[0049] The estimator 108 may generally be configured to implement an adaptive control technique to estimate the system parameters 124. Specifically, the estimator 108 provides accurate information about the motor parameters to assist the compensator 110—e.g., the output of the compensator 110 is more accurate than the compensator 110 operating alone without the assistance of the estimator 108. Additionally, the performance of the compensator 110 with the assistance of the estimator 108 may reduce the burden on the PI controller 112.

[0050] As a non-limiting example, adaptive control techniques are techniques for adapting a base control strategy to adapt a process to the dynamics of the process. Adapting the base control strategy is distinct from more general control of a process, which involves adapting the output in response to changes in the error between a desired parameter and an observed parameter. Adaptive control can be used in conjunction with and / or improve upon such more general control.

[0051] As a non-limiting example, adaptive control techniques may include tuning input parameters to a control law or modifying an expression of a control law, and in either case, in response to changes in process behavior. It is noteworthy that a non-adaptive controller (such as a PI controller or a PID controller) may become unstable if the mismatch between the process and the original tuning of the controller becomes severe enough. Instability may be corrected by stopping the process and tuning / retuning the non-adaptive controller, and more generally the non-adaptive control loop, for the process. In contrast, according to one or more embodiments, a controller and / or control loop implementing an adaptive control technique may adapt the underlying control strategy while executing the process.

[0052] Figure 2 An embodiment of an adaptive compensator 200 (such as adaptive compensator 106, without limitation) for controlling a current tracking process according to one or more embodiments is shown. Figure 2 In the illustrated embodiment, the estimator of the auxiliary compensator 202 includes a plurality of estimators (in Figure 2 , estimators 204, 206, and 208), each such estimator being configured to calculate a system parameter.

[0053] The compensator 202 may generally be configured to calculate the adaptive compensation component 212 using Equation 4 (here, the control law), expressed as The premise is to use the estimated parameters instead of the q-axis inductance (L q ), phase resistance (R) and rotor flux (ψ f ),Right now and The estimated parameters are provided by one or more estimators discussed below. The equation used by the compensator 202 is represented herein as Equation 4' (here the modified control law) because the estimated system parameters are used and To replace L q , R, and ψ f :

[0054]

[0055] In equation 4′, the first subcomponent is the inductance component defined by the following expression: expression The digital calculation of may introduce a lot of noise. Optionally, to account for the noise, in some embodiments, an estimator may be used (e.g., in addition to or in place of one or more of the estimators 204, 206, and 208) to calculate using approximations As defined in Equation 5:

[0056]

[0057] where J is the rotor inertia, a ref is the expected acceleration, K t is the motor torque coefficient, and T l is the load torque. Equation 5 is An approximation of , which uses the laws of kinetics to calculate And reduce the noise introduced by digital calculations.

[0058] The second component is the phase resistor component defined by the following expression:

[0059] The third component is the flux component defined by the following expression:

[0060] The compensator 202 uses at least three parameters 210, namely and The corresponding superscripts indicate that these are estimated system parameters. The three estimators assist the compensator 202 in calculating the contribution of each of the three components to the adaptive compensation component 212 .

[0061] The inductance estimator 204 may be configured to estimate the inductance parameters used by the compensator 202 The resistor estimator 206 may be configured to estimate phase resistor parameters used by the compensator 202 The flux estimator 208 may be configured to estimate the rotor flux parameters used by the compensator 202

[0062] In one embodiment, the inductance estimator 204 may be configured to determine the estimated q-axis inductance parameter according to Equation 6:

[0063]

[0064] In one embodiment, the resistor estimator 206 may be configured to determine the estimated phase resistor parameters according to Equation 7:

[0065]

[0066] In one embodiment, the inductance flux estimator 208 may be configured to determine the estimated phase resistance parameter according to Equation 8:

[0067]

[0068] In Equation 6, Equation 7, and Equation 8, P1, P2, and P3 are estimated gains based on the control action of the controller and more generally the control loop, and the parameters and They are and The gains P1, P2 and P3 of the control actions according to the estimation may be determined using any suitable technique known to those of ordinary skill in the art.

[0069] As a non-limiting example, it is generally provided that a tuning technique may be used to iteratively guess and check the estimated values ​​until satisfactory performance is achieved. As yet another non-limiting example of an algorithm for determining the estimated gains P1, P2, and P3 of the control according to the control action: an initial arbitrary value of the estimated gain according to the control action may be used, and the corresponding values ​​may be generated and observed. and The waveforms of Equation 6, Equation 7, and Equation 8, respectively, are used to determine the speed at which the estimated value becomes stable (i.e., the observed stable period). The stable period can be compared with a specified threshold. If the observed stable period is too long (i.e., the observed stable period is longer than the specified threshold), the estimated gain according to the control action can be increased. If the observed stable period is too short (i.e., the observed stable period is shorter than the specified threshold), the estimated gain according to the control action may be reduced. In another embodiment, a nominal value (i.e., a predetermined value) provided by the motor supplier can be used as a substitute or supplement to the arbitrary value.

[0070] Figure 3 A block diagram of a motor current control loop 300 is shown according to one or more embodiments. As depicted, the motor current control loop 300 may include a Clarke transformer 310, a Park transformer 312, a PI controller 306, an adaptive controller 308, an inverse Clarke and Park transformer 302, and a PWM generator 304.

[0071] Clarke transformer 310 may be configured to respond to the measured i a 、i b 、i c and orthogonal coded pulses to convert the three-phase quantity (i a ,i b ,i c ) from the three-phase reference system to the two-axis orthogonal fixed reference system. Because it can be converted from the three-phase reference system to the two-axis orthogonal fixed reference system using techniques known to those skilled in the art, a and i b OK c , so only the measured i a and the measured i b is shown as input, but can also receive and use i cSince the rotor reference frame is constantly rotating, the quantity output by Clarke transformer 310 in the two-axis orthogonal reference frame is converted by Park transformer 312 into an orthogonal reference frame consisting of the d-axis and the q-axis. Park transformer 312 can output various quantities in the (q, d) reference frame, including but not limited to i q 、i d 、w q and w d —But Figure 3 Only the current control circuit 300 of the motor is shown. q and i d .

[0072] The PI controller 306 and the adaptive controller 308 may be configured to output control voltages u d and q control voltage u q Specifically, the adaptive controller 308 may be configured to respond to the q-axis motor current error According to the FOC loop 100 and the adaptive compensator 200 discussed in this article, the q-axis control voltage u is generated. q , the q-axis motor current error is based on the measured current i a and i b And the calculated current i c The calculated desired q-axis current (e.g., ) and the observed q-axis current i q The PI controller 306 may be configured to respond to the q-axis motor current error The output d-axis control voltage u d , the q-axis motor current error is based on the measured current i a and i b And the calculated current i c The calculated zero is consistent with the observed d-axis current i d The difference between.

[0073] The inverse Clarke and Park transformer 302 may be configured to convert the d-axis reference voltage u output by the PI controller 306 and the adaptive controller 308, respectively, into d and q-axis reference voltage u q Convert to the three-phase reference frame as u a 、u b and u c .

[0074] The PWM generator 304 may be configured to provide a pulse width modulated voltage (PWM voltage) DC in response to ua, ub, and uc, respectively. a 、DC b and DC cduty cycle, and the PWM voltage DC a 、DC b and DC c is provided to a PMSM operatively coupled to the output of a PWM generator 304 .

[0075] Figure 4 4 shows a PMSM drive system 400 according to one or more embodiments. According to one or more embodiments, the PMSM drive system 400 implements, among other control loops, a motor current control loop for controlling the motor current of a motor configured as a permanent magnet synchronous motor (e.g., PMSM 410, without limitation), such as Figure 3 The motor current control loop 300 is non-limiting.

[0076] The PMSM drive system 400 may be configured to cause the waveform of the motor current of the PMSM 410 to track the waveform defined by the current curve 416. Consistent with the general usage of singular and plural terms in this specification, although the singular forms of the terms "voltage," "waveform," "current," and "curve" may refer to the voltage, "waveform," "current," and "curve," the voltage, "waveform," "current," and "curve" may refer to the current waveform of the PMSM 410. Figures 4 to 9 , but such description is intended to cover both the singular and the plural, e.g., "a voltage," "multiple voltages," "a waveform," "multiple waveforms," ​​"a current," "multiple currents," "a curve," "multiple curves," and signals thereof. Such description is consistent with the present disclosure, as a non-limiting example ( Figure 3 ), which shows multiple motor currents (e.g., i a 、i b 、i c ) of multiple PWM voltages (e.g., DC a 、DC b and DC c ) and a system for shaping the waveform of a motor current based on a desired waveform of such motor current.

[0077] like Figure 4 As shown, the PMSM drive system 400 may include a motion profile generator 404, a motion controller 406, and a current controller 408, which may be operably coupled to include a motor driver 402 for driving a PMSM 410. In an intended use case, the motor driver 402 may be implemented in a microcontroller that may be configured to be primarily responsible for implementing the motor driver 402 and the more general PMSM drive system 400. In another intended use case, the motor driver 402 may be implemented in a microcontroller that includes the motor driver 402 and other control elements (such as Figure 6 The process controller 602 is implemented in a microcontroller of (not limited to) a processor.

[0078] The motion curve generator 404 can be generally configured to create one or more s-curve motion curves defining the desired motion state of the PMSM over time in response to the desired position / speed 412. As a non-limiting example, the motion curve generated by the motion curve generator 404 will define the position and speed of the PMSM at a given time point within a certain period of time. In the case of an s-curve, the waveform of the motion curve created by the motion curve generator 404 will be smooth (i.e., differentiable), and the period of the waveform is substantially "s" shaped. As a non-limiting example, the motion curve generator 404 can be configured to create a motion curve using a symmetrical reference, an asymmetrical reference, and a combination thereof. The motion curve corresponds to the desired position / speed. The motion curve generator 404 selects a motion curve 414 corresponding to the desired position / speed 412 and provides it to the motion controller 406.

[0079] The motion controller 406 may generally be configured to execute a control loop involving providing a current profile 416 that is expected to result in motion (e.g., rotation, non-rotation) of the PMSM 410 substantially in accordance with the motion profile 414. As part of such a control loop, the motion controller 406 receives motor motion feedback 420 indicative of the motion of the PMSM 410 (e.g., speed, position, torque, rotation angle, unrestricted), and attempts to reduce motion errors by adjusting (e.g., adding, modifying, deleting) one or more features of the current profile 416, thereby obtaining an updated current profile 416. In one or more embodiments, the motion controller 406 may include one or more component motion controllers, including but not limited to a position controller, a velocity controller, and / or a torque controller, and each such component controller may also implement one or more control loops.

[0080] Among other information, the current profile 416 may include a desired waveform for the motor current feedback 422. The current controller 408 may generally be configured to implement a motor current control loop (eg, Figure 3 4 , which involves providing a control voltage 418 that is expected to result in a motor current at the PMSM 410 that tracks the current curve 416 .

[0081] As discussed herein, it is desirable to match the waveform of the motor current to the desired waveform of the current curve 416. Therefore, as part of the motor current control loop, the current controller 408 receives motor current feedback 422 indicative of one or more motor currents at the PMSM 410. The current controller 408 may attempt to reduce the current error (which may also be referred to herein as a "tracking error") by adjusting the control voltage 418 as described herein, i.e., by adjusting the current error determined by Figure 3 The PWM generator 304 generates a DCa 、DC b and / or DC c In this way, the current controller 408 can be configured to control the motor current of the PMSM 410 to track the current curve 416 provided by the motion controller 406.

[0082] Although not in Figure 4 4 , but the PMSM drive system 400 may include an inverter circuit configured to convert the PWM generator (e.g., Figure 3 The DC voltage output by the PWM generator 304 is converted into a corresponding AC voltage exhibiting a desired pulse width and pulse frequency, without limitation.

[0083] It is worth noting that when executing a cycle of the motor current control loop, the current controller 408 may use the current curve 416 of the previous cycle, or use the current curve 416 updated by the motion controller 406 since the previous cycle. Therefore, the tracking error may be caused by the inability to fully tune the control voltage so that the motor current tracks the current curve 416, may be caused by the adjustment of the current curve 416 by the motion controller 406, and combinations thereof, without limitation.

[0084] Figure 5A and Figure 5B is a signal diagram showing waveforms associated with motor control and, more specifically, current tracking. Figure 5A and Figure 5B 1 depicts examples of waveforms of desired current, feedback current, desired speed, feedback speed, desired position, and feedback position generated when executing a motor control process, and more specifically, when executing a current tracking process 500 according to one or more embodiments. As a non-limiting example, such a motor control process / current tracking process may be executed by the PMSM drive system 400, or more specifically, by the motor current control loop 300, for generating a control voltage DC a 、DC b or DC c One or more of . Figure 5B Depicted Figure 5A The desired current and feedback current are depicted in FIG, but are not obscured by the description of other waveforms.

[0085] like Figure 5B As depicted in FIG. 5 , the current tracking process 500 is being performed by measuring the motor current 502 (e.g., i q , provided with motor current feedback 422) to track the desired current curve 504 (e.g., ). Notably, the waveform 502 of the measured motor current tracks the waveform 504 of the desired current curve.

[0086] Figure 6 A speed vector controlled PWM controlled motor system 600 for a FOC PMSM is shown according to one or more embodiments.

[0087] like Figure 6 As shown, the process controller 602 may be configured to provide a desired position / speed 618 based on a desired position and / or speed of the PMSM 608 and / or a device mechanically controlled by the PMSM 608 .

[0088] In response to the desired position / speed 618, the driver 604 (e.g., Figure 4 The motor drive 402 (not limited thereto) may be configured to provide motor control 606 to the PMSM 608. The motor control 606 may include, but is not limited to, PWM voltages (including, but not limited to, a series of PWM voltages provided as part of multiple cycles of a control loop) intended to cause the PMSM 608 to rotate to a position and at a speed specified in the desired position / speed 618.

[0089] The rotation sensor 610 captures motion information about the PMSM 608 (eg, position / velocity information 612 , without limitation) and sends it to the driver 604 for use in adjusting the motor control 606 to meet a desired position / velocity 618 .

[0090] Additionally, current sensor 614 captures motor current information 616 about the motor current at PMSM 608 and feeds motor current information 616 to driver 604. Driver 604 compares motor current information 616 to an expected signal of current sensor 614 and adjusts motor control 606 in response to such comparison as described herein.

[0091] Figure 7 A flow chart of a process 700 for controlling a PMSM is shown according to one or more implementations.

[0092] In operation 702, process 700 provides a control voltage to the motor in response to a desired motor current. The motor may include means for generating rotation of a rotatable portion of the motor in response to the motor current induced at a stationary portion of the motor. The means for generating rotation of the rotatable portion of the motor in response to the motor current induced at the stationary portion of the motor may include, but is not limited to, a PMSM, including, but not limited to, a FOC PMSM.

[0093] In operation 704, process 700 performs a motor current tracking process for tracking the observed motor current to the desired motor current. Initially, performing the motor current tracking process may include determining a control voltage expected to generate an observed motor current that tracks the desired motor current.

[0094] In operation 706, process 700 generates an error function in response to performing the motor current tracking process in operation 704. The error function indicates a difference between an observed motor current and a desired motor current.

[0095] In operation 708, process 700 uses one or more estimated system parameters to tune an adaptive control loop. The adaptive control loop may be configured to minimize an error function. Tuning the adaptive control loop may include a tuning function for generating estimated system parameters until stable estimated system parameters are obtained. Tuning the estimated system parameters may include tuning the estimated system parameters for the adaptive control loop. and The process 700 may be a tuning function of one or more of the control loops and other system parameters, as discussed herein. The process 700 may perform tuning of the adaptive control loop without interrupting the motor current tracking process of operation 706 .

[0096] In operation 710, process 700 executes an adaptive control loop to minimize the error function tuned in operation 708. Minimizing the error function may involve attempting to reduce the difference between the desired motor current and the observed motor current, as indicated by the error function. Attempting to minimize the error function may include attempting to determine a control action that is expected to minimize the error function, i.e., reduce the difference between the observed waveform of the observed motor current and the waveform of the desired motor current.

[0097] In operation 712, process 700 obtains a second control voltage in response to executing the tuned adaptive control loop in operation 710. The second control voltage may be configured to minimize the error function, and more specifically, minimize the difference between the observed motor current and the desired motor current.

[0098] In operation 714 , process 700 provides the second control voltage determined in operation 712 to the motor.

[0099] Figure 8 A flow chart of a process 800 for executing an adaptive control loop to minimize an error function is shown.

[0100] In operation 802, process 800 obtains a first control action intended to control a difference between a desired waveform of a desired motor current and a waveform of an observed motor current. In one embodiment, process 800 may obtain the first control action by executing a proportional-integral control loop.

[0101] In operation 804, process 800 obtains one or more estimated system parameters of the electric motor. In one embodiment, process 800 obtains the one or more estimated system parameters by estimating one or more system parameters representing system dynamics of the electric motor. As non-limiting examples, the estimated system parameters may include estimated inductance, estimated phase resistance, and estimated rotor flux.

[0102] In operation 806 , process 800 obtains a compensation component in response to the one or more estimated system parameters. In one embodiment, the compensation component is expected to compensate for the at least one estimated system parameter obtained in operation 804 .

[0103] In operation 808, process 800 obtains a second control action in response to the compensation component obtained in block 806. In one embodiment, the second control action is obtained by adjusting the first control action to compensate for at least one of the estimated system parameters.

[0104] In operation 810, process 800 generates one or more control voltages in response to the second control action obtained in operation 808. The one or more control voltages may be generated by a PWM generator, such as PWM generator 304. Prior to generating the one or more control voltages, the second control action may be converted to a multi-phase reference frame.

[0105] One or more control voltages may be selected to minimize the difference between a waveform exhibited by the measured motor current (eg, in terms of pulse width and pulse frequency exhibited by such waveform, without limitation) and a desired waveform of a desired current curve for the motor current of the PMSM.

[0106] Fig. 9 A process 900 of determining estimated gains as part of executing an adaptive control loop is shown according to one or more embodiments.

[0107] In operation 902, process 900 uses initial values ​​to set the values ​​of estimated gains (e.g., P1, P2, P3 of equations 9, 10, and 11) according to control actions corresponding to control system parameters (e.g., estimated L, R, and I). In one embodiment, the initial values ​​can be arbitrary values. In another embodiment, the initial values ​​can be provided by the motor manufacturer. In operation 904, process 900 generates a waveform for at least one of the system parameters. The waveform generated in operation 904 can be a function defined by one of equations 9, 10, or 11. In operation 906, a stable period is observed for the waveform generated in operation 904. The stable period is the period of time required for the waveform to stabilize. If the length of the stable period observed in operation 906 is greater than a specified threshold (i.e., the waveform stabilizes too slowly), then in operation 908, the value of the estimated gain is increased. If the length of the stable period observed in operation 906 is less than a specified threshold (i.e., the waveform stabilizes too quickly), then in operation 910, the value of the estimated gain is reduced.

[0108] Fig.10 An example for controlling a FOC PMSM 900, i.e., a q component and a d component and an exemplary axis of a three-phase system, as discussed herein, is shown. Stator windings a, b, and c are shown. In operation, each stator winding a, b, and c receives a current (i.e., a stator current). The waveform of each stator winding is different.

[0109] As used in the present disclosure, the term "module" or "component" may refer to a specific hardware implementation that is configured to perform the actions of a module or component and / or software object or software routine that may be stored on and / or executed by general-purpose hardware of a computing system (e.g., a computer-readable medium, a processing device, without limitation). In some embodiments, the different components, modules, engines, and services described in the present disclosure may be implemented as objects or processes executed on a computing system (e.g., as separate threads). Although some of the systems and methods described in the present disclosure are generally described as being implemented in software (stored on and / or executed by general-purpose hardware), specific hardware implementations or combinations of software and specific hardware implementations are possible and contemplated.

[0110] As used in this disclosure, the term "combination" referring to multiple elements may include any combination of all elements or various sub-combinations of certain elements. For example, the phrase "A, B, C,

[0111] D or a combination thereof” may refer to any one of A, B, C, or D; a combination of each of A, B, C, and D; and any subcombination of A, B, C, or D, such as A, B and C; A, B and D; A, C and D; B, C and D; A and B; A and C; A and D; B and C; B and D; or C and D.

[0112] The terms used in this disclosure, especially in the appended claims (e.g., the bodies of the appended claims) are generally intended to be “open” terms (e.g., the term “including” should be interpreted as “including but not limited to,” the term “having” should be interpreted as “having at least,” and the term “comprising” should be interpreted as “including but not limited to,” without limitation).

[0113] Additionally, if a specific number of an introduced claim recitation is intended, such intent will be expressly recited in the claim, and in the absence of such recitation, no such intent is present. For example, to aid understanding, the following appended claims may contain usage of the introductory phrases "at least one" and "one or more" to introduce claim recitations. However, the use of such phrases should not be construed to imply that a claim recitation introduced by the indefinite article "a" or "an" will limit any particular claim containing such introduced claim recitation to embodiments containing only one such recitation, even when the same claim includes the introductory phrases "one or more" or "at least one" and an indefinite article, such as "a" or "an" (e.g., "a" and / or "an" may be interpreted to mean "at least one" or "one or more"); the same is true of the use of definite articles used to introduce claim recitations.

[0114] Furthermore, even if specific numbers of the introduced claim recitations are explicitly recited, those skilled in the art will recognize that such recitations should be interpreted as referring to at least the recited number (e.g., a bare recitation of "two recitations" without other modifiers refers to at least two recitations or two or more recitations). Furthermore, in those instances where a conventional phrase similar to "at least one of A, B, and C, non-limiting" or "one or more of A, B, and C, non-limiting" is used, such constructions are generally intended to include A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B, and C together, non-limiting.

[0115] In addition, any discrete word or phrase presenting two or more additional terms, whether in the specification, claims or drawings, should be understood to include the possibility of one of the terms, either of the two terms, or both of the two terms. For example, the phrase "A or B" should be understood to include the possibility of "A" or "B" or "A and B".

[0116] Additional non-limiting embodiments of the present disclosure include:

[0117] Embodiment 1: A method for controlling an electric motor, wherein the electric motor is configured to generate rotation of a rotatable portion of the electric motor in response to a motor current induced at a stationary portion of the electric motor, the method comprising: providing a control voltage to the electric motor; executing a motor current tracking process for tracking an observed motor current to a desired motor current; generating an error function in response to executing the motor current tracking process; tuning an adaptive control loop, wherein the adaptive control loop is configured to minimize the error function using one or more estimated system parameters; and executing a control action in response to the tuned adaptive control loop.

[0118] Embodiment 2: The method according to embodiment 1 also includes: obtaining a first control action for expecting to control the difference between the expected waveform of the expected motor current and the observed waveform of the observed motor current; obtaining one or more estimated system parameters of the motor; obtaining a compensation component in response to the one or more estimated system parameters; and obtaining a second control action by adjusting the first control action in response to the compensation component.

[0119] Embodiment 3: The method of any one of Embodiments 1 and 2, wherein obtaining the one or more estimated system parameters of the electric motor comprises estimating one or more system parameters representative of system dynamics of the electric motor.

[0120] Embodiment 4: The method of any one of Embodiments 1 to 3, wherein estimating system parameters representing system dynamics of the electric motor comprises estimating one or more of inductance, phase resistance, and rotor flux.

[0121] Embodiment 5: A method according to any one of embodiments 1 to 4, wherein obtaining a compensation component in response to the one or more estimated system parameters includes determining a component that is expected to compensate for at least one of the estimated system parameters.

[0122] Embodiment 6: The method of any one of Embodiments 1 to 5, further comprising providing a second control voltage to the motor in response to a control action obtained by executing the adaptive control loop.

[0123] Embodiment 7: A method according to any one of embodiments 1 to 6, wherein executing the adaptive control loop includes: using an initial value to set a value of an estimated gain of a control action corresponding to an estimated system parameter; generating a waveform of at least one system parameter; and tuning the value of the estimated gain corresponding to the at least one system parameter in response to the waveform.

[0124] Embodiment 8: The method according to any one of embodiments 1 to 7 further includes: observing a stable period of the waveform; and changing the value of the estimated gain in response to the length of the stable period.

[0125] Embodiment 9: A method according to any one of embodiments 1 to 8, wherein changing the value of the estimated gain in response to the length of the stable period includes: increasing the value of the estimated gain in response to the length of the stable period being greater than a specified threshold.

[0126] Embodiment 10: A method according to any one of embodiments 1 to 9, wherein changing the value of the estimated gain in response to the length of the stable period includes: reducing the value of the estimated gain in response to the length of the stable period being less than a specified threshold.

[0127] Embodiment 11: A motor controller for driving a motor configured as a permanent magnet synchronous motor (PMSM), the motor controller comprising a processor and a non-transitory machine-readable medium, the medium comprising instructions, which when executed by the processor configure the motor controller to: provide a first control voltage to the motor; execute a motor current tracking process to track an observed motor current to a desired motor current; generate an error function in response to executing the motor current tracking process; tune an adaptive control loop, the adaptive control loop being configured to minimize the error function in response to one or more estimated system parameters; and provide a second control voltage in response to the tuned adaptive control loop.

[0128] Embodiment 12: A motor controller according to Embodiment 11, wherein the instructions, when executed by the processor, further configure the motor controller to: obtain a first control action for expected control of a difference between an expected waveform of the expected motor current and an observed waveform of the observed motor current; obtain one or more estimated system parameters of the motor; obtain a compensation component in response to the one or more estimated system parameters; and obtain a second control action by adjusting the first control action in response to the compensation component.

[0129] Embodiment 13: A motor controller according to any one of embodiments 11 and 12, wherein the instructions, when executed by the processor, further configure the motor controller to obtain the one or more estimated system parameters of the motor by estimating one or more system parameters representing the system dynamics of the motor.

[0130] Embodiment 14: A motor controller according to any one of embodiments 11 to 13, wherein the instructions, when executed by the processor, further configure the motor controller to estimate system parameters representing system dynamics of the motor by estimating one or more of inductance, phase resistance, and rotor flux.

[0131] Embodiment 15: A motor controller according to any one of embodiments 11 to 14, wherein the instructions, when executed by the processor, further configure the motor controller to obtain a compensation component in response to the one or more estimated system parameters by determining a component that is expected to compensate at least one of the estimated system parameters.

[0132] Embodiment 16: A motor controller according to any one of Embodiments 11 to 15, wherein the instructions, when executed by the processor, further configure the motor controller to provide a second control voltage to the motor in response to a control action obtained by executing the adaptive control loop.

[0133] Embodiment 17: A motor controller according to any one of embodiments 11 to 16, wherein the instructions, when executed by the processor, further configure the motor controller to execute the adaptive control loop by: using an initial value to set a value of an estimated gain for a control action corresponding to an estimated system parameter; generating a waveform of at least one system parameter; and tuning the value of the estimated gain corresponding to the at least one system parameter in response to the waveform.

[0134] Embodiment 18: A motor controller according to any one of embodiments 11 to 17, wherein the instructions, when executed by the processor, further configure the motor controller to execute the adaptive control loop by: observing a stable period of the waveform; and changing the value of the estimated gain in response to the length of the stable period.

[0135] Embodiment 19: A motor controller according to any one of embodiments 11 to 18, wherein the instructions, when executed by the processor, further configure the motor controller to change the value of the estimated gain in response to the length of the stable period by increasing the value of the estimated gain in response to the length of the stable period being greater than a specified threshold.

[0136] Embodiment 20: A motor controller according to any one of embodiments 11 to 19, wherein the instructions, when executed by the processor, further configure the motor controller to change the value of the estimated gain in response to the length of the stable period by reducing the value of the estimated gain in response to the length of the stable period being less than a specified threshold.

[0137] Embodiment 21: A system comprising: a motor, the motor being configured as a permanent magnet synchronous motor for field-oriented control; and a drive, the drive being configured to perform a current tracking process for tracking an observed motor current of the motor to a desired motor current of the motor, the process comprising: generating an error function in response to the current tracking process; tuning an adaptive control loop, the adaptive control loop being configured to minimize the error function in response to a compensation function using estimated system parameters; and providing a control voltage to the motor in response to the tuned adaptive control loop.

[0138] Embodiment 22: A system as described in Embodiment 21, wherein the error function indicates the difference between the expected motor current and the observed motor current.

[0139] Embodiment 23: A system according to any one of embodiments 21 and 22, wherein the drive comprises: a motion curve generator, which generates a desired motion curve in response to one or more of a desired position and a desired speed; a motion controller, which is configured to output a desired current curve in response to the desired motion curve; and a current controller, which is configured to output a control voltage in response to the desired current curve.

[0140] Embodiment 24: A system according to any one of Embodiments 21 to 23, wherein the current controller comprises: a controller configured to implement a d-axis control loop; and an adaptive controller configured to implement a q-axis control loop.

[0141] Embodiment 25: A system according to any one of embodiments 21 to 24, wherein the current controller also includes a Park transformer operably coupled to the output of the Clarke transformer, and the operably coupled Park transformer and Clarke transformer are configured to receive observed motor current and observed motor motion, and convert the observed motor current and the observed motion into q-axis components and d-axis components.

[0142] Embodiment 26: The system of any one of Embodiments 21 to 25, wherein the current controller further comprises a pulse width modulation generator configured to generate a pulse width modulated voltage control signal.

[0143] Embodiment 27: A system according to any one of embodiments 21 to 26, wherein the motion controller includes: a velocity controller, which is configured to determine the velocity component of the desired motion curve; and a position controller, which is configured to determine the position component of the desired motion curve.

[0144] Embodiment 28: The system according to any one of embodiments 21 to 27 also includes: a first feedback path, which is used to provide motion information about the operation of the motor to the motion controller; and a second feedback path, which is used to provide the current controller with motor current information about the motor current supplied to the motor.

[0145] Although the present invention is described herein in conjunction with certain illustrated embodiments, those of ordinary skill in the art will recognize and appreciate that the present invention is not so limited. Rather, many additions, deletions, and modifications may be made to the illustrated embodiments and the described embodiments without departing from the scope of the present invention as claimed below and its legal equivalents. Furthermore, features from one embodiment may be combined with features of another embodiment while still being included within the scope of the present invention as contemplated by the inventor.

Claims

1. A method of controlling an electric motor, the electric motor being configured to generate rotation of a rotatable part of the electric motor in response to a motor current induced at a stationary part of the electric motor, the method comprising: Provide control voltage to the motor; executing a motor current tracking process for tracking an observed motor current to a desired motor current; generating an error function in response to executing the motor current tracking process, the error function representing a difference between the observed motor current and the desired motor current; generating a first control action in response to a non-adaptive control loop, the first control action reducing the error function; tuning an adaptive control loop using estimated system parameters, the adaptive control loop being configured to minimize the error function, the estimated system parameters comprising at least q-axis inductance, phase resistance, and rotor flux; generating a second control action in response to the first control action and the tuned adaptive control loop; and The second control action is performed in response to the tuned adaptive control loop.

2. The method according to claim 1, further comprising: obtaining the first control action in anticipation of controlling a difference between a desired waveform of the desired motor current and an observed waveform of the observed motor current; obtaining the estimated system parameters of the electric motor; obtaining a compensation component in response to the estimated system parameter; as well as A second control action is obtained by adjusting the first control action in response to the compensation component. 3 . The method of claim 2 , wherein obtaining compensation components in response to the estimated system parameters comprises determining a component intended to compensate for each of the estimated system parameters. 4 . The method of claim 1 , further comprising providing a second control voltage to the motor in response to a control action obtained by executing the adaptive control loop.

5. The method of claim 1 , wherein executing the adaptive control loop comprises: using an initial value to set a value of an estimated gain of a control action corresponding to the estimated system parameter; generating a waveform of at least one of the estimated system parameters; as well as A value of an estimated gain corresponding to the at least one estimated system parameter is tuned in response to the waveform.

6. The method according to claim 5, further comprising: observing a stable period of the waveform; as well as The value of the estimated gain is changed in response to the length of the stabilization period.

7. The method of claim 6, wherein changing the value of the estimated gain in response to the length of the stabilization period comprises: The value of the estimated gain is increased in response to the length of the stable period being greater than a specified threshold.

8. The method of claim 6, wherein changing the value of the estimated gain in response to the length of the stabilization period comprises: The value of the estimated gain is reduced in response to the length of the stable period being less than a specified threshold.

9. A motor controller for driving an electric motor, the electric motor being configured as a permanent magnet synchronous motor (PMSM), the motor controller comprising a processor and a non-transitory machine-readable medium, the medium comprising instructions, the instructions, when executed by the processor, configuring the motor controller to: providing a first control voltage to the motor; executing a motor current tracking process for tracking an observed motor current to a desired motor current; generating an error function in response to executing the motor current tracking process, the error function representing a difference between the observed motor current and the desired motor current; generating a first additional control voltage in response to a non-adaptive control loop, the first additional control voltage reducing the error function; tuning an adaptive control loop configured to minimize the error function using estimated system parameters, the estimated system parameters including at least q-axis inductance, phase resistance, and rotor flux; and A second additional control voltage is provided in response to the first additional control voltage and the tuned adaptive control loop to drive the PMSM.

10. The motor controller of claim 9, wherein the instructions, when executed by the processor, further configure the motor controller to: obtaining a first control action that anticipates controlling a difference between a desired waveform of the desired motor current and an observed waveform of the observed motor current; obtaining the estimated system parameters of the electric motor; obtaining a compensation component in response to the estimated system parameter; and A second control action is obtained by adjusting the first control action in response to the compensation component.

11. The motor controller of claim 10, wherein the instructions, when executed by the processor, further configure the motor controller to obtain compensation components in response to the estimated system parameters by determining components that are expected to compensate each of the estimated system parameters.

12. The motor controller of claim 9, wherein the instructions, when executed by the processor, further configure the motor controller to provide a second control voltage to the motor in response to a control action obtained by executing the adaptive control loop.

13. The motor controller of claim 9, wherein the instructions, when executed by the processor, further configure the motor controller to perform the adaptive control loop by: using an initial value to set a value of an estimated gain of a control action corresponding to the estimated system parameter; generating a waveform of at least one of the estimated system parameters; and A value of an estimated gain corresponding to the at least one estimated system parameter is tuned in response to the waveform.

14. The motor controller of claim 13, wherein the instructions, when executed by the processor, further configure the motor controller to perform the adaptive control loop by: observing a stable period of the waveform; and The value of the estimated gain is changed in response to the length of the stabilization period.

15. The motor controller of claim 14, wherein the instructions, when executed by the processor, further configure the motor controller to change the value of the estimated gain in response to the length of the stabilization period by: The value of the estimated gain is increased in response to the length of the stable period being greater than a specified threshold.

16. The motor controller of claim 14, wherein the instructions, when executed by the processor, further configure the motor controller to change the value of the estimated gain in response to the length of the stabilization period by: The value of the estimated gain is reduced in response to the length of the stable period being less than a specified threshold.

17. A system for a permanent magnet synchronous motor, comprising: An electric motor, wherein the electric motor is configured as a field-oriented controlled permanent magnet synchronous motor; and A driver configured to perform a current tracking process for tracking an observed motor current of the motor to a desired motor current of the motor, the process comprising: generating an error function in response to the current tracking process, the error function representing a difference between the observed motor current and the desired motor current; generating a first control action in response to a non-adaptive control loop, the first control action reducing the error function; tuning an adaptive control loop in response to a compensation function using estimated system parameters, the adaptive control loop being configured to minimize the error function, the estimated system parameters including at least q-axis inductance, phase resistance, and rotor flux; and In response to the first control action and the tuned adaptive control loop, a control voltage is provided to the electric motor.

18. The system of claim 17, wherein the error function indicates a difference between a desired motor current and an observed motor current.

19. The system of claim 17, wherein the driver comprises: a motion profile generator that generates a desired motion profile in response to one or more of a desired position and a desired velocity; a motion controller configured to output a desired current profile in response to the desired motion profile; and A current controller is configured to output a control voltage in response to the desired current curve.

20. The system of claim 19, wherein the current controller comprises: a controller configured to implement a d-axis control loop; and An adaptive controller is configured to implement a q-axis control loop.

21. The system of claim 19, wherein the current controller further comprises a Park transformer operably coupled to an output of a Clarke transformer, the operably coupled Park transformer and Clarke transformer being configured to receive an observed motor current and an observed motion of the motor and convert the observed motor current and the observed motion into a q-axis component and a d-axis component.

22. The system of claim 19, wherein the current controller further comprises a pulse width modulation generator configured to generate a pulse width modulated voltage control signal.

23. The system of claim 19, wherein the motion controller comprises: a velocity controller configured to determine a velocity component of the desired motion profile; and A position controller is configured to determine a position component of the desired motion profile.

24. The system of claim 19, further comprising: a first feedback path for providing motion information regarding operation of the motor to the motion controller; and A second feedback path for providing the current controller with motor current information regarding the motor current supplied to the motor.

Citation Information

Patent Citations

  • Current regulator and current control method and system for AC motors

    CN101557196A

  • Model-free current control method for permanent magnet synchronous motor

    CN105680755A

  • A decoupling control method and a motor control device for an asymchronous motor without speed sensor

    CN109004874A

  • Controller for voltage-type inverter

    JP2008295125A

  • Speed sensorless vector control apparatus

    JP2009195106A