Pololu Blog (Page 13)
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.
We started the Pololu Forum in 2004 as a place for product support and discussion, where Pololu customers can interact directly with each other and Pololu engineers. The forum is our preferred medium for handling technical support since the answers can potentially benefit multiple people and can include the experience of other helpful members of the community.
Recently we changed the forum software from phpBB to Discourse, a more modern and mobile-friendly forum package. We migrated user accounts and posts, so you should still be able to use your same forum username and password to log in. (Your forum account is separate from your Pololu.com account, though.) If you don’t have an account, now is a great time to sign up and join in the robotics and electronics discussion! You can read a lot more about Discourse on its “About” page.
We would be happy to hear how your experience is with Discourse, and if you have any suggestions or feedback on the change, you can post a comment here or in the “About the Pololu Forum” category on the forum.
Here are some technical details about the migration: before migrating, the forum had around 11 thousand user accounts and over 45 thousand posts, so I was very happy to find that following the instructions from the Importing from phpBB3 topic worked well. One thing the importer does not support is handling redirects from the old phpBB URLs. We really wanted to keep all those forum links working, so I modified the import script to generate an Nginx configuration mapping the old URLs to the new ones. I also made an improvement to the Discourse string remapping utility to fix some of the BBCodes that were not rendering well. It has been convenient to contribute to Discourse because they use Ruby on Rails, just like we do for the main Pololu website.
The Milwaukee School of Engineering (MSOE) underwater robotics team has been building remotely operated vehicles (ROV) to compete in underwater ROV competitions for several years. In the past, they have created custom motherboards that our 18v15 Simple Motor Controllers could plug directly into:
Custom Simple Motor Controller motherboard for MSOE underwater ROV.
The team is now using our newer G2 High-Power Motor Driver 18v17, which allowed them to save space in the newest iteration of their motherboard.
Custom G2 High-Power Motor Driver motherboard for MSOE underwater ROV.
For more information and updates, check out the group’s Facebook page.
I’d like to introduce our latest addition to the Pololu stepper motor driver carrier family, the DRV8880 Stepper Motor Driver Carrier. This carrier for the Texas Instruments DRV8880 driver has the same form factor and basic layout as our A4988 carrier, which makes it a drop-in replacement in many systems. It also has a lot of the same features, like potentiometer adjustable current control and microstepping down to 1/16-step. In addition, the DRV8880 has many new features like inputs for dynamically scaling the current limit to 25%, 50%, 75%, or 100% of the limit set by the potentiometer, nine decay mode combinations, and autotune (insert Daft Punk joke here), which automatically selects the decay mode each PWM cycle for optimal current regulation performance.
The DRV8880 carrier has a maximum current of 1.6 A, and in our tests it could handle about 1 A per phase continuously. It has a 6.5 V to 45 V input voltage range, which is the widest of any of our stepper motor drivers, and it supports both 3.3 V and 5 V logic. For more information about our DRV8880 stepper motor driver carrier, please see its product page.
We’re excited to offer a series of APA102C-based addressable RGB LED panels, which make it easy to add colorful images, text, or lighting effects to your project. These panels use the same integrated APA102C LED driver as our APA102C-based addressable RGB LED strips, which means that you can control the LEDs using a standard SPI interface that works over a wide range of communication rates.
We offer APA102C LED panels in three different sizes:
For more information about our APA102C-based LED panels, including links to example code, see their product pages.
Addressable RGB 8×32-LED Flexible Panel, 5V, 10mm Grid (APA102C or SK9822) showing an animated rainbow.
An addressable RGB 16×16-LED panel with a plastic diffuser (not included) showing the Pololu logo.
Our customer Robert sent us this spectacular image of NGC 1073 from his backyard observatory after we helped him get a SPDT Relay Carrier working with his Mini-Maestro 18-Channel servo controller. We thought it was pretty cool, so we asked him a bit more about how he captured it and how he is using the Maestro in his observatory. Continued…
The local Las Vegas hackerspace, SYN Shop, hosted the third Las Vegas Mini Maker Faire at the Henderson Convention Center recently. The event showcased a wide variety of projects and skills: drones, sand casting metal using aluminum cans, woodworking, taiko drumming, and of course robots. At our booth, Pololu showed off some older demos, like our Simple Motor Controller demo and our jrk treasure chest; some newer demos, like the motion tracking skull from Halloween; and some fun robots, like the Zumo 32U4 and Paul’s Raspberry Pi Robot. Above is a short video with highlights from the event.
I am excited to announce the release of the Pololu USB AVR Programmer v2, a programmer for the popular AVR microcontrollers from Atmel.
Here at Pololu, we have been making AVR programmers for over eight years in order to support products like our Orangutan robot controllers and the 3pi robot. These programmers are used to transfer a compiled AVR program from your computer to the target AVR’s flash memory, allowing it to run the program.
From left to right: the original Orangutan USB Programmer, the Pololu USB AVR Programmer, and the Pololu USB AVR Programmer v2.
To support programming AVR microcontrollers running at 3.3 V, we added an adjustable voltage regulator that allows the programmer to set its own power voltage to either 3.3 V or 5 V. By default, the programmer will operate at 3.3 V, but it measures the voltage on its VCC pin and will automatically switch to 5 V if it detects a high-enough voltage on VCC. You can also disable the automatic switching and just set the programmer to always be 3.3 V or always be 5 V using our configuration software.
With the Pololu USB AVR Programmer v2, we made an effort to increase the programming speed for commonly-used types of AVRs, such as the ATmega328P. With the older Pololu USB AVR Programmer, if you wanted to program all 32 KB of the AVR’s flash memory, it would take about 6.8 s using the maximum ISP frequency of 2 MHz. With the Pololu USB AVR Programmer v2, it takes only about 4.8 s to do the same thing. Also, if your ATmega328P has a high-enough clock speed, you can increase the ISP frequency to 3 MHz and then it would only take 4.3 s. (These numbers are from tests done using AVRDUDE 6.2 in Windows.)
The Pololu USB AVR Programmer v2 has 470 Ω resistors on all of its I/O lines, which will help protect the programmer and your target system from damage in case there is a voltage mismatch or a short circuit.
Programming the fuse bits on an AVR has always been scary because you can accidentally program the wrong clock settings and brick your AVR. With the new Pololu USB AVR Programmer v2, it is a little less scary: the programmer provides a 100 kHz clock output that can be used to send a clock signal to your AVR, which can help you revive it when it has the wrong clock settings. We tested this on the ATmega328P and it probably works on many other AVRs as well. You should still be careful when setting the fuse bits though!
Like its predecessor, the Pololu USB AVR Programmer v2 can act as a USB-to-TTL serial adapter, so you can use it to debug or communicate with your projects over serial. We arranged the serial pins in a more standard arrangement that is similar to commonly-available FTDI USB-to-serial cables and breakout boards. The pins also come with a female header soldered in, so you can plug the programmer directly into a variety of Arduino boards and use it upload sketches via a serial bootloader.
The Pololu USB AVR Programmer v2 is compatible with commonly-used AVR programming software such as Atmel Studio, AVRDUDE, and the Arduino software (IDE).
You can use our open source configuration software for Windows, Linux, and Mac OS X, to change the configuration of your programmer and see useful information about it. We provide both a graphical user interface (GUI) and a command-line interface (CLI). Here is a screenshot of the GUI in Windows:
The Pololu USB AVR Programmer v2 Configuration Utility in Windows 10.
The Pololu USB AVR Programmer v2 uses a relatively new PIC microcontroller, the PIC1825K50. We sell a user-programmable break-out board for this microcontroller called the P-Star 25K50 Micro. One of the exciting features of this microcontroller is that it can do full-speed USB without needing an external crystal or resonator. The USB specification requires devices to have a clock that is accurate to within ±0.25%. On previous products, we usually had to add an external resonator or crystal to the board to meet this requirement. However, the PIC18F25K50 has a neat feature called Active Clock Tuning, which means that it can automatically tune its internal oscillator by monitoring the timing of the USB signals from the computer. This allows the internal oscillator, which is normally not very accurate, to achieve the accuracy needed for USB. This feature allowed us to make the programmer a little smaller and a little less expensive.
For more information, see the Pololu USB AVR Programmer v2 product page.
Our second-generation family of high-power motor drivers continues to grow with the release of our G2 High-Power Motor Driver 18v25 and G2 High-Power Motor Driver 24v21, discrete MOSFET H-bridges that can supply a brushed DC motor with up to 25 A of continuous current at up to 30 V or up to 21 A of current at up to 40 V, respectively. In addition, we’ve lowered the prices of the 18v17 and 24v13 versions to make them even more affordable.
The new G2 18v25 and G2 24v21 drivers’ double-sided design allows them to retain the same board dimensions as their 18v17 and 24v13 siblings, even though they can deliver significantly more power. The G2 drivers are half an inch shorter and can handle the same (or slightly more) current compared to the original 18v25 and 24v20 they are designed to replace, and they are less than half the size of the original 18v25 CS and 24v23 CS while offering basic current sensing functionality that can eliminate the need for a dedicated current sensor in some applications. As with previous G2 drivers, they also include reverse-voltage protection and a current limiting feature.
Pololu G2 High-Power Motor Driver 24v21 next to original high-power motor driver 24v20 and 24v23 CS.
Pololu G2 High-Power Motor Driver 24v21 and 24v13.
For more information about the G2 motor drivers, see their product pages at the links below.
This robot, created by theophil on Let’s Make Robots, uses a Rover 5 chassis with encoders, a MinIMU, sonar sensors, and a few expansion plates to do room mapping. Theophil modified the chassis to use Dagu Wild Thumper wheels, and made a custom 3D-printed adapter for connecting the wheels in a compact way. The program for the robot, which is available on GitHub, collects data from the sonar sensors about how far away objects are and creates a grayscale map where the darkness of a pixel corresponds to the robot’s confidence that an obstacle exists in that spot.
Example map made by theophil’s mapping rover.
The program also includes a movement algorithm meant to drive the robot along paths that take it close to many obstacles to increase the accuracy of the sonar sensors. More about theophil’s room mapping robot can be found in his Let’s Make Robots post.
In this post I will show you how to build an expandable robot platform based on a Raspberry Pi and an A-Star 32U4 Robot Controller. With this platform, the powerful Raspberry Pi can take care of high-level tasks like motion planning, video processing, and network communication, while the A-Star, which mounts to the Pi’s GPIO header, takes care of actuator control, sensor inputs, and other low-level tasks that the Pi is incapable of. The total cost of the parts I used is about $120. Continued…