Analog to digital: Sigma-delta or external hardware?

I've been tinkering with the Prop for awhile and finally have my first "real" project to dive into. This forum has been a great resource.
I have two analog signals to read: a load cell and string (distance) potentiometer. The conditioning circuitry for the load cell is already complete and working. My first thought was to use an external ADC for both signals, as I have done this in the past with other MCUs, but I've been reading about the ability to use cog counters as ADCs. Before I start experimenting with this, how would the two methods compare when it comes to resolution / accuracy / repeatability / linearity ?
Some other details: I need a minimum of 12-bit resolution. My choice for external hardware would probably be the Microchip MCP330x which is 13 bits. Cost is not a factor. Speed is also not a concern, as the sampled values are just being displayed on an LCD. I'm not using much I/O so pin count is not an issue.
Thanks in advance for pointing me in the right direction.
I have two analog signals to read: a load cell and string (distance) potentiometer. The conditioning circuitry for the load cell is already complete and working. My first thought was to use an external ADC for both signals, as I have done this in the past with other MCUs, but I've been reading about the ability to use cog counters as ADCs. Before I start experimenting with this, how would the two methods compare when it comes to resolution / accuracy / repeatability / linearity ?
Some other details: I need a minimum of 12-bit resolution. My choice for external hardware would probably be the Microchip MCP330x which is 13 bits. Cost is not a factor. Speed is also not a concern, as the sampled values are just being displayed on an LCD. I'm not using much I/O so pin count is not an issue.
Thanks in advance for pointing me in the right direction.
Comments
Welcome to the forum!
My advice would be to obtain a Propeller QuickStart board (cheap or even free, but currently out of stock), which has properly-positioned pads for the sigma-delta circuitry. Populate those pads, and try it out before deciding one way or the other. Another alternative is the Propeller Backpack (somewhat more expensive, but currently in stock), which has the sigma-delta components already in place. With the Propeller Backpack, you will probably also want to obtain a Proto-DB for your interface connector and circuitry.
-Phil
Not had any experience with this but from what I have read, I don't think you'll achieve 12-bit resolution using the Sigma-Delta ADC.spin object because (I believe) it is too slow. Whether there is a PASM object that does any better, I don't know.
Mickster
Since you mentioned speed isn't a concern, you could try sampling at say 20 bits and discarding the low byte. The upper 12 bits should be pretty stable. Of course at 20 bits you only get approximately 76 samples per second, or one sample every 13ms if I've done my math right.
IIRC using a breadboard for sigma delta didn't work that well for Chip, ..said something about the metal contact rows introducing additional capacitance @ high frequencies. HTH.
I for one would like to see the sigma delta block 'characterized' - for at least for a standard setup such as the Quickstart board with recommended components loaded into its sigma delta pads. How many effective bits at a few different sampling rates?
Oh and Altosack, welcome to the forums, and Kolyur too.
I think 12 or even more bits resolution is no problem if you have 4096 or more clock cycles of time. Linearity is excellent but there is a considerable offset and gain error and also noise. In my case, gain error is not critical because it is compensated by the velocity control loop. I do an auto offset adjust procedure by measuring the (known zero) current before I switch on the power stage.
If you need the sifgma delta ADC for precise measuring you have to calibrate it. You could switch the input to a known reference voltage with an analogue multiplexer for that purpose.
Another advantage is that the sigma delta ADC cancels out EMI noise if you choose the sampling frequency to be equal to the noise source (for example 60Hz or in my case 24kHz from the PWM stage).