Comprensión del cableado del pin AVCC en ArduinoLeonardo (¿filtro de paso bajo?)

10

El Arduino Leonardo tiene una diferencia interesante con las placas anteriores: el pin AVCC del ATMEGA32U4 está conectado a + 5V a través de un cordón de ferrita MH2029-300Y y a GND a través de un condensador de 1uF.

En ArduinoUno y ArduinoMega2560, este pin simplemente estaba conectado a VCC. De acuerdo con la hoja de datos de atmel, este pin debe conectarse a un filtro de paso bajo cuando se utiliza el ADC convertido.

ingrese la descripción de la imagen aquí

Esquema de Arduino Leonardo

¿Es realmente un filtro de paso bajo? En caso afirmativo, ¿cómo funciona? ¿Cómo llamarías a ese tipo de circuito? ¿Cómo lo modelas?

sarfata
fuente
1
Bueno, el cordón de ferrita proporciona inductividad y el condensador proporciona capacitancia, por lo que es una forma de filtro LC.
AndrejaKo
3
Whoa, terribles esquemas.
Connor Wolf
Resulta que no puede usar un filtro RC tradicional; lea los comentarios a continuación para obtener más información al respecto. Además, la página 302 de la hoja de datos de Atmega 32u4 tiene alguna explicación para esto (24.7.2 Técnicas de cancelación de ruido analógico).
sarfata

Respuestas:

11

ingrese la descripción de la imagen aquí

El inductor más el condensador forman un divisor de voltaje dependiente de la frecuencia.

VOUTVIN=ZCZC+ZL

ZLZCZLZC

Sin embargo, el inductor que usaron no es bueno. Es un supresor EMI de alta frecuencia, dirigido a frecuencias de decenas de MHz. (El tipo utilizado tiene una impedancia de 30 Ω a 100 MHz).

ingrese la descripción de la imagen aquí

La curva de impedancia muestra una pendiente de 0.5 Ω / MHz, por lo que a 100 Hz la parte reactiva de la inductancia es insignificante.

Lo que realmente se necesita es la supresión del ruido de baja frecuencia, como la ondulación de 100 Hz de la fuente de alimentación. Entonces este inductor es bastante inútil, y es como tener el condensador.

Para frecuencias bajas, los inductores pueden ser prácticamente grandes, entonces una resistencia en lugar del inductor habría sido una mejor opción. La hoja de datos dice que AVCC no debería ser inferior a VCC - 0.3 V, pero no pude encontrar cuánto usa AVCC actual. Eso no será mucho, digamos 10 µA máximo. La frecuencia de corte de un filtro RC es

fC=12πRC

Entonces, si usamos una resistencia de 15.9 kΩ con el capacitor de 1 µF, tenemos una frecuencia de corte de 10 Hz, y la respuesta de frecuencia se verá así:

ingrese la descripción de la imagen aquí o aquí

El 10µA a 15.9 kΩ es una caída de 159 mV, por lo que está dentro de las especificaciones. Una fluctuación de 100 Hz se atenuará en 20 dB, eso es 1:10, que no es mucho, pero VCC ya debería haberse desacoplado correctamente, por lo que los 20 dB son solo extra. Por encima de 1 kHz, el ruido se reducirá en al menos 40 dB, eso es un factor 1: 100.

stevenvh
fuente
Gran respuesta Steven. ¡Muchas gracias! (y gracias por la imagen agregada en la pregunta;)
sarfata
@sarfata: un placer, gracias por aceptar. Pero no subí la foto, eso fue jippie .
Eliminé
Bueno, gracias a ti, ahora sé cómo ver el historial de edición;) ¡Gracias a todos los que limpiaron la pregunta y la mejoraron!
sarfata
1
IMPORTANTE: ¡LEA ESTO ANTES DE USAR UNA RESISTENCIA! Construyo una tarjeta con un Atmega 32U4 y el filtro de paso bajo descrito en esta página comenta (resistencia de 15.8k + condensador de 1 uF). Resulta que la corriente consumida en AVCC es mucho más alta de lo esperado: mido 2.58V en AVCC con VCC a 3.30V (entonces I = (3.30-2.58) /15.8) = 45uA. La caída de voltaje es 0.72V, que es el doble de la caída permitida. El resultado es que el chip no se puede programar. Puedes leerlo pero la escritura falla todo el tiempo. Quité la resistencia y conecté AVCC directamente a VCC y ahora puedo programar el chip. [CC @stevenh]
sarfata
1
@sarfata: aún puede usar una resistencia, pero debe usar un valor más bajo, como 4.7 k.
stevenvh
9

