Adaptive pulse width modulation overmodulation in three-phase voltage source inverter

By using an adaptive pulse width modulation overmodulation method combined with DPWM technology, the problem of inverters not being able to fully utilize battery energy was solved, achieving efficient motor operation and maximizing battery energy utilization, while reducing switching losses and motor vibration.

CN121014164APending Publication Date: 2025-11-25KARMA AUTOMOTIVE LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480027619.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-04-28
Filing Date
2024-04-23
Publication Date
2025-11-25

AI Technical Summary

Technical Problem

Existing three-phase voltage source inverters cannot fully utilize the battery's power under PWM control, resulting in the motor not being able to maximize its use of battery energy. At the same time, over-modulation operation increases the thermal load and vibration of the inverter and motor.

Method used

An adaptive pulse width modulation overmodulation method is adopted. By receiving the voltage vector command value of the motor and the vehicle system status information, the overmodulation threshold is determined, a three-phase output is generated, and the inverter switching is controlled to operate in the overmodulation region. Combined with DPWM technology, the switching frequency and losses are reduced.

Benefits of technology

It improves the torque output of the motor, reduces the switching losses of the inverter and the vibration of the motor, and realizes the efficient utilization of battery energy by the motor.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121014164A_ABST
    Figure CN121014164A_ABST
Patent Text Reader

Abstract

A method (1100) includes receiving a voltage vector command value for an electric motor (120) implemented on a vehicle (100) and operating in a linear region (612). The method also includes receiving system state information (302) and determining that an overmodulation threshold is satisfied based on the system state information. Based on determining that the overmodulation threshold is satisfied, the method includes determining a modulation factor (812) index, generating a three-phase output (312, 314, 316) based on the voltage vector command value and the modulation factor, and determining a plurality of control signals based on the three-phase output. Each respective control signal of the plurality of control signals corresponds to a respective switch of a plurality of switches of the inverter (200). The method also includes instructing the plurality of switches to control operation of the motor in an overmodulation region (712).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to adaptive pulse width modulation overmodulation in three-phase voltage source inverters. Background Technology

[0002] The electric motor is controlled by power from an energy storage device, such as a battery, where an inverter converts the direct current (DC) power stored in the energy storage device into three-phase alternating current (AC) power to drive the motor. The inverter contains multiple switching devices controlled by pulse width modulation (PWM) to generate the AC power. A major drawback of using PWM to control the motor is that the output voltage generated by the inverter is lower than the total input voltage supplied to the inverter by the battery. Therefore, during PWM control, the motor cannot fully utilize the battery's power. Summary of the Invention

[0003] One aspect of this disclosure provides a computer-implemented method that, when executed on data processing hardware, causes the data processing hardware to perform operations for adaptive pulse width modulation overmodulation. These operations include receiving voltage vector command values ​​for a motor implemented on a vehicle and operating in a linear modulation region. These operations also include receiving system state information of the vehicle and determining, based on the vehicle's system state information, that an overmodulation threshold has been met. Based on determining that the overmodulation threshold has been met, these operations include: determining a modulation factor from a modulation index; generating a three-phase output based on the voltage vector command values ​​and the modulation factor; and determining a plurality of control signals based on the three-phase output. Here, the three-phase output corresponds to the motor operating in the overmodulation region, and each corresponding control signal of the plurality of control signals corresponds to a corresponding switch among a plurality of switches of an inverter. These operations also include instructing the plurality of switches of the inverter to control the motor to operate in the overmodulation region based on the plurality of control signals.

[0004] Implementations of this disclosure may include one or more of the following optional features. In some implementations, the operation further includes determining a time period during which the motor has been operating in the overmodulation region, determining that the time period meets a threshold time period, and, based on determining that the time period meets the threshold time period, instructing the motor to stop operating in the overmodulation region and operate in the linear modulation region. In some examples, generating the three-phase output uses a fixed amplitude value to generate the three-phase output. The vehicle's system state may include at least one of the vehicle's torque request, braking request, traction control request, collision avoidance request, battery limp request, or Global Positioning System (GPS) signal.

[0005] In some implementations, determining that the overmodulation threshold is satisfied based on the vehicle's system state information includes determining that the rate of change of the torque request satisfies the overmodulation threshold. In other implementations, determining that the overmodulation threshold is satisfied based on the vehicle's system state information includes determining that the collision avoidance request satisfies the overmodulation threshold. In some examples, the modulation factor corresponds to the maximum output voltage applied to the motor. The plurality of switches may include a first pair of switches corresponding to a first output node of the inverter, a second pair of switches corresponding to a second output node of the inverter, and a third pair of switches corresponding to a third output node of the inverter. In some implementations, the operation further includes determining an angle offset based on the vehicle's system state information. In these implementations, determining the plurality of control signals is also based on the angle offset.

[0006] Another aspect of this disclosure includes a vehicle. The vehicle includes an electric motor, an inverter, data processing hardware, and memory hardware. The memory hardware communicates with the data processing hardware and stores instructions that, when executed on the data processing hardware, cause the data processing hardware to perform operations for adaptive pulse width modulation overmodulation. These operations include receiving a voltage vector command value for the electric motor operating in a linear modulation region. These operations also include receiving system state information of the vehicle and determining, based on the vehicle's system state information, that an overmodulation threshold is satisfied. Based on determining that the overmodulation threshold is satisfied, these operations include determining a modulation factor from a modulation index, generating a three-phase output based on the voltage vector command value and the modulation factor, and determining a plurality of control signals based on the three-phase output. Here, the three-phase output corresponds to the electric motor operating in the overmodulation region, and each of the plurality of control signals corresponds to a corresponding switch among a plurality of switches of the inverter. The operation also includes instructing the plurality of switches of the inverter to control the electric motor to operate in the overmodulation region based on the plurality of control signals.

[0007] Implementations of this disclosure may include one or more of the following optional features. In some implementations, the operation further includes determining a time period during which the motor has been operating in the overmodulation region, determining that the time period meets a threshold time period, and, based on determining that the time period meets the threshold time period, instructing the motor to stop operating in the overmodulation region and operate in the linear modulation region. In some examples, generating the three-phase output uses a fixed amplitude value to generate the three-phase output. The vehicle's system state may include at least one of the vehicle's torque request, braking request, traction control request, collision avoidance request, battery limp request, or Global Positioning System (GPS) signal.

[0008] In some implementations, determining that the overmodulation threshold is satisfied based on the vehicle's system state information includes determining that the rate of change of the torque request satisfies the overmodulation threshold. In other implementations, determining that the overmodulation threshold is satisfied based on the vehicle's system state information includes determining that the collision avoidance request satisfies the overmodulation threshold. In some examples, the modulation factor corresponds to the maximum output voltage applied to the motor. The plurality of switches may include a first pair of switches corresponding to a first output node of the inverter, a second pair of switches corresponding to a second output node of the inverter, and a third pair of switches corresponding to a third output node of the inverter. In some implementations, the operation further includes determining an angle offset based on the vehicle's system state information. In these implementations, determining the plurality of control signals is also based on the angle offset.

[0009] Details of one or more embodiments of this disclosure will be set forth in the accompanying drawings and the following description. Other aspects, features, and advantages will become apparent from the description, drawings, and claims. Attached Figure Description

[0010] Figure 1 It is a schematic diagram of an electric drive system that includes an energy storage device, a three-phase inverter, and a motor.

[0011] Figure 2 yes Figure 1 A circuit diagram of a three-phase inverter for an electric drive system.

[0012] Figure 3A and Figure 3B Determined based on angle offset Figure 2 A schematic diagram of an example controller for the control signals of a three-phase inverter.

[0013] Figure 4 This is a schematic diagram of a clamp space vector modulator based on angular offset.

[0014] Figure 5 This is a schematic diagram of a clamped space vector modulator without using angular offset.

[0015] Figure 6 This is a state-space voltage switching vector diagram showing the linear modulation region.

[0016] Figure 7 This is a state-space voltage switching vector diagram showing the overmodulation region.

[0017] Figure 8 This is a schematic diagram of the overmodulation module.

[0018] Figure 9 This is a state-space voltage switch vector diagram showing a smooth overmodulation region.

