Web site di Fabrizio Iacopetti |
|
Atmega 16/32 module v. 1.2 |
Siete il visitatore n. |
Contenuti dell'articolo In questo articolo è brevemente illustrata una scheda di sviluppo minimale per microcontrollori Atmel AVR ATmega16(L) e ATmega32(L) in package TQFP44. La scheda ospita un quarzo, un pulsante di RESET, un connettore ISP per la programmazione del microcontrollore e altri componenti passivi. Tutti i segnali sui pin del microcontrollore sono accessibili su opportuni connettori disposti sui lati della scheda. Per la programmazione del microcontrollore è necessario un programmatore esterno, ad esempio il sistema di sviluppo Atmel STK500. |
Caratteristiche
della scheda Questa scheda minimale di sviluppo è nata principalmente dall'esigenza di sviluppare applicazioni con microcontrollori della serie Atmel AVR ATmega16(L) e ATmega32(L) con package TQFP44, avendo a disposizione solamente la tradizionale scheda di sviluppo Atmel STK500, la quale non può ospitare i microcontrollori con package TQFP44. La scheda presentata in questa pagina non ospita periferiche o altri dispositivi on-board, quali EEPROM, etc., per cui non si tratta di una scheda di valutazione; la sua semplicità la rende adatta piuttosto per l'interfacciamento del microcontrollore utilizzato con i circuiti applicativi più diversi. Avendo a disposizione la scheda STK 500, inoltre, è possibile sfruttarne agevolmente alcune risorse, quali il circuito per la generazione di alimentazione regolata, il convertitore fra livelli logici del microcontrollore e livelli RS-232, etc.. In figura 1 è visibile la scheda interfacciata con circuiti esterni attraverso cavi con terminazione tipo Amphenol e con la scheda STK500 attraverso flat cable per la programmazione ISP. Sulla scheda visibile in figura 1 sono stati montati dei connettori singola fila, passo, 2.54 mm, ad angolo retto. Utilizzando connnettori singola fila, diritti, la scheda potrebbe essere inserita su altri PCB o schede prototipi sui quali siano stati montati connettori femmina disposti ad hoc. |
^
Torna a inizio pagina |
Riconoscimenti
e avvertenze La ideazione e realizzazione della scheda sono interamente personali, sebbene certamente in rete sia possibile trovare sistemi simili e/o più completi. Se in qualche modo si intende utilizzare il contenuto di questa pagina per scopi non puramente personali o non formativi, o in qualche modo divulgare il materiale in essa contenuto, è fatto obbligo di richiedere un permesso scritto all'autore di questo articolo (anche via e-mail). L'utilizzo di questa scheda per uso personale in ambito hobbistico o formativo è assolutamente libero e auspicato. Le informazioni contenute in questa pagina sono fornite "così come sono", senza alcuna forma di garanzia. L'autore di questo articolo non si assume naturalmente alcuna responsabilità per danni diretti o indiretti a persone o a cose derivanti dalle informazioni in esso contenute. |
Note
sull'utilizzo
della scheda Come visibile dallo schema elettrico di figura 2, il circuito è piuttosto semplice. La sorgente di clock utilizzata è un quarzo: può essere conveniente saldare sulla scheda un connettore portaquarzi o un semplice connettore a due poli, passo, 5.08 mm, in modo da poter utilizzare quarzi diversi. Prima di fornire tensione alla scheda si raccomanda di analizzare il datasheet del particolare microcontrollore montato e lo schema elettrico della scheda stessa, in particolare con riferimento al range di alimentazione utilizzabile e alla eventuale necessità di collegare fra loro attraverso cavi, utilizzando i connettori ai lati della scheda, i pin di alimentazione GND e/o VCC della scheda stessa. La scheda è stata realizzata e testata con i microcontrollori ATMEGA32L e ATMEGA16; con entrambi i microcontrollori, sono stati utilizzati e testati quarzi da 8 MHz e 16 MHz. Prima di collegare la scheda al programmatore si raccomanda di analizzare lo schema elettrico della scheda stessa e il datasheet del programmatore utilizzato, in particolare per quanto riguarda l'alimentazione e il RESET. Per quanto riguarda l'alimentazione, è possibile alimentare la scheda ATmega16/32 module attraverso il connettore ISP se il programmatore supporta tale funzionalità, naturalmente rispettando il limite di corrente erogabile dal programmatore stesso; in alternativa, è possibile alimentare la scheda con una sorgente esterna di alimentazione, ma in quest'ultimo caso è fondamentale prestare attenzione ad evitare conflitti elettrici con i terminali ISP del programmatore se il cavo ISP è connesso. Per quanto riguarda il segnale di RESET, per evitare danni alla circuiteria del programmatore nel caso il pulsante di RESET sulla scheda sia premuto mentre il segnale di RESET è pilotato dal programmatore, è stato previsto un resistore di protezione in serie ai contatti del pulsante di RESET su scheda; il valore di tale resistore è stato dimensionato con riferimento alla scheda STK500, per cui potrebbe risultare inadatto per altri programmatori. |
^
Torna a inizio pagina |
Realizzazione
della scheda La scheda è a doppia faccia, realizzabile su tradizionale supporto FR4. In figura 3 e figura 4 sono riportati rispettivamente il layout lato top e il layout lato bottom. Le immagini in alta risoluzione sono scaricabili attraverso i link delle relative didascalie. Attenzione: le immagini presenti in questa pagine potrebbero NON essere in alta risoluzione. Le immagini scaricabili attraverso i link delle didascalie hanno una risoluzione di 600 dpi; per verificare che la stampa ottenuta sia a dimensioni reali, come indicazione si può verificare che la distanza fra il centro dei fori dei pin estremi dei connettori da 11 pin sia di 25.4 mm. E' consigliabile eseguire la verifica sia per i connettori orizzontali che per quelli verticali. La larghezza minima delle piste delle scheda è di 0.4 mm. Disponendo di un master di buona qualità, ad esempio stampato in tipografia, è possibile realizzare in proprio la scheda col classico procedimento della fotoincisione. E' possibile, ma non è stato personalmente verificato, che si possano ottenere buoni risultati anche con master creati con stampante LASER, eventualmente sovrapposti. Con una realizzazione in proprio, non essendo possibile metallizzare i fori, per le eventuali vie è necessario utilizzare spezzoni di reoforo o simili, e saldare su entrambi i lati i terminali dei componenti utilizzati per connettere le due facce, ad esempio i reofori di alcuni dei condensatori previsti sulla scheda. In particolare, potrebbe risultare non agevole saldare i connettori; in tal caso, con connettori i cui terminali sono uniti da uno scudo plastico, si può risolvere il problema spostando leggermente lo scudo plastico stesso. La saldatura del microcontrollore è delicata, tuttavia, nel caso sia stata acquisita una qualche esperienza con saldatura SMT, essa non presenta particolari problemi. E' invece sconsigliabile saldare il microcontrollore in assenza di una minima esperienza con componenti SMD. Prima di fornire tensione al circuito si raccomanda di ripulire la scheda da eventuali residui di flussante e di controllare la continuità elettrica delle piste. |
^
Torna a inizio pagina |
Lista
componenti A seguire, la lista dei componenti necessari. I componenti non sono critici. La tensione di lavoro dei condensatori deve essere di almeno 50 V. La potenza dissipabile dai resistori deve essere di almeno 125 mW. Rif. Tipo/Valore Package 1 C1 KER 22 pF 8X3R5,08 2 C2 KER 22 pF 8X3R5,08 3 C3 100 nF 8X3R5,08 4 C4 100 nF 8X3R5,08 5 C5 100 nF 8X3R5,08 6 C6 100 nF 8X3R5,08 7 C7 10 nF 8X3R5,08 8 CMP1 Scheda doppia faccia, 58 mm x 42 mm 9 IC1 ATMEGA32L-8AI TQFP44 ( Nota 1 ) 10 K1 K1X11 1X11 - connettore SIL passo 2.54 mm 11 K2 K1X11 1X11 - connettore SIL passo 2.54 mm 12 K3 K1X11 1X11 - connettore SIL passo 2.54 mm 13 K4 K1X11 1X11 - connettore SIL passo 2.54 mm 14 K5 K2X3 2X03 - connettore DIL passo 2.54 mm (per programmazione ISP) 15 L1 L-air 10 uH R5 ( Nota 2 ) 16 Q1 QUARZ_8,0000MHZ HC49/U ( Nota 3 ) 17 R1 4.7 KOhm R5 18 R2 470 Ohm R1 19 S1 SMD pushbutton N/O TACT_DTS-644 Nota 1: IC utilizzabili: ATMEGA16, ATMEGA16L, ATMEGA32, ATMEGA32L, package TQFP44 Nota 2: L'induttanza L1, nel caso non sia necessario utilizzare l'ADC interno al microcontrollore, non è strettamente necessaria, e può essere sostituita da un ponticello, in modo che al pin AVCC giunga direttamente l'alimentazione VCC. Nota 3: Quarzi testati: 8 MHz, 16 MHz con ATMEGA16 e ATMEGA32L |
^
Torna a inizio pagina |
Conclusioni Personalmente ho utilizzato la scheda presentata in varie applicazioni, soprattutto in fase di sviluppo pre-prototipo di alcuni sistemi. Ad esempio, ho utilizzato la scheda per conversione ADC, per controllo di alcuni segnali di I/O attraverso comandi da seriale (utilizzando il convertitore di livelli su STK500), per comunicazione I2C con un altro dispositivo, etc.. Per utilizzare la scheda in applicazioni con caratteristiche particolari, dovrebbero essere fatte valutazioni preliminari o sperimentali. Solo a titolo di esempio, per quanto riguarda la conversione AD, utilizzando dei cavi di una certa lunghezza per la connessione ad altri circuiti dovrebbe essere posta attenzione alla componente indotta dai disturbi di rete a 50 Hz. Per ogni domanda potete scrivermi. Buon lavoro. |
Se volete, potete inviarmi la vostra opinione (anche in forma anonima). |
f_iacopetti@libero.it |
Ultimo aggiornamento 02 Dic 2006 |