Please help to select multi channel ADC for Project with Nano.

Hello, all.

I have a project where I need to capture 4 analogue signals
using Arduino Nano (size factor is important).

I cant use analogue pins at Nano as these have too low resolution for me.

The resolution of ADC I do look for must be 24 bits.
I do look for SPS around 400.
There is another controller which will read all ADC values from Nano over its FTDI chip and it only reads using 115200 baud rate over its USB.
The Nano is not buffer the ADC data but will send these straight out.
The serial packet size is 29 bytes (1+6+1+6+1+6+1+6+1).

The fundamental point is that that 4 channel ADC must use simultaneous sampling, so the
phase for all 4 signals will be same with zero time shift if possible.
Seems the ADC will have SPI interface as I understand now days.

Does anybody has experience with simultaneous multichannel ADC he/she may recommend me?

I used HX-711 before with external 16MHZ clock, these work but have some strange sync issue,
when these all start they a bit shift and keep that shift forever until power is reset.

I will answer any question, really need advice for right ADC I asked.
Ideal would be if also there is a library existing for Atmel328P for that ADC chip as well.

Thank you for reading so far and lets discuss the options!

Alex

What sort of signal are you measuring? Why do you need 24 bits? Why 400 samples per second? What is the frequency content of the signal? Simultaneous sampling adds another layer of complexity. You may not be able to do that with a single ADC chip.

Have you looked at available parts in a parametric search from someplace like Digikey or Mouser?

The reason groundFungus asked about the need for 24 bits and 400 samples per second is because you are specifying a Ferrari of ADC's

In today's state of electronics, 24bit conversions are only accomplished by using a Sigma-Delta converter. By their vary nature, they integrate over a period of time. Look at Digikey (as suggested) and start looking at the ADC that claim 24 bits and 470 SPS, you will find the devices can perform at 24 bits OR at 470 SPS, not both. It simply takes more time to get a meaningful 24 bits.

Other considerations:

  • Lets assume you have a 24 bit 400 SPS converter. Typically the integration takes about 75% of the sample time so: 0.75 * (1/400) = approx 2 ms. This means if the input is changing the ADC will average a 2 ms section of the input.
  • If you input is 10 volts, 1 bit would be 10/2^10 = approx 1/2 µV. So your board will have to have near state of the art design, isolation and filtering to keep the input from picking up 1/2 µV of noise from the digital I/O.

You will find the "specification" for electronic parts have many restrictions associated with them. And in the real world you are unlikely to achieve the states specifications. So why is this? Because they are tested under "ideal" conditions and form a guide for those who have learned the pitfalls of real circuits.

You will find the actual application of these parts is painstakingly detailed.

This is in the category of "if you have to ask, you don't have the skills".

It's pretty tough to get a signal stable enough to get a solid reading (+/- 1 point full scale) on a 16-bit ADC, as just about any noise around you will be picked up. With proper circuit design you get quite easily to 12-14 significant bits out of your signal, after that it's not easy any more.

Now 24-bits is a whole different problem - that's a 60 ppb kind of resolution, a scale of 16.7 million to one. That's 0.06 uV/V resolution. Without highly specialised equipment and high end circuits to keep any noise out you're not going to have any use of the upper 10 or so bits. That's the kind of resolution that will pick up the noise from the electric fields of your muscle movements. Though that in turn is likely drowned out by the 50 Hz mains hum.

groundFungus:
What sort of signal are you measuring? Why do you need 24 bits? Why 400 samples per second? What is the frequency content of the signal? Simultaneous sampling adds another layer of complexity. You may not be able to do that with a single ADC chip.

Have you looked at available parts in a parametric search from someplace like Digikey or Mouser?

Many thanx for reading and reply and your help. I will try to answer questions, perhaps this may raise more question but I'm ready :). I'm more software guy than hardware, so forgive me my lack of hardware experience. Also English is not my native language at all, and finally I'm not doing this every day but I learned the theory in university about 30 years ago.

The signals are analogue low frequency (not quicker than 2 Hz). Lets call signal, first is typical loadcell, currently with 2mV to 10mV range, but more likely will be from 2mV to 20 mV, if we go from 5V power to 10V.
We use 5V now as HX-711 has. The other 3 signals are X,Y,Z of the accelerometer, which we had to
change to differential outputs to use with the same ADC types.

I don't really need 24 bits, but I need about 30,000 divisions, what I thought will be 300,000 quants, what is far off 16 bit. Could be 20 bit. Thanx for hint I see such item at Digikey now and looks they sell items in my country.

400 SPS it is because there is another much bigger controller, reading all this, which but some reason may only read about 400 SPS from its USB at the moment. I might need to revise its reading routines. All is based at 115200 baud rate at the moment.

The signal is sort of vibration with low period as I wrote, about 2 Hz.

