Skip to main content
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Mod Moved Comments To Chat
I've added more information
Source Link
Şener
  • 65
  • 2
  • 6

I am using STM32F030F4P6 MCU for a project. This MCU has no Vref+ pin and using VDDA pin for A/D conversions, PLL etc. While prototyping the circuit that I am going to use on my project, I shorted VDDA and VDD pins together with 10uF and 100nF capacitors to the ground. I am giving exact 3.3V to these pins with an DC power supply.

ADC will be reading voltage with max amplitude of 16.8V. Therefore I've used 10k / 2k voltage divider, to bring this voltage to logic level. Since I will be reading mostly DC values, I've set the sampling time to highest possible which is 239.5 adc clock cycle - 17.1 microseconds.

The problem is values that I read are way different than voltages I measure with multimeter. For example, ADC is reading ~2.8V when I measure 2.87V.

As you know these MCUs have Vref built-in which you can read through ADC_IN17. When I try to use this to calibrate my ADC, this time measured voltage is lower than read voltage. For example, read voltage is 2.8V when I measure 2.72V.

ADC resolution is 12 bit and ADC accuracy table is shown below.

enter image description here

I am using STM32F030F4P6 MCU for a project. This MCU has no Vref+ pin and using VDDA pin for A/D conversions, PLL etc. While prototyping the circuit that I am going to use on my project, I shorted VDDA and VDD pins together with 10uF and 100nF capacitors to the ground. I am giving exact 3.3V to these pins with an DC power supply.

ADC will be reading voltage with max amplitude of 16.8V. Therefore I've used 10k / 2k voltage divider, to bring this voltage to logic level. Since I will be reading mostly DC values, I've set the sampling time to highest possible which is 239.5 adc clock cycle - 17.1 microseconds.

The problem is values that I read are way different than voltages I measure with multimeter. For example, ADC is reading ~2.8V when I measure 2.87V.

As you know these MCUs have Vref built-in which you can read through ADC_IN17. When I try to use this to calibrate my ADC, this time measured voltage is lower than read voltage. For example, read voltage is 2.8V when I measure 2.72V.

I am using STM32F030F4P6 MCU for a project. This MCU has no Vref+ pin and using VDDA pin for A/D conversions, PLL etc. While prototyping the circuit that I am going to use on my project, I shorted VDDA and VDD pins together with 10uF and 100nF capacitors to the ground. I am giving exact 3.3V to these pins with an DC power supply.

ADC will be reading voltage with max amplitude of 16.8V. Therefore I've used 10k / 2k voltage divider, to bring this voltage to logic level. Since I will be reading mostly DC values, I've set the sampling time to highest possible which is 239.5 adc clock cycle - 17.1 microseconds.

The problem is values that I read are way different than voltages I measure with multimeter. For example, ADC is reading ~2.8V when I measure 2.87V.

As you know these MCUs have Vref built-in which you can read through ADC_IN17. When I try to use this to calibrate my ADC, this time measured voltage is lower than read voltage. For example, read voltage is 2.8V when I measure 2.72V.

ADC resolution is 12 bit and ADC accuracy table is shown below.

enter image description here

added 1 character in body
Source Link
MCG
  • 12.2k
  • 5
  • 37
  • 72

I am using STM32F030F4P6 MCU for a project. This MCU has no Vref+ pin and using VDDA pin for ADA/D conversions, PLL etc. While prototyping the circuit that I am going to use on my project, I shorted VDDA and VDD pins together with 10uF and 100nF capacitors to the ground. I am giving exact 3.3V to these pins with an DC power supply.

ADC will be reading voltage with max amplitude of 16,.8V. Therefore I've used 10k / 2k voltage divider, to bring this voltage to logic level. Since I will be reading mostly DC values, I've set the sampling time to highest possible which is 239,.5 adc clock cycle - 17,.1 microseconds.

The problem is values that I read are way different than voltages I measure with multimeter. For example, ADC is reading ~2.8V when I measure 2.87V.

As you know these MCUs have Vref built-in which you can read through ADC_IN17. When I try to use this to calibrate my ADC, this time measured voltage is lower than read voltage. For example, read voltage is 2.8V when I measure 2.72V.

I am using STM32F030F4P6 MCU for a project. This MCU has no Vref+ pin and using VDDA pin for AD conversions, PLL etc. While prototyping the circuit that I am going to use on my project, I shorted VDDA and VDD pins together with 10uF and 100nF capacitors to the ground. I am giving exact 3.3V to these pins with an DC power supply.

ADC will be reading voltage with max amplitude of 16,8V. Therefore I've used 10k / 2k voltage divider, to bring this voltage to logic level. Since I will be reading mostly DC values, I've set the sampling time to highest possible which is 239,5 adc clock cycle - 17,1 microseconds.

The problem is values that I read are way different than voltages I measure with multimeter. For example, ADC is reading ~2.8V when I measure 2.87V.

As you know these MCUs have Vref built-in which you can read through ADC_IN17. When I try to use this to calibrate my ADC, this time measured voltage is lower than read voltage. For example, read voltage is 2.8V when I measure 2.72V.

I am using STM32F030F4P6 MCU for a project. This MCU has no Vref+ pin and using VDDA pin for A/D conversions, PLL etc. While prototyping the circuit that I am going to use on my project, I shorted VDDA and VDD pins together with 10uF and 100nF capacitors to the ground. I am giving exact 3.3V to these pins with an DC power supply.

ADC will be reading voltage with max amplitude of 16.8V. Therefore I've used 10k / 2k voltage divider, to bring this voltage to logic level. Since I will be reading mostly DC values, I've set the sampling time to highest possible which is 239.5 adc clock cycle - 17.1 microseconds.

The problem is values that I read are way different than voltages I measure with multimeter. For example, ADC is reading ~2.8V when I measure 2.87V.

As you know these MCUs have Vref built-in which you can read through ADC_IN17. When I try to use this to calibrate my ADC, this time measured voltage is lower than read voltage. For example, read voltage is 2.8V when I measure 2.72V.

Source Link
Şener
  • 65
  • 2
  • 6

STM32F0 ADC reads wrong values

I am using STM32F030F4P6 MCU for a project. This MCU has no Vref+ pin and using VDDA pin for AD conversions, PLL etc. While prototyping the circuit that I am going to use on my project, I shorted VDDA and VDD pins together with 10uF and 100nF capacitors to the ground. I am giving exact 3.3V to these pins with an DC power supply.

ADC will be reading voltage with max amplitude of 16,8V. Therefore I've used 10k / 2k voltage divider, to bring this voltage to logic level. Since I will be reading mostly DC values, I've set the sampling time to highest possible which is 239,5 adc clock cycle - 17,1 microseconds.

The problem is values that I read are way different than voltages I measure with multimeter. For example, ADC is reading ~2.8V when I measure 2.87V.

As you know these MCUs have Vref built-in which you can read through ADC_IN17. When I try to use this to calibrate my ADC, this time measured voltage is lower than read voltage. For example, read voltage is 2.8V when I measure 2.72V.