Data distribution in multi-inverter motor

By combining differential communication channels and CAN bus in multi-inverter motors and switching the channel type according to the rotor speed, the problem of inaccurate position data distribution is solved, control efficiency and anti-electromagnetic interference capability are improved, and system cost is reduced.

CN121014162APending Publication Date: 2025-11-25CUMMINS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480026737.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-05-15
Filing Date
2024-05-15
Publication Date
2025-11-25

AI Technical Summary

Technical Problem

In multi-inverter architecture motors, the distribution of position data is inaccurate, especially at high rotor speeds, leading to low control efficiency and increased system costs.

Method used

The rotor position and speed information is distributed by combining differential communication channels and CAN bus. The channel type is switched according to the rotor speed: CAN bus is used at low speeds and differential communication channels are used at high speeds, which reduces the number of data connections and improves accuracy.

Benefits of technology

By improving the data distribution method, the accuracy and efficiency of motor control are enhanced, system costs are reduced, and resistance to electromagnetic interference is strengthened.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121014162A_ABST
    Figure CN121014162A_ABST
Patent Text Reader

Abstract

Apparatuses, systems, and methods related to controlling an electric machine are disclosed herein. In one example, a method may include obtaining first position data corresponding to a rotor of an electric machine. The first position data may include numerical data indicative of a speed and an angle of the rotor. The first position data may also include signal data indicative of an angle of the rotor. The method may also include determining, at a first time, that the speed exceeds a threshold value by comparing the speed to the threshold value. The method may also include generating a calculated speed and a calculated angle of the rotor. The generating may be based on the signal data. The generating may also be responsive to determining that the speed exceeds the threshold at the first time. The method may also include storing the calculated speed and the calculated angle for controlling the motor.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to data distribution in motors, and more specifically, to data distribution in motors with a multi-inverter architecture. Background Technology

[0002] The motor (e.g., an induction motor and / or generator) may include a controller that controls the motor based on information about the speed and position of its rotor. Position sensors can provide such information. The motor may also include an inverter configured to provide torque in response to a torque command. Summary of the Invention

[0003] According to embodiments of this disclosure, a method may include: acquiring first position data corresponding to a rotor of a motor. The first position data may include numerical data indicating the speed and angle of the rotor. The first position data may also include signal data indicating the angle of the rotor. The method may further include: determining, at a first time, that the speed exceeds a threshold by comparing the speed with the threshold. The method may further include: generating a calculated speed and a calculated angle of the rotor. The generation may be based on the signal data. The generation may also be responsive to determining at the first time that the speed exceeds the threshold. The method may further include: storing the calculated speed and the calculated angle for use in controlling the motor.

[0004] According to embodiments of this disclosure, a system may include a motor having a rotor and a set of inverter components. The system may also include a position sensor configured to generate sensor data corresponding to the position of the rotor. The system may further include a controller communicatively coupled to both the position sensor and the set of inverter components. The controller may be configured to acquire the sensor data. The controller may also be configured to generate position data, which may be based on the sensor data. The controller may also be configured to send the position data to each inverter component in the set of inverter components.

[0005] Although several embodiments have been disclosed, further embodiments of this disclosure will become apparent to those skilled in the art from the following detailed description of exemplary embodiments shown and described herein. Therefore, the drawings and detailed description are to be considered illustrative in nature and not restrictive. Attached Figure Description

[0006] Figure 1 An example vehicle with an electric motor is depicted according to an embodiment of the present disclosure.

[0007] Figure 2 A flowchart depicts an example method for a sub-controller for a motor according to embodiments of the present disclosure.

[0008] Figure 3 A flowchart depicts an example method for a supervisory controller for a motor according to embodiments of the present disclosure.

[0009] Figure 4 An example multi-inverter motor according to an embodiment of the present disclosure is depicted.

[0010] Figure 5 An example configuration of a differential communication channel according to an embodiment of the present disclosure is depicted.

[0011] Figure 6 An example control system configuration according to an embodiment of the present disclosure is depicted.

[0012] Figure 7 An example computing device that can be used according to embodiments of the present disclosure is depicted.

[0013] While the disclosed subject matter allows for various modifications and alternatives, specific embodiments have been illustrated by way of example in the accompanying drawings and are described in detail below. However, this disclosure is not intended to limit it to the specific embodiments described. Rather, this disclosure is intended to cover all modifications, equivalents, and substitutions that fall within the scope of this disclosure as defined by the appended claims. Detailed Implementation

