5-Channel Reflectance Sensor Array for Balboa 32U4 Balancing Robot
This reflectance sensor module is designed specifically for use with the Balboa 32U4 balancing robot. It features five IR LED/phototransistor pairs that are great for identifying changes in reflectance on the ground directly underneath the Balboa (like detecting or following a black line on a white background). The sensor array offers dimmable brightness control, and each sensor provides an independent output that can be measured with a digital I/O.
|Description||Specs (7)||Pictures (16)||Resources (8)||FAQs (0)||On the blog (1)|
The 5-Channel Reflectance Sensor Array for Balboa provides an easy way to add line sensing to the Balboa 32U4 Balancing Robot. It features five separate reflectance sensors, each consisting of a dimmable IR emitter coupled with a phototransistor that responds based on how much emitter light is reflected back to it. The array is intended for Balboas assembled with 80×10mm wheels that are operating in upright (balancing) orientations.
Included components and mounting options
The reflectance sensor array ships with all of the components you need to connect it to a Balboa 32U4 control board:
The 1×7 female headers should be soldered to the connections near the bottom edge of the control board. You can do this without removing your Balboa control board from the chassis. One female header should be soldered between the pins labeled GND and A3, and the other female header should be soldered between the pins labeled GND and A2. The solder joints should be on the component side of the control board.
The sensor board can be mounted to the Balboa so that it aligns with the center axis of the chassis or the edge of the chassis, which might make following a line easier (since the sensors will be farther forward when the Balboa is upright). How the included right angle headers are connected to the sensor board determines whether the board will be center- or edge-aligned. See the pictures below for how to position the header pins for each mounting option.
Using the sensor array
Schematic diagram of an individual QTR sensor channel on an RC-type board. This applies only to the newer QTRs with dimmable emitters.
The array uses the same sensor modules as our QTR reflectance sensors and has the same principle of operation as the RC versions, for example, the QTR-MD-05RC. The typical sequence for reading a sensor is:
- Turn on IR LEDs (optional).
- Set the I/O line to an output and drive it high.
- Allow at least 10 μs for the sensor output to rise.
- Make the I/O line an input (high impedance).
- Measure the time for the voltage to decay by waiting for the I/O line to go low.
- Turn off IR LEDs (optional).
These steps can typically be executed in parallel on multiple I/O lines. Because this array works like our other QTR sensor boards, you can use it with our QTR Arduino library, which provides methods for controlling the emitters, calibrating the module, and reading the individual sensor values. Keep in mind that how you mount your sensor will determine which I/O lines on the Balboa you are connected to. You can read the silkscreen markings on the sensor board and the Balboa to determine which sensor is connected to which I/O line.
With a strong reflectance, the decay time can be as low as a few microseconds; with no reflectance, the decay time can be up to a few milliseconds. Meaningful results can be available within 1 ms in typical cases (i.e. when not trying to measure subtle differences in low-reflectance scenarios), allowing up to 1 kHz sampling of all sensors. If lower-frequency sampling is sufficient, you can achieve substantial power savings by turning off the LEDs. For example, if a 100 Hz sampling rate is acceptable, the LEDs can be off 90% of the time, lowering average current consumption from 125 mA to 13 mA.
Demo of IR LED dimming on the 5-Channel Sensor Array for Balboa 32U4 (as seen through an old digital camera that can see IR).
The sensor array maintains a constant current through its IR emitters, keeping the emitters’ brightness constant. The emitters can be controlled with the board’s CTRL pin.
Driving the CTRL pin low for at least 1 ms turns off the emitter LEDs, while driving it high (or allowing the board to pull it high) turns on the emitters with the board’s default (full) current, which is 20 mA. For more advanced use, the CTRL pin can be pulsed low to cycle the associated emitters through 32 dimming levels.
To send a pulse, drive the CTRL pin low for at least 0.5 μs (but no more than 300 μs), then high for at least 0.5 μs; (it should remain high after the last pulse). Each pulse causes the driver to advance to the next dimming level, wrapping around to 100% after the lowest-current level. Each dimming level corresponds to a 3.33% reduction in current, except for the last three levels, which represent a 1.67% reduction, as shown in the table below. Note that turning the LEDs off with a >1 ms pulse and then back on resets them to full current.
For example, to reduce the emitter current to 50%, apply 15 low pulses to the CTRL pin and then keep it high after the last pulse.
The Balboa32U4 Arduino Library provides a way to easily read sensor values from the reflectance sensor array, and it includes a demo sketch showing how to do so. See this section of the Balboa 32U4 user’s guide for library installation instructions and the library documentation for more information.
People often buy this product together with:
|Pololu Wheel 80×10mm Pair - Red|
|Pololu Wheel 80×10mm Pair - Blue|
|50:1 Micro Metal Gearmotor HPCB 6V with Extended Motor Shaft|