Non Accurate ADC Measurments

Go To Last Post
50 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello everyone,

 

Please consider this measurement technique:

As you may know, the ATXMEGA (in my particular case the ATXMEGA16A4U) ADC can use several references.

For the image above, I am using AVCC/1.6 (generated internally) and later an external Vref (in my case 1.24V +-0.25%).

Using AVCC/1.6 as a reference, I'm measuring Vref and using Vref as a reference I'm measuring AVCC/10 (generated internally).

As you can see from the math above, in theory the multiplication of both values should be an exact value.

As you can guess, in the field it is not.

 

I would therefore like to know what tolerances I should apply to each of these measurements knowing that:

- I already compensated for their respective offsets by measuring an external ground using the ADC

- Vref is a very stable (checked with oscilloscope) tension reference

- I'm using a 250KHz ADC speed together with averaging on 8192 samples

- AVCC is extremely stable and not noisy (tps7a4901)

- I'm already accounting for the ADC INL (+-3LSB)

- Calibration values are loaded when initializing the ADC

 

My current guesses are:

- DIV10 accuracy(nowhere to be found in the datasheets)

- AVCC/1.6 accuracy (the same)

 

 

I should also add that using AVCC/2 as a reference lead me to even worst results.

Cheers!

Mathieu

 

My electronic projects blog >> www.limpkin.fr

Last Edited: Mon. Jul 27, 2015 - 02:04 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Update on the situation:

 

- From http://atmel.force.com/support/a... :

"Xmega ADC's Scaled Vcc (Vcc/10) accuracy depends on the accuracy and stability of the analog supply voltage (AVCC) and filtering should be used if the AVCC is connected to the digital VCC. Although it is not characterized over a range, under typical conditions the Vcc/10 error is < +/-1mV."

 

However, that still doesn't explain the measurement inaccuracy.

My electronic projects blog >> www.limpkin.fr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am sorry, I don't understand what you are trying to get.

 

Please have a look here. 

https://www.avrfreaks.net/forum/x...

Plot shows real measurements together with theoretical curve.

 

If you can work with differential input (tie negative input to ground or use GND PAD option) and stable external reference you should be OK.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am not trying to "get" anything... I'm just looking for specifications (INL, div10 accuracy and others that I'm missing...) that would allow me to explain the difference between theory and practice.

 

The plot you linked is values measured in the field... which are susceptible to noise and other phenomenons. 

 

Working with differential input isn't an option as div10 isn't available in this mode.

My electronic projects blog >> www.limpkin.fr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am not trying to "get" anything... I'm just looking for specifications (INL, div10 accuracy and others that I'm missing...) that would allow me to explain the difference between theory and practice.

 

The plot you linked is values measured in the field... which are susceptible to noise and other phenomenons. 

 

Working with differential input isn't an option as div10 isn't available in this mode.

My electronic projects blog >> www.limpkin.fr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hmm. Must be trying to get something or you wouldn't be trying to use the ADC.

 

Remember the offset in non-differential mode. Short the pin to ground and see what your ADC reads.

 

Be sure to put an inductor between AVCC and VCC to keep the processor noise out. Also, those .1uF capacitors are CRITICAL. Don't leave home without them.

 

Yet another link to confuse you http://barefootelectronics.com/x...

The largest known prime number: 282589933-1

Without adult supervision.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello Torby,

 

Remember the offset in non-differential mode. Short the pin to ground and see what your ADC reads.

>> That's indeed what I meant by "I already compensated for their respective offsets by measuring an external ground using the ADC"

 

Also, those .1uF capacitors are CRITICAL. Don't leave home without them.

>> They're already there indeed.

 

Yet another link to confuse you http://barefootelectronics.com/x...

>> I already had found the link, but wasn't confusing to me.

My electronic projects blog >> www.limpkin.fr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi Mathieu,

 

I believe you would like to know what the tolerance on the ADC readings is but you can't find this information anywhere - is that correct?

 

I also believe that you have measurements that you think are varying too much - correct?

 

If this is the case it would be helpful for you to provide schematic, code and output data then someone might be able to spot the error.

 

David 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi David!

 

I believe you would like to know what the tolerance on the ADC readings is but you can't find this information anywhere - is that correct?

>> That is correct. I managed to find 70% of them but still need others (accuracy of VCC/1.6 for example) to fully explain my measurements.

 

