While we spend a lot of our time focusing on stepper motors, we'd rather not leave out brushed DC motors! It's hard to beat them for their simplicity and low cost. When it comes to drivers for DC motors, there are a lot of options - from cheap $15 PWM drivers that can be found on eBay, to professional units that can cost up to several thousand dollars. I've been using the Pololu JRK 21v3 driver with great success. It offers rarely found in drivers several times its cost. At approximately $50 USD it might seem a little pricey until you explore the options it gives you. In this article, we'll cover how to make an easy-to-use carrier board for the JRK 21v3 that will let you hook it right up into an OpenMoco system, and especially the dedicated hand-held engine model, while still retaining all of the features and flexibility of the driver.
Pololu JRK 21v3 Features
Without repeating everything listed on the Pololu page, here are the basics:
- Voltage range: 8-21V
- Current Limit 3A (max continuous, adjustable)
- Control Options:
- Serial (TTL)
- 5kHz and 20kHz PWM output
- Feedback input (analog or digital)
- Create your own servo
- Windows-based Graphical Configuration Utility
Really, this little 1"x1" board has it all. Of course, if you just solder everything up to it, you're kinda stuck with whatever choice you make for control. Let's get over that hump.
The Carrier Board
The purpose of the carrier board is to give us an easy way to slap the whole driver into an enclosure and use it right away without also having to pick one control method (Well, the wiring that is. You can always re-configure it in the configuration utility, but that doesn't re-solder your connectors for you =) up-front. This means your system can grow over time, rather than having to start out with all of the bells and whistles.
The carrier board provides three 2.5mm TRS (tip-ring-sleeve, or stereo phone jacks) connectors for input. One is for PWM input, providing one line for PWM pulsing and one for GND. (GND is repeated twice.) One TRS connector povides a TTL serial interface, providing access to RX, TX, and GND. The last TRS connector provides input for the Feedback line - FB, +5V, and GND for use with pulse counters or a potentiometer to use for positioning feedback.
In addition to the TRS connectors, there is one RJ45 connector which provides access to TTL serial control (RX, TX, GND). This is for integration with a future stand-alone Hand-Held OM Engine design.
Two 2.5mm DC barrel jacks are provided, one for power input and the other for motor output, making it easy to disconnect and re-connect each.
Finally, there are three pin points for a potentiometer and a SIP switch for switching between analog (potentiometer) control and PWM or serial.
The following image shows the basic schematic: (click for full-size)
The following image is the board layout (click for full-size):
Eagle CAD format files, gerber files, images, and bill of materials are available as one zip file: ompjbox.zip
Enjoy, and as always feedback is highly appreciated!
- c.a. church