External Adc Design Help

Thread Starter

dominicfhk

Joined Jul 8, 2012
9
Hey guys!

This is my first time designing circuit for ADC and I have built a board a while ago but unfortunately did not get good result, and I am pretty sure I made some major design error here and there so I just put my idea aside. Now that I got more free time on my hands, I wish to pick up the project again and design a new board, and I am wondering if you guys could offer any recommendation.

So I got 9 analog sensors (basically a photo-transistor plus a precision resistor) that output from 0-3v3 that I would love to enhance the sampling accuracy, and I have been thinking about using an external ADC to take higher quality samples. I got a couple of LTC1864 16-bit delta sigma dual channel ADC that runs on SPI which made it easy to interface with an Arduino. Since I got 9 sensors, I have also got an analog MUX. I would like to operate my sensors at the same exact voltage as my ADC reference at 3.300V, therefore I also got a LM4132 precision LDO voltage reference chip dropped down from a linear regulator at 5V from a switch regulator from a 12V battery regulated by a solar charged controller. Finally, the voltage reference won’t source enough current to drive all of my sensors, so I included an unity gain OpAmp to amplify the current. I digitized the signal right at the output of the MUX in attempt to minimize noise. As a backup, I also transmit the analog signal to my internal ADC through a coaxial cable just for comparing the result. The shield is grounded only at the sensor side to avoid ground loop. The signal from the photo-transistors is maybe 10Hz at most.
(The LM2611 is actually a LM4132. I just stole the package...)
sch.png
brd.png
IMG_6858.JPG
Tech sheets are given below:
http://cds.linear.com/docs/en/datasheet/18645fb.pdf
http://www.ti.com/lit/ds/symlink/cd74hc4067.pdf
http://www.ti.com/lit/ds/symlink/lm4132.pdf

Long story short, both 10bit and 16bit results are crappy, with huge amount of fluctuation. It got better after I removed the two OpAmp, but still both result are not acceptable. The trial was done a while ago and I think I have already thrown the data away. But just by looking at the design, what do you guys think might have went wrong? I would love to re design the board, so any comments will be extreamly helpful!

Thank you!!
 
Last edited:

Lestraveled

Joined May 19, 2014
1,946
Talk about your board.
- Is it a three layer board?
- What does the coax cable connect to?
- How good/clean is the power supply?
- Do you get noise when the inputs are shorted to ground?
 

Thread Starter

dominicfhk

Joined Jul 8, 2012
9
Thank you for your response.

(1) It is a 2 layer board, with ground plate on both side connected with via.
(2) The coax cable is meant for me to compare the digitized result from the external 16bit ADC against the internal 10bit ADC when fed with the same signal. The 16bit ADC is position closely to the MUX output to shorten signal travel such the the signal has less chance to be affected by radiating noise. But I cannot do it for the 10bit ADC because it is on my controller board, so I tried to at least shield the wire when transmitting the signal down to my controller board. I first buffer the signal to drive the coax cable, and the coax cable shield is only ground on the sensor side to prevent ground loop, although I am basically measuring Sunlight variation so the frequency content is very low and it most like won't make a different.
(3) I have an old oscilloscopes and I think it won't pick up anything lower then 12.8mV pk-pk, but my 3v3 line is somewhere within 12.8mV. I used a TI TL2575HV switch supply to step down the voltage from a 12V battery to 5V, and a LM2937-3.3 linear supply to drop further to 3v3. I just followed exactly like the reference design, with a few .1uF cap here and there right next to devices terminal.
http://www.ti.com/lit/ds/symlink/tl2575-05.pdf
http://www.ti.com/lit/ds/symlink/lm2937-2.5.pdf
(4) Both ADC always report 00000 when I short the MUX output to the ground which is perfect. When I pull the output to 3v3, my lowest sample is 64683 and the highest sample is 64732, which is 49 counts (3.3/65535*49=2.47mV) apart, and 852 counts (42.9mV) away from 65535.
 

Thread Starter

dominicfhk

Joined Jul 8, 2012
9
So do you guys know what are the design faults to my circuit? Is this how people usually design external ADC circuit? Thank you again!!
 

crutschow

Joined Mar 14, 2008
34,285
You may be getting noise from the switching regulator into your circuit as they tend to generate a lot of high frequency noise. Can you just use a linear regulator for everything? If you must use the switching regulator then it's ground should be separated from the rest of the circuit ground and the two grounds connected together at one point with a ferrite bead filter.
 

Thread Starter

dominicfhk

Joined Jul 8, 2012
9
Thanks for your inputs. I actually do have a linear regulator on my reception side of the board and have the option to shut down the switch supply completely using jumper selection such that it doesn't introduce power line noise nor radiating RF signal. But that doesn't really change anything in terms of noise level... I never heard of a bead filter and took a quick look on wiki. Is it a LC low pass filter?

Sorry for writing tons of word. To shorten my question, if you are to design a circuit for an external ADC sampling DC to 10Hz signal with an objective of being as accurate as possible, how would you go about designing it?
 

crutschow

Joined Mar 14, 2008
34,285
One thing is to keep the analog and digital grounds separate and connect them only at one point (typically at the ADC chip). Both grounds should be PCB planes (they can be two split planes).
Every chip needs a decoupling capacitor directly from the power pin to its appropriate ground.
The reference voltage must be low noise.
 
Top