Entendendo a fiação de pinos AVCC no ArduinoLeonardo (filtro passa-baixo?)

10

O Arduino Leonardo tem uma diferença interessante com as placas anteriores: o pino AVCC do ATMEGA32U4 é conectado a + 5V através de esferas de ferrite MH2029-300Y e ao GND através de um capacitor de 1uF.

No ArduinoUno e ArduinoMega2560, esse pino era simplesmente conectado ao VCC. De acordo com a folha de dados da atmel, esse pino deve ser conectado a um filtro passa-baixo quando o ADC convertido for usado.

insira a descrição da imagem aqui

Esquema Arduino Leonardo

Este é realmente um filtro passa-baixo? Se sim, como funciona? Como você chamaria esse tipo de circuito? Como você o modela?

sarfata
fonte
11
Bem, o cordão de ferrite fornece indutividade e o capacitor fornece capacitância, por isso é uma forma de filtro LC.
AndrejaKo
3
Whoa, esquemas terríveis.
Connor Wolf
Acontece que você não pode usar um filtro RC tradicional - leia os comentários abaixo para saber mais sobre isso. Além disso, a página 302 da folha de dados do Atmega 32u4 tem algumas explicações para isso (24.7.2 Técnicas de cancelamento de ruído analógico).
sarfata

Respostas:

11

insira a descrição da imagem aqui

O indutor mais o capacitor formam um divisor de tensão dependente da frequência.

VOUTVIN=ZCZC+ZL

ZLZCZLZC

O indutor que eles usaram não é bom, no entanto. É um supressor EMI de alta frequência, voltado para frequências de dezenas de MHz. (O tipo usado tem uma impedância de 30 Ω a 100 MHz.)

insira a descrição da imagem aqui

A curva de impedância mostra uma inclinação de 0,5 MHz / MHz, portanto, a 100 Hz, a parte reativa da indutância é desprezível.

O que é realmente necessário é a supressão de ruídos de baixa frequência, como ondas de 100 Hz da fonte de alimentação. Então este indutor é bastante inútil, e é como ter o capacitor.

Para baixas frequências, os indutores podem ser impraticávelmente grandes, então um resistor em vez do indutor teria sido uma escolha melhor. A folha de dados diz que o AVCC não deve ser menor que o VCC - 0,3 V, mas não consegui encontrar o quanto o AVCC atual usa. Isso não será muito, digamos 10 µA no máximo. A frequência de corte de um filtro RC é

fC=12πRC

Portanto, se usarmos um resistor de 15,9 kΩ com o capacitor de 1 µF, teremos uma frequência de corte de 10 Hz e a resposta de frequência será semelhante a esta:

insira a descrição da imagem aqui ou aqui

Os 10µA a 15,9 kΩ são uma queda de 159 mV, portanto estão dentro das especificações. Uma ondulação de 100 Hz será atenuada em 20 dB, ou seja, 1:10, o que não é muito, mas o VCC já deveria ter sido dissociado adequadamente, portanto os 20 dB são apenas extras. O ruído acima de 1 kHz será reduzido em pelo menos 40 dB, isso é um fator de 1: 100.

stevenvh
fonte
Ótima resposta Steven. Muito obrigado! (e obrigado pela imagem adicionado em questão;)
sarfata
@sarfata - meu prazer, obrigado pela aceitação. Mas eu não carreguei a foto, foi uma brincadeira . Tirei sua assinatura :-) (que não é permitido no site)
stevenvh
Bem, graças a você, agora sei como olhar para o histórico de edições;) Obrigado a todos que limparam a questão e a tornaram melhor!
22412 sarfata
11
IMPORTANTE - LEIA ISTO ANTES DE USAR UM RESISTOR! Eu construo uma placa com um Atmega 32U4 e o filtro passa-baixo descrito nesta página comenta (resistor de 15,8k + capacitor de 1 uF). Acontece que a corrente consumida no AVCC é muito maior do que o esperado: eu medo 2,58V no AVCC com o VCC em 3,30V (então I = (3,30-2,58) / 15,8) = 45uA. A queda de tensão é de 0,72V, que é o dobro da queda permitida. O resultado é que o chip não pode ser programado. Você pode lê-lo, mas a gravação falha o tempo todo. Eu removi o resistor e conectei o AVCC diretamente ao VCC e agora posso programar o chip. [CC @stevenh]
sarfata
11
@sarfata - Você ainda pode usar um resistor, mas precisa usar um valor mais baixo, como 4,7 k.
stevenvh
9

