8 Channel ADC Sampling - Sonar Imaging

Status
Not open for further replies.

hexdro

New member
Good afternoon all

I am currently embarking on a project which involves sonar imaging.

So far using the Teensy 3.6 I have successfully managed to produce a chirp pulse at 4 kHz using the DAC , and then simultaneously sample two channels at 500 MHz using the two ADCs and DMA.
With this I am able to perform angle compensation, but would like to take this a step further.

I would like to implement fan beaming for a functional 2D imaging system by implementing an array of 8 receiving transducers .

The issue is I am still new to using the Teensy and am unsure of how to go about sampling 8 channels.
I do not need the samples to be taken simultaneously (as I am aware there are only 2 ADCs) but would need the teensy to be able to sample each pin at a rate higher than 80 kHz.

Any guidance would be greatly appreciated
 
Warning I am not an expert in Analog stuff, so hopefully others might be able give you more complete answers.

First thing I would suggest is to look into the ADC library: More details up at: https://forum.pjrc.com/threads/25532-ADC-library-update-now-with-support-for-Teensy-3-1


But when I was playing around with some well monitoring stuff, (which always ends never being completed as I lose interest when the wells are working properly ;) )

In this project I setup with some simple current sensors around 4 circuits in my well house (This was for 2 Well pumps, a pressure pump, and heater).

In this project I did some DMA analog sensing on all 4 of these inputs, in a round robin way. Each ADC had 2 analog pins setup. I used the ADC library. Warning it has been awhile, but the code is up in my Well monitor project (https://github.com/KurtE/WellMonitor/) in the CurrentSensor files.

In this I did a DMA for two sensors at a time, at one point I was going to have the completion interrupt startup the DMA for the next two sensors, but later decided I wanted to do it on a timed bases, so I start up the next two sensors on an IntervalTimer...

Again not sure if this was the best way, but it is what I did. Also not sure if this type of round robin would work for you or not. Or if you need to change which ADC pin you look at, much faster than I did...

Again I think looking at the ADC library would be the first thing I would do.

Kurt
 
Status
Not open for further replies.
Back
Top