Posts by Paul
You are currently viewing a selection of posts from the Pololu Blog. You can also view all the posts.
This is the second post in a series about how to make a Balboa 32U4 robot balance. Last week I talked about selecting mechanical components. In this post I will cover the inertial sensors included on the Balboa’s control board and how to use them in your code.
The key to Balboa’s balancing ability is the built-in ST LSM6DS33 IMU chip, which combines a 3D gyroscope and a 3D accelerometer. The Balboa also includes an ST LIS3MDL 3-axis magnetometer. Both sensors are connected to the AVR via I²C, giving it access to a total of nine sensor channels. These nine channels can be used in software to make an AHRS (attitude and heading reference system), a system that gives the robot a sense of its orientation in three dimensions. AHRS software is particularly important in aviation/drone applications, but for basic balancing, you don’t need anything that complicated. In fact, a single gyro channel is enough to determine the robot’s angle of rotation relative to vertical. The gyroscope’s y-axis channel measures the Balboa’s forward/backward rate of rotation; that is the channel we will be looking at here. Continued…
This is the first post in a series about how to make a Balboa 32U4 robot balance. Today I will talk about selecting mechanical parts for your Balboa. We offer a variety of gearmotors and wheels that work with the Balboa, and the Balboa kit includes five different gear ratios for the external gearbox, so even without considering non-standard modifications, there are many possible configurations of the robot. In this post I will give you some guidance about choosing the right parts. Continued…
What do you need to turn a Romi chassis into a functioning robot? Here are some Romi projects from the community, as well a couple of our example builds:
A variety of controllers can be used with the Romi, but until now you have had to figure out lots of wiring to connect everything together. You will always need some wiring to connect your own sensors or other devices, but we have been trying to make it easier to get started, beginning with the Romi power distribution board and motor driver board, which help simplify some of the more difficult parts. Our new Romi 32U4 Control Board is the culmination of this product line: a complete controller solution for the Romi that integrates power, motor control, and an Arduino-compatible microcontroller.
Romi power distribution board, motor driver board,
Here is how it looks when connected to a Romi Chassis with motors and encoders plugged in, as well as the optional LCD:
Features of the Romi 32U4 Control Board
Pinout diagram of the Romi 32U4 Control Board (ATmega32U4 pinout, peripherals, and board power control).
- Reverse-protected battery power switch circuit
- Powerful 5 V, 2 A switching regulator
- Dual 1.8 A DRV8838 motor drivers
- ATmega32U4 microcontroller with Arduino-compatible USB bootloader
- 16 free general-purpose I/O ports including 10 analog inputs
- LCD connector
- Three user buttons
- Five indicator LEDs (2 for power, 3 user-controllable)
- Battery voltage monitoring
- Quadrature encoder inputs
- Four general-purpose level shifters
- 3-axis I²C accelerometer
- 3-axis I²C gyroscope
- Raspberry Pi connector with I²C interface and HAT EEPROM
Raspberry Pi interface
Microcontrollers like the ATmega32U4 are great for fast, timing-sensitive operations such as reading sensors or driving servos, but their computing power is very limited compared to devices like the Raspberry Pi. That is why we built a Raspberry Pi interface into this board: to give you the option to expand your robot beyond what is possible with a microcontroller. This could be useful for anything from advanced applications like computer vision or room mapping to simply letting your robot share status updates on Twitter. Here is a Romi assembled with a Raspberry Pi:
When connected, the control board supplies power to the Raspberry Pi and connects to it as an I²C slave device. We include the ID EEPROM required by the HAT specification, though we have not found it particularly useful, so we ship it blank and unlocked for you to experiment with.
Our Arduino library gives example code for I²C connectivity, and you can check out our Raspberry Pi tutorial for the A-Star 32U4 Robot Controller, which we will be updating for the Romi 32U4 Control board.
For more information about the Romi 32U4 Control Board or to order, please see its product page.
Halloween is quickly approaching, but there is still plenty of time for you makers out there to build something that will impress/terrify your friends and neighbors, and we want to help! We are having a sale on servos, motors, programmable controllers, sensors, LEDs, power supplies, and more – products that might come in handy for building an amazing costume or interactive yard display. See the sale page for more details and the full list of products.
Note: The United States Postal Service is closed on Monday, October 10 in observance of Columbus Day. Pololu will be in operation and will ship orders via FedEx as usual. Orders scheduled for shipping via USPS on Monday will be shipped the following day.
I am excited to announce the release of the Romi chassis, our new platform for mobile robotics. Romi is a 6.5″-diameter round chassis that includes all the basic mechanical parts that you need for a mobile robot: a base plate with integrated battery holder, motors and motor brackets, wheels with silicone tires, and a ball caster as a third point of contact.
The Romi chassis is designed to be extended. It includes numerous mounting holes and slots, including specific spots for Arduino and Raspberry Pi and a place in front for a second ball caster. The motors have extended shafts for use with Romi encoders in applications requiring precision. For power, you can choose between four and six AA cells; we recommend the Romi power distribution board for access to battery power.
As an example of what you can do, here is the chassis with a Raspberry Pi A+ and our A-Star Robot Controller mounted on top, with power, motors, and encoders all fully connected and operational:
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…
We will be closed tomorrow, November 26, for Thanksgiving. Also, since our huge Black Friday/Cyber Monday Sale is under way, our usual same-day shipping service will not apply until we catch up. Until then, we will be doing our best to ship your orders as quickly as possible!
Our mini MOSFET-based power switches now have a set of companion versions with larger MOSFETs:
As I mentioned when announcing the Mini switches in September, they have many advantages over our older pushbutton power switches, including a much larger input voltage range and reverse protection, but the current limits were lower. With the new big switches, we can now support applications well beyond what the older products could handle. We are offering two versions with different MOSFETS: the MP unit can handle about 8 A, and the HP version is good for about 16 A. Both operate over the same 4.5 V to 32 V range as the Mini SV switches.
Like the mini power switches, these big switches are available with our patented push-on/push-off latching circuit or with a simple slide switch:
For more information, see the links below or check out our power switch category.
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!