I'm pretty new to arduino, but wanted to use it for a project to practice
I was wondering if it's feasible to measure distance, to 0.5mm accurate, with two sound sensors in the following way.
The distance I'm interrested in is the difference in distance between one sound sensor to an object hitting something, say a perfect ball/dot hitting a table, and that object and the other sound sensor.
The sound sensors would be oposite each other with about 40cm between them and an imaginary square between them where the object might hit.
If I were to know the extra time it took for the sound to reach the last sound sensor I could calculate a hyperbola of possible places the object hit the table. Two extra sensors and you have a location.
Measuring a single event from several sensors with a timing accuracy between them of better than 1.5 microseconds is pretty much impossible with any Arduinos I know.
slipstick:
Measuring a single event from several sensors with a timing accuracy between them of better than 1.5 microseconds is pretty much impossible with any Arduinos I know.
Steve
That's about the time difference I want to measure so that would be an issue, right?
As I conlcude from your answer though, the arduino is quick enough as is the sound sensor to measure what I want to measure, just the timing between the sensors is an issue.
This sort of sound location is possible in theory, perhaps not to that level of accuracy. For one thing the sound won't radiate exclusively from the point of impact which may be particularly problematic in a small geometry. In practice one has to deal with echos and other noises in the environment as confounding factors.
MrMark:
This sort of sound location is possible in theory, perhaps not to that level of accuracy. For one thing the sound won't radiate exclusively from the point of impact which may be particularly problematic in a small geometry. In practice one has to deal with echos and other noises in the environment as confounding factors.
Thank you for answer. I did endeed realise that IRL there are some factors that affect the accuracy. If it wasn't even possible in theory, there would be no point to trying it regardless of inaccuracies. Based on your answer and the others I'll try and work out the design a bit more and a prototype.
If I have any updates, questions or results I'll be back.
Normally precision is limited to the wavelength of the sound used, which at a typical 40 kHz is 7.5 mm, but as you're looking for a return trip it could be half of that, about 4 mm. Still an order of magnitude higher than your requirement.
To go down to 0.5 mm you have to look into optical solutions such as IR or LiDAR based sensors.
In theory there is no limits what accuracy you could get, slow arduino clock is not an obstacle. Processing adc data via cross-correlation easily provides resolution much accurate than wavelength . The way it works is similar to oversampling. Sure, it was done before on arduino, cross-correlation analysis I mean, may be not with audio data but it does not change anything