Motor control using segmented affine models
Through segmented affine modeling and mapping technology, the problem of complexity of WFS motor control is solved, and efficient and accurate motor control is achieved, which is suitable for a variety of motor types.
Patent Information
- Application Number
- CN202380032279.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-01-10
- Filing Date
- 2023-01-27
- Publication Date
- 2024-12-17
AI Technical Summary
The prior art is very complex when controlling a winding field synchronous motor (WFS), especially because of the cross coupling caused by the inherent air gap between the stator and the rotor, which increases the difficulty of design and control, making it difficult to achieve. High performance applications.
The motor control method adopted by segmented affine (PWA) modeling, by determining the current value and target magnetic flux value in the rotary reference system, and using segmented affine mapping to optimize motor control, reducing the calculation and storage of digital signal processors Use resources while improving control accuracy.
It realizes efficient control of WFS motors, reduces the calculation and storage requirements of motor controllers, improves control accuracy, and is suitable for other types of synchronous and brushless motors.
Smart Images

Figure CN119156766A_ABST
Abstract
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Application No. 63 / 304,527 filed on January 28, 2022, U.S. Provisional Application No. 63 / 345,879 filed on May 25, 2022, U.S. Provisional Application No. 63 / 409,418 filed on September 23, 2022, U.S. Provisional Application No. 63 / 420,360 filed on October 28, 2022, and U.S. Provisional Application No. 63 / 479,352 filed on January 10, 2023, each of which is incorporated herein by reference in its entirety. Statement Regarding Federally Funded Research
[0002] not applicable Background Art
[0003] Electronic machines (e.g., motors) use magnetic fields and currents to generate torque, and use ferromagnetic materials to maximize and channel magnetic flux. In particular, modern electronic machine designs can be designed to minimize core materials to reduce motor weight and cost. This relationship between magnetic flux and the current that generates magnetic flux is usually nonlinear and exhibits saturation and cross saturation. This relationship can be modeled using a magnetic model (MM), which is also called a flux linkage map. Digital controllers for electronic machines can use MM, even if only linearized MM. For some machines and applications, the accuracy and performance of these controllers may depend largely on the accuracy of MM. MM can be classified as static (offline) and dynamic (online) methods, and can include other nonlinear drive system effects, such as, for example, switching harmonics, switching dead time, core loss (iron loss) and machine temperature. Offline MM can use one or a combination of finite element analysis (FEA), analytical calculations and experimental values to measure the inductance at each operating point. The discrete values obtained by these methods can be linked together using various methods. Online MM can use a combination of online estimated parameters and offline MM from real-time measurements to generate dynamic MM. Such dynamic MM models may have the ability to adapt in real time to temperature, switching dead time, PWM harmonics, aging, and partial faults. Examples of online estimation techniques used in dynamic MM include extended Kalman filter, observer-based LPV, neural network, and Taylor series approximation. Summary of the invention
[0004] Both offline and online MM methods are subject to computational and memory constraints of the digital signal processor (DSP) used to control the motor. Various types of motors have been produced and used in many industries and environments. The complexity of the control technology may vary depending on the type of motor. As an example type of motor, a synchronous motor is an alternating current (AC) motor having a stator that is driven by an AC power signal (e.g., one signal for each phase of the stator) to cause the rotor to rotate. More specifically, the AC power signal in the stator windings of the stator 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 usually synchronized with the frequency of the AC power current. The rotor can be a permanent magnet rotor, a wound field rotor, or a hybrid rotor including both a wound field and a permanent magnet. 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 provided 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 the permanent magnet and the wound field receiving the current generate one or more magnetic fields of the rotor.
[0005] It can be challenging to control the application of current to the stator windings and, in the case of a wound field rotor, to the rotor windings at specific times and amplitudes to efficiently drive a synchronous motor. For example, a motor controller can control an inverter to provide an AC signal 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 that are challenging to create and solve to account for the factors that lead to efficient drive of the motor, and in the case of a wound field synchronous (WFS) motor, these challenges may be exacerbated due to the added wound field rotor. A WFS motor may also be referred to as a wound rotor synchronous machine (WRSM), a wound field synchronous machine (WFSM), a wound rotor synchronous generator (WRSG), a wound field synchronous generator (WFSG), and several other names.
[0006] In some systems, the motor controller operates using a rotating reference frame to simplify motor control. For example, the motor characteristics (in a stationary reference frame) can be measured and converted to direct-quadrature-Null (DQN) space, or DQN + rotor (R) space or reference frame (also known as DQNR, RDQNull, and In other words, the motor characteristics (e.g., stator current, rotor current, and rotor position) can be converted into D-axis values, Q-axis values, N-axis (or The AC signal is represented by a rotating reference frame in which the stator rotates at the frequency of the AC signal, and the AC signal can be treated as a DC signal (i.e., D, Q, N, and R values), which can simplify the calculations used to determine the control signals. The desired DQN and R values can be calculated based on the determined DQN and R values, and then transformed back into stator and rotor control values in a stationary reference frame to control the motor. In some examples, the variable "F" or "f" (i.e., for rotor field) is used instead of "R" or "r" to refer to the rotor field dimension of this reference frame.
[0007] Relative to permanent magnet (PM) synchronous motors, in the RDQN control scheme for WFS motors, in addition to the coupling states between the (stator) D-axis and the Q-axis that may exist in both PM synchronous motors and WFS motors, the rotor provides additional state cross-coupling between the (stator) D-axis and R (rotor field). In other words, for PM synchronous motors and WFS motors, changes in the D-axis affect the Q-axis, and changes in the Q-axis affect the D-axis. However, for WFS motors, there is additional control complexity because changes in the D-axis affect the R-axis, and changes in the R-axis affect the D-axis. In at least some cases, the cross-coupling between the D-axis and R components arises from the inherent air gap between the stator and the rotor. These cross-couplings add complexity and pose challenges to the design of motors and motor controllers for high-performance applications of WFS motors.
[0008] Some embodiments disclosed herein solve these or other problems. For example, some embodiments disclosed herein relate to motor control using piecewise affine (PWA) modeling. Such motor control can implement motor control based on offline MM, which reduces the use of computational and memory resources of motor controllers (e.g., DSPs), while providing improved motor control accuracy relative to other motor control techniques based on offline MM. Although this article is mainly described with respect to WFS or permanent magnet synchronous (PMS) motors, motor control using PWA modeling is also applicable to other motor types, including other brushless motors with permanent magnet rotors, induction motors, universal motors, (synchronous and switching) reluctance motors, etc. In addition, it is well known that an electronic machine used as a motor that outputs mechanical power from an input electrical power can also be operated in reverse and used as a generator that outputs electrical power from an input mechanical power. Accordingly, for ease of description, the electronic machine described herein will generally be referred to as a motor, but it is also meant to cover generators and devices that can operate as motors and generators. That is, the motor control techniques described herein can also be applied to control motors that operate as generators. The term "electronic machine" can also be used to refer to either or both of a motor and a generator.
[0009] In one embodiment, a motor control system is provided. The motor control system includes: a power switch network configured to be coupled to a power source; a motor coupled to the power switch network; and an electronic controller. The electronic controller is configured to: determine a current value of the motor in a rotating reference system, each current value being associated with a dimension in a dimension set of the rotating reference system; determine a flux linkage value for each dimension in the dimension set of the rotating reference system based on the current value using a piecewise affine mapping; determine a target flux linkage value for each dimension in the dimension set of the rotating reference system; and control the power switch network based on the flux linkage value and the target flux linkage value.
[0010] 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 system, each current value being associated with a dimension in a dimension set of the rotating reference system; determining, based on the current values, a flux linkage value for each dimension in the dimension set of the rotating reference system using a piecewise affine mapping; determining, by the electronic controller, a target flux linkage value for each dimension in the dimension set of the rotating reference system; and controlling, by the electronic controller, a power switch network coupled between a power source and the motor based on the flux linkage value and the target flux linkage value.
[0011] In another embodiment, a motor system is provided. The motor system includes an electronic controller including a processor and a memory. The electronic controller is configured to: obtain a data set of current-flux pairs for an operating point of the motor; apply a domain decomposition algorithm to the data set to generate a current simplex and a flux simplex; and store the current simplex and the flux simplex in the memory.
[0012] In another embodiment, a method of controlling an electric motor is provided. The method includes: obtaining, by an electronic controller, a data set of current-flux pairs for an operating point of the electric motor; applying, by the electronic controller, a domain decomposition algorithm to the data set to generate a current simplex and a flux simplex; and storing, by the electronic controller, the current simplex and the flux simplex in a memory.
[0013] In another embodiment, a motor system is provided. The motor system includes: a power switch network configured to be coupled to a power source; a motor coupled to the power switch network; and an electronic controller. The electronic controller is 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 a target motor control parameter value for each dimension in the set of dimensions of the rotating reference frame based on a desired control parameter using a first piecewise affine mapping that defines a minimum power loss per torque (MPLPT) function; and control the power switch network based on the current value and the target motor control parameter value.
[0014] 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 being associated with a dimension in a set of dimensions of the rotating reference frame; determining, by the electronic controller and based on a desired control parameter, a target motor control parameter value for each dimension in the set of dimensions of the rotating reference frame using a first piecewise affine mapping; and controlling, by the electronic controller, a power switch network based on the current values and the target motor control parameter values.
[0015] In another embodiment, a motor system is provided. The motor system includes: a power switch network configured to be coupled to a power source; a motor coupled to the power switch network; and an electronic controller. The electronic controller is 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 a target motor control parameter value for each dimension in the set of dimensions of the rotating reference frame based on a desired control parameter; and control the power switch network based on the current values and the target motor control parameter values by using a piecewise affine mapping, the piecewise affine mapping being defined by solving a constrained finite time optimal control algorithm offline using sample inputs.
[0016] In another embodiment, a method is provided. The method includes: determining, by an electronic controller, 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; determining, by the electronic controller and based on a desired control parameter, a target motor control parameter value for each dimension in the set of dimensions of the rotating reference frame; and controlling, by the electronic controller, a power switch network based on the current values and the target motor control parameter values by using a piecewise affine mapping, the piecewise affine mapping being defined by solving a model predictive control algorithm offline using sample inputs.
[0017] The foregoing and other aspects and advantages of the present disclosure will become apparent through the following description. In this description, reference is made to the accompanying drawings which form a part hereof, and one or more embodiments are shown by way of illustration in the accompanying drawings. However, these embodiments do not necessarily represent the full scope of the present invention, and therefore, in order to interpret the scope of the present invention, reference is made to the claims and this document. In the following description, the same reference numerals will be used to refer to the same parts between the drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] Figure 1 An electric machine system is shown according to some embodiments.
[0019] Figure 2 FIG. 1 illustrates a controller including a controller implementing a current to flux piecewise affine (PWA) mapping according to some embodiments. Figure 1 Example of a motor system.
[0020] Figure 3 The diagram illustrates a process for controlling a motor using a PWA map according to some embodiments.
[0021] Figure 4 The diagram illustrates a configuration system according to some embodiments.
[0022] Figure 5 The figure shows two plots of an example data set of current-flux pairs in the RDQ domain of a three-phase wound field synchronous motor (WFSM).
[0023] Figure 6 The diagram illustrates the process of generating a PWA map using an irregularly spaced grid of operating points.
[0024] Figure 7A-7F Diagram showing the use Figure 6 The corresponding heatmap of the 2-norm error of the PWA map generated by the process.
[0025] Figure 8A-8C The figure shows examples of PWA maps generated from a dataset of the current grid downsampled to various degrees of regular sampling.
[0026] Fig. 9A The figure shows a schematic diagram according to some embodiments Figure 1 Another example of an electric motor system includes a controller that implements an MPLPT control scheme.
[0027] Fig. 9B The diagram illustrates a process for implementing MPLPT motor control using a piecewise affine model according to some embodiments.
[0028] Fig. 10A The diagram illustrates the relationship between a set of data points that may be considered for generating a MPLPT control scheme according to some embodiments.
[0029] Fig. 10B The figure shows a schematic diagram according to some embodiments Fig. 10A An example point for a set of data points.
[0030] Fig.11 The graph illustrates affine mapped three-dimensional current slope and current offset according to some embodiments.
[0031] Fig.12 The diagram illustrates simplices and origin shifts according to some embodiments.
[0032] Fig.13 The diagram illustrates a cross section of a WFS motor used to generate experimental MPLPT control results, according to some embodiments.
[0033] Fig.14A Figure 1 shows a point Γ and a Pareto front Γ collected using FEA simulation data of a WFS motor according to some embodiments p A set of (left), and the corresponding three-dimensional MPLPT currents that would be candidate points for the MPLPT (right).
[0034] Fig. 14B The diagram illustrates a point Γ and a convex Pareto optimal solution Γ simulated according to some embodiments c (left), and the corresponding three-dimensional MPLPT current that will be used to construct h(T) (right).
[0035] Fig. 14C The figure illustrates a piecewise linear function according to some embodiments.
[0036] Fig.15A The figure shows the point Γ and subset Γ including the power consumption and torque domain FEA simulation p , Γ c , Γ cc The simulation results are shown in Figure 2.
[0037] Fig. 15B The figure shows a current domain set Γ, Γ p , Γ c , Γ cc And function h p (T p ),h c (T p ),h cc (T p ),h lin (T p ),h spl (T p ) simulation results.
[0038] Fig. 15CThe figure shows the WFS motor test bench experimental results of MTPA PWA, including: torque (reference, measured, MTPA PWA) from top to bottom on the left; speed (reference and measured); copper losses (experimental, MTPA PWA), and rotor current (measured, MTPA PWA) from top to bottom on the right; d-axis stator current (measured, MTPA PWA); q-axis stator current (measured, MTPA PWA).
[0039] Fig.15D Figure 1 shows the experimental results of the WFS motor test bench for MTPA PWA following a dynamic speed reference, including: experimental torque tracking speed reference and real-time copper losses for each MTPA function from top to bottom on the left, and h mapping using MTPA from top to bottom on the right. p (T), h c (T), h cc (T) and h spl (T) Experimental and processed rotor current i r , stator current i d and the stator current i q .
[0040] Fig.15E The figure shows the experimental results of the WFS motor test bench of the MTPA PWA with a 50Nm dynamic torque step, as well as the torque reference T* from top to bottom and the current h p (T), h c (T), h cc (T) and h spl (T) Recalculated torque, from h p (T), h c (T), h cc (T) and h spl (T) Experimental and processed rotor current i generated by MTPA function r and the stator current i d 、i q , and real-time copper loss for each MTPA function.
[0041] Fig.16 The figure shows a schematic diagram according to some embodiments Figure 1 Another example of an implementation of a model predictive control (MPC) control scheme for a motor system.
[0042] Fig.17 The diagram illustrates a process for controlling an electric machine using model predictive control techniques according to some embodiments.
[0043] Fig.18 The figure shows a schematic diagram according to some embodiments Figure 1Another example of an electric machine system that includes a permanent magnet (PM) synchronous machine and implements one or more of current-flux PWA mapping, a model predictive control (MPC) control scheme, and MTPA or MPLPT-based reference generation.
[0044] Fig.19A and Fig.19B The diagram illustrates regularly gridded PWA mapping functions of different sizes according to some embodiments.
[0045] Fig. 20 An example of a 2-norm flux error distribution for a 13×13 regularly gridded set of current points used to create a current-flux PWA map for a PM synchronous machine is shown in accordance with some embodiments.
[0046] Fig.21 The graph illustrates average and maximum 2-norm flux errors for different current sets used to create a current-flux PWA map for a PM synchronous machine, according to some embodiments.
[0047] Fig. 22 The graph illustrates simplex nets, current point placements, and 2-norm flux error distributions for different current-flux PWA mappings for a PM synchronous machine, according to some embodiments.
[0048] Fig.23 The figure shows a schematic diagram according to some embodiments Figure 1 Another example of a motor system comprising a controller and a current to inductance piecewise affine (PWA) mapping. DETAILED DESCRIPTION
[0049] One or more embodiments are described and illustrated in the following specification and drawings. These embodiments are not limited to the specific details provided herein and may be modified in various ways. In addition, there may be other embodiments not described herein. In addition, functions performed by multiple components can be integrated and performed by a single component. Similarly, functions performed by one component described herein can be performed by multiple components in a distributed manner. In addition, components described as performing specific functions may also perform other functions not described herein. For example, a device or structure that is "configured" in a certain way is configured in at least that way, but may also be configured in unlisted ways.
[0050] As used in this application, "non-transitory computer readable medium" includes all computer readable media, but does not include transient propagating signals. Thus, non-transitory computer readable media may include, for example, a hard disk, a CD-ROM, an optical storage device, a magnetic storage device, a ROM (read-only memory), a RAM (random access memory), a register memory, a processor cache, or any combination thereof.
[0051] In addition, the words and terms used herein are for descriptive purposes and should not be considered limiting. For example, in this article, the use of "comprising", "including", "containing", "having" and variations thereof is meant to cover the items listed thereafter and their equivalents as well as additional items. In addition, the terms "connected" and "coupled" are used broadly and cover direct and indirect connections and couplings, and may refer to physical or electrical connections or couplings. In addition, the phrase "and / or" used with two or more items is intended to cover individual items as well as two items together. For example, "a and / or b" is intended to cover: a; b; and a and b.
[0052] As used herein, "flux linkage" can be described as a change in a magnetic field that can be detected as a voltage between the two ends of a conductive element. Additionally, unless otherwise noted, the term "flux" is used herein as an abbreviation or shorthand symbol for "flux linkage" when discussing the relationship between magnetic fields and circuits within an electromagnetic mechanical machine.
[0053] As used herein, inductance is a quantity derived from the relationship between the flux linkage across an electrical element and the current through the electrical element. As a nonlinear relationship, such inductance can be described as the instantaneous change in flux linkage with respect to current (also called "incremental inductance"); relative to the total flux linkage (λ) at some current (i), where λ / i is the "apparent inductance"; or relative to the total field energy at some current (i), which is given by (also called "energy equivalent inductance") is determined.
[0054] Figure 1 The figure shows 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 is operated 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.
[0055] In some embodiments, the power supply 105 includes a DC power source that provides DC power to the motor drive circuit 110. The DC power source can be, for example, one or more batteries, photovoltaic cells, etc. In some embodiments, the power supply 105 includes an AC / DC rectifier that receives AC power from an alternating current (AC) power source, which can be a utility grid or an external generator. In these embodiments, the AC / DC rectifier outputs DC power to the motor drive circuit 110. In some embodiments, the AC power source is part of the power supply 105 (for example, in the case of an on-site wind turbine or generator). In some embodiments, the power supply 105 includes both a DC power source and an AC / DC rectifier, and the DC power from the power supply 105 to the motor drive circuit 110 is provided by one or both of these two sources.
[0056] The motor controller 120 includes an electronic processor 125 and a memory 130 (collectively referred to as a processing circuit system). In general, 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 circuit 110 based on these characteristics. The memory 130 includes one or more of a read-only memory (ROM), a random access memory (RAM), or other non-transitory computer-readable medium. The electronic processor 125 is configured to receive instructions and data, in particular from the memory 130, and execute instructions to, for example, perform the functions of the motor controller 120 described herein. For example, the memory 130 includes control software that defines, in particular, control techniques for the motor 115. As described in further detail below, in general, the electronic processor 125 can be configured to execute 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 circuit 110 according to the operating parameters and the monitored characteristics. The input device may be or include, for example, an accelerator pedal, trigger, dial, keyboard, laptop computer, smart phone, etc. of the electric vehicle that outputs (e.g., encoded in an analog or digital signal) one or more operating parameters to the motor controller 120. Example operating parameters that may be input and received by the motor controller 120 include a torque command and / or a speed command.
[0057] Although motor controller 120, electronic processor 125, and memory 130 are each illustrated as respective single units, 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 having a respective processor and memory).
[0058] In some embodiments, the motor 115 includes a stator assembly and a rotor assembly. The motor 115 can be a synchronous motor, for example, a wound field synchronous (WFS) motor, a permanent magnet synchronous (PMS) motor, or a hybrid synchronous motor with a rotor having both (multiple) wound fields and (multiple) permanent magnets. In such examples, the stator assembly includes a stator core and a plurality of stator windings on the stator core, which are selectively driven with current to induce a magnetic field that rotates the rotor assembly. The stator core can be, for example, a stack of laminations formed by a plurality of laminations. The stack of laminations can 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 winding can be wound around the teeth, or can include conductors that 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 to rotate the rotor assembly. The rotor core may be, for example, a stack of laminations formed by a plurality of laminations. The stack of laminations may include a generally annular profile having teeth extending radially inward (in the case of an outer rotor) or radially outward (in the case of an inner rotor). The rotor winding may be wound around the teeth, or may include a conductor that fills the slots between the teeth. In an embodiment where the motor 115 is a hybrid synchronous motor, the rotor assembly includes a combination of permanent magnets and field windings. In an embodiment where the motor 115 is a PMS motor, the rotor assembly includes one or more permanent magnets and does not have a rotor field winding. Although the motor 115 is primarily described herein as a synchronous motor, in some examples, the motor 115 is another type, such as an induction motor, a universal motor, a switched reluctance motor, or another type. Although this example of the motor 115 is described as including teeth, in some examples, for example, when implemented as a slotless motor, the motor 115 does not include teeth.
[0059] More generally, regardless of the particular form or type, the motor 115 (or electromagnetic mechanical machine) utilizes one or more controllable magnetic fields that are constructed or excited in a manner that provides a force or torque between two or more components. The force or torque can be generated by the interaction of two or more magnetic fields (at least one of which is controllable) so that the relative motion of one component results in a lower energy state due to reduced interference between the fields. The force or torque can also come from an electrical circuit where a given magnetic field or combination of fields must pass through the materials of two or more components so that the relative motion of one or more components results in a lower energy state due to a lower reluctance of the magnetic circuit, where reluctance is the ratio of the magnetomotive force to the strength of the magnetic field.
[0060] In some embodiments, including embodiments of a motor including a rotor having a rotor winding (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, including embodiments of a motor 115 not having a rotor winding (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.
[0061] The stator drive circuit includes, for example, a plurality of power switching elements connected in a bridge configuration. The power switching element is a semiconductor switching device, such as, for example, a field effect transistor (FET) (e.g., a metal oxide semiconductor field effect transistor (MOSFET)), a bipolar junction transistor (BJT), or an insulated gate bipolar transistor (IGBT). The stator drive circuit may include an output terminal for each phase of the stator assembly of the motor 115. For example, in an embodiment with a three-phase stator assembly, the stator drive circuit may include three output terminals, each output terminal being connected to a terminal of a corresponding phase of the stator assembly. The stator drive circuit receives DC power from the DC power supply 105 and a control signal from the motor controller 120. The control signal (which may be a pulse width modulation control signal with a corresponding duty cycle) controls the power switching element to be turned on and off in a coordinated manner to drive the stator winding of the motor 115. For example, the motor controller 120 may control the stator drive circuit to generate a sinusoidal drive signal at each output terminal via a control signal to drive each phase of the stator assembly of the motor 115 with a corresponding sinusoidal drive signal. Accordingly, the stator drive circuit may also be referred to as a DC to AC inverter.Each phase of the stator assembly of the electric machine 115 may be associated with one or more stator windings.
[0062] The rotor drive circuit (when present) includes, for example, one or more other 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 an output terminal pair coupled across each controllable rotor winding of the rotor assembly of the motor 115. The rotor drive circuit receives DC power from the DC power supply 105 and a control signal from the motor controller 120. The control signal (which may be a pulse width modulated control signal with a corresponding duty cycle) controls the power switching elements of the rotor drive circuit to be turned on and off in a coordinated manner to drive the rotor windings of the motor 115. For example, the motor controller 120 may control the rotor drive circuit via a control signal 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 (multiple) rotor windings.
[0063] 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. Thus, 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 that provide a conductive connection between the stationary portion and the rotating portion. In some embodiments, the rotor drive circuit includes another type of power coupling.
[0064] In some examples, the rotor drive circuit is or includes a DC-DC converter that steps down or steps up a DC voltage received from DC power source 105 to a desired voltage level for the rotor winding(s). Motor system with piecewise affine (PWA) mapping control
[0065] Figure 2 The figure shows a specific example of a motor system 100 according to some embodiments. For example, the motor controller 120 is illustrated as a collection of functional blocks with corresponding inputs and outputs. Each of the functional blocks can be implemented by a dedicated hardware circuit of the electronic processor 125 of the controller 120, by a software or instruction block stored in the memory 130 and executed by the electronic processor 125, or a combination thereof. The motor drive circuit 110 is further illustrated as including a stator drive circuit 205 and a rotor drive circuit 210. The motor drive circuit 110, the stator drive circuit 205, and the rotor drive circuit 210 can each be individually or collectively referred to as a power switch network. Power switch networks such as these circuits can be configured to switch voltage, current, and / or power. The motor 115 is illustrated as a WFS motor with a three-phase stator and a rotor field winding (R), and the three-phase stator has phases (A, B, C). As previously described, in other examples, the motor 115 is a permanent magnet synchronous motor, a hybrid synchronous motor, or another motor type. When the motor 115 is a permanent magnet synchronous motor, the motor 115 does not include a rotor field winding (R) and accordingly may not include a rotor drive circuit 210, the motor controller 120 may not sense or control the current passing through the rotor field winding (R), and the control block of the motor controller 120 may not receive, process or generate a rotor field component.
[0066] exist Figure 2 , the functional blocks of the motor controller 120 include a Clark-Park current transformation block 215, a piecewise affine (PWA) current to flux linkage mapping 220 and 225, a reference generation block 230, a differential operation block 235, a flux controller 240, an inverse Clark-Park voltage transformation 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. Figure 3 supply Figure 2 1 and 120.
[0067] Figure 3 The figure shows a process 300 for controlling a motor using piecewise affine modeling. The process 300 is described as Figure 2 However, in some embodiments, process 300 may be implemented by another motor system, such as motor systems 900, 1600, and / or 1800. In addition, although the blocks of process 300 are illustrated in a particular order, in some embodiments, one or more of these blocks may be partially or completely executed in parallel, may be executed in a different order than the first block. Figure 3 The order shown is executed or may be bypassed.
[0068] In block 305, motor controller 120 determines current values of motor 115 in a rotating reference frame, such as an RDQN reference frame. Each current value is associated with a dimension (or axis) in a set of dimensions of the RDQN reference frame. Here, the set of dimensions 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 used interchangeably to refer to rotor field characteristics. For example, the rotor field current may be expressed as I r or I f , and the rotor field flux can be expressed as λ r or f .
[0069] For example, to implement block 305, motor controller 120 may determine electrical operating characteristics of motor 115 in a stationary reference frame; determine a rotational position of motor 115 (e.g., a rotor of motor 115); and transform the electrical operating characteristics and the rotational position into current values of motor 115 in a rotating reference frame. For example, to determine the electrical operating characteristics and the rotational position of the rotor of motor 115 in a stationary reference frame, controller 120 may receive current measurements from current sensor 255, which is configured to sense the stator windings (e.g., I a ,I b ,I c , also collectively referred to as I abc ) and the current of each phase of the rotor winding (e.g., I f , sometimes referred to as I r). The controller 120 may also receive a rotational position measurement (θ) 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 rotating motor position. For example, the controller 120 may use a "sensorless" design to determine the rotor position, for example, by detecting zero crossings, peaks, and / or valleys of a back electromotive force (emf) signal on the stator windings to infer the rotor position. In addition, the controller 120 may calculate current values based on voltage measurements on the stator windings and / or (multiple) rotor windings provided by voltage sensors. In order 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 transform the determined current i of the motor 115 via a Clark-Park transformation block 215. abc and the rotational position (θ) to perform a Clarke-Park transform.
[0070] In block 310, the motor controller 120 is configured to determine the flux or inductance value for each dimension of the set of dimensions of the rotating reference frame using a piecewise affine mapping based on the current value. For example, the motor controller 120 is configured to determine the flux value λ using the PWA current to flux mapping 220 f,dq , or use the PWA current to inductance mapping 2320 to determine the inductance value L f,dq , which is referred to below Fig.23 Further detailed description. The set of dimensions may or may not include a zero dimension, and therefore, the motor controller 120 may or may not determine the flux value of the zero axis of the rotating reference frame. The piecewise affine (PWA) mapping (e.g., PWA mapping 220) as used in box 310 is a nonlinear current-to-flux mapping divided into M domains, each domain having a corresponding affine function that provides a one-to-one mapping of current values to flux values. The affine function of each of the M domains may be linear (i.e., the current-flux relationship may be linearized in each of the M domains). However, in other embodiments, the affine function corresponding to each of the M domains may be a quadratic equation, a spline function, or the like. In addition, each of the M domains corresponds to a simplex (e.g., generated using domain decomposition or Delaunay triangulation, as described in further detail below). An example of a current-to-flux PWA mapping is as follows: Where λ is the flux, i is the current, L j is Δλ / Δi (i.e., the slope of flux linkage with respect to current), ψ j is the flux linkage as an integrating constant, and I j is a simplex (or field). Additionally, volt*second (Vs) can be ψ j The units of both λ and λ.
[0071] The current-to-flux PWA map 220 may also correspond to a flux-to-current PWA map that is the inverse of the current-to-flux PWA map 220, although this inverse PWA map may not be explicitly utilized by the motor controller 120 in the process 300. An example of this inverse (flux-current) PWA map is: in
[0072] In some embodiments, determining the flux linkage value based on the current value using a PWA map (e.g., PWA map 22) includes a two-step process. First, the motor controller 120 identifies which simplex (or domain) of the PWA map the current value resides on. Second, the motor controller 120 calculates the flux linkage using a specific affine function associated with the identified simplex.
[0073] With respect to the first step, the motor controller 120 may use various techniques to identify the simplex (or domain) of the PWA map on which the current value resides. In one example, the motor controller 120 may iteratively (e.g., one by one) check the simplex to determine whether the current value resides on it, and continue to do so until a simplex with the current value is identified. Mathematically, the check may be described as projecting the coordinate(s) of the(s) current(s) as local coordinate vectors into the local coordinate system of the simplex, and when the components of the local coordinate vectors are all between 0 and 1, the point is considered to be contained within the simplex. The check of each simplex may include multiplying the current value by a particular transformation matrix associated with the simplex, and: (a) if the output > 1, then the input current does not reside on it, and (b) if the output < 1, then the input current does reside on the simplex. Here, the transformation matrix may identify n+1 points that create the simplex, where one selected point (p0) creates the origin of the simplex, and the other points in the simplex (p1 to p2) create the origin of the simplex. n ) can be represented as N vectors p relative to the origin x0 In this example, the N vectors include vector p 10 =p1-p0, vector p 20 =p2-p0, ..., vector p N0 =p n -p0. The set of relative vectors (i.e. vector p 10 、p 20 …p N0 The columns of the transformation matrix are then formed by multiplying the inverse of the transformation matrix by p t0 Let the test vector p tIn some examples, the test vector can be in current space (e.g., with i r 、i d 、i q and ampere-turns), or in flux-linkage space (e.g., with λ r , d , q and volt-seconds per turn units). Although the function and matrix are described with respect to a PWA mapping for converting current to flux, a matrix using the same format and formula (with different values, but the operating point (e.g., point N) is the same point in both matrices) can be used for a PWA mapping for converting flux to current. In some examples, such an operating point can be represented via six components to specify the current through each coil of the motor and the flux (e.g., i r 、i d 、i q , r , d , q However, because only three of the six variables can be specified independently, a shorthand notation with three variables can be used (e.g., i r 、i d 、i q or r , d , q ).
[0074] In other embodiments, different techniques may be used to identify simplexes, such as kd-trees, cosine similarity, radial basis functions, Gaussian functions, neural network algorithms, classifier algorithms, and the like.
[0075] With respect to the second step, once a particular simplex (or domain) is identified, the motor controller 120 calculates the flux using a particular affine function associated with the identified simplex (or domain). For example, referring to the above-described example current to flux PWA mapping 220, if the motor controller 120 identifies the simplex I2 in the first step, the motor controller 120 obtains the coefficients L2 (3D slope matrix) and ψ2 (3D intercept matrix) of the associated affine function L2i+ψ2 to calculate the flux (i.e., flux (λ) = L2i + ψ2). For example, the motor controller 120 applies the current value to the affine function to calculate the flux. Here, this may include the motor controller 120 multiplying the current value by the 3D slope matrix L2 and adding the 3D intercept matrix ψ2 to obtain the flux value. The 3D intercept matrix (ψ) can be considered to be a vector representing the origin of the simplex represented in the flux space. The matrix L can be the product of local coordinate transformation matrices from both the current space and the flux space (e.g., L = t λ*Inverse(t i )).
[0076] In block 315 , the motor controller 120 is configured to determine a target value for each dimension in the set of dimensions of the rotating reference frame. For example, the motor controller 120 is configured to determine a target value for each dimension in the set of dimensions of the rotating reference frame. f,dq In the form of target current value i* f,dq The target value is determined in the form of . The motor controller 120 may or may not determine the flux value of the zero axis of the rotating reference frame. In order to determine the target flux value, the motor controller 120 can determine the desired control parameters of the motor 115 (e.g., motor torque (T*) or motor speed (not shown)). The desired control parameters (e.g., motor torque (T*) or speed) may also be referred to as motor commands and may be provided by an input device as described above. The motor controller 120 can then use the reference generation block 230 to transform the desired control parameters into target current values (e.g., I*) of the motor in the rotating reference frame. f,dq ). For example, the motor controller 120 may use a reference generation block 230 in the form of a lookup table (e.g., stored in the memory 130) that maps potential values of a desired control parameter T* to a target current value. The lookup table may be pre-populated based on experimental data. The motor controller 120 may then determine a target flux linkage value for each dimension in a set of dimensions of the rotating reference frame based on the target current value using a piecewise affine (PWA) map 225. The motor controller 120 may use the PWA map 225 to determine a target flux linkage value based on a target current value in a manner similar to that the PWM map 220 is used to determine a flux linkage value based on a current value. Figure 2 The two PWA maps 220 and 225 illustrated in FIG. 1 may be duplicate PWA maps, or the motor controller 120 may use one PWA map for both the actual value and the target value (i.e., although two PWA maps are illustrated, in some embodiments, a shared PWA map is included instead). In other examples, the target current value output by the reference generation block 230 is used as the target value, as described below with respect to Fig.23 Further detailed explanation.
[0077] In block 320, the motor controller 120 is configured to control the power switch network based on the flux or inductor value and a target value (eg, a target flux value or a target current value). For a discussion of control based on inductor value and target current value, see below regarding Fig.23 However, returning to Figure 2In some embodiments, the motor controller 120 can generate a control signal in a stationary reference frame to drive the motor 115 based on the difference between the target flux value and the flux value for the dimension. For example, the motor controller 120 can use a difference block 235 to determine the difference between each flux value and the target flux value for each corresponding dimension in the set of dimensions of the rotating reference frame (e.g., R, D, and Q dimensions, optionally the zero dimension). The difference and the rotational position (θ) of the motor can be provided to the flux controller 240. The flux controller 240 can be, for example, a proportional integral derivative (PID) controller, a PI controller, a lookup table, a model-based controller (e.g., implementing model predictive control (MPC), as described in further detail below), or another control device. The motor controller 120 (e.g., via the flux controller 240) can then generate a voltage command for each dimension in 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 a voltage command V f 、V d and V q (Also collectively referred to as V f,dq ).
[0078] The motor controller 120 can then transform the voltage command from the rotating reference frame to the stationary reference frame. For example, using the inverse Clarke-Park transformation block 245, the motor controller 120 can transform the voltage command V f,dq Perform an inverse Clarke-Park transform to generate a voltage command V in the stationary reference frame 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 a pulse width modulated control signal for each dimension of the stationary reference frame to control the stator of the power switch network driving the motor. For example, the PWM generation block 250 can implement and the motor controller 120 can access a corresponding lookup table for each of the stator phases and the rotor field winding, where the motor controller 120 provides a voltage command to the corresponding lookup table of the PWM generation block 250 (e.g., providing V to the lookup table for stator phase A). a , provides V to the lookup table for stator phase B b , provides V to the lookup table for stator phase C c , and provides V to the lookup table for the rotor field winding f ). The PWM generation block 250 may return control signal parameters (eg, duty cycle) for each stator phase and rotor field winding via a lookup table.
[0080] Finally, as part of block 320, the motor controller 120 may then provide a control signal to the drive circuit 110 based on the control signal parameters (eg, at a specific duty cycle indicated by the voltage command), the control signal including the stator drive control signal D a , D b , D c (Also collectively referred to as D abc ) and the rotor drive control signal D f (Sometimes called D r ). These control signals can be applied to control the terminals of the power switching elements of the stator drive circuit 205 and the rotor drive circuit 210 of the motor drive circuit 110. For example, the control signal D abc A stator drive circuit 205 is provided to control its power switch element, and the control signal D f Provided to the rotor drive circuit 210 to control its power switching elements.
[0081] When in the motor operation mode, based on the control signal, the motor drive circuit 110 is controlled to apply power from the power supply 105 to the motor 115 to drive the rotation of the motor 115. Similarly, when in the generator operation mode, based on the control signal, the motor drive circuit 110 is controlled to apply the electric power from the motor 115 to the power supply 105 (e.g., to charge the power supply) and / or another electrical load. Generate piecewise affine (PWA) mapping
[0082] In some embodiments, the PWA map generated and used herein is based on a state-space model of the motor to be ultimately controlled. For example, in the case of a WFS motor with neutral point isolation (thus, typically no 0-axis flux and current) and no damper winding, the voltage equation of the state-space model is: Where “˙” is the d / dt operator; λ r is the rotor flux (i.e., field flux); λ d and λ q are the d-axis and q-axis stator fluxes respectively; i and v are the current and voltage of appropriate dimensions; R r and R s are the rotor and stator resistances, and ω is the synchronous speed, i.e. the electrical speed of the machine. In addition, we introduce the voltage This is the terminal voltage compensated by the winding resistance voltage drop. This concept can be generalized to include compensation for inverter nonlinear behavior, such as switch conduction voltage drops and dead time. For other motor types, similar state models can be defined with modified equations to account for differences in the motor, including motors with higher dimensions.
[0083] The torque T of the machine is defined by: T=pi rdq Jλ rdq , where p is the number of pole pairs, and J is the cross-coupling matrix:
[0084] The machine current is mapped to the machine flux via a nonlinear mapping λ r =f r (i r ,i d ,i q ), λ d =f d (i r ,i d ,i q ), λ q =f q (i r ,i d ,i q ),
[0085] This captures the magnetic coupling between the axes, magnetic saturation, and cross saturation. These equations can be written as a standard state-space system using vector notation i=g(λ), The state is the flux λ = [λ r ,λ d ,λ q ] T ∈Λ, the input is the compensation voltage And the measurement is the current i=[i r ,i d ,i q ] T ∈I. The linear dynamic model is defined by the following matrix: The output function g:λ→i is a nonlinear flux mapping f(·)=[f r (·), f d (·), f q (·)] T is the inverse of , and f:i→λ.
[0086] As described herein, a PWA map may be generated to represent a nonlinear current-to-flux map f(·), and a PWA map may be generated to represent a nonlinear flux-to-current map g(·). In some embodiments, a multi-step process is implemented to generate such a PWA map. For example, the resulting PWA map may be used in process 300. The multi-step process may be performed by an electronic controller 400 including a processor 405 and a memory 408, such as Figure 4 As shown. The electronic controller 400 may be a computing device, such as a server, a local computing device, a cloud-based system including a collection of sub-computing devices, and the like. The electronic controller 400 may be separate from the motor controller 120. In some examples, the electronic controller 400 may be communicatively coupled to the motor controller 120 via a network 410 (e.g., one or more of a local area network, a wide area network, a cellular network, a telecommunications network, and the like). In some examples, the network 410 is temporarily communicatively coupled to the motor controller 120 before the motor controller 120 is used to control the operation of the motor (e.g., the motor 115). For example, the electronic controller 400 may use the communicative coupling to configure the motor controller 120 to have and / or implement a PWA map (e.g., PWA map 220 and / or 225) generated by the electronic controller 400. In some examples, the motor controller 120 may be disconnected from the electronic controller 400 after the configuration phase to implement offline operation using (multiple) PWA maps 225 and / or 225. Figure 4 The elements of can be referred to as configuration system 420.
[0087] The processor 405 and memory 408 may be similar to the processor 125 and memory 130 of the motor controller 120 described above, although, at least in some embodiments, they may have increased processing power and memory capabilities relative to the motor controller 120, which may have space and power constraints. Additionally, although described in the singular, the electronic controller 400 may include one, two, or more controllers (e.g., each controller having a processor and memory) operating in a distributed manner. Similarly, the processor 405 and memory 408 of the electronic controller 400 may include one, two, or more respective processors and memories operating in a distributed manner.
[0088] The resulting PWA map generated by the electronic controller 400 can be received by the motor controller and stored on the motor controller (e.g., on the memory 130 of the motor controller 120), enabling the motor controller to control the motor while offline (e.g., not connected to a remote processing system) in the manner described above with respect to process 300.
[0089] In some embodiments, to generate a PWA map for controlling a motor (e.g., motor 115) such as described in process 300, electronic controller 400 (1) obtains a data set of current-flux pairs for operating points of the motor; (2) applies a domain decomposition algorithm to the data set to generate current simplexes and flux simplexes, and (3) creates a PWA map (or function) (e.g., f PWA or PWA ).
[0090] Regarding the first step, in order to obtain a data set of current-flux pairs for the operating point of the motor, the electronic controller 400 (or another electronic controller) may perform a simulation of the motor (e.g., using finite element analysis) to generate a data set; the flux may be estimated or calculated experimentally based on observations of voltage and current over time and potential other system parameters (e.g., resistance, torque, speed, etc.) to generate the data set; or the data set may be generated by a combination of simulation and experiment. As an example, in RDQN space, the data set may include a representation as (i r ,i d ,i q ; r ,λ d ,λ q ) of the motor. In this example, the zero dimension (N) can be ignored in cases where the system can be designed to have zero current under nominal operation. The size of the data set can depend on the number of operating points of the motor considered. The more operating points, the larger the data set. In some embodiments, the operating points can be selected as operating points of interest for the motor or those operating points that constitute all or most of the operating domain of the motor. See below for additional description of the selection of operating points.
[0091] Going to the second step, the electronic controller 400 applies a domain decomposition algorithm to the data set to generate a current simplex and a flux simplex. In other words, the electronic controller 400 generates the current simplex and the flux simplex based on the domain decomposition technique. Various domain decomposition algorithms or techniques (also known as domain subdivision algorithms) can be applied to generate the current simplex and the flux simplex. For example, the domain decomposition algorithm or technique can be Delaunay triangulation. In another example, the domain decomposition algorithm or technique can be an irregularly sampled but rectangular decomposition, such as a quadtree algorithm, a box tree algorithm (also known as an octree), or a KD tree algorithm (depending on the number of independent dimensions). In another example, the domain decomposition algorithm is an alpha shape algorithm or technique. 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, the electronic controller 400 applies domain decomposition to the current points from the previous step (which constitute the current-flux pairs of the operating point) to generate current simplexes, and applies domain decomposition to the flux linkage points from the previous step (which constitute the current-flux linkage pairs of the operating point) to generate flux linkage simplexes.
[0092] In some examples, in order to calculate the Delaunay triangulation of a set of current points (e.g., for N current points), a Voronoi diagram of the current points can be first constructed. The Voronoi diagram divides the current space into N Voronoi cells, where all points in the Voronoi cells are closer to a single point in the original set of current points than any other point. In order to obtain the Delaunay triangulation, the dual of the Voronoi diagram can be found. In general, the Delaunay triangulation maximizes the minimum angle in the simplex it creates, thereby reducing "skinny" simplexes. In this case, such thin simplexes may be undesirable. Here, "skinny" simplexes can be described by their aspect ratio. In other words, simplexes with an aspect ratio above a threshold amount can be considered "skinny", while simplexes with an aspect ratio below a threshold amount can be considered "non-skinny". When necessary, the aspect ratio of the simplex can be implemented by sampling of the space or the construction of Delaunay.
[0093] For the resulting current simplices generated, each simplex is connected to another simplex at a shared boundary so that all simplices are connected within the domain and no simplex overlaps with another simplex within the domain. In addition, simplices can be defined so that they are closed domains on one side and open domains on the other side so that any arbitrary point in the domain will belong to one and only one simplex within the Delaunay construction (even if it is on the boundary). In the example using a three-phase WFSM, assuming an RDQ domain with no position (θ) dependency, each simplex can be a tetrahedron (a three-dimensional shape). If theta (θ) is included in the domain (e.g., the RDQ θ domain), each simplex can be a four-dimensional shape. Accordingly, each simplex can be n-dimensional, where n is the number of variables or dimensions of the domain.
[0094] The flux linkage simplices are similar to the current simplices. That is, for the resulting flux linkage simplices generated, each simplex is connected to another simplex at a shared boundary, such that all simplices are connected within the domain, and no simplex overlaps another simplex within the domain. Additionally, simplices can be defined so 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 it is on the boundary). Further, each simplex can be n-dimensional, where n is the number of variables or dimensions of the domain.
[0095] In some embodiments, in the resulting simplices, each current simplex is associated with only one flux linkage simplex (each flux linkage simplex is also associated with only one current simplex), and further, each coordinate in each current simplex is associated with only one coordinate in the associated flux linkage simplex (each coordinate in each flux linkage simplex is also associated with only one coordinate in the associated current simplex). In other words, for each coordinate in current space, there is one and only one coordinate in flux linkage space.
[0096] Figure 5 Two plots of an example data set including current-flux pairs in the RDQ domain for a three-phase WFSM. Figure 5 , a first plot 500 of each of the current simplexes generated by the Delaunay triangulation algorithm performed on an example data set is shown. Figure 5, a second plot 505 of each of the flux linkage simplices generated by the Delaunay triangulation algorithm performed on the example data set is shown. Each current simplex of the first plot 500 corresponds to a flux linkage simplex on the second plot 505 (and each flux linkage simplex on the second plot 505 corresponds to a current simplex of the first plot 500), and furthermore, each coordinate in each current simplex is associated with only one coordinate in the associated flux linkage simplex (and each coordinate in each flux linkage simplex is associated with only one coordinate in the associated current simplex).
[0097] Turning to the third step of PWA map generation, the electronic controller 400 creates a PWA map (or function). For example, a particular PWA map may map current to flux linkage (f PWA (i)) (e.g. Figure 2 PWM mapping 220 or 225), or the flux linkage can be mapped to current (g PWA (λ)). The PWA map partitions the original domain into M subsets, where each subset is defined as a simplex. A simplex is the simplest possible polyhedron in any D-dimensional space. For example, as in the example WFS motor, the simplex for three dimensions has the form of a tetrahedron. A D-dimensional simplex can be defined as the convex hull of its D+1 vertices (called a V-symbol); alternatively, a simplex can be defined by its faces defined by affine inequalities (called an H-symbol). For example, I j =H({i jo ,i j1 ,...,i jD}) where i jo ,i j1 ,...,i jD ∈I P Each current simplex Ij forms the domain of an affine map that maps to a flux simplex, Λ j =H({λ jo ,λ j1 ,...,λ jD}) where λ jo ,λ j1 ,...,λ jD ∈Λ P Defining a general location for the set of measurement points implies that the vertices of each simplex are linearly independent and full-dimensional (non-degenerate).
[0098] Continuing with the tetrahedral simplex example, each tetrahedron I j Defined by four vertices. Let a vertex i jo is the support vector so that the origin can be moved In the shifted dimensions, the simplex is defined as: in and k = {1,...,D} spans the simplex. In addition, we pass the corresponding flux vector to shift the flux space, which gives the simplex: in And k = {1, ..., D} spans the simplex.
[0099] The non-zero vertices can be interpreted as a basis, and since affine mappings are isomorphic, the relative positions of the vectors in the current and flux simplexes are the same: The a coefficient can be obtained similarly to how the relative on-time is calculated in space vector modulation (SVM). Projected onto Base: And the relative length of the vector is obtained by dividing the magnitude of the projection by the magnitude of the basis vector:
[0100] To find the magnetic flux vector λ, we need a k Multiply by The basis vectors of : Then, the motor flux is generated by shifting the origin.
[0101] The above four equations can be simplified using vector notation, where and The basis of is the matrix: And a=[a1,...,a D ] T .Then, and Since the simplex is not degenerate, the basis is nonsingular, resulting in a linear relationship: It can be used to map current to flux and flux to current. Replacing the original coordinates gives: This yields the affine mapping: λ=L j i+ψ j , in And j = λ j0 -L J i J0 .
[0102] Rewritten in RDQ notation, the current-to-flux equation for the WFS motor in the unsaturated case has the following form: λ rdq =L rdq i+ψ rdq in is the inductance matrix, and ψ rdq is the flux displacement vector:
[0103] The diagonal term of L is the rotor (L rr ) and stator (L dd , L qq ) is the self-inductance, while the off-diagonal terms are the mutual inductances between the three axes. Usually, L rq , L dq , L qr and L qd can be ignored, and L dr and L rd Produce cross-coupling effect. Operation point selection and PWA mapping optimization
[0104] In some examples, a regularly spaced grid of operating points is used in the first step of PWA map generation. In general, the more operating points selected in the first step, the more simplices are generated in the second step, and the larger and / or more complex the PWA map is. As the size and / or complexity of the PWA map increases, the accuracy of the PWA map can be improved until an approximate peak value is reached. In some examples, the electronic controller can downsample the operating points so that the PWA map is generated using fewer available operating points than the total number of available operating points. Such downsampling can generally reduce the size and / or complexity of the PWA map and can result in a reduction in accuracy. Depending on the amount of downsampling, the amount of available operating points, etc., the reduction can be minimal or at least within the design tolerance of a particular system. Accordingly, the number of operating points used to generate the PWA map can be a balance between the size and / or complexity of the PWA map and the desired accuracy of the PWA map.
[0105] In some examples, an irregularly spaced grid of operating points is used in the first step of PWA map generation. The irregularly spaced grid of operating points can enable reducing points in some parts of the operating domain of the motor (e.g., where the current-flux relationship is more linear), increasing points in other parts of the operating domain of the motor (e.g., where the current-flux relationship is more nonlinear), or both. Selectively reducing operating points, particularly in cases where the current-flux relationship can be more linear, can minimize or limit any reduced accuracy caused by removing operating points while improving memory and processing efficiency based on a smaller and / or less complex PWA map. Similarly, selectively adding operating points, particularly in cases where the current-flux relationship can be more nonlinear, can maximize or improve the accuracy of the PWA map while having minimal or reduced impact on memory and processing efficiency. Therefore, compared to a PWA map generated using a regularly spaced grid of operating points, a PWA map generated using an irregularly spaced grid of operating points can provide high accuracy, high responsiveness, and low computational requirements.
[0106] A variety of techniques can be used to generate PWA maps using irregularly spaced grids of operating points. For example, Figure 6 The figure shows the generation of the PWA map f using an irregularly spaced grid of operating points oig The first process 600. PWA mapping f oig It may be a current to flux PWA map, but a similar process may also be used to generate a flux to current PWA map. In this example, an electronic controller (e.g., electronic controller 400) may iteratively generate PWA maps starting from an initial set of operating points, and for each PWA map, detect a portion of the operating domain with a high or highest error rate (e.g., from random sampling), and add operating points for that portion to be used in the next consecutive PWA map to be generated. Figure 6 As shown in , the iterative process can be repeated until the operating point reaches a predetermined threshold N (ie, until |Ip|>=N). In other examples, the process can be repeated until the PWA mapping reaches a desired accuracy (eg, the average of k error values I is less than a threshold).
[0107] More specifically, in block 605, the electronic controller 400 may define an initial set of current points and corresponding flux points that define a full operating region of a machine (e.g., motor 115). The electronic controller 400 may obtain the initial set from a memory (e.g., memory 408) or an external memory or input / output interface. In the illustrated example, the initial set includes eight current points and eight flux points that constitute eight current-flux operating point pairs; however, in other examples, the initial set includes a different number (more or less) of current-flux operating point pairs. Additionally, in some examples, the initial set of current points and flux points may define an operating region of the machine that is less than the full operating range.
[0108] In block 610, the electronic controller 400 creates a PWA function f for a set of current points and flux points. oig For example, the electronic controller 400 creates the current and flux meshes by performing domain decomposition (eg, a Delaunay triangulation algorithm) on an initial set of current points and corresponding flux points and defining a PWA function for each simplex in the two meshes using the techniques described above.
[0109] In block 615, the electronic controller 400 determines whether the PWA map generation process 600 is complete. For example, the electronic controller 400 may set the operating point (e.g., the current point I p ) is compared to a predetermined threshold N. In response to the number of operating points being at or above the predetermined threshold, the electronic controller 400 may determine that the PWA map generation process 600 is complete and may output or store (e.g., in memory 408 or 130) the PWA map generated from the most recent execution of block 610. oig In response to the number of operating points being less than the predetermined threshold, the electronic controller 400 may proceed to block 620. In other examples, the electronic controller 400 may determine that the PWA map generation process 600 is complete based on another criterion, such as whether the most recently generated PWA map achieves a desired accuracy (e.g., the average of the k error values (E) is less than a threshold), whether the number of iterations reaches an iteration threshold, etc.
[0110] In block 620, the electronic controller 400 calculates the error between the most recently generated PWA map and the high-fidelity function. The high-fidelity function can be used as a baseline for judging the accuracy of the PWA map. For example, the electronic controller 400 can compare the output function (PWA map) f oig With a high-fidelity function (e.g., f S,44x 31x 42 ) between k random current points (“Error”), where: Error = {E1,…,E k} λ k =f oig (i k ) λ k,exp =f S,44x31x42 (i k ) i k = Random(i∈I)
[0111] In block 625, the electronic controller 400 determines a maximum error in the error set ("error"), for example by comparing each of the resulting values in the error set, and identifies the random current i corresponding to the maximum error. max and random flux λ max (eg, from the calculation in the previous block 620 associated with the maximum error).
[0112] In block 630, the electronic controller 400 adds the maximum error point to the current and flux sets. For example, the electronic controller 400 adds the maximum error point to the current and flux sets by using the previous current set and the previous flux set and adding i max Add to the current set and change λ max The PWA function is then added to the magnetic flux set to create a new current set and a new magnetic flux set. In this way, the magnitudes of the current set and the magnetic flux set are each increased by one point. The electronic controller 400 then returns to block 610 to create an updated PWA function based on the new current set and the magnetic flux set. Steps 610-630 may be repeated until the electronic controller 400 determines in block 615 that the PWA generation process 600 is complete.
[0113] Figure 7A-7F Diagram showing the use Figure 6 Heat map of the 2-norm error of the PWA map generated by the process of . In the illustrated example, additional operating points are added in each consecutive PWA map generated by the iteration of the process. The error heat map is associated with a select subset of the iterations of the process, which illustrates the trend of the average error decreasing as the number of points increases. The illustrated heat map starts with 8 points and increases to 27 points, where these points are shown as black dots in the figure, and the average error present generally decreases as operating points are added (from 15% to 6%). The title of each heat map includes the number of points and the average error. Specifically, Fig. 7A Including 8 points and 15% mean error, Figure 7B Including 9 points and a mean error of 12%, Figure 7C Including 10 points and a mean error of 28%, Fig.7D Including 11 points and 10% average error, Fig. 7E Including 21 points and an average error of 9%, Figure 7F The error scale for each heatmap is shown in the vertical error legend to the right of each heatmap, where the maximum error for the heatmap is at the top of the legend (e.g. Fig. 7A 57.877% of the total).
[0114] In the case of generating PWA maps using an irregularly spaced grid of operating points (f oig ), the electronic controller may start with a large initial set of operating points and continuously remove operating points, rather than starting with a small initial set and adding operating points. For example, in this technique, the electronic controller may start with a large initial set of operating points and then iteratively generate PWA maps, and for each PWA map, detect a portion of the operating domain that has a low or lowest error rate (e.g., from random sampling) and remove operating points for that portion to be used in the next consecutive PWA map to be generated. The process may be repeated until the operating points reach a predetermined threshold N (i.e., until |Ip|<=N). In other examples, the process may be repeated until the PWA map falls within a desired accuracy range (e.g., the average of the k error values (E) is within a predetermined range). This process may also be referred to as downsampling.
[0115] In some embodiments, even further memory and processing efficiencies may be obtained by selectively reducing the samples or operating points that make up the data set (from the first step of PWA map generation mentioned above). For example, in some embodiments, the electronic controller uses a data set derived from irregular sampling, rather than using regular sampling, where, for example, an overall linear region of operation may have fewer samples than an overall nonlinear region of operation. Figure 6 The flowchart of discusses an example process for irregular sampling. In some embodiments, other techniques are used to select operating points to form a data set. For example, the controller can select points (whether random or regular grid) and construct the L matrix. The controller can then run the cosine similarity function and test the output. When the output is above a certain accuracy threshold or score, the controller can remove one or more points of the data set (for example, if the mapping is above a size or complexity threshold) or exit the process. When the output is below a certain threshold or score, the controller can add other points to the data set. Then, if the process does not exit, the controller can repeat the process for the modified data set. If the process exits, the controller can move to another area and repeat the process, or if all areas are completed, the mapping is finalized based on the final data set. The technology is generally centered on a data set of operating points that provides a mapping with sufficient accuracy and sufficiently reduced memory footprint and complexity. In other embodiments, other criteria can be used to test specific areas and determine whether the process is complete.
[0116] Figure 8A-8C The drawings in include examples of PWA maps generated from a dataset of the current grid that has been downsampled to various degrees of regular sampling. Specifically, Fig. 8A , Figure 8B and Figure 8C Each of comprises four plots, each plot being a regularly gridded data set at one of the following sampling levels: 8×8×8 grid, 4×4×4 grid, 3×3×3 grid, and 2×2×2 grid. Fig. 8A The figure shows q =λ of the slice at 0 r Relative to i d and i r Drawings; Figure 8B The figure shows q =λ of the slice at 0 d to i d and i r 's drawing, and Figure 8C The figure shows d = λ at 0 q Relative to i d and i q Drawing.
[0117] As described above, some techniques for selecting operating points to form an irregular grid for generating a PWA map include starting with a smaller set of operating points and adding operating points to the set to achieve an irregular grid of operating points, while other techniques include starting with a larger set of operating points and removing operating points from the set to obtain an irregular grid of operating points. In some examples, techniques including starting with a smaller set and adding operating points to the set are computationally less demanding than techniques starting with a larger set and removing operating points, thereby reducing the amount of processing and memory resources used (e.g., by the electronic controller 400). This reduction in resources can be caused because, for example, creating a grid and performing domain decomposition (see, e.g., block 610) on a smaller set of operating points is computationally less demanding than performing such operations on a larger set of operating points.
[0118] As described herein, the resulting PWA map, such as that ultimately created using process 600 or variations thereof, may be used by a motor controller to control the motor (e.g., by motor controller 120 to control motor 115). Additionally, the resulting PWA map may be used as a representation of the motor controller and the motor for simulation purposes. Such use of the PWA map may be beneficial because, for example, the PWA map uses fewer processing and memory resources to accurately represent the associated nonlinear motor and its flux-based control than other modeling techniques for the motor. Accordingly, performing simulations utilizing the PWA map may occur more quickly, with less processing and with fewer memory resources than other modeling techniques.
[0119] Based on experimental testing using different numbers of current-flux pair operating points (ranging from 8 points to 90 points), the amount of memory used (in kilobytes (kB)) and the computation time (in microseconds (μs)) increase nonlinearly with the number of simplexes used in the current-to-flux PWA mapping. However, even at relatively high fidelity, the memory used and the computation time remain within a suitable range for a typical motor controller. For example, at 45 operating points used to create the grid, the memory used is still less than 20kB and the computation time is less than 50μs. In fact, at 30, 40, 45, and 48 operating points, the computation time is between 20-40 microseconds, and at 8, 12, 18, and 24 operating points, the computation time is less than 20 microseconds. In addition, at 8, 12, 18, 24, 30, and 40 operating points, the memory usage is less than 10kB, and at 45, 48, and 60 operating points, the memory usage is between 10kB and 20kB. Other uses of current to flux mapping
[0120] In some embodiments of process 300, instead of using a PWA mapping as described above, another mapping of current to flux is generated from the simplex produced by the domain decomposition and used in process 300. For example, instead of using a piecewise function comprising multiple linear relationships, a piecewise function comprising multiple quadratic functions is used to provide a current to flux mapping. In general, quadratic functions can enable the use of even fewer data points while still maintaining accuracy of the representation; however, the computational complexity of performing an inverse lookup (e.g., solving for a quadratic function to get from flux to current) may increase. However, in some embodiments, such as a motor controller implementing process 300, the motor controller may not include an inverse lookup to map flux linkage to current, and the increased complexity may be irrelevant. In some cases, such as in simulation or motor analysis, the increased complexity may have a greater potential impact.
[0121] Other techniques may include, for example, K-Nearest Neighbor (KNN), which includes a search method that can be used to find adjacent simplexes. KNN or other similar methods utilize a distance metric as a way to build a tree (e.g., a higher dimensional KD tree (KDTree) or a ball tree (BallTree)). When a data point is provided, the tree will return the K nearest simplexes. The defined metric can be any metric that is called a "true metric" in a mathematical sense, where the true metric satisfies each of the following conditions: 1: d(x,y)>=0 2: d(x,y) == d(y,x) 3: d(x,y)==0 only when x==y To find neighboring simplices of a data point using this method, in some cases the center of the simplex is used as the "neighbor".
[0122] Another technique includes cosine similarity, which can be used when comparing data points as high-dimensional vectors, where the angle returned gives the relative similarity (not absolute) between the two vectors being compared. In some cases, the vectors may contain neural embeddings of higher-order data within a lower-dimensional space. As more dimensions are included in the simplex, reducing the number of relevant adjacent simplices becomes a larger task. When generating the PWA map, simplices can be discarded based on whether they have a high cosine similarity with their neighbors, thereby reducing the number of points required. Due to the linearity within the simplices, cosine similarity can be taken between the gradients within the two simplices being compared.
[0123] Another technique includes decision trees, where a classification tree is fitted to a dataset. For example, the "random forest" method can take many decision trees using different subsets of the dataset and average their results, making them more robust while also giving a confidence score in the prediction, which can be used in some instances. Additionally, gradient boosting is a method that can be used, which creates many individual decision trees. This in turn creates additional trees by focusing on where the previous trees performed poorly rather than weighting each tree equally as in a random forest.
[0124] Neural networks may also be utilized, including fully connected networks for less complex problems, convolutional networks, recurrent networks (which are particularly useful for time series problems), and / or generative networks. Simplex generation process
[0125] In some embodiments, a simplex generation process is provided and executed, for example, by an electronic 400 controller including a processor 405 and a memory 408. As described above, the processor 405 and the memory 408 can be similar to the processor and memory of the motor controller 120 described above, although at least in some embodiments, they can have increased processing power and memory capabilities relative to the motor controller 120 that may have space and power constraints. In addition, although described in the singular, the electronic controller can include one, two, or more controllers operating in a distributed manner (e.g., each controller having a processor and memory). Similarly, the processor and memory of the electronic controller can include one, two, or more corresponding processors and memories operating in a distributed manner.
[0126] In some embodiments, the simplex generation process includes the electronic controller 400 (1) obtaining a data set of current-flux pairs for operating points of the motor; (2) applying a domain decomposition algorithm to the data set to generate a current simplex and a flux simplex, and (3) storing the current simplex and the flux simplex in a memory (e.g., memory 408 and / or memory 130). The first two steps can be performed similarly to the first two steps for PWA generation mentioned in the previous section. In the third step, the electronic controller 400 can store the current simplex and the flux simplex in a memory of the electronic controller and / or another memory in communication with the electronic controller.
[0127] The generated simplex can then be used to generate PWA maps or other maps related to current and flux, as described above, and for other purposes. For example, the simplex can be integrated into a motor analysis or simulation system and used by the system to convert current values to flux values, and / or flux values to current values. This includes state space modeling and finite element analysis. The simplex can also be used to produce accurate models of machines with irregular meshes. Current to Inductance PWA Mapping
[0128] Fig.23 A specific example of a motor system 100 (identified as motor system 2300) including a current-based controller according to some embodiments is shown. Figure 1 and Figure 2 The description of the components applies similarly to Fig.23, sharing the same reference numerals or names, unless otherwise provided herein. For example, the motor controller 120 is again illustrated as a collection of functional blocks having corresponding inputs and outputs. Each of the functional blocks may be implemented by a dedicated hardware circuit of the electronic processor 125 of the controller 120, by software or instruction blocks stored in the memory 130 and executed by the electronic processor 125, or a combination thereof. The motor drive circuit 110 is further illustrated as including a stator drive circuit 205 and a rotor drive circuit 210. The motor 115 is illustrated as a WFS motor having a three-phase stator and a rotor field winding (R), the three-phase stator having phases (A, B, C), and the motor system 2300 is primarily described with respect to the WFS motor. However, in other examples, the motor 115 is a permanent magnet synchronous motor, a hybrid synchronous motor, or another motor type. 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 passing 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.
[0129] and Figure 2 on the contrary, Fig.23 The motor system 2300 includes a current-to-inductance PWA mapping 2320, which can be implemented as an input current value i r,dq (The figure shows f,dq ) is mapped to the inductance value L r,dq (shown as L f,dq ) is a piecewise affine mapping, as described in further detail below. In addition, the target current value (i* r,dq ) and current value (i r,dq ) is provided to the difference operator 235, and the difference operator 235 provides the determined difference to the current controller 2340. In addition, the current controller 2340 is provided instead of Figure 2 The current controller 2340 receives the determined current difference (i r,dq -i* r,dq ) and inductance (L r,dq ), and based on these values, generates and outputs a voltage command V f,dq For example, to determine the voltage command, the current controller 2340 may multiply the inverse of the inductance value (which may form a matrix) by the determined current difference (eg, V f,dq =L r,dq -1 (i r,dq -i* r,dq )). In some examples, the inverse inductance matrix (L r,dq -1) may be a direct output of the PWA map 2320 and received as an inductance value by the current controller 2340. In this case, in some examples, the matrix inversion may be an off-line calculation.
[0130] The voltage output is provided to an inverse Clarke-Park transform block 245, which is ultimately used to convert the voltage output to an inverse Clarke-Park transform block 245. Figure 2 The motor 115 is controlled in a similar manner as described above. For example, the current controller 2340 can output a voltage command V f 、V d and V q (Also collectively referred to as V f,dq or V r,dq ). The voltage command can then be used similarly to the above description of Figure 2 The motor is controlled as described (e.g., via the inverse Clark-Park transform block 245, the PWM generation block 250, and the motor drive circuit 110). Similar to the flux controller 240, the current-based controller 2340 can be, for example, a proportional-integral-derivative (PID) controller, a PI controller, a lookup table, or another control device.
[0131] PWA map 2320 can be used to input current (i r,dq ) is mapped to or corresponds to the inductance value output by the PWA mapping (e.g., L r,dq or L r,dq -1 ). More specifically, as previously discussed above, the PWA map includes a plurality of affine functions, each of the plurality of affine functions being associated with a respective domain in a plurality of domains. The PWA map 2320 may be generated using techniques similar to those described above with respect to the current to flux mapping 220, except that the relationship between current and inductance is considered instead of the relationship between current and flux with updated equations that may be derived from the relationship of inductance to flux and current (e.g., see the discussion above with respect to incremental inductance, apparent inductance, and energy equivalent inductance). To obtain inductance from a set of inputs to the PWA map 2320, a controller (e.g., the motor controller 120) may identify a first domain that corresponds to the set of inputs and is selected from a plurality of domains. The first domain is associated with a first affine function in a plurality of affine functions. The controller may then apply the set of inputs (i.e., current values and one or more additional motor characteristics) to the first affine function to determine an inductance value for each dimension of the rotating reference frame. In some examples, each of the plurality of domains associated with the respective affine functions corresponds to a simplex provided by performing a domain decomposition algorithm on a data set of input-output pairs for a plurality of operating points of the motor, wherein for the operating points of the motor, the input of each input-output pair comprises a current value and the output comprises a corresponding inductance value.
[0132] In some examples, Fig.23 The motor system 2300 includes a minimum power per torque (MPLPT) control block used as a reference generation block 230, such as Fig. 9A The MPLPT block 905 (discussed below), and / or the flux controller 2340 is implemented as an MPC controller, as described with respect to Fig.16 Further discussion. PWA mapping for MPLPT control scheme
[0133] In some examples, the motor system 100 implements a minimum power consumption per torque (MPLPT) control scheme. The MPLPT control scheme can reduce or minimize the electrical losses of the motor 115 while considering saturation and cross-saturation given a reference torque (e.g., an input torque command indicating the desired output torque of the motor 115). By reducing electrical losses (i.e., copper losses and iron losses) using MPLPT, the motor system 100 provides power-efficient torque control of the motor 115. In order to implement the MPLPT control scheme, a convex Pareto front of simulated or measured data points is used to solve the MPLPT optimization problem. Throughout the full machine operation process, sampled points are used to capture magnetic saturation and cross-saturation effects. The filtered solution set is mapped to the current space using a piecewise affine function that approximates the current using a piecewise linear function of a given torque. The set of piecewise linear functions enables the machine controller 120 to implement the MPLPT online or as an offline lookup table. This section focuses on WFS motors, but similar concepts apply to other motor types, including PMS motors, hybrid synchronous motors, universal motors, induction motors, and reluctance motors (both synchronous and switched).
[0134] Directly controlling the torque of any machine is generally difficult because the controller is able to control and regulate some combination of voltage, current, or flux. The typical approach is to define a reference torque and then map it directly to a reference set of currents. This mapping is generally not unique and no optimal solution exists because torque is a non-convex function of current. This problem is often referred to as maximum torque per ampere (MTPA) but is reformulated in this study as minimum power loss per torque (MPLPT) to include core losses. The MPLPT problem becomes more complex with the addition of strong saturation of the flux of the WFS motor operating under linear and nonlinear magnetic conditions to prevent high flux errors during saturation and cross-saturation.
[0135] Existing online MTPA methods can be computationally expensive on the controller, while offline MTPA methods include additional variables that add cross-coupled torque terms and reduced saturation inductance to approximate saturation effects, which results in equations that are difficult to optimize and large lookup tables.
[0136] In some examples, the MPLPT method proposed in this paper uses the Pareto optimal simulation or experimental values of the MPLPT as candidate points for the MPLPT current path. The solution set is reduced by using convex Pareto optimal points and the points are linked using piecewise affine (PWA) functions. This method produces a set of linear functions that are computationally inexpensive to run on the controller for any reference torque of the machine.
[0137] Fig. 9A A specific example of a motor system 100 implementing such a MPLPT control scheme according to some embodiments is shown, identified as motor system 900. Figure 1 and Figure 2 The description of the components applies similarly to Fig. 9A , sharing the same reference numerals or names, unless otherwise provided herein. For example, the motor controller 120 is again illustrated as a collection of functional blocks having corresponding inputs and outputs. Each of the functional blocks may be implemented by a dedicated hardware circuit of the electronic processor 125 of the controller 120, by software or instruction blocks stored in the memory 130 and executed by the electronic processor 125, or a combination thereof. The motor drive circuit 110 is further illustrated as including a stator drive circuit 205 and a rotor drive circuit 210. The motor 115 is illustrated as a WFS motor having a three-phase stator and a rotor field winding (R), the three-phase stator having phases (A, B, C), and the motor system 900 is primarily described with respect to the WFS motor. However, in other examples, the motor 115 is a permanent magnet synchronous motor, a hybrid synchronous motor, or another motor type. When the motor 115 is a permanent magnet synchronous motor, the motor 115 does not include a rotor field winding (R), and accordingly, the rotor drive circuit 210 may not be included, the motor controller 120 may not sense or control the current passing through the rotor field winding (R), and the control block of the motor controller 120 may not receive, process or generate a rotor field component.
[0138] and Figure 2 on the contrary, Fig. 9A The motor system 900 includes an MPLPT function block 905, which can be implemented to map an input desired control parameter (eg, motor torque (T*)) to a target current value i* r,dq , as described in further detail below. In addition, the current to flux mappings 910 and 915 can be implemented as described above with respect to Figure 2 The described piecewise affine mapping may be implemented by other mapping functions (e.g., lookup tables, functions executed in real time, etc.). In addition, in some embodiments, the function blocks or mappings 905 and 910 may be combined into a single piecewise affine mapping that maps an input desired control parameter (e.g., motor torque (T*)) to a target flux linkage value λ*. r,dq.
[0139] Additionally, in some embodiments, the flux controller 240 within the controller 120 may implement current-based motor control instead of Fig. 9A For example, the current-to-flux mappings 910 and 915 may not exist in the controller 120, and the target current value i* r,dq And the measured current value i r,dq can be provided to the differential calculation block 235 of the controller 120. Then, the differential calculation block 235 of the controller 120 can indicate the target current value i* r,dq The measured current value i r,dq The difference between the difference between Fig. 9A 240 , the current-based controller block may be provided in place of the flux controller block. Similar to the flux controller 240 , the current-based controller block may be, for example, a proportional-integral-derivative (PID) controller, a PI controller, a lookup table, or another control device. Whether flux-based or current-based, the controller block (and therefore the motor controller 120 ) may then generate a voltage command for each of the set of dimensions of the rotating reference frame based on the received difference and the rotational position (θ) of the motor. For example, the flux controller 240 may output a voltage command V f 、V d and V q (Also collectively referred to as V f,dq or V r,dq ). The voltage command can then be used similarly to the above description of Figure 2 The motor is controlled as described (eg, via the inverse Clarke-Park transform block 245, the PWM generation block 250, and the motor drive circuit 110).
[0140] Fig. 9B The figure shows a process 950 for implementing MPLPT motor control using a piecewise affine model. The process 950 is described as Fig. 9A However, in some embodiments, process 950 may be implemented by another motor system, such as motor system 100, 1600, or 1800. In addition, although the blocks of process 950 are illustrated in a particular order, in some embodiments, one or more blocks may be partially or completely executed in parallel, may be executed in a different order than the previous one. Fig. 9B The order shown is executed or may be bypassed.
[0141] In block 955, the motor controller 120 determines the current values of the motor 115 in a rotating reference frame (such as the RDQN reference frame or ). Each current value is associated with a dimension (or axis) in a set of dimensions of the RDQN reference frame. Here, the set of dimensions includes R (or field (f)), D, and Q dimensions (e.g., if 、i d 、i q , also known as i f,dq As used herein, the variables F, f, R, and r are used interchangeably to refer to rotor field characteristics. For example, the rotor field current may be represented as i r or f , and the rotor field flux can be expressed as λ r or f .
[0142] For example, to implement block 955, motor controller 120 may determine electrical operating characteristics of motor 115 in a stationary reference frame; determine a rotational position of motor 115 (e.g., a rotor of motor 115); and transform the electrical operating characteristics and the rotational position into current values of motor 115 in a rotating reference frame. For example, to determine the electrical operating characteristics and the rotational position of the rotor of motor 115 in a stationary reference frame, controller 120 may receive current measurements from current sensor 255, which is configured to sense the stator windings (e.g., i a 、i b 、i c , also collectively referred to as i abc ) and the current of each phase of the rotor winding (e.g., i f , sometimes referred to as i r ). The controller 120 may also receive a rotational position measurement (θ) 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 rotating motor position. For example, the controller 120 may use a "sensorless" design to determine the rotor position, for example, by detecting zero crossings, peaks and / or valleys of a back electromotive force (emf) signal on the stator windings to infer the rotor position. In addition, the controller 120 may calculate current values based on voltage measurements on the stator windings and / or (multiple) rotor windings provided by voltage sensors. In order 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 transform the determined current i of the motor 115 via a Clark-Park transformation block 215. abc and the rotational position (θ) to perform a Clarke-Park transform.
[0143] In block 960, the motor controller 120 determines a target motor control parameter value for each dimension in the set of dimensions of the rotating reference frame using the first piecewise affine mapping based on the desired control parameter. For example, the motor controller 120 may receive the desired control parameter in the form of an input command or reference value, which may indicate a desired motor torque value (T*). The desired control parameter may be retrieved from a memory (e.g., memory 130) or received via an input / output device of the motor controller 120 (e.g., from a user operating a keyboard, button, level, dial, etc.).
[0144] The motor controller 120 can then apply the MPLPT function block 905 to the desired control parameter. For example, the MPLPT function block 905 can implement a mapping of the input desired control parameter (eg, motor reference torque (T*)) to a target current value i* r,dq Alternatively, in some embodiments, the functional blocks 905 or the mappings 910 may be combined into a single piecewise affine mapping that maps an input desired control parameter (e.g., reference torque (T*)) to a target flux linkage value λ* according to the MPLPT. r,dq Additional details describing the MPLPT functional block 905 and the generation of its PWA map are provided below.
[0145] To determine the target motor control parameter value (eg, i*) based on the desired control parameter (eg, reference torque (T*)) using the PWA map of the MPLPT function block 905, r,dq ), the motor controller 120 may use the PWA map to convert the input to the output in a manner similar to that described above with respect to the PWA maps 220, 225. More specifically, to use the PWA map of the MPLPT function block 905, the motor controller 120 may identify a first domain corresponding to a desired control parameter (e.g., a reference torque (T*)) selected from a plurality of domains of the PWA map, wherein the first domain is associated with a first affine function of a plurality of affine functions of the PWA map. The motor controller 120 may then apply the desired control parameter (e.g., the reference torque (T*)) to the first affine function to determine a target motor control parameter value for each dimension in a set of dimensions of the rotating reference frame. For example, as described in further detail below, the PWA map of the MPLPT function block 905 may be defined as h PWA (T p ), where each function of the PWA map uses m j T p +i jThus, once the specific affine function of the PWA map is identified, the motor controller 120 can insert the reference torque (T*) into the identified function and solve to generate the target motor control parameter value.
[0146] In some examples, the output current value of the MPLPT function block 905 is an intermediate target motor control parameter value, which is then further converted to a (final) target motor control parameter value by the current to flux mapping 910. In other examples, such as Fig. 9A In the case where the controller 240 is a current-based controller rather than a flux-based controller, or in the case where the MPLPT function block 905 is configured to directly map the reference torque (T*) to the target flux value (λ*), the output current value of the MPLPT function block 905 is the (final) target motor control parameter value.
[0147] In block 965, the motor controller 120 controls the power switch network based on the current value and the target motor control parameter value. For example, the motor controller 120 may generate a control signal in a stationary reference frame to drive the motor 115 based on the difference between the target motor control parameter value (e.g., the flux linkage value output by block 910) and the flux linkage value for each dimension (e.g., the flux linkage value output by block 915). For example, the motor controller 120 may use a difference block 235 to determine the difference between each flux linkage value and the target flux linkage value for each corresponding dimension in a set of dimensions of the rotating reference frame (e.g., R, D, and Q dimensions, optionally the zero dimension). The difference value and the rotational position (θ) of the motor may be provided to the flux controller 240. The flux controller 240 may be, for example, a proportional integral derivative (PID) controller, a proportional integral (PI) controller, a lookup table, a model-based controller (e.g., implementing a model predictive control (MPC), as described in further detail below), or another control device. The motor controller 120 (eg, via the flux controller 240) may then generate a voltage command 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 may output a voltage command V f 、V d and V q (Also collectively referred to as V f,dq ).
[0148] The motor controller 120 can then transform the voltage command from the rotating reference frame to the stationary reference frame. For example, the motor controller 120 can transform the voltage command V using the inverse Clark-Park transformation block 245 f,dq Perform an inverse Clarke-Park transform to generate a voltage command V in the stationary reference frame f 、V a 、V b and Vc (Also collectively referred to as V f,abc ).
[0149] The motor controller 120 can then use the PWM generation block 250 to generate a pulse width modulated control signal for each dimension of the stationary reference frame to control the power switch network to drive the stator of the motor. For example, the PWM generation block 250 can implement and the motor controller 120 can access a corresponding lookup table for each of the stator phases and the rotor field windings, where the motor controller 120 provides a voltage command to the corresponding lookup table of the PWM generation block 250 (e.g., providing V to the lookup table for stator phase A). a , provides V to the lookup table for stator phase B b , provides V to the lookup table for stator phase C c , and provides V to the lookup table for the rotor field winding f ). The PWM generation block 250 can return control signal parameters (eg, duty cycle) for each stator phase and rotor field winding via a lookup table.
[0150] Then, finally, as part of block 965, the motor controller 120 may provide a control signal to the drive circuit 110 based on the control signal parameters (e.g., at a specific duty cycle indicated by the voltage command), the control signal including the stator drive control signal D a , D b , D c (Also collectively referred to as D abc ) and the rotor drive control signal D f (Sometimes called D r ). These control signals may be applied to control terminals of the power switching elements of the stator drive circuit 205 and the rotor drive circuit 210 of the motor drive circuit 110. For example, the control signal D may be provided to the stator drive circuit 205. abc To control its power switch element, and provide a control signal D to the rotor drive circuit 210 f To control its power switching elements.
[0151] When in the motor operation mode, based on the control signal, the motor drive circuit 110 is controlled to apply power from the power supply 105 to the motor 115 to drive the rotation of the motor 115. Similarly, when in the generator operation mode, based on the control signal, the motor drive circuit 110 is controlled to apply electric power from the motor 115 to the power supply 105 (e.g., to charge the power supply) and / or another electric load. MPLPT Problem Statement
[0152] As noted, the goal of the MPLPT block 905 is to make the loss π l(i, λ) is minimized, the loss π l (i,λ) can include winding (copper) losses π lc (i, λ) and core loss π lcr The output of the MPLPT block 905 may be a reference current i* (e.g., Fig. 9A ) and / or the reference flux λ*. The winding losses can be defined as π lc (i, λ)≈i T Ri, and the core loss can be defined as π lcr (i,λ)≈ω 2 λ T Gλ, where i is current, λ is flux, T is torque, R is a matrix defining the winding resistances approximating DC and (skin effect and proximity effect) AC winding losses, and G is a matrix defining the core conductances approximating (eddy current and hysteresis effect) core losses. The problem (MPLPT equation) solved by the MPLPT block 905 can be stated as follows: For a torque reference T*, and assuming that copper losses dominate the core losses, the MPLPT reference current i* and reference flux λ* are: by g(λ)=i, constraint The electrical loss π lG (i, λ) is the objective function to be minimized (as noted, in other examples, the objective function to be minimized may be more generally a loss π l (i, λ)), subject to the following constraints: g(λ)=i and here, The relationship between the flux linkage and voltage of the motor may be defined such as by the following voltage equation for a WFS motor with a neutral point isolated machine (without zero axis flux and current and without a damper winding):
[0153] Additionally, g(λ)=i may define the current-flux relationship of the motor, such as defined by, for example, a current-flux map φ(·), which may be obtained using finite element analysis (FEA) or experimental measurements. An equation that may be used to relate current to flux linkage in a WFS motor without saturation has the form λ=Li+ψ, where L is the inductance matrix and ψ is the flux offset vector:
[0154] at last, Constrain the quadratic torque function to a specific reference torque of interest
[0155] all The solution set (where T is the set of permissible machine torques) will be the current Magnetic Flux Torque and power consumption A collection of , where:
[0156] It can be combined as:
[0157] Since the function π lc (i, λ), τ p (i, λ) and the state-space model equation g(λ)=i, this optimization problem is difficult to solve. Therefore, There is no analytical solution.
[0158] This formula already takes into account saturation and cross-saturation within the machine, since the data points include i and λ together. Therefore, the change in inductance L throughout the machine is also modeled. Another dimension that can be added to the data set through experimental measurements or FEA analysis is the variable resistance matrix R. If the diagonal entries in the matrix R increase at the same rate with temperature, then the solution set Γ may remain the same, however, losses may be higher. MPLPT quantitative solution
[0159] In this section, a quantitative solution of the MPLPT problem is provided assuming low speed operation of the motor 115. Under these conditions, copper losses dominate relative to winding losses, and the machine is operated below base speed (ie, without field weakening).
[0160] Taking a large sample of random experimental or simulated data points can produce an approximate solution to the MPLPT optimization problem above (i.e., [i * ,λ * ] = argminπ lc (i, λ), subject to the constraints). The data points of the FEA simulation will have current i and flux λ, while the experimental data points will have known current i and approximated flux λ using a flux linkage mapping approximation (e.g., via a current-flux mapping φ(·)). These points can be approximated using τ(i, λ) and p i (i, λ) is directly mapped to the torque per pole pair T p And power consumption P l, or use τ p (i, λ) = τ(i, λ) / p = i T Jλ, and π lc (i, λ)≈i T Ri is directly mapped to the torque per pole pair T p and copper loss π lc (i, λ).
[0161] The set of all experimental data points is expressed as: where a single point Γ j It has four components (torque per pole pair, power consumption, current, and flux). The value of each component at each point can be expressed as Γ j,k , where j is the component and k is the index of the value. For example, Γ 1,1 is the torque of the first data point. The set of only one component (e.g. torque) for all points can be expressed as Γ 1,k , and the set of all components for a value (such as the first value) can be expressed as Γ j,1 .
[0162] The data points can be classified according to their power consumption Γ 2,k and the inverse torque on Γ to plot to see which points are optimal.
[0163] From the set of all data points, there will be Pareto optimal or efficient values. That is, there is some subset of all values that are most efficient for a given neighborhood. This subset, and the neighborhood of each member of the subset, can be identified as the Pareto frontier or "Pareto optimality," which is defined as the number of values that cannot be added without increasing Γ. 2,k Further reduce Or it cannot be reduced In the case of further increasing Γ 2,k The set of all Pareto optimal points is called the Pareto frontier. The Pareto frontier of the WFS motor can be expressed as Γ p The Pareto front points Γ generated by this method will have a unique torque. p can be considered as existing in the three-dimensional current space Candidate points for the general MPLPT function in .
[0164] The line connecting all Pareto optimal points is not necessarily convex. Accordingly, the new set Γ c is defined as the largest subset of Pareto optimal points that creates a convex piecewise linear function when adding line segments between the points.
[0165] Corresponding to the minimum torque T p,min∈T p Point Γ j,x Will always be in Γ c , because the minimum torque point occurs at zero loss, and no point can have negative losses. In addition, corresponding to the maximum torque T p,max ∈T p Point Γ j,x will also always be in this set, since no matter what the losses are, there is no point where it can have a higher torque.
[0166] Connecting the 3D current space All adjacent points in Γ c The curvature of a set of lines is not necessarily convex. The new set Γ cc is defined as the maximum Γ that creates a convex piecewise linear function when creating line segments between points and grouping them in current space c Point subset. cc represents the piecewise linear function created in two dimensions Space and 3D is convex in space. According to these definitions,
[0167] because Γ The point in is the MPLPT optimal, and Γ c The point in is not, so under the same torque Γ c The loss of a point in will always be greater than or equal to Therefore, Γ c Can include Γ The point in exist Fig. 10A The set Γ, Γ is shown in p , Γ c , Γ cc and Γ The relationship between Fig. 10B The power consumption of these sets is shown in 2,k and reverse torque Example points on the axis of .
[0168] Connect the convex Pareto optimal points Γ with line segments c This will produce a better torque and power consumption trajectory than using any of the internal Pareto optimal points. cc The points in Γ will produce torque and power consumption trajectories that are not as optimal as using any of the internal Pareto optimal points. Using straight line segments to connect the Pareto optimal points is an effective approximation for densely sampled points. In some examples, Γ c Neighboring points in are within a minimum ∈ Euclidean distance of each other in order to be considered close enough to approximate the line between them. If two points are not close enough to meet this requirement, more points are simulated or measured.
[0169] Generating a convex Pareto front can be obtained using a modified divide-and-conquer algorithm for the solution set and repeated to obtain Γ cc . We can use piecewise affine mapping to transform the two-dimensional Using Γ in space p , Γ c and Γ cc The created line segment is linked to the 3D The current space is modeled. Each set can have unique attributes.
[0170] The above description is only one technique for selecting significant data points as a subset of all data points. In other examples, other techniques are used to perform such subset identification. Regardless of the selection algorithm, a PWA or equivalent mapping technique can be constructed from the resulting subset. Piecewise Affine Mapping (PWA) of MPLPT
[0171] In some examples, a piecewise affine (PWA) map or function is used to represent the approximate MPLPT solution path. The PWA map divides the nonlinear map into M domains over which the function can be linearized. Torque Domain Γ 1,k Partitioned into torque area T j , but can be equivalently partitioned into power dissipation regions. Moving forward, points in this space are interchangeably described as torques T p,k Or equivalently described as Γ 1,k Similarly, the current domain Γ 3,k Will be partitioned into current region I j , and the current can be determined by i k or Γ 3,k Therefore, we define the PWA torque to current mapping or MPLPT function h(T p ) is expressed as: Where i = m j T p +i j is to convert the torque-power consumption point T∈T j Mapped to current point I∈I j The affine equation of I j It is the domain T j The torque simplex covers the full range of machine torques, or T1∪T2, ...T M = T. The affine map is defined by the three-dimensional current slope and the current offset. Fig.11 The points used to create h(T) can come from the set Γ defined above. p , Γ c and Γ cc , and can be expressed as h p(T), h c (T) and h cc (T). The process of using these points to create h(T) is described next.
[0172] As mentioned before, the PWA map partitions the original domain into M sets. Each subset is defined as a simplex, which is the simplest possible polyhedron in any D-dimensional space and a line segment in a single dimension for a given problem. A D-dimensional simplex can be defined as the convex hull of its D+1 vertices (called a V-symbol); alternatively, a simplex can be defined by its faces (called an H-symbol) defined by affine inequalities: in Each torque simplex This forms the domain of affine maps that map to the current simplex: in Defining the general position of the set of measurement points (convex) means that the vertices of each simplex are linearly independent and full-dimensional (non-degenerate). Fig.11 An example simplex linked in two spaces is shown in . Each line segment Defined by two vertices, one of which is T j0 are support vectors, so that the origin can be moved
[0173] In the shifted dimension, the simplex is defined as: in in spans the simplex. Furthermore, the current space is shifted in the same way, This leads to simplicity in in Crossing the simplex. Fig.12 The middle figure shows the simplex with D=1 and the shift of the origin.
[0174] The non-zero vertices can be interpreted as a basis, and since affine mappings are isomorphic, the relative positions of the vectors in the current and flux simplexes are the same:
[0175] The a coefficient can be obtained similarly to how the relative on-time is calculated in space vector modulation (SVM). Projected onto Base:
[0176] The relative length of the vector is obtained by dividing the magnitude of the projection by the magnitude of the basis vector:
[0177] To find the current vector Compare a with Multiply the basis vectors by:
[0178] The coefficients a in these equations can be set equal to obtain:
[0179] Then, solving for i yields the linear map i=m j T+i j in and i=i j0 -m j T j0 .exist Fig.12 A visualization of this map is shown in . Example Experimental Results of MPLPT Control
[0180] In the following relative to Fig.13 An example 65kW WFS motor with a cross section shown and including the following characteristics describes the experimental results of a simulation implementing MPLPT control:
[0181] This experimental example is provided with respect to the MPLPT path from the most negative machine torque to the most positive machine torque. In this case, the motor has a torque range of 0 Nm / p to 112 Nm / p, and a copper loss range of 0 kW to 3.23 kW. Fig.14A The left figure shows the point set Γ and the Pareto front set Γ collected using the FEA simulation data of the WFS motor p ,and Fig.14A The right figure of shows the corresponding three-dimensional MPLPT currents that would be candidate points for MPLPT. This example has too many Pareto optimal points Γ p , and cannot all be used in the MPLPT path.
[0182] Fig. 14B The resulting Pareto convex point Γ is shown in e More specifically, Fig. 14B The left figure shows the simulated point Γ and the convex Pareto optimal solution Γ e ,and Fig. 14BThe right figure of shows the corresponding three-dimensional MPLPT currents that will be used to construct h(T). Applying the PWA map h(T) to the set of Pareto convex points yields Fig. 14C The piecewise linear function shown in . In this case, the function h(T) follows an occasionally jagged but essentially smooth curve. The distances between points are different. There is a Γ that creates a PWA map e There are 60 points and 59 line segments in it.
[0183] Further filtering of the points in c or filtering out the points in c in different ways to produce different h(T) can be implemented to obtain certain characteristics of the MPLPT path, which may include: convexity, smoothness, etc. Costs can be assigned to distances between points, angles of adjacent line segments, and other parameters. The selected technique used in this first simulation study strictly minimizes power consumption of torque without considering other potentially desirable characteristics of the MPLPT path. However, in other examples, other techniques are used so that other characteristics of the MPLPT path are considered.
[0184] Use with Fig.13 Additional experimental results from further simulations implementing MPLPT control were performed for the same example 65kW WFS motor of the cross section shown in . The motor was again modeled computationally using the finite element method (FEM) and analyzed using finite element analysis (FEA) to generate a complete set of data points Γ. The set Γ was then obtained in post-processing by the techniques described above p , Γ c , Γ cc .exist Fig.15A Two-dimensional Space and Fig. 15B The three-dimensional (Γ 3,k ) space. Most of the points in the FEA analysis are not in these sets. Of the 57288 data points generated, the size of these sets is |Γ p |=403,|Γ c |=60,|Γ cc | = 47 or less than 1%. Using Γ p , Γ c , Γ cc The resulting MTPA function is for the “linear” MTPA (h lin (T p )) and for cubic spline interpolation MTPA (h spl (T p )) is evaluated, the “linear” MTPA (h lin (T p )) is the linear trajectory of the maximum torque point and the origin (in the current domain). The cubic spline interpolation MTPA (hspl (T p ))Use Γ cc , but they are cubic spline interpolation rather than piecewise affine interpolation.
[0185] Further experiments were performed using the WFS motor test bench. The motor test bench was configured to use Fig. 9A These five h(T p ) function (i.e. h p (T p ),h c (T p ),h cc (T p ),h lin (T p ) and h spl (T p )) were converted into controller code and evaluated on a Texas Instruments TMS320F28379D real-time microcontroller to test their computation time and memory size. In the PWA formula, if N points are used to create each h(T p ) function, N-1 lines (or N-1 subfields) are used; therefore, the memory size will be (coefficients plus boundary conditions). Cubic spline interpolation requires twice as much memory because it must store four coefficients (cubic polynomials) instead of two. PWA h(T p ) has two components: a (cold start) search of Nlog(N) time and two floating point operations. spl (T p ) will use the same search, but will require six floating point operations via Horner's method and will therefore take three times as long; both are Computation time. As more inputs and outputs are added, the complexity of cubic spline interpolation tends to increase to twice that of PWA. Function h lin (T p )have The computation and memory size are very inaccurate, but a summary of the MCU performance is shown in Table II. The timing of other control operations of the control loop is shown in Table III.
[0186] For real-time evaluation, several tests were performed. The first test involved the WRS motor being rotated at a fixed speed of 1000 rpm using a coupled industrial drive. The WRS motor applied a variable torque step of 0.5-44 Nm, following a torque reference over a period of 120 s. The experimental MTPA function used was h lin . By h p (T p ),h c (T p ) and h cc (T p )(and h spl (T p )) The MTPA reference generated offline is Fig. 15C , and applied to the requested torque in post-processing. A drive cycle simulating the operation of a passenger vehicle was also performed, where a reference speed trajectory was applied and a coupled industrial drive simulated the nonlinear torque loads due to vehicle dynamics. This experiment is useful to show the operation of the MTPA function under dynamically changing speeds and torques, including negative torque operation. This is shown in Fig.15D The torque is shown in q Symmetric, so the mapping h p (T p ),h c (T p ),h cc (T p ) and h spl (T p ) can be obtained by entering a negative value for the requested torque -T p , and then use -i at the output of the function q Replace i q to handle negative torque. Finally, Fig.15E A close-up of the torque step showing the transient behavior of the controller and the MTPA function is shown in .
[0187] In each experiment, the linear MTPA function h lin (T p ) performs the worst, in some cases incurring up to 70% additional copper losses. This comes at the expense of extremely fast computation speed and very low memory size.
[0188] Function h p (T p ),h p (T p ) and h cc (T p ) have different properties that are useful for different applications. The average copper losses are shown in Table IV. As expected, the function h c (Tp ) performs better than h p (T p ) and h cc (T p ), although all three are within 1% of each other. The PWA MTPA function outperforms the cubic spline function h spl (T p ), but at the expense of loss of smoothness in I.
[0189] Because h(T p ) function is a piecewise linear approximation of Γ, so there will be errors in the generated current. This error can be calculated by p (expected torque) and from τ p (h(T p )) is compared to quantify the torque obtained, where i = h(T p ) is the set of current references. Function h c (T p ) and h cc (T p ) in T p >10Nm / p has the smallest error, and h p (T p ) has very low error in all torques. Spline MTPA h spl (T p ) and linear MTPA h lin (T p ) limits the PWA interpolation to a torque error. This error also appears in Fig. 15C , Fig.15D and Fig.15E In each of the torque graphs.
[0190] Finally, each h(T p ) is different. The function h p (T p ) is sawtooth-shaped, and even small changes in torque can produce large current differences (such as Fig. 15C ). Function h cc (T p ) is the least jagged and has the property of being convex in I. The function h c (T p ) is a compromise between the two.
[0191] In summary, each of the PWA MTPA functions performs well in terms of memory, computation time, average copper loss, and torque error. p (T p) has a particularly low torque error, function h c (T p ) has a particularly low average copper loss, and the function h cc (T p ) has a particularly fast computation time, requires a particularly small memory footprint and is convex.
[0192] In contrast, the two reference MTPA functions tend to operate at two or more standard extremes. For example, the function h lin (T p ) has fast calculation and small memory, but has very high error and very high average copper loss. In addition, the function h spl (T p ) has low torque error but slow calculation time. MPC controller for WFSM using (multiple) PWA maps
[0193] In some examples, the motor system 100 implements a model predictive controller. Motors (particularly WFS motors) can have strong nonlinear coupling between the direct (d) and rotor (r) dimensions. Some electronic machines use ferromagnetic materials to maximize and guide flux. Such machines tend to operate in a nonlinear magnetic regime overall and exhibit saturation and cross-saturation. The relationship between current and flux is modeled using a magnetic model (MM), which can also be referred to as a flux map. Such maps tend to be linearized and expressed as an inductance or transfer function for motor control. The motor controller can use an explicit or implicit MM as part of its control scheme.
[0194] Offline MM can measure the inductance at various operating points using one or a combination of finite element analysis (FEA), analytical calculations, and experimental values. Some WRS motor controllers use linearized offline MM, which can include sliding mode control, maximum torque, passivity-based control, and predictive DC control. It is much simpler to capture nonlinear flux using online estimation methods. Some examples include Kalman filters, flux observers, and iterative numerical solvers. However, with online methods, estimation and advanced control may require additional microcontroller resources and / or computation time to complete the closed-loop control cycle.
[0195] As provided in some examples herein, PWA functions can be used to construct an offline MM lookup table (LUT) to capture nonlinear flux. These PWA functions simplify the state-space equations to linear, thereby reducing computation time. The saved computation time can be used instead to solve a constrained finite-time optimal control (CFTOC) MPC problem. Accordingly, in some examples, a motor controller is provided that implements MPC control using PWA functions that simplify the MPC state-space equations to linear.
[0196] Fig.16 A specific example of an electric machine system 100 is shown, identified as electric machine system 1600, according to some embodiments. Figure 1 , Figure 2 and Fig. 9A The description of the components applies similarly to Fig.16 , sharing the same reference numeral or name, unless otherwise provided herein. For example, the motor controller 120 is again illustrated as a collection of functional blocks having corresponding inputs and outputs. Each of the functional blocks may be implemented by a dedicated hardware circuit of the electronic processor 125 of the controller 120, by software or instruction blocks stored in the memory 130 and executed by the electronic processor 125, or a combination thereof. The motor drive circuit 110 is further illustrated as including a stator drive circuit 205 and a rotor drive circuit 210. The motor 115 is illustrated as a WFS motor having a three-phase stator and a rotor field winding (R), the three-phase stator having phases (A, B, C), and the motor system 1600 is primarily described with respect to the WFS motor. However, in other examples, the motor 115 is a permanent magnet synchronous motor, a hybrid synchronous motor, or another motor type. When the motor 115 is a permanent magnet synchronous motor, the motor 115 does not include a rotor field winding (R), and accordingly, the rotor drive circuit 210 may not be included, the motor controller 120 may not sense or control the current passing through the rotor field winding (R), and the control block of the motor controller 120 may not receive, process or generate a rotor field component.
[0197] and Figure 2 on the contrary, Fig.16 The motor system 1600 includes an MPC control block 1605, as described in further detail below. In addition, the current to flux mappings 1610 and 1615 can be implemented as described above with respect to Figure 2 The described piecewise affine mapping may be implemented by other mapping functions (e.g., a lookup table, a function executed in real time, etc.). Furthermore, in some embodiments, the input desired control parameter (e.g., motor torque (T*)) is converted into a target current value i* r,dq The functional blocks or mappings 1620 may be implemented as Fig. 9A The MPLPT function block 905 described above (which can be implemented to map an input desired control parameter (eg, motor torque (T*)) to a target current value i* r,dq In addition, the functional blocks or mappings 1610 and 1620 can be combined into a single piecewise affine mapping that maps an input desired control parameter (e.g., motor torque (T*)) to a target flux linkage value λ*. r,dq .
[0198] Additionally, in some embodiments, the controller blocks within controller 120 may implement current-based motor control rather than Fig.16 For example, the current-to-flux mappings 1610 and 1615 may not exist in the controller 120, and the target current value i* r,dq And the measured current value i r,dq can be provided to the differential calculation block of the controller 120. Then, the differential calculation block of the controller 120 can indicate the target current value i* r,dq The measured current value i r,dq The difference between the difference between Fig.16 1605 is provided in place of the flux controller block as shown in FIG. Whether flux-based or current-based, the MPC controller block 1605 (and therefore the motor controller 120) can then generate a voltage command for each dimension in the set of dimensions of the rotating reference frame based on the received difference and the rotational position (θ) of the motor. For example, the flux controller can output a voltage command V f 、V d and V q (Also collectively referred to as V f,dq or V r,dq ). The voltage command can then be used similarly to the above description of Figure 2 The motor is controlled as described (eg, via the inverse Clarke-Park transform block 245, the PWM generation block 250, and the motor drive circuit 110).
[0199] Fig.17 The diagram shows a process 1700 for controlling an electric machine using a model predictive control technique. The process 1700 is described as comprising Fig.16 However, in some embodiments, process 1700 may be implemented by another motor system, such as motor systems 100, 900, and / or 1800. In addition, although the blocks of process 1700 are illustrated in a particular order, in some embodiments, one or more blocks may be partially or completely executed in parallel, may be executed in a different order than the first block. Fig.17 The order shown is executed or may be bypassed.
[0200] In block 1705, the motor controller 120 determines current values of the motor 115 in a rotating reference frame, such as an RDQN reference frame or a rotor-α-β (rαβ) reference frame. Each current value is associated with a dimension (or axis) in a set of dimensions of the rotating reference frame. For example, in the RDQN reference frame, the set of dimensions includes R (or field (f)), D, and Q dimensions (e.g., i f 、i d 、i q , also known as i f,dqAs another example, in the rαβ reference frame, the set of dimensions includes the r (or field (f)), α, and β dimensions (e.g., i f 、i α 、i β , also known as i f,αβ ). In some examples involving MPC control, the rαβ reference frame can be used instead of the RDQN reference frame because in the rαβ reference frame the state equations have no dependence on the velocity ω and are linear.
[0201] For example, to implement block 1705, motor controller 120 may determine electrical operating characteristics of motor 115 in a stationary reference frame; determine a rotational position of motor 115 (e.g., a rotor of motor 115); and transform the electrical operating characteristics and the rotational position into a current value of motor 115 in a rotating reference frame. For example, to determine the electrical operating characteristics and the rotational position of the rotor of motor 115 in a stationary reference frame, controller 120 may receive current measurements from current sensor 255, which is configured to sense the stator windings (e.g., i a 、i b 、i c , also collectively referred to as i abc ) and the current of each phase of the rotor winding (e.g., i f , sometimes referred to as i r ). The controller 120 may also receive a rotational position measurement (θ) 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 rotating motor position. For example, the controller 120 may use a "sensorless" design to determine the rotor position, for example, by detecting zero crossings, peaks and / or valleys of a back electromotive force (emf) signal on the stator winding to infer the rotor position. In addition, the controller 120 may calculate current values based on voltage measurements on the stator windings and / or (multiple) rotor windings provided by voltage sensors. In order to transform the electrical operating characteristics and rotational position into current values of the motor in the RDQN rotating reference frame, the motor controller 120 may transform the determined current i of the motor 115 via the Clark-Park transformation block 215. abc The motor controller 120 (e.g., in the transformation block 215) can also perform an inverse Park transform on the current value in the RDQN rotating reference frame (e.g., by multiplying the current value by the inverse Park transform matrix (P -1 )) to obtain the current value in the rαβ reference frame. In some examples, the Clarke-Park transformation block 215 can be a Clarke transformation block that directly transforms the determined current I (by applying a Clarke transformation matrix) abcand the rotational position (θ) to generate the current value of the motor 115 in the rαβ reference frame.
[0202] In block 1710, the motor controller 120 determines a target motor control parameter value for each dimension in the set of dimensions of the rotating reference frame based on the desired control parameter. For example, the motor controller 120 may receive the desired control parameter in the form of an input command or reference value, which may indicate a desired motor torque value (T*) or a desired motor speed (ω). The desired control parameter may be retrieved from a memory (e.g., memory 130) or received via an input / output device of the motor controller 120 (e.g., from a user operating a keyboard, button, level, dial, etc.).
[0203] The motor controller 120 can then use the reference generation block 230 to transform the desired control parameters into target current values for the motor in the rotating reference frame (e.g., i* f,dq or i* f,αβ ). For example, the motor controller 120 may use a reference generation block 230 in the form of a lookup table (e.g., stored in the memory 130) that maps potential values of the desired control parameter T* to target current values. The lookup table may be pre-populated based on experimental data. The motor controller 120 may then determine a target flux linkage value for each dimension in the set of dimensions of the rotating reference frame based on the target current values using a piecewise affine (PWA) map 225. The motor controller 120 may use the PWA map 225 to determine a target flux linkage value based on a target current value in a manner similar to that the PWM map 220 is used to determine a flux linkage value based on a current value. Fig.17 The two PWA maps 220 and 225 illustrated in may be duplicate PWA maps, or the motor controller 120 may use one PWA map for both actual and target values (ie, although two PWA maps are illustrated, in some embodiments, one shared PWA map is included instead).
[0204] In some examples, the reference generation block 230 is implemented as described above with respect to Figure 9A-9B In such cases, the motor controller 120 may apply the MPLPT function block 905 to the desired control parameter. For example, the MPLPT function block 905 may implement mapping the input desired control parameter (e.g., the motor reference torque (T*)) to the target current value i* r,dq Or mapped to the target flux value λ* r,dq The piecewise affine (PWA) mapping of Figure 9A-9B described.
[0205] In some examples, the output current value of the reference generation block 230 is an intermediate target motor control parameter value, which is then further converted to a (final) target motor control parameter value by the current to flux mapping 225. In other examples, such as Fig.17 In the case where the controller 240 is a current-based controller rather than a flux-based controller, or in the case where the reference generation block 230 is configured to directly map the reference torque (T*) to the target flux value (λ*), the output current value of the reference generation block 230 is the (final) target motor control parameter value.
[0206] In block 1715, the motor controller 120 controls the power switch network based on the current value and the target motor control parameter value by using a piecewise affine mapping defined by solving a model predictive control algorithm offline using sample inputs. For example, in some scenarios, the MPC controller 1605 implements a model predictive control (MPC) algorithm to generate a control signal (e.g., a voltage command (V )) based on the difference value (e.g., λ*-λ) received from the differential operation block 235 and the rotational position (θ) of the motor. r,dq )). The difference value indicates the difference between the target flux value (λ*) output by the PWA map 1610 and the flux value (λ) output by the PWA map 1615. The control is based on at least the current value and the target motor control parameter value because the MPC controller 1606 generates control based on the flux value (λ), which is based on the current value (e.g., i r,abc 、i r,dq ) and is determined based on the target flux value (λ*) (target motor control parameter value).
[0207] The MPC algorithm includes an MPC optimization problem or equation, as described in further detail below. In some examples, the MPC controller 1605 implements "explicit MPC". In such examples, the MPC optimization problem is solved offline prior to executing process 1700, and a control law is generated therefrom and stored on the MPC controller 1605. Then, in box 1715, the control law is accessed and implemented during real-time operation of the motor 115 to control the motor 115. For example, the MPC optimization problem is solved offline for all or a subset of the possible inputs (e.g., as described below), and then used to generate a piecewise affine map ("MPC PWA map"), which is stored on the controller 120 (e.g., as part of the MPC controller 1605) prior to operation of the motor. The MPC PWA map defines multiple domains, each domain having an associated control law. The MPC controller 1605 receives measurements (e.g., received differences and the rotational position (θ) of the motor) in real time during operation of the motor, which indicates which domain of the MPC PWA is active. Thus, the MPC controller 1605 identifies the active domain and the feedback control law associated with the active domain. The MPC controller 1605 then generates a control signal (e.g., a voltage command (V r,dq )).
[0208] In some examples, explicit MPC provides a feedback control law as an MPC PWA mapping of the form: For D i For all x(k),u(k)=-K i x(k)+F i , Where K i and F i Describes the domain D applicable to the i-th PWA i The MPC statement can be reduced to this PWA form using typical mathematical strategies, such as by using a parametric solver (e.g., Multi-Parameter Toolbox (MPT)).
[0209] In other examples, the MPC controller 1605 solves the MPC optimization problem online (i.e., in real time during operation and control of the motor 115) to generate the control signal. For example, the MPC controller can solve the MPC optimization problem online analytically (e.g., using an unconstrained MPC formulation) or numerically (e.g., using a real-time numerical solver such as a gradient method or a Newton solver).
[0210] As described above, the MPC controller 1605 can implement flux-based control or current-based control. In some embodiments, the MPC controller 1605 can implement mixed current and flux-based control. For example, the cost function of the MPC optimization problem or part of the MPC can be formulated in the flux and / or current domains and include the PWA map as an equality constraint in the optimization problem.
[0211] Although the controller blocks of the motor controller 120 (eg, flux controller, current-based controller, MPC controller 1605) in the various embodiments provided herein are described and illustrated as receiving a difference value (eg, target flux value λ* r,dq and the measured magnetic flux value λ r,dq The difference between the target current value i* r,dq The measured current value i r,dq The difference between ), but in some examples, the controller block receives the reference value and the measured value, and the difference calculation is integrated into the controller block, for example. In other words, Figure 2 , Fig. 9A and Fig.16 The difference calculation block shown in can be part of the controller block and its control algorithm, or the algorithm can be adjusted to take into account the measured value and the reference value without the need for an explicit difference calculation between the two values. MPC Algorithm
[0212] Model Predictive Control (MPC) or Receding Horizon Control (RHC) is a control technique that involves solving a constrained finite-time optimal control (CFTOC) problem, which finds the minimum cost path from a start state to an end state. In this CFTOC problem, the rαβ reference frame form of the machine equations can be used, since the state equations do not have an ω dependence on speed and are linear. Accordingly, in this section, unless otherwise stated, it can be assumed that the flux λ, current i, and terminal voltage is in the rαβ reference frame form. In this CFTOC problem, the (discrete time) state equation f is Where T s is the sampling period, is the terminal voltage, and the (discrete time) output equation g is: g raβ =P -1 (θ)φ -1 (P(θ)λ rαβ ) where φ -1is the flux-to-current map (e.g., a FEA-generated or PWA flux-to-current map, as described previously), λ is the flux, θ is the rotational position of the motor, and P is the Park transform.
[0213] RHC provides optimal input to the equipment by: Calculate the time it takes to reach the desired state λ from the starting state λ0 in N time steps N The input set V 0→N Then select the first value of the set. N is called the horizon length. The known state variable at the current time k is denoted as λ(k), and the calculated future state variable at time k is denoted as λ k , the state predicted at time t+k calculated at time k is denoted as λ t+k|k t+k|k. The same notation applies to the input It is also effective.
[0214] Input The input trajectory of length N starting at is represented as a set:
[0215] The starting state is denoted as λ0, and the values of the input and state at the end of the trajectory are denoted as λ N .
[0216] The cost J of a given trajectory o It can be calculated by the following formula: where λ k and are the states and inputs at some time k in the trajectory. The cost function has two components. The first component is called the “terminal cost” and is expressed using the matrix Based on the final state λ N The second component is called the “stage cost” and is calculated using the matrix to penalize the sum of state changes in all steps.
[0217] In some examples, an additional term called “input cost” The sum of the changes in the input across all steps used to penalize. When using a voltage source inverter, we can set R = 0, since changing the terminal voltage may not be associated with any significant disadvantage, so this term is not included.
[0218] The CFTOC problem can be defined as: Requirements: λ N ∈Λ f , λ0=λ(0) Among them J o * is the optimal cost or value function, Λ f is the final magnetic flux λ N The terminal region that must be in at step N, and λ0 is the defined starting state, which is the same as the known state currently in λ(0). f The simple definition is the distance from the desired state λ * The area within a certain ∈ distance,
[0219] If V 0→N is compact and and is continuous, then there is at least one optimal cost and trajectory. The optimal output trajectory of this problem is expressed as:
[0220] At t = 0, the first solution of the trajectory is the input to the system; at t = 1, the CFTOC problem is solved again, and the first input of the new trajectory is the input to the system. This process repeats infinitely:
[0221] In each case, the time domain length is N time steps before the current time. Thus, the time domain is constantly moving forward in time, or "backward" from the current perspective.
[0222] The optimal input after solving CFTOC The RHC control law associated with the state λ(t) is expressed as in
[0223] By taking the control law for any positive time k (expressed as c k ) and system equipment Combined, the closed-loop control equation c cl for
[0224] In some examples, the CFTOC problem (i.e., the optimal cost or value function J o *(λ(t))) is solved using the Multiparameter Toolbox 3.0 (MPT3), which is designed for solving MPC with PWA system functions. Fig.16 As shown in , in some examples, the measured state flux λ is calculated using the feedback current i and the PWA map 1615. The MPT3 solver can solve the CFTOC problem using a linear complementary problem (LCP) solver that can solve linear problems (LP) and quadratic problems (QP). The output provided by the MPT3 solver can be the aforementioned MPC PWA function. The MPC PWA function can have a different function for each combination of active and inactive equality constraints.
[0225] Simulations of the MPC controller 1605 controlling a 65 kW WFS motor illustrate that the described MPC controller 1605 is feasible and implementable for both speed-based control and torque-based control of a WFS motor. PWA Mapping for Permanent Magnet Synchronous Motors
[0226] As described above, in some embodiments, the motor 115 is a permanent magnet (PM) synchronous motor. In other applications, PM synchronous motors can be used in high energy density applications due to their high efficiency and mechanical simplicity. For example, permanent magnet synchronous motors have been used in the automotive field, including for electric and all-electric air propulsion drives. The controller performance of a PMS motor may depend on the accuracy of machine parameters, such as stator inductance, stator resistance, and permanent magnet (PM) flux. These parameters can change in real time and have dependencies on temperature, position, and current. For example, stator resistance increases nonlinearly with temperature, PM flux may decrease (demagnetize) at high temperatures, and stator inductance saturates at high currents. The controller can use online parameter estimation, offline parameter lookup tables (LUTs), or a combination thereof to account for these changes.
[0227] Online parameter estimation can use real-time feedback of the drive system to estimate parameters. Feedback can include current, voltage, speed and position. Online parameter estimation methods include backward time domain estimation, recursive least squares, neural networks, and extended Kalman filters. Offline parameter LUTs can use data from machines of analytical calculations, FEA analysis and experiments (or combinations thereof) to approximate the parameters of various operating points of a given machine. Depending on the parameters and applications, data points are interpolated in various ways to produce various desired properties. In general, online parameter estimation requires more computing time than offline LUTs, but is more accurate during the life of the motor (or associated vehicle) by detecting degradation and partial failures in the machine. Online parameter estimation can use more sensors or sensorless technology than offline LUTs. In addition, systems using offline parameter LUTs can occupy more memory (e.g., on the digital signal processor (DSP) of the motor controller) and can work with fewer sensors.
[0228] In some examples provided herein, a virtual flux motor controller for controlling a PM synchronous motor is provided, which relies on a flux linkage magnetic model of the PM synchronous motor. The flux linkage exhibits saturation and cross-saturation at high currents, introducing nonlinearity into the machine model. The virtual flux motor controller can regulate the flux of the machine by using a field-oriented control such as, for example, model predictive control (MPC). As further described in detail herein, the virtual flux motor controller can use a piecewise affine (PWA) flux linkage magnetic model, also referred to as a PWA mapping or function, which locally linearizes the inductance and flux offset of the machine. Accordingly, the magnetic model and therefore the state space model of the system can be linear while capturing saturation effects, thereby achieving robust control and efficient operation. The magnetic model of the PM synchronous motor can be constructed using a PWA function. The magnetic model can allow the use of a virtual flux model predictive control (VF-MPC) motor controller, which also takes into account the saturation and cross-saturation effects in the MM. The model can be created using data points simulated by FEA and can be verified with experimental data points. Additionally, in some examples, as described herein, irregular grid points (e.g., in a maximum torque per ampere (MTPA) range, a derated range, or a full current range) can be used to optimize the model, which can result in lower average and maximum flux errors. In one example, using only 40 irregular grid points provided an average flux error of less than 1% and a maximum error of less than 2%. Compared to the regular gridded model, this result represents a reduction of about 5-10% and about 80-100% in average and maximum flux errors.
[0229] As described above, in some embodiments, the motor 115 is a permanent magnet (PM) synchronous motor. Figure 1 , Figure 2 , Fig. 9A and Fig.16 The motor 115 shown and described may be a PM synchronous motor. In such embodiments, the rotor of the PM synchronous motor includes permanent magnets and does not include an energizable field (in contrast to a WFS motor, and in contrast to a hybrid WFS motor having a rotor with at least one permanent magnet and at least one energizable field). Accordingly, in such embodiments, the motor drive circuit 110 may not include the rotor drive circuit 210, but may still include the stator drive circuit 205. Additionally, the monitored or determined rotor field characteristics (e.g., i r , r ), rotor field control related variables (e.g., v r , D r ) and corresponding parts of the controller 120 that are used to determine or generate these rotor field elements to determine or generate these rotor field elements. For example, Fig. 9ABlocks 905, 910, 915 may not receive i r Or output i r 、i* r , r ,λ* r , the flux controller may not receive λ* r -λ r Or output v r , and the PWM generation block may not receive v r Or output D r When using PM synchronous motors, similar modifications can also be found in Figure 2 and Fig.16 in the system shown.
[0230] Fig.18 Also disclosed is an electric machine 115 in the form of a PM synchronous machine. More specifically, Fig.18 A specific example of an electric machine system 100 is shown, identified as a PM synchronous electric machine system 1800, according to some embodiments. Figure 1 , Figure 2 , Fig. 9A and Fig.16 The description of the components applies similarly to Fig.18 Components sharing the same reference numeral or name in the , unless otherwise provided herein. For example, the motor controller 120 is again illustrated as a collection of functional blocks having corresponding inputs and outputs. Each of the functional blocks may be implemented by dedicated hardware circuits of the electronic processor 125 of the controller 120, by software or instruction blocks stored in the memory 130 and executed by the electronic processor 125, or a combination thereof. The motor drive circuit 110 is further illustrated as including the stator drive circuit 205, but without the rotor drive circuit (because the rotor lacks an energizable field). In addition, with Figure 2 , Fig. 9A and Fig.16 In contrast to the illustration of , the motor 115 is illustrated as a PM synchronous motor having a three-phase stator with phases (A, B, C), and the motor system 1800 is primarily described with respect to a PM synchronous motor. However, in other examples, the motor 115 is a WFS motor, a hybrid synchronous motor, or another motor type.
[0231] The motor controller 120 of the motor system 1800 is similar to Figure 2 , Fig. 9A and Fig.16 The motor controller 120 shown in FIG. 1800 is similar to the motor controller 120 shown in FIG. 1800 , but its functional blocks are applicable to PM synchronous motors. For example, the control block of the motor controller 120 in the motor system 1800 may not receive, process, or generate a rotor field component (because the rotor lacks an excitable field). Otherwise, the control block performs the same Figure 2 , Fig. 9A and Fig.16 The similarly named components of the present invention may have substantially similar functions. For example, the virtual flux controller 1805 may generate a control signal (voltage command) based on the motor position and based on the difference between the reference flux and the determined flux (similar to the flux controllers 240 and 1605); the PWA mappings 1810 and 1815 may convert the input current value into the flux value based on the PWA function (similar to the mappings 220, 225, 910, 915, 1610 and 1615); the Clark-Park transformation block 1817 may convert the determined current i of the motor 115 to the value of the flux; abc and the rotational position (θ) to transform the input value to a rotating reference frame (e.g., a DQ reference frame) (similar to the transformation block 215); the MTPA block can convert the reference torque to a reference current using a maximum torque per ampere conversion function or an MPLPT conversion function (similar to the reference MPLPT block 905); the inverse Clarke-Park transformation block 1845 can transform the input voltage from a rotating reference frame (e.g., a DQ reference frame) to a stationary reference frame (e.g., an ABC reference frame) (similar to the inverse transformation block 245); and the PWM generation block 1850 can transform the input voltage command into a PWM control signal (D abc ), similar to the PWM generation block 250.
[0232] Furthermore, in some embodiments, the input desired control parameter (eg, motor torque (T*)) is converted into a target current value i* r,dq The function block or mapping 1820 can be implemented as a lookup table or other function that does not implement MPLPT or MTPA, such as described with respect to block 230. In the case where the motor system 1800 uses a speed control command, a reference torque (T*) can be created by subtracting a measured speed ω fed into a PI controller from a reference speed ω* to produce a reference torque T*. In the case where the motor system 1800 uses a torque control command, the reference torque (T*) can be input (e.g., from a memory, a pedal, a knob, a switch, a keyboard, etc.). In some examples, the function blocks or mappings 1810 and 1820 can be combined into a single piecewise affine mapping that maps an input desired control parameter (e.g., motor torque (T*)) to a target flux value λ* dq . PM synchronous motor model
[0233] In the following sections, a model for a PM synchronous machine is presented. This model is similar to the WFS machine model described previously, but is updated to take into account the lack of an energizable rotor field. A PMSM is a three-phase synchronous machine that can be dynamically described using the following state-space model: where λ d, q is the q-axis and d-axis stator flux, u d 、u q is the terminal voltage, i d 、i q is the stator current, ω is the electrical speed of the machine, R s is the stator resistance, and (·) is the d / dt operator. This formula utilizes the Park-Clark transformation, which provides a linear transformation from three-phase (three-dimensional) to direct-quadrature (two-dimensional) space. The power-invariant Clark transformation is used, and the magnetic axis of the permanent magnet of the rotor is the reference angle of the d-axis in the Park transformation.
[0234] Compensated terminal voltage and is the terminal voltage including the resistor drop. The compensated terminal voltage can include inverter non-idealities such as switch conduction voltage drop and dead time. The PWA formula presented later can include non-existent parameters such as damping winding, zero sequence current, etc., but are omitted for simplicity. In addition, position-dependent effects can be added to the PWA model as the third, fourth, ..., nth dimension of the existing two-dimensional dq PWA model. The formula is compatible with any PM synchronous machine, regardless of the significance ratio (IPMSM, SPMSM, etc.).
[0235] The torque of the PMSM is modeled by: T=pi′Jλ, Where p is the number of pole pairs, i = [i d i q ]′∈I is the current vector, λ=[λ d λ q ]′∈Λ is the magnetic flux vector, and J is the cross-coupling matrix,
[0236] The sets I and Λ describe the full operating current and flux range of the machine. The relationship between current i and flux λ is nonlinear and saturates. Cross saturation makes the d-axis flux depend on both the d-axis current and the q-axis current. The same applies to the q-axis flux. The functions f(i) and g(λ) model this relationship: λ=f(i) u=g(λ).
[0237] The function f(i) is useful for calculating or estimating the machine flux λ for a given feedback current, while g(λ) is useful when an observer is used rather than direct measurement to estimate i. In general, g(λ) is computationally more difficult to obtain than f(i). The map f(·) can be a LUT constructed using measured points or finite element analysis (FEA) points interpolated by some method.
[0238] The compensated terminal voltage can be obtained by vector where U is the voltage operating range of the machine. The machine can therefore be described as a standard linear state-space system of the form: i=g(λ), The A and B matrices are
[0239] The input is the compensated voltage u, the state is the flux λ, and the output is the current i. This state space model can be used in an MPC controller, such as can be implemented in the flux controller block 1805. The state λ will be based on the machine operating point using a piecewise affine mapping f pwa (i) Linearization. Piecewise Affine (PWA) Magnetic Model for PM Synchronous Motors
[0240] As described above, the motor 115 implemented as a PM synchronous motor can have its magnetic model represented as a PWA map. As described above (e.g., with respect to the WFS motor above), the PWA map divides the nonlinear map into M domains over which the functions are linearized. Therefore, the PWA current-flux map can be expressed as: Where λ = L j i+ψ j is the current i∈I j Mapped to the magnetic flux λ∈Λ j The affine equation on , and Λ j It is domain I j The image of . The affine mapping is given by the inductance matrix L j and flux offset ψ j definition.
[0241] The inverse of f(·) is: Make
[0242] The process of creating this PWA map can be divided into four steps: 1) Select I P ; 2)I P Domain decomposition (e.g., Delaunay triangulation); 3) Compute all L j and ψ j ; and 4) all Lj and ψ j Assigned to I j In step 1 of the process of creating a PWA map (select I P )middle, is the set of measured, simulated or estimated current points that will be used to create the PWA map. The corresponding flux set Λ p , are also identified. In general, at least in some examples, the set of all current-flux point pairs for the motor may be too large to create a corresponding PWA map because the resulting PWA map may be too large for the DSP of the motor controller 120 with limited memory. Accordingly, the current-flux point pairs (I , Λ) selected from the current-flux point pairs I and Λ of the motor 115 are P and the corresponding flux point Λ p ) can be identified or selected.
[0243] In some examples, I P can be regularly gridded, where I P i d and i q The data points are evenly spaced. The corresponding flux points Λp will not necessarily be regularly gridded.
[0244] In other examples, I P can be gridded irregularly. For the same number of points as regular gridding, the irregularly gridded I P A higher accuracy PWA map can be produced because the flux errors are not uniformly distributed. Irregularly gridded current points can also target areas in I and Λ that may be used more frequently, such as derated operation and MTPA.
[0245] Techniques for selecting a subset of current-flux point pairs for PWA map generation (including for optimizing PWA maps) are further described below. Figure 6 The process 600 and the WFS motor are similarly described in terms of strategy.
[0246] In step 2 of creating the PWA mapping (I p In the domain decomposition method, a domain decomposition algorithm (e.g., Delaunay triangulation) is applied to the current-flux pair to obtain M subdomains of the PWA function. That is, constructing the PWA map or function means dividing the domain I and the image Λ into M subdomains I j sum image Λ j . The M subdomains are connected and the resulting mappings are non-conflicting. In other words, a point i∈I can be in one or more subdomains if and only if they map to the same point λ∈Λ. Thus, the domain can be partitioned into simplices that do not overlap except at the boundary. Boundary Any point on the scalar should be part of two or more subdomains to ensure continuity. These points are mapped to the same On, the is also part of two or more subdomains. Conversely, all points inside a subdomain are part of only one subdomain.
[0247] The M subdomains can be obtained by using the Delaunay triangulation DT(I P ) (or another domain decomposition algorithm) to identify unique and connected simplexes. To calculate I P Delaunay triangulation can be done using I P Construct the Voronoi diagram. P The Voronoi diagram divides the I space into |I P |Voronoi cell, where all points in the Voronoi cell are closer to I than any other point P To obtain a Delaunay triangulation, the dual of the Voronoi diagram is found.
[0248] Delaunay triangulation DT(I P ) ensures that no point i∈I is located in DT(I P ) in two simplexes. In general, DT(I P ) is unique, and there does not exist a set of D+2 points where one of them is strictly inside the smallest enclosing hypersphere of the set of points. Each subset is defined as a simplex, which is the simplest possible polyhedron in any D-dimensional space, which in the two dimensions of the given problem is a triangle.
[0249] A D-dimensional simplex can be defined as the convex hull of its D+1 vertices (called V-notation); alternatively, a simplex can be defined by its faces defined by affine inequalities (called H-notation): where i j0 ,...,i jD ∈I P Each current simplex I j This forms a domain of affine maps that map to flux simplexes: where λ j0 ,...,λ jD ∈Λ P Defining the general location of the set of measurement points implies that the vertices of each simplex are linearly independent and full-dimensional (non-degenerate).
[0250] In step 3 of creating the PWA map, the subdomain coefficient (L j and ψ j ). Each simplex I j Defined by three vertices. A vertex i j0Can be support vectors, so that the origin can be moved In the shifted dimensions, the simplex is defined as: in spans the simplex. In addition, the flux space is represented by the corresponding flux vector Shifted, this leads to the simplex defined by: in Crossing the simplex.
[0251] The non-zero vertices can be interpreted as a basis, and since affine mappings are isomorphic, the relative positions of the vectors in the current and flux simplexes are the same:
[0252] The a coefficient can be obtained similarly to how the relative on-time is calculated in space vector modulation (SVM). Then, Can be projected onto Based on: And the relative length of the vector can be obtained by dividing the magnitude of the projection by the magnitude of the basis vector:
[0253] To find the magnetic flux vector We will a k Multiply The basis vectors of :
[0254] Then, the motor flux is generated by shifting the origin.
[0255] This calculation can be simplified using vector notation, where the basis and is the corresponding matrix: And a=[a1,...,a D ] T .Then, and And because the simplex is not degenerate, the basis is nonsingular, providing a linear relationship: This linear relationship can be used to map current to flux and flux to current.
[0256] Replacing the original coordinates provides: This produces the affine mapping: in And j =λ j0 -L j i j0 .
[0257] In step 4 (assigning coefficients to simplexes) of creating the PWA map, the coefficients Lj and ψ j The simplex I assigned to them j Grouping all such functions produces a PWA map (magnetic model) of the motor 115 as a PM synchronous motor. Fig.19A and Fig.19B Examples of PWA mapping functions for regular grids of different sizes are shown in . Magnetic model optimization
[0258] As described above, although a regularly gridded set of current points may be used in step 1 of creating a PWA map, in some examples, an irregularly gridded set of current points is used. The irregularly gridded set of current points may be selected to optimize the PWA map. For example, the irregularly gridded set of current points may be selected to minimize the PWA map for a particular number of points (f PWA ). By selectively selecting the current point to be used (I P ) to select the method for minimizing f PWA The area of the flux error in may depend on the application. The 2-norm flux error is a metric that can be used to measure the flux error of the PWA mapped to a reference magnetic model (eg, FEA spline) at any given point. Fig. 20 The 13×13 regular grid is shown in I P To create f PWA Example of a 2-norm flux error distribution. The flux error is likely to be highest where the flux linkage is most nonlinear.
[0259] In some examples, ( Figure 4 The electronic controller 400 adopts the same method as above. Figure 6 A similar algorithm as described is used to identify N points of optimized irregular grid current points I P The algorithm can select the current point I P To reduce or minimize the maximum 2-norm flux error. In some examples, Figure 4 In contrast to the algorithm in FIG. 6 , the first set of current points in block 605 is selected to be four (4) current points corresponding to four (4) flux points to provide a minimum number of points (IP ,Λ P ). This minimum number of current points (four) provides a square in the dq current space. Otherwise, process 600 can be implemented in a similar manner to generate a PWA map from an N-point optimized irregular grid.
[0260] Three areas of interest were evaluated and explored using this technique: the full current range (I), the approximate MTPA trajectory area (I MTPA ) and the approximate derating current region (I 降额 ). I represents the absolute maximum current limit. 降额 represents the typical rated or continuous current limit, where ||i dq ||≤i 额定 In this case, 额定 =0.75pu. MTPA It is an area rather than a region used to describe the temperature change in the PM synchronous motor parameters.
[0261] The PWA method for building magnetic models can be evaluated by the flux error. In the following sections, PWA maps created using irregular optimized meshes (f PWA ) was evaluated. The current points used to build the model were taken from a large pool of experimental data points, and the corresponding flux points were estimated using the least squares approximation. As a reference, the full current space (I P =I) PWA , denoted as I*. I* is constructed using a square grid, i.e., 2×2, 3×3, …, 6×6, so N = 4, 9, …, 36. The data in this section are from an internal PM synchronous machine IPMSM. The magnetic model is compared with a high-fidelity spline interpolation magnetic model (denoted as f S ) for comparison and constructed using many FEA data points.
[0262] The flux error in the magnetic model corresponds to an error in the state-space model of the system and the torque. This can be evaluated by sampling many random current points i∈I using the above and about Figure 6 The irregular optimization algorithm f PWA With f S The 2-norm flux error between . Fig.21 The average and maximum values of this error within the optimized region for different values of N are shown in Figure 1. In the irregularly optimized function: the error in the MTPA region is the smallest because this is the smallest region by area, while the error in I is the largest because this is the largest area. It can be seen that the average and maximum errors of I* (regular grid) are significantly worse, with margins of about 5-10% and about 80-100%, respectively.
[0263] The error distribution in these magnetic models is not uniform. As an example, Fig.21 The function of the current point (I*) using a 36-point (6×6) regular grid and the function of the irregular grid (I,I MTPA ,I 降额 ). The top row shows the functions of all simplex I j Simplex Network I M , the middle row shows the optimization algorithm for each of these functions in I P The placement of the points in the middle and the 2-norm flux error distribution is shown in the bottom row. The 2-norm flux error is minimized in the region of interest, which is low flux error, especially for I MTPA and I 降额 , is obvious.
[0264] Fig. 22 The diagram shows information about three irregularly gridded magnetic models and a regularly gridded magnetic model, each in a corresponding column. More specifically, in the top row, for each magnetic model, the diagram shows the information about the three irregularly gridded magnetic models and the regularly gridded magnetic model. j Simplex Network I M The middle row shows the optimization algorithm for each magnetic model in I P The bottom row shows the determined 2-norm flux error distribution for each magnetic model. The first column points to the PWA maps generated using the regular gridded current points with Cover I; the second column points to the PWA maps generated using the irregular gridded current points with Optimized I; the third column points to the PWA maps generated using the Optimized I MTPA The PWA map generated by the irregular gridding of current points; and the fourth column points to the PWA map generated by the irregular gridding of current points using the optimized I 降额 Irregularly gridded current points to generate the PWA map.
[0265] Accordingly, a PWA map for a PM synchronous motor is generated using one or more of the various techniques described herein, Fig.18The PM synchronous motor system 1800 provides a motor controller 120 that uses current to flux PWA mapping (e.g., PWA mapping 1810 and / or PWA mapping 1815) to control the motor 115. As described, these (multiple) PWA mappings can be generated based on a regularly gridded current space or based on an irregularly gridded current space. In addition, these (multiple) PWA mappings generated based on an irregularly gridded current space can have a higher current point density in areas with nonlinear behavior, which can increase the accuracy of the mapping, and / or have a lower current point density in areas with linear behavior, which can reduce the overall size of the mapping (reducing the memory space used to store the mapping in the motor controller 120 or elsewhere). These (multiple) PWA mappings also enable more precise or accurate conversions between current and flux domains, as well as inversion of related matrices. In addition, the (multiple) PWA mappings not only allow for more accurate motor models with fewer points, but also allow for optimization of the points (in some embodiments, irregular points) required to describe or represent a given machine to obtain the desired accuracy or operational capabilities.
[0266] As described above, the motor system 1800 may be used to implement one or more of the methods 300, 950, and 1700. In other words, as described above, the PM synchronous motor may be used in conjunction with these methods 300, 950, and 1700.
[0267] For example, combined with Fig.18 System 1800 Return Reference Figure 3 In the method 300 of the system 1800, in block 305, the motor controller 120 of the system 1800 determines the current value of the PM synchronous motor 115 in a rotating reference frame (such as a DQ reference frame). Each current value is associated with a dimension (or axis) in the dimension set of the DQ reference frame. For example, as Figure 2 As described in system 100 of system 1800, the motor controller 120 of system 1800 can determine the electrical operating characteristics of the motor 115 in a stationary reference frame; determine the rotational position of the motor 115 (e.g., the rotor of the motor 115); and transform the electrical operating characteristics and the rotational position into current values of the motor 115 in a rotating reference frame via a Clark-Park transformation block 1817.
[0268] In block 310, the motor controller 120 of the system 1800 is configured to determine the flux linkage value for each dimension of the set of dimensions of the rotating reference frame using a piecewise affine mapping based on the current value. For example, the motor controller 120 is configured to determine the flux linkage value λ using the PWA current to flux linkage mapping 1815 dq In some examples, as described above with respect to Figure 2 The system 100 described above, Fig.18The motor controller 120 may first identify on which simplex (or domain) of the PWA map 1815 the current value resides, and then calculate the flux linkage using the specific affine function associated with the identified simplex.
[0269] In block 315, the motor controller 120 is configured to determine a target flux linkage value for each dimension of the set of dimensions of the rotating reference frame. For example, the motor controller 120 is configured to determine a target flux linkage value λ* dq To determine the target flux linkage value, the motor controller 120 may determine a desired control parameter for the motor 115 (e.g., motor torque (T*) or motor speed (not shown)). The desired control parameter (e.g., motor torque (T*) or speed) may also be referred to as a motor command and may be provided by an input device as described above. The motor controller 120 may then use the reference generation block 1820 to transform the desired control parameter into a target current value (e.g., i*) for the motor in the rotating reference frame. dq ). For example, the motor controller 120 may use a reference generation block 1820 in the form of a lookup table (e.g., stored in the memory 130) that maps potential values of a desired control parameter T* to a target current value. The lookup table may be pre-populated based on experimental data. The motor controller 120 may then determine a target flux linkage value for each dimension in a set of dimensions of the rotating reference frame based on the target current value using a piecewise affine (PWA) mapping 1810. The motor controller 120 may use the PWA mapping 1810 to determine a target flux linkage value based on a target current value in a manner similar to that in which the PWM mapping 1815 is used to determine a flux linkage value based on a current value. Fig.18 The two PWA maps 1810 and 1815 illustrated in FIG. 1 may be duplicate PWA maps, or the motor controller 120 may use one PWA map for both actual values and target values (ie, although two PWA maps are illustrated, in some embodiments, one shared PWA map is included instead).
[0270] In block 320, the motor controller 120 is configured to control the power switch network based on the flux value and the target flux value. In some embodiments, the motor controller 120 may generate a control signal in a stationary reference frame to drive the motor 115 based on the difference between the target flux value and the flux value of the dimension. For example, the virtual flux controller 1805 may calculate the difference, or the motor controller 120 may include a control signal similar to Figure 2The difference block 235 of the difference block 235 is used to determine the difference between each flux linkage value and the target flux linkage value for each corresponding dimension in the set of dimensions of the rotating reference frame (e.g., D and Q dimensions, optionally the zero dimension). The motor controller 120 (e.g., via the virtual flux controller 1805) can then generate a voltage command for each dimension in the set of dimensions of the rotating reference frame based on the difference value and the rotational position. For example, the flux controller 240 can output a voltage command V d and V q (Also collectively referred to as V dq or u* dq ).
[0271] The motor controller 120 can then transform the voltage command from the rotating reference frame to the stationary reference frame. For example, using the inverse Clarke-Park transformation block 1845, the motor controller 120 can transform the voltage command V dq Perform an inverse Clarke-Park transform to generate a voltage command V in the stationary reference frame a 、V b and V c (Also collectively referred to as V abc ). The motor controller 120 can then use the PWM generation block 1850 to Figure 2 The PWM generation block 250 generates pulse width modulation control signals for each dimension of the stationary reference frame in a similar manner to control the power switch network 205 to drive the stator of the motor.
[0272] When in the motor operation mode, based on the control signal, the motor drive circuit 110 is controlled to apply power from the power supply 105 to the motor 115 to drive the rotation of the motor 115. Similarly, when in the generator operation mode, based on the control signal, the motor drive circuit 110 is controlled to apply electric power from the motor 115 to the power supply 105 (e.g., to charge the power supply) and / or another electric load.
[0273] As described above, motor system 1800 may also be used to implement method 950. Fig. 9B Method 950, combined Fig.18 , in block 955 , the motor controller 120 of the system 1800 determines a current value of the PM synchronous motor 115 in a rotating reference frame, such as a DQ reference frame. Fig.18 The motor controller 120 can be used with Fig.18 The motor controller 120 performs Figure 3 Block 955 is performed in a similar manner to block 305 .
[0274] In block 960, Fig.18The motor controller 120 of the embodiment of the present invention determines the target motor control parameter value for each dimension in the set of dimensions of the rotating reference frame based on the desired control parameter (e.g., the desired motor torque value (T*)) using the first piecewise affine mapping. The motor controller 120 can then apply the MTPA function block 1820 that implements the PWA mapping to the desired control parameter. In the implementation process 950, Fig.18 In some examples of the system 1800, Fig. 9A The MPLPT function block 905 (described above) can act as a replacement for the MTPA function block 1820, albeit modified to operate without the rotor field target current i* r Output DQ reference system (i* dq ) in the target current value. As described above, the MPLPT function block 905 can implement PWA mapping and can be used in the same manner as described above with respect to Figure 9A-9B The conversion of the input desired control parameter into the target motor control parameter value using the PWA mapping is performed in a similar manner as described. In some examples, the output current value of the MPLPT function block 905 or the MTPA function block 1820 (as the case may be) is the intermediate target motor control parameter value, which is then further converted into the (final) target motor control parameter value by the current to flux mapping 1810. In other examples, such as in Fig.18 In the case where the controller 1805 is a current-based controller rather than a flux-based controller, or in the case where the MPLPT function block 905 or the MTPA function block 1820 is configured to directly map the reference torque (T*) to a target flux value (λ*), the output current value of the MPLPT function block 905 or the MTPA function block 1820 is the (final) target motor control parameter value.
[0275] In block 965, the motor controller 120 of the system 1800 controls the power switch network based on the current value (e.g., received directly or after being converted to a flux value via the flux mapping 1815) and the target motor control parameter value (e.g., received directly or after being converted to a target flux value via the flux mapping 1820). Then, Fig.18 The motor controller 120 may be configured to receive a value (eg, dq ,λ* dq , θ or λ dq -λ* dq and θ), with Fig.18 The motor controller 120 performs Figure 3 Block 965 is executed in a similar manner to block 320 and outputs the voltage command to the inverse Clarke-Park transform block 1845 .
[0276] As described above, motor system 1800 may also be used to implement method 170. Fig.17 Method 1700, combined with Fig.18 , in block 1705 , the motor controller 120 of the system 1800 determines a current value of the PM synchronous motor 115 in a rotating reference frame, such as a DQ reference frame. Fig.18 The motor controller 120 can be used with Fig.18 The motor controller 120 performs Figure 3 Block 1705 is performed in a similar manner to block 305 .
[0277] In block 1710 , motor controller 120 determines target motor control parameter values for each dimension in a set of dimensions of a rotating reference frame based on the desired control parameters. Fig.18 The motor controller 120 can be used with Fig.16 The motor controller 120 performs Fig.17 The block 1710 is performed in a similar manner to the block 1710 of FIG. 1710. For example, Fig.18 The motor controller 120 may receive a desired control parameter (eg, T*) via blocks 1810 and 1820 and convert the desired control parameter into a target motor control parameter value (eg, λ*). dq ).
[0278] In block 1715, the motor controller 120 controls the power switch network based on the current value and the target motor control parameter value by using a piecewise affine mapping defined by solving a model predictive control algorithm offline using sample inputs. For example, in some scenarios, the virtual flux controller 1805 implements a model predictive control (MPC) algorithm to generate a control signal (e.g., a voltage command (V)) based on the received or determined difference value (e.g., λ*-λ) and the rotational position (θ) of the motor. dq )). The control is based on the current value and the target motor control parameter value, at least because the MPC controller 1805 generates the control based on the flux value (λ), which is based on the current value (e.g., i abc 、i dq ) and is determined based on the target flux value (λ*) (target motor control parameter value).
[0279] The MPC algorithm includes an MPC optimization problem or equation, as described in further detail below with respect to a PM synchronous motor implementation. In some examples, the MPC controller 1605 implements "explicit MPC". In such examples, the MPC optimization problem is solved offline, and a control law is generated therefrom and stored on the MPC controller 1805, prior to executing process 1700. Then, in box 1715, the control law is accessed and implemented to control the motor 115 during real-time operation of the motor 115. For example, the MPC optimization problem is solved offline for all or a subset of the possible inputs (e.g., as described below), and then used to generate a piecewise affine map ("MPC PWA map"), which is stored on the controller 120 (e.g., as part of the MPC controller 1805) prior to motor operation. The MPC PWA map defines multiple domains, each domain having an associated control law. During operation of the motor, the MPC controller 1805 receives measurements (e.g., received differential values and the rotational position (θ) of the motor) in real time that indicate which domain of the MPC PWA is active. From this, the MPC controller 1805 identifies the active domain and the feedback control law associated with the active domain. The MPC controller 1805 then generates a control signal (e.g., a voltage command (V dq )). MPC controller for PM synchronous motors using (multiple) PWA maps
[0280] In some examples of a PM synchronous motor system 1800 (which may use one or more current-to-flux PWA maps generated for a PM synchronous motor as described above), a virtual flux controller 1805 is implemented as an MPC controller. In such cases, the virtual flux controller 1805 may be referred to as a virtual flux MPC (VF-MPC) controller 1805. The VF-MPC controller 1805 may use the outputs of one or both of the current-to-flux PWA maps 1810, 1815 described above, and may implement model predictive control (MPC) on these outputs to ultimately generate control signals for controlling the motor 115. At least in some examples, controlling a PM synchronous motor (e.g., the motor 115) using MPC-based control by the VF-MPC controller 1805 and using current-to-flux PWA maps results in reduced flux and torque errors throughout the entire machine operation (e.g., reduced by an order of magnitude).
[0281] In general, MPC is a control method for PM synchronous motors that provides multiple input and multiple output capabilities, the ability to handle nonlinear systems, desirable stability properties, and the ability to be applied in real time in a microcontroller (MCU). As discussed above with respect to WFS motors, MPC solves a constrained finite time optimal control (CFTOC) problem at each control step. In electric motors, MPC implementations can be direct torque control (MP-DTC) and direct speed control (MP-DSC), current control, and voltage control.
[0282] The CFTOC problem can be solved and the actuation action is applied at each control cycle via a modulation scheme such as space vector modulation (SVM) or pulse width modulation (PWM). This technique is called convex control set MPC (CCS-MPC). In contrast, the actuation step can be applied only when certain criteria are met, i.e. the error exceeds a certain amount. This technique is called finite control set MPC (FCS-MPC). CCS-MPC is asymptotically stable, while FCS-MPC can be shown to be set stable (error bounded).
[0283] As the state-space model becomes nonlinear, the nonlinear flux caused by saturation and cross-saturation effects can cause inefficient operation of the MPC controller for a PM synchronous motor at full power. Virtual flux MPC (VF-MPC) for a PM synchronous motor is a control method that uses the motor's flux as a state variable, using the current-to-flux transformation and the αβ transformation of the flux to create a sinusoidal tracking MPC problem, or the flux error to create an MPC regulation problem. The separation of the magnetic model f(i) from the control allows the use of more advanced and accurate magnetic models, such as the piecewise affine (PWA) magnetic model described above. The PWA magnetic model (MM) shares many of the same favorable properties as the linearized mapping, including linearity, bidirectionality, and continuity, and can additionally capture saturation and cross-saturation effects. These advantages translate into efficiency gains because the controller is able to more accurately bring the motor to the desired reference point (via MTPA or flux weakening) where the motor would otherwise have a steady-state offset. Offline MM can be constructed using machine data points from analytical calculations, FEA analysis and experiments (or a combination thereof), and can be interpolated via linear interpolation, Hermite spline interpolation, polynomial and / or piecewise nonlinear interpolation. Using offline PWA MM can reduce the computational load of the MPC controller relative to online parameter estimation methods.
[0284] In some examples of the system 1800 provided herein, the MPC controller 1805 is a VF-MP-DTC controller that uses an offline PWA MM to control a PM synchronous motor (e.g., motor 115). The generation of an offline PWA MM model of a PM synchronous motor, including regular gridding and irregular gridding PWA mapping, is described in more detail above. In other examples, the MM may be a linear model, which may not be as accurate as the described PWA MM model. A linear model such as a nameplate magnetic model or an optimized linear magnetic model may have the following form: λ dq =Li dq +ψ PM in
[0285] According to this definition, the mutual flux of the machines is neglected (the off-diagonal terms of L), and the small but non-negligible (at saturation) ψ q is also ignored. The mapping f(i) is approximated as a plane, i.e. convex, while in reality f(i) is non-convex, and L and ψ PM Can run through i∈I P Substantial changes have occurred.
[0286] In some examples involving MPC control, the αβ reference frame can be used instead of the dq reference frame because in the αβ reference frame, the state equation has no dependence on the speed ω and is linear. Accordingly, although the above PM synchronous motor model still applies, the αβ dynamic model of the PM synchronous motor can be modeled by a discretized first-order ordinary differential equation: where v αβ is the compensation voltage, v αβ =v αβ,端子 -R s i αβ , and the + superscript indicates the next step. All terms can be represented by the constant Λ const =T s v c Normalized to Where the “-” superscript indicates compensation (voltage) or normalization (flux).
[0287] The torque of a PMSM is the cross product of the current and flux times the pole pairs and a constant: where J is the cross-coupling matrix:
[0288] The state-space system of the PM synchronous motor system 1800 can be modeled as a regulation problem rather than a sinusoidal tracking problem by using the state vector: And the input can be a voltage: in
[0289] In this way, the state space equation becomes: and is u (feedback controller) and (feedforward controller).
[0290] Turning to constraints, the current limits of a machine can be defined by continuous current and maximum current. Continuous current represents the current at which the machine can operate stably for a long time and is limited by copper losses. 2 R s The thermal effect is limited, and is depicted as a circle or ellipse in the dq current plane. dqr is the rated current value in the dq plane. The maximum current is the maximum current that the machine can handle in transient operation, that is, in a short period of time. and is depicted as a square or rectangle in the dq current plane. The rated current can be set to the maximum current
[0291] Rated flux set Λ r When using the diamagnetic model Any flux concentrated at the rated current when mapped back to current:
[0292] If f(i dq ) is completely linear, then Λ r can be rectangular, but including saturation effects, Λ r It can be a convex rectangle in the dq current plane. Rated flux value λ dqr It can be defined as the flux at the intersection of the MTPA locus and the rated current set.
[0293] The voltage constraint in this problem can be given by V s constrained by the CCS or by V d The FCS voltage constraint V sThe voltage source inverter (VSI) is limited to six discrete states in the αβ reference frame.
[0294] The CS voltage constrains V d can be any interior point of the six states in the αβ reference frame, or V s The convex hull H of V d =H(Vs). Model Predictive Control of PM Synchronous Motors
[0295] Model Predictive Control (MPC) or Regression Horizon Control (RHC) is a control method that solves a constrained finite-time optimal control (CFTOC) problem to compute the optimal trajectory of the state and input control periods of length N (prediction horizon) in the future, and then realizes the first input. In this problem, the state is the flux linkage error Input is the compensation voltage and the state-space model is The measured or estimated state is x0, and the desired state is x N , the CFTOC output is a length N denoted as U 0→N The control input set of , and the corresponding state set is represented by X 0→N , When realized, it will bring the state to the terminal region x∈X defined by f :
[0296] This is a regulation problem, so the desired state is x*=0.
[0297] The cost function J0(x0,u0) assigns a cost to a trajectory of length N starting at (x0,u0) and the input state as follows: where P defines the terminal cost and penalizes how close the final state is to 0, Q defines the phase cost and penalizes the sum of state changes, and R penalizes the sum of voltage changes (minimizing switching losses in FCS-MPC). The α and β components of x and u should be penalized equally, so
[0298] The optimization problem is: Satisfy the conditions: x k+1 =x k +u k
[0299] where k = {0,...,N-1}, where cost The minimization is subject to the three constraints listed. The first constraint constrains the state to obey the state equations, the second constraint constrains the flux to the machine rated flux, the compensation voltage to the CCS voltage constraint (replaced by Vd when using FCS-MPC), and the third constraint constrains the final state to the terminal region. The solution to the optimization problem is the optimal input and has cost Status The first solution of the trajectory is the input to the system, and in the next sampling period, the CFTOC problem is re-solved and the first input of the new trajectory is the input to the system.
[0300] In the test, four magnetic models (two linear and two PWA) were evaluated offline to estimate the flux error of each model using MPC-based control (such as can be implemented by MPC controller 1805). The MPC regulation controller as described herein was formulated using the cost function in the αβ reference frame and the prediction horizon. The PWA magnetic model was shown to consistently reduce the error by an order of magnitude compared to the linear MM in both steady-state experiments (T = 0-0.8 unit values, ω = 1-3 unit values) and transient experiments (ω = 3 unit value speed step, T = 1 unit value torque step). Additional Dimensions
[0301] In several examples discussed herein, a PWA map (such as PWA map 220 or 225) maps motor current to flux. In some additional examples, such PWA maps include additional dimensions corresponding to additional motor characteristics, such as rotor speed (ω), rotor rotational acceleration, motor temperature, etc. For example, PWA map 220 (and / or another of the disclosed current-to-flux PWA maps) may receive motor current (e.g., i f,dq ) and one or more other motor characteristics (e.g., rotor speed, position or acceleration, motor temperature, etc.) as additional dimensions as inputs. The one or more other motor characteristics may be determined by the motor controller 120, for example, by direct sensing via associated sensors, or indirectly by calculation or inference based on other sensed motor characteristics. The PWA map may map the input to or correspond to the flux (e.g., λ) output by the PWA map. f,dq That is, the PWA mapping may map a combination of input values to output flux linkage values for each dimension of a rotating reference frame, where the set of input values includes current values (eg, i f,dq) and at least one additional motor characteristic (e.g., rotor speed, rotor rotation acceleration, motor temperature, etc.).
[0302] More specifically, as described above, the PWA map includes a plurality of affine functions, each of the plurality of affine functions being associated with a corresponding domain in a plurality of domains. In order to obtain flux linkage from an input set of the PWA map, a controller (e.g., motor controller 120) may identify a first domain corresponding to the input set and selected from a plurality of domains. The first domain is associated with a first affine function in a plurality of affine functions. The controller may then apply the input set (i.e., current values and one or more additional motor characteristics) to the first affine function to determine a flux linkage value for each dimension of a rotating reference frame. In some examples, each of the plurality of domains associated with the corresponding affine function corresponds to a simplex provided by performing a domain decomposition algorithm on a data set of input-output pairs of a plurality of operating points of the motor. Here, the input of each input-output pair of an operating point of the motor includes a current value and one or more additional motor characteristics, and the output includes a corresponding flux linkage value.
[0303] As another example, rotor position (θ) may be an additional motor characteristic corresponding to an additional dimension of the PWA map. For example, the relationship between flux, inductance, current, and / or torque may be related to desired motor operating characteristics, such as slot passing effects, which introduce torque ripple and changes in BEMF when in motion. In a PMSM, for the five variables (i d 、i q , d , q For a given data point (θ, i, and torque), two degrees of freedom may exist. By specifying any two variables, the other three variables can be uniquely determined by physics-based relationships typically modeled by FEA. To incorporate position, each data point now has six variables (θ, i d 、i q , d , q and torque), where three independent parameters are known or specified and the remaining three variables are uniquely determined by relationships based on physical properties. Other quantities may be included in the data set, such as efficiency, conduction losses, etc., but these other quantities may be derived from these existing quantities or considered negligible for the control or modeling problem statement.
[0304] In some examples, motor speed (ω) may be beneficial as an additional motor characteristic corresponding to an additional dimension because other system losses may be a function of speed (ω) and may affect which combination of winding current and flux linkage results in the most desirable operating state (e.g., efficiency). In this case, the complete operating point can be represented by the eight-dimensional point ω, i d 、i q, d , q , torque, p 损耗芯 、p 损耗传导 , but an operating point is uniquely identified or specified by any three variables where the other five variables are constrained by relationships based on physical properties and / or composite metrics that form a desired figure of merit.
[0305] In some examples involving wound field machines with a single-phase rotor, one additional degree of freedom is introduced relative to the PMSM example above, but two additional parameters appear with this degree of freedom: i r and λ r .
[0306] By including additional dimensions in addition to current in the PWA mapping, the PWA mapping can have improved accuracy. In other words, in this example, the flux output by the PWA mapping can be a more accurate representation of the actual flux of the motor 115. In contrast to other techniques, additional dimensions can be added to the PWA mapping technique without increasing the computational complexity to an impractical level. That is, the PWA mapping can include additional dimensions and still be practically implemented on a motor controller with typical processing and memory resources. In addition, in some other examples, the disclosed PWA mapping that maps motor flux to current is modified to similarly include one or more additional dimensions (e.g., one or more additional motor characteristics) to increase the accuracy of the current output by the PWA mapping.
[0307] It should be understood from the discussion throughout this disclosure that while some embodiments include an MPC controller (e.g., MPC controller 1605) that implements model predictive control, some embodiments use other flux, current, or model-based controllers as part of the motor controller 120. That is, the PWA mapping described herein can be used with any flux, current, or model-based controller (or control method). The use of the PWA mapping can, for example, reduce space, increase the accuracy of the motor or device model, and / or improve the performance of the controller (e.g., better dynamic performance, reduced errors, better reference generation, etc.). Examples of such flux, current, or model-based controllers include MPC controllers, PID controllers, any model-based controller using a current lookup table, etc. The relevant calculations of the PWA mapping can be performed online or offline.
[0308] It should also be understood from the discussion throughout this disclosure that various features from any of the disclosed motor systems and methods may be included in other of the disclosed motor systems and methods. For example, Figure 1The motor system 100 may include a motor 115 in the form of any of a WFS motor, a PM synchronous motor, a hybrid synchronous motor, a universal motor, an induction motor, a (synchronous or switched) reluctance motor, or another motor type, and the motor controller 120 may further include or implement any combination of current-to-flux PWA mapping (e.g., similar to mapping 220, 225, 1610, 1615, 1810, or 1815), current-to-inductance PWA mapping (e.g., similar to mapping 2320), MPLPT or MTPA reference generation (e.g., similar to block 905 or 1820), and / or an MPC flux controller (e.g., similar to MPC flux controller 1605 or 1805).
[0309] The underlying models for WFS motors and PM synchronous motors are described above, and the WFS motor models can also be applied to hybrid synchronous motors. Similar models can be used to describe or define other types of motors (e.g., universal motors, induction motors, (synchronous and switched) reluctance motors, etc.), updated for the details of each motor type. These models can be used to generate one or more of the following in a manner similar to that described above: current to flux PWA mappings (e.g., similar to mappings 220, 225, 1610, 1615, 1810, or 1815), MPLPT or MTPA reference generation mappings (e.g., similar to blocks 905 or 1820), and / or MPC flux controllers (e.g., similar to MPC flux controllers 1605 or 1805) for operation with such other types of motors. For example, the universal motor model may include: stator d-axis current, stator q-axis current, stator z-axis current (in the case of star connection), rotor d-axis winding current (in the case of wound rotor machines and fed-out induction machines), rotor q-axis winding current (in the case of fed-out induction machines), rotor d-axis damper winding (in the case of squirrel cage induction machines and line start machines), rotor q-axis damper winding (in the case of squirrel cage induction machines and line start machines), and stator xy axis (in the case of multi-phase machines, the machine may have additional xy axes depending on the number of phases). In addition, each current dimension may have an associated flux and voltage. Typically, the d-axis is aligned with the magnetic axis of the magnetic field. In other words, the universal motor model may include the D-axis, Q-axis, and zero-axis for all independent bodies within the system (each of which communicates electromagnetically via the D-axis), as well as the ability to contribute torque via the Q-axis. A change in the D-axis on one component results in (A) a change in the stored electromagnetic energy that can be sensed / affected on the D-axis of another component, and (B) affects the torque that can be generated in the system. Changes in the Q axis on one component result in torque, but do not result in changes in magnetic field energy that can be detected / affected by other system components. Changes in the zero axis are in the "null space" of a DQnull (DQzero) system: they do not affect the common magnetic field energy or torque produced by that magnetic field. Within this "null space" there may be one or more other DQnull systems. Damper rods are an example of this: they have currents and generated magnetic fields that are not directly sensed by the main rotor or stator winding systems, but result in a counter-torque to cancel fluctuations in the net torque caused by the slot-through effect of the main RDQ currents / magnetic fields.
[0310] In some examples, any of the various configurations of the motor controller 120 described herein are employed (see, e.g., Figure 2 , Fig. 9A , Fig.16 , Fig.18 or Fig.23) is implemented as a set of instructions stored on a non-transitory computer readable medium, where the instructions are for execution by the processor. In addition, the processor can be configured to (or connected to another device that is configured to) simulate a motor, power supply, and power switch network (simulating, for example, similar to Figure 2 , Fig. 9A , Fig.16 , Fig.18 or Fig.23 Accordingly, by executing the instruction set, the processor may be configured to monitor and control the motor, wherein the motor is a simulated motor coupled to a simulated power supply via a simulated power switch network.
[0311] Although specific embodiments have been disclosed in detail herein, this is done by way of example only for the purpose of illustration and is not intended to limit the scope of the claims appended hereto. The features of the disclosed embodiments may be combined, rearranged, etc. within the scope of the invention to produce more embodiments. Some other aspects, advantages, and modifications are considered to be within the scope of the claims provided below. The claims presented represent at least some of the embodiments and features disclosed herein. Other unclaimed embodiments and features are also contemplated. Other examples with various characteristics:
[0312] The present disclosure can be further understood through the following examples:
[0313] Example 1: A method, apparatus, and non-transitory computer-readable medium for motor control, comprising: determining, by an electronic controller, 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; determining, based on the current values, flux or inductance values for each dimension in the set of dimensions of the rotating reference frame using a piecewise affine mapping; determining, by the electronic controller, a target value for each dimension in the set of dimensions of the rotating reference frame; and controlling, by the electronic controller, a power switch network coupled between a power supply and a motor based on the flux or inductance value and the target value.
[0314] Example 2: According to the method, device and non-transitory computer-readable medium of Example 1, wherein determining the current value of the motor in a rotating reference frame includes: determining the electrical operating characteristics of the motor in a stationary reference frame; determining the rotational position of the motor; and transforming the electrical operating characteristics and the rotational position into the current value of the motor in the rotating reference frame.
[0315] Example 3: A method, apparatus, and non-transitory computer-readable medium according to any one of Examples 1 to 2, wherein the piecewise affine mapping includes multiple affine functions, each of the multiple affine functions is associated with a corresponding domain in a plurality of domains, and wherein, based on the current value, determining the flux linkage or inductance value for each dimension in a set of dimensions for a rotating reference system using the piecewise affine mapping includes: identifying a first domain corresponding to the current value and selected from the plurality of domains, the first domain being associated with a first affine function in the plurality of affine functions; and applying the current value to the first affine function to determine the flux linkage or inductance value for each dimension in the set of dimensions for the rotating reference system.
[0316] Example 4: A method, apparatus, and non-transitory computer-readable medium according to Example 3, wherein each of the multiple domains corresponds to a simplex provided by performing a domain decomposition algorithm on a data set of current and flux pairs for multiple operating points of the motor, or each of the multiple domains corresponds to a simplex provided by performing a domain decomposition algorithm on a data set of current and inductance pairs for multiple operating points of the motor.
[0317] Example 5: A method, apparatus, and non-transitory computer-readable medium according to any one of Examples 1 to 4, wherein determining a target value for each dimension in a set of dimensions for a rotating reference system comprises: determining desired control parameters of a motor; transforming the desired control parameters into target current values of the motor in the rotating reference system; and determining a target value for each dimension in the set of dimensions for the rotating reference system using a piecewise affine mapping based on the target current values.
[0318] Example 6: According to the method, device and non-transitory computer-readable medium of Example 5, transforming the desired control parameter into the target current value of the motor in a rotating reference frame includes: based on the desired control parameter, using a control parameter to current piecewise affine mapping to determine the target current value for each dimension in a set of dimensions of the rotating reference frame.
[0319] Example 7: A method, apparatus, and non-transitory computer-readable medium according to Example 6, wherein the control parameter to current piecewise affine mapping includes multiple affine functions, each of the multiple affine functions is associated with a corresponding domain in a plurality of domains, and wherein, based on a desired control parameter, determining a target current value for each dimension in a set of dimensions of a rotating reference system using the control parameter to current piecewise affine mapping includes: identifying a first domain corresponding to the desired control parameter and selected from the plurality of domains, the first domain being associated with a first affine function in the plurality of affine functions; and applying the desired control parameter to the first affine function to determine a target current value for each dimension in the set of dimensions of the rotating reference system.
[0320] Example 8: The method, apparatus, and non-transitory computer readable medium of any of Examples 5 to 7, wherein the desired control parameter is a target torque value for the electric machine.
[0321] Example 9: A method, apparatus, and non-transitory computer-readable medium according to any one of Examples 1 to 8, wherein determining a target value for each dimension in a set of dimensions for a rotating reference system comprises: determining desired control parameters of a motor; transforming the desired control parameters into target current values of the motor in a rotating reference system using a control parameter-to-current piecewise affine mapping, the target current values comprising target current values for each dimension in the set of dimensions for the rotating reference system; and determining a target value for each dimension in the set of dimensions for the rotating reference system based on the target current values.
[0322] Example 10: A method, apparatus, and non-transitory computer-readable medium according to any one of Examples 1 to 9, wherein determining a target value for each dimension in a set of dimensions for a rotating reference frame comprises: determining desired control parameters of the motor; and transforming the desired control parameters into target values for the motor in the rotating reference frame using a control parameter to flux piecewise affine mapping, the target values comprising target flux values for each dimension in the set of dimensions for the rotating reference frame.
[0323] Example 11: A method, apparatus, and non-transitory computer-readable medium according to any one of Examples 1 to 10, wherein determining a flux or inductance value for each dimension in a set of dimensions based on a current value includes: determining a flux value for each dimension in a set of dimensions based on a current value; wherein a target value is a target flux value; and wherein controlling a power switch network based on the flux value and the target flux value includes: generating a voltage command for each dimension in a set of dimensions of a rotating reference frame based on a difference between the target flux value and the flux value of the dimension; transforming the voltage command in the rotating reference frame to a stationary reference frame; generating a pulse width modulation control signal for each dimension of the stationary reference frame to control the power switch network to drive a stator of a motor; and generating a rotor control signal to control the drive of a rotor field winding.
[0324] Example 12: A method, apparatus, and non-transitory computer-readable medium according to any one of Examples 1 to 11, wherein determining a flux or inductance value for each dimension in a set of dimensions based on a current value includes: determining a flux value for each dimension in a set of dimensions based on a current value; wherein the target value is a target flux value; and wherein controlling a power switch network based on the flux value and the target flux value includes: generating a control signal in a stationary reference frame to drive a motor based on a difference between the target flux value and the flux value of the dimension.
[0325] Example 13: A method, apparatus, and non-transitory computer-readable medium according to any one of Examples 1 to 12, wherein controlling a power switch network based on a flux or inductance value and a target flux value includes generating a control signal based on a model predictive control algorithm to drive a motor based on the target value and the flux or inductance value.
[0326] Example 14: According to the method, apparatus and non-transitory computer-readable medium of any one of Examples 1 to 13, wherein generating a control signal based on a model predictive control algorithm includes: solving a linear state space equation within a back-off time window to select a next control parameter.
[0327] Example 15: A method, apparatus, and non-transitory computer-readable medium according to any one of Examples 1 to 14, wherein generating a control signal based on a model predictive control algorithm includes accessing a second piecewise affine mapping defined by solving the model predictive control algorithm offline using sample inputs.
[0328] Example 16: The method, apparatus, and non-transitory computer readable medium of any of Examples 1 to 15, wherein the electric machine is a wound field synchronous electric machine including at least three stator phases and at least one rotor field winding.
[0329] Example 17: A method, apparatus, and non-transitory computer-readable medium according to any one of Examples 1 to 16, wherein the power switch network includes an inverter switch bridge, the inverter switch bridge includes a plurality of power switch elements, and the inverter switch bridge receives DC power and outputs AC power to a winding of a stator based on a pulse width modulation control signal from an electronic controller.
[0330] Example 18: The method, apparatus, and non-transitory computer-readable medium of any one of Examples 1 to 17 further comprises: receiving input DC power by a DC / DC converter; and providing output DC power to at least one rotor field winding by the DC / DC converter according to a pulse width modulated rotor control signal from an electronic controller.
[0331] Example 19: A method, apparatus, and non-transitory computer-readable medium according to any one of Examples 1 to 18, wherein a piecewise affine mapping maps a set of input values to output flux or inductance values for each dimension in a set of dimensions, the set of input values comprising current values and at least one additional motor characteristic.
[0332] Example 20: The method, apparatus, and non-transitory computer readable medium of any of Examples 1 to 19, wherein the motor is at least one selected from the group consisting of a wound field synchronous motor, a hybrid synchronous motor, a permanent magnet synchronous motor, an induction motor, a universal motor, or a reluctance motor.
[0333] Example 21: A method, apparatus, and non-transitory computer-readable medium, comprising: obtaining, by an electronic controller, a data set of current-flux pairs for operating points of an electric motor; applying, by the electronic controller, a domain decomposition algorithm to the data set to generate a current simplex and a flux simplex; and storing, by the electronic controller, the current simplex and the flux simplex in a memory.
[0334] Example 22: According to the method, apparatus and non-transitory computer-readable medium of Example 21, further comprising: generating a current to flux mapping using a current simplex and a flux simplex to map current values of the current simplex to corresponding flux values of the flux simplex to provide a one-to-one relationship between current values and flux values.
[0335] Example 23: The method, apparatus, and non-transitory computer readable medium of Example 22, further comprising: transmitting the current to flux mapping to a motor controller comprising an electronic processor and an electronic memory.
[0336] Example 24: A method, apparatus, and non-transitory computer-readable medium according to any of Examples 22 to 23, wherein the current-to-flux mapping is at least one selected from the group consisting of: a piecewise affine mapping, the piecewise affine mapping comprising a plurality of linear functions, each linear function corresponding to a corresponding current simplex in the current simplex; and a quadratic mapping comprising at least one quadratic function.
[0337] Example 25: The method, apparatus, and non-transitory computer-readable medium of any one of Examples 22 to 24, further comprising: generating a flux-to-current mapping using a current simplex and a flux simplex to map flux values of the flux simplex to corresponding current values of the current simplex to provide a one-to-one relationship between flux values and current values, wherein the flux-to-current mapping is the inverse of the current-to-flux mapping.
[0338] Example 27: The method, apparatus, and non-transitory computer-readable medium of any one of Examples 22 to 26, further comprising: determining an error value for each of a plurality of points of a current to flux mapping; selecting a point from the plurality of points based on the determined error value; adding the point to a data set of current-flux pairs for operating points of the motor to generate an updated data set; applying a domain decomposition algorithm to the updated data set to generate an updated set of current simplexes and an updated set of flux simplexes; and generating an updated current to flux mapping using the updated set of current simplexes and the updated set of flux simplexes to map current values in the updated set of current simplexes to corresponding flux values in the updated set of flux simplexes to provide a one-to-one relationship between current values and flux values.
[0339] Example 28: The method, apparatus, and non-transitory computer-readable medium of any one of Examples 22 to 27, further comprising: determining an error value for each of a plurality of points of a current to flux mapping; selecting a point from the plurality of points based on the determined error value; removing the point from a data set of current-flux pairs for operating points of the motor to generate an updated data set; applying a domain decomposition algorithm to the updated data set to generate an updated set of current simplexes and an updated set of flux simplexes; and generating an updated current to flux mapping using the updated set of current simplexes and the updated set of flux simplexes to map current values in the updated set of current simplexes to corresponding flux values in the updated set of flux simplexes to provide a one-to-one relationship between current values and flux values.
[0340] Example 29: A method, apparatus, and non-transitory computer readable medium according to any of Examples 22 to 28, wherein the electric motor is at least one selected from the group consisting of a wound field synchronous motor, a hybrid synchronous motor, a permanent magnet synchronous motor, an induction motor, a universal motor, or a reluctance motor.
[0341] Example 30: A method, apparatus, and non-transitory computer-readable medium for motor control, comprising: determining, by an electronic controller, 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; determining, by the electronic controller and based on desired control parameters, a target motor control parameter value for each dimension in the set of dimensions of the rotating reference frame using a first piecewise affine mapping; and controlling, by the electronic controller, a power switch network based on the current values and the target motor control parameter values.
[0342] Example 31: A method, apparatus, and non-transitory computer-readable medium according to Example 30, wherein determining the current value of a motor in a rotating reference frame comprises: determining electrical operating characteristics of the motor in a stationary reference frame; determining the rotational position of the motor; and transforming the electrical operating characteristics and the rotational position into the current value of the motor in the rotating reference frame.
[0343] Example 32: The method, apparatus, and non-transitory computer-readable medium according to any one of Examples 30 to 32 further include: determining a flux linkage value for each dimension in a set of dimensions for a rotating reference system based on a current value using a second piecewise affine mapping, wherein the second piecewise affine mapping includes multiple affine functions, each of the multiple affine functions being associated with a corresponding domain in a plurality of domains; wherein determining a flux linkage value for each dimension in a set of dimensions for a rotating reference system based on a current value using the second piecewise affine mapping includes: identifying a first domain corresponding to the current value and selected from a plurality of domains, the first domain being associated with a first affine function in a plurality of affine functions, and applying the current value to the first affine function to determine a flux linkage value for each dimension in a set of dimensions for a rotating reference system; and wherein controlling a power switch network based on the current value includes: controlling the power switch network based on the flux linkage value determined from the current value using the second piecewise affine mapping.
[0344] Example 33: The method, apparatus, and non-transitory computer readable medium of Example 32, wherein each of the plurality of domains corresponds to a simplex provided by performing a domain decomposition algorithm on a data set of current and flux pairs for a plurality of operating points of the electric machine.
[0345] Example 34: The method, apparatus, and non-transitory computer readable medium of any of Examples 30 to 33, wherein the first piecewise affine mapping is a piecewise affine mapping of control parameters to target motor control parameters.
[0346] Example 35: The method, apparatus, and non-transitory computer readable medium of Example 34, wherein the target motor control parameter value is a current value or a flux linkage value.
[0347] Example 36: A method, apparatus, and non-transitory computer-readable medium according to Example 35, wherein a first piecewise affine mapping comprises a plurality of affine functions, each of the plurality of affine functions being associated with a corresponding domain in a plurality of domains, and wherein determining a target motor control parameter value for each dimension in a set of dimensions of a rotating reference system using the first piecewise affine mapping based on a desired control parameter comprises: identifying a first domain corresponding to the desired control parameter and selected from the plurality of domains, the first domain being associated with a first affine function in the plurality of affine functions; and applying the desired control parameter to the first affine function to determine a target motor control parameter value for each dimension in the set of dimensions of the rotating reference system.
[0348] Example 37: The method, apparatus, and non-transitory computer readable medium of Example 35, wherein the desired control parameter is a target torque value for the motor.
[0349] Example 38: A method, apparatus, and non-transitory computer-readable medium according to any one of Examples 30 to 37, wherein a first piecewise affine mapping is generated based on: a subset of Pareto optimal frontier points defining a convex Pareto front, the Pareto optimal frontier points being a subset of data points including a current component, a flux component, a torque component, and a power consumption component.
[0350] Example 39: A method, apparatus, and non-transitory computer-readable medium according to any one of Examples 30 to 38, wherein the first piecewise affine mapping is a torque-current linkage piecewise affine mapping, and wherein determining a target motor control parameter value for each dimension in a set of dimensions of a rotating reference frame based on a desired control parameter using the first piecewise affine mapping includes: using the torque-current piecewise affine mapping to convert the desired torque into a target current value for each dimension in the set of dimensions of the rotating reference frame; and using the current-to-flux linkage piecewise affine mapping to convert the target current value into a target motor control parameter value, wherein the target motor control parameter value is a flux linkage value.
[0351] Example 40: A method, apparatus, and non-transitory computer-readable medium according to any one of Examples 30 to 39, wherein controlling a power switch network based on a current value and a target motor control parameter value includes: generating a voltage command for each dimension in a set of dimensions of a rotating reference frame based on a difference between the target motor control parameter value and a motor parameter indicated by the current value of the dimension; transforming the voltage command in the rotating reference frame to a stationary reference frame; generating a pulse width modulation control signal for each dimension of the stationary reference frame to control the power switch network to drive the stator of the motor; and generating a rotor control signal to control the drive of the rotor field winding.
[0352] Example 41: A method, apparatus, and non-transitory computer-readable medium according to any one of Examples 30 to 40, wherein controlling a power switch network based on a current value and a target motor control parameter value includes generating a control signal in a stationary reference frame to drive a motor based on a difference between the target motor control parameter value and a motor parameter indicated by a dimensional current value.
[0353] Example 42: A method, apparatus, and non-transitory computer-readable medium according to any one of Examples 30 to 41, wherein controlling a power switch network based on a current value and a target motor control parameter value includes generating a control signal based on a model predictive control algorithm to drive a motor based on the target motor control parameter value and the current value.
[0354] Example 43: According to the method, apparatus and non-transitory computer-readable medium of Example 42, wherein generating a control signal based on a model predictive control algorithm includes: solving a linear state space equation within a back-off time window to select a next control parameter.
[0355] Example 44: The method, apparatus, and non-transitory computer-readable medium of Example 42, wherein generating the control signal based on the model predictive control algorithm comprises accessing a second piecewise affine mapping defined by solving the model predictive control algorithm offline using sample inputs.
[0356] Example 45: The method, apparatus, and non-transitory computer readable medium of any of Examples 30 to 44, wherein the electric machine is a wound field synchronous electric machine including at least three stator phases and at least one rotor field winding.
[0357] Example 46: A method, apparatus, and non-transitory computer-readable medium according to any one of Examples 30 to 45, wherein the power switch network includes an inverter switch bridge, the inverter switch bridge includes a plurality of power switch elements, and the inverter switch bridge is configured to receive DC power and output AC power to a winding of a stator based on a pulse width modulation control signal from an electronic controller.
[0358] Example 47: The method, apparatus, and non-transitory computer-readable medium of any one of Examples 30 to 46 further comprises: receiving input DC power by a DC / DC converter; and providing output DC power to at least one rotor field winding by the DC / DC converter according to a pulse width modulated rotor control signal from an electronic controller.
[0359] Example 48: The method, apparatus, and non-transitory computer readable medium of any of Examples 30 to 47, wherein the motor is at least one selected from the group consisting of a wound field synchronous motor, a hybrid synchronous motor, a permanent magnet synchronous motor, an induction motor, a universal motor, or a reluctance motor.
[0360] Example 49: A method, apparatus, and non-transitory computer-readable medium for motor control, comprising: determining, by an electronic controller, 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; 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; and controlling, by the electronic controller, a power switch network based on the current values and the target motor control parameter values by using a piecewise affine mapping, the piecewise affine mapping being defined by solving a model predictive control algorithm offline using sample inputs.
[0361] Example 50: The method, apparatus, and non-transitory computer-readable medium of Example 43 further include: determining a flux value for each dimension in a set of dimensions for a rotating reference frame based on the current value using a flux piecewise affine mapping, wherein control of the power switch network by the electronic controller is further based on the flux value.
[0362] Example 51: A method, apparatus, and non-transitory computer-readable medium according to any one of Examples 49 to 50, wherein a piecewise affine mapping includes a plurality of affine functions, each of the plurality of affine functions being associated with a corresponding domain in a plurality of domains, and wherein controlling a power switch network based on a current value and a target motor control parameter value by an electronic controller using the piecewise affine mapping includes: identifying a first domain corresponding to a flux value identified based on the current value and selected from a plurality of domains, the first domain being associated with a first affine function in the plurality of affine functions; and applying the flux value to the first affine function to determine a voltage command for each dimension in a set of dimensions of a rotating reference frame.
[0363] Example 52: A method, apparatus, and non-transitory computer-readable medium according to any one of Examples 49 to 51, wherein the flux linkage piecewise affine mapping includes multiple affine functions, each of the multiple affine functions is associated with a corresponding domain in a plurality of domains, and wherein determining the flux linkage value for each dimension in a set of dimensions for a rotating reference system using the flux linkage piecewise affine mapping by an electronic controller and based on a current value includes: identifying a first domain corresponding to the current value and selected from the multiple domains, the first domain being associated with a first affine function in the multiple affine functions; and applying the current value to the first affine function to determine the flux linkage value for each dimension in the set of dimensions for the rotating reference system.
[0364] Example 53: The method, apparatus, and non-transitory computer readable medium of Example 52, wherein each of the plurality of domains corresponds to a simplex provided by performing a domain decomposition algorithm on a data set of current and flux pairs for a plurality of operating points of the electric machine.
[0365] Example 54: A method, apparatus, and non-transitory computer-readable medium according to any one of Examples 49 to 53, wherein determining a target motor control parameter value for each dimension in a set of dimensions of a rotating reference frame based on a desired control parameter includes using a control parameter to current piecewise affine mapping or a control parameter to flux piecewise affine mapping.
[0366] Example 55: The method, apparatus, and non-transitory computer readable medium of Example 54, wherein the control parameter to current piecewise affine mapping or the control parameter to flux piecewise affine mapping defines a minimum power per torque (MPLPT) function.
[0367] Example 56: A method, apparatus, and non-transitory computer-readable medium according to any one of Examples 49 to 55, wherein the constrained finite-time optimal control is a model predictive control algorithm that provides a minimum cost path from a start state to an end state for each of a plurality of sampling time periods.
[0368] Example 57: The method, apparatus, and non-transitory computer readable medium of any of Examples 49 to 56, wherein the motor is at least one selected from the group consisting of a wound field synchronous motor, a hybrid synchronous motor, a permanent magnet synchronous motor, an induction motor, a universal motor, or a reluctance motor.
[0369] Example 58: A method, apparatus, and non-transitory computer-readable medium according to any one of Examples 1 to 10 and 13 to 20, wherein an electronic controller is configured to determine an inductance value for each dimension in a set of dimensions for a rotating reference frame based on a current value using a piecewise affine mapping; wherein the target value is a current value; and wherein, in order to control a power switch network based on the inductance value and the target current value, the electronic controller is configured to: generate a control signal in a stationary reference frame to drive a motor based on a difference between the current value for each dimension in the set of dimensions and the target current value and based on an inverse of the inductance value.
Claims
1. A motor system, comprising: a power switch network configured to couple to a power source and a motor; An electronic controller configured to: determining 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; determining, based on the current value, a flux linkage or inductance value for each dimension in the set of dimensions of the rotating reference frame using a piecewise affine mapping; determining a target value for each dimension in the set of dimensions for the rotating reference frame; and The power switch network is controlled based on the flux linkage or inductance value and the target value.
2. The motor system according to claim 1, characterized in that In order to determine the current value of the motor in the rotating reference frame, the electronic controller is configured to: determining electrical operating characteristics of the motor in a stationary reference frame; determining a rotational position of the motor; as well as The electrical operating characteristic and the rotational position are transformed into the current value of the motor in the rotating reference frame.
3. The motor system according to claim 1, in, The piecewise affine mapping includes a plurality of affine functions, each of the plurality of affine functions being associated with a respective domain of a plurality of domains, and Wherein, in order to determine the flux linkage or inductance value for each dimension of the set of dimensions of the rotating reference frame using a piecewise affine mapping based on the current value, the electronic controller is configured to: identifying a first domain corresponding to the current value and selected from the plurality of domains, the first domain being associated with a first affine function of the plurality of affine functions; and The current value is applied to the first affine function to determine the flux linkage or inductance value for each dimension in the set of dimensions of the rotating reference frame.
4. The motor system according to claim 3, characterized in that Each of the plurality of domains corresponds to a simplex provided by performing a domain decomposition algorithm on a data set of current and flux pairs for a plurality of operating points of the electric machine, or Each of the plurality of domains corresponds to a simplex provided by performing a domain decomposition algorithm on a data set of current and inductance pairs for a plurality of operating points of the electric machine.
5. The motor system according to claim 1, characterized in that To determine a target value for each dimension of the set of dimensions of the rotating reference frame, the electronic controller is configured to: determining desired control parameters of the motor; transforming the desired control parameter into a target current value of the motor in the rotating reference frame; and Based on the target current value, the target value for each dimension in the set of dimensions of the rotating reference frame is determined using the piecewise affine mapping.
6. The motor system according to claim 5, characterized in that In order to transform the desired control parameter into the target current value of the motor in the rotating reference frame, the electronic controller is further configured to: Based on the desired control parameter, a target current value for each dimension of the set of dimensions of the rotating reference frame is determined using a control parameter to current piecewise affine mapping.
7. The motor system according to claim 6, It is characterized in that The control parameter to current piecewise affine mapping includes a plurality of affine functions, each of the plurality of affine functions being associated with a respective domain of a plurality of domains, and Wherein, in order to determine the target current value for each dimension of the set of dimensions of the rotating reference frame based on the desired control parameter using a control parameter to current piecewise affine mapping, the electronic controller is configured to: identifying a first domain corresponding to the desired control parameter and selected from the plurality of domains, the first domain being associated with a first affine function of the plurality of affine functions; and The desired control parameter is applied to the first affine function to determine the target current value for each dimension of the set of dimensions of the rotating reference frame.
8. The motor system according to claim 6, characterized in that The desired control parameter is a target torque value of the motor.
9. The motor system according to claim 1, characterized in that To determine a target value for each dimension of the set of dimensions of the rotating reference frame, the electronic controller is configured to: determining desired control parameters of the motor; transforming the desired control parameter into a target current value for the motor in the rotating reference frame using a control parameter to current piecewise affine mapping, the target current value comprising a target current value for each dimension in the set of dimensions of the rotating reference frame; as well as Based on the target current value, the target value for each dimension of the set of dimensions of the rotating reference frame is determined.
10. The motor system according to claim 1, wherein: To determine a target value for each dimension of the set of dimensions of the rotating reference frame, the electronic controller is configured to: determining desired control parameters of the motor; and The desired control parameters are transformed into target values for the electric machine in the rotating reference frame using a control parameter to flux piecewise affine mapping, the target values including target flux values for each dimension in the set of dimensions of the rotating reference frame.
11. The motor system according to claim 1, It is characterized in that The electronic controller is configured to determine the flux linkage value for each dimension of the set of dimensions of the rotating reference frame based on the current value using a piecewise affine mapping; wherein the target value is a target flux value; and Wherein, in order to control the power switch network based on the flux value and the target flux value, the electronic controller is configured to: generating a voltage command for each dimension of the set of dimensions of the rotating reference frame based on a difference between the target flux linkage value and the flux linkage value of the dimension; transforming the voltage command in the rotating reference frame to the stationary reference frame; generating a pulse width modulated control signal for each dimension of the stationary reference frame to control the power switch network to drive the stator of the motor; and A rotor control signal is generated to control the driving of the rotor field winding.
12. The motor system according to claim 1, It is characterized in that The electronic controller is configured to determine the flux linkage value for each dimension of the set of dimensions of the rotating reference frame based on the current value using a piecewise affine mapping; wherein the target value is a target flux value; and Wherein, in order to control the power switch network based on the flux value and the target flux value, the electronic controller is configured to: Based on a difference between the target flux linkage value and the flux linkage value for each dimension in the set of dimensions, a control signal is generated in the stationary reference frame to drive the motor.
13. The motor system according to claim 1, It is characterized in that The electronic controller is configured to determine, based on the current value, the inductance value for each dimension of the set of dimensions of the rotating reference frame using a piecewise affine mapping; wherein the target value is a current value; and Wherein, in order to control the power switch network based on the inductance value and the target current value, the electronic controller is configured to: A control signal is generated in the stationary reference frame to drive the motor based on a difference between the current value and the target current value for each dimension in the set of dimensions and based on an inverse of the inductance value.
14. The motor system according to claim 1, wherein: In order to control the power switch network based on the flux linkage or inductance value and the target value, the electronic controller is configured to: A control signal is generated based on a model predictive control algorithm to drive the motor based on the target value and the flux or inductance value.
15. The motor system according to claim 14, characterized in that To generate the control signal based on the model predictive control algorithm, the electronic controller is configured to solve a linear state space equation within a back-off time window to select a next control parameter.
16. The motor system according to claim 14, wherein: To generate the control signal based on the model predictive control algorithm, the electronic controller is configured to access a second piecewise affine mapping defined by solving the model predictive control algorithm offline using sample inputs.
17. The motor system according to claim 1, wherein: The electric machine is a wound field synchronous machine comprising at least three stator phases and at least one rotor field winding.
18. The motor system according to claim 1, wherein: The power switch network includes an inverter switch bridge including a plurality of power switch elements, the inverter switch bridge being configured to receive DC power and output AC power to windings of the stator based on a pulse width modulation control signal from the electronic controller.
19. The electric machine 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 based on a pulse width modulated rotor control signal from the electronic controller.
20. The motor system of claim 1, wherein: The piecewise affine mapping maps a set of input values including the current value and at least one additional motor characteristic to an output flux or inductance value for each dimension in the set of dimensions.
21. The motor system of claim 1, wherein: The electric machine is at least one selected from the group consisting of a wound field synchronous machine, a hybrid synchronous machine, a permanent magnet synchronous machine, an induction machine, a universal machine, or a reluctance machine.
22. A method for controlling a motor, the method comprising: determining, by an electronic controller, 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; determining, based on the current value, a flux linkage or inductance value for each dimension in the set of dimensions of the rotating reference frame using a piecewise affine mapping; determining, by the electronic controller, a target value for each dimension in the set of dimensions of the rotating reference frame; and A power switch network coupled between a power source and the motor is controlled by the electronic controller based on the flux linkage or inductance value and the target value.
23. The method of claim 22, wherein: Determining the current value of the motor in the rotating reference frame includes: determining electrical operating characteristics of the motor in a stationary reference frame; determining a rotational position of the motor; and The electrical operating characteristic and the rotational position are transformed into the current value of the motor in the rotating reference frame.
24. The method of claim 22, It is characterized in that The piecewise affine mapping includes a plurality of affine functions, each of the plurality of affine functions being associated with a respective domain of a plurality of domains, and Wherein, determining the flux linkage or inductance value of each dimension in the set of dimensions of the rotating reference system using piecewise affine mapping based on the current value comprises: identifying a first domain corresponding to the current value and selected from the plurality of domains, the first domain being associated with a first affine function of the plurality of affine functions; and The current value is applied to the first affine function to determine the flux linkage or inductance value for each dimension in the set of dimensions of the rotating reference frame.
25. The method of claim 24, wherein: Each of the plurality of domains corresponds to a simplex provided by performing a domain decomposition algorithm on a data set of current and flux pairs for a plurality of operating points of the electric machine, or Each of the plurality of domains corresponds to a simplex provided by performing a domain decomposition algorithm on a data set of current and inductance pairs for a plurality of operating points of the electric machine.
26. The method of claim 22, wherein: Determining a target value for each dimension in the set of dimensions for the rotating reference frame includes: determining desired control parameters of the motor; transforming the desired control parameter into a target current value of the motor in the rotating reference frame; and Based on the target current value, the target value for each dimension in the set of dimensions of the rotating reference frame is determined using the piecewise affine mapping.
27. The method of claim 24, wherein: Transforming the desired control parameter into the target current value of the motor in the rotating reference system comprises: Based on the desired control parameter, a target current value for each dimension of the set of dimensions of the rotating reference frame is determined using a control parameter to current piecewise affine mapping.
28. The method of claim 27, wherein: The control parameter to current piecewise affine mapping includes a plurality of affine functions, each of the plurality of affine functions being associated with a respective domain of a plurality of domains, and Wherein, determining the target current value for each dimension in the set of dimensions of the rotating reference system based on the desired control parameter using a control parameter-to-current piecewise affine mapping comprises: identifying a first domain corresponding to the desired control parameter and selected from the plurality of domains, the first domain being associated with a first affine function of the plurality of affine functions; and The desired control parameter is applied to the first affine function to determine the target current value for each dimension of the set of dimensions of the rotating reference frame.
29. The method of claim 27, wherein: The desired control parameter is a target torque value of the motor.
30. The method of claim 22, wherein: Determining a target flux linkage value for each dimension in the set of dimensions of the rotating reference frame includes: determining desired control parameters of the motor; transforming the desired control parameter into a target current value for the motor in the rotating reference frame using a control parameter to current piecewise affine mapping, the target current value comprising a target current value for each dimension in the set of dimensions of the rotating reference frame; and Based on the target current value, the target value for each dimension of the set of dimensions of the rotating reference frame is determined.
31. The method of claim 22, wherein: Determining a target value for each dimension in the set of dimensions for the rotating reference frame includes: determining desired control parameters of the motor; and The desired control parameters are transformed into target values for the electric machine in the rotating reference frame using a control parameter to flux piecewise affine mapping, the target values including target flux values for each dimension in the set of dimensions of the rotating reference frame.
32. The method of claim 22, It is characterized in that Determining the flux linkage or inductance value of each dimension in the set of dimensions based on the current value includes: determining the flux linkage value of each dimension in the set of dimensions based on the current value; wherein the target value is a target flux value; and Wherein, controlling the power switch network based on the flux value and the target flux value includes: generating a voltage command for each dimension of the set of dimensions of the rotating reference frame based on a difference between the target flux linkage value and the flux linkage value of the dimension; transforming the voltage command in the rotating reference frame to the stationary reference frame; generating a pulse width modulated control signal for each dimension of the stationary reference frame to control the power switch network to drive the stator of the motor; and A rotor control signal is generated to control the driving of the rotor field winding.
33. The method of claim 22, It is characterized in that Determining the flux linkage or inductance value of each dimension in the set of dimensions based on the current value includes: determining the flux linkage value of each dimension in the set of dimensions based on the current value; wherein the target value is a target flux value; and Wherein, controlling the power switch network based on the flux value and the target flux value includes: Based on a difference between the target flux linkage value and the flux linkage value of the dimension, a control signal is generated in the stationary reference frame to drive the motor.
34. The method of claim 22, It is characterized in that Determining the flux linkage or inductance value of each dimension in the set of dimensions based on the current value includes: determining the inductance value of each dimension in the set of dimensions based on the current value; wherein the target value is a current value; and Wherein, controlling the power switch network based on the inductance value and the target current value comprises: A control signal is generated in the stationary reference frame to drive the motor based on a difference between the current value and the target current value for each dimension in the set of dimensions and based on an inverse of the inductance value.
35. The method of claim 22, wherein: Controlling the power switch network based on the flux linkage or inductance value and the target value includes: A control signal is generated based on a model predictive control algorithm to drive the motor based on the target value and the flux or inductance value.
36. The method of claim 22, wherein: Generating the control signal based on the model predictive control algorithm includes solving a linear state space equation within a back-off time window to select a next control parameter.
37. The method of claim 22, wherein: Generating the control signal based on the model predictive control algorithm includes accessing a second piecewise affine mapping defined by solving the model predictive control algorithm offline using sample inputs.
38. The method of claim 22, wherein: The electric machine is a wound field synchronous machine comprising at least three stator phases and at least one rotor field winding.
39. The method of claim 22, wherein: The power switch network includes an inverter switch bridge including a plurality of power switch elements, the inverter switch bridge receiving DC power and outputting AC power to windings of the stator based on a pulse width modulation control signal from the electronic controller.
40. The method of claim 22, further comprising: receiving input DC power from a DC / DC converter; as well as Output DC power is provided by the DC / DC converter to at least one rotor field winding in accordance with a pulse width modulated rotor control signal from the electronic controller.
41. The method of claim 22, wherein: The piecewise affine mapping maps a set of input values including the current value and at least one additional motor characteristic to an output flux or inductance value for each dimension in the set of dimensions.
42. The method of claim 22, wherein: The electric machine is at least one selected from the group consisting of a wound field synchronous machine, a hybrid synchronous machine, a permanent magnet synchronous machine, an induction machine, a universal machine, or a reluctance machine.
43. A non-transitory computer readable medium storing computer executable instructions for causing a processor to: determining 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; determining, based on the current value, a flux linkage or inductance value for each dimension in the set of dimensions of the rotating reference frame using a piecewise affine mapping; determining a target value for each dimension in the set of dimensions for the rotating reference frame; and A power switch network coupled to the motor and a power source is controlled based on the flux linkage or inductance value and the target value.
44. The non-transitory computer readable medium of claim 43, wherein: To determine a current value of the motor in a rotating reference frame, the instructions are configured to further cause the processor to: determining electrical operating characteristics of the motor in a stationary reference frame; determining a rotational position of the motor; and The electrical operating characteristic and the rotational position are transformed into the current value of the motor in the rotating reference frame.
45. The non-transitory computer readable medium of claim 43, It is characterized in that The piecewise affine mapping includes a plurality of affine functions, each of the plurality of affine functions being associated with a respective domain of a plurality of domains, and Wherein, in order to determine the flux linkage or inductance value for each dimension in the set of dimensions of the rotating reference frame using a piecewise affine mapping based on the current value, the instructions are used to further cause the processor to: identifying a first domain corresponding to the current value and selected from the plurality of domains, the first domain being associated with a first affine function of the plurality of affine functions; and The current value is applied to the first affine function to determine the flux linkage or inductance value for each dimension in the set of dimensions of the rotating reference frame.
46. The non-transitory computer readable medium of claim 43, wherein: To determine a target value for each dimension in the set of dimensions for the rotating reference frame, the instructions are to further cause the processor to: determining desired control parameters of the motor; transforming the desired control parameter into a target current value of the motor in the rotating reference frame; and Based on the target current value, the target value for each dimension in the set of dimensions of the rotating reference frame is determined using the piecewise affine mapping.
47. The non-transitory computer readable medium of claim 43, wherein: To determine a target flux linkage value for each dimension of the set of dimensions of the rotating reference frame, the instructions are for further causing the processor to: determining desired control parameters of the motor; transforming the desired control parameter into a target current value for the motor in the rotating reference frame using a control parameter to current piecewise affine mapping, the target current value comprising a target current value for each dimension in the set of dimensions of the rotating reference frame; as well as Based on the target current value, the target value for each dimension of the set of dimensions of the rotating reference frame is determined.
48. A motor system, the motor system comprising: An electronic controller comprising a processor and a memory, the electronic controller being configured to: obtaining a data set of current-flux pairs for an operating point of the motor; applying a domain decomposition algorithm to the data set to generate a current simplex and a flux linkage simplex; and The current simplex and flux linkage simplex are stored in a memory.
49. The motor system of claim 48, wherein: The electronic controller is further configured to: A current to flux linkage map is generated using the current simplex and the flux linkage simplex to map current values of the current simplex to corresponding flux linkage values of the flux linkage simplex to provide a one-to-one relationship between the current values and the flux linkage values.
50. The motor system of claim 49, wherein: The electronic controller is further configured to communicate the current-to-flux mapping to a motor controller including an electronic processor and an electronic memory.
51. The motor system of claim 49, wherein: The current to flux mapping is at least one selected from the group consisting of: a piecewise affine map comprising a plurality of linear functions, each linear function corresponding to a respective one of the current simplexes, and A secondary mapping includes at least one quadratic function.
52. The motor system of claim 49, wherein: The electronic controller is further configured to: A flux-to-current map is generated using the current simplex and the flux simplex to map flux linkage values of the flux simplex to corresponding current values of the current simplex to provide a one-to-one relationship between the flux linkage values and the current values, wherein the flux-to-current map is the inverse of the current-to-flux linkage map.
53. The motor system of claim 49, wherein: The electronic controller is further configured to: determining an error value for each of a plurality of points of the current to flux linkage mapping; selecting a point from the plurality of points based on the determined error value; adding the point to a data set of current-flux pairs for operating points of the motor to generate an updated data set; applying the domain decomposition algorithm to the updated data set to generate an updated set of current simplices and an updated set of flux linkage simplices; as well as An updated current-to-flux-linkage mapping is generated using the updated set of current simplexes and the updated set of flux-linkage simplexes to map current values in the updated set of current simplexes to corresponding flux-linkage values in the updated set of flux-linkage simplexes to provide a one-to-one relationship between the current values and the flux-linkage values.
54. The motor system of claim 49, wherein: The electronic controller is further configured to: determining an error value for each of a plurality of points of the current to flux linkage mapping; selecting a point from the plurality of points based on the determined error value; removing the point from a data set of current-flux pairs for operating points of the motor to generate an updated data set; applying the domain decomposition algorithm to the updated data set to generate an updated set of current simplices and an updated set of flux linkage simplices; as well as An updated current-to-flux-linkage mapping is generated using the updated set of current simplexes and the updated set of flux-linkage simplexes to map current values in the updated set of current simplexes to corresponding flux-linkage values in the updated set of flux-linkage simplexes to provide a one-to-one relationship between the current values and the flux-linkage values.
55. The motor system of claim 49, wherein: The electric motor is at least one selected from the group consisting of a wound field synchronous motor, a hybrid synchronous motor, a permanent magnet synchronous motor, an induction motor, a universal motor, or a reluctance motor.
56. A method comprising: obtaining, by the electronic controller, a data set of current-flux pairs for an operating point of the electric motor; applying, by the electronic controller, a domain decomposition algorithm to the data set to generate a current simplex and a flux linkage simplex; as well as The current simplex and the flux linkage simplex are stored in a memory by the electronic controller.
57. The method of claim 56, further comprising: A current to flux linkage map is generated using the current simplex and the flux linkage simplex to map current values of the current simplex to corresponding flux linkage values of the flux linkage simplex to provide a one-to-one relationship between the current values and the flux linkage values.
58. The method of claim 57, further comprising: The current-to-flux mapping is communicated to a motor controller including an electronic processor and electronic memory.
59. The method of claim 57, wherein: The current to flux mapping is at least one selected from the group consisting of: a piecewise affine map comprising a plurality of linear functions, each linear function corresponding to a respective one of the current simplexes, and A secondary mapping includes at least one quadratic function.
60. The method of claim 57, further comprising: A flux-to-current map is generated using the current simplex and the flux simplex to map flux linkage values of the flux simplex to corresponding current values of the current simplex to provide a one-to-one relationship between the flux linkage values and the current values, wherein the flux-to-current map is the inverse of the current-to-flux linkage map.
61. The method of claim 57, further comprising: determining an error value for each of a plurality of points of the current to flux linkage mapping; selecting a point from the plurality of points based on the determined error value; adding the point to a data set of current-flux pairs for operating points of the motor to generate an updated data set; applying the domain decomposition algorithm to the updated data set to generate an updated set of current simplices and an updated set of flux linkage simplices; as well as An updated current-to-flux-linkage mapping is generated using the updated set of current simplexes and the updated set of flux-linkage simplexes to map current values in the updated set of current simplexes to corresponding flux-linkage values in the updated set of flux-linkage simplexes to provide a one-to-one relationship between the current values and the flux-linkage values.
62. The method of claim 57, further comprising: determining an error value for each of a plurality of points of the current to flux linkage mapping; selecting a point from the plurality of points based on the determined error value; removing the point from a data set of current-flux pairs for operating points of the motor to generate an updated data set; applying the domain decomposition algorithm to the updated data set to generate an updated set of current simplices and an updated set of flux linkage simplices; as well as An updated current-to-flux-linkage mapping is generated using the updated set of current simplexes and the updated set of flux-linkage simplexes to map current values in the updated set of current simplexes to corresponding flux-linkage values in the updated set of flux-linkage simplexes to provide a one-to-one relationship between the current values and the flux-linkage values.
63. The method of claim 57, wherein: The electric motor is at least one selected from the group consisting of a wound field synchronous motor, a hybrid synchronous motor, a permanent magnet synchronous motor, an induction motor, a universal motor, or a reluctance motor.
64. A non-transitory computer readable medium storing computer executable instructions for causing a processor to: obtaining a data set of current-flux pairs for an operating point of the motor; applying a domain decomposition algorithm to the data set to generate a current simplex and a flux linkage simplex; and The current simplex and flux linkage simplex are stored in a memory.
65. A motor system, the motor system comprising: a power switch network configured to couple to a power source and to a motor; An electronic controller configured to: determining 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; determining, based on the desired control parameters, a target motor control parameter value for each dimension of the set of dimensions of the rotating reference frame using a first piecewise affine mapping that defines a minimum power loss per torque (MPLPT) function; and The power switch network is controlled based on the current value and the target motor control parameter value.
66. The motor system of claim 65, wherein: In order to determine the current value of the motor in the rotating reference frame, the electronic controller is configured to: determining electrical operating characteristics of the motor in a stationary reference frame; determining a rotational position of the motor; as well as The electrical operating characteristic and the rotational position are transformed into the current value of the motor in the rotating reference frame.
67. The motor system of claim 65, wherein: The electronic controller is further configured to: determining, based on the current value, a flux linkage value for each dimension in the set of dimensions of the rotating reference frame using a second piecewise affine mapping, wherein the second piecewise affine mapping comprises a plurality of affine functions, each of the plurality of affine functions being associated with a respective domain in a plurality of domains; Wherein, in order to determine the flux linkage value for each dimension of the set of dimensions of the rotating reference frame using a second piecewise affine mapping based on the current value, the electronic controller is configured to: identifying a first domain corresponding to the current value and selected from the plurality of domains, the first domain being associated with a first affine function of the plurality of affine functions, and applying the current value to the first affine function to determine the flux linkage value for each dimension in the set of dimensions of the rotating reference frame; and Therein, in order to control the power switch network based on the current value, the electronic controller is configured to control the power switch network based on the flux linkage value determined from the current value using the second piecewise affine mapping.
68. The motor system of claim 67, wherein: Each of the plurality of domains corresponds to a simplex provided by performing a domain decomposition algorithm on a data set of current and flux pairs for a plurality of operating points of the electric machine.
69. The motor system of claim 65, wherein: The first piecewise affine mapping is a piecewise affine mapping of control parameters to target motor control parameters.
70. The motor system of claim 69, wherein: The target motor control parameter value is a current value or a flux value.
71. The motor system of claim 70, It is characterized in that The first piecewise affine mapping includes a plurality of affine functions, each of the plurality of affine functions being associated with a respective domain of a plurality of domains, and Wherein, in order to determine the target motor control parameter value for each dimension of the set of dimensions of the rotating reference frame using the first piecewise affine mapping based on the desired control parameter, the electronic controller is configured to: identifying a first domain corresponding to the desired control parameter and selected from the plurality of domains, the first domain being associated with a first affine function of the plurality of affine functions; and The desired control parameter is applied to the first affine function to determine the target motor control parameter value for each dimension of the set of dimensions of the rotating reference frame.
72. The motor system of claim 70, wherein: The desired control parameter is a target torque value of the motor.
73. The motor system of claim 65, wherein: The first piecewise affine mapping is generated based on: A subset of Pareto optimal frontier points of a convex Pareto front is defined, the Pareto optimal frontier points being a subset of data points including a current component, a flux component, a torque component, and a power consumption component.
74. The motor system of claim 57, wherein: The first piecewise affine mapping is a torque-to-current piecewise affine mapping, and wherein, to determine a target motor control parameter value for each dimension of the set of dimensions of the rotating reference frame using the first piecewise affine mapping based on a desired control parameter, the electronic controller is configured to: converting a desired torque to a target current value for each dimension of the set of dimensions of the rotating reference frame using the torque-to-current piecewise affine mapping; and The target current value is converted to the target motor control parameter value using a current-to-flux piecewise affine mapping, wherein the target motor control parameter value is a flux value.
75. The motor system of claim 65, wherein: To control the power switch network based on the current value and the target motor control parameter value, the electronic controller is configured to: generating a voltage command for each dimension of the set of dimensions of the rotating reference frame based on a difference between the target motor control parameter value and a motor parameter indicated by the current value of the dimension; transforming the voltage command in the rotating reference frame to the stationary reference frame; generating a pulse width modulated control signal for each dimension of the stationary reference frame to control the power switch network to drive the stator of the motor; and A rotor control signal is generated to control the driving of the rotor field winding.
76. The motor system of claim 65, wherein: To control the power switch network based on the current value and the target motor control parameter value, the electronic controller is configured to: A control signal is generated in the stationary reference frame to drive the motor based on a difference between the target motor control parameter value and a motor parameter indicated by the current value of the dimension.
77. The motor system of claim 65, wherein: To control the power switch network based on the current value and the target motor control parameter value, the electronic controller is configured to: A control signal is generated based on a model predictive control algorithm to drive the motor based on the target motor control parameter value and the current value.
78. The motor system of claim 77, wherein: To generate the control signal based on the model predictive control algorithm, the electronic controller is configured to solve a linear state space equation within a back-off time window to select a next control parameter.
79. The motor system of claim 77, wherein: To generate the control signal based on the model predictive control algorithm, the electronic controller is configured to access a second piecewise affine mapping defined by solving the model predictive control algorithm offline using sample inputs.
80. The motor system of claim 65, wherein: The electric machine is a wound field synchronous machine comprising at least three stator phases and at least one rotor field winding.
81. The motor system of claim 65, wherein: The power switch network includes an inverter switch bridge including a plurality of power switch elements, the inverter switch bridge being configured to receive DC power and output AC power to windings of the stator based on a pulse width modulation control signal from the electronic controller.
82. The electric machine system of claim 65, further comprising a DC / DC converter configured to receive input DC power and provide output DC power to at least one rotor field winding based on a pulse width modulated rotor control signal from the electronic controller.
83. The motor system of claim 65, wherein: The electric machine is at least one selected from the group consisting of a wound field synchronous machine, a hybrid synchronous machine, a permanent magnet synchronous machine, an induction machine, a universal machine, or a reluctance machine.
84. A method of controlling a motor, the method comprising: determining, by an electronic controller, 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; determining, by the electronic controller and based on a desired control parameter, a target motor control parameter value for each dimension of the set of dimensions of the rotating reference frame using a first piecewise affine mapping; as well as A power switch network is controlled by the electronic controller based on the current value and the target motor control parameter value.
85. The method of claim 84, wherein: Determining the current value of the motor in the rotating reference frame includes: determining electrical operating characteristics of the motor in a stationary reference frame; determining a rotational position of the motor; and The electrical operating characteristic and the rotational position are transformed into the current value of the motor in the rotating reference frame.
86. The method of claim 84, further comprising: determining, based on the current value, a flux linkage value for each dimension in the set of dimensions of the rotating reference frame using a second piecewise affine mapping, wherein the second piecewise affine mapping comprises a plurality of affine functions, each of the plurality of affine functions being associated with a respective domain in a plurality of domains; Wherein, determining the flux linkage value of each dimension in the set of dimensions of the rotating reference system using a second piecewise affine mapping based on the current value comprises: identifying a first domain corresponding to the current value and selected from the plurality of domains, the first domain being associated with a first affine function of the plurality of affine functions, and applying the current value to the first affine function to determine the flux linkage value for each dimension in the set of dimensions of the rotating reference frame; and Wherein, controlling the power switch network based on the current value comprises: controlling the power switch network based on the flux linkage value determined from the current value using the second piecewise affine mapping.
87. The method of claim 86, wherein: Each of the plurality of domains corresponds to a simplex provided by performing a domain decomposition algorithm on a data set of current and flux pairs for a plurality of operating points of the electric machine.
88. The method of claim 86, wherein: The first piecewise affine mapping is a piecewise affine mapping of control parameters to target motor control parameters.
89. The method of claim 88, wherein: The target motor control parameter value is a current value or a flux value.
90. The method of claim 89, It is characterized in that The first piecewise affine mapping includes a plurality of affine functions, each of the plurality of affine functions being associated with a respective domain of a plurality of domains, and Wherein, determining the target motor control parameter value for each dimension in the set of dimensions of the rotating reference frame using a first piecewise affine mapping based on the desired control parameter comprises: identifying a first domain corresponding to the desired control parameter and selected from the plurality of domains, the first domain being associated with a first affine function of the plurality of affine functions; and The desired control parameter is applied to the first affine function to determine the target motor control parameter value for each dimension of the set of dimensions of the rotating reference frame.
91. The method of claim 90, wherein: The desired control parameter is a target torque value of the motor.
92. The method of claim 84, wherein: The first piecewise affine mapping is generated based on: A subset of Pareto optimal frontier points of a convex Pareto front is defined, the Pareto optimal frontier points being a subset of data points including a current component, a flux component, a torque component, and a power consumption component.
93. The method of claim 84, wherein: The first piecewise affine mapping is a torque-current linked piecewise affine mapping, and wherein determining a target motor control parameter value for each dimension of the set of dimensions of the rotating reference frame using the first piecewise affine mapping based on a desired control parameter comprises: converting a desired torque into a target current value for each dimension of the set of dimensions of the rotating reference frame using the torque-current piecewise affine mapping; and The target current value is converted into the target motor control parameter value using a current-flux piecewise affine mapping, wherein the target motor control parameter value is a flux value.
94. The method of claim 84, wherein: Controlling the power switch network based on the current value and the target motor control parameter value includes: generating a voltage command for each dimension of the set of dimensions of the rotating reference frame based on a difference between the target motor control parameter value and a motor parameter indicated by the current value of the dimension; transforming the voltage command in the rotating reference frame to the stationary reference frame; generating a pulse width modulated control signal for each dimension of the stationary reference frame to control the power switch network to drive the stator of the motor; and A rotor control signal is generated to control the driving of the rotor field winding.
95. The method of claim 84, wherein: Controlling the power switch network based on the current value and the target motor control parameter value includes: A control signal is generated in the stationary reference frame to drive the motor based on a difference between the target motor control parameter value and a motor parameter indicated by the current value of the dimension.
96. The method of claim 84, wherein: Controlling the power switch network based on the current value and the target motor control parameter value includes: A control signal is generated based on a model predictive control algorithm to drive the motor based on the target motor control parameter value and the current value.
97. The method of claim 96, wherein: Generating the control signal based on the model predictive control algorithm includes solving a linear state space equation within a back-off time window to select a next control parameter.
98. The method of claim 96, wherein: Generating the control signal based on the model predictive control algorithm includes accessing a second piecewise affine mapping defined by solving the model predictive control algorithm offline using sample inputs.
99. The method of claim 84, wherein: The electric machine is a wound field synchronous machine comprising at least three stator phases and at least one rotor field winding.
100. The method of claim 84, wherein: The power switch network includes an inverter switch bridge including a plurality of power switch elements, the inverter switch bridge being configured to receive DC power and output AC power to windings of the stator based on a pulse width modulation control signal from the electronic controller.
101. The method of claim 84, further comprising: receiving input DC power from a DC / DC converter; as well as Output DC power is provided by the DC / DC converter to at least one rotor field winding in accordance with a pulse width modulated rotor control signal from the electronic controller.
102. The method of claim 84, wherein: The electric machine is at least one selected from the group consisting of a wound field synchronous machine, a hybrid synchronous machine, a permanent magnet synchronous machine, an induction machine, a universal machine, or a reluctance machine.
103. A non-transitory computer readable medium storing computer executable instructions for causing a processor to: determining 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; determining, based on the desired control parameters, a target motor control parameter value for each dimension of the set of dimensions of the rotating reference frame using a first piecewise affine mapping that defines a minimum power loss per torque (MPLPT) function; and A power switch network coupled to the motor is controlled based on the current value and the target motor control parameter value.
104. A motor system, the motor system comprising: a power switch network configured to couple to a power source and a motor; An electronic controller configured to: determining 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; determining a target motor control parameter value for each dimension of the set of dimensions of the rotating reference frame based on a desired control parameter; as well as The power switch network is controlled based on the current value and the target motor control parameter value using a piecewise affine mapping defined by solving a constrained finite-time optimal control algorithm offline using sample inputs.
105. The motor system of claim 104, wherein: The electronic controller is further configured to determine, based on the current value, a flux linkage value for each dimension of the set of dimensions of the rotating reference frame using a flux linkage piecewise affine mapping, Wherein, the controlling of the power switch network by the electronic controller is further based on the flux linkage value.
106. The motor system of claim 105, wherein: The piecewise affine mapping includes a plurality of affine functions, each of the plurality of affine functions being associated with a respective domain of a plurality of domains, and Wherein, in order to control the power switch network based on the current value and the target motor control parameter value by using a piecewise affine mapping, the electronic controller is further configured to: identifying a first domain corresponding to a magnetic flux value identified based on the current value and selected from the plurality of domains, the first domain being associated with a first affine function of the plurality of affine functions; and The flux value is applied to the first affine function to determine a voltage command for each dimension of the set of dimensions of the rotating reference frame.
107. The motor system of claim 105, It is characterized in that The flux-linkage piecewise affine map comprises a plurality of affine functions, each of the plurality of affine functions being associated with a respective domain of a plurality of domains, and Wherein, in order to determine the flux linkage value for each dimension of the set of dimensions of the rotating reference frame using the flux linkage piecewise affine mapping based on the current value, the electronic controller is configured to: identifying a first domain corresponding to the current value and selected from the plurality of domains, the first domain being associated with a first affine function of the plurality of affine functions; and The current value is applied to the first affine function to determine the flux linkage value for each dimension in the set of dimensions of the rotating reference frame.
108. The motor system of claim 107, wherein: Each of the plurality of domains corresponds to a simplex provided by performing a domain decomposition algorithm on a data set of current and flux pairs for a plurality of operating points of the electric machine.
109. The motor system of claim 104, wherein: To determine the target motor control parameter value for each dimension of the set of dimensions of the rotating reference frame based on the desired control parameter, the electronic controller is further configured to use a control parameter to current piecewise affine mapping or a control parameter to flux piecewise affine mapping.
110. The motor system of claim 109, wherein: The control parameter to current piecewise affine mapping or the control parameter to flux piecewise affine mapping defines a minimum power loss per torque (MPLPT) function.
111. The motor system of claim 104, wherein: The constrained finite-time optimal control is a model predictive control algorithm that provides a minimum cost path from a start state to an end state for each of a plurality of sampling time periods.
112. The system of claim 104, wherein: The electric machine is at least one selected from the group consisting of a wound field synchronous machine, a hybrid synchronous machine, a permanent magnet synchronous machine, an induction machine, a universal machine, or a reluctance machine.
113. A method comprising: determining, by an electronic controller, 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; determining, by the electronic controller and based on a desired control parameter, a target motor control parameter value for each dimension of the set of dimensions of the rotating reference frame; as well as A power switch network is controlled by the electronic controller based on the current value and the target motor control parameter value using a piecewise affine mapping defined by solving a model predictive control algorithm offline using sample inputs.
114. The method of claim 113, further comprising: Based on the current value, a flux linkage value for each dimension in the set of dimensions of the rotating reference frame is determined using a flux linkage piecewise affine mapping. Wherein, the controlling of the power switch network by the electronic controller is further based on the flux linkage value.
115. The method of claim 113, wherein: The piecewise affine mapping includes a plurality of affine functions, each of the plurality of affine functions being associated with a respective domain of a plurality of domains, and Wherein, controlling the power switch network based on the current value and the target motor control parameter value by the electronic controller by using a piecewise affine mapping comprises: identifying a first domain corresponding to a magnetic flux value identified based on the current value and selected from the plurality of domains, the first domain being associated with a first affine function of the plurality of affine functions; and The flux value is applied to the first affine function to determine a voltage command for each dimension of the set of dimensions of the rotating reference frame.
116. The method of claim 113, It is characterized in that The flux-linkage piecewise affine map comprises a plurality of affine functions, each of the plurality of affine functions being associated with a respective domain of a plurality of domains, and Wherein, determining, by the electronic controller and based on the current value, the flux linkage value for each dimension in the set of dimensions of the rotating reference frame using the flux linkage piecewise affine mapping comprises: identifying a first domain corresponding to the current value and selected from the plurality of domains, the first domain being associated with a first affine function of the plurality of affine functions; and The current value is applied to the first affine function to determine the flux linkage value for each dimension in the set of dimensions of the rotating reference frame.
117. The method of claim 116, wherein: Each of the plurality of domains corresponds to a simplex provided by performing a domain decomposition algorithm on a data set of current and flux pairs for a plurality of operating points of the electric machine.
118. The method of claim 113, wherein: Determining the target motor control parameter value for each dimension of the set of dimensions of the rotating reference frame based on the desired control parameter includes using a control parameter to current piecewise affine mapping or a control parameter to flux piecewise affine mapping.
119. The method of claim 118, wherein: The control parameter to current piecewise affine mapping or the control parameter to flux piecewise affine mapping defines a minimum power loss per torque (MPLPT) function.
120. The method of claim 113, wherein: The constrained finite-time optimal control is a model predictive control algorithm that provides a minimum cost path from a start state to an end state for each of a plurality of sampling time periods.
121. The method of claim 113, wherein: The electric machine is at least one selected from the group consisting of a wound field synchronous machine, a hybrid synchronous machine, a permanent magnet synchronous machine, an induction machine, a universal machine, or a reluctance machine.
122. A non-transitory computer readable medium storing computer executable instructions for causing a processor to: determining 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; determining a target motor control parameter value for each dimension of the set of dimensions of the rotating reference frame based on a desired control parameter; and A power switch network coupled to the motor is controlled based on the current value and the target motor control parameter value using a piecewise affine mapping defined by solving a constrained finite-time optimal control algorithm offline using sample inputs.
