Me está costando muchísimo obtener el encabezado ISP AVR en mi placa de circuitos para que realmente me permita flashear el chip. Básicamente, con un ATTINY85 tienes que compartir los pines de programación con los pines que usa tu programa. Creo que algo sobre este intercambio está causando problemas.
En el siguiente esquema, J3
y J4
van a una placa con 7 LEDs RGB APA102 direccionables. J3
proporciona señales SPI de reloj y datos, y J4
proporciona energía y tierra.
Tengo un reloj LED en el pin PB2
o SCK
de los encabezados ISP, y el pin de datos LED en PB4
que no se comparte con los encabezados ISP en absoluto. PB3
controla un interruptor de alta potencia en los LED para evitar que tomen corriente en el modo de suspensión.
Cuando intenté flashear un programa con esta configuración, pareció funcionar al principio, aunque pude ver pulsos rojos en los LED, lo que me sorprendió. Pero en el último paso de la carga, el paso de verificación comprueba que el programa se haya escrito correctamente y haya fallado. Y ahora el chip ya no se puede programar ya que avrdude solo da avrdude: initialization failed, rc=-1
Me las arreglé para quitar el chip de la placa y ponerlo en un zócalo solo en una placa de pruebas. En ese estado, tuve la oportunidad de mostrarlo sin problemas, y funcionó muy bien cuando lo soldé nuevamente al tablero. Pero cuando intenté mostrarlo de nuevo en ese tablero, sucedió exactamente lo mismo. Es evidente que algo en mi circuito es el culpable. Pero no estoy seguro de qué.
¿Qué impide que mi circuito permita que destelle el ATTINY85? Y, si es necesario, ¿qué puedo hacer para aislar a los componentes de las señales de programación que no deberían tener en cuenta?
Colgante de Chakra by Squeegy 46acb26f5f80a881/Chakra / / embed_img / 14256226900000 /
^ haga clic en eso y podrá navegar tanto por el esquema como por el PCB porque Upverter está limpio.