cancel
Showing results for 
Search instead for 
Did you mean: 

ADC error

Nico3
Associate III

I have connected 100k NTC  with 100K PU resistance. ADC is measuring voltage on NTC is 1580 mV. While multimeter shows 1410 mV. 1410mV is correct number as it gives 32 degC  temperature.

I am using ADC in polling mode. I added HAL_ADCEx_Calibration_Start also and ADC measurement changes to 1650 mV. 

please suggest on how to remove error. 

 

1 ACCEPTED SOLUTION

Accepted Solutions
ONadr.1
Senior III
For high-impedance temperature sensors, connecting a ceramic capacitor (capacity of 1uF-10uF) in parallel to the analog pin and analog GND has worked very well for me. It is the best to place the capacitor as close to the pin as possible. The time consatnt is quite high, but the temperature response of the sensor is usually slower.
 

View solution in original post

5 REPLIES 5
TDK
Guru

With a high impedance source, increasing the sampling time to max is going to have the largest effect.

Many more general suggestions can be found in:

https://www.st.com/resource/en/application_note/an2834-how-to-get-the-best-adc-accuracy-in-stm32-microcontrollers-stmicroelectronics.pdf

 

If you feel a post has answered your question, please click "Accept as Solution".
raptorhal2
Lead

If maximum sampling time isn't adequate (or you need to convert faster), connect the signal to an op amp then the op amp to the ADC. A software correction can also be used, but that can be cumbersome in a production environment.

ONadr.1
Senior III
For high-impedance temperature sensors, connecting a ceramic capacitor (capacity of 1uF-10uF) in parallel to the analog pin and analog GND has worked very well for me. It is the best to place the capacitor as close to the pin as possible. The time consatnt is quite high, but the temperature response of the sensor is usually slower.
 

yes,, this worked for me also..

Hi,

 

I've used this method and using the op-amp it is easy to create a low pass filter to get rid of noise.

Regards

Rob