cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H743 ADC3 Acquisition voltage accuracy

hanqingze
Associate III

Now I want to use ADC3 to collect the voltage of single-ended signals. I used IN1 channel to collect the reference voltage source of 1.5V and the internal channel to collect the internal reference voltage source of the chip respectively. The test results are as follows。The code value returned and the corresponding voltage size are shown in the figure below。

hanqingze_1-1723211705777.png

 

hanqingze_0-1723211675673.png

It can be found that the error of code is relatively large, because the bits of ADC can not reach 16 bits or what other reasons? Please advise

1 ACCEPTED SOLUTION

Accepted Solutions

Small and branching ground traces are not ideal. The VDDA pin should have a larger capacitor near it to prevent voltage drops. The datasheet says 1 uF in addition to the 0.1 uF. That will certainly help, as would using a ferrite bead before the VDDA/VREF+ supply.

TDK_0-1723225451044.png

 

Lots of other tips in that application note.

You will never get the full 16 bits of precision with no noise, but you can get 12-14 or so, depending on settings.

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

View solution in original post

8 REPLIES 8
TDK
Guru

Increase the sampling time to max for the best accuracy, and average many readings for even better accuracy for DC signals.

Is this a custom board? If so post the schematic.

General tips for improving ADC accuracy around found within here:

cd00211314-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".
hanqingze
Associate III

我需要至少0.1s返回一个平均值数据,我尝试在0.1s多让DAC转换几次取平均值,但是我对此抱有悲观态度,因为上面的误差如此之大感觉很难用取均值方法改善,后续阅读完PDF我再与您交流

原理图就是一块很简单的开发板

Small and branching ground traces are not ideal. The VDDA pin should have a larger capacitor near it to prevent voltage drops. The datasheet says 1 uF in addition to the 0.1 uF. That will certainly help, as would using a ferrite bead before the VDDA/VREF+ supply.

TDK_0-1723225451044.png

 

Lots of other tips in that application note.

You will never get the full 16 bits of precision with no noise, but you can get 12-14 or so, depending on settings.

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

The number of bits shown in the data manual is 12.2 bits, with an error of 20LSB. I used a reference voltage source of 3V, and the error between the ADC value obtained and the actual value is about 10mv. Is this scientific? How big should the theoretical mountain error be and how should it be calculated?

How accurate is your reference voltage source? How accurate is your VREF+ voltage? The absolute error will mostly depend on these two values.

No voltage source is perfectly accurate. An error of 10 mV over 3.3V is 0.3%, which seems reasonable. It's certainly well within the specs of the AMS chip.

TDK_0-1723723572326.png

 

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

REF2030的最大误差是0.05%

Sure, but VREF+/VDDA/VDD is not as accurate as your voltage source.

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