Tengo un problema con mi ATTiny85. Debo mencionar que uso Arduino como ISP para programarlo.
Mi ATTiny funcionó bien hasta que decidí que necesitaba aumentar la velocidad del reloj de 1MHz a 20MHz, así que seleccioné ATTiny85 a 20MHz en el menú Tableros y luego hice clic en Herramientas> Grabar cargador de arranque. Pero eso fue estúpido, ya que ahora mi ATTiny no funciona en absoluto. No puedo cargar bocetos y, si lo intento, aparece este mensaje:
avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check.
Entonces mi pregunta para usted sería, ¿hay alguna manera de restablecer lo que he hecho? ¿O incluso mejor, para que funcione a 20MHz?
Blink
ejemplo. Si eso funciona bien, puede volver a su ArduinoISP (creo que ese es el nombre del software del programador que estaba usando).Respuestas:
Sospecho que ha configurado los fusibles del controlador para usar una fuente de reloj externa, ya que es imposible hacer que el oscilador interno funcione a 20MHz. Puede darle una nueva vida a su controlador conectando una señal de reloj al pin 2
CLKI
e intente restablecer el reloj al reloj RC interno de 8MHz.En realidad, hay una versión 'fija' de ArduinoISP que tiene una salida de reloj en el pin digital 9. No probé esta salida de reloj yo mismo, pero vale la pena intentarlo. Entonces, además de las conexiones que ya tiene entre Arduino y ATtiny, conecte el pin digital 9 de Arduino al pin 2 de ATtiny85 (CLKI). Luego intente programar el reloj RC interno de 8MHz.
Si revisa la hoja de datos del capítulo 6.2 'Fuentes de reloj' para más detalles.
Un método alternativo es usar un programador de alto voltaje, que puede improvisarse fácilmente usando un Arduino .
Por cierto: algo similar sucederá cuando seleccione una fuente de reloj RC <1MHz , el reloj de su controlador en ese caso funcionará demasiado lento para el software ArduinoISP estándar.
fuente
Como dijo @jippie, esto es simplemente una cuestión de aplicar una fuente de reloj externa (en realidad no importa si la fuente del reloj es de 20MHz o no, solo necesita alcanzar 1MHz más o menos para administrar la velocidad de programación SPI de ArduinoISP).
Como alternativa a la versión ArduinoISP mencionada anteriormente, puede probar ScratchMonkey , que además de la generación de reloj también hace SPI de software para tratar otros problemas de reloj. A menos que haya logrado deshabilitar su pin de reinicio, no debería haber ninguna razón para recurrir a la programación de alto voltaje.
fuente