This relates to motor drivers. More particularly, this relates to the use of a serial interface to control motor drivers to control multiple motors.
Electric motors are used in many applications. For example, three motors are used to control a gimbal for a camera. Multiple motors are used to control a drone and to control robots. There may be multiple motors used in a safety application due to the desire to have redundancy. Using multiple motors in a single application may result in the need for multiple motor drivers (such as the motor drivers DRV-8320H and DRV-8313 fabricated and provided by Texas Instruments Incorporated) and multiple wires connecting each motor driver to a processor so as to provide the necessary communications between the processor and each motor driver. For example, in a system with “N” motors, it may require 3*N to 4*N communication connections between the processor and the “N” motors. In addition, multiple wires are needed to drive each motor by each motor driver. Using this many wires may require too much space within the system, and it requires a large number of connections to the controllers for each motor.
In accordance with at least one example of the disclosure, a system for driving one or more motors includes: a controller having an instruction output; one or more motor drivers, each of the motor drivers are coupled to the instruction output of the controller and each of the motor drivers having a unique address; and wherein each motor driver is only operable to receive instruction from the controller when its unique address is provided by the controller at the instruction output. Each motor driver is coupled to a motor and only drives one motor. Preferably, the instruction output of the controller is a serial bus, and the controller is a microcontroller, microprocessor, digital signal processor or field programmable gate array. In another example embodiment, the system is included in a camera gimbal, drone, robot or an automotive safety system, and motor is a three-phase motor (such as a BLDC motor).
Another example embodiment is a three-phase motor system that includes: a controller; a plurality of motor drivers, each having a distinct address, an input and a motor driver output; a serial bus connecting the controller to each of the plurality of motor drivers; a plurality of motors, each coupled to a motor driver; and wherein each motor driver is operable to receive instructions from the controller only when the distinct address of the motor driver precedes the instructions on the serial bus. Preferably, the controller is a microcontroller, microprocessor, digital signal processor or field programmable gate array, and the three-phase motor system is used in a camera gimbal, drone, robot or an automotive safety system. In another embodiment, the serial bus only includes a clocking connection and an instruction connection, or it only includes a clocking connection, an instruction connection and a feedback connection.
Another example embodiment includes a plurality of motor drivers each for driving a motor based on commands provided to each motor driver by a controller, wherein each motor is coupled to the controller by a serial bus having a clock wire and an instruction wire and each motor only acts upon instructions that are preceded by a unique address for the motor driver. Preferably, each motor is a three-phase motor (such as a BLDC motor).
For a detailed description of various examples, reference will now be made to the accompanying drawings in which:
Disclosed herein is a motor drive system that includes a controller (such as a microcontroller (“MCU”), microprocessor, digital signal processor (“DSP”), field programmable gate array (“FPGA”), signal processor or any other type of processor with a serial interface), one or more motor driver(s) and one or more motor(s) (such as a brushless DC motor (“BLDC”), permanent magnet synchronous motor (“PMSM”), variable AC drive or any 3-phase brushless motor). In different embodiments, the motor driver is part of an integrated circuit, multi-die module (“MDM”), multi-chip module (“MCM”), system on a chip (“SoC”), or other commercial circuit or device. In alternative embodiments, a controller may be implemented on the same semiconductor die as one or more motor drivers or it can be a stand-alone device on a circuit board, MDM or MCM.
Referring to the example embodiment of
Each motor driver 116, 120, 124 and 130 is separately addressable by its assigned address. The assigned address is provided by device address input 118, 122, 126 and 130, respectively. The assigned address may be hard-wired for each device or it may be programmed into the device prior to operation. In one example embodiment, if there are “n” motor drivers (as shown in
With reference to
Referring to the example embodiment of
Each motor driver is shown to be connected to a motor. In alternative embodiments, more or less motor drivers and/or motors can be used. Specifically, motor driver 216 is connected to motor 240 by three connections (232, 234 and 236). Connections 232, 234 and 236 provide the driver signals (preferably a 3-phase power signal) to motor 240. A different number and type of connections can be provided between motor driver 216 and motor 240 depending on the type of motor that is used. Similarly, motor driver 220 is connected to motor 242 and motor driver 224 is connected to motor 244.
Each motor driver may include circuitry relating to the specific addressing of each motor driver (shown as inputs 218, 226 and 230). This specific addressing may be programmed from another device, by connecting certain components to inputs 218, 226 and 230, or provided as specific circuitry (such as programming a value into an internal memory). In addition, each motor driver includes the following functional circuitry blocks: power 246; control 248; driver 250 and protection 252. Power block 246 may include voltage regulators to supply regulated power to other circuitry in the motor driver. In some examples, power block 246 includes a charge pump (to provide the proper gate bias voltage to high-side FETs (such as NMOS FETs) and low-side FETs. Control block 248 may provide a control interface that includes the generation of pulse width modulation (“PWM”) signals for a DC-AC converter (such as a half-bridge inverter), a power-up sequence, a programmable serial interface (“PSI”), device configuration for varying motor sizes and applications, motor current sense-amplifiers and other control functions. In some examples control block 248 may be implemented in hardware or as software running on a processor (or processor-based controller). Protection block 252 provides, in some example embodiments, protection and monitoring functions for under-voltage, over-voltage, over-current and/or over-temperature conditions for the drivers (such as a half-bridge driver) and the motor. Driver block 250 includes, in some example embodiments, FETs (such as NMOS or PMOS transistors) arranged in a half-bridge (or full bridge) configuration that support various PWM control modes. In some example embodiments, each of the three half-bridge inverters drives a phase of a three-phase motor (such as a BLDC).
Referring to the example embodiment of
In some example embodiments, each data/instruction packet corresponds to the duty cycle (10 to 22 bit resolution (preferably, 10 to 14 bits) of the PWM signal that drives a power MOSFET half-bridge, and each half-bridge drives a phase of a three-phase BLDC motor. The PWM signals are provided sequentially at certain frequencies and are used to control the operation of the motor. The PWM frequency and PWM data resolution to control the motor operation preferably is large enough for proper motor operation. Each of the three-phase motors in the system operate at the same PWM frequency, and the PWM data/instructions for several motors are, preferably, sent every PWM period. In some example embodiments, the frequency of PSCLK of the PSI serial interface is, preferably, high enough to support several motors.
PSCLK signal 30 is a clocking signal and may have a higher or lower frequency depending on the example embodiment. In one example embodiment, PSDI signal 306 starts with a start key 312 in packet count 1. This alerts the motor drivers that a packet stream will be coming. In the example embodiment of
Still referring to packet count 1 of PSDI signal 306, transition bit 316 (shown as a “0” in
At packet count 8 for PSDI signal 306 (e.g. after the last phase of data is sent), a stop key 332 is inserted. In the example embodiment of
PSDO signals 308 and 310 represent communications from the motor drivers (e.g. motor drivers 116, 120, 124 and 128 of
Starting at packet count 2, the addressed motor driver responds by providing its address 324 (which will be the same as the address provided at device address 314) followed by the status of the addressed motor driver. In an example embodiment, motor driver status 322 will be an x-bit error status feedback for the controller.
In packet counts 3 through 8 (for the example embodiment of
At packet count 9, stop key 332 will be sent back to the controller at stop key 342 and parity 334 will be sent back to the controller at parity 344. After this point, the addressed motor driver returns to the “HIZ” state. The same process may be used to instruct/command another motor driver or the same motor driver.
Referring to the example embodiments of
While each PWM frame 414 may have different instructions/commands for PSDI signal 306, these differences will be reflected in each PWM frame 408, 416, 418 (for motor 1); 410, 420, 422 (for motor 2); and 412 and following (for motor n). PWM1 signal 408 corresponds to sub-frame 401, PWM2 signal 410 corresponds to sub-frame 403 and PWMn signal 412 corresponds to sub-frame 405. This cycle continues with the PWM1 signal 416 corresponding to PWM1 sub-frame of the second PWM frame 414, the PWM2 signal 420 corresponding to the PWM2 sub-frame of the second PWM frame 414, and so forth for each motor n (and motor driver n) (shown as PWMn). As discussed above with reference to omitted/truncated instructions/commands on PSDI signal 306 for a particular motor and motor driver, motor drive signals 402, 404 and 406 will reflect the omission or truncation of PSDI signal 306 for the respective motor/motor driver.
Certain terms have been used throughout this description and claims to refer to particular system components. As one skilled in the art will appreciate, different parties may refer to a component by different names. This document does not intend to distinguish between components that differ only in name but not in their respective functions or structures. In this disclosure and claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . .”
The term “couple” is used throughout the specification. The term may cover connections, communications, or signal paths that enable a functional relationship consistent with the description of the present disclosure. For example, if device A generates a signal to control device B to perform an action, in a first example device A is coupled to device B by direct connection, or in a second example device A is coupled to device B through intervening component C if intervening component C does not alter the functional relationship between device A and device B such that device B is controlled by device A via the control signal generated by device A.
The above discussion is meant to be illustrative of the principles and various embodiments of the present invention. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated.
This application claims the benefit to co-owned U.S. Provisional Patent Application No. 62/831,328, filed on Apr. 9, 2019 (Attorney Docket No. TI-90986 PS); which is hereby incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62831328 | Apr 2019 | US |