ADC Error Budget and Error Calculations - Page 1
Forum section: electronics / projects

author: HackedFridgeMagnet
author_rank: Super Contributor
timestamp: February 03, 2014, 04:20:26 am
content: HiI want to do some error calculations for my Electrical Power monitor.It is based on pretty much the reference design for the MCP3901.The input would be a two resistor voltage divider on channel 1 to bring the 230vrms down to 500mV max. call these Resistors RdivA and RdivB where RdivB is 1k and RDivA is about 800K.Also a CT and a burden resistor to monitor current on CH0 with a maximum differential voltage of 500mV as well.I would like to be able to make some sort of Error statement about this device ie. It's maximum error is this, or it's typical error is this, but it seems there are so many factors that it is hard to know which to discount.Assuming 0.5% tolerance resistors.From the Data sheetVref internal is 2.37v +/- 2% maximumGain error is +/- 2.5% maximum over all gains or +/-0.4% typical if the gain is one.Offset error +/- 3mv (0%, hopefully because it is AC I can take this out in software)Phase error caused by 1.5degree phase shift of CT. (0%, should be able to phase correct.)Quantisation error @ 16bit Sigma Delta etc etc. At 1% of full voltage it should be about one in 655 or 0.0015% so hopefully small enough to ignore.Without calibration my rough maximum error estimation is:Code:Voltage Error = Error(RdivA) + Error(RdivB) + Error(Vref) + Error(Gain) + others?= 0.5 + 0.5 + 2 + 2.5 = 5.5%Current Error = Error(CT) + Error(RdivB) + Error(Vref) + Error(Gain) + others?= 1 + 0.5 + 2 + 2.5 = 6%So I guess for Power I have a total uncalibrated maximum error of 11.5%.Yikes.Though I could improve this with a better external voltage reference.Is there any other ways to reduce the gain error apart from calibration? What if I set gain to 1. Can I use the typical value? (probably not).Now when I calibrate, I tweak the current and the voltage as close as possible to my 5 digit multimeter.What would be a reasonable way to calibrate it, assuming it is close enough to linear I guess two points on each channel is enough?What can I say about my calibrated maximum error here? How could I calculate it?http://ww1.microchip.com/downloads/en/DeviceDoc/51845a.pdfreference designhttp://ww1.microchip.com/downloads/en/DeviceDoc/22192c.pdfdatasheet.

author: kxenos
author_rank: Frequent Contributor
timestamp: February 03, 2014, 05:15:10 am
content: The reference and the resistor difference from the nominal values is not the problem because it can be calibrated away. The real problem is the drift. You are going to need low tempco resistors. 1/801 is not a very convenient ratio. 230Vrms is 650Vpp and if you want +-30% maybe a 1/1000 ratio would be more reasonable. In this way you also avoid the limits of the scale where the linearity error is bigger. Also, for current, if the range ist z.b. 100A that means you will need 5mR resistor and that means 25W heat dissipated in it. There goes your tempco. You will have to use current transformer. Dave has a teardown of a power meter in a video. You could watch it to get some ideas. Good luck!

author: HackedFridgeMagnet
author_rank: Super Contributor
timestamp: February 03, 2014, 05:40:50 am
content: Thank kxenosBut cant I just put a few resistors in series to get the 800 ohms, get the required voltage and still have the same tolerance?Yes I have seen Dave's power meter teardown, it did give me ideas.Yes a Current Transformer for the current.I guess there is no way to get any sort of reasonable accuracy without calibration then.and Yes Low temp co resistors, but this leads me to wonder, how will the calibration and the temperature coefficients effect my calibrated maximum error. I guess I just calculate it out to the +/- temperature spec and add it.

author: Rerouter
author_rank: Super Contributor
timestamp: February 03, 2014, 06:26:43 am
content: If you buy resistors from the same manufacturer and series you can rely on the temp-co mismatch to be very small, which means resistive dividers and resistive gain networks are practically unaffected over there temperature spanstart treating it at % change of the value of each component rather than change in ohms and you can see what will and will not be effected, e.g. raise every resistor value by 1% and calculate how much your readings will change,sadly that example circuit has capacitors in it, which means to cancel out will need to have a similar temp-co to the resistors (luckily ceramics tend to have a positive temp-co)

author: HackedFridgeMagnet
author_rank: Super Contributor
timestamp: February 03, 2014, 12:47:07 pm
content: QuoteThat's a handy hint for increasing accuracy.I guess once the device is calibrated then I could measure the maximum deviation from my readings to the calibrated meter, through the whole range of measurement.Then I could say that the maximum Error would be:E(total) = E(meter) + E(temp) + E(max Measured Deviation from Meter.)Is this right?

author: Rerouter
author_rank: Super Contributor
timestamp: February 03, 2014, 07:29:06 pm
content: accuracy is a squared root sum, so its (meter influence^2 + component tolerance influence^2 + component temperature influence^2)^(1/2)As the components can have a deviation in a gain network the change can be more or less than what the tolerance and temp-co is doing you may wish to look at daves LTspice video and model your circuit over temp and tolerance to see what kind of deviation you can expect,