Hello everyone,
I'm currently trying to build a speed gun with a Parallax' X-Band Detection Sensor and an Arduino Uno but I'm having some big trouble getting proper readings.
Long story short, I get way too low frequencies, at least half the expected values, and I just can't find why. I'm getting a bit desperate and I fear either the sensor doesn't work or I'm missing a crucial flaw in my project.
Attached are all the algorithms I tested (just open Frequency_Tests.ino, the others are in their respective tabs). The Excel file contains result samples for each of them. The experiment conditions were as followed:
Walking man on a 10 meters track, the reference speed[km/h] is calculated as (10/t)*3.6, with t[ s] the time it took him to walk the 10 meters. It was indoor with nothing else in motion (except my fingers on the keyboard). The experiment was also repeated with a bike, the results are still too low.
The Arduino's libraries has been successfully tested previously with a signal generator. The Doppler sensor was also tested with an oscilloscope and I do get an output signal with expected voltage.
I tried to put the Doppler sensor in an aluminum tube to avoid noise, but it doesn't change anything.
I think I was very thorough and I'm beginning to be out of ideas. Is the sensor broken? How can I properly check that? Is the project flawed from the start? Am I missing something important?
Thanks for your time and your help!
Frequency_Tests.zip (20.9 KB)
Why do you think the sensor can be used to detect the speed of a moving object? Perhaps it detects changing interference patterns, rather than a Doppler shift.
jremington:
Why do you think the sensor can be used to detect the speed of a moving object? Perhaps it detects changing interference patterns, rather than a Doppler shift.
I based my assumption from the Product Guide, page 5:
In contrast to speed guns, which use a wave guide to direct the antenna radiation pattern, the X-Band Motion Detector’s antenna has a wide radiation pattern to convert velocities from multiple points to oscillations that notify the microcontroller that movement was detected. This device is designed to detect motion, not to determine speed of a moving object. However, an application may still use a rearranged version of the Fd equation to determine speed provided everything else in the detection area stays still.
The previous paragraph on page 5 makes also clear the output is supposed to be the Doppler shift.
So, I'm assuming that speed could be calculated in a motionless room or, and that part might be a stretch but is not related to my problem, if I build a wave guide (i.e. a metallic tube).
A wave guide is very tricky to make, as the dimensions and geometry are determined by the wavelength and desired beam pattern. It must also match impedances, which are difficult to measure.
Post the code, using code tags, and you can expect some help.
The code is in the .zip, I bundled it with the results and divided it in different tabs for clarity. Reference to external libraries should be in the first comment lines. Should I still post everything here? I probably have 300 lines split in 6 different tabs, it might be a lot.
Post a minimal version that illustrates the problem.