While I was working on finding the right combination of open-source hardware to create a stand-alone 2-axis motor driver, with user interface, I got frustrated with a lot of the options out there, and decided to design my own. (That is to say, there were plenty of capable components out there, but trying to solve each major problem through combinations of them resulted in a very high cost.)
We call the shield the "DollyShield," and combined with the firmware I've created, it's the "MX2 Dolly Engine," (the naming makes sense for the project =)
The design is based on the Arduino Motor Shield v3, and uses the same L293B driver chip and driver circuitry. It expands on the normal capabilities of the motor shield by providing all elements necessary for a stand-alone user interface, an integrated and isolated camera connection, easy access to the hardware serial pins through a stereo jack, and an additional stereo jack connecting to pins 2 and 3 of the Arduino to allow for the use of encoders or limit switches. Pins 2 and 3 are chosen for their association with hardware interrupts which increase the reliability of encoder or limit switch actions.
As far as I know, it's the only shield that has both dual DC motor drivers and complete user interface, I could be wrong though...
The board design is, of course, licensed under CC 3.0 Attribution Share-Alike, and I intend to make sure any designs I release through the OpenMoCo community meet the OSHW definitions.
I'm using these to run motorized camera dollies, but they could probably come in useful anywhere you need both a motor controller and a UI. Additionally, I'll be showing in the next couple of weeks how to replace the internals for a Meade DS telescope head with this shield+arduino to unlock better capabilities.
Here's a quick rundown of the features:
- 2x DC Motor Speed/Direction PWM Drivers (Up to 1A)
- 1x 1/8" TRS Plug for isolated camera connection (focus+shutter)
- 1x Camera exposing LED
- 2x 1/8" TRS Plug for auxiliary I/O (Hardware Serial, Digital 2+3)
- * Can be used for encoders, limit switches, serial communication other boards, etc.
- 1x 16x2 LCD for display
- 5x Momentary pushbuttons
- 2x DC Barrel Jacks for Motor Hookup (2.5x5.5mm)
- 9v-12v supply voltage
- Compact: 3.85x2.7"
and the MX2 Dolly Engine Firmware Features:
- Alter any setting on-the-fly
- Easy start/stop mode
- Manual motor control
All basic control from a single screen
Camera Control ** Intervalometer ** Focus Trigger ** Shutter Trigger ** Exposure Delay ** Focus+Shutter link (for Nikons)
Easy Motor Control (speed/direction)
Speed in percentage or inch-per-minute
Linear output video speed ramping
Slow Motion Modes ** Enables far slower speeds than PWM alone ** Pulse for continuous slow mode (target average speed) ** Shoot-move-shoot to move between exposures
Adjust LCD backlight from software
Turn off LCD entirely after inactivity
Completely configurable with five buttons
More info about the board, including schematics, BOM, etc. can be found here: http://openmoco.org/node/212
More info about the firmware can be found here: http://openmoco.org/node/204
Here's a video walk-through of the basic usage: http://vimeo.com/13860419 -- this video shows it as part of a low-cost motorized dolly setup for timelapse usage.
I got the chance to give a talk about this shield in The Studio at SIGGRAPH last week, and had a lot of interest from people who hadn't heard about the project, so I thought I'd share it with a broader audience than just the timelapse community.
I plan on making these boards generally available for sale come late September, and they will be priced around $50 for a kit, or $80 assembled.
I would appreciate any feedback you have on this shield, or anything else you'd like to talk about =)