8 votos

ATTiny85 no funciona después de grabar bootloader

Tengo un problema con mi ATTiny85. Debo mencionar que uso Arduino como ISP para programarlo.

Mi ATTiny funcionaba bien hasta que decidí que necesitaba aumentar la velocidad de reloj de 1MHz a 20MHz, así que seleccioné ATTiny85 a 20MHz en el menú Boards y luego hice clic en Tools>Burn Bootloader. Pero eso fue estúpido, ya que ahora mi ATTiny no funciona en absoluto. No puedo cargar sketches en él y si lo intento me sale este mensaje:

avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check.

Así que mi pregunta para usted sería, ¿hay alguna manera de restablecer lo que he hecho? O mejor aún, ¿para que funcione a 20MHz?

2 votos

¿Recuerdas los valores de los fusibles que ajustaste? Puede que aún estén en pantalla si te desplazas un poco hacia arriba. No se puede ajustar un ATtiny85 a 20MHz con el oscilador interno, ¿conectaste una fuente de reloj?

0 votos

No, no he conectado una fuente de reloj. Acabo de quemar el gestor de arranque con 20mhz attiny seleccionado como el tablero(y, por supuesto, con el attiny conectado al arduino).

0 votos

Tengo otro arduino, ¿hay alguna forma de resetear los fusibles usándolo?

10voto

jason Puntos 147

Sospecho que ha configurado los fusibles del controlador para que utilicen un fuente de reloj externa ya que es imposible conseguir que el oscilador interno funcione a 20MHz. Puedes darle nueva vida a tu controlador conectando una señal de reloj al pin 2 CLKI y tratar de restablecer el reloj a 8MHz reloj RC interno.

De hecho, existe un Versión "fija" de ArduinoISP que tiene una salida de reloj en el pin digital 9. No he probado esta salida de reloj, pero vale la pena intentarlo. Así que además de las conexiones que ya tienes entre Arduino y ATtiny, conecta el pin digital 9 de Arduino al pin 2 (CLKI) de ATtiny85. Luego intenta programar el reloj RC interno de 8MHz.

Si comprueba el ficha técnica capítulo 6.2 'Fuentes de reloj' para más detalles.

Un método alternativo es utilizar un programador de alto voltaje, que puede ser fácilmente improvisado con un Arduino .

BTW: Algo similar ocurrirá cuando selecciones una fuente de reloj RC < 1MHz En ese caso, el reloj de tu controlador irá demasiado lento para el software ArduinoISP estándar.

0 votos

Gracias. Así que necesito una fuente de alimentación de 12v para hacer esto(que actualmente no tengo). Veré que puedo hacer para improvisar. ¿Hay algún problema si la fuente es un poco más de 12v?

0 votos

@Calin ¿De qué "más de 12V" estás hablando? Puedes dañar el chip con bastante facilidad.... Se podrían usar un par de resistencias para bajar el voltaje a 12V. Mira esto: electronics.stackexchange.com/questions/25038/

0 votos

¡Vale, gracias! Lo intentaré mañana ya que ahora es casi medianoche. Os mantendré informados.

5voto

Hope Pires Puntos 6

Como dijo @jippie, esto es simplemente una cuestión de aplicar una fuente de reloj externa (en realidad no importa si la fuente de reloj es de 20MHz o no, sólo tiene que llegar a 1MHz más o menos para gestionar la velocidad de programación SPI de ArduinoISP).

Como alternativa a la versión de ArduinoISP mencionada anteriormente, puedes probar con ScratchMonkey que, además de generar el reloj, también hace SPI por software para resolver otros problemas de sincronización. A menos que se las arregló para desactivar el pin de reset, no debería haber ninguna razón para recurrir a la programación de alto voltaje.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X