Go Down

Topic: Why are the analogue and digital grounds not seperated on Arduino boards? (Read 1 time) previous topic - next topic

solocan

I'm wondering why the analogue ground of the ADC and digital ground are connected internally on the boards like Nano, Uno, Due etc.

I'd like to use a Nano as a controller for audio circuits and need an absolute isolation of analogue and digital grounds. Why doesn't Arduino allow to build individual grounding concepts?

Arduino Nano:



Arduino 2560:



Best regards

Can

Paul__B

I'm wondering why the analogue ground of the ADC and digital ground are connected internally on the boards like Nano, Uno, Due etc.

I'd like to use a Nano as a controller for audio circuits and need an absolute isolation of analogue and digital grounds. Why doesn't Arduino allow to build individual grounding concepts?
Because it simply isn't necessary.

Perhaps more importantly, because it is intended to be foolproof.  To separate the grounds you would have to provide an extra terminal on the board, and a cuttable link on the board for the rare case when someone actually needed a separate analog ground.  The digital and analog grounds must be connected to ensure no significant current passes from one to the other so to be foolproof, it is necessary that special action be taken to separate them.

In general, for a 12 bit ADC, it is sufficient that the link between the two be the Arduino PCB itself because all analog inputs must be "star" grounded to this point however you wire them.

MorganS

Because it is easier.

Remember the Uno is supposed to be easy for kids to make traffic-light simulators and fish feeders. It is not intended for accurate analog mrasurements.

If you really care about analog then get an external ADC chip.
"The problem is in the code you didn't post."

Smajdalf

Maybe I am missing something but from my Datasheet it seems ATMega328(p) has nothing like analog GND (all GND pins are possibly connected internally?) - I guess there is little gain in making an external "analog GND".

Grumpy_Mike

Quote
from my Datasheet it seems ATMega328(p) has nothing like analog GND
If you look it has two ground pins. One is next to Vcc and the other is next to Aref and the next pin is AVcc. Therefore you would naturally decouple the Vcc to one ground and the AVcc to the other, making one a digital ground and the other an analogue one.

There used to be arguments here along the lines of "do I have to connect both grounds and both Vcc pins together because they are connected together internally". Of course the answer is don't be a silly c**t and do what it tells you to do in the data sheet.
Quote
AVCC is the supply voltage pin for the A/D Converter, PC3:0, and ADC7:6. It should be externally connected to VCC, even if the ADC is not used. If the ADC is used, it should be connected to VCC through a low-pass filter. Note that PC6..4 use digital supply voltage, VCC.
Which on the Arduino there is no low pass filter between the two positive supplies.

Grumpy_Mike

I'd like to use a Nano as a controller for audio circuits and need an absolute isolation of analogue and digital grounds.
No you don't, and if you did it would not work. There needs to be a common ground for the A/D to work.

In a mixed signal environment like this and only having a 10 bit A/D then there is nothing to be gained from further isolation of the grounds than you have on the board.

Smajdalf

If you look it has two ground pins. One is next to Vcc and the other is next to Aref and the next pin is AVcc. Therefore you would naturally decouple the Vcc to one ground and the AVcc to the other, making one a digital ground and the other an analogue one.
Vcc and AVcc is NOT connected internaly there is one diode drop between them if you try to measure continuity with a DMM. OTOH the GND pins ARE connected internally (resistance between pins < 1 Ohm) - I just checked it. Is there any gain in trying to split GND to analog and digital? In fact if you succeed in this it would mean there will possibly be different potentials between the two grounds - causing currents inside ATMega and making things worse.

DrAzzy

You have a 10 bit ADC, doing something like 15k SPS (can get more, but then the accuracy suffers), an 16mhz processor and no DAC. Is your use case something that that could do, if only the analog supply was separated?

And, as noted above, there is no analog ground on the '328p - some do the same thing for ground as the analog supply, but the '328p doesn't.
ATTinyCore and megaTinyCore for all ATtiny, DxCore for DA/DB-series! github.com/SpenceKonde
http://drazzy.com/package_drazzy.com_index.json
ATtiny breakouts, mosfets, awesome prototyping board in my store http://tindie.com/stores/DrAzzy

Go Up