7. Polarized-Light Detecting Sensors

(article continued from previous page)

At this point, you know how to select and buy linear polarizing film. And, you know how to calibrate it to determine horizontal alignment and vertical alignment.

By placing horizontally-oriented polarizing film in front of a light bulb, you can create a horizontal beacon. And, by placing vertically-oriented polarizing film in front of a light bulb, you can create a horizontal beacon.

For the final step, you need to place horizontally and vertically oriented polarizing film in front of photosensors to compare the difference in their light detection. The differences will tell your robot if it is looking at a horizontal beacon, vertical beacon, or just ambient lighting.

Filtered Sensor PCB

I used a professional PCB manufacturer to create a fairly fancy prototype printed circuit board. You don’t have to go to this extent. A simple circuit on a solderless breadboard is perfectly acceptable for experimental purposes.

A double-sided PCB with a black plastic baffle and photosensors on one side, and other electronic components on the other side.

A double-sided PCB with a black plastic baffle and photosensors on one side, and other electronic components on the opposite side.

I used a thick block of black plastic (ABS) to act as a baffle for the photosensors. This prevents lighting from the sides from tainting the photosensor readings.

Two photoresistors covered by polarizing film in two orientations.

Two photoresistors covered by polarizing film in two orientations.

Two large holes were drilled in the black plastic block for two photoresistors. Additional holes were drilled and tapped to mount the polarizing film.

Notice that the pair of screws for the first filter are rotated 90 degrees relative to the pair of screws for the second filter? This means I can grab a stack of polarizing film that has been oriented in the same direction, and the differences in mounting screw positions will ensure that the two sensors will have orthogonal (90 degrees different) polarization.

The back of the PCB for the polarized beacon sensors has an Atmel Attiny13 microcontroller, a trimpot, and home/rival switch.

The back of the PCB for the polarized beacon sensors has an Atmel Attiny13 microcontroller, a trimpot, and horz/vert home switch.

As I said, this PCB is fancier than it needs to be. It contains an 8-pin microcontroller to evaluate the output of the polarized sensors. If the difference between the two sensors is larger than the trimpot value, then the microcontroller knows the sensors detect a polarized beacon. The trimpot value can be adjusted to be sensitive without generating false detection.

The microcontroller controls the PCB output pins to inform the rest of the robot that a beacon has (or has not been detected). Furthermore, by setting the “home” switch (in the upper left corner) to either “horz” or “vert”, the microcontroller can set pins that indicate whether the home beacon or the opponent beacon is being detected. The robot can switch sides with the flip of a switch.

Having a finished PCB with an onboard microcontroller that performs these computations removes the development burden from the participants in a robot competition. This may encourage more people to build robots and join in.

Final Results for the Polarized Beacons and Sensors

In testing, I found that the sensors could accurately detect a beacon from about 12 feet away. That’s not bad!

Of course, results will vary based on the brightness of your beacon. For my beacon, I used a 100 watt (1400 lumens) halogen incandescent lamp with a 7-inch wide by 4-inch tall polarizing filter. That’s consistent with the beacons used in the Case Western University Egg Hunt.

I hope this article provides enough information for robot clubs and schools to make a contest or assignment based on polarized beacons. They’re pretty simple and inexpensive to create, and they’re pretty effective.