¿Qué valores de resistencia y capacitor usar para el aislamiento del pin de restablecimiento de AVR?

15

Background...

Soy un novato en aplicaciones AVR. Recientemente construí dos circuitos basados en ATTINY13 (parpadeos de LED glorificados) que funcionaron correctamente (independientemente) en el tablero. Cuando los combiné en una placa de soldadura con una fuente de alimentación compartida, las cosas se volvieron locas. Después de mucha investigación, parecía que se estaban reiniciando constantemente.

Había dejado el pin 1 (reinicio) de cada micro desconectado. Investigué formas adecuadas de manejar el pin de reinicio y de esto implementé lo siguiente:

  1. Se agregó un condensador electrolítico de 100 uF en paralelo con la fuente de alimentación para ayudar con cualquier posible consumo de corriente, la fuente de alimentación sería demasiado "lenta" para tratar.

  2. Se agregó una resistencia de 4.7K de VCC a RESET

  3. Se agregó un condensador cerámico de 0.1uF de GND a RESET

Estos pasos resolvieron el problema completamente.

La pregunta:

La página que vinculé anteriormente proporciona consejos al hacer ISP (programación en el sistema) que no estoy haciendo (todavía). (Estoy programando los micros por separado sin ningún otro componente conectado a ellos).

He visto varios valores diferentes de capacitor (10nF, 0.1uF, etc.) y resistencia (4.7K, 10K, etc.) y no estoy seguro de qué factores alteran estos valores. ¿Alguien puede arrojar algo de luz sobre cómo funciona el aislamiento del pin de reinicio, y cómo calcular los valores de los componentes para usar? ¿Puede explicar qué valores usar si no hay un encabezado de programación en el sistema?

    
pregunta JYelton

2 respuestas

14

Atmel AVR042: AVR Hardware Design Considerations nos dice que Condensador en el pin de reinicio no es necesario. Personalmente creo que es una exageración. No hay ninguna razón para que continúes haciendo docenas de circuitos AVR, todos y cada uno con ese condensador redundante.

En cuanto a la resistencia de recuperación de restablecimiento:

  

La línea de restablecimiento tiene una resistencia de pull-up interna, pero si la   El ambiente es ruidoso, puede ser insuficiente y, por lo tanto, el reinicio puede   Ocurren esporádicamente. Consulte la hoja de datos para el valor de la resistencia de pull-up   en dispositivos específicos. Conectando el RESET para que sea posible   Introduzca tanto la programación de alto voltaje como el reinicio ordinario de bajo nivel puede   se logrará mediante la aplicación de una resistencia de pull-up a la línea RESET. Esta   La resistencia de pull-up se asegura de que el reinicio no sea bajo involuntariamente.   La resistencia de pull-up puede en teoría ser de cualquier tamaño, pero si la   Atmel®AVR® debe programarse desde, por ejemplo, STK500 / AVRISP el pull-up   no debe ser tan fuerte que el programador no pueda activar RESET   dibujar la línea RESET baja. La resistencia de pull-up recomendada es 4.7kΩ o   más grande cuando se utiliza STK500 para la programación. Para que debugWIRE funcione   correctamente, el pull-up no debe ser inferior a 10kΩ.

Si analiza los productos profesionales que incorporan los micros AVR, como el Arduino, sus numerosos clones, docenas de kits de desarrollo, encontrará que la mayoría utiliza una resistencia de 4.7 k 4.7 o 10 kΩ.

Y, en particular, para su ATtiny13, su hoja de datos especifica que el despliegue debe tener un rango ideal de [20kΩ, 80kΩ].

    
respondido por el Jonny B Good
7

Siempre utilizo una resistencia pullup de 10k para Vcc en el pin / Reset y nunca he tenido ningún problema. En general, también es una buena idea incluir un condensador de 100 nF cerca del pin Vcc entre Vcc y GND para un funcionamiento estable del chip. En mi opinión, el condensador en el pin de reinicio no es necesario, es decir, no he incluido nunca en ningún circuito AVR que haya desarrollado (y he desarrollado muchos) y nunca me ha causado problemas. .

    
respondido por el vicatcu

Lea otras preguntas en las etiquetas