5-Channel Reflectance Sensor Array for Balboa 32U4 Balancing Robot
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
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 1ms in typical cases (i.e. when not trying to measure subtle differences in low-reflectance scenarios), allowing up to 1kHz 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 100Hz sampling rate is acceptable, the LEDs can be off 90% of the time, lowering average current consumption from 125mA to 13mA.
Emitter control
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 1ms 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 20mA. For more advanced use, the CTRL pin can be pulsed low to cycle the associated emitters through 32 dimming levels.
To send a pulse, you should 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 >1ms pulse and then back on resets them to full current.
Dimming level (pulses) |
Emitter current (%) |
|
Dimming level (pulses) |
Emitter current (%) |
---|---|---|---|---|
0 | 100.00% |
|
16 | 46.67% |
1 | 96.67% |
|
17 | 43.33% |
2 | 93.33% |
|
18 | 40.00% |
3 | 90.00% |
|
19 | 36.67% |
4 | 86.67% |
|
20 | 33.33% |
5 | 83.33% |
|
21 | 30.00% |
6 | 80.00% |
|
22 | 26.67% |
7 | 76.67% |
|
23 | 23.33% |
8 | 73.33% |
|
24 | 20.00% |
9 | 70.00% |
|
25 | 16.67% |
10 | 66.67% |
|
26 | 13.33% |
11 | 63.33% |
|
27 | 10.00% |
12 | 60.00% |
|
28 | 6.67% |
13 | 56.67% |
|
29 | 5.00% |
14 | 53.33% |
|
30 | 3.33% |
15 | 50.00% |
|
31 | 1.67% |
Dimensions:
Size: | 2.52″ × 0.29″ |
---|---|
Weight: | 1.8 g1 |
General specifications:
Voltage: | 5 V2 |
---|---|
Peak wavelength: | 940 nm |
Maximum current draw: | 40 mA3 |
Identifying markings
PCB dev codes: | irs13a |
---|---|
Other PCB markings: | 0J11539 |
Notes:
- Without included headers.
- Module is intended to be powered by the Balboa's 5V line.
- With all LEDs on at max brightness setting.
Documentation and other information
Information about using the Pololu QTR reflectance sensors, including differences between A-type and RC-type sensors and sample oscilloscope screen captures of sensor outputs.
File downloads:
- Schematic diagram of the 5-Channel Reflectance Sensor Array for Balboa 32U4 Balancing Robot (93k pdf)
-
- Dimension diagram of the 5-Channel Reflectance Sensor Array for Balboa 32U4 Balancing Robot (153k pdf)
-
- 3D model of the 5-Channel Reflectance Sensor Array for Balboa 32U4 Balancing Robot (8MB step)
-
- Drill guide for the 5-Channel Reflectance Sensor Array for Balboa 32U4 Balancing Robot (30k dxf)
- This DXF drawing shows the locations of all of the board’s holes.