ARDUINO 2009
Presentazione

ultimo aggiornamento 29 novembre 2010


  

Descrizione (tratta dal sito www.arduino.cc)
La scheda Arduino Duemilanove ("2009") è basata sul processore ATmega 328.
Sono presenti 14 piedini inputs/outputs digitali (di cui 6 utilizzati come uscite PWM), 6 inputs analogici, un oscillatore di cristallo a 16 MHz, una connessione USB, un ingresso per l'alimentazione, un ICSP header (In-Circuit Serial Programming) ed un bottone di reset. Tutto ciò che è necessario per supportare il microprocessore è contenuto nella scheda, per iniziare è sufficiente connetterla ad un computer con un cavo USB oppure tramite un alimentatore AC-DC o una pila (vedere schema elettrico).
"Duemilanove" significa 2009 in italiano e deriva dall'anno della sua uscita. La Duemilanove è l'ultima di una serie di schede Arduino; per una comparazione con le precedenti versioni, vedi indice delle schede Arduino.

ArduinoDuemilanove schede.jpg

ArduinoDuemilanove lato 1.jpg ArduinoDuemilanove lato 2.jpg

homotix

PCBA

Caratteristiche principali

Microprocessore

ATmega 328

Voltaggio operativo

5V

Voltaggio in ingresso (raccomandato)

-12V

Voltaggio in ingresso (limiti)

6-20V

Piedini digitali I/O

14 (di cui 6 utilizzati come uscite PWM)

Piedini di ingresso analogici

6

corrente DC per i piedini di I/O

40 mA

corrente DC per il piedino a 3.3V

50 mA

Memoria Flash

16 KB (di cui 2 KB utilizzati dal bootloader)

SRAM

1 KB

EEPROM

512 bytes

Velocità di Clock

16 MHz

Schema elettrico


Schema elettrico

Elenco componenti

Sigla

Valore

Pakage

C1,C4,C5,C8,C9,C10,C11,C12,C13

100nF

C0805RND

C2,C3

22pF

C0805RND

C6

100uF

PANASONIC_D

C7

100u

PANASONIC_D

D1

SMB diode (710 505)

SMB diode (710 505)

F1

Fusibile 500mA L1812

 

IC1

ATmega168

DIL28-3

IC2

FT232RL

SSOP28

IC4

MC33269D-5.0

DPACK

IC5

LM358D

LM358D SO08

T1

NDT2955

SOT223 zetex

ICSP

ICSP

ICSP 2X03

J1,J3

pin strip 1x08

1X08

J2

pin strip 1x06

1X06

TX, RX, PWR, L

Led

0805RND led

POWER

pin strip 1x06

1X06

Q2

Quarzo 16MHz

HC49/S

R1

10 kΩ

R0805RND

R2

100 Ω

NM R0805RND

R4,R5,R6,R7,R8,R9

1 kΩ

R0805RND

R10,R11

10 kΩ

R0805RND

RESET

EN SJ jumper

 

S1

Pulsante switch-omron

 

X2

Presa alimentazione

DC21MMX

X3

JP4

 

X4

Presa USB

PN61729

 

Processore ATmega328 8-bit Microcontroller with 32K Bytes In-System Programmable Flash

Piedinatura Datasheet Foto dell'integrato

FT232RL USB to RS232 Converter
Piedinatura Datasheet Foto dell'integrato

MC33269D 800 mA, Adjustable Output Low Dropout Voltage Regulator
Piedinatura Datasheet Foto dell'integrato

LM 358  Low Power Dual Operational Amplifiers
 
Piedinatura Datasheet Foto dell'integrato

NDT2955 P-Channel Enhancement Mode Field Effect Transistor
  
Piedinatura Datasheet Foto del transistor

Alimentazione
La scheda Arduino Duemilanove può essere alimentata tramite connessione USB oppure tramite alimentatore di corrente. La sorgente di alimentazione è selezionata automaticamente.

L'alimentazione esterna (non USB) può arrivare sia da un alimentatore AC-DC oppure da una pila. L'adattatore può essere connesso inserendo un connettore di 2.1mm positivo al centro nell'ingresso dell'alimentazione della scheda.
I connettori di una pila si inseriscono nei piedini Gnd e Vin del connettore dell'alimentazione.

La scheda può operare con un'alimentazione esterna da 6 a 20 volts. Se alimentata con meno di 7V, tuttavia, il piedino da 5V fornisce meno di nominali 5 e la scheda può essere instabile. Se si usano più di 12V, il regolatore di voltaggio può surriscaldarsi e danneggiare la scheda. L'ambito di voltaggio raccomandato è, dunque, fra 7 e 12 volts.

I piedini di alimentazione sono indicati come segue:

Memoria
La ATmega168 ha 16 KB di memoria flash per caricare il codice (di cui 2 KB sono utilizzati oer il bootloader). Ha 1 KB di SRAM e 512 bytes di EEPROM (che può essere letto e scritto con la libreria EEPROM).

Ingressi e uscite
Ciascuno dei 14 piedini digitali della Duemilanove può essere utilizzato sia come ingresso che come uscita, utilizzando le funzioni pinMode(), digitalWrite(), e digitalRead(). Operano a 5 volts. Ogni piedino può fornire o ricevere un massimo di 40 mA ed ha una resistenza pull-up (disconnessa di default) di 20-50 kOhms. Inoltre, alcuni piedini hanno delle funzioni specializzate:

Serial: 0 (RX) e 1 (TX). Utilizzati per ricevere (RX) e trasmettere (TX) TTL dati seriali. Questi piedini sono connessi ai corrispondenti piedini del chip seriale FTDI USB-to-TTL.

Interruttori esterni: 2 e 3. Questi piedini possono essere configurati per attivare o disattivare un valore basso, una punta calante o crescente, oppure un cambio di valore. Vedi la funzione attachInterrupt() per dettagli.