Algunas muy buenas respuestas. Mi opinión es que el objetivo del filtro LC no es filtrar la ondulación de la fuente de alimentación. Eso se hace mejor con tapas rígidas (bajo ESR) en las líneas eléctricas / planos y eligiendo la parte del regulador correcto para comenzar. Además, si enciende su Arduino desde un puerto USB, el tipo de ruido de ondulación de baja frecuencia sería insignificante. los rieles de potencia digital deberían ayudar allí.

Lo que está haciendo el filtro LC L / P es eliminar los bordes afilados de las señales digitales que se encuentran en las líneas de alimentación digital y, si están directamente conectadas a los pines AVCC, se encontrarían en los circuitos de conversión A / D.

La razón por la que la placa no arranca con la resistencia más grande (en el circuito RC) es que el PLL en la parte ATMega es un circuito analógico y usa los mismos pines AVCC que los convertidores A / D y no recibió suficiente energía . Tal vez realmente no use ambos pines de la misma manera en la parte, pero no hay diferenciación en la hoja de datos (ambos se llaman AVCC). En cuanto al diseño, es difícil tener los pines 24 y 44 como los que van a AVCC ya que están en lados opuestos del chip y ¿quién se molestará en dedicarles un plan de energía completo? Terminas enrutando una señal a través de la parte, probablemente con vías en ambos lados, etc. Doloroso. La hoja de datos apenas menciona esta fea realidad, casi como si el pin adicional fuera un segundo pensamiento de ATMEL.

De todos modos, estas señales ruidosas salen del propio microprocesador cuando se conmuta internamente y no dañan la lógica digital, pero tratar de obtener 10 bits de precisión analógica requiere un poco más de esfuerzo en el lado de la fuente de alimentación. Esos bordes de ruido digital pueden estar en el marco temporal de decenas de nS (100 Mhz-ish), por lo que los filtros con esta característica funcionarán bastante bien. Si trabaja a través de los números, usando AVCC = 5V y 10 bits de A / D, cada LSB es de aproximadamente 5 mV. Parece que necesitaría tener menos de la mitad como regla general para tener un ruido "bajo".

La hoja de datos MH2029-300Y muestra 20 ohmios a 100 Mhz. Si el tipo que probó el filtro RC hubiera establecido la frecuencia de la rodilla en 1 Mhz, probablemente habría funcionado mejor porque podría haber elegido una resistencia mucho más pequeña. Algo así como una resistencia de 22 ohmios (para igualar la impedancia del inductor a 100 Mhz) y una tapa de .01uF habría tenido una caída de voltaje de CC lo suficientemente pequeña debido a la carga de entrada (45uA x 22 ohmios = 1 mV más o menos de sus números). Bajaría 40 dB en la frecuencia de interés.

No apostaría un pase de diseño, pero si las partes tuvieran un poco de espacio, podría darle una oportunidad (¿elegir un espacio de 0805 para ambos?) Pero con el inductor siendo una parte de $ 0.10 de Mouser, ¿por qué no quedarse con él? ?

DougG
fuente
1

Sí, es un filtro de paso bajo. El cordón de ferrita es un componente inductivo con pérdida que actúa de manera similar a una resistencia dependiente de la frecuencia, con L dominando a bajas frecuencias y R dominando a altas frecuencias. El condensador desvía las frecuencias más altas a tierra. Combinados forman un filtro LC con bajo Q, que no experimenta el pico resonante agudo (siempre y cuando el corte esté en la región resistiva del cordón) que puede causar problemas en un filtro LC "estándar".
Sin embargo, como Steven señala, esta parte no es particularmente adecuada para esta aplicación, ya que es una parte de alta frecuencia y el ADC es de frecuencia relativamente baja. Sería útil en algo que requiera filtrado a frecuencias mucho más altas, como un diseño FPGA, ADC de alta frecuencia, etc.

Oli Glaser
fuente