UNI PIC18
E' una demoboard per sperimentazione con PIC della famiglia 16F a 18 pin.
Qualcuno dirà: "un'altra !"....si un'altra, con qualcosina di diverso.
Innanzitutto, la scelta del 18 pin è legata all'uso intensivo che faccio di questi PIC; è la famiglia più numerosa e,
soprattutto, contiene l'F88, vero proteiforme di Microchip.
Poi, ero stanco di schede filate e di continue modifiche per inserire qualche funzionalità mancante.
Da qui la decisione di implementare in poco spazio il 90% delle funzionalità che personalmente uso.
In pratica, è uno zoccolo a 18pin per il PIC, circondato da 9 aree funzionali (clickare sul 2° schema per visualizzare), cioè:
Area Alimentazione
Prevede l'alimentazione via plug std a +5V (in questo caso occorre chiudere il jumper BY), oppure una tensione
continua fino a 30V (attenzione al jumper BY aperto !).
Per motivi di spazio e di complicazione circuitale, non ho previsto un ponte raddrizzatore
(avrebbe fatto comodo) ne un diodo di protezione, quindi attenti.
Oltre al Led spia ON, è da notare lo switch PWR: questo serve per staccare l'alimentazione
dal circuito durante la fase di programmazione ICSP (utile se si hanno carichi un pò pesanti che potrebbero
mettere il crisi il programmatore.
Connettore di programmazione ICSP
Poco da dire, è a standard Microchip. Il pin 6 (Aux) è libero. L'unica nota riguarda i pin RB6 e RB7 del PIC
dedicati esclusivamente alla programmazione; perdo 2 pin ma ne guadagno in semplicità circuitale
Interfaccia seriale RS232 su DB9
Ho pensato di utlizzare un MAX233 perchè non richiede componenti esterni, in versione SMD per risparmiare spazion.
E' comodo avere un interfaccia al PC sempre disponibile; se non serve, basta non montare il chip
Blocco di I/O
Non è molto, ma per mia esperienza ho visto che normalmente basta avere qualche elemento di comando e visualizzazione.
In questo caso ci sono: 3 Led (di cui uno - LAUX - con ingresso libero da collegare via filo a quello che si vuole;
4 Dip Switch con connessione a massa - si possono usare i pull-up del PIC o le resistenze del blocco 9; un pulsante
che si può usare come Reset (collegandolo a MCLR) oppure per altre funzioni (via firmware, giocando sui tempi di
pressione, può fornire più di un comando di ingresso)
Blocco Buzzer
Un'aggiunta dell'ultimo momento (un pò sacrificato come spazio) molto utile per fornire un feedback acustico
Blocco Connettori I/O
3 file di header che collegano i pin di I/O digitale (OUT), quelli analogici (AN) e i comandi/display del blocco 4 (IN).
L'assegnazione non è casuale, ma neppure molto lineare. I pin AN, collegati a PORTA, sono definiti
analogici ma, ovviamente, possono essere utilizzati anche in digitale. Il posizionemento affiancato a passo 300mil
consente di utilizzare uno zoccolo a 16pin (o dei 'pin header') per collegare una schedina (daughter board) esterna.
Connettore LCD
Quasi sempre indispensabile. E' previsto il classico display 16x2, con uso a 4 bit, collegato al connettore LCD a 10pin.
Attenzione ovviamente all'uso mutualmente esclusivo dei pin del PIC; in particolare, vengono usati i pin A0-A4 (dati), RB1 (E) e RB2 (RS).
Il pin RB0, che gestisce l'interrupt sul canbiamento di stato è stato dirottato al connettore OUT.
Il pin 3 dell'LCD è collegato al trimmer per la regolazione del contrasto.
Controllo Oscillatore
Forse la soluzione più strana. Spesso (molto) uso il clock interno disponibile sull'F88, così risparmio il
quarzo e i 2 condensatorini. Volendo usare altre frequenze o altri PIC, si èuò montare il quarzo su uno
zoccolino e cortocircuitare i 2 punti di saldatura per collegare i condensatori a massa.
Blocco resistenze
Occupano poco spazio e sono sempre utili: 2 blocchi di 4 resistenze (es. 4 x 470 Ohm e 4 x 10K) da usare come
alimentazione di led o per pull-up.
Se qualcuno volesse obiettare sulle scelte fatte (funzionalità non inserite, scomodità di collegamento, ecc) rispondo che
lo spazio disponibile era questo, e non di più. Perchè ? si chiederà qualcuno. Semplice, ho in casa dei contenitori nei
quali questo circuito entra a pennello (ecco anche perchè i 2 fori di fissaggio mediani)!
Qui potete scaricare il file completo in formato Eagle 4.1x.
Chi non lo avesse, può scaricare la versione gratuita Light di Eagle dal sito CADSOFT
Per creare l'immagine 3D della board, ho usato l'ottimo programma Eagle3D
di Matthias Weißer (grazie Matthias!) a questo Link