In un recente articolo pubblicato su Elettronica Open Source dal titolo “Quale scheda Arduino scegliere per il mio progetto?” sono stati elencati vari modelli della serie Arduino. Analizziamo nel dettaglio uno dei modelli presentati: la scheda ARDUINO MICRO. Questa è stata sviluppata in collaborazione con Adafruit, e utilizza come processore l’ATmega32U4, la scheda su una superficie di neanche 9 centimetri quadrati mette a disposizione 20 pin I/O digitali, di cui 7 PWM e 12 ingressi analogici. Il modulo include tutto ciò che serve per il supporto del microcontrollore come l’interfaccia USB, due regolatori di tensione, vari led, con la possibilità di connetterlo con semplicità al computer ed essere subito operativo, per implementare i propri progetti. Perciò, se la vostra applicazione ha bisogno di una miniaturizzazione “spinta”, sicuramente questa scheda potrà fare al caso vostro. Nell'articolo vedremo anche un'applicazione che permette di visualizzare su display TFT i dati provenienti dal sensore BMP180 e quindi avere i valori di pressione, temperatura e altitudine sul livello del mare.
Di schede di controllo di piccole dimensioni ve ne sono molte in commercio, nel caso di Arduino in un precedente articolo Costruzione del robot LittleBot – Scheda di controllo, avevamo visto per esempio Arduino Nano , mentre in un'altro articolo si vede un possibile utilizzo di una scheda XMX 2Go prodotta dalla Infineon.
Confronto di dimensioni tra Arduino Micro, Nano e la scheda XMC 2Go
Vediamo ora di analizzare in dettaglio le caratteristiche offerte da Arduino Micro
CARATTERISTICHE SALIENTI
Microcontroller | Atmel ATmega32u4 |
Velocità di clock | 16 MHz |
Tensione di funzionamento | 5 V |
Tensione in ingresso | 7-12 V (consigliati) |
Tensione in ingresso | 6-20 V (limiti) |
Pin I/O digitale | 20 (7 forniscono in uscita segnali PWM e 10 possono essere usati come input analogici e 3 solo digitali) |
Pin analogici | 6 |
Corrente continua per I/O | 40 mA |
Corrente per Pin alimentati a 3.3V: | 50mA |
Flash Memory | 32 KB (di cui 4 KB utilizzati dal bootloader) |
SRAM | 22.5 KB |
EEPROM | 1 KB |
Dimensioni | 48 x 18 mm |
Passiamo quindi ad analizzare le varie sezioni in cui può essere suddiviso lo schema elettrico della scheda: alimentazione, processore, memoria, pin d’input e output, connettore ICSP, led di segnalazione.
Sezione alimentazione
Arduino Micro può essere alimentato tramite due diverse fonti di energia: prelevata tramite il connettore dell’interfaccia USB micro o con un alimentatore esterno connesso al Pin Vin.
La fonte di alimentazione è selezionata automaticamente, tramite l’attivazione del mosfet, T1 tipo FND340P o PMV48XP, usato come switch, che si occupa di connettere o meno i 5V USB alla scheda.
L’alimentazione da USB è protetta da un POLYFUSE azzerabile F1 tipo MF-MSF050-2 da 500 mA, che protegge la porta USB del computer da cortocircuiti e sovracorrenti.
Sebbene la maggior parte dei computer abbia già una protezione interna, il fusibile fornisce un ulteriore livello di protezione.
In questo caso, se una corrente maggiore di 500 mA è prelevata dalla porta USB, il fusibile interromperà automaticamente il collegamento fino a quando il sovraccarico non sarà rimosso.
La tensione è livellata e filtrata tramite il condensatore C9 da 100 nF e l’elettrolitico C14 da 22uF.
La funzione della resistenza R2 da 10kΩ è quella di non far fluttuare il segnale di comando del mosfet T1.
L'alimentazione esterna (non USB) può essere fornita da un alimentatore DC o tramite una batteria, questi dovranno essere collegati ai pin Gnd e Vin.
La scheda può funzionare con una tensione che teoricamente può essere compresa tra i 6 e i 20 volt.
In pratica però, se si forniscono meno di 7V, la tensione continua generata potrebbe essere inferiore ai 5V e in questo caso il funzionamento della scheda può essere instabile.
D’altra parte, fornire una tensione maggiore di 12V, può portare al surriscaldamento con relativo danneggiamento del regolatore di tensione.
Per questo motivo l'intervallo raccomandato di tensione è compreso tra i 7 e i 12 volt.
La parte del circuito di regolazione è formata per quanto riguarda l’uscita a +5V, dal’integrato U2 tipo NCP1117-5, che è un regolatore di tensione fisso a basso dropout con una corrente d’uscita massima di 1 A.
La tensione d’uscita è livellata tramite i condensatori C1 e C2 da 100nF e dall’elettrolitico C3 da 22µF.
Nel caso fosse disponibile la tensione di +5V fornita tramite la porta USB, oppure da fonte esterna tramite l’apposito PIN, l’attivazione del secondo mosfet, T2 tipo FND340P o PMV48XP, usato anche in questo caso come switch, si occupa di bypassare l’integrato U2.
Nel caso invece, la tensione da USB non fosse presente, la tensione sarebbe prelevata tramite l’ingresso Vin.
La funzione della resistenza R9 da 10kΩ è quella di non far fluttuare il segnale di comando del mosfet.
Arduino Micro è anche in grado di fornire in uscita una tensione di +3,3V, questa non è direttamente utilizzata dalla scheda ma è presente per utilizzi esterni.
Per ottenere questa tensione che è ottenuta riducendo la tensione di +5V, è presente l’integrato U4 tipo LP2985-33DBVR, si tratta di un regolatore di tensione fissa a basso rumore e basso dropout con possibilità di opzione shutdown, nel nostro caso non utilizzata dato che il pin risulta permanentemente connesso alla fonte di alimentazione.
La massima corrente d’uscita teorica è di 150 mA, anche se dalle caratteristiche della scheda è consigliato un assorbimento massimo di 50 mA.
La tensione è livellata dal condensatore elettrolitico C4 da 1uF.
Riassumendo i pin di alimentazione presenti sulla scheda Arduino Micro, sono i seguenti:
- VI. La tensione d’ingresso alla scheda Arduino quando sta utilizzando una sorgente di alimentazione esterna (in contrapposizione a 5 volt dalla connessione USB o altra fonte di alimentazione regolata).
- 5V. tensione stabilizzata utilizzata per alimentare il microcontrollore e altri componenti sulla scheda. Questo può venire sia da VIN tramite un regolatore a bordo o essere fornita da USB o da un fonte esterna con un valore di 5V.
- 3V. Sono forniti 3.3 volt generati dal regolatore di bordo. Assorbimento massimo è di 50 mA.
- GND pin di terra.
Sezione processore
La scheda utilizza lo stesso tipo di processore della Arduino Leonardo e Arduino Esplora, un microcontrollore prodotto dalla AVR tipo ATMEGA32U4 siglato sullo schema U1, che opera a una frequenza di 16 MHz: è connesso a una porta USB ed è in grado di agire come un dispositivo client USB, come [...]
ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 4023 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.
Bravo Adrirobot, esposizione come sempre chiara e ricca di particolari. Di questo arduino micro mi attirano ovviamente le dimensioni estremamente contenute unite alle prestazioni tuttaltro che contenute. Approfitto del blog per chiedere a te e agli altri utenti un parere: volendo sviluppare un apparecchiatura che mappa dinamicamente la posizione di un gruppo di persone in movimento, che tecnologia useresti per rilevare la posizione di ognuno?
Ciao e ancora complimenti per l’articolo.
Ti ringrazio per i complimenti. Effettivamente l’Arduino Micro è piccolo ma potente. Esistono comunque moduli ancora più piccoli, dipende dal numero massimo di pin che sono necessari.
Per quanto riguarda la tua richiesta, credo che un modulo GPS possa sicuramente monitorare la posizione, dipende poi la precisione che si vuole ottenere.
E’ proprio qui l’inghippo. Diciamo una risoluzione sulla decina di centimetri, anche se il gruppo di persone (30 -50) non è disperso in tutto il mondo ma inquadrato in un’area ristretta, più o meno di 100 – 150 metri quadri. Esiste qualcosa con questa precisione….ad un prezzo abbordabile? Ciao e grazie.
Scusa il ritardo con cui ti rispondo!
Non saprei però cosa consigliarti per ottenere una così alta risoluzione.
Propongo questa domanda alla comunità di Elettronica Open Source e vediamo se qualcuno ha la soluzione.
Salve,
ho letto l’articolo e volevo sapere se invece di quello schermo se ne puo adattare qualche altro più grande tipo un 10cm x 10cm o 10cm x 15cm. Inoltre se si può dotare di wifi in modo da prelevare dati da internet.
Direi che la risposta è si per entrambe. Per quanto riguarda il display occorre semplicemente trovarne un che magari possa utilizzare un’interfaccia I2c in modo da liberare anche dei pin.
Occorrerà poi adattare il programma per implementare il nuovo display.
Per quanto riguarda dotare l’Arduino Micro della possibilità di connettersi via Wi-Fi potresti utilizzare un piccolo modulo ESP8266 come visibile in questo link
http://contractorwolf.com/esp8266-wifi-arduino-micro/