Una delle prime cose che mi sono chiesto dopo aver iniziato a trafficare con la board Arduino è stata se fosse possibile, una volta progammato, estrarre il chip dal suo socket e utilizzarlo su un circuito stampato preparato ad hoc per il progetto.

La board Arduino è perfetta come base per il prototipo: la presenza di headers, programmatore on-board, regolatori di tensione la rendono veramente versatile ma poco adatta quando si passa dal prototipo a una possibile realizzazione.

 

I motivi della separazione

Quali sono dunque i motivi che potrebbero spingere un progettista a voler estrarre il chip dalla sua scheda Arduino per installarlo altrove?

Innanzitutto il “fattore forma”: probabilmente l’involucro, all’interno del quale il progettista vorrà posizionare i componenti del progetto che sta realizzando, dovrà avere una forma che risponda a criteri di ergonomicità o di estetica o semplicemente di opportunità che poco si sposano con le dimensioni della board Arduino.

In secondo luogo le interconnessioni tra il microcontroller e il mondo esterno: l’alimentazione e i pin i/o sono attestati su connettori la cui resistenza meccanica e bontà del contatto non sono paragonabili ad una saldatura.

Dunque cosa serve?

L’ATmega328 è estremamente parco nelle sue richieste, per funzionare ha bisogno di un quarzo da 16MHz, due condensatori ceramici da 22pF e una sorgente di alimentazione stabile da +5V o +3.3V.

 

 

 

 

 

  • U1: ATmega328
  • C1-C2: 22pF Ceramico
  • XTAL1: 16MHz

 

Come si può notare dallo schema, oltre ai pin 7 e 8, rispettivamente Vcc e Gnd (cioè l’alimentazione principale del microcontroller), sono collegati all’alimentazione anche i pin 20,21 e 22, rispettivamente AVcc, Aref e Gnd; questi ultimi alimentano la sezione del AD converter a cui fanno capo i pin 23-28 (A0-A5 nel gergo di Arduino) che deve essere alimentata anche se non si utilizzano gli ingressi analogici.

Tra i pin 9 e 10 va collegato il quarzo, caricato dai due condensatori C1 e C2 collegati tra i suoi capi e massa. E’ consigliabile che i collegamenti tra i piedini 9 e 10, il quarzo, i condensatori e massa siano il più brevi possibile in modo da ridurre al minimo capacità parassite.

ATTENZIONE!
Questa è la versione più minimale possibile di un Arduino standalone ed ispirata alla riduzione massima dei componenti necessari a far funzionare lo sketch “blink”. Per applicazioni più complesse ci sono ovviamente molte considerazioni da fare, soprattutto sulla affidabilità, che qui non sono state analizzate. Verificate sempre, prima di utilizzare la configurazine proposta che sia adatta a ciò che state realizzando!

 

Proviamolo su una breadboard

Il modo più rapido per verificare il corretto funzionamento di un ATmega328 standalone in questa configurazione è caricare il più classico degli sketch, blink, estrarre il chip dalla board Arduino e montarlo con i componenti necessari su una breadbord. Oltre ai componenti già menzionati, andranno aggiunti: una resistenza da 1KOhm, un led e, naturalmente, la breadbord e i ponticelli (8).

Appena collegati i due ponticelli di alimentazione a un alimentatore stabilizzato da 5V l’ATmega inizia a far lampeggiare il LED come da istruzioni.

 

I prossimi passi

Il passo successivo sarà dotare il nostro ATmega di una personalissima fonte di alimentazione stabilizzata utilizzando il notissimo 7805 e di una comoda porta di programmazione per evitare di spostare il chip avanti e indietro tra la board Arduino e la sceda del progetto in costruzione; i dettagli negli articoli:

Come alimentare correttamente ATmega328 standalone

Una porta di programmazione per ATmega328 standalone