System Board 6219 MAXREFDES89 : MAX14871 Full-Bridge DC Motor Driver MBED Shield Introduction Brushed DC motors provide cost-effective, convenient motion in many applications ranging from electric toothbrushes to vend- ing machines. The simplicity and reliability of brushed DC motors also make them ideal for prototyping and hobbyist designs. Now, the MAXREFDES89 provides developers with a rapid prototyping and development platform for driving brushed DC motors. The MAXREFDES89 is an mbed-compatible, Arduino form factor shield for the rapid production of brushed DC motor applica- tions. The shield contains four MAX14871 full-bridge DC motor drivers, one MAX17501 DC-DC converter, four MAX4704 4:1 multiplexers, two MAX5387 digi pots and one MAX7300. Each MAX14871 provides the necessary functions to drive a brushed DC motor, while the additional parts allow for complete testing and operation in a variety of configurations. The MAXREFDES89 is a tool for rapid development that offers optimal flexibility to the user during development of their application. In a final design, the only required silicon for driving a brushed DC motor and regulating the motors current is the MAX14871. Figure 1. MAXREFDES89 block diagram. Detailed Description of Hardware Please see Figure 1 for a block diagram of the MAXREFDES89 . Please refer to the MAXREFDES89 schematic sheet 1 of 6 for the following discussion. The supply voltage range for the MAXREFDES89 is 7V to 36V DC. The required current depends on the motors used, which can have a continuous current of up to 2A per driver. The shield contains a MAX17501 DC-DC converter which provides a 5.7V typical VIN to the mbed platform via Schottky diode D2. The MAX17501 offers an active-low RESET output which will reset the mbed platform on an undervoltage condition of ~6.98V at VBAT if JP1 is removed. This feature can be disabled by installing JP1 on pins 1 and 2. The mbed board can be isolated from the active-low RESET output of the MAX17501 by removing R67. Page <1>Page <1> 12/05/1612/05/16 V1.0V1.0The direct interfaces between the mbed platform and the shield are the following: 2 I C bus on D14 and D15 (SDA and SCL, respectively) PWM channels on D4, D5, D9, and D10 default locations (configurable to D3, D6, D8, and D1 1 via 0 resistors. If D11 is used, the use of the SPI bus that typically is available on mbed platforms becomes unavailable). Interrupt in from the MAX7300 GPIO expander on D2 (configurable to D7 via 220 resistor). Please see Table 1 for configurable interface options Table 1. Interface Options Interface Default Optional Resistors (Default/Optional) Active-Low RESET Installed Removed R67 MD1 PWM D4 D3 R11/R12 MD2 PWM D5 D6 R10/R9 MD3 PWM D9 D8 R7/R8 MD4 PWM D10 D11 R6/R5 MDX INT D2 D7 R24/R66 Refer to the MAXREFDES89 schematic sheet 2 of 6 for the following discussion. There is an option to stack up two MAXREFDES89 shields for applications that require the control of up to eight motors. To support this feature, the mbed platform must support PWM on the required channels. The FRDM-KL25Z has been tested and supports all eight possible drivers. No more than two MAXREFDES89 shields can be stacked. 2 Additionally, the I C addresses of the MAX7300 GPIO expander and the MAX5387 digi pot will need to be changed. For the optional positions, please see Table 2. For the simplest operation when stacking two boards, move all configuration resistors to their optional positions on one board, and leave the resistors in their default positions on the other board. The mbed library sup- ports two configurations, the default configuration and the optional configuration. Other configurations can be used of course however, this will require the user to edit the library for their configuration. 2 Table 2. I C 7-Bit Slave Addresses Device Default Address Optional Address Resistors (Default/Optional) MAX7300 U2 0x40 0x41 R22/R21 MAX5387 U3 0x28 0x30 R14/R13 MAX5387 U4 0x29 0x31 R18/R17 Refer to the MAXREFDES89 schematic sheet 3 through 6 for the following discussion. The MAX7300 GPIO expander provides many GPIOs in the system. The user has control of the active-low EN and DIR pins of each MAX14871 motor driver. The MAX7300 also controls the ADDA and ADDB pin of each MAX4704, a 4:1 analog multiplexer (U5, U7, U9, U11), which sets the voltage on the MODE pin of each MAX14871 (U6, U8, U10, U12). The voltage on the MODE pin of a MAX14871 sets the current regulation mode of the device. One half of each MAX5387 digital potentiometer (U3, U4), is used to set the voltage reference, VREF, on the corresponding MAX14871 for the external current regulation limit. Detailed Description of Firmware The MAXREFDES89 must be used with an ARM mbed-compatible platform, for application development. To accelerate development with the MAXREFDES89 , the mbed MAX14871 Shield Library was developed along with a simple terminal demo program which demonstrates the use of the library and the features of the shield. Page <2> 12/05/16 V1.0