Pololu Blog (Page 20)
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.
Chris Barlow posted this interesting write-up about how he is using the USB connection of a Mini Maestro servo controller to prototype motion control for his hexapod robot. He has been going over the build in detail on his blog, so check it out over there, and be sure to take a look at this short video below:
Forum user Ken constructed a spine-chilling Halloween project that is featured at the Cedar Gables Inn Bed and Breakfast in Napa, California. His project is based on Brandon’s Motion Tracking Skull Halloween prop, but instead of just using a head-turning skull, Ken used a full-scale skeleton body to complete the creepy look.
Motion tracking skeleton at the Cedar Gables Inn.
Just like in Brandon’s example, Ken used two Sharp GP2Y0A60SZ analog distance sensors to detect objects (or humans) and a Micro Maestro servo controller to read the output values from the sensors and control the servo that moves the head. Ken improved on Brandon’s code by returning the skeleton’s head to its starting position after a short delay so the skeleton wouldn’t stare rudely at the inn’s guests.
For more information about Ken’s Halloween project, see his forum post, and if you happen to be in the Napa Valley area this Halloween, stop by the Cedar Gables Inn and check it out in person!
In case you missed it, we have Maestros and Sharp distance sensors on sale right now as part of our Polo-BOO! Halloween Sale. The sale ends in less than two days, so if you want to try doing a project like this, now is the time to get started!
Halloween is just around the corner, but there is still time for you makers out there to build terrifying interactive props and amazing costumes, and we want to help. From now through October 21, we are having a sale on servos and servo controllers, proximity sensors, programmable microcontroller boards, power supplies, and more – all the products you might want to bring your creepy creations to life. See the sale page for more details and the full list of products.
If you need some inspiration, check out our sample Halloween projects, and as always, we would love to hear about anything cool you make with our products; we might feature it on the blog!
We are pleased to introduce our new 12 V, 2.2 A switching regulator, the inaugural member of the D24V22Fx family of step down voltage regulators. We expect to release other voltage versions next month, but we wanted to get a 12 V version out right away since we did not offer a 12 V buck regulator that could do more than 1 A. The compact regulator works with input voltages up to 36 V and can typically deliver up to a continuous 2.2 A. It offers integrated reverse voltage protection along with over-current and over-temperature shutoff, and a power-good output can be used to determine when the regulator cannot maintain its output voltage.
Unlike linear regulators which waste a lot of power and generate a lot of heat in the process, this new regulator is very efficient, which means you can get the most out of your battery life:
Until we release other voltage versions of the D24V22Fx, the closest substitutes are the similar D24V25Fx family of step-down voltage regulators:
These regulators are the same size as the D24V22F12 and they have similar current capabilities and input voltage ranges, but they do not have the same pinout and they are based on a different internal design, so there are fundamental differences in operation.
To make this possible, we updated the Windows installers for the Pololu AVR C/C++ Library to support Atmel Studio 7.0. This means that when you install the library on Windows, it will automatically copy its files into the AVR GCC toolchain inside Atmel Studio 7.0 and install project templates for the supported devices. Adding support for Atmel Studio 7.0 required us to add some code to detect its location and fix two unexpected problems. You can see the changes that were made in the libpololu-avr commit history on GitHub.
The second screen of the Pololu AVR C/C++ Library installer for Windows.
Importing an Arduino sketch in Atmel Studio 7.0
Atmel Studio 7.0 is the latest version of Atmel Studio, an integrated development environment (IDE) for AVRs from Atmel. It has an interesting new feature that allows you to create a new project from an Arduino sketch. The idea is that you could import an Arduino sketch, compile it with Atmel Studio, and then load it onto an Arduino-compatible board using a debugger from Atmel. This would allow you to step through the program one line at a time as it runs on real hardware and see what the program does at each step. It would also allow you to use the advanced code editing features of Atmel Studio. When you import a sketch into Atmel Studio 7.0, the source code of your sketch, along with the Arduino core source code and the code for any libraries you are using, gets copied into the directory for the new project.
However, the new feature only supports a certain small set of boards from Arduino and Adafruit, which means that you would have to select a board similar to your Orangutan, 3pi robot, or A-Star and then adjust the project settings (such as the F_CPU clock speed macro) to make it work. Atmel Studio does not support Arduino bootloaders, so it will not be easy to program an A-Star without getting an external programmer. Our Pololu USB AVR Programmer does not support debugging, so if that is the only programmer you have, then there is relatively little value in using Atmel Studio to program your device instead of just using the Arduino IDE. The feature does not appear to be very polished and still has bugs, which I encountered when I tried to import a sketch that has multiple .h and .cpp files.
If you want to try out the new feature, just open Atmel Studio 7.0, select File > New > Project…, and then select “Create Project from Arduino sketch”, which is a template that can be found in the “C/C++” category.
There’s another new product coming out of the assembly line here at Pololu: the VL6180X Time-of-Flight Distance Sensor Carrier. The VL6180 from ST Microelectronics distinguishes itself from other optical sensors by using time-of-flight measurements to determine distance: it emits pulses of infrared laser light and precisely times how long they take to reach the nearest object and reflect back to the sensor, which means it is essentially a complete short-range lidar system in a single tiny package.
With this technique, the VL6180X can accurately measure the absolute distance to a target object from 0 cm to at least 10 cm away – sometimes up to 20 cm away, depending on the target and environment – without being affected by what color the target is or how reflective it is.
VL6180X datasheet graph of typical ranging performance.
Distance readings can be obtained through the sensor’s I²C interface (in units of millimeters – no complicated conversions necessary!). The VL6180X also includes an ambient light sensor; this combination of sensing capabilities is useful for applications, including smartphones, for which the VL6180 was designed.
The VL6180X IC by itself is a challenge to use because of its small surface-mount package and particular voltage requirements, so our breakout board includes a 2.8 V regulator and level shifters that allow it to be used with 3.3 V and 5 V systems. The carrier board provides a breadboard-friendly pinout and mounting holes while remaining as compact as possible (0.5″ × 0.7″). We’ve also written an Arduino library for the VL6180X that makes it easy to get started with this board.
For more information about the VL6180X carrier, see its product page.
I am excited to announce four new general-purpose MOSFET-based power switches. But why is Pololu making something as seemingly basic as power switches?
Powering your project
One of the most basic requirements for any electronics project is a way to turn the power on and off.
For a typical project assembled on a breadboard, your first approach might naturally be to plug in some breadboard-compatible switch like this:
This will work okay in many situations, but if you start connecting motors or other high-power components like a Raspberry Pi, you will quickly reach the 300 mA limit of that little switch and melt it or worse. So, assuming that the rest of your project survived, the next step might be to upgrade to a beefier switch:
I use this one on a lot of projects; it feels really solid and can do 5 A. But it is not breadboard compatible, it is kind of big (more than one inch long), and flipping it takes a lot of force, all of which means more wiring and mounting issues to deal with. And then your project ends up not looking particularly modern – can you imagine a smartphone with one of those sticking out the side? We expect everything these days to be controlled by a tiny pushbutton, with software power features like auto-shutoff. Even my new car does not have the traditional mechanical keyswitch: those are getting rapidly replaced by intelligent software-controlled pushbuttons.
MOSFET-based power switches
With a modern power switch like the one on your phone, the pushbutton itself is only momentary and does not actually conduct the current that powers the device. Typically the button is just an input to a low-power microcontroller that activates MOSFETs as necessary to control power to the rest of the circuit. Programming a microcontroller is a fine approach to power management, but it is a difficult engineering challenge itself. What if you just want a component that does the job for you, like the switches pictured above? That’s where Pololu power switches come in.
Our power switches do MOSFET-based switching using simple electronic circuits; not having a built-in microcontroller means they are inexpensive and can work over a wide voltage range, for use in a variety of projects. Unlike many soft-power solutions, they are also designed to turn completely off – no current flows in the off state except whatever can leak through the transistors (around 10 nA or less).
We have been selling switches like these for a long time, both as discrete boards and incorporated into other products. As shown in the pictures above, we have two basic implementations:
- A slide switch that directly controls a MOSFET: the board stays permanently off or on depending on the state of the switch. (Used on the Zumo robots and the A-Star 32U4 Robot Controller.)
- A momentary button for push-on/push-off control, using a latching circuit. (Used on several Orangutan robot controllers and the 3pi robot.)
Block diagram of the Mini Pushbutton Power Switch with Reverse Voltage Protection.
The pushbutton version seems more modern and lends itself better to features like software shutoff, but using it on the 3pi demonstrates one potential disadvantage: if a 3pi crashes into something hard enough to rattle the batteries, the input voltage briefly drops to zero and turns off the switch, stopping the robot. You might consider this a feature, since it prevents further damage to an out-of-control robot. However, when we designed the Zumo, we knew that slamming into things would be standard practice, and a power shutdown in the middle of a sumo match could be disastrous. So our Zumo boards use the slide-switch method of power control.
The new Pololu power switches
Our older pushbutton power switches have long been in need of an upgrade, and now we have two new boards to replace them as well as two entirely new slide-switch versions. The boards have a greatly increased input voltage range: 2.2 V to 20 V on the LV versions or 4.5 V to 40 V on the SV versions, and there are a few other new features:
- An additional MOSFET for reverse voltage protection. This helps protect your project against plugging in batteries or a power supply backwards, making a Pololu power switch a great first stage for your project. Please note that it can’t protect you against shorts that bypass the switch. (Ground connections through a benchtop power supply and a USB cable can cause problems, for example.)
- Control pins that allow your microcontroller to turn the switch on and off. The simpler slide-switch versions just have a single input that turns the switch on, while our pushbutton switches provide inputs for latching the switch either on or off as well as an input (CTRL) that can assert either state.
- Additional connection points so that you can connect your own button or switch (e.g. wire it to the outside of your case) in addition to the pre-installed one.
Note that the form factor is different and the current limits are lower than our older pushbutton power switches, so these are not drop-in replacements.
In summary, don’t be one of those people who has to plug and unplug wires to turn his project on and off. Take a look at the detailed specifications on product pages to select the right switch for your application!
Continuous rotation servos like FEETECH’s FS90R are popular actuators for beginner robots because of their low cost and ease of use—since the motor controller is built right into the actuator, it can be controlled directly from a microcontroller or RC receiver. However, to complete the drive system, you need wheels, and that is something that we have not been able to offer for the FS90R until today. I am excited to introduce the new 60×8mm wheels for FS90R micro servos, which should make it much easier to get your FS90R-based miniature robot rolling.
All that said, we still generally recommend creating custom drive systems out of individual motor drivers, DC motors, and wheels over continuous rotations servos, since that gives you much more control over performance. Continuous rotation servos are more appropriate for projects where cost and simplicity are more important than performance, and with these wheels and the FS90R, this approach is simpler and more affordable than ever.