Automated load torque ripple compensation using pre-control signals calculated using a cross-correlation function
Patent Information
- Application Number
- DE102024207191
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-30
- Filing Date
- 2024-07-30
- Publication Date
- 2025-03-06
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to a motor controller configured to drive a motor coupled to a shaft and a method for reducing load torque ripple associated with driving a motor coupled to a shaft. BACKGROUND
[0002] Motor drives use switching inverters to generate variable-frequency AC voltages to control the speed of AC motors in residential, commercial, and industrial applications. Permanent magnet AC motors (PMAC motors) generally provide higher power, weight, and efficiency than induction motors and are often used in applications requiring high dynamic response and / or very high system efficiency. Stable operation of PMAC motors requires that the magnitude and frequency of the applied voltages be scaled and synchronized with the motor rotation frequency.
[0003] Typically, an inverter consists of two complementary transistors (e.g., a high-side transistor and a low-side transistor) for each motor phase, with the two complementary transistors forming a half-bridge to drive an output pad connected to a motor winding. A gate driver used to drive the two complementary transistors can be supplied with a fixed positive voltage by a positive supply rail and a fixed negative voltage by a negative supply rail. The positive supply rail can be connected to the output pad via the high-side transistor of the two complementary transistors to supply load current to the motor winding, and the negative supply rail can be connected to the output pad via the low-side transistor of the two complementary transistors to sink load current from the motor winding.The two complementary transistors can be switched on and off complementarily to avoid cross conduction.
[0004] Accordingly, the load current, also referred to as the motor phase current, can be controlled by driving the two complementary transistors. The amplitude of the control signal received by the gate driver for each transistor can be varied to switch the two complementary transistors between switching states. This, in turn, drives the motor. For example, a gate-source voltage Vgs of a metal-oxide-semiconductor field-effect transistor (MOSFET) is typically driven down to approximately zero to turn the MOSFET off and is typically driven to a maximum value to fully turn the MOSFET on. For this reason, the gate-source voltage Vgs can be referred to as the control voltage.
[0005] During operation, a motor may be controlled according to a motor control algorithm to achieve a desired motor speed corresponding to a pulse width of the control signals. The motor may drive a load, for example, by driving a shaft coupled to the load. Some types of loads may vary nonlinearly with a change in a mechanical angle of the shaft. For example, the motor may be configured to drive a compressor or pump, during which a load torque varies as a nonlinear function of the mechanical angle of the shaft. As a result, a load torque ripple with an unknown magnitude and phase is generated. For example, a compressor has an alternating current (AC) load torque ripple component due to piston action with a fundamental frequency at a motor rotation frequency.Thus, while the fundamental frequency of the AC load torque ripple component can be derived from the motor rotation frequency, the magnitude and phase of the AC load torque ripple component remain unknown. However, to reduce or suppress the AC load torque ripple component for improved motor control, the magnitude and phase of the AC load torque ripple component must be accurately determined. SUMMARY
[0006] In some implementations, a motor controller configured to drive a motor coupled to a shaft comprises a measurement interface configured to measure a mechanical angle of the shaft and a rotational speed of the shaft and generate a speed feedback signal representative of the rotational speed; a speed controller comprising: a first error component configured to receive a speed reference signal corresponding to a speed reference value and the speed feedback signal and generate a speed error signal based on a difference between the speed reference signal and the speed feedback signal;a proportional-integral (PI) controller configured to control a torque reference value based on the speed error signal, configured to maintain the speed reference value;and a load torque ripple compensator configured to apply a torque feedforward function to reduce a load torque ripple in the torque reference value, wherein applying the torque feedforward function comprises generating a feedforward compensation signal consistent with a frequency, a magnitude, and a phase of the load torque ripple, and adding the feedforward compensation signal to an output signal of the PI controller to generate the torque reference value, wherein the load torque ripple varies with the mechanical angle, and wherein the load torque ripple compensator is configured to dynamically adjust a magnitude and a phase of the feedforward compensation signal in real time as a load of the motor varies over time;and a current controller configured to receive the torque reference value and drive motor currents of the motor to produce a torque corresponding to the torque reference value;
[0007] In some implementations, a method for reducing load torque ripple associated with driving a motor coupled to a shaft includes measuring a mechanical angle of the shaft; measuring a rotational speed of the shaft; generating a speed feedback signal representative of the rotational speed; generating a speed error signal based on a difference between a speed reference signal and the speed feedback signal; controlling, by a PI controller based on the speed error signal, a torque reference value configured to maintain a speed reference value of the speed reference signal;applying a torque feedforward function to reduce load torque ripple in the torque reference, comprising generating a feedforward compensation signal consistent with a frequency, magnitude, and phase of the load torque ripple, and adding the feedforward compensation signal to an output signal of the PI controller to generate the torque reference, wherein the load torque ripple varies with the mechanical angle; dynamically adjusting a magnitude and phase of the feedforward compensation signal in real time as a load of the motor varies over time; and driving motor currents of the motor to generate a torque consistent with the torque reference. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Implementations are described herein with reference to the accompanying drawings. Fig. 1 illustrates a schematic block diagram illustrating an engine control system according to one or more implementations. Fig. 2 illustrates a schematic block diagram illustrating an engine control system according to one or more implementations. Fig. 3 illustrates a schematic block diagram illustrating an engine control system according to one or more implementations. Fig. Figure 4 illustrates an upper diagram and a lower diagram showing why the speed controller's proportional-integral (PI) compensator alone (e.g., without feedforward control) cannot completely suppress load torque ripple components of the load torque ripple. Fig. Figure 5 illustrates an example of harmonic components of a load torque ripple. Fig. 6 illustrates diagrams showing how a load ripple frequency of a load torque ripple represented by a period of the load torque ripple is directly related to the motor electrical frequency of the rotor electrical angle and a mechanical frequency of the mechanical angle by a number of motor poles. Fig. 7 illustrates a torque compensation system model according to one or more implementations. Fig. 8 illustrates a torque compensation system model according to one or more implementations. Fig. 9 illustrates a consolidated torque compensation system model according to one or more implementations. Fig. 10 illustrates a system model of a motor control algorithm with automated torque compensation adjustment according to one or more implementations. Fig. 11 illustrates a system model of a motor control algorithm with automated torque compensation adjustment according to one or more implementations. DETAILED DESCRIPTION
[0009] Details are set forth below to provide a more thorough explanation of example implementations. However, it will be apparent to one skilled in the art that these implementations may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form or in a schematic view rather than in detail to avoid obscuring the implementations. Furthermore, features of the various implementations described below may be combined with one another unless expressly stated otherwise.
[0010] Furthermore, equivalent or identical elements, or elements with equivalent or identical functionality, are denoted by equivalent or identical reference numerals in the following description. Since the same or functionally equivalent elements are denoted by the same reference numerals in the figures, a repeated description for elements denoted by the same reference numerals can be omitted. Therefore, descriptions provided for elements with the same or identical reference numerals are interchangeable.
[0011] The orientations of the various elements in the figures are shown as examples, and the illustrated examples may be rotated relative to the depicted orientations. The descriptions provided herein and the following claims apply to any structures having the described relationships between various features, whether the structures are in the particular orientation of the drawings or rotated relative to such orientation. Likewise, spatially relative terms such as "top," "bottom," "below," "beneath," "lower," "above," "upper," "middle," "left," and "right" are used herein for ease of description to describe the relationship of one element to one or more other elements as illustrated in the figures.The spatially relative terms are intended to encompass various orientations of the element, structure, and / or assembly in use or operation in addition to the orientations depicted in the figures. A structure and / or assembly may be oriented differently (rotated 90 degrees or in other orientations), and the spatially relative descriptors used herein may be interpreted accordingly. Furthermore, the cross-sectional views in the figures show only features within the planes of the cross sections and do not show materials behind the planes of the cross sections unless otherwise noted to simplify the drawings.
[0012] It should be understood that when an element is described as being "connected" or "coupled" to another element, it may be directly connected or coupled to the other element, or intervening elements may be present. In contrast, when an element is described as being "directly connected" or "directly coupled" to another element, no intervening elements are present. Other words used to describe the relationship between elements should be interpreted similarly (e.g., "between" versus "directly between," "adjacent" versus "directly adjacent," etc.).
[0013] In implementations described herein or shown in the drawings, any direct electrical connection or coupling (e.g., any connection or coupling without additional intervening elements) may also be implemented by an indirect connection or coupling (e.g., a connection or coupling with one or more additional intervening elements, or vice versa), as long as the general purpose of the connection or coupling (e.g., to transmit a particular type of signal or to transmit a particular type of information) is substantially maintained. Features from different implementations may be combined to form further implementations. For example, variations or modifications described with respect to one of the implementations may also be applicable to other implementations, unless otherwise stated.
[0014] For example, the terms "substantially" and "approximately" may be used herein to account for small manufacturing tolerances or other factors (e.g., within 5%) that are considered acceptable in the industry without deviating from the aspects of the implementations described herein. For example, a resistor with an approximate resistance value may practically have a resistance within 5% of the approximate resistance value. As another example, a signal with an approximate signal value may practically have a signal value within 5% of the approximate signal value.
[0015] In the present disclosure, terms, including ordinal numbers such as "first," "second," and / or the like, may modify various elements. However, such elements are not limited by such terms. For example, such terms do not limit the order and / or importance of the elements. Instead, such terms are used solely for the purpose of distinguishing one element from the other elements. For example, a first box and a second box indicate different boxes even though both are boxes. As another example, a first element could be referred to as a second element, and similarly, a second element could also be referred to as a first element without departing from the scope of the present disclosure.
[0016] A transistor can be referred to as a power switch or transistor switch, which can be used to drive a current, such as a load current. Transistors can include insulated-gate bipolar transistors (IGBTs) and MOSFETs (e.g., Si MOSFETs or SiC MOSFETs), among other examples. It is understood that one type of transistor can be replaced by another type of transistor.
[0017] Some implementations described in this disclosure relate to, but are not limited to, half-bridges used to drive electric motors. For example, a polyphase inverter, as one type of inverter, is configured to provide multiphase power to multiphase loads (e.g., a three-phase motor). For example, three-phase power comprises three symmetrical sine waves that are 120 electrical degrees out of phase with each other. In a symmetrical three-phase power supply system, three conductors each carry an alternating current (AC) with the same frequency and voltage amplitude relative to a common reference, but with a phase difference of one-third of a drive cycle.Due to the phase difference, a voltage across one of the three conductors can reach its peak at one-third of the drive cycle, with the voltage peaks of the three conductors being distributed within the drive cycle with a substantially equal phase delay. This phase delay makes it possible to generate a rotating magnetic field in an electric motor.
[0018] A three-phase inverter includes three inverter branches, one for each of the three phases. Each inverter branch is connected in parallel to a direct current (DC) voltage source. Each inverter branch includes a pair of transistors arranged in a half-bridge configuration to convert DC to AC for driving a phase load.
[0019] A motor speed signal used by a motor controller for feedback control of the motor has an AC error component resulting from net shaft ripple torque filtered by a nonlinear load, such as a compressor load. An integrator in a proportional-integral (PI) controller of the motor controller is designed to drive a torque reference until an average motor speed error is zero. However, the PI controller cannot track a per-cycle AC component of load torque ripple (e.g., an AC compressor ripple component) because the PI controller's gain varies with frequency. At high motor speeds, mechanical filtering provided by the compressor load inertia reduces ripple in the motor speed signal to an acceptable level.However, there is a range of operating speeds where ripple in the motor speed signal causes noticeable shaft vibrations and acoustic noise. This ripple in the motor speed signal can be referred to as "load torque ripple," which represents the AC error component found in the motor speed signal caused by a nonlinear load.
[0020] For example, the motor can drive the nonlinear load, for example, by driving a shaft coupled to the nonlinear load. Some types of loads can vary nonlinearly with a change in the mechanical angle of the shaft. Load torque can vary as a nonlinear function of the mechanical angle of the shaft. As a result, load torque ripple is generated with an unknown magnitude and phase. However, to reduce or even suppress the AC load torque ripple component for improved motor control, the magnitude and phase of the AC load torque ripple component must be accurately determined.
[0021] In most applications, it is not possible to use a shaft torque sensor to measure the load torque ripple to reduce this AC error component. Furthermore, some solutions involve using feedforward functions, which require manual determination of compensation parameters by trial and error during system commissioning, and parameter tables to be selected according to an operating point and / or application configuration.
[0022] Some implementations disclosed herein are directed to a motor controller that uses a feedforward compensation algorithm that automatically determines the magnitude and phase of load torque ripple and dynamically adjusts feedforward compensation in real time as the load varies with changing environmental conditions. For example, the feedforward compensation algorithm may reduce or eliminate load torque ripple at medium to high speeds when a ripple frequency of the load torque ripple is close to or greater than a bandwidth of a speed controller of the motor controller. The motor controller may use the feedforward compensation algorithm to automatically determine AC components of a motor load torque and generate a feedforward compensation signal to eliminate mechanical vibrations by suppressing the load torque ripple.The motor controller can determine a frequency of the feedforward compensation signal from the motor rotation frequency. Additionally, the motor controller can determine a magnitude and phase of the load torque ripple and match a magnitude and phase of the feedforward compensation signal to the magnitude and phase of the load torque ripple to reduce or otherwise suppress the load torque ripple. The motor controller can adjust the frequency, magnitude, and phase of the feedforward compensation signal in real time to match the load torque ripple, which can vary as a nonlinear function of the mechanical angle of the shaft.
[0023] In some implementations, the motor controller may use a cross-correlation function to measure a direct component and a quadrature component of a fundamental mode (e.g., a first harmonic component) of an output signal from a PI controller arranged in a motor speed control loop. The motor controller may acquire two sequential measurements at two different test levels of feedforward torque. The motor controller may calculate the magnitude and phase of the feedforward compensation signal from a linear combination of the two sequential measurements.
[0024] Accordingly, the motor control can provide more reliable operation and improved runtime efficiencies of systems such as heating, ventilation, and air conditioning (HVAC) compressors and refrigeration compressors by minimizing mechanical vibrations for all operating conditions over a product's lifetime. Furthermore, the feedforward compensation algorithm can realize cost savings by eliminating multiple manual steps during manufacturing and commissioning of these systems.
[0025] Fig. 1 illustrates a schematic block diagram illustrating a motor control system 100 according to one or more implementations. In particular, the motor control system 100 includes an inverter 102, a controller 104, and a gate drive system 106. The controller 104 and the gate drive system 106 may operate together as a motor control unit (e.g., a motor controller). In some implementations, the motor control unit may be a monolithic integrated circuit (IC), with the controller 104 and the gate drive system 106 disposed on a single IC. "Monolithic" refers to a type of IC, or semiconductor device, fabricated on a single die from a single material, typically silicon.The IC is referred to as "monolithic" because all active and passive components of the circuit, such as transistors, resistors, capacitors, and interconnects, are integrated onto a single piece or substrate of material. For example, in some implementations, the motor control unit may be divided into two or more ICs, with the controller 104 located on a first IC and the gate driver system 106 located on one or more second ICs. Thus, the gate driver system 106 may be a monolithic gate driver. It should be understood that although implementations described herein are directed to driving a motor, the concepts described herein may be extended to other types of inductive loads and are not limited to motors.
[0026] The motor control system 100 is further coupled to a motor M (e.g., a permanent magnet synchronous motor (PMSM) as a type of AC motor) comprising three phases U, V, and W. The inverter 102 in this example is a three-phase voltage generator configured to provide three-phase power by providing three voltage phases to drive the motor M.
[0027] Deviations in both magnitude and phase can cause a loss of power and torque in the motor M. Therefore, the controller 104 may be configured to monitor and control the magnitude and phase of the voltages provided to the motor M in real time to ensure that the correct current balance is maintained based on a feedback control loop.
[0028] The inverter 102 for the motor M includes a switching arrangement of six transistors 108u, 108v, 108w, 109u, 109v, and 109w arranged in complementary pairs. Each complementary pair forms a half-bridge circuit and constitutes an inverter branch that provides a voltage phase to the motor M. Thus, each inverter branch includes a high-side transistor 108u, 108v, or 108w and a low-side transistor 109u, 109v, or 109w. Additionally, each transistor 108u, 108v, 108w, 109u, 109v, and 109w can be connected in antiparallel with a corresponding freewheeling diode D1-D6. The freewheeling diodes D1-D6 provide an alternative current path for the load current after a respective transistor 108u, 108v, 108w, 109u, 109v, and 109w is turned off for current commutation. For example, the freewheeling diode D1 provides an alternative current path with respect to the low-side transistor 109u during the turn-off of the low-side transistor 109u.Similarly, the freewheeling diode D2 provides an alternative current path with respect to the high-side transistor 108u during turn-off of the high-side transistor 108u.
[0029] Load current paths U, V, and W extend from an output pad Uout, Vout, or Wout of each inverter branch (e.g., the output of each half-bridge circuit), located between complementary transistors, and are configured to be coupled to a load, such as the motor M. Each load current path U, V, and W carries a corresponding phase current Iu, Iv, and Iw. Each phase current Iu, Iv, and Iw has an electrical AC frequency that directly corresponds to the actual motor speed of the motor M.
[0030] The inverter 102 is coupled to a DC power supply (e.g., a battery or a diode bridge rectifier) and to the gate driver system 106.
[0031] The controller 104, which may be a microcontroller or other hardware-based controller, performs a motor control function of the motor control system 100 in real time (or near real time) and transmits pulse width modulation (PWM) control signals to a gate driver system 106. The controller 104 may employ a PWM scheme to control the state of each transistor and ultimately each phase current provided on the respective load current paths U, V, and W. The gate driver system 106 generates drive signals based on the PWM control signals to control the switching states (e.g., on and off states) of the transistors 108u, 108v, 108w, 109u, 109v, and 109w. Thus, the load current paths U, V and W can be controlled by the controller 104 and the gate driver system 106 by controlling the control electrodes (e.g., gate electrodes) of the transistors 108u, 108v, 108w, 109u, 109v and 109w.For example, upon receiving a PWM control signal from the controller 104, the gate driver system 106 may place a corresponding transistor 108u, 108v, 108w, 109u, 109v, or 109w into one of a conducting state (e.g., on state) or a blocking state (e.g., off state).
[0032] Gate driver system 106 may include one or more gate drivers to switch transistors 108u, 108v, 108w, 109u, 109v, and 109w between switching states. For example, gate driver system 106 may include a gate driver for each half-bridge circuit. Gate driver system 106 may be configured to receive instructions, including PWM control signals, from controller 104 and to turn transistors 108u, 108v, 108w, 109u, 109v, and 109w on and off, respectively, according to the received instructions and control signals. For example, during the turn-on process of a transistor 108u, 108v, 108w, 109u, 109v, or 109w, the gate driver system 106 may be used to provide (source) a gate current to a gate of the transistor 108u, 108v, 108w, 109u, 109v, or 109w to charge the gate.In contrast, during the turn-off process, the gate driver system 106 may be used to drain (sink) a gate current from the gate of the transistor 108u, 108v, 108w, 109u, 109v, or 109w to discharge the gate.
[0033] Furthermore, transistors 108u, 108v, 108w, 109u, 109v, and 109w of inverter 102 are controlled such that at no time are both the high-side and low-side transistors in the same inverter branch turned on, as otherwise the DC supply would be short-circuited. This requirement can be met by the complementary operation of transistors 108u, 108v, 108w, 109u, 109v, and 109w within an inverter branch according to a motor control algorithm. For example, motor M can be controlled during operation according to the motor control algorithm to achieve a desired motor speed corresponding to an electrical frequency of the control signals. A dead time can be imposed by controller 104 during which both the high-side and low-side transistors of the same inverter branch are turned off simultaneously.
[0034] The controller 104 may include a PWM controller, an analog-to-digital converter (ADC), a digital signal processor (DSP), and / or a clock source (i.e., a timer or counter) used in implementing a PWM scheme for controlling the states of each transistor 108u, 108v, 108w, 109u, 109v, and 109w, and ultimately each phase current provided on the respective load current paths U, V, and W.
[0035] In particular, the controller 104 may use a motor control algorithm, such as a field-oriented control (FOC) algorithm, to provide real-time current control for each phase current output to a multi-phase load, such as a multi-phase motor. Thus, a field-oriented control loop may be referred to as a current control loop. The motor speed may be further controlled by adding a constant-speed control loop above the FOC, providing constant-speed control. Thus, the FOC (i.e., the current control loop) may be considered an inner control loop, and a constant-speed control loop may be considered an outer control loop.
[0036] As stated above, Fig. 1 is provided as an example only. Other examples may differ from what is stated in relation to Fig. 1. For example, in some implementations, a number of motor phases may be different, or two half-bridges may be connected as an H-bridge circuit. In some implementations, additional circuit components may be added without departing from the disclosure provided above.
[0037] Fig. 2 illustrates a schematic block diagram illustrating a motor control system 200 according to one or more implementations. Motor control algorithms described herein may be implemented either as software on a programmable motor controller or as hardware on a configurable control circuit or a hard-coded control circuit. The configurable control circuit may be a digital or mixed-signal control circuit. Likewise, the hard-coded control circuit may be a digital or mixed-signal control circuit. For example, a motor control algorithm may be implemented as firmware programmed into the controller 104 or by a combination of firmware and circuit components (hardware) of the controller 104.
[0038] The motor control system 200 includes a current controller 202 (e.g., a FOC-based current controller) and a speed controller 204. The current controller 202 and the speed controller 204 may be implemented as part of the controller 104.
[0039] As used herein, Vq and Vd represent the stator Q-axis and D-axis voltages of the motor in a DQ coordinate system. That is, Vq is the motor voltage component on the Q-axis of the DQ coordinate system, and Vd is the motor voltage component on the D-axis of the DQ coordinate system. Similarly, Iq and Id represent the stator Q-axis and D-axis currents of the motor in the DQ coordinate system. That is, Iq is the motor current component on the Q-axis of the DQ coordinate system, and Id is the motor current component on the D-axis of the DQ coordinate system. Furthermore, each PI controller receives a proportional gain KP and an integral gain KI and generates an output according to Eqs. 1 and 2: PI−Output=KPΔ+KI∫Δ dt, where Δ is the error or deviation of an actual measured value (PV) from a target value (SP). Δ=SP+PV
[0040] The current controller 202 and the speed controller 204 each play a role in varying motor winding voltages of an AC motor to drive the AC motor at a reference speed value (e.g., a target speed) determined by a speed reference signal ω Ref A sensor-based or sensorless FOC algorithm structure can be used. In the example from Fig. 2 shows a sensor-based FOC algorithm structure. For example, the AC motor may be coupled to a load via a shaft, and a shaft angle sensor 206 may be configured to detect a shaft angle (e.g., a rotation angle) of the shaft as the shaft rotates. An angle sensor interface 208, implemented as an exemplary measurement interface, includes a processor that processes a sensor signal generated by the shaft angle sensor 206. From the sensor signal, the angle sensor interface 208 may generate a speed feedback signal ωm representative of a motor speed of the AC motor (e.g., a rotation speed of the shaft), a mechanical angle θm of the load (e.g., a mechanical angle of the shaft), and a rotor angle θr (e.g., a rotor magnetic field angle) of the motor.The speed feedback signal ωm includes an AC error component corresponding to the load torque ripple, which is a target for compensation.
[0041] Additionally, current sensors 210 may be placed along the load current paths U, V, and W, respectively, to measure the phase currents (e.g., load currents) and provide three sensor signals Iu, V, W to a three-phase to two-phase converter 212, such as a Clarke transformation unit. The current sensors 210 may comprise Hall sensors or shunt resistors used to directly measure the phase currents. The three-phase to two-phase converter 212 may use a Clarke transformation to apply an alpha-beta transformation to the three sensor signals Iu, V, W to derive an alpha current Iα and a beta current Iβ. The FOC further uses a vector rotation (e.g.,A vector rotation unit 214 performs a cordic rotation (also known as a cord rotation) to transform motor winding currents using the alpha and beta currents Iα and Iβ into two quasi-DC components, including a d-axis current Id that strengthens or weakens a rotor field and a q-axis current Iq that generates motor torque. The vector rotation of the vector rotation unit 214 can be driven by the rotor angle θr determined by the angle sensor interface 208, so that the d-axis current Id and the q-axis current Iq represent a rotor field component and a torque component of the motor current, respectively.
[0042] A q-axis summing node 216 and a PI compensator 218 (e.g., a PI controller) regulate the q-axis voltage Vq in a rotating reference frame so that the q-axis current Iq corresponds to a torque reference value T Refoutput by the speed controller 204. For example, the q-axis summing node 216 may be an error generator, such as a subtractor, that calculates the torque reference value T Ref as the setpoint (SP) and the q-axis current Iq from the vector rotation unit 214 as the actual measured value (PV) and generates an error value Errlq. The PI compensator 218 regulates the q-axis voltage Vq based on the error value Errlq.
[0043] A d-axis summing node 220 and a PI compensator 222 (e.g., a PI controller) regulate the d-axis voltage Vd in the rotating reference frame so that the d-axis current Id follows a d-axis current reference IdRef to maximize motor efficiency. For example, the d-axis summing node 220 may be an error generator, such as a subtractor, that receives the d-axis current reference IdRef as the setpoint (SP) and the d-axis current Id from the vector rotation unit 214 as the actual measured value (PV) and generates an error value Errld. The PI compensator 222 regulates the d-axis voltage Vd based on the error value Errld.
[0044] A forward vector rotation unit 224 applies a forward vector rotation to the q-axis voltage Vq and the d-axis voltage Vd and transforms the q-axis voltage Vq and the d-axis voltage Vd into two-phase AC voltage components Vα and Vβ based on the rotor angle θr calculated by the angle sensor interface 208. Thus, the forward vector rotation unit 224 transforms the d-axis voltage Vd and the q-axis voltage Vq into the two-phase AC voltage signals Vα and Vβ in a stator reference frame, which drive a space vector PWM modulator 226, so that the three-phase motor voltages drive a target motor field and torque components.
[0045] The space vector PWM modulator 226 receives the two-phase AC voltage components Vα and Vβ and generates the inverter switching signals (e.g., six paths of PWM control signals output by the controller 104) based on the Vα and Vβ voltage inputs and space vector pulse width modulation (SVPWM). The gate driver system 106 then switches the respective power transistors 108u, 108v, 108w, 109u, 109v, and 109w on / off based on the PWM control signals. Accordingly, the current regulator 202 may be configured to maintain the torque reference value T Ref to receive and drive motor currents of the AC motor using the PWM control signals to generate a torque corresponding to the torque reference value T Ref For example, the current controller 202 may calculate the inverter voltages to drive the motor currents required to operate the AC motor at maximum efficiency.
[0046] SVPWM is a real-time PWM control algorithm. It is used to generate AC waveforms and can be used to drive three-phase AC motors at varying speeds from a DC source using multiple switching transistors. Although the examples described herein are in the context of three-phase motors, the examples are not limited to this and can be applied to any load pattern.
[0047] The speed controller 204 includes a summing junction 228 that generates a speed error signal Δωm by calculating a difference between a speed reference value determined by the speed reference signal ω Refprovided, and the velocity feedback signal ωm. For example, the summing junction 228 may be an error generator, such as a subtractor, that generates the velocity error signal Δwm as the difference between the velocity reference signal ω Ref and the velocity feedback signal ωm.
[0048] The speed controller 204 may further include a PI compensator 230 (e.g., a PI controller) that provides the torque reference value T Ref based on the speed error signal Δwm to drive an average speed error to zero so that the motor speed follows the speed reference value determined by the speed reference signal ω Ref In other words, the PI compensator 230 may be configured to determine the torque reference value T based on the speed error signal Δwm Refwhich is designed to control the speed reference value of the speed reference signal ω Ref For example, the PI compensator 230 may provide an output signal T PIO (e.g., a proportional-integral output (PIO)) based on the speed error signal Δwm to compensate for an error value of the speed error signal Δωm. A frequency component of the output signal T PIO may be marked with a subscript “N”. For example, a DC component of the output signal T PIO as T PIO0 where N is 0 (zero). A first harmonic (e.g., a fundamental) of the output signal T PIO can be used as T PIO1 where N is 1. A second harmonic of the output signal T PIO can be used as T PIO2 where N is 2, and so on.
[0049] The speed controller 204 may further include a load torque ripple compensator 232 that provides a torque feedforward function T FF (θm) to compensate for an AC component of the load torque that varies with the mechanical angle θm of the shaft (e.g., the load). In other words, the load torque ripple compensator 232 applies the torque feedforward function T FF (θm) to compensate for the load torque ripple Tc (e.g., the compressor ripple AC component). The load torque ripple compensator 232 can provide the torque feedforward function T FF (θm) to calculate the load torque ripple in the torque reference value T Ref, which occurs due to a nonlinear relationship between the load torque and the mechanical angle of the shaft. In other words, the load torque ripple Tc varies (nonlinearly) with the mechanical angle θm of the shaft.
[0050] Applying the torque pre-control function T FF (θm) can generate a pilot compensation signal T FF as a function of the mechanical angle θm of the shaft, so that the pilot compensation signal T FF with a frequency, a magnitude, and a phase of the load torque ripple Tc. The frequency of the feedforward compensation signal T FF can be equal to the motor rotation frequency (e.g., the mechanical motor frequency), which can be directly derived from the mechanical angle θm of the shaft. In other words, the frequency of the feedforward compensation signal T FFby the torque pre-control function T FF (θm) based on the motor rotation frequency provided by the mechanical angle θm. Applying the torque feedforward function T FF (θm) can also be the addition of the pilot compensation signal T FF to the output signal T PIO of the PI compensator 230 to determine the torque reference value T Ref In some implementations, the speed controller 204 may further include a summing junction 234 (e.g., an adder) that generates the feedforward compensation signal T FF to the output signal T PIO of the PI compensator 230. The load torque ripple compensator 232 may be configured to adjust the frequency, magnitude, and phase of the feedforward compensation signal T FF to dynamically adapt in real time as the AC motor load varies over time. For example, the magnitude of the feedforward compensation signal T FFincrease with increasing load and may decrease with decreasing load.
[0051] As stated above, Fig. 2 is provided as an example only. Other examples may differ from what is stated in relation to Fig. 2. The number and arrangement of components used in Fig. 2 are provided as an example. In practice, the engine control system 200 may include additional components, fewer components, different components, or differently arranged components than those shown in Fig. 2. Two or more components that are shown in Fig. 2 can be implemented within a single component, or a single component that is implemented in Fig. 2 may be implemented as multiple, distributed components. Additionally or alternatively, one set of components (e.g., one or more components) of engine control system 200 may perform one or more functions described as being performed by another set of components of engine control system 200.
[0052] Fig. 3 illustrates a schematic block diagram illustrating a motor control system 300 according to one or more implementations. For example, the motor control system 300 may employ a sensorless control implementation for internal permanent magnet (IPM) motors using a single shunt resistor (Rs) placed on a negative DC connection (bus) of the inverter 102. The motor control system 300 includes a current controller 302 (e.g., a FOC-based current controller) and a speed controller 304. The current controller 302 and the speed controller 304 may be implemented as part of the controller 104.
[0053] The current controller 302 and the speed controller 304 each play a role in varying motor winding voltages of an AC motor to drive the AC motor at a reference speed value (e.g., a target speed) determined by a speed reference signal ω RefThe AC motor may be shaft-coupled to a load. However, instead of using a sensor-based interface, the current controller 302 includes a phase current reconstruction circuit 306 as part of a measurement interface. The phase current reconstruction circuit 306 may use a single shunt reconstruction to reconstruct each of the phase currents Iu, Iv, and Iw for each respective phase U, V, and W. For example, using a single shunt reconstruction, the phase current reconstruction circuit 306 may measure a DC link current Idc in the shunt resistance Rs during active vectors of the PWM cycle. The phase current reconstruction circuit 306 may receive samples of the DC link current Idc taken from the shunt resistance Rs and then use an SVPWM algorithm (e.g., software) to reconstruct three phase currents in real time.For example, in each PWM cycle, there are two different active vectors, and the DC link current Idc in each active vector represents a current at a motor phase. The phase current reconstruction circuit 306 may include an ADC that samples the DC link current Idc (e.g., by measuring a voltage drop across the shunt resistor Rs) during the active vectors of the PWM cycle. Calculating a third phase current value is possible because, in a balanced state, a sum of all three winding currents is zero. Thus, the phase current reconstruction circuit 306 may include a processor that calculates the three phase currents Iu, Iv, and Iw from ADC samples.
[0054] The phase current reconstruction circuit 306 may also include a three-phase to two-phase converter that may use a Clarke transform to apply an alpha-beta transformation to the three phase currents Iu, Iv, and Iw calculated by the phase current reconstruction circuit 306 to derive an alpha current Iα and a beta current Iβ. The FOC further uses a vector rotation (e.g., a Cordian rotation) at a vector rotation unit 308 to transform motor winding currents using the alpha and beta currents Iα and Iβ into two quasi-DC components, including a d-axis current Id that strengthens or weakens a rotor field and a q-axis current Iq that generates motor torque.The vector rotation of the vector rotation unit 308 can be driven by an electrical rotor angle θe determined by a flux angle estimator 310 of the measurement interface, such that the d-axis current Id and the q-axis current Iq represent a rotor field component and a torque component of the motor current, respectively.
[0055] The flux angle estimator 310 performs rotor angle and motor speed measurements and estimations based on motor winding voltage and current. For example, the flux angle estimator 310 may generate angle signals from voltage and current information Vα, Vβ, Iα, and Iβ. The flux angle estimator 310 may also include an angle phase-locked loop (PLL) that outputs the electrical rotor angle θe and the speed feedback signal ωm representative of a motor speed of the AC motor (e.g., a shaft rotational speed).
[0056] In some implementations, the flux may be calculated by flux angle estimator 310 based on feedback current (e.g., using alpha and beta currents Iα and Iβ), estimated voltages Vα and Vβ (based on DC bus feedback voltage and a modulation index), and motor parameters (e.g., inductance and resistance). The output of a flux estimator from flux angle estimator 310 may represent rotor magnetic fluxes in alpha-beta two-phase quantities φα and φβ in a stationary orthogonal frame, with the U phase aligned with alpha.
[0057] The angle PLL can estimate a flux angle (e.g., an estimated rotor angle) and a motor speed from a rotor magnetic flux vector of the alpha-beta two-phase quantities φα and φβ. A vector rotation of the angle PLL calculates an error between a rotor flux angle and the estimated rotor angle. A PI compensator and integrator of the angle PLL estimate the force angle and frequency in the closed-loop path to track the angle and frequency of the rotor flux angle. The motor speed is derived from a rotor frequency according to a number of rotor poles. Thus, the flux angle estimator 310 can derive the electrical rotor angle θe and the speed feedback signal ωm from motor winding voltages (e.g., the alpha and beta voltages Vα and Vβ) and motor winding currents (e.g., the alpha and beta currents Iα and Iβ).However, the speed feedback signal ωm includes an AC error component corresponding to the load torque ripple, which is a target for compensation.
[0058] The current controller 302 may further comprise a scaling and alignment unit 312 that calculates the mechanical angle θm from the electrical rotor angle θe provided by the flux angle estimator 310 and a torque reference value T Ref provided by the speed controller 304.
[0059] Current controller 302 may further include an IPM controller 314, which may maximize torque per ampere in IPM motors. For example, IPM controller 314 may adjust a d-axis reference current IdRef to maximize motor torque per ampere when there is a difference between motor Q-axis and D-axis inductances. IPM controller 314 may calculate a non-zero d-axis reference current IdRef based on an angular lead that is a function of the motor parameters and the motor current. The angular lead calculation may be implemented as a linear approximation or as a lookup table derived from the motor characterization. This function optimizes the motor operating point for maximum efficiency.
[0060] A q-axis summing node 316 and a PI compensator 318 (e.g., a PI controller) regulate the q-axis voltage Vq in a rotating reference frame so that the q-axis current Iq corresponds to a torque reference value T Ref output by the speed controller 304. For example, the q-axis summing node 316 may be an error generator, such as a subtractor, that calculates the torque reference value T Ref as the setpoint (SP) and the q-axis current Iq from the vector rotation unit 308 as the actual measured value (PV) and generates an error value Errlq. The PI compensator 318 regulates the q-axis voltage Vq based on the error value Errlq.
[0061] A d-axis summing node 320 and a PI compensator 322 (e.g., a PI controller) regulate the d-axis voltage Vd in the rotating reference frame so that the d-axis current Id follows a d-axis current reference IdRef to maximize motor efficiency. For example, the d-axis summing node 320 may be an error generator, such as a subtractor, that receives the d-axis current reference IdRef as the setpoint (SP) and the d-axis current Id from the vector rotation unit 308 as the actual measured value (PV) and generates an error value Errld. The PI compensator 322 regulates the d-axis voltage Vd based on the error value Errld.
[0062] A forward vector rotation unit 324 applies a forward vector rotation to the q-axis voltage Vq and the d-axis voltage Vd and transforms the q-axis voltage Vq and the d-axis voltage Vd into two-phase AC voltage components Vα and Vβ based on the rotor electrical angle θe calculated by the flux angle estimator 310. Thus, the forward vector rotation unit 324 transforms the d-axis voltage Vd and the q-axis voltage Vq into the two-phase AC voltage signals Vα and Vβ in a stator reference frame, which drive a space vector PWM modulator 326, so that the three-phase motor voltages drive a target motor field and torque components.
[0063] The space vector PWM modulator 326 receives the two-phase AC voltage components Vα and Vβ and generates the inverter switching signals (e.g., six paths of PWM control signals output by the controller 104) based on the Vα and Vβ voltage inputs and SVPWM. The gate driver system 106 then turns on / off the respective power transistors 108u, 108v, 108w, 109u, 109v, and 109w based on the PWM control signals. Accordingly, the current regulator 302 may be configured to maintain the torque reference value T Ref to receive and drive motor currents of the AC motor using the PWM control signals to generate a torque corresponding to the torque reference value T Ref For example, the current controller 302 may calculate the inverter voltages to drive the motor currents required to operate the AC motor at maximum efficiency.
[0064] The speed controller 304 includes the summing junction 228, the PI compensator 230, the load torque ripple compensator 232, and the summing junction 234, as similarly described in connection with Fig. 2, except that the summing junction 228 receives the velocity feedback signal ωm from the flux angle estimator 310 and the load torque ripple compensator 232 receives the shaft mechanical angle θm from the scaling and alignment unit 312.
[0065] As stated above, Fig. 3 is provided as an example only. Other examples may differ from what is stated in relation to Fig. 3. The number and arrangement of components used in Fig. 3 are provided as an example. In practice, the engine control system 300 may include additional components, fewer components, different components, or differently arranged components than those shown in Fig. 3. Two or more components that are shown in Fig. 3 can be implemented within a single component, or a single component that is implemented in Fig. 3 may be implemented as multiple, distributed components. Additionally or alternatively, one set of components (e.g., one or more components) of engine control system 300 may perform one or more functions described as being performed by another set of components of engine control system 300.
[0066] Fig. 4 illustrates an upper plot 400A and a lower plot 400B showing why the PI compensator 230 of the speed controller 304 alone (e.g., without feedforward control) cannot completely suppress load torque ripple components of the load torque ripple Tc. The upper plot 400A shows an average load torque ripple (T̅ c) of the load torque ripple Tc. The load torque ripple Tc causes the output signal T PIO of the PI compensator 230 also has an AC error component which is dependent on the load torque ripple Tc in phase by a phase difference θ CL is shifted. The lower diagram 400B shows that the speed feedback signal ωm has an AC error component (e.g., the speed error signal Δωm) that causes the speed feedback signal ωm to oscillate from the speed reference signal ωref resulting from the net shaft torque ripple filtered by the load (e.g., due to the load torque ripple Tc). The speed error signal Δωm is a function of a load torque ripple angle θc of the load torque ripple Tc. An integrator of the PI compensator 230 drives the output signal T PIOuntil the average speed error is zero, but the PI compensator 230 cannot track the AC component per cycle of the load torque ripple Tc because the gain of the PI compensator 230 changes with frequency. At very high speeds, mechanical filtering provided by the compressor load inertia reduces the speed ripple of the speed feedback signal ωm to an acceptable level. However, there is a range of operating speeds where noticeable shaft vibration, acoustic noise, and speed ripple are present.
[0067] As stated above, Fig. 4 is provided as an example only. Other examples may differ from what is stated in relation to Fig. 4 is described.
[0068] Fig. 5 illustrates an example 500 of harmonic components of a load torque ripple Tc. A first harmonic frequency component T CH1 (e.g. a fundamental frequency component of the load torque ripple Tc), a second harmonic frequency component T CH2 and a fifth harmonic frequency component T CH5 of the load torque ripple Tc are shown. The torque pre-control function T FF (θm) implemented by the load torque ripple compensator 232 may be a first-order torque feedforward function configured to generate the feedforward compensation signal T FF with the first harmonic frequency component T CH1 of the load torque ripple Tc in frequency, magnitude (gain) and phase to compensate for the first harmonic frequency component T CH1 the load torque ripple Tc. Thus, the torque pre-control function T FF(θm) implemented by the load torque ripple compensator 232 may be configured to measure at least one harmonic frequency component of the load torque ripple Tc to estimate the magnitude and phase of the load torque ripple Tc. The load torque ripple compensator 232 may measure at least one harmonic frequency component of the load torque ripple Tc by measuring either at least one harmonic component (e.g., the fundamental) of the output signal of the PI compensator 230 or at least one harmonic component (e.g., the fundamental) of the speed error signal Δωm. In some implementations, feedforward compensation for more than one harmonic frequency may be implemented by adding additional load torque ripple compensators (e.g., feedforward compensators) in parallel.For example, a load torque ripple compensator may be configured to compensate the first harmonic frequency component T. CH1 the load torque ripple Tc, and another load torque ripple compensator may be arranged to measure another harmonic frequency component of the load torque ripple Tc.
[0069] As stated above, Fig. 5 is provided as an example only. Other examples may differ from what is stated in relation to Fig. 5 is described.
[0070] Fig. Figure 6 illustrates diagrams 600A, 600B, 600C, and 600D, which show how a load ripple frequency ωc of a load torque ripple Tc, represented by a period of the load torque ripple Tc, is directly related to the motor electrical frequency of the rotor electrical angle θe and a mechanical frequency of the mechanical angle θm by the number of motor poles (p). The phase difference φcm of the load torque ripple angle θc relative to the mechanical angle θm is fixed once the AC motor and load are assembled. A magnitude of the load torque ripple Tc changes with application load changes.
[0071] As stated above, Fig. 6 is provided as an example only. Other examples may differ from what is stated in relation to Fig. 6 is described.
[0072] Fig. Figure 7 illustrates a torque compensation system model 700 according to one or more implementations. The torque compensation system model 700 is a frequency-domain model of a torque compensation system.
[0073] The speed controller 204 (or 304) includes the load torque ripple compensator 232, which provides a torque feedforward function T FF (θm) and a compensator transfer function C(s) for the PI compensator 230. A gain function 702 calculates a torque feedforward gain and provides the torque feedforward gain in a torque feedforward gain signal T F The gain function 702 calculates a torque pre-control gain from a product of an average load torque TPIO¯ and a pilot control gain parameter G F (e.g. a feedforward scaling factor) so that a magnitude of the torque feedforward gain signal TF increases with increasing load. The pilot control gain parameter G F can be adjusted with a magnitude of the first harmonic frequency component (e.g. the fundamental) of the load torque ripple Tc.
[0074] A summing junction 704 adds a feedforward phase parameter θ TCos (e.g. a phase shift) to the mechanical angle θm to obtain a pilot phase θ F to account for an alignment mismatch corresponding to the phase difference φcm that exists when the system (e.g., the motor and the load) is assembled. The feedforward phase parameter θ TCos can be matched with a phase of the first harmonic frequency component (e.g. the fundamental) of the load torque ripple Tc.
[0075] A trigonometric function 706 (e.g. T F Cos(θ F )) generates the pilot compensation signal T FFas a sinusoidal torque ripple compensation signal using the feedforward gain signal T F (e.g. the torque pre-control gain) and the pre-control phase θ F . The pilot compensation signal T FF can be matched in frequency, magnitude, and phase with the first harmonic frequency component (e.g., the fundamental) of the load torque ripple Tc. The gain function 702, the summing junction 704, and the trigonometric function 706 can generate the torque feedforward function T FF (θm) of the speed controller 204 (or 304).
[0076] Thus, the torque pre-control function T FF (θm) the feedforward gain parameter G F and the pre-control phase parameter θ TCos which serve as input variables for generating the pilot control compensation signal T FFbe used. In addition, in the gain function 702, the load torque ripple compensator 232 is configured to use the feedforward gain parameter G F multiplied by the mean value of the output signal of the PI compensator 230 to obtain the torque feedforward gain signal T F and the torque pre-control gain signal T F as the size of the pilot compensation signal T FF In addition, the load torque ripple compensator 232 is configured to use the feedforward phase parameter θ TCos to the mechanical angle θm to determine the pilot phase θ F which is used as the phase of the pilot compensation signal T FF should be used.
[0077] The torque compensation system model 700 further includes a system model 708 of the current controller 202 (or 302), the AC motor, and the load. A first-order system 710 models dynamic friction and inertia of the load and the AC motor and provides the velocity feedback signal ωm. A velocity integrator 712 models shaft angular rotation and provides the mechanical angle θm. A summing junction 714 and a higher-order Fourier series 716 model the nonlinear mechanical load. In particular, the higher-order Fourier series 716 models the load torque ripple Tc. The remainder of the system model 708 includes linear models for an FOC-based current-regulated three-phase voltage inverter 718 that provides motor current Im, an AC motor torque generation 720 that provides motor torque Tm, an angle sensor interface (Bq) 722, and a speed sensor interface (Bw) 724.
[0078] As stated above, Fig. 7 is provided as an example only. Other examples may differ from what is stated in relation to Fig. 7 is described.
[0079] Fig. Figure 8 illustrates a torque compensation system model 800 according to one or more implementations. The torque compensation system model 800 represents the motor and load in a speed controller scaling domain to enable calculation of the feedforward compensation signal T FF which is used to reduce or cancel the fundamental harmonic (e.g., first-order ripple component) of the (nonlinear) load torque ripple Tc. The FOC-based current-controlled three-phase voltage inverter 718, the AC motor torque generation 720, the angle sensor interface (Bq) 722, and the speed sensor interface (Bw) 724, which are Fig. 7 are combined into a compressor load model S(s) 802, which is represented in the speed controller scaling domain.
[0080] As stated above, Fig. 8 is provided as an example only. Other examples may differ from what is stated in relation to Fig. 8 is described.
[0081] Fig. 9 illustrates a consolidated torque compensation system model 900 according to one or more implementations. For example, the consolidated torque compensation system model 900 may be a simplified version of the torque compensation system model 800. Additionally, the consolidated torque compensation system model 900 may be a first-order harmonic component model.
[0082] The PI compensator 230 is represented by the compensator transfer function C(s), the load model is represented by S(s) (e.g., a mechanical system transfer function), and the torque feedforward gain signal T F (e.g., the torque feedforward gain) and the load torque ripple Tc are represented by mathematical functions in block 232 and block 716, respectively. Block 902 represents a closed-loop gain of the speed controller 204 (or 304) via a closed-loop transfer function G CL (s). The pilot compensation signal T FF is determined by the first harmonic frequency component T CH1 (e.g. the first order ripple component) of the load torque ripple Tc is subtracted by a summing junction 904 to obtain the (non-linear) first harmonic frequency component T CH1Thus, the frequency, magnitude (gain) and phase of the feedforward compensation signal T FF with the first harmonic frequency component T CH1 match or substantially match to cancel or otherwise reduce the load torque ripple Tc.
[0083] The torque pre-control function T FF (θm) reduces or eliminates motor load torque ripple in motor drives at medium to high speeds when the ripple frequency is close to or greater than the bandwidth of the speed controller 204 (or 304). The torque feedforward function T FF (θm) automatically determines the AC components of the motor load torque and generates the feedforward compensation signal T FF to reduce or eliminate mechanical vibrations. The frequency of the pilot compensation signal T FFcan be determined by the motor drive, but the pilot compensation signal T FF should also be matched in phase and magnitude with the mechanical load torque ripple. The torque pre-control function T FF(θm) may use a cross-correlation function to measure direct and quadrature first harmonic components of the output signal of the PI compensator 230 in the motor speed control loop, or may use a cross-correlation function to measure direct and quadrature first harmonic components of the output signal of the speed error signal Δωm in the motor speed control loop. For example, each AC frequency component of the output signal of the PI compensator 230 and the speed error signal Δωm is a vector with magnitude and phase relative to a common reference angle and may be represented as a complex number. The cross-correlation function may extract the complex vector that represents the first harmonic component of the output signal of the PI compensator 230 or the speed error signal Δwm relative to a reference angle (e.g., the feedforward phase θ F). The load torque ripple compensator 232 may take two sequential measurements at two different test feedforward torque levels. The load torque ripple compensator 232 may set the cancellation feedforward gain parameter G F and the pre-control phase parameter θ TCos from a linear combination of the two sequential measurements and the two different test pre-tax levels.
[0084] Equation 3 represents a relationship between the first harmonic frequency component T CH1 , the pilot control compensation signal T FF , the closed control loop transfer function G CL (s) and a first harmonic component T PIO1 of the output signal T PIO of the PI compensator 230. TPIO1=[C(s)S(s)1+C(s)S(s)](TCH1−TFF)
[0085] If the pilot compensation signal T FFin the consolidated torque compensation system model 900, the output signal T PIO of the PI compensator 230 can be measured directly, but the load torque ripple Tc and mechanical system parameters cannot be measured. Instead, two output signals T PIO with different pilot torque values [T FF ]1 and [T FF ]2 at the same load, an indirect measurement of the unknown ripple torque component of the load torque ripple Tc can be obtained. In equations 4 and 5, [T FF ]1 and [T FF ]2 two different pilot torque values, while [T PIO1 ]1 and [T PIO1 ]2 corresponding fundamental components of the output signal T PIO of the PI compensator 230. For example, the feedforward compensation signal T FF with two different values [G F ]1 and [G F ]2 for the feedforward gain parameter GF generated to achieve the two different pilot torque values [T FF ]1 and [T FF ]2 (e.g. two different pilot compensation signals T FF ). The fundamental component of the output signal T PIO of the PI compensator 230 can be controlled with the pilot compensation signal T FF measured, which is based on the pilot torque value [T FF ]1 is set (e.g. with the pre-control gain parameter G F , which is set to a first value) to [T PIO1 ]1. Then the fundamental component of the output signal T PIO of the PI compensator 230 with the pilot compensation signal T FF measured, which is based on the pilot torque value [T FF ]2 is set (e.g. with the pre-control gain parameter G F , which is set to a second value) to [T PIO1 ]2 to receive. [TPIO1]1=[C(s)S(s)1+C(s)S(s)](TCH1−[TFF]1) [TPIO1]2=[C(s)S(s)1+C(s)S(s)](TCH1−[TFF]2)
[0086] Equation 6 shows that a difference between the two fundamental components of the output signal T PIO [T PIO1 ]1 and [T PIO1 ]2 yields an equation without the load torque ripple Tc, where an unknown term (e.g. the closed loop transfer function G CL (s)) remains. [TPIO1]2−[TPIO1]1=[C(s)S(s)1+C(s)S(s)]([TFF]1−[TFF]2)
[0087] Equation 7 represents a ratio R 12 a first measurement of the fundamental component of the output signal T PIO [T PIO1 ]1 and the difference between the two fundamental components of the output signal T PIO [T PIO1 ]1 and [T PIO1 ]2 ready. R12=[TPIO1]1[TPIO1]1−[TPIO1]2=TCH1−[TFF]1([TFF]2−[TFF]1)
[0088] The ratio R12 Equation 8 gives the first harmonic frequency component T CH1 the load torque ripple Tc. The first harmonic frequency component T CH1 the load torque ripple Tc is calculated based on the ratio R 12 and the pilot torque values [T FF ]1 and [T FF ]2, which are derived from different sets of test pre-control values (e.g. the pre-control gain parameter G F and the pre-control phase parameter θ TCos ) are equivalent to. TCH1=[TFF]1+([TFF]2−[TFF]1)R12
[0089] The ratio R 12 Equation 8 gives the first harmonic frequency component T CH1 the load torque ripple Tc. The first harmonic frequency component T CH1 the load torque ripple Tc is calculated based on the ratio R 12 and the pilot torque values [T FF ]1 and [T FF]2, which are derived from different sets of test pre-control values (e.g. the pre-control gain parameter G F and the pre-control phase parameter θ TCos ). The first harmonic frequency component T CH1 can be used to set the feedforward parameters G F and θ TCos to be determined as input variables to the load torque ripple compensator 232 for generating the pilot compensation signal T FF to be used to provide the summing junction 234 to compensate for the load torque ripple Tc. The feedforward control parameters G F and θ TCos can be calculated using equations 9 and / or 10 TFej(θm+θTCos)=TC1ej(θm+ϕcm)⇒θTCos=ϕcm=arg(TCH1) and[GF]3=TC1=|TCH1| |TCH1|=|TPIO0|×[GF]3=|TPIO0|×|[GF]1+([GF]2−[GF]1)R12| where [G F ]3 an updated value of the feedforward gain parameter G Fwhich serves as an input variable for generating the pilot control compensation signal T FF to be used to provide the summing junction 234 to compensate for the load torque ripple Tc. T C1 is an absolute value of the first harmonic frequency component T CH1 .
[0090] As stated above, Fig. 9 is provided as an example only. Other examples may differ from what is stated in relation to Fig. 9 is described.
[0091] Fig. 10 illustrates a system model 1000 of a motor control algorithm with automated torque compensation adjustment according to one or more implementations. The system model 1000 includes a cross-correlation unit 1002 as part of the load torque ripple compensator 232 of the speed controller 204 (or 304). The cross-correlation unit 1002 may use a cross-correlation function to estimate at least one harmonic component (e.g., the fundamental frequency) of the output signal T PIO of the PI compensator 230 and the pilot control gain parameter G F (e.g. the updated gain value [G F ]3) and the pre-control phase parameter θ TCos based on at least one harmonic component of the output signal T PIOof the PI compensator 230. Thus, the cross-correlation function may be performed by at least one processor or other processing hardware. For example, the cross-correlation unit 1002 may automatically determine the feedforward gain parameter G F and the pre-control phase parameter θ TCos determine which are used to generate the pilot compensation signal T FF used which corresponds to the first harmonic frequency component T CH1 the load torque ripple Tc.
[0092] The cross-correlation unit 1002 may include a cross-correlation block 1004 that calculates the fundamental component T PIO1 of the output signal T PIO from the PI compensator 230. For example, the cross-correlation block 1004 can extract a complex vector that represents the output signal T PIO which represents a magnitude and a phase of the fundamental component T PIO1A first zero-order holding register 1006 may store a complex value of the complex vector (e.g., the magnitude and the phase) for each case in which the cross-correlation calculation is performed (e.g., for each sample of the output signal T PIO ). Each sample of the fundamental component T PIO1 , which is detected by the first zero-order holding register 1006, can be assigned to a current feedforward gain parameter G F and a current feedforward phase parameter θ TCos be assigned to generate a current pilot control compensation signal T FF be used.
[0093] A threshold comparator 1008 can determine the magnitude of the fundamental component T PIO1 from the complex value provided by the first zero-order holding register 1006. In addition, the threshold comparator 1008 can calculate the magnitude |T| of the fundamental component T PIO1with a threshold value Tε and a setting of the feedforward gain parameter G F and the pre-control phase parameter θ TCos when the threshold comparator 1008 determines that the magnitude |T| of the fundamental component T PIO1 the threshold value Tε is met (e.g. if the value |T| of the fundamental component T PIO1 greater than the threshold Tε).
[0094] If a gain adjustment is required based on the magnitude |T| of the fundamental component T PIO1 meets the threshold value Tε, a second zero-order holding register 1010 stores the complex value of the fundamental component T PIO1 as a first sample value [T PIO1 ]1 of the magnitude and phase of the fundamental oscillation T PIO1 . The feedforward gain parameter G F of the pilot control compensation signal T FF , which corresponds to the first value [T PIO1]1 is also known and can be used as the gain value [G F ]1 can be used. Thus, the pre-control compensation signal T FF , which corresponds to the gain value [G F ]1 is assigned as pilot torque value [T FF ]1.
[0095] A main algorithm block 1012 may determine the feedforward gain parameter G F provided to the gain function 702 by a small adjustment ΔG (e.g., any gain setting) to adjust the feedforward compensation signal T FF for a second measurement. In this case, the set feedforward gain parameter G F as gain value [G F ]2 can be used, and the pilot compensation signal T FF , which corresponds to the gain value [G F ]2 can be used as pilot torque value [T FF]2. As soon as the feedforward gain parameter G F from the gain value [G F ]1 to the gain value [G F ]2 has been set and the system stabilizes (e.g., after a predetermined delay imposed by a delay element 1014), the second zero-order holding register 1010 may store a complex value of the fundamental component T PIO1 as a second sample value [T PIO1 ]2 the magnitude and phase of the fundamental oscillation T PIO1 The calculation units 1016 and 1018 can be set up to calculate the ratio R 12 according to equation 7, where A is the size of the first value (e.g. [T PI01 ]1) and B is the difference between the size of the first value (e.g. [T PI01 ]1) and the size of the second value (e.g. [T PIO1 ]2). Thus, the calculation unit 1016 can be a subtractor component that [T PIO1 ]2 of [TPIO1 ]1 to obtain a divisor variable (e.g., B) of a division operation (e.g., according to Equation 7). The calculation unit 1018 may be a divisor component that determines the magnitude of the first value (e.g., [T PIO1 ]1) is used as a dividend variable (e.g., A) of the division operation. The calculation unit 1018 calculates the ratio R 12 according to equation 7 based on A and B and represents the ratio R 12 the main algorithm block 1012. The main algorithm block 1012 may be configured to provide updated values for the feedforward gain parameter G F and the pre-control phase parameter θ TCos from equations 9 and / or 10 using the ratio R 12 The main algorithm block 1012 can calculate the updated values for the feedforward gain parameter G F and the pre-control phase parameter θ TCosthe amplification function 702 or the summing connection 704 to provide the precontrol compensation signal T FF to be used to compensate the load torque ripple Tc.
[0096] During the start-up of the system model 1000 (e.g. during the initialization of the motor control), the system model 1000 can determine initial values for the feedforward gain parameter G F and the pre-control phase parameter θ TCos by setting the gain value [G F ]1 to zero and setting the gain value [G F ]2 to any gain setting (e.g., A) other than zero. Thus, the first value (e.g., [T PIO1 ]1) can be obtained if the feedforward gain parameter G F is zero, and the second value (e.g. [T PIO1 ]1) can be obtained if the feedforward gain parameter G Fis set to the arbitrary gain setting to obtain an initial value of the ratio R 12 The initial value of the ratio R 12 can be used by the main algorithm block 1012 to determine the initial values for the feedforward gain parameter G F and the pre-control phase parameter θ TCos to calculate. When the first gain value is set to zero, a vector angle (phase) of the ratio R 12 equal to a phase difference between a fundamental AC torque component of the compressor and the pilot compensation signal T FF . If the ratio R 12 (e.g. the phase difference) for the feedforward phase parameter θ TCos the phase error goes to zero.
[0097] After initialization, the system model 1000 may use the threshold comparator 1008, as described above, to determine when to update the feedforward gain parameter G F and the pre-control phase parameter θ TCos to update the pilot compensation signal T FF should be carried out.
[0098] Thus, the load torque ripple compensator 232 may be configured to provide a first value [T PIO1 ]1 of a quantity and a phase of a fundamental oscillation T PIO1 of the output signal T PIO of the PI compensator 230, whereby the pilot control gain parameter G F to a first gain value [G F ]1 is set, a second value [T PIO1 ]2 the magnitude and phase of the fundamental oscillation T PIO1 of the output signal T PIO of the PI compensator 230, whereby the pilot control gain parameter G Fto a second gain value [G F ]2, which differs from the first gain value [G F ]1, and the pre-control gain parameter G F (e.g. [G F ]3) and the pre-control phase parameter θ TCos which are used to determine the pilot compensation signal T FF based on the first value [T PIO1 ]1 and the second value [T PIO1 ]2. During initialization, the first gain value [G F ]1 should be set to zero and the second gain value [G F ]2 may be set to a non-zero value. In addition, the load torque ripple compensator 232 may be configured to adjust the feedforward gain parameter G F and the pre-control phase parameter θ TCos based on a difference between the first gain value [G F ]1 and the second gain value [G F]2 (see e.g. equation 10).
[0099] In addition, the load torque ripple compensator 232 may be configured to adjust the feedforward gain parameter G F and the pre-control phase parameter θ TCos based on a ratio of the first value [T PIO1 ]1 and a difference between the first value [T PIO1 ]1 and the second value [T PIO1 ]2 to be determined.
[0100] To adjust the pilot compensation signal T FF To trigger the load torque ripple compensator 232, the load torque ripple compensator 232 may be configured to determine a first value of a magnitude and a phase of a fundamental oscillation T PIO1 of the output signal T PIO of the PI compensator 230, to compare the magnitude of the first value with a threshold value Tε and to update the feedforward compensation signal T FFbased on the magnitude of the first value being greater than or equal to the threshold Tε. The load torque ripple compensator 232 may be configured to update the feedforward compensation signal T FF performs a second value of the magnitude and phase of the fundamental oscillation T PIO1 of the output signal T PIO of the PI compensator 230, whereby the pilot control gain parameter G F has an adjusted gain value compared to a gain value used during a measurement of the first value, and the feedforward gain parameter G F (e.g. [G F ]3) and the pre-control phase parameter θ TCos which are used to determine the pilot compensation signal T FF based on the first value and the second value.
[0101] Thus, the load torque ripple compensator 232 may be configured to provide a first feedforward compensation signal [T FF ]1 and a first value [T PIO1 ]1 of a fundamental oscillation of the output signal T PIO of the PI compensator 230, while the first pre-control compensation signal [T FF ]1 to the output signal T PIO of the PI compensator 230 is added to form a first torque reference value T Ref The load torque ripple compensator 232 may be configured to generate a second feedforward compensation signal [T FF ]2 and a second value [T PIO1 ]2 of a fundamental oscillation of the output signal T PIO of the PI compensator 230, while the second pre-control compensation signal [T FF ]2 to the output signal T PIO of the PI compensator 230 is added to form a second torque reference value T RefThe first pilot compensation signal [T FF ]1 and the second pilot compensation signal [T FF ]1 are, for example, due to different gain values [G F ]1 and [G F ]2 different. The load torque ripple compensator 232 may be configured to adjust the feedforward gain parameter G F and the pre-control phase parameter θ TCos which are used to determine the pilot compensation signal T FF based on the first value [T PIO1 ]1 and the second value [T PIO1 ]2 as described above. Thus, the first pre-control compensation signal [T FF ]1 and the second pilot compensation signal [T FF ]2 different feedforward gain parameters (e.g. different gain values [G F ]1 and [G F ]2).
[0102] As stated above, Fig. 10 is provided as an example only. Other examples may differ from what is stated in relation to Fig. 10. The number and arrangement of components shown in Fig. 10 are provided as an example. In practice, the system model 1000 may include additional components, fewer components, different components, or differently arranged components than those shown in Fig. 10. Two or more components that are Fig. 10 can be implemented within a single component, or a single component that is implemented in Fig. 10 may be implemented as multiple, distributed components. Additionally or alternatively, a set of components (e.g., one or more components) of the system model 1000 may perform one or more functions described as being performed by another set of components of the system model 1000.
[0103] Fig. 11 illustrates a system model 1100 of a motor control algorithm with automated torque compensation adjustment according to one or more implementations. The system model 1100 is similar to the system model described in connection with Fig. 10, except that the cross-correlation block 1004 uses the velocity error signal Δwm instead of the output signal T PIO of the PI compensator 230. Thus, the cross-correlation block 1004 can extract a complex vector representing the velocity error signal Δwm, which includes a magnitude and a phase of a fundamental component Δω mH1 of the speed error signal Δωm, which is represented as a first sample value [Δω mH1 ]1 and a second sample value [Δω mH1 ]2 should be used. The magnitude and phase of the fundamental component Δω mH1 of the speed error signal Δωm for the first sample value [Δω mH1]1 and the second sample value [Δω mH1 ]2 are similarly determined by the cross-correlation unit 1002 described above relative to the magnitude and phase of the fundamental component of the output signal T PIO processed. For example, the cross-correlation unit 1002 may be configured to measure a magnitude and a phase of a fundamental oscillation of the speed error signal Δωm and to calculate the feedforward gain parameter G F and the pre-control phase parameter θ TCos based on the magnitude and phase of the fundamental frequency of the velocity error signal Δωm. Equation 11 represents a ratio R 12 of the first value [Δω mH1 ]1 of the fundamental component of the speed error signal Δωm and the difference between the first and the second value [Δω mH1 ]1 - [Δω mH1 ]2) the fundamental component of the speed error signal Δωm. R12=[ΔωmH1]1[ΔωmH1]1−[ΔωmH1]2=TCH1−[TFF]1([TFF]2−[TFF]1)
[0104] The main algorithm block 1012 may be configured to provide updated values for the feedforward gain parameter G F and the pre-control phase parameter θ TCos from equations 9 and / or 10 using the ratio R 12 The main algorithm block 1012 can calculate the updated values for the feedforward gain parameter G F and the pre-control phase parameter θ TCos the amplification function 702 or the summing connection 704 to provide the precontrol compensation signal T FF to be used to compensate the load torque ripple Tc.
[0105] As stated above, Fig. 11 is provided as an example only. Other examples may differ from what is stated in relation to Fig. 11. The number and arrangement of components shown in Fig. 11 are provided as an example. In practice, the system model 1100 may include additional components, fewer components, different components, or differently arranged components than those shown in Fig. 11. Two or more components that are Fig. 11 can be implemented within a single component, or a single component that is implemented in Fig. 11 may be implemented as multiple, distributed components. Additionally or alternatively, a set of components (e.g., one or more components) of system model 1100 may perform one or more functions described as being performed by another set of components of system model 1100.
[0106] The following provides an overview of some aspects of the present disclosure:
[0107] Aspect 1: A motor controller configured to drive a motor coupled to a shaft, the motor controller comprising: a measurement interface configured to measure a mechanical angle of the shaft and a rotational speed of the shaft and generate a speed feedback signal representative of the rotational speed; a speed controller comprising: a first error component configured to receive a speed reference signal corresponding to a speed reference value and the speed feedback signal, and generate a speed error signal based on a difference between the speed reference signal and the speed feedback signal;a proportional-integral (PI) controller configured to control a torque reference value based on the speed error signal, configured to maintain the speed reference value;and a load torque ripple compensator configured to apply a torque feedforward function to reduce a load torque ripple in the torque reference value, wherein applying the torque feedforward function comprises generating a feedforward compensation signal consistent with a frequency, a magnitude, and a phase of the load torque ripple, and adding the feedforward compensation signal to an output signal of the PI controller to generate the torque reference value, wherein the load torque ripple varies with the mechanical angle, and wherein the load torque ripple compensator is configured to dynamically adjust a magnitude and a phase of the feedforward compensation signal in real time as a load of the motor varies over time;and a current controller configured to receive the torque reference value and drive motor currents of the motor to produce a torque corresponding to the torque reference value;
[0108] Aspect 2: The motor controller of aspect 1, wherein the torque feedforward function comprises a feedforward gain parameter and a feedforward phase parameter used as inputs to generate the feedforward compensation signal, wherein the load torque ripple compensator is configured to measure at least one harmonic component of the output signal of the PI controller and to determine at least one of the feedforward gain parameter and the feedforward phase parameter based on the at least one harmonic component of the output signal of the PI controller.
[0109] Aspect 3: The motor controller of aspect 2, wherein the load torque ripple compensator is configured to multiply the feedforward gain parameter by an average value of the output signal of the PI controller to determine the magnitude of the feedforward compensation signal.
[0110] Aspect 4: Motor control according to aspect 3, wherein the magnitude of the feedforward compensation signal increases with increasing load.
[0111] Aspect 5: The motor controller of aspect 2, wherein the load torque ripple compensator is configured to add the feedforward phase parameter to the mechanical angle to determine the phase of the feedforward compensation signal.
[0112] Aspect 6: The motor controller of aspect 2, wherein the load torque ripple compensator is configured to measure a first value of a magnitude and a phase of a fundamental wave of the output signal of the PI controller, wherein the feedforward gain parameter is set to a first gain value, measure a second value of the magnitude and phase of the fundamental wave of the output signal of the PI controller, wherein the feedforward gain parameter is set to a second gain value different from the first gain value, and determine the feedforward gain parameter and the feedforward phase parameter used to generate the feedforward compensation signal based on the first value and the second value.
[0113] Aspect 7: Motor control according to aspect 6, wherein the first gain value is zero.
[0114] Aspect 8: The motor controller of aspect 6, wherein the load torque ripple compensator is configured to determine the feedforward gain parameter and the feedforward phase parameter based on a difference between the first gain value and the second gain value.
[0115] Aspect 9: The motor controller of aspect 6, wherein the load torque ripple compensator is configured to determine the feedforward gain parameter and the feedforward phase parameter based on a ratio of the first value and a difference between the first value and the second value.
[0116] Aspect 10: The motor controller of aspect 2, wherein the load torque ripple compensator is configured to measure a first value of a magnitude of a fundamental component of the output signal of the PI controller, compare the magnitude of the first value to a threshold, and trigger an update of the feedforward compensation signal based on the magnitude of the first value being greater than or equal to the threshold.
[0117] Aspect 11: The motor controller of aspect 10, wherein the load torque ripple compensator is configured to measure, while performing the update of the feedforward compensation signal, a second value of the magnitude and phase of the fundamental component of the output signal of the PI controller, wherein the feedforward gain parameter has an adjusted value compared to a value used during a measurement of the first value, and to determine the feedforward gain parameter and the feedforward phase parameter used to update the feedforward compensation signal based on the first value and the second value.
[0118] Aspect 12: Motor control according to aspect 2, wherein the load torque ripple compensator is configured to generate a first feedforward compensation signal and measure a first value of a fundamental oscillation of the output signal of the PI controller, while adding the first feedforward compensation signal to the output signal of the PI controller to generate a first torque reference value, wherein the load torque ripple compensator is configured to generate a second feedforward compensation signal and measure a second value of the fundamental oscillation of the output signal of the PI controller, while adding the second feedforward compensation signal to the output signal of the PI controller to generate a second torque reference value, wherein the first feedforward compensation signal and the second feedforward compensation signal are different, and wherein the load torque ripple compensator is configured,determine the feedforward gain parameter and the feedforward phase parameter used to generate the feedforward compensation signal based on the first value and the second value.
[0119] Aspect 13: The motor controller of aspect 12, wherein the first feedforward compensation signal and the second feedforward compensation signal correspond to different feedforward gain parameters.
[0120] Aspect 14: The motor controller of any one of aspects 1-13, wherein the PI controller controls the torque reference value to drive an average value of the speed error signal to zero.
[0121] Aspect 15: The engine controller of any one of aspects 1-14, wherein the engine controller is configured to drive a compressor load coupled to the engine via the shaft.
[0122] Aspect 16: The motor controller of any one of aspects 1-15, wherein the speed feedback signal includes an AC error component corresponding to the load torque ripple.
[0123] Aspect 17: The motor controller of any one of aspects 1-16, wherein the torque feedforward function comprises a feedforward gain parameter and a feedforward phase parameter used as inputs to generate the feedforward compensation signal, wherein the load torque ripple compensator is configured to measure a magnitude and a phase of a fundamental wave of the speed error signal and to determine at least one of the feedforward gain parameter and the feedforward phase parameter based on the magnitude and phase of the fundamental wave of the speed error signal.
[0124] Aspect 18: A motor control according to any one of aspects 1-17, wherein the load varies non-linearly with a change in the mechanical angle of the shaft.
[0125] Aspect 19: A method for reducing load torque ripple associated with driving a motor coupled to a shaft, the method comprising: measuring a mechanical angle of the shaft; measuring a rotational speed of the shaft; generating a speed feedback signal representative of the rotational speed; generating a speed error signal based on a difference between a speed reference signal and the speed feedback signal; controlling, by a proportional-integral (PI) controller based on the speed error signal, a torque reference value configured to maintain a speed reference value of the speed reference signal;Applying a torque feedforward function to reduce load torque ripple in the torque reference, comprising generating a feedforward compensation signal consistent with a frequency, magnitude, and phase of the load torque ripple, and adding the feedforward compensation signal to an output signal of the PI controller to generate the torque reference, wherein the load torque ripple varies with the mechanical angle; dynamically adjusting a magnitude and phase of the feedforward compensation signal in real time as a load of the motor varies over time; and driving motor currents of the motor to generate a torque consistent with the torque reference.
[0126] Aspect 20: The method of aspect 19, wherein the torque feedforward function comprises a feedforward gain parameter and a feedforward phase parameter used as inputs to generate the feedforward compensation signal, the method further comprising: measuring at least one harmonic component of the output signal of the PI controller; and determining at least one of the feedforward gain parameter and the feedforward phase parameter based on the at least one harmonic component of the output signal of the PI controller.
[0127] Aspect 21: The method of aspect 20, further comprising: measuring a first value of a fundamental wave of the output signal of the PI controller, wherein the feedforward gain parameter is set to a first gain value; measuring a second value of the fundamental wave of the output signal of the PI controller, wherein the feedforward gain parameter is set to a second gain value different from the first gain value; and determining the feedforward gain parameter and the feedforward phase parameter used to generate the feedforward compensation signal based on the first value and the second value.
[0128] Aspect 22: The method of aspect 20, further comprising: measuring a first value of a fundamental component of the output signal of the PI controller; comparing the first value to a threshold; and causing an update of the feedforward compensation signal based on the first value meeting the threshold.
[0129] Aspect 23: The method of any of aspects 19-22, wherein the torque feedforward function comprises a feedforward gain parameter and a feedforward phase parameter used as inputs to generate the feedforward compensation signal, the method further comprising: measuring a fundamental wave of the speed error signal; and determining at least one of the feedforward gain parameter and the feedforward phase parameter based on the fundamental wave of the speed error signal.
[0130] Aspect 24: System configured to perform one or more operations listed in one or more of Aspects 1-23.
[0131] Aspect 25: Apparatus comprising means for performing one or more operations listed in one or more of aspects 1-23.
[0132] Aspect 26: A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising one or more instructions that, when executed by a device, cause the device to perform one or more operations recited in one or more of aspects 1-23.
[0133] Aspect 27: A computer program product comprising instructions or code for performing one or more operations listed in one or more of aspects 1-23.
[0134] The above disclosure provides illustration and description, but is not intended to be exhaustive or to limit implementations to the precise form disclosed. Modifications and variations may be made in light of the above disclosure or may be acquired from practice of implementation.
[0135] Some implementations may be described herein in connection with thresholds. As used herein, "meeting" a threshold may refer to a value that is greater than the threshold, more than the threshold, higher than the threshold, greater than or equal to the threshold, less than the threshold, less than the threshold, lower than the threshold, less than or equal to the threshold, equal to the threshold, or the like.
[0136] As used herein, the term "component" should be interpreted generally to include hardware, firmware, or a combination of hardware and software. Systems and / or methods described herein may be implemented in various forms of hardware, firmware, or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and / or methods does not limit the implementations. Thus, the operation and behavior of the systems and / or methods are described herein without reference to specific software code—it being understood that software and hardware may be configured to implement the systems and / or methods based on the description herein.
[0137] Any of the processing components may be implemented as a central processing unit (CPU) or other processor that reads and executes a software program from a non-transitory computer-readable recording medium, such as a hard disk or a semiconductor memory device. For example, instructions may be executed by one or more processors, such as one or more CPUs, DSPs, general-purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable logic arrays (FPGAs), programmable logic controllers (PLCs), or other equivalent integrated or discrete logic circuits. Accordingly, the term "processor," as used herein, refers to any of the foregoing structures or any other structure suitable for implementing the techniques described herein.Software may be stored on a non-transitory computer-readable medium, such that the non-transitory computer-readable medium includes program code or a program algorithm stored thereon that, when executed, causes the processor, via a computer program, to perform the steps of a method.
[0138] A controller including hardware may also perform one or more of the techniques of this disclosure. A controller including one or more processors may use electrical signals and digital algorithms to perform its sensing, analysis, and control functions, which may further include correction functions. Such hardware, software, and firmware may be implemented within the same device or within separate devices to support the various techniques described in this disclosure.
[0139] A signal processing circuit and / or a signal conditioning circuit may receive one or more signals (e.g., measurement signals) from one or more components in the form of raw measurement data and may derive further information from the measurement signal. "Signal conditioning," as used herein, refers to manipulating an analog signal in such a way that the signal meets the requirements of a next stage for further processing. Signal conditioning may include converting from analog to digital (e.g., via an analog-to-digital converter), amplification, filtering, conversion, biasing, ranging, isolation, and any other processes necessary to make a signal suitable for processing after conditioning.
[0140] Although certain combinations of features are recited in the claims and / or disclosed in the description, these combinations are not intended to limit the disclosure of implementations described herein. Many of these features may be combined in ways not expressly recited in the claims and / or disclosed in the description. For example, the disclosure includes each dependent claim in a claim set in combination with every other individual claim in that claim set and every combination of multiple claims in that claim set. As used herein, a phrase referring to "at least one of" a list of items refers to any combination of those items, including individual items.As an example, "at least one of: a, b or c" is intended to cover a, b, c, a and b, a and c, b and c and a, b and c as well as any combination with multiples of the same element (e.g. a + a, a + a + a, a + a + b, a + a + b, a + a + c, a + b + b, a + c + c, b + b, b + b + b, b + b + c, c + c and c + c + c or any other order of a, b and c).
[0141] Further, it should be understood that the disclosure of multiple acts or functions disclosed in the description or claims may not be construed as being in the specific order. Therefore, the disclosure of multiple acts or functions does not limit them to any particular order unless such acts or functions are not interchangeable for technical reasons. Further, in some implementations, a single act may include or be broken into multiple sub-acts. Such sub-acts may be included and be part of the disclosure of that single act unless expressly excluded.
[0142] When "a component" or "one or more components" (or any other element, such as "a controller" or "one or more controllers") is described or claimed (within a single claim or across multiple claims) as performing or arranged to perform multiple operations, such language is intended to broadly cover a variety of architectures and environments. For example, unless explicitly claimed otherwise (e.g.,beyond the use of "first component" and "second component" or other language distinguishing components in the claims), a single component that performs or is arranged to perform all of the operations, a group of components that perform or are arranged to perform all of the operations together, a first component that performs or is arranged to perform a first operation, a second component that performs or is arranged to perform a second operation, or any combination of components that perform or are arranged to perform the operations.For example, if a claim takes the form "one or more components arranged to: perform X; perform Y; and perform Z", that claim should be interpreted to mean "one or more components arranged to perform X; one or more (possibly different) components arranged to perform Y; and one or more (also possibly different) components arranged to perform Z".
[0143] No element, act, or instruction used herein should be construed as critical or essential unless expressly described as such. Further, as used herein, the article "the" is intended to include one or more elements referred to in connection with the article "the" and may be used interchangeably with "the one or more." Also, as used herein, the terms "has," "having," "comprising," or the like are intended to be open-ended terms that do not limit an element they modify (e.g., an element "comprising" A may also include B). Further, the phrase "based on" is intended to mean "based at least in part on," unless expressly stated otherwise. As used herein, the term "multiple" may be substituted for "a plurality of," and vice versa.In addition, as used herein, the term “or” is intended to be inclusive when used in a series and may be used interchangeably with “and / or” unless expressly stated otherwise (e.g., when used in combination with “either” or “only one of”).
Claims
[1] Motor control arranged to drive a motor coupled to a shaft, the motor control comprising: a measurement interface configured to measure a mechanical angle of the shaft and a rotational speed of the shaft and to generate a speed feedback signal representative of the rotational speed; a speed controller comprising: a first error component configured to receive a speed reference signal corresponding to a speed reference value and the speed feedback signal and to generate a speed error signal based on a difference between the speed reference signal and the speed feedback signal; a proportional-integral (PI) controller configured to control a torque reference value based on the speed error signal, which is configured to maintain the speed reference value; and a load torque ripple compensator configured to apply a torque feedforward function to reduce a load torque ripple in the torque reference value, wherein applying the torque feedforward function comprises generating a feedforward compensation signal consistent with a frequency, a magnitude, and a phase of the load torque ripple, and adding the feedforward compensation signal to an output signal of the PI controller to generate the torque reference value, where the load torque ripple varies with the mechanical angle, and wherein the load torque ripple compensator is configured to dynamically adjust a magnitude and a phase of the feedforward compensation signal in real time as a load of the motor varies over time; and a current controller configured to receive the torque reference value and drive motor currents of the motor to produce a torque corresponding to the torque reference value. [2] The engine controller of claim 1, wherein the torque feedforward function comprises a feedforward gain parameter and a feedforward phase parameter used as inputs to generate the feedforward compensation signal, and wherein the load torque ripple compensator is configured to measure at least one harmonic component of the output signal of the PI controller and to determine at least one of the feedforward gain parameter and the feedforward phase parameter based on the at least one harmonic component of the output signal of the PI controller. [3] The motor controller of claim 2, wherein the load torque ripple compensator is configured to multiply the feedforward gain parameter by an average value of the output signal of the PI controller to determine the magnitude of the feedforward compensation signal. [4] The engine controller of claim 3, wherein the magnitude of the pilot compensation signal increases with increasing load. [5] The motor controller of claim 2, wherein the load torque ripple compensator is configured to add the feedforward phase parameter to the mechanical angle to determine the phase of the feedforward compensation signal. [6] The engine controller of claim 2, wherein the load torque ripple compensator is configured to measure a first value of a magnitude and a phase of a fundamental wave of the output signal of the PI controller, wherein the feedforward gain parameter is set to a first gain value, measure a second value of the magnitude and phase of the fundamental wave of the output signal of the PI controller, wherein the feedforward gain parameter is set to a second gain value different from the first gain value, and determine the feedforward gain parameter and the feedforward phase parameter used to generate the feedforward compensation signal based on the first value and the second value. [7] The engine controller of claim 6, wherein the first gain value is zero. [8] The motor controller of claim 6, wherein the load torque ripple compensator is configured to determine the feedforward gain parameter and the feedforward phase parameter based on a difference between the first gain value and the second gain value. [9] The motor controller of claim 6, wherein the load torque ripple compensator is configured to determine the feedforward gain parameter and the feedforward phase parameter based on a ratio of the first value and a difference between the first value and the second value. [10] The engine controller of claim 2, wherein the load torque ripple compensator is configured to measure a first value of a magnitude of a fundamental oscillation of the output signal of the PI controller, compare the magnitude of the first value to a threshold value, and trigger an update of the feedforward compensation signal based on the magnitude of the first value being greater than or equal to the threshold value. [11] The motor controller of claim 10, wherein the load torque ripple compensator is configured to measure, while performing the updating of the feedforward compensation signal, a second value of the magnitude and phase of the fundamental wave of the output signal of the PI controller, the feedforward gain parameter having an adjusted value compared to a value used during a measurement of the first value, and to determine the feedforward gain parameter and the feedforward phase parameter used to update the feedforward compensation signal based on the first value and the second value. [12] The engine controller of claim 2, wherein the load torque ripple compensator is configured to generate a first feedforward compensation signal and measure a first value of a fundamental oscillation of the output signal of the PI controller, while adding the first feedforward compensation signal to the output signal of the PI controller to generate a first torque reference value, wherein the load torque ripple compensator is configured to generate a second feedforward compensation signal and measure a second value of the fundamental oscillation of the output signal of the PI controller, while adding the second feedforward compensation signal to the output signal of the PI controller to generate a second torque reference value, wherein the first pilot control compensation signal and the second pilot control compensation signal are different, and wherein the load torque ripple compensator is configured to determine the feedforward gain parameter and the feedforward phase parameter used to generate the feedforward compensation signal based on the first value and the second value. [13] The engine controller of claim 12, wherein the first feedforward compensation signal and the second feedforward compensation signal correspond to different feedforward gain parameters. [14] The motor controller of claim 1, wherein the PI controller controls the torque reference value to drive an average value of the speed error signal to zero. [15] The engine controller of claim 1, wherein the engine controller is configured to drive a compressor load coupled to the engine via the shaft. [16] The motor controller of claim 1, wherein the speed feedback signal includes an AC error component corresponding to the load torque ripple. [17] The motor controller of claim 1, wherein the torque feedforward function comprises a feedforward gain parameter and a feedforward phase parameter used as inputs to generate the feedforward compensation signal, wherein the load torque ripple compensator is configured to measure a magnitude and a phase of a fundamental wave of the speed error signal and to determine at least one of the feedforward gain parameter and the feedforward phase parameter based on the magnitude and phase of the fundamental wave of the speed error signal. [18] The motor controller of claim 1, wherein the load varies non-linearly with a change in the mechanical angle of the shaft. [19] A method for reducing load torque ripple associated with driving a motor coupled to a shaft, the method comprising: Measuring a mechanical angle of the shaft; Measuring a rotational speed of the shaft; Generating a speed feedback signal representative of the rotational speed; Generating a speed error signal based on a difference between a speed reference signal and the speed feedback signal; Controlling, by a proportional-integral (PI) controller based on the speed error signal, a torque reference value configured to maintain a speed reference value of the speed reference signal; Applying a torque feedforward function to reduce a load torque ripple in the torque reference value, comprising generating a feedforward compensation signal consistent with a frequency, a magnitude, and a phase of the load torque ripple, and adding the feedforward compensation signal to an output signal of the PI controller to generate the torque reference value, wherein the load torque ripple varies with the mechanical angle; dynamically adjusting a magnitude and phase of the feedforward compensation signal in real time as a load of the motor varies over time; and Driving motor currents of the motor to produce a torque equal to the torque reference value. [20] The method of claim 19, wherein the torque feedforward function includes a feedforward gain parameter and a feedforward phase parameter used as inputs to generate the feedforward compensation signal, the method further comprising: Measuring at least one harmonic component of the output signal of the PI controller; and Determining at least one of the feedforward gain parameter and the feedforward phase parameter based on the at least one harmonic component of the output signal of the PI controller. [21] The method of claim 20, further comprising: Measuring a first value of a fundamental oscillation of the output signal of the PI controller, wherein the feedforward gain parameter is set to a first gain value; Measuring a second value of the fundamental component of the output signal of the PI controller, wherein the feedforward gain parameter is set to a second gain value that is different from the first gain value; and Determining the feedforward gain parameter and the feedforward phase parameter used to generate the feedforward compensation signal based on the first value and the second value. [22] The method of claim 20, further comprising: Measuring a first value of a fundamental oscillation of the output signal of the PI controller; Comparing the first value with a threshold value; and Initiate an update of the feedforward compensation signal based on the first value meeting the threshold. [23] The method of claim 19, wherein the torque feedforward function comprises a feedforward gain parameter and a feedforward phase parameter used as inputs to generate the feedforward compensation signal, the method further comprising: Measuring a fundamental oscillation of the speed error signal; and Determining at least one of the feedforward gain parameter and the feedforward phase parameter based on the fundamental wave of the velocity error signal.
Citation Information
Cited By
Servo motor multi-cycle prediction compensation method based on M3 kernel
CN120855973A
A multi-cycle prediction compensation method for a servo motor based on an M3 core
CN120855973B