Riferimento: Building an Arduino on a Breadboard

Premessa

In questo tutorial viene illustrato il procedimento per costruire Arduino su una breadboard. Si costruirà la versione di Arduino che usa il microcontrollore Atmel Atmega328 AVR e la scheda FTDI FT232.

Molto probabilmente nessuno si cimenterà in questa impresa, ma le illustrazioni associate a ciascun passaggio permettono di formarsi una chiara visione di Arduino

Componenti

  • Una breadboard

  • fili per breadboard (diametro 22 AWG)

  • Regolatore di tensione 7805

  • 2 LED

  • 2 resistenze da 220 Ohm

  • 1 resistenza da 10k Ohm

  • 2 condensatori da 10 µF

  • Un quarzo da 16 MHz

  • 2 condensatori da 22 pF

  • 2 interruttori a rilascio del tipo "normalmente aperto" (off) button

  • Scheda di conversione da USB a Seriale (FT232 USB)

  • Infine occorre un collegamento per programmare il microcontrollore, l'AVR Programming Adapter.

Alimentare il circuito

La breadboard su cui si monterà il microcontrollore deve essere alimentata in qualche modo. Si può usare un alimentatore a 5V o una batteria da 9 volt collegata ad un regolatore di tensione.

Collegare un filo per l'alimentazione ed un filo per la massa sui fori delle linee esterne della breadboard, dove si collocherà l'alimentazione.



Collegare Le due file opposte di fori della breadboard.



Inserire il regolatore di tensione 7805 e i fili per fornire l'alimentazione al circuito.
Il regolatore ha il formato TO-220.
Guardando frontalmente il componente, tenendo i piedini rivolti verso il basso, la tensione di ingresso, proveniente da un alimentatore esterno, deve essere collegata al piedino di sinistra, la massa al piedino centrale e la tensione di uscita di 5V viene prelevata sul terminale di destra.
Collegare il piedino di uscita del regolatore alla fila della breadboard dove si è scelto di fornire la tensione e collegare la massa del regolatore al filo dove si è scelto di fornire il negativo della tensione.
Inserire un condensatore da 10µF tra il morsetto IN del regolatore e la massa, e un condensatore da 10µF tra l'alimentazione e massa. I condensatori sono elettrolitici, quindi sono polarizzati, la striscia grigio argento sul condensatore indica il terminale da collegare a massa.



Collegare un LED in serie ad una resistenza da 220Ω tra l'alimentazione del regolatore di tensione. Questo LED collegato all'alimentazione fornisce l'indicazione che il circuito è alimentato. Se si verifica un corto circuito sulla scheda il LED non si accenderà



I fili, rosso e nero, alla sinistra del regolatore di tensione sono collegati nei fori in cui si collegherà l'alimentatore esterno. Il filo rosso si deve collegare al positivo dell'alimentatore e il filo nero si deve collegare al negativo. Collegare solo una tensione compresa tra 7 e 16 V. Con una tensione più bassa il regolatore non sarà in grado di fornire 5V. Con una tensione più alta il regolatore può danneggiarsi. Si consiglia di usare una batteria da 9V o un alimentatore stabilizzato da 12V.

A questo punto si è pronti per inserire il chip del microcontrollore.

ATMEGA8/168/328

Prima di proseguire, osservare lo schema del microcontrollore. Accanto a ciascun piedino è indicata la funzione svolta, che è anche disponibile come funzionalità di Arduino. Il documento completo per l'atmega328 descrive ampiamente la struttura del microcontrollore.



Il piedino di RESET del microcontrollore è attivo a livello basso, quindi per impedire che questo si resetti durante il normale funzionamento, collegare una resistenza da 10kΩ tra il pin RESET e un punto a +5V. Il piedino RESET riavvia il microcontrollore quando viene portato a massa. In seguito si aggiungerà un pulsante per forzare il reset.