I also believe that you have measurements that you think are varying too much - correct?

>> They are varying too much between platforms (I produced a batch of 10), which is why I'm trying to find all the accuracies to devise a functional test.

 

If this is the case it would be helpful for you to provide schematic, code and output data then someone might be able to spot the error.

>> The principle I explained on the above image is independent of the implementation, provided Vref, AVcc are stable enough. Simply imagine an atxmega powered at 3.3V with a good ldo and a 1.24V voltage reference connected to AREF. All voltage are correctly decoupled.

 

I should also mention that all platforms are manually checked with oscilloscopes and a fluke45.

My electronic projects blog >> www.limpkin.fr

Last Edited: Tue. Jul 28, 2015 - 03:37 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

So what is the variance on the measurements on one platform and is this consistent on each platform?  What is the variance between platforms?

 

In other words are all the platforms giving consistent, steady results but the value of the results varies between platforms?

 

David

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

As you can see from the picture above, the multiplication of both ADC values should lead to the same result.

If I apply +-3LSB for the vref measurement and +-(3+4)LSB for the div10 measurement (3 for INL, 4 for +-1mV), 4 times out of 10 the multiplication result (2683044) is outside of this range.

For 2 platforms, the tolerance I should apply to both measurements even is +-15LSB!

 

The measurement can be found here: https://docs.google.com/spreadsh...

My electronic projects blog >> www.limpkin.fr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Is each row a different board?  If so how many readings per board?  What is the variance of the readings on the board?

 

David 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Each row is a different board.

The 2 readings you see for div10 & vref are the average of 8192 samples. I didn't measure the peak to peak noise on the measurements but running several times the program led to exactly the same values.

My electronic projects blog >> www.limpkin.fr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Are you sure this formula is correct as both compares are with the same value?

 

David

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I don't see why not :)

in Dx I am multiplying Ax - INL LSB with Bx - INL LSB - DIV10 LSB, in Ex I am multiplying Ax + INL LSB with Bx + INL LSB + DIV10 LSB and then in Fx I am checking that 2683044 is within this range.

My electronic projects blog >> www.limpkin.fr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If you measure AVCC and EXT_REF with voltmeter, you can estimate result of conversion and calculate error (and compare with datasheet etc).

I guess that measurement with EXTREF will be more stable than with any of internally derived.

 

It seems that your goal is to measure supply voltage. Why do you need 2 different references?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hey there,

 

I'm not interested in empirical measurements. I am designing a functional test for a future mass production, hence I need characterized values from the manufacturer so I can know when a device is defective.

I only need one voltage reference, in my case vref. However, during mass production, I'm using vref to measured avcc and then avcc to measure vref. By doing this multiplication, I can make sure that both are within specifications.

However, I can only do so by knowing the accuracy of different parameters.

My electronic projects blog >> www.limpkin.fr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hey everyone,

 

So no one has access to the accuracy of VCC/1.6?

 

Cheers

My electronic projects blog >> www.limpkin.fr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well, that's going to depend on the accuracy, stability and noise of your AVCC. 

 

Look in "Electrical Charactoristics" under ADC. I see a gain error of -8mV for single ended conversions using the VCC/1.6 reference.

 

I wonder how accurate the 1.6 value is. I might be too autistic to dig it out.

The largest known prime number: 282589933-1

Without adult supervision.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello Torby,

 

Well, that's going to depend on the accuracy, stability and noise of your AVCC.

>> It's hard for me to derive numbers from that :/

 

Look in "Electrical Charactoristics" under ADC. I see a gain error of -8mV for single ended conversions using the VCC/1.6 reference.

>> Where do you see that? I have "Atmel-8387H-AVR-ATxmega16A4U-34A4U-64A4U-128A4U-Datasheet_09/2014" and don't see these 8mV anywhere.

My electronic projects blog >> www.limpkin.fr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Look at page 79

 

The largest known prime number: 282589933-1

Without adult supervision.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Looking at the above table you need to take account of linearity, offset error, gain error and noise.  You then need to work out the possible measurement spread given the typical parameters and then increase that spread by a fiddle factor.  You'll also need to add the tolerance on the actual value you are trying to measure.  I think it would help you to show the maths behind any spread calculations and writing it down may prove there is no fault in the hardware only in the level of your expectations.

 

David 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

DAFlippers wrote:

