-
.
Buonasera, nel finesettimana ho avuto un po' di tempo libero e quindi ho provato a programmare dei processori appena arrivati. Su internette ci sono moltissime guide che si assomigliano un po' tutte. Ma in sostanza si utilizza sempre la scheda arduino come programmatore di flashrom. Gli integrati Atmega328p vengono spediti vergini e con un set predefinito. Quindi per farli funzionare con la board di arduino hanno bisogno di essere pre-programmati con un piccolo bootloader. L'operazione e' semplicissima in quanto tutto l'occorrente e' nel software fornito con l'applicazione integrata (attualmente utilizzo la 1.8.13).
Allora la prima cosa da fare sarebbe collegare il modulo con la usb e caricare nel solito modo il programma negli esempi : File --> Examples --> 11.Arduino ISP --> Arduino ISP Poi : Sketch --> Verify / Complie Poi : Sketch --> Upload In questo modo il modulo arduino e' diventato equivalente ad un programmatore di microcontroller esterno.
Fatto questo si puo' collegare l'integrato Atmega328P con l'aggiunta di un piccolo circuito composto da un quarzo da 16MHz, due condensatori da 22pF, una resistenza da 10K e due condensatori di disaccoppiamento da 10uF 25V. Ecco lo schema :
Sono solo 4 fili per la programmazione e 2 per l'alimentazione (+5Vcc e Massa) Tutti i fili sono collegati con la board di Arduino Uno. Ecco la realizzazione sulla breadboard :
Dopodiche' basta impostare nel menu a tendina Tools :
Board: "Arduino Uno"
Programmer: "Arduino as ISP"
Impostati questi parametri si puo' finalmente selezionare Burn Bootloader
L'operazione e' abbastanza rapida. Una volta conclusa si puo' scollegare l'alimentazione e rimuovere il microcontroller. Ho sostituito l'integrato appena programmato nella board di arduino e anche quello nuovo funziona benissimo. A dire il vero ho avuto qualche difficolta a togliere l'integrato dallo zoccolo, perche' 28 pin fanno molta resistenza meccanica. Eventualmente per attenuare questo problema conviene spruzzare un po' di spray oleoso x contatti sullo zoccolo. Un altro particolare del mio montaggio e' che ho utilizzato dei quarzi da 14.318 MHz recuperati da una vecchia scheda VGA AGP. Inoltre i condensatori da 22pF li ho costruiti con dell' alluminio adesivo e un foglio di plastica trasparente tipo quelli che si utilizzano sulle dispense rilegate in copisteria. Poi li ho misurati con il capacimentro del tester. Buoni anche questi. Il prossimo esperimento sara' il tentativo di far funzionare l'integrato sulla breadboard da solo.
(True hand made capacitor 22pF)
(quarzo riciclato da una vecchia VGA non sono proprio i 16Mhz prescritti ma il microcontroller non lo sa' e funziona bene lo stesso )
. -
.
Ciao, complimenti per l'esperimento. Effettivamente pero' mi sembra strano che non si puo' caricare il bootloader direttamente on-board. In quel caso sarebbe stato comodo un arduino zif con lo zoccolo per programmatori. . -
Testato.
User deleted
la nuova MCU si puo' anche caricare direttamente onboard, ma devi avere un programmatore ICSP. Questo trucco serve per risparamire di comprarlo, cosa che invece consiglio di fare perchè è utile per tante altre cose e costa solo 2€ . -
.
Buonasera, utilizzando lo schema di Abdahl ho provato a disegnare il PCB per clonare il bootloader di Arduino. Schema non ancora testato. Quando riusciro' ad incidere la basetta faro' alcuni esperimenti.
.