Posts by Kevin (Page 2)
You are currently viewing a selection of posts from the Pololu Blog. You can also view all the posts.
As with other ST sensors, these chips can be configured and read through I²C or SPI interfaces, and our compact breakout boards incorporate voltage regulators and level shifters to make them easier to use with 5 V systems. Compared to the inertial and magnetic sensors we’ve used previously (most recently the LSM303D accelerometer and magnetometer and the L3GD20H gyro), these two new ICs offer different combinations of capabilities: the LSM6DS33 integrates an accelerometer and rate gyroscope into a single package, while the LIS3MDL is a standalone magnetometer.
For more information about these boards, see their product pages at the links below.
We now have three "Pi"s! …No, I’m not talking about our 3pi robot.
In addition to the Raspberry Pi Model B+ we’ve been carrying, we now offer the smaller Raspberry Pi Model A+ and the more powerful Raspberry Pi 2 Model B as well. Check out their product pages for details about each version and how they compare to each other.
Raspberry Pi Model B+.
As with the B+, the A+ and 2 B are compatible with our Raspberry Pi expansion boards, including our A-Star 32U4 Robot Controller with Raspberry Pi Bridge and our MC33926 and DRV8835 motor driver add-ons.
This discrete MOSFET H-bridge can supply a brushed DC motor with up to 17 A of continuous current at voltages between 6.5 V and 30 V. Compared to its predecessor, the G2 driver handles a little more current and offers features like reverse-voltage protection, current sensing, and current limiting. For more information, see its product page.
Robot enthusiasts: if you want to show your Pololu pride but covering yourself with Pololu stickers just doesn’t seem fashionable, we’ve got good news for you! Our new Zumo T-shirts are here, featuring a Zumo 32U4 robot within a sprocket-inspired border, accompanied by our call to “Engage Your Brain”. These pre-shrunk cotton shirts are available in several colors (royal blue, cardinal red, or charcoal gray) and a range of sizes.
My robot, Roku, was the champion of LVBots’ August mini-sumo competition. While I didn’t have the time or inspiration to make it look like anything more interesting (like a Star Wars droid) or make use of especially innovative tactics, I think I managed to build a robot that not only is effective but also looks fairly clean and well put together. In addition, it’s a good demonstration of how the Pololu A-Star 32U4 Robot Controller can be used as a standalone main board for a small robot. Continued…
We are excited to announce the release of the Pololu G2 High-Power Motor Driver 24v13. Like our original high-power motor drivers, this board is a discrete MOSFET H-bridge that is designed to drive large DC brushed motors. As the first of our second-generation high-power motor drivers, the 24v13 can supply a motor with a continuous current as high as 13 A at voltages between 6.5 V and 40 V (absolute maximum).
The G2 driver is designed to be a near drop-in replacement for its predecessor, with an identical form factor and a similar pinout, but it offers a number of new features and improvements over the older version. Reverse-voltage protection on the power supply inputs helps prevent instant destruction if a battery is connected backwards, while basic current sensing and limiting functionality help the driver handle large loads more gracefully. The G2 driver is also compatible with systems running at 3.3 V (and lower), unlike our original high-power motor drivers.
To learn more about the motor driver’s features and capabilities, see its product page.
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.
Along with the V5 RoboClaw motor controllers we recently started carrying (2x5A, 2x15A, and 2x30A), we now have a pair of 2x45A versions from Ion Motion Control as well. The regular RoboClaw 2x45A (V5) has pin headers for its control I/O connections, like the other RoboClaws, while the Roboclaw ST 2x45A (V5) has screw terminal I/O connections for a potentially more convenient way to connect wires.
Both variants are capable of supplying a continuous 45 A (60 A peak) to a pair of motors at voltages from 6 V to 34 V, and they offer the same control options as the other members of the RoboClaw family: USB, TTL serial, RC signals, and analog voltages.
The Pololu Dual MC33926 Motor Driver for Raspberry Pi is our latest offering designed to help you build a robot around the powerful and versatile Raspberry Pi single-board computer. It features a pair of Freescale MC33926 motor drivers, each capable of supplying a motor with up to 3 A continuous (5 A peak) at voltages from 5 V to 28 V. This makes it a good choice for driving bigger things like our 25D and 37D motors and even linear actuators.
Driving motors with a #2756 dual motor driver on a on a Raspberry Pi Model B+ or Pi 2 Model B. A step-down regulator provides 5 V to the Raspberry Pi.
We particularly like using the MC33926 because of its robustness: it can withstand voltage transients up to 40 V, and it has a current regulation feature that actively limits the output current to a safe amount. Furthermore, the driver automatically lowers the current limit as its temperature increases, allowing it to gracefully reduce the motor current instead of abruptly shutting down.
This add-on board is a step up from the relatively minimal, lower-power DRV8835 motor driver expansion we released last year, but it is just as easy to use. Our Python library helps you quickly get your motors running with the board’s default pin mappings, which use logic gates to enable drive/brake operation of the MC33926 drivers with only two control pins per motor.
Additional inputs and outputs on the MC33926 drivers are exposed for advanced users who want to make use of other configurations and control methods, and a small prototyping area on the side of the board provides a convenient space for adding custom circuits. As with the DRV8835 board, you can optionally connect a voltage regulator (not included) to power the Raspberry Pi from the motor power supply.
The motor driver board is available in two versions:
- a partial kit, with connectors included but not soldered in
- fully assembled, with the female header and terminal blocks soldered to the board
If you’re familiar with other Raspberry Pi add-on boards, you might find it unusual that we are not calling this board a “motor driver HAT”. In fact, it meets most of the requirements needed to qualify as a Raspberry Pi HAT (Hardware Attached on Top): it matches the HAT mechanical specification, and it even includes the recommended ideal diode circuit, allowing the optional regulator and the Raspberry Pi’s usual USB Micro-B power supply to be safely connected at the same time.
The reason the board does not qualify as a HAT is the absence of an ID EEPROM. Such a component is intended to allow the Raspberry Pi to identify a HAT board and configure itself to work with that board. We spent some time looking into how an ID EEPROM might help make this motor driver expansion better or easier to use, and we made provision for adding one in the design of the PCB, but eventually we concluded that it seems to offer no substantial value for this kind of board. (We’ve even seen some similar HATs from other manufacturers that ship with a completely blank EEPROM!)
Automatic configuration might be useful for making the Raspberry Pi automatically load a Linux device driver for an I²C or SPI add-on, but since this motor driver expansion is controlled with direct manipulation of GPIO pins, the responsible program or library can easily set up the pins itself before it begins driving and reading them. Other use cases, like enabling the Raspberry Pi to detect whether the HAT is connected and potentially distinguish between different versions of the HAT, would require much more complex support software to take advantage of while being of questionable benefit.
As a result, we’ve decided to omit the ID EEPROM from the board, even if that means it doesn’t meet the full HAT specification and shouldn’t be called a HAT. The EEPROM format specification still appears to be preliminary and subject to change, so it’s possible that future Raspberry Pi updates will make the EEPROM more useful; if so, we will likely reconsider the decision not to populate the EEPROM chip. However, if you think we’ve missed an argument for including an ID EEPROM now or have any other thoughts on its value, we’d be interested to hear your observations.
We’re excited to offer a series of APA102C-based addressable RGB LED strips to complement our existing WS2812B-based LED strips. Like the WS2812 strips, the new strips have connectors on both ends to make chaining easy, and they are available in the same six combinations of LED densities and lengths:
- 1 meter, 30 LEDs (30 LEDs/m)
- 2 meters, 60 LEDs (30 LEDs/m)
- 5 meters, 150 LEDs (30 LEDs/m)
- 1 meter, 60 LEDs (60 LEDs/m)
- 2 meters, 120 LEDs (60 LEDs/m)
- 0.5 meters, 72 LEDs (144 LEDs/m)
Like the WS2812B, the APA102C combines an RGB LED and driver into a single 5050-size package, allowing them to be packed as densely as 144 LEDs per meter, and each pixel can be individually addressed to give you full control over the color of each RGB LED. However, while the WS2812B uses a high-speed one-wire control interface with strict timing requirements, the APA102C has a standard SPI interface, with separate data and clock signals, that lets it work with a wide range of communication rates, making it much easier to control.
For example, it isn’t easy for a Raspberry Pi to generate a control signal with the exact timings that the WS281x requires. However, an APA102 only reads its data signal on the rising edge of its clock signal, and the Raspberry Pi controls both signals, meaning it is free to bit-bang data to the LEDs as slowly (or quickly) and as irregularly as it wants. Alternatively, it’s straightforward to use the SoC’s built-in SPI peripheral to drive APA102 LEDs. Of course, both the bit-banging and hardware SPI approaches can also be used on many other devices, including A-Stars and Arduinos.
Close up of one segment of an APA102C-based LED strip, with the red, green, and blue LEDs on at a low brightness.
The APA102C also offers a few other improvements over the WS2812B, including a color-independent brightness control that lets you easily adjust the intensity of each LED without changing its color. Also, the color channels on an APA102C are pulse-width modulated (PWM) at a much higher frequency, making it less susceptible to flickering on camera and more suited to persistence-of-vision (POV) applications.
For more information about our APA102C-based LED strips, see their product pages.