I am thinking about doing a project where I with only three accelerometers try to find out the origin of a vibration. I know this might sound impossible and when doing some research about the practical it might also turn out to be so but hey just for fun? Anyway, the three sensors are place with a specific distance to eachother. With the "Time Difference of Arrival", TDOA method it is theoretical possible to calculate the origin of the pulse.
For a good picture and explanation about this, but with sound in air instead of vibration, check this article Artillery sound ranging - Wikipedia. I have just managed to understand and in some way get the grip of the formulas and calculation but now my question to you is this!
Can i consider vibration like sound in another medium?
If yes, I have read that sound travels in wood with around 3000m/s Do you guys think I could use that as the velocity despite the fact that the vibration travel on top? of a woodtable?
However, if you use an atomic clock and measure the earth vibration with 3 sensors that are a few kilometers or miles apart... It could work.
If you want to detect someone knocking on a wooden table, you don't have to use accelerometers. Glue 3 piezo element to the table and use that.
okay but what if I have around 1 meter between the sensors, in that case it would take 333 us for the vibration to travel from one sensor to the other. with a sensor that have a read frequency of 20kHz(1 reading every 50 us) it would have time to do 6 measurements in that time. and according to the other Topic you posted, with SPI communication a 1 meter cable is okay? how long time do you think it would take for the sensor to send the data and then for the arduino to interpret that data and make a timestamp?
The most used accelerometers have a digital interface. They are used for a self-balancing robot or a RC helicopter.
The data rate is perhaps 10 or 100 samples per second.
The 20k samples per second is something special. As you can read in the link to the other post, the ADXL001 can take 20k samples but the output is analog.
Using SPI with a sensor at 20k samples is not possible as far as I know.
Detecting the location of a vibration in wood might be hard, since the vibration reflects and bounces. The wood is connected to something else, at that point the vibration is disturbed. Also the edges will disturb it. I think it will be very hard to make any sense of the data.
As Erdin said vibration = sound, think this way, vibration is an phisical phenomen on which a wave propagates on a medium, could be solid or liquid like a gas, if its a gas and reaches our ears we ear and we call that vibration "sound", generally for that vibration been heard should have frequencies between a range from 20 Hz to 20000 Hz, and its get for analysis with a microphone. If the vibration travels on a solid medium we just call it vibration and we get it with an accelerometer. And it reaches lower frequencies down to almost 0 Hz (that we can´t ear). Suitables accelerometers for any aplication are piezo electric, cover frequency range up to 10KHz, but they are normally expensive, on the other hand we have MEMS accels but their aren´t so accurate on frequency, amplitude and phase, but they are extremely cheap.
For your project its important to determinate the frequency of interest, since it will define your accelerometer, every accel has its own frequency range, and it will define the caracteristic of the ACD you will need, since you should use a minimum sampling frequency equals to two times your frequency of interest (for avoiding aliasing problems).
One last thing is, we humans can determinate a surce position because we have 2 ears, and our brain calculates the distance to the source using the difference in time that takes to the sound reach our ears, but its done in one plane and we have others sources of information, like reflexions and one hole life for experimental learning, think in this, we can tell that an airplane is above us just because we learn that, not because our ears, an airplane its so far away and the frequency is so low that we can´t discriminate its position with just our ears. Hope help you.
Okay thank you guys! For now I might discard my idea of using accelerometers because of the sampling rate and all that but what about analog piezos like this one (Piezo Vibration Sensor - Large with Mass - SEN-09197 - SparkFun Electronics) as Erdin said before. I have read in this topic (http://arduino.cc/forum/index.php/topic,6549.0.html) that by changing some parameters on the arduino I can get one analog reading in 16us. If I instead of having accelerometers used three of those piezos from sparkfun with around 40 centimeters apart I would theoretically be able to measure the time it takes for the vibration to travel between the sensors?
Yes there will most likely be some practical problems like the vibration bouncing and everything but if I start with just reading the raw data and do the math by myself I think I will manage to get a working system
Do you think the piezo thing would work? Will the fact that I will be reading at least two analog inputs at the same time be a problem with consideration of the time? Thank you guys, your help means alot!
I read your previous post, but I don't know.
The Arduino is not designed for DSP-alike signal processing.
It is not hard to do a small test. The piezo elements need a parallel resistor to prevent hight voltages.
Erdin:
I read your previous post, but I don't know.
The Arduino is not designed for DSP-alike signal processing.
It is not hard to do a small test. The piezo elements need a parallel resistor to prevent hight voltages.
okay well I understand that but I guess the only way to find out if it works is to test it okay so between the piezos plus and minus contacta i have to put a resistor? Do i have to use ohms law (I=V/R) to calculate what kind of Resistor i should use? so lets say I use the sparkfun piezo with mass and the maximum output is 90Volts, so with a vibration i might get around 5-10volts? and I want to shift that voltage down to a level the arduino can handle which is a maximum of around 5Volts right? So how do i do that?
michinyon:
I built a device to determine the location of aircraft, but the sensors were about 40 metres apart.
Okay that sounds interesting, were you using piezos or some kind of microphone?
Did you have to change the samplerate of the arduino or did you leave it at default?