Read Fast ADC - Ideas?

Status
Not open for further replies.

Kisen

Member
Hi,

I am working on a project for shooting.
Im working on a target that uses 4 piezo sensors to "hear" the sound travelling through a plate. The idea being to take the time difference between each sensor activation and then create the formulas to find the point of impact.

So far i have created the target itself and attached one of the piezos. I built a voltage follower circuit so i could see what the output waveform looked like. When the main target plate is hit i get a nice decaying waveform at about 2khz. However when the outer casing of the target is hit, i get a very low frequency decaying waveform, but with the same amplitudes as the first.
Because of this, i cant use an envelope sensor as a hit to the target plate and a hit to the casing would look very similar.

The speed of the sound in the plate is estimated at 3500m/s - which equates to roughly 300nS per mm.

So,been thinking the last couple of days about it and heres what i want to try, Ideally i want to read the the piezo with ADC at 50MSPS (20ns resolution = 15 samples per mm)
The ADC samples will need to be read by a dedicated MCU, this is where im stuck.

I can code, but i have never done anything this fast, so timing is something im struggling with when it comes to how fast a MCU can deal with this incoming data. I"think" that at 50MSPS an MCU would need to be running at 200mhz due to the 4 counts per instruction? Im really not sure. Maybe it needs to be faster still to get anything done with the data.

So my question out of all of this is, practically, what is the fastest ADC i can read with a 200MHz MCU - either by using the internal ADC or an external dedicated ADC with 8bit parallel output.

I am seeing a lot of MCUs better priced and available in the 120MHz range. So the same question for 120MHz.

Thanks in advance
 
I'd use comparators to catch the first edge of the piezo output and hardware "input capture" in a DSPIC or whatever suitable MCU for the timing.

They grab the value from a time register when triggered, so you can have exceptionally precise relative (or absolute) times.

ps. If the casing also causes a trigger then the timing calculations should be able to show where it was - off the target.
Or use a single ADC to capture a sting of samples after the main trigger and measure the frequency.
 
The frequency of the ringing is not pertinent, it's the time for the front of the signal to arrive at the sensors.
Thus some version of rjenkinsgb's suggestion should work.
I see no need for a fast A/D converter, which adds a lot of complexity.
 
Sure sounds like sample set should be gathered into memory then a run of the mill ARM
processor does the calculations. Eg. assuming there is plenty of time between shots ?

Sounds like a small CPLD/FPGA would handle that.

I looked for a SAR with onboard memory, cannot find a solution. But CPLD could do the
DMA into its own memory and handle 50 MSPS.

What ADC resolution you looking for ?


Regards, Dana.
 
I looked for a SAR with onboard memory, cannot find a solution. But CPLD could do the
DMA into its own memory and handle 50 MSPS.
I do not believe any pure ADC approach is practical.

50 MSamples/sec from each of four ADCs, so 300 Megabytes per second (with 8 bit samples) to analyse just to find when a trigger event starts, before the data needs to be stored for later frequency analysis.

Then to look for a "very low frequency" it needs a good few milliseconds worth of data, at 200K (or 50K if you only use one sensor) samples per millisecond.

Looking for the pulse edges then purely sampling an audio frequency signal for analysis is orders of magnitude simpler, in both hardware and software - and probably more accurate, with hardware based timing.
 
Thanks for your comments guys.

So i think i may have been over thinking this somewhat.

rjenkinsgb's suggestion sounds realistic and does decrease the complexity greatly.

So im thinking each of the 4 sensors will "trigger" when they break a threshold voltage, this will eliminate any random noises. Following each trigger i will take a set of ADC samples to see what the noise "looks" like.

The ADC sampling may not be required if the maths tell me that the round landed outside the target area anyway, but i may as well design it in so that i have it.
 
Hi Kisen,

Sorry if my questions sound ridiculous.

The target is the plate itself?

What would be the distance between sensors?

What if you have kinda "pre-sensor", some metres before? Couldn't that simplify your calculation?

Hope your shooters are instructed to avoid hitting the sensors.
 
Not ridiculous at all.

The target is a 6mm steel plate.
The distance between sensors is 200mm.
A pre sensor is not something i wanted to consider as i wanted the target to just be a set up an shoot type system. Any pre sensor is more likely to get hit.
The sensors are all on the back of the plate so no chance of being hit.
 
Thanks for taking the time to reply.
A would like to hear of the outcome of this.
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…