PWM: 3, 5, 6, 9, 10, e 11. Fornisce un'uscita a 8-bit PWM con la funzione analogWrite().

SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Questi piedini supportano la comunicazione SPI, che, sebbene implementata a livello hardware, non è al momento inclusa nel linguaggio Arduino.

LED: 13. Connesso al piedino digitale 13 è montato sulla scheda un LED. Quando questo ha valore HIGH, il LED è acceso, quando il piedino è LOW, il LED è spento.

La Duemilanove ha 6 ingressi analogici, ognuno dei quali fornisce 10 bit di risoluzione (ovvero 1024 valori differenti). Per default misurano dalla terra a 5 volts, sebbene sia possibile cambiare il limite superiore utilizzando il piedino AREF e del codice a basso livello. Inoltre, alcuni piedini hanno delle funzioni specializzate:


I2C: 4 (SDA) and 5 (SCL). Supporta la comunicazione I2C (TWI) utilizzando la la libreria Wire (documentazione sul sito della Wiring).

Ci sono altri due piedini sulla scheda:

Vedi anche la mappatura fra i piedini della Arduino e le porte della ATmega168.

Comunicazione
La Arduino Duemilanove ha una serie di funzioni predisposte per la comunicazione con un computer, un'altra scheda Arduino, o altri microprocessori. La ATmega168 fornisce una comunicazione seriale UART TTL (5V), ed è disponibile sui piedini digitali 0 (RX) e 1 (TX). Una FTDI FT232RL sulla scheda canalizza questa comunicazione seriale sulla USB ed i FTDI drivers (inclusi con il software Arduino) provvedono una porta com virtuale al software presente sul computer. Il software Arduino include un monitor testuale che permette di spedire o ricevere dalla scheda Arduino semplici dati di testo.

Una libreria SoftwareSerial permette la comunicazione seriale su qualunque dei piedini digitali della Duemilanove.

La ATmega168 supporta anche la comunicazione I2C (TWI) e SPI. Il software Arduino include una libreria Wire per semplificare l'uso del bus I2C; vedi la documentazione sul sito Wiring per dettagli. Per utilizzare la comunicazione SPI communication, vedi i dati tecnici della ATmega168.

Programmazione
La Arduino Duemilanove può essere programmata con il software Arduino (download). Per dettagli, vedi reference e tutorials.

La ATmega168 on the Arduino Duemilanove ha già un bootloader pre-impostato che permette di caricare nuovo codice senza la programmazione su di un hardware esterno. Comunica utilizzando il protocollo originale STK500 (reference, C header files).

Si può naturalmente evitare il bootloader e programmare la ATmega168 atraverso l'header ICSP (In-Circuit Serial Programming); vedi queste istruzioni per dettagli.

Inizializzazione automatica (Software)
Piuttosto che richiedere una pressione fisica del bottone di reset prima del caricamento di un programma, la Arduino Duemilanove è costruita in modo da permettere di essere inizializzata via software presente sul computer a cui è connessa. Una delle linee di controllo del flusso hardware (DTR) della FT232L è connessa alla linea di reset della ATmega168 attraverso un condensatore da 100 nanofarad. Quando questa linea viene sotto-alimentata, la linea di reset perde sufficiente energia da reinizializzare la scheda. Il software Arduino utilizza questa caratteristica per caricare codice semplicemente premendo il bottone di caricamento (upload) nell'ambiente Arduino. Ciò significa che il bootloader può avere un timeout più breve, mentre l'abbassamento del DTR può essere coordinato con l'inizio del caricamento.

Questa configurazione ha altre implicazioni. Quando la Duemilanove è connessa ad un computer che monta Mac OS X o Linux, ogni volta che viene fatta una connessione via software (attraverso la porta USB), si reinizializza. Per il mezzo secondo (circa) successivo, sulla Duemilanove sarà attivato il bootloader. Poiché la programmazione è stata fatta con la caratteristica di ignorare i dati non formati correttamente (ad es., tutto ciò che non ha a che fare con il caricamento di un nuovo codice), intercetterà i primi pochi bytes dei dati spediti alla scheda quando viene aperta una connessione. Se uno skecth che gira sulla scheda riceve una specifica configurazione o altri dati al momento della sua attivazione, assicurati che il software con cui comunica attenda circa un secondo dopo l'apertura della connessione e prima della trasmissione di questo dato.

La Duemilanove contiene una traccia che può essere disattivata per disabilitare l'auto-reset. Le parti che si trovano su entrambi i lati della traccia possono essere saldati insieme per riattivarlo. La sua etichetta è "RESET-EN".

Protezione da una sovra-alimentazione della USB
La Arduino Duemilanove ha un polifusibile re-inizializzabile che protegge le porte USB del tuo computer da corto circuiti e sovra-alimentazione. Anche se la maggior parte dei computer già prevedono una loro protezione interna, il fusibile fornisce un ulteriore livello di protezione. Se più di 200 mA attraversano la porta USB, il fusibile automaticamente interromperà la connessione fino a quando il corto o il picco non sia rimosso.

Caratteristiche fisiche
La grandezza e l'estensione della Duemilanove PCB sono rispettivamente di 6.8 e 5.33 cm., con il connettore USB e l'attacco per l'alimentazione si estendono oltre la dimensione data. Tre fori per viti sono presenti per eventualmente fissare la scheda ad una superficie o un contenitore. Da notare che la distanza fra i piedini digitali 7 e 8 è di 10 mil (0.16"), e non un multiplo pari dei 100 mil che separano gli altri piedini.

 
Elenco revisioni
29/11/2010 Aggiornato pagina
16/10/2009 Emissione preliminare
Private Policy Cookie Policy