Motor control using optimal efficiency reference generation
By using the OERG control method, combined with convex loss function and finite element analysis, the problem of neglecting the core loss in wound-rotor field synchronous motors is solved, achieving efficient drive at high motor speeds and torques, and simplifying the motor control mapping process.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- TAU MOTORS INC
- Filing Date
- 2024-06-17
- Publication Date
- 2026-06-09
AI Technical Summary
Existing technologies struggle to effectively integrate core losses into the reference value generation when controlling wound-rotor field synchronous motors. This results in output losses not being minimized during high-efficiency driving, especially at high motor speeds. Furthermore, traditional methods are computationally complex and limited by copper losses, neglecting the impact of core losses.
A control method based on Optimal Efficiency Reference Generation (OERG) is adopted. By using the optimization problem of convex loss function and combining finite element analysis data, the quadratic core loss function is determined, and the current and control parameters are optimized in the rotating reference frame. This is simplified to a lookup table or piecewise affine mapping to minimize the core loss.
Accurate representation of copper loss and core loss is achieved under a wide range of machine operating conditions, simplifying the mapping process and improving the high-efficiency drive capability of the motor, especially the operating efficiency at high motor speeds and torques.
Smart Images

Figure CN122181101A_ABST
Abstract
Description
[0001] Cross-reference to related applications This application claims priority to U.S. Provisional Application No. 63 / 521,261, filed June 15, 2023, entitled “Motor Control Using OPTIMAL EFFICIENCY REFERENCE GENERATION,” which is incorporated herein by reference in its entirety.
[0002] Statement on Federally Funded Research
[0003] not applicable. Background Technology
[0004] Various types of electrical machines (e.g., electric motors) have been manufactured and used in many industries and situations. For example, a synchronous motor is an alternating current (AC) motor with a stator driven by an AC power supply signal (e.g., one signal for each phase of the stator) to cause the rotor to rotate. More specifically, the AC power supply signal in the stator windings generates a magnetic field that interacts with one or more magnetic fields of the rotor to cause the rotor to rotate. The rotation of the rotor is typically synchronized with the frequency of the AC power supply current. The rotor can be a permanent magnet rotor, a wound-field rotor, or a hybrid rotor that includes both wound-field and permanent magnets. In the case of a permanent magnet rotor, one or more permanent magnets of the rotor generate one or more magnetic fields of the rotor. In the case of a wound-field rotor, current is supplied to one or more field windings of the rotor to generate one or more magnetic fields of the rotor. In the case of a hybrid rotor, both permanent magnets and the wound-field receiving the current generate one or more magnetic fields of the rotor. Summary of the Invention
[0005] The complexity of control techniques used to control motors can vary depending on the type of motor. Controlling the application of current to the stator windings and (in the case of a wound-rotor field synchronous motor) to the rotor windings at specific times and amplitudes to efficiently drive a synchronous motor can be challenging. For example, a motor controller can control an inverter to provide AC signals to each phase of the motor based on the current rotor position and other characteristics of the motor. The physical characteristics of the magnetic field of each stator winding interacting with the rotating rotor can lead to complex mathematical problems. Creating and solving these mathematical problems to address the factors that cause efficient motor drive is challenging, and in the case of a wound-rotor field synchronous (WFS) motor, these challenges can be exacerbated by the added wound-rotor field rotor. WFS motors are also known as WFS machines, wound-rotor synchronous machines (WRSM), wound-rotor field synchronous machines (WFSM), wound-rotor synchronous generators (WRSG), wound-rotor field synchronous generators (WFSG), and several other names.
[0006] WFS (Power-Filled, Non-Permanent Magnet, Synchronous) machines—as power-intensive, permanent magnet-free, synchronous machines—have gained significant attention in the field of transportation electrification in recent years. Similar to other motors, the motor controller for a WFS machine receives a control input (e.g., a reference current or flux) and controls the motor to attempt to achieve an actual motor current or flux that matches the reference current or flux. The control input can be generated by a reference generation map (or reference mapping). The reference mapping itself can receive control inputs (e.g., a reference torque). T ) or reference motor speed (ω) These control inputs come from, for example, user input (e.g., accelerator pedal or other throttle or torque control) or memory. Based on this control input (e.g., T or ω The reference mapping can generate control inputs (or further translate them into intermediate values of control inputs) for a motor controller as outputs. For example, a reference generation mapping for an electrical machine can take some combination of torque and / or speed and output a set of currents that attempt to minimize the electrical losses of the machine.
[0007] The ability to efficiently control a machine utilizes both the machine's loss model and mechanisms for mapping efficiency in real-time operation by using static mappings (similar to maximum torque per ampere (MTPA) mapping) or dynamic optimization problems (similar to direct torque model predictive control (MPC)) as reference mappings. The main losses are copper losses and core losses, which are typically proportional to torque and speed, respectively. However, due to computational complexity and the dominance of copper losses relative to core losses, the integration of core losses into the reference mapping is often neglected in the literature. However, when core losses are neglected, the reference mapping may output reference values (e.g., current or flux values) that do not minimize losses, especially at higher motor speeds where core losses may increase.
[0008] This paper presents control based on Optimal Efficiency Reference Generation (OERG), which integrates core losses into the generation of reference values. OERG-based control is based on an optimization problem (or cost function) using a convex loss function. The coefficients of the loss function can be determined using finite element analysis (FEA) data and can be solved over a wide range of inputs (e.g., torque and speed), thus revealing different output trajectories (e.g., current trajectories).
[0009] For example, across the entire operating range of a machine's rated current, at a given speed and torque, selecting the optimal (e.g., most efficient) reference current requires an accurate representation of these copper and core losses. In the most general sense, attempts to distinguish these losses by relating them to quantities proportional to the product of speed and torque (each raised to an arbitrary power) are possible and quite efficient. However, mapping these references to useful formats used in real-time by a microcontroller (MCU), such as lookup table (LUT) or piecewise affine (PWA) mappings, present a complex challenge. For instance, these mappings are quite complex, difficult to construct, and specifically designed for creating offline efficiency mappings to be loaded and run on a microcontroller. They also require large datasets of machine speed, torque, current, copper losses, and core losses, which may not always be available to machine control engineers. Furthermore, traditional methods for mapping motor or nonlinear power converter systems in a computationally efficient manner are limited—especially in high-dimensional spaces.
[0010] Machine design engineers can design machines to minimize core losses by analyzing the effects of different geometries, materials, and laminations on eddy currents, hysteresis, and armature reaction effects. This can be important for WFS machines, as their primary application until recently has been in large megavolt-ampere (MVA) class machines for power generation.
[0011] The adoption of WFS machines in automotive applications has recently increased because they represent a trade-off between two popular machine types in space: potentially efficient but expensive high-power-density permanent magnet synchronous machines (PMSMs), and potentially inexpensive but inefficient low-power-density induction machines (IMs). Some WFS machines use hairpin windings to improve the slot fill factor; however, this approach increases core losses and introduces additional manufacturing complexity.
[0012] Especially in automotive applications, efficient operation of the machine over a wide range of speeds and torques can be desirable. Accordingly, in addition to minimizing copper losses for the WFS machine, controlling the WFS machine at the minimum core loss operating point may be beneficial.
[0013] Accordingly, this paper also presents two simple core loss models that use the least squares method to determine the quadratic core loss function, where the core loss is proportional to the square of the machine speed and the square of the machine stator flux. In example experiments, the proposed models show average errors of 12% and 53% when compared to FEA. In some examples, the two models use only 15 and 12 floating-point operations respectively, and use 9 or 729 coefficients respectively. Example use cases for both models are maximum efficiency point selection, real-time control, and FEA outlier detection.
[0014] Accordingly, some embodiments provided herein relate to OERG-based motor control. Furthermore, some embodiments provided herein relate to OERG-based motor control using one of the core loss models described herein.
[0015] Although this document primarily describes WFS motors, OERG-based motor control is also applicable to other motor types, including other permanent magnet motors, brushless motors with permanent magnet rotors, induction motors, general-purpose motors, (synchronous and switched) reluctance motors, etc. Furthermore, it is well known that electrical machines used as electric motors that output mechanical power based on input electrical power can also operate in reverse and as generators that output electrical power based on input mechanical power. Accordingly, for ease of description, the electrical machines described herein will generally be referred to as electric motors, but this also means to encompass generators and devices that can operate as both electric motors and generators. That is, the motor control techniques described herein can also be applied to controlling electric motors that operate as generators. The term "electric machine" can also be used generically to refer to either or both of electric motors and generators.
[0016] In one embodiment, a motor system is provided. The motor system includes: a power switching network configured to couple to a power source and to a motor; and an electronic controller. The electronic controller is configured to: determine current values of the motor in a rotating reference frame, each current value associated with a dimension in a set of dimensions of the rotating reference frame; determine target motor control parameter values for each dimension of the set of dimensions of the rotating reference frame using an optimized cost function that considers motor speed, copper losses, and core losses, based on desired control parameters; and control the power switching network based on the current values and the target motor control parameter values.
[0017] In another embodiment, a method for controlling a motor is provided. The method includes: determining, by an electronic controller, current values of the motor in a rotating reference frame, each current value associated with a dimension in a set of dimensions of the rotating reference frame; determining, by the electronic controller and based on desired control parameters, target motor control parameter values for each dimension in the set of dimensions of the rotating reference frame using an optimized cost function that considers motor speed, copper losses, and core losses; and controlling a power switching network by the electronic controller based on the current values and the target motor control parameter values.
[0018] In another embodiment, a non-transitory computer-readable medium is provided for storing computer-executable instructions, wherein the instructions are configured to cause a processor to: determine current values of a motor in a rotating reference frame, each current value being associated with a dimension in a set of dimensions of the rotating reference frame; determine target motor control parameter values for each dimension in the set of dimensions of the rotating reference frame using an optimized cost function that takes into account motor speed, copper losses, and core losses, based on desired control parameters; and control a power switching network coupled to the motor based on the current values and the target motor control parameter values.
[0019] The foregoing and other aspects and advantages of this disclosure will become apparent from the following description. In this description, reference is made to the accompanying drawings, which form a part herein, and one or more embodiments are illustrated by way of illustration in the drawings. However, these embodiments do not necessarily represent the full scope of the invention, and therefore, reference is made to the claims and herein in order to clarify the scope of the invention. In the following description, the same reference numerals will be used to refer to the same portions between the drawings. Attached Figure Description
[0020] Figure 1 The figure illustrates a motor system according to some embodiments.
[0021] Figure 2 The figure illustrates a motor control system that implements Optimal Efficiency Reference Generation (OERG) according to some embodiments.
[0022] Figure 3 The diagram illustrates a process for implementing OERG-based motor control according to some embodiments.
[0023] Figure 4A and Figure 4B The figure illustrates the electrical losses and efficiency of a wound-rotor field synchronous (WFS) motor compared to the analysis loss model using raw finite element analysis (FEA) data.
[0024] Figure 5 The figure shows the solution set of the current trajectory for the OERG optimization problem.
[0025] Figure 6 The figure shows a flux diagram for a WFS motor, illustrating cross-coupling modeled by a continuous linear function.
[0026] Figure 7A The diagram illustrates the current-speed domain (left) and torque-speed domain (right) for a WFS motor, based on some examples.
[0027] Figure 7B The figure shows a function relating current to the flux used in a WFS motor, based on some examples, illustrating saturation and cross-saturation.
[0028] Figure 7C The diagram illustrates, based on some examples, the use of... The power-efficient current trajectory is obtained by approximating and solving the optimization problem.
[0029] Figure 7D The diagram illustrates, based on some examples, the use of... The power-efficient current trajectory is obtained by approximating and solving the optimization problem.
[0030] Figure 8A The figure shows a cross-section of a WFS motor, which illustrates the... i q = 1 (pu) (left) and i d Saturation magnetic flux density in Tesla at = 1(pu) (right) B distributed.
[0031] Figures 8B-8C The diagram illustrates the matrix G multiplied by ω used for the global core loss model and the binned core loss model. 2 The matrix coefficients.
[0032] Figure 9A The figure shows the trend of the global core loss model relative to torque, speed, and flux.
[0033] Figure 9B The figure illustrates the core loss in the flux domain based on FEA (first row), the global core loss model (second row), and the segmented core loss model (third row), as well as the errors between FEA and the global core loss model (fourth row) and between FEA and the segmented core loss model (fifth row).
[0034] Figure 10 The figure illustrates core losses in the torque-speed domain for the global core loss model (top) and the segmented core loss model (bottom).
[0035] Figure 11A The figure shows a box plot illustrating the errors of the global core loss model and the segmented core loss model.
[0036] Figure 11B The figure shows the average core loss error based on speed, between the FEA and the global analysis model and the segmented analysis model.
[0037] Figure 12A The figure shows a graph of an example piecewise affine (PWA) function.
[0038] Figure 12B The figure shows a graph of an example piecewise quadratic (PWQ) function.
[0039] Figure 13 The diagram illustrates constraints used to construct segmented mappings based on some examples.
[0040] Figure 14A The figure shows FEA data points Γ based on velocity slices according to some examples.
[0041] Figure 14B The figure illustrates Pareto optimal data points with isopower curves, based on some examples. .
[0042] Figure 14C The figure illustrates Pareto optimal surfaces based on some examples. .
[0043] Figure 14D The figure illustrates the electrical losses obtained from experimental testing using a machine controlled by an example simple complex shape formed by surface reconstruction.
[0044] Figures 15A-15D The figure illustrates mesh reduction applied to Pareto-optimal surfaces based on some examples. Detailed Implementation
[0045] One or more embodiments are described and illustrated in the following description and accompanying drawings. These embodiments are not limited to the specific details provided herein and may be modified in various ways. Furthermore, other embodiments may exist that are not described herein. Additionally, functions performed by multiple components may be integrated and performed by a single component. Similarly, functions described herein as performed by a single component may be performed by multiple components in a distributed manner. Additionally, components described as performing specific functions may also perform additional functions not described herein. For example, a device or structure "configured" in a certain way is configured at least in this manner, but may also be configured in a manner not listed.
[0046] As used in this application, "non-transitory computer-readable medium" includes all computer-readable media, but excludes transient propagating signals. Therefore, non-transitory computer-readable media may include, for example, hard disks, CD-ROMs, optical storage devices, magnetic storage devices, ROMs (read-only memory), RAMs (random access memory), register memories, processor caches, or any combination thereof.
[0047] Furthermore, the wording and terminology used herein are for descriptive purposes and should not be considered restrictive. For example, in this document, the use of “comprising,” “including,” “containing,” “having,” and variations thereof means to cover the items listed thereafter and their equivalents, as well as any additional items. Additionally, the terms “connected” and “coupled” are used broadly and cover both direct and indirect connections and couplings, and may refer to physical or electrical connections or couplings. Furthermore, the phrase “and / or” used with two or more items is intended to cover items individually as well as together. For example, “a and / or b” is intended to cover: a; b; and a and b.
[0048] As used herein, “magnetic flux” can be described as a change in magnetic field that can be detected as a voltage across the two ends of a conductive element. Additionally, unless otherwise stated, the term “magnetic flux” is used herein as an abbreviation or shorthand for “magnetic linkage” when discussing the relationship between magnetic fields and circuits within electromechanical machines.
[0049] As used herein, inductance is a quantity derived from the relationship between the magnetic flux across an electrical element and the current flowing through that element. As a non-linear relationship, such inductance can be described as the instantaneous change in magnetic flux relative to the current (also known as "incremental inductance"); relative to a given current (…). i The total flux linkage (λ) under ) is λ / i "Apparent inductance"; or relative to a certain current ( i The total field energy under ) is composed of Determine (also known as "energy equivalent inductance").
[0050] The embodiments described herein provide motor control based on Optimal Efficiency Reference Generation (OERG), which integrates core losses into the generation of reference values. OERG-based motor control is based on an optimization problem (or cost function) using a convex loss function. Two simple core loss models are also provided herein, either of which can be used in OERG-based motor control. The core loss model can be determined using the least squares method to determine the quadratic core loss function.
[0051] In some systems, and as described herein, motor controllers operate using rotating reference frames to simplify motor control. For example, motor characteristics in a stationary reference frame can be measured and transformed to direct-quadrature-Null (DQN) space, or DQN+rotor (R) space or reference frame (also known as DQNR, RDQNull, and RDQØ reference frames) using transformations based on the Clark and Park transformations. In other words, motor characteristics (e.g., stator current, rotor current, and rotor position) can be transformed into D-axis values, Q-axis values, N-axis (or Ø-axis) values, and R (rotor field) values. By using a rotating reference frame in which the stator rotates at the frequency of an AC signal, the AC signal can be treated as a DC signal (i.e., D, Q, N, and R values), which simplifies the calculations used to determine the control signal. The desired DQN and R values can be calculated based on the given DQN and R values, and these values are then transformed back into stator and rotor control values in a stationary reference frame to control the motor. In some examples, the rotor field dimension of this reference frame is referred to using the variable “F” or “f” (i.e., for the rotor field) instead of “R” or “r”.
[0052] Figure 1 The figure illustrates a motor system 100 according to some embodiments. The motor system 100 includes a power supply 105, a motor drive circuit 110, an electrical machine 115 (also referred to as an electric motor or motor 115), and a motor controller 120. The power supply 105 provides direct current (DC) power to the motor drive circuit 110. Generally, when the motor 115 is driven as a motor, the motor controller 120 is configured to control the motor drive circuit 110 to apply power from the power supply 105 to the motor 115 to drive the rotation of the motor 115. Similarly, when the motor 115 operates as a generator, the motor controller 120 is configured to control the motor drive circuit 110 to apply electrical power from the motor 115 to the power supply 105.
[0053] In some embodiments, power supply 105 includes a DC power source that supplies DC power to motor drive circuit 110. The DC power source may be, for example, one or more batteries, photovoltaic cells, etc. In some embodiments, power supply 105 includes an AC / DC rectifier that receives AC power from an AC power source, which may be a utility grid or an external generator. In these embodiments, the AC / DC rectifier outputs DC power to motor drive circuit 110. In some embodiments, the AC power source is part of power supply 105 (e.g., in the case of a field wind turbine or generator). In some embodiments, power supply 105 includes both a DC power source and an AC / DC rectifier, and the DC power from power supply 105 to motor drive circuit 110 is provided by one or both of these sources.
[0054] The motor controller 120 includes an electronic processor 125 and a memory 130 (collectively referred to as the processing circuitry system). Generally, the motor controller 120 monitors the characteristics of the motor 115 based on signals received from one or more motor sensors and provides control signals to the motor drive circuitry 110 based on these characteristics. The memory 130 includes one or more read-only memory (ROM), random access memory (RAM), or other non-transitory computer-readable media. The electronic processor 125 is configured, among other things, to receive instructions and data from the memory 130 and execute instructions to perform, for example, the functions of the motor controller 120 described herein. For example, the memory 130 includes control software that, among other things, defines control techniques for the motor 115. As described further in detail below, generally, the electronic processor 125 can be configured to execute the control software to monitor the characteristics of the motor 115, receive operating parameters (e.g., motor commands from an input device (not shown), and drive the motor drive circuitry 110 according to the operating parameters and the monitored characteristics. Input devices may be, or include, for example, accelerator pedals, triggers, dials, keyboards, laptops, smartphones, etc., of electric vehicles that output one or more operating parameters (e.g., encoded in analog or digital signals) to the motor controller 120. Example operating parameters that can be input and received by the motor controller 120 include torque commands and / or speed commands.
[0055] Although the motor controller 120, electronic processor 125, and memory 130 are each illustrated as a corresponding single unit, in some embodiments, one or more of these components are distributed components. For example, in some embodiments, electronic processor 125 includes one or more microprocessors and / or hardware circuit elements, memory 130 includes one or more memories, and / or motor controller 120 includes one or more motor controllers (e.g., each equipped with its own processor and memory).
[0056] In some embodiments, motor 115 includes a stator assembly and a rotor assembly. Motor 115 may be a synchronous motor, such as a wound-rotor field synchronous (WFS) motor, a permanent magnet synchronous (PMS) motor, or a hybrid synchronous motor with a rotor having both one or more wound-rotor fields and one or more permanent magnets. In such examples, the stator assembly includes a stator core and a plurality of stator windings on the stator core that are selectively driven by current to induce a magnetic field that rotates the rotor assembly. The stator core may be, for example, a stack of laminations formed by multiple laminations. The stack of laminations may include a generally annular profile having teeth extending radially inward (in the case of an outer stator) or radially outward (in the case of an inner stator). The stator windings may be wound around the teeth, or may include conductors that would otherwise fill the slots between the teeth (i.e., in some examples, the windings may not actually be wound around another object). In the case of a WFS or hybrid synchronous motor, the rotor assembly includes a rotor core and one or more field windings that are selectively driven by current to induce a magnetic field that interacts with the magnetic field of the stator assembly, thereby causing the rotor assembly to rotate. The rotor core may be, for example, a stack of laminations formed by multiple laminations. The stack of laminations may include a generally annular profile with teeth extending radially inward (in the case of an outer rotor) or radially outward (in the case of an inner rotor). The rotor windings may be wound around the teeth, or may include conductors that would otherwise fill the slots between the teeth. In an embodiment where motor 115 is a hybrid synchronous motor, the rotor assembly includes a combination of permanent magnets and field windings. In an embodiment where motor 115 is a PMS motor, the rotor assembly includes one or more permanent magnets and does not have rotor field windings. Although motor 115 is primarily described herein as a synchronous motor, in some examples, motor 115 belongs to another type, such as an induction motor, a general-purpose motor, a switched reluctance motor, or another type. Although this example of motor 115 is described as including teeth, in some examples, such as when motor 115 is implemented as a slotless motor, it does not include teeth.
[0057] More generally, regardless of its specific form or type, the motor 115 (or electromechanical machine) utilizes one or more controllable magnetic fields, which are configured or excited in such a way that force or torque is provided between two or more components. Force or torque can be generated by the interaction of two or more magnetic fields (at least one of which is controllable), such that the relative motion of one component results in a lower energy state due to reduced interference between the fields. Force or torque can also originate from a circuit where a given magnetic field or combination of fields must pass through the materials of two or more components, such that the relative motion of one or more components results in a lower energy state due to lower magnetic reluctance of the magnetic circuit, where magnetic reluctance is the ratio of magnetomotive force to magnetic field strength.
[0058] In some embodiments that include a motor with a rotor having rotor windings (e.g., a WFS motor and a hybrid synchronous motor), the motor drive circuit 110 includes a stator drive circuit coupled to one or more stator windings of the motor 115 and a rotor drive circuit coupled to one or more rotor windings of the motor 115. In some embodiments that include a motor 115 without rotor windings (e.g., a PMS motor), the motor drive circuit 110 includes a stator drive circuit coupled to one or more stator windings of the motor 115, but does not include a rotor drive circuit.
[0059] The stator drive circuit includes, for example, multiple power switching elements connected in a bridge configuration. The power switching elements are semiconductor switching devices, such as, for example, field-effect transistors (FETs) (e.g., metal-oxide-semiconductor field-effect transistors (MOSFETs)), bipolar junction transistors (BJTs), or insulated-gate bipolar transistors (IGBTs). The stator drive circuit may include output terminals for each phase of the stator assembly of motor 115. For example, in an embodiment with a three-phase stator assembly, the stator drive circuit may include three output terminals, each connected to a terminal of a corresponding phase of the stator assembly. The stator drive circuit receives DC power from DC power supply 105 and control signals from motor controller 120. These control signals, which may be pulse-width modulated control signals with corresponding duty cycles, control the power switching elements to turn on and off in a coordinated manner, thereby driving the stator windings of motor 115. For example, motor controller 120 may control the stator drive circuit via the control signals to generate sinusoidal drive signals at each output terminal to drive each phase of the stator assembly of motor 115 with corresponding sinusoidal drive signals. Therefore, the stator drive circuit may also be referred to as a DC-to-AC inverter. Each phase of the stator assembly of motor 115 can be associated with one or more stator windings.
[0060] The rotor drive circuit (if present) includes, for example, one or more further power switching elements. The power switching elements of the rotor drive circuit may also be connected in a bridge configuration. The rotor drive circuit may include output terminal pairs coupled to each controllable rotor winding of the rotor assembly across motor 115. The rotor drive circuit receives DC power from DC power supply 105 and control signals from motor controller 120. These control signals, which may be pulse-width modulated control signals with corresponding duty cycles, control the power switching elements of the rotor drive circuit to turn on and off in a coordinated manner, thereby driving the rotor windings of motor 115. For example, motor controller 120 may control the rotor drive circuit via control signals to generate a DC voltage across each rotor winding. In some examples, the rotor drive circuit includes a single power switching element, a single passive element (e.g., a diode), or multiple passive elements (e.g., multiple diodes) arranged to control the current through the rotor winding(s).
[0061] The rotor drive circuit provides power coupling between a stationary (i.e., non-rotating) power source 105 and one or more windings of a rotating rotor assembly. Therefore, the rotor drive circuit may include a stationary portion and a rotating portion. For example, the rotor drive circuit may include slip rings and brushes providing a conductive connection between the stationary and rotating portions. In some embodiments, the rotor drive circuit includes another type of power coupling.
[0062] In some examples, the rotor drive circuit is or includes a DC-to-DC converter that steps down or boosts the DC voltage received from the DC power supply 105 to a desired voltage level for one or more rotor windings.
[0063] Motor control based on optimal efficiency reference generation (OREG)
[0064] Figure 2 The figure illustrates a specific example, identified as motor system 200, of a motor system 100 implementing such an OERG control scheme according to some embodiments. Unless otherwise provided herein, the above description... Figure 1 The description of the components is similarly applicable to Figure 2Components sharing the same component number or name. For example, motor controller 120 is illustrated as a collection of functional blocks with corresponding inputs and outputs. Each of these functional blocks can be implemented by dedicated hardware circuitry of the electronic processor 125 of controller 120, by software or instruction blocks stored in memory 130 and executed by the electronic processor 125, or a combination thereof. Motor drive circuit 110 is further illustrated as including stator drive circuit 205 and rotor drive circuit 210. Motor drive circuit 110, stator drive circuit 205, and rotor drive circuit 210 can each be individually or collectively referred to as a power switching network. Power switching networks such as these circuits can be configured to switch voltage, current, and / or power. Motor 115 is illustrated as a WFS motor with a three-phase stator and rotor field windings (R), the three-phase stator having three phases (A, B, C). As previously mentioned, in other examples, motor 115 is a permanent magnet synchronous motor, a hybrid synchronous motor, or another type of motor. When the motor 115 is a permanent magnet synchronous motor, the rotor field winding (R) is not included in the motor 115, and accordingly, the rotor drive circuit 210 may not be included, the motor controller 120 may not sense or control the current through the rotor field winding (R), and the control block of the motor controller 120 may not receive, process or generate the rotor field component.
[0065] Directly controlling the torque of any machine is generally difficult because the controller can control and regulate some combination of voltage, current, flux, or speed. A typical approach is to define a reference torque that is then directly mapped to a reference set of currents via a reference generation mapping. This mapping is not unique in general, and since torque is a non-convex function of current, there is no optimal solution. An attempt to establish the desired operating conditions of the machine (e.g., maximum efficiency at a given setpoint considering the machine's limits, such as voltage, heat, etc.) is tagged as reference generation. The conventional approach to solving this problem is often referred to as maximum torque per ampere (MTPA). However, the MTPA problem becomes more complex with the addition of strong flux saturation in WFS motors operating under both online and nonlinear magnetic regimes to prevent high flux errors during saturation and cross-saturation, where the problem deteriorates across varying speeds. Existing online MTPA methods can be computationally expensive on the controller, while offline MTPA methods involve adding cross-coupled torque terms and reducing saturation inductance to approximate saturation effects, resulting in difficult-to-optimize equations and large lookup tables. Furthermore, due to computational limitations, conventional solutions are limited to well-performing loss mechanisms such as copper loss, while nonlinear or higher-dimensional loss mechanisms such as core loss, wind resistance loss, and bearing loss are not included.
[0066] To address these and other issues, in some examples, the motor system 100 implements an Optimal Efficiency Reference Generation (OERG) control scheme. The OERG control scheme can operate given a reference torque (e.g., an input torque command indicating the desired output torque of motor 115) and the motor speed of motor 115 (…). In the case of reducing or minimizing electrical losses of motor 115, motor system 100 provides power-efficient torque control of motor 115 by using OERG to reduce electrical losses (i.e., copper and iron losses). To implement the OERG control scheme, for example, the motor controller 120 solves an OERG optimization problem in real time (see, for example, equation (7) below) to generate reference values (e.g., current or flux values) for the motor controller 120 to minimize core losses. Thus, in some examples, the OERG control scheme generated for the reference may be online (e.g., embedded in a function and solved in real time). However, in other examples, the OERG control scheme generated for the reference is offline (e.g., encoded in a mapping or lookup table referenced in real time during motor operation).
[0067] As used herein, the term "optimal" in relation to efficiency reference generation can refer to a reference value calculated or determined according to one of the techniques described herein, which, as also described herein, can be used in motor control schemes to provide more efficient or optimized motor operation. Optimal efficiency reference generation can also be referred to as accurate efficiency reference generation and / or computationally accurate efficiency reference generation. Additionally, the OERG technique can also be referred to as using computational twins for efficiency reference generation.
[0068] Although this description focuses on WFS motors, similar concepts apply to other motor types, including PMS motors, hybrid synchronous motors, general purpose motors, induction motors, and (synchronous and switching) reluctance motors.
[0069] exist Figure 2 In the motor controller 120, the functional blocks include a Clarke-Park current conversion block 212, a current-to-flux mapping block 214, a reference generation functional block 215 (also known as an OERG functional block 215), a current-to-flux mapping block 220, a difference calculation block 235, a flux controller 240, an inverse Clarke-Park voltage conversion block 245, and a pulse width modulation (PWM) generation block 250. In other examples, one or more of the functional blocks are combined together or distributed into sub-blocks. The following is about... Figure 3 Provide motor system 100 and Figure 2 Example of operation of motor controller 120.
[0070] Figure 3The diagram illustrates process 300 for implementing OERG motor control. Process 300 is described as being composed of... Figure 2 The process is executed by motor system 200. However, in some embodiments, process 300 may be implemented by another motor system (e.g., another example of motor system 100). Additionally, although the blocks of process 300 are illustrated in a specific order, in some embodiments, one or more blocks may be executed partially or completely in parallel, and may be performed in a manner different from... Figure 3 The sequence shown in the diagram can be executed, or it can be bypassed.
[0071] In block 305, motor controller 120 determines the current values of motor 115 in a rotating reference frame (such as the RDQN reference frame). Each current value is associated with a dimension (or axis) in the dimension set of the RDQN reference frame. Here, the dimension set includes R (or field (f)), D, and Q dimensions (e.g., i f , i d , i q Also known as i f,dq As used herein, the variables F, f, R, and r are interchangeable in referring to rotor field characteristics. For example, the rotor field current can be expressed as... i r or i f Furthermore, the rotor field flux linkage can be expressed as λ. r or λ f .
[0072] For example, to implement block 305, motor controller 120 can determine the electrical operating characteristics of motor 115 in a stationary reference frame; determine the rotational position of motor 115 (e.g., the rotor of motor 115); and transform the electrical operating characteristics and rotational position into current values of motor 115 in a rotating reference frame. For example, to determine the electrical operating characteristics of motor 115 in a stationary reference frame and the rotational position of the rotor, controller 120 (e.g., at Clark-Parker converter block 212) can receive current measurements from current sensor 255, which is configured to sense the current in each phase of the stator winding of motor 115 (e.g., ...). i a , i b , i c Also collectively referred to as i abc ) and the current of (one or more) rotor windings (e.g., i f Sometimes called ir The controller 120 (e.g., at the Clark-Parker converter block 212) can also receive rotational position measurements (θ) from a rotational position sensor 260 configured to measure the rotational position of the rotor. In some examples, the controller 120 may use other techniques to determine the current and the position of the rotating motor. For example, the controller 120 may use a “sensorless” design to determine the rotor position, for example, by inferring the rotor position by detecting the zero-crossings, peaks, and / or troughs of the back electromotive force (EMF) signal on the stator windings. Furthermore, the controller 120 may calculate current values based on voltage measurements provided by voltage sensors on the stator windings and / or (one or more) rotor windings. To transform the electrical operating characteristics and rotational position into current values of the motor in a rotating reference frame, the motor controller 120 may use the determined current of the motor 115 via the Clark-Parker converter block 212. i abc Perform the Clark-Parker transformation with rotation position (θ).
[0073] Additionally, the motor controller 120 can determine the flux linkage value of the motor 115 based on the current value output by the Clark-Parker converter 212 via a current-to-flux mapping block 214 (also known as a current-to-flux mapping). For example, the converter 214 can map an input current value to a corresponding flux linkage value. The current-flux mapping of the converter 214 can be obtained using finite element analysis (FEA) or experimental measurements. For example, a dataset of current and flux linkage pairs generated from FEA or experimental measurements can be used to generate the mapping function for the converter 214. The mapping function may include a lookup table (mapping the input current to the flux linkage), or a function may be fitted to the resulting data points, where the function receives the current as input and provides an approximate flux linkage as output. In some examples, the function may be a piecewise function (e.g., a piecewise affine function).
[0074] In block 310, motor controller 120 determines target motor control parameter values for each dimension of the set of dimensions for the rotating reference frame based on desired control parameters, using an optimized cost function that takes into account motor speed, copper losses, and core losses (e.g., using OERG block 215). For example, motor controller 120 (e.g., at OERG block 215) may receive desired control parameters as input commands or reference values, which may indicate a desired motor torque value (…). T ) and / or speed value ( ω The desired control parameters can be retrieved from memory (e.g., memory 130) or received via input / output devices of motor controller 120 (e.g., from a user operating a keypad, buttons, level, dial, etc.). Motor controller 120 (e.g., at OERG block 215) can further receive the motor speed (ω) or torque (ω) of motor 115. T The motor speed (ω) can be calculated based on the output of a rotor position sensor (e.g., a Hall sensor or rotary encoder, where ω = angle / time), or inferred from, for example, periodic current or voltage signals from one or more stator windings. Similarly, the motor torque ( T The current can be sensed or inferred (e.g., from a motor current signal). The motor controller 120 (e.g., at OERG block 215) can further receive the DC voltage (V) for the drive circuit 110. DC The indication can be, for example, retrieved from memory or sensed by a voltage sensor.
[0075] Then, the motor controller 120 can apply the OERG function of the OERG block 215 to the desired control parameters. T and / or ω ), motor speed ( ω ) or torque ( T (If neither of these is the desired control parameter) and DC voltage. For example, the OERG block 215 can be based on the desired control parameter ( T The real-time optimization problem of motor speed (ω) and DC voltage is solved (see equation (7)) to generate the target current value. i r,dq As described in further detail below. Alternatively, in some embodiments, the OERG block 215 may be based on desired control parameters ( T Solving a real-time optimization problem for the motor speed (ω) and DC voltage (see equation (7) or (45)) to generate the target flux linkage value λ r,dq The optimization cost function takes into account motor speed, copper losses, and core losses, as these factors are included as parameters, for example. Additional details describing the operation of OERG block 215 and the consideration of motor speed, copper losses, and core losses in the optimization cost function are provided below.
[0076] In some examples, the output current value of function block 215 is an intermediate target motor control parameter value, which is then further translated into the (final) target motor control parameter value by the current-to-flux mapping 220. The current-to-flux mapping 220 can be similar in construction and operation to the current-to-flux mapping 214. In other examples, such as... Figure 2 The controller 240 is a current-based controller rather than a flux-based controller, or the OERG function block 905 is configured to use a reference torque ( T The motor speed (ω) and the target magnetic flux value (λ) are directly mapped to the target magnetic flux value. The output current value of OERG function block 215 is the (final) target motor control parameter value.
[0077] In block 315, motor controller 120 controls the power switching network based on the current value and the target motor control parameter value. For example, motor controller 120 can generate a control signal in a stationary reference frame to drive motor 115 based on the difference between the target motor control parameter value (e.g., the flux linkage value output by block 220) and the flux linkage value for each dimension (e.g., output by block 212). For example, motor controller 120 can use difference calculation block 235 to determine the difference between each flux linkage value and the target flux linkage value for each corresponding dimension (e.g., R, D, and Q dimensions, optionally zero dimension) in the set of dimensions for a rotating reference frame. This difference and the rotational position (θ) of the motor can be provided to flux controller 240. Flux controller 240 can be, for example, a proportional-integral-derivative (PID) controller, a proportional-integral (PI) controller, a lookup table, a model-based controller (e.g., implementing model predictive control (MPC), as described in further detail below), or another regulating control device. The motor controller 120 (e.g., via the flux controller 240) can then generate voltage commands for each dimension of the set of dimensions of the rotating reference frame based on the difference and the rotational position. For example, the flux controller 240 can output voltage commands. V f , V d and V q (also collectively referred to as) V f,dq As a regulating and controlling device, the flux controller 240 can determine the output voltage command. V f,dq This minimizes the difference between each flux linkage value and the target flux linkage value.
[0078] The motor controller 120 can then transform the voltage command from a rotating reference frame to a stationary reference frame. For example, the motor controller 120 can use an inverse Clark-Parker transform block 245 to transform the voltage command. V f,dq Perform the inverse Clark-Parker transformation to generate voltage commands in the stationary reference frame. V f , V a , V b and V c (also collectively referred to as) V f,abc ).
[0079] The motor controller 120 can then use the PWM generation block 250 to generate pulse width modulation control signals for each dimension of the stationary reference frame to control the power switching network to drive the motor stator. For example, the PWM generation block 250 can implement, and the motor controller 120 can access, corresponding lookup tables for each of the stator phase and rotor field windings, where the motor controller 120 provides voltage commands to the corresponding lookup tables of the PWM generation block 250 (e.g., by...). V a A lookup table is provided for stator phase A, which will... V b A lookup table is provided for stator phase B, which will... V c A lookup table is provided for stator phase C, and... V f A lookup table is provided for the rotor field winding. The PWM generation block 250 can return the control signal parameters (e.g., the duty cycle of each PWM signal) for each stator phase and rotor field winding via the lookup table.
[0080] Then, finally, as part of block 315, motor controller 120 can provide control signals to drive circuit 110 based on control signal parameters (e.g., at a specific duty cycle indicated by a voltage command), which include stator drive control signals. D a , D b , D c (also collectively referred to as) D abc and rotor drive control signals D f (sometimes called) D rThese control signals can be applied to the corresponding control terminals of the power switching elements of the stator drive circuit 205 and rotor drive circuit 210 of the motor drive circuit 110. For example, control signals D abc A given sub-drive circuit 205 can be provided to control its power switching elements, and control signals can be provided. D f It can be provided to the rotor drive circuit 210 to control its power switching elements. Each control signal can be a PWM signal with a corresponding duty cycle, as determined by the PWM generation block 250.
[0081] When in motor operation mode, the motor drive circuit 110 is controlled, based on a control signal, to apply power from the power source 105 to the motor 115 to drive the rotation of the motor 115. Similarly, when in generator operation mode, the motor drive circuit 110 is controlled, based on a control signal, to apply electrical power from the motor 115 to the power source 105 (e.g., to charge the power source) and / or another electrical load.
[0082] Additionally, in some embodiments, the flux controller 240 within the controller 120 can implement current-based motor control (i.e., as a current controller), rather than as... Figure 2 The diagram illustrates flux linkage-based control. For example, in controller 120, there may be no current-to-flux linkage mapping 214 and 220, and the target current value i r,dq and the measured current value i r,dq The difference calculation block 235 of the controller 120 can be provided. The difference calculation block 235 of the controller 120 can then indicate the target current value. i r,dq With the measured current value i r,dq The difference between them is provided as a substitute. Figure 2 The flux controller block shown is a current-based controller block. Similar to the flux controller 240, the current-based controller block can be, for example, a proportional-integral-derivative (PID) controller, a PI controller, a lookup table, or another control device. Based on the received difference and the rotational position (θ) of the motor, the current-based controller block (and thus the motor controller 120) can then generate voltage commands for each dimension in the set of dimensions of the rotating reference frame. For example, the current-based controller can output voltage commands. V f , V d and V q (also collectively referred to as) Vf,dq or V r,dq Then, voltage commands can be used similarly to those described above. Figure 2 The motor is controlled as described (e.g., via the inverse Clark-Parker converter block 245, the PWM generation block 250, and the motor drive circuit 110).
[0083] Optimal Efficiency Reference Generation (OERG) function
[0084] The control of wound-rotor synchronous (WRS) motors can be based on torque functions. The torque function is the magnetic flux. and current The function.
[0085] (1) in It is the stator cross product matrix (2) and It refers to the number of pole pairs of the machine. Current. and magnetic flux It is a three-dimensional vector, where the first term refers to the rotor, and the other two terms refer to the stator and are in the dq reference frame. The power-invariant Park-Clarke transformation (and the power-invariant inverse Park-Clarke transformation) can be used to perform the transformations between the stationary and rotating reference frames discussed in this paper.
[0086] In the set In this context, the WRS machine will have a set of allowable currents that are typically thermally constrained. The magnetic flux is controlled by a nonlinear function. and the current range is limited to the set Mapping It can include saturation in the form of piecewise affine mapping, and exhibits saturation as well as strong cross saturation between the rotor and stator d-axis.
[0087] The machine's electrical speed is marked as And the machine's DC voltage (V DC ) marked as The discrete-time state equation with magnetic flux as the state variable is: (3) in It is the sampling time, and It is an identity matrix. The dq voltage is the DC bus voltage of the inverter (V). DC ) and modulation strategies are limited to a certain In some examples, the rotational position (θ) of the motor is also a variable in equation (3) and is taken into account in the state equation.
[0088] The OREG control described in this article takes into account machine losses, including copper losses. and iron loss Electrical losses. These losses are generally functions of the machine's current, magnetic flux, and speed. Two relatively simple and accurate loss models for the machine are: (4) (5) in Modeling the machine resistance. This formula does not include frequency-dependent resistance effects, but these can be added. The core loss model is a rewrite of the Steinmetz equation using only quadratic terms, where frequency is related to speed. Proportional, and the magnetic field and magnetic flux Proportional. Only keeping the integer values of the Steinmetz coefficient is allowed. The cross-coupling loss in the off-diagonal terms. The quadratic terms included are usually the most dominant terms. These loss models are particularly useful for optimization problems because, due to and They are convex. The losses can be summed to form a generalized loss function. (6)
[0089] As mentioned earlier, OERG block 215 ( Figure 2 Generate target motor control parameter values that are designed to achieve the desired result for a given reference torque. T and losses at motor speed (ω) To minimize this loss, it can include winding (copper) losses. Core loss The sum. The output of OERG block 215 can be the reference current i. (like Figure 2 (as shown) and / or reference flux As mentioned earlier, winding losses can be defined as... And core loss can be defined as Where i is the current, Let T be the magnetic flux, R be the torque, R be the matrix defining the winding resistance, which approximates the DC and (skin effect and proximity effect) AC winding losses, and G be the matrix defining the core conductance, which approximates the (eddy current and hysteresis effect) core losses. The function (optimization problem) solved by OERG block 215 can be expressed as follows: For the torque reference... T And motor speed (ω), OERG reference current i and reference flux for: (7) (8) (9) (10) (11) Where (8) is the dynamic flux equation (3) under steady state, and (9) is the mapping from current to magnetic flux (e.g., from...). Figure 2 In the implementation of mapping blocks 214 and 220, (10) is fixed to the reference torque (e.g., the received reference torque). T The torque equation (1) and (11) fix the speed as a constant (e.g., the received motor speed (ω) or reference speed (ω)). Equation (7) (also known as the cost function (7) or optimization problem (7)) is quadratic and convex, and all constraints except the torque constraint (10) are linear, which is quadratic and non-convex. For this reason, additional considerations can be included when solving to help the numerical solver reach a feasible solution. Parameters that are added to (10) in a minimized manner can be added. ,or ,and and Both are minimized. Current constraint. It can be modified to have a strictly positive rotor current, i.e. This way, the solver will avoid symmetric solutions. Finally, the initial guess can be... Loaded into the solver, the initial guess can be selected based on the predicted efficient point or based on previous optimization iterations.
[0090] As mentioned above, equation (9) The current-flux relationship for a motor can be defined, for example by mapping blocks 214 and 220 ( Figure 2 The current-flux mapping is defined as follows. The current-flux mapping can be obtained using finite element analysis (FEA) or experimental measurements. The equation relating the current to the flux linkage in a WFS motor, without saturation, has the form... Where L is the inductance matrix and ψ is the flux deflection vector:
[0091]
[0092] Accordingly, the optimization problem (7) can be viewed as providing two functions: (i) describing the dynamic characteristics of the motor, and (ii) defining the relationship between current and magnetic flux (equation (9)) and the cost function (optimization problem (7)).
[0093] In some examples, the rotor (r) variable is not used, such as for motors without rotors or field windings (e.g., permanent magnet synchronous motors). Additionally, in some examples, multiple of these matrices can be concatenated together to form a piecewise flux mapping.
[0094] In some examples, the rotational position (θ) of the motor is also a variable in equations (4), (5) and / or (7) and is considered as part of determining the loss and / or speed or torque reference.
[0095] During the operation of motor 115, motor controller 120 (e.g., processor 125) is operable to solve an optimization problem for OERG-based control in real time (7). This real-time control (considering speed (ω) and reference torque (ω) T The OERG-based motor control achieves a more accurate determination of the reference current (or flux) ultimately (directly or indirectly) used as the control input to the controller 240, minimizing losses across the potential motor speed and torque range, by considering both copper and core losses. Consequently, OERG-based motor control provides more efficient motor operation, particularly compared to motor control systems that do not consider core losses in real-time reference generation.
[0096] In some examples, to solve the optimization problem (7), the motor controller 120 (e.g., via block 215) can implement an online, real-time solver. The real-time solver can be a constrained gradient solver, a primal dual interior point solver, or a numerical solver, etc. In other examples, the motor controller 120 (e.g., via block 215) solves the optimization problem (7) in real time by accessing a mapping or lookup table pre-generated offline and stored in memory (e.g., memory 130). In some examples, the optimization problem (7) is solved offline for various operating points of the motor to generate a set of data points, which are then mapped to piecewise functions (e.g., piecewise affine, piecewise quadratic, piecewise cubic) having a domain partitioned by, for example, the motor speed (ω), to approximate the optimization problem (7). The piecewise functions are then stored in the motor controller 120 and applied based on input parameters (e.g., reference torque (ω)). T The stepwise operation (i.e., solving) of the motor speed (ω) and the stepwise operation of the motor speed (ω) is performed in real time (online). Additional discussion on generating such piecewise functions, including examples using surface reconstruction techniques and / or mesh reduction techniques, is provided below.
[0097] Previously, core losses may have been considered in order to find the theoretical minimum loss for a given operating point of a motor. However, attempts to solve the optimization problem are limited in application because the computational and data requirements are too high when developing a controller that can operate effectively in the application. The OERG control scheme described in this paper considers the use of explicit functions, such as equations (4), (5) and their piecewise versions, to better account for copper and core losses. Furthermore, the OERG control scheme uses constraints to limit the functions to explicit parameters and to limit the problem to their feasible set, which means that voltage, current, flux, and the relationships between them are either well-behaved or formally well-formed.
[0098] Experimental results for OERG
[0099] The following provides information regarding OERG block 215 (as described above). Figure 2 ) and block 310 ( Figure 3 The example describes experimental results based on the OERG-based reference generation technique. FEA data for a 65kW WRSM with the parameters shown in Table 1 were used to calculate the loss factor.
[0100]
[0101] The least squares method was used to calculate and For example, for , (minimize Similarly, for , (minimize The FEA dataset scanned the parameters. and output .exist Figure 4A (Original FEA data) and Figure 4B The (Analysis of Loss Model Data) section shows the loss and efficiency of the original FEA data compared to the loss model. Specifically, the left chart shows the loss profile for the original FEA data, while the right chart shows the loss profile for the analysis of the loss model. The matrix is... (12)
[0102] It can be obtained through (1) in the position of ( )and( Torque within the limits of ) The optimization problem (7) is solved using a solver (such as fmincon in Matlab, for example) over the entire operating range, and field reduction is implemented by equation (8). The static output is the local or global optimal operating point of the machine. Figure 5The solution set of equation (7) including the power-efficient current trajectory is shown. At low speeds, the trajectory generally follows a positive... The linear path is then followed, and at higher speeds, the machine field weakens, and the d-axis current decreases while the rotor current increases significantly to compensate for the lost torque. These results support OERG-based control generation, as described in this paper, providing reference values for efficient motor operation with more accurate estimates of nonlinear losses (e.g., core losses) or general machine behavior, requiring less data and computation, and supporting the ability of OERG-based control to be implemented in real time by motor controllers (e.g., microcontrollers).
[0103] Optimal Efficient Reference Generation (OERG) function using multiple affine models
[0104] As mentioned earlier, considering the numerous nonlinearities in the machine, generating the optimal reference current that minimizes copper and core losses for the combination of torque and speed is generally a difficult problem to solve analytically, but it may be necessary for efficient machine operation. Furthermore, traditional methods for mapping motor or nonlinear power converter systems in a computationally efficient manner are limited—especially in high-dimensional spaces. For example, the magnetic behavior of wound-rotor synchronous (WRS) machines varies between zero torque and rated torque. For instance, at zero torque, the machine may exhibit saliency (…). ), while at rated torque, the WRS machine may have significant ( This change in behavior may be caused by magnetic saturation in the WRS machine. In some examples, an affine magnetic model is created at each of the two points, and the optimization problem generated against the reference can be solved at each of these two points. The solution set can ultimately be used to control the WRS machine. Additionally, in some examples, an affine magnetic model is created at more than two points, and the optimization problem generated against the reference is solved at each of these points, and the resulting solution set can ultimately be used to control the WRS machine.
[0105] The dq-axis stator current of the WRS machine (using the constant power Clark-Parker transformation) may be affected by the stator rated current. The rotor shaft current is limited by the rated rotor current. These limitations can be set by thermal constraints. Thus, the current set... Constrained by the cylindrical shape ( Figure 7A (as shown in the image).
[0106] (1 )
[0107] The torque of each pole pair of the machine is derived from the previous section. The equation (1) is defined.
[0108] In addition, current and magnetic flux The relationship between them is non-linear and exhibits saturation and cross-saturation effects. This can be addressed using the spline interpolation function FEA. Modeling Figure 6 As shown in the image): (2 ) (3 ) (4 )
[0109] when This means that the current in the machine is zero. This relationship can be expressed by the following: Function (7) To approximate, and (5 )
[0110] When magnetic saturation takes effect, this approximation is insufficient to model the machine's behavior at higher currents. When the machine is generating peak torque, it uses the following current. (and in) Figure 7B (highlighted in the middle) (6 )
[0111] Under this current, the relationship can be derived from... Function (8) () can be approximated.
[0112] (7 ) (8 ) in At zero current The function to be evaluated Jacobi: , At peak current The function to be evaluated Jacobi: , Is The function to be evaluated ,and Is The function to be evaluated .
[0113] In this paper, inductance can be represented as a matrix. And the magnetic flux deflection can be expressed as shown in (9) In ) .variable and These refer to self-inductance, which are the diagonal terms of these inductance matrices.
[0114] (9 )
[0115] Maximum torque per pole pair of the machine It may be constrained by the machine's current and magnetic flux, or by mechanical limitations. Torque set for (10 )
[0116] Assuming the negative maximum torque is symmetrical to the positive one (which can be achieved) Similarly, suppose there exists a relation with (8) The offsets and inductances in the figure are symmetrical and can be used to generate a reference current for achieving negative maximum torque.
[0117] For synchronous machines, Or, in the dq reference frame, the amplitude of the stator voltage ( In a hexagonal shape, by or (If third harmonic injection is used) Define the machine's basic speed. Defined as the speed at which the product of stator flux and electrical velocity reaches the maximum stator voltage, or (11 )
[0118] Exceeding the base speed When the stator flux decreases (flux weakens) to below the maximum voltage, the stator flux decreases. This allows for higher speeds, at the cost of reduced torque according to (1) in the previous section. The maximum speed of the WRS motor... It can be set via mechanical limits. The set of speeds is... (12 ) Based on symmetry, we assume that a negative maximum velocity can be achieved (- ). Figure 7A The torque-velocity domain, including one quadrant of flux attenuation, is shown.
[0119] The torque generated by (1) (except for zero torque and maximum torque) has a non-unique set of currents and magnetic fluxes capable of generating it. Given a reference (or feedback) torque and a reference (or feedback) speed (depending on whether a torque or speed controller is used), the set of currents and magnetic fluxes that minimize electrical losses in the machine can provide optimal efficiency control.
[0120] As in the previous OERG section, both copper loss and iron loss can be considered, where the losses can be summed to form a generalized loss function (6).
[0121] Furthermore, the optimization problem (7) from the previous section can be used. However, in some examples, the optimization problem is modified to exclude constraints (8), but other constraints (9)-(11) can still be used. In either case, for (7) ) and (8 In the two affine currents to flux approximation, the optimization problem (7) is solved twice, once under constraint (9) for each of the two affine currents to flux approximation. In the case of, and once under constraint (9) In this case, the torque equation (1) in constraint (10) is fixed to the reference torque, and constraint (11) fixes the speed to a constant. The optimization problem (cost function) (7) is quadratic and convex, and all constraints except the torque constraint (10) (which is quadratic and non-convex) are affine. For this reason, additional considerations can be included in the solution to help the numerical solver reach a feasible solution. Additional parameters can be added to (11). The parameter is minimized, or ,and and Both can be minimized. Current constraint. It can be modified to have a strictly positive rotor current, that is, This way, the solver will avoid symmetric solutions. Finally, the initial guess can be... Loaded into the solver, the initial guess can be selected based on the predicted efficient point or based on previous optimization iterations.
[0122] During the operation of motor 115, when OERG block 215 implements an OERG-based reference generation technique using multiple affine models (each corresponding to the magnetic saturation level of the motor), motor controller 120 (e.g., processor 125) is operable to solve the optimization problem (7) for control in real time, similar to that described in the preceding OERG section. However, in generating the reference (e.g., performing...) Figure 2 Block 215 and / or Figure 3When the reference is to be generated (block 310), the motor controller 120 can determine which affine model to use (e.g., at each operating point, when the reference is to be generated). For example, the motor controller 120 can detect motor characteristics (e.g., motor current or motor torque) during operation and then select the affine model to use to generate the reference based on the motor characteristics. Here, the motor characteristics may be related to the magnetic saturation of the motor. For example, when the detected motor characteristics (e.g., motor current (A) or motor torque (Nm)) are below a threshold, the motor controller 120 can solve an optimization problem (7) where constraint (9) is (Corresponding to the first affine model). However, when the detected motor parameters (e.g., motor current or motor current) are higher than a threshold, the motor controller 120 can solve the optimization problem (7), where constraint (9) is (Corresponding to the second affine model). Constraints are selected based on motor characteristics, and thus the model to be used is chosen, via OERG block 215 and / or Figure 3 When block 310 generates a reference, the motor controller 120 takes into account the magnetic saturation of motor 115.
[0123] Compared to the previous OERG section, this real-time control (considering saturation and based on speed (ω) and reference torque ( T The copper losses and core losses of the motor (OERG) are both accounted for, thus enabling a more accurate determination of the reference current (or flux) ultimately (directly or indirectly) used as the control input to the controller 240. This reference current (or flux) minimizes losses across the potential motor speed and torque range. Consequently, OERG-based motor control utilizing multiple affine models can provide more efficient operation of the motor 115, particularly for motor control systems that do not consider saturation or core losses in real-time reference generation.
[0124] In some examples, to solve the optimization problem (7) with selected constraints, the motor controller 120 (e.g., via block 215) can implement an online real-time solver. The real-time solver can be a constrained gradient solver, a primal-dual interior-point solver, or a numerical solver, etc. In other examples, the motor controller 120 (e.g., via block 215) solves the optimization problem (7) with selected constraints in real time by accessing a mapping or lookup table corresponding to the optimization problem (7) with selected constraints, pre-generated offline and stored in memory (e.g., memory 130). In some examples, the optimization problem (7) is solved for a series of offline operating points of the motor to generate a set of data points, which are then mapped to corresponding piecewise functions (e.g., piecewise affine, piecewise quadratic, piecewise cubic) having a domain partitioned by, for example, the motor speed (ω), to approximate the optimization problem (7). Here, each piecewise function corresponds to one of the affine models (e.g., the first piecewise function corresponds to the first affine model, and the second piecewise function corresponds to the second affine model). The piecewise functions are then stored in the motor controller 120, and during motor operation, one piecewise function (e.g., based on saturation indicated by current or torque relative to a threshold) is selected. The motor controller 120 may select a piecewise function based on input parameters (e.g., torque reference). T The selected piecewise function is executed (i.e., solved) in real time (online) by considering the motor speed (ω) and the motor speed (ω). Additional discussion is provided below, including examples using surface reconstruction techniques and / or mesh reduction techniques, for generating such piecewise functions.
[0125] In some examples, the optimization problem is solved in real time for each constraint (7) (e.g., using...) Solve, and also use (Solve), and the motor controller 120 selects the affine model to be used in reference generation by selecting a specific solution corresponding to the selected affine model for reference generation. As mentioned above, the motor controller 120 can select the solution to be used based on the saturation of the motor, which can be indicated by the motor current or torque (e.g., above or below a threshold).
[0126] This section describes the use of two affine models, each corresponding to a motor saturation level indicated by motor current or motor torque, between which the motor controller 120 selects to generate a reference. However, in some examples, more than two affine models are used, each corresponding to a magnetic saturation level (e.g., indicated and defined by a range of motor current or motor torque). In such examples, the motor controller 120 may select a first affine model when the motor current (or torque) is between 0 and a first threshold, a second affine model when the motor current (or torque) is between the first and a second (higher) threshold, and a third affine model when the motor current (or torque) is above the second threshold. For each additional affine model used, a corresponding threshold may be included such that each affine model corresponds to a range of magnetic saturation levels (e.g., defined by a range of current or torque values).
[0127] Experimental results and methods for OERG functions using multiple affine models
[0128] As described above, experimental results and methods for an example implementation of an OERG-based reference generation technique using multiple affine models are provided below. More specifically, in OERG block 215 ( Figure 2 ) and block 310 ( Figure 3 In the example, the result is about the OERG function used for reference generation that utilizes multiple affine models.
[0129] The WRS motor used in the experiment (e.g., motor 115) has the parameters listed in Table 2, including: and The variables are calculated using the least squares method. and For example, where for And similarly for FEA dataset scan parameters and output A matrix is
[0130]
[0131]
[0132] Additionally, Table 3 below provides some operating points of interest for the WRS motor at zero torque and peak torque.
[0133]
[0134] The machine is considered to have significant performance at zero torque. ), and is significant at rated torque ( Here, the inductor matrix can be...
[0135]
[0136] When using zero-torque inductance approximation When using the function to predict the flux at the peak torque operating point, the error is 278 Vs or 94% for the d-axis flux and 101 Vs or 80% for the q-axis flux.
[0137] In the state obtained through (1) Torque within the limits of ) The optimization problem (7) is solved twice using Matlab's fmincon over the entire operating range, and field reduction is implemented through (9). The static output is the local or global optimal operating point of the machine. Figure 7C The diagram shows the use of the zero torque approximation. The solution set of the function. At low speeds, the trajectory generally follows a positive trend. The straight path; then, at higher speeds, the machine field weakens and the d-axis current decreases.
[0138] Figure 7D The diagram shows the use of peak torque approximation. The solution set of the function. Across all speeds, the trajectory has no rotor current at low torque because of the presence of (8 In ) The virtual permanent magnet of the term. For the same reason, across speeds up to 2000 rad / s, there exists a set of trajectories similar to the MTPA trajectory for PMSM. For higher speeds and torques, the machine field weakens, and the d-axis current decreases while the rotor current remains essentially constant. At the highest speeds and torques, the d-axis and q-axis currents are subject to current constraints (1 The limitations of the rotor current are reduced, and the rotor current is increased to compensate for this. These results support the generation of OERG-based control, as described herein, which provides reference values for efficient motor operation, more accurate estimates of nonlinear losses (e.g., core losses) or general machine behavior, while taking saturation into account, with less data and computation, and supports the ability of OERG-based control to be implemented in real time by a motor controller (e.g., a microcontroller).
[0139] Core loss estimation
[0140] As mentioned earlier, the OERG block 215 for solving optimization problem (7) is... Figure 2 The generation causes losses The target motor control parameter value to be minimized, given a reference torque.T And the motor speed (ω), this loss can include winding (copper) losses. Core loss The sum of all losses. Although copper losses are usually the dominant form of electrical losses in electrical machinery, core losses also play an important role, especially at high speeds. This paper describes two simple analytical models for core losses, using the least squares method to determine the quadratic core loss function, where the core loss is proportional to the square of the machine speed and the square of the machine stator flux. These core loss estimation techniques can be used as core loss terms in the OERG optimization problem (7). To generate target motor control parameter values. In some examples, the two models use only 15 and 12 floating-point operations respectively, and 9 or 729 coefficients respectively. For wound-rotor synchronous machines (WRSMs), the analytical models have been validated by FEA simulations. In experimental examples, the core loss estimation methods have average errors of 12% and 53% at all operating points of the machine. Additionally, these methods are computationally extremely lightweight and use very few coefficients, making them well-suited for real-time controllers in a variety of applications (including motor controllers 120 ( Figure 2 (See OERG block 215). Example use cases for these two models include selection of the maximum efficiency point, use in real-time control, and FEA outlier detection.
[0141] The current in a three-phase WRSM has two parts, utilizing the AC stator current along the dq axis from the power-constant Clark-Parker transform. and DC rotor (sometimes called field) current The rotor is aligned with the stator's d-axis. These are combined into a column vector. middle.
[0142] Current and the magnetic flux of the machine The relationship between them is non-linear and exhibits saturation and cross-saturation effects. This can be achieved through... Figure 6 The continuous nonlinear function shown is used for modeling. Figure 6 The figure shows the flux diagram and cross-coupling for the WRSM, and for the WRSM cross section, Figure 8A The magnetic flux under full current is shown in the figure.
[0143] (13) (14) (15)
[0144] The stator current of the machine's dq axis is subject to the stator's rated current. The rotor shaft current is limited by the rated rotor current. Limitations. These limitations can be set by thermal constraints. Thus, the current set... Constrained by its cylindrical shape.
[0145] Through functions (1), (2), and (3), the flux bundle is constrained to be (16) in It is the inverse function of functions (1), (2) and (3).
[0146] The torque of each pole pair of the machine is determined by definition (17) in It is the stator cross product matrix (18) and It is the number of pole pairs of the machine.
[0147] Maximum torque and speed Overall, it is limited by mechanical constraints. In the sense of PMSM, the rotor and stator can be "magnetically weakened," resulting in an electrically maximum torque (in and (location) and theoretically infinite electrical speed.
[0148] Core loss (also known as iron loss, or [W]) can be modeled using the Steinmetz equation, the simplest form of which is: (19) in It is a coefficient. It is the switching frequency, and It is the peak value of the magnetic flux density. For a machine (e.g., motor 115), the machine speed is the rate of change of the magnetic flux in the core material, therefore replace Magnetic flux density Compared to more commonly used machine flux Proportional, which leads to the following equation (20)
[0149] While this equation may be too general to be applied to real-world systems, the exponent can be chosen using some estimates of the underlying physics of the machine. and There are many variations of equation (20) used in motor loss modeling. One example (called the Bertotti iron loss formula) uses the expression having for The terms hysteresis loss, stack thickness, and additional loss are expressed as follows: . (twenty one)
[0150] Coefficient of each term This is an approximation that attempts to best model these losses. The terms and coefficients in equation (20) The relationship between them is an open research question. This equation is problematic for machines with coupled magnetic flux because calculating non-integer matrix exponents is not easy. In contrast, the two core loss models presented in this paper are less computationally complex but still provide sufficient accuracy.
[0151] The first core loss model is (twenty two) Furthermore, when considering It comes from (16) When it becomes a matrix, it becomes (twenty three) Where the coefficient Distributed to matrix In the middle. Because the index Magnetic flux The squared terms are easy to calculate. It is possible to potentially add linear terms. This model can be called a global model, or Torque and speed are both important for this. The equation contributes, where speed and The terms are proportional, and the torque is the flux term in equation (17). Part of it. Figure 9A The figure illustrates the trends of the global model relative to torque, speed, and magnetic flux.
[0152] For a discrete set of machine velocities The second core loss model is (twenty four).
[0153] This is generally similar to (22), except that there is a separate [condition] for each discrete velocity. This core loss model is segmented by speed and is therefore labeled as... .
[0154] The second core loss model can also be expressed as: (24b) in The term is a subset of the electrical speed of the machine. The speed can be distributed uniformly or non-uniformly across n subsets covering the machine's speed. The model has n piecewise quadratic equations, each of which has a quadratic dependence on velocity. ), linear dependence on speed ( and its independence from speed () The three corresponding coefficient matrices can be formulated as continuous. This core loss model is also categorized by speed.
[0155] For the global model (23), the matrix This can be achieved by first having available loss data points. And by using all points to solve the following convex optimization problem to obtain (25) (26)
[0156] This is the least-squares solution for an overdetermined system. Optimization can be run on all data points (many velocities) to obtain an "average" loss that best fits the loss to all data. Along the diagonal The components (i.e.) Modeling the loss of the self-inductor core, i.e. Quantization by q-axis flux How much loss. In many cases, the rotor is excited by DC current, which produces a constant magnetic flux. In this case, only by The resulting core loss will be very small, and This will be negligible. Off-diagonal terms represent losses caused by magnetic flux coupling between different axes.
[0157] For the second model (24). It is based on speed Calculated.
[0158] (27) (28) (29)
[0159] In this model, the velocity is explicitly set to a specific value according to (29), which makes each Speed is independent. All The set of matrices can be linked together using a piecewise function (24) (see the additional explanation of piecewise functions below), or it can be linearly interpolated. Figures 8B-8C The diagram shows the two methods. The matrix coefficients. Specifically, Figures 8B-8C The graph shows the matrix G multiplied by ω used for the global core loss model and the segmented core loss model. 2 The matrix coefficients.
[0160] For another second (tiered) model (24b), each speed is calculated using the following formula. of Matrix coefficients (27b) (28b-1) (28b-2) (28b-3) (29b)
[0161] In this model, the speed is explicitly set to the range specified in (29b), which makes the speed of each coefficient matrix independent. Additional constraints can be added to ensure continuity. Optimization problems (25), (27), and (27b) can be solved offline to construct core loss models (23), (24), and (24b) respectively, which can then be loaded onto the motor controller 120 for real-time core loss assessment.
[0162] Example experimental results for the core loss model
[0163] Experimental results using the two core loss models described above are presented below. Both core loss models were run on a 65 kW WRSM with the parameters shown in Table 4, where any of these parameters may also be considered feasible dimensions in some embodiments.
[0164] The FEA dataset used has the full current range of the machine. and 81 specific speeds The corresponding 498,606 FEA data points For the self-induced stator core losses, excluding those along the d-axis and q-axis respectively... and All items outside of, The values are all negligible. This is because, for this particular WRSM, the rotor is excited by DC current. The values are shown in Table 5 and... Figures 8B-8C The results are shown in the diagram. The losses in the magnetic flux domain for both methods are also discussed. Figure 9BThe data is shown in the middle. More specifically, the first row of the graph shows the core loss from the FEA data ( The second row of the graph shows the core loss based on the global model ( The third row of the graph shows the core loss according to the tiered model ( The fourth row of the graph shows the error between the core loss from the FEA data and the core loss from the global model. ), and the fifth row of the graph shows the error between the core loss from the FEA data and the core loss from the tiered model ( The quadratic relationship between core loss and flux is evident through the circular loss ring of stator core loss. The quadratic relationship between velocity and core loss is also evident by increasing the loss per velocity (column).
[0165]
[0166]
[0167] exist Figure 10 In the torque-speed domain and in Figure 9B The core loss error used for the analysis method and FEA is shown in the stator flux domain of the model. More specifically, the core loss error for the global model is shown in... Figure 10 The upper curve shows the core loss error for the tiered model. Figure 10 The lower curve is shown. Box plots showing the errors of the two core loss models are also shown. Figure 11A The average core loss error between the FEA and the global analysis model and the segmented analysis model is shown in the figure. Figure 11B The error is shown based on speed. As speed increases, the error tends to decrease significantly for both models. Compared to the average error of 53%, for The average error is 12%. Furthermore, because speed-related core losses are very low at low speeds, the increased error at low speeds does not affect the overall efficiency of motor control techniques using core loss models (e.g., OERG). For a typical drive cycle, most of the time is spent outside this region.
[0168] Each The matrix has nine coefficients ( Therefore, although the piecewise approach has a much lower error, it has 81 times more coefficients to store than the global loss model. Furthermore, there will be some computation time to determine which piecewise equation to use. For these reasons, Much more accurate, but more accurate than Much slower. It's possible that not all 81 velocities in the piecewise function are necessary for a reasonably accurate core loss model. Accordingly, in some examples, the piecewise function has fewer than 81 velocities (i.e., fewer bins), and thus fewer coefficients than 81.
[0169] Compared to more complex models, the advantages of these two core loss models are: 1) increased computational speed; 2) relatively low error; 3) no need to understand complex machine geometry; and 4) inclusion of core losses from coupling flux. These advantages allow for a wide range of potential applications, including rapid selection of the maximum efficiency point, cost-effective use in real-time controllers when moving between reference speed and torque, and FEA outlier detection.
[0170] Optimal efficiency reference generation using surface reconstruction and piecewise affine functions
[0171] In some examples, an alternative optimal efficiency reference generation technique is used. Figure 2 Block 215. In this example, the state-space model of the system uses the flux in the stator dq axis (using the amplitude-invariant Clark-Parker transform) and the rotor axis (aligned with the d axis). As a state variable (30) (31) (32)
[0172] The input is the stator and rotor voltages minus the voltage drop across the resistors. Corresponding compensated terminal voltage The set of. Electrical speed. It is the mechanical speed (1 / min) multiplied by ,in It is the number of pole pairs of the machine.
[0173] Current and magnetic flux The relationship between them is nonlinear and exhibits saturation and cross-saturation effects. This can be modeled using continuous nonlinear functions. (33) (34) (35) Conversely, the opposite situation can be modeled using the following formula. (36)
[0174] For synchronous machines with finite speed ( Maximum speed Electrical constraints due to the following factors (37)
[0175] Basic speed of the machine Defined as the speed at which the stator flux reaches the rated stator flux, or (38)
[0176] Once the base speed is exceeded, the torque decreases so as not to exceed the machine's maximum power. (39) This is called the field weakening region. Therefore, (40)
[0177] The torque per pole pair is defined by the following formula. (41) And received and The limitations. The torque set is defined by the following equation. (42)
[0178] The maximum value of the torque function depends on the speed according to the following formula. (43)
[0179] The optimal generation mapping domain (input) is defined by speed and torque (43), and the range (output) is (e.g., the current of controller 240) that can be requested. A set of.
[0180] As mentioned above, the largest source of electrical losses in a machine is copper loss. and iron loss Copper losses typically exhibit a square-dependent relationship with current and a linear relationship with resistance. The resistances of the stator and rotor vary non-linearly with machine temperature and speed, and are also frequency-dependent. Core losses are even more difficult to model analytically; they are typically dependent on magnetic flux. (Nonlinearly dependent on current) and speed It exhibits square dependence. The two largest sources of core loss are eddy currents and hysteresis, both of which are difficult to model.
[0181] Copper losses and core losses can be combined to form electrical losses.
[0182] (44)
[0183] Given any torque that satisfies equation (43) and any speed This causes electrical losses The optimization problem to minimize is: (45) (46) (47) (48)
[0184] The objective function to be minimized is electrical loss. It is subject to the following constraints: (46) requires steady-state operation ( The magnetic flux from (30-32) and voltage Relationship; constraint (47) uses (36) to link the current to the magnetic flux; constraint (48) fixes the torque equation (41) to a specific torque. The problem is in speed The parameterization is applied.
[0185] Minimum power output It will have a corresponding reference current and magnetic flux In general, problem (45) can be solved for all combinations of (43). Therefore... According to (45), there exists a solution set ( The solution set for all torque and speed combinations can be assigned to a continuous function. Since there is no analytical equation for the objective function, there is also no analytical solution.
[0186] Alternatively, a given solution can be written as a triple. And for continuous surfaces The set of all solutions to a model can be written as a set of triples. (49)
[0187] A single point is marked as ,and This represents the ideal minimum loss point.
[0188] Instead of analytical methods, numerical approximation methods (e.g., FEA techniques) can be used to approximate the losses of complex motor models, as described. Given a set of inputs, FEA techniques use a simplex mesh to locally linearize the nonlinear thermal and magnetic equations. An example could be a fixed current. and speed The input, and the output can be electrical losses. Iron loss ,resistance and magnetic flux Total electrical losses can be calculated using (44), and torque according to (41). Useful terms can be grouped into quintuples. In the case where the input is swept across its entire range, a set is produced. (50) It has tuples of the same form as (49).
[0189] The Pareto front can be used to reduce electrical losses. Minimized The Pareto Front is constructed from points in the dataset. It is the set of Pareto optimal points derived from a set of discrete data points that minimize one dimension of the objective function. and . It is the discretized FEA solution of (45).
[0190] Discrete Pareto Optim It can be used to create a surface that best approximates an ideal surface. Continuous Pareto optimal surface (Simpleform mesh). For example, surface reconstruction techniques can be used to find discrete Pareto optimal points. Translated into a continuous Pareto optimal surface Such surface reconstruction techniques can depend on the original surface. The original surface is a compact, connected, and orientable surface (a two-dimensional manifold). Surface reconstruction techniques (such as those described in "Surface Reconstruction from Unorganized Points" (Hoppe et al., 1992)) transform the unknown manifold... M An organized set of points on or near the surface is taken as input, and an approximate simplex surface of size M is produced as output. In some examples, the surface reconstruction techniques employed include: a first stage for defining the function... f This function estimates the unknown surface. M The signed geometric distance; and the second stage, which uses a contouring algorithm to approximate the simplex surface. Z ( f ), where the zero set Z ( f () is an estimate of M. To define a signed geometric distance function... fAn orientation plane can be associated with each data point in the data set. Each plane (called a tangent plane) can be used as a local linear approximation to the surface. Tangent planes may not directly define the surface because their union may have a complex non-manifold structure. Instead, tangent planes can define a signed distance function to the surface. In other examples, other surface reconstruction techniques can be employed.
[0191] The FEA method will generate discrete points. The set of discrete points will have a certain sampling density. and noise figure If for a radius Any sphere has at least one sampling point The sampling space is then described as Dense. If the original sample Having a certain -Density, then Pareto point Will have less than or equal to the original -Density -Density, as In order to... Achieve certain -Density, which may be necessary to have a higher density than higher -Density, which requires denser sampling in the FEA. Any Pareto point Both will equal the ideal surface plus some added error, or If for all , The sampling space is then called - Noise space. Used for FEA simulation. The value (or maximum error) is usually known and decreases with the size of the simplex mesh.
[0192] Then, the discrete points generated by the FEA method will be used as input to a surface reconstruction technique to generate discrete Pareto optimal points. Translated into a continuous Pareto optimal surface The continuous Pareto optimal surface is a simplex mesh.
[0193] While considering core losses in addition to copper losses can lead to more efficient motor operation, in some examples (e.g., in...) Figure 2 OERG block 215 and / or Figure 3 In block 310, an optimization problem is employed that focuses on minimizing copper losses, without considering core losses. Such optimization problems can provide relatively simple functions while still offering efficient motor operation. In addition to the specific optimization problem employed, Figure 3 The operation of process 300 and system 200 can also be performed similarly to other examples discussed in this paper. For example, given any torque and any speed satisfying equation (43), the following optimization problem can minimize copper losses: (51) (52) (53) (54)
[0194] The objective function to be minimized is copper loss. Copper losses are subject to the following constraints: (52) steady-state operation is required. The magnetic flux from (30-32) and voltage Relationship; constraint (53) uses (36) to link the current to the magnetic flux; constraint (54) fixes the torque equation (41) to a specific torque. The problem is in speed The parameterization is applied.
[0195] Here, again, the FEA method can be employed to approximate the loss using this copper loss-focused optimization problem. Given a set of inputs, the FEA method uses a simplex mesh to locally linearize the nonlinear thermal and magnetic equations. An example could be a fixed current. and speed The input can be copper loss, and the output can be copper loss. Resistance R and magnetic flux λ. Useful terms can be grouped into quintuples. In the case where the input is swept across its entire range, a set is produced. (55)
[0196] The Pareto front can be used to make Minimized The Pareto front is constructed from the points in the set of discrete data points that minimize one dimension of the objective function
[42] . and . It is the discretized FEA solution of (51). Points can be used. And triangulation algorithms (such as Delaunay triangulation) to construct Simple complexes in [the context of the universe]. Simple complexes are denoted as [symbol]. .
[0197] Regardless of whether the optimization problem uses (7), (45), or (51), the FEA method can be applied to provide discrete Pareto optimal points. These discrete Pareto optima can be translated into simple complexes. To generate simple complexes Regardless of which optimization problem is used, surface reconstruction techniques can be employed to generate surfaces labeled as For simple complexes, Delaunay triangulation can be used to generate labeled... The simple complex, or another decomposition technique, can be used to generate the labeled simple complex. Simple complexes.
[0198] Delaunay triangulation is a known mathematical meshing algorithm or technique, and quadtrees, box trees, KD trees, and alpha shapes are also known domain decomposition algorithms or techniques. In some examples, to compute Delaunay triangulation for a set of points (e.g., for N points), a Voronoi diagram of the current points can be constructed first. The Voronoi diagram divides the current space into N Voronoi cells, where all points in a Voronoi cell are closer to a single point in the original set of current points than any other point. To obtain the Delaunay triangulation, the dual graph of the Voronoi diagram can be found. In general, Delaunay triangulation maximizes the minimum angle in the simplex it creates, thus reducing "skinny" simplexes. In this context, such skinny simplexes may be undesirable. Here, a "skinny" simplex can be described by its aspect ratio. In other words, a simplex with an aspect ratio above a threshold amount can be considered "skinny," while a simplex with an aspect ratio below a threshold amount can be considered "non-skinny."
[0199] For the generated current simplexes, each simplex is connected to another simplex at a shared boundary, such that all simplexes are connected within the domain and no simplex overlaps with another simplex within the domain. Additionally, simplexes can be defined such that they are closed domains on one side and open domains on the other side, such that any arbitrary point in the domain will belong to one and only one simplex within the Delaunay construction (even if the point is on the boundary).
[0200] The obtained simple complex It can be a set or mesh of simplexes (e.g., a two-dimensional simplex in three-dimensional space). Piecewise mappings or functions can be fitted to the resulting simplex. Then the function can be used to approximate the solution set.
[0201] More specifically, the reconstructed surface as described above can be A set of simplexes in space. Given a reference... It can be a feedback or reference torque and speed value for controller 120, obtained by using a method provided by [the controller 120]. The optimal output current set is generated by using piecewise affine functions defined at the vertices. Each simplex will have an affine equation assigned to it, such that the entire function will be closed and continuous. Each simplex (plane) in the equation is defined by three points. The convex hull of the three points in (56)
[0202] The corresponding three-dimensional currents at these three vertices form a simplex.
[0203] (57)
[0204] A vector from each simplex can be viewed as an offset vector, or the new origin of the simplex. These shifted simplexes are denoted as... and Each vector is subtracted from the offset vector. The zero vector of the shifted simplex can be omitted, and the column vectors are arranged in the matrix. These vectors form the basis across the simplex: (58) (59)
[0205] Given vector It can be defined as a basis vector A linear combination, and similarly, for current... That is also true. Given ,depending on Given the simplex, these equations can be used to solve for the output current: (60) in and .
[0206] The obtained piecewise mapping can be used by the motor controller 120 to apply or solve an optimization problem (e.g., (7), (45) or (51)) to determine the target motor control parameter values (e.g., as per the information provided). Figure 3 (As described in block 310). For example, the piecewise function can be stored in the memory 130 of the motor controller 120, and in order to execute... Figure 2 OERG block 215 and / or Figure 3Block 310 determines the target motor control parameters, and motor controller 120 uses the desired control parameters (torque and / or speed) as inputs to the piecewise function to solve the piecewise function. The output or solution of the piecewise function can be, for example, a reference current. i r Or, when the OERG block 215 is integrated with the flux mapping block 220, it is a reference flux. λ r (For example, see) Figure 2 ).
[0207] As described in this article, Figures 14A-14C The figure illustrates an example of generating a simple complex from FEA data points using surface reconstruction. More specifically, Figure 14A All FEA data points are shown in the velocity slice. , Figure 14B The Pareto optimal data points with isopower curves are shown. ,and Figure 14C Pareto optimal surface is shown Additionally, Figure 14D The figure illustrates the electrical losses obtained from experimental testing using a machine controlled by an example simple complex shape formed using surface reconstruction. In this test, the machine was controlled with a 120-second drive cycle having both positive and negative torques, and the machine included parameters as shown in Table 4 above. (Source: [Insert Table 4 here]) The current is mapped back to torque to show the difference between the torque and the original requested torque.
[0208] Segmented mapping
[0209] As mentioned above, in some examples, the OERG-based motor control described in this paper uses piecewise mapping (also known as piecewise functions). A piecewise mapping can be a function fitted to a solution set of data points, where this function can then be used to approximate the solution set. Piecewise mapping divides the nonlinear mapping into... M In each domain, among which M Each of the M domains consists of (sub)functions. In other words, the subfunctions are segments of the piecewise mapping and together they form the piecewise mapping. Piecewise mappings can be classified as piecewise constant mappings, piecewise affine mappings, piecewise quadratic mappings, piecewise cubic mappings, or piecewise mappings utilizing functions of order greater than three. In piecewise constant mappings, the nonlinear mapping is divided into M domains in which the function can be a constant value. In piecewise affine mappings, the nonlinear mapping is divided into... M In this domain: M Over a domain, a function can be linearized. In piecewise quadratic mappings, nonlinear mappings are partitioned into such domains. M In this domain:M Over a domain, the function can be quadratic. In piecewise cubic mappings, nonlinear mappings are divided into such categories. M In this domain: M Over a domain, the function can be cubic. Higher-order piecewise mappings are similarly partitioned into such categories. M In this domain: M In a domain, a function can belong to a higher order.
[0210] Piecewise mapping divides the original domain into segments. M Each subset is defined as a simplex, which is any... D The simplest possible polyhedron in 3D space and a line segment in a single dimension for a given problem. D A 3D simplex can be defined as its D A convex hull with +1 vertices (called V notation); alternatively, a simplex can be defined by its faces (called H notation).
[0211] Figures 12A-12B The diagram illustrates two piecewise mappings. More specifically, Figure 12A The diagram illustrates a piecewise affine mapping (PWA mapping), and Figure 12B The diagram illustrates a piecewise quadratic mapping (PWQ mapping).
[0212] For data in any dimension, piecewise mappings can be constructed using regular or irregular sampling points, although there are some limitations for higher-order polynomials. In some examples, generating piecewise mappings may include letting... as well as Become irregularly sampled m times, subject to ... Potential unknown function, where as well as Attention may be limited by the convex hull. For example, the n-dimensional Delaunay method can be used to analyze samples. Triangulation A simplex. Here, we can assume... It is connected, non-overlapping, and convex. Each All by One sample and ) is defined, where Then, a piecewise multivariate polynomial can be defined. To approximate In other words, a piecewise multivariate polynomial can be defined to... Approximately:
[0213]
[0214] Example polynomials are listed in Table 6, and alternative example polynomials are listed in Table 7.
[0215]
[0216]
[0217] In order to obtain For continuous functions, the following terms may be required: .
[0218] This gives Figure 13 The constraints are shown. If the system of equations is underdetermined or
[0219]
[0220] or
[0221]
[0222]
[0223]
[0224]
[0225]
[0226] , Then the equation system can be fitted to the data.
[0227] Table 9 below lists the special cases.
[0228]
[0229] (1x) (2x) (3x) (4x) (5x) (6x)
[0230] The relevant special cases include: (1) causing continuity constant , and (2) cause differentiability Affine The following equation:
[0231]
[0232] Given a number of m points in n dimensions, the number of simplexes An upper limit was applied. The trivial solution is... A single point defines a simplex:
[0233]
[0234] Additional relevant special cases include those causing differentiability The second : (7x) (8x) (9x) (10x) Among them, if If , then the statement in equation 9x is true.
[0235]
[0236] Therefore, for example, when space can be used PWQ is useful during mapping. Note that... This will leave no degrees of freedom for the fitted function. Therefore, it may be necessary to... This can be useful for fitting a small number of points and / or a simplex.
[0237] Special cases related to this example include piecewise cubic functions (PWC).
[0238] (11x) (12x) (13x) (14x) This conclusion is always true because , , , as well as .
[0239] The cubic function will return a segment. Solution. Once the surface is defined, the "extractor" function for the values can be defined. Additionally, fitting can be performed as... zQvz - vec(x) Gz + f = 0.
[0240] The objective function of the minimization problem in Equation 8x encodes the function to fit to the data, and the constraints encode the requirements of the piecewise surface.
[0241] In some examples, piecewise fitting may include the following, where yes Coordinates in 3D space It is coordinates and values ( The quantity of ) and It refers to the number of Delaunay simplexes that are triangulated in space. Each simplex vertex:
[0242] Each simplex parameter
[0243] Full ":
[0244] Symmetry ":
[0245] parameter:
[0246] value:
[0247] gradient:
[0248] Function value constraints:
[0249] Each simplex is linked to its The value of each vertex Value constraints:
[0250] Gradient constraints:
[0251] Furthermore, regarding solvability:
[0252]
[0253]
[0254]
[0255]
[0256] Assume a symmetric quadratic equation:
[0257]
[0258]
[0259]
[0260]
[0261] For a given number of data points and dimensions The number of simplexes An upper limit has been provided.
[0262] Similar results were provided for the full matrix: .
[0263] For piecewise affine functions, the following equation can be applied:
[0264]
[0265]
[0266]
[0267] For piecewise quadratic functions, the following equation can be applied:
[0268]
[0269] In addition, in order to obtain Functions (possibly limited to) The following equation can be applied:
[0270]
[0271]
[0272] In some examples, the following process can be used to generate piecewise mappings (e.g., PWA mappings). First, a dataset of input operation points and corresponding output operation points is generated. This dataset can be generated through simulation (e.g., using finite element analysis (FEA)), experimentation, or a combination of simulation and experimentation. Next, a domain decomposition algorithm is applied to the dataset to generate simplexes. Various domain decomposition algorithms or techniques (also known as domain subdivision algorithms) can be applied to generate simplexes. For example, a domain decomposition algorithm or technique could be Delaunay triangulation, or it could be a surface reconstruction technique as described above. In another example, the domain decomposition algorithm or technique could be an irregularly sampled but rectangular decomposition, such as a quadtree algorithm, a box tree algorithm (also known as an oct tree), or a KD tree algorithm (depending on the number of independent dimensions). In yet another example, the domain decomposition algorithm is an alpha-shape algorithm or technique. For the resulting simplexes, each simplex is connected to another simplex on a shared boundary, such that all simplexes are connected within the domain, and no simplex overlaps with another simplex within the domain. Additionally, simplexes can be defined such that they are closed regions on one side and open regions on the other, such that any arbitrary point in the region belongs to one and only one simplex within the Delaunay construction (even if it lies on the boundary). Figure 12A PWA mapping and Figure 12B An example of a simplex with such a connection is shown in the PWQ mapping.
[0273] In some examples, as explained above, piecewise mapping is used to implement the segmented core loss model (24). In model (24), the piecewise mapping is a piecewise quadratic (PWQ) mapping. In such examples, the PWQ mapping... M Each of the domains corresponds to the motor speed range (e.g., Correspondingly, when using the segmented core loss model to determine core losses, the motor controller 120 can select the PWQ mapping based on the motor speed of the motor 115. M Each domain (and thus, the applicable sub-functions of the PWQ mapping). For example, when the motor speed ( )exist and During this period, controller 120 will select and solve... To determine the core loss. This core loss can then be used by OERG block 215 in reference generation (e.g., when solving optimization problem (7)).
[0274] In other examples, the segmented core loss model can be implemented as a PWA mapping, a PWC mapping, or another higher-order segmented mapping, instead of a PWQ mapping.
[0275] In some examples, as described above, optimization problems (7), (45), or (51) are implemented using piecewise mappings, which can be PWA mappings, PWC mappings, PWQ mappings, etc. For example, for a piecewise mapping to implement optimization problem (7), the domain can be based on a reference torque and motor speed. Thus, a specific reference torque and motor speed will correspond to a specific domain or subfunction of the piecewise function. In some examples, the domain can be based on the reference torque, motor speed, and additional parameters such as, for example, current and / or voltage limits. In some examples, this technique can be viewed as taking a system with more than two degrees of freedom beyond torque and speed and running optimizations to describe how best to collapse those additional degrees of freedom into torque and speed so that the system operates within its constraints.
[0276] In some examples, the current flux mapping (Equation (9)) is implemented using a piecewise mapping, which can be a PWA mapping, a PWC mapping, a PWQ mapping, etc.
[0277] Using decomposition techniques similar to Delaunay triangulation to create meshes in multidimensional space (e.g., dq0 or rdq0) provides an efficient and accurate mapping of points and provides relationships to flux linkages and currents within that space (in ways not traditionally possible), and also supports options such as irregular meshes. Meshing becomes more challenging with higher-dimensional data (e.g., dq0 or rdq0 and velocity, or rdq0, velocity, and core losses, etc.). For example, when meshing is strictly data-dependent, it can become irregular or "unsmooth." Strict data dependence can refer to using FEA data to build a motor model (e.g., describing a machine for control purposes). When operating a machine across a trajectory that crosses an irregular mesh, no appropriate response is formulated. Therefore, the irregular mesh affects control and motor dynamics because currents may reverse, jump from "peaks" to "valleys," etc., across this irregular (noisy) mesh.
[0278] In the examples provided in this paper and described above, constraints on the system generating the mesh (e.g., optimization problem (7)), such as those based on system parameters or informing / forcing the underlying physics (e.g., see equations (8), (9), (10), (11) as constraints on optimization problem (7)), can create smoother surfaces, especially when compared to systems that rely solely on data (without such constraints) and / or do not consider core losses when constructing the mesh. With better-formed (smoother) meshes, trajectories across the mesh (e.g., using piecewise functions) provide more efficient traversal. For example, PWA functions are limited to locally linear systems, while PWQ functions provide even smoother trajectories across the mesh.
[0279] For example, a trajectory identifies the most favorable setpoint or operating point so that the motor produces a certain torque and speed across drive cycles or operating conditions. For example, motor controller 120 can consider multiple speeds and torques and create a trajectory across flux and speed that operates the machine to complete the output with high efficiency.
[0280] When using piecewise functions to implement OERG block 215 and / or Figure 3 In the example of the motor controller 120 of block 310, a separate computing device can be used to generate the PWA function. For example, the computing device (e.g., a server, desktop computer, laptop computer, etc.) has memory and a processor, where the processor executes instructions retrieved from memory to perform the various processing steps, algorithms, and techniques described above (e.g., FEA analysis, surface reconstruction, mesh reduction (described below), etc.) to generate a piecewise function. The piecewise function can then be transmitted by the computing device (or another intermediate device) to the motor controller 120 for storage in memory 130.
[0281] Grid reduction
[0282] In some examples, a mesh reduction algorithm can be applied to the simplification before fitting the piecewise function to the simplification or mesh (e.g., one of the simplifications generated from the optimization problem or cost function as described herein). Because each simplification corresponds to a domain or function of the piecewise function, the complexity and size of the final piecewise function can be reduced by decreasing the number of simplifications in the simplification. By reducing the complexity and size of the piecewise function, less memory space can be used to store the piecewise function, and the controller can execute the piecewise function faster (e.g., determining target motor control parameter values based on desired control parameters). However, the mesh reduction algorithm simplification is configured to maintain sufficient accuracy in the approximation of its optimization problem to remain efficient and provide efficient reference generation. Mesh reduction algorithms can be, for example, edge shrinking algorithms, vertex shrinking algorithms, and / or vertex extraction algorithms. For example, a vertex shrinking algorithm can be based on iterative shrinking of vertex pairs, where, in order to shrink a vertex pair, the vertices of the pair are moved to new positions, incident edges of the pair are connected to one vertex of the pair, the other vertex of the pair is removed, and subsequently, edges or faces that have become degenerate are removed.
[0283] Simplex complex (also known as simplex mesh) It has a connected component; that is, in the domain ( In this context, there are no gaps within the triangles. For Delaunay triangulation, connected regions are generally guaranteed; however, this is not the case for all surface reconstruction methods. (Domain) (43) defines the surface, therefore it is open. Thus, It is a connected, open two-dimensional manifold.
[0284] Mesh reduction algorithms aim to reduce the number of simplexes in a simplex complex while preserving its approximate shape. They can be either topologically preserving or non-topologically preserving. Non-topologically preserving algorithms may alter the surface's topological properties. Examples of non-topologically preserving algorithms include vertex shrinking and vertex clustering. For PWA mappings, mapping from connected to disconnected can be detrimental because the output reference current will be undefined.
[0285] Mesh reduction algorithms can follow two iterative approaches: 1) setting a maximum number of simplexes, or 2) setting a maximum allowable error. Some algorithms, such as edge shrinking, vertex shrinking, and vertex extraction, work effectively for both. Memory and time constraints can directly depend on the number of simplexes. Therefore, in some examples, the first option is used to specify the maximum number of simplexes. Some algorithms (such as simplified envelope) set the maximum Euclidean distance between the original mesh and the reduced mesh. And decrease it until the distance is satisfied.
[0286] According to (60), simple complex Each simplex in the equation can have three-dimensional affine coefficients (slopes). and intercept A set of ). Input dimensions ( (Dimension of output) and output dimension ( The dimension will produce a PWA function with a size of . The slope matrix and The offset vector. The boundary of each simplex is defined by the H notation that defines the simplex. of Affine equations are defined. Correspondingly, the total number of coefficients can be... Or the number of coefficients increases with the number of simplex elements. The time complexity increases linearly. Simple complexes can be stored in a tree structure, thus the search time complexity without hot starts is... In the case of a hot start, .
[0287] Given the amount of memory allocated on a microcontroller, the number of simplexes that can be adapted to the memory can be predicted. Additionally, given the allocated computation time... The general relationship between the maximum search time and the number of simplexes that can be used without exhausting the time (e.g., during real-time motor control operation). . and The smaller of the values can be selected and used as the target number for the simplex. Finally, some mesh reduction algorithms are used for online level-of-detail (LOD) modeling and are designed to execute quickly, but may sacrifice some accuracy. In some examples, the MTPA PWA mapping is computed offline, and the static mapping is loaded onto the controller (e.g., motor controller 120). In such examples, fast computation may not be a priority. In some examples, the mesh reduction algorithm used is vertex shrinking, which can change the topological properties of the mesh, but joins surfaces rather than separating them.
[0288] The motor controller 120 can use or solve an optimization problem (e.g., (7), (45) or (51)) to determine the target motor control parameter values (e.g., as per the information provided by the grid reduction algorithm) by employing a piecewise mapping corresponding to the simple complex output or by applying a grid reduction algorithm. Figure 3 (As described in block 310). For example, the piecewise function can be stored in the memory 130 of the motor controller 120, and in order to execute... Figure 2 OERG block 215 and / or Figure 3 Block 310 determines the target motor control parameters, and motor controller 120 solves the piecewise function using the desired control parameters (torque and / or speed) as inputs. The output or solution of the piecewise function can be, for example, a reference current. i r Or, when the OERG block 215 is integrated with the flux mapping block 220, it is a reference flux. λ r (For example, see) Figure 2 ).
[0289] In one example, a FEA analysis was performed on a 65kW WRSM. Figure 14A and Figure 14B The following are shown respectively ( , , Copper loss data points and Pareto optimal points in the space. An initial simplicium complex consisting of 44,640 simplexes was generated (see [link to simplicium complex]). Figure 15A The vertex shrinking mesh reduction algorithm was applied to the initial simplex to reduce the number of simplexes to 4463 in the first iteration (see [link]). Figure 15B In the second iteration, the number of simplexes was reduced to 446 (see [link to related documentation]). Figure 15C ), and in the third iteration, the number of simplexes was reduced to 45 (see Figure 15DTherefore, after three mesh simplification steps (e.g., three iterations of mesh reduction via vertex shrinkage), the number of simplexes is reduced by a factor of 1000, resulting in a simplex with 45 faces (see [link to original text]). Figure 15D ).
[0290] In some examples, any of the various configurations of the motor controller 120 described herein are employed (see, for example...). Figure 2 The motor controller 120 is implemented as an instruction set stored on a non-transitory computer-readable medium, wherein the instructions are for execution by a processor. Furthermore, the processor can be configured to (or can be connected to another device configured to) simulate motors, power supplies, and power switching networks (simulating, for example, similar to...). Figure 2 (The arrangement in the middle). Therefore, the processor can be configured to monitor and control the motor by executing the instruction set, wherein the motor is an analog motor coupled to an analog power supply via an analog power switching network.
[0291] Although specific embodiments have been disclosed in detail herein, they are done by way of example only for illustrative purposes and are not intended to limit the scope of the appended claims. Features of the disclosed embodiments can be combined, rearranged, etc., within the scope of the invention to produce further embodiments. Several other aspects, advantages, and modifications are considered to be within the scope of the claims set forth below. The proposed claims represent at least some of the embodiments and features disclosed herein. Other unclaimed embodiments and features are also contemplated.
[0292] Further examples with various characteristics: This disclosure can be further understood through the following examples: Example 1: A method, apparatus, and non-transitory computer-readable medium for motor control, comprising: a power switching network configured to be coupled to a power source and to a motor; and an electronic controller configured to: determine current values of the motor in a rotating reference frame, each current value being associated with a dimension in a set of dimensions of the rotating reference frame; determine target motor control parameter values for each dimension of the set of dimensions of the rotating reference frame using an optimized cost function that takes into account motor speed, copper losses, and core losses, based on desired control parameters; and control the power switching network based on the current values and the target motor control parameter values.
[0293] Example 2: According to the method, apparatus and nontransient computer-readable medium of Example 1, the optimization cost function takes into account core losses by using a global core loss model, which has a coefficient matrix G that is applicable regardless of the motor speed.
[0294] Example 3: A method, apparatus, and nontransient computer-readable medium according to any one of Examples 1 to 2, wherein the optimized cost function takes into account core losses by using a segmented core loss model having a coefficient matrix that depends on the speed of the motor.
[0295] Example 4: A method, apparatus, and nontransitory computer-readable medium according to any one of Examples 1 to 3, wherein the optimized cost function takes into account core losses by using a segmented core loss model, wherein the segmented core loss model is implemented as a piecewise function having M domains defined by motor speed, each of the M domains corresponding to a motor speed range and a coefficient matrix G.
[0296] Example 5: A method, apparatus and nontransitory computer-readable medium according to any one of Examples 1 to 4, wherein the solution set of the optimization cost function is defined as a piecewise function having M domains, each of the M domains corresponding to a range of motor speed and a range of motor torque.
[0297] Example 6: According to the method, apparatus and non-transitory computer-readable medium of Example 5, each of the M domains of the piecewise function corresponds to a simplex of the surface reconstructed from the set of Pareto optimal points in the data points, which are derived from the set of inputs applied to the optimization cost function.
[0298] Example 7: According to the method, apparatus and non-transitory computer-readable medium of Example 5, each of the M fields of the piecewise function corresponds to a simplex of a reduced simplex, wherein the simplex is formed by a set of Pareto optimal points in the data points derived from the set of inputs applied to the cost function for optimization.
[0299] Example 8: A method, apparatus, and nontransitory computer-readable medium according to any one of Example 6 or Example 7, wherein the simple complex is formed by a set of Pareto optimal points using at least one technique selected from the group of surface reconstruction techniques and triangulation techniques.
[0300] Example 9: According to the method, apparatus and non-transitory computer-readable medium of Example 7, the reduced simplex is formed by reducing the simplex to a target number of simplexes using a mesh reduction technique.
[0301] Example 10: A method, apparatus, and non-transitory computer-readable medium according to any one of Examples 5 to 9, wherein a piecewise function is stored in the memory of an electronic controller, and in order to determine the target motor control parameter values, the electronic controller solves the piecewise function using the desired control parameters as inputs to the piecewise function.
[0302] Example 11: A method, apparatus, and non-transitory computer-readable medium according to any one of Example 1 or Example 10, wherein an optimized cost function is associated with a first model corresponding to a first magnetic saturation level of the motor and with a second model corresponding to a second magnetic saturation level of the motor, wherein a first solution set of the optimized cost function for the first model is defined as a first piecewise function having domains, each domain corresponding to a corresponding motor speed range and a corresponding motor torque range, wherein a second solution set of the optimized cost function for the second model is defined as a second piecewise function having other domains, each of the other domains corresponding to a corresponding motor speed range and a corresponding motor torque range, and wherein, in order to use the optimized cost function to determine target motor control parameter values, an electronic controller is configured to: select a piecewise function to be used from the first or second piecewise function based on the motor characteristics during operation; and solve the piecewise function using the desired control parameters as inputs to the piecewise function.
[0303] Example 12: A method, apparatus, and nontransient computer-readable medium according to any one of Example 1 or Example 11, wherein the optimization cost function is associated with a first model corresponding to a first magnetic saturation level of the motor and with a second model corresponding to a second magnetic saturation level of the motor, and wherein, in order to use the optimization cost function to determine target motor control parameter values, the electronic controller is configured to: select a model to be used from the first model or the second model based on the motor characteristics of the motor during operation; and use the solution of the model based on the desired control parameters as input to the model.
[0304] Example 13: A method, apparatus, and non-transitory computer-readable medium according to any one of Example 1 or Example 12, wherein, in order to determine the current value of a motor in a rotating reference frame, an electronic controller is configured to: determine the electrical operating characteristics of the motor in a stationary reference frame; determine the rotational position of the motor; and transform the electrical operating characteristics and the rotational position into the current value of the motor in the rotating reference frame.
[0305] Example 14: According to the method, apparatus and non-transitory computer-readable medium of any of Example 1 or Example 13, the electronic controller is further configured to: determine the flux linkage value for each dimension in the set of dimensions for a rotating reference frame based on the current value, and wherein, in order to control the power switching network based on the current value, the electronic controller is configured to control the power switching network based on the flux linkage value determined from the current value.
[0306] Example 15: A method, apparatus, and nontransient computer-readable medium according to any one of Examples 1 or 14, wherein the desired control parameter is a target torque value of the motor.
[0307] Example 16: A method, apparatus, and non-transitory computer-readable medium according to any one of Example 1 or Example 15, wherein, in order to control a power switching network based on current values and target motor control parameter values, an electronic controller is configured to: generate a voltage command for a dimension based on the difference between the target motor control parameter values and motor parameters indicated by current values for each dimension in a set of dimensions for a rotating reference frame; transform the voltage command in the rotating reference frame to a stationary reference frame; generate pulse width modulation control signals for each dimension of the stationary reference frame to control the power switching network to drive the stator of the motor; and generate rotor control signals to control the drive of the rotor field windings.
[0308] Example 17: A method, apparatus, and nontransient computer-readable medium according to any one of Examples 1 or 16, wherein, in order to control a power switching network based on a current value and a target motor control parameter value, an electronic controller is configured to: generate a control signal in a stationary reference frame to drive the motor based on the difference between the target motor control parameter value and motor parameters indicated by the current value for the dimension.
[0309] Example 18: A method, apparatus, and nontransient computer-readable medium according to any one of Examples 1 or 17, wherein the motor is a wound-rotor field synchronous motor comprising at least three stator phases and at least one rotor field winding.
[0310] Example 19: A method, apparatus, and nontransitory computer-readable medium according to any one of Examples 1 or 18, wherein the power switching network includes an inverter switching bridge, the inverter switching bridge including a plurality of power switching elements, the inverter switching bridge being configured to receive DC power and output AC power to the stator windings based on a pulse width modulation control signal from an electronic controller.
[0311] Example 20: The method, apparatus, and non-transitory computer-readable medium according to any one of Examples 1 or 19 further includes a DC / DC converter configured to: receive input DC power; and provide output DC power to at least one rotor field winding according to a pulse-width modulated rotor control signal from an electronic controller.
[0312] Example 21: A method, apparatus, and nontransitory computer-readable medium according to any one of Example 1 or 20, wherein the motor is at least one selected from the group consisting of: wound-rotor field synchronous motor, hybrid synchronous motor, permanent magnet synchronous motor, induction motor, general-purpose motor, or reluctance motor.
Claims
1. A motor system, the motor system comprising: A power switching network configured to be coupled to a power source and to a motor; as well as Electronic controller, the electronic controller being configured to: Determine the current value of the motor in a rotating reference frame, with each current value associated with a dimension in the dimension set of the rotating reference frame; Based on the desired control parameters, an optimized cost function considering motor speed, copper losses, and core losses is used to determine the target motor control parameter values for each dimension in the set of dimensions for the rotating reference frame; and The power switching network is controlled based on the current value and the target motor control parameter value.
2. The motor system as described in claim 1, wherein, The optimized cost function takes into account core loss by using a global core loss model, which has a coefficient matrix G that is applicable regardless of the motor speed.
3. The motor system as described in claim 1, wherein, The optimized cost function takes into account core losses by using a segmented core loss model, which has a coefficient matrix that depends on the speed of the motor.
4. The motor system as described in claim 1, wherein, The optimized cost function considers core loss by using a segmented core loss model, wherein the segmented core loss model is implemented as a piecewise function with M domains defined by motor speed, each of the M domains corresponding to a motor speed range and a coefficient matrix G.
5. The motor system as described in claim 1, wherein, The solution set of the optimized cost function is defined as a piecewise function with M domains, each of which corresponds to the motor speed range and the motor torque range.
6. The motor system as described in claim 5, wherein, Each of the M domains of the piecewise function corresponds to a simplex of the surface reconstructed from the set of Pareto optimal points derived from the set of inputs applied to the optimization cost function.
7. The motor system as described in claim 5, wherein, Each of the M domains of the piecewise function corresponds to a simplex of a reduced simplex, wherein the simplex is formed by the set of Pareto optimal points among the data points derived from the set of inputs applied to the optimization cost function.
8. The motor system as claimed in claim 7, wherein, The simple complex is formed by the set of Pareto optimal points using at least one technique selected from the group of surface reconstruction techniques and triangulation techniques.
9. The motor system as claimed in claim 7, wherein, The reduced simplex is formed by using a mesh reduction technique to reduce the simplex to a target number of simplexes.
10. The motor system as claimed in claim 5, wherein, The piecewise function is stored in the memory of the electronic controller, and in order to determine the target motor control parameter value, the electronic controller uses the desired control parameters as input to the piecewise function to solve the piecewise function.
11. The motor system as claimed in claim 1, wherein, The optimized cost function is associated with a first model corresponding to a first magnetic saturation level of the motor, and with a second model corresponding to a second magnetic saturation level of the motor. The first solution set of the optimization cost function for the first model is defined as a first piecewise function with domains, where each domain corresponds to a corresponding motor speed range and a corresponding motor torque range. Wherein, the second solution set of the optimized cost function for the second model is defined as a second piecewise function with other domains, each of the other domains corresponding to a corresponding motor speed range and a corresponding motor torque range, and In order to use the optimized cost function to determine the target motor control parameter values, the electronic controller is configured to: Based on the motor characteristics during operation, a piecewise function to be used is selected from either the first piecewise function or the second piecewise function; and The piecewise function is solved by using the desired control parameters as input.
12. The motor system as claimed in claim 1, wherein, The optimized cost function is associated with a first model corresponding to a first magnetic saturation level of the motor, and with a second model corresponding to a second magnetic saturation level of the motor. In order to use the optimized cost function to determine the target motor control parameter values, the electronic controller is configured to: Based on the motor characteristics during operation, a model to be used is selected from the first model or the second model; and The solution of the model is used as the input of the model based on the desired control parameters.
13. The motor system as claimed in claim 1, wherein, To determine the current value of the motor in the rotating reference frame, the electronic controller is configured to: Determine the electrical operating characteristics of the motor in a stationary reference frame; Determine the rotational position of the motor; as well as The electrical operating characteristics and the rotational position are transformed into the current value of the motor in the rotational reference frame.
14. The motor system of claim 1, wherein the electronic controller is further configured to: The flux linkage value for each dimension in the set of dimensions for the rotating reference frame is determined based on the current value, and in, In order to control the power switching network based on the current value, the electronic controller is configured to control the power switching network based on the flux linkage value determined from the current value.
15. The motor system as claimed in claim 1, wherein, The desired control parameter is the target torque value of the motor.
16. The motor system as claimed in claim 1, wherein, In order to control the power switching network based on the current value and the target motor control parameter value, the electronic controller is configured to: A voltage command for a given dimension is generated based on the difference between the target motor control parameter value and the motor parameters indicated by the current value for each dimension in the set of dimensions for the rotating reference system. Transform the voltage command in the rotating reference frame to the stationary reference frame; Generate pulse width modulation control signals for each dimension of the stationary reference frame to control the power switching network to drive the stator of the motor; and Generate rotor control signals to control the drive of the rotor field windings.
17. The motor system as claimed in claim 1, wherein, In order to control the power switching network based on the current value and the target motor control parameter value, the electronic controller is configured to generate a control signal in a stationary reference frame to drive the motor based on the difference between the target motor control parameter value and the motor parameters indicated by the current value for the dimension.
18. The motor system as claimed in claim 1, wherein, The motor is a wound-rotor field synchronous motor comprising at least three stator phases and at least one rotor field winding.
19. The motor system as claimed in claim 1, wherein, The power switching network includes an inverter switching bridge, which includes multiple power switching elements and is configured to receive DC power and output AC power to the stator windings based on a pulse width modulation control signal from the electronic controller.
20. The motor system of claim 1, further comprising a DC / DC converter configured to: receive input DC power; and provide output DC power to at least one rotor field winding according to a pulse-width modulated rotor control signal from the electronic controller.
21. The motor system as claimed in claim 1, wherein, The motor is selected from at least one of the following: wound-rotor field synchronous motor, hybrid synchronous motor, permanent magnet synchronous motor, induction motor, general-purpose motor, or reluctance motor.
22. A method for controlling a motor, the method comprising: The electronic controller determines the current value of the motor in the rotating reference frame, and each current value is associated with a dimension in the dimension set of the rotating reference frame; The electronic controller, based on the desired control parameters, uses an optimized cost function that takes into account motor speed, copper loss, and core loss to determine the target motor control parameter values for each dimension in the set of dimensions for the rotating reference frame; as well as The power switching network is controlled by an electronic controller based on the current value and the target motor control parameter value.
23. The method of claim 22, wherein, The optimized cost function takes into account core loss by using a global core loss model, which has a coefficient matrix G that is applicable regardless of the motor speed.
24. The method of claim 22, wherein, The optimized cost function takes into account core losses by using a segmented core loss model, which has a coefficient matrix that depends on the speed of the motor.
25. The method of claim 22, wherein, The optimized cost function considers core loss by using a segmented core loss model, wherein the segmented core loss model is implemented as a piecewise function with M domains defined by motor speed, each of the M domains corresponding to a motor speed range and a coefficient matrix G.
26. The method of claim 22, wherein, The solution set of the optimized cost function is defined as a piecewise function with M domains, each of which corresponds to the motor speed range and the motor torque range.
27. The method of claim 26, wherein, Each of the M domains of the piecewise function corresponds to a simplex of the surface reconstructed from the set of Pareto optimal points derived from the set of inputs applied to the optimization cost function.
28. The method of claim 26, wherein, Each of the M domains of the piecewise function corresponds to a simplex of a reduced simplex, wherein the simplex is formed by the set of Pareto optimal points among the data points derived from the set of inputs applied to the optimization cost function.
29. The method of claim 28, wherein, The simple complex is formed by the set of Pareto optimal points using at least one technique selected from the group of surface reconstruction techniques and triangulation techniques.
30. The method of claim 28, wherein, The reduced simplex is formed by using a mesh reduction technique to reduce the simplex to a target number of simplexes.
31. The method of claim 26, wherein, The piecewise function is stored in the memory of the electronic controller, and determining the target motor control parameter value includes solving the piecewise function using the desired control parameters as input.
32. The method of claim 22, wherein, The optimized cost function is associated with a first model corresponding to a first magnetic saturation level of the motor, and with a second model corresponding to a second magnetic saturation level of the motor. The first solution set of the optimization cost function for the first model is defined as a first piecewise function with domains, where each domain corresponds to a corresponding motor speed range and a corresponding motor torque range. Wherein, the second solution set of the optimized cost function for the second model is defined as a second piecewise function with other domains, each of the other domains corresponding to a corresponding motor speed range and a corresponding motor torque range, and The determination of the target motor control parameter values using the optimized cost function includes: Based on the motor characteristics during operation, a piecewise function to be used is selected from either the first piecewise function or the second piecewise function; and The piecewise function is solved by using the desired control parameters as input.
33. The method of claim 22, wherein, The optimized cost function is associated with a first model corresponding to a first magnetic saturation level of the motor, and with a second model corresponding to a second magnetic saturation level of the motor. The determination of the target motor control parameter values using the optimized cost function includes: Based on the motor characteristics during operation, a model to be used is selected from the first model or the second model; and The solution of the model is used as the input of the model based on the desired control parameters.
34. The method of claim 22, wherein, Determining the current value of the motor in the rotating reference frame includes: Determine the electrical operating characteristics of the motor in a stationary reference frame; Determine the rotational position of the motor; and The electrical operating characteristics and the rotational position are transformed into the current value of the motor in the rotational reference frame.
35. The method of claim 22, further comprising: The flux linkage value for each dimension in the set of dimensions for the rotating reference frame is determined based on the current value, and Controlling the power switching network based on the current value includes controlling the power switching network based on the flux linkage value determined from the current value.
36. The method of claim 22, wherein, The desired control parameter is the target torque value of the motor.
37. The method of claim 22, wherein, Controlling the power switching network based on the current value and the target motor control parameter value includes: A voltage command for a given dimension is generated based on the difference between the target motor control parameter value and the motor parameters indicated by the current value for each dimension in the set of dimensions for the rotating reference system. Transform the voltage command in the rotating reference frame to the stationary reference frame; Generate pulse width modulation control signals for each dimension of the stationary reference frame to control the power switching network to drive the stator of the motor; and Generate rotor control signals to control the drive of the rotor field windings.
38. The method of claim 22, wherein, Controlling the power switching network based on the current value and the target motor control parameter value includes: generating a control signal in a stationary reference frame to drive the motor based on the difference between the target motor control parameter value and the motor parameters indicated by the current value for the dimension.
39. The method of claim 22, wherein, The motor is a wound-rotor field synchronous motor comprising at least three stator phases and at least one rotor field winding.
40. The method of claim 22, wherein, The power switching network includes an inverter switching bridge, which includes multiple power switching elements. The inverter switching bridge receives DC power and outputs AC power to the stator windings based on a pulse width modulation control signal from the electronic controller.
41. The method of claim 22, further comprising a DC / DC converter, the DC / DC converter: receiving input DC power; and outputting DC power to at least one rotor field winding according to a pulse width modulated rotor control signal from the electronic controller.
42. The method of claim 22, wherein, The motor is selected from at least one of the following: wound-rotor field synchronous motor, hybrid synchronous motor, permanent magnet synchronous motor, induction motor, general-purpose motor, or reluctance motor.
43. A non-transitory computer-readable medium storing computer-executable instructions for causing a processor to perform the following operations: Determine the current value of the motor in the rotating reference frame, with each current value associated with a dimension in the dimension set of the rotating reference frame; Based on the desired control parameters, an optimized cost function considering motor speed, copper losses, and core losses is used to determine the target motor control parameter values for each dimension in the set of dimensions for the rotating reference frame; and The power switching network coupled to the motor is controlled based on the current value and the target motor control parameter value.
44. The computer-readable medium of claim 43, wherein, The optimized cost function takes into account core loss by using a global core loss model, which has a coefficient matrix G that is applicable regardless of the motor speed.
45. The computer-readable medium of claim 43, wherein, The optimized cost function takes into account core losses by using a segmented core loss model, which has a coefficient matrix that depends on the speed of the motor.
46. The computer-readable medium of claim 43, wherein, The optimized cost function considers core loss by using a segmented core loss model, wherein the segmented core loss model is implemented as a piecewise function with M domains defined by motor speed, each of the M domains corresponding to a motor speed range and a coefficient matrix G.
47. The computer-readable medium of claim 43, wherein, The solution set of the optimized cost function is defined as a piecewise function with M domains, each of which corresponds to the motor speed range and the motor torque range.
48. The computer-readable medium of claim 43, wherein, The optimized cost function is associated with a first model corresponding to a first magnetic saturation level of the motor, and with a second model corresponding to a second magnetic saturation level of the motor. The first solution set of the optimization cost function for the first model is defined as a first piecewise function with domains, where each domain corresponds to a corresponding motor speed range and a corresponding motor torque range. Wherein, the second solution set of the optimized cost function for the second model is defined as a second piecewise function with other domains, each of the other domains corresponding to a corresponding motor speed range and a corresponding motor torque range, and In order to use the optimized cost function to determine the target motor control parameter value, the instruction is further configured to cause the processor to perform the following operations: Based on the motor characteristics during operation, a piecewise function to be used is selected from either the first piecewise function or the second piecewise function; and The piecewise function is solved by using the desired control parameters as input.
49. The computer-readable medium of claim 43, wherein, The optimized cost function is associated with a first model corresponding to a first magnetic saturation level of the motor, and with a second model corresponding to a second magnetic saturation level of the motor. In order to use the optimized cost function to determine the target motor control parameter value, the instruction is further configured to cause the processor to perform the following operations: Based on the motor characteristics during operation, a model to be used is selected from the first model or the second model; and The solution of the model is used as the input of the model based on the desired control parameters.
50. The computer-readable medium of claim 43, wherein, To determine the current value of the motor in the rotating reference frame, the instruction is further configured to cause the processor to perform the following operations: Determine the electrical operating characteristics of the motor in a stationary reference frame; Determine the rotational position of the motor; as well as The electrical operating characteristics and the rotational position are transformed into the current value of the motor in the rotational reference frame.
51. The computer-readable medium of claim 43, wherein the instructions are further configured to cause the processor to perform the following operations: Based on the current value, determine the magnetic flux linkage value for each dimension in the set of dimensions for the rotating reference frame, and in, In order to control the power switching network based on the current value, the instructions are further configured to cause the processor to perform the following operation: control the power switching network based on the flux linkage value determined from the current value.
52. The computer-readable medium of claim 43, wherein, The desired control parameter is the target torque value of the motor.
53. The computer-readable medium of claim 43, wherein, In order to control the power switching network based on the current value and the target motor control parameter value, the instruction is further configured to cause the processor to perform the following operations: A voltage command for a given dimension is generated based on the difference between the target motor control parameter value and the motor parameters indicated by the current value for each dimension in the set of dimensions for the rotating reference system. Transform the voltage command in the rotating reference frame to the stationary reference frame; Generate pulse width modulation control signals for each dimension of the stationary reference frame to control the power switching network to drive the stator of the motor; and Generate rotor control signals to control the drive of the rotor field windings.
54. The computer-readable medium of claim 43, wherein, In order to control the power switching network based on the current value and the target motor control parameter value, the instructions are further configured to cause the processor to perform the following operation: generate a control signal in a stationary reference frame to drive the motor based on the difference between the target motor control parameter value and the motor parameters indicated by the current value for the dimension.
55. An electric motor system, the electric motor system comprising: A power switching network configured to be coupled to a power source and to a motor; as well as Electronic controller, the electronic controller being configured to: Determine the current value of the motor in a rotating reference frame, with each current value associated with a dimension in the dimension set of the rotating reference frame; Based on the desired control parameters, an optimized cost function that takes into account electrical losses is used to determine the target motor control parameter values for each dimension in the set of dimensions of the rotating reference frame. The solution set of the optimized cost function is defined as a piecewise function with M domains, each of which corresponds to the motor speed range and the motor torque range. Wherein, each of the M domains of the piecewise function corresponds to a simplex in a reduced simplex, wherein the simplex is formed by a set of Pareto optimal points among data points derived from the set of inputs applied to the optimization cost function; and The power switching network is controlled based on the current value and the target motor control parameter value.
56. The motor system of claim 55, wherein, The simple complex is formed by the set of Pareto optimal points using at least one technique selected from the group of surface reconstruction techniques and triangulation techniques.
57. The motor system of claim 55, wherein, The reduced simplex is formed by using a mesh reduction technique to reduce the simplex to a target number of simplexes.
58. The motor system of claim 55, wherein, The electrical losses include at least one loss selected from the group of copper losses and core losses.
59. The motor system as claimed in claim 55, wherein, The piecewise function is stored in the memory of the electronic controller, and in order to determine the target motor control parameters, the electronic controller uses the desired control parameters as input to the piecewise function to solve the piecewise function.
60. A method for controlling a motor, the method comprising: The electronic controller determines the current value of the motor in the rotating reference frame, and each current value is associated with a dimension in the dimension set of the rotating reference frame; The electronic controller, based on the desired control parameters, uses an optimized cost function that takes into account electrical losses to determine the target motor control parameter values for each dimension in the set of dimensions for the rotating reference frame. The solution set of the optimized cost function is defined as a piecewise function with M domains, each of which corresponds to the motor speed range and the motor torque range. Wherein, each of the M domains of the piecewise function corresponds to a simplex in a reduced simplex, wherein the simplex is formed by a set of Pareto optimal points among data points derived from the set of inputs applied to the optimization cost function; and The electronic controller controls the power switching network based on the current value and the target motor control parameter value.
61. The method of claim 60, wherein, The simple complex is formed by the set of Pareto optimal points using at least one technique selected from the group of surface reconstruction techniques and triangulation techniques.
62. The method of claim 60, wherein, The reduced simplex is formed by using a mesh reduction technique to reduce the simplex to a target number of simplexes.
63. The method of claim 60, wherein, The electrical losses include at least one loss selected from the group of copper losses and core losses.
64. The method of claim 60, wherein, The piecewise function is stored in the memory of the electronic controller, and determining the target motor control parameters includes solving the piecewise function using the desired control parameters as input.
65. A non-transitory computer-readable medium storing computer-executable instructions for causing a processor to perform the following operations: Determine the current value of the motor in the rotating reference frame, with each current value associated with a dimension in the dimension set of the rotating reference frame; Based on the desired control parameters, an optimized cost function that takes into account electrical losses is used to determine the target motor control parameter values for each dimension in the set of dimensions of the rotating reference frame. in, The solution set of the optimized cost function is defined as a piecewise function with M domains, each of which corresponds to the motor speed range and the motor torque range. Wherein, each of the M domains of the piecewise function corresponds to a simplex in a reduced simplex, wherein the simplex is formed by a set of Pareto optimal points among data points derived from the set of inputs applied to the optimization cost function; and The power switching network is controlled based on the current value and the target motor control parameter value.
66. The computer-readable medium of claim 65, wherein, The simple complex is formed by the set of Pareto optimal points using at least one technique selected from the group of surface reconstruction techniques and triangulation techniques.
67. The computer-readable medium of claim 65, wherein, The reduced simplex is formed by using a mesh reduction technique to reduce the simplex to a target number of simplexes.
68. The computer-readable medium of claim 65, wherein, The electrical losses include at least one loss selected from the group of copper losses and core losses.
69. The computer-readable medium of claim 65, wherein, The piecewise function is stored in the memory of the electronic controller, and in order to determine the target motor control parameters, the instructions further enable the processor to perform the following operation: solve the piecewise function using the desired control parameters as input to the piecewise function.