L'elettronica

L'elettronica di SmatOctahedron

Arduino Nano, giroscopi ed accellerometri, connessi tramite un PCB ad hoc!

La progettazione del circuito stampato (PCB) ha avuto due obiettivi:

  • mettere in comunicazione i principali dispositivi responsabili del funzionamento elettrico del Time Keeper (giroscopio, LED di stato, Arduino Nano e modulo Bluetooth)
  • rendere più efficiente l’utilizzo dello spazio interno dell’oggetto, essendo questo sede anche della batteria, di circuiti per la ricarica USB, l’accensione e la conversione di tensione per alimentare giroscopio e Arduino.
Per il primo punto è stato necessario stilare una lista dei collegamenti di ciascuno dei pin dei dispositivi da installare sulla PCB, evidenziando il numero e la disposizione di aree di saldatura (o “piazzole”) da inserire per i LED e i fili di bonding collegati ai circuiti di alimentazione e alla batteria. Per il secondo punto si è scelto di dividere lo spazio ottaedrico del Time Keeper in due, ricavando una prima cavità piramidale tronca per la parte di alimentazione e una seconda per la PCB. Della base minore di quest’ultima (che avrebbe contenuto la PCB) sono state prese le misure dello spigolo (64mm), dell’incavo rettangolare ricavato per la presa USB (7mm x 20mm) e della posizione e ampiezza (diametro 2.6mm) dei quattro fori per il fissaggio del circuito stampato con altrettanti bulloni ai vertici. Inoltre, per i LED, si è scelto di non utilizzare resistori SMD ma fissi, misurando lo spazio tra i reofori (circa 16mm). Le misure ricavate hanno fornito i vincoli per la progettazione della PCB. La fase successiva ha previsto la messa a punto del progetto, utilizzando il software EAGLE 7.2.0 Light per il design della PCB e la creazione dei file in formato Gerber da comunicare al fabbricante. Per la realizzazione fisica della PCB ci si è rivolti al sito www.pcbway.com per poi saldare i vari elementi a parte.

PROGETTAZIONE DEL PCB

La prima parte del progetto ha previsto la realizzazione dello schema elettrico tramite la funzionalità schematic del software. Per ottenere gli esatti elementi (dispositivi, aree di saldatura, fori…) da inserire nello schema si è fatto uso di diverse librerie open source caricate nel file di progetto. Fatto ciò si sono tracciati i seguenti collegamenti elettrici:

  • 3 pin digitali (D3, D6, D8) dell’Arduino con 3 piazzole forate per un reoforo di ogni resistore
  • 3 piazzole forate per gli altri 3 reofori con 3 piazzole per collegamento ai LED
  • 2 pin digitali (D10, D12) dell’Arduino con i 2 pin di trasmissione/ricezione del modulo Bluetooth
  • 2 pin analogici (A4, A5) dell’Arduino con i 2 pin di trasmissione del segnale dal giroscopio
  • 1 pin (VCC nello schematico) per trasmettere tensione di alimentazione dall’Arduino al modulo Bluetooth
  • 1 pin di alimentazione (VIN nello schematico) Arduino con piazzola (da collegare alla batteria e convertitore step-up)
  • 1 pin analogico (A7) dell’Arduino, per segnalare cali di tensione della batteria, con la relativa piazzola
  • 2 piazzole di massa collegate ai pin di massa dei dispositivi (da collegare alla massa dei LED e della batteria)

Mia foto

Nella seconda parte, una volta eseguito il controllo elettrico del circuito (ERC), si è passati alla creazione del file (di estensione. brd) contenente la disposizione degli elementi, le misure reali, i percorsi delle piste in rame da realizzare e i necessari fori e vias.

Per ridurre l’occupazione d’area della PCB si è optato per un design double-sided. Questo perché si riuscisse a disporre i vari elementi su un’area di circa 64mm x 64mm evitando di dover inserire strati (layers) interni ottenendo una PCB multi-layer, dal momento che l’assenza di segnali ad elevata frequenza non lo rendeva necessario. Sullo strato superiore (top layer) si è deciso di posizionare il giroscopio e il modulo Bluetooth, mentre lo strato inferiore (bottom layer) presenta le sette aree di saldatura e l’Arduino. Tra questi due è stato inserito un piano di massa comune collegato con i vari punti a massa del bottom layer del circuito.

Per tracciare le piste (routing) su entrambi i lati del circuito si è proceduto manualmente utilizzando tre vias, tenendo conto di procedure di massima al fine di limitare effetti di cross-talk e osservando lo spessore minimo delle tracce richiesto dal fabbricante (spessore adottato circa 0.81mm).

Le misure ricavate precedentemente per la coerenza con le dimensioni interne del Time Keeper sono state rispettate: dimensioni finali della PCB di 60mm x 60mm, rientranza per l’alimentazione USB di circa 8.5mm x 21mm, il diametro dei quattro fori ai vertici di circa 3.2mm, la distanza tra i fori per i resistori pari a 16mm.

Mia foto

Le piazzole per la parte di alimentazione sono state posizionate vicino alla rientranza per l’USB mentre quelle per i LED dalla parte dello spigolo dell’ottaedro con le tre luci. Per ciò si è scelto di sfruttare il bottom layer, in modo da ottenere le aree di saldatura per i fili di bonding dalla parte della batteria e dei LED.

Il materiale dielettrico utilizzato per la PCB è quello standard per i circuiti stampati, ovvero la vetronite FR-4 TG-130 (temperatura di transizione di 130°) con spessore pari a 1.6mm.

L’ultima fase di progetto ha previsto la creazione dei file Gerber, ognuno recante le indicazioni delle connessioni elettriche per ogni layer più un file testuale con le informazioni di foratura e fresatura, che vengono inseriti nel software CAM del fabbricante.

Una volta realizzata la PCB si è proceduto installando i LED sugli appositi fori nel Time Keeper con della colla a caldo, poi saldando i componenti e testando la correttezza dei segnali ricevuti dall’Arduino nella fase di gestione dell’hardware.

Il risultato finale

In questa immagine è rappresentata la parte anteriore della scheda, dove si possono vedere il modulo di comunicazione Bluetooth e il giroscopio.

.

Qui invece la parte posteriore, con l'Arduino Nano.

Più nel dettaglio. Come funziona?

La struttura

Per realizzare la struttura ci siamo serviti della tecnlogia di stampa 3D.

L'hardware

La piattaforma open source "Arduino" è il cuore pulsante dell'ottaedro, con attorno a se molti altri componenti importantissimi.

Il firmware

Un firmware "ah hoc" è stato sviluppato per coordinare tutte le funzionalità dell'ottaedro.

Il software

Avvalendosi dell'ambiente "Xamarin", è stato possibile creare in modo semplice e veloce un'app per smarthone in grado di tener traccia di tutte le attività, connettendosi con l'ottaedro.