2021-04-21 11:54 PM
Hi,
I have connected three channels of the SDADC in the STM32F373 with an external voltage reference of 1.225V. The selected mode of the ADC is Single-ended zero-volt reference mode, and i am reading these channels using the "injected conversion" as i have seen in the ST examples. The problem is that i get coherent values in all the three channels but they are not accurate. Besides, the error in every channel is different from the others. Firstly i did the offset calibration with the function HAL_SDADC_CalibrationStart and then tried to adjust the gain, but this gain was different for each channel. Then i did not the offst calibration and manually made a manual offset a gain calibration, and these values were different for each channel. For example, some of the values gotten without calibration would be:
CHANNEL 2:
READ REAL
1.064 1.020
1.134 1.089
1.173 1.126
CHANNEL 3:
READ REAL
0.433 0.404
0.661 0.623
0.853 0.810
I have tested to do this conversions with the SAR ADC and this has not this problem. I attach the configuration of the SDADC and the software files concerning it. Thanks in advance.
2021-04-22 02:07 AM
Have a look at the gain error specification in the datasheet, it is quite big. I think the SDADC in the F373 is not optimal. Considerer some newer chip with ADC oversampling. like the L4.
2021-04-25 10:11 PM
i would understand that there was a gain error and so an adjustment with a voltage reference. But in this case each channel seems to have a different gain error...I would need to know if this is normal or i have to adjust each channel always but after that the ADC would work without any problem
2021-04-27 04:12 AM
i have tried also the SDADC_INPUT_MODE_SE_OFFSET mode and the results are the same. Each channel seems to have a different gain calibration...
2021-06-07 11:27 PM
Hi Kjilguero,
Can you solve this problem?
2021-06-07 11:39 PM
Hi,
I have not been able to solve it. I am thinking about making an "eval board" fot the STM32F373 being careful with tracks, gaps, noise...in order to be able to test it in an accurate way. In this design i have too many possible noise or error sources and i have not been able to stablish if there is a problem with the SDADC or if it is because of the hardware. But this micro with the 16 bits ADC would be a really good choice for me if it worked well...