Algumas respostas realmente boas. Minha opinião é que o objetivo do filtro LC não é filtrar a ondulação da fonte de alimentação. É melhor fazer isso com tampas rígidas (baixo ESR) nas linhas / planos de energia e escolhendo a parte correta do regulador para começar. Além disso, se você ligar o Arduino a partir de uma porta USB, o ruído de baixa frequência ondulável seria insignificante. trilhos de energia digitais devem ajudar lá.

O que o filtro LC L / P está fazendo é remover as bordas afiadas dos sinais digitais que chegam às linhas de energia digital e, se conectados diretamente aos pinos do AVCC, podem entrar no circuito de conversão A / D.

A razão pela qual a placa não inicializou com o resistor maior (no circuito RC) é que o PLL na parte ATMega é um circuito analógico e usa os mesmos pinos AVCC que os conversores A / D e não obteve energia suficiente . Talvez ele realmente não use os dois pinos da mesma maneira na peça, mas não há diferenciação na folha de dados (os dois são chamados AVCC). Em termos de layout, é difícil ter os pinos 24 e 44 que vão para o AVCC, pois estão em lados opostos do chip e quem se dará ao trabalho de dedicar todo um plano de energia a eles? Você acaba encaminhando um sinal pela parte provavelmente com vias de ambos os lados, etc. Doloroso. A folha de dados mal menciona essa parte feia da realidade, quase como se o alfinete extra fosse um segundo pensamento da ATMEL.

De qualquer forma, esses sinais ruidosos saem do próprio microprocessador quando ele muda internamente e não prejudicam a lógica digital, mas tentar obter 10 bits de precisão analógica exige um pouco mais de esforço no lado da fonte de alimentação. Essas bordas do ruído digital estão talvez nas dezenas de nS (100 Mhz-ish), portanto, os filtros com essa característica funcionarão muito bem. Se você trabalhar com os números, usando AVCC = 5V e 10 bits de A / D, cada LSB é de cerca de 5 mV. Parece que você precisaria ter menos da metade disso como regra geral para ter um ruído "baixo".

A folha de dados do MH2029-300Y mostra 20 Ohms a 100 Mhz. Se o cara que experimentou o filtro RC tivesse ajustado a frequência do joelho em 1 Mhz, provavelmente teria funcionado melhor porque ele poderia ter escolhido um resistor muito menor. Algo como um resistor de 22 Ohm (para coincidir com a impedância do indutor em 100 Mhz) e uma tampa de 0,01 uF teria tido uma queda de tensão CC suficientemente pequena devido à carga de entrada (45uA x 22 Ohm = 1 mV ou mais dos seus números). Ele diminuiria 40 dB na frequência de interesse.

Eu não apostaria um layout, mas se as peças tivessem alguma pegada, eu poderia tentar (escolher uma pegada 0805 para as duas?), Mas com o indutor sendo uma parte de US $ 0,10 da Mouser, por que não ficar com ela? ?

DougG
fonte
1

Sim, é um filtro passa-baixo. O cordão de ferrite é um componente indutivo com perdas que atua como um resistor dependente da frequência, com L dominando em baixas frequências e R dominando em altas frequências. O capacitor desvia freqüências mais altas para o terra. Combinados, eles formam um filtro LC com baixo Q, que não apresenta o pico ressonante agudo (desde que o corte esteja na região resistiva do cordão) que pode causar problemas em um filtro LC "padrão".
No entanto, como Steven observa, esta parte não é particularmente adequada para esta aplicação, pois é uma parte de alta frequência e o ADC é uma frequência relativamente baixa. Seria útil em algo que requer filtragem em frequências muito mais altas, como um design FPGA, ADC de alta frequência, etc.

Oli Glaser
fonte