Hola,
Me he lanzado a la aventura de crear un prototipo para un sistema que me han encargado usando Arduino Mega 2560 R3. Una vez que comprobé que todo funcionaba bien con la placa estándar decidí crear mi placa personalizada incluyendo en ella todo los componentes necesarios.
Hace unos días recibí del fabricante las placas montadas y me dispuse a instalar el software necesario:
-
Primer paso, cargar el firmware del ATMega 16U2 tal como cuentan en Arduino DFU Tutorial (Device Firmware Update) | PuCoMí.
-
Prueba de que funciona bien con el Monitor Serie poniendo RESET a GND y puenteando TX0 - RX0. Correcto.
-
Proceder a subir el bootloader. No pude desde el IDE de Arduino usando el cable USB y la opción "Herramientas-Grabar Secuencia de Inicio". Decidí probar con un Arduino UNO usandolo como ISP y con un grabador USBasp, y tampoco. Seguí estos pasos Gammon Forum : Electronics : Microprocessors : Atmega bootloader programmer y no me dio errores. Hago las comprobaciones de verificación y todo correcto.
-
Antes de nada, voy a hacer una prueba con Blinker y cual es mi sorpresa cuando me dice que no puedo cargar el programa. Me dice:
avrdude: ser_recv(): programmer is not responding
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer -
Intento subir el sketch usando Arduino UNO como ISP y con el grabador USBasp, obteniendo resultados similares.
-
He comprobado todo el circuíto y he quitado los componentes externos en la placa hasta dejar solo los de Arduino, sin éxito.
-
He intentado subir el sketch con avrdude directamente y se corrompe el bootloader.
-
Una vez restaurado el bootloader he comprobado con un dump de avrdude que está en la memoria flash.
-
Sospecho que por alguna razón el micro no ejecuta el bootloader. He probado incluso con este Bootloader for Arduino Mega2560, sin conseguir que se ejecute.
Son 4 placas iguales, y con las 4 pasa lo mismo. He comprobado conexiones eléctricas, fuses, posición de componentes.....
No se que más hacer, sin osciloscopio a mano, para comprobar si el cuarzo de 16 Mhz está funcionando, ya que puede ser que al no oscilar el pic no arranque, aunque sería mucha casualidad que las 4 placas viniesen con el cuarzo malo.
Aunque no me ha pasado en otros montajes, me queda la duda de si al ATMega 2560 hay que decirle que empiece a funcionar de alguna manera. En el datasheet no he visto nada de eso.
Arduino IDE 1.0.5.
SO. Linux.
Grabador USBasp.
Avrdude 5.11.1.
¿Alguien puede ayudarme?
Muchas gracias.
NOTA: Todos los pasos descritos han sido también realizados con un Arduino Mega 2560 R3 sin que me reportase fallo alguno.