STM32F0 ADC lee valores incorrectos

2

Estoy utilizando STM32F030F4P6 MCU para un proyecto. Esta MCU no tiene pin Vref + y usa el pin VDDA para conversiones A / D, PLL, etc. Mientras realizaba el prototipo del circuito que voy a usar en mi proyecto, corté los pines VDDA y VDD junto con los condensadores de 10uF y 100nF a tierra. Le estoy dando 3.3V exactos a estos pines con una fuente de alimentación de CC.

ADC leerá el voltaje con una amplitud máxima de 16.8V. Por lo tanto, he usado un divisor de voltaje de 10k / 2k para llevar este voltaje al nivel lógico. Dado que leeré la mayoría de los valores de CC, he establecido el tiempo de muestreo al más alto posible, que es de 239,5 ciclos de reloj adc: 17,1 microsegundos.

El problema es que los valores que leo son muy diferentes a los voltajes que mido con el multímetro. Por ejemplo, ADC está leyendo ~ 2.8V cuando mido 2.87V.

Como usted sabe, estas MCU tienen Vref incorporado que puede leer a través de ADC_IN17. Cuando trato de usar esto para calibrar mi ADC, esta vez el voltaje medido es más bajo que el voltaje de lectura. Por ejemplo, el voltaje de lectura es 2.8V cuando mido 2.72V.

La resolución de ADC es de 12 bits y la tabla de precisión de ADC se muestra a continuación.

    
pregunta Şener

2 respuestas

0

A partir de los comentarios, el problema parece estar relacionado con la correlación entre el tiempo de conmutación MOSFET y el tiempo de lectura de ADC.

Lo más probable es que el ruido de 100 mV sea un ruido periódico y las lecturas en fase con el ruido no pueden llevar a un valor promedio, es como promediar sin (t) en 2 * pi * n + c puntos

Filtrar la entrada del ADC podría ayudar a reducir la núcleo si la ruta del ruido no es inductiva.

Si el muestreo excesivo a una frecuencia mayor que el tiempo de conmutación no es una opción, al menos mover el punto de muestreo lejos del área transitoria podría ayudar.

    
respondido por el Dorian
0

Para calibrar con VREF interno, deberá publicar su código.

Para el caso sin calibración, podría ser realmente la impedancia de entrada. El MCU ADC tiene una impedancia de entrada de alrededor de 50k, que podría ser demasiado baja en el caso de su divisor: intente amortiguar el voltaje medido y vuelva a medirlo. >     

respondido por el Jan Dorniak

Lea otras preguntas en las etiquetas