Ciao a tutti vorrei creare un pcb per un arduino mega 2560 personalizzato , in rete si trovano tanti progetti per arduino uno e per programmare il 328 basta avere un arduino uno originale togli il microprocessore dalla scheda ci metti quello nuovo lo programmi e poi lo metti sulla scheda che vuoi , mentre per arduino mega 2560 per programmare la prima volta il microprocessore ?
Visto che non si può smontare come il 328 che procedura va fatta , bisogna caricare il bootloader e da quello che ho capito si può usare un arduino uno con microprocessore montato collegandosi al connettore icsp fin qui ho capito , ma poi per caricare un nuovo programma sulla mia scheda aurduino mega personalizzata cosa devo fare ?
Il bootloader lo carichi via ICSP, quindi devi prevedere il connettore ICSP; per usarlo poi e quindi caricare i programmi via USB, ti occorre un modulo convertitore USB <->Seriale che dovrai collegare sui pin della Serial (PE0, PE1) della tua schedina.
Guglielmo
Ciao Guglielmo
Quindi se ho ben capito devo prevedere sulla mia schedina in connettore ICSP che poi collegherò al connettore ICSP di un arduino UNO , questo per caricare il bootloader e perdona la mia ignoranza i pin uno di arduino UNO va collegato al pin uno di arduino mega e cosi via per tutti gli altri pin o c'è una sequenza diversa .
Io ho un convertitore USB2 Seriale con 5 pin in uscita.
Gnd
+5 v
TX
RX
Reset
Devo usare solo i pin TX ed Rx e collegarli a PE0 e PE1, per la normale programmazione ?
Grazie per la tua cortesia e la risposta super celere .
NO, i collegamenti se vuoi usare quell'accrocchio di "Arduino as ISP" sono un po' diversi ... io ti consiglio di investite qualche euro in più e comprare un vero programmatore ICSP, tipo QUESTO.
NO, devi collegarli TUTTI ... il TX ed RX alla seriale del ATmega2560, e gli altri all'alimentazione ed al reset ... senza il reset il bootloader non parte.
Ma ... perdona ... sicuro di volerti imbarcare in un'impresa simile? Saldare il ATmega2560 NON è uno scherzo e richiede notevole pratica, e, secondo me, il gioco non vale la candela.
Ci sono delle schedine Mini ATemga2560 che sono a tutti gli effetti degli Arduino MEGA ma di dimensioni molto più ridotte ... basta che fai una ricerca e le trovi ... oggetti del genere:
complete di quarzo, interfaccia USB, ecc. ecc.
Guglielmo
Sto realizzando ad uso persona un sistema per pulire dei pannelli fotovoltaici e mi piace adattare alle mie esigenze i vari componenti , non mi metterei mai a saldare un ATmega a mano libera ho provato in passato con delle resistenze ed altri componenti con pochi pin ed è veramente problematico , il disegno il pcb e lo faccio realizzare con i componenti già saldati , in rete ci sono diverse aziende che lo fanno devi ordinare una minima quantità ma il lavoro è ben fatto .
Avrei i mie pin nominati come lo voglio io e la scheda adattata al mio spazio .
Io ho questo come programmatore non so se può andar bene
... dovrebbe
Guglielmo
EDIT: vedi più avanti ...
Ottimo grazie ancora per la tua cortesia e pazienza
Aspetta ... sono andato a leggere le specifiche ... QUI ...
With the Arduino USB 2 Serial micro get the 5 volt TX and RX lines from a computer USB port that you can connect straight to the Arduino Mini 05 or to other microcontrollers for programming or data communication.
... quello NON è un programmatore, quello è un adattatore USB <-> Seriale e quindi puoi programmare cose che hanno il bootloader a bordo, ma NON è un programmatore ICSP!
Guglielmo
Concordo con Guglielmo sul fatto che "Arduino as ISP" è un accrocchio, ma se si tratta solo di caricare il bootloader la prima volta può andare bene lo stesso.
Io l'ho fatto con una scheda che sto sviluppando per conto di un conoscente e che usa proprio il micro ATMega2560. Una volta caricato il bootloader, i successivi aggiornamenti li ho fatti usando un comune convertitore USB <> TTL ed un condensatore da 100nF tra DRT ed il pin RESET del micro.
Visto che tu il PCB lo devi ancora progettare, prevedi fin da subito un connettore USB con il relativo convertitore tipo CH340x, CP210x o FT232x
Buonasera a tutti
Scusate il ritardo nella lettura dei vostri consigli , ma come capita spesso la vita di tutti i giorni ti ruba quel poco tempo libero che si può dedicare alle proprie passioni , comunque nel frattempo è arrivata la scheda che ho progettato ho già caricato il bootloader con un arduoino uno , solo che adesso leggendo il commento di Guglielmo il mio "programmatore USB " non può programmare il mio ATMega2560 .
Sulla mia scheda ho previsto un connettore ICSP collegato con i pin MISO,MOSI,SCK,RESET,+5,GND , e sembra aver funzionato quando ho caricato il bootloader, poi ho previsto un connettore di programmazione che ho collegato sui pin ,RESET,GND ,+5 ,RX0,TX0 .
Il mio dubbio adesso è che tipo di programmatore devo usare per programmare ?
Grazie ancora a tutti per la pazienza e la cortesia
Se hai caricato con successo il bootloader non serve un programmatore, ma ti basta un semplice convertitore USB/TTL (che potevi mettere direttamente sulla tua board a questo punto).
Per poter fare correttamente la programmazione della scheda però dovevi mettere un condensatore in serie tra il segnale DTR del convertitore ed il RESET del microcontrollore, lo hai fatto?
Forse facciamo prima se condividi lo schema elettrico.
SCH_Schematic1_2025-03-01.pdf (288.2 KB)
Buongiorno
Cotestatnt
No non ho messo il condensatore ed ho fatto un errore a non metterlo sulla mia board ho messo in allegato lo schema , per risolvere il problema del condensatore che non ho messo sulla board sarebbe possibile metterlo esternamente in serie al segnale DTR ?
Si, funziona anche se lo aggiungi esternamente.
Un po' scomodo magari, ma pazienza.
Io ero nella stessa situazione e mi ero preparato un cavo adatto allo scopo con un condensatore da 100nF nel mezzo.
Basta fare un taglietto e metterne uno smd.
Ho messo il condensatore in serie al pin reset del mio convertitore USB/TTL originale arduino serial light adapter sul IDE me lo riconosce come com 8 .
Seleziono la scheda arduino mega or mega2560, seleziono il programmatore USBasp
e lancio la programmazione con carica da programmatore .
Ma non mi funziona , quesLo
sketch usa 18458 byte (7%) dello spazio disponibile per i programmi. Il massimo è 253952 byte.
Le variabili globali usano 2305 byte (28%) di memoria dinamica, lasciando altri 5887 byte liberi per le variabili locali. Il massimo è 8192 byte.
avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'
Programmazione non riuscita: errore durante il caricamento: exit status 1to il messaggio di errore
Per forza: è una seriale, non un programmatore USBASP!
cosa devo selezionare come programmatore ?
Nessuno!
Adesso mi da questo errore:
Lo sketch usa 18458 byte (7%) dello spazio disponibile per i programmi. Il massimo è 253952 byte.
Le variabili globali usano 2305 byte (28%) di memoria dinamica, lasciando altri 5887 byte liberi per le variabili locali. Il massimo è 8192 byte.
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
Caricamento non riuscito: errore durante il caricamento: exit status 1
Come se no n vede il programmatore .
Sei sicuro di aver caricato correttamente il bootloader sul micro?
Inoltre considera che l'adattaore USB/TTL va collegato "incrociato":
- TX adattatoree <-> RX microcontrollore
- RX adattatoree <-> TX microcontrollore


