Using Arduino > Storage

Logging 100 ksps with the Arduino internal ADC

<< < (2/4) > >>

pito:
fyi - there is stm32f3 CM4 coming next month - with up to 9MSPS ADC (12bit 5MSPS, 50KSPS 16bit S-D ADC).. but none SDIO :(

fat16lib:
Yes you can buy faster hardware.  Compared to the area of science I came from your new chip is molasses.

If it isn't a flash ADC in the GHz range it's slow.  Big experiments also handle incredible amounts of data.

The Atlas experiment at CERN discovered the Higgs Boson.  Atlas digitizes 40,000,000 events per second and each event has 1.6 MB of raw data.  That's 64,000,000,000,000 bytes per second. 

This data is processed by fast hardware in real time and most is discarded.  Atlas only records 320 MB/sec, one event in 200,000.

The first level processing has 72 racks like this:



I record 100 KB/sec in my sketch, a factor of 3,200 less.

All of this little use to the average hobbyist.  I find few takers for my fast AVR logging programs.

The typical email I get asking about fast logging is for something like an accelerometer with three channels at 1000 samples per second.  Most hobbyists don't realize that digitizing all channels of an event at the same time and at precise time intervals is key to good data.

Here many of the STM32 chips have something to offer.  Some of the STM32 chips have three ADCs that can be trigger at the same time.

The single ADC in AVR chips make it impossible to digitize multiple channels properly.  You can use several self-clocking external ADCs to do much better.

I like playing with the AVR because it is a challenge to do good measurements.  I did a lot of work on this sketch to reduce jitter and signal to noise.

I start the ADC on a timer compare event, not an interrupt.  I make sure the timer triggers at a multiple of the ADC clock period.  This reduces time jitter.  I use DIDR to disconnect the pin's digital input.  An analog input floats all over the place, and causing the digital input to constantly toggle high and low. This creates excessive noise near the ADC.

pito:
..in early '93 I spent some time at DESY, walking through the underground pipe, touching all the detectors.. The beam was off, of course :) I would be happy to see LHC as well.. Even Desy and Hera were monumental gadgets, so I cannot imagine the size of the LHC detectors.. That is one thing I would be curious about - the detectors and the input ADCs etc. I guess the events are something like nanosecs events (pulses) coming from semiconductor detectors (at least desy had it) you have to catch and S/H for further ADC..
I built a homemade detector with PIN diodes and a preamplifier, so I get needle shaped pulses 5-200mV++, ~10-50usecs long, random of course (5 to hundert a minute based on irradiation). Since then I am thinking about how to make a spectral analyser (a histogram with energy bins) with an MCU. I have to detect the pulse (ie. comparator), then catch the amplitude, then ADC it.. I've been thinking on direct sampling the signal at ie 1MSPS and to do the analysis of the data on the fly so I must not mess with analog stuff.. Would be interesting to see the spectra of various sources then :)

Graynomad:

--- Quote ---64,000,000,000,000 bytes per second.
--- End quote ---


--- Quote ---All of this little use to the average hobbyist.
--- End quote ---

No shit :)

I'm interested in your fast logging, but I'm working with LPCs at present and can't use the library.

______
Rob

ardnut:

--- Quote ---The Atlas experiment at CERN discovered the Higgs Boson.
--- End quote ---


No they didn't. May be you should read peer reviewed papers not tabloid newpapers. ;)

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version