ADC 24bits/High speed board/shield advice

Hello,

I would like to use a 24bits ADC to sample signals of frequencies around 1kHz.

I am not sure which ADCs to choose and if I should go with a board or just a plain chip ? I need:

24bits of precision at least 2.5kHz of output/sample rate SPI interface Don't need multiple analog in Arduino powered (3.3V or 5V)

I found a lot of chips that correspond to these parameters and only two boards:

http://www.aliexpress.com/store/product/ADS1256-Module-24-Bit-ADC-AD-Module-Analog-To-Digital-Conversion-High-precision-ADC-Data-Acquisition/1192233_2046676328.html

http://store.digilentinc.com/pmodad5-4-channel-4-8-khz-24-bit-a-d-converter/

My questions would be: Would you go with a board like these or a plain ADC chips (and why) ? Are there any other criteria that I should be checking ?

Thanks!

Are there any other criteria that I should be checking ?

You didn't tell what is the application. Will audio ADC be an alternative, they have higher sampling rate, but usually lower resolution, even it's declared as 24-bits

Hi,

I will be doing data acquisition, data will later be analysed. The signal will be a voltage variation at frequencies around 1kHz. 24bits is the precision I would like so Arduino's 10bits is out. The signal will range in milliVolts, but I can work with a preamp.

edit: I read "Arduino ADC" instead of "audio ADC" my apologies. I did not though of this! They are a lot more available products! I will try to see if some are real 24bits (resolution is the most important parameter here).

Thanks!

Having a chip capable of 24 bits operation and actually achieveing that are two different matters. It is hard to actually get that sort of resolution because of noise.

What about the signal do you want to analyse? You might want more than two samples per cycle.

It seems there are a lot of 16bits setup so I could just "copy" those. What I really want is to achieve 24bits (or very close) with high frequencies. I am not sure how to deal with noise indeed. Do you have an ADC in mind that would be better for this ? Do you know what I should be looking for ?

The signal frequency will range from 100Hz to 1kHz. Its amplitude will be in mV. Bipolar or unipolar depending on the experiment. I would say that 2.5kHz sampling is a indeed minimum, higher values would be much better.

Important is the noise introduced before the ADC input. This includes the sensor, cables and amplifiers, and the power supply. A good circuit design and much care is required to keep the noise beyond the 24 digit resolution. Nothing for a breadboard, of course.

I think a commercial high speed DMM would be a better bet.

The 8 1/2 digit keysight 3458A will do 4 1/2 digits at 100K samples per second. And for $10K it is a pretty good deal. This is one of those designs that started as HP and continued through Agilent and now Keysight.

KeithRB: I think a commercial high speed DMM would be a better bet.

The 8 1/2 digit keysight 3458A will do 4 1/2 digits at 100K samples per second. And for $10K it is a pretty good deal. This is one of those designs that started as HP and continued through Agilent and now Keysight.

Well, yes these are nice. They also cost 10'000$. I don't need the frequencies to range from 1Hz to 1MHz. More like 1Hz to 1000Hz.

DrDiettrich: Important is the noise introduced before the ADC input. This includes the sensor, cables and amplifiers, and the power supply. A good circuit design and much care is required to keep the noise beyond the 24 digit resolution. Nothing for a breadboard, of course.

Everything before the ADC will be crystal clear. And the experiment is huge so in no way will I be able to change anything. I am only concerned about the ADC part.

I will order both of the mentioned board to start with. The specs are 24bits at speed higher than 4kHz so this should work (hopefully).

How much is your time worth?

KeithRB: How much is your time worth?

I should have been more clear about my project sorry about this. To give you context: I am a physics student and as a project I have been asked to do a 24bits ADC that will sample a 1kHz signal. Knowing very little about electronics, even less about microcontrolers I have been learning the ins and outs of Arduino, SPI data transfert for the past few weeks. I have been doing this with the 10bits Arduino ADC, which is nice but not yet enough. Now comes to moment where I need to choose an ADC chip or board.

