| Author |
Message |
|
|
Posted: Apr 20, 2012 - 01:26 PM |
|


Joined: Nov 01, 2005
Posts: 6326
Location: Hilversum - the Netherlands
|
|
To find out what contributes to the wobbling LSB's, we need somne SW effort.
Setup a timer that interrupts every 20ms. On that interrupt, do one conversion and spit the result out to the PC's terminal program. Gather 1000 samples or so. Do the histogram thingie I described in my previous post.
If the standard deviation is much less than in your previous experiments, we are facing interference from the mains (50Hz hummmm). If the results are simular to what you found first, take the next step.
With the input configuration you use, the input range is -5V to +5V (page 4 of the datasheet)
16 bit over 10V range, that's appr. 153uV per bit.
The reference voltage is 2.5V, so 38uV deviation results in 1 bit deviation in result. Pretty sensitive that Reference, huh ?
Why these figures ? To show you in what area we're in: the microVolt domain.
Have a look at the way the DIP-package pinning is defined by the manufacturer: all analog stuff at the lower pins, all digital on the higher pins.
Have a look at page 16: see the histogram ? That is the best you can achieve.
I don't have an ADS7813 in stock, so I use something else to show how I would set this up to achieve maximum performance. So mine is just a mock-up
Short wires on components, close to the pins of the ADS7813. The only long wires are those that leave the board.
(Btw, in my setup I left out the 330R close to the Arduino: I didn't want to solder those to the breadboard wires. But you should put them in.)
I added an LC low pass filter to the measurement input and an inductor in the Vcc-powerline from the lab supply. Try it, and check the result of each step with the histogram.
Enjoy the ride !
Nard |
_________________ Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
|
| |
|
|
|
|
|
Posted: Apr 20, 2012 - 09:14 PM |
|

Joined: Apr 12, 2012
Posts: 7
|
|
Thanks for the advice and the pictures!
Next week i will try it. Sounds good, i hope it will work! |
|
|
| |
|
|
|
|
|
Posted: Apr 20, 2012 - 10:43 PM |
|

Joined: Oct 07, 2002
Posts: 2026
Location: Denmark
|
|
Here are some general things to try, but in general you cant get more than 12 bit without a special ground plan!
1: feed the 5V thru a LC filter.
2: make sure that the time the sample hold is open no IO's on the micro change level (best is sleep if it can be timed).
to test what you max can expect, feed the analog input with VCC/2 from two res placed close to the ADC, you will never get a better result that that ! |
|
|
| |
|
|
|
|
|
Posted: Apr 20, 2012 - 10:59 PM |
|


Joined: Nov 01, 2005
Posts: 6326
Location: Hilversum - the Netherlands
|
|
| sparrow2 wrote:
Quote:
to test what you max can expect, feed the analog input with VCC/2 from two res placed close to the ADC, you will never get a better result that that !
I don't agree. Vcc may vary several mV's. Better is to take Vref, feed that to an OpAmp (follower) and feed the output to AnalogIn. But hehe, OpAmps produce noise as well, so another RC or LC between OpAmp and AnalogIn.
Where does it end ???
It is a PDQ converter and I don't see a S&H in the datasheet. But keeping the Arduino quiet (I/O-wise) during conversion-time is a good idea ! |
_________________ Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
|
| |
|
|
|
|
|
Posted: Apr 21, 2012 - 12:11 AM |
|

Joined: Oct 07, 2002
Posts: 2026
Location: Denmark
|
|
| sorry if there is a vref use that and not vcc, I just didn't see it on the diagram. |
|
|
| |
|
|
|
|
|
Posted: Apr 21, 2012 - 12:15 AM |
|

Joined: Oct 07, 2002
Posts: 2026
Location: Denmark
|
|
from the data sheet for not conv pin :
Convert Input. A falling edge on this input puts the internal sample/hold into the hold state and starts a conversion regardless
of the state of CS
so there must be a SH ! |
|
|
| |
|
|
|
|
|
Posted: Apr 21, 2012 - 09:02 AM |
|

Joined: Apr 12, 2012
Posts: 7
|
|
| And is it important to change the CS HIGH to LOW with arduino or if i connect to ground does it also good enough? |
|
|
| |
|
|
|
|
|
Posted: Apr 21, 2012 - 11:10 PM |
|


Joined: Nov 01, 2005
Posts: 6326
Location: Hilversum - the Netherlands
|
|
|
4ckatro wrote:
And is it important to change the CS HIGH to LOW with arduino or if i connect to ground does it also good enough?
Two ways to check that: 1. datasheet and 2. try it
Nevertheless: a good question. My latest board design included a Nokia color display and since it was the only device on the SPI-bus, I assumed that tying /CS to ground was OK. But I found out later that the controller needed a high-to-low transition on /CS to work. Crap. The connection between Ground and /CS sits under the 10 pin (very small) smd connector.
Assumption is the mother of all f*&^% ups. How true.
sparrow2 wrote:
Quote:
so there must be a SH !
Agree. A bit odd it's not in the block diagram. |
_________________ Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
|
| |
|
|
|
|
|