PIC 16F84 / 16C84 F.F. Evaluation Board Siete il visitatore n. Click here for English version Pagina ottimizzata per risoluzione 1024x768 |
La F.F. Evaluation Board e interfacciamento con una basetta prototipi |
Introduzione Quando mi accinsi, qualche tempo fa, ad utilizzare un PIC16x84, mi trovai subito di fronte al problema di avere un circuito stabilmente funzionante, senza dover montare il PIC su una basetta per prototipi ad ogni occasione. Cercando in rete, non trovai nulla di veramente completo per un PIC 16F84 / 16C84, pertanto decisi di costruire personalmente una Evaluation Board che permettesse di utilizzare questo tipo di microcontrollore nelle modalità RC e XT, ovvero con clock generato mediante resistenza-capacità o mediante quarzo, ma soprattutto che permettesse di interfacciare il PIC con un qualsiasi circuito esterno in modo molto versatile e allo stesso tempo affidabile. Fu così che nacque l'Evaluation Board originale; qui ne presento una versione successiva, che aggiunge qualche funzionalità a quelle originali. Se siete interessati a microcontrollori di fascia superiore, potete dare un'occhiata alla Development board per PIC 16F874 / 16F877 v1.2 su questo stesso sito. Riconoscimenti e avvertenze L'ideazione del progetto è totalmente personale; un
riconoscimento va comunque al software che mi ha permesso
di realizzare il layout del circuito elettrico. Si tratta
del programma PCB Elegance v. 2.0, che io posseggo in
versione FREE limitata a 200 pin, realizzato dalla MERCO
Electronics, la quale mi ha concesso l'autorizzazione al
suo uso anche per scopi non personali. Attenzione: la versione della F.F. Evaluation Board presentata in questa pagina è la 3.0; si tratta di un circuito che è simile a quello della versione 2.0, riportata in fotografia, ma con alcune migliorie. La basetta visibile nell'immagine ospita un PIC 16F84 a 4 MHz, ma è compatibile anche con il PIC 16C84. Il circuito versione 2.0 è perfettamente funzionante sin dal Febbraio 2000 (da qui il nome F.F.), ma per mancanza di tempo sul nuovo circuito stampato i componenti non sono ancora stati montati. Anche se le modifiche sulla carta non dovrebbero incidere sulla possibilità di un corretto funzionamento, si tenga presente anche questa avvertenza. Indicheremo questa versione come "V. 3.0 Beta". Nel momento in cui anche la nuova versione sarà stata realizzata e collaudata provvederò all'aggiornamento di questa pagina. Nota bene: Sebbene sia in teoria possibile utilizzare altre forme di alimentazione, l'Evaluation Board è stata progettata per essere alimentata con una pila a 9V e interfacciata solamente con circuiti alimentati anch'essi a batterie a bassa tensione. In ogni caso, siate sempre certi di sapere con esattezza ciò che state facendo! Trattandosi di materiale messo gratuitamente a
disposizione di chiunque lo desideri, ne è assolutamente
vietata ogni forma di utilizzazione a fini commerciali. |
Caratteristiche e descrizione del circuito Diciamo
subito che questo circuito non è un programmatore di
PIC, ma può essere facilmente interfacciato con uno dei
numerosi circuiti di tale tipo che è possibile reperire,
permettendo di non rimuovere il controllore dalla
Evaluation Board durante la programmazione. Note per la identificazione degli switch e dei terminali dei connettori Il riferimento ad un particolare interruttore dello
switch Sx avverrà mediante la grafia Sx-n, ove n e x
sono due numeri interi; medesima grafia per i connettori
JPx. In particolare, il riferimento allo switch Sx-1
indica il primo interruttore dello switch Sx a partire
dall'alto nella figura in cui è riportato il disegno
sovrapposto di componenti, ponticelli e piste; analogo
significato nel riferimento ai connettori. Ad esempio,
S10-6 non è connesso ad alcuna pista; quando aperto,
S4-4 è connesso solo a S4-2 e al piedino n.15 del PIC;
quando chiuso, anche a JP2-2 e JP6-2. Torniamo adesso alle caratteristiche della Evaluation Board. Alimentazione del circuito:
il circuito è stato progettato per essere alimentato
mediante batteria a 9V, ma è possibile utilizzare anche
una sorgente continua non regolata 7-15V (un 7805
fornisce +5V regolati al PIC, ad un eventuale
programmatore e ad un eventuale circuito esterno), oppure
alimentazione da un circuito esterno mediante JP4 - S5
(si consultino i datasheet Microchip per il range di
valori ammessi). Piedino /MCLR: è possibile
controllarlo mediante circuito esterno o mediante
programmatore, connetterlo mediante pull-up direttamente
a Vdd, oppure anche tramite capacità a Vss in modo da
implementare un circuito di Power On (peraltro già
presente nel PIC); esiste anche la possibilità di
resettare il PIC mediante pulsante S9 (non presente nella
foto). Connessione da e verso l'esterno di Vdd,
Vss, /MCLR: connessione da o verso un
circuito esterno di Vdd, Vss, /MCLR (quest'ultimo
indipendentemente da quale sia la sorgente di
alimentazione); connessione di Vdd e Vss da o verso un
qualunque programmatore. Sorgente di oscillazione per la
generazione del clock: quarzo a 4 MHz,
modalità RC con due resistenze regolabili, per una
oscillazione attorno a 1 MHz e a 100 KHz; Possibilità di programmare il PIC
direttamente sulla Evaluation Board: è
possibile connettere la basetta ad un programmatore
mediante connettore a 5 fili, con possibilità di fornire
alimentazione al programmatore o di riceverla da esso. Connessione da e verso l'esterno dei
piedini di I/O: tutti i piedini di I/O sono
portati a connettori per interfacciare il PIC con un
circuito esterno. Nelle fotografie si possono vedere
solamente i connettori per spine, mentre nella nuova
versione sono presenti sia questi ultimi, sia semplici
SIL per fili volanti. Spie alimentazione: tre led
inseribili singolarmente mediante jumpers indicano la
presenza di alimentazione in parti diverse del circuito e
ricordano di prestare attenzione ad evitare conflitti
elettrici fra le possibili sorgenti di alimentazione. Qualche applicazione |
Selezione della modalità di funzionamento Come anticipato, la selezione fra le diverse modalità di funzionamento avviene mediante dip-switch. Veniamo subito alla descrizione delle loro funzioni. |
Jumpers Quando chiuso, S7 permette al led D1 di indicare la presenza di tensione in uscita al 7805. S8 connette il led D2, il quale, in tal caso, indica la presenza di alimentazione al PIC, sia essa proveniente dal 7805, tramite S1, da JP9 tramite S10 o da JP4 tramite S5. S6 connette invece il led D3, il quale indica la presenza di tensione fra i piedini 1 e 3 del connettore JP4; tale tensione può ovviamente essere quella fornita dal circuito che alimenta il PIC (il 7805, tramite S1, o il programmatore, tramite JP9 e S10), con S5-1 e S5-3 chiusi, oppure provenire dal connettore JP4 (in tal caso essa raggiunge il PIC solo se S5-1 e S5-3 sono chiusi. |
Programmazione Per programmare il PIC senza rimuovelo dalla Evaluation Board, si devono innanzitutto collegare a JP9 opportuni segnali e tensioni provenienti dal programmatore. In dipendenza dal tipo di quest'ultimo, si deve adottare la giusta configurazione degli switch. Se non altrimenti specificato, tutti gli switch devono essere posti su OFF! In ogni caso, siate sempre consapevoli di ciò che fate! Fate molta attenzione al conflitto fra le alimentazioni, e tenete presente che anche collegare fra loro due terminali "comune" (o massa, o terra) di alimentatori diversi può provocare seri danni ai circuiti! Ad esempio, se alimentate il PIC e il programmatore con due diversi alimentatori, collegare fra loro i terminali "comune" (indispensabile) può essere molto pericoloso per la sopravvivenza dei circuiti stessi! Stessa cosa può succedere se state programmando il PIC con un programmatore collegato al computer e lo alimentate con un alimentatore! Attenzione! Quando avete dubbi, meglio utilizzare una batteria, la quale è flottante e si adegua al riferimento eventualmente imposto da un punto di connessione al circuito. Indipendentemente da quale sia il programmatore, consiglio vivamente, soprattutto nel caso il PIC sia collegato ad un circuito esterno mediante JP4, di scollegare i terminali RB6 e RB7 del PIC dal connettore JP3 ponendo su OFF S3-1 e S3-2. Consiglio inoltre di isolare i piedini Osc1 e Osc2 ponendo su OFF tutti gli switch di S2 e S4. I piedini RB6 e RB7 del PIC, naturalmente, devono essere collegati tramite S3-3 e S3-4 (ON) ai piedini S10-4 e S10-5, e da questi al programmatore collegato a JP9 ponendo su ON, appunto, gli switch S10-4 e S10-5. Siate inoltre sicuri che, nel caso sia il programmatore a fornire alimentazione al PIC, esso sia in grado di erogare una corrente sufficiente anche all'alimentazione del led D2 (circa 5 mA). 1) Programmatore che fornisce al PIC
alimentazione (Vdd e Vss), /MCLR, RB6 e RB7. 2) Programmatore che riceve alimentazione
(Vdd e Vss) dalla basetta. |
Elenco dei componenti Nota: tutti i resistori
sono da 1/4 W, 5% di tolleranza. R1, R8, R9 - 680 Ohm Dove trovare i componenti?
|
Realizzazione del circuito Sono riportate, nelle seguenti immagini, le figure relative al layout del circuito e alla disposizione dei componenti. Si tratta di immagini a 100 e 300 dpi. Per avere le immagini in una nuova finestra, da dove potrete stampare quelle a 300 dpi, potete fare click direttamente su quelle visibili qui sotto o sui link sottostanti, oppure, se utilizzate un sistema Windows (TM) 95/98, utilizzare il tasto destro del mouse e scegliere "Apri collegamento in un' altra finestra". In alternativa potete salvare le immagini sul vostro hard disk o altra memoria di massa con l'opzione contestuale "Salva immagine con nome" e stamparle in un secondo tempo con il browser o altri programmi. Con il browser si potrebbero avere problemi di dimensioni, mentre ad esempio Imaging (TM) di Windows (TM) dovrebbe stampare automaticamente con le dimensioni reali. Se avete dei dubbi sulle dimensioni della stampa ottenuta, perlomeno del layout lato rame, e temete che non sia a grandezza reale, provate a misurare le distanze fra i fori per i componenti DIL, che deve risultare di 2.54 mm fra piedini contigui e di 2.54 mm * 3 = 7.62 mm fra le due file. Ovviamente, per non incorrere in grossolani errori di misura, nel caso della distanza fra pin contigui utilizzate quella fra il primo e il nono piedino di una fila, assicurandovi che sia di 2.54 mm * (9-1) = 20.32 mm. Non riuscirete naturalmente ad apprezzare i centesimi di millimetro, e forse neppure i decimi (non avrebbe neppure senso viste le dimensioni finite delle piazzole e dei loro fori), ma se la vostra misura è appena superiore ai 20 mm dovreste essere a posto. La distanza fra le file dovrebbe invece essere approssimativamente appena superiore ai 7.5 mm. Se una delle due distanze non fosse quella attesa , detta x la relativa misura, dovreste applicare un fattore di zoom orizzontale pari a 7.62/x e un fattore di zoom verticale pari a 20.32/x. Nella seconda figura si nota la disposizione dei componenti con la basetta vista dall'alto e in trasparenza. Si notino i tre ponticelli (lato componenti) necessari al funzionamento del circuito. NOTA: il layout a 300 dpi è utilizzabile come master di buona qualità in quanto privo delle zone di grigio presenti nella omonima figura a 100 dpi. Lo schema elettrico è visibile in dettaglio nella versione a 300 dpi (257 KB). |
Il layout del circuito a 100 dpi | Disposizione dei componenti e disegno delle piste e dei ponticelli (blu) |
Nel caso realizziate l'Evaluation Board, interamente
o limitandovi ad alcune funzionalità, potete scrivermi
per segnalarmi eventuali problemi, e per suggerimenti su
possibili migliorie. Sperando di esservi stato utile non mi resta che augurarvi buon lavoro! |