Looking at the above table you need to take account of linearity, offset error, gain error and noise.  You then need to work out the possible measurement spread given the typical parameters and then increase that spread by a fiddle factor.  You'll also need to add the tolerance on the actual value you are trying to measure.  I think it would help you to show the maths behind any spread calculations and writing it down may prove there is no fault in the hardware only in the level of your expectations.

 

David 

 

That's exactly what I'm trying to do.

For example, here are the maths for my Vref measurements:

 

// Check AVCC, select ADC channel for AVCC / 10
  // Vadc = Val(ADC) * (1.24 / 4095)
  // Val(ADC) = Vadc * (4095 / 1.24+-0.25%)
  // From http://atmel.force.com/support/a..., error is +-1mV hence +-4LSB
  // Vadc is the 3.3V / 10
  // Vout = Vref (R1 + R2) / R2
  // Min Vout = 1.176 * (2.15 * 0.99 + 1.2 * 1.01) / (1.2 * 1.01) = 3.241V
  // Val(ADC)min = ((1.176 * (2.15 * 0.99 + 1.2 * 1.01) / (1.2 * 1.01)) - 0.001) * (409.5 / (1.24*1.0025)) - 3 = 1064.4
  // Max Vout = 1.212 * (2.15 * 1.01 + 1.2 * 0.99) / (1.2 * 0.99) = 3.427V
  // Val(ADC)max = ((1.212 * (2.15 * 1.01 + 1.2 * 0.99) / (1.2 * 0.99)) + 0.001) * (409.5 / (1.24*0.9975)) + 3 = 1138

 

(the +-3 LSB is for the INL, offset is calibrated at boot by measuring 0V on one of the IO pins).

For all my measurements I am using single ended mode, hence no amplification.

 

 

Torby wrote:

Look at page 79

 

 

If I'm not mistaken gain error only applies to differential mode measurements... so it doesn't apply to my single ended measuremetns right?

The only relevant info I got from this table was the INL (see maths above).

 

My electronic projects blog >> www.limpkin.fr

Last Edited: Sat. Aug 1, 2015 - 12:46 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The ADC will be y = ax +c however a and c are not actually constants.

 

  • Integral Non Linearity - this is the difference between the current output and the ideal straight line output in terms of LSB

 

  • Differential Non Linearity - is the difference between any value and the adjacent value which is always <+-1 LSB and therefore monotonic

 

  • Offset error - is the 'constant' offset - 'c' in equation - this will change between devices and with temperature and supply voltage.

 

  • Gain error - is the 'constant' gradient of the characteristic - 'a' in the equation - this will change between devices and with temperature and supply voltage.

 

  • Noise error - dependent on implementation but can be removed with averaging.

 

All the above will be present in single end or differential mode but might not be specified.  In the table the errors are only specified as typical so you might take a view that you need to double the typical values.  As errors are stated as Differential mode and no Single end mode figures are quoted then assume worst case and same as Differential mode.  This means you could have something like +-20mV error due to Offset and Gain errors.

 

David

     

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0
  • Integral Non Linearity - this is the difference between the current output and the ideal straight line output in terms of LSB

>> in my above maths it is taken into account by the +-3LSB

 

  • Integral Non Linearity - this is the difference between the current output and the ideal straight line output in terms of LSB

>> not taken into account as i am using the INL

 

  • Offset error - is the 'constant' offset - 'c' in equation - this will change between devices and with temperature and supply voltage.

>> It is regularly measured on my devices and taken into account

 

  • Gain error - is the 'constant' gradient of the characteristic - 'a' in the equation - this will change between devices and with temperature and supply voltage.

>> I don't see the gain error specified for single ended measurements, do you?

 

  • Noise error - dependent on implementation but can be removed with averaging.

>> I'm averaging on 8192 samples

 

Even though I already knew all these things, I created this thread to ask their values so I could properly compute my measurement tolerances...

 

As errors are stated as Differential mode and no Single end mode figures are quoted then assume worst case and same as Differential mode. 

>> From where can you draw these conclusions?

 

My electronic projects blog >> www.limpkin.fr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0
  • Gain error - is the 'constant' gradient of the characteristic - 'a' in the equation - this will change between devices and with temperature and supply voltage.

>> I don't see the gain error specified for single ended measurements, do you?

 