Fare anche i seguenti collegamenti:

  • Pin 7 - Vcc - Tensione di alimentazione

  • Pin 8 - GND

  • Pin 22 - GND

  • Pin 21 - AREF - Tensione di riferimento per l'ADC

  • Pin 20 - AVcc - Tensione di alimentazione per l'ADC. È necessario che sia connesso all'alimentazione se l'ADC non deve essere usato.



Inserire il quarzo da 16 MHz per fornire l'oscillatore esterno tra i pin 9 e 10. Collegare due condensatori da 22 pF tra i terminali del quarzo e la massa.



Collegare il switch a rilascio per consentire il reset di Arduino quando si dovrà caricare un nuovo programma. Inserire il switch nella parte superiore del microcontrollore, a cavallo della zona di separazione delle file di fori. Collegare un filo dal terminale di sinistra del switch al piedino RESET del microcontrollore, e un filo dall'altro terminale del switch a massa.



Aggiungere il LED. Il terminale lungo del LED (catodo) deve essere connesso al filo rosso e il terminale corto (anodo) si deve connettere alla resistenza da 220Ω, che va a massa.

Programmazione del microcontrollore

Per trasferire il programma da un computer al microcontrollore ci si serve di un'interfaccia USB che converte il flusso di dati in forma seriale per poter essere acquisiti dal microcontrollore.
Connettere il pin VCCIO della scheda all'alimentazione e il piedino GND a massa.



Capovolgendo la scheda si possono leggere i segnali disponibili sui lati della scheda. L'alimentazione e la massa alla breadboard vengono, quindi, forniti dal computer.



Adesso bisogna collegare la scheda da USB a Seriale con il microcontrollore. Connettere il piedino RX (pin 2) del microcontrollore al piedino TX del convertitore da USB a seriale, e connettere il piedino TX (pin 3) del microcontrollore al piedino RX del convertitore da USB a seriale.

caricare il Bootloader.

Una CPU usa un programma registrato nella ROM per avviare le sue operazioni iniziali (il POST, il caricamento del S.O. ...).

L'adattatore per il programmatore di un microcontrollore AVR (SKU BOB-08508) della Sparkfun è specifico per l'impiego con la breadboard. Questo adattatore presenta 6 pin dal lato del programmatore e 6 pins per l'innesto nei fori della breadboard. Accanto ai pin è riportata la relativa funzione per agevolare il collegamento al microcontrollore.



Sulla breadboard aggiungere i fili per alimentare l'adattatore del programmatore.



Inserire l'adattatore del programmatore di AVR nella breadboard con il pin GND in corrispondenza del filo di massa e il pin 5V in corrispondenza del filo di alimentazione.



Consultare la piedinatura del microcontrollore mentre si eseguono i collegamenti descritti.

  • Il piedino MISO dell'adapter deve essere collegato al pin 12 del chip ATmega.

  • Collegare il pin SCK dell'adapter al pin 13 del chip Atmega.

  • Collegare il pin RESET dell'adapter al pin 1 del chip Atmega.

  • Collegare il pin MOSI dell'adapter al pin 11 del chip Atmega.



Collegare il cavo USB alla scheda di conversione da USB a seriale e colelgare il cavo a 6 pin del programmatore AVR all'adapter di programmazione AVR.



Avviare il software Arduino.exe e nel menu "Strumenti" ("Tools") scegliere la voce "Board". Dall'elenco di schede si deve scegliere quale bootloader si vuole caricare sul microcontrollore.



Nel menu "Strumenti" (Tools) scegliere la voce 'Burn Bootloader' e selezionare il programmatore che si sta usando.
Dopo aver fatto la scelta, il programmatore di AVR inizia il processo di caricamento del programma di avvio nel chip Atmega e nella barra di stato appare il messaggio: "Burning bootloader to I/O Board (this may take a minute)...". Sul programmatore si notano i LED che lampeggiano.

Al termine del bootloading, la barra di stato riporta il messaggio "Done burning bootloader." Il microcontrollore è pronto per essere programmato tramite il software di Arduino.