You are currently viewing a selection of posts from the Pololu Blog. You can also view all the posts.
When the Raspberry Pi Model B+ was released last month, one of the most exciting features for us was the availability of a second hardware PWM output that can be used for motor control (previously, only a single hardware PWM output was available on the Model A and Model B). Two is a really useful number for robot builders, since that’s what you need for a basic robot platform, so we thought it would be a great time to make a dual motor driver kit for the Raspberry Pi.
The new Pololu DRV8835 Dual Motor Driver Kit for Raspberry Pi B+ is a minimal, low-cost motor driver expansion board based on the Texas Instruments DRV8835 dual motor driver, one of our favorite motor driver chips for small robots like the Zumo because of its excellent combination of size, cost, and performance. We carry a basic breakout board for this chip and just released an Arduino shield based on the DRV8835 last week.
|Pololu DRV8835 dual motor driver kit (assembled) on a Raspberry Pi Model B+.|
When assembled, the board plugs into a 2×17 block of pins on the Raspberry Pi GPIO header. Power and motors are connected to a separate block of pins, and you can use the included terminal blocks for easier wiring. The board takes an input voltage of 2 V to 11 V and provides two bidirectional motor channels capable of 1.2 A continuous or 1.5 A peak. You can also reconfigure the board for a single channel with twice the current.
Bonus feature – power your Raspberry Pi from your motor supply!
The Raspberry Pi requires a regulated 5 V supply, which is usually provided via the Micro-B USB power port. This is fine for a stationary setup, since you can just use a USB wall power adapter. On a battery powered Raspberry Pi-based robot, however, you need to somehow incorporate your own 5 V regulator capable of supplying about 500 mA. To help simplify your project, the motor driver kit includes a connection point for a three-pin regulator with the standard VIN-GND-VOUT pinout.
In the picture below you can see a complete setup using the motor driver board and our Step-Up/Step-Down Voltage Regulator S7V7F5 to drive two Pololu plastic gearmotors and power the Raspberry Pi from a set of four AA NiMH cells. This regulator is a good match for the range of input voltages of the DRV8835, though below about 4 V you might need something with higher current capability.
|Driving motors with an assembled Pololu DRV8835 Dual Motor Driver Kit on a Raspberry Pi B+. A step-up/step-down regulator provides 5 V to the Raspberry Pi.|
For more information, including schematics, pinout diagrams, and example Python code, see the product page.
We are excited to announce the addition of two new motor drivers to our selection of Arduino shields: the Pololu DRV8835 Dual Motor Driver Shield for Arduino and the Pololu A4990 Dual Motor Driver Shield for Arduino. These miniature shields are low-cost, basic dual motor drivers for your Arduino or Arduino-compatible board. When connected to an Arduino, each provides two channels of bidirectional PWM motor control suitable for driving small brushed DC motors. The boards include various handy features like reverse protection, multiple power and motor connection options, and the ability to customize some of the pin mappings. Our open-source libraries provide a convenient way to get started controlling these motors with an Arduino.
Selecting a motor driver shield
|Pololu DRV8835 Dual Motor Driver Shield for Arduino, top and bottom sides.|
|Pololu A4990 Dual Motor Driver Shield for Arduino, top and bottom sides.|
The main practical difference between the shields is their input voltage range, so most people should probably select a shield based on their desired power supply. Here are some details:
Our DRV8835 shield, based on the DRV8835 motor driver from Texas Instruments, has an input voltage range of 2 V to 11 V and can deliver a continuous 1.2 A (1.5 A peak) on each channel. It is suitable, for example, for battery-powered robots similar to the 3pi or Zumo. As a bonus feature of our shield, you can parallel the motor outputs to get a single channel with twice the current capability.
Our A4990 shield uses the Allegro A4990 and is specifically intended for higher-voltage applications, such as projects powered by a 12 V or 24 V battery. It has an input voltage range of 6 V to 32 V and can deliver a continuous 0.65 A (0.9 A peak) per channel. The A4990 can detect and signal a variety of errors like over-temperature and short-circuit, allowing more sophisticated control and monitoring.
Basic breakout boards available
Congratulations to our summer interns!
If you carefully inspect the back of the boards, you will notice “TKern” and “izzyg” etched in copper. These inscriptions commemorate the internships of Ted Kern and Ismael “Izzy” Gomez, Las Vegas natives who were indoctrinated in Pololu design philosophies this summer while creating these new products. We wish Ted and Izzy good luck as they head/return to college at CMU and MIT!
We are having a summer promotion to celebrate the introduction of the A-Star Minis: on orders over $100, get any A-Star for only $8 with coupon code ASTAR. Our previous free A-Star Micro promotion will still be available through Sunday, so if you act now you can stack the coupons and get a great deal on two of these compact Arduino-compatible controllers.
A few months ago, we released the A-Star 32U4 Micro, a general-purpose microcontroller breakout board based on the Atmel ATmega32U4, and we discussed our plans to extend the design with additional integrated features. Today, we are thrilled to announce a major expansion of the family with the introduction of the A-Star 32U4 Mini ULV, A-Star 32U4 Mini LV, and A-Star 32U4 Mini SV.
|A-Star 32U4 Mini pinout diagram.|
Like the A-Star Micro, the A-Star Minis are Arduino-compatible boards based on the ATmega32U4. The Minis are expanded boards that provide access to almost all of the pins of the AVR (including a few more than the Arduino Leonardo and Arduino Micro), but what really sets them apart from competing products are their efficient power supply systems based on switching regulators. Each model is based on a different voltage regulator, and its name includes a designation corresponding to its input voltage range:
- A-Star 32U4 Mini ULV (Ultra-Low Voltage): 0.5 V to 5.5 V
- A-Star 32U4 Mini LV (Low Voltage): 2.7 V to 11.8 V
- A-Star 32U4 Mini SV (Standard Voltage): 5 V to 36 V
|Typical maximum output current of the regulators on the A-Star 32U4 Mini boards.|
The regulator designs are closely related to some of our favorite voltage regulator boards, the U1V11F5, S7V8F5, and D24V5F5. Taken together, this range of options lets you power your project with anything from a single NiMH cell to a 24 V lead-acid battery or an 8-cell LiPo pack. With typical currents of 500 mA to 1 A, you get plenty of 5 V power for your AVR and an array of peripheral devices, or at the other end of the scale, these regulators allow your project to make effective use of low-power modes on the AVR, potentially operating on a battery for months at a time.
|A-Star 32U4 Mini ULV, bottom view with dimensions.|
Another exciting feature of the power supply system on the A-Star Minis is seamless USB power switching provided by an onboard TPS2113A power multiplexer. This means that you can safely connect both USB and external power, and you can monitor or control the selected supply, without losing power or shorting your supplies together.
We think that the A-Star Minis are by far the most capable AVR breakout boards for their size, and they should be an excellent choice for almost any project needing a compact, Arduino-compatible controller. We have priced them so that it should be an easy choice, too. For more information or to order, see the A-Star controller category.
We posted recently about how progress in MEMS sensors has resulted in a constant stream of improved Pololu breakout boards. This week, we brought some of that technological progress to our Zumo robot with the release of a new “v1.2” version of the Zumo Shield for Arduino. This new version upgrades the previously-included LSM303DLHC compass to nine channels of inertial sensing using the newer LSM303D compass and L3GD20H gyroscope.
That means that the new Zumo shield includes a full inertial measurement unit (IMU) – the equivalent of a MinIMU-9 v3 – letting you turn it into a complete AHRS by adding an Arduino or compatible controller.
The v1.2 update extends to three new products:
- Zumo Shield for Arduino, v1.2
- Zumo Robot Kit for Arduino, v1.2 (No Motors)
- Zumo Robot for Arduino, v1.2 (Assembled with 75:1 HP Motors)
Other parts, such as the Zumo chassis, sumo blade, and reflectance sensor array, are not affected by this update, and the new Zumo shield is mechanically and electrically compatible with the previous model. They are also completely code-compatible except for the MEMS sensor aspects, which are already supported by our open-source Arduino libraries.
Tomorrow is Tau Day! To celebrate, I thought I should write something about how we use math on our website.
Mathematics is essential to engineering, so we often need to use math when presenting a product or discussing some point about robotics and electronics. In the past, we have struggled to come up with our own ways of getting math online, such as using HTML code (e.g. a 1×2 table with an internal border can look like a fraction) or finding some engineer here who knows how to type up equations in LaTeX and export images.
Over the past month, we have quietly switched to MathJax, which is the technology used on the very popular site MathOverflow. We are using MathJax, for example, to explain current and voltage settings for our new TPS2113A carrier and to show how to compute the exact gear ratios of some of our Micro Metal Gearmotors – the 1000:1 Micro Metal Gearmotor being a particularly good example since it has so many gears.
MathJax allows us to type math directly into web pages using simple text codes, and it uses modern features of your web browser to format the math for you as the page is loaded. If you reload this page and watch the equation below carefully, you will briefly see the raw code before MathJax redraws it:
``int_0^oo e^(-x^2) dx = sqrt pi / 2``
(The integral of a Gaussian has long been one of my favorite mathematical exercises.)
Try it yourself
Instead of using the LaTeX syntax used on MathOverflow, we chose a simpler input format called ASCIIMath. You can read documentation on the ASCIIMathML page. The way it works is that you type ASCIIMath code within double back-quotes, like this:
``int_0^oo e^(-x^2) dx = sqrt pi / 2``
We have enabled MathJax throughout the site, including blog comments, so that you can participate fully in discussions here, starting with this little Tau Day celebration. So, what is your favorite equation? Try out MathJax and share it with us in the comment section below!
Our distributor list continues to grow, with two new Pololu distributors in Europe:
Complubot is an educational robotics organization in Madrid, Spain, that you might have heard of through their work on the Arduino Robot. In May, Complubot opened a robotics store, and they are carrying everything from LEGO Mindstorms kits to our 3pi and Zumo. We are also happy to see that they continue to host educational robotics workshops and post lots of updates and pictures on their Twitter feed.
RLX Components is a distributor of electronic components, development tools, test equipment, and software in Bratislava, Slovakia. Founded in 1994, they carry products from numerous brands familiar to the maker community, and we are proud to see our products (such as the 3pi Robot) listed there, now, too.
See our list of almost 200 distributors to find one in your area.