we have the beacon and receiver code running, and everything seems to be working fine - the beacon output looks correct on an oscilloscope, and the code is running without errors, but the problem we are having now is that the receiver is only recognizing the beacon if the beacon is held directly in front of the receiver at a maximum range of about 4 inches. this is using just the default code, modified so that the beacon and reciever can run on the same frc (we dont have an edu controller). has anyone else run into this problem? ive noticed that most people have been having the problem of their sensors being too sensitive, so i dont know what our problem might be.
How did you construct your IR sensor housing?
e.g, is it exposed or in a tube?
right now both the beacon and the sensor circuits are mounted to separate breadboards for testing, both completely exposed… we havent permanently mounted anything yet.
My best guess is that, since your receivers are unshielded, they are being confused by all the IR signal reflections they are receiving.
Please go here for more detail:
As I haven’t tried this configuration, I’d suggest sprinkling some debugging printf()s around your code to see what’s happining within the Sensor_Stats array. I’d be particularly interested if the beacon data is being discarded because the pulses aren’t within the type-0 or type-1 time windows. This would be indicated if Sensor_Stats[n].Invalid_Count was incrementing.
Where in the circuit was the 'scope probe attached? The gate (pin 1 of Q1) or the LED? Did you see a five volt swing on the 'scope? Are you sure you built the beacon correctly (you should have swapped pins 2 and 3 of Q1 if you built it using FIRST’s document)?
I have found the IR sensors to be susceptible to clutter from multiple modulated IR sources. The beacon waveform becomes obscured by all the noise. This could be the case with an unshrouded sensor and a beacon in a small room with lots of reflections.
We get strong and well-defined waveforms on the oscope at close ranges. At a farther distance, say 20 feet, we show occasional hits. We took a tube (an ink pen) to filter out a lot of ambient stuff.
Also, we used a digital camera set to night vision to view the LEDS. Really, really bright orb of IR light. Turn off the night vision, and we see only well defined glowing IR LEDs. We have to orient the IR beacon such that the IR sensor is pointed along the axis running from the top to the bottom of a particular LED. We have the beacon on a moveable cart which allows us to rotate it for maximum signal strength.
Are the beacons used in competion comprised of several LEDs or is it a single omni direction IR source?
Our scope probe connected between the 33 ohm and LED cathode.
Our students have mounted two sensor in tube housing on a support mounted to the servo. Tonight, they will experiment with code to move the servo left and right until IR is detected. We will not worry about which beacon we are looking at.
We will be able to use this rig to experiment with distance, IR shielding for the sensors, etc.
Thanks for pointing this out. Yes, it’s true that you should, with the exception of the little window, cover the sensor package with infrared opaque material (dark heat-shrink tubing works well) unless you want the beacon to be detected from behind the sensor as well. This is because the entire package is made of infrared-transparent epoxy that allows the infrared energy in from all angles, not just through the little hemisphere of a window. I’ve added this information to the FAQ.
sweet… it just magically started working today… thanks for the help anyway(: