Pololu MC33926 User Manual

Pololu Dual MC33926 Motor Driver Shield User's Guide © 2001–2013 Pololu Corporation
Pololu Dual MC33926 Motor
Driver Shield User's Guide
1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.a. Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.b. Included Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Contacting Pololu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Getting Started with an Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.a. What You Will Need . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.b. Assembly for Use as an Arduino Shield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.c. Shield Connections: Signals, Power, and Motors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.d. Programming Your Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4. Using as a General-Purpose Motor Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.a. Assembly for Use as a General-Purpose Motor Driver . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.b. Board Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5. Schematic Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6. Customizing the Shield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.a. Remapping the Arduino Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.b. Accessing nD2 and nSF Pins Separately for Each Channel . . . . . . . . . . . . . . . . . . . . . . 22
http://www.pololu.com/docs/0J55/all Page 1 of 24
Pololu Dual MC33926 Motor Driver Shield User's Guide © 2001–2013 Pololu Corporation
The Pololu dual MC33926 motor driver shield for Arduino
[http://www.pololu.com/catalog/product/2503] and its corresponding
Arduino library make it easy to control two bidirectional, brushed DC motors with an Arduino
[http://www.pololu.com/catalog/product/2191] or Arduino clone. The
board features a pair of Freescale MC33926 motor drivers, which operate from 5 to 28 V and can deliver a continuous 3 A per channel, and includes current sense circuitry, protection resistors, a FET for reverse battery protection, and logic gates to reduce the required number of I/O pins. It ships fully populated with its SMD components, including the two MC33926 ICs, as shown in the picture to the right; stackable Arduino headers and terminal blocks for connecting motors and motor power are included but are not soldered in.
This versatile motor driver is intended for a wide range of users, from beginners who just want a plug-and-play motor control solution for their Arduinos (and are okay with a little soldering) to more advanced users who want a dual MC33926 carrier
[http://www.pololu.com/catalog/product/1213] that requires fewer I/O pins to control. The Arduino pin mappings can all
be customized if the defaults are not convenient, and the simplified MC33926 control lines are broken out along the left side of the board, providing a convenient interface point for other microcontroller boards.
Pololu dual MC33926 motor driver shield
for Arduino.
1. Overview Page 2 of 24
Pololu Dual MC33926 Motor Driver Shield User's Guide © 2001–2013 Pololu Corporation

1.a. Features

• Wide operating voltage range: 5 – 28 V
• Output current: 3 A continuous (5 A peak2) per motor
• Inputs compatible with both 5 V and 3.3 V systems
• PWM operation up to 20 kHz, which is ultrasonic and allows for quieter motor operation
• Current sense voltage output proportional to motor current (approx. 525 mV/A)
• Motor indicator LEDs show what the outputs are doing even when no motor is connected
• Can be used with an Arduino or Arduino clone (through shield headers) or other microcontroller boards (through 0.1″ header along the left side)
• When used as a shield, the motor power supply can optionally be used to power the Arduino base as well
• Arduino pin mappings can be customized if the default mappings are not convenient
Arduino library [http://github.com/pololu/dual-mc33926-motor-shield] makes it easy to get started using this board as a motor driver shield
• Reverse-voltage protection on motor supply
• Robust drivers: ◦ Transient operation (< 500 ms) up to 40 V
◦ Over-current limiting via internal PWM
◦ Over-temperature shutdown and hysteresis
◦ Under-voltage shutdown
◦ Output short-to-ground and short-to-Vcc protection
1
Pololu dual MC33926 motor
driver shield, assembled and
connected to an Arduino
Leonardo.
3
Pololu dual MC33926 motor
driver shield for Arduino, bottom
view with board dimensions.
1
The board supports transient (< 500 ms) operation up to 40V. Operation from 5-8 V reduces maximum
continuous output current (driver performance is derated in this range).
2
Internal peak-current limiting gracefully reduces the output power at load currents above 6.5 A ± 1.5 A. See the MC33926 datasheet [http://www.pololu.com/file/download/MC33926.pdf?file_id=0J233] (1MB pdf) for more
information.
3
There is no reverse-voltage protection on the logic supply.
1. Overview Page 3 of 24
Pololu Dual MC33926 Motor Driver Shield User's Guide © 2001–2013 Pololu Corporation

1.b. Included Hardware

This motor driver board ships with all of the surface­mount parts populated. However, soldering is required for assembly of the included through-hole parts. The following through-hole parts are included:
• one extended/stackable 1×10 female header (for Arduino shields)
• two extended/stackable 1×8 female headers (for Arduino shields)
• two extended/stackable 1×6 female headers (for Arduino shields)
• three 2-pin, 5 mm terminal blocks
[http://www.pololu.com/catalog/product/2440] (for board
power and motor outputs)
• 25-pin 0.1″ straight breakaway male header
[http://www.pololu.com/catalog/product/965]
A 0.1″ shorting block [http://www.pololu.com/catalog/product/968] (for optionally supplying shield power to Arduino) is also included.
Pololu dual MC33926 motor driver shield for
Arduino with included hardware.
You can solder the terminal blocks to the six large through-holes to make your motor and motor power connections, or you can break off a 12×1 section of the 0.1″ header strip and solder it into the smaller through­holes that border these larger holes. Note, however, that each header pin pair is only rated for a combined 6 A, so for higher-power applications, the terminal blocks should be used or thick wires should be soldered directly to the board.
When not using this board as an Arduino shield, you can solder the 0.1″ headers to the logic connections along the left side of the board to enable use with custom cables [http://www.pololu.com/catalog/category/70] or solderless
breadboards [http://www.pololu.com/catalog/category/28], or you can solder wires directly to the board for more
compact installations. Note that motor and motor power connections should not be made through a breadboard.
The mounting hole is intended for use with #4 screws [http://www.pololu.com/catalog/category/101] (not included).
An Arduino [http://www.pololu.com/catalog/product/2191] is not included.
1. Overview Page 4 of 24
Pololu Dual MC33926 Motor Driver Shield User's Guide © 2001–2013 Pololu Corporation

2. Contacting Pololu

We would be delighted to hear from you about any of your projects and about your experience with the dual MC33926 motor driver shield for
Arduino [http://www.pololu.com/catalog/product/2503]. If you need technical
support or have any feedback you would like to share, you can contact us
[http://www.pololu.com/contact] directly or post on our forum [http://forum.pololu.com/viewforum.php?f=15]. Tell us what we did well, what
we could improve, what you would like to see in the future, or anything else you would like to say!
Pololu dual MC33926 motor
driver shield, assembled and
connected to an Arduino Uno R3.
2. Contacting Pololu Page 5 of 24
Pololu Dual MC33926 Motor Driver Shield User's Guide © 2001–2013 Pololu Corporation

3. Getting Started with an Arduino

As with virtually all other Arduino shields, connections between the Arduino and the motor driver are made via extended stackable headers that must be soldered to the through-holes along the top and bottom edges of the shield. This section explains how to use this motor driver as an Arduino shield to quickly and easily add control of up to two DC motors to your Arduino project. For information on how to use this board as a general-purpose motor driver controlled by something other than an Arduino, see Section 4.

3.a. What You Will Need

The following tools and components are required for getting started using this motor driver as an Arduino shield:
An Arduino. Using this product as an Arduino shield (rather than a general-purpose motor driver board) requires an Arduino [http://www.pololu.com/catalog/product/2191]. This shield should work with all Arduinos and Arduino clones that behave like a standard Arduino. You will also need a USB cable for connecting your Arduino to a computer. We have specifically tested this shield (using our Arduino library) with:
Arduino Uno [http://www.pololu.com/catalog/product/2191] (both original and R3)
Arduino Leonardo [http://www.pololu.com/catalog/product/2192]
Arduino Due [http://www.pololu.com/catalog/product/2193]*
Arduino Mega 2560 [http://www.pololu.com/catalog/product/1699]
◦ Arduino Duemilanove (both with ATmega168 and ATmega328P)
A soldering iron and solder. The through-hole parts included with the shield must be soldered in before you can plug the shield into an Arduino or before you can connect power and motors. An inexpensive
soldering iron [http://www.pololu.com/catalog/product/156] will work, but you might consider investing in a
higher-performance, adjustable soldering iron if you will be doing a lot of work with electronics.
A power supply. You will need a power supply, such as a battery pack, capable of delivering the current your motors will draw. See the Power Connections and Considerations portion of Section 3.c for more information on selecting an appropriate power supply.
One or two brushed DC motors. This shield is a dual motor driver, so it can independently control two bidirectional brushed DC motors. See the Motor Connections and Considerations portion of Section 3.c for more information on selecting appropriate motors.
* Note for Due users: The voltage on the current sense pins will exceed the Due’s 3.3 V limit when the current draw exceeds ~6 A. The CS circuit has a 1 kΩ resistor in series with the output, which offers some protection to the analog input, and the driver has over-current protection that kicks in between 5 A and 8 A, so the risk to the Due is low, but if you really want to be safe, you can use a 3.3 V zener diode to clamp the current sense output voltage to a maximum of ~3.3 V. Alternatively, you can disconnect the shield’s current sense pins from the Due (and optionally reconnect them through a voltage divider); see Section 6.a for more information.
3. Getting Started with an Arduino Page 6 of 24
Pololu Dual MC33926 Motor Driver Shield User's Guide © 2001–2013 Pololu Corporation

3.b. Assembly for Use as an Arduino Shield

1. Stackable Arduino headers: Before you can use this board as an Arduino shield, you need to solder four of the five included Arduino header strips to the set of holes highlighted in red in the picture above. The headers should be oriented so that the female sockets rest on the top side of the shield and face up while the male pins protrude down through the board, and the solder connections should be made on the underside of the shield. The newest Arduino boards, including the Uno R3 and the Leonardo, use one 10×1 header, two 8×1 headers, and one 6×1 header, as shown in the left picture below; older Arduino boards use two 8×1 headers and two 6×1 headers, as shown in the right picture below (the two pairs of pins highlighted in darker red should not be populated if you are using this board with an older Arduino that does not support these additional pins). Please make sure you solder the appropriate headers for your particular Arduino!
2. Motor and power connections: The six large holes/twelve small holes on the right side of the board, highlighted in yellow in the above diagram, are the motor outputs and power inputs. You can optionally solder the included 5mm-pitch terminal blocks to the six large holes to enable temporary motor and motor
3. Getting Started with an Arduino Page 7 of 24
Pololu Dual MC33926 Motor Driver Shield User's Guide © 2001–2013 Pololu Corporation
power connections, or you can break off a 12×1 section of the included 0.1″ header strip and solder it into the smaller through-holes that border the six large motor and motor power pads. Note, however, that each header pin pair is only rated for a combined 6 A, so for higher-power applications, the terminal blocks should be used or thick wires with high-current connectors [http://www.pololu.com/catalog/product/925] should be soldered directly to the board. The smaller holes are intended only for 0.1″ header pins, not for the terminal blocks!
3. Arduino power jumper: If you want the option of powering your Arduino and motor shield from the same source, you can solder a 2×1 piece of the included 0.1″ male header strip to two the pins highlighted in orange in the above picture. Shorting across these pins with the included shorting block will connect the shield power to the Arduino’s VIN pin. You should not use this to power the shield from the Arduino as this connection is not designed to handle high currents, and you must never supply power to the Arduino’s VIN pin or power jack while this shorting block is in place, because it will create a short between the shield power supply and the Arduino power supply and will likely permanently damage something.
4. Arduino pin breakout points: The shield provides a secondary access point for each Arduino pin, divided into two rows of pins spaced on a 0.1″ grid (unlike the standard Arduino pins, which have a half-pin offset introduced by the gap in the top row). You can optionally solder 0.1″ female headers (not included) to these pins. Note that the SCL and SDA breakouts are top-layer pads only, not through-holes, due to the close proximity of Arduino pins below.
The other through-holes on the shield are used for more advanced things like customizing the Arduino pin mappings or using the board with other microcontrollers. They are not necessary for getting started using this shield with an Arduino, and they are discussed in more detail later in this guide.

3.c. Shield Connections: Signals, Power, and Motors

Using the dual MC33926 motor driver shield with an Arduino (shield and Arduino powered
separately).
All of the necessary logic connections between the Arduino and the motor driver shield, including VDD, are made automatically when the shield is plugged into the Arduino. However, the shield’s motor power must be supplied
3. Getting Started with an Arduino Page 8 of 24
Loading...
+ 16 hidden pages