Acabo de probar mi segundo diseño con STM32F2, ahora es STM32F207ZFT6, el comportamiento de ADC es el mismo que en mi primera aplicación: fuerte ruido en ADC.
Ruido de entrada de corriente sin ninguna señal conectada:
Nota: En los gráficos de señal anteriores, el eje vertical está en bits ADC, ¡no en voltios !; no se confunda con su leyenda „[V]“, para esta prueba hemos utilizado nuestro programa modificado para ver datos aproximados de ADC.
El mismo ruido aparece incluso cuando el pin analógico de la CPU se cortocircuita a GND, como se muestra aquí:
Hay picos permanentes de más de 30 LSB y más en la señal muestreada, aunque en mi opinión no deberían superar los 5-10 LSB.
Otros detalles:
PCB de 2 lados, en el lado inferior hay otras conexiones, pero la mayoría se vierte con señal GND, común tanto para digital como analógico, la tierra analógica no está separada. Como el consumo de la placa es mínimo, inferior a 100 mA, creo que no debería causar ese ruido.
referencia de voltaje VREF 3.3V amortiguada por opamp, bloqueada por 100nF y equivalente a 10uF en paralelo, lo mismo con VREF / 2; cada pin de alimentación del procesador está bloqueado con una tapa de 100nF
en nuestra aplicación anterior, utilizamos el mismo concepto de diseño, pero el procesador utilizado era AduC834; también tiene ADC de 12 bits y el ruido de la señal fue solo de varios LSB, no hubo problemas; La principal diferencia fue que se utilizó la referencia de voltaje interno de AduC, no externa
Hemos probado para desconectar el pin de tierra analógico del procesador del GND común de la placa y para conectarlo con un cable adicional directamente a la tierra VREF de referencia de voltaje, sin efecto
es un dispositivo de medición de red trifásico, hay 3 canales de voltaje analógico y tres canales de corriente con preamplificador de ganancia conmutable; el oscilador de la CPU de 25 MHz, el reloj interno de 120 MHz por PLL, el reloj ADC es de 30 MHz (de conformidad con las especificaciones técnicas), hemos probado que ralentiza el reloj interno principal (por lo tanto, todos los relojes secundarios también) hasta un cuarto, pero sin ningún efecto
ADC muestrea periódicamente la señal de entrada con una tasa de 128 conversiones por período de red de 50 Hz, es decir, cada 156 usecs; DMA transfiere los resultados a la RAM interna; los datos de la RAM se transfieren a través de RS485 aislado (en otra placa) y se visualizan en nuestro programa. Hemos tratado de prolongar los tiempos de conversión al máximo, sin efecto
excluyendo la CPU, solo hay 3 opams, 2 interruptores analógicos, termómetro I2C y tres interruptores ULN (sin usar durante la prueba), alimentados por un estabilizador lineal LF33, normalmente alimentado por 5V DC desde el conmutador en otra placa, pero durante la prueba el conmutador fue se desconectó y el LF33 se alimentó de un suministro claro de laboratorio de 5 V CC. Estoy seguro de que nada más que el oscilador del procesador puede oscilar en la placa.
comprobar la señal con osciloscopio no obtiene resultados decisivos, la señal es demasiado débil
¿Alguien con esta familia de procesadores con experiencia en rendimiento ADC?
En cuanto a la intensidad de la señal: incluso si la entrada analógica está en cortocircuito, veo un ruido de 5-10 mV (pico a pico) en el osciloscopio, medido con un cable coaxial con una longitud mínima de cable a tierra soldado a la placa. Con la sonda estándar, el ruido era aproximadamente dos veces mayor probablemente debido a una peor conexión a tierra (¿ruido EMC general?).
Esta es una imagen de mi tablero:
Y la parte inferior del tablero:
Como informé anteriormente, incluso si la señal está conectada a tierra, el ruido de aproximadamente 30 LSB aún persiste en los datos convertidos por ADC.