[0014] This disclosure relates to data distribution in motors; more specifically, it relates to data distribution in motors with a multi-inverter architecture.

[0015] As noted above, the controller can be configured to control the motor (e.g., a permanent magnet motor and / or generator) based on rotor speed and position information from position sensors. In some motor configurations, inaccuracies may be introduced during the distribution of position data by the controller. For example, due to data latency, the accuracy of position data distributed by the controller via the Controller Area Network (“CAN”) bus may be higher at lower rotor speeds (e.g., rotor speeds between approximately 100 rpm (“RPM”) and 900 rpm (“RPM”) or less) than at higher rotor speeds (e.g., rotor speeds between approximately 1,000 RPM and 10,000 RPM or greater). Such inaccuracies may be particularly undesirable for motors with a multi-inverter architecture (e.g., a configuration where each of the multiple segmented inverter components of the motor is capable of operating individually and independently), where position data is distributed to multiple inverter components to control the motor. Additionally, in motors with such multi-inverter architectures, employing multiple position sensors (e.g., a corresponding position sensor for each of the multiple inverter components) can lead to structural and operational inefficiencies and increase the overall system cost.

[0016] To address these and other challenges, embodiments of this disclosure include apparatus, methods, and systems for distributing data in a motor. Some embodiments of this disclosure can be configured to control the motor based on a first type of data or a second type of data according to the motor's rotor speed. For example, in some embodiments, for rotor speeds from 0 RPM to 200 RPM, the inverter assembly can use rotor speed and angle values ​​acquired via a CAN bus to control the motor. Additionally, in this example, for rotor speeds from 200 RPM to 12,000 RPM, the inverter assembly can use a pulse width modulation (“PWM”) signal representing the rotor angle and acquired via a differential communication channel to control the motor. Embodiments of this disclosure may also include hysteresis. For example, in some embodiments, for rotor speeds during acceleration from 0 RPM to 300 RPM, the inverter assembly can use rotor speed and angle values ​​acquired via a CAN bus to control the motor. At 300 RPM, the inverter assembly can switch to using a PWM signal representing the rotor angle and acquired via a differential communication channel to control the motor. Furthermore, in this example, during deceleration from 12,000 RPM to 0 RPM, the inverter components can switch back to using rotor speed and angle values ​​obtained via the CAN bus in response to the speed reaching 200 RPM.

[0017] Embodiments of this disclosure can be configured to acquire rotor position and / or speed information from a single position sensor, and a supervisory controller distributes such information to each inverter component of a motor with a multi-inverter architecture. This configuration allows for the provision of position information to the inverter components using a reduced number of data connections. Embodiments of this disclosure can be configured to distribute rotor position and / or speed information via multiple communication channels. Therefore, embodiments of this disclosure can facilitate improved control of the motor by providing rotor position and / or speed information with improved accuracy. Additionally, embodiments of this disclosure provide a structurally and operationally efficient configuration for distributing data for controlling a multi-inverter motor.

[0018] Switch to the attached image. Figure 1 An example vehicle 105 (e.g., a hybrid vehicle or an electric vehicle) with a motor 110 is shown according to an embodiment of this disclosure. Although Figure 1 The motor 110 is disclosed as a component of vehicle 105, but this disclosure is not limited to vehicle applications. Therefore, in some embodiments, the motor 110 can be used in non-vehicle devices where mechanical energy is converted into electrical energy and / or electrical energy is converted into mechanical energy.

[0019] Motor 110 includes a rotor 135 coupled to a stator 150. Motor 110 also includes a supervisory controller 120 communicatively coupled to a position sensor 115. Therefore, the supervisory controller 120 and the position sensor 115 can exchange data via a communication channel such as a data cable and / or a wireless network connection. Position sensor 115 is configured to detect the position (e.g., angle) of rotor 135 and generate sensor data (e.g., one or more signals) corresponding to that position. Position sensor 115 may include devices such as a resolver, encoder, Hall sensor, and / or inductive sensor. For example, in some embodiments, position sensor 115 may include a resolver that detects the rotation angle of rotor 135 relative to time and generates sine and cosine signals representing that angle. In this example, position sensor 115 may transmit such signals to supervisory controller 120 via a data cable (such as a data cable configured to transmit differential signals).

