Quais valores do resistor e do capacitor usar para o isolamento do pino de redefinição do AVR?


15

Fundo...

Sou iniciante em aplicativos AVR. Recentemente, construí dois circuitos baseados no ATTINY13 (piscas LED glorificadas) que funcionavam corretamente (independentemente) na placa de ensaio. Quando os combinei em um painel de solda com uma fonte de alimentação compartilhada, tudo deu errado. Depois de muita investigação, parecia que eles estavam sendo redefinidos constantemente.

Eu tinha deixado o pino 1 (reset) de cada micro desconectado. Eu pesquisei formas adequadas de lidar com o pino de reset e deste implementado o seguinte:

  1. Adicionado um capacitor eletrolítico de 100uF em paralelo com a fonte de alimentação para ajudar com qualquer consumo potencial de corrente, a fonte de alimentação seria muito "lenta" para lidar.

  2. Adicionado um resistor de 4.7K de VCCaRESET

  3. Adicionado um condensador de cerâmica 0.1uF a partir GNDdeRESET

Essas etapas resolveram o problema completamente.

A questão:

A página que eu vinculei acima fornece conselhos ao fazer o ISP (programação no sistema) que não estou fazendo (ainda). (Estou programando os micros separadamente, sem outros componentes conectados a eles.)

Eu já vi vários valores diferentes de capacitor (10nF, 0.1uF, etc.) e resistor (4.7K, 10K, etc.) e não tenho certeza de quais fatores alteram esses valores. Alguém pode esclarecer como funciona o isolamento de pinos de redefinição e como calcular os valores dos componentes a serem usados? Você pode explicar quais valores usar se não houver cabeçalho de programação no sistema?

Esquema de isolamento do pino de redefinição do AVR

Respostas:


15

Atmel AVR042: As considerações sobre o design do hardware do AVR nos dizem que o capacitor no pino de redefinição não é necessário. Pessoalmente, acho que é um exagero. Não há motivo para você continuar fazendo dezenas de circuitos AVR, cada um com esse capacitor redundante.

Quanto ao resistor pull-up de reset:

A linha de redefinição possui um resistor de pull-up interno, mas se o ambiente estiver barulhento, pode ser insuficiente e, portanto, a redefinição pode ocorrer esporadicamente. Consulte a folha de dados para obter o valor do resistor de pull-up em dispositivos específicos. É possível conectar o RESET para que seja possível entrar na programação de alta tensão e na redefinição normal do nível baixo, aplicando um resistor de pull-up à linha RESET. Esse resistor de pull-up garante que a redefinição não ocorra involuntariamente. O resistor de pull-up pode, em teoria, ser de qualquer tamanho, mas se o Atmel®AVR® deve ser programado a partir de, por exemplo, STK500 / AVRISP, o pull-up não deve ser tão forte que o programador não possa ativar o RESET puxando a linha RESET para baixo. O resistor de pull-up recomendado é de 4,7kΩou maior ao usar o STK500 para programação. Para que o debugWIRE funcione corretamente, o pull-up não deve ser menor que 10kΩ.

Se você der uma olhada em produtos profissionais que incorporam os micros AVR, como o Arduino, seus numerosos clones, dezenas de kits de desenvolvimento, você encontrará que a maioria usa um resistor de 4,7kΩ ou 10kΩ.

E particularmente para o seu ATtiny13, a folha de dados especifica que o pullup deve idealmente variar [20kΩ, 80kΩ].


1
20k a 80k, ou 20k dividido por 80k? :)
JYelton

Obrigado pelo link Consideração de design de hardware. Eu não estava ciente deste documento!
precisa saber é o seguinte

Haha, eu usei esse sinal porque todo mundo está usando o sinal de menos. Resistência negativa não faria qualquer sentido, quer :)
Jonny B Good

Normalmente, vejo o til (~) usado para significar "através", mas também "aproximado". Eu acho que depende do contexto. Obrigado por apontar a folha de dados lista o resistor pullup de redefinição, eu não tinha percebido que incluiria essa informação. A folha de dados que eu tenho mostra que o resistor de pull-up do pino de redefinição deve estar entre 30k e 80k. Pelo menos eu sei para onde olhar agora. Obrigado!
JYelton

4
20kΩ...80kΩ

7

Eu sempre uso apenas um resistor pullup de 10k para Vcc no pino / Reset e nunca tive problemas. Também é geralmente uma boa ideia incluir um capacitor de 100nF próximo ao pino Vcc entre Vcc e GND para operação estável do chip. Na minha opinião, o capacitor no pino de redefinição não é necessário, ou seja, eu nunca incluí um em nenhum circuito AVR que desenvolvi (e desenvolvi lotes) e isso nunca me causou pesar.


Você pode explicar (ou apontar para um bom tutorial para iniciantes) como esses capacitores minúsculos ajudam, além de ou em vez de um eletrolítico maior paralelo à fonte de alimentação?
perfil completo de JYelton

1
ele lida com "frequências oscilantes" e pode ser um tópico mais complicado do que se imagina, mas no mínimo 100nF é uma prática padrão aceita como regra geral para capacitores de desvio. Aqui está um (de muitos) artigos de referência que podem ser interessantes: seattlerobotics.org/encoder/jun97/basics.html . Você também pode encontrar postagens relacionadas neste site pesquisando 'ignorar' ou 'desacoplar'
vicatcu

Os capacitores eletrolíticos grandes lidam com as baixas frequências, mas são ineficazes nas altas frequências. Pequenos capacitores de cerâmica (0,1uF) lidam com altas frequências, mas são ineficazes em baixas frequências.
Technophile

Portanto, use os dois, o suprimento deve ter um grande de qualquer maneira e o pequeno localmente. Indução e IC podem ser um problema, mas ao extremo. Interessante que as considerações de HSVP também não tenham um diodo em série com esse resistor de pino de redefinição.
Mckenzm 19/04/19
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.