2021-02-25 04:13 AM
Hello,
I am having an issue with an offset on my ADC measurements. I am using the NUCLEO-G474RE, and I am using pin PA8 as the analogue input.
When I measure an analogue pin, the value measured is a bit higher than the actual values. (Actual values measured with multi-meter Agilent U1242B)
The values measured are outside of the 10bits error defined in the datasheet. These measurements have been done after the ADC internal calibration.
I tested this by connecting the ADC PA8 pin directly to ground. Followed by an ADC measurement, this measures 28 bits instead of the 10 that I expected as maximum error. This pin is connected to ADC5
When I measure the VREF_INT (ADC4) to do a comparison check, I get the following:
The stored calibration is 1668.
The calibration was done with VREF=3.0V(reference datasheet) and currently the Vref measured is VREF=3.262V
The ADC measures 1571 this is 1708 when compensated for the differences in VREF.
The difference between the ADC measurement and the calibration value is 40 bits.
I have two questions:
I have added the register overview of the ADC's used and the ADC_common register during these measurements.
2021-04-14 08:08 AM
Hi Azeve.1 (Community Member) ,
Please check the ADC clock - if it is below maximum ADC clock (max ADC clock is 60MHz).
The ADC offset error is usually very small after ADC calibration (max 4 LSB ).
Please also check if you are waiting correctly for calibration finish (do not stop calibration before it is finished) . The ADC_CALFACT register contains offset calibration corrections which are set during ADC calibration - those factors are set to have offset at minimum level after calibration. You can change them also manually to see the effect of ADC offset (this is not solution - just test).
Regards
Igor