Fondo...
Soy un novato en las aplicaciones AVR. Recientemente construí dos circuitos basados en ATTINY13 (luces intermitentes LED glorificadas) que funcionaron correctamente (independientemente) en la placa de prueba. Cuando los combiné en una placa perforada de soldadura con una fuente de alimentación compartida, las cosas se volvieron locas. Después de mucha investigación, parecía que se reiniciaban constantemente.
Me había dejado el pin 1 (reset) de cada micro desconectado. Investigué formas adecuadas de manejar el pin de reinicio y, a partir de esto, implementé lo siguiente:
Se agregó un condensador electrolítico de 100 uF en paralelo con la fuente de alimentación para ayudar con cualquier consumo de corriente potencial que la fuente de alimentación sería demasiado "lenta" para manejar.
Se agregó una resistencia de 4.7K de VCC
aRESET
Se agregó un capacitor cerámico de 0.1uF de GND
aRESET
Estos pasos resolvieron el problema por completo.
La pregunta:
La página que vinculé anteriormente brinda consejos al hacer ISP (programación en el sistema) que no estoy haciendo (todavía). (Estoy programando los micros por separado sin otros componentes conectados 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 restablecimiento 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?
Atmel AVR042: Las consideraciones de diseño de hardware AVR nos dicen que el capacitor en el pin de reinicio no es necesario. Personalmente creo que es exagerado. No hay razón para que sigas haciendo decenas de circuitos AVR, todos y cada uno con ese condensador redundante.
En cuanto a la resistencia pullup de reinicio:
La línea de reinicio tiene una resistencia pull-up interna, pero si el ambiente es ruidoso, puede ser insuficiente y, por lo tanto, el reinicio puede ocurrir esporádicamente. Consulte la hoja de datos para conocer el valor de la resistencia pull-up en dispositivos específicos. La conexión del RESET para que sea posible ingresar tanto a la programación de alto voltaje como al reinicio de bajo nivel ordinario se puede lograr aplicando una resistencia pull-up a la línea RESET. Esta resistencia pull-up se asegura de que el reinicio no sea bajo sin querer. En teoría, la resistencia pull-up puede ser de cualquier tamaño, pero si el Atmel®AVR® debe programarse desde, por ejemplo, STK500/AVRISP, el pull-up no debe ser tan fuerte que el programador no pueda activar RESET dibujando la línea RESET baja. La resistencia pull-up recomendada es de 4,7 kΩo mayor cuando se utiliza STK500 para la programación. Para que debugWIRE funcione correctamente, el pull-up no debe ser inferior a 10kΩ.
Si echa un vistazo a los productos profesionales que incorporan los micros AVR, como Arduino, sus numerosos clones, docenas de kits de desarrollo, encontrará que la mayoría usa una resistencia de 4.7kΩ o 10kΩ.
Y en particular para su ATtiny13, su hoja de datos especifica que el pull-up debería oscilar idealmente [20kΩ, 80kΩ].
Siempre uso una resistencia pullup de 10k a Vcc en el pin /Reset y nunca he tenido ningún problema. En general, también es una buena idea incluir un capacitor de 100 nF cerca del pin Vcc entre Vcc y GND para una operación estable del chip. En mi opinión, el condensador en el pin de reinicio no es necesario, lo que quiere decir que nunca he incluido uno en ningún circuito AVR que haya desarrollado (y he desarrollado muchos) y nunca me causó problemas.
JYelton
JYelton
cristóbal b
JYelton
PetPaulsen
bruno ferreira
cristóbal b
vicatcu
cristóbal b
usuario20088