I have a ball rolling along a grooved track and need to determine its speed. Typical speeds are in the range of 2-20 m/s. The balls are relatively shiny (think polished bowling ball.)
A common solution would be to use a pair of break beam sensors attached to the track and calculate the speed by determining how long the leading edge of the ball took to traverse the distance between the pair of sensors.
Unfortunately, my application requires that the equipment must be above the track and must not be closer than 1-4 meters. That is, some allow as close as 1 meter, some require as far as 4 meters.
I'm thinking about creating a kind of remote break beam sensor. An IR LED is focused into a line that crosses the track. As the ball passes through the plane of IR light, it will momentarily reflect a point of light (specular reflection) back up to the equipment where some type of photoelectric sensor can detect that reflection. Note that in this case, we trade leading edge for momentary point of reflection.
This will be using a Raspberry Pi. I can't control the environment where the track is setup. I fear a phototransistor might only work in certain lighting conditions, so I'm expecting to write software to filter the continuous input from an analog photoelectric sensor to detect the light reflection across a wide range of ambient lighting environments.
My questions:
Is this a doable/reasonable approach? Or is there a better/common solution that I'm not aware of?
Are there sensors that are sensitive enough for this application with adequate response times?