[0020] Supervisory controller 120 and each sub-controller 125-n may include computing devices, such as Figure 7 An exemplary computing device 700 is included. A supervisory controller 120 is configured to operate a motor 110 by a set of inverter components 130. For example, the supervisory controller 120 is configured to receive a torque command for the motor (e.g., a torque request from vehicle 105) and issue commands to one or more sub-controllers 125-n to operate one or more corresponding inverters 155-n based on that torque command. In some embodiments, the supervisory controller 120 is configured to issue commands to one or more sub-controllers 125-n to operate one or more corresponding inverters 155-n at least in part based on operating efficiency (e.g., optimal operating efficiency to satisfy the torque command). In yet another example, vehicle 105 may be an electric vehicle with motor 110. Continuing with this example, during operation of vehicle 105, a vehicle operator may initiate a torque request from vehicle 105 to motor 110 by depressing the accelerator pedal of vehicle 105. In response to such a torque request, the supervisory controller 110 may issue commands to three of a set of four sub-controllers 125-n. Continuing the example, in response to the command, the three sub-controllers 125-n can operate three corresponding inverters 155-n to generate torque based on the torque request. Additionally, in this example, the command from the supervisory controller 110 to operate three of the four sub-controllers 125-n can be based on the supervisory controller determining that three, rather than four, inverters can optimally meet the torque request.

[0021] The supervisory controller 120 is also configured to perform relative to Figure 3The discussion pertains to one or more operations. Therefore, the supervisory controller 120 may include program instructions implemented by one or more processors to acquire (e.g., receive and / or extract) sensor data from the position sensor 115; generate position data corresponding to the position of the rotor 135 based on the sensor data; and send the position data to each inverter assembly 130-n in the group of inverter assemblies 130. The supervisory controller 120 is configured to send data to each inverter assembly 130-n via a first communication channel 140 and / or a second communication channel 145. In some embodiments, the first communication channel 140 may include a CAN bus (e.g., the CAN bus of vehicle 105). In some embodiments, the second communication channel 145 may include a differential communication channel. In an example differential communication channel, the supervisory controller 120 may include a differential signal transmitter, and each inverter assembly 130-n may include a differential signal receiver. Continuing with this example, the supervisory controller 120 may send data to each inverter assembly 130-n via differential conductors such as a differential two-wire cable. In some embodiments, the first communication channel 140 and the second communication channel 145 may be discrete (e.g., capable of operating individually and independently) communication channels. In some embodiments, the second communication channel 145 may include a differential communication channel separate from and independent of the CAN bus. In some embodiments, the second communication channel 145 may be... Figure 5 The differential communication channel 500 is exactly the same or substantially similar. By using differential conductors (e.g., two wires without a ground wire) in the differential communication channel, embodiments of this disclosure improve resistance to electromagnetic interference. In some embodiments, a single-ended wire with one signal line and one ground line can be used. In some embodiments, the supervisory controller 120 and one or more sub-controllers 125-n can communicate via low-voltage (e.g., approximately 5V or lower) data signals.

[0022] The inverter group 130 includes one or more inverter components. For example, in some embodiments, the inverter group 130 may include n inverter components, where n is an integer greater than 0. For example, in an embodiment where the inverter group 130 includes only the first inverter component 130-1, n=1; in an embodiment where the inverter group 130 includes two inverter components (the first inverter component 130-1 and the second inverter component 130-2), n=2; and so on. Each inverter component 130-n includes a corresponding sub-controller 125-n and a corresponding inverter 155-n.

[0023] The sub-controller 125-n may include program instructions implemented by one or more processors to perform actions relative to... Figure 2The discussed one or more operations. In some embodiments, one or more sub-controllers 125-n may be integrated into the supervisory controller 120. The inverter 155-n includes one or more coil windings forming one or more inductors capable of applying torque to the rotor 135. In some embodiments, the motor 110 may be associated with... Figure 4 The multi-inverter motor 400 discussed is exactly the same or substantially similar. In some embodiments, inverter assembly 130-n and inverter 155-n may be respectively associated with... Figure 4 The segmented inverter assembly 430A and inverter 425A discussed are exactly the same or substantially similar.

