No se puede programar ATMEGA con ICSP

2

Para un proyecto en el que he estado trabajando, he rediseñado un esquema de PCB en funcionamiento para que use todos los componentes SMD y ahora tenga un encabezado ICSP. La placa es esencialmente un controlador LED controlado por un ATMEGA168. Es compatible con Arduino y la versión PTH funciona bien.

He montado la nueva placa, pero parece que no puedo programarla usando mi AVRISPMkII. Ya que esta es la primera vez que hago algo como esto, estoy luchando para descubrir por dónde empezar cuando se trata de depurar el tablero. Cuando intento comunicarme con el tablero, aparece uno de los dos mensajes de error. Estos son:

avrdude: stk500_getsync(): not in sync: resp=0x00

y

avrdude: stk500_getsync(): not in sync: resp=0x66

Por lo que yo sé, este fallo se debe a que no se puede comunicar con la placa. Me preguntaba si esto podría deberse a que dañé el ATMEGA durante la soldadura, estropee el diseño del circuito o alguna otra cosa. ¿Cómo puedo depurar este tipo de cosas?

[Editar: eliminé el enlace a mi esquema para privacidad, ahora el problema está resuelto]

    
pregunta edcs

1 respuesta

3

Sí, ese error se debe a que no hay comunicación entre la placa y su computadora. Desafortunadamente, esto es difícil de depurar ya que hay casi un número infinito de problemas que pueden causar esto. Todo lo que puedo recomendar es esto:

Debes solucionar los dos extremos:

En la pizarra:

1) Revise sus voltajes. ¿Son correctas? Si es posible hacerlo con un osciloscopio. No todos los programadores proporcionan un voltaje, su placa puede necesitarlo. Por lo general, el STK500 proporciona 5V. Solo debe proporcionar voltaje desde una fuente; El programador o la placa - NO AMBOS.

2) Compruebe que el encabezado de su ICSP esté acoplado correctamente con el pin 1 en el encabezado y vaya al pin 1 en el programador. En el pasado, he cometido errores al voltear una parte o rotarla durante el diseño de tal manera que el pinout se reflejara y ya no sea importante.

3) ¿Adónde va tu red de reinicio? No puedo encontrar un botón ni nada. Si está vinculado a GND, mantienes el MEGA en reinicio.

4) ¿Tiene el cargador de arranque cargado en el ATMEGA? Arduino IDE no funcionará sin él.

5) El ICSP puede estar deshabilitado en el tablero. Es posible que haya hecho esto por accidente o que haya salido de fábrica con ICSP deshabilitado. Si puede cargar software a través de él de otra manera, es posible que ICSP esté deshabilitado. Entonces, si ICSP está deshabilitado, ¿qué puedes hacer? Vamos a necesitar reiniciar el chip. Lea más aquí

En la computadora:

1) ¿Se seleccionó el puerto serial correcto?

2) ¿Está instalado el controlador correcto?

3) ¿Puedes programar un Arduino regular usando este método? Si puedes, algo está mal con tu tabla.

    
respondido por el Gonzik007

Lea otras preguntas en las etiquetas