Mega 2560 - ATmega16u2 non funziona

Salve a tutti, vi espongo un problema che prombabilmente anche altri hanno avuto ma al quale non ho trovato ancora una soluzione.

Nella fase di upload di uno sketck con Arduino IDE 1 su un MEGA rev3 mi viene sempre restituito l'errore:

avrdude: stk500_2_ReceiveMessage(): timeout

e quindi non è più possibile programmare l'arduino con la porta usb.

Per caso mi son ritrovato un vecchio convertitore USB-TTL che attualmente utilizzo per programmare l'arduino attraverso i pin 0 e 1 (TX e RX) con reset manuale (qppena finisce di compilare lo sketch) e, provando ad uploadare il test seriale ho notato che la comunicazione attraverso il serial monotor funziona sia con la scheda USB-TTL che con la presa usb dell'aduino, sia in trasmissione che in ricezione (ho provato il test del pwm via seriale).

A questo punto non so più che altro fare, la scheda funziona e, almeno in parte, anche il 16u2. qualcuno ha qualche idea su come è possibile rimettere in setso il tutto?

Se necessario, dispongo anche di:

Arduino Ethernet
Arduino Serial Adapter
USB-TTL converter

Grazie

Che SO usi? Se usi Windows ed in precedenza avevi un'altra scheda Arduino, devi cambiare il file INF per il convertitore USB/seriale perché il micro Atmega16U2 è diverso dall'8U2 dei precedenti modelli.

leo72:
Che SO usi? Se usi Windows ed in precedenza avevi un'altra scheda Arduino, devi cambiare il file INF per il convertitore USB/seriale perché il micro Atmega16U2 è diverso dall'8U2 dei precedenti modelli.

Non credo sia questo il problema visto che a quanto pare la USB gli funziona con il serial monitor, propendo per un problema sulla circuiteria dell'autoreset, cosa facilmente verificabile provando a resettare manualmente la Mega mentre la programma da USB come fa con l'adattore USB-seriale.

di solito uso Ubuntu per programmare i 2 Arduino, ma ho anche mac e windows pronti all'occorrenza.
ho riprovato a stabilire una comunicazione USB con l'Arduino Mega, neanche quella funziona più ma nell'IDE è sempre disponibile la voce relativa alla scheda Mega quando connessa via USB.

Guardando un po' in rete ho trovato anche una soluzione (in questo forum Arduino Forum), ma non ho un AVRISP mkII in questo momento.
è possibile programmare l'arduino Ethernet ( UNO ) in modo che si comporti come un ISP? Negli sketch d'esempio ho notato "Arduino ISP" ma non riesco nemmeno ad utilizzarlo come programmatore diretto per la MEGA, sono ancora relegato alla USB-TTL e al reset manuale

Puoi usare anche un altro programmatore, penso. Il tipo avrà usato l'MKII perché aveva quello ma ho visto che usa semplicemente avrdude da terminale per riflashare il firmware del 16U2. In linea teorica potresti farlo anche con un Arduino e lo sketch Arduino ISP però non so se l'Arduino Ethernet funziona ma credo di no perché gli manca un convertitore USB/seriale.

il convertitore USB Seriale ce l'ho http://arduino.cc/en/Main/USBSerial, ho anche provato a caricare lo sketch Arduino ISP.
Fin qui nessun problema, poi ho provato a caricare uno sketch semplice come blink su MEGA attraverso l'arduino ethernet come ISP, ma non ci sono riuscito. Ho provato a collegare i PIN ICSP della Ethernet con quelli della MEGA (quelli connessi all'AtMEGA 2560) per fare la prova ma niente da fare.
mi conviene cercare un ISP o provo ancora con quello che ho?

ma usi l'apposito cavo a 6 pin?
hai selezionato la board di destinazione giusta dopo aver caricato arduioisp?

La board che seleziono nell'IDE è la Mega e come programmer seleziono "Arduino as ISP".

sfortunatamente non ho il cavo giusto, collego i vari pin ICSP a uno a uno, forse è li che commetto qualche errore.