All the above will be present in single end or differential mode but might not be specified.  In the table the errors are only specified as typical so you might take a view that you need to double the typical values.  As errors are stated as Differential mode and no Single end mode figures are quoted then assume worst case and same as Differential mode.  This means you could have something like +-20mV error due to Offset and Gain errors.

 

>> From where can you draw these conclusions?

 

From experience.  If something is not stated and you cannot find out then take the information available you need to take a view on what it is likely to be.  As I have said, I would use the Differential mode figures and, as they are typical values, double them.  In contrast you appear to have assumed that if they are not stated they are zero.

 

At the moment you have made some calculations and because your measurements don't tie up with your calculations you question the quality of the device or at least the information on the device but not the quality of your calculation.   

 

What I suggest is that you calculate the spread using the worst case figures and show all your workings and assumptions so others can help.

 

David    

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

 In contrast you appear to have assumed that if they are not stated they are zero.

>> The whole point of that thread is to find them out.

 

you question the quality of the device or at least the information on the device but not the quality of your calculation.   

>> Not at all, I'm just trying to find the accuracies that can explain the quality of my measurements. From one of my previous posts: "I'm just looking for specifications (INL, div10 accuracy and others that I'm missing...) that would allow me to explain the difference between theory and practice."

 

What I suggest is that you calculate the spread using the worst case figures and show all your workings and assumptions so others can help.

>> Did you have a look at the document I previously linked? https://docs.google.com/spreadsh...

My electronic projects blog >> www.limpkin.fr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Mathieu,

 

I have looked at your spreadsheet and when I questioned your calculation (post 14) your response was to say that it was correct.

 

As I have said a number of times, you need to show all your workings (write down all the steps and factors you are taking into account like you did when you were doing maths at school) and assumptions for the calculation because it is not clear to me what you have taken into account in your calculation.  You certainly have not included gain errors.

 

 In contrast you appear to have assumed that if they are not stated they are zero.

>> The whole point of that thread is to find them out.

However if someone makes a suggestion of what the values might be you take no notice of their reasoning at all and ignore their suggestions.

 

I am trying to help but my perception is that you do not want to listen.  

 

David  

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

David,

 

I apologize if I seem narrow minded.

I therefore conclude that my post #23 wasn't exhaustive enough? The computations indeed didn't take into account a gain error as I couldn't find one in the datasheet. 

I am deliberately trying to avoid an empiric approach. As I have to design a functional test for a production batch, my justification for pass/fail can't be empiric values that I extrapolated from a small prototype batch wouldn't you agree?

 

Let's take concrete examples, let's say the formula in my post #23 which takes into account the LDO reference tolerance, the resistor tolerances, and my vref tolerance. 

If I'm not mistaken, you would be suggesting to factor in a -1mV (gain error in differential mode) * 2 gain error, the *2 multiplier being justified by your experience?

I indeed have a small problem with arbitrarily picking a multiplier that would justify the functional test result, as I was hoping for Atmel engineer to provide values found from a bigger sample size.

 

Let's take my measurements for Vref, using AVCC/1.6:

// Vadc = Val(ADC) * AVcc / (1.6 * 4095)
  // Val(ADC) = Vadc * (6552 / AVcc)
  // Val(ADC) = 1.24 * (6552 / AVcc)
  // Val(ADC) = 1.24+-0.25% * 6552 / (10 * avcc * (1.24+-0.25% / 4095))
  // Val(ADC) = 6552 * 4095 / 10 * avcc
  // Val(ADC) = 2683044 / avcc

 

In the above formula, avcc is the conversion result from post #23. As you can see from the spreadsheet, INL, vccdiv10 tolerances still don't explain the different results.

Would you interpret the gain error with an AVCC/1.6 reference as the tolerance of AVCC/1.6 itself?

 

 

 

 

My electronic projects blog >> www.limpkin.fr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well just a back of an envelope scribbling:

 

ADC value = (ADC reading/4095) / (AVCC/1.6) 

 

ADC reading could be +- 3 LSB this equates to (3/4095)*100% = 0.0732%

 

Gain and offset errors could be +- 20 +-1 mV  (doubled as values quoted are typical not max) so at 50% full scale and assuming the gain error is linear the errors would be +- 10 +- 1 mV so +- 11 mV. 

 

Assuming you have 3.3V AVCC then 3.3/1.6 =  2.0625V.

 

The percentage error would be +-(11/1000/2.0625)*100% =  +-0.533%

 

Adding both together gives approximately +-0.6% which is +-(0.6/100)*4095 LSB which is +-24.57 LSB.

 

Now that is a very pessimistic assessment but how does it compare with what you have seen?

 

David

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ADC value = (ADC reading/4095) / (AVCC/1.6) 

 

ADC reading could be +- 3 LSB this equates to (3/4095)*100% = 0.0732%

>> taken into account in the H column in the google spreadsheet

 

Gain and offset errors could be +- 20 +-1 mV  (doubled as values quoted are typical not max) so at 50% full scale and assuming the gain error is linear the errors would be +- 10 +- 1 mV so +- 11 mV. 

>> Offset error is already taken care of as it is measured during platform initialization. 

 

 

The percentage error would be +-(11/1000/2.0625)*100% =  +-0.533%

>> I'm not sure why you are taking this percentage error at 10mV instead of 20mV.

20mV / 2.0625V = 1%

I've updated the google spreadsheet taking into account a 1% error in the Vref ADC measurement... 2 platforms still don't pass the functional test.

 

Let me know your thoughts, 

Thanks for taking that time!

 

 

 

 

 

My electronic projects blog >> www.limpkin.fr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Obviously it is me but I don't understand why you have the values in column A and B and then multiply them.  Can you explain what you are doing?

 

 

David

 

 

 

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

DAFlippers wrote:

Obviously it is me but I don't understand why you have the values in column A and B and then multiply them.  Can you explain what you are doing?

 

 

David

 

Well how the reasoning behind it is shown in the picture in post #1.

 

My electronic projects blog >> www.limpkin.fr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Given that I have read all your posts and I asked the question in post #32 perhaps you can infer from that that I don't understand what you are trying to achieve which is why I have asked for an explanation.

 

Even though I am not sure what you want to achieve I think, as I have said a number of times, you need to write out in longhand the calculation you are carrying out.  You might then realise why I used +10mV and not +=20mV and you might also spot that you only apply the gain error to one of the two sets of readings.  I do not know how you determine the offset error at startup perhaps you could elaborate. 

 

David

 

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I don't understand what you are trying to achieve which is why I have asked for an explanation.

>> I want to find out the specifications that can explain why this multiplication isn't exactly what it should be.

 

Gain and offset errors could be +- 20 +-1 mV  (doubled as values quoted are typical not max) so at 50% full scale and assuming the gain error is linear the errors would be +- 10 +- 1 mV so +- 11 mV. 

>> If I'm not mistaken, a gain error (computed in %) is applied the same way to all ADC measurements no? Isn't it its definition?

 

you only apply the gain error to one of the two sets of readings.

>> One is measured with VCC/1.6 as reference, the other with Vref as reference. Gain error is 1mv, *2 following your experience, hence 2mv/1240mv = 0.16% that I chose to neglect.

 

I do not know how you determine the offset error at startup perhaps you could elaborate. 

>> from post #1: "I already compensated for their respective offsets by measuring an external ground using the ADC"

My electronic projects blog >> www.limpkin.fr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Ok I'm failing to communicate to you that I do not understand the full method and factors used in your calculation and hence my request for more detail as I am a simple person and need things clearly laid out for me to be able to understand. 

 

You are correct when you say:

 

>> If I'm not mistaken, a gain error (computed in %) is applied the same way to all ADC measurements no? Isn't it its definition?   

 

however you need to read the line above as you missed something. 

 

David

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If you refer to

 

ADC reading could be +- 3 LSB this equates to (3/4095)*100% = 0.0732%

 

 

that is what the column H in the spreadsheet is for.

 

 

Ok I'm failing to communicate to you that I do not understand the full method and factors used in your calculation and hence my request for more detail as I am a simple person and need things clearly laid out for me to be able to understand. 

>> I don't mind re-explaining what I'm trying to do. Do you agree with the maths shown in the picture of post #1? I'm trying to find the tolerances in my measurements that can explain the multiplication result that I perform on 10 platforms.

I'm taking into account:

- INL (3LSB) on both measurements

- avcc/div10 precision (+-1mV) on the Avcc measurement

- the gain error on the measurement using avcc/1.6 (1%, even though I still don't agree with this rule of thumb)

 

In the spreadsheet you have the raw values, averaged on 8192 samples to remove the noise. You have the min/max multiplication taking into account the 3 factors above. I'm then checking if the theoritical multiplication result (2683044) is between the min/max values I previously computed.

 

Let me know if I can make something clearer.

My electronic projects blog >> www.limpkin.fr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You are correct when you say:

 

>> If I'm not mistaken, a gain error (computed in %) is applied the same way to all ADC measurements no? Isn't it its definition?   

 

however you need to read the line above as you missed something.  

 

If you refer to

 

ADC reading could be +- 3 LSB this equates to (3/4095)*100% = 0.0732%

 

 

that is what the column H in the spreadsheet is for.

 

 No that is not what I mean.  read the below carefully.

Gain and offset errors could be +- 20 +-1 mV  (doubled as values quoted are typical not max) so at 50% full scale and assuming the gain error is linear the errors would be +- 10 +- 1 mV so +- 11 mV. 

>> If I'm not mistaken, a gain error (computed in %) is applied the same way to all ADC measurements no? Isn't it its definition?

If I was looking at this I would start with an ideal reading for the ADC then apply all the tolerance and other factors to the value and this would define a range of values that I would expect in real life.  You have chosen to do something different and as I do not understand I have asked for an explanation of your methodology but I am obviously failing to get this point across.  

 

David

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If I was looking at this I would start with an ideal reading for the ADC then apply all the tolerance and other factors to the value and this would define a range of values that I would expect in real life.  You have chosen to do something different 

 

>> If you look at the spread sheet, MIN & MAX computations:

MIN: =(A17-H17-I17)*(B17*0.99-H17)

MAX: =(A17+H17+I17)*(B17*1.01+H17)

 

A column is the avcc/10 measurement, to which is applied the INL (H column) and div10 tolerance (I column)

B column is the aref measurement made with the AVCC/1.6 reference, to which is applied the 20mV gain error (1%), hence the 0.99 & 1.01

 

My electronic projects blog >> www.limpkin.fr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Your Min and Max are not based on an ideal value but use actual values. 

 

David

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

DAFlippers wrote:

Your Min and Max are not based on an ideal value but use actual values. 

 

David

 

You can do one way or another no?

I can take my actual measurements, apply the tolerances on them and in theory the good result should be withing the scope of values...

My electronic projects blog >> www.limpkin.fr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

 

Well it is up to you what you do.  I have given my input and even if I don't understand the reasoning and methodology you are using you seem to be confident in what you are doing so I'll leave you to it. 

 

David

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

DAFlippers wrote:

 

Well it is up to you what you do.  I have given my input and even if I don't understand the reasoning and methodology you are using you seem to be confident in what you are doing so I'll leave you to it. 

 

David

 

 

Can you suggest how you would apply tolerances on the multiplication result (2683044) without knowing the ADC values?

I was hoping I had replied to all your inquiries about the methodology and measurement principle.

My electronic projects blog >> www.limpkin.fr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

DAFlippers wrote:

 

Well it is up to you what you do.  I have given my input and even if I don't understand the reasoning and methodology you are using you seem to be confident in what you are doing so I'll leave you to it. 

 

David

 

 

Can you suggest how you would apply tolerances on the multiplication result (2683044) without knowing the ADC values?

I was hoping I had replied to all your inquiries about the methodology and measurement principle.

My electronic projects blog >> www.limpkin.fr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You must be using a single standard voltage for your calibration and therefore you should know what an ideal result would be.  Given that you can work out the spread that you should see and pass or fail on that.

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

DAFlippers wrote:

You must be using a single standard voltage for your calibration and therefore you should know what an ideal result would be.  Given that you can work out the spread that you should see and pass or fail on that.

 

This is exactly what I'm doing. But given the rule of thumb you gave me (gain error), it still doesn't pass the test... does it mean i should consider it as a fail?

My electronic projects blog >> www.limpkin.fr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I really don't know because I can't be bothered to go through spreadsheets to recreate your calculation in an easy to read and understand manner.  I have asked for this but I am giving up the will to live....

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm surprised by your answer.

Formulas are on the picture of post #1 and tolerances are described in post #39.

My electronic projects blog >> www.limpkin.fr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Whatever.....

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

DAFlippers wrote:

I really don't know because I can't be bothered to go through spreadsheets to recreate your calculation in an easy to read and understand manner.  I have asked for this but I am giving up the will to live....

 

Great respect to you patience, man! I am affraid, no one could help the OP, even if one wants to..