Pololu Blog (Page 3)
Welcome to the Pololu Blog, where we provide updates about what we and our customers are doing and thinking about. This blog used to be Pololu president Jan Malášek’s Engage Your Brain blog; you can view just those posts here.
Arduino Day is this Saturday, May 12, and in celebration, we are having a big sale on many of our Arduino-related products, including Pololu-made Arduino shields and Arduino-compatible A-Stars and robots. For those who aren’t necessarily enamored with the Arduino environment but are excited about AVR microcontrollers, you can program these products from AVR Studio or other environments using our AVR Programmer, which is also on sale. And because of the awesome way we don’t include motors with the Balboa or Zumo Robot kits, we are also putting those on sale so you can get all the parts for your robots at a discount (we’ll let it slide if you just want to stock up on motors independent of any kind of Arduino application)!
The sale has already started, and it runs through Monday, May 14.
A-Star 32U4 Mini pinout diagram.
I think of our new A-Star 32U4 Mini SV as more of an update than a genuinely new product. For those of you not already familiar with our A-Star 32U4 Minis, they are a series of ATmega32U4-based, USB-programmable controllers with integrated switching regulators that offer operating voltage ranges not available on typical Arduino-compatible products; the “SV” variant features a step-down converter that enables efficient operation with inputs as high as 40 V. The slight PCB update for this latest product was done primarily for manufacturing reasons (e.g. reset button footprint change, addition of a test point, and switching to an ENIG finish that has worked better for us for double-sided assembly), but I figured that while we were updating all our internal records for the new PCB, we might as well also upgrade the regulator.
There’s a difficulty to making small improvements to products when we have hundreds of distributors around the world since even if we clear out our inventory of older versions before shipping newer units, we cannot control the inventory at distributors’ warehouses. We’re all usually tolerant of products being a little better than advertised, but when we try out a product, and then buy another one, and it ends up being worse than the one we already had, it just doesn’t feel right. (That’s one reason we sometimes do not reveal exact components we use, to avoid over-specifying some aspect of a product that we feel is not that important and that we do not want to commit to.) Once the regulator was different (and better!) enough to merit changing the product specifications, we needed to change the product number, and hence we have a new product.
The regulator change is from the ISL85415 to the ISL85418, both made by Renesas (which acquired Intersil). The ISL85415 was the first of a great regulator family by Intersil, and they expanded the family with several pin-compatible versions with various current specifications. These new parts could also operate to 40 V instead of the 36 V of the original ISL85415, but even as various aspects of the datasheets got updated, the maximum voltage rating on the ISL85415 in particular did not.
Renesas website screen capture showing ISL85415 is only part in its family with 36 V maximum input.
I asked our Intersil contact about why only the ISL85415 wasn’t rated to 40 V. It sounded like it was getting made on the same process as the other parts, and that the higher voltage rating of the later parts in the family was more the result of better characterization (and thus confidence) in the process than in any modifications to the process. In other words, new ISL85415 parts can probably do 40 V just like the other parts, and the older ISL85415 parts probably the same; they just weren’t confident about calling them 40 V parts then. But who knows what the inside story is. Maybe they did tweak their recipes a bit, and once they had parts out in the world with the 36 V spec, they didn’t want to change it without changing the part number, just like we couldn’t just keep our old A-Star part number and also talk about the higher maximum input voltage.
A-Star 32U4 Mini ULV, LV, and SV.
In case you’re wondering why we didn’t just put the even better ISL85410 or ISL854102 with 1.0 A and 1.2 A outputs on the new board, it’s because the performance limit moved more to the inductor, and even if the better regulator chip takes up the same space, we would need a bigger inductor to take advantage of that. And the A-Star Minis are pretty packed designs, so there’s not much room for a bigger inductor.
So, to make a long story short, the main new feature of the updated A-Star 32U4 Mini SV is that it can now take up to 40 V input and give you up to 800 mA to work with. This chart shows you what the new regulator (in darker green) can do compared to the older one (lighter green) on the A-Star Mini. It looks like the old one already provided well over its 500 mA specification.
Typical maximum output current of the regulators on the A-Star 32U4 Mini boards.
To make this new product a little more exciting, we reassessed our costs and cut some of our margins in keeping with our push this year to be more competitive in our manufacturing. We have reduced the unit price from $19.95 to $14.95. And as usual for our new product releases this year, we’re offering an extra introductory discount: use coupon code ASMINISVINTRO to get up to three units for just $9.95. (Click to add the coupon code to your cart.) Our promotion banner shows the usual limit for the first 100 coupon uses, but since we’re also having our Arduino Day sale, we’re removing that restriction for the duration of the sale. If we run out of stock during the sale, you can still backorder with the discount, and we should be able to catch up with production within a few days.
Hey! We have a new dual motor driver carrier for Toshiba’s exciting TB67H420FTG that offers quite the power jump from the TB6612FNG we popularized over a decade ago. This chip has a recommended operating range of 10-47 V and can deliver peaks of 4.5 A per channel. In our tests on this carrier, without additional heat sinking or airflow, the maximum continuous current is about 1.7 A per channel.
TB67H420FTG Dual/Single Motor Driver Carrier driving a motor in single-channel mode.
One of the most common questions we get about our motor drivers is whether the outputs can be paralleled to drive a single bigger motor. The TB67H420FTG specifically has that feature built-in so that you can safely do that while only requiring control signal connections for one channel. This brings the available current for single-motor operation to 9 A peak and about 3.4 A continuous.
The TB67H420FTG has a maximum supply voltage of 50 V, making it one of the highest-voltage drivers we have available. Please note that we populated with 50 V capacitors on the supply line, so there is less margin there than on our usual products if you want to push the upper voltage limits of this chip. As with most of our carriers, we also added reverse voltage protection. The MOSFET we use for that is a 40 V max MOSFET, so the maximum reverse voltage that it protects you from is that same 40 V. If you’re wondering why we didn’t use higher-voltage parts, it’s because the next standard voltages are much higher, 100 V in the case of the capacitors. Getting the same capacitance at that rating would require bulkier, more expensive capacitors for almost no benefit. I’m telling you here in case you are one of those people who like to put 55 V on a 50 V max part just to see what will happen.
Schematic diagram of the TB67H420FTG Dual/Single Motor Driver Carrier.
Be among the first 100 customers to use coupon code TB67H420INTRO (click to add the coupon code to your cart) and get up to three units at the introductory special price of $5.95 each. The first batches are just coming out of production, so even if the available stock goes to zero, you can still backorder with the coupon price and chances are that we will be able to fill your order the same day.
On Monday, after receiving a photo of some wonky-looking terminal blocks, our tech support team mentioned to me that we get a good amount of photos from customers needing help with their products that have their terminal blocks installed incorrectly. They either aren’t stacked together properly, are inserted into the wrong holes on the boards, or they’re soldered incorrectly. I tried to make some recreations of the problems we see most often so you can see what I’m talking about:
So at the request of our support team, I made this video that goes over how terminal blocks should be installed:
The carrier board for the VL53L1X that many of us have been waiting for is finally here! The VL53L1X is ST’s newest time-of-flight (ToF) range finder for which we first saw announcements over a year ago, but they were not available to us for ordering until earlier this year. The part is pin-compatible with the earlier VL53L0X, so we were able to put them on the same PCB as we use for that carrier as soon as our first reel of new sensors came in.
Be among the first 100 customers to use coupon code VL53L1XINTRO (click to add the coupon code to your cart) and get up to five units at the introductory special price of $8.88 each. We have a few hundred made to begin with, and we are continuing to make more, so even if the available stock goes to zero, you can still backorder with the coupon price and chances are that we will be able to fill your order the same day.
In our last blog post, we announced the release of our second generation of Jrk Motor Controllers with Feedback. If that announcement wasn’t enough to get you excited about the Jrks, here’s a short video to give you a taste of what the Jrks can do:
You totally want one now, right? Well lucky for you, our special introductory coupon is still valid. The first 100 customers to use coupon code JRKG2INTRO can get 40% off up to three units. (Click to add the coupon code to your cart.)
After many months or years of work (depending on how you look at it), I am happy to introduce our newest motor controllers, the Jrk G2 USB Motor Controllers with Feedback, which we are releasing today in four power variants:
|24 V(1)||34 V(2)||24 V(1)||34 V(2)|
|18 V||28 V||18 V||28 V|
|Max continuous current
(no additional cooling):
|19 A||13 A||27 A||21 A|
|Dimensions:||1.4″ × 1.2″||1.7″ × 1.2″|
1 30 V absolute max.
2 40 V absolute max.
The main purpose of the Jrk G2 family is to enable feedback-based control of DC brushed motors, simplifying closed-loop control of things like the position of an actuator. An example that is probably familiar to most of us is the common hobby servo that has an output shaft that can rotate to various positions as commanded over a simple interface. The Jrk motor controllers can be used for giant versions of those servos, and they can also be used in many other systems as long as you can somehow get feedback in the form of an analog voltage or a frequency. Analog voltage feedback is often easy to get from potentiometers that can serve as angle or position sensors.
The frequency feedback feature is handy for maintaining a speed of a motor independent of your supply voltage and motor load. You might use that kind of feature to run a treadmill at some set speed independent of the weight of the lab rats on it or to stir some jar of goop at a constant rate as the goop gradually thickens. With mobile robot applications, it can be handy to have a motor controller that will make your wheel go at the speed you set independent of whether the robot is on a hard floor or a carpet. (The Jrks do not support quadrature encoders, but you can use one channel of a quadrature encoder as the tachometer for the Jrk. In some applications, keeping track of absolute position is not necessary, or the quadrature encoder can be monitored directly by a main controller that could still benefit from the closed-loop speed control being taken care of by the motor controller.)
To control a wide range of motors in a variety of applications, it’s important to be able to configure a lot of parameters, which makes the Jrk’s USB connection and free configuration utility software extremely important. Even if you ultimately want to use your Jrk in a radio control installation or command it over I²C from your favorite embedded controller, it’s very convenient to be able to set everything up from your computer.
That screenshot is actually of the utility for the original Jrks, which we released almost 9 years ago (I announced those on the forum because we did not have this blog back then). You might notice on some older web pages that we referred to the original Jrks as our second-generation feedback controllers. The really original ancestor to today’s new motor controllers is this product we called simply Pololu 3A Motor Controller with Feedback, which we released at the beginning of 2005. Here are a picture and block diagram of that controller:
Candice and I were probably still running Pololu out of our house back when we started work on that controller, and it’s probably the last product of ours for which Candice wrote some of the firmware. That controller led to the development of a larger, customized controller (similar to our SMC04 High-Power Motor Controller with Feedback) and an even higher-power version that was used on control cables of large autonomous parachutes for the military.
Back to the new Jrk G2 family: these new controllers are in many ways a refinement of the original Jrks, which have been used all over the world in applications from animatronic displays to motion simulators and even full-sized airplanes. The most noticeable improvement on the four Jrk G2 controllers we are releasing today is the increased power available from their discrete MOSFET H-bridges. The G2 high-power motor driver design is part of the reason for the “G2” in the new Jrk family name, though we plan on releasing lower-power, smaller Jrk G2 products later this year. The new driver technology, along with going to double-sided PCB assembly and four-layer PCBs, allowed us to make much higher-power controllers that are smaller than the old Jrk 12v12, which used to be our highest-power version.
The Jrk G2 24v13 and 24v21 in particular open up new application opportunities because they can operate off of 24 V power rails, making them appropriate for huge linear actuators (note that we only carry 12 V versions right now, partly because we did not have controllers that we could recommend for 24 V use). It’s exciting that these tiny boards can control such huge actuators, and the size difference is so big it’s difficult to convey in a picture:
The size difference makes it difficult to get a Jrk G2 24v13 and an industrial-duty linear actuator in the same picture.
Other features new to the G2 Jrks are an I²C interface option and an improved tachometer/frequency feedback mode that now offers pulse width measuring rather than only frequency counting to allow for better control of low-speed motors with lower-resolution encoders or tachometers. Here is a summary of the main features of the Jrk G2 motor controllers:
- Easy open-loop or closed-loop control of one brushed DC motor
- A variety of control interfaces:
- USB for direct connection to a computer
- TTL serial operating at 5 V for use with a microcontroller
- I²C for use with a microcontroller
- RC hobby servo pulses for use in an RC system
- Analog voltage for use with a potentiometer or analog joystick
- Feedback options:
- Analog voltage (0 V to 5 V), for making a closed-loop servo system
- Frequency pulse counting (for higher-frequency feedback) or pulse timing (for lower-frequency feedback), for closed-loop speed control
- None, for open-loop speed control
- Note: the Jrk does support using quadrature encoders for position control
- Ultrasonic 20 kHz PWM for quieter operation (can be configured to use 5 kHz instead)
- Simple configuration and calibration over USB with free configuration software utility
- Configurable parameters include:
- PID period and PID constants (feedback tuning parameters)
- Maximum current
- Maximum duty cycle
- Maximum acceleration and deceleration
- Error response
- Input calibration (learning) for analog and RC control
- Optional CRC error detection eliminates communication errors caused by noise or software faults
- Reversed-power protection
- Field-upgradeable firmware
- Optional feedback potentiometer disconnect detection
As with all of our new product releases this year, we are offering an extra introductory discount: the first 100 customers to use coupon code JRKG2INTRO can get 40% off up to three units. (Click to add the coupon code to your cart.)
After spending many months conducting thousands of motor tests, we are excited to finally publish performance graphs for our micro metal gearmotors (2MB pdf). In some sense, this datasheet is the culmination of a decade of work to improve our processes and better characterize our gearmotors, and we have come a long way since those early tests clamping motors in vises and making them lift ever heavier bags of steel bearings. Here is one of the setups we are using now:
Micro metal gearmotor undergoing dynamic performance testing.
The key thing is to be able to apply a measurable, variable load while the motor is spinning, which we do via an electromagnetic brake coupled to a torque meter. A combination of programs running on an A-Star 32U4 Prime test controller and a PC automatically sweep the load through a sequence of points while measuring parameters such as speed, current, and torque (plus internal test rig currents, voltages, etc).
Micro Metal Gearmotor performance test setup.
These performance characterizations are the latest example of our continued commitment to being the best source for this popular form factor of gearmotor. You might see similar-looking motors elsewhere, but no one comes close to our offering, from the quality of the gears to our exclusive long-life carbon brush options to the overall breadth of our selection (over 100 versions!), all in stock for shipment the day you order.
Please note that we are still in the process of updating the specifications on our website to match new, more accurate data from the performance graphs, so if you notice discrepancies between what is in the datasheet and what is on the product page, go with the datasheet.
If you have any questions or feedback about these graphs or if there is additional information you would like to see available for our motors, please feel free to contact us (or just leave a comment below). And if you are wondering about graphs for our larger gearmotors, don’t worry, those are coming! (If you need something before those datasheets are done, just let us know and we might be able to get you preliminary data for a particular gearmotor.)
Performance summary table from Micro Metal Geamotor datasheet.
At Pololu, I have spent the recent weeks developing new products, like the motor driver I announced on Wednesday, but at school (I am a mechanical engineering student at the University of Nevada, Las Vegas, UNLV) I have been managing an American Society of Mechanical Engineers (ASME) Student Design Competition (SDC) team. SDC teams create robotic devices to fulfill a problem statement that changes every year. They compete with their devices at one of ASME’s regional student conferences called E-Fests. Last year, I managed a three-member team that built The Rebel WIP and earned third place in the Robot Pentathalon at the E-Fest West. This year, my ten-member team made a squad of robots called The Rebel Bandits for the new SDC challenge, Robot Football. We overcame many technical challenges and 14 other teams to win first place at this year’s E-Fest West that competed this past Saturday!
The SDC’s Robot Football was loosely based on soccer, but with four robot teams competing to shoot eight tennis balls into four goals on a 5 m x 5 m field. Each team was assigned a goal to defend, and eight tennis balls were set in a square pattern at the center of the field for robots to score into the other goals. For this competition, teams could build multiple remote controlled robots, but the robots and controllers had to be able to fit inside a single 50 cm cube. Some teams built soccer squads with only two or three big robots, while other teams used up to six little robots for their squad (which made the matches super chaotic), but each team could only control one ball at a time. Robots controlling a ball needed to keep the ball on the ground when they moved around, but they could stop and lift the ball to shoot on a goal.
The Rebel Bandits.
I am really proud of the robots my team designed and built for this competition, so I want to share how my team made a first place robot squad! However, since we won the competition at E-Fest West, we were invited to compete again in the SDC Finals at ASME’s International Mechanical Engineering Congress and Exposition in Pittsburgh, Pennsylvania this November. We will be competing against the first and second place winners from the other student conferences: E-Fest East, E-Fest Asia Pacific, and E-Fest South America, as well as the SDC team from California State University, Northridge, who came in second place at E-Fest West. The teams will be more competitive, and the prize money increases significantly! So that makes me a little bit nervous about showing all the technical details for our robots right now, but I would still like to give a basic rundown.
Our strategy was to build three large robots: one defender, and two offensive robots. We call the defender robot The Outlaw. It is built on a U-shaped frame with 19 in (48.3 cm) long sides and has tall walls. Even though it cannot block from inside our penalty box and is not particularly fast, it can seriously impede the efforts of other teams to score on our goal just by being big and tall. The Outlaw uses three DC motors for its drive train at the base of the U-frame, and Pololu ball casters help support the far ends of the U-frame. One DC motor is driven by a G2 High-Power Motor Driver, and since we use an A-Star 32U4 SV for the Outlaw’s microcontroller, the other two DC motors are driven by a Dual G2 High-Power Motor Driver Shield for Arduino.
The Desperado and The Renegade.
The two offensive robots are named The Renegade and The Desperado (you should notice the Wild West theme by now). Other than the color schemes, these robots are almost complete duplicates. We decided to build only two offensive robots because it gave us sufficient space to build robust robots with high quality shooting mechanisms.
Each offensive robot uses four DC motors for the drive train. A standard size servo extends an arm with an intake belt, and a DC motor runs the intake belt to pull a ball into the robot’s reservoir. Another servo opens and closes a gate that keeps the ball in the reservoir or pushes the ball into the shooting mechanism. The reservoir allows the ball to roll on the ground as the robot moves without the intake belt constantly pushing down on the ball and impeding driving. The shooting device is a ramp and flywheel. When taking a shot on the goal, the operator stops the robot and the flywheel revs up to high speed. Then the gate servo pushes the ball into the ramp. The velocity of the wheel pulls the ball along the ramp structure and throws the ball at high velocity. Just beyond the outlet for the ball, a plate on a pivot controlled by a servo lets us control the ball’s trajectory. This allows us to shoot across long distances or over defender robots.
The offensive robots each use an Arduino Mega as their primary microcontroller. Most of the DC motors on The Renegade and The Desperado are controlled by either a Dual G2 High-Power Motor Driver Shield connected to the Arduino Mega or are driven by individual G2 High-Power Motor Drivers. On each robot, a Maestro servo controller is used as a slave controller that powers and controls the standard servos. Additionally we use the Maestros’ functionality as general I/O controllers to send logic signals to the individual 18v17 Motor Drivers. In our setups, we want the servos and the Maestros to be powered from 6 V, so we use a step-down voltage regulator to connect the Maestro power rails to main power supply on each robot, a 12 V lead-acid battery.
I am very fortunate to have worked with an awesome team this year for the SDC, and I am grateful for the parts and support we obtained from both Pololu and UNLV! It was also exciting to see different teams at the competition using other Pololu parts like our wheels, metal gearmotors, regulators, and brushed DC motor drivers. After our SDC Finals competition in November, I plan to write another blog post about more of the technical details of our robot. (Hopefully I will be able to brag a little about another first place trophy too!)
Patrick and 6 members of UNLV’s SDC team that traveled to competition in Pomona, California.
Until then, I want to know more about some of your projects! I hope you will share a little about your cool projects in the blog comments, or you can make a Pololu forum account and post in the Share Your Projects category!
For my birthday, I am excited to share two new products to help get your projects moving: dual motor driver boards for Arduino and for Raspberry Pi based on Maxim MAX14870 drivers, which on these boards (without additional cooling) can power motors with a continuous 1.7 A (2.5 A peak) from a voltage source anywhere from 4.5 V to 36 V. This makes the driver ideal for powering a wide range of motors including our high power micro metal gearmotors, and our 12 V 20D mm metal gearmotors. We like the MAX14870 so much that already we make a single driver carrier for it, and we use it on our A-Star 32U4 Robot Controller SV. These new boards make it easy to control two motors using the MAX14870 with an Arduino or Raspberry Pi.
The Dual MAX14870 Motor Driver Shield for Arduino is designed to plug directly into an Arduino or another microcontroller board with the Arduino form factor. It connects the Arduino I/O pins to the two-pin speed/direction interfaces as well as the fault output pins, and our open-source library is available to help you get started. The shield can be set up to power your Arduino device from your motor power supply, which is especially helpful if you are using an Arduino or compatible device with an operating voltage similar to that of the MAX14870, such as our A-Star 32U4 Prime SV. Additionally, the board can be customized to use the advanced features of the MAX14870 drivers or change the pin mappings.
The Dual MAX14870 Motor Driver for Raspberry Pi has many of the same features as the Arduino version, but it is designed to plug into the GPIO header on a compatible Raspberry Pi (Model B+ or newer), including the Pi 3 Model B and Model A+. We provide an open-source Python library to make it easy to interface with the board. This board also has a location to connect a step-down 5 V regulator to power the Raspberry Pi from your motor’s power supply.
I am really excited about these boards because the Raspberry Pi expansion board is the first PCB I ever designed, and the Arduino shield was designed by my friend David S. Both of us are engineering students at the University of Nevada, Las Vegas who work at Pololu to complement our studies. It has been a great experience for us to learn how to design these products from the development engineers here at Pololu. Plus, getting to share these products for the first time with you is a fun way to celebrate my birthday!
As usual for our new product releases this year, we’re offering an extra introductory discount: the first 100 customers to use coupon code MAX14870INTRO can get any mix of up to 3 of these boards for $7.77 each. (Click to add the coupon code to your cart .) Note that this introductory offer applies only to the units without connectors soldered in.