0

Need 10-channel DAQ with 200 S/s
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

Need 10-channel DAQ with 200 S/s

by sotoudeh on Thu Dec 20, 2018 4:21 pm

Hello, We are looking for a 10-channel data acquisition solution that can sample all channels at 200 samples per second, or higher, simultaneously. Will 3 of ADS boards that have 4 channels per board installed on a pHAT expander attached to a Raspberry Pi micro controller work. We prefer ethernet interface to the Pi board for data readout in real time.

sotoudeh
 
Posts: 2
Joined: Thu Dec 20, 2018 3:58 pm

Re: Need 10-channel DAQ with 200 S/s

by adafruit_support_mike on Fri Dec 21, 2018 1:52 am

You won't be able to get that kind of throughput from a RasPi using stacked Hats.

Linux is a time-slicing operating system. It gives each process about 10ms of CPU time, then suspends it and gives the next process a turn. The suspended process has no idea when the breaks in its execution occur, and the gap between swapping out and swapping back in is hard to predict. That makes the RasPi suitable for time resolution down to a few tens of milliseconds, but unable to go any farther.

With those limits, it's impossible for a RasPi to query even one Hat 200 times per second. And since each Hat would require separate queries, you'd lose sampling rate per board, and would also lose simultaneity.

To get reasonably simultaneous 10-channel analog input, you'll need a 10-channel analog front-end chip, which we don't carry, or ten devices with ADCs operating in parallel from a common sync signal.

You could build such a thing from a collection of small microcontroller breakouts like the Trinket M0:

https://www.adafruit.com/product/3500

Ideally you'd use one master device that generates the sync pulses and a group of input devices all taking their timing from the same pulse. The master can then poll the input devices for their readings, and format the results in a way that can go back to the RasPi though the USB Serial interface.

adafruit_support_mike
 
Posts: 57056
Joined: Thu Feb 11, 2010 2:51 pm

Re: Need 10-channel DAQ with 200 S/s

by sotoudeh on Fri Dec 21, 2018 2:21 am

Thank you Mike for your detailed explanation. If we reduce the number of channels from 10 to 8, which means all 8 channels can be on a single ADC chip, is the 200 S/s per channel possible?

sotoudeh
 
Posts: 2
Joined: Thu Dec 20, 2018 3:58 pm

Re: Need 10-channel DAQ with 200 S/s

by adafruit_support_mike on Sat Dec 22, 2018 2:08 am

You'd still need an analog front end or multiple devices operating in parallel.

Chips like the MCP3008 or ADS1x15 have a single ADC and a multiplexer that connects various IO pins to it. You can't take readings on channels 1 through 8 simultaneously, you have to do them sequentially. If you connect the same input to all the input pins, you'll seek phase shift from one channel to the next, representing the different times the signal was read.

To get N channels of simultaneous input, you need N ADCs that operate in parallel. Analog front ends have multiple ADCs, but as I said, we don't carry any of those.

adafruit_support_mike
 
Posts: 57056
Joined: Thu Feb 11, 2010 2:51 pm

Please be positive and constructive with your questions and comments.