I found simultaneous sampling option already with item AD7768-4 !

here - https://www.digikey.lv/product-detail/en/analog-devices-inc/AD7768-4BSTZ/AD7768-4BSTZ-ND/6072260

The issue I foresee already is that it will be very difficult for us to solder it in a home conditions.

More likely all of the differential 4 channels ADC will рфму too small distance between legs, I realize.

So, I might need to look for a sort of a module where chip is soldered. Like HX-711 came set already with a little board in.

I hope I covered most of your questions.
If anybody knows where I may get module with simultaneous ADC (I a bit doubt), please don't hold to tell.

The inexpensive ADS1115 is a pretty decent 16-bit ADC. A fraction of the cost of that chip you were looking at, and it comes on convenient breadboard.

Again if you don't do a lot of shielding, use proper PCB, etc - no chance that the last bits are relevant. Your "must have 30k divisions" requirement is quite unrealistic, and if you really need that level of accuracy you shouldn't even consider cobbling together a contraption yourself. You need high end lab grade equipment for that, and that doesn't come cheap.

JohnRob:
The reason groundFungus asked about the need for 24 bits and 400 samples per second is because you are specifying a Ferrari of ADC's

In today's state of electronics, 24bit conversions are only accomplished by using a Sigma-Delta converter. By their vary nature, they integrate over a period of time. Look at Digikey (as suggested) and start looking at the ADC that claim 24 bits and 470 SPS, you will find the devices can perform at 24 bits OR at 470 SPS, not both. It simply takes more time to get a meaningful 24 bits.

Other considerations:

  • Lets assume you have a 24 bit 400 SPS converter. Typically the integration takes about 75% of the sample time so: 0.75 * (1/400) = approx 2 ms. This means if the input is changing the ADC will average a 2 ms section of the input.
  • If you input is 10 volts, 1 bit would be 10/2^10 = approx 1/2 µV. So your board will have to have near state of the art design, isolation and filtering to keep the input from picking up 1/2 µV of noise from the digital I/O.

You will find the "specification" for electronic parts have many restrictions associated with them. And in the real world you are unlikely to achieve the states specifications. So why is this? Because they are tested under "ideal" conditions and form a guide for those who have learned the pitfalls of real circuits.

You will find the actual application of these parts is painstakingly detailed.

Hi, thank you for your reply. Hehe, state of the art!
I wrote before that I'm more software guy than hardware but I see what you mean.

I see at Digikey some ADC have 24 bit amplitude and 128kSPS resolution.

I don't need it so quick. I not seen its spec yet, but correct me if I'm wrong I think it always
possible to slow down the reading resolution up to 1 SPS at most of ADC, is it?

yes, if I cant get 30,000 far enough I will work with lower say 10,000 far enough.
It all a sort of the exploration and experiment to see if it is poss to do or not.

Actually, just looked my records, with HX-711 ADC I had 30,000 divisions (30kg by 1gr)
and each 1gr been divided by 150 quants. So that was 10mV/30,000. It wasn't a goal
as I may always a round up to what to display. Just internally its good to have a 1gr.

Alex

wvmarle:
The inexpensive ADS1115 is a pretty decent 16-bit ADC. A fraction of the cost of that chip you were looking at, and it comes on convenient breadboard.

Again if you don't do a lot of shielding, use proper PCB, etc - no chance that the last bits are relevant. Your "must have 30k divisions" requirement is quite unrealistic, and if you really need that level of accuracy you shouldn't even consider cobbling together a contraption yourself. You need high end lab grade equipment for that, and that doesn't come cheap.

The ADS115 seems has not simultaneous sampling but it is crucial for me for all signals to have the same phase.

At 400 sps your 2 Hz signals will be nicely in phase, even if the sampling is not at the exact same moment.

You may want to research sampling theory. If you have a 2KHz signal the Nyquist frequency is 4KHz. Sampling at 400Hz is going to give you some very aliased data. In my mind, bad data is worse than no data.

groundFungus:
You may want to research sampling theory. If you have a 2KHz signal the Nyquist frequency is 4KHz. Sampling at 400Hz is going to give you some very aliased data. In my mind, bad data is worse than no data.

You're totally correct, but OP is not working with a 2 kHz signal, but an even lower frequency:

AlexElov:
The signal is sort of vibration with low period as I wrote, about 2 Hz.

Sorry, yeah, where in the heck did I get 2KHz? I don't know if I need more coffee or less.

I think less. You obviously need to slow down big time. About 1,000 times, I'd wager.

I think less. You obviously need to slow down big time. About 1,000 times, I'd wager.

:o

I think for even a 20 bit converter you will need a Sigma-Delta converter. This sounds a little extreme but you might consider multiple devices where you can trigger them all at the same time.