[0024] Figure 2 A sub-controller of an inverter assembly according to an embodiment of the present disclosure is illustrated (e.g., Figure 1 (Sub-controller 125-n in the middle).

[0025] In operation 205, the sub-controller acquires position data. The position data can indicate the rotor's position (e.g., ...). Figure 1 The position and / or speed of the rotor 135. For example, in some embodiments, the position data may include numerical data (e.g., one or more values) indicating the rotor speed and / or angle (e.g., 200 RPM, 90°). Additionally, in this example, the sub-controller may acquire such values ​​via a CAN bus. In some embodiments, the position data may include signal data (e.g., a signal representing the rotor angle). Additionally, in this example, the sub-controller may acquire such values ​​via a differential communication channel (e.g., Figure 1 Such signal data is acquired from the second communication channel 145 in the system. In some embodiments, the sub-controller obtains such signal data from the controller (e.g., Figure 1 The supervisory controller 120 in the middle acquires (e.g., receives and / or extracts) location data.

[0026] In operation 210, the sub-controller determines whether a speed threshold is exceeded. In some embodiments, operation 210 may include the sub-controller comparing position data (e.g., a speed value acquired via a CAN bus) obtained in operation 205 with the threshold. For example, in some embodiments, the position data may include a rotor speed (e.g., 8,000 RPM), and operation 210 may include comparing that rotor speed with a threshold (e.g., 200 RPM) and determining whether the rotor speed is greater than the threshold. Such a threshold may be stored in memory, such as in the memory of a supervisory controller and / or the sub-controller. In response to determining that the threshold is exceeded, the sub-controller proceeds to operation 215. Alternatively, in response to determining that the threshold is not exceeded, the sub-controller proceeds to operation 230.

[0027] In operation 230, the sub-controller stores speed and angle for use in controlling the motor. For example, in some embodiments, the sub-controller uses the speed and angle values ​​acquired in operation 205 in a segmented inverter control algorithm to control segmented torque of the motor (e.g., torque generated by inverter 155-n). In some embodiments, in response to performing operation 230, the sub-controller may continue to operation 205 and perform subsequent iterations of method 200.

[0028] In operation 215, the sub-controller generates the calculated speed and angle based on the position data acquired in operation 205. For example, in some embodiments, operation 215 may include the sub-controller converting signal data (e.g., a pulse width modulation (“PWM” signal representing the rotor angle) into angle and speed values. Such conversion may include scaling the minimum angle value to 10% of the duty cycle, scaling the maximum angle value to 90% of the duty cycle, and performing calculations based on the following relationship:

[0029] Duty cycle PWM = (angle / 360) * 80% + 10%.

[0030] In operation 220, the sub-controller determines whether a calculated speed threshold has been exceeded. In some embodiments, operation 220 may include the sub-controller comparing the calculated speed generated in operation 215 with a rotor speed value acquired in operation 205 and determining whether the difference between these values ​​exceeds a threshold, such as a percentage difference of approximately 1% to 5%. For example, in some embodiments, in operation 215, the sub-controller may generate a calculated speed of 15,000 RPM. Continuing this example, the sub-controller may compare the calculated speed with a rotor speed value of 14,200 RPM acquired via the CAN bus in operation 205. Based on this comparison, the sub-controller may determine that the percentage difference between these values ​​is greater than a 5% threshold; therefore, the threshold has been exceeded. In some cases, such an exceeded threshold may indicate an error or malfunction in the motor. In response to determining that the calculated speed threshold has been exceeded, the sub-controller proceeds to operation 235. Alternatively, in response to determining that the calculated speed threshold has not been exceeded, the sub-controller proceeds to operation 225.

[0031] In operation 225, the sub-controller stores the calculated speed and angle. For example, in some embodiments, the sub-controller uses the calculated speed and angle values ​​generated in operation 215 in a segmented inverter control algorithm to control the segmented torque of the motor (e.g., the torque generated by inverter 155-n). In some embodiments, in response to executing operation 225, the sub-controller may proceed to operation 205 and perform subsequent iterations of method 200.

[0032] In operation 235, the sub-controller issues a notification. In some embodiments, issuing a notification may include the sub-controller sending data indicating a possible error or malfunction. For example, in some embodiments, operation 235 may include the sub-controller sending an alarm signal to a supervisory controller of the motor or to a device, such as a vehicle, in which the motor is located. The alarm signal may indicate an error or malfunction in the motor and / or the motor's inverter assembly. In some cases, such a notification may trigger a shutdown of the motor's inverter assembly and / or trigger an alarm to the operator (e.g., an audible or visual indicator displayed by a vehicle in which the motor is located). As disclosed herein, the advantage of a motor with segmented inverter assemblies is that individual inverter assemblies can be deactivated by, for example, a supervisory controller or sub-controller, while other individual inverter assemblies can remain operational to generate torque. In some embodiments, the sub-controller continues to operation 225 in response to generating a notification.

[0033] Figure 3 An example of a supervisory controller (e.g., according to embodiments of the present disclosure) is illustrated. Figure 1 The flowchart of example method 300 of the supervisory controller 120 in the middle.

[0034] In operation 305, the supervisory controller acquires sensor data. The sensor data may include information such as one or more signals indicating the speed and / or position of the rotor. In some embodiments, the supervisory controller obtains data from a position sensor (e.g., Figure 1 The position sensor 115 acquires (e.g., receives and / or extracts) position data. For example, in some embodiments, operation 305 may include the supervisory controller receiving pulse signals from the encoder, which represent the rotation angle of the rotor. In some embodiments, operation 305 may include the supervisory controller receiving sine and cosine signals from the resolver, which represent the rotation angle of the rotor.

[0035] In operation 310, the supervisory controller generates position data based on sensor data acquired in operation 305. As discussed above, the position data may indicate the position and / or speed of the rotor. In some embodiments, the supervisory controller may generate position data by calculating speed and / or angle values ​​based on signals acquired from position sensors. For example, in some embodiments, the supervisory controller may generate position data by converting the signals from the position sensors into one or more values ​​representing rotor angle and / or rotor speed. In some embodiments, the supervisory controller may generate position data by converting the signals from the position sensors into a PWM signal representing the rotor angle. Such conversion may include using relative to... Figure 2 The duty cycle PWM relationship is discussed.

[0036] In operation 315, the supervisory controller will send the location data generated in operation 310 to one or more sub-controllers (e.g., Figure 1 The supervisory controller (sub-controller 125-n) is configured to transmit one or more numerical speed and / or angle values ​​via a CAN bus. The supervisory controller is also configured to transmit one or more PWM signals via a differential communication channel, such as relative to... Figure 1 The subject of discussion.

[0037] Figure 4 An example multi-inverter motor 400 having segmented inverter assemblies 430A to 430D is illustrated according to embodiments of the present disclosure. In some embodiments, the multi-inverter motor 400 may be associated with... Figure 1 The motors 110 discussed are identical or substantially similar. For example, in some embodiments, segmented inverter assemblies 430A to 430D and inverters 425A to 425D may be respectively associated with... Figure 1 The inverter assembly 130 and inverter 155 discussed are identical or substantially similar. In some embodiments, each of the segmented inverter assemblies 430A to 430D may include a corresponding sub-controller (not shown), which is associated with... Figure 1 The corresponding sub-controllers 125-n discussed are identical or substantially similar. Additionally, the supervisory controller 405, position sensor 420, first communication channel 410, and second communication channel 415 can be respectively connected to... Figure 1 The supervisory controller 120, position sensor 115, first communication channel 140 and second communication channel 145 discussed are exactly the same or substantially similar.

[0038] The multi-inverter motor 400 includes multiple modular or segmented inverter assemblies 430A, 430B, 430C, and 430D mounted or implemented on a stator 435. Each of these segmented inverter assemblies includes a corresponding inverter 425A, 425B, 425C, and 425D. The segmented inverter assemblies 430A to 430D are mounted on the stator 435 such that each inverter 425A to 425D is electrically coupled to a set of adjacent teeth 440 (also referred to as poles) in the stator 435. The inverters 425A to 425D may have any suitable number of phases, but for simplicity, these inverters are illustrated as three-phase inverters, thus coupled to three separate coil windings A, B, and C (using coil 445) in each segmented inverter assembly 430A to 430D. For simplicity, the rotor of one or more energy sources (e.g., batteries) and the multi-inverter motor 400 is not shown.

[0039] In some embodiments, each of the segmented inverter assemblies 430A, 430B, 430C, and 430D is detachably attached to the stator, allowing these segmented inverter assemblies to be replaced in case of failure. In some embodiments, such as the illustrated embodiments, four segmented inverter assemblies 430A to 430D are mounted or implemented on the stator 435. In some embodiments, each segmented inverter assembly 430A, 430B, 430C, and 430D is implemented individually and independently of the other segmented inverter assemblies. That is, the inverters 425A to 425D of the segmented inverter assemblies 430A to 430D can be operated or controlled individually, such that the removal of one of these segmented inverter assemblies has minimal or no impact or interference on the operation of the remaining segmented inverter assemblies. Therefore, each inverter can be controlled individually, making the multi-inverter motor 400 not limited to a three-phase motor. For example, the windings A, B, and C of the segmented inverter assembly 430A can be controlled with a certain phase shift offset relative to the windings A, B, and C of the segmented inverter assembly 430B, thereby forming a six-phase inverter.

[0040] In some embodiments, the supervisory controller 405 may determine which inverters 425A to 425D are to be implemented together, and the offset to be implemented to increase the number of phases in the multi-inverter motor 400. In some embodiments, the supervisory controller 405 may determine which of the segmented inverter assemblies 430A to 430D (if any) may be malfunctioning and / or require replacement. In such cases, the multi-inverter motor 400 may be operated using fewer inverters than the total number of inverters installed in the multi-inverter motor 400. Therefore, such embodiments avoid using inverters that are determined to be malfunctioning and / or require replacement.

[0041] Figure 4 The examples shown are non-limiting; additional configurations are contemplated within the scope of this disclosure. For instance, based on the number of phases in the motor, each segmented inverter assembly may have more than three sets of windings A, B, and C. For example, in a six-phase motor, there are six sets of windings A, B, C, D, E, and F, each with an appropriate phase offset. The number of windings may be limited by the number of slots in the stator and the number of segmented inverter assemblies installed.

[0042] Figure 5 An example configuration of a differential communication channel 500 according to an embodiment of the present disclosure is illustrated. The differential communication channel 500 includes a differential signal transmitter 505, a differential conductor 515, and a differential signal receiver 510. As described above relative to... Figure 1As discussed, in some embodiments, the supervisory controller may include a differential signal transmitter 505, and the inverter assembly may include a differential signal receiver 510.

[0043] According to embodiments of this disclosure, differential communication channels, such as differential communication channel 500, can offer numerous advantages. For example, differential communication channel 500 can facilitate robust communication and / or a degree of noise immunity. These features may be particularly advantageous because environments including inverters / engines can generate relatively high levels of electromagnetic interference. Additionally, differential communication channel 500 can suppress common-mode noise by introducing current-fed differential signaling. Additionally, differential communication channel 500 can operate at relatively high frequencies by introducing impedance-controlled and terminated twisted-pair cabling. Additionally, differential communication channel 500 can include higher current than other differential signaling protocols, thereby achieving a larger voltage swing at differential signal receiver 510. Differential communication channel 500 can also provide a higher signal-to-noise ratio, higher power dissipation, lower maximum speed, and an analog delay of 140 ns or 0.009 degrees (1° / pulse at 10,000 RPM).

[0044] Figure 6 An example control system configuration 600 according to an embodiment of the present disclosure is illustrated. Configuration 600 shows DC power supplied from a power source such as a vehicle battery.

[0045] Figure 7 This is a block diagram depicting an exemplary computing device 700 according to embodiments of the present disclosure. The computing device 700 may include any type of computing device suitable for implementing aspects of embodiments of the disclosed subject matter. Each of the various components shown and described in the drawings may include its own set of dedicated computing device components, such as... Figure 7 Those shown and described below. For example, Figure 1 The supervisory controller 120 and each sub-controller 125-n may each include Figure 7 The set of components shown and described below.

[0046] In an embodiment, computing device 700 includes a bus 710 that is directly and / or indirectly coupled to one or more of the following devices: processor 720, memory 730, input / output (I / O) port 740, I / O component 750, and power supply 760. Computing device 700 may also include any number of additional components, different components, and / or combinations of components.

[0047] Bus 710 represents the contents of one or more buses (such as, for example, an address bus, a data bus, or a combination thereof). Similarly, in embodiments, computing device 700 may include multiple processors 720, multiple memory components 730, multiple I / O ports 740, multiple I / O components 750, and / or multiple power supplies 760. Additionally, any number of these components or combinations thereof may be distributed and / or replicated across multiple computing devices.

[0048] In embodiments, memory 730 includes a computer-readable medium in the form of volatile and / or non-volatile memory, and may be removable memory, non-removable memory, or a combination thereof. Examples of media include random access memory (RAM); read-only memory (ROM); electrically erasable programmable read-only memory (EEPROM); flash memory; optical or holographic media; magnetic tape cassettes, magnetic tape, disk storage devices, or other magnetic storage devices; data transmission; and / or any other medium that can be used to store information and is accessible by a computing device. In embodiments, memory 730 stores computer-executable instructions 770 for causing processor 720 to implement aspects of embodiments of the components discussed herein and / or perform aspects of embodiments of the methods and processes discussed herein. Memory 730 may include a non-transitory computer-readable medium storing computer-executable instructions 770.

[0049] The computer-executable instructions 770 may include, for example, computer code, machine-usable instructions, and program components such as those executable by one or more processors 720 (e.g., microprocessors) associated with the computing device 700. The program components can be programmed using any number of different programming environments, including various languages, development kits, and / or frameworks. Some or all of the functionality envisioned herein may also be implemented, or alternatively, in hardware and / or firmware.

[0050] According to embodiments, for example, instruction 770 may be configured to be executed by processor 720, and upon execution, cause processor 720 to perform certain processes. In some embodiments, processor 720, memory 730, and instruction 770 are part of a controller, such as an application-specific integrated circuit (ASIC) and / or a field-programmable gate array (FPGA). Such devices can be used to perform the functions and steps described herein.

[0051] I / O component 750 may include presentation components configured to present information to a user, such as display devices and / or speakers, and / or may include input components, such as microphones, joysticks, satellite antennas, wireless devices, keyboards, pens, voice input devices, touch input devices, touch screen devices, interactive display devices, and / or mice.

[0052] The devices and systems described herein can be coupled to a network that may include a local area network (LAN), a wide area network (WAN), a cellular data network, and / or the Internet through an Internet service provider.

[0053] Various aspects of this disclosure are described with reference to flowchart illustrations and / or block diagrams of methods, apparatus, systems, and computer program products. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions.

[0054] Various modifications and additions may be made to the exemplary embodiments discussed without departing from the scope of the disclosed subject matter. For example, although the embodiments described above relate to specific features, the scope of this disclosure also includes embodiments having different combinations of features and embodiments that do not include all of the features described. Therefore, the scope of the disclosed subject matter is intended to cover all such alternatives, modifications, and variations, and all equivalents thereof, that fall within the scope of the claims.

[0055] This disclosure describes various aspects, including but not limited to the following:

[0056] (1) A method comprising: acquiring first position data corresponding to a rotor of a motor, the first position data including: numerical data indicating a speed and an angle of the rotor; and signal data indicating an angle of the rotor; determining, at a first time, that the speed exceeds the threshold by comparing the speed with the threshold; generating a calculated speed and a calculated angle of the rotor based on the signal data and in response to determining that the speed exceeds the threshold at the first time; and storing the calculated speed and the calculated angle for controlling the motor.

[0057] (2) The method according to aspect (1), the method further comprising: determining that a second threshold is not exceeded by comparing the speed with the calculated speed, wherein the storage is performed in response to determining that the second threshold is not exceeded.

[0058] (3) The method according to any one of the foregoing aspects, the method further comprising: determining that a second threshold is exceeded by comparing the speed with the calculated speed; and issuing a notification in response to determining that the second threshold is exceeded.

[0059] (4) The method according to aspect (3), wherein the notification indicates that the inverter assembly of the motor has malfunctioned.

[0060] (5) The method according to any one of the foregoing aspects, the method further comprising: acquiring second position data corresponding to the rotor, the second position data including: second numerical data indicating a second speed and angle of the rotor; and second signal data indicating an angle of the rotor; determining, at a second time after the first time, that the second speed has not exceeded the threshold by comparing the second speed with the threshold; and storing the second numerical data for controlling the motor in response to determining at the second time that the second speed has not exceeded the threshold.

[0061] (6) The method according to any one of the foregoing aspects, wherein the motor is a multiphase motor having a segmented inverter assembly.

[0062] (7) The method according to any one of the preceding aspects, the method further comprising: acquiring the numerical data via a controller local area network bus; and acquiring the signal data via a differential two-wire interface.

[0063] (8) A system comprising: a motor having a rotor and a set of inverter assemblies; a position sensor configured to generate sensor data corresponding to the position of the rotor; and a controller communicatively coupled to both the position sensor and the set of inverter assemblies, the controller being configured to: acquire the sensor data; generate position data based on the sensor data; and transmit the position data to each of the set of inverter assemblies.

[0064] (9) The system according to aspect (8), wherein the motor is a multiphase motor; and the set of inverter assemblies includes a set of segmented inverter assemblies.

[0065] (10) The system according to any one of the foregoing aspects, wherein the set of inverter components includes at least two segmented inverter components.

[0066] (11) The system according to any one of the foregoing aspects, wherein the system includes no more than one position sensor.

[0067] (12) The system according to any one of the foregoing aspects, wherein the controller is further configured to: transmit a first portion of the location data to each of the set of inverter components via a first communication channel; and transmit a second portion of the location data to each of the set of inverter components via a second communication channel.

[0068] (13) The system according to aspect (12), wherein the first communication channel includes a controller area network bus, and wherein the second communication channel includes a differential two-wire interface.

[0069] (14) The system according to aspect (12), wherein the first part includes numerical data indicating the speed and angle of the rotor, and wherein the second part includes signal data indicating the angle of the rotor.

[0070] (15) The system according to any one of the preceding aspects, wherein the position data comprises: numerical data indicating the speed and angle of the rotor; and signal data indicating the angle of the rotor, wherein the set of inverter components includes a first inverter component having a first sub-controller configured to: acquire the position data; determine, at a first time, that the speed exceeds the threshold by comparing the speed with a threshold; generate a calculated speed and a calculated angle of the rotor based on the signal data and in response to determining that the speed exceeds the threshold at the first time; and store the calculated speed and the calculated angle for controlling the motor.

Claims

1. A method, the method comprising: Obtain first position data corresponding to the rotor of the motor, the first position data including: Numerical data, which indicates the speed and angle of the rotor; and Signal data, the signal data indicating the angle of the rotor; By comparing the speed with a threshold, it is determined in the first instance that the speed exceeds the threshold; Based on the signal data and in response to determining at the first time that the speed exceeds the threshold, a calculated speed and a calculated angle of the rotor are generated; and The calculated speed and the calculated angle are stored for use in controlling the motor.

2. The method according to claim 1, further comprising: It is determined that the second threshold has not been exceeded by comparing the speed with the calculated speed. The storage is performed in response to determining that the second threshold has not been exceeded.

3. The method according to any one of the preceding claims, further comprising: The second threshold is determined by comparing the speed with the calculated speed. as well as A notification is issued in response to determining that the second threshold has been exceeded.

4. The method of claim 3, wherein the notification indicates a fault in the inverter assembly of the motor.

5. The method according to any one of the preceding claims, further comprising: Obtain second position data corresponding to the rotor, the second position data including: Second numerical data, the second numerical data indicating the second speed and angle of the rotor; and Second signal data, the second signal data indicating the angle of the rotor; By comparing the second speed with the threshold, it is determined at a second time after the first time that the second speed has not exceeded the threshold; and In response to determining at the second time that the second speed has not exceeded the threshold, the second numerical data is stored for use in controlling the motor.

6. The method according to any one of the preceding claims, wherein the motor is a multiphase motor having a segmented inverter assembly.

7. The method according to any one of the preceding claims, further comprising: The numerical data is obtained through the controller local area network bus; as well as The signal data is acquired through a differential two-wire interface.

8. A system comprising: An electric motor having a rotor and a set of inverter assemblies; A position sensor, configured to generate sensor data corresponding to the position of the rotor; A controller, communicatively coupled to both the position sensor and the set of inverter components, is configured to: Acquire the sensor data; Location data is generated based on the sensor data; as well as The location data is sent to each of the set of inverter components.

9. The system of claim 8, wherein the motor is a multiphase motor; and The set of inverter components includes a set of segmented inverter components.

10. The system according to any one of the preceding claims, wherein the set of inverter components comprises at least two segmented inverter components.

11. The system according to any one of the preceding claims, wherein the system comprises no more than one position sensor.

12. The system according to any one of the preceding claims, wherein the controller is further configured to: The first portion of the location data is transmitted to each inverter component in the group of inverter components via a first communication channel; and The second portion of the location data is transmitted to each of the set of inverter components via a second communication channel.

13. The system of claim 12, wherein the first communication channel comprises a controller area network bus, and The second communication channel includes a differential two-wire interface.

14. The system of claim 12, wherein the first portion includes numerical data indicating the speed and angle of the rotor, and The second part includes signal data that indicates the angle of the rotor.

15. The system according to any one of the preceding claims, wherein the location data comprises: Numerical data, which indicates the speed and angle of the rotor; and Signal data, the signal data indicating the angle of the rotor, The set of inverter components includes a first inverter component, the first inverter component having a first sub-controller, the first sub-controller being configured to: Obtain the location data; By comparing the speed with a threshold, it is determined in the first instance that the speed exceeds the threshold; Based on the signal data and in response to determining that the speed exceeds the threshold at the first time, the calculated speed and calculated angle of the rotor are generated; as well as The calculated speed and the calculated angle are stored for use in controlling the motor.