The whole point of this is for me to learn about electronics, cheap microcontrolers, signal processing, data transfert etc. I can't just go see the postdoc saying "how about buying this 10'000$ piece that you already have ?" ;) I know I'm not going to send this ADC to space, it's a step-by-step learning project;).

Oh, you are a grad student. Your time is worth nothing. 8^)

KeithRB: Oh, you are a grad student. Your time is worth nothing. 8^)

My post was a much better to put it ;) !

Why do you think that the 24 bit chips are so cheap and yet 24 bit A/D cards are so expensive?
It is the design that takes the time and the skill and that is what you are paying for.

Make sure to put in a guard terminal.

Grumpy_Mike: Why do you think that the 24 bit chips are so cheap and yet 24 bit A/D cards are so expensive? It is the design that takes the time and the skill and that is what you are paying for.

I'm guessing it's the interface, multiple analog input, buffer, fft, triggers, voltage/current mode etc. I don't need any of these nice features, I don't need MHz speed either, and as mentionned by KeithRB I also don't need to get paid. All I need is to sample a 24bits 1kHz signal. If I can't quite reach 24bits so be it, but at least I could try. Or would you say it is irealistic ?

KeithRB: Make sure to put in a guard terminal.

I will definitely look into this thx!

If you get say any 24 bit ADC you'll not see a full reading but the link you posted http://www.aliexpress.com/store/product/ADS1256-Module-24-Bit-ADC-AD-Module-Analog-To-Digital-Conversion-High-precision-ADC-Data-Acquisition/1192233_2046676328.html Would be a good starting point to see what you can get. I don't see the 8 bit arduino having the speed to keep up with samples you need. You really want a 32 bit uC like the Due or Zero

Or would you say it is irealistic ?

I would not say that because I can speak English. However I would say a home built 24 Bit A/D that delvers that resolution and not 4 to 8 bits of noise is unrealistic.

Grumpy_Mike: I would not say that because I can speak English. However I would say a home built 24 Bit A/D that delvers that resolution and not 4 to 8 bits of noise is unrealistic.

I am not a native English speaker, and much like ~4/5 billions people I am trying as hard as I can, forgive me. As for the noise, this is an interesting input and I will see how low I can go. I was searching for the best ADC to start with.

be80be: If you get say any 24 bit ADC you'll not see a full reading but the link you posted http://www.aliexpress.com/store/product/ADS1256-Module-24-Bit-ADC-AD-Module-Analog-To-Digital-Conversion-High-precision-ADC-Data-Acquisition/1192233_2046676328.html Would be a good starting point to see what you can get. I don't see the 8 bit arduino having the speed to keep up with samples you need. You really want a 32 bit uC like the Due or Zero

Thank you for your input, I am waiting for delivery now;).

I am not sure to understand what you mean. If I understand correctly: A 24bits ADC would output 24bits*sampleRate per second. At a sample rate of 3kHz this would bring us to 72k bits/sec. Are you saying the Arduino Uno cannot keep up with this speed (I intend to use a SRAM chip to gather the ADC readings) ? Am I missing something ?

Thanks!

Try it and see how good you can get with it thats a good chip on the board you posted but I think you'll see that the arduino is a little slow to use it. First thing is your receiving 24 bit's means 3 reads so you shift in 8 move those 3 times. Then you got do something useful with the data that means handing 24 bit's 3 more shifts But lets say you shift in a bunch of reading's so you can compare them to pick the best reading. This all takes time and is a lot slower on a 8 bit chip. I would use a 32 bit chip.

If a 8 bit chip was made to take 24 bit readings there be a chip with 24 bit adc on it. I can't say I'm right and you want to do something that can't be done cause I don't know I never tried it. But from reading the datasheet of the ADS1256 and the atmel 328 It doesn't look to be what you'd need The spi clock is to slow for the ADS1256 but like I said I can't say for sure I'm right cause I don't have one to see. I do no that trying to read a 16 bit ADC the on board ADC of the uno was better without doing as much work. The 16 bit ADC picked up noise. But with work it worked.

This is interesting I did not consider this.

I might want to put the ADC readings in a SRAM chip then.