[0019] Figure 10This is a state-space voltage switch vector diagram showing an overmodulation region with interrupted rotation.

[0020] Figure 11 This is a flowchart of an example operational setup for implementing a computer-based method for adaptive PWM overmodulation.

[0021] Figure 12 This is a schematic diagram of an example computing device that can be used to implement the systems and methods described in this paper.

[0022] The same reference numerals in the various figures indicate the same elements. Detailed Implementation

[0023] A system for controlling the electric motors of an electric vehicle typically includes an energy storage device (e.g., a battery), an inverter, one or more electric motors, and a controller. The energy storage device provides direct current (DC) power, while the one or more electric motors require three-phase alternating current (AC) power to operate. Therefore, the inverter converts the DC power provided by the energy storage device into three-phase AC power to power the one or more electric motors. Specifically, the inverter includes a controller that instructs the switching state (e.g., open or closed) of each of the inverter's multiple switches (e.g., six (6) switches). In other words, the controller instructs the multiple switches to open or close via a pulse width modulation (PWM) control signal, thereby outputting AC power from the inverter. At any given time step, there may be three (3) switches open and another three (3) switches closed. Therefore, the PWM control signal can adjust the opening and closing times (duty cycles) of the switches. The PWM control signal can include a sine wave, a linear frequency modulated wave, or a square wave. Thus, the inverter generates three independent AC power signals (e.g., three-phase outputs) spaced 120 degrees apart for controlling the three-phase electric motors. However, switching multiple switches on an inverter can lead to switching losses, thereby reducing the inverter's efficiency.

[0024] Discontinuous pulse width modulation (DPWM) is a modulation technique used in inverters that drive electric motors, in which the inverter clamps two (2) of six switches to either the positive or negative terminal of a DC bus voltage (e.g., a battery) while the inverter continues to modulate the other four (4) switches using PWM. This alters the AC power signal corresponding to the clamped switches from a sine wave and maintains a constant value at either the positive or negative terminal of the battery during the clamping period. In this text, the clamping of the switches to the DC bus voltage is referred to as "clamping." In three-phase DPWM, one phase (e.g., one switch) is always clamped to either the positive or negative terminal of the DC bus voltage. In some examples, the inverter clamps two (2) switches for one-third of the PWM signal period. Therefore, the inverter intentionally generates a third harmonic signal to saturate the PWM signal and reduce the number of times the inverter switches are switched, while maintaining the same output phase-to-phase voltage value. Therefore, the inverter can shut down the switch of each phase (e.g., each pair of switches) in two (2) of the eight (8) switching states. Although in some examples only six (6) of the eight (8) switching states are needed to generate AC power. However, arbitrarily or voltage-based clamping of each phase does not minimize the inverter's switching losses.

[0025] PWM techniques (such as space vector PWM (SVPWM) or DPWM modulation) operate inverters by utilizing only a portion of the total battery input power (e.g., the linear modulation region). For example, the inverter might apply only about 90% of the battery voltage to the motor, leaving the remaining 10% unused. In contrast, using an overmodulated inverter allows the inverter to apply the entire battery input voltage (e.g., the overmodulation region) to the motor, generating additional torque that would not be available during SVPWM or DPWM operation. However, using an overmodulated inverter is not without its consequences. Overmodulation increases the thermal load on both the inverter and the motor, and can induce oscillations in the motor, leading to vibration. Therefore, the motor should only be operated in the overmodulation region when additional torque is required to avoid the consequences of overmodulation.

[0026] Therefore, the embodiments described herein pertain to a method and system for performing adaptive PWM overmodulation in a three-phase voltage source inverter (e.g., an electric vehicle). For example, PWM overmodulation can be implemented in an inverter for controlling the motor of an electric vehicle. The inverter includes a controller that receives voltage vector command values ​​for the motor operating in a linear modulation region and receives system state information of the vehicle. System state information may include, but is not limited to, acceleration requests, collision avoidance requests from an autonomous vehicle controller, and regenerative braking requests. Therefore, the controller can determine, based on the system state information, that an overmodulation threshold is met, thereby determining the additional torque required for the motor during overmodulation. For example, in response to a collision avoidance request, the controller can determine that the motor needs to be overmodulated to enable the electric vehicle to perform a wider range of maneuvers to avoid a collision. Based on the determination that the overmodulation threshold is met, the controller determines a modulation factor from a modulation index, generates a three-phase output, and determines multiple control signals based on this three-phase output. The controller then instructs multiple switches of the inverter to control the operation of the motor in the overmodulation region based on the multiple control signals. Clearly, the controller can apply overmodulation as a supplement to or alternative to DPWM. Therefore, by applying overmodulation and DPWM simultaneously, the motor can generate additional torque while reducing the switching frequency to improve efficiency.

[0027] Figure 1 An exemplary electric drive system 100 for an electric vehicle is shown. The exemplary electric drive system 100 can be applied to any electric vehicle, such as a battery electric vehicle (BEV), a hybrid electric vehicle (HEV), or a plug-in hybrid electric vehicle (PHEV). The electric drive system 100 includes one or more batteries (e.g., battery packs) 110, each battery storing energy usable by an electric motor 120. The batteries 110 provide a direct current (DC) voltage output and are electrically connected to a three-phase inverter 200 and one or more electric motors 120. For clarity, Figure 1 Only one battery 110 and one electric motor 120 are shown. However, it will be understood that the electric drive system 100 may include any number of batteries and any number of electric motors 120 (e.g., one electric motor per wheel of an electric vehicle). The vehicle also includes an overmodulation module 800, which communicates with the controller 300 and is configured to operate one or more electric motors 120 in an overmodulated region. The following will combine... Figure 8 A more detailed description of how to operate one or more motors 120 in the overmodulation region.

[0028] A three-phase inverter 200 (also simply referred to as "inverter 200") is also electrically connected to the one or more motors 120 and is configured to transfer energy between the battery 110 and the motor 120. The motor 120 may require a three-phase alternating current (AC) output; therefore, the inverter 200 converts the DC voltage from the battery 110 into a three-phase AC output for the motor 120. The motor may be configured to generate torque by receiving the three-phase AC output from the inverter 200 to drive the wheels of the electric vehicle. The motor 120 may include a rotation angle sensor 130 (… Figure 2 ), used to detect the rotational position of the rotor of the motor 120 and continuously output the rotational position of the rotor.

[0029] Battery 110 may include multiple battery cells, which may have various chemical compositions. For example, the chemical composition of the battery cells may include, but is not limited to, lead-acid batteries, nickel-cadmium batteries (NiCd), nickel-metal hydride batteries (NiMH), lithium-ion batteries, or lithium-ion polymer batteries. Each battery 110 may include a single battery cell or multiple battery cells connected in parallel. Alternatively, each battery 110 may include a single battery cell or multiple battery cells connected in series, parallel, or a combination of both.

[0030] Battery 110 may include a battery controller for monitoring and controlling the performance of battery 110. For example, the battery controller may include a current sensor for measuring the state of charge and capacity of the battery. The current sensor may utilize various physical principle-based methods to detect current, including Hall effect integrated circuit (IC) sensors, converters or current clamps, resistors whose voltage is proportional to the current flowing through them, optical fibers that use interferometers to measure the phase change of light generated by a magnetic field, or Rogowski coils. If the battery cell is charging or discharging, causing the current flowing in or out to exceed a threshold, the battery control module may disconnect the battery cell using a circuit interruption device (CID) such as a fuse or circuit breaker.

