The original Adafruit Motorshield kit is one of Adafruit's most beloved kits, which is why they decided to make something even better. Adafruit have upgraded the shield kit to make the bestest, easiest way to drive DC and Stepper motors. This shield will make quick work of your next robotics project! Adafruit kept the ability to drive up to 4 DC motors or 2 stepper motors, but added many improvements:
Instead of a L293D darlington driver, they now have the TB6612 MOSFET drivers with 1.2A per channel current capability (you can draw up to 3A peak for approx 20ms at a time). It also has much lower voltage drops across the motor so you get more torque out of your batteries, and there are built-in flyback diodes as theyll.
Instead of using a latch and the Arduino's PWM pins, they have a fully-dedicated PWM driver chip onboard. This chip handles all the motor and speed controls over I2C. Only two pins (SDA & SCL) are required to drive the multiple motors, and since it's I2C you can also connect any other I2C devices or shields to the same pins. This also makes it drop-in compatible with any Arduino, such as the Uno, Due, Leonardo and Mega R3.
Completely stackable design: 5 address-select pins means up to 32 stackable shields: that's 64 steppers or 128 DC motors! What on earth could you do with that many steppers? I have no idea but if you come up with something send us a photo because that would be a pretty glorious project.
Lots of other little improvements such as a polarity protection FET on the power pins and a bit of prototyping area. And the shield is assembled and tested here at Adafruit so all you have to do is solder on straight or stacking headers and the terminal blocks.
Lets check out these specs again:
- 2 connections for 5V 'hobby' servos connected to the Arduino's high-resolution dedicated timer - no jitter!
- 4 H-Bridges: TB6612 chipset provides 1.2A per bridge (3A for brief 20ms peaks) with thermal shutdown protection, internal kickback protection diodes. Can run motors on 4.5VDC to 13.5VDC.
- Up to 4 bi-directional DC motors with individual 8-bit speed selection (so, about 0.5% resolution)
- Up to 2 stepper motors (unipolar or bipolar) with single coil, double coil, interleaved or micro-stepping.
- Motors automatically disabled on power-up
- Big terminal block connectors to easily hook up wires (18-26AWG) and power
- Arduino reset button brought up top
- Polarity protected 2-pin terminal block and jumper to connect external power, for separate logic/motor supplies
- Tested compatible with Arduino UNO, Leonardo, ADK/Mega R3, Due, Diecimila & Duemilanove. Works with Mega/ADK R2 and earlier with 2 wire jumpers.
- Download the easy-to-use Arduino software library, check out the examples and you're ready to go!
Comes with an assembled & tested shield, terminal block, plain header, jumper. Some soldering is required to assemble the headers on. Stacking headers not included, but they sell them in the shop so if you want to stack shields, please pick them up at the same time. Arduino and motors are not included but they have lots of motors in the shop and all Adafruit's hobby servos, DC motors, and stepper motors work great.
Adafruit have a great tutorial in the Adafruit Learning System with a lot of documentation and example code, so please check it out
- Dimensions, assembled: 70mm x 55mm x 10mm 2.7"x2.1"x0.4"
- This board/chip uses I2C 7-bit addresses between 0x60-0x80, selectable with jumpers.
- As of 3/21/2014 they are shipping motor shields with the terminal blocks, and power jumper pre-soldered on. You'll still need to do a little soldering to put on the shield-headers (or stacking headers) but it should be even easier and faster to get started!
- We have a great tutorial in the Adafruit Learning System with a lot of documentation and example code, so please check it out
- Datasheet for the motor driver chip
- Bluetooth Controlled Motorized Camera Slider
- All About Stepper Motors
- Adafruit Motor Selection Guide
- WiFi Controlled Mobile Robot
- 3D Printed Animatronic Robot Head
- Adafruit Motor Shield V2 for Arduino