ATMEGA2560 non si interfaccia al computer

Salve a tutti, ho acquistato una scheda KFB2.0 (chip ATMEGA2560 e CH340T per l'interfaccia USB) per utilizzarla come scheda madre di una stampante 3d.
Il problema è che non riesco in nessun modo a interfacciarla col computer per caricare un programma (ho provato con 2 PC con Windows10 e uno con Linux), ho installato anche i driver per il chip CH340T.

Ho già provato a installare un nuovo bootloader tramite un Arduino UNO sia attraverso "Scrivi il bootloader" presente nell' IDE arduino sia tramite il programma di Nick Gammon: https://www.gammon.com.au/bootloader

Queste sono le informazioni che mi da il programma di Nick Gammon dopo aver inserito il bootloader:

Signature = 0x1E 0x98 0x01 
Processor = ATmega2560
Flash memory size = 262144 bytes.
LFuse = 0xFF 
HFuse = 0xD8 
EFuse = 0xFD 
Lock byte = 0xEF 
Clock calibration = 0xB2 
Bootloader address = 0x3E000
Bootloader length = 7474 bytes.

Queste le informazioni che leggo mentre scrive il bootloader:

Erasing chip ...
Writing bootloader ...
Committing page starting at 0x3E000
Committing page starting at 0x3E100
Committing page starting at 0x3E200
Committing page starting at 0x3E300
Committing page starting at 0x3E400
Committing page starting at 0x3E500
Committing page starting at 0x3E600
Committing page starting at 0x3E700
Committing page starting at 0x3E800
Committing page starting at 0x3E900
Committing page starting at 0x3EA00
Committing page starting at 0x3EB00
Committing page starting at 0x3EC00
Committing page starting at 0x3ED00
Committing page starting at 0x3EE00
Committing page starting at 0x3EF00
Committing page starting at 0x3F000
Committing page starting at 0x3F100
Committing page starting at 0x3F200
Committing page starting at 0x3F300
Committing page starting at 0x3F400
Committing page starting at 0x3F500
Committing page starting at 0x3F600
Committing page starting at 0x3F700
Committing page starting at 0x3F800
Committing page starting at 0x3F900
Committing page starting at 0x3FA00
Committing page starting at 0x3FB00
Committing page starting at 0x3FC00
Committing page starting at 0x3FD00
Written.
Verifying ...
No errors found.
Writing fuses ...
LFuse = 0xFF 
HFuse = 0xD8 
EFuse = 0xFD 
Lock byte = 0xEF 
Clock calibration = 0xB2 
Done.

Confrontando con il modello che trovo sul suo sito vedo che la lunghezza del mio bootloader è di 7474 bytes contro una lunghezza standard di 8192 bytes, e i processi come "Committing page starting at 0x3E000" arrivano fino a 0x3FD00 e mancano sempre secondo il modello 0x3FE00 e 0x3FF00.

Scusate per il post lungo, ho cercato di dare tutte le info di cui disponevo, spero possiate aiutarmi.

Benvenuto. Essendo il tuo primo post, nel rispetto del regolamento, ti chiediamo cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il su citato REGOLAMENTO... Grazie.
Qui una serie di link utili, non inerenti al tuo problema:

Ha ragione, ho provveduto subito a presentarmi, grazie.

Du mußt nicht den Bootloader draufladen (der ist schon drauf). Du mußt den Sketch draufladen.
Grüße Uwe

Scusate.
Non devi caricare il bootloader che é giá sul controller e che non puó essere caricato tramite USB. Devi caricare lo sketch.

Ciao Uwe

Thank you, but i need that board communicates with serial to PC

Grazie, ma ho bisogno che la scheda comunichi con la USB al PC

Ehi ... siete sul forum ITALIANO eh !!! >:(

Guglielmo

prometto di migliorare.

uwefed:
Scusate.
Non devi caricare il bootloader che é giá sul controller e che non puó essere caricato tramite USB. Devi caricare lo sketch.

Ciao Uwe

Infatti ho caricato il bootloader usando Arduino UNO come programmatore, collegando i pin ICSP della scheda KFB2.0 e di arduino e tramite l'IDE ho cliccato su "scrivi il bootloader".
Il mio problema è che la scheda non vede proprio letta dal PC quindi non posso caricare nessun programma

Ma se vai sul "pannello di controllo", "gestione dispositivi", tra le "porte (COMe LPT)", quando il MEGA è collegato lo vedi e Windows lo riconosce? Se si con quale COMx:? Da indicazioni di qualche anomalia?

Guglielmo

Ma a questo punto usiamo arduino uno per caricare gli sketch e verifichiamo che funzioni.
Si, capisco sia un rimedio "idiota" ma almeno per capire se non ci siano altri problemi.

gpb01:
Ma se vai sul "pannello di controllo", "gestione dispositivi", tra le "porte (COMe LPT)", quando il MEGA è collegato lo vedi e Windows lo riconosce? Se si con quale COMx:? Da indicazioni di qualche anomalia?

Guglielmo

Non vedo nulla né su porte COM né su dispositivi conosciuti, però la scheda l'alimentazione lo riceve, ho provato con 2 cavi diversi e funzionano con Arduino UNO.

speedyant:
Ma a questo punto usiamo arduino uno per caricare gli sketch e verifichiamo che funzioni.
Si, capisco sia un rimedio "idiota" ma almeno per capire se non ci siano altri problemi.

Il programma lo carico usando UNO come programmatore no? In tal caso provo subito

Alby312:
Non vedo nulla né su porte COM né su dispositivi conosciuti, però la scheda l'alimentazione lo riceve, ho provato con 2 cavi diversi e funzionano con Arduino UNO.

... e quindi è del tutto INUTILE che giochi con il "bootloader" che, fino a quando la scheda non viene vista da Win, NON c'entra nulla !!!
Lascia quindi perdere il "bootloader" (che probabilmente andava già bene all'inizio) e scopri perché Win NON vede la porta ... fino a quando Win NON la vede NON puoi caricare i programmi via USB (... e, ripeto, il bootloader NON c'entra nulla).

Alby312:
Il programma lo carico usando UNO come programmatore no? In tal caso provo subito

Puoi farlo, ma ... ATTENTO ... caricando il codice in questo modo, si distrugge il "bootloader" e quindi poi NON puoi più programmare via USB se non lo ricarichi.

Io mi dedicherei a capire perché Win NON vede la porta, ma ... scegli tu cosa fare ... ::slight_smile:

Guglielmo

Se windows non vede l'interfaccia seriale, neanche come periferica non riconosciuta, temo che l'unica via per programmare la scheda sia tramite programmatore.
Evidentemente il CH340T è bruciato.

Visto che é una scheda nuova che non ha mai funzionato reclamala come guasta dal rivenditore e fatela cambiare.
Ciao Uwe

gpb01:
Io mi dedicherei a capire perché Win NON vede la porta, ma ... scegli tu cosa fare ... ::slight_smile:

Pensavo fosse il bootloader il problema per questo mi sono messo a reinstallarlo, comunque sì questo è il mio obbiettivo, ma non è possibile che il bootloader non si installi correttamente? Se escludo questo dove posso mettere mano per farla vedere da Windows?

speedyant:
Se windows non vede l'interfaccia seriale, neanche come periferica non riconosciuta, temo che l'unica via per programmare la scheda sia tramite programmatore.
Evidentemente il CH340T è bruciato.

Esiste un modo per verificare che il chip sia bruciato?

uwefed:
Visto che é una scheda nuova che non ha mai funzionato reclamala come guasta dal rivenditore e fatela cambiare.
Ciao Uwe

L'ho presa da un sito cinese, quindi non so se è possibile fare ciò, ancora dopo 5 giorni non mi hanno risposto, per questo motivo sto cercando di farla funzionare in tutti i modi.

Caricando un programma con Arduino UNO come programmatore ricevo il seguente errore:

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
Errore durante il caricamento dello sketch

So che non è la soluzione al problema ma può essere utile per trovarlo?

Alby312:
Pensavo fosse il bootloader il problema per questo mi sono messo a reinstallarlo, comunque sì questo è il mio obbiettivo, ma non è possibile che il bootloader non si installi correttamente?

... magari non mi sono spiegato ... SE windows NON vede la porta ... il bootloader non viene minimamente coinvolto, visto che NON può comunicare con il PC ! Quindi ... a che serve ricaricare il bootloader SE tanto al bootloader NON si arriva perché la porta non c'è ? ? ? :smiling_imp:

Guglielmo

Alby312:
Caricando un programma con Arduino UNO come programmatore ricevo il seguente errore ...

Non so quale guida tu stia seguento per usare Arduino UNO come programmatore ... ti consiglio di studiare e seguire alla lettera QUESTA qui che è ampiamente collaudata e che porta vari esempi.

SE già stai seguendo alla lettera quella e ricevi sempre l'errore ... mi sa che la MEGA la puoi buttare ... ::slight_smile:

Guglielmo

gpb01:
... magari non mi sono spiegato ... SE windows NON vede la porta ... il bootloader non viene minimamente coinvolto, visto che NON può comunicare con il PC ! Quindi ... a che serve ricaricare il bootloader SE tanto al bootloader NON si arriva perché la porta non c'è ? ? ? :smiling_imp:

Guglielmo

Pensavo che il bootloader fosse coinvolto nella comunicazione con windows, se mi dici che non c'entra nulla suppongo che il problema sia nel chip o in Windows no?

Alby312:
Pensavo che il bootloader fosse coinvolto nella comunicazione con windows, se mi dici che non c’entra nulla suppongo che il problema sia nel chip o in Windows no?

Un conto è il riconoscimento hardware di una porta (chip di interfaccia USB <-> Seriale, driver di Win, Win stesso) ed un conto è il flusso di dati che poi possono passare su tale porta. Se manca la porta come fa il bootloader a comunicare?

Guglielmo

Ho provato a reinstallare i driver in tutti i pc a cui ho accesso e ancora MEGA non viene visto, dato che il collegamento di windows è con il chip di interfaccia USB esiste qualche modo per vedere se è proprio quello il problema?