[0031] Figure 2 This is a circuit diagram of a three-phase inverter 200 connected to motor 120. Inverter 200 is electrically connected to the low-voltage (-) node 202 (e.g., the negative terminal of battery 110). Figure 1 )) and high voltage (+) node 204 (e.g., the positive terminal of battery 110 ( Figure 1 )). Figure 2The low-voltage (-) node 202 shown represents a ground reference. This ground reference is not necessarily electrically connected to earth. Rather, it represents a node maintained at a reference voltage that is substantially constant relative to any other voltage, which may be zero (0) volts or any non-zero voltage. Inverter 200 may also include a DC capacitor 210 connected in parallel with the high-voltage (+) node 204 and the low-voltage (-) node 202. The DC capacitor 210 is configured to generate power from battery 110 ( Figure 1 The input voltage for charging. The input voltage of DC capacitor 210 can be the input voltage of inverter 200, which controls multiple switches T and drives motor 120.

[0032] Inverter 200 includes multiple switches T (e.g., six (6) switches T1-T6). The multiple switches can be a series of connected switch pairs, such as first and fourth switches T1, T4, second and fifth switches T2, T5, and third and sixth switches T3, T6. To avoid short circuits, two switches T in each pair cannot be closed simultaneously. Hereinafter, the closing or opening of a corresponding switch is referred to as its corresponding switch state. Each switch T can be any power semiconductor switch, such as a metal-oxide-semiconductor field-effect transistor (MOSFET) or an insulated-gate bipolar transistor (IGBT). Furthermore, each switch includes a diode connected in parallel to provide reverse current flow.

[0033] Inverter 200 also includes an output node AC corresponding to each pair of switches T. Here, each output node can be interchangeably referred to as an output branch of inverter 200. Figure 2 As shown, the first output node A corresponds to the switch pair including the first and fourth switches T1, T4; the second output node B corresponds to the switch pair including the second and fifth switches T2, T5; and the third output node C corresponds to the switch pair including the third and sixth switches T3, T6. Each corresponding output node can be connected to either the high-voltage (+) node 204 or the low-voltage (-) node 202. For example, when the first switch T1 is closed and the fourth switch T4 is open, the first output node A is connected (i.e., clamped) to the high-voltage (+) node 204. Alternatively, when the first switch T1 is open and the fourth switch T4 is closed, the first output node A is connected (i.e., clamped) to the low-voltage (-) node 202. Therefore, when the inverter 200 clamps the corresponding output node, output nodes A–C provide AC power signals to drive the motor 120, or directly provide DC voltage from the battery 110. During PWM control, each output node A–C includes AC power (e.g., a sinusoidal signal) that is 120 degrees out of phase with each other.

[0034] Inverter 200 also includes controller 300, configured to control the switching state of each of the plurality of switches T. More specifically, controller 300 is electrically connected to each corresponding switch T and configured to control the corresponding switch T via a corresponding control signal S. Figure 2 As shown, the first control signal S1 is configured to control the switching state of the first switch T1, the second control signal S2 is configured to control the switching state of the second switch T2, the third control signal S3 is configured to control the switching state of the third switch T3, the fourth control signal S4 is configured to control the switching state of the fourth switch T4, the fifth control signal S5 is configured to control the switching state of the fifth switch T5, and the sixth control signal S6 is configured to control the switching state of the sixth switch T6. Therefore, by outputting the control signals S, the controller 300 can control the switching state (e.g., closed or open) of each switch S and provide AC power through the output node AC to control the motor 120.

[0035] In some examples, controller 300 receives motor command signal 301, which indicates the desired operating state of motor 120 for use in electric vehicle 100 ( Figure 1 The inverter 200 provides dynamic power. The controller 300 can use pulse width modulation (PWM) to calculate the duty cycle (e.g., closing and opening times) of the switch T. Obviously, in some embodiments, the controller 300 uses discontinuous pulse width modulation (DPWM) to calculate the duty cycle for the switch T. In these embodiments, DPWM reduces the switching losses of the switch T by simultaneously clamping both switches T of the corresponding phase, thereby improving the efficiency of the inverter 200.

[0036] In some examples, controller 300 receives torque-related information during the operation of motor 120. That is, controller 300 may receive voltage vector command values ​​Vd and Vq. In some examples, controller 300 determines the voltage vector command values ​​Vd and Vq based on motor command 301. Here, the voltage vector command values ​​Vd and Vq represent the output voltage applied to motor 120 to achieve motor command 301. In other examples, controller 300 receives voltage vector command values ​​Vd and Vq from angle sensor 130 of motor 120; these values ​​represent measured rotor angles of motor 120. Additionally, controller 300 may optionally receive current measurements Id and Iq from motor 120. (Reference) Figure 3A and Figure 3BIn more detail, controller 300 can generate control signals S1 to S6 in part based on voltage vector command values ​​Vd, Vq and / or current measurement values ​​Id (e.g., d-axis current), Iq (e.g., q-axis current) received from motor 120. As described above, controller 300 can clamp the two (2) switches T for one-third of the control signal S cycle to reduce switching losses. However, determining when to clamp the two (2) switches T in an adaptive and / or predictive manner will further reduce switching losses.

[0037] Now for reference Figure 3A and Figure 3B The controller 300 includes a conversion module, an angle offset module 320, and a PWM module 330. In some examples, the controller is configured to perform PWM, whereby the controller 300 determines the duty cycle (e.g., closing and opening times) for each switch T of the inverter to regulate the torque of the motor to a desired value (e.g., a motor command signal). In some embodiments, the controller 300 performs DPWM, whereby the controller 300 determines the duty cycle for each switch T. In these embodiments, DPWM improves the efficiency of the inverter 200 (compared to PWM) by reducing the switching losses of the switches T of the inverter 200. Therefore, the controller 300 can be configured to determine torque-related information during the operation of the motor 120 based on the signal provided by the rotation angle sensor 130 and the current value provided to the motor 120. To this end, the controller 300 is configured to operate switches T1-T6 via control signals S1-S6 such that the motor 120 operates according to the motor command signal 301 while minimizing switching losses.

[0038] The conversion module 310 is configured to receive voltage vector command values ​​Vd and Vq at each time step and generate corresponding three-phase outputs 312, 314, and 316. In some examples, the conversion module 310 applies an inverse Park transform to the voltage vector command values ​​Vd and Vq to generate the corresponding three-phase outputs 312, 314, and 316. Alternatively or supplementarily, the conversion module 310 may apply an inverse Clarke transform to the voltage vector command values ​​Vd and Vq to generate the corresponding three-phase outputs 312, 314, and 316. The PWM module (e.g., a three-phase clamping PWM module 220) is configured to receive the three-phase outputs 312, 314, and 316 generated by the conversion module 310 at the corresponding time steps based on the voltage vector command values ​​Vd and Vq, and generate control signals S1–S6 as outputs based on the three-phase outputs 312, 314, and 316 and the angle offset (amount) 322.

[0039] Now for specific reference Figure 3A In some embodiments, the angle offset module 320 of example controllers 300, 300a is based on an electric vehicle ( Figure 1 The system status information 302 of the electric vehicle determines the angle offset 322. Here, the system status information 302 of the electric vehicle may include, but is not limited to, torque requests (e.g., acceleration requests), braking requests (e.g., deceleration requests), electric vehicle mass, steering angle requests (e.g., turning requests), and / or the electric vehicle's Global Positioning System (GPS) signals. For example, the operator of the electric vehicle 100 may request torque by pressing the accelerator pedal, request braking by pressing the brake pedal, or request steering angle by turning the steering wheel. Alternatively, the electric vehicle's adaptive cruise control controller or autonomous driving vehicle controller may generate these requests without any operator interaction. The mass of the electric vehicle 100 may be known in advance based on a fixed value set by the manufacturer of the electric vehicle 100, and / or may be determined by the electric vehicle 100's load sensors. Furthermore, the GPS signals may indicate the vehicle's geographical location and be cross-referenced with map information to predict the vehicle's operating characteristics, such as the electric vehicle approaching a turn, approaching an uphill slope (e.g., uphill road), and / or approaching a downhill slope (e.g., downhill road). Cross-referencing the vehicle's geographic location with map information can also predict upcoming torque or braking requests, such as when the vehicle is approaching a highway entrance (e.g., an imminent torque request to increase speed to meet the highway speed limit), or when the vehicle is approaching a stop sign, intersection, and / or entering an area with a lower speed limit (e.g., an imminent braking request to reduce speed). Alternatively, real-time or predicted traffic information can be cross-referenced to determine if the vehicle is approaching a congested area and may slow down. Therefore, the angle offset module 320 uses system status information to adjust / predict the operation of the motor 120 in a timely manner and outputs an angle offset 322 to allow the PWM module 330 to control when to apply clamping to the corresponding pair of switches T. For example, based on the current speed and the GPS signal determined from the system status information 302 (which indicates that the vehicle 100 is approaching an uphill section of the road), the angle offset module 320 can calculate the value of the angle offset 322 based on the determination that the electric vehicle 100 requires additional torque to maintain its current speed (rate) when traveling uphill on the road. In response to receiving an angle offset 322, the PWM module 330 determines the corresponding control signals S1 to S6 so as to apply clamping in a timely manner during DPWM, thereby minimizing switching losses.

[0040] Therefore, the PWM module 330 is configured to receive three-phase outputs 312, 314, 316 and angle offset 322 as inputs, and determine corresponding control signals S1–S6 as outputs. These control signals clamp the corresponding switch pairs T1 / T4, T2 / T5, T3 / T6 in an optimal manner, reducing switching losses compared to conventional DPWM technology that relies solely on voltage vector command values ​​Vd and Vq. Advantageously, the PWM module 330 determines the control signals S1–S6 in part based on the angle offset 322, thereby allowing the PWM module to determine in a timely (e.g., predictively) manner what will minimize the inverter 200 ( Figure 2 The control signals S1–S6 for switching losses. In short, if the angle offset 322 is not used to determine the control signals S1–S6, and the PWM module 330 determines the control signals S1–S6 solely based on the voltage vector command values ​​Vd and Vq, the PWM module 330 cannot determine the control signals S1–S6 for clamping in a timely or adaptive manner, thus failing to effectively minimize switching losses. Therefore, the angle offset 322, determined based on the system state information 302 and received from the PWM module 330, indicates when to clamp phases A–C of the inverter 200.

[0041] Now for reference Figure 3B In some embodiments, the angle offset module 320 of example controllers 300, 300b determines the angle offset 322 based on current measurement values ​​Id, Iq received from motor 120a, which may supplement or replace... Figure 3A The system status information 302 used by the controller 300a. That is, when the current measurement values ​​Id and Iq lag behind the voltage vector command values ​​Vd and Vq, determining the control signals S1–S6 for applying DPWM (e.g., determining which switches need clamping) solely based on the voltage vector command values ​​Vd and Vq of the rotor angle due to the lag in the current measurement values ​​Id and Iq is not optimal. In other words, the current phase of the motor 120 indicated by the current measurement values ​​Id and Iq can be offset (e.g., lag) relative to the voltage phase applied to the motor 120. Therefore, the angle offset module 320 of the controller 300b uses the current measurement values ​​Id and Iq to determine the angle offset 322, which takes into account the lag in the voltage measurement values, so that when the current measurement values ​​Id and Iq match the voltage measurement values ​​Vd and Vq, the PWM module 330 clamps the corresponding switch T of the corresponding phase of the inverter 200. Figure 3A The system status information 302 may include current measurement values ​​Id and Iq.

[0042] Figure 4 A schematic diagram of an example clamp space vector modulator 400 is shown, which uses an angle offset module 320. Figure 3A and Figure 3B The angle offset 322 generated is used to control the switching states of the multiple switches T1 to T6 when the inverter executes DPWM. For example, the clamp space vector modulator 400 can correspond to... Figure 3A and Figure 3B The PWM module 330 of the controller 300. The first phase transformation module 410 receives voltage reference signals Va 312, Vb 314, and Vc 316, and generates two-phase outputs 412 and 414. In the example shown, the reference signals Va, Vb, and Vc correspond to the corresponding signals in the three-phase outputs 312, 314, and 316, respectively. The first coordinate transformation module 420 is configured to receive the two-phase outputs 412 and 414 generated by the first phase transformation module 410, and generate the corresponding polar coordinate output 422. Here, the first coordinate transformation module 420 generates the polar coordinate output 422 by converting the two-phase outputs 412 and 414 from the Cartesian coordinate system to the polar coordinate system. Then, the adder 425 converts the angle offset module 320 ( Figure 3A and Figure 3B The generated angle offset 322 is added to the polar coordinate system 422 to generate angle offset polar coordinates 426. Then, the second coordinate transformation module 430 can receive the polar coordinates 422 output by the first coordinate transformation module 420 and the angle offset polar coordinates 426 corresponding to the addition of the polar coordinates 422 to the angle offset 322 by the adder 425, and generate the corresponding Cartesian coordinate outputs 432 and 434. Here, the second coordinate transformation module 430 generates Cartesian coordinate outputs 432 and 434 by transforming the input polar coordinates 422 and 426 into Cartesian coordinates.

[0043] The second phase transformation module 440 receives Cartesian coordinate outputs 432 and 434, and generates corresponding angle-shifted three-phase outputs 432, 434, and 436. Therefore, the corresponding angle-shifted three-phase outputs 432, 434, and 436 generated by the second phase transformation module 440 can correspond to the angle shift module 320 ( Figure 3A and Figure 3BThe generated angle offset 322 serves as the reference voltages Va312, Vb314, and Vc316. The maximum value arithmetic unit 451 receives the three-phase angle offset outputs 432, 434, and 436 generated by the second phase transformation module 440 and outputs the corresponding maximum value 452. Similarly, the minimum value arithmetic unit 453 receives the three-phase angle offset outputs 432, 434, and 436 generated by the second phase transformation module 440 and outputs the corresponding minimum value 454. A first conditional switch 460 compares the absolute values ​​of the maximum value 452 and the minimum value 454. When the absolute maximum value 452 and the absolute minimum value 454 are greater than or equal to one, the first conditional switch 460 is configured to output a value 462 equal to "true". Conversely, when the absolute maximum value 452 and the absolute minimum value 454 are less than one, the first conditional switch 460 is configured to output a value 462 equal to "false".

[0044] Another set of maximum and minimum value operators 471 and 473 are each configured to receive reference voltages Va 312, Vb 314, and Vc 316 (e.g., without adding angle offset 322) and output corresponding maximum and minimum values ​​472 and 474. In some examples, subtractor 473 subtracts the maximum value 472 from -1 to generate a first output value 476, and another subtractor 475 subtracts the minimum value 474 from -1 to generate a second output value 478. A second condition switch 480 is configured to receive the value 462 from the first condition switch 462 and output the first output value 476 when the value 462 is "true", or output the second output value 478 when the value 462 is "false". Then, the corresponding adders 313, 315, and 317 associated with each reference signal Va 312, Vb 314, and Vc 316 add the first output value 476 or the second output value 478 passed through the second condition switch 480 to the corresponding reference signal Va 312, Vb 314, and Vc 316 to generate the corresponding control signals PWM A 382, ​​PWM B 384, and PWM C 386. Each control signal PWM A–C corresponds to Figure 3A and Figure 3BThe diagram shows a pair of control signals S. For example, control signal PWM A382 corresponds to the first and fourth control signals S1 and S4, causing PWM A382 to control the first switch T1 and the fourth switch T4, thereby controlling the voltage at output node A. Control signal PWM B384 corresponds to the second and fifth control signals S2 and S5, causing PWM B384 to control the second switch T2 and the fifth switch T5, thereby controlling the voltage at output node B. Control signal PWM C386 corresponds to the third and sixth control signals S3 and S6, causing PWM C386 to control the third switch T3 and the sixth switch T5, thereby controlling the voltage at output node C. It is worth noting that each control signal PWM A–C includes a corresponding clamping phase, where the corresponding switch pair T is clamped for one-third of the cycle of the corresponding control signal PWM. Since the AC power signals provided by each output node A–C of the inverter are 120 degrees (120 degrees) out of phase, the electronic controller 300 outputs control signals PWM A–C, which causes only one pair of switches T to be clamped by a 60-degree (one-third of the time period) phase angle, while each of the other two pairs of switches T is controlled by PWM.

[0045] and Figure 4 Compared to the clamping space vector modulator 400 that uses an angle offset of 322 to control the switching state, Figure 5 A schematic diagram of another clamped space vector modulator 500 is shown, which does not utilize angle offset 322 to control the switching states of multiple switches T1 to T6. Similar to clamped space vector modulator 400, a set of maximum and minimum value operators 571 and 573 are configured to receive reference voltages Va 312, Vb 314, and Vc 316 (e.g., without conditioned on any angle offset 322) and output corresponding maximum and minimum values ​​572 and 574. In some examples, subtractor 573 subtracts the maximum value 572 from -1 to generate a first output value 576, while another subtractor 575 subtracts the minimum value 574 from -1 to generate a second output value 578.

[0046] The clamped space vector modulator 500 compares the absolute values ​​of a maximum value 572 and a minimum value 574 at a first condition switch 560. The first condition switch 560 is configured to output a value 562 equal to "true" when the absolute maximum value 572 and the absolute minimum value 574 are greater than or equal to 1. Conversely, the first condition switch 560 is configured to output a value 562 equal to "false" when the absolute maximum value 572 and the absolute minimum value 574 are less than 1. A second condition switch 580 is configured to receive the value 562 from the first condition switch 560 and output a first output value 576 when the value 562 is equal to "true," or output a second output value 578 when the value 562 is equal to "false." Therefore, with... Figure 4 In contrast to the clamp space vector modulator 400, whose second condition switch 480 is controlled based on absolute maximum and minimum values ​​572 and 574 conditioned on angle offset 322, the second condition switch 580 of the clamp space vector modulator 500 is controlled based on absolute maximum and minimum values ​​572 and 574 conditioned on no angle offset 322. Then, the corresponding adders 513, 515, and 517 associated with each reference signal Va 312, Vb 314, and Vc 316 add the first output value 576 or the second output value 578 passed through the second condition switch 480 to the corresponding reference signals Va 312, Vb 314, and Vc 316 to generate the corresponding control signals PWM A 582, PWM B 584, and PWM C 586.

[0047] It is worth noting that, Figure 5 The clamping space vector modulator 500 shown does not employ an angle offset of 322; instead, it calculates the clamping period for DPWM based solely on the voltage vector command values ​​Vd and Vq, arbitrarily determined by the rotor angle of the motor 120. In contrast, Figure 4 The clamping space vector modulator 400 shown adopts a system state information 302-based approach. Figure 3A ) and / or the current measurements of the motor, id and iq ( Figure 3B The angle offset is 322, therefore, when executing DPWM, it cannot minimize the switching losses applied to inverter 200. In other words, Figure 4 The clamping space vector modulator 400 shown employs an angle offset 322 to enable the controller 300 to control the three-phase inverter 200 to execute DPWM in a timely manner by calculating the optimal time for clamping each phase of the inverter to minimize switching losses.

[0048] Figure 6 and Figure 7A state-space voltage switching vector diagram (e.g., a vector diagram) is shown, depicting six (6) of the eight (8) switching states V (e.g., switching vectors) of the plurality of switches T1–T6. The vector diagram shows the d-axis voltage vector command value Vd along the x-axis and the q-axis voltage vector command value Vq along the y-axis. Each switching state V0–V7 includes a corresponding amplitude and a corresponding angle (e.g., direction) and represents the voltage applied by the controller 300 to the motor 120. As described above, the switching states V are controlled by signals S1–S6 to control the plurality of switches T. Here, when one switch T in a corresponding pair of switches is closed, the other switch in the corresponding pair must be open to prevent a short circuit. Therefore, the plurality of switches T includes eight (8) possible switching states V, including six (6) active switching states (e.g., V1–V6) and two (2) zero-voltage switching states (e.g., V0 and V7). Each switching state V represents the state (e.g., open or closed) for each of the plurality of switches T of the inverter 200. In other words, the eight (8) switch states V represent different combinations of possible switch states of the inverter 200's switch T.

[0049] Therefore, each switch state V is represented by a three-bit binary number. Each bit of this three-bit binary number represents the switch state of the corresponding output node of the inverter 200. For example, the most significant bit (the leftmost bit) represents the switch state V of the first and fourth switches T1 and T4. When the most significant bit is "1", the first switch T1 is closed and the fourth switch T4 is open. Conversely, when the most significant bit is "0", the first switch T1 is open and the fourth switch T4 is closed. In addition, the second most significant bit (the middle bit) represents the switch state V of the second and fifth switches T2 and T5, and the least significant bit (the rightmost bit) represents the switch state V of the third and sixth switches T3 and T6. Zero-voltage switch states V0 and V7 represent switch states V (e.g., V0) where all switches T1–T3 are open and all switches T4–T6 are closed, or switch states V (e.g., V7) where all switches T1–T3 are closed and all switches T4–T6 are open, thereby applying zero voltage to the motor 120 by the inverter 200.

[0050] In some implementations, the controller 300 generates three-phase outputs 312, 314, 316 (e.g., also simply referred to as "reference vector 311") by instructing the plurality of switches T to alternate between adjacent switching states. For example, Figure 6The reference vector 311 shown represents the requested output voltage and phase angle to be applied to the motor 120. In this example, in order to output the requested output voltage and phase angle to the motor 120, the controller 300 generates the plurality of control signals S1–S6 to alternate between a first switching state V1 and a second switching state V2. Furthermore, the controller 300 may generate the plurality of control signals S1–S6 to further alternate between zero-voltage vectors V0 and V7, thereby limiting the amplitude (e.g., output voltage) applied at the motor 120.

[0051] Continue to refer to Figure 6 The first vector diagram 600 shows six (6) active switching states V1–V6, which are connected by lines to form a hexagonal region 610 that defines a linear modulation region 612, depicted by shaded circles. When the inverter 200 operates the motor 120 within the linear modulation region (e.g., non-overmodulation operation), the amplitude of the reference vector 311 (e.g., output voltage) is limited by the linear modulation region 612. That is, the linear modulation region 612 represents the maximum output voltage applied by the inverter 200 at the motor 120 within the linear modulation region 612. In other words, since the amplitude of the reference vector 311 is limited by the linear modulation region 612, the output voltage applied at the motor 120 is similarly limited by the linear modulation region 612. The performance of the reference vector 311 can be represented by a modulation index that defines a normalized reference voltage. As used herein, the modulation index represents the ratio of the maximum amplitude of the reference vector 311 to the maximum available voltage (e.g., battery voltage), expressed as: In Formula 1, V dc This represents the voltage (e.g., battery voltage) at DC capacitor 210, V r The peak fundamental phase voltage is represented as follows: In Formula 2, V d and V q This is the commanded voltage vector value. For example, when inverter 200 operates motor 120 within linear modulation region 612, the modulation index of reference vector 311 can range from 0 to 0.906. Therefore, reference vector 311 can only request at most 90.6% of the total voltage at the DC capacitor (e.g., battery voltage). It is worth noting that linear modulation region 612 limits the output voltage applied at motor 120 to prevent thermal overload and motor oscillation.

[0052] Now for reference Figure 7The first vector diagram 700 shows six (6) active switching states V1–V6, which are connected by lines to form a hexagonal region 610, further defining the overmodulation region 712 depicted by the dashed circle. When the inverter 200 operates the motor 120 within the overmodulation region 712 (e.g., overmodulation operation), the amplitude of the reference vector 311 is no longer affected by the linear modulation region 612 ( Figure 6 The modulation region 612 is not limited by the linear modulation region 612, but only by the overmodulation region 712. It is worth noting that the overmodulation region 712 is larger than the linear modulation region 612. Figure 6 Therefore, operating the motor 120 in the overmodulation region 712 allows for a larger maximum output voltage to be applied at the motor compared to the linear modulation region.

[0053] The controller 300 operates the motor 120 in the overmodulation region by applying a second sine wave (also known as third harmonic injection) at a frequency three (3) times the fundamental frequency. Therefore, in some embodiments, the modulation index during overmodulation region operation ranges from 0 to 1, or even from 0 to 1.154. That is, the maximum output voltage applied to the motor 120 can be 100% or even 115.4% of the battery input voltage. Advantageously, operation within the overmodulation region 712 allows the inverter to apply a larger output voltage to the motor 120, thereby enabling the motor 120 to output higher torque. Figure 7 Multiple reference vectors 311 are further shown, each at a corresponding angle, to illustrate the evolution of the reference vectors 311 as the motor 120 operates from the first switching state V1 to the second switching state V2.

[0054] Now for reference Figure 8 In some embodiments, vehicle 100 employs an overmodulation module 800 to operate motor 120 in an overmodulation region. Operating motor 120 in an overmodulation region allows inverter 200 to apply a higher output voltage to motor 120, thereby increasing the voltage across battery 110 ( Figure 1The increased utilization of the input voltage allows the motor 120 to output higher torque. It is noteworthy that the higher torque output of the motor 120 brings numerous advantages to the electric vehicle 100, including but not limited to: improved acceleration (e.g., acceleration time from zero (0) to sixty (60)) and improved vehicle handling performance (e.g., steering control and / or acceleration or deceleration control). These improved vehicle handling performances can provide faster handling speeds, allowing the electric vehicle 100 to avoid collisions, which would not be possible without the higher torque output of the motor 120. Accordingly, operating the motor 120 in the overmodulation region has several consequences, such as unwanted harmonics causing motor 120 vibration and / or motor 120 thermal overload. Therefore, the overmodulation module 800 is configured to request the motor 120 to operate in the overmodulation region only when additional torque is needed, and to control the regulated operation of the motor 120 during overmodulation.

[0055] Module 800 may include an overmodulation generator 810 and a regulator 820. The overmodulation generator 810 is configured to receive system state information 302 of the electric vehicle 100 and generate an overmodulation request 815 based on the system state information 302. Here, the system state information 302 of the electric vehicle may include, but is not limited to: torque requests (e.g., acceleration requests), braking requests (e.g., deceleration requests), stability control requests, driving mode requests, steering angle requests (e.g., cornering requests), battery status, and / or Global Positioning System (GPS) signals. For example, the overmodulation generator 810 may determine that the rate of change of the torque request meets an overmodulation threshold and generate an overmodulation request 815 in response. In this case, the overmodulation generator 810 determines that the electric motor 120 operating in the linear modulation region cannot meet the acceleration required by the torque request, and therefore overmodulation is required to meet the acceleration. In another example, the overmodulation generator 810 may determine that the stability control request meets an overmodulation threshold and generate an overmodulation request 815 in response. At this point, a stability control request may indicate that one or more wheels are slipping (e.g., accelerating faster than another wheel among the one or more wheels) due to road conditions such as wet (e.g., icy) or off-road conditions. Therefore, the overmodulation generator 810 determines that additional electric motor torque available during overmodulation needs to be applied to another wheel among the one or more wheels to restore the electric vehicle to a stable state.

[0056] In some implementations, the overmodulation generator 810 may determine that a driving mode request meets an overmodulation threshold and generate an overmodulation request 815 in response. That is, the driver requests the electric vehicle 100 to operate in, for example, snow / ice mode, off-road mode, or sport mode, where each driving mode request may require the electric motor 120 to operate with additional torque. Therefore, the overmodulation generator 810 may generate an overmodulation request 815 to cause the electric motor 120 to produce additional torque within the overmodulation region. In another example, the overmodulation generator 810 determines that the battery state meets an overmodulation threshold and generates an overmodulation request 815 in response. For example, the battery state may indicate that the battery 110 is in a power derating mode (e.g., battery limp mode) and requires the electric motor 120 to provide additional torque to bring the electric vehicle 100 to a safe stop.

[0057] In some implementations, the overmodulation generator 810 predicts that the electric vehicle 100 will require additional torque in the future based on system state information 302. For example, system state information 302 may indicate that a collision is imminent for the electric vehicle. Therefore, the vehicle safety control module and / or autonomous control module can issue a collision avoidance request (without operator input) to maneuver the vehicle and thus avoid a collision. For example, system state information 302 may include a collision avoidance request generated based on sensor data from one or more sensors (e.g., proximity sensors, radar, lidar, and / or vision systems) installed on the electric vehicle 100. For example, sensor data may indicate that the electric vehicle 100 is about to collide with another vehicle or object. Therefore, the overmodulation generator 810 determines that the collision avoidance request meets an overmodulation threshold by requesting the vehicle to perform acceleration, deceleration, and / or steering maneuvers to avoid an impending collision. It is worth noting that because the electric motor 120 operates in a linear modulation region, its output torque is limited and may not be able to achieve the maneuvers required to avoid a collision, thus requiring overmodulation to maneuver the vehicle to avoid a collision. In other examples, the overmodulation generator 810 cross-references geographic information from GPS signals and determines that the GPS signals meet an overmodulation threshold. For example, vehicle geographic information can be cross-referenced to determine if a vehicle is approaching a congested area, thereby determining the need for overmodulation to avoid a collision. Therefore, the overmodulation generator 810 generates an overmodulation request 815 based on the determination that the system state information 302 meets the overmodulation threshold to avoid an impending collision.

[0058] In short, in each case where the overmodulation generator 810 determines, based on the system state information 302, that the overmodulation threshold is met, the overmodulation generator 810 determines that the motor 120 requires additional torque that is only available during operation in the overmodulation region. Therefore, the overmodulation generator 810 outputs an overmodulation request 815 to the controller 300, thereby enabling the controller 300 to operate the motor 120 in the overmodulation region. The overmodulation generator 810 may continue to output overmodulation requests 815 to the controller 300 until the overmodulation generator 810 determines that the system state information 302 no longer meets the overmodulation threshold. Once the system state information 302 no longer meets the overmodulation threshold, the overmodulation generator 810 instructs the controller 300 to restore the operation of the motor 120 to the linear modulation region.

[0059] Furthermore, the overmodulation generator 810 determines the modulation factor 812 from the modulation index based on the system state information 302. The modulation factor 812 corresponds to the maximum output voltage applied to the motor 120. For example, based on the system state information 302, the overmodulation generator 810 can determine that the motor 120 requires partial overmodulation and determine the modulation factor 812 to be 0.95. Here, the modulation factor 812 is output to the controller 300, enabling the controller 300 to generate a reference vector 311 with 95% of the maximum output voltage of the input battery voltage. In some examples, the overmodulation generator determines that the motor 120 requires full overmodulation and determines the modulation factor 812 to be 1 or 1.154. In these examples, the modulation factor 812 is output to the controller 300, enabling the controller to generate a reference vector 311 with 100% or 115.4% of the maximum output voltage of the input battery voltage.

[0060] The consequence of the motor operating in the overmodulation region is that the motor 120 oscillates, which may lead to vibration of the electric vehicle 100 and / or thermal overload of the motor 120 and controller 300. For example, Figure 7When the reference vector 311 transitions from the first switching state V1 to the second switching state V2, its amplitude changes (e.g., the output voltage also changes), causing the motor 120 to oscillate. Therefore, the regulator 820 is configured to receive an overmodulation request 815 as input, indicating that the motor 120 is operating in the overmodulation region, and generate regulation parameters 822, 822a-n to output to the controller 300. Regulation parameter 822 is configured to mitigate the negative effects of the motor 120 operating in the overmodulation region. For example, the regulator 820 can determine the time period during which the motor 120 operates in the overmodulation region and determine that this time period meets a threshold time period. Here, in response to determining that the time period meets the threshold time period, the regulator 820 generates timeout regulation parameters 822, 822a to instruct the controller 300 to stop operating the motor 120 in the overmodulation region and operate it in the linear region. That is, the timeout regulation parameter 822a instructs the controller 300 to operate the motor 120 only in the overmodulation region for a limited time to protect the motor 120 from thermal overload. It is worth noting that regardless of whether the system status information 302 still meets the overmodulation threshold, the timeout adjustment parameter 822a will stop the motor 120 from operating in the overmodulation region. After receiving the timeout adjustment parameter 822a, the controller 300 may have to wait a predetermined amount of time before operating the motor 120 in the overmodulation region again.

[0061] In some implementations, regulator 820 generates voltage / current regulation parameters 822, 822b, which are configured to smooth the amplitude of reference vector 311 or set the amplitude of reference vector 311 to a fixed value. Setting the output voltage applied to the motor to a set voltage or current value can eliminate the effects of [other factors]. Figure 7 The oscillations caused by the amplitude change of the reference vector 311 shown. Now referencing Figure 9 The third vector diagram 900 shows six (6) active switching states V1–V6, which are connected by line segments to form a fixed-amplitude hexagonal region 910 and an overmodulation region 712 depicted by a dashed circle. Here, the fixed-amplitude hexagonal region 910 limits the amplitude of the reference vector 311 to a fixed amplitude value according to the voltage / current regulation parameter 822b. The fixed amplitude value can be a predetermined value or a maximum value determined by the regulator 820, so that each reference vector 311 has the same amplitude. It is worth noting that the fixed-amplitude hexagonal region 910 is larger than the linear modulation region 612 ( Figure 6However, it is smaller than the overmodulation region 912. By confining the reference vector 311 within the fixed-amplitude hexagonal region 910, the motor 120 can still achieve a higher output voltage by operating in the overmodulation region 712 and eliminate oscillations caused by variations in the amplitude of the reference vector 311. The regulator 820 can output the voltage / current regulation parameter 822b to the controller 300, causing the controller 300 to generate the reference vector 311 using a fixed amplitude value based on the voltage / current regulation parameter.

[0062] review Figure 8 In some embodiments, the regulator 820 generates angle adjustment parameters 822 and 822c, which are configured to apply reference vectors 311 with the same amplitude to the motor 120. Unlike voltage / current adjustment parameter 822b, angle adjustment parameter 822c instructs the controller 300 to apply reference vector 311 only at specific angles, such that reference vectors 311 at those specific angles all have the same amplitude. Furthermore, angle adjustment parameter 822c instructs the controller 300 to bypass / avoid applying other reference vectors 311 at other angles, such that other reference vectors 311 at those other angles have a different amplitude than the applied reference vector 311. Now refer to Figure 10 The fourth vector diagram 1000 shows six (6) active switching states V1–V6, which are connected by line segments to form a hexagonal region 1010 and an overmodulation region 712 indicated by a dashed circle. Here, the hexagonal region 1010 depicts the magnitude of the reference vector 311 applied at a specific angle according to the angle adjustment parameter 826. It is noteworthy that the controller 300 bypasses / avoids... Figure 10 The reference vector 311 between points "A" and "B" shown, due to the difference in amplitude of these reference vectors 311, causes oscillation of the motor 120. Therefore, the reference vector 311 rotates intermittently in the overmodulation region.

[0063] Advantageously, as a supplement to and alternative to using DPWM to operate the motor, the controller 300 can also operate the motor 120 in the overmodulation region. Therefore, using DPWM, the controller 300 can reduce the switching frequency of the inverter 200 to reduce switching losses, while operating in the overmodulation region can maximize the output voltage applied to the motor 120, thereby generating additional torque when needed by the electric vehicle 100. For example, as a supplement to operating the motor 120 in the overmodulation region, the controller 300 can also determine an angle offset 322, which is configured to clamp one or more switches T to reduce switching losses of the motor 120 operating in the overmodulation region.

[0064] Figure 11An exemplary operational flowchart of a computer-implemented method 1100 for performing adaptive PWM overmodulation is shown. Data processing hardware 1210 ( Figure 12 ) can execute the memory stored in hardware 1220 ( Figure 12 Instructions are sent to the data processing hardware 1210 to perform the operations of method 1100. The data processing hardware 1210 and memory hardware 1220 may reside on the controller 300. In operation 1102, method 1100 includes receiving voltage vector instruction values ​​Vd and Vq for a motor 120 operating in a linear region and implemented on the vehicle 100. In operation 1104, method 1100 includes receiving system status information 302 of the vehicle. At operation 1106, method 1100 includes determining, based on the system status information 302 of the vehicle 100, that an overmodulation threshold is met.

[0065] Based on determining that an overmodulation threshold is met, method 1100 performs operations 1108 to 1112. In operation 1108, method 1100 includes determining a modulation factor 816 from a modulation index. In operation 1110, method 1100 includes generating three-phase outputs 312, 314, 316 (e.g., a reference vector 311) based on voltage vector command values ​​Vd, Vq and modulation factor 816. Here, the three-phase outputs 312, 314, 316 correspond to the motor 120 operating in the overmodulation region. In operation 1112, method 1100 includes determining a plurality of control signals S1 to S6 based on the three-phase outputs 312, 314, 316. Each of the plurality of control signals S corresponds to a corresponding switch T among a plurality of switches T of the inverter 200. In operation 1114, method 1100 includes instructing the plurality of switches T to control the motor 120 to operate in the overmodulation region based on the plurality of control signals S.

[0066] Figure 12 This is a schematic diagram of an example computing device 1200 that can be used to implement the systems and methods described herein. The computing device 1200 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. The components shown herein, their connections and relationships, and their functions are for reference only and are not intended to limit the implementation of the inventions described and / or claimed herein.

[0067] Computing device 1200 includes a processor 1210, memory 1220, storage device 1230, a high-speed interface / controller 1240 connecting memory 1220 and high-speed expansion port 1250, and a low-speed interface / controller 1260 connecting low-speed bus 1270 and storage device 1230. The components 1210, 1220, 1230, 1240, 1250, and 1260 are interconnected via various buses and can be mounted on a common motherboard or connected in other suitable ways. The processor (i.e., data processing hardware) 1210 can process instructions executed within computing device 1200, including instructions stored in memory (i.e., memory hardware) 1220 or storage device 1230, to display graphical information of a graphical user interface (GUI) on an external input / output device (e.g., a display 1280 connected to high-speed interface 1240). In other implementations, multiple processors and / or multiple buses, as well as multiple memories and different types of memories, may be used as needed. In addition, multiple computing devices 1200 can be connected, each providing some of the necessary operations (e.g., as a server group, a set of blade servers, or a multiprocessor system).

[0068] Memory 1220 stores information non-transitory within computing device 1200. Memory 1220 may be a computer-readable medium, a volatile storage unit, or a non-volatile storage unit. Non-transitory memory 1220 may be a physical device for temporarily or permanently storing programs (e.g., instruction sequences) or data (e.g., program state information) for use by computing device 1200. Examples of non-volatile memory include, but are not limited to, flash memory and read-only memory (ROM) / programmable read-only memory (PROM) / erasable programmable read-only memory (EPROM) / electrically erasable programmable read-only memory (EEPROM) (e.g., commonly used in firmware, such as boot programs). Examples of volatile memory include, but are not limited to, random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), phase-change memory (PCM), and magnetic disks or magnetic tapes.

[0069] Device 1230 provides mass storage for computing device 1200. In some embodiments, storage device 1230 is a computer-readable medium. In various embodiments, storage device 1230 may be a floppy disk device, hard disk device, optical disk device, magnetic tape device, flash memory or other similar solid-state storage device, or a device array, including devices in a storage area network or other configuration. In other implementations, a computer program product is tangibly embodied in an information carrier. The computer program product contains instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer-readable or machine-readable medium, such as memory 1220, storage device 1230, or memory on processor 1210.

[0070] High-speed controller 1240 manages bandwidth-intensive operations of computing device 1200, while low-speed controller 1260 manages lower bandwidth-intensive operations. This task allocation is merely illustrative. In some embodiments, high-speed controller 1240 is coupled to memory 1220, display 1280 (e.g., via a graphics processor or accelerator), and high-speed expansion port 1250 which accepts various expansion cards (not shown). In some embodiments, low-speed controller 1260 is coupled to storage device 1230 and low-speed expansion port 1290. Low-speed expansion port 1290 may include various communication ports (e.g., USB, Bluetooth, Ethernet, Wireless Ethernet) and may be coupled to one or more input / output devices, such as keyboards, pointing devices, scanners, or network devices (e.g., via network adapters).

[0071] The computing device 1200 can be implemented in a variety of different forms, as shown in the figure. For example, it can be implemented as a standard server 1200a or multiple servers in a group of such servers 1200a, a laptop 1200b, or part of a rack server system 1200c.

[0072] Various implementations of the systems and technologies described herein can be achieved through digital electronic and / or optical circuits, integrated circuits, specially designed ASICs (Application-Specific Integrated Circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be dedicated or general-purpose, coupled to receive and send data and instructions from and to a storage system, at least one input device, and at least one output device.

[0073] These computer programs (also known as programs, software, software applications, or code) contain machine instructions for a programmable processor and can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, non-transitory computer-readable medium, apparatus, and / or device (e.g., disk, optical disk, memory, programmable logic device (PLD)) used to provide machine instructions and / or data to a programmable processor, including machine-readable media that receive machine instructions in the form of machine-readable signals. The term "machine-readable signal" refers to any signal used to provide machine instructions and / or data to a programmable processor.

[0074] The processes and logical flows described in this specification can be executed by one or more programmable processors (also known as data processing hardware) that execute one or more computer programs to perform functions by manipulating input data and generating output. These processes and logical flows can also be executed by special-purpose logic circuitry, such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits). Processors suitable for executing computer programs include, for example, general-purpose microprocessors and special-purpose microprocessors, as well as one or more processors in any type of digital computer. Typically, the processor receives instructions and data from read-only memory or random access memory (or both). The fundamental elements of a computer are a processor for executing instructions and one or more storage devices for storing instructions and data. Typically, a computer also includes one or more mass storage devices (e.g., magnetic disks, magneto-optical disks, or optical disks) for storing data, or operatively coupled to receive data from or transfer data to, or both. However, such devices are not mandatory for a computer. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and storage devices, such as: semiconductor storage devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM optical disks. Processors and memory may be supplemented or incorporated into them by dedicated logic circuitry.

[0075] To interact with a user, one or more aspects of this disclosure can be implemented on a computer with a display device (e.g., a CRT (cathode ray tube), LCD (liquid crystal display), or touchscreen) for displaying information to the user, and optionally with a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to interact with the user; for example, feedback provided to the user can be any form of sensory feedback, such as visual, auditory, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. Furthermore, the computer can interact with the user by sending documents to and receiving documents from the device used by the user; for example, in response to a request received from a web browser, sending a webpage to a web browser on the user's client device.

[0076] Various embodiments have been described. However, it should be understood that various modifications can be made without departing from the spirit and scope of this disclosure. Therefore, other embodiments also fall within the scope of the following claims.

Claims

1. A computer-implemented method (1100), when executed by data processing hardware (1210), causes the data processing hardware (1210) to perform operations, the operations including: The voltage vector command value for the motor (120) is received, and the motor (120) is implemented on the vehicle (100) and operates in the linear modulation region (612); Receive system status information (302) from vehicle (100); Based on the system state information (302) of the vehicle (100), it is determined that the overmodulation threshold is satisfied; Based on the determination that the overmodulation threshold is satisfied: The modulation factor (812) is determined from the modulation index. Three-phase outputs (312, 314, 316) are generated based on the voltage vector command value and the modulation factor (812), the three-phase outputs (312, 314, 316) corresponding to the operation of the motor (120) in the overmodulation region (712); and Multiple control signals are determined based on the three-phase outputs (312, 314, 316), and each of the multiple control signals corresponds to a corresponding switch among the multiple switches of the inverter (200). as well as The multiple control signals indicate that the multiple switch-controlled motors (120) of the inverter (200) operate in the overmodulation region (712).

2. The computer implementation method (1100) according to claim 1, wherein, The operation also includes: Determine the time period during which the motor (120) has been operating in the overmodulation region (712); Determine that the time period satisfies the threshold time period; and Based on the determination that the time period meets the threshold time period, the motor (120) is instructed to stop operating in the overmodulation region (712) and operate in the linear modulation region (612).

3. The computer implementation method (1100) according to claim 1 or 2, wherein, Generating three-phase outputs (312, 314, 316) includes generating three-phase outputs (312, 314, 316) using fixed amplitude values.

4. The computer-implemented method (1100) according to any one of claims 1-3, wherein, The system status of the vehicle (100) includes at least one of the following: Torque request; Braking request; Traction control request; Collision avoidance request; Battery limp request; or The vehicle's (100) Global Positioning System (GPS) signal.

5. The computer-implemented method (1100) according to any one of claims 1-4, wherein, Based on the system state information (302) of the vehicle (100), it is determined that the overmodulation threshold is satisfied, including determining that the rate of change of the torque request satisfies the overmodulation threshold.

6. The computer-implemented method (1100) according to any one of claims 1-5, wherein, Determining whether the overmodulation threshold is met based on the system state information (302) of the vehicle (100) includes determining whether the collision avoidance request meets the overmodulation threshold.

7. The computer-implemented method (1100) according to any one of claims 1-6, wherein, The modulation factor (812) corresponds to the maximum output voltage applied at the motor (120).

8. The computer-implemented method (1100) according to any one of claims 1-7, wherein, The plurality of switches includes: The first pair of switches (T1, T4) corresponding to the first output node (A) of the inverter (200); The second pair of switches (T2, T5) corresponding to the second output node (B) of the inverter (200); and The third pair of switches (T3, T6) corresponding to the third output node (C) of the inverter (200).

9. The computer-implemented method (1100) according to any one of claims 1-8, wherein, The operation also includes determining the angle offset (322) based on the system status information (302) of the vehicle (100).

10. The computer implementation method (1100) according to claim 9, wherein, The determination of the plurality of control signals is also based on the angle offset (322).

11. A vehicle (100), comprising: Electric motor (120); Inverter (200); Data processing hardware (1210); as well as Memory hardware (1220) communicating with data processing hardware (1210), the memory hardware (1220) storing instructions that, when executed on the data processing hardware (1210), cause the data processing hardware (1210) to perform operations, the operations including: Receive voltage vector command values ​​for the motor (120) operating in the linear modulation region (612); Receive system status information (302) from vehicle (100); Based on the system state information (302) of the vehicle (100), it is determined that the overmodulation threshold is satisfied; Based on the determination that the overmodulation threshold is satisfied: The modulation factor (812) is determined from the modulation index. Three-phase outputs (312, 314, 316) are generated based on the voltage vector command value and the modulation factor (812), the three-phase outputs (312, 314, 316) corresponding to the operation of the motor (120) in the overmodulation region (712); and Multiple control signals are determined based on the three-phase outputs (312, 314, 316), each of the multiple control signals corresponding to a corresponding switch among the multiple switches of the inverter (200); as well as Based on the multiple control signals, the multiple switch-controlled motors (120) of the inverter (200) are instructed to operate in the overmodulation region (712).

12. The vehicle (100) according to claim 11, wherein, The operation also includes: Determine the time period during which the motor (120) has been operating in the overmodulation region (712); Determine that the time period satisfies the threshold time period; and Based on the determination that the time period meets the threshold time period, the motor (120) is instructed to stop operating in the overmodulation region (712) and operate in the linear modulation region (612).

13. The vehicle (100) according to claim 11 or 12, wherein, Generating three-phase outputs (312, 314, 316) includes generating three-phase outputs (312, 314, 316) using fixed amplitude values.

14. The vehicle (100) according to any one of claims 11-13, wherein, The system status of the vehicle (100) includes at least one of the following: Torque request; Braking request; Traction control request; Collision avoidance request; Battery limp request; or The vehicle's (100) Global Positioning System (GPS) signal.

15. The vehicle (100) according to any one of claims 11-14, wherein, Based on the system state information (302) of the vehicle (100), it is determined that the overmodulation threshold is satisfied, including determining that the rate of change of the torque request satisfies the overmodulation threshold.

16. The vehicle (100) according to any one of claims 11-15, wherein, Determining whether the overmodulation threshold is met based on the system state information (302) of the vehicle (100) includes determining whether the collision avoidance request meets the overmodulation threshold.

17. The vehicle (100) according to any one of claims 11-16, wherein, The modulation factor (812) corresponds to the maximum output voltage applied at the motor (120).

18. The vehicle (100) according to any one of claims 11-17, wherein, The plurality of switches includes: The first pair of switches (T1, T4) corresponding to the first output node (A) of the inverter (200); The second pair of switches (T2, T5) corresponding to the second output node (B) of the inverter (200); and The third pair of switches (T3, T6) corresponding to the third output node (C) of the inverter (200).

19. The vehicle (100) according to any one of claims 11-18, wherein, The operation also includes determining the angle offset (322) based on the system status information (302) of the vehicle (100).

20. The vehicle (100) according to claim 19, wherein, The determination of the plurality of control signals is also based on the angle offset (322).